summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-04-14 23:35:00 +0200
committerLudovic Courtès <ludo@gnu.org>2021-04-14 23:35:00 +0200
commit095c6f9f859b63fb2e1a3e5c7e1f9adf857f916a (patch)
tree47fb0cedef68fac7b7c1adf5594f2b7456f60eb0
parentsoftware: Only show projects with at least one member. (diff)
software: Guarantee person pointer identity (!).
* software.sxml (define-member): Define 'p'.
-rw-r--r--software.sxml21
1 files changed, 11 insertions, 10 deletions
diff --git a/software.sxml b/software.sxml
index 3afe7ff..cc6a308 100644
--- a/software.sxml
+++ b/software.sxml
@@ -157,16 +157,17 @@
157 table)) 157 table))
158 158
159(define-syntax-rule (define-member person projects ...) 159(define-syntax-rule (define-member person projects ...)
160 (for-each (lambda (project-id) 160 (let ((p person))
161 (let ((project 161 (for-each (lambda (project-id)
162 (hash-table-ref %projects project-id 162 (let ((project
163 (lambda () 163 (hash-table-ref %projects project-id
164 (error (format #false 164 (lambda ()
165 "Unknown project ~a for ~a~%" 165 (error (format #false
166 project-id name)))))) 166 "Unknown project ~a for ~a~%"
167 (set-project-members! 167 project-id name))))))
168 project (cons person (project-members project))))) 168 (set-project-members!
169 (quote (projects ...)))) 169 project (cons p (project-members project)))))
170 (quote (projects ...)))))
170 171
171(define-member (person "Carlos O'Donell") 172(define-member (person "Carlos O'Donell")
172 glibc gcc) 173 glibc gcc)