[Mew-Win32 00161] fiber & browse-url

Kazumi HARA hara at example.com
1998年 2月 2日 (月) 15:05:02 JST


原@リコー です。
#毎度皆様にはお世話になります。

うーん、なんぼ考えても、私にはよく分からないので、またまた助けて下さいませ。

実は、mew-1.93b* に変えて以来、browse-url が効いていない事に気づきました。
mew-1.93以前のときには、Mew-dist の 2785、2803(北口さんと喜多さんの記事)を
参考に、fiber 0.1.3(?)と browse-url.el を取ってきてうまくマウスのクリックで
ブラウザが起動できていたのですが、どうも mew-1.93b* 以降NG・・・?????
#厳密にいつからかは、定かではありません。

で、以前坂本さんが指摘され、山口さんのpatchが出た mew-win32.el が関係する
のかと1.93b12までいっきにあげてみましたが、同じでした ;_;

状況的には:
  メールを開いて、http で始まる URL にマウスを持っていくと反転し、右ボタン
でクリックすると、mini buffer に Opening URL... と出たまま止まってしまって
いる??? 様子。
#結局、エラーでないため、debug-on-errorをつけても、メッセージ無し。


根本的には自分自身が諸々の絡みを理解していないため、しょうもない原因でつま
ずいているだけだと思うんです。
--> fiber って、ファイルの拡張子を Explore で言う所の、"関連付け"してくれる
    インターフェイスって思っていて、いいんですよね???
    でも、URL に関しては ExecuteURL=yes ってなってるから・・・

うーん、恥じかきついでに、私の「しょーもない」 ~/.emacs を添付しますので、
どうかチェックしてやって下さい。
#殆ど、いろんな方々のパチリの集大成!?

お手数ですが、またよろしくお願いします。

+-------------------------------------+
| 原和巳 hara at example.com |
| (株)リコー 電子デバイス事業部       |
|  Tel:0795-42-4729  Fax:0795-42-6101 |
+-------------------------------------+

-------------- next part --------------
;;; -*- mode: lisp-interaction; syntax: elisp -*-
;;;
;;; Mule for Win32 Window Versin 1.20 用 ~/.emacs のサンプル
;;;

(cond ((eq system-type 'windows-nt)
;;; bashの時にはこのようにする
       (setq shell-file-name "tcsh.exe")
       (setq shell-command-option "-c")
;
         (if (not window-system)
            (progn
;;; 表示色の設定(console mode用)
		 (set-screen-color 15 1)
		 (set-bold-color 14 1)	; ボールド
		 (set-italic-color 14 1)	; イタリック
;;; 画面の大きさの設定。
		 (change-console-size 80 30)
		 (clear-console)
		 (recenter)))))
;

;;; hilitの設定。
(cond (window-system
       (setq hilit-mode-enable-list  '(not text-mode)
             hilit-background-mode   'light
             hilit-inhibit-hooks     nil
	     hilit-inhibit-rebinding nil)
       (require 'hilit19)))

(setq next-line-add-newlines nil)
(line-number-mode t)

;;
;;  エラーが起きたとき、デバッグモードをオンにする
;;
(setq debug-on-error t)

;;
;;  マウスでペーストするときの位置指定
;;  t...カーソル位置   nil...マウスカーソル位置
;;
(setq mouse-yank-at-point nil)

(load "term/bobcat")
(load "win32fontset")

;; フォントの設定。
(setq lf-bold '("MS ゴシック" 0 -13 700 0 nil nil 128 1 3 49))
(setq lf-norm '("MS ゴシック" 0 -13 400 0 nil nil 128 1 3 49))
(setq lf-bold-it '("MS ゴシック" 0 -13 700 0 nil nil 128 1 3 49))
(setq lf-norm-it '("MS ゴシック" 0 -13 400 0 nil nil 128 1 3 49))

;; フォントセットの設定
(win32-change-font-property "default" 0 lf-norm)
(win32-change-font-property "default" 1 lf-bold)
(win32-change-font-property "default" 2 lf-norm-it)
(win32-change-font-property "default" 3 lf-bold-it)

;; 上のフォントセットを適用
(win32-change-fontset-attribute  7 13 13 0 "default")


;;; フレームのディフォルトの設定。
;;; フレームの 横幅(width)・高さ(height)
;;;            X座標位置(Top)・Y座標位置(left)
;;; フォントの設定
;;;win32fontsetをロードしたあと
;;;Ctrl+マウス右ボタンを使ってみてください。

(setq default-frame-alist
      (append (list
	       '(foreground-color . "black")
	       '(background-color . "white")
	       '(width . 80)  ; フレームの横幅
	       '(height . 40)
;	       '(top . 100)
	       '(left . 100)
;	       '(fontset . "Mincho-8"))
;	       '(fontset . "Gothic-9"))
	       '(fontset . "default"))
	      default-frame-alist))
;;
;;  load-path の追加
;;
(setq private-load-path "/usr/local/mule2/site-lisp")
(setq load-path (cons
		 (expand-file-name private-load-path)
		 load-path))
;;
;;  時刻表示
;;
(setq display-time-24hr-format t)
(display-time)

;;
;;  tm の設定
;;
(load "tm/mime-setup")
(setq tm-gnus/automatic-mime-preview t)
(setq default-mime-charset 'iso-2022-jp-2)
;(setenv "TM_TMP_DIR" (expand-file-name (getenv "TMP")))
(setenv "TM_TMP_DIR" (expand-file-name "~/News/misc"))
(setenv "TM_WWW_BROWSER" "start")
;; multipartはファイルにする
(call-after-loaded 'tm-view
		   (lambda ()
		     (require 'tm-file)))


(require 'win32-script)
;(define-process-argument-editing "/[^./]+$"
;  'script-process-argument-editing-function 'last)
;(eq window-system 'win32)

(cd (expand-file-name "~/"))

;(make-coding-system
; '*noconv*dos nil
; ?= "No conversion.")
;(put *noconv*dos 'post-read-conversion 'mew-crlf-to-lf)
;(defun mew-crlf-to-lf (from to)
;  (goto-char from)
;  (while (search-forward "\r\n" nil t) (replace-match "\n" nil t))
;  )
;(setq mew-cs-noconv-eol *noconv*dos)

;;
;;  info
;;
(setq Info-directory-list
      (list "c:/usr/local/mule2/info" "c:/gnuwin32/b18/info"))


;;
;; Mew
;;
(setq load-path
      (cons (expand-file-name
	     (concat exec-directory "../site-lisp/mew"))
	    load-path))
(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t)
(setq mew-use-folders-file-p t)
;(setq mew-use-folders-file-p nil)

(require 'mew-win32)

(setq mew-header-alist
      '(("X-Emacs:" . "Mule for Win32 Version 1.22 (MOMIJI)")))
;      '(("X-Emacs:" . "(mule-for-win32-version)")))


(setq mew-mail-domain-list
      '("tera11.redd.ricoh.co.jp"
	"pts.redd.ricoh.co.jp"
	"rdc.redd.ricoh.co.jp"
	"nts.ricoh.co.jp"))
(setq mew-from "Kazumi HARA <hara at example.com>")
(setq mew-fcc "+Outbox")
(setq mew-cite-fields '("Date:" "From:" "Subject:"))
(setq mew-cite-format "%s 頃\n%sさんが書かれた\n[ %s ] に関して…\n\n")
(setq mew-header-max-length 100)
(add-hook 'mew-draft-mode-hook
	  '(lambda ()
	     (auto-fill-mode 1)
	     (setq fill-column 74
		   tab-width 4)))

(setq mew-replyto-to-list '("Reply-To:"))
(setq mew-replyto-cc-list nil)

;;(setq mew-cite-prefix-function 'mew-cite-prefix-username)
;;
;; X-faceの情報を隠す
;;
(defun mew-set-xface-invisible ()
  (save-excursion
    (let ((header-end))
      (goto-char (point-min))
      (if (re-search-forward "\\(^--.*$\\)\\|\\(\n\n\\)" nil t)
	  (setq header-end (point)))
      (goto-char (point-min))
      (while (re-search-forward 
	      "^X-Face: *\\(.*\\(\n[ \t].*\\)*\\)\n" header-end t)
;;
;; X-Face自体を隠す
;	(put-text-property (match-beginning 0) (match-end 0)
;;
;; X-faceがついていることは示す。
	(put-text-property (match-beginning 1) (match-end 1)
			   'invisible t)))))
(add-hook 'mew-message-hook 'mew-set-xface-invisible)

;;
;; Mewでのhilitの設定
;;

(cond (window-system
    ;; 
    (add-hook 'mew-message-hook
              'hilit-rehighlight-buffer-quietly)
    (hilit-set-mode-patterns
     '(mew-message-mode)
     '(("^Subject:.*$" nil msg-subject)
       ("^From:.*$" nil msg-from)
       ("^X-.*:.*$" nil msg-quote)
       ("^[A-Za-z][A-Za-z0-9-]+:" nil msg-header)))
    ;;
    (add-hook 'mew-draft-mode-hook
              'hilit-rehighlight-buffer-quietly)
    (hilit-set-mode-patterns
     '(mew-draft-mode)
     '(("^Subject:.*$" nil msg-subject)
       ("^From:.*$" nil msg-from)
       ("^>.*$" nil msg-quote)
       ("^[A-Za-z][A-Za-z0-9-]+:" nil msg-header)))
    )
)

;;
;;  GNUSの設定
;;
;; overwrite paths.el setting
(setq gnus-default-nntp-server "tera12" )
(setq gnus-local-domain "redd.ricoh.co.jp" )
(setq gnus-local-organization "RICOH Co., LTD. Electronic Devices Division, Hyougo, Japan")
(setq gnus-use-generic-from "tera11.redd.ricoh.co.jp")
;(setq gnus-local-timezone +0900)
(setq gnus-user-login-name "hara")
(setq gnus-user-full-name "原和巳")
(setq gnus-local-timezone "JST")
(setq gnus-required-headers
      '(From Date Newsgroups Subject Organization Lines X-Newsreader))
(setq mail-yank-prefix "> ")
(add-hook 'news-reply-mode-hook
	  '(lambda ()
	     (auto-fill-mode 1)
	     (setq fill-column 72
		   tab-width 4
		   )
	     ))


;;
;; c-mode 
;;
(setq c-indent-level                4)
(setq c-continued-statement-offset  4)
(setq c-argdecl-indent              0)
(setq c-brace-offset               -4)
(setq c-label-offset               -4)
(setq c-auto-newline                nil)
(setq auto-mode-alist (cons '("\.cpp$" . c-mode) auto-mode-alist))

(add-hook 'c-mode-hook
          '(lambda () 
                   (setq comment-column 40)
                   ))

;;
;;  telnet
;;
(require 'telnet)

(defvar win32-telnet-coding-system *junet*unix)

(setq telnet-rsh-program "rlogin")

(defun win32-telnet-filter (proc string)
  (let ((n (string-match "\C-h" string)))
    (while n
      (if (= n 0) (delete-backward-char 1))
      (setq string (concat (substring string 0 (max (1- n) 0))
			   (substring string (1+ n))))
      (setq n (string-match "\C-h" string)))
    (telnet-filter proc string)))

(defun win32-telnet-initial-filter (proc string)
  (cond ((or (string-match "No such host" string)
	     (string-match "Unknown host" string))
	 (kill-buffer (process-buffer proc))
	 (error "No such host."))
	((string-match "passw" string)
	 (win32-telnet-filter proc string)
	 (setq telnet-count 0)
	 (send-string proc (concat (comint-read-noecho "Password: " t)
				   telnet-new-line)))
	(t (telnet-check-software-type-initialize string)
	   (win32-telnet-filter proc string)
	   (cond ((> telnet-count telnet-maximum-count)
		  (set-process-filter proc 'win32-telnet-filter))
		 (t (setq telnet-count (1+ telnet-count)))))))

(defun win32-telnet-send-eof ()
  (interactive)
  (send-string nil "\C-d"))

(defun win32-telnet-delchar-or-maybe-eof (arg)
  (interactive "p")
  (if (eobp)
      (win32-telnet-send-eof)
    (delete-char arg)))

(add-hook 'telnet-mode-hook
	  (function
	   (lambda ()
	     (define-key telnet-mode-map "\C-d" 'win32-telnet-delchar-or-maybe-eof)
	     (define-key telnet-mode-map "\C-c\C-d" 'win32-telnet-send-eof)
	     (define-key telnet-mode-map [menu-bar signals eof]
	       '("EOF" . win32-telnet-send-eof))
	     (set-process-coding-system
	      nil win32-telnet-coding-system win32-telnet-coding-system)
	     (set-process-filter (get-buffer-process (current-buffer))
				 'win32-telnet-initial-filter))))

;;
;; YaTeX
;;
(setq load-path
      (cons (expand-file-name (concat exec-directory "../site-lisp/yatex"))
	    load-path))
(setq auto-mode-alist
      (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(setq YaTeX-help-file (expand-file-name "YATEXHLP.jp" data-directory))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
(setq tex-command "c:/Program Files/Tex/bin/jlatex209.exe")
(setq dvi2-command "c:/Program Files/Tex/gui/wdvips.exe")

;;
;; browse-url
;;
(autoload 'browse-url-interactive-arg "browse-url")
(autoload 'browse-url-browser-function "browse-url"
  "Ask a WWW browser to show a URL." t)
(autoload 'browse-url-at-point "browse-url"
  "Ask a WWW browser to load the URL at or before point." t)
(autoload 'browse-url-at-mouse "browse-url"
       "Ask a WWW browser to load a URL clicked with the mouse." t)
(autoload 'browse-url-of-buffer "browse-url"
  "Ask a WWW browser to display BUFFER." t)
(autoload 'browse-url-of-file "browse-url"
  "Ask a WWW browser to display FILE." t)
(autoload 'browse-url-of-dired-file "browse-url"
  "In Dired, ask a WWW browser to display the file named on this line." t)

(setq browse-url-netscape-command
;     "c:\\Program Files\\Netscape\\Communicator\\Program\\Netscape.exe")
      "c:\\Program Files\\Internet Explorer\\Iexplore.exe")

;;;;;;;;;;
(global-set-key [S-mouse-2] 'browse-url-at-mouse)

(setq browse-url-browser-function 'browse-url-start)
(defun browse-url-start (url &optional new-window)
   (interactive (browse-url-interactive-arg "URL: "))
   (message "Opening URL...")
   (apply 'start-process "start" nil "start" (list url)))
(add-hook 'mew-message-mode-hook
	  '(lambda ()
	     (define-key mew-message-mode-map
	       [mouse-2] 'browse-url-at-mouse)))
;;;;;;;;;;

;(add-hook 'mew-init-hook
;       (lambda ()
;	 (progn 
;	   (define-key mew-message-mode-map [mouse-2] 'browse-url-at-mouse)
;	   )))

;;
;; trr
;;
(setenv "TRRDIR" (expand-file-name "~/trr19"))
(setenv "TRRBINDIR" (expand-file-name "~/trr19"))

(autoload 'trr (expand-file-name "~/trr19/trr") nil t)


Mew-win32 メーリングリストの案内