Stephen Adams [Tue, 8 Jul 1997 03:07:06 +0000 (03:07 +0000)]
Fixed thinko in FIXNUM->FLONUM.
Stephen Adams [Tue, 8 Jul 1997 01:22:28 +0000 (01:22 +0000)]
Changes in INT:->STRING to improve performance. 30% faster for huge
bignums (10^1000), up to 2x-3x faster for small bignums (up to
10^100), slightly faster for fixnums.
. Use a local version of DIGIT->CHAR since we don't need to check the
radix.
. PRINT-FIXNUM modified to be useful for generating digits in the
middle of a number.
. PRINT-MEDIUM and PRINT-LARGE work in units of several digits, the
length of a unit pre-computed so that a unit can be printed using
fixnum arithmetic.
. PRINT-MEDIUM chops off groups of digits that can be printed by
PRINT-FIXNUM. The microcode primitive LISTIFY-BIGNUM is no longer
used.
. PRINT-LARGE has a special check to try to avoid the last multiply
in building the power stack (which is asymptotically 2/3 of the
cost of building the stack). The recursion termination check is
generalized to also catch sequences of digits with enough leading
zeroes to be formatted by PRINT-FIXNUM (this can double the speed
of printing numbers with many zeros).
Chris Hanson [Mon, 7 Jul 1997 23:27:44 +0000 (23:27 +0000)]
Rename "c+e" to "all".
Stephen Adams [Mon, 7 Jul 1997 20:24:45 +0000 (20:24 +0000)]
Changes in INT:->STRING to improve performance. 30% faster for huge
bignums (10^1000), up to 2x-3x faster for small bignums (up to
10^100), slightly faster for fixnums.
. Use a local version of DIGIT->CHAR since we don't need to check the
radix.
. PRINT-FIXNUM modified to be useful for generating digits in the
middle of a number.
. PRINT-MEDIUM and PRINT-LARGE work in units of several digits, the
length of a unit pre-computed so that a unit can be printed using
fixnum arithmetic.
. PRINT-MEDIUM chops off groups of digits that can be printed by
PRINT-FIXNUM. The microcode primitive LISTIFY-BIGNUM is no longer
used.
. PRINT-LARGE has a special check to try to avoid the last multiply
in building the power stack (which is asymptotically 2/3 of the
cost of building the stack). The recursion termination check is
generalized to also catch sequences of digits with enough leading
zeroes to be formatted by PRINT-FIXNUM (this can double the speed
of printing numbers with many zeros).
Stephen Adams [Fri, 4 Jul 1997 16:02:18 +0000 (16:02 +0000)]
In bignum_remainder, replaced special case for remainder by `1' with a
special case for remainder by small power of two.
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.
Example Number Original Fast Scaling and INT:ops
3.
141592653589793 840 820 580
1022. 320 300 230
1.
234e300 4870 490 400
1.23456e-300 7130 680 540
It is still pretty sad that you can format only a few thousand numbers
per second.
PC-sampling shows that most of the time is spent as follows:
(27% primitive 253 "INTEGER-MULTIPLY")
(24% primitive 200 "GARBAGE-COLLECT")
(24% primitive 248 "INTEGER-DIVIDE")
(5%. primitive 260 "INTEGER-SUBTRACT")
Chris Hanson [Thu, 3 Jul 1997 07:23:07 +0000 (07:23 +0000)]
Make sure that RMAIL variables are initialized before they are used.
Chris Hanson [Fri, 27 Jun 1997 20:56:18 +0000 (20:56 +0000)]
Fix bug introduced by last change.
Chris Hanson [Fri, 27 Jun 1997 18:51:46 +0000 (18:51 +0000)]
Toe the current ideological line.
Stephen Adams [Fri, 27 Jun 1997 14:06:10 +0000 (14:06 +0000)]
Fix typo.
Stephen Adams [Thu, 26 Jun 1997 23:40:24 +0000 (23:40 +0000)]
Fixed a bug in argument checking SUBSTRING. Introduced
GUARANTEE-SUBSTRING and edited other procedures to use it.
Stephen Adams [Thu, 26 Jun 1997 22:55:46 +0000 (22:55 +0000)]
Fixed a bug in argument checking SUBSTRING. Introduced
GUARANTEE-SUBSTRING and edited other procedures to use it.
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 [Thu, 26 Jun 1997 07:02:22 +0000 (07:02 +0000)]
Watcom 11: use __try/__except for new version of Watcom compiler, as
it is now fixed and works properly.
Chris Hanson [Thu, 26 Jun 1997 06:59:54 +0000 (06:59 +0000)]
Watcom 11: eliminate compiler warning.
Chris Hanson [Thu, 26 Jun 1997 06:56:24 +0000 (06:56 +0000)]
Watcom 11: various changes.
Chris Hanson [Thu, 26 Jun 1997 06:56:04 +0000 (06:56 +0000)]
Watcom 11: needs kernel and user librarys named explicitly now.
Chris Hanson [Thu, 26 Jun 1997 06:55:29 +0000 (06:55 +0000)]
Change for Watcom 11: documentation claims that 0 is not a valid value
for the stack-size parameter to beginthreadx.
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 07:25:08 +0000 (07:25 +0000)]
Change RCS-FIND-DELTA to have an extra argument saying whether or not
to signal an error if there is no such delta.
Chris Hanson [Wed, 25 Jun 1997 07:23:10 +0000 (07:23 +0000)]
Extensive changes corresponding to new release of SOS that uses
generic procedure support provided by the runtime system.
Chris Hanson [Wed, 25 Jun 1997 07:22:56 +0000 (07:22 +0000)]
Extensive changes corresponding to new release of SOS that uses
generic procedure support provided by the runtime system.
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 [Wed, 25 Jun 1997 04:03:55 +0000 (04:03 +0000)]
Fix typo.
Chris Hanson [Wed, 25 Jun 1997 04:02:57 +0000 (04:02 +0000)]
Fix think-o.
Chris Hanson [Wed, 25 Jun 1997 03:52:41 +0000 (03:52 +0000)]
Allow INSTANCE-PREDICATE to take a specializer as an argument rather
than just a class.
Chris Hanson [Wed, 25 Jun 1997 03:51:58 +0000 (03:51 +0000)]
Error-check arguments to MAKE-CLASS. Make sure that dispatch tag of
record-type class is correct.
Chris Hanson [Wed, 25 Jun 1997 03:44:50 +0000 (03:44 +0000)]
Allow record types to be used in place of classes wherever sensible.
Chris Hanson [Wed, 25 Jun 1997 03:43:03 +0000 (03:43 +0000)]
Signal CONDITION-TYPE:NO-SUCH-SLOT when given an invalid slot name.
Chris Hanson [Wed, 25 Jun 1997 03:28:58 +0000 (03:28 +0000)]
Signal CONDITION-TYPE:NO-SUCH-SLOT when given an invalid slot name.
Chris Hanson [Wed, 25 Jun 1997 03:28:26 +0000 (03:28 +0000)]
Add CONDITION-TYPE:NO-SUCH-SLOT and modify record code to signal this
error when given an invalid slot name.
Chris Hanson [Tue, 24 Jun 1997 05:34:28 +0000 (05:34 +0000)]
Modify %RECORD-ACCESSOR to signal an error if the accessed slot is
uninitialized.
Chris Hanson [Thu, 19 Jun 1997 21:52:15 +0000 (21:52 +0000)]
SPECIALIZER=? was not handling the case of mixed arguments properly.
Chris Hanson [Thu, 19 Jun 1997 21:45:12 +0000 (21:45 +0000)]
Eliminate UNION-SPECIALIZER=? and UNION-SPECIALIZER-CLASSES.
Chris Hanson [Thu, 19 Jun 1997 21:43:01 +0000 (21:43 +0000)]
Add option to allow user to specify a different name for the type
descriptor.
Chris Hanson [Thu, 19 Jun 1997 21:35:04 +0000 (21:35 +0000)]
Eliminate UNION-SPECIALIZER=? and UNION-SPECIALIZER-CLASSES.
Chris Hanson [Thu, 19 Jun 1997 21:28:26 +0000 (21:28 +0000)]
Eliminate UNION-SPECIALIZER=? and UNION-SPECIALIZER-CLASSES.
Chris Hanson [Thu, 19 Jun 1997 21:17:12 +0000 (21:17 +0000)]
Eliminate unused definition.
Chris Hanson [Thu, 19 Jun 1997 20:22:51 +0000 (20:22 +0000)]
Add procedure SPECIALIZER-CLASSES.
Chris Hanson [Thu, 19 Jun 1997 20:12:30 +0000 (20:12 +0000)]
SUBCLASS? must allow its second argument to be any specializer.
Chris Hanson [Thu, 19 Jun 1997 05:55:51 +0000 (05:55 +0000)]
Fix bug: microcode was forgetting about file being opened when it ran
out of channel-table entries. This left the file locked until Scheme
was exited.
Additionally, the size of the channel table has been increased, and
the number of allowable handles set to its maximum value.
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 [Thu, 19 Jun 1997 05:14:14 +0000 (05:14 +0000)]
Ignore the mouse click that activates a window.
Chris Hanson [Wed, 18 Jun 1997 07:55:26 +0000 (07:55 +0000)]
Fix two bugs in article-posting code.
Chris Hanson [Wed, 18 Jun 1997 07:05:46 +0000 (07:05 +0000)]
Make sure that all article ranges are clipped when the group is
updated.
Chris Hanson [Tue, 17 Jun 1997 08:40:02 +0000 (08:40 +0000)]
Change slot-option merging code so that INITIAL-VALUE and INITIALIZER
shadow each other properly.
Chris Hanson [Tue, 17 Jun 1997 08:10:41 +0000 (08:10 +0000)]
Change slot-option merging code so that INITIAL-VALUE and INITIALIZER
shadow each other properly.
Chris Hanson [Tue, 17 Jun 1997 04:59:30 +0000 (04:59 +0000)]
Add code to compute MD5 checksum for a file; to convert a checksum to
either a number or a hex string; and to encrypt a substring.
Chris Hanson [Tue, 17 Jun 1997 04:58:41 +0000 (04:58 +0000)]
Add primitive that accepts input as a substring rather than a string.
Chris Hanson [Tue, 17 Jun 1997 04:58:06 +0000 (04:58 +0000)]
Add new primitives to simplify writing code to perform MD5 checksum on
arbitrary-length streams.
Chris Hanson [Mon, 16 Jun 1997 09:01:25 +0000 (09:01 +0000)]
Changes to interface and semantics of INSTANCE-CONSTRUCTOR.
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 07:02:16 +0000 (07:02 +0000)]
Modify the CONSTRUCTOR class option to DEFINE-CLASS to allow it to
specify the CALL-INIT-INSTANCE? argument to INSTANCE-CONSTRUCTOR.
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 [Sun, 15 Jun 1997 03:43:43 +0000 (03:43 +0000)]
Add blowfish and MD5 support.
Chris Hanson [Sat, 14 Jun 1997 07:34:04 +0000 (07:34 +0000)]
Fix bug that could cause SEGV when downloading article bodies.
Chris Hanson [Sat, 14 Jun 1997 01:22:05 +0000 (01:22 +0000)]
Fix typo.
Chris Hanson [Thu, 12 Jun 1997 21:10:43 +0000 (21:10 +0000)]
Add definition for SQUARE.
Chris Hanson [Thu, 12 Jun 1997 07:33:58 +0000 (07:33 +0000)]
Fix bug: when CALL-NEXT-METHOD used in DEFINE-METHOD, the generated
code was using old calling conventions.
Chris Hanson [Thu, 12 Jun 1997 04:37:55 +0000 (04:37 +0000)]
Move COMPILE-FILE into the compiler proper.
Chris Hanson [Thu, 12 Jun 1997 04:36:25 +0000 (04:36 +0000)]
Add COMPILE-FILE incremental file compilation procedure.
Chris Hanson [Wed, 11 Jun 1997 07:45:04 +0000 (07:45 +0000)]
Fix bug: predicate not being generated when other class options given.
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 [Mon, 9 Jun 1997 21:17:48 +0000 (21:17 +0000)]
Fix typo.
Chris Hanson [Mon, 9 Jun 1997 08:12:28 +0000 (08:12 +0000)]
Add support for Blowfish.
Chris Hanson [Mon, 9 Jun 1997 08:08:00 +0000 (08:08 +0000)]
Add procedure to test for availability of Blowfish primitives.
Modularize ciphertext-file support.
Chris Hanson [Mon, 9 Jun 1997 07:45:43 +0000 (07:45 +0000)]
Add interfaces to MD5 and Blowfish.
Chris Hanson [Mon, 9 Jun 1997 07:43:58 +0000 (07:43 +0000)]
Initial revision
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 06:56:42 +0000 (06:56 +0000)]
Change regular-expression searches to treat failure-stack overflow as
a failure to match, and to continue the search.
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 [Thu, 5 Jun 1997 03:06:03 +0000 (03:06 +0000)]
Fix thinko in SET-RECORD-TYPE-UNPARSER-METHOD!.
Chris Hanson [Wed, 4 Jun 1997 22:44:21 +0000 (22:44 +0000)]
Reimplement INSTANCE-PREDICATE to return a generic procedure. Move
INSTANCE-PREDICATE and INSTANCE-OF? to "instance.scm".
Chris Hanson [Wed, 4 Jun 1997 22:29:57 +0000 (22:29 +0000)]
Add SOS to list of directories needing to be processed.
Chris Hanson [Wed, 4 Jun 1997 22:29:00 +0000 (22:29 +0000)]
Reimplement INSTANCE-PREDICATE to return a generic procedure. Move
INSTANCE-PREDICATE and INSTANCE-OF? to "instance.scm".
Chris Hanson [Wed, 4 Jun 1997 22:24:21 +0000 (22:24 +0000)]
Eliminate references to INSTANCE-PREDICATE.
Chris Hanson [Wed, 4 Jun 1997 22:15:31 +0000 (22:15 +0000)]
Add options allowing DEFINE-CLASS to automatically generate predicate
and constructor procedures. By default, generate a predicate.
Chris Hanson [Wed, 4 Jun 1997 21:58:14 +0000 (21:58 +0000)]
Modify undigestifier so that it handles newer digests, e.g. the Debian
mailing-list digestifier.
Chris Hanson [Wed, 4 Jun 1997 20:01:31 +0000 (20:01 +0000)]
Initial revision
Chris Hanson [Wed, 4 Jun 1997 06:11:24 +0000 (06:11 +0000)]
Add line to startup banner.
Chris Hanson [Wed, 4 Jun 1997 06:09:57 +0000 (06:09 +0000)]
Initial revision
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 18:01:46 +0000 (18:01 +0000)]
Read and write .KY files as binary rather than text.
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 [Wed, 21 May 1997 06:30:59 +0000 (06:30 +0000)]
Change error-reporting procedure to eliminate redundant sentences for
fatal errors.
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 08:00:10 +0000 (08:00 +0000)]
* Add new command to show the full subject line of an article in a
news-group buffer.
* Add new command to show the full header of an article in a
news-group buffer.
* When first unread article in a group has an associated body, expand
the thread to select that article when the group is opened.
* Change posting mechanism to use "_-_" in message-id to indicate
subject changes, as required by News standard.
Chris Hanson [Sun, 18 May 1997 07:53:03 +0000 (07:53 +0000)]
Change SET-BUFFER-POINT! to change the first window that the buffer is
shown in if it is not the selected buffer.
Chris Hanson [Sun, 18 May 1997 07:51:53 +0000 (07:51 +0000)]
Fix bug: STRING-COLUMNS was being called with incorrect arguments.
Apparently this reference was missed when the imaging code was
rewritten.
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 03:11:58 +0000 (03:11 +0000)]
Add ability to specify custom color palette when creating a window.
Chris Hanson [Thu, 15 May 1997 00:18:35 +0000 (00:18 +0000)]
Add generic operation to determine the bit-depth of an image
associated with a window.
Chris Hanson [Thu, 15 May 1997 00:18:02 +0000 (00:18 +0000)]
Add X-specific operation to return the visual-info data structures for
a display, and a structure definition for these structures.
Chris Hanson [Thu, 15 May 1997 00:14:06 +0000 (00:14 +0000)]
Add X-specific operation to return the visual-info data structures for
a display, and a structure definition for these structures.