2009-08-30 Stefan Monnier <monnier@iro.umontreal.ca>
+ * comint.el (comint-insert-input): Be careful to only set point if we
+ don't delegate to some other command.
+
* proced.el (proced-signal-list): Make it an alist.
(proced-grammar-alist): Capitalize names.
(proced-send-signal): Use a non-hidden buffer (since it's displayed).
If there is no previous input at point, run the command specified
by the global keymap (usually `mouse-yank-at-click')."
(interactive "e")
- (mouse-set-point event)
+ ;; Don't set the mouse here, since it may otherwise change the behavior
+ ;; of the command on which we fallback if there's no field at point.
+ ;; (mouse-set-point event)
(let ((pos (posn-point (event-end event)))
field input)
(with-selected-window (posn-window (event-end event))
(fun (and last-key (lookup-key global-map (vector last-key)))))
(and fun (not (eq fun 'comint-insert-input))
(call-interactively fun)))
- ;; Otherwise, insert the previous input.
- (goto-char (point-max))
- ;; First delete any old unsent input at the end
- (delete-region
- (or (marker-position comint-accum-marker)
- (process-mark (get-buffer-process (current-buffer))))
- (point))
- ;; Insert the input at point
- (insert input))))
+ (with-selected-window (posn-window (event-end event))
+ ;; Otherwise, insert the previous input.
+ (goto-char (point-max))
+ ;; First delete any old unsent input at the end
+ (delete-region
+ (or (marker-position comint-accum-marker)
+ (process-mark (get-buffer-process (current-buffer))))
+ (point))
+ ;; Insert the input at point
+ (insert input)))))
\f
;; Input history processing in a buffer
;; ===========================================================================