I'm expecting to draw a circle at (x,y) with radius r with a command that looks like
(xlib:draw-circle window gc x y r)
say (xlib:draw-circle window gc 100 100 100)
but x and y have to be the top left of the bounding box, and its the bounding box for the ellipse, so it has to be width and height, not radius, and then there is the start angle and the stop angle, which catches me out because its not the stop angle, it is the included angles, and it ends up
(xlib:draw-arc window gc 100 100 200 200 0 (* 2 pi))
This is an unfair rant because that is just the X11 protocol showing through. I can always just write a wrapper
(defun draw-circle (w gc x y r)
(xlib:draw-arc w gc (- x r) (- y r) (* 2 r) (* 2 r) 0 (* 2 pi)))