トップページunix
994コメント303KB

Emacs Part 47 [転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2014/12/20(土) 16:17:19.14
語り合いましょう。

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

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

前スレ
Emacs Part 46
http://peace.2ch.net/test/read.cgi/unix/1403458934/
0429名無しさん@お腹いっぱい。2015/02/22(日) 08:27:07.18
>>428
なぜ流用出来ると思ったのか…
現実的にはelisp覚えて書き換えればできるようになるよ。
0430名無しさん@お腹いっぱい。2015/02/22(日) 08:51:25.08
まぁemacs-eclimみたいな例もあるし
ただSublimeTextプラグインはelispで作った方が楽な気がするしeclipseほどのメリットは感じないな
0431名無しさん@お腹いっぱい。2015/02/22(日) 09:46:31.08
vim スレでは華麗にスルーされてるのな
0432名無しさん@お腹いっぱい。2015/02/22(日) 09:47:10.66
どのプラグインを流用したいのか書いたら親切なおっちゃんが emacs に移植してくれるかもしれないよ?
0433名無しさん@お腹いっぱい。2015/02/22(日) 15:07:18.41
emacs-eclimは遅すぎて使いものにならないと思ってる
0434名無しさん@お腹いっぱい。2015/02/23(月) 00:01:51.70
>>429
むしろなぜできないのだろうと思わないのも笑える。

レガシーを使えなければそのコミニュティにいる意味がないのだから
0435名無しさん@お腹いっぱい。2015/02/23(月) 00:46:46.51
> レガシーを使えなければそのコミニュティにいる意味がないのだから
これの意味がわりと本気でわからない
0436名無しさん@お腹いっぱい。2015/02/23(月) 00:51:19.46
ツーリングワゴンなんだよなあ
0437名無しさん@お腹いっぱい。2015/02/23(月) 08:15:00.97
レヴォーグだし
0438名無しさん@お腹いっぱい。2015/02/24(火) 10:24:19.22
ようやく暗色背景にするようになった
今まで俺は何をやっていたんだってぐらい目が楽になったよ…
0439名無しさん@お腹いっぱい。2015/02/24(火) 13:21:13.49
sdic を package.el でインストール出来るような方法はありませんか
0440名無しさん@お腹いっぱい。2015/02/24(火) 15:39:17.07
windows 8.1 64bitで
gnupack 12.03-2015.02.01のemacsを使っています
emacsの"Help"の情報にはこう書いてあります
GNU Emacs 24.4.1 (i686-pc-cygwin)
of 2015-02-01 on gnupack

diredやtwit(twittering-mode)を使おうとすると
Doing vfork: resource temporarily unavailable
というメッセージが出てくるようになってしまいました
以前はそういうことがありませんでした。急にこういうエラーが出てきて戸惑っています。
ネットの情報を探すとlibncurses7を再インストールせよというものがありますが
今ではlibncurses7が入手できずどう解決すればよいのかわかりません
ash.exeで/bin/rebaseallを試せという書き込みもありますが
これでもemacsの動きは元通りになりません
ほかにすべきことは何かありますか?
0441名無しさん@お腹いっぱい。2015/02/24(火) 16:00:16.03
>>440
かなり cygwin 固有の話になるから cygwin スレで聞いたほうがいいよ。

Cygwin使っている人いますか? その22
http://peace.2ch.net/test/read.cgi/unix/1409935905/

cygwin はかなり無理して Windows 上での fork を実現してて、
dll が差し替わったりすると簡単にその手のエラーが出るようになっちゃう。
んでもって rebaseall でアドレス再登録等してやることで解消したりもするんだけど
標準の rebaseall は自分で導入した dll なんかは明示的に指定しないと登録してくれないんじゃなかったかな。

しかしまあなんだって gnupack は cygwin 版の emacs に差し替えてしまったのか・・・
0442名無しさん@お腹いっぱい。2015/02/24(火) 17:06:00.51
>>441
ありがとうございます。
そちらで聞いてみます。
0443名無しさん@お腹いっぱい。2015/02/24(火) 23:16:05.40
http://nakamichisokuho.com/archives/1020295850.html
3月からオープンソースな2ch専ブラは全て使えなるとのことで
Linuxユーザ大半のここEmacsスレは崩壊状態が懸念されますが、皆さんはどうなされますか?
以下が主な移住先になると考えていますがどうでしょうか。

Lingr emacs部屋
http://lingr.com/room/emacs
reddit /r/emacs
http://www.reddit.com/r/emacs/
0444名無しさん@お腹いっぱい。2015/02/24(火) 23:29:31.07
移住もなにも元々それぞれ機能してる場所だし性質も違うと思うけどなあ。
めいめいが使いやすいとこ使うんでないの。
他に Google+ の Emacs コミュニティとかも活発だねえ。

したらばあたりに場所借りてスレ建てるとかなら移住っぽいけど。
0445名無しさん@お腹いっぱい。2015/02/24(火) 23:34:35.89
日本語で質問したいとかだけなら
日本語版 stackoverflow とか事実上死んでるけど emacs-jp の issues とかもあるねえ
https://github.com/emacs-jp/issues/issues
ここらへん vim との差が如実にでてるな

2chMate が対応したから俺はこのスレ今後も読み書きするつもりだけど
まあコード切ったり貼ったりはちょっと面倒になるね
0446名無しさん@お腹いっぱい。2015/02/25(水) 10:15:17.86
えっ、ここの住人はNavi2ch一択だと思ってたよ。
通常のアプリとしても大変使いやすい部類だと思う。
0447名無しさん@お腹いっぱい。2015/02/25(水) 10:24:16.71
それが使えなくなるからって前提の話
0448名無しさん@お腹いっぱい。2015/02/25(水) 10:28:12.98
html -> datの変換プロキシ作れば良いんだな。
書き込みは今のままでよいんだろ。作ってみるか。
datアクセスの仕様ってどこにある?
0449名無しさん@お腹いっぱい。2015/02/25(水) 11:06:19.99
HTMLいじられたらその都度追従しなきゃいかんけどね
0450名無しさん@お腹いっぱい。2015/02/25(水) 12:28:42.63
>>448
ほれよ
http://web.archive.org/web/20140701183028/http://www.monazilla.org/index.php?c=6-20
0451名無しさん@お腹いっぱい。2015/02/25(水) 12:56:27.89
今時のイマクサーならばewwを改良して2chビューアーにすればいいんだ
今でも結構ちゃんと見れるよ
使い勝手が悪いから(というか普通のブラウザ経由と一緒だけど)、そこをカスタマイズすればいいだけだ
0452名無しさん@お腹いっぱい。2015/02/25(水) 14:47:18.82
eshellを起動して操作したら
~/.emacs.d/eshell/lastdirというファイルが生成されました
このファイルを別の場所に置くよう設定することはできますか?
eshellの履歴の方はeshell-history-file-nameで個別に設定することができました
0453名無しさん@お腹いっぱい。2015/02/25(水) 15:07:33.56
>>452
見てみたけどeshell-last-dir-ring-file-name
0454名無しさん@お腹いっぱい。2015/02/25(水) 15:07:44.19
>>452
eshell-last-dir-ring-file-name

今回のはわりとそのままだったからすぐ見つけられたけど、
値から変数名を探す場合、apropos-value がお勧め。
0455名無しさん@お腹いっぱい。2015/02/25(水) 17:40:20.29
NTEmacs とか 2ch なくなったら話す所なくなるわな
0456名無しさん@お腹いっぱい。2015/02/25(水) 21:41:44.05
>>455
MLでも立ち上げれば?
0457名無しさん@お腹いっぱい。2015/02/25(水) 21:46:59.21
今どき ML なんか使ってる人いるの?
0458名無しさん@お腹いっぱい。2015/02/25(水) 21:57:26.96
>>448
亀ですまんが書き込みにも対応したProxyががOSSで公開されていたはず
C#で実装されてたような
0459名無しさん@お腹いっぱい。2015/02/25(水) 23:28:22.93
>>457
いるよ
0460名無しさん@お腹いっぱい。2015/02/26(木) 01:03:39.14
LINEとかやらん人もいるから
MLは意外といいかもね
0461名無しさん@お腹いっぱい。2015/02/26(木) 01:08:26.31
ないわー
だらだらどうでもいいこと書くんだったら
2ch>>>>Lingr>>>>>ML
実際に日本語のML作られてないしな
0462名無しさん@お腹いっぱい。2015/02/26(木) 08:30:38.51
http://codepad.org/4XuzAlwx
http://codepad.org/mxjxFd73

Pythonで書かれたproxyのコードはこの辺。問題は漏れたAPIキーを使っている
ところだが…
0463名無しさん@お腹いっぱい。2015/02/26(木) 08:35:24.76
>>462
やけに短いなと思ったら取得データはAPI経由でもdatのままなのね。
0464名無しさん@お腹いっぱい。2015/02/26(木) 09:23:09.89
>>462
spyleのAPIキーを使うと山下の利用実績になり、山下に分配金が転がり込む
0465名無しさん@お腹いっぱい。2015/02/26(木) 10:23:00.27
Emacsと関係ない話だな
0466名無しさん@お腹いっぱい。2015/02/26(木) 11:27:23.33
確かに
どうしても話したいんだったらせめて navi2ch スレでやったら
0467名無しさん@お腹いっぱい。2015/02/26(木) 12:41:15.50
emacs -Q -batch -f batch-byte-compile init.el とかやると
the following functions are not known to be defined
のワーニングが出まくるけどいちいち declare-function とか入れたりしてます?
0468名無しさん@お腹いっぱい。2015/02/27(金) 17:25:37.06
>>453-454
ありがとうございます!
apropos-valueですね、覚えておきます。
0469名無しさん@お腹いっぱい。2015/02/27(金) 18:37:38.66
defvar しただけじゃ変数束縛されないってのを初めて知った。

(defvar x)
(boundp 'x) ;; => nil
(defvar y 10)
(boundp 'y) ;; => t

(defvar z nil) ;; &optional だから (defvar z) と同じな気がするんだけど
(boundp 'z) ;; => t 変数は束縛されてる・・・
0470名無しさん@お腹いっぱい。2015/02/27(金) 18:44:55.34
>>469
この辺にも書いてあるね
https://www.gnu.org/software/emacs/manual/html_node/elisp/Void-Variables.html
0471名無しさん@お腹いっぱい。2015/02/27(金) 19:27:00.99
infoのdefvarを読むとちゃんと書いてあるけどね
-- Special Form: defvar symbol [value [doc-string]]
If VALUE is omitted, the value of SYMBOL is not changed in any case.

defbarについての考えがズレてるのかも
0472名無しさん@お腹いっぱい。2015/02/27(金) 19:49:30.67
>>471
値指定しないと nil にでも束縛されると思ってたのよ。
defvar で値設定しないのって純粋にコンパイル用でしかないんだね。
0473名無しさん@お腹いっぱい。2015/02/27(金) 20:11:09.03
値未指定のdefvarは変数版declare-functionぐらいの意味しかなさそげ
一応シンボル名は定義されちゃうんだな

常に動的バインディングになるってのもあるけどそうなってるかどうかって判定する方法あったっけ
dynamical-pとかlexical-pみたいなの
0474名無しさん@お腹いっぱい。2015/02/27(金) 20:13:31.84
>>473
special-variable-p
0475名無しさん@お腹いっぱい。2015/02/27(金) 20:31:59.95
>>474
はーちゃんとあるんや
スペシャルフラグ(?)強いな
makunboundしても消えないとは

(defvar hoge)
(boundp 'hoge) ; nil
(special-variable-p 'hoge) ; nil ;; 宣言だけじゃスペシャルにならない

(setq hoge t)
(special-variable-p 'hoge) ; nil ;; 後から束縛もだめ

(defvar hoge 100000)
(special-variable-p 'hoge) ; t ;; 値とセットで初めてスペシャルになる



(makunbound 'hoge)
(boundp 'hoge) ; nil
(special-variable-p 'hoge) ; t ;; 束縛解除しても消えない!

(unintern "hoge")
(special-variable-p 'hoge) ; nil ;; obarrayから消してはじめてスペシャルじゃなくなる
0476名無しさん@お腹いっぱい。2015/02/27(金) 20:42:34.17
defvarの話がでてるから関連トリビア
defvar式をC-M-xすると値を変えられる
0477名無しさん@お腹いっぱい。2015/02/27(金) 20:58:13.67
>>475
defvaralias と同じだね。あっちも unintern するまでいつまでもついてくる。
0478名無しさん@お腹いっぱい。2015/02/27(金) 21:05:57.58
>>476
どうやってんだろと思って追っかけてったら正規表現でひっかけてdefvarだったら
setq-defaultするっていう思ったより力技な方法で設定してた
0479名無しさん@お腹いっぱい。2015/02/27(金) 21:13:55.73
>>475
他にも internal-make-var-non-special ってのがあるみたい。
internal な関数だからまともに使うべきではないだろうけど。
というかそもそも使うべきシチュエーションが思いつかない。
0480名無しさん@お腹いっぱい。2015/02/28(土) 16:40:55.79
emacsでredditで出来ればな
親切なapiがあるけど2chより遥かに複雑だし英語苦手だし難しい...
0481名無しさん@お腹いっぱい。2015/02/28(土) 16:42:42.44
navi2chスレと間違えた
0482名無しさん@お腹いっぱい。2015/02/28(土) 16:43:51.47
Emacs初めて触ったんだけど
ファイル作成とかコンパイルする流れ解説してくれるいいサイトない?
0483名無しさん@お腹いっぱい。2015/02/28(土) 16:50:13.77
emacs 入門でググって出てくるようなとこでいいんじゃねえの?
0484名無しさん@お腹いっぱい。2015/02/28(土) 19:50:35.73
今なんとなくemacs-init-timeしてみたら0.0秒だった
これならファイル単位でemacs起動終了しても大丈夫かな
0485名無しさん@お腹いっぱい。2015/02/28(土) 19:54:08.68
>>482
これはどうかな

ひらくの工房 - BasicEmacsAndGcc
http://www.hiraku.ro/?BasicEmacsAndGcc
> この文書は、LinuxなどのUnix系OSの初心者を対象に、Emacsを用いたC言語ソースの編
> 集と、GCCによるコンパイルを行う手順を紹介するものです。
0486名無しさん@お腹いっぱい。2015/02/28(土) 22:20:31.03
>>485
ありがとうぉざいます
0487名無しさん@お腹いっぱい。2015/02/28(土) 22:20:45.02
ぉ→ご
0488名無しさん@お腹いっぱい。2015/03/01(日) 07:35:39.16
process-send-regionで質問です。
バッファにunicodeが含まれている状態で
process-send-regionしても外部プロセスの標準入出力に値が何もはいってきません。
たとえばCの fscanfやfreadとかです。
unicodeを含まないバッファであれば問題なく動作します。

以下のようなことをやればとりあえず問題なく動きますが・・・・。
(let ((value enable-multibyte-characters))
(set-buffer-multibyte nil)
(process-send-region process (point-min) (point-max))
(set-buffer-multibyte value))

これはもっとマシな解決方法あったりしますか?
この方法でやると動作中の他パッケージに影響がでるので、やりたくないのです。
04894882015/03/01(日) 07:38:59.17
別の方法ですが
tempバッファを作り
decode-coding-regionでtempへ吐き出したものを送るのも可能ですが、
そもそも decode-coding-regionを使わないでそのまま送りたいです。
tempバッファへコピーするコストもあるでしょうし。
0490名無しさん@お腹いっぱい。2015/03/01(日) 09:21:26.37
>>489
そのプロセスのコーディングシステムはどうなってるん。
0491名無しさん@お腹いっぱい。2015/03/01(日) 16:40:55.55
>>490
bufferは utf-8-unix or utf-8-dosですが、そうじゃないファイルを送信することも想定したいので
send時はバイナリにしたいです。

プロセス送信時に
上流で↓してます。
(let ((coding-system-for-write 'binary))

default-process-coding-system '(binary . binary)
とかもしてみましたが、状況は変わらず・・・。
0492名無しさん@お腹いっぱい。2015/03/01(日) 17:59:51.91
>>491
490 の質問に答えてない
04934892015/03/01(日) 18:13:36.60
default-process-coding-systemの設定値はこうなってますね
(japanese-shift-jis-unix . japanese-shift-jis-unix)
0494名無しさん@お腹いっぱい。2015/03/01(日) 19:13:38.75
バイナリとして扱いたいならユニバイトにしろや。
0495名無しさん@お腹いっぱい。2015/03/01(日) 19:29:21.23
>>493
バカ?
0496名無しさん@お腹いっぱい。2015/03/01(日) 19:54:30.83
>>491
coding-system-for-* は実はプロセス起動時にしか有効でないんよ。自分も昔勘違いしてたけど。
なので start-process のタイミングで coding-system-for-write しないといけない。
process-send-string のタイミングでは無視されるので注意しないといけない。

>>494
プロセスのコーディングシステムが no-conversion とか binary になってると
内部でユニバイトとして送信されるようにちゃんとなってるよ。
0497名無しさん@お腹いっぱい。2015/03/01(日) 20:04:19.97
送信文字列を no-conversion に encode-coding-system したのと等価だな
0498名無しさん@お腹いっぱい。2015/03/01(日) 22:41:12.73
>>496
> >>491
> なので start-process のタイミングで coding-system-for-write しないといけない。
start-processでletしたらいけました!
ありがとうございました。

> process-send-string のタイミングでは無視されるので注意しないといけない。
いつでもいけると思ってました・・。
0499名無しさん@お腹いっぱい。2015/03/01(日) 23:01:06.04
emacs-mozcでoverlayしてるけど,
org-modeの場合だけなぜかecho-areaに表示される・・・

まず質問,同じことは起こりますか?
0500名無しさん@お腹いっぱい。2015/03/01(日) 23:15:39.26
overlayでの描画に失敗するとecho版にfallbackするらしいけどなんで失敗するんだろね
org使ってないから詳しくはわからんが
0501名無しさん@お腹いっぱい。2015/03/02(月) 13:09:28.70
mozc の overlay はくっそ遅いし echo に切り替えていってもいいと思うけどな。
0502名無しさん@お腹いっぱい。2015/03/02(月) 13:32:11.27
overlayは遅いし崩れるしでecho areaにしてたけど、最近でたpupupに乗り換えたら快適
0503名無しさん@お腹いっぱい。2015/03/02(月) 19:33:41.76
pupupなんてのもあるのか
0504名無しさん@お腹いっぱい。2015/03/02(月) 22:38:24.24
ぼくは ac-mozc ちゃん!
0505名無しさん@お腹いっぱい。2015/03/03(火) 00:22:22.61
ac-mozcとかskkよりチャレンジングすぎる
0506名無しさん@お腹いっぱい。2015/03/03(火) 09:39:52.98
skkを使えよ
05074992015/03/03(火) 15:00:28.24
popupで解決しました
快適すぐる
0508名無しさん@お腹いっぱい。2015/03/03(火) 15:36:27.55
キン肉スグル
0509名無しさん@お腹いっぱい。2015/03/04(水) 13:21:14.32
emacs の lisp って lisp 好きな人に言わせると全然 lisp してないってよく言われてるけど
実際 lisp じゃなくても問題ないのかな
0510名無しさん@お腹いっぱい。2015/03/04(水) 13:23:22.05
modern lispではないだけで、どう見てもlispだよ
0511名無しさん@お腹いっぱい。2015/03/04(水) 13:33:12.14
m2ym > emacs lisp は 括弧だらけの C
山本先生 > Emacs Lisp は命令型言語
0512名無しさん@お腹いっぱい。2015/03/04(水) 13:37:15.38
elispはリーダーマクロがあればねー。
0513名無しさん@お腹いっぱい。2015/03/04(水) 13:43:06.70
自分の好みのlispじゃないからレッテル貼ってるだけじゃんか
common lispですら関数型言語と認めない人だっているわけで、
何の実りもなさそうな話じゃね
0514名無しさん@お腹いっぱい。2015/03/04(水) 13:44:44.85
emacs lisp がクソなのは同意せざるをえない
vim や他のエディタにシェアを奪われるのも致し方ないな
0515名無しさん@お腹いっぱい。2015/03/04(水) 13:45:30.61
>>509
その人に聞いてみれば?
0516名無しさん@お腹いっぱい。2015/03/04(水) 13:47:03.84
問題あるかないかって話なら、自分のlisp感性にあわせるとemacs lispが書きづらい人にとっては問題だろうね
そんな質問する人には、どうでもいいレベルの問題
0517名無しさん@お腹いっぱい。2015/03/04(水) 13:49:02.73
>>514
お前は知らないかもしれないが、vimスクリプトの糞さに比べれば1000倍マシ
0518名無しさん@お腹いっぱい。2015/03/04(水) 13:49:11.12
>>509
たとえばどんな問題を想定してるんだろ
0519名無しさん@お腹いっぱい。2015/03/04(水) 13:49:50.76
>>514
どんなとこがクソ?
0520名無しさん@お腹いっぱい。2015/03/04(水) 13:51:52.84
いつもは静かなのに煽ると簡単に人が湧いてくるんだな
0521名無しさん@お腹いっぱい。2015/03/04(水) 13:53:07.01
emacs lisp とか言語としてはクソなんだけど、ググればそうとうピンポイントな事例でもどこかで誰かがやっているので、
やっぱ蓄積重要なんだよな〜という感じ。
nyagos もそうなるくらいには長く歴史を重ねて欲しいと思う。
0522名無しさん@お腹いっぱい。2015/03/04(水) 13:54:21.45
>>511
> 山本先生 > Emacs Lisp は命令型言語
これはCでプログラミングしてる人がelisp書いてるから、Cっぽく書く人が多いっていう意味で
Emacs Lispそのものの事を言ってんじゃないぞ
0523名無しさん@お腹いっぱい。2015/03/04(水) 13:54:29.24
少なくとも今まで出会ったLisperは皆elispは貧弱だと答えている。
それにも関わらず、今まで出会ったLisperは全員、LispのコーディングにはEmacsを利用しているのは不思議だ。
おそらく、Emacsとその資産を再実装する手間を考えたら、Emacsを使ったほうが得策なのだろう。
0524名無しさん@お腹いっぱい。2015/03/04(水) 13:55:39.42
>>522
http://www.mew.org/~kazu/material/2010-func.pdf
0525名無しさん@お腹いっぱい。2015/03/04(水) 13:57:40.29
lispなんてどれも目糞鼻糞な違いしかないが、とりあえずEmacs Lispはクソと言っとけば
知ったかぶり出来る風潮があるな
0526名無しさん@お腹いっぱい。2015/03/04(水) 13:59:33.19
>>523
elispが言語として貧弱かどうかと
Emacsがエディタとして貧弱かどうかは
まったく別の話では。
0527名無しさん@お腹いっぱい。2015/03/04(水) 14:00:21.53
>>524
まとめ
■ Emacs Lisp は命令型言語
 ■ 関数型言語の要素は持っているが、
  プログラマーは命令プログラミングしかしていない
0528名無しさん@お腹いっぱい。2015/03/04(水) 14:00:44.09
hayamiz も elisp はクソって言ってたな
■ このスレッドは過去ログ倉庫に格納されています