emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 4a575eb: byte-compile-file: Make optional LOAD argument obsolete


From: Stefan Kangas
Subject: master 4a575eb: byte-compile-file: Make optional LOAD argument obsolete
Date: Tue, 20 Oct 2020 12:50:40 -0400 (EDT)

branch: master
commit 4a575eb18cca3eed5019f2d2d2abeea1f0c07005
Author: Stefan Kangas <stefan@marxist.se>
Commit: Stefan Kangas <stefan@marxist.se>

    byte-compile-file: Make optional LOAD argument obsolete
    
    * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Declare optional
    LOAD argument obsolete.  Adjust callers.  (Bug#38072)
    (byte-recompile-file): Declare optional LOAD argument obsolete.
    * doc/lispref/compile.texi (Compilation Functions): Update
    documentation to reflect above obsoletion.
    * etc/NEWS: Announce above obsoletion.
---
 doc/lispref/compile.texi               |  5 +----
 etc/NEWS                               |  5 +++++
 lisp/emacs-lisp/bytecomp.el            | 15 +++++++++------
 lisp/org/org.el                        |  3 ++-
 lisp/progmodes/elisp-mode.el           |  3 ++-
 lisp/speedbar.el                       |  2 +-
 test/lisp/emacs-lisp/bytecomp-tests.el |  7 ++++---
 7 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index e979fda..ad8afaa 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -164,7 +164,7 @@ echo area, but if @var{arg} is non-@code{nil}, it inserts 
the result
 in the current buffer after the form it has compiled.
 @end deffn
 
-@deffn Command byte-compile-file filename &optional load
+@deffn Command byte-compile-file filename
 This function compiles a file of Lisp code named @var{filename} into a
 file of byte-code.  The output file's name is made by changing the
 @samp{.el} suffix into @samp{.elc}; if @var{filename} does not end in
@@ -180,9 +180,6 @@ input file is read.
 This command returns @code{t} if there were no errors and @code{nil}
 otherwise.  When called interactively, it prompts for the file name.
 
-If @var{load} is non-@code{nil}, this command loads the compiled file
-after compiling it.  Interactively, @var{load} is the prefix argument.
-
 @example
 @group
 $ ls -l push*
diff --git a/etc/NEWS b/etc/NEWS
index c571fa9..f3e3d9a 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1500,6 +1500,11 @@ This is no longer supported, and setting this variable 
has no effect.
 ** The macro 'with-displayed-buffer-window' is now obsolete.
 Use macro 'with-current-buffer-window' with action alist entry 'body-function'.
 
++++
+** `byte-compile-file' optional argument LOAD is now obsolete.
+To load the file after byte-compiling, add a call to 'load' from Lisp
+or use 'M-x emacs-lisp-byte-compile-and-load' interactively.
+
 ** The metamail.el library is now marked obsolete.
 
 ---
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 90809a9..b63d06a 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -1845,10 +1845,9 @@ compile FILENAME.  If optional argument ARG is 0, it 
compiles
 the input file even if the `.elc' file does not exist.
 Any other non-nil value of ARG means to ask the user.
 
-If optional argument LOAD is non-nil, loads the file after compiling.
-
 If compilation is needed, this functions returns the result of
 `byte-compile-file'; otherwise it returns `no-byte-compile'."
+  (declare (advertised-calling-convention (filename &optional force arg) 
"28.1"))
   (interactive
    (let ((file buffer-file-name)
         (file-name nil)
@@ -1877,7 +1876,9 @@ If compilation is needed, this functions returns the 
result of
         (progn
           (if (and noninteractive (not byte-compile-verbose))
               (message "Compiling %s..." filename))
-          (byte-compile-file filename load))
+          (byte-compile-file filename)
+          (when load
+            (load (if (file-exists-p dest) dest filename))))
       (when load
        (load (if (file-exists-p dest) dest filename)))
       'no-byte-compile)))
@@ -1901,8 +1902,10 @@ If compilation is needed, this functions returns the 
result of
   "Compile a file of Lisp code named FILENAME into a file of byte code.
 The output file's name is generated by passing FILENAME to the
 function `byte-compile-dest-file' (which see).
-With prefix arg (noninteractively: 2nd arg), LOAD the file after compiling.
-The value is non-nil if there were no errors, nil if errors."
+The value is non-nil if there were no errors, nil if errors.
+
+See also `emacs-lisp-byte-compile-and-load'."
+  (declare (advertised-calling-convention (filename) "28.1"))
 ;;  (interactive "fByte compile file: \nP")
   (interactive
    (let ((file buffer-file-name)
@@ -2068,7 +2071,7 @@ The value is non-nil if there were no errors, nil if 
errors."
                   (insert (format "%S\n" (cons var filename))))
                (write-region (point-min) (point-max) dynvar-file)))))
        (if load
-           (load target-file))
+            (load target-file))
        t))))
 
 ;;; compiling a single function
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 7733198..1ab8ab6 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -223,7 +223,8 @@ byte-compiled before it is loaded."
       (org-babel-tangle-file file tangled-file "emacs-lisp"))
     (if compile
        (progn
-         (byte-compile-file tangled-file 'load)
+          (byte-compile-file tangled-file)
+          (load tangled-file)
          (message "Compiled and loaded %s" tangled-file))
       (load-file tangled-file)
       (message "Loaded %s" tangled-file))))
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index dbbb127..eed73f5 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -196,7 +196,8 @@ All commands in `lisp-mode-shared-map' are inherited by 
this map.")
   (if (and (buffer-modified-p)
           (y-or-n-p (format "Save buffer %s first? " (buffer-name))))
       (save-buffer))
-  (byte-recompile-file buffer-file-name nil 0 t))
+  (byte-recompile-file buffer-file-name nil 0)
+  (load buffer-file-name))
 
 (defun emacs-lisp-macroexpand ()
   "Macroexpand the form after point.
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index aab6a3a..9c5f028 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -1392,7 +1392,7 @@ Argument ARG represents to force a refresh past any 
caches that may exist."
     (if (and (file-exists-p f) (string-match "\\.el\\'" f))
        (progn
          (dframe-select-attached-frame speedbar-frame)
-         (byte-compile-file f nil)
+          (byte-compile-file f)
          (select-frame sf)
          (speedbar-reset-scanners)))
     ))
diff --git a/test/lisp/emacs-lisp/bytecomp-tests.el 
b/test/lisp/emacs-lisp/bytecomp-tests.el
index a9dcf15..ea5aacd 100644
--- a/test/lisp/emacs-lisp/bytecomp-tests.el
+++ b/test/lisp/emacs-lisp/bytecomp-tests.el
@@ -444,8 +444,8 @@ Subtests signal errors if something goes wrong."
            (if compile
                (let ((byte-compile-dest-file-function
                       (lambda (e) elcfile)))
-                 (byte-compile-file elfile t))
-             (load elfile nil 'nomessage)))
+                 (byte-compile-file elfile)))
+           (load elfile nil 'nomessage))
       (when elfile (delete-file elfile))
       (when elcfile (delete-file elcfile)))))
 (put 'test-byte-comp-compile-and-load 'lisp-indent-function 1)
@@ -646,7 +646,8 @@ literals (Bug#20852)."
                     (setq bytecomp-tests--foobar (bytecomp-tests--foobar))))
       (print form (current-buffer)))
     (write-region (point-min) (point-max) source nil 'silent)
-    (byte-compile-file source t)
+    (byte-compile-file source)
+    (load source)
     (should (equal bytecomp-tests--foobar (cons 1 2)))))
 
 (ert-deftest bytecomp-tests--test-no-warnings-with-advice ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]