1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-20 18:17:20 +00:00

Bug #41061 patch: Fix typos and amend code slightly

* lisp/progmodes/cc-align.el (c-lineup-ternary-bodies)
* doc/misc/cc-mode.texi (Operator Line-Up): Fix typos and amend code.
This commit is contained in:
Alan Mackenzie 2020-06-01 15:21:54 +00:00
parent 056200f3eb
commit 1b6bd97440
2 changed files with 13 additions and 13 deletions

View File

@ -6399,8 +6399,8 @@ function is the same as specifying a list @code{(c-lineup-assignments
@findex lineup-ternary-bodies @r{(c-)}
Line up true and false branches of a ternary operator
(i.e. @code{?:}). More precisely, if the line starts with a colon
which is a part of a said operator it with corresponding question
mark. For example:
which is a part of a said operator, align it with corresponding
question mark. For example:
@example
@group

View File

@ -791,32 +791,32 @@ arglist-cont-nonempty."
c-basic-offset))
(defun c-lineup-ternary-bodies (langelem)
"Line up true and false branches of a ternary operator (i.e. ?:).
"Line up true and false branches of a ternary operator (i.e. `?:').
More precisely, if the line starts with a colon which is a part of
a said operator it with corresponding question mark; otherwise return
nil. For example:
a said operator, align it with corresponding question mark; otherwise
return nil. For example:
return arg % 2 == 0 ? arg / 2
: (3 * arg + 1); <- c-lineup-ternary-bodies
Works with: arglist-cont, arglist-cont-nonempty and statement-cont.
"
Works with: arglist-cont, arglist-cont-nonempty and statement-cont."
(save-excursion
(back-to-indentation)
(when (and (eq ?: (char-after))
(not (eq ?: (char-after (1+ (point))))))
(let ((limit (c-langelem-pos langelem)) (depth 1))
(catch 'done
(while (c-syntactic-skip-backward "^?:" limit t)
(goto-char (1- (point)))
(while (and (c-syntactic-skip-backward "^?:" limit t)
(not (bobp)))
(backward-char)
(cond ((eq (char-after) ??)
;; If weve found a question mark, decrease depth. If were
;; reached zero, weve found the one we were looking for.
;; If we've found a question mark, decrease depth. If we've
;; reached zero, we've found the one we were looking for.
(when (zerop (setq depth (1- depth)))
(throw 'done (vector (current-column)))))
((or (eq ?: (char-before)) (eq ?? (char-before)))
;; Step over :: and ?: operators. We dont have to
;; handle ?: here but doing so saves an iteration.
;; Step over `::' and `?:' operators. We don't have to
;; handle `?:' here but doing so saves an iteration.
(if (eq (point) limit)
(throw 'done nil)
(goto-char (1- (point)))))