GNU bug report logs - #11920
Gnus hangs during smiley treatment

Previous Next

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.

Full log


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





This bug report was last modified 12 years and 257 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.