* Re: master a0f6029: Fix misuses of `byte-compile-macro-environment` [not found] ` <20210301171854.C42CB20E1B@vcs0.savannah.gnu.org> @ 2021-03-03 14:44 ` Basil L. Contovounesios [not found] ` <43A0C407-D217-46AF-8472-28DD2DE80D6C@acm.org> 2021-03-03 22:15 ` Stefan Monnier 0 siblings, 2 replies; 11+ messages in thread From: Basil L. Contovounesios @ 2021-03-03 14:44 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1633 bytes --] monnier@iro.umontreal.ca (Stefan Monnier) writes: > branch: master > commit a0f60293d97cda858c033db4ae074e5e5560aab2 > Author: Stefan Monnier <monnier@iro.umontreal.ca> > Commit: Stefan Monnier <monnier@iro.umontreal.ca> > > Fix misuses of `byte-compile-macro-environment` This seems to result in the following test failure with 'make check', but strangely not with 'make test/pcase-tests': Test pcase-tests-macro backtrace: signal(void-function (pcase-tests-plus--pcase-macroexpander)) apply(signal (void-function (pcase-tests-plus--pcase-macroexpander)) #f(compiled-function () #<bytecode -0x130ab4f40ca06d1f>)() ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test ert-run-test(#s(ert-test :name pcase-tests-macro :documentation nil ert-run-or-rerun-test(#s(ert--stats :selector (not (or ... ...)) :te ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable))) ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) ( command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/emacs-lisp/pcase-tes command-line() normal-top-level() Test pcase-tests-macro condition: (void-function pcase-tests-plus--pcase-macroexpander) FAILED 5/9 pcase-tests-macro (0.000163 sec) BTW, 'make bootstrap' now emits this warning: In cl--sm-macroexpand: emacs-lisp/cl-macs.el:2301:61: Warning: Unused lexical argument `dontcare' (The 'sm' is the artist's signature, right? ;) Is this the right fix? [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-Pacify-unused-var-warning-in-cl-sm-macroexpand.patch --] [-- Type: text/x-diff, Size: 1026 bytes --] From a29983cbbfb1fbd7cb2773d1e2dc89483df82bf4 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" <contovob@tcd.ie> Date: Wed, 3 Mar 2021 12:49:31 +0000 Subject: [PATCH] ; Pacify unused var warning in cl--sm-macroexpand. --- lisp/emacs-lisp/cl-macs.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 91146c4d0e..c38dc44ff6 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -2298,7 +2298,7 @@ cl--sm-macroexpand ;; The behavior of CL made sense in a dynamically scoped ;; language, but nowadays, lexical scoping semantics is more often ;; expected. - (`(,(or 'let 'let*) . ,(or `(,bindings . ,body) dontcare)) + (`(,(or 'let 'let*) . ,(or `(,bindings . ,body) pcase--dontcare)) (let ((nbs ()) (found nil)) (dolist (binding bindings) (let* ((var (if (symbolp binding) binding (car binding))) -- 2.30.1 [-- Attachment #3: Type: text/plain, Size: 20 bytes --] Thanks, -- Basil ^ permalink raw reply related [flat|nested] 11+ messages in thread
[parent not found: <43A0C407-D217-46AF-8472-28DD2DE80D6C@acm.org>]
* Re: master a0f6029: Fix misuses of `byte-compile-macro-environment` [not found] ` <43A0C407-D217-46AF-8472-28DD2DE80D6C@acm.org> @ 2021-03-03 15:16 ` Basil L. Contovounesios 2021-03-03 15:23 ` Mattias Engdegård ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Basil L. Contovounesios @ 2021-03-03 15:16 UTC (permalink / raw) To: Mattias Engdegård; +Cc: emacs-devel Mattias Engdegård <mattiase@acm.org> writes: > 3 mars 2021 kl. 15.44 skrev Basil L. Contovounesios <contovob@tcd.ie>: > >> This seems to result in the following test failure with 'make check', >> but strangely not with 'make test/pcase-tests': > > Maybe the latter doesn't use the byte-compiled version of the tests. > Try something like > > make TEST_LOAD_EL=no -C test pcase-tests Indeed, 'make TEST_LOAD_EL=yes test/pcase-tests' succeeds, whereas 'make TEST_LOAD_EL=no test/pcase-tests' fails. Should 'make test/%' be fixed to behave more like 'make check'? Thanks, -- Basil ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: master a0f6029: Fix misuses of `byte-compile-macro-environment` 2021-03-03 15:16 ` Basil L. Contovounesios @ 2021-03-03 15:23 ` Mattias Engdegård 2021-03-03 15:26 ` Lars Ingebrigtsen 2021-03-04 8:41 ` Michael Albinus 2 siblings, 0 replies; 11+ messages in thread From: Mattias Engdegård @ 2021-03-03 15:23 UTC (permalink / raw) To: Basil L. Contovounesios; +Cc: emacs-devel 3 mars 2021 kl. 16.16 skrev Basil L. Contovounesios <contovob@tcd.ie>: > Indeed, 'make TEST_LOAD_EL=yes test/pcase-tests' succeeds, > whereas 'make TEST_LOAD_EL=no test/pcase-tests' fails. > > Should 'make test/%' be fixed to behave more like 'make check'? Maybe -- test/Makefile.in says: # Whether to run tests from .el files in preference to .elc, we do # this by default since it gives nicer stacktraces. # If you just want a pass/fail, setting this to no is much faster. export TEST_LOAD_EL ?= \ $(if $(findstring $(MAKECMDGOALS), all check check-maybe),no,yes) For some tests it may be useful to run both .el and .elc; for others, it's just a waste of time. My guess is that on balance, .elc is more important (and faster) but obviously .el gives better diagnostics when something fails. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: master a0f6029: Fix misuses of `byte-compile-macro-environment` 2021-03-03 15:16 ` Basil L. Contovounesios 2021-03-03 15:23 ` Mattias Engdegård @ 2021-03-03 15:26 ` Lars Ingebrigtsen 2021-03-04 13:48 ` Basil L. Contovounesios 2021-03-04 8:41 ` Michael Albinus 2 siblings, 1 reply; 11+ messages in thread From: Lars Ingebrigtsen @ 2021-03-03 15:26 UTC (permalink / raw) To: Basil L. Contovounesios; +Cc: Mattias Engdegård, emacs-devel "Basil L. Contovounesios" <contovob@tcd.ie> writes: >> Maybe the latter doesn't use the byte-compiled version of the tests. >> Try something like >> >> make TEST_LOAD_EL=no -C test pcase-tests > > Indeed, 'make TEST_LOAD_EL=yes test/pcase-tests' succeeds, > whereas 'make TEST_LOAD_EL=no test/pcase-tests' fails. Oh, that explains a lot -- why saying "make foo-tests" often passes while saying "make check" fails, which has left me scratching my head often. > Should 'make test/%' be fixed to behave more like 'make check'? Yes, I think so. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: master a0f6029: Fix misuses of `byte-compile-macro-environment` 2021-03-03 15:26 ` Lars Ingebrigtsen @ 2021-03-04 13:48 ` Basil L. Contovounesios 0 siblings, 0 replies; 11+ messages in thread From: Basil L. Contovounesios @ 2021-03-04 13:48 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Mattias Engdegård, emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > "Basil L. Contovounesios" <contovob@tcd.ie> writes: > >>> Maybe the latter doesn't use the byte-compiled version of the tests. >>> Try something like >>> >>> make TEST_LOAD_EL=no -C test pcase-tests >> >> Indeed, 'make TEST_LOAD_EL=yes test/pcase-tests' succeeds, >> whereas 'make TEST_LOAD_EL=no test/pcase-tests' fails. > > Oh, that explains a lot -- why saying "make foo-tests" often passes while > saying "make check" fails, which has left me scratching my head often. > >> Should 'make test/%' be fixed to behave more like 'make check'? > > Yes, I think so. It seems to be intentional though. Quoth test/Makefile.in: # Whether to run tests from .el files in preference to .elc, we do # this by default since it gives nicer stacktraces. # If you just want a pass/fail, setting this to no is much faster. export TEST_LOAD_EL ?= \ $(if $(findstring $(MAKECMDGOALS), all check check-maybe),no,yes) And test/README: Note that although the test files are always compiled (unless they set no-byte-compile), the source files will be run when expensive or unstable tests are involved, to give nicer backtraces. To run the compiled version of a test use make TEST_LOAD_EL=no ... -- Basil ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: master a0f6029: Fix misuses of `byte-compile-macro-environment` 2021-03-03 15:16 ` Basil L. Contovounesios 2021-03-03 15:23 ` Mattias Engdegård 2021-03-03 15:26 ` Lars Ingebrigtsen @ 2021-03-04 8:41 ` Michael Albinus 2 siblings, 0 replies; 11+ messages in thread From: Michael Albinus @ 2021-03-04 8:41 UTC (permalink / raw) To: Basil L. Contovounesios; +Cc: Mattias Engdegård, emacs-devel "Basil L. Contovounesios" <contovob@tcd.ie> writes: Hi Basil, > Should 'make test/%' be fixed to behave more like 'make check'? It should be rather like 'make check-expensive', that means running also expensive tests. As it does now. > Thanks, Best regards, Michael. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: master a0f6029: Fix misuses of `byte-compile-macro-environment` 2021-03-03 14:44 ` master a0f6029: Fix misuses of `byte-compile-macro-environment` Basil L. Contovounesios [not found] ` <43A0C407-D217-46AF-8472-28DD2DE80D6C@acm.org> @ 2021-03-03 22:15 ` Stefan Monnier 2021-03-04 1:47 ` Basil L. Contovounesios 1 sibling, 1 reply; 11+ messages in thread From: Stefan Monnier @ 2021-03-03 22:15 UTC (permalink / raw) To: Basil L. Contovounesios; +Cc: emacs-devel >> Fix misuses of `byte-compile-macro-environment` > > This seems to result in the following test failure with 'make check', > but strangely not with 'make test/pcase-tests': Hmm... I wonder why the test code worked before that patch. The problem is that pcase macros defined with `pcase-defmacro` can't be used in the same file where they're defined (you need to wrap them in `eval-and-compile`). Maybe we should fix that, but the problem is not new, so I'm wondering why the bug didn't trigger earlier. > BTW, 'make bootstrap' now emits this warning: > > In cl--sm-macroexpand: > emacs-lisp/cl-macs.el:2301:61: Warning: Unused lexical argument `dontcare' Yes, that's good: the warning wanrs about an actual problem. > (The 'sm' is the artist's signature, right? ;) Nah, the artist found a good excuse: "s(ymbol-)m(acrolet)" > Is this the right fix? Yes, but it doesn't just pacify the byte-compiler: it fixes the source code (in Emacs-27, this worked by accident, really). Stefan ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: master a0f6029: Fix misuses of `byte-compile-macro-environment` 2021-03-03 22:15 ` Stefan Monnier @ 2021-03-04 1:47 ` Basil L. Contovounesios 2021-03-04 2:33 ` Stefan Monnier 0 siblings, 1 reply; 11+ messages in thread From: Basil L. Contovounesios @ 2021-03-04 1:47 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >>> Fix misuses of `byte-compile-macro-environment` >> >> This seems to result in the following test failure with 'make check', >> but strangely not with 'make test/pcase-tests': > > Hmm... I wonder why the test code worked before that patch. > The problem is that pcase macros defined with `pcase-defmacro` can't be > used in the same file where they're defined (you need to wrap them in > `eval-and-compile`). > Maybe we should fix that, but the problem is not new, so I'm wondering > why the bug didn't trigger earlier. Beats me :/. Even after reverting commits a0f60293d9 and 88ca2280ba, 'make check' still fails. But both 'git bisect', and checking out its parent 6ad9b8d677, point to a0f60293d9 as being the culprit. >> BTW, 'make bootstrap' now emits this warning: >> >> In cl--sm-macroexpand: >> emacs-lisp/cl-macs.el:2301:61: Warning: Unused lexical argument `dontcare' > > Yes, that's good: the warning wanrs about an actual problem. > >> (The 'sm' is the artist's signature, right? ;) > > Nah, the artist found a good excuse: "s(ymbol-)m(acrolet)" Not the kind of nom de plume you see every day. >> Is this the right fix? > > Yes, but it doesn't just pacify the byte-compiler: it fixes the source > code (in Emacs-27, this worked by accident, really). Thanks, pushed with the log message adapted accordingly. -- Basil ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: master a0f6029: Fix misuses of `byte-compile-macro-environment` 2021-03-04 1:47 ` Basil L. Contovounesios @ 2021-03-04 2:33 ` Stefan Monnier 2021-03-04 13:38 ` Basil L. Contovounesios 0 siblings, 1 reply; 11+ messages in thread From: Stefan Monnier @ 2021-03-04 2:33 UTC (permalink / raw) To: Basil L. Contovounesios; +Cc: emacs-devel > Beats me :/. Even after reverting commits a0f60293d9 and 88ca2280ba, > 'make check' still fails. But both 'git bisect', and checking out its > parent 6ad9b8d677, point to a0f60293d9 as being the culprit. It turns out it was because a `no-byte-compile` was hiding the problem. Stefan ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: master a0f6029: Fix misuses of `byte-compile-macro-environment` 2021-03-04 2:33 ` Stefan Monnier @ 2021-03-04 13:38 ` Basil L. Contovounesios 2021-03-04 14:50 ` Stefan Monnier 0 siblings, 1 reply; 11+ messages in thread From: Basil L. Contovounesios @ 2021-03-04 13:38 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> Beats me :/. Even after reverting commits a0f60293d9 and 88ca2280ba, >> 'make check' still fails. But both 'git bisect', and checking out its >> parent 6ad9b8d677, point to a0f60293d9 as being the culprit. > > It turns out it was because a `no-byte-compile` was hiding the problem. Sometimes I feel like the compiler doesn't ignore our comments. -- Basil ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: master a0f6029: Fix misuses of `byte-compile-macro-environment` 2021-03-04 13:38 ` Basil L. Contovounesios @ 2021-03-04 14:50 ` Stefan Monnier 0 siblings, 0 replies; 11+ messages in thread From: Stefan Monnier @ 2021-03-04 14:50 UTC (permalink / raw) To: Basil L. Contovounesios; +Cc: emacs-devel >>> Beats me :/. Even after reverting commits a0f60293d9 and 88ca2280ba, >>> 'make check' still fails. But both 'git bisect', and checking out its >>> parent 6ad9b8d677, point to a0f60293d9 as being the culprit. >> It turns out it was because a `no-byte-compile` was hiding the problem. > Sometimes I feel like the compiler doesn't ignore our comments. I have no doubt we are being watched, Stefan ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2021-03-04 14:50 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20210301171853.8051.45984@vcs0.savannah.gnu.org> [not found] ` <20210301171854.C42CB20E1B@vcs0.savannah.gnu.org> 2021-03-03 14:44 ` master a0f6029: Fix misuses of `byte-compile-macro-environment` Basil L. Contovounesios [not found] ` <43A0C407-D217-46AF-8472-28DD2DE80D6C@acm.org> 2021-03-03 15:16 ` Basil L. Contovounesios 2021-03-03 15:23 ` Mattias Engdegård 2021-03-03 15:26 ` Lars Ingebrigtsen 2021-03-04 13:48 ` Basil L. Contovounesios 2021-03-04 8:41 ` Michael Albinus 2021-03-03 22:15 ` Stefan Monnier 2021-03-04 1:47 ` Basil L. Contovounesios 2021-03-04 2:33 ` Stefan Monnier 2021-03-04 13:38 ` Basil L. Contovounesios 2021-03-04 14:50 ` Stefan Monnier
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).