summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Use new external-completion.el in Eglotfeature/external-completionJoão Távora2022-12-071-51/+9
| | | | | | | | | | | This refactor simplifies Eglot's source code. * lisp/progmodes/eglot.el: (Package-Requires): Require external-completion. (external-completion): Require it. (xref-backend-identifier-completion-table): Use external-completion-table. (completion-category-overrides): No longer set it. ("Backend Completion"): Delete section.
* Don't override completion-category-defaults in fido-modeJoão Távora2022-12-071-1/+0
| | | | | | | | | | To more closely emulate ido-mode, fido-mode and fido-vertical-mode strongly lean to the 'flex completion style. But overriding completion-category-defaults is not the correct way to do it, since sometimes even the 'flex style isn't possible. * lisp/icomplete.el (icomplete--fido-mode-setup): Don't set completion-category-defaults here.
* Add 'external' completion style for completions from external toolsJoão Távora2022-12-071-0/+174
| | | | | | | | | | | | | | | | | | | | | | This completion style has been in use in Eglot and other third-party extensions for a long time. It's meant for libraries that interface with an external tool which provides completions, such as a shell utility, an inferior process, an http server. The new file lisp/external-completion.el provides a helper function, external-completion-table which is given an interfacing function to the external tool and returns a "programmed completion" table that is bound to the 'external' completion style. That table can then be used with completing-read or any other facility expecting a completion table. When the 'external' is in use, the usual styles configured by the user or other in 'completion-styles' are completely overriden. This relatively minor inconvenience is the price to pay for responsive completion where the full set of completion candidates doesn't need to be transfered into Emacs's address space. * lisp/external-completion.el: New file.
* Merge from origin/emacs-29Stefan Kangas2022-12-0713-75/+187
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9ae1c2762d7 EUDC: Outline deprecation plans in NEWS 6acf95cbea6 Fix admin/notes/tree-sitter/build-module/build.sh (bug#59... cc63c086971 * doc/misc/eww.texi (Overview): Improve introduction. b8790e320e1 Consistent fontification of using-directives in csharp-ts... 5257b9cda43 ; Rename c-ts-fontify-error to c-ts-mode--fontify-error c6b454df339 ; Improve docstring of c-ts-mode--fontify-variable 6187d001f28 Fontify some keywords in type face in c-ts-mode b3847c02083 ; Minor cleanup in treesit.c 40af27859e0 ; * lib-src/etags.c (escape_shell_arg_string): Minor doc ... 43b7e7efbf4 Fix etags builds on non-Windows non-MS-DOS machines 7e6d1d1c471 ; Fix last change in etags.c. 01a4035c869 Fix etags local command injection vulnerability ed4734405df Avoid crashes in a build --without-modules 70a2eb4a0b3 Fix 'add-display-text-property' when OBJECT is non-nil d58d1dd48ac Do not run slow tests on EMBA 9b9b39a2d89 Lisp reader undefined behaviour excision # Conflicts: # etc/NEWS
| * EUDC: Outline deprecation plans in NEWSThomas Fitzsimmons2022-12-061-0/+20
| | | | | | | | * etc/NEWS (EUDC): Mention deprecation plans.
| * Fix admin/notes/tree-sitter/build-module/build.sh (bug#59789)Yuan Fu2022-12-062-26/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Besides the problem mentioned by Juri, which is fixed by removing -cp tree-sitter-lang.in "tree-sitter-${lang}/src" -cp emacs-module.h "tree-sitter-${lang}/src" (we removed those files in an earlier commit, because they are not used anymore.) Now it also more parameterized and builds typescript and tsx separately. * admin/notes/tree-sitter/build-module/build.sh (topdir) (repo, sourcedir, grammardir): New variables. (Build): Make it parametric. (Copy out): Use absolute path. * admin/notes/tree-sitter/build-module/batch.sh (languages): Add tsx.
| * * doc/misc/eww.texi (Overview): Improve introduction.Stefan Kangas2022-12-071-3/+9
| |
| * Consistent fontification of using-directives in csharp-ts-modeJostein Kjønigsen2022-12-061-1/+4
| | | | | | | | | | * lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings): New rules.
| * ; Rename c-ts-fontify-error to c-ts-mode--fontify-errorYuan Fu2022-12-061-2/+2
| | | | | | | | | | * lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings) (c-ts-fontify-error): Rename.
| * ; Improve docstring of c-ts-mode--fontify-variableYuan Fu2022-12-061-2/+2
| | | | | | | | | | * lisp/progmodes/c-ts-mode.el (c-ts-mode--fontify-variable): Improve docstring.
| * Fontify some keywords in type face in c-ts-modeYuan Fu2022-12-061-4/+9
| | | | | | | | | | | | * lisp/progmodes/c-ts-mode.el (c-ts-mode--keywords): Remove some keywords. (c-ts-mode--type-keywords): New variables. (c-ts-mode--font-lock-settings): New rule.
| * ; Minor cleanup in treesit.cEli Zaretskii2022-12-061-6/+4
| | | | | | | | | | * src/treesit.c (Ftreesit_query_capture) (Ftreesit_parser_set_included_ranges): Minor cleanups.
| * ; * lib-src/etags.c (escape_shell_arg_string): Minor doc fix.Stefan Kangas2022-12-061-3/+3
| |
| * Fix etags builds on non-Windows non-MS-DOS machinesMattias Engdegård2022-12-061-3/+3
| | | | | | | | | | * lib-src/etags.c: In this file, MSDOS is always defined but can be either `true` or `false`, so don't used `defined MSDOS` as a condition.
| * ; Fix last change in etags.c.Eli Zaretskii2022-12-061-18/+29
| |
| * Fix etags local command injection vulnerabilitylu4nx2022-12-061-5/+58
| | | | | | | | | | | | * lib-src/etags.c: (escape_shell_arg_string): New function. (process_file_name): Use it to quote file names passed to the shell. (Bug#59817)
| * Avoid crashes in a build --without-modulesEli Zaretskii2022-12-061-8/+8
| | | | | | | | | | | | * src/lread.c (syms_of_lread): Move the definitions of 'dynamic-library-suffixes' outside of the HAVE_MODULES conditional. (Bug#59832)
| * Fix 'add-display-text-property' when OBJECT is non-nilEli Zaretskii2022-12-062-3/+13
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/subr-x.el (add-display-text-property): Fix the case where OBJECT is not nil. (Bug#59857) * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-test-add-display-text-property): Add test for this case.
| * Do not run slow tests on EMBAMichael Albinus2022-12-062-12/+13
| | | | | | | | | | | | | | | | | | * test/infra/gitlab-ci.yml (.filenotify-gio-template): Do not run scheduled. (build-native-comp-speed1, build-native-comp-speed2): Comment out. * test/lisp/international/ucs-normalize-tests.el (ucs-normalize-part1): Skip also on EMBA.
| * Lisp reader undefined behaviour excisionMattias Engdegård2022-12-061-2/+2
| | | | | | | | | | | | | | | | | | * src/lread.c (read_bool_vector, skip_lazy_string): Replace `|` with `||` to explicitly introduce sequence points since the variables, `length` and `nskip`, are mutated more than once. The `|` was just a weak attempt at micro-optimisation in any case; sorry about that.
* | * etc/NEWS: Mention new bs optionJuanma Barranquero2022-12-071-0/+7
| |
* | * lisp/bs.el: Improve compatibility with previous versionJuanma Barranquero2022-12-071-7/+14
| | | | | | | | | | | | | | | | | | | | * lisp/bs.el (bs-default-action-list): Remove display-buffer-reuse-window. Ask for a minimum height window, not maximum. (bs-show-in-buffer): Create window here, and afterwards make sure it's the only window showing the *bs-selection* buffer. (bs--show-with-configuration): Move window creation to bs-show-in-buffer.
* | ; * lisp/serve.el: Silence unused arg warning in previous commitJuanma Barranquero2022-12-071-1/+1
| |
* | ; Remove dead code from 'server-stop-automatically--handle-delete-frame'Jim Porter2022-12-061-20/+4
| | | | | | | | | | | | | | | | | | * lisp/server.el (server-stop-automatically--handle-delete-frame): Since 'this-command' is never 'save-buffers-kill-terminal' in this function, we can remove the second 'if' block and it's then-form, leaving only the else-form. Additionally, remove the 'delete-frame' call; it's not necessary, since we just killed Emacs on the prior line.
* | * lisp/bs.el: Adapt to modern display-buffer-alist window setupJuanma Barranquero2022-12-061-32/+26
| | | | | | | | | | | | | | | | | | | | * lisp/bs.el (bs--window-config-coming-from): Delete. (bs-default-action-list): New user customizable option. (bs--restore-window-config): Delete. (bs-kill, bs-select, bs-select-other-window) (bs-select-other-frame): Use `quit-window' instead. (bs--show-with-configuration): Use `pop-to-buffer' to display the "*buffer-selection*" buffer.
* | Work around sample server bugPo Lu2022-12-061-11/+22
| | | | | | | | | | * src/xterm.c (XTring_bell): Catch Access errors from XBell when Emacs is running as an untrusted client.
* | Merge from origin/emacs-29Stefan Kangas2022-12-068-27/+46
|\ \ | |/ | | | | | | | | | | | | | | 717f8477284 ; Fix typo in js--treesit-imenu c26fe45cb80 Fix treesit-query-capture 318bf42b410 Improve fontification of typescript-ts-mode (bug#59831) 64271bbb7d9 Add back pair feature in json-ts-mode fontification (bug#... 16b94888429 Fix mouse clicks on a non-selected frame ca0da3b83df ; Clarify description of display on the margins
| * ; Fix typo in js--treesit-imenuRandy Taylor2022-12-061-1/+1
| | | | | | | | * lisp/progmodes/js.el (js--treesit-imenu): Fix a typo. (Bug#59849)
| * Fix treesit-query-captureYuan Fu2022-12-053-15/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change Ftreesit_query_capture doesn't convert character position to byte position for BEG and END parameters. I observed fontification issue in css files but couldn't figure out why, now I know :-) I decide to keep treesit--font-lock-query-expand-range, since it might provide a escape hatch for problems we discover in the future, and it should be very cheap so no downside of keeping it. * lisp/textmodes/css-mode.el (css-ts-mode): Stop setting treesit--font-lock-query-expand-range. * lisp/treesit.el (treesit--font-lock-query-expand-range): Update docstring. * src/treesit.c (Ftreesit_query_capture): Convert BEG and END to byte position. Also added parentheses wround "beg_byte - visible_beg" in the call to ts_query_cursor_set_byte_range (i.e., style change).
| * Improve fontification of typescript-ts-mode (bug#59831)Jostein Kjønigsen2022-12-051-2/+16
| | | | | | | | | | | | | | | | | | - Highlight property and field definitions in class declaration. - Highlight property-keys in object initializaters. - Highlight variable-names in function/method return-statements. * lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode--font-lock-settings): Add fontification rules.
| * Add back pair feature in json-ts-mode fontification (bug#59833)Theodor Thornhill2022-12-051-1/+5
| | | | | | | | | | | | * lisp/progmodes/json-ts-mode.el (json-ts-mode--font-lock-settings): Add back in removed pair feature. Also alphabetize features. (json-ts-mode): Use the new feature.
| * Fix mouse clicks on a non-selected frameEli Zaretskii2022-12-051-6/+13
| | | | | | | | | | * lisp/mouse-drag.el (mouse-drag-drag): Skip switch-frame events while tracking mouse. (Bug#59785)
| * ; Clarify description of display on the marginsEli Zaretskii2022-12-051-2/+3
| | | | | | | | | | | | * doc/lispref/display.texi (Display Margins): More accurate explanation of how to show text in the display margin without concealing buffer text. (Bug#59841)
* | Fix crash on Windows 9XPo Lu2022-12-061-0/+6
| | | | | | | | * src/emacs.c (main): Call init_bignum before init_window_once.
* | ; * src/xfns.c: Actually remove "#include <xcb/xcb_aux.h>".Eli Zaretskii2022-12-051-1/+0
| |
* | Fix build with old XCBPo Lu2022-12-052-20/+19
| | | | | | | | | | | | | | * src/xfns.c (x_get_net_workarea): * src/xterm.c (x_dnd_compute_toplevels, x_dnd_get_proxy_proto) (x_dnd_get_wm_state_and_proto, handle_one_xevent): Do not include xcb_aux.h. Use XA_ constants instead of XCB_ATOM_ ones.
* | ; * etc/NEWS: Fix entry for 'vc-git-shortlog-switches'.Eli Zaretskii2022-12-051-3/+4
| |
* | Don't excessively sync in some other codePo Lu2022-12-055-40/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (USE_XCB): Remove xcb-util dependency. * src/frame.h: Remove x_sync. * src/gtkutil.c (xg_frame_restack, xg_update_scrollbar_pos) (xg_update_horizontal_scrollbar_pos): Call XSync manually instead of x_sync. * src/xfns.c (x_sync): Delete unused function. * src/xterm.c (x_send_hourglass_message): New function. (x_show_hourglass, x_hide_hourglass): Avoid XSync in these two pieces of frequently used code. (handle_one_xevent): Handle hourglass messages. (x_make_frame_invisible): Stop using x_sync.
* | Merge from origin/emacs-29Stefan Kangas2022-12-058-65/+83
|\ \ | |/ | | | | | | | | | | ec00d292ec0 Improve treesit-fontify-with-override 4bcdb1cc65b Make killing a non-last client work the same no matter th... a27f61f6f48 Use the function 'window-system' on the tab-bar/tab-line ... 432b9655ae0 Restore font-lock-type-face for lisp mode &symbols
| * Improve treesit-fontify-with-overrideYuan Fu2022-12-044-35/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also fixes fontification problem with c-ts-mode--fontify-defun. Now treesit-fontify-with-override clips the fontification region for the user, so no need for (max start node-start) shenanigans anymore. More importantly it doesn't fontify unless the region between node-start and node-end intersects with the region between start and end, which fixes the problem with c-ts-mode--fontify-defun. * lisp/treesit.el (treesit-fontify-with-override): Add optional parameter BOUND-START and BOUND-END. Wrap the function body in a when-form. * lisp/progmodes/c-ts-mode.el (c-ts-mode--fontify-declarator) (c-ts-mode--fontify-variable) (c-ts-mode--fontify-defun) (c-ts-fontify-error) * lisp/progmodes/js.el (js--fontify-template-string) * lisp/progmodes/python.el (python--treesit-fontify-string): Use the new signature.
| * Make killing a non-last client work the same no matter the auto-stop settingJim Porter2022-12-041-23/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, if 'server-stop-automatically' was configured for 'kill-terminal' or 'delete-frame', killing a client via 'save-buffers-kill-terminal' wouldn't prompt about the saving files in the client's buffer list (as it does when not using those settings). This change ensures that those settings only apply when killing the last client, as described in the manual (bug#51993). * lisp/server.el (server-save-buffers-kill-terminal): Handle 'server-stop-automatically' behavior in this function, rather than calling 'server-stop-automatically--handle-delete-frame'.
| * Use the function 'window-system' on the tab-bar/tab-line (bug#59620)Juri Linkov2022-12-042-5/+5
| | | | | | | | | | | | | | * lisp/tab-bar.el (tab-bar-separator) (tab-bar-format-align-right, tab-bar-auto-width): * lisp/tab-line.el (tab-line-format-template): Replace the variable 'window-system' with the function call '(window-system)'.
| * Restore font-lock-type-face for lisp mode &symbolsTom Gillespie2022-12-041-2/+2
| | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2) (lisp-el-font-lock-keywords-2): Restore use of type face instead of builtin face for &symbol keywords. This fixes what appears to be a copy paste error that changed the face for common lisp and emacs lisp &symbol style keywords that was introduced in commit a498e5f83 by restoring the type face to font-lock-type-face as consistent with the comments.
* | ; Merge from origin/emacs-29Stefan Kangas2022-12-050-0/+0
|\ \ | |/ | | | | | | | | The following commit was skipped: 029988d4a51 Prevent a segfault when deleting a fullscreen frame on Ne...
| * Prevent a segfault when deleting a fullscreen frame on NextStep.Kai Ma2022-12-041-2/+10
| | | | | | | | | | | | | | | | | | | | | | * nsterm.m ([EmacsView resetCursorRects:]): Be defensive when accessing FRAME_OUTPUT_DATA. [resetCursorRects:] can be called from the event loop after the frame is deleted. When this happens, emacsframe is NULL. This means there is an underlying leak of the EmacsView object! (Bug#59794) Do not merge to master. Copyright-paperwork-exempt: yes
* | Merge from origin/emacs-29Stefan Kangas2022-12-052-13/+7
|\ \ | |/ | | | | | | 3768b100777 ; * lisp/pcomplete.el (pcomplete-allow-modifications): Fi... 84214578f5a Fix markup in ERC manual
| * ; * lisp/pcomplete.el (pcomplete-allow-modifications): Fix a typo.Eli Zaretskii2022-12-041-1/+1
| |
| * Fix markup in ERC manualEli Zaretskii2022-12-041-12/+6
| | | | | | | | | | * doc/misc/erc.texi (SASL): Use @table instead of simulating it with @indentedblock. Fix markup. (Bug#59815)
* | Improve passing user switches to Git log commands (bug#59414)Sean Whitton2022-12-042-22/+42
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/vc/vc-git.el (vc-git-log-switches): Revise docstring. (vc-git-shortlog-switches): New defcustom. (vc-git-print-log): Use vc-git-log-switches or vc-git-shortlog-switches depending on whether printing a shortlog. (vc-git-log-outgoing, vc-git-log-incoming): Use vc-git-shortlog-switches. (vc-git-log-search, vc-git-expanded-log-entry): Use vc-git-log-switches. * etc/NEWS: Document the new defcustom.
* | Fix potential crash deselecting for property change notificationsPo Lu2022-12-041-2/+10
| | | | | | | | | | * src/xselect.c (x_cancel_selection_transfer): Catch errors around XSelectInput.