summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/modules/skribilo/documentation/api.scm14
-rw-r--r--src/guile/skribilo/package/base.scm4
2 files changed, 15 insertions, 3 deletions
diff --git a/doc/modules/skribilo/documentation/api.scm b/doc/modules/skribilo/documentation/api.scm
index 84108c9..052b5fa 100644
--- a/doc/modules/skribilo/documentation/api.scm
+++ b/doc/modules/skribilo/documentation/api.scm
@@ -269,12 +269,24 @@
;*---------------------------------------------------------------------*/
;* doc-check-arguments ... */
;*---------------------------------------------------------------------*/
+(define %undocumented-options
+ ;; Special markup options that don't need to be documented.
+ (list (symbol->keyword '&location)
+ (string->symbol ":&location")
+ '&location))
+
(define (doc-check-arguments id args dargs)
(if (not args)
(skribe-error 'doc-check-arguments id args))
(if (not dargs)
(skribe-error 'doc-check-arguments id dargs))
- (let* ((s1 (map (lambda (x) (if (pair? x) (car x) x)) args))
+ (let* ((s1 (reverse! (fold (lambda (x res)
+ (let ((x (if (pair? x) (car x) x)))
+ (if (memq x %undocumented-options)
+ res
+ (cons x res))))
+ '()
+ args)))
(s2 (map (lambda (x)
(let ((i (car x)))
(if (keyword? i)
diff --git a/src/guile/skribilo/package/base.scm b/src/guile/skribilo/package/base.scm
index a32f3f4..29eb2df 100644
--- a/src/guile/skribilo/package/base.scm
+++ b/src/guile/skribilo/package/base.scm
@@ -693,7 +693,7 @@
(define-markup (table :rest
opts
:key
- (ident #f) (class #f)
+ (ident #f) (class #f) (&location #f)
(border #f) (width #f)
(frame 'none) (rules 'none)
(cellstyle 'collapse) (cellpadding #f) (cellspacing #f))
@@ -734,7 +734,7 @@
(markup 'table)
(ident (or ident (symbol->string (gensym "table"))))
(class class)
- (loc &invocation-location)
+ (loc (or &location &invocation-location))
(required-options '(:width :frame :rules))
(options `((:frame ,frame)
(:rules ,rules)