]> git.eshelyaron.com Git - emacs.git/commitdiff
Accept terminal devices on MS-Windows in APIs that accept frame or display.
authorEli Zaretskii <eliz@gnu.org>
Wed, 8 Oct 2014 10:39:45 +0000 (13:39 +0300)
committerEli Zaretskii <eliz@gnu.org>
Wed, 8 Oct 2014 10:39:45 +0000 (13:39 +0300)
 src/w32fns.c (check_x_display_info): Accept terminal objects as
 argument, to follow what xfns.c does.

src/ChangeLog
src/w32fns.c

index 1b77d1c9aa10ba32648cf4785414f61c0b60bee8..6acd46594b0a97cec4d76d62df6c6844e214440b 100644 (file)
@@ -1,3 +1,8 @@
+2014-10-08  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32fns.c (check_x_display_info): Accept terminal objects as
+       argument, to follow what xfns.c does.
+
 2014-10-07  Glenn Morris  <rgm@gnu.org>
 
        * Makefile.in ($(srcdir)/macuvs.h)
index e61a438622f83a23936a721cad75d075295ac85d..bfa69fb61cd1667cabd708314ae012924d216546 100644 (file)
@@ -263,9 +263,9 @@ static unsigned int sound_type = 0xFFFFFFFF;
    the first display on the list.  */
 
 struct w32_display_info *
-check_x_display_info (Lisp_Object frame)
+check_x_display_info (Lisp_Object object)
 {
-  if (NILP (frame))
+  if (NILP (object))
     {
       struct frame *sf = XFRAME (selected_frame);
 
@@ -274,14 +274,23 @@ check_x_display_info (Lisp_Object frame)
       else
        return &one_w32_display_info;
     }
-  else if (STRINGP (frame))
-    return x_display_info_for_name (frame);
+  else if (TERMINALP (object))
+    {
+      struct terminal *t = get_terminal (object, 1);
+
+      if (t->type != output_w32)
+        error ("Terminal %d is not a W32 display", t->id);
+
+      return t->display_info.w32;
+    }
+  else if (STRINGP (object))
+    return x_display_info_for_name (object);
   else
     {
       struct frame *f;
 
-      CHECK_LIVE_FRAME (frame);
-      f = XFRAME (frame);
+      CHECK_LIVE_FRAME (object);
+      f = XFRAME (object);
       if (! FRAME_W32_P (f))
        error ("Non-W32 frame used");
       return FRAME_DISPLAY_INFO (f);