diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-04-14 23:35:00 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-04-14 23:35:00 +0200 |
commit | 095c6f9f859b63fb2e1a3e5c7e1f9adf857f916a (patch) | |
tree | 47fb0cedef68fac7b7c1adf5594f2b7456f60eb0 | |
parent | software: Only show projects with at least one member. (diff) |
software: Guarantee person pointer identity (!).
* software.sxml (define-member): Define 'p'.
-rw-r--r-- | software.sxml | 21 |
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) |