Commit | Line | Data |
---|---|---|
1b17e766 EZ |
1 | This document details the changes between this version, readline-4.1, |
2 | and the previous version, readline-4.0. | |
3 | ||
4 | 1. Changes to Readline | |
5 | ||
6 | a. Changed the HTML documents so that the table-of-contents is no longer | |
7 | a separate file. | |
8 | ||
9 | b. Changes to the shared object configuration for: Irix 5.x, Irix 6.x, | |
10 | OSF/1. | |
11 | ||
12 | c. The shared library major and minor versions are now constructed | |
13 | automatically by configure and substituted into the makefiles. | |
14 | ||
15 | d. It's now possible to install the shared libraries separately from the | |
16 | static libraries. | |
17 | ||
18 | e. The history library tries to truncate the history file only if it is a | |
19 | regular file. | |
20 | ||
21 | f. A bug that caused _rl_dispatch to address negative array indices on | |
22 | systems with signed chars was fixed. | |
23 | ||
24 | g. rl-yank-nth-arg now leaves the history position the same as when it was | |
25 | called. | |
26 | ||
27 | h. Changes to the completion code to handle MS-DOS drive-letter:pathname | |
28 | filenames. | |
29 | ||
30 | i. Completion is now case-insensitive by default on MS-DOS. | |
31 | ||
32 | j. Fixes to the history file manipulation code for MS-DOS. | |
33 | ||
34 | k. Readline attempts to bind the arrow keys to appropriate defaults on MS-DOS. | |
35 | ||
36 | l. Some fixes were made to the redisplay code for better operation on MS-DOS. | |
37 | ||
38 | m. The quoted-insert code will now insert tty special chars like ^C. | |
39 | ||
40 | n. A bug was fixed that caused the display code to reference memory before | |
41 | the start of the prompt string. | |
42 | ||
43 | o. More support for __EMX__ (OS/2). | |
44 | ||
45 | p. A bug was fixed in readline's signal handling that could cause infinite | |
46 | recursion in signal handlers. | |
47 | ||
48 | q. A bug was fixed that caused the point to be less than zero when rl_forward | |
49 | was given a very large numeric argument. | |
50 | ||
51 | r. The vi-mode code now gets characters via the application-settable value | |
52 | of rl_getc_function rather than calling rl_getc directly. | |
53 | ||
54 | s. The history file code now uses O_BINARY mode when reading and writing | |
55 | the history file on cygwin32. | |
56 | ||
57 | t. Fixed a bug in the redisplay code for lines with more than 256 line | |
58 | breaks. | |
59 | ||
60 | u. A bug was fixed which caused invisible character markers to not be | |
61 | stripped from the prompt string if the terminal was in no-echo mode. | |
62 | ||
63 | v. Readline no longer tries to get the variables it needs for redisplay | |
64 | from the termcap entry if the calling application has specified its | |
65 | own redisplay function. Readline treats the terminal as `dumb' in | |
66 | this case. | |
67 | ||
68 | w. Fixes to the SIGWINCH code so that a multiple-line prompt with escape | |
69 | sequences is redrawn correctly. | |
70 | ||
71 | x. Changes to the install and install-shared targets so that the libraries | |
72 | and header files are installed separately. | |
73 | ||
74 | 2. New Features in Readline | |
75 | ||
76 | a. A new Readline `user manual' is in doc/rluserman.texinfo. | |
77 | ||
78 | b. Parentheses matching is now always compiled into readline, and enabled | |
79 | or disabled when the value of the `blink-matching-paren' variable is | |
80 | changed. | |
81 | ||
82 | c. MS-DOS systems now use ~/_inputrc as the last-ditch inputrc filename. | |
83 | ||
84 | d. MS-DOS systems now use ~/_history as the default history file. | |
85 | ||
86 | e. history-search-{forward,backward} now leave the point at the end of the | |
87 | line when the string to search for is empty, like | |
88 | {reverse,forward}-search-history. | |
89 | ||
90 | f. history-search-{forward,backward} now leave the last history line found | |
91 | in the readline buffer if the second or subsequent search fails. | |
92 | ||
93 | g. New function for use by applications: rl_on_new_line_with_prompt, used | |
94 | when an application displays the prompt itself before calling readline(). | |
95 | ||
96 | h. New variable for use by applications: rl_already_prompted. An application | |
97 | that displays the prompt itself before calling readline() must set this to | |
98 | a non-zero value. | |
99 | ||
100 | i. A new variable, rl_gnu_readline_p, always 1. The intent is that an | |
101 | application can verify whether or not it is linked with the `real' | |
102 | readline library or some substitute. | |
103 | ||
104 | j. Per Bothner's `rlfe' (pronounced `Ralphie') readline front-end program | |
105 | is included in the examples subdirectory, though it is not built | |
106 | by default. | |
107 | ||
108 | ------------------------------------------------------------------------------- | |
c862e87b | 109 | This document details the changes between this version, readline-4.0, |
d60d9f65 SS |
110 | and the previous version, readline-2.2. |
111 | ||
112 | 1. Changes to Readline | |
113 | ||
c862e87b JM |
114 | a. The version number is now 4.0, to match the major and minor version |
115 | numbers on the shared readline and history libraries. Future | |
116 | releases will maintain the identical numbering. | |
d60d9f65 | 117 | |
c862e87b JM |
118 | b. Fixed a typo in the `make install' recipe that copied libreadline.a |
119 | to libhistory.old right after installing it. | |
d60d9f65 | 120 | |
c862e87b JM |
121 | c. The readline and history info files are now installed out of the source |
122 | directory if they are not found in the build directory. | |
d60d9f65 | 123 | |
c862e87b JM |
124 | d. The library no longer exports a function named `savestring' -- backwards |
125 | compatibility be damned. | |
d60d9f65 | 126 | |
c862e87b JM |
127 | e. There is no longer any #ifdef SHELL code in the source files. |
128 | ||
129 | f. Some changes were made to the key binding code to fix memory leaks and | |
130 | better support Win32 systems. | |
131 | ||
132 | g. Fixed a silly typo in the paren matching code -- it's microseconds, not | |
133 | milliseconds. | |
134 | ||
135 | h. The readline library should be compilable by C++ compilers. | |
136 | ||
137 | i. The readline.h public header file now includes function prototypes for | |
138 | all readline functions, and some changes were made to fix errors in the | |
139 | source files uncovered by the use of prototypes. | |
140 | ||
141 | j. The maximum numeric argument is now clamped at 1000000. | |
142 | ||
143 | k. Fixes to rl_yank_last_arg to make it behave better. | |
144 | ||
145 | l. Fixed a bug in the display code that caused core dumps if the prompt | |
146 | string length exceeded 1024 characters. | |
147 | ||
148 | m. The menu completion code was fixed to properly insert a single completion | |
149 | if there is only one match. | |
150 | ||
151 | n. A bug was fixed that caused the display code to improperly display tabs | |
152 | after newlines. | |
153 | ||
154 | o. A fix was made to the completion code in which a typo caused the wrong | |
155 | value to be passed to the function that computed the longest common | |
156 | prefix of the list of matches. | |
157 | ||
158 | p. The completion code now checks the value of rl_filename_completion_desired, | |
159 | which is set by application-supplied completion functions to indicate | |
160 | that filename completion is being performed, to decide whether or not to | |
161 | call an application-supplied `ignore completions' function. | |
162 | ||
163 | q. Code was added to the history library to catch history substitutions | |
164 | using `&' without a previous history substitution or search having been | |
165 | performed. | |
166 | ||
167 | ||
168 | 2. New Features in Readline | |
169 | ||
170 | a. There is a new script, support/shobj-conf, to do system-specific shared | |
171 | object and library configuration. It generates variables for configure | |
172 | to substitute into makefiles. The README file provides a detailed | |
173 | explanation of the shared library creation process. | |
174 | ||
175 | b. Shared libraries and objects are now built in the `shlib' subdirectory. | |
176 | There is a shlib/Makefile.in to control the build process. `make shared' | |
177 | from the top-level directory is still the right way to build shared | |
178 | versions of the libraries. | |
179 | ||
180 | c. rlconf.h is now installed, so applications can find out which features | |
181 | have been compiled into the installed readline and history libraries. | |
182 | ||
183 | d. rlstdc.h is now an installed header file. | |
184 | ||
185 | e. Many changes to the signal handling: | |
186 | o Readline now catches SIGQUIT and cleans up the tty before returning; | |
187 | o A new variable, rl_catch_signals, is available to application writers | |
188 | to indicate to readline whether or not it should install its own | |
189 | signal handlers for SIGINT, SIGTERM, SIGQUIT, SIGALRM, SIGTSTP, | |
190 | SIGTTIN, and SIGTTOU; | |
191 | o A new variable, rl_catch_sigwinch, is available to application | |
192 | writers to indicate to readline whether or not it should install its | |
193 | own signal handler for SIGWINCH, which will chain to the calling | |
194 | applications's SIGWINCH handler, if one is installed; | |
195 | o There is a new function, rl_free_line_state, for application signal | |
196 | handlers to call to free up the state associated with the current | |
197 | line after receiving a signal; | |
198 | o There is a new function, rl_cleanup_after_signal, to clean up the | |
199 | display and terminal state after receiving a signal; | |
200 | o There is a new function, rl_reset_after_signal, to reinitialize the | |
201 | terminal and display state after an application signal handler | |
202 | returns and readline continues | |
203 | ||
204 | f. There is a new function, rl_resize_terminal, to reset readline's idea of | |
205 | the screen size after a SIGWINCH. | |
206 | ||
207 | g. New public functions: rl_save_prompt and rl_restore_prompt. These were | |
208 | previously private functions with a `_' prefix. These functions are | |
209 | used when an application wants to write a message to the `message area' | |
210 | with rl_message and have the prompt restored correctly when the message | |
211 | is erased. | |
212 | ||
213 | h. New function hook: rl_pre_input_hook, called just before readline starts | |
214 | reading input, after initialization. | |
215 | ||
216 | i. New function hook: rl_display_matches_hook, called when readline would | |
217 | display the list of completion matches. The new function | |
218 | rl_display_match_list is what readline uses internally, and is available | |
219 | for use by application functions called via this hook. | |
220 | ||
221 | j. New bindable function, delete-char-or-list, like tcsh. | |
222 | ||
223 | k. A new variable, rl_erase_empty_line, which, if set by an application using | |
224 | readline, will cause readline to erase, prompt and all, lines on which the | |
225 | only thing typed was a newline. | |
226 | ||
227 | l. There is a new script, support/shlib-install, to install and uninstall | |
228 | the shared readline and history libraries. | |
229 | ||
230 | m. A new bindable variable, `isearch-terminators', which is a string | |
231 | containing the set of characters that should terminate an incremental | |
232 | search without being executed as a command. | |
233 | ||
234 | n. A new bindable function, forward-backward-delete-char. | |
235 | ||
236 | ------------------------------------------------------------------------------- | |
d60d9f65 SS |
237 | This document details the changes between this version, readline-2.2, |
238 | and the previous version, readline-2.1. | |
239 | ||
240 | 1. Changes to Readline | |
241 | ||
242 | a. Added a missing `extern' to a declaration in readline.h that kept | |
243 | readline from compiling cleanly on some systems. | |
244 | ||
245 | b. The history file is now opened with mode 0600 when it is written for | |
246 | better security. | |
247 | ||
248 | c. Changes were made to the SIGWINCH handling code so that prompt redisplay | |
249 | is done better. | |
250 | ||
251 | d. ^G now interrupts incremental searches correctly. | |
252 | ||
253 | e. A bug that caused a core dump when the set of characters to be quoted | |
254 | when completing words was empty was fixed. | |
255 | ||
256 | f. Fixed a problem in the readline test program rltest.c that caused a core | |
257 | dump. | |
258 | ||
259 | g. The code that handles parser directives in inputrc files now displays | |
260 | more error messages. | |
261 | ||
262 | h. The history expansion code was fixed so that the appearance of the | |
263 | history comment character at the beginning of a word inhibits history | |
264 | expansion for that word and the rest of the input line. | |
265 | ||
266 | i. The code that prints completion listings now behaves better if one or | |
267 | more of the filenames contains non-printable characters. | |
268 | ||
269 | j. The time delay when showing matching parentheses is now 0.5 seconds. | |
270 | ||
271 | ||
272 | 2. New Features in Readline | |
273 | ||
274 | a. There is now an option for `iterative' yank-last-arg handline, so a user | |
275 | can keep entering `M-.', yanking the last argument of successive history | |
276 | lines. | |
277 | ||
278 | b. New variable, `print-completions-horizontally', which causes completion | |
279 | matches to be displayed across the screen (like `ls -x') rather than up | |
280 | and down the screen (like `ls'). | |
281 | ||
282 | c. New variable, `completion-ignore-case', which causes filename completion | |
283 | and matching to be performed case-insensitively. | |
284 | ||
285 | d. There is a new bindable command, `magic-space', which causes history | |
286 | expansion to be performed on the current readline buffer and a space to | |
287 | be inserted into the result. | |
288 | ||
289 | e. There is a new bindable command, `menu-complete', which enables tcsh-like | |
290 | menu completion (successive executions of menu-complete insert a single | |
291 | completion match, cycling through the list of possible completions). | |
292 | ||
293 | f. There is a new bindable command, `paste-from-clipboard', for use on Win32 | |
294 | systems, to insert the text from the Win32 clipboard into the editing | |
295 | buffer. | |
296 | ||
297 | g. The key sequence translation code now understands printf-style backslash | |
298 | escape sequences, including \NNN octal escapes. These escape sequences | |
299 | may be used in key sequence definitions or macro values. | |
300 | ||
301 | h. An `$include' inputrc file parser directive has been added. |