summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix M-x completion-predicate under python-ts-modeemacs-29Basil L. Contovounesios2023-05-171-2/+2
| | | | | | | * 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).
* * Account for `byte-compile-warnings' during native compilation (bug#63302).Andrea Corallo2023-05-171-0/+2
| | | | | * lisp/emacs-lisp/comp.el (comp-final, comp-run-async-workers): Forward `byte-compile-warnings' to child processes.
* Avoid duplicate VC packages in 'package-selected-packages'Philip Kaludercic2023-05-161-3/+5
| | | | | | * lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Check if 'package-selected-packages' already contains the package name. (bug#63338)
* * lisp/tab-bar.el (tab-bar-new-tab-to): Set 'window-side' to nil (bug#62427).Juri Linkov2023-05-151-1/+3
| | | | This is still needed for the case when tab-bar-new-tab-choice is 'window'.
* ; Better warning message when loading tree-sitter failsEli Zaretskii2023-05-151-1/+4
| | | | | | * lisp/treesit.el (treesit-ready-p): Improve diagnostics on MS-Windows when the tree-sitter library cannot be loaded at run time.
* Update to Org 9.6.6Kyle Meyer2023-05-144-55/+56
|
* ; * admin/make-tarball.txt: Minor copyedits.Eli Zaretskii2023-05-141-3/+4
|
* 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
| |
* | ; Regenerate files for emacs-29.0.91Eli Zaretskii2023-05-142-36/+1375
| | | | | | | | | | * ChangeLog.4: * etc/AUTHORS: Regenerate.
* | ; * lisp/ldefs-boot.el: Regenerate for emacs-29.0.91.Eli Zaretskii2023-05-141-24/+51
| |
* | Bump Emacs version for next pretestEli Zaretskii2023-05-144-4/+4
|/ | | | | | | * README: * configure.ac: * nt/README.W32: * msdos/sed2v2.inp: Bump Emacs version to 29.0.91.
* ; Minor fixes in ELisp manualEli Zaretskii2023-05-141-0/+7
| | | | | | * doc/lispref/functions.texi (Declare Form): Improve indexing. (Obsolete Functions): Add cross-reference. `
* ; * 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.
* ; * admin/git-bisect-start: Update failing commitsGregory Heytings2023-05-131-1/+4
|
* Merge branch 'scratch/long-lines-cleanup' into 'emacs-29'Gregory Heytings2023-05-1313-233/+392
|\
| * Add an assertion in, and a commentary for, 'get_nearby_bol_pos'Gregory Heytings2023-05-131-3/+9
| | | | | | | | | | | | * src/xdisp.c: (get_nearby_bol_pos): Document the function, and add an assertion on its return value.
| * Fix the return type of 'labeled_restrictions_get_bound'Gregory Heytings2023-05-131-41/+42
| | | | | | | | | | | | | | | | * 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.
| * Another final fix to last changesscratch/long-lines-cleanupGregory Heytings2023-04-021-1/+1
| | | | | | | | * src/xdisp.c (get_small_narrowing_begv): Refine the value of 'bol_pos'.
| * Three final fixes to last changesGregory Heytings2023-04-011-3/+3
| | | | | | | | | | | | | | | | * src/xdisp.c (get_nearby_bol_pos): Initialize 'bol' to BEGV - 1 instead of 0 (which fixes cursor motion commands in the presence of a narrowing), adapt the return condition accordingly, and do not restart the loop when BEGV has been reached. (get_small_narrowing_begv): Use correct type.
| * Two further fixes to last changesGregory Heytings2023-04-011-2/+3
| | | | | | | | | | | | * src/xdisp.c (get_narrowed_width): Use FRAME_WINDOW_P instead of Fterminal_live_p. Also take WINDOW_LEFT_FRINGE_WIDTH into account.
| * Improve and fix last changesGregory Heytings2023-04-011-12/+21
| | | | | | | | | | | | | | | | | | | | * src/xdisp.c (get_narrowed_width): Use WINDOW_RIGHT_FRINGE_WIDTH, which works both for character-only terminals and for GUI frames without fringes. (get_nearby_bol_pos): Instead of searching for BOL in [pos-500000..pos], gradually extend the region, starting with [pos-500..pos]. This is much faster in buffers with some long lines in the middle of lots of short lines.
| * Fix cursor motion in character-only terminalsGregory Heytings2023-03-291-2/+6
| | | | | | | | | | * src/xdisp.c (get_narrowed_width): Subtract 1 from window_body_width to account for the '\' line wrapping indication.
| * Make get_medium_narrowing_begv/zv staticGregory Heytings2023-03-292-4/+2
| | | | | | | | | | | | | | | | * src/xdisp.c (get_medium_narrowing_begv): (get_medium_narrowing_zv): Make these two functions static, they are only used in xdisp.c. * src/dispextern.h: Remove the prototypes.
| * Improve accuracy of cursor motion commands in long linesGregory Heytings2023-03-291-2/+21
| | | | | | | | | | | | | | * src/xdisp.c (get_nearby_bol_pos): New function. (get_small_narrowing_begv): Use it. This makes cursor motion commands much more accurate in the first 500K characters of each long line.
| * Remove labeled restrictions before calling FwidenGregory Heytings2023-03-298-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/editfns.c (labeled_restrictions_remove_in_current_buffer): New function. * src/lisp.h: Make it externally visible. * src/xdisp.c (display_count_lines_logically): * src/lread.c (readevalloop): * src/indent.c (line_number_display_width): * src/fileio.c (write_region): * src/callproc.c (Fcall_process_region): * src/buffer.c (Ferase_buffer): Use it.
| * Code cleanup for long line optimizationsGregory Heytings2023-03-298-209/+316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Fix mouse highlight with some fonts in Cairo buildsEli Zaretskii2023-05-121-1/+0
| | | | | | | | | | * src/ftcrfont.c (ftcrfont_draw): Don't set the 'background_filled_p' flag of the glyph string. (Bug#63271)
* | ; * etc/NEWS: Fix wording in last change.Eli Zaretskii2023-05-121-2/+2
| |
* | ; Improve and update documentation of built-in package upgradesEli Zaretskii2023-05-122-3/+54
| | | | | | | | | | | | | | * doc/emacs/package.texi (Package Statuses, Package Menu) (Package Installation): * etc/NEWS: Document the options and caveats of upgrading built-in packages.
* | 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-112-5/+10
| | | | | | | | 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 example in ELisp manualEli Zaretskii2023-05-101-1/+1
| | | | | | | | | | * doc/lispref/minibuf.texi (Yes-or-No Queries): Fix example. (Bug#63399)
* | ; Fix wording in Emacs manualEli Zaretskii2023-05-101-3/+3
| | | | | | | | | | * doc/emacs/search.texi (Replacement and Lax Matches): Fix wording. (Bug#63398)
* | ; Fix minor documentation issue ion replace.elEli Zaretskii2023-05-101-1/+6
| | | | | | | | | | * lisp/replace.el (query-replace, query-replace-regexp): Doc fix. (Bug#63397)
* | with-display-message: Workaround for bug#63253Stefan Monnier2023-05-092-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | 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`".
* | ; Don't use literal non-ASCII characters in TexinfoEli Zaretskii2023-05-091-2/+2
| | | | | | | | | | | | * doc/emacs/mule.texi (Input Methods): Don't use non-ASCII characters in Texinfo sources, where Texinfo provides an ASCII command to insert it.
* | 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
| |
* | Avoid crashes in --without-all build trying to scale non-ASCII charEli Zaretskii2023-05-091-0/+9
| | | | | | | | | | * src/fontset.c (face_for_char): Display a non-ASCII character as glyphless if the ASCII face has no fontset. (Bug#63283)
* | Improve instructions for dealing with Emacs crashesEli Zaretskii2023-05-091-6/+28
| | | | | | | | | | * doc/emacs/trouble.texi (Crashing): Show the variant of the 'addr2line' command for MS-Windows.