Chris Hanson [Mon, 25 Oct 1993 19:06:50 +0000 (19:06 +0000)]
Reformatting to fit on page.
Chris Hanson [Mon, 25 Oct 1993 17:13:41 +0000 (17:13 +0000)]
Suppress loading messages -- these formerly were harmless because the
CMDL port soaked them up, now they signal errors.
Chris Hanson [Sat, 23 Oct 1993 03:01:17 +0000 (03:01 +0000)]
Numerous small changes.
Chris Hanson [Thu, 21 Oct 1993 15:04:31 +0000 (15:04 +0000)]
Fix typos.
Chris Hanson [Thu, 21 Oct 1993 14:52:45 +0000 (14:52 +0000)]
* New port operation WRITE-SELF is like PRINT-SELF except that it uses
STANDARD-UNPARSER-METHOD rather than UNPARSER/STANDARD-METHOD.
* Rewrite instances of PRINT-SELF using WRITE-SELF. Rewrite instances
of UNPARSER/STANDARD-METHOD using STANDARD-UNPARSER-METHOD.
Chris Hanson [Thu, 21 Oct 1993 13:57:33 +0000 (13:57 +0000)]
* Implement new procedure STANDARD-UNPARSER-METHOD. This has a
less-idiosyncratic interface than UNPARSER/STANDARD-METHOD. Uses of
the latter should be replaced with the former.
* Implement new procedure WITH-CURRENT-UNPARSER-STATE which calls its
second argument with the port from its first. The other components
of the state are fluid-bound so that they become the defaults for
calls to WRITE and DISPLAY.
* GUARANTEE-UNPARSER-STATE and GUARANTEE-UNPARSER-TABLE now take an
addition argument, the name of the procedure testing its argument.
Chris Hanson [Thu, 21 Oct 1993 12:25:15 +0000 (12:25 +0000)]
Remove ERROR-OUTPUT-PORT.
Chris Hanson [Thu, 21 Oct 1993 12:14:20 +0000 (12:14 +0000)]
Remove ERROR-OUTPUT-PORT.
Chris Hanson [Thu, 21 Oct 1993 11:57:46 +0000 (11:57 +0000)]
* Define new standard ports to replace nearly all instances of
NEAREST-CMDL/PORT. When a CMDL starts, it binds all of these ports
to the CMDL port; but they can each be rebound separately without
affecting the CMDL port.
(ERROR-OUTPUT-PORT) errors and warnings
(NOTIFICATION-OUTPUT-PORT) load messages, etc.
(TRACE-OUTPUT-PORT) output from TRACE
(INTERACTION-I/O-PORT) prompting
* Implement IGNORE-ERRORS procedure. Change WRITE-CONDITION-REPORT so
that it ignores errors that occur while writing the report, but only
if the condition being reported is an error condition.
* Implement GUARANTEE-I/O-PORT.
Chris Hanson [Thu, 21 Oct 1993 11:49:56 +0000 (11:49 +0000)]
* Define new standard ports to replace nearly all instances of
NEAREST-CMDL/PORT. When a CMDL starts, it binds all of these ports
to the CMDL port; but they can each be rebound separately without
affecting the CMDL port.
(ERROR-OUTPUT-PORT) errors and warnings
(NOTIFICATION-OUTPUT-PORT) load messages, etc.
(TRACE-OUTPUT-PORT) output from TRACE
(INTERACTION-I/O-PORT) prompting
* Implement IGNORE-ERRORS procedure. Change WRITE-CONDITION-REPORT so
that it ignores errors that occur while writing the report, but only
if the condition being reported is an error condition.
* Implement GUARANTEE-I/O-PORT.
Chris Hanson [Thu, 21 Oct 1993 04:59:00 +0000 (04:59 +0000)]
Change the evaluation commands to bind the default input port to a
dummy port that signals an error if it is read from.
Chris Hanson [Thu, 21 Oct 1993 04:58:12 +0000 (04:58 +0000)]
Instantiate the editor CMDL with a dummy I/O port that signals an
error if it is read from or written to. Define the CHILD-PORT
operation on that CMDL so that spawning a another CMDL under the
editor CMDL (e.g. by DEBUG-INTERNAL-ERRORS? being true) will cause the
child to use the port that was in effect when the editor was started.
Chris Hanson [Thu, 21 Oct 1993 04:55:23 +0000 (04:55 +0000)]
Since REPL/START now binds the current input and output ports, there's
no reason for them to be bound a second time here.
Chris Hanson [Thu, 21 Oct 1993 04:52:50 +0000 (04:52 +0000)]
Change MAKE-CMDL to allow the I/O port to be specified as #F, which
means to inherit from the parent. Change PUSH-CMDL to use this
specification. The parent can override this by defining a CHILD-PORT
operation.
Also change CMDL/START to bind the current input and output ports.
Chris Hanson [Wed, 20 Oct 1993 22:05:02 +0000 (22:05 +0000)]
Grumble; fix stupid thinko from last change.
Chris Hanson [Wed, 20 Oct 1993 21:48:27 +0000 (21:48 +0000)]
Grumble; fix stupid thinko from last change.
Chris Hanson [Wed, 20 Oct 1993 21:22:23 +0000 (21:22 +0000)]
Allow parent CMDL to override the port used for spawning children.
Guillermo J. Rozas [Wed, 20 Oct 1993 20:49:57 +0000 (20:49 +0000)]
Replace Constant_Top with Stack_Bottom in out-of-line code for
set-interrupt-enables.
Chris Hanson [Tue, 19 Oct 1993 23:46:58 +0000 (23:46 +0000)]
Various minor edits.
Chris Hanson [Tue, 19 Oct 1993 08:17:39 +0000 (08:17 +0000)]
Generalize interface to hash tables so that users can construct
efficient address-based hashing procedures.
Chris Hanson [Tue, 19 Oct 1993 08:06:33 +0000 (08:06 +0000)]
Document the address-hashing facilities for hash tables. Change the
documentation of the PROMPT-FOR-COMMAND- procedures to indicate that
they print the REP level number.
Chris Hanson [Tue, 19 Oct 1993 08:03:11 +0000 (08:03 +0000)]
Document the address-hashing facilities for hash tables. Change the
documentation of the PROMPT-FOR-COMMAND- procedures to indicate that
they print the REP level number.
Chris Hanson [Tue, 19 Oct 1993 07:16:30 +0000 (07:16 +0000)]
Generalize interface to hash tables so that users can construct
efficient address-based hashing procedures.
Chris Hanson [Mon, 18 Oct 1993 23:19:30 +0000 (23:19 +0000)]
Don't invoke variable assignment daemons if the editor is not running.
Chris Hanson [Mon, 18 Oct 1993 22:51:14 +0000 (22:51 +0000)]
Don't do STRING-TRIM on PROMPT-FOR-COMMAND- strings.
Chris Hanson [Sun, 17 Oct 1993 11:16:34 +0000 (11:16 +0000)]
Change Constant_Top to Stack_Bottom in set_interrupt_enables. This
was necessitated by recent changes to the microcode.
Guillermo J. Rozas [Sat, 16 Oct 1993 17:59:23 +0000 (17:59 +0000)]
Initial revision
Guillermo J. Rozas [Sat, 16 Oct 1993 17:57:43 +0000 (17:57 +0000)]
Add hasthb and rbtree options and remove base/{hashtb,rbtree}
Guillermo J. Rozas [Sat, 16 Oct 1993 17:56:21 +0000 (17:56 +0000)]
Add rbtree option.
Chris Hanson [Sat, 16 Oct 1993 12:17:49 +0000 (12:17 +0000)]
Fix fencepost bug.
Chris Hanson [Sat, 16 Oct 1993 11:07:21 +0000 (11:07 +0000)]
Fix typo in last change.
Chris Hanson [Sat, 16 Oct 1993 10:22:46 +0000 (10:22 +0000)]
Generate minibuffer message while automatically decompressing files.
Chris Hanson [Sat, 16 Oct 1993 10:11:21 +0000 (10:11 +0000)]
Change PROMPT-FOR-COMMAND-xxx port operations to take an additional
argument, which is a level number; (NEAREST-CMDL/LEVEL) is passed for
this argument.
Chris Hanson [Sat, 16 Oct 1993 08:48:11 +0000 (08:48 +0000)]
Document prompting procedures.
Chris Hanson [Sat, 16 Oct 1993 07:41:27 +0000 (07:41 +0000)]
Fix old typo.
Chris Hanson [Sat, 16 Oct 1993 07:34:43 +0000 (07:34 +0000)]
Prompting commands now do standard modifications to prompt strings
BEFORE passing them to custom operations; operations must compensate.
Chris Hanson [Sat, 16 Oct 1993 07:32:43 +0000 (07:32 +0000)]
Change prompting commands to do standard modifications to prompt
strings BEFORE passing them to custom operations.
Chris Hanson [Sat, 16 Oct 1993 06:33:09 +0000 (06:33 +0000)]
Restrict result of PROMPT-FOR-COMMAND-CHAR to be a graphic character.
Chris Hanson [Sat, 16 Oct 1993 06:02:08 +0000 (06:02 +0000)]
Perform prompting differently: always use the current CMDL level as
the level in the modeline, and recognize DEBUG and WHERE prompts as
needing suppression.
Chris Hanson [Sat, 16 Oct 1993 05:59:35 +0000 (05:59 +0000)]
Perform prompting differently: always send the current CMDL level as
part of the prompt, and allow a new form of prompt that prints stuff
in the Scheme buffer.
Chris Hanson [Sat, 16 Oct 1993 05:57:46 +0000 (05:57 +0000)]
Recognize patterned prompts that should print in the Scheme buffer.
Jason Wilson [Sat, 16 Oct 1993 05:31:51 +0000 (05:31 +0000)]
I examples for the list-transform-mumble functions.
Chris Hanson [Sat, 16 Oct 1993 04:56:45 +0000 (04:56 +0000)]
Fix typo.
Chris Hanson [Fri, 15 Oct 1993 23:50:20 +0000 (23:50 +0000)]
Clarify handling of run lights for inferior-REPL buffers. There is
now a "global" REPL buffer that is responsible for driving the
"global" run light. Run lights of individual REPL buffers are handled
separately.
Chris Hanson [Fri, 15 Oct 1993 12:50:15 +0000 (12:50 +0000)]
When evaluate-in-inferior-repl is true, distinguish between
evaluations done in inferior REPL buffers and evaluations done in
other buffers (and the minibuffer); change the latter so that the
value of the evaluation is printed in the minibuffer, just as it would
have been if evaluate-in-inferior-repl were false. Furthermore, if
there is no inferior REPL, M-x eval-expression now works anyway.
Chris Hanson [Fri, 15 Oct 1993 10:26:42 +0000 (10:26 +0000)]
* Breakpoints have been reimplemented to use the condition system. A
breakpoint is now a condition, and the continuation of that
condition is the continuation of the breakpoint. (The debugger
will not show the internal frames of the breakpoint any more.)
* The procedure BREAKPOINT now takes a condition as an additional
optional argument.
* The environment of a breakpoint may be specified as the symbol
CONTINUATION-ENVIRONMENT, in which case the breakpoint signaller
will attempt to extract an environment from the continuation. If
that fails, it uses the REPL environment, and prints a message
informing the user that it was unable to find an appropriate
environment for the breakpoint.
* CMDL/START has been modified to detect the situation where the
thread starting the CMDL is not the owner of its port. Previously
this check was done only for errors. As a result of this change,
CONDITION-TYPE:DERIVED-THREAD-ERROR has been generalized to accept
any kind of condition, not just error conditions.
* The WRITE-RESULT output-port operation has been redefined to accept
an additional argument: the expression that was evaluated to produce
the value being printed. This expression is useful if the
CURRENT-EXPRESSION-CONTEXT operation is implemented; it is the key
needed to get the context information. As a result of this change,
HOOK/REPL-WRITE was redefined to accept the same additional
argument.
* A new procedure CURRENT-LOAD-PATHNAME has been defined. When a file
is being loaded, this procedure returns that file's pathname. At
other times, it signals an error of type CONDITION-TYPE:NOT-LOADING.
LOAD/PUSH-HOOK! has been changed to signal this error in the same
situation, rather than the anonymous error it signalled before.
Chris Hanson [Fri, 15 Oct 1993 10:01:09 +0000 (10:01 +0000)]
Handle eval-boundary frame when it is the first subproblem in the
continuation being debugged.
Chris Hanson [Fri, 15 Oct 1993 05:35:22 +0000 (05:35 +0000)]
Change special treatment of evaluate-in-inferior-repl and run-light
editor variables. These variables are now given buffer-local values
to disable the use of an inferior repl when either scheme-environment
or scheme-syntax-table is given a local binding that overrides the
default. Also, these automatic bindings are only performed if the
variables do not already have buffer-local bindings.
Chris Hanson [Fri, 15 Oct 1993 02:09:17 +0000 (02:09 +0000)]
* Editor variables can now define a procedure that will "normalize"
their values. The DEFINE-VARIABLE has been extended to allow the
specification of this normalization procedure to follow the
specification of a validity test.
* New procedure VARIABLE-LOCAL-VALUE? is true iff the given variable
is locally bound in the given buffer.
* Procedure VARIABLE-VALUE-VALID? has been eliminated.
Guillermo J. Rozas [Fri, 15 Oct 1993 00:13:50 +0000 (00:13 +0000)]
Fix broken #endif.
Chris Hanson [Thu, 14 Oct 1993 22:43:35 +0000 (22:43 +0000)]
* Editor variables can now define a procedure that will "normalize"
their values. The DEFINE-VARIABLE has been extended to allow the
specification of this normalization procedure to follow the
specification of a validity test.
* New procedure VARIABLE-LOCAL-VALUE? is true iff the given variable
is locally bound in the given buffer.
* Procedure VARIABLE-VALUE-VALID? has been eliminated.
Chris Hanson [Thu, 14 Oct 1993 22:42:46 +0000 (22:42 +0000)]
Eliminate random local variable bindings at file's end.
Guillermo J. Rozas [Thu, 14 Oct 1993 21:50:25 +0000 (21:50 +0000)]
Update date.
Guillermo J. Rozas [Thu, 14 Oct 1993 21:44:20 +0000 (21:44 +0000)]
Update date.
Guillermo J. Rozas [Thu, 14 Oct 1993 19:23:18 +0000 (19:23 +0000)]
Change Scheme memory layout and make constant space grow as needed
when things are purified.
Chris Hanson [Thu, 14 Oct 1993 10:41:01 +0000 (10:41 +0000)]
* Document FLONUM-UNPARSER-CUTOFF and RANDOM.
* Document many new file-system operations.
* Specify the condition-types of errors that are signalled, when those
errors are mentioned in the text.
* Merge the two indices into one.
Chris Hanson [Thu, 14 Oct 1993 10:13:58 +0000 (10:13 +0000)]
Allow MAKE-RANDOM-STATE to accept #T as an argument.
Chris Hanson [Thu, 14 Oct 1993 09:44:21 +0000 (09:44 +0000)]
Allow MAKE-RANDOM-STATE to accept #T as an argument.
Chris Hanson [Thu, 14 Oct 1993 06:42:03 +0000 (06:42 +0000)]
Rewrite "Input/Output" chapter to incorporate many changes that have
been implemented since the 7.1 release.
Chris Hanson [Wed, 13 Oct 1993 08:53:11 +0000 (08:53 +0000)]
Describe red-black trees. Fix and update description of
object-hashing mechanism. Plus many small fixes and updates
throughout.
Chris Hanson [Wed, 13 Oct 1993 07:40:50 +0000 (07:40 +0000)]
Fix definition of STRING-PAD-LEFT: it's supposed to truncate from the
left, not the right.
Chris Hanson [Wed, 13 Oct 1993 01:36:14 +0000 (01:36 +0000)]
*** empty log message ***
Chris Hanson [Wed, 13 Oct 1993 01:33:49 +0000 (01:33 +0000)]
Update documentation of hash tables to reflect new implementation.
Update node pointers and menus throughout the document.
Chris Hanson [Wed, 13 Oct 1993 00:01:31 +0000 (00:01 +0000)]
Eliminate another vestige of "base/hashtb".
Chris Hanson [Tue, 12 Oct 1993 23:52:08 +0000 (23:52 +0000)]
Fix think-o in last change.
Chris Hanson [Tue, 12 Oct 1993 22:19:14 +0000 (22:19 +0000)]
Change names:
hash-table/strong-constructor => strong-hash-table/constructor
hash-table/weak-constructor => weak-hash-table/constructor
Chris Hanson [Tue, 12 Oct 1993 07:30:29 +0000 (07:30 +0000)]
Eliminate "base/btree" and "base/hashtb" files. Rewrite code to use
runtime system's rb-tree and hash-table abstractions.
Chris Hanson [Tue, 12 Oct 1993 00:18:15 +0000 (00:18 +0000)]
Use SYMBOL<? defined by runtime system.
Chris Hanson [Tue, 12 Oct 1993 00:00:56 +0000 (00:00 +0000)]
SYMBOL=? was dumb mistake. Deleted.
Chris Hanson [Mon, 11 Oct 1993 23:31:45 +0000 (23:31 +0000)]
Eliminate BTREE data structure, replacing it with RB-TREE
implementation that is built in to the runtime system. This
replacement improves overall performance by a factor of three.
Chris Hanson [Mon, 11 Oct 1993 23:16:41 +0000 (23:16 +0000)]
New procedures SYMBOL=? and SYMBOL<?.
Chris Hanson [Mon, 11 Oct 1993 11:41:33 +0000 (11:41 +0000)]
Use new procedures RE-MATCH-DATA and SET-RE-MATCH-DATA! in an attempt
to guarantee that the match data isn't trashed by hidden calls to the
matching code. Use SAVE-EXCURSION to preserve the values of point and
mark when doing a recursive edit.
Chris Hanson [Mon, 11 Oct 1993 11:39:37 +0000 (11:39 +0000)]
Implement RE-MATCH-DATA and SET-RE-MATCH-DATA! to allow more general
control over match data.
Chris Hanson [Mon, 11 Oct 1993 11:37:49 +0000 (11:37 +0000)]
Implement SAVE-EXCURSION.
Chris Hanson [Mon, 11 Oct 1993 10:59:38 +0000 (10:59 +0000)]
* SET-HASH-TABLE/REHASH-THRESHOLD! now preserves the table's usable
size. Previously it preserved the physical size.
* SET-HASH-TABLE/REHASH-SIZE! now might reduce the table's usable size
if the new value adjusts the shrink threshold upwards.
* The REHASH-SIZE of a table is now used to adjust the usable size (as
documented). Previously it was adjusting the physical size.
* If an INITIAL-SIZE is given, the table's usable size is initialized
to that value. Subsequently, the usable size does not change until
the table's count exceeds it, at which point normal resizing
(growing AND shrinking) begins. If the INITIAL-SIZE is not given or
is #F, the table is initialized to some unspecified usable size and
resizes itself according to need.
Chris Hanson [Sun, 10 Oct 1993 10:08:20 +0000 (10:08 +0000)]
Implement MAKE-EQUAL-HASH-TABLE. Change EQV? hash tables to hold onto
numbers strongly; other pointer objects are still held weakly.
Chris Hanson [Sun, 10 Oct 1993 08:33:30 +0000 (08:33 +0000)]
Use fixnum arithmetic on vectors. Convert explicit type code tests to
predicates that open-code into the same thing.
Chris Hanson [Sun, 10 Oct 1993 07:50:46 +0000 (07:50 +0000)]
Arrange for CELL? to be open-coded by the compiler.
Chris Hanson [Sat, 9 Oct 1993 08:15:05 +0000 (08:15 +0000)]
HASH-TABLE/STRONG-CONSTRUCTOR and HASH-TABLE/WEAK-CONSTRUCTOR simplify
definition of most common constructors.
Chris Hanson [Sat, 9 Oct 1993 07:15:46 +0000 (07:15 +0000)]
Fix rehashing code to handle invalid keys correctly. Merge two places
that did rehashing into a single procedure.
Chris Hanson [Fri, 8 Oct 1993 23:30:39 +0000 (23:30 +0000)]
Fix think-o in previous change.
Chris Hanson [Fri, 8 Oct 1993 23:06:41 +0000 (23:06 +0000)]
Implement eqv?-hash tables.
Chris Hanson [Fri, 8 Oct 1993 11:03:27 +0000 (11:03 +0000)]
Implementation of new, very efficient EQ?-hash tables. These tables
use address hashing, automatically rehash themselves when garbage
collections move their keys around, and automatically clean themselves
as their keys are reclaimed by the GC. MAKE-EQ-HASH-TABLE is used to
create these tables; MAKE-OBJECT-HASH-TABLE and MAKE-SYMBOL-HASH-TABLE
are now aliases for this new procedure.
HASH-TABLE/SIZE now returns the "usable size" of the table, as claimed
by the documentation, rather than the "physical size".
New enumeration procedures HASH-TABLE->ALIST, HASH-TABLE/KEY-LIST, and
HASH-TABLE/DATUM-LIST.
Chris Hanson [Fri, 8 Oct 1993 09:03:43 +0000 (09:03 +0000)]
Modify RB-TREE->ALIST, RB-TREE/KEY-LIST, and RB-TREE/DATUM-LIST to be
iterative rather than recursive. Previously they were recursive with
a stack depth proportional to the length of the result; since balanced
trees are designed for use with very large collections this was
disastrous.
Chris Hanson [Thu, 7 Oct 1993 06:03:53 +0000 (06:03 +0000)]
Limit interrupt locking to minimum needed for single process. This
protects against interrupts occurring during a critical section, but
does not prevent concurrent access to the data structures.
Chris Hanson [Thu, 7 Oct 1993 04:30:40 +0000 (04:30 +0000)]
Complete rewrite of hash-table implementation to improve efficiency,
to implement shrinking of hash tables, and to fix amortization of
table growth.
Chris Hanson [Wed, 6 Oct 1993 21:17:13 +0000 (21:17 +0000)]
Add type-checking of tree arguments and interrupt locking. Add new
operations RB-TREE/KEY-LIST and RB-TREE/DATUM-LIST.
Chris Hanson [Wed, 6 Oct 1993 02:40:26 +0000 (02:40 +0000)]
Add new editor variable info-selection-key which implements
mouse-sensitive, highlighted regions for selecting Info nodes and menu
items.
Chris Hanson [Wed, 6 Oct 1993 01:50:22 +0000 (01:50 +0000)]
Export COMTAB-KEY? which is true of keys that can be placed in
comtabs.
Chris Hanson [Wed, 6 Oct 1993 01:34:58 +0000 (01:34 +0000)]
Export new Info editor variable. Also export Info commands.
Chris Hanson [Wed, 6 Oct 1993 00:59:18 +0000 (00:59 +0000)]
Define some procedures to hide the use of the text-property mechanism
for highlighting, local comtabs, and read-only regions.
Chris Hanson [Tue, 5 Oct 1993 23:05:56 +0000 (23:05 +0000)]
Major rewrite of text property mechanism. New implementation uses
red/black trees for properties within intervals, and uses red/black
balancing algorithm for intervals. Interface to editor is simplified,
as is the interface to the undo mechanism. The redisplay code no
longer uses the internals of the implementation, but instead uses
standard external entries. Adjacent intervals are now merged together
when their property sets are the same; property data are compared for
equality using EQV?.
Chris Hanson [Tue, 5 Oct 1993 22:57:50 +0000 (22:57 +0000)]
Load red/black tree implementation for use by text-property code.
Stephen Adams [Tue, 5 Oct 1993 16:30:12 +0000 (16:30 +0000)]
Fixed a few typos.
Chris Hanson [Tue, 5 Oct 1993 07:40:59 +0000 (07:40 +0000)]
Fix think-o: argument to SET-VISITED-PATHNAME might be #F.
Chris Hanson [Tue, 5 Oct 1993 07:17:24 +0000 (07:17 +0000)]
Initial revision
Chris Hanson [Tue, 5 Oct 1993 07:16:21 +0000 (07:16 +0000)]
Add red/black tree datatype option.
Stephen Adams [Mon, 4 Oct 1993 00:03:38 +0000 (00:03 +0000)]
*** empty log message ***
Stephen Adams [Thu, 30 Sep 1993 22:42:06 +0000 (22:42 +0000)]
Documentsed FOLD-LEFT and FOLD-RIGHT
Brian A. LaMacchia [Thu, 30 Sep 1993 19:22:54 +0000 (19:22 +0000)]
Made rmailsum.scm part of the default edwin system (i.e. it's no longer
an autoload) to fix a bug in RMAIL-CEASE-EDIT (rmail-summary-buffer was
unassigned if rmailsum.scm wasn't loaded).