diff --git a/NEWS b/NEWS index e5aa09c86..50485e0d3 100644 --- a/NEWS +++ b/NEWS @@ -8,21 +8,36 @@ Changes since Guile 1.3: * Changes to the stand-alone interpreter -** New options interface: readline-options, -readline-enable, readline-disable, readline-set! +** Command-line editing is enhanced. -** Command line history is now restored from and saved to file +If you have a sufficiently recent version of the GNU readline library +installed on your system, Guile will use it to read expressions +interactively. -If readline is used and the readline option `history-file' is enabled, -the command line history is read from file when the interpreter is -entered, and written to file on exit. The filename used can be -specified with the environment variable GUILE_HISTORY. Default file -name is "$HOME/.guile_history". Nothing special happens if errors -occur during read or write. +You can now use the readline-options interface to control readline's +behavior. You can now control the readline library's behavior by +changing the options listed below. -** Command line history length can now be customized. -Command line history length is now controlled by the readline option -`history-length'. Default is 200 lines. + (readline-enable 'history-file) + Tell readline to record your commands in a file when you exit + Guile, and restore them when you restart Guile. By default, Guile + saves commands to `$HOME/.guile_history', but if the + `GUILE_HISTORY' environment variable is set, Guile will use its + value as the name of the history file. + + If Guile is unable to save or restore lines from the history file, + the operation is simply not performed; the user is not notified. + + (readline-disable 'history-file) + Tell Guile not to save or restore command history. + + (readline-set! history-length N) + Tell Guile to save at most N lines of command history. + + (readline-set! bounce-parens N) + Tell Guile to indicate the matching opening parenthesis when you + type a closing parenthesis, by resting the cursor on it for N + milliseconds. If N is zero, do not highlight opening parethesis. ** All builtins now print as primitives. Previously builtin procedures not belonging to the fundamental subr diff --git a/THANKS b/THANKS index e5c7bd039..02ceded6d 100644 --- a/THANKS +++ b/THANKS @@ -1,5 +1,9 @@ The Guile core distribution: +Michael Livshin implemented Dybvig's Guardians. +Ken Raeburn made Guile use `const' in some appropriate places. +Greg Harvey made readline highlight matching parenthesis. + Bug reports and fixes from: Etienne Bernard @@ -16,7 +20,6 @@ Bug reports and fixes from: Nicolas Neuss Thien-Thi Nguyen Richard Polton - Ken Raeburn Telford Tendys Bernard Urban Jim Wilson diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 65d52e54f..9670bbcbb 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,21 @@ +1999-02-06 Jim Blandy + + Readline paren matching from Greg Harvey, with modifications from + Mikael Djurfeldt: + + * readline.c (in_readline, reentry_barrier_mutex): Make these + static. + + * readline.c: #include and "iselect.h", so we can + control how long we're paused, and threads will run while we're + paused. + (match_paren, find_matching_paren, init_bouncing_parens): New + functions. + (scm_init_readline): Call init_bouncing_parens. + (scm_readline_opts): Add the bounce-parens option. + * readline.h (SCM_READLINE_BOUNCE_PARENS): New readline option. + (SCM_N_READLINE_OPTIONS): Adjust. + 1999-02-06 Jim Blandy All the below are changes from Ken Raeburn, to get Guile to use