Function: extract-url-fnlist

Documentation

Parses urls consisted of <specializer>_:<arg>/ into tuples to be used for wethod dispatch.

Source

(defun extract-url-fnlist (url)
  "Parses urls consisted of <specializer>_:<arg>/ into tuples to be used for wethod dispatch."
  ;; should  "ab_c__:d/:efg/hij/_:klm" be legal?
  (let ((arg-regex (create-scanner "([^/:]+_)?:[^/]+"))
	(split-regex (create-scanner "_?:"))
	(args nil))
    (do-matches-as-strings (m arg-regex url)
      (push m args))
    (mapcar
     (fn (arg) (split split-regex arg))
     (nreverse args))))
Source Context