[表示 : 全て 最新50 1-99 2chのread.cgiへ]
Update time : 06/23 04:55 / Filesize : 14 KB / Number-of Response : 48
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Emacs Part 43



1 名前:名無しさん@お腹いっぱい。 [2013/06/09(日) 14:05:32.09 ]
語り合いましょう。

GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/

EmacsWiki: サイトマップ
www.emacswiki.org/emacs/

Emacsのトラノマキ | 検索結果: | ありえるえりあ
dev.ariel-networks.com/wp/?s=Emacs%E3%81%AE%E3%83%88%E3%83%A9%E3%83%8E%E3%83%9E%E3%82%AD

前スレ
EmacsPart42
toro.2ch.net/test/read.cgi/unix/1356319580/

21 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/14(金) 22:29:16.06 ]
process-send-string
とかprocess系の関数で質問です。
この関数で設定したstringが実際にプロセスへ送信されるタイミングはいつですか?
たとえば
process-send-string proc "hoge"
process-send-string proc "huga"
process-send-string proc "hage"
とした場合、
3つキューに詰まれた上で、lispのコールスタックが上層までもどった時点なのか、
それとも
process-send-stringを実行した直後なのか。
基本この関数は非同期ですよね?
非同期だけど、少なくとも上記のように3連続で実行している間に送信されないことが保障されているほうが
ありがたいのですが・・、どういう実装なんでしょう?
勝手なイメージとしては、 process-send-stringでキューかバッファに積んでいって
lispのコールスタック上層に戻ったときに送信されるのが望ましいのですが。

22 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/14(金) 22:58:25.87 ]
上の質問に絡んだ内容ですが、
現在編集中のバッファで
process-send-string proc
を実行するような関数が実行されている状態で
emacsがこれとはまったく無関係に
別のバッファを開いて、そのバッファでprocess-send-string procを実行するとします。
send対象のprocは同一プロセスです。
この場合、送信されるデータはどのようになりますか?

分かりやすく書くと
作業中のバッファAで
process-send-string proc "a:hoge"
process-send-string proc "a:huga"
process-send-string proc "a:hage"
とし、
emacsが裏でオープンするバッファBのc-mode-hookなどで
process-send-string proc "b:hoge"
process-send-string proc "b:huga"
process-send-string proc "b:hage"
が実行された場合です

23 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/15(土) 00:22:27.38 ]
>>21
正確な解説じゃないだろうけど、知ってる範囲で説明すると

> この関数で設定したstringが実際にプロセスへ送信されるタイミングはいつですか?

process-connection-type によってかわる。
大雑把にいえば t のときは改行を送信したとき。
nil のときは process-send-string 関数が呼ばれたとき。

> 基本この関数は非同期ですよね?
> 非同期だけど、少なくとも上記のように3連続で実行している間に送信されないことが保障されているほうが
> ありがたいのですが・・

ここの意味はよくわからないけど、 process-send-string から帰ってこないことはありえる。
非同期ではないと思う。

>>22 を読んでて思ったのだけど
process-connection-type の設定を考慮したら直面してる問題が解決したりしない?

24 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/15(土) 01:13:04.14 ]
eww.el --- Emacs Web Wowser
こんなのがコミットされてた。
ただ、shr.el --- Simple HTML Renderer がベースだから、表示能力は推して知るべしだ。

25 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/15(土) 11:21:55.22 ]
auto-complete-clang-async.el ネタです。
NTEmacsスレでやっていたのですが、ある程度まとまったんでこちらにも。

前スレでこの話があったけど、 >22 の人かな?
純粋にたくさんファイルを開いたときならダメだけど、そうではなくて clang-complete プロセスが
いっぱい残る問題ならこれでたぶん解消すると思います。

NTEmacs スレッド 3
anago.2ch.net/test/read.cgi/software/1325573999/616

26 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/15(土) 15:52:21.39 ]
VimGolf in Emacs | Irreal
irreal.org/blog/?p=1953
thingatpt.elのforward-whitespace関数にキーバインドを割り当てていれば7手でいけるが
素のemacsのキーバインドで7手で本当に達成できるか分からない
M-@ [mark-word] と M-( [insert-parentheses] で2手分を使ってしまうから
f3とf4を駆使すると思うのだけれど、分かる人はいる?

27 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/15(土) 16:45:10.28 ]
>>26
コメントに書いてある
electric-pair-modeを使うそうだ

28 名前:22 mailto:sage [2013/06/15(土) 21:51:35.76 ]
> > この関数で設定したstringが実際にプロセスへ送信されるタイミングはいつですか?
>
> process-connection-type によってかわる。
> 大雑把にいえば t のときは改行を送信したとき。
> nil のときは process-send-string 関数が呼ばれたとき。
>
ありがとう、ためしてみます。

> > 非同期だけど、少なくとも上記のように3連続で実行している間に送信されないことが保障されているほうが
> > ありがたいのですが・・
>
> ここの意味はよくわからないけど、 process-send-string から帰ってこないことはありえる。
> 非同期ではないと思う。
lisp以外の言語で非同期プログラムなどを書く場合
他のプロセス・スレッドや同期オブジェクトにアクセスしたタイミングでプリエンプションされる可能性があるので
そういった意味で言いました。

29 名前:22 mailto:sage [2013/06/15(土) 22:08:34.16 ]
>>25
> auto-complete-clang-async.el ネタです。
> 前スレでこの話があったけど、 >22 の人かな?
はいそうです。

> 純粋にたくさんファイルを開いたときならダメだけど、そうではなくて clang-complete プロセスが
> いっぱい残る問題ならこれでたぶん解消すると思います。
auto-complete-clang-asyncの問題としては、
・バッファ毎にclang-complete.exeを割り当てるので
 ファイルを8個以上ひらくとパイプエラーになってしまうのでそれ以上開けない。
・64bit版がない。
というのがあるので
64bit版のclang-complete.exe相当のものを自作して試しています。
1バッファ1プロセス起動はやめて、nバッファ1プロセスという形にしています。
なのでclangの補完対象になるバッファは全て1つのclang-complete.exeで管理しています。
ここで問題がおきていて、
あるバッファでclang-compelteへ補完コマンドを送信中に
裏でCEDETが動作して、別バッファにincludeされる対象のファイルを自動的にオープンすることがあり
その際にc-common-hookなどにセットしてあるclang-completeへの登録コマンドなどが動作して
clang-completeのstdinに入ります。
これで応答がなくなってしまったことがあり
このときに、コマンドの送信順番がどうなるかが気になっています。
process-connection-typeがnilの場合でも
process-send-string単位ということなので
バッファAのprocess-send-stringと
バッファBのprocess-send-stringが
入り乱れる形で送信されるのであれば厄介な話だなとおもって上で聞きました。
ただemacs-lisp自体はシングルスレッドなんですよね?
なので並列性に関しては心配していませんが、
平行性はどういう単位で実現されているのかで、問題の解決方法が変わってくるとおもいます。



30 名前:25 mailto:sage [2013/06/16(日) 06:12:00.66 ]
>>29
Windows固有な部分があるんであっちに書きました。

NTEmacs スレッド 3
anago.2ch.net/test/read.cgi/software/1325573999/618

31 名前:名無しさん@お腹いっぱい。 [2013/06/16(日) 17:51:32.94 ]
いちおつ

32 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/16(日) 18:11:36.10 ]
java-modeのenumがうまくインデントされないんだけどいい解決方法ないかな
一応ググっては見たんだけど英語をまともに読めないし試してもうまく動かなくて困ってる

33 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/16(日) 19:18:20.59 ]
エスパーさんお呼びですよー

34 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/16(日) 19:43:51.69 ]
読んだぁ〜?

35 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/17(月) 02:17:51.92 ]
なんでこのくらいでエスパーが必要なのかわからない
java-modeのenumがうまくインデントされない解決方法わかる人居るか聞いてるんだけど

36 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/17(月) 02:25:15.45 ]
ちょろっと触ってみた感じではわりと賢くインデントしてくれるようなんだが
どういう風にうまくインデントされないのかを書け
あとたぶんemacs標準添付のjava-mode使ってると思うから、そのemacsのバージョンとかも

37 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/17(月) 02:33:40.26 ]
"GNU Emacs 23.4.1 (i486-pc-linux-gnu, GTK+ Version 2.24.10)
of 2012-09-10 on murphy, modified by Debian"

enum hoge{
  a,
    b,
    c,
    d,
    };
こんな感じになってしまう

38 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/17(月) 02:38:10.61 ]
emacsではjava書かんから見てないがそこだけmmm-mode使ってc++-modeとかにしたらえがっぺ。

39 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/17(月) 02:49:37.81 ]
取り敢えずそれを頼りに明日頑張ってみる
ありがとう



40 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/17(月) 02:49:52.57 ]
>>37
java-modeってcc-mode.elが提供してるのね
emacs23添付のは確かにそうなるなあ
emacs24添付のだと問題無く綺麗にインデントしてくれる

41 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/17(月) 03:03:12.00 ]
それなら emacs24 の cc-mode.el のと24のを ediff すりゃええべ。
多分ファイルすり替えしてもうまく動かんだろうからね。

42 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/17(月) 08:10:18.16 ]
>>35
みんな同じ環境を使っていると思っちゃいけない。それじゃ典型的なしろーとだぞ。
最低限環境と*具体的に*どうなるのかemacs -Q(古いのだと -q --no-site-initだっけ?)で
起動したらどうなのかを書いたほうがいい。
素の最新版でどうなるかを試せればさらによし。

43 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/17(月) 12:42:55.81 ]
自分の質問の仕方が悪かったのは謝る
これを機会に最新版入れてみる

44 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/17(月) 22:37:36.09 ]
define-generic-modeでc++のインデント規則をそのまま利用するには
どうすればいいのでしょう

45 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/18(火) 08:30:55.42 ]
Emacs ユーザーの心の狭さがまた一つ露呈したのか。
それがこのスレの悲しさよ。

46 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/18(火) 08:54:48.23 ]
純情な子羊ユーザーが迷い込むたびに
このスレは容赦なく牙を向いてきた。
それこそ10年も前からこのスレは血を吸って生きてきたのさ。

47 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/06/19(水) 23:12:24.03 ]
>>24
eww.elがちょっと盛り上ってきたな。
lars.ingebrigtsen.no/2013/06/eww.html
ここで画面が見れる。文字の大きさが反映されれば結構いいかもね。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<14KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef