]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years agoDefault show-paren-mode to off in special-mode buffers
Lars Ingebrigtsen [Fri, 2 Sep 2022 12:23:15 +0000 (14:23 +0200)]
Default show-paren-mode to off in special-mode buffers

* doc/emacs/programs.texi (Matching): Mention the new user option.

* doc/misc/efaq.texi (Matching parentheses): Adjust text to the
current state of affairs.

* lisp/paren.el (show-paren-function): New user option (bug#50894).
(show-paren-mode): Mention it.
(show-paren-function): Use it.

2 years agoClean up ispell "look"-related variables
Lars Ingebrigtsen [Fri, 2 Sep 2022 11:34:55 +0000 (13:34 +0200)]
Clean up ispell "look"-related variables

* lisp/textmodes/ispell.el (ispell-look-p): Make obsolete.
(ispell-lookup-words): Look up the look command at run time
instead (bug#50852).
(ispell-have-new-look): Make obsolete.
(ispell-look-options): Adjust.  Apparently the version of "look"
that had a "-r" (regexp interface) never took off -- it's not
present in GNU/Linux or Macos, at least, as far as we can tell.

2 years agoFix quotes in mailcap-add-mailcap-entry doc string
Lars Ingebrigtsen [Fri, 2 Sep 2022 10:09:18 +0000 (12:09 +0200)]
Fix quotes in mailcap-add-mailcap-entry doc string

* lisp/net/mailcap.el (mailcap-add-mailcap-entry): Fix usage of
quotes.

2 years agoRestructure ‘mailcap-add-mailcap-entry’
Felix Dietrich [Sun, 6 Mar 2022 19:41:41 +0000 (20:41 +0100)]
Restructure ‘mailcap-add-mailcap-entry’

* lisp/net/mailcap.el (mailcap-add-mailcap-entry):
Restructure mailcap-add-mailcap-entry to improve readability.

2 years agoAdd tests for ‘mailcap-add-mailcap-entry’
Felix Dietrich [Mon, 14 Mar 2022 13:01:26 +0000 (14:01 +0100)]
Add tests for ‘mailcap-add-mailcap-entry’

* test/lisp/net/mailcap-tests.el:
Add tests for ‘mailcap-add-mailcap-entry’

2 years agoUse frame-monitor-attributes in gamegrid
Robert Pluim [Fri, 2 Sep 2022 09:15:43 +0000 (11:15 +0200)]
Use frame-monitor-attributes in gamegrid

* lisp/play/gamegrid.el (gamegrid-calculate-glyph-size): Use
`frame-monitor-attributes' to get the frame attributes directly
instead of iterating over `display-monitor-attributes-list'.

2 years agoPrevent crashes when embedding Emacs in a nonexistent parent
Po Lu [Fri, 2 Sep 2022 09:19:29 +0000 (17:19 +0800)]
Prevent crashes when embedding Emacs in a nonexistent parent

* src/xfns.c (x_window, Fx_create_frame): Handle X errors while
trying to reparent the frame onto an explicitly specified
parent.
* src/xterm.c (handle_one_xevent): Handle unparenting embedded
windows correctly.  This only works if the embedder is aware of
the fixes extension and has put the window into the right save
set.
(x_embed_frame): New function.
* src/xterm.h (FRAME_X_EMBEDDED_P): Fix coding style.

2 years agoMake single char entry easier for `describe-char-fold-equivalences'
Robert Pluim [Thu, 1 Sep 2022 16:10:58 +0000 (18:10 +0200)]
Make single char entry easier for `describe-char-fold-equivalences'

* lisp/char-fold.el (describe-char-fold-equivalences): Improve
docstring.  Pass t for 'allow-single' arg in call to
`read-char-by-name' so that single characters can be entered directly.

2 years agoAllow easy entry of single chars in `read-char-by-name'
Robert Pluim [Thu, 1 Sep 2022 15:59:10 +0000 (17:59 +0200)]
Allow easy entry of single chars in `read-char-by-name'

* lisp/international/mule-cmds.el (read-char-by-name): Add optional
'allow-single' argument, meaning to accept single chars as themselves.

2 years agoldap-host-parameters-alist: Add auth-source option
Fabrice Bauzac-Stehly [Fri, 2 Sep 2022 04:23:46 +0000 (00:23 -0400)]
ldap-host-parameters-alist: Add auth-source option

* lisp/net/ldap.el (ldap-host-parameters-alist): Add auth-source
to checklist.

2 years agoUnder no-X builds, allow any value for 'fringe-bitmap' options
Jim Porter [Thu, 1 Sep 2022 05:52:34 +0000 (22:52 -0700)]
Under no-X builds, allow any value for 'fringe-bitmap' options

* lisp/cus-edit (fringe-bitmap): Always match under no-X.

2 years agoFix bug#57476 for Xt builds
Po Lu [Thu, 1 Sep 2022 13:22:17 +0000 (21:22 +0800)]
Fix bug#57476 for Xt builds

* src/xterm.c (handle_one_xevent): Add similar event mode check
to code under USE_X_TOOLKIT conditional.  (bug#57476)

2 years agoMake easy-mmode-define-keymap obsolete
Lars Ingebrigtsen [Thu, 1 Sep 2022 11:42:19 +0000 (13:42 +0200)]
Make easy-mmode-define-keymap obsolete

* lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-keymap): Make
obsolete.
(define-minor-mode): Add comment.

2 years agoMake easy-mmode-defmap obsolete and adjust only caller
Lars Ingebrigtsen [Thu, 1 Sep 2022 11:39:14 +0000 (13:39 +0200)]
Make easy-mmode-defmap obsolete and adjust only caller

* lisp/emacs-lisp/easy-mmode.el (easy-mmode-defmap): Make obsolete.
* lisp/progmodes/gud.el (gud-menu-map): Use easy-menu-define.

2 years agoFix outline-minor-mode-map
Lars Ingebrigtsen [Thu, 1 Sep 2022 10:24:17 +0000 (12:24 +0200)]
Fix outline-minor-mode-map

* lisp/outline.el (outline-minor-mode): Avoid using
easy-mmode-define-keymap, since it doesn't handle :inherit
correctly (bug#57512).

2 years agoMake file-parent-directory more efficient
Daanturo [Thu, 1 Sep 2022 10:08:05 +0000 (12:08 +0200)]
Make file-parent-directory more efficient

* lisp/files.el (file-parent-directory): Use equal instead of
file-equal-p to compare the found parent and the child
(bug#56355).  This is much faster.

2 years agoBetter `take` and `ntake` bignum argument handling
Mattias Engdegård [Wed, 31 Aug 2022 12:31:31 +0000 (14:31 +0200)]
Better `take` and `ntake` bignum argument handling

* src/fns.c (Ftake, Fntake): Treat positive bignum arguments
as most-positive-fixnum which results in better error checking
of improper lists.

2 years ago; * etc/NEWS: Fix documentation marking of recently-added entries.
Eli Zaretskii [Thu, 1 Sep 2022 08:04:46 +0000 (11:04 +0300)]
; * etc/NEWS: Fix documentation marking of recently-added entries.

2 years ago; * src/xdisp.c (lookup_glyphless_char_display): Fix last merge.
Eli Zaretskii [Thu, 1 Sep 2022 05:56:30 +0000 (08:56 +0300)]
; * src/xdisp.c (lookup_glyphless_char_display): Fix last merge.

2 years ago; Merge from origin/emacs-28
Stefan Kangas [Thu, 1 Sep 2022 04:17:37 +0000 (06:17 +0200)]
; Merge from origin/emacs-28

The following commit was skipped:

f44c4e49b7 ; Auto-commit of loaddefs files.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Thu, 1 Sep 2022 04:17:37 +0000 (06:17 +0200)]
Merge from origin/emacs-28

8807a4f532 Enable 256 colors in fbterm.
bbc23ca8ab One more fix for find-file.el
0cbcaf5119 ; Yet another doc fix for 'ff-other-file-alist' (bug#57325)
2d9a391727 Recommend using fbterm in the Linux console.
a5a92e577c ; * src/window.c (syms_of_window) <window-point-insertion-...
4d52fe6b96 * lisp/find-file.el (ff-other-file-alist): Doc fix.  (Bug#...
d111b5b651 * lisp/info.el (Info-mode): Support the Linux console better.
cc945ec0ed ; Fix doc strings in latin1-disp.el
195fcc932e Improve the documentation of glyphless-character display
72ae02377e ; * lisp/jit-lock.el (jit-lock-chunk-size): Doc fix.
3fb69fad49 Fix documentation of 'glyphless-char-display'

# Conflicts:
# lisp/international/characters.el
# src/xdisp.c

2 years agoUpdate publicsuffix.txt from upstream
Stefan Kangas [Thu, 1 Sep 2022 04:01:40 +0000 (06:01 +0200)]
Update publicsuffix.txt from upstream

* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-08-25 13:54:14 UTC.

2 years ago; Auto-commit of loaddefs files.
Stefan Kangas [Thu, 1 Sep 2022 03:10:19 +0000 (05:10 +0200)]
; Auto-commit of loaddefs files.

2 years ago; Auto-commit of loaddefs files.
Stefan Kangas [Thu, 1 Sep 2022 03:07:06 +0000 (05:07 +0200)]
; Auto-commit of loaddefs files.

2 years agoDon't fail Eshell ERT tests when an internal signal gets raised
Jim Porter [Wed, 31 Aug 2022 16:47:43 +0000 (09:47 -0700)]
Don't fail Eshell ERT tests when an internal signal gets raised

* test/lisp/eshell/esh-proc-tests.el
(esh-proc-test/pipeline-connection-type/middle)
(esh-proc-test/pipeline-connection-type/last): Set 'debug-on-error' to
nil.

Ref: https://lists.gnu.org/archive/html/emacs-devel/2022-08/msg01452.html

2 years agoC++ Mode: Fontify functions correctly with commas in template expressions
Alan Mackenzie [Wed, 31 Aug 2022 18:46:06 +0000 (18:46 +0000)]
C++ Mode: Fontify functions correctly with commas in template expressions

This fixes bug #57318.

Also apply an optimization which marks generic expressions as already
analyzed, thus avoiding repeating this analysis when not needed.  This
optimization prevents the fix slowing down scrolling when the C++ source has
lots of template structures.

* lisp/progmodes/cc-engine.el (top-level) Near the beginning of the file, add
a comment describing the new text property c-<>-c-types-set.
(c-update-brace-stack): Bind c-restricted-<>-arglists to nil rather than t
around the call to c-forward-<>-arglist.
(c-forward-<>-arglist-recur): Allow the abbreviated analysis of a generic
expression also when the opening < is marked with a c-<>-c-types-set text
property.  Set this property at the same time as the c-type properties are set
on the commas inside the template structure.

* lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Clear the
c-<>-c-types-set text property, along with c-type, from the region being
fontified.

2 years agoFix describe-char-fold-equivalences for composed characters
Robert Pluim [Wed, 31 Aug 2022 16:08:49 +0000 (18:08 +0200)]
Fix describe-char-fold-equivalences for composed characters

* lisp/char-fold.el (describe-char-fold-equivalences): Map
`get-char-code-property' across all the component codepoints of the
equivalent character rather than just the first one.

2 years ago; Fix the lispref manual about seq.el
Eli Zaretskii [Wed, 31 Aug 2022 16:15:16 +0000 (19:15 +0300)]
; Fix the lispref manual about seq.el

* doc/lispref/sequences.texi (Sequence Functions): seq.el is
preloaded, so no need to load it manually.  (Bug#57505)

2 years agoFix semantic-find-file-noselect binding of recentf-exclude
ookami [Wed, 31 Aug 2022 10:10:42 +0000 (12:10 +0200)]
Fix semantic-find-file-noselect binding of recentf-exclude

* lisp/cedet/semantic/fw.el (semantic-find-file-noselect):
recentf-exclude should be a list (bug#57489).

Copyright-paperwork-exempt: yes

2 years agoGently nudge Xt into always setting size hints
Po Lu [Wed, 31 Aug 2022 02:17:20 +0000 (10:17 +0800)]
Gently nudge Xt into always setting size hints

* src/widget.c (update_wm_hints): Force a resource to change
every time this function is called.  (bug#57475)
(EmacsFrameInitialize): Initialize new field.
* src/widgetprv.h (EmacsFramePart): New field `size_switch'.
* src/xterm.c (x_wm_set_size_hint): Don't change flags if flags
is 0.

2 years agoFix bug#57476
Po Lu [Wed, 31 Aug 2022 01:44:13 +0000 (09:44 +0800)]
Fix bug#57476

* src/xterm.c (handle_one_xevent): Don't reset valuators on certain
crossing events, for the benefit of xfwm4.  (bug#57476)

2 years agot-mouse.el: Make sure we apply the setting to new terminals
Stefan Monnier [Tue, 30 Aug 2022 21:55:03 +0000 (17:55 -0400)]
t-mouse.el: Make sure we apply the setting to new terminals

* lisp/t-mouse.el (gpm-mouse-tty-setup): New function.
(gpm-mouse-mode): Use it as well as `tty-setup-hook`.
* lisp/term/linux.el (terminal-init-linux): Remove gpm-specific code,
not neded any more.

2 years agoEnable 256 colors in fbterm.
Gregory Heytings [Tue, 30 Aug 2022 21:03:01 +0000 (21:03 +0000)]
Enable 256 colors in fbterm.

* lisp/term/fbterm.el: New file.

* doc/misc/efaq.texi (Emacs in a Linux console): Document the TERM
environment variable with which the new file is used.

2 years ago; Minor doc fix in Viper
Stefan Kangas [Tue, 30 Aug 2022 19:31:17 +0000 (21:31 +0200)]
; Minor doc fix in Viper

* lisp/emulation/viper-macs.el (viper-repeat-from-history-key):
Minor doc fix.

2 years ago; * lisp/doc-view.el (doc-view): Fix punctuation.
Stefan Kangas [Tue, 30 Aug 2022 17:35:14 +0000 (19:35 +0200)]
; * lisp/doc-view.el (doc-view): Fix punctuation.

2 years ago; Improve doc string of 'describe-char-fold-equivalences'
Eli Zaretskii [Tue, 30 Aug 2022 17:20:40 +0000 (20:20 +0300)]
; Improve doc string of 'describe-char-fold-equivalences'

* lisp/char-fold.el (describe-char-fold-equivalences): Autoload
it.  Doc fix.

2 years agoFix 744ed0ceeed7472a160fea7154939cf641205577 from bug#57082 (bug#57176)
Juri Linkov [Tue, 30 Aug 2022 17:09:20 +0000 (20:09 +0300)]
Fix 744ed0ceeed7472a160fea7154939cf641205577 from bug#57082 (bug#57176)

* lisp/outline.el (outline-minor-mode-highlight-buffer): Handle 'append'.
(outline-minor-mode): Call outline--fix-up-all-buttons when font-lock is used.

* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common): Fix regexp.

2 years agoOne more fix for find-file.el
Eli Zaretskii [Tue, 30 Aug 2022 16:09:00 +0000 (19:09 +0300)]
One more fix for find-file.el

* lisp/find-file.el (ff-get-file-name): Use 'expand-file-name'
instead of 'concat', which doesn't DTRT with absolute file names.
(ff-other-file-alist): Yet another doc fix.  (Bug#57325)

2 years agoAccept bignum arguments in `take` and `ntake`
Mattias Engdegård [Tue, 30 Aug 2022 14:44:51 +0000 (16:44 +0200)]
Accept bignum arguments in `take` and `ntake`

* src/fns.c (Ftake, Fntake): Accept any integer as first argument, for
completeness.
* test/src/fns-tests.el (fns--take-ntake): Add test cases.

2 years ago; * src/lread.c (invalid_radix_integer): Use a local buffer.
Mattias Engdegård [Tue, 30 Aug 2022 09:57:29 +0000 (11:57 +0200)]
; * src/lread.c (invalid_radix_integer): Use a local buffer.

2 years ago; * etc/NEWS: Clarify wording of "C-x v v" entry.
Eli Zaretskii [Tue, 30 Aug 2022 13:12:37 +0000 (16:12 +0300)]
; * etc/NEWS: Clarify wording of "C-x v v" entry.

2 years ago; Yet another doc fix for 'ff-other-file-alist' (bug#57325)
Eli Zaretskii [Tue, 30 Aug 2022 12:42:34 +0000 (15:42 +0300)]
; Yet another doc fix for 'ff-other-file-alist' (bug#57325)

2 years agoFix junk data being returned with incremental selection transfers
Po Lu [Tue, 30 Aug 2022 11:27:39 +0000 (19:27 +0800)]
Fix junk data being returned with incremental selection transfers

* src/xselect.c (receive_incremental_selection): New arg
REAL_BYTES_RET.  Set it to the actual size instead of using the
size of the array after it was grown by xpalloc.
(x_get_window_property_as_lisp_data): Adjust call to
receive_incremental_selection.

2 years ago; Ignore test/gmo.h in .gitignore
Gerd Möllmann [Tue, 30 Aug 2022 10:54:29 +0000 (12:54 +0200)]
; Ignore test/gmo.h in .gitignore

2 years ago; * src/lread.c (read0): Fix specpdl off-by-one bug in last change.
Mattias Engdegård [Tue, 30 Aug 2022 09:20:42 +0000 (11:20 +0200)]
; * src/lread.c (read0): Fix specpdl off-by-one bug in last change.

2 years agoFix char-fold compilation warning
Lars Ingebrigtsen [Tue, 30 Aug 2022 08:53:11 +0000 (10:53 +0200)]
Fix char-fold compilation warning

* lisp/char-fold.el (require): Get string-join definition.

2 years ago* lisp/char-fold.el (describe-char-fold-equivalences): New command.
Juri Linkov [Tue, 30 Aug 2022 07:28:34 +0000 (10:28 +0300)]
* lisp/char-fold.el (describe-char-fold-equivalences): New command.

(char-fold--no-regexp): New internal variable.
(char-fold--make-table): Use it to skip translation to regexp.
Suggested by Robert Pluim <rpluim@gmail.com>.
https://lists.gnu.org/archive/html/emacs-devel/2022-07/msg00864.html

2 years agoHandle 'eshell-pipe-broken' when evaluating Lisp forms in Eshell
Jim Porter [Mon, 22 Aug 2022 16:53:24 +0000 (09:53 -0700)]
Handle 'eshell-pipe-broken' when evaluating Lisp forms in Eshell

* lisp/eshell/esh-cmd.el (eshell-exec-lisp): Handle
'eshell-pipe-broken'.

* lisp/eshell/esh-io.el (eshell-output-object-to-target): Only signal
'eshell-pipe-broken' if the process being written to has finished.

* test/lisp/eshell/esh-proc-tests.el
(esh-proc-test/pipeline-connection-type/middle)
(esh-proc-test/pipeline-connection-type/last): Remove ':unstable'.

Ref: https://lists.gnu.org/archive/html/emacs-devel/2022-08/msg00524.html

2 years agoRecommend using fbterm in the Linux console.
Gregory Heytings [Mon, 29 Aug 2022 16:06:37 +0000 (16:06 +0000)]
Recommend using fbterm in the Linux console.

* doc/misc/efaq.texi (Emacs in a Linux console): New node.
(Common requests): Entry for the new node.

* etc/PROBLEMS (Linux console problems...): Mention the new FAQ node.

2 years agoImprove point-at-{bol,eol} obsoletion message
Stefan Kangas [Mon, 29 Aug 2022 17:26:39 +0000 (19:26 +0200)]
Improve point-at-{bol,eol} obsoletion message

* lisp/subr.el (point-at-eol, point-at-bol): Mention 'pos-eol' and
'pos-bol' in obsoletion message.

2 years agoFix reader memory leak upon error (bug#56623)
Mattias Engdegård [Mon, 29 Aug 2022 15:44:31 +0000 (17:44 +0200)]
Fix reader memory leak upon error (bug#56623)

Reported by Tom Gillespie; error found by Greg Hendershott.

* src/lread.c (read_stack_reset): New.
(read0): Reset read stack when unwinding from an error.

2 years agoShow gdb-mi disassembly over tramp
Jake Moss [Mon, 29 Aug 2022 15:23:46 +0000 (17:23 +0200)]
Show gdb-mi disassembly over tramp

* lisp/progmodes/gdb-mi.el (gdb-invalidate-disassembly): Show
gdb-mi disassembly over tramp (bug#57464).

Copyright-paperwork-exempt: yes

2 years agoWork around `&' dired command when using the fish shell
Lars Ingebrigtsen [Mon, 29 Aug 2022 15:15:17 +0000 (17:15 +0200)]
Work around `&' dired command when using the fish shell

* lisp/dired-aux.el (dired-shell-stuff-it): Add a space before
&wait; this apparently makes the `&' command work with the fish
shell (bug#57472).

2 years ago; * src/window.c (syms_of_window) <window-point-insertion-type>: Doc fix.
Eli Zaretskii [Mon, 29 Aug 2022 14:09:02 +0000 (17:09 +0300)]
; * src/window.c (syms_of_window) <window-point-insertion-type>: Doc fix.

2 years ago* lisp/find-file.el (ff-other-file-alist): Doc fix. (Bug#57325)
Eli Zaretskii [Mon, 29 Aug 2022 14:02:46 +0000 (17:02 +0300)]
* lisp/find-file.el (ff-other-file-alist): Doc fix.  (Bug#57325)

2 years agoFix point adjustment in recreated *Messages* buffers
Eli Zaretskii [Mon, 29 Aug 2022 13:52:07 +0000 (16:52 +0300)]
Fix point adjustment in recreated *Messages* buffers

* lisp/startup.el (normal-top-level): Move setting of
'window-point-insertion-type' from here...
* lisp/simple.el (messages-buffer-mode): ...to here.  This is so
any *Messages* buffers we create instead of the original one, if
it's killed, will have the same type of the window-point marker.
(Bug#57466)

2 years ago* src/keyboard.c (safe_run_hooks*): Simplify and generalize
Stefan Monnier [Mon, 29 Aug 2022 13:03:34 +0000 (09:03 -0400)]
* src/keyboard.c (safe_run_hooks*): Simplify and generalize

(safe_run_hooks_1, safe_run_hook_funcall): Simplify and generalize to
arbitrary `nargs`.
(safe_run_hooks_error): Remove unneeded assertion.

2 years agoDo not connect unreachable remote hosts in recentf
Michael Albinus [Mon, 29 Aug 2022 10:05:02 +0000 (12:05 +0200)]
Do not connect unreachable remote hosts in recentf

* lisp/recentf.el (recentf-expand-file-name): Protect against
stalled remote hosts.  (Bug#57336)

2 years agoUnify floating point handling when reading XI motion events
Po Lu [Mon, 29 Aug 2022 09:23:18 +0000 (17:23 +0800)]
Unify floating point handling when reading XI motion events

* src/xterm.c (handle_one_xevent): Always round values as
recommended, instead of just truncating them.  Also fixes
weird "jitter" during drag-and-drop on some clients.

2 years ago'C-c C-d' on vc-log buffer shows the diff from 'vc-log-fileset' (bug#52349)
Juri Linkov [Sun, 28 Aug 2022 19:44:52 +0000 (22:44 +0300)]
'C-c C-d' on vc-log buffer shows the diff from 'vc-log-fileset' (bug#52349)

* lisp/vc/log-edit.el (log-edit-diff-fileset): New function.

* lisp/vc/vc-dispatcher.el (vc-log-edit): Set log-edit-diff-function to
log-edit-diff-fileset instead of vc-diff.

* lisp/vc/vc.el (vc-diff): New optional arg ‘fileset’.
If non-nil, use instead of vc-deduce-fileset.

2 years ago'C-x v v' on a diff buffer commits it as a patch (bug#52349)
Juri Linkov [Sun, 28 Aug 2022 19:38:51 +0000 (22:38 +0300)]
'C-x v v' on a diff buffer commits it as a patch (bug#52349)

* lisp/vc/diff-mode.el (diff-vc-deduce-fileset): New function.

* lisp/vc/log-edit.el (log-edit-diff-patch): New function.

* lisp/vc/vc-dispatcher.el (vc-log-edit): Set log-edit-diff-function
to log-edit-diff-patch when vc-patch-string is non-nil.
(vc-start-logentry): New optional arg 'patch-string'.
Set buffer-local 'vc-patch-string' to 'patch-string'.
(vc-dispatcher-browsing): Add (derived-mode-p 'diff-mode).

* lisp/vc/vc-git.el (vc-git-checkin-patch): New function.
(vc-git-checkin): When vc-git-patch-string is non-nil,
use `git apply --cached` to add the patch to the index,
then commit the staged changes.

* lisp/vc/vc.el: New backend function 'checkin-patch'.
(vc-deduce-fileset-1): Call diff-vc-deduce-fileset in diff-mode.
(vc-next-action): For model 'patch' call vc-checkin with the
diff buffer string.
(vc-checkin): New optional arg 'patch-string'.
Call backend function 'checkin-patch' when 'patch-string' is non-nil.
Call vc-start-logentry with 'patch-string'.
(vc-diff-patch-string): New function.

2 years agoRevert parts of 3f076a8e44 that caused test failures
Juri Linkov [Sun, 28 Aug 2022 19:13:45 +0000 (22:13 +0300)]
Revert parts of 3f076a8e44 that caused test failures

* lisp/simple.el (line-move-finish):
* lisp/window.el (scroll-command--goto-goal-column):
Revert back to using truncate-partial-width-windows instead of
truncated-partial-width-window-p.  This change caused test failures
in lisp/ls-lisp-tests.log and lisp/emacs-lisp/edebug-tests.log.

2 years agoFix data for files-tests-bug-21454 on Cygwin
Ken Brown [Sat, 27 Aug 2022 21:42:42 +0000 (17:42 -0400)]
Fix data for files-tests-bug-21454 on Cygwin

* test/lisp/files-tests.el (files-tests-bug-21454): Fix test data
to reflect the fact that Cygwin supports UNC paths.

2 years ago; Fix docs of glyphless-character display
Eli Zaretskii [Sun, 28 Aug 2022 14:40:49 +0000 (17:40 +0300)]
; Fix docs of glyphless-character display

* etc/NEWS: Update "glyphless character" entries.

* doc/lispref/display.texi (Glyphless Chars): The extra slot of
the char-table can now use a cons cell.

2 years ago* lisp/info.el (Info-mode): Support the Linux console better.
Eli Zaretskii [Sun, 28 Aug 2022 11:42:07 +0000 (14:42 +0300)]
* lisp/info.el (Info-mode): Support the Linux console better.

2 years ago; Autoload 'latin1-display-ucs-per-lynx'
Eli Zaretskii [Sun, 28 Aug 2022 05:57:13 +0000 (08:57 +0300)]
; Autoload 'latin1-display-ucs-per-lynx'

* lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
Autoload it, since we autoload 'latin1-display'.

2 years ago; Fix doc strings in latin1-disp.el
Eli Zaretskii [Sun, 28 Aug 2022 05:51:09 +0000 (08:51 +0300)]
; Fix doc strings in latin1-disp.el

* lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx)
(latin1-display): Doc fix.

2 years agoImprove the documentation of glyphless-character display
Eli Zaretskii [Sun, 28 Aug 2022 05:40:25 +0000 (08:40 +0300)]
Improve the documentation of glyphless-character display

* lisp/international/characters.el (glyphless-char-display-control):
* src/xdisp.c (syms_of_xdisp) <glyphless-char-display>: Mention
the 'glyphless-char' face in the doc string.

* doc/lispref/display.texi (Glyphless Chars): Index
'glyphless-char' face.

2 years agoFix two issues in xterm.c
Po Lu [Sun, 28 Aug 2022 04:02:43 +0000 (12:02 +0800)]
Fix two issues in xterm.c

* src/xterm.c (x_atom_refs): Make EMACS_SERVER_TIME_PROP atom
have a vendor-specific prefix.
(x_query_pointer_1): Fix leak of button mask.

2 years agoUse truncated-partial-width-window-p in more places (bug#56815)
Juri Linkov [Sat, 27 Aug 2022 19:52:03 +0000 (22:52 +0300)]
Use truncated-partial-width-window-p in more places (bug#56815)

* lisp/simple.el (line-move, line-move-finish):
Use truncated-partial-width-window-p.

* lisp/window.el (count-screen-lines, scroll-command--goto-goal-column):
Use truncated-partial-width-window-p.
(truncated-partial-width-window-p): Replace window-width with
window-total-width.

* src/indent.c (scan_for_column): Bring the logic of using
truncated-partial-width-window-p closer to what the display engine does.

2 years agoUse a list of text properties to search in symlink filenames in Wdired
Juri Linkov [Sat, 27 Aug 2022 19:43:40 +0000 (22:43 +0300)]
Use a list of text properties to search in symlink filenames in Wdired

* lisp/dired-aux.el (dired-isearch-search-filenames):
Use text properties 'dired-filename' and 'dired-symlink-filename'.

* lisp/dired.el (dired-font-lock-keywords): Add text property
'dired-symlink-filename' on symlinks.

* lisp/isearch.el (isearch-search-fun-in-text-property):
Support a list of text properties (bug#57293).

2 years agoMake dynamic info-lookup more backwards-compatible
Lars Ingebrigtsen [Sat, 27 Aug 2022 13:44:12 +0000 (15:44 +0200)]
Make dynamic info-lookup more backwards-compatible

* lisp/info-look.el (info-lookup--expand-info): Don't try to
expand elements that aren't functions (bug#57446).

2 years agoFix webp detection on some Macos systems
Daniel Martín [Sat, 27 Aug 2022 13:28:34 +0000 (15:28 +0200)]
Fix webp detection on some Macos systems

* configure.ac (HAVE_RSVG): Make webp detection work with Macos
10.3/Homebrew (bug#57420).

2 years ago; * lisp/jit-lock.el (jit-lock-chunk-size): Doc fix.
Eli Zaretskii [Sat, 27 Aug 2022 11:24:59 +0000 (14:24 +0300)]
; * lisp/jit-lock.el (jit-lock-chunk-size): Doc fix.

2 years agoFix regression with cursor motion in Magit buffers
Eli Zaretskii [Sat, 27 Aug 2022 11:06:15 +0000 (14:06 +0300)]
Fix regression with cursor motion in Magit buffers

* lisp/simple.el (line-move): Condition movement optimizations on
presence of very long lines.  (Bug#57433)

2 years agoFix antialias face attribute when text is scaled
Eli Zaretskii [Sat, 27 Aug 2022 10:13:48 +0000 (13:13 +0300)]
Fix antialias face attribute when text is scaled

This restores the code we had in realize_gui_face before commit bf0d3f7.
The problem described in bug#17973, which led to that commit, only
happens if one uses a specific (misc-fixed) font family, not for
the usual default fonts used by Emacs, and I'm not sure what's
described there is a bug at all.  At least for the purposes of
text-scale-adjust, it makes no sense to ignore the
foundry/family/adstyle of the original font, because we _want_ the
same (or very similar) font, just of a different size.

And likely in other use cases: if the :font attribute of a face
specifies some font properties, we want to keep them all, not
arbitrarily to ignore some of them.  And definitely catering to an
obscure use case such as the one cited in bug#17973 is NOT a good
reason to make such radical changes in face-realization behavior.

So I think backing out that part of commit bf0d3f7 is TRT, and if
we decide that this causes bug#17973 in too many situations we care
about, I'd rather find a kludge for that specific case than do that
for every face realization.
* src/xfaces.c (realize_gui_face): Preserve face attributes when
text is scaled.  This reverts part of the changes installed in
commit bf0d3f7.  (Bug#37473)

2 years ago; * etc/NEWS: typo
Mattias Engdegård [Sat, 27 Aug 2022 10:00:31 +0000 (12:00 +0200)]
; * etc/NEWS: typo

2 years agoCC Mode: Remove double evaluation of self-quoting function in cc-langs.el
Alan Mackenzie [Sat, 27 Aug 2022 09:33:52 +0000 (09:33 +0000)]
CC Mode: Remove double evaluation of self-quoting function in cc-langs.el

This is a followup to Stefan Monnier's fix for bug #57065 from 2022-08-25.

* lisp/progmodes/cc-langs.el (c-init-language-vars): Add a #' after the
funcall.

2 years agoSupport "replacement characters" on TTY frames
Eli Zaretskii [Sat, 27 Aug 2022 08:56:00 +0000 (11:56 +0300)]
Support "replacement characters" on TTY frames

* src/nsterm.m (ns_draw_glyphless_glyph_string_foreground):
* src/pgtkterm.c (pgtk_draw_glyphless_glyph_string_foreground):
* src/haikuterm.c (haiku_draw_glyphless_glyph_string_foreground):
* src/xterm.c (x_draw_glyphless_glyph_string_foreground):
* src/w32term.c (w32_draw_glyphless_glyph_string_foreground):
* src/xdisp.c (lookup_glyphless_char_display): Handle extra-slot
of 'glyphless-char-display' that is a cons cell.
(syms_of_xdisp) <glyphless-char-display>: Update doc string.

* etc/NEWS:
* doc/lispref/display.texi (Glyphless Chars): Document the new
feature.

* lisp/faces.el (glyphless-char): Make the face stand out on TTY
frames that don't support the underline attribute.

2 years agoFix documentation of 'glyphless-char-display'
Eli Zaretskii [Sat, 27 Aug 2022 07:50:57 +0000 (10:50 +0300)]
Fix documentation of 'glyphless-char-display'

* src/xdisp.c (syms_of_xdisp)<glyphless-char-display>: Doc fix.
(gui_produce_glyphs, lookup_glyphless_char_display): Fix
indentation.

2 years agoFix crash when handling "swallowed" generic events
Po Lu [Sat, 27 Aug 2022 01:54:16 +0000 (09:54 +0800)]
Fix crash when handling "swallowed" generic events

* src/xmenu.c (x_menu_translate_generic_event, x_menu_show):
Pass through more events, correctly.
* src/xterm.c (handle_one_xevent): Don't abort if must_free_data
and xi_event is NULL; this is an Xlib bug.

2 years agoxref-matches-in-files: Use with-connection-local-variables
Dmitry Gutov [Fri, 26 Aug 2022 22:09:47 +0000 (01:09 +0300)]
xref-matches-in-files: Use with-connection-local-variables

* lisp/progmodes/xref.el (xref-matches-in-files):
Use with-connection-local-variables (bug#57385).

2 years agoUse shr as default for mm-text-html-renderer
Stefan Kangas [Fri, 26 Aug 2022 20:12:19 +0000 (22:12 +0200)]
Use shr as default for mm-text-html-renderer

* lisp/gnus/mm-decode.el (mm-text-html-renderer): Use 'shr' as
default to avoid a nil value.
Problem reported by Mattias Engdegård <mattiase@acm.org>.

2 years agoClarify the :box attributes in Face Attributes lispref node
Lars Ingebrigtsen [Fri, 26 Aug 2022 12:27:25 +0000 (14:27 +0200)]
Clarify the :box attributes in Face Attributes lispref node

* doc/lispref/display.texi (Face Attributes): Mention that the
elements are optional (bug#50699).

2 years agoCC Mode: Fontify correctly a brace list element followed only by syntactic WS
Alan Mackenzie [Fri, 26 Aug 2022 15:51:21 +0000 (15:51 +0000)]
CC Mode: Fontify correctly a brace list element followed only by syntactic WS

This fixes a regression introduced in the fix for bug #56841 on 2022-08-24.

* lisp/progmodes/cc-engine (c-forward-declarator): Allow point to be at EOB
after the call to c-forward-name, rather than rejecting it as an invalid
declarator.  Also reindent a section of this function.

2 years agoUse `rx' in Tramp where possible
Michael Albinus [Fri, 26 Aug 2022 14:19:47 +0000 (16:19 +0200)]
Use `rx' in Tramp where possible

* lisp/net/tramp.el:
* lisp/net/tramp-adb.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-cache.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-compat.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-ftp.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-integration.el:
* lisp/net/tramp-rclone.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sudoedit.el: Use `rx' where possible.

* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
Use `eval-when-compile'.
(tramp-adb-maybe-open-connection): Use file-property for "/".  Use
`eval-when-compile'.

* lisp/net/tramp-cmds.el (mm-7bit-chars): Declare.
(tramp-reporter-dump-variable): Simplify point movement.

* lisp/net/tramp-gvfs.el (tramp-dbus-function): Fix typo.
(tramp-zeroconf-parse-device-names): Use `tramp-prefix-port-format'.

* lisp/net/tramp-sh.el (tramp-open-shell, tramp-find-shell):
Use `eval-when-compile'.  Improve sanity check.

* lisp/net/tramp.el (tramp-prefix-format, tramp-prefix-regexp)
(tramp-method-regexp, tramp-postfix-method-format)
(tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
(tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
(tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
(tramp-postfix-host-regexp, tramp-remote-file-name-spec-regexp)
(tramp-file-name-structure, tramp-file-name-regexp)
(tramp-completion-method-regexp)
(tramp-completion-file-name-regexp): Declare.
(tramp-set-syntax): Set also `tramp-completion-method-regexp'.
(tramp-volume-letter-regexp, tramp-completion-method-regexp-alist):
New defconsts.
(tramp-build-completion-method-regexp): New defun.
(tramp-completion-method-regexp): New defvar.
(tramp-completion-file-name-regexp-default)
(tramp-completion-file-name-regexp-simplified)
(tramp-completion-file-name-regexp-separate)
(tramp-completion-file-name-regexp-alist): Remove.
(tramp-build-completion-file-name-regexp): Rwrite.
(tramp-make-tramp-file-name): Use `tramp-archive-method'.
(tramp-handle-file-directory-p): Ignore errors.
(tramp-handle-find-backup-file-name, tramp-handle-lock-file)
(tramp-handle-make-auto-save-file-name): Use `eval-when-compile'.

* test/lisp/net/tramp-archive-tests.el:
* test/lisp/net/tramp-tests.el: Use `rx' where possible.
(tramp-test01-file-name-syntax): Adapt test.

2 years agoMake the *Ido COmpletions* buffer fit the window to the buffer
Lars Ingebrigtsen [Fri, 26 Aug 2022 12:02:57 +0000 (14:02 +0200)]
Make the *Ido COmpletions* buffer fit the window to the buffer

* lisp/ido.el (ido-completion-help): Display the ido completions
buffer pretty much the same way that the default *Completions*
buffer is displayed (bug#50671).  This means that we're defaulting
to fit-window-to-buffer.

2 years agoNew option 'thrifty' for Man-notify-method
Augusto Stoffel [Fri, 26 Aug 2022 11:12:28 +0000 (13:12 +0200)]
New option 'thrifty' for Man-notify-method

* lisp/man.el (Man-notify-when-ready): Accept new 'thrifty' notify
method.
(Man-notify-method): Explain what 'thrifty' does (bug#57408).

2 years agoDelete blank lines at the start of the cited text in message-indent-citation
Lars Ingebrigtsen [Fri, 26 Aug 2022 10:30:30 +0000 (12:30 +0200)]
Delete blank lines at the start of the cited text in message-indent-citation

* lisp/gnus/message.el (message-indent-citation): Fix thinko in
the fix for the previous thinko.

2 years agoFix recent gamegrid.el change for nox build
Basil L. Contovounesios [Fri, 26 Aug 2022 10:12:15 +0000 (13:12 +0300)]
Fix recent gamegrid.el change for nox build

* lisp/play/gamegrid.el (gamegrid-make-glyph): Declare
image-scaling-factor as special before dynamically binding it, for
the sake of --without-x builds which do not preload lisp/image.el.

2 years agoPacify obsolete gv warnings in xt-mouse-tests.el
Basil L. Contovounesios [Fri, 26 Aug 2022 09:53:49 +0000 (12:53 +0300)]
Pacify obsolete gv warnings in xt-mouse-tests.el

* test/lisp/xt-mouse-tests.el (with-xterm-mouse-mode): Replace
deprecated generalized variables frame-width and frame-height with
direct calls to set-frame-width and set-frame-height, respectively.

2 years agoKill the buffer for the temp file after using '$<command>' in Eshell
Jim Porter [Sat, 20 Aug 2022 17:48:32 +0000 (10:48 -0700)]
Kill the buffer for the temp file after using '$<command>' in Eshell

* lisp/eshell/esh-var.el (eshell-parse-variable-ref): Kill the temp
file's buffer when we're done.

Ref: https://lists.gnu.org/archive/html/bug-gnu-emacs/2022-08/msg01444.html

2 years agoMerge from origin/emacs-28
Stefan Kangas [Fri, 26 Aug 2022 04:30:30 +0000 (06:30 +0200)]
Merge from origin/emacs-28

e3b8577525 ; * etc/DEBUG: Fix wording of "X protocol errors" section.

2 years ago; Merge from origin/emacs-28
Stefan Kangas [Fri, 26 Aug 2022 04:30:30 +0000 (06:30 +0200)]
; Merge from origin/emacs-28

The following commit was skipped:

ba64d09156 Treat smtp-auth method from auth-info as a symbol

2 years agoMerge from origin/emacs-28
Stefan Kangas [Fri, 26 Aug 2022 04:30:29 +0000 (06:30 +0200)]
Merge from origin/emacs-28

9e03e29c4e * lisp/wdired.el: Improve "Commentary" section.
92e90297f9 * lisp/wdired.el: Doc fix; don't mention obsolete variable.
2ccefef4c7 * lisp/progmodes/etags.el (next-file): Minor doc fix.

2 years ago; Merge from origin/emacs-28
Stefan Kangas [Fri, 26 Aug 2022 04:30:29 +0000 (06:30 +0200)]
; Merge from origin/emacs-28

The following commit was skipped:

82bcd44378 * configure.ac: Move AC_LANG_PUSH/POP out of AC_CACHE_CHEC...

2 years agoRestore old code in x_sync_trigger_fence
Po Lu [Fri, 26 Aug 2022 01:42:35 +0000 (09:42 +0800)]
Restore old code in x_sync_trigger_fence

* src/xterm.c (x_sync_trigger_fence): Restore old code, since that
makes it easier to adapt to more than 2 sync fences (which might be
necessary in the future, if we ever decide to do frame handling
asynchronously), and is much more recognizable for people coming from
other programs.

2 years ago; * src/xterm.h (struct x_display_info): Update comment.
Po Lu [Fri, 26 Aug 2022 01:37:47 +0000 (09:37 +0800)]
; * src/xterm.h (struct x_display_info): Update comment.

2 years agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Thu, 25 Aug 2022 23:16:56 +0000 (18:16 -0500)]
Update from Gnulib by running admin/merge-gnulib

2 years agoFix overflows in HAVE_XSYNC timestamp handling
Paul Eggert [Wed, 24 Aug 2022 01:18:13 +0000 (18:18 -0700)]
Fix overflows in HAVE_XSYNC timestamp handling

Also, port to platforms lacking CLOCK_MONOTONIC and int64_t, and
use 0 more consistently to represent missing timestamps.
* src/xterm.h (struct x_display_info):
Omit server_time_monotonic_p and server_time_offset if
!HAVE_CLOCK_GETTIME since they are unused in that case.
* src/xterm.h (struct x_display_info, struct x_output):
* src/xterm.c (x_sync_get_monotonic_time)
(x_sync_current_monotonic_time, x_sync_note_frame_times):
Use int_fast64_t instead of int64_t as POSIX doesn't
guarantee the latter.  Similarly for uint_fast64_t.
(x_sync_get_monotonic_time, x_sync_current_monotonic_time)
(x_sync_note_frame_times, x_display_set_last_user_time):
Check for integer overflow in time arithmetic.
(CLOCK_MONOTONIC): Define to CLOCK_REALTIME if absent.
(x_sync_current_monotonic_time): Check for clock_gettime failure
and fall back on CLOCK_REALTIME if CLOCK_MONOTONIC does not work,
which POSIX allows.
(x_sync_current_monotonic_time, x_sync_note_frame_times)
(x_display_set_last_user_time):
Use 0 more consistently to represent missing timestamps.