私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレEmacs Part 43
emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
emacs lispの質問です
特定の関数内で呼び出す関数の返り値を外部から変えることはできますか?
(defun foo (x) (print x))
(defun bar1 () (foo "a"))
(defun bar2 () (foo "b"))
defadviceでfoo関数そのものを自由にいじれるのは分かったのですが
このうちbar1で呼び出すfoo関数の返り値だけを変えるようにして
bar2で呼び出すfoo関数はそのままにしておきたいです
特定の関数内で呼び出す関数の返り値を外部から変えることはできますか?
(defun foo (x) (print x))
(defun bar1 () (foo "a"))
(defun bar2 () (foo "b"))
defadviceでfoo関数そのものを自由にいじれるのは分かったのですが
このうちbar1で呼び出すfoo関数の返り値だけを変えるようにして
bar2で呼び出すfoo関数はそのままにしておきたいです
>>202
もっとエレガントにできないものか。
(defadvice foo (after hoge disable)
(setf ad-return-value "c"))
(defadvice bar1 (around fuga activate)
(ad-enable-advice #'foo 'after 'hoge)
(ad-activate #'foo)
ad-do-it
(ad-disable-advice #'foo 'after 'hoge)
(ad-activate #'foo))
もっとエレガントにできないものか。
(defadvice foo (after hoge disable)
(setf ad-return-value "c"))
(defadvice bar1 (around fuga activate)
(ad-enable-advice #'foo 'after 'hoge)
(ad-activate #'foo)
ad-do-it
(ad-disable-advice #'foo 'after 'hoge)
(ad-activate #'foo))
>>202
(backtrace) みるとかどうよ。
(backtrace) みるとかどうよ。
defadvice自体がエレガントかどうかっていう議論もあるような気がする
ちゃんと他人のプログラムのことを考えたうえでのものならいいんだけどね
ちゃんと他人のプログラムのことを考えたうえでのものならいいんだけどね
emacsのカレンダーをA4のミスコピー用紙の裏紙に印刷して
半分におって綴じるとシステム手帳に代わりになる
みたいなブログを以前に見た記憶あるのですが
半分におって綴じる
の部分は普通にクリップで挟むだけなのでしょうか?
何かシステム手帳みたいな物はないのでしょうか
半分におって綴じるとシステム手帳に代わりになる
みたいなブログを以前に見た記憶あるのですが
半分におって綴じる
の部分は普通にクリップで挟むだけなのでしょうか?
何かシステム手帳みたいな物はないのでしょうか
>>207
ホッチキスでとめると便利だよ。
ホッチキスでとめると便利だよ。
>>206
馬鹿か?adviceの話なんだから設計具合など関係ない。
馬鹿か?adviceの話なんだから設計具合など関係ない。
defadviceじゃなくてfletとかlabelsを使えば?
他人のelispの中での関数呼び出しの挙動を少しだけ変えるときはそうしてることが多い。
他人のelispの中での関数呼び出しの挙動を少しだけ変えるときはそうしてることが多い。
そのコメントを見て気になっていたのですが、obsolete macro と指摘されていたlabelsとfletについてお尋ねします
`labels' is an obsolete macro (as of 24.3); use `cl-labels' instead.
`flet' is an obsolete macro (as of 24.3); use either `cl-flet' or `cl-letf'.
このようなエラーメッセージが出るようになったので
labelsをcl-labelsにdefmacroしたいのですが
defaliasのようなもので設定すればよいのでしょうか
`labels' is an obsolete macro (as of 24.3); use `cl-labels' instead.
`flet' is an obsolete macro (as of 24.3); use either `cl-flet' or `cl-letf'.
このようなエラーメッセージが出るようになったので
labelsをcl-labelsにdefmacroしたいのですが
defaliasのようなもので設定すればよいのでしょうか
>>213
まずは自分で試してみるべし
ただ、obsolete認定されたんなら cl-flet を使う方向で考えたほうが前向きなような気がする
下位互換を考えるならば、 cl-flet がない環境では cl-flet を defalias してあげればいいと思う
他人のコードならそのうち対応するだろうから、気にしない
まずは自分で試してみるべし
ただ、obsolete認定されたんなら cl-flet を使う方向で考えたほうが前向きなような気がする
下位互換を考えるならば、 cl-flet がない環境では cl-flet を defalias してあげればいいと思う
他人のコードならそのうち対応するだろうから、気にしない
fletはダイナミックスコープだったけどcl-fletはレキシカルなんだよなー
flet相当のことはcl-letfで一応できるけどちょっと冗長になる
(cl-letf (((symbol-function 'foo) (lambda () ...))) ...)
flet相当のことはcl-letfで一応できるけどちょっと冗長になる
(cl-letf (((symbol-function 'foo) (lambda () ...))) ...)
へー、レキシカルになったのか。
個人的には少しの手間でダイナミックスコープ特有のバグが減らせるなら喜ばしい。
個人的には少しの手間でダイナミックスコープ特有のバグが減らせるなら喜ばしい。
次が何番でもいいんですけど、
(setq scroll-conservatively 99999) とかでやってる 1行スクロールが時々飛ぶ現象が、いい加減直ってくれたらいいなと思いますです。
2009年ごろには認知されてるのに…。
(setq scroll-conservatively 99999) とかでやってる 1行スクロールが時々飛ぶ現象が、いい加減直ってくれたらいいなと思いますです。
2009年ごろには認知されてるのに…。
>>220
まじですか。24.2.1では相変わらずときどき飛びますです。
(setq scroll-conservatively most-positive-fixnum) で若干マシにはなりますけど
まじですか。24.2.1では相変わらずときどき飛びますです。
(setq scroll-conservatively most-positive-fixnum) で若干マシにはなりますけど
Emacs上でXサーバ、VNC、RDPクライアントっぽい事が出来るスクリプトとか無いでしょうか?
Emacs内にX等の窓をだすっていうんだったら多分ない。
Webkitを取り込んだバージョンのなんかだとその内出来るかもしれんけど。
Webkitを取り込んだバージョンのなんかだとその内出来るかもしれんけど。
NEWSを調べたところ24.3からだね。↓こんな感じ
*** If you customize `scroll-conservatively' to a value greater than 100,
Emacs will never recenter point in the window when it scrolls due to
cursor motion commands or commands that move point (e.f., `M-g M-g').
Previously, you needed to use `most-positive-fixnum' as the value of
`scroll-conservatively' to achieve the same effect.
*** If you customize `scroll-conservatively' to a value greater than 100,
Emacs will never recenter point in the window when it scrolls due to
cursor motion commands or commands that move point (e.f., `M-g M-g').
Previously, you needed to use `most-positive-fixnum' as the value of
`scroll-conservatively' to achieve the same effect.
>>225
わざわざ調べてくれてありが㌧
飛ぶときに recenter が働いていたというのがちょっと疑問な気がします。
ひょっとすると似て非なる現象なのかもしれないです。
あまり頻繁ではないので、引き続き我慢しますです。
わざわざ調べてくれてありが㌧
飛ぶときに recenter が働いていたというのがちょっと疑問な気がします。
ひょっとすると似て非なる現象なのかもしれないです。
あまり頻繁ではないので、引き続き我慢しますです。
先端だと
(setq scroll-conservatively most-positive-fixnum)
すると飛ばないような気がするなあ。
(setq scroll-conservatively most-positive-fixnum)
すると飛ばないような気がするなあ。
most-positive-fixnum を使えば飛ぶ頻度は格段に(ときどき→まれに)減るのですが、油断していると飛びますw
emacs -q 環境では飛んだことがないので、かなり環境に依存するのではないかと。
フォントが小さい場合や、toggle-truncate-lines で折り返しなしにしたときに起きやすいような気が…
emacs -q 環境では飛んだことがないので、かなり環境に依存するのではないかと。
フォントが小さい場合や、toggle-truncate-lines で折り返しなしにしたときに起きやすいような気が…
環境依存ってか最近はメジャーモード自体がいろいろ凝ったことをやるし
たいていはマイナーモードもてんこ盛りだから
もう fundamental-mode でもない限りそもそもレベルで重いわな
そんなことより vi/emacs 使うなら
5行5文字以上の移動にキー押しっぱなししてるうちはニワカ
という教えも思い出してやってください
たいていはマイナーモードもてんこ盛りだから
もう fundamental-mode でもない限りそもそもレベルで重いわな
そんなことより vi/emacs 使うなら
5行5文字以上の移動にキー押しっぱなししてるうちはニワカ
という教えも思い出してやってください
>223
そうですか。 XserverさえアレばEmacsだけ入った*Nixとか
Emacs詰め合わせを持ち込んですぐに自分の環境を整備、、、
とか期待したんですが、、、 どうもありがとうございました。
aalibだけを使ったXserverが有るらしので、Emacsと合わせて
どうやれば最小構成でポータブルに持っていけるのか、、、
難しいかな
そうですか。 XserverさえアレばEmacsだけ入った*Nixとか
Emacs詰め合わせを持ち込んですぐに自分の環境を整備、、、
とか期待したんですが、、、 どうもありがとうございました。
aalibだけを使ったXserverが有るらしので、Emacsと合わせて
どうやれば最小構成でポータブルに持っていけるのか、、、
難しいかな
>>229
そうは言っても、スクロールくらいは普通のエディタっぽい動きをしてほしい
そうは言っても、スクロールくらいは普通のエディタっぽい動きをしてほしい
編集するときや読みたい場所わかってるときはぴょんぴょん飛ぶのもいいけど
全文読む時なんかは普通にスクロールしてほしいよね
全文読む時なんかは普通にスクロールしてほしいよね
俺もみんながどうやって移動してるか知りたい
今のところhelm-c-moccurとfoward-wordと連打が多い
あとはsmartparens.elの移動も使い始めた
今気になってるのはpophintとvim のfっぽい挙動
これは便利っていうのあったら教えてください
今のところhelm-c-moccurとfoward-wordと連打が多い
あとはsmartparens.elの移動も使い始めた
今気になってるのはpophintとvim のfっぽい挙動
これは便利っていうのあったら教えてください
>>237
直すかどうかわからんが、もっと効率がいい方法がわかりゃ検討するさ
直すかどうかわからんが、もっと効率がいい方法がわかりゃ検討するさ
この話題になると明確な答えが出ることはない
それは本当に上手い話は独り占めが基本だからだ!
それは本当に上手い話は独り占めが基本だからだ!
コードレビューの時は操作が飛びすぎるとレビュアーの理解が追いつかないから、GUIの統合開発環境でわかりやすく飛んでる
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- Emacs Part 40 (1001) - [92%] - 2012/9/7 0:30
- Emacs Part 47 (995) - [92%] - 2015/4/19 13:01
- Emacs Part 42 (1001) - [92%] - 2013/6/9 5:15 △
- Emacs Part 44 (1001) - [92%] - 2014/2/8 8:01 △
- Emacs Part 53 (989) - [92%] - 2022/12/5 12:45
- Emacs Part 46 (984) - [92%] - 2014/12/24 14:15
- Emacs Part 45 (1001) - [92%] - 2014/6/23 9:45
- Emacs Part 48 (997) - [92%] - 2015/12/9 15:15
- Emacs Part 49 (974) - [92%] - 2016/12/7 9:45
- Emacs Part 33 (1001) - [92%] - 2010/3/9 20:01 ○
- Emacs Part 41 (1001) - [92%] - 2012/12/24 4:15
- Emacs Part 32 (1001) - [84%] - 2009/12/20 2:04 ○
- Emacs Part 31 (1001) - [84%] - 2009/10/23 10:31 ○
- Emacs part 23 (1001) - [84%] - 2008/2/8 0:04 ☆
トップメニューへ / →のくす牧場書庫について