1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-03 14:10:47 -08:00
Commit graph

49635 commits

Author SHA1 Message Date
Eli Zaretskii
150e2b979c ; * src/xfns.c (unwind_create_frame): Add missing definition. 2024-06-22 15:14:19 +03:00
Po Lu
e7123edfe7 ; * src/keyboard.c (read_char): Typo in comment. 2024-06-21 15:13:03 +08:00
Po Lu
0ade6348f9 Fix execution of tool-bar commands read within minibuffer-error-handler
* src/keyboard.c (read_char): Arrange that the original event be
recorded when a posn is promoted to a prefix key and an END_TIME
is suppressing additions to this_command_keys.
2024-06-21 15:12:28 +08:00
Stefan Kangas
6c85b03111 Fix misspelled function name in comp.c
* src/comp.c (retrieve_block): Rename from 'retrive_block'.
Update all callers.
2024-06-20 16:01:33 +02:00
Po Lu
199fcbe2d3 Fix NS build
* src/nsfns.m (Fx_create_frame, ns_create_tip_frame): Remove
references to deleted variable.  (bug#71638)
2024-06-20 21:31:25 +08:00
Eli Zaretskii
74af691b90 Fix last change
* src/xdisp.c (handle_line_prefix): Set the 'align_visually_p'
only after pushing the iterator.
(pop_it): Reset the 'align_visually_p' flag.  (Bug#71605)
2024-06-20 13:42:04 +03:00
Eli Zaretskii
775aeabcfb Fix use of ':align-to' in 'wrap-prefix'
* src/dispextern.h (struct it): New flag 'align_visually_p'.
* src/xdisp.c (handle_line_prefix): Set the 'align_visually_p'
flag for 'wrap-prefix'.
(produce_stretch_glyph): If 'align_visually_p' flag is set, count
the :align-to offset from the beginning of the screen line, not
from BOL.  (Bug#71605)

* doc/lispref/display.texi (Truncation, Specified Space): Document
the special handling of ':align-to' in 'wrap-prefix'.
2024-06-20 12:52:06 +03:00
Po Lu
b8affdb7b5 * src/frame.c (gui_set_font): Reference image cache after reassignment. 2024-06-20 17:20:23 +08:00
Po Lu
e6169e9de1 ; * src/frame.c (make_frame): Typo. 2024-06-20 17:03:54 +08:00
Po Lu
cebca072c3 Correctly cache images when frames vary in their font metrics
* src/alloc.c (mark_frame): Mark this frame's image cache, if it
exist.
(mark_terminals): Cease marking T->image_cache.

* src/androidfns.c (unwind_create_frame, Fx_create_frame)
(android_create_tip_frame):

* src/haikufns.c (unwind_create_frame, haiku_create_frame)
(haiku_create_tip_frame):

* src/nsfns.m (unwind_create_frame):

* src/pgtkfns.c (unwind_create_frame, Fx_create_frame)
(x_create_tip_frame):

* src/xfns.c (unwind_create_frame, Fx_create_frame)
(x_create_tip_frame):

* src/w32fns.c (unwind_create_frame, Fx_create_frame)
(w32_create_tip_frame): Remove adjustments of the frame image
cache's reference count rendered redundant by the assignment of
image caches to individual frames rather than terminals.

* src/dispextern.h (struct image_cache) <scaling_col_width>: New
field.

* src/frame.c (gui_set_font): In lieu of clearing F's image
cache unconditionally, establish whether the column width as
considered by compute_image_size has changed, and if so, adjust
or reassign the frame's image cache.
(make_frame): Clear F->image_cache.

* src/frame.h (struct frame) <image_cache>: New field.
(FRAME_IMAGE_CACHE): Return F->image_cache.

* src/image.c (make_image_cache): Clear C->scaling_col_width.
(cache_image): Adjust to new means of assigning image caches to
frames.

* src/termhooks.h (struct terminal) <image_cache>: Delete field.

* src/xfaces.c (init_frame_faces): Do image cache assignment
with all new frames.
2024-06-20 17:03:36 +08:00
Eli Zaretskii
c75aa8e0f6 Avoid compilation warnings
* src/xwidget.c (Fxwidget_perform_lispy_event): Avoid compiler
warnings.  (Bug#71638)
2024-06-19 14:30:17 +03:00
Po Lu
db18613c96 Don't follow symlinks in returning directory attributes of /
* src/androidvfs.c (struct android_vops) <stat>: New argument
for flags.
(android_unix_stat): Implement in terms of fstatat, not stat,
and provide flags to the same.
(android_afs_stat, android_content_stat, android_authority_stat)
(android_saf_root_stat, android_saf_tree_stat)
(android_saf_new_stat, android_fstatat): Adjust to match.
2024-06-19 16:41:59 +08:00
Po Lu
5fceb53856 Avoid races between the tooltip and compositor on X and Android
* java/org/gnu/emacs/EmacsView.java (onLayout): Don't send
exposure events when the window is still to be attached.

* src/androidfns.c (Fx_show_tip):

* src/xfns.c (Fx_show_tip): Block async input around initial
frame update.
2024-06-19 10:57:07 +08:00
Po Lu
6a162be6a8 Correct resolution of non-virtual directory names on Android
* src/androidvfs.c (android_vfs_canonicalize_name): Correct
return value in cases of underflowing the directory stack.
(android_unix_name): Reset vnode operations vector of copied
vnodes to their standard value, and exclude virtual directories
from subdirectories of the root directory's parent directory.
(android_root_name): Adjust to match.
2024-06-18 14:41:26 +08:00
Po Lu
82f0014273 Reinforce bitmap reconfiguration on Android
* java/org/gnu/emacs/EmacsView.java (EmacsView) <unswapped>: New
field in which to record whether the back buffer has received
contents beyond those present at the last buffer swap.
<dimensionsLock>: Delete field.
(onAttachedToWindow, onLayout, handleDirtyBitmap)
(prepareForLayout): Rather, synchronize window dimensions with
the view.
(getCanvas, getBitmap): Do not reconfigure the back buffer
bitmap if such outstanding data exists.
(postSwapBuffers): New function.
(swapBuffers): If such outstanding data exists and the back
bufferis pending reconfiguration, recreate the back buffer and
report exposure.

* src/androidterm.c (handle_one_android_event): Fix indentation.
2024-06-17 17:45:48 +08:00
Stefan Kangas
c0eefebabf ; Fix typos 2024-06-16 22:38:26 +02:00
Robert Pluim
275a558241 Fix clipboard request on macOS for yank-media
'yank-media' makes a request with 'CLIPBOARD and 'TARGETS, which on
other platforms returns the type(s) of the current selection, but on
macOS returned the selection itself.  Make it return the types instead.

This fixes (Bug#71377).

* src/nsselect.m (ns_get_local_selection): Return nil when called with
QCLIPBOARD and QTARGETS, so that 'ns_get_foreign_selection' is called to
return the type(s) of the selection.
2024-06-16 14:23:37 +02:00
Po Lu
a39f6480ea Minor adjustments to battery.el on Android
* src/android.c (android_query_battery):

* java/org/gnu/emacs/EmacsService.java (queryBattery19)
(queryBattery): Reorder items in value for consistency with
Fandroid_query_battery.

* lisp/battery.el (battery-status-function): Select
battery-android only when android-query-battery is present.
(battery-android): Return temperature and correct values of
power source constants.
2024-06-16 15:28:54 +08:00
Eli Zaretskii
988203fe98 Fix electric-pair-mode when characters are bound to non-ASCII keys
* src/cmds.c (Fself_insert_command): Record the argument C in
'last-command-event'.  (Bug#71337)
2024-06-15 11:08:22 +03:00
Po Lu
25452986cb Send proper substitution character to Android IMEs
* src/androidterm.c (android_text_to_string): Substitute
REPLACEMENT CHARACTER for NULL in converting characters not
representable without surrogate pairs to UTF-16.
2024-06-15 10:04:07 +08:00
Eli Zaretskii
47746c1f37 ; * src/insdel.c (insert_from_gap_1): Update commentary. 2024-06-14 21:44:56 +03:00
Eli Zaretskii
0372ce5f60 ; Update comments in a recent commit
* src/process.c (read_and_insert_process_output):
* src/insdel.c (insert_from_gap):
* src/coding.h (struct coding_system): Improve comments (bug#71525).
2024-06-14 21:42:18 +03:00
Dmitry Gutov
a8d5c5fd87 "Insert before markers" in read_and_insert_process_output properly
* src/coding.c (setup_coding_system): Initialize it.
(produce_chars, encode_coding, decode_coding_gap):
Obey it in insert_from_gap calls.
(encode_string_utf_8, decode_string_utf_8): Update the other calls
to insert_from_gap to have one new argument (false).

* src/coding.h: New field insert_before_markers.

* src/decompress.c (Fzlib_decompress_region): Here too.

* src/insdel.c (insert_from_gap):
Accept new argument BEFORE_MARKERS (bug#71525) and pass it through
to adjust_markers_for_insert.

* src/lisp.h: Update prototype.

* src/process.c (read_and_insert_process_output):
Set process_coding->insert_before_markers instead of calling
adjust_markers_for_insert.
2024-06-14 19:50:59 +03:00
Po Lu
a458dc5dc8 Restore file's original name after a failed rename_replace on Windows 9X
* src/w32.c (sys_rename_replace): If the rename operation fails
and an intermediate name was generated and applied to the input
file, restore the original.
2024-06-14 10:45:02 +08:00
Po Lu
4124b98509 Enable compiling Emacs with implicit Make rules suppressed
* lib/Makefile.in (.SUFFIXES):

* lwlib/Makefile.in (.SUFFIXES):

* oldXMenu/Makefile.in (.SUFFIXES):

* src/Makefile.in (.SUFFIXES): Register .c as a default suffix,
for this list is emptied when `-r' is provided to Make.
2024-06-14 10:44:31 +08:00
Po Lu
14f7506c99 ; * src/androidterm.c (android_term_init): Typo. 2024-06-13 20:12:03 +08:00
Eli Zaretskii
72e6b05221 ; * src/w32proc.c (sys_kill): Handle negative PID when sig == 0. 2024-06-13 11:03:52 +03:00
Eli Zaretskii
0007231a78 Fix removal of file locks on MS-Windows 9X
A new Windows-specific function for validating process ID
is introduced that does TRT with possibly negative PID
values returned by 'getpid' on Windows 9X and also with
values larger than INT_MAX, since PID on Windows is
actually an unsigned 32-bit value.
* src/w32proc.c (w32_valid_process_id): New function.
* src/w32common.h (VALID_PROCESS_ID): Define for WINDOWSNT.
* src/filelock.c [WINDOWSNT]: Include w32common.h.  (Bug#71477)
2024-06-13 10:24:21 +03:00
Po Lu
94bcd7964b Correctly define `select' binding on Android
* lisp/term/android-win.el (input-decode-map): Cease binding
select in the initial frame's input-decode-map.

* src/androidterm.c (android_term_init): Binding select in the
freshly created kboard.
(syms_of_androidterm) <Qselect, Qreturn>: New symbols.
2024-06-13 10:46:59 +08:00
Paul Eggert
ac14d56a4d Start of a fix for bug#71477
* src/filelock.c (integer_prefixed): New static function.
(VALID_PROCESS_ID): New macro.
(current_lock_owner): Use them to allow negative process IDs
on some Microsoft platforms.
2024-06-12 10:51:13 -07:00
Po Lu
02e70821b3 Restore functionality on Android 2.2
* java/Makefile.in (install_temp): Do not compress
directory-tree and generate such files in a special format that
stores file sizes.

* lib-src/asset-directory-tool.c (struct directory_tree): New
field st_size.
(need_file_size): New variable.
(main_1, main_2, main): Write file sizes before sibling offsets
if `--api-8' is specified.

* src/android-asset.h (struct android_asset_manager): New field
open.
(struct android_asset): New field name.
(AAssetManager_fromJava): Load AssetManager#open.
(AAssetManager_open): If a directory tree has already been
loaded, search for a matching asset and load its size thence, to
avoid the requirement of an AssetFileDescriptor.
(AAsset_close): Don't assume asset->fd exists.  Release
asset->name.
(AAsset_getLength): Likewise.
(android_asset_create_stream): If asset->name exists, call
AssetManager#open, in order to open compressed files.

* src/androidvfs.c (OLD_ANDROID_ASSETS): Define to 1 on API 8.
(android_extract_long, android_scan_directory_tree): Mark
arguments as const.  Adjust offsets when OLD_ANDROID_ASSETS.
(android_is_directory, android_init_assets, android_afs_readdir):
Likewise.

* src/lread.c (lread_fstat): Define to sys_fstat, not fstat.
2024-06-12 16:44:21 +08:00
Dmitry Gutov
3199b8584e read_and_insert_process_output: Insert before markers
* src/insdel.c (adjust_markers_for_insert): Make non-static.

* src/lisp.h: Add declaration for it.

* src/process.c (read_and_insert_process_output): Use it here.
And also call insert_1_both with BEFORE_MARKERS=t, for
compatibility with internal-default-process-filter (bug#66020).
2024-06-11 21:03:19 +03:00
Eli Zaretskii
4b902f5031 ; * src/emacs.c (Fkill_emacs): Doc fix. 2024-06-11 15:39:51 +03:00
Po Lu
cc30758eed Enable support for color fonts in recent releases of Xft
* etc/PROBLEMS (Some fonts are detected..): Document that Xft
2.3.6 should have resolved this issue.

* src/ftfont.c (ftfont_spec_pattern, ftfont_list): Disable
inhibition of color fonts on Xft 2.3.6 and subsequent versions.
2024-06-11 17:00:00 +08:00
Eli Zaretskii
c0aa201ade ; Revert "Provide for negative PIDs on MS Windows"
This reverts commit 9e96fbfd85.
Please don't install any changes in this area without discussion.
Bug#71477.
2024-06-11 10:38:58 +03:00
Eli Zaretskii
57c492e1c0 ; Revert "* src/filelock.c (pid_strtoimax) [!WINDOWSNT]: Define correctly."
This reverts commit f33806dd66.
Please don't install changes in this area without discussion.
2024-06-11 10:38:11 +03:00
Eli Zaretskii
a95f9e5bc6 ; * src/process.c (read_and_dispose_of_process_output): Fix style. 2024-06-11 10:37:31 +03:00
Dmitry Gutov
bac8a70f45 fast-read-process-output: Make safer
* src/process.c (read_process_output): Move the call to
'read_and_insert_process_output' from here.
(read_and_dispose_of_process_output): To here (bug#66020).  So
that any Lisp code invoked through modification hook from the
former function also benefit from safety guards like
running_asynch_code, saved match data, inhibit_quot, etc.
2024-06-11 05:54:57 +03:00
Dmitry Gutov
d9890bb870 read_process_output_set_last_coding_system: Extract, reuse
* src/process.c (read_process_output_set_last_coding_system):
New function, extracted from read_and_dispose_of_process_output.
(read_and_dispose_of_process_output): Update accordingly.
(read_and_insert_process_output): Use it here instead of just
transferring carryover (bug#66020, also mentioned in bug#71452).
2024-06-11 05:37:45 +03:00
Po Lu
f33806dd66 * src/filelock.c (pid_strtoimax) [!WINDOWSNT]: Define correctly. 2024-06-11 10:15:28 +08:00
Po Lu
9e96fbfd85 Provide for negative PIDs on MS Windows
* src/filelock.c (pid_t, getpid_for_lock, pidintmax, EPRIdMAX):
New macros; define to unsigned long or corresponding values if
WINDOWSNT.
(lock_file_1, current_lock_owner): Replace intmax_t, getpid,
pid_t and the like with the aforementioned macros.  (bug#71477)
2024-06-11 10:05:14 +08:00
Dmitry Gutov
5a576069fc read_and_insert_process_output: Call 'prepare_to_modify_buffer' first
* src/process.c (read_and_insert_process_output): Call
'prepare_to_modify_buffer' before any insertions (bug#71452).
2024-06-11 04:51:37 +03:00
Po Lu
f74f4089fd ; * src/process.c (syms_of_process): Fix ommission. 2024-06-11 09:09:35 +08:00
Eli Zaretskii
7c97d05b56 Avoid rare assertion violations when deleting a frame
* src/dispnew.c (adjust_frame_glyphs): Allow nrows = 0 when
deleting a frame.  (Bug#71475)
2024-06-10 22:13:29 +03:00
Eli Zaretskii
2ac85aa613 ; * src/treesit.c (treesit_check_node): Don't use non-ASCII comments. 2024-06-10 21:24:51 +03:00
Eli Zaretskii
aca5de19b8 Allow to print treesit objects from GDB
* src/.gdbinit (xtsparser, xtsnode, xtsquery): New functions.
(xpr): Call them for treesit objects.
2024-06-10 21:12:12 +03:00
Mattias Engdegård
ce4e5e6a28 * src/print.c (print_vectorlike_unreadable): Fix merge accident. 2024-06-10 18:50:15 +02:00
Po Lu
485b01429f ; * src/process.c (read_process_output): Check in missing hunk. 2024-06-10 21:15:45 +08:00
Po Lu
5df7506a49 Rename new variable in process.c
* src/process.c (syms_of_process): Rename
read_process_output_fast to fast_read_process_output.
2024-06-10 21:13:34 +08:00
Po Lu
bd80717d8e Re-enable TTY glyph production for batch mode frames on Android
* lisp/org/ob-core.el (org-babel-execute-src-block): Revert
previous change.

* src/term.c (tty_append_glyph, produce_glyphs) [HAVE_ANDROID]:
Re-enable suppressed code.
2024-06-10 11:56:24 +08:00