George D. Plymale II's multi-tty support patch https://bitbucket.org/mituharu/emacs-mac/pull-requests/2 --- lisp/server.el +++ lisp/server.el @@ -1263,10 +1263,9 @@ ;; 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 --- 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