From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Miles Bader Newsgroups: gmane.emacs.devel Subject: Re: frame-local variables weirdness Date: Mon, 22 Oct 2007 11:26:11 +0900 Message-ID: References: <858x65lh4m.fsf@lola.goethe.zz> <2bfd4e060710171029g30a62313naf31c5363d85d6ca@mail.gmail.com> <87fy04sehj.fsf@catnip.gol.com> Reply-To: Miles Bader NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1193020004 4759 80.91.229.12 (22 Oct 2007 02:26:44 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Oct 2007 02:26:44 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Oct 22 04:26:44 2007 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 1Ijn08-00063R-D3 for ged-emacs-devel@m.gmane.org; Mon, 22 Oct 2007 04:26:44 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ijn00-00024D-DM for ged-emacs-devel@m.gmane.org; Sun, 21 Oct 2007 22:26:36 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ijmzx-000248-8o for emacs-devel@gnu.org; Sun, 21 Oct 2007 22:26:33 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ijmzt-00023w-Sj for emacs-devel@gnu.org; Sun, 21 Oct 2007 22:26:33 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ijmzt-00023t-O1 for emacs-devel@gnu.org; Sun, 21 Oct 2007 22:26:29 -0400 Original-Received: from tyo202.gate.nec.co.jp ([202.32.8.206]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Ijmzr-0004Iq-7X; Sun, 21 Oct 2007 22:26:27 -0400 Original-Received: from relay21.aps.necel.com ([10.29.19.50]) by tyo202.gate.nec.co.jp (8.13.8/8.13.4) with ESMTP id l9M2QBah026567; Mon, 22 Oct 2007 11:26:11 +0900 (JST) Original-Received: from relay21.aps.necel.com ([10.29.19.20] [10.29.19.20]) by relay21.aps.necel.com with ESMTP; Mon, 22 Oct 2007 11:26:11 +0900 Original-Received: from dhapc248.dev.necel.com ([10.114.112.215] [10.114.112.215]) by relay21.aps.necel.com with ESMTP; Mon, 22 Oct 2007 11:26:11 +0900 Original-Received: by dhapc248.dev.necel.com (Postfix, from userid 31295) id 844C6437; Mon, 22 Oct 2007 11:26:11 +0900 (JST) System-Type: i686-pc-linux-gnu Blat: Foop In-Reply-To: (Stefan Monnier's message of "Sun\, 21 Oct 2007 15\:20\:04 -0400") Original-Lines: 36 X-detected-kernel: by monty-python.gnu.org: Solaris 8 (1) 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:81422 Archived-At: Stefan Monnier writes: > Agreed. In this sense, specifiers are halfway between frame-local variables > and using frame-parameter: like using frame-parameter they do require the > programmer to expect that the variable is going to be made local to > something, but like frame-local variables they do not require the programmer > to know to what kind of thing it's going to be made local (it can be made > buffer-local, frame-local, window-local, buffer-position-local, ... without > changes to the code). That's not "halfway" though. There's a huge leap from "bog standard global variable" to "special variable-like-form intended to accessed in a context-dependent way". I think most programmers will either not be aware of the issue, or will be reluctant to use such a special form in most cases (with good reason, if the result is less readable). In any case, the effect is the same, that the "availability" of variables for context-specific user customization of such a system will be much poorer than the current system. > Basically, this new proposal is trying to focus on the one issue which > I believe is key: mixing object-local bindings with let-bindings is a source > of pain and bugs. I don't really know the implementation details, so I can't really say. [Despite the fact that that elisp uses shallow binding, I still seem to assume deep binding in my mental model of how lisp variables work, and such mixed usage doesn't seem to be a problem for deep binding... :-] -Miles -- o The existentialist, not having a pillow, goes everywhere with the book by Sullivan, _I am going to spit on your graves_.