Chris Hanson [Sun, 30 Apr 1995 06:56:13 +0000 (06:56 +0000)]
Add optional argument to WINDOW-DELETE! procedure. This argument is a
window that should get the space released by the deleted window. If
it is not adjacent to the deleted window, the argument is ignored.
Chris Hanson [Sun, 30 Apr 1995 06:54:43 +0000 (06:54 +0000)]
* Generalize and simplify sendmail interface, to give more control
over the configuration of a mail buffer by a program.
* Restructure parts of the RMAIL code that deal with replies and
output to mail files. Export some of this code for use by other
programs.
Stephen Adams [Sat, 29 Apr 1995 22:26:36 +0000 (22:26 +0000)]
Fixed bug when a coerced call site has been transformed into a binder
for another coerced procedure.
Stephen Adams [Sat, 29 Apr 1995 14:09:09 +0000 (14:09 +0000)]
(LOAD-OPTION name #!optional no-error?) now returns #F when NO-ERROR?
is true and the option NAME is not available. It used to return NAME
in all cases.
Stephen Adams [Sat, 29 Apr 1995 13:57:56 +0000 (13:57 +0000)]
Fixed RTLGEN/INTEGER-CONSTANT? to reject non-integers.
Stephen Adams [Sat, 29 Apr 1995 13:18:05 +0000 (13:18 +0000)]
Added expansion for SYMBOL?
Stephen Adams [Sat, 29 Apr 1995 13:08:29 +0000 (13:08 +0000)]
Added expansion for SYMBOL? (similar to those for numeric predicates).
Stephen Adams [Sat, 29 Apr 1995 01:11:40 +0000 (01:11 +0000)]
Tidying.
Stephen Adams [Sat, 29 Apr 1995 01:05:08 +0000 (01:05 +0000)]
Tidying.
Stephen Adams [Sat, 29 Apr 1995 00:57:30 +0000 (00:57 +0000)]
Tidying.
Stephen Adams [Fri, 28 Apr 1995 13:47:22 +0000 (13:47 +0000)]
Added some (incomplete) documantation about garbage collection.
Stephen Adams [Fri, 28 Apr 1995 12:35:59 +0000 (12:35 +0000)]
Yet another case where a BODY ended in a DEFINITION instead of an
EXPRESSION.
Chris Hanson [Fri, 28 Apr 1995 07:20:08 +0000 (07:20 +0000)]
Eliminate compiler warning.
Chris Hanson [Fri, 28 Apr 1995 07:05:10 +0000 (07:05 +0000)]
* The procedure OS_set_working_dir_pathname in "os2env.c" had a
serious bug: passing it a string like "d:\\" caused it to signal a
Scheme error. What was serious was that this could occur while
spawning a subprocess, which for some as-yet unexplained reason
would crash Scheme with no error message. To compound matters, the
bug appeared to be unreproduceable under a debugger (not true). The
remaining changes were side effects of the blind debugging process:
* Added OS2_initialize_early to "boot.c" and "os2top.c". This allows
the microcode to do the initialization necessary to put up dialog
boxes. Which in turn is needed to report boot-time errors, such as
non-existent band file names.
* "option.c" calls outf but did not include "outf.h". Under ANSI C,
since outf takes a variable number of arguments, this results in
unspecified behavior. Under OS/2 with IBM's compiler, this causes a
mismatch in calling conventions, which can result in bizarre errors.
* Modified "os2.c" to have an alternate implementation of OS_malloc
and related procedures. This was generated while attempting to
track down a nasty bug that appeared to be a memory-allocation
error. The alternate implementation is #ifdef'ed out, but left in
place should it be useful in the future.
* Improved the definition of OS2_logic_error_1 so that it treats
errors in non-essential subthreads as non-fatal. Also improved the
wording of the error messages produced, and included more
information for future reference.
* All subthreads now have exception handlers and PM message queues, so
they can catch and report any exceptions that occur in them.
Previously, an exception occurring in a subthread would crash Scheme
with no explanation.
* Enhanced the acknowledgement messages sent to a channel readahead
thread to carry a flag indicating whether the thread is being asked
to read some more or to kill itself. This eliminates a race
condition associated with closing of the channel.
* Changed the input-pipe readahead thread to accept its arguments in a
freshly malloc'ed structure that the thread is responsible for
freeing. Previously, the arguments were accepted in a channel,
which contained a context structure which in turn contained the
arguments. The previous implementation had a race condition in that
the argument data structures were owned by the Scheme thread, and
could be deallocated before the readahead thread had a chance to
dereference them.
* In "os2proc.c", moved the allocation of the structure representing
the child process into the locked region of the process
initialization. This is necessary because the child-wait thread
accesses the same structures as the allocator.
* In "os2proc.c", the working directory was being saved and later
restored. But this was a static string, and there weren't good
guarantees as to it retaining its value -- so now it is copied
before being stored.
* When putting up a message box for a fatal error, the buffer used to
compose the message was static. This caused garbling when the two
threads attempted to produce fatal errors at the same time (this was
occurring regularly during the debugging process). Now the message
box uses a per-thread static buffer.
Chris Hanson [Fri, 28 Apr 1995 07:01:32 +0000 (07:01 +0000)]
Primitive OS2WIN-GET-EVENT was sometimes calling OS_free with a null
pointer. This is legal with IBM's C library, but is not something I
like to rely on.
Chris Hanson [Fri, 28 Apr 1995 06:59:29 +0000 (06:59 +0000)]
In primitive OS2-SELECT-REGISTRY-TEST, there was a window where input
could be waiting to be read, but the primitive would be blocked
waiting for some input. This was because the primitive is composed of
two phases, and input detected in the first phase was not used to
prevent blocking in the second.
Chris Hanson [Fri, 28 Apr 1995 06:45:37 +0000 (06:45 +0000)]
Readahead message types belong to the channel-thread implementation
and are already initialized there. The initialization here was an
unnecessary duplicate.
Stephen Adams [Fri, 28 Apr 1995 00:29:13 +0000 (00:29 +0000)]
Added more SCode<->binding relations.
Stephen Adams [Fri, 28 Apr 1995 00:01:21 +0000 (00:01 +0000)]
Added the SCode expressions of subproblems to the debugging info. We
might want to use this in the debugger to get some kind of subproblem
history for compiled code.
Stephen Adams [Thu, 27 Apr 1995 23:23:18 +0000 (23:23 +0000)]
Converted to new dbg-info scheme.
Stephen Adams [Thu, 27 Apr 1995 23:22:00 +0000 (23:22 +0000)]
Converted to new dbg-info scheme. Rather than model the environmnet
at every stage, we keep a collection of all the micro-transformations
that occur. At the very end we will have to reconstruct the
envrionment from the available information.
Stephen Adams [Thu, 27 Apr 1995 23:16:34 +0000 (23:16 +0000)]
Added DBG-INFO/REMEMBER.
Chris Hanson [Thu, 27 Apr 1995 20:33:28 +0000 (20:33 +0000)]
Implement some renames that have been nagging for some time:
current-buffer => selected-buffer
current-buffer? => selected-buffer?
current-window => selected-window
current-window? => selected-window?
With these renames, the accessors now have names that match the
selectors. The old names remain as aliases.
This was stimulated by a recent change that accidentally inserted a
reference to one of the new names -- when I misremember the names I
chose, it's time to change the names.
Stephen Adams [Thu, 27 Apr 1995 02:48:47 +0000 (02:48 +0000)]
Added frame size statistic.
Stephen Adams [Wed, 26 Apr 1995 03:23:03 +0000 (03:23 +0000)]
Fiddled with a sequence of definitions and expressions to ensure the
last form is an expression to comply with the new analchecking software.
Stephen Adams [Wed, 26 Apr 1995 01:53:25 +0000 (01:53 +0000)]
Removed old flowgraph code.
Stephen Adams [Wed, 26 Apr 1995 01:51:52 +0000 (01:51 +0000)]
Initial revision
Stephen Adams [Mon, 24 Apr 1995 23:22:30 +0000 (23:22 +0000)]
Added SET-GC-NOTIFICATION!
Stephen Adams [Mon, 24 Apr 1995 23:19:23 +0000 (23:19 +0000)]
Tweaked error checking code to make the integrated portion smaller.
Stephen Adams [Mon, 24 Apr 1995 22:30:44 +0000 (22:30 +0000)]
Fixed TRANSFORM/PACKAGE to always return UNSPECIFIC, which ensures
that the last thing in the generated LET is not a definition.
Stephen Adams [Mon, 24 Apr 1995 22:15:33 +0000 (22:15 +0000)]
Fixed definition ordering bug in macros.scm
Stephen Adams [Mon, 24 Apr 1995 16:07:34 +0000 (16:07 +0000)]
Fixed bugs in multicell rewrites.
Stephen Adams [Mon, 24 Apr 1995 16:06:45 +0000 (16:06 +0000)]
Changed to use multicells. Uses singleton multicells unless there are
many mutated variables, in which case it uses one large multicell.
Ideally it should partition varibales according to their dynamic
extent and create one multcell per extent.
Chris Hanson [Mon, 24 Apr 1995 01:10:07 +0000 (01:10 +0000)]
When doing completing prompt with REQUIRE-MATCH? set true, delay
running completion procedure on final value. First try VERIFY-MATCH?
procedure, and if it succeeds, don't do any completion. This
shouldn't change the behavior since VERIFY-MATCH? must be run anyway,
and if the result is already a match, completion does nothing.
This is helpful when the completion procedure is expensive but
VERIFY-MATCH? is relatively cheap.
Chris Hanson [Sun, 23 Apr 1995 06:08:53 +0000 (06:08 +0000)]
Fix think-o in POP server support.
Chris Hanson [Sun, 23 Apr 1995 05:58:14 +0000 (05:58 +0000)]
Fix typos in previous change.
Chris Hanson [Sun, 23 Apr 1995 05:53:47 +0000 (05:53 +0000)]
Add day-of-week prefix to string returned by FILE-TIME->STRING. At
this point, the returned string is fully compliant with RFC 822.
Furthermore, the procedure is not operating-system specific, except
that it calls the procedure LOCAL-TIME-ZONE, which isn't currently
defined for any other operating system. Offhand, it's not obvious
what's involved in implementing LOCAL-TIME-ZONE for other systems,
except for the more modern unix systems, in which it's trivial.
Chris Hanson [Sun, 23 Apr 1995 05:43:50 +0000 (05:43 +0000)]
Implement procedures to return strings for weekdays.
Chris Hanson [Sun, 23 Apr 1995 05:24:18 +0000 (05:24 +0000)]
Implement conversions between file time and universal time.
Chris Hanson [Sun, 23 Apr 1995 05:19:06 +0000 (05:19 +0000)]
Implement ENCODE-FILE-TIME.
Chris Hanson [Sun, 23 Apr 1995 05:10:07 +0000 (05:10 +0000)]
Implement ENCODE-FILE-TIME.
Chris Hanson [Sun, 23 Apr 1995 04:42:19 +0000 (04:42 +0000)]
Fix typo.
Chris Hanson [Sun, 23 Apr 1995 03:20:38 +0000 (03:20 +0000)]
Use new primitives to get time zone and daylight savings time
information.
Chris Hanson [Sun, 23 Apr 1995 03:19:48 +0000 (03:19 +0000)]
Update to use new primitives that manipulate daylight savings time
information. Change make-decoded-time to fill in the day-of-week and
daylight-savings-time fields.
Chris Hanson [Sun, 23 Apr 1995 03:16:49 +0000 (03:16 +0000)]
Extend the time decode/encode primitives to handle daylight savings
time information.
Chris Hanson [Sun, 23 Apr 1995 03:04:58 +0000 (03:04 +0000)]
Extend the time decode/encode primitives to handle daylight savings
time information.
Chris Hanson [Sun, 23 Apr 1995 02:44:25 +0000 (02:44 +0000)]
Implement primitives to get the timezone and daylight-savings
information from the C library.
Chris Hanson [Sun, 23 Apr 1995 02:42:47 +0000 (02:42 +0000)]
Implement primitives to get the timezone and daylight-savings
information from the C library.
Chris Hanson [Sat, 22 Apr 1995 23:42:10 +0000 (23:42 +0000)]
Implement some rudimentary time-zone code so that we can produce
reasonably accurate time zones in RFC-822 dates.
Chris Hanson [Sat, 22 Apr 1995 23:37:23 +0000 (23:37 +0000)]
Implement some rudimentary time-zone code so that we can produce
reasonably accurate time zones in RFC-822 dates.
Chris Hanson [Sat, 22 Apr 1995 21:48:53 +0000 (21:48 +0000)]
Fix old typo in OS2_close_std_tqueue that was never noticed because
this procedure was never called.
Chris Hanson [Sat, 22 Apr 1995 21:20:13 +0000 (21:20 +0000)]
Fix bug: the C-x z command was closing the editor windows and leaving
the editor in an unusable state. This happened because the actions of
initializing and finalizing the PM interface were happening in the
wrong place.
Chris Hanson [Sat, 22 Apr 1995 21:17:54 +0000 (21:17 +0000)]
Lock access to the twin of a qid more carefully. Previously, the code
for sending messages was not locked at all, which meant that there
were race conditions that could produce fatal errors. By locking, we
limit the amount of concurrent communication slightly, but since the
locks are active for only a short time this shouldn't be noticed.
Also implement a new procedure OS2_qid_tqueue, which is used by
inferior threads to obtain and close their associated tqueue objects
when they finish.
Chris Hanson [Sat, 22 Apr 1995 21:13:55 +0000 (21:13 +0000)]
Don't send broken-pipe errors to the Scheme thread when they are
detected by the pipe readahead thread. Recently, this has seemed to
cause a fatal error under certain timing conditions (which
unfortunately didn't hold while running under the debugger). Although
this fatal error is now probably fixed, rather than run the risk of
finding out, it seems safer to avoid the behavior that seemed to cause
the problem. Since the value of reporting broken-pipe errors is
minimal at best, this is not a big deal.
Chris Hanson [Sat, 22 Apr 1995 21:07:12 +0000 (21:07 +0000)]
Close the qid and tqueue associated with a readahead thread when the
thread finishes. This will fix the known bug of exhausting the set of
available qids, and it will also fix a previously unnoticed memory
leak.
Chris Hanson [Sat, 22 Apr 1995 19:53:18 +0000 (19:53 +0000)]
Add missing space to error message.
Chris Hanson [Fri, 21 Apr 1995 19:58:06 +0000 (19:58 +0000)]
Change CLOSE-PORT to close the output side of an I/O port before it
closes the input side. This matters when the same file channel is
shared by both sides, and there is buffered data that must be flushed
before the close.
Stephen Adams [Fri, 21 Apr 1995 04:28:25 +0000 (04:28 +0000)]
Moved some comments to primitive documentation strings.
Chris Hanson [Fri, 21 Apr 1995 00:54:49 +0000 (00:54 +0000)]
Always send a readahead ACK when closing a channel with an associated
reader thread. This prevents the thread from getting hung in a state
where the channel is closed but the thread is waiting for the ACK.
Stephen Adams [Thu, 20 Apr 1995 16:03:24 +0000 (16:03 +0000)]
Added documentation for BIT-SUBSTRING-FIND-NEXT-SET-BIT.
Chris Hanson [Thu, 20 Apr 1995 03:35:30 +0000 (03:35 +0000)]
Fix think-o in previous change.
Stephen Adams [Thu, 20 Apr 1995 03:26:28 +0000 (03:26 +0000)]
Fixed to accept any top-level expressions, not just trivial- and heap-
closures. This occurs with the ARITY phase which may convert a
procedure into a expression to construct an arity dispatched
procedure.
Stephen Adams [Thu, 20 Apr 1995 03:24:29 +0000 (03:24 +0000)]
Lots of tinkering but still not finished the search.
Stephen Adams [Thu, 20 Apr 1995 03:23:02 +0000 (03:23 +0000)]
Fixed thinko with previous change.
Stephen Adams [Wed, 19 Apr 1995 22:53:02 +0000 (22:53 +0000)]
Changed %arity-dispatcher-tag to be a knownd `special' symbol and
changed microcode/boot.c to match. (This should probably be a fixed
bit pattern rather than a symbol).
Chris Hanson [Wed, 19 Apr 1995 02:00:27 +0000 (02:00 +0000)]
Extend the SET-VARIABLE! and LOCAL-SET-VARIABLE! special forms to take
an additional optional argument that specifies the buffer in which the
variable is to be set.
Chris Hanson [Wed, 19 Apr 1995 01:56:44 +0000 (01:56 +0000)]
Provide mechanism to permit BUFFER-GET to return a value different
from #F when the buffer lacks a given property.
Chris Hanson [Wed, 19 Apr 1995 01:40:24 +0000 (01:40 +0000)]
Add basic text property procedures that accept marks instead of
indexes.
Chris Hanson [Mon, 17 Apr 1995 21:47:40 +0000 (21:47 +0000)]
Use new procedure GROUP-INSERT-CHARS! to reduce consing in several
procedures. Add new procedures to do padded string insertions without
consing.
Chris Hanson [Mon, 17 Apr 1995 21:46:25 +0000 (21:46 +0000)]
Add new procedure GROUP-INSERT-CHARS!.
Stephen Adams [Mon, 17 Apr 1995 18:48:35 +0000 (18:48 +0000)]
Restructured environment to be more abstract.
Stephen Adams [Mon, 17 Apr 1995 14:39:18 +0000 (14:39 +0000)]
Fixed typo.
Stephen Adams [Mon, 17 Apr 1995 03:55:03 +0000 (03:55 +0000)]
(append (map f l) e) => (map* e f l)
Stephen Adams [Mon, 17 Apr 1995 03:40:28 +0000 (03:40 +0000)]
Changed (append (map f l) e) => (map* e f l)
Stephen Adams [Sat, 15 Apr 1995 16:36:27 +0000 (16:36 +0000)]
Added rewrites for MULTICELLs. MULTICELLs are rewritten to either
cells or vectors.
Stephen Adams [Sat, 15 Apr 1995 15:49:38 +0000 (15:49 +0000)]
Added MULTICELLs.
Chris Hanson [Sat, 15 Apr 1995 06:58:41 +0000 (06:58 +0000)]
Fix think-o in previous change.
Chris Hanson [Sat, 15 Apr 1995 06:48:48 +0000 (06:48 +0000)]
Eliminate unneeded reference to GET-TIME.
Chris Hanson [Sat, 15 Apr 1995 06:41:26 +0000 (06:41 +0000)]
Eliminate unneeded reference to GET-TIME.
Chris Hanson [Sat, 15 Apr 1995 06:29:04 +0000 (06:29 +0000)]
Fix think-o in previous change.
Chris Hanson [Sat, 15 Apr 1995 06:14:34 +0000 (06:14 +0000)]
Use new procedure OS/LS-FILE-TIME-STRING.
Chris Hanson [Sat, 15 Apr 1995 06:14:22 +0000 (06:14 +0000)]
Implement new procedure OS/LS-FILE-TIME-STRING.
Chris Hanson [Sat, 15 Apr 1995 06:13:17 +0000 (06:13 +0000)]
Implement new procedure DECODE-FILE-TIME.
Chris Hanson [Sat, 15 Apr 1995 06:12:21 +0000 (06:12 +0000)]
Implement new procedure DECODE-FILE-TIME, and rewrite
FILE-TIME->STRING so that it's result is (almost) in RFC-822 format.
Chris Hanson [Sat, 15 Apr 1995 06:11:22 +0000 (06:11 +0000)]
Change random ACCESS statement to use now-exported name.
Chris Hanson [Sat, 15 Apr 1995 06:10:04 +0000 (06:10 +0000)]
Implement new procedure MAKE-DECODED-TIME. Rename several internal
procedures to use Common Lisp names, and export them to the global
environment.
Chris Hanson [Fri, 14 Apr 1995 19:06:15 +0000 (19:06 +0000)]
Add means to control line translation in subprocess port. This is
useful when communicating with a TCP stream relay subprocess, in which
case the line terminators are defined by the network protocol rather
than by the operating system.
Chris Hanson [Fri, 14 Apr 1995 08:34:25 +0000 (08:34 +0000)]
Code that walked LAMBDA body was being too strict -- body should allow
definitions and expressions to be interspersed.
Chris Hanson [Fri, 14 Apr 1995 08:21:32 +0000 (08:21 +0000)]
Code that walked LAMBDA body was being too strict -- body should allow
definitions and expressions to be interspersed.
Stephen Adams [Fri, 14 Apr 1995 04:34:10 +0000 (04:34 +0000)]
Fixed thinko check with fat procedures.
Chris Hanson [Thu, 13 Apr 1995 23:38:09 +0000 (23:38 +0000)]
Reorganize X11 keys and eliminate unnecessary overriding of
HOOK/MAKE-SPECIAL-KEY.
Chris Hanson [Thu, 13 Apr 1995 23:28:37 +0000 (23:28 +0000)]
Reorganize X11 keys and eliminate unnecessary overriding of
HOOK/MAKE-SPECIAL-KEY.
Chris Hanson [Thu, 13 Apr 1995 23:28:07 +0000 (23:28 +0000)]
Reorganize X11 keys and eliminate unnecessary overriding of
HOOK/MAKE-SPECIAL-KEY.
Chris Hanson [Thu, 13 Apr 1995 23:27:21 +0000 (23:27 +0000)]
Reorganize slightly.
Chris Hanson [Thu, 13 Apr 1995 23:26:56 +0000 (23:26 +0000)]
Add bindings for PC's special keys. Under OS/2, these keys have their
natural names rather than being mapped onto the names of the
corresponding keys on the HP keyboard.
Chris Hanson [Thu, 13 Apr 1995 23:26:00 +0000 (23:26 +0000)]
Reorganize special-key code.
Chris Hanson [Thu, 13 Apr 1995 22:26:11 +0000 (22:26 +0000)]
Move CHECK-FOR-ILLEGAL-DEFINITIONS into the runtime system proper.
Chris Hanson [Thu, 13 Apr 1995 22:24:53 +0000 (22:24 +0000)]
Add code to check for illegal internal definitions and disallow them.
Chris Hanson [Thu, 13 Apr 1995 22:24:31 +0000 (22:24 +0000)]
Initial revision
Chris Hanson [Wed, 12 Apr 1995 21:15:35 +0000 (21:15 +0000)]
Add switch to control special handling of abbreviations for QUOTE and
friends. Default this switch to OFF.