Synch with Oort Gnus.
authoryamaoka <yamaoka>
Fri, 13 Jul 2001 03:49:25 +0000 (03:49 +0000)
committeryamaoka <yamaoka>
Fri, 13 Jul 2001 03:49:25 +0000 (03:49 +0000)
lisp/ChangeLog
lisp/mm-decode.el

index 7505091..3f17a18 100644 (file)
@@ -1,3 +1,9 @@
+2001-07-12 15:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * mm-decode.el (mm-external-terminal-program): New variable.
+       (mm-display-external): Use it. Use term to display when no
+       window-system.
+
 2001-07-12  Bj\e,Av\e(Brn Torkelsson  <torkel@hpc2n.umu.se>
 
        * gnus-srvr.el (gnus-browse-make-menu-bar): Changed one of the
index 78d0cb1..ff89739 100644 (file)
@@ -35,7 +35,8 @@
 (require 'mail-parse)
 (require 'gnus-mailcap)
 (require 'mm-bodies)
-(eval-when-compile (require 'cl))
+(eval-when-compile (require 'cl)
+                   (require 'term))
 
 (eval-and-compile
   (autoload 'mm-inline-partial "mm-partial")
@@ -278,6 +279,11 @@ If not set, `default-directory' will be used."
   :type 'directory
   :group 'mime-display)
 
+(defcustom mm-external-terminal-program "xterm"
+  "The program to start an external terminal."
+  :type 'string
+  :group 'mime-display)
+
 ;;; Internal variables.
 
 (defvar mm-dissection-list nil)
@@ -617,12 +623,23 @@ external if displayed external."
          (message "Viewing with %s" method)
          (cond (needsterm
                 (unwind-protect
-                    (start-process "*display*" nil
-                                   "xterm"
-                                   "-e" shell-file-name
-                                   shell-command-switch
-                                   (mm-mailcap-command
-                                    method file (mm-handle-type handle)))
+                     (if window-system
+                         (start-process "*display*" nil
+                                        mm-external-terminal-program
+                                        "-e" shell-file-name
+                                        shell-command-switch
+                                        (mm-mailcap-command
+                                         method file (mm-handle-type handle)))
+                       (require 'term)
+                       (switch-to-buffer 
+                        (make-term "display"
+                                   shell-file-name
+                                   nil
+                                   shell-command-switch
+                                   (mm-mailcap-command
+                                    method file (mm-handle-type handle))))
+                       (term-mode)
+                       (term-char-mode))
                   (mm-handle-set-external-undisplayer handle (cons file buffer)))
                 (message "Displaying %s..." (format method file))
                 'external)