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

Emacs Part 44

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2013/12/14(土) 17:36:04.45
語り合いましょう。

GNU 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/
0002名無しさん@お腹いっぱい。2013/12/14(土) 19:16:51.50
emacsを算数のお道具箱に
imaxima,
gnuplot,
reduce,
octave,
sage,
macaulay2,
mathematica
が動く様になった
幸せ〜
0003名無しさん@お腹いっぱい。2013/12/14(土) 22:37:52.92
新スレ乙
0004名無しさん@お腹いっぱい。2013/12/15(日) 16:35:33.84
      ____∩_∩
  〜/        ・ ・\
   (          ∀   )  <ぼく、4ゲット君
    \/\/\/\/
0005名無しさん@お腹いっぱい。2013/12/15(日) 21:18:40.55
正規表現の質問です
(setq test "/*
/* test */
*/

foo

/*
foo
*/")
testの /* */ 内を取り除こうとして
(replace-regexp-in-string "/\\*\\(.\\|\n\\)+?\\*/" "" test)
と書いたら


*/

foo
と一部の */ が残ってしまいました。バックスラッシュの付け方に誤りがあるかと思いましたがよくわかりません。
0006名無しさん@お腹いっぱい。2013/12/15(日) 21:44:42.98
一つめの部分で、外側のコメント開始から内側のコメント終了までにマッチしてるんだよ。
基本的に正規表現は入れ子に対応するのが難しい。
0007名無しさん@お腹いっぱい。2013/12/16(月) 14:44:16.72
;; assoc の引数が1以外だとdata1が書き換えられる。
(setq data1 '((1 . 1)(2 . 2)(3 . 3)))
(let ((data2 data1))
(setq data2 (delete (assoc 1 data2) data2)))

これは仕様なのでしょうか。
0008名無しさん@お腹いっぱい。2013/12/16(月) 14:59:23.76
>>7
delete はリストに対しては破壊的な操作を行うので仕様的に正しいです。

あとは、data2 に data1 の値を設定してるけど、リストの先頭の位置の値をコピーしてるだけなので
data2 の指すリスト自体を作り替えた場合 data1 が指してるリストも同じなので影響を受けます。

'((1 . 1) (2 . 2) (3 . 3)) に対して (1 . 1) の delete を行った場合、
'((1 . 1) . ((2 . 2) . ((3 . 3)))) の ((2 . 2) . ((3 . 3))) の部分が戻されるだけでリストは壊されず、
data1 は相変わらず先頭をさしたままなので何事も影響ないような感じになるけど
(2 . 2) とかの先頭じゃない部分の delete の場合、'((1 . 1) . ((3 . 3))) にリストが繋ぎ変えられるので。
0009名無しさん@お腹いっぱい。2013/12/16(月) 15:30:51.34
>>7
http://gyazo.com/c69385e8ce20446517901919c1977597.png

letしたからといってデータ構造までコピーされるわけではないよ
0010名無しさん@お腹いっぱい。2013/12/16(月) 15:47:01.22
>>8
>>9
どうもありがとうございます。理解できました。
0011名無しさん@お腹いっぱい。2013/12/16(月) 20:13:59.80
今って migemo.el ってどこでメンテナンスされているんでしょうか?
query-replace-highlight が効かなくてソースを見てみると
migemo がハイライト関係の関数をまるっと置き換えててそれが原因で query-replace に
影響が出てるみたいなんですが、どこに報告したらいいんだろう
0012112013/12/16(月) 20:51:03.77
とりあえず migemo 本体に修正をいれないで query-replace での lazy-highlight を殺さない設定。
isearch-lazy-highlight-search をオリジナルのものが呼び出されるようにすれば大丈夫だった。

;; migemo を require するまえに実行すること
(defvar org-isearch-lazy-highlight-search
(symbol-function 'isearch-lazy-highlight-search)
"migemo に置き換えられる前の `isearch-lazy-highlight-search'.")

(dolist (fn '(query-replace query-replace-regexp))
(eval `(defadvice ,fn (around ,(intern (format "%s-with-migemo"
fn)) activate)
,(format "migemo 導入時でもハイライトを有効にする.")
(cl-letf (((symbol-function 'isearch-lazy-highlight-search)
org-isearch-lazy-highlight-search))
ad-do-it
))))

(require 'migemo)
0013名無しさん@お腹いっぱい。2013/12/16(月) 21:33:16.38
migemoはgithubのemacs-jpに逝ったような。
0014名無しさん@お腹いっぱい。2013/12/16(月) 23:28:52.98
>>11
https://github.com/emacs-jp/migemo

ただ、ruby版じゃなくてcmigemoが必要。
cmigemoもgit版のほうが良いかも。
0015名無しさん@お腹いっぱい。2013/12/17(火) 00:38:21.17
>>6
ありがとうございます。
対策は難しそうですね。
考えてみます。
0016名無しさん@お腹いっぱい。2013/12/18(水) 23:27:05.71
emacs-develでfeature freezeについて一悶着あったみたいだけど、
ドキュメントにあるような決まりきった英語じゃないから、何が
書いてあるかさっぱり分からん…
そういう英語が分かるようになるのは、もう諦めてるがw
0017名無しさん@お腹いっぱい。2013/12/19(木) 00:21:53.55
ここから連なる一連のスレッドか。
http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00455.html

略語が沢山出てきてよくわかんなくなってくるね。
0018名無しさん@お腹いっぱい。2013/12/19(木) 01:05:44.32
来週末にfeature freezeするから、何か機能追加したかったら
さっさとやってね
っていう告知があった後に、
ox-odt.el --- OpenDocument Text Exporter for Org Mode
を突っ込むよと言った人に対して、お前著作権がらみの署名してなさそう
だから、お前の変更要求は受けつけないよ。パッチを提出したかったら
先にアドレスを教えてよ。
って言われてブチ切れたっぽいのは分かったが、後半はようわからん。
最後の方で、「みなさん、煽り立てるをやめてください」と
いうのがあって少し受けた
0019名無しさん@お腹いっぱい。2013/12/19(木) 01:07:45.56
>>17
> ここから連なる一連のスレッドか。
> http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00455.html
>
> 略語が沢山出てきてよくわかんなくなってくるね。

AFAIK って知らんかった。

copyright paperwork は依然書かされたよ。
10行超の修正をする際に必須とか。
■ このスレッドは過去ログ倉庫に格納されています