From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Katsumi Yamaoka Newsgroups: gmane.emacs.bugs Subject: bug#19613: 25.0.50; cl-labels bug Date: Mon, 26 Jan 2015 14:57:49 +0900 Organization: Emacsen advocacy group Message-ID: References: <7h4mrqmqrr.fsf@fencepost.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1422251895 18271 80.91.229.3 (26 Jan 2015 05:58:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 26 Jan 2015 05:58:15 +0000 (UTC) To: 19613@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jan 26 06:58:15 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YFcge-0002Od-LB for geb-bug-gnu-emacs@m.gmane.org; Mon, 26 Jan 2015 06:58:12 +0100 Original-Received: from localhost ([::1]:40047 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YFcgd-0005sM-TK for geb-bug-gnu-emacs@m.gmane.org; Mon, 26 Jan 2015 00:58:11 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42576) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YFcgY-0005ra-DR for bug-gnu-emacs@gnu.org; Mon, 26 Jan 2015 00:58:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YFcgU-0000ir-EC for bug-gnu-emacs@gnu.org; Mon, 26 Jan 2015 00:58:06 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37772) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YFcgU-0000iY-BI for bug-gnu-emacs@gnu.org; Mon, 26 Jan 2015 00:58:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YFcgU-0007zK-2D for bug-gnu-emacs@gnu.org; Mon, 26 Jan 2015 00:58:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Katsumi Yamaoka Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 26 Jan 2015 05:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19613 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 19613-submit@debbugs.gnu.org id=B19613.142225187730696 (code B ref 19613); Mon, 26 Jan 2015 05:58:01 +0000 Original-Received: (at 19613) by debbugs.gnu.org; 26 Jan 2015 05:57:57 +0000 Original-Received: from localhost ([127.0.0.1]:56464 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFcgP-0007z2-6Z for submit@debbugs.gnu.org; Mon, 26 Jan 2015 00:57:57 -0500 Original-Received: from memphis-mail.hostforweb.net ([216.246.47.48]:58845 helo=memphis.hostforweb.net) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFcgM-0007yn-7P for 19613@debbugs.gnu.org; Mon, 26 Jan 2015 00:57:54 -0500 Original-Received: from localhost ([127.0.0.1]:37929) by memphis.hostforweb.net with smtp (Exim 4.84) (envelope-from ) id 1YFcgG-001E68-4o for 19613@debbugs.gnu.org; Sun, 25 Jan 2015 23:57:48 -0600 X-Face: #kKnN,xUnmKia.'[pp`; Omh}odZK)?7wQSl"4o04=EixTF+V[""w~iNbM9ZL+.b*_CxUmFk B#Fu[*?MZZH@IkN:!"\w%I_zt>[$nm7nQosZ<3eu; B:$Q_:p!',P.c0-_Cy[dz4oIpw0ESA^D*1Lw= L&i*6&( User-Agent: Gnus/5.130012 (=?UTF-8?Q?=E7=9C=9F?= Gnus v0.12) Emacs/25.0.50 (i686-pc-cygwin) Cancel-Lock: sha1:/wdBIO+exo7643rjIA/AhhmzZPU= X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - memphis.hostforweb.net X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - jpl.org X-Get-Message-Sender-Via: memphis.hostforweb.net: acl_c_authenticated_local_user: yamaokac X-Source: X-Source-Args: X-Source-Dir: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:98740 Archived-At: --=-=-= On Thu, 22 Jan 2015 16:07:17 +0900, Katsumi Yamaoka wrote: > I have still a problem with `cl-labels' used within `lexical-let'. > (lexical-let (var) > (cl-labels ((fn (arg) arg)) > (apply #'fn (list "arg")))) > => apply: Symbol's function definition is void: fn When a `cl-labels' form is wrapped with `lexical-let', it runs `cl--function-convert' instead of `cl--labels-convert'. So, `cl--function-convert' also needs to be fixed like the ones Stefan did in `cl--labels-convert'[1], doesn't it? I tried the attached patch and verified it fixes not only the `cl-labels' bug but also the `cl-flet' bug[2]. [1] git diff -U 9d940c6 69f36af lisp/emacs-lisp/cl-macs.el [2] (lexical-let (var) (cl-flet ((fn (arg) arg)) (apply #'fn (list "arg")))) => apply: Symbol's function definition is void: fn --=-=-= Content-Type: text/x-patch Content-Disposition: inline --- cl.el~ 2015-01-26 04:16:45.291325300 +0000 +++ cl.el 2015-01-26 05:53:38.810655900 +0000 @@ -374,10 +374,12 @@ (setq cl--function-convert-cache (cons newf res)) res)))) (t - (let ((found (assq f macroexpand-all-environment))) - (if (and found (ignore-errors - (eq (cadr (cl-caddr found)) 'cl-labels-args))) - (cadr (cl-caddr (cl-cadddr found))) + (let* ((found (assq f macroexpand-all-environment)) + (replacement (and found + (ignore-errors + (funcall (cdr found) cl--labels-magic))))) + (if (and replacement (eq cl--labels-magic (car replacement))) + (nth 1 replacement) (let ((res `(function ,f))) (setq cl--function-convert-cache (cons f res)) res)))))) --=-=-=--