mit-scheme.git
26 years agoAdd new primitive to return the size of the root window of a display.
Chris Hanson [Thu, 29 Jan 1998 05:48:38 +0000 (05:48 +0000)]
Add new primitive to return the size of the root window of a display.

26 years agoFinish previous change so that no reference is made to the Edwin info
Chris Hanson [Fri, 23 Jan 1998 05:26:51 +0000 (05:26 +0000)]
Finish previous change so that no reference is made to the Edwin info
directory at the time that the band is made.

26 years agoChange method used to determine whether image data is stored in a
Chris Hanson [Fri, 23 Jan 1998 05:15:11 +0000 (05:15 +0000)]
Change method used to determine whether image data is stored in a
string or a vector: don't use image depth, instead examine contents of
gray map to see if pixel values fit in string.

26 years agoFix bug: in new image design, gray map must always be a vector.
Chris Hanson [Fri, 23 Jan 1998 05:14:17 +0000 (05:14 +0000)]
Fix bug: in new image design, gray map must always be a vector.

26 years agoDon't load "floppy" unless running under HP-UX.
Chris Hanson [Fri, 23 Jan 1998 00:23:08 +0000 (00:23 +0000)]
Don't load "floppy" unless running under HP-UX.

26 years agoChange subprocess stuff to allow redisplay.
Chris Hanson [Fri, 23 Jan 1998 00:04:52 +0000 (00:04 +0000)]
Change subprocess stuff to allow redisplay.

26 years agoReconditionalize decision to use the hairy floppy stuff so that it
Chris Hanson [Fri, 23 Jan 1998 00:00:32 +0000 (00:00 +0000)]
Reconditionalize decision to use the hairy floppy stuff so that it
only happens on HP-UX.

26 years agoFix random bug caused by changes in revision 1.16.
Chris Hanson [Thu, 22 Jan 1998 23:28:54 +0000 (23:28 +0000)]
Fix random bug caused by changes in revision 1.16.

26 years agoFix problem caused by incorrect assumption that universal time is the
Chris Hanson [Thu, 22 Jan 1998 23:07:38 +0000 (23:07 +0000)]
Fix problem caused by incorrect assumption that universal time is the
same as unix file time.

26 years agoChanges for International keyboards on win32 systems.
Stephen Adams [Tue, 20 Jan 1998 18:40:57 +0000 (18:40 +0000)]
Changes for International keyboards on win32 systems.

ntscreen changed to work better with international keyboards.  The
changes peek into the event queue to see how the key presses have been
translated into characters.  Modifiers are also tracked to enable them
to be detected in parallel with keyboard translations (so that
modifier chords like C-M- are detected).

Characters now have 16 bits of character code (instead of 7) to allow
8-bit ISO latin and Unicode characters.  Strings are still based on
8-bit characters.

Runtime changed to allow these `wide' characters to be written and
read e.g. #\<code62834>

Edwin modes changed to treat characters in the range 128-255 as normal
alphabetic characters (to enable accented characters).

26 years agoDon't disable compressed and encrypted files. Info needs compressed
Chris Hanson [Tue, 20 Jan 1998 02:35:36 +0000 (02:35 +0000)]
Don't disable compressed and encrypted files.  Info needs compressed
files to do its job properly.

26 years agoAdd conditionalizations to give more control over the linking of
Chris Hanson [Tue, 20 Jan 1998 01:06:09 +0000 (01:06 +0000)]
Add conditionalizations to give more control over the linking of
termcap and X11 files.

26 years agoChange call `tparam' so that it does not depend on a feature only
Chris Hanson [Tue, 20 Jan 1998 00:58:43 +0000 (00:58 +0000)]
Change call `tparam' so that it does not depend on a feature only
available in GNU `tparam'.  This is important on GNU/Linux because it
allows us to statically link "ncurses".

This has the added benefit that it allows the "ncurses" stuff to work
correctly.  Previously, when using "ncurses", the screen was scrambled
so badly that it couldn't be used.  This appears to be a consequence
of the combination of GNU `tparam' with "ncurses".

26 years agoAdd code to dummy the file info for the root directory on Windows 95.
Chris Hanson [Fri, 9 Jan 1998 05:33:52 +0000 (05:33 +0000)]
Add code to dummy the file info for the root directory on Windows 95.

26 years agoAdd code to dummy the file info for the root directory on Windows 95.
Chris Hanson [Fri, 9 Jan 1998 05:31:21 +0000 (05:31 +0000)]
Add code to dummy the file info for the root directory on Windows 95.

26 years agoModify Windows printing so that it works on Windows 95, which doesn't
Chris Hanson [Thu, 8 Jan 1998 18:13:23 +0000 (18:13 +0000)]
Modify Windows printing so that it works on Windows 95, which doesn't
have the "print" program.

26 years agoModify Windows printing so that it works on Windows 95, which doesn't
Chris Hanson [Thu, 8 Jan 1998 18:13:07 +0000 (18:13 +0000)]
Modify Windows printing so that it works on Windows 95, which doesn't
have the "print" program.

26 years agoEliminate use of `GetHandleInformation', which is not implemented on
Chris Hanson [Thu, 8 Jan 1998 06:07:54 +0000 (06:07 +0000)]
Eliminate use of `GetHandleInformation', which is not implemented on
Windows 95.  Add conditionalized tracing code for input operations.

26 years agoAdd conditionalized code to trace process activity.
Chris Hanson [Thu, 8 Jan 1998 06:06:14 +0000 (06:06 +0000)]
Add conditionalized code to trace process activity.

26 years agoFix bug in Windows 95: when a subprocess exits, close its I/O ports.
Chris Hanson [Thu, 8 Jan 1998 05:59:11 +0000 (05:59 +0000)]
Fix bug in Windows 95: when a subprocess exits, close its I/O ports.
This is necessary because our code can get into a state where it is
trying to read from a subprocess pipe and needs to be told that the
other end of the pipe was closed.  This indication is supplied by
Windows NT, but does not appear to work properly under Windows 95.

26 years agoFix bug in Windows 95: when a subprocess exits, close its I/O ports.
Chris Hanson [Thu, 8 Jan 1998 05:58:22 +0000 (05:58 +0000)]
Fix bug in Windows 95: when a subprocess exits, close its I/O ports.
This is necessary because our code can get into a state where it is
trying to read from a subprocess pipe and needs to be told that the
other end of the pipe was closed.  This indication is supplied by
Windows NT, but does not appear to work properly under Windows 95.

26 years agoDetect FAT32 file system and treat it the same as VFAT.
Chris Hanson [Thu, 8 Jan 1998 05:56:11 +0000 (05:56 +0000)]
Detect FAT32 file system and treat it the same as VFAT.

26 years agoFix method used to compute the size of an image's data array.
Chris Hanson [Mon, 5 Jan 1998 06:22:47 +0000 (06:22 +0000)]
Fix method used to compute the size of an image's data array.
Previous method was little better than a guess -- and was wrong.  New
method is correct and uses advertised procedures to determine correct
values.

26 years agoImplement command-line option to specify student directory.
Chris Hanson [Sat, 3 Jan 1998 18:12:52 +0000 (18:12 +0000)]
Implement command-line option to specify student directory.

26 years agoChange how info-directory-list is initialized so that it always
Chris Hanson [Sat, 3 Jan 1998 05:53:51 +0000 (05:53 +0000)]
Change how info-directory-list is initialized so that it always
includes the distribution's directory.

26 years agoImplement Info directory-merging mechanism like that of Emacs. This
Chris Hanson [Sat, 3 Jan 1998 05:03:18 +0000 (05:03 +0000)]
Implement Info directory-merging mechanism like that of Emacs.  This
takes "dir" files from all of the directories in the Info directory
list and merges them into a single "dir" buffer.

26 years agoChange definition of DOS/DEFAULT-SHELL-FILE-NAME so that it is
Chris Hanson [Tue, 30 Dec 1997 21:19:30 +0000 (21:19 +0000)]
Change definition of DOS/DEFAULT-SHELL-FILE-NAME so that it is
computed at run time rather than at build time.  This is necessary
because a band created on Windows NT can be used on Windows 95, and
must have different values for each of these systems.

26 years agoInstall new X11 gray-map code that understands about high-color
Chris Hanson [Tue, 30 Dec 1997 05:43:34 +0000 (05:43 +0000)]
Install new X11 gray-map code that understands about high-color
displays.

26 years agoInstall new X11 gray-map code that understands about high-color
Chris Hanson [Tue, 30 Dec 1997 01:57:13 +0000 (01:57 +0000)]
Install new X11 gray-map code that understands about high-color
displays.

26 years agoInstall new X11 gray-map code that understands about high-color
Chris Hanson [Tue, 30 Dec 1997 01:53:33 +0000 (01:53 +0000)]
Install new X11 gray-map code that understands about high-color
displays.

26 years agoFix bug: CURRENT-HOME-DIRECTORY would signal an error when neither the
Chris Hanson [Tue, 30 Dec 1997 01:25:40 +0000 (01:25 +0000)]
Fix bug: CURRENT-HOME-DIRECTORY would signal an error when neither the
home directory nor the user name was available.  Now, it returns the
root of the system drive instead.

26 years agoFix typo.
Chris Hanson [Tue, 30 Dec 1997 00:02:14 +0000 (00:02 +0000)]
Fix typo.

26 years agoFix "stat" code to properly handle filenames ending in a backslash.
Chris Hanson [Mon, 29 Dec 1997 20:46:32 +0000 (20:46 +0000)]
Fix "stat" code to properly handle filenames ending in a backslash.
This was working fine on NT, but apparently fails on '95.

26 years agoAdd code to provide printing on NT.
Chris Hanson [Fri, 26 Dec 1997 23:46:41 +0000 (23:46 +0000)]
Add code to provide printing on NT.

26 years agoAdd code to provide printing on NT.
Chris Hanson [Fri, 26 Dec 1997 23:45:28 +0000 (23:45 +0000)]
Add code to provide printing on NT.

26 years agoAdd environment variable to specify the location of the 6.001 files.
Chris Hanson [Tue, 23 Dec 1997 05:16:15 +0000 (05:16 +0000)]
Add environment variable to specify the location of the 6.001 files.

26 years agoAdd environment variable to specify the location of the 6.001 files.
Chris Hanson [Tue, 23 Dec 1997 05:16:06 +0000 (05:16 +0000)]
Add environment variable to specify the location of the 6.001 files.

26 years agoAdd additional environment variable to check in order to find the
Chris Hanson [Tue, 23 Dec 1997 05:09:01 +0000 (05:09 +0000)]
Add additional environment variable to check in order to find the
Windows 95 system directory.

26 years agoAdd "-edit" command-line option to simplify starting editor.
Chris Hanson [Tue, 23 Dec 1997 04:37:03 +0000 (04:37 +0000)]
Add "-edit" command-line option to simplify starting editor.

26 years agoAdd additional environment variable to check in order to find the
Chris Hanson [Tue, 23 Dec 1997 02:27:11 +0000 (02:27 +0000)]
Add additional environment variable to check in order to find the
Windows 95 system directory.

26 years agoMake graphics work for OS/2 and WIN32 as well as X.
Stephen Adams [Thu, 11 Dec 1997 02:51:50 +0000 (02:51 +0000)]
Make graphics work for OS/2 and WIN32 as well as X.
Update copyright.

26 years agoChanged error report for duplicate names to explicitly mention the
Stephen Adams [Tue, 2 Dec 1997 05:53:21 +0000 (05:53 +0000)]
Changed error report for duplicate names to explicitly mention the
duplicated names.

26 years agoChange font-name parsing code so that it will properly parse fonts
Chris Hanson [Sat, 29 Nov 1997 04:37:25 +0000 (04:37 +0000)]
Change font-name parsing code so that it will properly parse fonts
whose names begin with a digit.

27 years agoAdd some missing packages to the Win32 implementation.
Chris Hanson [Thu, 20 Nov 1997 05:51:58 +0000 (05:51 +0000)]
Add some missing packages to the Win32 implementation.

27 years agoDefine process filter to strip carriage-returns from the output of a
Chris Hanson [Thu, 20 Nov 1997 05:51:30 +0000 (05:51 +0000)]
Define process filter to strip carriage-returns from the output of a
process.  Change COMINT-EXEC to start a buffer's process -before- the
buffer's major mode is set, so that process filters can be defined in
the mode hooks.

27 years agoChange interface to process-filter.
Chris Hanson [Thu, 20 Nov 1997 05:27:45 +0000 (05:27 +0000)]
Change interface to process-filter.

27 years agoChange interface to process-filter.
Chris Hanson [Wed, 19 Nov 1997 23:40:59 +0000 (23:40 +0000)]
Change interface to process-filter.

27 years agoAdd compiler flag that specifies to compile the object files for use
Chris Hanson [Wed, 19 Nov 1997 08:39:34 +0000 (08:39 +0000)]
Add compiler flag that specifies to compile the object files for use
in a DLL.  Change optimization target from 486 to Pentium Pro.

27 years agoFix instruction that causes an assembler error on newer assemblers.
Chris Hanson [Sun, 16 Nov 1997 23:12:44 +0000 (23:12 +0000)]
Fix instruction that causes an assembler error on newer assemblers.

27 years agoFix bugs relating to handling of messages whose bodies have been
Chris Hanson [Thu, 13 Nov 1997 08:01:59 +0000 (08:01 +0000)]
Fix bugs relating to handling of messages whose bodies have been
removed from the server.

27 years agoFix think-o.
Chris Hanson [Wed, 12 Nov 1997 22:58:59 +0000 (22:58 +0000)]
Fix think-o.

27 years agoFix code that determines system directory. My memory as to the
Chris Hanson [Wed, 12 Nov 1997 22:38:03 +0000 (22:38 +0000)]
Fix code that determines system directory.  My memory as to the
relevant environment variable was faulty when I wrote this.

27 years agoFinal changes to previous change, to eliminate compiler warnings and
Chris Hanson [Wed, 12 Nov 1997 22:14:09 +0000 (22:14 +0000)]
Final changes to previous change, to eliminate compiler warnings and
other minor problems.

27 years agoRewrite OS/2 and NT versions of CURRENT-USER-NAME,
Chris Hanson [Wed, 12 Nov 1997 08:40:05 +0000 (08:40 +0000)]
Rewrite OS/2 and NT versions of CURRENT-USER-NAME,
CURRENT-HOME-DIRECTORY, and USER-HOME-DIRECTORY to use the same
heuristics in both systems.  Improve the heuristics so that these
procedures will work with a minimum number of environment bindings.

27 years agoSignal error when unable to determine user name or home directory.
Chris Hanson [Tue, 11 Nov 1997 13:20:29 +0000 (13:20 +0000)]
Signal error when unable to determine user name or home directory.

27 years agoSignal error when unable to determine user name or home directory.
Chris Hanson [Tue, 11 Nov 1997 12:52:15 +0000 (12:52 +0000)]
Signal error when unable to determine user name or home directory.

27 years agoReverse earlier decision: ignore errors that occur with "$" and "~"
Chris Hanson [Tue, 11 Nov 1997 12:47:40 +0000 (12:47 +0000)]
Reverse earlier decision: ignore errors that occur with "$" and "~"
syntax in pathnames.

27 years agoFix typo.
Chris Hanson [Thu, 6 Nov 1997 07:43:46 +0000 (07:43 +0000)]
Fix typo.

27 years agoEliminate compiler warnings.
Chris Hanson [Thu, 6 Nov 1997 07:41:56 +0000 (07:41 +0000)]
Eliminate compiler warnings.

27 years agoPlace BCC field after any CC fields.
Chris Hanson [Thu, 6 Nov 1997 06:57:42 +0000 (06:57 +0000)]
Place BCC field after any CC fields.

27 years agoImplement direct SMTP mail transmission. This is for Windows systems,
Chris Hanson [Tue, 4 Nov 1997 11:04:52 +0000 (11:04 +0000)]
Implement direct SMTP mail transmission.  This is for Windows systems,
which don't have a sendmail daemon, but it can be used on any system
that supports sockets.

27 years agoDefine SUBSTRING->NONNEGATIVE-INTEGER.
Chris Hanson [Tue, 4 Nov 1997 11:02:07 +0000 (11:02 +0000)]
Define SUBSTRING->NONNEGATIVE-INTEGER.

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.