[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
how to bind C-H to rubout in lisp-listeners
Date: Wed, 3 Jul 1991 00:13 EDT
From: rsl@MAX-FLEISCHER.SF.Dialnet.ILA.COM (Richard Lamson)
[Added Customer-reports: small bug fix at the end.]
RSL, you didn't give a system version (tsk, tsk), but it musta been
8.0.x. For the record, version 331 of the source has this fix in it,
and hence it is fixed in Genera 8.1. In fact, the fix must have just
missed the cutoff for 8.0.
Date: Tue, 2 Jul 91 14:40:36 PDT
From: starnet!bass!lakin@apple.com (Fred Lakin)
I now spend alot of my time on other keyboards and have lost
the rubout reflex -- replaced by C-H.
Using the following forms, I have managed to make C-H do rubout in zmacs
buffers and mini-buffers:
(login-eval
(set-comtab-return-undo *zmacs-comtab*
'(#\CONTROL-H COM-RUBOUT)))
(login-eval
(set-comtab-return-undo *standard-comtab*
'(#\CONTROL-H COM-RUBOUT)))
However, the all-important lisp-listener C-H is uneffected. How can
I get that too?
I was going to suggest
(LOGIN-FORMS
(SI:ADD-IE-COMMAND 'SI:COM-RUBOUT-CHARACTER #\c-H))
but the logout form for ADD-IE-COMMAND generates the wrong thing on the
logout-list, so just
(SI:ADD-IE-COMMAND 'SI:COM-RUBOUT-CHARACTER #\c-H)
for now. [The fix for the undo problem is below if you care (the
system-supplied version says DELETE-IE-COMMAND instead of
DELETE-IE-COMMANDS.]
;=====================================
(SYSTEM-INTERNALS:BEGIN-PATCH-SECTION)
(SYSTEM-INTERNALS:PATCH-SECTION-SOURCE-FILE "SYS:IO;INPUT-EDITOR.LISP.330")
(SYSTEM-INTERNALS:PATCH-SECTION-ATTRIBUTES
"-*- Syntax: Zetalisp; MODE: Lisp; Package: System-internals; Base: 8 -*-")
(DEFUN MAKE-UNDO-FOR-ADD//DELETE-IE-COMMAND (CHARS &AUX (RESULT '()))
(DOLIST (CHAR CHARS)
(SETQ CHAR (EVAL CHAR))
(LET ((ENTRY (ASS #'CHAR= CHAR *COMMAND-ALIST*)))
(PUSH (IF ENTRY
`(ADD-IE-COMMAND ',(CDR ENTRY) ,CHAR)
`(DELETE-IE-COMMANDS ,CHAR))
RESULT)))
(IF (CDR RESULT) `(PROGN ,@(NREVERSE RESULT)) (CAR RESULT)))