Mercurial > hg > xemacs-beta
diff src/console.c @ 48:56c54cf7c5b6 r19-16b90
Import from CVS: tag r19-16b90
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:56:04 +0200 |
parents | e04119814345 |
children | ee648375d8d6 |
line wrap: on
line diff
--- a/src/console.c Mon Aug 13 08:55:32 2007 +0200 +++ b/src/console.c Mon Aug 13 08:56:04 2007 +0200 @@ -273,12 +273,23 @@ */ (console)) { + Lisp_Object device; + CHECK_LIVE_CONSOLE (console); - /* select the console's selected frame's selected window. This will call - selected_frame_1(). */ - if (!NILP (CONSOLE_SELECTED_DEVICE (XCONSOLE (console)))) - Fselect_window (FRAME_SELECTED_WINDOW (XFRAME (DEVICE_SELECTED_FRAME (XDEVICE (CONSOLE_SELECTED_DEVICE (XCONSOLE (console))))))); + device = CONSOLE_SELECTED_DEVICE (XCONSOLE (console)); + if (!NILP (device)) + { + struct device *d = XDEVICE (device); + Lisp_Object frame = DEVICE_SELECTED_FRAME (d); + if (!NILP (frame)) + { + struct frame *f = XFRAME(frame); + Fselect_window (FRAME_SELECTED_WINDOW (f)); + } + else + error ("Can't select console with no frames."); + } else error ("Can't select a console with no devices"); return Qnil;