From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Nathan Weizenbaum Newsgroups: gmane.emacs.bugs Subject: bug#6203: Frame-local variables break let-binding Date: Mon, 17 May 2010 13:10:43 -0700 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001636284ca2d0a8420486cfd1e6 X-Trace: dough.gmane.org 1274128032 32113 80.91.229.12 (17 May 2010 20:27:12 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 17 May 2010 20:27:12 +0000 (UTC) Cc: 6203@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon May 17 22:27:10 2010 connect(): No such file or directory Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OE6u4-0000yZ-Tv for geb-bug-gnu-emacs@m.gmane.org; Mon, 17 May 2010 22:27:09 +0200 Original-Received: from localhost ([127.0.0.1]:45480 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OE6u4-0007dy-8P for geb-bug-gnu-emacs@m.gmane.org; Mon, 17 May 2010 16:27:08 -0400 Original-Received: from [140.186.70.92] (port=39307 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OE6tr-0007Xd-Mo for bug-gnu-emacs@gnu.org; Mon, 17 May 2010 16:27:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OE6tm-00026d-2L for bug-gnu-emacs@gnu.org; Mon, 17 May 2010 16:26:54 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:51054) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OE6tm-00026Z-0V for bug-gnu-emacs@gnu.org; Mon, 17 May 2010 16:26:50 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1OE6eU-0006vQ-HN; Mon, 17 May 2010 16:11:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Nathan Weizenbaum Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 17 May 2010 20:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 6203 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 6203-submit@debbugs.gnu.org id=B6203.127412705026614 (code B ref 6203); Mon, 17 May 2010 20:11:02 +0000 Original-Received: (at 6203) by debbugs.gnu.org; 17 May 2010 20:10:50 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OE6eH-0006vD-9m for submit@debbugs.gnu.org; Mon, 17 May 2010 16:10:49 -0400 Original-Received: from mail-gx0-f214.google.com ([209.85.217.214]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OE6eF-0006v8-Qe for 6203@debbugs.gnu.org; Mon, 17 May 2010 16:10:48 -0400 Original-Received: by gxk6 with SMTP id 6so1837525gxk.5 for <6203@debbugs.gnu.org>; Mon, 17 May 2010 13:10:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=WOUj+WXEAFV12fDksw/+x3EEfWr372EbVQy1K6kyd8Q=; b=gZ4H0TE5lDM4+kEgOTY8XxpmHfzfwSQ/fPnXx52TjPhILDExBKPf4RGsUQ2b8aBT2E KoEEv4AOVyGHZKxw0/EFjPOtRCLl53vhSBmxq7rw1DxreyTDQG1L84b3tH+ceN5xFwxE b0F501tqzFyPfDxWKeycHX9JknL8kdR7sHXbs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=vshDIjAFLdBeoOOhnIrr0SMJAKUXN0/c/NU8yc0vOjsHXmCW5+/9cl+sBtk+i5ilzi rTQuwFkFu0XxscXjjqCNo6HHMgxsdjxokXAthsS+c8ZGPbeQeIb2ap+mmDTWSy1mvdFv gJ1+19/zsbw4ZpVY4j5MFfyUIyTPmMdyklqas= Original-Received: by 10.90.2.4 with SMTP id 4mr2276702agb.42.1274127043307; Mon, 17 May 2010 13:10:43 -0700 (PDT) Original-Received: by 10.90.25.9 with HTTP; Mon, 17 May 2010 13:10:43 -0700 (PDT) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Mon, 17 May 2010 16:11:02 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:37003 Archived-At: --001636284ca2d0a8420486cfd1e6 Content-Type: text/plain; charset=ISO-8859-1 But frame-parameters have to be manually managed with frame-parameter, no? Even ignoring compatibility for user-facing configuration, it seems really annoying to have to call frame-parameter and set-frame-parameter all the time, especially if you're trying to simulate `let'. Are there at least any plans for a nicer API for working with what used to be frame-local variables? On Mon, May 17, 2010 at 12:48 PM, Stefan Monnier wrote: > > This all raises the issue, though: what's the accepted replacement for > > frame-local variables, > > frame-parameters > > > and why are they deprecated in the first place? > > Because OT1H they're very little used, and OTOH they're a pain in the > rear to support and maintain because of all kinds of corner cases, and > it'll only get better with the addition of concurrency and/or > lexical scoping. > > > My package has rather a few of them, and it's very useful to be able > > to use them like variables. I want to make them available for user > > customization, let-bind them, and use them without having to go > > through lots of manual frame-parameter rigamarole each time. I would > > rather not break any user customizations using these variables. > > So what should I do? > > Use frame-parameters. Note that until Emacs-24 is released, that gives > you a fair bit of time to deal with it. > > > Stefan > --001636284ca2d0a8420486cfd1e6 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable But frame-parameters have to be manually managed with frame-parameter, no? = Even ignoring compatibility for user-facing configuration, it seems really = annoying to have to call frame-parameter and set-frame-parameter all the ti= me, especially if you're trying to simulate `let'.

Are there at least any plans for a nicer API for working with what used= to be frame-local variables?

On Mon, May= 17, 2010 at 12:48 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:=
> This all raises the issue, though: what's the accepted replacemen= t for
> frame-local variables,

frame-parameters

> and why are they deprecated in the first place?

Because OT1H they're very little used, and OTOH they're a pai= n in the
rear to support and maintain because of all kinds of corner cases, and
it'll only get better with the addition of concurrency and/or
lexical scoping.

> My package has rather a few of them, and it's very useful to be ab= le
> to use them like variables. =A0I want to make them available for user<= br> > customization, let-bind them, and use them without having to go
> through lots of manual frame-parameter rigamarole each time. =A0I woul= d
> rather not break any user customizations using these variables.
> So what should I do?

Use frame-parameters. =A0Note that until Emacs-24 is released, that g= ives
you a fair bit of time to deal with it.


=A0 =A0 =A0 =A0Stefan

--001636284ca2d0a8420486cfd1e6--