mit-scheme.git
27 years agoEliminate old and incompatible definition of READ-LINE.
Chris Hanson [Tue, 4 Nov 1997 09:27:31 +0000 (09:27 +0000)]
Eliminate old and incompatible definition of READ-LINE.

27 years agoUse newly-extended OPEN-TCP-STREAM-SOCKET.
Chris Hanson [Sat, 1 Nov 1997 19:33:58 +0000 (19:33 +0000)]
Use newly-extended OPEN-TCP-STREAM-SOCKET.

27 years agoChange OPEN-TCP-STREAM-SOCKET and OPEN-UNIX-STREAM-SOCKET to return
Chris Hanson [Sat, 1 Nov 1997 19:21:16 +0000 (19:21 +0000)]
Change OPEN-TCP-STREAM-SOCKET and OPEN-UNIX-STREAM-SOCKET to return
one port instead of two, and to allow optional arguments to specify
the buffer size and line translation.  Increase the default buffer
size to 4096 bytes.

27 years agoChange OPEN-TCP-STREAM-SOCKET and OPEN-UNIX-STREAM-SOCKET to return
Chris Hanson [Sat, 1 Nov 1997 19:19:39 +0000 (19:19 +0000)]
Change OPEN-TCP-STREAM-SOCKET and OPEN-UNIX-STREAM-SOCKET to return
one port instead of two, and to allow optional arguments to specify
the buffer size and line translation.  Increase the default buffer
size to 4096 bytes.

27 years agoChange default line translation for TCP stream sockets. These almost
Chris Hanson [Sat, 1 Nov 1997 19:12:16 +0000 (19:12 +0000)]
Change default line translation for TCP stream sockets.  These almost
always use CR/LF, regardless of the operating system.

27 years agoFix to match change in "osio.h".
Chris Hanson [Sat, 1 Nov 1997 19:09:16 +0000 (19:09 +0000)]
Fix to match change in "osio.h".

27 years agoAdd new procedure OS/HOSTNAME.
Chris Hanson [Sat, 1 Nov 1997 07:36:14 +0000 (07:36 +0000)]
Add new procedure OS/HOSTNAME.

27 years agoOS/HOSTNAME now defined in runtime system.
Chris Hanson [Sat, 1 Nov 1997 07:33:44 +0000 (07:33 +0000)]
OS/HOSTNAME now defined in runtime system.

27 years agoAdd new primitives GET-HOST-NAME and CANONICAL-HOST-NAME.
Chris Hanson [Sat, 1 Nov 1997 07:27:36 +0000 (07:27 +0000)]
Add new primitives GET-HOST-NAME and CANONICAL-HOST-NAME.

27 years agoAdd new primitives GET-HOST-NAME and CANONICAL-HOST-NAME.
Chris Hanson [Sat, 1 Nov 1997 07:19:26 +0000 (07:19 +0000)]
Add new primitives GET-HOST-NAME and CANONICAL-HOST-NAME.

27 years agoAdd new primitives GET-HOST-NAME and CANONICAL-HOST-NAME.
Chris Hanson [Sat, 1 Nov 1997 07:10:30 +0000 (07:10 +0000)]
Add new primitives GET-HOST-NAME and CANONICAL-HOST-NAME.

27 years agoAdd generalized mechanism for formation of mail return address. The
Chris Hanson [Fri, 31 Oct 1997 01:24:24 +0000 (01:24 +0000)]
Add generalized mechanism for formation of mail return address.  The
new mechanism matches that of Emacs.

27 years agoPartially undo last change. Time-stamp problem is more complicated
Chris Hanson [Sun, 26 Oct 1997 09:32:53 +0000 (09:32 +0000)]
Partially undo last change.  Time-stamp problem is more complicated
than I originally thought.

27 years agoChange method used to get file information. It turns out that
Chris Hanson [Sun, 26 Oct 1997 09:15:18 +0000 (09:15 +0000)]
Change method used to get file information.  It turns out that
GetFileInformationByHandle is returning incorrect time stamps for
files on a Samba filesystem, but FindFirstFile returns correct time
stamps in the same circumstance.  This discrepancy becomes apparent
when switching between daylight-savings and standard time.

27 years agoAdd socket and gdbm support for Win32.
Chris Hanson [Sun, 26 Oct 1997 08:05:37 +0000 (08:05 +0000)]
Add socket and gdbm support for Win32.

27 years agoAdd socket support for Win32.
Chris Hanson [Sun, 26 Oct 1997 08:05:01 +0000 (08:05 +0000)]
Add socket support for Win32.

27 years agoInitial revision
Chris Hanson [Sun, 26 Oct 1997 08:03:37 +0000 (08:03 +0000)]
Initial revision

27 years agoAdd support for compressed and encrypted files.
Chris Hanson [Sun, 26 Oct 1997 01:35:59 +0000 (01:35 +0000)]
Add support for compressed and encrypted files.

27 years agoAdd support for Blowfish and MD5.
Chris Hanson [Sat, 25 Oct 1997 22:43:43 +0000 (22:43 +0000)]
Add support for Blowfish and MD5.

27 years agoAdd ability to handle named pipes. This should be all that is
Chris Hanson [Sat, 25 Oct 1997 07:40:26 +0000 (07:40 +0000)]
Add ability to handle named pipes.  This should be all that is
necessary to manage the client side of a named pipe.

27 years agoFix problem with previous change. Must explicitly close the handle
Chris Hanson [Sat, 25 Oct 1997 07:38:45 +0000 (07:38 +0000)]
Fix problem with previous change.  Must explicitly close the handle
copies that are passed to the subprocess.  Otherwise the pipe won't be
deleted at the appropriate time, and PeekNamedPipe won't be able to
tell when the child closes its write handle.

27 years agoFix method used to pass stdio handles to a subprocess. Method used by
Chris Hanson [Sat, 25 Oct 1997 00:15:13 +0000 (00:15 +0000)]
Fix method used to pass stdio handles to a subprocess.  Method used by
Emacs, and recommended in (some parts of) the M$ documentation,
involves side-effects to Scheme's stdio handles.  Better method is to
use the STARTUPINFO datastructure to tell CreateProcess what handles
to use -- no side-effects.

27 years ago* Change channel data structure. Now, instead of being tagged with a
Chris Hanson [Fri, 24 Oct 1997 07:25:05 +0000 (07:25 +0000)]
* Change channel data structure.  Now, instead of being tagged with a
  "type", it is tagged with a "class".  The "class" has associated
  operations, so that basic channel operations such as reading and
  writing are generic.  This change allows the code to be modularized
  a bit better, and will facilitate the introduction of sockets.

* Eliminate the procedure NT_pipe_channel_available, replacing it with
  the generic procedure NT_channel_n_read.

* Eliminate references to long-obsolete "console" stuff.

* Change file-pointer positioning code to use SetFilePointer rather
  than __llseek.

* Don't try to signal an error if MsgWaitForMultipleObjects returns an
  unexpected answer -- only if it returns WAIT_FAILED.  We are only
  using it as a mechanism for blocking.

* Make cosmetic changes, eliminating unnecessary instances of "DEFUN"
  and the like.  These were introduced for unix, because there were
  non-ANSI compilers at that time.  On NT, all compilers are ANSI.

27 years agoIn OS_process_wait, replace use of Sleep and WaitForSingleObject with
Chris Hanson [Fri, 24 Oct 1997 07:24:07 +0000 (07:24 +0000)]
In OS_process_wait, replace use of Sleep and WaitForSingleObject with
MsgWaitForMultipleObjects, so that the procedure responds immediately
whenever anything interesting happens.

27 years agoFix bugs in code that terminates a subprocess. Make sure that
Chris Hanson [Fri, 24 Oct 1997 06:55:43 +0000 (06:55 +0000)]
Fix bugs in code that terminates a subprocess.  Make sure that
subprocess handles are closed at the appropriate times.

27 years agoWhen killing a subprocess on NT, close our end of the channels talking
Chris Hanson [Fri, 24 Oct 1997 06:47:56 +0000 (06:47 +0000)]
When killing a subprocess on NT, close our end of the channels talking
to the subprocess.  It turns out that some processes don't close
properly until this is done.

27 years agoFix typo in previous change.
Chris Hanson [Wed, 22 Oct 1997 23:01:16 +0000 (23:01 +0000)]
Fix typo in previous change.

27 years agoChange OS/MAKE-SUBPROCESS to use new OS-specific primitive.
Chris Hanson [Wed, 22 Oct 1997 20:00:47 +0000 (20:00 +0000)]
Change OS/MAKE-SUBPROCESS to use new OS-specific primitive.

27 years agoFix bugs from most recent changes.
Chris Hanson [Wed, 22 Oct 1997 20:00:17 +0000 (20:00 +0000)]
Fix bugs from most recent changes.

27 years agoUse new unix-specific primitive to start subprocesses.
Chris Hanson [Wed, 22 Oct 1997 07:26:34 +0000 (07:26 +0000)]
Use new unix-specific primitive to start subprocesses.

27 years agoImplemented a pattern based peephole optimizer.
Stephen Adams [Wed, 22 Oct 1997 06:47:47 +0000 (06:47 +0000)]
Implemented a pattern based peephole optimizer.

Main improvements:

 1. every CONS-[MULTI]CLOSURE saves one instruction
 2. most funcalls save one stack access
 3. fixnum arithmetic (plus and minus constants)
 4. fixnum case of generic add/subtract constant
 5. fixnum bitwise operations with constants (and/or/not)

1 and 2 give about 5% on closure/funcall heavy code.

3-5 are improvements made possible by the screwy fixnum tag.
`Natural' fixnum tags would make them obsolete (but some of the
rewrites are as good). 5 improves hash table operations up to 10% due
to how `flags' are implemented.

27 years agoEliminate compiler warnings.
Chris Hanson [Wed, 22 Oct 1997 05:40:53 +0000 (05:40 +0000)]
Eliminate compiler warnings.

27 years agoAdd missing include.
Chris Hanson [Wed, 22 Oct 1997 05:40:36 +0000 (05:40 +0000)]
Add missing include.

27 years agoImplement subprocess support under NT. Requires runtime 14.174 or
Chris Hanson [Wed, 22 Oct 1997 05:31:29 +0000 (05:31 +0000)]
Implement subprocess support under NT.  Requires runtime 14.174 or
later.

27 years agoExtensive reworking of the "select" interface, so that it can work
Chris Hanson [Wed, 22 Oct 1997 05:27:26 +0000 (05:27 +0000)]
Extensive reworking of the "select" interface, so that it can work
with pipes.  We no longer use the NT API calls, since they don't work
at all with pipes; instead we use simpler tests and depend on the
regular arrival of messages to get us out of the blocking state to
poll the other input channels.  Regular message delivery is guaranteed
by the asynchronous timer thread.

27 years agoInitial revision
Chris Hanson [Wed, 22 Oct 1997 05:26:45 +0000 (05:26 +0000)]
Initial revision

27 years agoDeprecate operating-system-independent interface OS_make_subprocess.
Chris Hanson [Wed, 22 Oct 1997 05:25:31 +0000 (05:25 +0000)]
Deprecate operating-system-independent interface OS_make_subprocess.
New interface is OS-specific, moving pecularities (e.g. converting
unix-style argument vector to OS/2-style command line) into the
runtime system.  New OS-independent interface
OS_process_any_status_change.

27 years agoAdd code to create anonymous pipes, to determine how many characters
Chris Hanson [Wed, 22 Oct 1997 05:23:25 +0000 (05:23 +0000)]
Add code to create anonymous pipes, to determine how many characters
are in the pipe given the read end of the pipe, and to implement
non-blocking mode when reading a pipe.  Fix OS_channel_write to
generate correct error messages.

27 years agoChange PROCESS-ID primitive to assume that the ID is unsigned.
Chris Hanson [Wed, 22 Oct 1997 05:22:31 +0000 (05:22 +0000)]
Change PROCESS-ID primitive to assume that the ID is unsigned.

27 years agoDefine reasonable (unsigned) type for pid_t under NT.
Chris Hanson [Wed, 22 Oct 1997 05:22:06 +0000 (05:22 +0000)]
Define reasonable (unsigned) type for pid_t under NT.

27 years agoEliminate compiler warning.
Chris Hanson [Wed, 22 Oct 1997 05:21:25 +0000 (05:21 +0000)]
Eliminate compiler warning.

27 years agoChanges to support subprocesses under NT. Requires microcode version
Chris Hanson [Wed, 22 Oct 1997 05:18:12 +0000 (05:18 +0000)]
Changes to support subprocesses under NT.  Requires microcode version
11.159 or later.

27 years agoChange MAKE-SUBPROCESS to define new interface to allow OS-specific
Chris Hanson [Wed, 22 Oct 1997 05:16:01 +0000 (05:16 +0000)]
Change MAKE-SUBPROCESS to define new interface to allow OS-specific
code to do the work of starting the subprocess.

27 years agoUse real subprocess support for NT.
Chris Hanson [Wed, 22 Oct 1997 05:11:11 +0000 (05:11 +0000)]
Use real subprocess support for NT.

27 years agoUse COMSPEC environment variable to determine shell file name if SHELL
Chris Hanson [Wed, 22 Oct 1997 05:10:03 +0000 (05:10 +0000)]
Use COMSPEC environment variable to determine shell file name if SHELL
is not defined.

27 years agoChange test used to decide whether an unreadable file exists. The
Chris Hanson [Wed, 22 Oct 1997 01:21:11 +0000 (01:21 +0000)]
Change test used to decide whether an unreadable file exists.  The
procedure FILE-EXISTS? gives the wrong answer when the file is a
symbolic link that points to a non-existent file.

27 years agoAdd code to synchronize the shutdown of the asyncronous timer thread
Chris Hanson [Sat, 18 Oct 1997 03:51:24 +0000 (03:51 +0000)]
Add code to synchronize the shutdown of the asyncronous timer thread
with the deallocation of the associated state.  Otherwise, the race
condition causes occasional GPFs when exiting Scheme.

27 years agoChanged consing code to compute the tagged pointer after storing the
Stephen Adams [Fri, 17 Oct 1997 20:24:18 +0000 (20:24 +0000)]
Changed consing code to compute the tagged pointer after storing the
elements.  This reduces register pressure across the consing sequence.
Rearranged consing expression to share a common algorithm, eliminating
80 lines of code.

27 years agoAdded some comments.
Stephen Adams [Fri, 17 Oct 1997 01:32:18 +0000 (01:32 +0000)]
Added some comments.

27 years agoChanged the instruction sequence for procedure return (and computed
Stephen Adams [Fri, 17 Oct 1997 01:25:41 +0000 (01:25 +0000)]
Changed the instruction sequence for procedure return (and computed
jump).  The code for clearing the type code from a continuation now
loads the value into a register instead of modifying it in-place on
the stack.

I have left the code using an indirect jump.  An alternative is to
push the value back on the stack and do a RET.  The indirect jump
seems faster, especially when returning to the same address as the
previous jump, but the branch prediction mechanisms for RET and JMP
seem quite different.

Speeds up the modified Gabriel Benchmark Suite (/scheme/8.0/src/bench)
by 10% overall!  I guess this is because the Pentium Pro really
doesn't like the old read-modify-write instruction.

Test       Old    New   Ratio
ctak      11.59  11.54  0.996
conform    0.62   0.50  0.806
traverse   1.57   0.92  0.586
takl       0.23   0.20  0.870
peval      0.40   0.35  0.875
browse     0.59   0.56  0.949
tak        0.28   0.25  0.893
wttree     1.61   1.49  0.925
deriv      0.34   0.29  0.853
boyer      0.47   0.42  0.894
div        0.42   0.39  0.929
dderiv     0.44   0.38  0.864
cpstak     0.42   0.41  0.976
matmul1    0.27   0.27  1.000
fib        0.68   0.55  0.809
fcomp      0.61   0.54  0.885
triangle   2.89   2.36  0.817
puzzle     0.47   0.47  1.000
matmul2    0.66   0.69  1.045
destruct   0.28   0.28  1.000
~a.mean       -      -  0.899
~g.mean       -      -  0.892

27 years agoMoved open-coding of VECTOR?, %RECORD? and CHAR? from SF to
Stephen Adams [Wed, 15 Oct 1997 03:25:55 +0000 (03:25 +0000)]
Moved open-coding of VECTOR?, %RECORD? and CHAR? from SF to
open-coders in compiler.

27 years agoFix typo.
Stephen Adams [Wed, 15 Oct 1997 01:22:00 +0000 (01:22 +0000)]
Fix typo.

27 years agoAdded primitive CHAR?
Stephen Adams [Wed, 15 Oct 1997 01:17:07 +0000 (01:17 +0000)]
Added primitive CHAR?

27 years agoAdded primitives VECTOR? and %RECORD?
Stephen Adams [Wed, 15 Oct 1997 00:52:15 +0000 (00:52 +0000)]
Added primitives VECTOR? and %RECORD?

27 years agoAdded open-coding for MAKE-CELL.
Stephen Adams [Tue, 14 Oct 1997 14:20:05 +0000 (14:20 +0000)]
Added open-coding for MAKE-CELL.

27 years agoImproved disassembly output:
Stephen Adams [Fri, 10 Oct 1997 21:06:19 +0000 (21:06 +0000)]
Improved disassembly output:

 - New comments to the right of LAP code, mostly the address of @pco
   branches so you can see where it is jumping.

 - correctly decodes the word field after a

(call (entry short-primitive-apply))

   rather than trying to disassemble the offset as instructions and
   getting out of sync with the subsequent instructions.

27 years agoUse `cp -p' to preserve file times.
Stephen Adams [Tue, 7 Oct 1997 19:35:48 +0000 (19:35 +0000)]
Use `cp -p' to preserve file times.

27 years agouse `cp -p' to preserve file times.
Stephen Adams [Tue, 7 Oct 1997 19:34:24 +0000 (19:34 +0000)]
use `cp -p' to preserve file times.

27 years agoUse `cp -p' to preserve file times.
Stephen Adams [Tue, 7 Oct 1997 19:33:49 +0000 (19:33 +0000)]
Use `cp -p' to preserve file times.

27 years agoTypo in previous change.
Stephen Adams [Tue, 7 Oct 1997 19:29:13 +0000 (19:29 +0000)]
Typo in previous change.

27 years agoFixed so that "1/pivot" is rejected as a number, rather than dividing
Stephen Adams [Tue, 7 Oct 1997 04:19:46 +0000 (04:19 +0000)]
Fixed so that "1/pivot" is rejected as a number, rather than dividing
by zero.  Change: divide only if there is at least one denominator
digit.

This is not a good fix, but I need it now for some existing code.  The
parser ought to be restructured not to compute the real part until it
is known that the imaginary part is valid, e.g.

(string->number "1/2+3")  => #F
(string->number "1/0+3")  => error
(string->number "1/0-transition")  => error

There is a similar problem with exponent calculation:

(string->number "1e9999e1")  => error
(string->number "1e99999999e1")  => `hangs' in bignum primitives

Of course, the difficulty with these non-numbers is probably the
reason behind R4RS's restriction on valid identifiers.  That is pretty
feeble, since I don't recall R4RS saying that STRING->NUMBER is
allowed to signal an error.  Note that the current code would work
fine in a lazy language, so a few DELAYs and FORCEs might be the most
elegant fix (and OK effciency since FORCE is now compiled.)

27 years agoChanged compuation of pc_in_C: with dynamically loaded libraries,
Stephen Adams [Sun, 5 Oct 1997 05:44:37 +0000 (05:44 +0000)]
Changed compuation of pc_in_C: with dynamically loaded libraries,
there is no guarantee that valid C addressed are bounded above by
_etext.

27 years agoThinko in replacements for INTEGER-NEGATIVE? and INTEGER-POSITIVE?
Stephen Adams [Fri, 3 Oct 1997 13:43:41 +0000 (13:43 +0000)]
Thinko in replacements for INTEGER-NEGATIVE? and INTEGER-POSITIVE?
(was doing fixnum replacement for known-to-be exact integer arguments
rather than known-to-be fixnum arguments.

27 years agoFix typo.
Chris Hanson [Fri, 3 Oct 1997 07:26:54 +0000 (07:26 +0000)]
Fix typo.

27 years agoFix typo in previous change.
Chris Hanson [Fri, 3 Oct 1997 06:00:26 +0000 (06:00 +0000)]
Fix typo in previous change.

27 years agoFix typo in instructions.
Stephen Adams [Thu, 2 Oct 1997 20:10:10 +0000 (20:10 +0000)]
Fix typo in instructions.

27 years agoAdded -export-dynamic to the LD switches so that SWAT (and other
Stephen Adams [Thu, 2 Oct 1997 19:52:53 +0000 (19:52 +0000)]
Added -export-dynamic to the LD switches so that SWAT (and other
dynamic libraries) can load.

27 years agoChanged %STRING-APPEND to (APPLY STRING-APPEND ...) because someone
Stephen Adams [Thu, 2 Oct 1997 19:19:44 +0000 (19:19 +0000)]
Changed %STRING-APPEND to (APPLY STRING-APPEND ...) because someone
removed %STRING-APPEND from the system.

27 years agoFixed copyright date and Package: comment.
Stephen Adams [Thu, 2 Oct 1997 19:16:40 +0000 (19:16 +0000)]
Fixed copyright date and Package: comment.

27 years agoChange M-A to work better with parameter lists containing uninterned
Chris Hanson [Thu, 2 Oct 1997 04:49:58 +0000 (04:49 +0000)]
Change M-A to work better with parameter lists containing uninterned
symbols.

27 years agoTweak output for RTL and LAP files to include the pretty-printed
Stephen Adams [Thu, 2 Oct 1997 00:11:42 +0000 (00:11 +0000)]
Tweak output for RTL and LAP files to include the pretty-printed
SCode.  In LAP files, make RTL comments more terse by printing them
with ";;" rather than "(comment (rtl"

27 years agoFix bug: marked messages that had been deleted from the server were
Chris Hanson [Tue, 30 Sep 1997 02:21:32 +0000 (02:21 +0000)]
Fix bug: marked messages that had been deleted from the server were
remaining marked after downloading of message bodies.

27 years agoThe following change in how WIN32 graphics devices are flushed gives
Stephen Adams [Fri, 26 Sep 1997 19:53:02 +0000 (19:53 +0000)]
The following change in how WIN32 graphics devices are flushed gives
non-flickering update almost like double-buffering for programs which
have to draw multiple frames from scratch.

If graphics buffering is enabled, then a GRAPHICS-FLUSH operation
comes from the user's program.  The change is to synchronously redraw
the screen in this (i.e. buffered+flush) case.  Subsequent operations
can clear and draw without an asynchronous redraw operation copying
the subsequent partial image to the screen.

This is not quite double-buffering since forced redisplay during the
buffered drawing (for example, uncovering part of the window) will
cause the partly draw backing bitmap to be copied to the screen.

User programs with buffering and frequent explicit flushes are likely
to be slower.

27 years agoAdded hlsim documentation.
Stephen Adams [Tue, 26 Aug 1997 15:20:29 +0000 (15:20 +0000)]
Added hlsim documentation.

27 years agoFix bug: low-level file reading code was occasionally signalling
Chris Hanson [Sun, 24 Aug 1997 04:05:55 +0000 (04:05 +0000)]
Fix bug: low-level file reading code was occasionally signalling
errors for no apparent reason.  The cause: the ReadFile API can return
an error indication when it is called at end-of-file.  However, in
ONLY this case, the returned "bytesRead" value is zero.

27 years agoTrim any trailing end-of-line from system-call error strings.
Chris Hanson [Sun, 24 Aug 1997 04:03:53 +0000 (04:03 +0000)]
Trim any trailing end-of-line from system-call error strings.

27 years agoClip ranges immediately after a group is constructed, in order to
Chris Hanson [Sat, 23 Aug 1997 06:30:37 +0000 (06:30 +0000)]
Clip ranges immediately after a group is constructed, in order to
eliminate old markings.

27 years agoWork around problem in NT: prompting for a directory with a wildcard
Chris Hanson [Sat, 23 Aug 1997 05:20:15 +0000 (05:20 +0000)]
Work around problem in NT: prompting for a directory with a wildcard
was causing an error.  On unix, this works because FILE-DIRECTORY?
accepts such specifications as arguments -- but on NT, it doesn't.

27 years agoInitial revision
Chris Hanson [Sat, 23 Aug 1997 02:52:23 +0000 (02:52 +0000)]
Initial revision

27 years agoEliminate several calls to the C library in favor of native Win32 API
Chris Hanson [Sat, 23 Aug 1997 02:52:10 +0000 (02:52 +0000)]
Eliminate several calls to the C library in favor of native Win32 API
calls.  This was started to work around a bug in the Watcom C library,
but is generally desirable to eliminate unnecessary dependencies on
the C library.

The bug that started this is that FILE-DIRECTORY? returned #F on
directories with the FILE_ATTRIBUTE_ARCHIVE bit set.

27 years agoAdd new file "ntfs.h".
Chris Hanson [Sat, 23 Aug 1997 02:48:18 +0000 (02:48 +0000)]
Add new file "ntfs.h".

27 years agoEliminate conditionalization on OS_open_append_file; this procedure
Chris Hanson [Fri, 22 Aug 1997 16:33:14 +0000 (16:33 +0000)]
Eliminate conditionalization on OS_open_append_file; this procedure
compiles and runs just fine and probably should not have been
conditionalized in the first place.

27 years agoAdjusted indentation to be consistent with 7.4 version.
Stephen Adams [Tue, 12 Aug 1997 19:37:32 +0000 (19:37 +0000)]
Adjusted indentation to be consistent with 7.4 version.

27 years agoAdd switch to disable canonicalization of symbol case by reader.
Chris Hanson [Fri, 8 Aug 1997 21:29:38 +0000 (21:29 +0000)]
Add switch to disable canonicalization of symbol case by reader.

27 years agoFix bug in Scheme mode C-c C-s that could cause already-deleted
Chris Hanson [Sun, 3 Aug 1997 06:44:39 +0000 (06:44 +0000)]
Fix bug in Scheme mode C-c C-s that could cause already-deleted
buffers to be selected.  I don't understand why these buffers are
still in this list because there is code to remove them.

27 years agoDon't lose if directories in info-directory-list are lacking the
Chris Hanson [Sat, 2 Aug 1997 06:49:05 +0000 (06:49 +0000)]
Don't lose if directories in info-directory-list are lacking the
trailing slash.

27 years agoFix bug in last change - apply STRING->SYMBOL to the string, not the
Stephen Adams [Thu, 31 Jul 1997 18:33:07 +0000 (18:33 +0000)]
Fix bug in last change - apply STRING->SYMBOL to the string, not the
`constant' expression containing the string.

27 years ago7.4: Fixed STRING->SYMBOL expansion to test that it's argument is a
Stephen Adams [Thu, 31 Jul 1997 10:40:38 +0000 (10:40 +0000)]
7.4: Fixed STRING->SYMBOL expansion to test that it's argument is a
constant whose value is a string rather than applying STRING?
directly (which has been broken since it was added in 1992.)  Fixed
INTERN likewise.

8.0: treat INTERN similarly to STRING->SYMBOL: Add INTERN as a
integrated to a global reference.  Added type rule and constant
folding rule for intern. (This is better than constant folding at
integration time since it deals with constant propagation.)

27 years agoThe previous change to make the output with '(ABSOLUTE <N> ...)
Stephen Adams [Mon, 28 Jul 1997 18:19:05 +0000 (18:19 +0000)]
The previous change to make the output with '(ABSOLUTE <N> ...)
produce the correct number of digits for numbers with no significant
digits introduced problems with NORMAL rounded and ENGINEERING
formatted output.  All NORMAL rounded output for numbers of the form
ddd.ff were being output as "000.".  Some numbers formatted with
'(ABSOLUTE <N> ENGINEERING) looked like "000e-3".

This has been fixed by

  (1) setting the cutoff for NORMAL rounded numbers to be a value that
      will allow the digit production to run to completion
      (flo:significand-digits - 2).

  (2) adding special cases in the output procedures to deal with empty
      digit strings.

Currently:

Zero still prints as "0." by the initial sign/infinity/NaN dispatch.

Rounded output in NORMAL style for numbers with no significant digits
prints as "0." or "-0.".

Rounded output in SCIENTIFIC / ENGINEERING style for numbers with no
significant digits prints as "0eE" or "-0eE", e.g. "-0e3".

It might be preferable to keep "0." distinguished for zero, but I'm
not sure how for NORMAL formatted output.  (To my eyes, "0.0" looks
more `zero' than "0.", and ".0" implies a small magnitude.)

A small regression test has been appended in a comment to help avoid
problems in future.  Feel free to add tests.

27 years agoProvide the ability for a user to specify how the digits generated by
Chris Hanson [Sat, 26 Jul 1997 07:40:41 +0000 (07:40 +0000)]
Provide the ability for a user to specify how the digits generated by
the flonum printer are converted into a string.

27 years agoFix another bug in the Dragon4 code (the bug exists in the original
Chris Hanson [Sat, 26 Jul 1997 07:14:37 +0000 (07:14 +0000)]
Fix another bug in the Dragon4 code (the bug exists in the original
paper).  The bug caused the following behavior:

    (fluid-let ((flonum-unparser-cutoff '(absolute 2 normal)))
      (number->string 0.005))
    ;Value 3: ".01"

    (fluid-let ((flonum-unparser-cutoff '(absolute 2 normal)))
      (number->string 0.00499))
    ;Value 4: ".005"

The problem is that in the second case the trailing digit "5" should
not be generated.  The fix works by preventing any digits being output
by the digit-generation loop when the first digit to be output would
be to the right of the cutoff point.

27 years agoReimplement encrypt-file and decrypt-file to eliminate the temporary
Chris Hanson [Fri, 25 Jul 1997 07:07:24 +0000 (07:07 +0000)]
Reimplement encrypt-file and decrypt-file to eliminate the temporary
storage of the plaintext in a buffer; this is both a security risk and
an unnecessary limitation on the size of the file.  Also, modify the
commands to provide more flexible handling of filenames.  Previously,
only the input file could be specified; now both the input and the
output can be specified, and the output is defaulted to a useful
value.

27 years agoFix bug in AFTER-FIND-FILE: code was assuming that every buffer had an
Chris Hanson [Mon, 21 Jul 1997 04:38:48 +0000 (04:38 +0000)]
Fix bug in AFTER-FIND-FILE: code was assuming that every buffer had an
AUTO-SAVE-PATHNAME.

Add new commands to encrypt and decrypt files using blowfish.

27 years agoAdd optional argument to KEYBOARD-READ which, if true, says that the
Chris Hanson [Mon, 21 Jul 1997 04:37:33 +0000 (04:37 +0000)]
Add optional argument to KEYBOARD-READ which, if true, says that the
key being read should not be recorded in the keyboard history.  This
option is used to prevent passwords from being stored in the history.

27 years agoFix bug: VC was causing a local binding of vc-mode-line-status to
Chris Hanson [Mon, 21 Jul 1997 04:36:12 +0000 (04:36 +0000)]
Fix bug: VC was causing a local binding of vc-mode-line-status to
appear in every buffer, when it should only be bound in buffers under
version control.

27 years agoFix bug: auto-save initialization was not looking for a local binding
Chris Hanson [Mon, 21 Jul 1997 04:34:58 +0000 (04:34 +0000)]
Fix bug: auto-save initialization was not looking for a local binding
of the variable auto-save-default.

27 years agoDon't use alternate pathnames when writing files; only when reading.
Chris Hanson [Mon, 21 Jul 1997 04:33:28 +0000 (04:33 +0000)]
Don't use alternate pathnames when writing files; only when reading.

27 years agoFix bug: end index in substring is exclusive, not inclusive.
Chris Hanson [Sun, 20 Jul 1997 06:38:55 +0000 (06:38 +0000)]
Fix bug: end index in substring is exclusive, not inclusive.
Repaginate.

27 years agoChanged error for non-root access to a warning, so at least we can get
Stephen Adams [Fri, 18 Jul 1997 04:03:01 +0000 (04:03 +0000)]
Changed error for non-root access to a warning, so at least we can get
a .crf file output.

27 years agoChanged FIXNUM->FLONUM back to using cast.
Stephen Adams [Fri, 18 Jul 1997 03:35:53 +0000 (03:35 +0000)]
Changed FIXNUM->FLONUM back to using cast.

I don't understand why the last change was made -- the cast should
have worked, since arg_fixnum() returns a long.  Perhaps I blew it and
tested it on 8.0 and just happen to have fixed the real problem at
about the same time.