Update of /project/osicat/cvsroot/src In directory common-lisp.net:/tmp/cvs-serv16491
Modified Files: osicat.lisp packages.lisp version.txt Added Files: make-readme.lisp Log Message: * Handle relative pathnames correctly in WITH-DIRECTORY-ITERATOR. * README generator (make-readme.lisp)
Date: Sun Feb 29 07:44:47 2004 Author: nsiivola
Index: src/osicat.lisp diff -u src/osicat.lisp:1.9 src/osicat.lisp:1.10 --- src/osicat.lisp:1.9 Sun Feb 29 06:29:14 2004 +++ src/osicat.lisp Sun Feb 29 07:44:47 2004 @@ -21,6 +21,11 @@
(in-package :osicat)
+(defparameter *osicat-version* + #.(with-open-file (f (merge-pathnames "version.txt" + *compile-file-truename*)) + (symbol-name (read f)))) + (macrolet ((def () `(defun c-file-kind (c-file follow-p) (let ((mode (c-file-mode c-file (if follow-p 1 0)))) @@ -46,6 +51,7 @@ ;; and C-sides idea of current directory: relative *d-p-d* gives ;; way to the C-side, whereas absolute ones take precedence. `(let ((,path (merge-pathnames ,pathname))) + (print (list :c-file-kind (pathname-directory ,path))) (when (wild-pathname-p ,path) (error "Pathname is wild: ~S." ,path)) (with-cstring (,c-file (namestring ,path)) @@ -99,7 +105,7 @@
Signal an error if pathspec is wild or does not designate a directory." (with-unique-names (dp dir cdir err default) - `(let ((,dir ,pathspec)) + `(let ((,dir (merge-pathnames ,pathspec))) (with-c-file (,cdir ,dir :directory t) (let ((,dp nil) (,default @@ -109,7 +115,8 @@ (pathname-directory ,dir) (remove-if (lambda (o) (or (null o) - (keywordp o))) + (keywordp o) + (equal "." o))) (list (pathname-name ,dir) (pathname-type ,dir)))) :defaults ,dir))) @@ -152,11 +159,11 @@ (defun delete-directory (pathspec) "function DELETE-DIRECTORY pathspec => T
-Deletes the direcotry designated by pathspec. Returns T. The +Deletes the directory designated by pathspec. Returns T. The directory must be empty. Symbolic links are not followed.
Signals an error if pathspec is wild, doesn't designate a directory, -or if the direcotry could not be deleted." +or if the directory could not be deleted." (with-c-file (path pathspec :directory) (if (zerop (rmdir path)) pathspec
Index: src/packages.lisp diff -u src/packages.lisp:1.2 src/packages.lisp:1.3 --- src/packages.lisp:1.2 Sun Oct 26 09:19:32 2003 +++ src/packages.lisp Sun Feb 29 07:44:47 2004 @@ -1,4 +1,4 @@ -;; Copyright (c) 2003 Nikodemus Siivola nikodemus@random-state.net +;; Copyright (c) 2003, 2004 Nikodemus Siivola nikodemus@random-state.net ;; ;; Permission is hereby granted, free of charge, to any person obtaining ;; a copy of this software and associated documentation files (the @@ -21,9 +21,12 @@
(defpackage :osicat (:use :cl :uffi) - (:documentation "Osicat is a lightweight operating system interface -for Common Lisp on Unix-platforms. It is not a POSIX-style API, but -rather a simple lispy accompaniment to the standard ANSI facilities.") + (:documentation + "Osicat is a lightweight operating system interface for Common Lisp +on Unix-platforms. It is not a POSIX-style API, but rather a simple +lispy accompaniment to the standard ANSI facilities. + +Osicat homepage: http://www.common-lisp.net/project/osicat") (:export ;;; Evironment #:environment @@ -40,4 +43,7 @@ #:make-link ;; Permissions #:file-permissions + ;; Version info + #:*osicat-version* )) +
Index: src/version.txt diff -u src/version.txt:1.6 src/version.txt:1.7 --- src/version.txt:1.6 Sat Nov 8 09:22:34 2003 +++ src/version.txt Sun Feb 29 07:44:47 2004 @@ -1 +1 @@ -0.3.3 +0.3.4