summaryrefslogtreecommitdiff
path: root/lisp
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29emacs-29.0.91Eli Zaretskii2023-05-141-1/+0
|\
| * ; * lisp/progmodes/csharp-mode.el (csharp-ts-mode--defun-name): typoMattias Engdegård2023-05-141-1/+0
| |
* | ; * lisp/ldefs-boot.el: Regenerate for emacs-29.0.91.Eli Zaretskii2023-05-141-24/+51
|/
* ; * lisp/simple.el (async-shell-command): Doc fix. (Bug#63432)Eli Zaretskii2023-05-141-4/+13
|
* Ignore current-prefix-arg in async-shell-commandGabriel do Nascimento Ribeiro2023-05-141-1/+1
| | | | | * lisp/simple.el (async-shell-command): Ignore current-prefix-arg and always pass nil to second argument of `shell-command'. (Bug#63432)
* Fix building of VC package manuals with relative includesJoseph Turner2023-05-131-1/+4
| | | | | | * 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)
* Another fix for VHDL mode highlightingCyril Arnould2023-05-131-23/+37
| | | | | | | * 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
* Fix auto-filling in Texinfo modeEli Zaretskii2023-05-131-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Merge branch 'scratch/long-lines-cleanup' into 'emacs-29'Gregory Heytings2023-05-131-2/+2
|\
| * Code cleanup for long line optimizationsGregory Heytings2023-03-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit does not change any code, it merely renames functions and clarifies the documentation, to make the code hopefully easier to grasp. * src/dispextern.h (struct it): Rename the 'narrowed_begv', 'narrowed_zv', 'locked_narrowing_begv', 'locked_narrowing_zv' to 'medium_narrowing_begv', 'medium_narrowing_zv', 'large_narrowing_begv', 'large_narrowing_zv'. Clarify the comments. Update the prototypes of the functions renamed in xdisp.c. * src/lisp.h: Update the prototypes of the functions renamed in editfns.c. Remove the prototype of 'safe_run_hooks_maybe_narrowed', which is used only in keyboard.c. * src/xdisp.c (get_small_narrowing_begv): Renamed from 'get_closer_narrowed_begv'. (get_medium_narrowing_begv): Renamed from 'get_narrowed_begv'. (get_medium_narrowing_zv): Renamed from 'get_narrowed_zv'. (get_large_narrowing_begv): Renamed from 'get_locked_narrowing_begv'. (get_large_narrowing_zv): Renamed from 'get_locked_narrowing_zv'. (SET_WITH_NARROWED_BEGV): Use the new field names. (handle_fontified_prop): Use the new function and new field names. (back_to_previous_line_start): Use the new field name. (back_to_previous_visible_line_start): Use the new field name. (reseat): Use the new function and new field names. (get_visually_first_element): Use the new field name. (move_it_vertically_backward): Use the new function name. (redisplay_internal): Use the new function name. Also add a large comment to explain how Emacs deals with long lines. * src/keyboard.c: (safe_run_hooks_maybe_narrowed): Use the new function names from xdisp.c and editfns.c. Make the function static, and add a prototype. * src/editfns.c: (labeled_restrictions): Renamed from 'narrowing_locks'. (labeled_restrictions_add): Renamed from 'narrowing_locks_add'. (labeled_restrictions_remove): Renamed from 'narrowing_locks_remove'. (labeled_restrictions_get_bound): Renamed from 'narrowing_lock_get_bound'. (labeled_restrictions_peek_label): Renamed from 'narrowing_lock_peek_tag'. (labeled_restrictions_push): Renamed from 'narrowing_lock_push'. (labeled_restrictions_pop): Renamed from 'narrowing_lock_pop'. (unwind_reset_outermost_restriction): Renamed from 'unwind_reset_outermost_narrowing'. (reset_outermost_restrictions): Renamed from 'reset_outermost_narrowings'. (labeled_restrictions_save): Renamed from 'narrowing_locks_save'. (labeled_restrictions_restore): Renamed from 'narrowing_locks_restore'. (unwind_labeled_narrow_to_region): Renamed from 'unwind_narrow_to_region_locked'. (labeled_narrow_to_region): Renamed from 'narrow_to_region_locked'. (Finternal__label_restriction): Renamed from 'Finternal__lock_narrowing'. (Finternal__unlabel_restriction): Renamed from 'Finternal__unlock_narrowing'. (Fwiden): Use the new function names. (Fnarrow_to_region): Use the new function names. (save_restriction_save): Use the new function names. (syms_of_editfns): Use the new function names. <outermost-restriction>: Renamed from 'outermost-narrowing'. * lisp/subr.el (internal--with-restriction): Use the new internal function name. (internal--without-restriction): Use the new internal function name. * src/composite.c (composition_compute_stop_pos): (find_automatic_composition): Use the new function name. * doc/lispref/positions.texi (Narrowing): Add index entry.
* | Ensure that package menu respects 'package-install-upgrade-built-in'Philip Kaludercic2023-05-121-1/+3
| | | | | | | | | | | | * 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.
* | Ensure that EXTRA-DATA are always written when generating autoloadsPhilip Kaludercic2023-05-121-1/+14
| | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Handle edge-case where no autoloads are found. (Bug#63260)
* | Update to Transient v0.4.0Jonas Bernoulli2023-05-111-3/+8
| | | | | | | | Or strictly speaking v0.4.0-1-g428576a4.)
* | Revert "Don't have nntp-report signal an error"Eli Zaretskii2023-05-111-1/+3
| | | | | | | | | | This reverts commit 032969e8c65ba1ccda8466f6c61f20e0c7293ebf. The commit is being reverted because it caused bug#62845.
* | ; * lisp/wid-edit.el (widget-specify-insert): Fix debug spec. (Bug#63437)Eli Zaretskii2023-05-111-1/+1
| |
* | Make c-emacs-features use the proper binding of parse-sexp-lookup-propertiesAlan Mackenzie2023-05-101-79/+72
| | | | | | | | | | | | | | | | | | 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.
* | ; * lisp/obsolete/autoload.el (make-directory-autoloads): Doc fix.Eli Zaretskii2023-05-101-1/+1
| |
* | ; Fix minor documentation issue ion replace.elEli Zaretskii2023-05-101-1/+6
| | | | | | | | | | * lisp/replace.el (query-replace, query-replace-regexp): Doc fix. (Bug#63397)
* | Fido-mode: never shadow 'external' completion styleJoão Távora2023-05-091-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | ; * lisp/leim/quail/persian.el: Fix a typo in last commit.Eli Zaretskii2023-05-091-1/+1
| |
* | Improved transliterations + improved bidi insertion support for FarsiMohsen Banan2023-05-081-49/+75
| | | | | | | | | | * lisp/leim/quail/persian.el ("farsi-transliterate-banan"): Improve and add transliterations. (Bug#63361)
* | Fix outgoing mime type regression (Bug#62815)Andrew G Cohen2023-05-081-10/+3
| | | | | | | | | | | | | | | | | | * 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)
* | define-minor-mode: sanitize mode function messagesNicholas Vollmer2023-05-071-1/+1
| | | | | | | | | | | | * 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)
* | Fix beginning/end-of-defun with tree-sitterEli Zaretskii2023-05-071-0/+8
| | | | | | | | | | | | * lisp/treesit.el (treesit-beginning-of-defun) (treesit-end-of-defun): Push mark, as other beginning/end-of-defun functions do.
* | Fix indent for enums in csharp-modeTheodor Thornhill2023-05-061-0/+9
| | | | | | | | | | | | * 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.
* | ; Expand 'package-vc-install' documentationPhilip Kaludercic2023-05-061-5/+7
| | | | | | | | | | * lisp/emacs-lisp/package-vc.el (package-vc-install): Go into further detail on the handling of the REV argument. (Bug#60418)
* | Teach c-ts-mode about the 'restrict' keywordEli Zaretskii2023-05-061-2/+2
| | | | | | | | | | * lisp/progmodes/c-ts-mode.el (c-ts-mode--keywords): Add "restrict" and "_Atomic" type qualifiers. (Bug#63323)
* | * lisp/x-dnd.el (x-dnd-after-move-frame): Skip dead frames. (Bug#63312)Eli Zaretskii2023-05-061-2/+3
| |
* | Fix doc strings of 'mark-sexp' and 'mark-word'Eli Zaretskii2023-05-062-12/+32
| | | | | | | | | | | | * lisp/emacs-lisp/lisp.el (mark-sexp): * lisp/simple.el (mark-word): Clarify the doc strings in various usage cases. (Bug#62892)
* | (package-upgrade): Don't remove the package from 'package-selected-packages'Dmitry Gutov2023-05-061-1/+1
| | | | | | | | | | | | * 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.
* | Eglot: re-rename eglot-upgrade to eglot-upgrade-eglotJoão Távora2023-05-051-1/+4
| | | | | | | | | | | | | | | | | | | | | | * 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.
* | Fix arguments of xml.c functions as displayed in Help buffersEli Zaretskii2023-05-051-2/+2
| | | | | | | | | | | | * lisp/subr.el (libxml-parse-xml-region) (libxml-parse-html-region): Adjust advertised-calling-convention to the changes in commit cc33c6cf3a. (Bug#63291)
* | Improve VHDL mode highlightingCyril Arnould2023-05-051-1/+8
| | | | | | | | | | | | | | | | * 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
* | Make loaddefs-generate slightly more tolerantRobert Pluim2023-05-041-2/+5
| | | | | | | | | | | | | | | | | | 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)
* | ; Minor doc cleanups in go-ts-mode.elEli Zaretskii2023-05-041-4/+3
| | | | | | | | | | | | * 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.
* | Fix order of rcirc-connect argumentsPhilip Kaludercic2023-05-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | * 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.
* | Fix rcirc messages printing in the wrong placeThuna2023-05-042-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | * 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
* | Prevent unnecessary modifications of 'package-vc-selected-packages'Philip Kaludercic2023-05-041-8/+9
| | | | | | | | | | | | | | | | | | * 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'.
* | Rename eglot-update to eglot-upgradeDmitry Gutov2023-05-041-1/+1
| | | | | | | | | | | | | | | | | | * 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'.
* | go-ts-mode: Use iota query only if supported (Bug#63086)Randy Taylor2023-05-041-1/+9
| | | | | | | | | | | | | | | | | | | | | | 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.
* | (rng-complete-tag): Add the (ignored) argument to the :company-kind functionDmitry Gutov2023-05-031-1/+1
| | | | | | | | | | | | | | * 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.
* | Update to Transient v0.3.7-219-g3ded15bJonas Bernoulli2023-05-031-1/+2
| |
* | Fix inserting selection data into Mozilla programsPo Lu2023-05-031-13/+18
| | | | | | | | | | | | | | | | * 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>.
* | Recognize defstruct slot names in various eieio functionsThuna2023-05-031-0/+1
| | | | | | | | | | | | | | | | * 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
* | Handle point not at EOB in minibuffer-choose-completionSpencer Baugh2023-05-021-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this change, only the minibuffer contents before point are cleared when a completion is chosen, which results in stray text when point is in the middle of the minibuffer. After this change, we heuristically decide either to clear the whole buffer or only part of it, taking into account the location of point. This is a backport for the Emacs 29 release branch of a simpler fix in minibuffer-completion-help. * lisp/minibuffer.el (minibuffer-next-completion): (minibuffer-choose-completion): Recalculate completion-base-affixes with point. (Bug#62700)
* | Update to Org 9.6.5-3-g2993f4Kyle Meyer2023-04-304-22/+28
| |
* | Prevent generating empty autoload filesPhilip Kaludercic2023-04-301-66/+56
| | | | | | | | | | | | * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Remove optimisation that would mistakenly discard old loaddefs in case a file was not modified by EXTRA-DATA is non-nil. (Bug#62734)
* | * lisp/org/org-macs.el (org--inhibit-version-check): Fix docstringStefan Monnier2023-04-301-2/+9
| | | | | | | | | | Also, add an explanation to the docstring for what the version check is about.
* | Fix c-ts-mode--emacs-c-range-queryMichael Albinus2023-04-301-7/+8
| | | | | | | | | | * lisp/progmodes/c-ts-mode.el (c-ts-mode--emacs-c-range-query): Check for (treesit-available-p).
* | ; Doc fix in c-ts-mode.elEli Zaretskii2023-04-301-1/+1
| | | | | | | | | | * lisp/progmodes/c-ts-mode.el (c-ts-mode--fontify-for-each-tail): Doc fix.