]> git.eshelyaron.com Git - emacs.git/log
emacs.git
14 months agoMake NSM warn if DH key exchange has less than 2048 bit primes
Stefan Kangas [Tue, 24 Oct 2023 15:28:51 +0000 (17:28 +0200)]
Make NSM warn if DH key exchange has less than 2048 bit primes

The previous default was to warn when servers supported only 1024 bit
primes in Diffie-Hellman key exchanges.  This highly conservative
number was based on the observation that, in November 2018, no less
than 12.7% of servers still only supported 1024 bit primes (less than
0.1% supported only 768 and 512 bits).

Five years later, in October 2023, only 3.7 % of servers remain with
only 1024 bit support.  SSL Labs summarizes: "At this time, 2048 bits
is the minimum expected strength."  Therefore, it is reasonable to
start warning users about this in Emacs 30.1, at which time even fewer
servers with such poor capabilities will remain.

Note that key exchanges based on 1024 bit prime number were considered
broken for security purposes already in 2015 (see Logjam below).

For more information:
https://www.ssllabs.com/ssl-pulse/
https://en.wikipedia.org/wiki/Logjam_(computer_security)

* lisp/net/nsm.el (nsm-protocol-check--dhe-prime-kx): Bump expected
minimum number of prime bits to 2048.

14 months agoWarn about 3DES when network-security-level is medium
Stefan Kangas [Tue, 24 Oct 2023 14:20:42 +0000 (16:20 +0200)]
Warn about 3DES when network-security-level is medium

* lisp/net/nsm.el (network-security-protocol-checks): Bump
deprecated and insecure '3des-cipher' to 'medium'.
* doc/emacs/misc.texi (Network Security): Document the above change.
Ref: https://nvd.nist.gov/vuln/detail/CVE-2016-2183

14 months ago; Fix typo
Stefan Kangas [Tue, 24 Oct 2023 14:09:30 +0000 (16:09 +0200)]
; Fix typo

14 months agoIntroduce an option which controls touch screen hscroll
Po Lu [Tue, 24 Oct 2023 13:12:32 +0000 (21:12 +0800)]
Introduce an option which controls touch screen hscroll

* doc/emacs/input.texi (Touchscreens): Document this new
function and revise this node for clarity and pithiness.

* lisp/touch-screen.el (touch-screen): New custom group.
(touch-screen-display-keyboard, touch-screen-delay)
(touch-screen-precision-scroll, touch-screen-word-select)
(touch-screen-extend-selection, touch-screen-preview-select):
Move such options to that group.
(touch-screen-enable-hscroll): New user option.
(touch-screen-handle-scroll): If it is disabled, maintain the
hscroll accumulators but refrain from scrolling the window.

14 months ago* Makefile.in (sanity-check): Add the -Q option. (Bug#66721)
Ulrich Müller [Tue, 24 Oct 2023 05:53:17 +0000 (07:53 +0200)]
* Makefile.in (sanity-check): Add the -Q option.  (Bug#66721)

14 months ago; Minor copyedits in the drag-and-drop docs
Stefan Kangas [Tue, 24 Oct 2023 10:15:14 +0000 (12:15 +0200)]
; Minor copyedits in the drag-and-drop docs

* doc/lispref/frames.texi (Drag and Drop): Copyedits, mostly to use
simpler and more direct language.

14 months agoBetter LLDB frame information (bug#66604)
Mattias Engdegård [Tue, 24 Oct 2023 09:48:43 +0000 (11:48 +0200)]
Better LLDB frame information (bug#66604)

Instead of modifying `frame-format` to be entirely machine-readable,
keep the original human-readable format and append a second,
machine-readable line that we remove after parsing.

* lisp/progmodes/gud.el
(gud-lldb-marker-filter): Parse the new line format and filter it out.
* lisp/progmodes/gud.el
(gud-lldb-def-python-completion-function): Rename to...
(gud--lldb-python-init-string): ...this and add modification
of `frame-format`, which seems easiest done from Python.
(gud-lldb-frame-format): Remove.
(gud-lldb-initialize): Update, remove no longer needed parts.

14 months agoCorrect documentation of selection-coding-system
Po Lu [Tue, 24 Oct 2023 07:32:25 +0000 (07:32 +0000)]
Correct documentation of selection-coding-system

* doc/lispref/frames.texi (Window System Selections): Don't
assert that selection-coding-system functions everywhere or that
its default value is always utf-16le-dos.
(Drag and Drop): Fix a typo.

14 months ago* doc/lispref/frames.texi (Drag and Drop): Fix typo.
Po Lu [Tue, 24 Oct 2023 06:27:48 +0000 (06:27 +0000)]
* doc/lispref/frames.texi (Drag and Drop): Fix typo.

14 months agoRewrite all sections of the drag-and-drop documentation
Po Lu [Tue, 24 Oct 2023 05:37:24 +0000 (05:37 +0000)]
Rewrite all sections of the drag-and-drop documentation

* doc/lispref/frames.texi (Other Selections): Correct
punctuation in one paragraph.
(Drag and Drop): Rewrite last two sections for clarity.

14 months agoRewrite first two sections of the drag-and-drop documentation
Po Lu [Tue, 24 Oct 2023 03:04:51 +0000 (03:04 +0000)]
Rewrite first two sections of the drag-and-drop documentation

* doc/lispref/frames.texi (Accessing Selections): Refine
wording.
(Drag and Drop): Rewrite for clarity and enter into detail upon
various function arguments.

14 months agoPrefer HTTPS to HTTP in thing-at-point
Stefan Kangas [Mon, 23 Oct 2023 23:01:07 +0000 (01:01 +0200)]
Prefer HTTPS to HTTP in thing-at-point

* lisp/thingatpt.el (thing-at-point-url-at-point): Prefer HTTPS to
HTTP.

14 months agoRemove gmane.org support from nnweb
Stefan Kangas [Mon, 23 Oct 2023 22:21:20 +0000 (00:21 +0200)]
Remove gmane.org support from nnweb

* lisp/gnus/nnweb.el (nnweb-type, nnweb-type-definition): Remove gmane.
(nnweb-gmane-create-mapping, nnweb-gmane-wash-article)
(nnweb-gmane-search, nnweb-gmane-identity): Make obsolete.
(nnweb-definition, nnweb-init): Raise user-error when 'nnweb-type' is
'gmane'.
* doc/misc/gnus.texi (Registry Article Refer Method): Update
example to not use gmane.org.
Ref: https://gmane.io/

14 months ago; Fix broken link
Stefan Kangas [Mon, 23 Oct 2023 22:07:41 +0000 (00:07 +0200)]
; Fix broken link

14 months agoPrefer HTTPS to HTTP for Google Groups
Stefan Kangas [Mon, 23 Oct 2023 21:59:29 +0000 (23:59 +0200)]
Prefer HTTPS to HTTP for Google Groups

* lisp/gnus/nnweb.el (nnweb-type-definition): Prefer HTTPS to HTTP
when accessing Google Groups.

14 months agoxref-backend-references: Avoid finding duplicates
Dmitry Gutov [Mon, 23 Oct 2023 20:51:08 +0000 (23:51 +0300)]
xref-backend-references: Avoid finding duplicates

* lisp/progmodes/xref.el (xref-backend-references):
Cull subdirectories of other elements (bug#66683).

14 months agoMore robust control sequence handling in LLDB output (bug#66604)
Mattias Engdegård [Mon, 23 Oct 2023 17:09:01 +0000 (19:09 +0200)]
More robust control sequence handling in LLDB output (bug#66604)

* lisp/progmodes/gud.el (gud-lldb-marker-filter):
Slightly more elaborate interpretation of CHA and ED sequences
in LLDB output, allowing edits to previously emitted characters
on the same line.

14 months ago; Fix my last commit
Stefan Kangas [Mon, 23 Oct 2023 13:08:38 +0000 (15:08 +0200)]
; Fix my last commit

* test/lisp/erc/erc-tests.el (erc-tests--update-modules): Bind
'text-quoting-style' to 'grave'.
(erc--update-modules/unknown): Simplify.
Suggested by Mattias Engdegård <mattias.engdegard@gmail.com>.

14 months agoModernise text about using dynamic variables
Mattias Engdegård [Sun, 22 Oct 2023 15:25:56 +0000 (17:25 +0200)]
Modernise text about using dynamic variables

* doc/lispref/variables.texi (Dynamic Binding Tips):
Give more useful advice.

14 months agoElaborate Elisp dialect selection in manual
Mattias Engdegård [Sun, 22 Oct 2023 14:51:48 +0000 (16:51 +0200)]
Elaborate Elisp dialect selection in manual

* doc/lispref/variables.texi (Using Lexical Binding): Rename to...
(Selecting Lisp Dialect): ...this.  All references updated.
Add concrete examples of -*- lines.
Move text about special variables from here...
(Dynamic Binding): ...to here.

14 months agoDescribe lexical binding before dynamic
Mattias Engdegård [Sat, 21 Oct 2023 15:39:25 +0000 (17:39 +0200)]
Describe lexical binding before dynamic

* doc/lispref/variables.texi (Variable Scoping)
(Lexical Binding, Dynamic Binding):
Alter the presentation order from the point of view that lexical
binding is the standard discipline (if not always the default) and
dynamic binding an alternative, which corresponds better to Elisp
today.  Modernise parts of the text.
* doc/lispref/elisp.texi (Top): Update menu.

14 months agoImproved `eval` documentation
Mattias Engdegård [Mon, 23 Oct 2023 09:12:33 +0000 (11:12 +0200)]
Improved `eval` documentation

Prompted by Michael Heerdegen.

* src/eval.c (Feval):
* doc/lispref/eval.texi (Eval):
Be more precise about the LEXICAL argument.

14 months agoFix failing ERC test
Stefan Kangas [Mon, 23 Oct 2023 12:36:46 +0000 (14:36 +0200)]
Fix failing ERC test

* test/lisp/erc/erc-tests.el (erc--update-modules/unknown): Fix
test failing due to grave/curve quote.

14 months agoRewrite Yank Media node in the Emacs Lisp manual
Po Lu [Mon, 23 Oct 2023 11:11:30 +0000 (11:11 +0000)]
Rewrite Yank Media node in the Emacs Lisp manual

* doc/lispref/frames.texi (Other Selections): Introduce a
reference to Accessing Selections, then rewrite for clarity and
to stop mentioning MIME types by name, for selection data types
are not confined to those.

14 months ago; * test/lisp/align-tests.el: Pacify warning.
Basil L. Contovounesios [Mon, 23 Oct 2023 10:59:13 +0000 (12:59 +0200)]
; * test/lisp/align-tests.el: Pacify warning.

14 months agoVarious improvements to lua-ts-mode (Bug#66159)
john muhl [Thu, 5 Oct 2023 01:46:15 +0000 (20:46 -0500)]
Various improvements to lua-ts-mode (Bug#66159)

* lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Improve movement.
(lua-ts--simple-indent-rules): Improve indentation rules.
(lua-ts-mode-map): Add key bindings and menus.
(lua-ts-mode-hook): Make hook available in Customize.
(lua-ts-inferior-history, lua-ts-inferior--write-history): Add option
to read/write an input history file.
(lua-ts-inferior-lua, lua-ts-send-buffer, lua-ts-send-file)
(lua-ts-send-region, lua-ts-inferior-prompt)
(lua-ts-inferior-prompt-continue): Support for sending buffer,
file or region to the inferior process.
(lua-ts-show-process-buffer, lua-ts-hide-process-buffer)
(lua-ts-kill-process): New functions.
(lua-ts-inferior-prompt-regexp): Remove option.
* test/lisp/progmodes/lua-ts-mode-resources/indent.erts:
* test/lisp/progmodes/lua-ts-mode-resources/movement.erts: Add
tests.

14 months ago; * doc/lispref/frames.texi (X Selections): Fix typo.
Po Lu [Mon, 23 Oct 2023 08:03:49 +0000 (08:03 +0000)]
; * doc/lispref/frames.texi (X Selections): Fix typo.

14 months agoCorrectly register Num Lock keys under Haiku
Po Lu [Mon, 23 Oct 2023 05:30:14 +0000 (05:30 +0000)]
Correctly register Num Lock keys under Haiku

* src/haiku_support.cc (DispatchMessage): If B_NUM_LOCK is set,
invert B_SHIFT_KEY; should it be subsequently set, omit mapping
from raw_char.

14 months agoFix LLDB prompt in Gud when attached
Gerd Möllmann [Mon, 23 Oct 2023 05:27:04 +0000 (07:27 +0200)]
Fix LLDB prompt in Gud when attached

* lisp/progmodes/gud.el (gud-lldb-marker-filter): Fix the prompt by
replacing multiple spaces with one.

14 months agoFurther improve documentation concerning selections
Po Lu [Mon, 23 Oct 2023 02:32:09 +0000 (02:32 +0000)]
Further improve documentation concerning selections

* doc/lispref/frames.texi (Window System Selections): Replace
incomplete attempts to address selection data types in this node
with references to Accessing Selections.
(Accessing Selections, X Selections): Revise for clarity and
pithiness.

14 months agoAdd completion for 'doas' to pcomplete
Antero Mejr [Sun, 15 Oct 2023 00:32:57 +0000 (00:32 +0000)]
Add completion for 'doas' to pcomplete

* lisp/pcmpl-unix.el (pcomplete/doas): New function.
* etc/NEWS: Announce.  (Bug#66551)

Co-authored-by: Visuwesh <visuweshm@gmail.com>
14 months agoAllow specifying the dir locals file to edit (Bug#66663)
Mauro Aranda [Sat, 21 Oct 2023 14:02:36 +0000 (11:02 -0300)]
Allow specifying the dir locals file to edit (Bug#66663)

* lisp/files-x.el (modify-dir-local-variable): Take a 5th optional
argument, the filename of the dir locals file to modify.
(read-dir-locals-file): New function.
(add-dir-local-variable, delete-dir-local-variable)
(copy-file-locals-to-dir-locals): Optionally read the filename to
modify, and pass it to modify-dir-local-variable.
* etc/NEWS: Announce the change.
* doc/emacs/custom.texi (Directory Variables): Document the new
functionality.

14 months ago* lisp/tab-bar.el: Fix the close button with auto-width (bug#66678).
Petteri Hintsanen [Sun, 22 Oct 2023 17:40:35 +0000 (20:40 +0300)]
* lisp/tab-bar.el: Fix the close button with auto-width (bug#66678).

(tab-bar-auto-width): Take into account the length of tab-bar-close-button
more than one character: " x".

14 months agoFurther improve selection-related documentation
Po Lu [Sun, 22 Oct 2023 11:43:27 +0000 (19:43 +0800)]
Further improve selection-related documentation

* doc/lispref/frames.texi (Other Selections): Expand
documentation regarding Haiku selections, and some
non-substantive copy edits elsewhere.  Introduce more indexing.

14 months agoRevise documentation concerning selections outside X
Po Lu [Sun, 22 Oct 2023 07:54:50 +0000 (07:54 +0000)]
Revise documentation concerning selections outside X

* doc/lispref/frames.texi (Accessing Selections, X Selections):
Correct markup, averting the recognition of X followed by a
sentence stop as an acronym.
(Other Selections): Relate the nature of the MS-Windows
selection emulation, how it functions, and its deficiencies.
Clarify paragraphs concerning PGTK and Nextstep.

* doc/misc/efaq.texi (Emacs in a Linux console):

* doc/misc/use-package.texi (Conditional loading): Correct
markup, averting the recognition of X followed by a sentence
stop as an acronym.

14 months ago; * src/keyboard.c (save_line_number_display_width): Fix last change.
Eli Zaretskii [Sun, 22 Oct 2023 05:20:38 +0000 (08:20 +0300)]
; * src/keyboard.c (save_line_number_display_width): Fix last change.

14 months agoEnumerate default UVS glyphs
Po Lu [Sun, 22 Oct 2023 01:06:28 +0000 (09:06 +0800)]
Enumerate default UVS glyphs

* src/sfnt.c (sfnt_compare_unicode_value_range)
(sfnt_is_character_default): New functions.
(sfnt_test_uvs): Print and verify the default UVS table.

* src/sfnt.h: Update prototypes.

* src/sfntfont.c (sfntfont_get_variation_glyphs): Index the cmap
with the default glyph, and insert it within VARIATIONS if
character is present within a selector record's default UVS
table.

14 months ago; * lisp/progmodes/js.el (js--treesit-sexp-nodes): Fix docstring.
Yuan Fu [Sat, 21 Oct 2023 18:08:58 +0000 (11:08 -0700)]
; * lisp/progmodes/js.el (js--treesit-sexp-nodes): Fix docstring.

14 months agoDocumentation for treesit-font-lock-rules change
Yuan Fu [Sat, 21 Oct 2023 18:05:47 +0000 (11:05 -0700)]
Documentation for treesit-font-lock-rules change

* doc/lispref/modes.texi (Parser-based Font Lock): Update manual.
* lisp/treesit.el (treesit-font-lock-rules): Update docstring.

14 months ago; Fix a compilation warning
Gerd Möllmann [Sat, 21 Oct 2023 17:55:25 +0000 (19:55 +0200)]
; Fix a compilation warning

14 months ago* lisp/cedet/semantic/imenu.el: Don't load `advice`
Stefan Monnier [Sat, 21 Oct 2023 17:48:30 +0000 (13:48 -0400)]
* lisp/cedet/semantic/imenu.el: Don't load `advice`

We don't use it any more here.  Also move the `;;; Code:` where it belongs.

14 months ago* lisp/treesit.el: Don't require `cl-seq` directly
Stefan Monnier [Sat, 21 Oct 2023 17:40:12 +0000 (13:40 -0400)]
* lisp/treesit.el: Don't require `cl-seq` directly

14 months agoso-long.el: Don't load `advice` during compilation
Stefan Monnier [Sat, 21 Oct 2023 17:05:58 +0000 (13:05 -0400)]
so-long.el: Don't load `advice` during compilation

* lisp/so-long.el: Prefer #' to quote function names.
(global-so-long-mode): Remove redundant `:group` arg.
(<toplevel>): Don't load needlessly the obsolete `advice` library
during compilation.

14 months ago; * etc/NEWS: Fix wording of a recently-added entry.
Eli Zaretskii [Sat, 21 Oct 2023 15:18:11 +0000 (18:18 +0300)]
; * etc/NEWS: Fix wording of a recently-added entry.

14 months agoMove lexical-binding warning from checkdoc to byte-compiler
Mattias Engdegård [Sun, 15 Oct 2023 20:01:06 +0000 (22:01 +0200)]
Move lexical-binding warning from checkdoc to byte-compiler

This warning is much more appropriate for the compiler, since lexical
binding affects what it can reason and warn about, than for checkdoc
as the warning has no bearing to documentation at all.
The move also improves the reach of the warning.

* etc/NEWS: Update.
* lisp/emacs-lisp/checkdoc.el (checkdoc-lexical-binding-flag)
(checkdoc-file-comments-engine): Move warning from here....
* lisp/emacs-lisp/bytecomp.el (byte-compile-file): ...to here.
* test/lisp/emacs-lisp/bytecomp-resources/no-byte-compile.el:
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--unescaped-char-literals)
(bytecomp-tests-function-put, bytecomp-tests--not-writable-directory)
(bytecomp-tests--target-file-no-directory):
Update tests.
(bytecomp-tests--log-from-compilation)
(bytecomp-tests--lexical-binding-cookie): New test.

14 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 21 Oct 2023 12:06:09 +0000 (08:06 -0400)]
Merge from origin/emacs-29

b99d12c30c3 ; Fix argument name for function `copy-file'

14 months ago; Merge from origin/emacs-29
Eli Zaretskii [Sat, 21 Oct 2023 12:06:08 +0000 (08:06 -0400)]
; Merge from origin/emacs-29

The following commits were skipped:

62920dcb0de Update Tramp version (don't merge with master)
d963bc6c6b6 ; * lisp/ldefs-boot.el: Regenerated for Emacs 29.1.90.
0cbc91f29ae Bump Emacs version

14 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 21 Oct 2023 12:06:07 +0000 (08:06 -0400)]
Merge from origin/emacs-29

ab9d6482e3b ; Update ChangeLog.4 and etc/AUTHORS.
d9e1605122b Correctly register focus events concomitant with alpha ch...
194e219825c * doc/man/emacsclient.1: Add missing options.

14 months ago; * src/keyboard.c (line_number_mode_hscroll): Fix last change.
Eli Zaretskii [Sat, 21 Oct 2023 12:03:22 +0000 (15:03 +0300)]
; * src/keyboard.c (line_number_mode_hscroll): Fix last change.

14 months agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 21 Oct 2023 11:34:28 +0000 (14:34 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

14 months agoMove and edit text about lexical environment representation
Mattias Engdegård [Fri, 20 Oct 2023 14:58:18 +0000 (16:58 +0200)]
Move and edit text about lexical environment representation

It's only relevant for the second argument to `eval`; the actual
internal representation is an implementation matter and usually
different from what was described here.

* doc/lispref/variables.texi (Lexical Binding): Move the relevant
part of the description of the internal representation of
lexical environments from here...
* doc/lispref/eval.texi (Eval): ...to here, where it belongs.

14 months ago; * src/sfnt.c: Refine doc of variation selectors and GX fonts.
Po Lu [Sat, 21 Oct 2023 10:55:49 +0000 (18:55 +0800)]
; * src/sfnt.c: Refine doc of variation selectors and GX fonts.

14 months agoFix mouse clicks on links under 'global-display-line-numbers-mode'
Eli Zaretskii [Sat, 21 Oct 2023 10:53:21 +0000 (13:53 +0300)]
Fix mouse clicks on links under 'global-display-line-numbers-mode'

* src/indent.c (line_number_display_width): No longer static.
* src/lisp.h (line_number_display_width): Add prototype.
* src/keyboard.c (save_line_number_display_width)
(line_number_mode_hscroll): New functions.
(make_lispy_event): Call 'save_line_number_display_width' and
'line_number_mode_hscroll' to avoid interpreting up-event as drag
event when redisplay scrolls the text horizontally between the
down- and up-event to account for the changed width of the
line-number display.  (Bug#66655)

14 months agoRecognize backslash in `dns-mode` quoted values
Lassi Kortela [Sat, 21 Oct 2023 10:10:50 +0000 (13:10 +0300)]
Recognize backslash in `dns-mode` quoted values

* lisp/textmodes/dns-mode.el (dns-mode-syntax-table): Recognize
backslash as an escape character.  (Bug#66660)

14 months agoDon't use obsolete `sleep-for` argument
Stefan Kangas [Sat, 21 Oct 2023 10:26:00 +0000 (12:26 +0200)]
Don't use obsolete `sleep-for` argument

* lisp/net/sieve-manage.el (sieve-manage-wait-for-answer):
* lisp/org/ob-lua.el (org-babel-lua-evaluate-session):
* lisp/org/ob-python.el (org-babel-python-initiate-session-by-key):
(org-babel-python-evaluate-session): Don't use obsolete 'sleep-for'
argument.

14 months agoSupport lua-ts-mode in align.el
john muhl [Tue, 10 Oct 2023 14:18:10 +0000 (09:18 -0500)]
Support lua-ts-mode in align.el

* lisp/align.el (align-rules-list): Add lua-ts-mode.  (Bug#66466)
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Indent region
before aligning.
* test/lisp/align-tests.el (align-lua):
* test/lisp/align-resources/lua-ts-mode.erts: Add tests.

14 months agoFix eglot-report-progress :type
Mauro Aranda [Sun, 15 Oct 2023 13:43:50 +0000 (10:43 -0300)]
Fix eglot-report-progress :type

* lisp/progmodes/eglot.el (eglot-report-progress): Change :type to
choice, to allow 'messages' as a value.  (Bug#66556)

14 months ago; * lisp/progmodes/gud.el (gud-gud-lldb-command-name): Fix a typo.
Ulrich Müller [Sat, 21 Oct 2023 09:17:03 +0000 (11:17 +0200)]
; * lisp/progmodes/gud.el (gud-gud-lldb-command-name): Fix a typo.

14 months agoFacilitate opening multiple files through DND under Android
Po Lu [Sat, 21 Oct 2023 06:24:25 +0000 (14:24 +0800)]
Facilitate opening multiple files through DND under Android

* java/org/gnu/emacs/EmacsWindow.java (onDragEvent): Agglomerate
each provided content URI into a text/uri list.

14 months agoNew keyword :default-language in treesit-font-lock-rules function.
Huan Nguyen [Sat, 7 Oct 2023 10:03:55 +0000 (12:03 +0200)]
New keyword :default-language in treesit-font-lock-rules function.

* lisp/treesit.el (treesit-font-lock-rules): Keyword :default-language
LANGUAGE will be chosen for every :feature.  Using :language will
override the :default-language for the next :feature.

14 months ago(buffer-match-p): Replace `&optional` with `&rest` (bug#65797)
Stefan Monnier [Sat, 21 Oct 2023 00:42:04 +0000 (20:42 -0400)]
(buffer-match-p): Replace `&optional` with `&rest` (bug#65797)

* lisp/subr.el (buffer-match-p--past-warnings): New var.
(buffer-match-p): Use it.  Replace `&optional arg` with `&rest args`.
(match-buffers): Replace `&optional arg` with `&rest args`.

* lisp/window.el (display-buffer-alist): Fix out of date docstring.

* doc/lispref/buffers.texi (Buffer List): Document new calling convention.

14 months ago(sleep-for): Make the `millisec` argument obsolete
Stefan Monnier [Fri, 20 Oct 2023 22:59:51 +0000 (18:59 -0400)]
(sleep-for): Make the `millisec` argument obsolete

* lisp/subr.el (sleep-for): Set new advertized calling convention.
* src/dispnew.c (Fsleep_for): Adjust docstring.
* doc/lispref/commands.texi (Waiting): Adjust doc.

14 months agoPrefer erc-target to erc-default-target
F. Jason Park [Sun, 15 Oct 2023 20:20:07 +0000 (13:20 -0700)]
Prefer erc-target to erc-default-target

* etc/ERC-NEWS: Mention `erc-target' and new `erc-server-buffer-p'
alias.
* lisp/erc/erc-backend.el (erc-process-sentinel): Set `joined-p' slot
of `erc--target-channel' object to nil when applicable.
(erc-server-JOIN): Mark `erc--target-channel' object as being joined.
* lisp/erc/erc-common.el (erc--target-channel): Add `joined-p' slot.
Use hyphenated name so accessor function's name ends in "joined-p"
rather than "joinedp".  Note that this will always be nil when
disconnected.
(erc--target): Relocate here from erc.el.
(erc-target): New public API function to return the current buffer's
target as a string, even in channels that have been unjoined.
* lisp/erc/erc-networks.el (erc--default-target): Remove forward
declaration.
(erc-networks--id-reload): Use `erc-target' instead of
`erc--default-target' as predicate for visiting target buffers.
* lisp/erc/erc.el (erc-remove-channel-users): Set channel "joinedness"
to nil in `erc--target-channel' object, when applicable.
(erc--target): Move to erc-common.
(erc--default-target): Remove, replaced by new function `erc-target'.
(erc-query-buffer-p): Use `erc-target'.
(erc-after-connect): Revise doc string.
(erc-connection-established): Revise doc string and move
`erc-unhide-query-prompt' business before hook.
(erc--current-buffer-joined-p): Remove comment and use new `joined-p'
slot of `erc--target-channel' for determining "joinedness" of channel.
(erc-kill-buffer-function): Use `erc--target-channel-p' for detecting
whether the buffer is a channel buffer.
* test/lisp/erc/erc-networks-tests.el
(erc-networks--shrink-ids-and-buffer-names--hook-collapse-target):
Remove comment.
* test/lisp/erc/erc-scenarios-base-reuse-buffers.el
(erc-scenarios-common--base-reuse-buffers-channel-buffers):
Clarify assertion.
* test/lisp/erc/erc-tests.el (erc-with-all-buffers-of-server):
Replace `erc-default-recipients' with `erc--target'.
(erc--target-from-string): Update expected shape of
`erc--target-channel' struct with new `joined-p' slot.
(erc-message): Set `erc--target' in buffer "#chan".  (Bug#66578)

14 months agoRename erc-server-buffer-p
F. Jason Park [Sun, 15 Oct 2023 14:22:31 +0000 (07:22 -0700)]
Rename erc-server-buffer-p

* lisp/erc/erc-log.el (erc-log-all-but-server-buffers): Use
`erc--server-buffer-p' instead of `erc-server-buffer-p'.  This
replacement is presumed to be relatively "safe" because this function
is unused in the code base and only appears in the doc string for the
option `erc-enable-logging'.
* lisp/erc/erc-match.el (erc-match-message): Leave comment proposing
that `erc--server-buffer-p' should be preferred to
`erc-server-buffer-p'.  Use preferred alias for `erc-server-buffer-p'.
* lisp/erc/erc-notify.el (erc-cmd-NOTIFY): Use preferred alias for
`erc-server-buffer-p', and leave FIXME comment.
* lisp/erc/erc-speedbar.el (erc-speedbar-buttons): Use
`erc--server-buffer-p' instead of `erc-server-buffer-p'.  The logic
here seems simple enough to justify a change, however the absence of
related bug reports is perhaps an argument against this.
* lisp/erc/erc-track.el (erc-track-modified-channels): Use preferred
alias for `erc-server-buffer-p' and leave comment noting possible bug.
* lisp/erc/erc.el (erc-once-with-server-event): Use
`erc--server-buffer-p' instead of `erc-server-buffer-p'.  This change
seems justified because the function sets local hooks that would
otherwise be ignored outside of a server buffer.
(erc-server-buffer-p, erc-server-or-unjoined-channel-buffer-p): Make
the former an obsolete alias for the latter.
(erc--server-buffer-p): New function to replace `erc-server-buffer-p'
internally in new code.  Unlike its predecessor, it returns nil in
parted and kicked channels.
(erc-open-server-buffer-p): Use `erc--server-buffer-p' instead of
`erc-server-buffer-p'.  Given the name and the doc string, breaking
the odd misuse of this function in parted buffers seems justified
because this is clearly a bug fix.  Also, all uses in-tree conform to
the intended behavior as documented.  And a cursory grep of all "erc-"
prefixed packages on MELPA reveals zero instances of this function.
Nor is it used in erbot.
(erc-get-buffer): Mention behavior in doc string regarding parted and
kicked-from channels.
(erc-cmd-GQUIT): Fix wrong-number-of-arguments bug in timer function.
(erc-default-target): Mention behavior regarding unjoined channels.
(erc-kill-query-buffers): Don't use `erc-server-buffer-p'.  This
replacement may break third-party code expecting to leave parted
channels behind, but it seems sane when considering only the lone
internal use in `erc-cmd-QUIT'.
; * test/lisp/erc/resources/join/network-id/foonet.eld: Timeouts.
(Bug#66578)

14 months agoRespect user markers in erc-insert-timestamp-left
F. Jason Park [Thu, 19 Oct 2023 06:20:07 +0000 (23:20 -0700)]
Respect user markers in erc-insert-timestamp-left

* lisp/erc/erc-stamp.el (erc-insert-timestamp-left): Convert to normal
function, a mere wrapper that defers to existing generic variants, in
order to dissuade users from adding their own methods, which could
complicate troubleshooting, etc.
(erc--insert-timestamp-left): Rename both methods using internal
double-hyphen convention.  In `erc-stamp--display-margin-mode'
implementation, don't displace third-party markers.
* test/lisp/erc/erc-scenarios-stamp.el: New file.  (Bug#60936)

14 months agoFix right-sided stamps commingling with erc-prompt
F. Jason Park [Thu, 19 Oct 2023 06:20:07 +0000 (23:20 -0700)]
Fix right-sided stamps commingling with erc-prompt

* lisp/erc/erc-stamp.el (erc-insert-timestamp-left-and-right): Fix bug
that saw the prompt being inserted after messages but just inside the
narrowed operating portion of the buffer, which meant remaining
modification hooks would see it upon visiting.  Thanks to Corwin Brust
for catching this.
* test/lisp/erc/erc-fill-tests.el (erc-fill-wrap--monospace): Use
custom `erc-prompt' function to guarantee invariants asserted by
`erc--assert-input-bounds' are preserved throughout.  (Bug#60936)

14 months agoRestore missing metadata props in erc-display-line
F. Jason Park [Mon, 16 Oct 2023 00:22:22 +0000 (17:22 -0700)]
Restore missing metadata props in erc-display-line

* etc/ERC-NEWS: Designate `erc-display-message' as the favored means
of inserting messages.
* lisp/erc/erc-fill.el (erc-fill-wrap): Skip any `unknown' `erc-msg'.
* lisp/erc/erc-stamp.el (erc-stamp--current-time): Use an existing
`erc-ts' text property, when present, for the current message time.
* lisp/erc/erc.el (erc-display-line-1, erc-insert-line): Update doc
string and declare the former an obsolete alias for the latter,
`erc-insert-line'.  Have `erc-log' label say `erc-display-message'
even though this function is actually `erc-insert-line'.
(erc-display-line): Convert to a thin wrapper around
`erc-display-message', and move its existing body to a new internal
function, `erc--route-insertion'.
(erc--route-insertion): Adopt former body of `erc-display-line', now a
convenience wrapper around `erc-display-message'.  Copy
`erc--msg-props' hash table when inserting a message in multiple
buffers.  At present, only `erc-server-QUIT' uses this facility, so
such a move shouldn't impact performance in any measurable way.  Also,
improve readability with at most one recursive call for the
fall-through case.
(erc--compose-text-properties, erc--merge-text-properties-p): Rename
former to latter to avoid confusion with `composition' property.
(erc-display-message): Update doc string.  Attempt to adapt a non-nil
TYPE parameter for use as the value of the `erc-msg' text property
before resorting to a value of `unknown'.  But only do this when
PARSED is nil, and MSG is a string.  Call `erc--route-insertion'
instead of `erc-display-line'.  Use new name for
`erc--compose-text-properties'.
(erc-put-text-property): Update name of variable
`erc--compose-text-properties'.
* test/lisp/erc/erc-networks-tests.el (erc-networks--set-name): Mock
`erc--route-insertion' instead of `erc-display-line'.
* test/lisp/erc/erc-scenarios-display-message.el: New file.
* test/lisp/erc/erc-tests.el (erc--route-insertion): New test.
* test/lisp/erc/resources/base/display-message/multibuf.eld: New test
data.
; * test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/stamps-left-01.eld: Update.
(Bug#60936)

14 months agoWarn about top-level erc-update-modules calls
F. Jason Park [Wed, 18 Oct 2023 06:36:12 +0000 (23:36 -0700)]
Warn about top-level erc-update-modules calls

* doc/misc/erc.texi (Modules): Describe unfavorable practices enacted
by third-party modules, like running `erc-update-modules' on load.
* lisp/erc/erc.el (erc-modules): Clarify comment in `custom-set'
function.
(erc--warn-about-aberrant-modules): Tweak warning message.
(erc--requiring-module-mode-p): New internal variable.
(erc--find-mode): Guard against recursive `erc-update-module'
invocations.  (Bug#57955)

14 months ago* lisp/erc/erc-backend.el (define-erc-response-handler) Edebug spec.
F. Jason Park [Fri, 20 Oct 2023 05:59:17 +0000 (22:59 -0700)]
* lisp/erc/erc-backend.el (define-erc-response-handler) Edebug spec.

14 months ago; Mark erc-log test as :unstable
F. Jason Park [Sun, 15 Oct 2023 20:43:12 +0000 (13:43 -0700)]
; Mark erc-log test as :unstable

* test/lisp/erc/erc-scenarios-log.el (erc-scenarios-log--truncate):
Mark :unstable for now.
* test/lisp/erc/resources/base/renick/queries/solo.eld: Timeouts.
* test/lisp/erc/resources/base/reuse-buffers/channel/barnet.eld: Timeouts.
* test/lisp/erc/resources/base/reuse-buffers/channel/foonet.eld: Timeouts.
* test/lisp/erc/resources/erc-scenarios-common.el: Timeouts.

14 months agoproject--switch-project-command: Retouch
Dmitry Gutov [Fri, 20 Oct 2023 19:04:03 +0000 (22:04 +0300)]
project--switch-project-command: Retouch

* lisp/progmodes/project.el (project--switch-project-command):
Remove outdated comment and clear the echo area at the end.

14 months ago; More fixes for LLDB support
Eli Zaretskii [Fri, 20 Oct 2023 12:55:45 +0000 (15:55 +0300)]
; More fixes for LLDB support

* lisp/progmodes/gud.el (gud-gud-lldb-command-name, lldb): Doc fixes.

14 months ago; * lisp/calc/calc-units.el (math-standard-units): Drop comment for mu0.
Ulrich Müller [Fri, 20 Oct 2023 12:50:45 +0000 (14:50 +0200)]
; * lisp/calc/calc-units.el (math-standard-units): Drop comment for mu0.

14 months ago; Fix recent changes of LLDB support
Eli Zaretskii [Fri, 20 Oct 2023 12:50:33 +0000 (15:50 +0300)]
; Fix recent changes of LLDB support

* lisp/progmodes/gud.el (gud-lldb-max-completions)
(gud-lldb-fetch-completions): Fix doc string and :version tag.

14 months ago; * lisp/emacs-lisp/comp-cstr.el: Fix punctuation.
Eli Zaretskii [Fri, 20 Oct 2023 12:46:20 +0000 (15:46 +0300)]
; * lisp/emacs-lisp/comp-cstr.el: Fix punctuation.

14 months agoRepair detection of empty mailto URLs
Po Lu [Fri, 20 Oct 2023 11:09:22 +0000 (19:09 +0800)]
Repair detection of empty mailto URLs

* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate):
Additonally regard mailto:// as an empty URL, since Android does
interpret them as such.

14 months agoFix Gud LLDB completion for function names
Gerd Möllmann [Thu, 19 Oct 2023 14:24:53 +0000 (16:24 +0200)]
Fix Gud LLDB completion for function names

LLDB completion candidates can contain parentheses.

* lisp/progmodes/gud.el (gud-lldb-fetch-completions): Use unique
completion list delimiters. Add timeout to accept-process-input.
(gud-lldb-def-python-completion-function): Use new completion
list delimiters.
(lldb): Add hint about completions to doc string.
(gud-lldb-marker-filter): Don't use eval.

14 months agoTreat empty mailto URIs properly under Android
Po Lu [Fri, 20 Oct 2023 07:03:56 +0000 (15:03 +0800)]
Treat empty mailto URIs properly under Android

* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): If an
empty mailto: URI is supplied, ascertain if EXTRA_EMAIL is set,
then derive a mailto URI from that if so.

14 months ago; Fix argument name for function `copy-file'
Jens Schmidt [Wed, 18 Oct 2023 20:43:37 +0000 (22:43 +0200)]
; Fix argument name for function `copy-file'

* doc/lispref/files.texi (Changing Files): Change name of last
argument of function `copy-file' from `preserve-extended-attributes'
to `preserve-permissions', as used in the function's description, its
doc string and the description below in the manual.

14 months agoImprove behavior with project-switch-use-entire-map=t
Dmitry Gutov [Thu, 19 Oct 2023 22:24:56 +0000 (01:24 +0300)]
Improve behavior with project-switch-use-entire-map=t

* lisp/progmodes/project.el (project--keymap-prompt): New function.
(project--switch-project-command): Use it when
project-switch-use-entire-map is non-nil.  Also check that CHOICE
is not a number (bug#63648).  And print incorrect inputs too.

14 months ago* lisp/progmodes/project.el (project--other-place-prefix): New function.
Juri Linkov [Thu, 19 Oct 2023 18:50:28 +0000 (21:50 +0300)]
* lisp/progmodes/project.el (project--other-place-prefix): New function.

(project-other-window-command, project-other-frame-command)
(project-other-tab-command): Use it in Emacs versions not less than 30
where other-*-prefix commands are available.
This fixes the cases such as 'C-u C-x 5 p p f TAB' from bug#65558.

14 months agoAdapt Tramp version
Michael Albinus [Thu, 19 Oct 2023 14:39:01 +0000 (16:39 +0200)]
Adapt Tramp version

* lisp/net/trampver.el (customize-package-emacs-version-alist):
Adapt Tramp version integrated in Emacs 29.2.

14 months agoUpdate Tramp version (don't merge with master)
Michael Albinus [Thu, 19 Oct 2023 14:28:26 +0000 (16:28 +0200)]
Update Tramp version (don't merge with master)

* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.6.2.29.2".
(customize-package-emacs-version-alist):
Adapt Tramp version integrated in Emacs 29.2.

14 months ago(cl--typeof-types): Complete last change
Stefan Monnier [Thu, 19 Oct 2023 14:21:22 +0000 (10:21 -0400)]
(cl--typeof-types): Complete last change

* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types):
Add `integer-or-marker` in the hierarchy as well.

14 months ago* admin/MAINTAINERS: Remove Ulf Jasper as maintainer of icalendar.el
Ulf Jasper [Thu, 19 Oct 2023 13:59:40 +0000 (15:59 +0200)]
* admin/MAINTAINERS: Remove Ulf Jasper as maintainer of icalendar.el

14 months agoFix last change in gud.el
Gerd Möllmann [Thu, 19 Oct 2023 12:56:07 +0000 (14:56 +0200)]
Fix last change in gud.el

* lisp/progmodes/gud.el (gud-lldb-initialize): Fix duplicated
output.

14 months agoAdd two missing 'number-or-marker' entries to the cl machinery (bug#66615)
Andrea Corallo [Wed, 18 Oct 2023 14:10:08 +0000 (16:10 +0200)]
Add two missing 'number-or-marker' entries to the cl machinery (bug#66615)

Assuming 'number-or-marker' is a type (as present multiple times in
cl--typeof-types) adding some missing entries for coherency.

* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add
'number-or-marker' as supertype of 'number' in the 'float' branch.

* lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add
'number-or-marker'.

* test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-typespec-tests-alist):
Update test.

* test/src/comp-tests.el (comp-tests-type-spec-tests): Update two testes.

14 months agoImprove cstr typeset normalization
Andrea Corallo [Wed, 18 Oct 2023 14:14:45 +0000 (16:14 +0200)]
Improve cstr typeset normalization

* test/lisp/emacs-lisp/comp-cstr-tests.el
(comp-cstr-typespec-tests-alist): Add four tests.

* lisp/emacs-lisp/comp-cstr.el (comp--sym-lessp)
(comp--direct-supertype, comp--normalize-typeset0): New functions.
(comp-normalize-typeset): Rework to make use of
'comp--normalize-typeset0'.
(comp--direct-subtypes): New function.

14 months ago; * lisp/ldefs-boot.el: Regenerated for Emacs 29.1.90. emacs-29.1.90
Eli Zaretskii [Thu, 19 Oct 2023 09:38:30 +0000 (05:38 -0400)]
; * lisp/ldefs-boot.el: Regenerated for Emacs 29.1.90.

14 months agoGud support for column numbers
Gerd Möllmann [Thu, 19 Oct 2023 09:27:14 +0000 (11:27 +0200)]
Gud support for column numbers

Allow gud-last-frame to be of the form (FILE LINE COLUMN).

* lisp/progmodes/gud.el (gud-display-frame): Support column numbers.
(gud-display-line): New optional parameter for column number.  Move
point to that column, if set.
(gud-lldb-marker-filter): Set column number.

14 months agoDon't rely on LLDB output format
Gerd Möllmann [Thu, 19 Oct 2023 08:28:15 +0000 (10:28 +0200)]
Don't rely on LLDB output format

Let Gud define its own frame format that is easily parseable,
and also contains the full source file path.

* lisp/progmodes/gud.el (gud-lldb-stop): New function.
(gud-lldb-marker-filter): Support new frame-format.
(gud-lldb-frame-format): variable for frame-format.
(gud-lldb-initialize): Set frame-format.

14 months agoBump Emacs version
Eli Zaretskii [Thu, 19 Oct 2023 09:12:20 +0000 (05:12 -0400)]
Bump Emacs version

* README:
* configure.ac:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 29.1.90.

14 months ago; Update ChangeLog.4 and etc/AUTHORS.
Eli Zaretskii [Thu, 19 Oct 2023 08:53:08 +0000 (04:53 -0400)]
; Update ChangeLog.4 and etc/AUTHORS.

14 months agoRelay body and attachments within Android e-mails to message-mailto
Po Lu [Thu, 19 Oct 2023 08:19:18 +0000 (16:19 +0800)]
Relay body and attachments within Android e-mails to message-mailto

* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Infer
e-mail body and subject from its parameters and convey this
information to message-mailto.

* lisp/gnus/message.el (message-mailto): New arguments SUBJECT,
BODY and FILE-ATTACHMENTS.
(message-mailto-1): Insert these arguments as appropriate.

14 months agoGud LLDB fix for large completion count (bug#66625)
Gerd Möllmann [Thu, 19 Oct 2023 06:39:07 +0000 (08:39 +0200)]
Gud LLDB fix for large completion count (bug#66625)

* lisp/progmodes/gud.el (gud-lldb-max-completions): New defcustom.
(gud-lldb-def-python-completion-function): New argument.
(gud-lldb-fetch-completions): Pass max count to gud_complete.
(gud-lldb-initialize): Change text displayed at the end.

14 months agoGud LLDB completions (bug#66604)
Gerd Möllmann [Wed, 18 Oct 2023 07:24:45 +0000 (09:24 +0200)]
Gud LLDB completions (bug#66604)

* etc/emacs_lldb.py: Remove xcomplete.
* lisp/progmodes/gud.el: Implement lldb command completions.
* src/.lldbinit: Remove settings done in Gud.

14 months ago; cperl-mode.el: Fix indentation issues after a format declaration.
Harald Jörg [Wed, 18 Oct 2023 14:25:56 +0000 (16:25 +0200)]
; cperl-mode.el: Fix indentation issues after a format declaration.

* lisp/progmodes/cperl-mode.el (cperl-sniff-for-indent): Recognize
the end of a format declaration as a statement boundary.  This fixes
indentation if several format declarations immediately follow each
other.
(cperl-find-pods-heres): use the correct capture group for the
name of an unterminated format declaration.  Fix an out of
boundary error when a format declaration is typed at the end of a
buffer (Bug#66139).

14 months agoImprove SOCKS error handling and support version 4a
F. Jason Park [Mon, 14 Feb 2022 18:28:01 +0000 (10:28 -0800)]
Improve SOCKS error handling and support version 4a

* doc/misc/url.texi: Mention version 4a in SOCKS portion of "Gateways
in general" node.
* etc/NEWS: Mention version 4a support in new `socks' section.
* lisp/net/socks.el (socks-server): Add new Custom choice `4a' for
version field.  This change does not further overload the field in
terms of expected type because `socks-send-command' and `socks-filter'
already accommodate the symbol `http'.
(socks--errors-4): Add new constant containing error messages for
version 4.  The semantics are faithful to the de facto spec, but the
exact wording is slightly adapted.
(socks-filter): Allow for a null "type" field on error with version 5.
Previously, certain errors would not propagate because a wrong-type
signal would get in the way.
(socks-send-command): Massage existing version 4 protocol parsing to
accommodate 4a, and add error handling for version 4.  Use variable
`socks-username' for v4 variable-length ID field instead of calling
`user-full-name', which has potential privacy implications.
* test/lisp/net/socks-tests.el (socks-tests-v4-basic): Don't mock
`user-full-name' because `socks-send-command' no longer calls it to
determine the ID.
(socks-tests-v4a-basic, socks-tests-v4a-error): Add a couple tests for
SOCKS version 4a.  (Bug#53941)

14 months agoDon't hard code server ports in SOCKS tests
F. Jason Park [Mon, 14 Feb 2022 18:28:01 +0000 (10:28 -0800)]
Don't hard code server ports in SOCKS tests

* test/lisp/net/socks-tests.el (socks-tests-canned-server-create,
socks-tests-filter-response-parsing-v4): Fix bug in process filter to
prevent prepared outgoing responses from being implicitly encoded as
UTF-8.  Fix similar mistake in v4 filter test.
(socks-tests-v4-basic, socks-tests-v5-auth-user-pass,
socks-tests-v5-auth-user-pass-blank, socks-tests-v5-auth-none): Allow
system to choose port instead of hard-coding it.
(socks-tests-perform-hello-world-http-request): Add optional `method'
parameter to specify a gateway method.
(socks-tests-v5-auth-none): Move body to helper function of the same
name.
(socks-override-functions): New test ensuring top-level advice around
`open-networks-stream' still supported.  (Bug#53941)

14 months agoEglot: respect completion sort order dictated by the server
João Távora [Wed, 18 Oct 2023 10:48:49 +0000 (05:48 -0500)]
Eglot: respect completion sort order dictated by the server

Don't use flex style to do any completion sorting.

Previously, it was thought that the 'flex' completion style was only
kicking in to do (approximate) fontification of the completions
returned by the server, but it was found that it was also doing some
its own sorting in certain situation of non-empty matching patterns.

Replaced it with a new eglot--dumb-flex style which does only
fontification.

Github-reference: https://github.com/joaotavora/eglot/discussions/1306

* lisp/progmodes/eglot.el (eglot-completion-at-point): Rework.
(eglot--dumb-flex, eglot--dumb-allc): New helpers.
(completion-category-defaults): Rework Eglot-specific category.
(completion-styles-alist): Add Eglot-specific style.

* etc/EGLOT-NEWS: Mention change.