私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレEmacs Part 52
emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>>250
やさしい
やさしい
この話の締めに昔話などを
以前 RAM という雑誌があって Lisp の解説連載があってな
ある号に Lisp インタプリタのソースが全部掲載された
記述言語はインテルの8080のアセンブラ
8080のアセンブラには関数なんて気の利いたものはなかった
だから(Lispの)関数やスペシャルフォームはサブルーチンとして実装された
インタプリタ起動後に desubr かなにかでシンボルにアドレスを対応させた気がする
当時は雑誌に掲載されたプログラムを手入力して実行したものじゃった
40年ほど前の話かの
以前 RAM という雑誌があって Lisp の解説連載があってな
ある号に Lisp インタプリタのソースが全部掲載された
記述言語はインテルの8080のアセンブラ
8080のアセンブラには関数なんて気の利いたものはなかった
だから(Lispの)関数やスペシャルフォームはサブルーチンとして実装された
インタプリタ起動後に desubr かなにかでシンボルにアドレスを対応させた気がする
当時は雑誌に掲載されたプログラムを手入力して実行したものじゃった
40年ほど前の話かの
え、おわらないみたいだから、おいらも昔話(ぽいの)。
LISP 1.5 Programmer's Manual(アマゾンでかえるよ)でもうspecial formってでてくるのね。んでfunctionじゃないぜ、と。でもformとのちがいはなんやねんてのはかいてなくて(たぶんみつけられなかっただけ)、appendixのfunctionsのリストにはquoteとかのってる。
LISP 1.5 Programmer's Manual(アマゾンでかえるよ)でもうspecial formってでてくるのね。んでfunctionじゃないぜ、と。でもformとのちがいはなんやねんてのはかいてなくて(たぶんみつけられなかっただけ)、appendixのfunctionsのリストにはquoteとかのってる。
「関数をサブルーチンとして実装した」という記述を
「関数はサブルーチンだ」という主張だと読んだ愚者って話だろ
Emacs Lisp の primitive も symbol-function すりゃ #<subr >が返るし
これで終わっとけば Emacs Lisp との整合性も保ったままだったよな
なんでまた整合性が無くなりそうなEmacsに関係ない話を持ち出すかな
もう終わりでいいよ
「関数はサブルーチンだ」という主張だと読んだ愚者って話だろ
Emacs Lisp の primitive も symbol-function すりゃ #<subr >が返るし
これで終わっとけば Emacs Lisp との整合性も保ったままだったよな
なんでまた整合性が無くなりそうなEmacsに関係ない話を持ち出すかな
もう終わりでいいよ
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のフロー制御を分かってないのが悪いんですけどね。
どなたかヒントだけでも教えてもらえませんか?
*は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のフロー制御を分かってないのが悪いんですけどね。
どなたかヒントだけでも教えてもらえませんか?
>>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"))
自力救済できたわ・・
(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"))
解決したなら良かったけど
お手軽なのはキーボードマクロを試して、うまくいけば保存する方法
(emacs)Basic Keyboard Macro
(emacs)Save Keyboard Macro
お手軽なのはキーボードマクロを試して、うまくいけば保存する方法
(emacs)Basic Keyboard Macro
(emacs)Save Keyboard Macro
(emacs)Basic Keyboard Macro が Info のノードだとわかるだろうか
M-: (info "(emacs)Basic Keyboard Macro") ENTER
で見られるのはわかるだろうか
Info の Emacs の Keyboard Macros の……と説明しなくて大丈夫だろうか
と考えてしまう俺がいる
M-: (info "(emacs)Basic Keyboard Macro") ENTER
で見られるのはわかるだろうか
Info の Emacs の Keyboard Macros の……と説明しなくて大丈夫だろうか
と考えてしまう俺がいる
丁寧に説明頂いてありがとうございます。
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は追う気が起きなかった。
このもやもやが将来にぶつかる壁になりませんように。
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は追う気が起きなかった。
このもやもやが将来にぶつかる壁になりませんように。
>>265
解決はしたけどecho areaが表示されなくて地味に・・・辛いです。
*Shell Command Output*バッファを伴う量のstdoutがあればecho areaが使われないので問題ないのですが、
for i in * ; do rm -v "$i"/810.txt ; done みたいな少量のstdoutしかない時がつらいってばよ。。。
解決はしたけどecho areaが表示されなくて地味に・・・辛いです。
*Shell Command Output*バッファを伴う量のstdoutがあればecho areaが使われないので問題ないのですが、
for i in * ; do rm -v "$i"/810.txt ; done みたいな少量のstdoutしかない時がつらいってばよ。。。
C-h lでecho area履歴を見れなくはないんですけどね、毎回履歴起こすとかそういう煩雑なのが許せないし葬りたい
だめだ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"))))
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"))))
いい忘れたけどdired-do-async-shell-commandはswitch-to-bufferしなくても似たようなことやってくれるんですね
だからそっちではやってない
だからそっちではやってない
(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"
done のあとに ; echo を置くってのはどう
"!for i in * ; do ; done; echo\C-u2\M-b\C-u3\C-b\C-u\C-xq"
複数行かは(名前忘れたけど)例のvariable値に依存するからやめときますわ
>>273よ、
要件とproscons無視していいだけだろうなんて想像で解決した気分になられても何も得しないんだけどなんでそれでいいと思えたのかな?
おまえからクソリプみたいに噛みついたんだからせめてこの質問には逃げずにちゃんと答えろよ
まあおまえが誹謗中傷しかできないレス乞食とかになりたいとしても止める義理もねえけど
>>273よ、
要件とproscons無視していいだけだろうなんて想像で解決した気分になられても何も得しないんだけどなんでそれでいいと思えたのかな?
おまえからクソリプみたいに噛みついたんだからせめてこの質問には逃げずにちゃんと答えろよ
まあおまえが誹謗中傷しかできないレス乞食とかになりたいとしても止める義理もねえけど
>>274
お前の文章が異常で誤読させまくりなのは理解してるか
例の variable 値って何だよ?
どうせ >>261 でいう $command なんだろうが理解しがたい書き方ばかりでうんざりする
#そもそも>>261 の冒頭からひどい。ミニバッファに入力するのは for 以下だろうに
#入力するのは $command とか書いてある。理解させる気がないとしか思えん。
いいか? 出力行数が多ければバッファ表示されるんだろ
つまり出力行数を増やすだけでいいんだろ
echo を必要なだけ追加して行数を増やすだけだな
極端なことを言えばフレームに表示できる行数より長ければ
出力バッファを表示するしかないのは理解できるか
実際はデフォルトだとフレームの25%の行数が閾値だったと思うが大きければ構わん
必要な個数の改行をシェルの出力に追加するだけで目的は達成できる
多い分には構わんから個数の判定も不要
で?
お前の文章が異常で誤読させまくりなのは理解してるか
例の variable 値って何だよ?
どうせ >>261 でいう $command なんだろうが理解しがたい書き方ばかりでうんざりする
#そもそも>>261 の冒頭からひどい。ミニバッファに入力するのは for 以下だろうに
#入力するのは $command とか書いてある。理解させる気がないとしか思えん。
いいか? 出力行数が多ければバッファ表示されるんだろ
つまり出力行数を増やすだけでいいんだろ
echo を必要なだけ追加して行数を増やすだけだな
極端なことを言えばフレームに表示できる行数より長ければ
出力バッファを表示するしかないのは理解できるか
実際はデフォルトだとフレームの25%の行数が閾値だったと思うが大きければ構わん
必要な個数の改行をシェルの出力に追加するだけで目的は達成できる
多い分には構わんから個数の判定も不要
で?
生憎おまえみたいな狂犬にprosconsを丁寧に教えて議論してやるなんて一言も言っとらんよ。
まず前提として、emacsなんて改造前提のソフトでは人の数だけconfigがある。
ある改造があって、それにprosconsがあって、人によって採用不採用がある。
それすらわからない故に「だけ」などと漏らした無礼モンがおまえ。
結局質問への答えも出せなかったな。
瑣末主義や誹謗中傷がお好きならどうぞご自由に。
失望はせんがやっぱりそういう奴なのね。
まず前提として、emacsなんて改造前提のソフトでは人の数だけconfigがある。
ある改造があって、それにprosconsがあって、人によって採用不採用がある。
それすらわからない故に「だけ」などと漏らした無礼モンがおまえ。
結局質問への答えも出せなかったな。
瑣末主義や誹謗中傷がお好きならどうぞご自由に。
失望はせんがやっぱりそういう奴なのね。
はいはい、自分は絶対な人なわけね
一昨日質問してからずっと無視されてた理由を考えてみるといいよ
昨日の3件のレスを後悔してる
俺以外の最初のレスに賛同しただけでからんでくるようなタイプだったとはな
世の中にはいろんな人がいるもんだ
一昨日質問してからずっと無視されてた理由を考えてみるといいよ
昨日の3件のレスを後悔してる
俺以外の最初のレスに賛同しただけでからんでくるようなタイプだったとはな
世の中にはいろんな人がいるもんだ
誤用でなく実際「だけ」だからでは
むしろ「質問者」が過敏過ぎてヤバい
暴言ばかりで見るに耐えん
むしろ「質問者」が過敏過ぎてヤバい
暴言ばかりで見るに耐えん
スペシャルフォームおじ -> Ahoo知恵遅れおじ -> 壊れたおもちゃおじ
次のイベはなにするよ?
次のイベはなにするよ?
残念ながらこの板VIPQ設定されてないから無理だよ
運営が過疎板にコストのかかる対策をしてくれる可能性も低いだろうね
運営が過疎板にコストのかかる対策をしてくれる可能性も低いだろうね
それがいいね
なお名前欄に「!slip:vvvvv」と書いて投稿すれば自分のレスにワッチョイ付ける事は可能みたい
なお名前欄に「!slip:vvvvv」と書いて投稿すれば自分のレスにワッチョイ付ける事は可能みたい
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- Emacs Part 54 (97) - [92%] - 2023/1/25 17:15
- Emacs Part 51 (1005) - [92%] - 2020/3/26 18:30
- Emacs Part 50 (978) - [92%] - 2017/12/29 18:45
- Emacs Part 32 (1001) - [92%] - 2009/12/20 2:04 ○
- Emacs Part 42 (1001) - [92%] - 2013/6/9 5:15 △
- Emacs Part 53 (989) - [92%] - 2022/12/5 12:45
- Emacs Part 41 (1001) - [84%] - 2012/12/24 4:15
- Emacs part 22 (1001) - [84%] - 2008/1/18 7:47 ○
- Emacs Part 31 (1001) - [84%] - 2009/10/23 10:31 ○
- Emacs Part 33 (1001) - [84%] - 2010/3/9 20:01 ○
- Emacs Part 34 (1001) - [84%] - 2010/6/21 19:45 ○
- Emacs Part 35 (1001) - [84%] - 2010/9/19 17:01
- Emacs Part 36 (1001) - [84%] - 2011/3/1 5:02
- Emacs Part 37 (1001) - [84%] - 2011/6/20 19:47
トップメニューへ / →のくす牧場書庫について