[gnu.emacs.bug] prev-complex-command in sun.el

worley@compass.com (Dale Worley) (09/12/89)

Please rename this to "select-prev-complex-command" or something.
Right now, since its name starts with "prev-", whereas all other
"previous" commands start with "previous-", minibuffer completion on
function names doesn't work very well if you type "p r e v TAB".

Thanks,

Dale

peck@SUN.COM (Jeff Peck) (09/12/89)

Actually, the functions in sun.el should mostly get absorbed into
the regular emacs functions.
In this case, i'd prefer to see "repeat-complex-command" handle this
functionality, and then remove completely this function.

(defun prev-complex-command ()
  "Select Previous-complex-command"
  (interactive)
  (if (zerop (minibuffer-depth))
      (repeat-complex-command 1)
    (previous-complex-command 1)))

That is, repeat-complex-command should check to see if it is already being
called, and if so, just call into previous-complex-command.
This way, one keybinding serves for both functions.

Instead of checking minibuffer-depth, repeat-complex-command should probably
dynmamic bind something: 
(defun repeat-complex-command (...)
   (if already-in-repeat-complex-command
	  (previous-complex-command ...)
	(let ((already-in-repeat-complex-command t))
	  ...))
	)

jbw@bucsf.bu.edu (Joe Wells) (09/13/89)

In article <8909120125.AA09299@denali.sun.com> peck@SUN.COM (Jeff Peck) writes:

   That is, repeat-complex-command should check to see if it is already being
   called, and if so, just call into previous-complex-command.
   This way, one keybinding serves for both functions.

Right now you can use M-p and M-n to scan through your previous commands
after you have typed C-x ESC to get into repeat-complex-command.  If you
have problems with accidentally typing C-x ESC inside of
repeat-complex-command, the following key definition will fix your
problem:

   (define-key repeat-complex-command-map "\C-x\e" 'previous-complex-command)

--
Joe Wells <jbw@bucsf.bu.edu>
jbw%bucsf.bu.edu@bu-it.bu.edu
...!harvard!bu-cs!bucsf!jbw