From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Evil defvars in org.el Date: Wed, 09 May 2012 13:37:51 -0400 Message-ID: References: <87k411g8xa.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1336585680 948 80.91.229.3 (9 May 2012 17:48:00 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 9 May 2012 17:48:00 +0000 (UTC) Cc: emacs-devel@gnu.org To: Martyn Jago Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed May 09 19:47:59 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 1SSAzW-0001Kr-Fz for ged-emacs-devel@m.gmane.org; Wed, 09 May 2012 19:47:58 +0200 Original-Received: from localhost ([::1]:50153 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SSAzV-0001gS-SR for ged-emacs-devel@m.gmane.org; Wed, 09 May 2012 13:47:57 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:36257) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SSAzN-0001Mp-2Y for emacs-devel@gnu.org; Wed, 09 May 2012 13:47:55 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SSAzK-0007Pe-It for emacs-devel@gnu.org; Wed, 09 May 2012 13:47:48 -0400 Original-Received: from pruche.dit.umontreal.ca ([132.204.246.22]:57641) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SSAzK-0007P4-EP for emacs-devel@gnu.org; Wed, 09 May 2012 13:47:46 -0400 Original-Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id q49Hladc005035; Wed, 9 May 2012 13:47:37 -0400 Original-Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 061C8AE499; Wed, 9 May 2012 13:37:51 -0400 (EDT) In-Reply-To: (Martyn Jago's message of "Tue, 08 May 2012 23:48:26 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4217=0 X-NAI-Spam-Version: 2.2.0.9309 : core <4217> : streams <754369> : uri <1109441> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 132.204.246.22 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:150403 Archived-At: >> org.el (and org-agenda.el, and maybe others) have defvars like this: >> >> (defvar entry) >> (defvar date) >> >> This is going to blow up in someone's face, because it makes `entry' and >> `date' unusable as lexical variables, even though those are very common >> variable names. That is to say, loading Org mode would change the >> behavior of packages using lexical binding in some unpredictable way. >> >> Why does org need to do this? Could you try to clean it up? > Perhaps Emacs can prefix the `evil vars' and alias them to the original, > with a deprecation warning? Oh, no, no, please no, if you alias them then they become globally "dynamic vars", whereas currently they're only dynamic vars within the files that do (defvar entry) so the damage is somewhat contained. Stefan