1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

C Mode: Fix indentation of DEFUN's function's argument list.

Formally, when DEFUNs still used knr argument lists, these were indented by
the syntactic context knr-argdecl-intro (5 columns).  Since this is no longer
the case, we now just use c-basic-offset (2 columns in "gnu" style).

* lisp/progmodes/cc-align.el (c-indent-gnu-DEFUN-intro-cont): Modernize the
indentation.  Amend the doc string accordingly.
This commit is contained in:
Alan Mackenzie 2019-05-21 11:47:14 +00:00
parent 5950160584
commit 5856512911

View file

@ -90,26 +90,26 @@ Works with: topmost-intro-cont."
(defun c-lineup-gnu-DEFUN-intro-cont (langelem)
"Line up the continuation lines of a DEFUN macro in the Emacs C source.
These lines are indented as though they were `knr-argdecl-intro' lines.
These lines are indented `c-basic-offset' columns, usually from column 0.
Return nil when we're not in such a construct.
This function is for historical compatibility with how previous CC Modes (5.28
and earlier) indented such lines.
This function was formally for use in DEFUNs, which used to have knr
argument lists. Now (2019-05) it just indents the argument list of the
DEFUN's function, which would otherwise go to column 0.
Here is an example:
DEFUN (\"forward-char\", Fforward_char, Sforward_char, 0, 1, \"p\",
doc: /* Move point right N characters (left if N is negative).
On reaching end of buffer, stop and signal error. */)
(n) <- c-lineup-gnu-DEFUN-into-cont
Lisp_Object n; <- c-lineup-gnu-DEFUN-into-cont
(Lisp_Object n) <- c-lineup-gnu-DEFUN-into-cont
Works with: topmost-intro-cont."
(save-excursion
(let (case-fold-search)
(goto-char (c-langelem-pos langelem))
(if (looking-at "\\<DEFUN\\>")
(c-calc-offset '(knr-argdecl-intro))))))
c-basic-offset))))
(defun c-block-in-arglist-dwim (arglist-start)
;; This function implements the DWIM to avoid far indentation of