emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] [PATCH 06/16] Inline function to properly decode utf8 characte


From: David Maus
Subject: [Orgmode] [PATCH 06/16] Inline function to properly decode utf8 characters in Emacs 22
Date: Sun, 13 Feb 2011 13:01:08 +0100

* org-macs.el (org-char-to-string): Inline function to properly decode
utf8 characters in Emacs 22.  Moved and renamed from org-protocol.el.

* org-protocol.el (org-protocol-unhex-compound): Use renamed inline
function.
---
 lisp/org-macs.el     |    9 ++++++++-
 lisp/org-protocol.el |   13 +------------
 2 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/lisp/org-macs.el b/lisp/org-macs.el
index 5a56123..4451a54 100644
--- a/lisp/org-macs.el
+++ b/lisp/org-macs.el
@@ -35,7 +35,14 @@
 
 (eval-and-compile
   (unless (fboundp 'declare-function)
-    (defmacro declare-function (fn file &optional arglist fileonly))))
+    (defmacro declare-function (fn file &optional arglist fileonly)))
+  (if (>= emacs-major-version 23)
+      (defsubst org-char-to-string(c)
+       "Defsubst to decode UTF-8 character values in emacs 23 and beyond."
+       (char-to-string c))
+    (defsubst org-char-to-string (c)
+      "Defsubst to decode UTF-8 character values in emacs 22."
+      (string (decode-char 'ucs c)))))
 
 (declare-function org-add-props "org-compat" (string plist &rest props))
 (declare-function org-string-match-p "org-compat" (&rest args))
diff --git a/lisp/org-protocol.el b/lisp/org-protocol.el
index 33878a8..eb77f02 100644
--- a/lisp/org-protocol.el
+++ b/lisp/org-protocol.el
@@ -292,17 +292,6 @@ part."
          (mapcar 'org-protocol-unhex-string split-parts))
       split-parts)))
 
-;; This inline function is needed in org-protocol-unhex-compound to do
-;; the right thing to decode UTF-8 char integer values.
-(eval-when-compile
-  (if (>= emacs-major-version 23)
-      (defsubst org-protocol-char-to-string(c)
-       "Defsubst to decode UTF-8 character values in emacs 23 and beyond."
-       (char-to-string c))
-    (defsubst org-protocol-char-to-string (c)
-      "Defsubst to decode UTF-8 character values in emacs 22."
-      (string (decode-char 'ucs c)))))
-
 (defun org-protocol-unhex-string(str)
   "Unhex hexified unicode strings as returned from the JavaScript function
 encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `รถ'."
@@ -357,7 +346,7 @@ Note: this function also decodes single byte encodings like
        (if (> eat 0) (setq eat (- eat 1)))
        (cond
         ((= 0 eat)                         ;multi byte
-         (setq ret (concat ret (org-protocol-char-to-string sum)))
+         (setq ret (concat ret (org-char-to-string sum)))
          (setq sum 0))
         ((not bytes)                       ; single byte(s)
          (setq ret (org-protocol-unhex-single-byte-sequence hex))))
-- 
1.7.2.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]