Emacs Part 54

2025/09/16(火) 16:05:32.98
>>795
jdtsmith/emacs-macを追っているけど、しだいにこっちがcomunity版Emacs Mac Portになっちゃうかもな
自分の手元で、オレオレEmacs Mac Port 30.x upstreamを保守していたけど、やっぱみんなでやるほうがバグとか気づきやすい

もっとも、この勢いでupstreamにmergeされてほしいとも思うわ
一番いいのは、いまのNS portといい感じでまとまってほしいと思う
2025/09/16(火) 21:49:16.30
>>782
Emacsに特化した要素何一つなくね?
2025/09/16(火) 23:32:17.25
>>797
まぁその通りだけども? emacsから<も>便利に使える
Codex CLIもvtermで試してるけどもこれも良いね
M-x docter がようやく完成したような感覚で感慨深い
2025/09/17(水) 23:00:49.80
M-x docter 懐かしいw
2025/09/18(木) 01:15:24.99
I am the psychotherapist. Please, describe your problems. Each time
you are finished talking, type RET twice.
801名無しさん@お腹いっぱい。
垢版 |
2025/09/18(木) 02:33:55.65
I am addicted to yours. RET RET
2025/09/18(木) 10:38:17.19
Why do you say you are addicted to mine? RET RET
2025/09/18(木) 10:49:51.11
M-x doctorについてclaudeに聞いてみたが実は起源は相当古く由緒正しいだね
1966年ですか
2025/09/18(木) 11:00:24.37
昔のUnix(BSD?)に/usr/games/doctorって入ってた記憶
805名無しさん@お腹いっぱい。
垢版 |
2025/09/18(木) 19:22:27.36
display-alistいじるの楽しいな!
2025/09/18(木) 23:43:03.32
lisp は AI
2025/09/19(金) 01:06:05.85
pythonに取って代わられたよね?
2025/09/19(金) 01:12:30.31
Richard Matthew Stallman の半分はLISPで出来ているので、Python に取って代わられるなんて出来ないよ?
809名無しさん@お腹いっぱい。
垢版 |
2025/09/19(金) 01:38:31.15
lispとかpythonとか遅い動的をなんでaiに使うんかね
ライブラリはcで書かれてるんなら全部cで書けよ
2025/09/19(金) 02:33:11.97
80-20の法則を知らないのか?
プログラミングで言えば、全体の20%の部分が実行時間の80%を費やしてると言うことだ
実際は90-10(またはそれ以上)と言っても過言じゃない
Pythonでコードを書いても、ライブラリはカリカリにチューニングされたCで書かれているので、大事な10%の部分はCと同程度の速度で動くから問題ない
2025/09/19(金) 07:17:26.95
数値計算のライブラリの肝心な部分はFORTRANなのでは
2025/09/19(金) 07:37:53.98
少なくともnumpyは
Python 61.3%
C 33.4%
となってるぞ
今時はSIMD(場合によってはGPUやNPU)を使うから昔の資産とか使わんと思うよ…
2025/09/19(金) 07:49:44.67
そうなのか
内部的にOpenBLASとかLAPACKとか使ってるのかと思ってた
2025/09/19(金) 12:57:15.11
claude codeとcodex cliとgemini cliをmcpで連携して
これをemacsから使う
凄い時代になったよ
2025/09/19(金) 17:03:12.68
>>791
Tahoeでビルドすると動かないようですね
https://github.com/jdtsmith/emacs-mac/issues/96
2025/09/19(金) 17:28:33.06
4.2BSD-Tahoeかと、一瞬思った
817名無しさん@お腹いっぱい。
垢版 |
2025/09/19(金) 23:31:27.65
4.3BSDやろ,Tahoeは
2025/09/20(土) 04:54:14.37
そっか、ありがとう
2025/09/20(土) 10:57:58.74
>>815
CFLAGSに
-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk
を追加してconfigureするのがワークアラウンド
820名無しさん@お腹いっぱい。
垢版 |
2025/10/04(土) 06:50:20.05
自分語りで恐縮だが、

仕事で作ってきたPythonコードの引き継ぎに先立ち、リファクタリングの効率化を目指して、
LSPを含めたEmacs環境を構築したんだが、作業を助けてくれる様々な機能に驚かされた。
もっと早く導入すればよかった。

初めからいいコードを書いていれば無駄な作業そのものを減らせたのにと反省もおおい。
2025/10/04(土) 08:02:42.73
どんな感じで構築したんだ?
2025/10/04(土) 09:15:39.82
どんな感じと言われても、オールインワンなパッケージは苦手なので、emacs-30をベースに
役立ちそうで、評判が高く、新しいものを追加した。

参考にしたのは次の記事だが、全部でなく、コード品質の向上に寄与しそうなEglotと、
ステップ実行したいのでデバッガのDapeが動作することを目指した。

Python用Emacs
www.reddit.com/r/emacs/comments/1em4ua3/emacs_for_python/
2025/10/04(土) 09:17:59.44
それから、この辺も

TreesitterとEglotを使ってPython用Emacsを設定する
gist.github.com/habamax/290cda0e0cdc6118eb9a06121b9bc0d7

GNU Emacs で VS Code 相当のコード・デバッグ支援機能を設定する
a-perpetual-novice.HATENABLOG.com/entry/2024/10/30/005400
a-perpetual-novice.HATENABLOG.com/entry/2024/11/01/013058
2025/10/04(土) 14:30:22.02
まあ5年遅いな
2025/10/04(土) 15:27:40.44
>>824
進化しろよ
2025/10/04(土) 15:58:24.20
treesitterもLSPもEmacsとは関係がない
もはやテキストエディターはモジュールを組み合わせる為の土台でしかなくなった
これからは本体をシンプルにしてモジュールを組み合わせる柔軟性が求められる
kitchen-sinkの時代は終わった
2025/10/04(土) 17:05:07.59
>>826
じゃあVImが良いってなるやん
emacsならlispで、vscodeならnodejsで拡張できるっていう良さがあるからエディタ選んで楽しむ余地はまだまだあるっしょ
2025/10/04(土) 23:41:11.40
>>827
Vimは大量の酷いCコードを整理する必要があるけど、もはや限界がある
VimScriptもお世辞にも使いやすいとは言えない
なのでEmacsの方がマシなのは間違いないけど、Emacsである必要性も薄らいで来てるのもまた事実w
でもorg-modeみたいなキラーモジュールがあるからEmacsを離れられない人がほとんどなのも現実だろう
829名無しさん@お腹いっぱい。
垢版 |
2025/10/05(日) 00:43:52.21
lsp作ったのもmsだしpythonで一番人気のls作ってるのもmsとゆう事実
ゴミみたいなソフトばっか作ってる印象だけど地味にossに貢献しとる
vimはneovimでvimscriptの1000倍速いluaで設定書けるからそれでええやん
830名無しさん@お腹いっぱい。
垢版 |
2025/10/05(日) 00:46:29.22
emacsはなぜか若いナオンに人気
https://m.youtube.com/watch?v=Uf4wiY5bchk
831名無しさん@お腹いっぱい。
垢版 |
2025/10/05(日) 01:00:03.42
てか最近emacs触り始めたけどなんでも()つけないといけないlispてキチゲエみたいな言語やな
プログラム向けとか神の言語とかゆわれてるけどそれならrubyとかputhonのほうが近いやんておもた
832名無しさん@お腹いっぱい。
垢版 |
2025/10/05(日) 05:26:54.44
emacs 30 シリーズも30.2 が出たので、29.x からそれにしたらいきなり egg 関連のパッケージがエラーおこしたが、それは割とすぐに対処できた。
obarray を作るには make-vector の最後の値を nil から0にせよということだ。あるいは obarray-make を使えと。
たとえば:
https://www.agt.ne.jp/dokuwiki/emacs:emacs_29_%E3%82%92_emacs_30_%E3%81%AB%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%E3%81%97%E3%81%9F%E3%82%89_tamago_%E3%81%8C%E5%8B%95%E3%81%8B%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F%E8%A9%B1

で、実は手元でローカルにいろいろパッチを当てていた egg 関連の emacs-lisp を emacs 30.2 で compile しようとしたらどうも macroexpand が うまくいかないようでエラーを起こす。
多分どこかでマクロの引数が足りないところなどがあるんだろうけど古いemacsのコンパイラではmacro の展開が緩かったりで発見されていなかった問題かも。

それはともかくその過程で次のパッケージとウェブサイトを知った。
egg-tart (tamago-tsunagi と 追加の説明など) https://github.com/hata48915b/egg-tart
やっぱりWnnが好き! https://wnn.jp/
FreeBSD における Wnn8 https://maikaze.cafe.coocan.jp/wnn8.html

最後のは自分で .el 書き換えたりしてない人には詳しすぎるかも。
egg.el関連のソースはやはり漸次でもよいから直していかないと emacs 30.x (x > 2), 31.y で使えなくなりそうだけども、そういう観点から更新をしている人は世の中にいるのだろうか?
長く使っている入力方法は簡単に捨てられないので、そういうところがあれば情報を共有したいと思ってるのでした。
2025/10/05(日) 06:34:58.15
>>831
いま手元に実物が無いからうろ覚えだけど
A君「LISPは機械を優先して、人にとっての使いやすさを無視した言語なんですか?」
K先生「それはある意味当たっておる。しかし機械が扱いやすいということは、回り回ってその機械を作ったり制御したりする人が楽をできるということでもある。まあ人と機械が歩み寄ったと思えば美談じゃ」
みたいな会話を読んで目から鱗が落ちたことがある
https://www.shoeisha.co.jp/book/detail/9784798119410
2025/10/05(日) 09:16:32.78
28以降はクソ
2025/10/05(日) 09:26:00.51
>>831
Emacsの歴史を知るとその疑問が解けるかもしれないよ
GNU EmacsがEmacs Lispを採用したのは2番目のリンクで、どちらも日本語だが英語版より古い

https://ja.wikipedia.org/wiki/Emacs
https://www.gnu.org/gnu/rms-lisp.html
2025/10/05(日) 10:14:50.33
ややこしい歴史をたどんなくても
・lisp が完全な高級言語の中で最も小さなインタプリタで実装できたから(当時はメモリとか貴重だった
・rms は MIT の AI研にいて lisp まわりの仕事してて詳しかった
の2点で十分じゃよ
2025/10/05(日) 12:16:54.94
>>831
Lispが神の言語なのにはちゃんと理由がある
要約すると、括弧とシンボルと幾つかのオペレーター(例えばcarやatomなど)があれば言語を構築出来ることを「発見」したから
あと、構造化編集で調べれば分かるけど、括弧があるお陰で編集がめちゃやり易くなる
括弧の対応は自動でされる
それとLisperは括弧じゃなくてインデントを見るので括弧が気にならなくなる
もはや欠点が無いw
2025/10/05(日) 13:27:59.02
インデントを見るといえばpythonだけど、個人的にはpythonにカッコついてればいいのにと思う
2025/10/05(日) 15:09:45.47
>>837
極論を言えばプリミティブは lambda と eval さえあれば後はそれを使って全部実装できるって話はあるからな
入出力とかは全部 eval が担当はインチキだけど
840名無しさん@お腹いっぱい。
垢版 |
2025/10/05(日) 16:38:29.06
doom emcas起動したらcpuが100張り付いたんだけどemacsてこんなに重いん?
2025/10/05(日) 16:51:29.98
>>838
HyというLispがあるよ
使ったこと無いけど、Pythonとの親和性を求めるなら良いかもね
2025/10/05(日) 16:53:40.92
>>840
裏でネイティブコードのコンパイルが行われてる
一度やれば次起動した時は負荷は上がらないけど、パッケージを更新するとまたコンパイルが走って一時的に負荷が上がる
843832
垢版 |
2025/10/06(月) 02:43:16.18
>> 152

> ChatGPT in Emacs
> https://youtu.be/4oUrm4CnIjo

30.2 で tamago のバイトコンパイルどころかロードも失敗するのは、上の emacs に特化した? chatgpt の対話窓口で数時間かけてデバッグしたら解決した。

なかなか参考になる体験。最初の数時間はうまくいったんだけど、最後の1時間半くらい、chatgpt が自分で定義した関数の引数の数と、
テスト用に示してきた関数での利用例での引数の数がマッチしてなくて、それで大混乱して1時間半くらい無駄にした。
こちらの手元の関数定義と向こうが考えてる修正中の定義が微妙にずれていたりするのかもしれない。
あと、なぜか、lisp の対話システムとしては致命的だがときどきカッコのマッチがおかしいのを出力する。シンタックスエラーで分かるからいいんだけど。

そんなわけで、defmacro の問題点は全部解決した. hangul.el は defmacro を修正したら今度は最後関数ボディが巨大になりすぎてコンパイルできないので、
マクロ利用をやめたり。

とりあえず、手元の tamago の .el ファイルはエラーせずに全部コンパイルできるようになった。
それをバイトコンパイルしたもので 30.2 で日本語入力が手元の FreeWnn4 使ってるDebian/Linux でできてる。
第一歩すすんだ。

修正案:
1. 終了: ‘inhibit-point-motion-hooks’ is an obsolete variable (as of 25.1); use ‘cursor-intangible-mode’ or ‘cursor-sensor-mode’ instead
対応。
2.stirng-as-unibyte, string-as-multibyte の置き換え。
対応中。 ただし、これは日本語サーバー使ってる部分しかテストできない。
3. 上の 1 に関連して 'tangible text property の利用をやめる方向でそれを取り除くのも chatgpt と相談しながらできるかもしれないと思い始めたところ。

生成AI でのコーディングは実用になる。結果が正しいかどうかはコンパイラ、インタプリタ―でテストは知らせれば真偽がわかる。
レポートの調査は、「これこれはこのURLに書かれています。」と言われて、本当かと調べたらなかったことが考えられないほどの頻度であるので、そういう使い方には向いてないと思う。

Emacs に特化した窓口を教えてくれた152に感謝。
844名無しさん@お腹いっぱい。
垢版 |
2025/10/06(月) 07:06:13.00
>>831
XML: その通り
JS: おまえが言うな({[]})
845832
垢版 |
2025/10/06(月) 10:59:48.77
訂正:使ったのは 次だった。271に感謝。
>> 271
> https://chat.openai.com/g/g-ceQ8Ju6Rg-emacs-expert
2025/10/07(火) 14:52:23.14
>>826
もはやも何も昔からEmacsは環境…
2025/10/09(木) 12:00:04.41
28以降はクソ環境
2025/10/09(木) 17:19:46.12
こっちと同じ話になってる

Unixの哲学は単機能ツールの組合わせ→emacs え?
https://mao.5ch.net/test/read.cgi/linux/1600516823/
849名無しさん@お腹いっぱい。
垢版 |
2025/10/11(土) 15:25:04.81
ewwの使い勝手がいまいちなんだよね
webページがフレームだと使い物にならない
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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