Chris Hanson [Tue, 23 Apr 1996 20:58:11 +0000 (20:58 +0000)]
Add primitive to allow unix systems to detect file-system type. This
is particularly useful on systems like Linux which support many
file-system types.
Chris Hanson [Tue, 23 Apr 1996 20:50:46 +0000 (20:50 +0000)]
Add primitive to allow unix systems to detect file-system type. This
is particularly useful on systems like Linux which support many
file-system types.
Chris Hanson [Wed, 10 Apr 1996 01:06:34 +0000 (01:06 +0000)]
Fix bug: dired commands that operate on multiple files were merging in
the target directory without the target device; this works fine on
Unix but not OS/2 or Windows.
Stephen Adams [Tue, 9 Apr 1996 20:19:13 +0000 (20:19 +0000)]
Fixed the problem of not being able to (edit and) save a file that is
open for reading (usually by an error REPL). Files are now opened
allowing concurrent reads AND writes.
Stephen Adams [Tue, 9 Apr 1996 20:13:30 +0000 (20:13 +0000)]
Kludged DOS/FS-LONG-FILENAMES? to return #F for ant FAT volume because
of Windows'95 confusion about which names is the primary name and
which names is the 8.3 alias
Chris Hanson [Mon, 8 Apr 1996 23:41:35 +0000 (23:41 +0000)]
Fix bug: primitives can't be conditionally defined, because the
findprim program doesn't parse the conditionals. The previous change,
which introduced a conditional primitive, broke this file on other
operating systems.
Chris Hanson [Thu, 4 Apr 1996 18:37:13 +0000 (18:37 +0000)]
Differentiate between the primary Edwin window and all other
(secondary) Edwin windows. Use distinct resource properties to
determine the geometry of each type of window. If geometry is
obtained from the resource class "Emacs", ignore the position
information when creating secondary windows.
This will make it possible to have secondary windows come up in
non-overlapping positions on the display.
Chris Hanson [Thu, 4 Apr 1996 18:32:09 +0000 (18:32 +0000)]
When window is hidden, either by being obscured or unmapped, and then
revealed again, invalidate our model of the on-screen contents
immediately, so that it is repainted the next time someone writes
anything to the window.
Stephen Adams [Wed, 27 Mar 1996 23:12:45 +0000 (23:12 +0000)]
Win32 version:
Made the VirtualFree/VirtualAlloc code optional and controlled by
primitives. By default it is off, since it incurs the cost of
zero-filling pages as they allocated. The main garbage collector
should turn the feature is GC was paging, but how to measure this is
not clear.
Stephen Adams [Sat, 23 Mar 1996 19:25:23 +0000 (19:25 +0000)]
Changes to the Windows 3.1/95/NT version: auto-configuration and
better virtual memory behaviour.
There used to be two version of the library NTSCMLIB.DLL, one version
for WIN32S, and another version for NT (and '95). The WIN32S version
had a partner, NTW16LIB.DLL, to handle the 16-bit side of things.
The system was configured for Windows 3.1 or NT by copying the
appropriate version of NTSCMLIB.DLL into the same directory as
SCHEME.EXE, or putting an appropriate directory in the PATH.
The new scheme is that instead of two NTSCMLIB.DLL files and a
NTW16LIB.DLL file there will be three files:
SCHEME32.DLL The true 32 bit version (NT & '95)
SCHEME31.DLL The windows 3.1 (win32s) version
SCHEME16.DLL and its 16 bit buddy
These are no longer bound at link time. Instead, nttop.c now detects
WIN32S vs. NT and explicitly loads the appropriate version. To
support this dynamic linking, the utilities referenced via a
WIN32_SYSTEM_UTILITIES structure.
Now both SCHEME31.DLL and SCHEME32.DLL use VirtualAlloc, so the
garbage collector has been changed to de-commit and re-commit the
pages in the old half-space. Toy experiments show that roughly 30-50%
of the working set is in the old half-space.
The allocation code *could* be changed to reserve the virtual address
space of the whole heap as this would allow an extensible heap.
Stephen Adams [Thu, 21 Mar 1996 16:44:57 +0000 (16:44 +0000)]
Added new global variables WIN32/DEFINE-COLOR and WIN32/FIND-COLOR.
Adjusted graphics code to work with them.
Added new API `cover' procedure GET-WINDOW-RECT.
Stephen Adams [Thu, 21 Mar 1996 16:36:29 +0000 (16:36 +0000)]
Improved font handling:
. Added ability to parse a string (e.g. "Courier New bold underline 20")
into a font.
. Use this to parse MITSCHEME_FONT. Removed MITSCHEME_FONT_SIZE env
variable.
. Added primitives WIN32-SCREEN-SET-FONT and WIN32-SCREEN-SET-DEFAULT-FONT
Improved window sizing.
Previously, if the main window was launched minimized, it woudl
believe the main window should be the size of the icon, about 3x3
characters: too small to hold an error message. Now it figures out
or guesses what the size and position would have been if and
initializes to that.
Chris Hanson [Wed, 20 Mar 1996 23:52:27 +0000 (23:52 +0000)]
Change code that selects initial font so that it tries several fonts
from a list, failing only when none of them is found. This is
desirable because one user has reported that "System VIO" isn't
available on his system.
Chris Hanson [Wed, 20 Mar 1996 23:51:49 +0000 (23:51 +0000)]
Change code that selects initial font of console window so that it
tries several fonts from a list, failing only when none of them is
found. This is desirable because one user has reported that "System
VIO" isn't available on his system.
Chris Hanson [Mon, 11 Mar 1996 20:38:29 +0000 (20:38 +0000)]
Fix bug: subprocesses were being started with SIGPIPE set to SIG_IGN.
Some programs, notably gzip, depend on SIGPIPE being set to SIG_DFL
(and don't bother to force this true themselves).
Stephen Adams [Fri, 8 Mar 1996 22:27:09 +0000 (22:27 +0000)]
Added code to deal with primitives called with the wrong number of
arguments. A warning is issued. The primitive is called with
%internal-apply to ensure correct behaviour at run time.
Note: Perhaps this processing should go later, in case something
clever finds more primitives to substitute. For non open-coded
primitives, this can be done as late a compat. The problem with this
is that after CPS conversion, it is impossible to convert an open
coded primitive into a subproblem call. One way to solve this is not
open code NO primitives, only cookie calls.
Stephen Adams [Fri, 8 Mar 1996 17:19:00 +0000 (17:19 +0000)]
Moved functionality of *PHASES-TO-SHOW* into
COMPILER:GENERATE-KMP-FILES? COMPILER:GENERATE-KMP-FILES? can now be
set to a list of KMP phases or 'ALL, which both enables .kmp file
output and specifies the contents.
Stephen Adams [Fri, 8 Mar 1996 15:57:43 +0000 (15:57 +0000)]
Added a warning in DEFINE-OPEN-CODER so warn about primitives that are
unknown because if they are introduced before applicat, applicat will
insert a %primitive-apply.
Stephen Adams [Wed, 6 Mar 1996 14:22:27 +0000 (14:22 +0000)]
Changed the cycle breaking code to use a hash-table to avoid
quadratic behaviour. The bulk of the problem was the code was both
slow and quadratic. There was a higher order call to EQ? in the
middle of a `map lookup', so 10-20% of SIMPLIFY's time was spent going
out of line to funcall EQ?
Added a comment on how to improve the cycle breaking code.
Chris Hanson [Wed, 6 Mar 1996 07:04:10 +0000 (07:04 +0000)]
Fix bug: new screens didn't update correctly under Linux (and probably
other unixes), because their first update occurred before the first
Expose event arrived, and that first update caused the NEEDS-UPDATE?
flag to be cleared. The fix is to clear NEEDS-UPDATE? only when
SCREEN-UPDATE is run.
Stephen Adams [Tue, 5 Mar 1996 18:33:21 +0000 (18:33 +0000)]
Added a check after the FILE-ATTRIBUTES-DIRECT call. The attributes
will be #F if the file is a symlink to hyperspace. Failure to check
was causing a SIGSEGV; now it print a warning.
This still leaves the problem of symbolic link loops. I `fixed' this
in the one place it was occuring by altering the symlinks.
Stephen Adams [Mon, 4 Mar 1996 05:10:46 +0000 (05:10 +0000)]
. Changed environment data structures to use a hash-table. Makes
little difference to small programs but speeds up compilation of big
programs/procedures.
. Added a comment to explaind the wierd %make-stack-closure stuff.
. Fixed typo in STRING->SYMBOL constant-folder.
. The rewrite for NOT is now more `recursive', i.e. it propagates the
injection of a NOT deeper.
Chris Hanson [Sun, 3 Mar 1996 22:58:35 +0000 (22:58 +0000)]
Trace symbolic links pointing to directories as well as those that
point to files. This is necessary to get the directories
"microcode/s" and "microcode/m" in the 7.4 tree.
Chris Hanson [Fri, 1 Mar 1996 07:49:50 +0000 (07:49 +0000)]
Doing M-x reindent-then-newline-and-indent on a blank line would
reindent that line and create a new indented line below it, leaving
indentation in the original line. The fix eliminates this unnecessary
indentation; the original line is empty after the command.
Chris Hanson [Fri, 1 Mar 1996 07:46:00 +0000 (07:46 +0000)]
When deleting files, determine whether a file is a directory using
`file-attributes-direct' rather than `file-directory?'. The latter
will return #t for a symbolic link pointing to a directory, in which
case the deletion will fail.
Chris Hanson [Fri, 1 Mar 1996 07:31:20 +0000 (07:31 +0000)]
* get-pop-account-info, rmail-pop-accounts: allow arbitrary symbols to
be specified as an account password. Currently, the symbol
KERBEROS-V4 is allowed under unix systems.
* rmail-output-to-rmail-file: when creating a new rmail file, put the
header in a buffer and write the buffer out. This allows creation
of a compressed rmail file. Previously, the file would be written
with a ".gz" suffix, but not compressed.
Chris Hanson [Tue, 27 Feb 1996 21:53:14 +0000 (21:53 +0000)]
Fix bug: when an environment variable expands into a string that ends
in a slash, that trailing slash must be ignored if the environment
variable is delimited by a slash.
Chris Hanson [Tue, 27 Feb 1996 21:06:03 +0000 (21:06 +0000)]
Fix bug: code to determine when the user begins typing a new file name
at the end of a file prompt must match the inserted file name in its
entirety; previously it could mistakenly match against a substring of
the inserted file name.