Commit | Line | Data |
---|---|---|
9255ee31 EZ |
1 | This document details the changes between this version, readline-4.3, |
2 | and the previous version, readline-4.2a. | |
3 | ||
4 | 1. Changes to Readline | |
5 | ||
6 | a. Fixed output of comment-begin character when listing variable values. | |
7 | ||
8 | b. Added some default key bindings for common escape sequences produced by | |
9 | HOME and END keys. | |
10 | ||
11 | c. Fixed the mark handling code to be more emacs-compatible. | |
12 | ||
13 | d. A bug was fixed in the code that prints possible completions to keep it | |
14 | from printing empty strings in certain circumstances. | |
15 | ||
16 | e. Change the key sequence printing code to print ESC as M\- if ESC is a | |
17 | meta-prefix character -- it's easier for users to understand than \e. | |
18 | ||
19 | f. Fixed unstifle_history() to return values that match the documentation. | |
20 | ||
21 | g. Fixed the event loop (rl_event_hook) to handle the case where the input | |
22 | file descriptor is invalidated. | |
23 | ||
24 | h. Fixed the prompt display code to work better when the application has a | |
25 | custom redisplay function. | |
26 | ||
27 | i. Changes to make reading and writing the history file a little faster, and | |
28 | to cope with huge history files without calling abort(3) from xmalloc. | |
29 | ||
30 | j. The vi-mode `S' and `s' commands are now undone correctly. | |
31 | ||
32 | k. Fixed a problem which caused the display to be messed up when the last | |
33 | line of a multi-line prompt (possibly containing invisible characters) | |
34 | was longer than the screen width. | |
35 | ||
36 | 2. New Features in Readline | |
37 | ||
38 | a. Support for key `subsequences': allows, e.g., ESC and ESC-a to both | |
39 | be bound to readline functions. Now the arrow keys may be used in vi | |
40 | insert mode. | |
41 | ||
42 | b. When listing completions, and the number of lines displayed is more than | |
43 | the screen length, readline uses an internal pager to display the results. | |
44 | This is controlled by the `page-completions' variable (default on). | |
45 | ||
46 | c. New code to handle editing and displaying multibyte characters. | |
47 | ||
48 | d. The behavior introduced in bash-2.05a of deciding whether or not to | |
49 | append a slash to a completed name that is a symlink to a directory has | |
50 | been made optional, controlled by the `mark-symlinked-directories' | |
51 | variable (default is the 2.05a behavior). | |
52 | ||
53 | e. The `insert-comment' command now acts as a toggle if given a numeric | |
54 | argument: if the first characters on the line don't specify a | |
55 | comment, insert one; if they do, delete the comment text | |
56 | ||
57 | f. New application-settable completion variable: | |
58 | rl_completion_mark_symlink_dirs, allows an application's completion | |
59 | function to temporarily override the user's preference for appending | |
60 | slashes to names which are symlinks to directories. | |
61 | ||
62 | g. New function available to application completion functions: | |
63 | rl_completion_mode, to tell how the completion function was invoked | |
64 | and decide which argument to supply to rl_complete_internal (to list | |
65 | completions, etc.). | |
66 | ||
67 | h. Readline now has an overwrite mode, toggled by the `overwrite-mode' | |
68 | bindable command, which could be bound to `Insert'. | |
69 | ||
70 | i. New application-settable completion variable: | |
71 | rl_completion_suppress_append, inhibits appending of | |
72 | rl_completion_append_character to completed words. | |
73 | ||
74 | j. New key bindings when reading an incremental search string: ^W yanks | |
75 | the currently-matched word out of the current line into the search | |
76 | string; ^Y yanks the rest of the current line into the search string, | |
77 | DEL or ^H deletes characters from the search string. | |
78 | ||
79 | ------------------------------------------------------------------------------- | |
80 | This document details the changes between this version, readline-4.2a, | |
81 | and the previous version, readline-4.2. | |
82 | ||
83 | 1. Changes to Readline | |
84 | ||
85 | a. More `const' and type casting fixes. | |
86 | ||
87 | b. Changed rl_message() to use vsnprintf(3) (if available) to fix buffer | |
88 | overflow problems. | |
89 | ||
90 | c. The completion code no longer appends a `/' or ` ' to a match when | |
91 | completing a symbolic link that resolves to a directory name, unless | |
92 | the match does not add anything to the word being completed. This | |
93 | means that a tab will complete the word up to the full name, but not | |
94 | add anything, and a subsequent tab will add a slash. | |
95 | ||
96 | d. Fixed a trivial typo that made the vi-mode `dT' command not work. | |
97 | ||
98 | e. Fixed the tty code so that ^S and ^Q can be inserted with rl_quoted_insert. | |
99 | ||
100 | f. Fixed the tty code so that ^V works more than once. | |
101 | ||
102 | g. Changed the use of __P((...)) for function prototypes to PARAMS((...)) | |
103 | because the use of __P in typedefs conflicted g++ and glibc. | |
104 | ||
105 | h. The completion code now attempts to do a better job of preserving the | |
106 | case of the word the user typed if ignoring case in completions. | |
107 | ||
108 | i. Readline defaults to not echoing the input and lets the terminal | |
109 | initialization code enable echoing if there is a controlling terminal. | |
110 | ||
111 | j. The key binding code now processes only two hex digits after a `\x' | |
112 | escape sequence, and the documentation was changed to note that the | |
113 | octal and hex escape sequences result in an eight-bit value rather | |
114 | than strict ASCII. | |
115 | ||
116 | k. Fixed a few places where negative array subscripts could have occurred. | |
117 | ||
118 | l. Fixed the vi-mode code to use a better method to determine the bounds of | |
119 | the array used to hold the marks, and to avoid out-of-bounds references. | |
120 | ||
121 | m. Fixed the defines in chardefs.h to work better when chars are signed. | |
122 | ||
123 | n. Fixed configure.in to use the new names for bash autoconf macros. | |
124 | ||
125 | o. Readline no longer attempts to define its own versions of some ctype | |
126 | macros if they are implemented as functions in libc but not as macros in | |
127 | <ctype.h>. | |
128 | ||
129 | p. Fixed a problem where rl_backward could possibly set point to before | |
130 | the beginning of the line. | |
131 | ||
132 | q. Fixed Makefile to not put -I/usr/include into CFLAGS, since it can cause | |
133 | include file problems. | |
134 | ||
135 | 2. New Features in Readline | |
136 | ||
137 | a. Added extern declaration for rl_get_termcap to readline.h, making it a | |
138 | public function (it was always there, just not in readline.h). | |
139 | ||
140 | b. New #defines in readline.h: RL_READLINE_VERSION, currently 0x0402, | |
141 | RL_VERSION_MAJOR, currently 4, and RL_VERSION_MINOR, currently 2. | |
142 | ||
143 | c. New readline variable: rl_readline_version, mirrors RL_READLINE_VERSION. | |
144 | ||
145 | d. New bindable boolean readline variable: match-hidden-files. Controls | |
146 | completion of files beginning with a `.' (on Unix). Enabled by default. | |
147 | ||
148 | e. The history expansion code now allows any character to terminate a | |
149 | `:first-' modifier, like csh. | |
150 | ||
151 | f. The incremental search code remembers the last search string and uses | |
152 | it if ^R^R is typed without a search string. | |
153 | ||
154 | h. New bindable variable `history-preserve-point'. If set, the history | |
155 | code attempts to place the user at the same location on each history | |
156 | line retrived with previous-history or next-history. | |
157 | ||
158 | ------------------------------------------------------------------------------- | |
159 | This document details the changes between this version, readline-4.2, | |
160 | and the previous version, readline-4.1. | |
161 | ||
162 | 1. Changes to Readline | |
163 | ||
164 | a. When setting the terminal attributes on systems using `struct termio', | |
165 | readline waits for output to drain before changing the attributes. | |
166 | ||
167 | b. A fix was made to the history word tokenization code to avoid attempts to | |
168 | dereference a null pointer. | |
169 | ||
170 | c. Readline now defaults rl_terminal_name to $TERM if the calling application | |
171 | has left it unset, and tries to initialize with the resultant value. | |
172 | ||
173 | d. Instead of calling (*rl_getc_function)() directly to get input in certain | |
174 | places, readline now calls rl_read_key() consistently. | |
175 | ||
176 | e. Fixed a bug in the completion code that allowed a backslash to quote a | |
177 | single quote inside a single-quoted string. | |
178 | ||
179 | f. rl_prompt is no longer assigned directly from the argument to readline(), | |
180 | but uses memory allocated by readline. This allows constant strings to | |
181 | be passed to readline without problems arising when the prompt processing | |
182 | code wants to modify the string. | |
183 | ||
184 | g. Fixed a bug that caused non-interactive history searches to return the | |
185 | wrong line when performing multiple searches backward for the same string. | |
186 | ||
187 | h. Many variables, function arguments, and function return values are now | |
188 | declared `const' where appropriate, to improve behavior when linking with | |
189 | C++ code. | |
190 | ||
191 | i. The control character detection code now works better on systems where | |
192 | `char' is unsigned by default. | |
193 | ||
194 | j. The vi-mode numeric argument is now capped at 999999, just like emacs mode. | |
195 | ||
196 | k. The Function, CPFunction, CPPFunction, and VFunction typedefs have been | |
197 | replaced with a set of specific prototyped typedefs, though they are | |
198 | still in the readline header files for backwards compatibility. | |
199 | ||
200 | m. Nearly all of the (undocumented) internal global variables in the library | |
201 | now have an _rl_ prefix -- there were a number that did not, like | |
202 | screenheight, screenwidth, alphabetic, etc. | |
203 | ||
204 | n. The ding() convenience function has been renamed to rl_ding(), though the | |
205 | old function is still defined for backwards compatibility. | |
206 | ||
207 | o. The completion convenience functions filename_completion_function, | |
208 | username_completion_function, and completion_matches now have an rl_ | |
209 | prefix, though the old names are still defined for backwards compatibility. | |
210 | ||
211 | p. The functions shared by readline and bash (linkage is satisfied from bash | |
212 | when compiling with bash, and internally otherwise) now have an sh_ prefix. | |
213 | ||
214 | q. Changed the shared library creation procedure on Linux and BSD/OS 4.x so | |
215 | that the `soname' contains only the major version number rather than the | |
216 | major and minor numbers. | |
217 | ||
218 | r. Fixed a redisplay bug that occurred when the prompt spanned more than one | |
219 | physical line and contained invisible characters. | |
220 | ||
221 | s. Added a missing `includedir' variable to the Makefile. | |
222 | ||
223 | t. When installing the shared libraries, make sure symbolic links are relative. | |
224 | ||
225 | u. Added configure test so that it can set `${MAKE}' appropriately. | |
226 | ||
227 | v. Fixed a bug in rl_forward that could cause the point to be set to before | |
228 | the beginning of the line in vi mode. | |
229 | ||
230 | w. Fixed a bug in the callback read-char interface to make it work when a | |
231 | readline function pushes some input onto the input stream with | |
232 | rl_execute_next (like the incremental search functions). | |
233 | ||
234 | x. Fixed a file descriptor leak in the history file manipulation code that | |
235 | was tripped when attempting to truncate a non-regular file (like | |
236 | /dev/null). | |
237 | ||
238 | y. Changes to make all of the exported readline functions declared in | |
239 | readline.h have an rl_ prefix (rltty_set_default_bindings is now | |
240 | rl_tty_set_default_bindings, crlf is now rl_crlf, etc.) | |
241 | ||
242 | z. The formatted documentation included in the base readline distribution | |
243 | is no longer removed on a `make distclean'. | |
244 | ||
245 | aa. Some changes were made to avoid gcc warnings with -Wall. | |
246 | ||
247 | bb. rl_get_keymap_by_name now finds keymaps case-insensitively, so | |
248 | `set keymap EMACS' works. | |
249 | ||
250 | cc. The history file writing and truncation functions now return a useful | |
251 | status on error. | |
252 | ||
253 | dd. Fixed a bug that could cause applications to dereference a NULL pointer | |
254 | if a NULL second argument was passed to history_expand(). | |
255 | ||
256 | ee. If a hook function assigned to rl_event_hook sets rl_done to a non-zero | |
257 | value, rl_read_key() now immediately returns '\n' (which is assumed to | |
258 | be bound to accept-line). | |
259 | ||
260 | 2. New Features in Readline | |
261 | ||
262 | a. The blink timeout for paren matching is now settable by applications, | |
263 | via the rl_set_paren_blink_timeout() function. | |
264 | ||
265 | b. _rl_executing_macro has been renamed to rl_executing_macro, which means | |
266 | it's now part of the public interface. | |
267 | ||
268 | c. Readline has a new variable, rl_readline_state, which is a bitmap that | |
269 | encapsulates the current state of the library; intended for use by | |
270 | callbacks and hook functions. | |
271 | ||
272 | d. rlfe has a new -l option to log input and output (-a appends to logfile), | |
273 | a new -n option to set the readline application name, and -v and -h | |
274 | options for version and help information. | |
275 | ||
276 | e. rlfe can now perform filename completion for the inferior process if the | |
277 | OS has a /proc/<PID>/cwd that can be read with readlink(2) to get the | |
278 | inferior's current working directory. | |
279 | ||
280 | f. A new file, rltypedefs.h, contains the new typedefs for function pointers | |
281 | and is installed by `make install'. | |
282 | ||
283 | g. New application-callable function rl_set_prompt(const char *prompt): | |
284 | expands its prompt string argument and sets rl_prompt to the result. | |
285 | ||
286 | h. New application-callable function rl_set_screen_size(int rows, int cols): | |
287 | public method for applications to set readline's idea of the screen | |
288 | dimensions. | |
289 | ||
290 | i. The history example program (examples/histexamp.c) is now built as one | |
291 | of the examples. | |
292 | ||
293 | j. The documentation has been updated to cover nearly all of the public | |
294 | functions and variables declared in readline.h. | |
295 | ||
296 | k. New function, rl_get_screen_size (int *rows, int *columns), returns | |
297 | readline's idea of the screen dimensions. | |
298 | ||
299 | l. The timeout in rl_gather_tyi (readline keyboard input polling function) | |
300 | is now settable via a function (rl_set_keyboard_input_timeout()). | |
301 | ||
302 | m. Renamed the max_input_history variable to history_max_entries; the old | |
303 | variable is maintained for backwards compatibility. | |
304 | ||
305 | n. The list of characters that separate words for the history tokenizer is | |
306 | now settable with a variable: history_word_delimiters. The default | |
307 | value is as before. | |
308 | ||
309 | o. There is a new history.3 manual page documenting the history library. | |
310 | ||
311 | ------------------------------------------------------------------------------- | |
1b17e766 EZ |
312 | This document details the changes between this version, readline-4.1, |
313 | and the previous version, readline-4.0. | |
314 | ||
315 | 1. Changes to Readline | |
316 | ||
317 | a. Changed the HTML documents so that the table-of-contents is no longer | |
318 | a separate file. | |
319 | ||
320 | b. Changes to the shared object configuration for: Irix 5.x, Irix 6.x, | |
321 | OSF/1. | |
322 | ||
323 | c. The shared library major and minor versions are now constructed | |
324 | automatically by configure and substituted into the makefiles. | |
325 | ||
326 | d. It's now possible to install the shared libraries separately from the | |
327 | static libraries. | |
328 | ||
329 | e. The history library tries to truncate the history file only if it is a | |
330 | regular file. | |
331 | ||
332 | f. A bug that caused _rl_dispatch to address negative array indices on | |
333 | systems with signed chars was fixed. | |
334 | ||
335 | g. rl-yank-nth-arg now leaves the history position the same as when it was | |
336 | called. | |
337 | ||
338 | h. Changes to the completion code to handle MS-DOS drive-letter:pathname | |
339 | filenames. | |
340 | ||
341 | i. Completion is now case-insensitive by default on MS-DOS. | |
342 | ||
343 | j. Fixes to the history file manipulation code for MS-DOS. | |
344 | ||
345 | k. Readline attempts to bind the arrow keys to appropriate defaults on MS-DOS. | |
346 | ||
347 | l. Some fixes were made to the redisplay code for better operation on MS-DOS. | |
348 | ||
349 | m. The quoted-insert code will now insert tty special chars like ^C. | |
350 | ||
351 | n. A bug was fixed that caused the display code to reference memory before | |
352 | the start of the prompt string. | |
353 | ||
354 | o. More support for __EMX__ (OS/2). | |
355 | ||
356 | p. A bug was fixed in readline's signal handling that could cause infinite | |
357 | recursion in signal handlers. | |
358 | ||
359 | q. A bug was fixed that caused the point to be less than zero when rl_forward | |
360 | was given a very large numeric argument. | |
361 | ||
362 | r. The vi-mode code now gets characters via the application-settable value | |
363 | of rl_getc_function rather than calling rl_getc directly. | |
364 | ||
365 | s. The history file code now uses O_BINARY mode when reading and writing | |
366 | the history file on cygwin32. | |
367 | ||
368 | t. Fixed a bug in the redisplay code for lines with more than 256 line | |
369 | breaks. | |
370 | ||
371 | u. A bug was fixed which caused invisible character markers to not be | |
372 | stripped from the prompt string if the terminal was in no-echo mode. | |
373 | ||
374 | v. Readline no longer tries to get the variables it needs for redisplay | |
375 | from the termcap entry if the calling application has specified its | |
376 | own redisplay function. Readline treats the terminal as `dumb' in | |
377 | this case. | |
378 | ||
379 | w. Fixes to the SIGWINCH code so that a multiple-line prompt with escape | |
380 | sequences is redrawn correctly. | |
381 | ||
382 | x. Changes to the install and install-shared targets so that the libraries | |
383 | and header files are installed separately. | |
384 | ||
385 | 2. New Features in Readline | |
386 | ||
387 | a. A new Readline `user manual' is in doc/rluserman.texinfo. | |
388 | ||
389 | b. Parentheses matching is now always compiled into readline, and enabled | |
390 | or disabled when the value of the `blink-matching-paren' variable is | |
391 | changed. | |
392 | ||
393 | c. MS-DOS systems now use ~/_inputrc as the last-ditch inputrc filename. | |
394 | ||
395 | d. MS-DOS systems now use ~/_history as the default history file. | |
396 | ||
397 | e. history-search-{forward,backward} now leave the point at the end of the | |
398 | line when the string to search for is empty, like | |
399 | {reverse,forward}-search-history. | |
400 | ||
401 | f. history-search-{forward,backward} now leave the last history line found | |
402 | in the readline buffer if the second or subsequent search fails. | |
403 | ||
404 | g. New function for use by applications: rl_on_new_line_with_prompt, used | |
405 | when an application displays the prompt itself before calling readline(). | |
406 | ||
407 | h. New variable for use by applications: rl_already_prompted. An application | |
408 | that displays the prompt itself before calling readline() must set this to | |
409 | a non-zero value. | |
410 | ||
411 | i. A new variable, rl_gnu_readline_p, always 1. The intent is that an | |
412 | application can verify whether or not it is linked with the `real' | |
413 | readline library or some substitute. | |
414 | ||
415 | j. Per Bothner's `rlfe' (pronounced `Ralphie') readline front-end program | |
416 | is included in the examples subdirectory, though it is not built | |
417 | by default. | |
418 | ||
419 | ------------------------------------------------------------------------------- | |
c862e87b | 420 | This document details the changes between this version, readline-4.0, |
d60d9f65 SS |
421 | and the previous version, readline-2.2. |
422 | ||
423 | 1. Changes to Readline | |
424 | ||
c862e87b JM |
425 | a. The version number is now 4.0, to match the major and minor version |
426 | numbers on the shared readline and history libraries. Future | |
427 | releases will maintain the identical numbering. | |
d60d9f65 | 428 | |
c862e87b JM |
429 | b. Fixed a typo in the `make install' recipe that copied libreadline.a |
430 | to libhistory.old right after installing it. | |
d60d9f65 | 431 | |
c862e87b JM |
432 | c. The readline and history info files are now installed out of the source |
433 | directory if they are not found in the build directory. | |
d60d9f65 | 434 | |
c862e87b JM |
435 | d. The library no longer exports a function named `savestring' -- backwards |
436 | compatibility be damned. | |
d60d9f65 | 437 | |
c862e87b JM |
438 | e. There is no longer any #ifdef SHELL code in the source files. |
439 | ||
440 | f. Some changes were made to the key binding code to fix memory leaks and | |
441 | better support Win32 systems. | |
442 | ||
443 | g. Fixed a silly typo in the paren matching code -- it's microseconds, not | |
444 | milliseconds. | |
445 | ||
446 | h. The readline library should be compilable by C++ compilers. | |
447 | ||
448 | i. The readline.h public header file now includes function prototypes for | |
449 | all readline functions, and some changes were made to fix errors in the | |
450 | source files uncovered by the use of prototypes. | |
451 | ||
452 | j. The maximum numeric argument is now clamped at 1000000. | |
453 | ||
454 | k. Fixes to rl_yank_last_arg to make it behave better. | |
455 | ||
456 | l. Fixed a bug in the display code that caused core dumps if the prompt | |
457 | string length exceeded 1024 characters. | |
458 | ||
459 | m. The menu completion code was fixed to properly insert a single completion | |
460 | if there is only one match. | |
461 | ||
462 | n. A bug was fixed that caused the display code to improperly display tabs | |
463 | after newlines. | |
464 | ||
465 | o. A fix was made to the completion code in which a typo caused the wrong | |
466 | value to be passed to the function that computed the longest common | |
467 | prefix of the list of matches. | |
468 | ||
469 | p. The completion code now checks the value of rl_filename_completion_desired, | |
470 | which is set by application-supplied completion functions to indicate | |
471 | that filename completion is being performed, to decide whether or not to | |
472 | call an application-supplied `ignore completions' function. | |
473 | ||
474 | q. Code was added to the history library to catch history substitutions | |
475 | using `&' without a previous history substitution or search having been | |
476 | performed. | |
477 | ||
478 | ||
479 | 2. New Features in Readline | |
480 | ||
481 | a. There is a new script, support/shobj-conf, to do system-specific shared | |
482 | object and library configuration. It generates variables for configure | |
483 | to substitute into makefiles. The README file provides a detailed | |
484 | explanation of the shared library creation process. | |
485 | ||
486 | b. Shared libraries and objects are now built in the `shlib' subdirectory. | |
487 | There is a shlib/Makefile.in to control the build process. `make shared' | |
488 | from the top-level directory is still the right way to build shared | |
489 | versions of the libraries. | |
490 | ||
491 | c. rlconf.h is now installed, so applications can find out which features | |
492 | have been compiled into the installed readline and history libraries. | |
493 | ||
494 | d. rlstdc.h is now an installed header file. | |
495 | ||
496 | e. Many changes to the signal handling: | |
497 | o Readline now catches SIGQUIT and cleans up the tty before returning; | |
498 | o A new variable, rl_catch_signals, is available to application writers | |
499 | to indicate to readline whether or not it should install its own | |
500 | signal handlers for SIGINT, SIGTERM, SIGQUIT, SIGALRM, SIGTSTP, | |
501 | SIGTTIN, and SIGTTOU; | |
502 | o A new variable, rl_catch_sigwinch, is available to application | |
503 | writers to indicate to readline whether or not it should install its | |
504 | own signal handler for SIGWINCH, which will chain to the calling | |
505 | applications's SIGWINCH handler, if one is installed; | |
506 | o There is a new function, rl_free_line_state, for application signal | |
507 | handlers to call to free up the state associated with the current | |
508 | line after receiving a signal; | |
509 | o There is a new function, rl_cleanup_after_signal, to clean up the | |
510 | display and terminal state after receiving a signal; | |
511 | o There is a new function, rl_reset_after_signal, to reinitialize the | |
512 | terminal and display state after an application signal handler | |
513 | returns and readline continues | |
514 | ||
515 | f. There is a new function, rl_resize_terminal, to reset readline's idea of | |
516 | the screen size after a SIGWINCH. | |
517 | ||
518 | g. New public functions: rl_save_prompt and rl_restore_prompt. These were | |
519 | previously private functions with a `_' prefix. These functions are | |
520 | used when an application wants to write a message to the `message area' | |
521 | with rl_message and have the prompt restored correctly when the message | |
522 | is erased. | |
523 | ||
524 | h. New function hook: rl_pre_input_hook, called just before readline starts | |
525 | reading input, after initialization. | |
526 | ||
527 | i. New function hook: rl_display_matches_hook, called when readline would | |
528 | display the list of completion matches. The new function | |
529 | rl_display_match_list is what readline uses internally, and is available | |
530 | for use by application functions called via this hook. | |
531 | ||
532 | j. New bindable function, delete-char-or-list, like tcsh. | |
533 | ||
534 | k. A new variable, rl_erase_empty_line, which, if set by an application using | |
535 | readline, will cause readline to erase, prompt and all, lines on which the | |
536 | only thing typed was a newline. | |
537 | ||
538 | l. There is a new script, support/shlib-install, to install and uninstall | |
539 | the shared readline and history libraries. | |
540 | ||
541 | m. A new bindable variable, `isearch-terminators', which is a string | |
542 | containing the set of characters that should terminate an incremental | |
543 | search without being executed as a command. | |
544 | ||
545 | n. A new bindable function, forward-backward-delete-char. | |
546 | ||
547 | ------------------------------------------------------------------------------- | |
d60d9f65 SS |
548 | This document details the changes between this version, readline-2.2, |
549 | and the previous version, readline-2.1. | |
550 | ||
551 | 1. Changes to Readline | |
552 | ||
553 | a. Added a missing `extern' to a declaration in readline.h that kept | |
554 | readline from compiling cleanly on some systems. | |
555 | ||
556 | b. The history file is now opened with mode 0600 when it is written for | |
557 | better security. | |
558 | ||
559 | c. Changes were made to the SIGWINCH handling code so that prompt redisplay | |
560 | is done better. | |
561 | ||
562 | d. ^G now interrupts incremental searches correctly. | |
563 | ||
564 | e. A bug that caused a core dump when the set of characters to be quoted | |
565 | when completing words was empty was fixed. | |
566 | ||
567 | f. Fixed a problem in the readline test program rltest.c that caused a core | |
568 | dump. | |
569 | ||
570 | g. The code that handles parser directives in inputrc files now displays | |
571 | more error messages. | |
572 | ||
573 | h. The history expansion code was fixed so that the appearance of the | |
574 | history comment character at the beginning of a word inhibits history | |
575 | expansion for that word and the rest of the input line. | |
576 | ||
577 | i. The code that prints completion listings now behaves better if one or | |
578 | more of the filenames contains non-printable characters. | |
579 | ||
580 | j. The time delay when showing matching parentheses is now 0.5 seconds. | |
581 | ||
582 | ||
583 | 2. New Features in Readline | |
584 | ||
585 | a. There is now an option for `iterative' yank-last-arg handline, so a user | |
586 | can keep entering `M-.', yanking the last argument of successive history | |
587 | lines. | |
588 | ||
589 | b. New variable, `print-completions-horizontally', which causes completion | |
590 | matches to be displayed across the screen (like `ls -x') rather than up | |
591 | and down the screen (like `ls'). | |
592 | ||
593 | c. New variable, `completion-ignore-case', which causes filename completion | |
594 | and matching to be performed case-insensitively. | |
595 | ||
596 | d. There is a new bindable command, `magic-space', which causes history | |
597 | expansion to be performed on the current readline buffer and a space to | |
598 | be inserted into the result. | |
599 | ||
600 | e. There is a new bindable command, `menu-complete', which enables tcsh-like | |
601 | menu completion (successive executions of menu-complete insert a single | |
602 | completion match, cycling through the list of possible completions). | |
603 | ||
604 | f. There is a new bindable command, `paste-from-clipboard', for use on Win32 | |
605 | systems, to insert the text from the Win32 clipboard into the editing | |
606 | buffer. | |
607 | ||
608 | g. The key sequence translation code now understands printf-style backslash | |
609 | escape sequences, including \NNN octal escapes. These escape sequences | |
610 | may be used in key sequence definitions or macro values. | |
611 | ||
612 | h. An `$include' inputrc file parser directive has been added. |