diff options
| author | Alvaro Ramirez | 2025-07-21 12:53:50 +0100 |
|---|---|---|
| committer | Gerd Möllmann | 2025-07-26 12:09:56 +0200 |
| commit | 6e64e0bd26b6c0f1c4e90c9bc0df37a2a9ac72da (patch) | |
| tree | 4068f5177529f458c707311ef513e8c9dcbc5155 /src | |
| parent | e0152180570b3a071c3fb9140aa94b23e4e93857 (diff) | |
| download | emacs-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.m | 19 |
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 || \ |