Package: gnus;
Reported by: Dave Abrahams <dave <at> boostpro.com>
Date: Thu, 12 Jul 2012 10:20:01 UTC
Severity: normal
Found in version 5.130006
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 11920 in the body.
You can then email your comments to 11920 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bugs <at> gnus.org
:bug#11920
; Package gnus
.
(Thu, 12 Jul 2012 10:20:01 GMT) Full text and rfc822 format available.Dave Abrahams <dave <at> boostpro.com>
:bugs <at> gnus.org
.
(Thu, 12 Jul 2012 10:20:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Dave Abrahams <dave <at> boostpro.com> To: submit <at> debbugs.gnu.org (The Gnus Bugfixing Girls + Boys) Subject: Gnus hangs during smiley treatment Date: Thu, 12 Jul 2012 05:16:44 -0400
I have no idea why this happens for me, but on one particular message, Emacs freezes. I have to `C-g' and I get this backtrace. Looks like maybe it's infinitely recursing, adding smileys(?) --8<---------------cut here---------------start------------->8--- Debugger entered--Lisp error: (quit) nconc((smiley (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/smile.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center) ...) ((image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center))) (let ((entry (assq category gnus-article-image-alist))) (unless entry (setq entry (list category)) (push entry gnus-article-image-alist)) (nconc entry (list image))) gnus-add-image(smiley (image :type xpm :file "/opt/local/share/emacs/24.1/etc/images/smilies/sad.xpm" :ascent center)) smiley-region(2333 6479) (let ((images (smiley-region (point) (point-max)))) (when images (gnus-add-wash-type (quote smiley)) (dolist (image images) (gnus-add-image (quote smiley) image)))) (if (memq (quote smiley) gnus-article-wash-types) (gnus-delete-images (quote smiley)) (article-goto-body) (let ((images (smiley-region (point) (point-max)))) (when images (gnus-add-wash-type (quote smiley)) (dolist (image images) (gnus-add-image (quote smiley) image))))) (let ((inhibit-read-only t)) (if (memq (quote smiley) gnus-article-wash-types) (gnus-delete-images (quote smiley)) (article-goto-body) (let ((images (smiley-region (point) (point-max)))) (when images (gnus-add-wash-type (quote smiley)) (dolist (image images) (gnus-add-image (quote smiley) image)))))) (save-current-buffer (set-buffer gnus-article-buffer) (let ((inhibit-read-only t)) (if (memq (quote smiley) gnus-article-wash-types) (gnus-delete-images (quote smiley)) (article-goto-body) (let ((images (smiley-region (point) (point-max)))) (when images (gnus-add-wash-type (quote smiley)) (dolist (image images) (gnus-add-image (quote smiley) image))))))) (with-current-buffer gnus-article-buffer (let ((inhibit-read-only t)) (if (memq (quote smiley) gnus-article-wash-types) (gnus-delete-images (quote smiley)) (article-goto-body) (let ((images (smiley-region (point) (point-max)))) (when images (gnus-add-wash-type (quote smiley)) (dolist (image images) (gnus-add-image (quote smiley) image))))))) (progn (with-current-buffer gnus-article-buffer (let ((inhibit-read-only t)) (if (memq (quote smiley) gnus-article-wash-types) (gnus-delete-images (quote smiley)) (article-goto-body) (let ((images (smiley-region ... ...))) (when images (gnus-add-wash-type (quote smiley)) (dolist (image images) (gnus-add-image ... image)))))))) (if (buffer-live-p (get-buffer gnus-article-buffer)) (progn (with-current-buffer gnus-article-buffer (let ((inhibit-read-only t)) (if (memq (quote smiley) gnus-article-wash-types) (gnus-delete-images (quote smiley)) (article-goto-body) (let ((images ...)) (when images (gnus-add-wash-type ...) (dolist ... ...)))))))) (when (buffer-live-p (get-buffer gnus-article-buffer)) (with-current-buffer gnus-article-buffer (let ((inhibit-read-only t)) (if (memq (quote smiley) gnus-article-wash-types) (gnus-delete-images (quote smiley)) (article-goto-body) (let ((images (smiley-region ... ...))) (when images (gnus-add-wash-type (quote smiley)) (dolist (image images) (gnus-add-image ... image)))))))) (gnus-with-article-buffer (if (memq (quote smiley) gnus-article-wash-types) (gnus-delete-images (quote smiley)) (article-goto-body) (let ((images (smiley-region (point) (point-max)))) (when images (gnus-add-wash-type (quote smiley)) (dolist (image images) (gnus-add-image (quote smiley) image)))))) gnus-treat-smiley() funcall(gnus-treat-smiley) (save-restriction (funcall (cadr elem))) (progn (save-restriction (funcall (cadr elem)))) (if (and (or (consp val) treated-type) (or (not gnus-inhibit-article-treatments) (eq gnus-treat-condition (quote head))) (gnus-treat-predicate val) (or (not (get (car elem) (quote highlight))) highlightp)) (progn (save-restriction (funcall (cadr elem))))) (when (and (or (consp val) treated-type) (or (not gnus-inhibit-article-treatments) (eq gnus-treat-condition (quote head))) (gnus-treat-predicate val) (or (not (get (car elem) (quote highlight))) highlightp)) (save-restriction (funcall (cadr elem)))) (while --cl-dolist-temp-- (setq elem (car --cl-dolist-temp--)) (setq val (save-excursion (when (gnus-buffer-live-p gnus-summary-buffer) (set-buffer gnus-summary-buffer)) (symbol-value (car elem)))) (when (and (or (consp val) treated-type) (or (not gnus-inhibit-article-treatments) (eq gnus-treat-condition (quote head))) (gnus-treat-predicate val) (or (not (get (car elem) (quote highlight))) highlightp)) (save-restriction (funcall (cadr elem)))) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--))) (let ((--cl-dolist-temp-- alist) elem) (while --cl-dolist-temp-- (setq elem (car --cl-dolist-temp--)) (setq val (save-excursion (when (gnus-buffer-live-p gnus-summary-buffer) (set-buffer gnus-summary-buffer)) (symbol-value (car elem)))) (when (and (or (consp val) treated-type) (or (not gnus-inhibit-article-treatments) (eq gnus-treat-condition (quote head))) (gnus-treat-predicate val) (or (not (get (car elem) (quote highlight))) highlightp)) (save-restriction (funcall (cadr elem)))) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--)))) (catch (quote --cl-block-nil--) (let ((--cl-dolist-temp-- alist) elem) (while --cl-dolist-temp-- (setq elem (car --cl-dolist-temp--)) (setq val (save-excursion (when (gnus-buffer-live-p gnus-summary-buffer) (set-buffer gnus-summary-buffer)) (symbol-value (car elem)))) (when (and (or (consp val) treated-type) (or (not gnus-inhibit-article-treatments) (eq gnus-treat-condition (quote head))) (gnus-treat-predicate val) (or (not (get ... ...)) highlightp)) (save-restriction (funcall (cadr elem)))) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--))))) (cl-block-wrapper (catch (quote --cl-block-nil--) (let ((--cl-dolist-temp-- alist) elem) (while --cl-dolist-temp-- (setq elem (car --cl-dolist-temp--)) (setq val (save-excursion (when (gnus-buffer-live-p gnus-summary-buffer) (set-buffer gnus-summary-buffer)) (symbol-value (car elem)))) (when (and (or (consp val) treated-type) (or (not gnus-inhibit-article-treatments) (eq gnus-treat-condition ...)) (gnus-treat-predicate val) (or (not ...) highlightp)) (save-restriction (funcall (cadr elem)))) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--)))))) (block nil (let ((--cl-dolist-temp-- alist) elem) (while --cl-dolist-temp-- (setq elem (car --cl-dolist-temp--)) (setq val (save-excursion (when (gnus-buffer-live-p gnus-summary-buffer) (set-buffer gnus-summary-buffer)) (symbol-value (car elem)))) (when (and (or (consp val) treated-type) (or (not gnus-inhibit-article-treatments) (eq gnus-treat-condition (quote head))) (gnus-treat-predicate val) (or (not (get ... ...)) highlightp)) (save-restriction (funcall (cadr elem)))) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--))))) (dolist (elem alist) (setq val (save-excursion (when (gnus-buffer-live-p gnus-summary-buffer) (set-buffer gnus-summary-buffer)) (symbol-value (car elem)))) (when (and (or (consp val) treated-type) (or (not gnus-inhibit-article-treatments) (eq gnus-treat-condition (quote head))) (gnus-treat-predicate val) (or (not (get (car elem) (quote highlight))) highlightp)) (save-restriction (funcall (cadr elem))))) (let ((gnus-treat-length (- (point-max) (point-min))) (alist gnus-treatment-function-alist) (article-goto-body-goes-to-point-min-p t) (treated-type (or (not gnus-treat-type) (catch (quote found) (let ((list gnus-article-treat-types)) (while list (when ... ...)))))) (highlightp (gnus-visual-p (quote article-highlight) (quote highlight))) val elem) (gnus-run-hooks (quote gnus-part-display-hook)) (dolist (elem alist) (setq val (save-excursion (when (gnus-buffer-live-p gnus-summary-buffer) (set-buffer gnus-summary-buffer)) (symbol-value (car elem)))) (when (and (or (consp val) treated-type) (or (not gnus-inhibit-article-treatments) (eq gnus-treat-condition (quote head))) (gnus-treat-predicate val) (or (not (get (car elem) (quote highlight))) highlightp)) (save-restriction (funcall (cadr elem)))))) gnus-treat-article(nil 1 1 "text/plain") (save-restriction (article-goto-body) (narrow-to-region (point) (point-max)) (gnus-treat-article nil 1 1 "text/plain") (widen)) (if (and handles (or (not (stringp (car handles))) (cdr handles))) (progn (when (and (not ihandles) (not gnus-displaying-mime)) (article-goto-body) (delete-region (point) (point-max))) (let ((gnus-displaying-mime t)) (gnus-mime-display-part handles))) (save-restriction (article-goto-body) (narrow-to-region (point) (point-max)) (gnus-treat-article nil 1 1 "text/plain") (widen))) (let ((handles ihandles) (inhibit-read-only t) handle) (cond (handles) ((setq handles (mm-dissect-buffer nil gnus-article-loose-mime)) (when gnus-article-emulate-mime (mm-uu-dissect-text-parts handles))) (gnus-article-emulate-mime (setq handles (mm-uu-dissect)))) (when (and (not ihandles) (not gnus-displaying-mime)) (when gnus-article-mime-handles (mm-destroy-parts gnus-article-mime-handles) (setq gnus-article-mime-handle-alist nil)) (setq gnus-article-mime-handles handles) (when gnus-article-mime-part-function (gnus-mime-part-function handles))) (if (and handles (or (not (stringp (car handles))) (cdr handles))) (progn (when (and (not ihandles) (not gnus-displaying-mime)) (article-goto-body) (delete-region (point) (point-max))) (let ((gnus-displaying-mime t)) (gnus-mime-display-part handles))) (save-restriction (article-goto-body) (narrow-to-region (point) (point-max)) (gnus-treat-article nil 1 1 "text/plain") (widen))) (unless ihandles (save-excursion (save-restriction (article-goto-body) (narrow-to-region (point-min) (point)) (gnus-article-save-original-date (gnus-treat-article (quote head))))))) (progn (let ((window (get-buffer-window gnus-article-buffer)) (point (point))) (when window (select-window window) (set-window-point window point))) (let ((handles ihandles) (inhibit-read-only t) handle) (cond (handles) ((setq handles (mm-dissect-buffer nil gnus-article-loose-mime)) (when gnus-article-emulate-mime (mm-uu-dissect-text-parts handles))) (gnus-article-emulate-mime (setq handles (mm-uu-dissect)))) (when (and (not ihandles) (not gnus-displaying-mime)) (when gnus-article-mime-handles (mm-destroy-parts gnus-article-mime-handles) (setq gnus-article-mime-handle-alist nil)) (setq gnus-article-mime-handles handles) (when gnus-article-mime-part-function (gnus-mime-part-function handles))) (if (and handles (or (not (stringp (car handles))) (cdr handles))) (progn (when (and (not ihandles) (not gnus-displaying-mime)) (article-goto-body) (delete-region (point) (point-max))) (let ((gnus-displaying-mime t)) (gnus-mime-display-part handles))) (save-restriction (article-goto-body) (narrow-to-region (point) (point-max)) (gnus-treat-article nil 1 1 "text/plain") (widen))) (unless ihandles (save-excursion (save-restriction (article-goto-body) (narrow-to-region (point-min) (point)) (gnus-article-save-original-date (gnus-treat-article (quote head)))))))) (unwind-protect (progn (let ((window (get-buffer-window gnus-article-buffer)) (point (point))) (when window (select-window window) (set-window-point window point))) (let ((handles ihandles) (inhibit-read-only t) handle) (cond (handles) ((setq handles (mm-dissect-buffer nil gnus-article-loose-mime)) (when gnus-article-emulate-mime (mm-uu-dissect-text-parts handles))) (gnus-article-emulate-mime (setq handles (mm-uu-dissect)))) (when (and (not ihandles) (not gnus-displaying-mime)) (when gnus-article-mime-handles (mm-destroy-parts gnus-article-mime-handles) (setq gnus-article-mime-handle-alist nil)) (setq gnus-article-mime-handles handles) (when gnus-article-mime-part-function (gnus-mime-part-function handles))) (if (and handles (or (not (stringp ...)) (cdr handles))) (progn (when (and (not ihandles) (not gnus-displaying-mime)) (article-goto-body) (delete-region (point) (point-max))) (let ((gnus-displaying-mime t)) (gnus-mime-display-part handles))) (save-restriction (article-goto-body) (narrow-to-region (point) (point-max)) (gnus-treat-article nil 1 1 "text/plain") (widen))) (unless ihandles (save-excursion (save-restriction (article-goto-body) (narrow-to-region (point-min) (point)) (gnus-article-save-original-date (gnus-treat-article ...))))))) (dolist (elt save-selected-window-alist) (and (frame-live-p (car elt)) (window-live-p (cdr elt)) (set-frame-selected-window (car elt) (cdr elt) (quote norecord)))) (when (window-live-p save-selected-window-window) (select-window save-selected-window-window (quote norecord)))) (save-current-buffer (unwind-protect (progn (let ((window (get-buffer-window gnus-article-buffer)) (point (point))) (when window (select-window window) (set-window-point window point))) (let ((handles ihandles) (inhibit-read-only t) handle) (cond (handles) ((setq handles (mm-dissect-buffer nil gnus-article-loose-mime)) (when gnus-article-emulate-mime (mm-uu-dissect-text-parts handles))) (gnus-article-emulate-mime (setq handles (mm-uu-dissect)))) (when (and (not ihandles) (not gnus-displaying-mime)) (when gnus-article-mime-handles (mm-destroy-parts gnus-article-mime-handles) (setq gnus-article-mime-handle-alist nil)) (setq gnus-article-mime-handles handles) (when gnus-article-mime-part-function (gnus-mime-part-function handles))) (if (and handles (or (not ...) (cdr handles))) (progn (when (and ... ...) (article-goto-body) (delete-region ... ...)) (let (...) (gnus-mime-display-part handles))) (save-restriction (article-goto-body) (narrow-to-region (point) (point-max)) (gnus-treat-article nil 1 1 "text/plain") (widen))) (unless ihandles (save-excursion (save-restriction (article-goto-body) (narrow-to-region ... ...) (gnus-article-save-original-date ...)))))) (dolist (elt save-selected-window-alist) (and (frame-live-p (car elt)) (window-live-p (cdr elt)) (set-frame-selected-window (car elt) (cdr elt) (quote norecord)))) (when (window-live-p save-selected-window-window) (select-window save-selected-window-window (quote norecord))))) (let ((save-selected-window-window (selected-window)) (save-selected-window-alist (mapcar (lambda (frame) (cons frame (frame-selected-window frame))) (frame-list)))) (save-current-buffer (unwind-protect (progn (let ((window (get-buffer-window gnus-article-buffer)) (point (point))) (when window (select-window window) (set-window-point window point))) (let ((handles ihandles) (inhibit-read-only t) handle) (cond (handles) ((setq handles ...) (when gnus-article-emulate-mime ...)) (gnus-article-emulate-mime (setq handles ...))) (when (and (not ihandles) (not gnus-displaying-mime)) (when gnus-article-mime-handles (mm-destroy-parts gnus-article-mime-handles) (setq gnus-article-mime-handle-alist nil)) (setq gnus-article-mime-handles handles) (when gnus-article-mime-part-function (gnus-mime-part-function handles))) (if (and handles (or ... ...)) (progn (when ... ... ...) (let ... ...)) (save-restriction (article-goto-body) (narrow-to-region ... ...) (gnus-treat-article nil 1 1 "text/plain") (widen))) (unless ihandles (save-excursion (save-restriction ... ... ...))))) (dolist (elt save-selected-window-alist) (and (frame-live-p (car elt)) (window-live-p (cdr elt)) (set-frame-selected-window (car elt) (cdr elt) (quote norecord)))) (when (window-live-p save-selected-window-window) (select-window save-selected-window-window (quote norecord)))))) (save-selected-window (let ((window (get-buffer-window gnus-article-buffer)) (point (point))) (when window (select-window window) (set-window-point window point))) (let ((handles ihandles) (inhibit-read-only t) handle) (cond (handles) ((setq handles (mm-dissect-buffer nil gnus-article-loose-mime)) (when gnus-article-emulate-mime (mm-uu-dissect-text-parts handles))) (gnus-article-emulate-mime (setq handles (mm-uu-dissect)))) (when (and (not ihandles) (not gnus-displaying-mime)) (when gnus-article-mime-handles (mm-destroy-parts gnus-article-mime-handles) (setq gnus-article-mime-handle-alist nil)) (setq gnus-article-mime-handles handles) (when gnus-article-mime-part-function (gnus-mime-part-function handles))) (if (and handles (or (not (stringp (car handles))) (cdr handles))) (progn (when (and (not ihandles) (not gnus-displaying-mime)) (article-goto-body) (delete-region (point) (point-max))) (let ((gnus-displaying-mime t)) (gnus-mime-display-part handles))) (save-restriction (article-goto-body) (narrow-to-region (point) (point-max)) (gnus-treat-article nil 1 1 "text/plain") (widen))) (unless ihandles (save-excursion (save-restriction (article-goto-body) (narrow-to-region (point-min) (point)) (gnus-article-save-original-date (gnus-treat-article (quote head)))))))) (save-excursion (save-selected-window (let ((window (get-buffer-window gnus-article-buffer)) (point (point))) (when window (select-window window) (set-window-point window point))) (let ((handles ihandles) (inhibit-read-only t) handle) (cond (handles) ((setq handles (mm-dissect-buffer nil gnus-article-loose-mime)) (when gnus-article-emulate-mime (mm-uu-dissect-text-parts handles))) (gnus-article-emulate-mime (setq handles (mm-uu-dissect)))) (when (and (not ihandles) (not gnus-displaying-mime)) (when gnus-article-mime-handles (mm-destroy-parts gnus-article-mime-handles) (setq gnus-article-mime-handle-alist nil)) (setq gnus-article-mime-handles handles) (when gnus-article-mime-part-function (gnus-mime-part-function handles))) (if (and handles (or (not (stringp ...)) (cdr handles))) (progn (when (and (not ihandles) (not gnus-displaying-mime)) (article-goto-body) (delete-region (point) (point-max))) (let ((gnus-displaying-mime t)) (gnus-mime-display-part handles))) (save-restriction (article-goto-body) (narrow-to-region (point) (point-max)) (gnus-treat-article nil 1 1 "text/plain") (widen))) (unless ihandles (save-excursion (save-restriction (article-goto-body) (narrow-to-region (point-min) (point)) (gnus-article-save-original-date (gnus-treat-article ...))))))) (goto-char (point-max)) (unless (bolp) (insert "\n"))) gnus-display-mime() funcall(gnus-display-mime) (progn (funcall gnus-display-mime-function)) (if gnus-display-mime-function (progn (funcall gnus-display-mime-function))) (when gnus-display-mime-function (funcall gnus-display-mime-function)) (let ((gnus-article-buffer (current-buffer)) buffer-read-only (inhibit-read-only t)) (unless (eq major-mode (quote gnus-article-mode)) (gnus-article-mode)) (setq buffer-read-only nil gnus-article-wash-types nil gnus-article-image-alist nil) (gnus-run-hooks (quote gnus-tmp-internal-hook)) (when gnus-display-mime-function (funcall gnus-display-mime-function))) gnus-article-prepare-display() (progn (gnus-article-prepare-display) (goto-char (point-min)) (when gnus-break-pages (gnus-narrow-to-page))) (if (or (numberp article) (stringp article)) (progn (gnus-article-prepare-display) (goto-char (point-min)) (when gnus-break-pages (gnus-narrow-to-page)))) (when (or (numberp article) (stringp article)) (gnus-article-prepare-display) (goto-char (point-min)) (when gnus-break-pages (gnus-narrow-to-page))) (if (or (eq result (quote pseudo)) (eq result (quote nneething))) (progn (with-current-buffer summary-buffer (push article gnus-newsgroup-history) (setq gnus-last-article gnus-current-article gnus-current-article 0 gnus-current-headers nil gnus-article-current nil) (if (eq result (quote nneething)) (gnus-configure-windows (quote summary)) (gnus-configure-windows (quote article))) (gnus-set-global-variables)) (let ((gnus-article-mime-handle-alist-1 gnus-article-mime-handle-alist)) (gnus-set-mode-line (quote article)))) (when (and (numberp article) (not (eq article gnus-current-article))) (with-current-buffer summary-buffer (push article gnus-newsgroup-history) (setq gnus-last-article gnus-current-article gnus-current-article article gnus-current-headers (gnus-summary-article-header gnus-current-article) gnus-article-current (cons gnus-newsgroup-name gnus-current-article)) (unless (vectorp gnus-current-headers) (setq gnus-current-headers nil)) (gnus-summary-goto-subject gnus-current-article) (when (gnus-summary-show-thread) (gnus-summary-goto-subject gnus-current-article)) (gnus-run-hooks (quote gnus-mark-article-hook)) (gnus-set-mode-line (quote summary)) (when (gnus-visual-p (quote article-highlight) (quote highlight)) (gnus-run-hooks (quote gnus-visual-mark-article-hook))) (gnus-set-global-variables) (setq gnus-have-all-headers (or all-headers gnus-show-all-headers)))) (save-excursion (gnus-configure-windows (quote article))) (when (or (numberp article) (stringp article)) (gnus-article-prepare-display) (goto-char (point-min)) (when gnus-break-pages (gnus-narrow-to-page))) (let ((gnus-article-mime-handle-alist-1 gnus-article-mime-handle-alist)) (gnus-set-mode-line (quote article))) (article-goto-body) (unless (bobp) (forward-line -1)) (set-window-point (get-buffer-window (current-buffer)) (point)) (gnus-configure-windows (quote article)) (gnus-run-hooks (quote gnus-article-prepare-hook)) t) (if (not (setq result (let ((inhibit-read-only t)) (gnus-request-article-this-buffer article group)))) (save-excursion (when (and (numberp article) (not (memq article gnus-newsgroup-sparse))) (setq gnus-article-current (cons gnus-newsgroup-name article)) (set-buffer gnus-summary-buffer) (setq gnus-current-article article) (if (and (memq article gnus-newsgroup-undownloaded) (not (gnus-online (gnus-find-method-for-group gnus-newsgroup-name)))) (progn (gnus-summary-set-agent-mark article) (message "Message marked for downloading")) (gnus-summary-mark-article article gnus-canceled-mark) (unless (memq article gnus-newsgroup-sparse) (gnus-error 1 "No such article (may have expired or been canceled)"))))) (if (or (eq result (quote pseudo)) (eq result (quote nneething))) (progn (with-current-buffer summary-buffer (push article gnus-newsgroup-history) (setq gnus-last-article gnus-current-article gnus-current-article 0 gnus-current-headers nil gnus-article-current nil) (if (eq result (quote nneething)) (gnus-configure-windows (quote summary)) (gnus-configure-windows (quote article))) (gnus-set-global-variables)) (let ((gnus-article-mime-handle-alist-1 gnus-article-mime-handle-alist)) (gnus-set-mode-line (quote article)))) (when (and (numberp article) (not (eq article gnus-current-article))) (with-current-buffer summary-buffer (push article gnus-newsgroup-history) (setq gnus-last-article gnus-current-article gnus-current-article article gnus-current-headers (gnus-summary-article-header gnus-current-article) gnus-article-current (cons gnus-newsgroup-name gnus-current-article)) (unless (vectorp gnus-current-headers) (setq gnus-current-headers nil)) (gnus-summary-goto-subject gnus-current-article) (when (gnus-summary-show-thread) (gnus-summary-goto-subject gnus-current-article)) (gnus-run-hooks (quote gnus-mark-article-hook)) (gnus-set-mode-line (quote summary)) (when (gnus-visual-p (quote article-highlight) (quote highlight)) (gnus-run-hooks (quote gnus-visual-mark-article-hook))) (gnus-set-global-variables) (setq gnus-have-all-headers (or all-headers gnus-show-all-headers)))) (save-excursion (gnus-configure-windows (quote article))) (when (or (numberp article) (stringp article)) (gnus-article-prepare-display) (goto-char (point-min)) (when gnus-break-pages (gnus-narrow-to-page))) (let ((gnus-article-mime-handle-alist-1 gnus-article-mime-handle-alist)) (gnus-set-mode-line (quote article))) (article-goto-body) (unless (bobp) (forward-line -1)) (set-window-point (get-buffer-window (current-buffer)) (point)) (gnus-configure-windows (quote article)) (gnus-run-hooks (quote gnus-article-prepare-hook)) t)) (save-excursion (gnus-article-setup-buffer) (set-buffer gnus-article-buffer) (when (and (boundp (quote transient-mark-mode)) transient-mark-mode) (setq mark-active nil)) (if (not (setq result (let ((inhibit-read-only t)) (gnus-request-article-this-buffer article group)))) (save-excursion (when (and (numberp article) (not (memq article gnus-newsgroup-sparse))) (setq gnus-article-current (cons gnus-newsgroup-name article)) (set-buffer gnus-summary-buffer) (setq gnus-current-article article) (if (and (memq article gnus-newsgroup-undownloaded) (not (gnus-online ...))) (progn (gnus-summary-set-agent-mark article) (message "Message marked for downloading")) (gnus-summary-mark-article article gnus-canceled-mark) (unless (memq article gnus-newsgroup-sparse) (gnus-error 1 "No such article (may have expired or been canceled)"))))) (if (or (eq result (quote pseudo)) (eq result (quote nneething))) (progn (with-current-buffer summary-buffer (push article gnus-newsgroup-history) (setq gnus-last-article gnus-current-article gnus-current-article 0 gnus-current-headers nil gnus-article-current nil) (if (eq result (quote nneething)) (gnus-configure-windows (quote summary)) (gnus-configure-windows (quote article))) (gnus-set-global-variables)) (let ((gnus-article-mime-handle-alist-1 gnus-article-mime-handle-alist)) (gnus-set-mode-line (quote article)))) (when (and (numberp article) (not (eq article gnus-current-article))) (with-current-buffer summary-buffer (push article gnus-newsgroup-history) (setq gnus-last-article gnus-current-article gnus-current-article article gnus-current-headers (gnus-summary-article-header gnus-current-article) gnus-article-current (cons gnus-newsgroup-name gnus-current-article)) (unless (vectorp gnus-current-headers) (setq gnus-current-headers nil)) (gnus-summary-goto-subject gnus-current-article) (when (gnus-summary-show-thread) (gnus-summary-goto-subject gnus-current-article)) (gnus-run-hooks (quote gnus-mark-article-hook)) (gnus-set-mode-line (quote summary)) (when (gnus-visual-p (quote article-highlight) (quote highlight)) (gnus-run-hooks (quote gnus-visual-mark-article-hook))) (gnus-set-global-variables) (setq gnus-have-all-headers (or all-headers gnus-show-all-headers)))) (save-excursion (gnus-configure-windows (quote article))) (when (or (numberp article) (stringp article)) (gnus-article-prepare-display) (goto-char (point-min)) (when gnus-break-pages (gnus-narrow-to-page))) (let ((gnus-article-mime-handle-alist-1 gnus-article-mime-handle-alist)) (gnus-set-mode-line (quote article))) (article-goto-body) (unless (bobp) (forward-line -1)) (set-window-point (get-buffer-window (current-buffer)) (point)) (gnus-configure-windows (quote article)) (gnus-run-hooks (quote gnus-article-prepare-hook)) t))) (let* ((gnus-article (if header (mail-header-number header) article)) (summary-buffer (current-buffer)) (gnus-tmp-internal-hook gnus-article-internal-prepare-hook) (group gnus-newsgroup-name) result) (save-excursion (gnus-article-setup-buffer) (set-buffer gnus-article-buffer) (when (and (boundp (quote transient-mark-mode)) transient-mark-mode) (setq mark-active nil)) (if (not (setq result (let ((inhibit-read-only t)) (gnus-request-article-this-buffer article group)))) (save-excursion (when (and (numberp article) (not (memq article gnus-newsgroup-sparse))) (setq gnus-article-current (cons gnus-newsgroup-name article)) (set-buffer gnus-summary-buffer) (setq gnus-current-article article) (if (and (memq article gnus-newsgroup-undownloaded) (not ...)) (progn (gnus-summary-set-agent-mark article) (message "Message marked for downloading")) (gnus-summary-mark-article article gnus-canceled-mark) (unless (memq article gnus-newsgroup-sparse) (gnus-error 1 "No such article (may have expired or been canceled)"))))) (if (or (eq result (quote pseudo)) (eq result (quote nneething))) (progn (with-current-buffer summary-buffer (push article gnus-newsgroup-history) (setq gnus-last-article gnus-current-article gnus-current-article 0 gnus-current-headers nil gnus-article-current nil) (if (eq result ...) (gnus-configure-windows ...) (gnus-configure-windows ...)) (gnus-set-global-variables)) (let ((gnus-article-mime-handle-alist-1 gnus-article-mime-handle-alist)) (gnus-set-mode-line (quote article)))) (when (and (numberp article) (not (eq article gnus-current-article))) (with-current-buffer summary-buffer (push article gnus-newsgroup-history) (setq gnus-last-article gnus-current-article gnus-current-article article gnus-current-headers (gnus-summary-article-header gnus-current-article) gnus-article-current (cons gnus-newsgroup-name gnus-current-article)) (unless (vectorp gnus-current-headers) (setq gnus-current-headers nil)) (gnus-summary-goto-subject gnus-current-article) (when (gnus-summary-show-thread) (gnus-summary-goto-subject gnus-current-article)) (gnus-run-hooks (quote gnus-mark-article-hook)) (gnus-set-mode-line (quote summary)) (when (gnus-visual-p ... ...) (gnus-run-hooks ...)) (gnus-set-global-variables) (setq gnus-have-all-headers (or all-headers gnus-show-all-headers)))) (save-excursion (gnus-configure-windows (quote article))) (when (or (numberp article) (stringp article)) (gnus-article-prepare-display) (goto-char (point-min)) (when gnus-break-pages (gnus-narrow-to-page))) (let ((gnus-article-mime-handle-alist-1 gnus-article-mime-handle-alist)) (gnus-set-mode-line (quote article))) (article-goto-body) (unless (bobp) (forward-line -1)) (set-window-point (get-buffer-window (current-buffer)) (point)) (gnus-configure-windows (quote article)) (gnus-run-hooks (quote gnus-article-prepare-hook)) t)))) (save-excursion (unless (eq major-mode (quote gnus-summary-mode)) (set-buffer gnus-summary-buffer)) (setq gnus-summary-buffer (current-buffer)) (let* ((gnus-article (if header (mail-header-number header) article)) (summary-buffer (current-buffer)) (gnus-tmp-internal-hook gnus-article-internal-prepare-hook) (group gnus-newsgroup-name) result) (save-excursion (gnus-article-setup-buffer) (set-buffer gnus-article-buffer) (when (and (boundp (quote transient-mark-mode)) transient-mark-mode) (setq mark-active nil)) (if (not (setq result (let (...) (gnus-request-article-this-buffer article group)))) (save-excursion (when (and (numberp article) (not ...)) (setq gnus-article-current (cons gnus-newsgroup-name article)) (set-buffer gnus-summary-buffer) (setq gnus-current-article article) (if (and ... ...) (progn ... ...) (gnus-summary-mark-article article gnus-canceled-mark) (unless ... ...)))) (if (or (eq result (quote pseudo)) (eq result (quote nneething))) (progn (with-current-buffer summary-buffer (push article gnus-newsgroup-history) (setq gnus-last-article gnus-current-article gnus-current-article 0 gnus-current-headers nil gnus-article-current nil) (if ... ... ...) (gnus-set-global-variables)) (let (...) (gnus-set-mode-line ...))) (when (and (numberp article) (not ...)) (with-current-buffer summary-buffer (push article gnus-newsgroup-history) (setq gnus-last-article gnus-current-article gnus-current-article article gnus-current-headers ... gnus-article-current ...) (unless ... ...) (gnus-summary-goto-subject gnus-current-article) (when ... ...) (gnus-run-hooks ...) (gnus-set-mode-line ...) (when ... ...) (gnus-set-global-variables) (setq gnus-have-all-headers ...))) (save-excursion (gnus-configure-windows (quote article))) (when (or (numberp article) (stringp article)) (gnus-article-prepare-display) (goto-char (point-min)) (when gnus-break-pages (gnus-narrow-to-page))) (let ((gnus-article-mime-handle-alist-1 gnus-article-mime-handle-alist)) (gnus-set-mode-line (quote article))) (article-goto-body) (unless (bobp) (forward-line -1)) (set-window-point (get-buffer-window (current-buffer)) (point)) (gnus-configure-windows (quote article)) (gnus-run-hooks (quote gnus-article-prepare-hook)) t))))) gnus-article-prepare(126 nil) gnus-summary-display-article(126) gnus-summary-next-article(nil) call-interactively(gnus-summary-next-article nil nil) --8<---------------cut here---------------end--------------->8--- Ma Gnus v0.6 GNU Emacs 24.1.1 (x86_64-apple-darwin11.4.0, Carbon Version 1.6.0 AppKit 1138.47) of 2012-06-27 on pluto.luannocracy.com 200 news.gmane.org InterNetNews NNRP server INN 2.5.1 ready (posting ok) 101 Capability list: VERSION 2 IMPLEMENTATION INN 2.5.1 AUTHINFO USER HDR LIST ACTIVE ACTIVE.TIMES DISTRIB.PATS HEADERS NEWSGROUPS OVERVIEW.FMT OVER POST READER STARTTLS . 382 Begin TLS negotiation now 101 Capability list: VERSION 2 IMPLEMENTATION INN 2.5.1 AUTHINFO USER HDR LIST ACTIVE ACTIVE.TIMES DISTRIB.PATS HEADERS NEWSGROUPS OVERVIEW.FMT OVER POST READER . -- Dave Abrahams BoostPro Computing http://www.boostpro.com
bugs <at> gnus.org
:bug#11920
; Package gnus
.
(Wed, 05 Sep 2012 19:04:02 GMT) Full text and rfc822 format available.Message #8 received at 11920 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Dave Abrahams <dave <at> boostpro.com> Cc: 11920 <at> debbugs.gnu.org Subject: Re: bug#11920: Gnus hangs during smiley treatment Date: Wed, 05 Sep 2012 21:02:41 +0200
Dave Abrahams <dave <at> boostpro.com> writes: > I have no idea why this happens for me, but on one particular message, > Emacs freezes. I have to `C-g' and I get this backtrace. Looks like > maybe it's infinitely recursing, adding smileys(?) Could you post the offending message? -- (domestic pets only, the antidote for overdose, milk.) http://lars.ingebrigtsen.no * Lars Magne Ingebrigtsen
bugs <at> gnus.org
:bug#11920
; Package gnus
.
(Wed, 05 Sep 2012 19:58:01 GMT) Full text and rfc822 format available.Message #11 received at 11920 <at> debbugs.gnu.org (full text, mbox):
From: Dave Abrahams <dave <at> boostpro.com> To: Lars Ingebrigtsen <larsi <at> gnus.org> Cc: 11920 <at> debbugs.gnu.org Subject: Re: bug#11920: Gnus hangs during smiley treatment Date: Wed, 05 Sep 2012 12:56:56 -0700
on Wed Sep 05 2012, Lars Ingebrigtsen <larsi-AT-gnus.org> wrote: > Dave Abrahams <dave <at> boostpro.com> writes: > >> I have no idea why this happens for me, but on one particular message, >> Emacs freezes. I have to `C-g' and I get this backtrace. Looks like >> maybe it's infinitely recursing, adding smileys(?) > > Could you post the offending message? I think if I could have, I would have at the time. Unfortunately, by now, I don't know what it was anymore. -- Dave Abrahams BoostPro Computing Software Development Training http://www.boostpro.com Clang/LLVM/EDG Compilers C++ Boost
bugs <at> gnus.org
:bug#11920
; Package gnus
.
(Wed, 05 Sep 2012 20:04:02 GMT) Full text and rfc822 format available.Message #14 received at 11920 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Dave Abrahams <dave <at> boostpro.com> Cc: 11920 <at> debbugs.gnu.org Subject: Re: bug#11920: Gnus hangs during smiley treatment Date: Wed, 05 Sep 2012 22:03:00 +0200
Dave Abrahams <dave <at> boostpro.com> writes: > I think if I could have, I would have at the time. Unfortunately, by > now, I don't know what it was anymore. Ok, I'm closing the bug, then, and if somebody manages to reproduce this again, it can be reopened. -- (domestic pets only, the antidote for overdose, milk.) http://lars.ingebrigtsen.no * Lars Magne Ingebrigtsen
Lars Ingebrigtsen <larsi <at> gnus.org>
to control <at> debbugs.gnu.org
.
(Wed, 05 Sep 2012 20:04:02 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Thu, 04 Oct 2012 11:24:04 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.