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:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user