From: Mark H Weaver Date: Fri, 13 Sep 2013 04:24:04 +0000 (-0400) Subject: Merge remote-tracking branch 'origin/stable-2.0' X-Git-Url: https://git.hcoop.net/bpt/guile.git/commitdiff_plain/c04bf4337b88ea45641065b7fe70dd0973b8ce94 Merge remote-tracking branch 'origin/stable-2.0' Conflicts: module/srfi/srfi-9.scm module/web/server.scm --- c04bf4337b88ea45641065b7fe70dd0973b8ce94 diff --cc module/web/server.scm index affc2e6b6,99196faf9..471bb98de --- a/module/web/server.scm +++ b/module/web/server.scm @@@ -164,14 -165,9 +165,11 @@@ values. #:post-error (lambda _ (values #f #f #f)))) (define (extend-response r k v . additional) + (define (extend-alist alist k v) + (let ((pair (assq k alist))) + (acons k v (if pair (delq pair alist) alist)))) - (let ((r (build-response #:version (response-version r) - #:code (response-code r) - #:headers - (extend-alist (response-headers r) k v) - #:port (response-port r)))) + (let ((r (set-field r (response-headers) - (assoc-set! (copy-tree (response-headers r)) - k v)))) ++ (extend-alist (response-headers r) k v)))) (if (null? additional) r (apply extend-response r additional))))