Peter Van Eynde <[EMAIL PROTECTED]>
> Took a while, but I found it. > > in requests.lisp it should be: > > (defun input-focus (display) > (declare (type display display)) > (declare (clx-values focus revert-to)) > (with-buffer-request-and-reply (display *x-getinputfocus* 16 :sizes (8 32)) > () > (values > (or-get 8 window (member :none :pointer-root)) > (member8-get 1 :none :pointer-root :parent)))) This seems to be right. I'm impressed! :-) What got me confused was that the function seemed to give reasonable answers in an xterm: * (let ((dpy (ext:open-clx-display))) (nth-value 0 (xlib:input-focus dpy))) :POINTER-ROOT * (let ((dpy (ext:open-clx-display))) (nth-value 1 (xlib:input-focus dpy))) :POINTER-ROOT * but trying the old version in emacs does, in fact, give the wrong output. Your fix makes it work the same way in both emacs and xterm. > Why oh why (SVREF '#(:NONE :POINTER-ROOT) 31457282) returns 0 in :xlib is a >mystery... A strange bug indeed. -- Fred Gilham [EMAIL PROTECTED] We have yet to find the Galileo who will question our me-centred universe. --- Christina Odone
