Subject: bug#10789: closed (Re: bug#10789: 24.0.92; Defunct outline overlays may mess display)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 21 Mar 2012 18:59:02 +0000

Your bug report

#10789: 24.0.92; Defunct outline overlays may mess display

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
10789: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10789
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#10789: 24.0.92; Defunct outline overlays may mess display
From: Stefan Monnier <[email-masked]>
To: Andreas Politz <[email-masked]>
Cc: [email-masked]
Date: Wed, 21 Mar 2012 14:27:40 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

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

I installed a similar patch I had around, thanks,

        Stefan

Subject: 24.0.92; Defunct outline overlays may mess display
From: Andreas Politz <[email-masked]>
To: [email-masked]
Date: Sat, 11 Feb 2012 08:12:12 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

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)