From 59d61332a8ec382aa91dda93f32c5daca3e88e19 Mon Sep 17 00:00:00 2001
From: Marcus Comstedt <marcus@mc.pp.se>
Date: Thu, 5 Feb 1998 19:05:06 +0100
Subject: [PATCH] Port number can now be left out in display spec.

Rev: lib/modules/Protocols.pmod/X.pmod/Xlib.pmod:1.18
Rev: lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod:1.11
---
 lib/modules/Protocols.pmod/X.pmod/Xlib.pmod  | 22 ++++++++++++++++++--
 lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod |  2 +-
 2 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/lib/modules/Protocols.pmod/X.pmod/Xlib.pmod b/lib/modules/Protocols.pmod/X.pmod/Xlib.pmod
index c9421ec8d9..5bd5ee22fd 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Xlib.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Xlib.pmod
@@ -749,8 +749,11 @@ class Display
 
     set_buffer( 65536 );
 
-    screen_number = (int) fields[2];
-    
+    if(sizeof(fields[2]))
+      screen_number = (int) fields[2][1..];
+    else
+      screen_number = 0;
+
     buffer = "";
     received = rec_buffer();
     pending_requests = ([]);
@@ -883,4 +886,19 @@ class Display
   {
     return roots[screen_number];
   }
+
+  object OpenFont_req(string name)
+  {
+    object req = Requests.OpenFont();
+    req->fid = alloc_id();
+    req->name = name;
+    return req;
+  }
+
+  object OpenFont(string name)
+  {
+    object req = OpenFont_req(name);
+    send_request(req);
+    return Types.Font(this_object(), req->fid);
+  }
 }
diff --git a/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod b/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
index c3ecf665f5..5cfbdc31bc 100644
--- a/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
@@ -3,7 +3,7 @@
  * kluge
  */
 
-object display_re = Regexp("([^:]*):([0-9]+).([0-9]+)");
+object display_re = Regexp("^([^:]*):([0-9]+)(.[0-9]+|)$");
 
 string pad(string s)
 {
-- 
GitLab