Chris Hanson [Tue, 21 Feb 1995 22:55:42 +0000 (22:55 +0000)]
Limit initial width of console window to 80 characters.
Chris Hanson [Tue, 21 Feb 1995 22:54:30 +0000 (22:54 +0000)]
Add new primitive OS2PS-GET-BITMAP and OS2PM-SYNCHRONIZE. Fix some
minor bugs in OS2PS-GET-BITMAP-PARAMETERS.
Stephen Adams [Tue, 21 Feb 1995 21:19:28 +0000 (21:19 +0000)]
Improved ANDIFY
Stephen Adams [Tue, 21 Feb 1995 06:33:13 +0000 (06:33 +0000)]
Added constant folding. For now we just do it for the generic
arithmetic. We need to figure out a general and efficient way to do
operations safely so that we can either defer the operation until run
time or compile it into code that signals an error.
Stephen Adams [Tue, 21 Feb 1995 06:27:08 +0000 (06:27 +0000)]
. Changed EARLYREW/NUMBER? -> FORM/NUMBER?
. Improved careful arithmetic to compile into a call the out of line
generic operation rather than signalling an error during compilation.
Stephen Adams [Tue, 21 Feb 1995 06:20:05 +0000 (06:20 +0000)]
Changed cellified SET! code to use a new name to maintain alpha-conversion.
Stephen Adams [Tue, 21 Feb 1995 05:32:05 +0000 (05:32 +0000)]
Changed LATEREW/NUMBER? to FORM/NUMBER? and tidied a few expression.
Stephen Adams [Mon, 20 Feb 1995 20:48:53 +0000 (20:48 +0000)]
ILLEGAL calls NO-LONGER-LEGAL if the form is a KMP form.
Most phases can now call ILLEGAL instead of choosing between the two.
Stephen Adams [Mon, 20 Feb 1995 20:13:39 +0000 (20:13 +0000)]
Added FORM/NUMBER? and diddled with careful operators stuff.
Stephen Adams [Mon, 20 Feb 1995 18:24:41 +0000 (18:24 +0000)]
Changed the careful operations to return the `mapped' result or #F.
UNMAP-CAREFUL should be used to get the real result.
Stephen Adams [Fri, 17 Feb 1995 23:41:57 +0000 (23:41 +0000)]
Added rewrites for EXPT and SQRT which are `enabled' by using EXPT and
SQRT like this:
((access SQRT system-global-environment) 6.7)
i.e. they dispatch of (CALL %invoke-remote-operator ...) (declare
(usual-integrations)) should be changed to make operator references to
these standard procedures into global references.
SQRT just does constant folding. EXPT also expands to a small
expression trees of <= some number of generic multiplies for a small
exact integer exponent.
Chris Hanson [Thu, 16 Feb 1995 22:45:37 +0000 (22:45 +0000)]
Fix bug in redisplay: when variables that affect display (e.g.
truncate-lines) are changed, the window start marks must be erased.
Otherwise, the old start marks are used, and with the new display
variables in effect, these marks could cause point to be left
offscreen, or even force all of the buffer's text to be offscreen!
Chris Hanson [Thu, 16 Feb 1995 21:59:01 +0000 (21:59 +0000)]
Reformat to meet page length and width standards.
Stephen Adams [Thu, 16 Feb 1995 13:19:38 +0000 (13:19 +0000)]
Made the production of more noise conditional on COMPILER:GURU?
Stephen Adams [Wed, 15 Feb 1995 23:43:06 +0000 (23:43 +0000)]
Moved PUT, GET and ASSQ to library.scm
Stephen Adams [Wed, 15 Feb 1995 21:54:14 +0000 (21:54 +0000)]
Fixed a bug in the substitution code. Now it keeps a reference to the
call rather than the lookup when the operator of a call is a lookup,
as expected in the rest of the program.
Stephen Adams [Wed, 15 Feb 1995 13:07:53 +0000 (13:07 +0000)]
Initial revision
Stephen Adams [Tue, 14 Feb 1995 02:39:50 +0000 (02:39 +0000)]
Fixed buglet when opencoding &*
Stephen Adams [Tue, 14 Feb 1995 02:38:45 +0000 (02:38 +0000)]
Fixed bug where (&* (side-effect) 0) => 0
Improved handling of exactness.
Chris Hanson [Tue, 14 Feb 1995 01:06:18 +0000 (01:06 +0000)]
Add definition %ENTITY-EXTRA/APPLY-HOOK? so that Ziggy can identify
internal data structure used to build apply-hooks out of entities.
Stephen Adams [Tue, 14 Feb 1995 00:58:08 +0000 (00:58 +0000)]
Added a patch to ensure that out-of-line hooks are not called with a
constructed continuation.
(call 'hook (call %make-stack-closure ...) x y)
=>
(call %invoke-continuation
(call %make-stack-closure ...)
(call 'hook '#F x y))
This is required because out-of-line hooks have to generate their own
continuation to do the restoring, and the code merges with a control
flow path from somewhere prior to the call so that this continuation
is part of the same rgraph, i.e. the RTL graph sblock for an
INVOKE-SPECIAL-PRIMITIVE is connected to the bblock for the
continuation. This means that RTL pseudo register value classes must
agree across this boundary, which is not so if we generate one from
%make-stack-closure.
Also tidies a few things.
Stephen Adams [Tue, 14 Feb 1995 00:44:06 +0000 (00:44 +0000)]
Changed SIMPLIFY/SUBSTITUTE! to
. rename bound variables when substituing in a manner that causes
code duplication.
. correctly maintain references (and hence reference counts) to free
variables in the copied code
. The copying code is not yet DBG-aware.
Chris Hanson [Tue, 14 Feb 1995 00:41:31 +0000 (00:41 +0000)]
Change to use presentation space calls where appropriate now that
low-level PM support has changed to separate PS calls from window
calls.
Chris Hanson [Tue, 14 Feb 1995 00:37:35 +0000 (00:37 +0000)]
Update to match "os2graph.scm" and "os2winp.scm".
Chris Hanson [Tue, 14 Feb 1995 00:36:58 +0000 (00:36 +0000)]
Complete redesign uses bitmaps as backing store and transfers the
appropriate part of the backing store to the screen using GpiBitBlt
whenever the PM says it needs to be updated.
Chris Hanson [Tue, 14 Feb 1995 00:36:04 +0000 (00:36 +0000)]
Add new primitives. Reorganize to make this easier to maintain.
Chris Hanson [Tue, 14 Feb 1995 00:35:23 +0000 (00:35 +0000)]
Change definition of OS2/FS-LONG-FILENAMES? so that it is true of any
filesystem type except FAT. This is still not accurate, but is a
better default, since there are compression filesystems that have
unusual types but also have long filenames.
Chris Hanson [Tue, 14 Feb 1995 00:33:54 +0000 (00:33 +0000)]
Redefine PATHNAME-WILD? under DOS/NT/OS2 so that it is true of any
pathname containing a * or ? in its file-namestring.
Chris Hanson [Tue, 14 Feb 1995 00:30:59 +0000 (00:30 +0000)]
Initial revision
Chris Hanson [Tue, 14 Feb 1995 00:30:44 +0000 (00:30 +0000)]
Add new file "diros2.scm" that supports compressed files under OS/2.
Chris Hanson [Tue, 14 Feb 1995 00:29:13 +0000 (00:29 +0000)]
Add support for compressed files.
Chris Hanson [Tue, 14 Feb 1995 00:25:43 +0000 (00:25 +0000)]
Rewrite bitmap support to make it be closer to the API calls. This
gives more power to the Scheme programmer at the expense of more
datatypes and primitives.
Chris Hanson [Tue, 14 Feb 1995 00:20:06 +0000 (00:20 +0000)]
By default, don't allow opened file handles to be inherited by
inferior processes.
Stephen Adams [Sat, 11 Feb 1995 03:16:45 +0000 (03:16 +0000)]
Tidied check for static form.
Stephen Adams [Sat, 11 Feb 1995 02:50:11 +0000 (02:50 +0000)]
IFs with sufficiently simple subexpressions are now handled piecemeal,
reducing all the intermediate procedures that ensue when generic
arithmetic operations are expanded early.
Stephen Adams [Sat, 11 Feb 1995 02:47:34 +0000 (02:47 +0000)]
Adjusted the predicates FORM/SIMPLE? and friends.
Stephen Adams [Sat, 11 Feb 1995 02:04:02 +0000 (02:04 +0000)]
Added code to handle
(CALL (LAMBDA (cont ...) ...)
'#F
e1 e2)
as a post-cps expression, but commented it out when I discovered why
pseudo-letify was producing this code.
Stephen Adams [Sat, 11 Feb 1995 01:59:38 +0000 (01:59 +0000)]
Added set-interrupt-enables! to the list of uninteresting possible
delta-reductions.
Stephen Adams [Sat, 11 Feb 1995 01:58:44 +0000 (01:58 +0000)]
Added debugging info and changed data structures to keep dbg info references.
Stephen Adams [Sat, 11 Feb 1995 01:56:55 +0000 (01:56 +0000)]
Changed pseudo-letify to LET-bind pseudo-simple expressions (e.g. %+)
instead of merely simple expression because early-rewriting can
produce these.
Stephen Adams [Thu, 9 Feb 1995 21:23:49 +0000 (21:23 +0000)]
Fixed COMPILED-PROCEDURE/ENVIRONMENT not to SIGSEGV on compiled
procedures which have no free variables. This happened because the
compiler failed to produce a dbg-block for the dbg-block/parent of the
procedure's dbg-block. An alternative fix would be to modify the
compiler to insert the correct IC dbg-block instead of leaving it as
#F.
Stephen Adams [Thu, 9 Feb 1995 04:29:15 +0000 (04:29 +0000)]
`Improved' last change by moving test.
Stephen Adams [Thu, 9 Feb 1995 04:15:32 +0000 (04:15 +0000)]
No longer lifts variables satisfying IGNORED-CONTINUATION-VARIABLE?
Chris Hanson [Wed, 8 Feb 1995 01:21:05 +0000 (01:21 +0000)]
Reimplement OS/2 PM window support to separate the drawing operations
from the windows. All drawing operations now operate on objects that
represent "presentation spaces"; a window has a PS associated with it,
but it is now possible to create other PS objects that represent
bitmaps. Furthermore there are is a bitblt operation that can be used
to move image data between bitmaps and windows. All of this support
allows Scheme to store its graphics output in bitmaps and to refresh
the windows when needed, thus allowing efficient backing store for
windows.
Chris Hanson [Tue, 7 Feb 1995 23:56:33 +0000 (23:56 +0000)]
Add code to preserve modification time stamp on copied files.
Chris Hanson [Tue, 7 Feb 1995 23:54:55 +0000 (23:54 +0000)]
Add more specific error messages to low-level message allocation code.
Chris Hanson [Tue, 7 Feb 1995 23:53:05 +0000 (23:53 +0000)]
Never signal an error from file probe. There are too many things that
can go wrong, so it's pointless to try to enumerate them.
Chris Hanson [Tue, 7 Feb 1995 23:51:22 +0000 (23:51 +0000)]
Add hook for user action when new screen is created.
Chris Hanson [Tue, 7 Feb 1995 23:50:20 +0000 (23:50 +0000)]
Fix minor bug in M-x indent-c-exp. Still needs a little work, but at
least this one isn't as broken as the previous.
Chris Hanson [Thu, 2 Feb 1995 21:25:17 +0000 (21:25 +0000)]
Completely reimplement indentation rules for C statements appearing at
the top level of a file (that is, not inside any parenthetical
characters). Old rules incorrectly indented the name line of a
function definition that was written in the standard GNU style. New
rules correctly indent this case, and all of the other cases that I've
tried so far.
Chris Hanson [Thu, 2 Feb 1995 21:22:52 +0000 (21:22 +0000)]
Fix bug in M-x electric-c-terminator: it was not correctly handling
goto tags that contained _ or $.
Chris Hanson [Thu, 2 Feb 1995 21:20:02 +0000 (21:20 +0000)]
Change buffer search procedures to have their ending limit be
optional. This makes them more convenient to use and also makes them
just like the buffer match procedures.
Stephen Adams [Thu, 2 Feb 1995 19:35:50 +0000 (19:35 +0000)]
Tidied code.
Stephen Adams [Thu, 2 Feb 1995 05:01:54 +0000 (05:01 +0000)]
Added a couple of operators to the list of operators which should not be
complained about.
Stephen Adams [Wed, 1 Feb 1995 20:53:41 +0000 (20:53 +0000)]
Removed breakpoint.
Stephen Adams [Wed, 1 Feb 1995 20:52:17 +0000 (20:52 +0000)]
Added procedure that looks to see if a node in operator position has
multiple known procedures. Enabled by COMPILER:GURU?
Chris Hanson [Tue, 31 Jan 1995 23:00:47 +0000 (23:00 +0000)]
Eliminate end-of-file markers.
Chris Hanson [Tue, 31 Jan 1995 22:36:55 +0000 (22:36 +0000)]
Temporary filenames now use long format which includes the Scheme PID
if the filesystem that they are stored on supports long filenames.
Chris Hanson [Tue, 31 Jan 1995 22:11:35 +0000 (22:11 +0000)]
Add primitive to get Scheme's pid.
Chris Hanson [Tue, 31 Jan 1995 22:06:04 +0000 (22:06 +0000)]
Move OS2/FS-LONG-FILENAMES? to runtime system.
Chris Hanson [Tue, 31 Jan 1995 22:04:28 +0000 (22:04 +0000)]
Add SET-FONT operation to OS/2 graphics windows.
Chris Hanson [Tue, 31 Jan 1995 22:00:21 +0000 (22:00 +0000)]
Implement window-manipulation procedures for OS/2 graphics windows.
Chris Hanson [Tue, 31 Jan 1995 21:38:17 +0000 (21:38 +0000)]
Remove key bindings for unix-specific Dired commands.
Chris Hanson [Tue, 31 Jan 1995 21:35:02 +0000 (21:35 +0000)]
Generalize for OS/2.
Chris Hanson [Tue, 31 Jan 1995 21:29:42 +0000 (21:29 +0000)]
Fix mismatch between two syscall name lists.
Chris Hanson [Tue, 31 Jan 1995 19:35:11 +0000 (19:35 +0000)]
Eliminate end-of-file marker handling code. This is the code that
used to handle ^Z in DOS files -- but the ^Z convention is very old
and not worth putting in explicit support for.
Stephen Adams [Tue, 31 Jan 1995 03:53:33 +0000 (03:53 +0000)]
First try at reducing expressions in debugging information to access paths.
Stephen Adams [Mon, 30 Jan 1995 21:45:40 +0000 (21:45 +0000)]
Defined RTLGEN/CLOSURE-ADJUSTMENT to be determined by the back end,
i.e. (closure-environment-adjustment 1 0)
Stephen Adams [Mon, 30 Jan 1995 20:26:43 +0000 (20:26 +0000)]
Changed the order at the call site too :-)
Chris Hanson [Mon, 30 Jan 1995 20:04:30 +0000 (20:04 +0000)]
Fix bug reported by BAL: CALL-WITH-INPUT-COPIER was examining the
value returned by OUTPUT-PORT/WRITE-SUBSTRING -- but that procedure
has no useful value.
Stephen Adams [Mon, 30 Jan 1995 18:53:14 +0000 (18:53 +0000)]
Exchanged order of fields in a BLOCK for nicer pretty-printing.
Stephen Adams [Mon, 30 Jan 1995 17:56:51 +0000 (17:56 +0000)]
Added dbgred
Stephen Adams [Mon, 30 Jan 1995 17:56:13 +0000 (17:56 +0000)]
Added dbgred to decls.
Stephen Adams [Mon, 30 Jan 1995 16:17:17 +0000 (16:17 +0000)]
Initial revision
Stephen Adams [Mon, 30 Jan 1995 03:07:56 +0000 (03:07 +0000)]
Temporary experimental feature:
(set! *rtlgen/omit-internal-interrupt-checks?* #T)
omits interrupt checks on next-, alt-, cons-, and receiver-
procedures. It does not correctly recalculate the stack depth and
allocation or any other info. Default is #F.
Stephen Adams [Sat, 28 Jan 1995 17:13:24 +0000 (17:13 +0000)]
Added a hook to see what constant folding we are missing.
Only operates if COMPILER:GURU? is true.
Stephen Adams [Sat, 28 Jan 1995 17:10:56 +0000 (17:10 +0000)]
Fixed bug when open-coded predicate is used in expression position and
the predicate can be tested at compile time. No longer generates a
useless true (/false) branch that confuses the rgraph stuff.
Stephen Adams [Sat, 28 Jan 1995 15:35:20 +0000 (15:35 +0000)]
Made some noise conditional on COMPILER:GURU?
Stephen Adams [Sat, 28 Jan 1995 04:04:40 +0000 (04:04 +0000)]
Tidied up to use syntax abstractions.
Stephen Adams [Sat, 28 Jan 1995 02:42:01 +0000 (02:42 +0000)]
Instrumented new statistic: number of bindings in a letrec.
Stephen Adams [Thu, 26 Jan 1995 23:15:39 +0000 (23:15 +0000)]
Fixed RTLGEN/POP and RTLGEN/%POP to do the right thing when there is a
continuation and/or closure on the stack.
Chris Hanson [Wed, 25 Jan 1995 20:54:55 +0000 (20:54 +0000)]
Fix some more fencepost errors in the bit string copying code.
Stephen Adams [Wed, 25 Jan 1995 20:20:56 +0000 (20:20 +0000)]
Fixed form/simple? (was not looking af if/alternate).
Chris Hanson [Tue, 24 Jan 1995 00:17:25 +0000 (00:17 +0000)]
Fix some fencepost errors in `copy_bits', and reformat the code to my
standards.
Chris Hanson [Mon, 23 Jan 1995 20:06:07 +0000 (20:06 +0000)]
Eliminate several operating-system dependencies.
Stephen Adams [Sun, 22 Jan 1995 17:13:24 +0000 (17:13 +0000)]
Tidying up some expressions to use the syntax abstractions.
Stephen Adams [Sun, 22 Jan 1995 16:20:56 +0000 (16:20 +0000)]
Tidying, mostly to use syntax abstraction.
Stephen Adams [Sun, 22 Jan 1995 04:51:43 +0000 (04:51 +0000)]
Added debugging environment info.
Because cleanup and lamlift do not yet understand the debugging info,
this does not help much. Lamlift might not be the problem since
breaks the program into lots of little pieces which end up by being
put back together by simplify & cleanup, so these could lose the
information.
I tested it on a small example with
(set! *phases-to-omit* '(lamlift/top-level/1 lamlift/top-level/2))
and it seems to produce the right expressions in the debugging environment.
NOTE: bigger examples do not work because closconv expects bindings to
be either operators or operands but not both (i.e. it assumes that
lamlift has `split' the uses).
NOTE: the processing of the environment is wrong at LAMBDAs: currently
the references are processed in the environment OUTSIDE the LAMBDA,
but the debugging information is supposed to be for INSIDE the lambda.
This is going to be a general problem with LAMBDAs.
Stephen Adams [Sun, 22 Jan 1995 04:02:29 +0000 (04:02 +0000)]
Adjusted indentation.
Stephen Adams [Sun, 22 Jan 1995 01:06:01 +0000 (01:06 +0000)]
Tidying.
ssmith [Fri, 20 Jan 1995 23:13:03 +0000 (23:13 +0000)]
Added some hooks.
ssmith [Fri, 20 Jan 1995 22:51:58 +0000 (22:51 +0000)]
Fixed bug in allowing ebp to be a scratch reg.
ssmith [Fri, 20 Jan 1995 22:45:55 +0000 (22:45 +0000)]
Made EBP switchable between datum mask and scratch register.
Stephen Adams [Fri, 20 Jan 1995 22:23:42 +0000 (22:23 +0000)]
Changed CONTINUATION-VARIABLE? to REFERENCED-CONTINUATION-VARIABLE? in
stackopt/constrain because it was complaining about the position of an
IGNORED-CONTINUATION-VARIABLE that was passed on the stack.
Stephen Adams [Fri, 20 Jan 1995 20:33:59 +0000 (20:33 +0000)]
Tidying.
Stephen Adams [Fri, 20 Jan 1995 20:31:21 +0000 (20:31 +0000)]
Removed extraneous text.
ssmith [Fri, 20 Jan 1995 20:17:52 +0000 (20:17 +0000)]
Made a lot of additions and bugfixes. Now compiles (probably
incorrectly) about half of the runtime library.
ssmith [Fri, 20 Jan 1995 20:15:59 +0000 (20:15 +0000)]
Made a lot of additions, bug fixes. Now compiles (probably
incorrectly) about half of the runtime library.
Stephen Adams [Thu, 19 Jan 1995 23:43:16 +0000 (23:43 +0000)]
Added phase/pre-hook and phase/post-hook for debugging activities like
dumping intermediate results.
Chris Hanson [Thu, 19 Jan 1995 19:41:55 +0000 (19:41 +0000)]
Fix bug in presentation of pathnames to user -- if the pathname being
presented is on a different device from the default, ENOUGH-PATHNAME
cannot be used. This is because ENOUGH-PATHNAME and MERGE-PATHNAMES
treat the device as separate from the directory, whereas Edwin wants
the device to be considered as part of the directory.