mtimeout.1: Use correct dash for number ranges.
[misc] / space.1
1 .\" -*-nroff-*-
2 .ie t .ds o \(bu
3 .el .ds o *
4 .de hP
5 .IP
6 \fB\h'-\w'\\$1'u-1m'\\$1\h'1m'\fP\c
7 ..
8 .TH space 1 "27 January 2007" "Straylight/Edgeware"
9 .SH NAME
10 space \- check and fix whitespace in files
11 .SH SYNOPSIS
12 .B space
13 .RB [ \-clmtuv ]
14 .RB [ \-i \c
15 .RI [ backup ]]
16 .RI [ file ...]
17 .SH DESCRIPTION
18 The (low-budget)
19 .B space
20 program identifies and fixes problematic use of whitespace in text
21 files. In particular, it will notice and (if you want) fix
22 .hP \*o
23 .I trailing whitespace
24 \(en tabs and spaces just before a newline;
25 .hP \*o
26 .I spaces before tabs
27 \(en which are obviously pointless;
28 .hP \*o
29 .I end-of-file in mid-line
30 \(en which confuses a number of programs,
31 .BR diff (1)
32 not least;
33 .hP \*o
34 .I trailing blank lines
35 \(en which some editors, notably Emacs, introduce by default;
36 .hP \*o
37 .I groups of spaces which could be replaced by tabs
38 \(en replacing them with the appropriate tab characters; or
39 .hP \*o
40 .I all tab characters
41 \(en replacing them with appropriate numbers of spaces.
42 .PP
43 The program is capable of fixing files in place (leaving backups if you
44 ask for them).
45 .PP
46 The following command-line options are recognized.
47 .TP
48 .B \-h
49 Give a short help message describing the options available.
50 .TP
51 .B \-c
52 Just check files, exiting zero if they're all OK, or 1 if there are
53 whitespace problems with any of them; exit 32 if there are actual
54 errors. You may want the
55 .B \-v
56 option with this; without it,
57 .B space
58 is silent.
59 .TP
60 .B \-l
61 Check the file for trailing blank lines, i.e., lines containing only
62 horizontal whitespace. With
63 .BR \-v ,
64 report if the file has trailing blank lines; without
65 .BR \-c ,
66 remove these trailing blank lines from the output.
67 .TP
68 .BR \-v
69 Report detailed messages about whitespace problems encountered. Useful
70 with
71 .BR \-c ,
72 for example.
73 .TP
74 .BR \-i [ \fIbackup ]
75 Modify all the
76 .IR file s
77 in place. During processing, the fixed copy of the file is written to
78 some new name not currently in use. If the processing was successful,
79 the old
80 .I file
81 is renamed to
82 .I file "" backup
83 and the new file is renamed to
84 .IR file .
85 If something very complicated goes wrong at just the right moment, it's
86 possible that you'll be left with just
87 .I filebackup
88 but that's not very likely. The new file is created with the same
89 permissions as the old file, but no attempt is made to give it the same
90 owner or anything like that.
91 .TP
92 .B \-m
93 Worry about tabs in the middle of lines as well as tabs forming the
94 initial indentation. Normally, identify (and fix) tabs preceded by
95 spaces in the middle of lines; with
96 .BR \-t ,
97 fix all groups of whitespace which could be turned into tabs.
98 .TP
99 .B \-t
100 Turn runs of horizontal whitespace into tabs where possible.
101 With
102 .BR \-c ,
103 only complain about runs of space which could be turned into tabs but
104 don't actually do anything. By default, only runs of whitespace at the
105 starts of lines are affected. With
106 .BR \-m ,
107 however, all runs of whitespace are considered to be fair game. The
108 rules for internal whitespace are as follows. A run at the start of a
109 line, or which contains a tab is always fair game; a run of two or more
110 spaces is fair game
111 .I unless
112 it follows a
113 .RB ` . '
114 or
115 .RB ` : '
116 character, either immediately or separated only by
117 .RB ` """" '
118 or
119 .RB ` ' '
120 characters, in which case three spaces are required. This is because
121 some typists (including the author) put two spaces after a full stop,
122 and don't want them randomly turning into tabs for no good reason.
123 .TP
124 .B \-u
125 Turn tabs into appropriate numbers of spaces. With
126 .BR \-c ,
127 only complain about finding tabs, but don't actually do anything. All
128 tabs are considered fair game here and the
129 .B \-m
130 option is ignored.
131 .PP
132 Tab stops are assumed to occur every eight columns, as is usual.
133 .SH BUGS
134 There's no way yet of controlling where the tab stops are.
135 .PP
136 This space program doesn't even attempt moon landings. The space man
137 page doesn't have wiggly antennae.
138 .PP
139 The jokes in the man page are somewhat lame.
140 .SH AUTHOR
141 Mark Wooding, <mdw@distorted.org.uk>