1 2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3 * tui.c (tui_change_windows): New function.
4 (tui_delete_other_windows): New function.
5 (tui_initialize_readline): Bind them to C-X 1 and C-X 2.
6 (tui_enable): Enable the keypad; call tui_update_variables.
7 (strcat_to_buf_with_fmt): Remove.
9 2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11 * tui.h: Remove old declarations, add the new ones.
12 * tui.c (tui_switch_mode): New function.
13 (tui_initialize_readline): New function.
14 (tui_enable): New function.
15 (tui_disable): New function.
16 (tuiGetLowDisassemblyAddress): Use CORE_ADDR, cleanup.
17 (tui_vSelectSourceSymtab): Remove.
18 (tuiInitWindows): Remove.
19 (_initialize_tui): Remove.
20 (_tuiReset): Keep but put arround #if 0.
22 2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
24 * tuiIO.h: Remove old declarations and add the new ones.
25 * tuiIO.c: New management for curses and gdb terminal interactions.
27 (tuiTermSetup, tuiTermUnsetup): Remove, must use normal curses ops.
28 (tuiBufferGetc, tui_vStartNewLines, _updateCommandInfo): Remove.
29 (tui_owns_terminal): Remove.
30 (tui_redisplay_readline): New function.
31 (tui_puts): New function.
32 (tui_prep_terminal): New function.
33 (tui_deprep_terminal): New function.
34 (tui_getc): Rename of tuiGetc, simplify and fix.
35 (tui_setup_io): New function.
36 (tui_initialize_io): New function.
38 2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
40 * tuiRegs.c (tuiDisplayRegistersFrom): Call touchwin.
41 (_tuiRegisterFormat): Reduce size of format result.
43 2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
45 * tuiGeneralWin.c (boxWin): Use the tui configuration variables.
46 * tuiWin.h: Declare the new variables.
47 * tuiWin.c (_initialize_tuiWin): Create TUI configuration variables.
48 (tui_update_variables): New function.
49 (translate): New function.
50 (tui_border_kind_enums, tui_border_mode_enums): New tables.
51 (tui_border_mode_translate): New table.
52 (tui_border_kind_translate_*): New tables.
53 (tui_active_border_mode): New variables.
54 (tui_border_*): New variables.
56 2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
58 * tuiWin.c (_parseScrollingArgs): Fix uninitialized variable.
59 (_makeVisibleWithNewHeight): Use TuiLineOrAddress type.
61 * tuiStack.c (tuiShowFrameInfo): Use TuiLineOrAddress type.
62 (tui_vUpdateLocatorFilename): Remove.
63 * tuiStack.h: Update prototypes.
65 * tuiSourceWin.c (tuiAddrIsDisplayed): New function.
66 (tuiLineIsDisplayed): Split for address and line.
67 (tuiUpdateSourceWindow): Use TuiLineOrAddress type.
68 (tuiUpdateSourceWindowAsIs): Likewise.
69 (tuiUpdateSourceWindowsWithAddr): Likewise.
70 (tuiUpdateSourceWindowsWithLine): Likewise.
71 (tuiHorizontalSourceScroll): Likewise.
72 (tuiSetIsExecPointAt): Likewise.
73 (tuiUpdateOnEnd): Likewise.
74 * tuiSourceWin.h: Update prototypes.
76 * tuiSource.c (tuiVerticalSourceScroll): Use TuiLineOrAddress type.
77 (tuiShowSource): Likewise.
78 (tuiVerticalSourceScroll): Likewise.
79 * tuiSource.h (tuiShowSource): Update prototype.
81 * tuiDisassem.c (tuiSetDisassemContent): Use CORE_ADDR for address.
82 (tuiShowDisassem): Use TuiLineOrAddress type.
83 (tuiShowDisassemAndUpdateSource): Likewise.
84 (tuiVerticalDisassemScroll): Likewise.
85 (tuiShowDisassemAsIs): Remove.
86 * tuiDisassem.h (tuiSetDisassemContent): Update prototype.
88 * tuiData.c (initWinInfo): Use CORE_ADDR for address.
89 (clearWinDetail): Likewise.
90 (displayableWinContentOf): Fix address conversion.
91 (tuiNextWin): Fix crash when the window is not yet created.
92 (partialWinByName): Likewise.
94 2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
96 * tuiSourceWin.h: Remove unused declarations.
97 * tuiSourceWin.c (tui_vUpdateSourceWindowsWithAddr): Remove.
98 (tui_vUpdateSourceWindowsWithLine): Remove.
99 (tui_vAllSetHasBreakAt): Remove.
101 * tuiLayout.h (tui_set_layout): Declare.
102 (tui_vSetLayoutTo): Remove.
103 (tui_vAddWinToLayout): Remove.
104 * tuiLayout.c (_tuiLayout_command): Call tui_enable() to force TUI.
105 (_tuiToggleLayout_command): Remove.
106 (_tuiToggleSplitLayout_command): Remove.
107 (_tuiLayout_command): Remove.
108 (tui_vSetLayoutTo): Remove.
109 (tui_vAddWinToLayout): Remove.
111 * tuiDataWin.h (tui_vCheckDataValues): Remove.
112 * tuiDataWin.c (tui_vCheckDataValues): Remove.
114 2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
116 * tuiWin.c (tuiStrDup): Remove, replaced by xstrdup.
117 (_parseScrollingArgs): Use xstrdup.
118 (_tuiScrollForward_command): Call tui_enable() to force TUI mode.
119 (_tuiScrollBackward_command): Likewise.
120 (_tuiScrollLeft_command): Likewise.
121 (_tuiScrollRight_command): Likewise.
122 (_tuiSetFocus): Likewise.
123 (_tuiSetFocus_command): Likewise.
124 (_tuiRefreshAll_command): Likewise.
125 (_tuiSetTabWidth_command): Likewise.
126 (_tuiSetWinHeight): Likewise.
127 (_tuiSetWinHeight_command): Likewise.
128 (_tuiXDBsetWinHeight): Likewise.
129 (_tui_vSetFocus): Remove.
130 (_tui_vSetWinHeight): Remove.
131 (_tui_vXDBsetWinHeight): Remove.
133 2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
135 * tuiCommand.h: Remove unused declarations.
136 * tuiCommand.c (tuiDispatchCtrlChar): Fix escape sequences.
137 (tuiIncrCommandCharCountBy): Remove.
138 (tuiDecrCommandCharCountBy): Remove.
139 (tuiSetCommandCharCountTo): Remove.
140 (tuiClearCommandCharCount): Remove.
142 2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
144 * tuiWin.c (_initialize_tuiWin): Always define the tui commands;
145 create the tui class help.
146 * tuiLayout.c (_initialize_tuiLayout): Always define the tui commands.
147 * tuiRegs.c (_initialize_tuiRegs): Likewise.
148 * tuiStack.c (_initialize_tuiStack): Likewise.
150 2001-07-19 Stephane Carrez <Stephane.Carrez@worldnet.fr>
152 * tuiDisassem.c (tuiVerticalDisassemScroll): Use CORE_ADDR.
153 (tuiVerticalDisassemScroll): Likewise.
154 (tuiShowDisassemAndUpdateSource): Check for null symtab to
157 2001-07-18 Stephane Carrez <Stephane.Carrez@worldnet.fr>
159 * tuiIO.c (_tuiHandleResizeDuringIO): Call tuiRefreshAll.
160 (tuiRead, tui_vread): Remove.
162 * tui.c (va_catch_errors, tuiDo, tuiDoAndReturnToTop): Remove.
163 (vcatch_errors, _tui_vDo): Remove.
164 * tui.h (tuiDo, tuiDoAndReturnToTop): Remove.
166 * tuiLayout.c (tuiSetLayout): Remove vcatch_errors.
167 (tui_set_layout): Rename of _tuiSetLayoutTo, public.
168 (_tuiToggleLayout_command): Merge with _tui_vToggleLayout_command.
169 (_tuiToggleSplitLayout_command): Merge with _tui_vToggleSplitLayout_command.
170 (_tuiLayout_command): Call tui_set_layout.
172 * tuiRegs.c (_tuiScrollRegsBackward_command): Call tui_scroll.
173 (_tuiScrollRegsForward_command): Likewise.
174 (_tuiShowFloat_command): Call _tui_vShowRegisters_commandSupport.
175 (_tuiShowGeneral_command): Likewise.
176 (_tuiShowSpecial_command): Likewise.
177 (_tuiToggleFloatRegs_command): Call tuiToggleFloatRegs.
178 * tuiWin.c (tui_scroll): Rename of tui_vScroll, update parameters.
179 (_tuiScrollForward_command): Call tui_scroll.
180 (_tuiScrollBackward_command): Likewise.
181 (_tuiScrollLeft_command): Likewise.
182 (_tuiScrollRight_command): Likewise.
183 (_tuiSetFocus_command): Call _tuiSetFocus.
184 (_tuiRefreshAll_command): Call tuiRefreshAll.
185 (_tuiSetWinHeight_command): Call _tuiSetWinHeight.
186 (_tuiXDBsetWinHeight_command): Call _tuiXDBsetWinHeight.
187 * tuiWin.h (tui_scroll): Rename of tui_vScroll, update parameters.
189 2001-07-18 Stephane Carrez <Stephane.Carrez@worldnet.fr>
191 * tuiData.h (TuiLocatorElement): Use CORE_ADDR for address member.
192 (TuiLineOrAddress): Likewise.
193 * tuiDisassem.c (tuiGetBeginAsmAddress): Use CORE_ADDR to specify
195 (tuiSetDisassemContent): Likewise.
196 (tuiShowDisassem, tuiShowDisassemAndUpdateSource): Likewise.
197 * tuiLayout.c (_extractDisplayStartAddr): Likewise.
198 (tuiSetLayout): Likewise.
199 * tuiSourceWin.c (tuiDisplayMainFunction): Likewise.
200 (tuiUpdateSourceWindowsWithAddr): Likewise.
201 (tuiUpdateSourceWindowsWithLine): Likewise.
202 (tuiSetHasBreakAt): Likewise.
203 * tuiStack.c (tuiSetLocatorInfo): Likewise.
204 (tuiSwitchFilename): Likewise.
205 (tuiUpdateLocatorInfoFromFrame): Likewise.
206 (tuiSetLocatorContent): Likewise.
207 (tuiShowFrameInfo): Likewise.
208 * tuiDisassem.h: Update prototypes to use CORE_ADDR.
209 * tuiSourceWin.h: Likewise.
210 * tuiStack.h: Likewise.
212 2001-07-17 Stephane Carrez <Stephane.Carrez@worldnet.fr>
214 * tuiWin.c: Add missing includes.
215 (_makeVisibleWithNewHeight): Fix call to find_line_pc.
216 * tuiLayout.c: Add missing includes.
217 (_initAndMakeWin): Don't put curses in echo mode.
218 (_extractDisplayStartAddr): Fix calls to find_line_pc.
219 (_tuiLayout_command): Missing ',' in warning call.
220 * tuiSourceWin.c (tuiUpdateSourceWindowsWithLine): Fix calls to
222 (tuiSetHasBreakAt): Check for null source file.
224 2001-07-17 Stephane Carrez <Stephane.Carrez@worldnet.fr>
226 * tuiWin.c (_tuiSetFocus): Replace subsetCompare with subset_compare.
227 * tuiLayout.c (_tuiSetLayoutTo): Likewise.
228 * tui.c (_tui_vToggle_command): Likewise.
230 2001-07-17 Elena Zannoni <ezannoni@redhat.com>
232 * tui-file.c: Add include of tuiIO.h, for tuiPuts_unfiltered.
234 2001-07-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
236 * tuiRegs.c (tuiDisplayRegistersFrom): Set scrollok to FALSE in
237 each register window.
238 (tuiCheckRegisterValues): Use REGISTER_RAW_SIZE to obtain the size
239 of the register to check.
240 (_tuiRegValueHasChanged): Likewise.
241 (_tuiRegisterName): Use REGISTER_NAME.
242 (tui_restore_gdbout): New function.
243 (_tuiRegisterFormat): Use do_registers_info with gdb_stdout redirected
245 (START_SPECIAL_REGS): Define.
246 (_tuiGetRegisterRawValue): Use get_saved_register.
247 (_tuiDisplayRegister): Fix clearing of register window.
249 2001-07-17 Stephane Carrez <Stephane.Carrez@worldnet.fr>
251 * tui-file.h (fputs_unfiltered_hook): Remove.
252 * tui-file.c (tui_file_flush): Remove fputs_unfiltered_hook.
253 (tui_file_fputs): Likewise; simplify
255 2001-07-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
257 * tuiStack.c: Add missing includes.
258 (tuiShowFrameInfo): Don't crash when there is no symbol table
259 associated with the pc.
260 * tuiSource.c (_hasBreak): Check for null source file.
261 * tuiWin.c (tuiRefreshAll): Check for null winList[type].
262 (_tuiSetFocus): Check for null dataWin.
263 * tuiGeneralWin.c (refreshAll): Check for null list[type].
265 2001-07-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
267 * tuiDisassem.c (tuiSetDisassemContent): Use tm_print_insn_info
268 to disassemble in the curses window.
270 2001-07-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
272 * tui.h: Cleanup to avoid inclusion of curses includes.
273 (TuiGenWinInfo, TuiGenWinInfoPtr): Move from here.
274 * tuiData.h: To here; include curses includes here.
275 (setTermHeightTo): Rename of setTermHeight to follow reality.
276 (setTermWidthTo): Likewise with setTermWidth.
278 2001-07-14 Stephane Carrez <Stephane.Carrez@worldnet.fr>
280 * tuiWin.c, tui.c, tuiCommand.c: Use ansi prototype.
281 tuiIO.c, tuiData.c: Likewise.
282 tuiDataWin.c, tuiDisassem.c: Likewise.
283 tuiGeneralWin.c, tuiLayout.c: Likewise.
284 tuiRegs.c, tuiSource.c: Likewise.
285 tuiSouceWin.c, tuiStack.c: Likewise.
287 2001-07-14 Stephane Carrez <Stephane.Carrez@worldnet.fr>
289 * tuiWin.c, tuiWin.h, tui.c, tui.h, tuiCommand.c: Add FSF copyright.
290 tuiCommand.h, tuiIO.c, tuiIO.h, tuiData.h, tuiData.c: Likewise.
291 tuiDataWin.c, tuiDataWin.h, tuiDisassem.c, tuiDisassem.h: Likewise.
292 tuiGeneralWin.c, tuiGeneralWin.h, tuiLayout.c, tuiLayout.h: Likewise.
293 tuiRegs.c, tuiRegs.h, tuiSource.c, tuiSource.h: Likewise.
294 tuiSouceWin.c, tuiSourceWin.h, tuiStack.c, tuiStack.h: Likewise.
296 2001-03-08 Andrew Cagney <ac131313@redhat.com>
298 * tuiRegs.c: Use NUM_REGS, not ARCH_NUM_REGS.
300 2001-03-06 Kevin Buettner <kevinb@redhat.com>
302 * tui-file.h: Update/correct copyright notice.
304 Wed Feb 7 19:54:27 2001 Andrew Cagney <cagney@redhat.com>
306 * tui-file.c: Add __FILE__ and __LINE__ parameter to calls to
309 2000-12-14 Kevin Buettner <kevinb@redhat.com>
311 * tui-file.c, tui.c, tuiData.c, tuiLayout.c: Replace occurrences
312 of free() with xfree().
314 2000-06-22 Kevin Buettner <kevinb@redhat.com>
316 * tuiSourceWin.h: Eliminate use of PARAMS from this file.
318 2000-06-20 Kevin Buettner <kevinb@redhat.com>
320 * tuiLayout.c: Eliminate use of PARAMS from this file.
322 2000-06-17 Kevin Buettner <kevinb@redhat.com>
324 * tuiIO.c: Eliminate use of PARAMS from this file.
326 Thu May 25 14:46:20 2000 Andrew Cagney <cagney@b1.cygnus.com>
328 * tui-file.c: Include "tui.h", "tuiData.h", "tuiIO.h" and
330 (tui_file_fputs): Pass ``file'' and not ``stream'' to
331 tui_file_adjust_strbuf.
333 Thu May 25 16:58:01 2000 Andrew Cagney <cagney@b1.cygnus.com>
335 * tui.h: Include <ncurses.h> when available.
336 * tui.c, tuiGeneralWin.c: Do not include <curses.h>.
338 Mon May 15 17:16:10 2000 Andrew Cagney <cagney@b1.cygnus.com>
340 * Makefile.in: Delete.
342 Tue Apr 18 15:32:15 2000 Andrew Cagney <cagney@b1.cygnus.com>
344 * Makefile.in (distclean, maintainer-clean, realclean,
345 mostlyclean): New targets.
347 Tue Feb 1 00:17:12 2000 Andrew Cagney <cagney@b1.cygnus.com>
349 * tui-file.c, tui-file.h, tuiDisassem.c, tuiIO.c, tuiIO.h,
350 tuiRegs.c: Update to reflect rename of gdb-file / GDB_FILE to
351 ui-file / ``struct ui_file''.
353 Mon Jan 31 18:12:43 2000 Andrew Cagney <cagney@b1.cygnus.com>
355 * tui-file.c (enum streamtype, struct tui_stream, tui_file_new,
356 tui_file_delete, tui_fileopen, tui_sfileopen, tui_file_isatty,
357 tui_file_rewind, tui_file_put, tui_file_fputs,
358 tui_file_get_strbuf, tui_file_adjust_strbuf, tui_file_flush,
359 fputs_unfiltered_hook): Move to here from ../utils.c
361 * tui-file.h, tui-file.c: New files.
363 Mon Nov 8 17:47:37 1999 Andrew Cagney <cagney@b1.cygnus.com>
365 * tuiRegs.c (_tuiRegisterFormat), tuiDisassem.c
366 (tuiSetDisassemContent): Replace gdb_file_init_astring with
367 tui_sfileopen. Replace gdb_file_get_strbuf with
370 Mon Nov 8 16:54:51 1999 Andrew Cagney <cagney@b1.cygnus.com>
372 * tuiRegs.c (_tuiRegisterFormat), tuiDisassem.c
373 (tuiSetDisassemContent): Repace gdb_file_deallocate with
374 gdb_file_delete. Replace gdb_file_init_astring with tui_sfileopen.
376 Fri Sep 17 19:34:38 1999 Andrew Cagney <cagney@b1.cygnus.com>
378 * tuiSource.c: Include "source.h".
379 (open_source_file, find_source_lines): Delete declarations.
381 1999-01-26 Jason Molenda (jsm@bugshack.cygnus.com)
383 * tui.h: Include stdarg.h instead of varargs.h if we're on an ISO Cish
386 Thu Dec 31 12:08:32 1998 David Taylor <taylor@texas.cygnus.com>
388 The following changes were made by Jim Blandy <jimb@cygnus.com>,
389 Edith Epstein <eepstein@cygnus.com>, Elena Zannoni
390 <ezannoni@cygnus.com> Stan Shebs <shebs@cygnus.com>, and David
391 Taylor <taylor@cygnus.com>, as part of the project to merge in
392 changes originally made by HP; HP did not create ChangeLog
395 * Makefile.in: New file; we're merging HP's changes into GDB, and
396 we've moved the TUI files into a subdirectory, so we need a new
400 #include <term.h>, if we have it, to get declarations for
401 the termcap functions on Solaris.
402 (tgoto): Add external K&R declaration for this; Solaris doesn't
403 bother to actually declare it in their header files.
404 (_tuiReset): Ignore the #definition of TIOCGETC if USG is defined;
405 we'd rather use the USG mechanisms than the Berkeley mechanisms
406 (TIOCGETC is one of the Berkeley terminal control ioctls).
407 Apologies if this causes trouble later; this should all be handled
409 (strcat_to_buf, strcat_to_buf_with_fmt): New functions, moved here
411 (tuiFree): replace safe_free with free.
412 (strcat_to_buf): new function, copied from utils.c.
413 (tuiInit): Add ignored `argv0' argument, to match the type that
414 init_ui_hook expects; updated declaration. Call the
415 initialize_tui_files function constructed above. Initialize
417 (tuiInitWindows): Call tuiSetLocatorContent, to get the first
418 element of the locator window's content allocated. This seems
419 wrong, because it must have been initialized somehow in HP's
420 sources, and we should do it the same way now. But we do get
421 further before it segfaults. [Postscript: HP didn't bother to
422 initialize it; they compile
423 (va_catch_errors, vcatch_errors): Functions moved here from
424 ../utils.c in HP's sources. They're not used anywhere else.
425 (xdb_style): Delete this variable, and remove all references to
426 it. It's always true.
427 (tuiInit, _tui_vDo): References removed.
429 * tui.h: Add prototypes.
430 Don't #include "gendefs.h"; it's only used in the TUI.
431 Integrate its contents into this file:
432 #include <ansidecl.h> here.
433 (Opaque, OpaqueFuncPtr): Typedefs moved to here.
435 * tuiCommand.c: #include "defs.h", so we get the appropriate
436 definition of GDB_FILE.
439 (freeWindow): replace safe_free with free.
440 (tui_version): don't define it here; it's defined in main.c now.
443 (tuiSetDisassemContent): Call strcat_address_numeric instead of
444 strcat_address. Simplify the control structure. Use predefined
445 GDB function to print asm inst address. Use GDB_FILE to collect
449 (tgoto): Add external K&R declaration for this here too.
450 (tuiGetc, tuiTermSetup, tuiTermUnsetup): Same.
451 (tuiPuts_unfiltered): change FILE to GDB_FILE.
452 (tui_tputs): fix prototype for 3rd argument.
454 * tuiIO.h (tuiPuts_unfiltered): change declaration.
457 (_tuiSetLayoutTo): for displaying registers, hook up the HP code
458 that decides which registers to display (i.e. single precision
459 float, double precision float, general, special). Previously,
460 only handled TUI_GENERAL_REGS. Now that the code is hooked up,
461 compiling with -z poses a problem. When the first layout command
462 is 'layout regs', dataWin->detail is a NULL pointer, and gdb
465 * tuiLayout.c (_tuiSetLayoutTo): replace safe_free with free.
467 * tuiRegs.c #include "defs.h" earlier, to avoid problems in
468 <stdarg.h>. No idea exactly what's conflicting with what, but the
470 (_tuiRegisterFormat): Change so that function creates a GDB_FILE
471 object, calls pa_do_strcat_registers_info, copies the register
472 info into a buffer, and deallocates the GDB_FILE object. Remove
473 some code that is not executed. Also, call to
474 pa_do_strcat_registers_info has an additional parameter,
475 precision. This code requires some new per-target functions that
476 we don't want to merge. Dyke it out, with #ifdef
477 TUI_EXTENDED_FORMATTERS.
478 (_tuiSetSpecialRegsContent): this function was ifdefed out.
480 (_tuiSetGeneralAndSpecialRegsContent): this function was ifdefed
482 (IS_64BIT): Just define this to be zero; we're not merging in the
484 (tuiShowRegisters): Comment out all references to the "special"
485 regs; we don't have a distinction between the "special" and
486 "non-special" regs in most of our machine descriptions. This code
487 is PA-specific in other ways as well, and needs to be redesigned
488 to be portable to other processors.
490 * tuiWin.c: #include <string.h>, to get a declaration for
493 * tui.c, tuiCommand.c, tuiData.c, tuiDataWin.c, tuiDisassem.c,
494 tuiGeneralWin.c, tuiIO.c, tuiLayout.c, tuiRegs.c, tuiSource.c,
495 tuiSourceWin.c, tuiStack.c, tuiWin.c: New files (from HP). Changed
496 bool to int throughout. Re-indented, GNU style.
498 * tui.h, tuiCommand.h, tuiData.h, tuiDataWin.h, tuiDisassem.h,
499 tuiGeneralWin.h, tuiIO.h, tuiLayout.h, tuiRegs.h, tuiSource.h,
500 tuiSourceWin.h, tuiStack.h, tuiWin.h: new files (from HP).
501 Changed bool to int throughout.