sharplispers / clx

a fork of crhodes' fork of danb's fork of the CLX library, an X11 client for Common Lisp
Other
114 stars 46 forks source link

`buffer-read-default` should return non-`NIL`, non-`:TIMEOUT` on EOF on CMU, SBCL, ECL, CLISP, and CLASP #200

Closed abridgewater closed 9 months ago

abridgewater commented 1 year ago

Per the generic implementation (below the platform-specific implementations) in dependent.lisp, and clearly tested by the logic in input.lisp, end-of-file on the display connection should cause buffer-read-default to return a value that is neither NIL nor :TIMEOUT. Failing to so do causes an END-OF-FILE error to be signaled when the server connection is closed (such as via a KillClient request issued by a window manager when closing a window that doesn't participate in the WM_DELETE_WINDOW protocol).

This was also clearly handled by minima, lcl3.0, genera, and explorer in earlier releases of CLX.

dkochmanski commented 9 months ago

Fixed in #205. Thank you for the report and proposed solution.