mit-scheme.git
28 years agoDon't purge the header database when updating the server info. This
Chris Hanson [Mon, 28 Oct 1996 00:13:58 +0000 (00:13 +0000)]
Don't purge the header database when updating the server info.  This
caused the newsreader startup to be extremely slow.

28 years agoDon't purge header database when reading headers in; this
Chris Hanson [Mon, 28 Oct 1996 00:12:29 +0000 (00:12 +0000)]
Don't purge header database when reading headers in; this
unnecessarily slows down the header-reading process.

28 years agoSynchronize action of XTERM-SCREEN/ENTER! until after the window is
Chris Hanson [Thu, 24 Oct 1996 16:29:46 +0000 (16:29 +0000)]
Synchronize action of XTERM-SCREEN/ENTER! until after the window is
properly mapped on the screen.  This will hopefully eliminate the
weird race condition that has been causing so many errors.

28 years agoFix bug that can cause a SIGSEGV.
Chris Hanson [Thu, 24 Oct 1996 16:14:04 +0000 (16:14 +0000)]
Fix bug that can cause a SIGSEGV.

28 years agoChange NEWS-HEADER:GUARANTEE-FULL-TEXT! so that it stores the header
Chris Hanson [Thu, 24 Oct 1996 03:17:48 +0000 (03:17 +0000)]
Change NEWS-HEADER:GUARANTEE-FULL-TEXT! so that it stores the header
text after it is fetched.  This is necessary to allow off-line reading
to work properly.

28 years agoChange code that joins and splits threads on the basis of subject.
Chris Hanson [Wed, 23 Oct 1996 22:59:36 +0000 (22:59 +0000)]
Change code that joins and splits threads on the basis of subject.
This code is now more discriminating than previously.

28 years agoWhen reading in context headers, mark them as ignored when necessary.
Chris Hanson [Wed, 23 Oct 1996 22:58:42 +0000 (22:58 +0000)]
When reading in context headers, mark them as ignored when necessary.
Also, delete entire threads of "seen" context headers.

28 years agoWhen reading in context headers, mark them as ignored when necessary.
Chris Hanson [Wed, 23 Oct 1996 22:14:22 +0000 (22:14 +0000)]
When reading in context headers, mark them as ignored when necessary.
Also, delete entire threads of "seen" context headers.

28 years agoFix another thinko.
Chris Hanson [Tue, 15 Oct 1996 20:19:20 +0000 (20:19 +0000)]
Fix another thinko.

28 years agoFix thinko.
Chris Hanson [Tue, 15 Oct 1996 19:42:29 +0000 (19:42 +0000)]
Fix thinko.

28 years agoFix bug: try harder to open the database files.
Chris Hanson [Tue, 15 Oct 1996 19:34:26 +0000 (19:34 +0000)]
Fix bug: try harder to open the database files.

28 years agoChanges to news reader.
Chris Hanson [Tue, 15 Oct 1996 19:05:46 +0000 (19:05 +0000)]
Changes to news reader.

28 years ago* Add new switches:
Chris Hanson [Tue, 15 Oct 1996 19:04:59 +0000 (19:04 +0000)]
* Add new switches:
    news-group-keep-seen-headers
    news-group-show-seen-headers

* Change default for news-group-show-context-headers.

* Change binding of news-toggle-online to shift-O.

* Change code that collapses and expands threads so that only those
  threads that need to be changed are actually rewritten.

* Add "B" marker in header lines to show which messages have
  associated bodies stored in the new body database.

* Add command news-read-marked-bodies (bound to "r") to read the
  marked bodies in a news-group buffer.

* Make noticeable change to the performance of header-parsing code, in
  order to support groups with very large numbers of headers.

28 years ago* Add database for message bodies.
Chris Hanson [Tue, 15 Oct 1996 18:58:27 +0000 (18:58 +0000)]
* Add database for message bodies.

* Modify handling of message-header database so that messages are
  keyed by ID as well as by number.

* Purge obsolete headers from the cache and database when the server
  info is updated.

* Change format in which headers are stored in database to improve
  performance.

* Use gdbm_fastmode for database files at all times.

* Various small performance tweaks to header-parsing code.

* Change thread organizing code to separate the switch for context
  headers from the switch allowing server probes.

28 years agoMake sure that groups are tracked after being unsubscribed so that
Chris Hanson [Mon, 14 Oct 1996 05:06:22 +0000 (05:06 +0000)]
Make sure that groups are tracked after being unsubscribed so that
they will be deleted from the groups list when their "article-seen"
information is irrelevant.  Save groups list whenever a group buffer
is killed, to help insure consistency between the groups list and the
header cache.

28 years agoGeneralize how RMAIL looks for the spool directory and the movemail
Chris Hanson [Thu, 10 Oct 1996 10:30:00 +0000 (10:30 +0000)]
Generalize how RMAIL looks for the spool directory and the movemail
program.

28 years agoNow that microcode implements directory-reading properly, use the OS/2
Chris Hanson [Wed, 9 Oct 1996 15:44:46 +0000 (15:44 +0000)]
Now that microcode implements directory-reading properly, use the OS/2
directory reader for Win32.  This is implemented by moving the
directory reader to "dosfile.scm", since we aren't supporting DOS any
more.

28 years agoNow that microcode implements directory-reading properly, use the OS/2
Chris Hanson [Wed, 9 Oct 1996 15:43:24 +0000 (15:43 +0000)]
Now that microcode implements directory-reading properly, use the OS/2
directory reader for Win32 rather than the DOS directory.

28 years agoFix font-selection code so that it will allow selection of raster
Chris Hanson [Wed, 9 Oct 1996 15:41:36 +0000 (15:41 +0000)]
Fix font-selection code so that it will allow selection of raster
fonts.

28 years agoFix directory reader so that wildcarding is done by the Win32 API
Chris Hanson [Wed, 9 Oct 1996 15:40:15 +0000 (15:40 +0000)]
Fix directory reader so that wildcarding is done by the Win32 API
rather than Scheme code.  This improves performance and makes the
wildcarding work as in other Win32 programs.  Also implement
OS_directory_read_matching which improves performance of completion in
Edwin.

28 years agoFurther refine the error-catching code in X-WINDOW-SET-INPUT-FOCUS.
Chris Hanson [Tue, 8 Oct 1996 20:21:14 +0000 (20:21 +0000)]
Further refine the error-catching code in X-WINDOW-SET-INPUT-FOCUS.
It now catches the error that was causing the problems.

28 years agoWhen creating a new frame, don't select it -- attempting to do this
Chris Hanson [Tue, 8 Oct 1996 20:17:28 +0000 (20:17 +0000)]
When creating a new frame, don't select it -- attempting to do this
causes a race condition that can cause X to signal an error.  Instead,
rely on the window manager to select the window if that is
appropriate.

28 years agoAdjustment for correct Watcom configuration.
Chris Hanson [Tue, 8 Oct 1996 01:32:34 +0000 (01:32 +0000)]
Adjustment for correct Watcom configuration.

28 years agoDefine bits for Win32 attributes.
Chris Hanson [Mon, 7 Oct 1996 18:52:13 +0000 (18:52 +0000)]
Define bits for Win32 attributes.

28 years agoAdjust handling of file modes that are now Win32 attributes rather
Chris Hanson [Mon, 7 Oct 1996 18:51:12 +0000 (18:51 +0000)]
Adjust handling of file modes that are now Win32 attributes rather
than unix mode bits.

28 years agoAdjust dired line layout to accomodate Win32-specific mode string.
Chris Hanson [Mon, 7 Oct 1996 18:21:20 +0000 (18:21 +0000)]
Adjust dired line layout to accomodate Win32-specific mode string.

28 years agoImplement M-x set-frame-size. Fix bug in M-x show-frame-size.
Chris Hanson [Mon, 7 Oct 1996 18:20:31 +0000 (18:20 +0000)]
Implement M-x set-frame-size.  Fix bug in M-x show-frame-size.

28 years agoAdd new procedures ADJUST-WINDOW-RECT, GET-CLIENT-RECT,
Chris Hanson [Mon, 7 Oct 1996 18:17:17 +0000 (18:17 +0000)]
Add new procedures ADJUST-WINDOW-RECT, GET-CLIENT-RECT,
WIN32-SCREEN-WIDTH, and WIN32-SCREEN-HEIGHT.  Fix bug in
GET-DEVICE-CAPS.

28 years agoFix bug: previously, "universal time" was really unix time. This fix
Chris Hanson [Mon, 7 Oct 1996 18:14:27 +0000 (18:14 +0000)]
Fix bug: previously, "universal time" was really unix time.  This fix
does the translation between universal time and unix time.

28 years agoExport new variable EPOCH.
Chris Hanson [Mon, 7 Oct 1996 18:12:20 +0000 (18:12 +0000)]
Export new variable EPOCH.

28 years agoImplement primitives to get the size of the character box in pixels
Chris Hanson [Mon, 7 Oct 1996 18:01:36 +0000 (18:01 +0000)]
Implement primitives to get the size of the character box in pixels
and to set the size of the window.

28 years agoChange font-setting code to interpret the font size in points rather
Chris Hanson [Mon, 7 Oct 1996 17:59:56 +0000 (17:59 +0000)]
Change font-setting code to interpret the font size in points rather
than in logical units.  This makes this code consistent with the
font-setting dialog.

Handle the WM_WINDOWPOSCHANGING message in order to guarantee that the
window is sized to an integral number of characters.

Also, many formatting changes.

28 years agoChange OS_encoded_time to use Win32 API.
Chris Hanson [Mon, 7 Oct 1996 17:56:40 +0000 (17:56 +0000)]
Change OS_encoded_time to use Win32 API.

28 years agoCatch additional error code that can occur when file doesn't exist.
Chris Hanson [Mon, 7 Oct 1996 17:55:38 +0000 (17:55 +0000)]
Catch additional error code that can occur when file doesn't exist.

28 years agoChange file-info primitives to use Win32 API calls instead of C
Chris Hanson [Mon, 7 Oct 1996 17:54:58 +0000 (17:54 +0000)]
Change file-info primitives to use Win32 API calls instead of C
library calls.  Return mode string and mode bits in native format
rather than unix format.

28 years agoChange time decode/encode to use unsigned integer conversions.
Chris Hanson [Mon, 7 Oct 1996 17:52:47 +0000 (17:52 +0000)]
Change time decode/encode to use unsigned integer conversions.

28 years agoAdd export for screen_char_dimensions.
Chris Hanson [Mon, 7 Oct 1996 17:51:47 +0000 (17:51 +0000)]
Add export for screen_char_dimensions.

28 years agoFix bug: interface to OS/BUFFER-BACKUP-PATHNAME was changed and
Chris Hanson [Fri, 4 Oct 1996 19:30:23 +0000 (19:30 +0000)]
Fix bug: interface to OS/BUFFER-BACKUP-PATHNAME was changed and
reference in this file was missed.

28 years agoFix a thinko in the last change.
Chris Hanson [Fri, 4 Oct 1996 18:48:39 +0000 (18:48 +0000)]
Fix a thinko in the last change.

28 years agoFixed the number of code bits to be correct for either 7 bit or 16 bit
Stephen Adams [Thu, 3 Oct 1996 14:08:12 +0000 (14:08 +0000)]
Fixed the number of code bits to be correct for either 7 bit or 16 bit
characters.

28 years agoWork around bug in GNU make on OS/2: backslash before output
Chris Hanson [Thu, 3 Oct 1996 04:19:53 +0000 (04:19 +0000)]
Work around bug in GNU make on OS/2: backslash before output
redirection seems to be generating a null-string argument which is
misinterpreted by findprim.

28 years agoMany small changes to eliminate errors and warnings when compiling
Chris Hanson [Wed, 2 Oct 1996 21:18:08 +0000 (21:18 +0000)]
Many small changes to eliminate errors and warnings when compiling
under Win32 using either Visual C++ 4.0 or Watcom C/C++ 10.6.

28 years agoMany small changes to eliminate errors and warnings when compiling
Chris Hanson [Wed, 2 Oct 1996 21:14:10 +0000 (21:14 +0000)]
Many small changes to eliminate errors and warnings when compiling
under Win32 using either Visual C++ 4.0 or Watcom C/C++ 10.6.

28 years agoMany small changes to eliminate errors and warnings when compiling
Chris Hanson [Wed, 2 Oct 1996 19:17:34 +0000 (19:17 +0000)]
Many small changes to eliminate errors and warnings when compiling
under Win32 using either Visual C++ 4.0 or Watcom C/C++ 10.6.

28 years agoMany small changes to eliminate errors and warnings when compiling
Chris Hanson [Wed, 2 Oct 1996 19:01:40 +0000 (19:01 +0000)]
Many small changes to eliminate errors and warnings when compiling
under Win32 using either Visual C++ 4.0 or Watcom C/C++ 10.6.

28 years agoChanges that result in a successful build with the Watcom compiler.
Chris Hanson [Wed, 2 Oct 1996 18:53:21 +0000 (18:53 +0000)]
Changes that result in a successful build with the Watcom compiler.

28 years agoInitial revision
Chris Hanson [Wed, 2 Oct 1996 18:51:15 +0000 (18:51 +0000)]
Initial revision

28 years agoFix bug: use of "tiny" memory model causes Watcom linker to produce
Chris Hanson [Wed, 2 Oct 1996 17:59:40 +0000 (17:59 +0000)]
Fix bug: use of "tiny" memory model causes Watcom linker to produce
invalid executable.  The memory model is irrelevant here, anyway,
since there are no references to memory in this code.

28 years agoAdd new OS-specific procedure DIRED-PATHNAME-WILD? so that unix can
Chris Hanson [Wed, 2 Oct 1996 17:00:35 +0000 (17:00 +0000)]
Add new OS-specific procedure DIRED-PATHNAME-WILD? so that unix can
support the full range of filename expansion provided by the shell.

28 years agoEliminate duplicate bindings differing only in case in bindings lists.
Chris Hanson [Tue, 1 Oct 1996 05:55:55 +0000 (05:55 +0000)]
Eliminate duplicate bindings differing only in case in bindings lists.

28 years agoIn x-window-set-input-focus, flush the display queue right away.
Chris Hanson [Mon, 30 Sep 1996 18:31:14 +0000 (18:31 +0000)]
In x-window-set-input-focus, flush the display queue right away.
Otherwise, the error-catching code from the previous revision will
have no effect since the command will be sent later.

28 years agoFix buffer-memoization bugs. Eliminate random patch installed by bal.
Chris Hanson [Mon, 30 Sep 1996 01:01:39 +0000 (01:01 +0000)]
Fix buffer-memoization bugs.  Eliminate random patch installed by bal.

28 years agoChange defaults for configuration directories: the course material
Chris Hanson [Sat, 28 Sep 1996 18:29:33 +0000 (18:29 +0000)]
Change defaults for configuration directories: the course material
goes under "~u6001" but the working directory is in the user's home
directory.  The directories are now all chosen when the editor is
started rather than when the band is built.

28 years agoWhen scrolling, inform the screen code that the cursor has been moved
Chris Hanson [Sat, 28 Sep 1996 03:51:26 +0000 (03:51 +0000)]
When scrolling, inform the screen code that the cursor has been moved
so that it can move it back if necessary.

28 years agoAdd ability for the terminal-scrolling code to tell the screen code
Chris Hanson [Sat, 28 Sep 1996 03:50:38 +0000 (03:50 +0000)]
Add ability for the terminal-scrolling code to tell the screen code
that the cursor position has been invalidated by the scroll.

28 years agoChange 6.001 package to put the student root directory in the user's
Chris Hanson [Fri, 27 Sep 1996 23:06:22 +0000 (23:06 +0000)]
Change 6.001 package to put the student root directory in the user's
home directory, rather than using an absolute pathname that might not
exist on a given system.

28 years agoFix interrupt hole in updating of screen size.
Chris Hanson [Thu, 26 Sep 1996 23:20:08 +0000 (23:20 +0000)]
Fix interrupt hole in updating of screen size.

28 years agoPatch to help fix bug in 6.001 debugger.
Chris Hanson [Fri, 20 Sep 1996 18:54:48 +0000 (18:54 +0000)]
Patch to help fix bug in 6.001 debugger.

28 years agoPatch X error handers so that they kill Scheme when the X connection
Chris Hanson [Thu, 12 Sep 1996 19:23:48 +0000 (19:23 +0000)]
Patch X error handers so that they kill Scheme when the X connection
is lost.  This is a kludge, but is needed to fix a common problem.

28 years agoFix bug: error signalled in dired when trying to determine whether a
Chris Hanson [Fri, 6 Sep 1996 17:10:57 +0000 (17:10 +0000)]
Fix bug: error signalled in dired when trying to determine whether a
given pathname specifies a directory.

28 years agoAdd entries to file-primitive translation table to cover the new
Chris Hanson [Fri, 6 Sep 1996 16:51:54 +0000 (16:51 +0000)]
Add entries to file-primitive translation table to cover the new
primitives used to open files.

28 years agoAdded DEFINE-INTEGRABLE to list of specially formatted keywords.
Stephen Adams [Mon, 26 Aug 1996 20:42:45 +0000 (20:42 +0000)]
Added DEFINE-INTEGRABLE to list of specially formatted keywords.

28 years agoAdded X-GRAPHICS-DRAW-IMAGE-STRING.
Stephen Adams [Tue, 20 Aug 1996 03:48:13 +0000 (03:48 +0000)]
Added X-GRAPHICS-DRAW-IMAGE-STRING.

28 years agoMade traps work for HPUX 10.
Stephen Adams [Mon, 19 Aug 1996 18:46:52 +0000 (18:46 +0000)]
Made traps work for HPUX 10.

28 years agoFix illegal instructions that are rejected by the new HP assembler.
Chris Hanson [Mon, 12 Aug 1996 23:14:10 +0000 (23:14 +0000)]
Fix illegal instructions that are rejected by the new HP assembler.

28 years agoFixed kmp->ppp so that it doesnt barf on improper lists in RTL constants.
Stephen Adams [Thu, 1 Aug 1996 11:38:02 +0000 (11:38 +0000)]
Fixed kmp->ppp so that it doesnt barf on improper lists in RTL constants.

28 years agoFix thinko: only conditions are errors!
Stephen Adams [Wed, 31 Jul 1996 18:31:20 +0000 (18:31 +0000)]
Fix thinko: only conditions are errors!

28 years agoWrapped call-backs in error trapping code.
Stephen Adams [Wed, 31 Jul 1996 18:12:58 +0000 (18:12 +0000)]
Wrapped call-backs in error trapping code.

28 years agoAdded tags target.
Stephen Adams [Wed, 31 Jul 1996 16:15:36 +0000 (16:15 +0000)]
Added tags target.

28 years agoRouge ')'.
Stephen Adams [Tue, 30 Jul 1996 20:11:40 +0000 (20:11 +0000)]
Rouge ')'.

28 years agoFixed spelling of some procedure names.
Stephen Adams [Tue, 30 Jul 1996 19:52:55 +0000 (19:52 +0000)]
Fixed spelling of some procedure names.

28 years agoInitial revision
Stephen Adams [Tue, 30 Jul 1996 19:42:23 +0000 (19:42 +0000)]
Initial revision

28 years agoTyperew uses checking operations (e.g. CAR with type checks enabled,
Stephen Adams [Tue, 30 Jul 1996 19:29:57 +0000 (19:29 +0000)]
Typerew uses checking operations (e.g. CAR with type checks enabled,
or explicit calls to ERROR:WRONG-TYPE-ARGUMENT, etc) to deduce type
information about values in the program.  The assumption is that the
error signalling code never returns.

This set of changes makes these operations bulletproof by arranging
that the continuations of the error signalling procedures cannot
resume the code that was compiled under the types deduced from the
assumption.  The error continuations now `trap' by jumping to an
appropriate handler.

  fakeprim.scm
    New operator %halt.
    New operator %reference.

  errcont.scm
    Edits a program to replace continuations to error procedures
    (which typically merge back with the non-error case) with
    continuations that just call %halt.

  laterew.scm
    Eliminate %reference.

  rtlgen.scm
    Recognise continuations containing %halt and produce terse code to
    `trap' to the appropriate support procedure.

  simplify.scm
    Tweak to LETREC case for recognizing dead procedures earlier.
    This allows `diamond' code to be linearized in one pass rather than
    two.

  typerew.scm
    Changed to generate code to signal errors calling global procedure
    %COMPILED-CODE-SUPPORT:SIGNAL-ERROR-IN-PRIMITIVE

28 years agoInitial revision
Stephen Adams [Tue, 30 Jul 1996 19:00:42 +0000 (19:00 +0000)]
Initial revision

28 years agoFixed a bug where stackopt was getting confused if the
Stephen Adams [Tue, 30 Jul 1996 18:23:53 +0000 (18:23 +0000)]
Fixed a bug where stackopt was getting confused if the
%make-stack-closure operator was integrated as a (non-operator)
%constant.

28 years agoFixed arity and formatting problems.
Stephen Adams [Tue, 30 Jul 1996 16:54:58 +0000 (16:54 +0000)]
Fixed arity and formatting problems.

28 years agoAdded %COMPILED-CODE-SUPPORT:SIGNAL-ERROR-IN-PRIMITIVE.
Stephen Adams [Tue, 30 Jul 1996 16:26:51 +0000 (16:26 +0000)]
Added %COMPILED-CODE-SUPPORT:SIGNAL-ERROR-IN-PRIMITIVE.

28 years agoAdded COMPILED-CODE-SUPPORT:NONRESTARTABLE-CONTINUATION.
Stephen Adams [Tue, 30 Jul 1996 00:12:55 +0000 (00:12 +0000)]
Added COMPILED-CODE-SUPPORT:NONRESTARTABLE-CONTINUATION.

28 years agoChanged coercion code to use the global procedure
Stephen Adams [Sat, 27 Jul 1996 05:13:49 +0000 (05:13 +0000)]
Changed coercion code to use the global procedure
COERCE-TO-COMPILED-PROCEDURE rather than the primitive.

28 years agoRe-instated the iterative version of MAP.
Stephen Adams [Sat, 27 Jul 1996 04:46:06 +0000 (04:46 +0000)]
Re-instated the iterative version of MAP.
I keep getting bitten by long lists.

28 years agoAdded a flag to TYPE:USER-DESCRIPTION.
Stephen Adams [Sat, 27 Jul 1996 03:31:38 +0000 (03:31 +0000)]
Added a flag to TYPE:USER-DESCRIPTION.

28 years ago*** empty log message ***
Stephen Adams [Sat, 27 Jul 1996 03:30:17 +0000 (03:30 +0000)]
*** empty log message ***

28 years agoAdded info for %RECORD.
Stephen Adams [Sat, 27 Jul 1996 03:29:10 +0000 (03:29 +0000)]
Added info for %RECORD.

28 years agoTweaked integration.
Stephen Adams [Sat, 27 Jul 1996 02:43:15 +0000 (02:43 +0000)]
Tweaked integration.

28 years agoAvoid interrupt checks due solely to tailing into an ordinary
Stephen Adams [Fri, 26 Jul 1996 23:43:03 +0000 (23:43 +0000)]
Avoid interrupt checks due solely to tailing into an ordinary
(i.e. not apply-like) primitive.

28 years agoFixed logic bug with +0 and +1 arity encodings.
Stephen Adams [Fri, 26 Jul 1996 23:39:26 +0000 (23:39 +0000)]
Fixed logic bug with +0 and +1 arity encodings.
Added a missing else to a case expression.

28 years agomake random-state-tag define-integrable.
Stephen Adams [Fri, 26 Jul 1996 20:00:31 +0000 (20:00 +0000)]
make random-state-tag define-integrable.

28 years agoReorganized and extended code.
Stephen Adams [Fri, 26 Jul 1996 19:57:38 +0000 (19:57 +0000)]
Reorganized and extended code.

28 years agoFixed load sequence bug.
Stephen Adams [Fri, 26 Jul 1996 14:58:55 +0000 (14:58 +0000)]
Fixed load sequence bug.

28 years agoInitial cut at writing COERCE-TO-COMPILED-PROCEDURE in Scheme. The
Stephen Adams [Fri, 26 Jul 1996 14:38:26 +0000 (14:38 +0000)]
Initial cut at writing COERCE-TO-COMPILED-PROCEDURE in Scheme.  The
next change will be to make the compiler generate calls to this
procedure rather than the primitive COERCE-TO-COMPILED-PROCEDURE,
which should result in both faster generation and invocation of
trampolines.

Eventually we might make the linker use this code too.

The code is a bit hairy and needs special initialization, hence the
changes in make.scm.

28 years agoInitial revision
Stephen Adams [Fri, 26 Jul 1996 14:25:07 +0000 (14:25 +0000)]
Initial revision

28 years agoTweaked format of time reports so that the non-gc process time is
Stephen Adams [Fri, 26 Jul 1996 01:01:44 +0000 (01:01 +0000)]
Tweaked format of time reports so that the non-gc process time is
always first.

28 years agoFixed bug: LEXPR primitive were being mistaken as having the wrong
Stephen Adams [Fri, 26 Jul 1996 00:59:26 +0000 (00:59 +0000)]
Fixed bug: LEXPR primitive were being mistaken as having the wrong
arity and thus were being applied via short_circuit_apply_n.

28 years agoAdded new stack frame type for preservation frames (restore-regs).
Stephen Adams [Fri, 26 Jul 1996 00:36:11 +0000 (00:36 +0000)]
Added new stack frame type for preservation frames (restore-regs).
Added a debugging-info method.

Changed the illegal-arg error handler for primitive procedures to
avoid using retry restarts when the primitive signalled a type or
range error when called from compiled code.  This is necessary because
the compiler assumes that if it calls a primitive just to raise an
error then teh primitive will not return.  This assumption allows type
inference to eliminate furthur checks.

In order to stop the debugger returning a value, the primitive should
be called `indirectly' via another compiler procedure which refuses to
return.  I.e instead of compiling the error CAR operation as
INVOKE:PRIMITIVE

  (#[primitive-procedure car] x)

call it like this:

  (signal-primitive-error '#[primitive-procedure car] x)

where SIGNAL-PRIMITIVE-ERROR is compiled like this:

  (define (signal-primitive-error primitive . arguments)
     (apply primitive arguments)
     (error "..."))

28 years agoFixed missing argument bug.
Stephen Adams [Wed, 24 Jul 1996 23:42:04 +0000 (23:42 +0000)]
Fixed missing argument bug.

28 years agoFixed typo.
Stephen Adams [Wed, 24 Jul 1996 22:56:34 +0000 (22:56 +0000)]
Fixed typo.

28 years agoFixed a bug with constant folding binary operators: the continuation
Stephen Adams [Wed, 24 Jul 1996 22:32:30 +0000 (22:32 +0000)]
Fixed a bug with constant folding binary operators: the continuation
was being ignored.

Added a whole bunch of code to rewrite return (and calls with few
arguments) sequences that are passing an inlined predicate or
conditional expression.
For limited cases, for example, returning (null? x) or tail-calling, e.g.
  (f (if (pair? x) (car x) #F))
there is small benefit.

28 years agoMade extra arguments in some calls (e.g. %internal-apply) explicit to
Stephen Adams [Wed, 24 Jul 1996 17:07:07 +0000 (17:07 +0000)]
Made extra arguments in some calls (e.g. %internal-apply) explicit to
COMPAT/REWRITE-CALL/SPLIT.

28 years agoAdded code so that %RECORD-REF/SET! at known index 0 does not do a
Stephen Adams [Wed, 24 Jul 1996 15:11:44 +0000 (15:11 +0000)]
Added code so that %RECORD-REF/SET! at known index 0 does not do a
range check.  %RECORDs are always created with at least a descriptor
slot.

28 years agoImproved hashing of flonums.
Stephen Adams [Wed, 24 Jul 1996 04:44:06 +0000 (04:44 +0000)]
Improved hashing of flonums.