| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
* src/xdisp.c:
(get_nearby_bol_pos): Document the function, and add an assertion
on its return value.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | |
| | |
| | |
| | | |
* src/xdisp.c (get_small_narrowing_begv): Refine the value of 'bol_pos'.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
* src/xdisp.c (get_narrowed_width): Use FRAME_WINDOW_P instead of
Fterminal_live_p. Also take WINDOW_LEFT_FRINGE_WIDTH into
account.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | |
| | |
| | |
| | |
| | | |
* src/xdisp.c (get_narrowed_width): Subtract 1 from
window_body_width to account for the '\' line wrapping indication.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | | |
* src/ftcrfont.c (ftcrfont_draw): Don't set the
'background_filled_p' flag of the glyph string. (Bug#63271)
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* doc/emacs/package.texi (Package Statuses, Package Menu)
(Package Installation):
* etc/NEWS: Document the options and caveats of upgrading built-in
packages.
|
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Handle
edge-case where no autoloads are found. (Bug#63260)
|
| | |
| | |
| | |
| | | |
Or strictly speaking v0.4.0-1-g428576a4.)
|
| | |
| | |
| | |
| | |
| | | |
This reverts commit 032969e8c65ba1ccda8466f6c61f20e0c7293ebf.
The commit is being reverted because it caused bug#62845.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we can easily detect mutation of constants (quoted lists, strings
and vectors), warn. For example,
(setcdr '(1 . 2) 3)
(nreverse [1 2 3])
(put-text-property 0 3 'face 'highlight "moo")
Such code can result in surprising behaviour and problems that
are difficult to debug.
* lisp/emacs-lisp/bytecomp.el (byte-compile-form, mutating-fns):
Add the warning and a list of functions to warn about.
* etc/NEWS: Announce.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-test--with-suppressed-warnings): Add test cases.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* src/dispnew.c (adjust_frame_glyphs_for_window_redisplay):
Adjust commentary.
* src/pgtkfns.c (pgtk_set_doc_edited): Remove unused function.
* src/pgtkterm.c (pgtk_clear_under_internal_border): Clean up X
related code.
* src/pgtkterm.h: Update prototypes.
* src/window.h: Define WIDNOW_TAB_BAR_P on PGTK. (bug#63472)
|
| | |
| | |
| | |
| | |
| | | |
* src/xterm.c (handle_one_xevent): Always specify opaque region
on no-toolkit builds upon a configure event for any's window.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* test/lisp/files-tests.el
(files-tests-safe-local-variable-directories): Fix this test:
since we are now using 'file-equal-p' the directory used as a safe
one should actually exist. (Bug#61901)
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* doc/lispref/minibuf.texi (Yes-or-No Queries): Describe PROMPT
massage for y-or-n-p and yes-or-no-p.
* lisp/subr.el (y-or-n-p): Adapt docstring.
* src/fns.c (Fyes_or_no_p): Add trailing space to PROMPT if
needed. (Bug#63399)
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/emacs-lisp/files.el (hack-local-variables-filter): Use
'file-equal-p' when checking 'safe-local-variable-directories'.
* doc/lispref/variables.texi (File Local Variables): Remove sentences
in 'safe-local-variable-directories' description about case-sensitivity
and trailing slash behaviors.
* doc/emacs/custom.texi (Safe File Variables): Remove sentence about
'safe-local-variable-directories' trailing slash behavior.
(Bug#61901)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes bug#63322.
* lisp/progmodes/cc-engine.el (c-find-decl-spots): When a
search back over syntactic whitespace hits its limit, set
cfd-match-pos and cfd-continue-pos to cfd-start-pos.
* lisp/progmodes/cc-mode.el (c-fl-decl-start): Remove an
unneeded (and harmful) condition on (point)'s position in the
main loop.
|
| | |
| | |
| | |
| | | |
* lisp/net/soap-client.el: Bump version to 3.2.3.
|
| | |
| | |
| | |
| | |
| | | |
* src/haikufont.c (haikufont_draw): Don't set
`background_filled_p' when filling the background.
|
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/net/soap-client.el (soap-decode-date-time):
Call encode-time directly instead of via ‘apply’.
No need for the two nil args.
|
| | |
| | |
| | |
| | | |
* lisp/net/soap-client.el: Bump version to 3.2.2.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/net/soap-client.el (soap-decode-date-time): Call
encode-time using apply, for GNU ELPA backward compatibility.
Remove some tabs.
(soap-type-is-array?): Reword docstring to accommodate checkdoc.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/files.el (safe-local-variable-directories):
* doc/lispref/variables.texi (File Local Variables):
* doc/emacs/custom.texi (Safe File Variables): Fix wording of
documentation in last change. (Bug#61901)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This variable can be set to automatically load risky dir-local
variables from a list of trusted directories.
* lisp/emacs-lisp/files.el (safe-local-variable-directories,
hack-local-variables-filter, hack-local-variables-confirm): New
variable and associated logic.
* test/lisp/files-tests.el
(files-tests-safe-local-variable-directories): Add tests for same.
* doc/emacs/custom.texi (Safe File Variables): Add documentation for
same.
* doc/lispref/variables.texi (File Local Variables): Add documentation
for same.
* etc/NEWS (Lisp Changes in Emacs 30.1): Add news entry for
same. (Bug#61901)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* lisp/x-dnd.el (mwheel):
* lisp/term/haiku-win.el (mwheel): Require.
* lisp/progmodes/prog-mode.el (treesit-node-at):
* lisp/dynamic-setting.el (reconsider-frame-font): Declare.
(Bug#63415)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* src/lread.c (invalid_escape_syntax_error): Remove.
(read_char_escape): Make certain messages more specific
than just "Invalid escape character syntax" to help finding
and understanding the error.
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
* doc/lispref/minibuf.texi (Yes-or-No Queries): Fix example.
(Bug#63399)
|
| | |
| | |
| | |
| | |
| | | |
* doc/emacs/search.texi (Replacement and Lax Matches): Fix
wording. (Bug#63398)
|
| | |
| | |
| | |
| | |
| | | |
* lisp/replace.el (query-replace, query-replace-regexp): Doc fix.
(Bug#63397)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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`".
|
| | |
| | |
| | |
| | |
| | |
| | | |
* doc/emacs/mule.texi (Input Methods): Don't use non-ASCII
characters in Texinfo sources, where Texinfo provides an ASCII command
to insert it.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
* src/fontset.c (face_for_char): Display a non-ASCII character as
glyphless if the ASCII face has no fontset. (Bug#63283)
|
| | |
| | |
| | |
| | |
| | | |
* doc/emacs/trouble.texi (Crashing): Show the variant of the
'addr2line' command for MS-Windows.
|