Chris Hanson [Sat, 18 Apr 1998 05:40:42 +0000 (05:40 +0000)]
Add primitive WIN32-VIRTUAL-QUERY, which is a direct interface to the
Win32 VirtualQuery API call. This is very useful for examining
Scheme's address space.
Chris Hanson [Sat, 18 Apr 1998 05:39:44 +0000 (05:39 +0000)]
Add mechanism to reserve the largest available block of memory below
0x04000000 at the earliest possible moment. This maximizes the amount
of memory available for Scheme's heap. Unfortunately, it still isn't
very much space compared to other platforms, and under Visual C++ it
isn't even as much as that provided by Watcom C/C++. I don't know why
this is so poor, or whether there is anything to be done about it.
Chris Hanson [Sat, 18 Apr 1998 05:36:15 +0000 (05:36 +0000)]
Use external debugging info (-Zi) and map the program text above
0x04000000 so that it minimally interferes with Scheme's heap.
Chris Hanson [Sat, 18 Apr 1998 05:32:48 +0000 (05:32 +0000)]
Define WINNT_RAW_ADDRESSES -- alternative isn't used any longer and
has a small time penalty.
Chris Hanson [Thu, 16 Apr 1998 06:27:06 +0000 (06:27 +0000)]
Make screen_y_extra patch more clever so that it works right under
Watcom and Visual C++.
Chris Hanson [Thu, 16 Apr 1998 06:06:51 +0000 (06:06 +0000)]
Add resources to executables.
Chris Hanson [Thu, 16 Apr 1998 06:06:26 +0000 (06:06 +0000)]
Fix two bugs under Visual C++: System-menu icon was wrong, and window
height was off by one pixel.
Chris Hanson [Thu, 16 Apr 1998 06:05:39 +0000 (06:05 +0000)]
Tweak inline assembly code for Visual C++.
Chris Hanson [Thu, 16 Apr 1998 04:20:55 +0000 (04:20 +0000)]
Changes to support crypto/gdbm DLLs.
Chris Hanson [Tue, 14 Apr 1998 05:13:58 +0000 (05:13 +0000)]
Changes to get microcode working when compiled with Microsoft Visual
C++ version 5.0.
Chris Hanson [Fri, 10 Apr 1998 16:32:10 +0000 (16:32 +0000)]
Don't signal error when user requests a DIRECTORY-READ on a pattern
that matches no files.
Chris Hanson [Wed, 1 Apr 1998 08:16:28 +0000 (08:16 +0000)]
Be more aggressive about dropping pointers to streams when traversing
them. Provide more accurate error messages for malformed streams.
Chris Hanson [Tue, 31 Mar 1998 20:04:18 +0000 (20:04 +0000)]
Eliminate numerous brain-damaged references (mea culpa!) to the head
of a stream in procedures that map down the stream.
Fix a premature-dereference bug in STREAM-MAP.
Chris Hanson [Tue, 31 Mar 1998 08:41:43 +0000 (08:41 +0000)]
Fix thinko -- random-state objects must have unparser.
Chris Hanson [Sun, 29 Mar 1998 08:34:32 +0000 (08:34 +0000)]
Don't signal error when user requests a DIRECTORY-READ on a pattern
that matches no files.
Chris Hanson [Fri, 20 Mar 1998 22:02:26 +0000 (22:02 +0000)]
Change name of Linux sigcontext structure, because RedHat defines a
conflicting structure in their newer releases.
Chris Hanson [Thu, 19 Mar 1998 20:29:52 +0000 (20:29 +0000)]
Implement SEPARATOR option to DEFINE-CLASS.
Chris Hanson [Thu, 19 Mar 1998 20:28:57 +0000 (20:28 +0000)]
Document SEPARATOR option to DEFINE-CLASS.
Chris Hanson [Wed, 11 Mar 1998 22:06:53 +0000 (22:06 +0000)]
Reset tag-table locations after reading dir file.
Chris Hanson [Mon, 9 Mar 1998 05:17:52 +0000 (05:17 +0000)]
Fix bug: illegal auto-save filenames were being generated on NTFS and
VFAT.
Chris Hanson [Mon, 9 Mar 1998 04:32:56 +0000 (04:32 +0000)]
Restrict parsing of device so that it requires a single letter.
Chris Hanson [Mon, 9 Mar 1998 03:44:18 +0000 (03:44 +0000)]
Export STRING->CHAR-SET, added in 1995 but obviously never used.
Chris Hanson [Sun, 8 Mar 1998 08:25:25 +0000 (08:25 +0000)]
Add ability to prompt for inferior-REPL errors just as is done for
ordinary buffer evaluation. Make this prompting the default.
Chris Hanson [Sun, 8 Mar 1998 07:31:19 +0000 (07:31 +0000)]
Fix thinko in previous change.
Chris Hanson [Sun, 8 Mar 1998 07:26:25 +0000 (07:26 +0000)]
Change interface procedure DEBUG-SCHEME-ERROR so that it returns if
the user opts not to enter the debugger. Also, do a better job of
presenting the error message to the user when asking whether to start
the debugger.
Chris Hanson [Sun, 8 Mar 1998 07:14:11 +0000 (07:14 +0000)]
Add argument to callers of POP-UP-TEMPORARY-BUFFER so that they can
pass properties through.
Chris Hanson [Sat, 7 Mar 1998 08:54:02 +0000 (08:54 +0000)]
Tweak error-reporting mechanism to make it more reliable. Trouble is
that this isn't the right place for it -- it should be integrated into
the debugger interface.
Chris Hanson [Wed, 4 Mar 1998 21:15:17 +0000 (21:15 +0000)]
Export (inexplicably missing) stream procedures.
Chris Hanson [Mon, 2 Mar 1998 19:05:12 +0000 (19:05 +0000)]
Add missing documentation for various commands.
Chris Hanson [Mon, 2 Mar 1998 18:55:12 +0000 (18:55 +0000)]
Add documentation for c-m-i and m-A.
Chris Hanson [Mon, 23 Feb 1998 05:37:47 +0000 (05:37 +0000)]
Add stupid mechanism to break cycles in reference graphs. This
doesn't try to do a good job -- it just breaks them at the point where
they are discovered. After having used this program for over a year,
the cycle I just ran across was the first, out of perhaps 100,000
messages or more, so this is an unusual occurrence.
Chris Hanson [Sun, 22 Feb 1998 08:48:02 +0000 (08:48 +0000)]
Eliminate BKPT macro in favor of procedure. The macro used
(THE-ENVIRONMENT), which screwed the compiler. The procedure uses the
environment of the first subproblem of the continuation of the call,
which in many cases is the same thing.
The effect of the old BKPT macro can still be achieved by writing
(breakpoint-procedure (the-environment) ...)
Stephen Adams [Sun, 22 Feb 1998 00:17:32 +0000 (00:17 +0000)]
The previous change caused LAPOPT to take huge amounts of time (65% of
compile time). Reverted to old matcher and patterns (about 5%) and
added a hash table dispatch to make LAPOPT's time insignificant (now
<1%).
Stephen Adams [Sat, 21 Feb 1998 21:45:18 +0000 (21:45 +0000)]
Changed open-coding of range checks to use unsigned comparison which
checks the high and low limits in one operation. Range checks without
an upper bound generate an INDEX-FIXNUM check. Open coding of
INDEX-FIXNUM still needs to be implemented on the MIPS.
Chris Hanson [Sat, 21 Feb 1998 20:24:53 +0000 (20:24 +0000)]
Fix typo.
Stephen Adams [Thu, 19 Feb 1998 21:29:38 +0000 (21:29 +0000)]
There was a subtle problem with the interrupt check determining code.
The old code was lazy about searching the rgraph to determine if entry
points and exit points were leaf-like. It explored the whole tree
when when it found some entry RTL. This is a problem in the case of
expressions since expressions have no distinguished entry RTL. Thus
LAP was generated for some expression bblocks before the search took
place. This is a problem because the LAP instructions replace the RTL
instructions, and the RTL is needed to determine the interrupt checks.
The whole compiler staged only because type-checking is turned off by
default. The RINST-INSN field is a (vector-ref 0), which, when
unchecked, fortuitously happened to load the CDR of the LAP, which
then proceeded to gracefully fail the RTL predicates.
The solution is to introduce a PRE-LAPGEN-ANALYSIS procedure to to
machine dependent analysis immediately prior to LAP generation.
The analysis for the i386 back end does the original analysis.
The other back ends do nothing.
Stephen Adams [Thu, 19 Feb 1998 20:55:06 +0000 (20:55 +0000)]
Fixed abstraction violations where '() was being used instead of (LAP).
Stephen Adams [Thu, 19 Feb 1998 08:56:27 +0000 (08:56 +0000)]
Improved patterns for (fix:* n 2) and (fix:lsh n -1)
Stephen Adams [Wed, 18 Feb 1998 07:57:55 +0000 (07:57 +0000)]
Improved search for target register - stronger preference for ST(0) as
result of unary or binary flonum operations.
Load flonum constants pc-relative rather than (double indirect) via
constants block. Load flonum constants as 32 bit constants if
possible since this avoids mis-alignment penalty.
Stephen Adams [Wed, 18 Feb 1998 07:56:05 +0000 (07:56 +0000)]
Changes to improve flonum code.
Prefer ST(0) over other registers as a target for flonum operations.
- lapgen: sort-machine-registers
- rulflo: improved search for target register
- rulrew: accept any flonum constants, not just 0.0 and 1.0
Stephen Adams [Wed, 18 Feb 1998 07:46:55 +0000 (07:46 +0000)]
Better rules for (fix:lsh ? <constant>)
Stephen Adams [Tue, 17 Feb 1998 20:43:37 +0000 (20:43 +0000)]
Added missing opcode: FADDP
Chris Hanson [Mon, 16 Feb 1998 23:00:35 +0000 (23:00 +0000)]
Change mechanism used to signal the no-current-thread error. Previous
mechanism tried to directly signal the error, which results in
divergence. New mechanism sends the error to the console thread, or
ignores the error if there is no console thread.
Modify blocking code to catch any errors that occur while blocked.
These errors are being signalled in the no-current-thread state, and
must be resignalled to the console thread (again, they are ignored if
there is no console thread).
Modify several thread operations to be no-ops in the no-current-thread
state, rather than signalling an error.
Implement new procedure CONSOLE-THREAD.
Chris Hanson [Mon, 16 Feb 1998 03:55:28 +0000 (03:55 +0000)]
Fix apparently irrelevant thinko.
Chris Hanson [Mon, 16 Feb 1998 03:50:14 +0000 (03:50 +0000)]
Fix apparently irrelevant thinko.
Stephen Adams [Sat, 14 Feb 1998 07:12:14 +0000 (07:12 +0000)]
Generalized patterns for OR and AND.
Stephen Adams [Sat, 14 Feb 1998 00:52:23 +0000 (00:52 +0000)]
Merged in changes that eliminate interrupt checks in leaf-like
procedures.
Stephen Adams [Sat, 14 Feb 1998 00:06:37 +0000 (00:06 +0000)]
zero? -> fix:zero?
Stephen Adams [Fri, 13 Feb 1998 23:53:21 +0000 (23:53 +0000)]
Change arithmetic in loops to fixnum arithmetic.
Stephen Adams [Fri, 13 Feb 1998 22:25:32 +0000 (22:25 +0000)]
Update CHAR-CODE-LIMIT and CHAR-INTEGER-LIMIT for wide characters.
This should have been part of the previous update, but these constants
are unused, so no harm done.
Chris Hanson [Fri, 13 Feb 1998 19:40:56 +0000 (19:40 +0000)]
Fix two bugs that occur when using revisions off the main branch.
Chris Hanson [Thu, 12 Feb 1998 06:11:50 +0000 (06:11 +0000)]
Fix thinko in previous change.
Chris Hanson [Thu, 12 Feb 1998 06:08:47 +0000 (06:08 +0000)]
Eliminate "system" datatype. Replace it by a simpler "subsystem
identification" mechanism.
Chris Hanson [Thu, 12 Feb 1998 06:03:15 +0000 (06:03 +0000)]
Eliminate "system" datatype. Replace it by a simpler "subsystem
identification" mechanism.
Chris Hanson [Thu, 12 Feb 1998 05:58:12 +0000 (05:58 +0000)]
Eliminate "system" datatype. Replace it by a simpler "subsystem
identification" mechanism.
Chris Hanson [Thu, 12 Feb 1998 05:41:58 +0000 (05:41 +0000)]
Change to use ADD-IDENTIFICATION! rather than ADD-SYSTEM!.
Chris Hanson [Thu, 12 Feb 1998 04:43:42 +0000 (04:43 +0000)]
Change to use ADD-IDENTIFICATION! rather than ADD-SYSTEM!.
Chris Hanson [Thu, 12 Feb 1998 04:31:37 +0000 (04:31 +0000)]
Change ADD-SYSTEM! to replace an existing entry of the same name.
Chris Hanson [Thu, 12 Feb 1998 04:28:25 +0000 (04:28 +0000)]
Change to use ADD-IDENTIFICATION! rather than ADD-SYSTEM!.
Chris Hanson [Thu, 12 Feb 1998 02:58:27 +0000 (02:58 +0000)]
Use common loader for compiler.
Chris Hanson [Thu, 12 Feb 1998 02:54:27 +0000 (02:54 +0000)]
Change to use ADD-IDENTIFICATION! rather than ADD-SYSTEM!.
Stephen Adams [Wed, 11 Feb 1998 21:53:17 +0000 (21:53 +0000)]
Fix bug where char* was refusing strings.
Chris Hanson [Wed, 11 Feb 1998 05:16:46 +0000 (05:16 +0000)]
Undo previous change, but add global variable
*ALLOW-PACKAGE-REDEFINITION?* that, if true, allows packages to be
redefined. Intent is that this variable will be fluid-bound by
programs that want to be reloadable.
Chris Hanson [Wed, 11 Feb 1998 05:02:16 +0000 (05:02 +0000)]
Add code to map the 8th bit of an incoming character to the meta bit.
Chris Hanson [Wed, 11 Feb 1998 04:50:31 +0000 (04:50 +0000)]
Change default: PACKAGE/ADD-CHILD! previously allowed redefinition of
a package child only when the optional argument was true. Now,
redefinition is always allowed _unless_ the optional argument is true.
Additionally, when a package is redefined, all of its child packages
are deleted.
The motivation for this change is to allow reloading of software
subsystems that use the package abstraction. Previously, once such a
subsystem was loaded, it could not be reloaded without restarting
Scheme.
Chris Hanson [Sun, 1 Feb 1998 06:42:49 +0000 (06:42 +0000)]
Rewrite OS/BUFFER-BACKUP-PATHNAME to use the algorithm from
"dosfile.scm". This fixes the bug that caused compressed backup files
to be ignored when computing the name of a numeric backup file.
Chris Hanson [Sun, 1 Feb 1998 05:54:42 +0000 (05:54 +0000)]
Accept a wider range of error codes as valid reasons why a given file
might be inaccessible.
Chris Hanson [Sun, 1 Feb 1998 05:35:41 +0000 (05:35 +0000)]
Disable critical-error and GPF pop-up boxes.
Chris Hanson [Sun, 1 Feb 1998 05:17:47 +0000 (05:17 +0000)]
Patch loader so that debugging info will work on other systems.
Chris Hanson [Sun, 1 Feb 1998 05:13:23 +0000 (05:13 +0000)]
Move with-saved-configuration to Edwin proper. This will eliminate
unassigned-variable bug in LOAD-PS-COPY-FILE when running in contexts
where "floppy.scm" isn't loaded.
Chris Hanson [Sun, 1 Feb 1998 05:12:21 +0000 (05:12 +0000)]
Implement mechanism to save a screen configuration for a given dynamic
extent.
Chris Hanson [Fri, 30 Jan 1998 09:46:06 +0000 (09:46 +0000)]
Don't activate graphics windows when they are created.
Chris Hanson [Fri, 30 Jan 1998 09:07:25 +0000 (09:07 +0000)]
Implement workaround for fatal Windows NT bug. The bug crashes NT 4.0
and can be recreated by creating a number of graphics windows and then
closing them with their close buttons. The workaround disables the
close button.
Chris Hanson [Thu, 29 Jan 1998 06:05:44 +0000 (06:05 +0000)]
Implement procedure to return the size of the display root window.
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.
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.
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.
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.
Chris Hanson [Fri, 23 Jan 1998 00:23:08 +0000 (00:23 +0000)]
Don't load "floppy" unless running under HP-UX.
Chris Hanson [Fri, 23 Jan 1998 00:04:52 +0000 (00:04 +0000)]
Change subprocess stuff to allow redisplay.
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.
Chris Hanson [Thu, 22 Jan 1998 23:28:54 +0000 (23:28 +0000)]
Fix random bug caused by changes in revision 1.16.
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.
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).
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.
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.
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".
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.
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.
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.
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.
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.
Chris Hanson [Thu, 8 Jan 1998 06:06:14 +0000 (06:06 +0000)]
Add conditionalized code to trace process activity.
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.
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.
Chris Hanson [Thu, 8 Jan 1998 05:56:11 +0000 (05:56 +0000)]
Detect FAT32 file system and treat it the same as VFAT.
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.
Chris Hanson [Sat, 3 Jan 1998 18:12:52 +0000 (18:12 +0000)]
Implement command-line option to specify student directory.
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.
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.