The following commits were skipped:
9a14b4d ; Merge: backports from master
ed962f2 Fix bug#30846, along with misc cleanups found along the way
3ba5fc2 esh-opt.el: Fix improper parsing of first argument (Bug#28323)
0ac98cc * lisp/epa.el (epa-decrypt-file): Apply epa-pinentry-mode (Bu...
9552485 Fix cl-print for circular sublists (Bug#31146)
4c6cdf6 Revert "Make mail-extract-address-components return the user ...
51ee8bc Centralize Bug#30931 fix
daa6023 Fix another case of freed markers in the undo-list (Bug#30931)
7460840 Fix CHECK_ALLOCATED_AND_LIVE abort during GC
71192e0 Don't wait for visible frames to become visible
5fa73a7 query-replace undo: Handle when user edits the replacement st...
031004e Backport: Fix corner case in query-replace-regexp undo
50c0624 Backport: Preserve case in query-replace undo
* lisp/files.el (file-name-unquote-non-special): Remove.
(file-name-quoted-p, file-name-quote, file-name-unquote):
Add optional argument TOP.
(file-name-non-special): Adapt callees. Finish implementation of
functions which need a local copy. (Bug#31489)
* lisp/emacs-lisp/cl-print.el (cl-print--depth): New variable.
(cl-print-object) <cons>: Print ellipsis if printing depth greater
than 'print-level' or length of list greater than 'print-length'.
(cl-print-object) <vector>: Truncate printing with ellipsis if
vector is longer than 'print-length'.
(cl-print-object) <cl-structure-object>: Truncate printing with
ellipsis if structure has more slots than 'print-length'.
(cl-print-object) <:around>: Bind 'cl-print--depth'.
* test/lisp/emacs-lisp/cl-print-tests.el
(cl-print-tests-3, cl-print-tests-4): New tests.
(cherry picked from commit 0f48d18fd2)
Except for the important detail that it doesn't make temporary files,
the new flymake-cc backend doesn't yet behave much differently from
the old flymake-proc-legacy-flymake, i.e. it still needs a special
`check-syntax' Makefile target to provide the compiler and compilation
flags. However, the new infrastructure created should allow less
intrusive cleverer flag guessers (yet to be written) to replace that
mechanism.
* lisp/progmodes/cc-mode.el (c-mode, c++-mode): Add to
flymake-diagnostic-functions.
* lisp/progmodes/flymake-cc.el: New file.
* lisp/term.el (term-handle-ansi-terminal-messages): Use an explicit
tramp method when constructing the tramp path for a non-local host,
as this is now mandatory. "-" is a pseudo-method for the user's
`tramp-default-method'. (Bug#31355)
Specify the remote username explicitly in all cases, as
`tramp-default-user' and `tramp-default-user-alist' could cause the
previous logic to fail.
Minor related improvements to the commentary.
* test/src/data-tests.el (data-tests-kill-all-local-variables): New test.
* src/buffer.c (swap_out_buffer_local_variables): Remove.
Fuse the body of its loop into that of reset_buffer_local_variables.
(Fkill_buffer, Fkill_all_local_variables): Don't call it any more.
(reset_buffer_local_variables): Make sure the buffer's local binding
is swapped out before removing it from the alist (bug#30846).
Call watchers before actually killing the var.
* src/data.c (Fmake_local_variable): Simplify.
Use swap_in_global_binding to swap out any local binding, instead of
a mix of find_symbol_value followed by messing with where&found.
Don't call swap_in_symval_forwarding since the currently swapped
binding is never one we've modified.
(Fkill_local_variable): Use swap_in_global_binding rather than messing
with where&found to try and trick find_symbol_value into doing the same.
* src/alloc.c (mark_localized_symbol): 'where' can't be a frame any more.
(cherry picked from commit 3ddff08034)
Examples of broken behavior:
sudo -u root whoami
Outputs: -u
ls -I '*.txt' /dev/null
Errors with: *.txt: No such file or directory
* lisp/eshell/esh-opt.el (eshell--process-args): Refactor usage of
args to eshell--args, as we rely on modifications from
eshell--process-option and vice versa. These modifications were not
being propogated in the (if (= ai 0)) case, since popping the first
element of a list doesn't destructively modify the underlying list
object.
(cherry picked from commit 92a8230e49)
* lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each
element of list being printed onto cl-print--currently-printing.
* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New
test.
(cherry picked from commit b8aa7ecf54)
This reverts commit 8b50ae8b22.
According to tests in bug#27656 by OGAWA Hirofumi, this patch
led to wrong results when binding
(dolist (addr '("Rasmus <rasmus@gmx.us>" "Rasmus <mbox@gmx.us>"))
(dolist (ignore-single '(t nil))
(dolist (ignore-same '(t nil))
(let ((mail-extr-ignore-single-names ignore-single)
(mail-extr-ignore-realname-equals-mailbox-name ignore-same))
(message "%s" (mail-extract-address-components addr))))))
in combination.
(cherry picked from commit a3a9d5434d)
* src/marker.c (detach_marker): New function.
* src/editfns.c (save_restriction_restore):
* src/insdel.c (signal_before_change): Use it.
(cherry picked from commit 6f66a43d7a)
* src/alloc.c (free_marker): Remove.
* src/editfns.c (save_restriction_restore):
* src/insdel.c (signal_before_change): Detach the markers from the
buffer when we're done with them instead of calling free_marker on
them.
* test/src/editfns-tests.el (delete-region-undo-markers-1)
(delete-region-undo-markers-2): New tests.
(cherry picked from commit 96b8747d5c)
* lisp/replace.el (perform-replace): Update the replacement string
after the user edit it (Fix Bug#31538).
* test/lisp/replace-tests.el (query-replace-undo-bug31538): New test.
Backport: (cherry picked from commits
ea133e04f4
and
7dcfdf5b14)
If the user query and replaces 'foo' with 'BAR', then
undo must comeback to 'foo', not to 'FOO' (Bug#31073).
* lisp/replace.el (perform-replace): Bind nocasify to non-nil
value during undo/undo-all actions.
* test/lisp/replace-tests.el (query-replace-undo-bug31073): Add test.
(cherry picked from commit 32dc0cb1b5)
The following commits were skipped:
6e0ff4c Fix decoding of directories when "~" includes non-ASCII chars
35c1ab1 Don't remove highlight of misspelled word on pdict save
aac541e Fix some problems in the Cairo build
e96245a Avoid infloops in font_open_entity
3a06e72 Fix encoding of characters when using GB18030 fonts
7782550 Fix C-p and C-n when wrap-prefix is too wide
9804482 Avoid redisplay problems with too wide wrap-prefix
5ee9ccf Fix 'posn-at-point' when line numbers are displayed
c4db766 Another followup to fixing 'window-text-pixel-width'
a6cf7be Fix mouse-set-point when line numbers are displayed
ae78b14 * src/xdisp.c (Fwindow_text_pixel_size): Fix last change.
f1f12d8 Fix 'window-text-pixel-size' when display properties are around
8b2b4b5 Fix display of TABs in hscrolled windows with line numbers
de69d28 Fix wait_reading_process_output wait_proc hang
90bea37 ; * etc/PROBLEMS: Fix fvwm version number in last commit
af82d1f * etc/PROBLEMS: Document stickyness problem with FVWM (Bug#31...
4a3aed2 Update Emacs Lisp Intro to match current behavior
21f2247 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
3257085 Fix previous commit
6d23525 Fix typos in several manuals (Bug#31610)
9188291 Add detailed documentation about lock files
e5471b2 Add commentary for subtle aspect of frame.el
Conflicts:
doc/lispintro/emacs-lisp-intro.texi
* src/fileio.c (Fexpand_file_name): Don't build multibyte strings
from unibyte non-ASCII strings when NAME and DEFAULT_DIRECTORY
have different multibyteness, as this adds bytes to the byte
sequence, and in some situations, e.g., when the home directory
includes non-ASCII characters, can fail file APIs. (Bug#30755)
* lisp/startup.el (normal-top-level): Make sure default-directory
is set to a multibyte string when decoded on MS-Windows.
(cherry picked from commit 3aab8626ba)
* lisp/textmodes/ispell.el (ispell-pdict-save): Don't restart
flyspell-mode, as bug#11963, which this was supposed to fix, is
fixed better by ispell-command-loop, when the user types 'i' or
'a'. Restarting Flyspell mode when the personal dictionary is
saved caused bug#31372 as side effect.
(ispell-command-loop): Test 'flyspell-mode', not whether
flyspell-unhighlight-at is fboundp, to determine whether Flyspell
mode is turned on in the current buffer.
(flyspell-unhighlight-at): Add declare-function form for it.
(cherry picked from commit 91e582a31a)
* src/font.c (font_open_entity): Fail after 15 iterations through
the loop that looks for a font whose average_width and height are
both positive. This avoids infinite loops for fonts that, e.g.,
report average_width of zero for any possible size we try.
(Bug#31316)
(cherry picked from commit e2879c1f83)
* src/xdisp.c (move_it_in_display_line_to): Avoid looping in
previous/next-line when wrap-prefix is set to a too-wide
stretch of whitespace. (Bug#30432)
(cherry picked from commit 842b3d7412)
* src/xdisp.c (display_line): Avoid looping in redisplay when
wrap-prefix is set to a too-wide stretch of whitespace.
(Bug#30432)
(cherry picked from commit 2a1fe08307)
* src/xdisp.c (pos_visible_p): For the leftmost glyph, adjust the X
coordinate due to line-number display. (Bug#30834)
(cherry picked from commit 4a20174d79)
* src/xdisp.c (Fwindow_text_pixel_size): Adjust the return value
when we stop one buffer position short of TO. (Bug#30746)
(cherry picked from commit 33cba5405c)