Index: setup.scm ================================================================== --- setup.scm +++ setup.scm @@ -95,20 +95,23 @@ (session:load-model s:session model)) (define (s:model-path model) (session:model-path s:session model)) -;; share data between pages calls +;; share data between pages calls. NOTE: This is not persistent +;; between cgi calls. Use sessionvars for that. ;; (define (s:shared-hash) (sdat-get-shared-hash s:session)) (define (s:shared-set! key val) (hash-table-set! (sdat-get-shared-hash s:session) key val)) +;; What to return when no value for key? +;; (define (s:shared-get key) - (hash-table-ref (sdat-get-shared-hash s:session) key)) + (hash-table-ref/default (sdat-get-shared-hash s:session) key #f)) ;; http://foo.bar.com/pagename/p1/p2 => '("p1" "p2") ;; (define (s:get-page-params) (sdat-get-page-params s:session)) Index: stml.scm ================================================================== --- stml.scm +++ stml.scm @@ -89,10 +89,11 @@ (define (s:dl . args) (s:common-tag "DL" args)) (define (s:dt . args) (s:common-tag "DT" args)) (define (s:dd . args) (s:common-tag "DD" args)) (define (s:pre . args) (s:common-tag "PRE" args)) (define (s:span . args) (s:common-tag "SPAN" args)) +(define (s:label . args) (s:common-tag "LABEL" args)) (define (s:dblquote . args) (let* ((inputs (s:extract args)) (data (caar inputs)) (params (s:process-params (cadr inputs))))