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/
0049名無しさん@お腹いっぱい。
2013/12/20(金) 01:25:57.39君は坊主の脱ぎ捨てた袈裟にお布施をする信心深い人間なんだね。
0050名無しさん@お腹いっぱい。
2013/12/20(金) 02:41:18.52(defmacro time (procs)
`(let ((from (float-time)))
,procs
(message (number-to-string (- (float-time) from)))))
これでいいのでしょうか
`(progn ,procs) のように書ければそうした方がよいと思うのですが、間違っていますか?
0051名無しさん@お腹いっぱい。
2013/12/20(金) 03:13:10.20全てに関数名がついてるんだから、キーボードは絶対ではないような。
そこがいいとこだし。
音声入力に全てバインドとかも出来るのかな。
0052名無しさん@お腹いっぱい。
2013/12/20(金) 05:39:18.68てか「関数」と言いつつ「任意のコード」を対象にしてる?
0053名無しさん@お腹いっぱい。
2013/12/20(金) 10:09:16.31benchmark を使った方がいいとは思う。
0054名無しさん@お腹いっぱい。
2013/12/20(金) 20:34:01.00普通の正規表現では入れ子の削除はできない。
なぜかは「ポンプの補題」の証明をチェックしてくれ。
入れ子の除去は、基本的に開き文字と閉じ文字の両方を検索して、開き文字なら
+1,閉じ文字なら-1するカウンタを用意して、0で初めて0で終わる所の間を
消せば良いんじゃないかな。
2文字までのコメントの入れ子の除去なら、たとえば /* 〜 */ なら、
syntax-table で、
(modify-syntax-entry ?/ "_ 14n" syntax-table)
(modify-syntax-entry ?* "_ 23n" syntax-table)
と設定されたバッファを用意して
そこで /* を検索した後、その先頭から(forward-comment 1) した場所との間
をdelte-region すれば大丈夫だと思う。
0055名無しさん@お腹いっぱい。
2013/12/21(土) 00:10:51.38ありがとうございます。関数以外も実は想定していました
組み込みのbenchmarkを使ってみます
0056名無しさん@お腹いっぱい。
2013/12/21(土) 04:10:28.08無限にネストしたのは無理だけど、2段ネストまでならこんな感じでできるよ。
同じ調子で、ある段数までのネストにマッチする正規表現は作れると思う。
実用的かどうかは知らない。
(replace-regexp-in-string "/\\*\\(.\\|\n\\)+?\\(/\\*\\(.\\|\n\\)+?\\*/\\)*\\(.\\|\n\\)+?\\*/" "" test)
0057名無しさん@お腹いっぱい。
2013/12/21(土) 08:43:08.50文字列リテラル中の開始や終了にマッチするケースに出会ってガクゼンとするんだろ
0058名無しさん@お腹いっぱい。
2013/12/21(土) 09:38:50.830059名無しさん@お腹いっぱい。
2013/12/21(土) 13:11:21.520060名無しさん@お腹いっぱい。
2013/12/21(土) 13:24:57.410061名無しさん@お腹いっぱい。
2013/12/21(土) 14:22:56.930062名無しさん@お腹いっぱい。
2013/12/21(土) 14:25:46.250063名無しさん@お腹いっぱい。
2013/12/21(土) 16:58:00.46許されているコンパイラなんて最後に見たのは20年位前だと思うんだが
0064名無しさん@お腹いっぱい。
2013/12/21(土) 17:11:33.02むしろそこから本気出せる
0065名無しさん@お腹いっぱい。
2013/12/21(土) 17:19:59.23そうだっけ? prolog とか SQL とか今でも /* ... */ のネスト許してない?
と思ったけど、確かにネストを許すのは一部の方言だけか。
これ、とりあえず怪しい部分をコメントアウトするのに便利だったんだけど。
あ、OCaml とか Mathematica とかは、(* ... *) のネストを今でも許している
みたいだね。
0066名無しさん@お腹いっぱい。
2013/12/22(日) 16:50:13.56cygwinからEmacs使い始めれば問題無い? cygwinのフォークとか遅くてだめ?
0067名無しさん@お腹いっぱい。
2013/12/22(日) 18:00:33.98よく分からん認識で使いはじめたらたぶんダメだな
0068名無しさん@お腹いっぱい。
2013/12/22(日) 18:15:18.75いたらどんなやり方でやってるか教えてほしい
0069名無しさん@お腹いっぱい。
2013/12/22(日) 19:17:46.69gnupackを入れればいいじゃん
windows向けにチューニングされたemacsバイナリもあることはあるけれど
emacsとの他のツール連携を考えれば現状はgnupack一択だと思うな
0070名無しさん@お腹いっぱい。
2013/12/22(日) 20:52:26.36一応仕事で書いてるけど別に特別なことはしてないな
java-mode + ant + flymake + auto-complete + yasnippet + gtags あたりの組み合わせでゴリゴリ書いてる
最近は malabar-mode ってのがあるらしいがよく知らない
コーディング完了後、原因不明バグの調査やプロファイリングをする場合は eclipse を使っている
なんだかんだで Java 開発なら仕上げは eclipse/NetBeans に頼るのが効率的だと思う
0071名無しさん@お腹いっぱい。
2013/12/22(日) 22:48:44.43> ttp://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/share/misc/acronyms?content-type=text/plain&only_with_tag=HEAD
仕事で使いまくっった I18N なんてのは死語扱いか?
0072名無しさん@お腹いっぱい。
2013/12/22(日) 23:33:46.33やっぱりeclipseに頼ったほうがいいのか
どうにかしてeclipseやnetbeansに頼らないで出来るようにしたんだけどなあ
emacsでjavaの10万行のローグライクを作ったsteve yeggeはすごいな
0073名無しさん@お腹いっぱい。
2013/12/22(日) 23:38:18.78Jdeeとかそういうこと?
0074名無しさん@お腹いっぱい。
2013/12/22(日) 23:40:23.72無駄な努力とは分かってるんだけどやめられない
0075名無しさん@お腹いっぱい。
2013/12/23(月) 00:09:04.730076名無しさん@お腹いっぱい。
2013/12/23(月) 00:58:34.900077名無しさん@お腹いっぱい。
2013/12/23(月) 01:02:26.82https://github.com/emacs-helm/helm/pull/378
0078名無しさん@お腹いっぱい。
2013/12/23(月) 01:18:05.08cygwin自体はもう導入しているが、
消去しないと競合してまずいか?(gnupack)
とりあえずEmacsのためにCapsLockをCtrlにした。
0079名無しさん@お腹いっぱい。
2013/12/23(月) 01:39:58.03ちょっと言い方が悪かったかな
コーディングには不便しないし、簡単なデバッグくらいなら emacs で十分いける
高度なスキルを持っているか、もしくは趣味レベルで考えれば十分実用的だと思う
バグを徹底的につぶしたり、プロファイリングを効率的に行いたいなら
素直に eclipse に頼った方が幸せだよってことね
あと個人的にな意見で申し訳ないけど JDEE とか使うなら
汎用ツールや自作スクリプトを選ぶかなぁ
java と心中する気なら JDEE もいいかもしれないけど…
0080名無しさん@お腹いっぱい。
2013/12/23(月) 03:07:42.61gnupack は cygwin 抜き emacs のみ版も配布してるけど
google ime か skk 使ってるなら公式配布の ntemacs でも何の問題もないと思う。
windows の emacs は cygwin の仮想端末がそのままだと開けないから
Meadow 由来のラッパープログラム仕込まなきゃ行けなかったり、
pipe にウェイトが入ってたりと素の emacs と比べるとプロセス周りはやっぱ弱いよ。
NTEmacs スレがあるからあとはそっちでどうぞ。
0081名無しさん@お腹いっぱい。
2013/12/23(月) 03:25:18.61誘導ありがとう。
0082名無しさん@お腹いっぱい。
2013/12/23(月) 05:07:21.66でも m でマーク付けてから g や u で解除すると . も消えちゃいます。
消えないようするにはどういう設定をすればいいのでしょうか。
0083名無しさん@お腹いっぱい。
2013/12/23(月) 11:26:27.69設定ではどうにもならないかと。
"." の表示も最初に表示する時に直前のバッファを引数で渡して表示してるけど変数とかに保持してないから
再表示の時ははじめから " " で表示するようなコードになってる。
マークが消えてもカレントバッファが置き換わるわけじゃないから
気にしなくてもいいとは思うよ。
どうしても直したいなら以下が必要になる。手間の割に見返りないかと。
・list-buffers-noselect 時に current-buffer を適当な変数に保存する advice
・list-buffers--refresh 時に引数の old-buffer をその適当な変数の値に置き換えする advice
・(tabulated-list-set-col 0 " " t) してる関数を状況を見て "." に置き換えるよう advice なり書き換えする
0084名無しさん@お腹いっぱい。
2013/12/23(月) 17:13:50.82なんて書いてあるの?
0085名無しさん@お腹いっぱい。
2013/12/23(月) 17:39:32.89詳しい説明ありがとうございます。
確かに困ることはぜんぜん無いんですが…。勉強も兼ねてやってみます。
ありがとうございました。
0086名無しさん@お腹いっぱい。
2013/12/23(月) 18:37:08.64某氏がhelmにパッチを提出したら、
「お前のパッチはちょっと問題があるから受け入れらんねー
そもそもお前が著作権がらみの署名してないからHelmはELPAにねーんだよ。
だから、俺がお前のコードを消したり書き換えたりしない限り、ずっと
マージされないままなんだよ。
俺は3年間も一人でお前から一切の返答が無いままコードの整理と開発をしてきた。
ただ、全部済んだらあんたのコードをここに一々コメントせずに追加していきたい。
著作権がらみの署名を検討してくれ。そんでマージに値する理由を俺に教えてくれ。
そしたらまた見てみるよ。」
0087名無しさん@お腹いっぱい。
2013/12/23(月) 18:49:47.03これってかなりあきれているんじゃないかな
へえ、俺がやったあらゆることも気にかけず、君は 'rubikitch' 名義のコードを何も説明せずにさらに提供しようとするんだね。
多分こんな訳になるかと
0088名無しさん@お腹いっぱい。
2013/12/23(月) 19:22:43.31おかげでその分のコードを全部書きかえない限りはELPAに入れられない
わけで、ずっと頑張って書き換えようとしてるのに、また新たに
ELPAに入れられないコード送られてきても、そりゃ困るわな。
0089名無しさん@お腹いっぱい。
2013/12/23(月) 19:25:58.85特に>>87が引用してる部分は完全に誤訳だよ。
0090名無しさん@お腹いっぱい。
2013/12/23(月) 19:27:08.14そういう奴は最終的にGNUへマージされそうなプロジェクトのコードを汚染するなってことだ
0091名無しさん@お腹いっぱい。
2013/12/23(月) 19:30:23.60Afterを「気にもかけず」と訳すのは、ちょっと意訳しすぎな
気はするが。
0092名無しさん@お腹いっぱい。
2013/12/23(月) 19:35:56.48もっとも俺の知ってるトヨタの人は、会社でFSFに金銭的寄付してた覚えがあるが。
Web系の企業だと、あまり障害なさそう。
SIerはその中間って感じ。
うちは中小SIerだが問題なく寄贈できる。
くだんの人はメーカー系に勤めてるの?
0093名無しさん@お腹いっぱい。
2013/12/23(月) 19:38:55.31問題なくできるとこもある筈。実際、富士通とか、glibcへの
パッチ出してマージされてるよな。
0094名無しさん@お腹いっぱい。
2013/12/23(月) 19:49:01.96金銭的寄付とコードの寄贈はまったく関連が無いぞw
0095名無しさん@お腹いっぱい。
2013/12/23(月) 19:51:39.250096名無しさん@お腹いっぱい。
2013/12/23(月) 19:55:27.28まあね。
大手企業の場合、自分とこではライセンス的に直接コードの
寄贈は難しいけど、第三者的な企業に金出して開発してもらって、
その第三者企業の方からコードを寄贈してもらうって手を使うことはある。
そういう意味で、金銭の提供がコードの寄贈に結びつくことはあるが、
まあさっきのトヨタの例はそれとも違うな。
0097名無しさん@お腹いっぱい。
2013/12/23(月) 20:06:04.58全然関係ないのは自明なので、本来なら上司のサイン自体が不要な気がする。
まあ、それじゃ済まないお堅い組織が存在することも知ってるが、
別に日本の企業が全部そういうお堅い組織だってわけでもないので、
安易に日本だと駄目だとか決めつけるのはどうかと思う。
海外でも、自宅で余暇に書いたコードも著作権を会社に寄越せ
とかいう企業は存在するし。
0098名無しさん@お腹いっぱい。
2013/12/23(月) 20:20:34.870099名無しさん@お腹いっぱい。
2013/12/23(月) 20:40:00.75ってあるから、雇用契約上、明らかに仕事と関係ないと分かれば、
雇い主のサインは要求しないんじゃねえ?
まあ日本語の契約書のコピー送られても読めんとか、日本の雇用契約
内容って曖昧で結局判断できないから雇用主のサイン寄越せってことにはなりそうだが。
中小企業なら、上司との関係がうまくいってれば、サイン貰うのも
難しくはない気はする。
0100名無しさん@お腹いっぱい。
2013/12/23(月) 20:44:07.50Refactoring(汚いから直したよ)とだけ書いて pull-req するその態度を
改めないと会社勤めどころか OSS への貢献だって永遠にできないと思う。
0101名無しさん@お腹いっぱい。
2013/12/23(月) 20:48:34.99FSFへのコード寄贈の署名をしてない点じゃねえ?
署名してない理由は知らんけど。
少なくとも、日本の企業だから、ってのは理由にならん。
ウチの会社だと駄目でしたって可能性ならあるが、ホントの
とこは、どうなんだろね。
0102名無しさん@お腹いっぱい。
2013/12/23(月) 20:57:24.25Rさんが寄贈したくないって言うならそれは仕方ない
helmのメンテナーが寄贈する前提で作業してるからRさんのコードを受け付けられないって言うならそれも仕方ない
険悪な雰囲気なのはコミュニケーション取れてないからだと思うよ
0103名無しさん@お腹いっぱい。
2013/12/23(月) 21:11:39.410104名無しさん@お腹いっぱい。
2013/12/23(月) 21:27:58.140105名無しさん@お腹いっぱい。
2013/12/23(月) 21:28:56.97https://twitter.com/rubikitch/status/414308103459315712
> 数年前FSF paperが来たんでsignして送り返したはずなんだけど、あれから音沙汰がなくて、やはり届いてなかったようだ。
> もちろんsignしたいけど、どうすればいいのかわからなくてこのまま放置してた。
おれは嘘だと思うけど!
0106名無しさん@お腹いっぱい。
2013/12/23(月) 22:11:41.010107名無しさん@お腹いっぱい。
2013/12/23(月) 22:25:13.530108名無しさん@お腹いっぱい。
2013/12/23(月) 22:28:53.39別スレ移動するにしてもあんまりいじらない方いいんじゃないの。
https://twitter.com/rubikitch/status/245102570098528257
> メンテナンスがおそろかになってしまったのは、すべては長期にわたって精神的に病んでいる自分の責任だと思っています。anything.elはかわいい養子同然の存在なのにforkさせられてしまって(涙)本当にごめんなさい。
0109名無しさん@お腹いっぱい。
2013/12/23(月) 22:30:37.91キーバインドだけ変える
0110名無しさん@お腹いっぱい。
2013/12/23(月) 22:47:36.73eclipse も vs も netbeans も emacs 風キーバインドはあるんだけど
なんか中途半端で結構いじるはめになったり変更を諦めることになったり切ないよね。
0111名無しさん@お腹いっぱい。
2013/12/23(月) 23:04:18.88eclipse でリファクタリングすると捗る
0112名無しさん@お腹いっぱい。
2013/12/23(月) 23:25:18.500113名無しさん@お腹いっぱい。
2013/12/23(月) 23:35:36.94統一されていれば eclipse のフォーマット = emacs のフォーマットになるのでは
0114名無しさん@お腹いっぱい。
2013/12/23(月) 23:37:35.97色々手を加えなくてはいけなくなったり的な。
0115名無しさん@お腹いっぱい。
2013/12/23(月) 23:41:09.15ファイル多い時こそemacsでないと探すのがストレスになる。
0116名無しさん@お腹いっぱい。
2013/12/23(月) 23:43:02.86余計なおせっかいが多くて困る
上手く emacs と連携させることができれば便利なんだけどな
0117名無しさん@お腹いっぱい。
2013/12/23(月) 23:49:43.030118名無しさん@お腹いっぱい。
2013/12/24(火) 00:01:42.12eclim-emacs 初めて知った
面白そうだから後で遊んでみる
ありがとう
0119名無しさん@お腹いっぱい。
2013/12/24(火) 00:52:13.81それは碓かにそうなんだけど、IDEで使ってる機能を全部使えるようにelファイルを探して入れるのが面倒なんだよね
あとGUIでタブ残ってるのがすぐ分かるようにしたい時がある
0120名無しさん@お腹いっぱい。
2013/12/24(火) 01:02:42.69全部入れたらパッケージングして上げてくれ。
0121名無しさん@お腹いっぱい。
2013/12/24(火) 01:04:07.28100ファイルとか普通に開くから、タブとか無理だ。
0122名無しさん@お腹いっぱい。
2013/12/24(火) 01:07:21.930123名無しさん@お腹いっぱい。
2013/12/24(火) 01:15:37.500124名無しさん@お腹いっぱい。
2013/12/24(火) 01:55:09.190125名無しさん@お腹いっぱい。
2013/12/24(火) 02:14:38.280126名無しさん@お腹いっぱい。
2013/12/24(火) 02:30:16.79けどvisual studioでデバッグしたい
0127名無しさん@お腹いっぱい。
2013/12/24(火) 04:30:01.16すごいな、これw
0128名無しさん@お腹いっぱい。
2013/12/24(火) 09:37:54.73リファクタリングも参照ジャンプも補完も javadoc も eclispe の機能を裏で呼び出してくれるみたいだし
http://www.skybert.net/emacs/java/
0129名無しさん@お腹いっぱい。
2013/12/24(火) 13:16:57.14emacsより進んでてちょっと嫉妬した
0130名無しさん@お腹いっぱい。
2013/12/24(火) 17:03:06.86寂しいが、これも現実か。
0131名無しさん@お腹いっぱい。
2013/12/24(火) 17:06:56.220132名無しさん@お腹いっぱい。
2013/12/24(火) 17:09:32.290133名無しさん@お腹いっぱい。
2013/12/24(火) 19:15:29.500134名無しさん@お腹いっぱい。
2013/12/24(火) 19:47:12.18Emacsの人はそんなデカいツールに頼るという発想がない
0135名無しさん@お腹いっぱい。
2013/12/24(火) 20:21:14.070136名無しさん@お腹いっぱい。
2013/12/24(火) 20:32:57.280137名無しさん@お腹いっぱい。
2013/12/24(火) 20:37:42.86http://bzr.savannah.gnu.org/lh/emacs/trunk/annotate/head:/etc/NEWS#L800
0138名無しさん@お腹いっぱい。
2013/12/24(火) 20:46:29.89どういうこと?
0139名無しさん@お腹いっぱい。
2013/12/24(火) 20:52:28.1024.4に向けての新機能追加が終了、あとはバグ直しだけしてリリース準備頑張りましょうねーってことじゃね
http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00844.html
0140名無しさん@お腹いっぱい。
2013/12/24(火) 23:14:45.54次は24.4になるだろうけど、0.1のバージョンアップにしては
細かいところでかなり変更点が多いし、いいリリースになりそうだ
0141名無しさん@お腹いっぱい。
2013/12/24(火) 23:19:58.830142名無しさん@お腹いっぱい。
2013/12/25(水) 00:52:12.150143名無しさん@お腹いっぱい。
2013/12/25(水) 08:29:40.750144名無しさん@お腹いっぱい。
2013/12/25(水) 11:08:20.80(base64-encode-string (char-to-string #xffff)) だと multibyte 文字が入っているって怒られます。
そもそもエンディアンどうなるのって話だし。
自分でバイトオーダを意識して 1byte 単位で切り出して変換するしかないのでしょうか。
0145名無しさん@お腹いっぱい。
2013/12/25(水) 11:36:54.20意識したいんなら encode-coding-string で適切な unibyte に。
0146名無しさん@お腹いっぱい。
2013/12/25(水) 11:41:10.72ありがとう
よく分かった
0147名無しさん@お腹いっぱい。
2013/12/25(水) 12:29:27.78ありがとうございます。
string-as-unibyte はなぜか 3byte に変換されてしまいました。unibyte と multibyte にエンコーディングが絡むと
未だに何がなんだかわからなくなります・・・
とりあえず byteorder の戻り値を見て utf-16le と utf-16be を切り替えるあたりが妥当なところなんでしょうかね。
(equal "774=" (base64-encode-string (string-as-unibyte (char-to-string #xbeef))))
;; => nil
(equal "774=" (base64-encode-string (encode-coding-string (char-to-string #xbeef) 'binary)))
;; => nil
(equal "774=" (base64-encode-string (encode-coding-string (char-to-string #xbeef) 'utf-8)))
;; => nil
(equal "774=" (base64-encode-string (encode-coding-string (char-to-string #xbeef) 'utf-16be)))
;; => nil
(equal "774=" (base64-encode-string (encode-coding-string (char-to-string #xbeef) 'utf-16le)))
;; => t
0148名無しさん@お腹いっぱい。
2013/12/25(水) 14:00:27.67helm-do-grepでand検索ができないのでどうしようと思ったらこれを見つけました
http://www49.atwiki.jp/ntemacs/pages/33.html
ですがこれではhelm-do-grepの処理が大幅に遅くなってしまいました
そこで空白が入力されたときにはそれより前の文字列をhelm-do-grepで処理し
空白以後の文字列はその結果が表示されているバッファをemacs lispで編集することでヒットしたかどうかを表そうと考えました
helm-do-grepの実質的な処理はhelm-grep.elのhelm-do-grep-1がしていることは分かったのですが
入力された文字列の管理をどこでやっているのかと検索結果をどのように編集すればよいのかが分かりません
よろしくおねがいします
■ このスレッドは過去ログ倉庫に格納されています