Chris Hanson [Thu, 17 Aug 1989 16:02:55 +0000 (16:02 +0000)]
Fix classic bug: incorrect interaction between stream and side-effect.
Chris Hanson [Thu, 17 Aug 1989 15:59:21 +0000 (15:59 +0000)]
(sf-conditionally): Don't echo "up to date" message unless
specifically requested to.
Chris Hanson [Thu, 17 Aug 1989 15:54:13 +0000 (15:54 +0000)]
(sf-conditionally): Don't echo "up to date" message unless
specifically requested to.
Chris Hanson [Thu, 17 Aug 1989 14:51:21 +0000 (14:51 +0000)]
* Compiler now knows how to emit a different form of
`dbg-info-vector', which contains not only the compiled-code blocks
(as before), but also a pointer which is the root to be used if the
code is to be purified. The runtime system needed to be changed to
accomodate this.
* Change default for `load-debugging-info-on-demand?' back to false.
* Fix `scode-constant?' to handle compiled-code-entry objects
correctly.
Chris Hanson [Thu, 17 Aug 1989 13:53:39 +0000 (13:53 +0000)]
Change "FASDumping" message to "Dumping", to match change to
"FASLoading" message.
Chris Hanson [Thu, 17 Aug 1989 12:18:09 +0000 (12:18 +0000)]
Must replicate export from `(package)' here.
Chris Hanson [Thu, 17 Aug 1989 07:50:55 +0000 (07:50 +0000)]
Recode procedures that use `caar', `cadr', etc. to use sequences of
`car' and `cdr'. This produces more efficient code since `sf' won't
inline-code these procedures in this file because they are defined
here.
Chris Hanson [Wed, 16 Aug 1989 11:46:23 +0000 (11:46 +0000)]
Optionally allow comments to appear with bogus syntax.
Chris Hanson [Wed, 16 Aug 1989 01:06:14 +0000 (01:06 +0000)]
For #@<n> -- if the object referred to is SCode, quote it so that
evaluating the result of the parse produces the object.
Chris Hanson [Tue, 15 Aug 1989 15:14:34 +0000 (15:14 +0000)]
Fix stupid typo.
Chris Hanson [Tue, 15 Aug 1989 13:20:46 +0000 (13:20 +0000)]
* Implement `entity' data abstraction to manipulate the microcode's
data type of that name. Change everything to use it.
* Implement new procedure `gc-clean' that interleaves `gc-flip' and
`trigger-secondary-gc-daemons!' until everything is reclaimed. Change
`disk-save' to use it. Cause this operation to be invoked when
running out of memory.
* Add secondary GC daemons to clean up debugging info, and to reset
`prime-number-stream'.
* Extend the procedures `procedure-lambda' and `procedure-environment'
to handle compiled procedures by using debugging information if it is
available.
* Extend all the procedure operations to handle entities.
* Change `pp', `pa', and `->environment' to accept any procedure as an
argument; previously these only accepted compound procedures.
* Change the unsyntaxer to handle compiled expressions by using their
debugging source code if it is available.
* Change name of `*compiler-info/load-on-demand?*' to
`load-debugging-info-on-demand?', and make it be #T by default.
* Change `load' to print "loading..." message for source files as well
as binary files. These messages are controlled by
`load/suppress-loading-message?'.
* Change `environment-bound-names' to ignore the binding which is used
to hold an environment's package.
* Fix bug in `make-null-interpreter-environment' which prevented it
from being called more than once.
Chris Hanson [Tue, 15 Aug 1989 12:59:19 +0000 (12:59 +0000)]
Canonicalization of expressions causes certain expressions to be
rewritten in a form that is unsuitable for use as the debugging source
code. Change the canonicalization code to save the original code.
Change the fg-generator to use the original code as the debugging
source instead of the code that it is compiling.
Chris Hanson [Tue, 15 Aug 1989 10:00:56 +0000 (10:00 +0000)]
Special case: don't bother generating a new environment when
evaluating a constant.
Chris Hanson [Tue, 15 Aug 1989 07:15:47 +0000 (07:15 +0000)]
Bug report from Jinx: `prealloc' may change the file pointer, so the
hp-ux code that uses it must check.
Chris Hanson [Mon, 14 Aug 1989 11:51:13 +0000 (11:51 +0000)]
*** empty log message ***
Chris Hanson [Mon, 14 Aug 1989 10:23:44 +0000 (10:23 +0000)]
Move some of the window-control variables to the files in which they
are used. Rename `cursor-centering-threshold' to `scroll-step' for
compatibility with Emacs. Delete the disfunctional command
`toggle-screen-video'.
Chris Hanson [Mon, 14 Aug 1989 09:49:13 +0000 (09:49 +0000)]
Suppress redisplay of minibuffer messages during keyboard-macro
execution.
Chris Hanson [Mon, 14 Aug 1989 09:48:37 +0000 (09:48 +0000)]
Export variable `completion-auto-help' to (edwin) package.
Chris Hanson [Mon, 14 Aug 1989 09:30:57 +0000 (09:30 +0000)]
Sort list of key bindings before printing it.
Chris Hanson [Mon, 14 Aug 1989 09:23:13 +0000 (09:23 +0000)]
* Rewrite core group operations, image operations, window operations,
and the regular-expression compiler to use fixnum arithmetic. This
has a pronounced performance effect.
* Change "decls" to pass integrable-procedure definitions between a
few crucial files.
* New variable `enable-emacs-key-names' controls whether keys are
displayed using Emacs-style names or Scheme-style names. The default
is Emacs-style.
* C-h C-b now runs `describe-bindings' as in Emacs.
Chris Hanson [Mon, 14 Aug 1989 09:14:45 +0000 (09:14 +0000)]
Change file-loading prompts to use trailing dots.
Chris Hanson [Sun, 13 Aug 1989 09:57:21 +0000 (09:57 +0000)]
When subtracting register A from register B, where register B is not
dead, must always allocate a new alias. Stupid trick that was being
pulled involving `exg' instruction could never have worked.
Chris Hanson [Sat, 12 Aug 1989 08:33:51 +0000 (08:33 +0000)]
Initial revision
Chris Hanson [Sat, 12 Aug 1989 08:32:56 +0000 (08:32 +0000)]
* Change internal names of various user procedures to correspond to
the external names:
edwin edit
edwin-discard-state! reset-editor
edwin-reset create-editor
edwin-reset-args create-editor-args
edwin-set-display! set-editor-display-type!
The external interface to Edwin now consists of the following
procedures:
(EDIT)
(RESET-EDITOR)
(RESET-EDITOR-WINDOWS)
As before.
(EDITOR-DISPLAY-TYPE)
Returns the display-type of the current editor. This is
either a symbol or #F.
(EDITOR-DISPLAY-TYPES)
Returns the names of all the known display types, in a list.
(CREATE-EDITOR DISPLAY-TYPE . ARGS)
Initializes a display of the given type, passing the args to
the screen-construction code.
CREATE-EDITOR-ARGS
This variable is a list of arguments to be passed to
`create-editor' if it is necessary for `edit' to call it.
* Add new command `define-command', which is solely a placeholder for
the documentation string it possesses.
* Implement editor variable `inhibit-startup-message' -- see the
documentation string.
* `enable-transcript-buffer' is now #F by default -- it is normally
enabled in Scheme-Interaction mode only.
* Change the definitions of the commands `set-environment' and
`set-syntax-table' to set the editor variables `scheme-environment'
and `scheme-syntax-table'. The old behavior of these commands is
available via the new commands `set-repl-environment' and
`set-repl-syntax-table'. Other new commands are
`set-default-environment' and `set-default-syntax-table'.
* Change definition of `scheme-syntax-table', allowing it to be a
symbol which is regarded as a variable to be evaluated relative to the
evaluation environment.
* Add init files, which are found in "~/.edwin". The new global
variable `inhibit-editor-init-file?' (defined in the system global
environment), prevents your init file from being loaded if it is true.
* Add new "find-file initialization" hack: this is invoked whenever
`find-file' or `revert-buffer' is done. The reason for this hack is
to allow a database file to contain evaluation environment and
syntax-table information for the editor.
When a `find-file' (or `revert-buffer') is done, the editor looks in
the directory of the file for one of two files:
1. If the file's name is "foo.scm", the editor looks for a
file "foo.ffi" (-only- if the type is ".scm"). Otherwise,
2. The editor looks for the file ".edwin-ffi".
If one of these files are found, it is loaded into the editor (if the
first file is found, the second is ignored). The loading is performed
in the (edwin) package with `edwin-syntax-table'. The result of
loading the file must be a Scheme procedure which accepts no
arguments; this procedure will be added to the buffer's
initializations, to be performed the next time the buffer is selected.
The procedure `standard-scheme-find-file-initialization' is useful in
this regard.
It should be straightforward to automatically generate these files
from the package-modeller.
* The binding for `describe-command' has been changed from `C-h d' to
`C-h f' for compatibility with Emacs.
* Under some circumstances, files in the user's home directory tree
will be displayed using the "~/" notation.
* Implement overlooked command `x-set-position'.
----------------------------------------------------------------------
* Change definition of `load-edwin-file' procedure to make it more
generally useful for loading files into the editor. Similar changes
to the `load-file' and `load-library' commands.
* Bullet-proof the evaluation environment and syntax-table code so
that they signal an editor-error if unable to be resolved to the
appropriate kind of object.
----------------------------------------------------------------------
* Cause a modeline-event to occur whenever a buffer's clipping is
changed.
* Change handling of `edwin-initialization' so that the code is run
inside the command-reader loop -- thus making sure that all of the
editor's dynamic-state is bound.
* Fix bug in command-reader: undo boundaries were not being marked
when they should have been.
* Change `kill-buffer' to pick a different replacement buffer for each
of its windows, if possible.
Chris Hanson [Sat, 12 Aug 1989 08:18:37 +0000 (08:18 +0000)]
* Change `environment-link-name' to call `->environment' on its two
environment arguments.
* Move `vector-binary-search' to the global environment. Fix a bug in
it -- a confusion between the < used for comparing integers, and that
for comparing keys.
* New variable `load/suppress-loading-message?' prevents the file
loader from printing the "loading -- done" messages.
* Implement `pathname-relative?' which accepts two pathnames; if the
second has a directory part which is a "prefix" of the first, this
returns a copy of the first pathname with the "prefix" removed.
Example:
(pathname-relative? (->pathname "/usr/bin")
(->pathname "/usr/"))
==> #[pathname 5 "bin"]
Chris Hanson [Sat, 12 Aug 1989 08:18:31 +0000 (08:18 +0000)]
* Change `environment-link-name' to call `->environment' on its two
environment arguments.
* Move `vector-binary-search' to the global environment. Fix a bug in
it -- a confusion between the < used for comparing integers, and that
for comparing keys.
* New variable `load/suppress-loading-message?' prevents the file
loader from printing the "loading -- done" messages.
* Implement `pathname-relative?' which accepts two pathnames; if the
second has a directory part which is a "prefix" of the first, this
returns a copy of the first pathname with the "prefix" removed.
Example:
(pathname-relative? (->pathname "/usr/bin")
(->pathname "/usr/"))
==> #[pathname 5 "bin"]
Chris Hanson [Sat, 12 Aug 1989 00:18:46 +0000 (00:18 +0000)]
environment-link-name is no longer a primitive.
Chris Hanson [Fri, 11 Aug 1989 16:17:58 +0000 (16:17 +0000)]
Cause `edwin-initialization' to be executed inside the command loop so
that all of the editor's dynamic-state is bound.
Chris Hanson [Fri, 11 Aug 1989 11:50:55 +0000 (11:50 +0000)]
* Arrange for local bindings of current buffer to be undone when
leaving the editor; this prevents the local bindings from becoming
global when (reset-editor) is done. Perhaps it might be useful to
remember the original global binding, and reset each variable to that?
* Change the commands `list-buffers' and `buffer-menu' to accept a
prefix arg which limits their listings to buffers that are visiting
files. Perhaps buffer-menu mode should define the g key as Dired
does?
* Change mouse button events to invoke commands in the normal way,
binding a `current-button-event' to tell the commands where the mouse
was when they occurred; this event defaults to the location of point
so that these commands make sense when invoked by other means. Cause
the editor to beep and do nothing if a mouse button is not bound to
any command, and if the button is located in the "decoration" of some
editor window (i.e. the modeline or vertical border).
* Change `define-key' to accept command-names (or commands) as
arguments when defining mouse buttons. Change `define-key',
`define-prefix-key', and `define-default-key' to accept mode objects
as well as mode-names.
* Add new commands:
debug-clean-marks
debug-show-standard-marks
* Change the buffer redisplay code so that buffer-cursor-y is set only
when a buffer is disconnected from a window. Further, save point's
index with the coordinate, and ignore the information if point changes
before the information is used.
* Implement new operation `mark-temporary!', which removes a permanent
mark from the marks list. Use this operation to get rid of the marks
used by buffer-windows when they are no longer in use. In order for
this to work, change the buffer-window code so that it never passes
one of these marks to anyone. The only user-visible change is to
replace the operations `window-start-mark' and `window-end-mark' with
`window-start-index' and `window-end-index'.
* Add new procedure `clean-group-marks!' to delete GC'ed marks from
the marks list.
Chris Hanson [Fri, 11 Aug 1989 11:30:36 +0000 (11:30 +0000)]
Undo recent change which tried to replicate Emacs' algorithm for
deciding when to use inverse-video in the modeline. The attempt
failed, and I don't see an obvious way to make it work.
Chris Hanson [Fri, 11 Aug 1989 11:28:59 +0000 (11:28 +0000)]
Use new procedure `integer-round' when computing the buffer position
percentage for the modeline.
Chris Hanson [Fri, 11 Aug 1989 11:12:19 +0000 (11:12 +0000)]
Formatting.
Chris Hanson [Fri, 11 Aug 1989 11:06:49 +0000 (11:06 +0000)]
Formatting.
Chris Hanson [Fri, 11 Aug 1989 10:54:26 +0000 (10:54 +0000)]
Formatting.
Chris Hanson [Fri, 11 Aug 1989 02:59:31 +0000 (02:59 +0000)]
Implement `(flush-purification-queue!)', which tries to purify
anything that is in the purification queue. When this procedure
returns, the queue should be empty. Call this procedure after the
cold load, and after the "system-loader", to guarantee that the items
loaded are purified before being used.
Chris Hanson [Fri, 11 Aug 1989 02:30:22 +0000 (02:30 +0000)]
*** empty log message ***
Chris Hanson [Fri, 11 Aug 1989 02:29:41 +0000 (02:29 +0000)]
(disassembler/write-compiled-code-block): don't require debugging info.
The disassembler can run without it.
Chris Hanson [Thu, 10 Aug 1989 15:18:03 +0000 (15:18 +0000)]
Fix bug in previous changes.
Chris Hanson [Thu, 10 Aug 1989 11:49:43 +0000 (11:49 +0000)]
Fix longstanding bug in compilation of predicates. Expressions like
this
(if (if (bar numerator)
(foo denominator)
(not (foo denominator)))
numerator
denominator)
would compile incorrectly by making both calls to `foo' have the same
continuation. This should have been noticed as an error because the
continuation entry hooks for that continuation were attached to both
expressions: when they were combined with the call to `bar' the hooks
were used to attach the continuation to the enclosing expression --
but each side of the test was attached twice. Error checking in the
node-attachment code would have caught this one at compile time.
The new code generates a new continuation for the call to `foo' whose
result is inverted, and then codes the `not' using a PCFG and two
constants -- all of which gets folded out later, resulting in the
desired code.
Chris Hanson [Thu, 10 Aug 1989 11:39:55 +0000 (11:39 +0000)]
Change unparsers so that type names are printed in the standard case
for symbols.
Chris Hanson [Thu, 10 Aug 1989 11:05:29 +0000 (11:05 +0000)]
Change unparsers so that type names are printed in the standard case
for symbols.
Chris Hanson [Thu, 10 Aug 1989 08:18:40 +0000 (08:18 +0000)]
Add new operations to do integer division followed by a rounding
operation. They are like a combination of / and the respective
rounding operation, except that there are no non-integer intermediate
results.
Chris Hanson [Thu, 10 Aug 1989 05:07:43 +0000 (05:07 +0000)]
(inferior-containing-coordinates): the maximum addressable coordinate
of a window is one less than the size of the window.
Chris Hanson [Thu, 10 Aug 1989 04:42:50 +0000 (04:42 +0000)]
Change unparser methods for buffers, commands, variables, and modes to
show the object's name.
Chris Hanson [Wed, 9 Aug 1989 14:43:20 +0000 (14:43 +0000)]
Fix typo in previous change.
Chris Hanson [Wed, 9 Aug 1989 13:41:26 +0000 (13:41 +0000)]
Fix typo in previous change.
Chris Hanson [Wed, 9 Aug 1989 13:40:30 +0000 (13:40 +0000)]
Initial revision
Chris Hanson [Wed, 9 Aug 1989 13:18:18 +0000 (13:18 +0000)]
* Major overhaul of evaluation commands. Now the transcript buffer is
used more uniformly, and by default it is turned on. The name and
mode of the transcript buffer can be set by variables, which are
initially set to use "*scratch*" in scheme-interaction mode.
Appropriate hooks have been added to allow scheme-interaction to share
virtually all of the evaluation and transcript code with the rest of
the evaluation commands. The end result of all of these changes is
that the evaluation commands work much more like the Emacs/Scheme
interface.
New command `select-transcript-buffer' is bound to C-c C-s.
* Implement `mode-line-format'; see that variable's documentation for
details. Change "Info" to use it. Also implement associated
variables:
global-mode-string
mode-line-buffer-identification
mode-line-modified
mode-line-procedure
mode-line-process
* Rewrite the image code to allow the starting index and column to be
specified. This will be used later when horizontal scrolling is
implemented. Change name of `make-image' to `string->image'.
Implement new operations:
(string-head->image string start start-column)
(string-representation string start-column)
(substring-representation string start end start-column)
* Change `prompt-for-expression' and `prompt-for-expression-value' so
that #F is a valid default value. The default value argument is now
optional, and the only way to have no default is to call the
procedures without that argument.
* Implement `fresh-line' operations for output-ports to marks and to
the current point. Add new procedures to support them:
(fresh-line #!optional port)
(fresh-lines n #!optional port)
(mark->output-port mark #!optional buffer)
* Change `prompt-for-yes-or-no?' to erase the input if it is neither
"yes" or "no". This is now consistent with Emacs.
* Change command-history display to use new feature in runtime system
that unparses objects such that they can be read back in.
* Implement new procedures:
(scode-eval-with-history scode environment)
(string->temporary-buffer string name)
(current-buffer? buffer)
(->command object)
(->variable object)
(->mode object)
Chris Hanson [Wed, 9 Aug 1989 12:55:39 +0000 (12:55 +0000)]
Fix editing error from last changes.
Chris Hanson [Wed, 9 Aug 1989 11:08:43 +0000 (11:08 +0000)]
Implement new flag `*unparse-with-maximum-readability?*' which causes
the unparser to output `#@<n>' for things that would otherwise print
out as unreadable representations.
Fix some bugs in the `define-structure' constructor options.
Chris Hanson [Wed, 9 Aug 1989 11:05:17 +0000 (11:05 +0000)]
*** empty log message ***
Panayotis Skordos [Wed, 9 Aug 1989 02:13:48 +0000 (02:13 +0000)]
*** empty log message ***
Chris Hanson [Tue, 8 Aug 1989 22:00:00 +0000 (22:00 +0000)]
Initial revision
Chris Hanson [Tue, 8 Aug 1989 21:06:27 +0000 (21:06 +0000)]
Fix some inconsistencies in the constructor option interactions.
Chris Hanson [Tue, 8 Aug 1989 11:12:29 +0000 (11:12 +0000)]
Don't call `subscreen-clear!' if the rectangle has zero area.
Chris Hanson [Tue, 8 Aug 1989 10:06:36 +0000 (10:06 +0000)]
* Implement `save-buffers-kill-edwin' which kills Edwin and returns to
Scheme. This is bound to C-x c in fundamental mode.
* Change `unmap-alias-char' to leave the following characters
unchanged: tab, linefeed, page, return, altmode. This compensates for
the previous change to `ascii-controlified?'.
* Implement `editor-frame-windows' which returns all of the
buffer-frames which are inferiors of an editor-frame.
* Implement `all-screens', `all-editor-frames', and `all-windows',
which return lists of all of the respective objects.
* The procedure `(window-redraw! window redraw-type)' has been
changed. Now, it delays the actual work until update time, and
`redraw-type' can be one of:
value meaning
----- -------
'START preserve the start position of the window
'POINT preserve the point position of the window
'BUFFER-CURSOR-Y move point to last known position, or recenter
y move point to the y'th row
other center the point vertically in the window
* Implementation of `truncate-lines' functionality. The following
changes are in support of this:
* Implementation of editor variable "assignment daemons" which allow
some arbitrary code to be executed whenever a specific variable is
assigned.
* Significant overhaul of local-variable binding:
** Implementation of "per-buffer" variables; that is, variables which
become buffer-local whenever they are set. The new special form
`define-variable-per-buffer' supports this functionality. The
following variables are defined as "per-buffer":
fill-column
left-margin
tab-width
case-fold-search
truncate-lines
** Implementation of new operations to access the local and default
value of a variable:
(variable-local-value? buffer variable)
(variable-local-value buffer variable)
(set-variable-local-value! buffer variable value)
(variable-default-value variable)
(set-variable-default-value! variable value)
Chris Hanson [Tue, 8 Aug 1989 02:02:39 +0000 (02:02 +0000)]
Fix typo in `stack-ccenv/parent'.
Chris Hanson [Tue, 8 Aug 1989 01:26:05 +0000 (01:26 +0000)]
*** empty log message ***
Chris Hanson [Tue, 8 Aug 1989 01:21:29 +0000 (01:21 +0000)]
In `continuation/next-continuation-offset', check to see if
popping-limit corresponds to continuation that is always known. If
so, keep searching up the stack for another continuation.
Chris Hanson [Mon, 7 Aug 1989 08:45:16 +0000 (08:45 +0000)]
* Implemented new editor-based debugger, which uses the standard
debugger to generate its presentations (by means of new hooks in the
runtime system). The debugger can be invoked manually by the command
`browse-continuation', or automatically by setting one of the
following variables true:
debug-on-evaluation-error error during evaluation
debug-on-editor-error editor error (user error)
debug-on-internal-error editor bug
Normally `debug-on-evaluation-error' is true and the others are false.
* Controlification redone so that controlification of all ASCII
control characters is uniform. Previously characters such as newline
and page were handled specially. The net result of this is that
controlification of an ASCII control character has no effect.
* C-x C-c is now bound to a command which exits Scheme and returns to
the unix shell.
* All messages are cleared immediately after reading the first
character of a command key sequence. This is similar to the action of
GNU Emacs, and prevents non-temporary messages from sticking around
for a long time.
* Dired now handles symbolic links specially, showing the file linked
to in the usual way.
* Bug fix in `clear-message': this procedure now preserves the
command-prompt; previously it was clearing both the message and the
command-prompt.
* Bug fix in "cterm": the `move-cursor!' operation must move the
cursor immediately if an update is not in effect.
* Bug fix in `revert-buffer': can't assume that the buffer being
reverted is current.
* Bug fix: `with-output-to-string' had incorrect indentation method.
* Bug fix: typo in dired sorting routine.
Chris Hanson [Mon, 7 Aug 1989 07:37:09 +0000 (07:37 +0000)]
* Major rewrite of `debug' and `where' to allow their code to be used
as a presentation mechanism for the editor. The basic new design has
these features:
** All commands now accept a state argument, which they manipulate,
allowing the entire debugger state to be passed around easily.
** All output from the commands is wrapped by the procedure
`presentation', which can be grabbed to control the presentation
characteristics. For example, the editor uses this hook to clear the
debugger buffer, change current-output-port to go to that buffer, and
then reset the modified flag after the presentation is complete.
** "Failure" conditions generated by the debugger are signalled
through the new procedure `debugger-failure', which can be grabbed.
The editor grabs this and binds it to `editor-failure'.
** Advisory messages generated by the debugger are signalled through
the new procedure `debugger-message', which can be grabbed. The
editor grabs this and binds it to `editor-message'.
* The contracts for `prompt-for-confirmation?' and
`prompt-for-expression' have been changed to make them compatible with
the editor's versions of these procedures.
* The package loader no longer offers the "load interpreted?" option.
This is controlled by a flag which can be set should this option be
desired. Similarly, the cold-loader no longer offers this option --
in that case you must move or delete the ".com" files to get an
interpreted cold-load.
* A new operation `pretty-print' is similar to `pp' except that it
doesn't print a prefix newline and it does nothing special about hash
numbers or named structures.
Chris Hanson [Mon, 7 Aug 1989 03:14:18 +0000 (03:14 +0000)]
`file-attributes' should use lstat instead of stat.
Chris Hanson [Sun, 6 Aug 1989 07:52:22 +0000 (07:52 +0000)]
Enable memoization -- it's a great time saver.
Chris Hanson [Fri, 4 Aug 1989 03:30:48 +0000 (03:30 +0000)]
Fix `suspend-scheme' command so that it properly exits the editor
before leaving Scheme.
Chris Hanson [Fri, 4 Aug 1989 03:17:42 +0000 (03:17 +0000)]
In Dired, sort files in standard unix fashion.
Change directory readers to use new primitive `directory-close' to
guarantee that the directory reader is cleaned up correctly.
Chris Hanson [Fri, 4 Aug 1989 02:42:32 +0000 (02:42 +0000)]
Change error message from "Bound variable" to "Illegal to rebind
variable".
Chris Hanson [Fri, 4 Aug 1989 02:38:19 +0000 (02:38 +0000)]
Teach unsyntaxer to recognize named LET and unsyntax it as such.
Chris Hanson [Fri, 4 Aug 1989 02:14:09 +0000 (02:14 +0000)]
Use new primitive `directory-close' to guarantee that the
directory-reader is correctly cleaned up when aborted.
Chris Hanson [Fri, 4 Aug 1989 02:08:35 +0000 (02:08 +0000)]
Add new primitive `directory-close'.
Chris Hanson [Thu, 3 Aug 1989 23:43:05 +0000 (23:43 +0000)]
Don't generate ".cref" file by default.
Chris Hanson [Thu, 3 Aug 1989 23:33:15 +0000 (23:33 +0000)]
Change library pathnames to be relative to
`(system-library-directory-pathname)' so that they will dynamically
changed depending on the microcode's defaults.
Chris Hanson [Thu, 3 Aug 1989 23:27:46 +0000 (23:27 +0000)]
Don't generate "cref.cref" by default.
Chris Hanson [Thu, 3 Aug 1989 23:27:08 +0000 (23:27 +0000)]
`cref/generate-constructors' should write the ".glob" file also.
Chris Hanson [Thu, 3 Aug 1989 23:26:06 +0000 (23:26 +0000)]
Don't generate ".free" files by default.
Chris Hanson [Thu, 3 Aug 1989 23:16:30 +0000 (23:16 +0000)]
Don't generate "runtim.cref" by default.
Chris Hanson [Thu, 3 Aug 1989 23:13:14 +0000 (23:13 +0000)]
Extend debugger to allow arbitrary evaluation in compiled code
environments. This is done by the trick of rewriting SCode, replacing
references to compiled-code variables with combinations that do the
reference.
Fix bug in compiled-code frame parser.
Change `print-gc-statistics' to show info about constant and heap
space in use.
New operation `system-library-directory-pathname' provides standard
way to find run-time library files.
Chris Hanson [Thu, 3 Aug 1989 23:08:55 +0000 (23:08 +0000)]
Add new operations:
environment-assign!
environment-assignable?
make-null-interpreter-environment
extended-scode-eval
system-library-directory-pathname
Chris Hanson [Thu, 3 Aug 1989 23:07:40 +0000 (23:07 +0000)]
Add initialization for new operation `extended-scode-eval'.
Chris Hanson [Thu, 3 Aug 1989 23:07:15 +0000 (23:07 +0000)]
Add new operation to clobber compiled-closure frames.
Chris Hanson [Thu, 3 Aug 1989 23:06:31 +0000 (23:06 +0000)]
Add new operation `system-library-directory-pathname' which
standardizes where to find various run-time library files.
Chris Hanson [Thu, 3 Aug 1989 23:05:29 +0000 (23:05 +0000)]
Change `print-gc-statistics' to show the current amount of constant
and heap in use.
Chris Hanson [Thu, 3 Aug 1989 23:04:49 +0000 (23:04 +0000)]
Initial revision
Chris Hanson [Thu, 3 Aug 1989 23:03:58 +0000 (23:03 +0000)]
Allow compiled-code environments to be used in evaluation and REP
loops.
Chris Hanson [Thu, 3 Aug 1989 23:01:31 +0000 (23:01 +0000)]
Add new operations `environment-assignable?' and `environment-assign!'
which allow individual variables in an environment to be assigned.
Chris Hanson [Thu, 3 Aug 1989 20:01:13 +0000 (20:01 +0000)]
Add default Starbase device driver.
Chris Hanson [Thu, 3 Aug 1989 19:56:36 +0000 (19:56 +0000)]
Add defininition required to fix Ultrix X11 library bug.
Chris Hanson [Thu, 3 Aug 1989 19:52:19 +0000 (19:52 +0000)]
Rearrange the definitions comprising X_LIB so that they can be used to
fix the Ultrix -lX11 bug.
Chris Hanson [Thu, 3 Aug 1989 01:34:55 +0000 (01:34 +0000)]
Extensive changes to permit use of indirect Info files.
Chris Hanson [Thu, 3 Aug 1989 01:34:32 +0000 (01:34 +0000)]
Export `message-args->string' to (edwin) package.
Chris Hanson [Thu, 3 Aug 1989 01:33:18 +0000 (01:33 +0000)]
Implement variable `debug-on-editor-error' which causes editor errors
to be signalled as Scheme errors for debugging.
Chris Hanson [Thu, 3 Aug 1989 01:32:31 +0000 (01:32 +0000)]
Move definitions of `info-tags-table-{start,end}' to "info.scm".
Chris Hanson [Thu, 3 Aug 1989 01:31:16 +0000 (01:31 +0000)]
For "s" interactive command letter, allow null string to be returned.
Chris Hanson [Wed, 2 Aug 1989 17:04:43 +0000 (17:04 +0000)]
Adjust "umax" processor entry.
Chris Hanson [Wed, 2 Aug 1989 17:04:07 +0000 (17:04 +0000)]
Add NS32K processor type.
Chris Hanson [Wed, 2 Aug 1989 17:03:38 +0000 (17:03 +0000)]
Add Encore Multimax.
Chris Hanson [Wed, 2 Aug 1989 17:02:36 +0000 (17:02 +0000)]
Initial revision
Chris Hanson [Wed, 2 Aug 1989 16:18:23 +0000 (16:18 +0000)]
Adjust paths to be consistent with rest of release.
Chris Hanson [Wed, 2 Aug 1989 01:36:55 +0000 (01:36 +0000)]
Initialize disassembler macros.
Chris Hanson [Wed, 2 Aug 1989 01:03:59 +0000 (01:03 +0000)]
Add definition of `ALTERNATE_M4'.
Chris Hanson [Wed, 2 Aug 1989 00:53:42 +0000 (00:53 +0000)]
CSH doesn't need to have $ doubled when it is wrapped in single
quotes.