* Arrange for local bindings of current buffer to be undone when
authorChris Hanson <org/chris-hanson/cph>
Fri, 11 Aug 1989 11:50:55 +0000 (11:50 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 11 Aug 1989 11:50:55 +0000 (11:50 +0000)
commit8ef982010f870201e83394fd87652aeba148a735
treeaa951af55311a7f3bfa8ccd15a9d21b714e7b7bc
parenteb6c5160877df83fc69995cb0124a06310aafdc5
* Arrange for local bindings of current buffer to be undone when
leaving the editor; this prevents the local bindings from becoming
global when (reset-editor) is done.  Perhaps it might be useful to
remember the original global binding, and reset each variable to that?

* Change the commands `list-buffers' and `buffer-menu' to accept a
prefix arg which limits their listings to buffers that are visiting
files.  Perhaps buffer-menu mode should define the g key as Dired
does?

* Change mouse button events to invoke commands in the normal way,
binding a `current-button-event' to tell the commands where the mouse
was when they occurred; this event defaults to the location of point
so that these commands make sense when invoked by other means.  Cause
the editor to beep and do nothing if a mouse button is not bound to
any command, and if the button is located in the "decoration" of some
editor window (i.e. the modeline or vertical border).

* Change `define-key' to accept command-names (or commands) as
arguments when defining mouse buttons.  Change `define-key',
`define-prefix-key', and `define-default-key' to accept mode objects
as well as mode-names.

* Add new commands:
debug-clean-marks
debug-show-standard-marks

* Change the buffer redisplay code so that buffer-cursor-y is set only
when a buffer is disconnected from a window.  Further, save point's
index with the coordinate, and ignore the information if point changes
before the information is used.

* Implement new operation `mark-temporary!', which removes a permanent
mark from the marks list.  Use this operation to get rid of the marks
used by buffer-windows when they are no longer in use.  In order for
this to work, change the buffer-window code so that it never passes
one of these marks to anyone.  The only user-visible change is to
replace the operations `window-start-mark' and `window-end-mark' with
`window-start-index' and `window-end-index'.

* Add new procedure `clean-group-marks!' to delete GC'ed marks from
the marks list.
18 files changed:
v7/src/edwin/buffer.scm
v7/src/edwin/buffrm.scm
v7/src/edwin/bufmnu.scm
v7/src/edwin/bufwfs.scm
v7/src/edwin/bufwin.scm
v7/src/edwin/bufwiu.scm
v7/src/edwin/comman.scm
v7/src/edwin/comtab.scm
v7/src/edwin/debuge.scm
v7/src/edwin/editor.scm
v7/src/edwin/edtfrm.scm
v7/src/edwin/edtstr.scm
v7/src/edwin/edwin.pkg
v7/src/edwin/macros.scm
v7/src/edwin/make.scm
v7/src/edwin/struct.scm
v7/src/edwin/wincom.scm
v7/src/edwin/xcom.scm