view tests/frame.el @ 4942:46f0df723e09

(for main branch) Indent all `with-*' expressions correctly -------------------- ChangeLog entries follow: -------------------- lisp/ChangeLog addition: 2010-01-22 Ben Wing <ben@xemacs.org> * lisp-mode.el: * lisp-mode.el (lisp-indent-function): If the function begins with `with-', assume it is a macro or special form whose last argument is a body. Call `lisp-indent-specform' with a flag indicating that it should indent all arguments as a body instead of with normal (full) indent. * lisp-mode.el (lisp-indent-specform): Add an optional flag argument indicating that all non-distinguished arguments, not just the first, should be indented as a body. This is useful when the number of distinguished (i.e. pre-body) arguments isn't known, and is used for this purpose by `lisp-indent-function'.
author Ben Wing <ben@xemacs.org>
date Fri, 22 Jan 2010 04:18:20 -0600
parents 360340f9fd5f
children 931aaa7a6b37
line wrap: on
line source

;;; Test geometry settings for frames
(defmacro check-frame-geometry (xx yy)
  `(loop for frame in (list nil (selected-frame))
	 do
	 (assert (eq (frame-property frame 'top)  ,yy))
	 (assert (eq (frame-property frame 'left) ,xx))
	 (assert (eq (frame-property frame 'top)  ,yy))
	 (assert (eq (frame-property frame 'left) ,xx))
	 (loop for plist in
	       (list (frame-properties)
		     (frame-properties nil)
		     (frame-properties (selected-frame)))
	       do
	       (assert (eq (plist-get plist 'top)  ,yy))
	       (assert (eq (plist-get plist 'left) ,xx)))))

(loop for (x y) in '((0 0) (1 1) (3 3) (9 9) (10 20) (20 40) (40 80) (100 200))
      do
      (loop for frame in (list nil (selected-frame))
	    do
	    (set-frame-properties frame `(left ,x top ,y))
	    (check-frame-geometry x y)
	    (set-frame-property frame 'top (+ y 3))
	    (check-frame-geometry x (+ y 3))
	    (set-frame-property frame 'left (+ x 3))
	    (check-frame-geometry (+ x 3) (+ y 3))))