Chris Hanson [Sat, 9 Jan 1993 09:44:40 +0000 (09:44 +0000)]
Fix several instances of SET-INTERRUPT-ENABLES! that appear in value
position but are intended to be for effect.
Chris Hanson [Sat, 9 Jan 1993 09:41:30 +0000 (09:41 +0000)]
Add a SHRINK-LENGTH field to the group data structure, and change the
allocation of groups to initialize them to a fixed minimum size.
Chris Hanson [Sat, 9 Jan 1993 01:16:25 +0000 (01:16 +0000)]
This version of Edwin requires microcode 11.125 or later. It should
be compiled with compiler version 4.97 or later, because its
performance depends on several new compiler optimizations.
* Major redesign of low-level insert and delete operations, the
primary aim of which is to greatly improve performance:
* Insert, delete, and move-point daemons flushed.
* Limits that track the extent of the changes to a buffer between
display updates are now per-buffer rather than per-window. The
windows are notified of these changes at display update rather
than while the changes are occurring.
* Calls to the primitives STRING-ALLOCATE, SUBSTRING-MOVE-RIGHT!,
and SUBSTRING-MOVE-LEFT! have been replaced with calls to Scheme
procedures that perform the same functions. These new procedures
avoid the cost of calling C code, which can be very high. The
latter two procedures use heuristics to decide whether it is
better to call the C primitive or to do the operation in line.
* The undo subsystem has been reimplemented. The new implementation
is a near-exact translation of the new undo code from Emacs 18.56.
The major features of this implementation are: unlimited undo memory
for one undo step; significantly better performance; and much
clearer implementation, reducing probability of bugs (the previous
implementation is known to be buggy).
* The new implementation of STRING-ALLOCATE fixes the bug that caused
the editor to go into an infinite loop when reading in a file that
was too large to fit in memory.
* The MOVE-TO-COLUMN procedure had a problem because it was searching
for the end of line in order to pass it as a limit argument to
GROUP-COLUMN->INDEX. In some cases, particularly paragraph fill,
this changed a linear algorithm to quadratic. This has been fixed
by changing GROUP-COLUMN->INDEX to stop at end of line even if that
is not the given limit.
* The DEFINE-NAMED-STRUCTURE macro has been changed to create an
object like those created by DEFINE-STRUCTURE, so that the printer
and pretty-printer will treat them in the usual way.
* The LINE-START and LINE-END procedures have been rewritten to make
them faster. These procedures are used in many places in the editor
and must be fast. The associated MOVE-VERTICALLY has been
eliminated as it's no longer used.
* TRANSPOSE-THINGS has been rewritten so that it doesn't leave
permanent marks attached to the buffer.
* HORIZONTAL-SPACE-START and HORIZONTAL-SPACE-END no longer look for
the nearest line limit, since that was completely unnecessary. The
procedures that they call automatically stop at the line edge.
* BOCHSER code, which was not being loaded, is now also not compiled
since it depended on the move-point daemons.
Guillermo J. Rozas [Fri, 8 Jan 1993 23:34:45 +0000 (23:34 +0000)]
Remove fossil?
Chris Hanson [Fri, 8 Jan 1993 04:54:36 +0000 (04:54 +0000)]
Add entries for "scmsig" and "everything".
Chris Hanson [Fri, 8 Jan 1993 00:05:44 +0000 (00:05 +0000)]
Fixed bug in inline expander for OBJECT-TYPE?.
Added inline expanders for primitives: GET-INTERRUPT-ENABLES,
SET-INTERRUPT-ENABLES!, PRIMITIVE-GET-FREE, PRIMITIVE-INCREMENT-FREE,
HEAP-AVAILABLE?, and SET-STRING-LENGTH!. Some of these primitives are
new with microcode version 11.125.
For the MIPS, added support for open-coding of FIXNUM-LSH.
Chris Hanson [Thu, 7 Jan 1993 23:53:55 +0000 (23:53 +0000)]
Added new primitives: PRIMITIVE-GET-FREE, PRIMITIVE-INCREMENT-FREE,
HEAP-AVAILABLE?.
Chris Hanson [Thu, 7 Jan 1993 21:00:23 +0000 (21:00 +0000)]
Export REPL history variables needed to make new histories and install
them in an active REPL.
Guillermo J. Rozas [Tue, 5 Jan 1993 15:57:36 +0000 (15:57 +0000)]
Change cc-vector structures to be of type vector so they can be
dumped.
Chris Hanson [Mon, 4 Jan 1993 07:42:38 +0000 (07:42 +0000)]
Don't allow the same name to be interned twice in the same block.
Chris Hanson [Sat, 2 Jan 1993 07:33:39 +0000 (07:33 +0000)]
Complete redesign of environment model and declaration parser. This
was prompted by a bug that had been present since the original design;
the bug was inherent in the design, hence the need for a redesign.
The new design has the following features:
* The old design used a two-level environment model for the top-level
environment, in which imported and global bindings were
distinguished from top-level bindings appearing in the file. The
new design uses a single top-level environment for all bindings.
This is the change fixed the bug, but introduced performance
problems because the two-level design had a special hack for the
global environment; the performance problems were fixed by:
* The new design uses a hash table to hold the bindings in (the model
of) an environment frame when the number of bindings exceeds a
preset threshold. This allows very large environment frames to have
reasonable access times, while avoiding the time and space overhead
of the hash table for small environment frames; typically only a few
frames will use the hash table mechanism. The hash table uses open
addressing with double hashing.
* Because ".ext" files are internal data structures that are written
to a file, old ".ext" files are incompatible with the new scode
optimizer. In order to prevent lossage, ".ext" files have a new
format, which contains a version number. When the scode optimizer
encounters an old ".ext" file, or a new one with the wrong version
number, it will emit a warning and ignore it.
* Code that supported special "error combinations" has been removed,
since these are no longer used.
* Code that generated ".unf" files has been removed. Since several
procedures with semi-public interfaces accept arguments or return
values relating to these files, the procedures ignore such arguments
and return dummy values. The global variable SFU? has been
eliminated.
Guillermo J. Rozas [Wed, 30 Dec 1992 16:35:14 +0000 (16:35 +0000)]
Add definition compression for the C back end.
Guillermo J. Rozas [Wed, 30 Dec 1992 16:32:12 +0000 (16:32 +0000)]
Add scode/sequence?
Guillermo J. Rozas [Wed, 30 Dec 1992 14:13:45 +0000 (14:13 +0000)]
Changes for the C back end.
Guillermo J. Rozas [Wed, 30 Dec 1992 12:59:29 +0000 (12:59 +0000)]
Add < and expt to the set of back-end-specific operations.
Guillermo J. Rozas [Tue, 29 Dec 1992 20:57:10 +0000 (20:57 +0000)]
Some changes for the C back end.
Guillermo J. Rozas [Tue, 29 Dec 1992 19:51:57 +0000 (19:51 +0000)]
Some changes for the C back end.
Chris Hanson [Mon, 28 Dec 1992 22:03:26 +0000 (22:03 +0000)]
Change implementation of INVOCATION:APPLY to use the new
shortcircuit_apply code in the microcode interface. This change
requires version 11.124 of the microcode.
Chris Hanson [Mon, 28 Dec 1992 22:01:22 +0000 (22:01 +0000)]
Tweak fixnum rules slightly so that previous implementation of logical
fixnum operations will work correctly.
Chris Hanson [Mon, 28 Dec 1992 21:57:56 +0000 (21:57 +0000)]
Fix think-o in implementation of object-type inliner.
Chris Hanson [Mon, 28 Dec 1992 21:56:38 +0000 (21:56 +0000)]
Fix bug in code that recognizes named structures. Don't integrate
predicates, since compiler is unable to take advantage of this
integration in the situations that need it.
Chris Hanson [Mon, 28 Dec 1992 21:54:43 +0000 (21:54 +0000)]
Install shortcircuit_apply support for MIPS.
Chris Hanson [Wed, 23 Dec 1992 18:14:20 +0000 (18:14 +0000)]
Fix think-o from the past.
Chris Hanson [Wed, 23 Dec 1992 13:42:11 +0000 (13:42 +0000)]
Change ".binf" to ".bci".
Chris Hanson [Wed, 23 Dec 1992 13:36:44 +0000 (13:36 +0000)]
Fix typo in previous change.
Chris Hanson [Tue, 22 Dec 1992 22:05:32 +0000 (22:05 +0000)]
Integrate structure predicates.
Chris Hanson [Tue, 22 Dec 1992 21:00:55 +0000 (21:00 +0000)]
Define CALL-WITH-VALUES to be an alias for WITH-VALUES.
Chris Hanson [Tue, 22 Dec 1992 02:20:45 +0000 (02:20 +0000)]
Add open-coding for FIXNUM-NOT, FIXNUM-AND, FIXNUM-ANDC, FIXNUM-OR,
and FIXNUM-XOR.
Chris Hanson [Thu, 17 Dec 1992 00:05:34 +0000 (00:05 +0000)]
Change reference from UNPARSER-METHOD? to PROCEDURE? so that cold-load
will work with interpreted code. The error test this implements isn't
very important anyway.
Guillermo J. Rozas [Wed, 16 Dec 1992 12:24:01 +0000 (12:24 +0000)]
Fix bug. Dependents are not nodes, but targets.
Guillermo J. Rozas [Wed, 16 Dec 1992 12:12:18 +0000 (12:12 +0000)]
Fix bug in last edit.
Guillermo J. Rozas [Wed, 16 Dec 1992 09:20:06 +0000 (09:20 +0000)]
Improve the open coder for OBJECT-TYPE?
Guillermo J. Rozas [Wed, 16 Dec 1992 09:18:30 +0000 (09:18 +0000)]
Generalize an identity from value-class=datum to
value-class=immediate.
Guillermo J. Rozas [Wed, 16 Dec 1992 07:32:20 +0000 (07:32 +0000)]
Bug in object-type open coding!
Chris Hanson [Tue, 15 Dec 1992 20:37:46 +0000 (20:37 +0000)]
Turn off stack-overflow interrupt in both WITHIN-CONTINUATION and
CALL-WITH-CURRENT-CONTINUATION, since they eliminate the condition.
Guillermo J. Rozas [Tue, 15 Dec 1992 19:54:38 +0000 (19:54 +0000)]
Add blank line to make comparing with DOS version easier.
Guillermo J. Rozas [Fri, 11 Dec 1992 21:43:41 +0000 (21:43 +0000)]
Fix bug in finding init file.
Teach the edwin filename parser about ~ on DOS.
Arthur Gleckler [Fri, 11 Dec 1992 04:21:56 +0000 (04:21 +0000)]
Set up (EDWIN DEBUGGER) package to handle my (older) version of the
debugger by linking some variables the new debugger doesn't need.
Chris Hanson [Thu, 10 Dec 1992 20:23:57 +0000 (20:23 +0000)]
Change primitives that set window colors to use the window's colormap
instead of the display's default colormap.
Chris Hanson [Thu, 10 Dec 1992 19:11:20 +0000 (19:11 +0000)]
Ignore BadWindow errors generated by XDestroyWindow.
Chris Hanson [Thu, 10 Dec 1992 01:34:17 +0000 (01:34 +0000)]
Change record support to understand that a record is applicable only
when its type is a record whose length field has been specially
marked.
Chris Hanson [Thu, 10 Dec 1992 01:25:52 +0000 (01:25 +0000)]
Change record support to understand that a record is applicable only
when its type is a record whose length field has been specially
marked.
Chris Hanson [Wed, 9 Dec 1992 23:38:37 +0000 (23:38 +0000)]
Further restrict application of records: the type that appears in the
record's zeroth slot must be a record whose length field is marked
with TC_TRUE. This allows a record to have another record be its type
without having to reserve the application-procedure slot in all
records.
Chris Hanson [Wed, 9 Dec 1992 23:29:40 +0000 (23:29 +0000)]
Add inline coding for OBJECT-TYPE, PRIMITIVE-OBJECT-TYPE, and
PRIMITIVE-OBJECT-SET-TYPE. Change coding for %RECORD-LENGTH to not
assume that record length has type code zero.
Chris Hanson [Tue, 8 Dec 1992 04:18:47 +0000 (04:18 +0000)]
DEFINE-STRUCTURE no longer allows NAMED to be used with an argument
unless TYPE is given.
Chris Hanson [Mon, 7 Dec 1992 22:15:13 +0000 (22:15 +0000)]
Initial revision
Chris Hanson [Mon, 7 Dec 1992 22:14:10 +0000 (22:14 +0000)]
Add scmsig to "everything" rule.
Chris Hanson [Mon, 7 Dec 1992 22:07:36 +0000 (22:07 +0000)]
Initial revision
Chris Hanson [Mon, 7 Dec 1992 19:07:03 +0000 (19:07 +0000)]
Rewrite record package and DEFINE-STRUCTURE macro to use the record
datatype rather than vectors.
Chris Hanson [Mon, 7 Dec 1992 18:42:23 +0000 (18:42 +0000)]
Constant-fold STRING->SYMBOL.
Chris Hanson [Sat, 5 Dec 1992 03:33:24 +0000 (03:33 +0000)]
Finish job of defining TC_RECORD type code.
Chris Hanson [Fri, 4 Dec 1992 03:17:47 +0000 (03:17 +0000)]
Undo last change: a substring cannot be upper or lower case unless
there is at least one character of that case in it. Rewrite
SUBSTRING-CAPITALIZED? to fix the bug properly.
Chris Hanson [Fri, 4 Dec 1992 03:04:54 +0000 (03:04 +0000)]
Undo last change: a substring cannot be upper or lower case unless
there is at least one character of that case in it. Rewrite
SUBSTRING-CAPITALIZED? to fix the bug properly.
Nick Papadakis [Fri, 4 Dec 1992 01:25:35 +0000 (01:25 +0000)]
Added GJS's signal-processing version of scheme
Nick Papadakis [Thu, 3 Dec 1992 22:06:46 +0000 (22:06 +0000)]
Changed REAL_IS_DEFINED_DOUBLE to 1 for GJS
Added scmsig to ymakefile for GJS
Nick Papadakis [Thu, 3 Dec 1992 22:03:07 +0000 (22:03 +0000)]
Changed REAL_IS_DEFINED_DOUBLE to 1
Guillermo J. Rozas [Thu, 3 Dec 1992 21:56:27 +0000 (21:56 +0000)]
Upate to match changed interface to __divq and __remq.
Arthur Gleckler [Thu, 3 Dec 1992 21:51:34 +0000 (21:51 +0000)]
Made MAYBE-WRITE-ENCRYPTED-FILE depend on ENABLE-ENCRYPTED-FILES
instead of ENABLE-COMPRESSED-FILES.
Chris Hanson [Thu, 3 Dec 1992 19:18:07 +0000 (19:18 +0000)]
Add support for RECORD objects.
Chris Hanson [Thu, 3 Dec 1992 03:20:52 +0000 (03:20 +0000)]
Make explicitly-named structures have explicit type.
Chris Hanson [Wed, 2 Dec 1992 20:30:00 +0000 (20:30 +0000)]
Add support for RECORD objects.
Chris Hanson [Wed, 2 Dec 1992 20:21:45 +0000 (20:21 +0000)]
Add support for RECORD objects.
Chris Hanson [Wed, 2 Dec 1992 19:44:25 +0000 (19:44 +0000)]
Add support for RECORD objects.
Chris Hanson [Wed, 2 Dec 1992 19:36:41 +0000 (19:36 +0000)]
Add support for RECORD objects.
Chris Hanson [Wed, 2 Dec 1992 19:29:50 +0000 (19:29 +0000)]
Add support for TC_RECORD data type.
Chris Hanson [Wed, 2 Dec 1992 18:35:10 +0000 (18:35 +0000)]
Add support for TC_RECORD data type.
Chris Hanson [Wed, 2 Dec 1992 18:11:14 +0000 (18:11 +0000)]
Add support for TC_RECORD data type.
Chris Hanson [Wed, 2 Dec 1992 18:08:39 +0000 (18:08 +0000)]
Fix fencepost error in paragraph fill.
Guillermo J. Rozas [Tue, 1 Dec 1992 22:07:38 +0000 (22:07 +0000)]
Fix unbound variable.
Guillermo J. Rozas [Tue, 1 Dec 1992 22:07:02 +0000 (22:07 +0000)]
Missed edit.
Guillermo J. Rozas [Tue, 1 Dec 1992 14:53:10 +0000 (14:53 +0000)]
replace-match has its second argument negated in Edwin when compared
to GNU Emacs.
Guillermo J. Rozas [Tue, 1 Dec 1992 14:52:03 +0000 (14:52 +0000)]
Change the definition of substring-lower-case? and
substring-upper-case? so that strings with no upper (lower) case
characters match. The previous definition required at least one lower
(upper) case character. Thus the empty string (or a string with only
non-alphabetic characters) is both lower and upper case, while it was
previously neither.
Guillermo J. Rozas [Tue, 1 Dec 1992 14:47:07 +0000 (14:47 +0000)]
Switch the order of the capitalized and uppercased tests in
replace-match. It only makes a difference on strings of length 1, in
which case it preferes to capitalize.
Guillermo J. Rozas [Tue, 1 Dec 1992 14:12:44 +0000 (14:12 +0000)]
Fix case replacement decision.
Chris Hanson [Mon, 30 Nov 1992 19:58:43 +0000 (19:58 +0000)]
Allow X primitives to accept nonnegative integers as pixel values.
Guillermo J. Rozas [Mon, 30 Nov 1992 03:04:03 +0000 (03:04 +0000)]
Fix missing type in header for bit_string_set.
Guillermo J. Rozas [Mon, 30 Nov 1992 03:00:18 +0000 (03:00 +0000)]
Add bit_string_set and extern allocate_bit_string and clear_bit_string
for the C back end.
Guillermo J. Rozas [Mon, 30 Nov 1992 01:06:23 +0000 (01:06 +0000)]
Increase heap size for sf.
Brian A. LaMacchia [Sun, 29 Nov 1992 20:22:37 +0000 (20:22 +0000)]
Fixed bug in prompt-for-password.
Guillermo J. Rozas [Sun, 29 Nov 1992 14:23:01 +0000 (14:23 +0000)]
Fix references to string->symbol in loading sequence to use the
primitive.
Guillermo J. Rozas [Wed, 25 Nov 1992 06:38:46 +0000 (06:38 +0000)]
Fix CALL-WITH-CURRENT-CONTINUATION to be tail-recursive.
Guillermo J. Rozas [Wed, 25 Nov 1992 06:27:09 +0000 (06:27 +0000)]
Fix CALL-WITH-CURRENT-CONTINUATION to be tail-recursive.
Improve WITHIN-CONTROL-POINT to delay copying the stack.
Guillermo J. Rozas [Wed, 25 Nov 1992 05:54:53 +0000 (05:54 +0000)]
GCC version 2.2.2 uses non-closure function pointers.
Chris Hanson [Wed, 25 Nov 1992 01:41:33 +0000 (01:41 +0000)]
Can't use set-variable-default-value! during editor startup.
Chris Hanson [Wed, 25 Nov 1992 00:22:36 +0000 (00:22 +0000)]
Fix unused variable warning.
Guillermo J. Rozas [Tue, 24 Nov 1992 23:14:38 +0000 (23:14 +0000)]
Update to match new interface to find_symbol.
Guillermo J. Rozas [Tue, 24 Nov 1992 23:14:23 +0000 (23:14 +0000)]
Change the interface to find_symbol to allow char pointers to be
looked up in the obarray, thus there is no need to cons if there
is already a symbol by the name being checked.
Arthur Gleckler [Tue, 24 Nov 1992 23:03:53 +0000 (23:03 +0000)]
Replace mark-temporary-right-inserting-copy with mark-temporary-copy.
Chris Hanson [Tue, 24 Nov 1992 22:27:15 +0000 (22:27 +0000)]
Add several commands: rcs-ci-locked-files, rcs-list-locked-files,
rcs-diff, and rcs-log. Also add new variable rcs-append-output, which
controls what happens to output to previous rcs commands when a new
one is executed.
Chris Hanson [Tue, 24 Nov 1992 21:14:45 +0000 (21:14 +0000)]
Add variable shell-file-name and initialize it properly.
Arthur Gleckler [Tue, 24 Nov 1992 04:28:08 +0000 (04:28 +0000)]
Better solution to previous fix.
Arthur Gleckler [Tue, 24 Nov 1992 04:03:25 +0000 (04:03 +0000)]
Fix bug that makes sort commands sometimes duplicate the text in the
sorted region.
Guillermo J. Rozas [Tue, 24 Nov 1992 01:12:26 +0000 (01:12 +0000)]
Close interrupt window in disk-restore: The continuation dumped must
have no interrupts enabled until after it resets the fixed objects
vector (containing the interrupt-handlers vector).
Guillermo J. Rozas [Tue, 24 Nov 1992 01:10:35 +0000 (01:10 +0000)]
Close interrupt window.
CScheme dumps an Scode combination whose operator is the continuation
object.
On restore, it checks for interrupts at the apply point, and if an
interrupt is taken, the fixed objects vector (containing the
interrupt-handlers vector) is invalid because it has not been set yet.
Guillermo J. Rozas [Tue, 24 Nov 1992 01:07:30 +0000 (01:07 +0000)]
Setup_Interrupt is now careful to make sure that there is a valid
interrupt vector.
Guillermo J. Rozas [Mon, 23 Nov 1992 21:38:03 +0000 (21:38 +0000)]
Remove debuge and update the list.
Guillermo J. Rozas [Mon, 23 Nov 1992 21:15:33 +0000 (21:15 +0000)]
Fix bug in last edit -- DEFINE-VARIABLE-LOCAL-VALUE! is not a macro.
Guillermo J. Rozas [Mon, 23 Nov 1992 04:41:17 +0000 (04:41 +0000)]
``i'' response to interactive interrupt handler clears the hard
attention counter.
Guillermo J. Rozas [Mon, 23 Nov 1992 04:25:50 +0000 (04:25 +0000)]
Fix typo.
Guillermo J. Rozas [Mon, 23 Nov 1992 04:18:59 +0000 (04:18 +0000)]
Add interrupt flag to console_read to prevent infinite loop in interactive
interrupt handler.