のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,813人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレEmacs Part 53

    emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    401 : 名無しさん@お腹 - 2021/12/03(金) 10:20:55.07 .net (+19,-3,+1)
    デフォルトではないと思うけど
    402 : 名無しさん@お腹 - 2021/12/03(金) 10:58:16.59 .net (+56,+28,-25)
    内部設定がデフォルトということではなくて、ソースコードの一番上にレキシカルスコープの宣言を書くことが当たり前になってるから、運用的にデフォルトということか
    404 : 名無しさん@お腹 - 2021/12/03(金) 18:38:26.20 .net (+3,-30,-176)
    >>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
    となる
    405 : 名無しさん@お腹 - 2021/12/03(金) 18:48:46.46 .net (+26,-29,-84)
    ちなみにCommon Lispでも同じ挙動だ
    でもCommon Lispをダイナミックバインドの言語とは言わないだろう(設定で出来るらしいが詳しくは知らん)
    defvarとletの挙動はスペシャル変数のバインドと言えばいいだろう
    406 : 名無しさん@お腹 - 2021/12/04(土) 00:27:36.26 .net (+46,+28,+0)
    デフン、フー
    407 : 名無しさん@お腹 - 2021/12/04(土) 10:10:25.00 .net (+76,+13,-1)
    408 : 名無しさん@お腹 - 2021/12/04(土) 12:00:31.58 .net (+73,+29,-102)
    >>407
    スペシャル変数はダイナミックスコープで管理されると言えばいいんだな
    そもそもダイナミックバインディングとダイナミックスコープの用語を一緒くたにするというアホなことしてた
    昔のEmacsはスペシャル変数でなくても、letで定義された変数を全てダイナミックスコープで扱うダイナミックバインディングだった
    今はスペシャル変数のみダイナミックスコープで扱う、レキシカルバインディングが(運用上)デフォルトになっている
    と言えばいいのかね
    409 : 名無しさん@お腹 - 2021/12/05(日) 23:55:28.68 .net (+64,+0,-17)
    しばらく触ってなかったが、今のEmacsLispはレキシカル・スコープなの?
    410 : 名無しさん@お腹 - 2021/12/06(月) 00:28:03.09 .net (+70,+29,-60)
    >>409
    今でもデフォルトはダイナミックスコープだけど、24あたりのバージョンでレキシカルスコープの対応がされたであってるかな?
    http://www.emacswiki.org/emacs/LexicalBinding
    411 : 名無しさん@お腹 - 2021/12/06(月) 01:00:14.10 .net (+41,+23,+0)
    そうそう
    412 : 名無しさん@お腹 - 2021/12/06(月) 01:13:34.08 .net (+18,-30,-35)
    .elの一行目に
    ;; -*- lexical-binding: t -*-
    を書くとレキシカルバインディングになる
    今は全部の.elに書かれてるから、もうデフォルトと言って間違いない
    413 : 名無しさん@お腹 - 2021/12/06(月) 04:14:47.85 .net (+34,+3,-1)
    >>412
    要するに、デフォルトちゃうやん!w
    414 : 名無しさん@お腹 - 2021/12/06(月) 12:34:41.52 .net (+9,-30,-72)
    # 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 の宣言がされているのは、半分強くらいなようです。
    415 : 名無しさん@お腹 - 2021/12/06(月) 16:18:29.71 .net (+4,-29,-29)
    dynamic bindingは関数を弄らずに呼び出し側から出力先を変更出来るのが一番の恩恵だと思う
    シェルのリダイレクトに似てるな
    416 : 名無しさん@お腹 - 2021/12/06(月) 16:58:44.24 .net (+4,-30,-119)
    >>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というべし
    417 : 名無しさん@お腹 - 2021/12/06(月) 18:58:09.68 .net (+37,+19,+1)
    すみません
    418 : 名無しさん@お腹 - 2021/12/06(月) 19:06:54.09 .net (+54,+26,-4)
    デフォルトの意味が分かってない人がいるってマジ...?
    419 : 名無しさん@お腹 - 2021/12/06(月) 19:48:02.00 .net (-1,-29,-31)
    dynamic binding と dynamic scope の違いが分からん。教えて。
    420 : 名無しさん@お腹 - 2021/12/07(火) 00:22:52.59 .net (+3,-30,-14)
    421 : 名無しさん@お腹 - 2021/12/07(火) 00:37:26.94 .net (+3,-30,-78)
    lexical-bindingとdynamic-bindingはどちらかしか有効にならないから排他的だけど、dynamic scopeはlexical-bindingの時でもスペシャル変数がそれなので両方で使える
    422 : 名無しさん@お腹 - 2021/12/07(火) 06:34:53.98 .net (-2,-30,-51)
    設定としてのlexical-bindingの意味と、挙動としてのlexical binding(ハイフン無し)を混同しているような気がするが..。
    423 : 名無しさん@お腹 - 2021/12/07(火) 23:37:42.87 .net (+51,+28,-2)
    歴史を語る売国奴めが
    424 : 名無しさん@お腹 - 2021/12/08(水) 00:30:53.20 .net (+57,+29,-6)
    売国奴w
    こんな辺境のスレで国が売れるのかよw
    425 : 名無しさん@お腹 - 2021/12/08(水) 01:20:40.42 .net (+57,+29,-24)
    素直にすまんと認めてるのに周りが蒸し返して騒ぐのはいかがなものか?
    426 : 名無しさん@お腹 - 2021/12/11(土) 02:00:41.36 .net (+57,+29,-30)
    selectrum とか verticoの作者が競合のパッケージに一言書いてるの面白いね欧米だわ
    日本であれやったらてめどこ中だよああん?ってなるわ
    427 : 名無しさん@お腹 - 2021/12/14(火) 13:12:58.72 .net (-1,-29,-39)
    Vim使いの事をVimmer って呼ぶらしいんだけど
    Emacs 使いはEmaccer (イーマッカー)って呼べばいいんですかね?
    428 : 名無しさん@お腹 - 2021/12/14(火) 13:30:42.61 .net (-6,-29,+0)
    emassacre
    429 : 名無しさん@お腹 - 2021/12/14(火) 17:42:22.65 .net (+47,+29,+0)
    いまくせあん
    430 : 名無しさん@お腹 - 2021/12/14(火) 18:50:24.46 .net (-6,-29,-1)
    そんなmassacre!
    431 : 名無しさん@お腹 - 2021/12/16(木) 03:34:30.24 .net (+26,+3,+0)
    emacsはイーマコよ
    432 : 名無しさん@お腹 - 2021/12/16(木) 11:36:26.81 .net (+67,+29,-4)
    emacsen って言うんじゃないの?
    昔はemacs使いのことをそういうのをよく見かけたけど
    433 : 名無しさん@お腹 - 2021/12/16(木) 11:54:48.09 .net (-5,-28,-5)
    emacsenは単に複数形では
    434 : 名無しさん@お腹 - 2021/12/16(木) 13:09:05.16 .net (+2,-29,-71)
    emacsen は Emacs っぽいエディターを指す単語で使用者のことではなかったはずだが...
    (GNU Emacs, XEmacs, Meadow みたいな)
    435 : 432 - 2021/12/16(木) 15:29:20.71 .net (-1,-29,-38)
    >>434 おお、そうなんですか!
    Mule 2.3 とか demacs のころから使ってるが、そういう意味だとは知らなかった
    436 : 名無しさん@お腹 - 2021/12/16(木) 15:35:43.39 .net (-1,-29,-33)
    http://www.emacswiki.org/emacs/Emacsen
    ここの定義ではlook & feelが同一で、プログラマブルであるエディタの事になってる
    437 : 名無しさん@お腹 - 2021/12/16(木) 16:43:04.06 .net (+62,+29,-2)
    438 : 名無しさん@お腹 - 2021/12/16(木) 16:49:45.33 .net (-1,-29,-2)
    Emacs Makes All Computers Slow
    439 : 名無しさん@お腹 - 2021/12/16(木) 21:02:24.53 .net (+62,+29,-15)
    いまや素のemacsなんてパッと起動するんだから、世の中進歩したよな…
    440 : 名無しさん@お腹 - 2021/12/16(木) 21:36:44.45 .net (+6,-29,-6)
    >>439
    いろいろパッケージインストールするとやっぱり遅くなる。やっぱりDaemon使ってしまう。
    441 : 名無しさん@お腹 - 2021/12/18(土) 17:11:23.49 .net (+57,+29,+0)
    http://ejje.weblio.jp/content/boxen
    由来はここら辺じゃないかな
    442 : 名無しさん@お腹 - 2021/12/21(火) 11:04:43.96 .net (+7,-30,-152)
    Emacsのカーソルがどうやってもbarになる上、点滅を無効にすることができない。
    default-frame-alistやset-frame-parameterでcursor-typeをboxにしても無視されてしまうし
    (blink-cursor-mode 0)も有効にならない。
    試しにinit.elやpackageを読み込ませずにEmacsを起動するとbarの点滅になる。
    カーソルのデフォルトはboxの点滅だったと思うのだけど。
    443 : 名無しさん@お腹 - 2021/12/21(火) 11:15:44.97 .net (+29,+6,-2)
    それemacsの問題なの?
    444 : 名無しさん@お腹 - 2021/12/21(火) 11:39:04.26 .net (+57,+29,-47)
    発生環境は秘密のようだから、偶然同じ原因で同じ症状を解決した人が通りすがるのを待つつもりなんだろ
    なんとも気の長い御仁だとは思うが、人それぞれだな
    445 : 名無しさん@お腹 - 2021/12/22(水) 17:16:08.73 .net (-2,-29,-8)
    28.0 の正式リリースまだー?
    446 : 名無しさん@お腹 - 2021/12/22(水) 17:43:30.53 .net (-2,-29,-7)
    >>445
    emacs-devel Mailing Listで聞けば?
    447 : 名無しさん@お腹 - 2021/12/22(水) 18:03:47.24 .net (-1,-30,-14)
    >>442
    windows上なら、
    (setq w32-use-visible-system-caret nil)
    448 : 名無しさん@お腹 - 2021/12/22(水) 23:14:55.40 .net (+53,-9,+2)
    次は29.1
    というか28はどこいった
    449 : 名無しさん@お腹 - 2021/12/23(木) 08:31:00.96 .net (-1,-29,-39)
    emacs -nw だかの可能性ない?
    shell上で開いてるとshellの方の設定しないと駄目よ
    450 : 名無しさん@お腹 - 2021/12/23(木) 10:10:00.48 .net (+45,+17,-26)
    シェルじゃなくて端末エミュレーターでしょ
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について