* lisp/gnus/message.pl (message-beginning-of-header): New function which
moves point to the beginning of a mail header. The function is aware of
folded headers and with non-nil argument looks for the true beginning of
a header while with nil argument moves to the indented text of header's
value.
(message-beginning-of-line): Function is now aware of folded headers and
either moves point to the indention of a header or, in visual-line-mode,
searches for the beginning of the header.
* lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
regular expression matches with a single bound string match thus
reducing amount of work the function is doing.
Teach vc-hg how to read some Mercurial internal data structures,
allowing us to avoid the need to run hg status -A, which is very slow
for large repositories. Fall back to running hg if anything looks
funny. vc-hg now puts the _working directory_ revision in the
modeline instead of the file revision, which greatly improves
performance and which allows us to again skip running hg in the case
that we have an active bookmark.
* lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
(vc-hg-symbolic-revision-styles)
(vc-hg-use-file-version-for-mode-line-version)
(vc-hg-parse-hg-data-structures): New user preferences
(vc-hg--active-bookmark-internal, vc-hg--run-log)
(vc-hg--symbolic-revision, vc-hg-mode-line-string)
(vc-hg--read-u8, vc-hg--read-u32-be)
(vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
(vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
(vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
(vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
(vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
(vc-hg--ignore-patterns-valid-p)
(vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
(vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
(vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
(vc-hg-state-fast): New functions.
(vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
(vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
(vc-hg--dirstate-scan-cache): New internal variables.
* lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
before updating modeline.
* doc/lispref/display.texi (ImageMagick Images): Mention :scale.
(Defining Images): Mention image-scaling-factor.
* lisp/image.el (image-compute-scaling-factor): New function
(bug#22172).
(create-image): Use it.
(image-scaling-factor): New variable.
* src/image.c (compute_image_size): Take :scale into account.
* lisp/mail/mail-extr.el (mail-extract-address-components):
Return the name even if it's the same as the mailbox name (if
`mail-extr-ignore-single-names' isn't set) (bug#22594).
* doc/misc/gnus.texi (To From Newsgroups):
gnus-ignored-from-addresses can be a function.
* doc/misc/message.texi (Wide Reply):
message-dont-reply-to-names can be a function.
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
message-alternative-emails can be a function.
* lisp/gnus/gnus-notifications.el (gnus-notifications):
message-alternative-emails can be a function (bug#22315).
* lisp/gnus/gnus-sum.el
(gnus-summary-from-or-to-or-newsgroups):
gnus-ignored-from-addresses can be a function (bug#22315).
* lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
all instances of the text properties/extents category, syntax-table,
c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
* lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
(message-bogus-recipient-p): Don't use it any more.
(message-make-fqdn): Ditto. Suggested by Lars-Johan Liman.
* src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
converted to a list of 16 bit quantities by
conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
same scheme rather than expecting a (longer) list of 8 bit
quantities.
* lisp/subr.el (read-multiple-choice): Use
display-supports-face-attributes-p instead of
display-graphic-p to determine whether we can use underlining.
* src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
== 0) case, as this optimization is probably not worth the hassle.
Just for the record, the test for that case could have been
(XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
assuming the typical platform with no padding bits and where
conversion to int omits the most significant bits.
* doc/lispref/commands.texi (Reading One Event): Mention
read-multiple-choice-face.
* lisp/subr.el (read-multiple-choice): Make the prompting a bit
prettier.
The current version of HTTP/1.1 (RFC 7231) no longer requires
confirmation on 301, 302 or 307 status codes, therefore we do not have
to ignore redirects for other requests than GET and HEAD.
* lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
and 307 redirects for other requests than GET and HEAD.