GNU bug report logs - #38955
27.0.50; message-send-mail fails on non-printable characters in header

Previous Next

Package: emacs;

Reported by: Pieter van Oostrum <pieter <at> vanoostrum.org>

Date: Sun, 5 Jan 2020 20:09:02 UTC

Severity: normal

Tags: fixed

Found in version 27.0.50

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 38955 in the body.
You can then email your comments to 38955 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#38955; Package emacs. (Sun, 05 Jan 2020 20:09:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Pieter van Oostrum <pieter <at> vanoostrum.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sun, 05 Jan 2020 20:09:02 GMT) Full text and rfc822 format available.

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

From: Pieter van Oostrum <pieter <at> vanoostrum.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.0.50; message-send-mail fails on non-printable characters in header
Date: Sun, 5 Jan 2020 21:07:48 +0100
[Message part 1 (text/plain, inline)]
1) Reply to the attached email message in gnus.
2) Send the message (C-c C-c)

Emacs gives an error
cl--assertion-failed: Assertion failed: (save-excursion (goto-char (point-min)) (not (re-search-forward "[^.-ÿ]" nil t)))
which isn't helpful at all.

A backtrace with the option "Enter debugger on error" set:

Debugger entered--Lisp error: (cl-assertion-failed ((save-excursion (goto-char (point-min)) (not (re-search-forward "[^\0-\377]" nil t))) nil))
  cl--assertion-failed((save-excursion (goto-char (point-min)) (not (re-search-forward "[^\0-\377]" nil t))))
  message-send-mail(nil)
  message-send-via-mail(nil)

The error is caused by a header with unprintable characters. The raw header is:
To: =?iso-8859-1?Q?=E7=A9=8D=E4=B8=B9=E5=B0=BC?= Dan Jacobson
 <jidanni <at> jidanni.org>
which translates to unprintable characters.

When these characters appear in the message body, the user gets a choice:

Non-printable characters found.  Continue sending? (delete, replace, send, edit, ?):
This is given in:
  read-multiple-choice("Non-printable characters found.  Continue sending?" ((100 "delete" "Remove non-printable characters and send") (114 "replace" "Replace non-printable characters with \".\" and send") (115 "send" "Send as is without removing anything") (101 "edit" "Continue editing")))
  message-fix-before-sending()
  message-send(nil)

I propose that the same choice is given to the user when these characters appear in the header. This means the test should also be done in message-fix-before-sending().

Another suggestion: Can an additional choice be given to replace the offending characters with an escaped representation, for example url encoding?

In GNU Emacs 27.0.50 (build 1, i686-apple-darwin10.0.0, NS appkit-1561.61 Version 10.13.6 (Build 17G9016))
 of 2019-12-01 built on cochabamba.vanoostrum.org
Repository revision: 9f2145f42daab13aed5cf89fdb6a7c5579819ec0
Repository branch: master
Windowing system distributor 'Apple', version 10.3.1561
System Description:  Mac OS X 10.13.6

Recent messages:
Wrote /Users/pieter/NNFOLDER/emacs-bugs
nnfolder: Reading incoming mail (3 new)...done
Reading active file via nnfolder...done
Reading active file from archive via nnfolder...
Opening nnfolder server on archive...done
Reading active file from archive via nnfolder...done
Reading active file via nndraft...done
Checking new news...done
Opening nnfolder server...done
Making completion list...

Configured using:
 'configure --build i686-apple-darwin10.0.0 --without-dbus --with-ns
 build_alias=i686-apple-darwin10.0.0 'CFLAGS=-pipe -march=nocona'
 PKG_CONFIG_PATH=/usr/X11R6/pkgconfig/:/usr/local/lib/pkgconfig/:/usr/lib/pkgconfig/'

Configured features:
NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES
THREADS PDUMPER LCMS2

Important settings:
  value of $LANG: en_GB.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Text

Minor modes in effect:
  global-magit-file-mode: t
  magit-auto-revert-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  smartparens-global-mode: t
  smartparens-mode: t
  flycheck-pos-tip-mode: t
  global-flycheck-mode: t
  flycheck-mode: t
  shell-dirtrack-mode: t
  TeX-PDF-mode: t
  recentf-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  flyspell-mode: t
  global-so-long-mode: t
  show-paren-mode: t
  display-time-mode: t
  delete-selection-mode: t
  desktop-save-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
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Load-path shadows:
/Users/pieter/Library/Application Support/Emacs/site-lisp/isend-mode hides /Users/pieter/.emacs.d/elpa/isend-mode-20190201.832/isend-mode
/Users/pieter/.emacs.d/elpa/el-get-20181006.225/el-get-install hides /Users/pieter/.emacs.d/elpa/load-relative-20190601.1221/el-get-install
/Users/pieter/Library/Application Support/Emacs/site-lisp/request hides /Users/pieter/.emacs.d/elpa/request-20191211.2051/request
/Users/pieter/Library/Application Support/Emacs/site-lisp/web-mode hides /Users/pieter/.emacs.d/elpa/web-mode-20191104.1859/web-mode
/Users/pieter/Library/Application Support/Emacs/site-lisp/websocket hides /Users/pieter/.emacs.d/elpa/websocket-20191123.2208/websocket
/Users/pieter/.emacs.d/elpa/org-9.3.1/ox hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ox
/Users/pieter/.emacs.d/elpa/org-9.3.1/ox-texinfo hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ox-texinfo
/Users/pieter/.emacs.d/elpa/org-9.3.1/ox-publish hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ox-publish
/Users/pieter/.emacs.d/elpa/org-9.3.1/ox-org hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ox-org
/Users/pieter/.emacs.d/elpa/org-9.3.1/ox-odt hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ox-odt
/Users/pieter/.emacs.d/elpa/org-9.3.1/ox-md hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ox-md
/Users/pieter/.emacs.d/elpa/org-9.3.1/ox-man hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ox-man
/Users/pieter/.emacs.d/elpa/org-9.3.1/ox-latex hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ox-latex
/Users/pieter/.emacs.d/elpa/org-9.3.1/ox-icalendar hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ox-icalendar
/Users/pieter/.emacs.d/elpa/org-9.3.1/ox-html hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ox-html
/Users/pieter/.emacs.d/elpa/org-9.3.1/ox-beamer hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ox-beamer
/Users/pieter/.emacs.d/elpa/org-9.3.1/ox-ascii hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ox-ascii
/Users/pieter/.emacs.d/elpa/org-9.3.1/org hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-version hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-version
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-timer hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-timer
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-table hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-table
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-src hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-src
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-protocol hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-protocol
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-plot hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-plot
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-pcomplete hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-pcomplete
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-mouse hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-mouse
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-mobile hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-mobile
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-macs hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-macs
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-macro hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-macro
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-loaddefs hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-loaddefs
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-list hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-list
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-lint hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-lint
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-install hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-install
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-inlinetask hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-inlinetask
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-indent hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-indent
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-id hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-id
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-habit hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-habit
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-footnote hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-footnote
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-feed hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-feed
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-faces hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-faces
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-entities hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-entities
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-element hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-element
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-duration hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-duration
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-datetree hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-datetree
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-ctags hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-ctags
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-crypt hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-crypt
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-compat hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-compat
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-colview hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-colview
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-clock hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-clock
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-capture hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-capture
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-attach hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-attach
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-archive hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-archive
/Users/pieter/.emacs.d/elpa/org-9.3.1/org-agenda hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/org-agenda
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-vala hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-vala
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-tangle hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-tangle
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-table hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-table
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-stan hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-stan
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-sqlite hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-sqlite
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-sql hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-sql
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-shen hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-shen
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-shell hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-shell
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-sed hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-sed
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-screen hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-screen
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-scheme hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-scheme
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-sass hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-sass
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-ruby hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-ruby
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-ref hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-ref
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-R hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-R
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-python hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-python
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-processing hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-processing
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-plantuml hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-plantuml
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-picolisp hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-picolisp
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-perl hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-perl
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-org hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-org
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-octave hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-octave
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-ocaml hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-ocaml
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-mscgen hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-mscgen
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-maxima hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-maxima
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-matlab hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-matlab
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-makefile hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-makefile
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-lua hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-lua
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-lob hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-lob
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-lisp hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-lisp
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-lilypond hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-lilypond
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-ledger hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-ledger
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-latex hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-latex
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-js hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-js
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-java hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-java
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-J hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-J
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-io hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-io
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-hledger hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-hledger
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-haskell hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-haskell
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-groovy hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-groovy
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-gnuplot hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-gnuplot
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-fortran hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-fortran
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-forth hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-forth
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-exp hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-exp
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-eval hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-eval
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-emacs-lisp hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-emacs-lisp
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-ebnf hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-ebnf
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-dot hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-dot
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-ditaa hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-ditaa
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-css hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-css
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-core hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-core
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-coq hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-coq
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-comint hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-comint
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-clojure hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-clojure
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-calc hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-calc
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-C hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-C
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-awk hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-awk
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-asymptote hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-asymptote
/Users/pieter/.emacs.d/elpa/org-9.3.1/ob-abc hides /Applications/Emacs (original).app/Contents/Resources/lisp/org/ob-abc
/Users/pieter/.emacs.d/elpa/company-20191223.11/company hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-xcode hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-xcode
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-tempo hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-tempo
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-template hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-template
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-semantic hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-semantic
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-oddmuse hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-oddmuse
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-nxml hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-nxml
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-keywords hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-keywords
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-ispell hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-ispell
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-gtags hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-gtags
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-files hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-files
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-etags hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-etags
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-elisp hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-elisp
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-eclim hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-eclim
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-dabbrev hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-dabbrev
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-dabbrev-code hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-dabbrev-code
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-css hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-css
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-clang hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-clang
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-capf hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-capf
/Users/pieter/.emacs.d/elpa/company-20191223.11/company-abbrev hides /Users/pieter/Library/Application Support/Emacs/site-lisp/company-mode-master/company-abbrev
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-worksheet hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-worksheet
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-websocket hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-websocket
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-utils hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-utils
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-traceback hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-traceback
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-subpackages hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-subpackages
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-smartrep hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-smartrep
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-shared-output hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-shared-output
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-scratchsheet hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-scratchsheet
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-query hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-query
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-pytools hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-pytools
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-python hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-python
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-pseudo-console hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-pseudo-console
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-pkg hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-pkg
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-pager hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-pager
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-output-area hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-output-area
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-org hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-org
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-notification hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-notification
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-notebooklist hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-notebooklist
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-notebook hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-notebook
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-node hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-node
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-multilang hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-multilang
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-multilang-fontify hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-multilang-fontify
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-log hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-log
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-kill-ring hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-kill-ring
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-kernelinfo hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-kernelinfo
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-kernel hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-kernel
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-ipynb-mode hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-ipynb-mode
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-iexec hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-iexec
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-helm hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-helm
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-events hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-events
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-dev hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-dev
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-core hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-core
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-console hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-console
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-connect hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-connect
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-completer hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-completer
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-cell hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-cell
/Users/pieter/.emacs.d/elpa/ein-20191216.1849/ein-ac hides /Users/pieter/Library/Application Support/Emacs/site-lisp/emacs-ipython-notebook/ein-ac
/Users/pieter/.emacs.d/elpa/tabbar-20180726.1735/tabbar hides /Users/pieter/Library/Application Support/Emacs/site-lisp/tabbar/tabbar
/Users/pieter/Library/Application Support/Emacs/site-lisp/vcard hides /Users/pieter/Library/Application Support/Emacs/site-lisp/vm-trunk/lisp/vcard

Features:
(shadow emacsbug vm-edit cl-print debug backtrace bbdb-message nnir sort
smiley gnus-cite mail-extr gnus-async gnus-bcklg qp gnus-ml disp-table
nndraft nnmh gnutls nnfolder bbdb-gnus network-stream nsm gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu
mml2015 mm-view mml-smime smime dig nntp gnus-cache gnus-sum url
url-proxy url-privacy url-expand url-methods url-history mailcap shr
url-cookie url-domsuf url-util svg xml gnus-group gnus-undo gnus-start
gnus-cloud nnimap netrc nnoo gnus-spec gnus-win misearch multi-isearch
bug-reference magit-extras 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
magit-core magit-autorevert magit-margin magit-transient magit-process
magit-mode transient git-commit magit-git magit-section magit-utils
log-edit pcvs-util add-log with-editor async-bytecomp async tapestry
latexenc preview prv-emacs noutline outline font-latex tex-mode cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs autorevert filenotify autoconf autoconf-mode make-mode vm-save
vm-sort vm-pcrisis vm-w3m mailalias nnmail gnus-int gnus-range
mail-source vm-pine vm-rfaddons vm-undo vm-minibuf bbdb-vm vm-message
vm-macro vm-virtual vm-summary-faces vm-pop utf7 vm-imap vm-thread
vm-mouse vm-toolbar vm-menu vm-crypto vm-summary bbdb-mua vm vc-git
diff-mode sh-script smie executable server wgrep smartparens-config
smartparens-text smartparens-python smartparens-latex smartparens-html
smartparens rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse
rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln
nxml-rap sgml-mode dom nxml-util nxml-enc xmltok multiple-cursors
mc-hide-unmatched-lines-mode mc-separate-operations
rectangular-region-mode mc-mark-pop mc-mark-more mc-cycle-cursors
mc-edit-lines multiple-cursors-core rect flycheck-pos-tip pos-tip
flycheck find-func dash yasnippet-classic-snippets yasnippet-snippets
cl-extra yasnippet highlight-indentation company-capf company pcase
help-fns radix-tree help-mode 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 s elpy-refactor python tramp-sh
tramp tramp-loaddefs trampver tramp-integration tramp-compat shell
pcomplete parse-time iso8601 ls-lisp ido grep files-x etags fileloop
generator xref project cus-edit info-look auctex-latexmk tex-buf latex
easy-mmode edmacro kmacro latex-flymake flymake-proc flymake compile
comint ansi-color ring warnings thingatpt tex-ispell tex-style tex ediff
ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init
ediff-util isend bbdb-vcard bbdb-com crm vcard bbdb bbdb-site
bbdb-loaddefs message-x message rmc puny format-spec rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader cl w3m doc-view image-mode exif timezone w3m-hist w3m-fb
bookmark-w3m w3m-ems w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util
smtpmail sendmail vm-pgg vm-motion vm-reply vm-mime vm-page vm-window
vm-folder vm-misc pgg pgg-parse pgg-def vm-autoloads vm-version vm-vars
epa-file epa derived epg epg-config dired-x dired dired-loaddefs neotree
advice recentf tree-widget undo-tree diff flyspell ispell so-long
exec-path-from-shell jka-compr paren gnus nnheader gnus-util rmail
rmail-loaddefs rfc2047 rfc2045 ietf-drums text-property-search time-date
mail-utils mm-util mail-prsvr wid-edit elec-pair time delsel cus-start
cus-load finder-inf desktop frameset tex-site rx info package easymenu
browse-url url-handlers url-parse auth-source cl-seq eieio eieio-core
cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq
byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/ns-win
ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset
image regexp-opt fringe tabulated-list replace newcomment text-mode
elisp-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core term/tty-colors frame minibuffer cl-generic
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote threads kqueue cocoa ns
lcms2 multi-tty make-network-process emacs)

Memory information:
((conses 16 862661 161798)
 (symbols 48 62781 52)
 (strings 32 215700 16800)
 (string-bytes 1 6942830)
 (vectors 16 123385)
 (vector-slots 8 2523208 103736)
 (floats 8 509 882)
 (intervals 56 49527 2819)
 (buffers 1000 181))

[RMS-email-with-unprintable-characters (application/octet-stream, attachment)]
[Message part 3 (text/plain, inline)]
-- 
Pieter van Oostrum <pieter <at> vanoostrum.org>
www: http://pieter.vanoostrum.org/
PGP key: [8DAE142BE17999C4]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38955; Package emacs. (Thu, 20 Aug 2020 14:40:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Pieter van Oostrum <pieter <at> vanoostrum.org>
Cc: 38955 <at> debbugs.gnu.org
Subject: Re: bug#38955: 27.0.50; message-send-mail fails on non-printable
 characters in header
Date: Thu, 20 Aug 2020 16:39:08 +0200
Pieter van Oostrum <pieter <at> vanoostrum.org> writes:

> 1) Reply to the attached email message in gnus.
> 2) Send the message (C-c C-c)
>
> Emacs gives an error
> cl--assertion-failed: Assertion failed: (save-excursion (goto-char (point-min)) (not (re-search-forward "[^.-ÿ]" nil t)))
> which isn't helpful at all.

[...]

> The error is caused by a header with unprintable characters. The raw header is:
> To: =?iso-8859-1?Q?=E7=A9=8D=E4=B8=B9=E5=B0=BC?= Dan Jacobson
>  <jidanni <at> jidanni.org>
> which translates to unprintable characters.

[...]

> I propose that the same choice is given to the user when these
> characters appear in the header. This means the test should also be
> done in message-fix-before-sending().

I've now done this in Emacs 28.

> Another suggestion: Can an additional choice be given to replace the
> offending characters with an escaped representation, for example url
> encoding?

Yeah, that makes sense.  Perhaps URL encoding is the most widely
understood (i.e., %hex for the byte).

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




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 20 Aug 2020 14:43:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 28.1, send any further explanations to 38955 <at> debbugs.gnu.org and Pieter van Oostrum <pieter <at> vanoostrum.org> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 20 Aug 2020 14:43:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 18 Sep 2020 11:24:08 GMT) Full text and rfc822 format available.

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

Previous Next


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