Subject: bug#16278: 24.3.50; Crashes in GC continue

From: Richard Stallman <[email-masked]>
Date: Sat, 28 Dec 2013 07:27:27 -0500

I still get crashes in GC from trying to mark
clear-temporary-overlay-map.

Why create that symbol?  Why not use an interned symbol?  A comment
says that nested temporary maps don't work anyway.  But nested maps
could be supported by using clear-temporary-overlay-map-1,
clear-temporary-overlay-map-2, and so on, all interned.

Of course, the real bug is in GC.  The Lisp code is correct and it
ought to work.  But I don't understand the GC bug, and no one else
is fixing it.

So I propose to install this change.

=== modified file 'lisp/subr.el'
*** lisp/subr.el	2013-12-20 19:55:56 +0000
--- lisp/subr.el	2013-12-27 21:19:34 +0000
***************
*** 4280,4286 ****
  
  Optional ON-EXIT argument is a function that is called after the
  deactivation of MAP."
!   (let ((clearfun (make-symbol "clear-temporary-overlay-map")))
      ;; Don't use letrec, because equal (in add/remove-hook) would get trapped
      ;; in a cycle.
      (fset clearfun
--- 4280,4286 ----
  
  Optional ON-EXIT argument is a function that is called after the
  deactivation of MAP."
!   (let ((clearfun 'clear-temporary-overlay-map))
      ;; Don't use letrec, because equal (in add/remove-hook) would get trapped
      ;; in a cycle.
      (fset clearfun

In GNU Emacs 24.3.50.18 (mips64el-unknown-linux-gnu, GTK+ Version 2.20.1)
 of 2013-12-14 on chiefs-gnewsense
Bzr revision: 115526 [email-masked]
System Description:	gNewSense GNU/Linux 3.0 (parkes)

Configured using:
 `configure 'CFLAGS=-g -O0''

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  gpm-mouse-mode: t
  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
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent input:
l l SPC m e SPC t h e SPC n a m e SPC o f SPC O N E 
SPC s p e c i f i c SPC s o u r c e SPC f i l e SPC 
t h a t SPC h a s RET t h i s SPC k i n d SPC f SPC 
DEL DEL o f SPC n o t c i e ? C-b C-b C-b C-t C-e RET 
C-c C-c C-x b c a l l s RET C-p C-p C-@ C-n C-n C-n 
C-n C-w C-x C-s C-p C-p C-p C-@ C-e ESC w C-x 4 m C-x 
o C-p C-@ C-n C-n C-w C-x C-s C-x b R TAB RET C-x 1 
n n n n n n n n C-l C-x C-s C-x d e m a c s - b z r 
/ t r u n k / l s p DEL DEL i s p RET ESC x g r e p 
RET c l e a r - y e k p DEL DEL DEL DEL t e m p o r 
a r y - o v e r l a y - m a p SPC * / e l SPC * / * 
. e l RET ESC x g r e p RET ESC p ESC b ESC b DEL . 
ESC f C-k RET C-x o C-u C-n RET C-x 1 ESC v C-a C-u 
C-v C-u C-v C-u C-v C-u C-v C-a C-u C-v C-u C-v C-u 
C-v C-u C-v C-u C-p C-u C-v C-u C-v C-u C-v C-u C-v 
C-u C-v C-u C-v ESC x r e p o r t SPC e m a c s SPC 
b u g RET

Recent messages:
Mark set
Auto-saving...done
Mark set
Saving file /home/rms/calls...
Wrote /home/rms/calls
Saving file /home/rms/RMAIL...
Wrote /home/rms/RMAIL [2 times]
Grep exited abnormally with code 2
Grep finished (matches found)
Mark set

Load-path shadows:
/home/rms/emacs-bzr/trunk/lisp/leim/quail/lao hides /home/rms/emacs-bzr/trunk/lisp/language/lao
/home/rms/emacs-bzr/trunk/lisp/leim/quail/georgian hides /home/rms/emacs-bzr/trunk/lisp/language/georgian
/home/rms/emacs-bzr/trunk/lisp/leim/quail/thai hides /home/rms/emacs-bzr/trunk/lisp/language/thai
/home/rms/emacs-bzr/trunk/lisp/leim/quail/ethiopic hides /home/rms/emacs-bzr/trunk/lisp/language/ethiopic
/home/rms/emacs-bzr/trunk/lisp/leim/quail/japanese hides /home/rms/emacs-bzr/trunk/lisp/language/japanese
/home/rms/emacs-bzr/trunk/lisp/leim/quail/cyrillic hides /home/rms/emacs-bzr/trunk/lisp/language/cyrillic
/home/rms/emacs-bzr/trunk/lisp/leim/quail/indian hides /home/rms/emacs-bzr/trunk/lisp/language/indian
/home/rms/emacs-bzr/trunk/lisp/leim/quail/hebrew hides /home/rms/emacs-bzr/trunk/lisp/language/hebrew
/home/rms/emacs-bzr/trunk/lisp/leim/quail/greek hides /home/rms/emacs-bzr/trunk/lisp/language/greek
/home/rms/emacs-bzr/trunk/lisp/leim/quail/czech hides /home/rms/emacs-bzr/trunk/lisp/language/czech
/home/rms/emacs-bzr/trunk/lisp/leim/quail/slovak hides /home/rms/emacs-bzr/trunk/lisp/language/slovak
/home/rms/emacs-bzr/trunk/lisp/leim/quail/tibetan hides /home/rms/emacs-bzr/trunk/lisp/language/tibetan

Features:
(tabify man goto-addr sh-script smie executable apropos smerge-mode
cl-macs gv vc-sccs vc-svn vc-dir ewoc bug-reference whitespace vc-rcs
js json imenu cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs arc-mode archive-mode tex-mode
latexenc ox-latex ox-icalendar ox-html ox-ascii ox-publish ox novice
view wid-edit etags log-edit diff-mode org-element org-rmail org-mhe
org-irc org-info org-gnus org-docview doc-view image-mode cl-loaddefs
cl-lib org-bibtex bibtex org-bbdb org-w3m org org-macro org-footnote
org-pcomplete org-list org-faces org-entities noutline outline
org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table
ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs
org-loaddefs ispell ffap thingatpt url-parse auth-source eieio
byte-opt bytecomp byte-compile cconv eieio-core password-cache
url-vars parse-time vc-cvs jka-compr gnus-util mailcap cal-move
cal-menu calendar cal-loaddefs dired-aux mule-util quail rmailout
sgml-mode dabbrev rmailsum pp compare-w add-log log-view easy-mmode
pcvs-util vc vc-dispatcher vc-bzr find-func mail-extr shadow emacsbug
help-mode misearch multi-isearch epa-mail epa derived epg epg-config
shell pcomplete grep compile comint ansi-color ring mailalias qp
rmailmm message sendmail format-spec rfc822 mml easymenu mml-sec
mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader
mail-parse rfc2231 dired t-mouse package rmailedit rmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date paren
cus-start cus-load advice help-fns tooltip electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
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
minibuffer 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 make-network-process
dbusbind gfilenotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.