mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-04 22:50:59 -08:00
(indent-c-exp): If ENDPOS, always set OPOINT
to the function start. And don'tindet a line which is past ENDPOS. Don't indent a comment on the first line if it's the only thing on that line.
This commit is contained in:
parent
f767385c90
commit
9ce49c8d77
1 changed files with 15 additions and 2 deletions
|
|
@ -969,13 +969,15 @@ ENDPOS is encountered."
|
|||
(save-excursion (forward-char 1)
|
||||
(beginning-of-defun)
|
||||
(setq funbeg (point)))
|
||||
(setq opoint funbeg)
|
||||
;; Try to find containing open,
|
||||
;; but don't scan past that fcn-start.
|
||||
(save-restriction
|
||||
(narrow-to-region funbeg (point))
|
||||
(condition-case nil
|
||||
(save-excursion
|
||||
(backward-up-list 1) (point))
|
||||
(backward-up-list 1)
|
||||
(point))
|
||||
;; We gave up: must be between fcns.
|
||||
;; Set opoint to beg of prev fcn
|
||||
;; since otherwise calculate-c-indent
|
||||
|
|
@ -998,6 +1000,12 @@ ENDPOS is encountered."
|
|||
(and (re-search-forward
|
||||
comment-start-skip
|
||||
(save-excursion (end-of-line) (point)) t)
|
||||
;; Make sure this isn't a comment alone on a line
|
||||
;; (which should be indented like code instead).
|
||||
(save-excursion
|
||||
(goto-char (match-beginning 0))
|
||||
(skip-chars-backward " \t")
|
||||
(not (bolp)))
|
||||
;; Make sure the comment starter we found
|
||||
;; is not actually in a string or quoted.
|
||||
(let ((new-state
|
||||
|
|
@ -1060,7 +1068,12 @@ ENDPOS is encountered."
|
|||
(point)))))
|
||||
(forward-line 1)
|
||||
(skip-chars-forward " \t")
|
||||
(if (eolp)
|
||||
;; Don't really reindent if the line is just whitespace,
|
||||
;; or if it is past the endpos.
|
||||
;; (The exit test in the outer while
|
||||
;; does not exit until we have passed the first line
|
||||
;; past the region.)
|
||||
(if (or (eolp) (and endpos (>= (point) endpos)))
|
||||
nil
|
||||
(if (and (car indent-stack)
|
||||
(>= (car indent-stack) 0))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue