Package: emacs;
Reported by: Rupert Swarbrick <rswarbrick <at> gmail.com>
Date: Wed, 10 Jul 2019 10:56:01 UTC
Severity: normal
Found in version 26.1
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 36573 in the body.
You can then email your comments to 36573 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#36573
; Package emacs
.
(Wed, 10 Jul 2019 10:56:01 GMT) Full text and rfc822 format available.Rupert Swarbrick <rswarbrick <at> gmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Wed, 10 Jul 2019 10:56:01 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Rupert Swarbrick <rswarbrick <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 26.1; bufferpos-to-filepos assumes coding-system-eol-type gives integer Date: Wed, 10 Jul 2019 11:52:24 +0100
Hi there, The bufferpos-to-filepos function assumes that the return value fo coding-system-eol-type is an integer, testing it with (let* ((eol (coding-system-eol-type coding-system)) (lineno (if (= eol 1) (1- (line-number-at-pos position)) 0)) ...) ...) However, coding-system-eol-type may return a list if the given coding system doesn't specify eol conversion explicitly. This crops up for me when trying to browse info files: Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p [undecided-unix undecided-dos undecided-mac]) =([undecided-unix undecided-dos undecided-mac] 1) (if (= eol 1) (1- (line-number-at-pos position)) 0) (let* /* SNIP contents of bufferpos-to-filepos */) bufferpos-to-filepos(1202 exact) Info-read-subfile(1200) Info-find-node-2("/usr/share/info/gawk" "Top" nil nil) Info-find-node("gawk" "Top" nil nil) Info-goto-node("(gawk)" nil) Info-menu("Gawk" nil) funcall-interactively(Info-menu "Gawk" nil) call-interactively(Info-menu nil nil) command-execute(Info-menu) (I've snipped out the contents of bufferpos-to-filepos from the backtrace). It seems that the coding system for the info file is 'undecided at this point. I'm not sure where the bug lies. If bufferpos-to-filepos (and filepos-to-bufferpos) are supposed to work with an undecided coding system, they need fixing. Manually replacing "(= eol ...)" with "(eql eol ...)" locally in both functions means that I can read the info file again (yippee!) but I'm not sure whether that's a full solution. Alternatively, I guess the documentation for these functions needs to say that they should only be called when the coding system specifies eol conversion. In this case, the info code also needs fixing (and presumably various other places). Auto-collected info below. This is a Debian system with reasonably standard packages, plus some org-related stuff from elpa. Rupert Configured using: 'configure --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd --with-pop=yes --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.1/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --without-gconf --with-mailutils --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd --with-pop=yes --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.1/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --without-gconf --with-mailutils --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/emacs-26.1+1=. -fstack-protector-strong -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 THREADS LIBSYSTEMD LCMS2 Important settings: value of $LC_MONETARY: en_GB.utf8 value of $LC_NUMERIC: en_GB.utf8 value of $LC_TIME: en_GB.utf8 value of $LANG: en_GB.UTF-8 locale-coding-system: utf-8 Major mode: Info Minor modes in effect: show-paren-mode: t keyfreq-autosave-mode: t keyfreq-mode: t global-ede-mode: t savehist-mode: t recentf-mode: t rcirc-track-minor-mode: t global-undo-tree-mode: t undo-tree-mode: t eyebrowse-mode: t pdf-occur-global-minor-mode: t pyvenv-mode: t global-magit-file-mode: t diff-auto-refine-mode: t magit-auto-revert-mode: t global-auto-revert-mode: t global-git-commit-mode: t async-bytecomp-package-mode: t shell-dirtrack-mode: t override-global-mode: t tooltip-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 buffer-read-only: t column-number-mode: t line-number-mode: t Load-path shadows: /home/rupert/.emacs.d/other-libraries/other-libraries/small/gas-mode hides /home/rupert/.emacs.d/other-libraries/other-libraries/gas-mode/gas-mode /home/rupert/.emacs.d/other-libraries/other-libraries/small/smooth-scrolling hides /home/rupert/.emacs.d/elpa/smooth-scrolling-20161002.1949/smooth-scrolling /home/rupert/.emacs.d/elpa/color-theme-solarized-20171024.1525/solarized-theme hides /home/rupert/.emacs.d/elpa/solarized-theme-20190625.1632/solarized-theme /home/rupert/.emacs.d/other-libraries/spice-mode/spice-mode hides /home/rupert/.emacs.d/elpa/spice-mode-20190608.1033/spice-mode /usr/share/emacs/site-lisp/llvm-6.0/tablegen-mode hides /usr/share/emacs/site-lisp/llvm-7/tablegen-mode /usr/share/emacs/site-lisp/llvm-6.0/llvm-mode hides /usr/share/emacs/site-lisp/llvm-7/llvm-mode /usr/share/emacs/site-lisp/llvm-6.0/emacs hides /usr/share/emacs/site-lisp/llvm-7/emacs /usr/share/emacs/site-lisp/flim/md4 hides /usr/share/emacs/26.1/lisp/md4 /usr/share/emacs/site-lisp/flim/hex-util hides /usr/share/emacs/26.1/lisp/hex-util /home/rupert/.emacs.d/other-libraries/libfunctions/underline hides /usr/share/emacs/26.1/lisp/textmodes/underline /src/not-mine/verilog-mode/e/verilog-mode hides /usr/share/emacs/26.1/lisp/progmodes/verilog-mode /home/rupert/.emacs.d/elpa/org-20171009/ox hides /usr/share/emacs/26.1/lisp/org/ox /home/rupert/.emacs.d/elpa/org-20171009/ox-texinfo hides /usr/share/emacs/26.1/lisp/org/ox-texinfo /home/rupert/.emacs.d/elpa/org-20171009/ox-publish hides /usr/share/emacs/26.1/lisp/org/ox-publish /home/rupert/.emacs.d/elpa/org-20171009/ox-org hides /usr/share/emacs/26.1/lisp/org/ox-org /home/rupert/.emacs.d/elpa/org-20171009/ox-odt hides /usr/share/emacs/26.1/lisp/org/ox-odt /home/rupert/.emacs.d/elpa/org-20171009/ox-md hides /usr/share/emacs/26.1/lisp/org/ox-md /home/rupert/.emacs.d/elpa/org-20171009/ox-man hides /usr/share/emacs/26.1/lisp/org/ox-man /home/rupert/.emacs.d/elpa/org-20171009/ox-latex hides /usr/share/emacs/26.1/lisp/org/ox-latex /home/rupert/.emacs.d/elpa/org-20171009/ox-icalendar hides /usr/share/emacs/26.1/lisp/org/ox-icalendar /home/rupert/.emacs.d/elpa/org-20171009/ox-html hides /usr/share/emacs/26.1/lisp/org/ox-html /home/rupert/.emacs.d/elpa/org-20171009/ox-beamer hides /usr/share/emacs/26.1/lisp/org/ox-beamer /home/rupert/.emacs.d/elpa/org-20171009/ox-ascii hides /usr/share/emacs/26.1/lisp/org/ox-ascii /home/rupert/.emacs.d/elpa/org-20171009/org hides /usr/share/emacs/26.1/lisp/org/org /home/rupert/.emacs.d/elpa/org-20171009/org-w3m hides /usr/share/emacs/26.1/lisp/org/org-w3m /home/rupert/.emacs.d/elpa/org-20171009/org-version hides /usr/share/emacs/26.1/lisp/org/org-version /home/rupert/.emacs.d/elpa/org-20171009/org-timer hides /usr/share/emacs/26.1/lisp/org/org-timer /home/rupert/.emacs.d/elpa/org-20171009/org-table hides /usr/share/emacs/26.1/lisp/org/org-table /home/rupert/.emacs.d/elpa/org-20171009/org-src hides /usr/share/emacs/26.1/lisp/org/org-src /home/rupert/.emacs.d/elpa/org-20171009/org-rmail hides /usr/share/emacs/26.1/lisp/org/org-rmail /home/rupert/.emacs.d/elpa/org-20171009/org-protocol hides /usr/share/emacs/26.1/lisp/org/org-protocol /home/rupert/.emacs.d/elpa/org-20171009/org-plot hides /usr/share/emacs/26.1/lisp/org/org-plot /home/rupert/.emacs.d/elpa/org-20171009/org-pcomplete hides /usr/share/emacs/26.1/lisp/org/org-pcomplete /home/rupert/.emacs.d/elpa/org-20171009/org-mouse hides /usr/share/emacs/26.1/lisp/org/org-mouse /home/rupert/.emacs.d/elpa/org-20171009/org-mobile hides /usr/share/emacs/26.1/lisp/org/org-mobile /home/rupert/.emacs.d/elpa/org-20171009/org-mhe hides /usr/share/emacs/26.1/lisp/org/org-mhe /home/rupert/.emacs.d/elpa/org-20171009/org-macs hides /usr/share/emacs/26.1/lisp/org/org-macs /home/rupert/.emacs.d/elpa/org-20171009/org-macro hides /usr/share/emacs/26.1/lisp/org/org-macro /home/rupert/.emacs.d/elpa/org-20171009/org-loaddefs hides /usr/share/emacs/26.1/lisp/org/org-loaddefs /home/rupert/.emacs.d/elpa/org-20171009/org-list hides /usr/share/emacs/26.1/lisp/org/org-list /home/rupert/.emacs.d/elpa/org-20171009/org-lint hides /usr/share/emacs/26.1/lisp/org/org-lint /home/rupert/.emacs.d/elpa/org-20171009/org-irc hides /usr/share/emacs/26.1/lisp/org/org-irc /home/rupert/.emacs.d/elpa/org-20171009/org-install hides /usr/share/emacs/26.1/lisp/org/org-install /home/rupert/.emacs.d/elpa/org-20171009/org-inlinetask hides /usr/share/emacs/26.1/lisp/org/org-inlinetask /home/rupert/.emacs.d/elpa/org-20171009/org-info hides /usr/share/emacs/26.1/lisp/org/org-info /home/rupert/.emacs.d/elpa/org-20171009/org-indent hides /usr/share/emacs/26.1/lisp/org/org-indent /home/rupert/.emacs.d/elpa/org-20171009/org-id hides /usr/share/emacs/26.1/lisp/org/org-id /home/rupert/.emacs.d/elpa/org-20171009/org-habit hides /usr/share/emacs/26.1/lisp/org/org-habit /home/rupert/.emacs.d/elpa/org-20171009/org-gnus hides /usr/share/emacs/26.1/lisp/org/org-gnus /home/rupert/.emacs.d/elpa/org-20171009/org-footnote hides /usr/share/emacs/26.1/lisp/org/org-footnote /home/rupert/.emacs.d/elpa/org-20171009/org-feed hides /usr/share/emacs/26.1/lisp/org/org-feed /home/rupert/.emacs.d/elpa/org-20171009/org-faces hides /usr/share/emacs/26.1/lisp/org/org-faces /home/rupert/.emacs.d/elpa/org-20171009/org-eww hides /usr/share/emacs/26.1/lisp/org/org-eww /home/rupert/.emacs.d/elpa/org-20171009/org-eshell hides /usr/share/emacs/26.1/lisp/org/org-eshell /home/rupert/.emacs.d/elpa/org-20171009/org-entities hides /usr/share/emacs/26.1/lisp/org/org-entities /home/rupert/.emacs.d/elpa/org-20171009/org-element hides /usr/share/emacs/26.1/lisp/org/org-element /home/rupert/.emacs.d/elpa/org-20171009/org-duration hides /usr/share/emacs/26.1/lisp/org/org-duration /home/rupert/.emacs.d/elpa/org-20171009/org-docview hides /usr/share/emacs/26.1/lisp/org/org-docview /home/rupert/.emacs.d/elpa/org-20171009/org-datetree hides /usr/share/emacs/26.1/lisp/org/org-datetree /home/rupert/.emacs.d/elpa/org-20171009/org-ctags hides /usr/share/emacs/26.1/lisp/org/org-ctags /home/rupert/.emacs.d/elpa/org-20171009/org-crypt hides /usr/share/emacs/26.1/lisp/org/org-crypt /home/rupert/.emacs.d/elpa/org-20171009/org-compat hides /usr/share/emacs/26.1/lisp/org/org-compat /home/rupert/.emacs.d/elpa/org-20171009/org-colview hides /usr/share/emacs/26.1/lisp/org/org-colview /home/rupert/.emacs.d/elpa/org-20171009/org-clock hides /usr/share/emacs/26.1/lisp/org/org-clock /home/rupert/.emacs.d/elpa/org-20171009/org-capture hides /usr/share/emacs/26.1/lisp/org/org-capture /home/rupert/.emacs.d/elpa/org-20171009/org-bibtex hides /usr/share/emacs/26.1/lisp/org/org-bibtex /home/rupert/.emacs.d/elpa/org-20171009/org-bbdb hides /usr/share/emacs/26.1/lisp/org/org-bbdb /home/rupert/.emacs.d/elpa/org-20171009/org-attach hides /usr/share/emacs/26.1/lisp/org/org-attach /home/rupert/.emacs.d/elpa/org-20171009/org-archive hides /usr/share/emacs/26.1/lisp/org/org-archive /home/rupert/.emacs.d/elpa/org-20171009/org-agenda hides /usr/share/emacs/26.1/lisp/org/org-agenda /home/rupert/.emacs.d/elpa/org-20171009/ob hides /usr/share/emacs/26.1/lisp/org/ob /home/rupert/.emacs.d/elpa/org-20171009/ob-vala hides /usr/share/emacs/26.1/lisp/org/ob-vala /home/rupert/.emacs.d/elpa/org-20171009/ob-tangle hides /usr/share/emacs/26.1/lisp/org/ob-tangle /home/rupert/.emacs.d/elpa/org-20171009/ob-table hides /usr/share/emacs/26.1/lisp/org/ob-table /home/rupert/.emacs.d/elpa/org-20171009/ob-stan hides /usr/share/emacs/26.1/lisp/org/ob-stan /home/rupert/.emacs.d/elpa/org-20171009/ob-sqlite hides /usr/share/emacs/26.1/lisp/org/ob-sqlite /home/rupert/.emacs.d/elpa/org-20171009/ob-sql hides /usr/share/emacs/26.1/lisp/org/ob-sql /home/rupert/.emacs.d/elpa/org-20171009/ob-shen hides /usr/share/emacs/26.1/lisp/org/ob-shen /home/rupert/.emacs.d/elpa/org-20171009/ob-shell hides /usr/share/emacs/26.1/lisp/org/ob-shell /home/rupert/.emacs.d/elpa/org-20171009/ob-sed hides /usr/share/emacs/26.1/lisp/org/ob-sed /home/rupert/.emacs.d/elpa/org-20171009/ob-screen hides /usr/share/emacs/26.1/lisp/org/ob-screen /home/rupert/.emacs.d/elpa/org-20171009/ob-scheme hides /usr/share/emacs/26.1/lisp/org/ob-scheme /home/rupert/.emacs.d/elpa/org-20171009/ob-sass hides /usr/share/emacs/26.1/lisp/org/ob-sass /home/rupert/.emacs.d/elpa/org-20171009/ob-ruby hides /usr/share/emacs/26.1/lisp/org/ob-ruby /home/rupert/.emacs.d/elpa/org-20171009/ob-ref hides /usr/share/emacs/26.1/lisp/org/ob-ref /home/rupert/.emacs.d/elpa/org-20171009/ob-python hides /usr/share/emacs/26.1/lisp/org/ob-python /home/rupert/.emacs.d/elpa/org-20171009/ob-processing hides /usr/share/emacs/26.1/lisp/org/ob-processing /home/rupert/.emacs.d/elpa/org-20171009/ob-plantuml hides /usr/share/emacs/26.1/lisp/org/ob-plantuml /home/rupert/.emacs.d/elpa/org-20171009/ob-picolisp hides /usr/share/emacs/26.1/lisp/org/ob-picolisp /home/rupert/.emacs.d/elpa/org-20171009/ob-perl hides /usr/share/emacs/26.1/lisp/org/ob-perl /home/rupert/.emacs.d/elpa/org-20171009/ob-org hides /usr/share/emacs/26.1/lisp/org/ob-org /home/rupert/.emacs.d/elpa/org-20171009/ob-octave hides /usr/share/emacs/26.1/lisp/org/ob-octave /home/rupert/.emacs.d/elpa/org-20171009/ob-ocaml hides /usr/share/emacs/26.1/lisp/org/ob-ocaml /home/rupert/.emacs.d/elpa/org-20171009/ob-mscgen hides /usr/share/emacs/26.1/lisp/org/ob-mscgen /home/rupert/.emacs.d/elpa/org-20171009/ob-maxima hides /usr/share/emacs/26.1/lisp/org/ob-maxima /home/rupert/.emacs.d/elpa/org-20171009/ob-matlab hides /usr/share/emacs/26.1/lisp/org/ob-matlab /home/rupert/.emacs.d/elpa/org-20171009/ob-makefile hides /usr/share/emacs/26.1/lisp/org/ob-makefile /home/rupert/.emacs.d/elpa/org-20171009/ob-lua hides /usr/share/emacs/26.1/lisp/org/ob-lua /home/rupert/.emacs.d/elpa/org-20171009/ob-lob hides /usr/share/emacs/26.1/lisp/org/ob-lob /home/rupert/.emacs.d/elpa/org-20171009/ob-lisp hides /usr/share/emacs/26.1/lisp/org/ob-lisp /home/rupert/.emacs.d/elpa/org-20171009/ob-lilypond hides /usr/share/emacs/26.1/lisp/org/ob-lilypond /home/rupert/.emacs.d/elpa/org-20171009/ob-ledger hides /usr/share/emacs/26.1/lisp/org/ob-ledger /home/rupert/.emacs.d/elpa/org-20171009/ob-latex hides /usr/share/emacs/26.1/lisp/org/ob-latex /home/rupert/.emacs.d/elpa/org-20171009/ob-keys hides /usr/share/emacs/26.1/lisp/org/ob-keys /home/rupert/.emacs.d/elpa/org-20171009/ob-js hides /usr/share/emacs/26.1/lisp/org/ob-js /home/rupert/.emacs.d/elpa/org-20171009/ob-java hides /usr/share/emacs/26.1/lisp/org/ob-java /home/rupert/.emacs.d/elpa/org-20171009/ob-io hides /usr/share/emacs/26.1/lisp/org/ob-io /home/rupert/.emacs.d/elpa/org-20171009/ob-hledger hides /usr/share/emacs/26.1/lisp/org/ob-hledger /home/rupert/.emacs.d/elpa/org-20171009/ob-haskell hides /usr/share/emacs/26.1/lisp/org/ob-haskell /home/rupert/.emacs.d/elpa/org-20171009/ob-groovy hides /usr/share/emacs/26.1/lisp/org/ob-groovy /home/rupert/.emacs.d/elpa/org-20171009/ob-gnuplot hides /usr/share/emacs/26.1/lisp/org/ob-gnuplot /home/rupert/.emacs.d/elpa/org-20171009/ob-fortran hides /usr/share/emacs/26.1/lisp/org/ob-fortran /home/rupert/.emacs.d/elpa/org-20171009/ob-forth hides /usr/share/emacs/26.1/lisp/org/ob-forth /home/rupert/.emacs.d/elpa/org-20171009/ob-exp hides /usr/share/emacs/26.1/lisp/org/ob-exp /home/rupert/.emacs.d/elpa/org-20171009/ob-eval hides /usr/share/emacs/26.1/lisp/org/ob-eval /home/rupert/.emacs.d/elpa/org-20171009/ob-emacs-lisp hides /usr/share/emacs/26.1/lisp/org/ob-emacs-lisp /home/rupert/.emacs.d/elpa/org-20171009/ob-ebnf hides /usr/share/emacs/26.1/lisp/org/ob-ebnf /home/rupert/.emacs.d/elpa/org-20171009/ob-dot hides /usr/share/emacs/26.1/lisp/org/ob-dot /home/rupert/.emacs.d/elpa/org-20171009/ob-ditaa hides /usr/share/emacs/26.1/lisp/org/ob-ditaa /home/rupert/.emacs.d/elpa/org-20171009/ob-css hides /usr/share/emacs/26.1/lisp/org/ob-css /home/rupert/.emacs.d/elpa/org-20171009/ob-core hides /usr/share/emacs/26.1/lisp/org/ob-core /home/rupert/.emacs.d/elpa/org-20171009/ob-coq hides /usr/share/emacs/26.1/lisp/org/ob-coq /home/rupert/.emacs.d/elpa/org-20171009/ob-comint hides /usr/share/emacs/26.1/lisp/org/ob-comint /home/rupert/.emacs.d/elpa/org-20171009/ob-clojure hides /usr/share/emacs/26.1/lisp/org/ob-clojure /home/rupert/.emacs.d/elpa/org-20171009/ob-calc hides /usr/share/emacs/26.1/lisp/org/ob-calc /home/rupert/.emacs.d/elpa/org-20171009/ob-awk hides /usr/share/emacs/26.1/lisp/org/ob-awk /home/rupert/.emacs.d/elpa/org-20171009/ob-asymptote hides /usr/share/emacs/26.1/lisp/org/ob-asymptote /home/rupert/.emacs.d/elpa/org-20171009/ob-abc hides /usr/share/emacs/26.1/lisp/org/ob-abc /home/rupert/.emacs.d/elpa/org-20171009/ob-R hides /usr/share/emacs/26.1/lisp/org/ob-R /home/rupert/.emacs.d/elpa/org-20171009/ob-J hides /usr/share/emacs/26.1/lisp/org/ob-J /home/rupert/.emacs.d/elpa/org-20171009/ob-C hides /usr/share/emacs/26.1/lisp/org/ob-C /usr/share/emacs/site-lisp/flim/sasl hides /usr/share/emacs/26.1/lisp/net/sasl /usr/share/emacs/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/26.1/lisp/net/sasl-ntlm /usr/share/emacs/site-lisp/flim/sasl-digest hides /usr/share/emacs/26.1/lisp/net/sasl-digest /usr/share/emacs/site-lisp/flim/sasl-cram hides /usr/share/emacs/26.1/lisp/net/sasl-cram /usr/share/emacs/site-lisp/flim/ntlm hides /usr/share/emacs/26.1/lisp/net/ntlm /usr/share/emacs/site-lisp/flim/hmac-md5 hides /usr/share/emacs/26.1/lisp/net/hmac-md5 /usr/share/emacs/site-lisp/flim/hmac-def hides /usr/share/emacs/26.1/lisp/net/hmac-def Features: (shadow sort mail-extr emacsbug helm-external helm-net xml url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap cl-print debug winner helm-command helm-elisp helm-eval edebug helm-info helm-mode helm-files helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp helm-utils helm-types helm-help helm helm-source eieio-compat helm-multi-match helm-lib misearch multi-isearch highlight-parentheses redshank skeleton paren elisp-slime-nav mu4e desktop frameset mu4e-speedbar mu4e-main mu4e-view mu4e-headers mu4e-compose mu4e-context mu4e-draft mu4e-actions org-capture rfc2368 smtpmail sendmail mu4e-mark mu4e-message flow-fill html2text mu4e-proc mu4e-utils doc-view mu4e-lists mu4e-vars org-element avl-tree generator ob-dot ob-maxima org org-macro org-footnote org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs org-loaddefs cal-menu calendar cal-loaddefs hl-line mu4e-meta keyfreq shebang smooth-scrolling pg-vars ede/speedbar ede/files ede ede/detect ede/base ede/auto ede/source eieio-base eieio-speedbar speedbar sb-image ezimage dframe eieio-custom cc-styles cc-align cc-engine cc-vars cc-defs slime-fancy slime-trace-dialog slime-fontifying-fu slime-package-fu slime-references slime-compiler-notes-tree slime-scratch slime-presentations bridge slime-macrostep macrostep slime-mdot-fu slime-enclosing-context slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc slime-repl slime-parse slime arc-mode archive-mode hyperspec browse-url dired-x info-look solarized-light-theme solarized savehist recentf tree-widget rcirc undo-tree diff cl company-irony company-template irony-completion irony-snippet irony irony-iotask proof-general eyebrowse haskell-mode haskell-cabal haskell-utils haskell-font-lock haskell-indentation haskell-string haskell-sort-imports haskell-lexeme rx haskell-align-imports haskell-compat haskell-complete-module haskell-ghc-support noutline outline dabbrev haskell-customize 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 find-func cedet pdf-isearch let-alist pdf-misc pdf-tools pdf-view magit-bookmark bookmark pp jka-compr pdf-cache pdf-info tq pdf-util image-mode yasnippet elec-pair highlight-indentation flymake-proc flymake warnings company-capf company pcase help-fns radix-tree elpy find-file-in-project ivy flx delsel colir color ivy-overlay ffap thingatpt windmove elpy-shell pyvenv esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg esh-groups eshell esh-module esh-mode esh-util elpy-profile elpy-django s elpy-refactor python tramp-sh tramp tramp-compat tramp-loaddefs trampver ucs-normalize parse-time json map ido grep compile files-x etags xref project cus-edit cus-start cus-load wid-edit paredit edmacro kmacro magit-submodule magit-obsolete magit-popup magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff-mode magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process magit-mode transient git-commit magit-git magit-section magit-utils crm log-edit message rmc puny dired dired-loaddefs format-spec rfc822 mml mml-sec epa epg gnus-util rmail rmail-loaddefs 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 with-editor async-bytecomp advice async shell pcomplete comint ansi-color ring server dash cl-extra help-mode use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core derived subr-x finder-inf tex-site highline-autoloads proof-site proof-autoloads slime-autoloads info package easymenu epg-config url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib w3m-load devhelp time-date mule-util 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 menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame 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 minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 748565 52312) (symbols 48 62892 7) (miscs 40 270 398) (strings 32 192397 6437) (string-bytes 1 5948028) (vectors 16 92954) (vector-slots 8 1758995 68914) (floats 8 521 411) (intervals 56 3844 3512) (buffers 992 21))
bug-gnu-emacs <at> gnu.org
:bug#36573
; Package emacs
.
(Wed, 10 Jul 2019 14:54:02 GMT) Full text and rfc822 format available.Message #8 received at 36573 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Rupert Swarbrick <rswarbrick <at> gmail.com> Cc: 36573 <at> debbugs.gnu.org Subject: Re: bug#36573: 26.1; bufferpos-to-filepos assumes coding-system-eol-type gives integer Date: Wed, 10 Jul 2019 17:52:58 +0300
> From: Rupert Swarbrick <rswarbrick <at> gmail.com> > Date: Wed, 10 Jul 2019 11:52:24 +0100 > > The bufferpos-to-filepos function assumes that the return value fo > coding-system-eol-type is an integer, testing it with > > (let* ((eol (coding-system-eol-type coding-system)) > (lineno (if (= eol 1) (1- (line-number-at-pos position)) > 0)) > ...) > ...) > > However, coding-system-eol-type may return a list if the given > coding system doesn't specify eol conversion explicitly. That shouldn't happen for a buffer that visits a file, in general. > This crops up for me when trying to browse info files: > > Debugger entered--Lisp error: (wrong-type-argument > number-or-marker-p [undecided-unix undecided-dos undecided-mac]) > =([undecided-unix undecided-dos undecided-mac] 1) > (if (= eol 1) (1- (line-number-at-pos position)) 0) > (let* /* SNIP contents of bufferpos-to-filepos */) > bufferpos-to-filepos(1202 exact) > Info-read-subfile(1200) > Info-find-node-2("/usr/share/info/gawk" "Top" nil nil) > Info-find-node("gawk" "Top" nil nil) > Info-goto-node("(gawk)" nil) > Info-menu("Gawk" nil) > funcall-interactively(Info-menu "Gawk" nil) > call-interactively(Info-menu nil nil) > command-execute(Info-menu) Please show the entire recipe for reproducing this, starting from "emacs -Q". Info files should generally have the -unix EOL type; that's what I see here. So I wonder how did we get into this situation. > (I've snipped out the contents of bufferpos-to-filepos from the > backtrace). It seems that the coding system for the info file is > 'undecided at this point. On my system, "C-u C-h i /path/to/gawk.info RET" yields a buffer whose buffer-file-coding-system is undecided-unix, as I'd expect. This happens both on GNU/Linux and on MS-Windows. So I wonder how you get something different. One can get undecided with empty buffers, or buffers that don't have a single newline, but this is not that case. > I'm not sure where the bug lies. If bufferpos-to-filepos (and > filepos-to-bufferpos) are supposed to work with an undecided > coding system, they need fixing. This function cannot possibly work with an encoding that has no definite EOL type, because obviously the conversion of buffer positions to file offsets depends on that. > Manually replacing "(= eol ...)" with "(eql eol ...)" locally in > both functions means that I can read the info file again (yippee!) > but I'm not sure whether that's a full solution. It could be, but we should first understand how did that happen, because there might be deeper problems hiding here. > Alternatively, I guess the documentation for these functions needs > to say that they should only be called when the coding system > specifies eol conversion. That should be done regardless, I think. But since this function was written specifically for Info files, it must work there (and did, AFAIK, since the day it was written till now).
bug-gnu-emacs <at> gnu.org
:bug#36573
; Package emacs
.
(Fri, 12 Jul 2019 15:15:04 GMT) Full text and rfc822 format available.Message #11 received at 36573 <at> debbugs.gnu.org (full text, mbox):
From: Rupert Swarbrick <rswarbrick <at> gmail.com> To: 36573 <at> debbugs.gnu.org Subject: 26.1; bufferpos-to-filepos assumes coding-system-eol-type gives integer Date: Fri, 12 Jul 2019 16:14:33 +0100
Thank you for the reply. I've now found the "culprit" (bisecting my init.el starting with emacs -Q). The dubious setting was: '(file-coding-system-alist (quote (("\\.dz\\'" no-conversion . no-conversion) ("\\.g?z\\(~\\|\\.~[0-9]+~\\)?\\'" no-conversion . no-conversion) ("\\.tgz\\'" no-conversion . no-conversion) ("\\.tbz\\'" no-conversion . no-conversion) ("\\.bz2\\(~\\|\\.~[0-9]+~\\)?\\'" no-conversion . no-conversion) ("\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'" no-conversion . no-conversion) ("\\.elc\\'" emacs-mule . emacs-mule) ("\\.utf\\(-8\\)?\\'" . utf-8) ("\\(\\`\\|/\\)loaddefs.el\\'" raw-text . raw-text-unix) ("\\.tar\\'" no-conversion . no-conversion) ("\\.po[tx]?\\'\\|\\.po\\." . po-find-file-coding-system) ("\\.lisp\\'" . utf-8-unix)))) I can't remember why I had this setting, rather than the default value, but clearing it out means I can read the info manual again. I think it probably still makes sense to add a note to the manual for bufferpos-to-filepos and filepos-to-bufferpos to point out that they don't work if the line ending convention is unknown. For bonus points, maybe it makes sense to add something to fail earlier (and more understandably!) in the info reading code. I'm not sure exactly where that would be, though. Rupert
bug-gnu-emacs <at> gnu.org
:bug#36573
; Package emacs
.
(Fri, 12 Jul 2019 18:18:02 GMT) Full text and rfc822 format available.Message #14 received at 36573 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Rupert Swarbrick <rswarbrick <at> gmail.com> Cc: 36573 <at> debbugs.gnu.org Subject: Re: bug#36573: 26.1; bufferpos-to-filepos assumes coding-system-eol-type gives integer Date: Fri, 12 Jul 2019 21:17:47 +0300
> From: Rupert Swarbrick <rswarbrick <at> gmail.com> > Date: Fri, 12 Jul 2019 16:14:33 +0100 > > Thank you for the reply. I've now found the "culprit" (bisecting > my init.el starting with emacs -Q). The dubious setting was: > > '(file-coding-system-alist > (quote > (("\\.dz\\'" no-conversion . no-conversion) > ("\\.g?z\\(~\\|\\.~[0-9]+~\\)?\\'" no-conversion . > no-conversion) > ("\\.tgz\\'" no-conversion . no-conversion) > ("\\.tbz\\'" no-conversion . no-conversion) > ("\\.bz2\\(~\\|\\.~[0-9]+~\\)?\\'" no-conversion . > no-conversion) > ("\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'" no-conversion . > no-conversion) > ("\\.elc\\'" emacs-mule . emacs-mule) > ("\\.utf\\(-8\\)?\\'" . utf-8) > ("\\(\\`\\|/\\)loaddefs.el\\'" raw-text . raw-text-unix) > ("\\.tar\\'" no-conversion . no-conversion) > ("\\.po[tx]?\\'\\|\\.po\\." . po-find-file-coding-system) > ("\\.lisp\\'" . utf-8-unix)))) Was the Info file compressed, i.e. did it have one of extensions that caused no-conversion to be used? > I think it probably still makes sense to add a note to the manual > for bufferpos-to-filepos and filepos-to-bufferpos to point out > that they don't work if the line ending convention is unknown. > > For bonus points, maybe it makes sense to add something to fail > earlier (and more understandably!) in the info reading code. I'm > not sure exactly where that would be, though. Yes, something should be done there, thanks.
bug-gnu-emacs <at> gnu.org
:bug#36573
; Package emacs
.
(Wed, 11 Aug 2021 18:43:01 GMT) Full text and rfc822 format available.Message #17 received at 36573 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Rupert Swarbrick <rswarbrick <at> gmail.com> Cc: 36573 <at> debbugs.gnu.org Subject: Re: bug#36573: 26.1; bufferpos-to-filepos assumes coding-system-eol-type gives integer Date: Wed, 11 Aug 2021 20:42:08 +0200
Rupert Swarbrick <rswarbrick <at> gmail.com> writes: > Thank you for the reply. I've now found the "culprit" (bisecting my > init.el starting with emacs -Q). The dubious setting was: > > '(file-coding-system-alist > (quote > (("\\.dz\\'" no-conversion . no-conversion) (etc) Even with this setting, I'm not able to reproduce the problem. It would be helpful with a recipe, starting from "emacs -Q", to verify that we're fixing this in the correct way. > I think it probably still makes sense to add a note to the manual for > bufferpos-to-filepos and filepos-to-bufferpos to point out that they > don't work if the line ending convention is unknown. Well, manual does say that the coding system has to be known (which implies that the line ending convention should also be known)... > For bonus points, maybe it makes sense to add something to fail > earlier (and more understandably!) in the info reading code. I'm not > sure exactly where that would be, though. I think those functions probably shouldn't signal an error in this situation if asked to do an approximate calculation (but just guess at a one-byte ending), perhaps. But give a better error message when asked to do an exact calculation. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
bug-gnu-emacs <at> gnu.org
:bug#36573
; Package emacs
.
(Thu, 12 Aug 2021 08:22:02 GMT) Full text and rfc822 format available.Message #20 received at 36573 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Lars Ingebrigtsen <larsi <at> gnus.org> Cc: 36573 <at> debbugs.gnu.org, rswarbrick <at> gmail.com Subject: Re: bug#36573: 26.1; bufferpos-to-filepos assumes coding-system-eol-type gives integer Date: Thu, 12 Aug 2021 11:21:07 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org> > Date: Wed, 11 Aug 2021 20:42:08 +0200 > Cc: 36573 <at> debbugs.gnu.org > > > I think it probably still makes sense to add a note to the manual for > > bufferpos-to-filepos and filepos-to-bufferpos to point out that they > > don't work if the line ending convention is unknown. > > Well, manual does say that the coding system has to be known (which > implies that the line ending convention should also be known)... > > > For bonus points, maybe it makes sense to add something to fail > > earlier (and more understandably!) in the info reading code. I'm not > > sure exactly where that would be, though. > > I think those functions probably shouldn't signal an error in this > situation if asked to do an approximate calculation (but just guess at a > one-byte ending), perhaps. But give a better error message when asked > to do an exact calculation. I think, since these cases are very rare, it should be okay to assume the -unix EOL type when this happens, and document that if this is the case, the result could be an approximation even if the exact result was requested.
bug-gnu-emacs <at> gnu.org
:bug#36573
; Package emacs
.
(Thu, 12 Aug 2021 12:56:02 GMT) Full text and rfc822 format available.Message #23 received at 36573 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 36573 <at> debbugs.gnu.org, rswarbrick <at> gmail.com Subject: Re: bug#36573: 26.1; bufferpos-to-filepos assumes coding-system-eol-type gives integer Date: Thu, 12 Aug 2021 14:54:51 +0200
Eli Zaretskii <eliz <at> gnu.org> writes: > I think, since these cases are very rare, it should be okay to assume > the -unix EOL type when this happens, and document that if this is the > case, the result could be an approximation even if the exact result > was requested. It is a rare odd corner case, but I think erroring out is a better solution here than having to document this. :-) `exact' meaning "exact" is easier conceptually. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
bug-gnu-emacs <at> gnu.org
:bug#36573
; Package emacs
.
(Thu, 12 Aug 2021 13:09:01 GMT) Full text and rfc822 format available.Message #26 received at 36573 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Lars Ingebrigtsen <larsi <at> gnus.org> Cc: 36573 <at> debbugs.gnu.org, rswarbrick <at> gmail.com Subject: Re: bug#36573: 26.1; bufferpos-to-filepos assumes coding-system-eol-type gives integer Date: Thu, 12 Aug 2021 16:08:05 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org> > Cc: rswarbrick <at> gmail.com, 36573 <at> debbugs.gnu.org > Date: Thu, 12 Aug 2021 14:54:51 +0200 > > Eli Zaretskii <eliz <at> gnu.org> writes: > > > I think, since these cases are very rare, it should be okay to assume > > the -unix EOL type when this happens, and document that if this is the > > case, the result could be an approximation even if the exact result > > was requested. > > It is a rare odd corner case, but I think erroring out is a better > solution here than having to document this. :-) `exact' meaning > "exact" is easier conceptually. Fine with me, but I think we will still need to say in the doc string something like It is an error to request the `exact' method when the buffer's EOL format is not yet decided.
bug-gnu-emacs <at> gnu.org
:bug#36573
; Package emacs
.
(Fri, 13 Aug 2021 11:08:02 GMT) Full text and rfc822 format available.Message #29 received at 36573 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 36573 <at> debbugs.gnu.org, rswarbrick <at> gmail.com Subject: Re: bug#36573: 26.1; bufferpos-to-filepos assumes coding-system-eol-type gives integer Date: Fri, 13 Aug 2021 13:07:00 +0200
Eli Zaretskii <eliz <at> gnu.org> writes: > Fine with me, but I think we will still need to say in the doc string > something like > > It is an error to request the `exact' method when the buffer's EOL > format is not yet decided. Done now, and I've added a bunch of tests for these functions. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
Lars Ingebrigtsen <larsi <at> gnus.org>
to control <at> debbugs.gnu.org
.
(Fri, 13 Aug 2021 11:08:02 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Fri, 10 Sep 2021 11:24:07 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.