Emacs Part 39

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
2名無しさん@お腹いっぱい。:2011/11/29(火) 17:52:03.67
      2ゲトオ
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ
3名無しさん@お腹いっぱい。:2011/11/29(火) 17:52:26.54
>>1乙っす
4名無しさん@お腹いっぱい。:2011/11/29(火) 18:43:02.53
るびきち著
5名無しさん@お腹いっぱい。:2011/11/29(火) 19:12:02.43
いちおつ
6名無しさん@お腹いっぱい。:2011/11/29(火) 21:27:10.59
7名無しさん@お腹いっぱい。:2011/11/29(火) 22:59:18.27
スレッドルールは以下の通り:
* 初心者にやさしく接すること
* Emacsユーザーとの仲間意識をしっかり持って、馴れ合いを怠らないこと
* このスレでのコミュニケーションを前スレ以上に活発にすること (用がなくとも、毎日の書き込みが理想)
* 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可
* 自分で書いた便利なコード/アイディアは他人とシェアしようと試みること

bzr先端 (emacs最新開発版):
$ bzr checkout -v --lightweight http://bzr.savannah.gnu.org/r/emacs/trunk emacs
8名無しさん@お腹いっぱい。:2011/11/29(火) 23:00:00.00
GNU Emacs - Free Software Foundation (FSF) http://www.gnu.org/software/emacs/
EmacsWiki http://www.emacswiki.org/
Emacs 電子書棚 http://www.bookshelf.jp/
Emacs CVS Repositories [Savannah] http://savannah.gnu.org/cvs/?group=emacs
Emacs Lisp List http://www.damtp.cam.ac.uk/user/sje30/emacs/ell-date.html
ダウンロード http://ftp.gnu.org/pub/gnu/emacs/
Windows用 NTEmacs の最新ダウンロード https://sourceforge.jp/projects/ntemacsjp/files/
bzr: bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk
9名無しさん@お腹いっぱい。:2011/11/30(水) 08:57:10.66
>>7
きめー。
10名無しさん@お腹いっぱい。:2011/11/30(水) 14:26:52.41
今度からスレ立てる時にリンクの中に一緒に張っておけよ?

Amazon.co.jp: Emacs Lispテクニックバイブル: るびきち: 本
http://www.amazon.co.jp/Emacs-Lisp%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF%E3%83%90%E3%82%A4%E3%83%96%E3%83%AB-%E3%82%8B%E3%81%B3%E3%81%8D%E3%81%A1/dp/4774148970

Emacs Lisp言語のK&R候補だろ?

ところで外人だとAnything使ってる人って少なくね?
あまりというか、IRC覗いててもほとんど話題にもならないし。
いまいちなのかな。まぁ、そこまで外人からしたら画期的でも必須でもないんだろうなぁとは使ってても思うけど。

あいつらが何に関心があるのかいまいちわからん。
11名無しさん@お腹いっぱい。:2011/11/30(水) 14:40:32.68
敢えて否定的な意見を書いてみることで
自分への非難を避けつつも宣伝しているな。

ま た お ま え か ! !
12名無しさん@お腹いっぱい。:2011/11/30(水) 14:41:45.26
さーせん
13名無しさん@お腹いっぱい。:2011/11/30(水) 14:47:14.71
14名無しさん@お腹いっぱい。:2011/11/30(水) 14:58:09.71
フッタとしてURL付けようぜ

http://www.amazon.co.jp/dp/4774148970
15名無しさん@お腹いっぱい。:2011/11/30(水) 16:09:38.22
RMSの.emacsください。どこにありますか?
16名無しさん@お腹いっぱい。:2011/11/30(水) 16:15:04.05
空っぽじゃなかったっけ。
17名無しさん@お腹いっぱい。:2011/11/30(水) 19:33:42.59
>>10
るびきちの変な押しつけ多くて微妙だった。
18名無しさん@お腹いっぱい。:2011/11/30(水) 22:57:41.47
おしつけってどんなの?
19名無しさん@お腹いっぱい。:2011/11/30(水) 23:53:45.64
global-set-keyのキーの設定について質問します
init.elに
(global-set-key "\C-;" 'hoge)
と書くとエラーが出ますが、
(global-set-key [?\C-\;] 'hoge)
と書くと正常に通ります
前者がおかしいのは;がコメントとしてなぜか機能してしまうからでしょうか?
また、前者のように""表記で同様のことを正常に行うことは可能でしょうか
20名無しさん@お腹いっぱい。:2011/12/01(木) 00:12:58.39
(global-set-key (kbd "C-;") 'hoge)
21名無しさん@お腹いっぱい。:2011/12/01(木) 00:16:02.06
\C-;
なんてコードは存在しないから、エラーになるのが正常。
22名無しさん@お腹いっぱい。:2011/12/01(木) 00:21:31.50
>>20-21
ありがとうございます。
23名無しさん@お腹いっぱい。:2011/12/01(木) 00:22:07.28
"\C-なんとか" って表記は、なんとかに対応する ASCII 制御文字(C-q C-なんとか で出てくるやつ)を表すだけのものだが、
使えるのは ASCII の "@" から "_" の範囲または "?" だけで、それら以外の文字をに当てはめても対応する制御文字が存在しないのでエラーになる。
これ見りゃわかると思うけど。→http://ja.wikipedia.org/wiki/ASCII
普段から kbd マクロ使っとくのが無難。
24名無しさん@お腹いっぱい。:2011/12/04(日) 08:34:56.11
今日のお昼はオタフクソースご飯。
25名無しさん@お腹いっぱい。:2011/12/04(日) 16:51:22.80
メルマガはどうなの
26名無しさん@お腹いっぱい。:2011/12/04(日) 17:58:25.95
意外と金はらってでも取るやつがいるみたいで怖い。
情弱相手の商売ってほんと儲かるんだなぁ。
27名無しさん@お腹いっぱい。:2011/12/04(日) 18:05:39.68
512円・・・たっか!
なんか気持ち悪い人になっちゃったな
28名無しさん@お腹いっぱい。:2011/12/04(日) 18:08:38.09
このスレ見てるほうが勉強になるのにな
29名無しさん@お腹いっぱい。:2011/12/04(日) 18:13:24.23
気持ち悪くなかった時なんてあっただろうか
30名無しさん@お腹いっぱい。:2011/12/04(日) 18:18:02.62
ツイッターでもひどい自演してるしな
31名無しさん@お腹いっぱい。:2011/12/04(日) 18:22:46.76
毎月512円も払って勉強しないと使いこなせないようなどうしょもないエディタだったっけ、Emacsって。
割合枯れたツールだしそもそも情弱が使っても何も嬉しいことないと思うんだけどなあ・・・

にしても今時メルマガかよ
32名無しさん@お腹いっぱい。:2011/12/04(日) 18:50:52.02
情弱にemacs使って欲しくないよな
汚れる気がする
33名無しさん@お腹いっぱい。:2011/12/04(日) 19:33:52.78
ずーっと前に使っていた派遣がファイルを編集するたびに
% emacs filename
で起動して編集後終了していた。filenameはXのコピペ機能で張り付けていたっけ。
34名無しさん@お腹いっぱい。:2011/12/04(日) 19:42:04.31
情弱はemacs使ってますって言いたいだけだからな
vimではこんなことないのに
35名無しさん@お腹いっぱい。:2011/12/04(日) 19:44:19.29
いやむしろ最近はvimの方も酷い気もする
一時期のemacs状態だわ
はてブとかで「vimで必要な10の設定」とかたまにあがってくるようになったしな
36名無しさん@お腹いっぱい。:2011/12/04(日) 20:09:48.95
るびきちはもうrubyやってないんだし名前かえたらいいとおもうの
37名無しさん@お腹いっぱい。:2011/12/04(日) 20:27:24.42
「断言できます」という表現は「断言」の語意と矛盾する。
これをいい始めると人間やばい。
38名無しさん@お腹いっぱい。:2011/12/04(日) 20:28:51.24
>>33
まあ今となってはEmacsも大して重くなくなっちゃったから
今風の使い方ってことでいいんじゃね

>>35
vimの設定もいまの主流からは外れちゃってるからな
とは言え、だいたいsetだけで済むけど
39名無しさん@お腹いっぱい。:2011/12/04(日) 20:33:37.02
4コアのPC新しく買ったからemacsいれてみたら
あまりに起動早すぎてびっくりしたわ。
これは確かに一々終了してても気にならないレベル。
40名無しさん@お腹いっぱい。:2011/12/04(日) 20:45:54.41
いっぱい require してるから 4 コアだろうが気になる。
そして >>33 の派遣の話はずーっと昔の話なんじゃね?
こういう奴、いたら即切りたくなるよな。
41名無しさん@お腹いっぱい。:2011/12/04(日) 21:55:38.98
まぁカリカリすんな
納期までに要件を満たすもの作ってきたらそれでいいじゃないか
42名無しさん@お腹いっぱい。:2011/12/04(日) 21:58:45.63
所詮下っ端だからな
Emacsに相応わしくないよ
43名無しさん@お腹いっぱい。:2011/12/04(日) 22:04:50.96
実際エディタ何使ってようが構わないし仕事ちゃんとしてくれれば何の問題もないんだけど
アイスの蓋についたやつを舐めるか舐めないかレベルのイライラが募る
44名無しさん@お腹いっぱい。:2011/12/05(月) 00:01:37.51
みんな溜ってるの?
45名無しさん@お腹いっぱい。:2011/12/05(月) 00:17:32.35
さっき抜いてきたからすっきりしてるよ
46名無しさん@お腹いっぱい。:2011/12/05(月) 00:40:01.34
>45
せめて例のスレをあげてきたって書こうよ
47名無しさん@お腹いっぱい。:2011/12/05(月) 04:04:02.06
screen -d -m emacs -f server-start とかしておいて
emacsclientを使ってる。
48名無しさん@お腹いっぱい。:2011/12/07(水) 19:21:55.07
>>42
どっちのウィンドウサイズも小さいけどね。
49名無しさん@お腹いっぱい。:2011/12/08(木) 22:58:23.91
Pomeraがemacsバインドで動けばいいのに
ザウルスじゃあなぁ・・・・
50名無しさん@お腹いっぱい。:2011/12/09(金) 00:10:11.39
lisp cabinetというものにemascが入っていたので使ってみたのですが、
日本語入力で未確定の時点では文字が全く表示されません
microsoft ime 2010で確かめて見たのですが、確定するときちんと表示されます
環境はwindows vistaです
どうすれば入力中の文字が見えるようになるのでしょうか
51名無しさん@お腹いっぱい。:2011/12/09(金) 00:19:33.88
iphoneがOutlookの仕事スケジュールデータ破壊してくれたので
もうこの際,Emacsのカレンダー(印刷できる!これが重要)に移行しようとおもった
しかし最近はorg-modeなんてのがあるんだね。org-modeも印刷できるの?
52名無しさん@お腹いっぱい。:2011/12/09(金) 02:47:23.58
>>51
印刷出来る、出来ない、が何を意味してるのか分かんないけど全部 M-x print-buffer じゃダメなの?
53名無しさん@お腹いっぱい。:2011/12/09(金) 12:56:45.98
>>50
emasc はスレが違うよ。
54名無しさん@お腹いっぱい。:2011/12/09(金) 13:29:54.49
>>50
素のemacsをソースからコンパイルしたのもそうなった。
悩むのは嫌なので、IME-patchが適用されてるバイナリを探してインストールしたら
表示されるようになった。
55名無しさん@お腹いっぱい。:2011/12/09(金) 13:37:19.40
windowsでサクっと使いたいなら
今だとgnupackのemacs単独版インストールが一番楽だと思う。
IME-patch あててあるし。
56名無しさん@お腹いっぱい。:2011/12/09(金) 16:18:03.05
Meadow + Google IME の環境が快適すぎる。
57名無しさん@お腹いっぱい。:2011/12/09(金) 16:27:48.01
meadowってまだメンテされてんの?
58名無しさん@お腹いっぱい。:2011/12/09(金) 16:37:51.32
googleのアプリってWebページのボタン一発でインストール開始する凶悪なスパイウェア仕込むじゃん。
あれってその気になればWebページ閲覧しただけでアプリをこっそりインストールすることも可能だよね。
59名無しさん@お腹いっぱい。:2011/12/09(金) 16:53:29.01
ここで言われてもな。
60名無しさん@お腹いっぱい。:2011/12/09(金) 17:16:34.24
auto-install だってそうだよな。
wiki の中身こっそり差し替えられてたらどうするんだろう。
61名無しさん@お腹いっぱい。:2011/12/09(金) 17:18:53.90
auto-install()笑なんてウィルス満載パソコンを使ってる情弱専用ツールじゃん
62名無しさん@お腹いっぱい。:2011/12/09(金) 17:47:52.69
サーセン
63名無しさん@お腹いっぱい。:2011/12/09(金) 19:43:40.56
MacでGNU Emacs23.3を使っています
編集しているファイルを内包するフォルダをFinderで開くという動作を
させたいのですが、なにか方法はありますか?
64名無しさん@お腹いっぱい。:2011/12/09(金) 20:01:12.99
こっちで聞いたほうがいいでない?

Mac de Emacs総合スレ v6
http://hibari.2ch.net/test/read.cgi/mac/1228489176/
6563:2011/12/09(金) 20:05:47.45
>>64
こんなスレがあったんですね
こちらで聞いてきます、ありがとうございました
66名無しさん@お腹いっぱい。:2011/12/10(土) 02:57:34.54
Linux 3.1 + gnome-shell 3.2 + emacs 23.3 で背景透過が出来無いんだけど、同じ環境で出来てる人いる?
67名無しさん@お腹いっぱい。:2011/12/10(土) 12:27:02.18
>>54
ありがとうございます。
emacs for gnupack 24.0.92のビルド(SVGとGnuTLS対応版) - gnupackの開発メモ
http://d.hatena.ne.jp/ksugita0510/20111204/p1
これのバイナリ版を試してみたら意図した通りに動きました

そこでlisp cabinetのバイナリをpatchを当てたバイナリと交換しようと思って
旧バイナリを含むbinフォルダをpatch版バイナリを含むbinフォルダで上書きしたら
lisp cabinet経由で起動しなくなりました

おかしいと思って
patchを当てたバイナリのうちlisp cabinet収録のemacsの版に近い
emacs-23.1-20100403.exeを使って
もう一度上書きしてみましたが同じ結果になってしまいました
http://sourceforge.jp/projects/gnupack/releases/?package_id=10839

patch版バイナリのどちらもrunemacs.exeを直接たたけば普通に起動します
どこの設定をいじればよいのでしょうか
68名無しさん@お腹いっぱい。:2011/12/10(土) 13:46:39.91
>>67
LispCabinetのemacsってスペシャルバージョンみたいじゃん。
emacsclient.exeをLispCabinetの物と置き換えれば、とりあえず起動だけなら
するような気がするけど、emacs本体にも手が入ってるようだからダメだろうなあ。
69名無しさん@お腹いっぱい。:2011/12/10(土) 15:07:09.13
起動時最大化できねー
フレームの扱いまじ謎
70名無しさん@お腹いっぱい。:2011/12/10(土) 15:14:09.39
71名無しさん@お腹いっぱい。:2011/12/10(土) 20:33:26.34
>>67
それインストールしてアンインストールしたらシステム環境変数PATHをクリアしやがった。
ウイルスなみの悪質プログラムと認定。
72名無しさん@お腹いっぱい。:2011/12/10(土) 21:19:17.89
>>71
頼むからフィードバックしてあげてー。人手ないんだから。。
73名無しさん@お腹いっぱい。:2011/12/10(土) 23:37:50.97
>>68
そうですか。仕方が無いですね
patchを当てたemacsをもとに
lisp処理系をそろえようと思います
74名無しさん@お腹いっぱい。:2011/12/11(日) 18:14:29.89
>>71
その程度で環境変数変えられちまうOSのほうが悪質じゃね?
75名無しさん@お腹いっぱい。:2011/12/11(日) 18:34:33.41
>>74
管理者権限でアンインストールするんだから何でもアリだろ。
76名無しさん@お腹いっぱい。:2011/12/11(日) 22:38:23.84
左下がuuuじゃなくてuuUになってるんだがバク?
77名無しさん@お腹いっぱい。:2011/12/12(月) 02:19:34.65
プログラミングもわからなくてこのソフトを導入したのですが、
背景を黒にして文字を白にする
反転はどうしたらできますか?

マウス使わなくても環境が一通り整うみたいなので
近いうちにプログラミング言語も学びたいなとおもってます。
78名無しさん@お腹いっぱい。:2011/12/12(月) 02:23:14.64
そんなんググればいくらでも出てくるだろ
79名無しさん@お腹いっぱい。:2011/12/12(月) 11:03:59.24
> マウス使わなくても環境が一通り整う

釣りなのか?
80名無しさん@お腹いっぱい。:2011/12/12(月) 11:05:11.95
釣りに見えるのか?
81名無しさん@お腹いっぱい。:2011/12/12(月) 11:13:17.60
……だって、……だって、
Emacs使ったらマウスいらないじゃないですかぁっ!
マウスさんかわいそうですぅ!
82名無しさん@お腹いっぱい。:2011/12/12(月) 11:16:27.06
そういうのはいいです。
83名無しさん@お腹いっぱい。:2011/12/12(月) 11:16:35.08
「マウスを使わない」環境がひと通り揃う、ならわからんでもないけど
「マウスを使わないで」環境がひと通り揃うってのはよくわからんね。
84名無しさん@お腹いっぱい。:2011/12/12(月) 11:32:24.69
GUIで設定する必要がない、って意味じゃない?
85名無しさん@お腹いっぱい。:2011/12/12(月) 11:36:58.98
それじゃあ vim お勧め。
Emacs は ツールバーとかメニューバーとか Customize とかの軟弱インターフェースが揃ってるからお勧めしない。
86名無しさん@お腹いっぱい。:2011/12/12(月) 11:46:03.98
>>85
> ツールバーとかメニューバーとか Customize とか
別にそんなの使わずに済むじゃん。
87名無しさん@お腹いっぱい。:2011/12/12(月) 11:49:49.73
メニューバーも customize もマウスなしでいじれる。
88名無しさん@お腹いっぱい。:2011/12/12(月) 11:53:48.97
端末上で開いたとき、上部に出るメニューが邪魔なんですが消す方法ありますか
89名無しさん@お腹いっぱい。:2011/12/12(月) 11:57:12.82
>>88
(tool-bar-mode 0)
(menu-bar-mode 0)
とか?
90名無しさん@お腹いっぱい。:2011/12/12(月) 12:16:28.21
~/.emacs に (menu-bar-mode 0) で出来ました、ありがとうございます
91名無しさん@お腹いっぱい。:2011/12/12(月) 12:48:51.73
だらだらWeb見てる時なんかはむしろマウスだけで全て操作したくなる
92名無しさん@お腹いっぱい。:2011/12/12(月) 13:03:32.07
マウスを使わない環境はいいとして、そこでどんなプログラムを作ってんの
マウス使わないプログラムってRとかHadoopとか?
93名無しさん@お腹いっぱい。:2011/12/12(月) 13:25:21.38
組み込み土方じゃね?
94名無しさん@お腹いっぱい。:2011/12/12(月) 13:27:40.77
>>93
エミュレーターでマウス使いまくりだYO!
95名無しさん@お腹いっぱい。:2011/12/12(月) 15:39:07.02
コンシューマゲームとか
96名無しさん@お腹いっぱい。:2011/12/12(月) 15:57:22.20
そういやずいぶん昔のレスで
シフトだのコントロールだのをフットペダルで操作してはどうかみたいなのがあったな。
SKKスレだったかもしれんが
97名無しさん@お腹いっぱい。:2011/12/12(月) 15:59:02.52
>>96
こっちかな。

Keyboard キーボード 3
http://hibari.2ch.net/test/read.cgi/unix/1285489282/
98名無しさん@お腹いっぱい。:2011/12/12(月) 17:02:16.49
アナログペダルでC-u 出来たら便利だと思うんだ
99名無しさん@お腹いっぱい。:2011/12/12(月) 17:09:50.71
C-u ってあんまり使ってないわ。
100名無しさん@お腹いっぱい。:2011/12/12(月) 19:39:16.11
俺がよく使うC-uの使い方は3通りくらい。
・同じ文字を一定数入力するとき
・マクロを一定回数実行するとき
・C-u C-SPC
101名無しさん@お腹いっぱい。:2011/12/13(火) 17:36:55.07
これからはマウスどころかキーボードもない環境が増える
そんな中Emacsはどうなるんだろう?
102名無しさん@お腹いっぱい。:2011/12/13(火) 17:44:20.90
emacs for iPhone は実はもう存在している

マウスもキーボードもない環境でのエディタってEmacsとは関係なしにどうやって文章入力するんだろ
スクリーンキーボードだのフリック入力はキーボードとたいして変わらんから置いといたとして。
音声入力?
103名無しさん@お腹いっぱい。:2011/12/14(水) 00:16:48.02
anything最新にしたら起動しなくなった。。
ほんとにこういう事してるから信用無くすんだよな
104名無しさん@お腹いっぱい。:2011/12/14(水) 00:17:48.58
そもそもanything自体るびきち作じゃないしな。メンテナ引き継いだだけという。
105名無しさん@お腹いっぱい。:2011/12/14(水) 01:08:41.65
メンテナもまともにできないカスってこと?
106名無しさん@お腹いっぱい。:2011/12/14(水) 01:10:19.58
>>103
バグ報告した?
107名無しさん@お腹いっぱい。:2011/12/14(水) 03:09:08.33
メンテナが作者っぽくふるまうのはなぜだろう
108名無しさん@お腹いっぱい。:2011/12/14(水) 03:13:44.70
バグ報告なりパッチ送るなりすりゃいいだろ。
オープンソースもの使っててその態度はさすがにどうかと思うわ。
るびなんとかとか関係なく。
109名無しさん@お腹いっぱい。:2011/12/14(水) 08:50:54.00
使えないモジュールは外せばいいだけ。
エニチングみたいなそこらじゅうに影響するやつだとダメージでかいけどw
110名無しさん@お腹いっぱい。:2011/12/14(水) 09:56:04.79
>>107
まさにわしがそだてた状態
111103:2011/12/15(木) 01:08:04.34
なんか反響が大きかったが、とりあえず直ったようだ。
112名無しさん@お腹いっぱい。:2011/12/16(金) 12:35:57.09
>>67
http://dminor11th.blogspot.com/2011/04/windows7emacsime.html
MS-IMEを捨てるという解があるらしい。
113名無しさん@お腹いっぱい。:2011/12/16(金) 17:13:50.82
>>63 超おそレスだけど

(defun open-finder (dir)
(interactive
(list (expand-file-name default-directory)))
(eshell-command (format "open -a finder %s" dir)))

これを適当なキーにバインドしておけばどうかな
114名無しさん@お腹いっぱい。:2011/12/16(金) 17:51:07.06
eshellじゃないとだめなんだろうか。
115名無しさん@お腹いっぱい。:2011/12/16(金) 18:12:09.68
eshellといえば、あれだな。
116名無しさん@お腹いっぱい。:2011/12/16(金) 18:19:18.62
もちろんshell-commandでもいいですよ
117名無しさん@お腹いっぱい。:2011/12/16(金) 18:21:49.24
eshellの宣伝乙rbkt
118名無しさん@お腹いっぱい。:2011/12/16(金) 22:58:05.25
>>70
上手くいったありがとう
最初googleで釣れた時はなんとなく的外れポかったんで終いまで読んでなかったわ
119名無しさん@お腹いっぱい。:2011/12/16(金) 23:51:47.66
mag2でも有料のやつだけ異彩を放っている。
発行部数は公開されるのだろうか。
120名無しさん@お腹いっぱい。:2011/12/17(土) 00:31:51.18
もう発行されたの?
121名無しさん@お腹いっぱい。:2011/12/17(土) 08:27:07.07
してたと思うよ。
来年から有料なんじゃなかったっけ。
122名無しさん@お腹いっぱい。:2011/12/17(土) 14:39:48.20
誰か感想プリーヅ
123名無しさん@お腹いっぱい。:2011/12/17(土) 14:42:37.53
キチのブログで公開してるから自分で見てこい
124名無しさん@お腹いっぱい。:2011/12/17(土) 19:06:44.42
キチ
125名無しさん@お腹いっぱい。:2011/12/20(火) 00:22:53.17
cl に入ってる find-if とかの関数使ったままコンパイルすると警告出るけど
これは回避不可能なんだろか。
マクロだったら (eval-when-compile (require 'cl)) でいいんだろうけど。

> Warning: Function `find-if' from cl package called at runtime
126名無しさん@お腹いっぱい。:2011/12/20(火) 00:29:25.22
自己解決

警告抑制で回避するしかないらしい。
(setq byte-compile-warnings '(not cl-functions))
127名無しさん@お腹いっぱい。:2011/12/20(火) 10:41:44.36
小菊って開発停止してるのな・・
いつからそうなってたのかわからないけど Emacs 23 で find-file 中に completion 対象が内状況で
補完しようとすると Wrong type argument: stringp, file-exists-p とか出てくる。
128名無しさん@お腹いっぱい。:2011/12/20(火) 10:48:47.65
>>127
M-x toggle-debug-on-error

して trace 出してみたら?コメントつくかも。
129名無しさん@お腹いっぱい。:2011/12/20(火) 11:00:52.00
了解です。とりあえず貼ってみます。
ちなみにNTEmacs + Cygwin on Windows7 な環境です。
Kogiku:ON の状況で ~/.emacs.d/p で補完(pで始まるファイルはない)でTABを押すとこの状況になります。
Kogiku:Fire(OFF) の状況だとちゃんと [No match] が出ます。

Debugger entered--Lisp error: (wrong-type-argument stringp file-exists-p)
signal(wrong-type-argument (stringp file-exists-p))
completion--some(#[(style) " \236A@\n\f
$\207" [style completion-styles-alist string table pred point] 5] (basic partial-completion emacs22))
completion-try-completion("~/.emacs.d/p" kogiku-read-file-name-internal file-exists-p 12)
completion--do-completion()
minibuffer-complete()
funcall(minibuffer-complete)
(let ((minibuffer-completion-table minibuffer-completion-table)) (when (or ... ...) (setq minibuffer-completion-table ...)) (funcall (car kogiku-original-functions)))
kogiku-complete(nil)
call-interactively(kogiku-complete nil nil)
completing-read("Find file: " read-file-name-internal file-exists-p confirm-after-completion "~/.emacs.d/" file-name-history "~/.emacs.d/")
read-file-name("Find file: " nil "c:/Users/XXXXX/Documents/.emacs.d/" confirm-after-completion)
find-file-read-args("Find file: " confirm-after-completion)
byte-code("\300\301\302 \"\207" [find-file-read-args "Find file: " confirm-nonexistent-file-or-buffer] 3)
call-interactively(find-file nil nil)
130名無しさん@お腹いっぱい。:2011/12/20(火) 17:04:01.70
http://jblevins.org/projects/markdown-mode/ のmarkdown-mode.elを入れたら
行頭に[がくるときに色づけがおかしくなることに気づきました

a [example] testでは問題ないのですが
[example] testのように行頭に[がくると
]: が現れるまでの行がずっと同じ色になります

[example]: http://www.example.com/
こういう表記があるのですが、この [text]: url 形式だと設定が誤認しているのでは
ないかと思います

行頭に[があって]:で終わっていない場合、つまり[example] testのような場合に
適切に色づけをするにはどこを修正すればよいのでしょうか
markdown-mode.elを]:で検索してもそれらしき設定が見当たらないため、手詰まりしてしまいました
よろしくお願いします
131名無しさん@お腹いっぱい。:2011/12/20(火) 17:14:04.67
>>130
多分 markdown-regex-reference-definition の正規表現に問題があるんだろうけど
markdown をよく知らないのでどうなおしたらいいのかわからない
.+?のところを改行を除くにしてみるとかなのかね。

(defconst markdown-regex-reference-definition
"^ \\{0,3\\}\\(\\[.+?\\]\\):\\s *\\(.*?\\)\\s *\\( \"[^\"]*\"$\\|$\\)"
"Regular expression for a link definition [id]: ...")
132名無しさん@お腹いっぱい。:2011/12/20(火) 17:36:04.39
replace-regexpでリージョン内の。を。\n(\nは改行)に
置換するにはどうすればよいのでしょうか
replace-regexp [ret] 。 [ret] \&\n
と入力したら
invalid use of \ in replacement text
となりました
replace-regexp [ret] 。 [ret] \&\\n
では。\nが出力され、失敗になります
できれば。のあとに改行がきていないときだけ。のあとに改行を加えるような
置換処理をしたいです
133名無しさん@お腹いっぱい。:2011/12/20(火) 17:42:47.67
改行は C-q [ret] で直接改行入れちゃえばいいと思う。

replace-regexp [ret] 。 C-q [ret]? [ret] 。C-q [ret]
134名無しさん@お腹いっぱい。:2011/12/20(火) 17:45:46.29
改行文字は C-q C-j で入れる。

一度



。 [C-j]

に置換して、次に

。 [C-j] [C-j]

。 [C-j]

に置換すればいい。
replace-string で十分。
135132:2011/12/20(火) 19:15:34.11
>>133-134
できました。ありがとうございます。
136名無しさん@お腹いっぱい。:2011/12/21(水) 13:45:38.66
特定ディレクトリ内の特定拡張子ファイル(*.txtや*.html)に
grepをかけて置換する処理はemacsでできますか?
できれば特定の拡張子を除外するという設定もしたいのですが
137名無しさん@お腹いっぱい。:2011/12/21(水) 14:01:19.31
grep-edit だの color-moccur だの色々あるよ
138名無しさん@お腹いっぱい。:2011/12/21(水) 15:02:50.36
あとfind-grepだな。
139127:2011/12/21(水) 15:39:29.08
小菊がemacs23でおかしくなった件ですが、とりあえずの回避方法がわかったので残しておきます。
completion-sytles の中の partial-completion が kogiku と相性が悪いようです。
emacs23 はデフォルトで partial-completion 有効になってたんですねー。

この方法だと補完対象が存在しない場合でもエラーにならず [not match] が出るようになります。
ただ、 "~[TAB]" などでまだエラーになるので根本的な解決にはなっていないようです。

■以下を設定ファイルに記入
;; completion-pcm-try-completion は kogiku と相性が悪いので使わない
(setq completion-styles (delete 'partial-completion completion-styles))
;; partial-completion を使いたい場合、partial-completion-mode を使う
; (partial-completion-mode t) ;; kogiku より前に実行
(require 'kogiku)
140名無しさん@お腹いっぱい。:2011/12/21(水) 19:18:57.79
>>139
ありがとうございます!

http://anago.2ch.net/test/read.cgi/software/1221125611/951
から来た物ですが、この設定をしたら、wanderlustのdraftバッファで添付ファイルを添付しようと小菊でブラウズした際にNTEmacs毎落ちる現象が出なくなりました。

暫くこれで様子を見させてください!
141名無しさん@お腹いっぱい。:2011/12/21(水) 22:13:18.22
>>137-138
ありがとうございます。助かりました。
142名無しさん@お腹いっぱい。:2011/12/22(木) 01:08:01.91
(set-frame-size (selected-frame) 168 51)

を init.el の最後に書いてんだけど、最後にちょっとだけずれる。なんで?
143名無しさん@お腹いっぱい。:2011/12/22(木) 01:18:43.67
init.el の読み込みより後に実行されるフックで評価されるようにしたらいいんじゃない
144名無しさん@お腹いっぱい。:2011/12/22(木) 01:31:35.18
>>134
やってみた

(add-hook 'after-init-hook
'(lambda ()
(set-frame-position (selected-frame) 0 0)
(set-frame-size (selected-frame) 168 51)
))


って感じで。でもやっぱ最後にちょとだけずれて
frame-height が 49 になる。なんで?
145142:2011/12/22(木) 02:32:40.30
どうも selected-frame には tool-bar も含まれるようで、
これが原因のようです。

window-system や toolkit によって tool-bar や menu-bar と
height の関係が異なるようです。

http://www.gnu.org/s/emacs/manual/html_node/elisp/Size-and-Position.html#Size-and-Position

どうもお騒がせしました。
146名無しさん@お腹いっぱい。:2011/12/22(木) 13:10:15.72
elispでshell-command経由でファイルを扱うとき
ベースとなるディレクトリを変更したいのですがどうするのでしょうか
147名無しさん@お腹いっぱい。:2011/12/22(木) 13:54:22.19
>>146
shell-command の引数に cd hoge; と書くか、直前に (cd "hoge") する。
148名無しさん@お腹いっぱい。:2011/12/22(木) 14:25:05.51
Emacs 23 なんだけど、
^L のリセンサーを上に行ったり下に行ったりしないようにするには
どんな設定をすればいいの?
149名無しさん@お腹いっぱい。:2011/12/22(木) 14:26:26.02
リセンサー→リセンター
150名無しさん@お腹いっぱい。:2011/12/22(木) 14:28:19.97
>>148
M-x redraw-display ってこと?
151名無しさん@お腹いっぱい。:2011/12/22(木) 14:36:22.41
>>148
(setq recenter-positions '(middle))

質問前に \C-h k などを使って Help を見るようにすべき。
152名無しさん@お腹いっぱい。:2011/12/22(木) 15:17:02.00
>>151
custom-set-variables に
    '(recenter-positions (quote (middle)))
の設定を加えました。

ありがとう、勉強になった。
153名無しさん@お腹いっぱい。:2011/12/22(木) 16:50:40.22
>>147
shell-commandの方がなぜかただしく動きませんがcdなら大丈夫でした
ありがとうございます
154名無しさん@お腹いっぱい。:2011/12/22(木) 18:03:12.62
elispを編集しているときに
()の)を入力したときには前括弧が太字になるのですが、
入力したときだけじゃなくてカーソルを合わせたときにも
太字にする方法はあるでしょうか?
155名無しさん@お腹いっぱい。:2011/12/22(木) 18:18:50.61
>>154
show-paren-mode
156名無しさん@お腹いっぱい。:2011/12/22(木) 19:34:35.43
>>155
ありがとうございます!
157名無しさん@お腹いっぱい。:2011/12/22(木) 22:48:57.09
evil-modeとかvimpulse使ってる人いる?
個人的にはモーダルなemacsって最高だと思うんだけど邪道なのかな?
158名無しさん@お腹いっぱい。:2011/12/22(木) 22:57:27.11
そりゃ素直にvim使えとは思う。
色んなelispをvi系のモードに合わせるのってしんどくない?

モーダルな入力でおもったけど
(setq view-read-only t) にして view-mode をガンガン操作しやすくカスタマイズすれば
C-x C-q (もしくはもっと気楽なキーバインド)をトリガにした素直なモーダル Emacs と言えるんじゃないかな。
159名無しさん@お腹いっぱい。:2011/12/23(金) 02:34:38.74
xyzzyからemacsに移行しようと思うのですが
キルリングとクリップボードが同期してしまうのをできれば解除したいです

キルリングはemacs内だけで簡潔するようにし(他のアプリのクリップボードと連携せず)、
クリップボードは従来通り他のアプリと連携できるようにする
こういった設定は可能でしょうか?
160名無しさん@お腹いっぱい。:2011/12/23(金) 03:03:32.40
(setq interprogram-cut-function nil)
(setq interprogram-paste-function nil)

でどう?(試してない)
161名無しさん@お腹いっぱい。:2011/12/23(金) 09:42:18.30
>>158
おぉ!斬新な考え方だな。
俺はちょっと編集して一息付く時に必ずセーブ→カーソル移動して確認
のような事をしているから、同時にセーブもすればいいんだな。
キーバインドはやっぱりESCだろうね。
162名無しさん@お腹いっぱい。:2011/12/23(金) 15:06:12.55
shell-commandを非同期実行で順番に使いたいとき、
たとえば
1.hoge.exeを起動して処理する
2.1.の処理後にtest.exeを起動して処理
3.2.の処理後にfoo.exeを起動して処理
4.処理終了
こういうことはemacsで設定できるでしょうか
非同期実行が shell-command と & の組み合わせでできるということまではわかったのですが
その先がよくわかりません
163名無しさん@お腹いっぱい。:2011/12/23(金) 15:21:00.40
>>162
shell が何かによるけど
(hoge.exe ; test.exe ; fo0.exe) &

それぞれが成功した時だけ(戻り値0の場合だけ)次を実行したい場合は
(hoge.exe && test.exe && foo.exe) &
164名無しさん@お腹いっぱい。:2011/12/23(金) 15:21:50.70
shell-command だけでやるんならそれぞれのコマンドを && で連結して実行する。

hoge.exe の処理結果を emacs で一旦受けとってから test.exe に渡したいん
なら、低レベル API の start-process を使って hoge.exe を呼び出して
process-sentinel で test.exe 以降を順次実行する。
165名無しさん@お腹いっぱい。:2011/12/23(金) 15:27:30.08
>>163-164
ありがとうございます。
&&ですかなるほど。もしかするとstart-processを使って調整するかもしれませんでしたので
とても参考になりました。
166名無しさん@お腹いっぱい。:2011/12/23(金) 16:09:11.99
>162
それは同期実行ではだめなの?
(shell-command "hoge.exe")
(shell-command "test.exe")
(shell-command "foo.exe")
167名無しさん@お腹いっぱい。:2011/12/23(金) 16:47:23.22
時間かかる処理なら止まっちゃうじゃん。
168名無しさん@お腹いっぱい。:2011/12/23(金) 16:57:23.03
gnupackのemacsを使っています
eshellをexitで抜けようとしたらエラーが出るようになってしまいました
init.elのいろいろな場所を編集する最中だったため、原因を突き止められていません
*Warning* buffarにはこうあります
These default coding systems were tried to encode text
in the buffer ` *temp*':
(utf-8 ...)
However, each of them encountered characters it couldn't encode:
utf-8 cannot encode these: ...
japanese-shift-jis cannot encode these: ...
init.elでこう設定しています
(set-keyboard-coding-system 'cp932)
(prefer-coding-system 'utf-8-dos)
(set-file-name-coding-system 'cp932)
(setq default-process-coding-system '(cp932 . cp932))
(add-hook 'set-language-environment-hook
(lambda ()
(when (equal "ja_JP.UTF-8" (getenv "LANG"))
(setq default-process-coding-system '(utf-8 . utf-8))
(setq default-file-name-coding-system 'utf-8))
(when (equal "Japanese" current-language-environment)
(setq default-buffer-file-coding-system 'utf-8))))
(set-language-environment "Japanese")
どうも過去に日本語を含むパスのelispの履歴が残っているようで
それを削除すれば解決すると考えているのですが、
そうなるとどのファイルを編集することになるのでしょうか
169名無しさん@お腹いっぱい。:2011/12/23(金) 17:17:54.97
全然わからんけど session-save-file かなぁ。
おれが思うに eshell なんて使わない方がいいよ。変なのが伝染る。
170名無しさん@お腹いっぱい。:2011/12/23(金) 17:24:53.82
~/.eshell/history じゃないの?
つーかるびきちの悪影響だよな
eshellなんか使うのは
171名無しさん@お腹いっぱい。:2011/12/23(金) 17:36:24.38
win+cygwin なもんで ansi-term がまともに動かんから
shell-mode で我慢してる。っていうかあれで充分。シグナル変なのは advice つけて直した
172名無しさん@お腹いっぱい。:2011/12/23(金) 18:31:37.90
文字符号入り乱れた複数のファイルを標準出力つこて扱う時に
文字化け対策用変換パイププログラムとかねーのかな
173名無しさん@お腹いっぱい。:2011/12/23(金) 18:34:00.68
iconvとかnkfとかそいうんではなく?
174名無しさん@お腹いっぱい。:2011/12/23(金) 19:11:46.96
>>169-170
ありがとうございます
そのあたりをあさっていたら ~/.eshell/lastdir のファイルがおかしいことに気づきました
その箇所を削除したら無事終了するようになりました

ところで、>>170の通りるびきちの本をもとにeshellを使いはじめてみたのですが
emacsを使う人は通常他の外部シェルを使うのでしょうか
175名無しさん@お腹いっぱい。:2011/12/23(金) 19:18:37.63
このスレはるびきちにツンデレだから
176名無しさん@お腹いっぱい。:2011/12/23(金) 19:23:02.71
一般的かどうかは分からないけど、なんで今さら eshell なんだよって感じは
する。るびきちに関しては感性が相当に偏っているので、彼のいうことにあん
まり没頭しすぎるのは考えものだとは思う。

177名無しさん@お腹いっぱい。:2011/12/23(金) 19:27:14.55
>>176 そういわれればそうですね
178名無しさん@お腹いっぱい。:2011/12/23(金) 19:30:55.80
俺はるびキチが使う前からeshellをバリバリ使ってたけど、
msysだのcygwin入れなくても、ls,cp,mv,rm,chmod,とか使えるのは相当便利だよ。
179名無しさん@お腹いっぱい。:2011/12/23(金) 19:38:39.16
POSIXコマンドがネイティブに使える環境ではあえて eshell 使う理由もないと思う。
シェルをカスタマイズしまくっているなら ansi-term 一択
180名無しさん@お腹いっぱい。:2011/12/23(金) 20:06:41.14
でも重いんだよねえ。
結構 CPU 負荷がかかる。
181名無しさん@お腹いっぱい。:2011/12/23(金) 20:23:56.55
>>158
最近evil-mode使い始めたところなんたけど
確かに設定が面倒くさい。
viewモードメインのアプローチも確かに良さそうだね。そっちも試してみる。

182名無しさん@お腹いっぱい。:2011/12/23(金) 20:37:24.12
migemoをisearch-modeの時はオンにして、RETしてsearch-foward等の時は
オフにするにはどうすればいいですか。
183名無しさん@お腹いっぱい。:2011/12/23(金) 22:28:23.45
GNU Emacs Lispリファレンスマニュアル: Emacs Lisp関数のアドバイス
http://www.bookshelf.jp/texi/elisp-manual-20-2.5-jp/elisp_17.html
アドバイス機能を使って
>isearch-modeの時はオンにして、RETしてsearch-foward等の時はオフにする
そのとおりに設定するのがよいかと
具体的にはisearch-modeの実行時にmigemoをonに切り替えるようbeforeで設定
isearch-modeの実行終了時に migemoをoffに

こうするとsearch-forward等には手をつけなくていいかと
184名無しさん@お腹いっぱい。:2011/12/24(土) 00:09:46.51
>>131
お礼が遅くなってすみません
それでうまくいきました
185名無しさん@お腹いっぱい。:2011/12/24(土) 02:03:40.31
elispの書き方について質問します

(if test
(list (aa) (bb) (cc) (dd) (ee))
(list (aa) (ff) (ee)))

(aa)や(dd)などはすべて文字列を返す関数で、
このような処理をしようと思うのですが、
list関数と aa, ee関数が重複しており編集しづらいです
重複分を削る手はないでしょうか
186名無しさん@お腹いっぱい。:2011/12/24(土) 02:45:42.90
編集しづらいってコードの編集のことか?
list の中身のソート順をプログラマが考えて決めるんだったらある程度冗長
になるのは仕方ないと思うんだけど。
どうしたいのかいまいちわからない。
187名無しさん@お腹いっぱい。:2011/12/24(土) 03:01:13.07
重複分とlistを削ってみた。元の方が全然見やすいな。

`(,(aa)
,@(mapcar
#'(lambda (f) (funcall f))
(if test '(bb cc dd) '(ff)))
,(ee))
188名無しさん@お腹いっぱい。:2011/12/24(土) 03:27:46.43
>>185
こんな感じ?

(append
 (list (aa))
 (if test
    (list (bb) (cc) (dd))
  (list (ff)))
 (list (ee))


(mapcar 'funcall
        `(aa
          ,@(if test
              '(bb cc dd)
              '(ff))
          ee))
189名無しさん@お腹いっぱい。:2011/12/24(土) 08:59:28.95
みなさんは、WindowsでEmacsって使われてますか?
190名無しさん@お腹いっぱい。:2011/12/24(土) 09:12:31.39
使ってるよ。
NTEmacsスレもよろしくね。
http://anago.2ch.net/test/read.cgi/software/1221125611/
191名無しさん@お腹いっぱい。:2011/12/24(土) 11:05:00.31
>>186
そうです。コード編集です。
もっと縮められないものかとおもっていました

>>187-188
ありがとうございます。
appendとバッククオートでそう組み立てるのは思いつきませんでした
例を示していただいて気づいたのですが、自分はリスト生成の内側でifを使いたかったんだなと
192名無しさん@お腹いっぱい。:2011/12/24(土) 12:25:44.35
ネタだが、Google Insights for Search を使った Emacs ユーザの特性考察がなかなかおもろい。
ttp://d.hatena.ne.jp/shim0mura/20111220/1324575061
193名無しさん@お腹いっぱい。:2011/12/24(土) 12:36:21.37
関数の再定義についてお伺いしたいのですが
(require 'hoge)で読み込んでいるファイル hoge.el に書いてある関数を
init.elに新たに関数を書いて上書きしようとしてもうまくいきません

hoge.elの該当部分の関数定義をコメントアウトすると
init.elで再定義したとおりに動きます
どうすればいいのでしょうか
194名無しさん@お腹いっぱい。:2011/12/24(土) 12:36:25.61
>>191
書きやすいコードより見やすいコードを目指した方がいい。
195名無しさん@お腹いっぱい。:2011/12/24(土) 12:58:09.19
>>193
新たな関数を (require 'hoge) より前に書いてるというオチではないよな?
196名無しさん@お腹いっぱい。:2011/12/24(土) 13:06:18.14
>>193
(eval-after-load 'hoge '(defun ...))
とか、多分邪道だけど
(defadvice fuga (around ... )
ad-do-it なし)

にする。
197名無しさん@お腹いっぱい。:2011/12/24(土) 14:02:29.09
>>193
再定義していると思っている関数のスペルが間違っている
再定義後に再びload-file, load-libraryしている
198名無しさん@お腹いっぱい。:2011/12/24(土) 17:38:11.00
>>196
なんとなく書き換わるの怖くてdefadvice派だなぁ。
199名無しさん@お腹いっぱい。:2011/12/25(日) 05:44:00.27
>>192
おそらく一部には反感を買いそうだけど、
楽しんで書いてるのが伝わってきて確かに面白い。
200名無しさん@お腹いっぱい。:2011/12/25(日) 10:45:34.31
>>192の派生記事でこんなのがあったんだけど
http://d.hatena.ne.jp/takuya_1st/20111222/1324550041
この中にでてくる、EmEditorの「折り返し行表示も論理的にインデントされる」機能って
なかなか素敵だと思うんだけど Emacs 用でそういうのないかな。

自前のソースだったら長くなりすぎないよう適度に分割するんだけど
拾ってきたソース見てる時とかウィンドウ幅細くして眺めてる時とかこれできたらちょっとうれしい気がする。
201名無しさん@お腹いっぱい。:2011/12/25(日) 11:52:18.04
>192
田舎を馬鹿にしてるのは芸風かと思うけど、
emacsに関する分析で、石川県にJAISTがあるのを知らないのか、
知ってて無視してるのか…
202名無しさん@お腹いっぱい。:2011/12/25(日) 12:10:42.62
emacs関係でその大学の名前を聞いた記憶があんまりないんだけど。
オープンソース扱ってるとときどき聞くけど。
203名無しさん@お腹いっぱい。:2011/12/25(日) 12:26:15.80
現在開いているファイルがutf-8のとき、
utf-8bomかutf-8non bomかを開いているファイル名情報(ミニバッファ欄というのでしょうか)の
左側に表示したいのですが、可能でしょうか?
204名無しさん@お腹いっぱい。:2011/12/25(日) 12:27:38.96
書き忘れていました。
改行がlfかcrかも表示させたいです
205名無しさん@お腹いっぱい。:2011/12/25(日) 12:50:00.45
>>203
; BOMなしを 大文字の U に
(coding-system-put 'utf-8 :mnemonic ?U)
; BOMありを 小文字の u に
(coding-system-put 'utf-8-with-signature :mnemonic ?u)

基本的に一文字でしか表示は出来ないみたい。
ちなみに今何が設定されているか知りたいときは以下を実行
M-x list-coding-systems

UTF関連は全部ひっくるめてUになっちゃってるから必要であれば細かくわけたほうがいいかも。
一文字縛りだから厳しいけど。
206名無しさん@お腹いっぱい。:2011/12/25(日) 12:51:07.42
>>204
cr だの lf だの crlf は一応もともと表示はされているけど、
もっとわかりやすくしたいなら以下で。

(setq eol-mnemonic-dos "[CRLF]")
(setq eol-mnemonic-unix "[LF]")
(setq eol-mnemonic-mac "[CR]")
(setq eol-mnemonic-undecided "[?]")
207名無しさん@お腹いっぱい。:2011/12/25(日) 13:20:29.19
>>202 うーむ、月日が流れるのは早いもんだ。
208名無しさん@お腹いっぱい。:2011/12/25(日) 13:22:36.47
> (ミニバッファ欄というのでしょうか)

mode-line ね。

mode-line-mule-info いじればなんとでもなりそうな気はするけど。
マウスカーソル合わせればいろいろ表示できるからそれで十分な気がする。
209名無しさん@お腹いっぱい。:2011/12/25(日) 13:30:34.87
session.el を使っていると file-name-history に w3m の一時ファイル名が溜まるのが嫌なので
(setq session-set-file-name-exclude-regexp "[/\\]\\.overview\\|[/\\]\\.session\\|News[/\\]\\|w3mtmp")
というように、デフォルトの値に付け加えてみたんですが、やはりお構いなしに溜っていきます。

Emacs は 21.1 を使っているんですが、これを設定してる人はちゃんと効いてますか?
210名無しさん@お腹いっぱい。:2011/12/25(日) 13:30:46.10
load-path とかを設定するときに
append したり add-to-list を繰り返したりするのはよくみるけど
バッククオート使ったリスト展開使ってる人ってあんまり見かけない気がするんですが、
何かデメリットとか互換性とかでまずい点とかがあるんでしょうか?

(setq load-path `("~/lisp" "~/site-lisp" ,@load-path))
211名無しさん@お腹いっぱい。:2011/12/25(日) 13:36:40.41
>>210
デメリットは読みづらいって点じゃないかね。
真性 lisper の作った macro とか読んでると分かるかも。
212名無しさん@お腹いっぱい。:2011/12/25(日) 13:39:17.64
>>211
なるほど、あんまり見ないという意味で読みづらいってのはありそう。
でもただリストに追加するだけ、ってのが設定ファイル上だと多発してるんで、
短くて読みやすいこっちを使ってみます。
ありがとうございました。
213名無しさん@お腹いっぱい。:2011/12/25(日) 14:57:06.79
xyzzyにはある機能だな
emacsはというと見当たらない気がする
214名無しさん@お腹いっぱい。:2011/12/25(日) 15:10:17.46
>>213
リスト展開はEmacsで普通に使えてるぞ
215名無しさん@お腹いっぱい。:2011/12/25(日) 15:59:36.74
>>214
すまねえ、>>213>>200向けのレスだった
アンカーが抜けてしまったわ
216名無しさん@お腹いっぱい。:2011/12/25(日) 16:05:04.22
>>215
ああ、そういうことか。了解。
>>200 はxyzzyで使えるなら頑張ればEmacsにも移植出来そうなもんだね。
217名無しさん@お腹いっぱい。:2011/12/25(日) 17:27:51.00
バッファローカルなマクロや関数を設定する方法ってありますでしょうか?
218名無しさん@お腹いっぱい。:2011/12/25(日) 17:48:27.78
オーソドックスな方法はない。
obarray とか make-variable-buffer-local とか intern とか組み合わせてが
んばればもしかしたらそれっぽいことはできるかも。何がやりたいかによりそ
う。
219名無しさん@お腹いっぱい。:2011/12/25(日) 18:09:35.92
>>218
特定のファイル内でのみ使える使い捨ての関数を使いたかったのでした。

funcall での呼び出しで妥協するなら make-local-variable => lambda => funcall で他への影響少なく
実現出来ましたが、fset しちゃうとしっかりグローバルにマップされちゃうのが残念な感じ・・
220名無しさん@お腹いっぱい。:2011/12/25(日) 18:29:51.56
特定のファイル(バッファ?)内で呼び出すならそれでいいけど、
いろんなところで呼び出す関数の中でその使い捨て関数を使おうとするとだめじゃないか?

↓はevalしたバッファでなら問題なく動くけど他のバッファで say-hello するとNG
(set (make-local-variable 'somefunc) (lambda () (message "hola!")))
(defun say-hello ()
(interactive) (funcall somefunc))

221名無しさん@お腹いっぱい。:2011/12/25(日) 22:34:15.94
リストの中で条件に一致するものだけを抜き出す関数ってありますか?
find-if みたいな条件式を外から渡せるものが欲しいです。
222名無しさん@お腹いっぱい。:2011/12/25(日) 22:57:39.93
remove-if-not かな。名前分かりづらいよね。
223名無しさん@お腹いっぱい。:2011/12/25(日) 23:05:47.16
>>222
ありがとうございます。条件に一致しないものを全て除く、なんですね。
わかりづらいですねw
224名無しさん@お腹いっぱい。:2011/12/26(月) 20:45:07.50
>>160
すみません。ためして見ましたが他のアプリとの連携が完全に断ち切られてしまいました。

よく考えてみたらxyzzyでいうところのセレクションとリージョンの区別が
emacsには無いのかもしれないと思いました
xyzzyの説明はこれです
http://hie.s64.xrea.com/xyzzy/note/region-selection.html#1

希望する動作を詳しくいうと、もしもemacsにセレクションの機能があるとして
仮にメモ帳の文字をコピーしたとしてemacsに貼り付けようとするとき
セレクションの貼り付け->メモ帳からの貼り付けok
キルリングのヤンク->メモ帳からの貼り付けNG

逆も同様で、emacsで
セレクションの範囲選択からコピー->メモ帳に貼り付けok
リージョンの範囲選択からコピー->->メモ帳に貼り付けNG

セレクションが無いとするとキルリングを改変して
独立したリージョンのようなもの
(指定したキルリングのみ他のアプリと文字の受け渡し可)
を使いたいのですが可能でしょうか。何か複雑なことになってしまいましたが…
225名無しさん@お腹いっぱい。:2011/12/26(月) 21:13:29.20
>>224
ちょっとよく分からないけど・・

クリップボードと同期したくないだけなら
(setq x-select-enable-clipboard nil) でよかったはず。

上記の状態でキルリングではなくクリップボードから貼付けしたい時は clipboard-yank
切り取りの clipboard-kill-region と貼付けの clipboard-kill-ring-save ってのはあるんだけど
こっちは kill-ring にも入っちゃうんだよね。

クリップボードと直接やり取りしてるのは >>160 が言ってる変数の中身に指定されている関数である
x-select-text と x-get-selection-value。

セレクションについても普段使ってるプライマリの他にセカンダリ(Alt+ドラッグで指定出来る/Alt+真ん中クリックで貼付け)
ってのがあるから、それと組み合わせて何か関数作ればクリップボード連携専用セレクションは作れると思う。

226名無しさん@お腹いっぱい。:2011/12/26(月) 21:40:30.25
やっつけでかいてみた。

;; クリップボードとのkill/yank連携解除
(setq x-select-enable-clipboard nil)

;; クリップボードから貼付け
(global-set-key (kbd "C-c y")
(lambda ()
(interactive)
(let ((x-select-enable-clipboard t)
(x-last-selected-text nil))
(insert (or (x-get-selection-value) "")))))

;; クリップボードへコピー
(global-set-key (kbd "C-c w")
(lambda ()
(interactive)
(when (region-active-p)
(let ((x-select-enable-clipboard t))
(x-select-text (buffer-substring-no-properties
(region-beginning) (region-end)))))))
227名無しさん@お腹いっぱい。:2011/12/26(月) 22:43:20.34
>>226
やっつけに突っ込む & 試してないけれど、
(lambda (beg end)
    (interactive "r")
    (let ((x-select-enable-clipboard t))
      (x-select-text (buffer-substring-no-properties beg end))))
228名無しさん@お腹いっぱい。:2011/12/27(火) 00:56:12.67
>>225-227
ありがとうございます!まさに意図したとおり動いています
思わず笑顔になってしまいました
>>225の説明がわかりやすくて参考になります
ありがとうございました
229名無しさん@お腹いっぱい。:2011/12/27(火) 11:39:39.37
windowsでファイラーの右クリックからemacsにファイルを送ると
あらたなemacsが起動してしまうのですが
emacsがすでに起動しているならそのemacs内でファイルを開くように設定できますか
230名無しさん@お腹いっぱい。:2011/12/27(火) 12:04:09.38
>>229
emacsclientw.exe とか?
231名無しさん@お腹いっぱい。:2011/12/27(火) 13:57:42.71
>>230
ありがとうございます
それを使って設定できました
232名無しさん@お腹いっぱい。:2011/12/27(火) 21:10:00.44
メジャーモードの作成でdefine-generic-modeを使うとき
キーワードリストで設定するのと色づけリスト内のfont-lock-keyword-faceで設定するのは
変わりないのでしょうか?
それと、予約語や組み込み関数が膨大な言語を扱うときに一つ一つを書くのではなくて
予約語一覧や組み込み関数一覧の別ファイルを読みこんでfont-lockを設定できないものでしょうか
るびきち著のemacslispテクニックバイブル10章を読んでもこのあたりのことが
書いていないのでよくわかりません。
233名無しさん@お腹いっぱい。:2011/12/27(火) 22:00:50.40
generic-mode ではキーワードの外出しはサポートしてないっぽいね。

↓の関数でどうでしょ。
(defun keywords-from-file (file)
"ファイルからキーワードのリストを取得。ファイル内のキーワードは改行で区切ること"
(with-temp-buffer
(insert-file-contents file)
(split-string (buffer-substring-no-properties (point-min) (point-max)) "[\r\n]" t)))

(define-generic-mode
'hogehoge-mode
'("#")
(keywords-from-file "~/.emacs.d/hogehoge-mode-keywords")
...
)

みたいな感じで。
234名無しさん@お腹いっぱい。:2011/12/28(水) 02:04:40.26
>>233
ありがとうございます。うまくいきました。
235名無しさん@お腹いっぱい。:2011/12/28(水) 10:32:52.68
C-yでyankした後にM-yで履歴を遡れますが、
うっかり戻り過ぎた時に戻るコマンドはないのでしょうか。
リングを全部もう1周するのは大変です。
C-/でundoするのも時にはありなんですが、
やっぱり違ったって時にM-yを継続できないので不便です。
簡単に履歴を行ったり来たりできないのでしょうか。
236名無しさん@お腹いっぱい。:2011/12/28(水) 10:39:02.54
anything-show-kill-ringを使うといいよ^^^
237名無しさん@お腹いっぱい。:2011/12/28(水) 10:43:02.78
標準の M-y だとあんまり器用なことはできないね。
M-1 M-y とかで yank するヒストリの位置を指定したりできるけどそんなの頭で把握していないだろうし。

素直に browse-yank とか kill-summary とか browse-kill-ring とか popup-kill-ring とかの
貼る奴を選べるタイプのを使ったほうがいいと思う。

anything でも kill-ring は扱えるらしいんだけど使っていないからちょっとそっちは分からない。
238名無しさん@お腹いっぱい。:2011/12/28(水) 10:55:49.77
>>235
C-u -1 M-y
239名無しさん@お腹いっぱい。:2011/12/28(水) 11:06:30.27
M-- M-y でいいじゃん。
anything なんか勧めるな
240名無しさん@お腹いっぱい。:2011/12/28(水) 11:18:09.10
そういうこと言っちゃうとまた彼がくるよ。
241名無しさん@お腹いっぱい。:2011/12/28(水) 11:24:06.46
実際anything使ってるの?
auto-completeの作者はanythingアンチっぽいな
242名無しさん@お腹いっぱい。:2011/12/28(水) 11:35:51.24
割と技術ある人はだいたいanythingアンチ。
若い人があの人の煽りに乗せられちゃってるんだよ。
243名無しさん@お腹いっぱい。:2011/12/28(水) 12:06:07.16
> auto-completeの作者はanythingアンチっぽいな
これソース何?その人のブログとか読んだ限りじゃanythingユーザっぽいんだが…
244名無しさん@お腹いっぱい。:2011/12/28(水) 12:27:14.73
過剰反応
245名無しさん@お腹いっぱい。:2011/12/28(水) 13:25:04.41
>>235
redo.elで検索
246名無しさん@お腹いっぱい。:2011/12/28(水) 14:35:05.68
技術のある人はanythingを使わない(キリ
技術のある人はるびきち本などクソだと思っている(キリッ
vim・nviなどviではない(キリリッ
247名無しさん@お腹いっぱい。:2011/12/28(水) 16:01:44.06
/*
test
hoge
test
hoge
*/
これ全体にヒットするelispの正規表現はどのようなものでしょうか?
/\\*[\\n.]+\\*/ と書いたのですがヒットしませんでした
248名無しさん@お腹いっぱい。:2011/12/28(水) 16:12:30.51
> /\\*[\\n.]+\\*/

bracket (文字クラス) の中では . の意味は失われて通常文字になる。

(re-search-forward "/\\*\\(\n\\|.\\)*?\\*/")

でとりあえずマッチする。
コメントみたいなのに正規表現はあんまりよくないんじゃないかね。
249名無しさん@お腹いっぱい。:2011/12/28(水) 16:18:39.47
> コメントみたいなのに正規表現はあんまりよくないんじゃないかね。

よくないって書いたのはコメントが大きくなってきたときに正規表現がオーバー
フローするって意味です。ちょっとした利用なら気にしなくていいはずです。
250247:2011/12/28(水) 16:25:53.05
ありがとうございます。わかりました。
251名無しさん@お腹いっぱい。:2011/12/28(水) 17:20:48.37
るびきちとご飯を食べる会とかやってるみたいだし
elisp書いてる界隈は総じて仲良いように見えるけどな。
anything!!anything!!ってプッシュしてなきゃあの人も色々面白い記事かくいい人だと思うよ。
252名無しさん@お腹いっぱい。:2011/12/28(水) 17:29:19.67
どんないい記事かこうとあの情報商材みたいな文章の羅列ですべて台無しだよ。
どっかの大学にでも勤めて真っ当な研究でもすればいいのに。いや無理か。。
253名無しさん@お腹いっぱい。:2011/12/28(水) 17:30:56.46
うるせえ、創造的破壊するぞ
254名無しさん@お腹いっぱい。:2011/12/28(水) 17:33:59.06
イノベーション()
255名無しさん@お腹いっぱい。:2011/12/28(水) 17:38:16.02
そうだね
倭猿ごときがEmacsの伝道師なぞ恐れ多いわ
256名無しさん@お腹いっぱい。:2011/12/28(水) 17:41:26.13
Lisp方言ならまかせろー!ならまだいいんだけど
たかだか1エディタの設定だけだもんな
257名無しさん@お腹いっぱい。:2011/12/28(水) 17:46:11.19
もうちょっと手広くやればいいのにね。
Emacsだけで食べるなんて無理だよ。
100ユーザ集ったとか悪いけど嘘くさすぎる。
258名無しさん@お腹いっぱい。:2011/12/28(水) 17:48:25.85
まだ本業のrubyがあるからあわてる時期じゃない
259名無しさん@お腹いっぱい。:2011/12/28(水) 17:50:15.62
そういえば設定本にviewer.elでview-modeのmode-lineを色付けして
他のモードと区別しやすくしようなんてページがあったのだけど

載ってるスクショが白黒だた
260名無しさん@お腹いっぱい。:2011/12/28(水) 17:53:07.29
>>258
最後の ruby kaigi に参加したとき自分の中でrubyは三年前のままで時間が止まってるとかほざいてたぞ。
お前その名前詐欺だろと思ったわ。
261名無しさん@お腹いっぱい。:2011/12/28(水) 17:55:39.93
>>259
ズコーw
262名無しさん@お腹いっぱい。:2011/12/28(水) 17:57:45.09
お前ら文句いいつつもしっかり本買ってるあたり、るびきちのことなんだかんだいって好きだよな
263名無しさん@お腹いっぱい。:2011/12/28(水) 17:58:27.22
嫌いです。
264名無しさん@お腹いっぱい。:2011/12/28(水) 17:58:35.12
ひとくくりにされてもな。
265名無しさん@お腹いっぱい。:2011/12/28(水) 18:03:04.34
Elisp本はLisp遊びで充分です
266名無しさん@お腹いっぱい。:2011/12/28(水) 18:04:38.74
リスト遊びか?
267名無しさん@お腹いっぱい。:2011/12/28(水) 18:18:48.69
俺らるびきちなんて格下興味ないからな
268名無しさん@お腹いっぱい。:2011/12/28(水) 18:23:38.65
lisp遊びなんてでてたんや
269名無しさん@お腹いっぱい。:2011/12/28(水) 18:54:32.36
山本さんのじゃなくて?
270名無しさん@お腹いっぱい。:2011/12/28(水) 18:57:51.43
>>264
なあ。俺らはるびきち本がどんなにつまらん内容か確認するためだけに買ってその後捨てたわ。
271名無しさん@お腹いっぱい。:2011/12/28(水) 19:17:33.42
せめてbookoffに。
272名無しさん@お腹いっぱい。:2011/12/28(水) 19:24:54.32
少しでも無意味な本が世に出回らんようにという配慮だ
emacswikiもいらん、このスレだけで十二分だ
273名無しさん@お腹いっぱい。:2011/12/28(水) 19:41:22.07
俺なんか間違ってあんな本を買うやつが出ないように近くの本屋で買い占めたからな
274名無しさん@お腹いっぱい。:2011/12/28(水) 19:49:32.87
山本さんは今ではHaskellの人というイメージやな
275名無しさん@お腹いっぱい。:2011/12/28(水) 20:39:36.16
お前らかずさんのことを悪く言うのか
276名無しさん@お腹いっぱい。:2011/12/28(水) 20:42:01.54
emacswiki面白いけどなあ。

>>273
俺も買い占めは出来なかったけどせめての布教防止にと2冊買った。
277名無しさん@お腹いっぱい。:2011/12/28(水) 22:27:24.40
だれもkazuさんのことを悪く言ってない
悪く言われているのは……
278名無しさん@お腹いっぱい。:2011/12/28(水) 22:39:30.78
なんでルビキチって叩かれてるの?
279名無しさん@お腹いっぱい。:2011/12/28(水) 22:44:46.33
一流のスポーツ選手ほど叩かれる
つまりそういうことだ
280名無しさん@お腹いっぱい。:2011/12/28(水) 22:46:15.31
つまりルビキチは神ってことすか?
281名無しさん@お腹いっぱい。:2011/12/28(水) 22:49:10.02
神キチ
282名無しさん@お腹いっぱい。:2011/12/28(水) 23:06:09.34
キチさんってruby時代から叩かれてるよね
あの頃は顔写真まで使って叩いてて酷いと思った
283名無しさん@お腹いっぱい。:2011/12/28(水) 23:07:47.51
アクの強いキャラクターだからなあ
別に悪人じゃないし色々貢献している人ではあるんだけど
284名無しさん@お腹いっぱい。:2011/12/28(水) 23:12:26.85
いったい何に貢献してるんだ?
最近anything連呼してるだけじゃん。
285名無しさん@お腹いっぱい。:2011/12/28(水) 23:13:51.02
個人的にはjplの人が一番偉いと思ってる
286名無しさん@お腹いっぱい。:2011/12/28(水) 23:14:14.58
設定本では「筆者が開発している」anythingだったのが
elisp本では「筆者がメンテナンス・開発している」anythingになっていた
ちなみに原作者の名前はまったく出てこない。まさに神の御業である
287名無しさん@お腹いっぱい。:2011/12/28(水) 23:45:54.41
るびきちが残念なのはemacsの枠内でだけ考えていること
anything.elもなんだかんだ言って既存のemacsスクリプトを取り込んで拡張していったから
自ずと限界は見えてしまう

anything.elがemacsの諸ライブラリの統合だと主張するのはわかったから
つぎはvimとemacsの統合というか融合の形を見せてほしい
288名無しさん@お腹いっぱい。:2011/12/28(水) 23:49:42.01
なんだそりゃ
289名無しさん@お腹いっぱい。:2011/12/28(水) 23:55:24.14
viperでいいのでは
290名無しさん@お腹いっぱい。:2011/12/29(木) 00:01:08.69
いちおうるびきちのブログみる感じだとemacs内で閉じるのは×で
外部プログラム使おうぜって主張だったと思うけど。

正直emacs内のhttpライブラリとかうんこちんちんだからなあ。
ただ外部プログラム呼ぶと他の環境に移る時めんどくさい。
291名無しさん@お腹いっぱい。:2011/12/29(木) 00:35:35.93
>>290
>正直emacs内のhttpライブラリとかうんこちんちんだからなあ。
詳しく聞きたい
292名無しさん@お腹いっぱい。:2011/12/29(木) 00:40:34.06
俺達って、もう Emacs だけで第一線張っていくの無理なのかな……(涙
なんとか言ってくれよ誰か!俺達が…俺達が費した青春は何だったんだよ!
293名無しさん@お腹いっぱい。:2011/12/29(木) 00:47:03.98
url.el が糞な点

・POSTメソッドをサポートしてない
・非同期接続時にタイムアウト指定できない
・接続待機はコンパイル時のオプション次第によっては非同期にならない

これはあかんよ。
294名無しさん@お腹いっぱい。:2011/12/29(木) 01:06:16.02
>>293
postメソッドについては知らなかった
そうだったのか
295名無しさん@お腹いっぱい。:2011/12/29(木) 11:50:02.70
モードラインに現在のバッファの最大行数を常に表示するのにはどうしたらいいんですか?
296235:2011/12/29(木) 12:39:55.01
外部プログラムに頼りたくないので>>239さんの
M-- M-y
を使いたいと思います。
みなさんありがとうございました。
297名無しさん@お腹いっぱい。:2011/12/29(木) 12:49:16.97
define-generic-modeの初期化関数リストの部分で
(custom-set-faces
'(font-lock-keyword-face ((t (:foreground "yellow")))))
のようにすると他のモードにも色が反映されてしまうのですが、
任意のモードのときにのみ特定の色をつけるということは可能でしょうか
298名無しさん@お腹いっぱい。:2011/12/29(木) 13:09:33.71
>>297
デフォルトのfaceを使いたくない場合は、自分でfaceを作って
font-lock に教えてあげる必要がある。
特定のフェイスの色をバッファ毎に置き換える方法はちょっと分からない。

(make-face 'hogehoge-green-face)
(set-face-attribute 'hogehoge-green-face nil :foreground "green")

(make-face 'hogehoge-red-face)
(set-face-attribute 'hogehoge-red-face nil :foreground "red")

(font-lock-add-keywords 'hogehoge-mode
'(("^GREEN: .*" . 'hogehoge-green-face)
("^RED: .*" . 'hogehoge-red-face)))

んで、
generic-mode の場合は generic-make-keyword-list って関数があって、
これだとキーワードのリストに対して任意の face を指定出来るみたいだからこっち使ったほうがいいのかもね。
詳しい使い方は関数のヘルプをみてちょうだいな。
299名無しさん@お腹いっぱい。:2011/12/29(木) 13:11:14.19
typo だ。
× generic-make-keyword-list
○ generic-make-keywords-list
300名無しさん@お腹いっぱい。:2011/12/29(木) 14:34:09.80
kbd マクロに変数を渡すとエラーになってしまいますが
どうしても変数を渡したい場合は以下の方法しかないんでしょうか?
(setq a "C-c a")
(kbd a) ;; => (wrong-type-argument integer-or-marker-p a)
(eval `(kbd ,a)) ;; => "^C"
301名無しさん@お腹いっぱい。:2011/12/29(木) 14:57:49.13
横レスだけど

(macroexpand '(kbd a))

>Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p a)
となるのはなぜなのだろう?
(macroexpand '(dolist (x '(a b c)) (print x)))
は問題ないのに
302名無しさん@お腹いっぱい。:2011/12/29(木) 15:32:41.59
なんでって質問にはなかなか答えられないかもしれない。。
lisp reader作っちゃうような真性lisperの集まるスレに行って聞くといいかも。
プログラム板のschemeとかclとかの。

>>300
(setq a "C-c a")
(read-kbd-macro a)

ってやっちゃうととりあえず願いは叶うんだろうけど、これじゃ不満だろうか?
kbd はシンタックスシュガーな気がするしループの中でなんかするとかそうい
う使い方じゃないんじゃなかろうか。
303名無しさん@お腹いっぱい。:2011/12/29(木) 15:49:18.27
>>301だけどありがとう
なるほど
304名無しさん@お腹いっぱい。:2011/12/29(木) 16:11:41.68
>>301
macroexpandはマクロを実行するものだから。
マクロというのはありえいにいえば処理系に置き換えてもらいたい式を返す関数。
この場合 (kbd 'a) が実行される。
305名無しさん@お腹いっぱい。:2011/12/29(木) 16:30:54.88
elispを編集中にカーソル下の関数の説明を見るにはどうすればよいですか?
306名無しさん@お腹いっぱい。:2011/12/29(木) 17:34:09.08
>>305
describe-function
C-h をバックスペースにしてなければ C-h f
307名無しさん@お腹いっぱい。:2011/12/29(木) 19:30:33.63
>>306
ありがとうございました。
308名無しさん@お腹いっぱい。:2011/12/29(木) 20:03:41.81
メジャーモードやマイナーモードで
1タブあたりの半角空白の数を指定するにはどうするのですか
309名無しさん@お腹いっぱい。:2011/12/29(木) 20:14:26.30
(add-hook 'なんかの-mode-hook
(lambda () (setq tab-width 4)))
310名無しさん@お腹いっぱい。:2011/12/29(木) 20:17:02.17
(add-hook 'hoge-mode-hook
(lambda ()
(set (make-variable-local 'tab-width) 10)
(set (make-variable-local 'tab-stop-list) '(10 20 30 40 50 60 70 80 90))))
311名無しさん@お腹いっぱい。:2011/12/29(木) 20:17:19.76
間違い
make-local-variable だった。
312名無しさん@お腹いっぱい。:2011/12/29(木) 20:35:18.17
>>309
できました。
313名無しさん@お腹いっぱい。:2011/12/29(木) 20:45:44.21
初心者質問増えた気がするのはrubikitch本の影響なのかなぁ。
314名無しさん@お腹いっぱい。:2011/12/29(木) 21:07:39.90
http://www.mag2.com/m/0001373131.html
るびきちの経歴をはじめて見た気がする
315名無しさん@お腹いっぱい。:2011/12/29(木) 21:08:33.99
>>313
Software Design とかで Emacs の特集くまれたのも関係してるのかもね。
316名無しさん@お腹いっぱい。:2011/12/29(木) 21:08:33.89
るびきちは責任もってにわかの処理をしろ
317名無しさん@お腹いっぱい。:2011/12/29(木) 21:14:15.30
とりあえず anything 使っとけで OK

318名無しさん@お腹いっぱい。:2011/12/29(木) 21:16:33.71
Emacs をこれからわざわざ使い始める必要はないと思うけどなあ。

Emacsのキーバインドは呪いだぞ。下手になれるとずーーーーーっと付きまとわれる。
319名無しさん@お腹いっぱい。:2011/12/29(木) 21:17:07.28
小指が痛いのは呪いのせいだぜ。
320名無しさん@お腹いっぱい。:2011/12/29(木) 21:35:38.97
>>316
http://www.mag2.com/m/0001373131.html

で500yen/1month払った人の相手は責任もってやります。
321名無しさん@お腹いっぱい。:2011/12/29(木) 21:39:04.70
内容読んでないからわからないけど
むしろ入門書よんでたら describe-function とかタブ幅設定知らないってことはないんじゃないのか?
322名無しさん@お腹いっぱい。:2011/12/29(木) 21:39:34.05
http://www.mag2.com/m/0001373131.html
> 【月額512円】 1配信あたり約 512円

これが525円? ぼったくりにもほどがある。
323名無しさん@お腹いっぱい。:2011/12/29(木) 21:53:46.94
512って書いてあんじゃん!
324名無しさん@お腹いっぱい。:2011/12/29(木) 21:54:34.37
消費税の魔力は恐ろしいな。
325名無しさん@お腹いっぱい。:2011/12/29(木) 22:04:44.97
テンプレに初心者はるびきちに聞けって入れとうこうぜ
326名無しさん@お腹いっぱい。:2011/12/29(木) 22:17:21.39
inhibit-startup-echo-area-message ってなんでわざわざあんなめんどくさい仕様なの?
327名無しさん@お腹いっぱい。:2011/12/29(木) 22:20:05.18
バイトコンパイルで動作が速くなるというのは.elと比べて
起動時の読み込み処理+起動後の処理の両方が速くなるということでしょうか
328名無しさん@お腹いっぱい。:2011/12/29(木) 22:23:48.15
読み込みが早くなるだけで実行速度はかわらないんでないの。
読み込んだ後にどうせ内部的にコンパイルしているわけだし。
329名無しさん@お腹いっぱい。:2011/12/29(木) 22:49:44.35
いや、計算が多いコードだと明らかに速くなるよ。
330名無しさん@お腹いっぱい。:2011/12/29(木) 23:14:35.22
現行のバイトコンパイラはlucid製の最適化コンパイラで実行速度も速い。
331327:2011/12/29(木) 23:28:18.08
分かりました
332名無しさん@お腹いっぱい。:2011/12/30(金) 11:12:48.18
キャラクタセット毎にフォントを指定する時の疑問なんですが、
(set-fontset-font "xxx" 'japanese-jisx0208 "SomeFont") みたいに直接指定するのと
(set-fontset-font "xxx" 'japanese-jisx0208 (font-spec :family "SomeFont"
:registry "unicode-bmp" :lang 'ja))
みたいにfont-specで指定するのってどう違いがあるんでしょう?
333名無しさん@お腹いっぱい。:2011/12/30(金) 11:18:48.69
set-fontset-font is a built-in function in `C source code'.
(set-fontset-font NAME TARGET FONT-SPEC &optional FRAME ADD)

FONT-SPEC may one of these:
* A font-spec object made by the function `font-spec' (which see).
* A cons (FAMILY . REGISTRY), where FAMILY is a font family name and
REGISTRY is a font registry name. FAMILY may contain foundry
name, and REGISTRY may contain encoding name.
* A font name string.
* nil, which explicitly specifies that there's no font for TARGET.
334名無しさん@お腹いっぱい。:2011/12/30(金) 11:44:46.71
ということは、SomeFont の特定の registry に属するものだけ指定したい場合とかだけ
font-spec 使ったり cons セル渡したりすれば良いということなんですね。

font と fontset の仕組みがなかなか理解できないなぁ・・・
list-fontsets で出てくるフォントセット名って必ずしもそこで指定された family に属してるフォントだけってわけでもないんですよね。
335名無しさん@お腹いっぱい。:2011/12/30(金) 12:15:08.17
> フォントセット名って必ずしもそこで
「そこ」ってどこよ? set-fontset-fontの事?

フォントセットはcreate-fontset*で作成し、その時にフォントセット名を指定する。
set-fontset-fontで指定してないフォントセット名がリストされても何も不思議じゃないんだが。
336名無しさん@お腹いっぱい。:2011/12/30(金) 12:29:14.72
>>335
create-fontset* したときにフォントセット名を未指定だと
そのフォントの XLFD がフォントセット名になるじゃないですか。

それがあったから自分にはわかりづらかったんですよ。
なんで Family が * じゃないのに別の Family のフォントが使えるの???みたいに。
フォントセット名って結局は単純に名前なだけで内容は別に XLFD とは関係ないってことなんですよね。
337名無しさん@お腹いっぱい。:2011/12/30(金) 12:50:29.54
set-frame-font等でフォントファミリーで指定することもできるので無関係というわけでもない。
338名無しさん@お腹いっぱい。:2011/12/30(金) 12:55:33.81
正月休みに読もうと、図書館でるびきち本を借りようとしたら貸し出し中だった
自分以外にも買わないで済ます奴がいるんだなw
339名無しさん@お腹いっぱい。:2011/12/30(金) 13:23:40.98
本屋で平積みになってたので
上に『いまどきのアセンブラプログラミング』を乗せてきた
340名無しさん@お腹いっぱい。:2011/12/30(金) 14:29:28.44
いまどきのアセンブラプログラミングちょっと気になるな

とおもって書評見に行ったらメタクソでワロタ。
中身もトンデモだった。
341名無しさん@お腹いっぱい。:2011/12/30(金) 14:54:17.74
キチの本は評判どうなんだろう
342名無しさん@お腹いっぱい。:2011/12/30(金) 15:00:56.70
るびきちのemacs本を2冊とも持っているけど
誤植が結構ある気がするんだよな(とくにemacs lispの方)
正誤表がネットにあればいいのに
343名無しさん@お腹いっぱい。:2011/12/30(金) 15:04:58.08
Emacsテクニックバイブルの方は正誤表あった
http://d.hatena.ne.jp/rubikitch/20100810/emacsbookerrata
Emacs Lispテクニックバイブルの方は知らん

電子書籍で販売しないあたりがオールドタイプ
344名無しさん@お腹いっぱい。:2011/12/30(金) 15:07:51.32
>奇跡はまだ終わりません。 ちょうど1年後、2008年にanythingの開発を引
>き継ぐことになりました。 原作者はanything開発の時間が取れないとの
>ことで、熱烈なanythingファンの筆者がすぐに次期開発者として名乗りを
>上げ、了承されました。 バグを修正し、使いやすくするために大幅に機
>能を追加しました。 その結果、コードは約4倍に膨れ上がりました。 熱
>狂的なファンも増えました。 anythingを使ったLispプログラムもたくさ
>ん登場しました。 いつしかanythingがないと生きていけない様を表す
>「anything脳」という言葉も登場しました。 anythingで生産性が上がっ
>た人がたくさんいます。 そして現在は「anythingのるびきち」として知
>られるようになりました。


きんもーい
345名無しさん@お腹いっぱい。:2011/12/30(金) 15:10:59.90
これもきもい
> 42歳のおっさんです。前著作とともに購入しました。
> ともに自宅用、会社用に1冊ずつ、合計4冊購入しました。
> ただ、すでに痛み始めているので、ともに、あと1冊ずつ購入することになると思います。
> メルマガも先ほど、購読の手続きを完了しました。楽しみにしています。
346名無しさん@お腹いっぱい。:2011/12/30(金) 15:58:14.87
別にきもくはない。年齢的にも金持ってるんだろうし、俺もリファレンス的
な本は会社と自宅で2冊買ってたりしてた。
347342:2011/12/30(金) 16:00:32.43
>>343
ありがとう。手元にあるemacsテクニックバイブルは2刷りだけど
日本語の文章としておかしい箇所があった気がする
メモをしていなかったので場所は忘れた
コードはざっと見た限りひどい間違いはなさそう
もう一度通読してみるか
348名無しさん@お腹いっぱい。:2011/12/30(金) 16:55:04.23
>>293
嘘よくない…。post できるヨ…。
349名無しさん@お腹いっぱい。:2011/12/30(金) 18:45:36.05
無知乙。10年前ぐらいはPOSTできないのが常識だった事も知らんのか。
350名無しさん@お腹いっぱい。:2011/12/30(金) 19:02:40.92
誰に対して無知なんだよ…
351名無しさん@お腹いっぱい。:2011/12/30(金) 19:04:55.83
HTTP/0.9にはGETメソッドしかなかったからな。
352名無しさん@お腹いっぱい。:2011/12/30(金) 19:25:34.59
バカだとかアホだとかおよそ書籍に似つかわしくない単語が並んでた。
353名無しさん@お腹いっぱい。:2011/12/30(金) 21:05:55.40
>>352
?どういうこと?
354名無しさん@お腹いっぱい。:2011/12/30(金) 21:23:42.61
キチボンにそういう単語が並んでるってこと?
355名無しさん@お腹いっぱい。:2011/12/30(金) 21:29:48.87
そう。cl に関する記述の部分だったかな。
おれはこのことに怒っているぞみたいなこと書いてあった。
356名無しさん@お腹いっぱい。:2011/12/30(金) 21:32:26.59
ああいう表現って編集の人に止められないもんなのかね。
触らぬキに祟りなしとかで何も言わないのか。
357名無しさん@お腹いっぱい。:2011/12/30(金) 23:04:23.29
cl に関しては公式が正しいと思うけどな。
Common LispだけがLispじゃないんだし。
358名無しさん@お腹いっぱい。:2011/12/30(金) 23:09:10.31
ただ、dolist みたいな便利マクロが標準で用意されててもいいだろとは思ったわ。
どうせみんな書くんだろうし。
359名無しさん@お腹いっぱい。:2011/12/30(金) 23:11:07.88
>>348
リクエストメソッドをPOSTに出来るだけでしょ。
マルチパートの送信も出来ないのにPOST出来るとはとてもとても。
360名無しさん@お腹いっぱい。:2011/12/30(金) 23:39:38.22
>>356
clマクロを取りまく現状について
「こうしたねじれた事態は馬鹿げている」と強い口調で書いてはある
けれどバカと馬鹿げているではニュアンスがまるで違うからキとか言うのはよくない
361名無しさん@お腹いっぱい。:2011/12/30(金) 23:42:51.17
キについては自称だからなぁ。
362名無しさん@お腹いっぱい。:2011/12/30(金) 23:44:13.73
cl 使うなっていうなら標準で添付するなよなとは思うわ。
意味わからん。
363名無しさん@お腹いっぱい。:2011/12/31(土) 00:31:14.97
>>358
dolist, dotimes は subr.el に標準で用意されている。
正直 cl とマージすればいいと思うんだけど、何かポリシー
があるんだろうな。
364名無しさん@お腹いっぱい。:2011/12/31(土) 00:33:53.26
自前の使い捨てスクリプト書くときは便利だし。
パッケージとして作るものに (require 'cl) するなって意味だったような。
365名無しさん@お腹いっぱい。:2011/12/31(土) 00:51:35.45
> バカと馬鹿げているではニュアンスがまるで違う

単語だけ切り出したらそう思うかもしれないけど、
全体の文脈からしてかなり烈しい内容だったと思うけどな。
この辺が幼稚な印象を強くしちゃうんだよ。rbktせんせ。
366名無しさん@お腹いっぱい。:2011/12/31(土) 00:58:58.98
なんで subr に入れないんだろうね。
find-if とかの cl-seq の中身便利なのに。
367名無しさん@お腹いっぱい。:2011/12/31(土) 01:07:28.40
文字数をモード列に表示することはできるのでしょうか
368名無しさん@お腹いっぱい。:2011/12/31(土) 02:34:37.32

>>364
すみません、私はcl.el大好きなんですが、
eval-when-compileで囲んでもやはり使うべきではない、
というのが現在の一般的な意見、ということになっているのでしょうか?

>>366
RMSがキーワード引数が好きではないから、という説を
どこかで聞いた気がします。
369名無しさん@お腹いっぱい。:2011/12/31(土) 02:41:52.98
FMV-BIBLO LOOX(6インチモニタのノート)でemacs常用している猛者はいないか?
買うかどうか悩んでるんだ。ソースコード編集してC-c C-cで部分実行するだけならこの画面で十分な気がするんだけどどうだろ
370名無しさん@お腹いっぱい。:2011/12/31(土) 02:51:04.54
(eval-when-compile (require 'cl)) して使っていいのがCLマクロ
使っちゃダメなのがCL関数
じゃないの?
371名無しさん@お腹いっぱい。:2011/12/31(土) 04:32:15.06
Richard Stallmanは以下のように書いているのですが、

The rule against using CL functions at run time is for the sake of the
user. The CL functions are not a standard part of the Emacs Lisp
namespace. Thus, loading CL can conflict with the user's function
definitions.

subr.elでdefunされているremoveと、
cl-seq.elでdefunされているremove-ifとでは、

「can conflict with the user's function definitions」という点で
どのような違いがあるのでしょうか。
372名無しさん@お腹いっぱい。:2011/12/31(土) 09:34:41.01
皆でガンガンclの関数使って形骸化させようぜみたいなのにならなかったのだろうか
373名無しさん@お腹いっぱい。:2011/12/31(土) 09:38:21.89
clの実装は小汚いからな。
喜んで使うのは三流グラマだけ。
374名無しさん@お腹いっぱい。:2011/12/31(土) 09:52:56.96
>>371
subr.el で定義されている -> ぶつかったらユーザの責任
cl.el で定義されている -> ぶつかったら cl.el をロードしたやつの責任

という点で異なる
375名無しさん@お腹いっぱい。:2011/12/31(土) 10:01:45.63
下手に準拠唄うとアレがダメだこれがダメだと重箱の角ツツク
ゴミッカスが喜び勢い付くだけだからね〜
376名無しさん@お腹いっぱい。:2011/12/31(土) 10:18:28.75
anythingに関しても今のところはつっこまれてないだけで、これからつっこま
れる可能性は高いよね。ところでanythingの標準添付の作業ってどこでされて
るんだ?trunk見ても見当たらないんだけど。
377名無しさん@お腹いっぱい。:2011/12/31(土) 11:45:32.41
きちさんの脳内じゃない?
cedet もそうだけどあえて一緒にしない方がいいパッケージってあるよな
378名無しさん@お腹いっぱい。:2011/12/31(土) 13:02:19.33
アレが添付されると臭くなりそうだな。
379名無しさん@お腹いっぱい。:2011/12/31(土) 13:08:23.97
emacs本体の一部として配布されるEmacs Lispコードの中でremove-ifを使いたいという要求があったとして、
仮にremove-ifがcl-remove-ifという名前でcl-seq.elでdefunされていたとすると、

-> ぶつかったらユーザの責任、なので
-> -> emacs本体の一部として配布されるEmacs Lispコードでeval-when-compileで囲まずに(require 'cl)してOK

と言えるんでしょうか?

あるいは、remove-ifがマクロなら(eval-when-compile (require 'cl))して標準配布物内で使ってOK、だとして、
remove-ifをマクロとして再実装するのはすごくたいへんなんでしょうか?
380名無しさん@お腹いっぱい。:2011/12/31(土) 13:14:40.25
そういや remove-if の実装どうなってんだろと思ってみにいったら
関数に cl-* の接頭辞が付きまくってて目眩がした
ネームスペースの仕組みあればねえ。
381名無しさん@お腹いっぱい。:2011/12/31(土) 14:00:39.92
c--がよくわかりません
describe-keyで調べたらこう出ました

(negative-argument ARG)

Begin a negative numeric argument for the next command.
C-u following digits or minus sign ends the argument.

具体的にはどういうことなのでしょうか
使い道を知りたいです
382名無しさん@お腹いっぱい。:2011/12/31(土) 14:12:24.79
>>381
C-- 数字 コマンド でそのコマンドに -数字 の引数を与えられるってこと。
C-- 3 C-p とかやると 三行「下に」移動する。
383名無しさん@お腹いっぱい。:2011/12/31(土) 14:31:15.96
>>382
なるほど、C-uの繰り返しがデフォルトで4となっていましたが、
それの基本的な機能なのですね
わかりました
384名無しさん@お腹いっぱい。:2011/12/31(土) 14:34:32.20
>>383
C-- はあくまで負の数な。
正の数の動作が基本だから
C-3 C-p とか M-3 C-p とかの方が普通。
385名無しさん@お腹いっぱい。:2011/12/31(土) 14:56:23.71
>>293
え、POSTできるけど……
386名無しさん@お腹いっぱい。:2011/12/31(土) 15:01:55.78
フォントを設定するとき、ある family に属するフォントが無い場合、別の family を使う、というのを実現するのに
以下のような関数を作ったのですが、もっと妥当なやり方があれば教えていただけると助かります。

(require 'cl)
(defun safe-font (&rest family-list)
"有効なフォントファミリを返す。"
(find-if (lambda (f) (find-font (font-spec :family f))) family-list))

(set-face-attribute 'default nil
:font (safe-font "あずきフォントL" "MeiryoKe_Console" "MS Gothic" "mono"))
387名無しさん@お腹いっぱい。:2011/12/31(土) 15:02:52.09
388名無しさん@お腹いっぱい。:2011/12/31(土) 15:10:04.48
flet で作ったローカルな関数をスコープから外れてからも呼ぶ方法はありませんでしょうか?
具体的にはこんな感じです。

(flet ((greeting (msg) (message "%s" msg)))
(defun say-hello ()
(greeting "hello"))
(defun say-good-bye ()
(greeting "good bye")))

(say-hello) ;; greeting が無いって怒られないようにしたい
(say-good-bye) ;; 同上
(greeting "nono") ;; でも greeting は外から見せたくない
389名無しさん@お腹いっぱい。:2011/12/31(土) 15:24:12.63
>>388
flet の代わりに labels を使う。
ダイナミックスコープとレキシカルスコープを調べるべし。
390名無しさん@お腹いっぱい。:2011/12/31(土) 15:24:53.27
macroletなら。

Emacsの関数はただのlambda式(か、それをバイトコンパイルしたもの)なので、
fletじゃ無理。実行時にgreetingが見えなければエラーになって終わり。
391名無しさん@お腹いっぱい。:2011/12/31(土) 15:36:12.19
>>389
ありがとうございます。macrolet だとマクロとしてその場に展開、
labels だと文脈依存の関数としてちゃんと関数として定義されるってことですね。

レキシカルとダイナミックを見てて思ったんですが、
純粋なローカル変数を使いたい場合は let より lexical-let を使うべきな気がするんですけど
(内部の関数で参照しているシンボルを不用意に束縛しないため)
そういう認識であっていますか?
392名無しさん@お腹いっぱい。:2011/12/31(土) 15:44:04.23
いや。クロージャとして持ち出したい場合以外は普通のletの方がいい。
なぜならEmacsには基本的にそっちしかないから。

レキシカルスコープは擬似的なものなんだよ。
基本的にはgensymで作った「変な名前の内緒のグローバル変数」に
値や式を持っておいてそれをsymbol-valueで取り出す。
labelsにせよ、lexical-letにせよ、適当な式をmacroexpand-allすればわかる。
393名無しさん@お腹いっぱい。:2011/12/31(土) 16:17:46.66
>>392
なるほど。そうすると let で使うシンボル名は
せめて既に使われているようなのを不用意に使わないよう気をつけるしかないですか。
394名無しさん@お腹いっぱい。:2011/12/31(土) 21:45:31.70
次のようなテキストファイルがあります
Test1243
(@import "./foo/foo.txt")
(@import "/usr/mytext.txt")
Pipipi
テキスト中に(@import path)と書いてある時はPathのファイルを埋め込んで別のテキストファイルとして出力したいです
Elispの正規表現でpathの文字列を取り出すのは分かるのですが
ファイルを読み込んだ上でファイルを作るのが良くわかりません
よろしくお願いします

395名無しさん@お腹いっぱい。:2011/12/31(土) 22:00:24.55
こんな感じのこと?

;; 文字コードてきとー
(defun hoge-func ()
(let ((in (read-file-name "入力ファイル: "))
(out (read-file-name "出力先ファイル: ")))
(with-temp-buffer
(insert-file-contents in)
(goto-char (point-min))
;; 正規表現てきとー
(while (re-search-forward "(@import \"\\([^\"]+\\)\")" nil t)
(let* ((fn (match-string 1))
(contents (save-match-data
(with-temp-buffer
(insert-file-contents fn)
(buffer-string)))))
(replace-match contents nil nil nil 0)))
(write-region (point-min) (point-max) out))))
396名無しさん@お腹いっぱい。:2011/12/31(土) 22:22:46.05
emacsのtext-modeで、タブを押したときにインデントを、
前の行には関係なく、一定量に設定するにはどうすればよいでしょうか?
(1)ではなく(2)となるようにしたいのですが。

(1)前の行を参照するタブ
123456789 abc
      ←スペースの後の位置に移動

(2)タブの移動量を8に
123456789 abc//
     ←ここに移動
397名無しさん@お腹いっぱい。:2011/12/31(土) 22:32:56.01
よーわからんけど C-q C-i でタブ文字強制入力じゃだめ?
398名無しさん@お腹いっぱい。:2011/12/31(土) 22:33:24.10
C-q TAB で純粋にタブ移動できるけど恒久的にやる方法はちょっとわからない。
というかいつの間に indented-text-mode = text-mode になってたんだ・・気づかなかった。
399名無しさん@お腹いっぱい。:2011/12/31(土) 22:41:12.31
もっとまともな方法があるとは思うけど↓でtext-modeのTABは強制的に\tになる。
(add-hook 'text-mode-hook
(lambda ()
(setq indent-line-function (lambda () (insert " ")))
))
400名無しさん@お腹いっぱい。:2011/12/31(土) 22:41:52.06
" " のところは C-q C-i でタブが入力されてると思ってくれ。
401396:2011/12/31(土) 22:54:22.58
>>397-400
ありがとうございます。
>>399
これで完璧に解決しました。とても助かりました。
402名無しさん@お腹いっぱい。:2011/12/31(土) 23:11:00.92
TAB関連で
tab-to-tab-stop の文字位置へ移動するにはどんなコード書けばいいんだろう?
403名無しさん@お腹いっぱい。:2011/12/31(土) 23:14:38.73
(move-to-tab-stop)じゃあかんの?
404名無しさん@お腹いっぱい。:2012/01/01(日) 00:07:44.48
Elispをすらすら書ける人は
普段からlispに慣れている人なのかな
尊敬するわ
405名無しさん@お腹いっぱい。:2012/01/01(日) 01:15:55.55
一口にLispっつーても色々あって、それぞれノウハウ違うから
elispをスラスラ書ける人は普段からelispに慣れてる人だと思う
406名無しさん@お腹いっぱい。:2012/01/01(日) 01:48:01.75
リストの処理とかがスラスラ書けても
バッファの弄り方とかテキストプロパティとかオーバレイとか辺りになってくると
あんまりLisp関係ないもんね。
407名無しさん@お腹いっぱい。:2012/01/01(日) 12:40:54.90
暇なので elisp 紹介

■emacs で google map 表示

http://julien.danjou.info/software/google-maps.el
M-x google-maps して地名を入れるとpopupしたバッファに地図が表示される

そのままだと地名がアルファベットになっちゃうので以下を追加
(eval-after-load "google-maps"
'(defadvice google-maps-static-show (before google-maps-set-lang activate)
(ad-set-args 0 (append '(:language "ja")) (ad-get-args 0))))

popwin の管理下に入れておくとうっとおしくなくて良い。
408名無しさん@お腹いっぱい。:2012/01/01(日) 12:43:07.23
oh... ちょっと間違った
↓ね。
(defadvice google-maps-static-show (before google-maps-set-lang activate)
(ad-set-args 0 (append '(:language "ja") (ad-get-args 0))))
409名無しさん@お腹いっぱい。:2012/01/01(日) 13:35:41.22
>>407
dd、これはいいねぇ
410名無しさん@お腹いっぱい。:2012/01/01(日) 13:46:38.69
おれもー
どっかから拾ってきた奴
yankしたとき貼りつけた内容がハイライトされる
popup-kill-ring つこうてる人は popup-kill-ring-interactive-insert が t じゃないと
ちゃんと反応してくれない

(defadvice yank (after yank-highlight-string activate)
(let ((ol (make-overlay (mark t) (point))))
(overlay-put ol 'face 'highlight)
(sit-for 0.5)
(delete-overlay ol)))

(defadvice yank-pop (after yank-pop-highlight-string activate)
(when (eq last-command 'yank)
(let ((ol (make-overlay (mark t) (point))))
(overlay-put ol 'face 'highlight)
(sit-for 0.5)
(delete-overlay ol))))
411名無しさん@お腹いっぱい。:2012/01/01(日) 15:04:21.29
せめて unwind-protect で overlay の後始末はするべきだな。
412名無しさん@お腹いっぱい。:2012/01/01(日) 15:08:16.25
>>411にならって直してみた

(defadvice yank (after yank-highlight-string activate)
(let ((ol (make-overlay (mark t) (point))))
(unwind-protect
(progn (overlay-put ol 'face 'highlight)
(sit-for 0.5))
(delete-overlay ol))))

(defadvice yank-pop (after yank-pop-highlight-string activate)
(when (eq last-command 'yank)
(let ((ol (make-overlay (mark t) (point))))
(unwind-protect
(progn (overlay-put ol 'face 'highlight)
(sit-for 0.5))
(delete-overlay ol)))))
413名無しさん@お腹いっぱい。:2012/01/01(日) 15:11:01.01
いいですね。いただきます。
414名無しさん@お腹いっぱい。:2012/01/01(日) 16:34:08.50
>>412の真似して undo で文章が復帰した時にもハイライトするようにしてみた。
もうちょっとマシな書き方出来ないか誰か添削してくれると嬉しい。

やってることは、
buffer-undo-list を頭からたどっていって
・(integerp . integerp) の cons セルにあたったらその範囲をハイライトしてループ終了
・(stringp . なんか) の cons セルにあたったらループ終了

(defadvice undo (after flash activate)
(catch 'loop
(dolist (c buffer-undo-list)
(let ((beg (car c))
(end (cdr c)))
(cond ((and (integerp beg)
(integerp end))
(let ((ol (make-overlay beg end)))
(unwind-protect
(progn (overlay-put ol 'face 'highlight)
(sit-for 0.5))
(delete-overlay ol)
(throw 'loop nil))))
((stringp beg)
(throw 'loop nil)))))))
415名無しさん@お腹いっぱい。:2012/01/01(日) 16:57:08.39
>>412
副作用が怖いですが
アドバイス対象をinsert-for-yankにすると一つで済みました
416名無しさん@お腹いっぱい。:2012/01/01(日) 17:59:01.61
>>414
dolist の中から return で脱出できたような。
けれど自分ならこうするかな。

(defadvice undo (after flash activate)
  (loop for (beg . end) in buffer-undo-list
        if (and (integerp beg)
                (integerp end))
        return (let ((ol (make-overlay beg end)))
                 (unwind-protect
                     (progn
                       (overlay-put ol 'face 'highlight)
                       (sit-for 0.5))
                   (delete-overlay ol)))
        else when (stringp beg)
        return nil))
417名無しさん@お腹いっぱい。:2012/01/01(日) 18:23:18.31
>>416
loop を使うとシンプルになるんですね。
勉強しないといかんなーloop難しい
418名無しさん@お腹いっぱい。:2012/01/01(日) 19:44:03.56
>>416
わかりやすいコードでいいね
419名無しさん@お腹いっぱい。:2012/01/02(月) 00:40:25.00
NTEmacs スレが沈んだ
>>1が2008年9月とかのんびりした進行だっただけに誰も次スレ建てなかったわけだ
420名無しさん@お腹いっぱい。:2012/01/02(月) 14:53:59.03
flet で関数を置き換えた際に、その関数内で置き換え前の関数を呼ぶ方法はありませんでしょうか?

(flet ((load (file &optional noerror nomessage nosuffix must-suffix)
(load file noerror t nosuffix must-suffix)))
(load "something"))

こんな風にすると再帰してしまいます。
421名無しさん@お腹いっぱい。:2012/01/02(月) 14:59:40.35
symbol-function で関数の実体を取り出してどっかの変数に退避しておいてっ
て方法はある。

こんな感じかな?

(let ((original (symbol-function 'load)))
(flet ((load (file &optional noerror nomessage nosuffix must-suffix)
(funcall original file noerror t nosuffix must-suffix)))
(load "something")))
422名無しさん@お腹いっぱい。:2012/01/02(月) 15:15:59.61
>>421
なるほど!ありがとうございます。これでやりたいことが出来ました。
session.el でセッション復帰時のローディングメッセージを消したかったのでした。
ソースの load してるところを直接書き換えちゃえばそれで済むといえばそれまでなんですが。

(defadvice session-initialize (around session-load-silently activate)
"セッションロード時のメッセージ抑制"
(let ((org-load (symbol-function 'load)))
(flet ((load (file &optional noerror nomessage nosuffix must-suffix)
(funcall org-load file noerror t nosuffix must-suffix)))
ad-do-it)))
423名無しさん@お腹いっぱい。:2012/01/02(月) 15:37:23.73
424名無しさん@お腹いっぱい。:2012/01/02(月) 15:41:37.42
>>423
そんな標準で用意されていない elisp 持ち出されても。
むしろそういうのが標準パッケージに取り込まれないあたりが話になんね。
やっぱ url.el はうんこちんちんだな。
425名無しさん@お腹いっぱい。:2012/01/02(月) 15:52:00.34
どうせemacsから画像のアップロードとかしないからいいんじゃね。
426名無しさん@お腹いっぱい。:2012/01/02(月) 16:13:53.44
Gnu pack emacsを使っています
(open-file "./index.html")のようにして
windowsの関連付けどおりにファイルを開くことは可能でしょうか
それらしき関数が見当たらなかったので質問しました
427名無しさん@お腹いっぱい。:2012/01/02(月) 16:19:35.26
gnusで仕様的に正しいmime multipartなメッセージ作れるんじゃないの?と思ってみてみたけど
multipart/mixedとかは良い感じに実装されてるのにmultipart/form-dataはないのな。惜しいな。
428名無しさん@お腹いっぱい。:2012/01/02(月) 16:22:33.06
>>426
gnupack で cygwin もセットで導入しているなら
(defun open-file (file)
(interactive)
(start-process "cygstart" nil "cygstart" file))
cygwin いれてないなら cygstart を start に置き換えればいいんじゃないかな。
429名無しさん@お腹いっぱい。:2012/01/02(月) 16:26:41.04
>>428
interactiveなのに引数必須とはいかがなものか。

(defun open-file (&optional file)
(interactive "fFile: ")
(start-process "cygstart" nil "cygstart" file))
430名無しさん@お腹いっぱい。:2012/01/02(月) 17:08:05.60
>>429
file が nil だとエラーになるだろうし、
&optional がいらない。
431名無しさん@お腹いっぱい。:2012/01/02(月) 17:08:59.52
ニワカが増えたな。
432名無しさん@お腹いっぱい。:2012/01/02(月) 17:11:57.96
るびきちのせいだ
433名無しさん@お腹いっぱい。:2012/01/02(月) 17:19:09.42
>>429 水準の間違いは昔からだろ。ただの勘違いかもしれないけど。
434名無しさん@お腹いっぱい。:2012/01/02(月) 17:20:19.64
神社で除夜の鐘ならせるところってあるんだ?
てっきり寺だけかと思ってたんだが。
435名無しさん@お腹いっぱい。:2012/01/02(月) 17:25:14.37
るびきちはemacs内で完結しないでどんどん外部のプログラムをelisp内から使えよって言ってるけど
外部のプログラムが入ってくると色んな環境で動かす時めんどくさくてやだ。
elispで完結してる方がいいよ。
436名無しさん@お腹いっぱい。:2012/01/02(月) 17:58:55.73
elisp遅いし正規表現うんこだし非同期がアレじゃないの?
まあ確かに面倒だしキチは嫌いだけどな
437名無しさん@お腹いっぱい。:2012/01/02(月) 20:06:07.02
emacs に喋らせたくて google 翻訳使ったのを作ったんだけど、日本語含むのがちゃんと動かない。
url-hexify-string の中で encode-coding-string utf-8 してるから問題ないと思ったんだけど何が不味いんだろう。
助言をください・・・

(require 'url-http)
(defvar speech-default-language "en"
"デフォルトの言語。")
(defvar speech-sound-player "cmd /c start %s"
"mp3音声再生プログラム。%s にファイル名が入る。") ;; windows 向け設定

(defun speech-message (text &optional lang)
"指定された文章を音声再生する。"
(interactive "sMessage: ")
(let ((coding-system-for-read 'binary)
(coding-system-for-write 'binary)
temp-file)
(with-current-buffer
(url-retrieve-synchronously
(format "http://translate.google.com/translate_tts?tl=%s&q=%s?"
(or lang speech-default-language)
(url-hexify-string text)))
(set-buffer-multibyte nil)
(setq temp-file (make-temp-file "speech-" nil ".mp3"))
(write-region (point-min) (point-max) temp-file nil 'silent)
(apply 'start-process "player" nil
(split-string (format speech-sound-player temp-file))))))

;; 以下を評価でしゃべる
(speech-message "a happy new year!")
(speech-message "a happy new year!" "ja") ;; 言語指定
(speech-message "あけましておめでとうございます" "ja") ;; 動作がおかしい...
438名無しさん@お腹いっぱい。:2012/01/02(月) 20:21:32.48
temp-file の中身のぞいてみたら?日本語の結果には明らかに mp3 っぽくな
いものが入ってくるけど。google に投げるパラメータが正しいのか確認を。

で、気になったのが英語の方は再生できるとなると、http ヘッダがファイル
に残ってても再生できるってことなのか?
439名無しさん@お腹いっぱい。:2012/01/02(月) 20:46:38.58
>>438
ヘッダ切り出ししなきゃいけなかったんですね。
MediaPlayerでためしてたからか、先頭にゴミがつまってても再生できてたみたいでした。

>>437 の一部を直してヘッダを切り取ってみましたが、状況変わらずでした。
(point-min) (point-max) temp-file nil 'silent)

(goto-char (point-min))
(write-region (search-forward-regexp "\n\n") (point-max) temp-file nil 'silent)

↓を評価して出来上がる文字列を chrome で表示するとちゃんと「あけましておめでとう・・」って音声が出てくるので
emacs側の文字コード変換とかが間違っているんでしょうか・・・
(format "http://translate.google.com/translate_tts?tl=%s&q=%s"
"ja" (url-hexify-string "あけましておめでとうございます"))

"http://translate.google.com/translate_tts?tl=ja&q=%e3%81%82%e3%81%91%e3%81%be%e3%81%97%e3%81%a6%e3%81%8a%e3%82%81%e3%81%a7%e3%81%94%e3%81%86%e3%81%94%e3%81%96%e3%81%84%e3%81%be%e3%81%99"
440名無しさん@お腹いっぱい。:2012/01/02(月) 20:47:47.37
441名無しさん@お腹いっぱい。:2012/01/02(月) 21:43:52.50
あとは chrome で送ってる http ヘッダと url-http.el で送ってる http ヘッ
ダを調べながら試してくしかないかなぁ。

どうやら User-Agent で弾いてはいないみたいだが。
442名無しさん@お腹いっぱい。:2012/01/02(月) 22:02:11.86
>>441
url-debug を t にしてみてみたところ、emacs 側でリクエスト文字列が途中で書き変わってたりということはありませんでした。

他でどうなんだろうとおもって wget で試してみたところ User-Agent に何か適当なのが入っていないと
403 エラーになりました。
指定して取得した結果は英語は大丈夫、日本語は Emacs の時とまったく同じ変な結果が返されてきました。

おっしゃるとおり Chrome のリクエストヘッダと比較して差分を調べて見ることにします。何か足りていないんでしょうね。
ありがとうございました。
443名無しさん@お腹いっぱい。:2012/01/02(月) 22:45:45.02
うまくいきましたので報告します。
結論から言って User-Agent でした。"Safari/" が含まれていないとなんでか半分ぐらいに切れた結果が返ってきてしまうようです。
(なのでIEでもEmacsと同じ壊れ方になりました。)
あと長過ぎてもダメだったりもするみたいですね。これは通常の Webインターフェースからでも制限かかってるみたいでした。

最終的に以下のようになりました。これで sdic で発音チェックしたり読み方わからない漢字読ませたり出来そうです。

;; (speech-message "鮃より鰆を食べたい。" "ja")
;; (speech-message "Learn basic keystroke commands." "en")
(defvar speech-default-language "en"
"デフォルトの言語。")
(defvar speech-sound-player "cmd /c start %s"
"音声再生プログラム。%s にファイル名が入る。")
(defun speech-message (text &optional lang)
"指定された文章を音声再生する。"
(interactive "sMessage: ")
(let ((coding-system-for-read 'binary)
(coding-system-for-write 'binary)
(url-privacy-level 'paranoid)
(url-request-extra-headers '(("User-Agent" . "Emacs/URI Safari/0"))))
(with-current-buffer
(url-retrieve-synchronously
(format "http://translate.google.com/translate_tts?sl=en&tl=%s&q=%s"
(or lang speech-default-language) (url-hexify-string text)))
(let* ((coding-system-for-read 'binary)
(coding-system-for-write 'binary)
(temp-file (make-temp-file "speech-" nil ".mp3"))
(cmdlist (split-string (format speech-sound-player temp-file))))
(set-buffer-multibyte nil)
(goto-char (point-min))
(write-region (search-forward-regexp "\n\n") (point-max) temp-file nil 'silent)
(apply 'call-process (car cmdlist) nil nil nil (cdr cmdlist))))))
444名無しさん@お腹いっぱい。:2012/01/02(月) 22:50:38.11
>>443
環境や目的によるけれど、
open-jtalk なら日本語発声できるよ。
日本語のパースや発音方法を自前でするなら
mbrola などでもできる。
445名無しさん@お腹いっぱい。:2012/01/02(月) 23:03:14.58
>>443
url.elは糞だ、外部プログラム呼ぶのはキチだって話してる最中にいい度胸だな。
446名無しさん@お腹いっぱい。:2012/01/02(月) 23:09:56.87
おもしろいね
(setq speech-sound-player "mpg123 %s")
447名無しさん@お腹いっぱい。:2012/01/02(月) 23:19:58.45
おもしろいじゃん
カーソル位置の単語を喋らせるのつくってみたよ

(defun speech-at-point ()
(interactive)
(speech-message (thing-at-point 'word)))
(global-set-key (kbd "C-c C-s") 'speech-at-point)

これで日本語対象にしてみたらダメだった
文字列から言語判別出来るようにすればよさそうだな
448名無しさん@お腹いっぱい。:2012/01/03(火) 00:37:02.55
自分なりに改造してみた。
取り敢えず非同期に & >>447 の機能をいれた。
> 文字列から言語判別出来るようにすればよさそうだな
これはできてない。
あと、エラーになったときにバッファやファイルが削除されないかも。

(defun speech-callback (status &rest cbargs)
  (unwind-protect
  (progn
  (set-buffer-multibyte nil)
  (goto-char (point-min))
  (lexical-let ((temp-file (make-temp-file "speech-" nil ".mp3")))
  (let ((coding-system-for-read 'binary)
  (coding-system-for-write 'binary)
  (cmdlist (split-string (format speech-sound-player temp-file))))
  (write-region (search-forward-regexp "\n\n") (point-max) temp-file nil 'silent)
  (set-process-sentinel (apply 'start-process (car cmdlist) nil cmdlist)
  (lambda (process event)
  (delete-file temp-file))))))
  (kill-buffer)))

(defun speech-message (text &optional lang)
  "指定された文章を音声再生する。"
  (interactive (list (read-string "Message: " (thing-at-point 'word))))
  (let ((coding-system-for-read 'binary)
  (coding-system-for-write 'binary)
  (url-privacy-level 'paranoid)
  (url-request-extra-headers '(("User-Agent" . "Emacs/URI Safari/0"))))
  (url-retrieve (format "http://translate.google.com/translate_tts?sl=en&tl=%s&q=%s"
  (or lang speech-default-language) (url-hexify-string text))
  'speech-callback)))
449名無しさん@お腹いっぱい。:2012/01/03(火) 02:44:31.02
手抜きで
(or lang (and (string-match "\\cj" text) "ja") speech-default-language)
450名無しさん@お腹いっぱい。:2012/01/03(火) 12:03:34.70
ちょいとうざいがベルの代わりに声で叱ってもらう
'("もう" "だめよ" "しかたないこね" "ちょっとだけよ")とかもいいな

(defvar speech-bell-messages '("おい" "こら" "いい加減にせいや" "いてまうぞわれ")
"御叱りの言葉")
(defvar speech-bell-language "ja"
"御叱りの言語")
(defvar speech-bell-cur nil)

(defun speech-bell-function ()
"声で叱る"
(let ((ring-bell-function nil))
(unless speech-bell-cur
(setq speech-bell-cur speech-bell-messages))
(speech-message (pop speech-bell-cur) speech-bell-language)))

(setq ring-bell-function #'speech-bell-function)
451名無しさん@お腹いっぱい。:2012/01/03(火) 13:41:41.56
そういやemacspeakってのあったよな。
452名無しさん@お腹いっぱい。:2012/01/03(火) 13:44:26.85
す、すばらしい
(speech-message "C'est parfait!" "fr")
453名無しさん@お腹いっぱい。:2012/01/03(火) 13:58:29.87
>>448
おおー
set-process-sentiel で終了を検知すれば後始末が出来るんですね。
勉強になります。
454名無しさん@お腹いっぱい。:2012/01/03(火) 14:50:57.48
Windowsでcmd /c start とかで再生しちゃうとiTunesだのMediaPlayerとかだのでてうざかったから
mplayerのWindows用gui無し版を入れたらはかどった。mpg123のwindowsビルドだとなんでか再生うまくいかなかったので。
http://www.mplayerhq.hu/design7/news.html

(setq speech-sound-player "mplayer -really-quiet %s")
455名無しさん@お腹いっぱい。:2012/01/03(火) 15:00:57.91
今年こそは脱emacsしたい
456名無しさん@お腹いっぱい。:2012/01/03(火) 15:05:52.66
>>453
>>448 だと lexical-let を使ったけれど、
(let ((process (apply 'start-process (car cmdlist) nil cmdlist)))
  (set-process-plist process `(temp-file ,temp-file))
  (set-process-sentinel process
  (lambda (process event)
  (delete-file (get 'temp-file
  (process-plist process))))))
という風にするほうが真っ当かもしれない。
457名無しさん@お腹いっぱい。:2012/01/03(火) 15:08:39.08
  (  ) 脱イ・・・・・・
  (  )
  | |


 ヽ('A`)ノ マックス!!!
  (  )
  ノε|


 __[警]
  (  ) ('A`)
  (  )Vノ )
   | |  | |
458名無しさん@お腹いっぱい。:2012/01/03(火) 15:18:16.09
おやくそくの
alias emacs=vim
459名無しさん@お腹いっぱい。:2012/01/03(火) 15:52:40.25
>>428-430
できました。ありがとうございます。
460名無しさん@お腹いっぱい。:2012/01/03(火) 16:00:41.47
一応NTEmacsスレ立てといた

NTEmacs スレッド 3
http://anago.2ch.net/test/read.cgi/software/1325573999/
461名無しさん@お腹いっぱい。:2012/01/03(火) 19:09:55.27
>>395
完璧です。どうもです。
462名無しさん@お腹いっぱい。:2012/01/03(火) 19:38:37.96
anythingを入れています。
emacs起動後に*scratch*などで評価(作成)した関数が
anythingの候補一覧に載ってほしいのですが
どうすればよいのでしょうか
463名無しさん@お腹いっぱい。:2012/01/03(火) 19:43:29.24
るびきちに聞けやボケぇ
464名無しさん@お腹いっぱい。:2012/01/03(火) 19:49:26.67
anything使ってる人なんて都市伝説だろ
465名無しさん@お腹いっぱい。:2012/01/03(火) 21:12:08.20
複数の関数に同じ advice を付けたいのですが、うまく書けません。
第一引数に変数を持ってくる正しい書き方はどのようにしたらよいのでしょう?

;; func-a と func-b に同じadviceをつける
(dolist (func '(func-a func-b))
(defadvice func (before ad-func activate) (message "before")))
これだと func 変数についてしまったようで func-a と func-b には何もなしでした。
466名無しさん@お腹いっぱい。:2012/01/03(火) 21:17:05.44
どこからつっこめばいいかわからない。
467名無しさん@お腹いっぱい。:2012/01/03(火) 21:18:12.97
るびきちの責任は重いな
468名無しさん@お腹いっぱい。:2012/01/03(火) 21:25:45.54
>>466
マクロと関数と引数の評価は初心者が嵌りそうなところだと思うけれどなあ。
469名無しさん@お腹いっぱい。:2012/01/03(火) 21:29:06.07
るびきちは責任もってニワカを引き取れよ
470名無しさん@お腹いっぱい。:2012/01/03(火) 23:25:19.84
500円払えよ
471名無しさん@お腹いっぱい。:2012/01/03(火) 23:26:58.36
本買ってやったじゃん。さっさと教えないと捨てるぞ。
472465:2012/01/03(火) 23:50:32.16
色々調べて書きなおしてみました。
これで正しいのか、なんでうまくいっているのかいまいち理解できていないですが動いているのでよしとしました。

(dolist (func '(func-a func-b))
(eval `(defadvice ,func (before ,(intern (format "ad-%s" (symbol-name func))) activate)
(message "before"))))

>>466
すみませんでした。本買って勉強しなおしてきます。
473名無しさん@お腹いっぱい。:2012/01/04(水) 00:05:35.25
Anything無いと途方に暮れる。
C-:にanything-filelist+を割り当ててるけど、これ以上素早く
ファイル(バッファ)を開く術は無いと思うけど。
あと、Semanticを有効にした状態でのimenuも便利過ぎる。
474名無しさん@お腹いっぱい。:2012/01/04(水) 13:03:01.19
うわっ・・・私のEmacs起動、遅すぎ・・・?
(message "init time: %d msec"
(+ (* (- (nth 1 after-init-time) (nth 1 before-init-time)) 1000)
(/ (- (nth 2 after-init-time) (nth 2 before-init-time)) 1000)))
=> init time: 5172 msec
475名無しさん@お腹いっぱい。:2012/01/04(水) 13:09:54.22
M-x emacs-init-time
476名無しさん@お腹いっぱい。:2012/01/04(水) 13:24:41.72
M-x emacs-init-time
1.2 seconds

普通こんくらい。
477名無しさん@お腹いっぱい。:2012/01/04(水) 13:38:19.83
9.4 seconds
478名無しさん@お腹いっぱい。:2012/01/04(水) 13:46:51.94
yasnippet を入れないと 1秒台、入れないと3秒台
479名無しさん@お腹いっぱい。:2012/01/04(水) 13:53:28.13
15.1 seconds だ。
Emacs 起動と同時に Gnus も起動してるともっとかかる、多分 1 分ぐらい。
480名無しさん@お腹いっぱい。:2012/01/04(水) 14:12:44.28
15秒っていったいどんだけのファイルロードしてるんだ・・・
481名無しさん@お腹いっぱい。:2012/01/04(水) 14:55:50.16
12.3 secondsだった
結構かかっているな
482名無しさん@お腹いっぱい。:2012/01/04(水) 14:59:19.82
みなさんキーボードはハッピーハッキングキーボードなのでしょうか
ハッピーハッキングキーボードだとCGソフトのBlenderがうまく使えないので
乗り換えるべきか迷うのですが
ハッピーハッキングキーボードのメリットってなんでしょう?
483名無しさん@お腹いっぱい。:2012/01/04(水) 15:04:58.86
そんなこと悩む時点でメリットなんて特にない。
あれは呪いにかかった人が仕方なく使うアイテム。
484名無しさん@お腹いっぱい。:2012/01/04(水) 15:27:43.87
ぶっちゃけ中二病アイテムでしかないよな
ワナビ御用達って感じ
485名無しさん@お腹いっぱい。:2012/01/04(水) 15:58:04.74
20.5秒だった
486479:2012/01/04(水) 16:12:44.06
>>480
もしかして、自分はここの人たちと比べても変態なのか……!?

PC のスペックが Intel(R) Atom(TM) CPU N455 @ 1.66GHz
と低いことに原因があるのかな。
487名無しさん@お腹いっぱい。:2012/01/04(水) 16:25:04.74
Atomだから遅いのかもね。
あとうちでは一回目と二回目で起動時間の差が生じたな。
初回は7秒ぐらいだったのが2回目は1秒ぐらいになってた。
ディスクキャッシュとかフォントとかそこら辺のせいっぽいなあ。
488名無しさん@お腹いっぱい。:2012/01/04(水) 19:16:11.14
imenuとかこんなに便利なもの全然しらなかったよ
menubar関係かと思ってスルーしてた

るびきちの本はニワカだったら買って損ないわ
知ったかして敬遠してて損した
489名無しさん@お腹いっぱい。:2012/01/04(水) 19:32:28.19
ステマか
490名無しさん@お腹いっぱい。:2012/01/04(水) 19:42:10.48
あからさマ
491名無しさん@お腹いっぱい。:2012/01/04(水) 19:55:25.37
とうとうこんな僻地のEmacsスレにまでステマの波が・・・
492名無しさん@お腹いっぱい。:2012/01/04(水) 20:25:01.45
放置しておくべきなんだろうけど。
あいつよっぽど生活苦しいんだろうな。
493名無しさん@お腹いっぱい。:2012/01/04(水) 20:35:53.09
買い支えてやれよ。

どうせならLisp極めてそれ系の本出したほうがかっこいいのにね。
494名無しさん@お腹いっぱい。:2012/01/04(水) 20:50:22.94
なんでelispに拘り続けるのかわからんよね。
elispをバネに他の言語にも拡げればいいのに。
rubyに挫折して大した能力がないと自覚しちゃったのかな?
だとしたら、気の毒で憐れなやつだよな。
495名無しさん@お腹いっぱい。:2012/01/04(水) 20:51:17.33
Emacs Lispテクニックバイブル正誤 - (rubikitch loves (Emacs Ruby CUI Books))
http://d.hatena.ne.jp/rubikitch/20120104/elispbookerrata
496名無しさん@お腹いっぱい。:2012/01/04(水) 21:16:02.43
>>495
>完全メールサポートつきで初月無料
>でなので安心して誤登録ください。
errata で誤字とか lisp 的でいいな。
497名無しさん@お腹いっぱい。:2012/01/04(水) 21:18:40.48
誤って登録しても初月無料ですから安心してっていいたかったんじゃない?
498名無しさん@お腹いっぱい。:2012/01/04(水) 21:28:39.22
なるほど
499名無しさん@お腹いっぱい。:2012/01/04(水) 21:54:57.85
>>494
るびきちより有能な奴10000人が書き込むこのスレって天才たちの社交場だな
500名無しさん@お腹いっぱい。:2012/01/05(木) 05:00:09.62
>>499
ああ、こういうのを負け犬の遠吠えっていうんだな。
501名無しさん@お腹いっぱい。:2012/01/05(木) 10:55:29.78
emacs24はクロージャ正式にサポートかよ
502名無しさん@お腹いっぱい。:2012/01/05(木) 11:57:07.33
今年こそは真面目に脱Emacsをはかるぜ
リハビリにしばらくWindowsのメモ帳だけで生活してやる
503名無しさん@お腹いっぱい。:2012/01/05(木) 12:11:07.06
おもむろに elisp 紹介
・Ace jump mode - emacs 用 hit-a-hint 風カーソル移動
https://github.com/winterTTr/ace-jump-mode/

(require 'ace-jump-mode)
(global-set-key (kbd "C-;") 'ace-jump-mode)

ってやって C-; a とか押すと画面上の a のところにアルファベットの連番が振られて
押せばジャンプできる。
504名無しさん@お腹いっぱい。:2012/01/05(木) 12:17:38.59
isearchでよくね?
505名無しさん@お腹いっぱい。:2012/01/05(木) 12:21:35.58
バッファ開きまくってる人がこれで統計とると面白そうだ

(defun buffer-mode-histogram ()
"Display a histogram of emacs buffer modes."
(interactive)
(let* ((totals '())
(buffers (buffer-list()))
(total-buffers (length buffers))
(ht (make-hash-table :test 'equal)))
(save-excursion
(dolist (buffer buffers)
(set-buffer buffer)
(let
((mode-name (symbol-name major-mode)))
(puthash mode-name (1+ (gethash mode-name ht 0)) ht))))
(maphash (lambda (key value)
(setq totals (cons (list key value) totals)))
ht)
(setq totals (sort totals (lambda (x y) (> (cadr x) (cadr y)))))
(with-output-to-temp-buffer "Buffer mode histogram"
(princ (format "%d buffers open, in %d distinct modes\n\n"
total-buffers (length totals)))
(dolist (item totals)
(let
((key (car item))
(count (cadr item)))
(if (equal (substring key -5) "-mode")
(setq key (substring key 0 -5)))
(princ (format "%2d %20s %s\n" count key
(make-string count ?+))))))))
506名無しさん@お腹いっぱい。:2012/01/05(木) 12:44:35.74
507名無しさん@お腹いっぱい。:2012/01/05(木) 12:55:44.01
>>501
そもそもいつ正式リリースなの?
508名無しさん@お腹いっぱい。:2012/01/05(木) 13:03:05.07
emacs を heroku で動かす。マジキチ
https://github.com/technomancy/heroku-buildpack-emacs
509名無しさん@お腹いっぱい。:2012/01/05(木) 13:10:03.26
>>502
頑張れ
ちゃんとそれを周りの人間にも広めるんだぞ
510名無しさん@お腹いっぱい。:2012/01/05(木) 20:27:35.45
>>502
copy con ファイル名

でおk
511名無しさん@お腹いっぱい。:2012/01/05(木) 20:31:29.98
じゃあ俺は type con > ファイル名ちゃん!
512名無しさん@お腹いっぱい。:2012/01/05(木) 20:48:11.81
半角空白と全角空白とタブに色をつけて区別したいのですが
どうすればよいのでしょうか
513名無しさん@お腹いっぱい。:2012/01/05(木) 21:02:06.09
>>512
whitespace-mode

標準だと全角には対応していないと思うので、
適当に whitespace-space-regexp などを変更する。
514名無しさん@お腹いっぱい。:2012/01/05(木) 21:10:29.22
find-dired の結果が綺麗に縦並びにならないのは仕様と思って諦めるしかないんでしょうか。
515名無しさん@お腹いっぱい。:2012/01/05(木) 21:22:02.03
>>499, >>500
痛いところ突いちゃってごめん。反省してます。
人を傷付けると自分も傷つきますね。
516名無しさん@お腹いっぱい。:2012/01/05(木) 21:34:42.64
はやく答えろよるびきち以下の低能ども
517名無しさん@お腹いっぱい。:2012/01/05(木) 21:41:08.82
世界最高のエディタで世界最先端の研究を行い
IT業界すなわち世界経済を支える
るびきちに逆らえるのは各国首脳クラスから。
2ちゃんねらーは常に「るびきち様」と呼ばなければいけない。
518514:2012/01/05(木) 21:50:47.17
find-dired の日付フォーマットは変更出来るのでしょうか?
find-ls-option の ls 部分に '--time-style=+%Y/%M/%D' とかつけたところ
出力の日付は望みどおりになったのですが、その代わり dired が正しくファイルを認識して
くれなくなってしまいました。
519名無しさん@お腹いっぱい。:2012/01/05(木) 21:54:29.66
>>514
diredなんて窓から投げ捨てるのが正しいと思う。
あんな表示すら満足に変えられない前世紀の遺物を使うやつの気がしれん。
520名無しさん@お腹いっぱい。:2012/01/05(木) 22:19:14.76
投げ捨てられないやつがemacs使ってるんだよ。
ただ、ゴミはあってもゴミじゃない。
521名無しさん@お腹いっぱい。:2012/01/05(木) 23:38:44.28
RMSが離れたとたんリリースサイクルが速くなったような気がする
522名無しさん@お腹いっぱい。:2012/01/05(木) 23:50:17.07
もうrmsも老害か。lose32ってやってるの見ててなんか色々思っちゃった。
523名無しさん@お腹いっぱい。:2012/01/05(木) 23:51:11.63
>>519
少しカスタマイズしたdiredですこぶる快適に使えているが。
とりあえず何が不満なのか言ってみ。
524名無しさん@お腹いっぱい。:2012/01/06(金) 00:24:49.33
レジスタ使いこなしてる人ってどんだけいるんだろう
525名無しさん@お腹いっぱい。:2012/01/06(金) 00:34:22.55
bf-mode と popwin の相性が今ひとつで悲しい
526名無しさん@お腹いっぱい。:2012/01/06(金) 10:30:11.51
>>513
ありがとうございます。
できました。
527名無しさん@お腹いっぱい。:2012/01/06(金) 12:36:51.01
find-grep-dired でも lv 付属の lgrep を使いたいんですがうまく動作できません。
うまく動かせている方はいらっしゃりますでしょうか?

find-grep-dired のソースを見てみると、lgrep が対応していないオプション -e がハードコーディングされていたので
defadvice で書き換えたのですが、こんどは lgrep に出力無しにするオプションがないため
dired 側がまともに動かなくなりました。
528名無しさん@お腹いっぱい。:2012/01/06(金) 13:15:53.03
過去ログ眺めてるとるびきちがいかに愛されているかよくわかっていいな。
529名無しさん@お腹いっぱい。:2012/01/06(金) 13:20:10.22
* このスレでのコミュニケーションを前スレ以上に活発にすること (用がなくとも、毎日の書き込みが理想)
* 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可
530名無しさん@お腹いっぱい。:2012/01/06(金) 13:26:07.82
>>527
find-grep-dired で lgrep を使うメリットは何?
531名無しさん@お腹いっぱい。:2012/01/06(金) 13:26:47.90
auto-complete.elで候補選択にカーソルキーではなくてC-nとC-pを使うようにするには
どうすればよいですか
候補選択時だけカーソルキーまで手を伸ばすのに違和感がありますので
532名無しさん@お腹いっぱい。:2012/01/06(金) 13:32:39.48
>>530
日本語で検索したかったので。
色んなエンコードのファイルが散らばっているのです。
533名無しさん@お腹いっぱい。:2012/01/06(金) 13:32:56.08
(setq ac-use-menu-map t)
534530:2012/01/06(金) 13:33:41.70
>>532
わり、勘違いした。
535531:2012/01/06(金) 13:49:57.19
>>533
探していたのはまさにそれです
ありがとうございます。
536名無しさん@お腹いっぱい。:2012/01/06(金) 13:53:42.91
最近カキコが多いな、なんで?
537名無しさん@お腹いっぱい。:2012/01/06(金) 13:55:35.12
メルマガから人ながれてきてるんだろ
538名無しさん@お腹いっぱい。:2012/01/06(金) 13:59:10.09
例のメルマガか
539名無しさん@お腹いっぱい。:2012/01/06(金) 14:06:22.37
(read-string)で入力を要求しバッファ内の文字列とヒットするなら再度入力を求め、
ヒットしないならコマンドを呼び出した位置に入力した文字列を装飾して挿入したいです
(interactive)
(let ((str (read-string "input: ")))
(save-excursion
(while (search-forward str nil t) ; バッファ内の文字列とヒットしてしまった
;; ここで(read-string)を再度呼び出したい
))
;; save-excursionを抜けてからstrを使って挿入する
(insert (format "%s" (make-my-decoration str))))
このような処理を考えたのですが
(read-string)を二度書かない方法はあるでしょうか
540名無しさん@お腹いっぱい。:2012/01/06(金) 14:07:36.00
すみません一行分抜けていました
(save-excursion

(save-excursion
(goto-char (point-min))
です
541名無しさん@お腹いっぱい。:2012/01/06(金) 14:09:26.25
2度書かないって、再度入力する必要があるなら2度呼ばなきゃいけないんじゃ・・
それとも再帰的に処理したいってことか?
542名無しさん@お腹いっぱい。:2012/01/06(金) 14:29:08.57
(defun somefunc ()
(interactive)
(let ((buf (save-excursion
(save-restriction
(widen)
(buffer-substring-no-properties (point-min) (point-max)))))
str)

(save-match-data
(while (and (setq str (read-string "input:"))
(string-match (regexp-quote str) buf))))

(insert (format "%s" (make-my-decoration str)))
))
543名無しさん@お腹いっぱい。:2012/01/06(金) 14:38:52.45
>>542
widen するかどうかは処理内容によるんじゃないのか?あとバッファ全コピはやりすぎだ

(defun somefunc ()
(interactive)
(let (str)
(save-match-data
(while (and (setq str (read-string "input:"))
(save-excursion
(goto-char (point-min))
(search-forward str nil t))))

(insert (format "%s" (なんか str)))
)))
544名無しさん@お腹いっぱい。:2012/01/06(金) 14:54:56.86
最近elispはじめました!なコード貼る奴増えたな。
545名無しさん@お腹いっぱい。:2012/01/06(金) 14:56:12.28
elispを編集しているとcomment-dwimの便利さに驚きます
そこでdefine-generim-modeで作ったモードにも同様の機能を盛り込みたいのですが
どうすればよいのですか
elispのコメントの仕様と同じものを希望します
具体的には、文字列が入力されている行なら行末に;1つ
(私の環境ではelispでは行末から20文字くらい右につきます)
リージョンが設定されているか
行に何も書いていなければ行頭に;2つ
よろしくお願いします
546名無しさん@お腹いっぱい。:2012/01/06(金) 14:59:19.24
>>544
いいことだな。
547名無しさん@お腹いっぱい。:2012/01/06(金) 15:01:11.90
おいおいゴミかきこが増えたな
るびきちのせいでこのスレのレベルが低下するのは勘弁だぜ
548名無しさん@お腹いっぱい。:2012/01/06(金) 15:01:27.84
>>545
外してたらすまんが、define-generic-mode の引数で正しくコメントの書式設定してたら
commend-dwim で普通にその動作にならない?
549名無しさん@お腹いっぱい。:2012/01/06(金) 15:02:47.50
2chなんぞよりredditがよっぽど有意義な盛り上がりを見せてるぞ。
http://www.reddit.com/r/emacs
550名無しさん@お腹いっぱい。:2012/01/06(金) 15:14:40.55
             ,.,.,.,.,.,.,.,.,__
           ,,;f::::::::::::::::::::::ヽ
           i::/' ̄ ̄ ̄ヾi::l
           |::| /  \,|::|
           |r-( ・ );( ・ )-|
           ( ヽ :::(__)..::  }  <・・・で?
        ,____/ヽ  -==- /
     r'"ヽ   t、  ヽ___/
    / 、、i    ヽ__,,/
    / ヽノ  j ,   j |ヽ
    |⌒`'、__ / /   /r  |
    {     ̄''ー-、,,_,ヘ^ |
    ゝ-,,,_____)--、j
    /  \__       /
551名無しさん@お腹いっぱい。:2012/01/06(金) 15:40:58.79
>>539
別解っぽいものを書いてみた。
call-interactively は使わないほうが行儀が良いような気がする。

>>544
変だったら指摘してくれると大助かり。

(defun somefunc (str)
  (interactive "sinput: ")
  (if (save-excursion
  (goto-char (point-min))
  (save-match-data
  (search-forward str nil 'noerror)))
  (call-interactively 'somefunc)
  (insert str)))

ただし call-interactively は使わないほうが行儀が良い気がする。
552名無しさん@お腹いっぱい。:2012/01/06(金) 17:21:25.66
553名無しさん@お腹いっぱい。:2012/01/06(金) 17:31:06.54
sdic が独自のポップアップ表示してるせいで popwin 管理下に置けなくてストレスMAX
554名無しさん@お腹いっぱい。:2012/01/06(金) 17:45:38.45
>>553
ほれ

;; popwin 管理下におく
(add-to-list 'popwin:special-display-config `(,sdic-buffer-name))

;; sdic-display-buffer 書き換え
(defadvice sdic-display-buffer (around sdic-display-buffer-normalize activate)
"sdic のバッファ表示を普通にする。"
(let ((p (or (ad-get-arg 0)
(point))))
(and sdic-warning-hidden-entry
(> p (point-min))
(message "この前にもエントリがあります。"))
(goto-char p))
(display-buffer (get-buffer sdic-buffer-name)))
555名無しさん@お腹いっぱい。:2012/01/06(金) 17:53:07.75
>>554
ありがとでも sdic-describe-word-at-point がちょっと変な気がする
556名無しさん@お腹いっぱい。:2012/01/06(金) 17:59:14.72
>>555
ほれ。あとちょっと挙動違ってた部分もついでになおした。

;; sdic-display-buffer 書き換え
(defadvice sdic-display-buffer (around sdic-display-buffer-normalize activate)
"sdic のバッファ表示を普通にする。"
(setq ad-return-value (buffer-size))
(let ((p (or (ad-get-arg 0)
(point))))
(and sdic-warning-hidden-entry
(> p (point-min))
(message "この前にもエントリがあります。"))
(goto-char p)
(display-buffer (get-buffer sdic-buffer-name))
(set-window-start (get-buffer-window sdic-buffer-name) p)))
557名無しさん@お腹いっぱい。:2012/01/06(金) 18:14:46.00
追加。閉じる時の変なチラチラも消える。


(defadvice sdic-other-window (around sdic-other-normalize activate)
"sdic のバッファ移動を普通にする。"
(other-window 1))

(defadvice sdic-close-window (around sdic-close-normalize activate)
"sdic のバッファクローズを普通にする。"
(bury-buffer sdic-buffer-name))
558名無しさん@お腹いっぱい。:2012/01/06(金) 18:20:47.72
>>554
>(add-to-list 'popwin:special-display-config `(,sdic-buffer-name))

(add-to-list 'popwin:special-display-config `(,sdic-buffer-name ,sdic-window-height))
に直したら大分良くなった
559名無しさん@お腹いっぱい。:2012/01/06(金) 18:21:28.63
ミスった
(add-to-list 'popwin:special-display-config
`(,sdic-buffer-name :height ,sdic-window-height))
560名無しさん@お腹いっぱい。:2012/01/06(金) 18:33:53.57
ありがてえ・・・
561名無しさん@お腹いっぱい。:2012/01/06(金) 19:08:58.15
速攻でコード書いてくれて凄腕って思うだろ?
こいつらみんな無職なんだぜ……
562545:2012/01/06(金) 19:46:26.97
>>548
ありがとうございます。確認してみました。

(define-generic-mode 'my-mode
'(";")

こういう書き出しではじまるgeneric-modeで
;の出力される位置は行頭行末とも適切だとわかったのですがただ行頭が;;になりません
普通generic-modeでこう設定すると行頭は;;となるのでしょうか
563名無しさん@お腹いっぱい。:2012/01/06(金) 20:19:12.42
>>562
emacs-lisp-mode みてみたら、どうやら
comment-add って変数で ; の数を制御しているみたい。
モードのセットアップしてるところで
(setq (make-local-variable 'comment-add) 1) ってやってみて。
564名無しさん@お腹いっぱい。:2012/01/06(金) 20:19:20.55
ここがサポート掲示板か
565名無しさん@お腹いっぱい。:2012/01/06(金) 20:20:28.45
まちがった
setq じゃなくて set ね
566名無しさん@お腹いっぱい。:2012/01/06(金) 20:23:51.57
にわかはるびきちが引き取れって言ってるだろうが!!
567545:2012/01/06(金) 20:28:48.11
>>563
ありがとうございます。意図した通りの結果が出てきました!
568名無しさん@お腹いっぱい。:2012/01/06(金) 20:31:57.02
きちぼんは誰かに献本されなかったのだろうか。
思うにあいつかなりドケチだよな。
569名無しさん@お腹いっぱい。:2012/01/06(金) 20:41:56.80
書店が献本したがレビューが後回しにされてる
http://d.hatena.ne.jp/rokujyouhitoma/20110816/1313468638

lispじゃなくて普通の方だな
570539:2012/01/06(金) 21:11:16.68
>>542-543 >>551
ありがとうございます。save-match-data の使い方を勉強します。

>>541
説明が不足でした。重複している処理なので
whileのたぐいで一度だけ書けばどうにかならないかと悩んでいました。
書き方は再帰でもloopでもかまいませんでした。
571名無しさん@お腹いっぱい。:2012/01/06(金) 21:23:48.68
>>570
save-match-data は >>542 が string-match 使った時に混入しただけで
search-forward 使う分には入れる必要ないかと。
572名無しさん@お腹いっぱい。:2012/01/07(土) 00:03:43.68
あとは bf-mode が popwin 対応すればもう勝利は目前だな。
573名無しさん@お腹いっぱい。:2012/01/07(土) 00:07:29.32
必死でアピールしてるな。
574名無しさん@お腹いっぱい。:2012/01/07(土) 00:30:53.33
bf-modeみたいなメンテナのはっきりしないelispは埋もれていく定め
575名無しさん@お腹いっぱい。:2012/01/07(土) 01:04:50.46
もしかして eval-after-load の中のフォームってバイトコンパイルされなかったりする?
576名無しさん@お腹いっぱい。:2012/01/07(土) 01:23:09.55
てst
577名無しさん@お腹いっぱい。:2012/01/07(土) 10:32:37.89
Android 版ありますか?
578名無しさん@お腹いっぱい。:2012/01/07(土) 10:42:25.69
iOS版は確かあったけどAndroid版はまだじゃないかなあ
と思ったら一応出来ないことはないみたい

http://www.emacswiki.org/emacs/EmacsOnAndroid
579名無しさん@お腹いっぱい。:2012/01/07(土) 11:44:15.55
emacs から emacs を立ち上げれば
elisp だけでの並列プログラミングが実現出来るんじゃないか?
マルチスレッドじゃなくマルチプロセスだけど。
580名無しさん@お腹いっぱい。:2012/01/07(土) 11:46:26.85
Androidのバージョンとか不明ですが
Emacs for Android
ttp://d.hatena.ne.jp/MATSUZAKI/20101104/1288882148
581名無しさん@お腹いっぱい。:2012/01/07(土) 12:25:49.29
>>579
emacs24からはポート指定でサーバ立ち上げられるし
server-eval-at なんてのも追加されてるからあながち間違ったアプローチじゃないとおもう。
582名無しさん@お腹いっぱい。:2012/01/07(土) 14:14:17.26
replace-regexpについて質問します
このようなテキストがあるところで

akasatana
hamayarawa
ikisitini

「元のテキスト 元のテキスト」のようにテキストを複製するかのような処理を
正規表現の置換で行いたいのですがうまくいきません
置換対象の文字列検索はre-builderでは大丈夫でした

replace-regexp [ret]
\\(.+\\) [ret]
\\1 \\1 [ret]

何を修正すればよいのでしょうか
583名無しさん@お腹いっぱい。:2012/01/07(土) 14:21:09.16
\ を \\ と書く時ってのはどういう理由でそれが必要だったのか考え直せ
584名無しさん@お腹いっぱい。:2012/01/07(土) 14:39:22.04
emacs の正規表現はもうちょっとなんとかならんのかと常々思うわ。
585名無しさん@お腹いっぱい。:2012/01/07(土) 15:03:07.77
似たような問題はどんな言語いじっててもあるからね。
586582:2012/01/07(土) 16:00:50.27
>>583
なるほど、re-builderは""内に書くから\\(\\)と書かなければならなくて、
replace-regexpは""内に書かないから\(\)と書くということですね
すっきりしました
587名無しさん@お腹いっぱい。:2012/01/07(土) 16:21:58.76
ELPAの作者がemacsをcommon lispで書き直そうとしているみたい
The Cliffs of Inanity ? Emacs and Common Lisp http://tromey.com/blog/?p=709
そうなると長い目で見ればcommon lispを知っておいた方がよさそう
588名無しさん@お腹いっぱい。:2012/01/07(土) 16:26:03.17
EmacsをCommon Lispでって・・・・
10年前に Erik Naggum が言ってたのと同じことやん。
歴史は繰り返す。
589名無しさん@お腹いっぱい。:2012/01/07(土) 16:53:47.36
climacs があるけれど、elisp の便利な資産が使えないからなあ。
590名無しさん@お腹いっぱい。:2012/01/07(土) 17:10:02.39
>>588
このあたりの話が関係するか。emacsをcommon lispで、っていうのは真っ正面から議論されていたのかな?
Island Life - 「Cで書くコードの方がCommon Lispで書くより速いって人がいたら、それは彼のCの技量が高すぎるってことだね。」
http://blog.practical-scheme.net/shiro/20100620a-lisp-speed
591名無しさん@お腹いっぱい。:2012/01/07(土) 17:15:34.53
guile emacs の方がいいよ

それはそうと emacs 24で`image-library-alist' is renamed to `dynamic-library-alist' ってなってるの見て
ああもう本当にストールマンいなくなったんだなと実感した
592名無しさん@お腹いっぱい。:2012/01/07(土) 17:22:54.27
elisp to cl emasc なコンバータを作るとか。
593名無しさん@お腹いっぱい。:2012/01/07(土) 17:32:50.08
>>584
正規表現リテラルでもありゃあいいのにな。
594名無しさん@お腹いっぱい。:2012/01/07(土) 17:51:12.15
>>591のストールマンなら聞いたことがあるが他の人は寡聞にして知らない
emacsの開発歴史というよりも
どういう人がemacsにどういう影響を与えたか、を聞きたい
595名無しさん@お腹いっぱい。:2012/01/07(土) 18:00:10.33
まず名前があがるのがるびきちさんだな
596名無しさん@お腹いっぱい。:2012/01/07(土) 18:03:58.85
>>594
http://ja.wikipedia.org/wiki/Emacs
結構ちゃんと人物も記載されてるよ。
597545:2012/01/07(土) 19:07:20.82
define-generic-modeの質問をした者ですが関連する質問をします
test_func {
  test
}
のように{が行末に来たときは次の行をスペース2つ分(かタブ1つ分)右にシフトさせて
}が行頭に来たときには左にシフトさせる設定はdefine-generic-mode向けに何かありますか
(上の例では全角スペースを使っています)
単体のemacsでは設定できずyasnippetのようなものを併用しなければならないでしょうか
598名無しさん@お腹いっぱい。:2012/01/07(土) 19:52:42.00
>>597
凝ったことしたくなったら generic-mode 使わないで素でmajor-mode作ってもいいような気もするけど

{ を入力したときに勝手に整形されるようにするのか、
改行したときに勝手にそうなるようにしたいのか、
C-i だの TAB だの入力して indent したときにそうしたいのかによって微妙に入り口は異なると思うけど
基本的には自力で整形処理を書かなきゃいけないと思うよ。

c-mode の c-indent-line の辺り読んで頑張れ
599名無しさん@お腹いっぱい。:2012/01/07(土) 19:59:36.41
indent-line-function に前の行の { の位置をみてインデント位置を調節する関数を設定する。
600名無しさん@お腹いっぱい。:2012/01/07(土) 22:41:57.81
gnusわかりにくすぎる
601名無しさん@お腹いっぱい。:2012/01/07(土) 22:46:09.78
ttp://blog.livedoor.jp/dankogai/archives/51763038.html

(require 'cl)
; cl

(defun mapbetween (f l)
(let (y)
(mapl #'(lambda (x)
(when (cadr x)
(push (funcall f (cadr x) (car x)) y)))
l)
(nreverse y)))
; mapbetween

(mapbetween #'+ '(1 2 3 4 5))
; (3 5 7 9)

(mapbetween #'- '(0 1 4 9))
; (1 3 5)
602名無しさん@お腹いっぱい。:2012/01/07(土) 22:47:16.57
いや、ダンコーガイに直接コメントしてやれよ
603名無しさん@お腹いっぱい。:2012/01/07(土) 22:47:31.32
>>527

もう解決してるかもしれないけど、別のスクリプト (qlgrep) に
lgrep を包むって方法は採れそう。

#!/bin/sh

lgrep "$@" > /dev/null 2>&1

さらに別の関数 (find-lgrep-dired) も用意する。

(defun find-lgrep-dired (dir regexp)
(interactive "DFind-grep (directory): \nsFind-grep (grep regexp): ")
(find-dired dir
(concat "-type f -exec qlgrep - "
(shell-quote-argument regexp)
" "
(shell-quote-argument "{}")
" "
;; Doesn't work with "+".
(shell-quote-argument ";"))))
604名無しさん@お腹いっぱい。:2012/01/08(日) 12:25:43.23
which-func-mode ってなんであんなにお馬鹿なんだろう
605名無しさん@お腹いっぱい。:2012/01/08(日) 12:29:35.16
汎用だからね。
606名無しさん@お腹いっぱい。:2012/01/08(日) 13:46:03.01
minibuffer だけスクロールバー無しって出来るんでしょうか?
607名無しさん@お腹いっぱい。:2012/01/08(日) 14:16:32.10
>>597
解説とか殆ど見たことないけど、emacs23からは
インデントカスタマイズ用の smie ってライブラリが入ってるみたい。
つかったことないけどドキュメント読んだ感じ結構凝ったこと出来そうね。

http://www.gnu.org/software/emacs/manual/html_node/elisp/SMIE.html#SMIE

emacs24 の octave-mode とかは実際に使ってるみたいだから見てみたけど
文法定義から始まる重量級のライブラリだなこれ
608名無しさん@お腹いっぱい。:2012/01/08(日) 17:34:12.70
diredでファイル一覧を表示させた後,そこに表示されたあるファイルについ
て,フルパス付きのファイル名をkill-ring-saveする方法はあるでしょうか。
ちょっとわかりにくかもしれませんが,例えば,diredで一覧表示した.emacs
に適用したなら,/home/hogehoge/.emacs という情報をコピペできる関数を探
しています。
609名無しさん@お腹いっぱい。:2012/01/08(日) 17:49:12.34
lookupってもう終わってるの? これの次は?
610名無しさん@お腹いっぱい。:2012/01/08(日) 17:51:00.10
>>608
C-0w
611名無しさん@お腹いっぱい。:2012/01/08(日) 19:00:19.17
>>608
C-u 0 w

w runs the command dired-copy-filename-as-kill, which is an
interactive compiled Lisp function in `dired.el'.

It is bound to w.

(dired-copy-filename-as-kill &optional ARG)

Copy names of marked (or next ARG) files into the kill ring.
The names are separated by a space.
With a zero prefix arg, use the absolute file name of each marked file.
612名無しさん@お腹いっぱい。:2012/01/08(日) 19:51:29.65
>>609
まだ開発続いてると思うけど。
613名無しさん@お腹いっぱい。:2012/01/08(日) 20:38:47.17
>>609
lookup て辞書検索できる lookup のことかな。
次といっても dict と epwing が理解できればそれで十分に思える、自分には。
614名無しさん@お腹いっぱい。:2012/01/08(日) 20:54:03.71
epwing自体がおわコンというか…
変換スクリプトもメンテされてないし、入手不可能だったり。
615名無しさん@お腹いっぱい。:2012/01/08(日) 20:57:40.10
ネット辞書から引けたほうがまだいいわな。
ただ emacs-w3m がいまいちだからねえ。

emacs-xwidget + webkit が安定して使えるようになったらうっはうはなんだが・・・
616名無しさん@お腹いっぱい。:2012/01/08(日) 21:14:40.45
>>615
それなら普通にブラウザ使う方がいい。
617名無しさん@お腹いっぱい。:2012/01/08(日) 21:56:44.63
>>612
RHEL6のx64でまともに動かんかった
emacsが悪いのか外部が悪いのかよく分からん
4文字の単語を退いたときだけ駄目とか変な挙動いろいろで調べる気が起きん
618名無しさん@お腹いっぱい。:2012/01/08(日) 22:02:12.17
>>616
むしろブラウザだけでいい
619名無しさん@お腹いっぱい。:2012/01/08(日) 22:21:01.13
firefox+keysnailにファイルエディット機能つければemacsの代わりに使えるんじゃね?
620名無しさん@お腹いっぱい。:2012/01/08(日) 22:25:56.90
むしろfirefoxにemacsを組み込んだ方が
621名無しさん@お腹いっぱい。:2012/01/08(日) 22:34:39.67
ブラウザにEmacs組み込むのと
Emacsにブラウザ組み込むのどっちが楽だろう
622名無しさん@お腹いっぱい。:2012/01/08(日) 22:42:25.03
>>621
後者は既出感が…
623名無しさん@お腹いっぱい。:2012/01/08(日) 22:44:19.10
ちゃんとJavaScript 解釈してかつ elisp からブラウザの状態弄れるのがいいなあ
624名無しさん@お腹いっぱい。:2012/01/08(日) 22:48:48.36
なんか面白い elisp ないかしらん
625名無しさん@お腹いっぱい。:2012/01/09(月) 01:29:57.86
>>624
seimei.el
tako.el
trr.el
626名無しさん@お腹いっぱい。:2012/01/09(月) 01:43:55.29
なんであれだけ発行部数出てないんだろうねぇ。
627名無しさん@お腹いっぱい。:2012/01/09(月) 02:55:49.39
>>621
Javascript PC Emulator
ttp://bellard.org/jslinux/

で、ブラウザ上でQEmacsが使えます。

~ # which emacs
/usr/bin/emacs

~ # ls -l /usr/bin/emacs
lrwxrwxrwx 1 root root 2 May 14 2011 /usr/bin/emacs -> qe

~ # ls -l /usr/bin/qe
-rwxr-xr-x 1 root root 108240 May 16 2011 /usr/bin/qe

~ # strings /usr/bin/emacs | fgrep -i version
QEmacs version 0.3.1, Copyright (c) 2000-2003 Fabrice Bellard
628名無しさん@お腹いっぱい。:2012/01/09(月) 03:17:21.81


【スタッフ募集】路線名を擬人化させたエロゲ【鉄オタも】
http://hayabusa.2ch.net/test/read.cgi/news4vip/1326032146/

【wiki】
http://www38.atwiki.jp/train_erog/

【避難所】
http://jbbs.livedoor.jp/game/54004/
629名無しさん@お腹いっぱい。:2012/01/09(月) 08:39:46.95
>>625
tako.el みて普通に日本語のシンボル名作れることに驚愕した
630名無しさん@お腹いっぱい。:2012/01/09(月) 12:53:58.93
関数の中で直接呼び出されている関数*だけ*置き換える方法ってありませんでしょうか?

(defun greeting (msg who) (message "%s, %s" msg who))
(defun hello (who) (message "===hello===") (greeting "hello" who))

みたいになっている時、 hello の中で直接呼ばれてる message だけ置き換えたいのです。
flet を使うと greeting の中の message まで置き換えられてしまいます。

関数定義をそのまま引っ張ってきて書き換えたものを再定義したり fset したりする以外に方法はありませんでしょうか?
631名無しさん@お腹いっぱい。:2012/01/09(月) 12:58:14.67
関数を around アドバイスして flet ってやったらできないんだっけ?
632名無しさん@お腹いっぱい。:2012/01/09(月) 12:58:40.71
あ、馬鹿なこと言ったごめ。
633名無しさん@お腹いっぱい。:2012/01/09(月) 13:57:27.13
全然うまい方法が思いつかなかったので、じゃあせめて置き換え後の関数で
呼び出し元の関数を判断して挙動を変えようと思ったのですが、
今度は呼び出し元の関数の調べ方がわかりません。

http://b.hatena.ne.jp/IMAKADO/elisp/callee/ とかは見つかったんですが
肝心のリンク先が壊れて見れないという・・・トレースとか書いてあるから
バックトレースの内容を参照するってことなんでしょうかね・・難しい。
634名無しさん@お腹いっぱい。:2012/01/09(月) 14:42:51.45
なんかものすごく力技な感じになりましたが一応実装できたので貼っておきます。
なんかもっとスマートな方法はないのか・・・・

(defun greeting (msg who) (message "%s, %s" msg who))
(defun hello (who) (message "===hello===") (greeting "hello" who))

(defun callee ()
"呼び出し元の関数名を文字列で返す"
(let ((bt (split-string (with-output-to-string
(backtrace)) "^ *\\|\n" t)))
(while (and bt
(not (string-match "^callee\\>" (pop bt)))))
(cadr bt)))

(defadvice hello (around ad-hello-no-heading activate compile)
"hello が直で呼び出している message だけ ignore に置き換える"
(let ((org-message (symbol-function 'message)))
(flet ((message (format-string &rest args)
(if (string-match "^ad-Orig-hello\\>" (callee)) ;; advice の場合は ad-Orig-* になる
(ignore)
(apply org-message format-string args))))
ad-do-it)))
635597:2012/01/09(月) 16:29:31.21
>>598-599 >>607
ありがとうございます。
indent-line-function等で制御するよりも>>607を改変すればよさそうだと思いました
ですが改変がうまくいきません

  if (x>0) {
    proc1()
    proc2()
  } else if (x<0) {
    proc3()
    proc4()
  } else {
    proc5()
    proc6()
  }

こういう風に自動的にインデントさせようとして
http://www.gnu.org/software/emacs/manual//html_node/elisp/SMIE-Grammar.html#SMIE-Grammar
の("then" insts "end")を("{" insts "}")、
("if" exp "then" inst "else" inst)を("if" exp inst "else" inst)、
(insts (insts ";" insts) (inst))を(insts (insts insts) (inst))、
に書き換えましたが、{を入力してC-jを押すと(newline-and-indent)
(wrong-type-argument integer-or-marker-p nil)
とエラーが出ました
このif (test) {procs} else if (test) {procs} else {procs} を
(procsは改行区切りです)
インデントさえできればいいのですが
どうすればよいでしょうか
636597:2012/01/09(月) 16:39:18.77
あと、調べていて気づいたのですが
http://www.emacswiki.org/emacs/IndentingC#toc1
このcc modeをdefine-generic-modeで作成したモードで
使えればよさそうだと思いました
というのも整えようとしているのがc++ likeのコードに似ているからです
上のsmie改変がうまくいかないときにはこれで十分です

define-generic-modeで作成したモードの初期化部分で
このcc modeの機能を利用することはできるでしょうか
637名無しさん@お腹いっぱい。:2012/01/09(月) 16:39:19.97
ちなみにサンプルの設定ではうまく動いたの?

smieって何やってるのかわからなかったけど
smie-setup で indent-line-function 設定してるのな。
ちょっと真面目に使い方勉強してみるか。
638名無しさん@お腹いっぱい。:2012/01/09(月) 16:40:28.70
>>636
特定のモードを元にモードを作る場合は
define-derived-mode を使うといいよ。
639名無しさん@お腹いっぱい。:2012/01/09(月) 17:09:57.88
>>635
"}"とかが token として認識されてないんじゃないの?
640597:2012/01/09(月) 17:50:59.31
>>637
はい。サンプルは動きました。↓の各セクションから以下の設定をコピペして
http://www.gnu.org/software/emacs/manual//html_node/elisp/SMIE.html#SMIE
(eval-when-compile (require 'cl))
(require 'smie)
(defvar sample-smie-grammar
(defvar sample-keywords-regexp
(defun sample-smie-forward-token ()
(defun sample-smie-backward-token ()
インデント分をこう設定し
(defvar sample-indent-basic 4)
メジャーモードを作成する (define-generic-mode の初期化部分で
(list (function (lambda () (add-hook 'hoge-mode-hook (lambda ()
(smie-setup sample-smie-grammar #'sample-smie-rules)
と書きました。
あと、>>635の(insts (insts ";" insts) (inst))は書き換えないままでした
書き換えるとエラーになります すみません

>>639
確かにtokenの設定が抜け落ちていました。ですが
(defvar sample-keywords-regexp
(regexp-opt '("+" "*" "," ";" ">" ">=" "<" "<=" ":=" "="))) を
(defvar sample-keywords-regexp
(regexp-opt '("+" "*" "," ";" ">" ">=" "<" "<=" ":=" "=" "{" "}" "(" ")")))
に書き換えましたがだめでした

>>638
なるほど、ただキーワードの色づけ設定は引き継ぎたくないのでdefine-gereric-modeで設定しました
インデントとキーフックのみ特定のモードを引き継ぐという機能があればいいのですが
641名無しさん@お腹いっぱい。:2012/01/09(月) 18:02:41.16
>>640
自分とこでちょっと動かしてみたいけど長そうだから
↓ここにコピペしてURL教えてくれ
http://paste.lisp.org/new/emacs
642597:2012/01/09(月) 19:05:20.29
書きました
http://paste.lisp.org/display/126938
よろしくお願いします
643名無しさん@お腹いっぱい。:2012/01/09(月) 19:42:06.40
うおお、難しい
とりあえずコメントの ';' と 区切り文字の ';' が干渉してるのと
sample-smie-forward-token で a+b みたいなのが一気に通過しちゃうのが気になったけど
じっくり取り組まないとわからんなあ・・・
644名無しさん@お腹いっぱい。:2012/01/09(月) 21:32:24.24
サンプルのまんまで実行しても emacs 23 では wrong-type-argument が出るねえ。
emacs 24 で実行するとエラーは出ないけどちゃんと動いてるような感じがしない。
サンプルそのままで実行してもぶら下がりelseがちゃんと処理できてないように見えるなぁ。
645名無しさん@お腹いっぱい。:2012/01/10(火) 00:11:10.77
>>629
skk に含まれてる skk-ja-names.el とか見てみろよ。
こんなだぞ。

(defalias 'SKKモード 'skk-mode)
(defalias 'SKKのバージョン 'skk-version)
(defalias 'SKKのバグを報告する 'skk-submit-bug-report)
(defalias 'SKKのチュートリアル 'skk-tutorial)
646名無しさん@お腹いっぱい。:2012/01/10(火) 11:26:09.75
load-path の追加に normal-top-level-add-subdirs-to-load-path を使うのを
止めたら起動時間が 500〜700ms 近く早くなって感動した
647名無しさん@お腹いっぱい。:2012/01/10(火) 15:26:23.62
emacs使いの大半はcapslockをctrlにしている?
それともそのまま?
648名無しさん@お腹いっぱい。:2012/01/10(火) 15:30:40.42
そんなの調査のしようがないからなぁ。
649名無しさん@お腹いっぱい。:2012/01/10(火) 15:34:21.26
大半かどうかは知らんけどEmacs関係なく一定数いることは確か。
MSなんか公式でCTRL<=>CAPS逆にするドライバ配布してるし。

これも呪いの一つだとは思う。
650名無しさん@お腹いっぱい。:2012/01/10(火) 17:29:15.59
なんでこれでエラーがでるんでしょう?
(string-match (migemo-get-pattern "popw") "popwin")

ここまでは大丈夫なのに。
(string-match (migemo-get-pattern "pop") "popwin")

651名無しさん@お腹いっぱい。:2012/01/10(火) 17:37:09.14
失礼しやした。
キャッシュがぶっ壊れていただけだった。
652名無しさん@お腹いっぱい。:2012/01/10(火) 18:44:24.40
>>649
MSのドライバ配布なんて聞いたことがなかったから調べてみた
http://www.atmarkit.co.jp/fwin2k/win2ktips/1182ctrl2cap/ctrl2cap.html
ふむふむこれか。楽ちんなツールもあるもんだな
653 忍法帖【Lv=34,xxxPT】 :2012/01/10(火) 18:48:32.71
入れ替えじゃなくてcapslockをctrlにしたい
654名無しさん@お腹いっぱい。:2012/01/10(火) 19:51:36.16
職場なんかだと交換よりCAPS潰すの方が
ちょっと同僚が叩いた時とかに面倒がなくていいわ
655名無しさん@お腹いっぱい。:2012/01/11(水) 00:27:15.52
最新のソースを取得するにはどうすればいいんだ?
ttp://savannah.gnu.org/projects/emacs/
ここに書いてあるとおり
bzr branch bzr://bzr.savannah.gnu.org/emacs/trunk
としても、メールで[Emacs-diffs]が届いた時点のソースが取得出来ない。
その後、bzr updateしても一向に更新されないし、bzrよーわからん。
そもそも、bzr branchが異様に時間が掛かるし、bzr腐ってる。
656名無しさん@お腹いっぱい。:2012/01/11(水) 00:32:21.68
github のミラー使ったら?
https://github.com/emacsmirror/emacs
>A Mirror of the Emacs Bazaar repository ― Read more
>http://www.emacswiki.org/emacs/EmacsFromGit
657名無しさん@お腹いっぱい。:2012/01/11(水) 01:05:13.24
gitのミラーはとまってることがまれにあるのが玉に瑕。
658名無しさん@お腹いっぱい。:2012/01/11(水) 08:32:51.99
git clone git://git.savannah.gnu.org/emacs.git
659名無しさん@お腹いっぱい。:2012/01/11(水) 10:21:02.18
ecbとかセマンティックは消滅しちゃうんだろうか
660名無しさん@お腹いっぱい。:2012/01/11(水) 12:14:29.24
23.4のtarballsまだかよ。
661名無しさん@お腹いっぱい。:2012/01/11(水) 12:40:39.01
カーソル移動は(previous-line)でできることは分かったのですが、
カーソル位置にある文字とその一つ前の文字を取得する関数はありますか?
取得した文字によって処理を分岐させたいのですが方法が分かりません
662名無しさん@お腹いっぱい。:2012/01/11(水) 12:56:44.81
\C-x =
が似たようなことをやっている。
663名無しさん@お腹いっぱい。:2012/01/11(水) 13:01:57.88
char-after char-before following-char preceding-char
664名無しさん@お腹いっぱい。:2012/01/11(水) 13:08:21.16
>>662-663
ありがとうございます
665名無しさん@お腹いっぱい。:2012/01/11(水) 13:49:11.90
>>659
いや、普通に残ってる。
w3 っていつの間に消えてたんだろう・・・
666名無しさん@お腹いっぱい。:2012/01/11(水) 16:05:23.89
*scratch*バッファをキルしたあとで,また*scratch*バッファを
開く方法無いですか?

やりたいことは,*scratch*バッファの内容を復元することではなく
メモ用のバッファを作ることなのですが・・・
667名無しさん@お腹いっぱい。:2012/01/11(水) 16:09:05.64
668名無しさん@お腹いっぱい。:2012/01/11(水) 16:10:02.14
普通に C-x b で *scratch* を開けばいいよ。別に特別なバッファじゃない。
お好みで initial-major-mode にしてあるメジャーモードにすればいい。

scratch の内容保存系の lisp おいてるところよく見ると
消せないようにするだけの設定が抜き出せるからそれ参考にしてみれば?
669名無しさん@お腹いっぱい。:2012/01/11(水) 16:10:06.91
>>666
http://www.bookshelf.jp/soft/meadow_11.html#SEC75
つーかこっちか。
モード設定は勝手にやってくれるかも。
670名無しさん@お腹いっぱい。:2012/01/11(水) 16:36:53.69
>>667,668,669
しばらくC-x b *scratch* を使ってみることにします.
ありがとうございます.
671名無しさん@お腹いっぱい。:2012/01/11(水) 19:20:52.27
abbrevの登録単語削除の方法がサパーり判らんのでスゲームカムカしてきた
C-u C-x a l
672名無しさん@お腹いっぱい。:2012/01/11(水) 21:05:05.68
M-x list-abbrevs して適当に消して C-c C-c じゃない?
abbrev まともにつかったことないな・・・
673名無しさん@お腹いっぱい。:2012/01/11(水) 21:43:02.80
無名関数の再帰を調べていたら Y コンビネータが出てきた
あのわけわからん世界に繋がりつつあるんだと思うとちょっとうれしい
674名無しさん@お腹いっぱい。:2012/01/11(水) 21:56:17.64
文字列中の "$@"、または "$" をそれぞれスペース一個にする処理を書いています。
ただし、"$$" はエスケープ処理のパターンなので "$$@" なんて場合は "$$ " に置換したいです。
( "hoge$@$$@hage" なんかは "hoge $ hage"になる)

こういうエスケープ文字を含む置換は一回の置換で済ますのは難しいでしょうか?
675名無しさん@お腹いっぱい。:2012/01/11(水) 22:18:20.68
>>674
> ただし、"$$" はエスケープ処理のパターンなので "$$@" なんて場合は "$$ " に置換したいです。
だと
"hoge$@$$@hage" -> "hoge $$ hage"
にならないといけないような。

とりあえず
(replace-regexp-in-string "\\(\\$?\\)\\$@?" "\\1 " "hoge$@$$@hage")
-> "hoge $ hage"
となる。
676名無しさん@お腹いっぱい。:2012/01/11(水) 22:40:32.37
>>675
ああっ・・・すみません、"hoge$@$$@hage" は "hoge $$ hage" でした。

なるほど、直前の $ があれば保存するって書き方も出来るんですね。
もう少し考えてみます。ありがとうございます。
677名無しさん@お腹いっぱい。:2012/01/11(水) 22:44:05.81
>>676
下手糞だけれど、
(replace-regexp-in-string "\\(\\$?\\)\\$@?" "\\1\\1 " "hoge$@$$@hage")
678名無しさん@お腹いっぱい。:2012/01/11(水) 22:57:17.40
>>677
$$ の場合、前の$を2つおいちゃうわけですね
ただその場合 "hoge$$hage" が "hoge$$ hage" になってしまいます
ううむ・・・
679名無しさん@お腹いっぱい。:2012/01/12(木) 08:16:55.07
emacs24 のパッケージシステム、ELPAの登録少なすぎ糞がと思ってたけど
mamalade 追加したら予想してたよりしっかり登録されてて感心した。
680名無しさん@お腹いっぱい。:2012/01/12(木) 09:45:12.56
ELPA標準+marmaladeでel-getはオワコンか
681名無しさん@お腹いっぱい。:2012/01/12(木) 09:57:57.84
el-get + githubのemacsmirror
これ最強な
682名無しさん@お腹いっぱい。:2012/01/12(木) 10:00:49.74
emacsmirror いいよな。 emacswiki のelisp 落としたい放題
683名無しさん@お腹いっぱい。:2012/01/12(木) 10:23:06.46
そんなものよりるびきちさんのauto-installを使えよ
684名無しさん@お腹いっぱい。:2012/01/12(木) 11:34:39.88
emacsmirrorのレポジトリ群からel-get用レシピ生成するelispはよ
685名無しさん@お腹いっぱい。:2012/01/12(木) 18:37:38.11
emacs24のlexical-binding、ヘッダに lexical-binding: t とか入れると
全部の let が文脈依存になるのかよ・・・
使いづれえ
686名無しさん@お腹いっぱい。:2012/01/13(金) 07:43:15.33
scratch buffer で lexical どうやんのかな
687名無しさん@お腹いっぱい。:2012/01/13(金) 10:28:58.27
lexical-let を正式サポートでよかったのに。
688名無しさん@お腹いっぱい。:2012/01/13(金) 10:35:18.21
冗談はやめてくれ。
689名無しさん@お腹いっぱい。:2012/01/13(金) 10:41:53.08
*scratch* で M-: (setq lexical-binding t) でいいんじゃない?

;; 今まで
(setq a 100)
(defun foo () (message "%d" a))
(progn (let ((a 200)) (foo)) (foo))
=> 200 100

;; lex bind
(setq lexical-binding t)
(setq a 100)
(defun foo () (message "%d" a))
(progn (let ((a 200)) (foo)) (foo))
=> 100 100

ただし、a が defvar で宣言されている場合は lexical-binding を t にしてても強制的に
dynamical binding (ようするに今までのと同じ)になる。

だから基本的には置き換えしてもそんなに影響はでないはず。
690名無しさん@お腹いっぱい。:2012/01/13(金) 10:51:34.62
あと lexical-binding t にすると lambda が closure を返すようになるな。
バッファ内の未評価の defvar とかが評価結果に含まれててなんかすごく気持ち悪いけど。
691名無しさん@お腹いっぱい。:2012/01/13(金) 10:57:03.63
バッククオート展開で無理やり変数埋め込みとかしなくてよくなるのは嬉しい
692名無しさん@お腹いっぱい。:2012/01/13(金) 11:06:45.92
>>689
どっかで defvar してるシンボル名とバッティングしないような名前を使わなきゃいけないところは
変わらんってことか。

ネームスペースはよ
693名無しさん@お腹いっぱい。:2012/01/13(金) 14:48:38.91
auto-completeでメジャーモードhoge-modeの補完候補を~/.emacs.d/ac-dict/hoge-modeの各行としたいです
tabを押さずに自動的に補完候補を表示するスタイルにしたいと思います
.emacsに
(setq ac-auto-start t)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
(add-to-list 'ac-modes 'hoge-mode)
と書いてhoge-modeを~/.emacs.d/ac-dictに置いたのですが何にもなりません
ac-dict/hoge-modeは改行(lf)区切りなのですが、それがいけないのでしょうか
http://cx4a.org/software/auto-complete/manual.ja.html
このマニュアルにはそういうことが書いていないのでよくわかりません
694名無しさん@お腹いっぱい。:2012/01/13(金) 15:27:05.91
当然だけど
(require 'auto-complete-config) とか
(ac-config-default) とかは普通に書いてあるんだよな?
695名無しさん@お腹いっぱい。:2012/01/13(金) 16:16:39.75
>>694
(require 'auto-complete-config) は書いていましたが
(ac-config-default)が抜けていました。
ばっちり動きました!ありがとうございました。
696名無しさん@お腹いっぱい。:2012/01/14(土) 10:09:51.35
anythingってupgradeするたびに動かなくなるね。ぽぽぽぽーん。。
すごいわ。修正された行数とかもすさまじいし。。
うんざり。
697名無しさん@お腹いっぱい。:2012/01/14(土) 10:20:52.49
Semanticはちゃんと補完してくれてかなりいいんだけど、カーソルの下の
関数名の定義場所がエコーエリアに表示されているにもかかわらず、
そこに飛ぶ術がないという糞仕様。
そもそも使いづらいからAnything用のインターフェースでも作るかな…
698名無しさん@お腹いっぱい。:2012/01/14(土) 10:27:57.09
あ、動いた。どうやらanything-match-plugin.elが必須になったぽいな。
そしてこのモッサリ感。鈍重すぎる。
もともと腐ってたのが白骨化した死骸のような感じになってきたな。
699名無しさん@お腹いっぱい。:2012/01/14(土) 12:07:34.45
ごめん質問。ひさびさのEmacsで困ってる。
eshellでも(call-proccess ... )の出力をバッファに出しても
表示される日本語部分が化けてしまう。UTF-8なテキストファイル開くと化けない。
UTF-8環境なLinux上。Emacs23にて。
set-language-environment "Japanese"だし
set-terminal-coding-systemもset-keyboard-coding-systemも
set-buffer-file-coding-systemもdefault-buffer-file-coding-systemも
全部utf-8としたし、実際化けてるバッファでも左下はU:と表示されてるからutf-8に
なってるはずなんだが。
なにか解決のヒントくれたらおいら嬉しいのでおねがいしまふ
700名無しさん@お腹いっぱい。:2012/01/14(土) 12:14:26.08
default-coding-system は設定してある?

最近は個別にコーディングシステム設定しないで
(prefer-coding-system 'utf-8-unix) とかするもんらしい。
バッファ/ファイル名からプロセスから何から何まで一発でやってくれるよ。

701名無しさん@お腹いっぱい。:2012/01/14(土) 12:22:24.16
あわわ
× default-coding-system
○ default-process-coding-system でした
702名無しさん@お腹いっぱい。:2012/01/14(土) 12:24:27.36
>>697
anything と semantic で検索するとちらほら引っかかるけど
それじゃだめなん?
703名無しさん@お腹いっぱい。:2012/01/14(土) 12:34:23.81
>>699
process-filter-multibyte-p
set-buffer-multibyte
とかの multibyte 関係。
704名無しさん@お腹いっぱい。:2012/01/14(土) 12:37:58.99
むしろ一旦何も設定しない状態で試したほうがいいと思うの
705名無しさん@お腹いっぱい。:2012/01/14(土) 12:44:07.38
そもそも最近の emacs って
LANG=ja_JP.UTF=8 とかしておけば特に何の設定もしなくても
ちゃんと日本語でUTF-8な環境にセットアップしてくれるんだよな。
706名無しさん@お腹いっぱい。:2012/01/14(土) 13:20:19.97
編集中の文書のアウトライン表示させるためにsr-speedbarを試しています。
http://www.emacswiki.org/emacs/SrSpeedbar
なかなかいい感じですが編集中ファイルと同じディレクトリに他のファイルが
あると,speedbarにそれらのファイル以外も表示されてしまいます。編集中の
ファイルだけをspeedbarに表示する方法があれば教えてください。
707名無しさん@お腹いっぱい。:2012/01/14(土) 13:33:09.07
>>706
自分で新たに speedbar のモードを書くしかないと思う。
*SPEEDBAR* で b とか r を押せば開いているバッファが表示されるけれど、これは違うのだろうし。
708名無しさん@お腹いっぱい。:2012/01/14(土) 13:48:41.17
speedbar-file-regexp を make-local-variable して
バッファ名だかバッファファイル名だかだけ引っかかるような設定にすりゃいいんでないの。

これも悪くないな
http://d.hatena.ne.jp/kitokitoki/20100517
709699:2012/01/14(土) 14:06:07.65
>>700
(prefer-coding-system 'utf-8-unix)
でいけました。ありがとー
710697:2012/01/14(土) 14:10:38.94
>>702
ttp://dev.ariel-networks.com/Members/matsuyama/open-anything-emacs/
ここで目的のものが見つかった。
ただ、Anythingのソース作成方法を理解してないからよくわからん。
積読状態だった例の本をちゃんと読むか…
711名無しさん@お腹いっぱい。:2012/01/14(土) 15:07:22.59
るびきちさんが叩かれてる理由がだんだん分かってきた。
712名無しさん@お腹いっぱい。:2012/01/14(土) 15:08:20.51
大部分が男のジェラシーですね
713名無しさん@お腹いっぱい。:2012/01/14(土) 15:16:00.39
>>712
違うと思う。
714名無しさん@お腹いっぱい。:2012/01/14(土) 15:39:05.52
ジェラシーとか嫉妬とか言うやつは一人しかいないわけで。
何もかも一人でやってるようなグラマにろくなのはいないっていう悪例だよ。
715名無しさん@お腹いっぱい。:2012/01/14(土) 15:43:01.18
カーソル行の冒頭の空白の類いを取得したいです
正規表現は^[\t\s]+でカーソル行を取得するのは(thing-at-point 'line)でよいのですが
取り出した文字列を正規表現で検索する方法がわかりません
正規表現で検索というとre-search-forwardがありますが
これではバッファ内の文字列を検索することになってしまいます
どうすればいいでしょうか
716名無しさん@お腹いっぱい。:2012/01/14(土) 15:48:26.55
string-match
717名無しさん@お腹いっぱい。:2012/01/14(土) 15:57:07.69
\C-h f re-search-backward
718名無しさん@お腹いっぱい。:2012/01/14(土) 16:24:06.55
>>716-717
ありがとうございます。調べた結果
string-matchでもre-search-backwardでもできました
719名無しさん@お腹いっぱい。:2012/01/14(土) 16:39:21.50
>>707
>>708
ありがとうございます。
自分で設定する方法はわからないので,しばらくはimenu-treeと併用してみます。

720名無しさん@お腹いっぱい。:2012/01/14(土) 19:31:25.59
マクロを使いたいけど以下のようにしたい場合はどうしたらいいのでしょう?

・コンパイル後は内容が展開されるのでマクロ自体は未定義になってほしい
・コンパイルしないで el のみのロードの場合は普通に定義されたままでよい

eval-when-compile だと el のみのロードの場合にダメになっちゃいますよね・・・
721名無しさん@お腹いっぱい。:2012/01/14(土) 19:35:53.07
>>720
describe-function eval-when-compile
> In interpreted code, this is entirely equivalent to `progn'.
722名無しさん@お腹いっぱい。:2012/01/14(土) 19:53:14.68
>>721
ありがとうございます。 eval-when-compile の中にマクロ定義を置く、で何ら問題なかったんですね。

しかし、eval-after-load みたいなコンパイルされない式の方だと実行時にマクロ定義がないとエラーになってしまいます。
これをコンパイル時にマクロ展開する方法はないのでしょうか?
723名無しさん@お腹いっぱい。:2012/01/14(土) 20:26:35.83
(eval-when-compile (require 'cl))
(defun my-func () (loopとか))
(eval-after-load "library" '(my-func))

じゃだめなのけ?
724名無しさん@お腹いっぱい。:2012/01/14(土) 20:36:30.14
>>723みたいに関数化した方がバイトコンパイルもされるから実際一番いいと思う。

一応別解

(eval-when-compile (defmacro somemacro (x) (concat x "-ok")))

(eval-after-load "hogehoge"
(eval-when-compile
(macroexpand-all
'(progn
(setq hoge (somemacro "hoge"))))))

eval-after-load から macroexpand-all までを eval-when-compile 内にマクロで置けば完璧
これなら el でロードしてもコンパイルしてもちゃんとマクロ展開される
725名無しさん@お腹いっぱい。:2012/01/15(日) 16:36:48.20
>>653
レジストリ書き換える方法で良ければ、scancode map でぐぐると見つかる。
XP以降はLoginユーザ別に設定できる。
windows server 2003 resource kitに入っている remapkey.exe というのでも
出来るけど。ユーザ個別設定は出来ないかもしれない。
726名無しさん@お腹いっぱい。:2012/01/16(月) 18:42:59.64
たしかC-aやC-eを連続して押すとカーソルが行ったり来たり(?)する
elispがどこかで公開されていた気がするのですが
ご存じの方はいらっしゃいませんか
これでカーソル移動がもっと快適になるとか書いてあったような気がします
るびきち本とかどっちかと思いましたが見つかりませんでした
727名無しさん@お腹いっぱい。:2012/01/16(月) 18:46:46.90
アドベントカレンダーで見た気がする
728名無しさん@お腹いっぱい。:2012/01/16(月) 18:50:20.77
マジキチ先生のsequential-commandかな
他にも似たようなのあるかもしらんが
729名無しさん@お腹いっぱい。:2012/01/16(月) 20:11:35.65
>>727-728
ありがとうございます。両方の情報とも関係がありそうだと検討をつけて探したら
そのものずばりのページにたどり着けました
http://emacs.g.hatena.ne.jp/k1LoW/20101211/1292046538
この図こそ記憶にあったものです
感謝です
730名無しさん@お腹いっぱい。:2012/01/16(月) 20:25:39.60
gnupackのemacsで等幅フォント(migu 1m)を使っているはずなのに
微妙にずれてしまう気がします
対処策はあるのでしょうか
731名無しさん@お腹いっぱい。:2012/01/16(月) 21:45:30.64
>>730
NTEmacsスレの方がストレートな解答が貰えるかもしれない。
Windowsだとフォント重ねあわせでボールド化するとかの設定有効にしてると
ずれることがあるって聞いたことがあるな。変数名は忘れたが。
732名無しさん@お腹いっぱい。:2012/01/16(月) 22:03:50.99
あれ、うちもだそれ。LinuxでGNU Emacs 23.3.1、Ricty 3.1.2

Rictyを使ってるんだけど例えば $ の幅が他の文字の 90% ぐらいになってる
フォントの設定はなんか難しいから放置中
733名無しさん@お腹いっぱい。:2012/01/16(月) 22:18:58.39
Rictyってたしか複数のフォントをマージした奴だったよね。
しかもライセンスの問題でバッチ処理で自分で結合処理するんだった記憶が。
幅あってないんじゃない?
734名無しさん@お腹いっぱい。:2012/01/16(月) 22:31:27.69
いやRictyって幅を合わせたのが売りじゃなかったっけ?
735名無しさん@お腹いっぱい。:2012/01/16(月) 22:40:43.46
C-u C-x = で $ と字を調べてみたら?
違うフォントや違うサイズが割り当てられてたりしない?
736名無しさん@お腹いっぱい。:2012/01/16(月) 23:02:15.92
ヒントどうもです。 差し当たり $ と 1 についての C-u C-x = の出力および
init.el の関係ありそうな設定部分を貼っときます
http://codepad.org/cN7neV2I

($) xft:-unknown-Ricty-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x07)
(1) xft:-unknown-Ricty-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x14)
737730:2012/01/17(火) 13:39:36.57
解決策がわかりました
フォントのサイズを3の倍数にすればよいだけでした
>Emacs で等幅フォントの半角文字・全角文字の横幅比 1:2 を必ず達成するフォント設定
ttp://stickydiary.blog88.fc2.com/blog-entry-107.html
738名無しさん@お腹いっぱい。:2012/01/17(火) 14:43:24.37
EmacsLisp勉強中です。自作の関数をさらしますので添削お願いします。

(defun random-string (length)
(let ((i length)
(s "0123456789abcdefghijklmnopqrstuvwxyz")
(a '())
n c)
(while (> i 0)
(setq n (random 36))
(setq c (substring s n (+ n 1)))
(setq a (cons c a))
(setq i (- i 1)))
(string-join "" a)))
739名無しさん@お腹いっぱい。:2012/01/17(火) 14:50:18.40
動けばいいってこと?

(defun random-string (length)
(let ((i length)
(s "0123456789abcdefghijklmnopqrstuvwxyz")
(a '())
n c)
(while (> i 0)
(setq n (random 36))
(setq c (substring s n (1+ n)))
(setq a (cons c a))
(setq i (- i 1)))
(mapconcat 'identity a "")))
740名無しさん@お腹いっぱい。:2012/01/17(火) 15:05:13.65
(defun random-string (length)
(let ((s "0123456789abcdefghijklmnopqrstuvwxyz")
a n)
(while (> length 0)
(setq n (random 36))
(setq a (concat a (substring s n (1+ n))))
(setq length (1- length)))
a))
741名無しさん@お腹いっぱい。:2012/01/17(火) 15:24:40.20
(defun random-string (length)
(concat (loop with s = "0123456789abcdefghijklmnopqrstuvwxyz"
repeat length
collect (aref s (random 36)))))
742名無しさん@お腹いっぱい。:2012/01/17(火) 15:40:14.13
(defun random-string (length)
(let* ((offset (random 36))
(char (substring "0123456789abcdefghijklmnopqrstuvwxyz" offset (1+ offset))))
(if (> length 1)
(concat char (random-string (1- length)))
char)))
743名無しさん@お腹いっぱい。:2012/01/17(火) 15:59:27.93
(defun random-string (length)
(substring (shuffle-vector "0123456789abcdefghijklmnopqrstuvwxyz")
0 length))
744名無しさん@お腹いっぱい。:2012/01/17(火) 16:08:57.86
(defun random-string (length)
  (loop with s = (make-string length 0)
  for i from 0 to (1- length)
  do (aset s i (aref "0123456789abcdefghijklmnopqrstuvwxyz" (random 36)))
  finally return s))
745名無しさん@お腹いっぱい。:2012/01/17(火) 16:13:45.58
はい、そこまで。
746名無しさん@お腹いっぱい。:2012/01/17(火) 16:33:07.71
アホ学生の課題か
747名無しさん@お腹いっぱい。:2012/01/17(火) 17:17:27.28
random 36っていうのは何というかスマートじゃ無いな
748名無しさん@お腹いっぱい。:2012/01/17(火) 17:26:31.48
見る限り >>742 >>743 はトーシロだな。
749名無しさん@お腹いっぱい。:2012/01/17(火) 17:29:19.73
>>748
なんで?
750名無しさん@お腹いっぱい。:2012/01/17(火) 17:33:44.72
関数への入力値を大きくしてみたまえ。
751名無しさん@お腹いっぱい。:2012/01/17(火) 17:41:13.00
そんなデカい値で使うような関数か?
752名無しさん@お腹いっぱい。:2012/01/17(火) 17:44:04.87
負け犬プログラマーがここにも。こーゆーやつよくいるんだよね。ヽ(´▽`)ノ
753名無しさん@お腹いっぱい。:2012/01/17(火) 17:47:45.79
職場でやられると締め殺したくなるやつだな。w
754名無しさん@お腹いっぱい。:2012/01/17(火) 17:58:40.75
elispだけで文字列をパスワードつけて暗号化できるパッケージないですか?
755名無しさん@お腹いっぱい。:2012/01/17(火) 18:52:51.80
七色に光るタッチキーボードかあ
好きな色にキーボード光らせるなら
ctrとaltは目立つ色にしたいな
756名無しさん@お腹いっぱい。:2012/01/17(火) 18:53:41.57
>>755
誤爆?
757名無しさん@お腹いっぱい。:2012/01/17(火) 18:55:29.08
http://ax3s.blog54.fc2.com/blog-entry-345.html
こいつでemacsとか最高じゃないか
758名無しさん@お腹いっぱい。:2012/01/17(火) 18:58:37.67
キーボードの話はこっちでいいんじゃない。

Keyboard キーボード 3
http://toro.2ch.net/test/read.cgi/unix/1285489282/
759名無しさん@お腹いっぱい。:2012/01/17(火) 19:17:47.77
>>757
テンキーレスってところがいいな。
英語配列ならなおよかったんだけど。
760名無しさん@お腹いっぱい。:2012/01/17(火) 19:20:18.21
「ハンファ」

なんかヤダ。
761名無しさん@お腹いっぱい。:2012/01/17(火) 19:23:45.05
Emacsとなにも関係ない件
762名無しさん@お腹いっぱい。:2012/01/17(火) 20:16:45.69
自由にカスタマイズできるって言っても、C-cの後とかC-xの後に有効なキーだけ
色を変えるってのはできないんでしょう?
763名無しさん@お腹いっぱい。:2012/01/17(火) 20:25:40.12
色を変えるってキーボードの?ww
764名無しさん@お腹いっぱい。:2012/01/17(火) 20:58:16.61
あんたインテリアこだわるの好きね。
765名無しさん@お腹いっぱい。:2012/01/17(火) 21:42:54.57
Emacsにハマりそうで怖い。

論文書くのにWordだとだるい

Emacs + LaTexってよさげ

Tutorialをやってみる

るびきち本を買ってくる ← いまここ

独特の操作系で敷居が高いと思っていたけれど、
これはこれでアリだと思う様になってきた。
766名無しさん@お腹いっぱい。:2012/01/17(火) 21:44:16.70
>>765
LaTeX を使うなら他のエディタを選択することもできただろうに。
767名無しさん@お腹いっぱい。:2012/01/17(火) 22:16:48.10
Emacsだけで色々完結するってのも惹かれた点。
しかしGoogle DocsやEvernoteなんかまで編集できるとは思わなかった。
768名無しさん@お腹いっぱい。:2012/01/17(火) 22:21:42.98
>>762
でもブラインドタッチしてる以上あんまり色かわっても意味ないな。

無効なキーを押すと電流が走るとかなら教育効果があるかもしれん。
769名無しさん@お腹いっぱい。:2012/01/17(火) 22:22:11.64
>>767
今ならまだ間に合う。引き返せ。
わりとマジで。
770名無しさん@お腹いっぱい。:2012/01/17(火) 22:26:38.41
>>769
後悔してる理由教えて
771名無しさん@お腹いっぱい。:2012/01/17(火) 22:28:11.82
>>769
後悔してる理由教えて
772名無しさん@お腹いっぱい。:2012/01/17(火) 22:39:33.15
呪いが解けなくなるよ
773名無しさん@お腹いっぱい。:2012/01/18(水) 01:28:50.52
>>739-744
たくさんの人に答えていただき、ありがどうございます。
けど、結局どう書くのがいいのかは、よみとれませんでした。

・string-joinよりconcatのほうがいいの?
・loopとかつかったほうがいいの?
・for i from 0 to ... とか初めて見たけど、これって普通に使われているの?

もうちょっと、EmacsLisp初心者向けにお願いしたいんですが、だめでしょうか。
774名無しさん@お腹いっぱい。:2012/01/18(水) 02:47:01.89
どっから持って来たんだ、string-join って
どうせ中身は mapconcat なんだろうけど
775名無しさん@お腹いっぱい。:2012/01/18(水) 02:48:56.76
半ページスクロールってできないっすか?
776名無しさん@お腹いっぱい。:2012/01/18(水) 08:52:46.80
>>773
> ・string-joinよりconcatのほうがいいの?

・mapconcat は文字列のリストに作用するし、concat は char のリストに作
用すると覚えておけ。apply 使えるようになれば違いはほとんどない。

> ・loopとかつかったほうがいいの?

とりあえず使うな。while と mapcar を覚えろ。

> ・for i from 0 to ... とか初めて見たけど、これって普通に使われているの?

はい。loop に狂ってる連中は使う。ほとんどが上級者だな。


ここで質問する前に他の人のコードをひたすら読め。
elisp以前にプログラマの基本だ。
777名無しさん@お腹いっぱい。:2012/01/18(水) 10:08:52.24
cl系使うのは抵抗あるな。
778名無しさん@お腹いっぱい。:2012/01/18(水) 12:35:55.81
るびききの書いたelispのソースを見て気づいたんだけど
日付と履歴情報が自動的に更新されている気がする
たとえば http://www.emacswiki.org/emacs/download/auto-install.el
日付の自動更新はtime-stamp.elでできるけど
履歴情報(changelog)の自動更新はどうやるのだろう
779名無しさん@お腹いっぱい。:2012/01/18(水) 16:24:31.76
これバージョン管理が勝手に入れるやつじゃないの?
elispファイルに履歴なんて書いても誰もみないから分離してほしいよな。
githubにでもリポジトリ公開すればいいのに。
780名無しさん@お腹いっぱい。:2012/01/18(水) 16:31:22.63
Change log:のところにChangeLogを挿入してるんじゃないの?
まあChangeLogはふつう別ファイルだから何かしら細工していると思うが
$Id: の部分も別ファイルのChangeLogを挿入しているだけかと
781名無しさん@お腹いっぱい。:2012/01/18(水) 17:06:37.54
なんで意固地になって読みづらいchangelogを挿入するのだろうか。
782 忍法帖【Lv=38,xxxPT】 :2012/01/18(水) 17:12:34.07
>>776
> とりあえず使うな。while と mapcar を覚えろ。

mapcもね
783名無しさん@お腹いっぱい。:2012/01/18(水) 18:12:11.63
DAdams病
784名無しさん@お腹いっぱい。:2012/01/18(水) 18:42:21.52
remove-if とか find-if が便利すぎて loop 覚える気がしない
785名無しさん@お腹いっぱい。:2012/01/18(水) 20:53:48.69
cl の関数を使っちゃってるかどうか検査する方法って何があるかな
コンパイルするしかない?
786名無しさん@お腹いっぱい。:2012/01/18(水) 20:59:27.45
elintで検出できたっけ?
787名無しさん@お腹いっぱい。:2012/01/18(水) 22:51:29.37
検出は知らんけどhighlight-clで目視できるようにはしてる
788名無しさん@お腹いっぱい。:2012/01/19(木) 08:03:24.33
yasnippet が堂々と (require 'cl) しているのを見て
なんかもうどうでもよくなった
789名無しさん@お腹いっぱい。:2012/01/19(木) 08:36:10.64
本体に取り込んでやるからその汚い(require 'cl)をどうにかしろ
とか言われない限り取り除く気は無い
790名無しさん@お腹いっぱい。:2012/01/19(木) 16:08:28.58
viのmコマンドに相当するのは、emacsでは何になりますか。
やりたいことは、現在のポジションを短い名前付きで覚えておき、あとからその名前を使ってジャンプすることです。
emacsを終了しても覚えておかなくていいです。
791名無しさん@お腹いっぱい。:2012/01/19(木) 16:12:47.56
C-x r SPC で覚えて C-x r j でジャンプ。
792名無しさん@お腹いっぱい。:2012/01/19(木) 17:28:51.63
>>791
ありがとうございます。
793名無しさん@お腹いっぱい。:2012/01/19(木) 21:41:24.31
>>640
キツいhookだなぁ。
794名無しさん@お腹いっぱい。:2012/01/19(木) 22:08:53.23
リージョンを指定して、その範囲内で正規表現にマッチしたものを集めてくる関数はどうやって書きますか。
Rubyで書くとこんな感じです。

arr = []
region.each_line do |line|
 if line =~ regexp
  arr << $1
 end
end

リージョンを受け取るには (interactive "r") を指定するらしいところまではわかりましたが、
その先がさっぱりわかりません。だれか助けて。

(defun regexp-collect-matched-in-region (beg, end)
(interactive "r")
;; どう書けばいいの?
)
795名無しさん@お腹いっぱい。:2012/01/19(木) 22:28:30.59
ものっそ丸投げだなw
リージョンの開始位置までポイントを進めて、
リージョンの終了位置を検索の境界に指定して検索を進めればいい。

goto-char、re-search-forward と match-string とかを describe-function しなさい。
save-restriction とか save-excursion、save-match-data とかもぐぐるといいかもね。

単純に操作としてやりたいだけなら keep-lines とかはどうかね。
796名無しさん@お腹いっぱい。:2012/01/19(木) 22:52:46.90
>>796
いいから解答教えろよ役にたたねえな
797名無しさん@お腹いっぱい。:2012/01/19(木) 22:56:09.09
汚い無限再帰だなあ
798名無しさん@お腹いっぱい。:2012/01/20(金) 00:07:41.12
>>795
ありがとうございます。
こんなかんじになりました。
(defun regexp-collect-matched-in-region (regexp index beg end)
(let ((list '()))
(save-excursion
(goto-char beg)
(while (re-search-forward regexp end t)
(setq list (cons (match-string index) list))))
(reverse list)))
どうでしょうか?

なお796は別人ですので無視してください。
799名無しさん@お腹いっぱい。:2012/01/20(金) 00:11:48.82
やるじゃん
listって変数名は関数のlistとかぶってるから別の方がいいかも。特に動作上の弊害はないんだけど。
リストへの追加は push でもいいかもね。
800名無しさん@お腹いっぱい。:2012/01/20(金) 00:20:11.57
listの書き換えか
よく見るのはlis か lst かな
801名無しさん@お腹いっぱい。:2012/01/20(金) 00:55:32.98
どうでもよすぎるつっこみおつかれさん。
802名無しさん@お腹いっぱい。:2012/01/20(金) 02:47:45.08
引数はむしろlistの方がいいな。
eldocとかで不必要におかしな名前で出てくるのは間が抜けた感じ。
803名無しさん@お腹いっぱい。:2012/01/20(金) 08:31:17.14
>>798
reverse を nreverse にする
そもそも (goto-char end) + (re-search-backward ...) を使うと、 reverse がいらなくなる

loop 大好き
(save-excursion
    (goto-char beg)
    (loop while (re-search-forward regexp end t)
          collect (match-string index)))
804名無しさん@お腹いっぱい。:2012/01/20(金) 08:40:02.69
>>803
> そもそも (goto-char end) + (re-search-backward ...) を使うと、
> reverse がいらなくなる

これやると正規表現の量指定子はどういう挙動をするの?
805名無しさん@お腹いっぱい。:2012/01/20(金) 11:18:01.36
やっぱりloopは神だった
806名無しさん@お腹いっぱい。:2012/01/20(金) 12:17:24.19
http://blog.kiftwi.net/2011/12/13/emacs%E3%81%AEjs2-mode%E3%81%AE%E3%82%A4%E3%83%B3%E3%83%87%E3%83%B3%E3%83%88%E3%82%92%E6%AD%A3%E3%81%99/
これのインデントの関数の再設定を見て疑問に思ったのですが例えば
(add-hook 'text-mode-hook
(lambda ()
(setq indent-line-function (lambda () (insert "  ")))))
このように書くのと、
(add-hook 'text-mode-hook
(lambda ()
(set (make-local-variable 'indent-line-function) (lambda () (insert "  ")))))
と書くのでは、一つ目の方ではtext-mode-hook以外にも適用されてしまうと
理解しているのですが、これでいいでしょうか

それと、add-hook で他のモードに影響させないバッファローカルな関数を定義することは可能でしょうか
(add-hook 'input-method-activate-hook
(lambda() (set-cursor-color "yellow")))
この設定をelispモードのバッファにのみ適用させたいです
807名無しさん@お腹いっぱい。:2012/01/20(金) 12:22:38.49
>>803 はたぶん意味を理解していない。
808名無しさん@お腹いっぱい。:2012/01/20(金) 12:28:15.44
>>806
> と書くのでは、一つ目の方ではtext-mode-hook以外にも適用されてしまうと
text-mode-hook が実行? されるバッファ以外にもだけれど、合ってる。

(add-hook 'emacs-lisp-mode-hook
         (lambda ()
         (add-hook 'input-method-activate-hook (lambda() (set-cursor-color "yellow")) nil 'local)))
809名無しさん@お腹いっぱい。:2012/01/20(金) 13:20:47.87
>>808
ありがとうございます。その例とadd-hookのdocを見て理解できました。
810名無しさん@お腹いっぱい。:2012/01/20(金) 17:42:04.36
loop きもすぎる
811名無しさん@お腹いっぱい。:2012/01/20(金) 18:14:36.03
reddit にでてたけど、Emacs にも Achievement System あったら楽しそうだな。
http://www.reddit.com/r/emacs/comments/ook6a/does_something_like_this_exist_for_emacs/
812名無しさん@お腹いっぱい。:2012/01/21(土) 00:58:51.83
横レスだが>>808でインデントが整って見えるのは何故だろう
2chでは連続した空白スペースが省略されると思うんだが
813名無しさん@お腹いっぱい。:2012/01/21(土) 01:17:52.31
&nbsp; == &#160; != &#32;
814806:2012/01/21(土) 01:39:34.48
set-face-foregroundの色やset-face-bold-pの有効・無効を
特定のモードのについてのみ変更できますか?
815名無しさん@お腹いっぱい。:2012/01/21(土) 01:56:08.64
>>813
なるほどnbspですか
2ちゃんブラウザからスレを開いてコピペすると確かにそれがありました
816名無しさん@お腹いっぱい。:2012/01/21(土) 02:11:56.20
>>814
出来ない。
817806:2012/01/21(土) 02:14:14.19
>>816
ありがとうございます。
いろいろやってみましたが設定できなかったのでどこか間違っているのか
迷っていました
818名無しさん@お腹いっぱい。:2012/01/21(土) 14:41:33.95
Emacsで、パターンに一致した行を見えなくすることはできますか。
(削除じゃなくて)
たとえばソースコードで「//」で始まる行だけを一時的に隠したいとか、
「<!ーー ーー>」の行を隠したいとか。
自分で指定したパターンで隠してくれるのを望みます。
あと、行数もつけてくれたら最高。

10: foo
14: bar   ← 11行目から13行目までが隠されていることがわかる
15: baz
819名無しさん@お腹いっぱい。:2012/01/21(土) 15:02:20.11
hideshow は?
隠す部分の開始パターンと終了パターンが指定出来るよ。しかもEmacsに標準でついてくる。
describe-function hs-minor-mode ね。
あと、linum-mode で行表示しててもちゃんと隠された行はスキップされる。


820名無しさん@お腹いっぱい。:2012/01/21(土) 15:03:38.80
ただ、隠したり表示したりのキーバインドが結構押しづらいから
自分で使いたい部分だけバインドしなおしたほうが便利だとは思う。

自分は表示/非表示切り替えの hs-toggle-hiding だけ C-c C-SPC にバインドしなおして
それだけ使ってる。
821名無しさん@お腹いっぱい。:2012/01/21(土) 15:28:21.01
>>819-828
ありがとうございます。ためしてみます。
822名無しさん@お腹いっぱい。:2012/01/21(土) 23:21:55.04
emacs lisp テクニックバイブルの36ページに入力補完として
completion-at-point(M-tab)が紹介されていますが
anythingを導入したらその機能が置き換えられてしまいました
調べてみたらanything-complete.elのanything-lisp-complete-symbol-partial-matchとなったようです

具体的には入力補完の例として本で説明されている
bu-f-naでbuffer-file-nameを補完したいです
そこでM-tabだけはcompletion-at-pointの機能を復活させて
それ以外はanything-completeを利用したいのですが
どうすればよいでしょうか
823名無しさん@お腹いっぱい。:2012/01/21(土) 23:23:15.56
著者に聞きなさい。
824名無しさん@お腹いっぱい。:2012/01/22(日) 10:34:28.62
anything を使ってないから詳しくはわからんけど、
anything-complete の中で define-key してるキーマップ名を探して
(define-key キーマップ名 (kbd "<M-TAB>") nil) とでもして機能を殺せばいい。
825名無しさん@お腹いっぱい。:2012/01/23(月) 21:19:01.13
elcってバージョン間の互換性薄かったりするけど、
複数バージョンの emacs 使ってる人は ~/.emacs.d 以下の elc ファイルってどうやって共有させてるの?
826名無しさん@お腹いっぱい。:2012/01/23(月) 21:44:20.39
そもそもバイトコンパイルほとんどしてない。
というか互換性薄かったっけ?
暗号系のやつは遅いので仕方ないからコンパイルしてるけど互換性で問題になっ
たことない。
827名無しさん@お腹いっぱい。:2012/01/23(月) 21:48:01.40
バージョン間の違いを吸収するときは
バージョンごとに違うディレクトリを掘って、

~/.emacs.d/22
~/.emacs.d/23

それぞれに el ファイルとか elc 放り込んでる。



(setq load-path (cons (format "~/.emacs.d/%s" emacs-major-version) load-path))

みたいなことをしてる。
828名無しさん@お腹いっぱい。:2012/01/23(月) 21:59:21.84
軽くぐぐってみると emacs19とemacs20で非互換だったとか
Meadowの1系と2系で非互換だったとかそんなぐらいだなぁ。
今emacs24でコンパイルしたのをemacs23で読み込ませても特にエラーにはならなかった。
829名無しさん@お腹いっぱい。:2012/01/23(月) 22:24:54.69
>>828

経験したパターンでは、emacs 本体で供給している macro の展開で NG
とかある。個人的な感想では emacs23 と 24 の elc 共用は止めた方が
良い。読み込んだぐらいではエラーにならないけど、使っているうちに
理由の分からんエラーになる。知っている限りでは、Mew と emacs-w3m
はこれに該当する。
830名無しさん@お腹いっぱい。:2012/01/23(月) 22:34:06.05
byte-compile-dest-file-function に version specific なディレクトリに elc 突っ込むような関数定義して
load-path ではその ディレクトリが先頭に来るようにするってのはどうだろう。

el と elc が別ディレクトリだと describe-function とかした後に関数定義に飛べなかったような記憶があるけど・・・
831名無しさん@お腹いっぱい。:2012/01/23(月) 22:36:40.32
>>829
あー、なるほど。elcのフォーマットの問題ではなく、コンパイル時に展開されちゃう
マクロの内容に差があった場合に問題になるってことか。
832名無しさん@お腹いっぱい。:2012/01/24(火) 13:06:00.78
http://twitter.com/kazu_yamamoto/status/161620210237964288

> ELisp は Scheme より Common Lisp に近いため、Common Lisper がたくさん ELisp を書いていますが、ELisp っぽく書けてはいないので、require 'cl しているコードはお勧めできません。

さて、自称上級者はどういう反応をするか。
833名無しさん@お腹いっぱい。:2012/01/24(火) 13:11:14.50
そういや昔、山本さんが誰か知らずにfletとは云々ってブログにコメントしてた人がいたな。
834名無しさん@お腹いっぱい。:2012/01/24(火) 13:18:18.25
だから何?
835名無しさん@お腹いっぱい。:2012/01/24(火) 13:20:55.37
>>832
自称上級者って有料メルマガの人とかか。
あの人はあくまで設定の事だけでLispの何たるかはわかってなさそう。
836名無しさん@お腹いっぱい。:2012/01/24(火) 13:23:31.92
かずさんってEmacsアンチになってるもんだと勝手に勘違いしてたわ
837名無しさん@お腹いっぱい。:2012/01/24(火) 13:25:49.15
アンチには違いないと思うけど。
真っ当なグラマならこんな古くさい言語を必死に宣伝したりしない。
838名無しさん@お腹いっぱい。:2012/01/24(火) 13:26:55.34
そうするとツイッターアイコンが赤いEmacsアイコンなのはそういう意味なのか。
839名無しさん@お腹いっぱい。:2012/01/24(火) 13:27:26.28
Haskellerになって久しいもんな。
840名無しさん@お腹いっぱい。:2012/01/24(火) 13:27:49.92
あれはfiremacsのやつ。と思う。
841名無しさん@お腹いっぱい。:2012/01/24(火) 13:28:58.55
あんな必死になって著書にまで (require 'cl) の有用性を書いてた人にとっ
ては人格を否定されたも同然。でも、反論する度胸はないだろうな。(⊃д`)

いい加減ああいううさん臭いのに騙されるのやめてほしいわ。
842名無しさん@お腹いっぱい。:2012/01/24(火) 13:41:10.32
そもそもあの本売れたの?
843名無しさん@お腹いっぱい。:2012/01/24(火) 13:42:20.69
新人にEmacsの有用性を説く奴は信用ならん
るびきちはもはや老害だろう
844名無しさん@お腹いっぱい。:2012/01/24(火) 13:43:38.30
卒論間際の大学生とか暇な院生の方がelispの生産性高いイメージがある。
845名無しさん@お腹いっぱい。:2012/01/24(火) 13:45:13.51
ていうかあいつすでにelispまったく書いてないじゃん。家で何やってんだろ。
実はもうアンチに変わってるんじゃないか。
846名無しさん@お腹いっぱい。:2012/01/24(火) 15:12:10.87
メルマガ書くのでいっぱいいっぱいになってるんとちがうの。
どんぐらいの密度の内容の文章書いてるのかはわからんけど。
847名無しさん@お腹いっぱい。:2012/01/24(火) 16:07:20.83
common lispのreplのように
scratchバッファでもs式のインデントを自動的に行いたいのですが
(elispモードのように)
どうすればよいのでしょう
848名無しさん@お腹いっぱい。:2012/01/24(火) 16:15:12.98
(define-key lisp-interaction-mode-map (kbd "C-m") 'newline-and-indent)
849名無しさん@お腹いっぱい。:2012/01/24(火) 17:20:35.10
.emacsに書いている設定をinit-loaderで分割するときには
eval-when-compileをところどころ使わなくてはならないようですが、
eval-when-compile を使うのはdefmacroの設定が含まれているライブラリや
defmacroを自分で書いたときだと理解しています
それでいいでしょうか
850名無しさん@お腹いっぱい。:2012/01/24(火) 18:13:50.57
それでいいです。
851名無しさん@お腹いっぱい。:2012/01/24(火) 18:36:47.82
本当ですか?嘘を嘘と見抜けないと 2ch 使えないので念のための確認です。
852名無しさん@お腹いっぱい。:2012/01/24(火) 18:39:00.73
ほんとですよ。
853名無しさん@お腹いっぱい。:2012/01/24(火) 18:53:17.11
>>848
ありがとうございます。うまくいきました。
854849:2012/01/24(火) 19:27:55.67
>>850
どうも。

>>851
誰ですか?
855名無しさん@お腹いっぱい。:2012/01/24(火) 19:34:23.85
 \                    /
   \  丶       i.   |      /     ./       /
    \  ヽ     i.   .|     /    /      /
      \  ヽ    i  |     /   /     /
   \
                                  -‐
  ー
 __          わ た し で す            --
     二          / ̄\           = 二
   ̄            | ^o^ |                 ̄
    -‐           \_/                ‐-

    /
            /               ヽ      \
    /                    丶     \
   /   /    /      |   i,      丶     \
 /    /    /       |    i,      丶     \  
856名無しさん@お腹いっぱい。:2012/01/24(火) 21:22:50.21
なんとなくなつかしさを覚えた。
857名無しさん@お腹いっぱい。:2012/01/24(火) 22:39:23.06
とりあえずrbkt一派のパッケージは使わない方がいいということが分かった。
ソースも参考にしない方がよさそうだな。メルマガも解約するわ。
858名無しさん@お腹いっぱい。:2012/01/24(火) 22:45:52.45
あの情報商材丸出しの紹介文読んだ上で契約してる時点ですでにどうかしてると思うよ。
859名無しさん@お腹いっぱい。:2012/01/24(火) 22:53:17.03
若いやつだろ。
よく大学でオタっぽい友達いないやつが宗教とか詐欺にひっかかってるだろ。
860名無しさん@お腹いっぱい。:2012/01/25(水) 14:49:11.77
情報商材ワロタw
861名無しさん@お腹いっぱい。:2012/01/26(木) 08:56:09.76
>>859
年配の方ですか?
862名無しさん@お腹いっぱい。:2012/01/26(木) 09:19:20.64
革命家rbkt釣れた。
863名無しさん@お腹いっぱい。:2012/01/26(木) 09:40:35.21
先生のアイデンティティが揺らいでいる。可哀そう…
864名無しさん@お腹いっぱい。:2012/01/26(木) 13:33:55.60
盛り上がってるところ申し訳ないのですが、質問させてください。

(add-to-list 'hoge '(fuga0 "piyo"))
(add-to-list 'hoge '(fuga1 "piyopiyo"))

みたいな記述を何度も書くのがアホらしいので、consとかappendとかを駆使して纏めてみようとしたのですが上手くいきません。
どうしたらいいのでしょう。
865名無しさん@お腹いっぱい。:2012/01/26(木) 13:58:32.25
defmacroをどうぞ
GNU Emacs Lispリファレンスマニュアル: 12. マクロ
http://www.fan.gr.jp/~ring/doc/elisp_20/elisp_13.html
866名無しさん@お腹いっぱい。:2012/01/26(木) 14:47:36.03
こういう事?
(dolist (e '((fuga0 "piyo")
(fuga1 "piyopiyo")))
(add-list 'hoge e))
867名無しさん@お腹いっぱい。:2012/01/26(木) 15:34:48.39
>>865
マクロ…おいおい覚えていきます…。

>>866
(dolist (e '((fuga0 "piyo")) '((fuga1 "piyopiyo")))
(add-to-list 'hoge e))

としたらうまくいきました。ありがとうございます!
868名無しさん@お腹いっぱい。:2012/01/26(木) 15:45:12.49
何なのこのひと。。
869名無しさん@お腹いっぱい。:2012/01/26(木) 15:46:51.63
>>867
訂正:
(dolist (e '((fuga0 "piyo") (fuga1 "piyopiyo")))
(add-to-list 'hoge e))

です。
870名無しさん@お腹いっぱい。:2012/01/26(木) 17:10:23.76
こうだと思ったのに……。
(dotimes (i 9)
(add-to-list 'hoge (list (intern (format "fuga%d" i))
(let* ((length (length "piyo"))
(str (make-string (* (1+ i) length) 0)))
(dotimes (j (1+ i))
(store-substring str (* j length) "piyo"))
str))))
871名無しさん@お腹いっぱい。:2012/01/26(木) 17:37:22.16
ウルセーバカ
872名無しさん@お腹いっぱい。:2012/01/27(金) 00:30:35.18
>>818
2年位前、コメントアウト部分を見えなくするマイナーモードを書いたけど、
インデントや空白・tabのところで表示が崩れて断念したな・・・

もっかい作ってみようかな。
自分は「開始と終了」という考え方じゃなくて「文字のface」で考えました。
873名無しさん@お腹いっぱい。:2012/01/27(金) 12:48:49.73
それって hilight が使ってるコメントの開始終了を hideshow に渡すのと比べて何が嬉しいの?
874名無しさん@お腹いっぱい。:2012/01/29(日) 00:03:22.47
FooBar()みたいな関数名をfoo_bar()に変えるにはどうすればいい?
とりあえずM-%でやると、Foo_Bar()みたいになっちまう・・
そんでFoo_Barをfoo_barにしようとしても、やっぱりFoo_Barのまま。
一括置換でない方で頼む。
875名無しさん@お腹いっぱい。:2012/01/29(日) 01:13:55.45
自決した。
foobarと検索してから置換してたらだった。ちゃんとFooBarで検索してから
M-%で大丈夫だった。
876名無しさん@お腹いっぱい。:2012/01/29(日) 17:48:19.27
腹切ったらしい
877名無しさん@お腹いっぱい。:2012/01/31(火) 16:05:49.37
cygstartを使って非同期でファイルを開いたときに(shell-command)
そのファイルを閉じるコマンドはありますか?
開いたファイルのアプリケーションを閉じるしかないでしょうか
878名無しさん@お腹いっぱい。:2012/01/31(火) 16:37:41.81
NTEmacsスレじゃない?
Async Shell なんたらバッファで C-c C-c で殺しちゃうのはどうなんだろ。
879名無しさん@お腹いっぱい。:2012/02/03(金) 14:14:19.52
define-generic-modeで作ったモードのキーワードの
マークアップについて質問します
funcをキーワードに登録しているとき
_func_test と書くと func 部分がキーワードとして認識されてしまいます
2func1 のように書けば認識されません
どうも _ がキーワードを構成する文字として認識されていない気がします
_func_test ではキーワードとして認識されず func test ならされるように
するにはどうすればよいでしょうか
880名無しさん@お腹いっぱい。:2012/02/03(金) 17:06:12.39
やったことないからわからんけど syntax table をいじるんじゃなかったかな。
どの文字がどのクラスに属するとかそういうのを定義しているやつだったとおもった。
881名無しさん@お腹いっぱい。:2012/02/03(金) 19:27:43.75
Amazon.co.jp: Emacs実践入門 ~思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus): 大竹 智也: 本
http://www.amazon.co.jp/dp/4774150029/
882名無しさん@お腹いっぱい。:2012/02/03(金) 19:30:13.82
精神を加速するってこと?
883名無しさん@お腹いっぱい。:2012/02/03(金) 19:33:07.96
仁義なき戦いの予感
884名無しさん@お腹いっぱい。:2012/02/03(金) 19:34:21.92
新興宗教の一種じゃないの
885名無しさん@お腹いっぱい。:2012/02/03(金) 22:01:36.09
 加
加速する!
 す
 る
 !
886名無しさん@お腹いっぱい。:2012/02/03(金) 22:17:07.21
誰かと思ったらるびきちの取り巻きか。
887名無しさん@お腹いっぱい。:2012/02/03(金) 22:31:13.92
るびきちって、るびーきちがいなの?
888名無しさん@お腹いっぱい。:2012/02/03(金) 22:42:57.50
昔そうだったらしい。
でも基本コミュ障なのでrubyのグループからは弾き出された。
それが彼にとっての現実(リアル)。
889名無しさん@お腹いっぱい。:2012/02/03(金) 22:44:28.21
今は、いまきち(いーまっくすきちがい)なのか。
890名無しさん@お腹いっぱい。:2012/02/03(金) 22:44:48.77
マジキチ
891名無しさん@お腹いっぱい。:2012/02/03(金) 22:59:19.38
現在はelispの大家ですね
892名無しさん@お腹いっぱい。:2012/02/04(土) 09:53:17.66
wanderlustとかnavi2chみたいな大型アプリのリリース経験ないけどな。
プッシュしまくってるanythingだって作者は別の人だし。
893名無しさん@お腹いっぱい。:2012/02/04(土) 11:14:31.27
小物リリース数日本一を誇ってるところも涙をそそる。
894名無しさん@お腹いっぱい。:2012/02/04(土) 11:45:33.47
最近、「嫉妬すごい」ってやつ来なくなったなぁ。
895名無しさん@お腹いっぱい。:2012/02/04(土) 12:12:59.46
図書館からは書けない
896名無しさん@お腹いっぱい。:2012/02/04(土) 12:18:50.44
auto-install とか広めるより package.el での mamalade の使い方でも説明したほうが健全だしな。
897名無しさん@お腹いっぱい。:2012/02/04(土) 12:29:24.93
メルマガで説明してんよ
898名無しさん@お腹いっぱい。:2012/02/04(土) 14:14:19.16
男の嫉妬
みっともない
899名無しさん@お腹いっぱい。:2012/02/04(土) 14:18:32.46
嫉妬する程のポジションにいなくないか?最近は。
Emacs人気の凋落とあのメルマガの後がない感・・・
900名無しさん@お腹いっぱい。:2012/02/04(土) 14:44:53.45
メルマガなんて黒田勇樹クラスの知名度でも\8k/monthだからな
ノビーとか堀江しか見てないのかな彼は
901名無しさん@お腹いっぱい。:2012/02/04(土) 14:58:31.23
やっぱりemacsって人気落ちてるのかな?
やっぱりデフォルトで使い物にならないのが問題か?
いっそのこと、デフォルトでviバインドにしとくとか
xyzzyみたいにゲイツモード用意するとか。
海外ではどうなんかな?
902名無しさん@お腹いっぱい。:2012/02/04(土) 15:01:28.12
海外では人気落ちてる
Vimは安定して人気あるけど
903名無しさん@お腹いっぱい。:2012/02/04(土) 16:35:17.66
>>880
ありがとうございます。modify-syntax-entryを使ったらうまくいきました。
904名無しさん@お腹いっぱい。:2012/02/04(土) 17:06:01.03
デフォルトで使い物にならないってのは大きいだろうなあ。
キーバインドについてはそれほど問題にはなってないとは思うんだけど。

設定ファイルのサイズの多寡を競ってたりした時期もあったけど
それってそんだけ標準が話にならないってことの裏返しでもあったんだよな。
905名無しさん@お腹いっぱい。:2012/02/04(土) 17:59:00.78
SKKとその派生入力メソッド
http://anago.2ch.net/test/read.cgi/software/1328329402/
906名無しさん@お腹いっぱい。:2012/02/04(土) 19:10:28.52
まともなguiの設定ダイアログ作るべき
907名無しさん@お腹いっぱい。:2012/02/04(土) 19:27:50.54
まとも、か。例えば firefox みたいなのかね。
ああいう見たことあるので設定できると見せるだけで、
「うっ」て思う人減らせるんかなぁ。
908名無しさん@お腹いっぱい。:2012/02/04(土) 19:32:30.98
customize はなぁ・・どこ触ったらどうなるのかがぱっと見よくわからんもんね。
そのOS標準のUIでいじれないってのはやっぱり二の足を踏むよ。
909名無しさん@お腹いっぱい。:2012/02/04(土) 20:10:23.26
OS 標準の UI ってなんなのよ。アプリごとにばらばらだと思うが。
elisp使えないんなら禿丸でもなんでも使ってた方がいい。金さえ払っていれば。
秀丸は4000円のやつは腐るほどいる。
910名無しさん@お腹いっぱい。:2012/02/04(土) 21:07:31.00
customzeをちゃんと使ってる人ろくにみたことないわ。

>>909
OS標準のボタンとかチェックボックスとかのことだろ。
emacs 標準搭載のうんこ widget はマジうんこ。
emacs24 では xwidget 標準搭載見送りになっちゃったんだよな・・・
911名無しさん@お腹いっぱい。:2012/02/04(土) 22:59:17.68
確かにabout:configは使いやすいよな
912699:2012/02/05(日) 02:08:30.54
X上における「OS標準のボタンとかチェックボックス」て
Athena Widgetのことかいな(んなわけない)
まさかここでこういうレス見るとは思わなんだよ。どーでもいいが。

913名無しさん@お腹いっぱい。:2012/02/05(日) 02:10:34.02
Emacsは指が痛くなる
914名無しさん@お腹いっぱい。:2012/02/05(日) 02:36:18.20
そろそろ、EmacsもWEBブラウザ上で動くようにすべきだな。
915名無しさん@お腹いっぱい。:2012/02/05(日) 03:53:38.85
jslinux上のemacsか
916名無しさん@お腹いっぱい。:2012/02/05(日) 03:53:42.61
それより、関数のブロック化をだな。。。
917名無しさん@お腹いっぱい。:2012/02/05(日) 07:23:57.77
>>912
多分今だとgtkのwidgetなんじゃない?
xwidgetなんてまさにそれだ。
http://www.emacswiki.org/emacs/EmacsXWidgets
918名無しさん@お腹いっぱい。:2012/02/05(日) 10:21:20.55
gnus-group-customize はだめかい
919名無しさん@お腹いっぱい。:2012/02/05(日) 10:29:49.86
gnus使ってる人って今どれぐらいいるんだろう。
920名無しさん@お腹いっぱい。:2012/02/05(日) 14:13:39.70
>>904
俺のまわりのアンチは皆終了の仕方が
わからず嫌いになったって言ってた。
921名無しさん@お腹いっぱい。:2012/02/05(日) 14:19:01.84
朱に交われば。。。
922名無しさん@お腹いっぱい。:2012/02/05(日) 14:19:45.82
しゅらしゅしゅしゅ
923名無しさん@お腹いっぱい。:2012/02/05(日) 14:23:43.39
emacs24 で font-lock がとても遅いことがあるのですが、
何か解決法をご存知の方はいませんか?
http://lists.gnu.org/archive/html/bug-gnu-emacs/2011-12/msg00387.html
再現する症状をMLへ投稿されている方はいるのですが、
さくっと無視されているようですし…
924名無しさん@お腹いっぱい。:2012/02/05(日) 20:53:02.94
>>920
File->QuitじゃなくてFile->Closeじゃ無きゃだめって事か?
どんなゆとりだよ。
925名無しさん@お腹いっぱい。:2012/02/05(日) 21:28:26.09
いや、どこの設定例でもメニューとツールバーを消すところから始めてるのが
そもそも問題のじゃないかと。
926名無しさん@お腹いっぱい。:2012/02/05(日) 21:37:31.42
>>924
guiじゃなくて、cuiでしかさわったことなかったみたい。
927名無しさん@お腹いっぱい。:2012/02/05(日) 21:40:00.84
つうか vi も emacs も予備知識無しでは終了できないよな。
928名無しさん@お腹いっぱい。:2012/02/05(日) 21:45:49.42
>>925
メニューとツールバーを消す設定したら保存して、「終了して」、再起動だろ。w
929名無しさん@お腹いっぱい。:2012/02/05(日) 21:46:55.07
いつ emacs で .emacs を編集したと錯覚していた?
930名無しさん@お腹いっぱい。:2012/02/05(日) 21:54:18.34
>>927
ここ10年ぐらいしか知らないけれど、その辺りはもうネタ化していると思ってた。
初心者向けUNIX系OSの使い方の本を買えば、viの使い方は載ってるし、ものによってはEmacsの紹介もしてるし。
931名無しさん@お腹いっぱい。:2012/02/05(日) 21:56:02.44
emacsとviは矢印キーでもカーソルを動かせる良心的なエディタです
932名無しさん@お腹いっぱい。:2012/02/05(日) 22:03:14.81
>>929
emacs以外のエディタで設定させているemacsの設定例があるというならリンクを張ってみたまえ。
933名無しさん@お腹いっぱい。:2012/02/05(日) 22:36:34.63
customizeってそんなに忌み嫌われているの?
アレないとorg とかeshellみたいな巨大なパッケージの細かい設定いじくるの大変だし、
それにinit.elが大量のsetq羅列になっちゃうでしょーが。
あとmenu-barを敢えて非表示にする理由もよくわからないな。
下手にキーボード原理主義にハマりこむと見過ごしてしまいそうな機能がたくさんで…
934名無しさん@お腹いっぱい。:2012/02/05(日) 22:41:31.82
だって使い辛いんだもの。
init.el なんてそもそも設定ファイルなんだから、羅列になるのは当たり前でしょ。
適当にコメントつけときゃ大して可読性も悪くならないし、なんだったらファイルを分ければいいし。


でも、フォントの設定じゃGUI使っちゃうの。。。
935名無しさん@お腹いっぱい。:2012/02/05(日) 22:51:41.63
>>919
Netnewsは廃れたとしてEmacs上のメールリーダーとしては一番ユーザーが
多いんじゃないか? RMAILはRMS専用だろうし、mewは日本人専用(wanderlustも?)、
cmailはもう続いてない筈だし。MH-Eってことも今時ないよね。
936名無しさん@お腹いっぱい。:2012/02/05(日) 22:53:11.03
えー、それじゃcustomize好きじゃない人は、orgみたいな超長文の
ドキュメントとか*-var.el ナナメ読みしながらsetq していくの?
さらに言えば eshellみたいにドキュメントがほとんどないものもあるよね
937名無しさん@お腹いっぱい。:2012/02/05(日) 22:59:45.39
ソース(*.el)見てdefvarされてる変数を拾い読みして行く
938名無しさん@お腹いっぱい。:2012/02/05(日) 23:01:07.93
>>935
最近はgmaneというものもあるよ。
gnusでnnrssを使っていたけれど、遅さと携帯電話からも見るためにとRSSだけgoogle readerに移行した。
最低限gnus-select-methodを設定すればMUAとして使えるようになるけど、infoでその情報を探すのに苦労した。
939名無しさん@お腹いっぱい。:2012/02/05(日) 23:12:37.22
おれも *.el 斜め読み派。
設定が辛いのは英語が多いからかなーという気がしてる。
940名無しさん@お腹いっぱい。:2012/02/05(日) 23:12:47.01
>>933
・ defcustom(autoload)されてない変数をカスタマイズできない。
・ \037等の文字を含む変数をカスタマイズするとバイナリコードをそのまま埋め込む
941名無しさん@お腹いっぱい。:2012/02/05(日) 23:25:04.57
customizeを通して設定するときは自動で実行してくれる関数があるから。
手動だと変数の設定と一緒にその関数を実行するようにしとかないと駄目なものもあるかも
942名無しさん@お腹いっぱい。:2012/02/05(日) 23:30:35.34
customize が嫌いな点

- 設定に関し、コメントを付けられない。
- autoload で留めておきたくても勝手にロードしてしまう。
943名無しさん@お腹いっぱい。:2012/02/05(日) 23:40:52.31
setq 内容が式になったりすることが多いから
customize インターフェースではそもそも設定しきれない。

アクセス性の低いcustomize画面をちんたら眺めるより
elに対してoccurでもした方がよっぽど速く読めるわ。
944名無しさん@お腹いっぱい。:2012/02/06(月) 22:53:31.58
23.4が出たんだけど(´・ω・`)
945名無しさん@お腹いっぱい。:2012/02/06(月) 22:55:29.06
出たんだけど、何?
946名無しさん@お腹いっぱい。:2012/02/07(火) 00:50:09.74
>>909
秀丸は購入しても4000円。
真面目に払ってちょっと萎えた。
947名無しさん@お腹いっぱい。:2012/02/07(火) 01:18:32.63
ソフトの不正利用してるやつらを爆殺したい。
948名無しさん@お腹いっぱい。:2012/02/07(火) 03:24:12.50
秀丸のビジネスモデル

1 秀丸をみんなが4000円で使う、それが社内に蔓延する
2 コンプライアンス遵守という号令がかかる
3 全社分一気に正規購入

これゆえいつまでも4000円なのである。
949名無しさん@お腹いっぱい。:2012/02/07(火) 11:24:14.74
まるおさんはなんだかんだで結構もうかってるんだろうな。うらやましす。
950名無しさん@お腹いっぱい。:2012/02/07(火) 11:43:21.75
まるおさん今いくつなんだろう・・・
るびきちもEmacsじゃなく秀丸にくっつかってた方が儲かったんじゃないのか?
951名無しさん@お腹いっぱい。:2012/02/07(火) 11:53:09.23
秀丸の話はよそでやってくんね?
952名無しさん@お腹いっぱい。:2012/02/07(火) 12:54:05.03
秀丸がもうかる理由を探せばEmacs流行らせられるかもしれない。
953名無しさん@お腹いっぱい。:2012/02/07(火) 13:42:50.12
emacsの代替環境は一向にはやらない
clmacsとかyiとか何やってるの?
954名無しさん@お腹いっぱい。:2012/02/07(火) 17:35:44.94
xyzzyはほそぼそと続いてるよ!
955名無しさん@お腹いっぱい。:2012/02/07(火) 17:42:17.97
開発止まったんじゃなかった?
956名無しさん@お腹いっぱい。:2012/02/07(火) 23:43:57.13
止まったよ。完全に止まった。
957名無しさん@お腹いっぱい。:2012/02/08(水) 06:12:47.00
2006年だかにライセンス変更のみのリリースがあって
以降作者さんからのリリースはなし。
ただ普通にWindows7でも動いてるってのがうらやますい。
Emacs20を今の環境でビルドしようったってそうはイカンからなあ。
958名無しさん@お腹いっぱい。:2012/02/08(水) 15:10:09.34
ふと思ったんだけど、まるおさんは本当に羨しいけどrbktはまるでうらやましくない。
まるおさんには嫉妬するけどrbktにはまるで嫉妬しないよ。
それははしばしから感じるrbktのセコさからだと思われる。
959名無しさん@お腹いっぱい。:2012/02/08(水) 15:32:05.60
ヲチは別スレに分けられないかな。
Emacsの話したくてここに来てるんだが
るびきちだの何だのはほんとどうでもいい。
960名無しさん@お腹いっぱい。:2012/02/08(水) 15:33:38.03
「elisper観察スレ」とか立てていい?
961名無しさん@お腹いっぱい。:2012/02/08(水) 16:21:55.86
>>959
別にEmacsの話したいだけすればいいんでないの。ちゃんと反応は帰ってくるだろうし。
話題がないからるびきちの話が出ちゃうだけの話であって。
962名無しさん@お腹いっぱい。:2012/02/08(水) 16:33:42.57
>>961
話題がないならスレ止まってていいよ別に。
レス増えてると思って見にくると
どうでもいいヲチ話ばっかで埋まってたりしてうんざりする。
963名無しさん@お腹いっぱい。:2012/02/08(水) 16:45:20.18
なんかわがままなのがいるな
964名無しさん@お腹いっぱい。:2012/02/08(水) 16:47:15.53
今のEmacs界隈とるびきちさんは切っても切り離せないんだから
俺の好みの話以外するなっていうのは駄目人間だよ
965名無しさん@お腹いっぱい。:2012/02/08(水) 17:06:04.44
>>963
たしかに一人で言ってるうちはわがままだけどね。
他に賛同者いないかな、と思って。
966名無しさん@お腹いっぱい。:2012/02/08(水) 17:07:22.43
2chに何期待してんの
967名無しさん@お腹いっぱい。:2012/02/08(水) 17:10:50.47
いいじゃん期待しても。
968名無しさん@お腹いっぱい。:2012/02/08(水) 17:12:20.51
>>964
場所は分けられると思うよ。
話するなとは言わん。
969名無しさん@お腹いっぱい。:2012/02/08(水) 17:15:42.90
るびきちの取り巻き必死だなw
970名無しさん@お腹いっぱい。:2012/02/08(水) 17:17:20.35
NGしとけよ
971名無しさん@お腹いっぱい。:2012/02/08(水) 17:19:42.37
rbkt と るびきち をNGWordにすれば済む話だよな。
972名無しさん@お腹いっぱい。:2012/02/08(水) 17:46:59.00
しかし UNIX 界では 2ch に名前のスレが立ってからが一人前というのもあったりするよな
973名無しさん@お腹いっぱい。:2012/02/08(水) 17:48:59.23
ねーよw
974名無しさん@お腹いっぱい。:2012/02/08(水) 19:27:50.32

 び

    き

      さ
 ん
975名無しさん@お腹いっぱい。:2012/02/08(水) 23:43:44.25
前のはeverything押しばっかでつまらん本だったが、新しい本はどうなの?
976名無しさん@お腹いっぱい。:2012/02/09(木) 00:24:31.20
一緒だよ。あの偏執的な性格から分かる通り。
977名無しさん@お腹いっぱい。:2012/02/09(木) 00:50:25.08
きちって、きちがいのきちなの?
978名無しさん@お腹いっぱい。:2012/02/09(木) 01:01:33.47
山田瑠美吉
979名無しさん@お腹いっぱい。:2012/02/09(木) 20:09:22.66
mac でバージョン23.2を使ってます。
Ctrl+\ で日本語入力モードにすると、文字化けしてしまいます。
別のエディタでそのファイルを開いて見ると、打った通りの日本語が入っています。
emcasの設定の問題だと思うのですが、どうすれば解決できますか?
980名無しさん@お腹いっぱい。:2012/02/09(木) 20:26:28.35
everything
981名無しさん@お腹いっぱい。:2012/02/09(木) 20:52:58.26
nothing
982名無しさん@お腹いっぱい。:2012/02/09(木) 21:20:59.35
教えてくれ。ないと。爆発するぞ。
983名無しさん@お腹いっぱい。:2012/02/09(木) 21:55:23.68
おもしろそうだから、少し待ってみよう。
984名無しさん@お腹いっぱい。:2012/02/09(木) 22:01:39.98
>>983
君も道連れだ。
985名無しさん@お腹いっぱい。:2012/02/09(木) 22:58:28.75
瑠美吉ワロタ
986名無しさん@お腹いっぱい。:2012/02/09(木) 23:46:21.40
君も童貞だ。
987名無しさん@お腹いっぱい。:2012/02/10(金) 07:18:52.26
988名無しさん@お腹いっぱい。:2012/02/10(金) 09:50:21.71
着々と信者を増やしているようで何より
某池ハヤト君とかキュレーションおじさんを彷彿とさせる
目指している位置はその辺なのだろうな
989名無しさん@お腹いっぱい。:2012/02/10(金) 13:00:34.25
ジャムおじさん
990名無しさん@お腹いっぱい。
ruby jam