Merge remote-tracking branch 'refs/remotes/origin/master'

This commit is contained in:
Martin Sukany
2026-02-26 11:58:23 +01:00

View File

@@ -5,14 +5,19 @@ Subject: [PATCH] ns: add macOS Zoom cursor tracking and VoiceOver accessibility
Dual accessibility: UAZoomChangeFocus for Zoom + virtual element tree for
VoiceOver. Notifications target the focused virtual element, not EmacsView.
Full hierarchy plumbing (accessibilityWindow, accessibilityParent, etc.).
MRC compatible.
MRC compatible. Single notification path (post-redisplay only) with
glyph-consistent coordinate system throughout.
---
--- a/src/nsterm.h 2026-02-26 08:46:18.118172281 +0100
+++ b/src/nsterm.h 2026-02-26 09:08:57.204955708 +0100
@@ -455,6 +455,34 @@
diff --git a/src/nsterm.h b/src/nsterm.h
index 7c1ee4c..1f9639c 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -453,6 +453,34 @@ enum ns_return_frame_mode
@end
/* ==========================================================================
+/* ==========================================================================
+
+ Accessibility virtual elements (macOS / Cocoa only)
+
+ ========================================================================== */
@@ -39,12 +44,10 @@ MRC compatible.
+#endif /* NS_IMPL_COCOA */
+
+
+/* ==========================================================================
+
The main Emacs view
/* ==========================================================================
========================================================================== */
@@ -471,6 +499,12 @@
The main Emacs view
@@ -471,6 +499,11 @@ enum ns_return_frame_mode
#ifdef NS_IMPL_COCOA
char *old_title;
BOOL maximizing_resize;
@@ -56,7 +59,7 @@ MRC compatible.
#endif
BOOL font_panel_active;
NSFont *font_panel_result;
@@ -528,6 +562,12 @@
@@ -528,6 +561,12 @@ enum ns_return_frame_mode
- (void)windowWillExitFullScreen;
- (void)windowDidExitFullScreen;
- (void)windowDidBecomeKey;
@@ -69,9 +72,11 @@ MRC compatible.
@end
--- a/src/nsterm.m 2026-02-26 08:46:18.124172384 +0100
+++ b/src/nsterm.m 2026-02-26 10:46:54.607568839 +0100
@@ -1104,6 +1104,11 @@
diff --git a/src/nsterm.m b/src/nsterm.m
index 932d209..077f092 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -1104,6 +1104,11 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
unblock_input ();
ns_updating_frame = NULL;
@@ -83,7 +88,7 @@ MRC compatible.
}
static void
@@ -3232,6 +3237,82 @@
@@ -3232,6 +3237,37 @@ Note that CURSOR_WIDTH is meaningful only for (h)bar cursors.
/* Prevent the cursor from being drawn outside the text area. */
r = NSIntersectionRect (r, ns_row_rect (w, glyph_row, TEXT_AREA));
@@ -121,10 +126,12 @@ MRC compatible.
ns_focus (f, NULL, 0);
NSGraphicsContext *ctx = [NSGraphicsContext currentContext];
@@ -6849,6 +6930,646 @@
/* ==========================================================================
@@ -6847,6 +6883,652 @@ - (BOOL)fulfillService: (NSString *)name withArg: (NSString *)arg
}
#endif
+/* ==========================================================================
+
+ Accessibility virtual elements (macOS / Cocoa only)
+
+ ========================================================================== */
@@ -769,12 +776,10 @@ MRC compatible.
+#endif /* NS_IMPL_COCOA */
+
+
+/* ==========================================================================
+
EmacsView implementation
/* ==========================================================================
========================================================================== */
@@ -6889,6 +7610,7 @@
EmacsView implementation
@@ -6889,6 +7571,7 @@ - (void)dealloc
[layer release];
#endif
@@ -782,7 +787,7 @@ MRC compatible.
[[self menu] release];
[super dealloc];
}
@@ -8237,6 +8959,18 @@
@@ -8237,6 +8920,18 @@ - (void)windowDidBecomeKey /* for direct calls */
XSETFRAME (event.frame_or_window, emacsframe);
kbd_buffer_store_event (&event);
ns_send_appdefined (-1); // Kick main loop
@@ -801,7 +806,7 @@ MRC compatible.
}
@@ -9474,6 +10208,391 @@
@@ -9474,6 +10169,213 @@ - (int) fullscreenState
return fs_state;
}
@@ -1015,7 +1020,7 @@ MRC compatible.
@end /* EmacsView */
@@ -9941,6 +11060,14 @@
@@ -9941,6 +10843,14 @@ - (id)accessibilityAttributeValue:(NSString *)attribute
return [super accessibilityAttributeValue:attribute];
}