Commit graph

49526 commits

Author SHA1 Message Date
Andrea Corallo
129c6778e6 * src/Makefile.in (ELN_DESTDIR, BIN_DESTDIR): Give a default (bug#70842). 2024-05-25 17:20:47 +02:00
Eli Zaretskii
ed7e576975 Merge from origin/emacs-29
4f0121f8db Avoid assertion violations in displaying under 'outline-m...
1bf6583662 Improve documentation of 'no-special-glyphs' frame parameter
3647645e94 Fix Python font lock of chained assignment statement
3291dea441 Fix example in Calc manual
350ae75f5c Avoid crashes on MS-Windows due to invalid UNC file names
ccf8dba44a ; * lisp/face-remap.el (text-scale-adjust): Doc fix.
5ab144c77c ; Improve documentation of backing up files
2024-05-25 08:00:48 -04:00
Eli Zaretskii
4f0121f8db Avoid assertion violations in displaying under 'outline-minor-mode'
* src/xdisp.c (init_from_display_pos): Initialize BYTEPOS
correctly, since 'init_iterator' no longer computes it from
CHARPOS as needed.  This fixes a change made on Mar 13, 2013.
(Bug#71194)
2024-05-25 14:23:43 +03:00
Andrea Corallo
e650a04dc4 * src/comp.c (check_comp_unit_relocs): Remove unneccesary double access. 2024-05-24 08:38:44 +02:00
Po Lu
64cced2c37 Restore specbound keyboard-locals in the correct KBOARD
* doc/lispref/variables.texi (Intro to Buffer-Local): Fix typo
in documentation.

* src/data.c (KBOARD_OBJFWDP): Move to lisp.h.
(kboard_for_bindings): New variable.
(do_symval_forwarding, store_symval_forwarding): Call
kboard_for_bindings rather than retrieving this value directly.
(set_default_internal): New argument WHERE; if valcontents be a
Lisp_Kboard_Objfwd and WHERE be specified, save the binding
there.  All callers changed.

* src/eval.c (specpdl_where): Adjust for changes in structure
layout.
(specpdl_kboard): New function.
(do_specbind): Clear let->where.kbd in ordinary SPECPDL_LETs,
and set it to the kboard where the binding will be installed if
binding keyboard forwards.
(specbind, do_one_unbind, specpdl_unrewind): Provide
specpdl_kboard in invocation of set_default_internal.

* src/keyboard.c (delete_kboard): Clean thread specpdls of
references to kboards.

* src/keyboard.h (KBOARD_OBJFWDP): Move from data.c.

* src/lisp.h (union specbinding) <let.where>: Convert into
union of KBOARD and Lisp_Object.

* src/thread.c (all_threads): Export.

* src/thread.h: Adjust correspondingly.
2024-05-23 15:19:46 +08:00
Po Lu
ad0b9b9ab5 ; * src/unexelf.c (unexec): Fix compiler warning. 2024-05-23 13:54:48 +08:00
Eli Zaretskii
350ae75f5c Avoid crashes on MS-Windows due to invalid UNC file names
* src/w32.c (parse_root): Avoid crashes due to invalid (too short)
UNC names, such as "\\".  (Bug#70914)

* test/src/fileio-tests.el (fileio-tests-invalid-UNC): New test.
2024-05-22 14:10:53 +03:00
Po Lu
9db24de481 Adapt last change to Android
* src/sfntfont.c (sfnt_parse_style): Replace unrepresentable
characters in DESC->adstyle with ` '.
2024-05-20 21:13:44 +08:00
Po Lu
5957e57080 Circumvent bug#70989
* src/ftfont.c (get_adstyle_property): Substitute a space for
unrepresentable adstyle characters.  (bug#70989)
2024-05-20 20:59:32 +08:00
Po Lu
a1b24ebc83 ; Stylistic adjustments to sfnt.c
* src/sfnt.c (sfnt_map_table, sfnt_read_table): Adapt to coding
style of another project using this module.
2024-05-20 09:10:57 +08:00
Paul Eggert
98b83bdc9f Tweak STORE_NUMBER arg type
* src/regex-emacs.c (STORE_NUMBER): Make the arg int, not int16_t.
There’s no need for the caller to convert to int16_t, and using
int makes the machine code a bit smaller (and presumably a bit
faster) on x86-64 with GCC 14.
2024-05-19 08:58:15 -07:00
Paul Eggert
9bcd644408 Port knuth_hash to odd platforms
* src/lisp.h (hash_hash_t, knuth_hash): Use unsigned int and
unsigned long long int rather than uint32_t and uint64_t, as POSIX
does not guarantee the presence of uint64_t, and uint32_t and
uint64_t both in theory have problems with undefined behavior on
integer overflow.  This doesn’t affect behavior (or even machine
code) on typical platforms.
2024-05-19 08:58:14 -07:00
Paul Eggert
370a386633 Pacify -Wanalyzer-null-dereference in sfnt.c
* src/sfnt.c (sfnt_map_table, sfnt_read_table)
(sfnt_read_cvar_table): Pacify GCC -Wanalyzer-null-dereference.
The change to sfnt_read_cvar_table fixes what appears to be
an actual null-dereference bug.
2024-05-19 08:58:14 -07:00
Po Lu
cf80d9831c Fix Android 2.2 build
* src/android.h: Include sys/select.h.
2024-05-19 09:38:50 +08:00
Po Lu
3c2c6ab733 Fix Android build
* src/androidfns.c: Include stdlib.h.
2024-05-19 09:16:59 +08:00
Paul Eggert
21ed391440 Simplify 32-bit Android bit fiddling
* src/sfnt.c: Include stdbit.h.
(sfnt_count_leading_zero_bits) [!INT64_MAX]: Remove this function,
which was confusingly named as it actually returned 31 minus the
number of leading zero bits.
(sfnt_multiply_divide_2) [!INT64_MAX]: Use stdc_leading_zeros instead.
2024-05-18 10:23:51 -07:00
Paul Eggert
88b0bb4db9 Prefer stdbit.h to count-one-bits.h etc
C23's <stdbit.h> in the long run should be better supported than
Gnulib's count-one-bits.h and similar headers, so switch to the
C23 primitives, with a Gnulib fallback for platforms lacking C23.
* admin/merge-gnulib (GNULIB_MODULES): Remove count-leading-zeros,
count-one-bits, count-trailing-zeros.  Add stdc_bit_width,
stdc_count_ones, stdc_trailing_zeros.
* lib/count-leading-zeros.c, lib/count-leading-zeros.h:
* lib/count-one-bits.c, lib/count-one-bits.h:
* lib/count-trailing-zeros.c, lib/count-trailing-zeros.h: Remove.
* lib/stdbit.c, lib/stdbit.in.h, lib/stdc_bit_width.c:
* lib/stdc_count_ones.c, lib/stdc_leading_zeros.c:
* lib/stdc_trailing_zeros.c, m4/stdbit_h.m4:
New files, copied from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* src/data.c: Do not include count-one-bits.h, count-trailing-zeros.h.
Instead, rely on lisp.h including stdbit.h.
(Flogcount, Fbool_vector_count_population)
(Fbool_vector_count_consecutive): Use stdbit.h macros instead of
count-one-bits.h and count-trailing-zeros.h macros.
(shift_right_ull, count_one_bits_word, pre_value)
(count_trailing_zero_bits): Remove; no longer needed.
* src/lisp.h: Include stdbit.h instead of count-leading-zeros.h.
(elogb): Use stdbit.h macro instead of count-leading-zeros.h macro.
2024-05-18 10:23:51 -07:00
Eshel Yaron
3b890bf2bd
New functions '(set-)window-cursor-type'
* src/window.h (struct window): Add 'cursor_type' slot.
(wset_cursor_type): New inline function.
* src/xdisp.c (get_window_cursor_type): Consult 'cursor_type'.
* src/window.c (make_window): Initialize 'cursor_type' to t.
(Fset_window_cursor_type, Fwindow_cursor_type): New functions.
(syms_of_window): List their symbols.
* doc/lispref/windows.texi (Window Point): Document them.
* doc/lispref/frames.texi (Cursor Parameters): Mention
new 'set-window-cursor-type'.
* etc/NEWS: Announce new functions.  (Bug#70622)
2024-05-18 15:42:19 +02:00
Po Lu
8dc00dc222 Housekeeping around androidselect.c
* java/org/gnu/emacs/EmacsClipboard.java (setClipboard)
(getClipboard):

* java/org/gnu/emacs/EmacsSdk11Clipboard.java (setClipboard)
(getClipboard):

* java/org/gnu/emacs/EmacsSdk8Clipboard.java (setClipboard)
(getClipboard): Save and return Strings rather than byte arrays.

* src/androidselect.c (android_init_emacs_clipboard)
(Fandroid_set_clipboard, Fandroid_get_clipboard): Adjust to
match.
2024-05-18 20:45:35 +08:00
Eli Zaretskii
5ec4c1a7d3 Merge from origin/emacs-29
a4828155d8 ; * doc/lispintro/emacs-lisp-intro.texi (nthcdr): Whitesp...
df1a9e42ba Document :box attribute caveats when used on display strings
ca17bc8dd0 Improve documentation of 'movemail'
d47aa33bcd Replace incorrect link in Rmail chapter of Emacs manual
35138b90dd ; * doc/lispref/parsing.texi (Parsing Program Source): Im...
3dd09516c9 ; Improve documentation of 'set-fontset-font'
042b58b5ff ; * doc/emacs/search.texi (Word Search): Add index entry.
60b1768dc5 ; * src/window.c (Fwindow_scroll_bars): Doc fix.
2024-05-18 07:56:54 -04:00
Andrea Corallo
19c983dded * Work around GCC bug affecting Garbage Collection (bug#65727).
* src/lisp.h (flush_stack_call_func): Prevent GCC sibling call
optimization to run with an asm inline.
2024-05-18 09:03:53 +02:00
Po Lu
1f08984a67 Port to certain Android environments with no GUI
* configure.ac (USER_FULL_NAME): Define to
android_user_full_name only when a GUI system is being built.
Otherwise, set to pw->pw_gecos or NULL consistently with the
presence of pw->pw_gecos.

* src/editfns.c (Fuser_full_name): Adjust to match.  Accept NULL
values from USER_FULL_NAME.
2024-05-17 19:21:29 +08:00
Eli Zaretskii
3dd09516c9 ; Improve documentation of 'set-fontset-font'
* doc/lispref/display.texi (Fontsets):
* src/fontset.c (Fset_fontset_font): Doc fix (bug#70993).
2024-05-17 10:18:35 +03:00
Eli Zaretskii
6ca3a60db3 ; Avoid compiler warning in w32term.c
* src/w32term.c (w32_draw_glyphless_glyph_string_foreground):
Avoid GCC 14 warning about storing address of local variable.
2024-05-17 09:43:20 +03:00
Eli Zaretskii
4a973ce7e2 Fix some compilation warnings
Reported by Jacob Faibussowitsch <jacob.fai@gmail.com>

* lisp/net/eww.el (imagep): Declare.

* src/xdisp.c (note_fringe_highlight): Now compiled only if
HAVE_WINDOW_SYSTEM.
2024-05-14 20:42:11 +03:00
Robert Pluim
161808ae94 ; * src/process.c (network_lookup_address_info_1): Quote function 2024-05-14 17:18:32 +02:00
Robert Pluim
45ebb66ccf Document 'use-default-font-for-symbols' more
"why does my set-fontset-font call not work for symbols" is a common
question, and it's because 'use-default-font-for-symbols' is not
discoverable enough.

* doc/emacs/mule.texi (Modifying Fontsets): Mention it here.
* doc/lispref/display.texi (Fontsets): And here.
* src/fontset.c (Fset_fontset_font): And most importantly here.
2024-05-14 17:18:32 +02:00
Michael Albinus
7ddba8e71e ; Fix whitespace 2024-05-14 10:18:04 +02:00
Po Lu
fff245c529 Fix failure of `restart-emacs' to restart Emacs on Android
* src/emacs.c (Fkill_emacs) [HAVE_ANDROID && !ANDROID_STUBIFY]:
Arrange to terminate Emacs upon receipt of a bus error.
2024-05-14 10:16:31 +08:00
Andrea Corallo
13ddfc2011 Introduce 'compilation-safety' variable
* lisp/emacs-lisp/bytecomp.el (compilation-safety): New customize.
* src/comp.c (comp_t): Add func_safety.
(emit_call_with_type_hint, emit_call2_with_type_hint): Make use of.
(compile_function): Set 'comp.func_safety'.
2024-05-13 23:01:08 +02:00
Po Lu
9443f8145e Communicate frame titles to the window manager on Android
* java/org/gnu/emacs/EmacsActivity.java (detachWindow)
(attachWindow): Call updateWmName.
(updateWmName): New function; transfer wm name from the window
attached to the task's description.

* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
<wmName>: New field.
(setWmName): New function.

* src/android.c (android_init_emacs_window): Link to new
function.
(android_set_wm_name): New function.

* src/android.h (struct android_emacs_service): Delete unused
entries.

* src/androidfns.c (android_set_name_internal, android_set_name)
(android_implicitly_set_name, android_explicitly_set_name)
(android_set_title): Port from X.

* src/androidterm.c (android_term_init): Compute default frame
title.

* src/androidterm.h (struct android_display_info) <x_id_name>:
New field.
2024-05-13 14:42:35 +08:00
Eli Zaretskii
60b1768dc5 ; * src/window.c (Fwindow_scroll_bars): Doc fix. 2024-05-13 08:00:38 +03:00
Po Lu
ad588f8131 ; * src/epaths.in: Declare and use android_game_path. 2024-05-13 08:26:04 +08:00
Po Lu
b86359d4ab Complete pacification of build warnings on Android
* build-aux/makecounter.sh: Introduce extern declaration of
emacs_shortlisp_counter.

* src/android.c (android_class_path): Declare static.

* src/androidfont.c (font_driver_class, font_spec_class)
(integer_class, font_metrics_class, font_object_class): Declare
static.

* src/androidterm.c (android_frame_parm_handlers): Move
declaration...

* src/androidterm.h (android_frame_parm_handlers): ... here.
2024-05-13 08:25:39 +08:00
Po Lu
6e8bee27a5 Fix offset of reported conversion regions
* src/androidterm.c (request_class, text_class): Pacify new
warning.
(android_update_selection): Don't redundantly subtract 1 from
compose region start.
2024-05-12 21:43:58 +08:00
Mattias Engdegård
9365feadcc Silence some macOS build warnings
* src/image.c (native_image_type): Declare static.
* src/keyboard.c (lispy_function_keys): Declare static on NS.
* src/nsmenu.m (context_menu_value):
* src/nsterm.m (ns_frame_parm_handlers): Move extern declarations...
* src/nsterm.h: ...here.
* test/src/emacs-module-resources/mod-test.c: Add extern declaration.
2024-05-12 15:04:47 +02:00
Po Lu
86d196c71d Properly deinitialize directory cursors on closedir
* src/androidvfs.c (android_saf_tree_closedir): Call
cursor.close, for deleting the local reference to enable its
garbage collection is not sufficient to release all related
resources.
2024-05-12 20:24:19 +08:00
Eli Zaretskii
5b9995052d ; Fix a recent change in fns.c
* src/fns.c (value_cmp): Use 'subprocesses', not 'MSDOS', as
conditional for process-related functionalities.
2024-05-12 09:51:51 +03:00
Po Lu
67b1da215c Pacify warnings in gmalloc.c
* src/gmalloc.c (__malloc_initialize_hook): Also declare in
advance on Glibc 2.24 and later.
(__after_morecore_hook, __morecore): Likewise on Glibc 2.34 and
later.
2024-05-12 13:27:43 +08:00
Po Lu
ed03b7ab9f Fix the DJGPP build
* src/fns.c (value_cmp) [MSDOS]: Consider processes unordered
on DOS.
2024-05-12 10:38:26 +08:00
Po Lu
41596bd711 * src/keyboard.c (lispy_function_keys): Define as static on Android. 2024-05-12 10:18:02 +08:00
Paul Eggert
99a5c75f3b Pacify gcc -Wmissing-variable-declarations
This is a new warning diagnostic in GCC 14.
* lib-src/etags.c (mercury_heuristics_ratio):
* src/pgtkselect.c, src/xselect.c (selection_request_stack):
* src/xselect.c (outstanding_transfers):
* src/xterm.c (pending_selection_requests)
(x_dnd_waiting_for_motif_finish_display):
Now static.
* lib-src/make-docfile.c (close_emacs_globals):
Arrange for lispsym to be declared with extern first,
when compiling lread.c.
* src/alloc.c (gdb_make_enums_visible) [__GNUC__]:
* src/emacs.c (RCS_Id):
* src/keyboard.c (stop_character):
* src/print.c (print_output_debug_flag):
Now declared with extern first.
* src/lisp.h (DEFINE_GDB_SYMBOL_BEGIN) [MAIN_PROGRAM]:
Arrange for ID to be declared extern first.
* src/lisp.h (garbage_collection_inhibited):
* src/xterm.h (x_frame_parm_handlers):
Declare here, so that its interface is properly checked.  Other decls
removed.
2024-05-11 18:46:27 -07:00
Po Lu
b990c37b9a ; More coding style fixes
* src/sort.c (reverse_sortslice, tim_sort): Correct not-so
egregious misformattings.
2024-05-11 21:35:42 +08:00
Po Lu
f43f7d7a43 ; Fix coding style in timsort.c
* src/sort.c (reverse_slice, sortslice): Fix egregious coding
style inconsistencies.
2024-05-11 21:34:30 +08:00
Po Lu
3ff83246c8 Delete unused functions
* java/org/gnu/emacs/EmacsNative.java (dup, close):

* src/android.c (dup, close): Delete functions no longer
referenced.
2024-05-11 14:34:32 +08:00
Po Lu
0f67ddd8d9 Implement dots and dashes on MS-Windows
* src/haikuterm.c (haiku_draw_dash): Correct whitespace error.

* src/w32term.c (w32_draw_dash, w32_fill_underline)
(w32_draw_glyph_string): Port display of dash and dot underline
styles from X.
2024-05-10 16:45:33 +08:00
Po Lu
ea2b251ab2 Remove redundant encoding of strings in androidvfs.c
* java/org/gnu/emacs/EmacsService.java (getDocumentTrees):
Accept PROVIDER as a String.

* src/android.c (android_init_emacs_service):

* src/androidvfs.c (android_saf_root_opendir): Adjust to match.
2024-05-10 11:42:37 +08:00
Po Lu
c900c707e8 Fix earlier change to content URI resolution on Android
* java/org/gnu/emacs/EmacsService.java (openContentUri): Return
-1 if fd be NULL.

* src/androidvfs.c (android_authority_open): Detect
SecurityException and suchlike.
(android_vfs_init): Initialize exception classes on Android 4.4.
2024-05-10 09:05:54 +08:00
Paul Eggert
fd333fd214 Improve static checking when using upcoming GCC 13.3
* src/lisp.h: In GCC 13.3 and later, do not ignore
-Wanalyzer-allocation-size.
* src/marker.c: In GCC 13.3 and later, do not ignore
-Wanalyzer-deref-before-check.
2024-05-09 12:24:53 -07:00
Po Lu
58a7b99823 Intern additional symbols ahead-of-time
* src/gnutls.c (Fgnutls_available_p, syms_of_gnutls):

* src/minibuf.c (Fread_buffer, syms_of_minibuf): Define and
intern symbols overlooked in the previous change.
2024-05-09 15:07:22 +08:00