(in-package "CL-USER")
-(eval-when (:compile-toplevel :load-toplevel :execute)
- (defmacro grab-condition (&body body)
- `(nth-value 1
- (ignore-errors ,@body))))
+(defmacro grab-condition (&body body)
+ `(nth-value 1
+ (ignore-errors ,@body)))
(setf (logical-pathname-translations "demo0")
'(("**;*.*.*" "/tmp/")))
;;; handle the following case exactly (otherwise we get an error:
;;; "#'IDENTITY CALLED WITH 2 ARGS."
(setf (logical-pathname-translations "demo2")
- '(("test;**;*.*" "/tmp/demo2/test/")))
+ '(("test;**;*.*" "/tmp/demo2/test")))
(enough-namestring "demo2:test;foo.lisp")
;;; When a pathname comes from a logical host, it should be in upper
(translate-logical-pathname
"FOO:")))
+;;; ANSI says PARSE-NAMESTRING returns TYPE-ERROR on host mismatch.
+(let ((cond (grab-condition (parse-namestring "foo:jeamland" "demo2"))))
+ (assert (typep cond 'type-error)))
+
;;; ANSI, in its wisdom, specifies that it's an error (specifically a
;;; TYPE-ERROR) to query the system about the translations of a string
;;; which doesn't have any translations. It's not clear why we don't
;;; success
(quit :unix-status 104)
-(in-package :cl-user)