From unknown Fri Jun 20 20:01:41 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#20509 <20509@debbugs.gnu.org> To: bug#20509 <20509@debbugs.gnu.org> Subject: Status: compiler warns about cl-defmethod defined after use Reply-To: bug#20509 <20509@debbugs.gnu.org> Date: Sat, 21 Jun 2025 03:01:41 +0000 retitle 20509 compiler warns about cl-defmethod defined after use reassign 20509 emacs submitter 20509 Glenn Morris severity 20509 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue May 05 14:16:20 2015 Received: (at submit) by debbugs.gnu.org; 5 May 2015 18:16:20 +0000 Received: from localhost ([127.0.0.1]:35522 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YphOF-0008Qn-MJ for submit@debbugs.gnu.org; Tue, 05 May 2015 14:16:19 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:51965 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YphOD-0008Qe-Ii for submit@debbugs.gnu.org; Tue, 05 May 2015 14:16:18 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1YphOB-00067B-5G; Tue, 05 May 2015 14:16:15 -0400 From: Glenn Morris To: submit@debbugs.gnu.org Subject: compiler warns about cl-defmethod defined after use X-Spook: fraud global insurgency CIDA Forte sweep fissionable X-Ran: &V*VhLQUW/^dMf4i*DFeyb{i89d!l9P9ClVwe|r7`#MWj:st1!59S]|SC$X+M_wX7oQG>M X-Hue: black X-Debbugs-No-Ack: yes X-Attribution: GM Date: Tue, 05 May 2015 14:16:14 -0400 Message-ID: <9g8ud2ubyp.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Package: emacs Version: 25.0.50 Compiling foo.el with contents: (require 'cl-lib) (defun foo-1 () (foo-2)) (cl-defmethod foo-2 () t) results in: In end of data: foo.el:8:1:Warning: the function `foo-2' is not known to be defined. There is no such warning when using defun instead of cl-defmethod, or if foo-2 is moved before foo-1. I see that cl-defmethod macroexpands to something using declare-function. Adding (setq byte-compile-unresolved-functions (delq (assq fn byte-compile-unresolved-functions) byte-compile-unresolved-functions)) to byte-compile-macroexpand-declare-function solves the issue, but I'm not sure it is right, since it might stop byte-compile-arglist-warn doing its job (?). On the other hand, it would be consistent with what byte-compile-file-form-autoload does (see comment in the code). On the other other hand, declare-function's currently have to come before any use of the function thay are declaring, which is somewhat intentional. From debbugs-submit-bounces@debbugs.gnu.org Tue May 05 16:00:51 2015 Received: (at 20509) by debbugs.gnu.org; 5 May 2015 20:00:52 +0000 Received: from localhost ([127.0.0.1]:35574 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ypj1P-0002Zr-6A for submit@debbugs.gnu.org; Tue, 05 May 2015 16:00:51 -0400 Received: from mercure.iro.umontreal.ca ([132.204.24.67]:45383) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ypj1M-0002Zh-Cg for 20509@debbugs.gnu.org; Tue, 05 May 2015 16:00:49 -0400 Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca [132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id BDCC285C9A; Tue, 5 May 2015 16:00:47 -0400 (EDT) Received: from lechon.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by hidalgo.iro.umontreal.ca (Postfix) with ESMTP id 02D9F1E5B99; Tue, 5 May 2015 16:00:16 -0400 (EDT) Received: by lechon.iro.umontreal.ca (Postfix, from userid 20848) id D8E1DB41A0; Tue, 5 May 2015 16:00:15 -0400 (EDT) From: Stefan Monnier To: Glenn Morris Subject: Re: bug#20509: compiler warns about cl-defmethod defined after use Message-ID: References: <9g8ud2ubyp.fsf@fencepost.gnu.org> Date: Tue, 05 May 2015 16:00:15 -0400 In-Reply-To: <9g8ud2ubyp.fsf@fencepost.gnu.org> (Glenn Morris's message of "Tue, 05 May 2015 14:16:14 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=-2.82, requis 5, autolearn=not spam, ALL_TRUSTED -2.82, MC_TSTLAST 0.00) X-DIRO-MailScanner-From: monnier@iro.umontreal.ca X-Spam-Status: No X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 20509 Cc: 20509@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > (require 'cl-lib) > (defun foo-1 () > (foo-2)) > (cl-defmethod foo-2 () > t) While using cl-defmethod without a previous cl-defgeneric is supported, it's not recommended. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue May 05 23:14:37 2015 Received: (at control) by debbugs.gnu.org; 6 May 2015 03:14:37 +0000 Received: from localhost ([127.0.0.1]:35772 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YppnA-00063d-Jm for submit@debbugs.gnu.org; Tue, 05 May 2015 23:14:36 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:49972 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yppn8-00063W-SR for control@debbugs.gnu.org; Tue, 05 May 2015 23:14:35 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1Yppn8-00085p-5W for control@debbugs.gnu.org; Tue, 05 May 2015 23:14:34 -0400 Date: Tue, 05 May 2015 23:14:34 -0400 Message-Id: Subject: control message for bug 20509 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) close 20509 25.1 From debbugs-submit-bounces@debbugs.gnu.org Tue May 05 23:17:06 2015 Received: (at 20509) by debbugs.gnu.org; 6 May 2015 03:17:07 +0000 Received: from localhost ([127.0.0.1]:35777 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ypppa-000682-CN for submit@debbugs.gnu.org; Tue, 05 May 2015 23:17:06 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:50114 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YpppY-00067u-Bc for 20509@debbugs.gnu.org; Tue, 05 May 2015 23:17:04 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1YpppX-0000CQ-Ip; Tue, 05 May 2015 23:17:03 -0400 From: Glenn Morris To: Stefan Monnier Subject: Re: bug#20509: compiler warns about cl-defmethod defined after use References: <9g8ud2ubyp.fsf@fencepost.gnu.org> X-Spook: quiche monarchist plutonium brigand advisors government X-Ran: c{Q|l6>4:{%U>h1sg+E%>+I56u!\TKjY/kkf+g17.bYMds7$3z_*T>m.a+0JPFk.9}jby& X-Hue: magenta X-Debbugs-No-Ack: yes X-Attribution: GM Date: Tue, 05 May 2015 23:17:03 -0400 Message-ID: <9qmw1iwg28.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 20509 Cc: 20509@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Stefan Monnier wrote: > While using cl-defmethod without a previous cl-defgeneric is supported, > it's not recommended. It's used without one in several places in Emacs: emacs-lisp/eieio-custom.el:472:1:Warning: the following functions are not known to be defined: eieio-customize-object, eieio-custom-object-apply-reset, eieio-custom-widget-insert emacs-lisp/eieio-speedbar.el:426:1:Warning: the following functions are not known to be defined: eieio-speedbar-make-tag-line, eieio-speedbar-object-children, eieio-speedbar-expand cedet/ede/base.el:662:1:Warning: the following functions are not known to be defined: ede-buffer-header-file, ede-target-sourcecode, ede-buffer-documentation-files, ede-documentation, ede-html-documentation cedet/ede/config.el:417:1:Warning: the following functions are not known to be defined: ede-config-get-configuration, ede-config-setup-configuration, ede-commit cedet/ede/custom.el:216:1:Warning: the following functions are not known to be defined: ede-customize, ede-commit-project etc etc. From debbugs-submit-bounces@debbugs.gnu.org Wed May 06 00:28:23 2015 Received: (at 20509) by debbugs.gnu.org; 6 May 2015 04:28:23 +0000 Received: from localhost ([127.0.0.1]:35807 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YpqwY-0000wY-Hz for submit@debbugs.gnu.org; Wed, 06 May 2015 00:28:22 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:62616) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YpqwV-0000wI-R6 for 20509@debbugs.gnu.org; Wed, 06 May 2015 00:28:20 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgUFAGvvdVRFpYts/2dsb2JhbAA3gVOhb4EIgXUBAQQBViMQCw4mEhQYDSSIE6IRjGQJAwECgz4Dg3AEo2OEWA X-IPAS-Result: AgUFAGvvdVRFpYts/2dsb2JhbAA3gVOhb4EIgXUBAQQBViMQCw4mEhQYDSSIE6IRjGQJAwECgz4Dg3AEo2OEWA X-IronPort-AV: E=Sophos;i="5.11,557,1422939600"; d="scan'208";a="118358752" Received: from 69-165-139-108.dsl.teksavvy.com (HELO ceviche.home) ([69.165.139.108]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 06 May 2015 00:28:14 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 6A418660E5; Wed, 6 May 2015 00:28:12 -0400 (EDT) From: Stefan Monnier To: Glenn Morris Subject: Re: bug#20509: compiler warns about cl-defmethod defined after use Message-ID: References: <9g8ud2ubyp.fsf@fencepost.gnu.org> <9qmw1iwg28.fsf@fencepost.gnu.org> Date: Wed, 06 May 2015 00:28:12 -0400 In-Reply-To: <9qmw1iwg28.fsf@fencepost.gnu.org> (Glenn Morris's message of "Tue, 05 May 2015 23:17:03 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 20509 Cc: 20509@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> While using cl-defmethod without a previous cl-defgeneric is supported, >> it's not recommended. > It's used without one in several places in Emacs: That's because EIEIO's older `defmethod' always counted as a "full" definition. We can fix those warnings in one of the following ways: - Add a corresponding cl-defgeneric. - Add a corresponding `require' which loads the package where the corresponding `cl-defgeneric' is found. - Reorder the code so that the cl-defmethod appears before the call(s). - Change cl-generic.el to use the same kind of bytecompiler hack that eieio used to use instead if using `declare-function'. Stefan From unknown Fri Jun 20 20:01:41 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 03 Jun 2015 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator