]> git.eshelyaron.com Git - emacs.git/commitdiff
Document and test 'no-byte-compile' behavior.
authorPhilipp Stephani <phst@google.com>
Tue, 21 Jun 2022 17:10:14 +0000 (19:10 +0200)
committerPhilipp Stephani <phst@google.com>
Tue, 21 Jun 2022 17:11:05 +0000 (19:11 +0200)
* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Document behavior
if 'no-byte-compile' is set.
* test/lisp/emacs-lisp/bytecomp-tests.el
(byte-compile-file/no-byte-compile): New unit test.
* test/lisp/emacs-lisp/bytecomp-resources/no-byte-compile.el: New test
file.

lisp/emacs-lisp/bytecomp.el
test/lisp/emacs-lisp/bytecomp-resources/no-byte-compile.el [new file with mode: 0644]
test/lisp/emacs-lisp/bytecomp-tests.el

index 04c107a7cfae860a20ac63b7bdca1f062a6cbcdd..4fd65bb5d5399dba7fbc322a3e9b76df62902f3a 100644 (file)
@@ -2089,6 +2089,9 @@ If compilation is needed, this functions returns the result of
 The output file's name is generated by passing FILENAME to the
 function `byte-compile-dest-file' (which see).
 The value is non-nil if there were no errors, nil if errors.
+If the file sets the file variable `no-byte-compile', it is not
+compiled, any existing output file is removed, and the return
+value is `no-byte-compile'.
 
 See also `emacs-lisp-byte-compile-and-load'."
   (declare (advertised-calling-convention (filename) "28.1"))
diff --git a/test/lisp/emacs-lisp/bytecomp-resources/no-byte-compile.el b/test/lisp/emacs-lisp/bytecomp-resources/no-byte-compile.el
new file mode 100644 (file)
index 0000000..00ad194
--- /dev/null
@@ -0,0 +1 @@
+;; -*- no-byte-compile: t; -*-
index fbc00b30c54300766d66fa10b646aad101ff6c4e..9c5bef09a3402c2420dd201eff8edb9721a44692 100644 (file)
@@ -1642,6 +1642,13 @@ EXPECTED-POINT BINDINGS (MODES \\='\\='(ruby-mode js-mode python-mode)) \
           (setq actual (nreverse actual))
           (should (equal actual expected)))))))
 
+(ert-deftest byte-compile-file/no-byte-compile ()
+  (let* ((src-file (ert-resource-file "no-byte-compile.el"))
+         (dest-file (make-temp-file "bytecomp-tests-" nil ".elc"))
+         (byte-compile-dest-file-function (lambda (_) dest-file)))
+    (should (eq (byte-compile-file src-file) 'no-byte-compile))
+    (should-not (file-exists-p dest-file))))
+
 
 ;; Local Variables:
 ;; no-byte-compile: t