* [PATCH:revised] misc.texi, comint.el
@ 2004-06-21 22:15 Nick Roberts
2004-06-22 23:17 ` Richard Stallman
0 siblings, 1 reply; 2+ messages in thread
From: Nick Roberts @ 2004-06-21 22:15 UTC (permalink / raw)
Here's my revised patch for misc.texi (and comint.el). It does the following:
1) Moves comint-dynamic-list-input-ring to the Shell History Ring section.
2) Indexes comint-input-previous-argument and comint-get-next-from-history
properly.
3) Replaces comint-copy-old-input and comint-insert-clicked-input with
two bindings but just one functionality.
(comint-insert-input, comint-mouse-insert-input)
Nick
2004-06-21 Nick Roberts <nickrob@gnu.org>
* comint.el (comint-insert-clicked-input, comint-copy-old-input):
Remove.
(comint-insert-input, comint-mouse-insert-input): New functions
based on comint-insert-clicked-input for two bindings but just
one functionality.
2004-06-21 Nick Roberts <nickrob@gnu.org>
* misc.texi (Shell History Copying): Document comint-insert-input.
(Shell Ring): Describe comint-dynamic-list-input-ring here.
*** misc.texi 24 Mar 2004 20:26:30 +0000 1.50
--- misc.texi 21 Jun 2004 22:51:21 +0100
***************
*** 624,635 ****
Move backward across one shell command, but not beyond the current line
(@code{shell-backward-command}).
- @item C-c C-l
- @kindex C-c C-l @r{(Shell mode)}
- @findex comint-dynamic-list-input-ring
- Display the buffer's history of shell commands in another window
- (@code{comint-dynamic-list-input-ring}).
-
@item M-x dirs
Ask the shell what its current directory is, so that Emacs can agree
with the shell.
--- 624,629 ----
***************
*** 740,752 ****
@itemx M-s @var{regexp} @key{RET}
Search backwards or forwards for old shell commands that match @var{regexp}.
! @item C-c C-x @r{(Shell mode)}
@findex comint-get-next-from-history
Fetch the next subsequent command from the history.
! @item C-c . @r{(Shell mode)}
@findex comint-input-previous-argument
Fetch one argument from an old shell command.
@end table
Shell buffers provide a history of previously entered shell commands. To
--- 734,754 ----
@itemx M-s @var{regexp} @key{RET}
Search backwards or forwards for old shell commands that match @var{regexp}.
! @item C-c C-x
! @kindex C-c C-x @r{(Shell mode)}
@findex comint-get-next-from-history
Fetch the next subsequent command from the history.
! @item C-c .
! @kindex C-c . @r{(Shell mode)}
@findex comint-input-previous-argument
Fetch one argument from an old shell command.
+
+ @item C-c C-l
+ @kindex C-c C-l @r{(Shell mode)}
+ @findex comint-dynamic-list-input-ring
+ Display the buffer's history of shell commands in another window
+ (@code{comint-dynamic-list-input-ring}).
@end table
Shell buffers provide a history of previously entered shell commands. To
***************
*** 815,835 ****
Move point to the following prompt (@code{comint-next-prompt}).
@kindex C-c RET @r{(Shell mode)}
! @findex comint-copy-old-input
@item C-c @key{RET}
Copy the input command which point is in, inserting the copy at the end
! of the buffer (@code{comint-copy-old-input}). This is useful if you
move point back to a previous command. After you copy the command, you
can submit the copy as input with @key{RET}. If you wish, you can
edit the copy before resubmitting it.
@end table
Moving to a previous input and then copying it with @kbd{C-c
! @key{RET}} produces the same results---the same buffer contents---that
! you would get by using @kbd{M-p} enough times to fetch that previous
! input from the history list. However, @kbd{C-c @key{RET}} copies the
! text from the buffer, which can be different from what is in the history
! list if you edit the input text in the buffer after it has been sent.
@node History References
@subsubsection Shell History References
--- 817,842 ----
Move point to the following prompt (@code{comint-next-prompt}).
@kindex C-c RET @r{(Shell mode)}
! @findex comint-insert-input
@item C-c @key{RET}
Copy the input command which point is in, inserting the copy at the end
! of the buffer (@code{comint-insert-input}). This is useful if you
move point back to a previous command. After you copy the command, you
can submit the copy as input with @key{RET}. If you wish, you can
edit the copy before resubmitting it.
+
+ @item Mouse-2
+ Copy the input command that you click on, inserting the copy at the end
+ of the buffer.
@end table
Moving to a previous input and then copying it with @kbd{C-c
! @key{RET}} or @kbd{Mouse-2} produces the same results---the same
! buffer contents---that you would get by using @kbd{M-p} enough times
! to fetch that previous input from the history list. However, @kbd{C-c
! @key{RET}} copies the text from the buffer, which can be different
! from what is in the history list if you edit the input text in the
! buffer after it has been sent.
@node History References
@subsubsection Shell History References
*** comint.el 02 Jun 2004 17:48:48 +0100 1.298
--- comint.el 21 Jun 2004 22:54:52 +0100
***************
*** 571,577 ****
(define-key comint-mode-map "\C-c\C-c" 'comint-interrupt-subjob)
(define-key comint-mode-map "\C-c\C-z" 'comint-stop-subjob)
(define-key comint-mode-map "\C-c\C-\\" 'comint-quit-subjob)
! (define-key comint-mode-map "\C-c\C-m" 'comint-copy-old-input)
(define-key comint-mode-map "\C-c\C-o" 'comint-delete-output)
(define-key comint-mode-map "\C-c\C-r" 'comint-show-output)
(define-key comint-mode-map "\C-c\C-e" 'comint-show-maximum-output)
--- 571,577 ----
(define-key comint-mode-map "\C-c\C-c" 'comint-interrupt-subjob)
(define-key comint-mode-map "\C-c\C-z" 'comint-stop-subjob)
(define-key comint-mode-map "\C-c\C-\\" 'comint-quit-subjob)
! (define-key comint-mode-map "\C-c\C-m" 'comint-insert-input)
(define-key comint-mode-map "\C-c\C-o" 'comint-delete-output)
(define-key comint-mode-map "\C-c\C-r" 'comint-show-output)
(define-key comint-mode-map "\C-c\C-e" 'comint-show-maximum-output)
***************
*** 582,588 ****
(define-key comint-mode-map "\C-c\C-s" 'comint-write-output)
(define-key comint-mode-map "\C-c." 'comint-insert-previous-argument)
;; Mouse Buttons:
! (define-key comint-mode-map [mouse-2] 'comint-insert-clicked-input)
;; Menu bars:
;; completion:
(define-key comint-mode-map [menu-bar completion]
--- 582,588 ----
(define-key comint-mode-map "\C-c\C-s" 'comint-write-output)
(define-key comint-mode-map "\C-c." 'comint-insert-previous-argument)
;; Mouse Buttons:
! (define-key comint-mode-map [mouse-2] 'comint-mouse-insert-input)
;; Menu bars:
;; completion:
(define-key comint-mode-map [menu-bar completion]
***************
*** 615,621 ****
(define-key comint-mode-map [menu-bar inout kill-input]
'("Kill Current Input" . comint-kill-input))
(define-key comint-mode-map [menu-bar inout copy-input]
! '("Copy Old Input" . comint-copy-old-input))
(define-key comint-mode-map [menu-bar inout forward-matching-history]
'("Forward Matching Input..." . comint-forward-matching-input))
(define-key comint-mode-map [menu-bar inout backward-matching-history]
--- 615,621 ----
(define-key comint-mode-map [menu-bar inout kill-input]
'("Kill Current Input" . comint-kill-input))
(define-key comint-mode-map [menu-bar inout copy-input]
! '("Copy Old Input" . comint-insert-input))
(define-key comint-mode-map [menu-bar inout forward-matching-history]
'("Forward Matching Input..." . comint-forward-matching-input))
(define-key comint-mode-map [menu-bar inout backward-matching-history]
***************
*** 798,808 ****
(set-process-coding-system proc decoding encoding))
proc))
!
! (defun comint-insert-clicked-input (event)
! "In a Comint buffer, set the current input to the clicked-on previous input."
! (interactive "e")
! (let ((pos (posn-point (event-end event))))
(if (not (eq (get-char-property pos 'field) 'input))
;; No input at POS, fall back to the global definition.
(let* ((keys (this-command-keys))
--- 798,807 ----
(set-process-coding-system proc decoding encoding))
proc))
! (defun comint-insert-input ()
! "In a Comint buffer, set the current input to the previous input at point."
! (interactive)
! (let ((pos (point)))
(if (not (eq (get-char-property pos 'field) 'input))
;; No input at POS, fall back to the global definition.
(let* ((keys (this-command-keys))
***************
*** 816,826 ****
(or (marker-position comint-accum-marker)
(process-mark (get-buffer-process (current-buffer))))
(point))
! ;; Insert the clicked-upon input
(insert (buffer-substring-no-properties
(previous-single-char-property-change (1+ pos) 'field)
(next-single-char-property-change pos 'field))))))
\f
;; Input history processing in a buffer
--- 815,830 ----
(or (marker-position comint-accum-marker)
(process-mark (get-buffer-process (current-buffer))))
(point))
! ;; Insert the input at point
(insert (buffer-substring-no-properties
(previous-single-char-property-change (1+ pos) 'field)
(next-single-char-property-change pos 'field))))))
+ (defun comint-mouse-insert-input (event)
+ "In a Comint buffer, set the current input to the previous input you click on."
+ (interactive "e")
+ (mouse-set-point event)
+ (comint-insert-input))
\f
;; Input history processing in a buffer
***************
*** 1858,1874 ****
(comint-bol)
(buffer-substring-no-properties (point) (line-end-position)))))
- (defun comint-copy-old-input ()
- "Insert after prompt old input at point as new input to be edited.
- Calls `comint-get-old-input' to get old input."
- (interactive)
- (let ((input (funcall comint-get-old-input))
- (process (get-buffer-process (current-buffer))))
- (if (not process)
- (error "Current buffer has no process")
- (goto-char (process-mark process))
- (insert input))))
-
(defun comint-skip-prompt ()
"Skip past the text matching regexp `comint-prompt-regexp'.
If this takes us past the end of the current line, don't skip at all."
--- 1862,1867 ----
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-06-22 23:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-21 22:15 [PATCH:revised] misc.texi, comint.el Nick Roberts
2004-06-22 23:17 ` Richard Stallman
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.