From unknown Thu Sep 11 09:17:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#49163: 28.0.50; Dynbind add-function and lambdas as file vars Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 21 Jun 2021 23:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 49163 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 49163@debbugs.gnu.org Cc: Stefan Monnier X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.162431742527729 (code B ref -1); Mon, 21 Jun 2021 23:18:02 +0000 Received: (at submit) by debbugs.gnu.org; 21 Jun 2021 23:17:05 +0000 Received: from localhost ([127.0.0.1]:37044 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lvTA9-0007DA-0R for submit@debbugs.gnu.org; Mon, 21 Jun 2021 19:17:05 -0400 Received: from lists.gnu.org ([209.51.188.17]:41856) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lvTA5-0007Ch-CR for submit@debbugs.gnu.org; Mon, 21 Jun 2021 19:17:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41386) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lvTA4-0008PY-D8 for bug-gnu-emacs@gnu.org; Mon, 21 Jun 2021 19:17:01 -0400 Received: from mout.web.de ([212.227.15.4]:58909) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lvTA1-0004ay-Nh for bug-gnu-emacs@gnu.org; Mon, 21 Jun 2021 19:17:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1624317412; bh=QjrMch+SBz4Xedc6MmDD07osef+j/RiZ58oAaU0eLOM=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=Y7jhx3jAbRQQAv9XLnNp2slRf4f8BFlJJmayM6Q+jB8OvwOCL2ySBduILa+Y9CRMg 8klUXRjzTi9jvkirP3ii0ABafRZRhYzZvfgtjvdAXGuoLj/NmBPSh5Nub8XPbl5L0O Vxt6heKH1BuRfzNsArQtsjIFdWF5zN/Y8/p9aANw= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([178.6.28.156]) by smtp.web.de (mrweb004 [213.165.67.108]) with ESMTPSA (Nemesis) id 0MQL8O-1lq3kl3SKy-00ThPy; Tue, 22 Jun 2021 01:16:51 +0200 From: Michael Heerdegen Date: Tue, 22 Jun 2021 01:16:50 +0200 Message-ID: <87mtrivme5.fsf@web.de> MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:2KmZ09olpg//Hq4Ua5RMZ+AKHwZL2B+8zbE83B63hj5CqV0FpEd ugRDHhNqzeB+L3jwwk6dB+A5YlyQX0OW2wrlz9PPBTBKm1kZSFDvbjfsLQ5v+VdU5Nw0byt 2RLQ3y1Tf8s9N1MU5IOP2iW00KT7J3iB+QfUv3VUqKhMcStzrb1axtYLyV0qa5F7C4FoLCx pD+TPrr/Uv7GqHjNaEaIg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:l5cvmtp5slg=:g1HOFAoCrdo+QGGB6E9BAG szwIsPyUOd7Y4SRk91jZiemdllBw/YSUy4rKS7sjsrP20vSy7BrGIIl6bTLms1kxw+mhLaI70 dLA4WjkJ3EhMWPSYjXPOaT0vQqGgHgKwoCzJo4JHtzd4Uk5pHRsr5TJK+SeKW9kO7iey0bim1 3Qkaw71G/KbKXaMrQbmUJk3YICXjfHelrIxCeQub6yy2RHWsB8MvjWdGD+rjX65k4E2lzTcAM 512CSN3ilJ5JSRoKQJfRcQodAJMitxx8I7F513bPje1q54qWZ7ImaR38qKYs8LDQrbxE9Zaae BxBj7fwD3YA0vDoM18rlXrAQYuT5iRMMmXSeXTQjQBl5YBMMSOQRxj3M8xGM7cM+yb0t5nwrt OEl8hInNW3We18rfD6FKC5SzTE5TOzsvnfr4Fn9MJZJOh6Cl0styQ18Nrtq1LY+tf0Nq8INTy Mc0GZt5KNaeiMf2wby0BJ8IgXyXv37wnBfkCZ0TnIMIQ2i1o3128yBiLcKPQv8EYa4BQ0xO92 uRvPGHFiexKSFza10cwpUnuZqFdVWV3ks3eJuxz4lQru+kNyTY0W3ZO0PFxgaz72oXahCkiV7 0juMgZiUWPlhlusiMl+yxzkZwEG8eY59mDYT1kcPn/2PIPJ2i13mJwGmXIcjUf/4iFo01qibQ 9Z3cV8H5fTPvqamgZbaAaJCo5uEZuqlD7lyKs7wIgWKN+mIcH4QyCVDcZB4AI9GjJPNldCf4U bzwCoRaRAkL689rKFavHv/2yjRdtn3LeS49EXSDAwaCEtSoMY2LwbzVjHiy3dUQC+yrNGiNJW 6oij6UqzJ5myqbRYMlkdscdH3iUEmrU7hxhTpvZCZzHjJSjz9RbPrIMCxB1OPwV4lngcjTNhF 6/itirpdUaO/jN99pCPIG6o++R4kbmRr5jvV/03Ucwk/ycL8ibxack74d5qqlCY/aDBhWo3Iw HEmvF4tKchv6IH9+xPQr9hqTTzSxvIUDjeJ11yvw9m9wBR6UwOa7JTm4/o+iwtxkiNDb6EsKq iAkL1Yd9E8g91u4j1t3lNshXHzM4Sf7kJY47B7oRgzWL94KDLu2ma3xe+w6BLeqmy7L2ua3ek lXiLMM7su4T8HV0ug2MJ7m4xEiGIFrrow9MPWfV02AKo+lLFhetFViKcg== Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=212.227.15.4; envelope-from=michael_heerdegen@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Hello, this is the second time I have stumbled across this and it is annoying - so here is the story: The template of the code I was using is like this: #+begin_src emacs-lisp ;; -*- lexical-binding: t -*- (defun test () (interactive) (funcall (or my-do-with-test-process-fun #'identity) (start-process "test-process" "foo" "xterm"))) (defvar my-do-with-test-process-fun nil) #+end_src I want to use `my-do-with-test-process-fun' as a file local variable. I try like this: testfile.txt: | File contents ... | ... | | Local Variables: | my-do-with-test-process-fun: (lambda (p) (add-function :before (process-= sentinel p) (lambda (&rest _) (message "Test")))) | End: (I hope mailing stuff doesn't break the overlong line defining `my-do-with-test-process-fun'.) When I open that file and try M-x test I get this error: | Debugger entered--Lisp error: (void-variable #:v) | (process-sentinel #:v) | (lambda nil (process-sentinel #:v))() | advice--add-function(:before ((lambda nil (process-sentinel #:v)) lamb= da (gv--val) (set-process-sentinel #:v gv--val)) (lambda (&rest _) (messag= e "Test")) nil) | (add-function :before (process-sentinel p) (lambda (&rest _) (message = "Test"))) | (lambda (p) (add-function :before (process-sentinel p) (lambda (&rest = _) (message "Test"))))(#) | funcall((lambda (p) (add-function :before (process-sentinel p) (lambda= (&rest _) (message "Test")))) #) | test() (1) I suspect that this happens because the lack of lexical binding "somewhere". Enabling lexical binding mode in `testfile.txt' alone doesn't help. OTOH, setting the file local variable like this: | Local Variables: | eval: (setq-local my-do-with-test-process-fun (eval (lambda (p) (add-fun= ction ...) t))) | End: makes `M-x test` work. Is this all expected so far? (2) If lack of lexical binding is the culprit: I see that `add-function' uses `gv-ref' and that warns about uses in dynamically binding Elisp. Should `add-function' warn about such a restriction as well? (3) And I wonder: now that lexical binding Elisp gets more common, should file local variables be set using a lexically binding environment =2D- or at least when the file itself specifies lexical binding mode? TIA, Michael. In GNU Emacs 28.0.50 (build 15, x86_64-pc-linux-gnu, GTK+ Version 3.24.24,= cairo version 1.16.0) of 2021-06-21 built on drachen Repository revision: 50a59b9af1517f24fca60feab37140f2b35ea5ac Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12010000 System Description: Debian GNU/Linux bullseye/sid Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB Important settings: value of $LC_ALL: de_DE.utf8 value of $LC_COLLATE: C value of $LC_TIME: C value of $LANG: de_DE.utf8 locale-coding-system: utf-8-unix From unknown Thu Sep 11 09:17:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#49163: 28.0.50; Dynbind add-function and lambdas as file vars Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 22 Jun 2021 01:55:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49163 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 49163@debbugs.gnu.org X-Debbugs-Original-Cc: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16243268739915 (code B ref -1); Tue, 22 Jun 2021 01:55:01 +0000 Received: (at submit) by debbugs.gnu.org; 22 Jun 2021 01:54:33 +0000 Received: from localhost ([127.0.0.1]:37120 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lvVcX-0002Zr-6l for submit@debbugs.gnu.org; Mon, 21 Jun 2021 21:54:33 -0400 Received: from lists.gnu.org ([209.51.188.17]:35470) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lvVcU-0002Zi-3e for submit@debbugs.gnu.org; Mon, 21 Jun 2021 21:54:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35832) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lvVcT-0002kV-Ql for bug-gnu-emacs@gnu.org; Mon, 21 Jun 2021 21:54:29 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:1913) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lvVcP-0004yz-6I for bug-gnu-emacs@gnu.org; Mon, 21 Jun 2021 21:54:28 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 54E08440F9C; Mon, 21 Jun 2021 21:54:22 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 0A9F0440F6A; Mon, 21 Jun 2021 21:54:21 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1624326861; bh=jVleYO6QXbDMnxzaOKUKMgbjS3Di17umA26gN7Vj1qw=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=GSvbne3W9rhQzMwdl0Ltd7QyEwk8cr6Wo/WujBWyZ7ezCC0Pwzn6PG6CQzH4O+h4G aGnKIQbgqI4fbHudNF+/LUrl/zXUbcJOyAq7BLuFAh5Y8DP8p+ZmkZGXN8Yy452qdH II1psjUDnRwZj4pjoE6cICfW+AUO6/dnlEG8nEdRbgy/iDft2uCZFaelMprd467e+l Kberho23pQ0oRLe2B6dwAPGMvRY3teiS05RdLmBSDjdxTuUpLopELsM1T1gbIHdxqc 8JhAf3QOraXuocuEXu9QrdCY8AGKr/6MbL2jkOGxP5N2PD5tlWmXk1Kg1FAmF8nB+5 MAZcyc/sCm0jA== Received: from alfajor (69-196-163-239.dsl.teksavvy.com [69.196.163.239]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id BDAC1120931; Mon, 21 Jun 2021 21:54:20 -0400 (EDT) From: Stefan Monnier Message-ID: References: <87mtrivme5.fsf@web.de> Date: Mon, 21 Jun 2021 21:54:19 -0400 In-Reply-To: <87mtrivme5.fsf@web.de> (Michael Heerdegen's message of "Tue, 22 Jun 2021 01:16:50 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.029 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > | my-do-with-test-process-fun: (lambda (p) (add-function :before > | (process-sentinel p) (lambda (&rest _) (message "Test")))) Remember, file-local vars set a var to a value, there's no evaluation going on, so this sets `my-do-with-test-process-fun` to a list whose car is the symbol `lambda`. > (2) If lack of lexical binding is the culprit: I see that `add-function' > uses `gv-ref' and that warns about uses in dynamically binding Elisp. > Should `add-function' warn about such a restriction as well? It might (when you do the `M-x test`); have you checked *Messages*? > (3) And I wonder: now that lexical binding Elisp gets more common, > should file local variables be set using a lexically binding environment > -- or at least when the file itself specifies lexical binding mode? I think the patch below would be in order, yes, but it won't help your example unless you change it to something like: eval: (setq-local my-do-with-test-process-fun: (lambda (p) (add-function :before (process-sentinel p) (lambda (&rest _) (message "Test"))))) Stefan diff --git a/lisp/files.el b/lisp/files.el index 5d2fe0a77b..04db0faffd 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -4041,7 +4041,7 @@ hack-one-local-variable ('eval (pcase val (`(add-hook ',hook . ,_) (hack-one-local-variable--obsolete hook))) - (save-excursion (eval val))) + (save-excursion (eval val t))) (_ (hack-one-local-variable--obsolete var) ;; Make sure the string has no text properties. From unknown Thu Sep 11 09:17:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#49163: 28.0.50; Dynbind add-function and lambdas as file vars Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 22 Jun 2021 02:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49163 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 49163@debbugs.gnu.org X-Debbugs-Original-Cc: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.162432878013009 (code B ref -1); Tue, 22 Jun 2021 02:27:01 +0000 Received: (at submit) by debbugs.gnu.org; 22 Jun 2021 02:26:20 +0000 Received: from localhost ([127.0.0.1]:37125 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lvW7H-0003Nl-Rd for submit@debbugs.gnu.org; Mon, 21 Jun 2021 22:26:20 -0400 Received: from lists.gnu.org ([209.51.188.17]:37380) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lvW7F-0003Nd-TS for submit@debbugs.gnu.org; Mon, 21 Jun 2021 22:26:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40768) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lvW7F-00062U-I9 for bug-gnu-emacs@gnu.org; Mon, 21 Jun 2021 22:26:17 -0400 Received: from mout.web.de ([212.227.15.3]:51279) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lvW7D-00006S-Ne for bug-gnu-emacs@gnu.org; Mon, 21 Jun 2021 22:26:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1624328770; bh=KarShdt90wXNzFh/Ce1yI1mmhUAmFMl42cb+7GfTFps=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=dzS+kw9N2Y9YcwqHj21tMGeWRYTkupGrV+IyYMogFtS/RkYnp2/3akSo8smLLvDa4 RURNkg4KAG2AoMhLKafjtzKbji3zPqDj3aRvOyYe0ns9J7VcabipTHZDvTUhykh9Bs WKWkrxLK+zeCwhXIHBL3oxeAyUvee5Iyop8Iu5Xc= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([178.6.28.156]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1Mvbik-1l6RQi1Kxq-00sayP; Tue, 22 Jun 2021 04:26:10 +0200 From: Michael Heerdegen References: <87mtrivme5.fsf@web.de> Date: Tue, 22 Jun 2021 04:26:09 +0200 In-Reply-To: (Stefan Monnier's message of "Mon, 21 Jun 2021 21:54:19 -0400") Message-ID: <87mtritz26.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:T4hHDPypuGgQEDs+MBntjmuhUMb4UT9pxZ1tr+e+gXwNwB4bWUQ gf5tAQwk+WbU5B9NLnp7shh4MfFgwRFr/a7kiJ+wqsAklKgGLfMZ8C2p5717ELFI+JFQL7W 1f9t13wUQ/MF+s6yWIHoKk8qqfkQ/3FAcEaEMY6GGmCmkmAdqUgXsSwAjblL8i6rNEu0lld 3nwxFYeQWTCrYYTFsMDYw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:B5reYTI4qgw=:7yaUbGW8jTI46lirxPtPar YRaZ+WvFgF9H3aq6ZLSIplY5ERDMaUIs2jeBp5aN7oHigyKFxwtcBAohEegcFaEnFgbvFMmm0 0t03ymdkwGfeSeDikY960TALIGuA4DtSWInZ21gR0s8i1XY20BmZ+QuKobVFys/n8KFRZHcLA KJm+WK9+jJizAoD6RlzUJHRWyy3jTmWGQIpd1aihhp/oqrcN0zBVJnkPDfl4S0Y2UmhelvEDF 9umjc85SsV12z0TFHjWgLQ2YS59aRpFjUUjiy4GTcls+OEp8WSFdfz115JdCMMe/Vi1n8iYF6 D4qv4lgRmIT59ST2Tv2peFv2VpcoQyraCvgO9fOpLMyea5Zua2Qvq9hDE2tsKcL9VPFzGz8eD v27dFKXtMkPwvuZNVFjZYwe7EaSAmYL5wZbTK4J8l0O3jSdkeQFVDCKT/htNc/+ehYTawYQ1w cj2Ju4EpoKZ00uSRwa8WI9yn5xSbflbEjGg2t/oCrxmGCfrBkiHqk1Umac0ZgsB+RBb6gjIvU cpqR65PeAW4kolbZdd3heaAQnR4x8YIylCUuj9o7uqfi9AsFr4wWDU3Avh3EzeqAFQ6DVPHZ6 Kb3l88IKbjz9nJMAqxkIy1jBQE3qB2C2wSRJqeYWyG2nkPf7j59dWpv852CwTQ3IajNpZ9YZK h5+s4eosT7hyIVBlrGBMP3qSiQiqkKsFCBAtADPilW1Uk3QMJfFc2hWuWn2QMgPfzQXX5CIhO v3AiJfLxBbpCw5QnkIos5OQ+Fwb/9l3F3/pa0KmnoGg8ajjaBzC8S6IILMy1AFEUz1m6wC9k9 yJl4pd8N8dL1k4/dGznVk27Zs9Fd/n0Kok9I3gBcGtKQopS++z81hSKCG0E9oBXs7Gm/wMnMz aYNfj1ZXdcWZ1PtkM3raVDfzjfcNT35dz3R5r6wj+cj+FQWoyUtOu90qDkCS4kj+JJSGXcBZ6 0izJ1wSC2jG6krmzpButGuZ/S6dkUdHzCuyoxjc2s3AP/7OXjyEDyzfpSgfvVgrpHiN7Uhy1n zNEzBNRTt8G/QyVU16TM/smHzYGyKnhAzlLRQ2OIBjThRPPxrcU1rFgY6+EkKeLl0eEVh4pB8 tgFmAALtexWRL25Tu5Yvdlw2XdOvVASXPZnYNobSgiB3Tr2QWGAcWItqQ== Received-SPF: pass client-ip=212.227.15.3; envelope-from=michael_heerdegen@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Stefan Monnier writes: > Remember, file-local vars set a var to a value, there's no evaluation > going on, so this sets `my-do-with-test-process-fun` to a list whose > car is the symbol `lambda`. Grml... > It might (when you do the `M-x test`); have you checked *Messages*? No, but I guess you have ;-) Ok, that's the maximum it can do. > - (save-excursion (eval val))) > + (save-excursion (eval val t))) I would certainly welcome that. How controversial would doing that be (and would `(eval val lexical-binding)' be less controversial then)? Thanks, Michael. From unknown Thu Sep 11 09:17:57 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Michael Heerdegen Subject: bug#49163: closed (Re: 28.0.50; Dynbind add-function and lambdas as file vars) Message-ID: References: <87mtrivme5.fsf@web.de> X-Gnu-PR-Message: they-closed 49163 X-Gnu-PR-Package: emacs Reply-To: 49163@debbugs.gnu.org Date: Sun, 27 Jun 2021 22:19:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1624832342-19490-1" This is a multi-part message in MIME format... ------------=_1624832342-19490-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #49163: 28.0.50; Dynbind add-function and lambdas as file vars which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 49163@debbugs.gnu.org. --=20 49163: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D49163 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1624832342-19490-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 49163-done) by debbugs.gnu.org; 27 Jun 2021 22:18:27 +0000 Received: from localhost ([127.0.0.1]:50452 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lxd6h-00053V-49 for submit@debbugs.gnu.org; Sun, 27 Jun 2021 18:18:27 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:4838) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lxd6d-00053B-Lm for 49163-done@debbugs.gnu.org; Sun, 27 Jun 2021 18:18:26 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 8B85B808CB; Sun, 27 Jun 2021 18:18:17 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id DA0738009D; Sun, 27 Jun 2021 18:18:15 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1624832295; bh=bGa/TCbBQE7MvQ5yPBTKG8Pad6ofFPqmEFDpqn0S8ec=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=WsVciH4WhqmqrmEZpkCrFO19HU89t45JR30JraEYZzdq1IqVwRwxhvJkAXUw7iNtx DN+AsopJr4QtRCgwdPnW17mw3PVT4KHgJhdVTnA9pCqWeYVc9/tTEQ5NuGMbK2V2dS hDigQOWwmf1Rs2G55Jmk1/VT9DsqWS3tr7/C8qk+23Ovqc8dBv7rZDt/L/9kehsWj8 3qQ8hslCI2bp/hjanQGGpYSvhQuOXkgfJfDu+iSCDLjJ0oEzs4iONPCOm6GvrtPtwv 51CmCSiJkpgznL2GHMKnrQNMel6Ma2LqyUHi3Z6nAeNbfMMN0RLEBoBV7n9tw5b9th Pwsn0B/JbK8mw== Received: from alfajor (69-196-163-239.dsl.teksavvy.com [69.196.163.239]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 9881112033E; Sun, 27 Jun 2021 18:18:15 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: 28.0.50; Dynbind add-function and lambdas as file vars Message-ID: References: <87mtrivme5.fsf@web.de> <87mtritz26.fsf@web.de> Date: Sun, 27 Jun 2021 18:18:14 -0400 In-Reply-To: <87mtritz26.fsf@web.de> (Michael Heerdegen's message of "Tue, 22 Jun 2021 04:26:09 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.019 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49163-done Cc: 49163-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> - (save-excursion (eval val))) >> + (save-excursion (eval val t))) > I would certainly welcome that. Pushed. I understand it doesn't directly satisfies your original request, but that seems harder to do. This said, technically you *can* get exactly what you asked for with something like: Local Variables: my-do-with-test-process-fun: #[257 "\300\301\^B\302\303\^B\"\302\304\^C\"B\262\^A\305\306$\207" [advice--add-function :before make-closure #[0 "\301\300!\207" [V0 process-sentinel] 2] #[257 "\301\300\^B\"\207" [V0 set-process-sentinel] 4 "\n\n(fn GV--VAL)"] #[128 "\300\301!\207" [message "Test"] 3 "\n\n(fn &rest _)"] nil] 8 "\n\n(fn P)"] End: which you can generate with: M-: (let ((lexical-binding t) (print-escape-newlines t)) (insert (format "%S" (byte-compile '(lambda (p) (add-function :before (process-sentinel p) (lambda (&rest _) (message "Test")))))))) I wouldn't encourage you to do that, tho. Stefan ------------=_1624832342-19490-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 21 Jun 2021 23:17:05 +0000 Received: from localhost ([127.0.0.1]:37044 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lvTA9-0007DA-0R for submit@debbugs.gnu.org; Mon, 21 Jun 2021 19:17:05 -0400 Received: from lists.gnu.org ([209.51.188.17]:41856) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lvTA5-0007Ch-CR for submit@debbugs.gnu.org; Mon, 21 Jun 2021 19:17:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41386) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lvTA4-0008PY-D8 for bug-gnu-emacs@gnu.org; Mon, 21 Jun 2021 19:17:01 -0400 Received: from mout.web.de ([212.227.15.4]:58909) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lvTA1-0004ay-Nh for bug-gnu-emacs@gnu.org; Mon, 21 Jun 2021 19:17:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1624317412; bh=QjrMch+SBz4Xedc6MmDD07osef+j/RiZ58oAaU0eLOM=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=Y7jhx3jAbRQQAv9XLnNp2slRf4f8BFlJJmayM6Q+jB8OvwOCL2ySBduILa+Y9CRMg 8klUXRjzTi9jvkirP3ii0ABafRZRhYzZvfgtjvdAXGuoLj/NmBPSh5Nub8XPbl5L0O Vxt6heKH1BuRfzNsArQtsjIFdWF5zN/Y8/p9aANw= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([178.6.28.156]) by smtp.web.de (mrweb004 [213.165.67.108]) with ESMTPSA (Nemesis) id 0MQL8O-1lq3kl3SKy-00ThPy; Tue, 22 Jun 2021 01:16:51 +0200 From: Michael Heerdegen To: bug-gnu-emacs@gnu.org Subject: 28.0.50; Dynbind add-function and lambdas as file vars Date: Tue, 22 Jun 2021 01:16:50 +0200 Message-ID: <87mtrivme5.fsf@web.de> MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:2KmZ09olpg//Hq4Ua5RMZ+AKHwZL2B+8zbE83B63hj5CqV0FpEd ugRDHhNqzeB+L3jwwk6dB+A5YlyQX0OW2wrlz9PPBTBKm1kZSFDvbjfsLQ5v+VdU5Nw0byt 2RLQ3y1Tf8s9N1MU5IOP2iW00KT7J3iB+QfUv3VUqKhMcStzrb1axtYLyV0qa5F7C4FoLCx pD+TPrr/Uv7GqHjNaEaIg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:l5cvmtp5slg=:g1HOFAoCrdo+QGGB6E9BAG szwIsPyUOd7Y4SRk91jZiemdllBw/YSUy4rKS7sjsrP20vSy7BrGIIl6bTLms1kxw+mhLaI70 dLA4WjkJ3EhMWPSYjXPOaT0vQqGgHgKwoCzJo4JHtzd4Uk5pHRsr5TJK+SeKW9kO7iey0bim1 3Qkaw71G/KbKXaMrQbmUJk3YICXjfHelrIxCeQub6yy2RHWsB8MvjWdGD+rjX65k4E2lzTcAM 512CSN3ilJ5JSRoKQJfRcQodAJMitxx8I7F513bPje1q54qWZ7ImaR38qKYs8LDQrbxE9Zaae BxBj7fwD3YA0vDoM18rlXrAQYuT5iRMMmXSeXTQjQBl5YBMMSOQRxj3M8xGM7cM+yb0t5nwrt OEl8hInNW3We18rfD6FKC5SzTE5TOzsvnfr4Fn9MJZJOh6Cl0styQ18Nrtq1LY+tf0Nq8INTy Mc0GZt5KNaeiMf2wby0BJ8IgXyXv37wnBfkCZ0TnIMIQ2i1o3128yBiLcKPQv8EYa4BQ0xO92 uRvPGHFiexKSFza10cwpUnuZqFdVWV3ks3eJuxz4lQru+kNyTY0W3ZO0PFxgaz72oXahCkiV7 0juMgZiUWPlhlusiMl+yxzkZwEG8eY59mDYT1kcPn/2PIPJ2i13mJwGmXIcjUf/4iFo01qibQ 9Z3cV8H5fTPvqamgZbaAaJCo5uEZuqlD7lyKs7wIgWKN+mIcH4QyCVDcZB4AI9GjJPNldCf4U bzwCoRaRAkL689rKFavHv/2yjRdtn3LeS49EXSDAwaCEtSoMY2LwbzVjHiy3dUQC+yrNGiNJW 6oij6UqzJ5myqbRYMlkdscdH3iUEmrU7hxhTpvZCZzHjJSjz9RbPrIMCxB1OPwV4lngcjTNhF 6/itirpdUaO/jN99pCPIG6o++R4kbmRr5jvV/03Ucwk/ycL8ibxack74d5qqlCY/aDBhWo3Iw HEmvF4tKchv6IH9+xPQr9hqTTzSxvIUDjeJ11yvw9m9wBR6UwOa7JTm4/o+iwtxkiNDb6EsKq iAkL1Yd9E8g91u4j1t3lNshXHzM4Sf7kJY47B7oRgzWL94KDLu2ma3xe+w6BLeqmy7L2ua3ek lXiLMM7su4T8HV0ug2MJ7m4xEiGIFrrow9MPWfV02AKo+lLFhetFViKcg== Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=212.227.15.4; envelope-from=michael_heerdegen@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: submit Cc: Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Hello, this is the second time I have stumbled across this and it is annoying - so here is the story: The template of the code I was using is like this: #+begin_src emacs-lisp ;; -*- lexical-binding: t -*- (defun test () (interactive) (funcall (or my-do-with-test-process-fun #'identity) (start-process "test-process" "foo" "xterm"))) (defvar my-do-with-test-process-fun nil) #+end_src I want to use `my-do-with-test-process-fun' as a file local variable. I try like this: testfile.txt: | File contents ... | ... | | Local Variables: | my-do-with-test-process-fun: (lambda (p) (add-function :before (process-= sentinel p) (lambda (&rest _) (message "Test")))) | End: (I hope mailing stuff doesn't break the overlong line defining `my-do-with-test-process-fun'.) When I open that file and try M-x test I get this error: | Debugger entered--Lisp error: (void-variable #:v) | (process-sentinel #:v) | (lambda nil (process-sentinel #:v))() | advice--add-function(:before ((lambda nil (process-sentinel #:v)) lamb= da (gv--val) (set-process-sentinel #:v gv--val)) (lambda (&rest _) (messag= e "Test")) nil) | (add-function :before (process-sentinel p) (lambda (&rest _) (message = "Test"))) | (lambda (p) (add-function :before (process-sentinel p) (lambda (&rest = _) (message "Test"))))(#) | funcall((lambda (p) (add-function :before (process-sentinel p) (lambda= (&rest _) (message "Test")))) #) | test() (1) I suspect that this happens because the lack of lexical binding "somewhere". Enabling lexical binding mode in `testfile.txt' alone doesn't help. OTOH, setting the file local variable like this: | Local Variables: | eval: (setq-local my-do-with-test-process-fun (eval (lambda (p) (add-fun= ction ...) t))) | End: makes `M-x test` work. Is this all expected so far? (2) If lack of lexical binding is the culprit: I see that `add-function' uses `gv-ref' and that warns about uses in dynamically binding Elisp. Should `add-function' warn about such a restriction as well? (3) And I wonder: now that lexical binding Elisp gets more common, should file local variables be set using a lexically binding environment =2D- or at least when the file itself specifies lexical binding mode? TIA, Michael. In GNU Emacs 28.0.50 (build 15, x86_64-pc-linux-gnu, GTK+ Version 3.24.24,= cairo version 1.16.0) of 2021-06-21 built on drachen Repository revision: 50a59b9af1517f24fca60feab37140f2b35ea5ac Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12010000 System Description: Debian GNU/Linux bullseye/sid Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB Important settings: value of $LC_ALL: de_DE.utf8 value of $LC_COLLATE: C value of $LC_TIME: C value of $LANG: de_DE.utf8 locale-coding-system: utf-8-unix ------------=_1624832342-19490-1-- From unknown Thu Sep 11 09:17:57 2025 X-Loop: help-debbugs@gnu.org Subject: bug#49163: 28.0.50; Dynbind add-function and lambdas as file vars Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 28 Jun 2021 02:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49163 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 49163-done@debbugs.gnu.org Received: via spool by 49163-done@debbugs.gnu.org id=D49163.162484899713903 (code D ref 49163); Mon, 28 Jun 2021 02:57:02 +0000 Received: (at 49163-done) by debbugs.gnu.org; 28 Jun 2021 02:56:37 +0000 Received: from localhost ([127.0.0.1]:50554 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lxhRs-0003cB-Us for submit@debbugs.gnu.org; Sun, 27 Jun 2021 22:56:37 -0400 Received: from mout.web.de ([212.227.15.14]:32903) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lxhRq-0003bx-Cn for 49163-done@debbugs.gnu.org; Sun, 27 Jun 2021 22:56:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1624848985; bh=Us1i74Wktx5tr7tRZYGJnJlnT1q32sm+olxnYatkk88=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=HXAtC3s2uscZ3Vwk9WV/dF1FxeKvTT1Rn5Go6+mGLLIX5BAaLwjP3qlKrOXkg5KBZ UAMhJwE8uPWQhC019IjsIHMF362zJhxMzvyxoQxJSqUBXA4bKcfhcpX51U/ZBCCXlV X0JAiyhhg1vMkLu7CtmJPwitcLzl6HDXe/oU0dzM= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([178.6.28.156]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1M1aIB-1lvlVD3XND-0036Ja; Mon, 28 Jun 2021 04:56:24 +0200 From: Michael Heerdegen References: <87mtrivme5.fsf@web.de> <87mtritz26.fsf@web.de> Date: Mon, 28 Jun 2021 04:56:23 +0200 In-Reply-To: (Stefan Monnier's message of "Sun, 27 Jun 2021 18:18:14 -0400") Message-ID: <87czs6g0iw.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:JLJ5JvA3ojMRxvX6ewvRWoEbPIPjYAY4zkfn4KMpydsku7mMJGy HfSoMprr6j1awpWVIov+kcAUVNqPc6lucZJYU6d6MxpsdTIDqk0y2OYv0UmJBf8r0DIhOPM HN6YW/5O6brrDzyKoSkK+9rNTK6PBlzXXAPlPQNtcf1MGI9vdqXFBUZfjHTxLikjm248QU0 T/c2VBMFcXR6Her0fREOg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:nLmszKKXGMY=:2z4xyvk5+gh+KZp7tuZIrT bHAHNjnIEkVSzN9Z1u946QP3DLFP+dZzLXDKTWYj2W2YEINVio72FpL3Ot04yibvWt6Ret3sU wJ6bIONOFKdDU3vv7NeTmxrUnKXFaZcy4/vfzKqlSfFoLm+sU4P4aQgEn/igNov4ug4Xlf+qQ cfGcqJU1K1Qh3EM8M4234bhwr2vt/Ykj4g6vN5GxGrWmU1DoOxZoEJt33xgDu2x8s0apTe6Aa MBEVQPuyMQUsFZuC9zJMFbyl0cxOkI5XY5vz3ibPDHMNy1dslXoEUFeCr3onYDNHbE09Mh/fc Z5DyRTTU40zbK84FGcgcrqAjQtGxpHdxqYYrw8YjlbA9gSQDbPrYeZ6tI5AHh5k966DdbOue3 7PY3Dbfz+lYsIFp8moA3FbRqE04d/PyYauhKSqpjYonMBStrtRLLNDif95645RYI7dZ+X4ACM p0wSJU7SNq2FK4X8+UInLDi+8kcmVETpRO0fHIG6iCZArC7jKW32XdXj0MXBi2rHA8LJY3Zc/ ivprMDEpwGLFVh3Q6CWtRRwUQ8ORsBBkpoUAC26ezZjRn/ot+nqlf9IK7pMgCtGY2EvhpRv2a NWkv2sA4geft0fhWvr537Bx6YDpai7D+r0lf47TGbKN21OQwvenvAtfNMfs7Yo6S8PhbO+OuH L9F0irhigGRXYv1km3x+3NSjVx9pvcN9mGGBRhp9xTy+MrFESG3H66h8Fdjdx2ntOmvlv5ZAy kUt4GkZVOSy5EXUxcu5GyaEvL09gWqAW3pliPTj76JoDufqag+PMRpkR/+2Mbpds180Q6HqcJ 37Gf7DtcGp+kIEmhI9hPuXqoUlvtspJel9ruUZKCIA+vsvRV3/MuUuYjcPC2p5hvL0usfbeXA xNiMByKx2tntY672C37yLMKEzIStBnoi5WfAtNs9tlIbkO0UBWouy+Y34K8lP0d1nMDJ3/7bD eAOEZX0O/4itt+TwTBAAWSeS/YNuVsE1djvR4lk4/GetsPeh/URbyznQhEpBzxzR+Z2EZ+yHV eHJDJ7XItOQXNtiuZcB6ga9JACePhIUQBNSimt5m1CUpKmYz25JNV6kF0QDSoQhiqEZiw+/eM tRKEkWsvCYdlv2V7FKFME73AMp/+DwUTjVOI6eB/AglKMEFRbZ6hyNXrQ== X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Stefan Monnier writes: > >> - (save-excursion (eval val))) > >> + (save-excursion (eval val t))) > > Pushed. I understand it doesn't directly satisfies your original > request, but that seems harder to do. Thanks, Stefan. I can live with what we have now. > This said, technically you *can* get exactly what you asked for with > something like: > > Local Variables: > my-do-with-test-process-fun: #[257 "\300\301\^B\302\303\^B\"\302\304\^C\"B\262\^A\305\306$\207" [advice--add-function :before make-closure #[0 "\301\300!\207" [V0 process-sentinel] 2] #[257 "\301\300\^B\"\207" [V0 set-process-sentinel] 4 "\n\n(fn GV--VAL)"] #[128 "\300\301!\207" [message "Test"] 3 "\n\n(fn &rest _)"] nil] 8 "\n\n(fn P)"] > End: > > which you can generate with: > > M-: (let ((lexical-binding t) (print-escape-newlines t)) (insert (format "%S" (byte-compile '(lambda (p) (add-function :before (process-sentinel p) (lambda (&rest _) (message "Test")))))))) Good to know that this works. The main problem is that it's not human readable and doesn't contain the "source", so it's not less complex than using `eval' at the end. Michael.