George D. Plymale II's multi-tty support patch https://bitbucket.org/mituharu/emacs-mac/pull-requests/2 --- lisp/server.el +++ lisp/server.el @@ -1268,7 +1268,6 @@ (when (or (and (eq system-type 'windows-nt) (or (daemonp) (eq window-system 'w32))) - (eq window-system 'mac) ;; Client runs on Windows, but the server ;; runs on a Posix host. (equal tty-name "CONOUT$")) --- src/frame.c +++ src/frame.c @@ -1351,12 +1351,8 @@ 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 WINDOWSNT /* 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 */ --- src/macterm.c +++ src/macterm.c @@ -2980,6 +2980,7 @@ struct frame *f1; struct mac_display_info *dpyinfo = FRAME_DISPLAY_INFO (*fp); bool return_no_frame_flag = false; + struct frame *sf = SELECTED_FRAME (); block_input (); @@ -3018,7 +3019,7 @@ 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 generation