]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/cvs/cvs-format.el
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / cvs / cvs-format.el
1 ;; -*- lisp-interaction -*-
2 ;; -*- emacs-lisp -*-
3 ;;
4 ;; Set emacs up for editing code using CVS indentation conventions.
5 ;; See HACKING for more on what those conventions are.
6 ;; To use, put in your .emacs:
7 ;;   (load "c-mode")
8 ;;   (load "cvs-format.el")
9 ;; You need to load c-mode first or else when c-mode autoloads it will
10 ;; clobber the settings from cvs-format.el.  Using c-mode-hook perhaps would
11 ;; be a cleaner way to handle that.  Or see below about (set-c-style "BSD").
12 ;;
13 ;; Credits: Originally from the personal .emacs file of Rich Pixley,
14 ;;      then rich@cygnus.com, circa 1992.  He sez "feel free to copy."
15 ;;
16
17 ;;
18 ;;
19 ;;      This section sets constants used by c-mode for formating
20 ;;
21 ;;
22
23 ;;  If `c-auto-newline' is non-`nil', newlines are inserted both
24 ;;before and after braces that you insert, and after colons and semicolons.
25 ;;Correct C indentation is done on all the lines that are made this way.
26
27 (setq c-auto-newline nil)
28
29
30 ;;*Non-nil means TAB in C mode should always reindent the current line,
31 ;;regardless of where in the line point is when the TAB command is used.
32 ;;It might be desirable to set this to nil for CVS, since unlike GNU
33 ;; CVS often uses comments over to the right separated by TABs.
34 ;; Depends some on whether you're in the habit of using TAB to
35 ;; reindent.
36 ;(setq c-tab-always-indent nil)
37
38 ;;; It seems to me that 
39 ;;;    `M-x set-c-style BSD RET'
40 ;;; or
41 ;;;    (set-c-style "BSD")
42 ;;; takes care of the indentation parameters correctly.
43
44
45 ;;  C does not have anything analogous to particular function names for which
46 ;;special forms of indentation are desirable.  However, it has a different
47 ;;need for customization facilities: many different styles of C indentation
48 ;;are in common use.
49 ;;
50 ;;  There are six variables you can set to control the style that Emacs C
51 ;;mode will use.
52 ;;
53 ;;`c-indent-level'     
54 ;;     Indentation of C statements within surrounding block.  The surrounding
55 ;;     block's indentation is the indentation of the line on which the
56 ;;     open-brace appears.
57
58 (setq c-indent-level 4)
59
60 ;;`c-continued-statement-offset'     
61 ;;     Extra indentation given to a substatement, such as the then-clause of
62 ;;     an if or body of a while.
63
64 (setq c-continued-statement-offset 4)
65
66 ;;`c-brace-offset'     
67 ;;     Extra indentation for line if it starts with an open brace.
68
69 (setq c-brace-offset -4)
70
71 ;;`c-brace-imaginary-offset'     
72 ;;     An open brace following other text is treated as if it were this far
73 ;;     to the right of the start of its line.
74
75 (setq c-brace-imaginary-offset 0)
76
77 ;;`c-argdecl-indent'     
78 ;;     Indentation level of declarations of C function arguments.
79
80 (setq c-argdecl-indent 4)
81
82 ;;`c-label-offset'     
83 ;;     Extra indentation for line that is a label, or case or default.
84 ;;  This doesn't quite do the right thing for CVS switches, which use the
85 ;;    switch (foo)
86 ;;    {
87 ;;        case 0:
88 ;;            break;
89 ;;  style.  But if one manually aligns the first case, then the rest
90 ;;  should work OK.
91 (setq c-label-offset -4)
92
93 ;;;; eof