[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#16453: 24.3.50; Motion functions not respecting field boundaries as

From: Drew Adams
Subject: bug#16453: 24.3.50; Motion functions not respecting field boundaries as documented
Date: Wed, 15 Jan 2014 08:17:19 -0800 (PST)

(elisp) `Introduction to Minibuffers' says this:

 The text in the minibuffer always starts with the "prompt string",
 the text that was specified by the program that is using the minibuffer
 to tell the user what sort of input to type.  This text is marked
 read-only so you won't accidentally delete or change it.  It is also
 marked as a field (*note Fields::), so that certain motion functions,
 including `beginning-of-line', `forward-word', `forward-sentence', and
 `forward-paragraph', stop at the boundary between the prompt and the
 actual text.

So I would expect that `backward-word' and `backward-sexp' would stop at
the field boundary, which is the end of the prompt.  `beginning-of-line'
does indeed do this, as the doc suggests.  But `backward-word' and
`backward-sexp', at least, do not - they move backward into the prompt.

Seems like this is the wrong behavior, and the doc describes the right
behavior.  But perhaps it is the other way around and this is a doc bug.

FWIW, I noticed this because I use a different Lisp symbol completion
function in the minibuffer.  It moves `backward-sexp' and later tries to
delete the text corresponding to the symbol prefix to be completed.  If
that prefix is empty then it raises the error of attempting to modify
read-only text.  If `backward-sexp' did what the doc says then it would
not leave the field and enter the prompt.  This is not important to the
bug report - just mentioning how I happened to notice this.

In GNU Emacs (i686-pc-mingw32)
 of 2014-01-07 on ODIEONE
Bzr revision: 115916 address@hidden
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --prefix=/c/Devel/emacs/binary --enable-checking=yes,glyphs
 'CFLAGS=-O0 -g3' LDFLAGS=-Lc:/Devel/emacs/lib

reply via email to

[Prev in Thread] Current Thread [Next in Thread]