Annotation of embedaddon/readline/NEWS, revision 1.1.1.2

1.1.1.2 ! misho       1: This is a terse description of the new features added to readline-8.1 since
        !             2: the release of readline-8.0.
        !             3: 
        !             4: New Features in Readline
        !             5: 
        !             6: a. If a second consecutive completion attempt produces matches where the first
        !             7:    did not, treat it as a new completion attempt and insert a match as
        !             8:    appropriate.
        !             9: 
        !            10: b. Bracketed paste mode works in more places: incremental search strings, vi
        !            11:    overstrike mode, character search, and reading numeric arguments.
        !            12: 
        !            13: c. Readline automatically switches to horizontal scrolling if the terminal has
        !            14:    only one line.
        !            15: 
        !            16: d. Unbinding all key sequences bound to a particular readline function now
        !            17:    descends into keymaps for multi-key sequences.
        !            18: 
        !            19: e. rl-clear-display: new bindable command that clears the screen and, if
        !            20:    possible, the scrollback buffer (bound to emacs mode M-C-l by default).
        !            21: 
        !            22: f. New active mark and face feature: when enabled, it will highlight the text
        !            23:    inserted by a bracketed paste (the `active region') and the text found by
        !            24:    incremental and non-incremental history searches. This is tied to bracketed
        !            25:    paste and can be disabled by turning off bracketed paste.
        !            26: 
        !            27: g. Readline sets the mark in several additional commands.
        !            28: 
        !            29: h. Bracketed paste mode is enabled by default. There is a configure-time
        !            30:    option (--enable-bracketed-paste-default) to set the default to on or off.
        !            31: 
        !            32: i. Readline tries to take advantage of the more regular structure of UTF-8
        !            33:    characters to identify the beginning and end of characters when moving
        !            34:    through the line buffer.
        !            35: 
        !            36: j. The bindable operate-and-get-next command (and its default bindings) are
        !            37:    now part of readline instead of a bash-specific addition.
        !            38: 
        !            39: k. The signal cleanup code now blocks SIGINT while processing after a SIGINT.  
        !            40: 
        !            41: -------------------------------------------------------------------------------
        !            42: This is a terse description of the new features added to readline-8.0 since
        !            43: the release of readline-7.0.
        !            44: 
        !            45: New Features in Readline
        !            46: 
        !            47: a. Non-incremental vi-mode search (`N', `n') can search for a shell pattern, as
        !            48:    Posix specifies (uses fnmatch(3) if available).
        !            49: 
        !            50: b. There are new `next-screen-line' and `previous-screen-line' bindable
        !            51:    commands, which move the cursor to the same column in the next, or previous,
        !            52:    physical line, respectively.
        !            53: 
        !            54: c. There are default key bindings for control-arrow-key key combinations.
        !            55: 
        !            56: d. A negative argument (-N) to `quoted-insert' means to insert the next N
        !            57:    characters using quoted-insert.
        !            58: 
        !            59: e. New public function: rl_check_signals(), which allows applications to
        !            60:    respond to signals that readline catches while waiting for input using
        !            61:    a custom read function.
        !            62: 
        !            63: f. There is new support for conditionally testing the readline version in an
        !            64:    inputrc file, with a full set of arithmetic comparison operators available.
        !            65: 
        !            66: g. There is a simple variable comparison facility available for use within an
        !            67:    inputrc file. Allowable operators are equality and inequality; string
        !            68:    variables may be compared to a value; boolean variables must be compared to
        !            69:    either `on' or `off'; variable names are separated from the operator by
        !            70:    whitespace.
        !            71: 
        !            72: h. The history expansion library now understands command and process
        !            73:    substitution and extended globbing and allows them to appear anywhere in a
        !            74:    word.
        !            75: 
        !            76: i. The history library has a new variable that allows applications to set the
        !            77:    initial quoting state, so quoting state can be inherited from a previous
        !            78:    line.
        !            79: 
        !            80: j. Readline now allows application-defined keymap names; there is a new public
        !            81:    function, rl_set_keymap_name(), to do that.
        !            82: 
        !            83: k. The "Insert" keypad key, if available, now puts readline into overwrite
        !            84:    mode.
        !            85: 
        !            86: -------------------------------------------------------------------------------
        !            87: This is a terse description of the new features added to readline-7.0 since
        !            88: the release of readline-6.3.
        !            89: 
        !            90: New Features in Readline
        !            91: 
        !            92: a.  The history truncation code now uses the same error recovery mechansim as
        !            93:     the history writing code, and restores the old version of the history file
        !            94:     on error.  The error recovery mechanism handles symlinked history files.
        !            95: 
        !            96: b.  There is a new bindable variable, `enable-bracketed-paste', which enables
        !            97:     support for a terminal's bracketed paste mode.
        !            98: 
        !            99: c.  The editing mode indicators can now be strings and are user-settable
        !           100:     (new `emacs-mode-string', `vi-cmd-mode-string' and `vi-ins-mode-string'
        !           101:     variables).  Mode strings can contain invisible character sequences.
        !           102:     Setting mode strings to null strings restores the defaults.
        !           103: 
        !           104: d.  Prompt expansion adds the mode string to the last line of a multi-line
        !           105:     prompt (one with embedded newlines).
        !           106: 
        !           107: e.  There is a new bindable variable, `colored-completion-prefix', which, if
        !           108:     set, causes the common prefix of a set of possible completions to be
        !           109:     displayed in color.
        !           110: 
        !           111: f.  There is a new bindable command `vi-yank-pop', a vi-mode version of emacs-
        !           112:     mode yank-pop.
        !           113: 
        !           114: g.  The redisplay code underwent several efficiency improvements for multibyte
        !           115:     locales.
        !           116: 
        !           117: h.  The insert-char function attempts to batch-insert all pending typeahead
        !           118:     that maps to self-insert, as long as it is coming from the terminal.
        !           119: 
        !           120: i.  rl_callback_sigcleanup: a new application function that can clean up and
        !           121:     unset any state set by readline's callback mode.  Intended to be used
        !           122:     after a signal.
        !           123: 
        !           124: j.  If an incremental search string has its last character removed with DEL, the
        !           125:     resulting empty search string no longer matches the previous line.
        !           126: 
        !           127: k.  If readline reads a history file that begins with `#' (or the value of
        !           128:     the history comment character) and has enabled history timestamps, the history
        !           129:     entries are assumed to be delimited by timestamps.  This allows multi-line
        !           130:     history entries.
        !           131: 
        !           132: l.  Readline now throws an error if it parses a key binding without a terminating
        !           133:     `:' or whitespace.
        !           134: 
        !           135: m.  The default binding for ^W in vi mode now uses word boundaries specified
        !           136:     by Posix (vi-unix-word-rubout is bindable command name).
        !           137: 
        !           138: n.  rl_clear_visible_line: new application-callable function; clears all
        !           139:     screen lines occupied by the current visible readline line.
        !           140: 
        !           141: o.  rl_tty_set_echoing: application-callable function that controls whether
        !           142:     or not readline thinks it is echoing terminal output.
        !           143: 
        !           144: p.  Handle >| and strings of digits preceding and following redirection
        !           145:     specifications as single tokens when tokenizing the line for history
        !           146:     expansion.
        !           147: 
        !           148: q.  Fixed a bug with displaying completions when the prefix display length
        !           149:     is greater than the length of the completions to be displayed.
        !           150: 
        !           151: r.  The :p history modifier now applies to the entire line, so any expansion
        !           152:     specifying :p causes the line to be printed instead of expanded.
        !           153: 
        !           154: s.  New application-callable function: rl_pending_signal(): returns the signal
        !           155:     number of any signal readline has caught but not yet handled.
        !           156:     
        !           157: t.  New application-settable variable: rl_persistent_signal_handlers: if set
        !           158:     to a non-zero value, readline will enable the readline-6.2 signal handler
        !           159:     behavior in callback mode: handlers are installed when
        !           160:     rl_callback_handler_install is called and removed removed when a complete
        !           161:     line has been read.
        !           162: 
        !           163: -------------------------------------------------------------------------------
1.1       misho     164: This is a terse description of the new features added to readline-6.3 since
                    165: the release of readline-6.2.
                    166: 
                    167: New Features in Readline
                    168: 
                    169: a.  Readline is now more responsive to SIGHUP and other fatal signals when
                    170:     reading input from the terminal or performing word completion but no
                    171:     longer attempts to run any not-allowable functions from a signal handler
                    172:     context.
                    173: 
                    174: b.  There are new bindable commands to search the history for the string of
                    175:     characters between the beginning of the line and the point
                    176:     (history-substring-search-forward, history-substring-search-backward)
                    177: 
                    178: c.  Readline allows quoted strings as the values of variables when setting
                    179:     them with `set'.  As a side effect, trailing spaces and tabs are ignored
                    180:     when setting a string variable's value.
                    181: 
                    182: d.  The history library creates a backup of the history file when writing it
                    183:     and restores the backup on a write error.
                    184: 
                    185: e.  New application-settable variable: rl_filename_stat_hook: a function called
                    186:     with a filename before using it in a call to stat(2).  Bash uses it to
                    187:     expand shell variables so things like $HOME/Downloads have a slash
                    188:     appended.
                    189: 
                    190: f.  New bindable function `print-last-kbd-macro', prints the most-recently-
                    191:     defined keyboard macro in a reusable format.
                    192: 
                    193: g.  New user-settable variable `colored-stats', enables use of colored text
                    194:     to denote file types when displaying possible completions (colored analog
                    195:     of visible-stats).
                    196: 
                    197: h.  New user-settable variable `keyseq-timout', acts as an inter-character
                    198:     timeout when reading input or incremental search strings.
                    199: 
                    200: i.  New application-callable function: rl_clear_history. Clears the history list
                    201:     and frees all readline-associated private data.
                    202: 
                    203: j.  New user-settable variable, show-mode-in-prompt, adds a characters to the
                    204:     beginning of the prompt indicating the current editing mode.
                    205: 
                    206: k.  New application-settable variable: rl_input_available_hook; function to be
                    207:     called when readline detects there is data available on its input file
                    208:     descriptor.
                    209: 
                    210: l.  Readline calls an application-set event hook (rl_event_hook) after it gets
                    211:     a signal while reading input (read returns -1/EINTR but readline does not
                    212:     handle the signal immediately) to allow the application to handle or
                    213:     otherwise note it.
                    214: 
                    215: m.  If the user-settable variable `history-size' is set to a value less than
                    216:     0, the history list size is unlimited.
                    217: 
                    218: n.  New application-settable variable: rl_signal_event_hook; function that is
                    219:     called when readline is reading terminal input and read(2) is interrupted
                    220:     by a signal.  Currently not called for SIGHUP or SIGTERM.
1.1.1.2 ! misho     221: 
        !           222: -------------------------------------------------------------------------------
        !           223: This is a terse description of the new features added to readline-6.2 since
        !           224: the release of readline-6.1.
        !           225: 
        !           226: a.  The history library does not try to write the history filename in the
        !           227:     current directory if $HOME is unset.  This closes a potential security
        !           228:     problem if the application does not specify a history filename.
        !           229: 
        !           230: b.  New bindable variable `completion-display-width' to set the number of
        !           231:     columns used when displaying completions.
        !           232: 
        !           233: c.  New bindable variable `completion-case-map' to cause case-insensitive
        !           234:     completion to treat `-' and `_' as identical.
        !           235: 
        !           236: d.  There are new bindable vi-mode command names to avoid readline's case-
        !           237:     insensitive matching not allowing them to be bound separately.
        !           238: 
        !           239: e.  New bindable variable `menu-complete-display-prefix' causes the menu
        !           240:     completion code to display the common prefix of the possible completions
        !           241:     before cycling through the list, instead of after.
        !           242: 
        !           243: -------------------------------------------------------------------------------
        !           244: This is a terse description of the new features added to readline-6.1 since
        !           245: the release of readline-6.0.
        !           246: 
        !           247: New Features in Readline
        !           248: 
        !           249: a.  New bindable function: menu-complete-backward.
        !           250: 
        !           251: b.  In the vi insertion keymap, C-n is now bound to menu-complete by default,
        !           252:     and C-p to menu-complete-backward.
        !           253: 
        !           254: c.  When in vi command mode, repeatedly hitting ESC now does nothing, even
        !           255:     when ESC introduces a bound key sequence.  This is closer to how
        !           256:     historical vi behaves.
        !           257: 
        !           258: d.  New bindable function: skip-csi-sequence.  Can be used as a default to
        !           259:     consume key sequences generated by keys like Home and End without having
        !           260:     to bind all keys.
        !           261: 
        !           262: e.  New application-settable function: rl_filename_rewrite_hook.  Can be used
        !           263:     to rewite or modify filenames read from the file system before they are
        !           264:     compared to the word to be completed.
        !           265: 
        !           266: f.  New bindable variable: skip-completed-text, active when completing in the
        !           267:     middle of a word.  If enabled, it means that characters in the completion
        !           268:     that match characters in the remainder of the word are "skipped" rather
        !           269:     than inserted into the line.
        !           270: 
        !           271: g.  The pre-readline-6.0 version of menu completion is available as
        !           272:     "old-menu-complete" for users who do not like the readline-6.0 version.
        !           273: 
        !           274: h.  New bindable variable: echo-control-characters.  If enabled, and the
        !           275:     tty ECHOCTL bit is set, controls the echoing of characters corresponding
        !           276:     to keyboard-generated signals.
        !           277: 
        !           278: i.  New bindable variable: enable-meta-key.  Controls whether or not readline
        !           279:     sends the smm/rmm sequences if the terminal indicates it has a meta key
        !           280:     that enables eight-bit characters.
        !           281: 
        !           282: -------------------------------------------------------------------------------
        !           283: This is a terse description of the new features added to readline-6.0 since
        !           284: the release of readline-5.2.
        !           285: 
        !           286: New Features in Readline
        !           287: 
        !           288: a.  A new variable, rl_sort_completion_matches; allows applications to inhibit
        !           289:     match list sorting (but beware: some things don't work right if
        !           290:     applications do this).
        !           291: 
        !           292: b.  A new variable, rl_completion_invoking_key; allows applications to discover
        !           293:     the key that invoked rl_complete or rl_menu_complete.
        !           294: 
        !           295: c.  The functions rl_block_sigint and rl_release_sigint are now public and
        !           296:     available to calling applications who want to protect critical sections
        !           297:     (like redisplay).
        !           298: 
        !           299: d.  The functions rl_save_state and rl_restore_state are now public and
        !           300:     available to calling applications; documented rest of readline's state
        !           301:     flag values.
        !           302: 
        !           303: e.  A new user-settable variable, `history-size', allows setting the maximum
        !           304:     number of entries in the history list.
        !           305: 
        !           306: f.  There is a new implementation of menu completion, with several improvements
        !           307:     over the old; the most notable improvement is a better `completions
        !           308:     browsing' mode.
        !           309: 
        !           310: g.  The menu completion code now uses the rl_menu_completion_entry_function
        !           311:     variable, allowing applications to provide their own menu completion
        !           312:     generators.
        !           313: 
        !           314: h.  There is support for replacing a prefix  of a pathname with a `...' when
        !           315:     displaying possible completions.  This is controllable by setting the
        !           316:     `completion-prefix-display-length' variable.  Matches with a common prefix
        !           317:     longer than this value have the common prefix replaced with `...'.
        !           318: 
        !           319: i.  There is a new `revert-all-at-newline' variable.  If enabled, readline will
        !           320:     undo all outstanding changes to all history lines when `accept-line' is
        !           321:     executed.
        !           322: 
        !           323: -------------------------------------------------------------------------------
        !           324: This is a terse description of the new features added to readline-5.2 since
        !           325: the release of readline-5.1.
        !           326: 
        !           327: New Features in Readline
        !           328: 
        !           329: a.  Calling applications can now set the keyboard timeout to 0, allowing
        !           330:     poll-like behavior.
        !           331: 
        !           332: b.  The value of SYS_INPUTRC (configurable at compilation time) is now used as
        !           333:     the default last-ditch startup file.
        !           334: 
        !           335: c.  The history file reading functions now allow windows-like \r\n line
        !           336:     terminators.
        !           337: 
        !           338: -------------------------------------------------------------------------------
        !           339: This is a terse description of the new features added to readline-5.1 since
        !           340: the release of readline-5.0.
        !           341: 
        !           342: New Features in Readline
        !           343: 
        !           344: a.  The key sequence sent by the keypad `delete' key is now automatically   
        !           345:     bound to delete-char.
        !           346: 
        !           347: b.  A negative argument to menu-complete now cycles backward through the
        !           348:     completion list.
        !           349: 
        !           350: c.  A new bindable readline variable:  bind-tty-special-chars.  If non-zero,
        !           351:     readline will bind the terminal special characters to their readline
        !           352:     equivalents when it's called (on by default).
        !           353: 
        !           354: d.  New bindable command: vi-rubout.  Saves deleted text for possible  
        !           355:     reinsertion, as with any vi-mode `text modification' command; `X' is bound
        !           356:     to this in vi command mode.
        !           357: 
        !           358: e.  If the rl_completion_query_items is set to a value < 0, readline never
        !           359:     asks the user whether or not to view the possible completions.
        !           360: 
        !           361: f.  New application-callable auxiliary function, rl_variable_value, returns
        !           362:     a string corresponding to a readline variable's value.
        !           363: 
        !           364: g.  When parsing inputrc files and variable binding commands, the parser
        !           365:     strips trailing whitespace from values assigned to boolean variables
        !           366:     before checking them.
        !           367: 
        !           368: h.  A new external application-controllable variable that allows the LINES
        !           369:     and COLUMNS environment variables to set the window size regardless of
        !           370:     what the kernel returns.
        !           371: 
        !           372: 
        !           373: -------------------------------------------------------------------------------
        !           374: This is a terse description of the new features added to readline-5.0 since
        !           375: the release of readline-4.3.
        !           376: 
        !           377: New Features in Readline
        !           378: 
        !           379: a.  History expansion has a new `a' modifier equivalent to the `g' modifier
        !           380:     for compatibility with the BSD csh.
        !           381: 
        !           382: b.  History expansion has a new `G' modifier equivalent to the BSD csh `g'
        !           383:     modifier, which performs a substitution once per word.
        !           384: 
        !           385: c.  All non-incremental search operations may now undo the operation of
        !           386:     replacing the current line with the history line.
        !           387: 
        !           388: d.  The text inserted by an `a' command in vi mode can be reinserted with
        !           389:     `.'.
        !           390: 
        !           391: e.  New bindable variable, `show-all-if-unmodified'.  If set, the readline
        !           392:     completer will list possible completions immediately if there is more
        !           393:     than one completion and partial completion cannot be performed.
        !           394: 
        !           395: f.  There is a new application-callable `free_history_entry()' function.
        !           396: 
        !           397: g.  History list entries now contain timestamp information; the history file
        !           398:     functions know how to read and write timestamp information associated
        !           399:     with each entry.
        !           400: 
        !           401: h.  Four new key binding functions have been added:
        !           402: 
        !           403:        rl_bind_key_if_unbound()
        !           404:        rl_bind_key_if_unbound_in_map()
        !           405:        rl_bind_keyseq_if_unbound()
        !           406:        rl_bind_keyseq_if_unbound_in_map()
        !           407: 
        !           408: i.  New application variable, rl_completion_quote_character, set to any
        !           409:     quote character readline finds before it calls the application completion
        !           410:     function.
        !           411: 
        !           412: j.  New application variable, rl_completion_suppress_quote, settable by an   
        !           413:     application completion function.  If set to non-zero, readline does not
        !           414:     attempt to append a closing quote to a completed word.
        !           415:     
        !           416: k.  New application variable, rl_completion_found_quote, set to a non-zero
        !           417:     value if readline determines that the word to be completed is quoted.
        !           418:     Set before readline calls any application completion function.
        !           419: 
        !           420: l.  New function hook, rl_completion_word_break_hook, called when readline
        !           421:     needs to break a line into words when completion is attempted.  Allows
        !           422:     the word break characters to vary based on position in the line.
        !           423: 
        !           424: m.  New bindable command: unix-filename-rubout.  Does the same thing as
        !           425:     unix-word-rubout, but adds `/' to the set of word delimiters.
        !           426: 
        !           427: n.  When listing completions, directories have a `/' appended if the
        !           428:     `mark-directories' option has been enabled.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>