[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/xml-rpc 68d54c3c0f 11/64: (xml-rpc-xml-list-to-value): Mak
From: |
Stefan Kangas |
Subject: |
[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. |
Date: |
Fri, 31 Dec 2021 20:10:55 -0500 (EST) |
branch: elpa/xml-rpc
commit 68d54c3c0f794e4f71a7f03585b54748b0f3acca
Author: Mark A. Hershberger <mah@everybody.org>
Commit: Mark A. Hershberger <mah@everybody.org>
(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.
---
xml-rpc.el | 275 ++++++++++++++++++++++++++++++++-----------------------------
1 file changed, 144 insertions(+), 131 deletions(-)
diff --git a/xml-rpc.el b/xml-rpc.el
index 1ccb53ddb1..dd08417410 100644
--- a/xml-rpc.el
+++ b/xml-rpc.el
@@ -1,18 +1,19 @@
;;; xml-rpc.el --- An elisp implementation of clientside XML-RPC
+;; Copyright (C) 2002-2009 Mark A. Hershberger
;; Copyright (C) 2001 CodeFactory AB.
;; Copyright (C) 2001 Daniel Lundin.
-;; Parts Copyright (C) 2002-2005 Mark A. Hershberger
-
;; Copyright (C) 2006 Shun-ichi Goto
;; Modified for non-ASCII character handling.
-;; Author: Daniel Lundin <daniel@codefactory.se>
-;; Maintainer: Mark A. Hershberger <mah@everybody.org>
-;; Version: 1.6.4.1
+;; Author: Mark A. Hershberger <mah@everybody.org>
+;; Original Author: Daniel Lundin <daniel@codefactory.se>
+;; Version: 1.6.5
;; Created: May 13 2001
;; Keywords: xml rpc network
;; URL: http://emacswiki.org/emacs/xml-rpc.el
+;; Last Modified: <2009-08-04 14:01:05 mah>
+;; Package-Requires: url
;; This file is NOT (yet) part of GNU Emacs.
@@ -64,6 +65,7 @@
;; string: "foo"
;; array: '(1 2 3 4) '(1 2 3 (4.1 4.2))
;; struct: '(("name" . "daniel") ("height" . 6.1))
+;; dateTime: (:datetime (1234 124))
;; Examples
@@ -112,6 +114,8 @@
;;; History:
+;; 1.6.5 - Made handling of dateTime elements more robust.
+
;; 1.6.4.1 - Updated to work with both Emacs22 and Emacs23.
;; 1.6.2.2 - Modified to allow non-ASCII string again.
@@ -158,9 +162,9 @@
;;; Code:
-(require 'custom)
(require 'xml)
(require 'url)
+(require 'timezone)
(eval-when-compile
(require 'cl))
@@ -289,7 +293,7 @@ interpreting and simplifying it while retaining its
structure."
(fault-code (cdr (assoc "faultCode" struct))))
(list 'fault fault-code fault-string)))
;; DateTime
- ((eq valtype 'dateTime\.iso8601)
+ ((eq valtype 'dateTime.iso8601)
(list :datetime (date-to-time valvalue)))
((eq valtype 'dateTime)
(list :datetime (date-to-time valvalue)))
@@ -308,7 +312,7 @@ interpreting and simplifying it while retaining its
structure."
(defun xml-rpc-datetime-to-string (value)
"Convert a date time to a valid XML-RPC date"
- (format-time-string "%Y%m%dT%H%M%S%z" value))
+ (format-time-string "%Y%m%dT%H%M%S%z" (cadr value)))
(defun xml-rpc-value-to-xml-list (value)
"Return XML representation of VALUE properly formatted for use with the \
@@ -469,8 +473,8 @@ or nil if called with ASYNC-CALLBACK-FUNCTION."
(cons "Connection" "keep-alive")
(cons "Content-Type"
"text/xml; charset=utf-8"))))
- (if (> xml-rpc-debug 1)
- (print url-request-data (create-file-buffer "request-data")))
+ (when (> xml-rpc-debug 1)
+ (print url-request-data (create-file-buffer "request-data")))
(cond ((boundp 'url-be-asynchronous) ; Sniff for w3 lib capability
(if async-callback-function
@@ -483,14 +487,13 @@ or nil if called with ASYNC-CALLBACK-FUNCTION."
(setq url-be-asynchronous nil))
(url-retrieve server-url t)
- (if url-be-asynchronous
- nil
+ (when (not url-be-asynchronous)
(let ((result (xml-rpc-request-process-buffer
url-working-buffer)))
- (if (> xml-rpc-debug 1)
- (save-excursion
- (set-buffer (create-file-buffer "result-data"))
- (insert result)))
+ (when (> xml-rpc-debug 1)
+ (save-excursion
+ (set-buffer (create-file-buffer "result-data"))
+ (insert result)))
result)))
(t ; Post emacs20 w3-el
(if async-callback-function
@@ -498,14 +501,14 @@ or nil if called with ASYNC-CALLBACK-FUNCTION."
(let ((buffer (url-retrieve-synchronously server-url))
result)
(with-current-buffer buffer
- (if (not (numberp url-http-response-status))
- ;; this error may occur when keep-alive bug
- ;; of url-http.el is not cleared.
- (error "Why? url-http-response-status is %s"
- url-http-response-status))
- (if (> url-http-response-status 299)
- (error "Error during request: %s"
- url-http-response-status)))
+ (when (not (numberp url-http-response-status))
+ ;; this error may occur when keep-alive bug
+ ;; of url-http.el is not cleared.
+ (error "Why? url-http-response-status is %s"
+ url-http-response-status))
+ (when (> url-http-response-status 299)
+ (error "Error during request: %s"
+ url-http-response-status)))
(xml-rpc-request-process-buffer buffer)))))))))
@@ -530,8 +533,8 @@ or nil if called with ASYNC-CALLBACK-FUNCTION."
; a string, so clean it.
((stringp elem)
(let ((tmp (xml-rpc-clean-string elem)))
- (if (and tmp xml-rpc-allow-unicode-string)
- (setq tmp (decode-coding-string tmp 'utf-8)))
+ (when (and tmp xml-rpc-allow-unicode-string)
+ (setq tmp (decode-coding-string tmp 'utf-8)))
(if tmp
(setq result (append result (list tmp)))
result)))
@@ -565,7 +568,8 @@ or nil if called with ASYNC-CALLBACK-FUNCTION."
(result (cond
;; A probable XML response
((looking-at "<\\?xml ")
- (xml-rpc-clean (xml-parse-region (point-min)
(point-max))))
+ (xml-rpc-clean (xml-parse-region (point-min)
+ (point-max))))
;; No HTTP status returned
((not status)
@@ -582,6 +586,8 @@ or nil if called with ASYNC-CALLBACK-FUNCTION."
;; Valid HTTP status
(t
(int-to-string status)))))
+ (when (< xml-rpc-debug 3)
+ (kill-buffer (current-buffer)))
result))))
@@ -589,8 +595,8 @@ or nil if called with ASYNC-CALLBACK-FUNCTION."
"Marshall a callback function request to CALLBACK-FUN with the results \
handled from XML-BUFFER."
(let ((xml-response (xml-rpc-request-process-buffer xml-buffer)))
- (if (< xml-rpc-debug 1)
- (kill-buffer xml-buffer))
+ (when (< xml-rpc-debug 1)
+ (kill-buffer xml-buffer))
(funcall callback-fun (xml-rpc-xml-to-response xml-response))))
@@ -610,8 +616,8 @@ called with the result as parameter."
(car-safe params))))
(m-func-call `((methodCall nil (methodName nil ,m-name)
,(append '(params nil) m-params)))))
- (if (> xml-rpc-debug 1)
- (print m-func-call (create-file-buffer "func-call")))
+ (when (> xml-rpc-debug 1)
+ (print m-func-call (create-file-buffer "func-call")))
(xml-rpc-request server-url m-func-call async-callback-func)))
(defun xml-rpc-method-call (server-url method &rest params)
@@ -685,8 +691,10 @@ The first line is indented with INDENT-STRING."
(insert ?< ?/ (symbol-name (xml-node-name xml)) ?>))))))
(eval-when-compile
- (defun timezone-parse-date (date)
- "Parse DATE and return a vector [YEAR MONTH DAY TIME TIMEZONE].
+ (let ((tdate (timezone-parse-date "20090101T010101Z")))
+ (when (not (string-equal (aref tdate 0) "2009"))
+ (defun timezone-parse-date (date)
+ "Parse DATE and return a vector [YEAR MONTH DAY TIME TIMEZONE].
Two-digit dates are `windowed'. Those <69 have 2000 added; otherwise 1900
is added. Three-digit dates have 1900 added.
TIMEZONE is nil for DATEs without a zone field.
@@ -700,106 +708,111 @@ Understands the following styles:
(6) Thu, 11 Apr 16:17:12 91 [MET]
(7) Mon, 6 Jul 16:47:20 T 1992 [MET]
(8) 1996-06-24 21:13:12 [GMT]
- (9) 1996-06-24 21:13-ZONE"
- ;; Get rid of any text properties.
- (and (stringp date)
- (or (text-properties-at 0 date)
- (next-property-change 0 date))
- (setq date (copy-sequence date))
- (set-text-properties 0 (length date) nil date))
- (let ((date (or date ""))
- (year nil)
- (month nil)
- (day nil)
- (time nil)
- (zone nil)) ;This may be nil.
- (cond ((string-match
- "\\([0-9]+\\)[ \t]+\\([^ \t,]+\\)[ \t]+\\([0-9]+\\)[
\t]+\\([0-9]+:[0-9:]+\\)[ \t]+\\([-+a-zA-Z0-9]+\\)" date)
- ;; Styles: (1) and (2) with timezone and buggy timezone
- ;; This is most common in mail and news,
- ;; so it is worth trying first.
- (setq year 3 month 2 day 1 time 4 zone 5))
- ((string-match
- "\\([0-9]+\\)[ \t]+\\([^ \t,]+\\)[ \t]+\\([0-9]+\\)[
\t]+\\([0-9]+:[0-9:]+\\)[ \t]*\\'" date)
- ;; Styles: (1) and (2) without timezone
- (setq year 3 month 2 day 1 time 4 zone nil))
- ((string-match
- "\\([^ \t,]+\\),[ \t]+\\([0-9]+\\)[ \t]+\\([^ \t,]+\\)[
\t]+\\([0-9]+:[0-9:]+\\)[ \t]+\\(T[ \t]+\\|\\)\\([0-9]+\\)[ \t]*\\'" date)
- ;; Styles: (6) and (7) without timezone
- (setq year 6 month 3 day 2 time 4 zone nil))
- ((string-match
- "\\([^ \t,]+\\),[ \t]+\\([0-9]+\\)[ \t]+\\([^ \t,]+\\)[
\t]+\\([0-9]+:[0-9:]+\\)[ \t]+\\(T[ \t]+\\|\\)\\([0-9]+\\)[
\t]*\\([-+a-zA-Z0-9]+\\)" date)
- ;; Styles: (6) and (7) with timezone and buggy timezone
- (setq year 6 month 3 day 2 time 4 zone 7))
- ((string-match
- "\\([^ \t,]+\\)[ \t]+\\([0-9]+\\)[ \t]+\\([0-9]+:[0-9:]+\\)[
\t]+\\([0-9]+\\)" date)
- ;; Styles: (3) without timezone
- (setq year 4 month 1 day 2 time 3 zone nil))
- ((string-match
- "\\([^ \t,]+\\)[ \t]+\\([0-9]+\\)[ \t]+\\([0-9]+:[0-9:]+\\)[
\t]+\\([-+a-zA-Z0-9]+\\)[ \t]+\\([0-9]+\\)" date)
- ;; Styles: (3) with timezone
- (setq year 5 month 1 day 2 time 3 zone 4))
- ((string-match
- "\\([0-9]+\\)[ \t]+\\([^ \t,]+\\)[ \t]+\\([0-9]+\\)[
\t]+\\([0-9]+\\)[ \t]*\\([-+a-zA-Z0-9]+\\)" date)
- ;; Styles: (4) with timezone
- (setq year 3 month 2 day 1 time 4 zone 5))
- ((string-match
- "\\([0-9]+\\)-\\([A-Za-z]+\\)-\\([0-9]+\\)[
\t]+\\([0-9]+:[0-9]+:[0-9]+\\)\\(\\.[0-9]+\\)?[ \t]+\\([-+a-zA-Z0-9]+\\)" date)
- ;; Styles: (5) with timezone.
- (setq year 3 month 2 day 1 time 4 zone 6))
- ((string-match
- "\\([0-9]+\\)-\\([A-Za-z]+\\)-\\([0-9]+\\)[
\t]+\\([0-9]+:[0-9]+:[0-9]+\\)\\(\\.[0-9]+\\)?" date)
- ;; Styles: (5) without timezone.
- (setq year 3 month 2 day 1 time 4 zone nil))
- ((string-match
- "\\([0-9]+\\)-\\([0-9]+\\)-\\([0-9]+\\)[
\t]+\\([0-9]+:[0-9]+:[0-9]+\\)[ \t]+\\([-+a-zA-Z0-9]+\\)" date)
- ;; Styles: (8) with timezone.
- (setq year 1 month 2 day 3 time 4 zone 5))
- ((string-match
-
"\\([0-9]\\{4\\}\\)-?\\([0-9]\\{0,2\\}\\)-?\\([0-9]\\{0,2\\}\\)[T
\t]+\\([0-9]\\{0,2\\}:?[0-9]\\{0,2\\}:?[0-9]\\{0,2\\}\\)[
\t]*\\([-+a-zA-Z]+[0-9:]*\\)" date)
- ;; Styles: (8) with timezone with a colon in it.
- (setq year 1 month 2 day 3 time 4 zone 5))
- ((string-match
-
"\\([0-9]\\{4\\}\\)-?\\([0-9]\\{0,2\\}\\)-?\\([0-9]\\{0,2\\}\\)[T
\t]+\\([0-9]+:?[0-9]+:?[0-9]+\\)" date)
- ;; Styles: (8) without timezone.
- (setq year 1 month 2 day 3 time 4 zone nil)))
-
- (when year
- (setq year (match-string year date))
- ;; Guess ambiguous years. Assume years < 69 don't predate the
- ;; Unix Epoch, so are 2000+. Three-digit years are assumed to
- ;; be relative to 1900.
- (if (< (length year) 4)
- (let ((y (string-to-number year)))
- (if (< y 69)
+ (9) 1996-06-24 21:13-ZONE
+ (10) 19960624T211312"
+ ;; Get rid of any text properties.
+ (and (stringp date)
+ (or (text-properties-at 0 date)
+ (next-property-change 0 date))
+ (setq date (copy-sequence date))
+ (set-text-properties 0 (length date) nil date))
+ (let ((date (or date ""))
+ (year nil)
+ (month nil)
+ (day nil)
+ (time nil)
+ (zone nil)) ;This may be nil.
+ (cond ((string-match
+ "\\([0-9]+\\)[ \t]+\\([^ \t,]+\\)[ \t]+\\([0-9]+\\)[
\t]+\\([0-9]+:[0-9:]+\\)[ \t]+\\([-+a-zA-Z0-9]+\\)" date)
+ ;; Styles: (1) and (2) with timezone and buggy timezone
+ ;; This is most common in mail and news,
+ ;; so it is worth trying first.
+ (setq year 3 month 2 day 1 time 4 zone 5))
+ ((string-match
+ "\\([0-9]+\\)[ \t]+\\([^ \t,]+\\)[ \t]+\\([0-9]+\\)[
\t]+\\([0-9]+:[0-9:]+\\)[ \t]*\\'" date)
+ ;; Styles: (1) and (2) without timezone
+ (setq year 3 month 2 day 1 time 4 zone nil))
+ ((string-match
+ "\\([^ \t,]+\\),[ \t]+\\([0-9]+\\)[ \t]+\\([^ \t,]+\\)[
\t]+\\([0-9]+:[0-9:]+\\)[ \t]+\\(T[ \t]+\\|\\)\\([0-9]+\\)[ \t]*\\'" date)
+ ;; Styles: (6) and (7) without timezone
+ (setq year 6 month 3 day 2 time 4 zone nil))
+ ((string-match
+ "\\([^ \t,]+\\),[ \t]+\\([0-9]+\\)[ \t]+\\([^ \t,]+\\)[
\t]+\\([0-9]+:[0-9:]+\\)[ \t]+\\(T[ \t]+\\|\\)\\([0-9]+\\)[
\t]*\\([-+a-zA-Z0-9]+\\)" date)
+ ;; Styles: (6) and (7) with timezone and buggy timezone
+ (setq year 6 month 3 day 2 time 4 zone 7))
+ ((string-match
+ "\\([^ \t,]+\\)[ \t]+\\([0-9]+\\)[ \t]+\\([0-9]+:[0-9:]+\\)[
\t]+\\([0-9]+\\)" date)
+ ;; Styles: (3) without timezone
+ (setq year 4 month 1 day 2 time 3 zone nil))
+ ((string-match
+ "\\([^ \t,]+\\)[ \t]+\\([0-9]+\\)[ \t]+\\([0-9]+:[0-9:]+\\)[
\t]+\\([-+a-zA-Z0-9]+\\)[ \t]+\\([0-9]+\\)" date)
+ ;; Styles: (3) with timezone
+ (setq year 5 month 1 day 2 time 3 zone 4))
+ ((string-match
+ "\\([0-9]+\\)[ \t]+\\([^ \t,]+\\)[ \t]+\\([0-9]+\\)[
\t]+\\([0-9]+\\)[ \t]*\\([-+a-zA-Z0-9]+\\)" date)
+ ;; Styles: (4) with timezone
+ (setq year 3 month 2 day 1 time 4 zone 5))
+ ((string-match
+ "\\([0-9]+\\)-\\([A-Za-z]+\\)-\\([0-9]+\\)[
\t]+\\([0-9]+:[0-9]+:[0-9]+\\)\\(\\.[0-9]+\\)?[ \t]+\\([-+a-zA-Z0-9]+\\)" date)
+ ;; Styles: (5) with timezone.
+ (setq year 3 month 2 day 1 time 4 zone 6))
+ ((string-match
+ "\\([0-9]+\\)-\\([A-Za-z]+\\)-\\([0-9]+\\)[
\t]+\\([0-9]+:[0-9]+:[0-9]+\\)\\(\\.[0-9]+\\)?" date)
+ ;; Styles: (5) without timezone.
+ (setq year 3 month 2 day 1 time 4 zone nil))
+ ((string-match
+ "\\([0-9]+\\)-\\([0-9]+\\)-\\([0-9]+\\)[
\t]+\\([0-9]+:[0-9]+:[0-9]+\\)[ \t]+\\([-+a-zA-Z0-9]+\\)" date)
+ ;; Styles: (8) with timezone.
+ (setq year 1 month 2 day 3 time 4 zone 5))
+ ((string-match
+
"\\([0-9]\\{4\\}\\)-?\\([0-9]\\{0,2\\}\\)-?\\([0-9]\\{0,2\\}\\)[T
\t]+\\([0-9]\\{0,2\\}:?[0-9]\\{0,2\\}:?[0-9]\\{0,2\\}\\)[
\t]*\\([-+a-zA-Z]+[0-9:]*\\)" date)
+ ;; Styles: (8) with timezone with a colon in it.
+ (setq year 1 month 2 day 3 time 4 zone 5))
+ ((string-match
+
"\\([0-9]\\{4\\}\\)-?\\([0-9]\\{0,2\\}\\)-?\\([0-9]\\{0,2\\}\\)[T
\t]+\\([0-9]+:?[0-9]+:?[0-9]+\\)" date)
+ ;; Styles: (8) without timezone.
+ (setq year 1 month 2 day 3 time 4 zone nil)))
+
+ (when year
+ (setq year (match-string year date))
+ ;; Guess ambiguous years. Assume years < 69 don't predate the
+ ;; Unix Epoch, so are 2000+. Three-digit years are assumed to
+ ;; be relative to 1900.
+ (when (< (length year) 4)
+ (let ((y (string-to-number year)))
+ (when (< y 69)
(setq y (+ y 100)))
- (setq year (int-to-string (+ 1900 y)))))
- (setq month
- (if (or (= (aref date (+ (match-beginning month) 2)) ?-)
- (let ((n (string-to-number
- (char-to-string
- (aref date (+ (match-beginning month) 2))))))
- (= (aref (number-to-string n) 0)
- (aref date (+ (match-beginning month) 2)))))
- ;; Handle numeric months, spanning exactly two digits.
- (substring date
- (match-beginning month)
- (+ (match-beginning month) 2))
- (let* ((string (substring date
- (match-beginning month)
- (+ (match-beginning month) 3)))
- (monthnum
- (cdr (assoc (upcase string) timezone-months-assoc))))
- (if monthnum
- (int-to-string monthnum)))))
- (setq day (match-string day date))
- (setq time (match-string time date)))
- (if zone (setq zone (match-string zone date)))
- ;; Return a vector.
- (if (and year month)
- (vector year month day time zone)
- (vector "0" "0" "0" "0" nil)))))
+ (setq year (int-to-string (+ 1900 y)))))
+ (setq month
+ (if (or (= (aref date (+ (match-beginning month) 2)) ?-)
+ (let ((n (string-to-number
+ (char-to-string
+ (aref date (+ (match-beginning month)
2))))))
+ (= (aref (number-to-string n) 0)
+ (aref date (+ (match-beginning month) 2)))))
+ ;; Handle numeric months, spanning exactly two digits.
+ (substring date
+ (match-beginning month)
+ (+ (match-beginning month) 2))
+ (let* ((string (substring date
+ (match-beginning month)
+ (+ (match-beginning month) 3)))
+ (monthnum
+ (cdr (assoc (upcase string)
timezone-months-assoc))))
+ (when monthnum
+ (int-to-string monthnum)))))
+ (setq day (match-string day date))
+ (setq time (match-string time date)))
+ (when zone (setq zone (match-string zone date)))
+ ;; Return a vector.
+ (if (and year month)
+ (vector year month day time zone)
+ (vector "0" "0" "0" "0" nil)))))))
(provide 'xml-rpc)
+;; Local Variables:
+;; time-stamp-pattern: "20/^;; Last Modified: <%%>$"
+;; End:
+
;;; xml-rpc.el ends here
- [nongnu] elpa/xml-rpc 960b2510e3 61/64: Update README, (continued)
- [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, 2021/12/31
- [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 <=
- [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
- [nongnu] elpa/xml-rpc 643bbfb5da 30/64: * Apply link from http://rix3.8.je/2009/12/15/emacs%E7%9A%84weblogger1-4-4%E7%9A%84wordpress-patch/, Stefan Kangas, 2021/12/31
- [nongnu] elpa/xml-rpc 79e74a969d 21/64: Some minor housekeeping, bump xml-rpc.el version., Stefan Kangas, 2021/12/31