patches: regenerate for combined application (Zoom + VoiceOver)

VoiceOver patches 0001-0008 now apply cleanly on top of Zoom patch
0000.  The full set (git am patches/000*.patch) works without
conflicts.  Patch 0005 (integration) merges Zoom fallback and
VoiceOver postAccessibilityUpdates in ns_update_end.
This commit is contained in:
2026-03-01 03:02:46 +01:00
parent 132e32795f
commit 74fcee0820
9 changed files with 96 additions and 100 deletions

View File

@@ -1,7 +1,7 @@
From 14ee30459ef494e4c6f0c766cf8d24007e75659a Mon Sep 17 00:00:00 2001
From 41ddfb0403ea43279fcadc6b1cd8a493629464bc Mon Sep 17 00:00:00 2001
From: Martin Sukany <martin@sukany.cz>
Date: Sat, 28 Feb 2026 16:01:29 +0100
Subject: [PATCH 8/8] ns: announce child frame completion candidates for
Subject: [PATCH 9/9] ns: announce child frame completion candidates for
VoiceOver
Completion frameworks such as Corfu, Company-box, and similar
@@ -71,10 +71,10 @@ index 4825cf9..97777e2 100644
To disable the accessibility interface entirely (for instance, to
eliminate overhead on systems where assistive technology is not in
diff --git a/etc/NEWS b/etc/NEWS
index e76ee93..c3e0b40 100644
index f48d05b..ec4b95e 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -4393,8 +4393,8 @@ send user data to Apple's speech recognition servers.
@@ -4401,8 +4401,8 @@ send user data to Apple's speech recognition servers.
** VoiceOver accessibility support on macOS.
Emacs now exposes buffer content, cursor position, and interactive
elements to the macOS accessibility subsystem (VoiceOver). This
@@ -86,7 +86,7 @@ index e76ee93..c3e0b40 100644
for the *Completions* buffer. The implementation uses a virtual
accessibility tree with per-window elements, hybrid SelectedTextChanged
diff --git a/src/nsterm.h b/src/nsterm.h
index 7a8c5a0..9ac65ac 100644
index 2daa885..f32d4b2 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -596,6 +596,10 @@ typedef NS_ENUM (NSInteger, EmacsAXSpanType)
@@ -100,7 +100,7 @@ index 7a8c5a0..9ac65ac 100644
#endif
BOOL font_panel_active;
NSFont *font_panel_result;
@@ -659,6 +663,7 @@ typedef NS_ENUM (NSInteger, EmacsAXSpanType)
@@ -665,6 +669,7 @@ typedef NS_ENUM (NSInteger, EmacsAXSpanType)
- (void)rebuildAccessibilityTree;
- (void)invalidateAccessibilityTree;
- (void)postAccessibilityUpdates;
@@ -109,10 +109,10 @@ index 7a8c5a0..9ac65ac 100644
@end
diff --git a/src/nsterm.m b/src/nsterm.m
index a6fce74..75ef0e0 100644
index 9e089f3..1a623be 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -7028,6 +7028,112 @@ visual line index for Zoom (skip whitespace-only lines
@@ -7082,6 +7082,112 @@ visual line index for Zoom (skip whitespace-only lines
return nil;
}
@@ -225,7 +225,7 @@ index a6fce74..75ef0e0 100644
/* Build accessibility text for window W, skipping invisible text.
Populates *OUT_START with the buffer start charpos.
Populates *OUT_RUNS with an array of visible runs and *OUT_NRUNS
@@ -12267,6 +12373,77 @@ - (id)accessibilityFocusedUIElement
@@ -12321,6 +12427,77 @@ - (id)accessibilityFocusedUIElement
The existing elements carry cached state (modiff, point) from the
previous redisplay cycle. Rebuilding first would create fresh
elements with current values, making change detection impossible. */
@@ -303,7 +303,7 @@ index a6fce74..75ef0e0 100644
- (void)postAccessibilityUpdates
{
NSTRACE ("[EmacsView postAccessibilityUpdates]");
@@ -12277,11 +12454,59 @@ - (void)postAccessibilityUpdates
@@ -12331,11 +12508,59 @@ - (void)postAccessibilityUpdates
/* Re-entrance guard: VoiceOver callbacks during notification posting
can trigger redisplay, which calls ns_update_end, which calls us