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

Re: form fontify trouble



>> On Thu, 24 Jul 2003 20:46:14 +0900
>> 「寺」== teranisi@gohome.org (Yuuichi Teranishi) said as follows:

寺> いえ,halfdump で <form_int> より先に <input_alt> が出現しているの
寺> が原因でした.もしかしたら w3m の halfdump のバグなのかもしれない
寺> ですが,対処してみました.

どうも.うまく fontify されることを確認しました.

ただ,

  http://gsearch.news.yahoo.co.jp/gs?andor=0&dbty=0&ty=l&key=%be%ae%c0%f4+%bc%f3%c1%ea

の方で,下部の絞り込み検索用 textarea を編集して submit すると,

  This form's method has not been supported: get

と怒られました.なんで? としばらく目が点になったのですが,

  ・w3m-form-method() の返り値は 'get または 'post というシンボルであ
    ることが期待されている.
  ・w3m-form-new() で form 構造体をつくった場合は,method として文字列
    を指定してもシンボルに正規化される.
  ・しかし,input_alt が form_int よりも先行して現れた場合は,

        (w3m-form-new nil nil)

    と,仮の form 構造体が作成され,本当に form_int が現れた時点で

        (setf (w3m-form-method form) (or method "get"))

    と,method の値を更新している.この時は,単純に

        (aset form 1 (or method "get")
      
    相当の処理が行われるだけなので,文字列がシンボルに正規化されない.

という原因でした.w3m-form-method() を対象とする setf メソッド
(= w3m-form-set-method)を新設して対処しておきました.

;; setf を多用するのも,少し慎重にやらないといけないんですね.勉強にな
;; りました.

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )