~ chicken-core (chicken-5) e1d04cff95ecc7ba1c7a556e9abc98ef6d376dd0
commit e1d04cff95ecc7ba1c7a556e9abc98ef6d376dd0 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Thu Aug 4 06:26:10 2011 -0400 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Thu Aug 4 06:26:10 2011 -0400 allows use of parameterize with current-directory (reported by Sven Hartrumpf) diff --git a/posix-common.scm b/posix-common.scm index 3892b875..a1f6790c 100644 --- a/posix-common.scm +++ b/posix-common.scm @@ -229,19 +229,18 @@ EOF ;;; Set or get current directory: -(define current-directory - (lambda (#!optional dir) - (if dir - (change-directory dir) - (let* ((buffer (make-string 1024)) - (len (##core#inline "C_curdir" buffer)) ) - #+(or unix cygwin) - (##sys#update-errno) - (if len - (##sys#substring buffer 0 len) - (##sys#signal-hook - #:file-error - 'current-directory "cannot retrieve current directory") ) ) ) ) ) +(define (current-directory #!optional dir mode) ; for "parameterize" + (if dir + (change-directory dir) + (let* ((buffer (make-string 1024)) + (len (##core#inline "C_curdir" buffer)) ) + #+(or unix cygwin) + (##sys#update-errno) + (if len + (##sys#substring buffer 0 len) + (##sys#signal-hook + #:file-error + 'current-directory "cannot retrieve current directory") ) ) ) ) (define delete-directory (lambda (name #!optional recursive)Trap