1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-03 08:30:09 +00:00

Fix long filename handling of byte-compile-fix-header.

* lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header): Handle
arbitrary file name lengths (Bug#11585).
This commit is contained in:
Stefan Monnier 2012-05-31 13:56:57 +08:00 committed by Chong Yidong
parent d5fd2c5421
commit dd41169b6c
2 changed files with 10 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2012-05-31 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/bytecomp.el (byte-compile-fix-header): Handle
arbitrary file name lengths (Bug#11585).
2012-05-28 Martin Rudalics <rudalics@gmx.at>
* desktop.el (desktop-read): Clear previous and next buffers for

View File

@ -1931,7 +1931,7 @@ and will be removed soon. See (elisp)Backquote in the manual."))
(byte-compile-fix-header byte-compile-current-file)))))
byte-compile--outbuffer))
(defun byte-compile-fix-header (filename)
(defun byte-compile-fix-header (_filename)
"If the current buffer has any multibyte characters, insert a version test."
(when (< (point-max) (position-bytes (point-max)))
(goto-char (point-min))
@ -1956,12 +1956,10 @@ and will be removed soon. See (elisp)Backquote in the manual."))
;; don't try to check the version number.
" (< (aref emacs-version (1- (length emacs-version))) ?A)\n"
(format " (string-lessp emacs-version \"%s\")\n" minimum-version)
" (error \"`"
;; prin1-to-string is used to quote backslashes.
(substring (prin1-to-string (file-name-nondirectory filename))
1 -1)
(format "' was compiled for Emacs %s or later\"))\n\n"
minimum-version))
;; Because the header must fit in a fixed width, we cannot
;; insert arbitrary-length file names (Bug#11585).
" (error \"`%s' was compiled for "
(format "Emacs %s or later\" load-file-name))\n\n" minimum-version))
;; Now compensate for any change in size, to make sure all
;; positions in the file remain valid.
(setq delta (- (point-max) old-header-end))