Subject: 24.0.92; Defunct outline overlays may mess display

From: Andreas Politz <[email-masked]>
Date: Sat, 11 Feb 2012 08:12:12 +0100

Switch to new emacs-lisp-mode buffer and insert :

---
(defun foo ()
  )
--

M-x outline-minor-mode
M-x hide-entry

Then undo as much as possible, i.e. until buffer is empty again.
Now, after a C-g and a redo, the old overlay conceals the just
undone change and it looks like this:

---
...
---

There seems to be no reason for defunct overlays to hang around,
so make them evaporate.

diff -c -L /usr/share/emacs/24.0.92/lisp/outline.el.gz -L \#\<buffer\ outline.el.gz\> /tmp/jka-com3132bAP /tmp/buffer-content-31321Ub
*** /usr/share/emacs/24.0.92/lisp/outline.el.gz
--- #<buffer outline.el.gz>
***************
*** 752,757 ****
--- 752,758 ----
      ;; belongs to the heading rather than to the entry.
      (let ((o (make-overlay from to nil 'front-advance)))
        (overlay-put o 'invisible 'outline)
+       (overlay-put o 'evaporate 'outline)
        (overlay-put o 'isearch-open-invisible
  		   (or outline-isearch-open-invisible-function
  		       'outline-isearch-open-invisible))))

Diff finished.  Sat Feb 11 08:00:23 2012

In GNU Emacs 24.0.92.1 (x86_64-pc-linux-gnu, GTK+ Version 2.20.1)
 of 2012-01-11 on cw-bkp0, modified by Debian
 (emacs-snapshot package, version 1:20120111-1+squeeze)
Windowing system distributor `The X.Org Foundation', version 11.0.10707000
configured using `configure  '--build' 'x86_64-linux-gnu' '--host' 'x86_64-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/24.0.92/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.0.92/site-lisp:/usr/share/emacs/site-lisp' '--without-compress-info' '--with-crt-dir=/usr/lib//' '--with-x=yes' '--with-x-toolkit=gtk' '--with-imagemagick=yes' 'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu' 'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' 'LDFLAGS=-g -Wl,--as-needed' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: C
  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: de_DE.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  diff-auto-refine-mode: t
  cl-format-font-lock-mode: t
  window-numbering-mode: t
  previous-window-mode: t
  ekey-mode: t
  iswitchb-mode: t
  ispell-track-input-method: t
  recentf-mode: t
  shell-dirtrack-mode: t
  TeX-PDF-mode: t
  savehist-mode: t
  global-pabbrev-mode: t
  pabbrev-mode: t
  outline-minor-mode: t
  eldoc-mode: t
  tooltip-mode: t
  mouse-wheel-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
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-q C-l C-c @ C-q C-c @ C-a C-c @ C-a C-c @ C-q C-x 
b C-g C-c @ C-a C-x b s c <return> C-/ C-g C-/ C-r 
e v M-m C-d C-d C-M-x C-x b <return> C-c @ C-q C-c 
@ C-a M-: M-p <return> C-c @ C-q C-x b <return> C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n M-x 
b r o <tab> k <return> <return> C-p C-p C-p C-p C-p 
C-p C-p C-l C-n C-p C-n C-n C-n C-n C-n C-n <return> 
T h e r e SPC s e e m s SPC t o SPC b e SPC n o SPC 
r e a s o n SPC f o r SPC C-o d e f u n c t SPC o v 
e r l a y s SPC C-M-b C-M-b C-e t o SPC h a n g SPC 
r <backspace> a r o u n d . M-q DEL , SPC s o SPC m 
a k i n g SPC t h e m SPC e v a p o r a t e SPC M-q 
C-p M-b M-b M-b M-b C-n C-e M-m M-f M-d SPC m a k e 
C-e . M-q C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p 
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-n C-a C-SPC M-> 
C-g C-u C-SPC C-e DEL SPC a n d SPC i n s e r t . DEL 
SPC DEL SPC : C-n C-n C-n C-n C-n C-n C-n C-n C-p C-p 
C-p C-p C-p C-p C-p C-p C-a C-SPC M-> C-w M-x r e p 
o r t - b u g <return>

Recent messages:
Undo!
Quit
Redo!
Mark saved where search started
outline-flag-region
nil
200 entries in the kill ring.    Type q to quit.  h for help.
Mark set
Quit
Mark set

Load-path shadows:
/usr/share/emacs/site-lisp/haskell-mode/haskell-decl-scan hides /usr/share/emacs/24.0.92/site-lisp/haskell-mode/haskell-decl-scan
/usr/share/emacs/site-lisp/haskell-mode/haskell-c hides /usr/share/emacs/24.0.92/site-lisp/haskell-mode/haskell-c
/usr/share/emacs/site-lisp/haskell-mode/haskell-ghci hides /usr/share/emacs/24.0.92/site-lisp/haskell-mode/haskell-ghci
/usr/share/emacs/site-lisp/haskell-mode/haskell-doc hides /usr/share/emacs/24.0.92/site-lisp/haskell-mode/haskell-doc
/usr/share/emacs/site-lisp/haskell-mode/haskell-indent hides /usr/share/emacs/24.0.92/site-lisp/haskell-mode/haskell-indent
/usr/share/emacs/site-lisp/haskell-mode/haskell-mode hides /usr/share/emacs/24.0.92/site-lisp/haskell-mode/haskell-mode
/usr/share/emacs/site-lisp/haskell-mode/haskell-hugs hides /usr/share/emacs/24.0.92/site-lisp/haskell-mode/haskell-hugs
/usr/share/emacs/site-lisp/haskell-mode/haskell-site-file hides /usr/share/emacs/24.0.92/site-lisp/haskell-mode/haskell-site-file
/usr/share/emacs/site-lisp/haskell-mode/haskell-cabal hides /usr/share/emacs/24.0.92/site-lisp/haskell-mode/haskell-cabal
/usr/share/emacs/site-lisp/haskell-mode/inf-haskell hides /usr/share/emacs/24.0.92/site-lisp/haskell-mode/inf-haskell
/usr/share/emacs/site-lisp/haskell-mode/haskell-font-lock hides /usr/share/emacs/24.0.92/site-lisp/haskell-mode/haskell-font-lock
/usr/share/emacs/site-lisp/haskell-mode/haskell-simple-indent hides /usr/share/emacs/24.0.92/site-lisp/haskell-mode/haskell-simple-indent
/usr/share/emacs/site-lisp/haskell-mode/haskell-indentation hides /usr/share/emacs/24.0.92/site-lisp/haskell-mode/haskell-indentation
/usr/share/emacs/24.0.92/site-lisp/cscope/xcscope hides /usr/share/emacs/site-lisp/xcscope
/usr/share/emacs/24.0.92/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/home/politza/.emacs.d/plugins/term hides /usr/share/emacs/24.0.92/lisp/term
/home/politza/.emacs.d/plugins/python/python/python hides /usr/share/emacs/24.0.92/lisp/progmodes/python
/home/politza/.emacs.d/plugins/python/python/sym-comp hides /usr/share/emacs/24.0.92/lisp/obsolete/sym-comp

Features:
(shadow mail-extr message rfc822 mml mml-sec mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev
mail-utils gmm-utils mailheader emacsbug browse-kill-ring cl-specs
edebug diff-mode diff dired-aux descr-text mule-util tabify popup
bookmark apropos imenu pp multi-isearch jka-compr find-func
vc-dispatcher vc-svn newcomment allout-widgets allout cl-format
cl-format-builtins clisp-format cl-format-def window-numbering
lib-isearch server emacs-customizations wp-customizations
view-customizations tex-customizations reftex-customizations
reftex-label-support-customizations
reftex-defining-label-environments-customizations AUCTeX-customizations
TeX-parse-customizations TeX-command-customizations
TeX-view-customizations programming-customizations tools-customizations
vc-customizations makefile-customizations ediff-customizations
ediff-window-customizations languages-customizations
python-customizations help-customizations ekey-customizations ekey
info-lookup-customizations info-customizations customize-customizations
custom-buffer-customizations apropos-customizations help-mode view
files-customizations uniquify-customizations uniquify
sunrise-customizations recentf-customizations find-file-customizations
backup-customizations external-customizations server-customizations
processes-customizations shell-customizations gud-customizations
tooltip-customizations grep-customizations compilation-customizations
comint-customizations man-customizations environment-customizations
windows-customizations minibuffer-customizations savehist-customizations
menu-customizations initialization-customizations dired-customizations
dired-x-customizations dired-details-customizations
editing-customizations yasnippet-customizations matching-customizations
isearch-customizations killing-customizations indent-customizations
emulations-customizations editing-basics-customizations
development-customizations lisp-customizations re-builder-customizations
inferior-lisp-customizations ielm-customizations ert-customizations
edebug-customizations advice-customizations extensions-customizations
eldoc-customizations cust-print-customizations data-customizations
save-place-customizations convenience-customizations
pabbrev-customizations kmacro-customizations imenu-customizations
hippie-expand-customizations lib-basic ffap-customizations
completion-customizations iswitchb-customizations iswitchb
auto-complete-customizations comm-customizations tramp-customizations
browse-url-customizations applications-customizations w3m-customizations
package-customizations mail-customizations smtpmail-customizations
sendmail-customizations ispell-customizations doc-view-customizations
calendar-customizations org-customizations org-structure-customizations
org-plain-lists-customizations org-edit-structure-customizations
org-startup-customizations org-link-customizations
org-latex-customizations org-appearance-customizations
calc-customizations recentf tree-widget w3m browse-url timezone w3m-hist
w3m-e23 w3m-ccl ccl w3m-fsf w3m-favicon w3m-image w3m-proc w3m-util
hippie-exp lib-lispext yasnippet dropdown-list tramp tramp-compat
auth-source eieio assoc gnus-util mm-util mail-prsvr password-cache
shell format-spec tramp-loaddefs tex saveplace savehist reftex
reftex-vars pabbrev thingatpt org byte-opt warnings bytecomp
byte-compile cconv macroexp ob-emacs-lisp ob-tangle ob-ref ob-lob
ob-table org-footnote org-src ob-comint ob-keys ob ob-eval org-pcomplete
pcomplete org-list org-faces org-compat org-entities org-macs noutline
outline easy-mmode cal-menu calendar cal-loaddefs lib-kbd info-look grep
compile comint eldoc-eval dired-details+ dired-details anticus edmacro
kmacro derived ffap eldoc cus-edit cus-start cus-load wid-edit cl
all-autoloads auctex-autoloads tex-site info browse-kill-ring-autoloads
c-eldoc-autoloads cl-format-autoloads company-autoloads
eldoc-eval-autoloads sunrise-x-loop-autoloads sunrise-x-loop
sunrise-commander advice help-fns advice-preload term ehelp electric
ring sort find-dired disp-table enriched dired-x easymenu dired
regexp-opt sunrise-commander-autoloads package tabulated-list w3m-load
time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
tool-bar dnd fontset image fringe lisp-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 loaddefs button faces
cus-face files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)