Chris Hanson [Wed, 10 Feb 1993 22:29:57 +0000 (22:29 +0000)]
Fix typo.
Chris Hanson [Wed, 10 Feb 1993 16:24:39 +0000 (16:24 +0000)]
Eliminate unfortunate loop that caused error to be signalled by C-x
C-c when there were active processes.
Chris Hanson [Wed, 10 Feb 1993 16:21:07 +0000 (16:21 +0000)]
Change to match changes to "tagutl".
Chris Hanson [Wed, 10 Feb 1993 16:20:46 +0000 (16:20 +0000)]
Repaginate.
Arthur Gleckler [Tue, 9 Feb 1993 03:35:32 +0000 (03:35 +0000)]
Make FORWARD-TOPIC and FORWARD-UP-TOPIC move to the first topic marker
if the point starts before the first topic marker. Previously, they
had no effect in that case.
Chris Hanson [Tue, 9 Feb 1993 00:25:45 +0000 (00:25 +0000)]
Completely new generator, interface is upwards compatible with
previous design. RANDOM accepts any real number as a modulus
argument. MAKE-RANDOM-STATE additionally accepts an exact integer,
which it uses as a seed to create the state, thus providing a simple
means of producing a specific random state.
Guillermo J. Rozas [Sat, 6 Feb 1993 06:03:53 +0000 (06:03 +0000)]
Bug in last edit.
Guillermo J. Rozas [Sat, 6 Feb 1993 05:46:32 +0000 (05:46 +0000)]
Make it work under Utah BSD 4.3
Guillermo J. Rozas [Sat, 6 Feb 1993 05:43:53 +0000 (05:43 +0000)]
Eta convert fclose to make it work with incompatible system-dependent
declarations.
Guillermo J. Rozas [Sat, 6 Feb 1993 05:36:04 +0000 (05:36 +0000)]
Make it work under BSD.
Guillermo J. Rozas [Sat, 6 Feb 1993 05:33:20 +0000 (05:33 +0000)]
Fix bad conditionalization for HP hardware. The definitions are
hardware dependent, not OS dependent.
Guillermo J. Rozas [Sat, 6 Feb 1993 05:31:18 +0000 (05:31 +0000)]
Add support for BSD, with no uname call to find model, and with
heaps potentially non-executable.
Guillermo J. Rozas [Sat, 6 Feb 1993 05:28:52 +0000 (05:28 +0000)]
Avoid duplicate include of setjmp.h
Guillermo J. Rozas [Sat, 6 Feb 1993 05:27:26 +0000 (05:27 +0000)]
Eta convert read and write to avoid conflicting system-dependent
declarations.
Nick Papadakis [Tue, 2 Feb 1993 22:14:51 +0000 (22:14 +0000)]
Swapped order of arguments to x_default_color, was preferring "Emacs"
resources over "edwin" resources.
Jason Wilson [Tue, 2 Feb 1993 06:02:46 +0000 (06:02 +0000)]
Fix bug by which RTL INVOCATION:PRIMITIVEs had the wrong frame size
for combinations with partial open codings in tail-recursive position.
Guillermo J. Rozas [Tue, 2 Feb 1993 04:38:46 +0000 (04:38 +0000)]
Add a pseudo-suspend to DOS that invokes a subshell.
Guillermo J. Rozas [Tue, 2 Feb 1993 04:33:20 +0000 (04:33 +0000)]
Add a pseudo-suspend that invokes a subshell.
Chris Hanson [Mon, 1 Feb 1993 01:31:05 +0000 (01:31 +0000)]
Signal an error for (/ 1/2 0).
Chris Hanson [Fri, 29 Jan 1993 23:05:40 +0000 (23:05 +0000)]
Procedure that tests to see if window needs redisplay must first call
%NOTICE-WINDOW-CHANGES. A reply of #T permits the use of direct
output, which is wrong if there are buffer changes that haven't yet
been written to the screen.
Chris Hanson [Fri, 29 Jan 1993 16:42:08 +0000 (16:42 +0000)]
Simplify FILE-CASE clauses -- otherwise CREF generates *two* entries
for every binding in each duplicated file.
Chris Hanson [Fri, 29 Jan 1993 16:31:20 +0000 (16:31 +0000)]
Fix bug that caused THREAD-TIMER-RUNNING? to be true when the timer
was not running. Redesign code that toggles the timer on and off to
make it simpler (and less likely to fail).
Guillermo J. Rozas [Fri, 29 Jan 1993 12:54:51 +0000 (12:54 +0000)]
Handle xscheme-control-g-disabled-p correctly from non-interaction
buffers.
Stephen Adams [Fri, 29 Jan 1993 00:11:17 +0000 (00:11 +0000)]
Add (runtime pathname nt)
Stephen Adams [Fri, 29 Jan 1993 00:07:22 +0000 (00:07 +0000)]
Change MS-NT to NT.
Stephen Adams [Thu, 28 Jan 1993 23:21:21 +0000 (23:21 +0000)]
Add dummy variants for Windows NT.
Guillermo J. Rozas [Wed, 27 Jan 1993 19:27:11 +0000 (19:27 +0000)]
Add record types.
Jason Wilson [Mon, 25 Jan 1993 18:03:55 +0000 (18:03 +0000)]
I finished up the new tag stuff. Now you can include other tags files
as in emacs 19. Also, you can optionally cause tags-search and
tags-query-replace to kill buffers that aren't modified.
Nick Papadakis [Mon, 25 Jan 1993 00:45:45 +0000 (00:45 +0000)]
Use the right package this time ... arrgh.
Nick Papadakis [Sun, 24 Jan 1993 23:26:50 +0000 (23:26 +0000)]
Just get-time, not unix/get-time
Chris Hanson [Sun, 24 Jan 1993 07:06:43 +0000 (07:06 +0000)]
UNDO-DONE! shouldn't enable undo if it is disabled.
Gerald Jay Sussman [Sun, 24 Jan 1993 03:47:34 +0000 (03:47 +0000)]
updated floppy.scm to conform to the change made by Bill
RCS file: /scheme/src/runtime/RCS/unxprm.scm,v
Working file: unxprm.scm
head: 1.23
branch:
locks: strict
access list:
symbolic names:
RELEASE_7_1_0: 1.9
RELEASE_7_0_0: 1.4
comment leader: ";;; "
keyword substitution: kv
total revisions: 23; selected revisions: 23
description:
----------------------------
revision 1.23
date: 1993/01/12 19:01:28; author: gjr; state: Exp; lines: +2 -5
Remove current-file-time, replaced by get-time.
Chris Hanson [Sat, 23 Jan 1993 06:55:45 +0000 (06:55 +0000)]
Redesign interaction between line-end translation and changes/undo
recording. New model suppresses changes and undo only for output
translations, since these translations will be undone before the
redisplay occurs. When inserting a file into the buffer, it does not
affect the change recording at all, since the translation won't exceed
the boundaries of the inserted text, and it's desirable to notice the
change of inserting the file in the usual way.
Nick Papadakis [Sat, 23 Jan 1993 00:08:05 +0000 (00:08 +0000)]
Added conditionalization for REAL_IS_DEFINED_DOUBLE in array.h
scmsig wants this set to 1, all other schemes (in particular, scm6003)
want this set to 0.
Jason Wilson [Wed, 20 Jan 1993 21:03:10 +0000 (21:03 +0000)]
I added the ability to use more than one TAGS file at one time using
the command visit-additional-tags-file. Still to be done is to handle
included TAGS files ala Emacs 19.
Chris Hanson [Wed, 20 Jan 1993 10:35:53 +0000 (10:35 +0000)]
Fix fencepost error in code that places zero byte at end of string.
Chris Hanson [Wed, 20 Jan 1993 10:06:09 +0000 (10:06 +0000)]
SET-STRING-MAXIMUM-LENGTH! was locking interrupts with
INTERRUPT-MASK/GC-OK. Needless to say, GC is *not* OK during this
operation.
Chris Hanson [Wed, 20 Jan 1993 06:59:51 +0000 (06:59 +0000)]
Change DYNAMIC-WIND (and FLUID-LET) so that they record the state
transition *after* the "before" thunk is executed. This guarantees
that both the "before" and "after" thunks execute in the dynamic state
outside of the DYNAMIC-WIND call.
**** NB: ****
The particular change I made is buggy: I only changed how the state
transition is performed in the normal case. If you throw out from the
"during" thunk and then throw back in, the "before" thunk will be
executed after its state transition is recorded. In order to fix this
properly, the state space structure must be extended to include
information indicating whether the transition should be recorded
before or after the transition thunk.
Chris Hanson [Wed, 20 Jan 1993 04:50:16 +0000 (04:50 +0000)]
Fix typo in PROMPT-FOR-CONFIRMATION operation on REPL mode console
port.
Chris Hanson [Tue, 19 Jan 1993 05:33:49 +0000 (05:33 +0000)]
Always grow string by fixed ratio to guarantee constant amortized cost
of insertion.
Guillermo J. Rozas [Mon, 18 Jan 1993 16:50:09 +0000 (16:50 +0000)]
Fix bug: write-substring was not growing the accumulator enough when
the substring was larger than the size of the accumulator.
Chris Hanson [Mon, 18 Jan 1993 05:38:49 +0000 (05:38 +0000)]
Don't call APPLY with a list that could potentially be huge. Instead
allocate a string buffer and fill it; grow buffer when necessary and
accept that there will be some memory waste.
Chris Hanson [Mon, 18 Jan 1993 05:21:57 +0000 (05:21 +0000)]
When printing error messages, put some large limits on the output to
prevent the error message from causing secondary lossage.
Chris Hanson [Mon, 18 Jan 1993 05:13:19 +0000 (05:13 +0000)]
Don't lose completely when second arg to APPLY is too long to fit in
stack.
Chris Hanson [Sat, 16 Jan 1993 05:15:30 +0000 (05:15 +0000)]
Must run %NOTICE-WINDOW-CHANGES! when doing direct update so that any
changes to the window are handled correctly.
Chris Hanson [Wed, 13 Jan 1993 09:53:15 +0000 (09:53 +0000)]
(DIRECTORY-PATHNAME-AS-FILE "/") can't represent its result properly,
because null strings aren't allowed as pathname names. So just return
the argument in this case and hope for the best.
Chris Hanson [Wed, 13 Jan 1993 08:48:49 +0000 (08:48 +0000)]
Install new version of RANDOM from slib1c4.
Chris Hanson [Wed, 13 Jan 1993 00:18:46 +0000 (00:18 +0000)]
Implement calls to SET-INTERRUPT-ENABLES! by jumping to
assembly-language hook in compiled code interface.
Gerald Jay Sussman [Tue, 12 Jan 1993 23:31:46 +0000 (23:31 +0000)]
Fix print-graphics to work with all windows
Guillermo J. Rozas [Tue, 12 Jan 1993 23:12:24 +0000 (23:12 +0000)]
Add support for handling end-of-file ^Z under DOS.
Brian A. LaMacchia [Tue, 12 Jan 1993 22:06:34 +0000 (22:06 +0000)]
Fix boundary error involving changes indexes in buffer and narrowing.
Chris Hanson [Tue, 12 Jan 1993 21:42:09 +0000 (21:42 +0000)]
Define new procedure X-GRAPHICS/WINDOW-ID, which returns the resource
ID of the X window.
Chris Hanson [Tue, 12 Jan 1993 21:41:22 +0000 (21:41 +0000)]
Add new primitive X-WINDOW-ID.
Gerald Jay Sussman [Tue, 12 Jan 1993 21:30:52 +0000 (21:30 +0000)]
Fix bugs in consistent assignment of coordinate limits.
Chris Hanson [Tue, 12 Jan 1993 21:13:22 +0000 (21:13 +0000)]
Fix spelling error that has been corrected in Edwin.
Guillermo J. Rozas [Tue, 12 Jan 1993 20:47:07 +0000 (20:47 +0000)]
Initial revision
Guillermo J. Rozas [Tue, 12 Jan 1993 19:52:14 +0000 (19:52 +0000)]
Redo time primitives to provide conversion between decoded and encoded
times.
Guillermo J. Rozas [Tue, 12 Jan 1993 19:50:08 +0000 (19:50 +0000)]
Add syscall_mktime.
Guillermo J. Rozas [Tue, 12 Jan 1993 19:49:25 +0000 (19:49 +0000)]
Add CURRENT-FILE-TIME as an alias for ENCODED-TIME.
Guillermo J. Rozas [Tue, 12 Jan 1993 19:47:26 +0000 (19:47 +0000)]
Remove current-file-time.
Guillermo J. Rozas [Tue, 12 Jan 1993 19:06:35 +0000 (19:06 +0000)]
Import get-time.
Guillermo J. Rozas [Tue, 12 Jan 1993 19:05:30 +0000 (19:05 +0000)]
Replace unix/current-file-time with get-time.
Guillermo J. Rozas [Tue, 12 Jan 1993 19:01:28 +0000 (19:01 +0000)]
Remove current-file-time, replaced by get-time.
Guillermo J. Rozas [Tue, 12 Jan 1993 19:01:03 +0000 (19:01 +0000)]
Remove current-file-time, not in use.
Chris Hanson [Tue, 12 Jan 1993 10:50:41 +0000 (10:50 +0000)]
Change method by which a window recomputes its starting point. Old
method did too much work, particularly in cases where the line was
very long. New method searches backward -- exactly once -- to start
of first line that will appear in the window, and saves all of the
resulting information in the window for later use.
Unfortunately, there are many other problems with the algorithms that
make them dependent on line length, and it's a lot of work to fix
them. To fix it write will involve rewriting the display update code,
yet again, and I'm not in the mood for that right now. However, it
won't be necessary to rewrite the starting-point computation when that
does finally happen.
Chris Hanson [Tue, 12 Jan 1993 10:45:46 +0000 (10:45 +0000)]
Fix two bugs in M-x recover-file.
Chris Hanson [Tue, 12 Jan 1993 10:45:20 +0000 (10:45 +0000)]
Calls to SET-INTERRUPT-ENABLES! primitive should be compiled as traps
to the special assembly hook. This change requires microcode 11.126.
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.