前スレ
NTEmacs スレッド 4
http://anago.2ch.net/test/read.cgi/software/1401870078/
GNU Emacs
http://www.gnu.org/software/emacs/
gnupack (cygwn + emacs package)
http://sourceforge.jp/projects/gnupack/
GNU emacs(x64)
http://hp.vector.co.jp/authors/VA052357/emacs.html
CVS http://savannah.gnu.org/cvs/?group=emacs
Git http://savannah.gnu.org/git/?group=emacs
FAQ http://www.gnu.org/software/emacs/windows/ntemacs.html
EmacsWiki http://www.emacswiki.org/
Mailing Lists http://savannah.gnu.org/mail/?group_id=40
Bug Report
M-x report-emacs-bug RET
探検
NTEmacs スレッド 5 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。
2015/03/09(月) 00:01:58.25ID:0/C/Ivt602015/07/26(日) 01:10:50.40ID:NtQg+S5k0
>>132
gdb は子プロセスの入出力用に pty がもう一つ必要になるんだけど、emacs では実行ファイルを nil にすることで pty 単体を確保できる。ここらへんは次あたりの emacs のバージョンで変わりそうだけど。
んで fakecygpty は pty のみの確保に対応していないから本体に手を入れないといけない。
https://github.com/d5884/fakecygpty
↑で一応対応してはいるんだけど、さっき試したら行頭での C-d が動かなくなってる感じ。cygwin のバージョン上がったからかなぁ。
gdb は子プロセスの入出力用に pty がもう一つ必要になるんだけど、emacs では実行ファイルを nil にすることで pty 単体を確保できる。ここらへんは次あたりの emacs のバージョンで変わりそうだけど。
んで fakecygpty は pty のみの確保に対応していないから本体に手を入れないといけない。
https://github.com/d5884/fakecygpty
↑で一応対応してはいるんだけど、さっき試したら行頭での C-d が動かなくなってる感じ。cygwin のバージョン上がったからかなぁ。
2015/07/26(日) 01:57:48.79ID:GoqLMzMk0
>>132
twittering-modeはどの辺が動かなかったか教えてくれる?
twittering-modeはどの辺が動かなかったか教えてくれる?
136>>126
2015/07/26(日) 02:08:38.52ID:PVnmMw3N0 >>134 のおかげで、今回の問題の本質が理解できました、ありがとう。
端末I/Oについて知識が皆無なんで、
fakecygpty 本体に手を入れるのはきつそうだなー…
ttps://github.com/d5884/fakecygpty 試してみましたが、
自分の環境では、プロセスが終了しなかったりでうまく動きませんでした。
端末I/Oについて知識が皆無なんで、
fakecygpty 本体に手を入れるのはきつそうだなー…
ttps://github.com/d5884/fakecygpty 試してみましたが、
自分の環境では、プロセスが終了しなかったりでうまく動きませんでした。
2015/07/26(日) 02:24:40.85ID:GoqLMzMk0
>>131の話を踏まえると以下の方法でgrep問題なども回避できるんだけど、
>>133の方法とどちらがいいんだろう。
(defadvice start-process (around ad-start-process-to-fake last activate)
(when (and (ad-get-arg 2)
(or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (ad-get-arg 2)))
fakecygpty-program-list)))
(ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3)))
(ad-set-arg 2 "fakecygpty"))
ad-do-it)
(defadvice process-send-eof (around ad-process-send-eof activate)
(if (and (ad-get-arg 0)
(string= (car (process-command (ad-get-arg 0))) "fakecygpty"))
(process-send-string (ad-get-arg 0) (kbd "C-d"))
ad-do-it))
>>133の方法とどちらがいいんだろう。
(defadvice start-process (around ad-start-process-to-fake last activate)
(when (and (ad-get-arg 2)
(or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (ad-get-arg 2)))
fakecygpty-program-list)))
(ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3)))
(ad-set-arg 2 "fakecygpty"))
ad-do-it)
(defadvice process-send-eof (around ad-process-send-eof activate)
(if (and (ad-get-arg 0)
(string= (car (process-command (ad-get-arg 0))) "fakecygpty"))
(process-send-string (ad-get-arg 0) (kbd "C-d"))
ad-do-it))
138>>126
2015/07/26(日) 02:54:58.15ID:PVnmMw3N0 >>135
Backtrace が出力されないので詳細はソースを見ないとわかりませんが、
以前使っていたfakecygpty(ttps://github.com/Shougo/fakecygpty)だと、
パスワードを入力して、
"the authorized token is loaded" とエコーされたのち、
"Authorization for the account "アカウント名" failed due to "nil"."
となって twittering-mode が終了してしまいます
>>132 が紹介してくれた fakecygpty(https://github.com/d5884/fakecygpty)だとうまく動きます。
Backtrace が出力されないので詳細はソースを見ないとわかりませんが、
以前使っていたfakecygpty(ttps://github.com/Shougo/fakecygpty)だと、
パスワードを入力して、
"the authorized token is loaded" とエコーされたのち、
"Authorization for the account "アカウント名" failed due to "nil"."
となって twittering-mode が終了してしまいます
>>132 が紹介してくれた fakecygpty(https://github.com/d5884/fakecygpty)だとうまく動きます。
2015/07/26(日) 03:01:46.57ID:GoqLMzMk0
140>>126
2015/07/26(日) 03:13:39.82ID:PVnmMw3N02015/07/26(日) 03:26:44.89ID:GoqLMzMk0
142>>126
2015/07/26(日) 03:55:10.82ID:PVnmMw3N0 >>141
>>128 の方でしたか。ありがとうございます。
compilation-disable-input の判定で問題ないと思いますが、
process-connection-type の判定で pty を要求されるならば
やはり fakecygpty を経由させ方が好ましいですかね、
リファレンスにも書かれてますし…
問題だった compilation-disable-input の non-nil にセットするプロセスも
>>131 の方法なら fakecygpty を経由しても大丈夫なので、
fakecygpty が pty のみの確保に対応するまでは >>137 の方法でいいと思います。
>>128 の方でしたか。ありがとうございます。
compilation-disable-input の判定で問題ないと思いますが、
process-connection-type の判定で pty を要求されるならば
やはり fakecygpty を経由させ方が好ましいですかね、
リファレンスにも書かれてますし…
問題だった compilation-disable-input の non-nil にセットするプロセスも
>>131 の方法なら fakecygpty を経由しても大丈夫なので、
fakecygpty が pty のみの確保に対応するまでは >>137 の方法でいいと思います。
2015/07/26(日) 05:04:04.90ID:GoqLMzMk0
こんな感じではどうだろう? これで、shell-modeの利用に必要なsignalのアドバイスも
必要なくなる。
(defadvice start-process (around ad-start-process-to-fake last activate)
(when (and (ad-get-arg 2)
(or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (ad-get-arg 2)))
fakecygpty-program-list)))
(ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3)))
(ad-set-arg 2 "fakecygpty"))
ad-do-it)
(defmacro fakecygpty-set-signal (function send-key)
`(defadvice ,function (around ,(intern (format "ad-%s" function)) activate)
(let ((process (or (ad-get-arg 0)
(get-buffer-process (current-buffer)))))
(if (string= (car (process-command process)) "fakecygpty")
(process-send-string (ad-get-arg 0) (kbd ,send-key))
ad-do-it))))
(fakecygpty-set-signal interrupt-process "C-c")
(fakecygpty-set-signal stop-process "C-z")
(fakecygpty-set-signal quit-process "C-\\")
(fakecygpty-set-signal process-send-eof "C-d")
必要なくなる。
(defadvice start-process (around ad-start-process-to-fake last activate)
(when (and (ad-get-arg 2)
(or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (ad-get-arg 2)))
fakecygpty-program-list)))
(ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3)))
(ad-set-arg 2 "fakecygpty"))
ad-do-it)
(defmacro fakecygpty-set-signal (function send-key)
`(defadvice ,function (around ,(intern (format "ad-%s" function)) activate)
(let ((process (or (ad-get-arg 0)
(get-buffer-process (current-buffer)))))
(if (string= (car (process-command process)) "fakecygpty")
(process-send-string (ad-get-arg 0) (kbd ,send-key))
ad-do-it))))
(fakecygpty-set-signal interrupt-process "C-c")
(fakecygpty-set-signal stop-process "C-z")
(fakecygpty-set-signal quit-process "C-\\")
(fakecygpty-set-signal process-send-eof "C-d")
2015/07/26(日) 08:28:27.90ID:NtQg+S5k0
>>136
msys2 環境での使用は全然試したこと無いんで色々問題があるのかも。
>>132 のは WINCH シグナルを送るときにウィンドウサイズもセットで送る必要があったんで
専用の kill プログラムを用意していて、その中で cygwin 固有の関数呼んでるんだけど
msys2 環境でもコンパイルうまくいくのかな?
gdb は子プロセスに pty を接続する際に process-tty-name を使ってるから
そっちにも advice を入れる必要があったはず。
あとは cygwin 版 gdb の signal 絡みが linux 版と違って windows 用にカスタマイズされてる関係か
いまいちそこら辺が linux 環境と同じ使用感にならなかった記憶があるよ。
msys2 環境での使用は全然試したこと無いんで色々問題があるのかも。
>>132 のは WINCH シグナルを送るときにウィンドウサイズもセットで送る必要があったんで
専用の kill プログラムを用意していて、その中で cygwin 固有の関数呼んでるんだけど
msys2 環境でもコンパイルうまくいくのかな?
gdb は子プロセスに pty を接続する際に process-tty-name を使ってるから
そっちにも advice を入れる必要があったはず。
あとは cygwin 版 gdb の signal 絡みが linux 版と違って windows 用にカスタマイズされてる関係か
いまいちそこら辺が linux 環境と同じ使用感にならなかった記憶があるよ。
2015/07/26(日) 21:43:15.94ID:PVnmMw3N0
>>136
以下の msys2 本家のサイトによると、
http://sourceforge.net/p/msys2/wiki/How%20does%20MSYS2%20differ%20from%20Cygwin/
msys2 は cygwin 固有の関数を含む cygwin1.dll の trunk バージョンを
msys-2.0.dll としてフォークしてるみたいなので
cygwin 固有の関数 が含まれていても msys2 環境でコンパイル可能です
ただ、以下のメールでのやり取りからすると
http://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/2F9017D3-8357-48C2-B887-A32FDF4E2141@gmail.com/
Red hat の cygwin 開発者ともめたみたいで、
それを回避するために(他にも理由はあると思いますが)、以下のように多少手を加えてるみたいです。
1. 実行する際にコマンドライン引数と環境変数のパスを Windows 形式に自動変換する
2. OSNAME の値を環境変数 MSYSTEM の値に設定する
3. ネイティブな Windows アプリケーションの出力の行末コード(CR+LF)を UNIX 形式(LF)に変換
4. symlinks の挙動を リンクではなくコピーに
5. 旧 msys との互換性維持のため、 pwd への "-W" オプションの追加
6. /cygdrive プレフィックスの削除 (e.g C:\ | /cygdrive/c/ -> /c/)
7. MSYS2提供のユーザーランドソフトウェアに対する互換性と相互運用性維持のための変更
8. msys2 での権限操作を抑制するため、マウントオプションを noacl に
9. cygwin の trunk バージョンをベースとした msys2 のリリース
以下の msys2 本家のサイトによると、
http://sourceforge.net/p/msys2/wiki/How%20does%20MSYS2%20differ%20from%20Cygwin/
msys2 は cygwin 固有の関数を含む cygwin1.dll の trunk バージョンを
msys-2.0.dll としてフォークしてるみたいなので
cygwin 固有の関数 が含まれていても msys2 環境でコンパイル可能です
ただ、以下のメールでのやり取りからすると
http://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/2F9017D3-8357-48C2-B887-A32FDF4E2141@gmail.com/
Red hat の cygwin 開発者ともめたみたいで、
それを回避するために(他にも理由はあると思いますが)、以下のように多少手を加えてるみたいです。
1. 実行する際にコマンドライン引数と環境変数のパスを Windows 形式に自動変換する
2. OSNAME の値を環境変数 MSYSTEM の値に設定する
3. ネイティブな Windows アプリケーションの出力の行末コード(CR+LF)を UNIX 形式(LF)に変換
4. symlinks の挙動を リンクではなくコピーに
5. 旧 msys との互換性維持のため、 pwd への "-W" オプションの追加
6. /cygdrive プレフィックスの削除 (e.g C:\ | /cygdrive/c/ -> /c/)
7. MSYS2提供のユーザーランドソフトウェアに対する互換性と相互運用性維持のための変更
8. msys2 での権限操作を抑制するため、マウントオプションを noacl に
9. cygwin の trunk バージョンをベースとした msys2 のリリース
2015/08/11(火) 14:32:49.49ID:bYjHud0I0
face の変更方法って色々あるけど、どれが一番高速なんだろう?
代表的なのは custom-set-faces set-face-attribute
あとは OS の機能を使う方法( Win ならレジストリ, Linux なら .Xresources )
今は、なんとなくレジストリいじる方法で face 変えてるけど
代表的なのは custom-set-faces set-face-attribute
あとは OS の機能を使う方法( Win ならレジストリ, Linux なら .Xresources )
今は、なんとなくレジストリいじる方法で face 変えてるけど
2015/08/12(水) 10:56:11.22ID:8NfCUjoG0
ウィンドウサイズとかもそうだけどレジストリとか.Xresoucesの場合
ウィンドウが表示される前に適用されるから起動時に一瞬違うサイズのが表示されるってのがなくなるのが好き。
ただフォント絡みは一部の文字だけ置き換えなんかした場合のリソースでの記法がよくわからなくて二の足踏んでる。
ウィンドウが表示される前に適用されるから起動時に一瞬違うサイズのが表示されるってのがなくなるのが好き。
ただフォント絡みは一部の文字だけ置き換えなんかした場合のリソースでの記法がよくわからなくて二の足踏んでる。
148sage
2015/08/17(月) 07:35:11.12ID:NCnTVCkt0 どちらかと言うと windowsの質問ですが、先日 win7→10にしました。
ntemacs64(chuntaroさんの)は問題なく動くのですが、スタートメニューにはピン止めしかできません。
これだとプロパティでの作業フォルダが設定できないです。
環境変数 HOMEを設定する事で init.elは読み込む様になりましたが、emacs起動直後の C-x dでは emacs/bin
になっちゃいます(まぁ、~/ を入力すれば良い訳ですが・・・)
みなさんこの辺りどうしてます? 作業フォルダが emacs/binのままで支障はないですか?
# いままでずっと ~/ を作業フォルダに指定して使って来てるので・・・
以上、ご教示頂けると幸いです。
ntemacs64(chuntaroさんの)は問題なく動くのですが、スタートメニューにはピン止めしかできません。
これだとプロパティでの作業フォルダが設定できないです。
環境変数 HOMEを設定する事で init.elは読み込む様になりましたが、emacs起動直後の C-x dでは emacs/bin
になっちゃいます(まぁ、~/ を入力すれば良い訳ですが・・・)
みなさんこの辺りどうしてます? 作業フォルダが emacs/binのままで支障はないですか?
# いままでずっと ~/ を作業フォルダに指定して使って来てるので・・・
以上、ご教示頂けると幸いです。
2015/08/17(月) 08:13:25.44ID:IM7ynGeV0
自分は昔から (cd "~") を init.el の最後にいれてます。
2015/08/17(月) 09:34:24.18ID:2KGddbGt0
>>148
スタートメニューにピン止めしたら、ピン止めのアイコンをポイントしてマウス右メニューで「ファイルの場所を開く」で開くフォルダに
ショートカットができているから、そのプロパティで作業フォルダを指定できるはず。
タスクバーにピン止めしてもマウス右メニューでショートカットのプロパティを編集できる。
スタートメニューにピン止めしたら、ピン止めのアイコンをポイントしてマウス右メニューで「ファイルの場所を開く」で開くフォルダに
ショートカットができているから、そのプロパティで作業フォルダを指定できるはず。
タスクバーにピン止めしてもマウス右メニューでショートカットのプロパティを編集できる。
151sage
2015/08/17(月) 20:37:38.99ID:NCnTVCkt0 おぉ!! こんな事できたのか!!
ありがとうございます。
(cd "~")だったのですね。
自分も最初に思い付いたのはそれだったのでですが・・・いかんせ elispがわからない^^;
カッコで括る必要があったんですね。勉強になります。
以上、有難うございました。
ありがとうございます。
(cd "~")だったのですね。
自分も最初に思い付いたのはそれだったのでですが・・・いかんせ elispがわからない^^;
カッコで括る必要があったんですね。勉強になります。
以上、有難うございました。
2015/08/22(土) 16:58:40.96ID:j7cezT2u0
cygwin上からNTEmacs呼び出してるからWin側の環境変数はあまり気にしたこと無いなぁ。
HOMEぐらい?
みんなWinでshellコマンドのための環境は何を使ってるんだろう?
HOMEぐらい?
みんなWinでshellコマンドのための環境は何を使ってるんだろう?
2015/08/23(日) 11:56:51.25ID:BYquMg6N0
自分が冷静になるために情報を整理。
windows10にアップデートしたので、アプリが正常に動くか一通りチェック。
ほぼ問題ないが、emacs + StrawberryPerlで元通りに動かないところがある。
自作のスクリプトをshell-command-on-regionで使っていたのが、
(Shell command succeeded with no output)になる。
perltidyは動く。
eshellでは正常な結果となるので、どうしてもだめならeshellを使うのもありだろう。
まずはemacsのバージョンをチェックするか…
windows10にアップデートしたので、アプリが正常に動くか一通りチェック。
ほぼ問題ないが、emacs + StrawberryPerlで元通りに動かないところがある。
自作のスクリプトをshell-command-on-regionで使っていたのが、
(Shell command succeeded with no output)になる。
perltidyは動く。
eshellでは正常な結果となるので、どうしてもだめならeshellを使うのもありだろう。
まずはemacsのバージョンをチェックするか…
2015/08/23(日) 13:28:54.67ID:BYquMg6N0
utf-8にしたら治ったサーセン
2015/08/23(日) 22:45:52.88ID:/GtGCPq50
cygwin や msys2 とかの unix ライク環境と ntemacs を連携させてる場合、
Win側 の環境変数をいじるのは、気持ち悪くてできないなぁ
自分の場合、環境変数 HOME は以下のように設定してる。
ntemacs をインストールしたディレクトリ/share/emacs/site-lisp/
以下に site-start.el を作成して
(setenv "HOME" "HOME に設定したいディレクトリパス")
完全に好みの問題だけ思うけど
Win側 の環境変数をいじるのは、気持ち悪くてできないなぁ
自分の場合、環境変数 HOME は以下のように設定してる。
ntemacs をインストールしたディレクトリ/share/emacs/site-lisp/
以下に site-start.el を作成して
(setenv "HOME" "HOME に設定したいディレクトリパス")
完全に好みの問題だけ思うけど
2015/08/28(金) 10:07:02.82ID:/FGdkJXi0
↑ win10ではうまく行かなくない?
うちはだめだった。
うちはだめだった。
2015/08/28(金) 12:43:24.20ID:wblKlxCN0
>>156 win10 試してないからわからないけど、少なくとも win7 だとうまくいってる
scratch バッファに (getenv "HOME") C-j で設定したパスが表示されるか確認してみて
scratch バッファに (getenv "HOME") C-j で設定したパスが表示されるか確認してみて
2015/09/04(金) 15:30:20.98ID:TxZyxqGk0
emacs lisp で cygpath を使うために以下のような関数を作成したんだけど、
2番目の引数 path をダブルクオートで囲って shell-command-to-string に渡そうとしたら
ダサい感じになってしまった…
もっといい方法があれば教えてください
----------------------------------------------------------------------------
(defun cygpath (option path)
(let* ((cygpath_path "\"D:/msys64/usr/bin/cygpath\"")
(quote_path (concat "\"" path "\""))
(command (mapconcat 'identity (list cygpath_path option quote_path) "\s")))
(substring (shell-command-to-string command) 0 -1))))
----------------------------------------------------------------------------
2番目の引数 path をダブルクオートで囲って shell-command-to-string に渡そうとしたら
ダサい感じになってしまった…
もっといい方法があれば教えてください
----------------------------------------------------------------------------
(defun cygpath (option path)
(let* ((cygpath_path "\"D:/msys64/usr/bin/cygpath\"")
(quote_path (concat "\"" path "\""))
(command (mapconcat 'identity (list cygpath_path option quote_path) "\s")))
(substring (shell-command-to-string command) 0 -1))))
----------------------------------------------------------------------------
2015/09/04(金) 17:09:19.60ID:T5sh+NNV0
shell-quote-argumentを使う。
160>>158
2015/09/04(金) 18:18:27.10ID:TxZyxqGk0 >>159 ありがとう
ズバリ shell-quote-argument が求めていた関数でした。
(defun cygpath (option path)
(let ((command (mapconcat 'identity (list "D:/msys64/usr/bin/cygpath"
option
(shell-quote-argument path)) "\s")))
(substring (shell-command-to-string command) 0 -1)))
NTemacs と cygwin を連携させる場合に
win ←→ unix の path の変換はみんなどうやっているのだろう?
ズバリ shell-quote-argument が求めていた関数でした。
(defun cygpath (option path)
(let ((command (mapconcat 'identity (list "D:/msys64/usr/bin/cygpath"
option
(shell-quote-argument path)) "\s")))
(substring (shell-command-to-string command) 0 -1)))
NTemacs と cygwin を連携させる場合に
win ←→ unix の path の変換はみんなどうやっているのだろう?
2015/09/04(金) 18:25:25.02ID:T5sh+NNV0
cygwin-mount.el使うと少しは良いかも。
2015/09/04(金) 19:02:15.01ID:TxZyxqGk0
>>161
cygwin-mount.el を使えば、シェルコマンドを利用して
その結果を emacs の環境変数に書き込んだりする
パッケージ(exec-path-from-shellとか)でも問題なく使えたりするのかな?
cygwin-mount.el を使えば、シェルコマンドを利用して
その結果を emacs の環境変数に書き込んだりする
パッケージ(exec-path-from-shellとか)でも問題なく使えたりするのかな?
2015/09/04(金) 19:55:35.55ID:T5sh+NNV0
cygwin-mount.elはcygwinのマウントポイントを意識してcygwin->winのパスの
変換をしてくれます。cygwin-mount.elを設定して、
(expand-file-name "cygwinのパス")
を色々やってみると、やってくれていることがなんとなく分かると思います。
これは、emacs lispのMagicという仕組みを使っているようです。
で、exec-path-from-shellについては使っていないので分からないのですが、
恐らくそのままでは使えないのでしょうか。advice等で調整すれば動くように
なるかもしれません。
変換をしてくれます。cygwin-mount.elを設定して、
(expand-file-name "cygwinのパス")
を色々やってみると、やってくれていることがなんとなく分かると思います。
これは、emacs lispのMagicという仕組みを使っているようです。
で、exec-path-from-shellについては使っていないので分からないのですが、
恐らくそのままでは使えないのでしょうか。advice等で調整すれば動くように
なるかもしれません。
2015/09/04(金) 19:58:32.47ID:T5sh+NNV0
gnupack-11.00の仕組みを使うと、gnupackの起動ファイルでPATHの設定等が
できて楽ちんです。cygwin-mount.elも入っていますね。
http://blechmusik.hatenablog.jp/entry/2014/11/14/002259
できて楽ちんです。cygwin-mount.elも入っていますね。
http://blechmusik.hatenablog.jp/entry/2014/11/14/002259
2015/09/04(金) 21:02:26.38ID:TxZyxqGk0
2015/09/04(金) 21:43:31.18ID:JpiFvrC40
cygwin-mount ってパスのプリフィクス mount の戻り値から取ってなかったっけ
自分はマウントポイント変更して /cygdrive/c じゃなく /mnt/c に変えて cygwin 使ってるけど cygwin-mount 問題なく使えてるよ。
もっとも msys2 はコンパイルの時ぐらいしか使ってないから根本的になにか勘違いしてるかもしれないのであしからず。
自分はマウントポイント変更して /cygdrive/c じゃなく /mnt/c に変えて cygwin 使ってるけど cygwin-mount 問題なく使えてるよ。
もっとも msys2 はコンパイルの時ぐらいしか使ってないから根本的になにか勘違いしてるかもしれないのであしからず。
2015/09/04(金) 22:53:47.81ID:iErS8UcW0
cygwin-mount.el、msys2 でも使えました。ロードの順番をミスっていたみたいです。
ただ、cygpath のときと同様に advice 等での調整は必要みたいです。
ただ、cygpath のときと同様に advice 等での調整は必要みたいです。
2015/09/04(金) 22:58:56.14ID:T5sh+NNV0
cygwin-mountを使ったほうが、都度プロセスを起動しないだろうし、
色々な場面で裏でパスの変換をしてくれるからいいと思うよ。
色々な場面で裏でパスの変換をしてくれるからいいと思うよ。
2015/09/04(金) 23:57:03.31ID:iErS8UcW0
cygwin-mount.el を使うと、unux → win の path 変換は簡単にできるのですが
逆に win → unix の path 変換ってどうすればできますか
逆に win → unix の path 変換ってどうすればできますか
2015/09/05(土) 06:18:39.45ID:zpJz8pKX0
msys2やcygwinではwindows形式のパスを認識するのであまりwin->unixの変換を
することはないけど、やはり行うとするとcygpathを使うことになるのでないかなぁ。
ちなみに、cygwin版emacsではcygwin-mount.elの逆の機能をもつwindows-path.el
というものがあります。これはcygwin-mount.elを内部で使ってはいるんですが、
一緒にactivateすることはできないものと思います。
することはないけど、やはり行うとするとcygpathを使うことになるのでないかなぁ。
ちなみに、cygwin版emacsではcygwin-mount.elの逆の機能をもつwindows-path.el
というものがあります。これはcygwin-mount.elを内部で使ってはいるんですが、
一緒にactivateすることはできないものと思います。
2015/09/05(土) 06:21:22.84ID:zpJz8pKX0
もう一つ。cygwin版のemacsだと以下の関数が使えます。
cygwin-convert-file-name-from-windows
cygwin-convert-file-name-to-windows
でもMinGW版のemacsでは使えないようです。
cygwin-convert-file-name-from-windows
cygwin-convert-file-name-to-windows
でもMinGW版のemacsでは使えないようです。
2015/09/05(土) 13:58:18.01ID:RZ+CalpO0
ID:zpJz8pKX0 ありがとう
msys2 版の gnu global(gtags) が unix 形式の path しか受け付けないので
win → unix の変換が必要な場合があります。(win版 gnu global を使えばいいって話ですが)
windows-path.el と cygwin-mount.el を一緒に activate すると盛大に事故りそうですね
なので、windows-path.el を active にしないで
windows-path で定義されている windows-path-convert-file-name を呼び出して
cygwin-convert-file-name-from-windows みたいに使うってのを考えてます
msys2 版の gnu global(gtags) が unix 形式の path しか受け付けないので
win → unix の変換が必要な場合があります。(win版 gnu global を使えばいいって話ですが)
windows-path.el と cygwin-mount.el を一緒に activate すると盛大に事故りそうですね
なので、windows-path.el を active にしないで
windows-path で定義されている windows-path-convert-file-name を呼び出して
cygwin-convert-file-name-from-windows みたいに使うってのを考えてます
2015/09/05(土) 14:56:36.97ID:zpJz8pKX0
古いadviceの書き方で申し訳ないけどexec-path-from-shellは考えてみたよ。NTEmacs+Cygwinだと動きます。
(defadvice exec-path-from-shell-setenv (around ad-exec-path-from-shell-setenv activate)
(let ((path-separator ":"))
ad-do-it
(when (string= (ad-get-arg 0) "PATH")
(setenv (ad-get-arg 0) (mapconcat (lambda (arg) (replace-regexp-in-string "/" "\\\\" arg))
(parse-colon-path value) ";")))))
(defadvice exec-path-from-shell-printf (around ad-exec-path-from-shell-printf activate)
(cl-letf (((symbol-function 'executable-find)
(symbol-function 'identity)))
(let ((exec-path-from-shell-arguments '("-l")))
ad-do-it)))
(exec-path-from-shell-initialize)
(defadvice exec-path-from-shell-setenv (around ad-exec-path-from-shell-setenv activate)
(let ((path-separator ":"))
ad-do-it
(when (string= (ad-get-arg 0) "PATH")
(setenv (ad-get-arg 0) (mapconcat (lambda (arg) (replace-regexp-in-string "/" "\\\\" arg))
(parse-colon-path value) ";")))))
(defadvice exec-path-from-shell-printf (around ad-exec-path-from-shell-printf activate)
(cl-letf (((symbol-function 'executable-find)
(symbol-function 'identity)))
(let ((exec-path-from-shell-arguments '("-l")))
ad-do-it)))
(exec-path-from-shell-initialize)
2015/09/05(土) 15:29:43.39ID:RZ+CalpO0
自分はこんな感じにしてます
(defun ad-exec-path-from-shell-setenv (orig-fun &rest args)
(when (string= (nth 0 args) "PATH")
(let (win_path)
(dolist (path (split-string (nth 1 args) ":"))
(setq win_path (concat win_path (expand-file-name path) ";")))
(setcar (nthcdr 1 args) win_path)))
(apply orig-fun args))
(advice-add 'exec-path-from-shell-setenv :around 'ad-exec-path-from-shell-setenv)
(defun ad-exec-path-from-shell-setenv (orig-fun &rest args)
(when (string= (nth 0 args) "PATH")
(let (win_path)
(dolist (path (split-string (nth 1 args) ":"))
(setq win_path (concat win_path (expand-file-name path) ";")))
(setcar (nthcdr 1 args) win_path)))
(apply orig-fun args))
(advice-add 'exec-path-from-shell-setenv :around 'ad-exec-path-from-shell-setenv)
2015/09/05(土) 16:14:51.18ID:zpJz8pKX0
新しいadviceの方がエレガントですね。24.3も無くなったので覚えようかな。
あと、>>174に間違いがありました。
(parse-colon-path value) -> (parse-colon-path (ad-get-arg 1))
でもvalueでも動くんですね。
あと、>>174に間違いがありました。
(parse-colon-path value) -> (parse-colon-path (ad-get-arg 1))
でもvalueでも動くんですね。
2015/09/05(土) 17:05:22.22ID:RZ+CalpO0
個人的には、新 advice の方が分かりやすいと思います
また、byte-compile した時も、旧 advice は 無名関数に展開されて
最適化が今一つでしたが、新 advice は 処理部分を関数に独立させるので
うまく byte-compile できるかなと思ってます
また、byte-compile した時も、旧 advice は 無名関数に展開されて
最適化が今一つでしたが、新 advice は 処理部分を関数に独立させるので
うまく byte-compile できるかなと思ってます
2015/09/05(土) 17:54:18.66ID:RZ+CalpO0
win → unix の path 変換ですが
cygwin-mount.el の cygwin-mount-substitute-longest-mount-name を
少し変更するだけでうまくいきました
(defun windows-path-substitute-longest-mount-name (name)
"Substitute NAME with mount device or return NAME."
(and name
(save-match-data
(let ((mounts cygwin-mount-table--internal)
(len (length (file-name-as-directory name)))
match)
(while mounts
(let ((mount (file-name-as-directory (caar mounts))))
(and (>= len (length mount))
(string= mount
(file-name-as-directory
(substring (file-name-as-directory name)
0 (length mount))))
(or (null match)
(> (length (caar mounts)) (length (car match))))
(setq match (car mounts))))
(setq mounts (cdr mounts)))
(if match
(concat (file-name-as-directory (cdr match))
(if (>= (length (file-name-as-directory (car match))) len)
""
(substring name (length (file-name-as-directory (car match))))))
name)))))
cygwin-mount.el の cygwin-mount-substitute-longest-mount-name を
少し変更するだけでうまくいきました
(defun windows-path-substitute-longest-mount-name (name)
"Substitute NAME with mount device or return NAME."
(and name
(save-match-data
(let ((mounts cygwin-mount-table--internal)
(len (length (file-name-as-directory name)))
match)
(while mounts
(let ((mount (file-name-as-directory (caar mounts))))
(and (>= len (length mount))
(string= mount
(file-name-as-directory
(substring (file-name-as-directory name)
0 (length mount))))
(or (null match)
(> (length (caar mounts)) (length (car match))))
(setq match (car mounts))))
(setq mounts (cdr mounts)))
(if match
(concat (file-name-as-directory (cdr match))
(if (>= (length (file-name-as-directory (car match))) len)
""
(substring name (length (file-name-as-directory (car match))))))
name)))))
2015/09/05(土) 23:25:07.04ID:zpJz8pKX0
>>176
新アドバイスの説明はここがわかりやすいですね。
http://g000001.cddddr.org/3623238000
ついでに汎変数の説明ページ。これ強力。
http://kawabata.github.io/blog/2013-03-14-general-variables.html
新アドバイスの説明はここがわかりやすいですね。
http://g000001.cddddr.org/3623238000
ついでに汎変数の説明ページ。これ強力。
http://kawabata.github.io/blog/2013-03-14-general-variables.html
2015/09/17(木) 01:05:16.16ID:RH/e30Tl0
NTEmacs では process-file は遅いって以下のブログとか stackoverflow で紹介されてるけど
http://lambdasakura.hatenablog.com/entry/2013/03/22/000211
http://fujii.github.io/2014/02/13/emacs-magit-runs-too-slowly-on-windows/
http://stackoverflow.com/questions/21753418/why-is-process-file-git-slower-than-process-file-shell-command-git-on-em
自分の環境 (win7 NTEmacs 24.5.1 msys2) で試したところ process-file の方が高速だった。
(benchmark 10 '(call-process "git"))
"Elapsed time: 0.280801s"
(benchmark 10 '(process-file "git"))
"Elapsed time: 0.280801s"
(benchmark 10 '(process-file-shell-command "git"))
"Elapsed time: 0.374401s"
(benchmark 10 '(shell-command-to-string "git"))
"Elapsed time: 0.374401s"
これって 24.2 〜 24.5 の間でバグが修正されたってこと?
どこかに資料があれば教えてほしい
http://lambdasakura.hatenablog.com/entry/2013/03/22/000211
http://fujii.github.io/2014/02/13/emacs-magit-runs-too-slowly-on-windows/
http://stackoverflow.com/questions/21753418/why-is-process-file-git-slower-than-process-file-shell-command-git-on-em
自分の環境 (win7 NTEmacs 24.5.1 msys2) で試したところ process-file の方が高速だった。
(benchmark 10 '(call-process "git"))
"Elapsed time: 0.280801s"
(benchmark 10 '(process-file "git"))
"Elapsed time: 0.280801s"
(benchmark 10 '(process-file-shell-command "git"))
"Elapsed time: 0.374401s"
(benchmark 10 '(shell-command-to-string "git"))
"Elapsed time: 0.374401s"
これって 24.2 〜 24.5 の間でバグが修正されたってこと?
どこかに資料があれば教えてほしい
2015/09/19(土) 14:10:20.13ID:R1tfMSjT0
環境:Windows7, GNU Emacs 24.5.1 (x86_64-pc-mingw32) of 2015-04-14 on NTEMACS6
4
MIGEMOを使っているので、C-s, C-r を入力したらIMEをオフしたいです。
以下のサイトの通りにinit.elに書きましたが、IMEはオフになりません。
どのように設定すればよいか教えてください。
ttp://d.hatena.ne.jp/takehikom/20120318/1332016271
; [migemo]isearch で IME をオフにする
(wrap-function-to-control-ime 'isearch-forward t nil)
(wrap-function-to-control-ime 'isearch-forward-regexp t nil)
(wrap-function-to-control-ime 'isearch-backward t nil)
(wrap-function-to-control-ime 'isearch-backward-regexp t nil)
4
MIGEMOを使っているので、C-s, C-r を入力したらIMEをオフしたいです。
以下のサイトの通りにinit.elに書きましたが、IMEはオフになりません。
どのように設定すればよいか教えてください。
ttp://d.hatena.ne.jp/takehikom/20120318/1332016271
; [migemo]isearch で IME をオフにする
(wrap-function-to-control-ime 'isearch-forward t nil)
(wrap-function-to-control-ime 'isearch-forward-regexp t nil)
(wrap-function-to-control-ime 'isearch-backward t nil)
(wrap-function-to-control-ime 'isearch-backward-regexp t nil)
2015/09/19(土) 16:27:22.55ID:+I3rN2eB0
>>181
wrap-function-to-control-ime内の(ime-force-off)を(w32-ime-state-switch nil)に
置き換えたバージョンを再定義すればうまく行くよ
詳しくは知らんけどもはや(ime-force-off)単体じゃIMEを適切にオフに出来ないっぽい
wrap-function-to-control-ime内の(ime-force-off)を(w32-ime-state-switch nil)に
置き換えたバージョンを再定義すればうまく行くよ
詳しくは知らんけどもはや(ime-force-off)単体じゃIMEを適切にオフに出来ないっぽい
2015/09/19(土) 18:32:50.19ID:c1moA2Pd0
>>181
ちょうど二日前、W32-IMEの設定を見直して以下にまとめてみていました。
http://www49.atwiki.jp/ntemacs/pages/45.html
ベストな設定ではないかとも思いますが、参考にしてください。
ちょうど二日前、W32-IMEの設定を見直して以下にまとめてみていました。
http://www49.atwiki.jp/ntemacs/pages/45.html
ベストな設定ではないかとも思いますが、参考にしてください。
185>>180
2015/09/20(日) 21:52:35.21ID:uwY68DvN0 自己解決。process-file の件は以下のバグでどうやら 24.4 で修正されてるみたい
GNU bug report logs - #18420 (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18420)
GNU bug report logs - #18626 (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18626)
GNU bug report logs - #18420 の修正内容
https://lists.gnu.org/archive/html/emacs-diffs/2014-09/msg00117.html
GNU bug report logs - #18420 (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18420)
GNU bug report logs - #18626 (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18626)
GNU bug report logs - #18420 の修正内容
https://lists.gnu.org/archive/html/emacs-diffs/2014-09/msg00117.html
2015/09/22(火) 17:55:49.60ID:/8kDZ9Fj0
ntemacsの話では無いのですが、随分ググったりしたのですが、それらしい情報も無く、宜しくお願い致します。
moccur-grep-findのパスを複数指定する方法はありませんか?
grep-findだと、
find *.{cpp,h} ../../hoge/src2/*.{cpp,h} 〜みたいに出来たのですが、同じ様な事は可能でしょうか?
#moccur-editで一括変更出来て魅力なのですが、常に複数のパスに分かれた環境での開発が多くて…
宜しくお願いします。
moccur-grep-findのパスを複数指定する方法はありませんか?
grep-findだと、
find *.{cpp,h} ../../hoge/src2/*.{cpp,h} 〜みたいに出来たのですが、同じ様な事は可能でしょうか?
#moccur-editで一括変更出来て魅力なのですが、常に複数のパスに分かれた環境での開発が多くて…
宜しくお願いします。
2015/09/22(火) 22:35:03.73ID:dCSsQvYs0
2015/09/22(火) 22:45:14.02ID:kaob2zWd0
Cygwin Win10 Emacs24.5+ime patchでGoogle日本語入力使った時、変換候補が画面に出ない。
Microsoft IMEだと出る。
変換候補を出す方法誰か知らない?
Microsoft IMEだと出る。
変換候補を出す方法誰か知らない?
2015/09/22(火) 23:16:09.41ID:kaob2zWd0
2015/09/23(水) 11:59:06.38ID:Ft+Rt2MJ0
2015/09/23(水) 12:42:49.76ID:TuSWW9fm0
>>190
ありがとう!
ありがとう!
2015/11/07(土) 10:20:00.85ID:PVg9Gnvh0
Win8.1で >>2 の64bit版使っているんだけど、たまに漢字変換時にEmacsが致命的エラーで強制終了してしまう。同じ症状の人いる?回避策はあるんだろうか?
2015/11/07(土) 10:29:37.34ID:dH1s929F0
>>192
自分のとこでも起こってる。発生頻度が低く、仮にクラッシュしても recover-this-file で
大半は戻せるし、作業用の一時的なバッファは (メモリ上にとどめず) ファイルに保存して
しのいでる。 あとはEmacsのプロセスを分ける。 治せるならそうしてほしいけど。
自分のとこでも起こってる。発生頻度が低く、仮にクラッシュしても recover-this-file で
大半は戻せるし、作業用の一時的なバッファは (メモリ上にとどめず) ファイルに保存して
しのいでる。 あとはEmacsのプロセスを分ける。 治せるならそうしてほしいけど。
2015/11/07(土) 12:15:48.31ID:rZYKkepA0
2015/11/07(土) 12:55:20.56ID:tw9+s76g0
23.4最強伝説。
2015/11/07(土) 13:42:01.72ID:UYbEGxiy0
24.3ではなくて?
2015/11/08(日) 06:45:40.29ID:arOfbMoL0
23.4.1。自分はNTEmacs使ってるけど、24のビルドって色々面倒らしい。
2015/11/08(日) 18:20:37.68ID:KkOj3Tay0
emacs-mozc使っているからか、落ちることはまずない。
2015/11/09(月) 20:59:56.39ID:Bxz3gcp80
ボクんとこでも起こるからこんなコードで凌いでる。
(完全なオリジナルではないと思うけど出典がわからない。元ネタ提供者に感謝)
(defun my-autosave-ime-func()
"IMEをON/OFFするたびにセーブする"
(if (and (buffer-file-name)
(buffer-modified-p))
(basic-save-buffer)))
(add-hook 'input-method-activate-hook 'my-autosave-ime-func)
(add-hook 'input-method-inactivate-hook 'my-autosave-ime-func)
(完全なオリジナルではないと思うけど出典がわからない。元ネタ提供者に感謝)
(defun my-autosave-ime-func()
"IMEをON/OFFするたびにセーブする"
(if (and (buffer-file-name)
(buffer-modified-p))
(basic-save-buffer)))
(add-hook 'input-method-activate-hook 'my-autosave-ime-func)
(add-hook 'input-method-inactivate-hook 'my-autosave-ime-func)
2015/11/18(水) 21:38:28.86ID:7urKIPwt0
結構頻繁に異常終了が起きていたので(仕事が波に乗ってキータッチが速くなると特に)、
http://cha.la.coocan.jp/doc/NTEmacs.html
で公開してくれている「簡易IME対応版」に切り替えた。
俺のPCだと cmdproxy.exe がエラーになるので、その辺りのバイナリだけ >>2 のをマージして使っている。
1週間くらい使ったが、今のところ異常終了はしていない。
「C-x k(全角)」とかも別個でキーバインド設定しなくちゃいけないので面倒だけど、異常終了にビクビクするよりかは全然マシ。
提供してくれた人に大変感謝!
http://cha.la.coocan.jp/doc/NTEmacs.html
で公開してくれている「簡易IME対応版」に切り替えた。
俺のPCだと cmdproxy.exe がエラーになるので、その辺りのバイナリだけ >>2 のをマージして使っている。
1週間くらい使ったが、今のところ異常終了はしていない。
「C-x k(全角)」とかも別個でキーバインド設定しなくちゃいけないので面倒だけど、異常終了にビクビクするよりかは全然マシ。
提供してくれた人に大変感謝!
2015/11/18(水) 23:17:14.17ID:nqCVDCka0
>>200
これ未確定文字のフォントが大きくなってしまうんだけど
回避策ある?
(set-frame-font "MS Gothic 9" t t)
ってやってるのに、未確定文字だけ14ポイントくらいの大きさ
これ未確定文字のフォントが大きくなってしまうんだけど
回避策ある?
(set-frame-font "MS Gothic 9" t t)
ってやってるのに、未確定文字だけ14ポイントくらいの大きさ
2015/11/18(水) 23:40:16.43ID:QppqRbIM0
>>200
ここのバイナリ、異常終了しないけど、M-x grep で該当文字列があっても
検索ヒットせずにエラーにもならないんだけど何か設定必要なんでしょうか?
eshellではgrepが使えてます。
ここのバイナリ、異常終了しないけど、M-x grep で該当文字列があっても
検索ヒットせずにエラーにもならないんだけど何か設定必要なんでしょうか?
eshellではgrepが使えてます。
2015/11/19(木) 12:35:09.94ID:2jisHQtI0
>>201
自分のところではフォントが変わっているようには感じない。ちなみに以下のような設定。
(set-default-font "Inconsolata-11")
(set-face-font 'variable-pitch "Inconsolata-11")
(set-fontset-font (frame-parameter nil 'font)
'japanese-jisx0208
'("Takaoゴシック" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font)
'japanese-jisx0212
'("Takaoゴシック" . "unicode-bmp"))
(setq-default line-spacing 0)
>>202
eshellでgrep出来るとは知らなかった。大量にバッファを開いちゃうようで、ちょっと微妙だけど。
ちなみに俺はNTEmacsでのgrepは諦めていて、外部のGUIアプリを起動するだけにしている。
eshell/grepがバッファを開きっぱなしにしないようにできるなら即乗り換えるんだけど、誰かやり方知らない?
自分のところではフォントが変わっているようには感じない。ちなみに以下のような設定。
(set-default-font "Inconsolata-11")
(set-face-font 'variable-pitch "Inconsolata-11")
(set-fontset-font (frame-parameter nil 'font)
'japanese-jisx0208
'("Takaoゴシック" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font)
'japanese-jisx0212
'("Takaoゴシック" . "unicode-bmp"))
(setq-default line-spacing 0)
>>202
eshellでgrep出来るとは知らなかった。大量にバッファを開いちゃうようで、ちょっと微妙だけど。
ちなみに俺はNTEmacsでのgrepは諦めていて、外部のGUIアプリを起動するだけにしている。
eshell/grepがバッファを開きっぱなしにしないようにできるなら即乗り換えるんだけど、誰かやり方知らない?
2015/11/19(木) 22:33:44.21ID:02py6KvK0
2015/11/24(火) 23:54:47.48ID:U0EECJfj0
以下の変更のせいらしいけどdierdでZを押しても圧縮/解凍できなくなった
msys2でビルドしているのだけれど平気な人いますか?
directory用のregexpで":"とかベタにコーディングしているので私の環境だとc:/〜とかで全部引っかかる
とりあえずdired-compress-file-suffixesをsetqしてごまかしているけどdirectoryの圧縮機能使ってみたい
2015-10-20 Oleh Krehel <ohwoeowho@gmail.com>
Update the way directories are compressed
* lisp/dired-aux.el (dired-compress-file-suffixes): Update the recipe
for *.tar.gz decompression to use a pipe.
Add an entry for the default directory compression (to *.tar.g).
msys2でビルドしているのだけれど平気な人いますか?
directory用のregexpで":"とかベタにコーディングしているので私の環境だとc:/〜とかで全部引っかかる
とりあえずdired-compress-file-suffixesをsetqしてごまかしているけどdirectoryの圧縮機能使ってみたい
2015-10-20 Oleh Krehel <ohwoeowho@gmail.com>
Update the way directories are compressed
* lisp/dired-aux.el (dired-compress-file-suffixes): Update the recipe
for *.tar.gz decompression to use a pipe.
Add an entry for the default directory compression (to *.tar.g).
2015/11/26(木) 19:33:11.11ID:fHhDv4Yy0
2015/11/26(木) 20:15:13.83ID:H1OOzziS0
>>206
使ってる側がこれだから…やっつけすぎ
(if (file-directory-p file)
(progn
(setq suffix (cdr (assoc ":" dired-compress-file-suffixes)))
(when suffix
使ってる側がこれだから…やっつけすぎ
(if (file-directory-p file)
(progn
(setq suffix (cdr (assoc ":" dired-compress-file-suffixes)))
(when suffix
2015/11/26(木) 20:58:04.42ID:fHhDv4Yy0
>>207
お前こそdired使った事ないだろ
Diredの一番上に
c:/Hoge: (←Widnowsではこうだが Linux だと /Hoge/dir: になる)
という行があってそこでZを押すんだよ
それ以外の行ではマッチしないから何もしない
問題はsuffix以外を取り出すときにcになってしまうっていうバグだよ
まったく糞ムカつく野郎だな
お前こそdired使った事ないだろ
Diredの一番上に
c:/Hoge: (←Widnowsではこうだが Linux だと /Hoge/dir: になる)
という行があってそこでZを押すんだよ
それ以外の行ではマッチしないから何もしない
問題はsuffix以外を取り出すときにcになってしまうっていうバグだよ
まったく糞ムカつく野郎だな
2015/11/26(木) 21:05:03.16ID:fHhDv4Yy0
210207
2015/11/27(金) 00:02:45.74ID:F48qAS3A0 なんか怒られた…?
>>208の'一番上の行'は知らなかったので試してみたらNo file on this lineって言われた
207のコードは開発版のdired-auxのもので一覧中のdirectoryを圧縮するためのものの一部なので念のため
linuxで一番上の行のが動いているのなら>>206の改修を207のところも含めて入れてもらうのがいいのかな
ついでにもう一つ気づいたこと
foo/hoge/
foo/bar/hoge/
というディレクトリ構成でbarをdiredで表示してhogeをR(dired-do-rename)で../すると
foo/hoge/hoge/に移動してしまう
foo/hogeが存在しない状態ならfoo/hogeに普通に移動するし
C(dired-do-copy)ならfoo/hogeにbar/hogeの中身が正しくコピーされる
linuxでは大丈夫なのだろうか
>>208の'一番上の行'は知らなかったので試してみたらNo file on this lineって言われた
207のコードは開発版のdired-auxのもので一覧中のdirectoryを圧縮するためのものの一部なので念のため
linuxで一番上の行のが動いているのなら>>206の改修を207のところも含めて入れてもらうのがいいのかな
ついでにもう一つ気づいたこと
foo/hoge/
foo/bar/hoge/
というディレクトリ構成でbarをdiredで表示してhogeをR(dired-do-rename)で../すると
foo/hoge/hoge/に移動してしまう
foo/hogeが存在しない状態ならfoo/hogeに普通に移動するし
C(dired-do-copy)ならfoo/hogeにbar/hogeの中身が正しくコピーされる
linuxでは大丈夫なのだろうか
2016/01/08(金) 06:40:56.77ID:Zbts2muM0
ここでいいかわからないのですが,他に見つけられなかったので質問します.
板違いなどであれば適切な板などを教えてください.
Linux Mint 17.3 上で emacs24 を利用しています.
やりたいことは
YaTeX1.78 を用いていて TeX ソースの平文において C-c C-g を行うと
その場所に対応する PDF ファイルの該当箇所に移動するということを
日本語のディレクトリおよび日本語のファイル名でも行いたいということです.
fwdevince は http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Evince%2Ffwdevince%2FPython に従って ~/bin に作成し実行権限も与えています.
C-c C-g において YaTeX では fwdevince に対して「PDF ファイル名 + 行番号 + TeXソース名」を与えるのですが TeX ソース名が yatexprc.el の YaTeX-preview-jump-line 関数において (cf (file-relative-name (buffer-file-name) pdir)) と与えられており,
これを (cf (buffer-file-name)) に修正することで日本語を含むパスおよびファイル名でも C-c C-g でちゃんと移動できるところまで調べました.
しかし,配布されている yatexprc.el そのものを修正するのではなく init.el で対応しようと思うのですが,如何せんニワカemacs使いのため yatex.el を読み込んだ後に修正した YaTeX-preview-jump-line 関数を読み込むという術を知りません.
emacs で *.tex を読み込むと yatex.el を読み込むという設定はできています.その後に修正した YaTeX-preview-jump-line 関数を読み込むにはどうしたらよいでしょうか?アドヴァイスお願いします.
板違いなどであれば適切な板などを教えてください.
Linux Mint 17.3 上で emacs24 を利用しています.
やりたいことは
YaTeX1.78 を用いていて TeX ソースの平文において C-c C-g を行うと
その場所に対応する PDF ファイルの該当箇所に移動するということを
日本語のディレクトリおよび日本語のファイル名でも行いたいということです.
fwdevince は http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Evince%2Ffwdevince%2FPython に従って ~/bin に作成し実行権限も与えています.
C-c C-g において YaTeX では fwdevince に対して「PDF ファイル名 + 行番号 + TeXソース名」を与えるのですが TeX ソース名が yatexprc.el の YaTeX-preview-jump-line 関数において (cf (file-relative-name (buffer-file-name) pdir)) と与えられており,
これを (cf (buffer-file-name)) に修正することで日本語を含むパスおよびファイル名でも C-c C-g でちゃんと移動できるところまで調べました.
しかし,配布されている yatexprc.el そのものを修正するのではなく init.el で対応しようと思うのですが,如何せんニワカemacs使いのため yatex.el を読み込んだ後に修正した YaTeX-preview-jump-line 関数を読み込むという術を知りません.
emacs で *.tex を読み込むと yatex.el を読み込むという設定はできています.その後に修正した YaTeX-preview-jump-line 関数を読み込むにはどうしたらよいでしょうか?アドヴァイスお願いします.
2016/01/08(金) 08:30:24.93ID:Zbts2muM0
2016/01/08(金) 08:33:22.28ID:Zbts2muM0
>>213
渡瀬さんじゃなく広瀬さんですね(´・ω・`)
渡瀬さんじゃなく広瀬さんですね(´・ω・`)
2016/01/09(土) 17:30:22.74ID:1TsuX3zI0
解決済みと言うことだけど
UNIX板にEmacsスレがある
eval-aftar-loadとかadvice-addとかで調べるといいかも
てか、広瀬さん(?)って人すごいね
UNIX板にEmacsスレがある
eval-aftar-loadとかadvice-addとかで調べるといいかも
てか、広瀬さん(?)って人すごいね
216211
2016/01/09(土) 18:12:34.10ID:cm6jGrm60217211
2016/01/09(土) 18:15:28.19ID:cm6jGrm60 >>216
あわわわわ…意図せず投稿してしまいました
正しいかどうかわかりませんが
(eval-after-load 'yatexprc.el
'(progn
(defun YaTeX-preview-jump-line ()
修正したもの)))
として init.el に加えると修正後の関数が使えました
アドヴァイスありがとうございます
advice-add に関しても調べてみたいと思いますm(__)m
あわわわわ…意図せず投稿してしまいました
正しいかどうかわかりませんが
(eval-after-load 'yatexprc.el
'(progn
(defun YaTeX-preview-jump-line ()
修正したもの)))
として init.el に加えると修正後の関数が使えました
アドヴァイスありがとうございます
advice-add に関しても調べてみたいと思いますm(__)m
2016/02/14(日) 11:46:35.37ID:G3Z3AVh90
trampでsudoしつつファイルを開く、ってWindowsでもできませんかね。
cygwinにもsudoは無いし、どうすりゃできるでしょうか。
cygwinにもsudoは無いし、どうすりゃできるでしょうか。
2016/02/14(日) 12:22:56.24ID:6pywfP4u0
権限昇格のダイアログ出していいならやりようはあるんじゃないかな
220名無しさん@お腹いっぱい。
2016/02/15(月) 22:28:57.83ID:f6EWEqr50 Emacsで突然漢字変換が出来なくなりました
ユーザー定義した辞書を用いた変換は「たまに」出来るのですが、
最初からIMEに登録されている漢字の変換が出来ません
こういう症状はどんな原因が考えられますか?
ユーザー定義した辞書を用いた変換は「たまに」出来るのですが、
最初からIMEに登録されている漢字の変換が出来ません
こういう症状はどんな原因が考えられますか?
221220
2016/02/15(月) 23:32:57.54ID:f6EWEqr50 IME側の問題だったらしくOffice IME 2010をインストールしたら
再び変換してくれるようになりました
お騒がせしました
再び変換してくれるようになりました
お騒がせしました
2016/02/17(水) 16:45:24.22ID:QnMWIvOz0
windows 10上で24.5で、Migu 1M を使ったら汚いけど、文字化けはしない。
でもMSゴシックを使ったら ★とか☆とか◇とか◆が文字化けする。
なんでかなぁ。
でもMSゴシックを使ったら ★とか☆とか◇とか◆が文字化けする。
なんでかなぁ。
2016/02/20(土) 14:29:28.22ID:kQqx2lZN0
へー 25.0すっ飛ばして25.0.91→25.1でっか
2016/02/20(土) 18:00:12.54ID:6Z+EHAdA0
23の時も24の時も、pretestはxx.0.90から始まってたと思うが
225103
2016/02/21(日) 01:25:23.32ID:x7Qlo7Cp0 くるか…!!
∧∧
( ゚д゚) ガタッ
/ ヾ
__L| / ̄ ̄ ̄/_
\/ /
気が早いか…
∧∧
( ゚д゚) ガタッ
/ ヾ
__L| / ̄ ̄ ̄/_
\/ /
気が早いか…
2016/02/29(月) 21:53:20.98ID:f/pN5zQR0
そろそろと思って25.0.91.1にIME-Patch(+cmigemo+imagemagick)あててみたけど
バッファ切り替え時にIMEの状態が切り替わってくれない(Onのバッファから別の新しいバッファに移ってもOnのまま)
minibufferに入るときは以下でとりあえずIME offにはなるけど戻ってもOnにならない
(add-hook 'minibuffer-setup-hook
(lambda ()
(w32-ime-state-switch)))
w32-ime-buffer-switch-pはtでもnilでも変わらない
誰か対処方法わかりますか?
上の方にmozcとか話題が出てましたがIME-Patchはもう古いのかな?
バッファ切り替え時にIMEの状態が切り替わってくれない(Onのバッファから別の新しいバッファに移ってもOnのまま)
minibufferに入るときは以下でとりあえずIME offにはなるけど戻ってもOnにならない
(add-hook 'minibuffer-setup-hook
(lambda ()
(w32-ime-state-switch)))
w32-ime-buffer-switch-pはtでもnilでも変わらない
誰か対処方法わかりますか?
上の方にmozcとか話題が出てましたがIME-Patchはもう古いのかな?
227226
2016/02/29(月) 23:27:05.41ID:f/pN5zQR0 自己解決
パッチ後にコンパイルエラーになってとりあえずbuild通しただけだったので
select-window-functionsとset-selected-window-buffer-functions
のhookが効いてなかった
パッチ後にコンパイルエラーになってとりあえずbuild通しただけだったので
select-window-functionsとset-selected-window-buffer-functions
のhookが効いてなかった
2016/03/07(月) 11:48:38.52ID:I3wK+Phe0
2016/03/31(木) 23:25:46.92ID:zZ6ncrwY0
最新版のgnupackのEmacsにslimeインストールしたが動かないので暫く悩んだよ。
gnupackのEmacsってcygwin版だからwin32版のLispだとパスが違うのね。
/home/.emacs.d/elpa/... じゃ動かんわ orz
cygwinってclispしかないし他のを使う場合は自力でビルドせんとあかんか。また、はまりそう。
gnupackのEmacsってcygwin版だからwin32版のLispだとパスが違うのね。
/home/.emacs.d/elpa/... じゃ動かんわ orz
cygwinってclispしかないし他のを使う場合は自力でビルドせんとあかんか。また、はまりそう。
2016/04/01(金) 20:38:39.68ID:EeOvgWBj0
24.5だけど。これまで23で使えてたfont-lockが効かなくなってない?
2016/04/21(木) 22:55:34.83ID:jr1+HkMa0
ダウンロードしてきたEmacsを使っているのですが
デフォルトの文字コードをSfhit-jis / CRLFにするにはどうすれば..
ぐぐってみるとset language environment -> Japaneseで
WindowsならShitf-jisになるとあるのですが
いくらやってもU:???のままで途方に暮れてます....
適当に調べた設定用コードをinit.elに書き込んでもうまく行きません。
お力を貸してください...m(_ _)m
デフォルトの文字コードをSfhit-jis / CRLFにするにはどうすれば..
ぐぐってみるとset language environment -> Japaneseで
WindowsならShitf-jisになるとあるのですが
いくらやってもU:???のままで途方に暮れてます....
適当に調べた設定用コードをinit.elに書き込んでもうまく行きません。
お力を貸してください...m(_ _)m
2016/04/22(金) 01:23:46.32ID:UD5VuswV0
どこからダウンロードしてきたか知らないけどダウンロード元に情報はないの?
cygwin系はutf-8になるのかも
どこの文字コードを変えたいのかわからないけどとりあえずこれはどう?
(prefer-coding-system 'cp932)
か
(prefer-coding-system 'japanese-shift-jis)
メニューから設定する方法は知らない
cygwin系はutf-8になるのかも
どこの文字コードを変えたいのかわからないけどとりあえずこれはどう?
(prefer-coding-system 'cp932)
か
(prefer-coding-system 'japanese-shift-jis)
メニューから設定する方法は知らない
2016/04/23(土) 00:34:40.35ID:PpmFe3tG0
>>231 エスパー的に答えると、多分その行動は、デフォルトの文字コードの変更結果を見てるんじゃじゃなくて、
変化するはずのない今開いてるバッファの文字コードで結果を確認しておかしいと思ってるんだよ
(prefer-coding-system 'japanese-cp932-dos)
または
(prefer-coding-system 'cp932-dos)
をinit.elに記述して再起動か、*scratch*に書いて行末で C-x C-e 押すと「次回新規に開くファイルまたはバッファ」はステータスラインに S(CRLF) と表示される
init.elのファイルが既に U(LF) で書き込まれてたらステータスラインは U(LF) しか表示されない
>>231 のやろうとしたかったことは多分今開いてるバッファのステータスラインの文字コードを変えたかったのだろうから
M-x set-buffer-process-coding-system RET cp932-dos (C-x RET f)
大ハズレ?
変化するはずのない今開いてるバッファの文字コードで結果を確認しておかしいと思ってるんだよ
(prefer-coding-system 'japanese-cp932-dos)
または
(prefer-coding-system 'cp932-dos)
をinit.elに記述して再起動か、*scratch*に書いて行末で C-x C-e 押すと「次回新規に開くファイルまたはバッファ」はステータスラインに S(CRLF) と表示される
init.elのファイルが既に U(LF) で書き込まれてたらステータスラインは U(LF) しか表示されない
>>231 のやろうとしたかったことは多分今開いてるバッファのステータスラインの文字コードを変えたかったのだろうから
M-x set-buffer-process-coding-system RET cp932-dos (C-x RET f)
大ハズレ?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 急に真冬かよ!!!⛄❄✨
- 地球から無限km先の場所ってどうなっているの?
- お前らインターネット大規模障害起きてたとき何してた
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 日本、高市のお陰で破滅に近づくwwwwwwww
