]> git.eshelyaron.com Git - emacs.git/log
emacs.git
15 months agoDon't signal error when calling treesit-node-match-p in treesit.el
Yuan Fu [Sat, 2 Sep 2023 02:27:07 +0000 (19:27 -0700)]
Don't signal error when calling treesit-node-match-p in treesit.el

Specifically, don't signal error when the thing isn't defined.

* lisp/treesit.el (treesit-node-top-level)
(treesit-forward-sentence)
(treesit--things-around): Add IGNORE-MISSING argument.

15 months agoRename PRED to THING in tree-sitter navigation functions
Yuan Fu [Sat, 2 Sep 2023 00:37:46 +0000 (17:37 -0700)]
Rename PRED to THING in tree-sitter navigation functions

The primary way to use these functions should be to supply a thing
symbol. Change the parameter name to THING to reflect that.

* lisp/treesit.el (treesit-beginning-of-thing)
(treesit-end-of-thing)
(treesit--things-around)
(treesit--navigate-thing)
(treesit-thing-at-point): Change parameter.

15 months agoAdd an optional arg to Ftreesit_node_match_p
Yuan Fu [Sat, 2 Sep 2023 00:29:06 +0000 (17:29 -0700)]
Add an optional arg to Ftreesit_node_match_p

* src/treesit.c (treesit_traverse_child_helper): Fix typo.
(treesit_traverse_get_predicate): Add ignore_missing.

(Ftreesit_search_subtree)
(Ftreesit_search_forward)
(Ftreesit_induce_sparse_tree): Update docstring.
(Ftreesit_node_match_p): Add ignore_missing.

15 months agoObsolete treesit-block/sexp/sentence/text-type-regexp
Yuan Fu [Sat, 2 Sep 2023 00:14:44 +0000 (17:14 -0700)]
Obsolete treesit-block/sexp/sentence/text-type-regexp

And replace them with treesit-thing-settings.

* doc/lispref/positions.texi (List Motion): Remove mention of
treesit-sexp/sentence-type-regexp.

* lisp/progmodes/c-ts-mode.el (c-ts-base-mode)
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode)
* lisp/progmodes/java-ts-mode.el (java-ts-mode)
* lisp/progmodes/js.el (js-ts-mode)
* lisp/progmodes/json-ts-mode.el (json-ts-mode)
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode)
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode)
(tsx-ts-mode)
* lisp/progmodes/heex-ts-mode.el (heex-ts-mode)
* lisp/progmodes/sh-script.el (bash-ts-mode)
* lisp/progmodes/prog-mode.el (prog-fill-reindent-defun)
* lisp/textmodes/html-ts-mode.el (html-ts-mode): Replace
treesit-sexp/sentence/text-type-regexp with treesit-thing-settings.

* lisp/treesit.el (treesit-sexp-type-regexp)
(treesit-sentence-type-regexp): Mark obsolete.
(treesit-block-type-regexp): Remove.

* lisp/treesit.el (treesit-forward-sexp)
(treesit-transpose-sexps)
(treesit-beginning-of-defun)
(treesit-end-of-defun)
(treesit-forward-sentence)
(treesit-defun-at-point): Make use of treesit-thing-settings.

(treesit-thing-definition)
(treesit-thing-defined-p): New functions.

(treesit-major-mode-setup): Replace
treesit-sexp/sentence-type-regexp with treesit-thing-settings.

15 months agoOpen org-protocol:// links on Android
Po Lu [Sat, 2 Sep 2023 02:05:23 +0000 (10:05 +0800)]
Open org-protocol:// links on Android

* doc/emacs/android.texi (Android Startup): Revise to reflect
changes in the set of files registered for Emacsclient and
mention org-protocol support.

* java/AndroidManifest.xml.in: Open all files, not just a
particular subset of image and data files.  Register an
org-protocol scheme handler.

* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Provide
URI to Emacs verbatim if its scheme is `org-protocol'.

15 months agoxref.el: Ensure that the return value is the buffer
Dmitry Gutov [Sat, 2 Sep 2023 01:59:20 +0000 (04:59 +0300)]
xref.el: Ensure that the return value is the buffer

* lisp/progmodes/xref.el (xref--show-xrefs, xref--show-defs):
Ensure the return value of the funcall is returned (bug#65631).

15 months agoUpdate Android port
Po Lu [Sat, 2 Sep 2023 01:28:50 +0000 (09:28 +0800)]
Update Android port

* lisp/touch-screen.el (touch-screen-handle-point-up) <held>:
Treat `held' as `drag' as well.

* src/android.c (android_is_special_directory): Return bool
rather than a pointer to the remainder of the file name, given
that said pointer is never used.

* src/android.h (android_is_special_directory): Modify
correspondingly.

15 months agoDelete references to gnuserv
Stefan Kangas [Sat, 2 Sep 2023 00:42:07 +0000 (02:42 +0200)]
Delete references to gnuserv

* doc/misc/mh-e.texi (Incorporating Mail):
* doc/misc/octave-mode.texi (Concept Index):
* lisp/net/browse-url.el (browse-url-w3-gnudoit): Delete
references to gnuserv; these days we use emacsclient.

15 months agoMake url-gateway-broken-resolution obsolete
Stefan Kangas [Sat, 2 Sep 2023 00:31:23 +0000 (02:31 +0200)]
Make url-gateway-broken-resolution obsolete

* lisp/url/url-gw.el (url-gateway-broken-resolution)
(url-gateway-nslookup-program, url-gateway-nslookup-host): Make obsolete.
* doc/misc/url.texi (Broken hostname resolution): Delete commented
out section.

15 months agoEglot: rework description and type of eglot-confirm-server-edits
Eshel Yaron [Fri, 1 Sep 2023 21:54:21 +0000 (22:54 +0100)]
Eglot: rework description and type of eglot-confirm-server-edits

Co-authored-by: João Távora <joaotavora@gmail.com>
* lisp/progmodes/eglot.el (eglot-confirm-server-edits): Improve
type description.

15 months agoEglot: handle unsaved buffers in new eglot--propose-changes-as-diff
João Távora [Fri, 1 Sep 2023 21:45:51 +0000 (22:45 +0100)]
Eglot: handle unsaved buffers in new eglot--propose-changes-as-diff

* lisp/progmodes/eglot.el (eglot--confirm-server-edits): Add docstring.
(eglot--propose-changes-as-diff): Rework.  Handle unsaved buffers.
(eglot--apply-workspace-edit): Rework.

15 months agoMake checkdoc warn if not using lexical-binding
Stefan Kangas [Fri, 9 Dec 2022 09:58:22 +0000 (10:58 +0100)]
Make checkdoc warn if not using lexical-binding

* lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine):
Warn if there is no lexical-binding cookie.  (Bug#59920)
(checkdoc-lexical-binding-flag): New user option.

15 months agoMake emacsclient handle org-protocol:// links
Ihor Radchenko [Wed, 23 Aug 2023 09:24:18 +0000 (12:24 +0300)]
Make emacsclient handle org-protocol:// links

Org mode provides a way to quickly capture bookmarks, notes, and links
using emacsclient:

    emacsclient "org-protocol://store-link?url=URL&title=TITLE"

* etc/emacsclient.desktop: Make Emacs the default application for
org-protocol.  (Bug#65469)

15 months agoFix regexp in help-do-arg-highlight
Eshel Yaron [Mon, 28 Aug 2023 11:43:52 +0000 (13:43 +0200)]
Fix regexp in help-do-arg-highlight

* lisp/help-fns.el (help-do-arg-highlight): Fix regexp.  (Bug#65580)

Avoid highlighting (parts of) the function name as arguments in the
output of 'describe-function' when the function has an argument with
the same name.  To achieve this, refine the regular expression that
'help-do-arg-highlight' uses such that it doesn't match anything in
the function name.

15 months ago; Fix debug logging for synchronous commands in Eshell tests
Jim Porter [Fri, 1 Sep 2023 16:26:14 +0000 (09:26 -0700)]
; Fix debug logging for synchronous commands in Eshell tests

* lisp/eshell/eshell.el (eshell-command-result): Call
'eshell-debug-command-start'.
* test/lisp/eshell/eshell-tests-helpers.el (with-temp-eshell): Update
comment.
(eshell-test-command-result): Set 'eshell-debug-command'.

15 months ago* lisp/net/tramp.el (tramp-completion-multi-hop-methods):
Michael Albinus [Fri, 1 Sep 2023 12:03:26 +0000 (14:03 +0200)]
* lisp/net/tramp.el (tramp-completion-multi-hop-methods):

Add ;;;###tramp-autoload cookie.

15 months agoFix tramp-completion-multi-hop-methods handling
Michael Albinus [Fri, 1 Sep 2023 11:49:22 +0000 (13:49 +0200)]
Fix tramp-completion-multi-hop-methods handling

* lisp/net/tramp-container.el (tramp-completion-multi-hop-methods):
Add methods properly.

* lisp/net/tramp.el (tramp-completion-multi-hop-methods): Fix :type.

15 months agoFix VC mode-line indication for registerd but ignored files
Eli Zaretskii [Fri, 1 Sep 2023 11:31:35 +0000 (14:31 +0300)]
Fix VC mode-line indication for registerd but ignored files

* lisp/vc/vc-hooks.el (vc-ignored-state): New face.
(vc-default-mode-line-string): Add special indication and tooltip
for files that are registered, but also ignored.  See
https://lists.gnu.org/archive/html/emacs-devel/2023-09/msg00006.html
for the details of the use case.

* doc/emacs/maintaining.texi (VC Mode Line): Mention the
additional meaning of '!' in the VC status mode-line display.

15 months agoFix height of new SVG icons on tab-bar and tab-line (bug#62562)
Juri Linkov [Fri, 1 Sep 2023 06:56:59 +0000 (09:56 +0300)]
Fix height of new SVG icons on tab-bar and tab-line (bug#62562)

* lisp/tab-bar.el (tab-bar--load-buttons): Add ':height (1.0 . em)'
to icons tab-bar-new, tab-bar-menu-bar.
(tab-bar-history-mode): Add ':height (1.0 . em)'
to icons tab-bar-back, tab-bar-forward.

* lisp/tab-line.el (tab-line-new, tab-line-left, tab-line-right):
Add ':height (1.0 . em)' to these icons.

15 months agoDisplay the OSK after touch screen drag-to-select
Po Lu [Fri, 1 Sep 2023 06:50:28 +0000 (14:50 +0800)]
Display the OSK after touch screen drag-to-select

* lisp/touch-screen.el (touch-screen-handle-point-up) <drag>:
New case.  Activate the on screen keyboard should the window
where the first touch screen event landed have selected a
writable buffer in which the region is active.

15 months agoAdd debug instrumentation for Eshell process management
Jim Porter [Wed, 30 Aug 2023 00:11:42 +0000 (17:11 -0700)]
Add debug instrumentation for Eshell process management

* lisp/eshell/esh-util.el (eshell-debug-command)
* lisp/eshell/em-basic.el (eshell/eshell-debug)
(pcomplete/eshell-mode/eshell-debug): Add 'process' type.

* lisp/eshell/esh-proc.el (eshell-gather-process-output)
(eshell-interactive-process-filter, eshell-insertion-filter)
(eshell-sentinel): Call 'eshell-debug-command'.

* test/lisp/eshell/eshell-tests-helpers.el (with-temp-eshell): Add
'process' to 'eshell-debug-command'
(eshell-get-debug-logs): New function...
(eshell-match-command-output, eshell-command-result-equal): ... use
it.

* doc/misc/eshell.texi (Built-ins): Mention "process" debug type.

15 months agoFix handling of Eshell debug modes
Jim Porter [Wed, 30 Aug 2023 00:02:40 +0000 (17:02 -0700)]
Fix handling of Eshell debug modes

Previously, these were enabled/disabled at byte-compilation time, but
we want to control them at runtime.

* lisp/eshell/esh-cmd.el (eshell-eval-command): Call
'eshell-debug-command-start'.
(eshell-manipulate): Check 'eshell-debug-command' at runtime.  Update
callers.
(eshell-debug-command): Move to "esh-util.el".
(eshell/eshell-debug, pcomplate/eshell-mode/eshell-debug): Move to
"em-basic.el".
(eshell-debug-show-parsed-args): Update implementation.

* lisp/eshell/esh-util.el (eshell-debug-command): Move from
"esh-cmd.el" and convert to a list.
(eshell-debug-command-buffer): New variable.
(eshell-condition-case): Check 'eshell-handle-errors' at runtime.
(eshell-debug-command-start): New function.
(eshell-debug-command): Move from "esh-cmd.el" and convert to a macro.

* lisp/eshell/em-basic.el (eshell/eshell-debug)
(pcomplete/eshell-mode/eshell-debug): Move from "esh-cmd.el" and
reimplement.

* lisp/eshell/eshell.el (eshell-command): Pass the original input to
'eshell-eval-command'.

* doc/misc/eshell.texi (Built-ins): Update documentation for
'eshell-debug'.

15 months agoDon't push to Xref history when search ends with error
Dmitry Gutov [Fri, 1 Sep 2023 01:37:40 +0000 (04:37 +0300)]
Don't push to Xref history when search ends with error

* lisp/progmodes/xref.el (xref--push-markers):
Add new arguments (bug#65631).
(xref--show-xrefs, xref--show-defs): Use them.

15 months agoMinor copy-edits
Po Lu [Fri, 1 Sep 2023 00:52:22 +0000 (00:52 +0000)]
Minor copy-edits

* doc/emacs/android.texi (Android Document Providers): Fix typo.

* doc/emacs/haiku.texi (Haiku Basics): Likewise.

15 months agoProperly describe minor mode lighters while mode-line-compact
Po Lu [Fri, 1 Sep 2023 00:49:42 +0000 (00:49 +0000)]
Properly describe minor mode lighters while mode-line-compact

* lisp/help.el (describe-minor-mode-from-indicator): New arg
EVENT.  If set to a mouse event and mode-line-compact, search
for a suitable lighter within the entire posn object.

* lisp/bindings.el (mode-line-minor-mode-help): Supply EVENT.
(bug#65664)

15 months ago; Eglot: Update etc/EGLOT-NEWS
João Távora [Fri, 1 Sep 2023 00:09:57 +0000 (01:09 +0100)]
; Eglot: Update etc/EGLOT-NEWS

* etc/EGLOT-NEWS: Mention bug number of last change.

15 months agoEglot: revamp confirmation model for server-proposed edits
João Távora [Thu, 31 Aug 2023 23:48:25 +0000 (00:48 +0100)]
Eglot: revamp confirmation model for server-proposed edits

bug#60338

The variable 'eglot-confirm-server-edits' replaces the obsolete
'eglot-confirm-server-initiated-edits' and brings about a new
confirmation model, making it possible to have only certain commands
require user confirmation.  This was achieved careful usage of the
'this-command' and 'last-command' variables.

There are now two types of confirmation: the usual
minibuffer summary and a temporary 'diff-mode' buffer to display the
proposed changes, so the user can apply them one by one.

Thanks to Philip Kaludercic for the diff-mode idea and implementation.

Co-authored-by: Philip Kaludercic <philipk@posteo.net>
* doc/misc/eglot.texi (Eglot Variables): Describe
'eglot-confirm-server-edits'.

* etc/EGLOT-NEWS (latest): Mention change.

* lisp/progmodes/eglot.el (diff-mode): Require it.
(eglot-confirm-server-initiated-edits): Obsolete it.
(eglot-confirm-server-edits): New variable.
(eglot-handle-request workspace/applyEdit): Use 'last-command'
(eglot-execute t t): Use 'this-command'.
(eglot--apply-workspace-edit): Rework.
(eglot-rename): Use 'this-command'.

15 months agoHandle directory values of scopeUri in workspace/configuration
Jimmy Yuen Ho Wong [Thu, 31 Aug 2023 18:47:12 +0000 (19:47 +0100)]
Handle directory values of scopeUri in  workspace/configuration

Even though scopeUri is specified to be of documentUri type, some
servers (notably pyright) insist on passing the pathname of a
directory there.  In pyright's case this is frequently useless, as the
directory is the project directory.  Nevertheless we can be lenient to
those servers by detecting whether the value is a directory and doing
the right thing.

Note that we do not (yet) support per-file configuration storage.

* lisp/progmodes/eglot.el (eglot--workspace-configuration-plist):
Rework.

Co-authored-by: João Távora <joaotavora@gmail.com>
GitHub-reference: https://github.com/joaotavora/eglot/pull/1281

15 months agoAdapt last change
Michael Albinus [Thu, 31 Aug 2023 15:21:23 +0000 (17:21 +0200)]
Adapt last change

* lisp/net/tramp-container.el (tramp-completion-multi-hop-methods):
Add "docker" and "podman".

* lisp/net/tramp.el (tramp-completion-multi-hop-methods):
Adapt docstring.  Use nil as initial value.

15 months agoAllow enabling multi-hop container completion selectively by method
Gene Goykhman [Thu, 31 Aug 2023 15:09:36 +0000 (17:09 +0200)]
Allow enabling multi-hop container completion selectively by method

* lisp/net/tramp-container.el: Check if METHOD is a member of
`tramp-container-multi-hop-methods' before attempting completion.

* lisp/net/tramp.el: Add custom variable
`tramp-container-multi-hop-methods'.

15 months agoCopy-edits to haiku.texi
Po Lu [Thu, 31 Aug 2023 12:22:16 +0000 (20:22 +0800)]
Copy-edits to haiku.texi

* doc/emacs/haiku.texi (Haiku, Haiku Basics, Haiku Fonts):
Refine to avoid excessively wordy and repetitive constructs.

15 months agoEnable gdb-mi to set breakpoints when threads of debuggee are running
Diancheng Wang [Wed, 9 Aug 2023 02:35:12 +0000 (10:35 +0800)]
Enable gdb-mi to set breakpoints when threads of debuggee are running

* lisp/progmodes/gdb-mi.el (gdb): Call 'gud-def' with 5th arg
non-nil for those commands that can be invoked asynchronously.
(gdb-starting): Set 'gud-async-running' non-nil for async commands.
* lisp/progmodes/gud.el (gud-async-running): New defvar.
(gud-menu-map): Enable some commands only if 'gud-async-running' is
non-nil.
(gud-def): Accept another optional argument ASYNC-OK.  (Bug#65612)

15 months ago; Fix push-button when triggered by a single keypress
Steven Allen [Fri, 25 Aug 2023 17:43:43 +0000 (10:43 -0700)]
; Fix push-button when triggered by a single keypress

* lisp/button.el (push-button): Don't assume the event is
a list, it may be a single key.  (Bug#65539)

15 months agostrokes: Support running a function when no stroke matches
Liu Hui [Tue, 22 Aug 2023 05:52:03 +0000 (13:52 +0800)]
strokes: Support running a function when no stroke matches

* lisp/strokes.el (strokes-no-match-function): New variable.
(strokes-no-match-default): New function.
(strokes-execute-stroke): Run `strokes-no-match-function' when no
stroke matches.  (Bug#65449)

15 months agoFix choice in electric-pair-skip-whitespace-chars
Mauro Aranda [Wed, 30 Aug 2023 22:45:09 +0000 (19:45 -0300)]
Fix choice in electric-pair-skip-whitespace-chars

* lisp/elec-pair.el (electric-pair-skip-whitespace-chars): Use repeat
instead of list in custom :type.  (Bug#65625)

15 months agoDelete unused fields
Po Lu [Thu, 31 Aug 2023 02:14:00 +0000 (02:14 +0000)]
Delete unused fields

* src/haiku_support.cc (class EmacsWindow)
<x_before_zoom, y_before_zoom>: Delete fields.

15 months agoInclude installation date within asset files
Po Lu [Thu, 31 Aug 2023 01:04:32 +0000 (09:04 +0800)]
Include installation date within asset files

* src/android.c (setEmacsParams): Set `emacs_installation_time'
to the mtime of the class path file, which happens to be the
time of Emacs's installation.
(emacs_installation_time): New variable.

* src/android.h (emacs_installation_time): Export new variable.

* src/androidvfs.c (android_afs_stat): If
emacs_installation_time is a valid timespec, set st_mtime to it.

15 months agoAdd one more mouse-set-point call to functions xref-find-*-at-mouse
Dmitry Gutov [Thu, 31 Aug 2023 00:21:11 +0000 (03:21 +0300)]
Add one more mouse-set-point call to functions xref-find-*-at-mouse

* lisp/progmodes/xref.el (xref-find-definitions-at-mouse)
(xref-find-references-at-mouse): Call mouse-set-point to ensure
that the search is initiated at the same place where
xref-backend-identifier-at-point was called (bug#65578).

15 months agoMake browse-url-button support more SSL URIs
Stefan Kangas [Wed, 30 Aug 2023 18:56:14 +0000 (20:56 +0200)]
Make browse-url-button support more SSL URIs

* lisp/net/browse-url.el (browse-url-button-regexp): Add support for
gophers:// and ftps:// URIs.  (Bug#65627)

15 months agoClean up some safe-local-variable predicates
Stefan Kangas [Wed, 30 Aug 2023 17:42:58 +0000 (19:42 +0200)]
Clean up some safe-local-variable predicates

* lisp/progmodes/project.el: Add comments with a reminder to simplify
'safe-local-variable' predicates when Emacs 28 support is dropped.
(project-vc-ignores): Mark only a list of strings as safe-local.
* lisp/textmodes/reftex-vars.el (reftex-guess-label-type): Use
booleanp for 'safe-local-variable' predicate.  (Bug#65608)

15 months agoFix revert-buffer when some decoding is involved
Eli Zaretskii [Wed, 30 Aug 2023 14:16:59 +0000 (17:16 +0300)]
Fix revert-buffer when some decoding is involved

* src/fileio.c (Finsert_file_contents): Fix the amount of text
read from the file when reverting.  (Bug#65609)

15 months agoFacilitate typing `C-SPC' on Android
Po Lu [Wed, 30 Aug 2023 02:07:49 +0000 (10:07 +0800)]
Facilitate typing `C-SPC' on Android

* doc/emacs/android.texi (Android Windowing): Mention C-SPC
interception and how it may be disabled.

* java/org/gnu/emacs/EmacsNative.java (shouldForwardCtrlSpace):
New function.

* java/org/gnu/emacs/EmacsView.java (onKeyPreIme): New function.
If the provided key code is SPC and the event's modifier key
mask contains ControlMask, relay it directly to onKeyDown.

* java/org/gnu/emacs/EmacsWindow.java (eventModifiers): Export
and make static.

* src/android.c (shouldForwardCtrlSpace): New function.

* src/androidfns.c (syms_of_androidfns)
<android_intercept_control_space>: New defvar.

15 months agoAdd quotes around `C-x C-f` in the *scratch* buffer
Stefan Kangas [Tue, 29 Aug 2023 21:49:57 +0000 (23:49 +0200)]
Add quotes around `C-x C-f` in the *scratch* buffer

* lisp/startup.el (initial-scratch-message): Add quotes around the
'find-file' keybinding.

15 months ago; Fix copyright year in proced-tests.el
Stefan Kangas [Tue, 29 Aug 2023 19:40:38 +0000 (21:40 +0200)]
; Fix copyright year in proced-tests.el

15 months agoMake Emacs 21 compat alias obsolete
Stefan Kangas [Tue, 29 Aug 2023 16:49:02 +0000 (18:49 +0200)]
Make Emacs 21 compat alias obsolete

* lisp/loadhist.el (loadhist-hook-functions): Make Emacs 21
compatibility alias obsolete.

15 months agoMake Makefile browser obsolete
Stefan Kangas [Tue, 29 Aug 2023 16:28:57 +0000 (18:28 +0200)]
Make Makefile browser obsolete

* lisp/progmodes/make-mode.el:
(makefile-mode): Don't document Makefile browser mode.
(makefile-browser-toggle-state-for-line):
(makefile-browser-buffer-name, makefile-browser-leftmost-column)
(makefile-browser-cursor-column, makefile-browser-selected-mark)
(makefile-browser-unselected-mark)
(makefile-browser-auto-advance-after-selection-p)
(makefile-browser-hook, makefile-browser-map)
(makefile-browser-client, makefile-browser-selection-vector)
(makefile-browser-format-target-line)
(makefile-browser-format-macro-line, makefile-browser-fill)
(makefile-browser-next-line, makefile-browser-previous-line)
(makefile-browser-quit, makefile-browser-toggle)
(makefile-browser-insert-continuation)
(makefile-browser-insert-selection)
(makefile-browser-insert-selection-and-quit)
(makefile-browser-send-this-line-item)
(makefile-browser-start-interaction, makefile-browse)
(makefile-switch-to-browser, makefile-browser-on-macro-line-p)
(makefile-browser-this-line-target-name)
(makefile-browser-this-line-macro-name)
(makefile-browser-get-state-for-line)
(makefile-browser-set-state-for-line)
(makefile-browser-toggle-state-for-line): Make obsolete.  (Bug#58848)
(makefile-mode-menu): Remove Makefile browser from menu.
* etc/NEWS: Announce its obsoletion.

15 months agoFix tramp-accept-process-output
Michael Albinus [Tue, 29 Aug 2023 12:16:15 +0000 (14:16 +0200)]
Fix tramp-accept-process-output

* lisp/net/tramp.el (tramp-accept-process-output):
Use `with-tramp-suspended-timers' also for the other processes.

15 months agoAdapt some changes of last Tramp commit
Michael Albinus [Tue, 29 Aug 2023 09:30:20 +0000 (11:30 +0200)]
Adapt some changes of last Tramp commit

* lisp/net/tramp-container.el (tramp-container--completion-function):
Use METHOD as argument, instead of PROGRAM.  Determine program
from METHOD entry in `tramp-methods'.  Bind `non-essential' to
nil.  Use a file property as cache.
(tramp-container--completion-function): Use adapted arguments when
setting for "docker" and "podman".

* lisp/net/tramp.el (tramp--last-hop-directory): Adapt docstring.
Move down.
(tramp-set-completion-function): Revert default case to
`file-exists-p', the workaround isn't needed anymore.
(tramp-get-completion-methods): Rename argument to MULTI-HOP.
(tramp-completion-remote-containers): Add :version.
(tramp-multi-hop-p): Bind `tramp-verbose' to nil.

15 months agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Tue, 29 Aug 2023 09:29:37 +0000 (11:29 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

15 months agoRename 'package-vc-allow-side-effects' to better fit its use
Eshel Yaron [Sun, 20 Aug 2023 14:29:33 +0000 (16:29 +0200)]
Rename 'package-vc-allow-side-effects' to better fit its use

* lisp/emacs-lisp/package-vc.el (package-vc-allow-side-effects):
Rename to 'package-vc-allow-build-commands'.
(package-vc--unpack-1): Use new name.
* doc/emacs/package.texi (Fetching Package Sources): Use new name.
* etc/NEWS: Adapt accordingly.  (Bug#65386)

15 months ago; Refine 'defcustom' types in 'package-vc'
Eshel Yaron [Sun, 20 Aug 2023 14:20:54 +0000 (16:20 +0200)]
; Refine 'defcustom' types in 'package-vc'

Only include VC backends that support cloning in the ':type' of
'package-vc-heuristic-alist' and 'package-vc-default-backend', and
compute the list of relevant on demand to keep it fresh.

* lisp/emacs-lisp/package-vc.el (package-vc--backend-type): New constant.
(package-vc-heuristic-alist, package-vc-default-backend): Use it.  (Bug#65386)

15 months ago; Refine some 'package-vc' docstrings
Eshel Yaron [Fri, 18 Aug 2023 19:59:10 +0000 (21:59 +0200)]
; Refine some 'package-vc' docstrings

* lisp/emacs-lisp/package-vc.el (package-vc-heuristic-alist)
(package-vc-install-dependencies, package-vc-upgrade)
(package-vc-install, package-vc-install-from-checkout)
(package-vc-prepare-patch, package-vc-upgrade-all)
(package-vc-allow-side-effects)
(package-vc-default-backend): Refine docstrings.  (Bug#65386)

15 months agoProvide completion candidates for remote containers over a multi-hop
Gene Goykhman [Tue, 29 Aug 2023 08:10:06 +0000 (10:10 +0200)]
Provide completion candidates for remote containers over a multi-hop

* lisp/net/tramp-container.el (tramp-container--completion-function):
Set default directory to last hop.
(tramp-set-completion-function): Don't use executable-find for
container program since it might not be running locally.

* lisp/net/tramp.el (tramp--last-hop-directory): Add new variable.
(tramp-completion-handle-file-name-all-completions): Use container
host directory to execute container program on remote host.
(tramp-set-completion-function): FIXME: for now, don't constrain
allowable completion methods to only those present on the local system.
(tramp-completion-remote-containers): Add customize option to
provide completion candidates for containers running on remote hosts.

15 months agoUpdate Android port
Po Lu [Tue, 29 Aug 2023 02:47:21 +0000 (10:47 +0800)]
Update Android port

* src/sfnt.c (xfree, sfnt_make_interpreter)
(stack_overflow_test_args, stack_underflow_test_args)
(dup_test_args, clear_test_args, raw_test_args, fdef_test_args)
(fdef_1_test_args, endf_test_args, rs_test_args, debug_test_args)
(eif_test_args, sds_test_args, round_test_args, sangw_test_args)
(aa_test_args, scantype_test_args): Include alloca.h.  Minor
fixes for standards conformance.

15 months agoAvoid Unicode quotes within transient.texi
Po Lu [Tue, 29 Aug 2023 01:29:20 +0000 (09:29 +0800)]
Avoid Unicode quotes within transient.texi

* doc/misc/transient.texi (Top, Introduction)
(Aborting and Resuming Transients, Common Suffix Commands)
(Enabling and Disabling Suffixes, Modifying Existing Transients)
(Defining Transients, Binding Suffix and Infix Commands)
(Suffix Specifications, Defining Suffix and Infix Commands)
(Transient State, Group Classes, Suffix Value Methods)
(Prefix Slots, Comparison With Other Packages, FAQ): Replace
Unicode quote characters with grave quotes.

15 months agoReintroduce menus beneath chapters in the Transient manual
Po Lu [Tue, 29 Aug 2023 01:05:04 +0000 (09:05 +0800)]
Reintroduce menus beneath chapters in the Transient manual

* doc/misc/transient.texi (Introduction)
(Modifying Existing Transients, Predicate Slots): Return the
menus to their proper location, so Texinfo 4.13 can infer up
pointers for nodes within.

15 months agoSkip hanging EasyPG tests on GnuPG 2.4
Stefan Kangas [Mon, 28 Aug 2023 22:48:06 +0000 (00:48 +0200)]
Skip hanging EasyPG tests on GnuPG 2.4

* test/lisp/epg-tests.el (epg-roundtrip-1, epg-roundtrip-2):
Skip tests on GnuPG 2.4.  (Bug#63256)

15 months agoSplit up tests in bovine/gcc-tests.el
Stefan Kangas [Mon, 28 Aug 2023 20:05:16 +0000 (22:05 +0200)]
Split up tests in bovine/gcc-tests.el

* test/lisp/cedet/semantic/bovine/gcc-tests.el
(semantic-gcc-test): New macro.
(semantic-gcc-test/1, semantic-gcc-test/2, semantic-gcc-test/3)
(semantic-gcc-test/4, semantic-gcc-test/5, semantic-gcc-test/6)
(semantic-gcc-test/7, semantic-gcc-test/8, semantic-gcc-test/9)
(semantic-gcc-test-output-parser/fail): New tests.

15 months agoMake Emacs 21 compat alias obsolete
Stefan Kangas [Mon, 28 Aug 2023 19:58:36 +0000 (21:58 +0200)]
Make Emacs 21 compat alias obsolete

* lisp/jit-lock.el (jit-lock-defer-contextually): Make Emacs 21 compat
alias obsolete.

15 months ago* lisp/tab-bar.el: Add tab-bar-tab-name-format-functions (bug#65554)
Juri Linkov [Mon, 28 Aug 2023 16:57:16 +0000 (19:57 +0300)]
* lisp/tab-bar.el: Add tab-bar-tab-name-format-functions (bug#65554)

(tab-bar-tab-name-format-truncated)
(tab-bar-tab-name-format-hints)
(tab-bar-tab-name-format-close-button)
(tab-bar-tab-name-format-face): New functions.
(tab-bar-tab-name-format-functions): New defcustom.
(tab-bar-tab-name-format-default): Rewrite to use
'tab-bar-tab-name-format-functions'.

15 months ago; Add .clangd configuration file
Gerd Möllmann [Mon, 28 Aug 2023 14:39:01 +0000 (16:39 +0200)]
; Add .clangd configuration file

15 months ago* lisp/tab-bar.el: Show full tab names on tooltips (bug#65554).
Juri Linkov [Mon, 28 Aug 2023 06:52:36 +0000 (09:52 +0300)]
* lisp/tab-bar.el: Show full tab names on tooltips (bug#65554).

(tab-bar--format-tab): Use tab names for :help strings.
It's useful to see original tab names when the tab-bar displays names
truncated by tab-bar-auto-width, etc.
(tab-bar-format-menu-bar): Fix string case for consistency with other items.

15 months agoUpdate Android port
Po Lu [Mon, 28 Aug 2023 05:08:22 +0000 (13:08 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsActivity.java (attachWindow, onDestroy)
(onWindowFocusChanged, onContextMenuClosed):

* java/org/gnu/emacs/EmacsContextMenu.java (onMenuItemClick):

* java/org/gnu/emacs/EmacsDialog.java (onClick, display1, onDismiss):

* java/org/gnu/emacs/EmacsOpenActivity.java (checkReadableOrCopy)
(onDestroy, onWindowFocusChanged, onPause):

* java/org/gnu/emacs/EmacsWindowAttachmentManager.java
(registerWindow, removeWindowConsumer, detachWindow)
(noticeIconified, noticeDeiconified): Remove superfluous
debugging code now that the Android port is stable.

* java/org/gnu/emacs/EmacsView.java (onLayout): Detect if the
IME is hidden while a toplevel window is focused, and clear
isCurrentlyTextEditor in that case.
(onApplyWindowInsets): New function.
(raise, lower, popupMenu, onCreateInputConnection): Delete
aforementioned debugging code.

16 months agoUse ensure-list in many more places
Stefan Kangas [Sun, 27 Aug 2023 19:45:30 +0000 (21:45 +0200)]
Use ensure-list in many more places

* lisp/align.el (align-region):
* lisp/auth-source-pass.el (auth-source-pass--build-result-many):
* lisp/auth-source.el (auth-source-ensure-strings):
* lisp/calendar/appt.el (appt-disp-window):
* lisp/cedet/mode-local.el (mode-local-map-mode-buffers):
* lisp/cus-edit.el (custom-prompt-variable)
(custom-variable-menu-create):
* lisp/dired-x.el (dired-mark-extension, dired-mark-suffix):
* lisp/emacs-lisp/checkdoc.el (checkdoc-defun-info):
* lisp/emacs-lisp/eieio.el (object-add-to-list):
* lisp/emulation/cua-base.el (cua--M/H-key):
* lisp/epg.el (epg--list-keys-1):
* lisp/faces.el (read-face-name):
* lisp/format.el (format-decode):
* lisp/gnus/gnus-score.el (gnus-home-score-file)
(gnus-all-score-files):
* lisp/gnus/gnus-uu.el (gnus-uu-grab-articles):
* lisp/gnus/message.el (message-make-forward-subject):
* lisp/gnus/nnmairix.el (nnmairix-create-search-group):
* lisp/gnus/spam.el (spam-copy-or-move-routine):
* lisp/help-fns.el (describe-face):
* lisp/ibuf-macs.el (define-ibuffer-filter):
* lisp/international/mule-cmds.el (select-safe-coding-system):
* lisp/net/imap.el (imap-send-command):
* lisp/printing.el (pr-menu-get-item):
* lisp/speedbar.el (speedbar-add-supported-extension)
(speedbar-add-ignored-directory-regexp):
* lisp/textmodes/rst.el (rst-forward-line-looking-at):
* lisp/vc/ediff-util.el (ediff-other-buffer):
* lisp/vc/diff.el (diff-no-select):
* lisp/vc/vc-dir.el (vc-dir-mark-state-files):
* lisp/wid-edit.el (widget-prompt-value):
* lisp/windmove.el (windmove-default-keybindings)
(windmove-display-default-keybindings)
(windmove-delete-default-keybindings)
(windmove-swap-states-default-keybindings):
* lisp/window.el (display-buffer-reuse-mode-window):
* lisp/woman.el (woman-expand-directory-path): Prefer ensure-list.

16 months ago; * lisp/tab-line.el: add missing require
Mattias Engdegård [Sun, 27 Aug 2023 19:27:39 +0000 (21:27 +0200)]
; * lisp/tab-line.el: add missing require

16 months agoFix a race condition in Eshell's external process management
Jim Porter [Sat, 10 Dec 2022 07:07:19 +0000 (23:07 -0800)]
Fix a race condition in Eshell's external process management

If a process is busy writing output when 'eshell-sentinel' is called,
it might take a bit of time to finish up.  Don't call
'eshell-kill-process-function' until we're really finished
(bug#59103).

* lisp/eshell/esh-proc.el (eshell-sentinel): Call
'eshell-kill-process-function' in 'finish-io'.

16 months agoUse new SVG icons in tab-bar and tab-line (bug#62562)
Juri Linkov [Sun, 27 Aug 2023 17:27:35 +0000 (20:27 +0300)]
Use new SVG icons in tab-bar and tab-line (bug#62562)

* lisp/tab-bar.el (tab-bar--load-buttons):
Add "symbols/plus_16.svg" to tab-bar-new.
Add "symbols/cross_16.svg" to tab-bar-close.
Add "symbols/menu_16.svg" to tab-bar-menu-bar.
(tab-bar-tab-name-format-default): Use 'add-face-text-property'.
(tab-bar-history-mode):
Add "symbols/chevron_left_16.svg" to tab-bar-back.
Add "symbols/chevron_right_16.svg" to tab-bar-forward.

* lisp/tab-line.el (tab-line-new): New icon with "symbols/plus_16.svg".
(tab-line-new-button): Use it with nil rear-nonsticky.
(tab-line-close): New icon with "symbols/cross_16.svg".
(tab-line-close-button): Use it with nil rear-nonsticky.
(tab-line-left): New icon with "symbols/chevron_left_16.svg".
(tab-line-left-button): Use it with nil rear-nonsticky.
(tab-line-right): New icon with "symbols/chevron_right_16.svg".
(tab-line-right-button): Use it with nil rear-nonsticky.
(tab-line-tab-name-format-default): Use 'add-face-text-property'.
(tab-line-auto-hscroll): Append the face in 'add-face-text-property'.

16 months ago; * lisp/net/eww.el (eww-open-in-new-buffer): Fix change for bug#65346.
Eli Zaretskii [Sun, 27 Aug 2023 16:39:22 +0000 (19:39 +0300)]
; * lisp/net/eww.el (eww-open-in-new-buffer): Fix change for bug#65346.

16 months agoFix manual image tests on macOS
Stefan Kangas [Sun, 27 Aug 2023 13:33:53 +0000 (15:33 +0200)]
Fix manual image tests on macOS

* test/manual/image-tests.el (ert): Require.
(image-tests--images): Fix typo.
(image-tests-load-image/svg-too-big)
(image-tests-load-image/svg-invalid): Skip test unless built with
SVG support.
(image-tests-image-metadata/gif)
(image-tests-image-metadata/webp): Disable tests on macOS.

16 months agoUpdate to Transient v0.4.3
Jonas Bernoulli [Fri, 25 Aug 2023 20:25:46 +0000 (22:25 +0200)]
Update to Transient v0.4.3

16 months agoSome minor Tramp changes
Michael Albinus [Sun, 27 Aug 2023 08:38:31 +0000 (10:38 +0200)]
Some minor Tramp changes

* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
Fix error message.

* lisp/net/tramp-cache.el (tramp-dump-connection-properties):
Remove `tramp-null-hop'.

* lisp/net/tramp-message.el (tramp-message, tramp-backtrace)
(tramp-error): Handle VEC being nil.

* lisp/net/tramp.el (tramp-null-hop): Add ;;;###tramp-autoload cookie.
Use pseudo method "local".
(tramp-file-name-unify): IF VEC is nil, set it to `tramp-null-hop'.
(tramp-set-completion-function): Support also functions with
METHOD as argument.
(tramp-get-completion-methods): Add argument HOP.
(tramp-completion-handle-file-name-all-completions): Use it.
(tramp-call-process-region): Set VEC if nil.

16 months agoCorrect display of stretch glyphs within hscrolled windows
Po Lu [Sun, 27 Aug 2023 02:19:46 +0000 (02:19 +0000)]
Correct display of stretch glyphs within hscrolled windows

* src/haikuterm.c
(haiku_draw_glyphless_glyph_string_foreground): Make char2b
static, stifling a GCC warning.
(haiku_draw_stretch_glyph_string): Use computed X if s->x is
outside the confines of the text area.

16 months agoUpdate Android port
Po Lu [Sun, 27 Aug 2023 01:24:01 +0000 (09:24 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsView.java (onLayout): Provide for
occasions where the saved measured dimensions differ from that
saved by the view.

16 months ago(elisp--local-variables): Fix recent regression
Stefan Monnier [Sat, 26 Aug 2023 19:44:28 +0000 (15:44 -0400)]
(elisp--local-variables): Fix recent regression

While at it, make it work when completing code within `eval-when-compile`
and friends, where it failed in sometimes spectacular ways.

* lisp/progmodes/elisp-mode.el (elisp--local-macroenv): New var.
(elisp--local-variables): Use it.  Also, advice `macroexpand-1` since
`macroexpand-all` doesn't use `macroexpand` any more.
(prin1-char): Remove redundant "" arg.
(elisp--eval-defun-1): Align the `eval` call to what's used in
`custom-initialize-set`.

16 months agoClean up image error reporting somewhat
Stefan Kangas [Sat, 26 Aug 2023 12:38:36 +0000 (14:38 +0200)]
Clean up image error reporting somewhat

* src/image.c (image_not_found_error, image_invalid_data_error):
New functions.  All uses of image_error with "Invalid image data ..."
and "Cannot find image file ..." changed to use them.
(image_create_x_image_and_pixmap_1): Remove redundant Qnil arguments.

16 months agoMake `M-x align` rule count more precise
Stefan Kangas [Sat, 26 Aug 2023 10:02:17 +0000 (12:02 +0200)]
Make `M-x align` rule count more precise

* lisp/align.el (align--should-run-rule): Factor out new function...
(align-region): ...from here.  Avoid counting inactive rules towards
the total.

16 months ago; * src/emacs.c (main) [!HAVE_PDUMPER]: Avoid setting unused variable.
Eli Zaretskii [Sat, 26 Aug 2023 09:35:06 +0000 (12:35 +0300)]
; * src/emacs.c (main) [!HAVE_PDUMPER]: Avoid setting unused variable.

16 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 26 Aug 2023 09:25:50 +0000 (05:25 -0400)]
Merge from origin/emacs-29

39d2285bdc9 ; * doc/emacs/sending.texi (Mail Aliases): Add some usefu...
f3fa436bc0f ; Fix doc string of 'current-idle-time'
02532bb5821 Fix custom :type of dired-mouse-drag-files
fc5de406be3 ; Improve SMTPmail documentation about OAuth2
1aaeaf22cef Account for string names in active file
48604565847 Fix 'makefile-browser-client' variable initialization

16 months agoRevise last change to copy-directory
Po Lu [Sat, 26 Aug 2023 08:27:03 +0000 (16:27 +0800)]
Revise last change to copy-directory

* lisp/files.el (copy-directory): Instead of demoting errors
from set-file-times, refrain from setting them if newname is
located within /contents.

16 months agoMake ispell localwords safe local variable
Joseph Turner [Tue, 15 Aug 2023 05:35:28 +0000 (22:35 -0700)]
Make ispell localwords safe local variable

* lisp/textmodes/ispell.el (ispell-buffer-session-localwords):
Make safe local variable to so that checkdoc can ignore words in a
project in batch mode.

16 months agoDo not raise a different frame when closing a frame
Daniel Martín [Fri, 18 Aug 2023 13:03:21 +0000 (15:03 +0200)]
Do not raise a different frame when closing a frame

* src/frame.h: Declare an NS-only function to make a frame the
key window.
* src/nsfns.m (ns_make_frame_key_window): Implement it.
* src/frame.c (delete_frame): Call ns_make_frame_key_window
instead of Fraise_frame.  (Bug#61525)

16 months agoImprove type of custom-theme-directory (Bug#65401)
Mauro Aranda [Sun, 20 Aug 2023 13:39:49 +0000 (10:39 -0300)]
Improve type of custom-theme-directory (Bug#65401)

* lisp/custom.el (custom-theme-directory): Make it of type directory.

16 months ago; Fix last change
Eli Zaretskii [Sat, 26 Aug 2023 07:54:43 +0000 (10:54 +0300)]
; Fix last change

* lisp/cus-theme.el (describe-theme-from-file): Fix doc string
and arguments.
(describe-theme-1): Fix the call to 'describe-theme-from-file'.
(Bug#65468)

16 months agoImprove 'describe-theme' (bug#65468)
Thierry Volpiatto [Wed, 23 Aug 2023 13:12:28 +0000 (13:12 +0000)]
Improve 'describe-theme' (bug#65468)

* lisp/cus-theme.el (describe-theme-from-file): New function.

16 months ago; * doc/emacs/sending.texi (Mail Aliases): Add some useful commands.
Eli Zaretskii [Sat, 26 Aug 2023 06:38:22 +0000 (09:38 +0300)]
; * doc/emacs/sending.texi (Mail Aliases): Add some useful commands.

16 months agoDemote errors from utimensat copying directories
Po Lu [Sat, 26 Aug 2023 01:53:32 +0000 (09:53 +0800)]
Demote errors from utimensat copying directories

* lisp/files.el (copy-directory): Wrap set-file-times within
with-demoted-errors.

* src/fileio.c (Fcopy_file): Adjust commentary.

16 months agoUse float not double in webp_load alpha conversion
Paul Eggert [Sat, 26 Aug 2023 01:43:57 +0000 (18:43 -0700)]
Use float not double in webp_load alpha conversion

* src/image.c (webp_load): Pacify gcc -Wdouble-promotion
by using (1 - a), where the 1 is converted to 1.0f, rather
than (1.0 - a), which mistakenly converts a to double.
Also, reindent to use GNU style.

16 months agoDisable XkbLC_ControlFallback
Po Lu [Sat, 26 Aug 2023 01:38:34 +0000 (09:38 +0800)]
Disable XkbLC_ControlFallback

* src/xterm.c (handle_one_xevent) <XI_KeyPress>: Fix typos within
the commentary.
(x_term_init) [HAVE_XKB]: Disable the ControlFallback library
control, lest Xlib map function keys with ControlMask set to
ASCII keysyms within inactive groups.

16 months ago; Delete redundant defvars; font-lock is preloaded
Stefan Kangas [Thu, 24 Aug 2023 23:40:20 +0000 (01:40 +0200)]
; Delete redundant defvars; font-lock is preloaded

16 months agoPrevent unwanted recursion in erc-nickbar-disable
F. Jason Park [Wed, 16 Aug 2023 04:14:07 +0000 (21:14 -0700)]
Prevent unwanted recursion in erc-nickbar-disable

* lisp/erc/erc-speedbar.el (erc-status-sidebar-mode--unhook): Remove
forward declaration.
(erc-speedbar--toggle-nicknames-sidebar): Inline
`erc-speedbar-close-nicknames-window'.  Don't call
`erc-speedbar-browser' and thus avoid adding excess timers.
(erc-speedbar--ensure): Inline `speedbar-enable-update' to avoid
unneeded call to `speedbar-set-timer', and ensure it only runs in
`speedbar-buffer'.
(erc-speedbar--shutting-down-p): New flag variable to avoid recursive
calls to `dframe-close-frame' and friends.
(erc-nickbar-mode, erc-nickbar-enable, erc-nickbar-disable): Move
logic formerly performed by `speedbar-disable-update' to
`erc-speedbar--toggle-nicknames-sidebar'.  When disabling, guard
against recursive calls to `dframe-close-frame' and friends.
(erc-speedbar--get-timers): New utility function, also for use in
testing.
(erc-speedbar--dframe-controlled): Bind
`erc-speedbar--shutting-down-p' flag non-nil around call to
`erc-nickbar-mode'.  Remove excess timer left behind due to
incompatible behavior from `dframe-close-frame'.  Let caller kill
buffer.
(erc-speedbar-close-nicknames-window): Remove unused command, new in
ERC 5.6 and Emacs 30.
* test/lisp/erc/erc-scenarios-status-sidebar.el
(erc-speedbar-close-nicknames-window): Remove forward declaration.
(erc-speedbar--get-timers): Add forward declaration.
(erc-scenarios-status-sidebar--nickbar): Fix faulty expectations of
desired behavior when disabling module.  Ensure timers canceled.
* test/lisp/erc/resources/erc-scenarios-common.el
(erc-scenarios-common--make-bindings): Shadow `timer-idle-list' to
avoid polluting global test environment with stray timers.
(Bug#63595)

16 months agoWarn about implicit logging in erc-truncate-mode
F. Jason Park [Fri, 18 Aug 2023 02:18:50 +0000 (19:18 -0700)]
Warn about implicit logging in erc-truncate-mode

* etc/ERC-NEWS: Add entry explaining that `erc-truncate-mode' no
longer quasi-activates `erc-log-mode' under certain conditions.
* lisp/erc/erc-log.el
(erc-log--call-when-logging-enabled-sans-module): Add helper for use
by the `truncate' module during initialization.
* lisp/erc/erc-truncate.el (erc-truncate-mode, erc-truncate-enable,
erc-truncate-disable): Warn on `erc-connect-pre-hook' when conditions
exist that would have seen logging transparently activated in older
ERC versions.
(erc-truncate--warn-about-logging): New function to warn about
implicit logging on pre-connect.
(erc-truncate-buffer-to-size): Clarify some comments and revise doc
string.
* test/lisp/erc/erc-scenarios-log.el (erc-scenarios-log--truncate):
Disable `erc-truncate-mode' even though `erc-modules' is shadowed so
that `erc-insert-done-hook' and friends are not contaminated.
`(Bug#60936)

16 months agoIgnore erc-response objects in error-notice helper
F. Jason Park [Fri, 18 Aug 2023 02:18:50 +0000 (19:18 -0700)]
Ignore erc-response objects in error-notice helper

* lisp/erc/erc-button.el (erc-button--display-error-notice-with-keys):
Remove `parsed' `erc-response' positional parameter, and don't pass it
to `erc-display-message' because the latter adds text properties
derived from such an object.  These properties can confuse other code
operating on an inserted error-notice message into thinking it
originated from the server.
* lisp/erc/erc-common.el (erc--with-dependent-type-match): Make macro
more readable.
* lisp/erc/erc-networks.el (erc-networks--set-name,
erc-networks--ensure-announced, erc-networks-on-MOTD-end): Remove
`erc-response' objects from inserted error-notices.
* test/lisp/erc/erc-button-tests.el
(erc-button--display-error-notice-with-keys): Add assertions for
overloaded first parameter.
* test/lisp/erc/erc-tests.el (erc--with-dependent-type-match): Update
expected expansion.

16 months agoAssume that font-lock is preloaded
Stefan Kangas [Sat, 19 Aug 2023 09:48:58 +0000 (11:48 +0200)]
Assume that font-lock is preloaded

* lisp/org/ox-beamer.el (org-mode): Assume that font-lock is
preloaded, which it has been since Emacs 22.1.
* lisp/textmodes/reftex.el (reftex-use-fonts): Make function obsolete
in favor of variable.  Update all callers.

16 months agoFix alpha blending for WebP images
Stefan Kangas [Fri, 25 Aug 2023 18:26:45 +0000 (20:26 +0200)]
Fix alpha blending for WebP images

* src/image.c (webp_load): Fix WebP transparency by doing manual alpha
blending instead of naive masking.  (Bug#59242)

16 months ago; * lisp/strokes.el: Delete commented out XEmacs compat code.
Stefan Kangas [Fri, 25 Aug 2023 18:22:21 +0000 (20:22 +0200)]
; * lisp/strokes.el: Delete commented out XEmacs compat code.

16 months ago; Delete code commented out since 1992
Stefan Kangas [Fri, 25 Aug 2023 15:43:50 +0000 (17:43 +0200)]
; Delete code commented out since 1992

16 months ago; Fix doc string of 'current-idle-time'
Eli Zaretskii [Fri, 25 Aug 2023 05:53:21 +0000 (08:53 +0300)]
; Fix doc string of 'current-idle-time'

* src/keyboard.c (Fcurrent_idle_time): Doc fix (bug#65512).

16 months agoAttempt to fix bug#65068
Po Lu [Fri, 25 Aug 2023 02:47:12 +0000 (10:47 +0800)]
Attempt to fix bug#65068

* src/xterm.c (handle_one_xevent) <KeyPress>: Prevent calls to
XkbTranslateKeysym with a modified keysym if overflow happens.
<XI_KeyPress>: Expound upon the different forms of key event
lookup and the chaotic code beneath within the commentary.
Discontinue separating keycode lookup from key translation.
Supply the effective group within the modifier mask provided
to both XKB translation functions.  (bug#65068)

16 months agoDon't try to set variable removed in Emacs 21
Stefan Kangas [Thu, 24 Aug 2023 23:41:47 +0000 (01:41 +0200)]
Don't try to set variable removed in Emacs 21

* lisp/eshell/em-ls.el (eshell-ls--insert-directory): Don't set
'font-lock-buffers', which was removed in Emacs 21.

16 months agoFix custom :type of dired-mouse-drag-files
Stefan Kangas [Thu, 24 Aug 2023 20:42:19 +0000 (22:42 +0200)]
Fix custom :type of dired-mouse-drag-files

* lisp/dired.el (dired-mouse-drag-files): Fix :type to allow
specifying 'move'.  (Bug#65497)