Emacs Part 52

レス数が950を超えています。1000を超えると書き込みができなくなります。
2020/03/25(水) 17:45:02.71
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/
2021/04/25(日) 18:27:56.09
とはいえ、emacsの利点ってなんでもlispでやれることしかないんじゃないか
2021/04/25(日) 19:21:49.54
>>872
何でもやれるので、他人が便利なものをガンガン作ってくれます(くれました)。
2021/04/25(日) 21:41:56.44
>>871
20年使い続けててスコープに不満が有るって、どういう事よ?
2021/04/25(日) 22:08:49.53
日本語関係のライブラリがだいぶ変わった気がする
2021/04/26(月) 10:49:31.57
guileが頑張ればもしかしたらブレイクスルーかも?
https://www.gnu.org/software/guile/manual/guile.html#Emacs-Lisp
emacsのコアにできたらなって野心的な事書く割にundocumentedですね、あっ…

t/f/nilの悪魔合体三値論理で相互互換だとよ
どうせならclも入れて第2のビッグクランチ起こそうぜ!
https://i.imgur.com/h6qXF7E.jpg
2021/04/26(月) 11:06:00.07
大抵のgnuアプリにインターフェイス用意されてて、OSインターフェイスもgnu/linux想定なのでとても簡潔
快適なのに全然流行らないguile…名前か!名前が悪いのか!?

clは制定時にunixがマイナーだったので、インターフェイスの定義が一般的過ぎて辛い
cltlの、現在普及してるパス表示/概念検討の項では、/は俎上にも上がってないっていう
結果として実装毎にバラバラで、最低uiopかそれ以上のライブラリは必須になってしまった

winもMacもunix…というかgun/linuxに寄り添ってきてるし、emacs/guileが決め打ちしていい頃合いではないかと思う
2021/04/26(月) 11:09:38.74
(まだemacsの求心力が残っているうちに…)
879sage
垢版 |
2021/04/26(月) 13:41:42.65
>> 814

私も free wnn jserver つかっている。linux.kinput-wwn も使っている。

4-5年前に X の XIMのライブラリコードにバグがあって、それをfirefox/thunderbird がトリガーしてしまい、FF/TB でアドレス入力の時などに、プルダウンメニューがうまくつかえないという時期があり、
それでfictx だったか、中国系の XIMの利用者もかなり減ってしまい、firefox の利用者統計だと kinput2風のXIMで東アジアの文字入力してるのは IM利用者のなかでも0.1% 以下らしい

なんで、ユーザだけの力で大きなバグの改修(ときどきjserver サーバーが死ぬ、するとkinput2 も巻き込まれて死ぬ)とか改良はむりだろうなと。

ここはEmacsのスレなんで、Emacsのからみでいくと egg というもはやメインテナンスされてないと思われるwnn対応の入力モード使っているが、それと評判の高い org-mode の相性が悪い。
transparentだったかummutable だったかの 属性のあるマーカー(領域?)か何かの扱いで衝突してしまう。
なので、org-mode の恩恵にあずかれてない。
ちょっと調べたけど他力本願モード。
中と半端に直したせいかときどき変換途中の領域が書き換えできないまま残ってしまうことが
あって、簡単に直せないことだけは分かった。

Wnn7使ってるという投稿があったが、その方はorg-modeは試してないのかな?
2021/04/26(月) 15:43:54.69
egg?
ヤマンバギャルってのも居ましたっけ?
2021/04/26(月) 18:00:49.45
>>879
そりゃあまた…
eggってもうメンテされてないのか。
自分はもうskkにしちゃったんで、あれなんだが、
org-modeが使えないなんて、そんなIM使う理由の半分くらいなくなっちゃうな、個人的には。
org-mode使ってると、PC使っている間に行う全入力の半分くらいはemacs上でになってしまうので。
emacsでの日本語入力はやっぱりskkが一番いいと思うわ。
yaskkserv使えば、多少はmozcの恩恵にも預かれるしw
2021/04/26(月) 21:15:33.92
tamagochy
2021/04/29(木) 09:38:00.50
ネイティブコンパイルEmacsの登場
https://blog.tomoya.dev/posts/hello-native-comp-emacs/
884名無しさん@お腹いっぱい。
垢版 |
2021/04/29(木) 10:38:26.81
>>882
2021/04/29(木) 10:44:12.72
240%速度早いのか
886名無しさん@お腹いっぱい。
垢版 |
2021/04/29(木) 13:23:15.44
日々とん久々に見たけどエライ白くなったなあ
2021/04/29(木) 20:49:47.82
>>883
キタ━━━━(゚∀゚)━━━━!!
2021/04/29(木) 22:12:04.12
夢が広がる
2021/04/30(金) 00:54:34.94
今までもコンパイルしてたんじゃないの?
ネイティブとネイティブじゃない違いかもしれないが。
よくわからんかったのは僕だけ?
2021/04/30(金) 02:21:38.45
今までのは簡素なスタックマシーン(Emacs VM)のバイトコードに変換するもの
今回はさらにlibgccjitを利用してネイティブコードに変換するもの

詳しい仕組みはAndrea CoralloのELS2020の資料がわかりやすいかも?
http://akrl.sdf.org/gccemacs_els2020.pdf
2021/04/30(金) 06:37:13.57
packageにしてくれ
2021/04/30(金) 09:09:54.53
VM無しで実行出来るコードにするのね。
2021/04/30(金) 09:12:55.65
でも今どきのVM一般ってネイティブと遜色ないやん
2021/04/30(金) 11:08:49.56
それはJITとかしてるVMでemacsのVMはそこまでではなかったということかな
2021/04/30(金) 12:08:10.10
>>890
リンク切れてるね
https://www.european-lisp-symposium.org/2020/
↑このページの一番下にあるpdf(かなり大きい)に含まれてた
2021/04/30(金) 13:41:33.12
なんやかんやEmacsもハッテンしてるね
2021/04/30(金) 14:04:06.26
英語が得意でないとハッテン場の出入りが不自由。
2021/04/30(金) 14:30:42.57
JIT手を見る
899名無しさん@お腹いっぱい。
垢版 |
2021/04/30(金) 23:13:53.94
>>897
IT本読破件数が充分なら英語力はそこそこでも良いみたいだぞ?(ネイティブの人たちは親切だし
2021/05/01(土) 11:49:29.80
emacsのコマンド名で鍛えた英語力でOK
2021/05/01(土) 13:35:12.36
僕はニチアサで鍛えた英語力で
2021/05/01(土) 15:05:32.23
そうか
良く拡げとか無いと尻が裂けるな
2021/05/02(日) 01:00:45.99
native-comp 版に移行したが、体感としての違いはワカラン
Emacsにあんまり重い処理はさせてないからなあ
2021/05/02(日) 03:06:07.65
elispで長大な処理をさせるものじゃないと効果は見えづらいだろうね
例えばlsp-modeは公式ドキュメントにresulting in more than 200% speedupとある
org-modeも軽くなる局面がある気がしている
2021/05/02(日) 10:31:12.75
何だかんだ最近のエディタにIDE並みの機能求めるからな
2021/05/02(日) 11:11:50.57
その元祖が emacs なので。
2021/05/02(日) 11:36:14.32
ディストリのパッケージマネージャー使ってるんだが、そのnative-comp版ってのは普通にアプデとして降ってくんの?
2021/05/02(日) 12:18:41.86
27.3とかで正式リリースなのでは
2021/05/02(日) 12:20:18.68
いや28か
2021/05/02(日) 12:20:55.88
無理して不安定なハシリに飛びつく必要無し
2021/05/02(日) 12:28:10.46
vimもvim9scriptで速くなるみたいだしvscodeが伸びてるのが刺激になっているのか
2021/05/02(日) 12:33:40.55
vscodeのMSご謹製 Remote Development プラグイン良く出来とるからな。
2021/05/02(日) 13:16:27.35
helmとかは速くなるのかな
2021/05/02(日) 15:15:42.16
>>911
vim躍進はvscodeのlsp使えたのが大きいね、あと非同期処理はemacsみたいに外部に投げてたけどネイティブ対応した

9はluaより速かろうがvimscriptなので…
コマンド毎に文法と引数解釈が違う、スクリプトとインタラクティブでまた仕様が微妙に違うとか、まるでcmdエグゼ
本当にキモい言語
elispも一般的にはキモい類だろうけど、血筋がよいので(根っこは)一貫性がある

あと、vimにもautoloadの仕組みが最近普及してきたので、対応コードなら既にオーバーヘッドなんて問題になってないと思う
(emacsのautoloadとは結構違う)
2021/05/02(日) 15:38:49.67
>>911
.vimrc 書いていくと init.el と違って起動の遅さが如実に使い勝手に影響が出る
(emacsは眠らない)
だから速度アップの恩恵の受け方は vim には vimの
emacs には emacs の恩恵があるはず
2021/05/02(日) 15:53:11.48
>>915
vimはautoload用のディレクトリ階層作るのが面倒よな、コードも二重読み込みフラグやマイナーモードへのデリゲートあたりを書き換えないとならず仕様が複雑
対応/保守してないパッケージは手を加えるしかない

これに関しては(autoload 'fun "file")並べるemacsに一票
2021/05/02(日) 18:47:41.49
つか、そもそもemacsは起動終了繰り返すような使い方しないからなあ。
vimは都度都度終了するが。
2021/05/02(日) 19:03:06.51
起動が速いからviが好き!
という知り合いもいたけど正直書くより先に考えた方がいいんじゃねえかというコードを生産してた
2021/05/02(日) 19:11:18.83
LISPが動くことがEmacs使う体外的な理由だったが、node.jsが動くvscodeの登場でEmacsの圧倒的な優位は揺らいだな
まあ好きだし神lisp多いから使うんだけど
2021/05/02(日) 19:38:14.51
年内に27系最終リリースという感じかしら?
https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg01080.html
2021/05/02(日) 19:43:21.37
>>918
たぶん vi は git や history_file など本当に最小限の機能さえあれば良いものに使い
大抵は vim 使っていると推測
2021/05/02(日) 21:00:10.02
>>919
emacs-ngならtypescript(deno)が動くよ
2021/05/02(日) 21:26:42.03
emacs-ngもなかなか面白そうではあるのだよな
https://github.com/emacs-ng/emacs-ng
elispそのものを置きかえる気はなくて、Emacsだと外部プログラムの力を
借りざるを得ない所を、内蔵のdenoで済ませる感じ
2021/05/03(月) 08:54:22.81
一瞬ELPAとかのパッケージ配布はどうなるんだろうと思ったけど
ああいうのは.elだけ配布してインストール時にbyte compleしているのかな
もしそうなら.elcが.elnに変わっても問題ない訳か
2021/05/04(火) 14:40:02.63
ネイティブコンパイルってことは
CでもC++でもFORTRANでもemacsの関数を書けるってことかな?
2021/05/04(火) 17:04:00.08
そういう意味のわからない発想はどこから来るんだろう
2021/05/04(火) 18:07:49.83
>>926
gcc-emacsって名前から察するに
lispで書いてた関数をgccでバイナリにするんじゃないのん?
じゃCでも良かろうもん?
2021/05/04(火) 18:38:43.43
>>927
そういう話じゃない
今まで.elをEmacsのVMのコードにコンパイルしていた(.elc)のを
x86とかarmとかプラットフォームのネイティブなコードにコンパイルする(.eln)という話
.elcは例えばx86でコンパイルしたものをarmの環境に持っていっても動くけど
.elnは当然コンパイルした環境に依存するから別の環境に持って行っても動かない
その代わりネイティブコードだから当然.elcよりは実行が早くなる
gcc-emacsという名前はネイティブコードへの変換にGCCのlibgccgitというのを使うから
2021/05/04(火) 18:39:32.87
Emacs起動中またはコンパイル時に、libgccjitを使用してel→LAP→バイトコードのLAPからネイティブコードへコンパイルしている
C言語は経由しない
バイトコードインタプリタは1バイトずつ読み込んで解釈しながら関数の呼び出しなどを実行して行くけど、ネイティブコード版は読み込み解釈部分が機械語に変換されていると考えればいいだろう
なので2倍程度の速度に収まっている
バイトコードインタプリタも十分早いからね
2021/05/04(火) 18:41:46.41
>>928
×libgccgit
○libgccjit
間違えたので訂正
2021/05/04(火) 19:02:48.28
全力で知ってること話すおじさん
932名無しさん@お腹いっぱい。
垢版 |
2021/05/04(火) 19:52:05.49
にわかとしては、こういうのはうれしいのだが
全力語りしてくれてもいいじゃないか しょせん2ちゃんなんだし
内容が間違ってたら困るけど
2021/05/04(火) 20:20:08.33
>>931
いやこれは流石に質問者がおかしいので、鬼レス食らって当然
2021/05/04(火) 20:44:28.40
Scheme Emacs はいつになったら完成するん?
935927
垢版 |
2021/05/04(火) 20:49:15.88
>>928,929
>そういう話じゃない
そういう話を書いているようにしか読めないんだが?

インターフェースさえ揃えられれば
.elに書いてた内容をlispで書こうがCで書こうが
gccでコンパイルして.elnを作れるはず
2021/05/04(火) 20:53:10.50
もう原文見に行けよ又聞きしないでさ
937名無しさん@お腹いっぱい。
垢版 |
2021/05/04(火) 20:53:39.25
>>925 氏は、今回の取り組みで emacs lisp にも dlopen みたいな機能が備わったと思ったのでは?
2021/05/04(火) 20:53:41.94
バイトコンパイルのソースはemacs lispだけだろアホ臭い。
939925,927
垢版 |
2021/05/04(火) 21:13:35.92
かつてのgcjのCNIみたいなイメージを想像しているんだが?
2021/05/04(火) 21:31:55.55
>>933
そんなにおかしくないでしょ
emacs専用から離れるってことは他も扱いやすいってことだから
2021/05/04(火) 21:57:39.59
日本人ならシャア専用を作るべき
2021/05/04(火) 22:03:19.65
それはジオン人のニーズなのでは
2021/05/05(水) 00:46:48.36
なんで、elnを経由すんだよ……
そんな迂遠なことせずとも、dynamic moduleを利用すれば前からCで書けるだろ

https://www.gnu.org/software/emacs/manual/html_node/elisp/Dynamic-Modules.html

Emacs27からはデフォルト有効だぞ
2021/05/05(水) 00:56:13.16
既存のelispライブラリをCで書き直せと申すか
2021/05/05(水) 01:03:09.31
どうせならpythonがいいです
2021/05/05(水) 01:10:07.42
ぼくはC++
2021/05/05(水) 07:51:39.05
>>945
はぁ?糞遅くなるだろうが。
2021/05/05(水) 09:05:55.23
luaあたりだろうな
2021/05/05(水) 09:25:01.55
Perl なら少ない勉強でテキストをゴニョゴニョできないか?
2021/05/05(水) 13:52:18.99
elのバイトコードって一応読めそうな直訳だし恩恵は僅かよね、パースを省けるくらい
具体的に他と比べれば.py/.pycより僅か

どうせバイトコードは弄らないものだし、それがネイティブコードになって何も悪い事はない
ネイティブコードは外部言語でも書けるからと言って、それで拡張書くのは反対だ
変数がどこでセットされたかまでちゃんと追跡してくれるのがemacsのよいところ
拡張書くくらいなら別プログラムにしてコマンドとして呼べばよいよ
透明性が大事だ
2021/05/05(水) 13:55:56.61
適当に最適化してくれるならしてほしい
しかしそもそもelispがそれほど良いものとは思えない
2021/05/05(水) 14:00:52.59
まさにvimが外部言語ニョキニョキ対応してるけど、それゆえビルド時にオプトアウト指定したりしなかったり、欲しいプラグインが使ってる言語オプトアウトしてしまってうげあ
ってことになってるからやめといた方がいいよ

処理系の差を吸収しようとシステムとは違う専用処理系埋め込んで肥大化してるし、全部入りにしたらとんでもないサイズになる

素直に外部プログラムとして実装して配り、システムの処理系で動かして連携しなさい
2021/05/05(水) 14:02:28.69
>>951
恵まれないguileちゃん募金活動しようぜ
2021/05/05(水) 15:11:49.37
プラットフォームな差異を吸収するなら今ならwasmとかになるのかね
バイナリをそのまま配布して動くし、サンドボックス化されてるから比較的セキュア
955名無しさん@お腹いっぱい。
垢版 |
2021/05/05(水) 15:14:25.70
政治的には guile やろな
GNU Assembly も立ち上がったし
2021/05/05(水) 17:58:37.79
>>949
マーク範囲に適用というのは良くやる
2021/05/06(木) 01:50:28.40
>>940
??????????????
2021/05/07(金) 20:04:13.37
2020年代のEmacs入門に書かれている内容は、今の標準だと思って良いの?
またEmacsに再入門したく
2021/05/07(金) 21:13:41.93
>>958
emacsなんて半世紀前に産声上げた訳で
2021/05/07(金) 23:12:17.88
ウン十年のemacs使いで途中何回かvi試してこんなもん使えるかと思ってたけど
最近時間に余裕ができて本格的にvi使ってみたらハマってしまった
2021/05/07(金) 23:23:28.88
両方良さがある
2021/05/08(土) 00:14:50.86
他人の設定をあてにするようなら、Emacsには向かないとも言える
自分専用のエディタに仕立てる為にEmacsがある
他人のEmacsは完全に別もんw
2021/05/08(土) 00:54:56.58
spacemacsとかdoom-emacsとかもあるし、そうとも言いきれんだろ
2021/05/08(土) 01:06:33.61
それはEmacsを極めた人が、こんなのはどうだ?と布教してるだけだな
spacemscsが万人向けとは思えんがな
もちろんそれがしっくり来る人も沢山居るだろうけど
2021/05/08(土) 11:23:35.40
>>962
繰り返される車輪の再発明ですねわかります
2021/05/08(土) 11:48:05.59
ユーザーたちは、車輪の発明を繰り返す進歩のない集団かよw
2021/05/08(土) 12:18:22.77
まあ多種多様な形態をとれるってことだ
ベースや小手先をどれだけ何から取り入れるもみんな違う
向いてない云々は色々具体性が足りないから知らんしエディタじゃなくてOSまであるけど
ただの個々人の設定の集合を車輪の再発明と呼ぶのも草ではある
車輪の再発明の意味すら違うとか
2021/05/08(土) 12:27:03.25
学習過程に伴う写経、先人の模倣を「車輪の再発明」言うのはタチの悪い冗談だ。
2021/05/08(土) 12:32:37.74
spacemacsには感謝しています(by spacevimユーザー)
2021/05/08(土) 13:13:11.40
emacsはosだからemacserはviも使うぞ
2021/05/08(土) 13:15:59.55
プログラミングでも何でも、取り敢えず自己流で見よう見まねで作ってみて、その後に基礎を勉強するのが一番の近道だな
つまらない基礎もちゃんと意味が理解出来る
逆につまらない基礎を最初に詰め込もうとするのが日本の教育の良くないところ
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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