[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#54015: 29.0.50; Cancel error when article has no email in From
From: |
Adam Sjøgren |
Subject: |
bug#54015: 29.0.50; Cancel error when article has no email in From |
Date: |
Tue, 15 Feb 2022 21:09:51 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
I pressed C in a summary buffer to cancel an article, and got this
error:
Debugger entered--Lisp error: (wrong-type-argument char-or-string-p nil)
message-is-yours-p()
message-cancel-news()
gnus-summary-cancel-article(nil nil)
funcall-interactively(gnus-summary-cancel-article nil nil)
command-execute(gnus-summary-cancel-article)
The problem is that message-is-yours-p assumes that the From: line
contains an email-address, but in this case it only has a name:
;; Email address in From field equals to our address
(and (setq from (message-fetch-field "from"))
(string-equal
(downcase (car (mail-header-parse-address from)))
(downcase (car (mail-header-parse-address
(message-make-from))))))
The (mail-header-parse-address from) is nil when there is no email:
(mail-header-parse-address "Andi Duferense") → nil
so the (downcase nil) fails with (wrong-type-argument char-or-string-p
nil).
This fixes the problem for me:
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 869ab3f82b..faf22ea85f 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -7485,7 +7485,7 @@ message-is-yours-p
;; Email address in From field equals to our address
(and (setq from (message-fetch-field "from"))
(string-equal
- (downcase (car (mail-header-parse-address from)))
+ (downcase (or (car (mail-header-parse-address from)) ""))
(downcase (car (mail-header-parse-address
(message-make-from))))))
;; Email address in From field matches
There is probably a better way to fix it.
In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo
version 1.16.0)
of 2022-02-14 built on tullinup
Repository revision: 0c53f0db3b7d1a01076cd51dbccd41ec547716d8
Repository branch: master
System Description: Debian GNU/Linux 11 (bullseye)
Configured using:
'configure --with-pgtk --with-native-compilation'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP
NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP XIM GTK3 ZLIB
Important settings:
value of $LANG: en_GB.UTF-8
locale-coding-system: utf-8-unix
Major mode: Group
Minor modes in effect:
gnus-topic-mode: t
gnus-undo-mode: t
global-magit-file-mode: t
magit-auto-revert-mode: t
global-git-commit-mode: t
dumb-jump-mode: t
shell-dirtrack-mode: t
which-function-mode: t
global-auto-complete-mode: t
save-place-mode: t
jabber-activity-mode: t
winner-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
menu-bar-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
line-number-mode: t
Load-path shadows:
~/elisp/let-alist/let-alist hides ~/elisp/extra/let-alist
/usr/share/emacs/site-lisp/elpa-src/boxquote-2.2/boxquote hides
~/elisp/extra/boxquote
~/elisp/transient/transient hides /usr/src/emacs/lisp/transient
~/elisp/let-alist/let-alist hides /usr/src/emacs/lisp/emacs-lisp/let-alist
Features:
(shadow emacsbug cl-print debug backtrace find-func bbdb-message
sendmail url-http url-gw url-auth gnus-gravatar gravatar sort smiley
gnus-cite gnus-async gnus-bcklg gnus-dup gnus-ml disp-table cus-start
gnus-topic utf-7 imap rfc2104 epa-file network-stream nsm nnml bbdb-gnus
bbdb-mua nnnil gnus-demon gnus-twit gnus-delay gnus-draft gnus-agent
gnus-srvr gnus-score score-mode nnvirtual nntp gnus-cache nndraft nnmh
mail-extr spam spam-stat bbdb-com gnus-uu yenc gnus-msg gnus-html
url-queue help-fns radix-tree url-cache mm-url bbdb-picture gnus-art
mm-uu mml2015 mm-view mml-smime smime dig gnus-sum gnus-group gnus-undo
gnus-fun hashcash gnus-start gnus-dbus gnus-cloud nnimap nnmail
mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus
nnheader range face-remap time gopher shr pixel-fill kinsoku svg litable
magithub magithub-ci magithub-issue magithub-cache magithub-core
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
magit-diff smerge-mode diff magit-core magit-autorevert autorevert
filenotify magit-margin magit-transient magit-process magit-mode
git-commit recentf tree-widget magit-git magit-section benchmark
magit-utils vc-git diff-mode ido crm log-edit message yank-media rmc
rfc822 mml mml-sec epa epg rfc6068 epg-config gnus-util 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 with-editor markdown-mode color noutline outline rg pcase
rg-info-hack rg-menu transient rg-ibuffer ibuf-macs rg-result wgrep-rg
rg-history rg-header ibuf-ext ibuffer ibuffer-loaddefs wgrep grep
compile text-property-search dumb-jump f dash s etags fileloop generator
xref project tramp tramp-loaddefs trampver tramp-integration cus-edit pp
cus-load files-x tramp-compat shell pcomplete parse-time iso8601 ls-lisp
auto-loads tex-site expand-region subword-mode-expansions
cperl-mode-expansions text-mode-expansions html-mode-expansions
er-basic-expansions thingatpt expand-region-core expand-region-custom
which-func cperl-mode auto-complete-config auto-complete edmacro kmacro
popup debian-changelog-mode imenu add-log dpkg-dev-el saveplace vc
vc-dispatcher bbdb bbdb-site timezone bbdb-loaddefs boxquote rect
jabber-last-message-correction jabber-http-file-upload jabber-print-html
jabber-otr jabber jabber-notifications notifications jabber-libnotify
dbus jabber-awesome jabber-osd jabber-wmii jabber-xmessage
jabber-festival jabber-sawfish jabber-ratpoison jabber-tmux
jabber-screen jabber-socks5 jabber-ft-server jabber-si-server
jabber-ft-client jabber-ft-common jabber-si-client jabber-si-common
jabber-feature-neg jabber-truncate jabber-time jabber-autoaway time-date
jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard
jabber-avatar jabber-activity jabber-watch jabber-modeline easy-mmode
advice jabber-ahc-presence jabber-ahc jabber-version jabber-ourversion
jabber-muc-nick-completion hippie-exp comint ansi-color jabber-browse
jabber-search jabber-register jabber-roster format-spec jabber-presence
jabber-muc jabber-bookmarks jabber-private jabber-muc-nick-coloring
hexrgb jabber-widget jabber-disco wid-edit jabber-chat jabber-history
jabber-chatbuffer jabber-alert jabber-iq jabber-core jabber-console
derived sgml-mode facemenu dom ewoc jabber-keymap jabber-sasl sasl
sasl-anonymous sasl-login sasl-plain fsm jabber-logon jabber-conn srv
dns starttls tls jabber-xml xml jabber-menu jabber-util cl winner ring
gnutls puny comp comp-cstr warnings rx cl-extra help-mode
find-file-from-selection find-lisp dired dired-loaddefs cap-words
superword subword server finder-inf package browse-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util mailcap url-handlers url-parse auth-source cl-seq eieio
eieio-core cl-macs eieio-loaddefs password-cache json map url-vars seq
gv subr-x byte-opt bytecomp byte-compile cconv cl-loaddefs cl-lib
iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win
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 keymap hashtable-print-readable backquote threads
dbusbind inotify dynamic-setting system-font-setting font-render-setting
cairo gtk pgtk lcms2 multi-tty make-network-process native-compile
emacs)
Memory information:
((conses 16 856378 61025)
(symbols 48 38150 20)
(strings 32 231006 15196)
(string-bytes 1 9980301)
(vectors 16 53919)
(vector-slots 8 1672621 192833)
(floats 8 522 138)
(intervals 56 734 0)
(buffers 992 27))
--
"Yes, this sled is truly a hazard to life and limb." Adam Sjøgren
"WHEEEE! OOMPH! EEEEEEE!" asjo@koldfront.dk
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#54015: 29.0.50; Cancel error when article has no email in From,
Adam Sjøgren <=