nnweb-init uses mm-with-unibyte.
authorShengHuo ZHU <zsh@cs.rochester.edu>
Fri, 10 Dec 1999 17:20:30 +0000 (17:20 +0000)
committerShengHuo ZHU <zsh@cs.rochester.edu>
Fri, 10 Dec 1999 17:20:30 +0000 (17:20 +0000)
lisp/ChangeLog
lisp/mm-util.el
lisp/nnweb.el

index 6ee9eb4..b37e9a9 100644 (file)
@@ -1,3 +1,8 @@
+1999-12-10 12:14:04  Shenghuo ZHU  <zsh@cs.rochester.edu>
+
+       * mm-util.el (mm-with-unibyte): New macro.
+       * nnweb.el (nnweb-init): Use it.
+
 1999-12-09 20:39:49  Shenghuo ZHU  <zsh@cs.rochester.edu>
 
        * mm-util.el (mm-charset-after): New function.
index a9666ed..22a4b76 100644 (file)
@@ -299,6 +299,21 @@ See also `with-temp-file' and `with-output-to-string'."
 (put 'mm-with-unibyte-current-buffer 'lisp-indent-function 0)
 (put 'mm-with-unibyte-current-buffer 'edebug-form-spec '(body))
 
+(defmacro mm-with-unibyte (&rest forms)
+  "Set default `enable-multibyte-characters' to `nil', eval the FORMS."
+  (let ((multibyte (make-symbol "multibyte")))
+    `(if (or (string-match "XEmacs\\|Lucid" emacs-version)
+            (not (boundp 'enable-multibyte-characters)))
+        (progn ,@forms)
+       (let ((,multibyte (default-value 'enable-multibyte-characters)))
+        (unwind-protect
+            (progn
+              (setq-default enable-multibyte-characters nil)
+              ,@forms)
+          (setq-default enable-multibyte-characters ,multibyte))))))
+(put 'mm-with-unibyte 'lisp-indent-function 0)
+(put 'mm-with-unibyte 'edebug-form-spec '(body))
+
 (defun mm-find-charset-region (b e)
   "Return a list of charsets in the region."
   (cond
index 164c157..7b4f175 100644 (file)
@@ -300,14 +300,10 @@ and `altavista'.")
   (unless (gnus-buffer-live-p nnweb-buffer)
     (setq nnweb-buffer
          (save-excursion
-           (let ((multibyte (default-value 'enable-multibyte-characters)))
-             (unwind-protect
-                 (progn
-                   (setq-default enable-multibyte-characters nil)
-                   (nnheader-set-temp-buffer
-                    (format " *nnweb %s %s %s*"
-                            nnweb-type nnweb-search server)))
-               (setq-default enable-multibyte-characters multibyte))
+           (mm-with-unibyte
+             (nnheader-set-temp-buffer
+              (format " *nnweb %s %s %s*"
+                      nnweb-type nnweb-search server))
              (current-buffer))))))
 
 (defun nnweb-fetch-url (url)