1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* misc/ruby-mode.el (ruby-special-char-p, ruby-parse-partial): handle

operator symbols.  [ruby-talk:120177]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2004-11-15 02:51:10 +00:00
parent 7320e53be1
commit e77fc75802
2 changed files with 15 additions and 5 deletions

View file

@ -1,3 +1,8 @@
Mon Nov 15 11:50:32 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
* misc/ruby-mode.el (ruby-special-char-p, ruby-parse-partial): handle
operator symbols. [ruby-talk:120177]
Mon Nov 15 08:58:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org> Mon Nov 15 08:58:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (Init_Proc): make proc as an alias to Proc.new. * eval.c (Init_Proc): make proc as an alias to Proc.new.

View file

@ -293,10 +293,11 @@ The variable ruby-indent-level controls the amount of indentation.
(move-to-column (+ x shift)))))) (move-to-column (+ x shift))))))
(defun ruby-special-char-p (&optional pnt) (defun ruby-special-char-p (&optional pnt)
(let ((c (char-before (or pnt (point))))) (setq pnt (or pnt (point)))
(let ((c (char-before pnt)) (b (and (< (point-min) pnt) (char-before (1- pnt)))))
(cond ((or (eq c ??) (eq c ?$))) (cond ((or (eq c ??) (eq c ?$)))
((eq c ?\\) ((and (eq c ?:) (or (not b) (eq (char-syntax b) ? ))))
(eq (char-before (1- (or pnt (point)))) ??))))) ((eq c ?\\) (eq b ??)))))
(defun ruby-expr-beg (&optional option) (defun ruby-expr-beg (&optional option)
(save-excursion (save-excursion
@ -503,7 +504,11 @@ The variable ruby-indent-level controls the amount of indentation.
(setq nest (cons (cons nil pnt) nest)) (setq nest (cons (cons nil pnt) nest))
(setq depth (1+ depth))) (setq depth (1+ depth)))
(goto-char pnt)) (goto-char pnt))
((looking-at ":\\([a-zA-Z_][a-zA-Z_0-9]*\\)?") ((looking-at ":\\(['\"]\\)\\(\\\\.\\|[^\\\\]\\)*\\1")
(goto-char (match-end 0)))
((looking-at ":\\([-,.+*/%&|^~<>]=?\\|===?\\|<=>\\)")
(goto-char (match-end 0)))
((looking-at ":\\([a-zA-Z_][a-zA-Z_0-9]*[!?=]?\\)?")
(goto-char (match-end 0))) (goto-char (match-end 0)))
((or (looking-at "\\.\\.\\.?") ((or (looking-at "\\.\\.\\.?")
(looking-at "\\.[0-9]+") (looking-at "\\.[0-9]+")