]> git.eshelyaron.com Git - emacs.git/log
emacs.git
19 months agoDisable loading SQLite3 extensions when SQLite3 version is too old
Eli Zaretskii [Tue, 23 May 2023 11:30:31 +0000 (14:30 +0300)]
Disable loading SQLite3 extensions when SQLite3 version is too old

* src/sqlite.c (HAVE_LOAD_EXTENSION): Define to 1 only if
enabling/disabling extension loading is supported as well.
(load_dll_functions, Fsqlite_load_extension): Condition on
HAVE_LOAD_EXTENSION, not on HAVE_SQLITE3_LOAD_EXTENSION.
(Bug#63653)

19 months ago; * lisp/progmodes/project.el (project-switch-use-entire-map): Doc fix.
Eli Zaretskii [Mon, 22 May 2023 18:31:56 +0000 (21:31 +0300)]
; * lisp/progmodes/project.el (project-switch-use-entire-map): Doc fix.

19 months agoFix visiting HTML files encoded in iso-2022 variants
Eli Zaretskii [Mon, 22 May 2023 18:23:58 +0000 (21:23 +0300)]
Fix visiting HTML files encoded in iso-2022 variants

* lisp/international/mule.el (sgml-xml-auto-coding-function)
(sgml-html-meta-auto-coding-function): Handle coding-systems whose
coding-system-type is iso-2022.  (Bug#63644)

19 months ago; Fix markup of some treesit vars in Elisp manual.
Basil L. Contovounesios [Mon, 22 May 2023 14:23:39 +0000 (15:23 +0100)]
; Fix markup of some treesit vars in Elisp manual.

* doc/lispref/modes.texi (Parser-based Font Lock):
(Parser-based Indentation):
* doc/lispref/parsing.texi (Multiple Languages): Use @code in place
of @var when the argument is not a metavariable.

19 months agoSupport 'isearch-allow-scroll' in 'pixel-scroll-precision-mode'
Eli Zaretskii [Mon, 22 May 2023 11:20:38 +0000 (14:20 +0300)]
Support 'isearch-allow-scroll' in 'pixel-scroll-precision-mode'

* lisp/pixel-scroll.el (pixel-scroll-precision)
(pixel-scroll-down, pixel-scroll-up): Put the 'scroll-command'
property on these commands.  (Bug#63640)

19 months agoshr: allow moving between adjacent anchors
Andreas Schwab [Mon, 22 May 2023 11:08:33 +0000 (13:08 +0200)]
shr: allow moving between adjacent anchors

* lisp/net/shr.el (shr-urlify): Put shr-tab-stop only over first
position.

19 months ago; * etc/NEWS: Fix typos.
Michael Albinus [Mon, 22 May 2023 10:20:44 +0000 (12:20 +0200)]
; * etc/NEWS: Fix typos.

19 months agoFix multihop file name expansion in Tramp
Michael Albinus [Mon, 22 May 2023 10:20:27 +0000 (12:20 +0200)]
Fix multihop file name expansion in Tramp

* lisp/net/tramp.el (tramp-dissect-file-name): Set hop to nil if
NODEFAULT.  (Bug#63578)

19 months agoRemove obsolete information from Gnus manual
Jens Schmidt [Sat, 20 May 2023 21:46:42 +0000 (23:46 +0200)]
Remove obsolete information from Gnus manual

The Gnus manual was still referencing long-removed external
marks in section "Archiving Mails".  Without external marks,
that section is almost pointless, so remove it completely.
* doc/misc/gnus.texi (Archiving Mail): Remove section.
(Top, Browsing the Web): Remove references to "Archiving
Mail".  (Bug#63497)

19 months agoPreserve mark in comint-history-isearch
Jens Schmidt [Sat, 20 May 2023 21:03:29 +0000 (23:03 +0200)]
Preserve mark in comint-history-isearch

This preserves mark in `comint-history-isearch-backward' and
friends, which tend to set the mark on completion of the isearch
to unexpected positions.
* lisp/comint.el (comint-history-isearch-end): Set `isearch-opoint'
to point.  (Bug#63616)

19 months agoFix systemd unit completion for old versions of systemd
Liu Hui [Wed, 17 May 2023 08:39:18 +0000 (16:39 +0800)]
Fix systemd unit completion for old versions of systemd

* lisp/pcmpl-linux.el (pcmpl-linux--systemd-units): Use '--no-legend'
for compatibility with older versions of systemctl.  (Bug#63411)

19 months agoFix Skeletons menu-bar menu in Python modes
Eli Zaretskii [Sat, 20 May 2023 14:56:40 +0000 (17:56 +0300)]
Fix Skeletons menu-bar menu in Python modes

* lisp/progmodes/python.el (python-mode, python-ts-mode): Call
'python-skeleton-add-menu-items' here, not in 'python-base-mode',
since the "Python" menu is not yet set up in the latter.
(Bug#63598)

19 months ago; * etc/NEWS: missing definite article
Mattias Engdegård [Sat, 20 May 2023 13:04:06 +0000 (15:04 +0200)]
; * etc/NEWS: missing definite article

19 months ago; * etc/NEWS: PGTK cannot switch to -new automatically (bug#6355).
Eli Zaretskii [Sat, 20 May 2023 12:53:21 +0000 (15:53 +0300)]
; * etc/NEWS: PGTK cannot switch to -new automatically (bug#6355).

19 months agoFix loading SQLite extensions
Eli Zaretskii [Sat, 20 May 2023 12:43:44 +0000 (15:43 +0300)]
Fix loading SQLite extensions

* src/sqlite.c (sqlite3_db_config) [WINDOWSNT]: Load from the DLL.
(Fsqlite_load_extension): Use 'sqlite3_db_config' to enable and
disable loading of extensions.  Add a few free extensions to the
allow-list.  Fix testing for the ".dll" extension.  (Bug#63590)

* test/src/sqlite-tests.el (sqlite-load-extension): Fix the test
to require successful load if the extension does exist.

19 months ago; * etc/NEWS: Fix typos.
Michael Albinus [Sat, 20 May 2023 12:00:56 +0000 (14:00 +0200)]
; * etc/NEWS: Fix typos.

19 months ago* etc/NEWS: Note dotimes loop variable scoping change (bug#63586)
Mattias Engdegård [Sat, 20 May 2023 08:50:25 +0000 (10:50 +0200)]
* etc/NEWS: Note dotimes loop variable scoping change (bug#63586)

19 months agoFix c-ts-mode--top-level-declarator
Yuan Fu [Sat, 20 May 2023 07:45:39 +0000 (00:45 -0700)]
Fix c-ts-mode--top-level-declarator

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--top-level-declarator): Don't use treesit-node-match-p.

19 months agoImprove c-ts-mode font-lock for function names (bug#63390)
Yuan Fu [Fri, 19 May 2023 23:09:17 +0000 (16:09 -0700)]
Improve c-ts-mode font-lock for function names (bug#63390)

When a function definition has preproc directives in its body, it
can't correctly parse into a function_definition.  This fix tries to
recognize this case and highlight the function_declarator correctly.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--font-lock-settings): New rule.
(c-ts-mode--top-level-declarator): New function.

19 months ago* lisp/tab-bar.el: Don't use 'minibuffer-selected-window' (bug#62427).
Juri Linkov [Fri, 19 May 2023 18:14:16 +0000 (21:14 +0300)]
* lisp/tab-bar.el: Don't use 'minibuffer-selected-window' (bug#62427).

(tab-bar-select-tab, tab-bar-new-tab-to):
Use 'window-minibuffer-p' instead of 'minibuffer-selected-window'.
And switch to 'get-mru-window' instead of 'minibuffer-selected-window'.

19 months agoSplit windows horizontally in places that use split to create a new window.
Juri Linkov [Fri, 19 May 2023 18:04:50 +0000 (21:04 +0300)]
Split windows horizontally in places that use split to create a new window.

* lisp/tab-bar.el (tab-bar-new-tab-to):
* lisp/window.el (window-state-put):
To create a new window, split horizontally instead of vertically.
Use 'window-safe-min-width' for the SIZE arg of 'split-window'.
(bug#62592)

19 months agoFix tree-sitter test (bug#63481)
Yuan Fu [Thu, 18 May 2023 21:44:26 +0000 (14:44 -0700)]
Fix tree-sitter test (bug#63481)

* test/src/treesit-tests.el (treesit-basic-parsing): Latest json
parser doesn't return an error on empty buffer or multiple objects
anymore [1].

https://github.com/tree-sitter/tree-sitter-json/commit/40a81c01a40ac48744e0c8ccabbaba1920441199

19 months ago; * lisp/emacs-lisp/benchmark.el (benchmark-progn): Fix declare form.
Eli Zaretskii [Thu, 18 May 2023 14:20:36 +0000 (17:20 +0300)]
; * lisp/emacs-lisp/benchmark.el (benchmark-progn): Fix declare form.

19 months agoAttempt to fix redisplay problems on macOS
Aaron Jensen [Thu, 18 May 2023 11:20:18 +0000 (14:20 +0300)]
Attempt to fix redisplay problems on macOS

* src/nsterm.m (ns_scroll_run): Attempt to fix redisplay
artifacts.  (Bug#63187)

19 months ago; * lisp/simple.el (async-shell-command): Add commentary about 3rd arg.
Eli Zaretskii [Thu, 18 May 2023 11:03:10 +0000 (14:03 +0300)]
; * lisp/simple.el (async-shell-command): Add commentary about 3rd arg.

19 months agoClarify misleading comment in isearch.el
Jens Schmidt [Tue, 16 May 2023 21:31:19 +0000 (23:31 +0200)]
Clarify misleading comment in isearch.el

Clarify a misleading comment in isearch.el as to whether frame events
should exit an isearch or not (Bug#62032, Bug#41338 for background
information).
* lisp/isearch.el (isearch-mode-map): Replace the misleading comment.
(Bug#62032)

Copyright-paperwork-exempt: yes

19 months agoImprove documentation of package-menu commands
Eli Zaretskii [Thu, 18 May 2023 06:41:59 +0000 (09:41 +0300)]
Improve documentation of package-menu commands

* doc/emacs/package.texi (Package Menu): Document that some
package-menu filters accept lists of values interactively.

* lisp/emacs-lisp/package.el (package-menu-execute)
(package-menu-hide-package, package-menu-describe-package)
(package-menu-mark-delete, package-menu-mark-install)
(package-menu-mark-unmark, package-menu-backup-unmark)
(package-menu-quick-help, package-menu-get-status)
(package-menu--find-upgrades, package-menu-mark-upgrades)
(package-menu-filter-by-archive)
(package-menu-filter-by-description)
(package-menu-filter-by-keyword)
(package-menu-filter-by-name-or-description)
(package-menu-filter-by-name, package-menu-filter-by-status)
(package-menu-filter-by-version, package-menu-filter-marked)
(package-menu-describe-package): Doc fixes.

19 months agoFix M-x completion-predicate under python-ts-mode
Basil L. Contovounesios [Wed, 17 May 2023 12:48:09 +0000 (13:48 +0100)]
Fix M-x completion-predicate under python-ts-mode

* lisp/progmodes/python.el (python--completion-predicate)
(python-shell--completion-predicate): Filter M-x completion based on
python-base-mode instead of python-mode.  This allows for
python-ts-mode as well (bug#63552).

19 months ago* Account for `byte-compile-warnings' during native compilation (bug#63302).
Andrea Corallo [Wed, 10 May 2023 11:50:51 +0000 (13:50 +0200)]
* Account for `byte-compile-warnings' during native compilation (bug#63302).

* lisp/emacs-lisp/comp.el (comp-final, comp-run-async-workers):
Forward `byte-compile-warnings' to child processes.

19 months agoAvoid duplicate VC packages in 'package-selected-packages'
Philip Kaludercic [Sun, 14 May 2023 19:22:59 +0000 (21:22 +0200)]
Avoid duplicate VC packages in 'package-selected-packages'

* lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Check if
'package-selected-packages' already contains the package name.
(bug#63338)

19 months ago* lisp/tab-bar.el (tab-bar-new-tab-to): Set 'window-side' to nil (bug#62427).
Juri Linkov [Mon, 15 May 2023 17:32:04 +0000 (20:32 +0300)]
* lisp/tab-bar.el (tab-bar-new-tab-to): Set 'window-side' to nil (bug#62427).

This is still needed for the case when tab-bar-new-tab-choice is 'window'.

19 months ago; Better warning message when loading tree-sitter fails
Eli Zaretskii [Mon, 15 May 2023 15:39:49 +0000 (18:39 +0300)]
; Better warning message when loading tree-sitter fails

* lisp/treesit.el (treesit-ready-p): Improve diagnostics on
MS-Windows when the tree-sitter library cannot be loaded at run
time.

19 months agoUpdate to Org 9.6.6
Kyle Meyer [Mon, 15 May 2023 01:04:37 +0000 (21:04 -0400)]
Update to Org 9.6.6

19 months ago; * admin/make-tarball.txt: Minor copyedits.
Eli Zaretskii [Sun, 14 May 2023 13:11:44 +0000 (16:11 +0300)]
; * admin/make-tarball.txt: Minor copyedits.

19 months agoMerge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29 emacs-29.0.91
Eli Zaretskii [Sun, 14 May 2023 12:02:15 +0000 (08:02 -0400)]
Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29

19 months ago; Regenerate files for emacs-29.0.91
Eli Zaretskii [Sun, 14 May 2023 11:58:30 +0000 (07:58 -0400)]
; Regenerate files for emacs-29.0.91

* ChangeLog.4:
* etc/AUTHORS: Regenerate.

19 months ago; * lisp/ldefs-boot.el: Regenerate for emacs-29.0.91.
Eli Zaretskii [Sun, 14 May 2023 11:57:52 +0000 (07:57 -0400)]
; * lisp/ldefs-boot.el: Regenerate for emacs-29.0.91.

19 months agoBump Emacs version for next pretest
Eli Zaretskii [Sun, 14 May 2023 11:32:21 +0000 (07:32 -0400)]
Bump Emacs version for next pretest

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

19 months ago; * lisp/progmodes/csharp-mode.el (csharp-ts-mode--defun-name): typo
Mattias Engdegård [Sun, 14 May 2023 09:33:04 +0000 (11:33 +0200)]
; * lisp/progmodes/csharp-mode.el (csharp-ts-mode--defun-name): typo

19 months ago; Minor fixes in ELisp manual
Eli Zaretskii [Sun, 14 May 2023 07:26:03 +0000 (10:26 +0300)]
; Minor fixes in ELisp manual

* doc/lispref/functions.texi (Declare Form): Improve indexing.
(Obsolete Functions): Add cross-reference.
`

19 months ago; * lisp/simple.el (async-shell-command): Doc fix. (Bug#63432)
Eli Zaretskii [Sun, 14 May 2023 07:13:39 +0000 (10:13 +0300)]
; * lisp/simple.el (async-shell-command): Doc fix.  (Bug#63432)

19 months agoIgnore current-prefix-arg in async-shell-command
Gabriel do Nascimento Ribeiro [Sat, 13 May 2023 23:31:24 +0000 (20:31 -0300)]
Ignore current-prefix-arg in async-shell-command

* lisp/simple.el (async-shell-command): Ignore current-prefix-arg and
always pass nil to second argument of `shell-command'.  (Bug#63432)

19 months agoFix building of VC package manuals with relative includes
Joseph Turner [Sat, 6 May 2023 21:49:43 +0000 (14:49 -0700)]
Fix building of VC package manuals with relative includes

* lisp/emacs-lisp/package-vc.el (package-vc--build-documentation):
Invoke makeinfo with -I to ensure the package directory is always
consulted for @include statements.  (Bug#63337)

19 months agoAnother fix for VHDL mode highlighting
Cyril Arnould [Wed, 10 May 2023 07:26:52 +0000 (07:26 +0000)]
Another fix for VHDL mode highlighting

* lisp/progmodes/vhdl-mode.el (vhdl-version): Bump to 3.38.5.
(vhdl-compiler-alist): Fix the regexps and the doc string.

Copyright-paperwork-exempt: yes

19 months agoFix auto-filling in Texinfo mode
Eli Zaretskii [Sat, 13 May 2023 08:28:38 +0000 (11:28 +0300)]
Fix auto-filling in Texinfo mode

This fixes auto-filling in Texinfo buffers.  It was broken by the
fix to bug#49558, which made M-q fill over-long @noindent lines by
refraining from customizing 'paragraph-separate' in Texinfo mode.
The underlying problem here is that 'auto-fill-mode' doesn't call
mode-specific filling functions, but does its job by itself, and
depends on 'forward-paragraph' to find the beginning of the
paragraph as appropriate for calculation of 'fill-prefix', and a
different value of 'paragraph-separate' broke that.  As a side
effect, the change below also changes paragraph-movement commands
in Texinfo back to how they behaved prior to that bugfix, but I
don't see why the paragraph-movement behavior introduced by that
fix made more sense.  Try to move through a series of
@-directives, like a paragraph preceded by several @cindex
entries, and you will see the inconsistencies.  In any case, the
adverse effects of that fix on auto-filling is unacceptable.

* lisp/textmodes/texinfo.el (fill-paragraph-separate): New
variable.
(texinfo-mode): Set 'fill-paragraph-separate' to the default value
of 'paragraph-separate'.  Customize 'paragraph-separate' to the
Texinfo-specific value, as it was before commit dde591571abf.
(texinfo--fill-paragraph): Bind 'paragraph-separate' to the value
of 'fill-paragraph-separate', to keep 'M-q' happy.

19 months ago; * admin/git-bisect-start: Update failing commits
Gregory Heytings [Fri, 12 May 2023 23:31:25 +0000 (23:31 +0000)]
; * admin/git-bisect-start: Update failing commits

19 months agoMerge branch 'scratch/long-lines-cleanup' into 'emacs-29'
Gregory Heytings [Fri, 12 May 2023 22:13:44 +0000 (00:13 +0200)]
Merge branch 'scratch/long-lines-cleanup' into 'emacs-29'

19 months agoAdd an assertion in, and a commentary for, 'get_nearby_bol_pos'
Gregory Heytings [Fri, 12 May 2023 21:56:31 +0000 (21:56 +0000)]
Add an assertion in, and a commentary for, 'get_nearby_bol_pos'

* src/xdisp.c:
(get_nearby_bol_pos): Document the function, and add an assertion
on its return value.

19 months agoFix the return type of 'labeled_restrictions_get_bound'
Gregory Heytings [Fri, 12 May 2023 21:56:28 +0000 (21:56 +0000)]
Fix the return type of 'labeled_restrictions_get_bound'

* src/editfns.c:
(labeled_restrictions_get_bound): Return a Lisp_Object instead of
a pointer to a struct Lisp_Marker.
(unwind_reset_outermost_restriction, reset_outermost_restrictions)
(Fwiden, Fnarrow_to_region): Adapt to the new return type.

19 months agoFix mouse highlight with some fonts in Cairo builds
Eli Zaretskii [Fri, 12 May 2023 19:19:35 +0000 (22:19 +0300)]
Fix mouse highlight with some fonts in Cairo builds

* src/ftcrfont.c (ftcrfont_draw): Don't set the
'background_filled_p' flag of the glyph string.  (Bug#63271)

19 months ago; * etc/NEWS: Fix wording in last change.
Eli Zaretskii [Fri, 12 May 2023 14:41:39 +0000 (17:41 +0300)]
; * etc/NEWS: Fix wording in last change.

19 months ago; Improve and update documentation of built-in package upgrades
Eli Zaretskii [Fri, 12 May 2023 12:33:06 +0000 (15:33 +0300)]
; Improve and update documentation of built-in package upgrades

* doc/emacs/package.texi (Package Statuses, Package Menu)
(Package Installation):
* etc/NEWS: Document the options and caveats of upgrading built-in
packages.

19 months agoEnsure that package menu respects 'package-install-upgrade-built-in'
Philip Kaludercic [Wed, 10 May 2023 06:58:34 +0000 (08:58 +0200)]
Ensure that package menu respects 'package-install-upgrade-built-in'

* lisp/emacs-lisp/package.el (package-menu--find-upgrades): Check if
built-in packages can be upgraded if
'package-install-upgrade-built-in' is non-nil.

19 months agoEnsure that EXTRA-DATA are always written when generating autoloads
Philip Kaludercic [Sun, 7 May 2023 19:37:01 +0000 (21:37 +0200)]
Ensure that EXTRA-DATA are always written when generating autoloads

* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Handle
edge-case where no autoloads are found.  (Bug#63260)

19 months agoUpdate to Transient v0.4.0
Jonas Bernoulli [Thu, 11 May 2023 15:47:30 +0000 (17:47 +0200)]
Update to Transient v0.4.0

Or strictly speaking v0.4.0-1-g428576a4.)

19 months agoRevert "Don't have nntp-report signal an error"
Eli Zaretskii [Thu, 11 May 2023 09:59:46 +0000 (12:59 +0300)]
Revert "Don't have nntp-report signal an error"

This reverts commit 032969e8c65ba1ccda8466f6c61f20e0c7293ebf.
The commit is being reverted because it caused bug#62845.

19 months ago; * lisp/wid-edit.el (widget-specify-insert): Fix debug spec. (Bug#63437)
Eli Zaretskii [Thu, 11 May 2023 09:54:34 +0000 (12:54 +0300)]
; * lisp/wid-edit.el (widget-specify-insert): Fix debug spec.  (Bug#63437)

19 months agoMake c-emacs-features use the proper binding of parse-sexp-lookup-properties
Alan Mackenzie [Fri, 14 Apr 2023 10:33:03 +0000 (10:33 +0000)]
Make c-emacs-features use the proper binding of parse-sexp-lookup-properties

This is relevant for bug #58558, although it does not fix it.  Due to a wrong
ordering of with-current-buffer and a let form, the function overwrote the
global value of parse-sexp-lookup-properties and two other variables.

* lisp/progmodes/cc-defs.el (c-emacs-features): Change the nesting of
with-current-buffer and let so that the let bindings get used.

19 months ago; * lisp/obsolete/autoload.el (make-directory-autoloads): Doc fix.
Eli Zaretskii [Wed, 10 May 2023 13:51:17 +0000 (16:51 +0300)]
; * lisp/obsolete/autoload.el (make-directory-autoloads): Doc fix.

19 months ago; Fix example in ELisp manual
Eli Zaretskii [Wed, 10 May 2023 13:47:14 +0000 (16:47 +0300)]
; Fix example in ELisp manual

* doc/lispref/minibuf.texi (Yes-or-No Queries): Fix example.
(Bug#63399)

19 months ago; Fix wording in Emacs manual
Eli Zaretskii [Wed, 10 May 2023 13:36:14 +0000 (16:36 +0300)]
; Fix wording in Emacs manual

* doc/emacs/search.texi (Replacement and Lax Matches): Fix
wording.  (Bug#63398)

19 months ago; Fix minor documentation issue ion replace.el
Eli Zaretskii [Wed, 10 May 2023 13:01:28 +0000 (16:01 +0300)]
; Fix minor documentation issue ion replace.el

* lisp/replace.el (query-replace, query-replace-regexp): Doc fix.
(Bug#63397)

19 months agowith-display-message: Workaround for bug#63253
Stefan Monnier [Wed, 10 May 2023 02:30:52 +0000 (22:30 -0400)]
with-display-message: Workaround for bug#63253

Running arbitrary ELisp code from an atimer is still dangerous,
at least because the regexp engine is not-reentrant, so let's patch up
the case we bumped into.  There are probably many other such holes :-(

* src/alloc.c (garbage_collection_inhibited): Make it non-static.

* src/xdisp.c (garbage_collection_inhibited): Declare it.
(set_message, clear_message): Use it as a proxy for "we're in
a dangerous context like within `probably_quit`".

19 months ago; Don't use literal non-ASCII characters in Texinfo
Eli Zaretskii [Tue, 9 May 2023 09:06:32 +0000 (12:06 +0300)]
; Don't use literal non-ASCII characters in Texinfo

* doc/emacs/mule.texi (Input Methods): Don't use non-ASCII
characters in Texinfo sources, where Texinfo provides an ASCII command
to insert it.

19 months agoFido-mode: never shadow 'external' completion style
João Távora [Fri, 5 May 2023 18:44:11 +0000 (19:44 +0100)]
Fido-mode: never shadow 'external' completion style

As explained in the manual (20.7.2 Fast minibuffer selection)
'fido-mode' and 'fido-vertical-mode' give priority the "flex"
completion style.

In fact, bug#62015 was recently fixed in commit because that priority
was not taking place correctly and some completions were missed.

However, an exception must be made for the 'external' completion
style.

That style, made available by the lisp/external-completion.el library,
is specifically designed to work with backends that provide only a
partial view of all completions.  If we allow 'flex' to step in front
of 'external' it could mean that 'flex' matches something and
'external' isn't triggered as it probably should.

To reproduce have the rust-mode ELPA package and the rust-analyzer LSP
server handy.  Then:

  emacs -Q -f package-initialize main.rs

Where main.rs is this content:

  fn foo1()    {} fn foo2()    {} fn foo3() {}
  fn foobar1() {} fn foobar2() {} fn foobar3() {}

The rust-analyzer server can be quickly configured to return only 3
workspace symbols max, so evaluate:

  (setq-default eglot-workspace-configuration
                '(:rust-analyzer
                    (:workspace (:symbol (:search (:limit 3))))))

Now start M-x eglot and M-x fido-vertical-mode and type C-u M-. to
find an arbitrary symbol in this one-file project.

Type 'f'.  You will see the three foo's are listed, correctly.

Now type '3'.   You will only see "foo3".

But that's wrong because "foobar3" was available, if only the server
had been asked for it.  This commit fixes the situation and no
completions are lost.

As an unfortunate side-effect of this commit, the fontification of
completions-common-part on the matches is lost, but that is not worse
than missing out on completions and there are better ways to recover
the fontification anyway (in external-completion.el).

See also:
https://github.com/joaotavora/eglot/discussions/1219#discussioncomment-5818336

* lisp/icomplete.el (icomplete--fido-ccd): Do not touch entries
with 'external in them.

Do not merge to master.
Backport:

(cherry picked from commit 0e8d8a72284f6b3aaa1bbce73d41c7d84bbc4d3c)

19 months ago; * lisp/leim/quail/persian.el: Fix a typo in last commit.
Eli Zaretskii [Tue, 9 May 2023 05:34:43 +0000 (08:34 +0300)]
; * lisp/leim/quail/persian.el: Fix a typo in last commit.

19 months agoAvoid crashes in --without-all build trying to scale non-ASCII char
Eli Zaretskii [Tue, 9 May 2023 05:20:57 +0000 (08:20 +0300)]
Avoid crashes in --without-all build trying to scale non-ASCII char

* src/fontset.c (face_for_char): Display a non-ASCII character as
glyphless if the ASCII face has no fontset.  (Bug#63283)

19 months agoImprove instructions for dealing with Emacs crashes
Eli Zaretskii [Tue, 9 May 2023 04:52:04 +0000 (07:52 +0300)]
Improve instructions for dealing with Emacs crashes

* doc/emacs/trouble.texi (Crashing): Show the variant of the
'addr2line' command for MS-Windows.

19 months agoImproved transliterations + improved bidi insertion support for Farsi
Mohsen Banan [Sun, 7 May 2023 17:11:55 +0000 (10:11 -0700)]
Improved transliterations + improved bidi insertion support for Farsi

* lisp/leim/quail/persian.el ("farsi-transliterate-banan"):
Improve and add transliterations.  (Bug#63361)

19 months agoFix crash when creating a child frame in NS (bug#63107)
Alan Third [Thu, 27 Apr 2023 19:08:23 +0000 (20:08 +0100)]
Fix crash when creating a child frame in NS (bug#63107)

* src/nsterm.m ([EmacsView initFrameFromEmacs:]): Have a second go at
creating the toolbar.
([EmacsWindow createToolbar:]): If there is already a toolbar or the
EmacsView's layer is not an EmacsLayer, then do nothing.

(cherry picked from commit 3adc1e7f37901235bda83ea65a90644b7b0a8dbf)

19 months agoFix outgoing mime type regression (Bug#62815)
Andrew G Cohen [Sun, 30 Apr 2023 01:55:42 +0000 (09:55 +0800)]
Fix outgoing mime type regression (Bug#62815)

* lisp/net/mailcap.el (mailcap-mime-extensions,
mailcap-parse-mimetype-file, mailcap-mime-types): Don't regexp-quote
mimetypes in a context where they should be strings.
(mailcap--regexp-quote-type): Remove.

(cherry picked from commit 605414d018da47f99dec5019142f584b6eb174c8)

19 months agodefine-minor-mode: sanitize mode function messages
Nicholas Vollmer [Sun, 7 May 2023 04:06:18 +0000 (00:06 -0400)]
define-minor-mode: sanitize mode function messages

* emacs-lisp/easy-mmode.el (define-minor-mode): Ensure mode's
pretty name is not interprted as a message formatting string,
e.g., if the mode name contains a '%'.  (Bug#63343)

19 months agoFix beginning/end-of-defun with tree-sitter
Eli Zaretskii [Sun, 7 May 2023 06:13:10 +0000 (09:13 +0300)]
Fix beginning/end-of-defun with tree-sitter

* lisp/treesit.el (treesit-beginning-of-defun)
(treesit-end-of-defun): Push mark, as other beginning/end-of-defun
functions do.

19 months agoFix indent for enums in csharp-mode
Theodor Thornhill [Sat, 6 May 2023 19:13:15 +0000 (21:13 +0200)]
Fix indent for enums in csharp-mode

* lisp/progmodes/csharp-mode.el (csharp-guess-basic-syntax): Check for
keywords containing 'enum' on the line before an opening bracket, and
make it behave like a class-open token.

19 months ago; Expand 'package-vc-install' documentation
Philip Kaludercic [Sat, 6 May 2023 18:51:39 +0000 (20:51 +0200)]
; Expand 'package-vc-install' documentation

* lisp/emacs-lisp/package-vc.el (package-vc-install): Go into further
detail on the handling of the REV argument.  (Bug#60418)

19 months agoTeach c-ts-mode about the 'restrict' keyword
Eli Zaretskii [Sat, 6 May 2023 12:15:42 +0000 (15:15 +0300)]
Teach c-ts-mode about the 'restrict' keyword

* lisp/progmodes/c-ts-mode.el (c-ts-mode--keywords): Add
"restrict" and "_Atomic" type qualifiers.  (Bug#63323)

19 months ago* lisp/x-dnd.el (x-dnd-after-move-frame): Skip dead frames. (Bug#63312)
Eli Zaretskii [Sat, 6 May 2023 11:16:36 +0000 (14:16 +0300)]
* lisp/x-dnd.el (x-dnd-after-move-frame): Skip dead frames.  (Bug#63312)

19 months ago; Updated Elispref-Manual: `nil' cannot be defun'ed
Shynur [Fri, 7 Apr 2023 03:45:28 +0000 (11:45 +0800)]
; Updated Elispref-Manual: `nil' cannot be defun'ed

* doc/lispref/functions.texi (Function Cells): Fix inaccuracy.
(Bug#62746)

19 months agoFix doc strings of 'mark-sexp' and 'mark-word'
Eli Zaretskii [Sat, 6 May 2023 08:47:31 +0000 (11:47 +0300)]
Fix doc strings of 'mark-sexp' and 'mark-word'

* lisp/emacs-lisp/lisp.el (mark-sexp):
* lisp/simple.el (mark-word): Clarify the doc strings in various
usage cases.  (Bug#62892)

19 months ago; * etc/EGLOT-NEWS: Fix misspellings.
Eli Zaretskii [Sat, 6 May 2023 06:45:05 +0000 (09:45 +0300)]
; * etc/EGLOT-NEWS: Fix misspellings.

19 months ago; * etc/EGLOT-NEWS: Fix wording of last change.
Eli Zaretskii [Sat, 6 May 2023 06:38:20 +0000 (09:38 +0300)]
; * etc/EGLOT-NEWS: Fix wording of last change.

19 months ago(package-upgrade): Don't remove the package from 'package-selected-packages'
Dmitry Gutov [Sat, 6 May 2023 00:32:08 +0000 (03:32 +0300)]
(package-upgrade): Don't remove the package from 'package-selected-packages'

* lisp/emacs-lisp/package.el (package-upgrade):
Don't remove the package from 'package-selected-packages', fixing
the problem described in https://debbugs.gnu.org/62720#718.

19 months agoEglot: re-rename eglot-upgrade to eglot-upgrade-eglot
João Távora [Fri, 5 May 2023 13:51:09 +0000 (14:51 +0100)]
Eglot: re-rename eglot-upgrade to eglot-upgrade-eglot

* doc/misc/eglot.texi (Getting the latest version): Mention
eglot-upgrade-eglot.

* etc/EGLOT-NEWS: Mention eglot-upgrade-eglot.

* lisp/progmodes/eglot.el (eglot-upgrade-eglot): Rename from
eglot-update.
(eglot-update): New compatibility alias.

19 months agoFix arguments of xml.c functions as displayed in Help buffers
Eli Zaretskii [Fri, 5 May 2023 07:08:59 +0000 (10:08 +0300)]
Fix arguments of xml.c functions as displayed in Help buffers

* lisp/subr.el (libxml-parse-xml-region)
(libxml-parse-html-region): Adjust advertised-calling-convention
to the changes in commit cc33c6cf3a.  (Bug#63291)

19 months agoMore fixes for NetBSD/vax
Po Lu [Fri, 5 May 2023 06:13:37 +0000 (14:13 +0800)]
More fixes for NetBSD/vax

* src/sysdep.c (init_signals) [__vax__]: Treat SIGILL
as a floating point error on VAXen.
Otherwise, (log 0.0) crashes Emacs.

19 months agoImprove VHDL mode highlighting
Cyril Arnould [Wed, 3 May 2023 19:40:18 +0000 (19:40 +0000)]
Improve VHDL mode highlighting

* lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist): Differentiate
between ModelSim errors, warnings, and notes when highlighting
them.  Add a new entry for Xilinx Vivado.  (Bug#63251)

Copyright-paperwork-exempt: yes

19 months agoClarify documentation wrt floating point division by zero and NaN
Po Lu [Thu, 4 May 2023 14:08:44 +0000 (22:08 +0800)]
Clarify documentation wrt floating point division by zero and NaN

* doc/lispref/numbers.texi (Float Basics)
(Arithmetic Operations): Document what happens on a VAX.
Tested on NetBSD 9.3.

19 months agoMake loaddefs-generate slightly more tolerant
Robert Pluim [Thu, 4 May 2023 12:07:08 +0000 (14:07 +0200)]
Make loaddefs-generate slightly more tolerant

There are packages in the wild, such as vlf-20191126.2250, which have
entries that are not terminated by three ';', but by two.  Tolerate
such entries.

* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Search for two
';' as a delimiter, not three.  (Bug#63236)

19 months ago; Minor doc cleanups in go-ts-mode.el
Eli Zaretskii [Thu, 4 May 2023 13:37:39 +0000 (16:37 +0300)]
; Minor doc cleanups in go-ts-mode.el

* lisp/progmodes/go-ts-mode.el (go-ts-mode--iota-query-supported-p)
(go-ts-mode--other-type-node-p, go-mod-ts-mode--in-directive-p):
Doc fixes.

19 months ago; Minor grammar fix in treesit manual.
Basil L. Contovounesios [Thu, 4 May 2023 10:16:57 +0000 (12:16 +0200)]
; Minor grammar fix in treesit manual.

19 months agoFix order of rcirc-connect arguments
Philip Kaludercic [Mon, 1 May 2023 11:53:52 +0000 (13:53 +0200)]
Fix order of rcirc-connect arguments

* lisp/net/rcirc.el (rcirc): Pass SERVER-ALIAS before CLIENT-CERT.
(rcirc-connect): Take SERVER-ALIAS before CLIENT-CERT.

This is necessary for the 'rcirc-reconnect' trick to work that applies
the contents of 'rcirc-connection-info' to 'rcirc-connect', otherwise
the server alias gets lost as certfp information.

This addresses a change made in b79cb838a477ee5a5c3660e81264991ff833a82f.

19 months agoFix rcirc messages printing in the wrong place
Thuna [Wed, 23 Nov 2022 03:14:36 +0000 (04:14 +0100)]
Fix rcirc messages printing in the wrong place

* lisp/net/rcirc.el (rcirc-send-message): Print the message before
sending it to the server.
(rcirc-print): Get the time with subsecond precision.
* lisp/calendar/parse-time.el (parse-time-string
parse-iso8601-time-string): Accept optional second FORM arguments,
with the same meaning as in `decode-time'.  Mention as such in the
docstring.  (Bug#59501)

Copyright-paperwork-exempt: yes

19 months agoPrevent unnecessary modifications of 'package-vc-selected-packages'
Philip Kaludercic [Sun, 30 Apr 2023 18:21:04 +0000 (20:21 +0200)]
Prevent unnecessary modifications of 'package-vc-selected-packages'

* lisp/emacs-lisp/package-vc.el (package-vc--unpack): Handle the
structure of correctly, not as an alist but a list of alists.
(package-vc--archive-spec-alist, package-vc--archive-spec-alists,
package-vc--desc->spec, package-vc--read-archive-data,
package-vc--download-and-read-archives, package-vc--unpack): Rename
'package-vc--archive-spec-alist' to 'package-vc--archive-spec-alists'.

19 months agoRename eglot-update to eglot-upgrade
Dmitry Gutov [Wed, 3 May 2023 22:39:15 +0000 (01:39 +0300)]
Rename eglot-update to eglot-upgrade

* doc/misc/eglot.texi (Getting the latest version):
Update the reference.

* lisp/progmodes/eglot.el (eglot-upgrade): Rename from
'eglot-update', as discussed on emacs-devel, in line with
'package-upgrade'.

19 months agogo-ts-mode: Use iota query only if supported (Bug#63086)
Randy Taylor [Wed, 26 Apr 2023 15:15:45 +0000 (11:15 -0400)]
go-ts-mode: Use iota query only if supported (Bug#63086)

iota query support was added on January 5, 2022.  To support older
versions of the tree-sitter-go grammar (like the latest tagged version,
v0.19.1, which was released on March 3, 2021), check if the query is
supported before trying to use it.

* lisp/progmodes/go-ts-mode.el (go-ts-mode--iota-query-supported-p): New
function.
(go-ts-mode--font-lock-settings): Use it.

19 months ago(rng-complete-tag): Add the (ignored) argument to the :company-kind function
Dmitry Gutov [Wed, 3 May 2023 20:58:27 +0000 (23:58 +0300)]
(rng-complete-tag): Add the (ignored) argument to the :company-kind function

* lisp/nxml/rng-nxml.el (rng-complete-tag): Add the (ignored)
argument to the :company-kind function.  Fixes the "Wrong number
of arguments" error reported at
https://github.com/company-mode/company-mode/issues/1386.

19 months agoUpdate to Transient v0.3.7-219-g3ded15b
Jonas Bernoulli [Wed, 3 May 2023 13:02:31 +0000 (15:02 +0200)]
Update to Transient v0.3.7-219-g3ded15b

19 months agoFix inserting selection data into Mozilla programs
Po Lu [Wed, 3 May 2023 12:02:01 +0000 (20:02 +0800)]
Fix inserting selection data into Mozilla programs

* lisp/select.el (xselect-convert-to-text-uri-list): Don't
return any value when converting non-DND selections to this
drag-and-drop target.

Reported by Tobias Bading <tbading@web.de>.

19 months agoRecognize defstruct slot names in various eieio functions
Thuna [Wed, 19 Apr 2023 21:43:22 +0000 (23:43 +0200)]
Recognize defstruct slot names in various eieio functions

* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Set
each slot's name's 'slot-name' property so that
'eieio--known-slot-name-p' can recognize them.  (Bug#62959)

Copyright-paperwork-exempt: yes

19 months agoUse 'calendar-buffer' instead of fixed string
Thuna [Tue, 14 Feb 2023 18:52:37 +0000 (19:52 +0100)]
Use 'calendar-buffer' instead of fixed string

* test/lisp/calendar/cal-julian-tests.el (with-cal-julian-test):
Use 'calendar-buffer' instead of a literal fixed name.
(Bug#61546)

Copyright-paperwork-exempt: yes