Changeset main,6


Ignore:
Timestamp:
07/15/2008 09:19:20 PM (15 years ago)
Author:
David Owen <dsowen@…>
branch-nick:
tags
revision id:
dsowen@fugue88.ws-20080715211920-1u7y8ssyhehgo7el
Message:

Don't create scanners at runtime

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/tags.lisp

    r5 r6  
    4040    (cl-ppcre:regex-replace-all set str #'f)))
    4141
    42 (defun xml-escape-pcdata (str)
    43   (xml-escape "[<>&]" str))
     42(let ((scanner (create-scanner "[<>&]")))
     43  (defun xml-escape-pcdata (str)
     44    (xml-escape scanner str)))
    4445
    45 (defun xml-escape-attr (str)
    46   (xml-escape "['\"]" str))
     46(let ((scanner (create-scanner "['\"]")))
     47  (defun xml-escape-attr (str)
     48    (xml-escape scanner str)))
    4749
    4850
     
    7274      (values name b (nreverse args)))))
    7375
     76(defparameter *nbsp-scanner* (cl-ppcre:create-scanner "([^ ])  ([^ ])"))
     77
    7478(defun do-body (body)
    7579  (do ((item #1=(pop body) #1#))
     
    7882      (string
    7983       (format *tag-out* "~A"
    80                (regex-replace-all "([^ ])  ([^ ])"
     84               (regex-replace-all *nbsp-scanner*
    8185                                  (xml-escape-pcdata item)
    8286                                  "\\1&nbsp; \\2")))
Note: See TracChangeset for help on using the changeset viewer.