Package: emacs;
Reported by: Ihor Radchenko <yantar92 <at> gmail.com>
Date: Sun, 10 Jul 2022 07:15:02 UTC
Severity: normal
Found in version 28.1.50
Done: Roland Winkler <winkler <at> gnu.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 56475 in the body.
You can then email your comments to 56475 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
bug-gnu-emacs <at> gnu.org
:bug#56475
; Package emacs
.
(Sun, 10 Jul 2022 07:15:02 GMT) Full text and rfc822 format available.Ihor Radchenko <yantar92 <at> gmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Sun, 10 Jul 2022 07:15:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Ihor Radchenko <yantar92 <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 28.1.50; bibtex-parse-entry disregards @string substitutions Date: Sun, 10 Jul 2022 15:14:57 +0800
Consider the following bibliography: @string{jgr="J. Geophys. Res."} @article{chouet88, journal=jgr, author={Chouet, B.}, title={Resonance of a fluid-driven crack: [...]}, year={1988}, volume={93}, number={B5}, pages={4375-4400}} With point at bol in "@article", running M-: (bibtex-parse-entry) yields: (("=type=" . "article") ("=key=" . "chouet88") ("journal" . "jgr") ("author" . "{Chouet, B.}") ("title" . "{Resonance of a fluid-driven crack: [...]}") ("year" . "{1988}") ("volume" . "{93}") ("number" . "{B5}") ("pages" . "{4375-4400}")) Note the journal field value: ("journal" . "jgr") Expected: ("journal" . "J. Geophys. Res.") This bug report is originated from Org ML: https://list.orgmode.org/orgmode/25288.4658.491916.790389 <at> gargle.gargle.HOWL/ Org currently relies on built-in bibtex.el to parse bibliography files. However, the built-in parser does not appear to be complete. Best, Ihor In GNU Emacs 28.1.50 (build 1, x86_64-pc-linux-gnu, cairo version 1.16.0) of 2022-05-26 built on localhost Repository revision: a9f17ccce336ad5d384a6271f205a84141980019 Repository branch: emacs-28 Windowing system distributor 'The X.Org Foundation', version 11.0.12101003 System Description: Gentoo Linux Configured using: 'configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --datarootdir=/usr/share --disable-silent-rules --docdir=/usr/share/doc/emacs-28.1.9999 --htmldir=/usr/share/doc/emacs-28.1.9999/html --libdir=/usr/lib64 --program-suffix=-emacs-28-vcs --includedir=/usr/include/emacs-28-vcs --infodir=/usr/share/info/emacs-28-vcs --localstatedir=/var --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp --without-compress-install --without-hesiod --without-pop --with-file-notification=inotify --with-pdumper --enable-acl --with-dbus --with-modules --without-gameuser --with-libgmp --without-gpm --with-native-compilation --with-json --without-kerberos --without-kerberos5 --without-lcms2 --with-xml2 --without-mailutils --with-selinux --with-gnutls --without-libsystemd --with-threads --with-wide-int --with-zlib --with-sound=oss --with-x --without-ns --without-gconf --without-gsettings --without-toolkit-scroll-bars --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xpm --with-imagemagick --with-xft --with-cairo --with-harfbuzz --without-libotf --without-m17n-flt --with-x-toolkit=no --with-dumping=pdumper 'CFLAGS=-march=native -O3 -pipe' 'LDFLAGS=-Wl,-O1 -Wl,--as-needed'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ IMAGEMAGICK JPEG JSON LIBSELINUX LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY OLDXMENU PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF X11 XDBE XIM XPM ZLIB Important settings: value of $LC_COLLATE: C value of $LANG: en_US.utf8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: TeX-PDF-mode: t pyvenv-mode: t git-email-notmuch-mode: t git-email-piem-mode: t piem-notmuch-mode: t org-edna-mode: t eros-mode: t pdf-occur-global-minor-mode: t which-key-mode: t diredfl-global-mode: t dired-async-mode: t winner-mode: t eval-sexp-fu-flash-mode: t global-flycheck-mode: t flycheck-mode: t el-patch-use-package-mode: t global-git-commit-mode: t magit-auto-revert-mode: t recentf-mode: t hl-todo-mode: t pretty-symbols-mode: t company-mode: t persistent-scratch-autosave-mode: t savehist-mode: t helm-adaptive-mode: t helm-mode: t helm-minibuffer-history-mode: t helm-ff-icon-mode: t shell-dirtrack-mode: t async-bytecomp-package-mode: t boon-mode: t boon-local-mode: t global-hl-line-mode: t global-page-break-lines-mode: t page-break-lines-mode: t shackle-mode: t override-global-mode: t straight-use-package-mode: t straight-package-neutering-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t global-prettify-symbols-mode: t prettify-symbols-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t window-divider-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t abbrev-mode: t Load-path shadows: /usr/share/emacs/site-lisp/cmake-mode hides /usr/share/emacs/site-lisp/cmake/cmake-mode /home/yantar92/.emacs.d/straight/build/dash/dash hides /usr/share/emacs/site-lisp/dash/dash /usr/share/emacs/site-lisp/desktop-entry-mode hides /usr/share/emacs/site-lisp/desktop-file-utils/desktop-entry-mode /home/yantar92/.emacs.d/straight/build/f/f hides /usr/share/emacs/site-lisp/f/f /home/yantar92/.emacs.d/straight/build/s/s hides /usr/share/emacs/site-lisp/s/s /home/yantar92/.emacs.d/straight/build/with-editor/with-editor hides /usr/share/emacs/site-lisp/with-editor/with-editor /home/yantar92/.emacs.d/straight/build/transient/transient hides /usr/share/emacs/28.1.50/lisp/transient /home/yantar92/.emacs.d/straight/build/project/project hides /usr/share/emacs/28.1.50/lisp/progmodes/project /home/yantar92/.emacs.d/straight/build/xref/xref hides /usr/share/emacs/28.1.50/lisp/progmodes/xref /home/yantar92/.emacs.d/straight/build/org/ob-C hides /usr/share/emacs/28.1.50/lisp/org/ob-C /home/yantar92/.emacs.d/straight/build/org/ob-R hides /usr/share/emacs/28.1.50/lisp/org/ob-R /home/yantar92/.emacs.d/straight/build/org/ob-awk hides /usr/share/emacs/28.1.50/lisp/org/ob-awk /home/yantar92/.emacs.d/straight/build/org/ob-calc hides /usr/share/emacs/28.1.50/lisp/org/ob-calc /home/yantar92/.emacs.d/straight/build/org/ob-clojure hides /usr/share/emacs/28.1.50/lisp/org/ob-clojure /home/yantar92/.emacs.d/straight/build/org/ob-comint hides /usr/share/emacs/28.1.50/lisp/org/ob-comint /home/yantar92/.emacs.d/straight/build/org/ob-core hides /usr/share/emacs/28.1.50/lisp/org/ob-core /home/yantar92/.emacs.d/straight/build/org/ob-css hides /usr/share/emacs/28.1.50/lisp/org/ob-css /home/yantar92/.emacs.d/straight/build/org/ob-ditaa hides /usr/share/emacs/28.1.50/lisp/org/ob-ditaa /home/yantar92/.emacs.d/straight/build/org/ob-dot hides /usr/share/emacs/28.1.50/lisp/org/ob-dot /home/yantar92/.emacs.d/straight/build/org/ob-emacs-lisp hides /usr/share/emacs/28.1.50/lisp/org/ob-emacs-lisp /home/yantar92/.emacs.d/straight/build/org/ob-eshell hides /usr/share/emacs/28.1.50/lisp/org/ob-eshell /home/yantar92/.emacs.d/straight/build/org/ob-eval hides /usr/share/emacs/28.1.50/lisp/org/ob-eval /home/yantar92/.emacs.d/straight/build/org/ob-exp hides /usr/share/emacs/28.1.50/lisp/org/ob-exp /home/yantar92/.emacs.d/straight/build/org/ob-forth hides /usr/share/emacs/28.1.50/lisp/org/ob-forth /home/yantar92/.emacs.d/straight/build/org/ob-fortran hides /usr/share/emacs/28.1.50/lisp/org/ob-fortran /home/yantar92/.emacs.d/straight/build/org/ob-gnuplot hides /usr/share/emacs/28.1.50/lisp/org/ob-gnuplot /home/yantar92/.emacs.d/straight/build/org/ob-groovy hides /usr/share/emacs/28.1.50/lisp/org/ob-groovy /home/yantar92/.emacs.d/straight/build/org/ob-haskell hides /usr/share/emacs/28.1.50/lisp/org/ob-haskell /home/yantar92/.emacs.d/straight/build/org/ob-java hides /usr/share/emacs/28.1.50/lisp/org/ob-java /home/yantar92/.emacs.d/straight/build/org/ob-js hides /usr/share/emacs/28.1.50/lisp/org/ob-js /home/yantar92/.emacs.d/straight/build/org/ob-julia hides /usr/share/emacs/28.1.50/lisp/org/ob-julia /home/yantar92/.emacs.d/straight/build/org/ob-latex hides /usr/share/emacs/28.1.50/lisp/org/ob-latex /home/yantar92/.emacs.d/straight/build/org/ob-lilypond hides /usr/share/emacs/28.1.50/lisp/org/ob-lilypond /home/yantar92/.emacs.d/straight/build/org/ob-lisp hides /usr/share/emacs/28.1.50/lisp/org/ob-lisp /home/yantar92/.emacs.d/straight/build/org/ob-lob hides /usr/share/emacs/28.1.50/lisp/org/ob-lob /home/yantar92/.emacs.d/straight/build/org/ob-lua hides /usr/share/emacs/28.1.50/lisp/org/ob-lua /home/yantar92/.emacs.d/straight/build/org/ob-makefile hides /usr/share/emacs/28.1.50/lisp/org/ob-makefile /home/yantar92/.emacs.d/straight/build/org/ob-matlab hides /usr/share/emacs/28.1.50/lisp/org/ob-matlab /home/yantar92/.emacs.d/straight/build/org/ob-maxima hides /usr/share/emacs/28.1.50/lisp/org/ob-maxima /home/yantar92/.emacs.d/straight/build/org/ob-ocaml hides /usr/share/emacs/28.1.50/lisp/org/ob-ocaml /home/yantar92/.emacs.d/straight/build/org/ob-octave hides /usr/share/emacs/28.1.50/lisp/org/ob-octave /home/yantar92/.emacs.d/straight/build/org/ob-org hides /usr/share/emacs/28.1.50/lisp/org/ob-org /home/yantar92/.emacs.d/straight/build/org/ob-perl hides /usr/share/emacs/28.1.50/lisp/org/ob-perl /home/yantar92/.emacs.d/straight/build/org/ob-plantuml hides /usr/share/emacs/28.1.50/lisp/org/ob-plantuml /home/yantar92/.emacs.d/straight/build/org/ob-processing hides /usr/share/emacs/28.1.50/lisp/org/ob-processing /home/yantar92/.emacs.d/straight/build/org/ob-python hides /usr/share/emacs/28.1.50/lisp/org/ob-python /home/yantar92/.emacs.d/straight/build/org/ob-ref hides /usr/share/emacs/28.1.50/lisp/org/ob-ref /home/yantar92/.emacs.d/straight/build/org/ob-ruby hides /usr/share/emacs/28.1.50/lisp/org/ob-ruby /home/yantar92/.emacs.d/straight/build/org/ob-sass hides /usr/share/emacs/28.1.50/lisp/org/ob-sass /home/yantar92/.emacs.d/straight/build/org/ob-scheme hides /usr/share/emacs/28.1.50/lisp/org/ob-scheme /home/yantar92/.emacs.d/straight/build/org/ob-screen hides /usr/share/emacs/28.1.50/lisp/org/ob-screen /home/yantar92/.emacs.d/straight/build/org/ob-sed hides /usr/share/emacs/28.1.50/lisp/org/ob-sed /home/yantar92/.emacs.d/straight/build/org/ob-shell hides /usr/share/emacs/28.1.50/lisp/org/ob-shell /home/yantar92/.emacs.d/straight/build/org/ob-sql hides /usr/share/emacs/28.1.50/lisp/org/ob-sql /home/yantar92/.emacs.d/straight/build/org/ob-sqlite hides /usr/share/emacs/28.1.50/lisp/org/ob-sqlite /home/yantar92/.emacs.d/straight/build/org/ob-table hides /usr/share/emacs/28.1.50/lisp/org/ob-table /home/yantar92/.emacs.d/straight/build/org/ob-tangle hides /usr/share/emacs/28.1.50/lisp/org/ob-tangle /home/yantar92/.emacs.d/straight/build/org/ob hides /usr/share/emacs/28.1.50/lisp/org/ob /home/yantar92/.emacs.d/straight/build/org/oc-basic hides /usr/share/emacs/28.1.50/lisp/org/oc-basic /home/yantar92/.emacs.d/straight/build/org/oc-biblatex hides /usr/share/emacs/28.1.50/lisp/org/oc-biblatex /home/yantar92/.emacs.d/straight/build/org/oc-csl hides /usr/share/emacs/28.1.50/lisp/org/oc-csl /home/yantar92/.emacs.d/straight/build/org/oc-natbib hides /usr/share/emacs/28.1.50/lisp/org/oc-natbib /home/yantar92/.emacs.d/straight/build/org/oc hides /usr/share/emacs/28.1.50/lisp/org/oc /home/yantar92/.emacs.d/straight/build/org/ol-bbdb hides /usr/share/emacs/28.1.50/lisp/org/ol-bbdb /home/yantar92/.emacs.d/straight/build/org/ol-bibtex hides /usr/share/emacs/28.1.50/lisp/org/ol-bibtex /home/yantar92/.emacs.d/straight/build/org/ol-docview hides /usr/share/emacs/28.1.50/lisp/org/ol-docview /home/yantar92/.emacs.d/straight/build/org/ol-doi hides /usr/share/emacs/28.1.50/lisp/org/ol-doi /home/yantar92/.emacs.d/straight/build/org/ol-eshell hides /usr/share/emacs/28.1.50/lisp/org/ol-eshell /home/yantar92/.emacs.d/straight/build/org/ol-eww hides /usr/share/emacs/28.1.50/lisp/org/ol-eww /home/yantar92/.emacs.d/straight/build/org/ol-gnus hides /usr/share/emacs/28.1.50/lisp/org/ol-gnus /home/yantar92/.emacs.d/straight/build/org/ol-info hides /usr/share/emacs/28.1.50/lisp/org/ol-info /home/yantar92/.emacs.d/straight/build/org/ol-irc hides /usr/share/emacs/28.1.50/lisp/org/ol-irc /home/yantar92/.emacs.d/straight/build/org/ol-man hides /usr/share/emacs/28.1.50/lisp/org/ol-man /home/yantar92/.emacs.d/straight/build/org/ol-mhe hides /usr/share/emacs/28.1.50/lisp/org/ol-mhe /home/yantar92/.emacs.d/straight/build/org/ol-rmail hides /usr/share/emacs/28.1.50/lisp/org/ol-rmail /home/yantar92/.emacs.d/straight/build/org/ol-w3m hides /usr/share/emacs/28.1.50/lisp/org/ol-w3m /home/yantar92/.emacs.d/straight/build/org/ol hides /usr/share/emacs/28.1.50/lisp/org/ol /home/yantar92/.emacs.d/straight/build/org/org-agenda hides /usr/share/emacs/28.1.50/lisp/org/org-agenda /home/yantar92/.emacs.d/straight/build/org/org-archive hides /usr/share/emacs/28.1.50/lisp/org/org-archive /home/yantar92/.emacs.d/straight/build/org/org-attach-git hides /usr/share/emacs/28.1.50/lisp/org/org-attach-git /home/yantar92/.emacs.d/straight/build/org/org-attach hides /usr/share/emacs/28.1.50/lisp/org/org-attach /home/yantar92/.emacs.d/straight/build/org/org-capture hides /usr/share/emacs/28.1.50/lisp/org/org-capture /home/yantar92/.emacs.d/straight/build/org/org-clock hides /usr/share/emacs/28.1.50/lisp/org/org-clock /home/yantar92/.emacs.d/straight/build/org/org-colview hides /usr/share/emacs/28.1.50/lisp/org/org-colview /home/yantar92/.emacs.d/straight/build/org/org-compat hides /usr/share/emacs/28.1.50/lisp/org/org-compat /home/yantar92/.emacs.d/straight/build/org/org-crypt hides /usr/share/emacs/28.1.50/lisp/org/org-crypt /home/yantar92/.emacs.d/straight/build/org/org-ctags hides /usr/share/emacs/28.1.50/lisp/org/org-ctags /home/yantar92/.emacs.d/straight/build/org/org-datetree hides /usr/share/emacs/28.1.50/lisp/org/org-datetree /home/yantar92/.emacs.d/straight/build/org/org-duration hides /usr/share/emacs/28.1.50/lisp/org/org-duration /home/yantar92/.emacs.d/straight/build/org/org-element hides /usr/share/emacs/28.1.50/lisp/org/org-element /home/yantar92/.emacs.d/straight/build/org/org-entities hides /usr/share/emacs/28.1.50/lisp/org/org-entities /home/yantar92/.emacs.d/straight/build/org/org-faces hides /usr/share/emacs/28.1.50/lisp/org/org-faces /home/yantar92/.emacs.d/straight/build/org/org-feed hides /usr/share/emacs/28.1.50/lisp/org/org-feed /home/yantar92/.emacs.d/straight/build/org/org-footnote hides /usr/share/emacs/28.1.50/lisp/org/org-footnote /home/yantar92/.emacs.d/straight/build/org/org-goto hides /usr/share/emacs/28.1.50/lisp/org/org-goto /home/yantar92/.emacs.d/straight/build/org/org-habit hides /usr/share/emacs/28.1.50/lisp/org/org-habit /home/yantar92/.emacs.d/straight/build/org/org-id hides /usr/share/emacs/28.1.50/lisp/org/org-id /home/yantar92/.emacs.d/straight/build/org/org-indent hides /usr/share/emacs/28.1.50/lisp/org/org-indent /home/yantar92/.emacs.d/straight/build/org/org-inlinetask hides /usr/share/emacs/28.1.50/lisp/org/org-inlinetask /home/yantar92/.emacs.d/straight/build/org/org-keys hides /usr/share/emacs/28.1.50/lisp/org/org-keys /home/yantar92/.emacs.d/straight/build/org/org-lint hides /usr/share/emacs/28.1.50/lisp/org/org-lint /home/yantar92/.emacs.d/straight/build/org/org-list hides /usr/share/emacs/28.1.50/lisp/org/org-list /home/yantar92/.emacs.d/straight/build/org/org-macro hides /usr/share/emacs/28.1.50/lisp/org/org-macro /home/yantar92/.emacs.d/straight/build/org/org-macs hides /usr/share/emacs/28.1.50/lisp/org/org-macs /home/yantar92/.emacs.d/straight/build/org/org-mobile hides /usr/share/emacs/28.1.50/lisp/org/org-mobile /home/yantar92/.emacs.d/straight/build/org/org-mouse hides /usr/share/emacs/28.1.50/lisp/org/org-mouse /home/yantar92/.emacs.d/straight/build/org/org-num hides /usr/share/emacs/28.1.50/lisp/org/org-num /home/yantar92/.emacs.d/straight/build/org/org-pcomplete hides /usr/share/emacs/28.1.50/lisp/org/org-pcomplete /home/yantar92/.emacs.d/straight/build/org/org-plot hides /usr/share/emacs/28.1.50/lisp/org/org-plot /home/yantar92/.emacs.d/straight/build/org/org-protocol hides /usr/share/emacs/28.1.50/lisp/org/org-protocol /home/yantar92/.emacs.d/straight/build/org/org-refile hides /usr/share/emacs/28.1.50/lisp/org/org-refile /home/yantar92/.emacs.d/straight/build/org/org-src hides /usr/share/emacs/28.1.50/lisp/org/org-src /home/yantar92/.emacs.d/straight/build/org/org-table hides /usr/share/emacs/28.1.50/lisp/org/org-table /home/yantar92/.emacs.d/straight/build/org/org-tempo hides /usr/share/emacs/28.1.50/lisp/org/org-tempo /home/yantar92/.emacs.d/straight/build/org/org-timer hides /usr/share/emacs/28.1.50/lisp/org/org-timer /home/yantar92/.emacs.d/straight/build/org/org-version hides /usr/share/emacs/28.1.50/lisp/org/org-version /home/yantar92/.emacs.d/straight/build/org/org hides /usr/share/emacs/28.1.50/lisp/org/org /home/yantar92/.emacs.d/straight/build/org/ox-ascii hides /usr/share/emacs/28.1.50/lisp/org/ox-ascii /home/yantar92/.emacs.d/straight/build/org/ox-beamer hides /usr/share/emacs/28.1.50/lisp/org/ox-beamer /home/yantar92/.emacs.d/straight/build/org/ox-html hides /usr/share/emacs/28.1.50/lisp/org/ox-html /home/yantar92/.emacs.d/straight/build/org/ox-icalendar hides /usr/share/emacs/28.1.50/lisp/org/ox-icalendar /home/yantar92/.emacs.d/straight/build/org/ox-koma-letter hides /usr/share/emacs/28.1.50/lisp/org/ox-koma-letter /home/yantar92/.emacs.d/straight/build/org/ox-latex hides /usr/share/emacs/28.1.50/lisp/org/ox-latex /home/yantar92/.emacs.d/straight/build/org/ox-man hides /usr/share/emacs/28.1.50/lisp/org/ox-man /home/yantar92/.emacs.d/straight/build/org/ox-md hides /usr/share/emacs/28.1.50/lisp/org/ox-md /home/yantar92/.emacs.d/straight/build/org/ox-odt hides /usr/share/emacs/28.1.50/lisp/org/ox-odt /home/yantar92/.emacs.d/straight/build/org/ox-org hides /usr/share/emacs/28.1.50/lisp/org/ox-org /home/yantar92/.emacs.d/straight/build/org/ox-publish hides /usr/share/emacs/28.1.50/lisp/org/ox-publish /home/yantar92/.emacs.d/straight/build/org/ox-texinfo hides /usr/share/emacs/28.1.50/lisp/org/ox-texinfo /home/yantar92/.emacs.d/straight/build/org/ox hides /usr/share/emacs/28.1.50/lisp/org/ox /home/yantar92/.emacs.d/straight/build/org/org-loaddefs hides /usr/share/emacs/28.1.50/lisp/org/org-loaddefs /home/yantar92/.emacs.d/straight/build/let-alist/let-alist hides /usr/share/emacs/28.1.50/lisp/emacs-lisp/let-alist /home/yantar92/.emacs.d/straight/build/map/map hides /usr/share/emacs/28.1.50/lisp/emacs-lisp/map Features: (shadow emacsbug cus-start helm-ring conf-mode tomelr-autoloads calccomp calc-alg calc-lang calc-menu latexenc two-column ledger-mode ledger-check ledger-texi ledger-test ledger-sort ledger-report ledger-reconcile ledger-occur ledger-fonts ledger-fontify ledger-state ledger-complete ledger-schedule ledger-init ledger-xact ledger-post ledger-exec ledger-navigate ledger-context ledger-commodities ledger-regex wdired gnuplot-context gnuplot helm-imenu sendmail vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs macrostep-c cmacexp eieio-opt speedbar ezimage dframe shortdoc sort footnote tabify mm-archive w3m doc-view w3m-hist w3m-fb bookmark-w3m w3m-ems w3m-favicon w3m-image tab-line w3m-proc w3m-util mule-util cal-move org-learn elfeed-link boon-moves er-basic-expansions expand-region-core expand-region-custom cl-print network-stream url-cache helm-command helm-elisp helm-eval misearch multi-isearch pdf-sync pdf-outline pdf-links pdf-history all-the-icons-dired dired-filter dired-hide-dotfiles boon-main boon-hl boon-arguments multiple-cursors mc-separate-operations rectangular-region-mode mc-mark-pop mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors multiple-cursors-core boon-regs boon-utils preview font-latex latex latex-flymake tex-ispell tex-style tex tex-mode cal-iso vc org-duration ffap org-table-sticky-header oc-basic highlight-indentation flymake-proc flymake elpy elpy-rpc pyvenv eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util elpy-shell elpy-profile elpy-django elpy-refactor grep scimax-jupyter ob-jupyter jupyter-tramp tramp-cache jupyter-server jupyter-server-ioloop jupyter-ioloop-comm jupyter-ioloop zmq zmq-core jupyter-rest-api jupyter-org-extensions jupyter-org-client tramp-archive tramp-gvfs helm-x-files helm-for-files helm-bookmark helm-external helm-net git-email-magit magit-patch git-email-notmuch git-email-piem git-email git-email-autoloads project-autoloads xref-autoloads piem-notmuch piem piem-maildir mail-extr piem-autoloads autoload org-crypt helm-notmuch helm-notmuch-autoloads ol-notmuch org-eldoc org-table-sticky-header-autoloads posframe posframe-autoloads ob-async ob-async-autoloads ob-latex ob-dot ob-calc calc-store calc-trail ob-gnuplot ob-ditaa ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-python ob-perl ob-org ob-shell ob-mathematica org-tempo tempo org-archive ox-md ox-beamer engrave-faces engrave-faces-autoloads ox-extra orgdiff orgdiff-autoloads doct ya-org-capture ya-org-capture-autoloads doct-autoloads org-capture-pop-frame org-capture-pop-frame-autoloads org-protocol org-analyzer-autoloads pomidor-autoloads alert-autoloads log4e-autoloads gntp-autoloads helm-org-ql helm-org org-clock org-autosort org-autosort-autoloads helm-org-ql-autoloads helm-org-autoloads org-ql-search org-ql-view ov org-super-agenda org-ql peg ts org-ql-autoloads peg-autoloads ov-autoloads org-super-agenda-autoloads org-quick-peek org-quick-peek-autoloads calfw-org calfw-org-autoloads calfw holidays hol-loaddefs calfw-autoloads org-attach cdlatex texmathp cdlatex-autoloads org-capture-ref org-ref-url-utils org-ref org-ref-core org-ref-glossary org-ref-bibtex doi-utils org-ref-utils org-ref-export citeproc citeproc-itemgetters citeproc-biblatex citeproc-bibtex ol-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-pandoc ox-org 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 org-ref-misc-links org-ref-label-link org-ref-ref-links org-ref-citation-links org-ref-bibliography-links bibtex-completion biblio biblio-download biblio-dissemin biblio-ieee biblio-hal biblio-dblp biblio-crossref biblio-arxiv timezone biblio-doi biblio-core ido parsebib bibtex org-ref-autoloads ox-pandoc-autoloads citeproc-autoloads string-inflection-autoloads queue-autoloads bibtex-completion-autoloads biblio-autoloads biblio-core-autoloads parsebib-autoloads htmlize-autoloads scimax-inkscape scimax-inkscape-autoloads org-pdftools pdf-annot facemenu org-noter org-pdftools-autoloads org-noter-autoloads org-capture org-checklist org-habit org-edna org-edna-autoloads org-inlinetask org-drill persist org-agenda org-drill-autoloads persist-autoloads ol-info ol-w3m ol-doi org-link-doi speed-type speed-type-autoloads ement ement-notify ement-room ewoc ement-lib ement-api ement-structs ement-macros dns ement-autoloads ts-autoloads svg-lib-autoloads taxy-magit-section-autoloads taxy-autoloads map-autoloads plz plz-autoloads 0x0 0x0-autoloads notmuch-calendar-x notmuch-calendar-x-autoloads notmuch notmuch-tree notmuch-jump notmuch-hello notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-message notmuch-draft notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser notmuch-wash coolj notmuch-query goto-addr icalendar diary-lib diary-loaddefs notmuch-tag notmuch-lib notmuch-version notmuch-compat mm-view mml-smime smime dig w3m-autoloads elfeed-score elfeed-score-maint elfeed-score-scoring elfeed-score-serde elfeed-score-rule-stats elfeed-org org-element org-persist elfeed-org-autoloads quick-peek quick-peek-autoloads elfeed-show elfeed-search hideshow display-fill-column-indicator eros rainbow-delimiters highlight-numbers parent-mode easy-escape license-snippets yasnippet-snippets-autoloads yasnippet-snippets yasnippet elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib avl-tree url-queue xml-query elfeed-score-rules elfeed-score-log elfeed-score-autoloads elfeed-autoloads ytel-show-autoloads ytel ytel-autoloads qrencode-el-autoloads tb-keycast tb-keycast-autoloads gif-screencast xdg gif-screencast-autoloads yaml-mode yaml-mode-autoloads mingus libmpdee cl mingus-autoloads libmpdee-autoloads calctex calc-sel calctex-autoloads shell-pop-autoloads eterm-256color-autoloads xterm-color-autoloads vterm term ehelp vterm-module term/xterm xterm vterm-autoloads diffpdf diffpdf-autoloads pdf-view-restore pdf-view-restore-autoloads 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 pdf-misc pdf-tools cus-edit cus-load pdf-roll pdf-view jka-compr pdf-cache pdf-info tq pdf-util pdf-macs pdf-tools-autoloads tablist-autoloads image-roll image-roll-autoloads scimax-jupyter-autoloads pretty-hydra pretty-hydra-autoloads jupyter jupyter-repl jupyter-kernel-manager jupyter-channel jupyter-widget-client websocket bindat simple-httpd jupyter-kernelspec jupyter-env jupyter-client jupyter-mime jupyter-comm-layer jupyter-messages hmac-def jupyter-base eieio-base jupyter-autoloads websocket-autoloads simple-httpd-autoloads zmq-autoloads scimax-ob avy scimax-ob-autoloads wolfram-mode wolfram-mode-autoloads ledger-mode-autoloads auctex-autoloads tex-site ebuild-mode skeleton sh-script smie executable ebuild-mode-autoloads lua-mode lua-mode-autoloads gnuplot-autoloads eros-autoloads nameless lisp-mnt nameless-autoloads paredit paredit-autoloads company-jedi company-jedi-autoloads jedi jedi-core python-environment epc ctable concurrent auto-complete jedi-autoloads auto-complete-autoloads jedi-core-autoloads python-environment-autoloads epc-autoloads ctable-autoloads concurrent-autoloads elpy-autoloads pyvenv-autoloads highlight-indentation-autoloads python tramp-sh helm-info which-key which-key-autoloads helm-descbinds helm-descbinds-autoloads elisp-demos elisp-demos-autoloads helpful edebug info-look help-fns radix-tree elisp-refs helpful-autoloads elisp-refs-autoloads tldr tldr-autoloads lsp-ui-autoloads lsp-mode-autoloads spinner-autoloads macrostep macrostep-autoloads highlight-refontification highlight-refontification-autoloads font-lock-profiler font-lock-profiler-autoloads font-lock-studio font-lock-studio-autoloads memory-usage memory-usage-autoloads bug-hunter bug-hunter-autoloads lorem-ipsum lorem-ipsum-autoloads debug backtrace undohist undohist-autoloads license-snippets-autoloads yasnippet-autoloads move-text move-text-autoloads aggressive-indent aggressive-indent-autoloads visual-regexp-autoloads magit-bookmark bookmark pp helm-bm compile helm-bm-autoloads bm bm-autoloads helm-dash dash-docs helm-dash-autoloads dash-docs-autoloads disk-usage disk-usage-autoloads dired-git-info-autoloads dired-hide-dotfiles-autoloads dired-filter-autoloads diredfl diredfl-autoloads all-the-icons-dired-autoloads dired-async dired-open-autoloads dired-avfs dired-avfs-autoloads dired-narrow-autoloads dired-hacks-utils dired-hacks-utils-autoloads dired+ image-file image-converter dired-x dired-aux dired+-autoloads winner windower emacs-windower-autoloads goggles pulse skip-buffers-mode avy-autoloads eval-sexp-fu eval-sexp-fu-autoloads goggles-autoloads easy-escape-autoloads highlight-numbers-autoloads parent-mode-autoloads rainbow-delimiters-autoloads highlight-parentheses highlight-parentheses-autoloads flycheck-tip error-tip notifications dbus popup flycheck-tip-autoloads flycheck flycheck-autoloads pkg-info-autoloads epl-autoloads wordnut wordnut-history wordnut-u wordnut-autoloads smog smog-autoloads writegood-mode writegood-mode-autoloads el-patch-autoloads el-patch el-patch-stub flyspell ispell hi-lock ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util browse-at-remote vc-git vc-dispatcher f browse-at-remote-autoloads f-autoloads code-review code-review-actions code-review-comment code-review-section code-review-bitbucket code-review-faces shr kinsoku svg xml dom emojify apropos tar-mode arc-mode archive-mode ht code-review-gitlab code-review-utils code-review-parse-hunk code-review-github code-review-db uuidgen calc-misc calc-ext calc calc-loaddefs rect calc-macs a code-review-interfaces deferred forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy gsexp ghub let-alist gnutls forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml bug-reference forge-post markdown-mode thingatpt forge-repo forge forge-core forge-db closql emacsql-sqlite emacsql emacsql-compiler url-http url-auth url-gw nsm magit-submodule magit-obsolete 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 package browse-url url-handlers magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff diff-mode git-commit log-edit message rmc puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util rmail rmail-loaddefs text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor magit-mode transient magit-git magit-base magit-section crm compat-27 compat-26 code-review-autoloads emojify-autoloads ht-autoloads deferred-autoloads uuidgen-autoloads a-autoloads forge-autoloads yaml-autoloads markdown-mode-autoloads ghub-autoloads treepy-autoloads let-alist-autoloads emacsql-sqlite-autoloads emacsql-autoloads closql-autoloads magit-autoloads magit-section-autoloads git-commit-autoloads with-editor-autoloads transient-autoloads autorevert recentf tree-widget wid-edit disp-table hl-todo pretty-symbols company-oddmuse company-keywords company-etags etags fileloop generator xref project company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb company persistent-scratch persistent-scratch-autoloads savehist backup-walker-autoloads company-autoloads helm-adaptive helm-mode helm-misc helm-files image-dired image-mode dired dired-loaddefs exif filenotify tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell parse-time iso8601 ls-lisp helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp helm-utils helm-help helm-types helm helm-core async-bytecomp helm-global-bindings helm-easymenu helm-source helm-multi-match helm-lib async helm-autoloads popup-autoloads helm-core-autoloads face-remap pyim pyim-hacks pyim-cloudim url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf mailcap pyim-probe pyim-cregexp xr pyim-dict pyim-autoselector pyim-indicator pyim-preview pyim-page pyim-process pyim-cstring pyim-punctuation pyim-outcome pyim-candidates pyim-codes pyim-imobjs pyim-pinyin pyim-pymap pyim-entered pyim-dcache url-util url-parse auth-source eieio eieio-core eieio-loaddefs password-cache json map url-vars pyim-scheme pyim-common pyim-autoloads xr-autoloads async-autoloads reverse-im quail reverse-im-autoloads hydra lv boon-qwerty color olivetti straight-x boon boon-keys boon-core boon-loaddefs boon-autoloads multiple-cursors-autoloads expand-region-autoloads meta-functions org-id org-refile dash meta-functions-autoloads dash-autoloads hl-line memoize memoize-autoloads info-colors info-colors-autoloads hl-todo-autoloads latex-pretty-symbols latex-pretty-symbols-autoloads pretty-symbols-autoloads page-break-lines page-break-lines-autoloads edmacro kmacro adaptive-wrap adaptive-wrap-autoloads olivetti-autoloads shackle trace shackle-autoloads use-package-diminish all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons all-the-icons-autoloads org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete pcomplete comint ansi-color ring org-list org-entities time-date noutline outline org-version ob-emacs-lisp ob-core ob-eval org-cycle org-font-lock org-font-lock-core org-element-match org-faces org-table ol org-fold org-fold-core org-keys oc org-compat advice org-font-lock-obsolete org-macs org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs modus-operandi-theme modus-themes modus-themes-autoloads s s-autoloads pcase asoc asoc.el-autoloads no-littering compat no-littering-autoloads compat-autoloads hydra-autoloads lv-autoloads finder-inf use-package-bind-key org-contrib-autoloads comp comp-cstr warnings rx bind-key easy-mmode diminish diminish-autoloads use-package-core use-package-autoloads bind-key-autoloads straight-autoloads info cl-seq cl-extra help-mode seq byte-opt straight subr-x cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile cconv server site-gentoo 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 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 dynamic-setting font-render-setting cairo x multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 14243880 5079313) (symbols 48 95923 238) (strings 32 1604455 634055) (string-bytes 1 71099467) (vectors 16 851772) (vector-slots 8 18133169 13987565) (floats 8 153456 38146) (intervals 56 745206 76506) (buffers 992 174))
bug-gnu-emacs <at> gnu.org
:bug#56475
; Package emacs
.
(Mon, 11 Jul 2022 10:18:01 GMT) Full text and rfc822 format available.Message #8 received at 56475 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Ihor Radchenko <yantar92 <at> gmail.com> Cc: 56475 <at> debbugs.gnu.org, Roland Winkler <winkler <at> gnu.org> Subject: Re: bug#56475: 28.1.50; bibtex-parse-entry disregards @string substitutions Date: Mon, 11 Jul 2022 12:16:56 +0200
Ihor Radchenko <yantar92 <at> gmail.com> writes: > Org currently relies on built-in bibtex.el to parse bibliography files. > However, the built-in parser does not appear to be complete. Perhaps Roland has some comments; added to the CCs. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
bug-gnu-emacs <at> gnu.org
:bug#56475
; Package emacs
.
(Mon, 11 Jul 2022 17:14:02 GMT) Full text and rfc822 format available.Message #11 received at 56475 <at> debbugs.gnu.org (full text, mbox):
From: Roland Winkler <winkler <at> gnu.org> To: Lars Ingebrigtsen <larsi <at> gnus.org> Cc: 56475 <at> debbugs.gnu.org, Ihor Radchenko <yantar92 <at> gmail.com> Subject: Re: bug#56475: 28.1.50; bibtex-parse-entry disregards @string substitutions Date: Mon, 11 Jul 2022 12:12:59 -0500
On Mon, Jul 11 2022, Lars Ingebrigtsen wrote: > Ihor Radchenko <yantar92 <at> gmail.com> writes: > >> Org currently relies on built-in bibtex.el to parse bibliography files. >> However, the built-in parser does not appear to be complete. > > Perhaps Roland has some comments; added to the CCs. The arg CONTENT of bibtex-parse-entry is passed on to bibtex-text-in-field-bounds that gives you a more complete description of what it does. So I believe binding bibtex-expand-strings to t while calling bibtex-parse-entry with arg CONTENT non-nil should do the job. The parser in bibtex.el goes through some effort to deal with BibTeX constructs such as title = "Foo " # BAR # {Baz}, correctly.
bug-gnu-emacs <at> gnu.org
:bug#56475
; Package emacs
.
(Mon, 11 Jul 2022 17:30:01 GMT) Full text and rfc822 format available.Message #14 received at 56475 <at> debbugs.gnu.org (full text, mbox):
From: Roland Winkler <winkler <at> gnu.org> To: Lars Ingebrigtsen <larsi <at> gnus.org> Cc: 56475 <at> debbugs.gnu.org, Ihor Radchenko <yantar92 <at> gmail.com> Subject: Re: bug#56475: 28.1.50; bibtex-parse-entry disregards @string substitutions Date: Mon, 11 Jul 2022 12:29:18 -0500
On Mon, Jul 11 2022, Roland Winkler wrote: > The arg CONTENT of bibtex-parse-entry is passed on to > bibtex-text-in-field-bounds that gives you a more complete description > of what it does. So I believe binding bibtex-expand-strings to t while > calling bibtex-parse-entry with arg CONTENT non-nil should do the job. I should add: The code in bibtex.el that relies on this is bibtex-url, which in turn relies on font-lock to activate clickable links in your bib files. Users may or may not want to expand strings for their rules defined in bibtex-generate-url-list. If I understand your issue correctly you probably want to let-bind the user variable bibtex-expand-strings while calling bibtex-parse-entry so that your code works irrespective of what users have chosen for bibtex-expand-strings.
bug-gnu-emacs <at> gnu.org
:bug#56475
; Package emacs
.
(Tue, 12 Jul 2022 02:32:01 GMT) Full text and rfc822 format available.Message #17 received at 56475 <at> debbugs.gnu.org (full text, mbox):
From: Ihor Radchenko <yantar92 <at> gmail.com> To: Roland Winkler <winkler <at> gnu.org> Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 56475 <at> debbugs.gnu.org Subject: Re: bug#56475: 28.1.50; bibtex-parse-entry disregards @string substitutions Date: Tue, 12 Jul 2022 10:32:41 +0800
Roland Winkler <winkler <at> gnu.org> writes: > If I understand your issue correctly you probably want to let-bind the > user variable bibtex-expand-strings while calling bibtex-parse-entry so > that your code works irrespective of what users have chosen for > bibtex-expand-strings. Thanks for the pointer! I tried my reproducer by running M-: (let ((bibtex-expand-strings t)) (bibtex-parse-entry)) instead of M-: (bibtex-parse-entry) Unfortunately, the journal field is still not substituted. Best, Ihor
bug-gnu-emacs <at> gnu.org
:bug#56475
; Package emacs
.
(Tue, 12 Jul 2022 04:16:01 GMT) Full text and rfc822 format available.Message #20 received at 56475 <at> debbugs.gnu.org (full text, mbox):
From: Roland Winkler <winkler <at> gnu.org> To: Ihor Radchenko <yantar92 <at> gmail.com> Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 56475 <at> debbugs.gnu.org Subject: Re: bug#56475: 28.1.50; bibtex-parse-entry disregards @string substitutions Date: Mon, 11 Jul 2022 23:14:58 -0500
On Tue, Jul 12 2022, Ihor Radchenko wrote: > Roland Winkler <winkler <at> gnu.org> writes: > >> If I understand your issue correctly you probably want to let-bind the >> user variable bibtex-expand-strings while calling bibtex-parse-entry so >> that your code works irrespective of what users have chosen for >> bibtex-expand-strings. > > Thanks for the pointer! > I tried my reproducer by running > M-: (let ((bibtex-expand-strings t)) (bibtex-parse-entry)) > instead of > M-: (bibtex-parse-entry) > > Unfortunately, the journal field is still not substituted. The variable bibtex-string-files tells bibtex.el where it can find the string definitions (which are then stored in the variable bibtex-strings). This complements bibtex-files that tells bibtex.el where it can find the BibTeX entries. A command like bibtex-search-entry searches the entries in the files in bibtex-files.
bug-gnu-emacs <at> gnu.org
:bug#56475
; Package emacs
.
(Tue, 12 Jul 2022 06:04:02 GMT) Full text and rfc822 format available.Message #23 received at 56475 <at> debbugs.gnu.org (full text, mbox):
From: Ihor Radchenko <yantar92 <at> gmail.com> To: Roland Winkler <winkler <at> gnu.org> Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 56475 <at> debbugs.gnu.org Subject: Re: bug#56475: 28.1.50; bibtex-parse-entry disregards @string substitutions Date: Tue, 12 Jul 2022 14:04:55 +0800
Roland Winkler <winkler <at> gnu.org> writes: >> Thanks for the pointer! >> I tried my reproducer by running >> M-: (let ((bibtex-expand-strings t)) (bibtex-parse-entry)) >> instead of >> M-: (bibtex-parse-entry) >> >> Unfortunately, the journal field is still not substituted. > > The variable bibtex-string-files tells bibtex.el where it can find the > string definitions (which are then stored in the variable > bibtex-strings). This complements bibtex-files that tells bibtex.el > where it can find the BibTeX entries. A command like > bibtex-search-entry searches the entries in the files in bibtex-files. I am wondering why bibtex-string-files is not documented inside the docstring of bibtex-expand-strings. Same for bibtex-expand-strings not being documented in bibtex-parse-entry. As for using bibtex-string-files in my specific scenario, I cannot make it work as well. I tried the following simple test: M-: (let ((bibtex-string-files `(,(buffer-file-name))) (bibtex-expand-strings t)) (bibtex-parse-entry)) The journal field is still not handled: ("journal" . "jgr") Also, note that bibtex-string-files cannot help with situations when the BibTeX buffer does not have an associated file. Best, Ihor
bug-gnu-emacs <at> gnu.org
:bug#56475
; Package emacs
.
(Tue, 12 Jul 2022 15:32:02 GMT) Full text and rfc822 format available.Message #26 received at 56475 <at> debbugs.gnu.org (full text, mbox):
From: Roland Winkler <winkler <at> gnu.org> To: Ihor Radchenko <yantar92 <at> gmail.com> Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 56475 <at> debbugs.gnu.org Subject: Re: bug#56475: 28.1.50; bibtex-parse-entry disregards @string substitutions Date: Tue, 12 Jul 2022 10:31:19 -0500
On Tue, Jul 12 2022, Ihor Radchenko wrote: > I am wondering why bibtex-string-files is not documented inside the > docstring of bibtex-expand-strings. Same for bibtex-expand-strings not > being documented in bibtex-parse-entry. I believe the situation is the other way round: bibtex-files and bibtex-string-files are basic user variables for bibtex-mode and have been around for 30+ years (much longer than I support bibtex.el). bibtex-expand-strings is a small add-on in this context. > I tried the following simple test: > > M-: (let ((bibtex-string-files `(,(buffer-file-name))) > (bibtex-expand-strings t)) (bibtex-parse-entry)) > > The journal field is still not handled: ("journal" . "jgr") Try M-: (let ((bibtex-string-files `(,(buffer-file-name))) (bibtex-expand-strings t)) (bibtex-parse-entry t)) > Also, note that bibtex-string-files cannot help with situations when > the BibTeX buffer does not have an associated file. When does this happen? To the best of my knowledge, this has never been an issue for users of bibtex.el.
bug-gnu-emacs <at> gnu.org
:bug#56475
; Package emacs
.
(Sun, 17 Jul 2022 08:34:02 GMT) Full text and rfc822 format available.Message #29 received at 56475 <at> debbugs.gnu.org (full text, mbox):
From: Ihor Radchenko <yantar92 <at> gmail.com> To: Roland Winkler <winkler <at> gnu.org> Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 56475 <at> debbugs.gnu.org Subject: Re: bug#56475: 28.1.50; bibtex-parse-entry disregards @string substitutions Date: Sun, 17 Jul 2022 16:34:02 +0800
Roland Winkler <winkler <at> gnu.org> writes: > On Tue, Jul 12 2022, Ihor Radchenko wrote: >> I am wondering why bibtex-string-files is not documented inside the >> docstring of bibtex-expand-strings. Same for bibtex-expand-strings not >> being documented in bibtex-parse-entry. > > I believe the situation is the other way round: bibtex-files and > bibtex-string-files are basic user variables for bibtex-mode and have > been around for 30+ years (much longer than I support bibtex.el). > bibtex-expand-strings is a small add-on in this context. I think that the main issue on my side is that I interact with bibtex.el from API perspective without editing many actual .bib files. So, I was mostly looking into parser API instead of user customizations. If you start exploring bibtex.el from bibtex-parse-entry and its docstring, it is not very easy to figure out that bibtex-string-files and bibtex-expand-strings need to be set. They are not mentioned in the docstring other than by common word "extract content" with "extract" meaning being not very clear. >> I tried the following simple test: >> >> M-: (let ((bibtex-string-files `(,(buffer-file-name))) >> (bibtex-expand-strings t)) (bibtex-parse-entry)) >> >> The journal field is still not handled: ("journal" . "jgr") > > Try > > M-: (let ((bibtex-string-files `(,(buffer-file-name))) > (bibtex-expand-strings t)) (bibtex-parse-entry t)) Thanks! It works now. >> Also, note that bibtex-string-files cannot help with situations when >> the BibTeX buffer does not have an associated file. > > When does this happen? To the best of my knowledge, this has never been > an issue for users of bibtex.el. It is more of a hypothetical scenario that might occur in future if Org tries to support bibliographies provided inside .org files. Such bibliographies will need to be converted to .bib files transiently and might not need to be saved on disk. In any case, it is not a concern you need to worry about now. AFAIU, bibtex.el depends on .bib buffers having non-nil buffer-file-name in multiple places. Best, Ihor
bug-gnu-emacs <at> gnu.org
:bug#56475
; Package emacs
.
(Sun, 17 Jul 2022 20:11:01 GMT) Full text and rfc822 format available.Message #32 received at 56475 <at> debbugs.gnu.org (full text, mbox):
From: Roland Winkler <winkler <at> gnu.org> To: Ihor Radchenko <yantar92 <at> gmail.com> Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 56475 <at> debbugs.gnu.org Subject: Re: bug#56475: 28.1.50; bibtex-parse-entry disregards @string substitutions Date: Sun, 17 Jul 2022 15:10:39 -0500
On Sun, Jul 17 2022, Ihor Radchenko wrote: >>> Also, note that bibtex-string-files cannot help with situations when >>> the BibTeX buffer does not have an associated file. >> >> When does this happen? To the best of my knowledge, this has never been >> an issue for users of bibtex.el. > > It is more of a hypothetical scenario that might occur in future if Org > tries to support bibliographies provided inside .org files. Such > bibliographies will need to be converted to .bib files transiently and > might not need to be saved on disk. This sounds to me like reinventing the wheel and a poor design choice. BibTeX is a well-established bibliography format with a large ecosystem [(La)TeX]. Also, publishers provide BibTeX records for their journal articles. (Occassionally I need to deal with records that have some other database format like RIS. Converting formats is always painful.) From a practical perspective, BibTeX mode is built around the idea that users may have a large bibliography database. Something like 10,000 records is not exotic. Then it is natural to split up these entries among multiple files. BibTeX mode and its API support this very nicely. (I have many little helper functions in my emacs init file that use the BibTeX mode API. Maybe I should put some of these also into bibtex.el.) What are the usage scenarios you have in mind for putting a bibliography database into org mode that comes with its own database format?
bug-gnu-emacs <at> gnu.org
:bug#56475
; Package emacs
.
(Mon, 18 Jul 2022 04:07:02 GMT) Full text and rfc822 format available.Message #35 received at 56475 <at> debbugs.gnu.org (full text, mbox):
From: Ihor Radchenko <yantar92 <at> gmail.com> To: Roland Winkler <winkler <at> gnu.org> Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 56475 <at> debbugs.gnu.org Subject: Re: bug#56475: 28.1.50; bibtex-parse-entry disregards @string substitutions Date: Mon, 18 Jul 2022 12:07:09 +0800
[Message part 1 (text/plain, inline)]
Roland Winkler <winkler <at> gnu.org> writes: >>> When does this happen? To the best of my knowledge, this has never been >>> an issue for users of bibtex.el. >> >> It is more of a hypothetical scenario that might occur in future if Org >> tries to support bibliographies provided inside .org files. Such >> bibliographies will need to be converted to .bib files transiently and >> might not need to be saved on disk. > > This sounds to me like reinventing the wheel and a poor design choice. > BibTeX is a well-established bibliography format with a large ecosystem > [(La)TeX]. Also, publishers provide BibTeX records for their journal > articles. (Occassionally I need to deal with records that have some > other database format like RIS. Converting formats is always painful.) > ... > What are the usage scenarios you have in mind for putting a bibliography > database into org mode that comes with its own database format? Org mode provides transparent conversion between BibTeX and Org formats. The advantages of keeping bibliography in Org involve the extra things you can do with Org headlines compared to BibTeX records: - You can keep the related notes together with the bibliographic record and make use of Org markup, including inline images, inline LaTeX formulas, and cross-links to other bibliographic records. An example of such record is in the attached screenshot.
[bibtex-note-example.png (image/png, inline)]
[Message part 3 (text/plain, inline)]
- You can convert such records to actionable tasks and schedule them using org-agenda. This integrates literature review process with task management capabilities of Org. - You can easily search across the literature records while also indexing the records according to personal notes/tags/relevance to specific projects/etc - You can visualize relations between literature records using packages like org-roam-ui: https://github.com/org-roam/org-roam-ui - You can attach the literature PDFs/related data alongside with the literature record using org-attach mechanism - You can put the bibliographic records together with notes inside the actual authored document, being able to review and search across the used literature. They can also be transparently exported to the required printable format like pdf/Tex/html/odt/etc > From a practical perspective, BibTeX mode is built around the idea that > users may have a large bibliography database. Something like 10,000 > records is not exotic. Then it is natural to split up these entries > among multiple files. BibTeX mode and its API support this very nicely. > (I have many little helper functions in my emacs init file that use the > BibTeX mode API. Maybe I should put some of these also into bibtex.el.) Sure. I am not saying that the current API is incorrect. It's just geared towards specific kind of traditional workflow. For the bibtex.el extension, I am pretty sure that people do want some helper functions. Some Org-related projects are even using alternative API-oriented implementations of BibTeX parsers: https://github.com/joostkremers/parsebib You may find reading the parsebib's readme useful to get an idea what people need. parsebib is at least being used by https://github.com/andras-simonyi/citeproc-el that is natively supported by Org mode's citation engine (https://blog.tecosaur.com/tmio/2021-07-31-citations.html). Best, Ihor
Roland Winkler <winkler <at> gnu.org>
:Ihor Radchenko <yantar92 <at> gmail.com>
:Message #40 received at 56475-done <at> debbugs.gnu.org (full text, mbox):
From: Roland Winkler <winkler <at> gnu.org> To: Ihor Radchenko <yantar92 <at> gmail.com> Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 56475-done <at> debbugs.gnu.org Subject: Re: bug#56475: 28.1.50; bibtex-parse-entry disregards @string substitutions Date: Fri, 30 Dec 2022 00:37:30 -0600
On Mon, Jul 18 2022, Ihor Radchenko wrote: > Sure. I am not saying that the current API is incorrect. It's just > geared towards specific kind of traditional workflow. Closing.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Fri, 27 Jan 2023 12:24:11 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.