(nnir-run-namazu): Fix a side effect when handling
[elisp/gnus.git-] / lisp / nnir.el
index acbf13b..6d347d5 100644 (file)
@@ -608,7 +608,10 @@ that it is for Namazu, not Glimpse."
         (kbd "G G")
       "GG")                             ; XEmacs 19 compat
     'gnus-group-make-nnir-group))
-(add-hook 'gnus-group-mode-hook 'nnir-group-mode-hook)
+(add-hook 'gnus-group-mode-hook
+         (lambda ()
+           (unless (string-match "T-gnus" gnus-version)
+             (nnir-group-mode-hook))))
 
 
 
@@ -959,6 +962,9 @@ pairs (also vectors, actually)."
 ;; send queries as literals
 ;; handle errors
 
+(eval-when-compile
+  (defvar nnimap-server-buffer))
+
 (defun nnir-run-imap (query &optional group)
   (require 'imap)
   (require 'nnimap)
@@ -1211,11 +1217,17 @@ Tested with Namazu 2.0.6 on a GNU/Linux system."
                  ,nnir-namazu-index-directory ; index directory
                  ))
              (exitstatus
-              (progn
+             (let ((process-environment (copy-sequence process-environment)))
+               ;; Disable locale.
+               (dolist (env process-environment)
+                 (when (string-match "\
+\\`\\(L\\(ANG\\|C_\\(ALL\\|CTYPE\\|COLLATE\\|TIME\\|NUMERIC\\|MONETARY\\|MESSAGES\\)\\)\\)=" env)
+                   (setenv (match-string 1 env) nil)))
+               (setenv "LANG" "C")
                 (message "%s args: %s" nnir-namazu-program
                          (mapconcat 'identity (cddddr cp-list) " "))
-                (apply 'call-process cp-list))))
-        (unless (or (null exitstatus)
+               (apply 'call-process cp-list))))
+       (unless (or (null exitstatus)
                     (zerop exitstatus))
           (nnheader-report 'nnir "Couldn't run namazu: %s" exitstatus)
           ;; Namazu failure reason is in this buffer, show it if