Emacs Part 53

■ このスレッドは過去ログ倉庫に格納されています
2021/05/23(日) 17:21:02.75
GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/

EmacsWiki: サイトマップ
http://www.emacswiki.org/emacs/

前スレ
Emacs Part 51
https://mevius.2ch.net/test/read.cgi/unix/1514601894/
Emacs Part 50
https://mevius.2ch.net/test/read.cgi/unix/1482097785/
Emacs Part 52
https://mevius.5ch.net/test/read.cgi/unix/1585125902/
5742,44,45
垢版 |
2021/06/02(水) 13:34:09.41
>>56
説明から抜けてました
すみません
2021/06/03(木) 16:24:40.00
Emacsって聳え立つくそだよね。
2021/06/03(木) 20:38:35.02
聳え立ってるねw
2021/06/03(木) 22:01:41.53
勃ってるよなぁ
2021/06/04(金) 23:17:39.12
るびきちさんは明後日の方に逝ってしまわれた
2021/06/05(土) 00:02:54.90
>>61
なんか知ってるのか?
明後日ってどういう事?
2021/06/05(土) 20:33:13.41
>>62
スピリチャルでオーラな世界に行ってしまわれた。
2021/06/06(日) 17:09:45.77
などとくそ以下が申しておりまして
いやはや、はは・・
2021/06/09(水) 12:48:32.23
>>64
ん、るびきち本人か?
2021/06/09(水) 14:05:49.42
anything.el 作ったのってるびきちけ?
2021/06/09(水) 15:47:00.00
anything.elは別の人から引き継いだものだけど、引き継ぐ前はどんな状態だったかは分からない
けど、anything.elを流行らしたのはるびきちだと思うよ
2021/06/12(土) 09:53:37.82
>>65
ん、なんかの私怨で名誉毀損か?
69名無しさん@お腹いっぱい。
垢版 |
2021/06/12(土) 21:32:28.13
sbcl使いたくなってslime をemacs にぶっこんでみたけど何だこれ意味不明に長いショートカットキーまみれだしこれよーわからんな
てかsbclのdescrive-functionのドキュメントなにこれ全く意味わからん記号の羅列やん
elispのドキュメント見習ってくれよ(´・ω・`)
2021/06/12(土) 22:04:01.44
>>69
何がしたいか分からんけど、slime使えばコード補完とか出来るし、それだけで十分便利だと思うけどね
71名無しさん@お腹いっぱい。
垢版 |
2021/06/13(日) 01:03:53.27
最近出たlispのdata structure本を読みたいだけだからそんな大層なもんは要らんのだけどな
確かにこのfuzzy completionだかめっちゃいいなこれ

(define-key slime-mode-nanntoka-indirect "\C-\M-i" (lambda nil (interactive) (let ((targ-buf (get-buffer "*Fuzzy Copletions*"))) (slime-fuzzy-completion) (when (buffer-live-p targ-buf) (swich-to-buffer-other-window targ-buf)))))))
とかやるとC-M-iで保管できるother windowから候補選択すると何故か余分な改行挟まれるのが難点だなこれ
この候補開いたときC-nとC-pオーヴァーライドして他のぶっファースライドさせるやり方はかなりオシャンティーポイントだわ何かの際にパクろ(´・ω・`)
2021/06/14(月) 10:25:43.55
blog.tomoya.dev/posts/a-new-wave-has-arrived-at-emacs/
いろいろあるもんだなあ
2021/06/14(月) 19:46:51.26
Helmプラグインの代替がなくて移行できない
2021/06/15(火) 11:10:56.20
そこな、hemlockがあるじゃろ
2021/06/18(金) 12:12:14.00
あるパッケージの中に、ユーザーが自由に変えれる想定のリスト hoge が以下のように定義されてるとします
(defcustom hoge '("for" "bar"))

hoge に "baz" を追加したいときはどう書いたら良いんでしょうか
(custom-set-variables '(hoge '(ここの書き方が分かりません)))
2021/06/18(金) 13:19:20.02
(custom-set-variables '(hoge (append hoge '("baz"))))
2021/06/18(金) 13:24:59.33
custom-set-variables を使わなくても (nconc hoge '("baz")) で良い様な
2021/06/18(金) 23:33:22.77
>>76-77
ありがとうございます
defcustom された変数を変えるときは custom-set-variables を使うべしという説明をいろんなところで読んで、そういうものだと思っていました
2021/06/19(土) 00:04:33.80
カスタマイズ変数は、設定されたときに何らかの処理を実行する場合が有るけど、setq等で単に設定した場合はそれが動かないので、不具合が生じる可能性があるかなと
2021/06/19(土) 01:45:57.24
>>79
ゆえに custom-set-variables で設定したほうが良いってことですか?
2021/06/21(月) 17:52:21.46
質問。

新しいバージョンでは、(nconc auto-mode-alist '("..." . "..."))がAttempt to modify read-only objectのエラーが出るようになりました。
調べてみると、jka-compr-mode-alist-additionsが末尾になったからだと把握。
なるほど。

で、ここからが質問。
ユーザーが変数をread-only objectにするためにはどうすればいいのでしょうか?
また、あるオブジェクトがread-onlyかどうかを調べるにはどうすれば?

jka-cmpr-hook.elで実装されてるみたいだからざっと読んでみたけど、まったくわからんかった。。。(´・ω・`)?
82名無しさん@お腹いっぱい。
垢版 |
2021/06/23(水) 03:47:05.93
>>81
「pure storage」に格納されているオブジェクトを変更しようとした場合にそのエラーが出るみたい
ただしpurecopy函数(オブジェクトを pure storage にコピーして返す)は
「Emacsのビルド中とダンプ中を除き何もしない」

https://ayatakesi.github.io/lispref/27.2/html/Pure-Storage.html
https://emacs.stackexchange.com/questions/2364/what-is-the-function-purecopy-needed-for/2365

あるオブジェクトが pure storage に置かれたものか否か調べるLisp函数もなさげ
ということで質問の答えはどちらも「できない」ですね
2021/06/24(木) 11:31:57.90
>>82
ありがとうございます。
だいたい把握。

> ただしpurecopy函数(オブジェクトを pure storage にコピーして返す)は
> 「Emacsのビルド中とダンプ中を除き何もしない」

jka-cmpr-hook.elをまねて、purecopyを試してみたりしたけど、うまくいかないのはそういうことか。。。
describe-functionは読んでたけど、そういう説明はないんですよね。
# Stack Exchangeの質問者も、それでひっかかったんやろなあ。

> あるオブジェクトが pure storage に置かれたものか否か調べるLisp函数もなさげ

読み取り専用のためではなく、特殊な最適化が目的のようなので、真っ当なサポートもしてないんでしょうな。
2021/06/28(月) 11:36:54.08
この低調さは
廃れているのか? 定着、安定して問題、話題が無いのか?
2021/06/28(月) 12:30:50.68
VSCodeがある今、ライトなEmacsユーザはVSCodeに移っていくだろうね
2021/06/28(月) 14:53:42.29
本当は、LSPのおかげでVSCodeの資産をEmacsでも使えるようになったから、Emacsを離れる必要は全くないのにね
逆にEmacs (Lisp)の資産を他に持ってくのは難しいわけだし
2021/06/29(火) 01:10:10.83
エディタをプログラム書くためだけの道具、と考えるならそれもあるかもしれんけど。
そもそもそんなんで移るようなやつがこんな板に来るかなあ?w
2021/06/29(火) 12:29:12.34
先日話題となったサクラエディタとは全然違う。Emacs減ってるなぁ。
https://job-draft.jp/articles/524
2021/06/29(火) 13:32:22.92
仕事のマシンにそもそもemacsが入ってない、というパターンはあるかな。
vi系が入らないことはまずないだろうが、emacsまではね。
となると、新人教育の手間などを考えてVSCodeってのはあるのかな。
emacsの方が後々絶対に恩恵でかいのは間違いないけど、自分が教育係になった場合で考えても、習得できる見込がないやつにはそもそも勧められないしね…
2021/06/29(火) 14:04:45.33
いや、習得っつーか、node.jsで拡張できるVSCodeが良いかlispで拡張できるEmacsが良いかは完全に好みでしょ
この点に関してどっちが優れてるってのは絶対にない
強いて言えばEmacsは歴史が長い分いろんな神LISPがあるが、Emacsの方が恩恵がデカいとは必ずしも言えない
自分は好きだからEmacs一筋だけどね
2021/06/29(火) 14:54:38.94
>>90
いや、好みではない。
今さらLisp方言なんかダメ。

JavaScriptがいいとは思わんけど、全然マシ。
2021/06/29(火) 15:22:37.03
慣れてるからemacs使ってるけど、emacsじゃないと絶対できないことなんてないし、今更人に勧めようなんて気はさらさらおきないかな〜
2021/06/29(火) 15:47:57.38
最近はVSCodeにEmacsキーバインドの設定してEmacsとどちらも使うようにしてみている。
でもEmacsのDiredによるファイル操作やhelmなどの検索機能はVSCodeで置き換えるものがないんだよなぁ。
2021/06/29(火) 15:48:41.51
vscordeはお手軽、実用的ですぐ使えるプラグインが充実してるのが大きいな。
libraryの不備でpythonに押されていったrubyのように見える。
2021/06/29(火) 19:53:45.77
>>90
いや、それは少し論点がずれてる。
自分の書きかたもまずかったが、どちらが優れているから、という話ではなくて、
emacsの良さを実感できるようになるまでの習得のコストがかなりかかるから、
単純にプログラム書ければいい的な発想でいくなら、VSCodeを使わせる、という
話になるだろうってこと。

あと、ぶっちゃけていえば、JavaScriptの方がemacs lispよりいいとかって話も
いささか馬鹿げてると思う。
エディタの拡張言語なんて汎用言語と100%互換性があるべき理由なんてほとんど
ないし(まあ、汎用言語と完全同一だったら楽だって話はあるだろうけど、エディタ
の拡張として適切なものと考えていく限り、必ず乖離は起きるというか起きなく
ちゃならんでしょう)node.jsにしても、vscodeにしても、いつまであるかわかんないでしょう。

大体において、eclipseが出たときにも同じような話あったしw
2021/06/29(火) 20:01:08.53
>>95
あとちょっと補足。
単純にプログラム書ければいい発想だとvscodeになるのは、
とりあえず、プログラム書けるところまで持っていくのに
覚えなくちゃいけないことが多々ある、ってこと。
(C-x C-bでバッファ一覧開いて、とかってところね、つまりw)
これは、そもそもemacsがウィンドウシステムなんてまだ
一般的ではない時代に作られた、またコンソールで使えなければ
ならないということに起因していて
今となっては如何ともしがたい点ではある。
2021/06/29(火) 20:01:08.91
VSCodeはマイクロソフトが関わってるから長続きしそうだけど拡張機能にメーラーとか無いのよね
2021/06/29(火) 20:19:33.14
>>97
是非作って欲しい。
Wanderlustみたいな人気の定番になると良いね。
2021/06/29(火) 20:21:40.71
ctrl-hでヘルプをデフォにするのはやめて欲しい
2021/06/29(火) 21:48:49.77
>>95
ずれてると言ってる内容が、世の一般からずれてるな。w

Lisp方言なんかダメ(2回目)。
他から優れてるわけでもない、記法としてマイナー、わかりやすくもない、といいとこがほとんどない。

JavaScriptと争える立場には全然ない。
2021/06/29(火) 21:53:42.86
elispってそんなにいいもんじゃないですよね
2021/06/29(火) 22:28:36.26
>>99
そこだけは変えて欲しいよな
しかし、一つ例外のつもりで変えて良いことになると他も他もって際限が無くなることを分かってるんだろう
2021/06/29(火) 23:15:09.75
>>100
そも、なんで関数型言語がJavaScriptごときとはりあわなきゃならんのだ?w
お前の言う「世間」ってどんなもんなんだ?w
ダメなのはお前のその思考方法だろうw
2021/06/29(火) 23:36:38.66
>>102
キーバインドを変更したくて init.el をいじってしまうという誘導なのであった
2021/06/30(水) 00:22:43.12
LispはGCが有って動的型言語の元祖だからな
これを知らない馬鹿にしてるのは、ただのモグリだからどうでもいい
2021/06/30(水) 00:41:35.56
>>103
関数型言語でござい、と言っても、もはや昔のような神通力はないんやで!w
似たようなことなら、ほかの多くの言語でできるようになったの、まだ知らんの?w

だいたい、はりあいにいくまでもなく、もう相手にされへんから。。。
2021/06/30(水) 00:45:27.13
>>105
コンピュータ言語が、歴史と伝統だけを誇るようになったらおしまいやな!w

そもそも、LispとEmacsLispは別もんやろ。
末尾再帰を最適化できるようになるまではパチモン。
2021/06/30(水) 01:16:32.46
>>107
浅すぎる洞察…
ま、Lispを知らない奴等はそんなもんだろう
ちなみに、defunをtco-defunにしていいなら、末尾呼び出しの最適化なんてEmacs Lispだってそれだけで出来る
ちなみに末尾再起の最適化じゃなくて、末尾呼び出しの最適化だからな
ちゃんと意味が分かってない奴はそう言ってしまう
2021/06/30(水) 03:16:48.84
>>108
じゃあこれ、ちゃんと直しとけよ。w

https://ja.wikipedia.org/wiki/%E6%9C%AB%E5%B0%BE%E5%86%8D%E5%B8%B0
2021/06/30(水) 05:55:49.04
>>95
> あと、ぶっちゃけていえば、JavaScriptの方がemacs lispよりいいとかって話も
> いささか馬鹿げてると思う。
> エディタの拡張言語なんて汎用言語と100%互換性があるべき理由なんてほとんどないし

はあ?
じゃあvimscriptもelispやnode.jsと対等に見なしてるってこと?
心広いねーw
2021/06/30(水) 07:46:25.75
>>97
今時のメールはローカルにダウンロードせずブラウザかhttpsアプリ経由で見るのでhttps喋れるプラグインがあれば良い
2021/06/30(水) 08:43:07.65
opensslがメーラになるのかよ
2021/06/30(水) 09:04:08.84
Emaca Lispは言語仕様と言うより
デフォでお手軽に編集中テキストをいじり易くなってるのが良いんじゃないの
2021/06/30(水) 09:48:46.56
lisp が良いって言ってるやつは lisp のどこが気にいってるか説明したがるけど、
lisp は駄目っていってるやつで lisp のどこが駄目か説明できるやついないんだよな。
lisp は emacs 関係なく基礎教養として学ぶ価値のある言語だけど、JavaScript 学ぶ価値が lisp 並にあるかというとそれはない。
2021/06/30(水) 10:08:05.83
jsって書いたことないけどそんなショボいん?
2021/06/30(水) 10:26:47.02
lispはいいけどelispはだめ
2021/06/30(水) 10:40:34.11
お前の思ってる lisp ってどれ?
それに比べて elisp の駄目なところって具体的にどこ?
いや elisp は emacs のカスタマイズにしか使えないって主張なら同意だが。
2021/06/30(水) 11:47:13.62
>>109
直すのはお前の頭だろw
○末尾再帰
○末尾呼出し最適化(tail末尾 call呼び出し optimization最適化)
×末尾再帰を最適化←>>107でお前が書いた
これをごっちゃにしちゃうのはちゃんと理解してない証拠
まぁ、特定の状況でそう言う事もあり得るが、それを指摘すると逆ギレしてるのはそう言う事だ
2021/06/30(水) 12:09:29.33
>>114
Lispは教養というのはわからんでもない(ただ、今はもっと優先度の高いものが多い)けど、EmacsLispがLispのパチモンであるべきだったのか?は疑問。

まあ、当時は選択肢が超少なかったんやろけどな!
FORTRANとかALGOLとかでも困るし。w
2021/06/30(水) 12:13:39.01
>>118
必死やな。w

そもそも、末尾再帰以外の末尾呼び出し最適化は、なくてもたいして困らんからなあ。w
2021/06/30(水) 12:15:36.03
>>120
顔真っ赤にして取って付けたような言い訳乙w
2021/06/30(水) 12:36:21.39
>>119
基礎教養として lisp より重要な言語って具体的に何があるかな?
今でも lisp は最も抽象化の進んだ言語だと認識しているんだけど。
2021/06/30(水) 12:40:13.61
数学的な抽象化って感じだよな
プログラム的な抽象でなくて
2021/06/30(水) 13:13:45.47
ラムダカリキュラスの演習
2021/06/30(水) 13:16:23.92
コンビネータ論理とか…こそこいらのIT土方には不要の無駄知識。
ガチ勃起の情報科学研究者以外知る必要無し。
2021/06/30(水) 13:33:11.94
副作用のない世界で未来永劫彷徨い続けるがよい
2021/06/30(水) 13:58:57.88
末尾再帰なんて用語があるなんてはじめて知ったよ。アカデミックだね。
自分は化学工学系なのでそういう学問には触れたことなかった。学校にあったのはFACOMにFORTRANにパンチカードだよ。
2021/06/30(水) 13:59:13.64
>>124
つ pure lisp
2021/06/30(水) 15:42:30.68
>>127
それは専攻うんぬんよりも、世代やろ。w
FORTRANはともかく、FACOMて。

おいくつ?
2021/06/30(水) 15:43:58.44
>>122
Lispのような抽象化は教養ではないやろ。
いきすぎというか。
2021/06/30(水) 16:03:08.25
Fortranと共に生まれた双子がLispや。
歴史と伝統ある言語で理論的背景もちゃんとある。
PythonだのHaskellだのと言った新参と訳が違う。
John McCarthyがLisp作った大学院生に、「S式は理念上の数学的存在で実行出来るようなものでは無い。」言って聞かせたと言う曰く付き。
2021/06/30(水) 18:36:20.28
レベル低いレスで申し訳ないが、elispに限らずlisp系ってエディタのサポートなしで書くのがつらいのが敷居を高くしてるよなー。
巨大なソフト買くためのtagジャンプがどうのって僧の話じゃなくて、言語仕様としてカッコが多すぎて対応付けに神経を使うし、取っつきにくい。

論理の美しさはわかるが、なんか実用はどうでも言い的な感じ?
2021/06/30(水) 18:38:12.05
>>132
僧→層
2021/06/30(水) 19:16:20.56
>>131
Pythonはともかく、Haskellには純粋関数型という理念がある。
ポッと出言語と同列にはしないでやってよw
2021/06/30(水) 19:50:17.18
vscode ってnode.jsがどうのじゃなくて、拡張をかけるようになるまでの敷居がたかくない?スクラッチバッファでごにょごにょやってエディタの挙動かわった、わーい、にくらべて。ただつかうぶんには、もう今はvscodeでいいじゃんとはおもうよ。
2021/06/30(水) 20:00:49.33
elispはダイナミックスコープが使えるから既存コードの挙動を変えるのが便利で設定のための言語に向いていると思う。
でもelisp理解せずにEmacs使うなら、VSCodeの方が断然使いやすいだろうな。
2021/06/30(水) 20:08:29.74
「ただ使うだけなら」とかいうわけのわからん枕ホント好きだよな、VSCodeの話してる奴ら
そんな前提ならVSCodeじゃなくても良いだろw
マジでバカなのか……?

末尾再帰クンといい、ゴミみたいな住人増えたね
2021/06/30(水) 20:34:46.92
>>135
拡張機能以前に、ちょっとこみいった設定をいじるだけなのに、わけのわからんコードを書くしかないほうがハードルが高いやろ。
compilation-modeなんかひどいで。

× 敷居
○ ハードル
2021/06/30(水) 22:41:35.53
>>137
住人じゃなくて、MSのネット工作員の巡回なんだろ。
2021/06/30(水) 23:16:04.06
>>132
エディタサポートが無いと書くのが辛いのは間違いない
がしかし、エディタサポートが有るLispコードの編集は、めちゃめちゃ快適
他の言語なんか足元にも及ばない快適さが有る
これが分かるにはある程度慣れる必要が有るけど、初心者がそこまで行かずに挫折すると、ただの書きづらい言語のレッテルを貼ってしまう
実は真逆だということは言っておきたい
2021/06/30(水) 23:29:43.82
まあ、まともなUnixerなら、そもそもコンソールで使えないエディタとか本気で相手にはできんでしょ。
Unixerの主戦場なんてXなんてない方が圧倒的多数派だろうし。
2021/06/30(水) 23:40:46.92
Xのない環境で作業する機会が多いのが「Unixer」と呼称される人たちの性質だとしても、個人的な作業環境やコーディング用の環境まで非Xにする必要はまったくないよね?

アホの方ですか?
2021/07/01(木) 00:26:24.90
>>142
必要ってんなら、Xにする必要こそまったくないだろw
そもそも仕事で使う環境と合わせる必要があることはあってもw
ド素人の方ですか?w
2021/07/01(木) 00:32:50.96
つか、「コンソールで使えない」なんて物凄い重要な弱点じゃん。
そこを罵倒で無視するとかありえんの?
完全にドザの発想としか思えないな。
2021/07/01(木) 06:40:11.05
コンソールはなぁ
viを起動することがほとんどなのがアレだ
2021/07/01(木) 09:25:12.27
>>138
そやな。でもvscode ではそのちょっと込み入った設定が提供されていなかったときに、拡張をいじくろうとするかというところの敷居。emacsならhelpでコードまでたどりつける。
なおispとJavaScript どっちがハードルたかいっていえば、lisperはほこりをもってlispとこたえるでしょう。
147名無しさん@お腹いっぱい。
垢版 |
2021/07/01(木) 09:32:25.22
matz (Rubyのまつもとゆきひろさん)に
来てもらって勉強会してもらったことがあるのだけど、
いま、関数型言語を学ぶとしたらどれがいいですかと聞いたら(まつもとさんがemacsユーザなのを知っていたので、それも絡めて)、
JavaScriptって教えてくれた。

lispもいいけど、jsはモダンだし、いまどきなら勉強にはこっちのほうがいいとのこと。
2021/07/01(木) 10:13:08.24
そんな有名人にそんなゴミみたいな質問したのか
恥ずかしくなかった?
2021/07/01(木) 10:13:39.53
>>146
敷居が高いってよくある誤用だよ
指摘されてるんだから直そう
2021/07/01(木) 10:23:52.97
難解なことを誇るんかいw
2021/07/01(木) 11:14:49.12
>>150
あのさ、関西弁使えば、どんな馬鹿なこと言っても許される、とでも思ってんの?w
2021/07/01(木) 11:38:52.74
>>143
引っ込みつかなくなって暴走してるだけだと思うが、個人的に使う環境を非GUIにする意味は全くない
仕事でよく使う環境を再現したいなら、GUIの中でそれをエミュレートすれば良いだけなので

emacsをシェルの中で立ち上げる意味も同様に一つもない
2021/07/01(木) 11:45:15.15
>>152
引っ込みつかなくなって暴走してるだけだと思うが、個人的に使う環境をGUIにする意味は全くない
仕事でよく使う環境を再現したいなら、GUIの中でそれをエミュレートすれば良いだけなので

馬鹿なの?w
2021/07/01(木) 11:58:42.38
個人的にはコンソールで使えない時点で、そんなもんに本気で相手にする気はないな。
まず、その点で、vimが移行対象になることはあっても、VSCoddeは対象にはそもそもなりえない。
GUI環境前提に考えるなら、それこそVSCodeでなくてもいくらでも選択肢はあるので。
それから、emacs lispに対するJavaScriptの優位性というのも特にあるとは思えない。
まつもとゆきひろとか引き合いに出されても、そもそもまつもとってしばしばおかしなこと言う(言わせてるだけ
かもしれないが)やつだし、RubyもPythonの中華パチモンにしか見えないから、まつもととか引用されても、
それが特に有意と思う理由もない。
つか、正直、まつもとゆきひろとか何があっても関わりたくない、と思うけどね。
2021/07/01(木) 12:07:24.93
> 引っ込みつかなくなって暴走してるだけだと思うが、個人的に使う環境をGUIにする意味は全くない
> 仕事でよく使う環境を再現したいなら、GUIの中でそれをエミュレートすれば良いだけなので

一行目と二行目は矛盾する
論理的に物事を考えるというのは、訓練を経て身につけるものだし、教育を受けてない方には馴染みのないことかもしれないが、まだ遅くないよ
頑張って
2021/07/01(木) 12:15:19.04
今時、sshさえ動いてればremoteから何でも出来るだろ
GUI版Emacsはもちろんの事、VSCodeだってremoteから編集出来る
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況