Emacs.Emacsのノウハウ RSSPLAIN

Related pages:
332333453333333333333333333333011333333333
3
 EmacsでOldTypeのコンテンツを更新するための設定のポイントなど。
3

 

2

Subversionでutf-8日本語ファイル名を扱う方法

3
検証したのは Emacs 22.1 のみ。
3

これで、psvn.el と diredの両方でutf-8のファイル名が扱える。

3

 

4
  (setq default-file-name-coding-system 'utf-8)
5

 

3

psvn.elで日本語

3
以下の環境変数をutf-8に設定する
3
 LC_CTYPE=ja_JP.UTF-8
3
 LANG=ja_JP.UTF-8
3
但し、M-x svn-status は動作するようになったが、commitすると、svn failed: Valid UTF-8 dataというエラーメッセージが出る。
3

この原因は、 *svn-status* バッファからファイル選択したファイル名が svn に渡るときに、EUC-JPで渡される事が分かった。対策として、カスタマイズ変数 file-coding-system-alist の最後に(default)に utf-8 を追加すれば良い。下記は設定値。

3

 

3
(("\\.dz\\'" no-conversion . no-conversion)
3
 ("\\.g?z\\(~\\|\\.~[0-9]+~\\)?\\'" no-conversion . no-conversion)
3
 ("\\.tgz\\'" no-conversion . no-conversion)
3
 ("\\.tbz\\'" no-conversion . no-conversion)
3
 ("\\.bz2\\(~\\|\\.~[0-9]+~\\)?\\'" no-conversion . no-conversion)
3
 ("\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'" no-conversion . no-conversion)
3
 ("\\.elc\\'" emacs-mule . emacs-mule)
3
 ("\\.utf\\(-8\\)?\\'" . utf-8)
3
 ("\\(\\`\\|/\\)loaddefs.el\\'" raw-text . raw-text-unix)
3
 ("\\.tar\\'" no-conversion . no-conversion)
3

この最後の行が重要

3
 ("" utf-8 . utf-8))
3

変更前は以下の値だった。

3
 ("" undecided))
3

 

0

ただ、この方法の難点はどんなファイルをオープンしてもエンコード自動判別が走らず、エンコードが強制的にutf-8になってしまうこと。

1

解決策を調査中。

1

 

3

psvn.elの C-x v = キーで diff を取ろうとしてエラーが出る場合

3
svn-status-default-diff-arguments を空リストにする。
3

新しい psvn.el では svn diff のコマンドラインオプションとして下記が設定されている。

3
(defcustom svn-status-default-diff-arguments '("-x" "--ignore-eol-style") ...)
3

しかし、svn version 1.1.x では そのようなコマンドラインオプションはサポートされていない為、無効にすること。

3
M-x customize [return]
3

実行後

3
psvn
3

を指定すれば、上記変数が現れる。