+2001-11-27 14:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-topic.el (gnus-topic-mode): Add LOCAL for add-hook.
+
+       * message.el (message-mode): make-local-hook is harmless in Emacs 21.
+
+       * gnus-msg.el (gnus-configure-posting-styles): use
+       make-local-hook. Add LOCAL for add-hook.
+
+2001-11-27  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * message.el (message-mode): Use `make-local-hook' unless
+       obsolete.
+       Patch by Katsumi Yamaoka  <yamaoka@jpl.org>.
+
 2001-11-26  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * canlock.el: Remove sha1.el and base64.el stuff.
 
       (or (and (listp gnus-post-method)        ;If not current/native/nil
               (not (listp (car gnus-post-method))) ; and not a list of methods
               gnus-post-method)        ;then use it.
-         gnus-select-method 
+         gnus-select-method
          message-post-method))
      ;; We want the inverse of the default
      ((and arg (not (eq arg 0)))
       (setq name (assq 'name results)
            address (assq 'address results))
       (setq results (delq name (delq address results)))
-      (make-local-variable 'message-setup-hook)
+      ;; make-local-hook is not obsolete in Emacs 20 or XEmacs.
+      (make-local-hook 'message-setup-hook)
       (dolist (result results)
        (add-hook 'message-setup-hook
                  (cond
                           (let ((value ,(cdr result)))
                             (when value
                               (message-goto-eoh)
-                              (insert ,header ": " value "\n"))))))))))
+                              (insert ,header ": " value "\n"))))))))
+                 nil 'local))
       (when (or name address)
        (add-hook 'message-setup-hook
                  `(lambda ()
                       (save-excursion
                         (message-remove-header "From")
                         (message-goto-eoh)
-                        (insert "From: " (message-make-from) "\n")))))))))
+                        (insert "From: " (message-make-from) "\n"))))
+                 nil 'local)))))
 
 
 ;;; @ for MIME Edit mode
 
       (setq gnus-group-change-level-function 'gnus-topic-change-level)
       (setq gnus-goto-missing-group-function 'gnus-topic-goto-missing-group)
       (make-local-hook 'gnus-check-bogus-groups-hook)
-      (add-hook 'gnus-check-bogus-groups-hook 'gnus-topic-clean-alist)
+      (add-hook 'gnus-check-bogus-groups-hook 'gnus-topic-clean-alist
+               nil 'local)
       (setq gnus-topology-checked-p nil)
       ;; We check the topology.
       (when gnus-newsrc-alist
 
        (set (make-local-variable 'tool-bar-map) (message-tool-bar-map))))
   (easy-menu-add message-mode-menu message-mode-map)
   (easy-menu-add message-mode-field-menu message-mode-map)
+  ;; make-local-hook is harmless though obsolete in Emacs 21.
+  ;; Emacs 20 and XEmacs need make-local-hook.
+  (make-local-hook 'after-change-functions)
   ;; Mmmm... Forbidden properties...
-  (add-hook 'after-change-functions 'message-strip-forbidden-properties nil t)
+  (add-hook 'after-change-functions 'message-strip-forbidden-properties
+           nil 'local)
   ;; Allow mail alias things.
   (when (eq message-mail-alias-type 'abbrev)
     (if (fboundp 'mail-abbrevs-setup)