GNU bug report logs - #67920
30.0.50; "*Compile-Log" is not `compilation-mode' if `byte-compile-file' found "no lexical-binding"

Previous Next

Package: emacs;

Reported by: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>

Date: Wed, 20 Dec 2023 06:44:01 UTC

Severity: normal

Found in version 30.0.50

To reply to this bug, email your comments to 67920 AT debbugs.gnu.org.

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#67920; Package emacs. (Wed, 20 Dec 2023 06:44:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 20 Dec 2023 06:44:01 GMT) Full text and rfc822 format available.

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

From: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.50; "*Compile-Log" is not `compilation-mode' if
 `byte-compile-file' found "no lexical-binding"
Date: Wed, 20 Dec 2023 15:43:25 +0900
`byte-compile-file' in current master branch behaves strange if the file
is not including "-*- lexical-binding: t; -*-" mark.

(progn
  (with-temp-file "foo.el" ())
  (byte-compile-file "foo.el"))

The above code outputs to "*Compile-Log" with `special-mode' like following

	In toplevel form:
	foo.el:1:1: Warning: file has no ‘lexical-binding’ directive on its first
	    line

If there is "-*- lexical-binding: t; -*-" mark in the file,
"*Compile-Log*" is with `compilation-mode' as expected.



In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.38, cairo version 1.18.0) of 2023-12-19 built on devron
Repository revision: d0e3dfa764cdb5c15c2a525b455df495097a86bb
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101009
System Description: Debian GNU/Linux trixie/sid

Configured using:
 'configure --with-x-toolkit=gtk3 --without-xim --with-imagemagick
 --with-wide-int --with-native-compilation=aot'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ
IMAGEMAGICK JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2
M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP
SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINPUT2
XPM GTK3 ZLIB

Important settings:
  value of $LANG: ja_JP.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  gnus-topic-mode: t
  gnus-undo-mode: t
  bug-reference-mode: t
  server-mode: t
  flycheck-pos-tip-mode: t
  global-flycheck-mode: t
  global-company-mode: t
  company-mode: t
  auto-insert-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  electric-pair-mode: t
  icomplete-mode: t
  savehist-mode: t
  repeat-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  minibuffer-regexp-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow bbdb-message mailalias emacsbug mule-util sort gnus-cite
shr-color color mm-archive mail-extr textsec uni-scripts idna-mapping
ucs-normalize uni-confusable textsec-check gnus-bcklg qp hl-line
elfeed-show elfeed-search bookmark elfeed-csv elfeed elfeed-curl
elfeed-log elfeed-db elfeed-lib avl-tree url-queue xml-query gnus-async
bbdb-gnus-aux gnus-ml disp-table gnus-topic url-http url-gw url-cache
utf-7 epa-file network-stream nsm nnfolder bbdb-gnus nnnil bbdb-mua spam
spam-stat bbdb-com crm bbdb bbdb-site timezone gnus-uu yenc gnus-demon
gnus-delay gnus-draft gnus-agent gnus-srvr gnus-score score-mode
nnvirtual nntp gnus-cache gnus-msg gnus-art mm-uu mml2015 mm-view
mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg
dom nndraft nnmh gnus-xoauth2 oauth2-ext plstore gnus-group gnus-undo
gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7
nnoo parse-time iso8601 gnus-spec gnus-int gnus-range message sendmail
yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus nnheader
gnus-util time-date mail-utils range mm-util mail-prsvr dired-aux
files-x dircolors-faces dired-x dired dired-loaddefs grep-context
comp-run comp-common flyspell ispell vc-hg vc-git cus-start diff-mode
vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view easy-mmode pcvs-util
vc vc-dispatcher bug-reference thingatpt server auth-source-pass
company-cscope company-yasnippet url-auth generic-x flycheck-relint
relint compile text-property-search comint ansi-osc xr flycheck-pos-tip
pos-tip flycheck ansi-color find-func rx dash company-oddmuse
company-keywords company-etags etags fileloop generator xref project
ring company-gtags company-dabbrev-code company-dabbrev company-files
company-clang company-capf company-cmake company-semantic
company-template company-bbdb company pcase autoinsert cl-extra
yasnippet help-mode elec-pair icomplete savehist advice browse-kill-ring
delsel tab-bar-session desktop frameset repeat mozc-im-plus mozc-popup
popup mozc vcard-autoloads startup-elisp-autoloads rfc-autoloads
mozc-im-plus-autoloads misc-autoloads magit-mini-autoloads
lookup-autoloads langtool-autoloads grammar-check-autoloads
go-translate-autoloads gnus-xoauth2-autoloads debian-autoloads
cxrefs-autoloads company-cscope-autoloads bbdb-loaddefs cus-edit pp
cus-load icons wid-edit browse-kill-ring-autoloads company-autoloads
coterm-autoloads csv-mode-autoloads elfeed-autoloads
expand-region-autoloads flycheck-autoloads dash-autoloads
git-modes-autoloads info compat-autoloads gnuplot-autoloads
graphviz-dot-mode-autoloads grep-context-autoloads lua-mode-autoloads
markdown-mode-autoloads mozc-autoloads php-mode-autoloads
po-mode-autoloads popup-autoloads pos-tip-autoloads relint-autoloads
rust-mode-autoloads vundo-autoloads wgrep-autoloads xr-autoloads
yaml-mode-autoloads yasnippet-autoloads package browse-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x
map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib
japan-util rmc iso-transl tooltip cconv eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt
fringe 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 nadvice seq simple cl-generic indonesian philippine
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 abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar
make-network-process native-compile emacs)

Memory information:
((conses 16 1140993 1196637) (symbols 48 27817 12)
 (strings 32 1233466 63605) (string-bytes 1 49423824)
 (vectors 16 369106) (vector-slots 8 4736667 344176)
 (floats 8 91695 106205) (intervals 56 5080 3514) (buffers 984 30))

-- 
OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67920; Package emacs. (Thu, 21 Dec 2023 13:08:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>,
 Mattias Engdegård <mattiase <at> acm.org>
Cc: 67920 <at> debbugs.gnu.org
Subject: Re: bug#67920: 30.0.50;
 "*Compile-Log" is not `compilation-mode' if `byte-compile-file' found
 "no lexical-binding"
Date: Thu, 21 Dec 2023 15:07:15 +0200
> From: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>
> Date: Wed, 20 Dec 2023 15:43:25 +0900
> 
> 
> `byte-compile-file' in current master branch behaves strange if the file
> is not including "-*- lexical-binding: t; -*-" mark.
> 
> (progn
>   (with-temp-file "foo.el" ())
>   (byte-compile-file "foo.el"))
> 
> The above code outputs to "*Compile-Log" with `special-mode' like following
> 
> 	In toplevel form:
> 	foo.el:1:1: Warning: file has no ‘lexical-binding’ directive on its first
> 	    line
> 
> If there is "-*- lexical-binding: t; -*-" mark in the file,
> "*Compile-Log*" is with `compilation-mode' as expected.

Mattias, this seems to be due to your change in commit a3db503351e:
the call to byte-compile-warn-x you added there logs a warning too
early, which has two adverse effects: (a) the compilation directory is
not logged as the directory of the file being compiled (Emacs thinks
it's the original directory where Emacs was started), and (b) the
value of byte-compile-last-logged-file is set to the name of the file
being compiled, which then defeats the logic in byte-compile-log-file
of turning on emacs-lisp-compilation-mode in the log buffer.

Could you please look into this?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67920; Package emacs. (Fri, 22 Dec 2023 12:19:01 GMT) Full text and rfc822 format available.

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

From: Mattias Engdegård <mattias.engdegard <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>, 67920 <at> debbugs.gnu.org
Subject: Re: bug#67920: 30.0.50; "*Compile-Log" is not `compilation-mode' if
 `byte-compile-file' found "no lexical-binding"
Date: Fri, 22 Dec 2023 13:18:06 +0100
21 dec. 2023 kl. 14.07 skrev Eli Zaretskii <eliz <at> gnu.org>:

> From: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>

>> `byte-compile-file' in current master branch behaves strange if the file
>> is not including "-*- lexical-binding: t; -*-" mark.

> Mattias, this seems to be due to your change in commit a3db503351e:

Guilty!

Ogawa-san, thank you for reporting this.
I've pushed a fix to master (c638a40d).





This bug report was last modified 1 year and 231 days ago.

Previous Next


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