Chris Hanson [Tue, 12 Jan 1993 10:44:20 +0000 (10:44 +0000)]
Disable open-coding of SET-INTERRUPT-ENABLES! -- it can't work without
a good deal of hair, and in that case it's probably not desirable.
Chris Hanson [Tue, 12 Jan 1993 10:43:22 +0000 (10:43 +0000)]
Add assembly hook to implement SET-INTERRUPT-ENABLES! primitive.
Chris Hanson [Sun, 10 Jan 1993 10:54:43 +0000 (10:54 +0000)]
New code to grow and shrink buffers guarantees that the average time
of inserting or deleting each character is bounded by a constant. The
user is given some control over this behavior by means of the editor
variable BUFFER-REALLOCATION-FACTOR, which allows a space-time
tradeoff between the average insertion/deletion time and the average
load factor of the buffer. BUFFER-REALLOCATION-FACTOR may be given a
local value in a given buffer to change that buffer's allocation
without affecting other buffers.
Chris Hanson [Sun, 10 Jan 1993 10:48:22 +0000 (10:48 +0000)]
Change GC undo truncation code to use buffer-local values of limit
variables.
Chris Hanson [Sun, 10 Jan 1993 10:47:06 +0000 (10:47 +0000)]
Fix typo.
Chris Hanson [Sun, 10 Jan 1993 10:46:38 +0000 (10:46 +0000)]
Typed characters are now grouped properly by undo regardless of their
position on the line.
Chris Hanson [Sun, 10 Jan 1993 10:43:16 +0000 (10:43 +0000)]
Class and object data structures are now tagged as if by
DEFINE-STRUCTURE.
Chris Hanson [Sat, 9 Jan 1993 20:38:24 +0000 (20:38 +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 10:33:57 +0000 (10:33 +0000)]
GAP-ALLOCATION-EXTRA no longer defined.
Chris Hanson [Sat, 9 Jan 1993 09:46:54 +0000 (09:46 +0000)]
Define a new condition type that is signalled when STRING-ALLOCATE is
unable to allocate the string due to a lack of memory. Set up a
condition handler for this type in the file-reading code so that the
error message tells the user that the file is too big to fit in
memory.
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.