merge trunk
doc/misc/gnus.texi (Fancy Mail Splitting): Fix missing backslash on \\&
lisp/gnus/shr.el (shr-tag-span): New function
lisp/gnus/message.el (message-insert-formatted-citation-line): Handle finding first/lastname when more than 2 names appear
* xfns.c (check_x_display_info): Don't use XINT for terminal object.
Mention	`display-monitor-attributes-list' in docstrings of X11 display measurement functions.
* lisp/format-spec.el (format-spec): Allow spec chars with nil values.
Sync x-server-* and x-display-* functions on NS with those on X11.
lisp/gnus/gnus-spec.el (gnus-parse-complex-format): Use unicode escape for left double angle quotation mark
Use octave-help-mode for the Octave Help buffer
* lisp/mh-e/mh-comp.el (mh-regexp-in-field-p): Fix previous change.
* xdisp.c (reseat_at_previous_visible_line_start):
Already declared in dispextern.h, so remove it here.
(move_it_vertically_backward): Likewise.
Make some trivial erc.el functions obsolete

* lisp/erc/erc.el (erc-quit-reason-various-alist)
(erc-part-reason-various-alist): Don't mention zippy.
(erc-quit-reason, erc-part-reason): Remove zippy options.
(erc-quit-reason-zippy, erc-part-reason-zippy): Make obsolete.
If yow is not defined, fall back to -normal versions.
Silence some compiler warnings

* calculator.el (electric, ehelp): No need to load when compiling.
(Electric-command-loop, electric-describe-mode): Declare.

* doc-view.el (doc-view-current-converter-processes): Move before use.

* files.el (dired-unmark):
* progmodes/gud.el (gdb-input): Update declarations.

* emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Move MODE-set-explicitly definition before use.

* erc/erc-log.el (erc-network-name): Declare.

* erc/erc-notify.el (pcomplete--here): Declare.
(pcomplete/erc-mode/NOTIFY): Require pcomplete.

* international/mule-diag.el (mule-diag):
Don't use obsolete window-system-version.

* mail/feedmail.el (smtpmail): No need to load when compiling.
(smtpmail-via-smtp, smtpmail-smtp-server): Declare.

* mail/mail-utils.el (rfc822): No need to load when compiling.
(rfc822-addresses): Autoload it.
(mail-strip-quoted-names): Trivial simplification.

* mail/rmail.el (rmail-mime-message-p, rmail-mime-toggle-raw): Declare.
(rmail-retry-failure): Don't assume that rmail-mime-feature == rmailmm.

* net/snmp-mode.el (tempo): Don't duplicate requires.

* progmodes/prolog.el (info): No need to load when compiling.
(comint): Require before shell requires it.
(Info-goto-node): Autoload it.
(Info-follow-nearest-node): Declare.
(prolog-help-info, prolog-goto-predicate-info): No need to require info.

* textmodes/artist.el (picture-mode-exit): Declare.

* textmodes/reftex-parse.el (reftex-parse-from-file):
Trivial rewrite so the compiler can parse it better.

* url/url-dav.el (url-http): Require it.
(url-http-head-file-attributes): Don't autoload it.

* url/url-proxy.el (url-http): Autoload it.
Simplify auto fill in Octave mode and some small improvements
Silence rmail.el compilation

* lisp/mail/rmail.el (speedbar): No need to load when compiling.
(speedbar-make-specialized-keymap, speedbar-with-attached-buffer)
(speedbar-do-function-pointer): Declare.
Silence printing.el compilation

* lisp/printing.el (pr-menu-bar): Define when compiling.
For now, revert previous rmail.el change
* src/search.c (looking_at_1): Only set last_thing_searched if the match
changed the match-data.
* progmodes/octave.el (octave-mode-menu): Update and re-organize
menu items.
(octave-mode): Tweak fill-nobreak-predicate.
(inferior-octave-startup): Check process to avoid infinite loop.
(inferior-octave): Pop to buffer first to show abornmal process
exit information.