* bug#25828: 25.1; remaining errors from shr calling set-window-buffer-p in dedicated window
@ 2017-02-21 11:34 David Bremner
2017-02-25 8:27 ` Eli Zaretskii
0 siblings, 1 reply; 3+ messages in thread
From: David Bremner @ 2017-02-21 11:34 UTC (permalink / raw)
To: 25828
[-- Attachment #1.1: Type: text/plain, Size: 800 bytes --]
In https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24950 I reported an
error resulting from shr calling set-window-buffer-p in a dedicated
window. Eli provided a patch for that, which works great for that code
path. Unfortunately there are at least two more places in the shr code
with the same issue. A notmuch user reported crashes rendering html on
one of those other code paths. I have not produced a recipe for
duplicating the problem without notmuch, but copying Eli's patch into
these other two code paths fixes the problem. I have attached the diff
against emacs-25.2-rc1-14-gec4226d810. Both added calls to
set-window-dedicated-p are inside save-window-excursion. It occurs to
me that maybe save-window-excursion should call set-window-dedicated-p,
but I don't know the full implications.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: shr-diff.diff --]
[-- Type: text/x-diff, Size: 966 bytes --]
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index 6c35a33c9c..2bc37c64bd 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -1993,6 +1993,9 @@ shr-pixel-buffer-width
(if (get-buffer-window)
(car (window-text-pixel-size nil (point-min) (point-max)))
(save-window-excursion
+ ;; Avoid errors if the selected window is a dedicated one,
+ ;; and they just want to insert a document into it.
+ (set-window-dedicated-p nil nil)
(set-window-buffer nil (current-buffer))
(car (window-text-pixel-size nil (point-min) (point-max)))))))
@@ -2036,6 +2039,9 @@ shr-render-td-1
(shr-indentation 0))
(shr-descend dom))
(save-window-excursion
+ ;; Avoid errors if the selected window is a dedicated one,
+ ;; and they just want to insert a document into it.
+ (set-window-dedicated-p nil nil)
(set-window-buffer nil (current-buffer))
(unless fill
(setq natural-width
[-- Attachment #1.3: Type: text/plain, Size: 21389 bytes --]
Configured using:
'configure --build x86_64-linux-gnu --prefix=/usr
--sharedstatedir=/var/lib --libexecdir=/usr/lib
--localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --with-pop=yes
--enable-locallisppath=/etc/emacs25:/etc/emacs:/usr/local/share/emacs/25.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/25.1/site-lisp:/usr/share/emacs/site-lisp
--with-sound=alsa --build x86_64-linux-gnu --prefix=/usr
--sharedstatedir=/var/lib --libexecdir=/usr/lib
--localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --with-pop=yes
--enable-locallisppath=/etc/emacs25:/etc/emacs:/usr/local/share/emacs/25.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/25.1/site-lisp:/usr/share/emacs/site-lisp
--with-sound=alsa --with-x=yes --with-x-toolkit=gtk3
--with-toolkit-scroll-bars 'CFLAGS=-g -O2
-fdebug-prefix-map=/build/emacs25-Fs4LPA/emacs25-25.1+1=. -fstack-protector-strong
-Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
-D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11
Important settings:
value of $LANG: en_CA.UTF-8
locale-coding-system: utf-8-unix
Major mode: notmuch-show
Minor modes in effect:
TeX-PDF-mode: t
magit-auto-revert-mode: t
global-git-commit-mode: t
async-bytecomp-package-mode: t
shell-dirtrack-mode: t
diff-auto-refine-mode: t
tracking-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-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
buffer-read-only: t
line-number-mode: t
visual-line-mode: t
transient-mark-mode: t
Recent messages:
next-line: End of buffer [8 times]
Mark set [3 times]
Sending...
Mark set [2 times]
Sending via mail...
Mark set
Doing Fcc...
Sending...done
c 0 is undefined
Stashed: id:87y40kw3f2.fsf@tethera.net
Load-path shadows:
/usr/share/emacs/25.1/site-lisp/elpa/jabber-0.8.92/fsm hides /usr/share/emacs/25.1/site-lisp/elpa/fsm-0.2.1/fsm
/usr/share/emacs/25.1/site-lisp/elpa/magit-2.9.0/magit-popup hides /usr/share/emacs/25.1/site-lisp/elpa/magit-popup-2.9.0/magit-popup
/usr/share/org-mode/lisp/htmlize hides /usr/share/emacs25/site-lisp/emacs-goodies-el/htmlize
/home/bremner/.emacs.d/elpa/csv-mode-1.5/csv-mode hides /usr/share/emacs25/site-lisp/emacs-goodies-el/csv-mode
/usr/share/emacs25/site-lisp/emacs-goodies-el/all hides /usr/share/emacs/25.1/site-lisp/elpa/company-0.8.12/all
/usr/share/emacs25/site-lisp/cmake-data/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/usr/share/emacs/25.1/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs25/site-lisp/flim/hex-util hides /usr/share/emacs/25.1/lisp/hex-util
/usr/share/emacs25/site-lisp/flim/md4 hides /usr/share/emacs/25.1/lisp/md4
/usr/share/emacs/site-lisp/rst hides /usr/share/emacs/25.1/lisp/textmodes/rst
/usr/share/emacs25/site-lisp/org-mode/ob-table hides /usr/share/emacs/25.1/lisp/org/ob-table
/usr/share/emacs25/site-lisp/org-mode/ob-mscgen hides /usr/share/emacs/25.1/lisp/org/ob-mscgen
/usr/share/emacs25/site-lisp/org-mode/org-rmail hides /usr/share/emacs/25.1/lisp/org/org-rmail
/usr/share/emacs25/site-lisp/org-mode/org-pcomplete hides /usr/share/emacs/25.1/lisp/org/org-pcomplete
/usr/share/emacs25/site-lisp/org-mode/org-clock hides /usr/share/emacs/25.1/lisp/org/org-clock
/usr/share/emacs25/site-lisp/org-mode/ox-beamer hides /usr/share/emacs/25.1/lisp/org/ox-beamer
/usr/share/emacs25/site-lisp/org-mode/ob-sass hides /usr/share/emacs/25.1/lisp/org/ob-sass
/usr/share/emacs25/site-lisp/org-mode/ob-fortran hides /usr/share/emacs/25.1/lisp/org/ob-fortran
/usr/share/emacs25/site-lisp/org-mode/org-macs hides /usr/share/emacs/25.1/lisp/org/org-macs
/usr/share/emacs25/site-lisp/org-mode/org-entities hides /usr/share/emacs/25.1/lisp/org/org-entities
/usr/share/emacs25/site-lisp/org-mode/org-capture hides /usr/share/emacs/25.1/lisp/org/org-capture
/usr/share/emacs25/site-lisp/org-mode/ob-lilypond hides /usr/share/emacs/25.1/lisp/org/ob-lilypond
/usr/share/emacs25/site-lisp/org-mode/org-info hides /usr/share/emacs/25.1/lisp/org/org-info
/usr/share/emacs25/site-lisp/org-mode/org-bbdb hides /usr/share/emacs/25.1/lisp/org/org-bbdb
/usr/share/emacs25/site-lisp/org-mode/ob-js hides /usr/share/emacs/25.1/lisp/org/ob-js
/usr/share/emacs25/site-lisp/org-mode/ob-dot hides /usr/share/emacs/25.1/lisp/org/ob-dot
/usr/share/emacs25/site-lisp/org-mode/ob-ledger hides /usr/share/emacs/25.1/lisp/org/ob-ledger
/usr/share/emacs25/site-lisp/org-mode/ox-md hides /usr/share/emacs/25.1/lisp/org/ox-md
/usr/share/emacs25/site-lisp/org-mode/org-docview hides /usr/share/emacs/25.1/lisp/org/org-docview
/usr/share/emacs25/site-lisp/org-mode/ob-plantuml hides /usr/share/emacs/25.1/lisp/org/ob-plantuml
/usr/share/emacs25/site-lisp/org-mode/ob-awk hides /usr/share/emacs/25.1/lisp/org/ob-awk
/usr/share/emacs25/site-lisp/org-mode/ob-clojure hides /usr/share/emacs/25.1/lisp/org/ob-clojure
/usr/share/emacs25/site-lisp/org-mode/ob-screen hides /usr/share/emacs/25.1/lisp/org/ob-screen
/usr/share/emacs25/site-lisp/org-mode/ob-eval hides /usr/share/emacs/25.1/lisp/org/ob-eval
/usr/share/emacs25/site-lisp/org-mode/org-ctags hides /usr/share/emacs/25.1/lisp/org/org-ctags
/usr/share/emacs25/site-lisp/org-mode/org-attach hides /usr/share/emacs/25.1/lisp/org/org-attach
/usr/share/emacs25/site-lisp/org-mode/org-plot hides /usr/share/emacs/25.1/lisp/org/org-plot
/usr/share/emacs25/site-lisp/org-mode/org-id hides /usr/share/emacs/25.1/lisp/org/org-id
/usr/share/emacs25/site-lisp/org-mode/ob-gnuplot hides /usr/share/emacs/25.1/lisp/org/ob-gnuplot
/usr/share/emacs25/site-lisp/org-mode/ob-emacs-lisp hides /usr/share/emacs/25.1/lisp/org/ob-emacs-lisp
/usr/share/emacs25/site-lisp/org-mode/ob-makefile hides /usr/share/emacs/25.1/lisp/org/ob-makefile
/usr/share/emacs25/site-lisp/org-mode/ob-maxima hides /usr/share/emacs/25.1/lisp/org/ob-maxima
/usr/share/emacs25/site-lisp/org-mode/org-timer hides /usr/share/emacs/25.1/lisp/org/org-timer
/usr/share/emacs25/site-lisp/org-mode/ox-odt hides /usr/share/emacs/25.1/lisp/org/ox-odt
/usr/share/emacs25/site-lisp/org-mode/org-mouse hides /usr/share/emacs/25.1/lisp/org/org-mouse
/usr/share/emacs25/site-lisp/org-mode/org-agenda hides /usr/share/emacs/25.1/lisp/org/org-agenda
/usr/share/emacs25/site-lisp/org-mode/org-install hides /usr/share/emacs/25.1/lisp/org/org-install
/usr/share/emacs25/site-lisp/org-mode/org-bibtex hides /usr/share/emacs/25.1/lisp/org/org-bibtex
/usr/share/emacs25/site-lisp/org-mode/ob-scala hides /usr/share/emacs/25.1/lisp/org/ob-scala
/usr/share/emacs25/site-lisp/org-mode/ob-haskell hides /usr/share/emacs/25.1/lisp/org/ob-haskell
/usr/share/emacs25/site-lisp/org-mode/org-table hides /usr/share/emacs/25.1/lisp/org/org-table
/usr/share/emacs25/site-lisp/org-mode/ob-ditaa hides /usr/share/emacs/25.1/lisp/org/ob-ditaa
/usr/share/emacs25/site-lisp/org-mode/org-gnus hides /usr/share/emacs/25.1/lisp/org/org-gnus
/usr/share/emacs25/site-lisp/org-mode/org-eshell hides /usr/share/emacs/25.1/lisp/org/org-eshell
/usr/share/emacs25/site-lisp/org-mode/ob-picolisp hides /usr/share/emacs/25.1/lisp/org/ob-picolisp
/usr/share/emacs25/site-lisp/org-mode/org-mhe hides /usr/share/emacs/25.1/lisp/org/org-mhe
/usr/share/emacs25/site-lisp/org-mode/ox-texinfo hides /usr/share/emacs/25.1/lisp/org/ox-texinfo
/usr/share/emacs25/site-lisp/org-mode/ob-keys hides /usr/share/emacs/25.1/lisp/org/ob-keys
/usr/share/emacs25/site-lisp/org-mode/ob-octave hides /usr/share/emacs/25.1/lisp/org/ob-octave
/usr/share/emacs25/site-lisp/org-mode/org-protocol hides /usr/share/emacs/25.1/lisp/org/org-protocol
/usr/share/emacs25/site-lisp/org-mode/org-datetree hides /usr/share/emacs/25.1/lisp/org/org-datetree
/usr/share/emacs25/site-lisp/org-mode/ob-core hides /usr/share/emacs/25.1/lisp/org/ob-core
/usr/share/emacs25/site-lisp/org-mode/ob-lob hides /usr/share/emacs/25.1/lisp/org/ob-lob
/usr/share/emacs25/site-lisp/org-mode/ob-latex hides /usr/share/emacs/25.1/lisp/org/ob-latex
/usr/share/emacs25/site-lisp/org-mode/org-footnote hides /usr/share/emacs/25.1/lisp/org/org-footnote
/usr/share/emacs25/site-lisp/org-mode/org-w3m hides /usr/share/emacs/25.1/lisp/org/org-w3m
/usr/share/emacs25/site-lisp/org-mode/org-archive hides /usr/share/emacs/25.1/lisp/org/org-archive
/usr/share/emacs25/site-lisp/org-mode/org-faces hides /usr/share/emacs/25.1/lisp/org/org-faces
/usr/share/emacs25/site-lisp/org-mode/org-list hides /usr/share/emacs/25.1/lisp/org/org-list
/usr/share/emacs25/site-lisp/org-mode/ob-comint hides /usr/share/emacs/25.1/lisp/org/ob-comint
/usr/share/emacs25/site-lisp/org-mode/org-indent hides /usr/share/emacs/25.1/lisp/org/org-indent
/usr/share/emacs25/site-lisp/org-mode/ob-org hides /usr/share/emacs/25.1/lisp/org/ob-org
/usr/share/emacs25/site-lisp/org-mode/org-inlinetask hides /usr/share/emacs/25.1/lisp/org/org-inlinetask
/usr/share/emacs25/site-lisp/org-mode/org-compat hides /usr/share/emacs/25.1/lisp/org/org-compat
/usr/share/emacs25/site-lisp/org-mode/ob-io hides /usr/share/emacs/25.1/lisp/org/ob-io
/usr/share/emacs25/site-lisp/org-mode/org-mobile hides /usr/share/emacs/25.1/lisp/org/org-mobile
/usr/share/emacs25/site-lisp/org-mode/ob-scheme hides /usr/share/emacs/25.1/lisp/org/ob-scheme
/usr/share/emacs25/site-lisp/org-mode/ob-python hides /usr/share/emacs/25.1/lisp/org/ob-python
/usr/share/emacs25/site-lisp/org-mode/ox-html hides /usr/share/emacs/25.1/lisp/org/ox-html
/usr/share/emacs25/site-lisp/org-mode/ob-java hides /usr/share/emacs/25.1/lisp/org/ob-java
/usr/share/emacs25/site-lisp/org-mode/org-colview hides /usr/share/emacs/25.1/lisp/org/org-colview
/usr/share/emacs25/site-lisp/org-mode/ob-ruby hides /usr/share/emacs/25.1/lisp/org/ob-ruby
/usr/share/emacs25/site-lisp/org-mode/ox-latex hides /usr/share/emacs/25.1/lisp/org/ox-latex
/usr/share/emacs25/site-lisp/org-mode/ox hides /usr/share/emacs/25.1/lisp/org/ox
/usr/share/emacs25/site-lisp/org-mode/ob-ref hides /usr/share/emacs/25.1/lisp/org/ob-ref
/usr/share/emacs25/site-lisp/org-mode/org-macro hides /usr/share/emacs/25.1/lisp/org/org-macro
/usr/share/emacs25/site-lisp/org-mode/org hides /usr/share/emacs/25.1/lisp/org/org
/usr/share/emacs25/site-lisp/org-mode/ob-css hides /usr/share/emacs/25.1/lisp/org/ob-css
/usr/share/emacs25/site-lisp/org-mode/ob-shen hides /usr/share/emacs/25.1/lisp/org/ob-shen
/usr/share/emacs25/site-lisp/org-mode/org-irc hides /usr/share/emacs/25.1/lisp/org/org-irc
/usr/share/emacs25/site-lisp/org-mode/ob-sql hides /usr/share/emacs/25.1/lisp/org/ob-sql
/usr/share/emacs25/site-lisp/org-mode/org-element hides /usr/share/emacs/25.1/lisp/org/org-element
/usr/share/emacs25/site-lisp/org-mode/ob hides /usr/share/emacs/25.1/lisp/org/ob
/usr/share/emacs25/site-lisp/org-mode/ob-sqlite hides /usr/share/emacs/25.1/lisp/org/ob-sqlite
/usr/share/emacs25/site-lisp/org-mode/ox-publish hides /usr/share/emacs/25.1/lisp/org/ox-publish
/usr/share/emacs25/site-lisp/org-mode/ob-tangle hides /usr/share/emacs/25.1/lisp/org/ob-tangle
/usr/share/emacs25/site-lisp/org-mode/ob-lisp hides /usr/share/emacs/25.1/lisp/org/ob-lisp
/usr/share/emacs25/site-lisp/org-mode/ob-exp hides /usr/share/emacs/25.1/lisp/org/ob-exp
/usr/share/emacs25/site-lisp/org-mode/org-crypt hides /usr/share/emacs/25.1/lisp/org/org-crypt
/usr/share/emacs25/site-lisp/org-mode/ob-perl hides /usr/share/emacs/25.1/lisp/org/ob-perl
/usr/share/emacs25/site-lisp/org-mode/org-src hides /usr/share/emacs/25.1/lisp/org/org-src
/usr/share/emacs25/site-lisp/org-mode/ox-icalendar hides /usr/share/emacs/25.1/lisp/org/ox-icalendar
/usr/share/emacs25/site-lisp/org-mode/org-loaddefs hides /usr/share/emacs/25.1/lisp/org/org-loaddefs
/usr/share/emacs25/site-lisp/org-mode/ob-ocaml hides /usr/share/emacs/25.1/lisp/org/ob-ocaml
/usr/share/emacs25/site-lisp/org-mode/ox-ascii hides /usr/share/emacs/25.1/lisp/org/ox-ascii
/usr/share/emacs25/site-lisp/org-mode/ob-R hides /usr/share/emacs/25.1/lisp/org/ob-R
/usr/share/emacs25/site-lisp/org-mode/ob-C hides /usr/share/emacs/25.1/lisp/org/ob-C
/usr/share/emacs25/site-lisp/org-mode/org-version hides /usr/share/emacs/25.1/lisp/org/org-version
/usr/share/emacs25/site-lisp/org-mode/ob-asymptote hides /usr/share/emacs/25.1/lisp/org/ob-asymptote
/usr/share/emacs25/site-lisp/org-mode/org-habit hides /usr/share/emacs/25.1/lisp/org/org-habit
/usr/share/emacs25/site-lisp/org-mode/ob-matlab hides /usr/share/emacs/25.1/lisp/org/ob-matlab
/usr/share/emacs25/site-lisp/org-mode/ox-org hides /usr/share/emacs/25.1/lisp/org/ox-org
/usr/share/emacs25/site-lisp/org-mode/ox-man hides /usr/share/emacs/25.1/lisp/org/ox-man
/usr/share/emacs25/site-lisp/org-mode/ob-calc hides /usr/share/emacs/25.1/lisp/org/ob-calc
/usr/share/emacs25/site-lisp/org-mode/org-feed hides /usr/share/emacs/25.1/lisp/org/org-feed
/usr/share/emacs25/site-lisp/flim/sasl-cram hides /usr/share/emacs/25.1/lisp/net/sasl-cram
/usr/share/emacs25/site-lisp/flim/sasl hides /usr/share/emacs/25.1/lisp/net/sasl
/usr/share/emacs25/site-lisp/flim/sasl-digest hides /usr/share/emacs/25.1/lisp/net/sasl-digest
/usr/share/emacs25/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/25.1/lisp/net/sasl-ntlm
/usr/share/emacs25/site-lisp/flim/hmac-def hides /usr/share/emacs/25.1/lisp/net/hmac-def
/usr/share/emacs25/site-lisp/flim/hmac-md5 hides /usr/share/emacs/25.1/lisp/net/hmac-md5
/usr/share/emacs25/site-lisp/flim/ntlm hides /usr/share/emacs/25.1/lisp/net/ntlm
/usr/share/emacs/25.1/site-lisp/elpa/let-alist-1.0.4/let-alist hides /usr/share/emacs/25.1/lisp/emacs-lisp/let-alist
/usr/share/emacs/25.1/site-lisp/elpa/seq-2.19/seq hides /usr/share/emacs/25.1/lisp/emacs-lisp/seq
/usr/share/emacs25/site-lisp/auctex/prv-emacs hides /usr/share/emacs/site-lisp/auctex/prv-emacs
/usr/share/emacs25/site-lisp/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl
/usr/share/emacs25/site-lisp/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style
/usr/share/emacs25/site-lisp/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex
/usr/share/emacs25/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik
/usr/share/emacs25/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar
/usr/share/emacs25/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex
/usr/share/emacs25/site-lisp/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en
/usr/share/emacs25/site-lisp/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp
/usr/share/emacs25/site-lisp/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font
/usr/share/emacs25/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf
/usr/share/emacs25/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite
/usr/share/emacs25/site-lisp/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info
/usr/share/emacs25/site-lisp/auctex/plain-tex hides /usr/share/emacs/site-lisp/auctex/plain-tex
/usr/share/emacs25/site-lisp/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp
/usr/share/emacs25/site-lisp/auctex/preview hides /usr/share/emacs/site-lisp/auctex/preview
/usr/share/emacs25/site-lisp/auctex/context hides /usr/share/emacs/site-lisp/auctex/context
/usr/share/emacs25/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold
/usr/share/emacs25/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt
/usr/share/emacs25/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x
/usr/share/emacs25/site-lisp/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex
Features:
(shadow emacsbug browse-kill-ring pcmpl-unix pcmpl-gnu debian-bug
debian-changelog-mode calccomp calc-arith calc-misc calc-map calc-stat
calc-vec calc-aent dired-aux texmathp preview prv-emacs tex-buf
font-latex latex tex-style tex dbus xml tex-mode latexenc bookmark pp
org-capture gnus-art mm-uu mml2015 gnus-sum gnus-group gnus-undo
gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo
gnus-spec gnus-int gnus-range gnus-win gnus gnus-ems nnheader inline url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf rst derived disp-table org-colview calc-undo calc-alg
calc-ext calc-menu calc calc-loaddefs calc-macs org-table filecache
network-stream nsm starttls racket-mode racket-bug-report
racket-collection tq racket-profile racket-imenu imenu racket-edit
hideshow racket-complete racket-repl ido racket-common racket-indent
racket-font-lock racket-util racket-keywords-and-builtins racket-custom
parse-time qp tabify ledger-mode ledger-check ledger-schedule
ledger-xact ledger-texi ledger-test ledger-sort ledger-report
ledger-reconcile ledger-post ledger-occur ledger-init ledger-fontify
ledger-state ledger-navigate ledger-fonts ledger-exec ledger-context
ledger-complete ledger-commodities esh-var esh-io esh-cmd esh-opt
esh-ext esh-proc esh-groups eshell esh-module esh-mode esh-arg esh-util
cus-edit cus-start cus-load ledger-regex debug eieio-opt speedbar
sb-image ezimage dframe cal-move markdown-mode make-mode message-templ
sh-script smie executable grep magit-blame magit-stash magit-bisect
magit-remote magit-commit magit-sequence magit magit-apply magit-wip
magit-log magit-diff smerge-mode magit-core magit-autorevert autorevert
filenotify magit-process magit-margin magit-mode magit-git magit-section
magit-utils magit-popup git-commit log-edit pcvs-util add-log
with-editor async-bytecomp async tramp-sh whitespace compile misearch
multi-isearch cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs org-clock view cal-china lunar solar
cal-dst cal-bahai cal-islam cal-hebrew holidays hol-loaddefs cal-iso
vc-git org-rmail org-mhe org-irc org-info org-gnus org-docview doc-view
jka-compr image-mode org-bibtex bibtex org-bbdb org-w3m org-agenda
mm-archive url-util url-parse url-vars shr-color shr dom subr-x
browse-url sendmail sort company-files company-oddmuse company-keywords
company-etags etags xref project company-gtags company-dabbrev-code
company-dabbrev company-capf company-cmake company-ropemacs
company-xcode company-clang company-semantic company-eclim
company-template company-css company-nxml company-bbdb company mail-extr
edmacro kmacro notmuch-jump notmuch hl-line notmuch-message
notmuch-hello wid-edit notmuch-tree notmuch-show notmuch-print
notmuch-crypto notmuch-mua notmuch-draft notmuch-maildir-fcc
notmuch-address notmuch-company notmuch-parser notmuch-wash coolj
notmuch-query goto-addr icalendar diary-lib diary-loaddefs notmuch-tag
crm notmuch-lib notmuch-version notmuch-compat cl message dired rfc822
mml mailabbrev mail-utils gmm-utils mailheader mm-view mml-smime mml-sec
epg smime dig mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231
rfc2047 rfc2045 ietf-drums cursor-sensor minibuffer-complete-cycle
server indirect-region tempo org-notmuch org-element avl-tree 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 tramp tramp-compat auth-source
cl-seq eieio eieio-core cl-macs gnus-util time-date mm-util help-fns
mail-prsvr password-cache tramp-loaddefs trampver shell pcomplete comint
ansi-color ob-core ob-eval org-compat org-macs org-loaddefs format-spec
find-func cal-menu calendar cal-loaddefs rx vc vc-dispatcher
circe-color-nicks color circe-chanop circe advice diff-mode
lui-irc-colors irc make-tls-process tls gnutls lcs lui-format lui
tracking shorten thingatpt paren flyspell ispell ring circe-compat
finder-inf muse-autoloads package epg-config seq seq-25 byte-opt gv
bytecomp byte-compile cl-extra help-mode easymenu cconv cl-loaddefs
pcase cl-lib debian-el debian-el-loaddefs s ucs-normalize org-install
haskell-mode-autoloads emacs-goodies-el emacs-goodies-custom
emacs-goodies-loaddefs easy-mmode dpkg-dev-el dpkg-dev-el-loaddefs
dash-functional dash preview-latex tex-site auto-loads mule-util tooltip
eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer cl-preloaded 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
dbusbind inotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)
Memory information:
((conses 16 3519340 235888)
(symbols 48 64348 2)
(miscs 40 46989 3711)
(strings 32 313297 125973)
(string-bytes 1 12186097)
(vectors 16 118270)
(vector-slots 8 2459973 123628)
(floats 8 5420 3349)
(intervals 56 309816 4143)
(buffers 976 335))
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 658 bytes --]
^ permalink raw reply related [flat|nested] 3+ messages in thread
* bug#25828: 25.1; remaining errors from shr calling set-window-buffer-p in dedicated window
2017-02-21 11:34 bug#25828: 25.1; remaining errors from shr calling set-window-buffer-p in dedicated window David Bremner
@ 2017-02-25 8:27 ` Eli Zaretskii
2017-03-04 10:21 ` Eli Zaretskii
0 siblings, 1 reply; 3+ messages in thread
From: Eli Zaretskii @ 2017-02-25 8:27 UTC (permalink / raw)
To: David Bremner, Lars Ingebrigtsen; +Cc: 25828
> From: David Bremner <david@tethera.net>
> Date: Tue, 21 Feb 2017 07:34:39 -0400
>
> In https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24950 I reported an
> error resulting from shr calling set-window-buffer-p in a dedicated
> window. Eli provided a patch for that, which works great for that code
> path. Unfortunately there are at least two more places in the shr code
> with the same issue. A notmuch user reported crashes rendering html on
> one of those other code paths. I have not produced a recipe for
> duplicating the problem without notmuch, but copying Eli's patch into
> these other two code paths fixes the problem. I have attached the diff
> against emacs-25.2-rc1-14-gec4226d810. Both added calls to
> set-window-dedicated-p are inside save-window-excursion. It occurs to
> me that maybe save-window-excursion should call set-window-dedicated-p,
> but I don't know the full implications.
>
> diff --git a/lisp/net/shr.el b/lisp/net/shr.el
> index 6c35a33c9c..2bc37c64bd 100644
> --- a/lisp/net/shr.el
> +++ b/lisp/net/shr.el
> @@ -1993,6 +1993,9 @@ shr-pixel-buffer-width
> (if (get-buffer-window)
> (car (window-text-pixel-size nil (point-min) (point-max)))
> (save-window-excursion
> + ;; Avoid errors if the selected window is a dedicated one,
> + ;; and they just want to insert a document into it.
> + (set-window-dedicated-p nil nil)
> (set-window-buffer nil (current-buffer))
> (car (window-text-pixel-size nil (point-min) (point-max)))))))
>
> @@ -2036,6 +2039,9 @@ shr-render-td-1
> (shr-indentation 0))
> (shr-descend dom))
> (save-window-excursion
> + ;; Avoid errors if the selected window is a dedicated one,
> + ;; and they just want to insert a document into it.
> + (set-window-dedicated-p nil nil)
> (set-window-buffer nil (current-buffer))
> (unless fill
> (setq natural-width
Lars, any objections to pushing this?
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#25828: 25.1; remaining errors from shr calling set-window-buffer-p in dedicated window
2017-02-25 8:27 ` Eli Zaretskii
@ 2017-03-04 10:21 ` Eli Zaretskii
0 siblings, 0 replies; 3+ messages in thread
From: Eli Zaretskii @ 2017-03-04 10:21 UTC (permalink / raw)
To: larsi; +Cc: david, 25828-done
> Date: Sat, 25 Feb 2017 10:27:02 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 25828@debbugs.gnu.org
>
> Lars, any objections to pushing this?
No further comments, so I pushed these changes to the master branch,
and I'm marking this bug done.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-03-04 10:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-21 11:34 bug#25828: 25.1; remaining errors from shr calling set-window-buffer-p in dedicated window David Bremner
2017-02-25 8:27 ` Eli Zaretskii
2017-03-04 10:21 ` Eli Zaretskii
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.