* lib-src/etags.c: Set allocated and lastlen to zero, after
freeing last ptr in Erlang_functions to prevent dereferencing NULL
pointer (bug#45122).
Copyright-paperwork-exempt: yes
* lisp/net/rcirc.el (rcirc-server-parameters): New variable (bug#6795).
(rcirc-connect): Set it.
(rcirc-handler-433): Use the length from the server.
(rcirc-handler-005): Collect server data.
(rcirc-server-parameter-value): New utility function.
(rcirc--make-new-nick): New function.
* lisp/hexl.el (hexl-scroll-down):
(hexl-scroll-up): Take ruler-mode into account when computing the
number of lines (bug#7031). These commands would previously jump
one line too many by default, skipping one line.
* src/eval.c (syms_of_eval) <backtrace-on-error-noninteractive>:
Format the doc string according to conventions.
* etc/NEWS: Improve formatting and wording of the entry describing
'backtrace-on-error-noninteractive.
* lisp/comint.el (comint-previous-matching-input): Allow restoring
the input on wraps (bug#7885).
(comint-previous-matching-input-from-input): Restore input on wraps.
* lisp/image.el (find-image): Add an optional CACHE parameter.
(find-image--cache): New variable.
* lisp/tool-bar.el (tool-bar--image-expression): Use cached data
to avoid looking up the image files on each refresh.
The debugger needs to receive a list of the error symbol and data;
cf. the documentation of the `debugger' variable. This bug manifested
itself in ERT forms such as (should (integerp (ert-fail "Boo"))),
which resulted in an incorrect condition object. Note that forms such
as (should (ert-fail "Boo")) weren't affected because they wouldn't
use the `ert--should-signal-hook'.
* test/emacs-lisp/ert.el (ert--should-signal-hook): Call debugger with
the right arguments.
* test/lisp/emacs-lisp/ert-tests.el (ert-test-fail-inside-should): Add
unit test.
* lisp/desktop.el (desktop-read): Don't reload the desktop file if
it's already been loaded, because the later query may lead to
desktop-dirname being set to nil (bug#9765).
* lisp/progmodes/xref.el (xref-next-group): New command that navigates
to the first item of the next xref group (typically a file).
(xref-prev-group): New command that navigates
to the first item of the next xref group (typically a file).
(xref--xref-buffer-mode-map): Bound the new commands to 'N' and 'P',
respectively.
* doc/emacs/maintaining.texi (Xref Commands): Document the new
commands in the Emacs manual.
* etc/NEWS: Announce them (bug#45089).
* lisp/emacs-lisp/comp.el (comp-async-compilation): New variable.
(comp-final): Always run the C side of the compilation as a
sub-process unless during bootstrap or async compilation.
(comp-run-async-workers): Set `comp-async-compilation'.
* lisp/subr.el (run-hook-query-error-with-timeout): New function
(bug#28542).
* src/emacs.c (Fkill_emacs): Use it to allow exiting Emacs even if
there are errors in kill-emacs-hook.
(syms_of_emacs): Define the symbol.
* lisp/server.el (server-execute): Focus the frame here...
(server-switch-buffer): Instead of here (bug#15469). This ensures
that the frame has focus if Emacs is querying the user about
something when opening a file (for instance "Revert from file?").
* lisp/calc/calc-graph.el (calc-graph-plot): Don't use the "time"
abbreviation for "timestamp" (bug#39232) -- it's no longer valid
after
b979b5371b
Copyright-paperwork-exempt: yes
* lisp/textmodes/tex-mode.el (tex--quote-spec): New function
(bug#14286).
(tex-format-cmd): Use it.
(tex-compile): Don't quote the file names, because we're using
`file-exists-p' and friends on the results later, and that fails
on systems where everything is quoted, and on file names that need
quoting.
We have bignums and fast primitives now; no caches are needed.
* lisp/calc/calc-bin.el (math-power-of-2-cache)
(math-big-power-of-2-cache): Remove.
(math-power-of-2, math-integer-log2): Simplify.
(calcFunc-ash): Don't call math-power-of-2 with negative argument.
* src/eval.c (syms_of_eval): Define new variable
'backtrace-on-error-noninteractive' to selectively enable backtrace
printing in batch mode.
(signal_or_quit): Use it.
* etc/NEWS: Document new variable.
* test/src/eval-tests.el (eval-tests/backtrace-in-batch-mode/inhibit):
New unit test.