Changeset 15361 in project


Ignore:
Timestamp:
08/07/09 15:22:17 (10 years ago)
Author:
sjamaan
Message:

Fix (named) URL parsing and add it to the tests

Location:
release/4/wiki-parse
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • release/4/wiki-parse/test.wiki

    r15305 r15361  
    88 [syntax] (function ARGUMENT ...)
    99
    10 Function definition.
     10Function definition. [[http://example.com/foo|More information]] here.
    1111
    1212=== Second section
  • release/4/wiki-parse/wiki-parse.scm

    r15305 r15361  
    146146        (wiki-col-rx
    147147         (irregex "\\|\\|"))
     148        (wiki-named-url-rx
     149         (irregex "\\[\\[((?:https?|ftp):/+[\\-+.,_/%?&~=:\\w]+[\\-+_/%?&~=:\\w])\\|[ \t\n]*([^\\]]*)\\]\\]"))
     150        (wiki-url-rx
     151         (irregex "((?:https?|ftp):/+[\\-+.,_/%?&~=:\\w]+[\\-+_/%?&~=:\\w])"))
    148152        (wiki-word-rx
    149153         (irregex "\\[\\[([^\\]|]+)(?:\\| *([^\\]|]+))?\\]\\]"))
    150154        (wiki-special-rx
    151          (irregex "\\[\\[([a-z]+):([^\\]]*)\\]\\]"))
    152         (wiki-url-rx
    153          (irregex "((?:https?|ftp):/+[\\-+.,_/%?&~=:\\w]+[\\-+_/%?&~=:\\w])"))
    154         (wiki-named-url-rx
    155          (irregex "\\[((?:https?|ftp):/+[\\-+.,_/%?&~=:\\w]+[\\-+_/%?&~=:\\w])\\|[ \t\n]+([^\\]]*)\\]")))
     155         (irregex "\\[\\[([a-z]+):([^\\]]*)\\]\\]")))
    156156    (lambda (str)
    157157      (irregex-multi-fold
     
    185185                   (wiki-parse-inline (irregex-match-substring m 1))
    186186                   #f)))
    187          (,wiki-special-rx
    188           ,(lambda (m) (list 'special (string->symbol (irregex-match-substring m 1))
    189                              (string-trim-both (irregex-match-substring m 2)))))
    190          (,wiki-word-rx
    191           ,(lambda (m)
    192              (list 'wiki
    193                    (irregex-match-substring m 1)
    194                    (irregex-match-substring m 2))))
    195187         (,wiki-named-url-rx
    196188          ,(lambda (m)
     
    203195                   (irregex-match-substring m 1)
    204196                   (irregex-match-substring m 1))))
     197         (,wiki-word-rx
     198          ,(lambda (m)
     199             (list 'wiki
     200                   (irregex-match-substring m 1)
     201                   (irregex-match-substring m 2))))
     202         (,wiki-special-rx
     203          ,(lambda (m) (list 'special (string->symbol (irregex-match-substring m 1))
     204                             (string-trim-both (irregex-match-substring m 2)))))
    205205         (,wiki-blockquote-rx
    206206          ,(lambda (m) (list 'blockquote (irregex-match-substring m 1))))
Note: See TracChangeset for help on using the changeset viewer.