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

    私的良スレ書庫

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

    元スレEmacs Part 52

    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
    251 : 名無しさん@お腹 - 2020/09/02(水) 09:10:26 .net (-1,-29,-4)
    ところで#129315って何入れたかったの?
    252 : 名無しさん@お腹 - 2020/09/02(水) 10:23:09.34 .net (+58,+30,+0)
    253 : 名無しさん@お腹 - 2020/09/02(水) 11:08:43.19 .net (+47,+20,+0)
    >>250
    やさしい
    254 : 名無しさん@お腹 - 2020/09/02(水) 11:38:25.17 .net (+39,-29,-131)
    この話の締めに昔話などを

    以前 RAM という雑誌があって Lisp の解説連載があってな
    ある号に Lisp インタプリタのソースが全部掲載された
    記述言語はインテルの8080のアセンブラ
    8080のアセンブラには関数なんて気の利いたものはなかった
    だから(Lispの)関数やスペシャルフォームはサブルーチンとして実装された
    インタプリタ起動後に desubr かなにかでシンボルにアドレスを対応させた気がする

    当時は雑誌に掲載されたプログラムを手入力して実行したものじゃった
    40年ほど前の話かの
    255 : 名無しさん@お腹 - 2020/09/02(水) 12:09:56.65 .net (+96,+29,-24)
    は?関数とサブルーチンが同じとかニワカもいいところだな
    やれやれ
    256 : 名無しさん@お腹 - 2020/09/02(水) 12:30:39.88 .net (+52,+29,-1)
    シメられて締めって頑張るのうw
    257 : 名無しさん@お腹 - 2020/09/02(水) 12:36:51.70 .net (+57,+29,-5)
    分かってない爺がマウント取りたくて必死なのだ。
    258 : 名無しさん@お腹 - 2020/09/02(水) 13:04:47.35 .net (+73,+29,-78)
    終わらせようってのになんで続けたがるのか
    はっきり言えるのは
    >>254
    >だから(Lispの)関数やスペシャルフォームはサブルーチンとして実装された
    に対して
    >>255
    >は?関数とサブルーチンが同じとかニワカもいいところだな
    という返しは意味を理解できなかったということ

    「愚かな厚顔無恥」に昇格だな
    259 : 名無しさん@お腹 - 2020/09/02(水) 18:06:32.18 .net (+3,-30,-77)
    え、おわらないみたいだから、おいらも昔話(ぽいの)。
    LISP 1.5 Programmer's Manual(アマゾンでかえるよ)でもうspecial formってでてくるのね。んでfunctionじゃないぜ、と。でもformとのちがいはなんやねんてのはかいてなくて(たぶんみつけられなかっただけ)、appendixのfunctionsのリストにはquoteとかのってる。
    260 : 名無しさん@お腹 - 2020/09/02(水) 18:24:42.05 .net (+3,-29,-95)
    「関数をサブルーチンとして実装した」という記述を
    「関数はサブルーチンだ」という主張だと読んだ愚者って話だろ
    Emacs Lisp の primitive も symbol-function すりゃ #<subr >が返るし
    これで終わっとけば Emacs Lisp との整合性も保ったままだったよな
    なんでまた整合性が無くなりそうなEmacsに関係ない話を持ち出すかな
    もう終わりでいいよ
    261 : 名無しさん@お腹 - 2020/09/03(木) 21:42:39.64 .net (+27,-30,+0)
    dired-do-shell-commandでshellコマンドのfor i in *; do $command ; doneをよくやる。
     *はdiredでマークしたファイル
     $commandはミニバッファで入力するコマンド
     *の代わりに?を使わないのは?をスペースで囲まなければならず?/file1などができないから。

    んでこれをいちいち入力するのが面倒くさくて↓みたいなマクロ組んだけど、
    (local-set-key (kbd "C-!") (kbd "!for SPC i SPC in SPC * SPC ; SPC do SPC SPC done M-b C-b"))

    実行するとミニバッファ入力ができず終了してしまう。
    C-x ESC ESCでなにが起きたか確認すると↓のようにやはりミニバッファ入力が即座に終わっていただけなのが確認できた。
    (dired-do-shell-command "for i in * ; do done" nil (quote ("for i in * ; do done")))

    ミニバッファ入力を終了させないでおきたいけど方法が見つからない。
    私がelispのフロー制御を分かってないのが悪いんですけどね。
    どなたかヒントだけでも教えてもらえませんか?
    262 : 名無しさん@お腹 - 2020/09/04(金) 07:46:36.58 .net (+4,-30,-47)
    >>261
    自力救済できたわ・・
    (local-set-key (kbd "C-!")
      (kbd "!for SPC i SPC in SPC * SPC ; SPC do SPC \"$i\" SPC ; SPC done C-u 11 C-b C-u C-x q RET"))
    263 : 名無しさん@お腹 - 2020/09/04(金) 09:10:47.95 .net (+3,-30,-40)
    解決したなら良かったけど
    お手軽なのはキーボードマクロを試して、うまくいけば保存する方法
    (emacs)Basic Keyboard Macro
    (emacs)Save Keyboard Macro
    264 : 名無しさん@お腹 - 2020/09/04(金) 10:34:09.35 .net (+3,-30,-77)
    (emacs)Basic Keyboard Macro が Info のノードだとわかるだろうか

    M-: (info "(emacs)Basic Keyboard Macro") ENTER

    で見られるのはわかるだろうか
    Info の Emacs の Keyboard Macros の……と説明しなくて大丈夫だろうか
    と考えてしまう俺がいる
    265 : 名無しさん@お腹 - 2020/09/04(金) 15:50:54 .net (+9,-30,-305)
    丁寧に説明頂いてありがとうございます。
    M-x eval-expressionがM-:なのは便利ですね知らなかった。
    (emacs)Keyboard Macrosは一通り読みました。
    ほぼ知ってたことを確認できたのでいい収穫でした。

    ただ、(emacs)Executing Macros with Variationsのrecursive editがここまで柔軟にminibuffer利用マクロとかみ合うとは想像できなかった。
    白状すると読み飛ばしていたんですねえ()

    minibuffer入力中にmacro定義を終えてもマクロ実行直後にminibuffer入力中にならない、という仕様は本当に思いつかなかった。
    なんでしょうね?elisp追ったり調べたりしてもさっぱりでした。
    macro実行すべてに関わってそうなbuiltin functionのexecute-kbd-macroを見てもインタラクションに関する記述がない。
    ないからこそ非インタラクテイブなんでしょうかね。
    Cは追う気が起きなかった。
    このもやもやが将来にぶつかる壁になりませんように。
    266 : 名無しさん@お腹 - 2020/09/04(金) 16:27:12 .net (+4,-30,-58)
    >>265
    解決はしたけどecho areaが表示されなくて地味に・・・辛いです。
    *Shell Command Output*バッファを伴う量のstdoutがあればecho areaが使われないので問題ないのですが、
    for i in * ; do rm -v "$i"/810.txt ; done みたいな少量のstdoutしかない時がつらいってばよ。。。
    267 : 名無しさん@お腹 - 2020/09/04(金) 17:05:23.83 .net (-2,-30,-27)
    *Shell Command Output* はあるから自分で見る
    268 : 名無しさん@お腹 - 2020/09/04(金) 17:16:25.01 .net (-1,-29,-11)
    C-h lでecho area履歴を見れなくはないんですけどね、毎回履歴起こすとかそういう煩雑なのが許せないし葬りたい
    269 : 名無しさん@お腹 - 2020/09/04(金) 17:17:49.69 .net (-6,-29,-1)
    Ch lじゃなくてCh eだった
    270 : 名無しさん@お腹 - 2020/09/05(土) 00:21:15.83 .net (+3,-30,-276)
    だめだemacsにはecho areaを再表示するとかないんですねー
    elispハックでつくるれるけどなんか抵抗あるなあ
    つーわけでこんなワークアラウンドで自力救済
    (kbd)使うなってなwこまけえこたあいいんだよ

    (add-hook 'dired-after-readin-hook
    (lambda () (local-set-key (kbd "C-!")
    '(lambda () (interactive)
    (execute-kbd-macro (kbd "!for SPC i SPC in SPC * SPC ; SPC do SPC SPC \"$i\" SPC ; SPC done C-u 12 C-b C-u C-x q"))
    (switch-to-buffer "*Shell Command Output*" nil (quote force-same-window))))))
    (add-hook 'dired-after-readin-hook
    (lambda () (local-set-key (kbd "C-&")
    (kbd "&for SPC i SPC in SPC * SPC ; SPC do SPC SPC \"$i\" SPC ; SPC done C-u 12 C-b C-u C-x q"))))
    271 : 名無しさん@お腹 - 2020/09/05(土) 00:24:08.51 .net (-2,-30,-42)
    いい忘れたけどdired-do-async-shell-commandはswitch-to-bufferしなくても似たようなことやってくれるんですね
    だからそっちではやってない
    272 : 名無しさん@お腹 - 2020/09/05(土) 01:09:54.72 .net (+3,-30,-72)
    (display-buffer shell-command-buffer-name) されるのは出力が複数行の場合なので
    done のあとに ; echo を置くってのはどう

    "!for i in * ; do ; done; echo\C-u2\M-b\C-u3\C-b\C-u\C-xq"
    273 : 名無しさん@お腹 - 2020/09/05(土) 06:29:22.96 .net (+91,+26,-9)
    それな
    バッファが表示されるように出力行数を増やせばいいだけだろうに
    274 : 名無しさん@お腹 - 2020/09/05(土) 17:38:37.63 .net (+81,+29,-120)
    複数行かは(名前忘れたけど)例のvariable値に依存するからやめときますわ

    >>273よ、
    要件とproscons無視していいだけだろうなんて想像で解決した気分になられても何も得しないんだけどなんでそれでいいと思えたのかな?
    おまえからクソリプみたいに噛みついたんだからせめてこの質問には逃げずにちゃんと答えろよ
    まあおまえが誹謗中傷しかできないレス乞食とかになりたいとしても止める義理もねえけど
    275 : 名無しさん@お腹 - 2020/09/05(土) 21:30:35 .net (+52,+29,+0)
    彼なら巣に帰ったよ
    276 : 名無しさん@お腹 - 2020/09/05(土) 21:56:33 .net (+10,-30,-203)
    >>274
    お前の文章が異常で誤読させまくりなのは理解してるか
    例の variable 値って何だよ?
    どうせ >>261 でいう $command なんだろうが理解しがたい書き方ばかりでうんざりする
    #そもそも>>261 の冒頭からひどい。ミニバッファに入力するのは for 以下だろうに
    #入力するのは $command とか書いてある。理解させる気がないとしか思えん。

    いいか? 出力行数が多ければバッファ表示されるんだろ
    つまり出力行数を増やすだけでいいんだろ
    echo を必要なだけ追加して行数を増やすだけだな

    極端なことを言えばフレームに表示できる行数より長ければ
    出力バッファを表示するしかないのは理解できるか
    実際はデフォルトだとフレームの25%の行数が閾値だったと思うが大きければ構わん
    必要な個数の改行をシェルの出力に追加するだけで目的は達成できる
    多い分には構わんから個数の判定も不要

    で?
    277 : 名無しさん@お腹 - 2020/09/05(土) 22:23:34.48 .net (+63,+30,-98)
    生憎おまえみたいな狂犬にprosconsを丁寧に教えて議論してやるなんて一言も言っとらんよ。

    まず前提として、emacsなんて改造前提のソフトでは人の数だけconfigがある。
    ある改造があって、それにprosconsがあって、人によって採用不採用がある。
    それすらわからない故に「だけ」などと漏らした無礼モンがおまえ。

    結局質問への答えも出せなかったな。
    瑣末主義や誹謗中傷がお好きならどうぞご自由に。
    失望はせんがやっぱりそういう奴なのね。
    278 : 名無しさん@お腹 - 2020/09/05(土) 22:46:13.47 .net (+63,+30,-48)
    はいはい、自分は絶対な人なわけね
    一昨日質問してからずっと無視されてた理由を考えてみるといいよ
    昨日の3件のレスを後悔してる
    俺以外の最初のレスに賛同しただけでからんでくるようなタイプだったとはな
    世の中にはいろんな人がいるもんだ
    279 : 名無しさん@お腹 - 2020/09/05(土) 23:05:57.60 .net (+57,+29,-14)
    この人はなんで「だけ」を度重ねて誤用したがるの・・・
    280 : 名無しさん@お腹 - 2020/09/05(土) 23:32:53.45 .net (+57,+29,-19)
    誤用でなく実際「だけ」だからでは
    むしろ「質問者」が過敏過ぎてヤバい
    暴言ばかりで見るに耐えん
    281 : 名無しさん@お腹 - 2020/09/05(土) 23:45:56.08 .net (+36,+20,+0)
    どうでもいい
    282 : 名無しさん@お腹 - 2020/09/05(土) 23:51:22.96 .net (+52,+29,-4)
    嘘つきと喋る口を私は持っていない
    283 : 名無しさん@お腹 - 2020/09/05(土) 23:53:53.98 .net (+36,+20,+0)
    どうでもいい
    284 : 名無しさん@お腹 - 2020/09/06(日) 00:16:56.87 .net (+55,+29,-4)
    誰がどこででも自演できるからどうでもいいよ
    285 : 名無しさん@お腹 - 2020/09/06(日) 00:34:45.73 .net (+36,+20,+0)
    どうでもいい
    286 : 名無しさん@お腹 - 2020/09/06(日) 01:58:25.38 .net (+57,+29,+0)
    壊れたおもちゃみたいなおじさんが出てきた
    287 : 名無しさん@お腹 - 2020/09/06(日) 02:13:27.78 .net (+2,-25,-2)
    スペシャルフォームおじ -> Ahoo知恵遅れおじ -> 壊れたおもちゃおじ
    次のイベはなにするよ?
    288 : 名無しさん@お腹 - 2020/09/06(日) 08:35:47.14 .net (+57,+29,-21)
    スクリプトで埋め立てて恥曝しの記録をかき消すとかかな
    289 : 名無しさん@お腹 - 2020/09/06(日) 08:37:54.55 .net (+52,+29,-1)
    おい、嵐方教えるなって
    290 : 名無しさん@お腹 - 2020/09/06(日) 08:49:35.39 .net (+57,+29,-4)
    ごめんごめん
    でもどうせそんな勇気無いって
    291 : 名無しさん@お腹 - 2020/09/06(日) 09:50:11.05 .net (+26,+3,-27)
    次スレはワッチョイありでたてよう
    292 : 名無しさん@お腹 - 2020/09/06(日) 09:57:54.66 .net (+57,+29,-33)
    残念ながらこの板VIPQ設定されてないから無理だよ
    運営が過疎板にコストのかかる対策をしてくれる可能性も低いだろうね
    293 : 名無しさん@お腹 - 2020/09/06(日) 10:04:10.74 .net (+57,+29,-4)
    聞くかどうかに関係なくコマンドは入れてたてよう
    294 : 名無しさん@お腹 - 2020/09/06(日) 10:09:43.16 0.net (-1,-29,-35)
    それがいいね
    なお名前欄に「!slip:vvvvv」と書いて投稿すれば自分のレスにワッチョイ付ける事は可能みたい
    295 : 名無しさん@お腹 - 2020/09/06(日) 14:21:59.43 .net (+52,+29,-2)
    次スレまで1年はかかりそうですね...
    296 : 名無しさん@お腹 - 2020/09/06(日) 14:26:36.70 .net (+57,+29,-4)
    イベを盛り上げて消費するしかないのか
    297 : 名無しさん@お腹 - 2020/09/06(日) 14:48:38.39 .net (+49,+26,-17)
    ローカルルールで自主的に付ける?
    298 : 名無しさん@お腹 - 2020/09/06(日) 14:54:08.75 .net (+57,+29,-19)
    次ちゃんと立ててくれるならもうスクリプトで潰してくれた方がマシなんじゃ
    299 : 名無しさん@お腹 - 2020/09/06(日) 15:02:16.05 .net (+54,+26,-32)
    次スレでコマンドが効く保証はないし結局ローカルルールでしょ
    300 : 名無しさん@お腹 - 2020/09/06(日) 15:25:56.60 .net (+52,+29,-6)
    定着するまで俺らが自治すればいい
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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