[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: form のエンコード
- From: Katsumi Yamaoka <yamaoka@xxxxxxx>
- Date: Mon, 07 Jan 2008 11:53:12 +0900
- X-ml-name: emacs-w3m
- X-mail-count: 09878
- References: <m3ve6lcesg.fsf@gmail.com>
遅ればせながら、
>>>>> In [emacs-w3m : No.09875] 青田さん wrote:
> form のデータにエンコードできない文字列が入っていてもそのまま送信していた
> (アクセントつき英字を euc-jp でエンコードして送るなど)ので、編集を終わっ
> た時点および textarea への入力を保存する時点で確認するようにしました。
Emacs 21 と XEmacs に無い関数を使っているのはちょっとマズいので、
例えば添付のパッチのようにするのはいかがでしょう?
> また、こちらは提案なのですが textarea のバックアップを mule-utf-8 などの
> 守備範囲の広いもので保存するようにしませんか?
賛成です。
> サーバの coding-system ではエンコードできない文字があっても正確に保存/復
> 元ができるようになりますし、サーバが coding-system を変更しても文字化けが
> 起こらずにすみます。しかし、その一方で一部の既存のバックアップが文字化け
> してしまうという問題もあります :-(
既存のものは従来とおりに扱って、新しいものには
;-*- coding: utf-8; -*-
のようなものを付けるのではどうですか?
(実は w3m-form-use-textarea-backup を nil にしています。すみません。)
--- w3m-form.el~ 2008-01-06 22:51:30 +0000
+++ w3m-form.el 2008-01-07 02:51:19 +0000
@@ -221,15 +221,22 @@
`(w3m-form-put-property ,form ,id :value (cons ,name ,value)))
(defmacro w3m-form-get (form id)
`(cdr (w3m-form-get-property ,form ,id :value)))
+
+(eval-when-compile
+ (unless (fboundp 'unencodable-char-position)
+ (defalias 'unencodable-char-position 'ignore)))
(defun w3m-form-coding-system-accept-region-p (&optional from to coding-system)
"Check whether `coding-system' can encode specified region."
- (let ((pos (unencodable-char-position (or from (point-min))
- (or to (point-max))
- (or coding-system
- w3m-form-input-textarea-coding-system))))
+ (let ((pos (when (fboundp 'unencodable-char-position)
+ (unencodable-char-position
+ (or from (point-min))
+ (or to (point-max))
+ (or coding-system
+ w3m-form-input-textarea-coding-system)))))
(or (not pos)
(y-or-n-p (format "\"%c\" would not be accepted. Continue? "
(char-after pos))))))
+
(defun w3m-form-get-by-name (form name)
(let ((plist (w3m-form-plist form))
pair value)
--
山岡