]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge branch 'master' into feature/named-lambdas
authorAlan Mackenzie <acm@muc.de>
Wed, 30 Aug 2023 13:53:24 +0000 (13:53 +0000)
committerAlan Mackenzie <acm@muc.de>
Wed, 30 Aug 2023 13:53:24 +0000 (13:53 +0000)
23 files changed:
1  2 
lisp/Makefile.in
lisp/emacs-lisp/byte-opt.el
lisp/emacs-lisp/bytecomp.el
lisp/emacs-lisp/cl-generic.el
lisp/emacs-lisp/cl-macs.el
lisp/emacs-lisp/comp.el
lisp/emacs-lisp/ert.el
lisp/emacs-lisp/loaddefs-gen.el
lisp/emacs-lisp/macroexp.el
lisp/emacs-lisp/oclosure.el
lisp/help.el
lisp/progmodes/compile.el
lisp/progmodes/elisp-mode.el
lisp/simple.el
lisp/subr.el
src/bytecode.c
src/comp.c
src/data.c
src/eval.c
src/lisp.h
src/lread.c
test/Makefile.in
test/lisp/emacs-lisp/bytecomp-tests.el

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 375f003592c3adb30b6fda33db34ed9ffe5fa69c,ad0077dadda9f59afa1d19bf6a552bb53ac53f6c..b8b086b6c16f0782ff6552675560238838ea9eb0
@@@ -1304,16 -1318,26 +1321,28 @@@ clashes.
            (make-temp-file (comp-c-func-name function-name "freefn-")
                            nil ".eln")))
    (let* ((f (symbol-function function-name))
+          (byte-code (byte-compile function-name))
           (c-name (comp-c-func-name function-name "F"))
-          (func (make-comp-func-l :name function-name
-                                  :c-name c-name
-                                  :doc (documentation f t)
-                                  :int-spec (interactive-form f)
-                                  :command-modes (command-modes f)
-                                  :speed (comp-spill-speed function-name)
-                                  :pure (comp-spill-decl-spec function-name
-                                                              'pure)
-                                  :defining-symbol function-name)))
+          (func
+           (if (comp-lex-byte-func-p byte-code)
+               (make-comp-func-l :name function-name
+                                 :c-name c-name
+                                 :doc (documentation f t)
+                                 :int-spec (interactive-form f)
+                                 :command-modes (command-modes f)
+                                 :speed (comp-spill-speed function-name)
+                                 :pure (comp-spill-decl-spec function-name
 -                                                            'pure))
++                                                            'pure)
++                                :defining-symbol function-name)
+             (make-comp-func-d :name function-name
+                               :c-name c-name
+                               :doc (documentation f t)
+                               :int-spec (interactive-form f)
+                               :command-modes (command-modes f)
+                               :speed (comp-spill-speed function-name)
+                               :pure (comp-spill-decl-spec function-name
 -                                                          'pure)))))
++                                                          'pure)
++                              :defining-symbol function-name))))
        (when (byte-code-function-p f)
          (signal 'native-compiler-error
                  '("can't native compile an already byte-compiled function")))
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc lisp/help.el
Simple merge
Simple merge
Simple merge
diff --cc lisp/simple.el
Simple merge
diff --cc lisp/subr.el
Simple merge
diff --cc src/bytecode.c
Simple merge
diff --cc src/comp.c
Simple merge
diff --cc src/data.c
Simple merge
diff --cc src/eval.c
Simple merge
diff --cc src/lisp.h
Simple merge
diff --cc src/lread.c
Simple merge
Simple merge