      ("[^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)
+     ("^\\s *\\<\\(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)

	       "catch"
               "finally"
               "retry"
	       "def"
               "return_local"
	       "return"

  (let ((index-alist '()) (case-fold-search nil)
	name next pos decl sing)
    (goto-char beg)
    (while (re-search-forward "^\\s *\\(\\(class\\>\\(\\s *<<\\)?\\|module\\>\\)\\s *\\([^\(<\n ]+\\)\\|\\(def\\|alias\\)\\>\\s *\\([^\(\n ]+\\)\\)" end t)
      (setq sing (match-beginning 3))
      (setq decl (match-string 5))
      (setq next (match-end 0))
