GNU bug report logs - #51665
28.0.50; [PATCH] Get electric-tests to pass

Previous Next

Package: emacs;

Reported by: dick.r.chiang <at> gmail.com

Date: Sun, 7 Nov 2021 16:20:01 UTC

Severity: normal

Tags: patch

Found in version 28.0.50

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 51665 in the body.
You can then email your comments to 51665 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#51665; Package emacs. (Sun, 07 Nov 2021 16:20:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to dick.r.chiang <at> gmail.com:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sun, 07 Nov 2021 16:20:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: dick.r.chiang <at> gmail.com
To: bug-gnu-emacs <bug-gnu-emacs <at> gnu.org>
Subject: 28.0.50; [PATCH] Get electric-tests to pass
Date: Sun, 07 Nov 2021 11:19:49 -0500
[0001-electric-tests-can-no-longer-by-byte-compiled.patch (text/x-diff, inline)]
From 386db51dab930280a6d2ce5f46583913bce279e5 Mon Sep 17 00:00:00 2001
From: dickmao <dick.r.chiang <at> gmail.com>
Date: Sun, 7 Nov 2021 11:01:59 -0500
Subject: [PATCH] electric-tests can no longer by byte compiled

As much as I enjoy this scut work, I'm happy for patch authors to
validate changes via a self-administered testing system.  So-called
CI (continuous integration) systems require a paradigm shift from
Wall-esque patches to branch-based schemes, however.

While such a shift could appear daunting, all that is really required
is an email from leadership to start submitting changesets to Github
or Gitlab.  The leveraging of nonfree infrastructure, while at odds
with GNU dogma, would be as salutary and expeditious as a flat-earther
resigning himself to a modern vaccine.

* test/lisp/electric-tests.el: Avoid byte compiling.
---
 test/lisp/electric-tests.el | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/test/lisp/electric-tests.el b/test/lisp/electric-tests.el
index 686641c1b3..c3d5d25d2b 100644
--- a/test/lisp/electric-tests.el
+++ b/test/lisp/electric-tests.el
@@ -999,4 +999,9 @@ electric-layout-mode-newline-between-parens-without-e-p-m-2
     (should (equal (buffer-string) "int main () {\n  \n}"))))
 
 (provide 'electric-tests)
+
+;; Local Variables:
+;; no-byte-compile: t
+;; End:
+
 ;;; electric-tests.el ends here
-- 
2.26.2

[Message part 2 (text/plain, inline)]


In Commercial Emacs 28.0.50 (build 23, x86_64-pc-linux-gnu, GTK+ Version 3.22.30, cairo version 1.15.10)
 of 2021-11-07 built on dick
Repository revision: 06a65356ee535b54c513fef6e8689ea383da5ea2
Repository branch: dev
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
System Description: Ubuntu 18.04.4 LTS

Configured using:
 'configure --prefix=/home/dick/.local --with-tree-sitter 'CFLAGS=-g3 -O2
 -I/home/dick/.local/include/' LDFLAGS=-L/home/dick/.local/lib
 PKG_CONFIG_PATH=/home/dick/.local/lib/pkgconfig'
Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
TREE-SITTER LCMS2 LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG
SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XPM GTK3 ZLIB
Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Magit

Minor modes in effect:
  async-bytecomp-package-mode: t
  global-git-commit-mode: t
  shell-dirtrack-mode: t
  projectile-mode: t
  flx-ido-mode: t
  override-global-mode: t
  global-hl-line-mode: t
  winner-mode: t
  tooltip-mode: t
  show-paren-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/dick/gomacro-mode/gomacro-mode hides /home/dick/.emacs.d/elpa/gomacro-mode-20200326.1103/gomacro-mode
/home/dick/.emacs.d/elpa/hydra-20170924.2259/lv hides /home/dick/.emacs.d/elpa/lv-20191106.1238/lv
/home/dick/.emacs.d/elpa/magit-3.3.0/magit-section-pkg hides /home/dick/.emacs.d/elpa/magit-section-3.3.0/magit-section-pkg
/home/dick/org-gcal.el/org-gcal hides /home/dick/.emacs.d/elpa/org-gcal-0.3/org-gcal
/home/dick/.emacs.d/lisp/json hides /home/dick/emacs/lisp/json
/home/dick/.emacs.d/elpa/transient-0.3.6/transient hides /home/dick/emacs/lisp/transient
/home/dick/.emacs.d/elpa/hierarchy-20171221.1151/hierarchy hides /home/dick/emacs/lisp/emacs-lisp/hierarchy

Features:
(shadow sort bbdb-message footnote mail-extr emacsbug sendmail make-mode rect
pulse eieio-opt speedbar ezimage dframe shortdoc cc-langs cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
help-fns radix-tree find-func magit-extras mule-util ag vc-svn find-dired
face-remap magit-patch-changelog magit-patch magit-submodule magit-obsolete
magit-popup async-bytecomp async magit-blame magit-stash magit-reflog
magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote
magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge
magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos
magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff
git-commit log-edit pcvs-util add-log magit-core magit-margin magit-transient
magit-process with-editor server magit-mode transient gnus-notifications
gnus-fun notifications gnus-kill gnus-dup disp-table utf-7 mm-archive
url-cache misearch multi-isearch vc-git diff-mode vc-dispatcher bug-reference
tramp-archive tramp-gvfs tramp-cache zeroconf nnrss nnfolder nndiscourse
benchmark rbenv nnhackernews nntwitter nntwitter-api bbdb-gnus gnus-demon nntp
nnmairix nnml nnreddit gnus-topic url-http url-auth url-gw network-stream
gnutls nsm request virtualenvwrapper gud s json-rpc python tramp-sh tramp
tramp-loaddefs trampver tramp-integration files-x tramp-compat shell pcomplete
ls-lisp format-spec gnus-score score-mode gnus-bcklg gnus-srvr gnus-cite
anaphora bbdb-mua bbdb-com bbdb bbdb-site timezone gnus-delay gnus-draft
gnus-cache gnus-agent gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime
dig gnus-sum shr kinsoku svg dom nndraft nnmh gnus-group mm-url gnus-undo
use-package use-package-delight use-package-diminish gnus-start gnus-dbus dbus
xml gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo parse-time iso8601
gnus-spec gnus-int gnus-range message yank-media rmc puny dired-x dired
dired-loaddefs rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode
mm-bodies mm-encode mailabbrev gmm-utils mailheader gnus-win paredit-ext
paredit subed subed-vtt subed-srt subed-common subed-mpv subed-debug
subed-config inf-ruby ruby-mode smie company pcase haskell-interactive-mode
haskell-presentation-mode haskell-process haskell-session haskell-compile
haskell-mode haskell-cabal haskell-utils haskell-font-lock haskell-indentation
haskell-string haskell-sort-imports haskell-lexeme haskell-align-imports
haskell-complete-module haskell-ghc-support noutline outline flymake-proc
flymake warnings etags fileloop generator xref project dabbrev
haskell-customize hydra lv use-package-ensure solarized-theme
solarized-definitions projectile lisp-mnt mail-parse rfc2231 ibuf-ext ibuffer
ibuffer-loaddefs thingatpt magit-autorevert autorevert filenotify magit-git
magit-section magit-utils crm dash rx grep compile comint ansi-color gnus
nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils text-property-search time-date flx-ido flx
google-translate-default-ui google-translate-core-ui facemenu color ido
google-translate-core google-translate-tk google-translate-backend
use-package-bind-key bind-key auto-complete easy-mmode advice edmacro kmacro
popup cus-edit pp cus-load wid-edit emms-player-mplayer emms-player-simple
emms emms-compat cl-extra use-package-core derived hl-line winner ring
help-mode finder-inf json-reformat-autoloads json-snatcher-autoloads
sml-mode-autoloads tornado-template-mode-autoloads info package browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core
cl-macs eieio-loaddefs password-cache json map url-vars seq gv subr-x byte-opt
bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tree-sitter tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer
select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese composite
emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple
abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote threads dbusbind inotify
lcms2 dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 924019 149092)
 (symbols 48 40983 2)
 (strings 32 184227 36524)
 (string-bytes 1 6445698)
 (vectors 16 98473)
 (vector-slots 8 2603918 139526)
 (floats 8 1998 2420)
 (intervals 56 7261 1570)
 (buffers 992 39))

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#51665; Package emacs. (Sun, 07 Nov 2021 16:25:01 GMT) Full text and rfc822 format available.

Message #8 received at 51665 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: dick.r.chiang <at> gmail.com
Cc: 51665 <at> debbugs.gnu.org
Subject: Re: bug#51665: 28.0.50; [PATCH] Get electric-tests to pass
Date: Sun, 07 Nov 2021 17:24:24 +0100
dick.r.chiang <at> gmail.com writes:

> Subject: [PATCH] electric-tests can no longer by byte compiled

Isn't that the bug, though?  We've been trying to find out why.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#51665; Package emacs. (Sun, 07 Nov 2021 17:26:01 GMT) Full text and rfc822 format available.

Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Andy Moreton <andrewjmoreton <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#51665: 28.0.50; [PATCH] Get electric-tests to pass
Date: Sun, 07 Nov 2021 17:25:22 +0000
On Sun 07 Nov 2021, dick.r.chiang <at> gmail.com wrote:

> From 386db51dab930280a6d2ce5f46583913bce279e5 Mon Sep 17 00:00:00 2001
> From: dickmao <dick.r.chiang <at> gmail.com>
> Date: Sun, 7 Nov 2021 11:01:59 -0500
> Subject: [PATCH] electric-tests can no longer by byte compiled
>
> As much as I enjoy this scut work, I'm happy for patch authors to
> validate changes via a self-administered testing system.  So-called
> CI (continuous integration) systems require a paradigm shift from
> Wall-esque patches to branch-based schemes, however.
>
> While such a shift could appear daunting, all that is really required
> is an email from leadership to start submitting changesets to Github
> or Gitlab.  The leveraging of nonfree infrastructure, while at odds
> with GNU dogma, would be as salutary and expeditious as a flat-earther
> resigning himself to a modern vaccine.

Please stop writing this snide and sneering commentary, as you have done
in many recent messages. 

Whatever your views are on the philosophy, code base or working style
of the project, a commit message is not the right place for that.

Please learn to communicate in a less unpleasant style.

   AndyM






Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#51665; Package emacs. (Sun, 07 Nov 2021 18:32:02 GMT) Full text and rfc822 format available.

Message #14 received at 51665 <at> debbugs.gnu.org (full text, mbox):

From: Jim Porter <jporterbugs <at> gmail.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>, dick.r.chiang <at> gmail.com
Cc: 51665 <at> debbugs.gnu.org
Subject: Re: bug#51665: 28.0.50; [PATCH] Get electric-tests to pass
Date: Sun, 7 Nov 2021 10:31:50 -0800
[Message part 1 (text/plain, inline)]
On 11/7/2021 8:24 AM, Lars Ingebrigtsen wrote:
> dick.r.chiang <at> gmail.com writes:
> 
>> Subject: [PATCH] electric-tests can no longer by byte compiled
> 
> Isn't that the bug, though?  We've been trying to find out why.

I've been tinkering with this and I *think* the issue is with the hook I 
added at global scope:

  (add-hook 'c-mode-hook (lambda () (c-toggle-comment-style -1)))

In the attached patch, I moved this into a fixture function for the 
`whitespace-chomping-dont-cross-comments' test and it works for me (i.e. 
electric-tests pass both with and without byte-compilation). Hopefully 
this resolves the issue, though I'm unclear on *why* this was occurring 
in the first place; maybe there's a bug in the byte-compiler...?

(As an aside, I vaguely recall adding that hook at global scope because 
multiple tests failed without it, but it was a while since I wrote that 
patch and I may be misremembering. In any case, it seems that at least 
today, changing the comment style is only needed for that one test, so I 
think it makes sense to do it in a fixture solely for that test.)
[0001-Fix-electric-tests.patch (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#51665; Package emacs. (Sun, 07 Nov 2021 20:20:02 GMT) Full text and rfc822 format available.

Message #17 received at 51665 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Jim Porter <jporterbugs <at> gmail.com>
Cc: 51665 <at> debbugs.gnu.org, dick.r.chiang <at> gmail.com
Subject: Re: bug#51665: 28.0.50; [PATCH] Get electric-tests to pass
Date: Sun, 07 Nov 2021 21:19:06 +0100
Jim Porter <jporterbugs <at> gmail.com> writes:

> I've been tinkering with this and I *think* the issue is with the hook
> I added at global scope:
>
>   (add-hook 'c-mode-hook (lambda () (c-toggle-comment-style -1)))

In general, doing an add-hook with a non-symbol function isn't
supported -- it may end up adding the function more than once if it
first loads the uncompiled file, and then loads the compiled file, I
think?  (Because the lambda will have been turned into a byte-code
object.)  So it seems logical that inhibiting byte compilation also made
the problem go away.

Anyway, your patch is the right fix here, so I've pushed it to Emacs 29
now.

> (As an aside, I vaguely recall adding that hook at global scope
> because multiple tests failed without it, but it was a while since I
> wrote that patch and I may be misremembering. In any case, it seems
> that at least today, changing the comment style is only needed for
> that one test, so I think it makes sense to do it in a fixture solely
> for that test.)

Seems to work for me too here.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug marked as fixed in version 29.1, send any further explanations to 51665 <at> debbugs.gnu.org and dick.r.chiang <at> gmail.com Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 07 Nov 2021 20:21:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 06 Dec 2021 12:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 256 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.