patches: address maintainer review findings (C1/C2/H1/H2/M5/M6)
C1 - block_input ordering in ns_ax_buffer_text: block_input() now called before record_unwind_protect_void(unblock_input). Previously the unwind handler could have been called without a matching block_input, corrupting the input-blocking reference count. C2 - unbind_to missing in patch 0004: unbind_to(blk_count, Qnil) moved from patch 0008 to patch 0004 so that ns_ax_scan_interactive_spans has a complete block_input/unbind_to pair when patches 0000-0004 are applied independently. H1 - Zoom patch forward dependency on VoiceOver: Removed forward declaration 'static bool ns_ax_face_is_selected' and the delegation from ns_zoom_face_is_selected. Restored standalone implementation of ns_zoom_face_is_selected in the Zoom patch so patch 0000 compiles and links independently of the VoiceOver patches. H2 - ns_accessibility_enabled removal undocumented: Added comment to ns_zoom_track_completion explaining that Zoom cursor tracking is gated only on ns_zoom_enabled_p(), not ns_accessibility_enabled. Users running Zoom without VoiceOver must still get completion tracking. M5 - childFrameLastBuffer GC safety undocumented: Added comment at the assignment site explaining why BVAR(b, name) (an interned symbol reachable from obarray) is GC-safe without staticpro. M6 - FOR_EACH_FRAME without block_input: Added block_input/unblock_input around the FOR_EACH_FRAME loop in postAccessibilityUpdates that checks for visible child frames. Vframe_list must not be modified by timers or process sentinels during iteration.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From b863369a4d33a3488c3fa9de0cf0eca687b40447 Mon Sep 17 00:00:00 2001
|
||||
From 7578a7b5e33557c7e34674cd0bf3b7cf627898e6 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Sukany <martin@sukany.cz>
|
||||
Date: Sat, 28 Feb 2026 12:58:11 +0100
|
||||
Subject: [PATCH 6/8] doc: add VoiceOver accessibility section to macOS
|
||||
@@ -110,10 +110,10 @@ index 6bd334f48e..8d4a7825d8 100644
|
||||
@section GNUstep Support
|
||||
|
||||
diff --git a/src/nsterm.m b/src/nsterm.m
|
||||
index 7c118045bd..a0598a73c2 100644
|
||||
index 32eb04acef..8e5cc7e1d7 100644
|
||||
--- a/src/nsterm.m
|
||||
+++ b/src/nsterm.m
|
||||
@@ -14709,9 +14709,13 @@ Nil means use fullscreen the old (< 10.7) way. The old way works better with
|
||||
@@ -14710,9 +14710,13 @@ Nil means use fullscreen the old (< 10.7) way. The old way works better with
|
||||
|
||||
DEFVAR_BOOL ("ns-accessibility-enabled", ns_accessibility_enabled,
|
||||
doc: /* Non-nil enables Zoom cursor tracking and VoiceOver support.
|
||||
|
||||
Reference in New Issue
Block a user