]> git.eshelyaron.com Git - emacs.git/commitdiff
byte-compile-file: Make optional LOAD argument obsolete
authorStefan Kangas <stefan@marxist.se>
Mon, 21 Sep 2020 22:16:22 +0000 (00:16 +0200)
committerStefan Kangas <stefan@marxist.se>
Tue, 20 Oct 2020 16:48:27 +0000 (18:48 +0200)
* 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
etc/NEWS
lisp/emacs-lisp/bytecomp.el
lisp/org/org.el
lisp/progmodes/elisp-mode.el
lisp/speedbar.el
test/lisp/emacs-lisp/bytecomp-tests.el

index e979fda41eb073e519c3c97cc3d2fe60f91e5f2c..ad8afaae608b94fa7c9bdb93b6aadee544439fcb 100644 (file)
@@ -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*
index c571fa95d182e82ad93ca50d074e28715d3618a2..f3e3d9a1b6e0f129c14b20a672d141c8a6a5affe 100644 (file)
--- 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.
 
 ---
index 90809a929b932996d337ede7441b94414ae1e87b..b63d06a58493ad1534e820c808d54c3840c63b3d 100644 (file)
@@ -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
index 7733198c5882f400d664bc685e8548d79017a0be..1ab8ab688807fe79d87ee40e63b2eeef23a2a956 100644 (file)
@@ -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))))
index dbbb1274faab0479c29816cfcb2e966414bc9651..eed73f579181ac9fe80d555b6d9718b7e723a3ce 100644 (file)
@@ -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.
index aab6a3a1283c78cd92ba1cc8f51068bde28624f2..9c5f028e4ab236c9aff85b8eab444801115558fe 100644 (file)
@@ -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)))
     ))
index a9dcf15261704f2a7900a66d10f3bf430b5af47e..ea5aacd79125910640b90ca2490ae3597a4e8781 100644 (file)
@@ -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 ()