[climacs-cvs] CVS climacs
thenriksen
thenriksen at common-lisp.net
Fri Jan 18 07:44:57 UTC 2008
Update of /project/climacs/cvsroot/climacs
In directory clnet:/tmp/cvs-serv31170
Modified Files:
climacs-lisp-syntax.lisp core.lisp packages.lisp
Log Message:
Added `switch-or-move-to-view' function.
--- /project/climacs/cvsroot/climacs/climacs-lisp-syntax.lisp 2008/01/15 10:43:40 1.11
+++ /project/climacs/cvsroot/climacs/climacs-lisp-syntax.lisp 2008/01/18 07:44:56 1.12
@@ -262,7 +262,7 @@
all))
(expansion-string (with-output-to-string (s)
(pprint expansion s))))
- (let ((view (climacs-core:switch-to-view (current-window) "*Macroexpansion*")))
+ (let ((view (climacs-core:switch-or-move-to-view (current-window) "*Macroexpansion*")))
(set-syntax view "Lisp"))
(let ((header-string (one-line-ify (subseq string 0
(min 40 (length string))))))
--- /project/climacs/cvsroot/climacs/core.lisp 2008/01/04 11:14:08 1.22
+++ /project/climacs/cvsroot/climacs/core.lisp 2008/01/18 07:44:56 1.23
@@ -71,6 +71,15 @@
(pane-frame pane) 'textual-drei-syntax-view
:name name)))))
+(defun switch-or-move-to-view (pane view)
+ "Switch `pane' to show `view'. If `view' is already on display
+in some other pane, switch that pane to be the active one."
+ (handler-bind ((view-already-displayed
+ #'(lambda (c)
+ (declare (ignore c))
+ (invoke-restart 'switch-to-pane))))
+ (switch-to-view pane view)))
+
(defun views-having-buffer (climacs buffer)
"Return a list of the buffer-views of `climacs' showing
`buffer'."
--- /project/climacs/cvsroot/climacs/packages.lisp 2008/01/18 07:16:25 1.132
+++ /project/climacs/cvsroot/climacs/packages.lisp 2008/01/18 07:44:57 1.133
@@ -98,7 +98,7 @@
#:no-upper-p
#:case-relevant-test
- #:switch-to-view
+ #:switch-to-view #:switch-or-move-to-view
#:make-new-buffer
#:make-new-named-buffer
#:erase-buffer
More information about the Climacs-cvs
mailing list