1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-17 00:30:37 -08:00
Commit graph

164843 commits

Author SHA1 Message Date
Eli Zaretskii
d2cf1386fa ; * doc/misc/eglot.texi (Eglot Commands): Improve indexing. 2023-03-18 15:41:55 +02:00
João Távora
b75e489362 ; Again correct node reference casing in doc/misc/eglot.texi
Emacs's info-generating Texinfo incantation seems to be case
insensitive, but others -- like Eglot's HTML manual generation -- is
case sensitive.

* doc/misc/eglot.texi (Eglot Features): Fix.
2023-03-18 12:43:31 +00:00
João Távora
a55d2edc5a ; Remove overly verbose commentary
* lisp/progmodes/eglot.el (eglot--connect): Remove overly verbose
commentary.
2023-03-18 12:39:03 +00:00
João Távora
22a70451f3 Merge confusing duplicate sections on commands in Eglot manual
Also describe eglot-diagnostics-map.

* doc/misc/eglot.texi (Eglot Features): Don't describe commands here.
(Eglot Commands): Describe commands here.
2023-03-18 12:35:45 +00:00
João Távora
3293f93988 Don't take over mouse-1 binding on Eglot diagnostics (bug#62157)
It's better to give the user a variable to allow the overlay keymap to
be customized.

* lisp/progmodes/eglot.el (eglot--mouse-call): Accept second arg.
(eglot--mode-line-props): Adapt call to eglot--mouse-call
(eglot-diagnostics-map): New variable.
(eglot-code-actions-at-mouse): New command.
2023-03-18 12:29:00 +00:00
João Távora
013057e351 ; Prefer "language server" to "LSP server" in Eglot manual
* eglot.texi (Quick Start, Customizing Eglot)
(Project-specific configuration)
(Troubleshooting Eglot): LSP server -> language server.
2023-03-18 12:22:47 +00:00
Michael Albinus
94a21c8864 * lisp/progmodes/eglot.el (eglot--connect): Improve Tramp workaround. 2023-03-18 13:13:56 +01:00
Gregory Heytings
0eddfa28eb Avoid slowdowns in xmltok-scan-attributes
* lisp/nxml/xmltok.el (xmltok-scan-attributes): Limit the search
to 10000 characters, to avoid slowdowns due to the quadratic
complexity of the regexp.  Suggested by Stefan Monnier.
2023-03-18 11:51:32 +01:00
Eli Zaretskii
647c6bf2a6 ; * test/lisp/abbrev-tests.el (abbrev--possibly-save-test): Fix test. 2023-03-18 12:35:10 +02:00
Gregory Heytings
531f8f7103 ; * admin/git-bisect-start: Update failing commits 2023-03-18 11:33:23 +01:00
Alan Mackenzie
147773a1ef CC Mode: Eliminate duplicate function c-list-of-strings
Replace it with the existing c-string-list-p.  Also put an autoload cookie in
front of c-string-list-p so that it will not be signalled as undefined by
loaddefs.el.

lisp/progmodes/cc-vars.el (c-string-list-p): Make this autoload.
(c-list-of-strings): Remove.
(c-font-lock-extra-types, c++-font-lock-extra-types)
(objc-font-lock-extra-types, java-font-lock-extra-types)
(idl-font-lock-extra-types, pike-font-lock-extra-types): In the autoload
cookies, replace c-list-of-strings with c-string-list-p.
2023-03-18 10:26:54 +00:00
Alan Mackenzie
f77ea400db CC Mode: Allow lists of strings as safe values for *-font-lock-extra-types
* lisp/progmodes/cc-vars.el (c-list-of-strings): New function.
(c-font-lock-extra-types, c++-font-lock-extra-types)
(objc-font-lock-extra-types, java-font-lock-extra-types)
(idl-font-lock-extra-types, pike-font-lock-extra-types): Add a :safe entry
into each of thes defcustoms for c-list-of-string.
(Top level): Add an autoload entry for each of the above.
2023-03-18 10:26:54 +00:00
Robert Pluim
aedb9e3ec3 Add tests for Bug#62207
* test/src/keymap-tests.el (keymap-unset-test-remove-and-inheritance):
New test.
2023-03-18 10:37:15 +01:00
Eli Zaretskii
faee8d5073 ; Fix 'make-obsolete-variable' forms
* lisp/url/url-misc.el (url-misc-rlogin-obsolete-warned-once):
* lisp/url/url-gw.el (url-gw-rlogin-obsolete-warned-once): Fix
make-obsolete-variable form.  (Bug#62248)
2023-03-18 09:12:12 +02:00
Manuel Giraud
f0b4ebbaf6 Fix 'find-ls-option-default-ls' for BSD/MacOS (bug#62096)
* lisp/find-dired.el (find-ls-option-default-ls): Adapt to
a value that works with the default "find" on *BSD and
Darwin/MacOS.  Tested on OpenBSD and MacOS.  Do not merge
to master.
2023-03-18 08:26:51 +02:00
Arash Esbati
ea87c54f35 ; * lisp/subr.el (setq-local): Add missing period (bug#62242). 2023-03-17 16:54:40 +02:00
João Távora
90362f87d5 ; Correct last commit, downcase node reference
* doc/misc/eglot.texi (Troubleshooting Eglot): Downcase node reference
2023-03-17 14:21:11 +00:00
João Távora
38067f05b9 Enhance section about troubleshooting in Eglot manual.
* doc/misc/eglot.texi (Troubleshooting Eglot): Parially rewrite.
2023-03-17 14:18:11 +00:00
João Távora
6f82596b49 Fix Eglot's snippet insertion to follow the manual
The manual states that YASnippet must only be installed to be useful.
Before this change, it would only work if the user happened to have
manually activated it before with 'yas-global-mode' or somesuch.

This makes Eglot's Yasnippet-activating behaviour similar to its
Flymake-activating behaviour.

* lisp/progmodes/eglot.el (eglot-client-capabilities): Consult
eglot--stay-out-of.
(eglot--snippet-expansion-fn): Turn on yas-minor-mod eon demand.
(eglot-completion-at-point): Simplify.
2023-03-17 14:17:15 +00:00
Filipp Gunbin
c54bda15e3 Reset abbrevs-changed after saving abbrevs (bug#62208)
* lisp/abbrev.el (abbrev--possibly-save): Reset abbrevs-changed after
saving abbrevs.
* test/lisp/abbrev-tests.el (abbrev--possibly-save-test): New test.
2023-03-17 16:34:30 +03:00
Robert Pluim
e8cee15f78 ; Fix markup in previous change 2023-03-17 14:25:39 +01:00
Robert Pluim
e4a7d0cd6e Document `keymap-unset' in lispref
* doc/lispref/keymaps.texi (Changing Key Bindings): Document
keymap-unset.
2023-03-17 14:18:10 +01:00
Robert Pluim
bb3e0ded9e Don't add a key binding when REMOVE is non-nil
* src/keymap.c (store_in_keymap): Don't add a nil keybinding if we've
been asked to remove a non-existent binding.  (Bug#62207)
2023-03-17 14:18:02 +01:00
Eli Zaretskii
a4a9ffdd80 Fix the documentation of various aspects of adding Xref history
* lisp/progmodes/xref.el (xref-marker-ring-length)
(xref-set-marker-ring-length):
* lisp/progmodes/etags.el (tags-location-ring-length)
(find-tag-marker-ring): Add doc strings saying the variables are
unused.

* etc/NEWS: Enhance the description of the change which made Xref
marker stack unlimited in its length.

* doc/emacs/maintaining.texi (Looking Up Identifiers): Add back
text lost when xref forward history was added in bug#38797.
Explain the difference between 'C-M-,' and 'M-.'.  Improve
wording (Bug#62229)
2023-03-17 10:14:41 +02:00
Eli Zaretskii
a2222b9a9b ; Minor wording fix in ELisp reference manual
* doc/lispref/objects.texi (General Escape Syntax): More accurate
wording.  Avoid non-ASCII characters in Texinfo.  (Bug#62224)
2023-03-16 22:05:07 +02:00
kobarity
5cf1de683b Fix python-fill-paragraph problems on filling strings (bug#62142)
* lisp/progmodes/python.el (python-syntax--context-compiler-macro)
(python-syntax-context): Add single-quoted-string and
triple-quoted-string as TYPE argument.
(python-info-triple-quoted-string-p): New helper function.
(python-fill-paragraph)
(python-fill-string): Use it.
* test/lisp/progmodes/python-tests.el (python-syntax-context-1)
(python-fill-paragraph-single-quoted-string-1)
(python-fill-paragraph-single-quoted-string-2)
(python-fill-paragraph-triple-quoted-string-1)
(python-info-triple-quoted-string-p-1)
(python-info-triple-quoted-string-p-2)
(python-info-triple-quoted-string-p-3): New tests.
2023-03-16 16:59:06 +02:00
João Távora
7385c991df Also exempt eglot-inlay-hints-mode from desktop.el's fumblings
Reported in https://github.com/joaotavora/eglot/discussions/1183.

* lisp/progmodes/eglot.el (desktop): Also exempt
eglot-inlay-hints-mode from desktop.el fumblings.
2023-03-16 14:09:00 +00:00
Stefan Kangas
1961bdb52e ; Add WebDAV entry to index in Tramp manual
* doc/misc/tramp.texi (GVFS-based methods): Improve indexing.
2023-03-16 14:32:52 +01:00
Stefan Kangas
dfb36d3623 Refer to EWW instead of w3 and w3m
* doc/misc/idlwave.texi (Help with HTML Documentation): Refer to EWW
instead of w3 and w3m.
2023-03-16 14:24:45 +01:00
João Távora
9d3fdf7e0d Fix Eglot's command generation for code actions
The user command generated by eglot--code-action should always call
eglot-code-actions with a INTERACTIVE set to t.

Reported in https://github.com/joaotavora/eglot/issues/1132.

* lisp/progmodes/eglot.el (eglot--code-action): Pass INTERACTIVE=t to
eglot-code-action call.
2023-03-16 11:39:12 +00:00
João Távora
e10144c156 Emphasize emacs-29-specificity in this version of lisp/progmodes/eglot.el
Do not merge to master.

Before working on bugfixes to Eglot in its non-ELPA form delivered
with Emacs 29, it's important to distinguish between this emacs-29
version and the one in master, which will also get the bugfixes (via
routine gitmerge.el) but with a bumped version number.

* lisp/progmodes/eglot.el (Version): Emphasize Emacs 29, but hint this
is 1.12 + something.
(Package-Requires): Remove.  Everything required is already in Emacs
29.
2023-03-16 11:39:12 +00:00
USAMI Kenta
028f110273 Fix quoting of font-family in 'hfy-family'
Running "M-x htmlfontify-buffer" in one buffer, the exported HTML contains
lines like:

  body, pre { text-decoration: none;  font-family: Migu 2M;  font-stretch:
  normal;  font-weight: 500;  font-style: normal;  color: #ffffff;
  background: #000000;  font-size: 15pt; }

Standards-compliant web browsers should ignore this font-family.

MDN Web Docs says:
https://developer.mozilla.org/en-US/docs/Web/CSS/font-family

  Valid family names
  Font family names must either be given quoted as strings, or unquoted as
  a sequence of one or more identifiers. This means that punctuation
  characters and digits at the start of each token must be escaped in
  unquoted font family names.

  It is a good practice to quote font family names that contain white
  space, digits, or punctuation characters other than hyphens.

An unquoted font-family is valid as long as it doesn't start with a digit,
but MDN Web Docs also says:

  The following example is technically valid but is not recommended:
  font-family: Gill Sans Extrabold, sans-serif;

So it makes sense to quote all font-family.

* lisp/htmlfontify.el (hfy-family): Quote 'font-family'.  (Bug#62054)
2023-03-16 09:41:56 +02:00
João Távora
4cb8a850b0 ; Tweak doc/misc/eglot.texi
* doc/misc/eglot.texi (Advanced server configuration): Minor
tweaks.
2023-03-15 23:59:01 +00:00
Michael Eliachevitch
d5d4959ed7 Document how to construct JSONRPC arrays in Eglot manual
Many language server configuration options are of the JSON array
datatype, for example argument lists for executables, but there wasn't
any example of that in the Eglot manual.

* doc/misc/eglot.texi (User-specific configuration)
(User-specific configuration): Tweaks.
(JSONRPC objects in Elisp): Mention JSON arrays. Tweak example.

Copyright-paperwork-exempt: Yes
2023-03-15 23:49:51 +00:00
Michael Albinus
078cf512ee * test/infra/Dockerfile.emba: Use debian:bullseye. 2023-03-15 16:52:22 +01:00
Andrea Corallo
61adb44318 * configure.ac: Fix native comp compatibility check (bug#61960) 2023-03-15 16:20:37 +01:00
Michael Albinus
d814c249f4 * test/infra/Dockerfile.emba: Install clangd. 2023-03-15 13:05:19 +01:00
Philip Kaludercic
27edd7f88c Remove 'package-vc--query-spec'
* lisp/emacs-lisp/package-vc.el (require): Do not load `inline' during
compilation.
(package-vc--query-spec): Remove function.
(package-vc--clone): Do not call 'package-vc--query-spec'.
2023-03-15 10:28:14 +01:00
Philip Kaludercic
39fea11551 Do not store :lisp-dir in package descriptors
* lisp/emacs-lisp/package-vc.el (package-vc--main-file)
(package-vc--unpack-1): Query 'pkg-spec' instead of
'package-desc-extras'.
(package-vc--unpack): Do not update 'package-desc-extras'.

This simplification is possible due to the change in 2718bbb3bc, since
we now ensure that package specifications are not lost.  They are
either provided by a package archive or stored in
'package-vc-selected-packages'.
2023-03-15 10:28:14 +01:00
Philip Kaludercic
168165178f Use 'package-vc-selected-packages' to store package specs
* doc/emacs/package.texi (Fetching Package Sources): Do not promote
the usage of 'package-vc-selected-packages' to install packages.
* lisp/emacs-lisp/package-vc.el (package-vc-selected-packages): Remove
custom setter and change docstring according to these changes.
(package-vc--desc->spec): Consult 'package-vc-selected-packages' for
package specifications.
(package-vc--unpack): Add unknown package specifications to
'package-vc-selected-packages'
2023-03-15 10:27:58 +01:00
Stefan Kangas
d3ad6c5e16 ; Auto-commit of loaddefs files. 2023-03-15 05:11:55 +01:00
Juri Linkov
4b6f2a7028 * lisp/progmodes/xref.el: Bump the version. 2023-03-13 20:21:47 +02:00
Juri Linkov
24c8b146bb * lisp/progmodes/xref.el (xref--xref-buffer-mode): Split up 'setq-local'.
xref.el needs to support 26.1, but an arbitrary number of variables
in 'setq-local' was added in Emacs 27.1 (bug#62162).
2023-03-13 19:39:32 +02:00
Filipp Gunbin
46f9e53c3d Fix import of keys in buffer created by epa-search-keys
* lisp/epa-ks.el (epa-ks--query-url): Add operation parameter.
(epa-ks--fetch-key, epa-search-keys): Use it.
2023-03-13 20:37:53 +03:00
Michael Albinus
36ade0704e Fix connection-local variables settings
; * etc/NEWS: Fix typos.

* lisp/files-x.el (connection-local-set-profiles)
(connection-local-set-profile-variables): Use NOW when calling
`custom-set-variables'.

* test/lisp/files-x-tests.el
(files-x-test-connection-local-set-profile-variables)
(files-x-test-connection-local-update-profile-variables)
(files-x-test-connection-local-set-profiles)
(files-x-test-hack-connection-local-variables-apply)
(files-x-test-with-connection-local-variables)
(files-x-test-setq-connection-local): Fix tests.

* test/lisp/net/tramp-tests.el (tramp-test34-connection-local-variables)
(tramp-test34-explicit-shell-file-name): Fix tests.
2023-03-13 18:02:36 +01:00
Eli Zaretskii
e759905d2e ; Minor copyedits in EGLOT-NEWS
* etc/EGLOT-NEWS: Fix punctuation and quoting, add note about
finding Issues.
2023-03-13 14:48:08 +02:00
João Távora
ba22a2c346 Bump Eglot version to 1.12
* etc/EGLOT-NEWS: New file.

* etc/NEWS: Briefly mention etc/EGLOT-NEWS.

* lisp/progmodes/eglot.el: Bump versions.
2023-03-13 11:06:32 +00:00
João Távora
54e123a505 Update Eglot's manual about eglot-workspace-configuration
There is a possible use for a global setting
eglot-workspace-configuration, which is to (ab)use it to set
user-specific configuration when the server doesn't permit other
methods.  Rearrange the "Advanced server configuration" section and
describe that use in the manual.

* doc/misc/eglot.texi (Project-specific configuration): Correct
mistake about global usefulness of eglot-workspace-configuration.
(Advanced server configuration): Swap order of sections.
(User-specific configuration): Mention possibility of globally
setting eglot-workspace-configuration.
2023-03-13 09:14:30 +00:00
Eli Zaretskii
812597f864 ; * lisp/novice.el (disabled-command-function): Add note in a comment. 2023-03-12 22:22:41 +02:00
João Távora
4a603c9849 Amend last Eglot commit (bug#62065)
The fix contained a spurious check for this-command that shouldn't
have made it in..

* lisp/progmodes/eglot.el (eglot-ensure): Don't check this-command.
2023-03-12 19:30:53 +00:00