view tests/frame.el @ 4929:b5ad8cf9f6e4

fix dynarr-related crash apparently due to compiler bug -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-01-20 Ben Wing <ben@xemacs.org> * lisp.h: Disable error-checking code in Dynarr_at and related lookup functions. It leads to a crash in the glyph-cachels code under Cygwin 1.7 and GCC 3.4.4. I assume this is a compiler bug since the code in question doesn't (or shouldn't) modify anything. Changing the code from inline to non-inline didn't help.
author Ben Wing <ben@xemacs.org>
date Wed, 20 Jan 2010 02:25:04 -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))))