Chris Hanson [Sat, 23 Mar 1991 01:17:36 +0000 (01:17 +0000)]
Supply missing case in unassigned variable trap.
Guillermo J. Rozas [Fri, 22 Mar 1991 06:28:50 +0000 (06:28 +0000)]
Move cache flushing code out of the 68040 region since it is needed
even when using the 68020 format.
Guillermo J. Rozas [Fri, 22 Mar 1991 06:27:54 +0000 (06:27 +0000)]
Move NOP macro from cmpint.c to cmpgc.h since it is also needed
elsewhere.
Guillermo J. Rozas [Fri, 22 Mar 1991 04:36:00 +0000 (04:36 +0000)]
Make it compile under HP-UX when
(COMPILER_PROCESSOR_TYPE == COMPILER_MC68040_TYPE).
Arthur Gleckler [Fri, 22 Mar 1991 02:03:36 +0000 (02:03 +0000)]
Initial revision
Chris Hanson [Fri, 22 Mar 1991 00:33:14 +0000 (00:33 +0000)]
* Each group object now has a unique associated buffer, and vice
versa. This allows low-level group operations to access
buffer-local variables associated with the group, such as
`tab-width'. New procedures: `group-buffer', `mark-buffer', and
`group-tab-width'.
* Handling of `truncate-lines' and `tab-width' buffer-local variables
is fixed.
* Extensive rewriting of redisplay, screen, and image code to squeeze
a little more performance from it.
* Eliminate truncating buffer output ports, because they were unused,
and depended on a feature that is no longer viable.
* Code to read files into buffers is redesigned. Previously it read
the file into a string, and then inserted the string into the
buffer. Now it reads the file directly into the buffer.
* Fix representation of characters in the range 200 to 377 octal.
Their images are now four-character octal sequences; previously the
images were the characters themselves.
Chris Hanson [Fri, 22 Mar 1991 00:27:48 +0000 (00:27 +0000)]
Add new procedure `extract-and-delete-string', which combines
`extract-string' and `delete-string' into a single operation.
Chris Hanson [Fri, 22 Mar 1991 00:24:02 +0000 (00:24 +0000)]
Slight tweak of `group-extract-string' to improve performance.
Chris Hanson [Fri, 22 Mar 1991 00:21:51 +0000 (00:21 +0000)]
Eliminate commented-out printing commands. These will be rewritten
later.
Guillermo J. Rozas [Thu, 21 Mar 1991 23:26:47 +0000 (23:26 +0000)]
Changes for MC68040.
Ansification of cmpint.c.
Guillermo J. Rozas [Thu, 21 Mar 1991 20:56:57 +0000 (20:56 +0000)]
Initial revision
Chris Hanson [Thu, 21 Mar 1991 09:42:38 +0000 (09:42 +0000)]
Add two new cases of foldable expressions, to permit certain string
operations to be folded.
Guillermo J. Rozas [Mon, 18 Mar 1991 21:08:58 +0000 (21:08 +0000)]
Fix bug in Clear_Memory introduced when constant space overwriting
hack was added. It was fixed in memmag.c, but not here!
Chris Hanson [Sat, 16 Mar 1991 08:14:23 +0000 (08:14 +0000)]
Some performance improvements in the redisplay code.
Chris Hanson [Sat, 16 Mar 1991 08:13:31 +0000 (08:13 +0000)]
Change screen object: remove operation/preempt-update? and replace it
with preemption-modulus and operation/discretionary-flush. Use this
to speed up inner loop of screen-update.
Chris Hanson [Sat, 16 Mar 1991 08:11:28 +0000 (08:11 +0000)]
Implement `predict-y-limited' and use it in place of `predict-y' to
guarantee that the bounds on predictions are related to the size of
the window rather than the size of the buffer.
Chris Hanson [Sat, 16 Mar 1991 00:03:58 +0000 (00:03 +0000)]
Initial revision
Chris Hanson [Sat, 16 Mar 1991 00:03:18 +0000 (00:03 +0000)]
This version of Edwin requires microcode version 11.69 and runtime
version 14.113.
* Implement Emacs-style subprocesses, RCS support, and Shell mode.
* Add code to M-x save-buffers-kill-edwin to request confirmation when
there are modified buffers or active processes.
* Change default handling of Scheme errors that occur while Edwin is
running (i.e. errors in the Edwin implementation): such errors are
now caught, causing a message to be written to the minibuffer, and
aborting the current command. This behavior may be overridden by
the Scheme variable `debug-internal-errors?' or the Edwin variable
`debug-on-internal-error'.
* Change M-x find-alternate-file not to signal an error if the current
buffer is not visiting a file.
* Change Scheme Interaction mode to have input history with same
commands as Shell mode; both are based on Olin Shivers' comint mode.
* Change buffer to have default-directory field that is separate from
the pathname and truename fields. All buffers have a default
directory, even if they aren't visiting files. Change the `cd'
command to change a buffer's default directory. New command `pwd'
shows you the default directory of the current buffer.
* Fix bug in `variable-local-value'. Rewrite implementation of local
variable bindings to improve performance.
* Change filename prompting and completion procedures to make them
more flexible and modular.
Chris Hanson [Fri, 15 Mar 1991 23:49:11 +0000 (23:49 +0000)]
Rewrite `invoke-variable-assignment-daemons!' to improve performance.
Chris Hanson [Fri, 15 Mar 1991 23:48:02 +0000 (23:48 +0000)]
Fix bug in redisplay: when narrowing or widening a buffer, its windows
sometimes got confused, which could produce various errors.
Chris Hanson [Fri, 15 Mar 1991 23:40:26 +0000 (23:40 +0000)]
Change most auto-loading files to be loaded when Edwin is built. Only
a few rarely used files remain auto-loading now.
Chris Hanson [Fri, 15 Mar 1991 23:34:14 +0000 (23:34 +0000)]
New procedures provide support for side-effects on permanent marks:
set-mark-index!
move-mark-to!
mark-right-inserting-copy
mark-left-inserting-copy
Chris Hanson [Fri, 15 Mar 1991 23:30:49 +0000 (23:30 +0000)]
Use `modulo' instead of `remainder' to force ring indexes into the
right range. `remainder' is incorrect if the argument is negative.
Chris Hanson [Fri, 15 Mar 1991 23:28:50 +0000 (23:28 +0000)]
Fix fencepost error in `re-compile-char-set'.
Chris Hanson [Fri, 15 Mar 1991 23:27:48 +0000 (23:27 +0000)]
Add operations to do regular-expression search and match on strings.
Chris Hanson [Fri, 15 Mar 1991 23:26:19 +0000 (23:26 +0000)]
* Fix `define-named-structure' to make the definitions of slot indices
integrable.
* Change `define-command' to give a meaningful debugging name to the
procedure that implements the command.
* Change `define-variable' to accept an optional fourth argument,
which is a value validity test.
Chris Hanson [Thu, 14 Mar 1991 23:03:12 +0000 (23:03 +0000)]
Change callers of `UX_select_input' to call it when the operating
system makes it available. Previously they attempted to predict when
it would be needed, which sometimes failed and is in general
unmodular.
Chris Hanson [Thu, 14 Mar 1991 10:14:24 +0000 (10:14 +0000)]
Delete all subprocesses when exiting Scheme.
Chris Hanson [Thu, 14 Mar 1991 04:29:29 +0000 (04:29 +0000)]
Add support to send SIGHUP (hangup) signal to subprocesses.
Use of this support requires microcode 11.68 or later (but if not used
older microcodes will work.)
Chris Hanson [Thu, 14 Mar 1991 04:27:13 +0000 (04:27 +0000)]
Don't print hash number for value that is a number.
Chris Hanson [Thu, 14 Mar 1991 04:26:42 +0000 (04:26 +0000)]
Fix typo.
Chris Hanson [Thu, 14 Mar 1991 04:23:26 +0000 (04:23 +0000)]
* New primitives `process-hangup' and `pty-master-hangup' support
sending of SIGHUP to subprocesses.
* Bug fixes for channel registering and selection.
Arthur Gleckler [Tue, 12 Mar 1991 23:18:51 +0000 (23:18 +0000)]
Include RESTART in the list of USER-GLOBAL-NAMES, variables available
after (DISABLE-LANGUAGE-FEATURES). This means students will have
access to it.
Chris Hanson [Mon, 11 Mar 1991 23:48:20 +0000 (23:48 +0000)]
Add new procedures for microcode 11.67: `channel-register',
`channel-unregister', `channel-registered?',
`channel-select-then-read', and `subprocess-global-status-tick'.
Chris Hanson [Mon, 11 Mar 1991 23:43:28 +0000 (23:43 +0000)]
* New primitives `channel-register', `channel-unregister', and
`channel-registered?' allow registering of a set of channels that is
to be watched for input at certain points.
* New primitive `channel-select-then-read' is like `channel-read', but
returns #T if the given channel has no input but some other
registered channel has some input instead.
* Primitive `x-display-process-events' now returns #T if there are no
input events but a registered channel has some input.
* Primitive `make-subprocess' now permits the "inheritance" of
Scheme's control terminal even when there is none.
* New primitive `process-status-sync-all' synchronizes the status of
all subprocesses: it returns #T iff some status has changed since
the last call to this primitive.
Chris Hanson [Mon, 11 Mar 1991 23:33:03 +0000 (23:33 +0000)]
Fix typo in handler for system-call errors.
Chris Hanson [Mon, 11 Mar 1991 23:31:21 +0000 (23:31 +0000)]
Fix typo in `error:divide-by-zero'.
Chris Hanson [Mon, 11 Mar 1991 01:15:02 +0000 (01:15 +0000)]
Change keyboard input to use special operations defined by the
display, rather than input ports with standard input operations.
Chris Hanson [Sun, 10 Mar 1991 22:43:02 +0000 (22:43 +0000)]
Change method by which port errors are signalled. Previously a
condition handler was bound for every I/O operation, which made I/O
painfully slow as each binding cost at least one hundred machine
instructions. Now, an I/O channel can have an associated port, and
when a system-call error occurs, the file descriptor associated with
the error is mapped back to the associated port, if any, and a port
error is signalled instead.
Chris Hanson [Sun, 10 Mar 1991 05:21:17 +0000 (05:21 +0000)]
Don't generate full cref by default.
Chris Hanson [Sun, 10 Mar 1991 01:19:33 +0000 (01:19 +0000)]
Add `syscall_select'.
Chris Hanson [Sat, 9 Mar 1991 21:33:43 +0000 (21:33 +0000)]
Subprocess support in this version requires microcode version 11.66 or
later.
* Subprocess abstraction changed to use microcode's new process status
synchronization. The procedure `subprocess-status' causes the
status information to be synchronized; subsequently
`subprocess-exit-reason' returns the reason corresponding to that
status. Likewise, the new procedure `subprocess-status-tick'
returns an object representing the time-stamp associated with this
status; when the status changes, the tick is changed to a new value.
Ticks are unique objects that are comparable using `eq?'; they are
not ordered.
* New procedure `subprocess-remove!' removes a property from a
subprocess (maybe this is a bad name?).
Chris Hanson [Sat, 9 Mar 1991 21:11:10 +0000 (21:11 +0000)]
* Process status now synchronized as follows: new primitive
`process-status-sync' freezes the status and exit reason, returning
#T if it has changed since the last synchronization, or #F if it
hasn't changed. Primitives `process-status' and `process-reason'
return the frozen status information but do not affect the
synchronization.
* Primitives `process-wait' and `process-continue-foreground' no
longer return a value. Previously they returned the process status.
Chris Hanson [Fri, 8 Mar 1991 19:50:44 +0000 (19:50 +0000)]
Permit a process to be deleted regardless of its status.
Chris Hanson [Fri, 8 Mar 1991 03:13:36 +0000 (03:13 +0000)]
Change procedures that return a process status to return just the
status and not the exit reason. Add new procedure
`subprocess-exit-reason' to get that information.
Chris Hanson [Fri, 8 Mar 1991 03:10:16 +0000 (03:10 +0000)]
Change `process-reason' primitive to return 0 when the process is
running, rather than signalling an error.
Chris Hanson [Fri, 8 Mar 1991 01:41:48 +0000 (01:41 +0000)]
Add new primitive `have-ptys?'.
Chris Hanson [Thu, 7 Mar 1991 04:31:16 +0000 (04:31 +0000)]
Retain `filename' and `arguments' fields of process in subprocess
structure, and provide accessors to get them. Add a properties list
to the subprocess structure.
Chris Hanson [Wed, 6 Mar 1991 23:03:37 +0000 (23:03 +0000)]
Don't show hash number when REPL value is an interned symbol.
Chris Hanson [Wed, 6 Mar 1991 22:57:31 +0000 (22:57 +0000)]
Fix stack-address primitives to work on machines that don't have
a trivial mapping between address and datum.
Chris Hanson [Wed, 6 Mar 1991 21:12:23 +0000 (21:12 +0000)]
Update for new error system and changes to REPL names.
Chris Hanson [Wed, 6 Mar 1991 18:39:26 +0000 (18:39 +0000)]
Don't load option files more than once.
Chris Hanson [Wed, 6 Mar 1991 05:14:50 +0000 (05:14 +0000)]
Add new procedure `bind-default-condition-handler'.
Chris Hanson [Wed, 6 Mar 1991 05:04:37 +0000 (05:04 +0000)]
Change an instance of `error:bad-range-argument' to
`error:divide-by-zero'.
Guillermo J. Rozas [Wed, 6 Mar 1991 03:46:47 +0000 (03:46 +0000)]
Fix typo and add ADD-PSEUDO-REGISTER-ALIAS!
Chris Hanson [Wed, 6 Mar 1991 01:01:23 +0000 (01:01 +0000)]
Fix bug: RTL generation of return statement whose value is a constant
or a trivially-closed procedure was incorrect. Part of the code
generation assumed that the value would be used directly, while
another part assumed that it would be stored in a register and then
the register would be referenced. Now both parts agree that the value
is used directly in this case.
Chris Hanson [Wed, 6 Mar 1991 00:32:59 +0000 (00:32 +0000)]
Fix typo in bignum =.
Guillermo J. Rozas [Tue, 5 Mar 1991 20:54:36 +0000 (20:54 +0000)]
Merge in some of Arthur's and Markf's comments. Tag the rest.
Guillermo J. Rozas [Sat, 2 Mar 1991 04:13:56 +0000 (04:13 +0000)]
Make call/cc more obvious.
Chris Hanson [Fri, 1 Mar 1991 23:25:15 +0000 (23:25 +0000)]
Don't generate full cref by default.
Chris Hanson [Fri, 1 Mar 1991 22:12:33 +0000 (22:12 +0000)]
Fix other input-buffer operations to recover gracefully when the
buffer's channel is closed.
Chris Hanson [Fri, 1 Mar 1991 21:22:10 +0000 (21:22 +0000)]
Fix other input-buffer operations to recover gracefully when the
buffer's channel is closed.
Chris Hanson [Fri, 1 Mar 1991 20:19:54 +0000 (20:19 +0000)]
* Add new procedure, CREF/GENERATE-CREF-UNUSUAL, that writes a ".cref"
file containing only the unusual cref information, such as unbound
variables or multiple definitions. Change
CREF/GENERATE-CONSTRUCTORS to call this procedure.
* Rewrite cref formatting code to improve performance. The
improvement seems only slight.
Chris Hanson [Fri, 1 Mar 1991 20:15:47 +0000 (20:15 +0000)]
*** empty log message ***
Chris Hanson [Fri, 1 Mar 1991 06:45:38 +0000 (06:45 +0000)]
Fix typo in last change.
Guillermo J. Rozas [Fri, 1 Mar 1991 02:06:56 +0000 (02:06 +0000)]
First draft is finished.
Chris Hanson [Fri, 1 Mar 1991 01:06:31 +0000 (01:06 +0000)]
* New subprocess design requires microcode 11.63 or later.
* New procedures `make-pipe', `weak-delq!'.
* Procedures for constructing generic I/O ports and for manipulating
I/O channels are now exported to the global environment.
* Automatically close input channels when EOF is encountered.
Chris Hanson [Fri, 1 Mar 1991 01:01:59 +0000 (01:01 +0000)]
Use `cref/generate-constructors' instead of `cref/generate-all'.
Chris Hanson [Fri, 1 Mar 1991 00:56:27 +0000 (00:56 +0000)]
* New primitive `make-pipe'.
* Redesign of subprocess primitives. New primitives are lower-level,
permitting more flexibility, and support job control properly.
Guillermo J. Rozas [Fri, 1 Mar 1991 00:23:01 +0000 (00:23 +0000)]
Add text describing fixnums and calls to the interface.
Guillermo J. Rozas [Thu, 28 Feb 1991 22:00:01 +0000 (22:00 +0000)]
Add text describing hairy invocation rules.
Guillermo J. Rozas [Thu, 28 Feb 1991 18:07:29 +0000 (18:07 +0000)]
First cut at RTL statement rules.
Guillermo J. Rozas [Wed, 27 Feb 1991 23:34:02 +0000 (23:34 +0000)]
Documentation for predicate rules.
Guillermo J. Rozas [Wed, 27 Feb 1991 21:31:43 +0000 (21:31 +0000)]
New delta.
Guillermo J. Rozas [Wed, 27 Feb 1991 15:15:02 +0000 (15:15 +0000)]
New delta.
Chris Hanson [Tue, 26 Feb 1991 21:33:51 +0000 (21:33 +0000)]
"bchpur.c" must include "zones.h".
Chris Hanson [Tue, 26 Feb 1991 21:15:56 +0000 (21:15 +0000)]
"bchpur.c" must include "zones.h".
Chris Hanson [Tue, 26 Feb 1991 21:14:40 +0000 (21:14 +0000)]
Fix broken function definitions.
Guillermo J. Rozas [Tue, 26 Feb 1991 04:25:11 +0000 (04:25 +0000)]
Yet more text.
Guillermo J. Rozas [Tue, 26 Feb 1991 03:35:50 +0000 (03:35 +0000)]
Yet more text
Guillermo J. Rozas [Sun, 24 Feb 1991 02:09:38 +0000 (02:09 +0000)]
Yet more text.
Guillermo J. Rozas [Sun, 24 Feb 1991 01:11:22 +0000 (01:11 +0000)]
Put a little patch in uxtrap.c and the memory management to detect
cases when the stack has overflowed and constant space has been
overwritten.
Ansify various memory management files.
Guillermo J. Rozas [Sat, 23 Feb 1991 21:13:18 +0000 (21:13 +0000)]
Initial description of all assembler files.
Guillermo J. Rozas [Sat, 23 Feb 1991 15:00:19 +0000 (15:00 +0000)]
Some more text.
Guillermo J. Rozas [Sat, 23 Feb 1991 05:34:01 +0000 (05:34 +0000)]
Yet more text.
Guillermo J. Rozas [Fri, 22 Feb 1991 22:51:31 +0000 (22:51 +0000)]
Yet more text.
Chris Hanson [Fri, 22 Feb 1991 21:16:31 +0000 (21:16 +0000)]
Initialize the condition system a little later. It depends on the
lambda abstraction being initialized.
Chris Hanson [Fri, 22 Feb 1991 21:15:30 +0000 (21:15 +0000)]
Fix typo in error name. This would have been caught by type-checking
in compiled code.
Chris Hanson [Fri, 22 Feb 1991 21:03:07 +0000 (21:03 +0000)]
Fix typo in error name. This would have been caught by type-checking
in compiled code.
Guillermo J. Rozas [Thu, 21 Feb 1991 21:59:32 +0000 (21:59 +0000)]
Some more text...
Guillermo J. Rozas [Thu, 21 Feb 1991 16:17:48 +0000 (16:17 +0000)]
bignum_trim did not produce 0-length bignums even when there were no
bits set.
Guillermo J. Rozas [Wed, 20 Feb 1991 23:23:59 +0000 (23:23 +0000)]
Initial revision
Chris Hanson [Tue, 19 Feb 1991 22:45:49 +0000 (22:45 +0000)]
Change subprocess code to be a loadable option.
Guillermo J. Rozas [Sat, 16 Feb 1991 17:44:53 +0000 (17:44 +0000)]
Allow cref to generate itself correctly the first time by using the
triv.* files.
Guillermo J. Rozas [Sat, 16 Feb 1991 07:55:09 +0000 (07:55 +0000)]
Fix bug in fixnum-lsh. It was behaving like an arithmetic shift
rather than a logical shift.
Guillermo J. Rozas [Sat, 16 Feb 1991 05:45:30 +0000 (05:45 +0000)]
Improve fixnum->object to use a temporary register if necessary.
This allows it to be targetted to the stack or heap.
Guillermo J. Rozas [Sat, 16 Feb 1991 01:09:02 +0000 (01:09 +0000)]
Fix bug by which fixnum-lsh was actually fixnum-ash (arithmetic shift
rather than logical).
Chris Hanson [Fri, 15 Feb 1991 20:34:34 +0000 (20:34 +0000)]
Changes for new error system in runtime 14.106.
Chris Hanson [Fri, 15 Feb 1991 18:17:14 +0000 (18:17 +0000)]
Changes for new error system in runtime 14.106.
Chris Hanson [Fri, 15 Feb 1991 18:08:01 +0000 (18:08 +0000)]
Changes to error system:
* Complete redesign of the error system. Conditions now have named
fields like records, and an interface similar to that of the record
abstraction. Condition types have single inheritance instead of
multiple inheritance; the latter can be implemented with some small
effort should someone need it. Significantly richer taxonomy of
condition types. New "restart" mechanism like that of Common Lisp.
Hooks for overriding default handlers for errors and warnings.
* The special forms `error' and `bkpt' have been changed to be
procedures.
* `error:datum-out-of-range' no longer accepts a second argument; use
new procedure `error:bad-range-argument' instead.
* `error:illegal-datum' has been eliminated; use either
`error:wrong-type-datum' or `error:wrong-type-argument' instead.
Changes to REPL:
* ";Value" message produced by REPL now prints out a hash number if
the value is a pointer object.
* New procedure `ve' starts a sub-REPL in a given environment.
* New procedure `restart' selects a restart option and invokes it. If
invoked with no arguments, it presents a list of options and prompts
for the user to select one by number; otherwise it is called with
one argument, an option number.
* The variable `cmdl-interrupt/abort-top-level/reset?' has been
eliminated.
* Eliminated "proceed points" and "proceed continuations". These are
replaced by new "restarts" mechanism.
* `cmdl-message/active' now passes the current cmdl object as an
argument to the actor procedure.
* The procedures `abort-to-nearest-driver',
`abort-to-previous-driver', and `abort-to-top-level-driver' have
been eliminated. The procedures `abort->nearest',
`abort->previous', and `abort->top-level' have been generalized to
accept a string as an argument; use these in place of the eliminated
procedures.
Other changes:
* Debugger has a new command, K, that chooses a restart option and
invokes it.
* New predicates `interned-symbol?' and `uninterned-symbol?'.