Changeset 11802 in project


Ignore:
Timestamp:
08/29/08 23:21:17 (13 years ago)
Author:
sjamaan
Message:

Further simplifications. This removed all instances of set! from the code :)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/4/uri-generic/trunk/uri-generic.scm

    r11801 r11802  
    745745                                authority: (uri-auth base)
    746746                                path: (just-segments ref))
    747                     ;; This one should be simpler
    748                     (let ((x (update-URI ref
    749                                          scheme: (uri-scheme base)
    750                                          authority: (uri-auth base)
    751                                          path: (merge-paths base ref))))
    752                       (URI-path-set! x (just-segments x))
    753                       x))))
    754              ;; This one should be simpler, too
    755              ((uri-query ref) (let ((x (update-URI ref
    756                                                    scheme: (uri-scheme base)
    757                                                    authority: (uri-auth base)
    758                                                    path: (list "/"))))
    759                                 (URI-path-set! x (merge-paths base x))
    760                                 (URI-path-set! x (just-segments x))
    761                                 x))
     747                    (update-URI ref
     748                                scheme: (uri-scheme base)
     749                                authority: (uri-auth base)
     750                                path: (merge-paths base (URI-path ref))))))
     751             ((uri-query ref) (update-URI ref
     752                                          scheme: (uri-scheme base)
     753                                          authority: (uri-auth base)
     754                                          path: (merge-paths base (list "/"))))
    762755             (else (update-URI ref
    763756                               path: (URI-path base)
     
    778771    (append pb1 pr1)))
    779772
    780 (define (merge-paths b r)
     773(define (merge-paths b pr)  ; pr is a path, *not* a URI object
    781774  (let ((ba (uri-authority b))
    782         (pb (uri-path b))
    783         (pr (uri-path r)))
     775        (pb (uri-path b)))
    784776    (let ((mp  (if (and ba (null? pb)) (cons "/" pr) (merge0 pb pr))))
    785       mp)))
     777      (remove-dot-segments mp))))
    786778
    787779(define (uri-non-strict-relative-to ref base)
     
    844836                     authority: #f
    845837                     path: (list)))
    846         (else (update-URI uabs
    847                           scheme: #f
    848                           authority: #f
    849                           query: #f
    850                           path: (list)))))
     838        (else
     839         (update-URI uabs
     840                     scheme: #f
     841                     authority: #f
     842                     query: #f
     843                     path: (list)))))
    851844
    852845(define (ucdiff? sel u1 u2)
Note: See TracChangeset for help on using the changeset viewer.