🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.editor.emacs
Article #492

Re: 21.3.50.2の動作について

#492
From: Katsumi Yamaoka
Date: Fri, 21 May 2004 07:05
73 lines
3324 bytes
こんにちは山岡です。ごめんなさい、直接の解決ではありません。

>>>>> In <867jv7ixao.fsf@crisis.moonrabbit.co.jp>
>>>>>	Ryuhei Funatsu <ryu@moonrabbit.co.jp> wrote:

> こんにちは、船津と申します。

> 最近、emacsのバージョンを21.3から21.3.50.2上げました。

[...]

> M-x replace-regexp
> Replace regexp: ^ with: mv "

> というのを良くやります。
> 21.3.50.2では、1000行以上のファイルに上記処理を行なうと
> ところどころの行で^@(NULL)が挿入される場合があります。

簡単に再現できました。

(let ((buffer (get-buffer-create "*testing*"))
      i)
  (pop-to-buffer buffer)
  (erase-buffer)
  (while (not (search-forward "\000" nil t))
    (erase-buffer)
    (setq i 1)
    (while (<= i 1000)
      (insert (format "%05d\n" i))
      (setq i (1+ i)))
    (goto-char (point-min))
    (replace-regexp "^" ".")
    (goto-char (point-min))))

;; *scratch* バッファにこれをコピーして最下行の行末で C-j。

どうやらこれは replace-regexp を定義している lisp/replace.el で
はなくて、何かの src/*.c にバグがいるのだと思います。

[...]

> 1. この現象は.emacs等の設定で直るものなのでしょうか?

ユーザ設定ではどうにもならない気がします。

> 2. 21.3.50.1でも同様の問題が発生するでしょうか?
> 3. もし21.3.50.1では問題が発生しないとして、これをCVSから取得する方法は
>    あるでしょうか?

普通、最後の数字は船津さんかどなたがか Emacs を作るたびに上がっ
ていく番号で、開発中のソースの新旧などとは関係ありません。:)
src/ChangeLog や lisp/ChangeLog ファイルを見るのが確実でしょう。
例えば、大雑把に昔のソースを CVS で取り出す場合は

cvs co -D '6 months ago' emacs

という手がありますが。
ナンでしたら、開発陣に投げてみましょうか?

ところで、ぼくはすべての行頭に同じものを挿入する場合、こんなふう
にしています。

M-x replace-string RET
Replace string: C-j with mv "

ここで C-j は改行文字で、実際には C-q C-j とタイプします。
これだと置換の元が空文字ではなくなるので、似た問題は起きないので
はないでしょうか。

;; つい最近、空文字にマッチする正規表現を使うプログラムを書いた
;; ので不安になりました。
-- 
Katsumi Yamaoka <yamaoka@jpl.org>
Technical Details
Message-ID: <b9y65aqcla2.fsf@jpl.org>
Path: arc1-ca.pugleaf.net!controlnews3.google.com!news1.google.com!news.glorb.com!fu-berlin.de!uni-berlin.de!not-for-mail
References: <867jv7ixao.fsf@crisis.moonrabbit.co.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: ff358,da5ebaee40662d4a
X-Google-Attributes: gidff358,public
Path: arc1-ca.pugleaf.net!controlnews3.google.com!news1.google.com!news.glorb.com!fu-berlin.de!uni-berlin.de!not-for-mail
From: Katsumi Yamaoka <yamaoka@jpl.org>
Newsgroups: fj.editor.emacs
Subject: Re: 21.3.50.2の動作について
Date: Fri, 21 May 2004 16:05:41 +0900
Organization: Emacsen advocacy group
Lines: 73
Message-ID: <b9y65aqcla2.fsf@jpl.org>
References: <867jv7ixao.fsf@crisis.moonrabbit.co.jp>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-2022-jp
X-Trace: news.uni-berlin.de A9TFpEhTEhlWqihzkY+fXA+TBqX2ciFZ1YYuTMyGpzzIvy9C0=
X-Face: #kKnN,xUnmKia.'[pp`;Omh}odZK)?7wQSl"4o04=EixTF+V[""w~iNbM9ZL+.b*_CxUmFk
 B#Fu[*?MZZH@IkN:!"\w%I_zt>[$nm7nQosZ<3eu;B:$Q_:p!',P.c0-_Cy[dz4oIpw0ESA^D*1Lw=
 L&i*6&(
User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux)
Cancel-Lock: sha1:i17ZgkzYtlTBj1iwPGIN6u7FNoA=