Emacs Part 44
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2013/12/14(土) 17:36:04.45GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/
EmacsWiki: サイトマップ
http://www.emacswiki.org/emacs/
前スレ
Emacs Part 43
http://toro.2ch.net/test/read.cgi/unix/1370754332/
0260名無しさん@お腹いっぱい。
2014/01/15(水) 01:25:37.09状態チェック入るなら展開時に評価はまずいんじゃないでしょうか。
pcase のところまで含めて実行時評価になるようにしないといけないかと。
0261250
2014/01/15(水) 02:59:03.92はい! そういうことです. ありがとうございます.
>>259
一から書き直してみました.
funcallの後ろを ',(if ...) としないといけないのはわからなくはないけど納得いかない.
(defsubst keu:advice-enabled-p (func class name)
(ad-advice-enabled (ad-find-advice func class name)))
(defmacro keu:with-advice (on-or-off func class name &rest body)
"[internal] Evaluate BODY with NAME enabled/disabled."
(let ((onoff
(pcase on-or-off
(`'on t)
(`'off nil)
(_ (error "the first argument must be the symol 'on or 'off")))))
`(let ((enabled (not (not (keu:advice-enabled-p ,func ,class ,name)))))
(if (eq ,onoff enabled)
(progn ,@body)
(prog2 ; return value is that of BODY
(progn
(funcall ',(if onoff 'ad-enable-advice 'ad-disable-advice) ,func ,class ,name)
(ad-activate ,func))
(progn ,@body)
(progn
(funcall ',(if (not onoff) 'ad-enable-advice 'ad-disable-advice) ,func ,class ,name)
(ad-activate ,func)))))))
0262名無しさん@お腹いっぱい。
2014/01/15(水) 04:05:06.60> funcallの後ろを ',(if ...) としないといけないのはわからなくはないけど納得いかない.
funcall 使わなければいいのでは?
0263名無しさん@お腹いっぱい。
2014/01/15(水) 09:31:47.01re-builder みたいに書いてるはしから macroexpand-all した結果を表示し続けるやつが欲しいわ・・・
0264名無しさん@お腹いっぱい。
2014/01/15(水) 09:39:36.07onoff その他を引数にとって enable と disable と activate までやってくれる toggle みたいなの書いちゃえば
progn 減ってすごく見やすくなりそうだな
0265名無しさん@お腹いっぱい。
2014/01/15(水) 10:07:46.310266名無しさん@お腹いっぱい。
2014/01/15(水) 20:04:03.590267名無しさん@お腹いっぱい。
2014/01/16(木) 17:20:20.61(少なくともあそこら辺界隈での) emacs の息切れ感が伝わってきて切なくなるな
0268名無しさん@お腹いっぱい。
2014/01/16(木) 18:01:53.840269名無しさん@お腹いっぱい。
2014/01/16(木) 18:29:43.310270名無しさん@お腹いっぱい。
2014/01/16(木) 18:40:25.830271名無しさん@お腹いっぱい。
2014/01/16(木) 18:49:00.730272名無しさん@お腹いっぱい。
2014/01/16(木) 19:30:37.120273名無しさん@お腹いっぱい。
2014/01/16(木) 19:36:16.72型落ち ThinkPad とメイドカフェで C が最高にクールというのが
Emacser の価値観だからねえ。
0274名無しさん@お腹いっぱい。
2014/01/16(木) 19:45:46.240275名無しさん@お腹いっぱい。
2014/01/16(木) 19:50:46.22"p"だと、コマンドを実行するときに指定した前置引数の値が関数の引数になる。
0276名無しさん@お腹いっぱい。
2014/01/16(木) 19:57:05.49Web 界隈だと vim 使ってる人がクールってイメージなんじゃないだろうか。
自分の狭い観測範囲だとそんな感じを受ける。
0277名無しさん@お腹いっぱい。
2014/01/16(木) 20:01:36.290278名無しさん@お腹いっぱい。
2014/01/16(木) 20:06:17.51なるほどそういうことですか
勉強になりました
0279名無しさん@お腹いっぱい。
2014/01/16(木) 20:10:13.80で書いてたら、隣の女の子にじーーーーっと見られて非常にやりづらかった
0280名無しさん@お腹いっぱい。
2014/01/16(木) 20:12:50.32・Emacs が珍しかった
・黒背景ワロス
・イケメンだった
・ブサメンすぎた
・Mac Book(笑)
・別にお前を見ていたわけではない
0281名無しさん@お腹いっぱい。
2014/01/16(木) 20:14:28.570282名無しさん@お腹いっぱい。
2014/01/16(木) 20:34:23.61・実はスパイだった
0283名無しさん@お腹いっぱい。
2014/01/16(木) 20:39:55.260284名無しさん@お腹いっぱい。
2014/01/16(木) 21:06:50.380285名無しさん@お腹いっぱい。
2014/01/16(木) 21:13:22.520286名無しさん@お腹いっぱい。
2014/01/16(木) 21:28:46.61じわじわくるな。
0287名無しさん@お腹いっぱい。
2014/01/16(木) 21:47:50.190288名無しさん@お腹いっぱい。
2014/01/16(木) 21:48:25.45優勝
0289名無しさん@お腹いっぱい。
2014/01/16(木) 21:54:24.100290名無しさん@お腹いっぱい。
2014/01/16(木) 22:07:56.760291名無しさん@お腹いっぱい。
2014/01/16(木) 22:08:12.200292名無しさん@お腹いっぱい。
2014/01/16(木) 22:09:22.680293名無しさん@お腹いっぱい。
2014/01/16(木) 22:12:59.80ぶっちゃけ PC なんかよりスマホで動くかどうかだな
0294名無しさん@お腹いっぱい。
2014/01/16(木) 22:14:42.02「強い」って表現した時点で、たおやかな女子の魅力が損なわれるだろ?
その自己矛盾に陥ってしまうことを防ぐのが目的の一つ。
あと、「力が高い」という、ユルいけど嫌味にならない程度の
頭の悪さを匂わすフレーズを敢えて使うことで、
さらに女子としての魅力を演出している。
それはさておき、emacs 使ってたらとりあえずモテるよね。
0295名無しさん@お腹いっぱい。
2014/01/16(木) 22:15:53.280296名無しさん@お腹いっぱい。
2014/01/16(木) 22:21:25.46能力が高いって言うだろ
つうかそれ位すぐ分かれよ
0297名無しさん@お腹いっぱい。
2014/01/16(木) 22:25:56.330298名無しさん@お腹いっぱい。
2014/01/16(木) 22:30:50.600299名無しさん@お腹いっぱい。
2014/01/16(木) 22:34:02.790300名無しさん@お腹いっぱい。
2014/01/16(木) 22:49:43.970301名無しさん@お腹いっぱい。
2014/01/16(木) 22:58:54.08https://github.com/skeeto/skewer-mode
知らん人は↑ここからリンクしているムービーを見るべし
俺的に久々にヒットだわ
0302名無しさん@お腹いっぱい。
2014/01/16(木) 23:04:55.94js2-modeとskewer-modeがいっぺんに入る
auto-completeは自動で入らないけど入れた方がいいね
0303名無しさん@お腹いっぱい。
2014/01/16(木) 23:16:01.80昔からブラウザ <-> Emacs 間で js や html/css 等は操作できてた
FireFox だったら Mozrepl があったし、よく使われてただろ (Chrome のお陰でもう死んでるけど)
ただ、なぜにこの skewer ってものは js2-mode を必須としているんだ?
0304名無しさん@お腹いっぱい。
2014/01/16(木) 23:40:44.46事実上モダンな js 用のモードは js2 しかない状況だから致し方ない気もするが。
0305名無しさん@お腹いっぱい。
2014/01/16(木) 23:45:14.12そのサイトに書いてあったけど、時前でhttpサーバを持ってるのと
ブラウザに依存しないのが利点かね
js2-modeが必須なのは分からんが、js2-mode自体JavaScript編集には必須だとは思う
0306名無しさん@お腹いっぱい。
2014/01/17(金) 00:55:05.060307名無しさん@お腹いっぱい。
2014/01/17(金) 00:58:12.85って普通に書いてあるじゃん
0308名無しさん@お腹いっぱい。
2014/01/17(金) 01:56:43.56chimeric って形容詞自体、ここでは意味が通じない又は曖昧すぎて意味を無さない。
個人的に、もうその時点で「絶対使いたくない elisp」の仲間入りだわ。
0309名無しさん@お腹いっぱい。
2014/01/17(金) 03:09:34.65もし前にchimericがなかったら of js-mode and js2-mode まで読んだところで
2つのモードのforkってどういうことさ?ってちょっと疑問符が浮かんでしまいそうなもんだから役目は果たしてると思うけどな
ダサイかどうかは判断つきかねるが
0310名無しさん@お腹いっぱい。
2014/01/17(金) 09:53:34.740311名無しさん@お腹いっぱい。
2014/01/17(金) 13:09:25.370312名無しさん@お腹いっぱい。
2014/01/17(金) 13:24:55.58しかしプロダクト名にバージョンっぽいのがくっついてるのは気持ち悪いな。js2 からして。
0313名無しさん@お腹いっぱい。
2014/01/17(金) 21:09:42.790314名無しさん@お腹いっぱい。
2014/01/17(金) 21:18:31.940315名無しさん@お腹いっぱい。
2014/01/17(金) 21:52:29.090316名無しさん@お腹いっぱい。
2014/01/17(金) 21:55:58.430317名無しさん@お腹いっぱい。
2014/01/18(土) 00:32:39.860318名無しさん@お腹いっぱい。
2014/01/18(土) 01:27:12.24バージョンが上がっても機能は衰えるのか。
0319名無しさん@お腹いっぱい。
2014/01/18(土) 02:06:30.770320名無しさん@お腹いっぱい。
2014/01/18(土) 11:49:37.840321名無しさん@お腹いっぱい。
2014/01/18(土) 14:54:06.44(split-string "123[test]456" "\\[")
;; => ("123" "test]456")
(split-string "123[test]456" "\\]")
;; => ("123[test" "456")
(split-string "123[test]456" "[\\[\\]]")
;; ("123[test]456")
最後の例で ("123" "test" "456") を得たいのですが
"[\\[\\]]"をどのように修正すればよいですか?
0322名無しさん@お腹いっぱい。
2014/01/18(土) 14:58:31.820323名無しさん@お腹いっぱい。
2014/01/18(土) 15:02:57.060324名無しさん@お腹いっぱい。
2014/01/18(土) 15:48:11.23ありがとうございます。どちらも思ったとおりの動きです
0325名無しさん@お腹いっぱい。
2014/01/19(日) 00:51:50.970326名無しさん@お腹いっぱい。
2014/01/19(日) 09:06:09.830327名無しさん@お腹いっぱい。
2014/01/19(日) 13:12:34.140328名無しさん@お腹いっぱい。
2014/01/19(日) 14:14:18.790329名無しさん@お腹いっぱい。
2014/01/19(日) 14:41:36.24mapcはemacsがネイティブに用意してる関数
dolistはCommon Lisp互換マクロで本来は(require 'cl)しないと使えない
でも今時は誰かが(require 'cl)してるので何もしなくても使えてしまう
Common Lisp互換マクロを積極的に使うべきかはどうかはいろいろ議論がある/った
0330名無しさん@お腹いっぱい。
2014/01/19(日) 14:55:55.300331名無しさん@お腹いっぱい。
2014/01/19(日) 15:10:34.58素の emacs で使えちゃう
0332名無しさん@お腹いっぱい。
2014/01/19(日) 15:27:06.91mapcの引数FUNCTIONは、関数呼び出しされるので、それがlambda式であり、
bytecompileして使用する場合、
- 関数呼び出しのコスト(実行時間)が、プリミティブによるdolistループ実行コストよ
り大きい
- lexical bindingにおいて、lambda式の外部のローカル変数にアクセスできない
などの可能性がある。
既存の関数をそのまま呼び出せばいい場合だけmapcを使い、他はdollistを使うことが、
一つの有力な選択肢だと思う。
0333名無しさん@お腹いっぱい。
2014/01/19(日) 15:33:55.300334名無しさん@お腹いっぱい。
2014/01/19(日) 15:37:51.11そいでclがロードされてたらsubr側のは使わないような感じになってるのな
0335名無しさん@お腹いっぱい。
2014/01/19(日) 15:41:55.67dolist はリストを元に何かしたい場合にしてる。
0336名無しさん@お腹いっぱい。
2014/01/19(日) 15:46:57.560337名無しさん@お腹いっぱい。
2014/01/19(日) 15:53:19.010338名無しさん@お腹いっぱい。
2014/01/19(日) 16:06:08.010339名無しさん@お腹いっぱい。
2014/01/19(日) 16:19:27.28cl-loopとloopって違うの?
0340名無しさん@お腹いっぱい。
2014/01/19(日) 16:37:54.020341名無しさん@お腹いっぱい。
2014/01/19(日) 16:39:57.44いっしょ。loop だとバイトコンパイラと RMS に怒られる。
0342名無しさん@お腹いっぱい。
2014/01/19(日) 17:07:09.41なるほど
0343名無しさん@お腹いっぱい。
2014/01/20(月) 18:45:14.52置換処理はstring-replace関数を使うらしいことは分かったのですがどう書けばよいのでしょうか
0344名無しさん@お腹いっぱい。
2014/01/20(月) 18:53:26.35M-x find-grep
find . -type f -name "*.java" -exec grep -nH -e '検索文字列' {} +
でひっかけてwgrepで置換すれば。
0345名無しさん@お腹いっぱい。
2014/01/20(月) 18:58:12.95>>344の方法でできました
ありがとうございました
0346名無しさん@お腹いっぱい。
2014/01/20(月) 19:29:36.48;; カレントディレクトリをDiredで開く。
C-x C-f RET
;; 正規表現でファイルをマーク。
% m \.拡張子$ RET
M-x dired-do-query-replace-regexp 又は Q。
後はミニバッファのプロンプトにしたがって検索正規表現と置換文字列を入力して、
y または n で一つずつ置換。または ! でマーク済みファイル全部を一気に置換。
0347名無しさん@お腹いっぱい。
2014/01/20(月) 22:16:46.580348名無しさん@お腹いっぱい。
2014/01/20(月) 22:29:06.720349名無しさん@お腹いっぱい。
2014/01/20(月) 22:46:35.92find-dired で引っ掛けて >>346 でOK
0350名無しさん@お腹いっぱい。
2014/01/21(火) 23:09:35.21http://www.fitzsim.org/blog/?p=132
確かに emacs 上に svg が出力出来るようになった以上、画面作ったりとかはしやすくなったとは思うけどさあ
0351名無しさん@お腹いっぱい。
2014/01/21(火) 23:54:38.40やってみたw
どうやってスライムやボールを1dot単位で動かしてるのか分からんが
ゲーム自体はもうちょっとなんとかならなかったのかというレベル
しかし画期的なゲームではある
0352名無しさん@お腹いっぱい。
2014/01/22(水) 03:25:09.94久し振りに elisp で笑ったわwww
0353名無しさん@お腹いっぱい。
2014/01/22(水) 07:06:32.11(require 'cl) するわ。
0354名無しさん@お腹いっぱい。
2014/01/22(水) 10:26:21.890355名無しさん@お腹いっぱい。
2014/01/22(水) 11:15:55.81d数えるの大変じゃね?
0356名無しさん@お腹いっぱい。
2014/01/22(水) 11:22:37.72確かに可読性いいもんじゃないよな、このシリーズは。
subr に入ってるあたりが限度だろう。
0357名無しさん@お腹いっぱい。
2014/01/22(水) 13:22:25.240358名無しさん@お腹いっぱい。
2014/01/22(水) 17:06:54.190359名無しさん@お腹いっぱい。
2014/01/22(水) 22:09:43.41■ このスレッドは過去ログ倉庫に格納されています