【GNU】Emacs Lisp 【Elisp】 (295レス)
1-

1: デフォルトの名無しさん [sage] 2013/10/20(日) 07:50:56.93 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
196
(1): 183 [sage] 2015/03/18(水) 12:55:18.82 ID:nZSu0bqF(5/6) AAS
>>192
もし、面倒でなければ「symbol-property-listでの力技」っていうのも見てみたいです。

thunk の例示ありがとうございます。python でも高階関数を使わないわけではなく、
lambda で評価を遅延させるようなことも時々はやるのですが、
必要に応じて関数の引数で使うという発想は無かったです。私にとって新しい概念です。
新しい言語を勉強すると、元の言語でも世界が広がる良い例ですね。楽しいです。

C/C++ ですが、最近の C では、可変引数マクロが使えるので、
#define TRACE(cond,...) if(cond){ printf(__VA_ARGS__); }
とすることで、引数を制御構造に組替えられます。
http://codepad.org/uX2WaTqT

この実現の仕方は elisp での defmacro に近いですね。

C++ の lambda も上手く例が作れれば後程。
197: 183 [sage] 2015/03/18(水) 12:56:45.43 ID:nZSu0bqF(6/6) AAS
>>193
あんまり lisp っぽくないですかね。
Python など、他のパラダイムが強い言語で関数チックに
書こうとすると、写像できるような要素は便利なので良く使います。

ちなみに、JavaScript でよくあるような bool 化 idiom である !! を援用して、
自前 if は最終的に以下のようになりました。

(defmacro macroif (any-symbol good bad)
(funcall
(car
(cdr
(assq (null (null any-symbol)) (list '(t car) '(nil (lambda (x) (car (cdr x))))))))
(list good bad)))

(cdrifx t (insert "ok") (insert "ng"))
ok
(cdrifx () (insert "ok") (insert "ng"))
ng
(cdrifx (list 1 2 3) (insert "ok") (insert "ng"))
ok

>>195
lisp は関数指向でも書けるけれど、そもそもマルチパラダイムなのが、
その規定の時点から現れているように思えます。
最小要素とするのに、macro による制御構造の書換えと
一箇所で特殊な振舞いをするという cond どっちが最小かと言えば cond のが小さそうです。
198
(2): デフォルトの名無しさん [sage] 2015/03/19(木) 10:18:55.55 ID:KVeBWceY(1) AAS
>>196
力技というほどのものでもなかった
(put t 'cdrif-value #'car)
(put nil 'cdrif-value #'cadr)
(defun convert (x)
(get x 'cdrif-value))
(defmacro my-if (idx good bad)
(funcall (convert idx) (list good bad)))

いや、本当はさらに
(put nil 'convert-value t)
(defun to-t-or-nil (x)
(not (ignore-errors (get x 'convert-value))))
(defun convert (x)
(get (to-t-or-nil x) 'cdrif-value))
とかいう力業っぽいことを考えてたんだけども、
ignore-errors が反則だったと気づいた。
こっちの反則版だとnil以外のどんな値を渡しても
ちゃんとt扱いされるという利点はあるけど…

C/C++プリプロセッサ、そういうことか。条件付きコンパイルを想像していた。
#define DEBUG(level) if(level>=verbosity){printf(_VA_ARGS_);}
みたいなことは一回やったことがある。
完全に文字列として変形するからlevelのところに関数呼び出しのコンマがあると
変なことになるという罠があるが、こういう用途だと大丈夫だしね。

自由度という点では何も考えずに言語全体を使えるlispマクロは特異に高いと思う。
elispじゃなくてcommon lispになっちゃうがland of lispとか読むと楽しいかもしれない。
199: デフォルトの名無しさん [sage] 2015/03/19(木) 10:42:33.11 ID:QynmxxEd(1) AAS
>>198
なるほど、こっちはプロパティを写像に使うのか
いろいろ考えつくもんだなぁ
200: 183 [sage] 2015/03/20(金) 03:19:22.81 ID:x0oqiRHZ(1) AAS
>>198 ありがとうございます。取り急ぎお礼を申し上げ乙。
201: デフォルトの名無しさん [sage] 2015/05/26(火) 11:33:21.52 ID:dBigamDw(1) AAS
setqと同等の機能を実現する関数は定義できますか
202: デフォルトの名無しさん [sage] 2015/05/26(火) 13:54:08.02 ID:M2tYWf9M(1) AAS
set と マクロ使えばできるんじゃない
203: デフォルトの名無しさん [] 2015/08/29(土) 07:44:55.47 ID:vrZb3qx4(1/2) AAS
なんかネタないの?
204
(2): デフォルトの名無しさん [sage] 2015/08/29(土) 11:38:36.28 ID:cVkBtg3P(1) AAS
ついに俺のチンコが黒光りしてきた話はどうだ?
205: デフォルトの名無しさん [] 2015/08/29(土) 13:38:04.80 ID:vrZb3qx4(2/2) AAS
>>204
却下
206: デフォルトの名無しさん [sage] 2015/08/30(日) 05:58:46.12 ID:dCMQNVLK(1) AAS
>>204
どうやったら黒光りするの?
207: デフォルトの名無しさん [sage] 2015/08/30(日) 06:03:17.10 ID:CnOlY9Pq(1) AAS
図書館で毎日ナンパして地下食堂のトイレでマン汁まみれで腰動かすんだよぉ
208: デフォルトの名無しさん [] 2015/10/10(土) 12:55:20.49 ID:yXubKPZg(1) AAS
なんか話題ないの?
209
(1): デフォルトの名無しさん [sage] 2015/10/12(月) 15:20:18.76 ID:pxYHqVTj(1) AAS
API対応した2chリーダ誰か作んないかな?
210: デフォルトの名無しさん [sage] 2015/10/31(土) 20:36:12.30 ID:YZFloUqY(1) AAS
ない
211
(1): デフォルトの名無しさん [sage] 2015/11/01(日) 00:32:17.94 ID:seZhoDUW(1) AAS
>>209
作ろっか?
212
(1): デフォルトの名無しさん [] 2015/11/15(日) 09:25:10.66 ID:Bf2qkjUe(1) AAS
>>211
おねがいします
213
(1): デフォルトの名無しさん [] 2015/11/19(木) 21:57:45.42 ID:NWoSZj2q(1) AAS
>>212
よしわかった
214: デフォルトの名無しさん [sage] 2016/03/05(土) 00:21:51.81 ID:KaW6Box3(1) AAS
>>213
いえーい
215: デフォルトの名無しさん [sage] 2016/04/18(月) 00:14:54.95 ID:rfz/B1KY(1) AAS
いーまっくすはじめようとしたらしょしんしゃはこれやっとけのところでえらーになったのでもうねます
216: デフォルトの名無しさん [] 2016/09/10(土) 01:53:11.20 ID:LstVZLgo(1/2) AAS
初心者です
以下の文を電話で伝える場合、どのように話せばよいか教えて下さい。

(assq bool (list '(t car) '(nil (lambda (x) (car (cdr x))))))))

例:
かっこ始まり、えいえすえすくー ぶーーと かっこ始まり・・・・・・・・

みたいな感じでお願いしまつ
217
(1): デフォルトの名無しさん [] 2016/09/10(土) 01:56:10.66 ID:LstVZLgo(2/2) AAS
すみません。前の質問の補足ですが、なんで電話で伝えるかなのですが、
有料サポートで、おぺれーたーのお姉さまから、エラーのでる行を読み上げて下さいと言われたのですが、答えられない事があって、こんどこそ上手く説明しようとおもっています。
218: デフォルトの名無しさん [sage] 2016/09/10(土) 08:51:21.97 ID:Jm2YrF8N(1) AAS
全部一文字ずつ読みあげれ
電話で済むことをいちいち不便な掲示板使うな
1分3000円とかかかるなら別だが
219
(1): デフォルトの名無しさん [sage] 2016/09/10(土) 08:59:54.80 ID:SMvnZvc1(1) AAS
電話サポートとかぼったくり以外の何物でもないんじゃ…
そもそもエラーの出る行が問題とは限らないし普通はメールかチャットでしょう
220
(2): デフォルトの名無しさん [] 2016/09/25(日) 01:38:58.62 ID:3wxXNG/W(1) AAS
windows機しか持ってなくて、今までCygwinについてくるvi使ってたんだけど、emacsを使ってみてるんですけど、ターミナル上でemacs使おうと思ったらいちいち-nwオプション付けないといけないんですか?それともみんなターミナルとは別ウィンドウで使ってるんですか?
221: デフォルトの名無しさん [sage] 2016/09/25(日) 02:22:35.97 ID:sCxOb1W2(1) AAS
>>220
そんなの人それぞれ。
-nw付けるのが面倒なら、aliasすればいい
222: デフォルトの名無しさん [sage] 2016/09/25(日) 05:04:32.10 ID:16slqqIx(1) AAS
>>220
cygwinで-nw付けないで実行するならWindows上にX11サーバ立てないと
ntemacsとかならWindowsのUI上で実行されるよ。
223: デフォルトの名無しさん [sage] 2016/11/24(木) 22:34:59.53 ID:blWHS/2X(1) AAS
>>217
elispで有料サポートしてる日本語窓口に興味ある
アレグロとかならまだわかるけど
>>219
普通はコードの内容の確認までするの?
224: デフォルトの名無しさん [sage] 2016/11/25(金) 15:26:09.57 ID:NaD61Q6Y(1) AAS
確か大学生を鴨にしてる有料サポートがあった気がする
普通に指導員(大学院生のバイト)に聞いた方が早いし無料だし正確じゃんと思った覚えがある
225: デフォルトの名無しさん [sage] 2016/12/24(土) 02:23:20.52 ID:MPulp/OB(1) AAS
Emacsは衰退しました
http://qiita.com/itckw/items/ff079c7572d6a1acd349
226: デフォルトの名無しさん [sage] 2016/12/24(土) 13:17:00.38 ID:p4lqfCaM(1) AAS
マルチ乙
227: デフォルトの名無しさん [sage] 2017/12/01(金) 18:24:03.28 ID:bCsj1eZc(1) AAS
今年もクリスマスイブに書き込みあるかな?
228
(1): デフォルトの名無しさん [] 2018/01/17(水) 14:02:46.62 ID:k+xp7qjU(1) AAS
10年以上前のものなんですが、seimei.el というfjに流れていたelispを探しています。
どこかに残ってないでしょうか?
ご存知の方いらしたら教えて下さい
229
(2): デフォルトの名無しさん [sage] 2018/01/18(木) 00:03:27.86 ID:XNRvPuZu(1) AAS
JGをキーワードに検索した
http://www.ring.gr.jp/pub/linux/Plamo/Plamo-3.0/plamo/jg1/seimei.tgz
emacs25.3でも動いた、懐かしいな
なによりplamoって現役なのにびっくり
230
(1): デフォルトの名無しさん [sage] 2018/01/18(木) 10:48:17.98 ID:OQasshBO(1) AAS
>>229
サンキュー!ありがとう!!
231
(1): デフォルトの名無しさん [] 2018/02/18(日) 07:19:36.63 ID:9uxjLLGw(1) AAS
load-historyにFILE-NAMEがnilのエントリーがあるかも、とヘルプにあるんですけど、そのエントリーがどのタイミングでどこから書き込まれてるか教えてください(eval-regionのブレークポイントつけても引っ掛からなかったです)。お願いします
232: デフォルトの名無しさん [] 2018/02/18(日) 23:14:43.83 ID:nDa4ZZlt(1) AAS
>>228-230
過疎スレなのになんか気持ち悪いな。。。
バーカ
233
(1): デフォルトの名無しさん [] 2018/02/19(月) 05:58:48.07 ID:8lFyLir4(1) AAS
>>231
よく知らないが、リファレンスマニュアルを見た限りではそこは eval-region じゃないんじゃ……という気がする。
"emacs-lisp" "load-history"
でググったらそれらしいのが出てきたよ。
234
(1): デフォルトの名無しさん [] 2018/02/19(月) 12:06:58.79 ID:IAYRjFJ3(1) AAS
>>233
ありがとうございますマニュアル見直してみたらeval-bufferかもしれないです。もう1回やってみます
235: デフォルトの名無しさん [] 2018/02/19(月) 17:50:11.40 ID:dLVrNTbV(1) AAS
>>234
15年前の情報ですが
http://lists.chise.org/pipermail/apel-ja/2002-July/001659.html
236: デフォルトの名無しさん [] 2018/05/23(水) 20:23:27.26 ID:Au5e7VGg(1) AAS
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

147M7
237: デフォルトの名無しさん [] 2018/07/05(木) 01:22:22.58 ID:RfoszcD2(1) AAS
IEE
238: デフォルトの名無しさん [] 2018/11/22(木) 15:42:31.66 ID:r/GLumvr(1/2) AAS
elispと若干違うけどスレがないので質問させてください
C-x C-hとやるとC-xから始まるコマンド一覧はでるのですが
モードごとのコマンド一覧を出すコマンドもあったと思うのですが何だか分かる方いますか
ruby-modeを入れたのですがどんなコマンドがあるのか調べたいです
239
(1): デフォルトの名無しさん [sage] 2018/11/22(木) 16:45:53.83 ID:vHHfqSHt(1) AAS
C-h b
あと、メニューバーを見れば基本的なキーバインドは確認できる
消してる場合は C-右クリ
240: デフォルトの名無しさん [sage] 2018/11/22(木) 17:29:44.31 ID:r/GLumvr(2/2) AAS
>>239 ありがとうございました
241: デフォルトの名無しさん [] 2019/03/21(木) 00:07:03.75 ID:BVBXqX32(1) AAS
emacs 24.5.1を使用しています。
http://www.miura-takeshi.com/etc/genkou.el
上記のプラグインを使用してバッファの文字列を原稿用紙換算したいのですが、
モードラインへの表示ができません。
文字列のカウント処理は問題なく動作しているので、下記のモードライン更新処理の
記述に問題があるようなのですが、何が悪いか分かる方いらっしゃいませんでしょうか?

(defun genkou-mode-line ()
"モードラインを書き換える"
(let ((tmp-list))
(setq genkou-mode-line-string
(format "--%d枚%d行" genkou-page-num genkou-line-num))
(make-local-variable 'mode-line-format)
(setq tmp-list (copy-sequence default-mode-line-format))
(setq mode-line-format
(append
(delete "-%-" tmp-list)
(append (list genkou-mode-line-string) (member "-%-" default-mode-line-format))))
(force-mode-line-update)))
242: デフォルトの名無しさん [] 2019/11/17(日) 22:43:13.52 ID:rHCPJv2k(1) AAS
https://masatoi.github.io/2017/05/11/hy-tutorial
M-x hy-mode
-> hy-font-lock--kwd->comint-kwd: Invalid function: ((matcher . match-highlights) kwd)
243: デフォルトの名無しさん [sage] 2019/12/15(日) 00:19:45.52 ID:YAW0GHgK(1) AAS
サクラエディタの代わりにLinux上で簡易なテキストの正規表現やコピべマンとして
ボリュームがvi以上vscode未満ということでEmacs採用したけどまともに使うまでにでもマゾ過ぎないかこれ
244: デフォルトの名無しさん [sage] 2019/12/15(日) 02:28:29.07 ID:qZlo5BGy(1) AAS
Emacsってのは、すみずみまでいじり回して遊びたい人のための、組み立てキットみたいなものなんだよ。
改造しやすいってのが最大の売りで、各自で好みに合うように作り変えるのが大前提。
素のままでも一応は使えるけど、そんなに便利には作られてない。

魔改造とかする気がないなら、他に適したエディタがあると思う。
245: デフォルトの名無しさん [sage] 2019/12/15(日) 10:46:01.17 ID:S9GzmkuV(1) AAS
wine使ってサクラエディタが動くから試してみたら?
Emacsは何かの代わりに使おうとすると、操作体系が違い過ぎて挫折する
246
(1): デフォルトの名無しさん [] 2020/02/25(火) 21:01:07.43 ID:nMAvGdtS(1) AAS
2つ質問します。

1. 選択範囲を削除するけれど、kill-ringに入れないという設定を教えて下さい。
 kill-ringの一番新しいものをそのままにしておきたいからです

2. yankした際に、yankされたものの末尾にカーソルが飛ぶのですが、
 カーソルが移動しないようにする設定を教えて下さい。

お手数をおかけしますが、お願いします。
247: デフォルトの名無しさん [sage] 2020/02/25(火) 21:13:58.66 ID:I3QTYUIA(1) AAS
2 は C-u C-y でOK
248: デフォルトの名無しさん [sage] 2020/02/25(火) 23:07:15.03 ID:Z6R/vWss(1) AAS
>246
1は
M-x delete-region
249: デフォルトの名無しさん [sage] 2020/03/02(月) 00:52:27.30 ID:8zyc+iZb(1) AAS
ご回答ありがとうございました。大変助かりました。
250
(1): デフォルトの名無しさん [] 2020/03/16(月) 17:02:19.48 ID:r6kvZN2B(1) AAS
シェルスクリプトからemacs ―batch で処理した結果をprintすると
\\. \\. \\“
みたいの沢山でてくる
エスケープなしで表示された通りの文字列を得るにはどうすれば良いのでしょう
251: デフォルトの名無しさん [] 2020/03/16(月) 17:29:13.93 ID:uq6V7ZgT(1) AAS
>>250
princ
252
(2): デフォルトの名無しさん [] 2020/03/17(火) 01:23:57.66 ID:h1pz+/ac(1) AAS
princにすると
\\,

\,
になったのですが
,
にする方法はないのでしょうか
253: デフォルトの名無しさん [] 2020/03/17(火) 02:39:06.56 ID:Kot3zOY6(1) AAS
>>252
princ が引数の文字列に含まれていない \ を勝手に印字することはないから、
その「処理」とやらで \ を追加しているのでは
または emacs への入力の時点ですでに \ を含んでいるとか
254: デフォルトの名無しさん [sage] 2020/03/19(木) 22:49:52.53 ID:Fc1yZB1g(1) AAS
>>252
読み込む時にreadしてんじゃないか?
255
(1): デフォルトの名無しさん [] 2020/08/26(水) 15:21:01.87 ID:L7JtIZFl(1) AAS
Windows の Emacs
日本語入力しようとして
半/全 キー押してしばらくしたら
Emacs ウィンドウ全部落ちた
バグ?
256: デフォルトの名無しさん [sage] 2020/08/26(水) 21:46:47.96 ID:WFfMUKrt(1) AAS
おま環
257: デフォルトの名無しさん [] 2020/10/14(水) 10:11:53.97 ID:GsUUoEHv(1) AAS
(point) って 4GB 以上のファイルでも安全?
258: デフォルトの名無しさん [sage] 2020/10/16(金) 16:47:48.59 ID:w0E7/mRw(1) AAS
わからない
259: デフォルトの名無しさん [] 2020/10/19(月) 12:25:40.39 ID:asy7wTux(1) AAS
>>255
windows 10 64bit
emacs 26.3 64bit
また再現した
emacs 以外も含めて(同時起動中のソフト) windows 10 全体の ime が
モードが変になったり勝手に改行されたり狂い始める
このまま使い続けるとそのうち emacs が落ちるんだと思う
task manager から ctfmon.exe を殺したら治ったっぽい
260
(1): デフォルトの名無しさん [sage] 2020/10/27(火) 16:42:12.74 ID:yDmA/b17(1) AAS
emacs って 8MB 以上のテキストファイルで警告出るω
最近の大きめの xml とか json とか yaml とか怖くて編集出来ないωωω
261: デフォルトの名無しさん [sage] 2020/10/28(水) 00:47:27.01 ID:6sYlouKi(1) AAS
>>260
は?
262: デフォルトの名無しさん [sage] 2020/10/28(水) 10:14:23.93 ID:B0xF7HGe(1) AAS
それじゃなにか?きみは「ここから先は18歳以下は閲覧できません」っていう
警告がでたからといって見たいエロ動画も見ずにすごすごと帰る、というそんな腰抜けなのか!
263: デフォルトの名無しさん [sage] 2020/10/28(水) 11:50:59.99 ID:Mf8tEr2f(1) AAS
rmsがロリって本当?
264: デフォルトの名無しさん [] 2020/11/08(日) 09:55:05.64 ID:w3b7rq0H(1/2) AAS
Emacs 26.3 (build 1, x86_64-w64-mingw32) of 2019-12-31

漢字キーを押して
「でるた」
で変換始めると
重たくなって
しばらくしたら落ちる
265: デフォルトの名無しさん [] 2020/11/08(日) 09:56:25.01 ID:w3b7rq0H(2/2) AAS
?
の表示のあとカーソルが消えて重くなる
266: デフォルトの名無しさん [sage] 2021/02/08(月) 16:32:46.35 ID:FcZ190S6(1/3) AAS
日本語入力はもう諦めた
単にコードや英文に記号使いたいならdigraph覚えるのをオススメする
\C-c k D *で対応するギリシア文字?みたいな
dならδ、->で→、数学記号も不足なし
あとかなはkaでカナはNaだったり
国際規格があるので覚えとけば汎用性がある
(比べる訳じゃないが少なくともvimでは標準機能)

(global-set-key (kbd "C-c k")
(define-prefix-command 'alistから記号拾ってくる関数 ))

自分用elも転がってたけど網羅的でないかったので、ググって一番に出てくるvimヘルプのテーブルをコピペして整形した

melpaに無いと思い込んでたんだけど、今調べたらevilとかいうevilなのが出てきた、多分名前でスルーしてたわ
267: デフォルトの名無しさん [sage] 2021/02/08(月) 16:39:31.18 ID:FcZ190S6(2/3) AAS
ひらがなかたかなときごうとalphabetのぶんしょうなら、マップがローマ字にゅうりょくとたいおうしているので、いっそdefine-keyしてしまえばじっしつIMEいらずだぞ!
268: デフォルトの名無しさん [sage] 2021/02/08(月) 16:40:43.17 ID:FcZ190S6(3/3) AAS
字はうてなかった、かたておち…
まあ、げんきかくまではみてないのでもしかしたらかんじもあるかも
269: デフォルトの名無しさん [] 2021/10/09(土) 19:32:02.55 ID:KRzSwEb7(1) AAS
Bash on windows(Ubuntu)のemacs

Windows 10に
scoop install emacs
した環境

どっちも環境変数homeを見にいくのでciderがどっちかの環境で動いてくれない
270: デフォルトの名無しさん [sage] 2023/01/30(月) 07:49:47.97 ID:Va8OFUvh(1) AAS
ただ今制限を設けております
271: デフォルトの名無しさん [] 2023/09/25(月) 16:47:00.13 ID:Qn9WiVG4(1) AAS
こっちを再利用してください
272: デフォルトの名無しさん [] 2023/10/13(金) 13:14:55.06 ID:1CzMMp9Z(1) AAS
emacs lispでC++のコメントを削除(行コメント//だけを行ごと削除)する方法を教えてください
273: デフォルトの名無しさん [sage] 2023/10/13(金) 14:18:48.79 ID:oUGpYLYU(1/4) AAS
(defun comment-traversal (beg end func)
(save-excursion
(let (spt ept)
(goto-char beg)
(while (and (< (point) end)
(setq spt (comment-search-forward end t)))
(setq ept (progn
(goto-char spt)
(unless (or (comment-forward)
(eobp))
(error "Can't find the comment end"))
(point)))
(funcall func spt ept)))))
274: デフォルトの名無しさん [sage] 2023/10/13(金) 14:19:30.72 ID:oUGpYLYU(2/4) AAS
(defun not-comment-traversal (beg end func)
(save-excursion
(let (spt
(ept (1- (goto-char beg))))
(while (and (< (point) end)
(setq spt (comment-search-forward end t)))
(funcall func (1+ ept) spt)
(setq ept (progn
(goto-char spt)
(unless (or (comment-forward)
(eobp))
(error "Can't find the comment end"))
(point))))
(funcall func ept (min end (1- (point-max)))))))
275: デフォルトの名無しさん [sage] 2023/10/13(金) 14:20:49.82 ID:oUGpYLYU(3/4) AAS
最初のはコメントを抜き出すコード
次のはコメント以外を抜き出すコード
バッファー内のコメントを消していくのは難易度が高い
コメント以外を出力してリダイレクトするのが簡単だろう
↓こんな感じ
(not-comment-traversal (point-min) (point-max)
(lambda (beg end)
(print (buffer-substring beg end))))
ちなみにコメントはEmacsが把握してるので、このコードは言語非依存だ
276: デフォルトの名無しさん [sage] 2023/10/13(金) 14:38:43.09 ID:rlk6vHPT(1) AAS
そういうつまらないものはchatgptに作らせればいい
277: デフォルトの名無しさん [sage] 2023/10/13(金) 16:01:32.18 ID:oUGpYLYU(4/4) AAS
Emacs Lispのコードなんてまともに学習できないよw
278
(1): デフォルトの名無しさん [sage] 2023/10/13(金) 16:08:10.43 ID:ugq7JLEK(1) AAS
うん、だから、ChatGPTはバカだな
こんなものに時間をそそいでいる人類はバカ
279: デフォルトの名無しさん [sage] 2023/10/13(金) 23:03:38.37 ID:9b0YvF5R(1) AAS
そういうのはキーボードマクロが向いている
//をインクリメントサーチして、c-a,c-k,c-k
で名前を付けて登録
登録したマクロを10000000回ぐらい実行すればいい
280: デフォルトの名無しさん [] 2023/10/14(土) 12:49:27.28 ID:x03gZ5vc(1) AAS
>>278
ほんそれ
281: デフォルトの名無しさん [sage] 2023/10/15(日) 11:32:10.04 ID:HSf5ScFa(1) AAS
ファイルの先頭に移動して
M-x flush-lines
を起動して
^//
を打ち込んだら消せました
282: デフォルトの名無しさん [sage] 2023/10/15(日) 15:15:27.51 ID:Z4N/9jbi(1) AAS
hoge(); // コメント
とか
/*
コメント
*/
は消せないじゃん
283
(1): デフォルトの名無しさん [sage] 2023/11/11(土) 20:06:28.30 ID:6Uwmj7p8(1/2) AAS
だからキーボードマクロを使えって

/*をインクリメントサーチ二文字戻って
マーク、*/をインクリメントサーチで探して
kill-region

これをキーボードマクロにして
何なら名前を付けて init.el に登録することもできる
284
(1): デフォルトの名無しさん [sage] 2023/11/11(土) 20:13:40.67 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: デフォルトの名無しさん [sage] 2023/11/12(日) 01:44:20.85 ID:IUEeiAD3(1/2) AAS
>>283
/* */と//の両方消せないじゃん
286: デフォルトの名無しさん [sage] 2023/11/12(日) 16:34:00.64 ID:pFykNXrS(1) AAS
別々に作って二回走査すればいいだけでは?
287: デフォルトの名無しさん [sage] 2023/11/12(日) 19:43:42.90 ID:IUEeiAD3(2/2) AAS
/* // */
は、先に // で消してしまうとおかしな事になるな
まぁ、先に/* */を消せばいいがな
それと、>>284のマクロはコメント1個しか消せないじゃん
全部消さないと
取り敢えずこれらを全部対応させたキーボードマクロを出さないと駄目
288: デフォルトの名無しさん [sage] 2023/11/13(月) 23:08:48.29 ID:Y+b0wq04(1) AAS
/* */を排除するマクロを100000回ぐらいやって
次に // を排除するマクロを1000000回ぐらい動かす
気持ち悪いかもしれないが目的は達せられる
289: デフォルトの名無しさん [sage] 2023/11/18(土) 15:57:54.85 ID:bNx8n+lD(1) AAS
インクリメントサーチが失敗するまで
無限ループで回すことはできるけどね
290: デフォルトの名無しさん [] 2024/10/02(水) 10:15:18.16 ID:XbzwGALZ(1) AAS
Blenderのpython→bpy
EmacsのLisp→elisp
ExcelのVB→VBAω
291
(1): デフォルトの名無しさん [sage] 2024/10/20(日) 10:23:23.92 ID:LzrvAVJD(1) AAS
むしろemacs以外の現役lispを知らん
292: デフォルトの名無しさん [sage] 2024/10/30(水) 03:02:36.94 ID:BzmMNap8(1/2) AAS
>>291
cl書いて食ってるんで異議を申し立てたいのは山々だが…まあうん落ち目すぎるね

rmsに信心示すんならならguileすげーぞ
もちelispもサポートしてる
lispyな言語(scheme, elisp, es)である限り、その全てを(適当な変換の後)共通IL通して共通エンジンで動かせる

gccもIL通してサポート多いじゃん!と思うかもしれんが、あれ全ての言語サポートする勢いで風呂敷拡げすぎてっるし、そもそもエンジンがlispyでないのでlisp系の性能は、まあ察してくれ
293: デフォルトの名無しさん [sage] 2024/10/30(水) 03:25:59.58 ID:BzmMNap8(2/2) AAS
そういや5年かそこら前にemacsのelisp処理系を既存のからguile(のelisp)に置き換えるってのやってた記憶あるけど結局ポシャったんかね?
一応おおむね成功はしたとか

まあemacsのelisp処理系も最近コンパイル出来るようになって性能上がったし、置き換える利点も減ったのかな?

とすればgnuで2つelisp処理系作ってる現状の不利は労力の無駄ってくらいか
294: デフォルトの名無しさん [sage] 2025/02/02(日) 07:37:39.53 ID:gkY6KzeC(1) AAS
native-compile有効化してもバイトコンパイルの数倍しか速くならないし、Common Lispの10倍くらい遅いんだよな
最近だとCommon Lispで1から作られたLemというエディタがある
295: デフォルトの名無しさん [sage] 2025/02/02(日) 15:53:20.81 ID:OcIEQytI(1) AAS
動的型はネイティブコンパイルしても2倍速になるかどうかだな
型推論を実装してからが本番だ
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.890s*