Subject: Master: Native compiler doesn't always compile lambda forms.

From: Alan Mackenzie <[email-masked]>
Date: Sat, 15 Jul 2023 12:10:06 +0000

In the master branch:

(i) emacs -Q
(ii) C-x b foo.el <RET>
(iii) Insert into foo.el:
    ;; -*- lexical-binding:t -*-
(iv) M-x emacs-lisp-mode
(v) Insert into foo.el:
    (defun foo () "foo doc string"
      (lambda (bar) "lambda doc string" (car bar)))
(vi) With point after the function, C-x C-e to evaluate it.

(vii) M-: (native-compile 'foo)
This returns #<subr foo>
(viii) M-: (foo)
This returns the lambda form as a byte-compiled function.  This is a bug:
it should return the lambda form as a native-compiled function.

Note: this bug is also in the emacs-29 branch.

-- 
Alan Mackenzie (Nuremberg, Germany).