【GNU】Emacs Lisp 【Elisp】 (301レス)
上下前次1-新
1: 2013/10/20(日)07:50 AAS
Emacs Lispのスレです。
- GNU Emacs Lisp Reference Manual
http://www.gnu.org/software/emacs/manual/elisp.html
- An Introduction to Programming in Emacs Lisp
http://www.gnu.org/software/emacs/manual/eintr.html
- Emacs Wiki の "EmacsLisp"
http://www.emacswiki.org/cgi-bin/wiki/EmacsLisp
- GNU Emacs
http://www.gnu.org/software/emacs/emacs.html
282: 2023/10/15(日)15:15 ID:Z4N/9jbi(1) AAS
hoge(); // コメント
とか
/*
コメント
*/
は消せないじゃん
283(1): 2023/11/11(土)20:06 ID:6Uwmj7p8(1/2) AAS
だからキーボードマクロを使えって
/*をインクリメントサーチ二文字戻って
マーク、*/をインクリメントサーチで探して
kill-region
これをキーボードマクロにして
何なら名前を付けて init.el に登録することもできる
284(1): 2023/11/11(土)20:13 ID:6Uwmj7p8(2/2) AAS
具体的には
c-x(
esc<
c-s/*
c-@
c-s*/
c-w
c-x)
これでマクロ完成。名前を付けるには
M-x name-last-kbd-macro
で好きな名前を付けるだけ
init.el を開いて
M-x insert-kbd-macro
これで登録できる
285: 2023/11/12(日)01:44 ID:IUEeiAD3(1/2) AAS
>>283
/* */と//の両方消せないじゃん
286: 2023/11/12(日)16:34 ID:pFykNXrS(1) AAS
別々に作って二回走査すればいいだけでは?
287: 2023/11/12(日)19:43 ID:IUEeiAD3(2/2) AAS
/* // */
は、先に // で消してしまうとおかしな事になるな
まぁ、先に/* */を消せばいいがな
それと、>>284のマクロはコメント1個しか消せないじゃん
全部消さないと
取り敢えずこれらを全部対応させたキーボードマクロを出さないと駄目
288: 2023/11/13(月)23:08 ID:Y+b0wq04(1) AAS
/* */を排除するマクロを100000回ぐらいやって
次に // を排除するマクロを1000000回ぐらい動かす
気持ち悪いかもしれないが目的は達せられる
289: 2023/11/18(土)15:57 ID:bNx8n+lD(1) AAS
インクリメントサーチが失敗するまで
無限ループで回すことはできるけどね
290: 2024/10/02(水)10:15 ID:XbzwGALZ(1) AAS
Blenderのpython→bpy
EmacsのLisp→elisp
ExcelのVB→VBAω
291(1): 2024/10/20(日)10:23 ID:LzrvAVJD(1) AAS
むしろemacs以外の現役lispを知らん
292: 2024/10/30(水)03:02 ID:BzmMNap8(1/2) AAS
>>291
cl書いて食ってるんで異議を申し立てたいのは山々だが…まあうん落ち目すぎるね
rmsに信心示すんならならguileすげーぞ
もちelispもサポートしてる
lispyな言語(scheme, elisp, es)である限り、その全てを(適当な変換の後)共通IL通して共通エンジンで動かせる
gccもIL通してサポート多いじゃん!と思うかもしれんが、あれ全ての言語サポートする勢いで風呂敷拡げすぎてっるし、そもそもエンジンがlispyでないのでlisp系の性能は、まあ察してくれ
293: 2024/10/30(水)03:25 ID:BzmMNap8(2/2) AAS
そういや5年かそこら前にemacsのelisp処理系を既存のからguile(のelisp)に置き換えるってのやってた記憶あるけど結局ポシャったんかね?
一応おおむね成功はしたとか
まあemacsのelisp処理系も最近コンパイル出来るようになって性能上がったし、置き換える利点も減ったのかな?
とすればgnuで2つelisp処理系作ってる現状の不利は労力の無駄ってくらいか
294(2): 02/02(日)07:37 ID:gkY6KzeC(1) AAS
native-compile有効化してもバイトコンパイルの数倍しか速くならないし、Common Lispの10倍くらい遅いんだよな
最近だとCommon Lispで1から作られたLemというエディタがある
295(1): 02/02(日)15:53 ID:OcIEQytI(1) AAS
動的型はネイティブコンパイルしても2倍速になるかどうかだな
型推論を実装してからが本番だ
296(1): 10/12(日)06:12 ID:W2SaGlg4(1/2) AAS
>>294
clは色々実装次第だけどsbclとか速いヤツは、恐ろしいことに稀によくcより速かったりするからな…
もちろん関数、あるいはグローバル(非推奨!)に
(declare (optimize (speed 3) (space 0) (safety 0)))
とか最適化宣言してるときね
そうそしてもちろん型宣言も同じくらい大事ね>>295、clなら(type fixnum numarg1)とかか
elにもcl-libにこの辺cl-declareとかの名で全部あるけど、ちょっとベンチはしてない
まあ果たして現在のelの仕組み的に恩恵あるかは微妙に思います、はい
297: 10/12(日)06:15 ID:W2SaGlg4(2/2) AAS
ああごめん型推論、すなわちよしなに(type fixnum numarg1)とか宣言補ってくれるということね
もちろんそれはあって欲しいね、コードは今まで通り書いていいしユーザーに負担が無いのだから
298(1): 10/13(月)07:56 ID:jcovVfcE(1/2) AAS
>>294
へぇー最近もあるのか…
CLの歴史あるエディタの代表といえば1980-のHemlockだね
emacs-likeというかほぼほぼemacsのCL版だけど、なんなら今のスレ民が大体使ってるであろう1984-のGNU emacsより歴史がある
主にCMU CLの配布に同梱されててなかなかいいemacs
299: 10/13(月)08:05 ID:jcovVfcE(2/2) AAS
ああごめんここemacsスレじゃなくてelispスレだからスレチだったわ
300: 10/16(木)01:18 ID:BKqCsKPx(1) AAS
>>296
elispではいまのところ(ほぼ)無意味っぽいね
Most of the Common Lisp declarations are not currently useful in Emacs Lisp. For example, the byte-code system provides little opportunity to benefit from type information. A few declarations are meaningful when byte compiler optimizations are enabled, as they are by default. Otherwise these declarations will effectively be ignored.
https://www.gnu.org/software/emacs/manual/html_node/cl/Declarations.html
まあ型宣言のご利益はなくても、(読みにくくならぬ程度の)適切な型宣言は読み手へのアノテーションにもなるから推奨したい
301: 10/17(金)01:25 ID:D1Ebmx1L(1) AAS
>>298
HemlockはGNU Emacs/Xemacsより(それまでの)emacsに近いんだよな
多分まだ一番古い資料が残ってるlisp系Emacsはelispの直接祖先であるMacLisp(1966)のエディタだろう
コンピュータ史系のサイト読めるMacLispのマニュアル類にはエディタのキーバインドまで記されている
当然ながらemacs風キーバインドで、この頃には今に繋がるlisp系emacs(非TECO系)確立されてた
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.535s*