* src/dispnew.c (redraw_frame): Don't redisplay all frames.
* src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit
rather than returning a "resized_p" boolean.
(redisplay_internal): Adjust call accordingly.
* src/xfaces.c (free_realized_faces): Don't redisplay all frames.
(free_all_realized_faces): Set windows_or_buffers_changed so as to ease
tracking of this undesirable situation.
(package--autoloads-file-name)
(package--activate-autoloads-and-load-path): New function.
(package-activate-1): Delegate autoloading and load-path
configuration to `package--activate-autoloads-and-load-path'.
(package--compile): Before compilation, call
`package--activate-autoloads-and-load-path' instead of
`package-activate-1'.
* src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a
symlink to a directory, try again with 'rmdir'.
(is_symlink): If the argument is a symlink to a directory, set a
bit in the return value to indicate that fact.
When `package-initialize' is called as part of loading the init file,
the user probably doesn't want it to be called again afterwards. In this
situation, `package-initialize' now sets `package-enable-at-startup' to
nil to prevent that. The user can have the old behaviour by setting this
variable to t after the call to `package-initialize'. (Bug#21423)
* doc/emacs/package.texi (Package Installation): Document it
* doc/lispref/package.texi (Packaging Basics): Document it
* etc/NEWS: Document it
* net/ntlm.el (ntlm): New customization group.
(ntlm-compatibility-level): New defcustom.
(ntlm-compute-timestamp): New function.
(ntlm-generate-nonce): Likewise.
(ntlm-build-auth-response): Add support for NTLMv2 authentication.
All of the recently introduced faces, like `package-name-face', have
been renamed to no end in `-face' to comply with the convention
described in (info "(elisp) Defining Faces").
(package-name, package-description)
(package-status-built-in, package-status-external)
(package-status-available, package-status-new)
(package-status-held, package-status-disabled)
(package-status-installed, package-status-dependency)
(package-status-unsigned, package-status-incompat)
(package-status-avail-obso): New faces.
(package-menu--print-info-simple): Use them.
* lisp/gnus/nnimap.el (nnimap-request-group): Handle nil "info" arg.
This arg isn't always passed in, check it's not nil before making it
into a list. The active arg will also be nil if the group is new,
check for that.
* lisp/filenotify.el (file-notify-handle-event):
(file-notify--pending-event): Adapt docstring.
(file-notify--descriptor, file-notify-callback): Reimplement in
order to support renaming over directory boundaries.
(file-notify-add-watch): Adapt `file-notify--descriptor' call.
* doc/lispref/os.texi (File Notifications): Remove limitation of
file renaming to the same directory.
Update map-some to return the returned by the predicate, similar to
seq-some.
* lisp/emacs-lisp/map.el (map-some): Update the function to return the
return value of the predicate.
* test/automated/map-tests.el (test-map-some): Update the test to check
for non-nil values only.
Remove the "-p" suffix from both function names.
* lisp/emacs-lisp/map.el (map-contains-key, map-some): Rename the functions.
* test/automated/map-tests.el (test-map-contains-key, test-map-some):
Update both test functions.
Update seq-some to return non-nil if the predicate returns non-nil for
any element of the seq, in which case the returned value is the one
returned by the predicate.
* lisp/emacs-lisp/seq.el (seq-some): Update the function and its
docstring.
* test/automated/seq-tests.el (test-seq-some): Add a regression test.
* doc/lispref/sequences.texi (Sequence Functions): Update the
documentation for seq-some.
* lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
without the "-p" prefix.
* test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
the tests accordingly.
* doc/lispref/sequences.texi (Sequence Functions): Update the
documentation for seq.el.
This fixes a bug introduced by the previous patch.
* lisp/help-fns.el (help-fns--signature):
Last arg of help-fns--signature is now a buffer, or nil if a
raw signature is wanted. All callers changed.
(describe-function-1): Use this to do the right thing with signatures.
* lisp/help-fns.el (describe-function-1): Compute signature
in the original buffer, not in standard-output, so that
substitute-command-keys uses the proper keybindings.
This fixes Bug#21412, introduced in commit
2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
* src/process.c (wait_reading_process_output): Add a
'tls_available' set and manipulate it instead of 'Available' when
checking TLS inputs. Assign the value to 'Available' only if we
find any TLS data waiting to be read. This avoids error messages
from 'inotify' that tries to read data it shouldn't. (Bug#21337)
* src/xdisp.c (forget_escape_and_glyphless_faces): New function.
(display_echo_area_1, redisplay_internal): Call it to avoid
reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
faces, which could case a segfault if the frame's face cache was
freed since the last redisplay. (Bug#21394)
* src/xfaces.c (free_realized_faces): Call forget_escape_and_glyphless_faces.
* src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
Copyright-paperwork-exempt: yes
This lets the builder optionally test Emacs behavior in other locales.
The C locale is still the default for tests.
* test/automated/Makefile.in (TEST_LOCALE): New macro.
(emacs): Use it.
* test/automated/flymake-tests.el (flymake-tests--current-face):
Use C locale for subprocesses so that tests behave as expected.
* test/automated/python-tests.el:
(python-shell-prompt-validate-regexps-1)
(python-shell-prompt-validate-regexps-2)
(python-shell-prompt-validate-regexps-3)
(python-shell-prompt-validate-regexps-4)
(python-shell-prompt-validate-regexps-5)
(python-shell-prompt-validate-regexps-6)
(python-shell-prompt-set-calculated-regexps-1):
Adjust expected output to match locale.
* test/automated/tildify-tests.el (tildify-test--test)
(tildify-space-test--test, tildify-space-undo-test--test):
This test assumes UTF-8 encoding.
Mostly these fixes prevent the transliteration of apostrophes
that should stay apostrophes. Also, prefer curved quotes in
Bahá’í proper names, as that’s the preferred Bahá’í style and
these names are chock-full of non-ASCII characters anyway.
* lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
(eieio-defclass-internal):
* lisp/emacs-lisp/eieio.el (defclass):
* lisp/hi-lock.el (hi-lock-mode):
Don’t transliterate Lisp apostrophes when generating a
doc string or diagnostic.
* lisp/international/mule-diag.el (list-coding-systems-1):
* lisp/international/ogonek.el (ogonek-jak, ogonek-how):
* lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
* lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
Substitute quotes before putting them in the help buffer.
* src/keyboard.h (struct kboard): Replace echo_after_prompt with new
echo_prompt which contains the actual string. Update all uses.
* src/keyboard.c (kset_echo_prompt): New function.
(echo_update): Add echo_prompt at the very beginning.
(read_char): Remove workaround for bug#19875, not needed any more.
(read_key_sequence): Set echo_prompt rather than echo_string (bug#21403).
(mark_kboards): Mark echo_prompt.
* lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
* lisp/emacs-lisp/disass.el: Use lexical-binding.
(disassemble): Recognize `closure's as well.
(disassemble-internal): Use indirect-function and
help-function-arglist, and accept `closure's.
(disassemble-internal): Use interactive-form.
(disassemble-1): Use functionp.