[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: standalone url-hexify-string?
From: |
Kin Cho |
Subject: |
Re: standalone url-hexify-string? |
Date: |
25 Apr 2003 08:40:10 -0700 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Hi,
I tried the function on 21.3, but emacs complainted that
mule-sysdep-version isn't defined. (require 'mule) didn't seem
to help either.
-kin
Glenn Morris <gmorris+news@ast.cam.ac.uk> writes:
> Kin Cho wrote:
>
> > Anybody has a standalone version of this for gnu emacs?
>
> Version on my system is defined as:
>
>
> (defconst url-unreserved-chars
> '(
> ?a ?b ?c ?d ?e ?f ?g ?h ?i ?j ?k ?l ?m ?n ?o ?p ?q ?r ?s ?t ?u ?v ?w ?x
> ?y ?z
> ?A ?B ?C ?D ?E ?F ?G ?H ?I ?J ?K ?L ?M ?N ?O ?P ?Q ?R ?S ?T ?U ?V ?W ?X
> ?Y ?Z
> ?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9
> ?$ ?- ?_ ?. ?! ?~ ?* ?' ?\( ?\) ?,)
> "A list of characters that are _NOT_ reserve in the URL spec.
> This is taken from draft-fielding-url-syntax-02.txt - check your local
> internet drafts directory for a copy.")
>
> (defun url-hexify-string (str)
> "Escape characters in a string"
> (mapconcat
> (function
> (lambda (char)
> (if (not (memq char url-unreserved-chars))
> (if (< char 16)
> (upcase (format "%%0%x" char))
> (upcase (format "%%%x" char)))
> (char-to-string char))))
> (mule-decode-string str) ""))
>
> (defun mule-decode-string (str)
> (and str
> (case mule-sysdep-version
> ((2.4 3.0 xemacs)
> (decode-coding-string str mule-retrieval-coding-system))
> (2.3
> (code-convert-string str *internal* mule-retrieval-coding-system))
> ;;; ((4.0 4.1)
> ((4.0 4.1 5.0) ; Emacs 21
> (if default-enable-multibyte-characters
> (decode-coding-string str mule-retrieval-coding-system)
> str))
> (otherwise
> str))))
>
>
> I seem to have mule-retrieval-coding-system set to 'euc-japan.