File: ecb-compilation.html

package info (click to toggle)
ecb 2.32-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny, squeeze
  • size: 5,236 kB
  • ctags: 1,790
  • sloc: lisp: 24,391; makefile: 143; sh: 57
file content (332 lines) | stat: -rw-r--r-- 11,608 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
<html lang="en">
<head>
<title>ECB - the Emacs Code Browser</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name=description content="ECB - the Emacs Code Browser">
<meta name=generator content="makeinfo 4.2">
<link href="http://www.gnu.org/software/texinfo/" rel=generator-home>
</head>
<body>
<p>
Node:<a name="ecb-compilation">ecb-compilation</a>,
Next:<a rel=next accesskey=n href="ecb-create-layout.html#ecb-create-layout">ecb-create-layout</a>,
Previous:<a rel=previous accesskey=p href="ecb-layout.html#ecb-layout">ecb-layout</a>,
Up:<a rel=up accesskey=u href="Customizable-options.html#Customizable%20options">Customizable options</a>
<hr><br>

<h4>Group ecb-compilation</h4>

<p>This group contains settings for the compile window of ECB:

<p>
<table width="100%">
<tr>
<td align="left"><b>compilation-buffer-names</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
Additional buffer names that should be displayed in the
compile-window. Buffer names can either be defined as strings or as
regexps. If the buffer-name of a buffer matches one of the defined
string or regexp then it will be displayed in the compile-window of
ECB even if <code>compilation-buffer-p</code> says nil for this buffer.

<p>It is not recommended to add the eshell-buffer-names to this list
because ECB already handles the eshell-integration as best as
possible (see <a href="Using-eshell.html#Using%20eshell">Using eshell</a>).

<p>See also the options <code>ecb-compilation-major-modes</code> and
<code>ecb-compilation-predicates</code>. 
</td></tr>
</table>

<p>
<table width="100%">
<tr>
<td align="left"><b>compilation-major-modes</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
Additional major-mode that should be displayed in the compile-window. 
All buffers of a major-mode contained in this list are displayed in
the compile-window even if <code>compilation-buffer-p</code> says nil for
such a buffer.

<p>It is not recommended to add <code>eshell-mode</code> to this list because
ECB already handles the eshell-integration as best as possible
(see <a href="Using-eshell.html#Using%20eshell">Using eshell</a>). 
</td></tr>
</table>

<p>
<table width="100%">
<tr>
<td align="left"><b>compilation-predicates</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
Predicates when a buffer should be treated as compilation-buffer. 
Every element of this list has to be a function or lambda-expression
which gets as argument a buffer-object and which has to return not nil
when this buffer should be treated as compilation-buffer (even if
<code>compilation-buffer-p</code> says nil) and therefore be displayed in
the compile-window of ECB (if there is any).

<p>In combination with the values of <code>ecb-compilation-buffer-names</code>
and <code>ecb-compilation-major-modes</code> ECB decides when a buffer is
displayed in the compile-window.

<p>Default value is the function <code>comint-check-proc</code> which returns
not nil when the buffer is related to a living process. 
</td></tr>
</table>

<p>
<table width="100%">
<tr>
<td align="left"><b>compile-window-height</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
Height of the persistent compilation-window of ECB. If you want a
compilation window shown at the bottom of the ECB-layout then set here
the height of it (Default is a height of 5). If you redraw the current
layout with <code>ecb-redraw-layout</code> then the compilation window (if
any) has the height you set here. If the number is less than 1.0 the
height is a fraction of the frame height.

<p>If you do not set a persistent compilation window then doing a
compilation or displaying temp-buffers (e.g. *Help*-buffers) splits
temporally the edit window vertically if the edit window is not
splitted already or uses another edit window temporally for
compilation output if the edit window is already splitted. This is the
recommended value for this option because this is the
standard-behavior of Emacs.

<p>Beware: If you set a persistent compilation window then ECB displays all
buffers for which <code>ecb-compilation-buffer-p</code> returns not nil in
that persistent compilation window. If a buffer which should being
displayed there is not displayed there then try to modify the options
<code>ecb-compilation-buffer-names</code>,
<code>ecb-compilation-major-modes</code> or
<code>ecb-compilation-predicates</code> (in this sequence).

<p>See also the options <code>ecb-compile-window-temporally-enlarge</code> and
<code>ecb-enlarged-compilation-window-max-height</code> and also the command
<code>ecb-toggle-compile-window-height</code>!

<p>ECB offers the functionality of such a persistent compile-window
regardless if the special ECB-windows are visible or not (see the
command <code>ecb-toggle-ecb-windows</code>).

<p>Regardless of the settings you define here: If you have destroyed or
changed the ECB-screen-layout by any action you can always go back to
this layout with <code>ecb-redraw-layout</code>
</td></tr>
</table>

<p>
<table width="100%">
<tr>
<td align="left"><b>compile-window-prevent-shrink-below-height</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
Allow the compile-window to be shrunken below its height. A non nil
value means ECB prevents the compile-window from being shrunken below
the threshold of <code>ecb-compile-window-height</code> by displaying
temp-buffers (e.g. *Help* etc.) or after running compilations or
greps. But interactively it is always allowed to shrink it to every
height!

<p>If nil then ECB does nothing to prevent being shrunken below the value
of <code>ecb-compile-window-height</code>.

<p>Default is t. 
</td></tr>
</table>

<p>
<table width="100%">
<tr>
<td align="left"><b>compile-window-temporally-enlarge</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
Let Emacs temporally enlarge the compile-window of the ECB-layout. 
This option has only an effect if <code>ecb-compile-window-height</code> is
not nil!

<p>The following values are possible:
<ul>
<li><code>after-display</code>:
After displaying a "compilation-buffer" (in the sense of
<code>ecb-compilation-buffer-p</code>!) in the compile-window of ECB. For
the max. height of the enlarged compile-window see the option
<code>ecb-enlarged-compilation-window-max-height</code>.

<li><code>after-selection</code>:
Selecting the <code>ecb-compile-window</code> auto. enlarges it and
de-selecting (means leaving <code>ecb-compile-window</code>) auto. shrinks
it. Enlarging and shrinking the <code>ecb-compile-window</code> is done with
<code>ecb-toggle-compile-window-height</code>. See also the
documentation of this function!

<li><code>both</code>:
The combination of 'after-display and 'after-selection.

<li><code>nil</code>:
ECB fixes always the height of the <code>ecb-compile-window</code> at the
value of <code>ecb-compile-window-height</code>. 
</ul>

<p>To restore the ECB-layout after such a buffer-enlarge just call
<code>ecb-toggle-compile-window-height</code> or
<code>ecb-redraw-layout</code>. 
</td></tr>
</table>

<p>
<table width="100%">
<tr>
<td align="left"><b>compile-window-width</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
Width of the compile-window.

<p>Possible values are <code>frame</code> and <code>edit-window</code>. 
With <code>frame</code> the compile-window looks like:

<br><pre>   -------------------------------------------------------
   |              |                                      |
   |  Directories |                                      |
   |              |                                      |
   |--------------|            edit-window(s)            |
   |              |                                      |
   |  Methods     |                                      |
   |              |                                      |
   -------------------------------------------------------
   |                                                     |
   |                    Compilation                      |
   |                                                     |
   -------------------------------------------------------
</pre>

<p>With <code>edit-window</code> the compile-window looks like:

<br><pre>   -------------------------------------------------------
   |              |                                      |
   |  Directories |                                      |
   |              |                                      |
   |--------------|            edit-window(s)            |
   |              |                                      |
   |  Methods     |                                      |
   |              |                                      |
   |              |---------------------------------------
   |              |                                      |
   |              |            Compilation               |
   |              |                                      |
   -------------------------------------------------------
</pre>

<p>This option takes only effect if <code>ecb-compile-window-height</code> is
not nil! 
</td></tr>
</table>

<p>
<table width="100%">
<tr>
<td align="left"><b>change-layout-preserves-compwin-state</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
Changing the layout preserves the state of the compile-window. This is
for example useful if the user toggles between several layouts (see
<code>ecb-toggle-layout</code>) and wants to preserve the hidden-state of
the compile-window. 
</td></tr>
</table>

<p>
<table width="100%">
<tr>
<td align="left"><b>enlarged-compilation-window-max-height</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
The max height of the compile-window after enlarging it. The max
height of the compilation window after enlarged by
<code>ecb-toggle-compile-window-height</code>. The following values are
allowed:

<p><code>best</code>:

<p>ECB fits the height of the compile-window exactly to the size of its
current contents but never shrinks below the value of
<code>ecb-compile-window-height</code> or enlarges over the half of the
frame-height of the ECB-frame. The values of the options
<code>compilation-window-height</code> and <code>temp-buffer-max-height</code> are
taken into account dependent of the current <code>major-mode</code> of the
buffer in the compile-window: If <code>compilation-mode</code> then
<code>compilation-window-height</code> is used otherwise
<code>temp-buffer-max-height</code>.

<p><code>half</code>:

<p>1/2 the frame-height of the ECB-frame

<p>Any number:

<p>Max height in lines. If the number is less than 1.0 the height is a
fraction of the frame height (e.g. 0.33 results in a max-height of 1/3
the frame-height). 
</td></tr>
</table>

<p>
<table width="100%">
<tr>
<td align="left"><b>scroll-other-window-scrolls-compile-window</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
<code>scroll-other-window</code> scrolls always the compile-window. For all
details about the scroll-behavior of <code>scroll-other-window</code> see
the advice documentation of <code>other-window-for-scrolling</code>. 
</td></tr>
</table>

</body></html>