diff options
Diffstat (limited to 'misc')
-rw-r--r-- | misc/ruby-mode.el | 26 | ||||
-rw-r--r-- | misc/ruby-style.el | 14 |
2 files changed, 20 insertions, 20 deletions
diff --git a/misc/ruby-mode.el b/misc/ruby-mode.el index 1eeaa6575f..a2755f44e0 100644 --- a/misc/ruby-mode.el +++ b/misc/ruby-mode.el @@ -68,8 +68,8 @@ (let ((match (match-string 1))) (if (and match (> (length match) 0)) (concat "\\(?:-\\([\"']?\\)\\|\\([\"']\\)" (match-string 1) "\\)" - contents "\\(\\1\\|\\2\\)") - (concat "-?\\([\"']\\|\\)" contents "\\1")))))) + contents "\\b\\(\\1\\|\\2\\)") + (concat "-?\\([\"']\\|\\)" contents "\\b\\1")))))) (defconst ruby-delimiter (concat "[?$/%(){}#\"'`.:]\\|<<\\|\\[\\|\\]\\|\\<\\(" @@ -1179,17 +1179,17 @@ buffer position `limit' or the end of the buffer." (string-to-syntax "|")))) (defun ruby-here-doc-end-syntax () - (save-excursion - (goto-char (match-end 0)) - (let ((old-point (point)) - (beg-exists (re-search-backward (ruby-here-doc-beg-match) nil t)) - (eol (save-excursion (end-of-line) (point)))) - (if (and beg-exists ; If there is a heredoc that matches this line... - (null (syntax-ppss-context (syntax-ppss))) ; And that's not inside a heredoc/string/comment... - (progn (goto-char (match-end 0)) ; And it's the last heredoc on its line... - (not (re-search-forward ruby-here-doc-beg-re eol t))) - (eq old-point (ruby-here-doc-find-end old-point))) ; And it ends at this point... - (string-to-syntax "|"))))) + (let ((pss (syntax-ppss))) + (when (eq (syntax-ppss-context pss) 'string) + (save-excursion + (goto-char (nth 8 pss)) + (let ((eol (point))) + (beginning-of-line) + (if (and (re-search-forward (ruby-here-doc-beg-match) eol t) ; If there is a heredoc that matches this line... + (null (syntax-ppss-context (syntax-ppss))) ; And that's not inside a heredoc/string/comment... + (progn (goto-char (match-end 0)) ; And it's the last heredoc on its line... + (not (re-search-forward ruby-here-doc-beg-re eol t)))) + (string-to-syntax "|"))))))) (if (featurep 'xemacs) (put 'ruby-mode 'font-lock-defaults diff --git a/misc/ruby-style.el b/misc/ruby-style.el index 1915419056..b99e71b35c 100644 --- a/misc/ruby-style.el +++ b/misc/ruby-style.el @@ -21,7 +21,7 @@ (save-excursion (back-to-indentation) (unless (progn (backward-up-list) (back-to-indentation) - (> (point) (cdr x))) + (> (point) (cdr x))) (goto-char (cdr x)) (if (looking-at "\\<case\\|default\\>") '*)))) @@ -29,14 +29,14 @@ (save-excursion (back-to-indentation) (unless (progn (backward-up-list) (back-to-indentation) - (>= (point) (cdr x))) + (>= (point) (cdr x))) (goto-char (cdr x)) (condition-case () - (progn - (backward-up-list) - (backward-sexp 2) - (if (looking-at "\\<switch\\>") '/)) - (error))))) + (progn + (backward-up-list) + (backward-sexp 2) + (if (looking-at "\\<switch\\>") '/)) + (error))))) (require 'cc-styles) (c-add-style |