99 |
7u83 |
1 |
Release 3/25/05
|
|
|
2 |
* vi no longer dies with a segmentation fault if a line does not fit on the
|
|
|
3 |
screen after an insertion.
|
|
|
4 |
* The 'p' command now works correctly if the buffer contains a partial line
|
|
|
5 |
with multibyte characters.
|
|
|
6 |
* Traditional regular expressions sometimes failed to operate correctly
|
|
|
7 |
since the last release.
|
|
|
8 |
|
|
|
9 |
Release 2/25/05
|
|
|
10 |
* Traditional regular expressions can now be used with multibyte characters.
|
|
|
11 |
* When the 'ignorecase' option is toggled, saved regular expressions are now
|
|
|
12 |
updated accordingly. (P)
|
|
|
13 |
* If a line began with a tabulator and another tabulator was inserted with
|
|
|
14 |
the cursor located on the first tabulator, the display was not updated
|
|
|
15 |
appropriately since the last release (Bugreport by Matthew Fischer). (P)
|
|
|
16 |
* Fixed a segmentation fault that occured in multibyte locales when operation
|
|
|
17 |
was continued after vi had been stopped by ^Z, with the cursor positioned
|
|
|
18 |
in a line longer than the terminal width as the last line of the current
|
|
|
19 |
screen.
|
|
|
20 |
* Made multicolumn characters work in lines longer than the screen width in
|
|
|
21 |
visual mode (Bugreport by Matthew Fischer).
|
|
|
22 |
* Made it work for Big5 locales (Patches by Matthew Fischer).
|
|
|
23 |
* Fixed a problem with the 'r' command in EUC-JP and Big5 locales (Bugreport
|
|
|
24 |
by Matthew Fischer).
|
|
|
25 |
* The insertion of multicolumn characters and tab characters in multibyte
|
|
|
26 |
locales now works with terminals that have the 'ic' but no 'im' termcap
|
|
|
27 |
capability (Bugreport by Matthew Fischer).
|
|
|
28 |
* The argument to the -w option is correctly recognized now.
|
|
|
29 |
* If the SHELL environment variable is set to the empty string, it is now
|
|
|
30 |
ignored.
|
|
|
31 |
* A non-null exit status is now returned if a file could not be opened, if
|
|
|
32 |
an invalid address is given for a command, or if a tag is not found.
|
|
|
33 |
* If the match for a substitution is of length zero, a line overflow is
|
|
|
34 |
now avoided when compiled with the 'UNIX(R) Regular Expression Library'.
|
|
|
35 |
* When moving left while the cursor is positioned over a multicolumn
|
|
|
36 |
character at the end of the line, the bell is rung now (Bugreport by
|
|
|
37 |
Matthew Fischer).
|
|
|
38 |
* When moving up or down to a row with different column arrangement while
|
|
|
39 |
the cursor is positioned over a multicolumn character, the leftmost
|
|
|
40 |
character above the original position is chosen in the new row.
|
|
|
41 |
* If both the -t and the -c option are given, the -t option is now
|
|
|
42 |
processed first, i.e. the command is executed at the position where
|
|
|
43 |
the tag was found.
|
|
|
44 |
* The -w option now also sets the scroll size for the 'z' command.
|
|
|
45 |
* When the name of a nonexisting file is given with the 'edit' ex command,
|
|
|
46 |
the command now succeeds and prints a "[New file]" message.
|
|
|
47 |
* If standard output is not a terminal, no '\r' is written at the end of
|
|
|
48 |
printed lines anymore.
|
|
|
49 |
* The 'source' ex command now works if command input comes from a pipe or
|
|
|
50 |
regular file.
|
|
|
51 |
* Ex does not exit on errors immediately anymore if standard input is not
|
|
|
52 |
a terminal but a pipe or regular file.
|
|
|
53 |
* The 'substitute' ex command can now be abbreviated as 'sub', 'subst' etc.
|
|
|
54 |
* A new version of mapmalloc.c that is derived from Unix 7th Edition code
|
|
|
55 |
has been introduced.
|
|
|
56 |
* If the 'next!' ex command is given and the autowrite option is set, the
|
|
|
57 |
current file is not written anymore.
|
|
|
58 |
|
|
|
59 |
Release 1/19/05
|
|
|
60 |
* The last release erroneously made 'X' work like 'x' in visual mode. It now
|
|
|
61 |
deletes the character before the cursor again as documented (Bugreport by
|
|
|
62 |
Matthew Fischer). (P)
|
|
|
63 |
* When a multicolumn character was replaced by another multicolumn character
|
|
|
64 |
in insert mode, the display was not updated appropriately with terminals
|
|
|
65 |
other than xterm.
|
|
|
66 |
* Various rendering errors happened with multicolumn characters if they
|
|
|
67 |
started at an even column (counting from 1 upwards).
|
|
|
68 |
* When a multicolumn character was inserted and then replaced, the visual
|
|
|
69 |
screen representation was sometimes not updated accordingly.
|
|
|
70 |
* Undoing the replacement of a multicolumn character by a singlecolumn
|
|
|
71 |
character twice made the singlecolumn character invisible.
|
|
|
72 |
* The 'cw' visual command with a multibyte character as last character of
|
|
|
73 |
the affected word located at the end of the line left garbage bytes past
|
|
|
74 |
the end of the new text.
|
|
|
75 |
* Visual 'U' followed by 'u' lead to garbage on the screen when multibyte
|
|
|
76 |
characters were present on the changed line.
|
|
|
77 |
* The position of '$' when changing text was fixed for cases where the first
|
|
|
78 |
changed character had multiple columns but the last one had not.
|
|
|
79 |
* The handling of multicolumn characters was fixed for terminals without the
|
|
|
80 |
IM (insert mode) capability. It is unlikely that such terminals actually
|
|
|
81 |
exist, but vi will use the corresponding code for open mode if a termcap
|
|
|
82 |
entry is not available.
|
|
|
83 |
* When an illegal multibyte sequence is entered in vi insert mode, no garbage
|
|
|
84 |
bytes are generated anymore when the insert mode is left.
|
|
|
85 |
* The '\u', '\l', '\U', and '\L' substitution sequences work with multibyte
|
|
|
86 |
characters now.
|
|
|
87 |
* Handle character case conversions with the '~' vi command correctly if the
|
|
|
88 |
length of the converted multibyte sequence is smaller than the original one.
|
|
|
89 |
* Multibyte sequences that correspond to an unprintable character are now
|
|
|
90 |
printed as multiple octal escape sequences.
|
|
|
91 |
* Pressing the ^U (kill) character in insert mode with a multibyte character
|
|
|
92 |
at the beginning of an insertion at the start of a line sometimes positioned
|
|
|
93 |
the cursor at weird locations since the last revision.
|
|
|
94 |
* Fixed an old vi bug: If a vi command that yanked or deleted part of a line
|
|
|
95 |
was followed by an ex command that also yanked or deleted some text, a
|
|
|
96 |
following 'p' vi command pasted the text affected by the former vi command.
|
|
|
97 |
It now pastes the text of the last yank or delete even if that was an ex
|
|
|
98 |
command.
|
|
|
99 |
* Some build fixes for diet libc have been made.
|
|
|
100 |
|
|
|
101 |
Release 12/2/04
|
|
|
102 |
* Support for multibyte character locales was added.
|
|
|
103 |
* The code has been converted to ANSI C, and support for pre-POSIX systems has
|
|
|
104 |
been dropped.
|
|
|
105 |
* When the end of the current line consists of blank characters and the 'w'
|
|
|
106 |
visual command is given at this point, vi now advances to the start of the
|
|
|
107 |
next line instead of ringing the bell. This is compatible with SVR4 vi and
|
|
|
108 |
seems to be what POSIX specifies.
|
|
|
109 |
* If the replacement part of a substitute command consists of a single '%',
|
|
|
110 |
as in ':s/foo/%/', the replacement part of the previous substitution is
|
|
|
111 |
used. This is compatible with SVR4 vi and is specified by POSIX.
|
|
|
112 |
* Fixed a number of possible heap overflows, e.g. because of too long tag
|
|
|
113 |
strings.
|
|
|
114 |
|
|
|
115 |
Release 6/5/04
|
|
|
116 |
* Some changes were made to the Makefile to support RPM builds. In particular,
|
|
|
117 |
the meaning of the DESTDIR and PREFIX variables was changed.
|
|
|
118 |
* An insufficient size of a variable caused the window size set to 8 on
|
|
|
119 |
FreeBSD if the terminal baud rate was 38400.
|
|
|
120 |
|
|
|
121 |
Release 1/3/04
|
|
|
122 |
* Changes to the included libterm only: Made multiple tc= capabilities in
|
|
|
123 |
a termcap entry work; recognize tc= also if it is not the last capability
|
|
|
124 |
in an entry (Bugreport by Andrew Minter).
|
|
|
125 |
|
|
|
126 |
Release 9/3/03
|
|
|
127 |
* The code did not check st_blksize from stat(2) at other points besides
|
|
|
128 |
the one fixed in the last release.
|
|
|
129 |
* The keyboard input character with code 255 ("y in ISO-8859-1) was
|
|
|
130 |
misinterpreted as end-of-file indicator.
|
|
|
131 |
|
|
|
132 |
Release 8/27/03
|
|
|
133 |
* Compile fixes for AIX and HP-UX (Mike Jetzer).
|
|
|
134 |
* Delete temporary file when preserving was successful after receiving
|
|
|
135 |
SIGHUP or SIGTERM (Fix taken from 4.3BSD Reno).
|
|
|
136 |
* Set MAILRC to /dev/null in expreserve to avoid reading the user's
|
|
|
137 |
mail initialization file.
|
|
|
138 |
* Optionally use Caldera's 'UNIX(R) Regular Expression Library' to
|
|
|
139 |
get POSIX.2 compatible REs.
|
|
|
140 |
* Don't refuse to quit with 'No write since last change' if a line of a
|
|
|
141 |
newly read input file is too long but no changes were made by the user.
|
|
|
142 |
* The POSIX_2 preprocessor define has been removed. The behavior previously
|
|
|
143 |
enabled by this variable is now the default (except as noted below).
|
|
|
144 |
* Backslash inside RE bracket expresssions (as in [\]]) is now recognized
|
|
|
145 |
as an escape character by default. This is not POSIX.2 compliant, but is
|
|
|
146 |
compatible with historic vi behavior, is demanded by the some traditional
|
|
|
147 |
standards such as the System V Interface definition, and is compatible
|
|
|
148 |
with vim. To get POSIX.2 compliant behavior here, define NO_BE_BACKSLASH.
|
|
|
149 |
* The input buffer did overflow with large values of st_blksize from stat(2).
|
|
|
150 |
|
|
|
151 |
Release 4/3/02
|
|
|
152 |
* Option "showmode" has no effect on hardcopy or glass terminals (P).
|
|
|
153 |
* Fixed undo for :r! command.
|
|
|
154 |
* Interrupt character is not misinterpreted as DEL on insertion (P).
|
|
|
155 |
* Fixed interaction of <count>~ vi command with abbreviations and macros (P).
|
|
|
156 |
* Avoid horizontal scrolling of showmode string on wraparound to last line (P).
|
|
|
157 |
* No showmode string is printed when executing a macro.
|
|
|
158 |
* Recovery listing fixed not to mix characters from long filenames in
|
|
|
159 |
/var/preserve with /var/tmp listing (P).
|
|
|
160 |
* Catch SIGXFSZ (file size limit exceeded).
|
|
|
161 |
|
|
|
162 |
Release 3/3/02
|
|
|
163 |
* Separated terse/noterse messages for RE errors (P).
|
|
|
164 |
* The expreserve and exrecover commands work again (P).
|
|
|
165 |
* Passing beyond EOL in <count>~ vi command is not an error (P).
|
|
|
166 |
* Fixed segmentation violation on mdjc'd and related bugs (Sven Mascheck).
|
|
|
167 |
* Marks remain on lines changed in an undo operation.
|
|
|
168 |
* Close mapmalloc file descriptor for /dev/zero on exec() (P).
|
|
|
169 |
* Added -L and -V command line options as in SVr4 ex.
|
|
|
170 |
* POSIX.2: Processing EXINIT does not depend on stdin being a terminal.
|
|
|
171 |
* POSIX.2: No newline is appended to an empty file in visual mode.
|
|
|
172 |
* Fixed segmentation violation on :f^V^M^M and similar commands.
|
|
|
173 |
* Mapmalloc extended to allocate and release multiple memory pools.
|
|
|
174 |
* Exrecover lists /var/tmp in addition to /var/preserve.
|
|
|
175 |
* Have multiple attempts to create named buffer temporary file.
|
|
|
176 |
* Size limit for temporary file names removed.
|
|
|
177 |
|
|
|
178 |
Release 2/17/02
|
|
|
179 |
* POSIX.2: Backslash has no special meaning inside RE bracket expressions.
|
|
|
180 |
* RE cleanup; make it compile without POSIX_2 defined (P).
|
|
|
181 |
* Fixed $(CC) to "$(CC)" for libterm compilation (Felix von Leitner) (P).
|
|
|
182 |
* Support for LC_MESSAGES using catgets() added.
|
|
|
183 |
* Renamed POSIX define to POSIX_1.
|
|
|
184 |
* Renamed UNIX98 define to POSIX_2.
|
|
|
185 |
* POSIX.2: Fixed a conflict between -t tag and wrapscan option.
|
|
|
186 |
* POSIX.2: Take the initial value for the vi scroll command from scroll var.
|
|
|
187 |
* <count>~ vi command fixed to work with repeat and control chars in text (P).
|
|
|
188 |
* Fixed recursion on :ab abbreviations (Bugreport by Matthias Kopfermann).
|
|
|
189 |
* Fixed undo for :<addr>r command in visual mode.
|
|
|
190 |
* Made modelines compatible to SVr4 ex: The option name is "modelines" or
|
|
|
191 |
"ml" now; a space or tab preceeding "ex:" or "vi:" is not required.
|
|
|
192 |
* Use O_EXCL and O_NOFOLLOW when creating temporary files, if possible.
|
|
|
193 |
|
|
|
194 |
Release 1/26/02
|
|
|
195 |
* Use mmap() for memory allocation if possible.
|
|
|
196 |
* POSIX.2: Added RE interval expressions \{m,n\} (taken from V7 expr).
|
|
|
197 |
* POSIX.2: Added backreferences \1 ... \9.
|
|
|
198 |
* Print one-character mode strings if both "showmode" and "terse" are set.
|
|
|
199 |
* Added the "flash" variable.
|
|
|
200 |
* POSIX.2: "~" visual command accepts a count.
|
|
|
201 |
* License notices added.
|
|
|
202 |
|
|
|
203 |
Release 5/21/01
|
|
|
204 |
* If compiled using BIT8, all characters except ASCII NUL can now be handled.
|
|
|
205 |
* Support larger files if LARGEF is defined.
|
|
|
206 |
|
|
|
207 |
Release 09/23/00
|
|
|
208 |
* POSIX locale support for 8bit character sets is enabled by -DBIT8.
|
|
|
209 |
* Regex code is 8bit clean.
|
|
|
210 |
* Smaller fixes for SVR4 systems.
|
|
|
211 |
* POSIX termios support including job control.
|
|
|
212 |
* POSIX sigaction support.
|
|
|
213 |
* Check for ELF executables and compressed files.
|
|
|
214 |
* Extended the pattern for temporary files from 5 to 10 digits.
|
|
|
215 |
* ANSI C stdarg function calling added, Linux/ia64 needs them.
|
|
|
216 |
* Reintegrated the UCVISUAL routines from 4.4BSD ex.
|
|
|
217 |
* Only use the "ic" termcap sequence if "im" is empty.
|
|
|
218 |
* POSIX.2: Command line options added and revised.
|
|
|
219 |
* POSIX.2: Added a "showmode" option for novices.
|
|
|
220 |
* POSIX.2: Ex respects the environment variables COLUMNS and LINES.
|
|
|
221 |
* POSIX.2: Added an "exrc" option like on POSIX.2 ex; arbitrary .exrc
|
|
|
222 |
files are ignored unless it is set in EXINIT or ~/.exrc.
|
|
|
223 |
* POSIX.2: If .exrc files are world or group writeable, they are ignored
|
|
|
224 |
unless "sourceany" is set.
|
|
|
225 |
* Ex now provides malloc routines. They are necessary since C library
|
|
|
226 |
calls like setlocale could otherwise break the sbrk calls in ex. As
|
|
|
227 |
an additional benefit, linking against ncurses is now possible.
|
|
|
228 |
|
|
|
229 |
Release 31/05/00
|
|
|
230 |
* String extraction using mkstr and xstr is not longer be done.
|
|
|
231 |
* An ANSI C preprocessor may be used.
|
|
|
232 |
* Changes of symbol names due to collisions on newer systems.
|
|
|
233 |
* Fixed a null pointer reference in ex_tty.c.
|
|
|
234 |
* Included the 2.11BSD termcap in a subdirectory. Ex could use any
|
|
|
235 |
termcap library, however, that does not use malloc().
|
|
|
236 |
* Support of eight bit characters excluding the range 0200 to 0237 is
|
|
|
237 |
enabled with -DISO8859_1. It does not include the regular expression code,
|
|
|
238 |
but otherwise works well in practice with the ISO-8859-1 character set.
|
|
|
239 |
|
|
|
240 |
Fixes for problems that were introduced in this port are marked (P), unless
|
|
|
241 |
they only affect newly introduced parts (such as multibyte support).
|