* lisp/format.el (format-annotate-function): Handle read-only text properties 
in the source.
Reduce use of mailto: in html versions of manuals

* doc/emacs/macos.texi (GNUstep Support):
* doc/emacs/trouble.texi (Checklist, Contributing, Service):
* doc/lispintro/emacs-lisp-intro.texi (Thank You):
* doc/misc/woman.texi (Top):
Avoid mailto: in html output.
Move the documentation of Mayan calendar to cal-xtra.texi.

* doc/emacs/cal-xtra.texi (Advanced Calendar/Diary Usage): Update menu.
(Mayan Calendar): Move here from calendar.texi.
* doc/emacs/emacs.texi (Top): Update menu.
* doc/emacs/macos.texi (Mac / GNUstep Basics): Mention `ns-alternate-modifier'.
* frame.c (Fset_frame_height, Fset_frame_width): Mention nil frame in docstring.
(Fset_frame_size, Fset_frame_position): Use decode_live_frame and mention nil
frame in docstring.
* lisp/vc/log-view.el (log-view-diff): Extract `log-view-diff-common',
use it.
(log-view-diff-changeset): Same.
(log-view-diff-common): Call backend command `previous-revision'
to find out the previous revision, in both cases.  Swap the
variables `to' and `fr', so that `fr' usually refers to the
earlier revision.
Drop unnecessary functions that deals with frame pixel size.
* frame.h, msdos.h, w32term.h, xterm.h (x_pixel_width)
(x_pixel_height): Drop prototypes.
* msdos.c, nsfns.m, w32fns.c, xfns.c (x_pixel_width)
(x_pixel_height): Drop implementations.
* frame.c (Fframe_pixel_height): Use FRAME_PIXEL_HEIGHT
which should be always valid for window frame.
(Frame_pixel_width): Likewise with FRAME_PIXEL_WIDTH.
* w32menu.c (Fx_popup_dialog):
* xmenu.c (Fx_popup_dialog): Likewise for both.
Doc fix.

* doc/emacs/custom.texi (Specifying File Variables): Fix cross-references.

* doc/emacs/mule.texi (Unibyte Mode): Fix cross-references.

* doc/lispref/nonascii.texi (Non-ASCII Characters): Update menu.
(Disabling Multibyte): Move here from doc/emacs/mule.texi.  Fix cross-references.

* doc/lispref/elisp.texi (Top): Update menu.
* doc/emacs/rmail.texi (Rmail Coding): Move here from mule.texi.
Fix the Emacs manual broken by revision 113622.

 doc/emacs/emacs.texi (Top): Remove menu item for the removed "Disabling
 Multibyte" node.
* lisp/vc/vc-hooks.el (vc-menu-map): Fix menu entry for vc-ignore.
gnus-util.el (gnus-emacs-completing-read): Isolate XEmacs stuff
* xterm.c (last_mouse_press_frame): Remove the
leftover which is not really used any more.
(handle_one_xevent, syms_of_xterm): Adjust users.
* xterm.c (x_flush): Call XFlush once per each X display, not
frame.  This is better because this code always unconditionally
skips non-X frames in Vframe_list and issues the only XFlush if
we have more than one X frame on the same X display.
Do not use pure Xism x_wm_set_icon_position in non-X ports.
* frame.c (x_set_frame_parameters): Call to x_wm_set_icon_position
only if HAVE_X_WINDOWS is in use.
* frame.h (x_set_frame_parameters): Move under HAVE_X_WINDOWS.
* nsterm.m (x_wm_set_icon_position): Remove no-op.
* w32term.c (x_wm_set_icon_position): Likewise.
* w32fns.c (x_icon): Adjust user.
* xterm.c (any_help_event_p, x_draw_glyph_string_background):
(x_display_ok): Use bool for booleans.
(x_draw_glyph_string_background, cvt_string_to_pixel):
(cvt_pixel_dtor): Drop unnecessary prototypes.
* xterm.h (x_display_ok): Adjust prototype.
Avoid redundant Lisp_Object <-> struct frame conversions in font API.
* font.h (struct font_driver): Change list, match, and list_family
functions to accept struct frame * as first arg.
* font.c (font_score, font_compare, font_sort_entities): Remove
prototypes.
(font_sort_entities, font_list_entities, font_select_entity):
(font_find_for_lface, Flist_fonts, Ffont_family_list): Adjust to
match font API change.
* xfont.c (xfont_list, xfont_match, xfont_list_family):
* ftfont.c (ftfont_list, ftfont_match, ftfont_list_family):
* ftxfont.c (ftxfont_list, ftxfont_match):
* xftfont.c (xftfont_list, xftfont_match):
* nsfont.m (nsfont_list, nsfont_match, nsfont_list_family):
* w32font.c (w32font_list, w32font_match, w32font_list):
(w32font_list_internal, w32_font_match_internal): Likewise.
* xfaces.c (Fx_family_fonts): Adjust user.
Complete file name handlers.

* net/tramp.el (tramp-handle-set-visited-file-modtime)
(tramp-handle-verify-visited-file-modtime)
(tramp-handle-file-notify-rm-watch): New functions.
(tramp-call-process): Do not bind `default-directory'.

* net/tramp-adb.el (tramp-adb-file-name-handler-alist): Order
alphabetically.
[access-file, add-name-to-file, dired-call-process]:
[dired-compress-file, file-acl, file-notify-rm-watch]:
[file-ownership-preserved-p, file-selinux-context]:
[make-directory-internal, make-symbolic-link, set-file-acl]:
[set-file-selinux-context, set-visited-file-modtime]:
[verify-visited-file-modtime]: Add handler.
(tramp-adb-handle-write-region): Apply `set-visited-file-modtime'.

* net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
[file-notify-add-watch, file-notify-rm-watch]:
[set-file-times, set-visited-file-modtime]:
[verify-visited-file-modtime]: Add handler.
(with-tramp-gvfs-error-message)
(tramp-gvfs-handle-set-visited-file-modtime)
(tramp-gvfs-fuse-file-name): Remove.
(tramp-gvfs-handle-file-notify-add-watch)
(tramp-gvfs-file-gvfs-monitor-file-process-filter): New defuns.
(tramp-gvfs-handle-write-region): Fix error in moving tmpfile.

* net/tramp-sh.el (tramp-sh-file-name-handler-alist): Order
alphabetically.
[file-notify-rm-watch ]: Use default Tramp handler.
[executable-find]: Remove private handler.
(tramp-do-copy-or-rename-file-out-of-band): Do not bind
`default-directory'.
(tramp-sh-handle-executable-find)
(tramp-sh-handle-file-notify-rm-watch): Remove functions.
(tramp-sh-file-gvfs-monitor-dir-process-filter)
(tramp-sh-file-inotifywait-process-filter, tramp-set-remote-path):
Do not use `format' in `tramp-message'.

* net/tramp-smb.el (tramp-smb-file-name-handler-alist)
[file-notify-rm-watch, set-visited-file-modtime]:
[verify-visited-file-modtime]: Add handler.
(tramp-smb-call-winexe): Do not bind `default-directory'.
lisp/gnus/nnrss.el (nnrss-discover-feed): Indent
Refactor out setting `whitespace-indent-tabs-mode' and
`whitespace-tab-width' buffer-locally to own function, so that
`whitespace-cleanup' and friends work appropriately without
needing to enable `whitespace-mode'.

* whitespace.el (whitespace-ensure-local-variables): New function.
(whitespace-cleanup-region): Call it.
(whitespace-turn-on): Call it.