branch: elpa/scala-mode commit 5cd1b2045ccb5b2deca79cfabb339e75b4be638d Author: Heikki Vesalainen <heikkivesalai...@yahoo.com> Commit: Heikki Vesalainen <heikkivesalai...@yahoo.com>
Properly align constructor val and var params. Fixes #24 --- scala-mode-indent.el | 2 +- scala-mode-syntax.el | 22 ++++++++++++---------- scala-mode.el | 1 - 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/scala-mode-indent.el b/scala-mode-indent.el index 0c95410..93caf73 100644 --- a/scala-mode-indent.el +++ b/scala-mode-indent.el @@ -606,7 +606,7 @@ anchor for calculating block indent for current point (or point (+ scala-indent:step lead)) ;; other than case-line in case-block get double indent ((save-excursion - (goto-char (1+ (nth 1 (syntax-ppss start)))) + (goto-char (1+ (or (nth 1 (syntax-ppss start)) 0))) (forward-comment (buffer-size)) (and (scala-syntax:looking-at-case-p) (> start (match-beginning 0)))) diff --git a/scala-mode-syntax.el b/scala-mode-syntax.el index 27b5f30..4691434 100644 --- a/scala-mode-syntax.el +++ b/scala-mode-syntax.el @@ -806,13 +806,15 @@ not. A list must be either enclosed in parentheses or start with (scala-syntax:beginning-of-code-line) (when (scala-syntax:looking-back-token "," 1) (goto-char (match-beginning 0)) - (ignore-errors ; catches when we get at parentheses - (while (not (or (bobp) - (looking-at scala-syntax:list-keywords-re) - (scala-syntax:looking-back-empty-line-p) - (scala-syntax:looking-back-token ";"))) - (scala-syntax:backward-sexp))) - (cond ((= (char-syntax (char-before)) ?\() - (point)) - ((looking-at scala-syntax:list-keywords-re) - (goto-char (match-end 0))))))) + (let ((parenpoint (nth 1 (syntax-ppss)))) + (if (and parenpoint (or (= (char-after parenpoint) ?\() + (= (char-after parenpoint) ?\[))) + (1+ parenpoint) + (ignore-errors ; catches when we get at parentheses + (while (not (or (bobp) + (looking-at scala-syntax:list-keywords-re) + (scala-syntax:looking-back-empty-line-p) + (scala-syntax:looking-back-token ";"))) + (scala-syntax:backward-sexp))) + (when (looking-at scala-syntax:list-keywords-re) + (goto-char (match-end 0)))))))) diff --git a/scala-mode.el b/scala-mode.el index 6ba9915..3e28f00 100644 --- a/scala-mode.el +++ b/scala-mode.el @@ -12,7 +12,6 @@ (require 'scala-mode-fontlock) (require 'scala-mode-indent) (require 'scala-mode-map) -(require 'cc-cmds) ;; Tested only for emacs 24 (unless (<= 24 emacs-major-version)