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

CLX' move to CLOS seems to have resulted in some implicit functions not being created. #104

Closed earl-ducaine closed 5 years ago

earl-ducaine commented 5 years ago

(ql version: clx-20180711-git) For every xlib 'class' that the the old def-clx-class macro used to create, a predicate function, e.g. foo-p would also be created unless it's creation was specifically suppressed in the class options.

(defmacro def-clx-class ((name &rest options) &body slots)
    ....
      (when (eq predicate t)
        (setf predicate (cintern name '-p)))

Some examples that used to work.

(xlib:window-p *application-window*)
(xlib:image-z-p  (xlib:get-image *application-window* :result-type 'image-xy :x x :y y :width width :height height))
(xlib:font-p (xlib:open-font *display* (first (xlib:list-font-names *display* "*"))))
dkochmanski commented 5 years ago

These predicates are documented in the manual and exported - should be readded as functions. @mgl are you interested in taking care of this issue?

dkochmanski commented 5 years ago

master branch has been reset