]> git.eshelyaron.com Git - emacs.git/commitdiff
C Mode: Fix indentation of DEFUN's function's argument list.
authorAlan Mackenzie <acm@muc.de>
Tue, 21 May 2019 11:47:14 +0000 (11:47 +0000)
committerAlan Mackenzie <acm@muc.de>
Tue, 21 May 2019 11:47:14 +0000 (11:47 +0000)
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.

lisp/progmodes/cc-align.el

index 009f58ea5862a9aa69c9fbd10cd5d88734c9ae3e..74548f643a7a44f6e58c0eb2ab73941c37e48314 100644 (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