Update of /project/clim-desktop/cvsroot/clim-desktop
In directory clnet:/tmp/cvs-serv28332
Modified Files:
climacs.lisp
Log Message:
Removed stuff that has been partially/completely moved to Climacs.
--- /project/clim-desktop/cvsroot/clim-desktop/climacs.lisp 2007/12/27 19:11:09 1.18
+++ /project/clim-desktop/cvsroot/clim-desktop/climacs.lisp 2008/01/23 20:01:46 1.19
@@ -24,87 +24,9 @@
'base-table
'((#\c :control) (#\d :control) (#\s :control)))
-;; The following code relates to calling Climacs from other applications.
+;; The following only works if CL:ED invokes Climacs.
-(defmacro with-climacs-frame ((frame-symbol) &body body)
- (let ((frame-manager-sym (gensym)))
- `(let ((,frame-manager-sym (find-frame-manager)))
- (when ,frame-manager-sym
- (let ((,frame-symbol (find-if (lambda (x) (typep x 'climacs))
- (frame-manager-frames ,frame-manager-sym))))
- ,@body)))))
-
-(defun ensure-climacs ()
- "Ensure Climacs is running, start it in a new process if it
-isn't."
- (with-climacs-frame (frame)
- (unless frame
- (climacs :new-process t)
- ;; FIXME: The new frame must be ready, this is a hack.
- (sleep 1))))
-
-(defgeneric edit-in-climacs (thing &key &allow-other-keys)
- (:documentation "Edit thing in Climacs, start Climacs if is not
- running.")
- (:method :before (thing &key &allow-other-keys)
- (declare (ignore thing))
- (ensure-climacs)))
-
-(defmethod edit-in-climacs ((thing pathname) &key &allow-other-keys)
- (when (wild-pathname-p thing)
- (error 'file-error :pathname thing
- "Cannot edit wild pathname."))
- (with-climacs-frame (frame)
- (when frame
- (execute-frame-command
- frame `(esa-io::com-find-file ,thing)))))
-
-(defmethod edit-in-climacs ((thing string) &key &allow-other-keys)
- ;; Hope it is a pathname.
- (edit-in-climacs (pathname thing)))
-
-(defmethod edit-in-climacs ((thing symbol) &key type &allow-other-keys)
- (with-climacs-frame (frame)
- (when frame
- (execute-frame-command
- frame `(com-edit-definition-of-type ,thing ,type)))))
-
-;; These commands should only be called from within Climacs:
-
-(define-command (com-edit-definition :command-table global-climacs-table)
- ((symbol 'symbol
- :prompt "Edit symbol"))
- "Edit the definition of a symbol as a given type.
-
-If the symbol has been defined more than once (eg. to a function
-as well as a class, or as numerous methods), a
-mouse-click-sensitive list of available definitions will be
-displayed."
- (drei-lisp-syntax:edit-definition symbol))
-
-(define-command (com-edit-definition-of-type :command-table global-climacs-table)
- ((symbol 'symbol
- :prompt "Edit symbol")
- (type 'symbol))
- "Edit the definition of a symbol as a given type."
- (drei-lisp-syntax:edit-definition symbol type))
-
-;; Redefine (ed)
-(handler-bind ((#+sbcl sb-ext:package-lock-violation
- #+cmucl lisp::package-locked-error
- #-sbcl simple-error
- #'(lambda (c)
- (declare (ignore c))
- (invoke-restart 'continue))))
- (defun ed (&optional foo)
- (if (not (null foo))
- (edit-in-climacs foo)
- (progn
- (ensure-climacs)
- (with-climacs-frame (frame)
- (raise-frame frame))))))
-
-;; The following commands can be safely called from outside Climacs:
+;; The following commands can be safely called from outside the editor:
(define-command (com-edit-symbol-definition :name t :command-table global-command-table)
((symbol 'symbol
@@ -115,19 +37,7 @@
as well as a class, or as numerous methods), a
mouse-click-sensitive list of available definitions will be
displayed."
- (edit-in-climacs symbol))
-
-(define-command (com-edit-class-definition :name t :command-table global-command-table)
- ((symbol 'symbol
- :prompt "Edit symbol"))
- "Edit the class definition of a symbol."
- (edit-in-climacs symbol :type 'class))
-
-(define-command (com-edit-function-definition :name t :command-table global-command-table)
- ((symbol 'symbol
- :prompt "Edit symbol"))
- "Edit the function definition of a symbol."
- (edit-in-climacs symbol :type 'function))
+ (ed symbol))
(define-command (com-edit-in-climacs :command-table global-command-table)
((thing t))
@@ -144,7 +54,7 @@
(list object))
(define-presentation-to-command-translator global-edit-class-name-definition-translator
- (class-name com-edit-class-definition global-command-table
+ (class-name com-edit-symbol-definition global-command-table
:gesture :edit
:documentation "Edit Class Definition")
(object)