From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "paul r" Newsgroups: gmane.emacs.devel Subject: Re: lexbind Date: Tue, 4 Mar 2008 17:29:03 +0100 Message-ID: References: <87ir02fqlw.fsf@catnip.gol.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1204648232 4920 80.91.229.12 (4 Mar 2008 16:30:32 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 4 Mar 2008 16:30:32 +0000 (UTC) Cc: emacs-devel@gnu.org, Stefan Monnier , rms@gnu.org To: "Miles Bader" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Mar 04 17:30:58 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JWa1v-0006Px-Qi for ged-emacs-devel@m.gmane.org; Tue, 04 Mar 2008 17:30:16 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JWa1O-0004Ip-NZ for ged-emacs-devel@m.gmane.org; Tue, 04 Mar 2008 11:29:42 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JWa0q-0003xG-3I for emacs-devel@gnu.org; Tue, 04 Mar 2008 11:29:08 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JWa0o-0003vu-JR for emacs-devel@gnu.org; Tue, 04 Mar 2008 11:29:07 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JWa0o-0003vh-Gz for emacs-devel@gnu.org; Tue, 04 Mar 2008 11:29:06 -0500 Original-Received: from nf-out-0910.google.com ([64.233.182.189]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JWa0o-0003yI-0t for emacs-devel@gnu.org; Tue, 04 Mar 2008 11:29:06 -0500 Original-Received: by nf-out-0910.google.com with SMTP id f5so553263nfh.26 for ; Tue, 04 Mar 2008 08:29:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=5m5yl5MXl9Tu3AffR1VWHtTR12/7q+m1Ed3D+RUeYks=; b=AD5vH65XqzqKC2P0uVA2hodiiC66u4USW6nwYivPx3JuLo18n0baX+nL2Qv702F0Ba9/GaIW7C2HjwfUE7tBlLORqxCnbfq5nZ/ejxd/yRulBPdXWsqBzhG58T2Ped8E72YHwErJ1ptnMnx02Fi18sRaDRJBtDQ11icdAPqIToA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=UERaIW1bBHzh1ZYo4ejgkY9isqKmX1PGJJpDOgYsYbyHrDZJTz+1eDZ6a1lK4eu1reMtPv1VTXWzwo/t8O6/kBUEtpm4NyOCYxdhndGZF9exsEWtji8BLzpH4znuIwjxLAaRLF8tsEfoEKe9w8m7qNn/PL6+S5NCQaZ6g+kgIQM= Original-Received: by 10.82.134.12 with SMTP id h12mr5125071bud.34.1204648144015; Tue, 04 Mar 2008 08:29:04 -0800 (PST) Original-Received: by 10.82.175.3 with HTTP; Tue, 4 Mar 2008 08:29:03 -0800 (PST) In-Reply-To: <87ir02fqlw.fsf@catnip.gol.com> Content-Disposition: inline X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:91294 Archived-At: > > Well there's the occasional desire to have other files use your > functions... > > -miles > > for sure you have never seen one of *my* functions, or you would not believe any other file want to refer to it ! more seriously, there is this obvious case showing globaly bound functions are required. On the other hand, some others functions will never be use out of lexical scope, so the developper has to choose between : - manipulate symbols bound to lambda definitions as proposed above, which is a working solution but far less pleasant to manipulate than normaly "defun-ed" functions - do a regular (defun ...), which ends up being noisy. In the current CVS, I can count more than 7600 fonctions in the "M-x describe-function" completion buffer. A quick look at them make me think a lot of them are not designed to work out of lexical scope, or at least they are designed by a mode, for its own use only, and could therefore be in the lexical scope. In the spirit of the (lexical-let ...), a possible improvement could be to have a (lexical-defun ...), don't you think ? It would not break anything and would make at least one person happy, maybe more. Just an idea, be sure I appreciate you know this topic several orders of magnitude better than I will ever do. -- paul