[表示 : 全て 最新50 1-99 101- 201- 301- 2ch.scのread.cgiへ]
Update time : 11/15 23:17 / Filesize : 88 KB / Number-of Response : 306
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

【GNU】Emacs Lisp 【Elisp】



1 名前:デフォルトの名無しさん mailto:sage [2013/10/20(日) 07:50:56.93 .net]
Emacs Lispのスレです。

- GNU Emacs Lisp Reference Manual
www.gnu.org/software/emacs/manual/elisp.html
- An Introduction to Programming in Emacs Lisp
www.gnu.org/software/emacs/manual/eintr.html
- Emacs Wiki の "EmacsLisp"
www.emacswiki.org/cgi-bin/wiki/EmacsLisp
- GNU Emacs
www.gnu.org/software/emacs/emacs.html

182 名前:デフォルトの名無しさん mailto:sage [2015/03/17(火) 15:43:40.52 ID:oOjriwkf.net]
if とか and って special form だとおもうんだけれど、これ無しの普通の関数のみで条件によって実行するしないを含むようなプログラムって書ける?
haskell みたいに、遅延評価を行えば可能らしいけれど。

聞く場所間違ってたらすまん

183 名前:デフォルトの名無しさん mailto:sage [2015/03/17(火) 16:21:51.69 ID:StR3CX22.net]
>>182
リストとして渡して内部でeval すりゃいいんでないの。
(defun xwhen (pred body)
(when pred (eval body))

184 名前:デフォルトの名無しさん mailto:sage [2015/03/17(火) 19:52:02.87 ID:u03+oswx.net]
特殊形式は無理じゃね

185 名前:デフォルトの名無しさん mailto:sage [2015/03/18(水) 00:49:30.65 ID:smUcV4wp.net]
関数だと引数は全部実行というか評価されてしまうが、
マクロでなんとでもなる
(defmacro myif (pred good bad)
(list 'if pred good bad))
もしくは略記法として
(defmacro myif (pred good bad)
`(if ,pred ,good ,bad))
とすると、
(myif t (insert "ok") (insert "ng"))
と書ける。こうやってS式を返すような関数と同様にmyifを「マクロとして」定義すると、
(myif ...)というフォームはまず最初に「展開」されてから実行される。ここだと
(if t (insert "ok") (insert "ng")) と最初から書いてあったのと同じことになって、
nbの部分は実行されないという寸法。これはつまらない例だが。

もうちょっと面白い例だと、
(defmacro awhen (pred &rest body)
`(let ((it ,pred))
(when it
,@body)))
とすると条件式の結果を本体(body)の中でitとして使えるとか
(awhen "hogehoge" (message it))

special formとマクロの違いは組み込みかどうかぐらい。
こんな感じで色々制御構文を作ったり、遅延評価のを実装したりもできるが、
あんまり濫用すると自分でもわからなくなってくる諸刃の剣

長文御免

186 名前:183 mailto:sage [2015/03/18(水) 01:01:43.13 ID:nZSu0bqF.net]
>>183
when は確かに special form ではなく、マクロなのですが、内部では cond を使っていて、私の望むものではありませんでした。条件があいまいで済みませんでした。

>>184
感覚的には無理なように感じていたのですが、当方あまり lisp や関数型言語に対して俯瞰がなく確証が持てなかったため質問したものでした。

>御二方
理解が深まりました。
ありがとうございます。

187 名前:デフォルトの名無しさん mailto:sage [2015/03/18(水) 01:09:21.60 ID:dNB2wbku.net]
special form を使わずに if 実装って elisp では可能なんだろか…
macro 使ったとしても結局 if 的なことするためには置き換え先で special form 使うことになるよね。

188 名前:183 mailto:sage [2015/03/18(水) 01:19:26.33 ID:nZSu0bqF.net]
ID 変わってるかもですが 183 です。

>>185
内部的に特殊形式を利用しているので、申し訳なくも私がもともと期待していたものとは違うのですが、
特殊形式であっても独自拡張可能というのは面白いですね。

私は主に Python や C/C++ の世界に住んでいるので、例えば条件付トレースなど、
可能であれば条件式によって引数を評価せずに処理をしたいときにあきらめてしまうことがあります。
(書かなくてもわかるかとも思いますが) Python の例で言えばこんな感じです。
def conditional_trace(ctrl, msg):
  if ctrl: print msg
  return
conditional_trace(True, heavy_message_generate())

そもそも Python の世界なんて、コストは大して気にしない場合が多いのですが、
貧乏性でして。あと heavy_message_generate に副作用があったりすると困ります。
こういう意味では C/C++ のプリプロセッサのほうが自由度が高いですね。言語の外にあるだけあって。

条件後出しで申し訳ないです。でも、macro の威力がわかってとても良かったです。ありがとうございます。

ちなみに、when もマクロであって、マクロの展開では評価されないことに依存したものですね。
基礎的な機能であっても、special form をたくさん作るよりはマクロで構文糖衣するということで、これも面白いです。

189 名前:183 mailto:sage [2015/03/18(水) 01:50:01.10 ID:nZSu0bqF.net]
>>187
そうそう。それです。教えていただいた結果、私の疑問もそれになりました。

true, false ではなく、car, (lambda (x) (car (cdr x))) を渡すことになりますが、
macro を遅延評価代わりに使って、分岐っぽいものが実現できるようです。

(defmacro cdrif (idx good bad)
(funcall idx (list good bad)))
(cdrif car (insert "ok") (insert "ng"))
ok
(cdrif (lambda (x) (car (cdr x))) (insert "ok") (insert "ng"))
ng

あとは、任意の(真偽)値から car, (lambda (x) (car (cdr x))) に変換できれば、
elisp で if を自作できることになるんですかねぇ。
ちょっと自信が無いですが。

190 名前:183 mailto:sage [2015/03/18(水) 02:28:36.05 ID:nZSu0bqF.net]
(defmacro cdrifx (bool good bad)
(funcall
(car
(cdr
(assq bool (list '(t car) '(nil (lambda (x) (car (cdr x))))))))
(list good bad)))
cdrifx
(cdrifx t (insert "ok") (insert "ng"))
ok
(cdrifx nil (insert "ok") (insert "ng"))
ng

assq を使ってしまえば出来ました。(assq は C built-in function.)
仮に lisp のみで assq を実装すると if が必要になるかもしれませんが、
概念的には単なる写像というか単純なマッピング関数なのでありなのかなぁ。

チラ裏になってしまい申し訳ない。



191 名前:デフォルトの名無しさん mailto:sage [2015/03/18(水) 03:39:54.16 ID:smUcV4wp.net]
symbol-property-listでの力技を作ってしまおうかと思ったら先を越されてた。

>>188
もとの疑問を離れてその目的ならということだけど、
単純にその重い処理を関数として渡してしまうのがいいのでは。
よくthunkと言われる方法。

(defun conditional-trace (x thunk)
(when x (funcall thunk))
としておいて
(conditional-trace t (lambda () (heavy-message-generate))
とか
(conditional-trace t #'heavy-message-generate)
とか。

そのpythonの例でも同様に
def conditional_trace(ctrl, func):
  if ctrl: print func()
  return
conditional_trace(True, lambda:heavy_message_generate())
conditional_trace(True, heavy_message_generate)

遅延評価する言語も中身はこういう感じの実装だったと思う。

C/C++は関数が第一級データ型じゃないので相当面倒になるが、
頑張ればできるはず…(最近のC++にはラムダ式入ったみたいだけど)。

C/C++のプロプロセッサだと動的に条件を変えたくなったら困らない?
デバッグオプション付きで走らせた時だけトレースが欲しいとかもできなく
なっちゃうし。
あとちょっと複雑なことやろうとすると急速に黒魔術化するイメージがある。

192 名前:デフォルトの名無しさん mailto:sage [2015/03/18(水) 07:20:53.23 ID:dNB2wbku.net]
>>190
はーなるほど。assq で判定させるとは考えつかなかった。
おもしろいねえこれ。

193 名前:デフォルトの名無しさん mailto:sage [2015/03/18(水) 07:23:49.75 ID:dNB2wbku.net]
最低限組み込みで実装しなきゃいけない部分はどこまでで
あとはその組み合わせで自己記述可能になるとかは lisp の教科書読めばわかるのかな。

194 名前:デフォルトの名無しさん mailto:sage [2015/03/18(水) 11:07:05.14 ID:mAuMOca0.net]
純Lisp(pure Lisp)ってのだとcond使わざるを得なくなるから特殊形式は使わざるを得ないんじゃないかな

195 名前:183 mailto:sage [2015/03/18(水) 12:55:18.82 ID:nZSu0bqF.net]
>>191
もし、面倒でなければ「symbol-property-listでの力技」っていうのも見てみたいです。

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

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

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

C++ の lambda も上手く例が作れれば後程。

196 名前:183 mailto:sage [2015/03/18(水) 12:56:45.43 ID:nZSu0bqF.net]
>>192
あんまり 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


>>194
lisp は関数指向でも書けるけれど、そもそもマルチパラダイムなのが、
その規定の時点から現れているように思えます。
最小要素とするのに、macro による制御構造の書換えと
一箇所で特殊な振舞いをするという cond どっちが最小かと言えば cond のが小さそうです。

197 名前:デフォルトの名無しさん mailto:sage [2015/03/19(木) 10:18:55.55 ID:KVeBWceY.net]
>>195
力技というほどのものでもなかった
(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とか読むと楽しいかもしれない。

198 名前:デフォルトの名無しさん mailto:sage [2015/03/19(木) 10:42:33.11 ID:QynmxxEd.net]
>>197
なるほど、こっちはプロパティを写像に使うのか
いろいろ考えつくもんだなぁ

199 名前:183 mailto:sage [2015/03/20(金) 03:19:22.81 ID:x0oqiRHZ.net]
>>197 ありがとうございます。取り急ぎお礼を申し上げ乙。

200 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 11:33:21.52 ID:dBigamDw.net]
setqと同等の機能を実現する関数は定義できますか



201 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 13:54:08.02 ID:M2tYWf9M.net]
set と マクロ使えばできるんじゃない

202 名前:デフォルトの名無しさん [2015/08/29(土) 07:44:55.47 ID:vrZb3qx4.net]
なんかネタないの?

203 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 11:38:36.28 ID:cVkBtg3P.net]
ついに俺のチンコが黒光りしてきた話はどうだ?

204 名前:デフォルトの名無しさん [2015/08/29(土) 13:38:04.80 ID:vrZb3qx4.net]
>>203
却下

205 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 05:58:46.12 ID:dCMQNVLK.net]
>>203
どうやったら黒光りするの?

206 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 06:03:17.10 ID:CnOlY9Pq.net]
図書館で毎日ナンパして地下食堂のトイレでマン汁まみれで腰動かすんだよぉ

207 名前:デフォルトの名無しさん [2015/10/10(土) 12:55:20.49 ID:yXubKPZg.net]
なんか話題ないの?

208 名前:デフォルトの名無しさん mailto:sage [2015/10/12(月) 15:20:18.76 ID:pxYHqVTj.net]
API対応した2chリーダ誰か作んないかな?

209 名前:デフォルトの名無しさん mailto:sage [2015/10/31(土) 20:36:12.30 ID:YZFloUqY.net]
ない

210 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 00:32:17.94 ID:seZhoDUW.net]
>>208
作ろっか?



211 名前:デフォルトの名無しさん [2015/11/15(日) 09:25:10.66 ID:Bf2qkjUe.net]
>>210
おねがいします

212 名前:デフォルトの名無しさん [2015/11/19(木) 21:57:45.42 ID:NWoSZj2q.net]
>>211
よしわかった

213 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 00:21:51.81 ID:KaW6Box3.net]
>>212
いえーい

214 名前:デフォルトの名無しさん mailto:sage [2016/04/18(月) 00:14:54.95 ID:rfz/B1KY.net]
いーまっくすはじめようとしたらしょしんしゃはこれやっとけのところでえらーになったのでもうねます

215 名前:デフォルトの名無しさん [2016/09/10(土) 01:53:11.20 ID:LstVZLgo.net]
初心者です
以下の文を電話で伝える場合、どのように話せばよいか教えて下さい。

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

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

みたいな感じでお願いしまつ

216 名前:デフォルトの名無しさん [2016/09/10(土) 01:56:10.66 ID:LstVZLgo.net]
すみません。前の質問の補足ですが、なんで電話で伝えるかなのですが、
有料サポートで、おぺれーたーのお姉さまから、エラーのでる行を読み上げて下さいと言われたのですが、答えられない事があって、こんどこそ上手く説明しようとおもっています。

217 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 08:51:21.97 ID:Jm2YrF8N.net]
全部一文字ずつ読みあげれ
電話で済むことをいちいち不便な掲示板使うな
1分3000円とかかかるなら別だが

218 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 08:59:54.80 ID:SMvnZvc1.net]
電話サポートとかぼったくり以外の何物でもないんじゃ…
そもそもエラーの出る行が問題とは限らないし普通はメールかチャットでしょう

219 名前:デフォルトの名無しさん [2016/09/25(日) 01:38:58.62 ID:3wxXNG/W.net]
windows機しか持ってなくて、今までCygwinについてくるvi使ってたんだけど、emacsを使ってみてるんですけど、ターミナル上でemacs使おうと思ったらいちいち-nwオプション付けないといけないんですか?それともみんなターミナルとは別ウィンドウで使ってるんですか?

220 名前:デフォルトの名無しさん mailto:sage [2016/09/25(日) 02:22:35.97 ID:sCxOb1W2.net]
>>219
そんなの人それぞれ。
-nw付けるのが面倒なら、aliasすればいい



221 名前:デフォルトの名無しさん mailto:sage [2016/09/25(日) 05:04:32.10 ID:16slqqIx.net]
>>219
cygwinで-nw付けないで実行するならWindows上にX11サーバ立てないと
ntemacsとかならWindowsのUI上で実行されるよ。

222 名前:デフォルトの名無しさん mailto:sage [2016/11/24(木) 22:34:59.53 ID:blWHS/2X.net]
>>216
elispで有料サポートしてる日本語窓口に興味ある
アレグロとかならまだわかるけど
>>218
普通はコードの内容の確認までするの?

223 名前:デフォルトの名無しさん mailto:sage [2016/11/25(金) 15:26:09.57 ID:NaD61Q6Y.net]
確か大学生を鴨にしてる有料サポートがあった気がする
普通に指導員(大学院生のバイト)に聞いた方が早いし無料だし正確じゃんと思った覚えがある

224 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 02:23:20.52 ID:MPulp/OB.net]
Emacsは衰退しました
qiita.com/itckw/items/ff079c7572d6a1acd349

225 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 13:17:00.38 ID:p4lqfCaM.net]
マルチ乙

226 名前:デフォルトの名無しさん mailto:sage [2017/12/01(金) 18:24:03.28 ID:bCsj1eZc.net]
今年もクリスマスイブに書き込みあるかな?

227 名前:デフォルトの名無しさん [2018/01/17(水) 14:02:46.62 ID:k+xp7qjU.net]
10年以上前のものなんですが、seimei.el というfjに流れていたelispを探しています。
どこかに残ってないでしょうか?
ご存知の方いらしたら教えて下さい

228 名前:デフォルトの名無しさん mailto:sage [2018/01/18(木) 00:03:27.86 ID:XNRvPuZu.net]
JGをキーワードに検索した
www.ring.gr.jp/pub/linux/Plamo/Plamo-3.0/plamo/jg1/seimei.tgz
emacs25.3でも動いた、懐かしいな
なによりplamoって現役なのにびっくり

229 名前:デフォルトの名無しさん mailto:sage [2018/01/18(木) 10:48:17.98 ID:OQasshBO.net]
>>228
サンキュー!ありがとう!!

230 名前:デフォルトの名無しさん [2018/02/18(日) 07:19:36.63 ID:9uxjLLGw.net]
load-historyにFILE-NAMEがnilのエントリーがあるかも、とヘルプにあるんですけど、そのエントリーがどのタイミングでどこから書き込まれてるか教えてください(eval-regionのブレークポイントつけても引っ掛からなかったです)。お願いします



231 名前:デフォルトの名無しさん [2018/02/18(日) 23:14:43.83 ID:nDa4ZZlt.net]
>>227-229
過疎スレなのになんか気持ち悪いな。。。
バーカ

232 名前:デフォルトの名無しさん [2018/02/19(月) 05:58:48.07 ID:8lFyLir4.net]
>>230
よく知らないが、リファレンスマニュアルを見た限りではそこは eval-region じゃないんじゃ……という気がする。
"emacs-lisp" "load-history"
でググったらそれらしいのが出てきたよ。

233 名前:デフォルトの名無しさん [2018/02/19(月) 12:06:58.79 ID:IAYRjFJ3.net]
>>232
ありがとうございますマニュアル見直してみたらeval-bufferかもしれないです。もう1回やってみます

234 名前:デフォルトの名無しさん [2018/02/19(月) 17:50:11.40 ID:dLVrNTbV.net]
>>233
15年前の情報ですが
lists.chise.org/pipermail/apel-ja/2002-July/001659.html

235 名前:デフォルトの名無しさん [2018/05/23(水) 20:23:27.26 ID:Au5e7VGg.net]
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

147M7

236 名前:デフォルトの名無しさん [2018/07/05(木) 01:22:22.58 ID:RfoszcD2.net]
IEE

237 名前:デフォルトの名無しさん [2018/11/22(木) 15:42:31.66 ID:r/GLumvr.net]
elispと若干違うけどスレがないので質問させてください
C-x C-hとやるとC-xから始まるコマンド一覧はでるのですが
モードごとのコマンド一覧を出すコマンドもあったと思うのですが何だか分かる方いますか
ruby-modeを入れたのですがどんなコマンドがあるのか調べたいです

238 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 16:45:53.83 ID:vHHfqSHt.net]
C-h b
あと、メニューバーを見れば基本的なキーバインドは確認できる
消してる場合は C-右クリ

239 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 17:29:44.31 ID:r/GLumvr.net]
>>238 ありがとうございました

240 名前:デフォルトの名無しさん [2019/03/21(木) 00:07:03.75 ID:BVBXqX32.net]
emacs 24.5.1を使用しています。
ttp://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)))



241 名前:デフォルトの名無しさん [2019/11/17(日) 22:43:13.52 ID:rHCPJv2k.net]
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)

242 名前:デフォルトの名無しさん mailto:sage [2019/12/15(日) 00:19:45.52 ID:YAW0GHgK.net]
サクラエディタの代わりにLinux上で簡易なテキストの正規表現やコピべマンとして
ボリュームがvi以上vscode未満ということでEmacs採用したけどまともに使うまでにでもマゾ過ぎないかこれ

243 名前:デフォルトの名無しさん mailto:sage [2019/12/15(日) 02:28:29 ID:qZlo5BGy.net]
Emacsってのは、すみずみまでいじり回して遊びたい人のための、組み立てキットみたいなものなんだよ。
改造しやすいってのが最大の売りで、各自で好みに合うように作り変えるのが大前提。
素のままでも一応は使えるけど、そんなに便利には作られてない。

魔改造とかする気がないなら、他に適したエディタがあると思う。

244 名前:デフォルトの名無しさん mailto:sage [2019/12/15(日) 10:46:01.17 ID:S9GzmkuV.net]
wine使ってサクラエディタが動くから試してみたら?
Emacsは何かの代わりに使おうとすると、操作体系が違い過ぎて挫折する

245 名前:デフォルトの名無しさん [2020/02/25(火) 21:01:07.43 ID:nMAvGdtS.net]
2つ質問します。

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

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

お手数をおかけしますが、お願いします。

246 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 21:13:58.66 ID:I3QTYUIA.net]
2 は C-u C-y でOK

247 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 23:07:15.03 ID:Z6R/vWss.net]
>245
1は
M-x delete-region

248 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 00:52:27.30 ID:8zyc+iZb.net]
ご回答ありがとうございました。大変助かりました。

249 名前:デフォルトの名無しさん [2020/03/16(月) 17:02:19 ID:r6kvZN2B.net]
シェルスクリプトからemacs ―batch で処理した結果をprintすると
\\. \\. \\“
みたいの沢山でてくる
エスケープなしで表示された通りの文字列を得るにはどうすれば良いのでしょう

250 名前:デフォルトの名無しさん [2020/03/16(月) 17:29:13.93 ID:uq6V7ZgT.net]
>>249
princ



251 名前:デフォルトの名無しさん [2020/03/17(火) 01:23:57.66 ID:h1pz+/ac.net]
princにすると
\\,

\,
になったのですが
,
にする方法はないのでしょうか

252 名前:デフォルトの名無しさん [2020/03/17(火) 02:39:06.56 ID:Kot3zOY6.net]
>>251
princ が引数の文字列に含まれていない \ を勝手に印字することはないから、
その「処理」とやらで \ を追加しているのでは
または emacs への入力の時点ですでに \ を含んでいるとか

253 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 22:49:52 ID:Fc1yZB1g.net]
>>251
読み込む時にreadしてんじゃないか?

254 名前:デフォルトの名無しさん [2020/08/26(水) 15:21:01.87 ID:L7JtIZFl.net]
Windows の Emacs
日本語入力しようとして
半/全 キー押してしばらくしたら
Emacs ウィンドウ全部落ちた
バグ?

255 名前:デフォルトの名無しさん mailto:sage [2020/08/26(水) 21:46:47.96 ID:WFfMUKrt.net]
おま環

256 名前:デフォルトの名無しさん mailto:sage [2020/09/08(火) 23:54:37.39 ID:L2ZCtfX62]
大学で学ぶ物理を板書1枚にまとめてみた
https://www.youtube.com/watch?v=naBcXoq4aOI
物理の研究分野を板書1枚にまとめてみた
https://www.youtube.com/watch?v=4W-pWuXUaZQ
理学部と工学部の違いとは?
https://www.youtube.com/watch?v=eJH4nKU6mJA&t=80s
大学と大学院の違い
https://www.youtube.com/watch?v=xBKAEvTegN8
高校と大学の積分は決定的に違う?微分積分学の基本定理は実はすごい!
https://www.youtube.com/watch?v=V9i_zlbssbs&t=475s
数学にはどんな研究分野がある?数学の世界地図を一枚に描いて紹介してみた!
https://www.youtube.com/watch?v=fK_JGVti5y8

257 名前:デフォルトの名無しさん [2020/10/14(水) 10:11:53.97 ID:GsUUoEHv.net]
(point) って 4GB 以上のファイルでも安全?

258 名前:デフォルトの名無しさん mailto:sage [2020/10/16(金) 16:47:48.59 ID:w0E7/mRw.net]
わからない

259 名前:デフォルトの名無しさん [2020/10/19(月) 12:25:40.39 ID:asy7wTux.net]
>>254
windows 10 64bit
emacs 26.3 64bit
また再現した
emacs 以外も含めて(同時起動中のソフト) windows 10 全体の ime が
モードが変になったり勝手に改行されたり狂い始める
このまま使い続けるとそのうち emacs が落ちるんだと思う
task manager から ctfmon.exe を殺したら治ったっぽい

260 名前:デフォルトの名無しさん mailto:sage [2020/10/27(火) 16:42:12.74 ID:yDmA/b17.net]
emacs って 8MB 以上のテキストファイルで警告出るω
最近の大きめの xml とか json とか yaml とか怖くて編集出来ないωωω



261 名前:デフォルトの名無しさん mailto:sage [2020/10/28(水) 00:47:27.01 ID:6sYlouKi.net]
>>260
は?

262 名前:デフォルトの名無しさん mailto:sage [2020/10/28(水) 10:14:23.93 ID:B0xF7HGe.net]
それじゃなにか?きみは「ここから先は18歳以下は閲覧できません」っていう
警告がでたからといって見たいエロ動画も見ずにすごすごと帰る、というそんな腰抜けなのか!

263 名前:デフォルトの名無しさん mailto:sage [2020/10/28(水) 11:50:59.99 ID:Mf8tEr2f.net]
rmsがロリって本当?

264 名前:デフォルトの名無しさん [2020/11/08(日) 09:55:05.64 ID:w3b7rq0H.net]
Emacs 26.3 (build 1, x86_64-w64-mingw32) of 2019-12-31

漢字キーを押して
「でるた」
で変換始めると
重たくなって
しばらくしたら落ちる

265 名前:デフォルトの名無しさん [2020/11/08(日) 09:56:25.01 ID:w3b7rq0H.net]

の表示のあとカーソルが消えて重くなる

266 名前:デフォルトの名無しさん [2020/12/22(火) 20:43:24.63 ID:XUuxytE9Y]
70億円調達のネットショップ作成サービスhey、「我の弱い人同士の組織力」武器にEC市場シェア拡大目指す
https://www.businessinsider.jp/post-219205
【劇団ノーミーツ1】役者も客も会わないオンライン演劇で7000人動員。制作チームは全員20代、半分は会社員
https://www.businessinsider.jp/post-219184
利用、無料。日本版衛星データプラットフォーム「Tellus」がすごい理由…“宇宙の視点”でビジネスはこう変わる
https://www.businessinsider.jp/post-219279
「起業ブーム」が新たなフェーズに 大学発ベンチャーへの想い
https://forbesjapan.com/articles/detail/35527
かつて学者がやっていたことを、今は起業家がやっている
https://diamond.jp/articles/-/232874
番号やアドレス不要の無料通話アプリRe-mo登場 ドワンゴが配信開始
https://japanese.engadget.com/ios-dwango-re-mo-072853620.html
10年間使い続けた WordPress を辞めた理由  a-blog cms を選んだユーザーのお話
https://webtan.impress.co.jp/u/2020/09/14/37485
ノロケツイートがバズって起業! カップル・夫婦向けサービス「ふたり会議」が反響を呼ぶワケ
https://www.itmedia.co.jp/business/articles/2008/23/news012.html
コロナで細る“起業”を手助け。クラウド会計freee、スマホアプリで設立書類を作成できるサービス
https://www.businessinsider.jp/post-219220

267 名前:デフォルトの名無しさん [2021/01/02(土) 05:41:57.10 ID:FBnLdTomD]
> 在日の親は、子供を朝鮮幼稚園・朝鮮学校に入れたいっていうのが多いのよ。
> 日本人からすると、なんでだろうって思うけど、日本人の学校では、民族の誇りを持った教育がしてもらえないんだそうだ。
> よく分からないけど、済州島の流刑者の白丁が大阪に密入国して住み着いたじゃ誇りが持てないけど、
> 日本人に強制連行された被害者なら誇りが持てる、とかそういう事かな??
>
> 市原市の能満は昔から市街化調整区域で、新規の建物は造れないことになっている。
> そのため土地が安く、日本の法律を無視した在日が、次々と移り住んできた。
> そこで問題になったのが、朝鮮学校だ。なかなか許可が下りず、一番近くても千葉市にしかない。
> そこで在日居住区の能満内にあった、能満幼稚園・市原小・市原中・緑高の保育士や教師を、朝鮮化する事を考えた。
> 今では在日幼稚園の保育士は全て朝鮮帰化人で、在日の父兄からの絶大な支持を受けている。
> 遠くからでも、わざわざ在日幼稚園に入園させたいという在日の親は、後を絶たない。
> この在日幼稚園卒園者はほぼ朝鮮系の帰化人と在日だ。

268 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 16:32:46.35 ID:FcZ190S6.net]
日本語入力はもう諦めた
単にコードや英文に記号使いたいなら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なのが出てきた、多分名前でスルーしてたわ

269 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 16:39:31.18 ID:FcZ190S6.net]
ひらがなかたかなときごうとalphabetのぶんしょうなら、マップがローマ字にゅうりょくとたいおうしているので、いっそdefine-keyしてしまえばじっしつIMEいらずだぞ!

270 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 16:40:43.17 ID:FcZ190S6.net]
字はうてなかった、かたておち…
まあ、げんきかくまではみてないのでもしかしたらかんじもあるかも



271 名前:デフォルトの名無しさん [2021/10/09(土) 19:32:02.55 ID:KRzSwEb7.net]
Bash on windows(Ubuntu)のemacs

Windows 10に
scoop install emacs
した環境

どっちも環境変数homeを見にいくのでciderがどっちかの環境で動いてくれない

272 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 07:49:47.97 ID:Va8OFUvh.net]
ただ今制限を設けております

273 名前:デフォルトの名無しさん [2023/03/16(木) 20:55:47.71 ID:ZbJTgfVx/]
震災ガ一とか税金泥棒か゛防災ガ―とかテ゛タラメほさ゛いてるけと゛,クソ航空テ□リストが莫大な温室効果ガスまき散らして気候変動させて北極
南極の氷とかして海面上昇させて津波猛威化させたせいて゛数千人は人為的に殺害されたってのに滑走路倍増させて都心まて゛数珠つなぎでクソ
航空機飛ばして土砂崩れに洪水.暴風,猛暑,大雪、森林火災にと災害連發させて住民殺しまくって私腹を肥やす儿フィ顔負けの強盗殺人を
繰り返して.数千円でクソ鯖落とすほどの地球破壞殺人セ━ルまでスルーしておいてモク├−だの自己満娯楽とか堪能してんじゃねえぞカス
数千圓で莫大な温室効果カ゛スまき散らせるとか地球破壊に対する補償と゛ころか税金払ってない証拠だろ,これに加担して孑に地球破壞を教え
込む羞恥心の欠片もないクス゛親と,孑を持つ資格のない金クレほさ゛いてる税金泥棒層が一致してるのは間違いないわな、クソ航空機のせいて゛
石油需給逼迫してヱネ価格に物価にと暴騰して貿易赤字、コ□ナ運ひ゛込んて゛マッチポンプワクチンでホ゛□儲け.接種率に比例して心不全爆増
温暖化によって鳥ウイルス猛威化して鶏卵価格暴騰.騷音て゛知的産業壊滅に勉強まて゛妨害してクス゛親の子によるヰライラ犯罪まて゛爆増中だろ

創価学会員は、何百万人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まで出てる世界最悪の殺人腐敗組織公明党を
池田センセ−がロをきけて容認するとか本気で思ってるとしたら侮辱にもほと゛か゛あるぞ!
hтtΡs://i,imgur,com/hnli1ga.jpeg

274 名前:デフォルトの名無しさん [2023/06/16(金) 10:34:02.32 ID:qIHKiMoS6]
物価高の中,給料が上か゛るどころか下がって□─ン破綻して,親世代の稼き゛はすごいなあとか思ってるお前らって根本的に勘違いしてるよな
価値生産する者が価値生産しない者を食わしてやることて゛、社会が成り立っているという基本を理解すれば,何ひとつ価値生産しない公務員や
政権癒着して優越的地位を濫用しながら右から左に流すた゛けの大企業という社會を蝕む害虫か゛ハ゛ブ儿を謳歌し続けてる異常さが分かるだろ
こいつらが金を使うことでお前らにおこぼれが入るというのが自民公明経済なわけだが,イノベ━ション壞滅曰本て゛地球破壞すること以外に
金を使うことなんてないから預貯金か゛膨れ上か゛ってるわけで,人殺し斉藤鉄夫らの地球破壊支援なんてのはてめえらの私利私欲か゛目的だからな
そして温室効果ガスに騷音にコロナにとまき散らして工ネ価格暴騰させて災害連發させて人を殺しまくって知的産業に威カ業務妨害して壊滅
さらに人々が手に入れたいものが生産されなくなって貿易赤字、スパヰラ儿的に中小零細にしわ寄せか゛いってるというのか゛曰本総崩れの本質な
ソフ├ウェアの大半は零細個人が作ってるが、例えは゛ク゛─ク゛ルAndroidなんてそんなOSSパクリの寄せ集めだからな>零細企業殲滅宣言岡本Ξ成

創価学會員は.何百万人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まて゛出てる世界最惡の殺人腐敗組織公明党を
池田センセ‐か゛ロをきけて容認するとか本気て゛思ってるとしたら侮辱にもほと゛があるぞ!
hTΤρs://i,imgur、cоm/hnli1ga.jpeg

275 名前:デフォルトの名無しさん [2023/09/25(月) 16:47:00.13 ID:Qn9WiVG4.net]
こっちを再利用してください

276 名前:デフォルトの名無しさん [2023/10/13(金) 13:14:55.06 ID:1CzMMp9Z.net]
emacs lispでC++のコメントを削除(行コメント//だけを行ごと削除)する方法を教えてください

277 名前:デフォルトの名無しさん mailto:sage [2023/10/13(金) 14:18:48.79 ID:oUGpYLYU.net]
(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)))))

278 名前:デフォルトの名無しさん mailto:sage [2023/10/13(金) 14:19:30.72 ID:oUGpYLYU.net]
(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)))))))

279 名前:デフォルトの名無しさん mailto:sage [2023/10/13(金) 14:20:49.82 ID:oUGpYLYU.net]
最初のはコメントを抜き出すコード
次のはコメント以外を抜き出すコード
バッファー内のコメントを消していくのは難易度が高い
コメント以外を出力してリダイレクトするのが簡単だろう
↓こんな感じ
(not-comment-traversal (point-min) (point-max)
(lambda (beg end)
(print (buffer-substring beg end))))
ちなみにコメントはEmacsが把握してるので、このコードは言語非依存だ

280 名前:デフォルトの名無しさん mailto:sage [2023/10/13(金) 14:38:43.09 ID:rlk6vHPT.net]
そういうつまらないものはchatgptに作らせればいい



281 名前:デフォルトの名無しさん mailto:sage [2023/10/13(金) 16:01:32.18 ID:oUGpYLYU.net]
Emacs Lispのコードなんてまともに学習できないよw

282 名前:デフォルトの名無しさん mailto:sage [2023/10/13(金) 16:08:10.43 ID:ugq7JLEK.net]
うん、だから、ChatGPTはバカだな
こんなものに時間をそそいでいる人類はバカ

283 名前:デフォルトの名無しさん mailto:sage [2023/10/13(金) 23:03:38.37 ID:9b0YvF5R.net]
そういうのはキーボードマクロが向いている
//をインクリメントサーチして、c-a,c-k,c-k
で名前を付けて登録
登録したマクロを10000000回ぐらい実行すればいい

284 名前:デフォルトの名無しさん [2023/10/14(土) 12:49:27.28 ID:x03gZ5vc.net]
>>282
ほんそれ

285 名前:デフォルトの名無しさん mailto:sage [2023/10/15(日) 11:32:10.04 ID:HSf5ScFa.net]
ファイルの先頭に移動して
M-x flush-lines
を起動して
^//
を打ち込んだら消せました

286 名前:デフォルトの名無しさん mailto:sage [2023/10/15(日) 15:15:27.51 ID:Z4N/9jbi.net]
hoge(); // コメント
とか
/*
コメント
*/
は消せないじゃん

287 名前:デフォルトの名無しさん mailto:sage [2023/11/11(土) 20:06:28.30 ID:6Uwmj7p8.net]
だからキーボードマクロを使えって

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

これをキーボードマクロにして
何なら名前を付けて init.el に登録することもできる

288 名前:デフォルトの名無しさん mailto:sage [2023/11/11(土) 20:13:40.67 ID:6Uwmj7p8.net]
具体的には

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

これで登録できる

289 名前:デフォルトの名無しさん mailto:sage [2023/11/12(日) 01:44:20.85 ID:IUEeiAD3.net]
>>287
/* */と//の両方消せないじゃん

290 名前:デフォルトの名無しさん mailto:sage [2023/11/12(日) 16:34:00.64 ID:pFykNXrS.net]
別々に作って二回走査すればいいだけでは?



291 名前:デフォルトの名無しさん mailto:sage [2023/11/12(日) 19:43:42.90 ID:IUEeiAD3.net]
/* // */
は、先に // で消してしまうとおかしな事になるな
まぁ、先に/* */を消せばいいがな
それと、>>288のマクロはコメント1個しか消せないじゃん
全部消さないと
取り敢えずこれらを全部対応させたキーボードマクロを出さないと駄目

292 名前:デフォルトの名無しさん mailto:sage [2023/11/13(月) 23:08:48.29 ID:Y+b0wq04.net]
/* */を排除するマクロを100000回ぐらいやって
次に // を排除するマクロを1000000回ぐらい動かす
気持ち悪いかもしれないが目的は達せられる

293 名前:デフォルトの名無しさん mailto:sage [2023/11/18(土) 15:57:54.85 ID:bNx8n+lD.net]
インクリメントサーチが失敗するまで
無限ループで回すことはできるけどね

294 名前:デフォルトの名無しさん [2024/10/02(水) 10:15:18.16 ID:XbzwGALZ.net]
Blenderのpython→bpy
EmacsのLisp→elisp
ExcelのVB→VBAω

295 名前:デフォルトの名無しさん mailto:sage [2024/10/20(日) 10:23:23.92 ID:LzrvAVJD.net]
むしろemacs以外の現役lispを知らん

296 名前:デフォルトの名無しさん mailto:sage [2024/10/30(水) 03:02:36.94 ID:BzmMNap8.net]
>>295
cl書いて食ってるんで異議を申し立てたいのは山々だが…まあうん落ち目すぎるね

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

gccもIL通してサポート多いじゃん!と思うかもしれんが、あれ全ての言語サポートする勢いで風呂敷拡げすぎてっるし、そもそもエンジンがlispyでないのでlisp系の性能は、まあ察してくれ

297 名前:デフォルトの名無しさん mailto:sage [2024/10/30(水) 03:25:59.58 ID:BzmMNap8.net]
そういや5年かそこら前にemacsのelisp処理系を既存のからguile(のelisp)に置き換えるってのやってた記憶あるけど結局ポシャったんかね?
一応おおむね成功はしたとか

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

とすればgnuで2つelisp処理系作ってる現状の不利は労力の無駄ってくらいか

298 名前:デフォルトの名無しさん mailto:sage [2025/02/02(日) 07:37:39.53 ID:gkY6KzeC.net]
native-compile有効化してもバイトコンパイルの数倍しか速くならないし、Common Lispの10倍くらい遅いんだよな
最近だとCommon Lispで1から作られたLemというエディタがある

299 名前:デフォルトの名無しさん mailto:sage [2025/02/02(日) 15:53:20.81 ID:OcIEQytI.net]
動的型はネイティブコンパイルしても2倍速になるかどうかだな
型推論を実装してからが本番だ

300 名前:デフォルトの名無しさん [2025/10/12(日) 06:12:52.53 ID:W2SaGlg4.net]
>>298
clは色々実装次第だけどsbclとか速いヤツは、恐ろしいことに稀によくcより速かったりするからな…
もちろん関数、あるいはグローバル(非推奨!)に
(declare (optimize (speed 3) (space 0) (safety 0)))
とか最適化宣言してるときね

そうそしてもちろん型宣言も同じくらい大事ね>>299、clなら(type fixnum numarg1)とかか

elにもcl-libにこの辺cl-declareとかの名で全部あるけど、ちょっとベンチはしてない
まあ果たして現在のelの仕組み的に恩恵あるかは微妙に思います、はい



301 名前:デフォルトの名無しさん [2025/10/12(日) 06:15:18.22 ID:W2SaGlg4.net]
ああごめん型推論、すなわちよしなに(type fixnum numarg1)とか宣言補ってくれるということね
もちろんそれはあって欲しいね、コードは今まで通り書いていいしユーザーに負担が無いのだから

302 名前:デフォルトの名無しさん [2025/10/13(月) 07:56:47.78 ID:jcovVfcE.net]
>>298
へぇー最近もあるのか…

CLの歴史あるエディタの代表といえば1980-のHemlockだね
emacs-likeというかほぼほぼemacsのCL版だけど、なんなら今のスレ民が大体使ってるであろう1984-のGNU emacsより歴史がある
主にCMU CLの配布に同梱されててなかなかいいemacs

303 名前:デフォルトの名無しさん [2025/10/13(月) 08:05:49.85 ID:jcovVfcE.net]
ああごめんここemacsスレじゃなくてelispスレだからスレチだったわ

304 名前:デフォルトの名無しさん [2025/10/16(木) 01:18:12.54 ID:BKqCsKPx.net]
>>300
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

まあ型宣言のご利益はなくても、(読みにくくならぬ程度の)適切な型宣言は読み手へのアノテーションにもなるから推奨したい

305 名前:デフォルトの名無しさん [2025/10/17(金) 01:25:53.83 ID:D1Ebmx1L.net]
>>302
HemlockはGNU Emacs/Xemacsより(それまでの)emacsに近いんだよな

多分まだ一番古い資料が残ってるlisp系Emacsはelispの直接祖先であるMacLisp(1966)のエディタだろう
コンピュータ史系のサイト読めるMacLispのマニュアル類にはエディタのキーバインドまで記されている
当然ながらemacs風キーバインドで、この頃には今に繋がるlisp系emacs(非TECO系)確立されてた






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

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

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