From: Miles Bader Date: Mon, 27 Aug 2001 13:03:53 +0000 (+0000) Subject: (comint-get-old-input-default): Don't signal an error if point is not on X-Git-Tag: emacs-pretest-21.0.105~66 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d3b98912ef807203ed444d394b4c34181c0fb635;p=emacs.git (comint-get-old-input-default): Don't signal an error if point is not on an input field; instead, return the current line (using `comint-bol' to skip any prompt, in case we're not using fields at all). --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7e06c86a677..b8f10b3ea16 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,14 @@ +2001-08-22 Miles Bader + + * comint.el (comint-get-old-input-default): Don't signal an error + if point is not on an input field; instead, return the current + line (using `comint-bol' to skip any prompt, in case we're not + using fields at all). + + * man.el (Man-mode-line-format): Variable removed. + (Man-mode): Change `mode-line-buffer-identification' instead of + `mode-line-format'. + 2001-08-27 Gerd Moellmann * mail/sendmail.el (mail-send-hook): Remove a duplicate defcustom. diff --git a/lisp/comint.el b/lisp/comint.el index 05caf546cd2..3b0ccfc0890 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -1372,10 +1372,13 @@ The values of `comint-get-old-input', `comint-input-filter-functions', and in the buffer. E.g., If the interpreter is the csh, - comint-get-old-input is the default: either return the current - field, or take the current line and discard any - initial string matching regexp `comint-prompt-regexp', depending - on the value of `comint-use-prompt-regexp-instead-of-fields'. + comint-get-old-input is the default: + If `comint-use-prompt-regexp-instead-of-fields' is nil, then + either return the current input field, if point is on an input + field, or the current line, if point is on an output field. + If `comint-use-prompt-regexp-instead-of-fields' is non-nil, then + return the current line with any initial string matching the + regexp `comint-prompt-regexp' removed. comint-input-filter-functions monitors input for \"cd\", \"pushd\", and \"popd\" commands. When it sees one, it cd's the buffer. comint-input-filter is the default: returns t if the input isn't all white @@ -1753,21 +1756,17 @@ This function could be on `comint-output-filter-functions' or bound to a key." (defun comint-get-old-input-default () "Default for `comint-get-old-input'. -Returns either the current field, or the current line with any initial -text matching `comint-prompt-regexp' stripped off, depending on the -value of `comint-use-prompt-regexp-instead-of-fields'." - (if comint-use-prompt-regexp-instead-of-fields - (save-excursion - (beginning-of-line) - (comint-skip-prompt) - (let ((beg (point))) - (end-of-line) - (buffer-substring beg (point)))) - ;; Return the contents of the field at the current point. - (let ((pos (field-beginning (point)))) - (unless (eq (get-char-property pos 'field) 'input) - (error "Not an input field")) - (field-string pos)))) +If `comint-use-prompt-regexp-instead-of-fields' is nil, then either +return the current input field, if point is on an input field, or the +current line, if point is on an output field. +If `comint-use-prompt-regexp-instead-of-fields' is non-nil, then return +the current line with any initial string matching the regexp +`comint-prompt-regexp' removed." + (let ((bof (field-beginning))) + (if (eq (get-char-property bof 'field) 'input) + (field-string bof) + (comint-bol) + (buffer-substring (point) (line-end-position))))) (defun comint-copy-old-input () "Insert after prompt old input at point as new input to be edited.