unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* 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).