aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorGlenn Morris2019-02-20 12:07:22 -0800
committerGlenn Morris2019-02-20 12:07:22 -0800
commit83a9133e35827c1edbd8bf24a17ffa3b4bfb7be3 (patch)
tree11d2812db4a9ee4e66976b3a5f1e5ecbe52b4955 /lisp
parentae77728d14e58054bdaee3c6965979947c778208 (diff)
parentff9c9620794e5fe5692cfd3badd207aac78921cb (diff)
downloademacs-83a9133e35827c1edbd8bf24a17ffa3b4bfb7be3.tar.gz
emacs-83a9133e35827c1edbd8bf24a17ffa3b4bfb7be3.zip
Merge from origin/emacs-26
ff9c962 ; * lisp/ldefs-boot.el: Update. b4a251c * ; ChangeLog.3 update d3104e3 * etc/AUTHORS: Update. a19bfb7 Remove .art from the default list of ImageMagick extensions 6985caa Fix input after setting x-wait-for-event-timeout nil 715388a Fix two warnings in eshell.texi d49cdd9 * lisp/minibuffer.el (completion-table-dynamic): Improve docs... 5dc4e51 * lisp/emacs-lisp/debug.el (debug-on-variable-change): Doc fi... 76ef805 Fix a typo in ELisp manual b5e66f4 Update citations of Internet RFCs 57ece2a Fix handling of manpage references divided by hyphenation 7ad0cd6 * doc/misc/eshell.texi: Fix some @ref's. 12b7940 Fix a typo in lispref/syntax.texi # Conflicts: # lisp/gnus/nnrss.el # lisp/mail/ietf-drums.el
Diffstat (limited to 'lisp')
-rw-r--r--lisp/calendar/parse-time.el2
-rw-r--r--lisp/emacs-lisp/debug.el2
-rw-r--r--lisp/gnus/gnus-cite.el2
-rw-r--r--lisp/gnus/gnus-util.el2
-rw-r--r--lisp/gnus/message.el16
-rw-r--r--lisp/gnus/mm-bodies.el2
-rw-r--r--lisp/gnus/nnrss.el6
-rw-r--r--lisp/image.el4
-rw-r--r--lisp/ldefs-boot.el19
-rw-r--r--lisp/mail/feedmail.el8
-rw-r--r--lisp/mail/ietf-drums.el10
-rw-r--r--lisp/mail/mail-extr.el31
-rw-r--r--lisp/mail/mail-utils.el4
-rw-r--r--lisp/mail/mailclient.el2
-rw-r--r--lisp/mail/mailheader.el2
-rw-r--r--lisp/mail/rfc2047.el8
-rw-r--r--lisp/mail/rfc822.el6
-rw-r--r--lisp/mail/rmail.el18
-rw-r--r--lisp/mail/sendmail.el9
-rw-r--r--lisp/mail/smtpmail.el7
-rw-r--r--lisp/mail/supercite.el6
-rw-r--r--lisp/man.el21
-rw-r--r--lisp/mh-e/mh-e.el18
-rw-r--r--lisp/mh-e/mh-utils.el4
-rw-r--r--lisp/minibuffer.el14
-rw-r--r--lisp/net/imap.el18
-rw-r--r--lisp/net/newst-backend.el4
-rw-r--r--lisp/org/org-id.el6
-rw-r--r--lisp/ps-samp.el4
-rw-r--r--lisp/simple.el2
-rw-r--r--lisp/url/url-util.el3
31 files changed, 141 insertions, 119 deletions
diff --git a/lisp/calendar/parse-time.el b/lisp/calendar/parse-time.el
index fb05a6c55d4..93e7e53b6ab 100644
--- a/lisp/calendar/parse-time.el
+++ b/lisp/calendar/parse-time.el
@@ -147,7 +147,7 @@ letters, digits, plus or minus signs or colons."
147;;;###autoload 147;;;###autoload
148(defun parse-time-string (string) 148(defun parse-time-string (string)
149 "Parse the time-string STRING into (SEC MIN HOUR DAY MON YEAR DOW DST TZ). 149 "Parse the time-string STRING into (SEC MIN HOUR DAY MON YEAR DOW DST TZ).
150STRING should be on something resembling an RFC2822 string, a la 150STRING should be something resembling an RFC 822 (or later) date-time, e.g.,
151\"Fri, 25 Mar 2016 16:24:56 +0100\", but this function is 151\"Fri, 25 Mar 2016 16:24:56 +0100\", but this function is
152somewhat liberal in what format it accepts, and will attempt to 152somewhat liberal in what format it accepts, and will attempt to
153return a \"likely\" value even for somewhat malformed strings. 153return a \"likely\" value even for somewhat malformed strings.
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index b0ede3b6bbc..8989aa07196 100644
--- a/lisp/emacs-lisp/debug.el
+++ b/lisp/emacs-lisp/debug.el
@@ -744,7 +744,7 @@ This function is called when SYMBOL's value is modified."
744 744
745When called interactively, prompt for VARIABLE in the minibuffer. 745When called interactively, prompt for VARIABLE in the minibuffer.
746 746
747This works by calling `add-variable-watch' on VARIABLE. If you 747This works by calling `add-variable-watcher' on VARIABLE. If you
748quit from the debugger, this will abort the change (unless the 748quit from the debugger, this will abort the change (unless the
749change is caused by the termination of a let-binding). 749change is caused by the termination of a let-binding).
750 750
diff --git a/lisp/gnus/gnus-cite.el b/lisp/gnus/gnus-cite.el
index d572f22f00d..2216d4a0420 100644
--- a/lisp/gnus/gnus-cite.el
+++ b/lisp/gnus/gnus-cite.el
@@ -92,7 +92,7 @@ The first regexp group should match the Supercite attribution."
92;; -----Original Message----- 92;; -----Original Message-----
93;; From: ... 93;; From: ...
94;; To: ... 94;; To: ...
95;; Sent: ... [date, in non-RFC-2822 format] 95;; Sent: ... [date, in non-RFC-822-or-later format]
96;; Subject: ... 96;; Subject: ...
97;; 97;;
98;; Cited message, with no prefixes 98;; Cited message, with no prefixes
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index ca1466d630b..d570f78347b 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -139,7 +139,7 @@ This is a compatibility function for different Emacsen."
139 139
140(defun gnus-extract-address-components (from) 140(defun gnus-extract-address-components (from)
141 "Extract address components from a From header. 141 "Extract address components from a From header.
142Given an RFC-822 address FROM, extract full name and canonical address. 142Given an RFC-822 (or later) address FROM, extract name and address.
143Returns a list of the form (FULL-NAME CANONICAL-ADDRESS). Much more simple 143Returns a list of the form (FULL-NAME CANONICAL-ADDRESS). Much more simple
144solution than `mail-header-parse-address', which works much better, but 144solution than `mail-header-parse-address', which works much better, but
145is slower." 145is slower."
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index b0674525a86..00853379400 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -1285,10 +1285,9 @@ called and its result is inserted."
1285 (goto-char (point-min)) 1285 (goto-char (point-min))
1286 (let ((case-fold-search nil)) 1286 (let ((case-fold-search nil))
1287 (re-search-forward "^OR\\>" nil t)))) 1287 (re-search-forward "^OR\\>" nil t))))
1288 ;; According to RFC822, "The field-name must be composed of printable 1288 ;; According to RFC 822 and its successors, the field name must
1289 ;; ASCII characters (i. e., characters that have decimal values between 1289 ;; consist of printable US-ASCII characters other than colon,
1290 ;; 33 and 126, except colon)", i. e., any chars except ctl chars, 1290 ;; i.e., decimal 33-56 and 59-126.
1291 ;; space, or colon.
1292 '(looking-at "[ \t]\\|[][!\"#$%&'()*+,-./0-9;<=>?@A-Z\\\\^_`a-z{|}~]+:")) 1291 '(looking-at "[ \t]\\|[][!\"#$%&'()*+,-./0-9;<=>?@A-Z\\\\^_`a-z{|}~]+:"))
1293 "Set this non-nil if the system's mailer runs the header and body together. 1292 "Set this non-nil if the system's mailer runs the header and body together.
1294\(This problem exists on Sunos 4 when sendmail is run in remote mode.) 1293\(This problem exists on Sunos 4 when sendmail is run in remote mode.)
@@ -1791,8 +1790,8 @@ You must have the \"hashcash\" binary installed, see `hashcash-path'."
1791 (concat 1790 (concat
1792 "From " 1791 "From "
1793 1792
1794 ;; Many things can happen to an RFC 822 mailbox before it is put into 1793 ;; Many things can happen to an RFC 822 (or later) mailbox before it is
1795 ;; a `From' line. The leading phrase can be stripped, e.g. 1794 ;; put into a `From' line. The leading phrase can be stripped, e.g.
1796 ;; `Joe <@w.x:joe@y.z>' -> `<@w.x:joe@y.z>'. The <> can be stripped, e.g. 1795 ;; `Joe <@w.x:joe@y.z>' -> `<@w.x:joe@y.z>'. The <> can be stripped, e.g.
1797 ;; `<@x.y:joe@y.z>' -> `@x.y:joe@y.z'. Everything starting with a CRLF 1796 ;; `<@x.y:joe@y.z>' -> `@x.y:joe@y.z'. Everything starting with a CRLF
1798 ;; can be removed, e.g. 1797 ;; can be removed, e.g.
@@ -5732,7 +5731,7 @@ In posting styles use `(\"Expires\" (make-expires-date 30))'."
5732 (insert fullname) 5731 (insert fullname)
5733 (goto-char (point-min)) 5732 (goto-char (point-min))
5734 ;; Look for a character that cannot appear unquoted 5733 ;; Look for a character that cannot appear unquoted
5735 ;; according to RFC 822. 5734 ;; according to RFC 822 (or later).
5736 (when (re-search-forward "[^- !#-'*+/-9=?A-Z^-~]" nil 1) 5735 (when (re-search-forward "[^- !#-'*+/-9=?A-Z^-~]" nil 1)
5737 ;; Quote fullname, escaping specials. 5736 ;; Quote fullname, escaping specials.
5738 (goto-char (point-min)) 5737 (goto-char (point-min))
@@ -5746,8 +5745,7 @@ In posting styles use `(\"Expires\" (make-expires-date 30))'."
5746 (let ((fullname-start (point))) 5745 (let ((fullname-start (point)))
5747 (insert fullname) 5746 (insert fullname)
5748 (goto-char fullname-start) 5747 (goto-char fullname-start)
5749 ;; RFC 822 says \ and nonmatching parentheses 5748 ;; \ and nonmatching parentheses must be escaped in comments.
5750 ;; must be escaped in comments.
5751 ;; Escape every instance of ()\ ... 5749 ;; Escape every instance of ()\ ...
5752 (while (re-search-forward "[()\\]" nil 1) 5750 (while (re-search-forward "[()\\]" nil 1)
5753 (replace-match "\\\\\\&" t)) 5751 (replace-match "\\\\\\&" t))
diff --git a/lisp/gnus/mm-bodies.el b/lisp/gnus/mm-bodies.el
index 73305a159d9..e1e1a12cc59 100644
--- a/lisp/gnus/mm-bodies.el
+++ b/lisp/gnus/mm-bodies.el
@@ -35,7 +35,7 @@
35;; BS, vertical TAB, form feed, and ^_ 35;; BS, vertical TAB, form feed, and ^_
36;; 36;;
37;; Note that CR is *not* included, as that would allow a non-paired CR 37;; Note that CR is *not* included, as that would allow a non-paired CR
38;; in the body contrary to RFC 2822: 38;; in the body contrary to RFC 822 (or later):
39;; 39;;
40;; - CR and LF MUST only occur together as CRLF; they MUST NOT 40;; - CR and LF MUST only occur together as CRLF; they MUST NOT
41;; appear independently in the body. 41;; appear independently in the body.
diff --git a/lisp/gnus/nnrss.el b/lisp/gnus/nnrss.el
index 6a475966641..7f2accc2b66 100644
--- a/lisp/gnus/nnrss.el
+++ b/lisp/gnus/nnrss.el
@@ -446,16 +446,16 @@ nnrss: %s: Not valid XML %s and libxml-parse-html-region doesn't work %s"
446(autoload 'timezone-parse-date "timezone") 446(autoload 'timezone-parse-date "timezone")
447 447
448(defun nnrss-normalize-date (date) 448(defun nnrss-normalize-date (date)
449 "Return a date string of DATE in the RFC822 style. 449 "Return a date string of DATE in the style of RFC 822 and its successors.
450This function handles the ISO 8601 date format described in 450This function handles the ISO 8601 date format described in
451URL `http://www.w3.org/TR/NOTE-datetime', and also the RFC822 style 451URL `http://www.w3.org/TR/NOTE-datetime', and also the RFC 822 style
452which RSS 2.0 allows." 452which RSS 2.0 allows."
453 (let (case-fold-search vector year month day time zone cts given) 453 (let (case-fold-search vector year month day time zone cts given)
454 (cond ((null date)) ; do nothing for this case 454 (cond ((null date)) ; do nothing for this case
455 ;; if the date is just digits (unix time stamp): 455 ;; if the date is just digits (unix time stamp):
456 ((string-match "^[0-9]+$" date) 456 ((string-match "^[0-9]+$" date)
457 (setq given (encode-time (string-to-number date)))) 457 (setq given (encode-time (string-to-number date))))
458 ;; RFC822 458 ;; RFC 822
459 ((string-match " [0-9]+ " date) 459 ((string-match " [0-9]+ " date)
460 (setq vector (timezone-parse-date date) 460 (setq vector (timezone-parse-date date)
461 year (string-to-number (aref vector 0))) 461 year (string-to-number (aref vector 0)))
diff --git a/lisp/image.el b/lisp/image.el
index 3aa3b0aa240..c66440c86e7 100644
--- a/lisp/image.el
+++ b/lisp/image.el
@@ -925,7 +925,7 @@ has no effect."
925 :version "24.3") 925 :version "24.3")
926 926
927(defcustom imagemagick-enabled-types 927(defcustom imagemagick-enabled-types
928 '(3FR ART ARW AVS BMP BMP2 BMP3 CAL CALS CMYK CMYKA CR2 CRW 928 '(3FR ARW AVS BMP BMP2 BMP3 CAL CALS CMYK CMYKA CR2 CRW
929 CUR CUT DCM DCR DCX DDS DJVU DNG DPX EXR FAX FITS GBR GIF 929 CUR CUT DCM DCR DCX DDS DJVU DNG DPX EXR FAX FITS GBR GIF
930 GIF87 GRB HRZ ICB ICO ICON J2C JNG JP2 JPC JPEG JPG JPX K25 930 GIF87 GRB HRZ ICB ICO ICON J2C JNG JP2 JPC JPEG JPG JPX K25
931 KDC MIFF MNG MRW MSL MSVG MTV NEF ORF OTB PBM PCD PCDS PCL 931 KDC MIFF MNG MRW MSL MSVG MTV NEF ORF OTB PBM PCD PCDS PCL
@@ -959,7 +959,7 @@ has no effect."
959 :set (lambda (symbol value) 959 :set (lambda (symbol value)
960 (set-default symbol value) 960 (set-default symbol value)
961 (imagemagick-register-types)) 961 (imagemagick-register-types))
962 :version "24.3") 962 :version "26.2") ; remove ART (bug#22289)
963 963
964(imagemagick-register-types) 964(imagemagick-register-types)
965 965
diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el
index a6c7669c70c..dfaaa71b712 100644
--- a/lisp/ldefs-boot.el
+++ b/lisp/ldefs-boot.el
@@ -6854,7 +6854,7 @@ Trigger a debugger invocation when VARIABLE is changed.
6854 6854
6855When called interactively, prompt for VARIABLE in the minibuffer. 6855When called interactively, prompt for VARIABLE in the minibuffer.
6856 6856
6857This works by calling `add-variable-watch' on VARIABLE. If you 6857This works by calling `add-variable-watcher' on VARIABLE. If you
6858quit from the debugger, this will abort the change (unless the 6858quit from the debugger, this will abort the change (unless the
6859change is caused by the termination of a let-binding). 6859change is caused by the termination of a let-binding).
6860 6860
@@ -19472,9 +19472,10 @@ the current value of `kmacro-counter').
19472 19472
19473When used during defining/executing a macro, inserts the current value 19473When used during defining/executing a macro, inserts the current value
19474of `kmacro-counter' and increments the counter value by ARG (or by 1 if no 19474of `kmacro-counter' and increments the counter value by ARG (or by 1 if no
19475prefix argument). With just \\[universal-argument], inserts the current value 19475prefix argument). With just \\[universal-argument], inserts the previous
19476of `kmacro-counter', but does not modify the counter; this is the 19476value of `kmacro-counter', and does not modify the counter; this is
19477same as incrementing the counter by zero. 19477different from incrementing the counter by zero. (The previous value
19478of the counter is the one it had before the last increment.)
19478 19479
19479The macro counter can be set directly via \\[kmacro-set-counter] and \\[kmacro-add-counter]. 19480The macro counter can be set directly via \\[kmacro-set-counter] and \\[kmacro-add-counter].
19480The format of the inserted value of the counter can be controlled 19481The format of the inserted value of the counter can be controlled
@@ -20157,7 +20158,8 @@ and then select the region of un-tablified names and use
20157;;; Generated autoloads from mail/mail-extr.el 20158;;; Generated autoloads from mail/mail-extr.el
20158 20159
20159(autoload 'mail-extract-address-components "mail-extr" "\ 20160(autoload 'mail-extract-address-components "mail-extr" "\
20160Given an RFC-822 address ADDRESS, extract full name and canonical address. 20161Extract full name and canonical address from ADDRESS.
20162ADDRESS should be in RFC 822 (or later) format.
20161Returns a list of the form (FULL-NAME CANONICAL-ADDRESS). If no 20163Returns a list of the form (FULL-NAME CANONICAL-ADDRESS). If no
20162name can be extracted, FULL-NAME will be nil. Also see 20164name can be extracted, FULL-NAME will be nil. Also see
20163`mail-extr-ignore-single-names' and 20165`mail-extr-ignore-single-names' and
@@ -20248,7 +20250,7 @@ This function normally would be called when the message is sent.
20248;;; Generated autoloads from mail/mail-utils.el 20250;;; Generated autoloads from mail/mail-utils.el
20249 20251
20250(defvar mail-use-rfc822 nil "\ 20252(defvar mail-use-rfc822 nil "\
20251If non-nil, use a full, hairy RFC822 parser on mail addresses. 20253If non-nil, use a full, hairy RFC 822 (or later) parser on mail addresses.
20252Otherwise, (the default) use a smaller, somewhat faster, and 20254Otherwise, (the default) use a smaller, somewhat faster, and
20253often correct parser.") 20255often correct parser.")
20254 20256
@@ -24925,7 +24927,7 @@ matching parenthesis is highlighted in `show-paren-style' after
24925 24927
24926(autoload 'parse-time-string "parse-time" "\ 24928(autoload 'parse-time-string "parse-time" "\
24927Parse the time-string STRING into (SEC MIN HOUR DAY MON YEAR DOW DST TZ). 24929Parse the time-string STRING into (SEC MIN HOUR DAY MON YEAR DOW DST TZ).
24928STRING should be on something resembling an RFC2822 string, a la 24930STRING should be something resembling an RFC 822 (or later) date-time, e.g.,
24929\"Fri, 25 Mar 2016 16:24:56 +0100\", but this function is 24931\"Fri, 25 Mar 2016 16:24:56 +0100\", but this function is
24930somewhat liberal in what format it accepts, and will attempt to 24932somewhat liberal in what format it accepts, and will attempt to
24931return a \"likely\" value even for somewhat malformed strings. 24933return a \"likely\" value even for somewhat malformed strings.
@@ -30047,7 +30049,7 @@ Otherwise, let mailer send back a message to report errors.")
30047(defvar send-mail-function (if (and (boundp 'smtpmail-smtp-server) smtpmail-smtp-server) 'smtpmail-send-it 'sendmail-query-once) "\ 30049(defvar send-mail-function (if (and (boundp 'smtpmail-smtp-server) smtpmail-smtp-server) 'smtpmail-send-it 'sendmail-query-once) "\
30048Function to call to send the current buffer as mail. 30050Function to call to send the current buffer as mail.
30049The headers should be delimited by a line which is 30051The headers should be delimited by a line which is
30050not a valid RFC822 header or continuation line, 30052not a valid RFC 822 (or later) header or continuation line,
30051that matches the variable `mail-header-separator'. 30053that matches the variable `mail-header-separator'.
30052This is used by the default mail-sending commands. See also 30054This is used by the default mail-sending commands. See also
30053`message-send-mail-function' for use with the Message package.") 30055`message-send-mail-function' for use with the Message package.")
@@ -34215,6 +34217,7 @@ Return a string giving the duration of the Emacs initialization.
34215 34217
34216(autoload 'date-to-time "time-date" "\ 34218(autoload 'date-to-time "time-date" "\
34217Parse a string DATE that represents a date-time and return a time value. 34219Parse a string DATE that represents a date-time and return a time value.
34220DATE should be in one of the forms recognized by `parse-time-string'.
34218If DATE lacks timezone information, GMT is assumed. 34221If DATE lacks timezone information, GMT is assumed.
34219 34222
34220\(fn DATE)" nil nil) 34223\(fn DATE)" nil nil)
diff --git a/lisp/mail/feedmail.el b/lisp/mail/feedmail.el
index 2b63343239b..ff178241a90 100644
--- a/lisp/mail/feedmail.el
+++ b/lisp/mail/feedmail.el
@@ -561,7 +561,7 @@ but common in some proprietary systems."
561;; maybe some distant mail system needs it. Really, though, if you 561;; maybe some distant mail system needs it. Really, though, if you
562;; want a sender line in your mail, just put one in there and don't 562;; want a sender line in your mail, just put one in there and don't
563;; wait for feedmail to do it for you. (Yes, I know all about 563;; wait for feedmail to do it for you. (Yes, I know all about
564;; RFC-822 and RFC-1123, but are you *really* one of those cases 564;; RFC-822-or-later and RFC-1123, but are you *really* one of those cases
565;; they're talking about? I doubt it.) 565;; they're talking about? I doubt it.)
566(defcustom feedmail-sender-line nil 566(defcustom feedmail-sender-line nil
567 "If non-nil and the email has no Sender: header, use this value. 567 "If non-nil and the email has no Sender: header, use this value.
@@ -787,7 +787,7 @@ cases the name element of the fiddle-plex is ignored and is hardwired
787by feedmail to either \"Date\" or \"Resent-Date\". 787by feedmail to either \"Date\" or \"Resent-Date\".
788 788
789If you decide to format your own date field, do us all a favor and know 789If you decide to format your own date field, do us all a favor and know
790what you're doing. Study the relevant parts of RFC-822 and RFC-1123. 790what you're doing. Study the relevant parts of RFC-822-or-later and RFC-1123.
791Don't make me come up there! 791Don't make me come up there!
792 792
793You should let feedmail generate a Date: for you unless you are sure 793You should let feedmail generate a Date: for you unless you are sure
@@ -1514,7 +1514,7 @@ function, for example, to archive all of your sent messages someplace
1514 1514
1515 1515
1516(defvar feedmail-is-a-resend nil 1516(defvar feedmail-is-a-resend nil
1517 "Non-nil means the message is a Resend (in the RFC-822 sense). 1517 "Non-nil means the message is a Resend (in the RFC-822-or-later sense).
1518This affects the composition of certain headers. feedmail sets this 1518This affects the composition of certain headers. feedmail sets this
1519variable as soon as it starts prepping the message text buffer, so any 1519variable as soon as it starts prepping the message text buffer, so any
1520user-supplied functions can rely on it. Users shouldn't set or change this 1520user-supplied functions can rely on it. Users shouldn't set or change this
@@ -2443,7 +2443,7 @@ mapped to mostly alphanumerics for safety."
2443 2443
2444 (let ((case-fold-search t) (addr-regexp)) 2444 (let ((case-fold-search t) (addr-regexp))
2445 (goto-char (point-min)) 2445 (goto-char (point-min))
2446 ;; There are some RFC-822 combinations/cases missed here, 2446 ;; There are some RFC-822-or-later combinations/cases missed here,
2447 ;; but probably good enough and what users expect. 2447 ;; but probably good enough and what users expect.
2448 ;; 2448 ;;
2449 ;; Use resent-* stuff only if there is at least one non-empty one. 2449 ;; Use resent-* stuff only if there is at least one non-empty one.
diff --git a/lisp/mail/ietf-drums.el b/lisp/mail/ietf-drums.el
index 81377c9c41a..29752cb5c28 100644
--- a/lisp/mail/ietf-drums.el
+++ b/lisp/mail/ietf-drums.el
@@ -1,4 +1,4 @@
1;;; ietf-drums.el --- Functions for parsing RFC822bis headers -*- lexical-binding:t -*- 1;;; ietf-drums.el --- Functions for parsing RFC 2822 headers -*- lexical-binding:t -*-
2 2
3;; Copyright (C) 1998-2019 Free Software Foundation, Inc. 3;; Copyright (C) 1998-2019 Free Software Foundation, Inc.
4 4
@@ -20,10 +20,10 @@
20 20
21;;; Commentary: 21;;; Commentary:
22 22
23;; DRUMS is an IETF Working Group that works (or worked) on the 23;; DRUMS is an IETF Working Group that worked on Internet RFC 2822,
24;; successor to RFC822, "Standard For The Format Of Arpa Internet Text 24;; the successor to RFC 822 and the predecessor of RFC 5322. This
25;; Messages". This library is based on 25;; library is based on draft-ietf-drums-msg-fmt-05.txt, released on
26;; draft-ietf-drums-msg-fmt-05.txt, released on 1998-08-05. 26;; 1998-08-05.
27 27
28;; Pending a real regression self test suite, Simon Josefsson added 28;; Pending a real regression self test suite, Simon Josefsson added
29;; various self test expressions snipped from bug reports, and their 29;; various self test expressions snipped from bug reports, and their
diff --git a/lisp/mail/mail-extr.el b/lisp/mail/mail-extr.el
index 1b650c9aed9..ae849d7b62b 100644
--- a/lisp/mail/mail-extr.el
+++ b/lisp/mail/mail-extr.el
@@ -1,4 +1,4 @@
1;;; mail-extr.el --- extract full name and address from RFC 822 mail header 1;;; mail-extr.el --- extract full name and address from email header
2 2
3;; Copyright (C) 1991-1994, 1997, 2001-2019 Free Software Foundation, 3;; Copyright (C) 1991-1994, 1997, 2001-2019 Free Software Foundation,
4;; Inc. 4;; Inc.
@@ -29,15 +29,15 @@
29;; 29;;
30;; mail-extract-address-components: (address &optional all) 30;; mail-extract-address-components: (address &optional all)
31;; 31;;
32;; Given an RFC-822 ADDRESS, extract full name and canonical address. 32;; Given an RFC-822-or-later ADDRESS, extract name and address.
33;; Returns a list of the form (FULL-NAME CANONICAL-ADDRESS). 33;; Returns a list of the form (FULL-NAME CANONICAL-ADDRESS).
34;; If no name can be extracted, FULL-NAME will be nil. 34;; If no name can be extracted, FULL-NAME will be nil.
35;; ADDRESS may be a string or a buffer. If it is a buffer, the visible 35;; ADDRESS may be a string or a buffer. If it is a buffer, the visible
36;; (narrowed) portion of the buffer will be interpreted as the address. 36;; (narrowed) portion of the buffer will be interpreted as the address.
37;; (This feature exists so that the clever caller might be able to avoid 37;; (This feature exists so that the clever caller might be able to avoid
38;; consing a string.) 38;; consing a string.)
39;; If ADDRESS contains more than one RFC-822 address, only the first is 39;; If ADDRESS contains more than one RFC-822-or-later address, only
40;; returned. 40;; the first is returned.
41;; 41;;
42;; If ALL is non-nil, that means return info about all the addresses 42;; If ALL is non-nil, that means return info about all the addresses
43;; that are found in ADDRESS. The value is a list of elements of 43;; that are found in ADDRESS. The value is a list of elements of
@@ -149,7 +149,7 @@
149;; * Handle "null" addresses. Handle = used for spacing in mailbox 149;; * Handle "null" addresses. Handle = used for spacing in mailbox
150;; name. Fix bug in handling of ROUTE-ADDR-type addresses that are 150;; name. Fix bug in handling of ROUTE-ADDR-type addresses that are
151;; missing their brackets. Handle uppercase "JR". Extract full 151;; missing their brackets. Handle uppercase "JR". Extract full
152;; names from X.400 addresses encoded in RFC-822. Fix bug in 152;; names from X.400 addresses encoded in RFC-822-or-later. Fix bug in
153;; handling of multiple addresses where first has trailing comment. 153;; handling of multiple addresses where first has trailing comment.
154;; Handle more kinds of telephone extension lead-ins. 154;; Handle more kinds of telephone extension lead-ins.
155;; 155;;
@@ -209,7 +209,7 @@
209 209
210 210
211(defgroup mail-extr nil 211(defgroup mail-extr nil
212 "Extract full name and address from RFC 822 mail header." 212 "Extract full name and address from RFC 822 (or later) mail header."
213 :prefix "mail-extr-" 213 :prefix "mail-extr-"
214 :group 'mail) 214 :group 'mail)
215 215
@@ -288,8 +288,9 @@ by translating things like \"foo!bar!baz@host\" into \"baz@bar.UUCP\"."
288(defconst mail-extr-all-letters-but-separators 288(defconst mail-extr-all-letters-but-separators
289 (purecopy "][[:alnum:]{|}'~`")) 289 (purecopy "][[:alnum:]{|}'~`"))
290 290
291;; Any character that can occur in a name in an RFC822 address including 291;; Any character that can occur in a name in an RFC 822 (or later)
292;; the separator (hyphen and possibly period) for multipart names. 292;; address including the separator (hyphen and possibly period) for
293;; multipart names.
293;; #### should . be in here? 294;; #### should . be in here?
294(defconst mail-extr-all-letters 295(defconst mail-extr-all-letters
295 (purecopy (concat mail-extr-all-letters-but-separators "---"))) 296 (purecopy (concat mail-extr-all-letters-but-separators "---")))
@@ -532,7 +533,8 @@ by translating things like \"foo!bar!baz@host\" into \"baz@bar.UUCP\"."
532 (?. ".") 533 (?. ".")
533 (?\[ ".") 534 (?\[ ".")
534 (?\] ".") 535 (?\] ".")
535 ;; % and ! aren't RFC822 characters, but it is convenient to pretend 536 ;; % and ! aren't RFC 822 (or later) characters,
537 ;; but it is convenient to pretend.
536 (?% ".") 538 (?% ".")
537 (?! ".") ;; this needs to be word-constituent when not in .UUCP mode 539 (?! ".") ;; this needs to be word-constituent when not in .UUCP mode
538 ) 540 )
@@ -697,7 +699,8 @@ Unless NO-REPLACE is true, at each of the positions in LIST-SYMBOL
697 699
698;;;###autoload 700;;;###autoload
699(defun mail-extract-address-components (address &optional all) 701(defun mail-extract-address-components (address &optional all)
700 "Given an RFC-822 address ADDRESS, extract full name and canonical address. 702 "Extract full name and canonical address from ADDRESS.
703ADDRESS should be in RFC 822 (or later) format.
701Returns a list of the form (FULL-NAME CANONICAL-ADDRESS). If no 704Returns a list of the form (FULL-NAME CANONICAL-ADDRESS). If no
702name can be extracted, FULL-NAME will be nil. Also see 705name can be extracted, FULL-NAME will be nil. Also see
703`mail-extr-ignore-single-names' and 706`mail-extr-ignore-single-names' and
@@ -936,10 +939,10 @@ non-display use, you should probably use
936 ;; Trim other punctuation lists of items outside < > pair to handle 939 ;; Trim other punctuation lists of items outside < > pair to handle
937 ;; stupid MTAs. 940 ;; stupid MTAs.
938 (when <-pos ; don't need to check >-pos also 941 (when <-pos ; don't need to check >-pos also
939 ;; handle bozo software that violates RFC 822 by sticking 942 ;; Handle bozo software that violates RFC 822 (or later)
940 ;; punctuation marks outside of a < > pair 943 ;; by sticking punctuation marks outside of a < > pair.
941 (mail-extr-nuke-outside-range @-pos <-pos >-pos t) 944 (mail-extr-nuke-outside-range @-pos <-pos >-pos t)
942 ;; RFC 822 says nothing about these two outside < >, but 945 ;; RFC 822 (or later) says nothing about these two outside < >, but
943 ;; remove those positions from the lists to make things 946 ;; remove those positions from the lists to make things
944 ;; easier. 947 ;; easier.
945 (mail-extr-nuke-outside-range !-pos <-pos >-pos t) 948 (mail-extr-nuke-outside-range !-pos <-pos >-pos t)
@@ -1325,7 +1328,7 @@ non-display use, you should probably use
1325 (narrow-to-region atom-beg atom-end) 1328 (narrow-to-region atom-beg atom-end)
1326 (cond 1329 (cond
1327 1330
1328 ;; Handle X.400 addresses encoded in RFC-822. 1331 ;; Handle X.400 addresses encoded in RFC 822 or later.
1329 ;; *** Shit! This has to handle the case where it is 1332 ;; *** Shit! This has to handle the case where it is
1330 ;; *** embedded in a quote too! 1333 ;; *** embedded in a quote too!
1331 ;; *** Shit! The input is being broken up into atoms 1334 ;; *** Shit! The input is being broken up into atoms
diff --git a/lisp/mail/mail-utils.el b/lisp/mail/mail-utils.el
index 61b972665eb..cbcbdfaeb2e 100644
--- a/lisp/mail/mail-utils.el
+++ b/lisp/mail/mail-utils.el
@@ -29,7 +29,7 @@
29 29
30;;;###autoload 30;;;###autoload
31(defcustom mail-use-rfc822 nil 31(defcustom mail-use-rfc822 nil
32 "If non-nil, use a full, hairy RFC822 parser on mail addresses. 32 "If non-nil, use a full, hairy RFC 822 (or later) parser on mail addresses.
33Otherwise, (the default) use a smaller, somewhat faster, and 33Otherwise, (the default) use a smaller, somewhat faster, and
34often correct parser." 34often correct parser."
35 :type 'boolean 35 :type 'boolean
@@ -384,7 +384,7 @@ The buffer should be narrowed to just the header."
384 (date (mail-fetch-field "date")) 384 (date (mail-fetch-field "date"))
385 ;; A From: header can contain multiple addresses, a "From " 385 ;; A From: header can contain multiple addresses, a "From "
386 ;; line must contain only one. (Bug#7760) 386 ;; line must contain only one. (Bug#7760)
387 ;; See eg RFC 5322, 3.6.2. Originator Fields. 387 ;; See, e.g., RFC 5322, 3.6.2. Originator Fields.
388 (end (string-match "[ \t]*[,\n]" from))) 388 (end (string-match "[ \t]*[,\n]" from)))
389 (format "From %s %s\n" (if end 389 (format "From %s %s\n" (if end
390 (substring from 0 end) 390 (substring from 0 end)
diff --git a/lisp/mail/mailclient.el b/lisp/mail/mailclient.el
index 5dd66ff8452..4d8cda10fff 100644
--- a/lisp/mail/mailclient.el
+++ b/lisp/mail/mailclient.el
@@ -152,7 +152,7 @@ The mail client is taken to be the handler of mailto URLs."
152 (setq character-coding (downcase character-coding))) 152 (setq character-coding (downcase character-coding)))
153 (concat 153 (concat
154 "mailto:" 154 "mailto:"
155 ;; some of the headers according to RFC822 155 ;; Some of the headers according to RFC 822 (or later).
156 (mailclient-gather-addresses "To" 156 (mailclient-gather-addresses "To"
157 'drop-first-name) 157 'drop-first-name)
158 (mailclient-gather-addresses "cc" ) 158 (mailclient-gather-addresses "cc" )
diff --git a/lisp/mail/mailheader.el b/lisp/mail/mailheader.el
index 0db4df063e3..936f53e96a5 100644
--- a/lisp/mail/mailheader.el
+++ b/lisp/mail/mailheader.el
@@ -23,7 +23,7 @@
23 23
24;;; Commentary: 24;;; Commentary:
25 25
26;; This package provides an abstraction to RFC822-style messages, used in 26;; This package provides an abstraction of RFC 822 (or later) format, used in
27;; mail, news, and some other systems. The simple syntactic rules for such 27;; mail, news, and some other systems. The simple syntactic rules for such
28;; headers, such as quoting and line folding, are routinely reimplemented 28;; headers, such as quoting and line folding, are routinely reimplemented
29;; in many individual packages. This package removes the need for this 29;; in many individual packages. This package removes the need for this
diff --git a/lisp/mail/rfc2047.el b/lisp/mail/rfc2047.el
index 95f9f8ce0ad..118ca8a4c9b 100644
--- a/lisp/mail/rfc2047.el
+++ b/lisp/mail/rfc2047.el
@@ -338,7 +338,7 @@ The buffer may be narrowed."
338 338
339;; Use this syntax table when parsing into regions that may need 339;; Use this syntax table when parsing into regions that may need
340;; encoding. Double quotes are string delimiters, backslash is 340;; encoding. Double quotes are string delimiters, backslash is
341;; character quoting, and all other RFC 2822 special characters are 341;; character quoting, and all other RFC 822 (or later) special characters are
342;; treated as punctuation so we can use forward-sexp/forward-word to 342;; treated as punctuation so we can use forward-sexp/forward-word to
343;; skip to the end of regions appropriately. Nb. ietf-drums does 343;; skip to the end of regions appropriately. Nb. ietf-drums does
344;; things differently. 344;; things differently.
@@ -366,7 +366,7 @@ The buffer may be narrowed."
366 366
367(defun rfc2047-encode-region (b e &optional dont-fold) 367(defun rfc2047-encode-region (b e &optional dont-fold)
368 "Encode words in region B to E that need encoding. 368 "Encode words in region B to E that need encoding.
369By default, the region is treated as containing RFC2822 addresses. 369By default, the region is treated as containing RFC 822 (or later) addresses.
370Dynamically bind `rfc2047-encoding-type' to change that." 370Dynamically bind `rfc2047-encoding-type' to change that."
371 (save-restriction 371 (save-restriction
372 (narrow-to-region b e) 372 (narrow-to-region b e)
@@ -403,7 +403,7 @@ Dynamically bind `rfc2047-encoding-type' to change that."
403 (with-syntax-table rfc2047-syntax-table 403 (with-syntax-table rfc2047-syntax-table
404 (goto-char (point-min)) 404 (goto-char (point-min))
405 (condition-case err ; in case of unbalanced quotes 405 (condition-case err ; in case of unbalanced quotes
406 ;; Look for rfc2822-style: sequences of atoms, quoted 406 ;; Look for RFC 822 (or later) style: sequences of atoms, quoted
407 ;; strings, specials, whitespace. (Specials mustn't be 407 ;; strings, specials, whitespace. (Specials mustn't be
408 ;; encoded.) 408 ;; encoded.)
409 (while (not (eobp)) 409 (while (not (eobp))
@@ -1025,7 +1025,7 @@ other than `\"' and `\\' in quoted strings."
1025 (replace-match " ")) 1025 (replace-match " "))
1026 (setq end (point-max)) 1026 (setq end (point-max))
1027 ;; Quote decoded words if there are special characters 1027 ;; Quote decoded words if there are special characters
1028 ;; which might violate RFC2822. 1028 ;; which might violate RFC 822 (or later).
1029 (when (and rfc2047-quote-decoded-words-containing-tspecials 1029 (when (and rfc2047-quote-decoded-words-containing-tspecials
1030 (let ((regexp (car (rassq 1030 (let ((regexp (car (rassq
1031 'address-mime 1031 'address-mime
diff --git a/lisp/mail/rfc822.el b/lisp/mail/rfc822.el
index 594416f12d7..a53a77e47ee 100644
--- a/lisp/mail/rfc822.el
+++ b/lisp/mail/rfc822.el
@@ -1,4 +1,4 @@
1;;; rfc822.el --- hairy rfc822 parser for mail and news and suchlike 1;;; rfc822.el --- hairy RFC 822 (or later) parser for mail, news, etc.
2 2
3;; Copyright (C) 1986-1987, 1990, 2001-2019 Free Software Foundation, 3;; Copyright (C) 1986-1987, 1990, 2001-2019 Free Software Foundation,
4;; Inc. 4;; Inc.
@@ -24,8 +24,8 @@
24 24
25;;; Commentary: 25;;; Commentary:
26 26
27;; Support functions for parsing RFC-822 headers, used by mail and news 27;; Support functions for parsing headers used by mail and news modes.
28;; modes. 28;; The header format is specified by Internet RFC 822 and its successors.
29 29
30;;; Code: 30;;; Code:
31 31
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 0f89e0e0386..36821e83e0d 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -779,8 +779,8 @@ The first parenthesized expression should match the MIME-charset name.")
779 (concat 779 (concat
780 "From " 780 "From "
781 781
782 ;; Many things can happen to an RFC 822 mailbox before it is put into 782 ;; Many things can happen to an RFC 822 (or later) mailbox before it is
783 ;; a `From' line. The leading phrase can be stripped, e.g. 783 ;; put into a `From' line. The leading phrase can be stripped, e.g.
784 ;; `Joe <@w.x:joe@y.z>' -> `<@w.x:joe@y.z>'. The <> can be stripped, e.g. 784 ;; `Joe <@w.x:joe@y.z>' -> `<@w.x:joe@y.z>'. The <> can be stripped, e.g.
785 ;; `<@x.y:joe@y.z>' -> `@x.y:joe@y.z'. Everything starting with a CRLF 785 ;; `<@x.y:joe@y.z>' -> `@x.y:joe@y.z'. Everything starting with a CRLF
786 ;; can be removed, e.g. 786 ;; can be removed, e.g.
@@ -1003,8 +1003,8 @@ If `rmail-display-summary' is non-nil, make a summary for this RMAIL file."
1003 "Report that the buffer is not in the mbox file format. 1003 "Report that the buffer is not in the mbox file format.
1004MSGNUM, if present, indicates the malformed message." 1004MSGNUM, if present, indicates the malformed message."
1005 (if msgnum 1005 (if msgnum
1006 (error "Message %d is not a valid RFC2822 message" msgnum) 1006 (error "Message %d is not a valid RFC 822 (or later) message" msgnum)
1007 (error "Message is not a valid RFC2822 message"))) 1007 (error "Message is not a valid RFC 822 (or later) message")))
1008 1008
1009(defun rmail-convert-babyl-to-mbox () 1009(defun rmail-convert-babyl-to-mbox ()
1010 "Convert the mail file from Babyl version 5 to mbox. 1010 "Convert the mail file from Babyl version 5 to mbox.
@@ -2148,9 +2148,9 @@ Call with point at the end of the message."
2148 (insert "\n"))) 2148 (insert "\n")))
2149 2149
2150(defun rmail-add-mbox-headers () 2150(defun rmail-add-mbox-headers ()
2151 "Validate the RFC2822 format for the new messages. 2151 "Validate the RFC 822 (or later) format for the new messages.
2152Point should be at the first new message. 2152Point should be at the first new message.
2153An error is signaled if the new messages are not RFC2822 2153An error is signaled if the new messages are not RFC 822 (or later)
2154compliant. 2154compliant.
2155Unless an Rmail attribute header already exists, add it to the 2155Unless an Rmail attribute header already exists, add it to the
2156new messages. Return the number of new messages." 2156new messages. Return the number of new messages."
@@ -3915,9 +3915,9 @@ which is an element of rmail-msgref-vector."
3915 (setq tem (copy-sequence tem)) 3915 (setq tem (copy-sequence tem))
3916 (set-text-properties 0 (length tem) nil tem) 3916 (set-text-properties 0 (length tem) nil tem)
3917 (setq tem (copy-sequence tem)) 3917 (setq tem (copy-sequence tem))
3918 ;; Use prin1 to fake RFC822 quoting 3918 ;; Use prin1 to fake RFC 822 (or later) quoting
3919 (let ((field (prin1-to-string tem))) 3919 (let ((field (prin1-to-string tem)))
3920 ;; Wrap it in parens to make it a comment according to RFC822 3920 ;; Wrap it in parens to make it a comment.
3921 (if date 3921 (if date
3922 (concat "(" field "'s message of " date ")") 3922 (concat "(" field "'s message of " date ")")
3923 (concat "(" field ")")))))) 3923 (concat "(" field ")"))))))
@@ -3946,7 +3946,7 @@ which is an element of rmail-msgref-vector."
3946 (if message-id 3946 (if message-id
3947 ;; "<AA259@bar.edu> (message from Unix Loser on 1-Apr-89)" 3947 ;; "<AA259@bar.edu> (message from Unix Loser on 1-Apr-89)"
3948 (concat message-id " (" field ")") 3948 (concat message-id " (" field ")")
3949 ;; Wrap in parens to make it a comment, for RFC822. 3949 ;; Wrap in parens to make it a comment.
3950 (concat "(" field ")"))))) 3950 (concat "(" field ")")))))
3951 (t 3951 (t
3952 ;; If we can't kludge it simply, do it correctly 3952 ;; If we can't kludge it simply, do it correctly
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index 9315d6ac627..93b6c90521b 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -150,7 +150,7 @@ Otherwise, let mailer send back a message to report errors."
150 'smtpmail-send-it 'sendmail-query-once) 150 'smtpmail-send-it 'sendmail-query-once)
151 "Function to call to send the current buffer as mail. 151 "Function to call to send the current buffer as mail.
152The headers should be delimited by a line which is 152The headers should be delimited by a line which is
153not a valid RFC822 header or continuation line, 153not a valid RFC 822 (or later) header or continuation line,
154that matches the variable `mail-header-separator'. 154that matches the variable `mail-header-separator'.
155This is used by the default mail-sending commands. See also 155This is used by the default mail-sending commands. See also
156`message-send-mail-function' for use with the Message package." 156`message-send-mail-function' for use with the Message package."
@@ -908,7 +908,7 @@ the user from the mailer."
908 (ml (when mail-mailing-lists 908 (ml (when mail-mailing-lists
909 ;; The surrounding regexp assumes the use of 909 ;; The surrounding regexp assumes the use of
910 ;; `mail-strip-quoted-names' on addresses before matching 910 ;; `mail-strip-quoted-names' on addresses before matching
911 ;; Cannot deal with full RFC 822 freedom, but that is 911 ;; Cannot deal with full RFC 822 (or later), but that is
912 ;; unlikely to be problematic. 912 ;; unlikely to be problematic.
913 (concat "\\(?:[[:space:];,]\\|\\`\\)" 913 (concat "\\(?:[[:space:];,]\\|\\`\\)"
914 (regexp-opt mail-mailing-lists t) 914 (regexp-opt mail-mailing-lists t)
@@ -1044,7 +1044,7 @@ This function does not perform RFC2047 encoding."
1044 (fullname-end (point-marker))) 1044 (fullname-end (point-marker)))
1045 (goto-char fullname-start) 1045 (goto-char fullname-start)
1046 ;; Look for a character that cannot appear unquoted 1046 ;; Look for a character that cannot appear unquoted
1047 ;; according to RFC 822. 1047 ;; according to RFC 822 (or later).
1048 (if (or (re-search-forward "[^- !#-'*+/-9=?A-Z^-~]" 1048 (if (or (re-search-forward "[^- !#-'*+/-9=?A-Z^-~]"
1049 fullname-end 1) 1049 fullname-end 1)
1050 quote-fullname) 1050 quote-fullname)
@@ -1068,8 +1068,7 @@ This function does not perform RFC2047 encoding."
1068 (insert "\"")) 1068 (insert "\""))
1069 (let ((fullname-end (point-marker))) 1069 (let ((fullname-end (point-marker)))
1070 (goto-char fullname-start) 1070 (goto-char fullname-start)
1071 ;; RFC 822 says \ and nonmatching parentheses 1071 ;; \ and nonmatching parentheses must be escaped in comments.
1072 ;; must be escaped in comments.
1073 ;; Escape every instance of ()\ ... 1072 ;; Escape every instance of ()\ ...
1074 (while (re-search-forward "[()\\]" fullname-end 1) 1073 (while (re-search-forward "[()\\]" fullname-end 1)
1075 (replace-match "\\\\\\&" t)) 1074 (replace-match "\\\\\\&" t))
diff --git a/lisp/mail/smtpmail.el b/lisp/mail/smtpmail.el
index 49645aba7a1..f31e0b45d20 100644
--- a/lisp/mail/smtpmail.el
+++ b/lisp/mail/smtpmail.el
@@ -259,7 +259,7 @@ for `smtpmail-try-auth-method'.")
259 (fullname-end (point-marker))) 259 (fullname-end (point-marker)))
260 (goto-char fullname-start) 260 (goto-char fullname-start)
261 ;; Look for a character that cannot appear unquoted 261 ;; Look for a character that cannot appear unquoted
262 ;; according to RFC 822. 262 ;; according to RFC 822 or its successors.
263 (if (re-search-forward "[^- !#-'*+/-9=?A-Z^-~]" 263 (if (re-search-forward "[^- !#-'*+/-9=?A-Z^-~]"
264 fullname-end 1) 264 fullname-end 1)
265 (progn 265 (progn
@@ -277,8 +277,9 @@ for `smtpmail-try-auth-method'.")
277 (insert fullname) 277 (insert fullname)
278 (let ((fullname-end (point-marker))) 278 (let ((fullname-end (point-marker)))
279 (goto-char fullname-start) 279 (goto-char fullname-start)
280 ;; RFC 822 says \ and nonmatching parentheses 280 ;; RFC 822 and its successors say \ and
281 ;; must be escaped in comments. 281 ;; nonmatching parentheses must be
282 ;; escaped in comments.
282 ;; Escape every instance of ()\ ... 283 ;; Escape every instance of ()\ ...
283 (while (re-search-forward "[()\\]" fullname-end 1) 284 (while (re-search-forward "[()\\]" fullname-end 1)
284 (replace-match "\\\\\\&" t)) 285 (replace-match "\\\\\\&" t))
diff --git a/lisp/mail/supercite.el b/lisp/mail/supercite.el
index 10c61cb65ab..ad69dca8c43 100644
--- a/lisp/mail/supercite.el
+++ b/lisp/mail/supercite.el
@@ -315,7 +315,7 @@ during the initial citing via `sc-cite-original'."
315 :group 'supercite-hooks) 315 :group 'supercite-hooks)
316 316
317(defcustom sc-mail-warn-if-non-rfc822-p t 317(defcustom sc-mail-warn-if-non-rfc822-p t
318 "Warn if mail headers don't conform to RFC822." 318 "Warn if mail headers don't conform to RFC 822 (or later)."
319 :type 'boolean 319 :type 'boolean
320 :group 'supercite-attr) 320 :group 'supercite-attr)
321(defcustom sc-mumble "" 321(defcustom sc-mumble ""
@@ -738,10 +738,10 @@ If optional ATTRIBS-P is non-nil, the key/value pair is placed in
738 nil) 738 nil)
739 739
740(defun sc-mail-error-in-mail-field () 740(defun sc-mail-error-in-mail-field ()
741 "Issue warning that mail headers don't conform to RFC 822." 741 "Issue warning that mail headers don't conform to email RFCs."
742 (let* ((len (min (length curline) 10)) 742 (let* ((len (min (length curline) 10))
743 (ellipsis (if (< len (length curline)) "..." "")) 743 (ellipsis (if (< len (length curline)) "..." ""))
744 (msg "Mail header \"%s%s\" doesn't conform to RFC 822. skipping...")) 744 (msg "Mail header \"%s%s\" doesn't conform to RFC 822 (or later). skipping..."))
745 (message msg (substring curline 0 len) ellipsis)) 745 (message msg (substring curline 0 len) ellipsis))
746 (beep) 746 (beep)
747 (sit-for 2) 747 (sit-for 2)
diff --git a/lisp/man.el b/lisp/man.el
index 767e8622b8e..b1d0fd3d17c 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -318,7 +318,7 @@ This regular expression should start with a `^' character.")
318 318
319(defvar Man-reference-regexp 319(defvar Man-reference-regexp
320 (concat "\\(" Man-name-regexp 320 (concat "\\(" Man-name-regexp
321 "\\(‐?\n[ \t]+" Man-name-regexp "\\)*\\)[ \t]*(\\(" 321 "\\(\\([-]\n\\)?[ \t]+" Man-name-regexp "\\)*\\)[ \t]*(\\("
322 Man-section-regexp "\\))") 322 Man-section-regexp "\\))")
323 "Regular expression describing a reference to another manpage.") 323 "Regular expression describing a reference to another manpage.")
324 324
@@ -664,7 +664,7 @@ and the `Man-section-translations-alist' variables)."
664 ;; "chmod(2V)" case ? 664 ;; "chmod(2V)" case ?
665 ((string-match (concat "^" Man-reference-regexp "$") ref) 665 ((string-match (concat "^" Man-reference-regexp "$") ref)
666 (setq name (replace-regexp-in-string "[\n\t ]" "" (match-string 1 ref)) 666 (setq name (replace-regexp-in-string "[\n\t ]" "" (match-string 1 ref))
667 section (match-string 3 ref))) 667 section (match-string 4 ref)))
668 ;; "2v chmod" case ? 668 ;; "2v chmod" case ?
669 ((string-match (concat "^\\(" Man-section-regexp 669 ((string-match (concat "^\\(" Man-section-regexp
670 "\\) +\\(" Man-name-regexp "\\)$") ref) 670 "\\) +\\(" Man-name-regexp "\\)$") ref)
@@ -783,11 +783,22 @@ POS defaults to `point'."
783 ;; see this- 783 ;; see this-
784 ;; command-here(1) 784 ;; command-here(1)
785 ;; Note: This code gets executed iff our entry is after POS. 785 ;; Note: This code gets executed iff our entry is after POS.
786 (when (looking-at "‐?[ \t\r\n]+\\([-a-zA-Z0-9._+:]+\\)([0-9])") 786 (when (looking-at
787 (setq word (concat word (match-string-no-properties 1))) 787 (concat
788 "‐?[ \t\r\n]+\\([-a-zA-Z0-9._+:]+\\)(" Man-section-regexp ")"))
789 (let ((1st-part word))
790 (setq word (concat word (match-string-no-properties 1)))
791 ;; If they use -Tascii, we cannot know whether a hyphen at
792 ;; EOL is or isn't part of the referenced manpage name.
793 ;; Heuristics: if the part of the manpage before the hyphen
794 ;; doesn't include a hyphen, we consider the hyphen to be
795 ;; added by troff, and remove it.
796 (or (not (eq (string-to-char (substring 1st-part -1)) ?-))
797 (string-match-p "-" (substring 1st-part 0 -1))
798 (setq word (replace-regexp-in-string "-" "" word))))
788 ;; Make sure the section number gets included by the code below. 799 ;; Make sure the section number gets included by the code below.
789 (goto-char (match-end 1))) 800 (goto-char (match-end 1)))
790 (when (string-match "[-._]+$" word) 801 (when (string-match "[-._]+$" word)
791 (setq word (substring word 0 (match-beginning 0)))) 802 (setq word (substring word 0 (match-beginning 0))))
792 ;; The following was commented out since the preceding code 803 ;; The following was commented out since the preceding code
793 ;; should not produce a leading "*" in the first place. 804 ;; should not produce a leading "*" in the first place.
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el
index 3ff7765f395..bc09764656b 100644
--- a/lisp/mh-e/mh-e.el
+++ b/lisp/mh-e/mh-e.el
@@ -2420,14 +2420,14 @@ of citations entirely, choose \"None\"."
2420 :package-version '(MH-E . "8.0")) 2420 :package-version '(MH-E . "8.0"))
2421 2421
2422;; These entries have been intentionally excluded by the developers. 2422;; These entries have been intentionally excluded by the developers.
2423;; "Comments:" ; RFC 2822 - show this one 2423;; "Comments:" ; RFC 822 (or later) - show this one
2424;; "Fax:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ 2424;; "Fax:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/
2425;; "Mail-System-Version:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ 2425;; "Mail-System-Version:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/
2426;; "Mailer:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ 2426;; "Mailer:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/
2427;; "Organization:" ; 2427;; "Organization:" ;
2428;; "Phone:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ 2428;; "Phone:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/
2429;; "Reply-By:" ; RFC 2156 2429;; "Reply-By:" ; RFC 2156
2430;; "Reply-To:" ; RFC 2822 2430;; "Reply-To:" ; RFC 822 (or later)
2431;; "Sender:" ; 2431;; "Sender:" ;
2432;; "User-Agent:" ; Similar to X-Mailer, so display it. 2432;; "User-Agent:" ; Similar to X-Mailer, so display it.
2433;; "X-Mailer:" ; 2433;; "X-Mailer:" ;
@@ -2488,9 +2488,9 @@ of citations entirely, choose \"None\"."
2488 "From " ; sendmail 2488 "From " ; sendmail
2489 "Generate-Delivery-Report:" ; RFC 2156 2489 "Generate-Delivery-Report:" ; RFC 2156
2490 "Importance:" ; RFC 2156, 2421 2490 "Importance:" ; RFC 2156, 2421
2491 "In-Reply-To:" ; RFC 2822 2491 "In-Reply-To:" ; RFC 822 (or later)
2492 "Incomplete-Copy:" ; RFC 2156 2492 "Incomplete-Copy:" ; RFC 2156
2493 "Keywords:" ; RFC 2822 2493 "Keywords:" ; RFC 822 (or later)
2494 "Language:" ; RFC 2156 2494 "Language:" ; RFC 2156
2495 "Lines:" ; RFC 1036 2495 "Lines:" ; RFC 1036
2496 "List-" ; RFC 2369, 2919 2496 "List-" ; RFC 2369, 2919
@@ -2500,7 +2500,7 @@ of citations entirely, choose \"None\"."
2500 "Mail-Reply-To:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ 2500 "Mail-Reply-To:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/
2501 "Mailing-List:" ; Egroups/yahoogroups mailing list manager 2501 "Mailing-List:" ; Egroups/yahoogroups mailing list manager
2502 "Message-Content:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ 2502 "Message-Content:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/
2503 "Message-Id:" ; RFC 822 2503 "Message-ID:" ; RFC 822 (or later)
2504 "Message-Type:" ; RFC 2156 2504 "Message-Type:" ; RFC 2156
2505 "Mime-Version" ; RFC 2045 2505 "Mime-Version" ; RFC 2045
2506 "Msgid:" 2506 "Msgid:"
@@ -2531,14 +2531,14 @@ of citations entirely, choose \"None\"."
2531 "Priority:" ; RFC 2156 2531 "Priority:" ; RFC 2156
2532 "Read-Receipt-To:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ 2532 "Read-Receipt-To:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/
2533 "Received-SPF:" ; Gmail 2533 "Received-SPF:" ; Gmail
2534 "Received:" ; RFC 822 2534 "Received:" ; RFC 822 (or later)
2535 "References:" ; RFC 2822 2535 "References:" ; RFC 822 (or later)
2536 "Registered-Mail-Reply-Requested-By:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ 2536 "Registered-Mail-Reply-Requested-By:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/
2537 "Remailed-" ; MH 2537 "Remailed-" ; MH
2538 "Replaces:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ 2538 "Replaces:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/
2539 "Replied:" ; MH 2539 "Replied:" ; MH
2540 "Resent-" ; RFC 2822 2540 "Resent-" ; RFC 822 (or later)
2541 "Return-Path:" ; RFC 822 2541 "Return-Path:" ; RFC 822 (or later)
2542 "Return-Receipt-Requested:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ 2542 "Return-Receipt-Requested:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/
2543 "Return-Receipt-To:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/ 2543 "Return-Receipt-To:" ; http://people.dsv.su.se/~jpalme/ietf/mail-headers/
2544 "Seal-Send-Time:" 2544 "Seal-Send-Time:"
diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el
index 9526338b8ff..cad62787190 100644
--- a/lisp/mh-e/mh-utils.el
+++ b/lisp/mh-e/mh-utils.el
@@ -888,7 +888,7 @@ in this situation."
888;;;###mh-autoload 888;;;###mh-autoload
889(defun mh-header-field-beginning () 889(defun mh-header-field-beginning ()
890 "Move to the beginning of the current header field. 890 "Move to the beginning of the current header field.
891Handles RFC 822 continuation lines." 891Handle RFC 822 (or later) continuation lines."
892 (beginning-of-line) 892 (beginning-of-line)
893 (while (looking-at "^[ \t]") 893 (while (looking-at "^[ \t]")
894 (forward-line -1))) 894 (forward-line -1)))
@@ -896,7 +896,7 @@ Handles RFC 822 continuation lines."
896;;;###mh-autoload 896;;;###mh-autoload
897(defun mh-header-field-end () 897(defun mh-header-field-end ()
898 "Move to the end of the current header field. 898 "Move to the end of the current header field.
899Handles RFC 822 continuation lines." 899Handle RFC 822 (or later) continuation lines."
900 (forward-line 1) 900 (forward-line 1)
901 (while (looking-at "^[ \t]") 901 (while (looking-at "^[ \t]")
902 (forward-line 1)) 902 (forward-line 1))
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index cc87ffaced5..9fe961d748c 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -174,10 +174,14 @@ ACTION can be one of nil, t or `lambda'."
174 174
175(defun completion-table-dynamic (fun &optional switch-buffer) 175(defun completion-table-dynamic (fun &optional switch-buffer)
176 "Use function FUN as a dynamic completion table. 176 "Use function FUN as a dynamic completion table.
177FUN is called with one argument, the string for which completion is required, 177FUN is called with one argument, the string for which completion is requested,
178and it should return an alist containing all the intended possible completions. 178and it should return a completion table containing all the intended possible
179This alist may be a full list of possible completions so that FUN can ignore 179completions.
180the value of its argument. 180This table is allowed to include elements that do not actually match the
181string: they will be automatically filtered out.
182The completion table returned by FUN can use any of the usual formats of
183completion tables such as lists, alists, and hash-tables.
184
181If SWITCH-BUFFER is non-nil and completion is performed in the 185If SWITCH-BUFFER is non-nil and completion is performed in the
182minibuffer, FUN will be called in the buffer from which the minibuffer 186minibuffer, FUN will be called in the buffer from which the minibuffer
183was entered. 187was entered.
@@ -185,6 +189,8 @@ was entered.
185The result of the `completion-table-dynamic' form is a function 189The result of the `completion-table-dynamic' form is a function
186that can be used as the COLLECTION argument to `try-completion' and 190that can be used as the COLLECTION argument to `try-completion' and
187`all-completions'. See Info node `(elisp)Programmed Completion'. 191`all-completions'. See Info node `(elisp)Programmed Completion'.
192The completion table returned by `completion-table-dynamic' has empty
193metadata and trivial boundaries.
188 194
189See also the related function `completion-table-with-cache'." 195See also the related function `completion-table-with-cache'."
190 (lambda (string pred action) 196 (lambda (string pred action)
diff --git a/lisp/net/imap.el b/lisp/net/imap.el
index 0931252c366..bc0e2e609aa 100644
--- a/lisp/net/imap.el
+++ b/lisp/net/imap.el
@@ -2076,23 +2076,23 @@ Return nil if no complete line has arrived."
2076;; addr-host ")" 2076;; addr-host ")"
2077;; 2077;;
2078;; addr-adl = nstring 2078;; addr-adl = nstring
2079;; ; Holds route from [RFC-822] route-addr if 2079;; ; Holds route from [RFC-822 (or later)] route-addr if
2080;; ; non-nil 2080;; ; non-nil
2081;; 2081;;
2082;; addr-host = nstring 2082;; addr-host = nstring
2083;; ; nil indicates [RFC-822] group syntax. 2083;; ; nil indicates [RFC-822 (or later)] group syntax.
2084;; ; Otherwise, holds [RFC-822] domain name 2084;; ; Otherwise, holds [RFC-822 (or later)] domain name
2085;; 2085;;
2086;; addr-mailbox = nstring 2086;; addr-mailbox = nstring
2087;; ; nil indicates end of [RFC-822] group; if 2087;; ; nil indicates end of [RFC-822 (or later)] group; if
2088;; ; non-nil and addr-host is nil, holds 2088;; ; non-nil and addr-host is nil, holds
2089;; ; [RFC-822] group name. 2089;; ; [RFC-822 (or later)] group name.
2090;; ; Otherwise, holds [RFC-822] local-part 2090;; ; Otherwise, holds [RFC-822 (or later)] local-part
2091;; ; after removing [RFC-822] quoting 2091;; ; after removing [RFC-822 (or later)] quoting
2092;; 2092;;
2093;; addr-name = nstring 2093;; addr-name = nstring
2094;; ; If non-nil, holds phrase from [RFC-822] 2094;; ; If non-nil, holds phrase from [RFC-822 (or later)]
2095;; ; mailbox after removing [RFC-822] quoting 2095;; ; mailbox after removing [RFC-822 (or later)] quoting
2096;; 2096;;
2097 2097
2098(defsubst imap-parse-address () 2098(defsubst imap-parse-address ()
diff --git a/lisp/net/newst-backend.el b/lisp/net/newst-backend.el
index ac58ed9fa7e..9ff4649fee0 100644
--- a/lisp/net/newst-backend.el
+++ b/lisp/net/newst-backend.el
@@ -1691,8 +1691,8 @@ Examples:
1691 nil)) 1691 nil))
1692 1692
1693(defun newsticker--decode-rfc822-date (rfc822-string) 1693(defun newsticker--decode-rfc822-date (rfc822-string)
1694 "Return RFC822-STRING in format like `decode-time'. 1694 "Convert RFC822-STRING to a Lisp timestamp.
1695Converts from RFC822 to Emacs representation. 1695RFC822-STRING should use RFC 822 (or later) format.
1696Examples: 1696Examples:
1697Sat, 07 September 2002 00:00:01 +0100 1697Sat, 07 September 2002 00:00:01 +0100
1698Sat, 07 September 2002 00:00:01 MET 1698Sat, 07 September 2002 00:00:01 MET
diff --git a/lisp/org/org-id.el b/lisp/org/org-id.el
index 670abad17f3..6a9d729c0a4 100644
--- a/lisp/org/org-id.el
+++ b/lisp/org/org-id.el
@@ -160,9 +160,9 @@ to have no space characters in them."
160(defcustom org-id-include-domain nil 160(defcustom org-id-include-domain nil
161 "Non-nil means add the domain name to new IDs. 161 "Non-nil means add the domain name to new IDs.
162This ensures global uniqueness of IDs, and is also suggested by 162This ensures global uniqueness of IDs, and is also suggested by
163RFC 2445 in combination with RFC 822. This is only relevant if 163the relevant RFCs. This is relevant only if `org-id-method' is
164`org-id-method' is `org'. When uuidgen is used, the domain will never 164`org'. When uuidgen is used, the domain will never be added.
165be added. 165
166The default is to not use this because we have no really good way to get 166The default is to not use this because we have no really good way to get
167the true domain, and Org entries will normally not be shared with enough 167the true domain, and Org entries will normally not be shared with enough
168people to make this necessary." 168people to make this necessary."
diff --git a/lisp/ps-samp.el b/lisp/ps-samp.el
index ff472546eec..784b4356b47 100644
--- a/lisp/ps-samp.el
+++ b/lisp/ps-samp.el
@@ -76,8 +76,8 @@
76 (concat "Subject: " (or (mail-fetch-field "Subject") "???"))))) 76 (concat "Subject: " (or (mail-fetch-field "Subject") "???")))))
77 77
78;; Look in an article or mail message for the From: line. Sorta-kinda 78;; Look in an article or mail message for the From: line. Sorta-kinda
79;; understands RFC-822 addresses and can pull the real name out where 79;; understands RFC 822 (or later) addresses and can pull the real name
80;; it's provided. 80;; out where it's provided.
81(defun ps-article-author () 81(defun ps-article-author ()
82 (save-excursion 82 (save-excursion
83 (save-restriction 83 (save-restriction
diff --git a/lisp/simple.el b/lisp/simple.el
index a9cab5a5066..d4ae5ebb1f9 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -7834,7 +7834,7 @@ appears to have customizations applying to the old default,
7834 "If the buffer starts with a mail header, move point to the header's end. 7834 "If the buffer starts with a mail header, move point to the header's end.
7835Otherwise, moves to `point-min'. 7835Otherwise, moves to `point-min'.
7836The end of the header is the start of the next line, if there is one, 7836The end of the header is the start of the next line, if there is one,
7837else the end of the last line. This function obeys RFC822." 7837else the end of the last line. This function obeys RFC 822 (or later)."
7838 (goto-char (point-min)) 7838 (goto-char (point-min))
7839 (when (re-search-forward 7839 (when (re-search-forward
7840 "^\\([:\n]\\|[^: \t\n]+[ \t\n]\\)" nil 'move) 7840 "^\\([:\n]\\|[^: \t\n]+[ \t\n]\\)" nil 'move)
diff --git a/lisp/url/url-util.el b/lisp/url/url-util.el
index c2baa69d5a9..1d0ecb4436a 100644
--- a/lisp/url/url-util.el
+++ b/lisp/url/url-util.el
@@ -74,7 +74,8 @@ If a list, it is a list of the types of messages to be logged."
74 74
75;;;###autoload 75;;;###autoload
76(defun url-parse-args (str &optional nodowncase) 76(defun url-parse-args (str &optional nodowncase)
77 ;; Return an assoc list of attribute/value pairs from an RFC822-type string 77 ;; Return an assoc list of attribute/value pairs from a string
78 ;; that uses RFC 822 (or later) format.
78 (let ( 79 (let (
79 name ; From name= 80 name ; From name=
80 value ; its value 81 value ; its value