 					    buffer-file-name))))
   (save-buffer)
   (let ((temp-file-name (concat (temp-directory) "-cl-current-file")))
-    (if (sw:eval-in-lisp
-	   "(Specware::evaluateLispCompileLocal_fromLisp-2 %S '(:|Some| . %S))"
-	   unitid temp-file-name)
+    (if (member (sw:eval-in-lisp
+		 "(Specware::evaluateLispCompileLocal_fromLisp-2 %S '(:|Some| . %S))"
+		 unitid temp-file-name)
+		'(t T))
 	(sw:eval-in-lisp-no-value
 	   "(let (*redefinition-warnings*)
               (specware::compile-and-load-lisp-file %S))"

  (let ((filename (sw::file-to-specware-unit-id buffer-file-name))
	(text (buffer-substring beg end)))
    (when (or (buffer-modified-p)
	      (not (sw:eval-in-lisp "(Specware::unitIDCurrentInCache? %S)"
				    buffer-file-name)))
      (sw:gcl-current-file)
      (sleep-for 1))			; Give :swll a chance to finish
    (unless (string-equal filename

	(result ())
	(specware4 (sw:eval-in-lisp "(specware::getenv \"SPECWARE4\")"))
	pos)
    (when (member rawpath '(nil NIL))		; SWPATH not set -- be agnostic about case
      (setq rawpath specware4)
      (when (member rawpath '(nil NIL))		; SPECWARE4 not set -- be agnostic about case
	(setq rawpath "")))
    (while (setq pos (position delim rawpath))
      (push (substring rawpath 0 pos) result)
