unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* comint-insert-input on non-command lines:  A trivial fix, a quibble, and a bug
@ 2006-05-06 20:05 Bob Rogers
  2006-05-08  0:31 ` Nick Roberts
  0 siblings, 1 reply; 47+ messages in thread
From: Bob Rogers @ 2006-05-06 20:05 UTC (permalink / raw)


   First the fix (see the diff below):  When you type "C-c RET"
(comint-insert-input) in shell mode (e.g.) with point on a line of
output, nothing happens, not even a ding.  This seems to be because
comint-insert-input is trying to invoke the "RET" binding, but doesn't
allow for the fact that this-command-keys returns a string.  The patch
makes it work for me, though only if you define "working" as "insert a
newline at point".

   Hence the quibble:  I would argue that these bindings are backwards.
There have been many times that I've typed "RET" (comint-send-input) in
a shell buffer and mistakenly expected newline insertion, instead of the
defined "reinvoke this command" behavior.  In contrast, I never expect
insertion when I type "C-c RET"; besides which, the side-effects of an
accidental "C-c RET" are easier to undo.  So if "safety" were the reason
for changing comint-insert-input to work only on actual command input,
then it seems inconsistent not to do the same for comint-send-input as
well.  Moreover, I would argue that comint-send-input should be the
picky one, and comint-insert-input should be more forgiving, so that you
could then get the current effect of "RET" on an arbitrary line by
typing "C-c RET RET", i.e. insert at the process mark and then submit
it.  As it is, I see no way to get the former comint-copy-old-input
behavior, save by cut-and-paste.  Or have I missed something?

   If not, that's the bug:  I find it extremely useful to be able to
reinvoke lines of transcript output (e.g. commands echoed by "make")
after editing them, so it is frustrating that "C-c RET" no longer works
for that.  Even if the new behavior is deemed a feature (or gets
grandfathered due to release pressure), it amounts to an incompatible
change, but I can't find any mention of this in NEWS.  (Except for the
command name, the description in misc.texi hasn't changed, though the
new behavior does match it better than the old behavior did.)

   So the question is:  Misfeature, or documentation oversight?

   TIA,

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

------------------------------------------------------------------------
Index: lisp/comint.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/comint.el,v
retrieving revision 1.340
diff -c -r1.340 comint.el
*** lisp/comint.el	22 Apr 2006 23:30:13 -0000	1.340
--- lisp/comint.el	6 May 2006 16:07:16 -0000
***************
*** 807,813 ****
      (if (not (eq (get-char-property (point) 'field) 'input))
  	;; No input at POS, fall back to the global definition.
  	(let* ((keys (this-command-keys))
! 	       (last-key (and (vectorp keys) (aref keys (1- (length keys)))))
  	       (fun (and last-key (lookup-key global-map (vector last-key)))))
  	  (goto-char pos)
  	  (and fun (call-interactively fun)))
--- 807,814 ----
      (if (not (eq (get-char-property (point) 'field) 'input))
  	;; No input at POS, fall back to the global definition.
  	(let* ((keys (this-command-keys))
! 	       (last-key (and (or (vectorp keys) (stringp keys))
! 			      (aref keys (1- (length keys)))))
  	       (fun (and last-key (lookup-key global-map (vector last-key)))))
  	  (goto-char pos)
  	  (and fun (call-interactively fun)))

^ permalink raw reply	[flat|nested] 47+ messages in thread

end of thread, other threads:[~2006-05-31  3:24 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-06 20:05 comint-insert-input on non-command lines: A trivial fix, a quibble, and a bug Bob Rogers
2006-05-08  0:31 ` Nick Roberts
2006-05-08  3:16   ` Luc Teirlinck
2006-05-08  3:49   ` Luc Teirlinck
2006-05-08  4:49     ` Miles Bader
2006-05-08 14:08       ` Stefan Monnier
2006-05-09  2:33         ` Miles Bader
2006-05-08  4:08   ` Luc Teirlinck
2006-05-08  4:18     ` Nick Roberts
2006-05-09  1:55       ` Bob Rogers
2006-05-09  3:11         ` Nick Roberts
2006-05-10  3:01           ` Bob Rogers
2006-05-10  5:57             ` Nick Roberts
2006-05-09  3:01       ` Luc Teirlinck
2006-05-09  3:21         ` Nick Roberts
2006-05-09  3:59           ` Luc Teirlinck
2006-05-09  6:17             ` Nick Roberts
2006-05-09 14:58               ` Luc Teirlinck
2006-05-10  1:09                 ` Nick Roberts
2006-05-10  1:13                   ` Luc Teirlinck
2006-05-10  1:58                   ` Miles Bader
2006-05-10  2:21                     ` Nick Roberts
2006-05-10  2:32                       ` Miles Bader
2006-05-10  3:50                         ` Nick Roberts
2006-05-10  4:09                           ` Miles Bader
2006-05-10  4:41                   ` Luc Teirlinck
2006-05-10  5:29                     ` Nick Roberts
2006-05-10  6:06                       ` Luc Teirlinck
2006-05-10  6:27                         ` Miles Bader
2006-05-10 21:38                         ` comint-insert-input on non-command lines: Nick Roberts
2006-05-11  1:12                           ` Luc Teirlinck
2006-05-11  1:33                           ` Luc Teirlinck
2006-05-11 18:31                             ` Richard Stallman
2006-05-11 20:29                               ` Nick Roberts
2006-05-11 22:40                               ` Luc Teirlinck
2006-05-14 23:29                                 ` Richard Stallman
2006-05-15  3:46                                   ` Luc Teirlinck
2006-05-15 20:37                                     ` Richard Stallman
2006-05-28  2:11                                       ` Luc Teirlinck
2006-05-28  3:48                                         ` Luc Teirlinck
2006-05-29  3:41                                         ` Nick Roberts
2006-05-29  3:58                                           ` Luc Teirlinck
2006-05-31  3:14                                             ` Luc Teirlinck
2006-05-31  3:24                                               ` Bob Rogers
2006-05-09  4:15           ` comint-insert-input on non-command lines: A trivial fix, a quibble, and a bug Luc Teirlinck
2006-05-10  5:19   ` Luc Teirlinck
2006-05-10  6:04     ` Nick Roberts

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).