1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-16 08:10:43 -08:00
Commit graph

161420 commits

Author SHA1 Message Date
Filipp Gunbin
7e60246ab3 Move required options out of ldap-ldapsearch-args
* lisp/net/ldap.el (ldap-ldapsearch-args, ldap-search-internal): Move
"-LLL" and "-tt" options as they're required for the code to work
properly.
2022-10-25 18:00:54 +03:00
Stefan Kangas
c8fe6aae0a eglot: Prefer ensure-list on Emacs 28 or later
* lisp/progmodes/eglot.el (eglot--ensure-list): Make into alias
for 'ensure-list' on Emacs 28 or later.
2022-10-25 16:42:58 +02:00
Michael Albinus
fe816fc679 Handle context changes in Tramp kubernetes method
* doc/misc/tramp.texi (Inline methods): Remove note about cache reset.
(File name completion): Add tramp-completion-use-cache.

* etc/NEWS: Add 'tramp-completion-use-cache'.

* lisp/net/tramp-cache.el (tramp-completion-use-cache): New defcustom.
(tramp-parse-connection-properties): Use it.

* lisp/net/tramp-container.el (tramp-docker--completion-function)
(tramp-kubernetes--completion-function): Ensure the processes run
locally.
(tramp-kubernetes--current-context-data): New defun.
(tramp-methods) <kubernetes>: Add `tramp-config-check'.

* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
Handle `tramp-login-args'.

* lisp/net/tramp.el (tramp-methods): Adapt docstring.
2022-10-25 16:34:42 +02:00
Robert Pluim
8c3b8c3667 Fix eglot defcustom types
* lisp/progmodes/eglot.el (eglot-autoreconnect): Allow for 'nil'.
(eglot-connect-timeout): Allow for 'nil' and add descriptions.
(eglot-sync-connect): Split boolean into 'nil' and 't' and add descriptions.
(eglot-confirm-server-initiated-edits): Change 'symbol' type to 'const'.
2022-10-25 16:22:07 +02:00
Alan Mackenzie
1e1be54156 Test face name variables are bound before using them in cc-fonts.el
This fixes bug #58641.

Also, set c-reference-face-name to font-lock-constant face in preference to
c-label-face-name.

* lisp/progmodes/cc-fonts.el (c-preprocessor-face-name, c-label-face-name)
(c-constant-face-name, c-reference-face-name): Test variables with the same
name as font-lock faces are bound before accessing their values.
(c-reference-face-name): Use font-lock-constant face in preference to
c-label-face-name.
2022-10-25 13:30:45 +00:00
Robert Pluim
5b90a718ee * lisp/progmodes/eglot.el: Remove not very funny joke. 2022-10-25 15:16:55 +02:00
Eli Zaretskii
92ec31a48c Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2022-10-25 14:59:39 +03:00
Lin Sun
095dadf277 lisp.h: Remove unnecessary preprocessor conditions
This removes the HAVE_PDUMPER || HAVE_UNEXEC condition
of gflags.will_dump_, which gets in the way when Emacs
is built without any dumping method.  (Bug#58708)
2022-10-25 14:53:01 +03:00
Po Lu
b6097fe279 Fix drag-and-drop bugs on Lucid build
Also, optimize Fx_translate_coordinates to avoid excessive calls
to _XReply.

* lisp/x-dnd.el (x-dnd-get-drop-rectangle): Return empty drop
rectangle if posn-area.
* src/xfns.c (Fx_translate_coordinates): Accept arg
`require_child'.  If not set, allow optimizations based on
cached position data.
* src/xselect.c (x_handle_dnd_message): Use
x_translate_coordinates.
* src/xterm.c (x_translate_coordinates): Export function.
(x_handle_translate_coordinates): New function.
(handle_one_xevent): Fix coding style.
* src/xterm.h: Update prototypes.
2022-10-25 19:51:08 +08:00
Brian Leung
bb95e597a9 eglot-server-programs: Account for new ts-mode
At the time of writing, this exists only in the unmerged tree-sitter
branch.  It is not harmful to include, however.

* lisp/progmodes/eglot.el (eglot-server-programs): Add new major mode
to be used with the typescript-language-server.  (Bug#58769)
2022-10-25 12:13:25 +02:00
Brian Leung
566e410287 eglot-server-programs: Account for new js-json-mode
js-json-mode derives from js-mode, so this reordering is necessary to
prevent js-mode's eglot server from starting if a user has something
like this in their config:

    (add-to-hook 'js-json-mode #'eglot-ensure)
    (add-to-hook 'js-mode #'eglot-ensure)

* lisp/progmodes/eglot.el (eglot-server-programs): Move the
json-language-server info before the entry for js-mode, and add on
js-json-mode.  (Bug#58769)
2022-10-25 12:13:25 +02:00
Robert Pluim
72a94f91fd Improve the eglot info documentation
* doc/misc/eglot.texi (Eglot and Buffers): Improve phrasing.
(Eglot Commands): 'reference of' -> 'reference for' and a typo fix.
(Eglot Variables): Add markup for values.
(Customizing Eglot): Grammar fixes.
(Troubleshooting Eglot): Improve text.
2022-10-25 11:38:23 +02:00
João Távora
0b1eda215d Fix M-x eglot breakage due to typo
* lisp/progmodes/eglot.el (eglot): Fix bug.
2022-10-25 10:34:08 +01:00
Stephen Leake
31945b6c3f * lisp/progmodes/eglot.el (eglot): Ensure managed-major-mode is a list 2022-10-25 02:15:13 -07:00
Stefan Monnier
9bfe00dda6 * lisp/progmodes/compile.el (compilation-mode-line-errors): Use defvar
This is not really a constant, e.g. it's modified in `grep.el`.
2022-10-24 14:25:02 -04:00
Mattias Engdegård
8f16578c45 ; * doc/lispref/searching.texi (Rx Constructs): Copy-edit. 2022-10-24 17:17:02 +02:00
Eli Zaretskii
0c9d31812f Unbreak the build broken by tab-bar.el changes
Without this change, compiling tab-bar.el errors out:
In tab-bar--load-buttons:
tab-bar.el:161:18: Warning: reference to free variable `tab-bar-new'
tab-bar.el:174:6: Error: `define-icon' defined after use in
(define-icon tab-bar-close nil (cons (cons 'image
(cons "tabs/close.xpm"
(cons :margin (cons tab-bar-button-margin '(:ascent center)))))
'((text " x"))) "Icon for closing the clicked tab."
:version "29.1" :help-echo "Click to close tab")
(missing `require' of a library file?)
tab-bar.el:174:18: Warning: reference to free variable `tab-bar-close'
* lisp/tab-bar.el (eval-when-compile): Require 'icons.
2022-10-24 16:43:47 +03:00
Mattias Engdegård
3661694503 * doc/lispref/searching.texi (Rx Constructs): Elaborate intent.
Suggested by Michael Heerdegen (bug#58727).
2022-10-24 14:46:24 +02:00
Po Lu
eb3f8d1b64 Fix focus stealing in the Emacs server for old window managers
* src/xterm.c (x_focus_frame): Apply focus stealing preference
to non-EWMH focus as well.  Otherwise frames get raised but not
focused.
2022-10-24 19:18:49 +08:00
Mattias Engdegård
d083075b45 Clarify RX... semantics in manual (bug#58727)
Suggested by Michael Heerdegen.

* doc/lispref/searching.texi (Rx Constructs): Explain implicit
concatenation of `RX...`.
2022-10-24 12:35:47 +02:00
Martin Jerabek
aa793512d0 Repair nXML handling of URIs with hex escapes (bug#58718)
Copyright-paperwork-exempt: yes

* lisp/nxml/rng-uri.el (rng-uri-file-name-1): Add missing backslashes.
(rng-uri-unescape-unibyte, rng-uri-unescape-unibyte-match):
Convert hex-encoded character to string.
2022-10-24 12:22:41 +02:00
Mattias Engdegård
36f5a1a7e7 Fix regexp matching with atomic strings and optimised backtracking
This bug occurs when an atomic pattern is matched at the end of
a string and the on-failure-keep-string-jump optimisation is
in effect, as in:

  (string-match "\\'\\(?:ab\\)*\\'" "a")

which succeeded but clearly should not (bug#58726).

Reported by Michael Heerdegen.

* src/regex-emacs.c (PREFETCH): Add reset parameter.
(re_match_2_internal): Use it for proper atomic pattern treatment.
* test/src/regex-emacs-tests.el (regexp-atomic-failure): New test.
2022-10-24 11:50:13 +02:00
Robert Pluim
b5ada7aa6f Remove erroneous @w in yank-media cross ref
I added this by mistake, there's actually no need to keep the cross
ref on the same line.

* doc/emacs/killing.texi (Clipboard): Remove @w around @pxref.
2022-10-24 09:55:25 +02:00
Juri Linkov
c06b5961ee * lisp/tab-bar.el: Use customizable button icons (bug#51309, bug#51648)
* lisp/tab-bar.el (tab-bar--load-buttons): Use 'define-icon' to
define icons for tab-bar-new, tab-bar-close, tab-bar-menu-bar.
Also set tab-bar-new-button, tab-bar-close-button, tab-bar-menu-bar-button
to the specified icon-string.
(tab-bar-history-mode): Use 'define-icon' to
define icons for tab-bar-back, tab-bar-forward.
Also set tab-bar-back-button, tab-bar-forward-button
to the specified icon-string.

* lisp/emacs-lisp/icons.el (icons--create)<image>: Allow to easy
add new image props by using 'apply' on them.  Add :margin.
2022-10-24 10:33:41 +03:00
Juri Linkov
590086339f * lisp/minibuffer.el (completions-group-separator): Update :version. 2022-10-24 10:22:37 +03:00
Juri Linkov
f7816c94b6 * lisp/outline.el: Pre-compute some frequent data for button icons (bug#57813)
(outline--button-icons): New buffer-local variable.
(outline-minor-mode): Set outline--button-icons.
Unify overlay name 'outline-margin' with 'outline-button'.
(outline--make-button-overlay, outline--make-margin-overlay)
(outline--insert-open-button, outline--insert-close-button): Remove functions.
(outline--create-button-icons, outline--insert-button): New functions
with code refactored from old functions.  Add more support for icon faces.
(outline--fix-up-all-buttons): Use outline--insert-button.
(outline--fix-buttons-after-change): Unify overlay name
'outline-margin' with 'outline-button'.

* lisp/minibuffer.el (completions-group-separator): Change face
attribute :strike-through to :underline.
2022-10-23 19:54:31 +03:00
Po Lu
a01bd1a208 Reduce duplicate code for creating "special windows"
* src/xterm.c (x_create_special_window): Define on all non-GTK
builds and all builds with XFixes.
(x_update_frame_user_time_window): Use x_create_special_window.
Also write a comment explaining what user time windows are.
* src/xterm.h: Fix style of `x_parse_color' prototype.
2022-10-23 14:13:19 +08:00
Stefan Kangas
1dbc2bda58 Merge from origin/emacs-28
f1f4a0c9d2 ; * doc/lispref/display.texi (Progress): Correct typo.  (B...
2022-10-23 06:31:19 +02:00
Stefan Kangas
681367412e ; Merge from origin/emacs-28
The following commit was skipped:

ee9a9fbf0f ; cperl-mode.el: Fix one match-count in my commit 2021-09-14
2022-10-23 06:31:19 +02:00
Stefan Kangas
731cbf9fc4 Merge from origin/emacs-28
626525c29f ; Remove reference to non-existent Flymake function from m...
2022-10-23 06:31:19 +02:00
Basil L. Contovounesios
9db7b11cf7 Improve error reporting of EUDC plist functions
* lisp/net/eudc.el (eudc--plist-member): Signal a more
informative wrong-type-argument instead of a generic error
(bug#58531#19, bug#58720).
* test/lisp/net/eudc-tests.el (eudc--plist-member)
(eudc-plist-member, eudc-plist-get, eudc-lax-plist-get):
Update tests accordingly.
2022-10-23 00:44:52 +03:00
Eli Zaretskii
e25a108b09 ; * doc/emacs/text.texi (Outline Mode): Fix markup and wording. 2022-10-22 22:05:50 +03:00
Juri Linkov
8bde7d40a4 * lisp/outline.el: Use 'outline-cycle' on buttons for 'RET' like 'TAB' uses.
(outline--make-button-overlay, outline--make-margin-overlay):
Use overlay keymap where RET and mouse-2 are bound to outline-cycle.
(outline--insert-open-button, outline--insert-close-button):
Move overlay keymap to outline--make-button-overlay and replace
bindings outline-hide-subtree/outline-show-subtree with outline-cycle.
2022-10-22 21:57:40 +03:00
Juri Linkov
fab2084956 Unify outline-minor-mode-use-buttons with in-margins/insert values (bug#57813)
* doc/emacs/text.texi (Outline Mode): Remove outline-minor-mode-use-margins.
Document the values insert/in-margins of outline-minor-mode-use-buttons.

* lisp/help.el (describe-bindings):
Set outline-minor-mode-use-buttons to 'insert'.

* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common):
Set outline-minor-mode-use-buttons to 'in-margins'.

* lisp/outline.el (outline-minor-mode-use-buttons): Change :type
from 'buffer-predicate' to choice of const values nil/in-margins/t.
(outline--use-buttons, outline-minor-mode-insert-buttons)
(outline-minor-mode-use-margins, outline--use-margins): Remove variables.
(outline-minor-mode-highlight-buffer): Change overlay name
'outline-overlay' to 'outline-highlight'.
(outline-minor-mode): Simplify to handle possible values of
'outline-minor-mode-use-buttons' instead of using many variables.
(outline--make-button-overlay): Use value 'insert' of
'outline-minor-mode-use-buttons'.
(outline--insert-open-button, outline--insert-close-button)
(outline--fix-up-all-buttons, outline--fix-buttons-after-change):
Handle values of outline-minor-mode-use-buttons instead of using
many variables.
2022-10-22 21:37:56 +03:00
Juri Linkov
b82159a234 * lisp/info.el (Info-toc-build): Remove message not needed anymore (bug#58634) 2022-10-22 20:46:10 +03:00
Basil L. Contovounesios
9da2efb670 Audit some plist uses with new predicate argument
* doc/lispref/lists.texi (Plist Access): Improve description of
default predicate.
* lisp/emacs-lisp/cl-extra.el (cl-getf, cl--set-getf): Assume
plist-member always returns a cons.
* lisp/emacs-lisp/gv.el (plist-get): Support new optional predicate
argument (bug#47425#91).
* lisp/emacs-lisp/map.el: Bump minor version.
(map--dispatch): Remove now that bug#58563 is fixed.  Break two
remaining uses out into corresponding cl-defmethods.
(map--plist-p): Add docstring.
(map--plist-has-predicate, map--plist-member-1, map--plist-member)
(map--plist-put-1, map--plist-put): New definitions for supporting
predicate argument backward compatibly.
(map-elt): Fix generalized variable getter under a
predicate (bug#58531).  Use predicate when given a plist.
(map-put): Avoid gratuitous warnings when called without the hidden
predicate argument.  Improve obsoletion message.
(map-put!): Use predicate when given a plist.
(map-contains-key): Ditto.  Declare forgotten
advertised-calling-convention (bug#58531#19).
(map--put): Group definition in file together with that of map-put!.
* lisp/files-x.el (connection-local-normalize-criteria): Simplify
using mapcan + plist-get.
* lisp/net/eudc.el (eudc--plist-member): New convenience function.
(eudc-plist-member, eudc-plist-get, eudc-lax-plist-get): Use it
instead of open-coding plist-member.
* src/fns.c (Fplist_get, plist_get, Fplist_put, plist_put): Pass the
plist element as the first argument to the predicate, for
consistency with assoc + alist-get.
(Fplist_member, plist_member): Move from widget to plist section.
Open-code the EQ case in plist_member, and call it from
Fplist_member in that case, rather than the other way around.

* test/lisp/apropos-tests.el (apropos-tests-format-plist): Avoid
polluting obarray.
* test/lisp/emacs-lisp/cl-extra-tests.el (cl-getf): Extend test with
generalized variables, degenerate plists, and improper lists.
* test/lisp/emacs-lisp/gv-tests.el: Byte-compile file; in the
meantime bug#24402 seems to have been fixed or worked around.
(gv-setter-edebug): Inhibit printing messages.
(gv-plist-get): Avoid modifying constant literals.  Also test with a
predicate argument.
* test/lisp/emacs-lisp/map-tests.el (with-maps-do): Simplify
docstring.
(test-map-elt-testfn): Rename...
(test-map-elt-testfn-alist): ...to this.  Also test with a predicate
argument.
(test-map-elt-testfn-plist, test-map-elt-gv, test-map-elt-signature)
(test-map-put!-plist, test-map-put!-signature)
(test-map-contains-key-signature, test-map-plist-member)
(test-map-plist-put): New tests.
(test-map-contains-key-testfn): Also test with a predicate argument.
(test-map-setf-alist-overwrite-key, test-map-setf-plist-insert-key)
(test-map-setf-plist-overwrite-key): Avoid modifying constant
literals.
(test-hash-table-setf-insert-key)
(test-hash-table-setf-overwrite-key): Fix indentation.
(test-setf-map-with-function): Make test more precise.
* test/lisp/net/eudc-tests.el: New file.
* test/lisp/subr-tests.el (test-plistp): Extend test with circular
list.
* test/src/fns-tests.el (test-cycle-equal, test-cycle-nconc): Move
from plist section to circular list section.
(plist-put/odd-number-of-elements): Avoid modifying constant
literals.
(plist-member/improper-list): Simplify.
(test-plist): Move to plist section.  Also test with a predicate
argument.
2022-10-22 19:33:12 +03:00
Po Lu
f85bdb4992 Further fixes to menu event processing on no-toolkit builds
* src/xdisp.c (note_mouse_highlight): Return if a popup is
activated under the no-toolkit build as well.
* src/xmenu.c (pop_down_menu): Clear popup_activated_flag when
not on MS-DOS.
(x_menu_show): Set popup_activated_flag under X.
2022-10-22 20:21:55 +08:00
Stefan Kangas
636322cfe0 * admin/notes/repo: Document feature and scratch branches. 2022-10-22 12:18:34 +02:00
Filipp Gunbin
55eabe96c9 ; Improve manual for Tramp kubernetes method
* doc/misc/tramp.texi (Inline methods): Add note about cache reset.
2022-10-21 21:23:32 +03:00
Matt Armstrong
f1f4a0c9d2 ; * doc/lispref/display.texi (Progress): Correct typo. (Bug#58674) 2022-10-21 21:22:50 +03:00
Eli Zaretskii
444c7ea83f ; * src/menu.c (x_popup_menu_1): Make 'cancel_hourglass' call conditional. 2022-10-21 19:05:48 +03:00
Eli Zaretskii
9bc1999b6f Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2022-10-21 18:29:05 +03:00
Eli Zaretskii
4bb4b2a921 ; * src/menu.c: Include dispextern.h (bug#58688). 2022-10-21 18:27:30 +03:00
Nacho Barrientos
40a361fbd6 Bindat (src, strz): Operate on vectors too
Copyright-paperwork-exempt: yes

* lisp/emacs-lisp/bindat.el (bindat--unpack-str, bindat--unpack-strz):
Fix the non-string case.
* test/lisp/emacs-lisp/bindat-tests.el (bindat-test--strz-array-unpack)
(bindat-test--str-simple-array-unpack,bindat-test--str-combined-array-unpack):
New tests.
2022-10-21 11:26:36 -04:00
Po Lu
693443bbf7 Fix various menu problems
* src/menu.c (x_popup_menu_1): Cancel hourglass timer before
displaying popup.
* src/xterm.c (x_show_hourglass): Avoid displaying hourglass
cursor during a popup.
(handle_one_xevent): Under X Toolkit and GTK+ 2.x builds with
XInput 2, clear the mouse face upon a core LeaveNotify; these
can be generated by menu grabs.
(x_wm_set_size_hint): Fix Motif build warning.
2022-10-21 21:32:34 +08:00
Eli Zaretskii
3245b17a0f ; * doc/emacs/programs.texi (Programming Language Doc): Fix typos. 2022-10-21 16:17:17 +03:00
Eli Zaretskii
8ce2b89aa1 Improve and extend documentation of ElDoc
* lisp/emacs-lisp/eldoc.el (eldoc-documentation-strategy)
(eldoc-documentation-enthusiast)
(eldoc-documentation-compose-eagerly)
(eldoc-documentation-compose, eldoc-documentation-default)
(eldoc-minibuffer-message, eldoc-idle-delay)
(eldoc-print-after-edit)
(eldoc-echo-area-display-truncation-message)
(eldoc-echo-area-use-multiline-p)
(eldoc-echo-area-prefer-doc-buffer): Doc string fixes.

* doc/emacs/emacs.texi (Top):
* doc/emacs/programs.texi (Documentation, Programming Language Doc):
Rename "Lisp Doc" to "Programming Language Doc", including in
parent menus.  All references changed.
(Programming Language Doc): Formerly "Lisp Doc".  Rewrite to not
be specific to Emacs Lisp.  Improve markup and wording.  Document
more commands and variables.
* doc/emacs/maintaining.texi (Maintaining): Improve indexing.
2022-10-21 16:10:08 +03:00
Po Lu
ea70e545c9 Fix delivery of window manager ping events during menu
* oldXMenu/Activate.c (XMenuActivateSetExposeFunction)
(XMenuActivate):
* oldXMenu/XMenu.h: Remove expose functions.
* src/msdos.h (XMenuSetAEQ): Remove no longer used function.
* src/xmenu.c (x_menu_expose_event): Delete function.
(x_menu_dispatch_event): New function.
(x_menu_show): Set it as the XMenu event handler.
2022-10-21 19:19:48 +08:00
Mauro Aranda
4b40b790ae Fix last change in perl-mode
* lisp/progmodes/perl-mode.el (perl--syntax-exp-intro-regexp): Escape
$.  Reported by Mattias Engdegård.
2022-10-21 07:45:27 -03:00
Brian Leung
3ad9ac25a8 Add the "nil" language server to eglot-server-programs
* lisp/progmodes/eglot.el (eglot-server-programs): Add the "nil"
language server.  Put it before rnix-lsp since it is more featureful
and more actively updated.  (Bug#58676)
Ref: https://github.com/oxalica/nil
2022-10-21 10:20:20 +02:00