&key (verify-existence t)
(follow-links t))
&body body)
- (let ((body-name (gensym)))
+ (let ((body-name (gensym "ENUMERATE-MATCHES-BODY-FUN-")))
`(block nil
(flet ((,body-name (,var)
,@body))
+ (declare (dynamic-extent ,body-name))
(%enumerate-matches (pathname ,pathname)
,verify-existence
,follow-links
(defun pathname-host (pathname &key (case :local))
#!+sb-doc
- "Accessor for the pathname's host."
+ "Return PATHNAME's host."
(declare (type pathname-designator pathname)
(type (member :local :common) case)
(values host)
(defun pathname-device (pathname &key (case :local))
#!+sb-doc
- "Accessor for pathname's device."
+ "Return PATHNAME's device."
(declare (type pathname-designator pathname)
(type (member :local :common) case))
(with-pathname (pathname pathname)
(defun pathname-directory (pathname &key (case :local))
#!+sb-doc
- "Accessor for the pathname's directory list."
+ "Return PATHNAME's directory."
(declare (type pathname-designator pathname)
(type (member :local :common) case))
(with-pathname (pathname pathname)
:lower)))))
(defun pathname-name (pathname &key (case :local))
#!+sb-doc
- "Accessor for the pathname's name."
+ "Return PATHNAME's name."
(declare (type pathname-designator pathname)
(type (member :local :common) case))
(with-pathname (pathname pathname)
(defun pathname-type (pathname &key (case :local))
#!+sb-doc
- "Accessor for the pathname's name."
+ "Return PATHNAME's type."
(declare (type pathname-designator pathname)
(type (member :local :common) case))
(with-pathname (pathname pathname)
(defun pathname-version (pathname)
#!+sb-doc
- "Accessor for the pathname's version."
+ "Return PATHNAME's version."
(declare (type pathname-designator pathname))
(with-pathname (pathname pathname)
(%pathname-version pathname)))
\f
;;;; hacking the Unix environment
-(/show0 "unix.lisp 122")
-
(def-alien-routine ("getenv" posix-getenv) c-string
"Return the environment string \"name=value\" which corresponds to NAME, or
NIL if there is none."
(defun unix-rename (name1 name2)
#!+sb-doc
- "Unix-rename renames the file with string name1 to the string
- name2. NIL and an error code is returned if an error occurs."
+ "Unix-rename renames the file with string NAME1 to the string
+ NAME2. NIL and an error code is returned if an error occurs."
(declare (type unix-pathname name1 name2))
(void-syscall ("rename" c-string c-string) name1 name2))
\f
(/show0 "unix.lisp 220")
+;;; FIXME: Isn't there some way to use a C wrapper to avoid this hand-copying?
(defconstant +max-s-long+ 2147483647)
(defconstant +max-u-long+ 4294967295)
-
-;;; FIXME: Isn't there some way to use a C wrapper to avoid this hand-copying?
(def-alien-type quad-t #+nil long-long #-nil (array long 2))
(def-alien-type uquad-t #+nil unsigned-long-long
#-nil (array unsigned-long 2))