unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ilya N. Golubev" <gin@mo.msk.ru>
Cc: Jerry James <james@xemacs.org>, xemacs-beta@xemacs.org
Subject: field movement fix [Re: comint loses prompt boundary]
Date: Tue, 12 Dec 2006 21:08:34 +0300	[thread overview]
Message-ID: <82odq9aswt.fsf@mo.msk.ru> (raw)
In-Reply-To: 87slflasys.fsf@mo.msk.ru

Fixing what described on Thu, 07 Sep 2006 00:32:13 +0400 in
<16k64g20tu.fsf@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@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.
 
 \f
+* 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).
+
+\f
+* 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'.
+
+\f
 * 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:
 
 ---

  reply	other threads:[~2006-12-12 18:08 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-06 20:32 comint loses prompt boundary Ilya N. Golubev
2006-09-06 20:41 ` comint loses prompt boundary in cvs, too Ilya N. Golubev
     [not found] ` <E1GLRDD-0000mS-2D@fencepost.gnu.org>
     [not found]   ` <59ejumjzz2.fsf@mo.msk.ru>
     [not found]     ` <E1GLjTm-0000cp-DO@fencepost.gnu.org>
     [not found]       ` <843bazvd1b.fsf@mo.msk.ru>
     [not found]         ` <comint_field_movement_fix@mo.msk.ru>
2006-12-12 18:07           ` shell completion documentation [Re: comint loses prompt boundary] Ilya N. Golubev
2006-12-12 18:08             ` Ilya N. Golubev [this message]
2006-12-15 16:11               ` field movement fix: `NEWS' change Ilya N. Golubev
2006-12-14  5:29             ` shell completion documentation [Re: comint loses prompt boundary] Richard Stallman
2006-12-14 17:51               ` shell completion documentation Ilya N. Golubev
2006-12-15 21:24                 ` Richard Stallman
2006-12-15 23:48                   ` bug reports vs manuals [Re: shell completion documentation] Ilya N. Golubev
2006-12-16 20:04                 ` shell completion documentation Richard Stallman
2006-12-18 19:06                   ` Ilya N. Golubev
2006-12-20 13:00                     ` Richard Stallman
2006-12-20 20:59                       ` what makes read it? [Re: shell completion documentation] Ilya N. Golubev
     [not found]           ` <mailman.1817.1166000505.2155.bug-gnu-emacs@gnu.org>
2006-12-13 15:39             ` shell completion documentation [Re: comint loses prompt boundary] Miles Bader
2006-12-13 18:07               ` Ilya N. Golubev
2006-12-14  3:49                 ` Miles Bader
2006-12-15 23:48                   ` comint loses prompt boundary Ilya N. Golubev
2006-08-24 17:15                     ` checking for fields Ilya N. Golubev
2006-08-25 20:25                       ` Richard Stallman
     [not found]                         ` <02473b3c6f4154-gin@mo.msk.ru>
     [not found]                           ` <02473b40868335-gin@mo.msk.ru>
2006-08-28 17:47                             ` Ilya N. Golubev
2006-08-29 11:47                               ` Richard Stallman
2006-08-29 20:30                                 ` pretest downloads [Re: checking for fields] Ilya N. Golubev
2006-08-30 17:58                                   ` Richard Stallman
2006-12-18 15:56                       ` customizing inhibit-field-text-motion [Re: comint loses prompt boundary] Ilya N. Golubev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=82odq9aswt.fsf@mo.msk.ru \
    --to=gin@mo.msk.ru \
    --cc=james@xemacs.org \
    --cc=xemacs-beta@xemacs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).