| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2016-01-10 | text: introduce text_bytes_alloc0 utility function | Marc André Tanner | 1 | -0/+12 | |
| Heap allocates a zero terminated string of the given range. Freeing is the caller's responsibility. Checks for unsigned integer overflow i.e. passing SIZE_MAX as len will always fail because there is no room for the terminating NUL byte. This is important as EPOS is defined to be SIZE_MAX. | |||||
| 2015-12-31 | text: let text_pos_by_lineno return EPOS if given a too large line number | Marc André Tanner | 1 | -1/+1 | |
| 2015-12-31 | text: introduce text_newline_insert | Marc André Tanner | 1 | -0/+11 | |
| 2015-12-29 | Clean up build system | Marc André Tanner | 1 | -6/+6 | |
| 2015-11-23 | text: introduce functions to iterate over graphemes | Marc André Tanner | 1 | -2/+55 | |
| They currently consider any character for which wcwidth(3) return 0 as a combining character. | |||||
| 2015-11-20 | text: get modification time after replacing file content in place | Marc André Tanner | 1 | -0/+2 | |
| At the start of text_save_range we stat(2) the file to check whether we have currently mmap(2)-ed it. Then we proceed to write the new file content which changes modification time. Hence we have to stat(2) again to retrieve it. This should fix spurious warnings about file changes outside the editor when editing e.g. symlinked files. | |||||
| 2015-11-08 | Update year numbers in Copyright clause | Marc André Tanner | 1 | -1/+1 | |
| 2015-11-02 | text: return end of changed range in text_redo | Marc André Tanner | 1 | -0/+2 | |
| This affects the cursor placement when redoing changes in single cursor mode. Closes #42 | |||||
| 2015-10-22 | text: introduce text_appendf utility function | Marc André Tanner | 1 | -0/+8 | |
| 2015-10-09 | text: fix usage of va_arg in text_vprintf | David B. Lamkins | 1 | -1/+4 | |
| Closes #76 | |||||
| 2015-10-05 | text: add text_{v,}printf function | Marc André Tanner | 1 | -0/+18 | |
| Convenient way to insert formated data into a Text. | |||||
| 2015-08-08 | text: rename some functions to improve consistency | Marc André Tanner | 1 | -7/+7 | |
| 2015-08-08 | text: introduce helper function text_delete_range | Marc André Tanner | 1 | -0/+6 | |
| 2015-07-28 | text: move utility functions to separate file | Marc André Tanner | 1 | -36/+1 | |
| 2015-07-25 | text: handle marks set to 0 and text_size(...) | Marc André Tanner | 1 | -0/+8 | |
| 2015-07-25 | text: add text_range_overlap | Marc André Tanner | 1 | -0/+6 | |
| 2015-07-22 | text: introduce text_range_new | Marc André Tanner | 1 | -0/+7 | |
| 2015-07-19 | vis: handle file truncation more gracefully | Marc André Tanner | 1 | -0/+8 | |
| If we use the file / virtual memory system as cache (using mmap(2)) and another process truncates the file we are editing, we have a problem. All we can do is catch the resulting SIGBUS, close the corresponding window and print a warning message. To test this use: $ dd if=/dev/zero of=TEST bs=8M count=1 $ vis TEST :! echo TRUNCATE > TEST | |||||
| 2015-07-19 | text: move regex related functions to separate file | Marc André Tanner | 1 | -68/+0 | |
| Eventually this should probably be rewritten to use an iternal regex engine, currently it has unacceptable memory usage, it copies the whole text. | |||||
| 2015-07-19 | text: slight cleanup, add a few comments | Marc André Tanner | 1 | -17/+22 | |
| 2015-07-10 | text: upon successfull file save store new modification time | Marc André Tanner | 1 | -7/+11 | |
| 2015-07-07 | text: safer temporary file creation | Marc André Tanner | 1 | -1/+4 | |
| Set umask before calling mkstemp. According to POSIX 2008 this is not necessary since the temporary file is guaranteed to be created with permission restricted to the current user. However this is more secure on non-conforming systems and safe as long as we do not use multiple threads. Fixes Coverity CID 101333. | |||||
| 2015-07-07 | text: avoid double close in error case | Marc André Tanner | 1 | -0/+1 | |
| 2015-07-07 | text: remove left over debugging code | Marc André Tanner | 1 | -6/+0 | |
| 2015-07-06 | Warn when saving a file which has been changed outside the editor | Marc André Tanner | 1 | -1/+8 | |
| 2015-07-06 | text: remove text_load_fd and text_fd_get | Marc André Tanner | 1 | -29/+10 | |
| 2015-07-06 | Move filename from Text to File | Marc André Tanner | 1 | -14/+0 | |
| Also apply syntax rules every time the file name changes. | |||||
| 2015-07-06 | text: overhaul file load implementation | Marc André Tanner | 1 | -3/+34 | |
| Files smaller than 8M are now copied into an internal buffer upon load. Thus they can be safely truncated. Larger files are memory mapped and use the file/virtual memory system as caching layer. Hence truncating them will corrupt the file content. Eventually the resulting SIGBUS should be handled gracefully. | |||||
| 2015-07-06 | text: overhaul save implemenation | Marc André Tanner | 1 | -38/+193 | |
| Try to do an atomic save using rename(2) unless * the file is a symbolic link * the file is a hard link * file ownership can not be preserved * file group can not be preserved * POSXI ACL can not be preserved (if enabled) * SELinux security context can not be preserved (if enabled) in which case the file is overwritten in place. However a failure to do so results in data loss. Closes #47. | |||||
| 2015-07-05 | text: store buffer allocation type (mmap or malloc) | Marc André Tanner | 1 | -16/+33 | |
| 2015-07-03 | Do not take a snapshot in text_range_write | Silvan Jegen | 1 | -2/+0 | |
| Since text_range_write is called several times in cmd_filter, the undo command does not undo the whole filter operation but only up to the last call of text_range_write. Removing the snapshot-taking code solves this issue. | |||||
| 2015-07-03 | Remove text dump debugging code | Marc André Tanner | 1 | -16/+0 | |
| Instead use the text-dump git branch if necessary. | |||||
| 2015-06-28 | Fix copy/paste error in text_restore | Marc André Tanner | 1 | -1/+1 | |
| This really needs some unit tests. | |||||
| 2015-06-28 | Replace a->time with a->seq in history_traverse_to | Ryan Chipman | 1 | -3/+3 | |
| 2015-06-28 | Add seq field to Action struct | Ryan Chipman | 1 | -0/+8 | |
| 2015-06-27 | Make :earlier and :later accept arguments similar to vim | Marc André Tanner | 1 | -8/+30 | |
| Currently the following arguments are accepted: {count} Go to older text state {count} times. {N}s Go to older text state about {N} seconds before. {N}m Go to older text state about {N} minutes before. {N}h Go to older text state about {N} hours before. {N}d Go to older text state about {N} days before | |||||
| 2015-06-27 | Mark internal undo tree functions as static | Marc André Tanner | 1 | -4/+4 | |
| 2015-06-27 | Core undo tree changes | Ryan Chipman | 1 | -50/+130 | |
| 2015-06-24 | fixed some typos in comments | Ryan Chipman | 1 | -2/+2 | |
| 2015-04-22 | Cleanup line ending type detection and insertion | Marc André Tanner | 1 | -7/+13 | |
| 2015-04-05 | Introduce new struct VisText | Marc André Tanner | 1 | -24/+0 | |
| This adds yet another layer of indirection and stores vi related stuff which is associated with a given text but shared among all windows displaying it (e.g. marks). This will also help if one wants to keep texts arround which aren't currently displayed. | |||||
| 2015-02-03 | Fix :nnn where nnn > maximal number of lines | Marc André Tanner | 1 | -5/+9 | |
| 2015-01-18 | Do not leak memory in repeated text_filename_set calls | Marc André Tanner | 1 | -3/+4 | |
| 2015-01-16 | Print debug output to stdout | Marc André Tanner | 1 | -4/+4 | |
| Stderr is used for the editor output to make usage as a filter possible. | |||||
| 2015-01-16 | Avoid possible double close when saving | Marc André Tanner | 1 | -0/+1 | |
| We want close(2) to happen before rename(2). At some point the save implementation will have to be overhauled. | |||||
| 2015-01-11 | More useful error message when opening non regular files | Marc André Tanner | 1 | -1/+1 | |
| 2015-01-06 | Rudimentary change list (accessible via g; and g,) | Marc André Tanner | 1 | -0/+12 | |
| 2015-01-03 | Fix size_t specifiers in format strings | Matthias Braun | 1 | -1/+1 | |
| 2015-01-02 | Rip out insertion repeating infrastructure | Marc André Tanner | 1 | -13/+0 | |
| 2015-01-01 | Introduce externally managed marks | Marc André Tanner | 1 | -12/+23 | |
