X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fgnus-int.el;h=4ba7f404649f7aeeeb19c0e74075af0d4ccf26dd;hb=08540e37ca512b49d097fc87486792b369dd8981;hp=d7970ff2913566fccb88e187ba54e4eb80bd210f;hpb=04c881031d5fb4ede1c190fe88f6b84c1663b66e;p=gnus diff --git a/lisp/gnus-int.el b/lisp/gnus-int.el index d7970ff29..4ba7f4046 100644 --- a/lisp/gnus-int.el +++ b/lisp/gnus-int.el @@ -269,6 +269,14 @@ this group uses will be queried." (funcall (gnus-get-function gnus-command-method func) (gnus-group-real-name group) (nth 1 gnus-command-method))))) +(defun gnus-request-group-articles (group) + "Request a list of existing articles in GROUP." + (let ((gnus-command-method (gnus-find-method-for-group group)) + (func 'request-group-articles)) + (when (gnus-check-backend-function func group) + (funcall (gnus-get-function gnus-command-method func) + (gnus-group-real-name group) (nth 1 gnus-command-method))))) + (defun gnus-close-group (group) "Request the GROUP be closed." (let ((gnus-command-method (inline (gnus-find-method-for-group group)))) @@ -308,6 +316,16 @@ If FETCH-OLD, retrieve all headers (or some subset thereof) in the group." (funcall (gnus-get-function gnus-command-method 'request-type) (gnus-group-real-name group) article)))) +(defun gnus-request-set-mark (group action) + "Set marks on articles in the backend." + (let ((gnus-command-method (gnus-find-method-for-group group))) + (if (not (gnus-check-backend-function + 'request-set-mark (car gnus-command-method))) + action + (funcall (gnus-get-function gnus-command-method 'request-set-mark) + (gnus-group-real-name group) action + (nth 1 gnus-command-method))))) + (defun gnus-request-update-mark (group article mark) "Allow the backend to change the mark the user tries to put on an article." (let ((gnus-command-method (gnus-find-method-for-group group))) @@ -437,8 +455,8 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned." (insert "\n")) (unless no-encode (save-restriction - (message-narrow-to-headers) - (rfc2047-encode-message-header)) + (message-narrow-to-head) + (mail-encode-encoded-word-buffer)) (message-encode-message-body)) (let ((func (car (or gnus-command-method (gnus-find-method-for-group group))))) @@ -447,11 +465,12 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned." (cadr gnus-command-method) last))) -(defun gnus-request-replace-article (article group buffer) - (save-restriction - (message-narrow-to-headers) - (rfc2047-encode-message-header)) - (message-encode-message-body) +(defun gnus-request-replace-article (article group buffer &optional no-encode) + (unless no-encode + (save-restriction + (message-narrow-to-head) + (mail-encode-encoded-word-buffer)) + (message-encode-message-body)) (let ((func (car (gnus-group-name-to-method group)))) (funcall (intern (format "%s-request-replace-article" func)) article (gnus-group-real-name group) buffer)))