[Momonga-devel.ja:02325] [elisp-psgml] 数値文字参照 <-> 文字 の変換


しげゆき です.

elisp-psgml (sgml-mode, xml-mode) について.
かなり前に alpha バージョンの 1.3.1 に上げたのですが, Mule-UCS を併用し
ていると C-c# で 文字 → 数値文字参照 変換する機能
(sgml-make-character-reference) が

Format specifier doesn't match argument type

と mini-buffer に吐かれて,動かないならまだしもその文字が delete-char 
されるだけで正常に動いてなかったのではないかと思います.

# 自分がそう頻繁に使う機能でもないので半ば放置していました.すみません.

obsolete にされている decode-char/encode-char を呼んでいたのが原因の様
でしたので,そこを Mule-UCS にある unicode.el の ucs-to-char/char-to-ucs
を呼ぶ様に変更しました.

(詳細は psgml-edit.el の sgml-make-character-reference をご覧ください.)

これで私の環境では Mule-UCS を (使う場合|使わない場合) 共に機能してい
ることを確認していますが,いまいち Emacs-Lisp は自信が無いので,詳しい
方,つっついて検証して戴ければ幸いです.

ついでに, 元々メニューで Unmake Character Reference として 
sgml-make-character-reference t と呼ばれてたのを関数にしただけですが,
sgml-unmake-character-reference (数値文字参照 → 文字) という関数をでっ
ち上げて C-cu# へキーバインドしました.
(メニューの変更,キーバインドは psgml.el 内です.)

これも同じく検証戴けましたら幸いです.



-- 

やましたしげゆき <shige@xxxxxxxxxxxxx>
        http://sickhack.homelinux.org/