トップページunix
1001コメント289KB

Emacs part 21

■ このスレッドは過去ログ倉庫に格納されています
0001氷柱割り2007/01/08(月) 21:59:39
Emacsは環境だ。

GNU Emacs - GNU Project - Free Software Foundation (FSF)
http://www.gnu.org/software/emacs/

emacs - SCM: CVS Repositories [Savannah]
http://savannah.gnu.org/cvs/?group=emacs

EmacsWiki
http://www.emacswiki.org/

Emacs 電子書棚
http://www.bookshelf.jp/

前スレ
http://pc10.2ch.net/test/read.cgi/unix/1157294692/
0561名無しさん@お腹いっぱい。2007/04/01(日) 11:49:38
Emacsに限らない一般論だから。
0562名無しさん@お腹いっぱい。2007/04/01(日) 13:29:27
>>560
初日でチュートリアルの基本コマンドをおぼえたなら、賞賛。
将棋のコマの動きよりはずっと難しかったよ。。
0563名無しさん@お腹いっぱい。2007/04/01(日) 14:21:32
学生の時に暇が無い?
それはそれで羨ましい。
0564名無しさん@お腹いっぱい。2007/04/01(日) 18:29:00
>>557
> 使えと言われたYaTeXだけのためにバカ正直にEmacs使ってる奴
俺か?確かに入口はそこだったけど、
今は.emacs内でhook書いたり気分次第でevalしたりして遊んでるよ
0565名無しさん@お腹いっぱい。2007/04/01(日) 19:19:41
>>559
コード書かなくても、周辺パッケージが便利だから多用している。
学習に時間かかるのは否定しないが、特に苦労と感じたことはない。
0566名無しさん@お腹いっぱい。2007/04/02(月) 11:02:44
大学でたら学ぶことを辞めちゃう人間って、
その時点で終わってると思うぞ。
0567名無しさん@お腹いっぱい。2007/04/02(月) 13:19:11
誰もそんなこと言ってねぇだろ。
0568名無しさん@お腹いっぱい。2007/04/02(月) 18:47:37
自覚あるってことか。
0569名無しさん@お腹いっぱい。2007/04/02(月) 18:51:16
スルー
0570名無しさん@お腹いっぱい。2007/04/02(月) 20:38:50
俺は高校だジジイ
0571名無しさん@お腹いっぱい。2007/04/02(月) 20:45:34
大学出てることが当然のように話進める人がいるのが不思議でならない
このスレ、板に限ったことでもないけど
0572名無しさん@お腹いっぱい。2007/04/02(月) 21:19:43
多分、大学に入ってから Emacs 触りだした人が多いからなのかも。

高専卒は別枠ですかそうですか。
0573名無しさん@お腹いっぱい。2007/04/02(月) 21:43:22
高専って工作員養成所でしょ?無理にEmacs使わなくてもいいですよ。
0574名無しさん@お腹いっぱい。2007/04/02(月) 22:17:09
Emacsを使うことがものすごいことだと思ってるんだ(笑)
0575名無しさん@お腹いっぱい。2007/04/02(月) 23:00:39
まっとうな議論をするための最低条件は大学を出ていること

と考えている人はいそう。
0576名無しさん@お腹いっぱい。2007/04/02(月) 23:14:29
まあでもそういう人って大学を出たことが人間の価値の
最後の砦になっちゃってる人というのが多いっすね。
大学出ということにすがるしかない人。憐れではあるけども。
0577名無しさん@お腹いっぱい。2007/04/02(月) 23:17:34
E m a c s
0578名無しさん@お腹いっぱい。2007/04/03(火) 00:11:11
学歴なんてと言う割には、なんでスルーできないかな...。
0579名無しさん@お腹いっぱい。2007/04/03(火) 00:19:27
「学歴なんて」なんて言ってるやつはいねえだろ
0580名無しさん@お腹いっぱい。2007/04/03(火) 01:36:41
よそでやれ
0581名無しさん@お腹いっぱい。2007/04/03(火) 02:13:11
自分も大学くらいは普通かなと思ってたが
家庭の事情で中退になってしまって
世の中の見方が少しかわったよ。
0582名無しさん@お腹いっぱい。2007/04/03(火) 02:24:53
去れ
0583名無しさん@お腹いっぱい。2007/04/03(火) 02:46:25
大学には何度でも入学できるよ
0584名無しさん@お腹いっぱい。2007/04/03(火) 06:43:04
いいから他でやれ
0585名無しさん@お腹いっぱい。2007/04/03(火) 14:55:31
保存時のファイルのタイムスタンプを操作することはできますか?
emms-tag-editor.el で mp3 のタグを更新したときにタイムスタンプを
変更したくないんですが。
0586名無しさん@お腹いっぱい。2007/04/03(火) 15:33:10
そんなelispがあったのかーと飛び付こうとしたけど、
mp3はmp3info使ってるのかあ。
せめて http://id3v2.sourceforge.net/ こっちなら使う気するが。

で、ほんだいだけど、先にタイムスタンプを保存しておいて、
touch も call-process するようにすればいいんでないかい。
0587名無しさん@お腹いっぱい。2007/04/03(火) 15:37:03
set-file-times
file-attributes
0588名無しさん@お腹いっぱい。2007/04/03(火) 15:52:21
>>586
もう一通り EMMS を快適に使えるように設定したもので。
Win32 なので多少修正が必要でしたが。

>>587
Emacs 本体でもできそうですね。試してみます。
05895852007/04/03(火) 17:55:03
emms-tag-editor-tag-file に around-advice して無事解決しました。
0590名無しさん@お腹いっぱい。2007/04/04(水) 01:40:15
>530
遅レスだがmoccur

これがないとやってられん
0591名無しさん@お腹いっぱい。2007/04/05(木) 03:18:21
elisp を勉強中です。
リストの最後の要素を削ったリストを作るにはどうすればいいのかしら?
0592名無しさん@お腹いっぱい。2007/04/05(木) 03:55:56
butlast
0593名無しさん@お腹いっぱい。2007/04/05(木) 11:43:06
>>591
最後の一個前の要素の cdr 部に nil 放り込めばいいんじゃ。
0594名無しさん@お腹いっぱい。2007/04/05(木) 15:15:22
(reverse (cdr (reverse foo))) とか
0595名無しさん@お腹いっぱい。2007/04/05(木) 15:16:38
>>592 じゃだめなん?
0596名無しさん@お腹いっぱい。2007/04/05(木) 15:50:39
>>593
butlastは結局、それやってるじゃん。
0597名無しさん@お腹いっぱい。2007/04/05(木) 16:47:20
勉強中っていうから、butlastと答えていいのか
セル操作を意識したいのか迷うとこではある
0598しょこたん2007/04/05(木) 16:57:21
>>591

(setq L '(1 2 3 4 5))
=> (1 2 3 4 5)
(setcdr (last L 2) nil)
=> nil
L
=> (1 2 3 4)
0599名無しさん@お腹いっぱい。2007/04/05(木) 17:13:16
なんかVIP臭い
0600名無しさん@お腹いっぱい。2007/04/05(木) 20:43:01
>>598
リテラルに破壊的操作をしちゃだめ
0601名無しさん@お腹いっぱい。2007/04/05(木) 23:11:55
どいうこと
0602名無しさん@お腹いっぱい。2007/04/05(木) 23:40:28
(defun foo () '(1 2 3 4 5))
(setcdr (last (foo) 2) nil)
(foo)
=> (1 2 3 4)

てことじゃね?
0603名無しさん@お腹いっぱい。2007/04/05(木) 23:55:53
そりゃ有名な罠(ってほどでもない)だわな
0604名無しさん@お腹いっぱい。2007/04/06(金) 09:32:57
罠というより常識だろ。
ネイティブコンパイルするものだったら
segmentation faultだかbus errorだかを食らって死んでもおかしくない。
06055912007/04/06(金) 18:23:48
いっぱいありがとう。

butlast を使えということでしょうか。

> 最後の一個前の要素の cdr 部に nil 放り込めばいいんじゃ。

ということはしてはいけないということ?
0606名無しさん@お腹いっぱい。2007/04/06(金) 18:52:57
>>605
butlast の実装が↓になってるということ。
> > 最後の一個前の要素の cdr 部に nil 放り込めばいいんじゃ。
0607名無しさん@お腹いっぱい。2007/04/06(金) 18:56:44
こんな感じの事なら良くやるけどね。

(defun new-id () (let ((l '(0))) (setcar l (1+ (car l)))))
(new-id)
=> 1
(new-id)
=> 2
(new-id)
=> 3
0608名無しさん@お腹いっぱい。2007/04/06(金) 20:23:44
なんでそうなるの?
lispわかんね。
0609名無しさん@お腹いっぱい。2007/04/06(金) 21:52:37
なんとなく new-id が呼ばれるたんびに '(0) が生成されて、
それが l にバインドされる...みたいに思ってると
それは間違いで、'(0) が生成されるのは defun が evaluate
された時なんだろうな。
0610名無しさん@お腹いっぱい。2007/04/06(金) 22:38:00
>>609
read されたときじゃないの?
0611名無しさん@お腹いっぱい。2007/04/06(金) 22:56:41
メモリが "read" になることはできませんでした><
06126052007/04/06(金) 23:13:52
>> 606
よく読めばそうですね。すいません。勘違いしました。

でも・・・
>>598

> リテラルに破壊的操作をしちゃだめ

とやっちゃいかんといっていますが、598 は
> 最後の一個前の要素の cdr 部に nil 放り込めばいいんじゃ。

ということをしているのですよね。

>>600
の真意はどういうことかしら?

もとのリストを変更加えない方がいいよということかしら?
0613名無しさん@お腹いっぱい。2007/04/06(金) 23:44:41
ヒント (symbol-function 'new-id)
0614名無しさん@お腹いっぱい。2007/04/06(金) 23:59:42
(defun new-id ()
((lambda (l) (setcar l (1+ (car l)))) '(0)))

こういうこと?
0615名無しさん@お腹いっぱい。2007/04/07(土) 01:33:52
今のバイトコンパイラはそこまで最適化しないけど、リテラルのインスタンス
は共有され得るよ。アップグレードすると突然

(defun new-id () (let ((l '(0))) (setcar l (1+ (car l)))))
(defun foo () (car '(0)))
(new-id)
=> 1
(foo)
=> 1

となる可能性は充分ある。ドキュメント化されてない特徴を使ってクロージャ
もどきを実現するのはやめて、素直に大域変数使っておくのが吉。
0616名無しさん@お腹いっぱい。2007/04/07(土) 06:02:22
>>607
ん〜きも
(setq *n* 0)
(defun n () (interactive) (insert (format "%03d" *n*)) (incf *n*))
なのは .emacs に入ってて時々使ってる
0617名無しさん@お腹いっぱい。2007/04/07(土) 06:44:40
トリッキーだな。
リテラルに破壊的操作をするコードをうっかり書いちゃって、
ハマる可能性があるのか。
0618だいちゃん2007/04/07(土) 11:59:38
>>616

> *n*
これもキモいけどな.
0619名無しさん@お腹いっぱい。2007/04/07(土) 12:13:31
616 は CL 臭くてキモいが正しいコード。
607 はたまたま動いてるだけの間違ったコード。
0620名無しさん@お腹いっぱい。2007/04/07(土) 12:17:54
そういえば昔、FORTRANで定数書き換えて1ヶ月悩んだなあ。
0621名無しさん@お腹いっぱい。2007/04/07(土) 16:14:39
やるべきでは無いが、やろうと思えばwarningもなんも無しに出来ちゃうところが痛ゐな。
本当に有難う御座いました。
0622名無しさん@お腹いっぱい。2007/04/07(土) 19:32:22
>>619
elisp は CL ではありません。
0623Zeno ◆5nZQbNmQPs 2007/04/07(土) 21:46:09

じゃあ、吾はもう寝るぞ.
お前も夜更かしはしないで早目に寝ておきなさい.

0624名無しさん@お腹いっぱい。2007/04/08(日) 20:56:52
CVS HEADの追い掛けやめて既に一年以上経ってた。
最近の大きな変更にはなにがあります??
0625名無しさん@お腹いっぱい。2007/04/09(月) 00:01:05
mule-ucsがなにやら揉めてる?
0626名無しさん@お腹いっぱい。2007/04/09(月) 02:06:37

25 :Zeno ◆5nZQbNmQPs :2007/04/07(土) 21:18:17 ID:Hii8ETWu

一般的に美人/綺麗だと言われている女性よりも、
ブサイクと言われている女性の方がどちらかと言えば価値は高い.
それは前者には実につまらん性格を持つ者があまりにも多すぎるからである.
彼女達のほとんどは、股を開く時と場合を心得ているし、そうすれば
何でも解決すると盲信して止まない.
0627名無しさん@お腹いっぱい。2007/04/09(月) 08:45:37
次のstableが出るのはいつなんだろう
0628名無しさん@お腹いっぱい。2007/04/09(月) 09:47:31
http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00313.html
> From: Chong Yidong
> Subject: Pretest schedule
> Date: Sun, 08 Apr 2007 10:21:49 -0400
>
> I would like to propose the following plan for the 22.1 release.
>
> I will roll the 22.0.98 pretest tarball on Monday, April 16 (8 days
> from now). I believe this should be the final pretest, unless a major
> problem arises.
>
> If no major problems with the April 16 pretest come to light, we
> should cut the Emacs 22 CVS branch on Friday, April 20, and release
> Emacs 22.1 on Monday, April 23.

22.1がstableリリースのことだとすると
何も問題なければ23日に出るみたい?
0629名無しさん@お腹いっぱい。2007/04/09(月) 10:23:52
YaTeX で特定のコマンドをキーワードに追加して色付けしたいのですが、やり方
が分りません。

例えば、\endnote{hoge} という文字列は YaTeX のデフォルトの色付けではハイ
ライトされませんが、これを \footnote{hoge} のように font-lock-add-keyword
に加えたい、という事です。

ググると、font-lock-add-keywords で正規表現で加えていくのかなと思いまし
たが、よくやり方がわかりませんでした。御教授よろしくお願いします。m(_ _)m
0630名無しさん@お腹いっぱい。2007/04/09(月) 22:15:59
>>629
そういうのはマニュアル読むとこでないかい?
0631名無しさん@お腹いっぱい。2007/04/11(水) 14:52:50
C-x oの場合と反対の方向にバッファ移動するにはどうすればいい?
0632名無しさん@お腹いっぱい。2007/04/11(水) 15:02:46
C-u C-x o
0633名無しさん@お腹いっぱい。2007/04/11(水) 20:28:29
>>628
ttp://lwn.net/Articles/229825

くるみたいですね。
0634名無しさん@お腹いっぱい。2007/04/11(水) 20:48:23
本来 21.4 として出すはずだったのにずいぶんてこずったねえ。
22 とは言っても 21 と大差ないし、さっさとリリースしてしまって TRUNK に
emacs-unicode-2、xft、multi-tty、lexbind をマージして欲しい。
0635名無しさん@お腹いっぱい。2007/04/11(水) 21:59:29
>>632
C-u C-x o ではなく C-- C-x o なんじゃない?
0636名無しさん@お腹いっぱい。2007/04/11(水) 22:09:48
>>635
大丈夫かお前?
0637名無しさん@お腹いっぱい。2007/04/11(水) 23:41:47
大丈夫とか言ってる前に、ドキュメント嫁よ。

C-x o => other-window

other-window is an interactive built-in function.
(other-window ARG &optional ALL-FRAMES)

Select the ARG'th different window on this frame.
All windows on current frame are arranged in a cyclic order.
This command selects the window ARG steps away in that order.
A negative ARG moves in the opposite order. If the optional second
argument ALL_FRAMES is non-nil, cycle through all frames.

要は、「A negative ARG moves in the opposite order.」だから、

C-u - C-x o

だろ。
0638名無しさん@お腹いっぱい。2007/04/12(木) 00:23:57
>>637
で、 C-- C-x o が出てくる理由は?
0639名無しさん@お腹いっぱい。2007/04/12(木) 01:07:09
M-x backward-other-window
0640名無しさん@お腹いっぱい。2007/04/12(木) 02:04:44
>>638
一から中まで人に聞いてないでマニュアル読めば?
0641名無しさん@お腹いっぱい。2007/04/12(木) 03:39:52
"一から中まで" の検索結果 1 件中日本語のページ 1 - 1 件

どこの方言ですか?
0642名無しさん@お腹いっぱい。2007/04/12(木) 04:19:36
Emacsで花見をするのに、どんなコマンドがありましたっけ?
0643名無しさん@お腹いっぱい。2007/04/12(木) 07:03:48
M-x zone
0644名無しさん@お腹いっぱい。2007/04/12(木) 08:27:32
>>641
むしろ貴重だな
0645名無しさん@お腹いっぱい。2007/04/12(木) 11:49:28
>>643 thx!
0646名無しさん@お腹いっぱい。2007/04/12(木) 12:38:58
バッファの切り替えをワンタッチでやるにはどうしたらいいんでしょうか?
0647名無しさん@お腹いっぱい。2007/04/12(木) 13:06:19
>>646
(global-set-key [space] 'next-buffer)
0648名無しさん@お腹いっぱい。2007/04/12(木) 13:46:44
(global-set-key "\C-q" 'next-buffer)
(global-set-key "\M-q" 'previous-buffer)
としたんですが、
symbol's function definition is void: next-buffer
と出て何も起きません。
どこで間違ってますか?
0649名無しさん@お腹いっぱい。2007/04/12(木) 13:55:27
どのバージョン使ってるんだ?
しかしC-q潰すのかよ。
0650名無しさん@お腹いっぱい。2007/04/12(木) 14:03:34
バージョンはGNU Emacsの21.4.1です。
C-qは押しても何も起こらなかったので
適当に選びました。
0651名無しさん@お腹いっぱい。2007/04/12(木) 14:12:52
keybindの確認方法が
「押すこと」
に驚愕
0652名無しさん@お腹いっぱい。2007/04/12(木) 14:13:08
C-qはC-aとかを行頭への移動でなく^Aとするためなんかに使うから
ふつう潰さないよ。
C-h k C-q or f1 k C-q とかすると、既にquoted-insertが
割り当てられている事が確認できる。

# どのバージョンから導入されたコマンドかってのは
# ChangeLogでなくC-h NのNEWS見ないと分かんないな。はんせい。
0653名無しさん@お腹いっぱい。2007/04/12(木) 14:25:11
C-q は特殊な処理になってるらしいから
C-q に割り当てるのは難しそう。
0654名無しさん@お腹いっぱい。2007/04/12(木) 14:34:15
(global-set-key (kbd"C-x <up>") 'next-buffer)
(global-set-key (kbd"C-x <down>") 'previous-buffer)
に変更してためしてみましたが
やはり
symbol's function definition is void: next-buffer
などと出てしまいます。
うーむ。
0655名無しさん@お腹いっぱい。2007/04/12(木) 14:39:33
なら存在する関数を割り当てればいいじゃない。
0656名無しさん@お腹いっぱい。2007/04/12(木) 14:42:35
C-x o
0657名無しさん@お腹いっぱい。2007/04/12(木) 14:43:16
「バッファの切り替え」っていうけど、
どういう切り替えをしたいのかよくわからん。
0658名無しさん@お腹いっぱい。2007/04/12(木) 14:46:39
>>653
こんなのはどう。
(define-prefix-command 'ctl-q-map)
(define-key ctl-q-map "\C-q" 'quoted-insert)
(define-key global-map "\C-q" 'ctl-q-map)
(define-key ctl-q-map "\C-n" 'next-buffer)
(define-key ctl-q-map "\C-p" 'previous-buffer)

>>654
シンボルの関数定義は、空です:next-buffer
Emacs 22 を待て。
0659名無しさん@お腹いっぱい。2007/04/12(木) 14:50:57
レス沢山どうも。
結局
ttp://www.bookshelf.jp/soft/meadow_28.html#SEC367
これ入れました。
06606352007/04/12(木) 20:31:16
>>637さん、フォローありがとうございます。


私の環境ではこうなっています。

C-- runs the command negative-argument
which is an interactive compiled Lisp function in `simple.el'.
It is bound to C--, M--, C-M--.
(negative-argument arg)

Begin a negative numeric argument for the next command.
C-u following digits or minus sign ends the argument.

それで other-window に負数の前置引数を渡すために C-- を付けました。
前置引数に-1を指定した動作を期待して
C-- C-x o や C-- C-l を実行するとその通りに動いているため、
>>638さんが何に対して怒っているのか正直理解しかねています。
■ このスレッドは過去ログ倉庫に格納されています