ilisp keybindings in emacs

Bob Rogers <[email protected]>
Newsgroups gmane.lisp.ilisp.devel
Message-ID <[email protected]>
   From: Paolo Amoroso <[email protected]>
   Date: Sun, 20 Apr 2003 20:46:21 +0200

   [thread moved to ilisp-devel]

   On Sat, 19 Apr 2003 17:12:50 -0600, Bill Clementson wrote:

   > fsf keybindings were the best ones to introduce to newbies. (Note: I
   > received 0 replies on the ILISP mailing list, a few on c.l.l. and

Oops; missed this.  I suppose that's what I get for not subscribing to
either.

   > . . . Rather than just complain and hope that they will be fixed
   > at some stage, I would like to propose a set of fsf keybindings for
   > those commands that aren't covered by the current set of mappings and
   > volunteer to make the necessary changes myself . . .

Making ilisp less daunting for a beginner is a worthy goal; good for you
for taking it up.  I do have a few comments; I wish there were fewer.  ;-}
In order from the very general, to the very specific:

   I would like to add the suggestion that, at the very least, the
FSF-compliant bindings should become the default out of the box.  (This
may have been your intent, but I don't believe you ever said so out
loud.)  We should probably also start to call the other set the
"traditional" bindings.  This ought to make getting started with ilisp
easier.

   FWIW, ilisp keybindings were chosen at the time to be familiar to
people coming from the Lisp Machine (modulo keyboard limitations), or
the Allegro environment (which was modelled on the LispM to some
extent).  This is now ancient history, and Lisp Machine compatibility no
longer makes sense, not even for us dinosaurs that never learned to
touch-type emacs on a "standard" keyboard layout.  However, I note that
there is a ilisp-lispm-bindings function that installs the exact Zmacs
bindings, e.g. "C-S-c" for compile-defun-lisp where "S-" is shift.  We
might want to consider using these instead of the traditional bindings;
there's a comment that says the LispM style bindings are not
FSF-compliant, but that wouldn't matter if FSF bindings became the
default.  But perhaps this is too radical; it wouldn't help the newbies
in any case.

   * I note that most of your proposed bindings are of the form "C-c
M-something", but it seems to me that "C-c C-something" would be less
awkward to type.  Or is this frowned on by the FSF keybinding rules?

   * Alternatively, you might want to consider using simple
three-character sequences for ild commands.  I don't use ild much,
having gotten used to CMUCL's repertoire without it (and don't like its
rebindings of standard keys, either).  But it seems to me that "C-c
M-S-a" for ild-abort is much hairier to type than "M-a", especially
since CMU requires only "a RET" at the debugger prompt.  I realize that
ild is more for Lisp implementation independence than typing ease, but
even so, I think an extra character could help.  I would suggest "C-c
C-d" as a prefix for mnemonic value, except that "C-c C-d" shadows
comint-send-eof, alas.  However, "C-c C-d a" or "C-c C-d C-a" would be
much more reasonable to type for ild-abort.  (But select-lisp,
fast-lisp, and slow-lisp aren't specific to debugging, so shouldn't use
such a debugging prefix.)

   * Seems to me that edit-definitions-lisp should probably stay on "M-.";
it shadows find-tag, but provides much the same functionality in a more
Lisp-aware way.  If that isn't a good enough reason to violate the
rules, then I'm not sure what is.

   * next-definition-lisp (on "M-,") is less clear, as
next-definition-lisp is not really equivalent to tags-loop-continue --
in any case, "C-u M-." invokes next-definition-lisp (in CVS).

   You should take this all with a grain of salt; whatever you actually
do, I shall probably stick with (setq ilisp-*enable-dinosaur-mode-p* t)
for a bit longer.  ;-}

					-- Bob Rogers
					   http://rgrjr.dyndns.org/


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.