mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 17:24:23 +00:00
; Fix last change
* lisp/url/url-util.el (url-build-query-string): Move to after the definition of 'url-query-key-value-allowed-chars'.
This commit is contained in:
parent
40629706b1
commit
f6c20ed5d5
1 changed files with 41 additions and 40 deletions
|
|
@ -242,46 +242,6 @@ Will not do anything if `url-show-status' is nil."
|
|||
(setq retval (cons (list key val) retval)))))
|
||||
retval))
|
||||
|
||||
;;;###autoload
|
||||
(defun url-build-query-string (query &optional semicolons keep-empty)
|
||||
"Build a query-string.
|
||||
|
||||
Given a QUERY in the form:
|
||||
((key1 val1)
|
||||
(key2 val2)
|
||||
(key3 val1 val2)
|
||||
(key4)
|
||||
(key5 \"\"))
|
||||
|
||||
\(This is the same format as produced by `url-parse-query-string')
|
||||
|
||||
This will return a string
|
||||
\"key1=val1&key2=val2&key3=val1&key3=val2&key4&key5\". Keys may
|
||||
be strings or symbols; if they are symbols, the symbol name will
|
||||
be used.
|
||||
|
||||
When SEMICOLONS is given, the separator will be \";\".
|
||||
|
||||
When KEEP-EMPTY is given, empty values will show as \"key=\"
|
||||
instead of just \"key\" as in the example above."
|
||||
(mapconcat
|
||||
(lambda (key-vals)
|
||||
(let ((escaped
|
||||
(mapcar (lambda (sym)
|
||||
(url-hexify-string (format "%s" sym) url-query-key-value-allowed-chars))
|
||||
key-vals)))
|
||||
(mapconcat (lambda (val)
|
||||
(let ((vprint (format "%s" val))
|
||||
(eprint (format "%s" (car escaped))))
|
||||
(concat eprint
|
||||
(if (or keep-empty
|
||||
(and val (not (zerop (length vprint)))))
|
||||
"="
|
||||
"")
|
||||
vprint)))
|
||||
(or (cdr escaped) '("")) (if semicolons ";" "&"))))
|
||||
query (if semicolons ";" "&")))
|
||||
|
||||
(defun url-unhex (x)
|
||||
(if (> x ?9)
|
||||
(if (>= x ?a)
|
||||
|
|
@ -449,6 +409,47 @@ should return it unchanged."
|
|||
(url-hexify-string frag url-query-allowed-chars)))
|
||||
(url-recreate-url obj)))
|
||||
|
||||
;;;###autoload
|
||||
(defun url-build-query-string (query &optional semicolons keep-empty)
|
||||
"Build a query-string.
|
||||
|
||||
Given a QUERY in the form:
|
||||
((key1 val1)
|
||||
(key2 val2)
|
||||
(key3 val1 val2)
|
||||
(key4)
|
||||
(key5 \"\"))
|
||||
|
||||
\(This is the same format as produced by `url-parse-query-string')
|
||||
|
||||
This will return a string
|
||||
\"key1=val1&key2=val2&key3=val1&key3=val2&key4&key5\". Keys may
|
||||
be strings or symbols; if they are symbols, the symbol name will
|
||||
be used.
|
||||
|
||||
When SEMICOLONS is given, the separator will be \";\".
|
||||
|
||||
When KEEP-EMPTY is given, empty values will show as \"key=\"
|
||||
instead of just \"key\" as in the example above."
|
||||
(mapconcat
|
||||
(lambda (key-vals)
|
||||
(let ((escaped
|
||||
(mapcar (lambda (sym)
|
||||
(url-hexify-string (format "%s" sym)
|
||||
url-query-key-value-allowed-chars))
|
||||
key-vals)))
|
||||
(mapconcat (lambda (val)
|
||||
(let ((vprint (format "%s" val))
|
||||
(eprint (format "%s" (car escaped))))
|
||||
(concat eprint
|
||||
(if (or keep-empty
|
||||
(and val (not (zerop (length vprint)))))
|
||||
"="
|
||||
"")
|
||||
vprint)))
|
||||
(or (cdr escaped) '("")) (if semicolons ";" "&"))))
|
||||
query (if semicolons ";" "&")))
|
||||
|
||||
;;;###autoload
|
||||
(defun url-file-extension (fname &optional x)
|
||||
"Return the filename extension of FNAME.
|
||||
|
|
|
|||
Loading…
Reference in a new issue