(defun exmac (form)
  (prind (eval (cons 'exm form))))

(setq mac
      '(with-buffer-request (display *x-createwindow*)
	 (data depth)
	 (resource-id wid)
	 (window parent)
	 (int16 x y)
	 (card16 width height border-width)
	 ((member16 :copy :input-output :input-only) class)
	 (resource-id (cond ((eq visual ':copy)
			     (fix32 0))
			    ((fix32p visual)
			     visual)
			    (t
			     (visual-info-id visual))))
	 (mask (card32 back-pixmap back-pixel border-pixmap border-pixel)
	       ((member-vector *bit-gravity-vector*) bit-gravity)
	       ((member-vector *win-gravity-vector*) gravity)
	       ((member :not-useful :when-mapped :always) backing-store)
	       (card32  backing-planes backing-pixel)
	       ((member :off :on) override-redirect save-under)
	       (card32 event-mask do-not-propagate-mask)
	       ((or (member :copy) colormap) colormap)
	       ((or (member :none) cursor) cursor)))
      )

(setq mac1
      '(with-buffer-request-internal
	(/.display. *x-createwindow*)
	(data depth)
	(resource-id wid)
	(window parent)
	(int16 x y)
	(card16 width height border-width)
	((member16 :copy :input-output :input-only) class)
	(resource-id
	 (cond ((eq visual ':copy) (fix32 0))
	       ((fix32p visual) visual)
	       (t (visual-info-id visual))))
	(mask (card32 back-pixmap back-pixel border-pixmap border-pixel)
	      ((member-vector *bit-gravity-vector*) bit-gravity)
	      ((member-vector *win-gravity-vector*) gravity)
	      ((member :not-useful :when-mapped :always) backing-store)
	      (card32 backing-planes backing-pixel)
	      ((member :off :on) override-redirect save-under)
	      (card32 event-mask do-not-propagate-mask)
	      ((or (member :copy) colormap) colormap)
	      ((or (member :none) cursor) cursor)))
      )

