Fixing what described on Thu, 07 Sep 2006 00:32:13 +0400 in
<16k64g20tu.fsf(a)mo.msk.ru> (<comint loses prompt boundary>) in emacs
cvs head (as of 2006-11-23) as follows. This also makes comint, shell
conform to documentation as suggested in <87slflasys.fsf(a)mo.msk.ru>.
Cc-ing to Jerry James, <xemacs-beta> since the broken code from emacs
was merged into xemacs packages `comint.el' revision 1.14 of
2006/05/25 02:49:47 +0, and they were among recipients of the original
report.
lisp/ChangeLog
* comint.el (comint-line-beginning-position): Fix undocumented
dependency on `inhibit-field-text-motion' value: do the same
regardless of how this user option is set.
etc/ChangeLog
* NEWS (Fixed to respects fields): New.
(Comint changes): In here.
--- lisp/comint.el 2006-11-23 15:55:54.000000000 +0300
+++ lisp/comint.el 2006-12-07 02:53:38.794286184 +0300
@@ -1953,7 +1953,8 @@
;; if there are two fields on a line, then the first one is the
;; prompt, and the second one is an input field, and is front-sticky
;; (as input fields should be).
- (constrain-to-field (line-beginning-position) (line-end-position))))
+ (let ((inhibit-field-text-motion nil))
+ (constrain-to-field (line-beginning-position) (line-end-position)))))
(defun comint-bol (&optional arg)
"Go to the beginning of line, then skip past the prompt, if any.
--- etc/NEWS 2006-11-23 15:55:51.000000000 +0300
+++ etc/NEWS 2006-12-07 05:10:21.731250216 +0300
@@ -21,6 +21,39 @@
so we will look at it and add it to the manual.
+* Incompatible Editing Changes in local gin branch.
+
+** Fixed comint commands to respect fields.
+
+As described in <Fixed `comint-line-beginning-position' to respects
+fields> section. This includes, but not limited to `comint-bol',
+`comint-insert-previous-argument', `comint-backward-matching-input',
+`comint-bol-or-process-mark', `comint-previous-matching-input',
+`comint-send-input', `comint-copy-old-input',
+`shell-backward-command', `shell-dynamic-complete-command' (including
+inside `comint-dynamic-complete' in Shell mode).
+
+
+* Incompatible Lisp Changes in local gin branch.
+
+** Fixed `comint-line-beginning-position' to respect fields.
+
+As controlled by `inhibit-field-text-motion'. This fixed myriads of
+other functions and commands that depend on it and that rely on it to
+always do so, regardless of `inhibit-field-text-motion' user option,
+at least when `comint-use-prompt-regexp' is `nil'. Partial list of
+these commands is in <Fixed comint commands to respects fields>
+section. However, other code certainly may rely on old behavior.
+Have not seen such a code to date.
+
+Introduced in upstream just after addition of (extant) field
+implementation of 2000-01-01.
+
+Other non- interactive functions calling it include
+`comint-replace-by-expanded-history-before-point',
+`comint-get-old-input-default'.
+
+
* Installation Changes in Emacs 22.1
---
@@ -1461,6 +1494,37 @@
that need to know whether they are started inside Emacs should check
INSIDE_EMACS instead of EMACS.
+*** Fixed to respects fields.
+
+As controlled by `inhibit-field-text-motion'. As bug fix, certainly
+incompatible with buggy behavior.
+
+**** Lisp changes.
+
+The core change is in `comint-line-beginning-position'. This fixed
+myriads of other functions and commands that depend on it and that
+rely on it to always do so, regardless of `inhibit-field-text-motion'
+user option, at least when `comint-use-prompt-regexp' is `nil'.
+Partial list of these commands is in <Editing changes> section.
+However, other code certainly may rely on old behavior. Have not seen
+such a code to date.
+
+Introduced in upstream emacs just after addition of (extant) field
+implementation of 2000-01-01.
+
+Other non- interactive functions calling it include
+`comint-replace-by-expanded-history-before-point',
+`comint-get-old-input-default'.
+
+**** Editing changes.
+
+Include, but not limited to `comint-bol',
+`comint-insert-previous-argument', `comint-backward-matching-input',
+`comint-bol-or-process-mark', `comint-previous-matching-input',
+`comint-send-input', `comint-copy-old-input',
+`shell-backward-command', `shell-dynamic-complete-command' (including
+inside `comint-dynamic-complete' in Shell mode).
+
** M-x Compile changes:
---
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta