[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 03/27 08:34 / Filesize : 205 KB / Number-of Response : 769
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

Emacs Lisp 3



1 名前:デフォルトの名無しさん [2007/10/09(火) 05:39:53 ]
Emacs Lisp の専用スレ。
少数派による互助を中心に、初心者の相談も気が向けば受け付けます。
単なる Emacs ユーザーは別板の Emacs 関連スレにどうぞ。

過去スレ
Emacs Lisp
pc2.2ch.net/test/read.cgi/tech/1004551074/
Emacs Lisp 2
pc11.2ch.net/test/read.cgi/tech/1068467385/

関連スレ
Emacs part 22
pc11.2ch.net/test/read.cgi/unix/1180828013/
【叩かれて】Emacs Lisp道場【強くなれ】
pc11.2ch.net/test/read.cgi/unix/1063880951/
Lisp Scheme Part18
pc11.2ch.net/test/read.cgi/tech/1186922295/

320 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 16:27:56 ]
Emacsがmacびいきな名前だからEwinsにするのが俺の夢だ。

321 名前:Zeno ◆5nZQbNmQPs [2009/10/15(木) 16:41:39 ]

>>320
自分でソースを引っ張ってきて、ソース内、そしてファイル名に含まれる
[Ee]macs を [Ee]wins に変換すれば良いだろうが。



322 名前:Zeno ◆5nZQbNmQPs [2009/10/15(木) 16:45:56 ]

>>320
それと一応教えておくが、MacよりもEmacsの方が先だ。

もしそういうことにしたいのであれば「Emacsがmacびいきな名前」ではなく、
「MacがEmacsびいきな名前」と解釈するのが正しい。


323 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 17:14:51 ]
いまどきEmacsなんか使ってたら厨か老人扱いだろ。
なんでそうなったかっていうと、圧倒的大多数を占めるWindowsに
インターフェースを合わせなかったからだろうな。
標準をWindowsに合わせて、オプションで旧Emacsを選べるのが
本来の正しい姿。

324 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 17:17:24 ]
>>323
君面白いねw

というかWindowsがEmacsにあわせるべき。
Macはもう合わせてる。


325 名前:Zeno ◆5nZQbNmQPs [2009/10/15(木) 17:31:04 ]

中身が理解できていない為、デフォルトの見た目について
あれこれ文句を言うことしかできない真性の阿呆は放っておけ


326 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 17:35:42 ]
xkeymacsでええやん

327 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:00:12 ]
「窓使いの憂鬱」も忘れないで!


328 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 20:07:39 ]
ありゃキーロガーだから死すべきもの



329 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 21:24:17 ]
>>320
ttp://www.ueda.info.waseda.ac.jp/~ichibe/pub/members.tripod.co.jp/zzyyb/mit/doc-ja/user_8.html
Emacs ライクな Scheme ベースのエディタ Edwin
ただし日本語は通らないらしいが

330 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 22:15:20 ]
なんでEmacsはwindowsで使えないの?
windowsアンチなの?

331 名前:デフォルトの名無しさん [2009/10/15(木) 22:28:12 ]
なんでwindowsではEmacs使えないの?
Emacsアンチなの?


332 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 22:41:05 ]
なんでwindowsでEmacs使えないと思ってるのかが謎だ

333 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:12:35 ]
meadowもemacsだろ

334 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:20:17 ]
emacsでパソコンとお友達になれますか?

335 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:29:15 ]
オフィシャルに Windows のバイナリもあるというに。

336 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:42:28 ]
いまどきMeadowはないだろ。。。

337 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:46:58 ]
meadowはemacsenだけどNTEmacsはEmacsだよな

338 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 16:43:29 ]
xyzzy も忘れずに



339 名前:デフォルトの名無しさん [2009/10/16(金) 19:42:53 ]
Windows マシンを持ってないんだけど、xyzzy って Emacs ユーザから見て実際どうなの?

・これだったら Emacs で十分だぜ
・これなら十分 Emacs の代替になるな
・こ、これは Emacs より断然スゲー!

340 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 19:52:42 ]
mgみたいなもの

341 名前:デフォルトの名無しさん [2009/10/16(金) 20:10:49 ]
それは elisp が使えなければ Emacs に非ずって事かな?

342 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 20:18:49 ]
Emacs 的に見るとまがいもんだけど、
エディタ全般的に見ると xyzzy には xyzzy の良さがある。
着想の元が Emacs だとしても今では別物。
比較するようなもんじゃない。

343 名前:デフォルトの名無しさん [2009/10/16(金) 20:26:26 ]
なるほど、別物なのか…
ありがと。

344 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 22:59:31 ]
Emacsとして見ようとすると違和感があるけど、
Windowsアプリとして見るとEmacsより違和感が無いって感じ(´・ω・`)

345 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 23:00:56 ]
メモ帳感覚で使えて、かなりemacsぽくもつかえる

346 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 23:08:32 ]
正直、Windowsつこうてる時は、Emacsよりもxyzzy使うことのほうが多い僕は異端児。

347 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 08:41:20 ]
ただ細かい部分でEmacsと違うから
Emacs好き好きすぎるとかえってストレスたまるかもしれんね。


348 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 09:17:51 ]
Emacs好き好きだったら当然Window上でも本物Emacs入れてるでしょ。
今のWindows用EmacsはUSBに入れて持って歩けるしね。




349 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 18:44:32 ]
emacsそのものより利用者が作ったライブラリとか付属のelispを使う為ってのが大きい

350 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 20:49:56 ]
>>349
大昔にマイコンさわったときの最初のエディタがmince(micro emacs)だったと言うだけでemacs以外さわれない体になった俺みたいなのもいる(普通はwordmasterだった頃)
RPN電卓さわってしまった工学系学生とおなじようなもんだけど


351 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 20:56:13 ]
よく「最初にXXXXをさわったからXXXXしか使えなくなった」って言う人がいるけど
単に適応能力が普通の人に比べて足りてない能無しってだけだよね。
価値のある体験談でもないし勿論自慢にはならない。

352 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 21:09:32 ]
さわれないっていうよりさわりたくない、ぐらいだろね
必要にせまられればどんなエディタでも結構なんとかなったりする


353 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 21:26:45 ]
>>351
もちろん君はQwerty配列でもDvorak配列でも全く同等に使えるんだよね?

354 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 21:41:26 ]
>>351
emacsとvi好きに喧嘩売るとはなんという宗教戦争マニア!


355 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 21:47:06 ]
>>351
エディタとか割とよく使うもの(鉛筆とノートのように)だと最初の原体験で得た物と次にさわった物の間で入力速度に差があると二度と他に移りたくなくなる物だよ
今の時代のようにしょっちゅう入れ替えができたり物が選べる時代じゃないならなおのことだ(当時はストレージがFDドライブ二個が上限だったしエディタ買うのだってものすごく高価だった)

今でも各種IDEのキーバインドにエディタ名を冠した設定がある事がそれを物語ってるよ


356 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 01:38:28 ]
仕事だとそんなふぬけたこと言ってらんないんだけどね。


357 名前:デフォルトの名無しさん [2009/10/25(日) 01:51:57 ]
>>353
それ、良い喩えだね。面白い。

358 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 02:00:11 ]
>>353
どっちも十分に経験していれば、当然どっちも十分に使えるだろうね。
普通の人は。

脳に欠陥のある人は、二つ目の経験が一つ目を吹き飛ばしてしまうかも。



359 名前:デフォルトの名無しさん [2009/10/25(日) 02:16:32 ]
一時期 RPN 電卓を覚えようとした事があったけど、常にパソコンを
携帯していたので電卓の出番が無くて結局覚えられなかったなあ。

bc って打つ代わりに dc って打てば良いだけだったんだけど、そこは
やっぱり人の性、要らん物は覚えないね。

360 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 03:16:49 ]
「一事なれば万事成る」っていうじゃないか。
まず一つの事を深く知ることが大事だろ。


361 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 03:48:27 ]
>>358

>どっちも十分に経験していれば、当然どっちも十分に使えるだろうね。

ただし、
日本ではQwertyを強制される機会は多くてもDvorakを強制される機会はほとんどないため
普通の人はQwertyしか使えない。
自分で乗りかえようと思い立った人か幸運にも最初がDvorakだった人のみが
Dvorakを使えるというのが現状。

だからどっちも十分に経験していれば、という前提が非常にレアケース。

普通の大部分の人は
「最初にQwertyをさわったからQwertyしか使えない。」

362 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 05:14:32 ]
>>361
もっともらしく文章書いてるが結論でいきなり論理が飛躍している上に間違っている。阿呆。
最初にQwertyをさわったからQwertyしか使えない。
ではなく
QwertyしかないからQwertyしか使わない。
程度の事しかおまえさんの文章では結論できない。

363 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 05:21:04 ]
>>362

>QwertyしかないからQwertyしか使わない。
そこらじゅうにDvorakに触れる機会はあるよ。
ただみんなそれを選んでないしそうする必要もないだけ。

だから普通は選ばない。
理由は慣れてないから。
なぜ慣れていないかと言うと普通は最初にDvorakを触っていないから。覚えるコストも大きい。

どこか違うの?


364 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 09:32:36 ]
そんなことよりいい加減スレ違いなのに気付こうぜ。
最初に触れたのが Common Lisp だから Emacs Lisp が気持ち悪いって話題ならともかく・・・

365 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 09:51:46 ]
>>353
もれはASCII配列のQWERTYしか使えない

366 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 10:53:59 ]
ANSI配列って言いたいんだろうな

367 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 10:55:25 ]
Emacsユーザの場合、「使えない」には3つのパターンがある。
a)操作性が同じじゃないので使えない。
b)XXXというEmacsLispと同等のものを、他のエディタ上で用意できない。
c)作り貯めたマクロを移行するのが大変すぎる。
aは極論すれば慣れればなんとかなるわけだが、Emacs歴20年です、
という人なんかはb, cが大変だと思われ。

368 名前:367 mailto:sage [2009/10/25(日) 11:00:48 ]
で、個人的にはもう一つ、
d)クラスプラットフォームでGUIでもターミナルエミュレータでも使えるエディタが極めて限られる。
てのがあって、Emacsを捨てたくてたまらないのに(今のところ)移行先が見当らないという……。



369 名前:デフォルトの名無しさん [2009/10/25(日) 11:26:48 ]
自分が使うエディタは好きな物を選べるから、実質上困った事無いなあ。
困ってない事を解決するのは余程の暇人じゃないと難しい。

370 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 12:12:36 ]
人によって環境違うしな。
UNIX上での仕事メインならEmacs使うのになんの支障もないだろし
他のOSでもエディタの指定がゆるいならバリアントを入れればいいし
仕事じゃなくて趣味ならおさっしだし。

navi2chしか使ってないくせにEmacsしかもう使えない!なんていってるやつは
死ねばいい

371 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 12:23:04 ]
>navi2chしか使ってないくせにEmacsしかもう使えない!なんていってるやつは
>死ねばいい
流石にネタだと思いたい


372 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 14:31:24 ]
あーいそうだそういうのw
UbuntuインストールしただけでLinuxマスター(笑)になっちゃって
わけしり顔でWindows批判はじめだすような人種だな

373 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 15:36:31 ]
仮想敵かよ

374 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 17:56:56 ]
♪見えない敵にマシンガンを〜

375 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 18:58:43 ]
見えない敵ではなく、見える雑魚だろう。

376 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 19:25:34 ]
deffaceはどうやらdefvarと同じく上書きがされないみたいなんだけど
このdeffaceの引数と同じ書式で上書き可能な関数ってあります?
(set-face-* ...)もあるけど、できればまとめて定義したいので


377 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:28:54 ]
>>376
set-face-attribute とか?

378 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 21:23:30 ]
>>377
それだと引数がリストじゃないんですよね。。

とりあえず自分でdeffaceを弄ったものが期待どおりに動いたのでよしとします
paste.lisp.org/display/90293




379 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 21:03:37 ]
こんなのってない?

【プログラミング万歩計】
ファイルの拡張子ごと、日付ごとに自分が何回タイプしたか統計を取る。
健康増進的なノリでプログラミング力を鍛える励みにする。




380 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 21:20:13 ]
>>379
outputz.el みたいなの?

381 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 21:26:16 ]
みたいなのっていうかそのものっぽいな。
拡張子毎ってあたりは適当に細工しなきゃいけないだろうけど。



382 名前:379 mailto:sage [2009/12/01(火) 22:05:16 ]
>>380,381
どうもです。
調べてみます。


383 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 00:41:20 ]
elispでチャット作ったけど使ってくれる人がいない

384 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 06:15:34 ]
全emacsenが泣いた

385 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 14:20:13 ]
emacs 上で現在動いている timer の一覧を得る、なんてことはできませんか?


386 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 20:44:03 ]
10年くらい前に書いた関数だけど、まだ動きそう。

(defun describe-timer ()
(interactive)
(let ((tl timer-list)
timer)
(pop-to-buffer (get-buffer-create "*timer*"))
(erase-buffer)
(insert
"TIME FUNCTION\n"
"-------------- --------------------------\n")
(while tl
(setq timer (car tl))
(insert
(concat
(format-time-string "%m/%d %T"
(list (aref timer 1)(aref timer 2)(aref timer 3)))
" "
(symbol-name (aref timer 5))
"\n"))
(setq tl (cdr tl)))))


387 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 01:38:29 ]
timer-list に保管されてるのか。
すばらしい。ありがとう!!


388 名前:デフォルトの名無しさん [2009/12/09(水) 04:58:04 ]
スレ違いですが、教えてください。
さっきMeadowを使っている人は少なくて本家のgnu emacs winバイナリを使っている人が主流みたいに書いてあったのですが、みなさん日本語入力はどうしてます?



389 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 08:35:32 ]
skk

390 名前:デフォルトの名無しさん [2009/12/09(水) 08:43:22 ]
なるほどSKKですか、MS-IMEやATOKを使っている方はいらっしゃらないでしょうか。
そもそも使う方法はないのでしょうか。

391 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 16:37:41 ]
>>388
なぜ、このスレで質問してるのか、よくわからないが、MS-IMEでMeadowに入力できたと思うけどなあ。
で、Meadowで何をしたいんだ?
emacsを使いたいなら、マウスを持たずにCUIで作業するのが理想だと思うなあ。

392 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 16:48:44 ]
>>391
いきなりマウスの話題が出てきた理由って何なの?

393 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 17:32:46 ]
>>391
ん?
Meadow じゃなく gnu emacs win バイナリで日本語入力はどうしてるの?
って質問じゃないかと。

394 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 18:31:32 ]
ntemacsjp.sourceforge.jp/

395 名前:デフォルトの名無しさん [2009/12/09(水) 20:05:24 ]
>>391
elispスレなので、本家のgnu emacsを好む方が多いかなと思って質問させていただきました。

>>394
23baseがあれば嬉しいですが、すみません、わがまま言いすぎですよね。

396 名前:デフォルトの名無しさん [2009/12/09(水) 20:10:24 ]
>>394
すみません。リンク先をよく見ていませんでした!
emacs23のIMEパッチをしてくださったんですね。早とちりしてNTemacsのことだと思っていました。すみません。
さっそく試してみます。ありがとうございました!

397 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 00:13:25 ]
y-or-n-p関数についてなんですが
* 端末から利用するとQuit(\C-g)が効く
* Xから利用するとQuitが効かない
てのは、正しい動作なんでしょうか?


398 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 01:44:25 ]
今、X上のemacsで (y-or-n-p "hoge") とやってみたけど C-g でquitできたよ。



399 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 23:00:27 ]
>>398
てことは、ウチの環境だけみたいですかね。。
正しくはXじゃなくてGTK@Ubuntuなんですけど

400 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 05:31:59 ]
sql-mode をつかってるんだけど、"REM" をコメント風に認識させられない?
remark 文の中の '09/12/20 みたいな ' 文字がでる度に string だと認識されて困る

401 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:25:39 ]
来年は elisp がネイティブコンパイルできる様になります様に ナムナム

402 名前:デフォルトの名無しさん [2010/01/18(月) 17:31:37 ]
message 関数の様に使えてC言語の fprintf のようにファイル(バッファでもいいけど)に
出力する関数ってありますか?

403 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 17:53:44 ]
>>400
よくわからんが mmm-mode とか使えないの?

404 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 18:11:53 ]
>>402
format


405 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 19:04:47 ]
format って sprintf ですよね。string とか変数作って いちいち concat して
set-buffer して insert しないといけないんでしょうか。

質問ばかりですみません。

406 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 19:21:32 ]
(defun insert-to-buffer (buf fmt &rest args)
(with-current-buffer buf
(insert (apply #'format fmt args))))
みたいな関数を自分で作っちゃえばいいんじゃない?
標準にありそうな匂いがプンプンするけど

407 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 19:43:12 ]
>>406
とりあえずありがとう。やりたい事がやっとできました。

408 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:10:59 ]
>>402
sprintfのようにフォーマットの指定まではできないが
文字列の出力先を指定する関数はいくつかある。print/prin1/princなんかがそう
(princ (format "Hello %s.\n" "Emacs") (find-buffer "*scratch*"))

(info "(elisp) Output Streams") も参照
emacsの場合はファイルよりもバッファをやりくりするのが基本かな。




409 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 21:12:16 ]
リージョン内の数字にカンマを打とうと思って、

(defun ins-comma (start end)
"insert comma to digits in region."
(interactive "r")
(let ((res t))
(while res
(save-excursion
(goto-char start)
(if (setq res
(re-search-forward "\\([0-9]+\\)\\([0-9]\\{3\\}\\)" end t))
(replace-match "\\1,\\2" nil nil))))))

とすると、リージョンの尻にある数字にマッチしません。
どこが間違ってるでしょうか。
re-search-forwardの第二引数をnilにすればマッチするんですが。

410 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 19:22:28 ]
・endがマーカーじゃない
・replace-matchにより該当部分の長さが変わる
・前から順に書き換えている
から。

411 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 19:25:32 ]
わかりました。ありがとうございます。

412 名前:デフォルトの名無しさん mailto:<sage> [2010/01/22(金) 08:51:54 ]
先生、質問があります。以下のように defvar で定義されたリストを関数の一
部として使っているような場合に、edebug してトレースしたいときは、どう
すれば良いのでしょうか? (以下の場合では、anything-c-source-recentf の
中をトレースしたい。 )

(defvar anything-c-source-recentf
'((name . "Recentf")
(candidates . recentf-list)
(match . (anything-c-match-on-file-name
anything-c-match-on-directory-name))
(type . file))
"See (info \"(emacs)File Conveniences\").")

(anything 'anything-c-source-recentf)

413 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 17:09:30 ]
質問の前提が間違ってます。

414 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 03:29:24 ]
>>413
前提というのは、「defvar で定義されたリストを関数の一部」かなと思うから
anything コードを見てみたら、必要に応じてリストから部分的に取り出して
使ってるように見えるから前提があってない。 そういうこと?

だから edebug でトレースは無理ということで終了?


415 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 14:47:01 ]
そう。edebugするなら対象はanythingの中の
> anything コードを見てみたら、必要に応じてリストから部分的に取り出して
> 使ってる
この部分になるでしょう。

416 名前:デフォルトの名無しさん [2010/01/27(水) 03:38:30 ]
>>414
レスありがとう。やってみます!!

417 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 08:49:08 ]
テスト

418 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 16:01:36 ]
こんにちは。hash について質問させてください。

(defun case-fold-string= (a b)
(compare-strings a nil nil b nil nil t))

(defun case-fold-string-hash (a)
(sxhash (upcase a)))

(define-hash-table-test 'case-fold
'case-fold-string= 'case-fold-string-hash)

(setq lang-hash (make-hash-table :test 'case-fold))

elisp info にあるように上記のようにして、ハッシュを作成してみましたが、
キーによっては、以下のようにハッシュ値が同じになってしまい、うまくいき
ません。こういう場合は、どうするんでしょうか?

(case-fold-string-hash "RU")1397
(case-fold-string-hash "SE")1397





419 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 16:30:25 ]
>>418
ハッシュ値は関係ないと思う
完全ハッシュ関数を作らないかぎり、ハッシュ値はふつう重複する
Wikipedia のハッシュテーブルとかハッシュ関数の頁を参照

で、問題は compare-strings は文字列が一致しないときに数値を返すこと
(defun case-fold-string= (a b)
(string-equal (upcase x) (upcase y)))
ならうまく動いた

420 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 09:52:56 ]
>>419
ありがとうございます。同じハッシュ値をもつキーでもバリュー値を上書きす
るわけじゃないんですね。

421 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 14:13:42 ]
Emacs Lisp で書かれたものってソフトウェア?

422 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 14:52:36 ]
そう。

423 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 14:58:35 ]
すくなくともハードウェアでないことは確か。

424 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 15:20:20 ]
OK

425 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 02:41:54 ]
java-mode でインデントを2にしたいのですが、
下のlispを.emacsに書いても反映されません。 C-x C-e でも同様でした。
.emacsに書いてる他の部分は反映されています。

(add-hook 'java-mode-hook
'(lambda ()
(setq default-tab-width 2)
(setq tab-width 2)))

何がおかしいのか調べるにはどうすべきでしょうか?

Emacsの単なる使用にあたるのか、
Lispになるのかわからなかったのでこちらに書き込ませて頂きました。


426 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 02:55:15 ]
(setq c-basic-offset 2)

427 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 04:42:31 ]
>>426
できました!
ありがとうございます。

428 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 09:45:25 ]
>>425
フック書かなくてもできる。
(c-add-style "java2" '("java" (c-basic-offset . 2)))
(setq c-default-style
'((java-mode . "java2")
(other ."k&r")))



429 名前:デフォルトの名無しさん [2010/03/11(木) 00:38:15 ]
>>400
syntaxテーブルにREM追加すりゃよいかも。
-- で検索すれば雰囲気つかめるんじゃない。

430 名前:デフォルトの名無しさん [2010/03/11(木) 00:41:58 ]
(defun a (arg) (+ 1 arg))
をさ、
+ 1 じゃなくて、 + 2にしたいときってどうすればlispっぽくかけます?

431 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 03:03:52 ]
(defun a (arg n)
 (if (< n 2)
  (+ 1 arg)
  (a (arg (+1 n))))
(a num 0)

432 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 03:05:10 ]
(defun a (arg n)
 (if (< n 2)
  (+ 1 arg)
  (a arg (+1 n)))

(a 12 0)

433 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 03:43:32 ]
>>430
質問の意味がまるでわからないけど
(defun a (arg &optional n)
(+ arg (or n 1)))
ということ?
>>432
n >= 2 のとき停止しないような
あと、 Emacs Lisp は末尾再帰の最適化が効かないから
適当にループを使った方がいい

434 名前:430 [2010/03/11(木) 23:25:22 ]
あぁぁごめんなさい、すでに a って定義されてるけど、
+ 1 じゃなくて + 2 にしたいなー

っていう時です。
複雑で便利な関数がすでに定義されてあるけど、
なんでこの部分だけこうなんだ!コピペするのはなんだかなぁ・・・
ってときに、リストってのを利用して良い方法はないものかと。


435 名前:430 mailto:sage [2010/03/11(木) 23:27:04 ]
連投さーせん。
さらに、a はすでに定義されてていろんなパッケージで使われてるから、
aの使い方は崩したくない。
そして、aにパッチも送りたくないから、aの定義があるソースコードは
変更しない。って感じ。

436 名前:430 mailto:sage [2010/03/11(木) 23:31:32 ]
自分のイメージをかいとくと、
処理が(別な言語で表現すると
array( +, 1, arg )
ってあるんだから、
newfunc = [ array[0], 2, array[2] ]
みたいなノリで、新しい関数作れないのかな?ってのを
試行錯誤してる感じです。

437 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:38:22 ]
諦めろ

438 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 00:05:57 ]
>>436
それってclosureやCLOSの抽象関数などに向かう話だと思われ。

つまりCommon Lisp方面。



439 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 00:33:52 ]
>>435
defadvice が使えることがある。例えば >>430 の例なら
(defadvice + (after foo)
(setq ad-return-value (- ad-return-value -1)))
ってするとか。
ただし、 + みたいな基本関数にこんな advice をつけて大丈夫かは知らない。
たぶん大丈夫じゃない。
ある程度用途が限定されている関数なら defadvice で少し動作を変えるというのはたまにやる。

440 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 01:55:32 ]
>>436
evalで出来なくはないだろうけど、手間が掛かるだけで全然便利じゃない。
あとは、ダイナミックスコープを利用した+の再定義とかもできるだろうけど、
これもバグの元でオススメできない。>>439の言うdefadviceもあるけど、
あれも限定的にしか使えない。

Lispでのそういう場合のセオリーは、関数を渡せるようにしておいて、
行いたい処理はその中で実行して、適宜切り替えられるようにするんだけど、
そういう風に設計されてなきゃそれまでだしなー。

その関数を書いたやつを内心で罵りながら書き直すに一票。

441 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 09:48:16 ]
動的スコープを利用するとこんな感じかな。
(defvar plus (symbol-function '+))
(defun a (n) (+ n 1))
(flet ((+ (&rest args) (apply plus 1 args)))
(a 2))
ただし、この方法ももとの関数の実体をうまく退避しないと
簡単に無限再帰になってスタックオーバーフローするのでまったくオススメしない。
;; これを書いてるときも何度かスタックオーバーフローさせた
Common Lisp だったら function-lambda-expression をごにょごにょして
eval もできるかもしれないけど、 Emacs Lisp じゃできないし、何よりも不毛。
もとの関数をちょっと書き換えていいなら、変数の動的束縛をはさんで
(defvar *b* 1)
(defun a (n) (+ a *b*))
(let ((*b* 2)) (a 2)) ; => 4
とかも。
defadvice でどうにかできないか検討して、それで無理だったら諦めるのが無難かなあ。

442 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 14:36:38 ]
そこはコールバックにしとけよ、みたいなの結構あるよね。
url.el とかそんなんばっかり。

443 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 19:26:16 ]
このあたりって各lispの方言に悩むよね
といってもemacs lisp,CL,schemeの3種くらいか、今悩むのは

444 名前:430 mailto:sage [2010/03/13(土) 00:10:38 ]
皆さんどうもありがとうございます!
アドバイスは知っていましたが、引数に気をつけないと後遺症が怖いんですよね。
もーちょい皆さんの意見参考にしつつ、粘ります。

>>442
> そこはコールバックにしとけよ、みたいなの結構あるよね。
ありますよねー。でも作った人には利用の仕方が無数に思いつくから、
面倒なんだと思います。

すべてがリスト、っていうプログラムの表現の仕方にあこがれてるので、がんばります、
みなさんありがとー

445 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 18:54:20 ]
emacs HEADにコミットしたいのですが、コミット権限は誰にどうすれば貰えるのでしょうか?

446 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 01:39:49 ]
大卒の新卒が大量に入ったけど、elispに興味持ってる人ほとんどいないね…時代の流れかな
iphoneアプリの人気がすごかった。

447 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 01:50:38 ]
昔は elisp に興味がある新卒が沢山居たの?
こういうのは研究室で身に付けてくるか、入社してから師匠に叩き込まれる物かと思ってた。

448 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 08:22:50 ]
研究室で身に付ける人が少なくなったってことだろ



449 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 13:35:21 ]
elisp 書く時間あったら javascript 書くだろうなぁ。

450 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 13:54:08 ]
俺も最近elispよりchrome拡張をJavascriptで書く方が多い。
mewじゃなくてgmailだし。


451 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 16:02:15 ]
今ある elisp でわりと事足りてるってのもあるな。
あとなんでもかんでも emacs 中でやろうと思うのは結構時間の無駄なんじゃ?って思うようになった。
一つの端末をずっと使い続けられない職場だからなのかもしれないけど。

452 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 18:07:23 ]
テキスト編集はこれからもEmacs。
Elispアプリでは、mewは使わなくなったけど、
navi2chやlookupは使ってる。
HTML/CSSの世界ではFirefox + Javascriptを、
Emacs + elispのように使うようになるのかと想像していたが、
そんなことは全くなかった。
HTML/CSS界のEmacsが現れて欲しい。
XMLで七面倒くさいXULは使わなかったが、
chrome拡張ならなんとかなるかもなあ。
Lispならいいのになあ。

453 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 22:16:13 ]
別に lisp である必要性は全然無いと思う。
javascript がベストな言語だとは思えないけどねえ。


つか「HTML/CSS界のEmacs」()笑っていったいどんなの想像してんのよwww

454 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 22:22:49 ]
>>453
>()笑

って書く人初めて見たwww

455 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 22:38:32 ]
最近はnavi2chぐらいかなぁ。
仕事だとJavaのコードばっかり書いてるからeclipseメインだわ。


456 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 06:48:38 ]
>>()笑
>って書く人初めて見たwww

漏れも時々そうなる
()を先に入力してから
カーソルを()の中に入れて笑を書くと
一部のIMEでいつのまにか()の外に笑が移動するんだよ
気付いたら治すけど



457 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 06:50:49 ]
ついでにもうちょっと補足しておくと

>()を先に入力してから

の理由は()が全角になるのを嫌って半角にするんだが
半角(

半角)
の順で入力すると切替が面倒なので
先に()を書いてしまう習慣がある




単語登録しろとかいう突っ込みは野暮というもの

458 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 08:04:51 ]
つ boiled-egg



459 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 12:09:35 ]
(笑)自体入力することなくなったなぁ
草生やしちゃわない?


460 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 13:18:52 ]
「スイーツ(笑)」とかのお陰で語尾以外では再興してきた気もするけどな。

461 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 20:51:24 ]
"()笑"が面白いと思うのはlisp使いだからじゃね?
Tシャツとnilシャツ
ウエイトレス:食後は珈琲でよろしいですか?
客:T
とか言うのと同じ楽屋落ちネタつーか


462 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 20:58:33 ]
質問文の最後に p 付けるとかな。


463 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 22:01:15 ]
Schme使いはどうしたら?

464 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 22:29:05 ]
h の後に e 付けるとかかな。

465 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 23:14:11 ]
h の後は賢者だろ

466 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 03:35:58 ]
「()笑」でC-tだろ常考

467 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 14:40:33 ]
minibuffer 用に Abbrev Table をセットするにはどうすればよいですか?
local-abbrev-table をセットしても使えませんでした。

468 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 14:46:37 ]
(global-set-key "\C-z" 'foo)
により \C-z がマップする関数が定義してあると仮定して、その場合、
「\C-z がマップする関数に \C-x もマップする」
という意味の関数を書きたいのですが、どうすれば良いですか?
イメージとしては
(map-same-keyfunc "\C-x" "\C-z")
により、'foo が \C-x がマップされるといったものです。



469 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 15:09:30 ]
ここいら辺の関数を使えば出きるんじゃん?
* (elisp) Active Keymaps
(key-binding "\C-x\C-f")
=> find-file
とか
* (elisp) Functions for Key Lookup
(lookup-key (current-global-map) "\C-x\C-f")
=> find-file


470 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 22:42:35 ]
>>468
> C-z がマップする関数に C-x もマップする
とはちょっと異なりますが、C-z に C-x をマップするってのが
global-set-key じゃなくて define-key を使えばできます。(キーボードマクロの登録)
これでどうでしょうか。具体的には以下の通りです。
(define-key global-map "\C-x" "\C-z")

471 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 03:30:56 ]
>>467
ミニバッファーで展開されるのはfundamental-mode-abbrev-tableと
global-abbrev-tableみたい。

472 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 21:18:58 ]
>>397
y-or-n-p関数の挙動について少し分かったので自己カキコ

Gnome側で「CapsLockをCtrlとして扱う」に設定した擬似Ctrl-gだと
Emacs側ではC-S-gとして扱われるみたい

C-g (translated from C-S-g) runs the command keyboard-quit
# もちろん通常のCtrlキー使用なら変換なしにC-gになる

y-or-n-pのソース(fns.c)を見てみると、生のC-g以外は入力やり直しに
なるのでEmacsの動作としては問題なし。
…と、ここまで書いたはいいが結局解決策は見つかりませんでした。。

473 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 22:35:42 ]
>>472
> Gnome側で「CapsLockをCtrlとして扱う」に設定した擬似Ctrl-gだと

Gnomeのコントロールパネルで変えると、
keysym自体が置き換わるんじゃない?
問題はadd Control = Caps_Lockした時なんじゃないのかな?
これはどの規定だったか忘れたけど、違反する使い方。
昔のXEmacsはこの状態見つけるとログ吐いていたと思う。

474 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 20:03:41 ]
>>473
反応が遅くてスマン

nocapsとswapcapsではkeysym?の挙動が違うみたい。
自分が使ってるのはnocapsの方。

swapcapsだと単純にCapsLockがControlに置き換わるけど
nocapsだと"translated from C-S-g"となるらしい

X11のキーコードの話は今までよく分かってなかったので
現在ググって調べ中…そろそろスレ違いになってきたぞ

475 名前:デフォルトの名無しさん [2010/05/05(水) 22:56:01 ]
かつて無いほどに過疎ってるな…
流石にもうelispの時代は終わってしまったのかのう

476 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 23:07:02 ]
う、うん……(´・ω・`)

477 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 23:52:37 ]
Lispって言うほど魅力ないなあ、って勉強しててオモタ。

言語を作れるっていう宣伝が巷に溢れているが、
マクロのことであって、特に一般的に想像するような言語を作れるってのとは違う、
どちらかというとXMLで言う言語を作ってという感じに近い、
プログラミング言語の出来方でいえば、ある構造を別の原始的構造に翻訳する、というものだ。

あと抽象的とは言うが、オブジェクト指向的な意味での抽象性がない。
たとえば、リストがIterableだからリストじゃないものもIterableに振舞えば
リストのように扱えるというか、そういうものが無いように見える。

まあそれはともかくとして、Elispは秀丸マクロよりマシだと思うよ。

478 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 01:03:44 ]
scalaにハマった友人がLispを研究する意味が無くなったと言ってた



479 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 01:47:07 ]
エディタのマクロの中じゃ一番細かい事から大物まで書ける部類だと思うぞ
他のエディタで此処までかけるのってVisualStudioのVBマクロだろうけど、あれは細かいことするのがちょっと大変過ぎるし
Briefも割と良くできてたけど大物書くのはイヤになるっていう感じだし

Eclipseのプラグインがもっと柔軟になる以外elisp環境に対抗できるのってSmalltalk位じゃないの?



480 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 07:24:14 ]
マクロで簡単なレポートを作ったりもできて楽しいけどなあ

481 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 10:51:22 ]
>>477
> 言語を作れるっていう宣伝が巷に溢れているが、

Paul Graham 氏がそれを流行らせたのではなかろうか。

>>480
elispは楽しいよ。ただ、pythonとかに比べるとコーディングが
かなり遅くなっちゃう。名前空間がないから、同じ
関数を再コーディングするハメになったり、lispがlispである故、
「綺麗に書かなきゃな」ってのがあって、綺麗に書くこと自体が
割と面倒だったりする。


482 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 11:44:07 ]
関数呼び出しと、スペシャルフォーム・マクロのインデントのルールみなさん守ってますか?
defunとかは勝手にインデントされるけど、
defmacroしたのはdefunとかと同じようなインデントルールにしてますか?
正直インデントは構文にかかわらないわりに面倒。
まあ、視覚的に関数の構造を見られるのはいいけれども。

483 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 14:32:20 ]
君がlisp-indent-functionを知らんだけでは?

484 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 15:32:37 ]
自分でdefmacroしたやつもスペース2つのインデントにできる?

485 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 18:54:52 ]
>>477
入門本とかだと、表面的なことしかやってないから、全然面白くないよね。

Lispでの抽象っていうのは、OOP的な手法じゃなくって、
関数的な手法を使ってることが多い。つまり、クロージャを渡して、
それを内部で呼び出すことで、柔軟性を確保するとかそういうの。
OOPでもMOPとかどぎついのがあるけど。

On Lisp辺りは、邦訳がネットで無料で公開されてるから、読んでみたら良いよ。
言語を作るというのがどういうことなのか、関数的な抽象化とは何なのか、
具体的な例が乗ってるから。他の言語でも参考になる考え方だと思う。

486 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 19:01:05 ]
>>477
忘れてた。

> たとえば、リストがIterableだからリストじゃないものもIterableに振舞えば
> リストのように扱えるというか、そういうものが無いように見える。

これは流石に誤解。CLならGray Stream、Schemeならポートがまさにそれだし、
動的型付けを利用した手法は、日常的にみんな使ってる。Emacs Lispでも。

487 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 22:24:49 ]
関数型言語面白そうだし Lisp でもやってみるかねとか言ってた層は
Scala あたりに移っちゃったのかな

488 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 22:31:10 ]
Haskellじゃないかなー。

関数型スキーはHaskell、S式スキーはCommon LispやScheme、
Java資産を活かしたい実用派がScalaやClojure、
並列処理スキーがErlangみたいな気がする。



489 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 06:08:11 ]
Scheme使ってる人ですら最初はHaskellとか勧めるぐらいだしな
関数型を学ぶなら今はHaskellがいいんだろうな多分
個人的にはCoqのGallinaもいいんだけど、依存型はまだ難しすぎるから…

490 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 10:01:52 ]
Lispはあっちこっち手続きだし。

491 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 10:23:52 ]
でもなんつーか、Haskellはやってもしょうがないとは思うよ。
Lispだって、社会人になってからは、ハードコアなEmacs使いが
いじり倒したいから趣味で学ぶぐらいでしょ。
そうやって関数型には適度に慣れておくぐらいで十分。
Haskell学んだからって使える場所がないし後にも残らん。
どうせならElispに近いCommon Lisp学んで、CLのコードをポートしたりするのが良い。

492 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 12:25:15 ]
elisp やってたら Common Lisp も馴染みやすいかと思い始めたら、
format の辺りなど色々な部分が elisp と違っていて微妙だった。
elisp は C 言語系列をやってきた人に取っ付きやすいよう作られてるなと感じた.

493 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 12:25:30 ]
たしかに Haskell を実務で・・・なんて普通のやつらの上を行くぐらいの人じゃないと無理だろな
そういう意味じゃ Scala はまだ現実的な線だし elisp も emacs 使い続けるなら悪くないよね。

494 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 13:06:23 ]
>>493
> たしかに Haskell を実務で・・・なんて普通のやつらの上を行くぐらいの人じゃないと無理だろな

言っている意味がわからない。
「普通のやつらの上を行くぐらいの人」だと Haskell を実務で使わせてもらえると言っているの?

>>492
> format の辺りなど色々な部分が elisp と違っていて微妙だった。

底が浅いなー。 format なんてほとんど表面上のみの違いでしょ。
そんな関数1つより、もっと言語の中を突つかなきゃ。


495 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 13:14:50 ]
底が浅いというのは自分でも重々承知している所だが、表面も結構重要だと感じる。
例えば C を書く時と elisp を書く時では自分の中で切り替えが上手く出来るが、
elisp と Common Lisp ではどうしても似た気分で書いてしまう。
それゆえに細かなところが違っていると、ストレスになる。
まあ、書いていて思ったがこれは自分の問題だな。


496 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 14:05:27 ]
>>494
Paul Graham の「普通のやつらの上を行け」で Lisp を業務に使った話になぞらえたんだけど・・・

497 名前:Zeno ◆5nZQbNmQPs [2010/05/09(日) 14:22:14 ]

まあ Haskell はプロジェクトには使わせてもらえんだろうな。
VCS で管理もされない個人用のツール程度だったら自由に Haskell を使っても問題はない。
というより、その用途であれば何の言語を使っても良い。


498 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 14:59:12 ]
単純に技術者の数の問題じゃない?
あと自社製品とかWebサービスみたいなのだったらHaskell使ったって良いとは思うけど。

請負いで納品するようなのだと運用・保守がかわいそうだなぁ。



499 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 16:58:28 ]
EIEIOが標準入りすることでCL packageのdefstructがobsolateになるとかありますか?

500 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 17:08:09 ]
最近誰かも書いてたが「俺のチームならよそでできないその仕事をやれます。」って
状況じゃないと雇われの身としては主流以外の言語使えないよな。

501 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 17:19:30 ]
lisp(とかHaskellとか)だと他の言語とくらべて開発効率/保守性/性能がこれだけ良いんですってのを
客観的に説明出来るなら良いんだけど、実際業務アプリ作るとかの場合
C#とかJavaあたりで書いた方が楽なんだよねえ。

502 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 01:13:14 ]
業務系だとやるべきことのパターンがかなり決まってるってのはあると思う。
フレームワークに従った方がうまくいく領域なら自由すぎる Lisp 系言語はかえってつらいってのはわかる。
Lisp が DSL 構築できるったって、わざわざ構築せずに済む言語環境があるならそっち使った方がそりゃ楽だ。
それはそれでいいんじゃないの。
ものごとはトレードオフだ。 Lisp がある条件で活躍するためには切り捨てざるを得なかったものだってあるだろうさ。

503 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 06:50:40 ]
今のところ、関数型言語が業務向けで役に立つであろうシチュエーションって
並列化しやすいからスケールアウト時のコストが低いですよ!ぐらいなのかなぁ。

504 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 07:28:42 ]
当たり前だけどクライアントのリクエスト単位では、
すでに並列化されてるんだよね。
リクエストごとにスレッド割り当ててるから。

リクエスト内部の処理を別スレッドにぶった切ったからといって
そこまで早くなるとは考えづらい気がする。

505 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 23:27:25 ]
どっちにしろ普通のアプリで恩恵こうむるのは難しそう・・・


506 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 02:05:04 ]
macOSXのターミナルからEmacsでC#のプログラムを行おうとしている初心者です
見やすさのためにEmacsにcsharp-modeというのを取り入れようとしていますがうまくいきません
取りあえずsite_lispに拾いもののcsharp-mode.elを入れホームディレクトリで.emacsの設定を軽く追加しました
Emacsを--debug-initから.csファイルを開くと以下のように出ます。
Debugger entered--Lisp error: (file-error "Cannot open load file" "csharp-mode")
require(csharp-mode)
eval-buffer(#<buffer *load*> nil "/Users/host名/.emacs" nil t) ; Reading at buffer position 13
load-with-code-conversion("/Users/host名/.emacs" t t)
load("-/.emacs" t t)
#[nil "・・・・$
command-line()
normal-top-level()
.csファイルを新規に作成してもcsharp-modeに認識されずに通常のmodeで開いてしまいます
解決法などご教授頂けたら幸いです

507 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 06:30:05 ]
>>506
そのエラーメッセージが全てだと思うんだけど。
Cannot open load fileって書いてあるじゃない。
ちゃんとsite-lispにファイルはあるの?

あと、こういう場合に一番大事な、

* どう「入れ」たのか
* どのような「設定を軽く追加」したのか

といったことを全略されると、まともな回答貰いづらいよ。
ついでに言えば、多分スレ違い。

508 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 17:52:11 ]
全てのシンボルのリストを返す関数ってなんだっけ?



509 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 15:35:50 ]
そんな関数はない!
(lexical-let (x) (mapatoms (lambda (y) (push y x))) x)

510 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 16:26:24 ]
obarray 見ればいいんじゃない
(append obarray nil)


511 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 16:56:24 ]
>>510
そう、それどぁ。
elisp manual読んでぃて便利だと思ってとぉあ。
アリャガトネ

512 名前:デフォルトの名無しさん [2010/06/24(木) 21:31:27 ]
auto-completeで日本語入力をしようと無謀なことやってる者です
内容がemacs自体とは関係なくなってきたような気がしたのでここで質問します。
2バイト文字のあとに1バイト文字が来たらそこを単語の区切りにしたいのですが、
どうしたらいいのでしょうか?
何をword-separating-categoriesに入れていいものかわかりません。
category-tableを使えばいいのはわかったのですが、
2バイト文字すべてを要素に持つようなcategory-tableの作り方がわかりません
どうにかヒントだけでも教えていただければと思います。


513 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 21:50:42 ]
M-x describe-categories
(re-search-forward "\\cj")

514 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 22:26:08 ]
あ、
(add-to-list 'word-separating-categories (cons ?j ?a))
でよかったのか。
ありがとうございます。

が、駄目orz

auto-completeはsyntaxがwordの文字が並んでるとすべてcompletionの餌にするのかー、、、
どこでその処理やってるのかわかんない…
全角のあとに半角が着たら半角だけ餌にしたいんだけどなー

もうちょっとがんばってみます。
>>513
なんというか申し訳なかったです
ありがとうございました

515 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:16:10 ]
LISPの仏様こと竹内育男が参加するイベント。

--
国産LISPマシンELISの設計者である、JAIST副学長日比野先生が、この夏、ELISの復活祭を企画されています。
復活祭には、竹内先生をはじめ、TAO/ELISに関わった方々に多数ご講演いただきます。
会場が石川県とちょっと遠いですが、小旅行気分で、ぜひぜひ多くのLISPファンのみなさまにご参加いただきたいと思います。(yshigeru)

日時:8/7(土)〜8/9(月)
場所:JAIST(石川県美濃市)
詳細と参加申し込みは、ELIS復活祭ページをご参照下さい

www.jaist.ac.jp/elis-revival/home.html


516 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:59:54 ]
>>514
skkじゃだめ?誤入力を考えるとskkちょー便利だと思うけど。

517 名前:デフォルトの名無しさん [2010/07/06(火) 19:01:35 ]
EmacsLispプログラミング入門の12・3の関数forward-sentenceで
引数を1以上にして M-x で動作させるとエラーになってしまいます。
デバッガー?を使ってもいかんせんよくわかりません
sentence-endを評価した値が nil なのが原因?

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
re-search-forward(nil 592 t)
(if (re-search-forward sentence-end par-end t) (skip-chars-backward " \n") (goto-char par-end))
(let ((par-end ...)) (if (re-search-forward sentence-end par-end t) (skip-chars-backward " \n") (goto-char par-end)))
(while (> arg 0) (let (...) (if ... ... ...)) (setq arg (1- arg)))
forward-sentence1(1)
call-interactively(forward-sentence1 t nil)
execute-extended-command(1)
call-interactively(execute-extended-command nil nil)

追記:M-eはきちんと動作しています



518 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:53:09 ]
>>516
skkも考えたんですが、そもそもこれ作ろうと思った発端は、
入力方式の切換えが面倒だった事なのですよ。
須く日本語入力ソフトは切換えが必要なので、
どうにか良い方法はないかと思って辿り着いたのがauto-completeなんです。
自動的に候補が出る形です。

取り敢えず一応完成させました。
入力方式の切換えが必要無いのは便利ですね。
日本語と英語の入り乱れたリストとか
テンプレートがあってそれを編集するような場合は使える気がします。

あと、skk だと日本語と英語で配列が違う場合設定が面倒だっていうのもあります。
今打っているのもそれなのですが、これなら配列が違う方が良いというか、むしろ同じだと駄目というか。



519 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:08:38 ]
>>517
re-search-forwardの第一引数にnilが渡ってるのが原因だと思う。
想像の通り、sentence-endがnilだから。本来、正規表現を文字列で渡す所。

(wrong-type-argument stringp nil)
(間違った型の引数 文字列かどうかを判別する関数 nil)

って意味。その下にずらずら出てるのは、バックトレース。
どこから呼ばれたコードがエラーになったのか、それで判断できる。
下に行くほど上位の関数。forward-sentence1とかも出てるでしょ?

520 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:39:47 ]
Emacs Lisp プログラミング入門のその部分が変化に追いついてないみたい。
sentence-end を参照している部分は (sentence-end) に変えてください。
sentence-end はnilでデフォルト値を使うことを意味するようになったので、
正規表現そのものが欲しい場合は関数sentence-endを使うようになりました。

C-h v sentence-end とすれば説明の中に次の記述があります。
> The value nil means to use the default value defined by the
> function `sentence-end'. You should always use this function
> to obtain the value of this variable.

521 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:48:24 ]
Emacsのソースコードのtarballの中に入ってるemacs-lisp-introでは
ちゃんと反映されているようなので↓は取り消します。
> Emacs Lisp プログラミング入門のその部分が変化に追いついてないみたい。

なんかおかしいなと思ったらお使いのEmacsのバージョンにあったものを
参照してくださいってことで。

522 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 20:31:34 ]
skk のオンデマンドで再帰的な辞書登録をなんで他のIMEでも採用しないのか不思議でならん。
特に Google IME・・・

523 名前:517 mailto:sage [2010/07/07(水) 20:58:59 ]
(sentence-end)に変更したところ無事動かすことが出来ました。
ちゃんとヘルプ読んでるつもりだったんですが全然できてなかったみたいで・・・
今後はちゃんと読みまくるよう頑張って先に進んでいきます。

レスくださった方々ありがとうございました



524 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 02:17:01 ]
www.bookshelf.jp/cgi-bin/goto.cgi?file=emacs21&node=Killing

kill-read-only-ok がnilの場合はキルできないと書いてあるはずなんだが
変数がどうあれC-kで行コピーができるような気がするんだが…

俺の解釈が間違ってるのか?

525 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 04:38:33 ]
エラーが出るかどうか

526 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:05:07 ]
>>525
つまりコピーできるのは間違ってないのね…

527 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 23:29:26 ]
Emacs Lisp覚えたいんだけど、参考にするには何がいい?

528 名前:デフォルトの名無しさん mailto:sage [2010/09/14(火) 07:19:59 ]
他人の.emacs



529 名前:デフォルトの名無しさん mailto:sage [2010/09/14(火) 08:57:42 ]
>>527
SuoerASCIIの連載
ttp://www.asahi-net.or.jp/~dp8t-asm/elisp/
ttp://e-arrows.sakura.ne.jp/2010/02/vim-to-emacs.html
ttp://www.google.co.jp/search?hl=ja&q=lisp+emacs

530 名前:527 mailto:sage [2010/09/15(水) 04:43:42 ]
>528 >529 ありがと。

531 名前:デフォルトの名無しさん [2010/09/25(土) 23:48:03 ]
ntemacs 23.2 に menu-tree.el 0.96 を導入すると、一部(「オプション」→「行の折り返し」等)文字化けします。

どうすれば、文字化けしないように出来ますか?

532 名前:デフォルトの名無しさん mailto:sage [2010/10/09(土) 06:16:18 ]
max-specpdl-sizeとmax-lisp-eval-depthが数値が足りないと時々文句を言われるんだが
数値を増やす以外で上手い解決策ってないのかね。

533 名前:デフォルトの名無しさん mailto:sage [2010/10/09(土) 14:59:13 ]
文句がでるところをループに書き換える

534 名前:デフォルトの名無しさん mailto:sage [2010/10/11(月) 02:44:25 ]
>>533
文句を言われるのはdefadviceなんでそれを使うなってことになるのか。。

535 名前:Zeno ◆5nZQbNmQPs [2010/10/16(土) 17:02:04 ]

>>534
やり方はいろいろあるが、

(setq debug-on-quit t)

にして、問題のsexpを実行しろ。
途中で \C-g を押せば問題箇所までのトレースができる。

それでわからなければdefadvice中で使用されるであろう自分で関数を調べろ。
debug-on-error で関数本体をデバッグすることも可能だ。


536 名前:デフォルトの名無しさん mailto:sage [2010/10/21(木) 09:33:40 ]
\C-x dの代替に開いてるdired探すの書いてます。
見つからなかったとき普通のdiredコマンド開きたいけど(dired nil)だとミニバッファで止まらない。
インタラクティブなコマンドはどう呼べばいいのでしょう?

537 名前:デフォルトの名無しさん mailto:sage [2010/10/21(木) 10:05:30 ]
>>536
あ、自分で書いた日本語が答えになってたw
インタラクティブに呼ぶつう関数みつけた。落ち着け、おれwww

538 名前:デフォルトの名無しさん mailto:sage [2010/11/12(金) 12:10:30 ]
自然数をリスト化する関数はありますか?
例えば (foo 12345) => '(1 2 3 4 5) みたいな。



539 名前:デフォルトの名無しさん mailto:sage [2010/11/12(金) 18:24:58 ]
知らないけど、
12345を1234と5に分ける、
1234を123と4に分ける、
……ってやれば作れるよ。
っていうのでは意味がないんでしょうか。

(defun nat-to-list (n &optional lst)
  (cond ((< n 1) lst)
        (t (nat-to-list (/ n 10) (cons (mod n 10) lst)))))

(require 'cl)
(defun nat-to-list-2 (n0)
  (do ((n n0 (/ n 10))
      (lst nil (cons (mod n 10) lst)))
      ((< n 1) lst)))

ふだんLispを使わないので変なところあったら教えてほしかったりする。

540 名前:デフォルトの名無しさん mailto:sage [2010/11/12(金) 18:39:26 ]
負数は考えなくていいなら
ELISP> (mapcar (lambda (c) (- c 48)) (string-to-list (format "%d" 12345)))
(1 2 3 4 5)

541 名前:デフォルトの名無しさん mailto:sage [2010/11/12(金) 18:45:12 ]
回りくどいけど

(mapcar #'(lambda (c)
(string-to-number (char-to-string c)))
(append (format "%d" 12345) nil))
;=> (1 2 3 4 5)

542 名前:デフォルトの名無しさん mailto:sage [2010/11/12(金) 18:52:01 ]
スピードで見ると
>>539 <= >>540 < >>541
← 速い 遅い →
でした。ありがとうございました。

543 名前:デフォルトの名無しさん mailto:sage [2010/11/12(金) 19:16:40 ]
mapcarは直接stringをとれるよ。
(mapcar (lambda (c) (- c ?0)) (number-to-string 12345))
=> (1 2 3 4 5)


544 名前:デフォルトの名無しさん mailto:sage [2010/11/12(金) 19:33:18 ]
なるほどw
(mapcar #'identity "hello")
=> (104 101 108 108 111)

545 名前:デフォルトの名無しさん mailto:sage [2010/11/12(金) 20:26:53 ]
>>539の弱点発見。0 → nil。バナナは自然数に……。


546 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 00:00:50 ]
>mapcarは直接stringをとれるよ。
スレチ気味だがCommon Lispではmapcar関数はリストのみ扱えるはず
文字列を引数に与えるのはおススメできない(互換性的な意味で)


547 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 10:08:39 ]
じゃあ互換性的な意味でCommon Lispでもlexical scopeを前提としたプログラムは書くのはおススメできないね。
...馬鹿馬鹿しい。

548 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 14:58:23 ]
型のきびしい処理系にもってけばはじかれるだけだから、
注意はした方がいいけど、使わない方がいいとまでは言えないかな。

Emacs Lispとかじゃなくてもっと新しい言語なら「将来使えなくなるかも」みたいな
見方もあるかもしれないけどw



549 名前:デフォルトの名無しさん mailto:sage [2010/11/22(月) 20:30:59 ]













550 名前:デフォルトの名無しさん mailto:sage [2010/11/23(火) 07:19:49 ]
(let ((element (list 1 2)))
(add-to-list 'element 3))
;;=> (3 . 3)w

 ◇       ミ ◇
   ◇◇   / ̄|  ◇◇
 ◇◇ \  |__| ◇◇
    彡 O(,,゚Д゚) /
       (  P `O
      /彡#_|ミ\
       </」_|凵_ゝ

【ラッキーAA】
このAAを見た人はコピペでもいいので
10分以内に3つのスレへ貼り付けてください
そうすれば14日後好きな人から告白されるわ宝くじは当たるわ
出世しまくるわ体の悪い所全部治るわでえらい事です

551 名前:デフォルトの名無しさん mailto:sage [2010/12/17(金) 23:45:59 ]
>>550

これ、解決策が思いつかないw
仮引数に使われる記号が隠されちゃうっていう

552 名前:デフォルトの名無しさん mailto:sage [2010/12/18(土) 02:06:05 ]
環境そのものを引き渡せない限りきちんとした解決は無理でしょう。
本来マクロで書くべきものだと思う。

553 名前:デフォルトの名無しさん mailto:sage [2010/12/19(日) 03:27:54 ]
マクロでもできなくない?
引数を一度しか評価しないという点を守ると……

554 名前:デフォルトの名無しさん mailto:sage [2010/12/19(日) 03:38:44 ]
Cのプリプロセッサじゃあるまいし

555 名前:デフォルトの名無しさん mailto:sage [2010/12/19(日) 11:41:18 ]
そうか、defmacroとmake-symbolで解決できるのか……

556 名前:デフォルトの名無しさん [2010/12/20(月) 12:35:06 ]
emacs初心者でpythonを勉強しようと思っているのですが、windowsのemacs上でipythonを実行する方法はないでしょうか?

557 名前:デフォルトの名無しさん mailto:sage [2010/12/20(月) 12:57:00 ]
あります。

558 名前:デフォルトの名無しさん [2010/12/20(月) 13:41:38 ]
ご教授お願いします



559 名前:デフォルトの名無しさん mailto:sage [2010/12/20(月) 13:45:46 ]
ipython.scipy.org/dist/ipython.el

560 名前:デフォルトの名無しさん [2010/12/20(月) 14:08:21 ]
C:\Python26\Scriptsにipythonがあるのですが

(setq ipython-command "/some-path/ipython")
(require 'ipython)

のsome-pathはどのように指定すればいいのでしょうか?

561 名前:デフォルトの名無しさん mailto:sage [2010/12/20(月) 14:37:14 ]
ipython が有るパス

562 名前:デフォルトの名無しさん [2010/12/20(月) 15:10:10 ]
(require 'python-mode)
(setq ipython-command "C:/Python26/Scripts/ipython")
(require 'ipython)

と.emacsに書いてemacs起動してM-x py-shellと打ってみたら

Process Python exited abnormally with code 1

と出てうまくいきません...

563 名前:デフォルトの名無しさん mailto:sage [2010/12/20(月) 15:26:22 ]
"C:/Python26/python.exe C:/Python26/Scripts/ipython"

564 名前:デフォルトの名無しさん [2010/12/20(月) 15:32:29 ]
>>563
(setq ipython-command "C:/Python26/python.exe C:/Python26/Scripts/ipython")
これでやってみたんですが、普通のpythonシェルが起動しました...


565 名前:デフォルトの名無しさん mailto:sage [2010/12/20(月) 15:53:33 ]
そうか。

566 名前:デフォルトの名無しさん mailto:sage [2010/12/20(月) 16:35:11 ]
おめでとぉ

567 名前:デフォルトの名無しさん mailto:sage [2010/12/20(月) 19:08:54 ]
全てのchildrenに

568 名前:デフォルトの名無しさん mailto:sage [2010/12/20(月) 21:07:23 ]
>>567
死を
# kill -9 1




569 名前:デフォルトの名無しさん [2011/01/07(金) 10:37:11 ]
Emacs Lisp本に向けてアンケートに御協力お願いします!
d.hatena.ne.jp/rubikitch/20110106/elispenq

だってサ

570 名前:デフォルトの名無しさん mailto:sage [2011/01/13(木) 01:25:32 ]
Emacsの歴史について知りたい
この年にこういうことがあったとか

571 名前:デフォルトの名無しさん mailto:sage [2011/01/13(木) 02:13:24 ]
20年くらい何も起きてないような気がする

572 名前:デフォルトの名無しさん mailto:sage [2011/01/13(木) 09:08:15 ]
2年に1度はメジャーバージョンアップしてるだろ

573 名前:デフォルトの名無しさん mailto:sage [2011/01/13(木) 11:25:21 ]
>>570
一番の思い出は uucp 経由で fj.sources に、Emacs 日本語化パッチα版が流れたときだったな。
まだまだHDDは高価で、テープもぽつぽつ残っていた。

その次が Emacs 20.2 から 20.3 のバージョンアップ。
(length "漢") が、3から1になった。あれで劇的にプログラムが作り易くなった。

あのとき議論(flame)の中心だった Erik Naggum 氏もとっくに鬼籍に入られて...

574 名前:デフォルトの名無しさん mailto:sage [2011/01/13(木) 12:43:31 ]
Mule の統合とかは

575 名前:デフォルトの名無しさん mailto:sage [2011/01/13(木) 15:52:26 ]
>>573
テープ回覧させてもらった覚えがある


576 名前:デフォルトの名無しさん mailto:sage [2011/01/13(木) 18:40:25 ]
NEmacsからMuleに

577 名前:デフォルトの名無しさん mailto:sage [2011/01/14(金) 03:16:02 ]
MuleからEmacsに

578 名前:デフォルトの名無しさん mailto:sage [2011/01/15(土) 02:54:04 ]
>>573
uucpすらできない貧乏機関は FSF に頼めばEmacsのソースコードを実費で
磁気テープに入れて送ってもらえた。

そういう時代だった。



579 名前:デフォルトの名無しさん mailto:sage [2011/01/15(土) 21:10:29 ]
まあuuxですけどね。


580 名前:デフォルトの名無しさん mailto:sage [2011/01/15(土) 22:05:29 ]
>>578 あんたら、じじいの集団かよ
とか、いいながらfjの回覧テープのコピーが会社の倉庫に残ってるような記憶が…


581 名前:デフォルトの名無しさん [2011/01/15(土) 23:36:56 ]
資材管理室^H^H^H^H^Hリストラ待機室で
代々「大切に保管汁」と申し送りされてるのな

582 名前:デフォルトの名無しさん mailto:sage [2011/01/16(日) 13:40:35 ]
フロッピーで回覧してたなあ

583 名前:デフォルトの名無しさん mailto:sage [2011/01/16(日) 14:23:54 ]
>>582 FD何枚になるった? <fj回覧テープ


584 名前:デフォルトの名無しさん mailto:sage [2011/01/17(月) 03:20:01 ]
50枚くらい

585 名前:デフォルトの名無しさん mailto:sage [2011/02/01(火) 05:38:56 ]
マウススクロールでの移動幅を変える設定ってありますか?
ぐぐったら上の方に出てくるのはあるんだけどなんか高々移動幅変えるのに
あんな大層な設定がいるのか疑問に思い質問しました。もし他に
簡潔な設定がありましたら教えていただきたいです。

586 名前:デフォルトの名無しさん mailto:sage [2011/02/02(水) 01:02:03 ]
>>585
私は 3 にしてる。
(define-key global-map (kbd "<mouse-4>") (lambda () (interactive) (scroll-down 3)))
(define-key global-map (kbd "<mouse-5>") (lambda () (interactive) (scroll-up 3)))


587 名前:デフォルトの名無しさん mailto:sage [2011/02/14(月) 12:23:35 ]
こんにちは。ここでよいか分かりませんが、質問させてください。
lookupで、4GBを超えるHONMONファイルを扱うことは可能でしょうか?
今、lookup 1.99.95を使用しているのですが、Wikipediaデータをダンプして
作成したHONMONファイル(9GB強)が認識されません。
アドバイスいただけると嬉しいです。

588 名前:587 mailto:sage [2011/02/14(月) 13:10:47 ]
すみません、自己解決しました。
eblookをver 1.4から1.6.1にアップデートしたところ、問題なく検索できました。
ご迷惑おかけいたしました。



589 名前:デフォルトの名無しさん mailto:sage [2011/02/24(木) 04:16:35.85 ]
elisp って emacs だけかと思ったら guile にも実装されてるのね
guile をインスコするより emacs をインスコする方が簡単なのがアレだけど・・・

590 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 00:42:13.95 ]
elisp の勉強に↓これを読んでみたけど面白かった。

dantorop.info/project/emacs-animation/

elisp で文字ベースの簡単なアニメーションを実装するという内容で、
初心者レベルの人に良いかも。

591 名前:デフォルトの名無しさん [2011/04/21(木) 11:29:01.15 ]
concurrent.elリリース - 技術日記@kiwanami
d.hatena.ne.jp/kiwanami/20110420/1303319508

新機軸だな。どんどん盛り上げるんだ。


592 名前:デフォルトの名無しさん mailto:<sage> [2011/04/30(土) 09:08:17.96 ]
質問です。文字列の中に特定の文字が何個あるかを数える関数ありますか?



(foo "abaca" "a")
=> 3

みたいな。m/(_ _)\m

593 名前:デフォルトの名無しさん mailto:sage [2011/04/30(土) 09:39:12.00 ]
バッファ(リージョン)中の文字の数を数えるにはhow-manyがあるけど、
ソースを見ると簡単に数える関数は無いみたいだね。

594 名前:デフォルトの名無しさん mailto:sage [2011/04/30(土) 09:43:18.59 ]
(require 'cl) して count じゃダメ?

595 名前:デフォルトの名無しさん mailto:sage [2011/04/30(土) 12:39:36.14 ]
>>592
これは?

(defun how-many-regexp-in-str (str regexp)
(with-temp-buffer
(insert str)
(goto-char (point-min))
(how-many regexp)))

(how-many-regexp-in-str "abaca" "a")
3


596 名前:デフォルトの名無しさん mailto:sage [2011/05/04(水) 00:20:16.20 ]
ふむ

597 名前:デフォルトの名無しさん mailto:<sage> [2011/05/04(水) 08:07:25.26 ]
みなさん、あざっす。count で完璧です。

(count ?a "abaca")
=> 3

598 名前:デフォルトの名無しさん mailto:sage [2011/05/05(木) 13:48:55.61 ]
        ∩___∩                     ∩___∩
    ♪   | ノ ⌒  ⌒ヽハッ    __ _,, -ー ,,    ハッ   / ⌒  ⌒ 丶|
        /  (●)  (●)  ハッ   (/   "つ`..,:  ハッ (●)  (●) 丶
       |     ( _●_) ミ    :/       :::::i:.   ミ (_●_ )    |
 ___ 彡     |∪| ミ    :i        ─::!,,    ミ、 |∪|    、彡____
 ヽ___       ヽノ、`\     ヽ.....:::::::::  ::::ij(_::●   / ヽノ     ___/
       /       /ヽ <   r "     .r ミノ~.    〉 /\    丶
      /      /    ̄   :|::|    ::::| :::i ゚。     ̄♪   \    丶
     /     /    ♪    :|::|    ::::| :::|:            \   丶
     (_ ⌒丶...        :` |    ::::| :::|_:           /⌒_)
      | /ヽ }.          :.,'    ::(  :::}            } ヘ /
        し  )).         ::i      `.-‐"             J´((
          ソ  トントン                             ソ  トントン



599 名前:デフォルトの名無しさん mailto:sage [2011/06/07(火) 22:36:45.00 ]
ほしゅ


600 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 01:26:54.90 ]
git の update 来てターーーー!!
これで bzr の遅さに悩まされずに済む

https://github.com/emacsmirror/emacs

601 名前:デフォルトの名無しさん mailto:sage [2011/06/17(金) 09:28:23.62 ]
リージョンの末尾判定はどう書けばよいですか?
リージョンの各行を引数としたコマンドを実行するプログラムを書いたんですが
動的に行数がかわるためeolpで判定してみたものの
空行があるとそこでとまってしまいます

(defun mapr (b e f)
(save-excursion
(save-restriction
(narrow-to-region b e)
(goto-char (point-min))
(while (not (eolp))
(let* ((end (progn (end-of-line) (point)))
(start (progn (beginning-of-line) (point)))
)
(if (not (= start end)) (funcall f start end))
(forward-line 1))))))

(defun mapl (b e str) ""
(interactive "r\nsInputShellCommand:")
(mapr b e `(lambda (b e)
(narrow-to-region b e)
(let* ((text (buffer-string))
(command (concat str " " text))
)
(call-process-region b e "/bin/bash" t t t "-c" command)))))

利用例:範囲選択して、M-x maplしてlsと打つ
/home
/usr

602 名前:デフォルトの名無しさん mailto:sage [2011/06/17(金) 09:48:23.44 ]
自己レス、変なやり方かもしれない
(= (point) (progn (forward-char) (point)))

603 名前:デフォルトの名無しさん mailto:sage [2011/06/17(金) 10:16:31.90 ]
>>601
eolp の代わりに、eobp を使ったらどう?

604 名前:デフォルトの名無しさん mailto:sage [2011/06/17(金) 11:22:54.98 ]
せっかく narrow-to-region してるんだしねえ

605 名前:デフォルトの名無しさん mailto:sage [2011/06/18(土) 02:36:28.49 ]
>>603
ありがとう、後で試してみます

ところで、全然関係ないけど、Ctrl+hをBSに割り当ててたせいで
C-h a/C-h v/C-h f等便利なキーが使えなかったことに最近気づきました
Webによく落ちてる色んな.emacsに長らく騙されてきた気がする

606 名前:デフォルトの名無しさん mailto:sage [2011/06/18(土) 03:47:54.53 ]
<f1> a / <f1> v / <f1> f

607 名前:603 mailto:sage [2011/06/18(土) 05:25:24.46 ]
>>605
(tty-run-terminal-initialization (selected-frame) "bobcat")
(define-key mode-specific-map (kbd "h") 'help-command)
(define-key help-map (kbd "<DEL>") 'help-for-help)

自分はこれで、C-c h に help を設定してる。

608 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 01:34:27.81 ]
>>605
DeleteとC-hを交換したら、元々C-hと打ちたい時にはDeleteを打てばいい。



609 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 13:03:07.10 ]
>>607
eobpで動きました、ありがとう
設定参考になります。
皆それぞれのやり方ですね

610 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 22:58:16.08 ]
keyboard-translateだと一発で全交換になる。

611 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 23:16:56.09 ]
>>605
ネットはそこまで闇じゃなくて、目を開けば色々あると思うけどw、
初期段階でうっかり「本来の情報の流れ」からはぐれるっていうのはありがちだと思う。

ttp://kamuy.c.u-tokyo.ac.jp/~tnakae/c/emacs.html
> この時ヘルプが使えなくなるので、C-x h でヘルプを開くように変更するとかしておく。

612 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 01:43:46.71 ]
>>605
伝統的に多くの人がやってる割り当てなのは事実。

Windows だと f1 が C-h のかわりに使えるけど、
これって他の環境では違ったりすんの?


613 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 02:04:26.93 ]
Mac OS X でも f1 は C-h と一緒だった
初めて知った...

614 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 02:53:15.09 ]
>>612
古いマニュアルを漁ってみた。19.28から19.30の間に説明が加わっていた。

ttp://www.ps.uni-saarland.de/courses/info-i/emacs/emacs_11.html
> To cancel, type C-g.
ttp://www.math.utah.edu/docs/info/emacs_11.html
> To cancel, type C-g. The function key F1 is equivalent to C-h.


615 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 03:08:22.06 ]
情報が中途半端だった……。19.30からの標準設定、でいいみたい。

Emacs 19.28 and 19.29 Antinews
ttp://www.chemie.fu-berlin.de/chemnet/use/info/emacs/emacs_37.html
> # F1 is no longer an alias for the Help key; you must actually type C-h if you want help.

616 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 10:55:19.13 ]
bobcatは相当前からあるし、
同様の設定FAQはずっと前からある。


617 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 20:25:22.91 ]
etc/ONEWSには19.29での変更点として載ってるな
文書化の微妙な食い違い

618 名前:デフォルトの名無しさん mailto:sage [2011/06/21(火) 11:32:12.03 ]
19.28と19.29のAntinewsだから、
19.28→19.30の変更が(逆向きの表現で)書かれてるんでしょ。
だから食い違いはない。Antinewsの方が大雑把なだけ。



619 名前:デフォルトの名無しさん mailto:sage [2011/06/21(火) 20:24:05.49 ]
19.28と19.29の区別が不十分なのが微妙ってこと。
アウトかと言えばアウトかと。

620 名前:デフォルトの名無しさん mailto:sage [2011/06/21(火) 20:27:50.42 ]
食い違いじゃないね

621 名前:デフォルトの名無しさん mailto:sage [2011/07/01(金) 21:44:45.65 ]
Ctrl+;を自作関数起動用の2ストロークキーに割り当てようとしたらば
単に;が入力されるだけだったでござる

622 名前:デフォルトの名無しさん mailto:sage [2011/07/01(金) 22:16:05.35 ]
>>621
ターミナルでC-,やC-.に割り当てたい - (ひ)メモ
ttp://d.hatena.ne.jp/hirose31/20040219/1160403206

623 名前:デフォルトの名無しさん mailto:sage [2011/07/08(金) 14:31:58.68 ]
Emacs 19.28 から 19.29 は
メジャーバージョンアップなみに変更あったはず
19.29 から 19.30 はそれほどではないはず
なので 19.28->19.29 の差分だろうという感じはする

624 名前:デフォルトの名無しさん mailto:sage [2011/07/17(日) 23:57:28.33 ]
これカッチョええ!

https://github.com/nicferrier/elnode
emacswiki.org/wiki/Elnode

625 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 17:57:17.39 ]
質問です。
1. 現在リージョンの選択中であるか否かの判別はどのようにすればよいのでしょうか?
2. Shift-クリックでカーソル位置からクリック位置までの選択を行いたいのですが、どのようにすればよいのでしょうか?

よろしくお願い致します。

626 名前:625 mailto:sage [2011/08/11(木) 22:46:27.24 ]
すみません、1. は (region-active-p) で自己解決しました。

627 名前:625 mailto:sage [2011/08/12(金) 03:38:36.76 ]
down-mouse-1 で mouse-appearance-menu が出てこないようにしたらいけました。
ありがとうございました。

628 名前:デフォルトの名無しさん mailto:sage [2011/08/15(月) 03:21:35.56 ]
labelsと (require 'cl)について教えてください。

1. Emacs Lispにはlabels相当の命令はありますか?
2. (require 'cl)をちょっとぐぐったところ Emacs 付属lispには使うな的な事が書いてあって賛否両論で云々〜
  とあったのですが、これはなんででしょう?

以上よろしくです。




629 名前:デフォルトの名無しさん mailto:sage [2011/08/15(月) 04:12:40.77 ]
>>628
1. あります。
2. ググった先で喧々諤々やってたでしょうに。

簡単に説明すると、Emacs LispはCのように、名前空間がひとつしかないのです。
そのため、ライブラリの関数などには接頭辞を付けるのがマナーになっています。
(fooというライブラリなら、foo-funcみたいな名前を付けます)

ですが、clライブラリではCommon Lispの関数やマクロと名前を合わせるため、
その接頭辞を付けていません。そのため、(require 'cl)でライブラリを読み込むと、
一般的な名前のマクロや関数が大量に定義され、それらの名前が使われることで、
プログラマが好きに付けられる名前が減ってしまいます。これを許せない人と、
許容して便利さを採る人がいて、議論の争点になります。

こういう構図です。理解できなかったら勉強するとじきに分かるようになると思います。
自分で書いたプログラムを配布するのでもなければ、気にすることはありません。

630 名前:デフォルトの名無しさん mailto:sage [2011/08/15(月) 04:18:01.74 ]
補足。正確に言うと、labelsは標準の機能としては提供されていませんが、
Emacsに付属のclライブラリで提供されています。

631 名前:628 mailto:sage [2011/08/15(月) 05:50:20.73 ]
>>629
> 簡単に説明すると、Emacs LispはCのように、名前空間がひとつしかないのです。
> そのため、ライブラリの関数などには接頭辞を付けるのがマナーになっています。
> (fooというライブラリなら、foo-funcみたいな名前を付けます)
>
> ですが、clライブラリではCommon Lispの関数やマクロと名前を合わせるため、
> その接頭辞を付けていません。そのため、(require 'cl)でライブラリを読み込むと、
> 一般的な名前のマクロや関数が大量に定義され、それらの名前が使われることで、
> プログラマが好きに付けられる名前が減ってしまいます。これを許せない人と、
> 許容して便利さを採る人がいて、議論の争点になります。

めっちゃ的確な解説ありがとう。
グローバルな名前空間汚すな云々ってことだったのですね。
C/C++使ってるので解説はとてもわかりやすかったです。

>補足。正確に言うと、labelsは標準の機能としては提供されていませんが、
>Emacsに付属のclライブラリで提供されています。
はい、こちらは(require 'cl)後にlabelsが使えることは確認してますー。
なのでclを使わない別の方法が標準で提供されてるのかな?とおもってますた。



632 名前:デフォルトの名無しさん mailto:sage [2011/08/15(月) 09:21:43.98 ]
629じゃないけど横から補足しておくと、clのうちマクロで提供されている部分は
バイトコンパイルすると実行時にはclを必要としない(ものが多い)ので、
そういうのは使っても問題ない。labelsもその一つ。

それを前提とした使い方の場合は
(eval-when-compile (require 'cl))
とする。こういう使い方はEmacs標準のelispでも多用されている。

633 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 15:08:17.60 ]
ポイント位置が最上行か最下行かを判定するのはどうすればいいでしょうか?


634 名前:デフォルトの名無しさん [2011/08/22(月) 06:51:10.47 ]
>>633
(= (point-at-bol) (point-min)) ; ポイントがバッファ表示の最初の行にあるか?
(= (point-at-eol) (point-max)) ; ポイントがバッファ表示の最後の行にあるか?

バッファの可視領域が制限(ナローイング)されている場合、上記はその制
限された「見た目上の」先頭行・最終行を判定します。

ナローイングの有無に関らず「実際の」先頭行・最終行を判定したい場合
は次のようにします:

(= (point-at-bol) 1)) ; ポイントが実際のバッファ内容の最初の行にあるか?
(= (point-at-eol) (1+ (buffer-size))) ; ポイントが実際のバッファ内容の最後の行にあるか?

635 名前:デフォルトの名無しさん [2011/09/02(金) 02:44:23.27 ]
frame-title-formatについて質問です。
buffer-file-nameがnilでなければ"a"を、nil だったら"b"を表示したくて
 (setq frame-title-format '(if buffer-file-name "a" "b"))
のようにしてみたのですが、条件の判別がうまくいかないようです。
どうしたらうまくいきますか?
お願いします。

636 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 03:43:53.94 ]
'(:eval (if buffer-file-name "a" "b"))
なんかこうこんな感じだったはず
確かめてないけど

637 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 13:09:06.78 ]
>>636
ありがとうございます。
助かりました。

638 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 01:50:01.80 ]
前に、市の図書館の新刊にこの本あったわ。最近新装版でたのか
この本は自腹で買わないと身に入らないだろw



639 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 01:51:01.39 ]
いやこの本とか意味不明だなw広瀬本

640 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 19:17:46.57 ]
そういや出てたな。買わなかったけど。

641 名前:デフォルトの名無しさん [2011/09/24(土) 12:19:32.59 ]
タブ幅が tab-width の2倍になってしまいます。

(setq tab-width 8) とするとタブ幅が半角16文字分になり、
これを8文字分にするには (setq tab-width 4) としなければなりません。
何故でしょうか?

よろしくお願いします。

642 名前:デフォルトの名無しさん mailto:sage [2011/09/25(日) 03:04:50.10 ]
>>641
とりあえず C-h v (describe-variableだっけ?) あたりで、ちゃんと8になってるか見てみれば?

643 名前:デフォルトの名無しさん mailto:sage [2011/09/25(日) 20:26:08.46 ]
>>642
ありがとうございます。
確認してみましたが、設定した通りになっているようです。
しかし実際のタブ幅はその値の2倍になってしまっています。

644 名前:デフォルトの名無しさん mailto:sage [2011/09/25(日) 23:38:16.25 ]
フォントによってそうなるような気が。

645 名前:デフォルトの名無しさん [2011/09/26(月) 01:51:59.22 ]
>>641
たぶんこれと同じ現象では。

■Emacs23のフレーム幅が変、■Emacs23のフレーム幅が直った
garakuta.homelinux.org/~nosuke/diary/diary.html?y=2008&m=10&d=15&n=1

646 名前:デフォルトの名無しさん [2011/10/07(金) 15:26:12.43 ]
(eq 'abc 'abc)は何故tで、
(eq "abc" "abc")は何故nilなんでしょうか。

647 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/10/07(金) 20:12:16.62 ]
eq での比較は同値性ではなく同一性を判定する。 つまり、同じ値であってもそれそのものでなれば nil になる。
シンボルは登場と同時にシンボルテーブルに登録 (intern) されるので字面が同じシンボルは常に同一と判定される。

648 名前:デフォルトの名無しさん mailto:sage [2011/10/07(金) 23:38:19.22 ]
>>647
とてもわかりやすい説明ありがとうございます。



649 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/10/10(月) 09:48:28.47 ]
info の記述とは違う気がするけど、こんなものなのか?

(let ((s "\241"))
(list (string-match "[[:ascii:]]" s)
(string-match "[[:nonascii:]]" s)
(string-match "[[:unibyte:]]" s)
(string-match "[[:multibyte:]]" s)
(string-match "[[:print:]]" s)
(string-match "[[:punct:]]" s)
(string-match "[[:graph:]]" s)
(string-match "[[:word:]]" s)))
(nil nil nil nil nil nil nil nil)


650 名前:デフォルトの名無しさん mailto:sage [2011/10/21(金) 05:00:14.95 ]
インタプリタはないの?

651 名前:デフォルトの名無しさん mailto:sage [2011/10/21(金) 11:59:34.58 ]
M-x ielm

652 名前:デフォルトの名無しさん mailto:sage [2011/10/29(土) 12:40:09.17 ]
LISP 言語と A.I. の父 John McCarthy 博士死去 2011年10月26日

Stanford Engineering はコンピューターサイエンティストで A.I. 分野の草分け的存在だった
John McCarthy 博士が2011年10月24日、同氏のカリフォルニア州スタンフォードの自宅で
亡くなったと伝えた。84歳だった。
McCarthy 博士が世間の注目を集めたのは、1966年にロシア国内のライバルと
コンピューターチェスの対戦を主催したときのことだった。4試合同時に行われたこの
対戦は数か 月に及び、結果は McCarthy 博士側の2敗2引き分け。McCarthy 博士は後に
「完敗だった」と語っていた。
McCarthy 博士は、21世紀を迎えた現在やっと現実のものとなりつつある「人工知能
(Artificail Inteligence:A.I.)」という概念を50年以上も前から唱えていた A.I. 界の巨人。
同氏は1956年に英国の Dartmouth 大学で開催された人工知能に関する会議「ダートマス
会議」に提案書を提出し、「A.I.」という言葉をその提案書の中で歴史上初めて使用した。
1958年、McCarthy 博士はコンピューター言語 LISP を開発。これは、FORTRAN に次いで
2番目に古いプログラミング言語で、A.I. プログラムを記述する言語として現在も使用されている。
また、あまり知られていないことだが、「ガーベージコレクション(ゴミ収集)」と呼ばれる
技術を開発したのも McCarthy 博士。これは、プログラムが予約したメモリ領域のうち不要に
なった領域を自動解放する技術で、LISP 言語の機能強化の一環として開発された。。
1960年代の初頭には、McCarthy 博士はタイムシェアリングによるコンピューターの効率的な
利用というコンセプトをすでに発表しており、このコンセプトはその後の分散処理やクラウドへと
発展するコンピューティング技術の基礎となった。

653 名前:デフォルトの名無しさん mailto:sage [2011/10/29(土) 12:40:35.53 ]
スタンフォード大学名誉教授で上級科学研究員の Les Earnest 氏は次のように語っている。
「多くの人々が、タイムシェアリングがコンピューターを使う賢い方法だということはわかって
いた。だが、どうすれば実現できるかについては、誰もわからなかった。John 以外は誰も」

氏の告別式は、近く執り行われる。
▽記事引用元 japan.internet.com
japan.internet.com/webtech/20111026/2.html
▽画像 John McCarthy 博士(Stanford Engineering)
japan.internet.com/img/20111026/1319617220.jpg
▽博士のホームページ
www-formal.stanford.edu/jmc/index.html

654 名前:デフォルトの名無しさん mailto:sage [2011/10/29(土) 12:41:55.61 ]
toki.2ch.net/test/read.cgi/scienceplus/1319679294/

655 名前:デフォルトの名無しさん mailto:sage [2011/11/15(火) 21:19:57.61 ]
書籍案内:Emacs Lispテクニックバイブル|gihyo.jp … 技術評論社
gihyo.jp/book/2011/978-4-7741-4897-7

656 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 01:25:33.82 ]
今さら感があるけど、Emacs Lispで書かれたライブラリとかプログラムのことを
単に「Emacs Lisp」と呼ぶ習慣はそろそろみんなに考え直してもらいたい

657 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 02:05:26.45 ]
>>656
なんて言えばいいの?

658 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 07:44:35.83 ]
> poj-mode.el is an emacs lisp for POJ

小文字で書けばいいのかと問いたい



659 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 01:25:37.08 ]
>>656
「elispアプリ」とか「elispライブラリ」とか言えっての?


660 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 01:43:40.58 ]
公式な呼び名は無いの?

概念的に近いのはブラウザの拡張とかかなぁ。
歴史的経緯を無視するならエクステンションとかプラグインとか呼ぶのが妥当だと思う。
使われている言語が Emacs Lisp なのは、
たまたま Emacs がそういうものだという実装に立ち入る話なので、
ユーザーに見せるべき筋合いのもではない。

661 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 02:28:09.29 ]
Emacsスクリプトでよくね?

662 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 03:01:18.58 ]
マニュアルを読みなよ

663 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 04:49:59.57 ]
>>660
> 使われている言語が Emacs Lisp なのは、
> たまたま Emacs がそういうものだという実装に立ち入る話なので、
> ユーザーに見せるべき筋合いのもではない。
 むしろユーザーが容易にみれる、弄れる、スクリプトを組めるという仕様で人をスクリーニング
しているのがemacsの良さなんじゃないの。Firefoxのエクステンション的使い方で敷居は低い
けど、emacs lispの書き方を覚えたら自分の使いやすいように弄りたいという野心がユーザーの
大多数の中にあるんじゃないかな。
 自分はそういう野心を持ってFirefoxを使っていないなあ。

664 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 20:57:58.95 ]
ブラウザだとgreasemonkeyが近いな
お手軽で重宝してる

665 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 21:19:58.90 ]
>>661
一票。

666 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 22:43:03.03 ]
スクリプトには違和感ありまくり
elispプログラムかパッケージで

667 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 22:53:56.79 ]
マニュアルでは大体libraryかpackage(かfile)だけど、別に厳密な定義はない
明確な機構で管理されてないこととも多少関係あるかも

668 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 23:01:29.59 ]
xyzzyというEmacs風エディタの界隈で「拡張lisp」という言葉を見て
ちょっと混乱した



669 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 23:17:32.81 ]
magit という一個の package があったとして、
その中核となるファイル群の集合を指して library
その集合の中の .el ファイルそれぞれが program
とかそんな感じでは

670 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 03:07:27.20 ]
locate-libraryは一つのファイルをライブラリって表現してるってことだよな

671 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 02:34:06.42 ]
APEL の README だと
Emacs Library や モジュール や ユーティリティー といった言葉が使われてる。
MULE プログラム や CCL プログラム って言葉も出てくる。

672 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 04:04:27.57 ]
マクロでいいじゃん

673 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 15:19:18.49 ]
>>672
defmacro以外で書いてある部分はどう呼ぶんだ?


674 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 02:01:47.78 ]
それもマクロでいいじゃん

675 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 02:16:46.62 ]
よくねえよwww

676 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 19:38:59.29 ]
Emacs lispの他にマクロが装備されてるじゃん

677 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 00:02:21.53 ]
elispはemacs自体を作るための言語だしなw

678 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 08:26:25.14 ]
>>662
正解

EmacsはelispとCで出来てるので、Cの用語と調和できる表現が理想かと。
なのでマクロは…



679 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 08:38:22.22 ]
>>672 defmacro で定義するマクロはなんて呼べば良いの?


680 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 11:49:43.28 ]
Editor MACroS

681 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 21:32:52.18 ]
>>680 Editing MACroS は TECO のマクロパッケージだ



682 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 23:02:07.70 ]
emacsがたまたまlispで云々とか笑うなw
gosmacsとmock lispに切れたlisperのストールマンが
作った最強のlisp環境兼エディタなのにw

683 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 23:05:57.06 ]
>>682
Unipressの売り物になったから切れただけだろ


684 名前:デフォルトの名無しさん mailto:sage [2011/11/25(金) 17:16:00.68 ]
そういやそうだったかも
でもMockじゃなくて
ちゃんとしたlisp使いたくて
弄ろうとしたんじゃなかたっけ
ある意味gosmacsはGNUの生みの親だなw

685 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 10:14:50.83 ]
最初gosmacsベースでGNU Emacs作っていて、
そんときは別に切れてない。
そのあとGoslingがgosmacsの権利売ったから切れた。

686 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 00:00:16.59 ]
Emacsのアプリだからeアプリ

これでいいよ.

iアプリと似てるから世間で流行るかも知れん.
e電と同じく廃れるかも知れんけど.


687 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 02:45:01.23 ]
だいたいeはすぐ終わるな
なぜかiは長生きする

688 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 03:05:15.28 ]
アンビバレンツなIE



689 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 08:21:48.92 ]
大衆向けGUI付きのインストールシステムが無いからこれといった名前もないんだろうな
そういうシステムの用語としてはパッケージってだいたい言うんじゃね?
Emacs NetInstaller Packageということでどうか

690 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 10:39:04.45 ]
>>687
つ email

691 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 15:47:27.09 ]
基本的にはlibraryなんだよ。ほぼ関数の塊で、
キーの割り当ては個人設定まかせだったりするでしょ。

692 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:25:11.12 ]
emacsのevernote-mode.elで質問です。
69行目にdefmacroで
enh-command-with-authというマクロを宣言しているのですが
最初のローカル宣言で
`(let (error-code (try-func (lambda () ,@body)))
上のようになっています。
letといったら
(let ((変数宣言)) 式)
と言った形になると思うのですが、このマクロでは、
突然、宣言も何もやっていないerror-codeが出てきています。この部分では何をやっているのか知りたいです。
また、try-funcも上のlisp
後に(funcall try-func)という記述がありますので、普通の関数なのかと思い調べたのですが、見つかりません。try-funcとはなんなのかも分からなくて困っております。
どうか教えていただけますでしょうか、よろしくお願い致します。

693 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:55:00.25 ]
>>692
> let is a special form in `C source code'.
>
> (let VARLIST BODY...)
>
> Bind variables according to VARLIST then eval BODY.
> The value of the last form in BODY is returned.
> Each element of VARLIST is a symbol (which is bound to nil)
> or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM).
> All the VALUEFORMs are evalled before any symbols are bound.

だからerror-codeにはnilが束縛されて、
try-funcに(lambda () ...)が束縛される。

普通の関数は(funcall try-func)として実行できない。
try-funcが評価されて返ってきた関数を実行する。

694 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 01:16:52.08 ]
>>693
お早い回答ありがとうございます!!
探しても載ってないletの取扱い方があるのかと思っていたのですが
そのままの文法にしたがって解読すればよかったということですね。
また、funcallの使い方も勘違いしておりました。
try-funcの定義部分を探して読めば問題ないということですね!
大変助かりました。
ありがとうございました!

695 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 10:48:46.39 ]
探してというかマクロの引数。
command実行をauthでラップしてるんでしょ、どうせ。

696 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 22:57:34.38 ]
WEB+DBの最新号、関数型言語入門を山本和彦が書いてるのを立ち読みして来た
けど、LISPに関する文章が悲しくて泣けた
Mewの開発者があれではなあ

697 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 23:14:04.60 ]
>>696
マルチうぜぇ

698 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/03/04(日) 18:32:07.94 ]
>>696
「リスト遊び」のときからわかってることを今更マルチで書き込んでやるなよ




699 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 19:15:58.06 ]
かずさんはHaskell厨だからな

700 名前:デフォルトの名無しさん [2012/03/09(金) 07:48:01.98 ]
Meadowでget-buffer-createしたバッファに
while回しながら見つけたファイルの名前と中身を
insertしようと

(if (file-exists-p filename)
(progn
(insert filename)
(insert-file-contents filename))
)

と書きましたが、書き込みがバッファされているようで、先にファイルの中身が
全部インサートされて後から(insert file)の結果がまとめてインサートされているようです。

(insert filename)
(sit-for 0)
(insert-file-contents filename))

とかやれば、そこでフラッシュされるかなと思ったのですが、
それもダメでした。何かいい方法はないでしょうか。


701 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 10:54:52.36 ]
>>700
バッファされてるんじゃなくてpointがダメな気がする。
insertとinsert-file-contentsはpointからデータを挿入するけど、
insert-file-contentsの方は挿入した後pointを動かさないから、
(goto-char (point-max))とかしてみたらどうかね。

702 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 13:25:16.80 ]
強制描画させるのなら、sit-forではなくて redisplay, redraw-frame, redraw-display とかは?

703 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 13:40:54.66 ]
実践Emacs入門読んだ。
elispを関数型言語って言ってるんだけど
誤記たよね?

704 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 14:06:39.05 ]
今出てるWEB+DBの記事の定義に従えばそうだね

でも、↓ではCLがHaskellと同列に書いてあるし、
en.wikipedia.org/wiki/Functional_programming
functional flavor languageで初期LISPも紹介してあるから、そんなに目くじらたてるほどでもないんじゃないの

705 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 14:15:26.74 ]
単に初期のLispじゃなくて、マッカーシー先生が論文中で示した、
理論的なモデルのことを指してるんじゃないかなそれは。

706 名前:704 mailto:sage [2012/03/09(金) 16:37:17.52 ]
そうなんだ

707 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 18:00:53.80 ]
で、実装しちゃったのがスティーブ・ラッセル氏

708 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 05:38:23.01 ]
るびきちの「Emacs Lispテクニックバイブル」ってこのスレの人的には
評価どうなん?



709 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 05:50:32.97 ]
Emacsテクニックバイブルとは別の本だということを知らなかった

710 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 08:55:56.58 ]
>>701
遅くなりましたが、そのとおりでした。ありがとうございます。
>>702
何かのときのために覚えて起きます。

711 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 10:00:02.54 ]
るびきちって、るびーきち○いだった人?

712 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 13:26:39.59 ]
> るびきちの「Emacs Lispテクニックバイブル」

内容以前に文章が稚拙すぎると思った。


713 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 13:44:11.30 ]
いいじゃない。頑張って書いてるんだから。何処かの翻訳本とかの何書いてるか分からないよりはまし。
本書いたことがないとどれだけ大変か分からない。

それとも、お前サバンナでも同じ事言えんの?

714 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 13:54:05.09 ]
>>713
サバンナ?わからない。
上の本に関してはどこか作者の心の乱れみたいなのを感じちゃって
正視に耐えなかった。


715 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 14:08:06.87 ]
             ,,ト、,, ,,ィ ,ィ
           _,,-;" '' ゛''" ゛';__
           ヽ/""゛゛''`';, ノr´)
          ,;'゛/__   _ "iヽ;ミ    お前ってアレだよな…
          ,,'"|( d  /oノ ド゛ `ミ   サバンナじゃ真っ先に死ぬタイプだよな
         r ";,| ▼    ド゛ `ミ
        (`ヽ';ヽ_人__ノ  /  ,,ミ゛、
         ヽ、 '';,i⌒⌒  /   リ  ヽ、
         /` ィ'r`''''""´  ,,ミ゛    |
        /   | ゛r、ノ,,トリ'"  i    |
        /   |          |    |
 ̄ ̄ ̄ ̄ ̄i   ノ ̄ ̄ ̄ ̄ ̄ ̄/   ノ ̄ ̄ ̄ ̄
        `ー ´        /  /
                ,-ー´  /
               ((_(_(_ノ

716 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 14:11:30.45 ]
savannah.gnu.org

717 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 14:27:06.17 ]
Emacsはサバンナやったんや

718 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 15:14:00.00 ]

               , -――- 、
              /       ヽ
              | ノ  ー    |   それっておかしくねぇ?
              |(・) (・)   |   だって、ここ2chじゃん
              |  (      |
              ヽ O    人
               >ー-― ´   ̄ ̄\
  ⊂ニニ ̄ ̄ ̄ヽ  /              |
     くメ) _ノ  |  |  |        |   |
       (/  |  | /  |        |   |
          |  |/  /|        |   |
          |  ト  / |        |   |
          ヽ__/ |        |   |



719 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 15:15:13.34 ]
氏の文章は論理的でなく読んでいて苦痛ですらある
Emacs Lispテクニックバイブルp. 82から引用してみよう

> 2-11-1 Lispファイルの置いているディレクトリを指定する
>
> ロードする方法を解説する前に、elispの置いてあるディレクトリを
> 指定しなければなりません。それを指定することで、ロードするときに
> Lispファイルのディレクトリ名を指定する必要がなくなります。

解説するのは誰か、ディレクトリを指定するのは誰か
本当に「しなければならない」のか

こういった論理の乱れが作用し読者はいつしか電波を発するようになるのである

720 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 15:37:12.21 ]
分かりにくいかもね。後半の文は要らんかったかもね。
どんな表現だったら良かったんだろうね
編集さん大変だったろうなあ

721 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 15:49:21.27 ]
その人の本は読んだことは無いがそこをさっと目で流した限り、
一般的に言うところの”パスを通す”と似た様な事をするんだろうなと読め、そんなに引っかかりは感じなかった。
精読や多読していくと違和感を感じるんだろうか。

722 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 15:57:55.82 ]
俺文書くのうまいぜっていう人ほど客観的になれなくて、
負けず嫌いだったりすると周りの言う事聞かなくなるからなあ。
小説の読み方の教科書とか

723 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 16:03:04.03 ]
>>719
お買い上げありがとうございます。

724 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 17:24:23.47 ]
>719の文章は、「ロードする方法をさっと解説してからパス通すことを
教えた方が必要性が分かりやすくていいんじゃね」とか突っ込まれたときに
受け入れることも無視することもできなかった結果の産物っぽく感じる

だから、単に言うこと聞かずに我が道をゆく方がマシだったんじゃね
従わないけど聞かずにはいられないってタイプがもっとも支離滅裂な結果になる

>>721
基本的に著者の書きたいことを分かってる場合は(著者と同じく)おかしさを感じにくいからな
そういう脳内変換は2chやネットの文章あさるには必須の技能でもあるし

725 名前:デフォルトの名無しさん [2012/03/10(土) 17:24:55.22 ]
elispの置いてあるディレクトリを指定することで、ロードするときにLispファイルの
ディレクトリ名を指定する必要がなくなります。
ロードディレクトリの指定は必須ではありませんが、
以降はロードディレクトリを指定した前提でロードする方法を解説します。




どう?


726 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 17:39:27.49 ]
>>725
その文章の方がいいことを説明する前に、>>719の方が圧倒的に面白い。

727 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 18:55:53.69 ]
「るびきちは文章が下手で読むに耐えない」
2ちゃんでは珍しくはっきりした結論がでたな
「理科系の作文技術」でも読んで寝るわ

728 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 19:59:39.57 ]
ちょっと前まではこの手の話題になると
ねたみ酷いって書き込みが入ったものだが




729 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 21:03:33.05 ]
その時もあんな酷い文例貼られてた?

730 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:03:22.91 ]
>解説するのは誰か、ディレクトリを指定するのは誰か
解説は本の役目で指定するのは自分、これ以外どう解釈するんだ?

731 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:22:48.16 ]
> ロードする方法を私が解説する前に、elispの置いてあるディレクトリを
> あなたは指定しなければなりません。それをあなたが指定することで、ロードするときに
> Lispファイルのディレクトリ名をあなたが指定する必要がなくなります。
はっきりさせるとむしろおかしくね?w

732 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:24:37.67 ]
>>730
本人乙。そう解釈せざるをえないのだが、
| (本が)ロードする方法を解説する前に、(あなたは)elispの置いてある
| ディレクトリを指定しなければなりません。
一つの文で主語が切り替わるからイラつく。

733 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:25:21.44 ]
>>730
複文かつねじれた文ってやつだよ
大卒ならみんな知ってる

734 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:30:04.29 ]
>大卒ならみんな知ってる

あほすぎ。なんか Emacs スレみたいな感じになってきたね。
あっちスレの誰かがやってきたのかな?


735 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:43:07.93 ]
>>734
まあそうだね。>>733は引っこめるよ。すまなかった

736 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 22:51:18.59 ]
大卒じゃなくても…とか大卒でも…とかマジレスしようと思ったけど
もしかしてその著者が大卒じゃないとかそういう流れでのレス?

737 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 23:32:52.39 ]
るびきちは一応大卒だったと思うが
>【著者紹介】 るびきち
>早稲田大学大学院理工学研究科修士課程修了。

738 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 23:58:34.13 ]
なんか臭い。



739 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 00:24:24.11 ]
じゃあべつにジョークでもなかったか
素直に735の意に従うべきだったな

740 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 00:51:16.12 ]
何かを作ったことが無い人は「これくらいなら自分でも本気出せば作れる」と思ってる

741 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 00:54:32.63 ]
この程度なら、と思わせる文章の酷さ。

742 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 00:59:10.07 ]
>>740
あるあるすぎて困るけど作品の批評とはまた別の話

743 名前:デフォルトの名無しさん [2012/03/17(土) 14:27:29.00 ]
質問です。2つのOCRした文章に、大きな違いが無いことを確認するために
*ediff control panel*で
(defun my-ediff-make-fine-diffs-all ()
(interactive)
(let ((i 0))
(while (< i ediff-number-of-differences )
(ediff-make-fine-diffs i)
(setq i (1+ i))
)))
として overlay で違いを強調するところまではやったのですが、
overlayのままでは、enriched-mode で保存も出来ないので、
overlay を text-property に変換して enriched-mode で保存できたら
いいなと思ってるんですが、どうすればいいでしょうか。
文章が長いのとOCRのノイズが多いので、手ではやりたくありません。

よろしくお願いします。

744 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 16:48:20.69 ]
next-overlay-changeとかでバッファの先頭からループして
テキストプロパティに変換して削除して回るだけっぽい


745 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 17:39:46.40 ]
>>744
www.gnu.org/software/emacs/manual/html_node/elisp/Finding-Overlays.html
の find-overlays-specifying を見てたんですが、
(overlay-get overlay 'face) とかでどんな overlay かは返ってきますね。

するとこれをスタックに積んで始まりと終わりが分かったら
そこを変換しろと言う訳ですね。ちょっとやってみます。
また分からなかったら質問します。ありがとうございます。

746 名前:デフォルトの名無しさん [2012/03/21(水) 23:49:54.13 ]
deを含まないabcを探索したいのですが、以下でうまくいきません。
もしかして、emacs lispで「?!」は使えないのでしょうか?

(re-search-forward ”abc(?!de)” nil t)

747 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 00:16:43.92 ]
Infoぐらい読もう。
(info "(elisp)Syntax of Regexps")

748 名前:746 mailto:sage [2012/03/22(木) 01:07:53.55 ]
>>747
special charactersに「!」が含まれていないので、
使えないという理解でいいんですよね?

うーん、書くのが面倒くさくなるなあ。



749 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 02:16:32.52 ]
>>746
バックスラッシュが括弧に必要

750 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 08:31:18.61 ]
>>749
拡張正規表現の話だぞ。

751 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 13:49:33.36 ]
>>750
すまん。Emacsに先読みが無いことに今気がついた。
普通は後続の正規表現を指定するか、単語境界いれるからあんまり使わないんだよね

752 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 16:17:30.37 ]
elispは拡張正規表現をサポートしていない。

代替するとこんな感じか?わっかりにっきーな
(re-search-forward "abc[^d]\\|abcd[^e]\\|abc$\\|abcd$")

753 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 21:46:10.19 ]
>>752
「拡張正規表現」の定義によりますよ。

754 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 22:06:24.54 ]
言いたいことあるなら中身まで言えば良いのに

755 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 22:12:46.02 ]
>>750
emacsの正規表現でグループ化するには(をエスケープして\(としてやらないといけない
しかし単に"\("と書いてはいけない。
"\("が文字列として評価され(になり、その(が正規表現に渡されてとして評価される
正規表現に\(を渡したい時は文字列"\\("としないといけない

756 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:15:18.09 ]
>>755
エスケープはわかったからさ。>>746
> deを含まないabcを探索したいのですが
これをemacsの正規表現で書いてくれや。

757 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 00:36:29.29 ]
サーセン

758 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 13:24:07.87 ]
>>756
>>753



759 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 16:20:20.63 ]
?
emacsの正規表現って定義あるよね?

760 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 23:21:27.61 ]
Perl/Ruby/Python/TclとかにあるNegative lookahead (?!re)はemacs lispには無いはず。
emacs24とかは知らんが。

abc(?!de)は、"abcxxxx" の最初の "abc" とマッチするんだよね。
>>752のは "abcx"とマッチすることになるから微妙に違ってくる。
emacs lispでは、ひとつの正規表現だけでは、これと同じことはできないんじゃないの?

761 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 01:31:35.63 ]
vim なら abc\(de\)\@! でできる。
Emacs の正規表現の貧弱さにはいつもイライラする。


762 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 05:17:04.56 ]
鬼車導入と新たな正規表現リテラルの導入かねやっぱり

763 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 10:03:06.08 ]
今更エンジン変更とか新しくPEG導入するよかコストかかりそう

764 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 13:45:33.85 ]
正規表現をPCREに変えろという話が本家で出ては消え、出ては消え・・・
本気で変えたいんならレキシカルスコープ変数やった人みたいに、
専用ブランチ作ってマージして、互換性の問題などを検証してみんなを納得させないといけない。
PEGはもういくつか実装あるような希ガス

765 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 15:24:09.42 ]
ELisp の場合、正規表現を特別扱いするような文法はないから、単に新しい関数群を導入すれば互換性は壊さずに済むよ。
pcre-search-forward や pcre-match-string みたいな。


766 名前:デフォルトの名無しさん [2012/03/24(土) 19:29:57.02 ]
以下の設定で、open -gとしてバックグランドで開きたいのですが、どのように書けば"-g"オプションを渡せますか?
(setq browse-url-generic-program "/usr/bin/open")

767 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 19:39:48.53 ]
browse-url-generic-args ってそれ指定するための変数じゃねーの?しらんけど

768 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 20:04:29.09 ]
>>767
(setq browse-url-generic-args (list "-g")))
でうまく行きました。ありがとうございます。








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

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

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