diff options
author | Katsumi Yamaoka <yamaoka@jpl.org> | 2012-12-05 02:26:15 +0000 |
---|---|---|
committer | Katsumi Yamaoka <yamaoka@jpl.org> | 2012-12-05 02:26:15 +0000 |
commit | 066f0e09bc17809beeb6b6c20e3032d0f4420795 (patch) | |
tree | c98318b906347a135d21c04d6202a6ce38688e3c /lisp/gnus/gnus-sync.el | |
parent | 49596095d09227d828ffb6fed955ba0b660b4d92 (diff) | |
download | emacs-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.el | 26 |
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)) |