* src/keyboard.c (command_loop_1): Restore the feature whereby C-u
was part of this-command-keys, but not of this-single-command-keys.
(Bug#22107)
* lisp/simple.el (internal-echo-keystrokes-prefix): Add
commentary about the function's return value.
* doc/lispref/frames.texi (Parameter Access): Clarify what "ignored
PARMs" mean for 'modify-frame-parameters'.
* src/frame.c (Fmodify_frame_parameters): Clarify what "ignored
PARMs" mean for this function. (Bug#22104)
; `test/automated/ert.el' and `test/automated/ert-x.el' now run
; without errors.
* lisp/emacs-lisp/ert.el (ert--insert-human-readable-selector): Add
the `member' selector. This was accidentally dropped when code was
converted from `cl-typecase' (where `member' has a special meaning)
and `cl-ecase' (where it doesn't) to `pcase'.
* src/xdisp.c (redisplay_window): When someone forced
window-start, and honoring that failed to show the cursor, try
moving out of invisible text, before falling back to the middle of
the window. (Bug#22098)
When configured with --enable-locallisppath=no, which is the
default for OS X, the load-path incorrectly was populated with ".".
* src/lread.c (init_lread): Don't call `decode_env_path' when
PATH_SITELOADSEARCH is empty.
* doc/misc/calc.texi (Predefined Units): Use the bland modern
scientific style for spelling the units “ampere” and
“angstrom” rather than the older style “Ampere” and
“Ångstrom”. The latter spelling was wrong anyway (it should
have been “Ångström”).
* lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
Fix misspelling of ‘atom’ in code.
* lisp/simple.el (region-extract-function, delete-backward-char)
(delete-forward-char, kill-region, copy-region-as-kill)
(kill-ring-save): Better document the optional argument REGION in
the doc strings. Mention in the doc strings that text put in the
kill-ring can be filtered by 'filter-buffer-substring'.
* doc/lispref/text.texi (Kill Functions): Mention that functions
described in this subsection can filter text they put in the
kill-ring. Add a cross-reference to "Buffer Contents" and an
index entry. Document the optional argument 'region' and its
effect.
(Bug#21315)
* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
Make lax check for utf8.
(tramp-get-remote-locale): Add "en_US.UTF-8" as candidate.
* lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not append
trailing slash. Quote apostrophes.
(tramp-sh-handle-file-truename): Do not append trailing slash in
the "ls" case.
(tramp-get-ls-command-with-w-option): New defun.
(tramp-do-file-attributes-with-ls)
(tramp-do-directory-files-and-attributes-with-stat): Use it.
* test/automated/tramp-tests.el
(tramp-test31-special-characters-with-perl)
(tramp-test31-special-characters-with-ls)
(tramp-test32-utf8-with-perl, tramp-test32-utf8-with-ls):
Suppress also readlink.
* src/xdisp.c (redisplay_window): When scrolling fails to show
point, prefer using the desired matrix if possible for finding the
fallback glyph row for displaying the cursor. (Bug#22098)
(row_containing_pos): Exit the loop as soon as we hit the first
disabled glyph row. Otherwise we risk accessing garbled data and
departing to the no-no land.
* src/emacs-module.c (plain_values): New constant.
(module_nil): Now a constant.
(Finternal_module_call, value_to_lisp_bits, lisp_to_value_bits)
(syms_of_module): Use if, not #ifdef, so that both sides are
checked at compile-time, and so that GCC doesn’t complain
about an unused var in the typical case. Also, depend on
plain_values, not on WIDE_EMACS_INT; the code shouldn’t assume
that WIDE_EMACS_INT implies !USE_LSB_TAG.
(value_to_lisp_bits, lisp_to_value_bits): New functions.
Sign-extend integers rather than zero-extending them, as small
negative integers are more likely.
(value_to_lisp, lisp_to_value): Rewrite in terms of the new *_bits
functions.
(HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 0 if not already defined.
(mark_modules): Remove. All uses removed.
(lisp_to_value): Don’t assume Fcons returns a pointer aligned
to GCALIGNMENT.
(syms_of_module): Check that module_nil converts to Qnil.
* src/lisp.h (lisp_h_XSYMBOL, XSYMBOL): Use signed conversion, since
we prefer signed to unsigned when either will do.
(TAG_PTR): Sign-extend pointers when USE_LSB_TAG, as this is
a bit better for emacs-module.c.
* modules/mod-test/test.el (mod-test-sum-test):
Don’t attempt to match descriptions to operating systems.
It didn’t work on Fedora x86-64 running a 32-bit executable,
and it’s not worth the trouble anyway.
Port to 32-bit platforms by removing an assumption about
fixnum widths.
(package--with-response-buffer): NOERROR and ERROR-FORM only
handle connection errors.
(bad-signature): New error type.
(package--check-signature-content): Use it.
(package--check-signature): Properly distinguish connection errors
from bad-signature errors. Do the check for
`package-check-signature' `allow-unsigned' here instead of forcing
the callbacks to do it. Add a new argument, UNWIND.
(package--download-one-archive, package-install-from-archive):
Update usage of `package--check-signature'.
* lisp/calendar/icalendar.el (icalendar--get-unfolded-buffer):
Clean up inconsistent line endings. (Bug#22092)
(icalendar--clean-up-line-endings): New.
* test/automated/icalendar-tests.el (icalendar-real-world): Add test
for Bug#22092.
* doc/lispref/loading.texi (Dynamic Modules): New section with
initial documentation for dynamic modules.
* doc/lispref/elisp.texi (Top): Add "Dynamic Modules" to the
detailed menu
* etc/NEWS: Fix typos in dynamic modules' entry.
* etc/DEBUG: Add the "Preliminaries" section for GDB beginners.
Most of the content was suggested by Phillip Lord
<phillip.lord@russet.org.uk>. Remove the section about debugging
with the Visual Studio, as building Emacs with the Microsoft
compilers is no longer supported. Minor fixes in some other
sections.
* lisp/subr.el (version-regexp-alist): Allow "." as priority separator
(version-to-list): More helpful error messages.
(version-to-list): ".5" is valid (update docstring). Make
"22.8X3" invalid, as the doc string says.
* test/automated/subr-tests.el (ert-test-version-parsing): New
tests for version string processing.
Copyright-paperwork-exempt: yes
* doc/lispref/text.texi (Undo): Minor wording changes. Use US
English conventions for spelling and whitespace between sentences.
* etc/NEWS: Fix wording and spelling of undo-related entries.
Mark them as documented.
(net-utils--executable-find-sbin): New function.
(ifconfig-program): Check sbin directories.
Fallback to "ip". (Bug#22091)
(ifconfig-program-options): Check the actual program in use.
(arp-program): Check sbin directories.