[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#22544: 25.0.90; Long history items cause surprising positioning of c
From: |
Eli Zaretskii |
Subject: |
bug#22544: 25.0.90; Long history items cause surprising positioning of cursor in minibuffer |
Date: |
Wed, 03 Feb 2016 18:32:58 +0200 |
emacs -Q
Paste the following into *scratch* and evaluate it with "C-x C-e"
after the closing parenthesis:
(let ((default-file "~/rmail/FOO")
(file-name-history
'("~/rmail/FOOBAR"
"~/foo/bar/very/long/file/name/that/overflows/minibuffer/window/line/when/displayed"
"~/shorter/file/name")))
(read-file-name
(concat "Output message to mail file (default "
(file-name-nondirectory default-file)
"): ")
(file-name-directory default-file)
(abbreviate-file-name default-file)))
You should now see this in the minibuffer:
Output message to mail file (default FOO): ~/rmail/!
where ! shows the cursor position.
Now press <UP> once. The result is as expected:
Output message to mail file (default FOO): ~/rmail/FOOBAR!
with the cursor at the end of the history item. Press <UP> one more
time, which results in this:
Output message to mail file (default FOO):
~/foo/bar/very/long/file/name/that/overflows/minibuffer/window/line/when/displayed!
Still as expected. Press <UP> once more, resulting in:
Output message to mail file (default FOO):
~/foo/ba!r/very/long/file/name/that/overflows/minibuffer/window/line/when/displayed
This is somewhat unexpected, because the column of the cursor looks
random -- it is neither the same as in previous display, nor related
to anything else I can think of.
Now press <UP> one more time, and observe this result:
Output message to mail file (default FOO): ~/shorte!r/file/name
This is even less expected -- why isn't the cursor at the end of the
file name, even though it is short enough to display entirely on a
single screen line?
If the longish history item is removed before evaluating the above,
then the behavior is as expected -- Emacs places the cursor at the end
of each history item.
Clearly, the bug is not a catastrophe, but it's quite annoying to see
the cursor jump to these unexpected positions.
The test case is synthesized, but it faithfully emulates what happens
to me every time I use 'o' in Rmail to file a message in my archives.
The archive folders are just mbox files, so the 'o' command in Rmail
uses file-name-history, where I have long file names as well as short
ones.
In GNU Emacs 25.0.90.2 (i686-pc-mingw32)
of 2016-01-31 built on HOME-C4E4A596F7
Windowing system distributor 'Microsoft Corp.', version 5.1.2600
Configured using:
'configure --prefix=/d/usr --enable-checking=yes,glyphs
--with-wide-int --with-modules 'CFLAGS=-Og -gdwarf-4 -g3''
Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY ACL GNUTLS LIBXML2 ZLIB
TOOLKIT_SCROLL_BARS MODULES
Important settings:
value of $LANG: ENU
locale-coding-system: cp1255
Major mode: RMAIL
Minor modes in effect:
shell-dirtrack-mode: t
diff-auto-refine-mode: t
desktop-save-mode: t
save-place-mode: t
show-paren-mode: t
display-time-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
temp-buffer-resize-mode: t
buffer-read-only: t
line-number-mode: t
Recent messages:
Showing message 2138...done
Showing message 2139...done
Added to d:/usr/eli/rmail/GIT.rmail
Showing message 2140...done
Showing message 2141...done
Showing message 2142...done
Showing message 2143...done
No following nondeleted message
command-execute: Command attempted to use minibuffer while in minibuffer
Mark set
Load-path shadows:
d:/usr/share/emacs/site-lisp/soap-inspect hides
d:/usr/share/emacs/25.0.90/lisp/net/soap-inspect
d:/usr/share/emacs/site-lisp/soap-client hides
d:/usr/share/emacs/25.0.90/lisp/net/soap-client
Features:
(shadow emacsbug ruby-mode smie shell character-fold misearch
multi-isearch rmailout url-util url-parse url-vars rfc2104
network-stream nsm starttls tls gnutls mail-extr smtpmail auth-source
eieio eieio-core cl-macs password-cache dabbrev mailalias sendmail
shr-color color shr dom subr-x browse-url cl-seq conf-mode arc-mode
archive-mode vc-bzr org-element org-rmail org-mhe org-irc org-info
org-gnus org-docview doc-view image-mode org-bibtex bibtex org-bbdb
org-w3m org advice org-macro org-footnote org-pcomplete pcomplete
org-list org-faces org-entities org-version ob-emacs-lisp ob ob-tangle
ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint comint
ansi-color ring ob-core ob-eval org-compat org-macs org-loaddefs
find-func cal-menu calendar cal-loaddefs bat-mode make-mode parse-time
vc-cvs generic vc-svn texinfo jka-compr noutline outline bug-reference
flyspell add-log info vc vc-dispatcher vc-git diff-mode easy-mmode map
seq byte-opt gv bytecomp byte-compile cconv cl-extra qp rmailsum
rmailmm message dired-x dired format-spec rfc822 mml mml-sec epg
epg-config gnus-util mm-decode mm-bodies mm-encode mailabbrev
gmm-utils mailheader mail-parse rfc2231 rmail rfc2047 rfc2045
ietf-drums mm-util help-fns help-mode mail-prsvr mail-utils desktop
frameset server filecache mairix cus-edit cus-start cus-load wid-edit
saveplace midnight ispell generic-x cc-mode cc-fonts easymenu cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
cl-loaddefs pcase cl-lib paren battery time time-date mule-util
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel dos-w32 ls-lisp disp-table w32-win w32-vars term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese charscript case-table epa-hook jka-cmpr-hook help simple
abbrev minibuffer cl-preloaded nadvice loaddefs button faces cus-face
macroexp files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
w32notify w32 multi-tty make-network-process emacs)
Memory information:
((conses 16 1683542 243444)
(symbols 56 41206 0)
(miscs 48 3561 4743)
(strings 16 113909 44473)
(string-bytes 1 3147922)
(vectors 16 41851)
(vector-slots 8 1701426 256664)
(floats 8 497 588)
(intervals 40 326308 7211)
(buffers 856 218))
- bug#22544: 25.0.90; Long history items cause surprising positioning of cursor in minibuffer,
Eli Zaretskii <=
- bug#22544: 25.0.90; Long history items cause surprising positioning of cursor in minibuffer, Juri Linkov, 2016/02/03
- bug#22544: 25.0.90; Long history items cause surprising positioning of cursor in minibuffer, Eli Zaretskii, 2016/02/04
- bug#22544: 25.0.90; Long history items cause surprising positioning of cursor in minibuffer, Juri Linkov, 2016/02/04
- bug#22544: 25.0.90; Long history items cause surprising positioning of cursor in minibuffer, Eli Zaretskii, 2016/02/05
- bug#22544: 25.0.90; Long history items cause surprising positioning of cursor in minibuffer, Juri Linkov, 2016/02/05
- bug#22544: 25.0.90; Long history items cause surprising positioning of cursor in minibuffer, Eli Zaretskii, 2016/02/06
- bug#22544: 25.0.90; Long history items cause surprising positioning of cursor in minibuffer, Juri Linkov, 2016/02/06
- bug#22544: 25.0.90; Long history items cause surprising positioning of cursor in minibuffer, Eli Zaretskii, 2016/02/07
- bug#22544: 25.0.90; Long history items cause surprising positioning of cursor in minibuffer, Juri Linkov, 2016/02/07
- bug#22544: 25.0.90; Long history items cause surprising positioning of cursor in minibuffer, Eli Zaretskii, 2016/02/08