Index: /branches/event-ide/ccl/cocoa-ide/hemlock/src/listener.lisp
===================================================================
--- /branches/event-ide/ccl/cocoa-ide/hemlock/src/listener.lisp	(revision 8053)
+++ /branches/event-ide/ccl/cocoa-ide/hemlock/src/listener.lisp	(revision 8054)
@@ -35,17 +35,15 @@
     :buffer buffer
     :value
-    (let* ((eof (list nil))
-	   (thing (read-from-string value nil eof)))
-      (when (eq thing eof) (error "Bad package file option value."))
+    (let ((thing (handler-case (read-from-string value t)
+                   (error () (editor-error "Bad package file option value")))))
       (cond
-       ((stringp thing)
-	thing)
-       ((symbolp thing)
-	(symbol-name thing))
-       ((characterp thing)
+       ((or (stringp thing) (symbolp thing))
 	(string thing))
+       ((and (consp thing) ;; e.g. Package: (foo :use bar)
+             (or (stringp (car thing)) (symbolp (car thing))))
+        (string (car thing)))
        (t
-	(message
-	 "Ignoring \"package\" file option -- cannot convert to a string."))))
+	(message "Ignoring \"package:\" file option ~a" thing)
+        nil)))
     :hooks (list 'package-name-change-hook)))
 
