Initial Commit
[packages] / xemacs-packages / oo-browser / ChangeLog
1 2014-05-15  Norbert Koch  <viteno@xemacs.org>
2
3         * Makefile (VERSION): XEmacs package 1.07 released.
4
5 2014-05-15  Norbert Koch  <viteno@xemacs.org>
6
7         * Makefile (VERSION): XEmacs package 1.06 released.
8
9 2014-05-13  Jerry James  <james@xemacs.org>
10
11         * .hgignore: New file.
12         * man/oo-browser.texi: Update for texinfo 5.x.
13
14 2007-06-22  Norbert Koch  <viteno@xemacs.org>
15
16         * Makefile (VERSION): XEmacs package 1.05 released.
17
18         * Makefile: (REQUIRES): Prepare hyperbole update, don't break the
19         SmokeTest.
20
21 2003-10-31  Norbert Koch  <viteno@xemacs.org>
22
23         * Makefile (VERSION): XEmacs package 1.04 released.
24
25 2003-08-08  Norbert Koch  <viteno@xemacs.org>
26
27         * Makefile (VERSION): XEmacs package 1.03 released.
28
29 2003-08-06  Jake Colman  <jake.colman@xemacs.org>
30
31         * Make-Env (PRELOADS): added  br-env.elc to PRELOADS
32
33 2003-07-31  Jake Colman  <jake.colman@xemacs.org>
34
35         * Makefile (EXTRA_SOURCES): removed man/im directory from list of
36         EXTRA_SOURCES 
37
38 2003-07-30  Norbert Koch  <viteno@xemacs.org>
39
40         * Makefile (VERSION): XEmacs package 1.02 released.
41
42 2003-07-29  Jake Colman  <colman@ppllc.com>
43
44         * man/oo-browser.texi: Documentation tweak
45         * man/oo-browser.texi (Eiffel Specifics):
46
47 2003-07-29  Jake Colman  <colman@ppllc.com>
48
49         * br-menu.el (br-menu-common-preamble): Removed 'Support' menu option
50         * br.el: Replaced defvar with defcustom
51         * br.el (oo-browser): New.
52         * br.el (br-inherited-features-flag):
53         * br.el (br-invert-ancestors):
54         * br.el (br-keep-viewed-classes):
55         * br.el (br-report-bug):
56
57 2002-01-03  Bob Weiner  <bwcto@users.sf.net>
58
59 * BR-README: Updated and clarified Installation section.
60
61 2001-05-10  Bob Weiner  <bwcto@users.sf.net>
62
63 * br-python-ft.el (python-feature-entry-regexp): Renamed this regexp constant
64     from python-feature-entry.
65   br-ftr.el (br-feature-entry): Added this function.
66   br-ftr.el (br-feature-entry-regexp): Renamed this regexp constant from br-feature-entry.
67
68 * br.el (br-at-feature-p): Rewrote to increase accuracy.
69
70 * br-python-ft.el (python-empty-line): Updated to handle \r chars.
71
72 * br.el (br-entry-info): Rewrote to support br-insert-entry-info function.
73   br-python-ft.el (python-store-entry-info):
74         (python-insert-entry-info): Added.
75   br-lib.el (br-setup-functions): 
76   pyth-brows.el (python-browse-setup): Added insert-entry-info, store-entry-info
77     and store-class-info function setup.
78
79 * BR-VERSION: Updated copyright to support GPL 2 and distributor.
80
81 * br-python-ft.el (python-lookup-docstring): Improved to use pydoc.el if
82     available and to handle all entry types with doc strings.
83         (python-get-docstring-from-source): Improved to handle all entry
84     types with doc strings.
85
86 * br-lib.el (br-major-mode): Fixed to not invoke a programming mode on
87     dired buffers.
88
89 * br-python-ft.el (python-feature-implementors): 
90   br-ftr.el (br-feature-name): Updated to strip any package/module prefix
91     from Python entry names.
92   br-python-ft.el (python-feature-entry): Added.
93
94 * br-menu.el (br-menu-common-preamble): Updated mailing list and support menu items.
95
96 2001-05-09  Bob Weiner  <bwcto@users.sf.net>
97
98 * br-python-ft.el (python-import-dirs): Updated to use PYTHONPATH
99     environment variable when set.
100
101 * br-python-ft.el (python-add-default-classes): Added global support.
102                   (python-scan-globals): 
103   br-python.el (python-global-name): Added and used in python-scan-features.
104
105 * br-java-ft.el (java-locate-feature): 
106   br-python-ft.el (python-locate-feature): Deleted.
107
108 * br-lib.el (br-filename-head): Rewrote to return a regexp.
109
110 * br-python-ft.el (python-routine-def): Modified to end expression prior
111     to the terminating colon after a routine signature.
112
113 * br.el (br-feature): 
114   br-ftr.el (br-feature-found-p): Modified to handle a BUF-FILE arg which
115     is a directory, for Python package handling.
116
117 * br-ftr.el (br-feature-set-tags-buffer): 
118             (br-feature-tags-buffer): Added to cache access to br-feature-tags-file.
119         
120 * br-lib.el (br-real-build-al): 
121         (br-real-build-alists): 
122   br-python.el (python-get-classes-from-source):
123         (python-module-name): 
124         (python-module-tag): 
125         (python-add-package): 
126         (python-search-directory): 
127   br-python-ft.el (python-add-default-classes): Added module and package
128     support for Python
129
130 2001-05-07  Bob Weiner  <bwcto@users.sf.net>
131
132 * br-python.el (python-to-comments-begin): Added support for C/C++/Java files.
133
134 * java-brows.el (java-mode-setup): Rewrote to call new function java-lang-mode.
135   pyth-brows.el (python-mode-setup):
136                 (python-lang-mode): Added.
137
138 * br-python-ft.el: Added (require 'br-c-ft) and modified 
139     `python-feature-locate-p' to use C comment checks for C files.
140
141 * br-python.el (python-class-definition-regexp): Added missing class
142         statement terminator to prevent class name substring matches.
143                (python-class-name-before): Allowed whitespace before
144    `class' keyword since sometimes classes are defined conditionally.
145
146 2001-04-21  Bob Weiner  <bwcto@users.sf.net>
147
148 * br-lib.el (br-real-build-alists): Modified to act as though running in
149    batch mode so that major-mode-specific messages (e.g. those in Python
150    mode) may be suppressed as files are read in for scanning.
151
152 2001-04-18  Bob Weiner  <bwcto@users.sf.net>
153
154 * br-env.el (br-env-select-lang): Simplified reading number from the user.
155
156 2000-08-06  Bob Weiner  <weiner@beopen.com>
157
158 * br-python-ft.el (python-scan-features): 
159 * br-python.el (python-get-classes-from-source): Updated to ignore class
160    and function defs within doc strings.
161
162 2000-07-27  Bob Weiner  <weiner@beopen.com>
163
164 * br-lib.el (br-find-file-noselect): Added and bound
165    `br-find-file-noselect-function' to it.  This eliminates a regexp
166    overflow which can occur in C++ due to Hyperbole's attaching
167    `hproperty:but-create' to `find-file-hooks'.
168
169 1999-10-28  Bob Weiner  <weiner@beopen.com>
170
171 * br-c-tags: Added world execute bit that was missing.
172
173 1999-08-15  Bob Weiner  <weiner@beopen.com>
174
175 * br-name.el (br-names-display): Rewrote to utilize help mode when
176     available so can {q} out of this buffer.
177
178 * br-menu.el (br-menu-external): Under InfoDock, underlined accelerator
179     key for the OO-Browser menu. 
180
181 ==============================================================================
182 * V4.08 changes ^^^^:
183 ==============================================================================
184
185 1999-08-04  Bob Weiner  <weiner@beopen.com>
186
187 * tree-w32/intf-msw.c (HandleFrameMenuCommand): Deselect node before
188     deleting it (suggested by "Simon Waite" <opless@b0rk.co.uk>).
189
190 * br-java.el: Anchored to bol so that point ends up at the start of the
191     class def when editing a class, rather than after the initial keyword.
192
193 * br-lib.el (br-insert-file-contents): Added optional second arg UNUSED is
194     necessary since when used as a setting for `br-view-file-function'
195     this may be sent two arguments. 
196
197 1999-08-03  Bob Weiner  <weiner@beopen.com>
198
199 * br-java.el (java-class-def-regexp): Removed match of parent or protocol
200     classes at the end of expression because the expression was
201     invalid if no such classes existed and could cause the browser
202     scan to hang.
203              (java-class-name-after): Updated doc string and added
204     expression to match classes after the `extends' and `implements'
205     key words.
206
207 * br-init.el (br-init-autoloads): Fixed improper file reference in
208     br-env-* autoloads.
209
210 * br-start.el (br-env-default-file): 
211               (br-env-file): Moved defs from br-env.el since the
212     `oo-browser' command in this file may reference this file before
213     br-env.el is loaded.
214
215 * br-lib.el (hasht): Added missing (require 'hasht).
216
217 1999-07-20  Bob Weiner  <weiner@beopen.com>
218
219 * br-lib.el (br-ftr): Removed (require 'br-env).
220   br-env.el (hasht): Added (require 'br-start) since functions can be
221     autoloaded from here.
222
223 * br-menu.el (br-menubar-menu-setup): 
224              (id-menubar-br): 
225              (br-menu-common-body): Added full InfoDock Options menu when
226     available and made OO-Browser options a submenu of this.
227
228 ==============================================================================
229 * V4.07 changes ^^^^:
230 ==============================================================================
231
232 1999-07-18  Bob Weiner  <weiner@beopen.com>
233
234 * br-vers.el (br-version): Version 4.06 released.  (Bug fix release)
235
236 1999-07-16  Bob Weiner  <weiner@beopen.com>
237
238 * Makefile: Tightened platform-specific target dependencies.
239
240 * br.el: Added (require 'br-start).
241   br-start.el (br-ootags-executable): 
242         (br-shell-executable): 
243         (br-c-tags-flag): 
244         (br-sort-options): Moved from "br.el" to avoid byte-compilation
245     load ordering problems.
246
247 1999-07-14  Bob Weiner  <weiner@beopen.com>
248
249 * Makefile (dist): Changed `OO-Browser Pro' to OO-Browser for consistency
250     with other documentation.  Removed single language distribution targets
251     and separated source and runtime distribution from platform-specific
252     binaries. 
253
254 1999-07-13  Bob Weiner  <weiner@beopen.com>
255
256 * br-clos.el: 
257   br-eif.el: Removed circular requires pointed out by Steve Baur.
258
259 1999-07-10  Bob Weiner  <weiner@beopen.com>
260
261 * br-start.el (hyperb:dir): Prefer the `hyperbole/' directory to `hypb/'.
262
263 1999-07-09  Bob Weiner  <weiner@beopen.com>
264
265 * objc-brows.el (objc-mode-setup): 
266   java-brows.el (java-mode-setup): 
267   c++-browse.el (c++-mode-setup): Eliminated dependency on "hmouse-tag.el".
268
269 * br-menu.el (br-menu-external): Removed extra parentheses that caused
270     "Continue" item to fail.
271
272 ==============================================================================
273 * V4.06 changes ^^^^:
274 ==============================================================================
275
276 1999-06-26  Bob Weiner  <weiner@beopen.com>
277
278 * br-vers.el (br-version): Version 4.05 released.
279
280 * Makefile: Added .DEFAULT target.
281
282 1999-06-25  Bob Weiner  <weiner@beopen.com>
283
284 * c++-browse.el (c++-mode-setup):
285   java-brows.el (java-mode-setup): 
286   objc-brows.el (objc-mode-setup): Initialized cc-mode.
287
288 1999-06-16  Bob Weiner  <weiner@beopen.com>
289
290 * br-menu.el (br-menu-common-preamble): Changed `About' entry to summarize 
291     OO-Browser features.
292
293 1999-06-10  Bob Weiner  <weiner@beopen.com>
294
295 * Makefile (dist): Changed target to build all available OO-Browser
296     distributions.
297
298 1999-06-09  Bob Weiner  <weiner@beopen.com>
299
300 * br-lib.el (br-find-info-node): Moved from br-info.el and renamed from
301     `info-find-nd'.
302
303 * Used new name BeOpen.com throughout.
304
305 1999-06-02  Bob Weiner  <weiner@beopen.com>
306
307 * eif-browse.el (eif-browse-setup): 
308   br-eif-ft.el (eif-add-default-classes): 
309   br-python-ft.el (python-add-default-classes): 
310   br-c-ft.el (c-build-element-tags): Added C construct support for Python
311     and Eiffel.
312
313 1999-05-18  Bob Weiner  <weiner@beopen.com>
314
315 * br-env.el (br-env-validate-arg-strings): Updated to handle a deleted Env
316   File directory.
317
318 1999-05-16  Bob Weiner  <weiner@beopen.com>
319
320 * man/oo-browser.texi: Added to distribution.
321   Makefile: Updated to handle user manual building.
322
323 1999-05-06  Bob Weiner  <weiner@beopen.com>
324
325 * br-c++-ft.el (c-remove-functions): Modified to leave function opening
326     brace so that the scanner can tell that this is a function def.
327
328 1999-02-04  Bob Weiner  <weiner@beopen.com>
329
330 * br-c++-ft.el (c++-feature-at-reference-p): Fixed to ignore
331     ::global_function references which are handled elsewhere.
332
333 1998-11-23  Bob Weiner  <weiner@beopen.com>
334
335 * Makefile (dist): Added HP-UX distribution targets.
336
337 ==============================================================================
338 * V4.05 changes ^^^^:
339 ==============================================================================
340
341 1998-11-19  Bob Weiner  <weiner@beopen.com>
342
343 * br-vers.el (br-version): Version 4.04 released.
344
345 * Makefile: Added a full set of evaluation-building targets and renamed
346     unixdist targets to solarisdist.  Also eliminated `dist' term from all
347     distribution targets to reduce typing.
348
349 1998-11-18  Bob Weiner  <weiner@beopen.com>
350
351 * hmouse-br.el (smart-element): Improved error reporting when press occurs 
352     on a non-class and non-feature line.
353
354 * br-ftr.el (br-feature-relation-implementors): Removed assumption that if 
355     there is one signature line match that it is always line three.
356     Instead, find the first line with a 'tag property and use that signature.
357     This fixed a bug that could jump to the wrong method definition when
358     the Action Key is pressed on a member call. 
359             (br-feature-to-tag): 
360             (br-feature-add-tag): Added and used in
361     `br-feature-list-implementors' to fix bug that prevented jumping to
362     signatures listed in such buffers.
363
364 1998-11-09  Bob Weiner  <weiner@beopen.com>
365
366 * br-java-ft.el (java-feature-lookalikes): Added `catch'.
367
368 1998-11-03  Bob Weiner  <weiner@beopen.com>
369
370 * br.el (br-edit-ext-start): Fix bug that sent string as arg to nconc and
371     listed arguments in the wrong order if xterm is not used.
372
373 1998-10-31  Bob Weiner  <weiner@beopen.com>
374
375 * br.el (br-browse): Fixed to redisplay a dedicated OO-Browser frame if it 
376     is in use but the frame itself has been deleted.
377
378 ==============================================================================
379 * V4.04 changes ^^^^:
380 ==============================================================================
381
382 1998-10-27  Bob Weiner  <weiner@beopen.com>
383
384 * br-vers.el (br-version): Version 4.03 released.
385
386 1998-10-26  Bob Weiner  <weiner@beopen.com>
387
388 * br-c++.el (c++-src-file-regexp): Extended suffixes to include .HPP.
389
390 * br-ftr.el (br-feature-match-implementors): 
391             (br-feature-insert-signatures): 
392             (br-feature-insert-ancestor-implementors): 
393             (br-feature-insert-descendant-implementors): Rewrote to
394     associate tags with implementor signature entries for easy definition
395     lookup.
396
397 * hmouse-br.el (smart-element): Rewrote to handle overloaded methods
398     properly from both V3 and V4-type tag entries.
399   br-ftr.el (br-feature-v3-def-file): 
400             (br-feature-v3-def-file-internal): 
401             (br-feature-v3-file-of-tag): Added for use on OO-Browser V3
402     tags by (smart-element).
403
404 * br-c-ft.el (c-build-element-tags-internal): Fixed regexp search overflow 
405     under GNU Emacs.
406
407 1998-10-25  Bob Weiner  <weiner@beopen.com>
408
409 * br-lib.el (br-pop-to-buffer):
410             (br-find-file):  Added call to (hpath:push-tag-mark).
411
412 * br-env.el (br-env-build): Changed EMACSLOADPATH separator to semicolon
413     when hyperb:microcruft-os-p is true.  This allows background building
414     with DOS-type shells, though a `make' program is also required for
415     such builds.
416
417 1998-10-23  Bob Weiner  <weiner@beopen.com>
418
419 * br.el (br-interrupt): Wrapped br-feature-clear-tags call with a (let
420     (buffer-read-only)) to avert read-only error.
421         (br-next-buffer): Moved (erase-buffer) after
422     (br-feature-clear-tags) call.
423
424 * br-ftr.el (br-feature-match-implementors): Prevented substring matches,
425     e.g. looking for implementor of `func' and matching to `function'.
426
427 1998-10-22  Bob Weiner  <weiner@beopen.com>
428
429 * br-lib.el (br-delete-space): Made to work if string is all whitespace.
430
431 * br-c++-ft.el (c++-scan-features): Fixed to ignore ::function global references.
432
433 * br-c++.el (c++-header-file-regexp): 
434             (c++-src-file-regexp): Added .inc file suffix used by some libraries.
435
436 * br-c++-ft.el (c++-feature-args-regexp): 
437                (c++-func-args-regexp): Fixed bug that could remove `*'
438     characters from type declarations when trying to match feature
439     declarations to definitions.
440                (c++-feature-def-pat): Fixed problem with differing
441     whitespace within return types of declaration and definition.
442
443 * br-env.el (br-env-create): Eliminated potential reference to prior Env name.
444
445 * br-c++-ft.el (c-remove-functions): Added.
446                (c++-scan-features): Added call to c-remove-functions to
447     prevent any mis-scans within their bodies.  ootags processes C
448     functions separately.
449
450 1998-10-19  Bob Weiner  <weiner@beopen.com>
451
452 * br-c++-ft.el (c++-at-feature-regexp): Tightened match to eliminate -, +, 
453   and ! characters within function argument lists to prevent some false
454   matches.
455
456 ==============================================================================
457 * V4.03 changes ^^^^:
458 ==============================================================================
459
460 1998-09-30  Bob Weiner  <weiner@beopen.com>
461
462 * br-c++-ft.el (c++-feature-signature-to-regexp): 
463                (c++-type-identifier): 
464                (c++-return-type-identifier): Allowed whitespace around
465     scoping operator.
466                (c++-type-identifier): 
467                (c++-return-type-identifier): Added _ as leading character
468     possibility.  This fixed a bug in matching to class type names that
469     start with underscores.
470                (c++-feature-decl-or-def): 
471                (c++-attribute-tag-regexp): Added another level of parens
472     around the `c++-type-modifier-keyword*' expression to capture all
473     keywords.
474                (c++-scan-features-in-class): Updated to better deal with
475     typedefs and other C constructs in classes.
476
477 * br-lib.el (br-delete-space): Fixed potential error caused by differing
478     syntax tables.
479
480 * br-c++.el (c++-list-template-argument-names): 
481             (c++-non-template-identifier):
482             (c++-list-template-arguments): Added.
483             (c++-get-class-name):
484             (c++-scan-parents): 
485             (c++-normalize-template-arguments): Rewrote to handle nested template
486     arguments.
487             (c++-get-parent-name): Speeded up a bit.
488             (c++-parse-buffer-template-arguments): Added to parse
489     and normalize in-buffer template arguments.
490
491 1998-09-29  Bob Weiner  <weiner@beopen.com>
492
493 * br-c++-ft.el (c++-type-modifier-keyword): Added `typename' keyword.
494
495 ==============================================================================
496 * V4.02 changes ^^^^:
497 ==============================================================================
498
499 1998-09-28  SL Baur  <steve@beopen.com>
500
501 * GNUmakefile.id (binkit): Ensure installation of tree-x subdirectory
502
503 1998-09-28  Bob Weiner  <weiner@beopen.com>
504
505 * br.el (br-window-setup): Rewrote for greater robustness.
506
507 * br-c-ft.el (c++-function-identifier): 
508   br-java-ft.el (java-function-identifier): Added missing whitespace
509     characters that could allow extra whitespace to be matched at the
510     end of an identifier which in turn could trigger an Environment build
511     error.
512
513 * br-python-ft.el (python-within-string-p): Simplified.
514                   (python-within-comment-p): Added and called.
515                   (python-scan-features-in-class): 
516                   (python-scan-features): Eliminated bug that could delete 
517     needed whitespace between a feature name and its arguments thereby
518     causing the viewer to not be able to locate a match in the source code.
519                   (python-feature-locate-p): Fixed bug that could try to
520     display code when no match was found.
521                   (python-routine-def-in-class): 
522                   (python-routine-def): Modified to include routine
523     arguments within the match.
524
525 * br-python.el (python-to-comments-begin): Implemented this function.
526
527 1998-09-27  Bob Weiner  <weiner@beopen.com>
528
529 * br-python-ft.el (python-import-pathname): Added to convert an import
530     library name (possibly with path components) to a full pathname.
531                   (python-import-file): Updated to support jumping to import
532     module names and associated imported definitions (shadowing variables
533     defined within `from' clauses.
534
535 * eif-calls.el (eif-attribute-to-regexp): Added support for viewing
536     multiple attribute definitions.
537
538 * br-ftr.el (br-feature-make-htables): Clarified error message when
539     temporary OOBR-FTR file contains an entry with an invalid tag format.
540
541 * eif-calls.el (eif-parse-features): Rewrote to include external routines
542     and to handle newer external method declaration format.
543                (eif-parse-attributes): Added support for lists of
544     attributes in one declaration.
545
546 * br-eif.el (eif-get-parents-from-source): Rewrote to set implicit parent
547     for classes referenced but not defined within the Environment.
548     (eif-scan-class-parents): Added.
549
550 1998-09-26  Bob Weiner  <weiner@beopen.com>
551
552 * br-eif.el (eif-get-classes-from-source): All classes have ANY as an
553     ancestor, so if no superclass was found, add ANY to the list of
554     `parents'.
555
556 * br-python-ft.el (python-feature-signature-to-regexp): Fixed comment
557     start expression.  Also improved many regexp constant definitions.
558                   (python-code-file-regexp): Fixed typo that left off end
559     of string match.
560
561 * br-java-ft.el (java-feature-locate-p): 
562   br-python-ft.el (python-feature-locate-p): 
563   br-c++-ft.el (c++-feature-locate-p): Clarified difference between a
564     feature-tag and a feature-regexp and fixed a problem in handling these.
565
566 * br-python-ft.el (python-feature-locate-p): Deleted improper reference
567     to `java-default-interface-class' that could trigger an error.
568
569 1998-09-24  Bob Weiner  <weiner@beopen.com>
570
571 * br-c++-ft.el (c++-feature-item-regexp2): Added.
572                (c++-feature-to-item-declaration): 
573                (c++-feature-to-variable-declaration): 
574                (c++-feature-variable-class): 
575                (c++-feature-attribute-display): Rewrote to tighten
576     matching accuracy of declarations, mainly to handle array variables better.
577
578 1998-09-23  Bob Weiner  <weiner@beopen.com>
579
580 * br-c++-ft.el (c++-feature-view-declaration): 
581   br-ftr.el (br-feature-display):
582             (br-feature-tag-signature-match): 
583     Fixed array reference error caused by passing a nil `ftr-tag' value to
584     br-feature-tag-path.  The user would see this when trying to follow a
585     method call under C++.
586
587 1998-09-20  Bob Weiner  <weiner@beopen.com>
588
589 * br-lib.el (br-wind-line-at-point): Fixed fencepost error.
590
591 * eif-calls.el (eif-routine-regexp): Handle lines that end with a carriage return
592     which fixed missed routines.
593                (eif-routine-to-regexp): 
594     br-eif.el (eif-get-parents-from-source): Allow `inherit' keyword at
595     places other than the beginning of a line.  This fixed missed parent
596     lists.
597
598 * br.el (br-mode-map): When in a listing window, make BS scroll the viewer 
599     backwards a windowful just like DEL.
600
601 * br-c++-ft.el (c++-feature-add-prefix): Added = as the feature prefix for
602     type declarations like structs and enums. 
603
604 * br-env.el (br-env-validate-arg-strings): Removed old code that could
605     improperly attach wrong old env name to a new env file. 
606
607 1998-09-19  Bob Weiner  <weiner@beopen.com>
608
609 * br-objc-ft.el
610   br-eif:
611   br-clos-ft.el: 
612   br-smt.el:
613   br-python.el:
614   br-python-ft.el:
615   br-objc.el:
616   br-info.el:
617   br-clos.el:
618   br-c++-ft.el:
619   br-c++.el:
620   br-java-ft.el:
621   br-java.el: Changed `buffer-substring' to `br-buffer-substring' calls to
622     eliminate any syntax highlighting properties from the associated
623     strings.  This slows down Environment building a bit for the sake of
624     highlighting correctness in listing displays.
625
626 * br-java-ft.el (java-feature-add-prefix): Eliminated miscategorization of 
627     method interfaces as attributes (due to terminating semicolon).
628
629 1998-09-18  Bob Weiner  <weiner@beopen.com>
630
631 * br-menu.el (initialize menu): Under GNU Emacs, don't require non-nil
632     current-menubar since GNU Emacs doesn't use this variable.
633
634 1998-09-17  Bob Weiner  <weiner@beopen.com>
635
636 * br-c++-ft.el (c++-tag-fields-regexp): Fixed problem that
637     failed to match to C++ template class names with embedded spaces.
638
639 ==============================================================================
640 * V4.01 changes ^^^^:
641 ==============================================================================
642
643 1998-09-15  SL Baur  <steve@beopen.com>
644
645 * br-menu.el: Don't initialize menu at load time if loaded from
646     InfoDock.
647
648 1998-09-13  Bob Weiner  <weiner@beopen.com>
649
650 * br-c-ft.el (c-build-element-tags-internal): Added file-readable-p test
651     since file-writable-p does not test for existence.
652
653 1998-09-10  SL Baur  <steve@beopen.com>
654
655 * br-menu.el (hyperb:window-system): Guard initialization call of
656     `br-menu-external-setup with test for whether the menubar is
657     initialized.
658
659 1998-09-01  Bob Weiner  <weiner@beopen.com>
660
661 * hmouse-br.el (smart-br): When displaying a listing entry for editing
662     based on a mouse click, leave point in the listing window.
663
664 * br-ftr.el (br-feature-make-htables): Send /R option to MS-DOS sort
665     command, not -r, and produce clear message if this option is not
666     handled by the sort command invoked under MS OSes.
667
668 1998-08-28  Bob Weiner  <weiner@beopen.com>
669
670 * br-menu.el (br-menu-update-env-list): Added to produce dynamic Env name
671     menu under GNU Emacs.  InfoDock and XEmacs do this via the :filter
672     keyword.
673
674 * br-env.el (br-env-copy): Added "env-start-build-time" and
675     "env-end-build-time".
676
677 * br.el (br-mode): 
678         (br-mode-map): Moved popup menu setup from br-menu.el to here.
679
680 * br-tree.el (br-tree-load): Added 'mswindows symbol for XEmacs on NT.
681
682 * hmouse-br.el (smart-element): Allow for optional double quotes around
683     feature file pathnames.
684   br-*-ft.el (*-output-feature-tags): Called prin1 to update the pathname
685     location of each set of tags to avoid read errors on MS OSes.
686
687 * br-menu.el (br-menu-common-body): Added 3-Button-Mouse option.
688   br-start.el (br-two-button-mouse): 
689               (br-three-button-mouse): 
690   br-site.el (br-setup-mouse-keys): Added to bind the Action Key to the
691     middle or left mouse button in OO-Browser listing buffers, for
692     easier viewing of listing items.
693
694 1998-08-27  Bob Weiner  <weiner@beopen.com>
695
696 * br-menu.el: Updated so that when loaded, adds a menubar entry for
697     invoking the OO-Browser under XEmacs and GNU Emacs.  InfoDock
698     automatically adds such an entry under its Software menu.
699
700 * br-env.el (br-env-stats): Print language type of the current Environment 
701     on the first line of (br-env-stats) output.
702
703 * br-start.el (featurep 'info): Replaced wrong 'Info symbol.
704
705 * br.el (br-mode-map): Rebound {C-c C-c} from (br-env-create) to
706     (br-env-browse) since the former can no longer be called
707     interactively.
708
709 1998-08-26  Bob Weiner  <weiner@beopen.com>
710
711 * br-env.el (br-env-copy): Protected `set' calls with `boundp' tests
712     to eliminate possibility of unbound variable value references.
713
714 * br-lib.el (br-real-build-al): Skip symlink subdirectories.  This can
715     help prevent infinite recursions caused by circular links found within
716     some code trees.  If any code lives within another tree, the
717     Environment can include its root directory.
718
719
720 * br.el (br-add-class-file): Removed since would not work properly and full
721     Environment rebuilding is fast enough now.  In the future, incremental
722     Environment rebuilding may be supported.
723
724 1998-08-25  Bob Weiner  <weiner@beopen.com>
725
726 * br.el (br-mode-map): Added key bindings within listing buffers for Env
727     name commands.
728
729 * br-lib.el (br-abbreviate-file-name): Added this function to deal with
730     XEmacs / GNU Emacs calling incompatibilities in abbreviate-file-name.
731
732 1998-08-24  Bob Weiner  <weiner@beopen.com>
733
734 * br-menu.el (br-menu-common-body): Removed Rebuild-Lib-Part,
735     Rebuild-Sys-Part since are seldom used.  Added Env name handling
736     items.
737
738 * br-env.el (br-env-cond-build): Since this is always called from
739     br-env-load, eliminate load of Environment from its call to
740     br-env-build.
741
742 * *-browse.el (*-browse): Fixed non-refresh of browser display when bring
743     a different Environment back in from memory (since br-env-load is
744     not called in such instances).
745
746 1998-08-23  Bob Weiner  <weiner@beopen.com>
747
748 * hasht.el (hash-delete): Fixed to truly remove a key from the hash-table.
749
750 * br-env.el (br-env-create): Deleted unneeded interactive calling spec.
751
752 * br.el (br-next-buffer): Set title bar in browser listing buffers to
753     show are in the OO-Browser and what the current Environment is.
754
755 * br-name.el:
756   br-env.el: Added and updated to support browsing Environments by a
757     mnemonic name rather than by file name.  Also added menu of Env names
758     under InfoDock.
759
760 1998-08-22  Bob Weiner  <weiner@beopen.com>
761
762 * hasht.el (hash-empty-p): Added.
763
764 1998-08-21  Bob Weiner  <weiner@beopen.com>
765
766 * br.el (br-at): Eliminated narrowing to class to conform to the way
767     other commands work.
768
769 * br-site.el: Fixed to deal with python-mode keymap being named py-mode-map.
770
771 * br-clos-ft.el (clos-element-tag-list): Modified to output listing entry
772     components within tags just like other languages.  Also modified to
773     mark constant and variable tags with `=' prefixes.
774
775 * eif-calls.el (eif-insert-class-info-calls): Fixed so works automatically 
776     when called from `br-entry-info'.
777
778 * br-eif-ft.el (eif-locate-feature): 
779   eif-calls.el (eif-routine-regexp): 
780                (eif-routine-to-regexp): Added support for multiple name
781     routine definitions. 
782
783 1998-08-20  Bob Weiner  <weiner@beopen.com>
784
785 * br-c++-ft.el (c++-scan-features-in-class): Added support for enums,
786     typedefs, structs and unions embedded within classes.  Each such
787     construct is listed together with its class of occurrence within
788     the C construct default class instances.  Each attribute named
789     at the end of each such construct (even multiple attributes per line)
790     are added to the class' feature list.
791
792 * br-ftr.el (br-etags-file): Renamed from br-tags-file to reduce any
793     confusion with OO-Browser feature tags (these are Emacs TAGS file
794     tags).
795
796 * Redesigned all feature handling code to speed feature queries.
797   Using a test Environment of 586 C++ classes on a Pentium II 350 Mhz
798   Linux system, generating a listing of all Environment features
799   (9859 entries including classes) went from 15 seconds in V3.07 to 1.5
800   seconds for a 10-fold speedup.
801
802   A user-visible side-effect of this speedup under MS operating systems
803   only (due to their lack of the -d option to their builtin sort function),
804   is that features are alphabetized by category, e.g. regular methods in one
805   group, special methods in other groups, followed by attributes.
806
807 1998-08-19  Bob Weiner  <weiner@beopen.com>
808
809 * br.el (br-feature): Deleted optional ARG since would not work any more.
810
811 1998-08-18  Bob Weiner  <weiner@beopen.com>
812
813 * br-c++-ft.el (c++-type-modifier-keyword):
814                (c++-type-def-modifier): Added `unsigned'.
815                (c++-attribute-decl): Adapted to support enum, struct, and
816     union as class attributes.
817
818 1998-08-17  Bob Weiner  <weiner@beopen.com>
819
820 * br-tree.el (br-tree-do-cmd): Fixed so features may be viewed or edited
821     just like classes.  (Before they could be viewed only.)
822
823 * br.el (br-implementors): Fixed comparison problem in filtering out entries from
824     default classes like `[constant]'.
825
826 1998-08-16  Bob Weiner  <weiner@beopen.com>
827
828 * br-python-ft.el (python-feature-signature-to-name): Eliminated invalid
829     call to `python-feature-add-prefix'.
830         
831 1998-08-15  Bob Weiner  <weiner@beopen.com>
832
833 * br-ftr.el (br-feature-list-implementors): Eliminated sort of
834     implementors since is complex, time-consuming and is handled
835     elsewhere before implementors are displayed.
836             (br-feature-tags-delete): Renamed from br-delete-features and
837     moved from "br-lib.el".
838
839 * br-lib.el (br-features-htable): 
840         (br-feature-paths-htable): Added these 2 variable definitions.
841   br-ftr.el (br-feature-build-htables): Renamed from `br-feature-tags-save'
842     and added code to create feature htables for faster lookup.
843             (br-feature-make-htables): Added.
844   br-env.el (br-env-load): Modified to not rebuild children-htable since
845     this is recreated from the children-alist saved in any modern Environment.
846             (br-env-save): Removed conditional copy of `br-feature-tags-file'
847     since this was replaced by alists stored in the main Environment file.
848
849 * hasht.el (hash-make-prepend): 
850            (hash-prepend): Added to allow addition of entries to a value
851     list referenced by key.
852
853 1998-08-14  Bob Weiner  <weiner@beopen.com>
854
855 * br.el (br-browse): Removed call to raise-frame to allow user to control
856     this behavior.
857
858 * Changed \^M everywhere to more modern \r syntax and added \r where
859   needed to support MS OS usage of \r\n to end lines.
860
861 1998-08-13  Bob Weiner  <weiner@beopen.com>
862
863 * br-c++-ft.el (c++-scan-features-in-class): Pure virtual functions were
864     being ignored like regular function declarations, so they were not
865     added to the features list.  Fixed.
866
867 ==============================================================================
868 * V4.00 changes ^^^^:
869 ==============================================================================
870
871 1998-08-04  Bob Weiner  <weiner@beopen.com>
872
873 * *-brows*.el (*-browse): Under same-env conditional, move *-browse-setup
874           to follow br-env-copy call to that br-env-file is set properly
875         prior to br-setup-constants reference of it.
876   br-lib.el (br-setup-constants): Added call to `br-init' or OOBR-FTR
877     would not be set correctly when switched languages to a cached
878     language Environment.
879
880 ==============================================================================
881 * V3.07 changes ^^^^:
882 ==============================================================================
883
884 1998-08-02  Bob Weiner  <weiner@beopen.com>
885
886 * br-env.el (br-env-load): Do a refresh on all browser windows after
887     loading environment if this function was called interactively.
888     Otherwise, may be displaying old Environment information.
889         
890 * br-env.el (br-env-read-file-name): Fix problem where `dir' was set to a
891     filename rather than a directory.  This prevented proper
892     completion when br-env-browse is called interactively.
893             (br-env-browse): Modified interactive call to complete in
894     current directory and to prompt with an Env name in the current
895     directory rather than with `br-env-file' since this is
896     typically called from `oo-browser' which has already prompted the
897     user whether to reuse the current Environment.
898
899 * br.el (br-ancestors): Fixed so when called by br-routines, br-attributes 
900     or br-features and not on a class, will display an error message.
901
902 * br-compl.el (br-find-class-name-as-list): Added and used to eliminate
903     creation of a '(nil) list if point is not on a class name.
904
905 * br.el (br-where): Modified to always include the class name within the
906     output.
907
908 * br-eif-ft.el (eif-tag-fields-regexp): Added.  Needed by br-ftr.el.
909                (eif-feature-signature-to-name): Changed to use "::" rather 
910     than "," separator for compatibility with generic OO-Browser functions.
911
912 1998-08-01  Bob Weiner  <weiner@beopen.com>
913
914 * br-env.el (br-env-load): Obsoleted Eiffel Environments earlier than
915     03.06.01.
916             (br-env-rebuild): Added refresh of the OO-Browser display
917     after rebuild.
918
919 * br-compl.el (br-find-class-name): Fixed so returns nil if on a feature
920     entry line.
921
922 * br-eif.el (eif-set-case): Modified to simply return its argument rather
923     than downcasing it.
924
925 * eif-calls.el (eif-reserved-words-htable): Added to speed reserved word
926      comparisons.
927   br-eif.el (eif-get-parents-from-source): 
928   br-eif-ft.el (eif-keyword-p): Modified to use above variable.
929
930 * eif-calls.el (eif-store-class-info-calls): Removed downcase call.
931   br-eif-ft.el (eif-find-class-name): 
932                (eif-renamed-feature-p): 
933   eif-calls.el (eif-get-class-name-from-source): 
934   br-eif.el (eif-get-parents-from-source): 
935             (eif-get-classes-from-source): Removed (eif-set-case class)
936     call so that class names are stored and matched against as found in
937     the source.
938
939 * eif-ise-er.el (eif-ise-compilation-parse-errors): Eliminated duplicative 
940     downcase of `class-name'.
941
942 * br-eif.el (eif-get-classes-from-source): 
943             (eif-get-parents-from-source): Rewrote to conform to newer
944     file processing techniques.
945
946 * eif-calls.el (eif-parse-attributes): Simplified and corrected by calling 
947     br-member.  This eliminated a potential parsing hang.
948
949 Wed Jul 15 13:05:25 1998  Bob Weiner  <weiner@beopen.com>
950
951 * br-compl.el (br-buffer-menu-file-name): Renamed from
952     br-buffer-menu-buffer-name and rewrote to return the file name
953     for comparison rather than the buffer name.  Eliminates problems
954     with buffer names like foo.java<2>.
955
956 * br-ftr.el (br-feature-tag-signature): Removed reference to
957     language-specific c++-tag-fields-regexp.
958
959 * br.el (br-where): Added missing regexp-quote to br-feature-tag-and-file call.
960
961 1998-07-14  Bob Weiner <weiner@beopen.com>
962
963 * br-compl.el (br-buffer-menu): Changed arg to `t' for XEmacs-compatibility.
964
965 ==============================================================================
966 * V3.06.01 changes ^^^^:
967 ==============================================================================
968
969 Thu Jun 11 00:24:14 1998  Bob Weiner  <weiner@beopen.com>
970
971 * br-*-ft.el (*-list-features): Removed nreverse call since was reversing
972     same named features when it should have left them alone.
973
974 * br-lib.el (br-insert-file-contents): Removed 2nd arg to
975     insert-file-contents which caused *br-tmp-buffer*' to become
976     associated with the last file scanned.  Since this buffer is
977     not killed, when one would view an entry from this file, the
978     *br-tmp-buffer* would improperly be used.
979
980 * br-python-ft.el (python-get-file-buffer): Deleted, call
981    br-insert-file-contents instead.
982
983 * br-ftr.el (br-feature-list-attributes): Modified to do a regexp search.
984             (br-attribute-type-regexp): 
985   br-c++-ft.el (c++-feature-add-prefix): List static attributes with an "& "
986     prefix instead of an "= ".
987
988 * br-env.el (br-env-stats): Extended to include editor and OS information
989     for use when troubleshooting.
990
991 Wed Jun 10 22:31:05 1998  Bob Weiner  <weiner@beopen.com>
992
993 * br-c++-ft.el (c++-at-feature-regexp): 
994                (c++-routine-prefix-in-class): Allow for :: scoping
995     operators in argument lists.
996                (c++-feature-view-declaration): After use br-find-class to
997     match to a specific class, limit feature searches to the body of that
998     class; this prevents a bug when looking for constructors that could
999     match to a feature scoped to the current class with a completely
1000     different feature name (only the part preceding the :: is matched in
1001     this case (the class name was improperly treated as the constructor
1002     name)).
1003                (c++-feature-method-display): 
1004                (c++-feature-view-declaration): 
1005                (c++-feature-attribute-display): Made match searches
1006     case-sensitive.
1007
1008 * br-c++.el (c++-parent-regexp): Fixed overrun in parent scan when
1009     processing conditionalized class headers like:
1010
1011       #ifdef DEFINE
1012       class myclass : public yourparent
1013       #else
1014       class myclass : public myparent
1015       #endif
1016       {}
1017
1018     by adding # as a terminator character.
1019
1020 Tue Jun  2 15:36:44 1998  Bob Weiner  <weiner@beopen.com>
1021
1022 * br-java.el: Added (require 'br-c-ft).
1023   br-java-ft.el (java-add-default-classes): Added call to
1024     `c-add-default-classes' to support Java/C integration.
1025
1026 1998-06-02  Bob Weiner  <weiner@beopen.com>
1027
1028 * br-c++-ft.el (c++-feature-declaration-regexp): Fixed bug that could
1029     produce the wrong regexp when definition signature contained newlines.
1030
1031 ==============================================================================
1032 * V3.06 changes ^^^^:
1033 ==============================================================================
1034
1035 Thu May 28 14:27:09 1998  Bob Weiner  <weiner@beopen.com>
1036
1037 * br-menu.el (br-menu-common-body): Added Use-Vi-as-Editor menu toggle item.
1038
1039 * br-ftr.el (br-feature-found-p): 
1040   br-lib.el (br-find-class): Modified to return the line number at which
1041     the entry displayed begins.
1042             (br-line-number): Added.
1043   br.el (br-view): Rewrote to display classes with external
1044     viewers/editors at their exact starting line.
1045         (br-feature): Rewrote to display elements with external
1046     viewers/editors at their exact starting line.
1047
1048 * br.el (br-edit-ext): Removed concat of an integer.
1049         (br-edit-ext-start): 
1050         (br-view-ext-start): Simplified by using a call to `apply'.
1051     Also set window manager title to the file being displayed if "xterm"
1052     is the command called; this typically means vi is being used.
1053         (br-edit-externally-p): Added to allow external editing of elements.
1054
1055 1998-05-19  Bob Weiner  <weiner@beopen.com>
1056
1057 * br-objc-ft.el (objc-feature-map-class-tags): 
1058                 (objc-feature-map-tags): 
1059                 (objc-list-categories): 
1060   br-python-ft.el (python-feature-map-class-tags): 
1061   br-java-ft.el (java-feature-map-class-tags): 
1062                 (java-feature-map-tags): 
1063   br-c++-ft.el (c++-feature-map-class-tags): 
1064                (c++-feature-map-tags): 
1065                (c++-list-features): Fixed bug that locally bound
1066     case-fold-search before setting the current buffer (which has its own
1067     value).
1068
1069 * br-c++-ft.el (c++-attribute-modifier-keyword): Added support for arrays.
1070                (c++-routine-prefix-in-class): 
1071                (c++-routine-in-class): Added these two constants for use
1072     in eliminating routine declarations while scanning class features;
1073     this eliminates false attribute matches to routine argument declarations.
1074                (c++-scan-features-in-class): Modified to delete routine
1075     declarations from the scan.
1076
1077 * br-*-ft.el (*-get-feature-tags): Renamed to *-output-feature-tags,
1078     made 2nd arg non-optional and eliminated conditional that scanned
1079     the source since this was never called to read the features; it was
1080     always passed a list of features.
1081
1082 1998-05-15  Bob Weiner  <weiner@beopen.com>
1083
1084 * br-c++-ft.el (c++-get-feature-tags): 
1085   br-c++.el (c++-get-classes-from-source): Removed feature sort to speed up.
1086   br-c++-ft.el (c++-feature-to-end): Remove testing of whether in a
1087     comment or not to speed up this often called function.
1088
1089   Made the same changes for other languages.
1090
1091   The combination of these improvements sped up C++ Environment building
1092   6-fold under InfoDock and XEmacs and a 14-fold speedup under GNU Emacs! 
1093
1094 ==============================================================================
1095 * V3.05 changes ^^^^:
1096 ==============================================================================
1097         
1098 1998-05-07  Bob Weiner  <weiner@beopen.com>
1099
1100 * br-clos-ft.el (clos-feature-locate-p): Eliminated null signature bug.
1101
1102 Thu May  7 00:00:37 1998  Bob Weiner  <weiner@beopen.com>
1103
1104 * br-tree.el (*br-tree-prog-name*):
1105              (br-tree-load): Handle that newer versions of GNU Emacs set
1106     window-system to w32 under Windows.
1107
1108 * br-ftr.el (require 'br-c-ft): Added since it `br-feature-tags-save'
1109     references its function `c-build-element-tags'.
1110
1111 Wed May  6 01:58:56 1998  Bob Weiner  <weiner@beopen.com>
1112
1113 * br.el:
1114   br-c++-ft.el (c++-scan-features): 
1115   br-c-ft.el (c-build-element-tags-internal): 
1116   br-c-tags (tags_file): Renamed OO-Browser-specific tags generator to
1117     `ootags' from `etags', so it can co-exist with old versions of etags.
1118
1119 ==============================================================================
1120 * V3.04 changes ^^^^:
1121 ==============================================================================
1122
1123 Mon May  4 00:59:15 1998  Bob Weiner  <weiner@beopen.com>
1124
1125 * OO-Browser V3.03 released.
1126
1127 * br-env.el (br-env-totals): Eliminated display of zero count Interfaces
1128     if not supported by the language.
1129
1130 * br-env.el (br-env-load): Fixed bug that didn't run language-specific
1131     setup function when called from a batch build.
1132
1133 * br-start.el (oobr): Removed this definition.  Use oo-browser instead.
1134
1135 * Make-Env (oo-browser-env): Renamed from oobr-env.
1136            (oo-browser-env-debug): Renamed from oobr-env-debug.
1137
1138 * hasht.el (hash-merge-first-value): Added.
1139   br-lib.el (br-merge-parents-htables): 
1140             (br-get-htable): Called this new function.
1141
1142 Sun May  3 22:04:42 1998  Bob Weiner  <weiner@beopen.com>
1143
1144 * br-lib.el (br-build-paths-htable): We may have merged two tables where a
1145     single class-name was referenced in one and defined in the other which
1146     means it will have both a path entry and a br-null-path entry; remove
1147     the latter.  This fixes a bug where {M-e} br-env-stats shows a class
1148     as undefined when it is not.
1149             (br-delete-sorted-strings):
1150             (br-merge-paths-htables): Added to support this merging.
1151
1152 * hasht.el (hash-merge): Make the merged hash-table be 20% larger than the
1153     number of entries filled in all hash-tables to be merged, so that
1154     hash misses are minimized.
1155            (hash-make): Signal an error if sent a floating point number as
1156     an argument.
1157            (hash-merge-values): Copy lists so that merged result does not
1158     share structure with the hash tables being merged.
1159
1160 1998-05-03  SL Baur  <steve@beopen.com>
1161
1162 * br.el (br-ootags-executable): Define br-directory, upon which it depends,
1163     before this definition.
1164
1165 Thu Apr 30 00:48:12 1998  Bob Weiner  <weiner@beopen.com>
1166
1167 * br-tree.el (br-tree-x-load-tree-file): Bound windowed-process-io for
1168     XEmacs and InfoDock under Windows.
1169
1170 * br-lib.el (br-insert-file-contents): Rewrote to only temporarily select
1171     the buffer; this leaves the temporary buffer at the bottom of the buffer
1172     list.
1173             (*br-tmp-buffer*): Make this a hidden buffer whose name begins
1174     with a space.
1175
1176 * br-c-ft.el (c++-operator-name-regexp): In whitespace match only to
1177     spaces since this is used only in tag files where all whitespace has
1178     been normalized to one space.
1179              (c-build-element-tags-internal): Handle operator * constructs
1180     where the * is dropped by ootags.
1181
1182 Wed Apr 29 23:56:55 1998  Bob Weiner  <weiner@beopen.com>
1183
1184 * br-menu.el (br-popup-menu): Removed unused InfoDock clause.
1185
1186 Mon Apr 27 00:04:45 1998  Bob Weiner  <weiner@beopen.com>
1187
1188 * br-c++.el (c++-get-classes-from-source): Fixed bug that improperly
1189     removed comments from source buffers that were loaded into the editor
1190     before they were scanned by the browser.  `set-buffer' was called where
1191     `br-view-file-function' should have been used.
1192
1193 * br-c-ft.el (c++-operator-name-regexp): Added omitted + and - operators.
1194              (c-build-element-tags-internal): Remove all non-global scoped
1195     :: entries produced by ootags since the OO-Browser handles these
1196     separately.
1197
1198 ==============================================================================
1199 * V3.03 changes ^^^^:
1200 ==============================================================================
1201
1202 * OO-Browser V3.02 released.
1203
1204 * br-lib.el (br-find-class): Fixed to return nil if class is referenced
1205     but not defined in the Environment.  This fixes an error where an
1206     Action Key click on a referenced class does not display any message
1207     of failure.
1208
1209 * br-lib.el (br-real-add-class): Eliminated bug that would remove C++
1210     comments in the original buffer.
1211
1212 * br-lib.el (br-default-class-p): Added.
1213   br-env.el (br-env-totals): Rewrote to display more informative class totals.
1214
1215 * br-lib.el (br-merge-parents-htables): Added.
1216             (br-build-parents-htable): 
1217   br-env.el (br-env-set-htables): Called above function.
1218
1219 * br-lib.el (br-temp-directory): Added to return an OS-specific temporary dir.
1220   eif-calls.el (eif-tmp-info-file):
1221   br-tree.el (br-tree-load):  Called above function.
1222
1223 * br-env.el (br-env-rebuild): Added debugging support when called with a
1224     prefix arg.
1225             (br-env-load): Added background-flag = 'debug option.
1226
1227 * br.el (br-init): Stopped this call from switching buffers.
1228   br-env.el (br-env-load): Added call to `br-init' to always full
1229     initialize Environment file variables.
1230
1231 Sun Apr 26 16:47:51 1998  Bob Weiner  <weiner@beopen.com>
1232
1233 * br-env.el (br-env-load): Rewrote to eliminate recreation of internal
1234     browser data structures during builds.
1235
1236 * br-env.el (br-env-try-load): 
1237             (br-env-batch-build): Simplified and improved reliability.
1238
1239 * br-env.el (br-env-set-htables): Automatically build children hash table
1240     unless optional arg, SKIP-CHILDREN is given.
1241
1242 * br-env.el (br-env-set-htables): 
1243
1244 * tree-w32/: Added this directory with a Windows-specific version of the
1245     graphical OO-Browser and integrated it into the OO-Browser.
1246
1247 * br-env.el (br-env-build): 
1248   Make-Env: Added this file and used for batch/background Environment builds.
1249
1250 * br-env.el (br-env-batch-build): Fixed to properly initialize all browser
1251     variables by setting br-env-file and calling `br-init'.
1252
1253 * br-lib.el (br-get-htable): Fixed bug triggered when sys- or lib- was
1254     attached twice in a computed function name which was not found and then
1255     funcall was used on the nil result.
1256             (br-real-build-parents-alist): Changed improper call of mapcar
1257     on a hash table to hash-map.
1258
1259 * br-c-ft.el (c++-function-identifier): Moved from "br-c++-ft.el" since
1260     is needed in this file which is recursively required by br-c++-ft.el
1261     when needed.
1262              (c-build-element-tags-internal): Modified to use explicit
1263     operator names so that entries like operator>>=() does not end up with
1264     operator>>=( as its name (the opening paren should be ignored).
1265
1266 Sat Apr 25 00:46:39 1998  Bob Weiner  <weiner@beopen.com>
1267
1268 * br-lib.el (br-real-build-alists): Moved locals here to minimize stack
1269     usage when recurse through directories.
1270             (br-add-to-paths-htable): 
1271             (br-search-directory): Removed sorting of class names from
1272     these functions to speed them up.
1273             (br-get-*-htable): Made into a defsubsts for speed.
1274             (br-build-sys-parents-htable): 
1275             (br-build-lib-parents-htable): Eliminated deep nesting in
1276     hash-make call.
1277             (br-real-build-parents-alist): Removed repeated stack usage
1278     from `dir' local binding within nested mapcars.
1279
1280 * br-env.el (br-env-start-build-time): 
1281             (br-env-end-build-time): Added.
1282             (br-env-build): 
1283             (br-env-save): Used to record last build time.
1284             (br-env-stats): Display build times.
1285
1286 * br-env.el (br-env-build): Added an (if noninteractive ...) wrapper
1287     around call to `br-env-load' to prevent infinite recursion when called
1288     in batch mode from `br-env-load'.
1289             (br-env-load): Fixed to not build when Env is obsolete and the
1290     no-build parameter is t.
1291
1292 * br.el (br-ootags-executable): 
1293         (br-shell-executable): Added these computed constants.
1294
1295 * br-c-ft.el (c-build-element-tags): 
1296   br-ftr.el (br-feature-tags-save): Moved conditionals in here to within
1297     c-build-element-tags function.
1298
1299 ==============================================================================
1300 * V3.02 changes ^^^^:
1301 ==============================================================================
1302
1303 Thu Apr 23 00:56:58 1998  Bob Weiner  <weiner@beopen.com>
1304
1305 * OO-Browser V3.02 released.
1306
1307 * br-c-ft.el (c-build-element-tags): 
1308              (c-build-element-tags-internal): Improved messages and skipping
1309     of C tags building when not all files needed are available.
1310
1311 * br.el (br-c-tags-flag): Fixed to require ootags.exe on MS OSs.
1312
1313 Wed Apr 22 23:44:29 1998  Bob Weiner  <weiner@beopen.com>
1314
1315 * br-lib.el (br-class-path): Optimized further using catch construct.
1316
1317 Tue Apr 21 17:51:51 1998  Bob Weiner  <weiner@beopen.com>
1318
1319 * br-java.el (java-get-parents-from-source): Fixed bug that would add
1320     Object as the parent of interface classes not defined within the
1321     Environment.  (Interfaces have no implicit parent.)
1322
1323 Mon Apr 20 00:44:41 1998  Bob Weiner  <weiner@beopen.com>
1324
1325 * br.el (br-add-class-file): Fixed bug that improperly regexp-quoted
1326    class-path.
1327
1328 ==============================================================================
1329 * V3.01 changes ^^^^:
1330 ==============================================================================
1331
1332 * OO-Browser V3.00 released.
1333
1334 Sun Apr 19 19:15:22 1998  Bob Weiner  <weiner@beopen.com>
1335
1336 * br.el (br-edit-entry):
1337         (br-view-entry): 
1338         (br-where): Modified to automatically prompt if called
1339     interactively when not in the OO-Browser user interface and to insert the
1340     defining path at point if called standalone with a prefix argument.
1341
1342 * br-java-ft.el (java-feature-signature-to-name): Changed class and
1343     feature name separator from `@' to `::'.  This makes `br-find' work
1344     properly for Java.
1345
1346 * br-ftr.el (br-element-completions): Added messages alerting user to this
1347     potentially long-running computation.
1348
1349 Sat Apr 18 02:25:15 1998  Bob Weiner  <weiner@beopen.com>
1350
1351 * br-ftr.el (br-feature-default): Updated C++ section to find feature
1352     names when within the pre-argument part of a declaration or definition
1353     of a feature.
1354
1355 * br-java-ft.el (java-skip-to-statement): 
1356   br-c++-ft.el (c++-skip-to-statement): Modified to not move outside of a
1357     parenthesized grouping.  This in conjunction with the Action Key allows
1358     one to explore the class types associated with feature arguments, rather
1359     than simply jumping to the feature declaration or definition; move point
1360     to precede the parenthesized arguments for that.
1361
1362 * br.el (br-add-class-file): Modified to automatically compute whether to
1363     add to system or library hash tables wherever possible.
1364
1365 Fri Apr 17 15:28:06 1998  Bob Weiner  <weiner@beopen.com>
1366
1367 * br.el (br-implementors): Fixed this problem by filtering such entries:
1368     It is possible for a default class like [constant] to show up in a
1369     br-implementors listing if it contains an entry whose name is the same
1370     as a method.
1371
1372 * pyth-brows.el: Renamed from python-browse.el for 13-char filename
1373     compatibility.
1374
1375 * br-site.el: Added hook-based setting of mode-specific browser-related
1376     keys that allow use of some browser features without using its user
1377     interface.  (Previously the user had to bind these himself.)
1378
1379 * br-env.el (br-env-load): Obsoleted C++ Environments built before V3
1380     since they lack attributes and friend classes.
1381
1382 * br.el (br-info-language-specific): 
1383   br-env.el (br-env-lang-name-alist): Added to display language-specific
1384     manual sections.
1385
1386 * br-c++-ft.el (c++-friend-class-regexp): Added friend classes to feature
1387     listings.
1388
1389 Thu Apr 16 02:50:29 1998  Bob Weiner  <weiner@beopen.com>
1390
1391 * br-menu.el (id-menubar-br): 
1392              (id-popup-br-menu): Renamed `Graphical-Add-Features' to
1393     `Graphical-Descendent-Features'.
1394     Added Concept-Manual and Menu-Manual at the top of each menu.
1395     Unified menu implementations so items are not repeated within the code. 
1396
1397 * hmouse-br.el (smart-br-assist-dispatch): 
1398                (smart-br-dispatch): Removed Buffer-menu entries that
1399     duplicate behavior earlier in hkey-alist dispatch table.
1400
1401 * br-menu.el (id-menubar-br): 
1402              (id-popup-br-menu): Centralized graphical commands
1403     on a new `Graphical' menu.
1404
1405 * br.el (br-viewer-scroll-down-by-line): Added, bound to {,}.
1406         (br-viewer-scroll-up-by-line): Added, bound to {.}.
1407
1408 Thu Apr 16 00:41:54 1998  Bob Weiner  <steve@beopen.com>
1409
1410 * tree-x/: Fixed bug that selected node would not highlight in red anymore
1411     when run under 16-bit or higher color displays.
1412
1413 Wed Apr 15 01:49:38 1998  Bob Weiner  <weiner@beopen.com>
1414
1415 * br-java-ft.el (java-feature): Updated to more clearly inform the user
1416     of the location of definitions.
1417                 (java-feature-decl-or-def): Eliminated anchor to beginning
1418     of line since is used with (java-skip-to-statement) which leaves point
1419     at the first non-blank character.
1420
1421 * br.el (br-find): Synched with `br-edit-entry'.
1422         (br-protocols): Made prefix arg of 0 toggle the setting of
1423     br-protocols-with-classes-flag.
1424
1425 * br-menu.el (id-menubar-br): 
1426              (id-popup-br-menu): Changed ancestor entries to do exactly
1427     what the keys {a} and {C-u a} do, rather than inverting the listings.
1428     Renamed `Where-is-Any' to `Where-is-Named'.
1429     Renamed `Environment/Create' to `Environment/Create-or-Load'.
1430     Added key binding help for virtually all menu entries.
1431
1432 * br-tree.el (br-tree-do-cmd): Force display in selected window if
1433     hpath:display-where is set to other-window; this prevents jumping the
1434     selected window each time a different tree entry is selected.
1435
1436 * tree-x/: Added ANSI-fication of C code and configure additions from
1437     Martin Buchholz <martin@xemacs.org>.
1438
1439 Tue Apr 14 16:42:07 1998  Bob Weiner  <weiner@beopen.com>
1440
1441 * br.el (br-routines): Added and bound to {r} in listing buffers.
1442         (br-lexical-routines): 
1443         (br-inherited-routines): 
1444   br-ftr.el (br-routine-type-regexp):
1445             (br-feature-list-routines): Added to support routine-only listings.
1446             (br-feature-list-attributes): 
1447             (br-attribute-type-regexp): 
1448   br.el (br-inherited-attributes): 
1449         (br-attributes): 
1450         (br-lexical-attributes): Added to support attribute-only listings.
1451         (br-attributes): Added and bound to {=} in listing buffers.
1452   br-c++-ft.el (c++-feature-tree-command-p): Updated to support attributes.
1453
1454 * br-lib.el (br-delete-c-comments): Added.
1455   br-c++.el (c++-get-classes-from-source): Called above function.
1456
1457 * br-c++-ft.el (c++-routine-def-terminator-regexp): Simplified since
1458     pure virtual function declarations are handled by earlier regexps.
1459     (c++-attribute-decl): 
1460     (c++-feature-decl-terminator-regexp): 
1461     (c++-feature-def-terminator-regexp): 
1462     (c++-feature-def): 
1463     (c++-feature-def-in-class): Added these regexp to match C++ attributes.
1464     (c++-scan-features-in-class): Updated to include C++ attributes.
1465
1466 Mon Apr 13 00:04:30 1998  Bob Weiner  <weiner@beopen.com>
1467
1468 * br-c++-ft.el (c++-feature-add-prefix): Added = prefix to handle attributes.
1469
1470 * br-tree.el (*br-tree-prog-name*): Added initial support for
1471     Windows-based graphical browser.
1472
1473 * br.el (br-viewer-beginning-of-buffer): 
1474         (br-viewer-end-of-buffer): Added and bound to "<" and ">"
1475    respectively.
1476
1477 * br.el (br-where): Fixed to work properly on feature entries.  Previously
1478     would not display anything because the wrong function was called.
1479
1480 * br-start.el: Updated to find Hyperbole and OO-Browser directories when
1481     loaded with the current directory set to the OO-Browser code directory.
1482
1483 * br-ftr.el (br-feature-clear-signatures): Renamed to
1484     br-feature-clear-tags for clarity.
1485             (br-feature-get-signature): Renamed to br-feature-get-tag for
1486     clarity.
1487             (br-feature-put-signatures): Renamed to br-feature-put-tags for
1488     clarity.
1489
1490 * *-browse.el (*-browse): Added (br-env-copy t) call to restore Env
1491     data when switching languages and returning to an Env previously
1492     loaded into memory.  This fixes a bug where a new Env is loaded but
1493     the browser still displays the classes of the previous Env because
1494     it still has its data loaded in memory.
1495
1496 * br-c-ft.el (c-build-element-tags-internal): Fix up global C++ operator tags
1497     which ootags doesn't format properly.
1498
1499 * br-compl.el (br-find-class-name): Fixed bug that ignored <> around Java
1500     interface names and caused br-features and br-ancestors to fail if
1501     invoked within the middle of an interface name.
1502
1503 Sat Apr 11 00:28:17 1998  Bob Weiner  <weiner@beopen.com>
1504
1505 * br-c++-ft.el (c++-feature-args-regexp): 
1506                (c++-func-args-regexp): 
1507                (c++-func-args-string): Modified to not kill the temporary
1508     buffer since these functions may be called frequently.  Permanent
1509     quitting of the browser will kill the temp buffer.
1510
1511 * br-lib.el (br-buffer-replace): Added optional literal-flag argument.
1512
1513 * br-objc-ft.el (objc-feature-normalize): 
1514   br-c++-ft.el: (c++-feature-normalize): 
1515   br-java-ft.el (java-feature-normalize): 
1516   br-ftr.el (br-feature-delete-c-comments): Added, called by above functions.
1517
1518 * br-c++-ft.el (c++-feature-decl-or-def): Modified to not allow : within
1519     function argument parentheses so that if the : following the
1520     parentheses within a constructor (which begins base class default
1521     values) includes values with parentheses, these are not matched as
1522     part of the parenthesized arguments.
1523                (c++-feature-decl-or-def): 
1524                (c++-feature-parens-grpn): Modified to include only
1525     parenthesized arguments, not any trailing parts preceding the opening
1526     function brace.  Also added three new named groups:
1527       c++-feature-post-args-grpn
1528       c++-feature-post-modifier-grpn
1529       c++-feature-defaults-grpn
1530
1531 * br-c++.el (c++-comment-regexp): Allow single line /* C-style */ comments 
1532     in signatures after each argument.  Multi-line comments are too hard
1533     to handle.
1534   br-c++-ft.el (c++-feature-normalize): Remove C-style comments in addition to C++-style.
1535   br-c++-ft.el (c++-feature-def-pat): Remove any comments before creating pat.
1536
1537 Fri Apr 10 19:12:39 1998  Bob Weiner  <weiner@beopen.com>
1538
1539 * br-c++-ft.el (c++-feature-type-grpn): Reduced from 6 to 5 since was
1540     sometimes omitting the last * or & of the type.
1541                (c++-feature-declaration-regexp): Subtracted one from
1542     (match-end c++-feature-type-grpn) to correct for 0-based array indexing.
1543                (c++-feature-signature-to-name): Fixed to extract class
1544     name from non-tag signatures when with-class option is used.
1545
1546     (c++-feature-edit-declaration): 
1547     (c++-feature-view-declaration): If point is within the signature of
1548     a feature definition and a nil value for CLASS-AND-FEATURE is given,
1549     the feature's declaration is displayed.
1550
1551     (c++-func-args-string): 
1552     (c++-feature): Support jumping between declarations and definitions
1553     with support for single-line C or C++-style comments between method
1554     arguments.
1555     
1556     (c++-func-args-string): 
1557     (c++-feature-args-regexp): Fixed bugs that could drop * or & from type
1558     declarations and that did not convert variable names followed by `='
1559     to regexps.
1560
1561 Fri Mar 20 04:26:57 1998  Bob Weiner  <weiner@beopen.com>
1562
1563 * br-env.el: Modified to not load Environment after building if running in
1564     batch mode.
1565
1566 Thu Mar 19 00:14:31 1998  Bob Weiner  <weiner@beopen.com>
1567
1568 * br-java-ft.el (java-feature-decl): Fixed to avoid false matches to
1569     statements that look like method signatures, e.g. if ( ) { }
1570
1571 * Replaced all `fset' calls with `defalias'.
1572
1573 * br-lib.el (br-interface-support-p): Added.
1574
1575 * br-java-ft.el (java-feature-decl-or-def): Removed optionality from
1576     java-type-identifier expression since this must be given.  Also
1577     eliminated extra set of grouping characters around this expression
1578     and reduced half of the grouping numbers by one.
1579
1580 Wed Mar 18 00:00:26 1998  Bob Weiner  <weiner@beopen.com>
1581
1582 * br-c++.el (c++-header-file-regexp): Added to match to header include
1583     files only.
1584
1585 * br-c++-ft.el (c++-feature-args-regexp): Fixed bug that would drop * and
1586     & characters from an argument type if they were preceded by whitespace.
1587
1588 Tue Mar 17 23:15:40 1998  Bob Weiner  <weiner@beopen.com>
1589
1590 * br-c++-ft.el (c++-feature-at-reference-p): Added missing save-match-data
1591     call to prevent missing a member name in a `class::member' reference.
1592
1593 ==============================================================================
1594 * V3.00 changes ^^^^:
1595 ==============================================================================
1596
1597 Fri Mar 13 15:36:04 1998  Bob Weiner  <weiner@beopen.com>
1598
1599 * br-java.el (java-class-modifier-keyword): Modified following whitespace
1600     regular expression to avoid a regexp matching problem when there is
1601     excess whitespace at the end of a file following a class definition.
1602
1603 Thu Mar 12 16:44:52 1998  Bob Weiner  <weiner@beopen.com>
1604
1605 * br.el (br-protocols-with-classes-flag): Added to toggle whether or not
1606     protocols are included in class listings.
1607   br-menu.el (id-menubar-br): 
1608              (id-popup-br-menu): Added toggle item of above flag.
1609   java-brows.el (java-class-list-filter):
1610   objc-brows.el (objc-class-list-filter): Used above flag.
1611   oo-browser.texi (Browsing Protocols): Documented this flag and the menu option.
1612 * br.el (br-ancestors): 
1613         (br-parents): 
1614         (br-protocols): Modified to display in the next pane to the right,
1615    rather than the left, to prevent obscuring potentially important
1616    information just generated in the prior pane.
1617
1618 * br.el (br-protocols): Changed "p" to "P" in listing buffer name to
1619     distinguish from parent listings.
1620         (br-buffer-prefix-inher): Changed from "Inher-Lvl-" to "OO-Browse-".
1621         (br-ancestors): Changed "p" to "a" in listing buffer name to
1622     distinguish from parent listings.
1623     Also added buffer name command characters for several other commands.
1624
1625 * br.el (br-show-top-classes): Renamed from br-top-classes.
1626         (br-show-all-classes): Added and bound to {A}.
1627
1628 ==============================================================================
1629 * V2.13.02 changes ^^^^:
1630 ==============================================================================
1631
1632 Fri Feb 13 04:29:53 1998  Bob Weiner  <weiner@beopen.com>
1633
1634 * br-c++.el (c++-class-definition-regexp): 
1635             (c++-class-name-before): Allow for #define replacement keyword
1636     between the `class' literal and the class name, a technique used in
1637     some class libraries.
1638
1639
1640 ==============================================================================
1641 * V2.13.01 changes ^^^^:
1642 ==============================================================================
1643
1644 Tue Feb 10 00:03:16 1998  Bob Weiner  <weiner@beopen.com>
1645
1646 * br-start.el (Info-directory-list): Add oo-browser/man subdirectory if
1647     it exists to eliminate need to install the online manual.
1648
1649 * br-java-ft.el (java-at-feature-regexp): Modified optional space
1650     expression to avoid a regexp stack overflow.
1651
1652 * br-env.el (br-env-build): Don't prompt to build in the background if
1653     `make' is not found.
1654
1655 Mon Feb  9 23:55:30 1998  Bob Weiner  <weiner@beopen.com>
1656
1657 * br.el (br-c-tags-flag): 
1658   br-c-ft.el (c-build-element-tags-internal): Don't build C constructs
1659     under MS OSes unless a UNIX shell is found.
1660
1661 * br.el (br-sort-options): 
1662         (br-show-classes): Handle lack of UNIX sort on MS OSes.
1663
1664 Sun Feb  8 05:47:50 1998  Bob Weiner  <weiner@beopen.com>
1665
1666 * br-c++-ft.el (c++-feature-class-name): 
1667                (c++-feature-at-reference-p): 
1668                (c++-feature-variable-class): Normalize class template args.
1669   br-ftr.el (br-feature-default):
1670             (c++-feature-variable-declaration): Handle template classes.
1671             (c++-feature-item-declaration): Added.
1672             (c++-feature-variable-class): Call above function.
1673
1674 * br-c++.el (c++-normalize-template-arguments): Return nil if given a null argument.
1675
1676 * br-c++-ft.el (c++-to-definition): Restore buffer and point if
1677     c++-feature-reference-definition returns nil (not found).
1678
1679 * br-java-ft.el (java-func-args-string): 
1680                 (java-func-args-regexp): 
1681   br-c++-ft.el (c++-func-args-regexp): 
1682                (c++-func-args-string): 
1683                (c++-feature-args-regexp): Fixed space and
1684     c++-arg-identifier quoting replacement bugs visible under Emacs 20.
1685
1686 * br-java-ft.el (java-feature): Eliminated declaration lookup in ancestors
1687     copied from C++.  Java doesn't use method declarations separate from
1688     definitions.  Commented out unused functions for now.
1689
1690 * br-env.el (br-env-batch-build-browse): Moved killing of OO-Browser Env
1691     files to this function run after a background build finishes since the
1692     user may continue browsing while building and thus re-read in files
1693     that the build was changing.
1694
1695 Wed Jan 21 15:57:18 1998  Bob Weiner  <weiner@beopen.com>
1696
1697 * br-c++-ft.el (c++-feature-variable-declaration): Fixed bug that allowed
1698     `name' from "name , var" to match to the var's type (since were trying
1699     to allow: name var1, var2, var3;) as a valid declaration.
1700
1701 ==============================================================================
1702 * V2.13 changes ^^^^:
1703 ==============================================================================
1704
1705 Tue Jan 20 15:52:44 1998  Bob Weiner  <weiner@beopen.com>
1706
1707 * br-lib.el (br-find-class): Fixed nesting of error messages that caused
1708     a not found message when a class was found.  Added proper message when
1709     class is found.
1710
1711 * br-ftr.el: Display class name of feature when found.
1712
1713 * br-c++-ft.el (c++-feature-variable-class): Modified to not mistake
1714     delete and new statements which look like declarations.
1715                (c++-feature-def-p): Eliminate false declaration matches
1716     to `else if,' `else' and `for' clauses.
1717               (c++-feature-decl): Eliminated keyword false declaration
1718     matches. 
1719
1720 ==============================================================================
1721 * V2.12.05 changes ^^^^:
1722 ==============================================================================
1723
1724 Sat Jan 17 00:16:46 1998  Bob Weiner  <weiner@beopen.com>
1725
1726 * br-site.el (smart-scroll-proportional): Changed default to t to agree
1727     with the Hyperbole default.
1728
1729 Fri Jan 16 15:19:10 1998  Bob Weiner  <weiner@beopen.com>
1730
1731 * br-c++-ft.el (c++-feature-at-reference-p): Handled array-type variables
1732     (var[index]) as the first part of the reference.
1733                (c++-feature-variable-declaration): Allow only the
1734     characters [;,\(]] or a beginning of line (ignoring
1735     whitespace) to precede a declaration to tighten matching.
1736
1737 ==============================================================================
1738 * V2.12.04 changes ^^^^:
1739 ==============================================================================
1740
1741 Thu Jan 15 01:22:12 1998  Bob Weiner  <weiner@beopen.com>
1742
1743 * br-vers.el (br-version): Updated to "02.12.04".
1744
1745 * br-ftr.el (br-feature-put-signatures): Made compatible with GNU Emacs
1746     through definition of br-feature-put-property.
1747
1748 * br-env.el (br-env-save): Called br-env-edit to disable undo and backups
1749     on OOBR Env file.
1750
1751 * br-c++-ft.el (c++-feature-at-reference-p): Fixed bug in
1752     member-ref-regexp that broke up a standalone identifier into two
1753     groupings.
1754                (c++-feature-reference-definition): Extended to show a
1755     matching declaration if no definition possibilities are
1756     found within the Environment.
1757
1758 * br-env.el (br-env-browse): 
1759             (br-env-build): 
1760             (br-env-create): 
1761             (br-env-load): 
1762             (br-env-try-load): Modified read-file-name calls to display
1763    full file pathname rather than including a (default) prompt.  Also
1764    disallowed entry of directories (without a trailing file name).
1765    Displaying just the directory was inconsistent vis-a-vis whether or
1766    not the default was accepted.  If another directory was entered, it
1767    would not append the default file name to it but would signal an error.
1768             (br-env-get-dirs): If a non-directory is given, leave it for
1769    the user to correct.
1770             (br-env-read-file-name): Added.
1771
1772 * BR-README: Updated install instructions to load (rather than autoload)
1773     OO-Browser initializations.  That forces all of its autoload
1774     statements into the current editor session.  This is necessary
1775     when a full Hyperbole distribution is not available.
1776
1777 * br-env.el (br-env-batch-build-browse): Modified to automatically load
1778     Env if the one that just finished building in the background is the
1779     current Env and the browser user interface is active.
1780
1781 * br-ftr.el: Fixed Emacs 19 conditional that did not handle version 20.
1782     This made the feature listing signature code use the slower version 18
1783     style.
1784
1785 * br.el (br-browse): Fixed conditional bug that showed a compilation
1786     process running when it had actually exited.
1787         (br-window-setup): Updated to leave point in the first window.
1788
1789 * br-c++-ft.el (c++-feature-variable-declaration): Handle declarations
1790     where variable name is followed by an =, *, or & character.
1791                (c++-feature-method-declaration): Added.
1792                (c++-feature-view-declaration): Display a method
1793     declaration even if there is no definition for it in the Environment
1794     (this ignores overloading).
1795                (c++-feature-def-p): Fixed test ordering bug that caused
1796     this to fail most of the time.
1797
1798 * br-clos-ft.el (clos-skip-to-statement): Fixed so only moves if on the
1799     first line of a definition.
1800
1801 * br-c++-ft.el (c++-feature-view-declaration): Show definitions of
1802     [default class] features rather than giving an error since a user may
1803     invoke this command on them thinking he can jump to them.
1804                (c++-feature-at-reference-p): 
1805                (c++-feature-variable-class): Updated to handle `this'
1806     pseudo-variable.
1807
1808 * br-java-ft.el (java-feature-def-p):
1809                 (java-feature): 
1810   br-objc-ft.el (objc-feature-def-p):
1811                 (objc-feature): 
1812   br-c++-ft.el  (c++-feature-def-p)
1813                 (c++-view-friend): 
1814                 (c++-feature): Updated to display feature definitions only
1815     when point is within a declaration signature and not the
1816     brace-delimited body part.  This allows Action Key presses
1817     on method bodies defined within classes to do other things.
1818
1819 * br-ftr.el (br-feature-default): Added.
1820             (br-feature-complete): Improved defaults in OO-Browser listing
1821     buffers and code buffers.
1822   br-c++-ft.el (c++-feature-view-declaration): Improved default and
1823     added a minibuffer message telling the user the class of the feature
1824     declaration just displayed since this may not be visible on screen.
1825
1826 Wed Jan 14 22:51:15 1998  Bob Weiner  <weiner@beopen.com>
1827
1828 * br-c++-ft.el (c++-feature-def-pat): 
1829                (c++-feature-declaration-regexp): Fixed regexp-related bugs
1830     and improper side-effect that lost [*&] chars when immediately
1831     preceding the member name.  Also fixed bug where member-type was
1832     regexp-quoted but then used as a literal.
1833
1834 ==============================================================================
1835 * V2.12.04 changes ^^^^:
1836 ==============================================================================
1837
1838 Tue Jan 13 00:14:03 1998  Bob Weiner  <weiner@beopen.com>
1839
1840 * br-vers.el (br-version): Updated to "02.12.03".
1841
1842 * br-init.el (br-after-term-init): Added internal hkey-value variable,
1843     completion and direct selection of many entities.
1844
1845 * br-ftr.el (br-feature-tag-name): Added.
1846
1847 * br-python-ft.el (python-feature-normalize): 
1848   br-objc-ft.el (objc-feature-normalize): 
1849   br-java-ft.el (java-feature-normalize): 
1850   br-clos-ft.el (clos-feature-normalize): 
1851   br-c+++-ftr.el (c++-feature-normalize): Fixed bug that allowed multiple
1852     spaces in tag entries whose original signatures contained comments.
1853     This could cause Implementors matching to fail.
1854
1855 * br-c++-ft.el (c++-feature-signature-to-name): Added clause to handle
1856     source code signature forms.
1857
1858 * br-lib.el (br-setup-functions): Added generic br-feature-normalize.
1859   br-objc-ft.el (objc-feature-normalize): 
1860   br-clos-ft.el (clos-feature-normalize): Adjusted to multi-language 3 arg
1861     calling convention.
1862
1863 * br-ftr.el (br-feature-insert-signatures): Renamed from br-feature-insert-tags.
1864   br-lib.el (br-feature-list-implementors): Modified to display classes
1865     above each set of signatures and to display only the part of tags that
1866     come from the source code itself for easier reading.
1867
1868 * br-ftr.el (br-feature-tag-signature): Added.
1869   br-lib.el (br-setup-constants): Added br-tag-fields-regexp so can
1870     extract source code signatures from tag entries in any language.
1871
1872 * br-c++-ft.el (c++-feature-attribute-display): 
1873   br-c++-ft.el (c++-feature-variable-class):
1874         (c++-feature-reference-definition): Added above functions and
1875     called from here to determine the class of a variable used in a member
1876     reference like var->method() or var.attribute.  Only works if variable
1877     type is specified within the current file before point.  Also used to
1878     display the definition of the variable.
1879
1880 * br-ftr.el (br-feature-complete): Greatly improved default prompt under C++.
1881
1882 * br.el (br-mode-map): Bound {j} to br-feature-view-declaration and
1883     {J} to br-feature-edit-declaration.
1884   br-lib.el (br-setup-functions): Added generic br-feature-view-declaration
1885     and br-feature-edit-declaration.
1886   br-c++-ft.el (c++-feature-args-regexp): 
1887         (c++-feature-declaration-regexp): 
1888         (c++-feature-edit-declaration):
1889         (c++-feature-view-declaration): Added to edit or view C++ method declarations.
1890
1891 * br.el (br-view): Modified to only kill previous viewer buffer if
1892     successfully find the entry to view.
1893
1894 * eif-calls.el (eif-get-features-from-source): 
1895   br-ftr.el (br-feature-signature): 
1896   br-python-ft.el (python-list-features): 
1897                   (python-feature-matches): 
1898   br-java-ft.el (java-scan-features): 
1899   br-clos-ft.el (clos-scan-features): 
1900   br.el (br-lexical-features): 
1901         (br-this-level-features): 
1902   br-c++-ft.el (c++-list-features): Removed local binding of `features'
1903     which mistakenly overroad the global variable by the same name.  This
1904     caused no package names to be defined which sometimes resulted in
1905     improperly loading packages unnecessarily that had already been
1906     loaded.  Under InfoDock when {F} was used under C++ in a listing
1907     buffer and the signatures buffer had not been created, a setting of
1908     c++-mode-hook from site-var.el caused a reloading of site-func.el
1909     which loaded buff-menu and several other files, delaying the execution
1910     of the command significantly.
1911
1912 ==============================================================================
1913 * V2.12.03 changes ^^^^:
1914 ==============================================================================
1915
1916 Fri Jan  9 01:03:16 1998  Bob Weiner  <weiner@beopen.com>
1917
1918 * br-init.el (br-after-term-init): Added clauses to the hkey-alist
1919     included with the OO-Browser to support Action Key clicks within C,
1920     C++, Java, Lisp and Objective-C buffers (previously these clauses were
1921     only included with Hyperbole distributions).
1922              (br-init-autoloads): Added hmouse-tag.el entries.
1923
1924 * br-env.el (br-env-build): Modified so that when build in the background,
1925     and buffers with attached Env files that will be overwritten are
1926     killed before the build is started.  This avoids any `file
1927     changed on disk messages' when the files are reloaded.
1928
1929 * br.el (br-browse): Modified to display compilation buffer showing
1930     background Environment build if one is running when the browser
1931     is invoked.
1932
1933 * br-env.el (br-env-batch-build-browse): Updated to force load of just
1934     built Environment before trying to browse it and to reinitialize
1935     the browser display.
1936
1937 * br-compl.el (br-complete-type): Improved filtering of entries.
1938
1939 Thu Jan  8 12:38:53 1998  Bob Weiner  <weiner@beopen.com>
1940
1941 * br-ftr.el (br-feature-completions): Renamed to br-element-completions
1942     and used this prior name to provide feature-only completions (no
1943     entries from default classes).
1944             (br-element-tags-completions): Added.
1945
1946 * br.el (br-in-view-window-p): Fixed to ignore an active minibuffer window.
1947
1948 * br-lib.el (br-empty-htable): Added and used in language-specific
1949     *-browse functions.
1950
1951 * br-env.el (br-env-browse): Interactively use directory of br-env-file as
1952     initial contents when specifying a new Environment filename.
1953
1954 * *-brows*.el (*-browse): Improved handling of the case where the user
1955      aborts within the middle of loading an Environment.  This used to cause
1956      the -FTR file name to not be updated to the new value if it appeared
1957      that the same Env was being loaded a second time but it never
1958      completed initialization the first time.
1959
1960 * br-c++-ft.el (c++-feature-name-to-regexp): Rewrote to work properly with br-find.
1961   br-ftr.el (br-feature-completions): Removed for-display option sent to
1962     br-feature-signature-to-name which improperly prefixed each feature name.
1963
1964 * br-start.el (hyperb:dir): Set this variable used by functions in hypb/ subdirectory.
1965
1966 ==============================================================================
1967 * V2.12.02 changes ^^^^:
1968 ==============================================================================
1969
1970 Wed Jan  7 13:19:02 1998  Bob Weiner  <weiner@beopen.com>
1971
1972 * br-env.el (br-env-load): Eliminated confusing message about Env file not
1973     existing when creating a new Env.
1974             (br-env-create): Clarified messages that begin Env
1975     specification and which prompt for search directories.
1976             (br-env-stats): Clarified headings.
1977
1978 * br.el (br-cleanup): Cleared current lang env-file variable when use {C-u
1979     q} to prevent any use of cached data if reload the same Environment again.
1980   br-env.el (br-env-add-ref-classes): Rewrote to avoid infinite recursion
1981     when reload the previous Environment after a {C-u q} exit.
1982
1983 * br-init.el (hkey-alist): Added call to smart-element.
1984              (br-after-term-init): Removed no-op condition when hypb/ was
1985     already in the load-path.
1986              (br-init-autoloads): Added Info-goto-node autoload.
1987
1988 * hmouse-br.el (smart-element): Added (renamed from oobr-ftr in hibtypes.el).
1989
1990 * br-menu.el (br-popup-menu): Fixed to deal with GNU Emacs
1991     definition of popup-menu as a macro.
1992
1993 * br-start.el (br-directory): Simplified by using locate-file instead of
1994     hyperb:path-being-loaded.
1995
1996 * br-init.el (br-after-term-init): Rewrote to handle Action and Assist
1997     Keyboard Keys better.
1998
1999 ==============================================================================
2000 * V2.12.01 changes ^^^^:
2001 ==============================================================================
2002
2003 Tue Dec 23 03:10:38 1997  Bob Weiner  <weiner@beopen.com>
2004
2005 * br-vers.el (br-version): Updated to "02.12".
2006
2007 * br-tree.el (*br-tree-prog-name*): Look for xoobr program in
2008     br-directory, exec-directory and then in user's $PATH.
2009
2010 Mon Dec 22 12:08:36 1997  Bob Weiner  <weiner@beopen.com>
2011
2012 * oo-browser.text: Updated with new features and function documentation.
2013
2014 * br.el (br-ancestor-trees): 
2015         (br-ancestor-trees-inverted): Reversed names of these two
2016     functions which were backwards and out of sync with the user manual.
2017
2018 * br-menu.el (id-menubar-br): 
2019              (id-popup-br-menu): Added "Protocols" and "All-Protocols" items.
2020                                  Added "Implementors" and "All-Implementors"
2021     to class menus.
2022   br.el (br-protocols): Added error if current language does not support
2023     protocol browsing.
2024
2025 * hmouse-br.el (smart-br): Fixed to allow for presses within leading
2026     whitespace when implementors or ancestors are to be shown.
2027                (smart-br-assist): Fixed to allow for presses within leading
2028     whitespace when descendants are to be shown.
2029
2030 * br.el (br-at-default-class-p): Added for use by hmouse-br.el.
2031   hmouse-br.el (smart-br): 
2032                (smart-br-assist): On a default class name, the statically
2033    defined instances of the default class are listed.
2034
2035 * br-java-ft.el (java-feature-map-class-tags): 
2036                 (java-feature-map-tags): 
2037   br-objc-ft.el (objc-list-categories): 
2038                 (objc-feature-map-class-tags): 
2039                 (objc-feature-map-tags): 
2040   br-c++-ft.el  (c++-list-features): 
2041                 (c++-feature-map-tags): 
2042                 (c++-feature-map-class-tags): Made case-sensitive.
2043
2044 * br.el (br-interfaces): Aliased to br-protocols for Java-centricity.
2045
2046 * br-lib.el (br-class-category-p): Added.
2047
2048 * br-compl.el (br-find-class-name): Updated to handle Objective-C listing
2049     entries of (category) only.
2050   br.el (br-implementors): Don't sort entries for which implementors are
2051     requested; this can be visually confusing.
2052         (br-implementors): Updated to handle Objective-C categories.
2053 * br-objc-ft.el (objc-list-category-classes): Added to support br-implementors.
2054
2055 Sun Dec 21 00:14:39 1997  Bob Weiner  <weiner@beopen.com>
2056
2057 * br-env.el (br-env-load): Obsoleted Java and Objective-C Environments
2058     earlier than "02.12".
2059
2060 * br-ftr.el (br-feature-type-regexp): Removed `@' character since it is no
2061     longer used to preface category and protocol/interface entries (they
2062     have no prefix since they are now displayed and treated like classes).
2063
2064 * br-python.el (python-get-classes-from-source): Added 2 variables to let
2065     clause which mistakenly had not been locally bound.
2066
2067 * br-lib.el (br-find-class): Modified to leave point at the start of the
2068     class definition rather than at the start of any preceding comments.
2069     The comments still appear at the top of the window, however.
2070
2071 Sat Dec 20 22:46:41 1997  Bob Weiner  <weiner@beopen.com>
2072
2073 * br-java.el (java-to-comments-begin):
2074   br-objc.el (objc-to-comments-begin):
2075   br-c++.el (c++-to-comments-begin):   Set to br-c-to-comments-begin.
2076   br-lib.el (br-c-to-comments-begin): Added, used for C-derived languages.
2077     Made to ignore comments that do not begin a line, e.g. @end /* comment */.
2078
2079 * br-objc-ft.el (objc-feature-decl-or-def): Extended to allow for final
2080     , ... syntax.
2081                 (objc-find-class-name): Updated to surround protocol names
2082     inherited by class or protocol definitions with <> delimiters.
2083                 (objc-to-definition):
2084   br-java-ft.el (java-to-definition): 
2085   br-c++-ft.el  (c++-to-definition): Reordered tests to allow selection
2086     of an individual class name within the signature line of a
2087     class or protocol definition.
2088
2089 Fri Dec 19 00:08:36 1997  Bob Weiner  <weiner@beopen.com>
2090
2091 * java-brows.el (java-class-list-filter): 
2092   objc-brows.el (objc-class-list-filter): Rewrote to deal with top-level
2093     classes which may inherit from abstract classes that don't count.
2094
2095 * br-lib.el (br-flatten): Added to flatten multi-level lists.
2096
2097 * *-brows*.el (*-class-list-filter): Rebound by default to br-class-list-identity.
2098   br-lib.el (br-class-list-identity): Added.
2099
2100
2101 * br.el (br-at-class-category-p): Added.
2102         (br-show-classes): Renamed from br-show-top-classes since is also
2103     used to show all classes.
2104
2105 * br.el (br-match):             
2106   br-compl.el (br-class-completions): Deleted call to br-class-list-filter
2107     since we want to be able to match to any concrete or abstract class.
2108
2109 * br-help: Added {P} key binding description for showing protocols to
2110     which a class conforms.
2111
2112 * br.el (br-implementors): Changed to insert implementors in next listing
2113     window instead of the previous one since implementors are sometimes
2114     descendants of the entry, e.g. implementors of an abstract class.
2115
2116 * br-objc-ft.el (objc-class-definition-regexp): Fixed to differentiate
2117     between classes and protocols.
2118                 (objc-feature-map-tags): Fixed to handle ^ and $
2119     meta-characters which in turn made br-implementors work when on
2120     a feature entry.
2121
2122 * br-objc.el (objc-get-classes-from-source): 
2123   br-objc-ft.el (objc-list-protocols): Rewrote to use new scheme for
2124     recording protocol entries as <classes>.
2125                 (objc-view-protocol): 
2126 * br-java-ft.el (java-view-protocol): Deleted, normal {v} command now works.
2127
2128 * br.el (br-protocols): Rewrote to display abstract classes (protocols)
2129     within ancestor inheritance lattices.  Removed display of protocol
2130     definition when this command is used on a protocol; now one can use
2131     {v} or {e} to view protocols.
2132
2133 * br-lib.el (br-interface-p): Added to test for interface and protocol names
2134     from listing buffers.
2135             (br-concrete-class-p): Added, inverse of br-interface-p.
2136   br.el (br-inherited-features): Modified to ignore inherited abstract classes.
2137         (br-ancestors): 
2138         (br-ancestor-trees-inverted): 
2139         (br-ancestor-trees): Added final concrete-classes-flag to limit
2140     display to non-abstract ancestors only.
2141
2142 Thu Dec 18 00:31:59 1997  Bob Weiner  <weiner@beopen.com>
2143
2144 * br.el (br-protocols): Modified to list <protocol> entries as classes
2145     rather than features.
2146
2147 * java-brows.el (java-class-list-filter): Added to eliminate <interface>
2148     entries from top-level class listings.
2149
2150 * br-java-ft.el (java-feature-map-class-tags): 
2151                 (java-feature-locate-p): Updated to deal with 
2152     `[interface]@<interface-name>@<interface-name>' tags.
2153
2154
2155 * br-c++-ft.el (c++-feature-locate-p): Rewrote first part to simplify.
2156
2157 * br-java.el (java-scan-parents): Added support for delimiting inherited
2158     <interface> names.
2159              (java-interface-parent-regexp): Added to match to interface
2160     inheritance clauses within interface declarations.
2161              (java-scan-class-parents): Renamed from java-scan-parents.
2162              (java-class-parent-regexp): Renamed from java-parent-regexp.
2163              (java-scan-interface-parents): Added.
2164
2165 * br.el (br-this-level-classes): Fixed to treat protocol/interface and
2166     category entries as classes so that their features are displayed
2167     when all features for a listing buffer are requested via {C-u f}.
2168
2169 * br-objc-ft.el (objc-scan-protocol-signatures): Added.
2170   br-objc.el (objc-get-classes-from-source): Updated to include protocol
2171     method signature tags for browsing.
2172
2173 * br-java-ft.el (java-feature-implementors): 
2174   br-objc-ft.el (objc-feature-implementors): Updated to ignore protocol
2175     method signatures since they are not implementations.
2176
2177 Wed Dec 17 00:28:05 1997  Bob Weiner  <weiner@beopen.com>
2178
2179 * br-lib.el (br-add-default-classes): Centralized this code for use by
2180     many languages.
2181
2182 Tue Dec 16 18:35:42 1997  Bob Weiner  <weiner@beopen.com>
2183
2184 * java-brows.el (java-browse-setup): 
2185   br-java.el (java-get-classes-from-source): 
2186   br-java-ft.el (java-view-protocol): 
2187                 (java-list-protocols):
2188                 (java-add-default-classes): 
2189                 (java-default-interface-class): 
2190   br-compl.el (br-find-class-name):
2191   br.el (br-at-protocol-p): Added support for delimited Java <interfaces>.
2192
2193 * br.el (br-ancestor-trees-inverted): 
2194         (br-ancestor-trees): Fixed test which was reversed, of when to show
2195     previously expanded ellipses indicator for an entry.
2196
2197 * br-ftr.el (br-feature-descendant-implementors): Added.
2198             (br-feature-put-signatures): Fixed so signature properties
2199     are not copied to other buffers.
2200
2201 * br-java-ft.el (java-feature-add-prefix): Fixed bug that miscategorized
2202     interface method declarations (which are all implicitly abstract) as
2203     attributes rather than implicit methods.
2204
2205 * br-ftr.el (br-edit-feature-from-tag): Fixed bug that caused non-nil
2206     return when feature was not found and function was called
2207     non-interactively.
2208             (br-feature-ancestor-implementors): Added extensive error
2209     reporting and a description of how to correct the problem when an
2210     Environment includes an invalid feature definition pathname.
2211             (br-feature-ancestor-implementors): Added a user message
2212     when a single definition of a method is found.
2213
2214 Wed Dec 10 18:06:51 1997  Bob Weiner  <weiner@beopen.com>
2215
2216 * br-c++-ft.el (c++-feature): Removed test of whether in a header file
2217     since some programmers define classes within .cc code files.  The
2218     old test was:
2219      (if (string-match "[^.]\\.\\([hH][hHxX]?[pPxX]?\\)\\'" (buffer-name)) ...)
2220     Tightened test for declarations to allow them only if point is within
2221     a class definition.
2222
2223 ==============================================================================
2224 * V2.12 changes ^^^^:
2225 ==============================================================================
2226
2227 Fri Nov 28 01:08:37 1997  Bob Weiner  <weiner@beopen.com>
2228
2229 * br-lib.el (br-to-class-definition): Added to ignore class definitions
2230     within C-style comments.
2231             (br-find-class): Added calls to br-to-class-definition.
2232
2233 Thu Nov 27 23:48:43 1997  Bob Weiner  <weiner@beopen.com>
2234
2235 * br-menu.el (id-popup-br-menu): 
2236              (id-menubar-br): Fixed bug renaming `br-class-info' to `br-entry-info'.
2237
2238 Thu Nov 20 00:57:16 1997  Bob Weiner  <weiner@beopen.com>
2239
2240 * br-init.el (br-skip-dir-regexps): Added skip of CVS subdirectories.
2241
2242 * br-c++-ft.el (c++-find-class-name): Corrected problem in ordering
2243     of character set with some versions of XEmacs.
2244
2245 * br-lib.el (br-pop-to-buffer): Added to create a standard way for
2246     the OO-Browser to display buffers.
2247
2248 * br.el (br-edit): 
2249         (br-view): Fixed to only move to the viewer window if
2250    the OO-Browser user interface is active.
2251
2252 * br-c++-ft.el (c++-feature-reference-definition)
2253                (c++-feature-at-reference-p): Added to display member
2254     reference definitions and listings of available implementors.
2255 * br-ftr.el (br-feature-match-implementors):
2256             (br-feature-ancestor-implementors): Added to support
2257     listing inherited implementor matches of an element.
2258
2259 Wed Nov 19 18:37:17 1997  Bob Weiner  <weiner@beopen.com>
2260
2261 * br-c++-ft.el (c++-get-class-name-from-source): Added an error handler
2262     for the case where a class definition does not have proper opening
2263     and closing braces.
2264
2265 * br-c++.el (c++-src-file-regexp): Updated to deal with .CXX and .HXX
2266     suffixes typically found on case-insensitive platforms.
2267
2268 Tue Nov 18 00:15:59 1997  Bob Weiner  <weiner@beopen.com>
2269
2270 * ootags.c: Eliminated false macro definition recognition when
2271    #define constants begin with a parenthesis, e.g. #define text (newtext).
2272    Also fixed recognition of enumeration definitions.
2273
2274 * br-c++-ft.el (c++-to-definition): Added save-excursion around call to
2275     c++-class-decl-p to keep it from moving point.
2276                (c++-feature): Modified to notice declarations and
2277                definitions within header files only.  This prevents
2278                falsing on in-body constructs that look like member
2279                constructs, like if (...) { ...
2280
2281 * br-ftr.el (br-feature-display-implementors): 
2282             (br-feature-list-implementors): Added to support browsing of
2283     element implementors.
2284
2285 * br-lib.el (br-find-file): Updated to use Hyperbole hpath:display-buffer
2286     function if defined.
2287
2288 Wed Nov  5 00:37:55 1997  Bob Weiner  <weiner@beopen.com>
2289
2290 * br-java.el (java-parent-regexp): Fixed to properly deal with all
2291     implements and extends clauses used in inheritance relations.
2292
2293 * br-env.el (br-env-add-ref-classes): Modified to assume that referenced
2294     classes inherit from Object under Java.
2295
2296 ==============================================================================
2297 * V2.11.03 changes ^^^^:
2298 ==============================================================================
2299
2300 Thu Oct  9 15:26:51 1997  Bob Weiner  <weiner@beopen.com>
2301
2302 * br-c-ft.el (c-build-element-tags): Altered so that C construct indices
2303     are built exactly once when only the System or Library parts of an
2304     Environment are rebuilt or when the whole Environment is rebuilt.
2305     Did this in part by changing the format of the last line of the
2306     OOBR-FTR tags file to include the file position where the C construct
2307     tags begin, so that it may be replaced each time necessary.
2308
2309 * Makefile (HYPB_EL/C): Added hypb/hmouse-tag whose smart tag
2310     functions may be called in C-based languages when the Action Key
2311     is depressed on a header file declaration to jump to its definition.
2312
2313 Sat Oct  4 03:26:10 1997  Bob Weiner  <weiner@beopen.com>
2314
2315 * br-c++-ft.el (c++-member-modifier-keyword): Added support for new C++
2316     `restrict' keyword.
2317
2318 ==============================================================================
2319 * V2.11.02 changes ^^^^:
2320 ==============================================================================
2321
2322 Wed Jul 30 19:11:29 1997  Bob Weiner  <weiner@beopen.com>
2323
2324 * br-menu.el (id-menubar-br): 
2325              (id-popup-br-menu): Fixed List-Window/Features command to
2326     list the features of all entries.  Also renamed all items in this
2327     menu section from Foo to All-Foo, to indicate that all listing
2328     window entries are involved.
2329
2330 Tue Jun 17 14:16:55 1997  Bob Weiner  <weiner@beopen.com>
2331
2332 * br.el (br-set-window-configuration): Added to protect against
2333     window configuration restore errors.
2334         (br-quit): Delete dedicated OO-Browser frame if in use.
2335         (br-browse): Raise dedicated OO-Browser frame if in use.
2336
2337 Thu Jun  5 16:35:29 1997  Bob Weiner  <weiner@beopen.com>
2338
2339 * br-menu.el (id-menubar-br):
2340              (id-popup-br-menu): Updated Environment Create and Load
2341     commands to reflect new OO-Browser invocation protocol.
2342
2343 Wed Jun  4 18:44:00 1997  Bob Weiner  <weiner@beopen.com>
2344
2345 * br-lib.el (br-find-class): 
2346   br-compl.el (br-complete-class-name): 
2347               (br-complete-entry): 
2348   br-python-ft.el (python-feature-locate-p): 
2349   br-objc-ft.el (objc-feature-locate-p): 
2350   br-java-ft.el (java-feature-locate-p): 
2351   br-c++-ft.el (c++-feature-locate-p): Made case-sensitive.
2352
2353 ==============================================================================
2354 * V2.11.01 changes ^^^^:
2355 ==============================================================================
2356
2357 Thu May 29 13:03:12 1997  Bob Weiner  <weiner@beopen.com>
2358
2359 * br-objc-ft.el (objc-get-feature-tags): 
2360 * br-c++-ft.el (c++-get-feature-tags): Made to delete possible multiple
2361     entry sets for each source pathname.
2362
2363 Tue May 27 21:53:19 1997  Bob Weiner  <weiner@beopen.com>
2364
2365 * br-java.el (java-strip-static-code): Rewrote to avoid potential
2366     match expression problem.
2367
2368 Thu May 22 16:30:33 1997  Bob Weiner  <weiner@beopen.com>
2369
2370 * br.el (br-where): Rewrote to display results in the viewer window so
2371     that longer paths are not cutoff and pathnames may be clicked upon
2372     to visit.
2373
2374 * br-objc-ft.el (objc-feature-name-to-regexp): Fixed bug that affected
2375     br-where command.
2376
2377 * br-ftr.el (br-feature-tags-init): Disabled backups and undo log in
2378     OOBR-FTR files.
2379
2380 Wed May 21 03:01:06 1997  Bob Weiner  <weiner@beopen.com>
2381
2382 * br-c++-ft.el (c++-add-default-classes): Modified to only add [function]
2383     default class if `br-c-tags-flag' is t.
2384                (c++-scan-features): Modified to ignore global functions
2385     which are handled by the ootags program.
2386
2387 * br-ftr.el (br-edit-feature-from-tag): Removed duplicative call to
2388     (br-major-mode) following br-feature-found-p call.
2389     (br-edit-feature-from-tag): Updated to show the beginning of
2390       expressions whose definition name comes at the end of a list, such
2391       as a braced grouping, like an `enum' in C.
2392
2393 * br-lib.el (br-back-over-comments): Added to prevent long comments
2394     from scrolling the current code line outside of the window when
2395     viewing listing elements.
2396             (br-find-class): Modified to call br-back-over-comments.
2397 * br-objc-ft.el (objc-feature-locate-p): Modified to call br-display-code.
2398
2399 * br-lib.el (br-display-code): Added to centralize display of code elements.
2400
2401 * br-c-ft.el (c-default-classes): Added support for browsing global
2402     [variable] entries and individual [enum_label] entries.
2403
2404 Mon May 19 15:22:30 1997  Bob Weiner  <weiner@beopen.com>
2405
2406 * br-java-ft.el (java-to-definition): 
2407   br-objc-ft.el (objc-to-definition): 
2408   br-c++-ft.el (c++-to-definition): Added support for navigation
2409     from variable and global function references to their definitions.
2410 * br-c-tags (tags_file): Modified to generated TAGS file as supplement
2411     to OOBR-FTR file so one can navigate from variable and global function
2412     references to their definitions.
2413
2414 * br-c++-ft.el (c++-feature-def-pat): Added support for
2415     whitespace before and after :: scoping separator in method
2416     definitions.
2417                (c++-func-args-regexp): Fixed bug in section labeled
2418     `Replace all "\)" with "optional <c++-identifier> \)"' that
2419     left \ preceding ) in the wrong place, producing an invalid
2420     expression and causing matches between declarations and definitions to
2421     fail.
2422                (c++-feature-def-pat): Fixed to not include [default class
2423     names] in the method signature pattern to match.
2424
2425 Thu Apr 24 19:32:44 1997  Bob Weiner  <weiner@beopen.com>
2426
2427 * br-menu.el (br-menubar-menu): Added work around for event
2428     handling bug in some versions of XEmacs.
2429
2430 Fri Apr 11 22:55:34 1997  Bob Weiner  <weiner@beopen.com>
2431
2432 * oo-browser.texi (Eiffel Listings): Edited whole manual and added details
2433     on the {i} br-entry-info command under Eiffel, which can show routine
2434     call summaries and flat or short listings.
2435
2436 Wed Apr  9 00:11:19 1997  Bob Weiner  <weiner@beopen.com>
2437
2438 * br.el (br-quit): Fixed bug caused by br-interrupt burying buffers after
2439     a window configuration was restored.
2440
2441 * br-start.el (oo-browser): Rewrote so that if not given a prefix
2442     argument, queries user whether to reuse any prior browsed Environment,
2443     so that novice users can easily get back into the browser.
2444
2445 Tue Mar 18 22:18:24 1997  Bob Weiner  <weiner@beopen.com>
2446
2447 * br-ftr.el (br-feature-file): Eliminated invalid match to a part of a
2448     signature.
2449
2450 Sun Mar  2 19:02:19 1997  Bob Weiner  <weiner@beopen.com>
2451
2452 * tree-x/dbl.c (DBLcreate_double_buffer): Disabled buggy double buffering
2453     for now by making double buffer region a single pixel in size.
2454
2455 Mon Feb 24 11:12:50 1997  Bob Weiner  <weiner@beopen.com>
2456
2457 * br-java-ft.el (java-type-modifier-keyword): Remove `transient' keyword
2458     deleted as of Java release 1.0.2.
2459
2460 ==============================================================================
2461 * V2.11 changes ^^^^:
2462 ==============================================================================
2463
2464 Fri Feb 21 16:45:14 1997  Bob Weiner  <weiner@beopen.com>
2465
2466 * br-c-tags (ootags): 
2467   br-c-ft.el (c-build-element-tags): Added support for Microcruft OSs.
2468
2469 * br-menu.el (id-popup-br-menu):
2470              (id-menubar-br):  Updated Mail-List-Request entries to new format.
2471
2472 * br.el (br-in-browser): Tightened tests to require 3 or more windows to
2473     be in the OO-Browser.  This could eliminate a problem that prevents
2474     restoration of the browser display if the variable, `br-in-browser',
2475     is somehow left non-nil after the browser display is dismantled,
2476     e.g. if a user simply deletes all other windows.
2477
2478 Thu Feb 20 07:22:17 1997  Bob Weiner  <weiner@beopen.com>
2479
2480 * br-lib.el (br-scan-mode): Added this to eliminate execution of any
2481     mode-specific hooks, such as syntax highlighting, when scanning files
2482     to build Environments.
2483
2484 Wed Feb 19 11:03:07 1997  Bob Weiner  <weiner@beopen.com>
2485
2486 * br-init.el (br-init-autoloads): Added autoload of hypb:display-file-with-logo.
2487
2488 Thu Dec  5 17:51:43 1996  Bob Weiner  <weiner@beopen.com>
2489
2490 * Makefile:
2491   MANIFEST:
2492   oo-browser.texi:
2493   python-browse.el:
2494   br-python.el:
2495   br-python-ft.el:
2496   br-env.el (br-env-lang-avector): Added Python language support from
2497     Harri Pasanen <pa@tekla.fi>, with a few modifications.
2498
2499 Wed Nov 13 00:08:25 1996  Bob Weiner  <weiner@beopen.com>
2500
2501 * br-java-ft.el (java-type-modifier-keyword): Removed "threadsafe" since
2502     deleted from java language.
2503
2504 Tue Nov 12 15:12:28 1996  Bob Weiner  <weiner@beopen.com>
2505
2506 * java-brows.el (java-mode-setup): Added support for new Java mode in cc-mode.el.
2507
2508 Mon Nov 11 17:23:57 1996  Bob Weiner  <weiner@beopen.com>
2509
2510 * br-menu.el (id-menubar-br): Added Show-Inherited-Features under Options.
2511
2512 * br-c++-ft.el (c++-feature-def-p): Modified to handle multi-line virtual
2513     method declarations.
2514
2515 * br-java-ft.el (java-feature-locate-p): Eliminated unneeded C++ :: carryover logic.
2516                 (java-scan-features): 
2517                 (java-feature-def-p): 
2518                 (java-feature-name-to-regexp):
2519                 (java-feature-tree-command-p): 
2520                 (java-feature-add-prefix): 
2521                 (java-feature-def-p): 
2522                 (java-feature-decl-or-def): Added attribute handling support.
2523
2524 Sun Nov  3 19:49:26 1996  Bob Weiner  <weiner@beopen.com>
2525
2526 * br-env.el (br-env-load): Modified to load language-specific libraries if
2527     not already loaded.
2528
2529 Fri Nov  1 12:56:53 1996  Bob Weiner  <weiner@beopen.com>
2530
2531 * br-java.el (java-class-modifier-keyword): Removed `protected' which is
2532     not a valid class modifier.
2533 * br-java-ft.el (java-include-dirs): 
2534                 (java-cpp-include-dirs): 
2535                 (java-include-regexp): 
2536                 (java-include-file): Deleted this stuff which never
2537     should have been here, since Java doesn't use includes per se.
2538                 (java-code-file-regexp): Added support for 3-character
2539     suffix-impaired users.
2540                 (java-feature-def-pat): Eliminated unneeded C++ carryover logic.
2541                 (java-type-modifier-keyword): Added `volatile' in
2542     preparation for handling of attributes.
2543                 (java-abstract-method-regexp): Changed to original value in
2544     preparation for handling of attributes.
2545
2546 Thu Oct 31 14:25:02 1996  Bob Weiner  <weiner@beopen.com>
2547
2548 * br-lib.el (br-find-file): Fixed to ensure not to use listing windows
2549     when in the OO-Browser.
2550
2551 * br-ftr.el (br-edit-feature): 
2552             (br-feature-tag-and-file): Added to allow feature editing and
2553     tag lookup by specifying class and feature name as separate arguments.
2554
2555 * br-java-ft.el (java-feature-signature-to-name): Modified to use
2556     java-type-tag-separator instead of "." as a separator between the class
2557     and feature name, since this caused a failure when tried to do
2558     completion on feature names with br-feature-complete.
2559                 (java-tag-fields-regexp): Made final occurrence of
2560     java-type-tag-separator optional since it is not included if the
2561     regexp came from a completion.
2562
2563 * br-ftr.el (br-edit-feature-from-tag): Renamed from `br-edit-feature' so
2564     can reuse that name with a simpler set of arguments.
2565
2566 Wed Oct 30 19:50:34 1996  Bob Weiner  <weiner@beopen.com>
2567
2568 * br-lib.el (br-real-delete-class): Altered to also delete feature tags.
2569     This is called by the br-delete command.
2570             (br-setup-functions): Added "feature-map-class-tags" and
2571     "feature-tag-regexp".
2572 * br-*-ft.el (*-delete-features): Added to delete a class' features.
2573              (*-feature-tag-regexp): Added to return a tag regexp from
2574     class and feature name.
2575              (*-feature-map-class-tags): Added to map over the feature
2576     tags of a single class.
2577
2578 * br-objc-ft.el (objc-feature-matches): Modified to take a regexp to
2579     conform with other languages.
2580 * br-*-ft.el (*-feature-map-tags): Added this function to map over a set
2581     of entries in a feature tags file and return the results.
2582              (*-feature-matches): Fixed bug that failed to properly
2583     delimit identifier character ranges with square brackets, causing all
2584     but exact matches to fail.
2585
2586 * br-java-ft.el (java-feature-display): Renamed from java-feature-tags-lookup.
2587 * br-objc-ft.el (objc-feature-display): Renamed from objc-feature-tags-lookup.
2588 * br-c++-ft.el  (c++-feature-display):  Renamed from c++-feature-tags-lookup.
2589
2590 * br-lib.el (br-add-class): 
2591             (br-real-add-class): Fixed bug that did not add features of a
2592     class when br-add-class was called interactively.  Added the
2593     optional add-features argument to handle this.
2594
2595 * br-java-ft.el (java-return-type-identifier): Fixed bug that neglected
2596     to allow the open square bracket of an array return identifier and
2597     thus caused the scanner to miss methods with such return values.
2598
2599 Tue Oct 22 23:16:02 1996  Bob Weiner  <weiner@beopen.com>
2600
2601 * tree-x/intf.c (InitializeInterface): Renabled use of backing store
2602     in DBLcreate_double_buffer call to eliminate nasty bug on some
2603     platforms that blackened the whole window after drawing the tree.
2604     This may not have completely fixed the problem though.
2605
2606 Fri Sep 20 22:21:30 1996  Bob Weiner  <weiner@freya.yggdrasil.com (Bob Weiner)>
2607
2608 * Changed `cs.uiuc.edu' to `xemacs.org', the new OO-Browser distribution site.
2609
2610 ==============================================================================
2611 * V2.10 changes ^^^^:
2612 ==============================================================================
2613
2614 This version was made by XEmacs maintainers to include Python support
2615 and update a few documentation references.  It was a separate branch
2616 from the mainline development that we synchronized with in the next
2617 release.
2618
2619 ==============================================================================
2620 * V2.9.12 changes ^^^^:
2621 ==============================================================================
2622
2623 Wed Oct 25 04:49:51 1995  Bob Weiner  <weiner@beopen.com>
2624
2625 * BR-README: Reformatted with a table of contents for easy viewing.
2626              Rewrote Installation / Configuration section.
2627
2628 Sun Oct 22 00:41:50 1995  Bob Weiner  <weiner@beopen.com>
2629
2630 * br-menu.el (br-menubar-menu): Fixed bug when current-menubar was
2631     nil, would not display menubar entry under Emacs 19 even though it
2632     should.
2633
2634 Sat Oct 21 02:02:27 1995  Bob Weiner  <weiner@beopen.com>
2635
2636 * br-c-tags (tags_file): Fixed bug that erased first comma in a structure
2637     or enum entries, preventing the browser from displaying the source for
2638     such entries.
2639
2640 * br-init.el (br-after-term-init): Changed call of `hmouse-setup' to
2641     `hmouse-shift-buttons' which fixes bug of mouse keys not being
2642     initialized properly and hmouse-setup function being undefined when a
2643     full Hyperbole distribution is not available.
2644
2645 Wed Oct  4 13:41:52 1995  Bob Weiner  <weiner@beopen.com>
2646
2647 * br-java-ft.el (java-feature-parens-grpn): 
2648                  (java-feature-decl-or-def): Added support for new
2649     function exception name declarations such as:
2650       public Connection(String host, int port)
2651         throws UnknownHostException, InputOutputException {}
2652
2653 Wed Sep 27 15:39:51 1995  Bob Weiner  <weiner@beopen.com>
2654
2655 * hasht.el (hash-delete): Modified to deal with XEmacs different handling
2656     of initially unbound symbols.
2657
2658 * man/br-design.texi: Added to document design rationale of the OO-Browser.
2659
2660 ==============================================================================
2661 * V2.9.11 changes ^^^^:
2662 ==============================================================================
2663
2664 Fri Sep 22 10:12:26 1995  Bob Weiner  <weiner@beopen.com>
2665
2666 * br-java.el (java-get-package-name): Fixed problem with nil package name
2667     being used as hash table key.
2668
2669 Thu Sep 21 12:16:48 1995  Bob Weiner  <weiner@beopen.com>
2670
2671 * br.el (br-add-class-file): Signal error if file is not readable.
2672 * br-lib.el (br-real-add-class): 
2673             (br-real-build-parents-alist): 
2674             (br-show-parents): Don't try to scan file if it is unreadable.
2675             (br-search-directory): Fixed problem that caused scanning to
2676     stop if encountered an unreadable file or invalid link.  Now just
2677     displays a message.
2678
2679 Wed Sep 20 12:30:37 1995  Bob Weiner  <weiner@beopen.com>
2680
2681 * br.el (br-report-bug): Added to send a message to oo-browser discussion
2682     list and bound to {C-c C-b}.
2683 * br-init.el (br-init-autoloads): Added an autoload for hmail:compose.
2684 * Makefile (HYPB_EL/C): Added hypb/hmail.{el,elc} to list for OO-Browser
2685     bug reporting.
2686
2687 * br-env.el (br-env-rebuild):
2688             (br-env-cond-build): Prompt for background building.
2689             (br-env-build): Modified to prompt for whether or not to build
2690     in background when background flag is not t or nil.
2691
2692 * smt-browse.el (smt-browse): 
2693 * info-brows.el (info-browse): 
2694 * objc-brows.el (objc-browse): 
2695 * eif-browse.el (eif-browse): 
2696 * clos-brows.el (clos-browse):
2697 * c++-browse.el (c++-browse):
2698 * java-brows.el (java-browse): Rewrote to quit if user chooses not to
2699     build an Environment which has been specified but not built and to
2700     alert him with a message that the Environment must be built before
2701     browsing.
2702
2703 * br-env.el (br-env-create): Modified to allow background builds when
2704     re-specify current Environment and to only build the Environment if
2705     called interactively.
2706             (br-env-try-load): Renamed from br-env-force-load and rewrote
2707     to just try to load Environment once, instead of looping, so user can
2708     easily quit.
2709             (br-env-init): Modified to return Env file name loaded or nil
2710     if load fails.
2711
2712 * br-c++.el (c++-src-file-regexp): Ellemtel C++ recommendations specify
2713     that inline definition files should use the suffix ".icc" and other
2714     people use ".I" for such files, so those suffixes are included here.
2715
2716 * br-java.el (java-get-package-name): Simplified and fixed bug that
2717     triggered error if search failed.
2718              (java-get-classes-from-source): Save return value from call
2719     of java-get-package-name.
2720
2721 ==============================================================================
2722 * V2.9.10 changes ^^^^:
2723 ==============================================================================
2724
2725 Thu Sep 14 11:37:40 1995  Bob Weiner  <weiner@beopen.com>
2726
2727 * br-env.el (br-env-browse): Modified to specify non-existing
2728     Environments, so can be called by {M-x oo-browser}.
2729
2730 * BR-README: Clarified build and install instructions for the X OO-Browser.
2731
2732 * br-start.el (oo-browser): Added as alias for the oobr function to
2733     encourage people to recognize the real name of the package.  Also
2734     reversed meaning of the prefix argument so that by default, it always
2735     prompts for the Environment to browse, thereby removing a common
2736     problem new users have of not being able to specify the Environment
2737     location.  Immediately hitting {RET} when prompted browses the most
2738     recently browsed Environment, if any.
2739
2740 Wed Sep 13 11:21:17 1995  Bob Weiner  <weiner@beopen.com>
2741
2742 * man/oo-browser.texi (Customization): Documented br-skip-dir-regexps and
2743     br-file-dir-regexp variables.
2744
2745 * br-lib.el (br-file-dir-regexp): Made this a global variable rather than
2746     a language-specific one, since all languages had the same value.  Also
2747     modified value to handle one character directory names.
2748
2749 Tue Sep 12 16:05:26 1995  Bob Weiner  <weiner@beopen.com>
2750
2751 * br.el (br-interrupt): Fixed bug that prevented burying of browser
2752     buffers when {q} is invoked.
2753         (br-ancestors): 
2754         (br-descendants): Made these functions return nil when nothing to
2755     show and t otherwise.
2756
2757 ==============================================================================
2758 * V2.9.9 changes ^^^^:
2759 ==============================================================================
2760
2761 Mon Aug 28 18:16:57 1995  Bob Weiner  <weiner@beopen.com>
2762
2763 * tree-x/tree.c (MakeNode): Use memset when SYSV is defined instead of BSD
2764     bzero call.
2765
2766 Sat Aug 26 15:19:41 1995  Bob Weiner  <weiner@beopen.com>
2767
2768 * man/oo-browser.texi (Java Specifics): Added this section.
2769
2770 * br-java.el:
2771 * br-java-ft.el: Fixed comment handling for many routines, identifier
2772     regexp definition, and handling of / native method listing prefix.
2773
2774 Fri Aug 25 19:35:03 1995  Bob Weiner  <weiner@beopen.com>
2775
2776 * br-java-ft.el:  Removed wrong references to :: scoping modifier left
2777     over from C++ code.
2778
2779 ==============================================================================
2780 * V2.9.8 changes ^^^^:
2781 ==============================================================================
2782
2783 Thu Aug 24 17:10:46 1995  Bob Weiner  <weiner@beopen.com>
2784
2785 * br-lib.el (br-delete-space): Fixed bug in handling multi-line strings.
2786
2787 Wed Aug 23 11:41:25 1995  Bob Weiner  <weiner@beopen.com>
2788
2789 * MANIFEST: 
2790   Makefile:
2791   br-java.el:
2792   br-java-ft.el:
2793   java-brows.el: Added to support Java code browsing, a single
2794     inheritance, byte-code interpreted language descended in part from C++
2795     and developed by Sun.  People are using it in WWW applications along
2796     with Sun's Hot Java browser which interprets Java code in web pages.
2797     Thanks to Jeff Sparkes for working on the Java-specific regexps.
2798
2799 * br-menu.el (br-menubar-menu): Fixed bug that would add menu if
2800     menubar was nil.
2801
2802 ==============================================================================
2803 * V2.9.7 changes ^^^^:
2804 ==============================================================================
2805
2806 Fri Jul 14 15:28:17 1995  Bob Weiner  <weiner@beopen.com>
2807
2808 * Makefile (distclean): Modified to remove unneeded object and binary
2809     files from tree-x and tree-nx.
2810
2811 Thu Jul 13 11:30:57 1995  Bob Weiner  <weiner@beopen.com>
2812
2813 * br-lib.el (br-add-to-paths-htable): Don't add class if already in the table.
2814
2815 Wed Jul 12 14:33:44 1995  Bob Weiner  <weiner@beopen.com>
2816
2817 * br.el (br-add-class-file): Simplified and corrected errors when class
2818     already existed in Environment.
2819
2820 Tue Jul 11 14:18:23 1995  Bob Weiner  <weiner@beopen.com>
2821
2822 * tree-x/intf.c (NewTree_CB): Allocated an extra char for string terminator.
2823
2824 Fri Jun  2 10:14:19 1995  Bob Weiner  <weiner@beopen.com>
2825
2826 * br-c++.el (c++-identifier): Fixed to match to "class< template<T> >"
2827     expressions, i.e. nested <<>>.  Only handles a single template
2828     parameter, however.
2829
2830 Thu Jun  1 10:26:38 1995  Bob Weiner  <weiner@beopen.com>
2831
2832 * tree-x/Makefile: Rewrote for increased configurability.
2833
2834 ==============================================================================
2835 * V2.9.6 changes ^^^^:
2836 ==============================================================================
2837
2838 Fri May 19 08:59:14 1995  Bob Weiner  <weiner@beopen.com>
2839
2840 * eif-calls.el (eif-reserved-words): Added new Eiffel V3 keywords.
2841
2842 * br-env.el: Rewrote to avoid deletion of feature tags file; erase its
2843     contents instead and then rebuild.
2844
2845 * br-menu.el (id-menubar-br): 
2846              (id-popup-br-menu): Added Compose-Mail-to-List and
2847     Mail-List-Request entries.
2848 * BR-README: Added section on the new oo-browser mail list.
2849
2850 * br-env.el (br-env-build): Added explicit setting of EMACS path
2851     executable path when build in the background and path is known.
2852
2853 ==============================================================================
2854 * V2.9.5 changes ^^^^:
2855 ==============================================================================
2856
2857 Tue May 16 11:54:33 1995  Bob Weiner  <weiner@beopen.com>
2858
2859 * br-env.el (br-env-lang-avector): Changed "CLOS" to "Lisp" since the
2860     browser can browse non-OO Lisp, too.
2861
2862 ==============================================================================
2863 * V2.9.4 changes ^^^^:
2864 ==============================================================================
2865
2866 Fri May 12 13:44:21 1995  Bob Weiner  <weiner@beopen.com>
2867
2868 * br-env.el (br-env-stats): 
2869             (br-env-save): 
2870             (br-env-lang-var): 
2871             (br-env-version): Added this variable to record the OO-Browser
2872     version used to build each Environment.  This allows us to prompt the
2873     user if an Environment format changes, necessitating a rebuild of the
2874     environment.
2875             (br-env-load): Prompt to rebuild obsolete C++, Objective-C and
2876     Eiffel environments which do not have version numbers.
2877
2878 Thu May 11 11:11:04 1995  Bob Weiner  <weiner@beopen.com>
2879
2880 * br-c-ft.el (c-build-element-tags): Fixed to handle an empty buffer.
2881
2882 * br-env.el (br-env-save): Added save of feature tags file if save-file
2883     name is different than current br-env-file.
2884 * br-ftr.el (br-feature-tags-file-name): Added to centralize naming of
2885     feature files.
2886             (br-feature-tags-init): Called this new function.
2887
2888 * br-env.el (br-env-select-lang): Tightened check for use of dialog box so
2889     won't be even if popup-dialog-box is defined by lmenu.el under GNU Emacs.
2890
2891 * br.el (br-window-setup): Fixed to clear frame `unsplittable' property if
2892     set.
2893
2894 * br-eif-ft.el (eif-feature-signature-to-regexp): Fixed bug which
2895     failed to remove class from regexp used to find feature definition.
2896
2897 ==============================================================================
2898 * V2.9.3 changes ^^^^:
2899 ==============================================================================
2900
2901 Tue May  9 22:32:15 1995  Bob Weiner  <weiner@mot.com (Bob Weiner)>
2902
2903 * Makefile (install): Changed to install documentation.
2904
2905 Mon May  8 18:21:33 1995  Bob Weiner  <weiner@beopen.com>
2906
2907 * man/oo-browser.texi (Using the Mouse): 
2908 * br-init.el (br-after-term-init): 
2909 * br-menu.el (br-menubar-menu): Added support for pulldown and popup
2910     menus under Emacs19.
2911
2912 ==============================================================================
2913 * V2.9.2 changes ^^^^:
2914 ==============================================================================
2915
2916 Fri May  5 12:30:08 1995  Bob Weiner  <weiner@beopen.com>
2917
2918 * Makefile: Removed building of Info and Postscript versions of the
2919     OO-Browser manual from default `make'.  Use `make info' and `make ps',
2920     respectively.
2921
2922 * br.el (br-toggle-c-tags): 
2923         (br-c-tags-flag): Added to control whether C tags are built for
2924     C-based language Environments.
2925
2926 * br-objc-ft.el: Redid tags format for compatibility with C++ tags and
2927     increased speed of feature listing by including feature name in tag
2928     lines.  Also added in C element browsing.
2929
2930 Thu May  4 13:32:38 1995  Bob Weiner  <weiner@beopen.com>
2931
2932 * br-c++-ft.el (c++-feature-def-pat): 
2933 * br-compl.el  (br-class-completions): 
2934 * br-ftr.el    (br-feature-completions): Fixed bugs in these functions.
2935
2936 * br-c++-ft.el (c++-type-def-modifier): 
2937                (c++-member-modifier-keyword):
2938                (c++-type-modifier-keyword): Added `mutable' keyword, for
2939     objects which are never const.
2940                (c++-type-modifier-keyword): Added `explicit' keyword, for new
2941     constructors and operators which do not allow implicit argument
2942     conversions.
2943
2944 Wed May  3 11:06:13 1995  Bob Weiner  <weiner@beopen.com>
2945
2946 * br-lib.el (br-setup-constants): Added "type-tag-separator" so could be
2947     referenced outside of language-specific files.
2948 * br-objc-ft.el (objc-type-tag-separator): Changed from "," to "@" so
2949     would be the same as in C++.
2950 * br-smt.el (smt-type-tag-separator): Added.
2951
2952 * br-c-ft.el: Added to handle C construct browsing for any C-based language.
2953 * Makefile: Added br-c-ft.el.
2954
2955 * br-c++-ft.el (c++-element-type-alist): Renamed to c-default-classes.
2956                (c++-build-c-tags): Renamed to c-build-element-tags.
2957   br-c++.el:   (c++-in-c-comment-p): Renamed to c-within-comment-p.
2958     Moved all of these to br-c-ft.el.
2959 * br.el (br-version): Automatically insert current version number when called.
2960
2961 * br.el (br-mode-map): Removed key binding for little used
2962     br-toggle-keep-viewed function in order to move br-view-friend from {M-v}
2963     to {V}, since it stupidly conflicted with a basic scrolling command.
2964 * man/oo-browser.texi (C++ Element Selection): Updated doc to reflect this
2965     change.
2966
2967 * br-c-tags: Added to build feature tags for default C construct classes.
2968
2969 Tue May  2 11:08:53 1995  Bob Weiner  <weiner@beopen.com>
2970
2971 * br-c++-ft.el (c++-operator-identifier): Added support for new C++
2972     `delete' and `new' array operators which end with [].
2973
2974 * br-lib.el (br-get-htable): 
2975 * br-env.el (br-build-parents-htable): 
2976             (br-build-paths-htable): 
2977             (br-env-set-htables): Modified to make System entries override
2978     Library entries.
2979
2980 * tree-x/help.h: Rewrote to use ANSI C string concatenation.
2981 * tree-x/usleep.c: Added to support building on systems without usleep
2982     system call.
2983
2984 * br-lib.el (br-undefined-classes): Added.
2985 * br-env.el (br-env-stats): Added display of undefined classes which are
2986     referenced in the Environment to help detect class definition omissions.
2987             (br-env-totals): Modified to show the names of duplicate
2988     classes to simplify eliminating them.
2989
2990 * Makefile (tags): Replaced all - with underscore in variable names to
2991     satisfy the AIX sh.
2992
2993 Fri Apr 28 12:02:01 1995  Bob Weiner  <weiner@beopen.com>
2994
2995 * br-c++-ft.el (c++-list-features): Rewrote to accomodate C construct browsing.
2996     (c++-element-type-alist): Added.
2997
2998 * br-ftr.el (br-tags-file): Added this variable to point to an Emacs TAGS
2999     file temporarily build for use with the current Environment.
3000             (br-feature-tags-init): Set br-tags-file.
3001
3002 ==============================================================================
3003 * V2.9.1 changes ^^^^:
3004 ==============================================================================
3005
3006 * br-menu.el (br-menubar-menu): Fixed bug that prevented OO-Browser popup
3007    from coming up under XEmacs.
3008
3009 Thu Apr 27 17:36:06 1995  Bob Weiner  <weiner@beopen.com>
3010
3011 * br-c++-ft.el (c++-return-type-identifier): Allowed spaces between
3012     template parameters.
3013
3014 * br.el (br-features): Fixed bug that did not alert user when a class has
3015     no features.
3016
3017 * br-c++-ft.el (c++-feature-decl-or-def): Updated to avoid undesired
3018     matches to `enum var {};' and related sorts of constructs for now
3019     since we don't deal with them and they would end up in the default
3020     [function] class improperly. 
3021
3022 Wed Apr 26 11:32:07 1995  Bob Weiner  <weiner@beopen.com>
3023
3024 * br-lib.el (br-setup-functions): 
3025 * br.el (br-mode-map): Added br-view-friend bound to {M-v}.  For now, just
3026     displays the definition of a C++ friend entry at point.
3027 * br-c++-ft.el (c++-view-friend): Added to jump to friend definitions.
3028
3029 * br-ftr.el (br-feature-get-signature): Made line-num-minus-one arg
3030     optional.  Default is to return feature tag for current entry.
3031
3032 * br.el (br-inherited-features): Modified call to br-list-features to
3033     include indent value so that C++ can eliminate friend declarations
3034     from inherited feature listings, since friends are not inherited.
3035
3036 * br-c++-ft.el: (c++-scan-features): 
3037                 (c++-scan-features-in-class): Modified to leave { or ;
3038      terminator in feature tags, so can distinguish declarations from
3039      definitions.
3040                 (c++-feature-add-prefix): 
3041                 (c++-feature-normalize): 
3042                 (c++-scan-features-in-class): Included friend declarations
3043      in feature listings, prefixed by "% ".  Prefixed object creation and
3044      deletion features with "+ ".
3045
3046 * br-c++-ft.el: 
3047   br-c++.el:    Rewrote to handle a wider variety of template-based
3048     definitions.
3049
3050 Tue Apr 25 14:35:54 1995  Bob Weiner  <weiner@beopen.com>
3051
3052 * br-c++-ft.el (c++-operator-identifier): Fixed to support overloading of
3053     operators [] and ().
3054
3055 Mon Apr 24 14:52:11 1995  Bob Weiner  <weiner@beopen.com>
3056
3057 * br-c++-ft.el: Rewrote to cache feature name within each tag entry, to
3058     speed up feature entry listings.
3059   br-c++-ft.el (c++-scan-features-in-class): Fixed to list this feature
3060     `operator int() { return i; }', as `operator int' instead of just
3061     `int'.
3062
3063 * br-eif-ft.el  (eif-type-tag-separator): 
3064   br-objc-ft.el (objc-type-tag-separator): 
3065   br-c++-ft.el  (c++-type-tag-separator): Changed from "|" to "," or "@" to
3066     support inclusion of more information in feature tag entries.  | could
3067     interfere with this in some languages.
3068
3069 Mon Apr 17 17:23:33 1995  Bob Weiner  <weiner@beopen.com>
3070
3071 * br-ftr.el (br-feature-clear-signatures): Fixed V19 version to use
3072     optional buf-nm parameter when given.
3073             (br-feature-type-regexp): Added `>' character used by Eiffel
3074     deferred features.
3075
3076 * br-eif.el:
3077   eif-calls.el:
3078   br-eif-ft.el: Added full OO-Browser feature browsing capability for Eiffel.
3079
3080 * br-lib.el (br-real-build-alists): Renamed from br-real-build-alists-br
3081     and eliminated per-language setting of this function.
3082
3083 ==============================================================================
3084 * V2.9 changes ^^^^:
3085 ==============================================================================
3086
3087 Fri Apr 14 15:31:17 1995  Bob Weiner  <weiner@beopen.com>
3088
3089 * man/oo-browser.ps: Removed from the distribution.  Too large; users who
3090     need it can build it themselves.
3091
3092 * *.el: Added KEYWORDS: header.
3093
3094 Thu Apr 13 14:30:30 1995  Bob Weiner  <weiner@beopen.com>
3095
3096 * br-c++.el (c++-get-classes-from-source): Made the scanner tolerate class
3097     definitions that don't end with a semicolon.
3098
3099 * br-ftr.el (br-feature-get-tags): Fixed bug in Emacs 19 version which
3100     failed to set tags list, causing an error when {C-u F} was invoked.
3101
3102 * man/oo-browser.texi (C++ Element Selection): 
3103   br-c++-ft.el (c++-scan-features): 
3104                (c++-scan-features-in-class): 
3105                (c++-feature-implementors): 
3106                (c++-feature-locate-p): 
3107                (c++-feature-name-to-regexp): 
3108                (c++-feature-signature-to-name): 
3109                (c++-pure-virtual-function-regexp): Added support for
3110      including pure virtual functions in class member listings.
3111
3112 Wed Apr 12 17:07:38 1995  Bob Weiner  <weiner@beopen.com>
3113
3114 * br-c++-ft.el (c++-type-identifier-group): 
3115                (c++-feature-decl-or-def): Fixed bug in regexp that could
3116     cause a definition of "main()" to show up as "- n" in a listing buffer
3117     since the wrong group would grab "mai".
3118
3119 Tue Apr 11 12:55:11 1995  Bob Weiner  <weiner@beopen.com>
3120
3121 * br-clos-ft.el (clos-element-tag-list): Fixed to ignore any parameters
3122     following an &keyword since these cannot be specialized (given a specific
3123     type).  Also assigned all methods which are not specialized to CLOS
3124     default class `t'.
3125
3126 * BR-README: Clarified autoload directions.
3127
3128 * br-c++-ft.el (c++-feature-decl-or-def): Allowed for whitespace following
3129    the :: scoping operator.  Some people actually use it.
3130
3131 * br.el (br-feature-signature-regexp): Added a `:' to this expression
3132    since this is used by C++ feature completions.
3133
3134 * hmouse-br.el (smart-br): 
3135                (smart-br-assist): Modified to invoke the OO-Browser, if
3136    not in it.  This can occur if an Action/Assist key press occurs in a
3137    browser listing buffer when the browser user interface is not
3138    displayed.
3139 * br.el (br-browse): Modified to do nothing if already in the OO-Browser.
3140
3141 ==============================================================================
3142 * V2.8.6 changes ^^^^:
3143 ==============================================================================
3144
3145 Sat Apr  8 13:53:43 1995  Bob Weiner  <weiner@beopen.com>
3146
3147 * man/oo-browser.texi (Top): Added credits.
3148
3149 Fri Apr  7 11:57:20 1995  Bob Weiner  <weiner@beopen.com>
3150
3151 * man/oo-browser.texi: Changed name from oobr.texi so that filename need
3152     not be included in Info directory listings.
3153
3154 Thu Apr  6 10:20:07 1995  Bob Weiner  <weiner@beopen.com>
3155
3156 * man/oo-browser.texi (Using the Mouse): Added a paragraph on the
3157     InfoDock/XEmacs menus.
3158
3159 * br-objc-ft.el (objc-scan-features): Skip past body of method after
3160     scanning it.
3161
3162 * Makefile (PRELOADS): Added ref to $(SITE-PRELOADS) for customization of
3163     the Lisp libraries loaded before byte-compiling any files.
3164            (BATCHFLAGS): Removed -no-site-file so addition of the
3165     OO-Browser directory to load-path may be done in site-start.el.
3166
3167 Wed Apr  5 17:11:31 1995  Bob Weiner  <weiner@beopen.com>
3168
3169 * br-c++.el (c++-parent-regexp): Added an extra c++-comment-regexp
3170     so that class parents with following C++ comments are found:
3171         class cl : public parent
3172           // This is a
3173           // silly set of comments
3174           {}
3175
3176 Wed Apr  5 09:07:35 1995  Bob Weiner  <weiner@beopen.com>
3177
3178 * br-tree.el (br-tree-x-load-tree-file): Coerced string to int for concat.
3179
3180 ==============================================================================
3181 * V2.8.5 changes ^^^^:
3182 ==============================================================================
3183
3184 Mon Apr  3 18:16:35 1995  Bob Weiner  <weiner@beopen.com>
3185
3186 * br.el (br-inherited-features): Added this command to show all features
3187     of a class.
3188         (br-inherited-features-flag): Added to control whether
3189     `br-features' displays all inherited features or just lexically
3190     included ones.  Default is t, all inherited features.
3191
3192 Sun Apr  2 18:08:23 1995  Bob Weiner  <weiner@beopen.com>
3193
3194 * br-menu.el: Added this file of menus for the OO-Browser from InfoDock
3195     and adapted for use under standard XEmacs.
3196
3197 Sat Apr  1 14:43:00 1995  Bob Weiner  <weiner@beopen.com>
3198
3199 * br-c++-ft.el (c++-func-args-regexp): 
3200                (c++-func-args-string): Modified to add optional spaces
3201     between a C++ type and `*' or `&' characters since the spacing
3202     sometimes varies between declaration and definition, e.g. declaration
3203     is "func(const List<T>&);" and def is "func(const List<T> &id) {}".
3204
3205 * br-ftr.el (br-edit-feature): Added to jump to feature when tag-entry and
3206     file of feature def have already been computed.
3207 * br-ftr.el    (br-find-feature): 
3208   br-c++-ft.el (c++-feature-tags-lookup): Modified to call br-edit-feature.
3209
3210 Fri Mar 31 13:44:57 1995  Bob Weiner  <weiner@beopen.com>
3211
3212 * br-c++-ft.el (c++-class-decl-p): Fixed to properly match to template classes.
3213
3214 * br-c++.el (c++-get-parent-name): Fixed to handle class definitions whose
3215     parent is an instantiation of a template class.
3216
3217 * br-c++-ft.el (c++-feature-signature-to-regexp): Rewrote to ignore the
3218     template parameter names when matching to a class template method.
3219
3220 ==============================================================================
3221 * V2.8.4 changes ^^^^:
3222 ==============================================================================
3223
3224 Tue Mar 28 15:13:51 1995  Bob Weiner  <weiner@beopen.com>
3225
3226 * br-c++-ft.el (c++-type-identifier): 
3227   br-c++.el (c++-identifier): Updated to handle C++ names with multiple
3228     template parameters, e.g. class<T1,T2,T3>
3229
3230 * tree-x: New release that redraws whole canvas when a tree is collapsed
3231     as a stopgap measure to fix improper tree display after collapse (trees
3232     collide and overwrite one another).
3233     Added a separate resource file for color displays.
3234     Renamed sample TREE to TREE.objc.
3235     Added sample TREE.c++ file as example of browsing C++ template classes.
3236
3237 Mon Mar 27 01:07:18 1995  Bob Weiner  <weiner@beopen.com>
3238
3239 * br-start.el (br-member): Use builtin member function when available.
3240
3241 * br-c++.el (c++-get-classes-from-source): Added support for new style
3242     "template <T> class name<T> {}" definitions along with template
3243     method definitions.
3244 * br-c++.el (c++-get-class-name): 
3245             (c++-class-definition-name): 
3246             (c++-scan-parents): 
3247             (c++-get-parent-name): Added for template support.
3248 * br-c++-ft.el (c++-scan-features-in-class): Added for template support.
3249
3250 Sun Mar 26 14:06:10 1995  Bob Weiner  <weiner@beopen.com>
3251
3252 * br-c++-ft.el (c++-add-default-classes): Added.
3253 * c++-browse.el (c++-browse-setup): Added hook which calls
3254     c++-add-default-classes, so can browse global C++ functions and C
3255     functions.
3256                 (c++-scan-features): Improved handling of non-class member
3257     functions and eliminated false matches to class definitions.
3258
3259 * br.el (br-unique): Rewrote to handle all entry types.
3260         (br-order): Rewrote both of these functions to maintain element
3261     tags under Emacs 19.
3262
3263 * br-ftr.el (br-feature-clear-signatures):
3264             (br-feature-get-signature):
3265             (br-feature-get-tags):
3266             (br-feature-put-signatures): Added Emacs 19 versions that use
3267     text-properties so that tag associations stay with entry lines after a
3268     buffer is filtered, e.g. by br-match-entries.
3269
3270 Sun Mar 26 01:03:38 1995  Bob Weiner  <weiner@meltdown.valhalla (Bob Weiner)>
3271
3272 * br.el (br-match-entries): Replaced invalid call to br-filter with
3273     br-match-entries.
3274
3275 Sat Mar 25 16:15:20 1995  Bob Weiner  <weiner@beopen.com>
3276
3277 * Makefile (elc): Cleaned up user output produced by this target.
3278
3279 * br.el (br-next-buffer): Clear out any feature tags that may have been
3280     associated with this buffer, so we don't mistakenly reference them.
3281
3282 ==============================================================================
3283 * V2.8.3 changes ^^^^:
3284 ==============================================================================
3285
3286 Fri Mar 24 10:42:11 1995  Bob Weiner  <weiner@beopen.com>
3287
3288 * br-c++-ft.el (c++-scan-features): Fixed so skips to end of a feature
3289     definition before looking for another.  This prevents matches to things
3290     that look like feature definitions, e.g.  if(flag) {}, inside feature
3291     bodies.
3292
3293 * br.el (br-this-level-entries): Added.  Returns list of entry names
3294     from current listing.
3295         (br-match-entries): Added to filter current entry listing.
3296
3297 * Makefile (elc): Rewrote in a portable manner so that one emacs
3298     invocation builds all elc files.
3299
3300 Thu Mar 23 17:32:50 1995  Bob Weiner  <weiner@beopen.com>
3301
3302 * br.el (br-browse): Fixed so br-mode-hook and language-specific hook is
3303     run each time the browser is invoked, not just the first time in an
3304     Emacs session.
3305
3306 * br-lib.el (br-real-delete-class): Stopped trying to replace a hash table
3307     key which did not exist.
3308
3309 * br-c++-ft.el (c++-scan-features): Fixed bug that generated improper
3310     feature tags for global functions and destructors, keeping them from
3311     showing up properly in listings.
3312
3313 * br.el (br-view-full-frame): Fixed bug in displaying the command to use
3314     to return to the OO-Browser, if said command is not bound to a key.
3315     Also fixed bug that failed to bury browser buffers when using this
3316     command.
3317
3318 Wed Mar 22 03:20:39 1995  Bob Weiner  <weiner@beopen.com>
3319
3320 * Makefile (EMACS): Changed default setting of this variable to XEMACS.
3321
3322 * hmouse-br.el: Renamed a bunch of Hyperbole functions and variables.
3323
3324 Tue Mar 21 01:05:28 1995  Bob Weiner  <weiner@beopen.com>
3325
3326 * hasht.el (hash-replace): Fixed omission of argument to (error) call.
3327     This was causing {C-c C-d}, br-delete to fail.
3328
3329 * Makefile: Fixed problems in a number of areas with different versions
3330     of make.
3331
3332 * br-c++-ft.el (c++-feature-signature-to-name): Fixed recently added
3333     problem of deleting space and [] from names such as "operator []".
3334
3335 * Makefile (oo-browser-env): Added this target for use with batch
3336     Environment building.  Uses environment variable OO_BROWSER_ENV as
3337     the Environment to build.
3338 * br-env.el (br-env-batch-build-browse): Added to enable browsing an
3339     Environment after it has finished building in the background.
3340             (br-env-batch-build): Modified to only load needed browser
3341     libraries once, rather than once per environment built.
3342             (br-env-build): Added ability to build environments in the
3343     background using optional parameter BACKGROUND-FLAG.
3344             (br-env-rebuild): Added prompt to build in background when
3345     called interactively.
3346
3347 Mon Mar 20 00:16:46 1995  Bob Weiner  <weiner@beopen.com>
3348
3349 * br-eif.el (eif-get-parents-from-source): Rewrote to support Eiffel 3
3350     inheritance clauses.
3351
3352 ==============================================================================
3353 * V2.8.2 changes ^^^^:
3354 ==============================================================================
3355
3356 * br-c++-ft.el: Added class name at the front of feature tags as in other
3357     languages to speed tag lookups which can now often use string lookups
3358     rather than regexp lookups.
3359
3360 * br-lib.el (br-delete-space): Added this function and used in br-c++-ft.el.
3361
3362 * br.el (br-where): Rewrote to handle entities in addition to classes.
3363
3364 * br-clos-ft.el (clos-element-tag-list): Fixed bug that added nil values
3365     to constant and variable definition tags, preventing the browser from
3366     finding them when trying to view their definitions.
3367
3368                 (clos-feature-name-to-regexp): Rewrote to work properly.
3369
3370 Sun Mar 19 23:46:34 1995  Bob Weiner  <weiner@beopen.com>
3371
3372 * br-clos.el (clos-type-identifier-chars): Added back [] characters so
3373     that default class features will be shown properly in listing buffers.
3374
3375 Fri Mar 17 12:46:06 1995  Bob Weiner  <weiner@beopen.com>
3376
3377 * Makefile (elc): Rewrote to compile all out of date .elc files with one
3378     invocation of Emacs.
3379
3380 Thu Mar 16 12:33:24 1995  Bob Weiner  <weiner@beopen.com>
3381
3382 * br-init.el (br-after-term-init): Eliminated need to load set.el.
3383     Provides faster startup.
3384
3385 * br-vers.el: Added this file and `br-version' variable so can get OO-Browser
3386     version number programmatically.
3387
3388 Wed Mar 15 14:13:19 1995  Bob Weiner  <weiner@beopen.com>
3389
3390 * br-init.el (br-after-term-init): Renamed all `smart-*-meta*' functions
3391     to `smart-*-assist*'.
3392
3393 ==============================================================================
3394 * V2.8.1 changes ^^^^:
3395 ==============================================================================
3396
3397 Fri Mar 10 14:40:55 1995  Bob Weiner  <weiner@beopen.com>
3398
3399         * OO-Browser V2.8 is released.
3400
3401 * man/oo-browser.texi: Rearranged and renamed many sections for clarity.
3402                 (Browsing Categories): 
3403                 (Browsing Protocols): Added these two sections.
3404
3405 * br-compl.el (br-complete-type): Generalized for languages other than C++.
3406
3407 * br.el (br-next-class): 
3408         (br-prev-class): Renamed to br-*-entry.
3409         (br-next-class-window): 
3410         (br-prev-class-window): Renamed to br-*-listing-window.
3411
3412 Mon Mar  6 12:04:30 1995  Bob Weiner  <weiner@beopen.com>
3413
3414 * br-lib.el (br-setup-constants): Removed br-show-features setting from
3415     here so that it is a global setting that applies to all languages.
3416     Otherwise, it would typically be set to nil each time you browsed an
3417     Environment using a different language.  This is not what most users
3418     would want.
3419
3420 * br-tree.el (br-tree-filter): Rewrote for improved efficiency.  Also
3421    display an invalid command message and beep if graphical browser sends
3422    an invalid command.  Also fixed bug in handling long feature signatures
3423    which come in as multiple output strings.
3424
3425 Sun Mar  5 12:24:28 1995  Bob Weiner  <weiner@beopen.com>
3426
3427 * Makefile (tags): Added tree-x and tree-nx source tags into TAGS build.
3428
3429 * tree-x: Replaced the old Motif X OO-Browser with the new Xt-based one.
3430
3431 * br-tree.el (br-tree-do-cmd): Fixed bug that could cause
3432     br-feature-tree-command-p to be invoked in languages for which it is not
3433     defined.
3434
3435 * br-objc-ft.el (objc-feature-locate-p): Fixed so if try to browse method2
3436     from class2 which is defined after method1 of class1 in the same file,
3437     and method1 and method2 have the same name, it works.  Previously, the
3438     class in which the method was defined was ignored under Objective-C.
3439
3440 * br.el (br-children): 
3441         (br-parents): 
3442         (br-ancestors)
3443         (br-descendants): When applied to a single class, eliminated narrow
3444    of listing to that class.  Instead insert class in output listing, just
3445    like when applied to a whole listing.  This also makes producing
3446    graphical displays of a listing simpler.
3447
3448 Sat Mar  4 14:38:45 1995  Bob Weiner  <weiner@beopen.com>
3449
3450 * br-objc-ft.el (objc-list-categories): 
3451                 (objc-list-protocols): Added to support category and
3452   protocol browsing.
3453 * br-lib.el (br-setup-functions): Added per-language "list-features" and
3454     "list-protocols" functions.
3455
3456 Fri Mar  3 14:00:24 1995  Bob Weiner  <weiner@beopen.com>
3457
3458 * br.el (br-mode-map): Added {C} = br-categories and {P} = br-protocols.
3459         (br-categories): Added to show class categories.
3460         (br-protocols): Added to show protocols to which a class conforms.
3461
3462 * br-lib.el (br-real-add-class): Trigger error if class-name is nil or if
3463     replace is attempted on a non-existent class.
3464
3465 * br.el (br-features): Modified so if no feature definitions for the class
3466    in the Environment, then browse feature declarations by displaying the
3467    class definition.
3468
3469 * br-compl.el (br-class-completions): 
3470   br.el (br-show-top-classes):
3471         (br-match): Added (br-class-list-filter classes) so each language
3472     can filter the set of classes listed when showing top classes or
3473     matching to class names.  Set this language-specific function to
3474     'identity for all languages except Objective-C where protocols and
3475     class categories are filtered out.
3476
3477 Fri Mar  3 02:03:42 1995  Bob Weiner  <weiner@beopen.com>
3478
3479 * br-lib.el (br-real-build-al)
3480     (br-search-directory): Modified scanning message to lead with
3481     last path component in case long paths in the minibuffer would
3482     otherwise obscure it.
3483
3484 * br-objc-ft.el
3485   br-objc.el
3486   objc-brows.el: Numerous changes to support category and protocol browsing.
3487
3488 Thu Mar  2 00:16:49 1995  Bob Weiner  <weiner@beopen.com>
3489
3490 * br.el (br-interrupt):
3491         (br-quit):       Added test to ensure that are in the OO-Browser
3492     within the selected frame before interrupting.
3493
3494 * br-c++-ft.el (c++-list-features): 
3495   br-objc-ft.el (objc-list-features): Fixed bug where 2nd and 3rd search
3496     args were reversed.
3497
3498 * br-ftr.el (br-feature-type-regexp): Added this constant to match to
3499     leading character of an OO-Browser feature listing.
3500 * br-ftr.el (br-feature-entry): 
3501   br-compl.el (br-find-class-name):
3502   br-objc-ft.el (objc-feature-signature-to-regexp):
3503     Used this new constant.
3504
3505 * br.el (br-sort-options): Added to control the way listing buffers are sorted.
3506
3507 Wed Mar  1 10:40:54 1995  Bob Weiner  <weiner@beopen.com>
3508
3509 * br-compl.el (br-all-classes): Rewrote to omit sort in most cases, since
3510     many functions that call this will do their own sorting.
3511
3512 * br-lib.el (br-class-path): Made this return nil if class-path is equal
3513     to br-null-path.
3514
3515 * br.el: Redefined and rebound these commands to be more representative of
3516   what they now do, considering that class features may now be other
3517   things than just routines and that {f} and {F} will now list feature
3518   names and feature tags respectively.
3519         OLD-NAME      NEW-NAME                   OLD-KEY  NEW-KEY
3520         =========================================================
3521         br-find       Use br-edit-entry instead.         {C-u e}
3522         br-routines   br-features                   r       f
3523
3524 Tue Feb 28 10:11:04 1995  Bob Weiner  <weiner@beopen.com>
3525
3526 * hasht.el (hash-length):
3527            (hash-size): Changed these 2 functions to return size of the
3528     hash-table structure rather than number of elements.
3529            (hash-count): Added this to return number of elements in hash-table.
3530
3531 * br-clos-ft.el (clos-element-tag-list): Renamed from `clos-element-tag' and
3532     changed to return a list of tags since one method definition may
3533     generate features in many classes.
3534
3535 * hasht.el (hash-copy):      Added to copy first level of a hash table.
3536            (hash-deep-copy): Added to copy all levels of a hash table.
3537     Redesigned internal data structure so can tell hash tables from
3538     vectors, so that copy routines know how to copy symbol values from the
3539     hash table obarray.
3540
3541 Sun Feb 26 17:03:37 1995  Bob Weiner  <weiner@beopen.com>
3542
3543 * man/oo-browser.texi (Browsing Implementors): 
3544                 (Browsing Elements): Added these two sections.
3545
3546 Sat Feb 25 12:10:29 1995  Bob Weiner  <weiner@beopen.com>
3547
3548 * br.el (br-find): Added support for CLOS element lookup.
3549
3550 * br-objc-ft.el (objc-feature-signature-to-name): Fixed bug that prevented
3551     class name from being included when with-class option is given.
3552
3553 * br-init.el (br-skip-dir-regexps): Added skip of SCCS subdirectories and
3554     made this a user variable.
3555
3556 * Makefile: Changed so that elc target just rebuilds out of date elc
3557   files, not all elc files.  all-elc now does that.
3558
3559 Fri Feb 24 17:19:37 1995  Bob Weiner  <weiner@beopen.com>
3560
3561 * br-compl.el (br-buffer-menu): Rewrote to handle case where filename is
3562     stripped from path listed under File section in Buffer-menu.  Use
3563     buffer names instead.  Slower, but correct in more cases.
3564
3565 Thu Feb 23 10:51:53 1995  Bob Weiner  <weiner@beopen.com>
3566
3567 * man/oo-browser.texi (Glossary): Added a number of OO terms.
3568
3569 * br-ftr.el (br-feature-get-signature): Changed to return nil when no
3570     feature signature is found, instead of "".
3571
3572 * br.el (br-this-level-features): Modified to list features only, not classes.
3573
3574 * br.el (br-implementors): 
3575   br-c++-ft.el (c++-feature-implementors): 
3576   br-clos-ft.el (clos-feature-implementors): 
3577   br-objc-ft.el (objc-feature-implementors): Changed to support browsing
3578     implementor feature from each class.
3579
3580 * br-objc-ft.el (objc-feature-implementors): 
3581                 (objc-feature-matches): Fixed these functions so that
3582     br-implementors works properly for Objective-C.
3583
3584 Wed Feb 22 14:31:55 1995  Bob Weiner  <weiner@beopen.com>
3585
3586 * br-lib.el (br-build-lib-htable): Added (run-hooks 'br-after-build-lib-hook).
3587             (br-build-sys-htable): Added (run-hooks 'br-after-build-sys-hook).
3588     This allows language-specific actions which add to library and system
3589     classes after the source code has been scanned, e.g. to add categories
3590     as classes.
3591   br-clos-ft.el:  Used above hook to add element category classes to system
3592     classes, since the elements in these classes change as the system
3593     evolves.
3594
3595 Tue Feb 21 14:38:47 1995  Bob Weiner  <weiner@beopen.com>
3596
3597 * br-tree.el
3598   man/oo-browser.texi
3599   br-help
3600   br.el (br-mode-map): Renamed `br-tree-routines-toggle' to
3601     `br-tree-features-toggle' and moved key binding from {M-r} to {M-f}.
3602     Renamed `br-show-routines' to `br-show-features'.
3603
3604 * *.el: Changed all -ftr- to -feature-.
3605 * br*[fr]t.el: Clarified many symbol names within these files.
3606
3607 * br-clos-ft.el
3608   br-clos-rt.el: Added these 2 files to support feature browsing in CLOS
3609     and BWlib, my own object system which looks like CLOS.
3610
3611 Fri Feb 17 00:12:37 1995  Bob Weiner  <weiner@beopen.com>
3612
3613 * br-objc-rt.el (objc-scan-routines-in-class): 
3614 * br-c++-rt.el  (c++-scan-routines-in-class): Fixed bug that failed to save
3615     normalized form of routine for return.
3616
3617 Mon Feb 13 11:18:46 1995  Bob Weiner  <weiner@beopen.com>
3618
3619 * br-init.el (br-after-term-init): Don't load `br-menu' under tty InfoDock.
3620
3621 Sun Feb 12 16:09:29 1995  Bob Weiner  <weiner@beopen.com>
3622
3623 * br-clos.el (clos-src-file-regexp): Updated to scan .el files, so
3624     will-read CLOS-like definitions in Emacs Lisp code.  Normal CLOS code
3625     directories will not contain any such code, so will not be affected.
3626
3627 Thu Feb  9 13:19:38 1995  Bob Weiner  <weiner@beopen.com>
3628
3629 * hasht.el (hash-make): Modified to accept an integer as the first
3630     argument, meaning create an empty hash table with that minimum size.
3631
3632 Mon Jan  9 12:00:40 1995  Bob Weiner  <weiner@beopen.com>
3633
3634 * br-c++.el (c++-in-c-comment-p):
3635             (c++-to-comments-begin): Fixed to avoid treating //*** comments
3636     as multi-line comments.
3637
3638 * br-env.el (br-env-copy): Changed `intern-soft' to `intern' to avert bug
3639     that appears when try to set an as yet undefined symbol.
3640
3641 Tue Jan  3 16:49:44 1995  Bob Weiner  <weiner@beopen.com>
3642
3643 * br-c++.el (c++-src-file-regexp): Modified to handle .cpp and .hpp
3644     suffixes used by someone on OS/2.
3645
3646 Wed Dec 21 16:30:27 1994  Bob Weiner  <weiner@beopen.com>
3647
3648 * br-mouse.el
3649   MAKE-DIST
3650   br-load.lsp:  Removed these files which are no longer needed.
3651
3652 * BR-README: Added install directive which autoloads br-env-browse, so can
3653     be used to initialize the OO-Browser.
3654 * br-init.el (br-after-term-init2): Added autoload of br-env-browse and
3655     add of oo-browser/hypb/ directory to load-path when full Hyperbole
3656     system is not available.
3657
3658 Fri Dec 16 19:15:51 1994  Bob Weiner  <weiner@beopen.com>
3659
3660 * br-env.el (br-env-browse): Added this function to invoke the appropriate
3661     language OO-Browser given an Environment as an argument.  This can be
3662     used to support OO-Browser invocation by mouse clicking on Env file
3663     names.
3664
3665 Fri Dec 16 19:58:24 1994  Bob Weiner  <weiner@beopen.com>
3666
3667 * br-init.el (br-after-term-init2): Changed so menus are only loaded under
3668     XEmacs-based InfoDock.
3669
3670 Thu Dec 15 22:26:15 1994  Bob Weiner  <weiner@beopen.com>
3671
3672 * tree-x/intf.c: Added (XtPointer) coercions for 4th arg of XtAddCallback
3673     calls to suppress compiler warnings.
3674
3675 * br-objc-ft.el (objc-func-args-regexp): 
3676                 (objc-func-args-string): 
3677   br-c++-ft.el  (c++-func-args-regexp): 
3678                 (c++-func-args-string): Fixed replacement of spaces so that
3679     clicking on a declaration in a .h file jumps to the associated
3680     definition in a source file.
3681
3682 Thu Dec 15 12:37:31 1994  Bob Weiner  <weiner@beopen.com>
3683
3684 * tree-x/intf.c: Rewrote to handle X displays of varying sizes.
3685
3686 * br-objc-ft.el (objc-feature-def-pat): 
3687   br-c++-ft.el  (c++-feature-def-pat): Rewrote to simplify and to eliminate
3688     call to read-from-string, which may be unreliable in this usage.
3689
3690 * tree-x/input.c (GetNextToken): Changed `char c' to `int c', otherwise,
3691     cannot detect EOF and all possible chars.
3692
3693 Fri Dec  9 18:05:50 1994  Bob Weiner  <weiner@beopen.com>
3694
3695 * br-objc-rt.el (objc-routine-normalize): Rewrote to reduce strings of
3696     spaces to one space.
3697                 (objc-ftr-def-pat): For each space, match to 0 or more
3698     spaces.
3699
3700 * br-c++-rt.el  (c++-routine-normalize): Rewrote to reduce strings of
3701     spaces to one space.
3702                 (c++-ftr-def-pat):  For each space, match to 0 or more
3703     spaces.  Also modified to match to routines which have
3704     a // comment following each argument, e.g.
3705     UI_EnmField::Fill_internal
3706     (
3707       Field_value__front_end_internal * field_msg,  // Data area to read from
3708       int                             & amount_taken   // Amount we read
3709     )
3710   {
3711   }
3712
3713 * br-env.el (br-env-force-load): Fixed paren bug which caused use of wrong
3714     file name for Envir when default was accepted.
3715
3716 Thu Dec  1 13:44:25 1994  Bob Weiner  <weiner@beopen.com>
3717
3718 * br.el: br-listing-window-p
3719          br-non-listing-window-p - Added these predicate macros to centralize
3720    testing for browser window types.
3721
3722 * br.el: Modified handling of br-in-browser variable to account for FSF Emacs
3723     19 and XEmacs multi-frame capabilities.
3724 * br-init.el: Added conditional definition for selected-frame.
3725
3726 * BR-README: Updated installation and build directions.
3727 * Makefile:  Added HYPERBOLE mouse support file dependencies and changed
3728     `dist' target so it actually produces a standalone tar file
3729     distribution of the OO-Browser.
3730
3731 ==============================================================================
3732 * V2.8 changes ^^^^:
3733 ==============================================================================
3734
3735 Mon Oct 24 21:28:09 1994  Bob Weiner  <weiner@beopen.com>
3736
3737 * Makefile: Added for automated building of the OO-Browser.  See the
3738     documentation at the top of this file for instructions on usage.
3739
3740 Sun Oct 23 20:28:37 1994  Bob Weiner  <weiner@beopen.com>
3741
3742 * br-lib.el (br-relative-path): Added so that relative pathnames do not
3743     come out longer than absolute ones.
3744
3745 Sun Oct 23 15:45:28 1994  Bob Weiner  <weiner@beopen.com>
3746
3747 * man/br-user.texi: Renamed to oo-browser.texi, along with oo-browser.info.
3748
3749 Thu Oct 20 15:47:15 1994  Bob Weiner  <weiner@beopen.com>
3750
3751 * br-env.el (br-env-select-lang): Added popup-dialog box for language
3752     selection under XEmacs when command is invoked via the mouse.
3753
3754 Wed Oct 19 18:21:45 1994  Bob Weiner  <weiner@beopen.com>
3755
3756 * br-env.el (br-env-lang-var): Changed Environment file name from:
3757     (concat br-env-dir ".br-" lang-prefix "env")
3758     to "OOBR".
3759             (br-env-default-file): Added to compute default Env file.
3760     Modified other br-env.el functions to use this function.
3761
3762 * br-ftr.el (br-ftr-tags-init): Changed br-ftr-tags-file from using "-m"
3763     suffix to using "-FTR" suffix.
3764
3765 Wed Sep 21 14:52:39 1994  Bob Weiner  <weiner@beopen.com>
3766
3767 * br-ftr.el (br-ftr-found-p): Fixed bug that could cause return value of
3768     nil when feature was found and source file of feature definition was
3769     read from disk the first time.
3770
3771 Wed Sep 21 11:45:26 1994  Bob Weiner  <weiner@beopen.com>
3772
3773 * br.el (br-mode): Added (run-hooks 'br-mode-hook).
3774
3775 Wed Mar 30 21:07:37 1994  Bob Weiner  <weiner@beopen.com>
3776
3777 * br.el (br-feature): Fixed to trigger an error if can't find match within
3778     source code for a feature declaration tag.
3779
3780 * br.el (br-to-view-window): Fixed to set *br-prev-class-window*.
3781         (br-to-from-viewer): Fixed to move to some other window even if 
3782     *br-prev-class-window* is not set.
3783
3784 * br-ftr.el (br-ftr-current): Fixed bug that removed routine signature
3785     information which followed the parameter list, e.g. function() const.
3786
3787 * br-lib.el (br-real-delete-class): Fixed bug in call to hash-replace.
3788             (br-major-mode): Added and replaced calls to br-lang-mode with
3789     this, which only sets the mode if it is not set already.
3790
3791 * c++-browse.el (c++-browse-setup): Added conditional for cc-mode, new
3792     name for C++ mode under Emacs.
3793
3794 Thu Aug 19 21:05:00 1993  Bob Weiner  <weiner@beopen.com>
3795
3796 * br-lib.el:   Fixed `br-real-build-alists-br' to not erase routine tags file
3797     when called.  This would lead to an empty routine file if sys paths had
3798     methods but lib paths was built after and it did not have methods.
3799   br-env.el:   Updated `br-env-build' to delete br-ftr-tags-file and its
3800     buffer before doing build since is no longer done in `br-real-build-alist-br'.
3801
3802 Sat Apr 24 15:29:46 1993  Bob Weiner  <weiner@beopen.com>
3803
3804 *  br-xbr.el:  Renamed to br-tree.el.
3805    xbr:        Renamed to tree-x
3806    tree-nx:    Added for NEXTSTEP graphical browsing.
3807
3808 Fri Apr 23 12:34:32 1993  Bob Weiner  <weiner@beopen.com>
3809
3810 *  br-init.el, br-lib.el: Added `br-skip-dir-regexps' to make list of
3811    directories skipped by browser file scans programmable.
3812
3813 Sat May  4 07:02:58 1991  Bob Weiner  <weiner@beopen.com>
3814
3815 *  br-lib.el, br-eif.el: Added
3816      (let ((inhibit-local-variables nil))
3817    to prevent setting from prompting user when files are read in.
3818
3819 Mon Dec 24 07:21:37 1990  Bob Weiner  <weiner@beopen.com>
3820
3821 * br.el:  Modified (br-help) to remove local keymap so normal movement
3822            commands work within help buffers.
3823
3824 ==============================================================================
3825 V2.6 changes ^^^^:
3826 ==============================================================================
3827
3828 Thu Dec 20 19:04:32 1990  Bob Weiner  <weiner@beopen.com>
3829
3830 ** br.el, br-lib.el, br-init.el:  Added full support for use of non-Emacs
3831       browser viewers and editors.  All such tools are handled as
3832       sub-processes, so they can be kill off through the Emacs interface if
3833       desired.
3834
3835 ** br.el: Added (br-toggle-keep-viewed) bound to {C-c v} to keep/not keep
3836      all viewed buffers in memory.  Default is to keep only last one.
3837
3838 ** br.el: Modified (br-match) so it allows repeated filtering of class lists to
3839    hone in on desired classes.
3840
3841 ** br-xtree.el:  Renamed to br-xbr.el.
3842
3843 Wed Dec 19 15:24:55 1990  Bob Weiner  <weiner@beopen.com>
3844
3845 ** br-xtree.el:  Added support for multiple simultaneous xtree browsing
3846      sessions and optimized context time maximally when outside of
3847      OO-Browser UI and pretty well when in UI (just have to sort
3848      classes in order to display).
3849
3850 Mon Dec 17 01:16:49 1990  Bob Weiner  <weiner@beopen.com>
3851
3852 ** br.el:  Added {H} (br-help-ms) command to display mouse help.
3853    br-lib.el: Added `br-keep-viewed-classes' flag which if nil
3854      deletes each class file as a new one is viewed.  By default, is nil.
3855      t value leaves viewed classes around for further manipulation.
3856
3857 Wed Oct 17 22:12:00 1990  Bob Weiner  <weiner@beopen.com>
3858
3859 ** br.el:  Improved ordering of large class lists by using UNIX "sort".
3860
3861 Mon Oct 15 01:26:56 1990  Bob Weiner  <weiner@beopen.com>
3862
3863 ** eif-calls.el:  br-info-class did not work since `eif-try-for-routine-call'
3864      used the wrong parameters for string matching.  Fixed.
3865
3866 Sat Oct  6 15:12:36 1990  Bob Weiner  <weiner@beopen.com>
3867
3868 ** br-eif-ft.el:  Created this file.  Allows selection of a feature name in a
3869      class export clause and moves point to feature definition if within the
3870      same source file.  Also goes to class def when class name is selected.
3871
3872 Mon Oct  1 18:13:46 1990  Bob Weiner  <weiner@beopen.com>
3873
3874 ** hash.el: Removed sorting of value elements in `hash-make' function.
3875    br-eif.el: Sorted class list elements in `eif-real-build-paths-alist'.
3876    br-lib.el: Removed list reversal from `br-real-build-parents-alist'
3877      and `br-real-build-alists-br'.
3878      Sorted each set of classes in path list construction in
3879      `br-real-build-al'.
3880    These changes fixed display of parents so that they are listed in the same
3881      order as they are in the source file.
3882
3883 ** br-env.el: Eliminated use of `br-use-children-htable'; now assume always
3884      true. This option added virtually no value.
3885
3886 Wed Sep 26 14:07:34 1990  Bob Weiner  <weiner@beopen.com>
3887
3888 ** br.el: Fixed `br-narrow-to-class' to work with info-browse class names.
3889           Added error handling into `br-view' for when class which is
3890           referenced but not defined in environment is selected.
3891
3892 ** br-env.el:  Modified `br-env-set-htables' function to add class
3893      names that are referenced but not defined into the library part of the
3894      environment.
3895
3896 Tue Sep 25 13:22:57 1990  Bob Weiner  <weiner@beopen.com>
3897
3898 ** br-c++-ft.el:  Added `c++-include-dirs' variable used to set extra include
3899      directories to search.
3900
3901 ** br-c++-ft.el:  Created this file.  Allows selection of a class declaration
3902      within a class definition and moves point to member definition if within a
3903      file in the same directory.  Handles overloading but not inherited members
3904      yet.  Also goes to class def when class name is selected.
3905
3906 ** br-info.el:
3907    info-brows.el:  Added these two files, allows hierarchical browsing,
3908      searching of sets of Info manuals.
3909
3910 **  br-lib.el:
3911     br.el:      Modified `br-view' and `br-find-class' slightly to accomodate
3912       special needs of the Info browser.
3913
3914 ** br-clos.el:
3915    clos-brows.el:
3916    br-smt.el
3917    smt-browse.el:  Tested and added CLOS and Smalltalk browser support.
3918
3919 Fri Sep 21 00:26:17 1990  Bob Weiner  <weiner@beopen.com>
3920
3921 ** br.el:  Stored current window line in `*br-level-hist*' in order to make
3922     `br-exit-level' position all lines in buffer exited to, exactly as they
3923     were before.
3924
3925 ** br.el:  Switched default at browser startup `br-browse' and when refresh
3926      screen `br-refresh' or rebuild environments `br-sys-rebuild' and
3927     `br-lib-rebuild' to display all classes rather than just the top-level
3928     classes as they did before.  This prevents novice confusion over where his
3929     classes are and allows easier access to all users.
3930
3931 Tue Sep 18 16:37:59 1990  Bob Weiner  <weiner@beopen.com>
3932
3933 ** br-c++.el:  Fixed def of `c++-identifier' to allow `~' as first identifier
3934      character to account for destructor functions.
3935
3936 ** br.el:  Added `br-interrupt' function.  Is used by `br-quit' and
3937      `br-view-full-screen' to bury all browser buffers. 
3938
3939 Fri Sep 14 03:04:31 1990  Bob Weiner  <weiner@beopen.com>
3940
3941 ** br-c++.el:  Kept from matching translated C source files that end in ..[cC].
3942
3943 ** br-init.el:  Made browser Lisp files autoload when needed, so eliminated
3944      conditional flags which enabled each language, e.g. `br-use-eif'.
3945      Put browser invocation key bindings at top of file so user can easily
3946      change them.
3947
3948 Mon Sep  3 16:32:16 1990  Bob Weiner  <weiner@beopen.com>
3949
3950 ** br-mouse.el:  Modified `smart-br' to display browser help when a blank class
3951      listing buffer is clicked in.
3952      Added `smart-br-cmd-select' function.  Make note in user manual that
3953      messages will disappear from minibuffer once release the mouse button
3954      under some window systems, to see message, simply hold the button down
3955      until you have read the message.
3956
3957 ** br-init.el: Changed `br-mouse-setup' to use `smart-key-mouse' rather than
3958      `smart-key' under SunView and Apollo DM.
3959
3960 ** br.el: Changed `br-help' function so that it uses `br-mode' as the major
3961      mode for the browser help buffer.  This is necessary to support the direct
3962      selection of commands from the help buffer.
3963
3964 Sat Sep  1 19:49:25 1990  Bob Weiner  <weiner@beopen.com>
3965
3966 ** br.el: Made `br-mode' function interactive.
3967
3968 Thu Aug 30 23:41:02 1990  Bob Weiner  <weiner@beopen.com>
3969
3970 ** br-mouse.el: Fixed so would work properly with X windows.  Changed
3971      `smart-key' and `smart-key-meta' so they take a single optional arg
3972      list rather than individual args that end up grouped into a list.
3973      This works better for X and is unused by most other window systems.
3974
3975 ** br-init.el: Made setup of mouse control of browser automatic for X,
3976      SunView and Apollo DM.
3977
3978
3979
3980 * Changes for version 1.2.4
3981
3982 Wed Aug 29 18:03:12 1990  Bob Weiner <weiner@beopen.com>
3983
3984 ** Fixed problem with `br-add-class-file' in "br.el" that set
3985      children-htable values improperly.
3986
3987
3988 Thu Aug 16 03:31:54 1990  Bob Weiner  <weiner@beopen.com>
3989
3990 ** Modified `br-find-class' in "br-lib.el" in the case when
3991     `br-narrow-view-to-class' is set to nil.  Previously, it just moved
3992     point to the beginning of the file in which the desired class was found.
3993     Now places point at the start of the class.
3994
3995 ** Changed default value of `<lang>-narrow-view-to-class' to nil for all
3996      languages.
3997
3998
3999 * Changes for version 1.2.3
4000
4001 Mon Aug  6 00:58:29 1990  Bob Weiner  <weiner@beopen.com>
4002
4003 ** Changed all filenames to be 14 or fewer chars.
4004
4005
4006 * Changes for version 1.2.2, from 1.2.1
4007
4008 Wed Jul 25 1990  Bob Weiner    <weiner@beopen.com>
4009
4010 ** Fixed `br-where' bound to {w} in "br.el" so when called with a prefix
4011      argument, displays class path properly.
4012
4013 ** Added (require 'compile) to "eif-ise-er.el" so that key definition in
4014      compile would not override eif-ise-er definition of {C-x `} when library
4015      was autoloaded.  Without this change, error parsing failed the first time
4016      it was invoked in each Emacs session.
4017
4018 ** Added `eiffel-find-feature' and `eif-find-feature' to "br-eif.el".  Not yet
4019      bound to keys, more work must be done in order to do this.
4020
4021 ** Changed get parents code in Eiffel to support comments between class
4022      names in `inherit' clause (also changed `eif-parent-regexp' for same
4023      reason).
4024
4025