[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: gud mode in Meadow



素人なのに、Meadow(1.00)を使い始めた、山田です。 (^^);;

Thu 05 Mar 1998 10:26:50 +0900
【 Subject: Re: gud mode in Meadow 】
【 gotoh@xxxxxxxxxxx 】 wrote:

>> 以前 Mule for Windowsからgud.elでperlのデバッガを使ったとき
>> filenameの部分にドライブ名(c:など)が入っていて、うまく動作
>> しませんでした。そのときもソースが表示されませんでした。
>> regexpでこのコロン':'がセパレータとして使われてしまい、
>> 正しい情報が伝わらなかったというオチです。
>> その時は添付のdiffのようなeasyな修正をして逃げたような。
>> あくまでperl (gud-perldb-marker-filer)の話ですので、
>> この類だとすれば、gud-gbd-marker-filerをedebugなどで追ってみると、
>> わかるのではないでしょうか。

Meadow/1.00/lisp/gud.el をちょっと見てみましたが、
perldbの方は、以下のようになっていて、ソースを読んでくれますね。

----
(defun gud-perldb-marker-filter (string)
  (setq gud-marker-acc (concat gud-marker-acc string))
  (let ((output ""))

    ;; Process all the complete markers in this chunk.
    (while (string-match "\032\032\\(\\([a-zA-Z]:\\)?[^:\n]*\\):\\([0-
9]*\\):.*\n"
			 gud-marker-acc)
----

gdbの方は以下のようになっていて、
ここを変えれば何かうまく行きそうだと
素人ながら思ったのですが、どうなんでしょう?

# elispも正規表現もいまいちよく分かってないので
  どう直すか??ですが。。

ちなみに、gdbで矢印しかでないbufferは、
a:/foo.c -> a:/a/foo.c になっていました。

----
(defvar gud-gdb-marker-regexp
  ;; This used to use path-separator instead of ":";
  ;; however, we found that on both Windows 32 and MSDOS
  ;; a colon is correct here.
  (concat "\032\032\\(.:?[^" ":" "\n]*\\)" ":"
	  "\\([0-9]*\\)" ":" ".*\n"))
----