Subject: bug#24016: 25.1.50; Running diff-mode from Gnus crashes

From: Lars Ingebrigtsen <[email-masked]>
Date: Wed, 25 Jan 2017 17:35:58 +0100

Lars Ingebrigtsen <[email-masked]> writes:

> This started happening a few days ago.  I would guess something has been
> changed to not work in temporary buffers any more or something...
>
> Ring any bells?  If not, I can try debugging further.

It's not just diff-mode.  It's any text attachments.  Here's an example:

Debugger entered--Lisp error: (args-out-of-range "a.txt" 28 nil)
  dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode)) (diff-mode (mode . whitespace)) (change-log-mode (add-log-time-zone-rule . t) (fill-column . 74) (bug-reference-url-format . "http://debbugs.gnu.org/%s") (mode . bug-reference)) (log-edit-mode (log-edit-font-lock-gnu-style . t) (log-edit-setup-add-author . t)) (objc-mode (c-file-style . "GNU")) (c-mode (c-file-style . "GNU") (c-noise-macro-names "UNINIT")) (nil (tab-width . 8) (sentence-end-double-space . t) (fill-column . 70))) "/home/larsi/src/emacs/trunk/" nil)
  hack-dir-local-variables()
  hack-local-variables(no-mode)
  run-mode-hooks(text-mode-hook)
  text-mode()
  set-auto-mode-0(text-mode nil)
  set-auto-mode()
  mm-display-inline-fontify((#<buffer  *mm*-607897> ("text/plain" (charset . "utf-8")) base64 nil ("inline" (filename . "a.txt")) nil nil nil))
  mm-inline-text((#<buffer  *mm*-607897> ("text/plain" (charset . "utf-8")) base64 nil ("inline" (filename . "a.txt")) nil nil nil))
  mm-display-inline((#<buffer  *mm*-607897> ("text/plain" (charset . "utf-8")) base64 nil ("inline" (filename . "a.txt")) nil nil nil))
  mm-display-part((#<buffer  *mm*-607897> ("text/plain" (charset . "utf-8")) base64 nil ("inline" (filename . "a.txt")) nil nil nil) t)
  gnus-mime-display-single((#<buffer  *mm*-607897> ("text/plain" (charset . "utf-8")) base64 nil ("inline" (filename . "a.txt")) nil nil nil))
  gnus-mime-display-part((#<buffer  *mm*-607897> ("text/plain" (charset . "utf-8")) base64 nil ("inline" (filename . "a.txt")) nil nil nil))
  mapcar(gnus-mime-display-part ((#<buffer  *mm*-607897> ("text/plain" (charset . "utf-8")) base64 nil ("inline" (filename . "a.txt")) nil nil nil) (#<buffer  *mm*-910099> ("text/plain" (charset . "iso-8859-1")) base64 nil ("inline" (filename . "b.txt")) nil nil nil) (#<buffer  *mm*-761566> ("image/jpeg") base64 nil ("attachment" (filename . "Y-U-No.jpg")) nil nil nil) (#<buffer  *mm*-411450> ("text/plain") nil nil ("inline") nil nil nil)))
  gnus-mime-display-mixed(((#<buffer  *mm*-607897> ("text/plain" (charset . "utf-8")) base64 nil ("inline" (filename . "a.txt")) nil nil nil) (#<buffer  *mm*-910099> ("text/plain" (charset . "iso-8859-1")) base64 nil ("inline" (filename . "b.txt")) nil nil nil) (#<buffer  *mm*-761566> ("image/jpeg") base64 nil ("attachment" (filename . "Y-U-No.jpg")) nil nil nil) (#<buffer  *mm*-411450> ("text/plain") nil nil ("inline") nil nil nil)))
  gnus-mime-display-part((#("multipart/mixed" 0 15 (boundary "=-=-=" buffer #<buffer  *mm*> from "[email-masked]" start nil)) (#<buffer  *mm*-607897> ("text/plain" (charset . "utf-8")) base64 nil ("inline" (filename . "a.txt")) nil nil nil) (#<buffer  *mm*-910099> ("text/plain" (charset . "iso-8859-1")) base64 nil ("inline" (filename . "b.txt")) nil nil nil) (#<buffer  *mm*-761566> ("image/jpeg") base64 nil ("attachment" (filename . "Y-U-No.jpg")) nil nil nil) (#<buffer  *mm*-411450> ("text/plain") nil nil ("inline") nil nil nil)))
  gnus-display-mime()
  gnus-article-prepare-display()
  gnus-article-prepare(44685 nil)
  gnus-summary-display-article(44685 nil)
  gnus-summary-select-article(nil force)
  gnus-summary-show-article(nil)
  funcall-interactively(gnus-summary-show-article nil)
  call-interactively(gnus-summary-show-article nil nil)
  command-execute(gnus-summary-show-article)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no