[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Some progress had been made porting scigraph to MCL 2.0/CLIM 1.1.
The files in dwim now compile & load.
Loading scigraph now breaks in scigraph:menu-tools.lisp on the
following function definition for SEVERAL-CHOOSE.
Evaluation of the expression seems to result in entry into a
circular loop. 

;;;************ code from menu-tools.lisp

		       &key highlighted-values (label "Choose Several")
			    (stream *standard-output*) (own-window t))
  "Lets you select several choices."
  (declare (values choices abort-p))
  ;; Used by choose-descriptors to produce interval annotations.
  ;; item-list is a list whose elements are either:
  ;;   a.  atoms
  ;;   b.  lists of length 2 whose CAR is the pretty name and whose CADR is the
  ;;        actual value.
  (labels ((stringify (thing)
	     (typecase thing
	       (string thing)
	       (symbol (symbol-name thing))
	       (otherwise (format nil "~A" thing)))))
    (let ((ptype `(button-subset
		   ,(mapcar #'(lambda (item)
				(if (atom item)
				    (list (stringify item)
					  :value item)
				  (list (stringify (car item))
					:value (cadr item))))
      (if (eq :abort
	      (accepting-values (stream :own-window own-window
					:label "Choose")
				(format stream label)
				(terpri stream)
				(setq highlighted-values
				   :default highlighted-values
				   '(check-box-view :orientation :vertical)
				   :prompt "Choose Several"
				   :stream stream)
				  (accept ptype
					  :default highlighted-values
					  ;;; a few lines here were deleted
                                          ;;; as per jm
					  :prompt "Choose Several"
					  :stream stream))
				(terpri stream)))
	  (values nil t)
	(nreverse highlighted-values)))))

;;;************* end code from menu-tools.lisp

Any suggestions here would be appreciated.
Thanks, Sheldon Ball