Subject: bug#5584: 23.1.90; Setting enable-recursive-minibuffers to non-nil ignores minibuffer history

From: Brent Goodrick <[email-masked]>
Date: Tue, 16 Feb 2010 06:55:57 -0800

This bug report will be sent to the Free Software Foundation,
not to your local site managers!
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the [email-masked] mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug.  If you can, give
a recipe starting from `emacs -Q':

Starting from `emacs -Q' off of a freshly built Emacs from CVS on a
32-bit RHEL5 system (but the system doesn't matter since I've seen this
on Windows and 64-bit Linux):

1. Switch into the *scratch* buffer
2. Type the following:
     (setq enable-recursive-minibuffers t)
   Hit Control-J to evaluate it
3. Type M-x flush-lines RET
4. While the minibuffer is active waiting for the string for
   `flush-lines', type M-: (or its equivalent of `M-x eval-expression')
5. Type (insert "flubber") RET
6. Type RET to complete the flush-lines
7. Do steps 3 and 4 again.
8. Type M-p and notice the error message stating no previous history element,
   which is incorrect.

The reason this is an issue is that I find myself constantly needing
to type in a regular expression using `rx' syntax via

  (insert (rx ....))

and not being able to get back to that history element is a burden for 
complex rx expressions.  Not using `' seems to fix it, but then I give
up recursive minibuffers which I find very handy.

Thanks!
bg

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/home/brentg/install/Linux.i686/share/emacs/23.1.90/etc/DEBUG.

In GNU Emacs 23.1.90.1 (i686-pc-linux-gnu, GTK+ Version 2.10.4)
 of 2010-02-12 on simon
Windowing system distributor `The X.Org Foundation', version 11.0.70101000
configured using `configure  '--with-x-toolkit' '--with-xft' '--prefix=/home/brentg/install/Linux.i686''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US
  value of $XMODIFIERS: nil
  locale-coding-system: iso-latin-1-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-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
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <down-mouse-1> <mouse-1> <down-mouse-2> 
<mouse-2> C-j M-: C-g x x x <return> <up> <return> 
<up> M-x f l u s h <return> M-: M-( i n s e r t SPC 
M-( r x SPC M-" x C-b C-M-SPC C-f <backspace> " " C-b 
x C-e <return> C-b <return> x x x <return> M-: C-g 
C-p M-x f l u s h <return> M-: M-p C-g M-x r e p o 
r t - <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark set
Quit
nil
Quit
goto-history-element: Beginning of history; no preceding item
Quit [2 times]

Load-path shadows:
None found.

Features:
(shadow sort mail-extr message sendmail regexp-opt ecomplete rfc822 mml
easymenu mml-sec password-cache mm-decode mm-bodies mm-encode mailcap
mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader
gnus-util netrc time-date mm-util mail-prsvr gmm-utils wid-edit
mailheader canlock sha1 hex-util hashcash mail-utils emacsbug rx tooltip
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd font-setting
tool-bar dnd fontset image fringe lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind system-font-setting
font-render-setting gtk x-toolkit x multi-tty emacs)

--