GNU Zile NEWS -*- outline -*- * Noteworthy changes in release ?.? (????-??-??) [?] * Noteworthy changes in release 2.4.14 (2017-10-06) [stable] ** Bug fixes Update gnulib to cope with printf restrictions on macOS 10.13 (Bug #52173; thanks fxcoudert) ** Build-related Use gnulib valgrind-tests module to run tests. Add pushing release tag to dorelease target. * Noteworthy changes in release 2.4.13 (2016-10-18) [stable] ** Bug fixes Document correct location of dotzile.sample in man page. * Noteworthy changes in release 2.4.12 (2016-10-17) [stable] ** Bug fixes Remove obsolete variable transient-mark-mode. * Noteworthy changes in release 2.4.11 (2014-02-26) [stable] ** Bug fixes Fix timeradd macro for systems that need it (thanks to Craig Phillips for the report and fix). * Noteworthy changes in release 2.4.10 (2014-02-25) [stable] ** Bug fixes Actually use libgc. All of the previous 2.4 releases were eating all your memory. Fix speed of search on large buffers (previously, the entire buffer was copied for each search). The fix was copied from Zee. Make query-replace and save file prompt handling closer to Emacs. Fix many printf format bugs in user functions, thanks to GCC. ** Build-related Use pkgconfig to find libgc. Improve use of GCC warnings. ** Miscellaneous Some code clean-up. * Noteworthy changes in release 2.4.9 (2012-10-01) [stable] ** Bug fixes Fix crash on out-of-range goto-char. Set mark on insert-file. Minor documentation fixes. Build system cleanups. * Noteworthy changes in release 2.4.8 (2012-07-13) [stable] ** New features Improve feedback during large pastes. Various minor code improvements. ** Build-related Fix a bug in parallel builds. Update gnulib to fix building with glibc 2.16. Various minor fixes and improvements. Use more GCC attributes. * Noteworthy changes in release 2.4.7 (2012-03-20) [stable] ** Bug fixes Fix a potential crash and cosmetic bug in global-set-key when used interactively. ** Build-related Add lots more tests. * Noteworthy changes in release 2.4.6 (2012-02-18) [stable] ** Bug fixes Fix a crash in non-incremental search the first time it is used interactively. * Noteworthy changes in release 2.4.5 (2012-02-08) [stable] ** Bug fixes Fix an egregious bug resulting in a crash whenever a non-existent file was edited. Fix other potential crash bugs in the low-level text-handling routine estr_replace. * Noteworthy changes in release 2.4.4 (2012-02-03) [stable] ** New features find-file and find-file-read-only now work non-interactively. ** Build-related Minor build system fixes (thanks to Nelson Beebe for one). ** Miscellaneous Some code clean-up. Slight speed improvement to general editing operations. * Noteworthy changes in release 2.4.3 (2011-12-20) [stable] ** Bug fixes Fix a crash on certain terminals. Fix a recently-introduced display bug in isearch. * Noteworthy changes in release 2.4.2 (2011-10-05) [stable] ** Bug fixes Fix some serious display performance bugs introduced in 2.4.0.60. ** Build-related Don't enable Valgrind by default, and explain that correct suppressions are needed to use it successfully. * Noteworthy changes in release 2.4.1 (2011-09-20) [stable] This is the first release in a new stable series. ** Bug fixes Fix a long-standing bug in uniarg handling in macros. Fix display of percentage position in buffer. Fix display of search string in query-replace. Fix poor performance of fill-paragraph. Fix handling of Backspace/^H by looking at termcap kbs setting. ** Build-related Several fixes and improvements were made to the build system. * Noteworthy changes in release 2.4.0.60 (2011-08-19) [beta] This release is a major update, upping the dependencies from C89 to C99, from POSIX-1.2001 to POSIX-1.2008 (though in fact Zile will still build on many other POSIX and non-POSIX systems thanks to gnulib), and adding a dependency on libgc. Together these changes have allowed the removal of hundreds of lines of code and the elimination of whole classes of bug (in particular, classic memory-management bugs); overall, combined with continued simplification, Zile 2.4.0.60 is well over 1,000 lines of code, or 10%, shorter than the previous stable release, 2.3.24. Several old bugs have been fixed, a few more esoteric features removed, and Emacs-compliance has been improved. However, the major rewrite has almost certainly introduced new bugs which have not yet been found and fixed, hence the alpha status of this release. Distribution packagers are encouraged to try packaging this version to find any problems with the updated build system and dependencies. * Noteworthy changes in release 2.3.24 (2011-04-29) [stable] ** Bug fixes Fix kill-line with prefix argument. Fix a cosmetic problem with multiple ESC-digit combinations. Use gnulib’s mkstemp to avoid problems on some platforms. Fix initial screen setup when some files are loaded on the command line. ** Build-related Re-automate a bit more of the release, using gnulib and woger. Add more compiler warnings. ** Miscellaneous As usual, various bits of code cleanup and simplification. * Noteworthy changes in release 2.3.23 (2011-03-14) [stable] ** Bug fixes {beginning,end}-of-buffer now take account of transient-mark-mode (bug present since “forever”). ** Build-related Turn on more compiler and build system, and run-time checks (thanks, gnulib!). * Noteworthy changes in release 2.3.22 (2011-03-03) This release fixes a bug in forward regex isearch introduced recently, and makes the build system use silent rules by default. Release 2.3.21 This release fixes a bug that caused build failure on non-GNU systems, and a bug in backward search introduced in 2.3.18, and simplifies the test system. A little other code cleanup was done. Release 2.3.20 This release fixes a potential buffer overflow, search and replace with embedded NULs, a bug in the build system (the Zile-only tests now run correctly when an EMACS environment variable is defined), and a bug introduced in 2.3.17 which caused consecutive kills not to save the killed text (thanks to Chris Leyon for the report). Some code was cleaned up and better use made of gnulib. The build scripts that were previously in Lua have been rewritten in Perl; Perl is now required to build Zile (previously, Lua was not required, at the expense of making the build system more complicated and fragile). A cyclomatic complexity report on the C code can now be produced. Release 2.3.19 This release fixes a space leak, a small bug in reading filenames in the minibuffer introduced in 2.3.18, and some behaviour that was not the same as Emacs, and cleans up the code a little. Release 2.3.18 This release fixes some minor space leaks, a read of freed memory, and a bug in quoted-insert, stops Zile from catching the user signal SIGQUIT, and cleans the code up a little. Release 2.3.17 This release fixes a crash in undo introduced in 2.3.16 as well as some small bugs in delete-window, and contains some code cleanup. Release 2.3.16 This release fixes a potential buffer overrun, and a long-standing bug in the handling of the key string "C-_", and cleans up the code a little more. Release 2.3.15 This release fixes the default universal argument, which should be 4 but was 16, and also some cosmetic errors with the display of universal arguments in the minibuffer. Some fixes to the build system were also made (thanks to Giuseppe Scrivano). Release 2.3.14 This release fixes a minor bug in filename tab expansion, which resulted in `/' being expanded to `~/'. Release 2.3.13 This release fixes bugs in `kill-line`, `scroll-up' and `scroll-down', squashes some space leaks found by Valgrind, and fixes some build problems reported by the indefatigable Nelson Beebe. Release 2.3.12 This release fixes the +LINE command-line action, which was broken a few releases ago, and makes a cosmetic fix to temporary buffers. Release 2.3.11 This release fixes a crash in `find-alternate-file', a build system bug, and various cosmetic bugs, and cleans up the code a little. Release 2.3.10 This release runs the test suite on Emacs as well as Zile (currently, requires Emacs 23 or later), and contains many small fixes to both the test suite and to Zile to improve Emacs compatibility. Various other bug fixes, improvements and tidy-ups have also been made. Note in particular that the commands `suspend-zile', `save-buffers-kill-zile' and `view-zile-FAQ' are now called `suspend-emacs', `save-buffers-kill-emacs' and `view-emacs-FAQ' respectively, and `kill-line' now works with non-positive arguments. Portability has been improved, in particular to DOS systems. Release 2.3.9 This release fixes a build problem on OSF/1. Release 2.3.8 This release fixes a crash in find-file-alternate, and another potential crash. Release 2.3.7 This release fixes a crash in query-replace and a highlighting bug, both introduced in 2.3.5. Some code cleanup was done. A bug in the build system that caused help2man to be required to build Zile was removed. Release 2.3.6: This release fixes a build-system bug that caused Lua to be required to build the release. Release 2.3.5: This release fixes a bug in write-file, where the undo state was not properly updated, resulting in dirty states being marked clean. A crash bug in paragraph filling was fixed, and some other minor bugs. The --funcall option was reintroduced for backwards compatibility with Zile 2.2. The build system was made more portable. Some code cleanup was done. Release 2.3.4: This release fixes yet another bug in filename completion, and a potential crash that the bug exposed. Some minor code cleanup was performed. Release 2.3.3: This release fixes two more bugs in filename completion introduced in 2.3.1. Users of 2.3.1 and 2.3.2 should upgrade. Some minor code cleanup was also performed. Release 2.3.2: This release fixes a bug in filename completion introduced in the previous release that had serious results, and some minor problems in the build system, and improves the installation instructions. help2man is now needed to build Zile (and has been since 2.3.1). I'm sorry I described DejaGnu as "flaky" in my previous release announcement; the faults I encountered were those of the underlying expect/Tcl combination, and not DejaGnu's. Release 2.3.1: This release contains a rewrite of the test suite which drives Zile directly, as DejaGnu proved to be insufficiently portable, and too flaky. Two commands have been added to make it possible to write all the tests in Lisp, namely execute-kbd-macro and insert-char. The --script flag is now --load, which is what it really does. Various commands have been made to work non-interactively. Duplication has been reduced by generating much of the documentation from the code. The info manual, which was not particularly useful and only duplicated information available elsewhere, has been removed. Other small fixes and improvements have been made. Release 2.3.0: This release continues the code cleanup and portability fixes started in 2.2.60. gnulib is now used extensively, and 2,000 lines of code, or about 20% of the code base, has been removed by refactoring, simplification, and use of gnulib. The new minor version number reflects the magnitude of the change. To try to limit the number of bugs introduced as a result, and to aid future maintenance, a DejaGnu test suite has been added, which tests almost all the interactive commands. Many small bugs have been fixed, including cases where Zile did not behave like Emacs; some small limitations of Zile with respect to Emacs have been removed. Users are for the most part encouraged to upgrade, as this release is believed to be stable; however, cautious users may want to wait for further 2.3.x releases, or for a suitable length of time to elapse. Release 2.2.61: This release uses gnulib for regex, getopt, vasprintf, and various other features, rather than previous ad hoc solutions, to improve portability. Release 2.2.60: This release attempts to improve portability by using gnulib for various non-standard features instead of idiosyncratic code and making various other fixes. Thanks to Nelson Beebe for reporting many build problems on a wide range of platforms; unfortunately I've not been able to establish how many of them this release fixes. A crash and related bug on attempting to kill when mark and point are the same have been fixed. Some fatal error messages have been improved. Release 2.2.59: This release fixes various problems with release 2.2.58, including shipping the wrong source code (oops), and automates the GNU release process so that errors of this sort should no longer happen. The build system was tidied a little. Release 2.2.58: This release makes Zile's transition to being a GNU program. Note the new web site, distribution URL and support addresses. This release also fixes the display of errors that occur during startup. Release 2.2.57: This release changes the code to meet GNU coding standards. It's not recommended for users because there are no (intended!) functional changes whatsoever, and it's just possible that new bugs have been introduced. Release 2.2.56: This release fixes a bug that prevented top-bit-set characters being bindable to commands. Release 2.2.55: This release allows Zile to produce core dumps when it crashes, handles SIGBUS, and fixes a crash caused by trying to bind a command to the empty string. Changes since Zile 2.2 * Fix macro creation. * Add --funcall back. * termcap terminal replaced with ncurses again. * Removed Allegro and EPOC support. * Incremental search improved. * "true" and "false" changed to "t" and "nil". * Allow key-binding in .zile. * Design fixes to mimic Emacs better. * Various bug fixes. Changes between Zile 2.0 - Zile 2.2 * More code cleanup. * .zilerc replaced by .zile, which is a pseudo-Lisp file. * Various other bug, design and documentation fixes. * Add case-replace and kill-whole-line. * Change command-line options to be more like Emacs. Changes between Zile 1.7 BETA 3 - Zile 2.0 * Major modes and fontlock removed. * Versioned backups and many other small frivolous features removed. * FAQ overhauled. * Many TODOs done, including functions added (notably fill-paragraph). * Massive code cleanup. * Build system overhauled. * Support for different line endings. * Port to EPOC. * ncurses terminal replaced by termcap; allegro terminal added. Changes between Zile 1.7 BETA 2 - Zile 1.7 BETA 3 * Changed Zile license from BSD to GNU GPL. * You can use M-p and M-n (or Up and Down) in minibuffer to navigate through history elements. * Added `transient-mark-mode' and `highlight-nonselected-windows' variables (removed old `highlight-region'). * Added `delete-blank-lines'. * Modified the internal structures to handle point in a better way. * Support indentation for text-mode. * Added regexp search functions. * Now the `exchange-point-and-mark' activates the mark. * Fixed `insert_char' to don't move the mark when a character is inserted in the same mark position (this fixes the `exchange-point-and-mark' after a `yank'). * Fixed `insert_nstring' (used by `yank' for example) when it is used in overwrite-mode. * Modified `previous-line' and `next-line' to Emacs behavior. * Added `forward-sexp', `backward-sexp', `transpose-sexp', and `mark-sexp'. * Added `forward-line' and `transpose-lines'. * Added `transpose-chars' and `transpose-words' (they don't support uniarg yet). * Fixed `forward-word'. * `C-q' doesn't support overwrite-mode. * Fixed `overwrite-mode' to Emacs behavior. * Fixed `revert_action' to handle nested undo-sequences. * Added `delete-horizontal-space' and `just-one-space'. * Fixed a bug in strtokey0 to handle `M-\' key combination. * Fixed the clock, now is updated correctly. * Added `mark-word'. * Fixed `isearch' to stop recording macros when you press C-g. * Fixed the column indicator in the status line (now 0 is the first column). * Modified `universal_argument' to Emacs behavior. * Fixed overflow for long variable names in configuration file. * Various bug-fixes and code cleanups. * Search and replace (query-replace and replace-string) respect case. Changes between Zile 1.6.1 - Zile 1.7 BETA 2 Note: 1.7 BETA 2 was produced from 1.6.1, not 1.6.2, but all the same fixes were applied. * Changed configure script so no syntax colouring modes are built by default. * Implemented Java Mode. Contributed by Marius Nita . * Implemented C# Mode. Contributed by Josef 'Jupp' Schugt . * Implemented Mail Mode (plus the five variables `font-mailN' and the variable `mail-mode-auto-fill') as suggested by Josef Schugt. * Implemented the widely-used Emacs bindings: - `forward-word' (bound to `M-f'), `backward-word' (bound to `M-b'); - `capitalize-word' (bount to `M-c'); - `upcase-word' (bount to `M-u'), `downcase-word' (bount to `M-l'); * Implemented `describe-key-briefly' (bound to `C-h c'). * Implemented `shrink-window' (bound to `M-e'). Contributed by Marius Nita. * Implemented `back-to-indentation' (bound to `M-m'). Contributed by Joseph Boyd . * Implemented `goto-char'. * Implemented `revisions-kept' and `revisions-delete' variables as suggested by Josef Schugt. * Added `-u rcfile' and `-v variable=value' command line options as requested by many users. * Now multiple functions can be specified on command line with `-f func'. * Now `quoted-insert' (bound to `C-q') accepts octal digits to insert particular characters. * Cleaned up X Window terminal resize handling. Low level SIGWINCH signal handling has been removed; now Zile relies only on ncurses KEY_RESIZE. * The behavior of the `auto-font-lock' variable is changed in this version. Now the variable applies also to buffer mode changes. * Fixed two old bugs thanks to Reuben Thomas . * Patches provided by David A. Capello : * implemented `kill-word', `backward-kill-word'; * fixed bug in undo/redo; * fixed bug in highlight; * macros support `isearch' facility; * shell mode supports highlight for "cat<