1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-09 00:11:49 -07:00
Commit graph

49787 commits

Author SHA1 Message Date
Mattias Engdegård
7753a597fb Reduce type checks in arithcompare
* src/data.c (coerce_marker, not_number_or_marker): New.
(arithcompare): Don't use NUMBERP to check types up-front since we
are going to branch on types anyway.
2024-07-27 14:58:59 +02:00
Mattias Engdegård
e5a9449117 * src/data.c (arithcompare): Simplify fixnum/bignum comparisons.
Noticed by Pip Cet.
2024-07-27 14:58:59 +02:00
Mattias Engdegård
2fd38e5c49 Simplify and speed up numeric comparisons
This makes comparison functions (=, /=, <, <=, >, >=, min, max) quite
a bit faster (10-20 %).  Bytecode ops on fixnums are not affected,
nor is `value<`.

* src/data.c (arithcompare): Simplify the code to reduce the number of
branches.  Remove the comparison code argument; instead, return the
relation encoded as bits, which can be tested cheaply.  All callers
adapted.
* src/lisp.h (enum Arith_Comparison): Remove.
(Cmp_Bit_*, cmp_bits_t): New.
2024-07-27 12:04:09 +02:00
Eli Zaretskii
c3c27a919c Merge from origin/emacs-30
88e1ec22f2 Update to Org 9.7.9
1ae2f00447 Fix edge-case with 'which-key-dont-use-unicode' setter
68a5f1f7d1 NS: prevent makeKeyWindow warnings (bug#69525)
59a895ec49 ; * .gitignore: Add lisp/eshell/esh-groups.el.
5c08cd4e7c ; * doc/emacs/cmdargs.texi (Initial Options): Fix last ch...
309d0a7186 Add PROBLEMS entry for bug#72303
87389f9ff9 ; Improve documentation of 'line-prefix' and 'wrap-prefix'.
268a2d10fc Improve documentation of '--init-directory' command-line ...
c27055a938 ; cperl-mode.el: Fix fontification of flip-flop (Bug#72296)
fcd4e4c895 ; * admin/MAINTAINERS: Add myself for maintaining some ar...
fdc133e97f Fix bug in server.el introduced by 0d7d835902
af527051cd ; * admin/MAINTAINERS: Remove Nicolas Petton.
7170282a59 lisp/minibuffer.el (completion--sifn-requote): Fix bug#72176
68906f184c * admin/notes/spelling: Update note.
9eea6be5ab Don't produce invalid XML with multi-line commenting style
b97786d9f6 ; * etc/NEWS: Entry for 'gnus-summary-limit-to-age' (bug#...
a799661566 Standardize possessive apostrophe usage in manuals, docs,...
67faaead75 Don't refer to obsolete finder group "wp"

# Conflicts:
#	etc/NEWS
2024-07-27 04:27:53 -04:00
Gerd Möllmann
68a5f1f7d1 NS: prevent makeKeyWindow warnings (bug#69525)
* src/nsterm.m (ns_raise_frame): Don't makeKeyWindow if frame has
no_accept_focus set.
2024-07-26 20:59:25 +02:00
Eli Zaretskii
c22b4198b2 Fix display of 'display' strings in RTL paragraphs at window-start
* src/xdisp.c (handle_single_display_spec)
(get_overlay_strings_1, push_prefix_prop): Initialize bidi
paragraph direction if not yet done.  (Bug#72287)
2024-07-25 21:26:08 +03:00
Paul Eggert
42cdfe7f60 Fix process-attributes rss and pmem on GNU/Linux
Problem reported by Rahguzar <https://bugs.gnu.org/72278>.
* src/sysdep.c (system_process_attributes):
[GNU_LINUX || CYGWIN || __ANDROID__]: When computing rss and pmem,
don’t assume pagesize is 4096; it could be greater.
2024-07-24 23:33:43 -07:00
Stefan Kangas
a799661566 Standardize possessive apostrophe usage in manuals, docs, and comments
See the note in admin/notes/documentation.
Ref: https://lists.gnu.org/r/emacs-devel/2012-02/msg00649.html
2024-07-25 03:35:18 +02:00
Andrea Corallo
df25bd12fc Merge from savannah/emacs-30
976416bebe Fix some function type declaration
23549d7175 * src/image.c (gui_put_x_image): Avoid memory leak.
cb633820c1 ; * doc/misc/use-package.texi (Getting Started): Fix word...
2024-07-24 15:49:23 +02:00
Po Lu
23549d7175 * src/image.c (gui_put_x_image): Avoid memory leak. 2024-07-24 20:13:01 +08:00
Po Lu
135ce96f1e Merge from savannah/emacs-30
3a76354e09 Adapt last change to non-NS systems
2024-07-24 12:01:02 +08:00
Po Lu
3a76354e09 Adapt last change to non-NS systems
* src/image.c (xpm_load_image): Also check whether mask_img is
NULL.
2024-07-24 11:59:53 +08:00
Po Lu
e673492f74 Merge from savannah/emacs-30
b5543c54bf Fix NULL pointer dereferences in xpm_load_image
2024-07-24 11:58:29 +08:00
Po Lu
b5543c54bf Fix NULL pointer dereferences in xpm_load_image
* src/image.c (x_destroy_x_image): Correct test condition.
(xpm_load_image): Do not release image data if it is still to be
created.
2024-07-24 11:57:28 +08:00
Po Lu
db40b65825 Merge from savannah/emacs-30
1ee8579eb7 Fix bug#72255
05629d3af0 Delete redundant "a.k.a." in use-package.texi
c7609464f7 Document (use-package 'emacs) declarations
de9f9add13 Improve 'emacs-news-view-mode' menus and bindings
7588e1f8a9 ; * src/xdisp.c (Fformat_mode_line): Doc fix.
2074e94c3b Fix disappearing bar cursor on Hebrew text (bug#72230)
1aaadc8aec Fix DocView with DVI files
c1382257aa ; Fix typo in use-package.texi
caf7426f0c FIx spurious fontification of variable in Java Mode
9b426e15ab Correctly typeset nil and t in texinfo
f050b9c503 Fix Tramp IPv6 handling in tests
46b192c04b Update to Org 9.7.8-5-gfdf0e0
87f41b937b Fix Ftreesit_parser_create
2024-07-24 11:41:58 +08:00
Po Lu
6d22bd4d3a Merge from savannah/emacs-30
c66bda1a19 Improve treesit-node-child-by-field-name docstring
85773ab977 Minor copyedits in tree-sitter starting guide
2dacec1609 Update tag for prebuilt tree-sitter grammars
68615a3866 Fix punctuation and doc style in treesit.c
00adee897a ; Fix punctuation in docs
ab29b28d4b Fix DocView with PostScript files
2024-07-24 11:41:58 +08:00
Po Lu
1ee8579eb7 Fix bug#72255
* src/image.c (struct image_type): Minor grammatical
corrections.
(image_destroy_x_image): [HAVE_NS]: Do not release
Emacs_Pix_Containers, which are identical to Emacs_Pixmaps and
consequently always released with the `struct image'.
(bug#72255)
2024-07-24 11:39:07 +08:00
Eli Zaretskii
7588e1f8a9 ; * src/xdisp.c (Fformat_mode_line): Doc fix. 2024-07-23 14:07:30 +03:00
Gerd Möllmann
2074e94c3b Fix disappearing bar cursor on Hebrew text (bug#72230)
* src/nsterm.m (ns_draw_window_cursor): Compute the correct bar cursor
rectangle for R2L before setting the clipping.
2024-07-23 08:15:09 +02:00
Stefan Kangas
1519c758a5 * src/comp.c (obj_to_reloc): Use eassume. 2024-07-23 04:07:39 +02:00
Stefan Kangas
d995429e7b Use SBYTES instead of strlen in treesit.c
* src/treesit.c (treesit_ensure_query_compiled)
(Ftreesit_node_child_by_field_name, treesit_initialize_query):
Use SBYTES instead of strlen.
2024-07-22 12:21:25 +02:00
Po Lu
da0165a01e Prohibit unbinding of built-in variables
* src/data.c (set_internal): Signal error if a BLV with a
redirect or a forwarded symbol is being unbound.

* test/src/data-tests.el (binding-test-makunbound-built-in): New
test.
2024-07-22 09:56:08 +08:00
Yuan Fu
87f41b937b
Fix Ftreesit_parser_create
* src/treesit.c (Ftreesit_parser_create): Use the buffer given by the
caller rather than the current buffer.
2024-07-21 17:21:58 -07:00
Yuan Fu
ed38fcc017
Fix segfault when deleting tree-sitter query (bug#72238)
* src/treesit.c (treesit_delete_query): Only delete query and cursor
when they are non-NULL.
2024-07-21 17:14:08 -07:00
Yuan Fu
4868a17396
Fix segfault when deleting tree-sitter query (bug#72238)
* src/treesit.c (treesit_delete_query): Only delete query and cursor
when they are non-NULL.
2024-07-21 16:51:59 -07:00
Stefan Kangas
c66bda1a19 Improve treesit-node-child-by-field-name docstring
* src/treesit.c (Ftreesit_node_child_by_field_name): Improve docstring.
2024-07-21 22:21:11 +02:00
Stefan Kangas
68615a3866 Fix punctuation and doc style in treesit.c
* src/treesit.c (Ftreesit_parser_included_ranges)
(Ftreesit_query_capture, treesit_traverse_sibling_helper)
(treesit_traverse_match_predicate): Fix punctiation and documentation
style in comments and docstrings.
2024-07-21 17:47:41 +02:00
Eli Zaretskii
e63fa29b98 ; Fix recent changes in pdumper.c
* src/pdumper.c (dump_treesit_compiled_query, dump_vectorlike):
Minor copyedits.
2024-07-21 07:27:38 +03:00
Paul Eggert
515e5ad0de Fix bool vector length overflow
* src/alloc.c (make_clear_bool_vector): It’s now the caller’s
responsibility to make sure the bool vector length is in range.
Add an eassert to double-check this.  This lets some locals be
ptrdiff_t not EMACS_INT.
(Fmake_bool_vector, Fbool_vector):
Check that bool vector lengths are in range.
* src/lisp.h (BOOL_VECTOR_LENGTH_MAX): New macro.
(bool_vector_words, bool_vector_bytes): Avoid undefined
behavior if size == EMACS_INT_MAX - (BITS_PER_BITS_WORD - 1).
This is mostly theoretical but it’s easy to do it right.
* src/lread.c (read_bool_vector): Use EMACS_INT, not just ptrdiff_t.
Check that length doesn’t exceed BOOL_VECTOR_LENGTH_MAX.
This fixes an unlikely integer overflow where the calculated size
went negative.
2024-07-20 16:16:22 -07:00
Paul Eggert
76497a0142 Change list-length intptr_t to ptrdiff_t
* src/fns.c (list_length, Fsafe_length, Fproper_list_p):
Use ptrdiff_t not intptr_t for accumulator, since result is ptrdiff_t.
This fixes a minor glitch in 2019-01-11T05:35:31!eggert@cs.ucla.edu
where I removed unnecessary overflow checks but forgot to change types.
This change should alter generated code only on oddball platforms where
ptrdiff_t is narrower than intptr_t, e.g., CheriBSD.
2024-07-20 16:16:22 -07:00
Yuan Fu
1abf3bdd7e
Support dumping tree-sitter query (bug#69952)
Previous commit allows Emacs to dump tree-sitter queries by simply
dumping the query string and language symbol, and left the query object
and cursor object as NULL.  This commit makes sure Emacs doesn't crash
when loading the dumped query, by make sure Emacs can handle the case
where the cursor is NULL.

* src/treesit.c (make_treesit_query): Initialize query with null cursor.
(treesit_ensure_query_cursor): New function.
(treesit_initialize_query): Ensure cursor is non-null.
* src/treesit.h (Lisp_TS_Query): Update documentation.
2024-07-20 14:00:47 -07:00
Sergey Vinokurov
1eca867e1b
Support compiled queries in pdump by dumping source (bug#69952)
* src/pdumper.c (dump_vectorlike): Dump compiled queries.
* src/pdumper.c (dump_treesit_compiled_query): New function.
2024-07-20 14:00:36 -07:00
Paul Eggert
101ec14301 SAFE_ALLOCA fixes
* src/comp.c (declare_imported_func, emit_simple_limple_call)
(declare_lex_function, compile_function):
* src/emacs-module.c (funcall_module):
* src/fns.c (Fstring_distance):
* src/font.c (font_sort_entities):
* src/haikumenu.c (digest_menu_items, haiku_menu_show):
* src/pgtkselect.c (Fpgtk_register_dnd_targets):
* src/xfns.c (Fx_begin_drag):
* src/xmenu.c (x_menu_show):
* src/xterm.c (x_dnd_compute_toplevels, handle_one_xevent)
(x_term_init):
Prefer SAFE_NALLOCA to doing size multiplication by hand, to catch
unlikely integer overflows.
* src/comp.c (emit_simple_limple_call): Fix bug where
SAFE_FREE was called too early, leading to unlikely
use of freed storage.
* src/xterm.c (handle_one_xevent): Remove side effects
from SAFE_ALLOCA args, as the args are evaluated twice.
2024-07-20 08:55:08 -07:00
Po Lu
301b97eb24 ; Fix typo in xfont.c
* src/xfont.c (xfont_list): Subtract 9 from name, not 10 + 1.
2024-07-20 21:48:08 +08:00
Stefan Kangas
2f875ead59 Avoid magic values in xfont_list
* src/xfont.c (xfont_list): Avoid magic values.
2024-07-20 15:12:50 +02:00
Eli Zaretskii
b21e749a7c Merge from origin/emacs-30
816c53c2d9 Fix bibtex validation for non-file buffers
ab7c40ea52 Fix Imenu in 'emacs-news-view-mode'
ea30ffc52b ; * doc/misc/gnus.texi (Agent Caveats): Fix doc
07b1a36f78 ; * src/sqlite.c (Fsqlite_load_extension): Add "vec0" to ...
96f1db89ee Avoid errors in 'icomplete-vertical-mode'
55110d1fda Document GNU ELPA copyright in tips.texi
079e5a0315 Improve register-use-preview docstring
e4760109ac Miscellaneous checkdoc fixes
2024-07-20 06:32:17 -04:00
Eli Zaretskii
07b1a36f78 ; * src/sqlite.c (Fsqlite_load_extension): Add "vec0" to allowed extensions. 2024-07-20 10:27:52 +03:00
Paul Eggert
79b9f05d3a Avoid accessing uninitialized bool_vector words
Although loading uninitialized works from memory and then ignoring
the result works fine on conventional architectures, it
technically has undefined behavior in C, so redo bool_vector
allocation so that the code never does that.  This can improve
performance when allocating large vectors of nil, since calloc can
clear the memory lazily.
* src/alloc.c (make_clear_bool_vector): New function,
a generalization of make_uninit_bool_vector.
(make_uninit_bool_vector): Use it.
(Fmake_bool_vector): If !INIT, rely on make_clear_bool_vector.
* src/alloc.c (Fbool_vector):
* src/fns.c (Freverse): Don’t access uninitialized bool_vector words.
2024-07-20 00:19:33 -07:00
Po Lu
358dbbb723 Fix compilation on builds with native rectangle structures
* src/androidgui.h (CONVERT_TO_NATIVE_RECT)
(CONVERT_FROM_EMACS_RECT): Delete redundant macro definitions.

* src/xdisp.c (Fremember_mouse_glyph) [CONVERT_TO_EMACS_RECT]:
Expand CONVERT_TO_EMACS_RECT to convert native rectangles into
a readable format if required.  Reported by Stefan Kangas
<stefankangas@gmail.com>.
2024-07-20 12:39:33 +08:00
Po Lu
892abde34e Respect mouse-fine-graned-tracking in touch screen simple translation
* lisp/touch-screen.el (touch-screen-current-tool): Expand doc
string.
(touch-screen-handle-point-update): Record extents of glyph
beneath the mouse as computed by `remember_mouse_glyph' if
necessary, and defer generation of mouse-movement events till
the mouse exit it.

* src/xdisp.c (Fremember_mouse_glyph): New function.
(syms_of_xdisp): Define new subr.
2024-07-20 11:28:47 +08:00
Stefan Monnier
153732e638 Merge from origin/emacs-30
a478423d19 * lisp/progmodes/peg.el (peg-syntax-classes): Typo (bug#7...
951fb93956 * lisp/transient.el (static-if): Remove duplicated defini...
0218fb2143 Adapt file-remote-p doc
34c1094e60 ; Fix typo in etc/ORG-NEWS (Bug#72186)
5916b172bd * etc/TODO: Delete item about merging Magit.
a6cab228d4 ; Fix typos
41dc28244f * doc/man/emacs.1.in: Add "No warranty" notice.
b2ac343586 ; * doc/man/emacs.1.in: Improve wording.
110b3d08d7 Improve emacs man page description of --user flag
4911f08912 Checkdoc fixes in allout-widgets.el
109b592d77 Checkdoc fixes in subr.el
4643672078 Checkdoc fixes in touch-screen.el
9889774c62 Checkdoc fixes in treesit.el

# Conflicts:
#	etc/NEWS
2024-07-19 14:31:53 -04:00
Stefan Kangas
76874df05f Fix minor code style issue in pgtkfns.c
* src/pgtkfns.c (pgtk_get_defaults_value)
(pgtk_set_defaults_value): Fix code style.
2024-07-18 14:59:41 +02:00
Stefan Kangas
87facc9e3d Avoid overflow in pgtk_is_numeric_char
* src/pgtkfns.c (PATH_MAX_LEN): New macro.
(parse_resource_key): Avoid overflow if a key is RESOURCE_KEY_MAX_LEN
long by making the array larger.
2024-07-18 14:48:56 +02:00
Stefan Kangas
d00a10333f Use strnlen to avoid unnecessary work in pgtkfns.c
* src/pgtkfns.c (pgtk_get_defaults_value, pgtk_set_defaults_value):
Factor out new function...
(pgtk_check_resource_key_length): ...to here.  Avoid unnecessary work by
using strnlen.
2024-07-18 14:48:27 +02:00
Eli Zaretskii
a90a1ed527 Minor cleanup of code in insdel.c
* src/insdel.c (del_range_2): Update *_BYTE variables _after_
updating the corresponding character values.  This follows what we
do everywhere else, and allows to put a watchpoint on, say, Z_BYTE
to check consistency between the character and byte counts.  See
bug#72165 for one situation where it is useful.
2024-07-18 12:59:28 +03:00
Stefan Kangas
a6cab228d4 ; Fix typos 2024-07-18 11:46:50 +02:00
Stefan Kangas
c9d28a05d9 Avoid overflow in pgtk_is_numeric_char
* src/pgtkfns.c (parse_resource_key): Avoid overflow by making array
larger, if a key is RESOURCE_KEY_MAX_LEN long.  Do not merge to master,
since it's fixed in a different way there.
2024-07-18 09:42:07 +02:00
Po Lu
d31b202377 Merge from savannah/emacs-30
4c35382e98 ; * src/emacs.c (syms_of_emacs) <Vsystem_type>: Fix doc s...
34882d5243 Port better to Android 3.0
765cfaed77 ; * doc/emacs/anti.texi (Antinews): Fix typos (bug#72167).
7093504da2 ; Fix typos (bug#72167)
8c7c4f4baa New Tramp tests
85d2d7982d Update Tramp manual
504bdd560a ; Fix last change
3ccebbe17b Fix 'toggle-window-dedicated' documentation
719d5753ca ; * doc/lispref/help.texi (Keys in Documentation): Add cr...
e3bba63ecb Checkdoc fixes in transient.el
2024-07-18 13:36:46 +08:00
Po Lu
4c35382e98 ; * src/emacs.c (syms_of_emacs) <Vsystem_type>: Fix doc string indentation. 2024-07-18 13:35:47 +08:00
Paul Eggert
a826296cff Quote BIN_DESTDIR better
* Makefile.in (BIN_DESTDIR, install-eln, uninstall):
* src/Makefile.in ($(pdmp)):
Be more consistent about quoting BIN_DESTDIR and ELN_DESTDIR,
avoiding double-quoting ''like this'' which does not work as
expected.
2024-07-16 15:37:22 -07:00