From dd41169b6cb0105b0766f3d368c657ebafc19cba Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 31 May 2012 13:56:57 +0800 Subject: [PATCH] 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). --- lisp/ChangeLog | 5 +++++ lisp/emacs-lisp/bytecomp.el | 12 +++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2ebff3d0eed..2a04a9ca799 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2012-05-31 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-fix-header): Handle + arbitrary file name lengths (Bug#11585). + 2012-05-28 Martin Rudalics * desktop.el (desktop-read): Clear previous and next buffers for diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 93c6518d215..b03e8e252fd 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -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)) -- 2.39.2