[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/xml-rpc 417f3d2a94 12/64: (xml-entity-alist): provide a de
From: |
Stefan Kangas |
Subject: |
[nongnu] elpa/xml-rpc 417f3d2a94 12/64: (xml-entity-alist): provide a definition for really old versions of xml.el. (xml-rpc-use-coding-system): Make unicode variables dependent on the existence of utf-8 coding-system. Generally allow use of Emacs that don't understand Unicode -- although the HTTP headers still claim to be UTF-8. Update backwards-compatibility code after testing against XEmacs21. |
Date: |
Fri, 31 Dec 2021 20:10:58 -0500 (EST) |
branch: elpa/xml-rpc
commit 417f3d2a94f8046d30616cb5440a4a36d7e29850
Author: Mark A. Hershberger <mah@everybody.org>
Commit: Mark A. Hershberger <mah@everybody.org>
(xml-entity-alist): provide a definition for really old versions of xml.el.
(xml-rpc-use-coding-system): Make unicode variables dependent on the existence
of utf-8 coding-system. Generally allow use of Emacs that don't understand
Unicode -- although the HTTP headers still claim to be UTF-8. Update
backwards-compatibility code after testing against XEmacs21.
---
xml-rpc.el | 37 +++++++++++++++++++++++++++----------
1 file changed, 27 insertions(+), 10 deletions(-)
diff --git a/xml-rpc.el b/xml-rpc.el
index dd08417410..1e0e6f120d 100644
--- a/xml-rpc.el
+++ b/xml-rpc.el
@@ -172,18 +172,22 @@
"*Hook run after loading xml-rpc."
:type 'hook :group 'xml-rpc)
-(defcustom xml-rpc-allow-unicode-string t
+(defcustom xml-rpc-allow-unicode-string (coding-system-p 'utf-8)
"If non-nil, non-ASCII data is composed as 'value' instead of 'base64'.
And this option overrides `xml-rpc-base64-encode-unicode' and
`xml-rpc-base64-decode-unicode' if set as non-nil."
:type 'boolean :group 'xml-rpc)
-(defcustom xml-rpc-base64-encode-unicode t
+(defcustom xml-rpc-base64-encode-unicode (coding-system-p 'utf-8)
"If non-nil, then strings with non-ascii characters will be turned
into Base64."
:type 'boolean :group 'xml-rpc)
-(defcustom xml-rpc-base64-decode-unicode t
+(defcustom xml-rpc-use-coding-system (if (coding-system-p 'utf-8) 'utf-8
'iso-8859-1)
+ "The coding system to use."
+ :type 'symbol :group 'xml-rpc)
+
+(defcustom xml-rpc-base64-decode-unicode (coding-system-p 'utf-8)
"If non-nil, then base64 strings will be decoded using the
utf-8 coding system."
:type 'boolean :group 'xml-rpc)
@@ -354,8 +358,11 @@ functions in xml.el."
(eq 'ascii (car charset-list)))
(not xml-rpc-base64-encode-unicode))
`((value nil (string nil ,value)))
- `((value nil (base64 nil ,(base64-encode-string
- (encode-coding-string value 'utf-8))))))))
+ `((value nil (base64 nil ,(if xml-rpc-base64-encode-unicode
+ (base64-encode-string
+ (encode-coding-string
+ value xml-rpc-use-coding-system))
+ (base64-encode-string value))))))))
((xml-rpc-value-doublep value)
`((value nil (double nil ,(number-to-string value)))))
(t
@@ -467,7 +474,7 @@ or nil if called with ASYNC-CALLBACK-FUNCTION."
(buffer-string))
"\n"))
(url-mime-charset-string "utf-8;q=1, iso-8859-1;q=0.5")
- (url-request-coding-system 'utf-8)
+ (url-request-coding-system xml-rpc-use-coding-system)
(url-http-attempt-keepalives t)
(url-request-extra-headers (list
(cons "Connection" "keep-alive")
@@ -489,7 +496,7 @@ or nil if called with ASYNC-CALLBACK-FUNCTION."
(when (not url-be-asynchronous)
(let ((result (xml-rpc-request-process-buffer
- url-working-buffer)))
+ (current-buffer))))
(when (> xml-rpc-debug 1)
(save-excursion
(set-buffer (create-file-buffer "result-data"))
@@ -534,7 +541,7 @@ or nil if called with ASYNC-CALLBACK-FUNCTION."
((stringp elem)
(let ((tmp (xml-rpc-clean-string elem)))
(when (and tmp xml-rpc-allow-unicode-string)
- (setq tmp (decode-coding-string tmp 'utf-8)))
+ (setq tmp (decode-coding-string tmp xml-rpc-use-coding-system)))
(if tmp
(setq result (append result (list tmp)))
result)))
@@ -559,12 +566,14 @@ or nil if called with ASYNC-CALLBACK-FUNCTION."
(save-excursion
(set-buffer xml-buffer)
(when (fboundp 'url-uncompress)
- (url-uncompress))
+ (let ((url-working-buffer xml-buffer))
+ (url-uncompress)))
(goto-char (point-min))
(search-forward-regexp "<\\?xml" nil t)
(move-to-column 0)
;; Gather the results
- (let* ((status url-http-response-status)
+ (let* ((status (if (boundp 'url-http-response-status)
+ url-http-response-status 200)) ; Old URL lib
doesn't save the result.
(result (cond
;; A probable XML response
((looking-at "<\\?xml ")
@@ -642,6 +651,14 @@ The first line is indented with the optional
INDENT-STRING."
(defalias 'xml-print 'xml-debug-print)
+ (when (not (boundp 'xml-entity-alist))
+ (defvar xml-entity-alist
+ '(("lt" . "<")
+ ("gt" . ">")
+ ("apos" . "'")
+ ("quot" . "\"")
+ ("amp" . "&"))))
+
(defun xml-escape-string (string)
"Return the string with entity substitutions made from
xml-entity-alist."
- [nongnu] elpa/xml-rpc 86c73a69fa 48/64: Use lexical-binding, (continued)
- [nongnu] elpa/xml-rpc 86c73a69fa 48/64: Use lexical-binding, Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc bc781d6edd 51/64: Merge pull request #15 from skangas/lexical-binding, Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc 960b2510e3 61/64: Update README, Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc bc331d010b 56/64: Test CI, Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc 9fa979302b 63/64: Merge pull request #17 from xml-rpc-el/ci, Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc 7b4d6c4820 04/64: Update copyright. (xml-rpc-response-errorp): make safe., Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc 4efc188b7f 53/64: Merge pull request #13 from skangas/version-number, Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc a190759da8 41/64: Merge pull request #2 from mdorman/master, Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc 7bcf1427b7 07/64: (xml-rpc-value-datep): New function to determine if a string is an ISO date. (xml-rpc-value-to-xml-list): Add support for vector inputs. Add support for strings that are really dates., Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc bfa3f97259 09/64: Clean up long lines, address bugs, use string-to-number instead of obsolete string-to-int., Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc 417f3d2a94 12/64: (xml-entity-alist): provide a definition for really old versions of xml.el. (xml-rpc-use-coding-system): Make unicode variables dependent on the existence of utf-8 coding-system. Generally allow use of Emacs that don't understand Unicode -- although the HTTP headers still claim to be UTF-8. Update backwards-compatibility code after testing against XEmacs21.,
Stefan Kangas <=
- [nongnu] elpa/xml-rpc 725bc20829 14/64: Bump the version. (xml-rpc-fault-string, xml-rpc-fault-code): Defvar some previously un-declared vars. (xml-rpc-value-intp, xml-rpc-value-doublep) (xml-rpc-value-stringp): Change from defun to defsubst for consistency. (xml-rpc-request, xml-rpc-list-to-value, xml-rpc-clean): Fix compilation warnings, Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc 68d54c3c0f 11/64: (xml-rpc-xml-list-to-value): Make sure XML-RPC's dateTime.iso8601 is handled. (xml-rpc-datetime-to-string): Grab the right piece of data. (xml-rpc-request-process-buffer): Kill buffer if not debugging. (timezone-parse-date): Conditionally override if the version we have can't handle iso8601 basic format., Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc cd88a4f5fa 16/64: (xml-rpc-xml-list-to-value): Handle nil for an int gracefully. Consolidate dateTime parsing. (xml-rpc-datetime-to-string): Wordpress expects dateTime elements to match the XML-RPC spec and not ISO8601 spec. (xml-rpc-value-to-xml-list): Switch to iso8601 for default., Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc d3d4460ec9 15/64: typo, Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc 28dfbff291 18/64: Add submit-bug function and mode toggling functionality., Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc 481ed72dff 22/64: update bug reporting function., Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc c20aa6359a 29/64: bump version for continued development, Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc 25c380cab0 28/64: Update release notes, tag 1.6.8, Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc 3b4ac0ebf2 24/64: update urls, Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc 4b21d27d35 25/64: Eliminate xemacs compile warning, Stefan Kangas, 2021/12/31
- Prev by Date:
[nongnu] elpa/xml-rpc bfa3f97259 09/64: Clean up long lines, address bugs, use string-to-number instead of obsolete string-to-int.
- Next by Date:
[nongnu] elpa/xml-rpc 725bc20829 14/64: Bump the version. (xml-rpc-fault-string, xml-rpc-fault-code): Defvar some previously un-declared vars. (xml-rpc-value-intp, xml-rpc-value-doublep) (xml-rpc-value-stringp): Change from defun to defsubst for consistency. (xml-rpc-request, xml-rpc-list-to-value, xml-rpc-clean): Fix compilation warnings
- Previous by thread:
[nongnu] elpa/xml-rpc bfa3f97259 09/64: Clean up long lines, address bugs, use string-to-number instead of obsolete string-to-int.
- Next by thread:
[nongnu] elpa/xml-rpc 725bc20829 14/64: Bump the version. (xml-rpc-fault-string, xml-rpc-fault-code): Defvar some previously un-declared vars. (xml-rpc-value-intp, xml-rpc-value-doublep) (xml-rpc-value-stringp): Change from defun to defsubst for consistency. (xml-rpc-request, xml-rpc-list-to-value, xml-rpc-clean): Fix compilation warnings
- Index(es):