aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlvaro Ramirez2025-07-21 12:53:50 +0100
committerGerd Möllmann2025-07-26 12:09:56 +0200
commit6e64e0bd26b6c0f1c4e90c9bc0df37a2a9ac72da (patch)
tree4068f5177529f458c707311ef513e8c9dcbc5155 /src
parente0152180570b3a071c3fb9140aa94b23e4e93857 (diff)
downloademacs-6e64e0bd26b6c0f1c4e90c9bc0df37a2a9ac72da.tar.gz
emacs-6e64e0bd26b6c0f1c4e90c9bc0df37a2a9ac72da.zip
Enabled macOS dictation post NSTextInputClient migration in v30
* src/nsterm.m (selectedRange): Implement to fix dictation. * etc/NEWS: Announce regression fix. * etc/PROBLEMS: Help users recover from rejected permission.
Diffstat (limited to 'src')
-rw-r--r--src/nsterm.m19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/nsterm.m b/src/nsterm.m
index 14f47973e54..5b4067d3a0d 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -7413,7 +7413,24 @@ ns_in_echo_area (void)
7413{ 7413{
7414 if (NS_KEYLOG) 7414 if (NS_KEYLOG)
7415 NSLog (@"selectedRange request"); 7415 NSLog (@"selectedRange request");
7416 return NSMakeRange (NSNotFound, 0); 7416
7417 struct window *w = XWINDOW (FRAME_SELECTED_WINDOW (emacsframe));
7418 struct buffer *buf = XBUFFER (w->contents);
7419 ptrdiff_t point = BUF_PT (buf);
7420
7421 if (NILP (BVAR (buf, mark_active)))
7422 {
7423 NSUInteger selection_location = point - BUF_BEGV (buf);
7424 return NSMakeRange (selection_location, 0);
7425 }
7426
7427 ptrdiff_t mark = marker_position (BVAR (buf, mark));
7428 ptrdiff_t region_start = min (point, mark);
7429 ptrdiff_t region_end = max (point, mark);
7430 NSUInteger selection_location = region_start - BUF_BEGV (buf);
7431 NSUInteger selection_length = region_end - region_start;
7432
7433 return NSMakeRange (selection_location, selection_length);
7417} 7434}
7418 7435
7419#if defined (NS_IMPL_COCOA) || GNUSTEP_GUI_MAJOR_VERSION > 0 || \ 7436#if defined (NS_IMPL_COCOA) || GNUSTEP_GUI_MAJOR_VERSION > 0 || \