From: Koji Arai Date: 1999-07-04T21:43:22+09:00 Subject: [ruby-dev:7282] Re: [PATCH] rubydb3x.el, ruby-mode.el 新井です。 >>> From: nobu.nakada@nifty.ne.jp >>> Date: 02 Jul 1999 05:27:15 +0900 >>> Subject: [ruby-dev:7272] Re: [PATCH] rubydb3x.el, ruby-mode.el > なかだです。 > gud-rubydb-marker-acc というのもいじったと思うのですが、これに関しては不 > 都合は出てないでしょうか。これは方々に散らばってたので、これを戻すような > ら別ファイルにしてしまったほうがいいかも。 未だよく調べてはいませんが、たぶん、 gud-rubydb-marker-filter 関数だけが使う変数なので 問題ないと思います。ただ、バッファローカルな変数に した方が行儀がよいようですね。パッチを作り直しまし た。 > > これは元に戻すことで対処しました。XEmacsでは都合が > > 悪いんですよね?どうしましょう? > XEmacs だとスクリプト名が渡らなくなります。やっぱり添付のパッチのよう > な感じでしょうか。なんか汚くてヤですが。(^^; やっぱり、そうなりますか。 ところで、gud-make-debug-menu 関数の呼び出しをなく したのはどういうことでしょう?Emacs 20.3 では、特 に問題はないようですが。 Index: misc/rubydb3x.el =================================================================== RCS file: /home/cvs/ruby/misc/Attic/rubydb3x.el,v retrieving revision 1.1.1.1.2.1 diff -u -r1.1.1.1.2.1 rubydb3x.el --- misc/rubydb3x.el 1999/06/24 04:24:08 1.1.1.1.2.1 +++ misc/rubydb3x.el 1999/07/04 10:52:55 @@ -7,8 +7,11 @@ ;;; History of argument lists passed to rubydb. (defvar gud-rubydb-history nil) -(defun gud-rubydb-massage-args (file args) - (cons "-r" (cons "debug" (cons file args)))) +(if (fboundp 'gud-overload-functions) + (defun gud-rubydb-massage-args (file args) + (cons "-r" (cons "debug" (cons file args)))) + (defun gud-rubydb-massage-args (file args) + (cons "-r" (cons "debug" args)))) ;; There's no guarantee that Emacs will hand the filter the entire ;; marker at once; it could be broken up across several strings. We @@ -17,6 +20,7 @@ ;; beginning of a marker, we save it here between calls to the ;; filter. (defvar gud-rubydb-marker-acc "") +(make-variable-buffer-local 'gud-rubydb-marker-acc) (defun gud-rubydb-marker-filter (string) (setq gud-rubydb-marker-acc (concat gud-rubydb-marker-acc string)) @@ -85,10 +89,13 @@ nil nil '(gud-rubydb-history . 1)))) - (gud-overload-functions '((gud-massage-args . gud-rubydb-massage-args) - (gud-marker-filter . gud-rubydb-marker-filter) - (gud-find-file . gud-rubydb-find-file))) - (gud-common-init command-line rubydb-command-name) + (if (not (fboundp 'gud-overload-functions)) + (gud-common-init command-line 'gud-rubydb-massage-args + 'gud-rubydb-marker-filter 'gud-rubydb-find-file) + (gud-overload-functions '((gud-massage-args . gud-rubydb-massage-args) + (gud-marker-filter . gud-rubydb-marker-filter) + (gud-find-file . gud-rubydb-find-file))) + (gud-common-init command-line rubydb-command-name)) (gud-def gud-break "b %l" "\C-b" "Set breakpoint at current line.") ; (gud-def gud-remove "clear %l" "\C-d" "Remove breakpoint at current line")