>>931 process-coding-systemも指定するんじゃなかったっけ?
>>932 ありがとうございます。
実はWin板のスレでも同じアドバイスを受け、以下のコードを示していただいた
のですが、これでもうまく行きませんでした。
(set-language-environment "Japanese")
(let ((c 'japanese-shift-jis))
(set-default-coding-systems c)
(set-terminal-coding-system c)
(set-keyboard-coding-system c)
(set-buffer-file-coding-system c)
(setq default-process-coding-system (cons c c)))
パスかファイル名にダメ文字入ってない?
一応リネームしてやってみるとか?
>>934 ダメ文字は入っています。むしろダメ文字をどうしたらうまく扱えるかをお聞
きしたいのです。自分では日本語名のファイルは作りませんが、人から来るファ
イルは日本語(Shift_JIS)のものが多いです。
ちなみに素のbash上でファイル名をTABで補完していくと、
構築スケジュール表 → 構\築スケジュ―[ル表\
となり、自動的にダメ文字をエスケープしてくれるようで、cygstartで問題な
くオープンすることができます。
これをEmacsのDired上で実現できないかと思うのです。
ちなみにテキストファイルをDiredからEmacsで開くことなら、どのような日本
語ファイル名でも問題なく実行できます。
Shift_JISにおける危険な文字まとめ
http://anond.hatelabo.jp/20080303150507
引数のダメ文字をエスケープしてからcygstartに渡すスクリプトでも作れば良いんじゃね?
それって、Cygwin 1.7 でも駄目なんだろうか?
横からすまんがzshも日本語ファイル名を補完させようとするとたまに落ちない?
しょうがないからコピペしたりして騙し騙し使ってるけど
>>935 まぁ、動く範囲なら
>>936の通りでいいんじゃないかと思うが、
素のcygwin1.dllは内部で/と\を相互変換してるから、
「十」とか「表」とかがパス名に含まれると動かんような
気がするんだが……。
cygwin1.5 で日本語ファイル名を扱うのはもう諦めた方がいい
>>940 知らないので聞きたいんだけど、
1.7ならShift_JISのダメ文字のファイル名にも対応できるの?
OKI-SOFTのUTF-8パッチだとどう?
どちらでも、UTF-8のファイル名なら問題なく使えるだけで、Shift_JISのファ
イル名は扱えないんだと思ってたんだけど。
>>941 説明読むか、実際に試せば一発でわかるのになぜやらない。
>>942 OKI-SOFTの説明も読んでも、ダメ文字をちゃんと扱えるのかよく分からなかっ
たし、実際に試したがうまく行かなかった。だから今は通常のDLLに戻した。
もしうまく扱えるのなら、もう一度勉強しなおそうと思ってる。
さて、煽られたんで久しぶりにOKI-SOFTのUTF-8パッチ版のcygwin1.dllに変えてみた。
自分は cygterm + PuTTY経由なので、対応するPuTTYの設定も変える必要がある。
(カテゴリ→ウィンドウ→変換→UTF-8(CJK))
その状態でcygtermを起動すると、
・ls で日本語ファイル名を文字化けなしで表示できる。
・しかしls -l を実行すると
-rw-r--r-- 1 (ユーザ名) ?懼「?? 7988736 Aug 28 21:41 機能設計書.xls
という具合に、グループ名の「なし」が化ける。
・bash 上でダメ文字の補完は行われない。そのためcygstartでファイルを開けない。
bash-3.2$ cygstart.exe 機能設計書.xls
Unable to start '機能設計書.xls': The specified file was not found.
・Emacs は.emacs.el の
>>933あたりの設定をUTF-8に変えないと起動しない。
UTF-8に変えれば起動して、たいていの作業は行える。
・しかしDiredでShift_JISのファイル名が全部文字化けする。
-rw-r--r-- 1 (ユーザ名) なし 7988736 Aug 28 21:41 讖溯懽險懽險域嶌0831.xls
(逆にグループ名は化けていない)
・テキストファイルをEmacsで開くことはできるが、それ以外のファイルを
cygstartで開くことはできない。
Unable to start '讖溯懽險懽險域嶌0xls': The specified file was not found.
・EmacsのShellモードで ls するとやっぱり文字化け。
-rw-r--r-- 1 (ユーザ名) なし 7988736 Aug 28 21:41 ???????????????.xls
という具合で、びっくりするぐらいメリットがなかったんで、元の cygwin1.dll に戻す。
俺が何か勘違いしているなら、いくらでも謝る用意がある。
少なくとも現状では、cygwinはその辺はダメダメだろ
沖のはadhocパッチだし
つーか、分かってやってねえか?
coLinuxでも入れて、CIFS経由で触るようにしたほうが幸せになれるんじゃないか
coLinux側からはNTFSが普通にUTF-8なファイルシステムに見えるから
日本語だろうがアクサンだろうがハートマークだろうが問題なく扱えるし
ダメ文字などというアホなものも存在しない
Windowsネイティブのプログラム(例えばActivePerl)ですらW版APIを使っておらず
それらをマトモに扱えないものが非常に多いにも関わらず、
coLinux側から触ればいきなり全てのプログラムがフルUnicode対応だ
まあcoLinuxだとWindows側とのプロセス連携ができんので、これはこれで不便というか
cygwin「も」欲しいんだけどな
>>946 > つーか、分かってやってねえか?
あんまり分かってない。つうか仕組みはまあ分かるんだけど、なんかみんな
UTF-8化してるみたいなんで、俺の知らないメリットがあるのかと思ってた。
つうか「iTumesのファイル名を透過的に扱える」以外のメリットはないんだよ
ね?俺iTunes使ってないんだよな。日本語ファイル名はShift_JISでもEmacsは
扱えるんで、UTF-8化するとかえって損だ。
coLinuxがそんなことをできるとは知らなかった。ぜひ導入したいところだが、
メモリもHDDもCPUパワーも不足しているんでつらい。まあ動作速度はcoLinuxが
はるかに上回ってるそうだけど。
プロセス連携はつくづく同意。俺は結局、Meadowより軽い Windowsネイティブ
の Emacs(および周辺環境)が欲しいだけなんだ。
;; ブラウザ設定 (2行目は環境に合わせて変えて)
(setq browse-url-browser-function 'browse-url-generic )
(setq browse-url-generic-program "/cygdrive/d/Program Files/Opera/Opera.exe")
これを .emacs.elに書いとくと、Emacsで編集中のテキストのURLをWEBブラウザ
で表示できる。(M-x browse-url)
Tips on cygwin
http://www.eaflux.com/cygwin/tips/#label-8 これを書いとくと、クリップボードの連携ができる。この辺が便利で手放せない。
>>947 やった。つうか Shift_JISを使えてるなら、 vi使いと Pythonista以外、何も
することないだろ。
自己訂正。テキストのURLって意味分からんね。正しくはテキストに含まれる
URL文字列な。すまん。
>>941 今の Windows の文字コードの扱いを分かっていて言っている?
内部的には Unicode で、外とのやり取りのときだけ(後方互換性を考慮して)Shift_JIS に
している。
各種プログラムなどで扱うときは、Unicode で扱ったほうが楽。
meadowより軽いemacsってどんなの望んでるの?
cygwinのemacsにしたって軽くならないと思うけど。
それこそmuleのwin32版とか使うしかないな。
Emacsライク、じゃダメなんだろうか
xyzzyみたいな
FTP でファイルゲトするとき C:\WINDOWS\system32\ftp.exe では
問題無しなのですが , Cygwin の /usr/bin/ftp 使うと転送速度が
とっても遅い現象が出ているのは漏れだけですか ?
>>944 ・グループ名の「なし」が化けるのは、/etc/groupにCP932で「なし」
と書かれてるからだ。UTF-8に変換するか、ASCIIで(例えばotherとかに)
書き換えろ。
・UTF-8化したときはcygstartも入れ換えろ。
ttp://www.okisoft.co.jp/esc/utf8-cygwin/download.html の下の方にある。(まぁ、これに気付かないのはわからんでもないが)
・Diredで化けるのは文字コードまわりの設定が足りてない。
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(setq default-process-coding-system '(utf-8 . utf-8))
(setq default-file-name-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
こんな感じか? ^Mが残るようなら 'utf-8-dos にしろ。
・GNUのlsはデフォルトではASCII以外を受付ない。
--show-control-charsを付けてaliasしとけ。
・端末設定は全部UTF-8にしろ。
>>941 意味不明。UTF-8 Cygwinや1.7のUTF-8モードを使ってるなら、
そもそも「Shift_JISのファイル名」は存在しない。
ファイル名は全てUTF-8で扱われる。
>>955 横からサンクス
cygstart気づかなかったわ
Cygwin て素直にビルドできる?
CVS で落としてきてビルドしたら
なかなか通らないんだけど
utf-8のdllは入れてみたが
bashで日本語入力すると1文字カーソルがズレたりする。
元々sjisでも日本語は一文字で2回分押さないと
カーソル移動できない、つー状態だから、余計ややこしい。
nanoも表示・入力共に駄目だし。という訳で現在SJISで使用。
1.7になれば少しは良くなるんだろうか。
>>959 沖のページにも記述があった気がするけど、その辺は
locale周りがまともになって、wcwidth()が正しく機能するようにならないと無理
1.7でもlocale正常化はまだ先の話みたいだぞ
期待していないのに
> 1.7になれば少しは良くなるんだろうか。
と言ったわけか、興味深いことだな。
# codepage:[ansi|oem|utf8] - This option controls which single- or multibyte
character set is used for file and console operations. Windows is using
UTF-16 characters internally and this option specifies how 8-byte character
sets are converted to UTF-16 and vice versa.
The default setting is ansi which means, conversion is based on the current
ANSI codepage, typically 1252 in many Western language versions of Windows.
The name originates from the ANSI Latin1 (ISO 8859-1) standard, used in
Windows 1.0, though the character sets have since diverged from any standard.
The second setting selects an older, DOS-based character set, containing
various line drawing and special characters. It is called oem since it was
originally encoded in the firmware of IBM PCs by original equipment
manufacturers (OEMs).
If you find that some characters (especially non-US or 'graphical' ones)
do not display correctly in Cygwin, you can use this option to select an
appropriate codepage. Finally, utf8 treats all file names and console
characters as UTF-8 chars. Please note that, for correct operation,
you have to set the environment variable LC_CTYPE to "C-UTF-8" for
the time being.
The reason is that newlib's multibyte conversion functions require this setting.
で、win98SEでCygwin-1.7.0を動作させるパッチなり改造カーネルなりは無いの?
cygwin の emacs が終了できなくてヤマった.
むかしからそうなのか・・・ kill-emacs
>>962 >wcwidth()が正しく機能するようにならないと無理
その辺は読んでなかったわ。サンクス!
>1.7でもlocale正常化はまだ先の話みたいだぞ
確かに基になるデータとかが入ってないから
やる気ないんだろうなぁ。他ライブラリでも
widechar?対応とか知らん、みたいな話もあるし。
やってられんわー。マゾッ気が無いとUTF-8化は無理。
1.7は LANG=ja_JP.UTF-8 サポートしないのかな。
Newlib 1.17.0 is released
--------------------------------------------------------------------------------
The latest snapshot is on the web-site.
Thanks to everyone for getting in their fixes, clean-ups, and additions in time.
*** Major changes in newlib version 1.17.0:
* new C99 wide-char function additions
* lm32 platform support contributed
* movement of regex functions from sys/linux directory into
shared libc/posix directory
* string function optimizations
* redesign of formatted I/O to reduce dependencies when using
sprintf/sscanf family of functions
* numerous warning cleanups
* documentation fixes to support pdf, info, ps formats and
eclipse libhover hover docs
* various bug fixes
symbolic link が独自ファイルじゃなくて NTFS のを使うようになるのはいつですか?
XP が絶滅してからかも。
機能的には可能なんだけど。
そうなるとFATも使ってる場合ちょっと面倒なことにならない?
Vista以降のNTFSならネイティブsymlink、
それ以外は疑似symlink
と使い分ければいいけど、作る方は面倒くさそうだな。
ぐええ。Cygwin 1.7ってWin9x切ると同時にnontsecも削除したのか。
wincapのhas_securityとか、内部フラグもごっそり消えとる。
昔からnontsecの疑似パーミッションでお手軽Unix like toolsとして
使って来たから、運用してる途中で厳密なパーミッション管理されると
access deniedの山で面倒くせえ。次のPC組むまで1.5.25にしとこ。
505 名前:名無し~3.EXE[sage] 投稿日:2008/12/23(火) 23:44:48 ID:FzkMEgwa
しかし、1.7ではCYGWIN=nontsecが効かない。。
506 名前:名無し~3.EXE[sage] 投稿日:2008/12/23(火) 23:58:31 ID:Lg4jkgAZ
>>505 CYGWIN=nontsecはfstabのnoaclオプションに置き換えられた。
おお。がいしゅつだったのね。過去ログ見てなかったわ、スマソ。
いや、Windows板からのコピペ。
進化してるんだな
というか、向こうでは「必ず読め」のところにかいてあるんだから「ちゃんと読めよ」と
突込みが入っていたがな…
日本語が通るrxvtのバイナリどこかにありませんか?
サイトが軒並みnot foundです