aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-03-25vis: remove __DATE__ and __TIME__ references to aid with reproducible buildsMarc André Tanner2-2/+2
2016-03-25vis: do not crash when using vis:command without active windowMarc André Tanner1-1/+8
2016-03-25configure: fix probing of hardening flagsMarc André Tanner1-3/+3
2016-03-24build: use order only dependencies for build folderMarc André Tanner1-10/+11
This prevents unecessary rebuilds when doing consecutive make standalone builds.
2016-03-24build: expose make dependency-local targetMarc André Tanner1-4/+9
Remove more stuff when switching between make local and make standalone.
2016-03-24Mention libutf in LICENSEMarc André Tanner1-0/+3
2016-03-24handle patch as usual sourceChristian Hesse1-4/+8
2016-03-24make sure build directory existsChristian Hesse1-6/+9
Signed-off-by: Christian Hesse <mail@eworm.de>
2016-03-23build: fix make local, improve make standaloneMarc André Tanner1-5/+27
The local target should use the system curses library not a custom build one. Also the two targets are now compatible with each other, meaning that the relevant libraries are correctly rebuilt from scratch against the correct libc.
2016-03-23build: rename package specific targets used for make local/standaloneMarc André Tanner1-27/+27
All targets start with the package name which allows to easily rebuild a package by removing everything matching the shell pattern dependency/build/$package*
2016-03-23visrc: Move filetype detection to separate functionJosh Wainwright1-2/+7
I hadn't noticed the `return;` line when a filetype match is found so couldn't get my additions to this function to work. Moving the detection to a separate function keeps that isolated and indicates that other functions can be called from the same `vis.events.win_open` hook.
2016-03-23do not link lua against ncursesChristian Hesse1-1/+1
2016-03-23fix dependencies for standalone buildChristian Hesse1-1/+1
2016-03-23fix install prefix for standalone buildChristian Hesse1-0/+6
2016-03-23configure: use capital letters for variable namesChristian Hesse1-26/+26
2016-03-23configure: default to cc instead of c99Marc André Tanner1-1/+1
Using -std=c99 in combination with c99 does not make sense. Some versions of Mac OS seem to have a broken wrapper implementing the c99 utility which always generates 32-bit code instead of targeting the native architecture. http://stackoverflow.com/questions/4182413 Also add clang to the list of compilers to try.
2016-03-23Make vis-clipboard executableMarc André Tanner1-0/+0
2016-03-23configure: fix detection of libtermkeyMarc André Tanner1-1/+1
On Cygwin the configure check for libtermkey fails due to unresolved symbols from libcurses. The pkg-config file of libtermkey lacks a reference to its dependencies (either curses or unibilium). Since we depend on curses anyway we can fix this by adding $LDFLAGS_CURSES to the configure check.
2016-03-23configure: use temporary file instead of /dev/null for compiler outputMarc André Tanner1-12/+13
This should fix configure checks on Cygwin whereas before gcc would attempt (and fail) to write to /dev/null.exe
2016-03-23Add missing wordMarc André Tanner1-1/+1
2016-03-23Remove identically replicated copyright comments from source filesMarc André Tanner7-103/+34
2016-03-23vis: use vis-clipboard instead of vis-{copy,paste} scriptsMarc André Tanner5-29/+6
2016-03-23Add vis-clipboard scriptRichard Burke1-0/+104
Originally written for the wed editor by Richard Burke, released under the ISC license for vis.
2016-03-22configure: clear ${C,LD}FLAGS_LUA in error caseMarc André Tanner1-0/+2
2016-03-22configure: exchange _{BSD,DARWIN_C}_SOURCE definesMarc André Tanner1-2/+2
2016-03-21Remove bashisms from configure script.Richard Burke1-4/+7
2016-03-21vis: also lookup Lua support files relative to the binary locationMarc André Tanner5-5/+23
This simplifies deployment of vis on remote systems without root access. The idea is to extract a statically linked binary together with the lexer syntax files into some directory, adjust $PATH to include it and have everything just work. For now this uses /proc/self/exe and thus only works on Linux based systems.
2016-03-21configure: probe for hardening flagsMarc André Tanner1-1/+8
2016-03-21configure: probe for size optimizing flags (disabled for now)Marc André Tanner1-0/+3
2016-03-21build: reorder some variablesMarc André Tanner2-6/+8
2016-03-21build: create empty config.mk if it does not existMarc André Tanner1-0/+3
This should fix `make local` (as used on travis-ci) and `make standalone` in cases where `configure` was not run successfully due to missing dependencies.
2016-03-21configure: make vis depend on config.mkChristian Hesse1-1/+1
We want vis to be rebuilt when configuration changes, so make vis depend on config.mk.
2016-03-21build: add vis subdirectory to $SHAREPREFIXMarc André Tanner1-5/+5
2016-03-21configure: make man and share directories configurableChristian Hesse1-2/+8
2016-03-21configure: fix install prefix for man and share directoriesChristian Hesse1-0/+2
2016-03-21configure: fix condition for libselinuxChristian Hesse1-2/+2
2016-03-21configure: fix condition for libaclChristian Hesse1-2/+2
2016-03-21configure: fix condition for libluaChristian Hesse1-4/+4
2016-03-21configure: fix condition for libtermkeyChristian Hesse1-2/+2
2016-03-21configure: fix condition for ncursesChristian Hesse1-4/+4
2016-03-21build: overhaul build system auto detect stuff using a configure scriptMarc André Tanner6-254/+663
The new build instructions are: $ ./configure && make && sudo make install The configure script tries to auto detect support for various libraries and compiler options. These choices can be overwritten by explicitly specifing --{en,dis}able-{lua,selinux,acl}. See ./configure --help for all supported options. The configure script generates config.mk which should allow portable (among GNU and BSD make) Makefiles. Manually editing config.mk is still supported.
2016-03-15vis: do not segfault when given a NULL command to processMarc André Tanner1-0/+2
2016-03-15vis: do properly replay ": and "/ registersMarc André Tanner2-1/+9
This makes @: (and @/) work.
2016-03-15vis: slightly cleanup register related codeMarc André Tanner4-7/+12
2016-03-15vis: add support for command register ":Marc André Tanner4-0/+5
2016-03-15text: improve ENOSPC handling when savingMarc André Tanner1-0/+3
The default atomic save method using rename(2) would correctly fail, but the calling code would wrongly assume it was because of dealing with a special (e.g. hard or symlink) file or that some other properties (e.g. POSIX ACL, SELinux labels, permissions etc) could not be restored. It would then go on to ftruncate(2) the file, if the following writes then fail (which is likely if the new file content is bigger or some other process has used up disk space in the mean time) we lose data. This should fix it for the common case i.e. regular file where the rename(2) based method is used. The problem persits when directly overwriting a file. It is unclear whether this could be improved/fixed by: 1) first appending the new file content to the old one 2) fsync the data (old||new) 3) deleteing the original file content by overwritting it with the previously appended new file content. That is essentially moving the new file content from the end of the file to the start. 4) ftruncate to the new file size 5) fsync the data (new) if during 1) or 2) an error would occur we could revert the operation by doing a ftruncate to the original file size. An error in steps 3-5 would still be fatal. Another option would be to first write a backup file somewhere.
2016-03-14text-regex: fix possible infinite loop when searching backwardsMarc André Tanner1-1/+11
2016-03-13Update README to include recent changes to supported registersMarc André Tanner1-3/+2
2016-03-13vis: convert gn and gN text objects to use "/ register contentMarc André Tanner4-7/+13
2016-03-12ui/view: general code cleanupMarc André Tanner3-14/+19