Subject: bug#17498: closed (Re: bug#17498: 24.4.50; This function has a compiler macro `yes--cmacro'.)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 16 May 2014 18:27:02 +0000

Your bug report

#17498: 24.4.50; This function has a compiler macro `yes--cmacro'.

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
17498: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17498
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#17498: 24.4.50; This function has a compiler macro `yes--cmacro'.
From: Leo Liu <[email-masked]>
To: Stefan Monnier <[email-masked]>
Cc: [email-masked]
Date: Sat, 17 May 2014 02:25:57 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

On 2014-05-16 08:24 -0400, Stefan Monnier wrote:
> Well, there's always some other way, but yes it's made so that it works
> when byte-compiling.

OK and thanks for the explanation. It took me by a surprise.

Leo

Subject: 24.4.50; This function has a compiler macro `yes--cmacro'.
From: Leo Liu <[email-masked]>
To: [email-masked]
Date: Thu, 15 May 2014 23:05:18 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Eval the following code

;;;; BEGIN
(defun yes ()
  )
(when nil
  (cl-define-compiler-macro yes (&rest _)))
;;;; END

,----[ C-h f yes RET ]
| yes is a Lisp function.
| 
| (yes)
| 
| This function has a compiler macro `yes--cmacro'.
| 
| Not documented.
| 
| [back]
`----

how is it possible? the compiler macro is defined at macro expansion
time?

Leo