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

Re: URLのエコ ーとtextarea のminor化



>> On Mon, 14 Feb 2005 18:05:48 +0900
>> "CHO" == cho@namazu.org (Tsuyoshi CHO) said as follows:

CHO> 1.リンクのURL echo/balloon のデコード

土> 文字コードの判定が困難なので,一般的には非常に難しいと思います.

後> 検索エンジンへのquery の場合のアンカーであれば、正しく表示すること
後> よりも、多くの場合にqueryの内容が見える方が嬉しいこともあるでしょ
後> う。

そうかも知れませんが.

後> でも、wiki のURLなどの場合はURLの表示でdecode してしまうのは、ペー
後> ジ名が見えて嬉しい反面、server が認識するところの正しいURLと違うも
後> のを見せることになるともいえるので、ちょっとマズかったりするかも?

こちらの弊害の方が気になります.それと,私の例は偶然うまく行きましたが,
数文字〜数十文字のテキストを対象とした文字コード推定はどれくらいうまく
いくのか? と言うのも気になっています.

が,とりあえずの叩き台としてパッチを作ってみましたので,末尾に添付しま
す.ただし,

・このパッチのままだと,オプションで動的に動作が変更できない.オプショ
  ンを作ったとしても,再描画しない限り反映されない.

・レンダリングが更に遅くなりそう.バルーンヘルプを表示するときに,
  decode して欲しい.

・単に undecided で運任せにするのではなくて,描画中のページの文字コー
  ドと w3m-coding-system-priority-list を参照して,頑健にコード推定し
  て欲しい.

と不満だらけなので,パッチをこのまま取り込むことには気乗りしません.

CHO> 2.textareaのminor mode化

後> text area の編集の際に別バッファを使用しますが、そこで編集 mode を
後> 使用したいということではないでしょうか。これは私もちょっと希望しま
後> す。例えば text-mode で書きたいだとか、wiki ページの編集であればな
後> にがしかの wiki edit mode を使用したいであるとか。major-mode を好
後> きに選んで、w3m の C-c C-k 類は minor mode にするということかと思
後> うです。

了解.

備忘録.(Info-goto-node "(elisp-ja)Keymaps and Minor Modes") によりま
すと,

    マイナモードでバインドしているキー列は, `C-c'で始まり, `{', `}',
    `<', `>', `:', `;'*以外*の句読点文字の1つが続くようにします.
    (除外した句読点文字はメジャーモード向けに予約されている. )

ということなので,厳格に従うならば,C-c C-k や C-c C-c はマイナーモー
ドには使えません.ただ,今回の場合は,emacs 全体に有効なマイナーモード
の話ではなく,emacs-w3m 内部だけで働く特殊な(便宜上の)マイナーモードで
すから許して貰えるとは思いますが.

それで偶然に気付いたのですが,

  (define-key w3m-form-input-textarea-keymap "\C-x\C-s"
    'w3m-form-input-textarea-save)

はコーディング規約的には大丈夫でしょうか?

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )
--- w3m.el	10 Feb 2005 01:18:44 -0000	1.1097
+++ w3m.el	14 Feb 2005 10:55:28 -0000
@@ -2896,8 +2896,8 @@
 
 (defun w3m-fontify-anchors ()
   "Fontify anchor tags in the buffer which contains halfdump."
-  (let ((help (w3m-make-help-echo w3m-href-anchor))
-	(balloon (w3m-make-balloon-help w3m-href-anchor))
+  (let ((help (w3m-make-help-echo w3m-href-decoded-anchor))
+	(balloon (w3m-make-balloon-help w3m-href-decoded-anchor))
 	prenames start end)
     (goto-char (point-min))
     (setq w3m-max-anchor-sequence 0)	;; reset max-hseq
@@ -2950,6 +2950,8 @@
 						     'w3m-arrived-anchor-face
 						   'w3m-anchor-face)
 					   'w3m-href-anchor href
+					   'w3m-href-decoded-anchor
+					   (w3m-url-decode-string href 'undecided)
 					   'mouse-face 'highlight
 					   'w3m-anchor-sequence hseq
 					   'help-echo help