Shouldn't (defmacro define-window-slot (attr) "Create a new window attribute and corresponding get/set functions." (let ((win (gensym)) (val (gensym))) `(progn (defun ,(intern1 (format nil "WINDOW-~a" attr)) (,win) (gethash ,attr (window-plist ,win))) (defun (setf ,(intern1 (format nil "WINDOW-~a" attr))) (,val ,win) (setf (gethash ,attr (window-plist ,win))) ,val))))
be (defmacro define-window-slot (attr) "Create a new window attribute and corresponding get/set functions." (let ((win (gensym)) (val (gensym))) `(progn (defun ,(intern1 (format nil "WINDOW-~a" attr)) (,win) (gethash ,attr (window-plist ,win))) (defun (setf ,(intern1 (format nil "WINDOW-~a" attr))) (,val ,win) (setf (gethash ,attr (window-plist ,win)) ,val))))) ? The difference is on the last line: ,win))) ,val)))) becomes ,win)) ,val))))) -- Raf Cloesen _______________________________________________ Stumpwm-devel mailing list Stumpwm-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/stumpwm-devel