[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: form & post



From:  Hideyuki SHIRAI (白井秀行) <shirai@rdmg.mgcs.mei.co.jp> 曰く
Subject: [emacs-w3m:01259] Re: form & post
Message-ID: <20010706.120010.125125372.shirai@rdmg.mgcs.mei.co.jp>
Date: Fri, 06 Jul 2001 12:00:10 +0900 (JST)

白井> で、Meadow 掲示板にカキコ :-) してみたら、改行が飛んでしまいまし
白井> た。

管理者さんにこころよく実験を承諾していただいた(だけど、なにか内
容をでっちあげて、といわれたけど)ので、でっちあげて何通か post
した結果を cvs に反映しました。

# 実は少々忙しいんですが、post できるのがあまりに素晴らしいため
# 止まりませんでした :-)

(1) w3m-form-input-textarea-set-hook という hook を増やしました。
 textarea で "C-cC-c" したとき、最初に動きます。

(2) 上記の hook で w3m-current-url を調べたかったので、textarea
 buffer にも w3m-form-input-textarea-buffer を設定しました。
 また、こうしておかないと "C-cC-c" したときに余分な buffer が表
 示されたりしていると、もとの w3m-buffer に戻れませんでした。

(3) もとの w3m-buffer に戻ったときに、すでに point が変わってい
 ると変になってしまったので、point も保存するようにしました。
 mark の方が良かったかも。

という感じです。Meadow 掲示板に post するなら、

(add-hook 'w3m-form-input-textarea-mode-hook 'w3m-form-mode-for-tcup)
(add-hook 'w3m-form-input-textarea-set-hook 'w3m-form-input-for-tcup)

(defun w3m-form-mode-for-tcup ()
  (let (url)
    (when (buffer-live-p w3m-form-input-textarea-buffer)
      (with-current-buffer w3m-form-input-textarea-buffer
	(setq url w3m-current-url)))
    (when (and (stringp url)
	       (string-match "^http://www[0-9]+.tcup.com/" url))
      (while (search-forward "<br>" nil t)
	(replace-match "\n"))
      (goto-char (point-min)))))

(defun w3m-form-input-for-tcup ()
  (let (url)
    (when (buffer-live-p w3m-form-input-textarea-buffer)
      (with-current-buffer w3m-form-input-textarea-buffer
	(setq url w3m-current-url)))
    (when (and (stringp url)
	       (string-match "^http://www[0-9]+.tcup.com/" url))
      (goto-char (point-min))
      (while (search-forward "\n" nil t)
	(replace-match "<br>")))))

で OK です。
しかし、なんて幸せな環境なんでしょう。寺西さんに大感謝です。

## これ、あとで TIPS に書いておきますね。そういえば、多言語設定
## もありますし。

P.S.
ついでに、気付いたところを http://emacs-w3m.namazu.org/ に変更し
ておきました。

-- 
白井秀行 (mailto:shirai@rdmg.mgcs.mei.co.jp)