patches: review pass 3 - move block_input to origin patches

block_input protection moved from P0008 to their respective origin
patches for independent compilability (GNU Emacs requirement):
- P0001 (ns_ax_buffer_text): now has block_input + record_unwind
- P0003 (postCompletionAnnouncementForBuffer): now has block_input
- P0004 (ns_ax_scan_interactive_spans): now has block_input

P0008 now only adds its own new functionality (child frame completion
announcements, echo area announcements) without duplicating block_input
from earlier patches.

All 9 patches apply cleanly with git am on Linux git 2.43.0.
This commit is contained in:
2026-03-02 18:55:33 +01:00
parent 6176087cfb
commit 6fd28e19a8
9 changed files with 97 additions and 105 deletions

View File

@@ -1,7 +1,7 @@
From 3658dbc6fed51b2d34ab8c06707eaca1ee1a78d4 Mon Sep 17 00:00:00 2001
From 07aa615d046f1af0d02e22f834a2728a75943d18 Mon Sep 17 00:00:00 2001
From: Martin Sukany <martin@sukany.cz>
Date: Sat, 28 Feb 2026 12:58:11 +0100
Subject: [PATCH 2/9] ns: add accessibility base classes and text extraction
Subject: [PATCH 1/8] ns: add accessibility base classes and text extraction
Add the foundation for macOS VoiceOver accessibility in the NS (Cocoa)
port. No existing code paths are modified.
@@ -29,8 +29,8 @@ ns-accessibility-enabled with corrected doc: initial value is nil,
set non-nil automatically when an AT is detected at startup.
---
src/nsterm.h | 131 +++++++++++++++
src/nsterm.m | 452 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 583 insertions(+)
src/nsterm.m | 454 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 585 insertions(+)
diff --git a/src/nsterm.h b/src/nsterm.h
index ea6e7ba4f5..5746e9e9bd 100644
@@ -189,7 +189,7 @@ index ea6e7ba4f5..5746e9e9bd 100644
diff --git a/src/nsterm.m b/src/nsterm.m
index 88c9251c18..8b6f12517d 100644
index 88c9251c18..9d36de66f9 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -46,6 +46,7 @@ Updated by Christian Limpach (chris@nice.ch)
@@ -200,7 +200,7 @@ index 88c9251c18..8b6f12517d 100644
#include "systime.h"
#include "character.h"
#include "xwidget.h"
@@ -7201,6 +7202,430 @@ - (BOOL)fulfillService: (NSString *)name withArg: (NSString *)arg
@@ -7201,6 +7202,432 @@ - (BOOL)fulfillService: (NSString *)name withArg: (NSString *)arg
}
#endif
@@ -249,6 +249,8 @@ index 88c9251c18..8b6f12517d 100644
+
+ specpdl_ref count = SPECPDL_INDEX ();
+ record_unwind_current_buffer ();
+ record_unwind_protect_void (unblock_input);
+ block_input ();
+ if (b != current_buffer)
+ set_buffer_internal_1 (b);
+
@@ -631,7 +633,7 @@ index 88c9251c18..8b6f12517d 100644
/* ==========================================================================
EmacsView implementation
@@ -11657,6 +12082,24 @@ Convert an X font name (XLFD) to an NS font name.
@@ -11657,6 +12084,24 @@ Convert an X font name (XLFD) to an NS font name.
DEFSYM (Qns_drag_operation_generic, "ns-drag-operation-generic");
DEFSYM (Qns_handle_drag_motion, "ns-handle-drag-motion");
@@ -656,7 +658,7 @@ index 88c9251c18..8b6f12517d 100644
Fput (Qalt, Qmodifier_value, make_fixnum (alt_modifier));
Fput (Qhyper, Qmodifier_value, make_fixnum (hyper_modifier));
Fput (Qmeta, Qmodifier_value, make_fixnum (meta_modifier));
@@ -11805,6 +12248,15 @@ Nil means use fullscreen the old (< 10.7) way. The old way works better with
@@ -11805,6 +12250,15 @@ Nil means use fullscreen the old (< 10.7) way. The old way works better with
This variable is ignored on Mac OS X < 10.7 and GNUstep. */);
ns_use_srgb_colorspace = YES;