[#7102] Ruby 1.3.4-990611 — Yukihiro Matsumoto <matz@...>

Ruby 1.3.4-990611 is out, check out:

20 messages 1999/06/11

[#7223] Ruby 1.3.4-990625 — Yukihiro Matsumoto <matz@...>

Ruby 1.3.4-990625 is out, check out:

14 messages 1999/06/25
[#7224] -Wl,-rpath on Linux (Re: Ruby 1.3.4-990625) — Ryo HAYASAKA <hayasaka@...21.u-aizu.ac.jp> 1999/06/25

早坂@会津大学です。

[ruby-dev:7179] Re: [PATCH] rubydb3x.el, ruby-mode.el

From: "Nakada.Nobuyoshi" <nobu.nakada@...>
Date: 1999-06-22 23:51:27 UTC
List: ruby-dev #7179
At Wed, 23 Jun 1999 08:01:13 +0900,
nobu.nakada@nifty.ne.jp wrote:
>   XEmacs 20.4 で rubydb3x.el が gud.el の中でエラーになるので、とりあえ
> ずパッチです。gud のバージョンは 1.3 です。他のバージョンでどうなるかは
> 確認してませんので、このままではマズい可能性大(^^;;。
> 
>   ついでに ruby-mode.el の方は、catch, throw と symbol も色分けするパッ
> チです。
  うひぃ、ごめんなさ〜いm(__)m 付け忘れてるぅ(^人^;;

-- 
  /| /      /| /     中田伸悦@鹿沼.栃木
_/ _/OBU. _/ _/OKADA <nobu.nokada@softhome.net>

diff -ur ruby-1.3.4-990611/misc/rubydb3x.el ruby/misc/rubydb3x.el
--- ruby-1.3.4-990611/misc/rubydb3x.el	Wed Jan 20 13:59:36 1999
+++ ruby/misc/rubydb3x.el	Fri Jun 18 04:25:27 1999
@@ -8,7 +8,7 @@
 (defvar gud-rubydb-history nil)
 
 (defun gud-rubydb-massage-args (file args)
-  (cons "-r" (cons "debug" args)))
+  (cons "-r" (cons "debug" (cons file 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
@@ -19,46 +19,46 @@
 (defvar gud-rubydb-marker-acc "")
 
 (defun gud-rubydb-marker-filter (string)
-  (setq gud-marker-acc (concat gud-marker-acc string))
+  (setq gud-rubydb-marker-acc (concat gud-rubydb-marker-acc string))
   (let ((output ""))
 
     ;; Process all the complete markers in this chunk.
     (while (string-match "\032\032\\([^:\n]*\\):\\([0-9]*\\):.*\n"
-			 gud-marker-acc)
+			 gud-rubydb-marker-acc)
       (setq
 
        ;; Extract the frame position from the marker.
        gud-last-frame
-       (cons (substring gud-marker-acc (match-beginning 1) (match-end 1))
-	     (string-to-int (substring gud-marker-acc
+       (cons (substring gud-rubydb-marker-acc (match-beginning 1) (match-end 1))
+	     (string-to-int (substring gud-rubydb-marker-acc
 				       (match-beginning 2)
 				       (match-end 2))))
 
        ;; Append any text before the marker to the output we're going
        ;; to return - we don't include the marker in this text.
        output (concat output
-		      (substring gud-marker-acc 0 (match-beginning 0)))
+		      (substring gud-rubydb-marker-acc 0 (match-beginning 0)))
 
        ;; Set the accumulator to the remaining text.
-       gud-marker-acc (substring gud-marker-acc (match-end 0))))
+       gud-rubydb-marker-acc (substring gud-rubydb-marker-acc (match-end 0))))
 
     ;; Does the remaining text look like it might end with the
     ;; beginning of another marker?  If it does, then keep it in
-    ;; gud-marker-acc until we receive the rest of it.  Since we
+    ;; gud-rubydb-marker-acc until we receive the rest of it.  Since we
     ;; know the full marker regexp above failed, it's pretty simple to
     ;; test for marker starts.
-    (if (string-match "\032.*\\'" gud-marker-acc)
+    (if (string-match "\032.*\\'" gud-rubydb-marker-acc)
 	(progn
 	  ;; Everything before the potential marker start can be output.
-	  (setq output (concat output (substring gud-marker-acc
+	  (setq output (concat output (substring gud-rubydb-marker-acc
 						 0 (match-beginning 0))))
 
 	  ;; Everything after, we save, to combine with later input.
-	  (setq gud-marker-acc
-		(substring gud-marker-acc (match-beginning 0))))
+	  (setq gud-rubydb-marker-acc
+		(substring gud-rubydb-marker-acc (match-beginning 0))))
 
-      (setq output (concat output gud-marker-acc)
-	    gud-marker-acc ""))
+      (setq output (concat output gud-rubydb-marker-acc)
+	    gud-rubydb-marker-acc ""))
 
     output))
 
@@ -66,7 +66,7 @@
   (save-excursion
     (let ((buf (find-file-noselect f)))
       (set-buffer buf)
-      (gud-make-debug-menu)
+;;      (gud-make-debug-menu)
       buf)))
 
 (defvar rubydb-command-name "ruby"
@@ -85,8 +85,10 @@
 			       nil nil
 			       '(gud-rubydb-history . 1))))
 
-  (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")
diff -ur ruby-1.3.4-990611/misc/ruby-mode.el ruby/misc/ruby-mode.el
--- ruby-1.3.4-990611/misc/ruby-mode.el	Wed Jun 23 07:40:49 1999
+++ ruby/misc/ruby-mode.el	Mon Jun 21 09:14:34 1999
@@ -632,7 +632,7 @@
      ("^\\s *\\(include\\|alias\\|undef\\).*$" nil decl)
      ("^\\s *\\<\\(class\\|def\\|module\\)\\>" "[)\n;]" defun)
      ("[^_]\\<\\(begin\\|case\\|else\\|elsif\\|end\\|ensure\\|for\\|if\\|unless\\|rescue\\|then\\|when\\|while\\|until\\|do\\)\\>[^_]" 1 defun)
-     ("[^_]\\<\\(and\\|break\\|next\\|raise\\|fail\\|in\\|not\\|or\\|redo\\|retry\\|return\\|super\\|yield\\|self\\|nil\\)\\>[^_]" 1 keyword)
+     ("[^_]\\<\\(and\\|break\\|next\\|raise\\|fail\\|in\\|not\\|or\\|redo\\|retry\\|return\\|super\\|yield\\|catch\\|throw\\|self\\|nil\\)\\>[^_]" 1 keyword)
      ("\\$\\(.\\|\\sw+\\)" nil type)
      ("[$@].[a-zA-Z_0-9]*" nil struct)
      ("^__END__" nil label))))
@@ -650,6 +650,7 @@
 	       "begin"
 	       "break"
 	       "case"
+	       "catch"
 	       "class"
 	       "def"
 	       "do"
@@ -671,6 +672,7 @@
 	       "retry"
 	       "return"
 	       "then"
+	       "throw"
 	       "self"
 	       "super"
 	       "unless"
@@ -686,14 +688,17 @@
      '("\\b\\(nil\\|self\\|true\\|false\\)\\b"
        1 font-lock-variable-name-face)
      ;; variables
-     '("[$@].[a-zA-Z0-9_]*"
+     '("[$@].\\(\\w\\|_\\)*"
        0 font-lock-variable-name-face)
      ;; constants
-     '("\\(^\\|[^_]\\)\\b\\([A-Z]+[a-zA-Z0-9_]*\\)"
+     '("\\(^\\|[^_]\\)\\b\\([A-Z]+\\(\\w\\|_\\)*\\)"
        2 font-lock-type-face)
      ;; functions
-     '("^\\s *def\\s *\\<\\(\\(\\w\\|\\s_\\)+\\.\\)?\\(\\(\\w\\|\\s_\\)+\\)\\>"
-       3 font-lock-function-name-face t))
+     '("^\\s *def\\s *\\<\\(\\(\\w\\|_\\)+\\(\\.\\|::\\)\\)?\\(\\(\\w\\|_\\)+\\??\\)\\>"
+       4 font-lock-function-name-face t)
+     ;; symbols
+     '("\\(^\\|[^:]\\)\\(:\\(\\w\\|_\\)+\\??\\)\\b"
+       2 font-lock-reference-face t))
     "*Additional expressions to highlight in ruby mode.")
 
 (provide 'ruby-mode)

In This Thread