X-Git-Url: https://jxself.org/git/?p=mes.git;a=blobdiff_plain;f=mes%2Fmodule%2Fmes%2Fguile.mes;h=76c3f781887b16990def49e4b51617ba6bbe802b;hp=4e897b4be8f2286fe339cde2139418c253db29eb;hb=c61c6866b534cde736be4cf8c6bfd2cfb046a0ff;hpb=e0a2d540f426370be4854ac6ce79b531eac01b7d diff --git a/mes/module/mes/guile.mes b/mes/module/mes/guile.mes index 4e897b4b..76c3f781 100644 --- a/mes/module/mes/guile.mes +++ b/mes/module/mes/guile.mes @@ -99,9 +99,13 @@ port)) (define (dirname file-name) - (let ((lst (filter (negate string-null?) (string-split file-name #\/)))) - (if (<= (length lst) 1) "." - (string-join (list-head lst (1- (length lst))) "/")))) + (let* ((lst (string-split file-name #\/)) + (lst (filter (negate string-null?) lst))) + (if (null? lst) (if (string-prefix? "/" file-name) "/" ".") + (let ((dir (string-join (list-head lst (1- (length lst))) "/"))) + (if (string-prefix? "/" file-name) (string-append "/" dir) + (if (string-null? dir) "." + dir)))))) ;; FIXME: c&p from display (define (with-output-to-string thunk)