Chris Hanson [Mon, 5 May 1997 07:24:13 +0000 (07:24 +0000)]
Unknown change implemented by adams.
Chris Hanson [Mon, 5 May 1997 06:59:35 +0000 (06:59 +0000)]
Fix bug: scheme_to_interface must clear the floating-point register
stack. Otherwise, inexplicable floating-point errors can occur. An
example of such an error can be created by typing `-1e-194' at a
freshly-booted scheme.
The actual problem is somewhat involved. The C compiler assumes that
all of the floating-point registers are empty on the entry to any
procedure. As a consequence of this assumption, it feels free to use
all 8 of the registers. However, if this assumption is violated, a C
procedure that uses too many registers will signal a floating-point
stack overflow.
However, the Scheme compiler does not follow this convention; more
precisely, since it was originally designed to use reasonable
floating-point hardware, in which the floating-point registers are
organized as a bank of registers rather than a stack, it doesn't do
anything about popping registers when it is done with them. As a
consequence, floating-point operations generated by the Scheme
compiler often leave values on the floating-point stack.
To work around this without redesigning the compiler, the
compiled-code interface clears out the stack whenever it transfers
between C and Scheme code. The bug fixed by this revision was a
transfer point that did not have code to clear out the stack.
Chris Hanson [Sat, 3 May 1997 08:47:26 +0000 (08:47 +0000)]
Fix thinko: INTEGER-ROUND was doing round-to-odd instead of
round-to-even.
Chris Hanson [Fri, 2 May 1997 05:46:25 +0000 (05:46 +0000)]
Fix stupid typo in previous change.
Chris Hanson [Fri, 2 May 1997 05:32:17 +0000 (05:32 +0000)]
Fix incredibly stupid think-o in previous change.
Chris Hanson [Thu, 1 May 1997 03:51:13 +0000 (03:51 +0000)]
Changes needed to get PTY subprocesses working under BSDI.
Chris Hanson [Thu, 1 May 1997 01:30:49 +0000 (01:30 +0000)]
Fix think-o in previous change.
Chris Hanson [Thu, 1 May 1997 01:27:55 +0000 (01:27 +0000)]
Customize properly for POSIX, eliminating unnecessary prototype for
"lseek", which has been causing problems on some BSD systems.
Chris Hanson [Thu, 1 May 1997 01:26:16 +0000 (01:26 +0000)]
Don't use ** operator, because it isn't recognized on some of the BSD
versions of m4. Use << instead.
Chris Hanson [Thu, 1 May 1997 01:24:54 +0000 (01:24 +0000)]
Disable declarations for sys_errlist and sys_nerr except where needed.
Most systems define these nowadays.
Chris Hanson [Thu, 1 May 1997 01:23:43 +0000 (01:23 +0000)]
Customize for BSDI and FreeBSD.
Chris Hanson [Thu, 1 May 1997 01:18:42 +0000 (01:18 +0000)]
Add switch USE_BUILT_IN_LIMITS_FILES for systems that have built-in
<limits.h> and <float.h>. Previously this hack was specific to Linux.
Chris Hanson [Mon, 28 Apr 1997 07:20:33 +0000 (07:20 +0000)]
Add new primitive LIST->INTEGER.
Chris Hanson [Mon, 28 Apr 1997 07:10:20 +0000 (07:10 +0000)]
Optimize the change implemented in the previous revision, as it had a
serious impact on performance.
Chris Hanson [Mon, 28 Apr 1997 05:59:49 +0000 (05:59 +0000)]
Change method used by EXACT->INEXACT on integers. It turns out that
the old method, the INT:->FLONUM, does not round reliably, and as a
consequence the LSB of the result is sometimes wrong. However, the
conversion performed by INTEGER->FLONUM is accurate provided that the
integer being converted can be exactly represented by a flonum, i.e.
for IEEE double-precision floats, an integer with magnitude less than
(EXPT 2 53).
The algorithm used to convert ratnums to flonums already has this
property, so the integer conversion has been changed to use it.
Chris Hanson [Mon, 28 Apr 1997 05:32:15 +0000 (05:32 +0000)]
Fix two bugs: (1) parser was not recognizing radix prefixes when
STRING->NUMBER called with an explicit radix argument; and (2) parser
not allowing exponents without an explicit sign.
Chris Hanson [Thu, 24 Apr 1997 06:35:29 +0000 (06:35 +0000)]
Complete reimplementation of the number parser. New parser is 3.5
times as fast as the old one (see data below), and includes the
contribution due to the improved EXACT->INEXACT.
New switch FLONUM-PARSER-FAST? allows the number parser to sacrifice
accuracy for performance, and gains another factor of 2.4 in
performance on flonums.
----------------------------------------------------------------------
Tests performed with a list of 100000 randomly-generated strings. The
strings were generated by "test-numpar.scm", which implements the R4RS
number BNF, so the strings are arbitrary numeric syntax.
This is a test of general number-reading performance.
Results for old exact->inexact and old string->number:
process time: 9690 (9060 RUN + 630 GC); real time: 9690
process time: 9460 (8830 RUN + 630 GC); real time: 9458
process time: 9450 (8820 RUN + 630 GC); real time: 9451
process time: 9460 (8830 RUN + 630 GC); real time: 9456
average real time: 9514 msec
Results for new exact->inexact and new string->number:
process time: 2800 (2800 RUN + 0 GC); real time: 2800
process time: 2790 (2790 RUN + 0 GC); real time: 2786
process time: 2700 (2700 RUN + 0 GC); real time: 2703
process time: 2680 (2680 RUN + 0 GC); real time: 2686
average real time: 2744 msec
Average improvement is a factor of 3.5 in speed.
Chris Hanson [Thu, 24 Apr 1997 05:26:06 +0000 (05:26 +0000)]
Workaround: Linux doesn't seem to record Scheme-program execution time
as "user" process time, so change process-time clock to count both
"user" and "system" time. Normally only "user" time counts.
Chris Hanson [Wed, 23 Apr 1997 07:29:15 +0000 (07:29 +0000)]
Dramatically improve the performance of EXACT->INEXACT on ratnums and
(EXPT 2 x). Slightly improve INTEGER-ROUND. These changes require
two new primitives implemented in microcode 11.158.
Here are the results for EXACT->INEXACT. These tests were run by
calling EXACT->INEXACT on a list of 100000 randomly-generated ratnums.
The numerator and denominator were each chosen using a modulus of
(EXPT 2 64), discarding zero denominators and integer quotients.
The machine was a dual Pentium Pro 200MHz / 512kB cache, 128MB RAM,
running SMP Linux 2.0.26 and libc 5.4.20. Scheme was run using the
runtime.com band and a heap of 4000. The machine was otherwise
quiescent.
Results for old EXACT->INEXACT:
process time: 1750 (1470 RUN + 280 GC); real time: 37350
process time: 1000 (780 RUN + 220 GC); real time: 37359
process time: 900 (900 RUN + 0 GC); real time: 37345
process time: 2460 (2060 RUN + 400 GC); real time: 37370
average real time: 37356 msec
Results for new EXACT->INEXACT:
process time: 580 (580 RUN + 0 GC); real time: 5825
process time: 240 (240 RUN + 0 GC); real time: 5480
process time: 910 (910 RUN + 0 GC); real time: 5450
process time: 840 (540 RUN + 300 GC); real time: 5770
average real time: 5631 msec
Average improvement is a factor of 6.6 in speed.
Chris Hanson [Wed, 23 Apr 1997 07:01:36 +0000 (07:01 +0000)]
New primitives to support faster conversion of ratnum to flonum.
Chris Hanson [Wed, 23 Apr 1997 05:41:03 +0000 (05:41 +0000)]
Add new primitive INTEGER-SHIFT-LEFT. This is a very fast way to
multiply an integer by a power of two.
Chris Hanson [Tue, 22 Apr 1997 22:42:41 +0000 (22:42 +0000)]
Implement new primitive INTEGER-LENGTH-IN-BITS. This computes the
length of a non-negative integer in the obvious way; it computes the
length of a negative integer by negating it and then returning the
value for the positive equivalent.
This primitive can be used to greatly speed up the conversion of
rational numbers to flonums.
Chris Hanson [Tue, 22 Apr 1997 22:18:06 +0000 (22:18 +0000)]
Add primitive BIGNUM-LENGTH-IN-BITS.
Chris Hanson [Sun, 20 Apr 1997 05:10:43 +0000 (05:10 +0000)]
Speed up CHAR->DIGIT and DIGIT->CHAR. Also change all arithmetic to
fixnum arithmetic, and reorganize file slightly.
Chris Hanson [Thu, 17 Apr 1997 03:49:04 +0000 (03:49 +0000)]
Add code to prompt user when killing a buffer that is modified or has
an active process. This is done by means of a variable containing a
list of "query" procedures.
Chris Hanson [Fri, 11 Apr 1997 04:44:07 +0000 (04:44 +0000)]
Add command M-x clean-manual-entry.
Chris Hanson [Sat, 5 Apr 1997 06:09:27 +0000 (06:09 +0000)]
Eliminate a few of the calls to NEWS-GROUP:CLOSE-DATABASE, since they
have an adverse effect on performance.
Chris Hanson [Thu, 3 Apr 1997 04:44:32 +0000 (04:44 +0000)]
Change event-reading loop to block when waiting for an event while
none of the Edwin windows is active. This is safe because we won't
get any events until one of them becomes active, and at that time the
activation messages will cause a return from the block.
Chris Hanson [Thu, 3 Apr 1997 04:41:15 +0000 (04:41 +0000)]
Add conditionalized code to generate a trace file showing message
receipt, waiting, and event fetching. This was used to track down a
busy-wait loop in Edwin.
Chris Hanson [Wed, 2 Apr 1997 08:17:13 +0000 (08:17 +0000)]
Don't barf when a "branch" field appears in the admin block.
Chris Hanson [Wed, 2 Apr 1997 08:16:41 +0000 (08:16 +0000)]
Rewrite Win32 (as opposed to Win32s) DLL to use auxiliary thread and
Sleep() API call to generate async timer interrupts. Use a critical
section to synchronize the two threads' access to the interrupt
registers. These changes should eliminate the "spurious interrupt"
error messages that have been showing up from time to time.
Chris Hanson [Wed, 2 Apr 1997 07:44:09 +0000 (07:44 +0000)]
Rewrite Win32 (as opposed to Win32s) DLL to use auxiliary thread and
Sleep() API call to generate async timer interrupts. Use a critical
section to synchronize the two threads' access to the interrupt
registers. These changes should eliminate the "spurious interrupt"
error messages that have been showing up from time to time.
Chris Hanson [Tue, 1 Apr 1997 05:58:02 +0000 (05:58 +0000)]
Implement new primitive to get at the OS/2 PM "system values".
Chris Hanson [Mon, 31 Mar 1997 20:55:06 +0000 (20:55 +0000)]
Add code to close the NNTP database files after each high-level
operation. This is desirable on OS/2 because keeping the files open
prevents other programs from reading them.
Chris Hanson [Mon, 31 Mar 1997 19:27:09 +0000 (19:27 +0000)]
Flush purification queue after loading an option. Otherwise, if the
option creates a new environment, and that environment has state
variables, the contents of those state variables will be purified at
the time of the next GC.
Chris Hanson [Mon, 31 Mar 1997 05:33:54 +0000 (05:33 +0000)]
Replace incorrect use of stderr with outf_error.
Chris Hanson [Sun, 30 Mar 1997 23:33:24 +0000 (23:33 +0000)]
Fix bug in code generation for the HEAP-AVAILABLE? primitive. The
primitive compares addresses using an unsigned comparison, but the
compiled code was using a signed comparison. This was the cause of
sporadic failures that have been seen while running Edwin with a large
heap on OS/2; it could have happened on any operating system when
Edwin was run with a sufficiently large heap. This fix changes the
compiled code to use an unsigned comparison.
Chris Hanson [Sun, 30 Mar 1997 23:27:07 +0000 (23:27 +0000)]
Fix bug in code generation for the HEAP-AVAILABLE? primitive. The
primitive compares addresses using an unsigned comparison, but the
compiled code was using a signed comparison. This was the cause of
sporadic failures that have been seen while running Edwin with a large
heap on OS/2; it could have happened on any operating system when
Edwin was run with a sufficiently large heap. This fix changes the
compiled code to use an unsigned comparison.
Chris Hanson [Sun, 30 Mar 1997 06:58:04 +0000 (06:58 +0000)]
Fix bug: C-x 5 o was not causing the selected frame to become active.
Chris Hanson [Sun, 30 Mar 1997 06:26:45 +0000 (06:26 +0000)]
Eliminate error that would occur when updating news groups while any
groups list other than the subscribed-groups list was being shown in a
buffer.
Chris Hanson [Sun, 30 Mar 1997 06:23:43 +0000 (06:23 +0000)]
Make sure that evaluation buffers have the correct setting for the
scheme-environment variable; this is needed so that completion will
work correctly. This was a problem in debugger buffers.
Chris Hanson [Fri, 21 Mar 1997 02:06:08 +0000 (02:06 +0000)]
In linux_heap_malloc, use the MAP_FIXED flag to force the kernel to
provide the page at the given address. Version 1.2 kernels ignore the
"start address" argument if this flag is unspecified.
Chris Hanson [Wed, 19 Mar 1997 05:23:43 +0000 (05:23 +0000)]
Fix bug: info-directory-list should be allowed to contain pathnames as
well as strings.
Chris Hanson [Tue, 18 Mar 1997 04:06:32 +0000 (04:06 +0000)]
Fix bug: Watcom compiler passes arguments in registers by default, and
trick of pointing to first argument doesn't get pointer that points
"into the stack".
Chris Hanson [Fri, 14 Mar 1997 05:12:55 +0000 (05:12 +0000)]
Backup filenames being returned for deletion are supposed to be fully
qualified; they were not.
Chris Hanson [Mon, 10 Mar 1997 05:40:35 +0000 (05:40 +0000)]
* Create interface to allow keyparser description to be built up
incrementally. This aids in development and debugging of
descriptions.
* Modify indentation computation so that comment lines are indented
properly. Previously they were indented just like code lines.
* Change definition of MATCH-HEADER so that it accepts the keyparser
stack as an argument. Also open up the stack-entry abstraction.
These changes allow MATCH-HEADER to use contextual information in
its decision-making process.
* Fix some problems in the VHDL implementation. Use new MATCH-HEADER
extension to distinguish two cases of FOR keyword that are otherwise
syntactically identical.
Chris Hanson [Mon, 10 Mar 1997 05:32:44 +0000 (05:32 +0000)]
Fix typo. Add another combinator.
Chris Hanson [Sat, 8 Mar 1997 00:21:37 +0000 (00:21 +0000)]
Add entry for "loop" structure.
Chris Hanson [Sat, 8 Mar 1997 00:16:14 +0000 (00:16 +0000)]
Remove evaluation information that is no longer accurate.
Chris Hanson [Fri, 7 Mar 1997 23:34:54 +0000 (23:34 +0000)]
Implement VHDL mode. Generalize the keyword parser used by Verilog
mode so that it is powerful enough to parse both languages. Implement
a high-level extensible pattern matcher to allow the VHDL indenter to
recognize keyword contexts in cases where it is necessary.
Chris Hanson [Fri, 7 Mar 1997 23:31:22 +0000 (23:31 +0000)]
Initial revision
Chris Hanson [Fri, 7 Mar 1997 23:30:32 +0000 (23:30 +0000)]
Fix typo in previous revision.
Chris Hanson [Tue, 4 Mar 1997 06:49:05 +0000 (06:49 +0000)]
Create new data type for a compiled regular expression; this type
contains the case-fold information used to compile the regexp. Modify
the low-level regular-expression procedures to accept this new type
and to no longer have an argument for case-fold. Modify the
high-level regular-expression procedures to accept a compiled regular
expression in place of a regular-expression string; in this case the
optional case-fold argument is ignored.
Edit all references to the low-level procedures to conform to this new
design.
Chris Hanson [Tue, 4 Mar 1997 06:45:17 +0000 (06:45 +0000)]
Change to conform to new design of Edwin regular-expression
procedures.
Chris Hanson [Tue, 4 Mar 1997 06:43:51 +0000 (06:43 +0000)]
Create new data type for a compiled regular expression; this type
contains the case-fold information used to compile the regexp. Modify
the low-level regular-expression procedures to accept this new type
and to no longer have an argument for case-fold. Modify the
high-level regular-expression procedures to accept a compiled regular
expression in place of a regular-expression string; in this case the
optional case-fold argument is ignored.
Edit all references to the low-level procedures to conform to this new
design.
Chris Hanson [Mon, 3 Mar 1997 23:04:13 +0000 (23:04 +0000)]
Add procedure to generate regular-expression "groups" from lists of
alternatives.
Chris Hanson [Mon, 3 Mar 1997 23:03:47 +0000 (23:03 +0000)]
Add procedure to find the start of a definition that a mark is in.
Chris Hanson [Sun, 23 Feb 1997 06:24:43 +0000 (06:24 +0000)]
Change data structures and calling conventions of screen abstraction
so that "highlighting" can specify the "face" in which the text will
appear. This generalization allows us to modify the terminal
abstractions to support multiple fonts and colors.
Chris Hanson [Sun, 23 Feb 1997 06:16:12 +0000 (06:16 +0000)]
Add several new operations on vectors. Eliminate unnecessary
bindings.
Chris Hanson [Sun, 23 Feb 1997 06:11:12 +0000 (06:11 +0000)]
Add several new operations on vectors. Eliminate unnecessary
bindings.
Chris Hanson [Sun, 23 Feb 1997 06:10:13 +0000 (06:10 +0000)]
Add several new operations on vectors. Eliminate unnecessary
bindings.
Chris Hanson [Sat, 22 Feb 1997 07:49:39 +0000 (07:49 +0000)]
Add several new operations on vectors. Eliminate unnecessary
bindings.
Chris Hanson [Fri, 21 Feb 1997 06:18:45 +0000 (06:18 +0000)]
Guarantee that all input ports have a READ-SUBSTRING operation.
Implement procedures READ-STRING! and READ-LINE.
Chris Hanson [Fri, 21 Feb 1997 06:12:33 +0000 (06:12 +0000)]
Guarantee that all input ports have a READ-SUBSTRING operation.
Implement procedures READ-STRING! and READ-LINE.
Chris Hanson [Fri, 21 Feb 1997 05:42:58 +0000 (05:42 +0000)]
Guarantee that all input ports have a READ-SUBSTRING operation.
Implement procedures READ-STRING! and READ-LINE.
Chris Hanson [Thu, 20 Feb 1997 05:26:20 +0000 (05:26 +0000)]
Fix typo in translation of unix time to NT file time.
Chris Hanson [Thu, 13 Feb 1997 02:24:02 +0000 (02:24 +0000)]
Update documentation for FLONUM-UNPARSER-CUTOFF. Change names for
x-graphics procedures to match code.
Chris Hanson [Wed, 12 Feb 1997 08:23:35 +0000 (08:23 +0000)]
Move only reference to COMPILE_STEPPER from "scheme.h" to "interp.c",
since that is the only file affected. Also, the previous location of
this reference prevented the assignment in "config.h" from being
properly seen.
Chris Hanson [Wed, 12 Feb 1997 08:08:16 +0000 (08:08 +0000)]
Fix thinko from change to implement "krypt" support.
Chris Hanson [Wed, 12 Feb 1997 08:00:19 +0000 (08:00 +0000)]
Fix what appears to have been a thinko in the rounding of
floating-point printed representations. This fix prevents the code
from diverging with certain combinations of numbers and rounding
modes. An example that caused this problem:
(set! flonum-unparser-cutoff '(relative 4))
(/ (* 10e3 100e-15))
I'm not entirely convinced I understand the problem at this point; I
don't have a copy of the paper at hand to remind me how the printer
algorithm works. But the change fixes the bug, seems to work
correctly on other test cases, and matches what my partial
understanding says should be happening.
Chris Hanson [Sat, 8 Feb 1997 07:08:43 +0000 (07:08 +0000)]
Fix bug in C indentation.
Chris Hanson [Wed, 5 Feb 1997 19:03:58 +0000 (19:03 +0000)]
Add hack suggested by "amu@mit.edu (Aaron M. Ucko)" to locally bind
the BackSpace key to DEL.
Chris Hanson [Sat, 25 Jan 1997 10:38:36 +0000 (10:38 +0000)]
Fix bug: code for make-decoded-time can easily signal an error when
the time being represented is earlier than 1970 on a unix machine.
Fix allows such times to be represented, but without filling in
day-of-week, timezone, and daylight-savings fields.
Chris Hanson [Wed, 22 Jan 1997 20:44:39 +0000 (20:44 +0000)]
* Fix bug in INPUT-BUFFER/DISCARD-CHAR: was not doing anything if the
input buffer was empty.
* Change INPUT-BUFFER/READ-SUBSTRING to read a whole buffer from the
input channel if the required number of characters is less than the
size of the buffer.
* Change INPUT-BUFFER/READ-SUBSTRING to continue reading from the
input channel until the substring is filled or the channel has no
more characters available. This is a correct fix for the change
made in revision 14.47; this fix does a probe of the channel to
determine if there are any characters immediately available.
Previous to 14.47 the procedure might have blocked waiting for input
that was not ready, even if it had already partly filled the
substring. Now it will immediately return any characters that are
available, and block only when nothing is available.
Chris Hanson [Wed, 15 Jan 1997 07:09:05 +0000 (07:09 +0000)]
Fix call to APPEND-TO-FILE that should have been patched in the
previous change.
Chris Hanson [Fri, 10 Jan 1997 08:00:17 +0000 (08:00 +0000)]
Generalize version-number handling to detect IBM's continued use of
version numbers such as 2.4 rather than 4.0.
Chris Hanson [Mon, 6 Jan 1997 00:18:19 +0000 (00:18 +0000)]
Use new directory reader to get better attribute information from
Win32. This requires microcode 11.156 and runtime 14.172.
Chris Hanson [Sun, 5 Jan 1997 23:46:13 +0000 (23:46 +0000)]
Use new directory reader to get better attribute information from
Win32. This requires microcode 11.156 and runtime 14.172.
Chris Hanson [Sun, 5 Jan 1997 23:45:13 +0000 (23:45 +0000)]
Add new file to customize Win32 directory reader. Extend Win32 file
attributes vector to include the mode bits. This version of the
runtime system requires microcode 11.156 or later.
Chris Hanson [Sun, 5 Jan 1997 23:43:10 +0000 (23:43 +0000)]
Initial revision
Chris Hanson [Sun, 5 Jan 1997 23:41:52 +0000 (23:41 +0000)]
Extensive changes to the code that gets information about files; new
code is smarter about reading protected files. Also add new
directory-reading primitive to allow the runtime system to get full
file-attribute information; this is otherwise impossible as the
directory reader is able to get file information that the
file-attribute calls can't.
Chris Hanson [Sun, 5 Jan 1997 23:38:50 +0000 (23:38 +0000)]
Add new procedure to get all of the information from the directory
reader.
Chris Hanson [Sun, 5 Jan 1997 23:38:12 +0000 (23:38 +0000)]
Add file-opening flags that hint to the operating system about how to
optimize file caching.
Chris Hanson [Sun, 5 Jan 1997 23:37:21 +0000 (23:37 +0000)]
Add new system call.
Chris Hanson [Sun, 5 Jan 1997 23:36:47 +0000 (23:36 +0000)]
Add dependencies for ntapi.h.
Chris Hanson [Sun, 5 Jan 1997 23:36:01 +0000 (23:36 +0000)]
Add explicit dependencies to many of the files as wmake seems not to
have this behavior.
Chris Hanson [Fri, 3 Jan 1997 04:40:03 +0000 (04:40 +0000)]
Change output procedures to ignore translate-file-data-on-output in
some circumstances. This is necessary because RMAIL files want this
variable set to #F, but M-x write-region should ignore the variable
binding in that case and do translation anyway.
Chris Hanson [Fri, 3 Jan 1997 04:07:00 +0000 (04:07 +0000)]
Change output procedures to ignore translate-file-data-on-output in
some circumstances. This is necessary because RMAIL files want this
variable set to #F, but M-x write-region should ignore the variable
binding in that case and do translation anyway.
Chris Hanson [Thu, 2 Jan 1997 07:07:19 +0000 (07:07 +0000)]
Rearrange the code that sets memtop to trigger an interrupt. I have a
strong suspicion that these timer interrupts run in a separate thread
under NT. If so, this is a really dangerous thing to be doing without
synchronization. This rearrangement will minimize the window in which
problems can occur.
Chris Hanson [Thu, 2 Jan 1997 05:23:15 +0000 (05:23 +0000)]
Eliminate compiler warnings generated under NT.
Chris Hanson [Thu, 2 Jan 1997 04:39:45 +0000 (04:39 +0000)]
Change event-reading code to use SELECT rather than kludge of giving
up time slice and polling. This requires corresponding changes in
microcode 11.155 and runtime 14.171.
Chris Hanson [Thu, 2 Jan 1997 04:37:53 +0000 (04:37 +0000)]
*** Note: this version of the runtime system requires microcode
version 11.155 or later. ***
* Implement heuristic to detect unix drivers and perform appropriate
end-of-line translations for them.
* Provide names for Win32 file-system info flags.
* Reimplement SELECT support to match changes in microcode. The
improved support helps to prevent Scheme from getting stuck while
waiting for input.
Chris Hanson [Thu, 2 Jan 1997 04:33:45 +0000 (04:33 +0000)]
Extensive changes to provide proper support for Win32 API calls. This
new support integrates with the runtime system to provide correct
names for procedures and errors, and eliminates the need to use a
unix-style name in association with a Win32 API entity.
* Create new Win32-specific channel types. Eliminate non-OS-specific
channel type names.
* Introduce new file "ntapi.h" to encapsulate information about the
Win32 API. Rename macros for NT system calls, separating them into
two groups: one to handle unix-style calls, the other to handle
Win32-style calls. Eliminate NT_<foo> aliases of C library
procedures. Create Win32-specific system-call names, API-call
names, and errors. Update all references to the old names.
* Implement OS_malloc, OS_realloc, and OS_free; change various call
sites to use these.
* Change the low-level timer-interrupt handler to generate a GUI
message when a Scheme interrupt is generated; this is necessary to
unblock Scheme if it is blocked inside MsgWaitForMultipleObjects.
Chris Hanson [Wed, 1 Jan 1997 22:58:34 +0000 (22:58 +0000)]
Initial revision
Chris Hanson [Wed, 1 Jan 1997 22:58:18 +0000 (22:58 +0000)]
Extensive changes to provide proper support for Win32 API calls. This
new support integrates with the runtime system to provide correct
names for procedures and errors, and eliminates the need to use a
unix-style name in association with a Win32 API entity.
* Create new Win32-specific channel types. Eliminate non-OS-specific
channel type names.
* Introduce new file "ntapi.h" to encapsulate information about the
Win32 API. Rename macros for NT system calls, separating them into
two groups: one to handle unix-style calls, the other to handle
Win32-style calls. Eliminate NT_<foo> aliases of C library
procedures. Create Win32-specific system-call names, API-call
names, and errors. Update all references to the old names.
* Implement OS_malloc, OS_realloc, and OS_free; change various call
sites to use these.
* Change the low-level timer-interrupt handler to generate a GUI
message when a Scheme interrupt is generated; this is necessary to
unblock Scheme if it is blocked inside MsgWaitForMultipleObjects.
Chris Hanson [Wed, 1 Jan 1997 10:13:19 +0000 (10:13 +0000)]
Simplify code that changes a window's size. Both the old and new code
produces incorrect results on my machine. This seems to be an OS/2
bug, as it consistently adds too much padding to the frame window's
header height.
Chris Hanson [Wed, 1 Jan 1997 10:10:34 +0000 (10:10 +0000)]
Disable byte alignment for windows created by Scheme.
Chris Hanson [Wed, 25 Dec 1996 07:20:15 +0000 (07:20 +0000)]
* Change terminology to refer to "seen" articles as "deleted".
* Introduce new marking, "browsed", to indicate articles whose headers
have been shown in a news-group buffer. These "browsed" markings
are used to prevent a common problem with cross posts: after having
marked an article in one group, re-marking the cross-posted article
differently in another group clobbers the original markings. The
news reader now examines the "browsed" marking, and does not re-mark
any cross post that has already been "browsed".
* Change code that selects initial header when opening a news-group
buffer for the first time. New code does not automatically expand a
thread whose first message is "deleted".
Chris Hanson [Wed, 25 Dec 1996 06:50:07 +0000 (06:50 +0000)]
* Change terminology to refer to "seen" articles as "deleted".
* Introduce new marking, "browsed", to indicate articles whose headers
have been shown in a news-group buffer. These "browsed" markings
are used to prevent a common problem with cross posts: after having
marked an article in one group, re-marking the cross-posted article
differently in another group clobbers the original markings. The
news reader now examines the "browsed" marking, and does not re-mark
any cross post that has already been "browsed".
* Change code that selects initial header when opening a news-group
buffer for the first time. New code does not automatically expand a
thread whose first message is "deleted".
Chris Hanson [Wed, 25 Dec 1996 06:39:51 +0000 (06:39 +0000)]
Don't disable stack checks for this architecture; stack overflow is
impossible to debug without them (except on OS/2 which has clever
virtual-memory support for this). Also note that all other
architectures generate them by default.