From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Philipp Stephani Newsgroups: gmane.emacs.devel Subject: Re: Propagating local variables? Date: Sat, 19 May 2018 14:11:36 +0200 Message-ID: References: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000284387056c8df92f" X-Trace: blaine.gmane.org 1526731803 25992 195.159.176.226 (19 May 2018 12:10:03 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 19 May 2018 12:10:03 +0000 (UTC) To: emacs-devel@gnu.org, Shea Levy Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat May 19 14:09:59 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fK0gP-0006bx-Hm for ged-emacs-devel@m.gmane.org; Sat, 19 May 2018 14:09:57 +0200 Original-Received: from localhost ([::1]:42962 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fK0iU-0008F4-Rt for ged-emacs-devel@m.gmane.org; Sat, 19 May 2018 08:12:06 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35277) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fK0iF-0008Ez-WD for emacs-devel@gnu.org; Sat, 19 May 2018 08:11:52 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fK0iE-0005yg-Ut for emacs-devel@gnu.org; Sat, 19 May 2018 08:11:51 -0400 Original-Received: from mail-ot0-x22c.google.com ([2607:f8b0:4003:c0f::22c]:35792) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fK0iE-0005yR-Ov for emacs-devel@gnu.org; Sat, 19 May 2018 08:11:50 -0400 Original-Received: by mail-ot0-x22c.google.com with SMTP id h8-v6so12141882otb.2 for ; Sat, 19 May 2018 05:11:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=BR9QW7HBP2gQdCJlzCddFlz+2xLjRAth9eky1QotsLU=; b=OwJBt3yASL2/DUELOxJmQ+BNuQ7YpF4EgNCSPPsOBmIIijjyIaAfQz7pFO/jBYI8QH t6VLXYkCWQxDYR8sf1uGenrCeWZy+zdUpHAA2076lKUWkSaJEz4OJrB8f6OXC+iNG5Jx vXmkrMXz1MnnQGo2EzQrYNykss5EKP2dYqX1y38xO2sZwUqbW09AwIKt7AZrEyHGkI8o eqeJLMc3GsgIh7V2KPKUC1FoQG1maLoQokxwQUXGhY/G11DlquukrGtE75yR/MVvnAQN FPPy/jvCho93MiN8oBXdjoBN08+a4Cb6KSFyz/YIYsoWpY40/gT98lJ+bGasK0fMNVA3 3YZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=BR9QW7HBP2gQdCJlzCddFlz+2xLjRAth9eky1QotsLU=; b=kZnvwr4SFVRC9n5oeyFvjUlRkQiKq31Sax7qeZIZIVHojihAjgG0jmuUzplHlR00Bi sLbPfHovnIxbToYU6VxqXMKgRlOvjzBS+U2i9akkfkVifsyMmT/o5biySnacK/HtYP/D SVlU6roCP2I+Cz/LHzqwPPn8W/6zL+7Rt48dMVEjQOlhW6CAdyJxG+OB/WMdGCFNzcbO SfuAH4XjfH+2Fjo1wkP04Um4Ve3bI04oCHFfXzRdBimMffGRg5twSxfHpvy3omB1YQyU tedCfs2I02+uqNuSZaxvTyn0b0a41ZNFXJbyGqRQNPK8y9HXD7hA0ZdqoRPP7unHXhQ4 N3bQ== X-Gm-Message-State: ALKqPwcFbPJQ67+NvyJ5m+SYMDlB3omlwcsCtA4Nr4grkRGZKTOAGXVK A0ZXB4JQjSW1Z4ZfdtscdEM00E/F2yhkLuS3USiK+w== X-Google-Smtp-Source: AB8JxZrM/4HzxPki9DYlw2Rdj2SZJditiJF6e66LmXKPPPYhaARBw3V7gVcDy2zAt6gPd1C97GtzcnWSgXud1iIoLSU= X-Received: by 2002:a9d:b27:: with SMTP id a36-v6mr8313442ota.222.1526731909905; Sat, 19 May 2018 05:11:49 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4003:c0f::22c X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:225438 Archived-At: --000000000000284387056c8df92f Content-Type: text/plain; charset="UTF-8" John Wiegley schrieb am Di., 15. Mai 2018 um 21:40 Uhr: > I'd like to create a module, propagate.el, which defines a new class of > buffer > local variables: buffer local variables that propagate to any buffers or > processes (in the case of exec-path and process-environment) created on > behalf > of the parent. > There is some pior art to this (namely, `default-directory'), but such a facility needs to be very carefully designed because it changes fundamental aspects of ELisp in a subtle way. For example, callers of `with-temp-buffer' can currently assume that buffer-local variables are take from their global defaults and not from the "parent" buffer. This needs to stay that way. So probably such an inheritance facility should be opt-in and not affect existing code. Before jumping to implementation discussions, we should analyze the precise requirements for such a facility and make sure it's not a breaking change. --000000000000284387056c8df92f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


John W= iegley <johnw@gnu.org> schrieb a= m Di., 15. Mai 2018 um 21:40=C2=A0Uhr:
I'd like to create a module, propagate.el, which defines a new clas= s of buffer
local variables: buffer local variables that propagate to any buffers or processes (in the case of exec-path and process-environment) created on beh= alf
of the parent.

There is some pior art to this (namely, `d= efault-directory'), but such a facility needs to be very carefully desi= gned because it changes fundamental aspects of ELisp in a subtle way. For e= xample, callers of `with-temp-buffer' can currently assume that buffer-= local variables are take from their global defaults and not from the "= parent" buffer. This needs to stay that way. So probably such an inher= itance facility should be opt-in and not affect existing code.
Be= fore jumping to implementation discussions, we should analyze the precise r= equirements for such a facility and make sure it's not a breaking chang= e.=C2=A0
--000000000000284387056c8df92f--