diff -r RubyX11-0.5/Documentation RubyX11-0.5nk/Documentation 166a167,172 > 7. handling X errors > > When the X server replies with an X error, an XError exception > will be raised, after logging and/or pausing (depending on the > value of the X11_LOG environment variable). You must handle this. > diff -r RubyX11-0.5/X11/Display.rb RubyX11-0.5nk/X11/Display.rb 482c482 < eid, = chunk.unpack("C") --- > eid = chunk[0] 486c486 < X11.log :error, error.inspect --- > X11.log(:error, error.inspect) if X11_LOG > 1 487a488 > raise error 502c503 < raise "Unknown event type #{event_code}" --- > raise "Unknown event type #{eid}" diff -r RubyX11-0.5/X11/Event.rb RubyX11-0.5nk/X11/Event.rb 322c322 < class XError --- > class XError < StandardError diff -r RubyX11-0.5/X11/Type.rb RubyX11-0.5nk/X11/Type.rb 288a289 > input.header.read(1) if format[0].in_header # NK: skip "type" byte diff -r RubyX11-0.5/X11/XID.rb RubyX11-0.5nk/X11/XID.rb 208c208 < [:format, Uint8.such_that {|x| [8,16,32].include? x }, :in_header], --- > [:format, Uint8.such_that {|x| [0, 8,16,32].include? x }, :in_header],