diff options
Diffstat (limited to 'module')
-rw-r--r-- | module/glob.scm | 30 |
1 files changed, 4 insertions, 26 deletions
diff --git a/module/glob.scm b/module/glob.scm index dfa2a508..a436b810 100644 --- a/module/glob.scm +++ b/module/glob.scm @@ -1,6 +1,7 @@ (define-module (glob) :use-module (system foreign) :use-module (rnrs bytevectors) + :use-module (c cpp) :export (glob)) @@ -8,33 +9,10 @@ (error "Glob errored on ~s with errno = ~a" (pointer->string epath) eerrno)) -(eval-when (expand) - (define has-curly-infix - (memv 'curly-infix (read-options))) - (read-enable 'curly-infix)) - +;; NOTE there really should be an (c eval) module, to resolve symbols such as +;; @var{<<}. (define << ash) - -(define GLOB_ERR {1 << 0})#| Return on read errors. |# -(define GLOB_MARK {1 << 1})#| Append a slash to each name. |# -(define GLOB_NOSORT {1 << 2})#| Don't sort the names. |# -(define GLOB_DOOFFS {1 << 3})#| Insert PGLOB->gl_offs NULLs. |# -(define GLOB_NOCHECK {1 << 4})#| If nothing matches, return the pattern. |# -(define GLOB_APPEND {1 << 5})#| Append to results of a previous call. |# -(define GLOB_NOESCAPE {1 << 6})#| Backslashes don't quote metacharacters. |# -(define GLOB_PERIOD {1 << 7})#| Leading `.' can be matched by metachars. |# - -(define GLOB_MAGCHAR {1 << 8})#| Set in gl_flags if any metachars seen. |# -(define GLOB_ALTDIRFUNC {1 << 9})#| Use gl_opendir et al functions. |# -(define GLOB_BRACE {1 << 10})#| Expand "{a,b}" to "a" "b". |# -(define GLOB_NOMAGIC {1 << 11})#| If no magic chars, return the pattern. |# -(define GLOB_TILDE {1 << 12})#| Expand ~user and ~ to home directories. |# -(define GLOB_ONLYDIR {1 << 13})#| Match only directories. |# -(define GLOB_TILDE_CHECK {1 << 14})#| Like GLOB_TILDE but return an error - if the user name is not available. |# -(eval-when (expand) - (unless has-curly-infix - (read-disable 'curly-infix))) +(include# "/usr/include/glob.h" define-public) (define-values (glob% globfree%) (let ((this (dynamic-link))) |