* src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
down near ZV. (Bug#20808)
Call bidi_unshelve_cache to avoid memory leaks. Use IT_CHARPOS
instead of CHARPOS.
Call `package-menu--post-refresh' after any operation that changes
the package database (`package-install' and `package-delete'). To
avoid performance issues in large transactions, these functions
add `post-refresh' to `post-command-hook' instead of calling it
immediately.
(package-menu--mark-or-notify-upgrades): New function.
(list-packages): Add it to `package--post-download-archives-hook'.
(package-menu--post-refresh): Lose the upgrade-checking code, add
code to remove itself from `post-command-hook'.
(package-install, package-delete): Add it to `post-command-hook'.
(package-menu-execute): Don't call `package-menu--post-refresh'.
* admin/unidata/Makefile.in (AWK): New, set by configure.
(all): Add charscript.el.
(blocks): New variable.
(charscript.el, ${unidir}/charscript.el): New targets.
(extraclean): Also remove generated charscript.el.
* admin/unidata/blocks.awk: New script.
* admin/unidata/Blocks.txt: New data file, from unicode.org.
* lisp/international/characters.el: Load charscript.
* src/Makefile.in (charscript): New variable.
(${charscript}): New target.
(${lispintdir}/characters.elc): Depend on charscript.elc.
(temacs$(EXEEXT)): Depend on charscript.
; * admin/unidata/README: Mention Blocks.txt.
; * .gitignore: Add lisp/international/charscript.el.
* lisp/international/mule-util.el (filepos-to-bufferpos--dos):
New auxiliary function, extracted from filepos-to-bufferpos.
Make sure it terminates.
(filepos-to-bufferpos): Use it to fix the latin-1-dos case.
Add support for the `exact' quality.
(pcase--self-quoting-p): Floats aren't self-quoting.
(pcase): Tweak docstring.
(pcase--u1): Deprecate the t pattern. Improve error detection for
the nil pattern.
(\`): Tweak docstring. Signal an error for unrecognized cases.
(bug#20784)
* lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
offset calculation, and make it conditional on the eol-type of the
file's encoding. (Bug#20825)
This backports Eli Zaretskii's solution of this problem for W32
to X and NS.
* src/nsfns.m (image_cache_refcount): Define unconditionally.
(unwind_create_frame): If the image cache's reference count
hasn't been updated yet, do that now.
(Fx_create_frame): Set image_cache_refcount unconditionally.
* src/xfns.c (image_cache_refcount): Define unconditionally.
(unwind_create_frame): If the image cache's reference count
hasn't been updated yet, do that now.
(Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
unconditionally.
* src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
X and NS.
* lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
keyvals label regexp more strict to better cope with unbalanced
brackets common in math documents.
* lisp/international/mule-util.el: Use lexical-binding.
(filepos-to-bufferpos): New function.
* lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
(Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
(Info-read-subfile, Info-search): Use 0-based file positions.
* lisp/international/mule-cmds.el (set-locale-environment):
Downcase the locale name before interning it. This is so the
'current-iso639-language' on MS-Windows matches the ':lang'
property of font-spec objects.