logical-pathname-translations: signal error if pathname not defined
authorDaniel Kochmański <daniel@turtleware.eu>
Wed, 5 Aug 2015 12:03:25 +0000 (14:03 +0200)
committerDaniel Kochmański <daniel@turtleware.eu>
Wed, 5 Aug 2015 12:05:12 +0000 (14:05 +0200)
If logical pathname wasn't defined yet, signal type error. Fixes #102.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
CHANGELOG
src/lsp/mislib.lsp

index e93641d..0cd22a3 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -87,6 +87,9 @@
 
    - Format float bug, when width and fdigits aren't set, but k is
 
+   - `logical-pathname-translations' throws an error if logical pathname
+     wasn't defined yet. Until now it non-conformingly returned nil
+
    - Other minor tweaks
 
 * 15.3.7 changes since 15.2.21  
index 6d43bf1..ad1cc62 100644 (file)
 
 (in-package "SYSTEM")
 
-(defun   logical-pathname-translations (p) (si:pathname-translations p))
+(defun   logical-pathname-translations (p)
+  (or (si:pathname-translations p)
+      (error 'simple-type-error
+             :datum p
+             :expected-type 'logical-pathname
+             :format-control "logical host not yet defined: ~S"
+             :format-arguments (list p))))
+
 (defsetf logical-pathname-translations si:pathname-translations)
 
 (defun load-logical-pathname-translations (host)