 	       "catch"
                "finally"
                "retry"
+	       "class"
 	       "def"
                "return_local"
 	       "return"

     ("[^a-zA-Z_]\\(\\?\\(\\\\[CM]-\\)*.\\)" 1 string)
     ("^\\s *\\(require\\|load\\).*$" nil include)
     ("^\\s *\\(include\\|alias\\|undef\\).*$" nil decl)
     ("^\\s *\\<\\(def class\\|def actor\\|def\\|module\\)\\>" "[)\n;]" defun)
     ("[^_]\\<\\(match\\|finally\\|catch\\)\\>\\([^_]\\|$\\)" 1 defun)
     ("[^_]\\<\\(return_local\\|return\\|super\\|catch\\|try\\|finally\\|self\\|nil\\)\\>\\([^_]\\|$\\)" 1 keyword)
     ("\\$\\(.\\|\\sw+\\)" nil type)

	(let ((mlist nil) (indent 0))
	  ;; get current method (or class/module)
	  (if (re-search-backward
	       (concat "^[ \t]*\\(class\\|def\\|module\\)[ \t]+"
		       "\\("
		       ;; \\. for class method
			"\\(" fancy-symbol-re "\\|\\." "\\)"
