aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-07-29 23:58:42 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-07-29 23:58:42 +0200
commit2d70e02128cb951a5c1a80b0b1ae4a83304a231a (patch)
tree40a84aa74a52549fb82f810a2de4032d1fc1d9ac
parentMerge mod!:s functionality into set! (diff)
downloadcalp-2d70e02128cb951a5c1a80b0b1ae4a83304a231a.tar.gz
calp-2d70e02128cb951a5c1a80b0b1ae4a83304a231a.tar.xz
Make glob.scm use include#.
-rw-r--r--module/glob.scm30
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)))