GNU bug report logs - #54240
emacs/lisp/emacs-lisp/derived.el patch

Previous Next

Package: emacs;

Reported by: chenphy10 <at> gmail.com

Date: Thu, 3 Mar 2022 17:10:02 UTC

Severity: normal

Tags: moreinfo

Fixed in version 28.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 54240 in the body.
You can then email your comments to 54240 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#54240; Package emacs. (Thu, 03 Mar 2022 17:10:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to chenphy10 <at> gmail.com:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 03 Mar 2022 17:10:02 GMT) Full text and rfc822 format available.

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

From: chenphy10 <at> gmail.com
To: bug-gnu-emacs <at> gnu.org
Subject: emacs/lisp/emacs-lisp/derived.el patch
Date: Thu, 03 Mar 2022 11:45:21 -0500
[Message part 1 (text/plain, inline)]
Dear developers/maintainers,

When running "jdee-mode" from Melpa, without the patch, it will create
erorrs on the "mode" undefined. I found it is caused by this quoted
function.

Please let me know if it is a suitable patch.


Best,
Tongjie
[derived.el.patch (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54240; Package emacs. (Thu, 03 Mar 2022 17:16:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: chenphy10 <at> gmail.com
Cc: 54240 <at> debbugs.gnu.org
Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch
Date: Thu, 03 Mar 2022 18:14:58 +0100
chenphy10 <at> gmail.com writes:

> When running "jdee-mode" from Melpa, without the patch, it will create
> erorrs on the "mode" undefined. I found it is caused by this quoted
> function.
>
> Please let me know if it is a suitable patch.

[...]

> -	       (define-abbrev-table (derived-mode-abbrev-table-name mode) nil)
> +	       ,(define-abbrev-table (derived-mode-abbrev-table-name mode) nil)

The code looks correct the way it is, I think?

What Emacs version are you seeing this problem in?  Please use `M-x
report-emacs-bug' and include all the information you get in that buffer.

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




Added tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 03 Mar 2022 17:16:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54240; Package emacs. (Thu, 03 Mar 2022 23:04:02 GMT) Full text and rfc822 format available.

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

From: Tongjie Chen <chenphy10 <at> gmail.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 54240 <at> debbugs.gnu.org
Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch
Date: Thu, 3 Mar 2022 18:02:43 -0500
[Message part 1 (text/plain, inline)]
Maybe it's a problem with Emacs 28.0.50. I built it from emacs-ng-git on
Manjaro. I no longer use Emacs 27.


In GNU Emacs 28.0.50 (build 8, x86_64-pc-linux-gnu, GTK+ Version 3.24.29,
cairo version 1.17.4)
 of 2021-07-08 built on tongjie-inspiron73062n1
Repository revision: 6b8939983862e9fc54bd816304b66769766e1b20
Repository branch: makepkg
Windowing system distributor 'The X.Org Foundation', version 11.0.12101003
System Description: Manjaro Linux

Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-wide-int
 --with-modules --with-cairo --with-harfbuzz --with-nativecomp
 --with-xwidgets 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt
 -fexceptions -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS -Wformat
 -Werror=format-security -fstack-clash-protection -fcf-protection'
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

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

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  value of $LC_MONETARY: en_US.UTF-8
  value of $LC_NUMERIC: en_US.UTF-8
  value of $LC_TIME: en_US.UTF-8
  value of $LANG: en_US.utf8
  value of $XMODIFIERS: @im=fcitx5
  locale-coding-system: utf-8-unix

Major mode: Org

Minor modes in effect:
  global-semanticdb-minor-mode: t
  global-semantic-idle-scheduler-mode: t
  openwith-mode: t
  helm--remap-mouse-mode: t
  async-bytecomp-package-mode: t
  org-clock-today-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  override-global-mode: t
  delete-selection-mode: t
  global-auto-complete-mode: t
  global-edit-server-edit-mode: t
  pdf-occur-global-minor-mode: t
  semantic-mode: t
  shell-dirtrack-mode: t
  ido-ubiquitous-mode: t
  ido-everywhere: t
  show-paren-mode: t
  org-cdlatex-mode: t
  keyfreq-autosave-mode: t
  keyfreq-mode: t
  global-auto-revert-mode: t
  display-time-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Load-path shadows:
~/.emacs.d/elpa/yasnippet-20200604.246/yasnippet hides
/home/tongjie/.emacs.d/emacs-for-python/extensions/yasnippet/yasnippet
/home/tongjie/.emacs.d/emacs-for-python/extensions/auto-complete/fuzzy
hides ~/.emacs.d/fuzzy
/home/tongjie/.emacs.d/emacs-for-python/extensions/auto-complete/popup
hides ~/.emacs.d/popup
~/.emacs.d/jieba.el/jieba hides ~/.emacs.d/jieba
~/.emacs.d/lisp/anki/anki-connect hides
/home/tongjie/.emacs.d/elpa/anki-connect-20191123.1858/anki-connect
/home/tongjie/.emacs.d/emacs-for-python/extensions/autopair hides
/home/tongjie/.emacs.d/elpa/autopair-20160304.1237/autopair
/home/tongjie/.emacs.d/emacs-for-python/extensions/cython-mode hides
/home/tongjie/.emacs.d/elpa/cython-mode-20211111.1407/cython-mode
~/.emacs.d/edit-server hides
/home/tongjie/.emacs.d/elpa/edit-server-20181016.1125/edit-server
~/.emacs.d/gnuplot-mode/gnuplot-gui hides
/home/tongjie/.emacs.d/elpa/gnuplot-20220102.1637/gnuplot-gui
~/.emacs.d/gnuplot-mode/gnuplot-context hides
/home/tongjie/.emacs.d/elpa/gnuplot-20220102.1637/gnuplot-context
~/.emacs.d/gnuplot-mode/gnuplot hides
/home/tongjie/.emacs.d/elpa/gnuplot-20220102.1637/gnuplot
/home/tongjie/.emacs.d/emacs-for-python/extensions/highlight-indentation
hides
/home/tongjie/.emacs.d/elpa/highlight-indentation-20210221.1418/highlight-indentation
/home/tongjie/.emacs.d/emacs-for-python/extensions/python hides
/home/tongjie/.emacs.d/elpa/python-0.28/python
/home/tongjie/.emacs.d/elpa/parseclj-20211013.453/parseclj hides
/home/tongjie/.emacs.d/elpa/spiral-20180223.1140/parseclj
/home/tongjie/.emacs.d/elpa/parseedn-20211013.452/parseedn hides
/home/tongjie/.emacs.d/elpa/spiral-20180223.1140/parseedn
/home/tongjie/.emacs.d/elpa/parseclj-20211013.453/parseclj-ast hides
/home/tongjie/.emacs.d/elpa/spiral-20180223.1140/parseclj-ast
/home/tongjie/.emacs.d/elpa/parseclj-20211013.453/parseclj-parser hides
/home/tongjie/.emacs.d/elpa/spiral-20180223.1140/parseclj-parser
/home/tongjie/.emacs.d/elpa/parseclj-20211013.453/parseclj-lex hides
/home/tongjie/.emacs.d/elpa/spiral-20180223.1140/parseclj-lex
/home/tongjie/.emacs.d/emacs-for-python/extensions/auto-complete/auto-complete-config
hides
/home/tongjie/.emacs.d/elpa/auto-complete-20220105.439/auto-complete-config
/home/tongjie/.emacs.d/emacs-for-python/extensions/auto-complete/auto-complete
hides /home/tongjie/.emacs.d/elpa/auto-complete-20220105.439/auto-complete
~/.emacs.d/ob-js hides /home/tongjie/.emacs.d/elpa/org-9.5.2/ob-js
~/.emacs.d/pos-tip hides
/home/tongjie/.emacs.d/elpa/pos-tip-20191227.1356/pos-tip
/home/tongjie/.emacs.d/emacs-for-python/extensions/auto-complete/popup
hides /home/tongjie/.emacs.d/elpa/popup-20211231.1823/popup
/home/tongjie/.emacs.d/elpa/transient-20220130.1941/transient hides
/usr/share/emacs/28.0.50/lisp/transient
/home/tongjie/.emacs.d/elpa/jsonrpc-1.0.15/jsonrpc hides
/usr/share/emacs/28.0.50/lisp/jsonrpc
~/.emacs.d/remember hides /usr/share/emacs/28.0.50/lisp/textmodes/remember
/home/tongjie/.emacs.d/emacs-for-python/extensions/python hides
/usr/share/emacs/28.0.50/lisp/progmodes/python
/home/tongjie/.emacs.d/elpa/org-9.5.2/ol-eww hides
/usr/share/emacs/28.0.50/lisp/org/ol-eww
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-ocaml hides
/usr/share/emacs/28.0.50/lisp/org/ob-ocaml
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-lint hides
/usr/share/emacs/28.0.50/lisp/org/org-lint
/home/tongjie/.emacs.d/elpa/org-9.5.2/ol-info hides
/usr/share/emacs/28.0.50/lisp/org/ol-info
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-plantuml hides
/usr/share/emacs/28.0.50/lisp/org/ob-plantuml
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-python hides
/usr/share/emacs/28.0.50/lisp/org/ob-python
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-matlab hides
/usr/share/emacs/28.0.50/lisp/org/ob-matlab
/home/tongjie/.emacs.d/elpa/org-9.5.2/ol-rmail hides
/usr/share/emacs/28.0.50/lisp/org/ol-rmail
/home/tongjie/.emacs.d/elpa/org-9.5.2/ol-docview hides
/usr/share/emacs/28.0.50/lisp/org/ol-docview
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-macs hides
/usr/share/emacs/28.0.50/lisp/org/org-macs
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-gnuplot hides
/usr/share/emacs/28.0.50/lisp/org/ob-gnuplot
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-id hides
/usr/share/emacs/28.0.50/lisp/org/org-id
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-lua hides
/usr/share/emacs/28.0.50/lisp/org/ob-lua
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-haskell hides
/usr/share/emacs/28.0.50/lisp/org/ob-haskell
/home/tongjie/.emacs.d/elpa/org-9.5.2/ox-odt hides
/usr/share/emacs/28.0.50/lisp/org/ox-odt
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-clock hides
/usr/share/emacs/28.0.50/lisp/org/org-clock
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-ditaa hides
/usr/share/emacs/28.0.50/lisp/org/ob-ditaa
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-macro hides
/usr/share/emacs/28.0.50/lisp/org/org-macro
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-mouse hides
/usr/share/emacs/28.0.50/lisp/org/org-mouse
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-plot hides
/usr/share/emacs/28.0.50/lisp/org/org-plot
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-table hides
/usr/share/emacs/28.0.50/lisp/org/org-table
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-sed hides
/usr/share/emacs/28.0.50/lisp/org/ob-sed
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-exp hides
/usr/share/emacs/28.0.50/lisp/org/ob-exp
/home/tongjie/.emacs.d/elpa/org-9.5.2/ox hides
/usr/share/emacs/28.0.50/lisp/org/ox
~/.emacs.d/ob-js hides /usr/share/emacs/28.0.50/lisp/org/ob-js
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-groovy hides
/usr/share/emacs/28.0.50/lisp/org/ob-groovy
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-eshell hides
/usr/share/emacs/28.0.50/lisp/org/ob-eshell
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-sqlite hides
/usr/share/emacs/28.0.50/lisp/org/ob-sqlite
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-shell hides
/usr/share/emacs/28.0.50/lisp/org/ob-shell
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-processing hides
/usr/share/emacs/28.0.50/lisp/org/ob-processing
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-emacs-lisp hides
/usr/share/emacs/28.0.50/lisp/org/ob-emacs-lisp
/home/tongjie/.emacs.d/elpa/org-9.5.2/ox-html hides
/usr/share/emacs/28.0.50/lisp/org/ox-html
/home/tongjie/.emacs.d/elpa/org-9.5.2/ox-man hides
/usr/share/emacs/28.0.50/lisp/org/ox-man
/home/tongjie/.emacs.d/elpa/org-9.5.2/ox-ascii hides
/usr/share/emacs/28.0.50/lisp/org/ox-ascii
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-java hides
/usr/share/emacs/28.0.50/lisp/org/ob-java
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-duration hides
/usr/share/emacs/28.0.50/lisp/org/org-duration
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-clojure hides
/usr/share/emacs/28.0.50/lisp/org/ob-clojure
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-ref hides
/usr/share/emacs/28.0.50/lisp/org/ob-ref
/home/tongjie/.emacs.d/elpa/org-9.5.2/ox-latex hides
/usr/share/emacs/28.0.50/lisp/org/ox-latex
/home/tongjie/.emacs.d/elpa/org-9.5.2/ox-beamer hides
/usr/share/emacs/28.0.50/lisp/org/ox-beamer
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-list hides
/usr/share/emacs/28.0.50/lisp/org/org-list
/home/tongjie/.emacs.d/elpa/org-9.5.2/ol-eshell hides
/usr/share/emacs/28.0.50/lisp/org/ol-eshell
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-keys hides
/usr/share/emacs/28.0.50/lisp/org/org-keys
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-footnote hides
/usr/share/emacs/28.0.50/lisp/org/org-footnote
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-agenda hides
/usr/share/emacs/28.0.50/lisp/org/org-agenda
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-sass hides
/usr/share/emacs/28.0.50/lisp/org/ob-sass
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-lob hides
/usr/share/emacs/28.0.50/lisp/org/ob-lob
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-tangle hides
/usr/share/emacs/28.0.50/lisp/org/ob-tangle
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-attach-git hides
/usr/share/emacs/28.0.50/lisp/org/org-attach-git
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-feed hides
/usr/share/emacs/28.0.50/lisp/org/org-feed
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-refile hides
/usr/share/emacs/28.0.50/lisp/org/org-refile
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-src hides
/usr/share/emacs/28.0.50/lisp/org/org-src
/home/tongjie/.emacs.d/elpa/org-9.5.2/ol hides
/usr/share/emacs/28.0.50/lisp/org/ol
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-entities hides
/usr/share/emacs/28.0.50/lisp/org/org-entities
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-attach hides
/usr/share/emacs/28.0.50/lisp/org/org-attach
/home/tongjie/.emacs.d/elpa/org-9.5.2/ol-w3m hides
/usr/share/emacs/28.0.50/lisp/org/ol-w3m
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-compat hides
/usr/share/emacs/28.0.50/lisp/org/org-compat
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-indent hides
/usr/share/emacs/28.0.50/lisp/org/org-indent
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-lisp hides
/usr/share/emacs/28.0.50/lisp/org/ob-lisp
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-goto hides
/usr/share/emacs/28.0.50/lisp/org/org-goto
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-faces hides
/usr/share/emacs/28.0.50/lisp/org/org-faces
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-tempo hides
/usr/share/emacs/28.0.50/lisp/org/org-tempo
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-css hides
/usr/share/emacs/28.0.50/lisp/org/ob-css
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-makefile hides
/usr/share/emacs/28.0.50/lisp/org/ob-makefile
/home/tongjie/.emacs.d/elpa/org-9.5.2/ol-bibtex hides
/usr/share/emacs/28.0.50/lisp/org/ol-bibtex
/home/tongjie/.emacs.d/elpa/org-9.5.2/ox-publish hides
/usr/share/emacs/28.0.50/lisp/org/ox-publish
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-lilypond hides
/usr/share/emacs/28.0.50/lisp/org/ob-lilypond
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-scheme hides
/usr/share/emacs/28.0.50/lisp/org/ob-scheme
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-habit hides
/usr/share/emacs/28.0.50/lisp/org/org-habit
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-datetree hides
/usr/share/emacs/28.0.50/lisp/org/org-datetree
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-screen hides
/usr/share/emacs/28.0.50/lisp/org/ob-screen
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-mobile hides
/usr/share/emacs/28.0.50/lisp/org/org-mobile
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-latex hides
/usr/share/emacs/28.0.50/lisp/org/ob-latex
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-ctags hides
/usr/share/emacs/28.0.50/lisp/org/org-ctags
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-protocol hides
/usr/share/emacs/28.0.50/lisp/org/org-protocol
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-archive hides
/usr/share/emacs/28.0.50/lisp/org/org-archive
/home/tongjie/.emacs.d/elpa/org-9.5.2/ol-bbdb hides
/usr/share/emacs/28.0.50/lisp/org/ol-bbdb
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-maxima hides
/usr/share/emacs/28.0.50/lisp/org/ob-maxima
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-octave hides
/usr/share/emacs/28.0.50/lisp/org/ob-octave
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-fortran hides
/usr/share/emacs/28.0.50/lisp/org/ob-fortran
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-sql hides
/usr/share/emacs/28.0.50/lisp/org/ob-sql
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-calc hides
/usr/share/emacs/28.0.50/lisp/org/ob-calc
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-timer hides
/usr/share/emacs/28.0.50/lisp/org/org-timer
/home/tongjie/.emacs.d/elpa/org-9.5.2/ol-mhe hides
/usr/share/emacs/28.0.50/lisp/org/ol-mhe
/home/tongjie/.emacs.d/elpa/org-9.5.2/ol-irc hides
/usr/share/emacs/28.0.50/lisp/org/ol-irc
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-crypt hides
/usr/share/emacs/28.0.50/lisp/org/org-crypt
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-core hides
/usr/share/emacs/28.0.50/lisp/org/ob-core
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-perl hides
/usr/share/emacs/28.0.50/lisp/org/ob-perl
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-table hides
/usr/share/emacs/28.0.50/lisp/org/ob-table
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-ruby hides
/usr/share/emacs/28.0.50/lisp/org/ob-ruby
/home/tongjie/.emacs.d/elpa/org-9.5.2/ox-org hides
/usr/share/emacs/28.0.50/lisp/org/ox-org
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-dot hides
/usr/share/emacs/28.0.50/lisp/org/ob-dot
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-eval hides
/usr/share/emacs/28.0.50/lisp/org/ob-eval
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-loaddefs hides
/usr/share/emacs/28.0.50/lisp/org/org-loaddefs
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-comint hides
/usr/share/emacs/28.0.50/lisp/org/ob-comint
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-pcomplete hides
/usr/share/emacs/28.0.50/lisp/org/org-pcomplete
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-C hides
/usr/share/emacs/28.0.50/lisp/org/ob-C
/home/tongjie/.emacs.d/elpa/org-9.5.2/org hides
/usr/share/emacs/28.0.50/lisp/org/org
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-element hides
/usr/share/emacs/28.0.50/lisp/org/org-element
/home/tongjie/.emacs.d/elpa/org-9.5.2/ol-gnus hides
/usr/share/emacs/28.0.50/lisp/org/ol-gnus
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-awk hides
/usr/share/emacs/28.0.50/lisp/org/ob-awk
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob hides
/usr/share/emacs/28.0.50/lisp/org/ob
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-capture hides
/usr/share/emacs/28.0.50/lisp/org/org-capture
/home/tongjie/.emacs.d/elpa/org-9.5.2/ox-md hides
/usr/share/emacs/28.0.50/lisp/org/ox-md
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-R hides
/usr/share/emacs/28.0.50/lisp/org/ob-R
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-version hides
/usr/share/emacs/28.0.50/lisp/org/org-version
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-colview hides
/usr/share/emacs/28.0.50/lisp/org/org-colview
/home/tongjie/.emacs.d/elpa/org-9.5.2/ox-texinfo hides
/usr/share/emacs/28.0.50/lisp/org/ox-texinfo
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-inlinetask hides
/usr/share/emacs/28.0.50/lisp/org/org-inlinetask
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-org hides
/usr/share/emacs/28.0.50/lisp/org/ob-org
/home/tongjie/.emacs.d/elpa/org-9.5.2/org-num hides
/usr/share/emacs/28.0.50/lisp/org/org-num
/home/tongjie/.emacs.d/elpa/org-9.5.2/ob-forth hides
/usr/share/emacs/28.0.50/lisp/org/ob-forth
/home/tongjie/.emacs.d/elpa/org-9.5.2/ox-icalendar hides
/usr/share/emacs/28.0.50/lisp/org/ox-icalendar
/home/tongjie/.emacs.d/elpa/hierarchy-20190425.842/hierarchy hides
/usr/share/emacs/28.0.50/lisp/emacs-lisp/hierarchy
/home/tongjie/.emacs.d/elpa/seq-2.23/seq hides
/usr/share/emacs/28.0.50/lisp/emacs-lisp/seq
/home/tongjie/.emacs.d/elpa/map-3.2.1/map hides
/usr/share/emacs/28.0.50/lisp/emacs-lisp/map

Features:
(shadow sort mail-extr emacsbug sendmail ielm latexenc jedi jedi-core
python-environment epc ctable concurrent helm-org-rifle
semantic/bovine/make semantic/decorate/include semantic/decorate/mode
semantic/bovine/make-by semantic/bovine make-mode semantic/dep
semantic/tag-file semantic/edit jdee-flycheck semantic/db-find
semantic/db-ref semantic/db-mode semantic/wisent/java-tags
semantic/wisent/javat-wy jdee-plugins jdee shortdoc misearch
multi-isearch rainbow-delimiters cl-print cus-start ispell elfeed-link
elfeed-show elfeed-search elfeed-csv elfeed elfeed-curl elfeed-log
xml-query elfeed-db elfeed-lib anki-editor google-this imenu-list
racket-mode racket-bug-report racket-collection racket-repl-buffer-name
racket-stepper racket-logger racket-profile racket-smart-open racket-xp
racket-xp-complete racket-imenu racket-edit hideshow racket-repl
semantic/symref/grep semantic/symref racket-show racket-eldoc
racket-describe racket-scribble racket-visit racket-complete
racket-common racket-parens racket-indent racket-font-lock racket-ppss
racket-keywords-and-builtins racket-doc racket-cmd racket-util
racket-browse-url racket-custom sh-script smie emacs-everywhere pdf-sync
pdf-annot org-noter pdf-outline pdf-links pdf-history cua-base skeleton
quickrun em-banner eshell esh-mode esh-cmd esh-ext esh-opt esh-proc
esh-io esh-arg esh-module esh-groups winner tramp-archive tramp-gvfs
tramp-cache zeroconf jdee-wiz jdee-test jdee-stacktrace jdee-refactor
dired-aux jdee-project-file jdee-maven jdee-keys jdee-jdb
jdee-java-grammar jdee-which-method jdee-font-lock jdee-issues jdee-help
jdee-gen tempo jdee-find jdee-deps jdee-cygwin jdee-custom jdee-compile
jdee-class jdee-bytecode jdee-bug jdee-run jdee-jdk-manager jdee-dbs
jdee-dbo jdee-widgets tree-widget jdee-db jdee-open-source
semantic/senator semantic/decorate jdee-import jdee-complete
semantic/idle semantic/analyze semantic/scope semantic/analyze/fcn
jdee-archive jdee-parse jdee-backend jdee-bsh jdee-util jdee-parse-expr
beanshell jdee-imenu semantic/imenu semantic/sb semantic/sort
semantic/db-file data-debug cedet-files semantic/db eieio-base
semantic/java semantic/format semantic/tag-ls semantic/find semantic/doc
semantic/ctxt jdee-avl-tree etags fileloop efc eieio-compat
jdee-annotations jdee-abbrev jdee-classpath jdee-files jdee-activator
jdee-log executable image-file image-converter dabbrev tabify gnutls
network-stream url-cache org-cliplink org-cliplink-transport
org-cliplink-string em-glob esh-util org-journal org-crypt cal-move
org-drill-table org-drill persist impatient-mode htmlize simple-httpd
mule-util cal-iso org-duration vc-filewise vc-rcs face-remap server
ox-moderncv org-cv-utils leetcode-cn graphql clj-refactor cap-words
superword subword inflections sgml-mode facemenu
mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors
multiple-cursors-core rect paredit cider cider-debug cider-browse-ns
cider-mode cider-find cider-inspector cider-completion cider-profile
cider-eval cider-jar cider-repl-history cider-repl cider-resolve
cider-test cider-overlays cider-stacktrace cider-doc cider-browse-spec
cider-clojuredocs cider-eldoc cider-client cider-common cider-connection
cider-util cider-popup sesman-browser nrepl-client nrepl-dict
cider-compat spinner sesman vc clojure-mode align parseedn
parseclj-parser parseclj-lex parseclj-alist websocket bindat
org-transclusion text-clone org-mind-map mw-collegiate mw-learner
mw-thesaurus anki anki-db anki-learn anki-card anki-search anki-core
emacsql-sqlite emacsql emacsql-compiler shrface org-indent pyim-wbdict
pyim pyim-probe pyim-cregexp xr pyim-process pyim-cstring
pyim-autoselector pyim-punctuation pyim-outcome pyim-indicator
pyim-preview pyim-magic pyim-candidates pyim-codes pyim-imobjs
pyim-pinyin pyim-pymap pyim-dcache pyim-dict pyim-page pyim-entered
posframe pyim-scheme pyim-common openwith org-recoll ereader xml+ view
picture helm-command helm-elisp helm-eval edebug helm-info helm-mode
helm-misc helm-files helm-buffers helm-occur helm-tags helm-locate
helm-grep helm-regexp helm-utils helm-types helm-help helm
async-bytecomp helm-global-bindings helm-source helm-multi-match
helm-lib org-download org-attach org-id async org-clock-today
org-inlinetask jieba-node jsonrpc ert ewoc debug backtrace jieba
ol-pdfview clojure-snippets react-snippets yasnippet-classic-snippets
yasnippet-snippets angular-snippets yasnippet flycheck flymake-proc
flymake warnings use-package-chords bind-chord key-chord use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key cal-china lunar solar cal-dst cal-bahai
cal-islam cal-hebrew holidays hol-loaddefs vc-git diff-mode
vc-dispatcher matlab matlab-scan matlab-syntax matlab-compat pulse color
appt diary-lib diary-loaddefs org-alert alert log4e notifications gntp
qe-modes org-protocol org-ref org-ref-core org-ref-glossary
org-ref-bibtex avy doi-utils url-http url-auth url-gw nsm org-ref-utils
org-ref-export citeproc citeproc-itemgetters citeproc-biblatex
citeproc-bibtex citeproc-cite citeproc-subbibs citeproc-sort
citeproc-name citeproc-formatters citeproc-number rst citeproc-proc
citeproc-disamb citeproc-itemdata citeproc-generic-elements
citeproc-macro citeproc-choose citeproc-date citeproc-context
citeproc-prange citeproc-style citeproc-locale citeproc-term citeproc-rt
citeproc-lib citeproc-s queue ox-org org-ref-misc-links
org-ref-label-link org-ref-ref-links org-ref-citation-links xref project
org-ref-bibliography-links hydra lv bibtex-completion org-capture biblio
biblio-download biblio-dissemin biblio-ieee biblio-hal biblio-dblp
biblio-crossref biblio-arxiv timezone biblio-doi biblio-core hl-line
parsebib f epy-init epy-bindings epy-nose nose epy-editing delsel
eproject open-next-line smart-operator epy-completion epy-setup el-get
el-get-autoloading el-get-list-packages el-get-dependencies el-get-build
el-get-status el-get-methods el-get-fossil el-get-svn el-get-pacman
el-get-github-zip el-get-github-tar el-get-http-zip el-get-http-tar
el-get-hg el-get-go el-get-git-svn el-get-fink el-get-emacswiki
el-get-http el-get-notify el-get-emacsmirror el-get-github el-get-git
el-get-elpa el-get-darcs el-get-cvs el-get-bzr el-get-brew
el-get-builtin el-get-apt-get el-get-recipes el-get-byte-compile
el-get-custom el-get-core autoload lisp-mnt ox-synctex
minibuffer-complete-cycle pos-tip auto-complete-config auto-complete
popup ox-md ox-beamer ox-odt rng-loc rng-uri rng-parse rng-match rng-dt
rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar ox-html table ox-ascii ox-publish ox edit-server pdf-occur
ibuf-ext ibuffer ibuffer-loaddefs tablist tablist-filter
semantic/wisent/comp semantic/wisent semantic/wisent/wisent
semantic/util-modes semantic/util semantic semantic/tag semantic/lex
semantic/fw mode-local cedet pdf-isearch let-alist pdf-misc imenu
pdf-tools pdf-view bookmark pdf-cache pdf-info tq pdf-util
use-package-core org-install ob-scheme geiser ob-maxima ob-sage
ob-haskell ob-java ob-matlab ob-R ob-typescript ol-eww eww xdg url-queue
thingatpt mm-url ob-lua ob-sqlite ob-sql ob-octave ob-awk ob-ditaa
ob-shell ob-plantuml ob-latex ob-calc calc-store calc-trail calc-ext
calc calc-loaddefs calc-macs ob-screen ob-org ob-lisp ob-js ob-gnuplot
ob-dot ob-perl ob-clojure ob-python python tramp-sh tramp tramp-loaddefs
trampver tramp-integration files-x tramp-compat shell ls-lisp ob-C
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs cdlatex texmathp org-trello org-trello-controller
org-trello-deferred org-trello-proxy org-trello-input org-trello-buffer
org-trello-date org-trello-backend org-trello-api org-trello-cbx
org-trello-entity org-trello-query request-deferred deferred request
org-trello-data org-trello-action org-element avl-tree generator
ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-search eieio-opt
cl-extra speedbar ezimage dframe gnus-art mm-uu mml2015 mm-view
mml-smime smime dig gnus-sum shr kinsoku svg dom gnus-group gnus-undo
gnus-start gnus-dbus dbus ido-completing-read+ memoize cus-edit pp
minibuf-eldef ido xml gnus-cloud nnimap nnmail mail-source utf7 netrc
nnoo parse-time gnus-spec gnus-int gnus-range message rmc puny rfc822
mml mml-sec epa derived epg epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win gnus
nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums
mail-utils mm-util mail-prsvr wid-edit ol-docview doc-view jka-compr
image-mode exif dired dired-loaddefs ol-bibtex ol-bbdb ol-w3m org-timer
org-clock org-habit org-agenda org-refile leuven-theme paren
org-trello-setup org-trello-hash org-trello-log org-trello-utils s org
ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote
org-src ob-comint org-pcomplete pcomplete org-list org-faces
org-entities noutline outline easy-mmode org-version ob-emacs-lisp
ob-core ob-eval org-table oc-basic bibtex iso8601 time-date ol org-keys
oc org-compat org-macs org-loaddefs format-spec find-func cal-menu
calendar cal-loaddefs keyfreq grep compile text-property-search comint
ansi-color emojify apropos tar-mode arc-mode archive-mode pcase ht dash
autorevert filenotify time cus-load all-autoloads edmacro kmacro
geiser-impl help-fns radix-tree help-mode geiser-custom geiser-base ring
helm-easymenu tex-site rx cl w3-autoloads wpuzzle-autoloads advice 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 subr-x map url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-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 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 emacs-ng
hashtable-print-readable backquote threads xwidget-internal 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 3609765 1063803)
 (symbols 48 77737 1)
 (strings 32 2184491 37124)
 (string-bytes 1 81760869)
 (vectors 16 207455)
 (vector-slots 8 3377329 1282919)
 (floats 8 7977 2810)
 (intervals 56 66818 4460)
 (buffers 992 383))

On Thu, Mar 3, 2022 at 12:15 PM Lars Ingebrigtsen <larsi <at> gnus.org> wrote:

> chenphy10 <at> gmail.com writes:
>
> > When running "jdee-mode" from Melpa, without the patch, it will create
> > erorrs on the "mode" undefined. I found it is caused by this quoted
> > function.
> >
> > Please let me know if it is a suitable patch.
>
> [...]
>
> > -            (define-abbrev-table (derived-mode-abbrev-table-name mode)
> nil)
> > +            ,(define-abbrev-table (derived-mode-abbrev-table-name mode)
> nil)
>
> The code looks correct the way it is, I think?
>
> What Emacs version are you seeing this problem in?  Please use `M-x
> report-emacs-bug' and include all the information you get in that buffer.
>
> --
> (domestic pets only, the antidote for overdose, milk.)
>    bloggy blog: http://lars.ingebrigtsen.no
>


-- 
Best,
Tongjie
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54240; Package emacs. (Fri, 04 Mar 2022 00:37:01 GMT) Full text and rfc822 format available.

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

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 54240 <at> debbugs.gnu.org, chenphy10 <at> gmail.com
Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch
Date: Fri, 04 Mar 2022 01:36:44 +0100
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> > - (define-abbrev-table (derived-mode-abbrev-table-name mode) nil)
> > + ,(define-abbrev-table (derived-mode-abbrev-table-name mode) nil)
>
> The code looks correct the way it is, I think?

To me this looks like a regression introduced when converting to lexical
binding.  Look at the symbol 'mode': it's implicitly quoted so it can't
refer to the lexical variable and you get the error reported.

The patch unquotes too much however, looks like we want something like

> > - (define-abbrev-table (derived-mode-abbrev-table-name mode) nil)
> > + (define-abbrev-table (derived-mode-abbrev-table-name ',mode) nil)

(does that work?)

Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54240; Package emacs. (Fri, 04 Mar 2022 03:29:01 GMT) Full text and rfc822 format available.

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

From: Tongjie Chen <chenphy10 <at> gmail.com>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: 54240 <at> debbugs.gnu.org, Lars Ingebrigtsen <larsi <at> gnus.org>
Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch
Date: Thu, 3 Mar 2022 22:28:23 -0500
[Message part 1 (text/plain, inline)]
Thanks Michael. I tested this improved quoting and it worked. Once the
abbrev table is defined, jdee will no longer run into problems.

A strange thing is when eval the previous non patched defun, jdee will
work. Wonder if "mode" was leaked somewhere.

On Thu, Mar 3, 2022 at 7:36 PM Michael Heerdegen <michael_heerdegen <at> web.de>
wrote:

> Lars Ingebrigtsen <larsi <at> gnus.org> writes:
>
> > > - (define-abbrev-table (derived-mode-abbrev-table-name mode) nil)
> > > + ,(define-abbrev-table (derived-mode-abbrev-table-name mode) nil)
> >
> > The code looks correct the way it is, I think?
>
> To me this looks like a regression introduced when converting to lexical
> binding.  Look at the symbol 'mode': it's implicitly quoted so it can't
> refer to the lexical variable and you get the error reported.
>
> The patch unquotes too much however, looks like we want something like
>
> > > - (define-abbrev-table (derived-mode-abbrev-table-name mode) nil)
> > > + (define-abbrev-table (derived-mode-abbrev-table-name ',mode) nil)
>
> (does that work?)
>
> Michael.
>


-- 
Best,
Tongjie
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54240; Package emacs. (Fri, 04 Mar 2022 04:00:02 GMT) Full text and rfc822 format available.

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

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Tongjie Chen <chenphy10 <at> gmail.com>
Cc: 54240 <at> debbugs.gnu.org, Lars Ingebrigtsen <larsi <at> gnus.org>
Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch
Date: Fri, 04 Mar 2022 04:59:49 +0100
Tongjie Chen <chenphy10 <at> gmail.com> writes:

> Thanks Michael. I tested this improved quoting and it worked. Once the abbrev
> table is defined, jdee will no longer run into problems.

Good.

> A strange thing is when eval the previous non patched defun, jdee will work.
> Wonder if "mode" was leaked somewhere.

The code uses a variable of that name, all with dynamical binding.  So
it might indeed not always error, but the binding of the variable would
probably not the expected one.

Michael.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54240; Package emacs. (Fri, 04 Mar 2022 15:21:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: 54240 <at> debbugs.gnu.org, chenphy10 <at> gmail.com
Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch
Date: Fri, 04 Mar 2022 16:19:59 +0100
Michael Heerdegen <michael_heerdegen <at> web.de> writes:

> To me this looks like a regression introduced when converting to lexical
> binding.  Look at the symbol 'mode': it's implicitly quoted so it can't
> refer to the lexical variable and you get the error reported.

Oh, yeah -- I was thinking that the mode had to be lexically bound
there, but of course it isn't really, since eval is ... eval.  (Whenever
there's an eval in code, there's a bug somewhere.)

Would adding LEXICAL to the eval form fix the issue here, or would that
interact oddly with the defvar?

> The patch unquotes too much however, looks like we want something like
>
>> > - (define-abbrev-table (derived-mode-abbrev-table-name mode) nil)
>> > + (define-abbrev-table (derived-mode-abbrev-table-name ',mode) nil)
>
> (does that work?)

Tongjie Chen <chenphy10 <at> gmail.com> writes:

> Thanks Michael. I tested this improved quoting and it worked. Once the abbrev
> table is defined, jdee will no longer run into problems. 

OK, I'll push Michael's change to emacs-28, because this is a regression
from Emacs 27.2, I think.

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




bug marked as fixed in version 28.1, send any further explanations to 54240 <at> debbugs.gnu.org and chenphy10 <at> gmail.com Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Fri, 04 Mar 2022 15:21:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54240; Package emacs. (Fri, 04 Mar 2022 21:40:01 GMT) Full text and rfc822 format available.

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

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 54240 <at> debbugs.gnu.org, chenphy10 <at> gmail.com
Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch
Date: Fri, 04 Mar 2022 22:39:32 +0100
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> Oh, yeah -- I was thinking that the mode had to be lexically bound
> there, but of course it isn't really, since eval is ... eval.  (Whenever
> there's an eval in code, there's a bug somewhere.)

`defvar' doesn't eval the first argument, and there is no alternative to
using it (right?).  So `derived-mode-init-mode-variables' should just
better be a macro I think.

> Would adding LEXICAL to the eval form fix the issue here, or would that
> interact oddly with the defvar?

Yes - since `defvar' doesn't evaluate its first argument no variable
references will work.  The constructed sexp must contain the final
symbol at that position, any other expression won't do it.

Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54240; Package emacs. (Sun, 06 Mar 2022 16:14:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: 54240 <at> debbugs.gnu.org, chenphy10 <at> gmail.com
Subject: Re: bug#54240: emacs/lisp/emacs-lisp/derived.el patch
Date: Sun, 06 Mar 2022 17:13:22 +0100
Michael Heerdegen <michael_heerdegen <at> web.de> writes:

> `defvar' doesn't eval the first argument, and there is no alternative to
> using it (right?).  So `derived-mode-init-mode-variables' should just
> better be a macro I think.

Yeah, I think so, too.

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




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 04 Apr 2022 11:24:05 GMT) Full text and rfc822 format available.

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

Previous Next


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