# HG changeset patch # User Roland McGrath # Date 742854618 0 # Node ID ab7dee78e33557ca163a022432007b047cbf698c # Parent 536a84edaaf784f96032a9b3cbf11b487f6c1b76 (comint-{next,prev}-prompt, comint-send-eof): New functions. (comint-mode-map): Bind C-c C-n, C-c C-p, and C-c C-d to those. Bind C-c C-y to comint-previous-input, for compatibility with v18 shell.el. diff -r 536a84edaaf7 -r ab7dee78e335 lisp/comint.el --- a/lisp/comint.el Fri Jul 16 19:53:38 1993 +0000 +++ b/lisp/comint.el Fri Jul 16 20:30:18 1993 +0000 @@ -279,6 +279,10 @@ ; (define-key comint-mode-map "\eP" 'comint-msearch-input) ; (define-key comint-mode-map "\eN" 'comint-psearch-input) ; (define-key comint-mode-map "\C-cR" 'comint-msearch-input-matching) + (define-key comint-mode-map "\C-c\C-n" 'comint-next-prompt) + (define-key comint-mode-map "\C-c\C-p" 'comint-prev-prompt) + (define-key comint-mode-map "\C-c\C-d" 'comint-send-eof) + (define-key comint-mode-map "\C-c\C-y" 'comint-previous-input) ;v18 binding ) @@ -899,8 +903,29 @@ (process-send-eof) (delete-char arg))) +(defun comint-send-eof () + "Send an EOF to the current buffer's process." + (interactive) + (process-send-eof)) +(defun comint-next-prompt (n) + "\ +Move to end of next prompt in the buffer (with prefix arg, Nth next). +See `comint-prompt-regexp'." + (interactive "p") + (re-search-forward comint-prompt-regexp nil nil n)) +(defun comint-prev-prompt (n) + "\ +Move to end of previous prompt in the buffer (with prefix arg, Nth previous). +See `comint-prompt-regexp'." + (interactive "p") + (if (= (save-excursion (re-search-backward comint-prompt-regexp nil t) + (match-end 0)) + (point)) + (setq n (1+ n))) + (re-search-backward comint-prompt-regexp nil nil n) + (goto-char (match-end 0))) ;;; Support for source-file processing commands. ;;;============================================================================