1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-24 06:20:43 -08:00

* lisp/progmodes/octave-mod.el (octave-smie-forward-token): Only emit

semi-colons if the line is not otherwise empty.
* lisp/emacs-lisp/smie.el (smie-indent--hanging-p): Don't burp at EOB.
(smie-indent-keyword): Improve the check to ensure that the next
comment is really on the same line.
(smie-indent-comment): Don't align with a subsequent closer (or eob).

Fixes: debbugs:14218
This commit is contained in:
Stefan Monnier 2013-04-24 23:25:34 -04:00
parent 1c141dad87
commit ced3fc5d2f
3 changed files with 35 additions and 12 deletions

View file

@ -1,3 +1,13 @@
2013-04-25 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/smie.el (smie-indent--hanging-p): Don't burp at EOB.
(smie-indent-keyword): Improve the check to ensure that the next
comment is really on the same line.
(smie-indent-comment): Don't align with a subsequent closer (or eob).
* progmodes/octave-mod.el (octave-smie-forward-token): Only emit
semi-colons if the line is not otherwise empty (bug#14218).
2013-04-25 Glenn Morris <rgm@gnu.org>
* vc/vc-bzr.el (vc-bzr-print-log): Tweak LIMIT = 1 case.

View file

@ -1067,7 +1067,8 @@ the beginning of a line."
(save-excursion
(<= (line-end-position)
(progn
(when (zerop (length (funcall smie-forward-token-function)))
(and (zerop (length (funcall smie-forward-token-function)))
(not (eobp))
;; Could be an open-paren.
(forward-char 1))
(skip-chars-forward " \t")
@ -1350,8 +1351,11 @@ should not be computed on the basis of the following token."
(if (and (< pos (line-beginning-position))
;; Make sure `token' also *starts* on another line.
(save-excursion
(smie-indent-backward-token)
(< pos (line-beginning-position))))
(let ((endpos (point)))
(goto-char pos)
(forward-line 1)
(and (equal res (smie-indent-forward-token))
(eq (point) endpos)))))
nil
(goto-char pos)
res)))))
@ -1473,13 +1477,21 @@ should not be computed on the basis of the following token."
(save-excursion
(forward-comment (point-max))
(skip-chars-forward " \t\r\n")
(unless
;; Don't align with a closer, since the comment is "within" the
;; closed element. Don't align with EOB either.
(save-excursion
(let ((next (funcall smie-forward-token-function)))
(or (if (zerop (length next))
(or (eobp) (eq (car (syntax-after (point))) 5)))
(rassoc next smie-closer-alist))))
;; FIXME: We assume here that smie-indent-calculate will compute the
;; indentation of the next token based on text before the comment, but
;; this is not guaranteed, so maybe we should let
;; smie-indent-calculate return some info about which buffer position
;; was used as the "indentation base" and check that this base is
;; before `pos'.
(smie-indent-calculate))))
;; indentation of the next token based on text before the comment,
;; but this is not guaranteed, so maybe we should let
;; smie-indent-calculate return some info about which buffer
;; position was used as the "indentation base" and check that this
;; base is before `pos'.
(smie-indent-calculate)))))
(defun smie-indent-comment-continue ()
;; indentation of comment-continue lines.

View file

@ -482,6 +482,7 @@ Non-nil means always go to the next Octave code line after sending."
(forward-comment 1))
(cond
((and (looking-at "$\\|[%#]")
(not (smie-rule-bolp))
;; Ignore it if it's within parentheses.
(prog1 (let ((ppss (syntax-ppss)))
(not (and (nth 1 ppss)