Mercurial > emacs
diff lisp/progmodes/antlr-mode.el @ 112389:75fb060ecbc3
Don't mess with *temp*.
* lisp/obsolete/spell.el: Move from textmodes/spell.el.
(spell-string):
* lisp/term.el (term-read-input-ring):
* lisp/startup.el (display-startup-echo-area-message):
* lisp/progmodes/antlr-mode.el (antlr-directory-dependencies):
* lisp/gnus/message.el (message-mailer-swallows-blank-line):
* lisp/comint.el (comint-read-input-ring): Use with-temp-buffer.
* lisp/international/mule.el (ctext-pre-write-conversion):
Don't hardcode point-min==1.
* lisp/gnus/mm-util.el (mm-find-buffer-file-coding-system): Don't forget to
kill the temp buffer.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Thu, 20 Jan 2011 17:36:12 -0500 |
parents | ef719132ddfa |
children |
line wrap: on
line diff
--- a/lisp/progmodes/antlr-mode.el Thu Jan 20 16:57:15 2011 -0500 +++ b/lisp/progmodes/antlr-mode.el Thu Jan 20 17:36:12 2011 -0500 @@ -2182,36 +2182,32 @@ export vocabulary specified in that file." (let ((grammar (directory-files dirname t "\\.g\\'"))) (when grammar - (let ((temp-buffer (get-buffer-create - (generate-new-buffer-name " *temp*"))) - (antlr-imenu-name nil) ; dynamic-let: no imenu - (expanded-regexp (concat (format (regexp-quote - (cadr antlr-special-file-formats)) - ".+") - "\\'")) + (let ((antlr-imenu-name nil) ; dynamic-let: no imenu + (expanded-regexp + (concat (format (regexp-quote + (cadr antlr-special-file-formats)) + ".+") + "\\'")) classes dependencies) - (unwind-protect - (with-current-buffer temp-buffer - (widen) ; just in case... - (dolist (file grammar) - (when (and (file-regular-p file) - (null (string-match expanded-regexp file))) - (insert-file-contents file t nil nil t) - (normal-mode t) ; necessary for major-mode, syntax + (with-temp-buffer + (dolist (file grammar) + (when (and (file-regular-p file) + (null (string-match expanded-regexp file))) + (insert-file-contents file t nil nil t) + (normal-mode t) ; necessary for major-mode, syntax ; table and `antlr-language' - (when (derived-mode-p 'antlr-mode) - (let* ((file-deps (antlr-file-dependencies)) - (file (car file-deps))) - (when file-deps - (dolist (class-def (caadr file-deps)) - (let ((file-evocab (cons file (cdr class-def))) - (class-spec (assoc (car class-def) classes))) - (if class-spec - (nconc (cdr class-spec) (list file-evocab)) - (push (list (car class-def) file-evocab) - classes)))) - (push file-deps dependencies))))))) - (kill-buffer temp-buffer)) + (when (derived-mode-p 'antlr-mode) + (let* ((file-deps (antlr-file-dependencies)) + (file (car file-deps))) + (when file-deps + (dolist (class-def (caadr file-deps)) + (let ((file-evocab (cons file (cdr class-def))) + (class-spec (assoc (car class-def) classes))) + (if class-spec + (nconc (cdr class-spec) (list file-evocab)) + (push (list (car class-def) file-evocab) + classes)))) + (push file-deps dependencies))))))) (cons (nreverse classes) (nreverse dependencies))))))