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:
parent
056200f3eb
commit
1b6bd97440
@ -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
|
||||
|
@ -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 we’ve found a question mark, decrease depth. If we’re
|
||||
;; reached zero, we’ve 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 don’t 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)))))
|
||||
|
Loading…
Reference in New Issue
Block a user