Subject: bug#19704: closed (Re: bug#19704: 25.0.50; funcall with hard-quote inside cl-labels uses the local function binding)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 11 Jun 2016 21:39:02 +0000

Your bug report

#19704: 25.0.50; funcall with hard-quote inside cl-labels uses the local function binding

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].

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

Subject: Re: bug#19704: 25.0.50; funcall with hard-quote inside cl-labels uses the local function binding
From: Stefan Monnier <[email-masked]>
To: Noam Postavsky <[email-masked]>
Cc: [email-masked], Dmitry Gutov <[email-masked]>
Date: Sat, 11 Jun 2016 17:38:34 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

>> Looks OK, tho a bit on the hackish side.  Maybe a simpler solution is to
>> replace  (or 'quote 'function) with 'function (i.e. only apply the
>> optimization to (funcall #'foo ...) and not to (funcall 'foo ...)).
> This works, and it matches the existing comment better too.

Thanks, installed,

        Stefan

Subject: 25.0.50; funcall with hard-quote inside cl-labels uses the local function binding
From: Dmitry Gutov <[email-masked]>
To: [email-masked]
Date: Tue, 27 Jan 2015 17:22:36 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

In emacs-24 the below snippet returns (:global :local), whereas in master now, (:local :local).

(defun foo ()
  :global)

(cl-labels ((foo () :local))
  (list (funcall 'foo) (funcall #'foo)))

It's a bug, according to
http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00895.html.

In GNU Emacs 25.0.50.7 (x86_64-unknown-linux-gnu, GTK+ Version 3.12.2)
 of 2015-01-27 on axl
Repository revision: 11527553647f61798562f04c50b789edb8c15ac3
Windowing system distributor `The X.Org Foundation', version 11.0.11601901
System Description:	Ubuntu 14.10