Hi,
Just for fun, using grread, grvecs and grtext to display the result in real time on the status line
((lambda ()
(setq pt1 (getpoint "\nFirst corner: "))
(princ pt1)
(princ "\nOpposite corner: ")
(while (and (setq gr (grread T 4 0)) (/= (car gr) 3))
(redraw)
(setq pt2 (cadr gr)
xd (abs (- (car pt1) (car pt2)))
yd (abs (- (cadr pt1) (cadr pt2)))
)
(grvecs (list (list (car pt1) (cadr pt1))
(list (car pt2) (cadr pt1))
(list (car pt2) (cadr pt1))
(list (car pt2) (cadr pt2))
(list (car pt2) (cadr pt2))
(list (car pt1) (cadr pt2))
(list (car pt1) (cadr pt2))
(list (car pt1) (cadr pt1))
)
)
(cond
((< xd yd) (grtext -1 "Taller than longer"))
((< yd xd) (grtext -1 "Longer than taller"))
(T (grtext -1 "Perfect square"))
)
)
(grtext)
(princ pt2)
(princ)
)
)