From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Pascal J. Bourguignon" Newsgroups: gmane.emacs.devel Subject: Re: CL functions called at runtime Date: Mon, 03 Dec 2012 20:56:34 +0100 Organization: Informatimago Message-ID: <87mwxuvril.fsf@kuiper.lan.informatimago.com> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1354564616 23148 80.91.229.3 (3 Dec 2012 19:56:56 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 3 Dec 2012 19:56:56 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Dec 03 20:57:09 2012 Return-path: Envelope-to: ged-emacs-devel@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 1Tfc8Z-0002tX-AN for ged-emacs-devel@m.gmane.org; Mon, 03 Dec 2012 20:57:07 +0100 Original-Received: from localhost ([::1]:56472 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tfc8N-0003iW-Mr for ged-emacs-devel@m.gmane.org; Mon, 03 Dec 2012 14:56:55 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:44236) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tfc8L-0003hm-3P for emacs-devel@gnu.org; Mon, 03 Dec 2012 14:56:54 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tfc8I-0000qB-85 for emacs-devel@gnu.org; Mon, 03 Dec 2012 14:56:53 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:39807) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tfc8I-0000q2-1A for emacs-devel@gnu.org; Mon, 03 Dec 2012 14:56:50 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1Tfc8P-0002bg-Ty for emacs-devel@gnu.org; Mon, 03 Dec 2012 20:56:57 +0100 Original-Received: from 92.103.75.130 ([92.103.75.130]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 03 Dec 2012 20:56:57 +0100 Original-Received: from pjb by 92.103.75.130 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 03 Dec 2012 20:56:57 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 36 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 92.103.75.130 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA oElEQVR4nK3OsRHCMAwF0O8YQufUNIQRGIAja9CxSA55AxZgFO4coMgYrEDDQZWPIlNAjwq9 033pbOBPtbXuB6PKNBn5gZkhGa86Z4x2wE67O+06WxGD/HCOGR0deY3f9Ijwwt7rNGNf6Oac l/GuZTF1wFGKiYYHKSFAkjIo1b6sCYS1sVmFhhhahKQssRjRT90ITWUk6vvK3RsPGs+M1RuR mV+hO/VvFAAAAABJRU5ErkJggg== X-Accept-Language: fr, es, en User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) Cancel-Lock: sha1:NmYzYzFkYTljZGY2NWViMGRjNGE0MWFiODUwZDQwMGNhNGJjMGQyMQ== X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:155211 Archived-At: Burton Samograd writes: > Hi, > > I seemed to have missed the dicussion about the warnings being generated > by the byte compiler about CL functions being called at runtime. Now > I'm seeing them in my code for useful functions like remove-if. > > Could someone explain why these warnings are being generated? That's because the functions defined in the file cl.el (and associated files) are not deemed "pure" emacs lisp enough. (Is the actual reason because RMS doesn't like Common Lisp, or because they represent a layer above emacs lisp and therefore may be slower than native emacs lisp functions? Some other reason I don't know?) It is accepted that they are used at macro expansion time, in emacs code distributed by the FSF, but the FSF doesn't want to distribute emacs code that depend on them at run-time. Notice however that if you don't have the intention to have your code integrated with the GNU emacs distribution, then this warning is totally irrelevant: you can make your code dependant on cl.el as you can make it dependent on any other emacs package, coming from the FSF or from any third party. I have this in my ~/.emacs to disable those warnings: (require 'bytecomp) (byte-compile-disable-warning 'cl-functions) -- __Pascal Bourguignon__ http://www.informatimago.com/ A bad day in () is better than a good day in {}.