all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#8548: 23.3; Lisp debugger can't exit recursive edit level
@ 2011-04-25 13:02 Uday S Reddy
  2011-04-25 15:03 ` Stefan Monnier
  0 siblings, 1 reply; 2+ messages in thread
From: Uday S Reddy @ 2011-04-25 13:02 UTC (permalink / raw
  To: 8548; +Cc: U.S.Reddy

The Lisp debugger is supposed to enter a recursive editing level.  So, one
would expect that it would be possible to exit each recursive level
independently.  The original debugger implemented in Elisp used to work
fine.  But, ever since the debugger was moved to the C implementation
(probably Emacs 19), the recursive levels cannot be exited.

To reproduce the problem, do `M-: (debug)' and then type something
errorneous, e.g.,

  e RET (car 1) RET

A second recursive level gets entered.  However, exit-recursive-edit does
not do its job here.  It says "Cannot return from the debugger in an error".

Cheers,
Uday


In GNU Emacs 23.3.1 (i386-mingw-nt5.1.2600)
 of 2011-03-10 on 3249CTO
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.5) --no-opt --cflags -Ic:/imagesupport/include'

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: ENU
  value of $XMODIFIERS: nil
  locale-coding-system: cp1252
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  auto-fill-function: do-auto-fill
  savehist-mode: t
  which-function-mode: t
  tooltip-mode: t
  mouse-wheel-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-encryption-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-o TAB ( s 
e t q SPC e v a l - e x p r e s i o n - d e b u g - 
o n - e r r o r SPC n i l ) <down-mouse-1> <mouse-1> 
<escape> C-x C-x b * s c SPC <return> ( d e b u g ) 
C-j e ( + 1 SPC n i l ) <return> e e v a l - e x p 
r e s s i o n - d e b u g - o n - e r r o r <return> 
q C-p C-j C-e C-j e e v a l - e x p r e s s i o n - 
d e b u g - o n - e r r o r <return> c C-p C-p C-e 
C-j e ( s e t q SPC d <backspace> e v a l - e x p r 
e s s i o n - d e b u g - o n - e r r o r SPC n i l 
) <return> e ( + SPC 1 SPC n i l ) <return> q C-x b 
<return> C-h v d e b u g g e r - m o d e - h o o k 
<return> C-v C-p q C-h v d e b u g g e r - m o d e 
- h o o k <return> C-v C-x , q q C-x k <return> C-h 
C-g C-x o C-x C-s C-h m q C-x m <down-mouse-1> <mouse-1> 
C-x k <return> M-x r e p o r t - e m a c s SPC SPC 
<return>

Recent messages:
Loading d:/Home/udr/share/dotfiles/.vm.preferences...done
Adding vm-rfaddons-option `check-recipients'.
Adding vm-rfaddons-option `check-for-empty-subject'.
Adding vm-rfaddons-option `encode-headers'.
Adding vm-rfaddons-option `shrunken-headers'.
VM-RFADDONS: Options loaded.
Counting messages in d:/Home/udr/mail/drafts... done
Parsing d:/Home/udr/.mailrc...
Parsing d:/Home/udr/share/dotfiles/.mailrc... done
Parsing d:/Home/udr/.mailrc... done

Load-path shadows:
d:/Home/udr/share/emacs/sml-mode hides d:/gnu/emacs-23.3/../site-lisp/sml-mode
d:/Home/udr/share/emacs/savehist-20+ hides d:/gnu/emacs-23.3/../site-lisp/savehist-20+
d:/gnu/emacs-23.3/../site-lisp/longlines hides d:/gnu/emacs-23.3/lisp/longlines
d:/gnu/vm/trunk/lisp/cus-load hides d:/gnu/emacs-23.3/lisp/cus-load
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org hides d:/gnu/emacs-23.3/lisp/org/org
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-xoxo hides d:/gnu/emacs-23.3/lisp/org/org-xoxo
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-wl hides d:/gnu/emacs-23.3/lisp/org/org-wl
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-w3m hides d:/gnu/emacs-23.3/lisp/org/org-w3m
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-vm hides d:/gnu/emacs-23.3/lisp/org/org-vm
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-timer hides d:/gnu/emacs-23.3/lisp/org/org-timer
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-table hides d:/gnu/emacs-23.3/lisp/org/org-table
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-src hides d:/gnu/emacs-23.3/lisp/org/org-src
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-rmail hides d:/gnu/emacs-23.3/lisp/org/org-rmail
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-remember hides d:/gnu/emacs-23.3/lisp/org/org-remember
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-publish hides d:/gnu/emacs-23.3/lisp/org/org-publish
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-protocol hides d:/gnu/emacs-23.3/lisp/org/org-protocol
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-plot hides d:/gnu/emacs-23.3/lisp/org/org-plot
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-mouse hides d:/gnu/emacs-23.3/lisp/org/org-mouse
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-mobile hides d:/gnu/emacs-23.3/lisp/org/org-mobile
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-mhe hides d:/gnu/emacs-23.3/lisp/org/org-mhe
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-mew hides d:/gnu/emacs-23.3/lisp/org/org-mew
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-macs hides d:/gnu/emacs-23.3/lisp/org/org-macs
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-mac-message hides d:/gnu/emacs-23.3/lisp/org/org-mac-message
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-list hides d:/gnu/emacs-23.3/lisp/org/org-list
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-latex hides d:/gnu/emacs-23.3/lisp/org/org-latex
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-jsinfo hides d:/gnu/emacs-23.3/lisp/org/org-jsinfo
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-irc hides d:/gnu/emacs-23.3/lisp/org/org-irc
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-install hides d:/gnu/emacs-23.3/lisp/org/org-install
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-inlinetask hides d:/gnu/emacs-23.3/lisp/org/org-inlinetask
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-info hides d:/gnu/emacs-23.3/lisp/org/org-info
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-indent hides d:/gnu/emacs-23.3/lisp/org/org-indent
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-id hides d:/gnu/emacs-23.3/lisp/org/org-id
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-icalendar hides d:/gnu/emacs-23.3/lisp/org/org-icalendar
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-html hides d:/gnu/emacs-23.3/lisp/org/org-html
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-habit hides d:/gnu/emacs-23.3/lisp/org/org-habit
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-gnus hides d:/gnu/emacs-23.3/lisp/org/org-gnus
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-freemind hides d:/gnu/emacs-23.3/lisp/org/org-freemind
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-footnote hides d:/gnu/emacs-23.3/lisp/org/org-footnote
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-feed hides d:/gnu/emacs-23.3/lisp/org/org-feed
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-faces hides d:/gnu/emacs-23.3/lisp/org/org-faces
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-exp hides d:/gnu/emacs-23.3/lisp/org/org-exp
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-exp-blocks hides d:/gnu/emacs-23.3/lisp/org/org-exp-blocks
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-docbook hides d:/gnu/emacs-23.3/lisp/org/org-docbook
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-datetree hides d:/gnu/emacs-23.3/lisp/org/org-datetree
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-crypt hides d:/gnu/emacs-23.3/lisp/org/org-crypt
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-compat hides d:/gnu/emacs-23.3/lisp/org/org-compat
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-colview hides d:/gnu/emacs-23.3/lisp/org/org-colview
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-clock hides d:/gnu/emacs-23.3/lisp/org/org-clock
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-bibtex hides d:/gnu/emacs-23.3/lisp/org/org-bibtex
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-bbdb hides d:/gnu/emacs-23.3/lisp/org/org-bbdb
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-attach hides d:/gnu/emacs-23.3/lisp/org/org-attach
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-ascii hides d:/gnu/emacs-23.3/lisp/org/org-ascii
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-archive hides d:/gnu/emacs-23.3/lisp/org/org-archive
d:/gnu/emacs-23.3/../packages/org-7.4/lisp/org-agenda hides d:/gnu/emacs-23.3/lisp/org/org-agenda
d:/Home/udr/share/emacs/rnews hides d:/gnu/emacs-23.3/lisp/obsolete/rnews

Features:
(shadow sort message ecomplete mml mml-sec password-cache mm-decode
mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums
nnheader mm-util mail-prsvr gmm-utils wid-edit mailheader canlock hashcash
emacsbug mail-utils mailalias vm-reply u-vm-color my-vm vc-bzr sha1 hex-util
etags ps-print ps-def lpr vm-save vm-ps-print vm-rfaddons vm-menu vm-window
vm-toolbar vm-folder vm-mime vm-undo vm-virtual vm-summary-faces vm-mouse
vm-page vm-minibuf vm-message vm-misc vm-macro bbdb-vm vm-summary vm-motion
vm-autoload bbdb-snarf mail-extr rfc822 bbdb-com mailabbrev vm debug
cus-start cus-load pp multi-isearch help-mode view info easymenu warnings
server w3m-load bbdb-autoloads bbdb timezone vm-autoloads vm-version vm-vars
org-install autopair advice help-fns advice-preload easy-mmode cl cl-19
savehist tex-site tex-mik telnet movement natural-space NatSpeak sendmail
auth-source gnus-util netrc time-date epa-file epa epg epg-config ange-ftp
regexp-opt comint ring echistory chistory ehelp electric derived which-func
imenu edmacro kmacro jka-compr tooltip ediff-hook vc-hooks lisp-float-type
mwheel dos-w32 disp-table ls-lisp w32-win w32-vars 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 multi-tty emacs)

-- 





^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#8548: 23.3; Lisp debugger can't exit recursive edit level
  2011-04-25 13:02 bug#8548: 23.3; Lisp debugger can't exit recursive edit level Uday S Reddy
@ 2011-04-25 15:03 ` Stefan Monnier
  0 siblings, 0 replies; 2+ messages in thread
From: Stefan Monnier @ 2011-04-25 15:03 UTC (permalink / raw
  To: Uday S Reddy; +Cc: 8548

> The Lisp debugger is supposed to enter a recursive editing level.  So, one
> would expect that it would be possible to exit each recursive level
> independently.  The original debugger implemented in Elisp used to work
> fine.  But, ever since the debugger was moved to the C implementation
> (probably Emacs 19), the recursive levels cannot be exited.

> To reproduce the problem, do `M-: (debug)' and then type something
> errorneous, e.g.,

>   e RET (car 1) RET

> A second recursive level gets entered.  However, exit-recursive-edit does
> not do its job here.  It says "Cannot return from the debugger in an error".

This part of the C code was changed recently, so now the behavior is
that you get "Wrong type argument: listp, 1" in the minibuffer and
you're back in the first recursive level (which all sounds right).
OTOH the *Backtrace* buffer does not display the stack trace any more
and is in fundamental mode, so there's still something wrong here.

BTW, you get the same result if you hit `c' rather than calling
exit-recursive-edit.


        Stefan





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-04-25 15:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-25 13:02 bug#8548: 23.3; Lisp debugger can't exit recursive edit level Uday S Reddy
2011-04-25 15:03 ` Stefan Monnier

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.