emacs-pretest-bug
[Top][All Lists]
Advanced

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

special Emacs internal symbol named "unbound" can escape causing mayhem


From: Joe Wells
Subject: special Emacs internal symbol named "unbound" can escape causing mayhem
Date: Tue, 17 Jan 2006 03:51:16 +0000
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

In certain circumstances, the special Emacs internal symbol named
"unbound" (not interned in the standard obarray) can be obtained as a
value by ordinary Lisp code.  This causes various failures, especially
by Lisp code that tries to print this value.

Note that at least under some circumstances, the expression

  (cdr (assq 'icon-top (cadadr (current-frame-configuration))))

will return this special internal symbol.

To reproduce this bug (at least this is how I encountered it):

1. Type "C-x r f x" (frame-configuration-to-register).  This stores
   a value including the return value of
   (current-frame-configuration) in a register.

2. Type "M-x desktop-save RET RET".  This tries to save various
   aspects of Emacs's state in a file, including the value of
   register-alist.  This fails midway through formatting the contents
   of the file when it tries to print the special internal symbol
   named "unbound".  Of course, the problem is that the Lisp code
   stores this special symbol in some variable, which is then
   considered to be unbound and an error is raised when the Lisp code
   tries to use the value of the variable.

I'm using the Gentoo ebuild app-editors/emacs-22.0.50_pre20050225
which is based on a CVS snapshot from 2005-02-25.

-- 
Joe Wells

======================================================================
In GNU Emacs 22.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.6.8)
 of 2005-08-06 on colinux
Distributor `The Cygwin/X Project', version 11.0.60802000
configured using `configure '--prefix=/usr' '--host=i686-pc-linux-gnu' 
'--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' 
'--sysconfdir=/etc' '--localstatedir=/var/lib' '--build=i686-pc-linux-gnu' 
'--enable-debug' '--program-suffix=.emacs-22.0.50' '--without-carbon' 
'--disable-nls' '--with-x' '--with-xpm' '--with-toolkit-scroll-bars' 
'--with-jpeg' '--with-tiff' '--with-gif' '--with-png' '--with-x-toolkit=gtk' 
'CFLAGS= -march=pentium4 -O2 -pipe' 'build_alias=i686-pc-linux-gnu' 
'host_alias=i686-pc-linux-gnu''




reply via email to

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