Stephen Adams [Thu, 3 Jul 1997 21:55:23 +0000 (21:55 +0000)]
Performance enhancements:
1. Changed DRAGON4-FIXUP to use fast scaling similar to described in
Burger and Dybvig (reference in file). This makes an order of
magnitude difference for unparsing flonums with large exponents.
2. Changed DRAGON4 to pass exponent to DRAGON4-FIXUP for scaling
estimate.
3. Systematically replaced calls to generic operators with calls to
int: variants (and rat:expt). The vast majority of operations are
on bignums. Gives a gain of about 20%.
Timings (Non-GC runtime) in msec for 1000 calls on 200Mhz Pentium Pro.
Chris Hanson [Thu, 26 Jun 1997 07:05:11 +0000 (07:05 +0000)]
Don't use the external Scheme DLL any more. This is important for the
moment as I have not yet figured out how to make working DLLs with the
new Watcom compiler. However, the Scheme DLL probably doesn't matter
any more as we no longer care about Windows 3.1.
Chris Hanson [Wed, 25 Jun 1997 07:26:48 +0000 (07:26 +0000)]
Change RCS-FIND-DELTA to have an extra argument saying whether or not
to signal an error if there is no such delta. Use this feature to
make VC-NEXT-ACTION do the right thing when it is given a version
number that doesn't exist.
Chris Hanson [Wed, 25 Jun 1997 06:18:30 +0000 (06:18 +0000)]
Allow computed methods to return concrete methods as well as
procedures, provided that the returned method's specializers are
restrictions of the computed method's specializers.
Chris Hanson [Wed, 25 Jun 1997 05:31:31 +0000 (05:31 +0000)]
Delete accessor slot properties after they are used. This prevents
them from holding on to the generic procedures, and from defining
identical methods for each subclass.
Chris Hanson [Thu, 19 Jun 1997 05:17:14 +0000 (05:17 +0000)]
When trying to get information about a file, if we get permission
denied, try again using the directory reader. Some files, e.g.
"\pagefile.sys", cannot be interrogated in the normal fashion, but are
given in a directory listing. (More quality software design.)
In SET-FILE-TIMES!, temporarily disable the read-only bit if it is
enabled, as this prevents the primitive from completing successfully.
Chris Hanson [Mon, 16 Jun 1997 09:00:48 +0000 (09:00 +0000)]
Now that MAKE-METHOD calls INITIALIZE-INSTANCE, it is necessary to
provide a default EMP for INITIALIZE-INSTANCE until the default method
is installed. This is done by means of the runtime system's default
EMP kludge.
Chris Hanson [Mon, 16 Jun 1997 08:59:06 +0000 (08:59 +0000)]
Extensive revamp of INSTANCE-CONSTRUCTOR. Optional argument now
specifies how many additional arguments the constructor accepts; the
additional arguments are passed to INITIALIZE-INSTANCE. By default,
any number of additional arguments are accepted and passed.
Chris Hanson [Sun, 15 Jun 1997 06:41:44 +0000 (06:41 +0000)]
Implement support for INITIAL-VALUE slot keyword. Add new generic
procedure INITIALIZE-INSTANCE, and give INSTANCE-CONSTRUCTOR and
optional boolean argument that, if true, says to call
INITIALIZE-INSTANCE on the instance before it is returned.
Chris Hanson [Tue, 10 Jun 1997 05:58:13 +0000 (05:58 +0000)]
Fix bug: Scheme variable completion was failing in some cases because
the completion code was unable to obtain the correct environment in
which to look up the variables.
Chris Hanson [Fri, 6 Jun 1997 07:00:53 +0000 (07:00 +0000)]
Change regular-expression primitives to treat failure-stack overflow
as equivalent to "no match". Also, increase the maximum size of the
failure stack from 1000 to 20000. This is important because it is far
too easy to overflow the stack, the stack-overflow errors cause Edwin
to bomb out. This is a problem because stack-overflow errors can be
caused by user data -- the proximate example being a News message that
bombed out the News reader because it had a header line was too
complicated to match. Better to fail in these situations than to
error.
Chris Hanson [Fri, 6 Jun 1997 05:06:04 +0000 (05:06 +0000)]
Modify encrypted-file support to allow the ".ky" suffix. This is
desirable because mixed-case filenames cause trouble when mapping
between unix and case-insensitive file systems.
Chris Hanson [Fri, 6 Jun 1997 05:04:57 +0000 (05:04 +0000)]
Modify encrypted-file support to allow the ".ky" suffix. This is
desirable because mixed-case filenames cause trouble when mapping
between unix and case-insensitive file systems.
Chris Hanson [Sun, 1 Jun 1997 17:54:27 +0000 (17:54 +0000)]
Change Linux file-system-type code to define explicit constants for
many types. The reason is that many of these types are hard to get
from the headers, either due to versioning problems with the header
files, or because the desired definitions are hidden behind kernel
conditionalizations.
Chris Hanson [Tue, 27 May 1997 19:35:17 +0000 (19:35 +0000)]
Fix bug: news server can return #(0 0 0) as server-info for a news
group, indicating that there are no articles on the server. News
reader was expecting the last two numbers to be article numbers, but
zero is not a valid article number.
Chris Hanson [Tue, 27 May 1997 07:30:31 +0000 (07:30 +0000)]
Fix bug: news server can return #(0 0 0) as server-info for a news
group, indicating that there are no articles on the server. News
reader was expecting the last two numbers to be article numbers, but
zero is not a valid article number.
Chris Hanson [Wed, 21 May 1997 07:32:34 +0000 (07:32 +0000)]
Fix some bugs, including an uninitialized-field bug for the QID_FILTER
field, and an ambiguity in the allowable values for the end pointer of
a msg_fifo. Add a QID_LOCK field, and use it to control access to the
QID_SUBQUEUE field. Rearrange the locking slightly to make it more
efficient and directed: the top-level qid_lock is now used only to
mediate the QID_ALLOCATEDP and QID_TWIN fields.
Chris Hanson [Mon, 19 May 1997 17:38:00 +0000 (17:38 +0000)]
Reimplement CLOSE-ALL-OPEN-FILES to close only file channels, and also
to close the associated port of a file channel rather than the
channel. Implement and export two new procedures: ALL-OPEN-CHANNELS
and CLOSE-ALL-OPEN-CHANNELS.
Chris Hanson [Sun, 18 May 1997 07:50:51 +0000 (07:50 +0000)]
Implement POP-UP-TEMPORARY-BUFFER, a fairly general mechanism for
popping up temporary buffers. Redefine several old uses of such
buffers to use this new mechanism.
Chris Hanson [Sat, 17 May 1997 07:00:23 +0000 (07:00 +0000)]
Change NT:MSGWAITFORMULTIPLEOBJECTS to check for messages that were
removed from the input queue and placed on one of the screen queues.
This eliminates a serious bug in Edwin: running an asynchronous
evaluation that did no output would cause Edwin to lock up until the
evaluation completed.
Chris Hanson [Thu, 15 May 1997 00:11:39 +0000 (00:11 +0000)]
Add generic operation to determine the bit-depth of an image
associated with a window. Add X-specific operation to return the
visual-info data structures for a display, and a structure definition
for these structures.