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/
2021/12/03(金) 18:38:26.20
>>403
言いたい事は分かるけど、それをダイナミックバインディングとは言わないんだよね
強いて言うならスペシャル変数のバインディングという感じか
ダイナミックバインディングと挙動が似てるから混同しがち
ひとつ例を出すと
;; -*- lexical-binding: t -*-
(setq hoge 1)

(defun print-hoge ()
(print hoge))

(defun foo ()
(let ((hoge 2))
(print-hoge)
(print hoge)))

(foo) =>

1

2
となる
setqで強引に作ったグローバル変数はスペシャル変数じゃないのでこうなるけど、一番上のコメント行を削除するとダイナミックバインディンになって
(foo) =>

2

2
となる
2021/12/03(金) 18:48:46.46
ちなみにCommon Lispでも同じ挙動だ
でもCommon Lispをダイナミックバインドの言語とは言わないだろう(設定で出来るらしいが詳しくは知らん)
defvarとletの挙動はスペシャル変数のバインドと言えばいいだろう
2021/12/04(土) 00:27:36.26
デフン、フー
2021/12/04(土) 10:10:25.00
>>405
これは間違い?
http://www.nct9.ne.jp/m_hiroi/clisp/abcl19.html
2021/12/04(土) 12:00:31.58
>>407
スペシャル変数はダイナミックスコープで管理されると言えばいいんだな
そもそもダイナミックバインディングとダイナミックスコープの用語を一緒くたにするというアホなことしてた
昔のEmacsはスペシャル変数でなくても、letで定義された変数を全てダイナミックスコープで扱うダイナミックバインディングだった
今はスペシャル変数のみダイナミックスコープで扱う、レキシカルバインディングが(運用上)デフォルトになっている
と言えばいいのかね
2021/12/05(日) 23:55:28.68
しばらく触ってなかったが、今のEmacsLispはレキシカル・スコープなの?
2021/12/06(月) 00:28:03.09
>>409
今でもデフォルトはダイナミックスコープだけど、24あたりのバージョンでレキシカルスコープの対応がされたであってるかな?
https://www.emacswiki.org/emacs/LexicalBinding
2021/12/06(月) 01:00:14.10
そうそう
2021/12/06(月) 01:13:34.08
.elの一行目に
;; -*- lexical-binding: t -*-
を書くとレキシカルバインディングになる
今は全部の.elに書かれてるから、もうデフォルトと言って間違いない
2021/12/06(月) 04:14:47.85
>>412
要するに、デフォルトちゃうやん!w
2021/12/06(月) 12:34:41.52
# cd /usr/share/emacs/27.1/lisp
# ls *.el.gz | wc -l
265
# zgrep -l lexical *.el.gz | wc -l
149

/usr/share/emacs/27.1/lisp 配下のファイルでは、lexical の宣言がされているのは、半分強くらいなようです。
2021/12/06(月) 16:18:29.71
dynamic bindingは関数を弄らずに呼び出し側から出力先を変更出来るのが一番の恩恵だと思う
シェルのリダイレクトに似てるな
2021/12/06(月) 16:58:44.24
>>414
今pretestがリリースされている28からだった
$ ls *.el | wc -l
268
$ grep -l lexical-binding *.el | wc -l
268
ちゃんと全部レキシカルバインディングになってるよ!
しかもNEWSには
** The 'lexical-binding' local variable is always enabled.
とも書いてある
これで内部もデフォルトになったよ

>>415
もうdynamic bindingの話はするな
するのならdynamic scopeというべし
2021/12/06(月) 18:58:09.68
すみません
2021/12/06(月) 19:06:54.09
デフォルトの意味が分かってない人がいるってマジ...?
2021/12/06(月) 19:48:02.00
dynamic binding と dynamic scope の違いが分からん。教えて。
2021/12/07(火) 00:22:52.59
https://ayatakesi.github.io/lispref/27.2/html/Variable-Scoping.html#Variable-Scoping
↑ここを見れば全部書いてある
2021/12/07(火) 00:37:26.94
lexical-bindingとdynamic-bindingはどちらかしか有効にならないから排他的だけど、dynamic scopeはlexical-bindingの時でもスペシャル変数がそれなので両方で使える
2021/12/07(火) 06:34:53.98
設定としてのlexical-bindingの意味と、挙動としてのlexical binding(ハイフン無し)を混同しているような気がするが..。
2021/12/07(火) 23:37:42.87
歴史を語る売国奴めが
2021/12/08(水) 00:30:53.20
売国奴w
こんな辺境のスレで国が売れるのかよw
2021/12/08(水) 01:20:40.42
素直にすまんと認めてるのに周りが蒸し返して騒ぐのはいかがなものか?
2021/12/11(土) 02:00:41.36
selectrum とか verticoの作者が競合のパッケージに一言書いてるの面白いね欧米だわ
日本であれやったらてめどこ中だよああん?ってなるわ
2021/12/14(火) 13:12:58.72
Vim使いの事をVimmer って呼ぶらしいんだけど
Emacs 使いはEmaccer (イーマッカー)って呼べばいいんですかね?
2021/12/14(火) 13:30:42.61
emassacre
2021/12/14(火) 17:42:22.65
いまくせあん
430名無しさん@お腹いっぱい。
垢版 |
2021/12/14(火) 18:50:24.46
そんなmassacre!
2021/12/16(木) 03:34:30.24
emacsはイーマコよ
432名無しさん@お腹いっぱい。
垢版 |
2021/12/16(木) 11:36:26.81
emacsen って言うんじゃないの?
昔はemacs使いのことをそういうのをよく見かけたけど
2021/12/16(木) 11:54:48.09
emacsenは単に複数形では
2021/12/16(木) 13:09:05.16
emacsen は Emacs っぽいエディターを指す単語で使用者のことではなかったはずだが...
(GNU Emacs, XEmacs, Meadow みたいな)
435432
垢版 |
2021/12/16(木) 15:29:20.71
>>434 おお、そうなんですか!
Mule 2.3 とか demacs のころから使ってるが、そういう意味だとは知らなかった
2021/12/16(木) 15:35:43.39
https://www.emacswiki.org/emacs/Emacsen
ここの定義ではlook & feelが同一で、プログラマブルであるエディタの事になってる
2021/12/16(木) 16:43:04.06
「emacs」つーのはドイツ語なんか。w

https://www.google.com/search?q=%E3%83%89%E3%82%A4%E3%83%84%E8%AA%9E+%E8%A4%87%E6%95%B0%E5%BD%A2+en
2021/12/16(木) 16:49:45.33
Emacs Makes All Computers Slow
2021/12/16(木) 21:02:24.53
いまや素のemacsなんてパッと起動するんだから、世の中進歩したよな…
2021/12/16(木) 21:36:44.45
>>439
いろいろパッケージインストールするとやっぱり遅くなる。やっぱりDaemon使ってしまう。
2021/12/18(土) 17:11:23.49
https://ejje.weblio.jp/content/boxen
由来はここら辺じゃないかな
2021/12/21(火) 11:04:43.96
Emacsのカーソルがどうやってもbarになる上、点滅を無効にすることができない。
default-frame-alistやset-frame-parameterでcursor-typeをboxにしても無視されてしまうし
(blink-cursor-mode 0)も有効にならない。
試しにinit.elやpackageを読み込ませずにEmacsを起動するとbarの点滅になる。
カーソルのデフォルトはboxの点滅だったと思うのだけど。
2021/12/21(火) 11:15:44.97
それemacsの問題なの?
2021/12/21(火) 11:39:04.26
発生環境は秘密のようだから、偶然同じ原因で同じ症状を解決した人が通りすがるのを待つつもりなんだろ
なんとも気の長い御仁だとは思うが、人それぞれだな
2021/12/22(水) 17:16:08.73
28.0 の正式リリースまだー?
2021/12/22(水) 17:43:30.53
>>445
emacs-devel Mailing Listで聞けば?
447名無しさん@お腹いっぱい。
垢版 |
2021/12/22(水) 18:03:47.24
>>442
windows上なら、
(setq w32-use-visible-system-caret nil)
2021/12/22(水) 23:14:55.40
次は29.1
というか28はどこいった
449名無しさん@お腹いっぱい。
垢版 |
2021/12/23(木) 08:31:00.96
emacs -nw だかの可能性ない?
shell上で開いてるとshellの方の設定しないと駄目よ
2021/12/23(木) 10:10:00.48
シェルじゃなくて端末エミュレーターでしょ
2021/12/23(木) 12:10:09.84
>>448
ええと... どこ情報?
2021/12/24(金) 01:02:58.81
>>448
28.0.90を28.90なんかと勘違いしてないか?
28.0.90→28.0.91→...→28.1としてリリースされる
453名無しさん@お腹いっぱい。
垢版 |
2021/12/24(金) 12:58:02.38
今のmasterが29.0.50だから勘違いした説を推すね
2021/12/24(金) 23:51:58.64
なるほど…
masterのバージョンを見たのか
2021/12/28(火) 09:59:43.57
なんか27.2が素でビルドできない環境が増えたよな。
Fedora35やMinGWのGCC11ではEmacsのソースにパッチを当てないと無理。
2021/12/28(火) 20:08:33.89
MSYS2で28.0.90をビルドしたらコケたから何でだろうと思ったが、それが原因だったか
2021/12/28(火) 21:57:25.54
>>456
28.0.90をコンパイルするのはパッチ無しでmingw64でできたぞ。
ucrt64やclang64ではまだだけど。
2021/12/29(水) 00:09:42.67
>>457
native-compileを有効にしてたからかな?
ちゃんと追及してなかったから、テキトウなこと言ってたかもしれない
28.1からnative-compileを有効には出来るんだよね(デフォルトは無効)
2021/12/29(水) 00:27:39.56
ちなみに、なんのせいなん?
2021/12/29(水) 03:46:05.69
お前が馬鹿なせい
2021/12/29(水) 15:30:01.08
>>459
etags.exeをリンクする時にstpcpyが無いというエラーだった
2021/12/29(水) 17:08:56.68
undefined reference `stpcpy' で検索すると、どうやら--enable-link-time-optimization付けるとリンカー(?)がsnprintfをstpcpyに最適化するからっぽい
外したらビルド出来た
ちなみにetagsは関係無かった
Emacs自体はstpcpyを使ってるけど、mingw64のgccはstpcpyをbuild inなインライン関数に置き換えるから大丈夫の様だが、本気でリンクしようとすると無いと言われてしまうんだな
当然Linuxでは実態があるから問題無いけどね
mingw64の環境でltoを有効にしたい場合はsnprintfの最適化を抑制する必要があるけど方法が分からん、諦めるしかないかも
2021/12/29(水) 17:53:40.00
>>458
これでnative-compileが有効になるよ。
確認した。
https://gist.github.com/nauhygon/f3b44f51b34e89bc54f8
2021/12/30(木) 00:28:39.22
>>458
--with-native-compilationをつけてnative-compileを有効にできたよ
>>462で説明してるけど、native-compileの有効がコンパイルエラーになる原因じゃなかった
2021/12/30(木) 00:29:35.68
>>464>>463宛てだった
2022/01/15(土) 11:20:00.28
申し訳ない誰か教えてくだちぃ

・emacsの設定に、bashでいうところの /etc/bashrc みたいなのを効かせたい

理想(妄想)
 ・/etc/emacsrcなんてのがあって、これは全ユーザーがなにも指定せずemacsを
  起動した時に読み込まれ、書かれた設定が反映される

 ・各ユーザーのホームに.emacs.d/init.elがもしあれば追加で読み込まれる
  同じ設定があれば上書きされる

emacs -l /etc/emacsrc  をエイリアスにすればいけそうな感じだけど、
この場合ユーザーのホームの.emacs.d/init.elなんかはどう扱われるでせう??
(読まれるの? 読まれた場合、優先順位とかはどうなるの?かぶる設定はどっちが効くの?)
2022/01/15(土) 11:54:46.79
無知以前にバカすぎるのでスルー推奨
2022/01/15(土) 13:00:46.62
>>467
あえて言うほどか?
messageでも使って、自分で試してみればいいだけの話ではあるけど。
469名無しさん@お腹いっぱい。
垢版 |
2022/01/15(土) 13:35:04.40
きっと拾い食いでもしておなか痛いんだろ
お大事に
2022/01/15(土) 13:45:17.92
>>466
https://www.gnu.org/software/emacs/manual/html_node/emacs/Init-File.html
2022/01/15(土) 13:54:39.34
>>468
いや、オレにはわからない深淵ななにかがあるのかと不安になったので、あえて言ってもらってよかった。
2022/01/15(土) 15:48:21.21
466です
470さんありがとう
恥ずかしいこれ知りませんでした
どう見てもドンピシャです
ほんとうにありがとうございました
2022/01/15(土) 16:36:51.21
>>472
そりゃいいね。評論家が多いけど、みんな同じ道をたどってるはずだよ。
たくさんの選択肢のなかからEmacsを選んだのは1つのセンスだと思う。がんばれ。
2022/01/15(土) 18:39:43.29
そのセンス時代遅れじゃない?大丈夫?
2022/01/15(土) 20:15:56.82
別にEmacsを生涯使い続けなくとも、ある程度使える程度になれば、得るものは大きいよ
2022/01/15(土) 23:04:45.80
>>474
例えば、Doom Emacs
ttps://github.com/hlissner/doom-emacs
を使ってみはなれ。
ここまで行くと、Lispで書くのもJavaScriptで書くのも変わらんなってなる。
2022/01/16(日) 02:10:03.40
28.1はいつ頃出るんだろうかと思って、リポジトリのタグの日付を27の場合と比較してみた

emacs-27.0.90: 2020/03/01
emacs-27.0.91: 2020/04/17
emacs-27.1-rc1: 2020/07/29
emacs-27.1-rc2: 2020/08/05
emacs-27.1: 2020/08/10

emacs-28.0.90: 2021/12/03
emacs-28.0.91: 2022/01/11

この先27の時と同じペースでrc1,rc2,releaseと進むとしたら、28.1が出るのはGW明けくらい?
478名無しさん@お腹いっぱい。
垢版 |
2022/01/16(日) 05:39:06.05
数か月に1回は変更があるのか
活発だな
2022/01/20(木) 09:31:31.18
今更ネイティブコンパイルがどんなものか理解したけどめっちゃすごそうだな
Emacs 28 が楽しみだぜ
2022/01/20(木) 16:28:12.42
>>479
Emacs 28 pretestでも試してみることをおすすめする
2022/01/23(日) 14:33:49.46
ちんちんシュッ!シュッ!シュッ!
482名無しさん@お腹いっぱい。
垢版 |
2022/02/10(木) 03:44:35.68
emacsの勉強しようとしてインストールしたは良いが、テトリスがやめられない。
2022/02/10(木) 09:32:41.28
bsdのgames/quizにあるed commandが結構楽しい
emacs版も誰か作って
484名無しさん@お腹いっぱい。
垢版 |
2022/03/05(土) 04:37:54.39
emacsの勉強しようとしてインストールしたは良いが、アレから1カ月、、テトリスは上達し、今は五目並べがやめられない。
2022/03/05(土) 14:03:29.79
navi2chとproxy2chで5ちゃんに読み書きできるようにしてみるとか
2022/03/06(日) 15:05:39.68
bsdは衰退しました
2022/03/06(日) 15:51:54.86
ed/vim golfなる競技は一部界隈で流行ってたりするな
quizはデータ見ると分かるが適当なregexで回答入れてるので理不尽に不正解にされてストレス溜まる、golfトレーナーplugin沢山あるので実vim推奨

meta/ctrl入り交じるemacsゴルフの方がgolf性高そうな気もする
2022/03/06(日) 17:28:19.56
Emacs経由で5chに書き込めるようにして欲しい
ewwだと書込み出来ない板がある
489名無しさん@お腹いっぱい。
垢版 |
2022/03/10(木) 04:01:55.79
取り敢えず、初めて文書ファイルを作った。テストファイルだが。
ゲームをやり過ぎた。

$ emacs -nw helloworld.txt

◆OSはUbuntu。
◆GUIだと日本語入力の検索候補が浮いてしまうので、CUI環境で動かすオプション -nw (No Window)付きで起動。
◆ターミナルの設定で見やすい色に変更。
◆マウスが使えない場合のメニューバーはF10キーで動かす(←YouTubeで英語の入門動画見てたらF5の人もいたから、OSによって違うのかも知れんが)ところまでたどり着くまでに1ヶ月かかった。
490名無しさん@お腹いっぱい。
垢版 |
2022/03/10(木) 08:58:49.30
個人的にはddskkを勧める
2022/03/10(木) 09:38:55.24
というか、Emacsでメニューバーを使ったことがないw
2022/03/10(木) 10:13:40.73
M-`ってのもあったよね
2022/03/10(木) 12:40:18.39
???
日記として使用するつもりならやめてください
当たり前ですが
2022/03/10(木) 12:43:39.71
>>491
1行分の表示領域がもったいないしな。
最初にする設定のひとつ。
2022/03/10(木) 13:49:04.16
別に何書いてもいいだろう、話題もないんだし
自分も初心者だから他の人が思ったこととかどんどん書いてくれると楽しいけどな
2022/03/10(木) 13:56:26.64
> 「日記として使用するつもりなら」やめてください
2022/03/10(木) 13:58:49.63
逆に言えば他者への配慮があれば初心者的な事を書いても文句を言われる筋合いは無い
2022/03/10(木) 14:35:32.44
度を越した日記じゃなけりゃいいよ
そこから広がる話題もあるわけだし
自治厨とか流行んないですよ
2022/03/10(木) 14:58:29.38
>>493
お前vimユーザやろ
2022/03/10(木) 16:32:49.12
ベタな対立煽りはもっと流行らないとおもうぞ
501名無しさん@お腹いっぱい。
垢版 |
2022/03/11(金) 23:24:07.69
doom emacs 使っている人いる?
便利?
2022/03/12(土) 06:52:54.10
ケータイにEmacs入れてみた
PCより立ち上がりが速くてワロタ
2022/03/12(土) 08:54:38.14
ケータイ?
スマホじゃなくて?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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