summaryrefslogtreecommitdiff
path: root/lisp/gnus/gnus-sync.el
diff options
context:
space:
mode:
authorKatsumi Yamaoka <yamaoka@jpl.org>2012-12-05 02:26:15 +0000
committerKatsumi Yamaoka <yamaoka@jpl.org>2012-12-05 02:26:15 +0000
commit066f0e09bc17809beeb6b6c20e3032d0f4420795 (patch)
treec98318b906347a135d21c04d6202a6ce38688e3c /lisp/gnus/gnus-sync.el
parent49596095d09227d828ffb6fed955ba0b660b4d92 (diff)
downloademacs-066f0e09bc17809beeb6b6c20e3032d0f4420795.tar.gz
emacs-066f0e09bc17809beeb6b6c20e3032d0f4420795.tar.bz2
emacs-066f0e09bc17809beeb6b6c20e3032d0f4420795.zip
gmm-util.el: Re-introduce gmm-flet using cl-letf
Diffstat (limited to 'lisp/gnus/gnus-sync.el')
-rw-r--r--lisp/gnus/gnus-sync.el26
1 files changed, 11 insertions, 15 deletions
diff --git a/lisp/gnus/gnus-sync.el b/lisp/gnus/gnus-sync.el
index 895a5e4d9a5..e2a71f0ee01 100644
--- a/lisp/gnus/gnus-sync.el
+++ b/lisp/gnus/gnus-sync.el
@@ -88,6 +88,7 @@
(require 'gnus)
(require 'gnus-start)
(require 'gnus-util)
+(require 'gmm-utils)
(defvar gnus-topic-alist) ;; gnus-group.el
(eval-when-compile
@@ -176,21 +177,16 @@ and `gnus-topic-alist'. Also see `gnus-variable-list'."
(defun gnus-sync-lesync-call (url method headers &optional kvdata)
"Make an access request to URL using KVDATA and METHOD.
KVDATA must be an alist."
- (let ((orig-json-alist-p (symbol-function 'json-alist-p)))
- (fset 'json-alist-p
- (lambda (list) (gnus-sync-json-alist-p list))) ; temp patch
- (unwind-protect
- (let ((url-request-method method)
- (url-request-extra-headers headers)
- (url-request-data (if kvdata (json-encode kvdata) nil)))
- (with-current-buffer (url-retrieve-synchronously url)
- (let ((data (gnus-sync-lesync-parse)))
- (gnus-message
- 12 "gnus-sync-lesync-call: %s URL %s sent %S got %S"
- method url `((headers . ,headers) (data ,kvdata)) data)
- (kill-buffer (current-buffer))
- data)))
- (fset 'json-alist-p orig-json-alist-p))))
+ (gmm-flet ((json-alist-p (list) (gnus-sync-json-alist-p list))) ; temp patch
+ (let ((url-request-method method)
+ (url-request-extra-headers headers)
+ (url-request-data (if kvdata (json-encode kvdata) nil)))
+ (with-current-buffer (url-retrieve-synchronously url)
+ (let ((data (gnus-sync-lesync-parse)))
+ (gnus-message 12 "gnus-sync-lesync-call: %s URL %s sent %S got %S"
+ method url `((headers . ,headers) (data ,kvdata)) data)
+ (kill-buffer (current-buffer))
+ data)))))
(defun gnus-sync-lesync-PUT (url headers &optional data)
(gnus-sync-lesync-call url "PUT" headers data))