patches: address all non-blocking review findings

Fix remaining issues identified in core maintainer review:
- 0000: correct [PATCH 0/8] to [PATCH] (standalone Zoom series)
- 0006: add paragraph break in macos.texi VoiceOver section
- 0001/0005: shorten separator comment lines to 79 chars
- 0007/0008: genericize third-party package names in commit messages
- 0001: fix block_input ordering (block before registering unwind)
- 0000/0007: document intentional face_is_selected duplication
This commit is contained in:
2026-03-03 12:48:31 +01:00
parent 9bee2a1987
commit 61c23aed2c
12 changed files with 202 additions and 126 deletions

View File

@@ -44,7 +44,7 @@ index ea6e7ba4f5..5746e9e9bd 100644
+
+ Accessibility virtual elements (macOS / Cocoa only)
+
+ ========================================================================== */
+ ========================================================================= */
+
+#ifdef NS_IMPL_COCOA
+@class EmacsView;
@@ -52,11 +52,11 @@ index ea6e7ba4f5..5746e9e9bd 100644
+/* Base class for virtual accessibility elements attached to EmacsView. */
+@interface EmacsAccessibilityElement : NSAccessibilityElement
+@property (nonatomic, unsafe_unretained) EmacsView *emacsView;
+/* Lisp window object safe across GC cycles.
+/* Lisp window object --- safe across GC cycles.
+ GC safety: these Lisp_Objects are NOT visible to GC via staticpro
+ or the specpdl stack. This is safe because:
+ (1) Emacs GC runs only on the main thread, at well-defined safe
+ points during Lisp evaluation never during redisplay.
+ points during Lisp evaluation --- never during redisplay.
+ (2) Accessibility elements are owned by EmacsView which belongs to
+ an active frame; windows referenced here are always reachable
+ from the frame's window tree until rebuildAccessibilityTree
@@ -81,7 +81,7 @@ index ea6e7ba4f5..5746e9e9bd 100644
+ NSUInteger ax_length; /* Length in accessibility string (UTF-16 units). */
+} ns_ax_visible_run;
+
+/* Virtual AXTextArea element one per visible Emacs window (buffer). */
+/* Virtual AXTextArea element --- one per visible Emacs window (buffer). */
+@interface EmacsAccessibilityBuffer
+ : EmacsAccessibilityElement <NSAccessibility>
+{
@@ -119,7 +119,7 @@ index ea6e7ba4f5..5746e9e9bd 100644
+- (void)invalidateInteractiveSpans;
+@end
+
+/* Virtual AXStaticText element one per mode line. */
+/* Virtual AXStaticText element --- one per mode line. */
+@interface EmacsAccessibilityModeLine : EmacsAccessibilityElement
+@end
+
@@ -200,7 +200,7 @@ index 88c9251c18..9d36de66f9 100644
#include "systime.h"
#include "character.h"
#include "xwidget.h"
@@ -7201,6 +7202,432 @@ - (BOOL)fulfillService: (NSString *)name withArg: (NSString *)arg
@@ -7204,6 +7205,432 @@ - (BOOL)fulfillService: (NSString *)name withArg: (NSString *)arg
}
#endif
@@ -208,7 +208,7 @@ index 88c9251c18..9d36de66f9 100644
+
+ Accessibility virtual elements (macOS / Cocoa only)
+
+ ========================================================================== */
+ ========================================================================= */
+
+#ifdef NS_IMPL_COCOA
+
@@ -248,9 +248,9 @@ index 88c9251c18..9d36de66f9 100644
+ return @"";
+
+ specpdl_ref count = SPECPDL_INDEX ();
+ block_input ();
+ record_unwind_current_buffer ();
+ record_unwind_protect_void (unblock_input);
+ block_input ();
+ if (b != current_buffer)
+ set_buffer_internal_1 (b);
+
@@ -291,7 +291,7 @@ index 88c9251c18..9d36de66f9 100644
+
+ /* Extract this visible run's text. Use
+ Fbuffer_substring_no_properties which correctly handles the
+ buffer gap raw BUF_BYTE_ADDRESS reads across the gap would
+ buffer gap --- raw BUF_BYTE_ADDRESS reads across the gap would
+ include garbage bytes when the run spans the gap position. */
+ Lisp_Object lstr = Fbuffer_substring_no_properties (
+ make_fixnum (pos), make_fixnum (run_end));
@@ -372,7 +372,7 @@ index 88c9251c18..9d36de66f9 100644
+ return NSZeroRect;
+
+ /* charpos_start and charpos_len are already in buffer charpos
+ space the caller maps AX string indices through
+ space --- the caller maps AX string indices through
+ charposForAccessibilityIndex which handles invisible text. */
+ ptrdiff_t cp_start = charpos_start;
+ ptrdiff_t cp_end = cp_start + charpos_len;
@@ -633,7 +633,7 @@ index 88c9251c18..9d36de66f9 100644
/* ==========================================================================
EmacsView implementation
@@ -11657,6 +12084,24 @@ Convert an X font name (XLFD) to an NS font name.
@@ -11660,6 +12087,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");
@@ -658,7 +658,7 @@ index 88c9251c18..9d36de66f9 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 +12250,15 @@ Nil means use fullscreen the old (< 10.7) way. The old way works better with
@@ -11808,6 +12253,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;