Fix support for macOS multi-tty in Emacs 27.1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/lisp/server.el b/lisp/server.el | |
index 5efba17a01..c194d78ad1 100644 | |
--- a/lisp/server.el | |
+++ b/lisp/server.el | |
@@ -1182,10 +1182,9 @@ The following commands are accepted by the client: | |
;; choice there.) In daemon mode on Windows, we can't | |
;; make tty frames, so force the frame type to GUI | |
;; there too. | |
- (when (or (and (eq system-type 'windows-nt) | |
- (or (daemonp) | |
- (eq window-system 'w32))) | |
- (eq window-system 'mac)) | |
+ (when (and (eq system-type 'windows-nt) | |
+ (or (daemonp) | |
+ (eq window-system 'w32))) | |
(push "-window-system" args-left))) | |
;; -position +LINE[:COLUMN]: Set point to the given | |
diff --git a/src/frame.c b/src/frame.c | |
index 843312ab78..d68081002f 100644 | |
--- a/src/frame.c | |
+++ b/src/frame.c | |
@@ -1267,12 +1267,8 @@ affects all frames on the same terminal device. */) | |
emacs_abort (); | |
#else /* not MSDOS */ | |
-#if defined WINDOWSNT || defined HAVE_MACGUI /* This should work now! */ | |
- if (sf->output_method != output_termcap | |
-#ifdef HAVE_MACGUI | |
- && sf->output_method != output_initial | |
-#endif | |
- ) | |
+#ifdef WINDOWS_NT /* This should work now */ | |
+ if (sf->output_method != output_termcap) | |
error ("Not using an ASCII terminal now; cannot make a new ASCII frame"); | |
#endif | |
#endif /* not MSDOS */ | |
diff --git a/src/macterm.c b/src/macterm.c | |
index ce7c96e29c..69ec3c7a1a 100644 | |
--- a/src/macterm.c | |
+++ b/src/macterm.c | |
@@ -2946,6 +2946,7 @@ mac_mouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |
{ | |
struct frame *f1; | |
struct mac_display_info *dpyinfo = FRAME_DISPLAY_INFO (*fp); | |
+ struct frame *sf = SELECTED_FRAME (); | |
block_input (); | |
@@ -2966,7 +2967,7 @@ mac_mouse_position (struct frame **fp, int insist, Lisp_Object *bar_window, | |
else | |
f1 = XFRAME (mac_event_frame ()); | |
- if (f1) | |
+ if (f1 && sf->output_method != output_termcap) | |
{ | |
/* Ok, we found a frame. Store all the values. | |
last_mouse_glyph is a rectangle used to reduce the |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Details in https://goykhman.ca/gene/blog/2020/2020-12-06-emacs-27-multi-tty-patch.html