* doc/lispref/windows.texi (Splitting Windows): Fix error in documentation of
window-combination-limit.
(Cyclic Window Ordering): Minor fixes to next-window,
one-window-p, and get-lru-window docs. Don't document
window-list-1.
(Buffers and Windows): Copyedits.
(Choosing Window): Document special handling of special-display-*.
(Choosing Window Options): Fix display-buffer-reuse-frames doc.
Don't document even-window-heights, which is going away. Clarify
which options are obeyed by which action functions.
* src/window.c (Fnext_window, Fprevious_window): Doc fix.
* window.c (Fset_window_combination_limit): Rename argument
STATUS to LIMIT.
(Vwindow_combination_limit): Remove "status" from doc-string.
* windows.texi (Resizing Windows, Splitting Windows): Remove
term "status" when talking about combination limits.
(byte-compile-global-not-obsolete-vars): New var.
(byte-compile-check-variable, byte-compile-make-obsolete-variable):
Use it.
(byte-compile-warn-obsolete): Align text with the one in *Help*.
Otherwise, valgrind does not work on some platforms.
Problem reported by Andreas Schwab in
<http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00081.html>.
* puresize.h (pure, PURE_P): Always behave as if VIRT_ADDR_VARIES
is set, removing the need for VIRT_ADDRESS_VARIES.
(PURE_P): Use a more-efficient implementation that needs just one
comparison, not two: on x86-64 with GCC 4.6.2, this cut down the
number of instructions from 6 (xorl, cmpq, jge, xorl, cmpq, setge)
to 4 (xorl, subq, cmpq, setbe).
* alloc.c (pure): Always extern now, since that's the
VIRT_ADDR_VARIES behavior.
(PURE_POINTER_P): Use a single comparison, not two, for
consistency with the new puresize.h.
* lisp.h (PNTR_COMPARISON_TYPE): Remove; no longer needed.
* m/ibms390.h, m/intel386.h, m/template.h, s/cygwin.h, s/hpux10-20.h:
Remove VIRT_ADDR_VARIES no longer needed.
Fixes: debbugs:10042
* lisp/mail/rmail.el (rmail-enable-mime-composing): Make it a defcustom.
(rmail-insert-mime-forwarded-message-function, rmail-mime-feature):
Doc fixes.
(rmail-decode-mime-charset): Mark as obsolete.
* lisp/mail/rmailsum.el (rmail-message-regexp-p-1):
* lisp/mail/rmail.el (rmail-search-message, rmail-forward, rmail-resend):
Before using mime functions, check they are set.
Fixes: debbugs:10077
Add `revert-buffer' to defcustom `Info-hide-node-references'.
* lisp/info.el (Info-hide-note-references): Add `:set' tag to `defcustom'
that calls `revert-buffer' on all Info buffers.
(Info-revert-find-node): Remove let-bindings `old-buffer-name',
`old-history', `old-history-forward'. Add let-binding
`window-selected'. Remove calls to `kill-buffer',
`switch-to-buffer' and `Info-mode'. Set `Info-current-file' to nil
before calling `Info-find-node', so `Info-find-node-2' will reread
the Info file. Restore window positions only when `window-selected'
is non-nil.
Fixes: debbugs:9915
Remove condition `(not isearch-error)'.
* lisp/misearch.el (multi-isearch-search-fun): Add condition
`(not bound)' to ignore lazy-highlighting search.
Add the search-failed message "end of multi" when the end of
multi-sequence is reached. Uncapitalize the search-failed
message "Repeat for next buffer".
* lisp/info.el (Info-search): Add the search-failed message
"end of the manual" when the end of the manual is reached
in Isearch mode.
Fixes: debbugs:9918
* lisp/info.el (Info-find-node-2, Info-select-node, Info-history-find-node):
Use non-destructive `remove' instead of `delete' because
`Info-history-list' stored to `Info-isearch-initial-history-list' in
`Info-isearch-start' might need to be restored in `Info-isearch-end'.
lisp/simple.el (line-move): Force movement by logical lines for any
hscrolled window, not only when auto-hscroll-mode is on.
(line-move-visual): Update doc string to that effect.
src/xdisp.c (x_write_glyphs, draw_phys_cursor_glyph)
(erase_phys_cursor, update_window_cursor, show_mouse_face)
(cursor_in_mouse_face_p): If the cursor position is out of bounds,
behave as if the cursor position were at the window margin.
src/window.c (get_phys_cursor_glyph): If the window is hscrolled,
and the cursor position is out of bounds, behave as if the cursor
position were at the window margin.
They shouldn't be named "proc" since they are not processes.
* lisp/window.el (walk-window-tree-1, walk-window-tree)
(walk-window-subtree, walk-windows): Change argument name.
lisp/mail/rmailmm.el (rmail-mime-display-header)
(rmail-mime-display-tagline, rmail-mime-display-body): New defsubsts.
(rmail-mime-entity-segment, rmail-mime-toggle-raw)
(rmail-mime-toggle-hidden, rmail-mime-insert-text)
(rmail-mime-insert-bulk, rmail-mime-insert-multipart)
(rmail-mime-insert, rmail-mime-insert-tagline): Use them instead
of a raw aref.
(rmail-mime-entity-segment): To get past the tagline, move forward
2 more lines, to account for the 2 empty lines that precede and
follow the line with the buttons.
(rmail-mime-update-tagline): Move one more line, to get past the
empty line that follows the buttons in the tagline.
(smie-warning-count): New var.
(smie-set-prec2tab): Use it.
(smie-bnf->prec2): Improve warnings. Add docstring.
(smie-bnf--closer-alist): Rename from smie-bnf-closer-alist.
(smie-bnf--set-class): New function.
(smie-bnf--classify): Rename from smie-bnf-classify. Rewrite to fix
corner case.