Guillermo J. Rozas [Thu, 2 May 1991 06:12:10 +0000 (06:12 +0000)]
Modify cache_flush_region to accept an additional argument specifying
which caches to flush.
Guillermo J. Rozas [Thu, 2 May 1991 06:11:10 +0000 (06:11 +0000)]
Add a comment about improving the cache flushing code in
enter_compiled_expression.
Guillermo J. Rozas [Thu, 2 May 1991 06:10:03 +0000 (06:10 +0000)]
Undo optimization by which blocks with no free references were not
linked.
They must be linked only to get the appropriate section of the D-cache
flushed!
Chris Hanson [Thu, 2 May 1991 01:14:50 +0000 (01:14 +0000)]
* Complete redesign of command argument code. New code more closely
resembles that of Emacs, with some differences, but most importantly
the argument state is stored in a single object that can be passed
around.
* Rename M-x backward-delete-char to M-x delete-backward-char to match
Emacs.
* Add BACKUP-MODE argument to WRITE-BUFFER-INTERACTIVE and
SAVE-BUFFER, to control the creation of backup files.
* New procedures give absolute limits of buffer, independent of
current narrowing:
GROUP-ABSOLUTE-START
GROUP-ABSOLUTE-END
MARK-ABSOLUTE-START
MARK-ABSOLUTE-END
BUFFER-ABSOLUTE-START
BUFFER-ABSOLUTE-END
* New procedures
WITH-GROUP-UNDO-DISABLED
LAST-COMMAND-CHAR
* Extend REF-VARIABLE macro to take optional second arg: a buffer,
meaning the buffer-local value of the variable in that buffer.
* Replace WITH-NARROWED-REGION! with the slightly more useful
WITH-TEXT-CLIPPED. Add new procedures TEXT-CLIP and GROUP-TEXT-CLIP
to round out the set of text clipping procedures.
Chris Hanson [Mon, 29 Apr 1991 11:23:46 +0000 (11:23 +0000)]
M-x replace-string and M-x replace-regexp are supposed to leave point
at the end of the last replacement.
Chris Hanson [Mon, 29 Apr 1991 11:22:26 +0000 (11:22 +0000)]
REPLACE-MATCH now returns a mark pointing to the end of the
replacement rather than the start.
Chris Hanson [Mon, 29 Apr 1991 10:51:41 +0000 (10:51 +0000)]
Provide unwind-protect to delete a synchronous process if the process
is aborted.
Chris Hanson [Mon, 29 Apr 1991 10:43:18 +0000 (10:43 +0000)]
Implement asynchronous ^G detection for X, using the real-time
interrupt. New procedures X-TIMER-INTERVAL and SET-X-TIMER-INTERVAL!
allow control over the interrupt's interval, which is initially one
second.
Chris Hanson [Mon, 29 Apr 1991 10:19:30 +0000 (10:19 +0000)]
Allow FIND-PROGRAM's second argument, DEFAULT-DIRECTORY, to be #F
meaning none.
Chris Hanson [Mon, 29 Apr 1991 10:16:44 +0000 (10:16 +0000)]
Fix typo in REPLACE-MATCH.
Chris Hanson [Sat, 27 Apr 1991 00:43:50 +0000 (00:43 +0000)]
Eliminate use of INTERRUPTABLE_EXTENT on read and write system calls.
This doesn't work as the system call might finish and then check for
signals just before returning with a valid answer (and thereby losing
data).
This code should work OK for 4.3BSD, POSIX, and SYSV systems.
Unfortunately there's no good way to make it work for 4.2BSD -- which
probably means some hairy kludge will be needed to get ^G interrupts
to work on that system. This will require identifying when we go into
an input wait on the console.
Mark Friedman [Fri, 26 Apr 1991 18:30:09 +0000 (18:30 +0000)]
Added control, shift and meta button events.
Chris Hanson [Fri, 26 Apr 1991 05:27:24 +0000 (05:27 +0000)]
Changes to match microcode version 11.75 -- cannot be used with
earlier microcode versions.
Chris Hanson [Fri, 26 Apr 1991 05:25:28 +0000 (05:25 +0000)]
This version of the microcode cannot be used with Edwin versions
before 3.39.
Improvements to X window event handling. The purpose of these
improvements is to permit Scheme to read X events from the queue
without immediately performing their actions; this supports looking
ahead in the queue to find interrupt characters in Edwin.
* X-DISPLAY-PROCESS-EVENTS no longer does anything special for
configure and exposure events that are received by xterm windows.
New primitives XTERM-RECONFIGURE and XTERM-DUMP-RECTANGLE must be
invoked by the Scheme event handler to get the same effect. New
event type `event_type_expose' is used to return exposure events.
* The coordinates and sizes returned in event objects are now in X
pixel units. New primitives XTERM-MAP-{X,Y}-{COORDINATE,SIZE} are
used to translate these units into xterm character coordinates.
Chris Hanson [Fri, 26 Apr 1991 03:18:30 +0000 (03:18 +0000)]
*** empty log message ***
Chris Hanson [Fri, 26 Apr 1991 03:14:31 +0000 (03:14 +0000)]
Change M-x tags-query-replace to do regexp search.
Chris Hanson [Fri, 26 Apr 1991 03:13:19 +0000 (03:13 +0000)]
Implement M-x query-replace-regexp and M-x replace-regexp. Change
interface to REPLACE-STRING procedure to accomplish this.
Chris Hanson [Fri, 26 Apr 1991 03:11:56 +0000 (03:11 +0000)]
Implement new procedures PRESERVING-MATCH-DATA and
RE-SUBSTITUTE-REGISTERS. Reimplement REPLACE-MATCH to have same
functionality as that procedure in GNU Emacs.
Chris Hanson [Fri, 26 Apr 1991 02:39:56 +0000 (02:39 +0000)]
Fix bug: check type of arguments to MAKE-RECTANGULAR and MAKE-POLAR,
allowing exactly those numbers that satisfy REAL?.
Mark Friedman [Thu, 25 Apr 1991 14:40:13 +0000 (14:40 +0000)]
Made sure that the lock on an event distributor is restored if you
throw out of or into process-events!
Chris Hanson [Wed, 24 Apr 1991 23:44:28 +0000 (23:44 +0000)]
Add missing `static' declarations to OS_open_pty_
Chris Hanson [Wed, 24 Apr 1991 07:28:20 +0000 (07:28 +0000)]
Implement mail aliases and ~/.mailrc file.
Chris Hanson [Wed, 24 Apr 1991 07:27:43 +0000 (07:27 +0000)]
Initial revision
Chris Hanson [Wed, 24 Apr 1991 00:54:47 +0000 (00:54 +0000)]
Export `group-extract-and-delete-string!'.
Chris Hanson [Wed, 24 Apr 1991 00:54:21 +0000 (00:54 +0000)]
Fix typo.
Chris Hanson [Wed, 24 Apr 1991 00:42:08 +0000 (00:42 +0000)]
Change `group-un-clip!' to `group-widen!'.
Chris Hanson [Wed, 24 Apr 1991 00:41:34 +0000 (00:41 +0000)]
Change `mark-right-char' and `mark-left-char' to return #F at the
buffer limits. New procedures `group-narrow!' and `group-widen!'.
Eliminate `group-un-clip!'.
Chris Hanson [Wed, 24 Apr 1991 00:40:22 +0000 (00:40 +0000)]
Change message generated by M-x set-fill-column to match Emacs.
Chris Hanson [Wed, 24 Apr 1991 00:39:02 +0000 (00:39 +0000)]
Eliminate `match-string'. New procedures `narrow-to-region' and
`widen'.
Chris Hanson [Wed, 24 Apr 1991 00:38:05 +0000 (00:38 +0000)]
Eliminate reference to `match-string'.
Chris Hanson [Wed, 24 Apr 1991 00:37:39 +0000 (00:37 +0000)]
Eliminate reference to `group-un-clip!'.
Chris Hanson [Wed, 24 Apr 1991 00:37:09 +0000 (00:37 +0000)]
New procedure group-extract-and-delete-string!.
Chris Hanson [Wed, 24 Apr 1991 00:36:19 +0000 (00:36 +0000)]
Change prompting for prefix chars to be more like that of Emacs.
Update some variable documentation strings. Make comment-column be
per-buffer.
Chris Hanson [Tue, 23 Apr 1991 07:20:14 +0000 (07:20 +0000)]
* Change arguments to string and regexp search procedures. New
arguments are (PATTERN MARK END #!OPTIONAL CASE-FOLD-SEARCH).
* Reimplement paragraph and region filling commands, to fix bugs and
create new functionality. Default region filling is now done by
paragraphs rather than treating the entire region as a single
paragraph.
* Implement M-x mail-fill-yanked-message.
Chris Hanson [Tue, 23 Apr 1991 06:50:04 +0000 (06:50 +0000)]
* Change arguments to string and regexp search procedures. New
arguments are (PATTERN MARK END #!OPTIONAL CASE-FOLD-SEARCH).
* Reimplement paragraph and region filling commands, to fix bugs and
create new functionality. Default region filling is now done by
paragraphs rather than treating the entire region as a single
paragraph.
* Implement M-x mail-fill-yanked-message.
Chris Hanson [Tue, 23 Apr 1991 06:45:42 +0000 (06:45 +0000)]
Always supply LIMIT argument to search procedures.
Chris Hanson [Tue, 23 Apr 1991 06:37:57 +0000 (06:37 +0000)]
When a variable value validity test is failed, signal an editor error
instead of a Scheme error.
Chris Hanson [Tue, 23 Apr 1991 06:32:03 +0000 (06:32 +0000)]
Fix bug in M-x set-visited-file-name -- couldn't unset buffer's file
name.
Chris Hanson [Tue, 23 Apr 1991 06:22:52 +0000 (06:22 +0000)]
Fix think-o in `set-buffer-pathname!'.
Chris Hanson [Sun, 21 Apr 1991 01:49:14 +0000 (01:49 +0000)]
Initial revision
Chris Hanson [Sun, 21 Apr 1991 01:48:46 +0000 (01:48 +0000)]
Dired of a wildcard specification didn't work -- now fixed.
Chris Hanson [Sun, 21 Apr 1991 00:52:42 +0000 (00:52 +0000)]
* Implement mail sending.
* Implement M-x append-to-file, M-x tabify, C-u M-x indent-region.
* Change M-x undo to move point to the location of the most recent
undone change. This restores the behavior that was in effect before
the last change to undo.
* Implement variable `enable-emacs-write-file-message', by default
true, which changes file-output messages to be like Emacs.
* Fix simple bugs in auto save code, local variable binding.
* Add new slot to buffer, LOCAL-BINDINGS-INSTALLED?, that speeds up
the test to determine if the buffer's local bindings are the ones
currently installed in the variable value cells.
* Reimplement character search, character match, and string match.
New implementation does not use regular expression primitives.
A new set of low-level search and match primitives provides more
power than the old ones did.
* Implement `run-synchronous-process'. Reimplement `shell-command'
and `shell-command-region' in terms of this new procedure.
* Implement `insert-region', which copies text directly from one
buffer to another without making an intermediate copy.
Chris Hanson [Sun, 21 Apr 1991 00:38:30 +0000 (00:38 +0000)]
Optimize drawing of highlighted lines. Previously, without
optimization, almost any change would cause a complete redrawing of
the mode line.
Chris Hanson [Sun, 21 Apr 1991 00:30:35 +0000 (00:30 +0000)]
Change procedures that set point and mark to copy their argument.
This is necessary in case the argument is a permanent mark that is
later made temporary.
Chris Hanson [Sat, 20 Apr 1991 06:21:12 +0000 (06:21 +0000)]
Can't integrate scode-eval any longer, since it's now a compound
procedure. This was overlooked by accident because "usicon" used
scode-constant? to test whether the constants in "gconst" were
reasonable -- and this predicate returns true for compiled procedures.
Now the predicate used is something more discriminating, which should
not permit unreasonable values in the .bin file.
Chris Hanson [Sat, 20 Apr 1991 06:10:10 +0000 (06:10 +0000)]
Can't integrate scode-eval any longer, since it's now a compound
procedure. This was overlooked by accident because "usicon" used
scode-constant? to test whether the constants in "gconst" were
reasonable -- and this predicate returns true for compiled procedures.
Now the predicate used is something more discriminating, which should
not permit unreasonable values in the .bin file.
Mark Friedman [Thu, 18 Apr 1991 22:36:11 +0000 (22:36 +0000)]
Added hooks for syntax-expression and scode-eval.
Mark Friedman [Thu, 18 Apr 1991 22:35:21 +0000 (22:35 +0000)]
Added hook for syntax-expression.
Mark Friedman [Thu, 18 Apr 1991 22:34:31 +0000 (22:34 +0000)]
Added hook for scode-eval.
Guillermo J. Rozas [Mon, 15 Apr 1991 21:00:43 +0000 (21:00 +0000)]
Rename compile-scode to compile-scode/internal.
Define and export compile-scode.
Make compiled code blocks generated by calls to compile-procedure and
compile-scode contain the debugging information (rather than have it
dropped).
Guillermo J. Rozas [Mon, 15 Apr 1991 20:48:03 +0000 (20:48 +0000)]
Add hook/extended-scode-eval so that expressions can be integrated or
compiled before they are evaluated.
Change compiled-code-block/dbg-info to correctly handle compiled code
blocks whose debugging slot holds a dbg-info structure.
Guillermo J. Rozas [Mon, 15 Apr 1991 16:14:09 +0000 (16:14 +0000)]
Casts to make it run under SunOS 4.03 when compiled by Sun cc.
Chris Hanson [Sat, 13 Apr 1991 04:00:31 +0000 (04:00 +0000)]
Change interface of `fill-region' procedure to allow caller to supply
fill prefix and column as arguments.
Chris Hanson [Sat, 13 Apr 1991 03:58:36 +0000 (03:58 +0000)]
Change interface of `os/auto-save-pathname' so that it will generate a
correct result for buffers that have no visited pathname.
Chris Hanson [Fri, 12 Apr 1991 23:29:11 +0000 (23:29 +0000)]
*** empty log message ***
Chris Hanson [Fri, 12 Apr 1991 23:28:31 +0000 (23:28 +0000)]
Add third argument to `read-buffer?', which prevents updating the
buffer's pathname and modification flags if it is false.
Chris Hanson [Fri, 12 Apr 1991 23:26:32 +0000 (23:26 +0000)]
Change `revert-buffer' and `set-visited-file-name' commands to
recognize and handle auto-save files correctly. Improve performance
of filename completion by eliminating incompatible "feature" of
further completion when a directory contains only a single file (which
never happens in unix).
Chris Hanson [Fri, 12 Apr 1991 23:23:58 +0000 (23:23 +0000)]
Don't clear buffer-modification flag unless the buffer's contents
match the contents of the file on disk. Only move point when undoing
records whose type is BOUNDARY or NOT-UNDOABLE.
Chris Hanson [Fri, 12 Apr 1991 23:21:24 +0000 (23:21 +0000)]
Rewrite directory-listing procedures to use new primitives -- REQUIRES
MICROCODE VERSION 11.74 OR LATER. Implement procedure
`file-readable?'.
Chris Hanson [Fri, 12 Apr 1991 23:20:06 +0000 (23:20 +0000)]
Fix missing argument in `reindent-then-newline-and-indent'.
Chris Hanson [Fri, 12 Apr 1991 23:19:05 +0000 (23:19 +0000)]
Make sure that undo recording happens before any changes -- this is
assumed and required by the undo code.
Chris Hanson [Fri, 12 Apr 1991 23:17:56 +0000 (23:17 +0000)]
Fix name mismatches on two key bindings for C mode. Add flashing of
matching delimiter for close paren and close curly brace.
Chris Hanson [Fri, 12 Apr 1991 23:16:28 +0000 (23:16 +0000)]
Change buffer `auto-save-modified' flag to `auto-save-state'. This
change allows us to recognize when a valid auto-save file has been
saved for the current editing session, which is needed to correctly
implement `revert-buffer'.
Chris Hanson [Fri, 12 Apr 1991 23:13:55 +0000 (23:13 +0000)]
Implement procedure `rename-auto-save-file!'. Implement command
`do-auto-save'.
Chris Hanson [Fri, 12 Apr 1991 03:20:58 +0000 (03:20 +0000)]
Add new primitives `directory-open-noread' and
`directory-read-matching', to facilitate filename completion.
Arthur Gleckler [Fri, 12 Apr 1991 00:12:11 +0000 (00:12 +0000)]
Make CLEAR-POINT, DRAW-LINE-TO, DRAW-POINT, GRAPHICS-TEXT, and
POSITION-PEN all automatically call INIT-GRAPHICS if graphics hasn't
already been initialized. CLEAR-GRAPHICS already does this.
Chris Hanson [Thu, 11 Apr 1991 03:24:32 +0000 (03:24 +0000)]
Implement new I/O port operations READ-SUBSTRING and WRITE-SUBSTRING
that do block I/O to or from part of a given string.
Chris Hanson [Thu, 11 Apr 1991 03:20:55 +0000 (03:20 +0000)]
Various changes. Requires runtime version 14.115 or later.
Chris Hanson [Thu, 11 Apr 1991 03:18:53 +0000 (03:18 +0000)]
Implement cost analysis to estimate when scrolling is likely to be
more expensive than just redrawing, and forbid scrolling in those
cases. This eliminates nasty problem of C-v doing very slow scrolling
operation to save two lines that could be redrawn in much less time.
Chris Hanson [Thu, 11 Apr 1991 03:15:44 +0000 (03:15 +0000)]
When drawing a new line over an old one that is known to be blank,
don't draw either leading or trailing spaces; previously was drawing
leading spaces in this case. Also implement procedure to estimate the
cost of drawing a specific screen line, for use in scrolling
optimization.
Chris Hanson [Thu, 11 Apr 1991 03:12:28 +0000 (03:12 +0000)]
Change dired to use an `ls' subprocess rather than built-in
primitives. This is both faster and somewhat more flexible. Also
implement most of the dired commands that were missing from Edwin.
Still missing: compression commands and view mode command.
Chris Hanson [Thu, 11 Apr 1991 03:06:39 +0000 (03:06 +0000)]
Change `shell-command' and `shell-command-region' to accept any mark
as the output mark, and convert it into an appropriate left-inserting
mark.
Chris Hanson [Thu, 11 Apr 1991 03:04:45 +0000 (03:04 +0000)]
Re-enable parenthesis matching in typein window. Change "off-window"
matching message to be prefixed by "Matching ".
Chris Hanson [Mon, 8 Apr 1991 22:34:59 +0000 (22:34 +0000)]
*** empty log message ***
Chris Hanson [Mon, 8 Apr 1991 22:26:18 +0000 (22:26 +0000)]
Eliminate unused variable.
Chris Hanson [Mon, 8 Apr 1991 22:20:21 +0000 (22:20 +0000)]
Cache default display so that the trivial dumb use of this procedure
does not result in multiple connections to the X server.
Guillermo J. Rozas [Sat, 6 Apr 1991 06:51:33 +0000 (06:51 +0000)]
Define student-pp that understands old-style arguments.
Guillermo J. Rozas [Sat, 6 Apr 1991 06:34:33 +0000 (06:34 +0000)]
Make pp be bound to student-pp.
Guillermo J. Rozas [Sat, 6 Apr 1991 06:13:53 +0000 (06:13 +0000)]
Patch syntax table so that MAKE-ENVIRONMENT works.
Guillermo J. Rozas [Sat, 6 Apr 1991 05:23:30 +0000 (05:23 +0000)]
Fix bug with making [] extended alphabetic.
char-set/atom-delimiters must be changed in the parser to exclude [].
Otherwise the parser goes into an infinite loop since when peeking any
of them, we will read until a delimiter is found, but it will work as
a delimiter, so the empty string will be interned, and we will
dispatch on the peeked char again, ...
Chris Hanson [Wed, 3 Apr 1991 04:36:24 +0000 (04:36 +0000)]
Fix bug that prevented override message from being written at the
right time in some circumstances.
Chris Hanson [Wed, 3 Apr 1991 04:26:03 +0000 (04:26 +0000)]
Fix bug that made C-u TAB work incorrectly under some conditions.
Chris Hanson [Wed, 3 Apr 1991 04:21:15 +0000 (04:21 +0000)]
Catch errors that happen while reading expressions from a buffer.
Chris Hanson [Wed, 3 Apr 1991 04:09:58 +0000 (04:09 +0000)]
Catch errors that happen while reading expressions from a buffer.
Chris Hanson [Wed, 3 Apr 1991 04:03:30 +0000 (04:03 +0000)]
When marking buffers for deletion, use D instead of K.
Chris Hanson [Wed, 3 Apr 1991 04:01:47 +0000 (04:01 +0000)]
*** empty log message ***
Chris Hanson [Wed, 3 Apr 1991 04:00:46 +0000 (04:00 +0000)]
Fix bug that prevented the typein window from being correctly updated
when a message was erased.
Chris Hanson [Wed, 3 Apr 1991 03:59:52 +0000 (03:59 +0000)]
Fix fencepost error in `scroll-lines-up'.
Chris Hanson [Wed, 3 Apr 1991 00:51:09 +0000 (00:51 +0000)]
`block/next-continuation-offset', when it found that the next thing up
on the stack was an "always-known" continuation, failed to take that
continuation's offset into account when determining the distance to
the continuation above that.
Chris Hanson [Wed, 3 Apr 1991 00:18:20 +0000 (00:18 +0000)]
In `shell-command-region', if the region is empty, must close the
input channel of the subprocess.
Chris Hanson [Wed, 3 Apr 1991 00:12:37 +0000 (00:12 +0000)]
*** empty log message ***
Chris Hanson [Wed, 3 Apr 1991 00:12:07 +0000 (00:12 +0000)]
Fix think-o in `group-delete!'.
Chris Hanson [Tue, 2 Apr 1991 19:56:05 +0000 (19:56 +0000)]
Change mark data structure to store index instead of position.
Eliminate `mark-position' operation, which is no longer useful.
These changes require microcode version 11.73 or later.
Chris Hanson [Tue, 2 Apr 1991 19:45:32 +0000 (19:45 +0000)]
Update description of Edwin mark structure to match change in Edwin
version 3.31. Previous versions of Edwin will not work correctly with
this microcode.
Chris Hanson [Tue, 2 Apr 1991 00:06:29 +0000 (00:06 +0000)]
In `block/next-continuation-offset', if the next continuation is
always known, then it won't be pushed and the offset must include the
distance to the next continuation after that.
Chris Hanson [Tue, 2 Apr 1991 00:01:37 +0000 (00:01 +0000)]
Fix bugs associated with continuation lines: when scrolling, lines
that are continued off the top or bottom of the window must be redrawn
instead of scrolled. Also fix typo in last change that caused
continued lines to draw only their last line in most cases.
Chris Hanson [Mon, 1 Apr 1991 19:47:25 +0000 (19:47 +0000)]
In `maybe-scroll', if the lines are being scrolled off the window,
don't forget to deallocate the structures used to describe them.
Chris Hanson [Mon, 1 Apr 1991 19:46:00 +0000 (19:46 +0000)]
Fix bug: lines that were clipped at a window's top were not being
drawn correctly.
Chris Hanson [Mon, 1 Apr 1991 10:08:00 +0000 (10:08 +0000)]
* Redesign redisplay to get line-contents strings from the screen
abstraction and write directly on those strings, thus avoiding much
intermediate copying and the consequent computation. Eliminate as
much intermediate consing as possible from the image-generation
code.
* Eliminate `string-base' window class, which was storing too much
information for each buffer line. Instead, use new `outline'
abstraction, which keeps track of two pieces of information for each
line: the number of characters in the line and the height of the
line's image on the screen. This is all that is needed when
computing what needs to be redrawn -- all other information is
already being stored in the screen abstraction.
* New `outline' and `o3' objects are explicitly managed for each
window. Instead of being discarded after use, they are saved for
reuse later, preventing the generation of garbage during most
redisplay.
* Fix bug in redisplay: if the image of the last line in a window
extends past the bottom of the window, and the point moves, we must
check to see if it has gone offscreen, even if it is on a displayed
line.
Chris Hanson [Mon, 1 Apr 1991 10:04:29 +0000 (10:04 +0000)]
If a buffer has a `display-start' mark, and the buffer is narrowed,
the `display-start' must be eliminated if it is outside the narrowed
region.