зеркало из https://github.com/github/ruby.git
* misc/*.el: merged the following patches from Nathan Weizenbaum
<nex342 at gmail.com>. [ruby-core:18424] * misc/ruby-mode.el: improve here-doc performance. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
0771b987a4
Коммит
2d1c5d2c24
|
@ -1,3 +1,10 @@
|
|||
Sun Sep 7 07:24:09 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* misc/*.el: merged the following patches from Nathan Weizenbaum
|
||||
<nex342 at gmail.com>. [ruby-core:18424]
|
||||
|
||||
* misc/ruby-mode.el: improve here-doc performance.
|
||||
|
||||
Sun Sep 7 06:31:51 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* file.c (file_expand_path): applied a patch from Nobuhiro Tachino
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче