session) (ice-9 threads) (ice-9 regex) from guile-user only if
top-repl is called. This makes startup time for scripts 30% of
what it was before... Removed redundant code for loading of
readline.
* boot-9.scm (read-path-list-notation,
read-path-list-notation-warning): Deleted.
Don't register read-path-list-notation-warning as a reader for
objects starting with '#/'.
system. Here's a simple version for the old module system:
* boot-9.scm (module-observers, module-weak-observers,
module-observer-id, set-module-observers!,
set-module-observer-id!): New accessors.
(module-type): Added slots `observers', `weak-observers' and
`observer-id'.
(module-observe, module-observe-weak, module-unobserve,
module-modified!): New procedures.
(module-make-local-var!, module-add!, module-remove!,
module-clear!, module-define!, module-use!): Call module-modified!.
support.
* guile-readline: New directory, see ChangeLog there.
* configure.in: Cause configure to descend into guile-readline
dir.
* Makefile.am: Likewise for make.
* NEWS: Explain how to activate the readline support.
* configure, Makefile.in, aclocal.m4: Regenerated.
at multiple calls to read.
(promtp2): Variable for continued-lines prompt.
(make-readline-port): Use prompt2.
(set-readline-prompt!): New optional arg which sets
continued-lines prompt.
that was introduced to fix the $ problem:
* expect.scm (expect): call the match proc an extra time at end
of file and set the eof? argument appropriately. call
expect-eof-proc only if the last call didn't match.
* expect.scm (expect-strings): change port to eof? in match proc.
* expect.scm (expect-regexec): take an eof indicator as an argument
instead of a port.
know why it was missing. also don't peek for end of lines
unless expect-strings-exec-flags contains regexp/noteol.
(expect-strings-exec-flags): initialise to regexp/noteol.
* Makefile.in: Regenerated.
* popen.scm: applied fixes from Greg Harvey. use a guardian
and a gc-thunk so that cleanup is done if a pipe is garbage
collected or closed with close-port. use a weak hash-table instead of
an alist.
* boot-9.scm (reopen-file): deleted.
* popen.scm (open-output-pipe, open-input-pipe): moved from
boot-9.scm.
* popen.scm: new file.
(expect-strings): use peek-char to get the next char. this has
the advantage of getting the handling of $ "correct", but the
disadvantage of needing to get (and maybe block for) an extra character
from the port when it may not be needed. hence:
* (expect-strings-exec-flags): new variable/parameter, supplies
flags for regexp-exec. if this includes regexp/noteol, then
automatic regexp/noteol handling (requiring an extra peeked char)
is enabled. default is regexp/noteol.
* (expect-strings-compile-flags): new variable/parameter, supplies
flags for make-regexp. default is regexp/newline.
* * expect.scm (expect): call the match proc with an extra char,
peeked from the stream.
(expect-strings): build a match proc which takes the extra char.
(expect-regexec): take an extra arg "eof-next?" and use it
to decide whether the regexp/noteol flag should be added.
(error-catching-loop): likewise.
* boot-9.scm (scm-style-repl): -read: don't call
consume-trailing-whitespace if val is eof object. Allows
exiting repl with single control-D.
* boot-9.scm (error-catching-loop): don't force output within
error catching loop after quit received.
(top-repl): flush all ports when the repl terminates.
* boot-9.scm (error-catching-loop): flush all ports before
primitive exit if non-interactive.
force-output on current-error-port if interactive.
* boot-9.scm (reopen-file): deleted.
* popen.scm (open-output-pipe, open-input-pipe): moved from
boot-9.scm.
* popen.scm: new file.
(which could be dynamically linked in the future anyway).
* Makefile.am (ice9_sources): Don't list string-case.scm.
* Makefile.in: Regenerated.
* format.scm: Don't bother importing (ice-9 string-case).