* lisp/emacs-lisp/smie.el (smie-debug--describe-cycle): Fix typo.
(smie-indent-comment): Be more careful with comment-start-skip. (smie-indent-comment-close, smie-indent-comment-inside): New funs. (smie-indent-functions): Use them.
This commit is contained in:
parent
840b985a76
commit
4ddea91b84
2 changed files with 31 additions and 5 deletions
|
@ -338,7 +338,7 @@ CSTS is a list of pairs representing arcs in a graph."
|
|||
res))
|
||||
cycle)))
|
||||
(mapconcat
|
||||
(lambda (elems) (mapconcat 'indentity elems "="))
|
||||
(lambda (elems) (mapconcat 'identity elems "="))
|
||||
(append names (list (car names)))
|
||||
" < ")))
|
||||
|
||||
|
@ -1173,7 +1173,11 @@ in order to figure out the indentation of some other (further down) point."
|
|||
;; front of a comment" when doing virtual-indentation anyway. And if we are
|
||||
;; (as can happen in octave-mode), moving forward can lead to inf-loops.
|
||||
(and (smie-indent--bolp)
|
||||
(looking-at comment-start-skip)
|
||||
(let ((pos (point)))
|
||||
(save-excursion
|
||||
(beginning-of-line)
|
||||
(and (re-search-forward comment-start-skip (line-end-position) t)
|
||||
(eq pos (or (match-end 1) (match-beginning 0))))))
|
||||
(save-excursion
|
||||
(forward-comment (point-max))
|
||||
(skip-chars-forward " \t\r\n")
|
||||
|
@ -1194,6 +1198,20 @@ in order to figure out the indentation of some other (further down) point."
|
|||
(if (looking-at (regexp-quote continue))
|
||||
(current-column))))))))
|
||||
|
||||
(defun smie-indent-comment-close ()
|
||||
(and (boundp 'comment-end-skip)
|
||||
comment-end-skip
|
||||
(not (looking-at " \t*$")) ;Not just a \n comment-closer.
|
||||
(looking-at comment-end-skip)
|
||||
(nth 4 (syntax-ppss))
|
||||
(save-excursion
|
||||
(goto-char (nth 8 (syntax-ppss)))
|
||||
(current-column))))
|
||||
|
||||
(defun smie-indent-comment-inside ()
|
||||
(and (nth 4 (syntax-ppss))
|
||||
'noindent))
|
||||
|
||||
(defun smie-indent-after-keyword ()
|
||||
;; Indentation right after a special keyword.
|
||||
(save-excursion
|
||||
|
@ -1275,9 +1293,10 @@ in order to figure out the indentation of some other (further down) point."
|
|||
(current-column)))))))
|
||||
|
||||
(defvar smie-indent-functions
|
||||
'(smie-indent-fixindent smie-indent-bob smie-indent-close smie-indent-comment
|
||||
smie-indent-comment-continue smie-indent-keyword smie-indent-after-keyword
|
||||
smie-indent-exps)
|
||||
'(smie-indent-fixindent smie-indent-bob smie-indent-close
|
||||
smie-indent-comment smie-indent-comment-continue smie-indent-comment-close
|
||||
smie-indent-comment-inside smie-indent-keyword smie-indent-after-keyword
|
||||
smie-indent-exps)
|
||||
"Functions to compute the indentation.
|
||||
Each function is called with no argument, shouldn't move point, and should
|
||||
return either nil if it has no opinion, or an integer representing the column
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue