emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 96e32bb: Move Gnus functions frm rfc1843 to new fil


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master 96e32bb: Move Gnus functions frm rfc1843 to new file gnus-rfc1843
Date: Tue, 23 Feb 2016 03:15:41 +0000

branch: master
commit 96e32bbb736ec6e0a7278ae864098c7c812b05a4
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    Move Gnus functions frm rfc1843 to new file gnus-rfc1843
    
    * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
    interface functions.
    
    * lisp/gnus/rfc1843.el: Move all Gnus-specifig functions to
    gnus-rfc1843.
---
 lisp/gnus/gnus-rfc1843.el |   77 +++++++++++++++++++++++++++++++++++++++++++++
 lisp/gnus/rfc1843.el      |   61 +----------------------------------
 2 files changed, 79 insertions(+), 59 deletions(-)

diff --git a/lisp/gnus/gnus-rfc1843.el b/lisp/gnus/gnus-rfc1843.el
new file mode 100644
index 0000000..4e6fdc6
--- /dev/null
+++ b/lisp/gnus/gnus-rfc1843.el
@@ -0,0 +1,77 @@
+;;; gnus-rfc1843.el --- HZ (rfc1843) decoding interface functions for Gnus
+
+;; Copyright (C) 1998-2016 Free Software Foundation, Inc.
+
+;; Author: Shenghuo Zhu <address@hidden>
+;; Keywords: news HZ HZ+ mail i18n
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Usage:
+;; (require 'gnus-rfc1843)
+;; (rfc1843-gnus-setup)
+
+;;; Code:
+
+(require 'rfc1843)
+(require 'gnus-sum)
+(require 'gnus-art)
+(require 'message)
+
+(defun rfc1843-decode-article-body ()
+  "Decode HZ encoded text in the article body."
+  (if (string-match (concat "\\<\\(" rfc1843-newsgroups-regexp "\\)\\>")
+                   (or gnus-newsgroup-name ""))
+      (save-excursion
+       (save-restriction
+         (message-narrow-to-head)
+         (let* ((inhibit-point-motion-hooks t)
+                (case-fold-search t)
+                (ct (message-fetch-field "Content-Type" t))
+                (ctl (and ct (mail-header-parse-content-type ct))))
+           (if (and ctl (not (string-match "/" (car ctl))))
+               (setq ctl nil))
+           (goto-char (point-max))
+           (widen)
+           (forward-line 1)
+           (narrow-to-region (point) (point-max))
+           (when (or (not ctl)
+                     (equal (car ctl) "text/plain"))
+             (rfc1843-decode-region (point) (point-max))))))))
+
+(defun rfc1843-gnus-setup ()
+  "Setup HZ decoding for Gnus."
+  (add-hook 'gnus-article-decode-hook 'rfc1843-decode-article-body t)
+  (setq gnus-decode-encoded-word-function
+       'gnus-multi-decode-encoded-word-string
+       gnus-decode-header-function
+       'gnus-multi-decode-header
+       gnus-decode-encoded-word-methods
+       (nconc gnus-decode-encoded-word-methods
+              (list
+               (cons (concat "\\<\\(" rfc1843-newsgroups-regexp "\\)\\>")
+                     'rfc1843-decode-string)))
+       gnus-decode-header-methods
+       (nconc gnus-decode-header-methods
+              (list
+               (cons (concat "\\<\\(" rfc1843-newsgroups-regexp "\\)\\>")
+                     'rfc1843-decode-region)))))
+
+(provide 'gnus-rfc1843)
+
+;;; gnus-rfc1843.el ends here
diff --git a/lisp/gnus/rfc1843.el b/lisp/gnus/rfc1843.el
index ee2af48..508629f 100644
--- a/lisp/gnus/rfc1843.el
+++ b/lisp/gnus/rfc1843.el
@@ -22,21 +22,12 @@
 
 ;;; Commentary:
 
-;; Usage:
-;; (require 'rfc1843)
-;; (rfc1843-gnus-setup)
-;;
 ;; Test:
 ;; (rfc1843-decode-string  "~{<:Ky2;S{#,NpJ)l6HK!#~}")
 
 ;;; Code:
 
 (eval-when-compile (require 'cl))
-(require 'mm-util)
-
-(defvar gnus-decode-encoded-word-function)
-(defvar gnus-decode-header-function)
-(defvar gnus-newsgroup-name)
 
 (defvar rfc1843-word-regexp
   "~\\({\\([\041-\167][\041-\176]\\| \\)+\\)\\(~}\\|$\\)")
@@ -111,10 +102,10 @@ ftp://ftp.math.psu.edu/pub/simpson/chinese/hzp/hzp.doc";
 
 (defun rfc1843-decode-string (string)
   "Decode HZ STRING and return the results."
-  (let ((m (mm-multibyte-p)))
+  (let ((m enable-multibyte-characters))
     (with-temp-buffer
       (when m
-       (mm-enable-multibyte))
+       (set-buffer-multibyte 'to))
       (insert string)
       (inline
        (rfc1843-decode-region (point-min) (point-max)))
@@ -135,54 +126,6 @@ ftp://ftp.math.psu.edu/pub/simpson/chinese/hzp/hzp.doc";
          (aset s (incf i) (+ v (if (< v 63) 64 98))))))
     s))
 
-(autoload 'mail-header-parse-content-type "mail-parse")
-(autoload 'message-narrow-to-head "message")
-(declare-function message-fetch-field "message" (header &optional not-all))
-
-(defun rfc1843-decode-article-body ()
-  "Decode HZ encoded text in the article body."
-  (if (string-match (concat "\\<\\(" rfc1843-newsgroups-regexp "\\)\\>")
-                   (or gnus-newsgroup-name ""))
-      (save-excursion
-       (save-restriction
-         (message-narrow-to-head)
-         (let* ((inhibit-point-motion-hooks t)
-                (case-fold-search t)
-                (ct (message-fetch-field "Content-Type" t))
-                (ctl (and ct (mail-header-parse-content-type ct))))
-           (if (and ctl (not (string-match "/" (car ctl))))
-               (setq ctl nil))
-           (goto-char (point-max))
-           (widen)
-           (forward-line 1)
-           (narrow-to-region (point) (point-max))
-           (when (or (not ctl)
-                     (equal (car ctl) "text/plain"))
-             (rfc1843-decode-region (point) (point-max))))))))
-
-(defvar gnus-decode-header-methods)
-(defvar gnus-decode-encoded-word-methods)
-
-(defun rfc1843-gnus-setup ()
-  "Setup HZ decoding for Gnus."
-  (require 'gnus-art)
-  (require 'gnus-sum)
-  (add-hook 'gnus-article-decode-hook 'rfc1843-decode-article-body t)
-  (setq gnus-decode-encoded-word-function
-       'gnus-multi-decode-encoded-word-string
-       gnus-decode-header-function
-       'gnus-multi-decode-header
-       gnus-decode-encoded-word-methods
-       (nconc gnus-decode-encoded-word-methods
-              (list
-               (cons (concat "\\<\\(" rfc1843-newsgroups-regexp "\\)\\>")
-                     'rfc1843-decode-string)))
-       gnus-decode-header-methods
-       (nconc gnus-decode-header-methods
-              (list
-               (cons (concat "\\<\\(" rfc1843-newsgroups-regexp "\\)\\>")
-                     'rfc1843-decode-region)))))
-
 (provide 'rfc1843)
 
 ;;; rfc1843.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]