From unknown Thu Sep 11 09:18:24 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#49163 <49163@debbugs.gnu.org> To: bug#49163 <49163@debbugs.gnu.org> Subject: Status: 28.0.50; Dynbind add-function and lambdas as file vars Reply-To: bug#49163 <49163@debbugs.gnu.org> Date: Thu, 11 Sep 2025 16:18:24 +0000 retitle 49163 28.0.50; Dynbind add-function and lambdas as file vars reassign 49163 emacs submitter 49163 Michael Heerdegen severity 49163 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 21 19:17:05 2021 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 From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 21 21:54:33 2021 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 To: Michael Heerdegen Subject: Re: 28.0.50; Dynbind add-function and lambdas as file vars 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-Debbugs-Envelope-To: submit Cc: bug-gnu-emacs@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: -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 debbugs-submit-bounces@debbugs.gnu.org Mon Jun 21 22:26:20 2021 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 To: Stefan Monnier Subject: Re: 28.0.50; Dynbind add-function and lambdas as file vars 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-Debbugs-Envelope-To: submit Cc: bug-gnu-emacs@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: -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 debbugs-submit-bounces@debbugs.gnu.org Sun Jun 27 18:18:27 2021 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 From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 27 22:56:37 2021 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 To: Stefan Monnier Subject: Re: 28.0.50; Dynbind add-function and lambdas as file vars 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-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: -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. From unknown Thu Sep 11 09:18:24 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 26 Jul 2021 11:24:07 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator