From dholman at common-lisp.net Mon Dec 5 09:55:19 2005 From: dholman at common-lisp.net (Dwight Holman) Date: Mon, 5 Dec 2005 10:55:19 +0100 (CET) Subject: [climacs-cvs] CVS update: climacs/pane.lisp Message-ID: <20051205095519.67EF388545@common-lisp.net> Update of /project/climacs/cvsroot/climacs In directory common-lisp.net:/tmp/cvs-serv28101 Modified Files: pane.lisp Log Message: Added method to fix problems with the viewport after resizing, and added it to the redisplay function. Ideally, it should only be called on resizes leading to the problem, so I'll keep looking for better solutions. Date: Mon Dec 5 10:55:18 2005 Author: dholman Index: climacs/pane.lisp diff -u climacs/pane.lisp:1.33 climacs/pane.lisp:1.34 --- climacs/pane.lisp:1.33 Tue Sep 13 21:23:59 2005 +++ climacs/pane.lisp Mon Dec 5 10:55:18 2005 @@ -527,6 +527,16 @@ (setf cursor-x x cursor-y y))))) +(defgeneric fix-pane-viewport (pane)) + +(defmethod fix-pane-viewport ((pane climacs-pane)) + (let* ((v (window-viewport pane)) + (x (rectangle-width v)) + (y (rectangle-height v))) + (resize-sheet pane x y) + (setf (window-viewport-position pane) (values 0 0)))) + + (defmethod redisplay-pane-with-syntax ((pane climacs-pane) (syntax basic-syntax) current-p) (display-cache pane) (when (mark-visible-p pane) (display-mark pane syntax)) @@ -541,8 +551,10 @@ (setf (full-redisplay-p pane) nil)) (adjust-cache pane)) (fill-cache pane) + (fix-pane-viewport pane) (update-syntax-for-display (buffer pane) (syntax (buffer pane)) (top pane) (bot pane)) (redisplay-pane-with-syntax pane (syntax (buffer pane)) current-p)) + (defgeneric full-redisplay (pane)) From dholman at common-lisp.net Mon Dec 5 09:56:20 2005 From: dholman at common-lisp.net (Dwight Holman) Date: Mon, 5 Dec 2005 10:56:20 +0100 (CET) Subject: [climacs-cvs] CVS update: climacs/window-commands.lisp Message-ID: <20051205095620.731FA88545@common-lisp.net> Update of /project/climacs/cvsroot/climacs In directory common-lisp.net:/tmp/cvs-serv28153 Modified Files: window-commands.lisp Log Message: Fixed behavior of window splits when there is just one climacs-pane, and tried to make sure the window always splits evenly. Date: Mon Dec 5 10:56:19 2005 Author: dholman Index: climacs/window-commands.lisp diff -u climacs/window-commands.lisp:1.2 climacs/window-commands.lisp:1.3 --- climacs/window-commands.lisp:1.2 Sun Nov 13 10:24:45 2005 +++ climacs/window-commands.lisp Mon Dec 5 10:56:19 2005 @@ -38,15 +38,31 @@ (first (first children)) (second (second children)) (third (third children)) + (first-split-p (= (length (sheet-children parent)) 2)) + (parent-region (sheet-region parent)) + (parent-height (rectangle-height parent-region)) + (parent-width (rectangle-width parent-region)) + (filler (when first-split-p (make-pane 'basic-pane))) ;Prevents resizing. (adjust (make-pane 'clim-extensions:box-adjuster-gadget))) (assert (member constellation children)) + + (when first-split-p (setf (sheet-region filler) (sheet-region parent)) + (sheet-adopt-child parent filler)) + (sheet-disown-child parent constellation) + + (if vertical-p + (resize-sheet constellation parent-width (/ parent-height 2)) + (resize-sheet constellation (/ parent-width 2) parent-height)) + (let ((new (if vertical-p (vertically () constellation adjust additional-constellation) (horizontally () constellation adjust additional-constellation)))) (sheet-adopt-child parent new) + + (when first-split-p (sheet-disown-child parent filler)) (reorder-sheets parent (if (eq constellation first) (if third @@ -283,8 +299,8 @@ (remove window (windows *application-frame*))) (setf *standard-output* (car (windows *application-frame*))) (sheet-disown-child box other) + (sheet-adopt-child parent other) (sheet-disown-child parent box) - (sheet-adopt-child parent other) (reorder-sheets parent (if (eq box first) (if third (list other second third) From rstrandh at common-lisp.net Wed Dec 21 06:06:55 2005 From: rstrandh at common-lisp.net (Robert Strandh) Date: Wed, 21 Dec 2005 07:06:55 +0100 (CET) Subject: [climacs-cvs] CVS update: climacs/lisp-syntax.lisp Message-ID: <20051221060655.E896A88161@common-lisp.net> Update of /project/climacs/cvsroot/climacs In directory common-lisp.net:/tmp/cvs-serv24141 Modified Files: lisp-syntax.lisp Log Message: Fixed a minor bug that signaled an error when an attempt was made to parse the array syntax. Date: Wed Dec 21 07:06:54 2005 Author: rstrandh Index: climacs/lisp-syntax.lisp diff -u climacs/lisp-syntax.lisp:1.38 climacs/lisp-syntax.lisp:1.39 --- climacs/lisp-syntax.lisp:1.38 Sat Oct 29 06:20:46 2005 +++ climacs/lisp-syntax.lisp Wed Dec 21 07:06:54 2005 @@ -905,7 +905,7 @@ ;;; reduce according to the rule form -> #A form (define-lisp-action (|#A form | t) - (reduce-until-type array-start-form array-start-lexeme)) + (reduce-until-type array-form array-start-lexeme)) ;;;;;;;;;;;;;;;; structure