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

私的良スレ書庫

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

元スレEmacs Part 43

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
851 : 名無しさん@お腹 - 2013/11/20(水) 09:23:43.23 (-6,-29,+0)
僕は ansi-term ちゃん!
852 : 名無しさん@お腹 - 2013/11/20(水) 09:33:37.82 (-2,-30,-68)
eshellの利点はwindows上でMSYSとか入れなくても、とりあえずcd,ls,cpとか使える事だな。
後はgnuwin32とかからgrepなんかの必須コマンドを落としてくればOK
853 : 名無しさん@お腹 - 2013/11/20(水) 09:55:01.65 (-1,-29,-18)
eshellはなんつーか内部処理の実装が効率悪すぎなんだよね
安全側に寄せてるんだろうけど思わぬ所でシステムコールしまくりみたいな
854 : 名無しさん@お腹 - 2013/11/20(水) 12:06:55.65 (-1,-29,-17)
基本 shell-mode で、たまに ansi-term かな。
855 : 名無しさん@お腹 - 2013/11/20(水) 12:30:42.98 (-1,-29,-17)
Unix 系 OS 上での eshell のいいところってなんだろう
856 : 名無しさん@お腹 - 2013/11/20(水) 15:30:20.84 (-6,-29,+0)
やっぱりカラフルterm+ ♪
857 : 名無しさん@お腹 - 2013/11/20(水) 16:52:17.10 (-1,-29,-12)
eshell はファイルを一気に開いたりするにはいい
858 : 名無しさん@お腹 - 2013/11/20(水) 17:11:59.76 (-1,-29,-14)
find-file でもワイルドカード使えるよね普通に
859 : 名無しさん@お腹 - 2013/11/21(木) 00:12:14.72 (-2,-30,-19)
eshellのもうひとつ便利な機能は**/*.hとかで、ディレクトリを再帰的に辿ってpathを生成してくれるところ
860 : 名無しさん@お腹 - 2013/11/21(木) 01:07:11.71 (-1,-29,-28)
shell-mode 弄りすぎて他のは使えなくなってしまった
861 : 名無しさん@お腹 - 2013/11/21(木) 14:28:57.98 (+3,-30,-142)
マクロについて質問です。
elisp の info によると、マクロ内で let を使って変数を作った場合
引数内でのその変数名を上書きしてしまうことを問題点としてあげています。
http://www.gnu.org/software/emacs/manual/html_mono/elisp.html#Surprising-Local-Vars

この例の中で、(let ((max 0)) ...) ではなく (let ((tempvar (make-symbol "max"))) ...) を使えばいいと書いてあるのですが、
これって max については intern されないので問題ないですが
結局 tempvar については同じ問題をはらんでますよね?
862 : 名無しさん@お腹 - 2013/11/21(木) 14:42:30.04 (+64,+29,-34)
その上の例のmaxはマクロが展開された結果に残るけど、
下の例のtempvarは展開時に使うだけで展開された結果には残らない。
863 : 名無しさん@お腹 - 2013/11/21(木) 15:05:26.93 (+11,-29,-78)
>>862
なるほど、マクロの理解が足りてませんでした。
評価結果で置換されるわけだから外側の let は置換後の結果にあらわれてこないと。
(defmacro foo1 () (bar)) と (defmacro foo2 () '(bar)) の違いということですね。
いまいちなんでマクロ本体にシングルクォートを置くのかわからず使っていました。

ありがとうございます。
864 : 名無しさん@お腹 - 2013/11/21(木) 15:16:24.70 (+3,-30,-254)
もう一つ質問です。
intern-soft で非 nil が返ってくるのに obarray の中にシンボルが見つからないということはありうるのでしょうか。
emacs -q で起動した emacs に対して以下を評価しました:

(require 'cl-lib)
(intern-soft "cl-find") ; => cl-find
(cl-find (lambda (sym) (string-match "^cl-find" (symbol-name sym))) obarray) ; => nil

intern-soft では cl-find が定義されてるように返ってくるのですが、
cl-find で検索した結果は nil となってしまいました。
実際に obarray を展開してインクリメンタルサーチしても実際中に入っていないように見えます。
865 : 名無しさん@お腹 - 2013/11/21(木) 15:45:04.87 (+9,-30,-93)
mapatoms で vector (obarray) をお探しくだせぇ

参考

(let ((vec (make-vector 1 nil)))
(intern "a" vec)
(intern "b" vec)
(list
(intern-soft "a" vec)
(intern-soft "b" vec)
(intern-soft "c" vec)))
866 : 名無しさん@お腹 - 2013/11/21(木) 15:50:00.99 (-1,-29,-31)
obarray より cl-find の使い方からだな
867 : 名無しさん@お腹 - 2013/11/21(木) 16:02:45.34 (+4,-30,-142)
>>865
ありがとうございます。
mapatoms で探索させたところ見つかりました。

(require 'cl-lib)
(let ((found nil))
(mapatoms (lambda (sym) (when (string-match "^cl-find" (symbol-name sym))
(setq found t))))
found) ;; => t

vector ⊂ sequence だと思っていたのですが必ずしもそういうわけでもないってことなんでしょうかね
(pp obarray) させた結果にも cl-find が出てきませんでしたし。
もうすこし vector について勉強してみます。
868 : 名無しさん@お腹 - 2013/11/21(木) 16:13:23.22 (+3,-30,-111)
(length obarray) と mapatoms で数えた要素数が異なるのもなんでかわからない・・・

(let ((count 0))
(mapatoms (lambda (sym) (setq count (1+ count))))
count) ;; length の結果とかなり異なる (ex 1511 vs 22728 など)

length のドキュメントを見る限り普通に vector にも使えそうな感じではあるのですが。
869 : 名無しさん@お腹 - 2013/11/21(木) 16:20:27.07 (+3,-29,-45)
自己解決しました。
obarray は vector ではあるが、中身は hash 構造になっているので mapatoms 以外での探索は出来ないとのこと。
ちゃんと obarray の説明の所に書いてありますね。length での値が異なるのも納得できました。

http://www.gnu.org/software/emacs/manual/html_node/elisp/Creating-Symbols.html
870 : 名無しさん@お腹 - 2013/11/21(木) 16:21:05.35 (-1,-29,-19)
解決したらしいけどおまけ。

http://www.mew.org/~kazu/doc/elisp/hash.html
871 : 名無しさん@お腹 - 2013/11/21(木) 16:22:27.85 (+3,-30,-51)
mapatomsのドキュメントを読んだ感じだと
http://www.geocities.co.jp/SiliconValley-Bay/9285/ELISP-JA/elisp_103.html

obarrayがフラット(?)なvectorじゃないだけじゃない?
emacs lispを余り知らないからはっきりと言えないけど
vector ⊂ sequence は正しいんじゃない?
872 : 名無しさん@お腹 - 2013/11/21(木) 19:05:20.92 (+4,-30,-73)
imaximaのgnuplot連携ですが外部のgnuplotを呼び出さずにインラインで描画させる方法有りませんか? ( ; ; )誰か助けてorz
873 : 名無しさん@お腹 - 2013/11/21(木) 19:22:24.33 (+9,-29,-67)
呼び出さないってのは gnuplot の window に描画させるんでなく、emacs の window 内に表示させたいってことだよね?
gnuplot がない環境でも動くようにって話ならそりゃ無理じゃねえの?としか。
874 : 名無しさん@お腹 - 2013/11/21(木) 19:42:55.65 (-1,-29,-5)
rskkservはruby 1.9に対応してないようですが、
これは簡単には動きませんか?
875 : 名無しさん@お腹 - 2013/11/21(木) 19:53:42.68 (+4,-30,-83)
>>873
gnuplot自体は有ってgnuplot-modeでプロセス作ってコマンド入れればインラインで描いてくれます。
imaximaで使うgnuplotをemacs外部のプロセスじゃなくemacs内のプロセスでインラインにならないかと。
876 : 名無しさん@お腹 - 2013/11/21(木) 20:00:30.54 (+7,-30,-218)
>>872
Imaximaのサイトやブログに書いてあったよ。

Tutorial of Imaxima inline graph
sites.google.com/site/imaximaimath/tutorial-of-imaxima/tutorial-of-imaxima-inline-graph

draw関数によるグラフのプロット 入門編 - Maximaでつづる数学の旅
d.hatena.ne.jp/jurupapa/20110613/1307977715
> imaximaではグラフをEmacsのバッファの中にインラインで表示することができ
> るのですが、そのために、draw2d()の代わりにwxdraw2d()関数を使用します。
> 引数などの書式は両者とも全く同じです。
877 : 名無しさん@お腹 - 2013/11/21(木) 20:33:40.54 (+0,-29,+1)
>>876
おおおお、(≧∇≦)
ありがとうございます(^o^)/
878 : 名無しさん@お腹 - 2013/11/24(日) 06:56:36.40 (+8,-30,-51)
今更ながら24.3にしてみたですけど、
Warning: function `map' from cl package called at runtime
これはどうすれば黙らせられます?
879 : 名無しさん@お腹 - 2013/11/24(日) 10:19:50.70 (+7,-30,-39)
byte-compile-warnings から cl-functions を抜けばいい。
cl-functions だけ外してずらずら列挙するか、'(not cl-functions) とか設定するとか。
880 : 名無しさん@お腹 - 2013/11/24(日) 10:22:34.51 (+7,-30,-85)
あと正攻法でいくならで cl-map に置き換えるとか。
直接書き換えないんでも バージョンみて defalias して上げりゃいいと思う

ただ cl-flet なんかは flet と挙動自体が変わってて cl-letf にしないとダメな場合もあるから
単純に defalias すればいいってわけでもなかったりするのもある
881 : 名無しさん@お腹 - 2013/11/25(月) 11:31:24.63 (+3,-29,-87)
C++/CLI を semantic が理解できるようにする方法があったら教えてくださいませ。
c++-modeで開いてみたときの印象からは、 ^ を *, & と同じように扱えれば何とかなりそうなんだけど、
どこをどうすればいいのかがわからなくて。

Doxgenタイプのコメントをつけたいのだけれど、いちいち手で作るのは勘弁してほしいというだけなんで、
semantic使わないで、関数のコメントのテンプレートを生成する方法があれば、そちらもよろしく。
882 : 名無しさん@お腹 - 2013/11/25(月) 12:05:42.27 (+52,+29,-1)
自分で調べろクソが
883 : 名無しさん@お腹 - 2013/11/25(月) 16:33:52.79 (+56,+28,-4)
そこら辺はもう MS の VC 使うとかの方が健全な解な気がしてる
884 : 名無しさん@お腹 - 2013/11/25(月) 17:54:53.59 (+3,-29,-44)
C# なら /// でコメントのテンプレート吐いてくれるからいいんだけれど、
C++ だと吐いてくれないから Semantic で何とかならないかと
もしかして、最近のVCではできたりするのかな?
2013 Express インストールしてみる
885 : 名無しさん@お腹 - 2013/11/25(月) 21:35:52.50 (+3,-30,-58)
/usr/share/emacs/lisp/cedet/semantic/bovine/c.el ぐらいを改造してC++に対応させる、のは無理か。
テンプレートだけなら /usr/share/emacs/etc/srecode/cpp.srt に加筆。
886 : 名無しさん@お腹 - 2013/11/25(月) 23:57:40.26 (-1,-29,-49)
正規表現をつかって検索した単語にmultiple-cursorsすることってできますか??
887 : 名無しさん@お腹 - 2013/11/26(火) 00:27:18.08 (+55,+27,-28)
繰り返しが含まれる正規表現なんかだとなんかあやしい結果になりそうだなそれ
a*b みたいなのだと aaaaaaaaab とか aab に同時にカーソルが現れて欲しいってことでしょ?
888 : 名無しさん@お腹 - 2013/11/27(水) 13:41:39.57 (-17,-30,-136)
windowsのgnupackでemacsを使っています
twittering-mode.elでmaster passwordを使ってタイムラインを開こうとすると
パスワードを入力してenterを押したとたん
"the authorized token is loaded"
というメッセージがエコー欄に表示されてEmacs自体が完全に固まることがあります
そのときは強制終了させなければいけません
正常にタイムラインが表示されることがほとんどなのですが、エラーの結果が重大なので気がかりです
どのような原因が考えられるのでしょうか
889 : 名無しさん@お腹 - 2013/11/27(水) 16:29:10.23 (+29,-30,-134)
リンク可能なテキストの作成について質問します
テキスト,ファイル名,行番号からなるリストが複数あります
'(("test text1" "~/foo/test1" 3)
("test text2" "~/foo/test2" 5))
これをもとにテキストの文字列全体にファイル名のその行番号を紐付けてリンクして
文字列として返すようにしたいのですがどうすればいいのでしょうか
http://www.gnu.org/software/emacs/manual/html_node/elisp/Changing-Properties.html
これのset-text-propertyを使うとは思うのですが、propをどういじればリンクできるかが分かりませんでした
どうぞよろしくお願いします
891 : 名無しさん@お腹 - 2013/11/27(水) 16:35:57.32 (+52,+14,-3)
>>889
返すってのはツールチップみたいに表示したいってこと?
892 : 名無しさん@お腹 - 2013/11/27(水) 20:57:59.73 (+10,-29,-73)
>>891
889です
すみません言葉足らずでした
ツールチップの表示ではなくてリンクを埋め込んだテキストを普通に表示する、という意味です
org-modeでurlを書くと自動的にクリッカブルな文字列になりますが
あのようなものをorg-mode以外でも使いたいのです
893 : 名無しさん@お腹 - 2013/11/27(水) 21:04:29.97 (+3,-30,-105)
普通に表示するってのは、マウスクリックでそのテキストにリンクしてるファイルを find-file して
リンクしてる行までジャンプして表示する、ってことでいいのかな。

http://www.gnu.org/software/emacs/manual/html_node/elisp/Clickable-Text.html#Clickable-Text
クリッカブルな文字列のプロパティの作り方はここでよさそう。
find-file して forward-line する関数をくっつけてやればいいんじゃないのかな。
894 : 名無しさん@お腹 - 2013/11/27(水) 21:44:57.26 (+54,+26,+2)
ありがとうございます。やってみます。
895 : 878 - 2013/11/28(木) 02:04:03.37 (+0,-29,-31)
>>879>>880
すみません遅くなりましたが、ありがとうございましたm(_ _)m
とりあえず byte-compile-warnings にしてみます
896 : 名無しさん@お腹 - 2013/11/28(木) 14:31:41.55 (-8,-29,+0)
>>890
ありがとうございます。NTEmacsスレで聞いてみます
897 : 名無しさん@お腹 - 2013/11/28(木) 14:32:48.49 (+34,-30,-139)
emacsスレからこちらに誘導されてきました
windowsのgnupackでemacsを使っています
twittering-mode.elでmaster passwordを使ってタイムラインを開こうとすると
パスワードを入力してenterを押したとたん
"the authorized token is loaded"
というメッセージがエコー欄に表示されてEmacs自体が完全に固まることがあります
そのときは強制終了させなければいけません
正常にタイムラインが表示されることがほとんどなのですが、エラーの結果が重大なので気がかりです
どのような原因が考えられるのでしょうか
898 : 名無しさん@お腹 - 2013/11/28(木) 14:59:23.62 (+52,+29,-1)
出戻ってんじゃねえかw
899 : 名無しさん@お腹 - 2013/11/28(木) 15:46:22.94 (+57,+29,+0)
すみません
素で間違えてしまいました
900 : 名無しさん@お腹 - 2013/11/28(木) 16:16:24.53 (+57,+29,-13)
>>897
やべー少しウケたw
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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