* bug#22754: 25.1.50; Rmail does not follow RFC 2822 @ 2016-02-21 10:28 Marcin Borkowski 2016-02-21 15:42 ` Andy Moreton ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Marcin Borkowski @ 2016-02-21 10:28 UTC (permalink / raw) To: 22754 Dear Devs, Rmail inserts lower-case field names in the header, which goes against RFC 2822 (pp. 22 and 23, see https://tools.ietf.org/html/rfc2822#page-22). It seems that the problem affects Cc: and In-reply-to: fields. Below is a simple patch which seems to help. Best, mbork --8<---------------cut here---------------start------------->8--- diff -u --label /home/mbork/ludzie-works/emacs/emacs/lisp/mail/rmail.el --label \#\<buffer\ rmail.el\> /home/mbork/ludzie-works/emacs/emacs/lisp/mail/rmail.el /tmp/buffer-content-1903Vxh --- /home/mbork/ludzie-works/emacs/emacs/lisp/mail/rmail.el +++ #<buffer rmail.el> @@ -3699,8 +3699,8 @@ ;; point and mark (see doc of sc-cite-original). (setq yank-action `(rmail-yank-current-message ,replybuffer))) - (push (cons "cc" cc) other-headers) - (push (cons "in-reply-to" in-reply-to) other-headers) + (push (cons "Cc" cc) other-headers) + (push (cons "In-reply-to" in-reply-to) other-headers) (setq other-headers (mapcar #'(lambda (elt) (cons (car elt) (if (stringp (cdr elt)) Diff finished. Sun Feb 21 11:24:47 2016 --8<---------------cut here---------------end--------------->8--- In GNU Emacs 25.1.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.28) of 2016-02-10 built on jane Repository revision: 4ccd2688911b90bcb8cdcd2a8de608e09471a91a Windowing system distributor 'Fedora Project', version 11.0.11704000 Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GSETTINGS NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK2 X11 Important settings: value of $LC_COLLATE: pl_PL.UTF-8 value of $LC_CTYPE: pl_PL.UTF-8 value of $LC_MESSAGES: pl_PL.UTF-8 value of $LANG: pl_PL.UTF-8 value of $XMODIFIERS: @im=none locale-coding-system: utf-8-unix Major mode: Diff Minor modes in effect: whitespace-mode: t semantic-minor-modes-format: ((:eval (if (or semantic-highlight-edits-mode semantic-show-unmatched-syntax-mode) S))) diff-auto-refine-mode: t global-git-commit-mode: t shell-dirtrack-mode: t beeminder-org-integration-mode: t TeX-PDF-mode: t pdf-occur-global-minor-mode: t yas-global-mode: t yas-minor-mode: t savehist-mode: t ivy-mode: t show-paren-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 blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t line-number-mode: t transient-mark-mode: t Recent messages: Contacting host: debbugs.gnu.org:80 Wrote /tmp/debbugs19037cV/bug_18590.mbox Counting messages...done Showing message 16...done Computing summary lines...done Showing message 1...done (New file) Mark set [4 times] You can run the command ‘diff-buffer-with-file’ with M-x d-b-w RET Mark set [2 times] Load-path shadows: ~/works/marcin/emacs/my-scrolls hides ~/.emacs.d/my-el-files/my-scrolls ~/works/marcin/emacs/org-insert-habit hides ~/.emacs.d/my-el-files/org-insert-habit ~/works/marcin/emacs/magic-tex-dollar hides ~/.emacs.d/my-el-files/magic-tex-dollar ~/works/marcin/emacs/zero-to-hyphen hides ~/.emacs.d/my-el-files/zero-to-hyphen ~/works/marcin/emacs/jumping-tab hides ~/.emacs.d/my-el-files/jumping-tab ~/works/marcin/emacs/ppauza hides ~/.emacs.d/my-el-files/ppauza ~/works/marcin/emacs/tie hides ~/.emacs.d/my-el-files/tie ~/ludzie-works/emacs/sierotki hides ~/.emacs.d/contrib/sierotki ~/ludzie-works/emacs/org-reveal/ox-reveal hides ~/.emacs.d/contrib/ox-reveal ~/.emacs.d/contrib/org-learn hides ~/ludzie-works/emacs/org-mode/contrib/lisp/org-learn ~/.emacs.d/contrib/org-drill hides ~/ludzie-works/emacs/org-mode/contrib/lisp/org-drill ~/ludzie-works/emacs/dired-details+ hides /home/mbork/.emacs.d/elpa/dired-details+-1.0/dired-details+ ~/ludzie-works/emacs/dired-details hides /home/mbork/.emacs.d/elpa/dired-details-1.3.1/dired-details ~/ludzie-works/emacs/org-mode/contrib/lisp/htmlize hides /home/mbork/.emacs.d/elpa/htmlize-1.39/htmlize ~/works/marcin/emacs/pascal hides /usr/local/share/emacs/25.1.50/lisp/progmodes/pascal ~/ludzie-works/emacs/org-mode/lisp/org-capture hides /usr/local/share/emacs/25.1.50/lisp/org/org-capture ~/ludzie-works/emacs/org-mode/lisp/ob-ledger hides /usr/local/share/emacs/25.1.50/lisp/org/ob-ledger ~/ludzie-works/emacs/org-mode/lisp/ox-man hides /usr/local/share/emacs/25.1.50/lisp/org/ox-man ~/ludzie-works/emacs/org-mode/lisp/ob-shen hides /usr/local/share/emacs/25.1.50/lisp/org/ob-shen ~/ludzie-works/emacs/org-mode/lisp/org-ctags hides /usr/local/share/emacs/25.1.50/lisp/org/org-ctags ~/ludzie-works/emacs/org-mode/lisp/org-eshell hides /usr/local/share/emacs/25.1.50/lisp/org/org-eshell ~/ludzie-works/emacs/org-mode/lisp/org-faces hides /usr/local/share/emacs/25.1.50/lisp/org/org-faces ~/ludzie-works/emacs/org-mode/lisp/ob-sass hides /usr/local/share/emacs/25.1.50/lisp/org/ob-sass ~/ludzie-works/emacs/org-mode/lisp/org-footnote hides /usr/local/share/emacs/25.1.50/lisp/org/org-footnote ~/ludzie-works/emacs/org-mode/lisp/org-macs hides /usr/local/share/emacs/25.1.50/lisp/org/org-macs ~/ludzie-works/emacs/org-mode/lisp/org-loaddefs hides /usr/local/share/emacs/25.1.50/lisp/org/org-loaddefs ~/ludzie-works/emacs/org-mode/lisp/ox-html hides /usr/local/share/emacs/25.1.50/lisp/org/ox-html ~/ludzie-works/emacs/org-mode/lisp/ob-plantuml hides /usr/local/share/emacs/25.1.50/lisp/org/ob-plantuml ~/ludzie-works/emacs/org-mode/lisp/ob-gnuplot hides /usr/local/share/emacs/25.1.50/lisp/org/ob-gnuplot ~/ludzie-works/emacs/org-mode/lisp/ob-io hides /usr/local/share/emacs/25.1.50/lisp/org/ob-io ~/ludzie-works/emacs/org-mode/lisp/ob-ruby hides /usr/local/share/emacs/25.1.50/lisp/org/ob-ruby ~/ludzie-works/emacs/org-mode/lisp/ob-mscgen hides /usr/local/share/emacs/25.1.50/lisp/org/ob-mscgen ~/ludzie-works/emacs/org-mode/lisp/ob-lilypond hides /usr/local/share/emacs/25.1.50/lisp/org/ob-lilypond ~/ludzie-works/emacs/org-mode/lisp/ob-maxima hides /usr/local/share/emacs/25.1.50/lisp/org/ob-maxima ~/ludzie-works/emacs/org-mode/lisp/ob-lob hides /usr/local/share/emacs/25.1.50/lisp/org/ob-lob ~/ludzie-works/emacs/org-mode/lisp/ob-comint hides /usr/local/share/emacs/25.1.50/lisp/org/ob-comint ~/ludzie-works/emacs/org-mode/lisp/ob-java hides /usr/local/share/emacs/25.1.50/lisp/org/ob-java ~/ludzie-works/emacs/org-mode/lisp/org-version hides /usr/local/share/emacs/25.1.50/lisp/org/org-version ~/ludzie-works/emacs/org-mode/lisp/org-bibtex hides /usr/local/share/emacs/25.1.50/lisp/org/org-bibtex ~/ludzie-works/emacs/org-mode/lisp/ox-latex hides /usr/local/share/emacs/25.1.50/lisp/org/ox-latex ~/ludzie-works/emacs/org-mode/lisp/ox-odt hides /usr/local/share/emacs/25.1.50/lisp/org/ox-odt ~/ludzie-works/emacs/org-mode/lisp/ob-table hides /usr/local/share/emacs/25.1.50/lisp/org/ob-table ~/ludzie-works/emacs/org-mode/lisp/org-crypt hides /usr/local/share/emacs/25.1.50/lisp/org/org-crypt ~/ludzie-works/emacs/org-mode/lisp/org-gnus hides /usr/local/share/emacs/25.1.50/lisp/org/org-gnus ~/ludzie-works/emacs/org-mode/lisp/ob-lisp hides /usr/local/share/emacs/25.1.50/lisp/org/ob-lisp ~/ludzie-works/emacs/org-mode/lisp/org-pcomplete hides /usr/local/share/emacs/25.1.50/lisp/org/org-pcomplete ~/ludzie-works/emacs/org-mode/lisp/org-rmail hides /usr/local/share/emacs/25.1.50/lisp/org/org-rmail ~/ludzie-works/emacs/org-mode/lisp/ob-core hides /usr/local/share/emacs/25.1.50/lisp/org/ob-core ~/ludzie-works/emacs/org-mode/lisp/ob-scala hides /usr/local/share/emacs/25.1.50/lisp/org/ob-scala ~/ludzie-works/emacs/org-mode/lisp/ox-md hides /usr/local/share/emacs/25.1.50/lisp/org/ox-md ~/ludzie-works/emacs/org-mode/lisp/ob-matlab hides /usr/local/share/emacs/25.1.50/lisp/org/ob-matlab ~/ludzie-works/emacs/org-mode/lisp/ox-icalendar hides /usr/local/share/emacs/25.1.50/lisp/org/ox-icalendar ~/ludzie-works/emacs/org-mode/lisp/ob-ref hides /usr/local/share/emacs/25.1.50/lisp/org/ob-ref ~/ludzie-works/emacs/org-mode/lisp/ox-ascii hides /usr/local/share/emacs/25.1.50/lisp/org/ox-ascii ~/ludzie-works/emacs/org-mode/lisp/ob-awk hides /usr/local/share/emacs/25.1.50/lisp/org/ob-awk ~/ludzie-works/emacs/org-mode/lisp/org-indent hides /usr/local/share/emacs/25.1.50/lisp/org/org-indent ~/ludzie-works/emacs/org-mode/lisp/org-mouse hides /usr/local/share/emacs/25.1.50/lisp/org/org-mouse ~/ludzie-works/emacs/org-mode/lisp/ox hides /usr/local/share/emacs/25.1.50/lisp/org/ox ~/ludzie-works/emacs/org-mode/lisp/ob-latex hides /usr/local/share/emacs/25.1.50/lisp/org/ob-latex ~/ludzie-works/emacs/org-mode/lisp/ob-eval hides /usr/local/share/emacs/25.1.50/lisp/org/ob-eval ~/ludzie-works/emacs/org-mode/lisp/ob-calc hides /usr/local/share/emacs/25.1.50/lisp/org/ob-calc ~/ludzie-works/emacs/org-mode/lisp/ob-tangle hides /usr/local/share/emacs/25.1.50/lisp/org/ob-tangle ~/ludzie-works/emacs/org-mode/lisp/ob-picolisp hides /usr/local/share/emacs/25.1.50/lisp/org/ob-picolisp ~/ludzie-works/emacs/org-mode/lisp/org-attach hides /usr/local/share/emacs/25.1.50/lisp/org/org-attach ~/ludzie-works/emacs/org-mode/lisp/org-entities hides /usr/local/share/emacs/25.1.50/lisp/org/org-entities ~/ludzie-works/emacs/org-mode/lisp/org-compat hides /usr/local/share/emacs/25.1.50/lisp/org/org-compat ~/ludzie-works/emacs/org-mode/lisp/org-src hides /usr/local/share/emacs/25.1.50/lisp/org/org-src ~/ludzie-works/emacs/org-mode/lisp/ox-beamer hides /usr/local/share/emacs/25.1.50/lisp/org/ox-beamer ~/ludzie-works/emacs/org-mode/lisp/ox-org hides /usr/local/share/emacs/25.1.50/lisp/org/ox-org ~/ludzie-works/emacs/org-mode/lisp/ob-screen hides /usr/local/share/emacs/25.1.50/lisp/org/ob-screen ~/ludzie-works/emacs/org-mode/lisp/org-mobile hides /usr/local/share/emacs/25.1.50/lisp/org/org-mobile ~/ludzie-works/emacs/org-mode/lisp/ob-ocaml hides /usr/local/share/emacs/25.1.50/lisp/org/ob-ocaml ~/ludzie-works/emacs/org-mode/lisp/ob-fortran hides /usr/local/share/emacs/25.1.50/lisp/org/ob-fortran ~/ludzie-works/emacs/org-mode/lisp/org-bbdb hides /usr/local/share/emacs/25.1.50/lisp/org/org-bbdb ~/ludzie-works/emacs/org-mode/lisp/ob-emacs-lisp hides /usr/local/share/emacs/25.1.50/lisp/org/ob-emacs-lisp ~/ludzie-works/emacs/org-mode/lisp/org-habit hides /usr/local/share/emacs/25.1.50/lisp/org/org-habit ~/ludzie-works/emacs/org-mode/lisp/org-irc hides /usr/local/share/emacs/25.1.50/lisp/org/org-irc ~/ludzie-works/emacs/org-mode/lisp/org-w3m hides /usr/local/share/emacs/25.1.50/lisp/org/org-w3m ~/ludzie-works/emacs/org-mode/lisp/ob-js hides /usr/local/share/emacs/25.1.50/lisp/org/ob-js ~/ludzie-works/emacs/org-mode/lisp/ob-R hides /usr/local/share/emacs/25.1.50/lisp/org/ob-R ~/ludzie-works/emacs/org-mode/lisp/org-colview hides /usr/local/share/emacs/25.1.50/lisp/org/org-colview ~/ludzie-works/emacs/org-mode/lisp/ob-dot hides /usr/local/share/emacs/25.1.50/lisp/org/ob-dot ~/ludzie-works/emacs/org-mode/lisp/org-list hides /usr/local/share/emacs/25.1.50/lisp/org/org-list ~/ludzie-works/emacs/org-mode/lisp/ob-sqlite hides /usr/local/share/emacs/25.1.50/lisp/org/ob-sqlite ~/ludzie-works/emacs/org-mode/lisp/ob-keys hides /usr/local/share/emacs/25.1.50/lisp/org/ob-keys ~/ludzie-works/emacs/org-mode/lisp/ox-publish hides /usr/local/share/emacs/25.1.50/lisp/org/ox-publish ~/ludzie-works/emacs/org-mode/lisp/ob-asymptote hides /usr/local/share/emacs/25.1.50/lisp/org/ob-asymptote ~/ludzie-works/emacs/org-mode/lisp/org-timer hides /usr/local/share/emacs/25.1.50/lisp/org/org-timer ~/ludzie-works/emacs/org-mode/lisp/ob-ditaa hides /usr/local/share/emacs/25.1.50/lisp/org/ob-ditaa ~/ludzie-works/emacs/org-mode/lisp/org-id hides /usr/local/share/emacs/25.1.50/lisp/org/org-id ~/ludzie-works/emacs/org-mode/lisp/org-macro hides /usr/local/share/emacs/25.1.50/lisp/org/org-macro ~/ludzie-works/emacs/org-mode/lisp/org-mhe hides /usr/local/share/emacs/25.1.50/lisp/org/org-mhe ~/ludzie-works/emacs/org-mode/lisp/ob-haskell hides /usr/local/share/emacs/25.1.50/lisp/org/ob-haskell ~/ludzie-works/emacs/org-mode/lisp/org-datetree hides /usr/local/share/emacs/25.1.50/lisp/org/org-datetree ~/ludzie-works/emacs/org-mode/lisp/ob-C hides /usr/local/share/emacs/25.1.50/lisp/org/ob-C ~/ludzie-works/emacs/org-mode/lisp/ob-sql hides /usr/local/share/emacs/25.1.50/lisp/org/ob-sql ~/ludzie-works/emacs/org-mode/lisp/org hides /usr/local/share/emacs/25.1.50/lisp/org/org ~/ludzie-works/emacs/org-mode/lisp/ob-octave hides /usr/local/share/emacs/25.1.50/lisp/org/ob-octave ~/ludzie-works/emacs/org-mode/lisp/ob-perl hides /usr/local/share/emacs/25.1.50/lisp/org/ob-perl ~/ludzie-works/emacs/org-mode/lisp/ob-css hides /usr/local/share/emacs/25.1.50/lisp/org/ob-css ~/ludzie-works/emacs/org-mode/lisp/ob-clojure hides /usr/local/share/emacs/25.1.50/lisp/org/ob-clojure ~/ludzie-works/emacs/org-mode/lisp/org-archive hides /usr/local/share/emacs/25.1.50/lisp/org/org-archive ~/ludzie-works/emacs/org-mode/lisp/ox-texinfo hides /usr/local/share/emacs/25.1.50/lisp/org/ox-texinfo ~/ludzie-works/emacs/org-mode/lisp/ob-org hides /usr/local/share/emacs/25.1.50/lisp/org/ob-org ~/ludzie-works/emacs/org-mode/lisp/ob-exp hides /usr/local/share/emacs/25.1.50/lisp/org/ob-exp ~/ludzie-works/emacs/org-mode/lisp/org-agenda hides /usr/local/share/emacs/25.1.50/lisp/org/org-agenda ~/ludzie-works/emacs/org-mode/lisp/org-feed hides /usr/local/share/emacs/25.1.50/lisp/org/org-feed ~/ludzie-works/emacs/org-mode/lisp/org-info hides /usr/local/share/emacs/25.1.50/lisp/org/org-info ~/ludzie-works/emacs/org-mode/lisp/org-plot hides /usr/local/share/emacs/25.1.50/lisp/org/org-plot ~/ludzie-works/emacs/org-mode/lisp/org-install hides /usr/local/share/emacs/25.1.50/lisp/org/org-install ~/ludzie-works/emacs/org-mode/lisp/org-inlinetask hides /usr/local/share/emacs/25.1.50/lisp/org/org-inlinetask ~/ludzie-works/emacs/org-mode/lisp/org-docview hides /usr/local/share/emacs/25.1.50/lisp/org/org-docview ~/ludzie-works/emacs/org-mode/lisp/ob hides /usr/local/share/emacs/25.1.50/lisp/org/ob ~/ludzie-works/emacs/org-mode/lisp/org-protocol hides /usr/local/share/emacs/25.1.50/lisp/org/org-protocol ~/ludzie-works/emacs/org-mode/lisp/ob-scheme hides /usr/local/share/emacs/25.1.50/lisp/org/ob-scheme ~/ludzie-works/emacs/org-mode/lisp/ob-makefile hides /usr/local/share/emacs/25.1.50/lisp/org/ob-makefile ~/ludzie-works/emacs/org-mode/lisp/org-table hides /usr/local/share/emacs/25.1.50/lisp/org/org-table ~/ludzie-works/emacs/org-mode/lisp/org-clock hides /usr/local/share/emacs/25.1.50/lisp/org/org-clock ~/ludzie-works/emacs/org-mode/lisp/ob-python hides /usr/local/share/emacs/25.1.50/lisp/org/ob-python ~/ludzie-works/emacs/org-mode/lisp/org-element hides /usr/local/share/emacs/25.1.50/lisp/org/org-element /home/mbork/.emacs.d/elpa/emms-20141202.1202/tq hides /usr/local/share/emacs/25.1.50/lisp/emacs-lisp/tq Features: (shadow emacsbug whitespace find-dired grep magit-extras org-table face-remap time view battery image-file two-column info-look tex+ ox-oddmuse diary-lib diary-loaddefs cal-iso iso-transl org-datetree quail tabify org-capture eww mm-url url-queue calc-map calc-alg calccomp calc-incom calc-ext calc-misc calc-menu calc-aent calc calc-loaddefs calc-macs cal-move context-en context pdf-sync pdf-annot pdf-outline pdf-links pdf-history ld-script plain-tex arc-mode archive-mode sh-script smie dired-aux epa-file ox-odt rng-loc rng-uri rng-parse rng-match rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-org ox-html ox-beamer ox-latex ox-publish ox shr-color dabbrev tmm diff counsel lispy swiper iedit iedit-lib lispy-inline avy semantic/bovine/el semantic/format semantic/tag-ls semantic/find semantic/ctxt semantic/db-el eieio-opt semantic/bovine semantic/db eieio-base etags ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff lispy-tags debug rmailsum rmailmm rmail rmail-loaddefs gnus-async gnus-agent gnus-srvr gnus-score score-mode nnvirtual nntp gnus-ml gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig nndoc gnus-cache gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader mm-archive network-stream nsm starttls url-cache debbugs-gnu debbugs soap-client warnings rng-xsd rng-dt rng-util xsd-regexp xml edebug pulse xref project vc-git texmathp multi-replace-regex vc vc-dispatcher vc-hg preview prv-emacs tex-buf adaptive-wrap font-latex latex tex-style tex-mode latexenc emms-volume emms-volume-amixer sgml-mode shr dom subr-x qp character-fold misearch multi-isearch timezone parse-time executable mail-extr sort em-unix em-term term disp-table ehelp em-script em-prompt em-ls em-hist em-pred em-glob em-dirs em-cmpl em-basic em-banner em-alias linum magit-blame magit-stash magit-bisect magit-remote magit-commit magit-sequence magit magit-log magit-apply magit-wip magit-diff smerge-mode diff-mode magit-core magit-process magit-popup magit-mode magit-git magit-section magit-utils git-commit log-edit pcvs-util add-log with-editor tramp-sh tramp tramp-compat tramp-loaddefs trampver ucs-normalize shell dash colir color beeminder ewoc anaphora request url-http tls gnutls url-auth url-gw puny url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap json map typopunct sierotki emms-cache emms-info-ogginfo emms-info-mp3info emms-info later-do emms-playlist-mode emms-player-vlc emms-player-mplayer emms-player-simple emms-source-playlist emms-source-file locate emms-setup emms emms-compat tex crm pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch let-alist pdf-misc imenu pdf-tools compile cus-edit cus-start cus-load wid-edit pdf-view bookmark pp pdf-cache pdf-info tq pdf-util yasnippet org-info org-habit org-agenda org-docview org-tree-slide org-timer org-drill savehist org-id hi-lock org-learn org-protocol org-clock ledger-mode ledger-schedule ledger-xact ledger-texi ledger-test ledger-state ledger-sort ledger-report ledger-reconcile ledger-post ledger-occur ledger-init ledger-fonts ledger-exec ledger-context ledger-complete ledger-commodities esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-groups eshell esh-module esh-mode esh-arg esh-util ledger-regex rx hydra lv gnus-dired org-mu4e org-element avl-tree org org-macro org-footnote org-pcomplete pcomplete org-list org-faces org-entities noutline outline easy-mmode org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval org-compat org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs mu4e-contrib mu4e mu4e-speedbar speedbar sb-image ezimage dframe mu4e-main mu4e-view epa derived browse-url comint ansi-color ring mu4e-headers mu4e-compose mu4e-draft mu4e-actions ido seq rfc2368 smtpmail sendmail mu4e-mark mu4e-message html2text mu4e-proc mu4e-utils doc-view jka-compr image-mode mu4e-lists mu4e-vars message format-spec rfc822 mml mml-sec epg mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev mail-utils gmm-utils mailheader hl-line cl mu4e-meta advice ivy delsel ffap thingatpt edmacro kmacro server dired-x dired dired-loaddefs paren finder-inf adaptive-wrap-autoloads tex-site dired+-autoloads dired-details+-autoloads dired-details-autoloads dired-dups-autoloads dired-efap-autoloads f-autoloads flycheck-autoloads git-gutter-fringe-autoloads fringe-helper-autoloads git-gutter-autoloads htmlize-autoloads markdown-mode-autoloads epl-autoloads js2-mode-autoloads typopunct-autoloads info dash-autoloads package epg-config url-handlers url-parse auth-source cl-seq eieio byte-opt bytecomp byte-compile cl-extra cconv eieio-core cl-macs gv eieio-loaddefs gnus-util mm-util help-fns help-mode easymenu cl-loaddefs pcase cl-lib mail-prsvr password-cache url-vars time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core 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 charscript 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 inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 1902618 307752) (symbols 48 84830 0) (miscs 40 9524 8402) (strings 32 361040 88925) (string-bytes 1 19365990) (vectors 16 113961) (vector-slots 8 2518261 72620) (floats 8 39348 7747) (intervals 56 128934 1174) (buffers 976 204) (heap 1024 160373 36304)) -- Marcin Borkowski http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski Faculty of Mathematics and Computer Science Adam Mickiewicz University ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#22754: 25.1.50; Rmail does not follow RFC 2822 2016-02-21 10:28 bug#22754: 25.1.50; Rmail does not follow RFC 2822 Marcin Borkowski @ 2016-02-21 15:42 ` Andy Moreton 2016-02-21 16:01 ` Eli Zaretskii 2016-02-26 17:43 ` Glenn Morris 2 siblings, 0 replies; 11+ messages in thread From: Andy Moreton @ 2016-02-21 15:42 UTC (permalink / raw) To: 22754 On Sun 21 Feb 2016, Marcin Borkowski wrote: > Dear Devs, > > Rmail inserts lower-case field names in the header, which goes against > RFC 2822 (pp. 22 and 23, see > https://tools.ietf.org/html/rfc2822#page-22). It seems that the problem > affects Cc: and In-reply-to: fields. Below is a simple patch which > seems to help. > > Best, > mbork > > diff -u --label /home/mbork/ludzie-works/emacs/emacs/lisp/mail/rmail.el --label \#\<buffer\ rmail.el\> /home/mbork/ludzie-works/emacs/emacs/lisp/mail/rmail.el /tmp/buffer-content-1903Vxh > --- /home/mbork/ludzie-works/emacs/emacs/lisp/mail/rmail.el > +++ #<buffer rmail.el> > @@ -3699,8 +3699,8 @@ > ;; point and mark (see doc of sc-cite-original). > (setq yank-action > `(rmail-yank-current-message ,replybuffer))) > - (push (cons "cc" cc) other-headers) > - (push (cons "in-reply-to" in-reply-to) other-headers) > + (push (cons "Cc" cc) other-headers) > + (push (cons "In-reply-to" in-reply-to) other-headers) This should be "In-Reply-To" as described in RFC 2822 section 3.6.4. > (setq other-headers > (mapcar #'(lambda (elt) > (cons (car elt) (if (stringp (cdr elt)) > > Diff finished. Sun Feb 21 11:24:47 2016 ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#22754: 25.1.50; Rmail does not follow RFC 2822 2016-02-21 10:28 bug#22754: 25.1.50; Rmail does not follow RFC 2822 Marcin Borkowski 2016-02-21 15:42 ` Andy Moreton @ 2016-02-21 16:01 ` Eli Zaretskii 2016-02-22 18:14 ` Glenn Morris 2016-02-26 17:43 ` Glenn Morris 2 siblings, 1 reply; 11+ messages in thread From: Eli Zaretskii @ 2016-02-21 16:01 UTC (permalink / raw) To: Marcin Borkowski; +Cc: 22754 > From: Marcin Borkowski <mbork@mbork.pl> > Date: Sun, 21 Feb 2016 11:28:27 +0100 > > Rmail inserts lower-case field names in the header, which goes against > RFC 2822 (pp. 22 and 23, see > https://tools.ietf.org/html/rfc2822#page-22). It seems that the problem > affects Cc: and In-reply-to: fields. I use Rmail all the time, and these headers are capitalized in my reply messages. So please provide a recipe starting from "emacs -Q", there could be some other factor at work here. Thanks. ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#22754: 25.1.50; Rmail does not follow RFC 2822 2016-02-21 16:01 ` Eli Zaretskii @ 2016-02-22 18:14 ` Glenn Morris 2016-02-22 19:23 ` Eli Zaretskii 2016-02-22 20:13 ` Marcin Borkowski 0 siblings, 2 replies; 11+ messages in thread From: Glenn Morris @ 2016-02-22 18:14 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Marcin Borkowski, 22754 Eli Zaretskii wrote: >> From: Marcin Borkowski <mbork@mbork.pl> >> Date: Sun, 21 Feb 2016 11:28:27 +0100 >> >> Rmail inserts lower-case field names in the header, which goes against >> RFC 2822 (pp. 22 and 23, see >> https://tools.ietf.org/html/rfc2822#page-22). It seems that the problem >> affects Cc: and In-reply-to: fields. > > I use Rmail all the time, and these headers are capitalized in my > reply messages. So please provide a recipe starting from "emacs -Q", > there could be some other factor at work here. I assume it was a theoretical analysis... With sendmail-user-agent, mail-setup inserts "Cc" and "In-reply-to" directly (apparently the latter should be "In-Reply-To"?), ignoring the case passed via other-headers. With message-user-agent, message-mail explicitly uses capitalize on all headers. I suppose there's no guarantee that some other mail-user-agent won't use the headers as supplied, but perhaps that would be a bug in the user-agent? ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#22754: 25.1.50; Rmail does not follow RFC 2822 2016-02-22 18:14 ` Glenn Morris @ 2016-02-22 19:23 ` Eli Zaretskii 2016-02-22 20:13 ` Marcin Borkowski 1 sibling, 0 replies; 11+ messages in thread From: Eli Zaretskii @ 2016-02-22 19:23 UTC (permalink / raw) To: Glenn Morris; +Cc: mbork, 22754 > From: Glenn Morris <rgm@gnu.org> > Cc: Marcin Borkowski <mbork@mbork.pl>, 22754@debbugs.gnu.org > Date: Mon, 22 Feb 2016 13:14:53 -0500 > > Eli Zaretskii wrote: > > >> From: Marcin Borkowski <mbork@mbork.pl> > >> Date: Sun, 21 Feb 2016 11:28:27 +0100 > >> > >> Rmail inserts lower-case field names in the header, which goes against > >> RFC 2822 (pp. 22 and 23, see > >> https://tools.ietf.org/html/rfc2822#page-22). It seems that the problem > >> affects Cc: and In-reply-to: fields. > > > > I use Rmail all the time, and these headers are capitalized in my > > reply messages. So please provide a recipe starting from "emacs -Q", > > there could be some other factor at work here. > > I assume it was a theoretical analysis... > > With sendmail-user-agent, mail-setup inserts "Cc" and "In-reply-to" > directly (apparently the latter should be "In-Reply-To"?), ignoring the > case passed via other-headers. > > With message-user-agent, message-mail explicitly uses capitalize on all > headers. Yes, that's exactly what I saw. > I suppose there's no guarantee that some other mail-user-agent won't use > the headers as supplied, but perhaps that would be a bug in the > user-agent? If that's the problem, I think we can safely close this bug (perhaps after fixing the "In-reply-to" letter-case). ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#22754: 25.1.50; Rmail does not follow RFC 2822 2016-02-22 18:14 ` Glenn Morris 2016-02-22 19:23 ` Eli Zaretskii @ 2016-02-22 20:13 ` Marcin Borkowski 2016-02-23 0:09 ` Glenn Morris 1 sibling, 1 reply; 11+ messages in thread From: Marcin Borkowski @ 2016-02-22 20:13 UTC (permalink / raw) To: Glenn Morris; +Cc: 22754-done On 2016-02-22, at 19:14, Glenn Morris <rgm@gnu.org> wrote: > Eli Zaretskii wrote: > >>> From: Marcin Borkowski <mbork@mbork.pl> >>> Date: Sun, 21 Feb 2016 11:28:27 +0100 >>> >>> Rmail inserts lower-case field names in the header, which goes against >>> RFC 2822 (pp. 22 and 23, see >>> https://tools.ietf.org/html/rfc2822#page-22). It seems that the problem >>> affects Cc: and In-reply-to: fields. >> >> I use Rmail all the time, and these headers are capitalized in my >> reply messages. So please provide a recipe starting from "emacs -Q", >> there could be some other factor at work here. > > I assume it was a theoretical analysis... > > With sendmail-user-agent, mail-setup inserts "Cc" and "In-reply-to" > directly (apparently the latter should be "In-Reply-To"?), ignoring the > case passed via other-headers. > > With message-user-agent, message-mail explicitly uses capitalize on all > headers. > > I suppose there's no guarantee that some other mail-user-agent won't use > the headers as supplied, but perhaps that would be a bug in the > user-agent? Glenn, you mean what I did was theoretical analysis or what Eli did...? For me, it was a real problem: I use mu4e as my email client, and it didn't do the capitalization. It is quite probable that it's mu4e's bug, since indeed I could not reproduce it on emacs -Q (without mu4e). It seems that your email saved me some analysis - you're right, `message-mail' does the capitalization indeed. When I have time (probably Wednesday or Thursday), I'll propose a patch to the author of mu4e. For now, I'm closing this bug. Nevertheless, I still think it is a bit sloppy: it looks like Emacs depends on the incidental fact that all header field names are capitalized, but AFAIU this is not a rule stated explicitly in RFC2822, but just (it seems) a convention they have adopted. IOW, in the (unlikely of course - now /this/ is theoretical analysis!) case when RFC2822 is superseded by another one, not adhering to this convention, Emacs users will be in trouble, or, as a (not very elegant;-)) Polish saying goes, "va qnex ohgg" (rot13'd since possibly NSFW). ;-) Thanks and best regards -- Marcin Borkowski http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski Faculty of Mathematics and Computer Science Adam Mickiewicz University ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#22754: 25.1.50; Rmail does not follow RFC 2822 2016-02-22 20:13 ` Marcin Borkowski @ 2016-02-23 0:09 ` Glenn Morris 2016-02-23 12:58 ` Marcin Borkowski 0 siblings, 1 reply; 11+ messages in thread From: Glenn Morris @ 2016-02-23 0:09 UTC (permalink / raw) To: Marcin Borkowski; +Cc: 22754 Marcin Borkowski wrote: >>>> Rmail inserts lower-case field names in the header, which goes against >>>> RFC 2822 (pp. 22 and 23, see [...] > For me, it was a real problem: I use mu4e as my email client, and it > didn't do the capitalization. But mu4e does not use any rmail functions (it would be weird if it did). So why did a mu4e problem make you think there was an issue with rmail.el? ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#22754: 25.1.50; Rmail does not follow RFC 2822 2016-02-23 0:09 ` Glenn Morris @ 2016-02-23 12:58 ` Marcin Borkowski 0 siblings, 0 replies; 11+ messages in thread From: Marcin Borkowski @ 2016-02-23 12:58 UTC (permalink / raw) To: Glenn Morris; +Cc: 22754 On 2016-02-23, at 01:09, Glenn Morris <rgm@gnu.org> wrote: > Marcin Borkowski wrote: > >>>>> Rmail inserts lower-case field names in the header, which goes against >>>>> RFC 2822 (pp. 22 and 23, see > [...] >> For me, it was a real problem: I use mu4e as my email client, and it >> didn't do the capitalization. > > But mu4e does not use any rmail functions (it would be weird if it did). > So why did a mu4e problem make you think there was an issue with rmail.el? The other way round: rmail launches whatever `mail-user-agent' points to, in my case it's `mu4e-user-agent'. Best, -- Marcin Borkowski http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski Faculty of Mathematics and Computer Science Adam Mickiewicz University ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#22754: 25.1.50; Rmail does not follow RFC 2822 2016-02-21 10:28 bug#22754: 25.1.50; Rmail does not follow RFC 2822 Marcin Borkowski 2016-02-21 15:42 ` Andy Moreton 2016-02-21 16:01 ` Eli Zaretskii @ 2016-02-26 17:43 ` Glenn Morris 2016-02-26 18:17 ` Marcin Borkowski 2 siblings, 1 reply; 11+ messages in thread From: Glenn Morris @ 2016-02-26 17:43 UTC (permalink / raw) To: 22754; +Cc: Marcin Borkowski, andrewjmoreton Marcin Borkowski wrote: > Rmail inserts lower-case field names in the header, which goes against > RFC 2822 (pp. 22 and 23, see > https://tools.ietf.org/html/rfc2822#page-22). Andy Moreton wrote: > This should be "In-Reply-To" as described in RFC 2822 section 3.6.4. Going back to this, what exactly are you referring to in the RFC? All I can find on the subject of case is an explicit statement that values are case insensitive (as one would expect): 1.2.2. Syntactic notation Characters will be specified either by a decimal value (e.g., the value %d65 for uppercase A and %d97 for lowercase A) or by a case-insensitive literal value enclosed in quotation marks (e.g., "A" for either uppercase or lowercase So the fact they happen to write "In-Reply-To" implies nothing about case. ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#22754: 25.1.50; Rmail does not follow RFC 2822 2016-02-26 17:43 ` Glenn Morris @ 2016-02-26 18:17 ` Marcin Borkowski 2016-02-28 3:04 ` Glenn Morris 0 siblings, 1 reply; 11+ messages in thread From: Marcin Borkowski @ 2016-02-26 18:17 UTC (permalink / raw) To: Glenn Morris; +Cc: andrewjmoreton, 22754 On 2016-02-26, at 18:43, Glenn Morris <rgm@gnu.org> wrote: > Marcin Borkowski wrote: > >> Rmail inserts lower-case field names in the header, which goes against >> RFC 2822 (pp. 22 and 23, see >> https://tools.ietf.org/html/rfc2822#page-22). > > Andy Moreton wrote: > >> This should be "In-Reply-To" as described in RFC 2822 section 3.6.4. > > Going back to this, what exactly are you referring to in the RFC? > All I can find on the subject of case is an explicit statement that > values are case insensitive (as one would expect): I've been told that if it is not stated explicitly that field names are case-insensitive, they are not, and their names should nit be changed in any way. > 1.2.2. Syntactic notation > > Characters will be specified either by a decimal value (e.g., the value > %d65 for uppercase A and %d97 for lowercase A) or by a case-insensitive > literal value enclosed in quotation marks (e.g., "A" for either > uppercase or lowercase > > So the fact they happen to write "In-Reply-To" implies nothing about case. Seems it does. Best, -- Marcin Borkowski http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski Faculty of Mathematics and Computer Science Adam Mickiewicz University ^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#22754: 25.1.50; Rmail does not follow RFC 2822 2016-02-26 18:17 ` Marcin Borkowski @ 2016-02-28 3:04 ` Glenn Morris 0 siblings, 0 replies; 11+ messages in thread From: Glenn Morris @ 2016-02-28 3:04 UTC (permalink / raw) To: Marcin Borkowski; +Cc: andrewjmoreton, 22754 Marcin Borkowski wrote: > I've been told that if it is not stated explicitly that field names are > case-insensitive, they are not, and their names should nit be changed in > any way. > >> 1.2.2. Syntactic notation >> >> Characters will be specified either by a decimal value (e.g., the value >> %d65 for uppercase A and %d97 for lowercase A) or by a case-insensitive >> literal value enclosed in quotation marks (e.g., "A" for either >> uppercase or lowercase There's nothing in the RFC that supports what you were told. Where it says anything, it says the opposite, as I cited. The situation is the same in the later RFC 5322. See also the more explicit RFC 5234: ABNF strings are case insensitive and the character set for these strings is US-ASCII. [...] To specify a rule that is case sensitive, specify the characters individually. Any sane mail app should be prepared for "CC:", "Cc:", "cc:", or even "cC:". ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2016-02-28 3:04 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-02-21 10:28 bug#22754: 25.1.50; Rmail does not follow RFC 2822 Marcin Borkowski 2016-02-21 15:42 ` Andy Moreton 2016-02-21 16:01 ` Eli Zaretskii 2016-02-22 18:14 ` Glenn Morris 2016-02-22 19:23 ` Eli Zaretskii 2016-02-22 20:13 ` Marcin Borkowski 2016-02-23 0:09 ` Glenn Morris 2016-02-23 12:58 ` Marcin Borkowski 2016-02-26 17:43 ` Glenn Morris 2016-02-26 18:17 ` Marcin Borkowski 2016-02-28 3:04 ` Glenn Morris
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).