From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.bugs Subject: bug#26624: 26.0.50; Generalized variable `buffer-local-value' does't restore local flag Date: Sun, 11 Feb 2018 21:56:47 +0100 Message-ID: <878tbz6y9c.fsf@web.de> References: <87zid6udys.fsf@drachen> <87mv13mim5.fsf@web.de> <87inbcwjrm.fsf@web.de> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1518382547 1047 195.159.176.226 (11 Feb 2018 20:55:47 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 11 Feb 2018 20:55:47 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: 26624@debbugs.gnu.org To: Philipp Stephani Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Feb 11 21:55:42 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1ekyea-0006no-E4 for geb-bug-gnu-emacs@m.gmane.org; Sun, 11 Feb 2018 21:55:16 +0100 Original-Received: from localhost ([::1]:54796 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ekygc-0005UV-7D for geb-bug-gnu-emacs@m.gmane.org; Sun, 11 Feb 2018 15:57:22 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38265) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ekygN-0005MP-1L for bug-gnu-emacs@gnu.org; Sun, 11 Feb 2018 15:57:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ekygJ-0001Zx-Vn for bug-gnu-emacs@gnu.org; Sun, 11 Feb 2018 15:57:07 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:58991) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ekygJ-0001ZL-7F for bug-gnu-emacs@gnu.org; Sun, 11 Feb 2018 15:57:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ekygJ-0000ir-0s for bug-gnu-emacs@gnu.org; Sun, 11 Feb 2018 15:57:03 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 11 Feb 2018 20:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26624 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 26624-submit@debbugs.gnu.org id=B26624.15183826162751 (code B ref 26624); Sun, 11 Feb 2018 20:57:02 +0000 Original-Received: (at 26624) by debbugs.gnu.org; 11 Feb 2018 20:56:56 +0000 Original-Received: from localhost ([127.0.0.1]:38653 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ekygC-0000iI-LA for submit@debbugs.gnu.org; Sun, 11 Feb 2018 15:56:56 -0500 Original-Received: from mout.web.de ([212.227.17.12]:44381) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ekygA-0000i5-M5 for 26624@debbugs.gnu.org; Sun, 11 Feb 2018 15:56:55 -0500 Original-Received: from drachen.dragon ([188.99.169.170]) by smtp.web.de (mrweb103 [213.165.67.124]) with ESMTPSA (Nemesis) id 0LtFQN-1ef5iG3G7H-012tU4; Sun, 11 Feb 2018 21:56:47 +0100 In-Reply-To: (Philipp Stephani's message of "Sun, 11 Feb 2018 17:54:02 +0000") X-Provags-ID: V03:K0:NssP/fopwL8ufE0KCsfVMtjzyWPHodecZh1/YpBQ/aboW043iK2 KHsxT9P+32ZBbbFJneWI73JC9qEMHnnDSUk/5QEN0kFzkNZniXCqZrMPUNWQTb9BLfLNl9N yftFWo+5PDujZ4bB1tMCzUgT1kuhKMR5nvPq00+P7pJ32BWALCEmkxMXfWF14cCr0DWirSZ JDeGun3nJ5Pn5jsFiGecg== X-UI-Out-Filterresults: notjunk:1;V01:K0:ogPFtYLrIA4=:1SbWMH9rTQdHuRiKlOrJo5 ROhDqJDL8bh8ro4KNBxNChckYh/LAXexEhtY2eN308Ncgu87roUhQOcUQvcdHlpmgSynVYXrA Z7DrfH00K4jtgZyuMovTFwsY02cJMYjQJFLWwXPWfs4KsGRRLNvk4zJEFOSBq0i+ciSHhMteU Z9SITYIGnc4ycTnGesBu20O3QA5eGBwIQPGu14lkJduAC61LFi/vi0P0MI7qmCsI/i1aEXjqA So/G2JkkjnU4DnaSfzdkplRYFVAMyQuYviG/dy8NfxOt9wqmB/Orz1VnuUflF05LEajmmuVHH mxM8iJgUnFqu04dB1noORvcr359WlDPFG1fuPYMCMCvyRMz7HQ3h/pRLfq5iYk6SNaV+dajDC NRJx+Y1KdR2Hifk6ezNHVuWz3sb64+bZSB4uUO4sLgK/EYbWHPH4IIgtj/SVxppUWojhWSBq/ ixpbFhylgR9ozNMqGi6/ltTd0WV6cDx489ysEtaVBzLSEAOIvpKGy+SvJx2cud2JWr4PDMu5D /ducQ0Gi76JYn5oigH4dpMXhp7jRhqMXfgW4wMbk6onjG/yzlHISJ4nV2UFG1k2V6V0jDAlGB 8KnfdmQCsBtOSJvNOQcJqNg2+pMNRBP4Epq6tygEa4oM1DFuCJPjALo+EMsrqX6pjD8r3iS0N XeRVIsuZ7UK/Vjek1PVcDvN37LJw6wrzMKS10sZc3CUUQGwFtlzWujAplexspTuhFlgrdYk4U VDZWz+d4YefxLRgG5nKyG4vIW+WhkIK5ssozq97SjgyX8fsRaIpE9cBZ59koYmwq19YmiMOc X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 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: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:143173 Archived-At: Philipp Stephani writes: > it should rather expand to > > (let ((old-state (internal-get-state place))) > (setf place val) > (unwind-protect body > (internal-reset-state place old-state))) > > with suitably defined `internal-get-state` and > `internal-reset-state`. For most use cases `internal-get-state` and > `internal-reset-state` could just be `identity` and `setf `, but for > the cases discussed here they would contain additional information. Is that even well-defined? What happens when the code inside `letf' also alters this state? For example, code like #+begin_src emacs-lisp (let ((my-alist '((x 1)))) (cl-letf (((alist-get 'y my-alist) 2)) (push (cons 'y 17) my-alist)) my-alist) #+end_src or #+begin_src emacs-lisp (cl-letf (((buffer-local-value 'x my-buffer) 20)) ... (with-current-buffer my-buffer (set (make-local-variable 'x) 0)) ...) #+end_src what would "reset the state" mean? Michael.