emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] xwidget_mvp 92ad569 1/4: Merge remote-tracking branch 'ori


From: Joakim Verona
Subject: [Emacs-diffs] xwidget_mvp 92ad569 1/4: Merge remote-tracking branch 'origin/master' into xwidget_mvp
Date: Mon, 25 May 2015 15:31:35 +0000

branch: xwidget_mvp
commit 92ad569dce80bfa0d587f5191265c6ea96064120
Merge: e6f6513 ca6a777
Author: Joakim Verona <address@hidden>
Commit: Joakim Verona <address@hidden>

    Merge remote-tracking branch 'origin/master' into xwidget_mvp
---
 etc/NEWS                         |    3 +-
 lisp/emacs-lisp/cl-generic.el    |   50 +-
 lisp/emacs-lisp/cl-lib.el        |    7 +-
 lisp/emacs-lisp/cl-seq.el        |    2 +
 lisp/emacs-lisp/ert.el           |    4 +-
 lisp/emacs-lisp/generator.el     |    2 +-
 lisp/emacs-lisp/seq.el           |    2 +-
 lisp/loadup.el                   |    1 +
 lisp/progmodes/verilog-mode.el   |  282 ++-
 lisp/vc/ediff-util.el            |    2 +
 src/Makefile.in                  |    2 +
 src/gtkutil.c                    |   90 +-
 src/lisp.mk                      |    1 +
 src/window.c                     |    6 +-
 src/xterm.c                      |    9 +-
 test/etags/CTAGS.good            | 1487 +------------
 test/etags/ETAGS.good_1          | 1072 +--------
 test/etags/ETAGS.good_2          | 1672 +-------------
 test/etags/ETAGS.good_3          | 1581 +------------
 test/etags/ETAGS.good_4          | 1072 +--------
 test/etags/ETAGS.good_5          | 2181 +-----------------
 test/etags/Makefile              |   10 +-
 test/etags/cp-src/Pctest.h       |   99 -
 test/etags/cp-src/abstract.C     | 4840 --------------------------------------
 test/etags/cp-src/abstract.H     |  993 --------
 test/etags/cp-src/cfront.H       |  836 -------
 test/etags/erl-src/lines.erl     |  297 ---
 test/etags/erl-src/lists.erl.gz  |  Bin 2667 -> 0 bytes
 test/etags/java-src/AWTEMul.java |  658 ------
 test/etags/java-src/KeyEve.java  |  440 ----
 test/etags/java-src/SMan.java    |  848 -------
 test/etags/java-src/SysCol.java  |  381 ---
 test/etags/java-src/TG.java      |  840 -------
 test/etags/perl-src/mirror.pl    | 4149 --------------------------------
 34 files changed, 522 insertions(+), 23397 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index 3f907db..2888c16 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -554,7 +554,8 @@ and comments.
 ** VC and related modes
 
 *** Basic push support, via `vc-push', bound to `C-x v P'.
-Implemented for Bzr, Git, Hg.
+Implemented for Bzr, Git, Hg.  As part of this change, the pre-existing
+(undocumented) command vc-hg-push now behaves slightly differently.
 
 *** The new command vc-region-history shows the log+diff of the active region.
 
diff --git a/lisp/emacs-lisp/cl-generic.el b/lisp/emacs-lisp/cl-generic.el
index f6595d3..a2716ef 100644
--- a/lisp/emacs-lisp/cl-generic.el
+++ b/lisp/emacs-lisp/cl-generic.el
@@ -438,7 +438,16 @@ which case this method will be invoked when the argument 
is `eql' to VAL.
           ;; the generic function.
           current-load-list)
       ;; For aliases, cl--generic-name gives us the actual name.
-      (defalias (cl--generic-name generic) gfun))))
+      (funcall
+       (if purify-flag
+           ;; BEWARE!  Don't purify this function definition, since that leads
+           ;; to memory corruption if the hash-tables it holds are modified
+           ;; (the GC doesn't trace those pointers).
+           #'fset
+         ;; But do use `defalias' in the normal case, so that it interacts
+         ;; properly with nadvice, e.g. for tracing/debug-on-entry.
+         #'defalias)
+       (cl--generic-name generic) gfun))))
 
 (defmacro cl--generic-with-memoization (place &rest code)
   (declare (indent 1) (debug t))
@@ -696,6 +705,25 @@ methods.")
   (if (eq specializer t) (list cl--generic-t-generalizer)
     (error "Unknown specializer %S" specializer)))
 
+(defmacro cl--generic-prefill-dispatchers (arg-or-context specializer)
+  (unless (integerp arg-or-context)
+    (setq arg-or-context `(&context . ,arg-or-context)))
+  (unless (fboundp 'cl--generic-get-dispatcher)
+    (require 'cl-generic))
+  (let ((fun (cl--generic-get-dispatcher
+              `(,arg-or-context ,@(cl-generic-generalizers specializer)
+                                ,cl--generic-t-generalizer))))
+    ;; Recompute dispatch at run-time, since the generalizers may be slightly
+    ;; different (e.g. byte-compiled rather than interpreted).
+    ;; FIXME: There is a risk that the run-time generalizer is not equivalent
+    ;; to the compile-time one, in which case `fun' may not be correct
+    ;; any more!
+    `(let ((dispatch `(,',arg-or-context
+                       ,@(cl-generic-generalizers ',specializer)
+                       ,cl--generic-t-generalizer)))
+       ;; (message "Prefilling for %S with \n%S" dispatch ',fun)
+       (puthash dispatch ',fun cl--generic-dispatchers))))
+
 (cl-defmethod cl-generic-combine-methods (generic methods)
   "Standard support for :after, :before, :around, and `:extra NAME' 
qualifiers."
   (cl--generic-standard-method-combination generic methods))
@@ -869,17 +897,6 @@ Can only be used from within the lexical body of a primary 
or around method."
    80 (lambda (name) `(gethash (car-safe ,name) cl--generic-head-used))
    (lambda (tag) (if (eq (car-safe tag) 'head) (list tag)))))
 
-;; Pre-fill the cl--generic-dispatchers table.
-;; We have two copies of `(0 ...)' but we can't share them via `let' because
-;; they're not used at the same time (one is compile-time, one is run-time).
-(puthash `(0 ,cl--generic-head-generalizer ,cl--generic-t-generalizer)
-         (eval-when-compile
-           (unless (fboundp 'cl--generic-get-dispatcher)
-             (require 'cl-generic))
-           (cl--generic-get-dispatcher
-            `(0 ,cl--generic-head-generalizer ,cl--generic-t-generalizer)))
-         cl--generic-dispatchers)
-
 (cl-defmethod cl-generic-generalizers :extra "head" (specializer)
   "Support for the `(head VAL)' specializers."
   ;; We have to implement `head' here using the :extra qualifier,
@@ -890,6 +907,8 @@ Can only be used from within the lexical body of a primary 
or around method."
         (gethash (cadr specializer) cl--generic-head-used) specializer)
     (list cl--generic-head-generalizer)))
 
+(cl--generic-prefill-dispatchers 0 (head eql))
+
 ;;; Support for (eql <val>) specializers.
 
 (defvar cl--generic-eql-used (make-hash-table :test #'eql))
@@ -904,6 +923,9 @@ Can only be used from within the lexical body of a primary 
or around method."
   (puthash (cadr specializer) specializer cl--generic-eql-used)
   (list cl--generic-eql-generalizer))
 
+(cl--generic-prefill-dispatchers 0 (eql nil))
+(cl--generic-prefill-dispatchers window-system (eql nil))
+
 ;;; Support for cl-defstructs specializers.
 
 (defun cl--generic-struct-tag (name)
@@ -960,6 +982,8 @@ Can only be used from within the lexical body of a primary 
or around method."
             (list cl--generic-struct-generalizer))))
    (cl-call-next-method)))
 
+(cl--generic-prefill-dispatchers 0 cl--generic-generalizer)
+
 ;;; Dispatch on "system types".
 
 (defconst cl--generic-typeof-types
@@ -998,6 +1022,8 @@ Can only be used from within the lexical body of a primary 
or around method."
           (list cl--generic-typeof-generalizer)))
    (cl-call-next-method)))
 
+(cl--generic-prefill-dispatchers 0 integer)
+
 ;; Local variables:
 ;; generated-autoload-file: "cl-loaddefs.el"
 ;; End:
diff --git a/lisp/emacs-lisp/cl-lib.el b/lisp/emacs-lisp/cl-lib.el
index 6b43c12..b6f3a79 100644
--- a/lisp/emacs-lisp/cl-lib.el
+++ b/lisp/emacs-lisp/cl-lib.el
@@ -731,9 +731,10 @@ If ALIST is non-nil, the new pairs are prepended to it."
 ;;; Miscellaneous.
 
 (provide 'cl-lib)
-(or (load "cl-loaddefs" 'noerror 'quiet)
-    ;; When bootstrapping, cl-loaddefs hasn't been built yet!
-    (require 'cl-macs))
+(unless (load "cl-loaddefs" 'noerror 'quiet)
+  ;; When bootstrapping, cl-loaddefs hasn't been built yet!
+  (require 'cl-macs)
+  (require 'cl-seq))
 
 ;; Local variables:
 ;; byte-compile-dynamic: t
diff --git a/lisp/emacs-lisp/cl-seq.el b/lisp/emacs-lisp/cl-seq.el
index 5624acc..3aea67a 100644
--- a/lisp/emacs-lisp/cl-seq.el
+++ b/lisp/emacs-lisp/cl-seq.el
@@ -1018,4 +1018,6 @@ Atoms are compared by `eql'; cons cells are compared 
recursively.
 ;; generated-autoload-file: "cl-loaddefs.el"
 ;; End:
 
+(provide 'cl-seq)
+
 ;;; cl-seq.el ends here
diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el
index 8dc8261..b678e12 100644
--- a/lisp/emacs-lisp/ert.el
+++ b/lisp/emacs-lisp/ert.el
@@ -2537,7 +2537,7 @@ To be used in the ERT results buffer."
 (add-to-list 'minor-mode-alist '(ert--current-run-stats
                                  (:eval
                                   (ert--tests-running-mode-line-indicator))))
-(add-to-list 'emacs-lisp-mode-hook 'ert--activate-font-lock-keywords)
+(add-hook 'emacs-lisp-mode-hook #'ert--activate-font-lock-keywords)
 
 (defun ert--unload-function ()
   "Unload function to undo the side-effects of loading ert.el."
@@ -2548,7 +2548,7 @@ To be used in the ERT results buffer."
   nil)
 
 (defvar ert-unload-hook '())
-(add-hook 'ert-unload-hook 'ert--unload-function)
+(add-hook 'ert-unload-hook #'ert--unload-function)
 
 
 (provide 'ert)
diff --git a/lisp/emacs-lisp/generator.el b/lisp/emacs-lisp/generator.el
index 8251682..65def39 100644
--- a/lisp/emacs-lisp/generator.el
+++ b/lisp/emacs-lisp/generator.el
@@ -90,7 +90,7 @@
   ;; Change this function to use `cl-gensym' if you want the generated
   ;; code to be easier to read and debug.
   ;; (cl-gensym (apply #'format fmt args))
-  `(make-symbol ,fmt))
+  `(make-symbol (format ,fmt . ,args)))
 
 (defvar cps--dynamic-wrappers '(identity)
   "List of transformer functions to apply to atomic forms we
diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el
index 5553de6..0aa0f09 100644
--- a/lisp/emacs-lisp/seq.el
+++ b/lisp/emacs-lisp/seq.el
@@ -442,7 +442,7 @@ If no element is found, return nil."
 (unless (fboundp 'elisp--font-lock-flush-elisp-buffers)
   ;; In Emacsā‰„25, (via elisp--font-lock-flush-elisp-buffers and a few others)
   ;; we automatically highlight macros.
-  (add-to-list 'emacs-lisp-mode-hook #'seq--activate-font-lock-keywords))
+  (add-hook 'emacs-lisp-mode-hook #'seq--activate-font-lock-keywords))
 
 (provide 'seq)
 ;;; seq.el ends here
diff --git a/lisp/loadup.el b/lisp/loadup.el
index 0746f95..828b19e 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -193,6 +193,7 @@
 (load "language/cham")
 
 (load "indent")
+(load "emacs-lisp/cl-generic")
 (load "frame")
 (load "startup")
 (load "term/tty-colors")
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el
index 5720654..a1ad49e 100644
--- a/lisp/progmodes/verilog-mode.el
+++ b/lisp/progmodes/verilog-mode.el
@@ -123,7 +123,7 @@
 ;;; Code:
 
 ;; This variable will always hold the version number of the mode
-(defconst verilog-mode-version "2015-02-20-0d6420b-vpo"
+(defconst verilog-mode-version "2015-05-14-6232468-vpo-GNU"
   "Version of this Verilog mode.")
 (defconst verilog-mode-release-emacs t
   "If non-nil, this version of Verilog mode was released with Emacs itself.")
@@ -282,6 +282,50 @@ STRING should be given if the last search was by 
`string-match' on STRING."
     ;; Emacs.
     (defalias 'verilog-regexp-opt 'regexp-opt)))
 
+;; emacs >=22 has looking-back, but older emacs and xemacs don't.
+;; This function is lifted directly from emacs's subr.el
+;; so that it can be used by xemacs.
+;; The idea for this was borrowed from org-mode via this link:
+;; https://lists.gnu.org/archive/html/emacs-orgmode/2009-12/msg00032.html
+(eval-and-compile
+  (cond
+   ((fboundp 'looking-back)
+    (defalias 'verilog-looking-back 'looking-back))
+   (t
+    (defun verilog-looking-back (regexp limit &optional greedy)
+      "Return non-nil if text before point matches regular expression REGEXP.
+Like `looking-at' except matches before point, and is slower.
+LIMIT if non-nil speeds up the search by specifying a minimum
+starting position, to avoid checking matches that would start
+before LIMIT.
+
+If GREEDY is non-nil, extend the match backwards as far as
+possible, stopping when a single additional previous character
+cannot be part of a match for REGEXP.  When the match is
+extended, its starting position is allowed to occur before
+LIMIT.
+
+As a general recommendation, try to avoid using `looking-back'
+wherever possible, since it is slow."
+   (let ((start (point))
+         (pos
+          (save-excursion
+            (and (re-search-backward (concat "\\(?:" regexp "\\)\\=") limit t)
+                 (point)))))
+     (if (and greedy pos)
+         (save-restriction
+           (narrow-to-region (point-min) start)
+           (while (and (> pos (point-min))
+                       (save-excursion
+                         (goto-char pos)
+                         (backward-char 1)
+                         (looking-at (concat "\\(?:"  regexp "\\)\\'"))))
+             (setq pos (1- pos)))
+           (save-excursion
+             (goto-char pos)
+             (looking-at (concat "\\(?:"  regexp "\\)\\'")))))
+     (not (null pos)))))))
+
 (eval-and-compile
   ;; Both xemacs and emacs
   (condition-case nil
@@ -662,9 +706,10 @@ to see the effect as font color choices are cached by 
Emacs."
 
 (defcustom verilog-highlight-grouping-keywords nil
   "Non-nil means highlight grouping keywords more dramatically.
-If false, these words are in the `font-lock-type-face'; if True then they are 
in
-`verilog-font-lock-ams-face'.  Some find that special highlighting on these
-grouping constructs allow the structure of the code to be understood at a 
glance."
+If false, these words are in the `font-lock-type-face'; if True
+then they are in `verilog-font-lock-grouping-keywords-face'.
+Some find that special highlighting on these grouping constructs
+allow the structure of the code to be understood at a glance."
   :group 'verilog-mode-indent
   :type 'boolean)
 (put 'verilog-highlight-grouping-keywords 'safe-local-variable 
'verilog-booleanp)
@@ -1880,14 +1925,22 @@ find the errors."
 (if (featurep 'xemacs) (add-hook 'compilation-mode-hook 
'verilog-error-regexp-add-xemacs))
 (if (featurep 'emacs) (add-hook 'compilation-mode-hook 
'verilog-error-regexp-add-emacs))
 
-(defconst verilog-directive-re
+(defconst verilog-compiler-directives
   (eval-when-compile
-    (verilog-regexp-words
-     '(
-   "`case" "`default" "`define" "`else" "`elsif" "`endfor" "`endif"
-   "`endprotect" "`endswitch" "`endwhile" "`for" "`format" "`if" "`ifdef"
-   "`ifndef" "`include" "`let" "`protect" "`switch" "`timescale"
-   "`time_scale" "`undef" "`while" ))))
+    '( ;; compiler directives, from IEEE 1800-2012 section 22.1
+    "`__FILE__" "`__LINE" "`begin_keywords" "`celldefine" "`default_nettype"
+    "`define" "`else" "`elsif" "`end_keywords" "`endcelldefine" "`endif"
+    "`ifdef" "`ifndef" "`include" "`line" "`nounconnected_drive" "`pragma"
+    "`resetall" "`timescale" "`unconnected_drive" "`undef" "`undefineall"
+     ;; compiler directives not covered by IEEE 1800
+     "`case" "`default" "`endfor" "`endprotect" "`endswitch" "`endwhile" "`for"
+     "`format" "`if" "`let" "`protect" "`switch" "`timescale" "`time_scale"
+     "`while"
+     ))
+  "List of Verilog compiler directives.")
+
+(defconst verilog-directive-re
+  (verilog-regexp-words verilog-compiler-directives))
 
 (defconst verilog-directive-re-1
   (concat "[ \t]*"  verilog-directive-re))
@@ -2411,11 +2464,9 @@ find the errors."
    "\\(\\<begin\\>\\)\\|"                       ; 1
    "\\(\\<else\\>\\)\\|"                        ; 2
    "\\(\\<end\\>\\s-+\\<else\\>\\)\\|"          ; 3
-   "\\(\\<always_comb\\>\\(\[ address@hidden)?\\)\\|"  ; 4
-   "\\(\\<always_ff\\>\\(\[ address@hidden)?\\)\\|"    ; 5
-   "\\(\\<always_latch\\>\\(\[ address@hidden)?\\)\\|" ; 6
+   "\\(\\<always\\(?:_ff\\)?\\>\\(?:\[ address@hidden)\\)\\|"    ; 4 (matches 
always or always_ff w/ @...)
+   "\\(\\<always\\(?:_comb\\|_latch\\)?\\>\\)\\|"  ; 5 (matches always, 
always_comb, always_latch w/o @...)
    "\\(\\<fork\\>\\)\\|"                        ; 7
-   "\\(\\<always\\>\\(\[ address@hidden)?\\)\\|"
    "\\(\\<if\\>\\)\\|"
    verilog-property-re "\\|"
    "\\(\\(" verilog-label-re "\\)?\\<assert\\>\\)\\|"
@@ -2581,10 +2632,10 @@ find the errors."
 (defconst verilog-declaration-re
   (concat "\\(" verilog-declaration-prefix-re "\\s-*\\)?" 
verilog-declaration-core-re))
 (defconst verilog-range-re "\\(\\[[^]]*\\]\\s-*\\)+")
-(defconst verilog-optional-signed-re "\\s-*\\(signed\\)?")
+(defconst verilog-optional-signed-re "\\s-*\\(\\(un\\)?signed\\)?")
 (defconst verilog-optional-signed-range-re
   (concat
-   "\\s-*\\(\\<\\(reg\\|wire\\)\\>\\s-*\\)?\\(\\<signed\\>\\s-*\\)?\\(" 
verilog-range-re "\\)?"))
+   
"\\s-*\\(\\<\\(reg\\|wire\\)\\>\\s-*\\)?\\(\\<\\(un\\)?signed\\>\\s-*\\)?\\(" 
verilog-range-re "\\)?"))
 (defconst verilog-macroexp-re "`\\sw+")
 
 (defconst verilog-delay-re 
"#\\s-*\\(\\([0-9_]+\\('s?[hdxbo][0-9a-fA-F_xz]+\\)?\\)\\|\\(([^()]*)\\)\\|\\(\\sw+\\)\\)")
@@ -2799,17 +2850,23 @@ find the errors."
      ;; from http://www.emacswiki.org/emacs/MultilineRegexp
      (concat "\\<\\(`define\\|`if\\)\\>" ;; directive
             "\\s-+" ;; separator
-            "\\(.*\\(?:\n.*\\)*?\\)" ;; definition: to tend of line, the maybe 
more lines (excludes any trailing \n)
+             "\\(?:.*?\\(?:\n.*\\)*?\\)" ;; definition: to end of line, then 
maybe more lines (excludes any trailing \n)
+            "\\(?:\n\\s-*\n\\|\\'\\)") ;; blank line or EOF
+     "\\)\\|\\(?:"
+     ;; `<macro>() : i.e. `uvm_info(a,b,c) or any other pre-defined macro
+     ;; Since parameters inside the macro can have parentheses, and
+     ;; the macro can span multiple lines, just look for the opening
+     ;; parentheses and then continue to the end of the first
+     ;; non-escaped EOL
+     (concat "\\<`\\w+\\>\\s-*("
+      "\\(?:.*?\\(?:\n.*\\)*?\\)" ;; definition: to end of line, then maybe 
more lines (excludes any trailing \n)
             "\\(?:\n\\s-*\n\\|\\'\\)") ;; blank line or EOF
      "\\)"
      )))
 
 (defconst verilog-keywords
-  '( "`case" "`default" "`define" "`else" "`endfor" "`endif"
-     "`endprotect" "`endswitch" "`endwhile" "`for" "`format" "`if" "`ifdef"
-     "`ifndef" "`include" "`let" "`protect" "`switch" "`timescale"
-     "`time_scale" "`undef" "`while"
-
+  (append verilog-compiler-directives
+   '(
      "after" "alias" "always" "always_comb" "always_ff" "always_latch" "and"
      "assert" "assign" "assume" "automatic" "before" "begin" "bind"
      "bins" "binsof" "bit" "break" "buf" "bufif0" "bufif1" "byte"
@@ -2851,7 +2908,7 @@ find the errors."
      "sync_reject_on" "unique0" "until" "until_with" "untyped" "weak"
      ;; 1800-2012
      "implements" "interconnect" "nettype" "soft"
-     )
+     ))
   "List of Verilog keywords.")
 
 (defconst verilog-comment-start-regexp "//\\|/\\*"
@@ -2955,10 +3012,10 @@ See also `verilog-font-lock-extra-types'.")
 (defface verilog-font-lock-grouping-keywords-face
   '((((class color)
       (background light))
-     (:foreground "red4" :bold t ))
+     (:foreground "Purple" :bold t ))
     (((class color)
       (background dark))
-     (:foreground "red4" :bold t ))
+     (:foreground "orange1" :bold t ))
     (t (:italic t)))
   "Font lock mode face used to highlight verilog grouping keywords."
   :group 'font-lock-highlighting-faces)
@@ -3068,7 +3125,7 @@ See also `verilog-font-lock-extra-types'.")
         ;; Fontify all types
         (if verilog-highlight-grouping-keywords
             (cons (concat "\\<\\(" verilog-font-grouping-keywords "\\)\\>")
-                  'verilog-font-lock-ams-face)
+                  'verilog-font-lock-grouping-keywords-face)
           (cons (concat "\\<\\(" verilog-font-grouping-keywords "\\)\\>")
                 'font-lock-type-face))
         (cons (concat "\\<\\(" verilog-type-font-keywords "\\)\\>")
@@ -4200,6 +4257,8 @@ Uses `verilog-scan' cache."
        (not (or
              ;; stop if beginning of buffer
              (bobp)
+             ;; stop if looking at a pre-processor directive
+             (looking-at "`\\w+")
              ;; stop if we find a ;
              (= (preceding-char) ?\;)
              ;; stop if we see a named coverpoint
@@ -4208,12 +4267,13 @@ Uses `verilog-scan' cache."
              (not (or (looking-at "\\<") (forward-word -1)))
              ;; stop if we see an assertion (perhaps labeled)
              (and
-              (looking-at 
"\\(\\<\\(assert\\|assume\\|cover\\)\\>\\s-+\\<property\\>\\)\\|\\(\\<assert\\>\\)")
+              (looking-at 
"\\(\\w+\\W*:\\W*\\)?\\(\\<\\(assert\\|assume\\|cover\\)\\>\\s-+\\<property\\>\\)\\|\\(\\<assert\\>\\)")
               (progn
                 (setq h (point))
                 (save-excursion
                   (verilog-backward-token)
-                  (if (looking-at verilog-label-re)
+                  (if (and (looking-at verilog-label-re)
+                           (not (looking-at verilog-end-block-re)))
                       (setq h (point))))
                 (goto-char h)))
              ;; stop if we see an extended complete reg, perhaps a complete one
@@ -4715,8 +4775,8 @@ primitive or interface named NAME."
                                            (setq str (concat " // else: 
!assert " str ))
                                            (throw 'skip 1)))))))))
 
-                            (; always_comb, always_ff, always_latch
-                             (or (match-end 4) (match-end 5) (match-end 6))
+                            (; always, always_comb, always_latch w/o @...
+                             (match-end 5)
                              (goto-char (match-end 0))
                              (setq there (point))
                              (setq err nil)
@@ -4800,6 +4860,9 @@ primitive or interface named NAME."
                                (throw 'skip 1))))
                         ))))
                  (end-of-line)
+      (if kill-existing-comment
+          (verilog-kill-existing-comment))
+      (delete-horizontal-space)
                  (insert (concat " // " string ))))
 
               (;- this is 
end{function,generate,task,module,primitive,table,generate}
@@ -5161,7 +5224,8 @@ FILENAME to find directory to run in, or defaults to 
`buffer-file-name`."
           ;; We should use font-lock-ensure in preference to
           ;; font-lock-fontify-buffer, but IIUC the problem this is supposed to
           ;; solve only appears in Emacsen older than font-lock-ensure anyway.
-          (when fontlocked (font-lock-fontify-buffer)))))))
+          ;; So avoid bytecomp's interactive-only by going through intern.
+          (when fontlocked (funcall (intern "font-lock-fontify-buffer"))))))))
 
 
 ;;
@@ -5530,8 +5594,12 @@ Return a list of two elements: (INDENT-TYPE 
INDENT-LEVEL)."
           ((equal (char-after) ?\{)
             ;; block type returned based on outer constraint { or inner
            (if (verilog-at-constraint-p)
-                (cond (inconstraint (throw 'nesting 'constraint))
-                      (t            (throw 'nesting 'statement)))))
+                (cond (inconstraint
+                       (beginning-of-line nil)
+                       (skip-chars-forward " \t")
+                       (throw 'nesting 'constraint))
+                      (t
+                       (throw 'nesting 'statement)))))
           ((equal (char-after) ?\})
            (let (par-pos
                   (there (verilog-at-close-constraint-p)))
@@ -6044,7 +6112,16 @@ Optional BOUND limits search."
  (save-match-data
    (save-excursion
      (verilog-re-search-backward "\\((\\*\\)\\|\\(\\*)\\)" nil 'move)
-     (numberp (match-beginning 1)))))
+     (cond
+      ((match-end 1)
+         (progn (goto-char (match-end 1))
+                (not (looking-at "\\s-*)")))
+        nil)
+       ((match-end 2)
+        (progn (goto-char (match-beginning 2))
+               (not (looking-at "(\\s-*")))
+        nil)
+       (t nil)))))
 
 (defun verilog-in-parameter-p ()
  "Return true if point is in a parameter assignment #( p1=1, p2=5)."
@@ -6176,7 +6253,7 @@ Return >0 for nested struct."
                        ))
             ;; if first word token not keyword, it maybe the instance name
             ;;   check next word token
-            (if (looking-at "\\<\\w+\\>\\|\\s-*(\\s-*\\w+")
+            (if (looking-at "\\<\\w+\\>\\|\\s-*(\\s-*\\S-+")
                 (progn (verilog-beg-of-statement)
                        (if (looking-at (concat "\\<\\(constraint\\|"
                                                
"\\(?:\\w+\\s-*:\\s-*\\)?\\(coverpoint\\|cross\\)"
@@ -6275,8 +6352,8 @@ Return >0 for nested struct."
               (goto-char (- (point) 2))
               t) ;; Let nth 4 state handle the rest
              ((and (not (bobp))
-                   (= (char-before) ?\))
-                   (= (char-before (1- (point))) ?\*))
+                   (verilog-looking-back "\\*)" nil)
+                   (not (verilog-looking-back "(\\s-*\\*)" nil)))
               (goto-char (- (point) 2))
               (if (search-backward "(*" nil t)
                   (progn
@@ -6320,7 +6397,8 @@ Return >0 for nested struct."
              (progn
                (goto-char h)
                nil))))
-        ((looking-at "(\\*")
+        ((and (looking-at "(\\*")              ;; attribute start, but not an 
event (*) or (* )
+              (not (looking-at "(\\*\\s-*)")))
          (progn
            (setq h (point))
            (goto-char (match-end 0))
@@ -6375,7 +6453,6 @@ Only look at a few lines to determine indent level."
        (cond
         ((or
           (= (preceding-char) ?\,)
-          (= (preceding-char) ?\])
           (save-excursion
             (verilog-beg-of-statement-1)
             (looking-at verilog-declaration-re)))
@@ -7830,6 +7907,48 @@ Signals must be in standard (base vector) form."
           (nreverse out-list)))))
 ;;(verilog-signals-not-in '(("A" "") ("B" "") ("DEL" "[2:3]")) '(("DEL" "") 
("EXT" "")))
 
+(defun verilog-signals-not-in-struct (in-list not-list)
+  "Return list of signals in IN-LIST that aren't also in NOT-LIST.
+Also remove any duplicates in IN-LIST.
+Any structure in not-list will remove all members in in-list.
+Signals must be in standard (base vector) form."
+  (cond ((eval-when-compile (fboundp 'make-hash-table))
+        (let ((ht (make-hash-table :test 'equal :rehash-size 4.0))
+              out-list addit nm)
+          (while not-list
+            (puthash (car (car not-list)) t ht)
+            (setq not-list (cdr not-list)))
+          (while in-list
+            (setq nm (verilog-sig-name (car in-list)))
+            (when (not (gethash nm ht))
+              (setq addit t)
+              (while (string-match "^\\([^\\].*\\)\\.[^.]+$" nm)
+                (setq nm (match-string 1 nm))
+                (setq addit (and addit
+                                 (not (gethash nm ht)))))
+              (when addit
+                (setq out-list (cons (car in-list) out-list))
+                (puthash (verilog-sig-name (car in-list)) t ht)))
+            (setq in-list (cdr in-list)))
+          (nreverse out-list)))
+       ;; Slower Fallback if no hash tables (pre Emacs 21.1/XEmacs 21.4)
+       (t
+        (let (out-list addit nm)
+          (while in-list
+            (setq nm (verilog-sig-name (car in-list)))
+            (when (and (not (assoc nm not-list))
+                       (not (assoc nm out-list)))
+              (setq addit t)
+              (while (string-match "^\\([^\\].*\\)\\.[^.]+$" nm)
+                (setq nm (match-string 1 nm))
+                (setq addit (and addit
+                                 (not (assoc nm not-list)))))
+              (when addit
+                (setq out-list (cons (car in-list) out-list))))
+            (setq in-list (cdr in-list)))
+          (nreverse out-list)))))
+;;(verilog-signals-not-in-struct '(("A" "") ("B" "") ("DEL.SUB.A" "[2:3]")) 
'(("DEL.SUB" "") ("EXT" "")))
+
 (defun verilog-signals-memory (in-list)
   "Return list of signals in IN-LIST that are memorized (multidimensional)."
   (let (out-list)
@@ -8281,10 +8400,9 @@ Return an array of [outputs inouts inputs wire reg 
assign const]."
                       typedefed nil  multidim nil    ptype nil   modport nil
                       expect-signal 'sigs-assign     sig-paren paren))
                ((member keywd '("localparam" "genvar"))
-                (unless io
-                  (setq vec nil        enum nil      rvalue nil  signed nil
-                        typedefed nil  multidim nil  ptype nil   modport nil
-                        expect-signal 'sigs-const    sig-paren paren)))
+                (setq vec nil        enum nil      rvalue nil  signed nil
+                      typedefed nil  multidim nil  ptype nil   modport nil
+                      expect-signal 'sigs-const    sig-paren paren))
                ((member keywd '("signed" "unsigned"))
                 (setq signed keywd))
                ((member keywd '("assert" "assume" "cover" "expect" "restrict"))
@@ -12134,20 +12252,26 @@ You may also provide an optional third argument 
regular
 expression, in which case only signals which have that pin
 direction and data type matching that regular expression will be
 included.  This matches against everything before the signal name
-in the declaration, for example against \"input\" (single bit),
-\"output logic\" (direction and type) or \"output
-[1:0]\" (direction and implicit type).  You also probably want to
-skip spaces in your regexp.
+in the declaration, for example against \"input\" (single
+bit), \"output logic\" (direction and type) or
+\"output [1:0]\" (direction and implicit type).  You also
+probably want to skip spaces in your regexp.
 
 For example, the below will result in matching the output \"o\"
 against the previous example's module:
 
-          /*AUTOINOUTMODULE(\"ExampMain\",\"\",\"^output.*\")*/"
+          /*AUTOINOUTMODULE(\"ExampMain\",\"\",\"^output.*\")*/
+
+You may also provide an optional fourth argument regular
+expression, which if not \"\" only signals which do NOT match
+that expression are included."
+  ;; Beware spacing of quotes in above as can mess up Emacs indenter
   (save-excursion
-    (let* ((params (verilog-read-auto-params 1 3))
+    (let* ((params (verilog-read-auto-params 1 4))
           (submod (nth 0 params))
           (regexp (nth 1 params))
           (direction-re (nth 2 params))
+          (not-re (nth 3 params))
           submodi)
       ;; Lookup position, etc of co-module
       ;; Note this may raise an error
@@ -12182,20 +12306,24 @@ against the previous example's module:
                             (append (verilog-decls-get-interfaces moddecls)))))
          (forward-line 1)
          (setq sig-list-i  (verilog-signals-edit-wire-reg
-                            (verilog-signals-matching-dir-re
-                             (verilog-signals-matching-regexp sig-list-i 
regexp)
-                             "input" direction-re))
+                            (verilog-signals-not-matching-regexp
+                             (verilog-signals-matching-dir-re
+                              (verilog-signals-matching-regexp sig-list-i 
regexp)
+                              "input" direction-re) not-re))
                sig-list-o  (verilog-signals-edit-wire-reg
-                            (verilog-signals-matching-dir-re
-                             (verilog-signals-matching-regexp sig-list-o 
regexp)
-                             "output" direction-re))
+                            (verilog-signals-not-matching-regexp
+                             (verilog-signals-matching-dir-re
+                              (verilog-signals-matching-regexp sig-list-o 
regexp)
+                              "output" direction-re) not-re))
                sig-list-io (verilog-signals-edit-wire-reg
+                            (verilog-signals-not-matching-regexp
+                             (verilog-signals-matching-dir-re
+                              (verilog-signals-matching-regexp sig-list-io 
regexp)
+                              "inout" direction-re) not-re))
+               sig-list-if (verilog-signals-not-matching-regexp
                             (verilog-signals-matching-dir-re
-                             (verilog-signals-matching-regexp sig-list-io 
regexp)
-                             "inout" direction-re))
-               sig-list-if (verilog-signals-matching-dir-re
-                            (verilog-signals-matching-regexp sig-list-if 
regexp)
-                            "interface" direction-re))
+                             (verilog-signals-matching-regexp sig-list-if 
regexp)
+                             "interface" direction-re) not-re))
          (when v2k (verilog-repair-open-comma))
          (when (or sig-list-i sig-list-o sig-list-io sig-list-if)
            (verilog-insert-indent "// Beginning of automatic in/out/inouts 
(from specific module)\n")
@@ -12262,15 +12390,20 @@ You may also provide an optional third argument 
regular
 expression, in which case only signals which have that pin
 direction and data type matching that regular expression will be
 included.  This matches against everything before the signal name
-in the declaration, for example against \"input\" (single bit),
-\"output logic\" (direction and type) or \"output
-[1:0]\" (direction and implicit type).  You also probably want to
-skip spaces in your regexp.
+in the declaration, for example against \"input\" (single
+bit), \"output logic\" (direction and type)
+or \"output [1:0]\" (direction and implicit type).  You also
+probably want to skip spaces in your regexp.
 
 For example, the below will result in matching the output \"o\"
 against the previous example's module:
 
-          /*AUTOINOUTCOMP(\"ExampMain\",\"\",\"^output.*\")*/"
+          /*AUTOINOUTCOMP(\"ExampMain\",\"\",\"^output.*\")*/
+
+You may also provide an optional fourth argument regular
+expression, which if not \"\" only signals which do NOT match
+that expression are included."
+  ;; Beware spacing of quotes in above as can mess up Emacs indenter
   (verilog-auto-inout-module t nil))
 
 (defun verilog-auto-inout-in ()
@@ -12793,14 +12926,15 @@ Typing \\[verilog-auto] will make this into:
        (verilog-re-search-backward-quick 
"\\(@\\|\\<\\(always\\(_latch\\|_ff\\|_comb\\)?\\)\\>\\)" nil t)
         (setq sigss (verilog-read-always-signals)))
       (setq dly-list (verilog-alw-get-outputs-delayed sigss))
-      (setq sig-list (verilog-signals-not-in (append
-                                             (verilog-alw-get-outputs-delayed 
sigss)
-                                             (when (or (not 
(verilog-alw-get-uses-delayed sigss))
-                                                       
verilog-auto-reset-blocking-in-non)
-                                               
(verilog-alw-get-outputs-immediate sigss)))
-                                            (append
-                                             (verilog-alw-get-temps sigss)
-                                             prereset-sigs)))
+      (setq sig-list (verilog-signals-not-in-struct
+                     (append
+                      (verilog-alw-get-outputs-delayed sigss)
+                      (when (or (not (verilog-alw-get-uses-delayed sigss))
+                                verilog-auto-reset-blocking-in-non)
+                        (verilog-alw-get-outputs-immediate sigss)))
+                     (append
+                      (verilog-alw-get-temps sigss)
+                      prereset-sigs)))
       (setq sig-list (sort sig-list `verilog-signals-sort-compare))
       (when sig-list
        (insert "\n");
diff --git a/lisp/vc/ediff-util.el b/lisp/vc/ediff-util.el
index 62a0d9d..260366e 100644
--- a/lisp/vc/ediff-util.el
+++ b/lisp/vc/ediff-util.el
@@ -2318,6 +2318,7 @@ the number seen by the user."
                              (narrow-to-region
                               (ediff-get-diff-posn 'B 'beg n ctl-buf)
                               (ediff-get-diff-posn 'B 'end n ctl-buf))
+                             (goto-char (point-min))
                              (re-search-forward regex-B nil t))))
             (reg-C-match (if ediff-3way-comparison-job
                              (ediff-with-current-buffer ediff-buffer-C
@@ -2325,6 +2326,7 @@ the number seen by the user."
                                  (narrow-to-region
                                   (ediff-get-diff-posn 'C 'beg n ctl-buf)
                                   (ediff-get-diff-posn 'C 'end n ctl-buf))
+                                  (goto-char (point-min))
                                  (re-search-forward regex-C nil t))))))
        (not (eval (if ediff-3way-comparison-job
                       (list ediff-focus-regexp-connective
diff --git a/src/Makefile.in b/src/Makefile.in
index b7e776e..5a287c7 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -616,8 +616,10 @@ ctagsfiles3 = [a-zA-Z]*.m
 TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) 
$(srcdir)/$(ctagsfiles3)
        "$(ETAGS)" --include=../lisp/TAGS --include=$(lwlibdir)/TAGS \
          --regex='{c}/[        ]*DEFVAR_[A-Z_  (]+"\([^"]+\)"/\1/' \
+         --regex='{c}/[        ]*DEFVAR_[A-Z_  (]+"[^"]+",[    
]\([A-Za-z0-9_]+\)/\1/' \
          $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) \
          --regex='{objc}/[     ]*DEFVAR_[A-Z_  (]+"\([^"]+\)"/\1/' \
+         --regex='{objc}/[     ]*DEFVAR_[A-Z_  (]+"[^"]+",[    
]\([A-Za-z0-9_]+\)/\1/' \
          $(srcdir)/$(ctagsfiles3)
 
 ## Arrange to make tags tables for ../lisp and ../lwlib,
diff --git a/src/gtkutil.c b/src/gtkutil.c
index b51d338..61bc5ee 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -868,6 +868,21 @@ xg_clear_under_internal_border (struct frame *f)
     }
 }
 
+static int
+xg_get_gdk_scale (void)
+{
+  const char *sscale = getenv ("GDK_SCALE");
+
+  if (sscale)
+    {
+      long scale = atol (sscale);
+      if (0 < scale)
+       return min (scale, INT_MAX);
+    }
+
+  return 1;
+}
+
 /* Function to handle resize of our frame.  As we have a Gtk+ tool bar
    and a Gtk+ menu bar, we get resize events for the edit part of the
    frame only.  We let Gtk+ deal with the Gtk+ parts.
@@ -918,6 +933,9 @@ xg_frame_set_char_size (struct frame *f, int width, int 
height)
   int pixelheight = FRAME_TEXT_TO_PIXEL_HEIGHT (f, height);
   Lisp_Object fullscreen = get_frame_param (f, Qfullscreen);
   gint gwidth, gheight;
+  int totalheight
+    = pixelheight + FRAME_TOOLBAR_HEIGHT (f) + FRAME_MENUBAR_HEIGHT (f);
+  int totalwidth = pixelwidth + FRAME_TOOLBAR_WIDTH (f);
 
   if (FRAME_PIXEL_HEIGHT (f) == 0)
     return;
@@ -928,6 +946,13 @@ xg_frame_set_char_size (struct frame *f, int width, int 
height)
   /* Do this before resize, as we don't know yet if we will be resized.  */
   xg_clear_under_internal_border (f);
 
+  if (FRAME_VISIBLE_P (f))
+    {
+      int scale = xg_get_gdk_scale ();
+      totalheight /= scale;
+      totalwidth /= scale;
+    }
+
   /* Resize the top level widget so rows and columns remain constant.
 
      When the frame is fullheight and we only want to change the width
@@ -942,38 +967,33 @@ xg_frame_set_char_size (struct frame *f, int width, int 
height)
       frame_size_history_add
        (f, Qxg_frame_set_char_size_1, width, height,
         list2 (make_number (gheight),
-               make_number (pixelheight + FRAME_TOOLBAR_HEIGHT (f)
-                            + FRAME_MENUBAR_HEIGHT (f))));
+               make_number (totalheight)));
 
       gtk_window_resize (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
                         gwidth,
-                        pixelheight + FRAME_TOOLBAR_HEIGHT (f)
-                        + FRAME_MENUBAR_HEIGHT (f));
+                        totalheight);
     }
   else if (EQ (fullscreen, Qfullheight) && height == FRAME_TEXT_HEIGHT (f))
     {
       frame_size_history_add
        (f, Qxg_frame_set_char_size_2, width, height,
         list2 (make_number (gwidth),
-               make_number (pixelwidth + FRAME_TOOLBAR_WIDTH (f))));
+               make_number (totalwidth)));
 
       gtk_window_resize (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
-                        pixelwidth + FRAME_TOOLBAR_WIDTH (f),
+                        totalwidth,
                         gheight);
     }
-
   else
     {
       frame_size_history_add
        (f, Qxg_frame_set_char_size_3, width, height,
-        list2 (make_number (pixelwidth + FRAME_TOOLBAR_WIDTH (f)),
-               make_number (pixelheight + FRAME_TOOLBAR_HEIGHT (f)
-                            + FRAME_MENUBAR_HEIGHT (f))));
+        list2 (make_number (totalwidth),
+               make_number (totalheight)));
 
       gtk_window_resize (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
-                        pixelwidth + FRAME_TOOLBAR_WIDTH (f),
-                        pixelheight + FRAME_TOOLBAR_HEIGHT (f)
-                        + FRAME_MENUBAR_HEIGHT (f));
+                        totalwidth,
+                        totalheight);
       fullscreen = Qnil;
     }
 
@@ -1125,18 +1145,6 @@ delete_cb (GtkWidget *widget,
            GdkEvent  *event,
            gpointer user_data)
 {
-#ifdef HAVE_GTK3
-  /* The event doesn't arrive in the normal event loop.  Send event
-     here.  */
-  struct frame *f = user_data;
-  struct input_event ie;
-
-  EVENT_INIT (ie);
-  ie.kind = DELETE_WINDOW_EVENT;
-  XSETFRAME (ie.frame_or_window, f);
-  kbd_buffer_store_event (&ie);
-#endif
-
   return TRUE;
 }
 
@@ -1355,6 +1363,7 @@ x_wm_set_size_hint (struct frame *f, long int flags, bool 
user_position)
   int min_rows = 0, min_cols = 0;
   int win_gravity = f->win_gravity;
   Lisp_Object fs_state, frame;
+  int scale = xg_get_gdk_scale ();
 
   /* Don't set size hints during initialization; that apparently leads
      to a race condition.  See the thread at
@@ -1434,6 +1443,11 @@ x_wm_set_size_hint (struct frame *f, long int flags, 
bool user_position)
       hint_flags |= GDK_HINT_USER_POS;
     }
 
+  size_hints.base_width /= scale;
+  size_hints.base_height /= scale;
+  size_hints.width_inc /= scale;
+  size_hints.height_inc /= scale;
+
   if (hint_flags != f->output_data.x->hint_flags
       || memcmp (&size_hints,
                 &f->output_data.x->size_hints,
@@ -3549,14 +3563,14 @@ update_theme_scrollbar_height (void)
 int
 xg_get_default_scrollbar_width (void)
 {
-  return scroll_bar_width_for_theme;
+  return scroll_bar_width_for_theme * xg_get_gdk_scale ();
 }
 
 int
 xg_get_default_scrollbar_height (void)
 {
   /* Apparently there's no default height for themes.  */
-  return scroll_bar_width_for_theme;
+  return scroll_bar_width_for_theme * xg_get_gdk_scale ();
 }
 
 /* Return the scrollbar id for X Window WID on display DPY.
@@ -3755,14 +3769,18 @@ xg_update_scrollbar_pos (struct frame *f,
                          int width,
                          int height)
 {
-
   GtkWidget *wscroll = xg_get_widget_from_map (scrollbar_id);
-
   if (wscroll)
     {
       GtkWidget *wfixed = f->output_data.x->edit_widget;
       GtkWidget *wparent = gtk_widget_get_parent (wscroll);
       gint msl;
+      int scale = xg_get_gdk_scale ();
+
+      top /= scale;
+      left /= scale;
+      height /= scale;
+      left -= (scale - 1) * ((width / scale) >> 1);
 
       /* Clear out old position.  */
       int oldx = -1, oldy = -1, oldw, oldh;
@@ -3791,11 +3809,15 @@ xg_update_scrollbar_pos (struct frame *f,
       gtk_widget_queue_draw (wfixed);
       gdk_window_process_all_updates ();
       if (oldx != -1 && oldw > 0 && oldh > 0)
-       /* Clear under old scroll bar position.  This must be done after
-          the gtk_widget_queue_draw and gdk_window_process_all_updates
-          above.  */
-       x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
-                     oldx, oldy, oldw, oldh);
+        {
+          /* Clear under old scroll bar position.  This must be done after
+             the gtk_widget_queue_draw and gdk_window_process_all_updates
+             above.  */
+         oldw += (scale - 1) * oldw;
+         oldx -= (scale - 1) * oldw;
+          x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
+                        oldx, oldy, oldw, oldh);
+        }
 
       /* GTK does not redraw until the main loop is entered again, but
          if there are no X events pending we will not enter it.  So we sync
diff --git a/src/lisp.mk b/src/lisp.mk
index ee2a07c..8eb86b7 100644
--- a/src/lisp.mk
+++ b/src/lisp.mk
@@ -113,6 +113,7 @@ lisp = \
        $(lispsource)/language/cham.elc \
        $(lispsource)/indent.elc \
        $(lispsource)/window.elc \
+       $(lispsource)/emacs-lisp/cl-generic.elc \
        $(lispsource)/frame.elc \
        $(lispsource)/term/tty-colors.elc \
        $(lispsource)/font-core.elc \
diff --git a/src/window.c b/src/window.c
index c04b435..fae4522 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1751,7 +1751,11 @@ if it isn't already recorded.  */)
          || b->clip_changed
          || b->prevent_redisplay_optimizations_p
          || window_outdated (w))
-      && !noninteractive)
+      /* Don't call display routines if we didn't yet create any real
+        frames, because the glyph matrices are not yet allocated in
+        that case.  This could happen in some code that runs in the
+        daemon during initialization (e.g., see bug#20565).  */
+      && !(noninteractive || FRAME_INITIAL_P (WINDOW_XFRAME (w))))
     {
       struct text_pos startp;
       struct it it;
diff --git a/src/xterm.c b/src/xterm.c
index d660155..e99be5c 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -262,7 +262,7 @@ static int x_dispatch_event (XEvent *, Display *);
 #endif
 /* Don't declare this _Noreturn because we want no
    interference with debugging failing X calls.  */
-static void x_connection_closed (Display *, const char *);
+static void x_connection_closed (Display *, const char *, bool);
 static void x_wm_set_window_state (struct frame *, int);
 static void x_wm_set_icon_pixmap (struct frame *, ptrdiff_t);
 static void x_initialize (void);
@@ -8470,7 +8470,7 @@ static char *error_msg;
    the text of an error message that lead to the connection loss.  */
 
 static void
-x_connection_closed (Display *dpy, const char *error_message)
+x_connection_closed (Display *dpy, const char *error_message, bool ioerror)
 {
   struct x_display_info *dpyinfo = x_display_info_for_display (dpy);
   Lisp_Object frame, tail;
@@ -8489,6 +8489,7 @@ x_connection_closed (Display *dpy, const char 
*error_message)
       dpyinfo->reference_count++;
       dpyinfo->terminal->reference_count++;
     }
+  if (ioerror) dpyinfo->display = 0;
 
   /* First delete frames whose mini-buffers are on frames
      that are on the dead display.  */
@@ -8626,7 +8627,7 @@ x_error_quitter (Display *display, XErrorEvent *event)
   XGetErrorText (display, event->error_code, buf, sizeof (buf));
   sprintf (buf1, "X protocol error: %s on protocol request %d",
           buf, event->request_code);
-  x_connection_closed (display, buf1);
+  x_connection_closed (display, buf1, false);
 }
 
 
@@ -8641,7 +8642,7 @@ x_io_error_quitter (Display *display)
 
   snprintf (buf, sizeof buf, "Connection lost to X server `%s'",
            DisplayString (display));
-  x_connection_closed (display, buf);
+  x_connection_closed (display, buf, true);
   return 0;
 }
 
diff --git a/test/etags/CTAGS.good b/test/etags/CTAGS.good
index ee5b3f4..1a885cc 100644
--- a/test/etags/CTAGS.good
+++ b/test/etags/CTAGS.good
@@ -41,220 +41,8 @@ $unk_comment_lc     php-src/lce_functions.php       117
 $user_comment  php-src/lce_functions.php       109
 $user_comment  php-src/lce_functions.php       167
 $user_comment_lc       php-src/lce_functions.php       115
-( $arg         perl-src/mirror.pl      468
-( $arg         perl-src/mirror.pl      1506
-( $as  perl-src/mirror.pl      3046
-( $atime, $mtime, $path        perl-src/mirror.pl      4118
-( $attempts    perl-src/mirror.pl      1548
-( $buffer, $in, $sofar         perl-src/mirror.pl      3686
-( $bufsiz      perl-src/mirror.pl      3685
-( $c   perl-src/mirror.pl      634
-( $c   perl-src/mirror.pl      706
-( $changed     perl-src/mirror.pl      3916
-( $com         perl-src/mirror.pl      3741
-( $comp        perl-src/mirror.pl      2998
-( $comptemp    perl-src/mirror.pl      2916
-( $con         perl-src/mirror.pl      1241
-( $cont        perl-src/mirror.pl      830
-( $count       perl-src/mirror.pl      2353
-( $count       perl-src/mirror.pl      3920
-( $d   perl-src/mirror.pl      3691
-( $del, $kind  perl-src/mirror.pl      3322
-( $del_patt    perl-src/mirror.pl      3135
-( $dest, $existing     perl-src/mirror.pl      2745
-( $dest_dir    perl-src/mirror.pl      3684
-( $dest_path   perl-src/mirror.pl      3066
-( $dest_path, $attribs         perl-src/mirror.pl      2809
-( $dest_path, $dest_loc_mapi, $src_rem_mapi,  $rtime   perl-src/mirror.pl      
2685
-( $dest_path, $existing_path   perl-src/mirror.pl      3400
-( $desti, $srci, $compress, $srciZ, $srcigz, $split, $dest_path_real   
perl-src/mirror.pl      2299
-( $dev,$ino,$fmode,$nlink,$uid,$gid,$rdev,$ssize,      perl-src/mirror.pl      
1694
-( $diff        perl-src/mirror.pl      3638
-( $dir         perl-src/mirror.pl      3306
-( $dir         perl-src/mirror.pl      3459
-( $dir         perl-src/mirror.pl      3530
-( $dir         perl-src/mirror.pl      3784
-( $dir, $file  perl-src/mirror.pl      3064
-( $dir, $file, $temp, $compress, $split, $restart, $mesg, $got_mesg    
perl-src/mirror.pl      2872
-( $dir, $mode  perl-src/mirror.pl      3499
-( $dir, $mp    perl-src/mirror.pl      723
-( $dir, $rest  perl-src/mirror.pl      3873
-( $dir_level   perl-src/mirror.pl      1691
-( $dirname     perl-src/mirror.pl      3284
-( $dirpart     perl-src/mirror.pl      2746
-( $dirpart     perl-src/mirror.pl      3905
-( $dirtmp      perl-src/mirror.pl      1830
-( $dirtmp      perl-src/mirror.pl      1859
-( $dl  perl-src/mirror.pl      2788
-( $done        perl-src/mirror.pl      2239
-( $dpp, $dps   perl-src/mirror.pl      2509
-( $eqpl        perl-src/mirror.pl      829
-( $err         perl-src/mirror.pl      1601
-( $exit_status         perl-src/mirror.pl      1030
-( $f   perl-src/mirror.pl      725
-( $f   perl-src/mirror.pl      1840
-( $f   perl-src/mirror.pl      2770
-( $f   perl-src/mirror.pl      2921
-( $f   perl-src/mirror.pl      2997
-( $f, $fr, $flb, $flt, $flp, $flz, $frb, $frt  perl-src/mirror.pl      1990
-( $f, $uf      perl-src/mirror.pl      1878
-( $file        perl-src/mirror.pl      3673
-( $file, $kind         perl-src/mirror.pl      3991
-( $files_to_go, $dirs_to_go    perl-src/mirror.pl      3125
-( $filesize    perl-src/mirror.pl      3015
-( $flag, $p    perl-src/mirror.pl      480
-( $flags       perl-src/mirror.pl      1912
-( $fname       perl-src/mirror.pl      758
-( $fname       perl-src/mirror.pl      3379
-( $ft  perl-src/mirror.pl      2747
-( $get_one_package     perl-src/mirror.pl      1009
-( $i   perl-src/mirror.pl      1692
-( $i   perl-src/mirror.pl      2129
-( $i   perl-src/mirror.pl      3917
-( $in  perl-src/mirror.pl      3932
-( $index       perl-src/mirror.pl      3697
-( $key         perl-src/mirror.pl      964
-( $key, $val   perl-src/mirror.pl      896
-( $key, $val, $overrides       perl-src/mirror.pl      870
-( $key, $val, $str     perl-src/mirror.pl      975
-( $key_val     perl-src/mirror.pl      578
-( $last_prodded        perl-src/mirror.pl      1643
-( $last_prodded        perl-src/mirror.pl      2294
-( $lcwd        perl-src/mirror.pl      4137
-( $locali      perl-src/mirror.pl      3054
-( $locali      perl-src/mirror.pl      3714
-( $map         perl-src/mirror.pl      3645
-( $map         perl-src/mirror.pl      3659
-( $mapi        perl-src/mirror.pl      1763
-( $mapi        perl-src/mirror.pl      2214
-( $mode        perl-src/mirror.pl      3556
-( $msg         perl-src/mirror.pl      972
-( $msg         perl-src/mirror.pl      1963
-( $msg         perl-src/mirror.pl      3417
-( $msg         perl-src/mirror.pl      3431
-( $msg         perl-src/mirror.pl      4030
-( $name        perl-src/mirror.pl      2653
-( $newpath     perl-src/mirror.pl      2838
-( $nle         perl-src/mirror.pl      973
-( $now         perl-src/mirror.pl      1493
-( $old         perl-src/mirror.pl      2421
-( $old_dest_path       perl-src/mirror.pl      2432
-( $old_dest_path, $existing_path, $tmp, $restart       perl-src/mirror.pl      
2300
-( $old_mode    perl-src/mirror.pl      4124
-( $old_name    perl-src/mirror.pl      2656
-( $old_path    perl-src/mirror.pl      2130
-( $old_path    perl-src/mirror.pl      2143
-( $old_sig     perl-src/mirror.pl      2098
-( $orig_do_deletes     perl-src/mirror.pl      3132
-( $orig_path   perl-src/mirror.pl      3921
-( $orig_path, $points_to       perl-src/mirror.pl      3904
-( $orig_save_deletes   perl-src/mirror.pl      3133
-( $out         perl-src/mirror.pl      974
-( $p   perl-src/mirror.pl      2762
-( $p, $s, $trz, $t, $m         perl-src/mirror.pl      2030
-( $package     perl-src/mirror.pl      3965
-( $package, $filename, $line   perl-src/mirror.pl      4031
-( $parse_state         perl-src/mirror.pl      1946
-( $part        perl-src/mirror.pl      3698
-( $pass        perl-src/mirror.pl      3609
-( $path        perl-src/mirror.pl      3763
-( $path        perl-src/mirror.pl      3766
-( $path        perl-src/mirror.pl      3888
-( $path        perl-src/mirror.pl      3915
-( $path, $size, $time, $type, $mode, $rdir, $rcwd      perl-src/mirror.pl      
2127
-( $path, $src_path, $type      perl-src/mirror.pl      3555
-( $path, $time         perl-src/mirror.pl      2701
-( $path, $time, $size, $type, $mode, $name, $isdir, $value, $follow    
perl-src/mirror.pl      1693
-( $pathi       perl-src/mirror.pl      3564
-( $pathi       perl-src/mirror.pl      3568
-( $pathi, $path, *keep, *keep_totals, *keep_map, $kind         
perl-src/mirror.pl      4071
-( $per         perl-src/mirror.pl      3162
-( $per         perl-src/mirror.pl      3184
-( $pr_time     perl-src/mirror.pl      2703
-( $prog        perl-src/mirror.pl      3762
-( $program     perl-src/mirror.pl      3782
-( $readme      perl-src/mirror.pl      3730
-( $real        perl-src/mirror.pl      2409
-( $real, $reali, $reali1       perl-src/mirror.pl      2352
-( $real_save_dir, $save_dest   perl-src/mirror.pl      3249
-( $reali       perl-src/mirror.pl      2410
-( $res         perl-src/mirror.pl      1549
-( $ret         perl-src/mirror.pl      1587
-( $ret         perl-src/mirror.pl      2097
-( $ret         perl-src/mirror.pl      4126
-( $ri  perl-src/mirror.pl      2203
-( $rls         perl-src/mirror.pl      1825
-( $rooted      perl-src/mirror.pl      3919
-( $save, $kind         perl-src/mirror.pl      3247
-( $save_dir_tail       perl-src/mirror.pl      3226
-( $sec,$min,$hour,$mday,$mon,$year,    perl-src/mirror.pl      678
-( $sig         perl-src/mirror.pl      4029
-( $sig         perl-src/mirror.pl      4038
-( $site, $path         perl-src/mirror.pl      539
-( $site_path   perl-src/mirror.pl      525
-( $size        perl-src/mirror.pl      3840
-( $sizemsg     perl-src/mirror.pl      3016
-( $sp, $dp     perl-src/mirror.pl      2301
-( $src_file    perl-src/mirror.pl      2915
-( $src_path    perl-src/mirror.pl      2677
-( $src_path    perl-src/mirror.pl      2808
-( $src_path, $dest_path, $attribs, $timestamp  perl-src/mirror.pl      2871
-( $src_path, $dest_path, $got_mesg, $size      perl-src/mirror.pl      3092
-( $src_path, $dest_path, $i    perl-src/mirror.pl      2293
-( $src_path, $i        perl-src/mirror.pl      3131
-( $srci        perl-src/mirror.pl      2810
-( $srcsize     perl-src/mirror.pl      3017
-( $status      perl-src/mirror.pl      3442
-( $storename   perl-src/mirror.pl      1793
-( $t   perl-src/mirror.pl      1589
-( $t1, $t2     perl-src/mirror.pl      3637
-( $temp, $dest_path, $time     perl-src/mirror.pl      3683
-( $thing       perl-src/mirror.pl      2721
-( $thing       perl-src/mirror.pl      2738
-( $ti  perl-src/mirror.pl      2975
-( $time        perl-src/mirror.pl      3029
-( $time_to_sig         perl-src/mirror.pl      4106
-( $tlb         perl-src/mirror.pl      1995
-( $tlz         perl-src/mirror.pl      2037
-( $tmp         perl-src/mirror.pl      2666
-( $tmp_mode    perl-src/mirror.pl      4125
-( $to , $tn    perl-src/mirror.pl      1991
-( $todo, $msg  perl-src/mirror.pl      3809
-( $type_changed        perl-src/mirror.pl      1791
-( $udirtmp     perl-src/mirror.pl      1792
-( $uid, $gid, $path    perl-src/mirror.pl      4112
-( $unsquish    perl-src/mirror.pl      1832
-( $unsquish    perl-src/mirror.pl      1870
-( $update      perl-src/mirror.pl      2534
-( $user        perl-src/mirror.pl      595
-( $user        perl-src/mirror.pl      3608
-( $v   perl-src/mirror.pl      839
-( $v, $kind    perl-src/mirror.pl      3860
-( $val         perl-src/mirror.pl      953
-( $val         perl-src/mirror.pl      1597
-( $val         perl-src/mirror.pl      3392
-( $val         perl-src/mirror.pl      3500
-( $val         perl-src/mirror.pl      3531
-( $val_name    perl-src/mirror.pl      902
-( $value       perl-src/mirror.pl      2408
-( $|   perl-src/mirror.pl      3610
-( *src_paths,  perl-src/mirror.pl      2286
-( *src_paths,  perl-src/mirror.pl      3121
-( *things      perl-src/mirror.pl      3754
-( @dir, $d, $path      perl-src/mirror.pl      3460
-( @dir_list    perl-src/mirror.pl      2128
-( @dirs, $dir  perl-src/mirror.pl      1642
-( @parts       perl-src/mirror.pl      3933
-( @prog_path   perl-src/mirror.pl      3783
-( @rhelp       perl-src/mirror.pl      1289
-( @sub_dirs    perl-src/mirror.pl      1329
-( @t   perl-src/mirror.pl      1154
-( @t   perl-src/mirror.pl      4006
 ($_,$flag,$opt,$f,$r,@temp     perl-src/yagrip.pl      8
-($filesize     perl-src/mirror.pl      2944
-($old_dir      perl-src/mirror.pl      3539
 ($prog,$_,@list        perl-src/yagrip.pl      39
-($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst   perl-src/mirror.pl      
4013
 ($string,$flag,@string,@temp,@last     perl-src/yagrip.pl      40
 (a-forth-constant      forth-src/test-forth.fth        /^constant 
(a-forth-constant$/
 (another-forth-word    forth-src/test-forth.fth        /^: 
(another-forth-word) ( -- )$/
@@ -388,10 +176,6 @@ $user_comment_lc   php-src/lce_functions.php       115
 /wbytes        ps-src/rfc1245.ps       /^\/wbytes { $/
 /wh    ps-src/rfc1245.ps       /^\/wh { $/
 /yen   ps-src/rfc1245.ps       /^\/yen \/.notdef \/.notdef \/.notdef \/.notdef 
\/.notdef /
-::PctestActionAbort    cp-src/Pctest.h 53
-::PctestActionFiltered cp-src/Pctest.h 51
-::PctestActionValid    cp-src/Pctest.h 47
-::PctestActionValidLasthop     cp-src/Pctest.h 49
 ::cat  cp-src/c.C      126
 ::dog  cp-src/c.C      126
 ::f    cp-src/c.C      /^     void f() {}$/
@@ -500,82 +284,11 @@ AUTO_LIST3        c-src/emacs/src/lisp.h  /^#define 
AUTO_LIST3(name, a, b, c)                                     \\$/
 AUTO_LIST4     c-src/emacs/src/lisp.h  /^#define AUTO_LIST4(name, a, b, c, d)  
                                \\$/
 AUTO_STRING    c-src/emacs/src/lisp.h  /^#define AUTO_STRING(name, str)        
                                        \\$/
 AVAIL_ALLOCA   c-src/emacs/src/lisp.h  /^#define AVAIL_ALLOCA(size) (sa_avail 
-= (size), al/
-AWTEventMulticaster    java-src/AWTEMul.java   63
-AWTEventMulticaster.AWTEventMulticaster        java-src/AWTEMul.java   /^    
protected AWTEventMulticaster(EventListener a,/
-AWTEventMulticaster.a  java-src/AWTEMul.java   69
-AWTEventMulticaster.actionPerformed    java-src/AWTEMul.java   /^    public 
void actionPerformed(ActionEvent e) {$/
-AWTEventMulticaster.add        java-src/AWTEMul.java   /^    public static 
ComponentListener add(ComponentL/
-AWTEventMulticaster.add        java-src/AWTEMul.java   /^    public static 
ContainerListener add(ContainerL/
-AWTEventMulticaster.add        java-src/AWTEMul.java   /^    public static 
FocusListener add(FocusListener /
-AWTEventMulticaster.add        java-src/AWTEMul.java   /^    public static 
KeyListener add(KeyListener a, K/
-AWTEventMulticaster.add        java-src/AWTEMul.java   /^    public static 
MouseListener add(MouseListener /
-AWTEventMulticaster.add        java-src/AWTEMul.java   /^    public static 
MouseMotionListener add(MouseMot/
-AWTEventMulticaster.add        java-src/AWTEMul.java   /^    public static 
WindowListener add(WindowListene/
-AWTEventMulticaster.add        java-src/AWTEMul.java   /^    public static 
ActionListener add(ActionListene/
-AWTEventMulticaster.add        java-src/AWTEMul.java   /^    public static 
ItemListener add(ItemListener a,/
-AWTEventMulticaster.add        java-src/AWTEMul.java   /^    public static 
AdjustmentListener add(Adjustmen/
-AWTEventMulticaster.add        java-src/AWTEMul.java   /^    public static 
TextListener add(TextListener a,/
-AWTEventMulticaster.addInternal        java-src/AWTEMul.java   /^    protected 
static EventListener addInternal(Eve/
-AWTEventMulticaster.adjustmentValueChanged     java-src/AWTEMul.java   /^    
public void adjustmentValueChanged(AdjustmentE/
-AWTEventMulticaster.b  java-src/AWTEMul.java   69
-AWTEventMulticaster.componentAdded     java-src/AWTEMul.java   /^    public 
void componentAdded(ContainerEvent e) {/
-AWTEventMulticaster.componentHidden    java-src/AWTEMul.java   /^    public 
void componentHidden(ComponentEvent e) /
-AWTEventMulticaster.componentMoved     java-src/AWTEMul.java   /^    public 
void componentMoved(ComponentEvent e) {/
-AWTEventMulticaster.componentRemoved   java-src/AWTEMul.java   /^    public 
void componentRemoved(ContainerEvent e)/
-AWTEventMulticaster.componentResized   java-src/AWTEMul.java   /^    public 
void componentResized(ComponentEvent e)/
-AWTEventMulticaster.componentShown     java-src/AWTEMul.java   /^    public 
void componentShown(ComponentEvent e) {/
-AWTEventMulticaster.focusGained        java-src/AWTEMul.java   /^    public 
void focusGained(FocusEvent e) {$/
-AWTEventMulticaster.focusLost  java-src/AWTEMul.java   /^    public void 
focusLost(FocusEvent e) {$/
-AWTEventMulticaster.itemStateChanged   java-src/AWTEMul.java   /^    public 
void itemStateChanged(ItemEvent e) {$/
-AWTEventMulticaster.keyPressed java-src/AWTEMul.java   /^    public void 
keyPressed(KeyEvent e) {$/
-AWTEventMulticaster.keyReleased        java-src/AWTEMul.java   /^    public 
void keyReleased(KeyEvent e) {$/
-AWTEventMulticaster.keyTyped   java-src/AWTEMul.java   /^    public void 
keyTyped(KeyEvent e) {$/
-AWTEventMulticaster.mouseClicked       java-src/AWTEMul.java   /^    public 
void mouseClicked(MouseEvent e) {$/
-AWTEventMulticaster.mouseDragged       java-src/AWTEMul.java   /^    public 
void mouseDragged(MouseEvent e) {$/
-AWTEventMulticaster.mouseEntered       java-src/AWTEMul.java   /^    public 
void mouseEntered(MouseEvent e) {$/
-AWTEventMulticaster.mouseExited        java-src/AWTEMul.java   /^    public 
void mouseExited(MouseEvent e) {$/
-AWTEventMulticaster.mouseMoved java-src/AWTEMul.java   /^    public void 
mouseMoved(MouseEvent e) {$/
-AWTEventMulticaster.mousePressed       java-src/AWTEMul.java   /^    public 
void mousePressed(MouseEvent e) {$/
-AWTEventMulticaster.mouseReleased      java-src/AWTEMul.java   /^    public 
void mouseReleased(MouseEvent e) {$/
-AWTEventMulticaster.remove     java-src/AWTEMul.java   /^    protected 
EventListener remove(EventListener o/
-AWTEventMulticaster.remove     java-src/AWTEMul.java   /^    public static 
ComponentListener remove(Compone/
-AWTEventMulticaster.remove     java-src/AWTEMul.java   /^    public static 
ContainerListener remove(Contain/
-AWTEventMulticaster.remove     java-src/AWTEMul.java   /^    public static 
FocusListener remove(FocusListen/
-AWTEventMulticaster.remove     java-src/AWTEMul.java   /^    public static 
KeyListener remove(KeyListener l/
-AWTEventMulticaster.remove     java-src/AWTEMul.java   /^    public static 
MouseListener remove(MouseListen/
-AWTEventMulticaster.remove     java-src/AWTEMul.java   /^    public static 
MouseMotionListener remove(Mouse/
-AWTEventMulticaster.remove     java-src/AWTEMul.java   /^    public static 
WindowListener remove(WindowList/
-AWTEventMulticaster.remove     java-src/AWTEMul.java   /^    public static 
ActionListener remove(ActionList/
-AWTEventMulticaster.remove     java-src/AWTEMul.java   /^    public static 
ItemListener remove(ItemListener/
-AWTEventMulticaster.remove     java-src/AWTEMul.java   /^    public static 
AdjustmentListener remove(Adjust/
-AWTEventMulticaster.remove     java-src/AWTEMul.java   /^    public static 
TextListener remove(TextListener/
-AWTEventMulticaster.removeInternal     java-src/AWTEMul.java   /^    protected 
static EventListener removeInternal(/
-AWTEventMulticaster.save       java-src/AWTEMul.java   /^    static void 
save(ObjectOutputStream s, String /
-AWTEventMulticaster.saveInternal       java-src/AWTEMul.java   /^    protected 
void saveInternal(ObjectOutputStream/
-AWTEventMulticaster.textValueChanged   java-src/AWTEMul.java   /^    public 
void textValueChanged(TextEvent e) {$/
-AWTEventMulticaster.windowActivated    java-src/AWTEMul.java   /^    public 
void windowActivated(WindowEvent e) {$/
-AWTEventMulticaster.windowClosed       java-src/AWTEMul.java   /^    public 
void windowClosed(WindowEvent e) {$/
-AWTEventMulticaster.windowClosing      java-src/AWTEMul.java   /^    public 
void windowClosing(WindowEvent e) {$/
-AWTEventMulticaster.windowDeactivated  java-src/AWTEMul.java   /^    public 
void windowDeactivated(WindowEvent e) {/
-AWTEventMulticaster.windowDeiconified  java-src/AWTEMul.java   /^    public 
void windowDeiconified(WindowEvent e) {/
-AWTEventMulticaster.windowIconified    java-src/AWTEMul.java   /^    public 
void windowIconified(WindowEvent e) {$/
-AWTEventMulticaster.windowOpened       java-src/AWTEMul.java   /^    public 
void windowOpened(WindowEvent e) {$/
 Abort_Handler_Pointer/t        ada-src/2ataspri.ads    /^   type 
Abort_Handler_Pointer is access procedure /
 Abort_Task/p   ada-src/2ataspri.adb    /^   procedure Abort_Task (T : TCB_Ptr) 
is$/
 Abort_Task/p   ada-src/2ataspri.ads    /^   procedure Abort_Task (T : 
TCB_Ptr);$/
 Abort_Wrapper/p        ada-src/2ataspri.adb    /^   procedure Abort_Wrapper$/
 Abort_Wrapper/p        ada-src/2ataspri.adb    /^   procedure Abort_Wrapper$/
-Action_Pref    cp-src/abstract.H       704
-Action_Pref::Action_Pref       cp-src/abstract.C       
/^Action_Pref::Action_Pref(Tree_Node *a_d, Tree_Node/
-Action_Pref::SetCollapsed      cp-src/abstract.C       /^void 
Action_Pref::SetCollapsed(char t)$/
-Action_Pref::SetDimensions     cp-src/abstract.C       /^void 
Action_Pref::SetDimensions(void)$/
-Action_Pref::SetFather cp-src/abstract.C       /^void 
Action_Pref::SetFather(Tree_Node *f)$/
-Action_Pref::SetPosition       cp-src/abstract.C       /^void 
Action_Pref::SetPosition(Coord xx, Coord yy)$/
-Action_Pref::SetTextual        cp-src/abstract.C       /^void 
Action_Pref::SetTextual(char t, char s)$/
-Action_Pref::action_den        cp-src/abstract.H       706
-Action_Pref::bex       cp-src/abstract.H       707
-Action_Pref::border    cp-src/abstract.H       709
-Action_Pref::havebox   cp-src/abstract.H       708
 Ada_funcs      c-src/etags.c   /^Ada_funcs (FILE *inf)$/
 Ada_getit      c-src/etags.c   /^Ada_getit (FILE *inf, const char 
*name_qualifier)$/
 Ada_help       c-src/etags.c   475
@@ -614,7 +327,6 @@ BLOCKSIZE   c-src/emacs/src/gmalloc.c       126
 BOOL_VECTOR_BITS_PER_CHAR      c-src/emacs/src/lisp.h  114
 BOOL_VECTOR_BITS_PER_CHAR      c-src/emacs/src/lisp.h  115
 BOOL_VECTOR_P  c-src/emacs/src/lisp.h  /^BOOL_VECTOR_P (Lisp_Object a)$/
-BREAK  erl-src/lines.erl       /^-define(BREAK, 10).   % how many lines to 
store in e/
 BUFFERP        c-src/emacs/src/lisp.h  /^BUFFERP (Lisp_Object a)$/
 BUFFERSIZE     objc-src/Subprocess.h   43
 BUFFER_OBJFWDP c-src/emacs/src/lisp.h  /^BUFFER_OBJFWDP (union Lisp_Fwd *a)$/
@@ -753,7 +465,7 @@ CONSTYPE_PURE       c-src/emacs/src/lisp.h  3739
 CONS_TO_INTEGER        c-src/emacs/src/lisp.h  /^#define CONS_TO_INTEGER(cons, 
type, var)                              \\$/
 CONVERT_CHARSTRING_TO_VALUE    pas-src/common.pas      /^procedure 
CONVERT_CHARSTRING_TO_VALUE;(*($/
 CPPFLAGS       make-src/Makefile       49
-CPSRC  Makefile        /^CPSRC=$(addprefix .\/cp-src\/,c.C abstract.C abstrac/
+CPSRC  Makefile        /^CPSRC=$(addprefix .\/cp-src\/,c.C burton.cpp burton./
 CSRC   Makefile        /^CSRC=$(addprefix .\/c-src\/,abbrev.c .\/\/c.c 
torture./
 CTAGS  Makefile        /^CTAGS: FRC ${infiles}$/
 CTAGS  c-src/etags.c   146
@@ -770,26 +482,6 @@ C_entries  c-src/etags.c   /^C_entries (int c_ext, FILE 
*inf)$/
 C_stab_entry   c-src/etags.c   2271
 C_symtype      c-src/etags.c   /^C_symtype (char *str, int len, int c_ext)$/
 ChangeFileType pas-src/common.pas      /^function ChangeFileType; (*(FileName 
: NameString;/
-Choice cp-src/abstract.H       768
-Choice::ChangeH        cp-src/abstract.C       /^void Choice::ChangeH(int nh)$/
-Choice::ChangeW        cp-src/abstract.C       /^void Choice::ChangeW(int nw)$/
-Choice::Choice cp-src/abstract.C       /^Choice::Choice(Tree_Node *b1, 
Tree_Node *b2)$/
-Choice::Get_Textual_H  cp-src/abstract.C       /^int Choice::Get_Textual_H()$/
-Choice::Get_Textual_W  cp-src/abstract.C       /^int Choice::Get_Textual_W()$/
-Choice::SetCollapsed   cp-src/abstract.C       /^void 
Choice::SetCollapsed(char t)$/
-Choice::SetDimensions  cp-src/abstract.C       /^void 
Choice::SetDimensions(void)$/
-Choice::SetFather      cp-src/abstract.C       /^void 
Choice::SetFather(Tree_Node *f)$/
-Choice::SetPosition    cp-src/abstract.C       /^void 
Choice::SetPosition(Coord xx, Coord yy)$/
-Choice::SetTerminalPos cp-src/abstract.C       /^void 
Choice::SetTerminalPos()$/
-Choice::SetTextual     cp-src/abstract.C       /^void Choice::SetTextual(char 
t, char s)$/
-Choice::bex1   cp-src/abstract.H       770
-Choice::bex2   cp-src/abstract.H       770
-Choice::border cp-src/abstract.H       774
-Choice::delta  cp-src/abstract.H       773
-Choice::havebox        cp-src/abstract.H       772
-Choice::xl     cp-src/abstract.H       771
-Choice::yl     cp-src/abstract.H       771
-Choice::yl1    cp-src/abstract.H       771
 Cjava_entries  c-src/etags.c   /^Cjava_entries (FILE *inf)$/
 Cjava_help     c-src/etags.c   551
 Cjava_suffixes c-src/etags.c   549
@@ -798,35 +490,8 @@ Clear/p    ada-src/2ataspri.ads    /^   procedure Clear    
    (Cell : in out TAS_Cell
 Cobol_help     c-src/etags.c   558
 Cobol_paragraphs       c-src/etags.c   /^Cobol_paragraphs (FILE *inf)$/
 Cobol_suffixes c-src/etags.c   556
-Comment        cp-src/abstract.H       105
-Comment::Comment       cp-src/abstract.C       /^Comment::Comment()$/
-Comment::SetComment    cp-src/abstract.C       /^void Comment::SetComment(char 
*comment)$/
-Comment::SetDimensions cp-src/abstract.C       /^void 
Comment::SetDimensions(void)$/
-Comment::SetFather     cp-src/abstract.C       /^void 
Comment::SetFather(Tree_Node *f)$/
-Comment::SetPosition   cp-src/abstract.C       /^void 
Comment::SetPosition(Coord xx, Coord yy)$/
-Comment::comm  cp-src/abstract.H       107
-Comment::~Comment      cp-src/abstract.C       /^Comment::~Comment()$/
 CommentAD      php-src/lce_functions.php       70
 CommentAD      php-src/lce_functions.php       /^      function CommentAD($/
-Comment_List   cp-src/abstract.H       122
-Comment_List::Comment_List     cp-src/abstract.C       
/^Comment_List::Comment_List(Comment *el, Comment_Li/
-Comment_List::SetDimensions    cp-src/abstract.C       /^void 
Comment_List::SetDimensions(void)$/
-Comment_List::SetFather        cp-src/abstract.C       /^void 
Comment_List::SetFather(Tree_Node *f)$/
-Comment_List::SetPosition      cp-src/abstract.C       /^void 
Comment_List::SetPosition(Coord xx, Coord yy)/
-Comment_List::elem     cp-src/abstract.H       124
-Comment_List::next     cp-src/abstract.H       125
-Communication  cp-src/abstract.H       627
-Communication::Communication   cp-src/abstract.C       
/^Communication::Communication(ID_Place *i, Tree_Nod/
-Communication::SetCollapsed    cp-src/abstract.C       /^void 
Communication::SetCollapsed(char t)$/
-Communication::SetDimensions   cp-src/abstract.C       /^void 
Communication::SetDimensions(void)$/
-Communication::SetFather       cp-src/abstract.C       /^void 
Communication::SetFather(Tree_Node *f)$/
-Communication::SetPosition     cp-src/abstract.C       /^void 
Communication::SetPosition(Coord xx, Coord yy/
-Communication::SetTextual      cp-src/abstract.C       /^void 
Communication::SetTextual(char t, char)$/
-Communication::experiment_option       cp-src/abstract.H       630
-Communication::gate_identifier cp-src/abstract.H       629
-Communication::hr      cp-src/abstract.H       632
-Communication::xl      cp-src/abstract.H       631
-Communication::yl      cp-src/abstract.H       631
 ConcatT        pas-src/common.pas      /^function ConcatT;(*($/
 Concept Index  tex-src/gzip.texi       /address@hidden Concept Index, , 
Problems, Top$/
 Cond_Signal/p  ada-src/2ataspri.adb    /^   procedure Cond_Signal (Cond : in 
out Condition_/
@@ -855,8 +520,6 @@ D::D        cp-src/fail.C   /^              D() : 
::A::T2::T(97), x(1066) {}$/
 D::x   cp-src/fail.C   44
 DAEMON_RUNNING c-src/emacs/src/lisp.h  4258
 DAEMON_RUNNING c-src/emacs/src/lisp.h  4262
-DB     cp-src/cfront.H /^#define DB(a) fprintf a$/
-DB     cp-src/cfront.H /^#define DB(a) \/**\/$/
 DEAFUN c.c     /^DEAFUN ("expand-file-name", Fexpand_file_name, Sex/
 DEBUG  c-src/etags.c   84
 DEBUG  c-src/etags.c   85
@@ -867,7 +530,6 @@ DEFAULT_HASH_SIZE   c-src/emacs/src/lisp.h  1940
 DEFAULT_HASH_SIZE      c-src/emacs/src/lisp.h  1940
 DEFAULT_REHASH_SIZE    c-src/emacs/src/lisp.h  1950
 DEFAULT_REHASH_THRESHOLD       c-src/emacs/src/lisp.h  1946
-DEFINED        cp-src/cfront.H 230
 DEFINE_GDB_SYMBOL_BEGIN        c-src/emacs/src/lisp.h  /^# define 
DEFINE_GDB_SYMBOL_BEGIN(type, id) DECLARE/
 DEFINE_GDB_SYMBOL_BEGIN        c-src/emacs/src/lisp.h  /^# define 
DEFINE_GDB_SYMBOL_BEGIN(type, id) extern /
 DEFINE_GDB_SYMBOL_END  c-src/emacs/src/lisp.h  /^# define 
DEFINE_GDB_SYMBOL_END(id) = id;$/
@@ -896,8 +558,6 @@ DEFVAR_INT  c-src/emacs/src/lisp.h  /^#define 
DEFVAR_INT(lname, vname, doc)         \\$/
 DEFVAR_KBOARD  c-src/emacs/src/lisp.h  /^#define DEFVAR_KBOARD(lname, vname, 
doc)                      \\$/
 DEFVAR_LISP    c-src/emacs/src/lisp.h  /^#define DEFVAR_LISP(lname, vname, 
doc)                \\$/
 DEFVAR_LISP_NOPRO      c-src/emacs/src/lisp.h  /^#define 
DEFVAR_LISP_NOPRO(lname, vname, doc)  \\$/
-DEF_SEEN       cp-src/cfront.H 232
-DEL    cp-src/cfront.H /^#define DEL(p) if (p && (p->permanent==0)) p->del(/
 DEVICE_LAST    c-src/h.h       24
 DEVICE_SWP     c-src/h.h       23
 DOS_NT c-src/etags.c   117
@@ -917,34 +577,6 @@ Date::plus cp-src/functions.cpp    /^void Date::plus ( int 
days , int month , int y
 Date::setDate  cp-src/functions.cpp    /^void Date::setDate ( int d , int m , 
int y ){$/
 Date::shift    cp-src/functions.cpp    /^void Date::shift ( void ){\/\/Shift 
this date to pre/
 Debug  cp-src/functions.cpp    /^void Debug ( int lineno, int level, char* 
func , c/
-Definition     cp-src/abstract.H       382
-Definition::Definition cp-src/abstract.C       
/^Definition::Definition(Tree_Node *b, Proc_List *p,/
-Definition::GetPath    cp-src/abstract.H       /^ char *GetPath() { 
return(path);};$/
-Definition::SetDimensions      cp-src/abstract.C       /^void 
Definition::SetDimensions(void)$/
-Definition::SetFather  cp-src/abstract.C       /^void 
Definition::SetFather(Tree_Node *f)$/
-Definition::SetPath    cp-src/abstract.C       /^void Definition::SetPath(char 
*p, char n, int& np,/
-Definition::SetPosition        cp-src/abstract.C       /^void 
Definition::SetPosition(Coord xx, Coord yy)$/
-Definition::bex        cp-src/abstract.H       384
-Definition::data_list  cp-src/abstract.H       386
-Definition::path       cp-src/abstract.H       387
-Definition::process_list       cp-src/abstract.H       385
-Disable        cp-src/abstract.H       746
-Disable::Disable       cp-src/abstract.C       /^Disable::Disable(Tree_Node 
*b1, Tree_Node *b2)$/
-Disable::Get_Textual_H cp-src/abstract.C       /^int Disable::Get_Textual_H()$/
-Disable::Get_Textual_W cp-src/abstract.C       /^int Disable::Get_Textual_W()$/
-Disable::SetCollapsed  cp-src/abstract.C       /^void 
Disable::SetCollapsed(char t)$/
-Disable::SetDimensions cp-src/abstract.C       /^void 
Disable::SetDimensions(void)$/
-Disable::SetFather     cp-src/abstract.C       /^void 
Disable::SetFather(Tree_Node *f)$/
-Disable::SetPosition   cp-src/abstract.C       /^void 
Disable::SetPosition(Coord xx, Coord yy)$/
-Disable::SetTerminalPos        cp-src/abstract.C       /^void 
Disable::SetTerminalPos()$/
-Disable::SetTextual    cp-src/abstract.C       /^void Disable::SetTextual(char 
t, char s)$/
-Disable::bex1  cp-src/abstract.H       748
-Disable::bex2  cp-src/abstract.H       748
-Disable::border        cp-src/abstract.H       751
-Disable::havebox       cp-src/abstract.H       750
-Disable::xl    cp-src/abstract.H       749
-Disable::yl    cp-src/abstract.H       749
-Disable::yl2   cp-src/abstract.H       749
 DisposeANameList       pas-src/common.pas      /^procedure DisposeANameList( $/
 DisposeNameList        pas-src/common.pas      /^procedure DisposeNameList;$/
 ELEM_I c-src/h.h       3
@@ -978,7 +610,7 @@ ENUM_BF     c-src/emacs/src/lisp.h  /^      ENUM_BF 
(specbind_tag) kind : CHAR_BIT;$/
 ENUM_BF        c-src/emacs/src/lisp.h  /^      ENUM_BF (specbind_tag) kind : 
CHAR_BIT;$/
 EQ     c-src/emacs/src/lisp.h  /^# define EQ(x, y) lisp_h_EQ (x, y)$/
 EQUAL  y-src/cccp.c    12
-ERLSRC Makefile        /^ERLSRC=$(addprefix .\/erl-src\/,gs_dialog.erl lines./
+ERLSRC Makefile        /^ERLSRC=$(addprefix .\/erl-src\/,gs_dialog.erl)$/
 ERROR  y-src/parse.y   303
 ERROR  parse.y 303
 ERROR  y-src/cccp.c    9
@@ -988,106 +620,14 @@ EXFUN    c-src/emacs/src/lisp.h  /^#define EXFUN(fnname, 
maxargs) \\$/
 EXTERNALLY_VISIBLE     c-src/emacs/src/keyboard.c      3497
 EXTERNALLY_VISIBLE     c-src/emacs/src/keyboard.c      4372
 EmptyNmStr     pas-src/common.pas      /^function EmptyNmStr(* : 
NameString*);$/
-Enable cp-src/abstract.H       723
-Enable::Enable cp-src/abstract.C       /^Enable::Enable(Tree_Node *b1, ID_List 
*g_i_l, Tree/
-Enable::Get_Textual_H  cp-src/abstract.C       /^int Enable::Get_Textual_H()$/
-Enable::Get_Textual_W  cp-src/abstract.C       /^int Enable::Get_Textual_W()$/
-Enable::SetCollapsed   cp-src/abstract.C       /^void 
Enable::SetCollapsed(char t)$/
-Enable::SetDimensions  cp-src/abstract.C       /^void 
Enable::SetDimensions(void)$/
-Enable::SetFather      cp-src/abstract.C       /^void 
Enable::SetFather(Tree_Node *f)$/
-Enable::SetPosition    cp-src/abstract.C       /^void 
Enable::SetPosition(Coord xx, Coord yy)$/
-Enable::SetTerminalPos cp-src/abstract.C       /^void 
Enable::SetTerminalPos()$/
-Enable::SetTextual     cp-src/abstract.C       /^void Enable::SetTextual(char 
t, char s)$/
-Enable::Yclose cp-src/abstract.H       727
-Enable::bex1   cp-src/abstract.H       725
-Enable::bex2   cp-src/abstract.H       725
-Enable::border cp-src/abstract.H       729
-Enable::gate_id_list   cp-src/abstract.H       726
-Enable::havebox        cp-src/abstract.H       728
-Enable::xid    cp-src/abstract.H       727
-Enable::xl     cp-src/abstract.H       727
-Enable::xl2    cp-src/abstract.H       727
-Enable::yid    cp-src/abstract.H       727
-Enable::yl1    cp-src/abstract.H       727
-Enable::yl2    cp-src/abstract.H       727
 Environment    tex-src/gzip.texi       /address@hidden Environment, Tapes, 
Advanced usage, Top$/
-Equality       cp-src/abstract.H       473
-Equality::Equality     cp-src/abstract.C       /^Equality::Equality()$/
-Equality::Equality     cp-src/abstract.C       /^Equality::Equality(Tree_Node 
*ex1, Tree_Node *ex2)/
-Equality::SetCollapsed cp-src/abstract.C       /^void 
Equality::SetCollapsed(char t)$/
-Equality::SetDimensions        cp-src/abstract.C       /^void 
Equality::SetDimensions(void)$/
-Equality::SetFather    cp-src/abstract.C       /^void 
Equality::SetFather(Tree_Node *f)$/
-Equality::SetPosition  cp-src/abstract.C       /^void 
Equality::SetPosition(Coord xx, Coord yy)$/
-Equality::express1     cp-src/abstract.H       475
-Equality::express2     cp-src/abstract.H       476
 Erlang_functions       c-src/etags.c   /^Erlang_functions (FILE *inf)$/
 Erlang_help    c-src/etags.c   567
 Erlang_suffixes        c-src/etags.c   565
 ErrStrToNmStr  pas-src/common.pas      /^function ErrStrToNmStr;(*($/
 Error_Information/t    ada-src/2ataspri.ads    /^   type Error_Information is 
new Interfaces.C.POSI/
-Exclam cp-src/abstract.H       578
-Exclam::Exclam cp-src/abstract.C       /^Exclam::Exclam(Tree_Node *v_e)$/
-Exclam::SetCollapsed   cp-src/abstract.C       /^void 
Exclam::SetCollapsed(char t)$/
-Exclam::SetDimensions  cp-src/abstract.C       /^void 
Exclam::SetDimensions(void)$/
-Exclam::SetFather      cp-src/abstract.C       /^void 
Exclam::SetFather(Tree_Node *f)$/
-Exclam::SetPosition    cp-src/abstract.C       /^void 
Exclam::SetPosition(Coord xx, Coord yy)$/
-Exclam::value_exp      cp-src/abstract.H       580
-Exit   cp-src/abstract.H       407
-Exit::Exit     cp-src/abstract.C       /^Exit::Exit(ID_List *sl)$/
-Exit::SetDimensions    cp-src/abstract.C       /^void 
Exit::SetDimensions(void)$/
-Exit::SetFather        cp-src/abstract.C       /^void 
Exit::SetFather(Tree_Node *f)$/
-Exit::SetPosition      cp-src/abstract.C       /^void Exit::SetPosition(Coord 
x1, Coord y1, Coord x/
-Exit::sort_list        cp-src/abstract.H       409
-Exit_Bex       cp-src/abstract.H       810
-Exit_Bex::Exit_Bex     cp-src/abstract.C       
/^Exit_Bex::Exit_Bex(Exit_Entry_List *l)$/
-Exit_Bex::SetCollapsed cp-src/abstract.C       /^void 
Exit_Bex::SetCollapsed(char t)$/
-Exit_Bex::SetDimensions        cp-src/abstract.C       /^void 
Exit_Bex::SetDimensions(void)$/
-Exit_Bex::SetFather    cp-src/abstract.C       /^void 
Exit_Bex::SetFather(Tree_Node *f)$/
-Exit_Bex::SetPosition  cp-src/abstract.C       /^void 
Exit_Bex::SetPosition(Coord xx, Coord yy)$/
-Exit_Bex::SetTextual   cp-src/abstract.C       /^void 
Exit_Bex::SetTextual(char t, char s)$/
-Exit_Bex::Xclose       cp-src/abstract.H       813
-Exit_Bex::Xopen        cp-src/abstract.H       813
-Exit_Bex::border       cp-src/abstract.H       815
-Exit_Bex::entry_list   cp-src/abstract.H       812
-Exit_Bex::havebox      cp-src/abstract.H       814
-Exit_Entry     cp-src/abstract.H       165
-Exit_Entry::Exit_Entry cp-src/abstract.C       /^Exit_Entry::Exit_Entry() $/
-Exit_Entry::SetDimensions      cp-src/abstract.C       /^void 
Exit_Entry::SetDimensions(void)$/
-Exit_Entry::SetFather  cp-src/abstract.C       /^void 
Exit_Entry::SetFather(Tree_Node *f)$/
-Exit_Entry::SetPosition        cp-src/abstract.C       /^void 
Exit_Entry::SetPosition(Coord xx, Coord yy)$/
-Exit_Entry_List        cp-src/abstract.H       179
-Exit_Entry_List::Exit_Entry_List       cp-src/abstract.C       
/^Exit_Entry_List::Exit_Entry_List(Tree_Node *el, Ex/
-Exit_Entry_List::SetCollapsed  cp-src/abstract.C       /^void 
Exit_Entry_List::SetCollapsed(char t)$/
-Exit_Entry_List::SetDimensions cp-src/abstract.C       /^void 
Exit_Entry_List::SetDimensions(void)$/
-Exit_Entry_List::SetFather     cp-src/abstract.C       /^void 
Exit_Entry_List::SetFather(Tree_Node *f)$/
-Exit_Entry_List::SetPosition   cp-src/abstract.C       /^void 
Exit_Entry_List::SetPosition(Coord xx, Coord /
-Exit_Entry_List::elem  cp-src/abstract.H       181
-Exit_Entry_List::next  cp-src/abstract.H       182
 Exit_LL_Task/p ada-src/2ataspri.adb    /^   procedure Exit_LL_Task is$/
 Exit_LL_Task/p ada-src/2ataspri.ads    /^   procedure Exit_LL_Task;$/
-Exper_Off      cp-src/abstract.H       195
-Exper_Off::Exper_Off   cp-src/abstract.C       /^Exper_Off::Exper_Off()$/
-Exper_Off::SetDimensions       cp-src/abstract.C       /^void 
Exper_Off::SetDimensions(void)$/
-Exper_Off::SetFather   cp-src/abstract.C       /^void 
Exper_Off::SetFather(Tree_Node *f)$/
-Exper_Off::SetPosition cp-src/abstract.C       /^void 
Exper_Off::SetPosition(Coord xx, Coord yy)$/
-Exper_Off_List cp-src/abstract.H       207
-Exper_Off_List::Exper_Off_List cp-src/abstract.C       
/^Exper_Off_List::Exper_Off_List(Exper_Off *el, Expe/
-Exper_Off_List::SetCollapsed   cp-src/abstract.C       /^void 
Exper_Off_List::SetCollapsed(char t)$/
-Exper_Off_List::SetDimensions  cp-src/abstract.C       /^void 
Exper_Off_List::SetDimensions(void)$/
-Exper_Off_List::SetFather      cp-src/abstract.C       /^void 
Exper_Off_List::SetFather(Tree_Node *f)$/
-Exper_Off_List::SetPosition    cp-src/abstract.C       /^void 
Exper_Off_List::SetPosition(Coord xx, Coord y/
-Exper_Off_List::elem   cp-src/abstract.H       209
-Exper_Off_List::next   cp-src/abstract.H       210
-Experiment     cp-src/abstract.H       558
-Experiment::Experiment cp-src/abstract.C       
/^Experiment::Experiment(Exper_Off_List *e_of_l, Tre/
-Experiment::GetGuard   cp-src/abstract.H       /^ Tree_Node *GetGuard(void) { 
return(guard_option);/
-Experiment::SetCollapsed       cp-src/abstract.C       /^void 
Experiment::SetCollapsed(char t)$/
-Experiment::SetDimensions      cp-src/abstract.C       /^void 
Experiment::SetDimensions(void)$/
-Experiment::SetFather  cp-src/abstract.C       /^void 
Experiment::SetFather(Tree_Node *f)$/
-Experiment::SetPosition        cp-src/abstract.C       /^void 
Experiment::SetPosition(Coord xx, Coord yy)$/
-Experiment::SetTextual cp-src/abstract.C       /^void 
Experiment::SetTextual(char t, char)$/
-Experiment::exp_offer_list     cp-src/abstract.H       560
-Experiment::guard_option       cp-src/abstract.H       561
 ExtractCommentInfo     pas-src/common.pas      /^procedure ExtractCommentInfo; 
(*($/
 FASTCFLAGS     make-src/Makefile       55
 FILTER make-src/Makefile       58
@@ -1105,7 +645,6 @@ FRAMEP     c-src/emacs/src/lisp.h  /^FRAMEP (Lisp_Object 
a)$/
 FRC    Makefile        /^FRC:;$/
 FREEFLOOD      c-src/emacs/src/gmalloc.c       1858
 FSRC   Makefile        /^FSRC=$(addprefix .\/f-src\/,entry.for entry.strange_/
-FUDGE111       cp-src/cfront.H 791
 FUN0   y-src/parse.y   /^yylex FUN0()$/
 FUN0   parse.y /^yylex FUN0()$/
 FUN1   y-src/parse.y   /^yyerror FUN1(char *, s)$/
@@ -1177,33 +716,7 @@ GENERIC_PTR       y-src/cccp.y    56
 GENERIC_PTR    y-src/cccp.y    58
 GEQ    y-src/cccp.c    15
 GROW_RAW_KEYBUF        c-src/emacs/src/keyboard.c      119
-Gate_Decl      cp-src/abstract.H       223
-Gate_Decl::Gate_Decl   cp-src/abstract.C       /^Gate_Decl::Gate_Decl(ID_List 
*g_id_l1, ID_List *g_/
-Gate_Decl::SetCollapsed        cp-src/abstract.C       /^void 
Gate_Decl::SetCollapsed(char t)$/
-Gate_Decl::SetDimensions       cp-src/abstract.C       /^void 
Gate_Decl::SetDimensions(void)$/
-Gate_Decl::SetFather   cp-src/abstract.C       /^void 
Gate_Decl::SetFather(Tree_Node *f)$/
-Gate_Decl::SetPosition cp-src/abstract.C       /^void 
Gate_Decl::SetPosition(Coord xx, Coord yy)$/
-Gate_Decl::gate_id_list1       cp-src/abstract.H       225
-Gate_Decl::gate_id_list2       cp-src/abstract.H       226
-Gate_Decl_List cp-src/abstract.H       239
-Gate_Decl_List::Gate_Decl_List cp-src/abstract.C       
/^Gate_Decl_List::Gate_Decl_List(Gate_Decl *el, Gate/
-Gate_Decl_List::SetCollapsed   cp-src/abstract.C       /^void 
Gate_Decl_List::SetCollapsed(char t)$/
-Gate_Decl_List::SetDimensions  cp-src/abstract.C       /^void 
Gate_Decl_List::SetDimensions(void)$/
-Gate_Decl_List::SetFather      cp-src/abstract.C       /^void 
Gate_Decl_List::SetFather(Tree_Node *f)$/
-Gate_Decl_List::SetPosition    cp-src/abstract.C       /^void 
Gate_Decl_List::SetPosition(Coord xx, Coord y/
-Gate_Decl_List::elem   cp-src/abstract.H       241
-Gate_Decl_List::next   cp-src/abstract.H       242
 GatherControls pyt-src/server.py       /^    def GatherControls(self):$/
-Gen_Paral      cp-src/abstract.H       652
-Gen_Paral::Gen_Paral   cp-src/abstract.C       /^Gen_Paral::Gen_Paral(ID_List 
*g_i_l)$/
-Gen_Paral::HideGate    cp-src/abstract.H       /^ void HideGate() { ((ID_List 
*)gate_id_list)->Hide/
-Gen_Paral::SetCollapsed        cp-src/abstract.C       /^void 
Gen_Paral::SetCollapsed(char t)$/
-Gen_Paral::SetDimensions       cp-src/abstract.C       /^void 
Gen_Paral::SetDimensions(void)$/
-Gen_Paral::SetFather   cp-src/abstract.C       /^void 
Gen_Paral::SetFather(Tree_Node *f)$/
-Gen_Paral::SetPosition cp-src/abstract.C       /^void 
Gen_Paral::SetPosition(Coord xx, Coord yy)$/
-Gen_Paral::Xclose      cp-src/abstract.H       655
-Gen_Paral::border      cp-src/abstract.H       656
-Gen_Paral::gate_id_list        cp-src/abstract.H       654
 GetLayerByName lua-src/allegro.lua     /^function GetLayerByName (name)$/
 GetNameList    pas-src/common.pas      /^function GetNameList; (* : 
BinNodePointer;*)$/
 GetNewNameListNode     pas-src/common.pas      /^function 
GetNewNameListNode;(*($/
@@ -1213,24 +726,6 @@ Get_Own_Priority/f        ada-src/2ataspri.adb    /^   
function Get_Own_Priority return Sy
 Get_Own_Priority/f     ada-src/2ataspri.ads    /^   function Get_Own_Priority 
return System.Any_Pri/
 Get_Priority/f ada-src/2ataspri.adb    /^   function Get_Priority (T : 
TCB_Ptr) return Syst/
 Get_Priority/f ada-src/2ataspri.ads    /^   function Get_Priority (T : 
TCB_Ptr) return Syst/
-Guard  cp-src/abstract.H       524
-Guard::Guard   cp-src/abstract.C       /^Guard::Guard(Equality *eq)$/
-Guard::SetCollapsed    cp-src/abstract.C       /^void Guard::SetCollapsed(char 
t)$/
-Guard::SetDimensions   cp-src/abstract.C       /^void 
Guard::SetDimensions(void)$/
-Guard::SetFather       cp-src/abstract.C       /^void 
Guard::SetFather(Tree_Node *f)$/
-Guard::SetPosition     cp-src/abstract.C       /^void Guard::SetPosition(Coord 
xx, Coord yy)$/
-Guard::equality        cp-src/abstract.H       526
-Guarded        cp-src/abstract.H       848
-Guarded::Guarded       cp-src/abstract.C       /^Guarded::Guarded(Equality 
*eq, Tree_Node *b)$/
-Guarded::SetCollapsed  cp-src/abstract.C       /^void 
Guarded::SetCollapsed(char t)$/
-Guarded::SetDimensions cp-src/abstract.C       /^void 
Guarded::SetDimensions(void)$/
-Guarded::SetFather     cp-src/abstract.C       /^void 
Guarded::SetFather(Tree_Node *f)$/
-Guarded::SetPosition   cp-src/abstract.C       /^void 
Guarded::SetPosition(Coord xx, Coord yy)$/
-Guarded::SetTextual    cp-src/abstract.C       /^void Guarded::SetTextual(char 
t, char s)$/
-Guarded::Xclose        cp-src/abstract.H       852
-Guarded::bex   cp-src/abstract.H       851
-Guarded::border        cp-src/abstract.H       853
-Guarded::equality      cp-src/abstract.H       850
 HASH_HASH      c-src/emacs/src/lisp.h  /^HASH_HASH (struct Lisp_Hash_Table *h, 
ptrdiff_t id/
 HASH_INDEX     c-src/emacs/src/lisp.h  /^HASH_INDEX (struct Lisp_Hash_Table 
*h, ptrdiff_t i/
 HASH_KEY       c-src/emacs/src/lisp.h  /^HASH_KEY (struct Lisp_Hash_Table *h, 
ptrdiff_t idx/
@@ -1244,53 +739,6 @@ HTMLSRC   Makefile        /^HTMLSRC=$(addprefix 
.\/html-src\/,softwarelibero.htm/
 HTML_help      c-src/etags.c   584
 HTML_labels    c-src/etags.c   /^HTML_labels (FILE *inf)$/
 HTML_suffixes  c-src/etags.c   582
-Half_Container cp-src/abstract.H       287
-Half_Container::Half_Container cp-src/abstract.C       
/^Half_Container::Half_Container(ID_List *g_l)$/
-Half_Container::SetCollapsed   cp-src/abstract.C       /^void 
Half_Container::SetCollapsed(char t)$/
-Half_Container::SetDimensions  cp-src/abstract.C       /^void 
Half_Container::SetDimensions(void)$/
-Half_Container::SetFather      cp-src/abstract.C       /^void 
Half_Container::SetFather(Tree_Node *f)$/
-Half_Container::SetPosition    cp-src/abstract.C       /^void 
Half_Container::SetPosition(Coord xx, Coord y/
-Half_Container::gate_list      cp-src/abstract.H       289
-Hide   cp-src/abstract.H       829
-Hide::Hide     cp-src/abstract.C       /^Hide::Hide(ID_List *g_l, Tree_Node 
*b)$/
-Hide::SetCollapsed     cp-src/abstract.C       /^void Hide::SetCollapsed(char 
t)$/
-Hide::SetDimensions    cp-src/abstract.C       /^void 
Hide::SetDimensions(void)$/
-Hide::SetFather        cp-src/abstract.C       /^void 
Hide::SetFather(Tree_Node *f)$/
-Hide::SetPosition      cp-src/abstract.C       /^void Hide::SetPosition(Coord 
xx, Coord yy)$/
-Hide::SetTextual       cp-src/abstract.C       /^void Hide::SetTextual(char t, 
char s)$/
-Hide::bex      cp-src/abstract.H       832
-Hide::border   cp-src/abstract.H       833
-Hide::gate_list        cp-src/abstract.H       831
-Hide::yl       cp-src/abstract.H       834
-ID_List        cp-src/abstract.H       47
-ID_List::BuildSigSorts cp-src/abstract.C       /^void 
ID_List::BuildSigSorts(char bubble, Signature/
-ID_List::ClearIDs      cp-src/abstract.C       /^void ID_List::ClearIDs(void)$/
-ID_List::GetCardinality        cp-src/abstract.C       /^int 
ID_List::GetCardinality(int c)$/
-ID_List::HideMe        cp-src/abstract.C       /^void ID_List::HideMe(void)$/
-ID_List::ID_List       cp-src/abstract.C       /^ID_List::ID_List(ID_Place 
*el, ID_List *nxt)$/
-ID_List::SetAlignement cp-src/abstract.C       /^void 
ID_List::SetAlignement(char a)$/
-ID_List::SetCollapsed  cp-src/abstract.C       /^void 
ID_List::SetCollapsed(char t)$/
-ID_List::SetDimensions cp-src/abstract.C       /^void 
ID_List::SetDimensions(void)$/
-ID_List::SetFather     cp-src/abstract.C       /^void 
ID_List::SetFather(Tree_Node *f)$/
-ID_List::SetPosition   cp-src/abstract.C       /^void 
ID_List::SetPosition(Coord xx, Coord yy)$/
-ID_List::SetRBubble    cp-src/abstract.C       /^void ID_List::SetRBubble(char 
r)$/
-ID_List::SetVisible    cp-src/abstract.C       /^void ID_List::SetVisible(char 
v)$/
-ID_List::elem  cp-src/abstract.H       49
-ID_List::next  cp-src/abstract.H       50
-ID_Place       cp-src/abstract.H       23
-ID_Place::ClearID      cp-src/abstract.C       /^void ID_Place::ClearID(void)$/
-ID_Place::GetIdent     cp-src/abstract.H       /^ char *GetIdent() 
{return(str);};$/
-ID_Place::GetRBubble   cp-src/abstract.H       /^ char GetRBubble(void) { 
return(RBubble); };$/
-ID_Place::ID_Place     cp-src/abstract.C       /^ID_Place::ID_Place()$/
-ID_Place::RBubble      cp-src/abstract.H       26
-ID_Place::SetDimensions        cp-src/abstract.C       /^void 
ID_Place::SetDimensions(void)$/
-ID_Place::SetFather    cp-src/abstract.C       /^void 
ID_Place::SetFather(Tree_Node *f)$/
-ID_Place::SetIdent     cp-src/abstract.C       /^void ID_Place::SetIdent(char 
*identifier)$/
-ID_Place::SetPosition  cp-src/abstract.C       /^void 
ID_Place::SetPosition(Coord xx, Coord yy)$/
-ID_Place::SetRBubble   cp-src/abstract.H       /^ void SetRBubble(char r) { 
RBubble = r; };$/
-ID_Place::SetVisible   cp-src/abstract.C       /^void 
ID_Place::SetVisible(char v)$/
-ID_Place::str  cp-src/abstract.H       25
-ID_Place::~ID_Place    cp-src/abstract.C       /^ID_Place::~ID_Place()$/
 IEEE_FLOATING_POINT    c-src/emacs/src/lisp.h  2415
 IMAGEP c-src/emacs/src/lisp.h  /^IMAGEP (Lisp_Object x)$/
 INPUT_EVENT_POS_MAX    c-src/emacs/src/keyboard.c      3698
@@ -1307,7 +755,6 @@ INTTYPEBITS        c-src/emacs/src/lisp.h  249
 INT_BIT        c-src/emacs/src/gmalloc.c       124
 INT_TYPE_SIZE  cccp.y  91
 INT_TYPE_SIZE  y-src/cccp.y    91
-IN_ERROR       cp-src/cfront.H 234
 ISALNUM        c-src/etags.c   /^#define ISALNUM(c)    isalnum (CHAR (c))$/
 ISALPHA        c-src/etags.c   /^#define ISALPHA(c)    isalpha (CHAR (c))$/
 ISDIGIT        c-src/etags.c   /^#define ISDIGIT(c)    isdigit (CHAR (c))$/
@@ -1316,38 +763,6 @@ ISO_FUNCTION_KEY_OFFSET   c-src/emacs/src/keyboard.c      
5149
 ISUPPER        c-src/etags.c   /^# define ISUPPER(c)   isupper (CHAR (c))$/
 IS_DAEMON      c-src/emacs/src/lisp.h  4257
 IS_DAEMON      c-src/emacs/src/lisp.h  4261
-Id_Decl        cp-src/abstract.H       73
-Id_Decl::Id_Decl       cp-src/abstract.C       /^Id_Decl::Id_Decl(ID_List *l, 
ID_Place *s)$/
-Id_Decl::SetCollapsed  cp-src/abstract.C       /^void 
Id_Decl::SetCollapsed(char t)$/
-Id_Decl::SetDimensions cp-src/abstract.C       /^void 
Id_Decl::SetDimensions(void)$/
-Id_Decl::SetFather     cp-src/abstract.C       /^void 
Id_Decl::SetFather(Tree_Node *f)$/
-Id_Decl::SetPosition   cp-src/abstract.C       /^void 
Id_Decl::SetPosition(Coord xx, Coord yy)$/
-Id_Decl::id_list       cp-src/abstract.H       75
-Id_Decl::sort_id       cp-src/abstract.H       76
-Id_Decl_List   cp-src/abstract.H       89
-Id_Decl_List::Id_Decl_List     cp-src/abstract.C       
/^Id_Decl_List::Id_Decl_List(Id_Decl *el, Id_Decl_Li/
-Id_Decl_List::SetCollapsed     cp-src/abstract.C       /^void 
Id_Decl_List::SetCollapsed(char t)$/
-Id_Decl_List::SetDimensions    cp-src/abstract.C       /^void 
Id_Decl_List::SetDimensions(void)$/
-Id_Decl_List::SetFather        cp-src/abstract.C       /^void 
Id_Decl_List::SetFather(Tree_Node *f)$/
-Id_Decl_List::SetPosition      cp-src/abstract.C       /^void 
Id_Decl_List::SetPosition(Coord xx, Coord yy)/
-Id_Decl_List::elem     cp-src/abstract.H       91
-Id_Decl_List::next     cp-src/abstract.H       92
-Ident_Eq       cp-src/abstract.H       255
-Ident_Eq::Ident_Eq     cp-src/abstract.C       /^Ident_Eq::Ident_Eq(Id_Decl 
*idd, Value_Expr *ex)$/
-Ident_Eq::SetCollapsed cp-src/abstract.C       /^void 
Ident_Eq::SetCollapsed(char t)$/
-Ident_Eq::SetDimensions        cp-src/abstract.C       /^void 
Ident_Eq::SetDimensions(void)$/
-Ident_Eq::SetFather    cp-src/abstract.C       /^void 
Ident_Eq::SetFather(Tree_Node *f)$/
-Ident_Eq::SetPosition  cp-src/abstract.C       /^void 
Ident_Eq::SetPosition(Coord xx, Coord yy)$/
-Ident_Eq::expr cp-src/abstract.H       258
-Ident_Eq::iddecl       cp-src/abstract.H       257
-Ident_Eq_List  cp-src/abstract.H       271
-Ident_Eq_List::Ident_Eq_List   cp-src/abstract.C       
/^Ident_Eq_List::Ident_Eq_List(Ident_Eq *el, Ident_E/
-Ident_Eq_List::SetCollapsed    cp-src/abstract.C       /^void 
Ident_Eq_List::SetCollapsed(char t)$/
-Ident_Eq_List::SetDimensions   cp-src/abstract.C       /^void 
Ident_Eq_List::SetDimensions(void)$/
-Ident_Eq_List::SetFather       cp-src/abstract.C       /^void 
Ident_Eq_List::SetFather(Tree_Node *f)$/
-Ident_Eq_List::SetPosition     cp-src/abstract.C       /^void 
Ident_Eq_List::SetPosition(Coord xx, Coord yy/
-Ident_Eq_List::elem    cp-src/abstract.H       273
-Ident_Eq_List::next    cp-src/abstract.H       274
 InitNameList   pas-src/common.pas      /^procedure InitNameList;$/
 InitNameStringPool     pas-src/common.pas      /^procedure 
InitNameStringPool;$/
 InitializeStringPackage        pas-src/common.pas      /^procedure 
InitializeStringPackage;$/
@@ -1371,155 +786,14 @@ Install_Abort_Handler/p ada-src/2ataspri.adb    /^   
procedure Install_Abort_Handle
 Install_Abort_Handler/p        ada-src/2ataspri.ads    /^   procedure 
Install_Abort_Handler (Handler : Abor/
 Install_Error_Handler/p        ada-src/2ataspri.adb    /^   procedure 
Install_Error_Handler (Handler : Syst/
 Install_Error_Handler/p        ada-src/2ataspri.ads    /^   procedure 
Install_Error_Handler (Handler : Syst/
-Interl cp-src/abstract.H       672
-Interl::Interl cp-src/abstract.C       /^Interl::Interl()$/
-Interl::SetDimensions  cp-src/abstract.C       /^void 
Interl::SetDimensions(void)$/
-Interl::SetFather      cp-src/abstract.C       /^void 
Interl::SetFather(Tree_Node *f)$/
-Interl::SetPosition    cp-src/abstract.C       /^void 
Interl::SetPosition(Coord xx, Coord yy)$/
-Internal       cp-src/abstract.H       614
-Internal::Internal     cp-src/abstract.C       /^Internal::Internal()$/
-Internal::SetDimensions        cp-src/abstract.C       /^void 
Internal::SetDimensions(void)$/
-Internal::SetFather    cp-src/abstract.C       /^void 
Internal::SetFather(Tree_Node *f)$/
-Internal::SetPosition  cp-src/abstract.C       /^void 
Internal::SetPosition(Coord xx, Coord yy)$/
 Invoking gzip  tex-src/gzip.texi       /address@hidden Invoking gzip, Advanced 
usage, Sample, Top$/
 IsControlChar  pas-src/common.pas      /^function IsControlChar; (*($/
 IsControlCharName      pas-src/common.pas      /^function IsControlCharName($/
 Is_Set/f       ada-src/2ataspri.adb    /^   function  Is_Set (Cell : in 
TAS_Cell) return Bo/
 Is_Set/f       ada-src/2ataspri.ads    /^   function  Is_Set       (Cell : in  
   TAS_Cell)/
-JAVASRC        Makefile        /^JAVASRC=$(addprefix 
.\/java-src\/,AWTEMul.java KeyEv/
 KBD_BUFFER_SIZE        c-src/emacs/src/keyboard.c      82
 KBYTES objc-src/PackInsp.m     58
 KEY_TO_CHAR    c-src/emacs/src/keyboard.c      /^#define KEY_TO_CHAR(k) (XINT 
(k) & ((1 << CHARACTE/
-KeyEvent       java-src/KeyEve.java    36
-KeyEvent.CHAR_UNDEFINED        java-src/KeyEve.java    214
-KeyEvent.KEY_FIRST     java-src/KeyEve.java    41
-KeyEvent.KEY_LAST      java-src/KeyEve.java    46
-KeyEvent.KEY_PRESSED   java-src/KeyEve.java    57
-KeyEvent.KEY_RELEASED  java-src/KeyEve.java    62
-KeyEvent.KEY_TYPED     java-src/KeyEve.java    52
-KeyEvent.KeyEvent      java-src/KeyEve.java    /^    public KeyEvent(Component 
source, int id, long/
-KeyEvent.KeyEvent      java-src/KeyEve.java    /^    public KeyEvent(Component 
source, int id, long/
-KeyEvent.VK_0  java-src/KeyEve.java    110
-KeyEvent.VK_1  java-src/KeyEve.java    111
-KeyEvent.VK_2  java-src/KeyEve.java    112
-KeyEvent.VK_3  java-src/KeyEve.java    113
-KeyEvent.VK_4  java-src/KeyEve.java    114
-KeyEvent.VK_5  java-src/KeyEve.java    115
-KeyEvent.VK_6  java-src/KeyEve.java    116
-KeyEvent.VK_7  java-src/KeyEve.java    117
-KeyEvent.VK_8  java-src/KeyEve.java    118
-KeyEvent.VK_9  java-src/KeyEve.java    119
-KeyEvent.VK_A  java-src/KeyEve.java    125
-KeyEvent.VK_ACCEPT     java-src/KeyEve.java    200
-KeyEvent.VK_ADD        java-src/KeyEve.java    167
-KeyEvent.VK_ALT        java-src/KeyEve.java    92
-KeyEvent.VK_B  java-src/KeyEve.java    126
-KeyEvent.VK_BACK_QUOTE java-src/KeyEve.java    193
-KeyEvent.VK_BACK_SLASH java-src/KeyEve.java    153
-KeyEvent.VK_BACK_SPACE java-src/KeyEve.java    86
-KeyEvent.VK_C  java-src/KeyEve.java    127
-KeyEvent.VK_CANCEL     java-src/KeyEve.java    88
-KeyEvent.VK_CAPS_LOCK  java-src/KeyEve.java    94
-KeyEvent.VK_CLEAR      java-src/KeyEve.java    89
-KeyEvent.VK_CLOSE_BRACKET      java-src/KeyEve.java    154
-KeyEvent.VK_COMMA      java-src/KeyEve.java    105
-KeyEvent.VK_CONTROL    java-src/KeyEve.java    91
-KeyEvent.VK_CONVERT    java-src/KeyEve.java    198
-KeyEvent.VK_D  java-src/KeyEve.java    128
-KeyEvent.VK_DECIMAL    java-src/KeyEve.java    170
-KeyEvent.VK_DELETE     java-src/KeyEve.java    184
-KeyEvent.VK_DIVIDE     java-src/KeyEve.java    171
-KeyEvent.VK_DOWN       java-src/KeyEve.java    104
-KeyEvent.VK_E  java-src/KeyEve.java    129
-KeyEvent.VK_END        java-src/KeyEve.java    99
-KeyEvent.VK_ENTER      java-src/KeyEve.java    85
-KeyEvent.VK_EQUALS     java-src/KeyEve.java    122
-KeyEvent.VK_ESCAPE     java-src/KeyEve.java    95
-KeyEvent.VK_F  java-src/KeyEve.java    130
-KeyEvent.VK_F1 java-src/KeyEve.java    172
-KeyEvent.VK_F10        java-src/KeyEve.java    181
-KeyEvent.VK_F11        java-src/KeyEve.java    182
-KeyEvent.VK_F12        java-src/KeyEve.java    183
-KeyEvent.VK_F2 java-src/KeyEve.java    173
-KeyEvent.VK_F3 java-src/KeyEve.java    174
-KeyEvent.VK_F4 java-src/KeyEve.java    175
-KeyEvent.VK_F5 java-src/KeyEve.java    176
-KeyEvent.VK_F6 java-src/KeyEve.java    177
-KeyEvent.VK_F7 java-src/KeyEve.java    178
-KeyEvent.VK_F8 java-src/KeyEve.java    179
-KeyEvent.VK_F9 java-src/KeyEve.java    180
-KeyEvent.VK_FINAL      java-src/KeyEve.java    197
-KeyEvent.VK_G  java-src/KeyEve.java    131
-KeyEvent.VK_H  java-src/KeyEve.java    132
-KeyEvent.VK_HELP       java-src/KeyEve.java    190
-KeyEvent.VK_HOME       java-src/KeyEve.java    100
-KeyEvent.VK_I  java-src/KeyEve.java    133
-KeyEvent.VK_INSERT     java-src/KeyEve.java    189
-KeyEvent.VK_J  java-src/KeyEve.java    134
-KeyEvent.VK_K  java-src/KeyEve.java    135
-KeyEvent.VK_KANA       java-src/KeyEve.java    202
-KeyEvent.VK_KANJI      java-src/KeyEve.java    203
-KeyEvent.VK_L  java-src/KeyEve.java    136
-KeyEvent.VK_LEFT       java-src/KeyEve.java    101
-KeyEvent.VK_M  java-src/KeyEve.java    137
-KeyEvent.VK_META       java-src/KeyEve.java    191
-KeyEvent.VK_MODECHANGE java-src/KeyEve.java    201
-KeyEvent.VK_MULTIPLY   java-src/KeyEve.java    166
-KeyEvent.VK_N  java-src/KeyEve.java    138
-KeyEvent.VK_NONCONVERT java-src/KeyEve.java    199
-KeyEvent.VK_NUMPAD0    java-src/KeyEve.java    156
-KeyEvent.VK_NUMPAD1    java-src/KeyEve.java    157
-KeyEvent.VK_NUMPAD2    java-src/KeyEve.java    158
-KeyEvent.VK_NUMPAD3    java-src/KeyEve.java    159
-KeyEvent.VK_NUMPAD4    java-src/KeyEve.java    160
-KeyEvent.VK_NUMPAD5    java-src/KeyEve.java    161
-KeyEvent.VK_NUMPAD6    java-src/KeyEve.java    162
-KeyEvent.VK_NUMPAD7    java-src/KeyEve.java    163
-KeyEvent.VK_NUMPAD8    java-src/KeyEve.java    164
-KeyEvent.VK_NUMPAD9    java-src/KeyEve.java    165
-KeyEvent.VK_NUM_LOCK   java-src/KeyEve.java    185
-KeyEvent.VK_O  java-src/KeyEve.java    139
-KeyEvent.VK_OPEN_BRACKET       java-src/KeyEve.java    152
-KeyEvent.VK_P  java-src/KeyEve.java    140
-KeyEvent.VK_PAGE_DOWN  java-src/KeyEve.java    98
-KeyEvent.VK_PAGE_UP    java-src/KeyEve.java    97
-KeyEvent.VK_PAUSE      java-src/KeyEve.java    93
-KeyEvent.VK_PERIOD     java-src/KeyEve.java    106
-KeyEvent.VK_PRINTSCREEN        java-src/KeyEve.java    188
-KeyEvent.VK_Q  java-src/KeyEve.java    141
-KeyEvent.VK_QUOTE      java-src/KeyEve.java    194
-KeyEvent.VK_R  java-src/KeyEve.java    142
-KeyEvent.VK_RIGHT      java-src/KeyEve.java    103
-KeyEvent.VK_S  java-src/KeyEve.java    143
-KeyEvent.VK_SCROLL_LOCK        java-src/KeyEve.java    186
-KeyEvent.VK_SEMICOLON  java-src/KeyEve.java    121
-KeyEvent.VK_SEPARATER  java-src/KeyEve.java    168
-KeyEvent.VK_SHIFT      java-src/KeyEve.java    90
-KeyEvent.VK_SLASH      java-src/KeyEve.java    107
-KeyEvent.VK_SPACE      java-src/KeyEve.java    96
-KeyEvent.VK_SUBTRACT   java-src/KeyEve.java    169
-KeyEvent.VK_T  java-src/KeyEve.java    144
-KeyEvent.VK_TAB        java-src/KeyEve.java    87
-KeyEvent.VK_U  java-src/KeyEve.java    145
-KeyEvent.VK_UNDEFINED  java-src/KeyEve.java    208
-KeyEvent.VK_UP java-src/KeyEve.java    102
-KeyEvent.VK_V  java-src/KeyEve.java    146
-KeyEvent.VK_W  java-src/KeyEve.java    147
-KeyEvent.VK_X  java-src/KeyEve.java    148
-KeyEvent.VK_Y  java-src/KeyEve.java    149
-KeyEvent.VK_Z  java-src/KeyEve.java    150
-KeyEvent.getKeyChar    java-src/KeyEve.java    /^    public char getKeyChar() 
{$/
-KeyEvent.getKeyCode    java-src/KeyEve.java    /^    public int getKeyCode() 
{$/
-KeyEvent.getKeyModifiersText   java-src/KeyEve.java    /^    public static 
String getKeyModifiersText(int m/
-KeyEvent.getKeyText    java-src/KeyEve.java    /^    public static String 
getKeyText(int keyCode) {/
-KeyEvent.isActionKey   java-src/KeyEve.java    /^    public boolean 
isActionKey() {$/
-KeyEvent.keyChar       java-src/KeyEve.java    217
-KeyEvent.keyCode       java-src/KeyEve.java    216
-KeyEvent.paramString   java-src/KeyEve.java    /^    public String 
paramString() {$/
-KeyEvent.serialVersionUID      java-src/KeyEve.java    222
-KeyEvent.setKeyChar    java-src/KeyEve.java    /^    public void 
setKeyChar(char keyChar) {$/
-KeyEvent.setKeyCode    java-src/KeyEve.java    /^    public void 
setKeyCode(int keyCode) {$/
-KeyEvent.setModifiers  java-src/KeyEve.java    /^    public void 
setModifiers(int modifiers) {$/
 LATEST make-src/Makefile       1
 LCE_COMMENT    php-src/lce_functions.php       13
 LCE_COMMENT_TOOL       php-src/lce_functions.php       17
@@ -1654,17 +928,6 @@ Lisp_functions    c-src/etags.c   /^Lisp_functions (FILE 
*inf)$/
 Lisp_help      c-src/etags.c   591
 Lisp_suffixes  c-src/etags.c   589
 ListEdit       pyt-src/server.py       /^class ListEdit(Frame):$/
-Local_Def      cp-src/abstract.H       914
-Local_Def::Local_Def   cp-src/abstract.C       
/^Local_Def::Local_Def(Ident_Eq_List *e_l, Tree_Node/
-Local_Def::SetCollapsed        cp-src/abstract.C       /^void 
Local_Def::SetCollapsed(char t)$/
-Local_Def::SetDimensions       cp-src/abstract.C       /^void 
Local_Def::SetDimensions(void)$/
-Local_Def::SetFather   cp-src/abstract.C       /^void 
Local_Def::SetFather(Tree_Node *f)$/
-Local_Def::SetPosition cp-src/abstract.C       /^void 
Local_Def::SetPosition(Coord xx, Coord yy)$/
-Local_Def::SetTextual  cp-src/abstract.C       /^void 
Local_Def::SetTextual(char t, char s)$/
-Local_Def::bex cp-src/abstract.H       917
-Local_Def::border      cp-src/abstract.H       919
-Local_Def::equa_list   cp-src/abstract.H       916
-Local_Def::yl  cp-src/abstract.H       918
 Locate pas-src/common.pas      /^function Locate; (*($/
 Lock/t ada-src/2ataspri.ads    /^   type Lock is private;$/
 Lock/t ada-src/2ataspri.ads    /^   type Lock is$/
@@ -1679,7 +942,6 @@ MAKESRC    Makefile        /^MAKESRC=$(addprefix 
.\/make-src\/,Makefile)$/
 MALLOCFLOOD    c-src/emacs/src/gmalloc.c       1857
 MANY   c-src/emacs/src/lisp.h  2833
 MARKERP        c-src/emacs/src/lisp.h  /^# define MARKERP(x) lisp_h_MARKERP 
(x)$/
-MAXCONT        cp-src/cfront.H 751
 MAXPATHLEN     c-src/etags.c   115
 MAX_ALLOCA     c-src/emacs/src/lisp.h  4556
 MAX_ALLOCA     c-src/emacs/src/lisp.h  4556
@@ -1705,7 +967,6 @@ MDiagArray2::MDiagArray2   cp-src/MDiagArray2.h    /^  
MDiagArray2 (const MDiagArray2
 MDiagArray2::operator =        cp-src/MDiagArray2.h    /^  MDiagArray2<T>& 
operator = (const MDiagArray2<T>/
 MDiagArray2::operator MArray2<T>       cp-src/MDiagArray2.h    /^  operator 
MArray2<T> () const$/
 MDiagArray2::~MDiagArray2      cp-src/MDiagArray2.h    /^  ~MDiagArray2 (void) 
{ }$/
-MIA    cp-src/cfront.H 779
 MIN_HASH_VALUE c-src/etags.c   2328
 MIN_WORD_LENGTH        c-src/etags.c   2326
 MISCP  c-src/emacs/src/lisp.h  /^# define MISCP(x) lisp_h_MISCP (x)$/
@@ -1772,52 +1033,6 @@ NewLayerSet      lua-src/allegro.lua     /^function 
NewLayerSet (name)$/
 NewNameString  pas-src/common.pas      /^procedure NewNameString; (* (var NSP: 
NameStringPo/
 NmStrToErrStr  pas-src/common.pas      /^function NmStrToErrStr;(*($/
 NmStrToInteger pas-src/common.pas      /^function NmStrToInteger; (* (Str : 
NameString) : i/
-NoExit cp-src/abstract.H       421
-NoExit::NoExit cp-src/abstract.C       /^NoExit::NoExit()$/
-NoExit::SetDimensions  cp-src/abstract.C       /^void 
NoExit::SetDimensions(void)$/
-NoExit::SetFather      cp-src/abstract.C       /^void 
NoExit::SetFather(Tree_Node *f)$/
-NoExit::SetPosition    cp-src/abstract.C       /^void 
NoExit::SetPosition(Coord xx, Coord yy)$/
-NoExperiment   cp-src/abstract.H       545
-NoExperiment::NoExperiment     cp-src/abstract.C       
/^NoExperiment::NoExperiment()$/
-NoExperiment::SetDimensions    cp-src/abstract.C       /^void 
NoExperiment::SetDimensions(void)$/
-NoExperiment::SetFather        cp-src/abstract.C       /^void 
NoExperiment::SetFather(Tree_Node *f)$/
-NoExperiment::SetPosition      cp-src/abstract.C       /^void 
NoExperiment::SetPosition(Coord xx, Coord yy)/
-NoGuard        cp-src/abstract.H       511
-NoGuard::NoGuard       cp-src/abstract.C       /^NoGuard::NoGuard()$/
-NoGuard::SetDimensions cp-src/abstract.C       /^void 
NoGuard::SetDimensions(void)$/
-NoGuard::SetFather     cp-src/abstract.C       /^void 
NoGuard::SetFather(Tree_Node *f)$/
-NoGuard::SetPosition   cp-src/abstract.C       /^void 
NoGuard::SetPosition(Coord xx, Coord yy)$/
-NullSecurityManager    java-src/SMan.java      817
-NullSecurityManager.checkAccept        java-src/SMan.java      /^    public 
void checkAccept(String host, int port)/
-NullSecurityManager.checkAccess        java-src/SMan.java      /^    public 
void checkAccess(Thread g) { }$/
-NullSecurityManager.checkAccess        java-src/SMan.java      /^    public 
void checkAccess(ThreadGroup g) { }$/
-NullSecurityManager.checkAwtEventQueueAccess   java-src/SMan.java      /^    
public void checkAwtEventQueueAccess() { }$/
-NullSecurityManager.checkConnect       java-src/SMan.java      /^    public 
void checkConnect(String host, int port/
-NullSecurityManager.checkConnect       java-src/SMan.java      /^    public 
void checkConnect(String host, int port/
-NullSecurityManager.checkCreateClassLoader     java-src/SMan.java      /^    
public void checkCreateClassLoader() { } $/
-NullSecurityManager.checkDelete        java-src/SMan.java      /^    public 
void checkDelete(String file) { }$/
-NullSecurityManager.checkExec  java-src/SMan.java      /^    public void 
checkExec(String cmd) { }$/
-NullSecurityManager.checkExit  java-src/SMan.java      /^    public void 
checkExit(int status) { }$/
-NullSecurityManager.checkLink  java-src/SMan.java      /^    public void 
checkLink(String lib) { }$/
-NullSecurityManager.checkListen        java-src/SMan.java      /^    public 
void checkListen(int port) { }$/
-NullSecurityManager.checkMemberAccess  java-src/SMan.java      /^    public 
void checkMemberAccess(Class clazz, int/
-NullSecurityManager.checkMulticast     java-src/SMan.java      /^    public 
void checkMulticast(InetAddress maddr) /
-NullSecurityManager.checkMulticast     java-src/SMan.java      /^    public 
void checkMulticast(InetAddress maddr, /
-NullSecurityManager.checkPackageAccess java-src/SMan.java      /^    public 
void checkPackageAccess(String pkg) { }/
-NullSecurityManager.checkPackageDefinition     java-src/SMan.java      /^    
public void checkPackageDefinition(String pkg)/
-NullSecurityManager.checkPrintJobAccess        java-src/SMan.java      /^    
public void checkPrintJobAccess() { }$/
-NullSecurityManager.checkPropertiesAccess      java-src/SMan.java      /^    
public void checkPropertiesAccess() { }$/
-NullSecurityManager.checkPropertyAccess        java-src/SMan.java      /^    
public void checkPropertyAccess(String key) { /
-NullSecurityManager.checkPropertyAccess        java-src/SMan.java      /^    
public void checkPropertyAccess(String key, St/
-NullSecurityManager.checkRead  java-src/SMan.java      /^    public void 
checkRead(FileDescriptor fd) { }$/
-NullSecurityManager.checkRead  java-src/SMan.java      /^    public void 
checkRead(String file) { }$/
-NullSecurityManager.checkRead  java-src/SMan.java      /^    public void 
checkRead(String file, Object cont/
-NullSecurityManager.checkSecurityAccess        java-src/SMan.java      /^    
public void checkSecurityAccess(String provide/
-NullSecurityManager.checkSetFactory    java-src/SMan.java      /^    public 
void checkSetFactory() { }$/
-NullSecurityManager.checkSystemClipboardAccess java-src/SMan.java      /^    
public void checkSystemClipboardAccess() { }$/
-NullSecurityManager.checkTopLevelWindow        java-src/SMan.java      /^    
public boolean checkTopLevelWindow(Object wind/
-NullSecurityManager.checkWrite java-src/SMan.java      /^    public void 
checkWrite(FileDescriptor fd) { }$/
-NullSecurityManager.checkWrite java-src/SMan.java      /^    public void 
checkWrite(String file) { }$/
 OBJCPPSRC      Makefile        /^OBJCPPSRC=$(addprefix 
.\/objcpp-src\/,SimpleCalc.H S/
 OBJCSRC        Makefile        /^OBJCSRC=$(addprefix 
.\/objc-src\/,Subprocess.h Subpr/
 OPENBUTTON     objc-src/PackInsp.m     47
@@ -1829,10 +1044,8 @@ Objc_suffixes    c-src/etags.c   609
 OperatorFun    c-src/h.h       88
 Overview       tex-src/gzip.texi       /address@hidden Overview, Sample, 
Copying, Top$/
 PASSRC Makefile        /^PASSRC=$(addprefix .\/pas-src\/,common.pas)$/
-PCTEST_H       cp-src/Pctest.h 24
 PDT    c-src/h.h       /^  Date 04 May 87 235311 PDT (Mon)$/
 PERLSRC        Makefile        /^PERLSRC=$(addprefix 
.\/perl-src\/,htlmify-cystic yag/
-PERM   cp-src/cfront.H /^#define PERM(p) p->permanent=1$/
 PHPSRC Makefile        /^PHPSRC=$(addprefix .\/php-src\/,lce_functions.php pt/
 PHP_functions  c-src/etags.c   /^PHP_functions (FILE *inf)$/
 PHP_help       c-src/etags.c   639
@@ -1890,51 +1103,9 @@ PVEC_WINDOW      c-src/emacs/src/lisp.h  786
 PVEC_WINDOW_CONFIGURATION      c-src/emacs/src/lisp.h  791
 PYTSRC Makefile        /^PYTSRC=$(addprefix .\/pyt-src\/,server.py)$/
 PackageInspector       objc-src/PackInsp.h     /address@hidden 
PackageInspector:WMInspector$/
-Par    cp-src/abstract.H       933
-Par::Par       cp-src/abstract.C       /^Par::Par(Gate_Decl_List *g_d_l, 
Tree_Node *op, Tre/
-Par::SetCollapsed      cp-src/abstract.C       /^void Par::SetCollapsed(char 
t)$/
-Par::SetDimensions     cp-src/abstract.C       /^void 
Par::SetDimensions(void)$/
-Par::SetFather cp-src/abstract.C       /^void Par::SetFather(Tree_Node *f)$/
-Par::SetPosition       cp-src/abstract.C       /^void Par::SetPosition(Coord 
xx, Coord yy)$/
-Par::SetTextual        cp-src/abstract.C       /^void Par::SetTextual(char t, 
char s)$/
-Par::bex       cp-src/abstract.H       936
-Par::border    cp-src/abstract.H       938
-Par::gate_decl_list    cp-src/abstract.H       935
-Par::oper      cp-src/abstract.H       936
-Par::xl        cp-src/abstract.H       937
-Par::yl        cp-src/abstract.H       937
-Parallel       cp-src/abstract.H       888
-Parallel::GetOperType  cp-src/abstract.H       /^ char GetOperType(void) { 
return(oper->GetType());/
-Parallel::Get_Textual_H        cp-src/abstract.C       /^int 
Parallel::Get_Textual_H()$/
-Parallel::Get_Textual_W        cp-src/abstract.C       /^int 
Parallel::Get_Textual_W()$/
-Parallel::Parallel     cp-src/abstract.C       /^Parallel::Parallel(Tree_Node 
*b1, Tree_Node *op, T/
-Parallel::SetCollapsed cp-src/abstract.C       /^void 
Parallel::SetCollapsed(char t)$/
-Parallel::SetDimensions        cp-src/abstract.C       /^void 
Parallel::SetDimensions(void)$/
-Parallel::SetFather    cp-src/abstract.C       /^void 
Parallel::SetFather(Tree_Node *f)$/
-Parallel::SetPosition  cp-src/abstract.C       /^void 
Parallel::SetPosition(Coord xx, Coord yy)$/
-Parallel::SetTerminalPos       cp-src/abstract.C       /^void 
Parallel::SetTerminalPos()$/
-Parallel::SetTextual   cp-src/abstract.C       /^void 
Parallel::SetTextual(char t, char s)$/
-Parallel::bex1 cp-src/abstract.H       890
-Parallel::bex2 cp-src/abstract.H       890
-Parallel::border       cp-src/abstract.H       894
-Parallel::delta        cp-src/abstract.H       893
-Parallel::havebox      cp-src/abstract.H       892
-Parallel::oper cp-src/abstract.H       890
-Parallel::xl   cp-src/abstract.H       891
-Parallel::yl   cp-src/abstract.H       891
-Parallel::yl1  cp-src/abstract.H       891
 Pascal_functions       c-src/etags.c   /^Pascal_functions (FILE *inf)$/
 Pascal_help    c-src/etags.c   621
 Pascal_suffixes        c-src/etags.c   619
-Pctest cp-src/Pctest.h 56
-Pctest::GetAction      cp-src/Pctest.h /^    virtual PctestActionType 
GetAction(TestRecord /
-Pctest::GetTargetName  cp-src/Pctest.h /^    virtual char *GetTargetName() { 
return targetN/
-Pctest::Pctest cp-src/Pctest.h /^    Pctest() {$/
-Pctest::initialized    cp-src/Pctest.h 93
-Pctest::syscallTime    cp-src/Pctest.h 95
-Pctest::targetName     cp-src/Pctest.h 94
-Pctest::~Pctest        cp-src/Pctest.h /^    virtual ~Pctest() { };$/
-PctestActionType       cp-src/Pctest.h 54
 Perl_functions c-src/etags.c   /^Perl_functions (FILE *inf)$/
 Perl_help      c-src/etags.c   630
 Perl_interpreters      c-src/etags.c   628
@@ -1987,53 +1158,6 @@ Private_T/t      ada-src/waroquiers.ada  /^  type 
Private_T is private;$/
 Private_T/t    ada-src/waroquiers.ada  /^  type Private_T is$/
 Problems       tex-src/gzip.texi       /address@hidden Problems, Concept 
Index, Tapes, Top$/
 Proc/t ada-src/2ataspri.ads    /^   type Proc is access procedure (Addr : 
System.Ad/
-Proc_Inst      cp-src/abstract.H       867
-Proc_Inst::Proc_Inst   cp-src/abstract.C       /^Proc_Inst::Proc_Inst(ID_Place 
*id, ID_List *g_i_l,/
-Proc_Inst::SetCollapsed        cp-src/abstract.C       /^void 
Proc_Inst::SetCollapsed(char t)$/
-Proc_Inst::SetDimensions       cp-src/abstract.C       /^void 
Proc_Inst::SetDimensions(void)$/
-Proc_Inst::SetFather   cp-src/abstract.C       /^void 
Proc_Inst::SetFather(Tree_Node *f)$/
-Proc_Inst::SetPosition cp-src/abstract.C       /^void 
Proc_Inst::SetPosition(Coord xx, Coord yy)$/
-Proc_Inst::SetTextual  cp-src/abstract.C       /^void 
Proc_Inst::SetTextual(char t, char s)$/
-Proc_Inst::Xclose      cp-src/abstract.H       872
-Proc_Inst::Xopen       cp-src/abstract.H       872
-Proc_Inst::border      cp-src/abstract.H       874
-Proc_Inst::gate_list   cp-src/abstract.H       869
-Proc_Inst::hp  cp-src/abstract.H       873
-Proc_Inst::ident       cp-src/abstract.H       870
-Proc_Inst::value_expr_list     cp-src/abstract.H       871
-Proc_Inst::yl1 cp-src/abstract.H       872
-Proc_Inst::yp  cp-src/abstract.H       872
-Proc_List      cp-src/abstract.H       367
-Proc_List::GetPath     cp-src/abstract.C       /^char *Proc_List::GetPath()$/
-Proc_List::Proc_List   cp-src/abstract.C       /^Proc_List::Proc_List(Process 
*el, Proc_List *nxt)$/
-Proc_List::SetDimensions       cp-src/abstract.C       /^void 
Proc_List::SetDimensions(void)$/
-Proc_List::SetFather   cp-src/abstract.C       /^void 
Proc_List::SetFather(Tree_Node *f)$/
-Proc_List::SetPath     cp-src/abstract.C       /^void Proc_List::SetPath(char 
*p, char n, int& np, /
-Proc_List::SetPosition cp-src/abstract.C       /^void 
Proc_List::SetPosition(Coord xx, Coord yy)$/
-Proc_List::elem        cp-src/abstract.H       369
-Proc_List::next        cp-src/abstract.H       370
-Process        cp-src/abstract.H       337
-Process::GetMaxX       cp-src/abstract.C       /^Coord Process::GetMaxX()$/
-Process::GetMaxY       cp-src/abstract.C       /^Coord Process::GetMaxY()$/
-Process::GetNesting    cp-src/abstract.H       /^ char GetNesting() 
{return(nesting);};$/
-Process::MaxX  cp-src/abstract.H       347
-Process::MaxY  cp-src/abstract.H       347
-Process::Process       cp-src/abstract.C       /^Process::Process(Comment_List 
*c_l, ID_Place *id, /
-Process::SetDimensions cp-src/abstract.C       /^void 
Process::SetDimensions(void)$/
-Process::SetFather     cp-src/abstract.C       /^void 
Process::SetFather(Tree_Node *f)$/
-Process::SetPath       cp-src/abstract.C       /^void Process::SetPath(char 
*p, char n, int& np, in/
-Process::SetPosition   cp-src/abstract.C       /^void 
Process::SetPosition(Coord xx, Coord yy)$/
-Process::com_list      cp-src/abstract.H       339
-Process::def   cp-src/abstract.H       343
-Process::func  cp-src/abstract.H       344
-Process::gate_list     cp-src/abstract.H       341
-Process::id_decl_list  cp-src/abstract.H       342
-Process::ident cp-src/abstract.H       340
-Process::nesting       cp-src/abstract.H       345
-Process::yl1   cp-src/abstract.H       346
-Process::yl2   cp-src/abstract.H       346
-Process::yl3   cp-src/abstract.H       346
-Process::ypath cp-src/abstract.H       346
 Prolog_functions       c-src/etags.c   /^Prolog_functions (FILE *inf)$/
 Prolog_help    c-src/etags.c   654
 Prolog_suffixes        c-src/etags.c   652
@@ -2045,13 +1169,6 @@ Python_suffixes  c-src/etags.c   658
 QUIT   c-src/emacs/src/lisp.h  3101
 QUITP  c-src/emacs/src/lisp.h  3112
 Qpre_abbrev_expand_hook        c-src/abbrev.c  82
-Query  cp-src/abstract.H       593
-Query::Query   cp-src/abstract.C       /^Query::Query(Id_Decl *i_d)$/
-Query::SetCollapsed    cp-src/abstract.C       /^void Query::SetCollapsed(char 
t)$/
-Query::SetDimensions   cp-src/abstract.C       /^void 
Query::SetDimensions(void)$/
-Query::SetFather       cp-src/abstract.C       /^void 
Query::SetFather(Tree_Node *f)$/
-Query::SetPosition     cp-src/abstract.C       /^void Query::SetPosition(Coord 
xx, Coord yy)$/
-Query::id_decl cp-src/abstract.H       595
 RANGED_INTEGERP        c-src/emacs/src/lisp.h  /^RANGED_INTEGERP (intmax_t lo, 
Lisp_Object x, intma/
 RCSid  objc-src/PackInsp.m     30
 READABLE_EVENTS_DO_TIMERS_NOW  c-src/emacs/src/keyboard.c      346
@@ -2214,7 +1331,6 @@ SETPRT    f-src/entry.strange_suffix      /^       ENTRY  
SETPRT ( SHORT, EXPL, LONG, TR
 SET_SYMBOL_BLV c-src/emacs/src/lisp.h  /^SET_SYMBOL_BLV (struct Lisp_Symbol 
*sym, struct Li/
 SET_SYMBOL_FWD c-src/emacs/src/lisp.h  /^SET_SYMBOL_FWD (struct Lisp_Symbol 
*sym, union Lis/
 SET_SYMBOL_VAL c-src/emacs/src/lisp.h  /^# define SET_SYMBOL_VAL(sym, v) 
lisp_h_SET_SYMBOL_/
-SIMPLIFIED     cp-src/cfront.H 231
 SINGLE_LETTER_MOD      c-src/emacs/src/keyboard.c      /^#define 
SINGLE_LETTER_MOD(BIT)                                \\$/
 SINGLE_LETTER_MOD      c-src/emacs/src/keyboard.c      6212
 SINGLE_LETTER_MOD      c-src/emacs/src/keyboard.c      /^#define 
SINGLE_LETTER_MOD(BIT)                                \\$/
@@ -2274,45 +1390,6 @@ Sample   tex-src/gzip.texi       /address@hidden Sample, 
Invoking gzip, Overview, Top$/
 Scheme_functions       c-src/etags.c   /^Scheme_functions (FILE *inf)$/
 Scheme_help    c-src/etags.c   667
 Scheme_suffixes        c-src/etags.c   665
-SecurityManager        java-src/SMan.java      80
-SecurityManager.SecurityManager        java-src/SMan.java      /^    protected 
SecurityManager() {$/
-SecurityManager.checkAccept    java-src/SMan.java      /^    public void 
checkAccept(String host, int port)/
-SecurityManager.checkAccess    java-src/SMan.java      /^    public void 
checkAccess(Thread g) {$/
-SecurityManager.checkAccess    java-src/SMan.java      /^    public void 
checkAccess(ThreadGroup g) {$/
-SecurityManager.checkAwtEventQueueAccess       java-src/SMan.java      /^    
public void checkAwtEventQueueAccess() {$/
-SecurityManager.checkConnect   java-src/SMan.java      /^    public void 
checkConnect(String host, int port/
-SecurityManager.checkConnect   java-src/SMan.java      /^    public void 
checkConnect(String host, int port/
-SecurityManager.checkCreateClassLoader java-src/SMan.java      /^    public 
void checkCreateClassLoader() {$/
-SecurityManager.checkDelete    java-src/SMan.java      /^    public void 
checkDelete(String file) {$/
-SecurityManager.checkExec      java-src/SMan.java      /^    public void 
checkExec(String cmd) {$/
-SecurityManager.checkExit      java-src/SMan.java      /^    public void 
checkExit(int status) {$/
-SecurityManager.checkLink      java-src/SMan.java      /^    public void 
checkLink(String lib) {$/
-SecurityManager.checkListen    java-src/SMan.java      /^    public void 
checkListen(int port) {$/
-SecurityManager.checkMemberAccess      java-src/SMan.java      /^    public 
void checkMemberAccess(Class clazz, int/
-SecurityManager.checkMulticast java-src/SMan.java      /^    public void 
checkMulticast(InetAddress maddr) /
-SecurityManager.checkMulticast java-src/SMan.java      /^    public void 
checkMulticast(InetAddress maddr, /
-SecurityManager.checkPackageAccess     java-src/SMan.java      /^    public 
void checkPackageAccess(String pkg) {$/
-SecurityManager.checkPackageDefinition java-src/SMan.java      /^    public 
void checkPackageDefinition(String pkg)/
-SecurityManager.checkPrintJobAccess    java-src/SMan.java      /^    public 
void checkPrintJobAccess() {$/
-SecurityManager.checkPropertiesAccess  java-src/SMan.java      /^    public 
void checkPropertiesAccess() {$/
-SecurityManager.checkPropertyAccess    java-src/SMan.java      /^    public 
void checkPropertyAccess(String key) {$/
-SecurityManager.checkRead      java-src/SMan.java      /^    public void 
checkRead(FileDescriptor fd) {$/
-SecurityManager.checkRead      java-src/SMan.java      /^    public void 
checkRead(String file) {$/
-SecurityManager.checkRead      java-src/SMan.java      /^    public void 
checkRead(String file, Object cont/
-SecurityManager.checkSecurityAccess    java-src/SMan.java      /^    public 
void checkSecurityAccess(String action)/
-SecurityManager.checkSetFactory        java-src/SMan.java      /^    public 
void checkSetFactory() {$/
-SecurityManager.checkSystemClipboardAccess     java-src/SMan.java      /^    
public void checkSystemClipboardAccess() {$/
-SecurityManager.checkTopLevelWindow    java-src/SMan.java      /^    public 
boolean checkTopLevelWindow(Object wind/
-SecurityManager.checkWrite     java-src/SMan.java      /^    public void 
checkWrite(FileDescriptor fd) {$/
-SecurityManager.checkWrite     java-src/SMan.java      /^    public void 
checkWrite(String file) {$/
-SecurityManager.currentLoadedClass     java-src/SMan.java      /^    protected 
Class currentLoadedClass() {$/
-SecurityManager.getInCheck     java-src/SMan.java      /^    public boolean 
getInCheck() {$/
-SecurityManager.getSecurityContext     java-src/SMan.java      /^    public 
Object getSecurityContext() {$/
-SecurityManager.getThreadGroup java-src/SMan.java      /^    public 
ThreadGroup getThreadGroup() {$/
-SecurityManager.inCheck        java-src/SMan.java      87
-SecurityManager.inClass        java-src/SMan.java      /^    protected boolean 
inClass(String name) {$/
-SecurityManager.inClassLoader  java-src/SMan.java      /^    protected boolean 
inClassLoader() {$/
-SecurityManager.initialized    java-src/SMan.java      90
 SelectLayer    lua-src/allegro.lua     /^function SelectLayer (layer)$/
 Self/f ada-src/2ataspri.adb    /^   function Self return TCB_Ptr is$/
 Self/f ada-src/2ataspri.ads    /^   function Self return TCB_Ptr;$/
@@ -2326,150 +1403,14 @@ SimpleCalc     objcpp-src/SimpleCalc.H /address@hidden 
SimpleCalc:Object$/
 SkipBlanks     pas-src/common.pas      /^function SkipBlanks; (*($/
 SkipChars      pas-src/common.pas      /^function SkipChars; (*($/
 SkipSpaces     pas-src/common.pas      /^procedure SkipSpaces; (* (Str : 
NameString; var I /
-Sort_Id_Exit   cp-src/abstract.H       490
-Sort_Id_Exit::SetCollapsed     cp-src/abstract.C       /^void 
Sort_Id_Exit::SetCollapsed(char t)$/
-Sort_Id_Exit::SetDimensions    cp-src/abstract.C       /^void 
Sort_Id_Exit::SetDimensions(void)$/
-Sort_Id_Exit::SetFather        cp-src/abstract.C       /^void 
Sort_Id_Exit::SetFather(Tree_Node *f)$/
-Sort_Id_Exit::SetPosition      cp-src/abstract.C       /^void 
Sort_Id_Exit::SetPosition(Coord xx, Coord yy)/
-Sort_Id_Exit::Sort_Id_Exit     cp-src/abstract.C       
/^Sort_Id_Exit::Sort_Id_Exit(ID_Place *s)$/
-Sort_Id_Exit::sort_id  cp-src/abstract.H       492
-Specification  cp-src/abstract.H       308
-Specification::GetMaxX cp-src/abstract.C       /^Coord 
Specification::GetMaxX()$/
-Specification::GetMaxY cp-src/abstract.C       /^Coord 
Specification::GetMaxY()$/
-Specification::MaxX    cp-src/abstract.H       321
-Specification::MaxY    cp-src/abstract.H       321
-Specification::SetDimensions   cp-src/abstract.C       /^void 
Specification::SetDimensions(void)$/
-Specification::SetFather       cp-src/abstract.C       /^void 
Specification::SetFather(Tree_Node *f)$/
-Specification::SetPath cp-src/abstract.C       /^void 
Specification::SetPath(int& np, int& nd)$/
-Specification::SetPosition     cp-src/abstract.C       /^void 
Specification::SetPosition(Coord xx, Coord yy/
-Specification::Specification   cp-src/abstract.C       
/^Specification::Specification(Comment_List *c_l, ID/
-Specification::com_list        cp-src/abstract.H       312
-Specification::com_list1       cp-src/abstract.H       316
-Specification::def     cp-src/abstract.H       319
-Specification::dt_list cp-src/abstract.H       318
-Specification::func    cp-src/abstract.H       317
-Specification::gate_list       cp-src/abstract.H       314
-Specification::id_decl_list    cp-src/abstract.H       315
-Specification::ident   cp-src/abstract.H       313
-Specification::yl1     cp-src/abstract.H       320
-Specification::yl2     cp-src/abstract.H       320
-Specification::yl3     cp-src/abstract.H       320
 StartDay       cp-src/functions.cpp    /^Date StartDay(Date a,int 
days){\/\/Function to calcu/
-Stop   cp-src/abstract.H       793
-Stop::SetCollapsed     cp-src/abstract.C       /^void Stop::SetCollapsed(char 
t)$/
-Stop::SetDimensions    cp-src/abstract.C       /^void 
Stop::SetDimensions(void)$/
-Stop::SetFather        cp-src/abstract.C       /^void 
Stop::SetFather(Tree_Node *f)$/
-Stop::SetPosition      cp-src/abstract.C       /^void Stop::SetPosition(Coord 
xx, Coord yy)$/
-Stop::SetTextual       cp-src/abstract.C       /^void Stop::SetTextual(char t, 
char s)$/
-Stop::Stop     cp-src/abstract.C       /^Stop::Stop()$/
-Stop::border   cp-src/abstract.H       796
-Stop::havebox  cp-src/abstract.H       795
 StripPath      pas-src/common.pas      /^function StripPath; (*($/
 SubString      pas-src/common.pas      /^function SubString; (*($/
 Subprocess     objc-src/Subprocess.h   41
 Subprocess     objc-src/Subprocess.h   /address@hidden Subprocess:Object$/
 Subprocess(Private)    objc-src/Subprocess.m   /address@hidden 
Subprocess(Private)$/
-Sum_Gate       cp-src/abstract.H       952
-Sum_Gate::SetCollapsed cp-src/abstract.C       /^void 
Sum_Gate::SetCollapsed(char t)$/
-Sum_Gate::SetDimensions        cp-src/abstract.C       /^void 
Sum_Gate::SetDimensions(void)$/
-Sum_Gate::SetFather    cp-src/abstract.C       /^void 
Sum_Gate::SetFather(Tree_Node *f)$/
-Sum_Gate::SetPosition  cp-src/abstract.C       /^void 
Sum_Gate::SetPosition(Coord xx, Coord yy)$/
-Sum_Gate::SetTerminalPos       cp-src/abstract.C       /^void 
Sum_Gate::SetTerminalPos()$/
-Sum_Gate::SetTextual   cp-src/abstract.C       /^void 
Sum_Gate::SetTextual(char t, char s)$/
-Sum_Gate::Sum_Gate     cp-src/abstract.C       
/^Sum_Gate::Sum_Gate(Gate_Decl_List *g_d_l, Tree_Nod/
-Sum_Gate::Xch  cp-src/abstract.H       956
-Sum_Gate::Xclose       cp-src/abstract.H       956
-Sum_Gate::Ych  cp-src/abstract.H       956
-Sum_Gate::Yclose       cp-src/abstract.H       956
-Sum_Gate::bex  cp-src/abstract.H       955
-Sum_Gate::border       cp-src/abstract.H       957
-Sum_Gate::gate_decl_list       cp-src/abstract.H       954
-Sum_Gate::xl   cp-src/abstract.H       956
-Sum_Gate::yl   cp-src/abstract.H       956
-Sum_Ident      cp-src/abstract.H       972
-Sum_Ident::SetCollapsed        cp-src/abstract.C       /^void 
Sum_Ident::SetCollapsed(char t)$/
-Sum_Ident::SetDimensions       cp-src/abstract.C       /^void 
Sum_Ident::SetDimensions(void)$/
-Sum_Ident::SetFather   cp-src/abstract.C       /^void 
Sum_Ident::SetFather(Tree_Node *f)$/
-Sum_Ident::SetPosition cp-src/abstract.C       /^void 
Sum_Ident::SetPosition(Coord xx, Coord yy)$/
-Sum_Ident::SetTerminalPos      cp-src/abstract.C       /^void 
Sum_Ident::SetTerminalPos()$/
-Sum_Ident::SetTextual  cp-src/abstract.C       /^void 
Sum_Ident::SetTextual(char t, char s)$/
-Sum_Ident::Sum_Ident   cp-src/abstract.C       
/^Sum_Ident::Sum_Ident(Id_Decl_List *i_d_l, Tree_Nod/
-Sum_Ident::Xch cp-src/abstract.H       976
-Sum_Ident::Xclose      cp-src/abstract.H       976
-Sum_Ident::Ych cp-src/abstract.H       976
-Sum_Ident::Yclose      cp-src/abstract.H       976
-Sum_Ident::bex cp-src/abstract.H       975
-Sum_Ident::border      cp-src/abstract.H       977
-Sum_Ident::ident_decl_list     cp-src/abstract.H       974
-Sum_Ident::xl  cp-src/abstract.H       976
-Sum_Ident::yl  cp-src/abstract.H       976
-Syncr  cp-src/abstract.H       685
-Syncr::SetDimensions   cp-src/abstract.C       /^void 
Syncr::SetDimensions(void)$/
-Syncr::SetFather       cp-src/abstract.C       /^void 
Syncr::SetFather(Tree_Node *f)$/
-Syncr::SetPosition     cp-src/abstract.C       /^void Syncr::SetPosition(Coord 
xx, Coord yy)$/
-Syncr::Syncr   cp-src/abstract.C       /^Syncr::Syncr()$/
 System.Task_Primitives/b       ada-src/2ataspri.adb    /^package body 
System.Task_Primitives is$/
 System.Task_Primitives/s       ada-src/2ataspri.ads    /^package 
System.Task_Primitives is$/
-SystemColor    java-src/SysCol.java    37
-SystemColor.ACTIVE_CAPTION     java-src/SysCol.java    47
-SystemColor.ACTIVE_CAPTION_BORDER      java-src/SysCol.java    57
-SystemColor.ACTIVE_CAPTION_TEXT        java-src/SysCol.java    52
-SystemColor.CONTROL    java-src/SysCol.java    127
-SystemColor.CONTROL_DK_SHADOW  java-src/SysCol.java    152
-SystemColor.CONTROL_HIGHLIGHT  java-src/SysCol.java    137
-SystemColor.CONTROL_LT_HIGHLIGHT       java-src/SysCol.java    142
-SystemColor.CONTROL_SHADOW     java-src/SysCol.java    147
-SystemColor.CONTROL_TEXT       java-src/SysCol.java    132
-SystemColor.DESKTOP    java-src/SysCol.java    42
-SystemColor.INACTIVE_CAPTION   java-src/SysCol.java    62
-SystemColor.INACTIVE_CAPTION_BORDER    java-src/SysCol.java    72
-SystemColor.INACTIVE_CAPTION_TEXT      java-src/SysCol.java    67
-SystemColor.INFO       java-src/SysCol.java    162
-SystemColor.INFO_TEXT  java-src/SysCol.java    167
-SystemColor.MENU       java-src/SysCol.java    92
-SystemColor.MENU_TEXT  java-src/SysCol.java    97
-SystemColor.NUM_COLORS java-src/SysCol.java    172
-SystemColor.SCROLLBAR  java-src/SysCol.java    157
-SystemColor.SystemColor        java-src/SysCol.java    /^    private 
SystemColor(byte index) {$/
-SystemColor.TEXT       java-src/SysCol.java    102
-SystemColor.TEXT_HIGHLIGHT     java-src/SysCol.java    112
-SystemColor.TEXT_HIGHLIGHT_TEXT        java-src/SysCol.java    117
-SystemColor.TEXT_INACTIVE_TEXT java-src/SysCol.java    122
-SystemColor.TEXT_TEXT  java-src/SysCol.java    107
-SystemColor.WINDOW     java-src/SysCol.java    77
-SystemColor.WINDOW_BORDER      java-src/SysCol.java    82
-SystemColor.WINDOW_TEXT        java-src/SysCol.java    87
-SystemColor.activeCaption      java-src/SysCol.java    182
-SystemColor.activeCaptionBorder        java-src/SysCol.java    192
-SystemColor.activeCaptionText  java-src/SysCol.java    187
-SystemColor.control    java-src/SysCol.java    262
-SystemColor.controlDkShadow    java-src/SysCol.java    287
-SystemColor.controlHighlight   java-src/SysCol.java    272
-SystemColor.controlLtHighlight java-src/SysCol.java    277
-SystemColor.controlShadow      java-src/SysCol.java    282
-SystemColor.controlText        java-src/SysCol.java    267
-SystemColor.desktop    java-src/SysCol.java    177
-SystemColor.getRGB     java-src/SysCol.java    /^    public int getRGB() {$/
-SystemColor.inactiveCaption    java-src/SysCol.java    197
-SystemColor.inactiveCaptionBorder      java-src/SysCol.java    207
-SystemColor.inactiveCaptionText        java-src/SysCol.java    202
-SystemColor.info       java-src/SysCol.java    297
-SystemColor.infoText   java-src/SysCol.java    302
-SystemColor.menu       java-src/SysCol.java    227
-SystemColor.menuText   java-src/SysCol.java    232
-SystemColor.scrollbar  java-src/SysCol.java    292
-SystemColor.serialVersionUID   java-src/SysCol.java    340
-SystemColor.systemColors       java-src/SysCol.java    308
-SystemColor.text       java-src/SysCol.java    237
-SystemColor.textHighlight      java-src/SysCol.java    247
-SystemColor.textHighlightText  java-src/SysCol.java    252
-SystemColor.textInactiveText   java-src/SysCol.java    257
-SystemColor.textText   java-src/SysCol.java    242
-SystemColor.toString   java-src/SysCol.java    /^    public String toString() 
{$/
-SystemColor.updateSystemColors java-src/SysCol.java    /^    private static 
void updateSystemColors() {$/
-SystemColor.window     java-src/SysCol.java    212
-SystemColor.windowBorder       java-src/SysCol.java    217
-SystemColor.windowText java-src/SysCol.java    222
 T3     c.c     163
 TAG_PTR        c-src/emacs/src/lisp.h  /^#define TAG_PTR(tag, ptr) \\$/
 TAG_SYMOFFSET  c-src/emacs/src/lisp.h  /^#define TAG_SYMOFFSET(offset)         
                    \\$/
@@ -2504,15 +1445,6 @@ Task_Type/k      ada-src/waroquiers.ada  /^  task type 
Task_Type is$/
 TeX_commands   c-src/etags.c   /^TeX_commands (FILE *inf)$/
 TeX_help       c-src/etags.c   674
 TeX_suffixes   c-src/etags.c   672
-Term   cp-src/abstract.H       456
-Term::SetCollapsed     cp-src/abstract.C       /^void Term::SetCollapsed(char 
t)$/
-Term::SetDimensions    cp-src/abstract.C       /^void 
Term::SetDimensions(void)$/
-Term::SetFather        cp-src/abstract.C       /^void 
Term::SetFather(Tree_Node *f)$/
-Term::SetPosition      cp-src/abstract.C       /^void Term::SetPosition(Coord 
xx, Coord yy)$/
-Term::Term     cp-src/abstract.C       /^Term::Term(ID_Place *op, 
Value_Expr_List *el, ID_P/
-Term::expr_list        cp-src/abstract.H       459
-Term::op_ident cp-src/abstract.H       458
-Term::sort_id  cp-src/abstract.H       460
 Test_Abort/p   ada-src/2ataspri.adb    /^   procedure Test_Abort is$/
 Test_Abort/p   ada-src/2ataspri.ads    /^   procedure Test_Abort;$/
 Test_And_Set/p ada-src/2ataspri.adb    /^   procedure Test_And_Set (Cell : in 
out TAS_Cell;/
@@ -2520,50 +1452,6 @@ Test_And_Set/p   ada-src/2ataspri.ads    /^   procedure 
Test_And_Set (Cell : in out T
 Texinfo_help   c-src/etags.c   688
 Texinfo_nodes  c-src/etags.c   /^Texinfo_nodes (FILE *inf)$/
 Texinfo_suffixes       c-src/etags.c   686
-ThreadGroup    java-src/TG.java        54
-ThreadGroup.ThreadGroup        java-src/TG.java        /^    private 
ThreadGroup() {   \/\/ called from C code$/
-ThreadGroup.ThreadGroup        java-src/TG.java        /^    public 
ThreadGroup(String name) {$/
-ThreadGroup.ThreadGroup        java-src/TG.java        /^    public 
ThreadGroup(ThreadGroup parent, String /
-ThreadGroup.activeCount        java-src/TG.java        /^    public int 
activeCount() {$/
-ThreadGroup.activeGroupCount   java-src/TG.java        /^    public int 
activeGroupCount() {$/
-ThreadGroup.add        java-src/TG.java        /^    private final void 
add(ThreadGroup g){$/
-ThreadGroup.add        java-src/TG.java        /^    void add(Thread t) {$/
-ThreadGroup.allowThreadSuspension      java-src/TG.java        /^    public 
boolean allowThreadSuspension(boolean b/
-ThreadGroup.checkAccess        java-src/TG.java        /^    public final void 
checkAccess() {$/
-ThreadGroup.daemon     java-src/TG.java        59
-ThreadGroup.destroy    java-src/TG.java        /^    public final void 
destroy() {$/
-ThreadGroup.destroyed  java-src/TG.java        58
-ThreadGroup.enumerate  java-src/TG.java        /^    public int 
enumerate(Thread list[]) {$/
-ThreadGroup.enumerate  java-src/TG.java        /^    public int 
enumerate(Thread list[], boolean re/
-ThreadGroup.enumerate  java-src/TG.java        /^    private int 
enumerate(Thread list[], int n, bo/
-ThreadGroup.enumerate  java-src/TG.java        /^    public int 
enumerate(ThreadGroup list[]) {$/
-ThreadGroup.enumerate  java-src/TG.java        /^    public int 
enumerate(ThreadGroup list[], boole/
-ThreadGroup.enumerate  java-src/TG.java        /^    private int 
enumerate(ThreadGroup list[], int /
-ThreadGroup.getMaxPriority     java-src/TG.java        /^    public final int 
getMaxPriority() {$/
-ThreadGroup.getName    java-src/TG.java        /^    public final String 
getName() {$/
-ThreadGroup.getParent  java-src/TG.java        /^    public final ThreadGroup 
getParent() {$/
-ThreadGroup.groups     java-src/TG.java        66
-ThreadGroup.isDaemon   java-src/TG.java        /^    public final boolean 
isDaemon() {$/
-ThreadGroup.isDestroyed        java-src/TG.java        /^    public 
synchronized boolean isDestroyed() {$/
-ThreadGroup.list       java-src/TG.java        /^    public void list() {$/
-ThreadGroup.list       java-src/TG.java        /^    void list(PrintStream 
out, int indent) {$/
-ThreadGroup.maxPriority        java-src/TG.java        57
-ThreadGroup.name       java-src/TG.java        56
-ThreadGroup.ngroups    java-src/TG.java        65
-ThreadGroup.nthreads   java-src/TG.java        62
-ThreadGroup.parent     java-src/TG.java        55
-ThreadGroup.parentOf   java-src/TG.java        /^    public final boolean 
parentOf(ThreadGroup g) {/
-ThreadGroup.remove     java-src/TG.java        /^    private void 
remove(ThreadGroup g) {$/
-ThreadGroup.remove     java-src/TG.java        /^    void remove(Thread t) {$/
-ThreadGroup.resume     java-src/TG.java        /^    public final void 
resume() {$/
-ThreadGroup.setDaemon  java-src/TG.java        /^    public final void 
setDaemon(boolean daemon) {$/
-ThreadGroup.setMaxPriority     java-src/TG.java        /^    public final void 
setMaxPriority(int pri) {$/
-ThreadGroup.stop       java-src/TG.java        /^    public final void stop() 
{$/
-ThreadGroup.suspend    java-src/TG.java        /^    public final void 
suspend() {$/
-ThreadGroup.threads    java-src/TG.java        63
-ThreadGroup.toString   java-src/TG.java        /^    public String toString() 
{$/
-ThreadGroup.uncaughtException  java-src/TG.java        /^    public void 
uncaughtException(Thread t, Throwa/
-ThreadGroup.vmAllowSuspension  java-src/TG.java        60
 Time_to_position       c-src/emacs/src/keyboard.c      /^Time_to_position 
(Time encoded_pos)$/
 To_Lower       pas-src/common.pas      /^function To_Lower;(*(ch:char) : 
char;*)$/
 To_Start_Addr/f        ada-src/2ataspri.adb    /^      function To_Start_Addr 
is new$/
@@ -2589,7 +1477,6 @@ UNLOCK    c-src/emacs/src/gmalloc.c       /^#define 
UNLOCK()                              \\$/
 UNLOCK c-src/emacs/src/gmalloc.c       /^#define UNLOCK()$/
 UNLOCK_ALIGNED_BLOCKS  c-src/emacs/src/gmalloc.c       /^#define 
UNLOCK_ALIGNED_BLOCKS()                               \\$/
 UNLOCK_ALIGNED_BLOCKS  c-src/emacs/src/gmalloc.c       /^#define 
UNLOCK_ALIGNED_BLOCKS()$/
-UNPERM cp-src/cfront.H /^#define UNPERM(p) p->permanent=0$/
 UNSIGNED_CMP   c-src/emacs/src/lisp.h  /^#define UNSIGNED_CMP(a, op, b)        
                                        \\$/
 USE_LSB_TAG    c-src/emacs/src/lisp.h  271
 USE_LSB_TAG    c-src/emacs/src/lisp.h  /^DEFINE_GDB_SYMBOL_BEGIN (bool, 
USE_LSB_TAG)$/
@@ -2620,27 +1507,6 @@ Vabbrev_start_location   c-src/abbrev.c  62
 Vabbrev_start_location_buffer  c-src/abbrev.c  65
 Vabbrev_table_name_list        c-src/abbrev.c  42
 ValToNmStr     pas-src/common.pas      /^function ValToNmStr; (*($/
-Value  cp-src/abstract.H       440
-Value::SetCollapsed    cp-src/abstract.C       /^void Value::SetCollapsed(char 
t)$/
-Value::SetDimensions   cp-src/abstract.C       /^void 
Value::SetDimensions(void)$/
-Value::SetFather       cp-src/abstract.C       /^void 
Value::SetFather(Tree_Node *f)$/
-Value::SetPosition     cp-src/abstract.C       /^void Value::SetPosition(Coord 
xx, Coord yy)$/
-Value::Value   cp-src/abstract.C       /^Value::Value(ID_Place *i, ID_Place 
*s)$/
-Value::ident   cp-src/abstract.H       442
-Value::sort_id cp-src/abstract.H       443
-Value_Expr     cp-src/abstract.H       135
-Value_Expr::SetDimensions      cp-src/abstract.C       /^void 
Value_Expr::SetDimensions(void)$/
-Value_Expr::SetFather  cp-src/abstract.C       /^void 
Value_Expr::SetFather(Tree_Node *f)$/
-Value_Expr::SetPosition        cp-src/abstract.C       /^void 
Value_Expr::SetPosition(Coord xx, Coord yy)$/
-Value_Expr::Value_Expr cp-src/abstract.C       /^Value_Expr::Value_Expr() $/
-Value_Expr_List        cp-src/abstract.H       149
-Value_Expr_List::SetCollapsed  cp-src/abstract.C       /^void 
Value_Expr_List::SetCollapsed(char t)$/
-Value_Expr_List::SetDimensions cp-src/abstract.C       /^void 
Value_Expr_List::SetDimensions(void)$/
-Value_Expr_List::SetFather     cp-src/abstract.C       /^void 
Value_Expr_List::SetFather(Tree_Node *f)$/
-Value_Expr_List::SetPosition   cp-src/abstract.C       /^void 
Value_Expr_List::SetPosition(Coord xx, Coord /
-Value_Expr_List::Value_Expr_List       cp-src/abstract.C       
/^Value_Expr_List::Value_Expr_List(Tree_Node *el, Va/
-Value_Expr_List::elem  cp-src/abstract.H       151
-Value_Expr_List::next  cp-src/abstract.H       152
 Vfundamental_mode_abbrev_table c-src/abbrev.c  51
 Vglobal_abbrev_table   c-src/abbrev.c  47
 Vlast_abbrev   c-src/abbrev.c  69
@@ -3615,7 +2481,6 @@ abort-recursive-edit      c-src/emacs/src/keyboard.c      
/^DEFUN ("abort-recursive-edit",
 abs/f  ada-src/etags-test-for.ada      /^   function "abs"   (Right : Complex) 
return Real'/
 absolute_dirname       c-src/etags.c   /^absolute_dirname (char *file, char 
*dir)$/
 absolute_filename      c-src/etags.c   /^absolute_filename (char *file, char 
*dir)$/
-abstract_hh    cp-src/abstract.H       16
 abt    cp-src/c.C      55
 accent_key_syms        c-src/emacs/src/keyboard.c      4625
 access_keymap_keyremap c-src/emacs/src/keyboard.c      
/^access_keymap_keyremap (Lisp_Object map, Lisp_Obje/
@@ -3659,8 +2524,6 @@ animals   c-src/h.h       81
 animals        cp-src/c.C      126
 any_kboard_state       c-src/emacs/src/keyboard.c      /^any_kboard_state ()$/
 appDidInit:    objcpp-src/SimpleCalc.M /^- appDidInit:sender$/
-append erl-src/lines.erl       /^append(Line, {L, List}) when list(List), L < 
?BREA/
-append erl-src/lists.erl       /^append(X,Y) -> erlang:append(X, Y).  %% A BIF 
at l/
 append prol-src/natded.prolog  /^append([],Xs,Xs).$/
 appendToDisplay:       objcpp-src/SimpleCalc.M /^- appendToDisplay:(const char 
*)theDigit$/
 append_list    prol-src/natded.prolog  /^append_list([],[]).$/
@@ -3711,30 +2574,12 @@ b       c-src/h.h       41
 b      c-src/h.h       103
 b      c-src/h.h       104
 backslash=0    tex-src/texinfo.tex     /^\\let\\indexbackslash=0  %overridden 
during \\printin/
-balance_left   erl-src/lines.erl       /^balance_left(N_Tot, $/
-balance_right  erl-src/lines.erl       /^balance_right(N_Tot, $/
 bar    c-src//c.c      /^void bar() {while(0) {}}$/
 bar    c.c     143
 bar    c-src/h.h       19
 bas_syn        prol-src/natded.prolog  /^bas_syn(n(_)).$/
 base   c-src/emacs/src/lisp.h  2188
 base   cp-src/c.C      /^double base (void) const { return rng_base;  }$/
-basetype       cp-src/cfront.H 323
-basetype::b_bits       cp-src/cfront.H 341
-basetype::b_const      cp-src/cfront.H 335
-basetype::b_field      cp-src/cfront.H 346
-basetype::b_fieldtype  cp-src/cfront.H 348
-basetype::b_inline     cp-src/cfront.H 337
-basetype::b_long       cp-src/cfront.H 340
-basetype::b_name       cp-src/cfront.H 344
-basetype::b_offset     cp-src/cfront.H 342
-basetype::b_short      cp-src/cfront.H 339
-basetype::b_sto        cp-src/cfront.H 343
-basetype::b_table      cp-src/cfront.H 345
-basetype::b_typedef    cp-src/cfront.H 336
-basetype::b_unsigned   cp-src/cfront.H 334
-basetype::b_virtual    cp-src/cfront.H 338
-basetype::b_xname      cp-src/cfront.H 347
 bb     c.c     275
 bbb    c.c     251
 bbbbbb c-src/h.h       113
@@ -3751,8 +2596,6 @@ bits_word c-src/emacs/src/lisp.h  127
 bla    c.c     /^int bla ()$/
 blah   tex-src/testenv.tex     /^\\section{blah}$/
 bletch el-src/TAGTEST.EL       /^(foo::defmumble bletch beuarghh)$/
-block  cp-src/cfront.H 694
-block::block   cp-src/cfront.H /^      block(loc ll, Pname nn, Pstmt ss) : 
(BLOCK,ll,ss)/
 blv    c-src/emacs/src/lisp.h  689
 blv_found      c-src/emacs/src/lisp.h  /^blv_found (struct 
Lisp_Buffer_Local_Value *blv)$/
 bodyindent     tex-src/texinfo.tex     /^\\newskip\\defbodyindent 
\\defbodyindent=.4in$/
@@ -3812,8 +2655,6 @@ c_ext     c-src/etags.c   2271
 caccacacca     c.c     /^caccacacca (a,b,c,d,e,f,g)$/
 cacheLRUEntry_s        c.c     172
 cacheLRUEntry_t        c.c     177
-call   cp-src/cfront.H 535
-call::call     cp-src/cfront.H /^      call(Pexpr aa, Pexpr bb) : (CALL,aa,bb) 
{ this=0;/
 calloc c-src/emacs/src/gmalloc.c       66
 calloc c-src/emacs/src/gmalloc.c       70
 calloc c-src/emacs/src/gmalloc.c       /^calloc (size_t nmemb, size_t size)$/
@@ -3845,31 +2686,6 @@ childDidExit     objc-src/Subprocess.m   /^- 
childDidExit$/
 chunks_free    c-src/emacs/src/gmalloc.c       313
 chunks_used    c-src/emacs/src/gmalloc.c       311
 cjava  c-src/etags.c   2936
-classdef       cp-src/cfront.H 278
-classdef::bit_ass      cp-src/cfront.H 283
-classdef::c_body       cp-src/cfront.H 280
-classdef::clbase       cp-src/cfront.H 286
-classdef::conv cp-src/cfront.H 299
-classdef::csu  cp-src/cfront.H 281
-classdef::friend_list  cp-src/cfront.H 292
-classdef::has_ctor     cp-src/cfront.H /^      Pname   has_ctor()      { 
return memtbl->look("_ctor",0)/
-classdef::has_dtor     cp-src/cfront.H /^      Pname   has_dtor()      { 
return memtbl->look("_dtor",0)/
-classdef::has_itor     cp-src/cfront.H /^      Pname   has_itor()      { 
return itor; }$/
-classdef::in_class     cp-src/cfront.H 295
-classdef::is_simple    cp-src/cfront.H /^      TOK     is_simple()     { 
return (csu==CLASS)?0:csu; };$/
-classdef::itor cp-src/cfront.H 298
-classdef::mem_list     cp-src/cfront.H 288
-classdef::memtbl       cp-src/cfront.H 289
-classdef::obj_align    cp-src/cfront.H 282
-classdef::obj_size     cp-src/cfront.H 290
-classdef::pubbase      cp-src/cfront.H 279
-classdef::pubdef       cp-src/cfront.H 293
-classdef::real_size    cp-src/cfront.H 291
-classdef::string       cp-src/cfront.H 287
-classdef::this_type    cp-src/cfront.H 296
-classdef::tn_list      cp-src/cfront.H 294
-classdef::virt_count   cp-src/cfront.H 284
-classdef::virt_init    cp-src/cfront.H 297
 classifyLine   php-src/lce_functions.php       /^      function 
classifyLine($line)$/
 clear-abbrev-table     c-src/abbrev.c  /^DEFUN ("clear-abbrev-table", 
Fclear_abbrev_table, /
 clear-this-command-keys        c-src/emacs/src/keyboard.c      /^DEFUN 
("clear-this-command-keys", Fclear_this_comm/
@@ -3901,7 +2717,6 @@ compressor        c-src/etags.c   188
 compressors    c-src/etags.c   457
 conalgorithm   html-src/algrthms.html  /^Convolutionally$/
 concat c-src/etags.c   /^concat (const char *s1, const char *s2, const char/
-concat erl-src/lists.erl       /^concat([H|T]) ->$/
 concatenatenamestrings pas-src/common.pas      /^function 
concatenatenamestrings; (*($/
 consider_token c-src/etags.c   /^consider_token (char *str, int len, int c, 
int *c_/
 constant       c-src/h.h       29
@@ -3913,10 +2728,7 @@ consult_lex      prol-src/natded.prolog  
/^consult_lex:-$/
 contents       c-src/emacs/src/lisp.h  1372
 contents       c-src/emacs/src/lisp.h  1600
 contents       c-src/emacs/src/lisp.h  1624
-convert_from_list      erl-src/lines.erl       /^convert_from_list(L) when 
list(L) ->$/
-convert_to_list        erl-src/lines.erl       /^convert_to_list({_, List}) 
when list(List) ->$/
 count  c-src/emacs/src/lisp.h  1863
-count  erl-src/lines.erl       /^count({N, _}) ->$/
 count_layers   lua-src/allegro.lua     /^local function count_layers (layer)$/
 count_words    c-src/tab.c     /^static int            count_words(char *str, 
char delim)$/
 cow    cp-src/c.C      127
@@ -3940,16 +2752,6 @@ d        c-src/emacs/src/lisp.h  4679
 data   c-src/emacs/src/lisp.h  1395
 data   c-src/emacs/src/lisp.h  2129
 data   c-src/emacs/src/lisp.h  2395
-dbg    erl-src/lines.erl       /^-define(dbg(Fmt, Args), ok=io:format("~p: " 
++ Fmt/
-dcl_context    cp-src/cfront.H 739
-dcl_context::c_this    cp-src/cfront.H 740
-dcl_context::cot       cp-src/cfront.H 743
-dcl_context::ftbl      cp-src/cfront.H 744
-dcl_context::nof       cp-src/cfront.H 745
-dcl_context::not       cp-src/cfront.H 742
-dcl_context::stack     cp-src/cfront.H /^      void    stack()         { cc++; 
*cc = *(cc-1); };$/
-dcl_context::tot       cp-src/cfront.H 741
-dcl_context::unstack   cp-src/cfront.H /^      void    unstack()       { cc--; 
};$/
 ddefineseen    c-src/etags.c   2462
 debian-bug     html-src/software.html  /^debian-bug.el$/
 decimalKey:    objcpp-src/SimpleCalc.M /^- decimalKey:sender$/
@@ -3972,11 +2774,8 @@ defined_GC_CHECK_STRING_BYTES    c-src/emacs/src/lisp.h  
4665
 definedef      c-src/etags.c   2464
 defun_func1    c.c     /^defun_func1()$/
 delegate       objc-src/Subprocess.m   /^- delegate$/
-delete erl-src/lines.erl       /^delete(Lno, _) when Lno < 1 ->$/
-delete erl-src/lists.erl       /^delete(Item, [Item|Rest]) ->$/
 deleteItem     pyt-src/server.py       /^    def deleteItem(self):$/
 delete_kboard  c-src/emacs/src/keyboard.c      /^delete_kboard (KBOARD *kb)$/
-delete_nth     erl-src/lines.erl       /^delete_nth(1, [H|T]) ->$/
 deliver_input_available_signal c-src/emacs/src/keyboard.c      
/^deliver_input_available_signal (int sig)$/
 deliver_interrupt_signal       c-src/emacs/src/keyboard.c      
/^deliver_interrupt_signal (int sig)$/
 deliver_user_signal    c-src/emacs/src/keyboard.c      /^deliver_user_signal 
(int sig)$/
@@ -4029,14 +2828,6 @@ dummyfont        tex-src/texinfo.tex     
/^\\let\\key=\\indexdummyfont$/
 dummyfont      tex-src/texinfo.tex     /^\\let\\var=\\indexdummyfont$/
 dummytex       tex-src/texinfo.tex     /^\\let\\TeX=\\indexdummytex$/
 dump   pyt-src/server.py       /^    def dump(self, folded):$/
-duplicate      erl-src/lists.erl       /^duplicate(N, X) when integer(N), N >= 
0 -> duplica/
-ea     cp-src/cfront.H 80
-ea::ea cp-src/cfront.H /^      ea(void* pp) { p = pp; }$/
-ea::ea cp-src/cfront.H /^      ea(int ii)   { i = ii; }$/
-ea::ea cp-src/cfront.H /^      ea() {}$/
-ea::ea cp-src/cfront.H /^      ea(int i)       { x; }$/
-ea::i  cp-src/cfront.H 83
-ea::p  cp-src/cfront.H 82
 eabs   c-src/emacs/src/lisp.h  /^#define eabs(x)         ((x) < 0 ? -(x) : 
(x))$/
 eassert        c-src/emacs/src/lisp.h  /^# define eassert(cond) ((void) (false 
&& (cond))) /
 eassert        c-src/emacs/src/lisp.h  /^# define eassert(cond)                
                                \\$/
@@ -4060,11 +2851,6 @@ editItem pyt-src/server.py       /^    def 
editItem(self):$/
 editsite       pyt-src/server.py       /^    def editsite(self, site):$/
 edituser       pyt-src/server.py       /^    def edituser(self, user):$/
 egetenv        c-src/emacs/src/lisp.h  /^egetenv (const char *var)$/
-elist  cp-src/cfront.H 727
-elist::add     cp-src/cfront.H /^      void    add(Pexpr e)    { tail->e2 = e; 
tail = e; };$/
-elist::elist   cp-src/cfront.H /^              elist(Pexpr e)  { Nl++; head = 
tail = e; };$/
-elist::head    cp-src/cfront.H 728
-elist::tail    cp-src/cfront.H 729
 emacs_abort    c-src/emacs/src/lisp.h  /^extern _Noreturn void emacs_abort 
(void) NO_INLINE/
 end    c-src/emacs/src/regex.h 432
 end    c-src/emacs/src/keyboard.c      8753
@@ -4078,11 +2864,6 @@ entry    perl-src/htlmify-cystic 268
 entry  perl-src/htlmify-cystic 276
 entry  perl-src/htlmify-cystic 281
 entry  perl-src/htlmify-cystic 296
-enumdef        cp-src/cfront.H 265
-enumdef::e_body        cp-src/cfront.H 266
-enumdef::enumdef       cp-src/cfront.H /^              enumdef(Pname n)        
{ base=ENUM; mem=n; };$/
-enumdef::mem   cp-src/cfront.H 268
-enumdef::no_of_enumerators     cp-src/cfront.H 267
 equalsKey:     objcpp-src/SimpleCalc.M /^- equalsKey:sender$/
 erlang_atom    c-src/etags.c   /^erlang_atom (char *s)$/
 erlang_attribute       c-src/etags.c   /^erlang_attribute (char *s)$/
@@ -4090,12 +2871,9 @@ erlang_func      c-src/etags.c   /^erlang_func (char *s, 
char *last)$/
 error  c-src/etags.c   /^static void error (const char *, ...) ATTRIBUTE_FO/
 error  c-src/etags.c   /^error (const char *format, ...)$/
 error  c-src/emacs/src/lisp.h  /^extern _Noreturn void error (const char *, 
...) AT/
-error  cp-src/cfront.H 94
 error  cccp.y  /^error (msg)$/
 error  y-src/cccp.y    /^error (msg)$/
 error_signaled c-src/etags.c   264
-estmt  cp-src/cfront.H 662
-estmt::estmt   cp-src/cfront.H /^      estmt(TOK t, loc ll, Pexpr ee, Pstmt 
ss) : (t,ll,/
 etags  el-src/emacs/lisp/progmodes/etags.el    /^(defgroup etags nil "Tags 
tables."$/
 etags  html-src/software.html  /^Etags$/
 etags--xref-find-definitions   el-src/emacs/lisp/progmodes/etags.el    
/^(defun etags--xref-find-definitions (pattern &opti/
@@ -4136,22 +2914,6 @@ expandmng_tree   prol-src/natded.prolog  
/^expandmng_tree(tree(Rule,Syn:Sem,Trees),
 expandmng_trees        prol-src/natded.prolog  /^expandmng_trees([],[]).$/
 expandsyn      prol-src/natded.prolog  /^expandsyn(Syn,Syn):-$/
 explicitly-quoted-pending-delete-mode  el-src/TAGTEST.EL       /^(defalias 
(quote explicitly-quoted-pending-delete-/
-expr   cp-src/cfront.H 469
-expr::as_type  cp-src/cfront.H 499
-expr::cond     cp-src/cfront.H 497
-expr::e1       cp-src/cfront.H 485
-expr::e2       cp-src/cfront.H 490
-expr::fct_name cp-src/cfront.H 496
-expr::i1       cp-src/cfront.H 487
-expr::il       cp-src/cfront.H 501
-expr::mem      cp-src/cfront.H 498
-expr::n_initializer    cp-src/cfront.H 491
-expr::n_table  cp-src/cfront.H 500
-expr::string   cp-src/cfront.H 486
-expr::string2  cp-src/cfront.H 492
-expr::syn_class        cp-src/cfront.H 482
-expr::tp       cp-src/cfront.H 481
-expr::tp2      cp-src/cfront.H 495
 expression_value       cccp.y  68
 expression_value       y-src/cccp.y    68
 extras c-src/emacs/src/lisp.h  1603
@@ -4173,23 +2935,6 @@ fastmap  c-src/emacs/src/regex.h 355
 fastmap_accurate       c-src/emacs/src/regex.h 383
 fatal  c-src/etags.c   /^fatal (const char *s1, const char *s2)$/
 fatala c.c     /^void fatala () __attribute__ ((noreturn));$/
-fct    cp-src/cfront.H 365
-fct::argtype   cp-src/cfront.H 372
-fct::b_init    cp-src/cfront.H 380
-fct::body      cp-src/cfront.H 376
-fct::declared  cp-src/cfront.H /^      bit     declared() { return 
nargs_known; };$/
-fct::f_expr    cp-src/cfront.H 383
-fct::f_init    cp-src/cfront.H 377
-fct::f_inline  cp-src/cfront.H 370
-fct::f_result  cp-src/cfront.H 385
-fct::f_this    cp-src/cfront.H 374
-fct::f_virtual cp-src/cfront.H 369
-fct::last_expanded     cp-src/cfront.H 384
-fct::memof     cp-src/cfront.H 375
-fct::nargs     cp-src/cfront.H 367
-fct::nargs_known       cp-src/cfront.H 368
-fct::returns   cp-src/cfront.H 371
-fct::s_returns cp-src/cfront.H 373
 fdHandler      objc-src/Subprocess.m   /^fdHandler (int theFd, id self)$/
 fdHandler:     objc-src/Subprocess.m   /^- fdHandler:(int)theFd$/
 fdefunkey      c-src/etags.c   2409
@@ -4234,16 +2979,12 @@ fitchtreelist   prol-src/natded.prolog  
/^fitchtreelist([]).$/
 fixup_locale   c-src/emacs/src/lisp.h  /^INLINE void fixup_locale (void) {}$/
 flag   c-src/getopt.h  83
 flag2str       pyt-src/server.py       /^def flag2str(value, string):$/
-flat_length    erl-src/lists.erl       /^flat_length(List) ->$/
-flatten        erl-src/lists.erl       /^flatten(List) ->$/
 flistseen      c-src/etags.c   2415
 fn     c-src/exit.c    /^    void EXFUN((*fn[1]), (NOARGS));$/
 fn     c-src/exit.strange_suffix       /^    void EXFUN((*fn[1]), (NOARGS));$/
 fnin   y-src/parse.y   67
 fnin   parse.y 67
 focus_set      pyt-src/server.py       /^    def focus_set(self):$/
-foldl  erl-src/lists.erl       /^foldl(F, As, Last, [Hd|Tail]) ->$/
-foldr  erl-src/lists.erl       /^foldr(F, As, [Hd|Tail], Last) ->$/
 follow_key     c-src/emacs/src/keyboard.c      /^follow_key (Lisp_Object 
keymap, Lisp_Object key)$/
 fonts  tex-src/texinfo.tex     /^\\obeyspaces \\obeylines \\ninett 
\\indexfonts \\rawbac/
 fonts\rm       tex-src/texinfo.tex     /^  \\indexfonts\\rm \\tolerance=9500 
\\advance\\baseline/
@@ -4270,8 +3011,6 @@ force_auto_save_soon      c-src/emacs/src/keyboard.c      
/^force_auto_save_soon (void)$/
 force_explicit_name    c-src/etags.c   265
 force_quit_count       c-src/emacs/src/keyboard.c      10387
 formatSize:inBuf:      objc-src/PackInsp.m     /^-(const char 
*)formatSize:(const char *)size inBuf/
-forstmt        cp-src/cfront.H 689
-forstmt::forstmt       cp-src/cfront.H /^      forstmt(loc ll, Pstmt fss, 
Pexpr ee1, Pexpr ee2, /
 found  c-src/emacs/src/lisp.h  2344
 fracas html-src/software.html  /^Fracas$/
 frag   c-src/emacs/src/gmalloc.c       152
@@ -4313,9 +3052,6 @@ gc_aset   c-src/emacs/src/lisp.h  /^gc_aset (Lisp_Object 
array, ptrdiff_t idx, Lisp
 gcmarkbit      c-src/emacs/src/lisp.h  656
 gcpro  c-src/emacs/src/lisp.h  3042
 gcpro  c-src/emacs/src/lisp.h  3132
-gen    cp-src/cfront.H 410
-gen::fct_list  cp-src/cfront.H 411
-gen::string    cp-src/cfront.H 412
 gen_help_event c-src/emacs/src/keyboard.c      /^gen_help_event (Lisp_Object 
help, Lisp_Object fram/
 genalgorithm   html-src/algrthms.html  /^Generating the 
Data<\/font><\/i><\/b>$/
 generic_object cp-src/clheir.hpp       13
@@ -4399,17 +3135,8 @@ ialpage  tex-src/texinfo.tex     /^  address@hidden 
\\advance\\availdimen
 ialpage        tex-src/texinfo.tex     /^     address@hidden \\advance\\dimen@ 
by-\\ht\\pa/
 ialpage=       tex-src/texinfo.tex     /^  
\\output={\\global\\setbox\\partialpage=$/
 idx    c-src/emacs/src/lisp.h  3150
-ifstmt cp-src/cfront.H 672
-ifstmt::ifstmt cp-src/cfront.H /^      ifstmt(loc ll, Pexpr ee, Pstmt ss1, 
Pstmt ss2)$/
 ignore_case    c-src/etags.c   266
 ignore_mouse_drag_p    c-src/emacs/src/keyboard.c      1256
-iline  cp-src/cfront.H 780
-iline::arg     cp-src/cfront.H 785
-iline::fct_name        cp-src/cfront.H 781
-iline::i_next  cp-src/cfront.H 782
-iline::i_table cp-src/cfront.H 783
-iline::local   cp-src/cfront.H 784
-iline::tp      cp-src/cfront.H 786
 ill=\relax     tex-src/texinfo.tex     /^\\let\\refill=\\relax$/
 immediate_quit c-src/emacs/src/keyboard.c      174
 impatto        html-src/softwarelibero.html    /^Impatto pratico del software 
libero$/
@@ -4442,11 +3169,7 @@ input_available_clear_time       
c-src/emacs/src/keyboard.c      324
 input_pending  c-src/emacs/src/keyboard.c      239
 input_polling_used     c-src/emacs/src/keyboard.c      /^input_polling_used 
(void)$/
 input_was_pending      c-src/emacs/src/keyboard.c      287
-insert erl-src/lines.erl       /^insert(Lno, _, _) when Lno < 1 ->$/
 insert-abbrev-table-description        c-src/abbrev.c  /^DEFUN 
("insert-abbrev-table-description", Finsert_/
-insert_after   erl-src/lines.erl       /^insert_after(Lno, _, _) when Lno < 1 
->$/
-insert_after_nth       erl-src/lines.erl       /^insert_after_nth(1, [H|T], X) 
->$/
-insert_nth     erl-src/lines.erl       /^insert_nth(1, L, X) ->$/
 insertname     pas-src/common.pas      /^function insertname;(*($/
 instr  y-src/parse.y   80
 instr  parse.y 80
@@ -4500,8 +3223,6 @@ isoperator        prol-src/natded.prolog  
/^isoperator(Char):-$/
 isoptab        prol-src/natded.prolog  /^isoptab('%').$/
 iswhite        c-src/etags.c   /^#define       iswhite(c)      (_wht[CHAR 
(c)]) \/* c is white /
 item_properties        c-src/emacs/src/keyboard.c      7568
-ival   cp-src/cfront.H 531
-ival::ival     cp-src/cfront.H /^      ival(int ii) : (IVAL,0,0) {this=0; i1 = 
ii;}$/
 jmp    c-src/emacs/src/lisp.h  3044
 just_read_file c-src/etags.c   /^just_read_file (FILE *inf)$/
 kbd_buffer     c-src/emacs/src/keyboard.c      291
@@ -4518,17 +3239,10 @@ kboard  c-src/emacs/src/keyboard.c      860
 kboard_stack   c-src/emacs/src/keyboard.c      858
 kboard_stack   c-src/emacs/src/keyboard.c      864
 key_and_value  c-src/emacs/src/lisp.h  1868
-keydelete      erl-src/lists.erl       /^keydelete(Key, N, [H|T]) when 
element(N, H) == Key/
-keymap erl-src/lists.erl       /^keymap({Mod, Func}, Pos, List) ->$/
-keymember      erl-src/lists.erl       /^keymember(Key, N, [T|Ts]) when 
element(N, T) == Ke/
-keymerge       erl-src/lists.erl       /^keymerge(Index, X, Y) -> 
keymerge(Index, X, Y, [])/
 keyremap       c-src/emacs/src/keyboard.c      8742
 keyremap       c-src/emacs/src/keyboard.c      8754
 keyremap_step  c-src/emacs/src/keyboard.c      /^keyremap_step (Lisp_Object 
*keybuf, int bufsize, v/
-keyreplace     erl-src/lists.erl       /^keyreplace(Key,Pos,[],New) -> [];$/
 keys_of_keyboard       c-src/emacs/src/keyboard.c      /^keys_of_keyboard 
(void)$/
-keysearch      erl-src/lists.erl       /^keysearch(Key, N, [H|T]) when 
element(N, H) == Key/
-keysort        erl-src/lists.erl       /^keysort(Index, [X]) -> [X];$/
 keyval prol-src/natded.prolog  /^keyval(key(Key,Val)) --> [Key,'='], 
valseq(Val).$/
 keyvalcgi      prol-src/natded.prolog  /^keyvalcgi(Key,Val):-$/
 keyvalscgi     prol-src/natded.prolog  /^keyvalscgi(KeyVals),$/
@@ -4554,7 +3268,6 @@ lang      c-src/etags.c   251
 lang   c-src/etags.c   259
 lang_names     c-src/etags.c   718
 language       c-src/etags.c   199
-last   erl-src/lists.erl       /^last([E]) ->$/
 last-tag       el-src/emacs/lisp/progmodes/etags.el    /^(defvar last-tag nil$/
 last_abbrev_point      c-src/abbrev.c  78
 last_auto_save c-src/emacs/src/keyboard.c      214
@@ -4674,17 +3387,12 @@ loadContentsOf:inTable: objc-src/PackInsp.m     
/^-loadContentsOf:(const char *)type
 loadImage      objc-src/PackInsp.m     /^-loadImage$/
 loadKeyValuesFrom:inTable:     objc-src/PackInsp.m     
/^-loadKeyValuesFrom:(const char *)type inTable:(Has/
 loadPORManager php-src/lce_functions.php       /^  function &loadPORManager()$/
-loc    cp-src/cfront.H 67
-loc::file      cp-src/cfront.H 69
-loc::line      cp-src/cfront.H 70
 local_if_set   c-src/emacs/src/lisp.h  2338
 location       cp-src/clheir.hpp       33
 location::location     cp-src/clheir.hpp       /^    location() { }$/
 lookup cccp.y  /^lookup (name, len, hash)$/
 lookup y-src/cccp.y    /^lookup (name, len, hash)$/
 lowcase        c-src/etags.c   /^#define lowcase(c)    tolower (CHAR (c))$/
-lstmt  cp-src/cfront.H 680
-lstmt::lstmt   cp-src/cfront.H /^      lstmt(TOK bb, loc ll, Pname nn, Pstmt 
ss) : (bb,l/
 lucid_event_type_list_p        c-src/emacs/src/keyboard.c      
/^lucid_event_type_list_p (Lisp_Object object)$/
 mabort c-src/emacs/src/gmalloc.c       /^mabort (enum mcheck_status status)$/
 mach_host_self c-src/machsyscalls.h    /^SYSCALL (mach_host_self, -29,$/
@@ -4693,95 +3401,23 @@ mach_reply_port c-src/machsyscalls.h    /^SYSCALL 
(mach_reply_port, -26,$/
 mach_task_self c-src/machsyscalls.h    /^SYSCALL (mach_task_self, -28,$/
 mach_thread_self       c-src/machsyscalls.h    /^SYSCALL (mach_thread_self, 
-27,$/
 magic  c-src/emacs/src/gmalloc.c       1863
-main::alarm    perl-src/mirror.pl      /^sub alarm$/
-main::bsplit   perl-src/mirror.pl      /^sub bsplit$/
-main::checkout_regexps perl-src/mirror.pl      /^sub checkout_regexps$/
-main::chown    perl-src/mirror.pl      /^sub chown$/
-main::clear_local      perl-src/mirror.pl      /^sub clear_local$/
-main::clear_remote     perl-src/mirror.pl      /^sub clear_remote$/
-main::command_line_override    perl-src/mirror.pl      /^sub 
command_line_override$/
-main::compare_dirs     perl-src/mirror.pl      /^sub compare_dirs$/
-main::compare_times    perl-src/mirror.pl      /^sub compare_times$/
-main::connect  perl-src/mirror.pl      /^sub connect$/
-main::create_assocs    perl-src/mirror.pl      /^sub create_assocs$/
-main::cwd      perl-src/mirror.pl      /^sub cwd$/
-main::delete_assocs    perl-src/mirror.pl      /^sub delete_assocs$/
-main::dir_exists       perl-src/mirror.pl      /^sub dir_exists$/
-main::dirpart  perl-src/mirror.pl      /^sub dirpart$/
-main::disconnect       perl-src/mirror.pl      /^sub disconnect$/
-main::do_all_transfers perl-src/mirror.pl      /^sub do_all_transfers$/
-main::do_delete        perl-src/mirror.pl      /^sub do_delete$/
-main::do_deletes       perl-src/mirror.pl      /^sub do_deletes$/
-main::do_mirror        perl-src/mirror.pl      /^sub do_mirror$/
-main::expand_symlink   perl-src/mirror.pl      /^sub expand_symlink$/
 main::f1       perl-src/kai-test.pl    /^sub f1 {$/
 main::f2       perl-src/kai-test.pl    /^sub main::f2 {$/
 main::f7       perl-src/kai-test.pl    /^sub f7 {$/
 main::file_end perl-src/htlmify-cystic /^sub file_end ()$/
-main::filename_to_tempname     perl-src/mirror.pl      /^sub 
filename_to_tempname$/
-main::filesize perl-src/mirror.pl      /^sub filesize$/
-main::find_prog        perl-src/mirror.pl      /^sub find_prog$/
 main::finish_appendices        perl-src/htlmify-cystic /^sub finish_appendices 
()$/
 main::finish_sections  perl-src/htlmify-cystic /^sub finish_sections ()$/
 main::finish_subsections       perl-src/htlmify-cystic /^sub 
finish_subsections ()$/
 main::finish_subsubsections    perl-src/htlmify-cystic /^sub 
finish_subsubsections ()$/
-main::fix_package      perl-src/mirror.pl      /^sub fix_package$/
-main::flatten_path     perl-src/mirror.pl      /^sub flatten_path$/
-main::get_local_directory_details      perl-src/mirror.pl      /^sub 
get_local_directory_details$/
-main::get_passwd       perl-src/mirror.pl      /^sub get_passwd$/
-main::get_remote_directory_details     perl-src/mirror.pl      /^sub 
get_remote_directory_details$/
 main::getopt   perl-src/yagrip.pl      /^sub getopt {$/
-main::handler  perl-src/mirror.pl      /^sub handler$/
-main::interpret_config perl-src/mirror.pl      /^sub interpret_config$/
-main::interpret_config_files   perl-src/mirror.pl      /^sub 
interpret_config_files$/
-main::istrue   perl-src/mirror.pl      /^sub istrue$/
-main::keep     perl-src/mirror.pl      /^sub keep$/
-main::log_upload       perl-src/mirror.pl      /^sub log_upload$/
-main::make_dir perl-src/mirror.pl      /^sub make_dir$/
-main::make_dirs        perl-src/mirror.pl      /^sub make_dirs$/
-main::make_symlinks    perl-src/mirror.pl      /^sub make_symlinks$/
-main::map_name perl-src/mirror.pl      /^sub map_name$/
-main::map_user_group   perl-src/mirror.pl      /^sub map_user_group$/
-main::mkdirs   perl-src/mirror.pl      /^sub mkdirs$/
-main::mksymlink        perl-src/mirror.pl      /^sub mksymlink$/
-main::msg      perl-src/mirror.pl      /^sub msg$/
-main::msg_version      perl-src/mirror.pl      /^sub msg_version$/
-main::myflock  perl-src/mirror.pl      /^sub myflock$/
-main::parse_line       perl-src/mirror.pl      /^sub parse_line$/
-main::parse_remote_details     perl-src/mirror.pl      /^sub 
parse_remote_details$/
-main::parse_remote_details_real        perl-src/mirror.pl      /^sub 
parse_remote_details_real$/
-main::parse_timeout    perl-src/mirror.pl      /^sub parse_timeout$/
-main::patch_ls_lR_file perl-src/mirror.pl      /^sub patch_ls_lR_file$/
-main::pr_variables     perl-src/mirror.pl      /^sub pr_variables$/
-main::prod     perl-src/mirror.pl      /^sub prod$/
 main::read_toc perl-src/htlmify-cystic /^sub read_toc ()$/
-main::real_dir_from_path       perl-src/mirror.pl      /^sub 
real_dir_from_path$/
-main::save_delete      perl-src/mirror.pl      /^sub save_delete$/
-main::save_mkdir       perl-src/mirror.pl      /^sub save_mkdir$/
 main::section_href     perl-src/htlmify-cystic /^sub section_href ($)$/
 main::section_name     perl-src/htlmify-cystic /^sub section_name ($)$/
 main::section_url      perl-src/htlmify-cystic /^sub section_url ()$/
 main::section_url_base perl-src/htlmify-cystic /^sub section_url_base ()$/
 main::section_url_name perl-src/htlmify-cystic /^sub section_url_name ()$/
-main::set_assoc_from_array     perl-src/mirror.pl      /^sub 
set_assoc_from_array$/
-main::set_attribs      perl-src/mirror.pl      /^sub set_attribs$/
-main::set_defaults     perl-src/mirror.pl      /^sub set_defaults$/
-main::set_timestamp    perl-src/mirror.pl      /^sub set_timestamp$/
-main::set_timestamps   perl-src/mirror.pl      /^sub set_timestamps$/
-main::set_variables    perl-src/mirror.pl      /^sub set_variables$/
-main::sys      perl-src/mirror.pl      /^sub sys$/
-main::t2str    perl-src/mirror.pl      /^sub t2str$/
-main::to_bytes perl-src/mirror.pl      /^sub to_bytes$/
 main::toc_line perl-src/htlmify-cystic /^sub toc_line ($)$/
-main::transfer_file    perl-src/mirror.pl      /^sub transfer_file$/
-main::trap_signals     perl-src/mirror.pl      /^sub trap_signals$/
-main::unix2vms perl-src/mirror.pl      /^sub unix2vms$/
-main::unlink_dbm       perl-src/mirror.pl      /^sub unlink_dbm$/
-main::upd_val  perl-src/mirror.pl      /^sub upd_val$/
 main::usage    perl-src/yagrip.pl      /^sub usage {$/
-main::utime    perl-src/mirror.pl      /^sub utime$/
-main::will_compress    perl-src/mirror.pl      /^sub will_compress$/
-main::will_split       perl-src/mirror.pl      /^sub will_split$/
 make-abbrev-table      c-src/abbrev.c  /^DEFUN ("make-abbrev-table", 
Fmake_abbrev_table, Sm/
 make_C_tag     c-src/etags.c   /^make_C_tag (bool isfun)$/
 make_coor      prol-src/natded.prolog  
/^make_coor(s(_),Alpha,Sem1,Sem2,address@hidden@Sem2).$/
@@ -4816,7 +3452,6 @@ malloc_initialize_1       c-src/emacs/src/gmalloc.c       
/^malloc_initialize_1 (void)$/
 mallochook     c-src/emacs/src/gmalloc.c       /^mallochook (size_t size)$/
 mao    c-src/h.h       101
 map    c-src/emacs/src/keyboard.c      8748
-map    erl-src/lists.erl       /^map(F, As, [Hd|Tail]) ->$/
 map_word       prol-src/natded.prolog  /^map_word([[_]|Ws],Exp):-$/
 mapping        html-src/algrthms.html  /^Mapping the Channel Symbols$/
 mapsyn prol-src/natded.prolog  /^mapsyn(A\/B,AM\/BM):-$/
@@ -4826,7 +3461,6 @@ max       c.c     /^__attribute__ ((always_inline)) max 
(int a, int b)/
 max    c-src/emacs/src/lisp.h  58
 max    c-src/emacs/src/lisp.h  /^#define max(a, b) ((a) > (b) ? (a) : (b))$/
 max    cp-src/conway.cpp       /^#define max(x,y)  ((x > y) ? x : y)$/
-max    erl-src/lists.erl       /^max([H|T]) -> max(T, H).$/
 max_args       c-src/emacs/src/lisp.h  1686
 max_num_directions     cp-src/clheir.hpp       31
 max_num_generic_objects        cp-src/clheir.cpp       9
@@ -4836,7 +3470,6 @@ mcheck    c-src/emacs/src/gmalloc.c       /^mcheck (void 
(*func) (enum mcheck_status))$/
 mcheck_status  c-src/emacs/src/gmalloc.c       283
 mcheck_used    c-src/emacs/src/gmalloc.c       2012
 memalign       c-src/emacs/src/gmalloc.c       /^memalign (size_t alignment, 
size_t size)$/
-member erl-src/lists.erl       /^member(X, [X|_]) ->$/
 member prol-src/natded.prolog  /^member(X,[X|_]).$/
 memclear       c-src/emacs/src/lisp.h  /^memclear (void *p, ptrdiff_t nbytes)$/
 menu_bar_item  c-src/emacs/src/keyboard.c      /^menu_bar_item (Lisp_Object 
key, Lisp_Object item, /
@@ -4847,13 +3480,11 @@ menu_bar_one_keymap_changed_items       
c-src/emacs/src/keyboard.c      7363
 menu_item_eval_property        c-src/emacs/src/keyboard.c      
/^menu_item_eval_property (Lisp_Object sexpr)$/
 menu_item_eval_property_1      c-src/emacs/src/keyboard.c      
/^menu_item_eval_property_1 (Lisp_Object arg)$/
 menu_separator_name_p  c-src/emacs/src/keyboard.c      /^menu_separator_name_p 
(const char *label)$/
-merge  erl-src/lists.erl       /^merge(X, Y) -> merge(X, Y, []).$/
 metasource     c-src/etags.c   198
 min    c-src/emacs/src/gmalloc.c       /^#define min(a, b) ((a) < (b) ? (a) : 
(b))$/
 min    c-src/emacs/src/lisp.h  57
 min    c-src/emacs/src/lisp.h  /^#define min(a, b) ((a) < (b) ? (a) : (b))$/
 min    cp-src/conway.cpp       /^#define min(x,y)  ((x > y) ? y : x)$/
-min    erl-src/lists.erl       /^min([H|T]) -> min(T, H).$/
 min_args       c-src/emacs/src/lisp.h  1686
 min_char       c-src/emacs/src/lisp.h  1621
 miti   html-src/softwarelibero.html    /^Sfatiamo alcuni miti$/
@@ -4888,7 +3519,6 @@ name      c-src/etags.c   2271
 name   c-src/emacs/src/keyboard.c      7241
 name   c-src/emacs/src/lisp.h  1808
 name   c-src/emacs/src/lisp.h  3144
-name   cp-src/cfront.H 557
 name   perl-src/htlmify-cystic 357
 name   tex-src/texinfo.tex     /^\\begingroup\\defname 
{#2}{#1}\\defunargs{#3}\\endgrou/
 name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{Function}%$/
@@ -4912,36 +3542,9 @@ name     cccp.y  114
 name   y-src/cccp.y    43
 name   y-src/cccp.y    113
 name   y-src/cccp.y    113
-name::lex_level        cp-src/cfront.H 565
-name::n_addr_taken     cp-src/cfront.H 567
-name::n_assigned_to    cp-src/cfront.H 569
-name::n_evaluated      cp-src/cfront.H 563
-name::n_list   cp-src/cfront.H 575
-name::n_offset cp-src/cfront.H 574
-name::n_oper   cp-src/cfront.H 558
-name::n_protect        cp-src/cfront.H 566
-name::n_qualifier      cp-src/cfront.H 578
-name::n_realscope      cp-src/cfront.H 579
-name::n_scope  cp-src/cfront.H 561
-name::n_stclass        cp-src/cfront.H 560
-name::n_sto    cp-src/cfront.H 559
-name::n_tbl_list       cp-src/cfront.H 576
-name::n_union  cp-src/cfront.H 562
-name::n_used   cp-src/cfront.H 568
-name::n_val    cp-src/cfront.H 571
-name::n_xref   cp-src/cfront.H 564
-name::take_addr        cp-src/cfront.H /^      void    take_addr()     { 
n_addr_taken++; };$/
-name::unhide   cp-src/cfront.H /^      void    unhide()        { n_key=0; 
n_list=0; };$/
-name::use      cp-src/cfront.H /^      void    use()           { n_used++; };$/
-name::where    cp-src/cfront.H 570
-name_list      cp-src/cfront.H 403
-name_list::f   cp-src/cfront.H 404
-name_list::l   cp-src/cfront.H 405
-name_list::name_list   cp-src/cfront.H /^      name_list(Pname ff, Plist ll) { 
f=ff; l=ll; };$/
 named  c-src/etags.c   2505
 namestringequal        pas-src/common.pas      /^function 
namestringequal;(*(var Name1,Name2 : Name/
 nestlev        c-src/etags.c   2525
-new    erl-src/lines.erl       /^new() ->$/
 new    objc-src/PackInsp.m     /^+new$/
 new    perl-src/htlmify-cystic 163
 new_tag        perl-src/htlmify-cystic 18
@@ -4970,10 +3573,6 @@ next_weak        c-src/emacs/src/lisp.h  1875
 nextfree       c-src/emacs/src/lisp.h  3029
 nfree  c-src/emacs/src/gmalloc.c       150
 nl     c-src/etags.c   2521
-nlist  cp-src/cfront.H 708
-nlist::add     cp-src/cfront.H /^      void    add(Pname n)    { tail->n_list 
= n; tail = n; }/
-nlist::head    cp-src/cfront.H 709
-nlist::tail    cp-src/cfront.H 710
 no     tex-src/texinfo.tex     /^\\newcount \\appendixno  \\appendixno = 
address@hidden/
 no     tex-src/texinfo.tex     /^\\global\\advance \\appendixno by 1 
\\message{Appendix/
 no     tex-src/texinfo.tex     /^\\ifnum\\secno=0 
Appendix\\xreftie'char\\the\\appendixn/
@@ -4985,10 +3584,6 @@ no_lang_help     c-src/etags.c   707
 no_sub c-src/emacs/src/regex.h 387
 nocase_tail    c-src/etags.c   /^nocase_tail (const char *cp)$/
 node   c-src/etags.c   225
-node   cp-src/cfront.H 165
-node::base     cp-src/cfront.H 166
-node::n_key    cp-src/cfront.H 167
-node::permanent        cp-src/cfront.H 168
 node_st        c-src/etags.c   214
 noderef        tex-src/texinfo.tex     /^\\appendixnoderef %$/
 noderef        tex-src/texinfo.tex     /^\\appendixnoderef %$/
@@ -5025,9 +3620,6 @@ notag4    c-src/torture.c 45
 notag4 c-src/dostorture.c      45
 notinname      c-src/etags.c   /^#define notinname(c)  (_nin[CHAR (c)]) \/* c 
is not /
 npending       c-src/emacs/src/keyboard.c      7244
-nth    erl-src/lines.erl       /^nth(L, _) when L < 1 ->$/
-nth    erl-src/lists.erl       /^nth(1, [H|T]) ->$/
-nthtail        erl-src/lists.erl       /^nthtail(1, [H|T]) ->$/
 ntool_bar_items        c-src/emacs/src/keyboard.c      7974
 numOfChannels  cp-src/c.C      1
 num_columns    cp-src/conway.cpp       16
@@ -5123,8 +3715,6 @@ pMu       c-src/emacs/src/lisp.h  151
 pMu    c-src/emacs/src/lisp.h  156
 p_next c-src/etags.c   258
 pagesize       c-src/emacs/src/gmalloc.c       1703
-pair   cp-src/cfront.H 703
-pair::pair     cp-src/cfront.H /^      pair(loc ll, Pstmt a, Pstmt b) : 
(PAIR,ll,a) { th/
 parent c-src/emacs/src/keyboard.c      8745
 parent c-src/emacs/src/lisp.h  1590
 parse  prol-src/natded.prolog  /^parse(Ws,Cat):-$/
@@ -5210,7 +3800,6 @@ pp_word   prol-src/natded.prolog  /^pp_word(W):-$/
 pp_word_list   prol-src/natded.prolog  /^pp_word_list([]).$/
 pp_word_list_rest      prol-src/natded.prolog  /^pp_word_list_rest([]).$/
 predicate      c-src/emacs/src/lisp.h  2307
-prefix erl-src/lists.erl       /^prefix([X|PreTail], [X|Tail]) ->$/
 prev   c.c     175
 prev   c-src/emacs/src/gmalloc.c       165
 prev   c-src/emacs/src/gmalloc.c       189
@@ -5234,19 +3823,11 @@ prop    c-src/etags.c   209
 protect_malloc_state   c-src/emacs/src/gmalloc.c       /^protect_malloc_state 
(int protect_p)$/
 pthread_mutexattr_setprio_ceiling/f    ada-src/2ataspri.adb    /^   function 
pthread_mutexattr_setprio_ceiling$/
 pthread_mutexattr_setprotocol/f        ada-src/2ataspri.adb    /^   function 
pthread_mutexattr_setprotocol$/
-ptr    cp-src/cfront.H 435
-ptr::memof     cp-src/cfront.H 437
-ptr::ptr       cp-src/cfront.H /^      ptr(TOK b, Ptype t, bit r = 0) { Nt++; 
base=b; ty/
-ptr::rdo       cp-src/cfront.H 438
 purpose        c-src/emacs/src/lisp.h  1594
 push_kboard    c-src/emacs/src/keyboard.c      /^push_kboard (struct kboard 
*k)$/
 pushclass_above        c-src/etags.c   /^pushclass_above (int bracelev, char 
*str, int len)/
 put_entries    c-src/etags.c   /^put_entries (register node *np)$/
 pvec_type      c-src/emacs/src/lisp.h  780
-pvtyp  cp-src/cfront.H 419
-pvtyp::typ     cp-src/cfront.H 420
-qexpr  cp-src/cfront.H 543
-qexpr::qexpr   cp-src/cfront.H /^      qexpr(Pexpr ee, Pexpr ee1, Pexpr ee2) : 
(QUEST,ee/
 quantizing     html-src/algrthms.html  /^Quantizing the Received$/
 questo ../c/c.web      34
 quit_char      c-src/emacs/src/keyboard.c      192
@@ -5308,8 +3889,6 @@ recursive_edit_1  c-src/emacs/src/keyboard.c      
/^recursive_edit_1 (void)$/
 recursive_edit_unwind  c-src/emacs/src/keyboard.c      /^recursive_edit_unwind 
(Lisp_Object buffer)$/
 reduce prol-src/natded.prolog  /^reduce((X^M)@N,L):-     % beta reduction$/
 reduce_subterm prol-src/natded.prolog  /^reduce_subterm(M,M2):-$/
-ref    cp-src/cfront.H 547
-ref::ref       cp-src/cfront.H /^      ref(TOK ba, Pexpr a, Pname b) : 
(ba,a,0) { this=0/
 refreshPort    pyt-src/server.py       /^    def refreshPort(self):$/
 reg_errcode_t  c.c     279
 reg_errcode_t  c-src/emacs/src/regex.h 323
@@ -5339,8 +3918,6 @@ rehash_threshold  c-src/emacs/src/lisp.h  1839
 relative_filename      c-src/etags.c   /^relative_filename (char *file, char 
*dir)$/
 removeexp      prol-src/natded.prolog  /^removeexp(E,E,'NIL'):-!.$/
 reorder_modifiers      c-src/emacs/src/keyboard.c      /^reorder_modifiers 
(Lisp_Object symbol)$/
-replace        erl-src/lines.erl       /^replace(Lno, _, _) when Lno < 1 ->$/
-replace_nth    erl-src/lines.erl       /^replace_nth(1, [H|T], X) ->$/
 request        c.c     /^request request (a, b)$/
 requeued_events_pending_p      c-src/emacs/src/keyboard.c      
/^requeued_events_pending_p (void)$/
 required_argument      c-src/getopt.h  90
@@ -5348,7 +3925,6 @@ reset-this-command-lengths        
c-src/emacs/src/keyboard.c      /^DEFUN ("reset-this-comma
 restore_getcjmp        c-src/emacs/src/keyboard.c      /^restore_getcjmp 
(sys_jmp_buf temp)$/
 restore_kboard_configuration   c-src/emacs/src/keyboard.c      
/^restore_kboard_configuration (int was_locked)$/
 return_to_command_loop c-src/emacs/src/keyboard.c      135
-reverse        erl-src/lists.erl       /^reverse(X) ->$/
 reverse        prol-src/natded.prolog  /^reverse([],Ws,Ws).$/
 revert:        objc-src/PackInsp.m     /^-revert:sender$/
 right  c-src/etags.c   216
@@ -5403,7 +3979,6 @@ select_last       prol-src/natded.prolog  
/^select_last([X],X,[]).$/
 send:  objc-src/Subprocess.m   /^- send:(const char *)string$/
 send:withNewline:      objc-src/Subprocess.m   /^- send:(const char *)string 
withNewline:(BOOL)want/
 separator_names        c-src/emacs/src/keyboard.c      7372
-seq    erl-src/lists.erl       /^seq(Min, Max) when integer(Min), 
integer(Max), Min/
 serializeToVars        php-src/lce_functions.php       /^      function 
serializeToVars($prefix)$/
 serializeToVars        php-src/lce_functions.php       /^      function 
serializeToVars($prefix)$/
 set-input-interrupt-mode       c-src/emacs/src/keyboard.c      /^DEFUN 
("set-input-interrupt-mode", Fset_input_inte/
@@ -5469,23 +4044,14 @@ skeyseen        c-src/etags.c   2445
 skip_name      c-src/etags.c   /^skip_name (char *cp)$/
 skip_non_spaces        c-src/etags.c   /^skip_non_spaces (char *cp)$/
 skip_spaces    c-src/etags.c   /^skip_spaces (char *cp)$/
-slist  cp-src/cfront.H 718
-slist::add     cp-src/cfront.H /^      void    add(Pstmt s)    { tail->s_list 
= s; tail = s; }/
-slist::head    cp-src/cfront.H 719
-slist::slist   cp-src/cfront.H /^              slist(Pstmt s)  { Nl++; head = 
tail = s; };$/
-slist::tail    cp-src/cfront.H 720
 snarf-tag-function     el-src/emacs/lisp/progmodes/etags.el    /^(defvar 
snarf-tag-function nil$/
 snone  c-src/etags.c   2443
 some_mouse_moved       c-src/emacs/src/keyboard.c      /^some_mouse_moved 
(void)$/
-sort   erl-src/lists.erl       /^sort([X]) -> [X];$/
 space  tex-src/texinfo.tex     /^    {#2\\labelspace 
#1}\\dotfill\\doshortpageno{#3}}%/
 space  tex-src/texinfo.tex     /^  
\\dosubsubsecentry{#2.#3.#4.#5\\labelspace#1}{#6}}/
 specbind_tag   c-src/emacs/src/lisp.h  2943
 specbinding    c-src/emacs/src/lisp.h  2955
 specialsymbol  prol-src/natded.prolog  /^specialsymbol(C1,C2,S):-$/
-split_and_keysort      erl-src/lists.erl       /^split_and_keysort([A,B|T], X, 
Y, Index) ->$/
-split_and_sort erl-src/lists.erl       /^split_and_sort([A,B|T], X, Y) ->$/
-split_at       erl-src/lines.erl       /^split_at(Pos, L) ->$/
 splitexp       prol-src/natded.prolog  /^splitexp(E,E,('NIL','NIL')):-!.$/
 srclist        Makefile        /^srclist: Makefile$/
 ss3    c.c     255
@@ -5519,23 +4085,6 @@ start_up prol-src/natded.prolog  /^start_up:-$/
 state_protected_p      c-src/emacs/src/gmalloc.c       400
 statetable     html-src/algrthms.html  /^Next$/
 step_everybody cp-src/clheir.cpp       /^void step_everybody(void)$/
-stmt   cp-src/cfront.H 615
-stmt::case_list        cp-src/cfront.H 636
-stmt::case_value       cp-src/cfront.H 624
-stmt::d        cp-src/cfront.H 621
-stmt::e        cp-src/cfront.H 628
-stmt::e2       cp-src/cfront.H 622
-stmt::else_stmt        cp-src/cfront.H 635
-stmt::empty    cp-src/cfront.H 637
-stmt::for_init cp-src/cfront.H 634
-stmt::has_default      cp-src/cfront.H 623
-stmt::memtbl   cp-src/cfront.H 632
-stmt::own_tbl  cp-src/cfront.H 629
-stmt::ret_tp   cp-src/cfront.H 625
-stmt::s        cp-src/cfront.H 617
-stmt::s2       cp-src/cfront.H 630
-stmt::s_list   cp-src/cfront.H 618
-stmt::where    cp-src/cfront.H 619
 stop_polling   c-src/emacs/src/keyboard.c      /^stop_polling (void)$/
 store_user_signal_events       c-src/emacs/src/keyboard.c      
/^store_user_signal_events (void)$/
 strcaseeq      c-src/etags.c   /^#define strcaseeq(s,t)        (assert 
((s)!=NULL && (t)!=/
@@ -5547,7 +4096,6 @@ strncaseeq        c-src/etags.c   /^#define 
strncaseeq(s,t,n) (assert ((s)!=NULL && (t/
 strneq c-src/etags.c   /^#define strneq(s,t,n) (assert ((s)!=NULL || (t)!=N/
 structdef      c-src/etags.c   2448
 stuff_buffered_input   c-src/emacs/src/keyboard.c      /^stuff_buffered_input 
(Lisp_Object stuffstring)$/
-sublist        erl-src/lists.erl       /^sublist(List, S, L) when L >= 0 ->$/
 subprocess:output:     objc-src/PackInsp.m     /^-subprocess:(Subprocess 
*)sender output:(char *)bu/
 subprocessDone:        objc-src/PackInsp.m     /^-subprocessDone:(Subprocess 
*)sender$/
 subsec=\relax  tex-src/texinfo.tex     /^\\let\\appendixsubsec=\\relax$/
@@ -5561,10 +4109,8 @@ subsubsection    perl-src/htlmify-cystic 27
 subsubsection=\relax   tex-src/texinfo.tex     
/^\\let\\appendixsubsubsection=\\relax$/
 subtree        prol-src/natded.prolog  /^subtree(T,T).$/
 suffix c-src/etags.c   186
-suffix erl-src/lists.erl       /^suffix(Suffix, Suffix) ->$/
 suffixes       c-src/etags.c   195
 suggest_asking_for_help        c-src/etags.c   /^suggest_asking_for_help 
(void)$/
-sum    erl-src/lists.erl       /^sum(L)          -> sum(L, 0).$/
 suspend-emacs  c-src/emacs/src/keyboard.c      /^DEFUN ("suspend-emacs", 
Fsuspend_emacs, Ssuspend_e/
 sval   cccp.y  117
 sval   y-src/cccp.y    116
@@ -5596,19 +4142,6 @@ tab_count_words  c-src/tab.c     /^int                   
tab_count_words(char **tab)$/
 tab_delete_first       c-src/tab.c     /^int                   
tab_delete_first(char **tab)$/
 tab_fill       c-src/tab.c     /^char                  **tab_fill(char *str, 
char delim)$/
 tab_free       c-src/tab.c     /^void                  tab_free(char **tab)$/
-table  cp-src/cfront.H 175
-table::entries cp-src/cfront.H 184
-table::free_slot       cp-src/cfront.H 183
-table::hashsize        cp-src/cfront.H 182
-table::hashtbl cp-src/cfront.H 185
-table::init_stat       cp-src/cfront.H 177
-table::max     cp-src/cfront.H /^      int     max()                   { 
return free_slot-1; };$/
-table::next    cp-src/cfront.H 189
-table::real_block      cp-src/cfront.H 186
-table::set_name        cp-src/cfront.H /^      void    set_name(Pname n)       
{ t_name = n; };$/
-table::set_scope       cp-src/cfront.H /^      void    set_scope(Ptable t)     
{ next = t; };$/
-table::size    cp-src/cfront.H 181
-table::t_name  cp-src/cfront.H 190
 tag-any-match-p        el-src/emacs/lisp/progmodes/etags.el    /^(defun 
tag-any-match-p (_tag)$/
 tag-exact-file-name-match-p    el-src/emacs/lisp/progmodes/etags.el    
/^(defun tag-exact-file-name-match-p (tag)$/
 tag-exact-match-p      el-src/emacs/lisp/progmodes/etags.el    /^(defun 
tag-exact-match-p (tag)$/
@@ -5702,12 +4235,7 @@ test::f  cp-src/c.C      /^  int f(){return 0;};         
\/\/ first comment$/
 test::ff       cp-src/c.C      /^  int ff(){return 1;};$/
 test::g        cp-src/c.C      /^  int g(){return 2;};$/
 test_undefined c-src/emacs/src/keyboard.c      /^test_undefined (Lisp_Object 
binding)$/
-texpr  cp-src/cfront.H 527
-texpr::texpr   cp-src/cfront.H /^      texpr(TOK bb, Ptype tt, Pexpr ee) : 
(bb,ee,0) {th/
-text_expr      cp-src/cfront.H 551
-text_expr::text_expr   cp-src/cfront.H /^      text_expr(char* a, char* b) : 
(TEXT,0,0) { string/
 texttreelist   prol-src/natded.prolog  /^texttreelist([]).$/
-thing_to_list  erl-src/lists.erl       /^thing_to_list(X) when integer(X) -> 
integer_to_lis/
 this   c-src/a/b/b.c   1
 this-command-keys      c-src/emacs/src/keyboard.c      /^DEFUN 
("this-command-keys", Fthis_command_keys, St/
 this-command-keys-vector       c-src/emacs/src/keyboard.c      /^DEFUN 
("this-command-keys-vector", Fthis_command_k/
@@ -5770,12 +4298,6 @@ type     c-src/emacs/src/lisp.h  2296
 type   c-src/emacs/src/lisp.h  2304
 type   c-src/emacs/src/lisp.h  2364
 type   c-src/emacs/src/lisp.h  3025
-type   cp-src/cfront.H 236
-type::addrof   cp-src/cfront.H /^inline Pptr type::addrof() { return new 
ptr(PTR,th/
-type::defined  cp-src/cfront.H 237
-type::integral cp-src/cfront.H /^      TOK     integral(TOK oo)        { 
return kind(oo,I); };$/
-type::num_ptr  cp-src/cfront.H /^      TOK     num_ptr(TOK oo)         { 
return kind(oo,P); };$/
-type::numeric  cp-src/cfront.H /^      TOK     numeric(TOK oo)         { 
return kind(oo,N); };$/
 typefunargs    tex-src/texinfo.tex     /^\\deftypefunargs {#3}\\endgroup %$/
 typefunargs    tex-src/texinfo.tex     /^\\deftypefunargs {#4}\\endgroup %$/
 typemargin     tex-src/texinfo.tex     /^\\newskip\\deftypemargin 
\\deftypemargin=12pt$/
@@ -5836,10 +4358,6 @@ varargs  tex-src/texinfo.tex     /^\\defvarargs 
{#3}\\endgroup %$/
 varargs        tex-src/texinfo.tex     /^\\defvarargs {#2}\\endgroup %$/
 varargs        tex-src/texinfo.tex     /^\\defvarargs {#2}\\endgroup %$/
 vcopy  c-src/emacs/src/lisp.h  /^vcopy (Lisp_Object v, ptrdiff_t offset, 
Lisp_Objec/
-vec    cp-src/cfront.H 423
-vec::dim       cp-src/cfront.H 426
-vec::size      cp-src/cfront.H 427
-vec::vec       cp-src/cfront.H /^      vec(Ptype t, Pexpr e) { Nt++; base=VEC; 
typ=t; di/
 vectorlike_header      c-src/emacs/src/lisp.h  1343
 verify-tags-table-function     el-src/emacs/lisp/progmodes/etags.el    
/^(defvar verify-tags-table-function nil$/
 verify_ascii   c-src/emacs/src/lisp.h  /^# define verify_ascii(str) (str)$/
@@ -6008,6 +4526,5 @@ yyvsp     /usr/share/bison/bison.simple   746
 yyvsp  /usr/share/bison/bison.simple   919
 z      c.c     144
 z      c.c     164
-zf     erl-src/lists.erl       /^zf(F, As, [H|T]) ->$/
 |      tex-src/texinfo.tex     /^\\def|{{\\tt \\char '174}}$/
 ~      tex-src/texinfo.tex     /^\\def~{{\\tt \\char '176}}$/
diff --git a/test/etags/ETAGS.good_1 b/test/etags/ETAGS.good_1
index 95bb70c..6762bf3 100644
--- a/test/etags/ETAGS.good_1
+++ b/test/etags/ETAGS.good_1
@@ -1,46 +1,45 @@
 
-Makefile,701
+Makefile,683
 ADASRC=1,0
 ASRC=2,91
 CSRC=3,139
 CPSRC=7,410
-ELSRC=10,624
-ERLSRC=11,694
-FORTHSRC=12,759
-FSRC=13,809
-HTMLSRC=14,881
-JAVASRC=15,974
-LUASRC=16,1062
-MAKESRC=17,1105
-OBJCSRC=18,1147
-OBJCPPSRC=19,1228
-PASSRC=20,1291
-PERLSRC=21,1333
-PHPSRC=22,1413
-PSSRC=23,1485
-PROLSRC=24,1525
-PYTSRC=25,1587
-TEXSRC=26,1628
-YSRC=27,1707
-SRCS=28,1772
-NONSRCS=32,2024
-ETAGS_PROG=34,2098
-CTAGS_PROG=35,2129
-REGEX=37,2161
-xx=38,2207
-RUN=40,2256
-OPTIONS=42,2262
-ARGS=43,2314
-infiles 45,2332
-check:check47,2394
-ediff%:ediff%55,2697
-cdiff:cdiff58,2798
-ETAGS:ETAGS61,2895
-CTAGS:CTAGS64,2965
-srclist:srclist67,3043
-regexfile:regexfile71,3134
-.PRECIOUS:.PRECIOUS77,3311
-FRC:FRC79,3345
+ELSRC=10,584
+ERLSRC=11,654
+FORTHSRC=12,699
+FSRC=13,749
+HTMLSRC=14,821
+LUASRC=16,950
+MAKESRC=17,993
+OBJCSRC=18,1035
+OBJCPPSRC=19,1116
+PASSRC=20,1179
+PERLSRC=21,1221
+PHPSRC=22,1291
+PSSRC=23,1363
+PROLSRC=24,1403
+PYTSRC=25,1465
+TEXSRC=26,1506
+YSRC=27,1585
+SRCS=28,1650
+NONSRCS=32,1902
+ETAGS_PROG=34,1976
+CTAGS_PROG=35,2007
+REGEX=37,2039
+xx=38,2085
+RUN=40,2134
+OPTIONS=42,2140
+ARGS=43,2192
+infiles 45,2210
+check:check47,2272
+ediff%:ediff%55,2575
+cdiff:cdiff58,2676
+ETAGS:ETAGS61,2773
+CTAGS:CTAGS64,2843
+srclist:srclist67,2921
+regexfile:regexfile71,3012
+.PRECIOUS:.PRECIOUS77,3189
+FRC:FRC79,3223
 
 ada-src/etags-test-for.ada,1969
    type LL_Task_Procedure_Access LL_Task_Procedure_Access/t1,0
@@ -1993,460 +1992,6 @@ typedef int 
should_see_this_one_enclosed_in_extern_C;149,3155
 typedef int 
(*should_see_this_function_pointer)should_see_this_function_pointer153,3228
 typedef int should_see_this_array_type[should_see_this_array_type156,3310
 
-cp-src/abstract.C,11317
-Half_Container::Half_Container(34,703
-void Half_Container::SetPosition(45,941
-void Half_Container::SetDimensions(58,1259
-void Half_Container::SetFather(81,1697
-void Half_Container::SetCollapsed(87,1787
-Specification::Specification(98,1958
-void Specification::SetPosition(119,2453
-void Specification::SetDimensions(164,3742
-void Specification::SetFather(188,4616
-void Specification::SetPath(202,4908
-Coord Specification::GetMaxX(212,5125
-Coord Specification::GetMaxY(215,5174
-Process::Process(222,5298
-void Process::SetPosition(242,5697
-void Process::SetDimensions(291,6959
-void Process::SetFather(315,7913
-void Process::SetPath(326,8123
-Coord Process::GetMaxX(335,8323
-Coord Process::GetMaxY(338,8365
-Choice::Choice(346,8482
-void Choice::SetPosition(357,8698
-void Choice::SetDimensions(405,10053
-void Choice::ChangeH(466,12014
-void Choice::ChangeW(495,12947
-void Choice::SetFather(522,13700
-void Choice::SetTextual(532,13918
-void Choice::SetCollapsed(540,14041
-int Choice::Get_Textual_H(549,14168
-int Choice::Get_Textual_W(557,14408
-void Choice::SetTerminalPos(566,14615
-Stop::Stop(588,15087
-void Stop::SetPosition(595,15207
-void Stop::SetDimensions(605,15373
-void Stop::SetFather(644,16369
-void Stop::SetTextual(652,16537
-void Stop::SetCollapsed(655,16616
-Exit::Exit(667,16768
-void Exit::SetPosition(676,16935
-void Exit::SetDimensions(687,17164
-void Exit::SetFather(695,17350
-Exit_Bex::Exit_Bex(703,17476
-void Exit_Bex::SetPosition(713,17678
-void Exit_Bex::SetDimensions(740,18430
-void Exit_Bex::SetFather(798,20444
-void Exit_Bex::SetTextual(807,20646
-void Exit_Bex::SetCollapsed(814,20757
-NoExit::NoExit(826,20943
-void NoExit::SetPosition(835,21092
-void NoExit::SetDimensions(845,21266
-void NoExit::SetFather(852,21359
-ID_Place::ID_Place(861,21488
-void ID_Place::SetIdent(875,21745
-void ID_Place::SetPosition(886,21936
-void ID_Place::SetDimensions(897,22173
-void ID_Place::SetFather(928,23017
-ID_Place::~ID_Place(932,23073
-void ID_Place::SetVisible(935,23112
-void ID_Place::ClearID(941,23193
-ID_List::ID_List(953,23379
-void ID_List::SetPosition(967,23644
-void ID_List::SetDimensions(999,24385
-void ID_List::SetFather(1038,25456
-void ID_List::SetCollapsed(1047,25595
-void ID_List::HideMe(1056,25734
-void ID_List::SetRBubble(1065,25862
-void ID_List::SetAlignement(1073,25980
-int ID_List::GetCardinality(1082,26123
-void ID_List::SetVisible(1093,26291
-void ID_List::BuildSigSorts(1103,26518
-void ID_List::ClearIDs(1126,27081
-Id_Decl::Id_Decl(1139,27280
-void Id_Decl::SetPosition(1156,27659
-void Id_Decl::SetDimensions(1174,28016
-void Id_Decl::SetFather(1191,28417
-void Id_Decl::SetCollapsed(1200,28568
-Id_Decl_List::Id_Decl_List(1214,28799
-void Id_Decl_List::SetPosition(1227,29069
-void Id_Decl_List::SetDimensions(1245,29424
-void Id_Decl_List::SetFather(1262,29844
-void Id_Decl_List::SetCollapsed(1271,29988
-Comment::Comment(1286,30209
-void Comment::SetComment(1299,30446
-void Comment::SetFather(1317,30800
-void Comment::SetPosition(1321,30854
-void Comment::SetDimensions(1331,31031
-Comment::~Comment(1345,31265
-Comment_List::Comment_List(1352,31382
-void Comment_List::SetPosition(1362,31541
-void Comment_List::SetDimensions(1380,31860
-void Comment_List::SetFather(1392,32139
-Parallel::Parallel(1406,32360
-void Parallel::SetPosition(1417,32573
-void Parallel::SetDimensions(1473,34272
-void Parallel::SetTextual(1534,36167
-int Parallel::Get_Textual_W(1543,36313
-int Parallel::Get_Textual_H(1559,36722
-void Parallel::SetTerminalPos(1570,37191
-void Parallel::SetFather(1590,37698
-void Parallel::SetCollapsed(1601,37950
-Ident_Eq::Ident_Eq(1615,38177
-void Ident_Eq::SetPosition(1632,38546
-void Ident_Eq::SetDimensions(1647,38851
-void Ident_Eq::SetFather(1662,39191
-void Ident_Eq::SetCollapsed(1669,39295
-Ident_Eq_List::Ident_Eq_List(1681,39480
-void Ident_Eq_List::SetPosition(1694,39753
-void Ident_Eq_List::SetDimensions(1712,40111
-void Ident_Eq_List::SetCollapsed(1729,40538
-void Ident_Eq_List::SetFather(1738,40683
-Local_Def::Local_Def(1751,40904
-void Local_Def::SetPosition(1761,41102
-void Local_Def::SetDimensions(1791,41833
-void Local_Def::SetFather(1832,43262
-void Local_Def::SetCollapsed(1839,43370
-void Local_Def::SetTextual(1848,43504
-Hide::Hide(1860,43681
-void Hide::SetPosition(1871,43872
-void Hide::SetDimensions(1901,44569
-void Hide::SetFather(1944,45771
-void Hide::SetCollapsed(1951,45873
-void Hide::SetTextual(1961,46003
-Interl::Interl(1972,46175
-void Interl::SetPosition(1982,46361
-void Interl::SetDimensions(1993,46593
-void Interl::SetFather(2021,47103
-Syncr::Syncr(2031,47257
-void Syncr::SetPosition(2041,47438
-void Syncr::SetDimensions(2051,47609
-void Syncr::SetFather(2079,48153
-Enable::Enable(2090,48436
-void Enable::SetPosition(2102,48690
-void Enable::SetDimensions(2169,50473
-void Enable::SetTextual(2243,53017
-void Enable::SetTerminalPos(2251,53140
-int Enable::Get_Textual_W(2271,53720
-int Enable::Get_Textual_H(2282,53985
-void Enable::SetFather(2285,54104
-void Enable::SetCollapsed(2298,54418
-Disable::Disable(2314,54780
-void Disable::SetPosition(2325,55001
-void Disable::SetDimensions(2376,56251
-void Disable::SetFather(2436,58064
-void Disable::SetCollapsed(2446,58284
-void Disable::SetTextual(2455,58412
-void Disable::SetTerminalPos(2463,58536
-int Disable::Get_Textual_W(2479,58987
-int Disable::Get_Textual_H(2488,59190
-Gen_Paral::Gen_Paral(2500,59630
-void Gen_Paral::SetPosition(2513,59899
-void Gen_Paral::SetDimensions(2540,60659
-void Gen_Paral::SetFather(2590,62171
-void Gen_Paral::SetCollapsed(2597,62290
-Action_Pref::Action_Pref(2609,62583
-void Action_Pref::SetPosition(2620,62829
-void Action_Pref::SetDimensions(2669,63937
-void Action_Pref::SetFather(2724,65777
-void Action_Pref::SetCollapsed(2734,66010
-void Action_Pref::SetTextual(2743,66147
-Internal::Internal(2757,66484
-void Internal::SetPosition(2768,66658
-void Internal::SetDimensions(2778,66838
-void Internal::SetFather(2806,67442
-Communication::Communication(2816,67702
-void Communication::SetPosition(2827,67956
-void Communication::SetDimensions(2897,70390
-void Communication::SetFather(2935,71706
-void Communication::SetCollapsed(2942,71837
-void Communication::SetTextual(2949,71968
-NoGuard::NoGuard(2961,72262
-void NoGuard::SetPosition(2974,72462
-void NoGuard::SetDimensions(2984,72639
-void NoGuard::SetFather(2987,72678
-Guard::Guard(2996,72929
-void Guard::SetPosition(3008,73118
-void Guard::SetDimensions(3022,73428
-void Guard::SetFather(3044,73894
-void Guard::SetCollapsed(3050,73974
-NoExperiment::NoExperiment(3062,74258
-void NoExperiment::SetPosition(3075,74478
-void NoExperiment::SetDimensions(3085,74670
-void NoExperiment::SetFather(3088,74714
-Experiment::Experiment(3097,74978
-void Experiment::SetPosition(3110,75245
-void Experiment::SetDimensions(3128,75611
-void Experiment::SetFather(3150,76066
-void Experiment::SetCollapsed(3157,76188
-void Experiment::SetTextual(3165,76311
-Proc_Inst::Proc_Inst(3175,76476
-void Proc_Inst::SetPosition(3191,76777
-void Proc_Inst::SetDimensions(3236,77965
-void Proc_Inst::SetFather(3286,79596
-void Proc_Inst::SetCollapsed(3294,79739
-void Proc_Inst::SetTextual(3304,79909
-Value_Expr::Value_Expr(3316,80100
-void Value_Expr::SetPosition(3329,80327
-void Value_Expr::SetDimensions(3340,80572
-void Value_Expr::SetFather(3343,80614
-Value_Expr_List::Value_Expr_List(3351,80755
-void Value_Expr_List::SetPosition(3364,81042
-void Value_Expr_List::SetDimensions(3382,81406
-void Value_Expr_List::SetFather(3399,81830
-void Value_Expr_List::SetCollapsed(3408,81977
-Sum_Ident::Sum_Ident(3423,82203
-void Sum_Ident::SetPosition(3435,82445
-void Sum_Ident::SetDimensions(3466,83196
-void Sum_Ident::SetFather(3509,84540
-void Sum_Ident::SetCollapsed(3516,84653
-void Sum_Ident::SetTextual(3525,84793
-void Sum_Ident::SetTerminalPos(3532,84897
-Value::Value(3552,85432
-void Value::SetPosition(3569,85792
-void Value::SetDimensions(3583,86091
-void Value::SetFather(3606,86628
-void Value::SetCollapsed(3613,86731
-Term::Term(3626,86908
-void Term::SetPosition(3646,87323
-void Term::SetDimensions(3671,87942
-void Term::SetFather(3697,88599
-void Term::SetCollapsed(3705,88732
-Exit_Entry::Exit_Entry(3719,88947
-void Exit_Entry::SetPosition(3732,89176
-void Exit_Entry::SetDimensions(3743,89421
-void Exit_Entry::SetFather(3746,89463
-Exit_Entry_List::Exit_Entry_List(3754,89604
-void Exit_Entry_List::SetPosition(3766,89875
-void Exit_Entry_List::SetDimensions(3785,90304
-void Exit_Entry_List::SetFather(3802,90753
-void Exit_Entry_List::SetCollapsed(3811,90900
-Sum_Gate::Sum_Gate(3826,91125
-void Sum_Gate::SetPosition(3837,91363
-void Sum_Gate::SetDimensions(3873,92120
-void Sum_Gate::SetFather(3915,93438
-void Sum_Gate::SetCollapsed(3922,93549
-void Sum_Gate::SetTextual(3931,93687
-void Sum_Gate::SetTerminalPos(3938,93790
-Gate_Decl::Gate_Decl(3959,94421
-void Gate_Decl::SetPosition(3977,94900
-void Gate_Decl::SetDimensions(3995,95298
-void Gate_Decl::SetFather(4011,95694
-void Gate_Decl::SetCollapsed(4020,95871
-Gate_Decl_List::Gate_Decl_List(4034,96130
-void Gate_Decl_List::SetPosition(4047,96414
-void Gate_Decl_List::SetDimensions(4065,96779
-void Gate_Decl_List::SetFather(4082,97207
-void Gate_Decl_List::SetCollapsed(4091,97353
-Par::Par(4106,97572
-void Par::SetPosition(4126,97957
-void Par::SetDimensions(4174,99236
-void Par::SetFather(4226,100814
-void Par::SetCollapsed(4234,100943
-void Par::SetTextual(4245,101100
-Sort_Id_Exit::Sort_Id_Exit(4258,101329
-void Sort_Id_Exit::SetPosition(4270,101556
-void Sort_Id_Exit::SetDimensions(4283,101834
-void Sort_Id_Exit::SetFather(4297,102142
-void Sort_Id_Exit::SetCollapsed(4303,102228
-Equality::Equality(4314,102512
-Equality::Equality(4327,102736
-void Equality::SetPosition(4340,102987
-void Equality::SetDimensions(4357,103329
-void Equality::SetFather(4377,103720
-void Equality::SetCollapsed(4387,103858
-Guarded::Guarded(4401,104167
-void Guarded::SetPosition(4413,104384
-void Guarded::SetDimensions(4441,105084
-void Guarded::SetFather(4482,106273
-void Guarded::SetCollapsed(4489,106377
-void Guarded::SetTextual(4499,106509
-Exper_Off::Exper_Off(4510,106813
-void Exper_Off::SetPosition(4523,107035
-void Exper_Off::SetDimensions(4533,107220
-void Exper_Off::SetFather(4536,107261
-Exper_Off_List::Exper_Off_List(4544,107521
-void Exper_Off_List::SetPosition(4557,107802
-void Exper_Off_List::SetDimensions(4575,108167
-void Exper_Off_List::SetFather(4592,108594
-void Exper_Off_List::SetCollapsed(4601,108740
-Exclam::Exclam(4616,109087
-void Exclam::SetPosition(4629,109300
-void Exclam::SetDimensions(4641,109541
-void Exclam::SetFather(4655,109830
-void Exclam::SetCollapsed(4661,109912
-Query::Query(4673,110194
-void Query::SetPosition(4686,110399
-void Query::SetDimensions(4698,110636
-void Query::SetFather(4712,110918
-void Query::SetCollapsed(4718,110997
-Definition::Definition(4729,111279
-void Definition::SetPosition(4741,111448
-void Definition::SetDimensions(4752,111658
-void Definition::SetFather(4766,111896
-void Definition::SetPath(4777,112089
-Proc_List::Proc_List(4790,112374
-void Proc_List::SetPosition(4799,112505
-void Proc_List::SetDimensions(4809,112686
-void Proc_List::SetFather(4815,112767
-void Proc_List::SetPath(4824,112908
-char *Proc_List::GetPath(Proc_List::GetPath4832,113068
-
-cp-src/abstract.H,2253
-#define abstract_hh16,453
-class ID_Place:ID_Place23,536
- char *GetIdent(ID_Place::GetIdent41,857
- void SetRBubble(ID_Place::SetRBubble42,891
- char GetRBubble(ID_Place::GetRBubble43,934
-class ID_List:ID_List47,1012
-class Id_Decl:Id_Decl73,1540
-class Id_Decl_List:Id_Decl_List89,1829
-class Comment:Comment105,2140
-class Comment_List:Comment_List122,2440
-class Value_Expr:Value_Expr135,2694
-class Value_Expr_List:Value_Expr_List149,2911
-class Exit_Entry:Exit_Entry165,3244
-class Exit_Entry_List:Exit_Entry_List179,3460
-class Exper_Off:Exper_Off195,3793
-class Exper_Off_List:Exper_Off_List207,3977
-class Gate_Decl:Gate_Decl223,4323
-class Gate_Decl_List:Gate_Decl_List239,4630
-class Ident_Eq:Ident_Eq255,4957
-class Ident_Eq_List:Ident_Eq_List271,5270
-class Half_Container:Half_Container287,5608
-class Specification:Specification308,5954
-class Process:Process337,6609
- char GetNesting(Process::GetNesting363,7186
-class Proc_List:Proc_List367,7257
-class Definition:Definition382,7574
- char *GetPath(Definition::GetPath397,7940
-class Exit:Exit407,8071
-class NoExit:NoExit421,8305
-class Value:Value440,8560
-class Term:Term456,8841
-class Equality:Equality473,9169
-class Sort_Id_Exit:Sort_Id_Exit490,9504
-class NoGuard:NoGuard511,9837
-class Guard:Guard524,10045
-class NoExperiment:NoExperiment545,10368
-class Experiment:Experiment558,10591
- Tree_Node *GetGuard(Experiment::GetGuard574,10962
-class Exclam:Exclam578,11053
-class Query:Query593,11324
-class Internal:Internal614,11643
-class Communication:Communication627,11854
-class Gen_Paral:Gen_Paral652,12337
- void HideGate(Gen_Paral::HideGate668,12634
-class Interl:Interl672,12730
-class Syncr:Syncr685,12929
-class Action_Pref:Action_Pref704,13185
-class Enable:Enable723,13577
-class Disable:Disable746,14097
-class Choice:Choice768,14561
-class Stop:Stop793,15054
-class Exit_Bex:Exit_Bex810,15338
-class Hide:Hide829,15707
-class Guarded:Guarded848,16047
-class Proc_Inst:Proc_Inst867,16425
-class Parallel:Parallel888,16870
- char GetOperType(Parallel::GetOperType910,17343
-class Local_Def:Local_Def914,17429
-class Par:Par933,17801
-class Sum_Gate:Sum_Gate952,18180
-class Sum_Ident:Sum_Ident972,18613
-
-cp-src/cfront.H,2555
-struct loc     67,1948
-struct ea 80,2150
-       ea(ea::ea86,2249
-       ea(ea::ea87,2275
-       ea(ea::ea88,2301
-       ea(ea::ea89,2310
-overload error;94,2349
-#define DEL(161,4040
-#define PERM(162,4092
-#define UNPERM(163,4123
-struct node 165,4157
-struct table 175,4321
-       void    set_scope(table::set_scope198,4988
-       void    set_name(table::set_name199,5029
-       int     max(table::max201,5091
-#define DEFINED 230,5655
-#define SIMPLIFIED 231,5712
-#define DEF_SEEN 232,5754
-#define IN_ERROR 234,5859
-struct type 236,5881
-       TOK     integral(type::integral255,6278
-       TOK     numeric(type::numeric256,6324
-       TOK     num_ptr(type::num_ptr257,6370
-struct enumdef 265,6500
-               enumdef(enumdef::enumdef269,6586
-struct classdef 278,6732
-       TOK     is_simple(classdef::is_simple302,7506
-       Pname   has_ctor(classdef::has_ctor314,7759
-       Pname   has_dtor(classdef::has_dtor315,7813
-       Pname   has_itor(classdef::has_itor316,7867
-struct basetype 323,7935
-struct fct 365,8857
-       bit     declared(fct::declared396,9724
-struct name_list 403,9827
-       name_list(name_list::name_list406,9866
-struct gen 410,9931
-struct pvtyp 419,10071
-struct vec 423,10109
-       vec(vec::vec429,10182
-struct ptr 435,10289
-       ptr(ptr::ptr440,10419
-inline Pptr type::addrof(447,10546
-struct expr 469,11113
-struct texpr 527,12108
-       texpr(texpr::texpr528,12149
-struct ival 531,12218
-       ival(ival::ival532,12258
-struct call 535,12308
-       call(call::call536,12338
-struct qexpr 543,12453
-       qexpr(qexpr::qexpr544,12500
-struct ref 547,12582
-       ref(ref::ref548,12632
-struct text_expr 551,12697
-       text_expr(text_expr::text_expr552,12731
-struct name 557,12884
-       void    unhide(name::unhide592,13929
-       void    use(name::use596,14025
-       void    take_addr(name::take_addr598,14069
-struct stmt 615,14374
-struct estmt 662,15111
-       estmt(estmt::estmt669,15303
-struct ifstmt 672,15379
-       ifstmt(ifstmt::ifstmt676,15484
-struct lstmt 680,15586
-       lstmt(lstmt::lstmt686,15650
-struct forstmt 689,15728
-       forstmt(forstmt::forstmt690,15759
-struct block 694,15880
-       block(block::block695,15919
-struct pair 703,16060
-       pair(pair::pair704,16096
-struct nlist 708,16173
-       void    add(nlist::add712,16230
-struct slist 718,16344
-               slist(slist::slist721,16385
-       void    add(slist::add722,16430
-struct elist 727,16521
-               elist(elist::elist730,16562
-       void    add(elist::add731,16607
-struct dcl_context 739,16739
-       void    stack(dcl_context::stack747,17023
-       void    unstack(dcl_context::unstack748,17064
-#define MAXCONT        751,17095
-const MIA 779,17690
-struct iline 780,17705
-#define FUDGE111 791,17985
-#define DB(831,18890
-#define DB(833,18920
-
 cp-src/burton.cpp,103
 ::dummy::dummy test::dummy1(1,0
 ::dummy::dummy test::dummy2(6,64
@@ -2495,19 +2040,6 @@ class MDiagArray2 78,2022
 #undef LTGT144,3874
 #define INSTANTIATE_MDIAGARRAY_FRIENDS(146,3887
 
-cp-src/Pctest.h,507
-#define PCTEST_H24,837
-    PctestActionValid,::PctestActionValid47,1286
-    PctestActionValidLasthop,::PctestActionValidLasthop49,1370
-    PctestActionFiltered,::PctestActionFiltered51,1481
-    PctestActionAbort  ::PctestActionAbort53,1566
-} PctestActionType;54,1616
-class Pctest 56,1637
-    Pctest(Pctest::Pctest59,1663
-    virtual ~Pctest(Pctest::~Pctest65,1813
-    virtual char *GetTargetName(Pctest::GetTargetName77,2171
-    virtual PctestActionType GetAction(Pctest::GetAction86,2555
-
 cp-src/Range.h,424
 #define octave_Range_h 24,765
 Range35,891
@@ -2752,63 +2284,6 @@ show(124,5458
 dialog_loop(219,9529
 test(252,10806
 
-erl-src/lines.erl,386
--define(BREAK66,2377
--define(dbg68,2437
-new(73,2565
-count(80,2686
-nth(87,2815
-append(104,3301
-replace(119,3816
-insert(138,4559
-insert_after(165,5501
-delete(192,6456
-convert_to_list(215,7110
-convert_from_list(220,7259
-replace_nth(229,7518
-insert_nth(234,7618
-insert_after_nth(239,7711
-delete_nth(244,7828
-split_at(252,8027
-balance_left(267,8451
-balance_right(282,8865
-
-erl-src/lists.erl,593
-member(21,663
-append(30,790
-reverse(48,1099
-nth(59,1310
-nthtail(64,1382
-prefix(73,1546
-suffix(83,1707
-last(92,1882
-seq(101,2058
-sum(109,2265
-duplicate(116,2432
-min(124,2628
-max(132,2837
-sublist(141,3083
-delete(152,3329
-sort(161,3483
-split_and_sort(165,3559
-merge(175,3811
-concat(190,4219
-thing_to_list(195,4300
-flatten(204,4606
-flat_length(222,5003
-keymember(239,5451
-keysearch(246,5609
-keydelete(253,5770
-keyreplace(260,5923
-keysort(266,6113
-split_and_keysort(270,6229
-keymerge(277,6504
-keymap(288,6851
-map(311,7829
-foldl(315,7919
-foldr(320,8037
-zf(325,8155
-
 f-src/entry.for,172
       LOGICAL FUNCTION PRTPKG 3,75
        ENTRY  SETPRT 194,3866
@@ -2881,193 +2356,6 @@ debian-bug.eldebian-bug190,7981
 tcpdump205,8566
 Links to interesting softwarelinks216,8893
 
-java-src/AWTEMul.java,4356
-public class AWTEventMulticaster 63,2111
-    protected 
AWTEventMulticaster(AWTEventMulticaster.AWTEventMulticaster77,2555
-    protected EventListener remove(AWTEventMulticaster.remove86,2820
-    public void componentResized(AWTEventMulticaster.componentResized102,3294
-    public void componentMoved(AWTEventMulticaster.componentMoved112,3626
-    public void componentShown(AWTEventMulticaster.componentShown122,3952
-    public void componentHidden(AWTEventMulticaster.componentHidden132,4280
-    public void componentAdded(AWTEventMulticaster.componentAdded142,4619
-    public void componentRemoved(AWTEventMulticaster.componentRemoved152,4959
-    public void focusGained(AWTEventMulticaster.focusGained162,5281
-    public void focusLost(AWTEventMulticaster.focusLost172,5572
-    public void keyTyped(AWTEventMulticaster.keyTyped182,5853
-    public void keyPressed(AWTEventMulticaster.keyPressed192,6129
-    public void keyReleased(AWTEventMulticaster.keyReleased202,6413
-    public void mouseClicked(AWTEventMulticaster.mouseClicked212,6704
-    public void mousePressed(AWTEventMulticaster.mousePressed222,7004
-    public void mouseReleased(AWTEventMulticaster.mouseReleased232,7306
-    public void mouseEntered(AWTEventMulticaster.mouseEntered242,7609
-    public void mouseExited(AWTEventMulticaster.mouseExited252,7907
-    public void mouseDragged(AWTEventMulticaster.mouseDragged262,8204
-    public void mouseMoved(AWTEventMulticaster.mouseMoved272,8512
-    public void windowOpened(AWTEventMulticaster.windowOpened282,8819
-    public void windowClosing(AWTEventMulticaster.windowClosing292,9125
-    public void windowClosed(AWTEventMulticaster.windowClosed302,9432
-    public void windowIconified(AWTEventMulticaster.windowIconified312,9742
-    public void 
windowDeiconified(AWTEventMulticaster.windowDeiconified322,10064
-    public void windowActivated(AWTEventMulticaster.windowActivated332,10389
-    public void 
windowDeactivated(AWTEventMulticaster.windowDeactivated342,10712
-    public void actionPerformed(AWTEventMulticaster.actionPerformed352,11037
-    public void 
itemStateChanged(AWTEventMulticaster.itemStateChanged362,11356
-    public void 
adjustmentValueChanged(AWTEventMulticaster.adjustmentValueChanged372,11690
-    public void 
textValueChanged(AWTEventMulticaster.textValueChanged376,11874
-    public static ComponentListener add(AWTEventMulticaster.add387,12225
-    public static ContainerListener add(AWTEventMulticaster.add397,12571
-    public static FocusListener add(AWTEventMulticaster.add407,12901
-    public static KeyListener add(AWTEventMulticaster.add417,13207
-    public static MouseListener add(AWTEventMulticaster.add427,13513
-    public static MouseMotionListener add(AWTEventMulticaster.add437,13855
-    public static WindowListener add(AWTEventMulticaster.add447,14197
-    public static ActionListener add(AWTEventMulticaster.add457,14519
-    public static ItemListener add(AWTEventMulticaster.add467,14833
-    public static AdjustmentListener add(AWTEventMulticaster.add477,15163
-    public static TextListener add(AWTEventMulticaster.add480,15310
-    public static ComponentListener 
remove(AWTEventMulticaster.remove490,15664
-    public static ContainerListener 
remove(AWTEventMulticaster.remove500,16044
-    public static FocusListener remove(AWTEventMulticaster.remove510,16408
-    public static KeyListener remove(AWTEventMulticaster.remove520,16748
-    public static MouseListener remove(AWTEventMulticaster.remove530,17088
-    public static MouseMotionListener 
remove(AWTEventMulticaster.remove540,17465
-    public static WindowListener remove(AWTEventMulticaster.remove550,17841
-    public static ActionListener remove(AWTEventMulticaster.remove560,18197
-    public static ItemListener remove(AWTEventMulticaster.remove570,18545
-    public static AdjustmentListener 
remove(AWTEventMulticaster.remove580,18909
-    public static TextListener remove(AWTEventMulticaster.remove583,19062
-    protected static EventListener 
addInternal(AWTEventMulticaster.addInternal597,19608
-    protected static EventListener 
removeInternal(AWTEventMulticaster.removeInternal614,20244
-    protected void saveInternal(AWTEventMulticaster.saveInternal628,20582
-    static void save(AWTEventMulticaster.save646,21131
-
-java-src/KeyEve.java,698
-public class KeyEvent 36,1075
-    public KeyEvent(KeyEvent.KeyEvent234,9912
-    public KeyEvent(KeyEvent.KeyEvent252,10510
-    public int getKeyCode(KeyEvent.getKeyCode261,10836
-    public void setKeyCode(KeyEvent.setKeyCode265,10897
-    public void setKeyChar(KeyEvent.setKeyChar269,10978
-    public void setModifiers(KeyEvent.setModifiers273,11060
-    public char getKeyChar(KeyEvent.getKeyChar282,11331
-    public static String getKeyText(KeyEvent.getKeyText290,11561
-    public static String 
getKeyModifiersText(KeyEvent.getKeyModifiersText377,16662
-    public boolean isActionKey(KeyEvent.isActionKey403,17618
-    public String paramString(KeyEvent.paramString407,17704
-
-java-src/SMan.java,5099
-class SecurityManager 80,3387
-    public boolean getInCheck(SecurityManager.getInCheck101,4075
-    protected SecurityManager(SecurityManager.SecurityManager114,4497
-    protected Class 
currentLoadedClass(SecurityManager.currentLoadedClass149,5707
-    protected boolean inClass(SecurityManager.inClass184,7034
-    protected boolean inClassLoader(SecurityManager.inClassLoader196,7372
-    public Object 
getSecurityContext(SecurityManager.getSecurityContext221,8485
-    public void 
checkCreateClassLoader(SecurityManager.checkCreateClassLoader238,9069
-    public void checkAccess(SecurityManager.checkAccess268,10298
-    public void checkAccess(SecurityManager.checkAccess298,11632
-    public void checkExit(SecurityManager.checkExit323,12649
-    public void checkExec(SecurityManager.checkExec349,13734
-    public void checkLink(SecurityManager.checkLink375,14813
-    public void checkRead(SecurityManager.checkRead394,15485
-    public void checkRead(SecurityManager.checkRead412,16111
-    public void checkRead(SecurityManager.checkRead434,17017
-    public void checkWrite(SecurityManager.checkWrite453,17706
-    public void checkWrite(SecurityManager.checkWrite471,18337
-    public void checkDelete(SecurityManager.checkDelete493,19165
-    public void checkConnect(SecurityManager.checkConnect517,20119
-    public void checkConnect(SecurityManager.checkConnect543,21254
-    public void checkListen(SecurityManager.checkListen561,21910
-    public void checkAccept(SecurityManager.checkAccept585,22887
-    public void checkMulticast(SecurityManager.checkMulticast597,23272
-    public void checkMulticast(SecurityManager.checkMulticast610,23732
-    public void 
checkPropertiesAccess(SecurityManager.checkPropertiesAccess632,24609
-    public void 
checkPropertyAccess(SecurityManager.checkPropertyAccess654,25449
-    public boolean 
checkTopLevelWindow(SecurityManager.checkTopLevelWindow680,26580
-    public void 
checkPrintJobAccess(SecurityManager.checkPrintJobAccess689,26763
-    public void 
checkSystemClipboardAccess(SecurityManager.checkSystemClipboardAccess698,26958
-    public void 
checkAwtEventQueueAccess(SecurityManager.checkAwtEventQueueAccess707,27159
-    public void 
checkPackageAccess(SecurityManager.checkPackageAccess729,27966
-    public void 
checkPackageDefinition(SecurityManager.checkPackageDefinition751,28803
-    public void checkSetFactory(SecurityManager.checkSetFactory775,29929
-    public void checkMemberAccess(SecurityManager.checkMemberAccess786,30209
-    public void 
checkSecurityAccess(SecurityManager.checkSecurityAccess796,30430
-    public ThreadGroup getThreadGroup(SecurityManager.getThreadGroup811,30923
-class NullSecurityManager 817,31025
-    public void 
checkCreateClassLoader(NullSecurityManager.checkCreateClassLoader818,31077
-    public void checkAccess(NullSecurityManager.checkAccess819,31123
-    public void checkAccess(NullSecurityManager.checkAccess820,31165
-    public void checkExit(NullSecurityManager.checkExit821,31212
-    public void checkExec(NullSecurityManager.checkExec822,31254
-    public void checkLink(NullSecurityManager.checkLink823,31296
-    public void checkRead(NullSecurityManager.checkRead824,31338
-    public void checkRead(NullSecurityManager.checkRead825,31387
-    public void checkRead(NullSecurityManager.checkRead826,31430
-    public void checkWrite(NullSecurityManager.checkWrite827,31489
-    public void checkWrite(NullSecurityManager.checkWrite828,31539
-    public void checkDelete(NullSecurityManager.checkDelete829,31583
-    public void checkConnect(NullSecurityManager.checkConnect830,31628
-    public void checkConnect(NullSecurityManager.checkConnect831,31684
-    public void checkListen(NullSecurityManager.checkListen832,31756
-    public void checkAccept(NullSecurityManager.checkAccept833,31798
-    public void checkMulticast(NullSecurityManager.checkMulticast834,31853
-    public void checkMulticast(NullSecurityManager.checkMulticast835,31907
-    public void 
checkPropertiesAccess(NullSecurityManager.checkPropertiesAccess836,31971
-    public void 
checkPropertyAccess(NullSecurityManager.checkPropertyAccess837,32015
-    public void 
checkPropertyAccess(NullSecurityManager.checkPropertyAccess838,32067
-    public boolean 
checkTopLevelWindow(NullSecurityManager.checkTopLevelWindow839,32131
-    public void 
checkPrintJobAccess(NullSecurityManager.checkPrintJobAccess840,32202
-    public void 
checkSystemClipboardAccess(NullSecurityManager.checkSystemClipboardAccess841,32244
-    public void 
checkAwtEventQueueAccess(NullSecurityManager.checkAwtEventQueueAccess842,32293
-    public void 
checkPackageAccess(NullSecurityManager.checkPackageAccess843,32340
-    public void 
checkPackageDefinition(NullSecurityManager.checkPackageDefinition844,32391
-    public void checkSetFactory(NullSecurityManager.checkSetFactory845,32446
-    public void 
checkMemberAccess(NullSecurityManager.checkMemberAccess846,32484
-    public void 
checkSecurityAccess(NullSecurityManager.checkSecurityAccess847,32546
-
-java-src/SysCol.java,295
-public final class SystemColor 37,1402
-    private static void 
updateSystemColors(SystemColor.updateSystemColors349,10617
-    private SystemColor(SystemColor.SystemColor357,10885
-    public int getRGB(SystemColor.getRGB370,11245
-    public String toString(SystemColor.toString377,11388
-
-java-src/TG.java,2041
-class ThreadGroup 54,2104
-    private ThreadGroup(ThreadGroup.ThreadGroup72,2495
-    public ThreadGroup(ThreadGroup.ThreadGroup84,2848
-    public ThreadGroup(ThreadGroup.ThreadGroup105,3714
-    public final String getName(ThreadGroup.getName124,4189
-    public final ThreadGroup getParent(ThreadGroup.getParent135,4492
-    public final int getMaxPriority(ThreadGroup.getMaxPriority148,4867
-    public final boolean isDaemon(ThreadGroup.isDaemon161,5305
-    public synchronized boolean isDestroyed(ThreadGroup.isDestroyed170,5470
-    public final void setDaemon(ThreadGroup.setDaemon192,6368
-    public final void setMaxPriority(ThreadGroup.setMaxPriority213,7110
-    public final boolean parentOf(ThreadGroup.parentOf246,8106
-    public final void checkAccess(ThreadGroup.checkAccess268,8834
-    public int activeCount(ThreadGroup.activeCount283,9286
-    public int enumerate(ThreadGroup.enumerate322,10497
-    public int enumerate(ThreadGroup.enumerate344,11481
-    private int enumerate(ThreadGroup.enumerate348,11584
-    public int activeGroupCount(ThreadGroup.activeGroupCount389,12588
-    public int enumerate(ThreadGroup.enumerate425,13727
-    public int enumerate(ThreadGroup.enumerate445,14595
-    private int enumerate(ThreadGroup.enumerate449,14703
-    public final void stop(ThreadGroup.stop499,16212
-    public final void suspend(ThreadGroup.suspend537,17477
-    public final void resume(ThreadGroup.resume575,18749
-    public final void destroy(ThreadGroup.destroy607,19779
-    private final void add(ThreadGroup.add643,20704
-    private void remove(ThreadGroup.remove668,21402
-    void add(ThreadGroup.add697,22142
-    void remove(ThreadGroup.remove722,22808
-    public void list(ThreadGroup.list751,23503
-    void list(ThreadGroup.list754,23556
-    public void uncaughtException(ThreadGroup.uncaughtException810,25512
-    public boolean 
allowThreadSuspension(ThreadGroup.allowThreadSuspension823,25823
-    public String toString(ThreadGroup.toString837,26142
-
 lua-src/allegro.lua,400
 local function get_layer_by_name 7,175
 local function count_layers 33,621
@@ -3393,292 +2681,6 @@ sub f6 Foo::Bar::f628,244
 package main;32,278
 sub f7 main::f734,293
 
-perl-src/mirror.pl,13410
-sub msg_versionmain::msg_version459,18271
-       local( $arg )( $arg 468,18582
-               local( $flag, $p )( $flag, $p 480,18757
-               local( $site_path )( $site_path 525,19687
-                       local( $site, $path )( $site, $path 539,19958
-               local( $key_val )( $key_val 578,20743
-               local( $user )( $user 595,21097
-               local( $c )( $c 634,21853
-                       local( $sec,$min,$hour,$mday,$mon,$year,( 
$sec,$min,$hour,$mday,$mon,$year,678,22807
-       local( $c )( $c 706,23393
-       local( $dir, $mp )( $dir, $mp 723,23695
-               local( $f )( $f 725,23740
-sub interpret_config_filesmain::interpret_config_files756,24304
-       local( $fname )( $fname 758,24333
-sub interpret_configmain::interpret_config785,24927
-sub parse_linemain::parse_line827,25710
-       local( $eqpl )( $eqpl 829,25727
-       local( $cont )( $cont 830,25744
-                       local( $v )( $v 839,26029
-sub set_defaultsmain::set_defaults860,26448
-sub command_line_overridemain::command_line_override868,26579
-       local( $key, $val, $overrides )( $key, $val, $overrides 870,26607
-sub set_variablesmain::set_variables894,27072
-       local( $key, $val )( $key, $val 896,27092
-                       local( $val_name )( $val_name 902,27259
-               local( $val )( $val 953,28825
-sub upd_valmain::upd_val962,28974
-       local( $key )( $key 964,28988
-sub pr_variablesmain::pr_variables970,29083
-       local( $msg )( $msg 972,29102
-       local( $nle )( $nle 973,29123
-       local( $out )( $out 974,29144
-       local( $key, $val, $str )( $key, $val, $str 975,29164
-sub do_mirrormain::do_mirror1007,29923
-       local( $get_one_package )( $get_one_package 1009,29939
-       local( $exit_status )( $exit_status 1030,30384
-                       local( @t )( @t 1154,33165
-       local( $con )( $con 1241,35499
-               local( @rhelp )( @rhelp 1289,36702
-       local( @sub_dirs )( @sub_dirs 1329,37778
-       local( $now )( $now 1493,41348
-               local( $arg )( $arg 1506,41774
-sub disconnectmain::disconnect1528,42250
-sub connectmain::connect1546,42576
-       local( $attempts )( $attempts 1548,42590
-       local( $res )( $res 1549,42642
-sub prodmain::prod1573,43156
-sub checkout_regexpsmain::checkout_regexps1585,43327
-       local( $ret )( $ret 1587,43350
-       local( $t )( $t 1589,43395
-               local( $val )( $val 1597,43701
-                       local( $err )( $err 1601,43786
-sub clear_localmain::clear_local1610,43909
-sub clear_remotemain::clear_remote1625,44172
-sub get_local_directory_detailsmain::get_local_directory_details1640,44445
-       local( @dirs, $dir )( @dirs, $dir 1642,44479
-       local( $last_prodded )( $last_prodded 1643,44502
-       local( $dir_level )( $dir_level 1691,45615
-       local( $i )( $i 1692,45641
-       local( $path, $time, $size, $type, $mode, $name, $isdir, $value, 
$follow )( $path, $time, $size, $type, $mode, $name, $isdir, $value, $follow 
1693,45659
-       local( $dev,$ino,$fmode,$nlink,$uid,$gid,$rdev,$ssize,( 
$dev,$ino,$fmode,$nlink,$uid,$gid,$rdev,$ssize,1694,45736
-                       local( $mapi )( $mapi 1763,47586
-sub get_remote_directory_detailsmain::get_remote_directory_details1789,48122
-       local( $type_changed )( $type_changed 1791,48157
-       local( $udirtmp )( $udirtmp 1792,48186
-       local( $storename )( $storename 1793,48206
-       local( $rls )( $rls 1825,48944
-               local( $dirtmp )( $dirtmp 1830,49002
-               local( $unsquish )( $unsquish 1832,49130
-                       local( $f )( $f 1840,49360
-               local( $dirtmp )( $dirtmp 1859,49866
-               local( $unsquish )( $unsquish 1870,50215
-                       local( $f, $uf )( $f, $uf 1878,50445
-               local( $flags )( $flags 1912,51259
-       local( $parse_state )( $parse_state 1946,52111
-                       local( $msg )( $msg 1963,52486
-sub patch_ls_lR_filemain::patch_ls_lR_file1984,52955
-       local( $f, $fr, $flb, $flt, $flp, $flz, $frb, $frt )( $f, $fr, $flb, 
$flt, $flp, $flz, $frb, $frt 1990,53055
-       local( $to , $tn )( $to , $tn 1991,53110
-       local( $tlb )( $tlb 1995,53225
-               local( $p, $s, $trz, $t, $m )( $p, $s, $trz, $t, $m 2030,54182
-               local( $tlz )( $tlz 2037,54467
-sub parse_timeoutmain::parse_timeout2089,55670
-sub parse_remote_detailsmain::parse_remote_details2095,55754
-       local( $ret )( $ret 2097,55781
-       local( $old_sig )( $old_sig 2098,55797
-sub parse_remote_details_realmain::parse_remote_details_real2125,56234
-       local( $path, $size, $time, $type, $mode, $rdir, $rcwd )( $path, 
$size, $time, $type, $mode, $rdir, $rcwd 2127,56266
-       local( @dir_list )( @dir_list 2128,56325
-       local( $i )( $i 2129,56346
-       local( $old_path )( $old_path 2130,56364
-                               local( $old_path )( $old_path 2143,56630
-                               local( $ri )( $ri 2203,58078
-                       local( $mapi )( $mapi 2214,58335
-                       local( $done )( $done 2239,58911
-sub compare_dirsmain::compare_dirs2283,59825
-       local( *src_paths,( *src_paths,2286,59915
-       local( $src_path, $dest_path, $i )( $src_path, $dest_path, $i 
2293,60099
-       local( $last_prodded )( $last_prodded 2294,60136
-       local( $desti, $srci, $compress, $srciZ, $srcigz, $split, 
$dest_path_real )( $desti, $srci, $compress, $srciZ, $srcigz, $split, 
$dest_path_real 2299,60350
-       local( $old_dest_path, $existing_path, $tmp, $restart )( 
$old_dest_path, $existing_path, $tmp, $restart 2300,60428
-       local( $sp, $dp )( $sp, $dp 2301,60486
-                  local( $real, $reali, $reali1 )( $real, $reali, $reali1 
2352,62034
-                  local( $count )( $count 2353,62072
-                       local( $value )( $value 2408,63996
-                       local( $real )( $real 2409,64028
-                       local( $reali )( $reali 2410,64086
-                               local( $old )( $old 2421,64571
-                       local( $old_dest_path )( $old_dest_path 2432,64842
-                               local( $dpp, $dps )( $dpp, $dps 2509,67031
-               local( $update )( $update 2534,67671
-sub map_namemain::map_name2651,71028
-       local( $name )( $name 2653,71043
-               local( $old_name )( $old_name 2656,71089
-               local( $tmp )( $tmp 2666,71252
-sub set_timestampsmain::set_timestamps2675,71362
-       local( $src_path )( $src_path 2677,71383
-       local( $dest_path, $dest_loc_mapi, $src_rem_mapi,  $rtime )( 
$dest_path, $dest_loc_mapi, $src_rem_mapi,  $rtime 2685,71517
-sub set_timestampmain::set_timestamp2699,71901
-       local( $path, $time )( $path, $time 2701,71921
-       local( $pr_time )( $pr_time 2703,71953
-sub make_dirsmain::make_dirs2719,72284
-       local( $thing )( $thing 2721,72300
-sub make_symlinksmain::make_symlinks2736,72489
-       local( $thing )( $thing 2738,72509
-               local( $dest, $existing )( $dest, $existing 2745,72623
-               local( $dirpart )( $dirpart 2746,72663
-               local( $ft )( $ft 2747,72704
-               local( $p )( $p 2762,73261
-                       local( $f )( $f 2770,73467
-                       local( $dl )( $dl 2788,74038
-sub do_all_transfersmain::do_all_transfers2806,74439
-       local( $src_path )( $src_path 2808,74462
-       local( $dest_path, $attribs )( $dest_path, $attribs 2809,74483
-       local( $srci )( $srci 2810,74515
-               local( $newpath )( $newpath 2838,75124
-sub transfer_filemain::transfer_file2869,75847
-       local( $src_path, $dest_path, $attribs, $timestamp )( $src_path, 
$dest_path, $attribs, $timestamp 2871,75867
-       local( $dir, $file, $temp, $compress, $split, $restart, $mesg, 
$got_mesg )( $dir, $file, $temp, $compress, $split, $restart, $mesg, $got_mesg 
2872,75927
-               local( $src_file )( $src_file 2915,76782
-               local( $comptemp )( $comptemp 2916,76816
-                       local( $f )( $f 2921,76964
-               local($filesize)($filesize2944,77569
-                       local( $ti )( $ti 2975,78401
-               local( $f )( $f 2997,78887
-               local( $comp )( $comp 2998,78912
-       local( $filesize )( $filesize 3015,79427
-       local( $sizemsg )( $sizemsg 3016,79469
-       local( $srcsize )( $srcsize 3017,79501
-               local( $time )( $time 3029,79865
-       local( $as )( $as 3046,80223
-       local( $locali )( $locali 3054,80499
-sub filename_to_tempnamemain::filename_to_tempname3062,80713
-       local( $dir, $file )( $dir, $file 3064,80740
-       local ( $dest_path )( $dest_path 3066,80769
-sub log_uploadmain::log_upload3090,81228
-       local( $src_path, $dest_path, $got_mesg, $size )( $src_path, 
$dest_path, $got_mesg, $size 3092,81245
-sub do_deletesmain::do_deletes3118,81773
-       local( *src_paths,( *src_paths,3121,81861
-       local( $files_to_go, $dirs_to_go )( $files_to_go, $dirs_to_go 
3125,81960
-       local( $src_path, $i )( $src_path, $i 3131,82055
-       local( $orig_do_deletes )( $orig_do_deletes 3132,82080
-       local( $orig_save_deletes )( $orig_save_deletes 3133,82122
-       local( $del_patt )( $del_patt 3135,82169
-               local( $per )( $per 3162,82843
-               local( $per )( $per 3184,83513
-                       local( $save_dir_tail )( $save_dir_tail 3226,84617
-sub save_deletemain::save_delete3245,85019
-       local( $save, $kind )( $save, $kind 3247,85037
-       local( $real_save_dir, $save_dest )( $real_save_dir, $save_dest 
3249,85067
-       local( $dirname )( $dirname 3284,85704
-sub save_mkdirmain::save_mkdir3304,86155
-       local( $dir )( $dir 3306,86172
-sub do_deletemain::do_delete3320,86459
-       local( $del, $kind )( $del, $kind 3322,86475
-sub filesizemain::filesize3377,87532
-       local( $fname )( $fname 3379,87547
-sub istruemain::istrue3390,87654
-       local( $val )( $val 3392,87667
-sub mksymlinkmain::mksymlink3398,87773
-       local( $dest_path, $existing_path )( $dest_path, $existing_path 
3400,87789
-               local( $msg )( $msg 3417,88246
-               local( $msg )( $msg 3431,88590
-               local( $status )( $status 3442,88816
-sub mkdirsmain::mkdirs3457,89196
-       local( $dir )( $dir 3459,89209
-       local( @dir, $d, $path )( @dir, $d, $path 3460,89230
-sub make_dirmain::make_dir3497,90042
-       local( $dir, $mode )( $dir, $mode 3499,90057
-       local( $val )( $val 3500,90085
-sub dir_existsmain::dir_exists3528,90573
-       local( $dir )( $dir 3530,90590
-       local( $val )( $val 3531,90611
-               local($old_dir)($old_dir3539,90750
-sub set_attribsmain::set_attribs3553,91053
-       local( $path, $src_path, $type )( $path, $src_path, $type 3555,91071
-       local( $mode )( $mode 3556,91111
-               local( $pathi )( $pathi 3564,91229
-               local( $pathi )( $pathi 3568,91320
-sub get_passwdmain::get_passwd3606,91977
-       local( $user )( $user 3608,91994
-       local( $pass )( $pass 3609,92016
-       local( $| )( $| 3610,92033
-sub compare_timesmain::compare_times3631,92384
-       local( $t1, $t2 )( $t1, $t2 3637,92564
-       local( $diff )( $diff 3638,92589
-sub create_assocsmain::create_assocs3643,92688
-       local( $map )( $map 3645,92708
-sub delete_assocsmain::delete_assocs3657,92957
-       local( $map )( $map 3659,92977
-sub unlink_dbmmain::unlink_dbm3671,93247
-       local( $file )( $file 3673,93264
-sub bsplitmain::bsplit3681,93462
-       local( $temp, $dest_path, $time )( $temp, $dest_path, $time 3683,93475
-       local( $dest_dir )( $dest_dir 3684,93516
-       local( $bufsiz )( $bufsiz 3685,93558
-       local( $buffer, $in, $sofar )( $buffer, $in, $sofar 3686,93583
-       local( $d )( $d 3691,93721
-       local( $index )( $index 3697,93840
-       local( $part )( $part 3698,93865
-                       local( $locali )( $locali 3714,94336
-       local( $readme )( $readme 3730,94740
-sub sysmain::sys3739,95116
-       local( $com )( $com 3741,95126
-sub set_assoc_from_arraymain::set_assoc_from_array3751,95355
-       local( *things )( *things 3754,95453
-sub find_progmain::find_prog3760,95537
-       local( $prog )( $prog 3762,95553
-       local( $path )( $path 3763,95575
-               local( $path )( $path 3766,95657
-sub real_dir_from_pathmain::real_dir_from_path3780,95842
-       local( $program )( $program 3782,95867
-       local( @prog_path )( @prog_path 3783,95892
-       local( $dir )( $dir 3784,95970
-sub msgmain::msg3807,96489
-       local( $todo, $msg )( $todo, $msg 3809,96499
-sub to_bytesmain::to_bytes3838,96979
-       local( $size )( $size 3840,96994
-sub unix2vmsmain::unix2vms3858,97332
-       local( $v, $kind )( $v, $kind 3860,97347
-                       local( $dir, $rest )( $dir, $rest 3873,97559
-sub dirpartmain::dirpart3886,97730
-       local( $path )( $path 3888,97744
-sub expand_symlinkmain::expand_symlink3902,98076
-       local( $orig_path, $points_to )( $orig_path, $points_to 3904,98097
-       local( $dirpart )( $dirpart 3905,98136
-sub flatten_pathmain::flatten_path3913,98365
-       local( $path )( $path 3915,98384
-       local( $changed )( $changed 3916,98406
-       local( $i )( $i 3917,98430
-       local( $rooted )( $rooted 3919,98446
-       local( $count )( $count 3920,98482
-       local( $orig_path )( $orig_path 3921,98504
-               local( $in )( $in 3932,98741
-               local( @parts )( @parts 3933,98765
-sub fix_packagemain::fix_package3963,99438
-       local( $package )( $package 3965,99456
-sub will_compressmain::will_compress3970,99529
-sub will_splitmain::will_split3981,99859
-sub myflockmain::myflock3989,100001
-       local( $file, $kind )( $file, $kind 3991,100015
-sub t2strmain::t2str4004,100221
-       local( @t )( @t 4006,100233
-       
local($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst4013,100335
-sub handlermain::handler4022,100583
-        local( $sig )( $sig 4029,100651
-        local( $msg )( $msg 4030,100679
-        local( $package, $filename, $line )( $package, $filename, $line 
4031,100737
-sub trap_signalsmain::trap_signals4036,100859
-       local( $sig )( $sig 4038,100878
-sub map_user_groupmain::map_user_group4047,101158
-sub keepmain::keep4069,101537
-       local( $pathi, $path, *keep, *keep_totals, *keep_map, $kind )( $pathi, 
$path, *keep, *keep_totals, *keep_map, $kind 4071,101548
-sub alarmmain::alarm4104,102330
-       local( $time_to_sig )( $time_to_sig 4106,102342
-sub chownmain::chown4110,102405
-       local( $uid, $gid, $path )( $uid, $gid, $path 4112,102417
-sub utimemain::utime4116,102494
-       local( $atime, $mtime, $path )( $atime, $mtime, $path 4118,102506
-       local( $old_mode )( $old_mode 4124,102685
-       local( $tmp_mode )( $tmp_mode 4125,102730
-       local( $ret )( $ret 4126,102763
-sub cwdmain::cwd4135,102913
-       local( $lcwd )( $lcwd 4137,102923
-
 ps-src/rfc1245.ps,2478
 /FMversion 12,311
 /FrameDict 17,500
diff --git a/test/etags/ETAGS.good_2 b/test/etags/ETAGS.good_2
index 737a6f9..32b58d8 100644
--- a/test/etags/ETAGS.good_2
+++ b/test/etags/ETAGS.good_2
@@ -1,46 +1,45 @@
 
-Makefile,701
+Makefile,683
 ADASRC=1,0
 ASRC=2,91
 CSRC=3,139
 CPSRC=7,410
-ELSRC=10,624
-ERLSRC=11,694
-FORTHSRC=12,759
-FSRC=13,809
-HTMLSRC=14,881
-JAVASRC=15,974
-LUASRC=16,1062
-MAKESRC=17,1105
-OBJCSRC=18,1147
-OBJCPPSRC=19,1228
-PASSRC=20,1291
-PERLSRC=21,1333
-PHPSRC=22,1413
-PSSRC=23,1485
-PROLSRC=24,1525
-PYTSRC=25,1587
-TEXSRC=26,1628
-YSRC=27,1707
-SRCS=28,1772
-NONSRCS=32,2024
-ETAGS_PROG=34,2098
-CTAGS_PROG=35,2129
-REGEX=37,2161
-xx=38,2207
-RUN=40,2256
-OPTIONS=42,2262
-ARGS=43,2314
-infiles 45,2332
-check:check47,2394
-ediff%:ediff%55,2697
-cdiff:cdiff58,2798
-ETAGS:ETAGS61,2895
-CTAGS:CTAGS64,2965
-srclist:srclist67,3043
-regexfile:regexfile71,3134
-.PRECIOUS:.PRECIOUS77,3311
-FRC:FRC79,3345
+ELSRC=10,584
+ERLSRC=11,654
+FORTHSRC=12,699
+FSRC=13,749
+HTMLSRC=14,821
+LUASRC=16,950
+MAKESRC=17,993
+OBJCSRC=18,1035
+OBJCPPSRC=19,1116
+PASSRC=20,1179
+PERLSRC=21,1221
+PHPSRC=22,1291
+PSSRC=23,1363
+PROLSRC=24,1403
+PYTSRC=25,1465
+TEXSRC=26,1506
+YSRC=27,1585
+SRCS=28,1650
+NONSRCS=32,1902
+ETAGS_PROG=34,1976
+CTAGS_PROG=35,2007
+REGEX=37,2039
+xx=38,2085
+RUN=40,2134
+OPTIONS=42,2140
+ARGS=43,2192
+infiles 45,2210
+check:check47,2272
+ediff%:ediff%55,2575
+cdiff:cdiff58,2676
+ETAGS:ETAGS61,2773
+CTAGS:CTAGS64,2843
+srclist:srclist67,2921
+regexfile:regexfile71,3012
+.PRECIOUS:.PRECIOUS77,3189
+FRC:FRC79,3223
 
 ada-src/etags-test-for.ada,1969
    type LL_Task_Procedure_Access LL_Task_Procedure_Access/t1,0
@@ -2506,1051 +2505,6 @@ typedef int 
should_see_this_one_enclosed_in_extern_C;149,3155
 typedef int 
(*should_see_this_function_pointer)should_see_this_function_pointer153,3228
 typedef int should_see_this_array_type[should_see_this_array_type156,3310
 
-cp-src/abstract.C,11317
-Half_Container::Half_Container(34,703
-void Half_Container::SetPosition(45,941
-void Half_Container::SetDimensions(58,1259
-void Half_Container::SetFather(81,1697
-void Half_Container::SetCollapsed(87,1787
-Specification::Specification(98,1958
-void Specification::SetPosition(119,2453
-void Specification::SetDimensions(164,3742
-void Specification::SetFather(188,4616
-void Specification::SetPath(202,4908
-Coord Specification::GetMaxX(212,5125
-Coord Specification::GetMaxY(215,5174
-Process::Process(222,5298
-void Process::SetPosition(242,5697
-void Process::SetDimensions(291,6959
-void Process::SetFather(315,7913
-void Process::SetPath(326,8123
-Coord Process::GetMaxX(335,8323
-Coord Process::GetMaxY(338,8365
-Choice::Choice(346,8482
-void Choice::SetPosition(357,8698
-void Choice::SetDimensions(405,10053
-void Choice::ChangeH(466,12014
-void Choice::ChangeW(495,12947
-void Choice::SetFather(522,13700
-void Choice::SetTextual(532,13918
-void Choice::SetCollapsed(540,14041
-int Choice::Get_Textual_H(549,14168
-int Choice::Get_Textual_W(557,14408
-void Choice::SetTerminalPos(566,14615
-Stop::Stop(588,15087
-void Stop::SetPosition(595,15207
-void Stop::SetDimensions(605,15373
-void Stop::SetFather(644,16369
-void Stop::SetTextual(652,16537
-void Stop::SetCollapsed(655,16616
-Exit::Exit(667,16768
-void Exit::SetPosition(676,16935
-void Exit::SetDimensions(687,17164
-void Exit::SetFather(695,17350
-Exit_Bex::Exit_Bex(703,17476
-void Exit_Bex::SetPosition(713,17678
-void Exit_Bex::SetDimensions(740,18430
-void Exit_Bex::SetFather(798,20444
-void Exit_Bex::SetTextual(807,20646
-void Exit_Bex::SetCollapsed(814,20757
-NoExit::NoExit(826,20943
-void NoExit::SetPosition(835,21092
-void NoExit::SetDimensions(845,21266
-void NoExit::SetFather(852,21359
-ID_Place::ID_Place(861,21488
-void ID_Place::SetIdent(875,21745
-void ID_Place::SetPosition(886,21936
-void ID_Place::SetDimensions(897,22173
-void ID_Place::SetFather(928,23017
-ID_Place::~ID_Place(932,23073
-void ID_Place::SetVisible(935,23112
-void ID_Place::ClearID(941,23193
-ID_List::ID_List(953,23379
-void ID_List::SetPosition(967,23644
-void ID_List::SetDimensions(999,24385
-void ID_List::SetFather(1038,25456
-void ID_List::SetCollapsed(1047,25595
-void ID_List::HideMe(1056,25734
-void ID_List::SetRBubble(1065,25862
-void ID_List::SetAlignement(1073,25980
-int ID_List::GetCardinality(1082,26123
-void ID_List::SetVisible(1093,26291
-void ID_List::BuildSigSorts(1103,26518
-void ID_List::ClearIDs(1126,27081
-Id_Decl::Id_Decl(1139,27280
-void Id_Decl::SetPosition(1156,27659
-void Id_Decl::SetDimensions(1174,28016
-void Id_Decl::SetFather(1191,28417
-void Id_Decl::SetCollapsed(1200,28568
-Id_Decl_List::Id_Decl_List(1214,28799
-void Id_Decl_List::SetPosition(1227,29069
-void Id_Decl_List::SetDimensions(1245,29424
-void Id_Decl_List::SetFather(1262,29844
-void Id_Decl_List::SetCollapsed(1271,29988
-Comment::Comment(1286,30209
-void Comment::SetComment(1299,30446
-void Comment::SetFather(1317,30800
-void Comment::SetPosition(1321,30854
-void Comment::SetDimensions(1331,31031
-Comment::~Comment(1345,31265
-Comment_List::Comment_List(1352,31382
-void Comment_List::SetPosition(1362,31541
-void Comment_List::SetDimensions(1380,31860
-void Comment_List::SetFather(1392,32139
-Parallel::Parallel(1406,32360
-void Parallel::SetPosition(1417,32573
-void Parallel::SetDimensions(1473,34272
-void Parallel::SetTextual(1534,36167
-int Parallel::Get_Textual_W(1543,36313
-int Parallel::Get_Textual_H(1559,36722
-void Parallel::SetTerminalPos(1570,37191
-void Parallel::SetFather(1590,37698
-void Parallel::SetCollapsed(1601,37950
-Ident_Eq::Ident_Eq(1615,38177
-void Ident_Eq::SetPosition(1632,38546
-void Ident_Eq::SetDimensions(1647,38851
-void Ident_Eq::SetFather(1662,39191
-void Ident_Eq::SetCollapsed(1669,39295
-Ident_Eq_List::Ident_Eq_List(1681,39480
-void Ident_Eq_List::SetPosition(1694,39753
-void Ident_Eq_List::SetDimensions(1712,40111
-void Ident_Eq_List::SetCollapsed(1729,40538
-void Ident_Eq_List::SetFather(1738,40683
-Local_Def::Local_Def(1751,40904
-void Local_Def::SetPosition(1761,41102
-void Local_Def::SetDimensions(1791,41833
-void Local_Def::SetFather(1832,43262
-void Local_Def::SetCollapsed(1839,43370
-void Local_Def::SetTextual(1848,43504
-Hide::Hide(1860,43681
-void Hide::SetPosition(1871,43872
-void Hide::SetDimensions(1901,44569
-void Hide::SetFather(1944,45771
-void Hide::SetCollapsed(1951,45873
-void Hide::SetTextual(1961,46003
-Interl::Interl(1972,46175
-void Interl::SetPosition(1982,46361
-void Interl::SetDimensions(1993,46593
-void Interl::SetFather(2021,47103
-Syncr::Syncr(2031,47257
-void Syncr::SetPosition(2041,47438
-void Syncr::SetDimensions(2051,47609
-void Syncr::SetFather(2079,48153
-Enable::Enable(2090,48436
-void Enable::SetPosition(2102,48690
-void Enable::SetDimensions(2169,50473
-void Enable::SetTextual(2243,53017
-void Enable::SetTerminalPos(2251,53140
-int Enable::Get_Textual_W(2271,53720
-int Enable::Get_Textual_H(2282,53985
-void Enable::SetFather(2285,54104
-void Enable::SetCollapsed(2298,54418
-Disable::Disable(2314,54780
-void Disable::SetPosition(2325,55001
-void Disable::SetDimensions(2376,56251
-void Disable::SetFather(2436,58064
-void Disable::SetCollapsed(2446,58284
-void Disable::SetTextual(2455,58412
-void Disable::SetTerminalPos(2463,58536
-int Disable::Get_Textual_W(2479,58987
-int Disable::Get_Textual_H(2488,59190
-Gen_Paral::Gen_Paral(2500,59630
-void Gen_Paral::SetPosition(2513,59899
-void Gen_Paral::SetDimensions(2540,60659
-void Gen_Paral::SetFather(2590,62171
-void Gen_Paral::SetCollapsed(2597,62290
-Action_Pref::Action_Pref(2609,62583
-void Action_Pref::SetPosition(2620,62829
-void Action_Pref::SetDimensions(2669,63937
-void Action_Pref::SetFather(2724,65777
-void Action_Pref::SetCollapsed(2734,66010
-void Action_Pref::SetTextual(2743,66147
-Internal::Internal(2757,66484
-void Internal::SetPosition(2768,66658
-void Internal::SetDimensions(2778,66838
-void Internal::SetFather(2806,67442
-Communication::Communication(2816,67702
-void Communication::SetPosition(2827,67956
-void Communication::SetDimensions(2897,70390
-void Communication::SetFather(2935,71706
-void Communication::SetCollapsed(2942,71837
-void Communication::SetTextual(2949,71968
-NoGuard::NoGuard(2961,72262
-void NoGuard::SetPosition(2974,72462
-void NoGuard::SetDimensions(2984,72639
-void NoGuard::SetFather(2987,72678
-Guard::Guard(2996,72929
-void Guard::SetPosition(3008,73118
-void Guard::SetDimensions(3022,73428
-void Guard::SetFather(3044,73894
-void Guard::SetCollapsed(3050,73974
-NoExperiment::NoExperiment(3062,74258
-void NoExperiment::SetPosition(3075,74478
-void NoExperiment::SetDimensions(3085,74670
-void NoExperiment::SetFather(3088,74714
-Experiment::Experiment(3097,74978
-void Experiment::SetPosition(3110,75245
-void Experiment::SetDimensions(3128,75611
-void Experiment::SetFather(3150,76066
-void Experiment::SetCollapsed(3157,76188
-void Experiment::SetTextual(3165,76311
-Proc_Inst::Proc_Inst(3175,76476
-void Proc_Inst::SetPosition(3191,76777
-void Proc_Inst::SetDimensions(3236,77965
-void Proc_Inst::SetFather(3286,79596
-void Proc_Inst::SetCollapsed(3294,79739
-void Proc_Inst::SetTextual(3304,79909
-Value_Expr::Value_Expr(3316,80100
-void Value_Expr::SetPosition(3329,80327
-void Value_Expr::SetDimensions(3340,80572
-void Value_Expr::SetFather(3343,80614
-Value_Expr_List::Value_Expr_List(3351,80755
-void Value_Expr_List::SetPosition(3364,81042
-void Value_Expr_List::SetDimensions(3382,81406
-void Value_Expr_List::SetFather(3399,81830
-void Value_Expr_List::SetCollapsed(3408,81977
-Sum_Ident::Sum_Ident(3423,82203
-void Sum_Ident::SetPosition(3435,82445
-void Sum_Ident::SetDimensions(3466,83196
-void Sum_Ident::SetFather(3509,84540
-void Sum_Ident::SetCollapsed(3516,84653
-void Sum_Ident::SetTextual(3525,84793
-void Sum_Ident::SetTerminalPos(3532,84897
-Value::Value(3552,85432
-void Value::SetPosition(3569,85792
-void Value::SetDimensions(3583,86091
-void Value::SetFather(3606,86628
-void Value::SetCollapsed(3613,86731
-Term::Term(3626,86908
-void Term::SetPosition(3646,87323
-void Term::SetDimensions(3671,87942
-void Term::SetFather(3697,88599
-void Term::SetCollapsed(3705,88732
-Exit_Entry::Exit_Entry(3719,88947
-void Exit_Entry::SetPosition(3732,89176
-void Exit_Entry::SetDimensions(3743,89421
-void Exit_Entry::SetFather(3746,89463
-Exit_Entry_List::Exit_Entry_List(3754,89604
-void Exit_Entry_List::SetPosition(3766,89875
-void Exit_Entry_List::SetDimensions(3785,90304
-void Exit_Entry_List::SetFather(3802,90753
-void Exit_Entry_List::SetCollapsed(3811,90900
-Sum_Gate::Sum_Gate(3826,91125
-void Sum_Gate::SetPosition(3837,91363
-void Sum_Gate::SetDimensions(3873,92120
-void Sum_Gate::SetFather(3915,93438
-void Sum_Gate::SetCollapsed(3922,93549
-void Sum_Gate::SetTextual(3931,93687
-void Sum_Gate::SetTerminalPos(3938,93790
-Gate_Decl::Gate_Decl(3959,94421
-void Gate_Decl::SetPosition(3977,94900
-void Gate_Decl::SetDimensions(3995,95298
-void Gate_Decl::SetFather(4011,95694
-void Gate_Decl::SetCollapsed(4020,95871
-Gate_Decl_List::Gate_Decl_List(4034,96130
-void Gate_Decl_List::SetPosition(4047,96414
-void Gate_Decl_List::SetDimensions(4065,96779
-void Gate_Decl_List::SetFather(4082,97207
-void Gate_Decl_List::SetCollapsed(4091,97353
-Par::Par(4106,97572
-void Par::SetPosition(4126,97957
-void Par::SetDimensions(4174,99236
-void Par::SetFather(4226,100814
-void Par::SetCollapsed(4234,100943
-void Par::SetTextual(4245,101100
-Sort_Id_Exit::Sort_Id_Exit(4258,101329
-void Sort_Id_Exit::SetPosition(4270,101556
-void Sort_Id_Exit::SetDimensions(4283,101834
-void Sort_Id_Exit::SetFather(4297,102142
-void Sort_Id_Exit::SetCollapsed(4303,102228
-Equality::Equality(4314,102512
-Equality::Equality(4327,102736
-void Equality::SetPosition(4340,102987
-void Equality::SetDimensions(4357,103329
-void Equality::SetFather(4377,103720
-void Equality::SetCollapsed(4387,103858
-Guarded::Guarded(4401,104167
-void Guarded::SetPosition(4413,104384
-void Guarded::SetDimensions(4441,105084
-void Guarded::SetFather(4482,106273
-void Guarded::SetCollapsed(4489,106377
-void Guarded::SetTextual(4499,106509
-Exper_Off::Exper_Off(4510,106813
-void Exper_Off::SetPosition(4523,107035
-void Exper_Off::SetDimensions(4533,107220
-void Exper_Off::SetFather(4536,107261
-Exper_Off_List::Exper_Off_List(4544,107521
-void Exper_Off_List::SetPosition(4557,107802
-void Exper_Off_List::SetDimensions(4575,108167
-void Exper_Off_List::SetFather(4592,108594
-void Exper_Off_List::SetCollapsed(4601,108740
-Exclam::Exclam(4616,109087
-void Exclam::SetPosition(4629,109300
-void Exclam::SetDimensions(4641,109541
-void Exclam::SetFather(4655,109830
-void Exclam::SetCollapsed(4661,109912
-Query::Query(4673,110194
-void Query::SetPosition(4686,110399
-void Query::SetDimensions(4698,110636
-void Query::SetFather(4712,110918
-void Query::SetCollapsed(4718,110997
-Definition::Definition(4729,111279
-void Definition::SetPosition(4741,111448
-void Definition::SetDimensions(4752,111658
-void Definition::SetFather(4766,111896
-void Definition::SetPath(4777,112089
-Proc_List::Proc_List(4790,112374
-void Proc_List::SetPosition(4799,112505
-void Proc_List::SetDimensions(4809,112686
-void Proc_List::SetFather(4815,112767
-void Proc_List::SetPath(4824,112908
-char *Proc_List::GetPath(Proc_List::GetPath4832,113068
-
-cp-src/abstract.H,17065
-#define abstract_hh16,453
-class SignatureSorts;21,513
-class ID_Place:ID_Place23,536
- ID_Place(ID_Place::ID_Place31,637
- void  SetIdent(ID_Place::SetIdent32,650
- void SetPosition(ID_Place::SetPosition33,675
- void SetDimensions(ID_Place::SetDimensions34,708
- void SetVisible(ID_Place::SetVisible35,735
- void SetFather(ID_Place::SetFather36,759
- void ClearID(ID_Place::ClearID37,789
- virtual ~ID_Place(ID_Place::~ID_Place38,810
- char *GetIdent(ID_Place::GetIdent41,857
- void SetRBubble(ID_Place::SetRBubble42,891
- char GetRBubble(ID_Place::GetRBubble43,934
-class ID_List:ID_List47,1012
- ID_List(ID_List::ID_List57,1134
- void SetPosition(ID_List::SetPosition58,1167
- void SetDimensions(ID_List::SetDimensions59,1200
- void SetFather(ID_List::SetFather60,1227
- ID_Place *GetElem(ID_List::GetElem61,1257
- void HideMe(ID_List::HideMe62,1279
- void SetCollapsed(ID_List::SetCollapsed63,1299
- void SetRBubble(ID_List::SetRBubble64,1325
- void BuildSigSorts(ID_List::BuildSigSorts65,1349
- void SetVisible(ID_List::SetVisible66,1409
- void SetAlignement(ID_List::SetAlignement67,1433
- void ClearIDs(ID_List::ClearIDs68,1460
- int GetCardinality(ID_List::GetCardinality69,1482
-class Id_Decl:Id_Decl73,1540
- Id_Decl(Id_Decl::Id_Decl81,1648
- void SetPosition(Id_Decl::SetPosition82,1681
- void SetDimensions(Id_Decl::SetDimensions83,1714
- void SetFather(Id_Decl::SetFather84,1741
- void SetCollapsed(Id_Decl::SetCollapsed85,1771
-class Id_Decl_List:Id_Decl_List89,1829
- Id_Decl_List(Id_Decl_List::Id_Decl_List97,1945
- void SetPosition(Id_Decl_List::SetPosition98,1987
- void SetDimensions(Id_Decl_List::SetDimensions99,2020
- void SetFather(Id_Decl_List::SetFather100,2047
- void SetCollapsed(Id_Decl_List::SetCollapsed101,2077
-class Comment:Comment105,2140
- Comment(Comment::Comment112,2222
- Comment(Comment::Comment113,2234
- void SetComment(Comment::SetComment114,2271
- void SetPosition(Comment::SetPosition115,2297
- void SetDimensions(Comment::SetDimensions116,2330
- void SetFather(Comment::SetFather117,2357
- virtual ~Comment(Comment::~Comment118,2387
-class Comment_List:Comment_List122,2440
- Comment_List(Comment_List::Comment_List128,2525
- void SetPosition(Comment_List::SetPosition129,2567
- void SetDimensions(Comment_List::SetDimensions130,2600
- void SetFather(Comment_List::SetFather131,2627
-class Value_Expr:Value_Expr135,2694
- Value_Expr(Value_Expr::Value_Expr141,2769
- void SetPosition(Value_Expr::SetPosition142,2784
- void SetDimensions(Value_Expr::SetDimensions143,2817
- void SetFather(Value_Expr::SetFather144,2844
-class Value_Expr_List:Value_Expr_List149,2911
- Value_Expr_List(Value_Expr_List::Value_Expr_List157,3038
- void SetPosition(Value_Expr_List::SetPosition158,3088
- void SetDimensions(Value_Expr_List::SetDimensions159,3121
- void SetFather(Value_Expr_List::SetFather160,3148
- void SetCollapsed(Value_Expr_List::SetCollapsed161,3178
-class Exit_Entry:Exit_Entry165,3244
- Exit_Entry(Exit_Entry::Exit_Entry171,3319
- void SetPosition(Exit_Entry::SetPosition172,3334
- void SetDimensions(Exit_Entry::SetDimensions173,3367
- void SetFather(Exit_Entry::SetFather174,3394
-class Exit_Entry_List:Exit_Entry_List179,3460
- Exit_Entry_List(Exit_Entry_List::Exit_Entry_List187,3587
- void SetPosition(Exit_Entry_List::SetPosition188,3637
- void SetDimensions(Exit_Entry_List::SetDimensions189,3670
- void SetFather(Exit_Entry_List::SetFather190,3697
- void SetCollapsed(Exit_Entry_List::SetCollapsed191,3727
-class Exper_Off:Exper_Off195,3793
- Exper_Off(Exper_Off::Exper_Off199,3838
- void SetPosition(Exper_Off::SetPosition200,3852
- void SetDimensions(Exper_Off::SetDimensions201,3885
- void SetFather(Exper_Off::SetFather202,3912
-class Exper_Off_List:Exper_Off_List207,3977
- Exper_Off_List(Exper_Off_List::Exper_Off_List215,4115
- void SetPosition(Exper_Off_List::SetPosition216,4163
- void SetDimensions(Exper_Off_List::SetDimensions217,4196
- void SetFather(Exper_Off_List::SetFather218,4223
- void SetCollapsed(Exper_Off_List::SetCollapsed219,4253
-class Gate_Decl:Gate_Decl223,4323
- Gate_Decl(Gate_Decl::Gate_Decl231,4446
- void SetPosition(Gate_Decl::SetPosition232,4480
- void SetDimensions(Gate_Decl::SetDimensions233,4513
- void SetFather(Gate_Decl::SetFather234,4540
- void SetCollapsed(Gate_Decl::SetCollapsed235,4570
-class Gate_Decl_List:Gate_Decl_List239,4630
- Gate_Decl_List(Gate_Decl_List::Gate_Decl_List247,4754
- void SetPosition(Gate_Decl_List::SetPosition248,4802
- void SetDimensions(Gate_Decl_List::SetDimensions249,4835
- void SetFather(Gate_Decl_List::SetFather250,4862
- void SetCollapsed(Gate_Decl_List::SetCollapsed251,4892
-class Ident_Eq:Ident_Eq255,4957
- Ident_Eq(Ident_Eq::Ident_Eq263,5079
- void SetPosition(Ident_Eq::SetPosition264,5116
- void SetDimensions(Ident_Eq::SetDimensions265,5149
- void SetFather(Ident_Eq::SetFather266,5176
- void SetCollapsed(Ident_Eq::SetCollapsed267,5206
-class Ident_Eq_List:Ident_Eq_List271,5270
- Ident_Eq_List(Ident_Eq_List::Ident_Eq_List279,5404
- void SetPosition(Ident_Eq_List::SetPosition280,5449
- void SetDimensions(Ident_Eq_List::SetDimensions281,5482
- void SetFather(Ident_Eq_List::SetFather282,5509
- void SetCollapsed(Ident_Eq_List::SetCollapsed283,5539
-class Half_Container:Half_Container287,5608
- Half_Container(Half_Container::Half_Container294,5712
- void SetPosition(Half_Container::SetPosition295,5740
- void SetDimensions(Half_Container::SetDimensions296,5773
- void SetFather(Half_Container::SetFather297,5800
- void SetCollapsed(Half_Container::SetCollapsed298,5830
-class Specification:Specification308,5954
-class Definition;Specification::Definition310,5994
- Specification(Specification::Specification326,6283
- void SetPosition(Specification::SetPosition328,6418
- void SetDimensions(Specification::SetDimensions329,6451
- void SetFather(Specification::SetFather330,6478
- void SetPath(Specification::SetPath331,6508
- Coord GetMaxX(Specification::GetMaxX332,6535
- Coord GetMaxY(Specification::GetMaxY333,6553
-class Process:Process337,6609
- Process(Process::Process352,6874
- void SetPosition(Process::SetPosition353,6966
- void SetDimensions(Process::SetDimensions354,6999
- void SetFather(Process::SetFather355,7026
- void SetPath(Process::SetPath356,7056
- void NewBex(Process::NewBex357,7097
- Coord GetMaxY(Process::GetMaxY359,7125
- Coord GetMaxX(Process::GetMaxX360,7143
- char GetNesting(Process::GetNesting363,7186
-class Proc_List:Proc_List367,7257
- Proc_List(Proc_List::Proc_List373,7350
- void SetPosition(Proc_List::SetPosition374,7386
- void SetDimensions(Proc_List::SetDimensions375,7419
- void SetFather(Proc_List::SetFather376,7446
- void SetPath(Proc_List::SetPath377,7476
- char *GetPath(Proc_List::GetPath378,7517
-class Definition:Definition382,7574
- Definition(Definition::Definition390,7732
- void SetPosition(Definition::SetPosition391,7784
- void SetDimensions(Definition::SetDimensions392,7817
- void SetFather(Definition::SetFather393,7844
- void SetPath(Definition::SetPath394,7874
- char *GetPath(Definition::GetPath397,7940
-class Exit:Exit407,8071
- Exit(Exit::Exit414,8155
- void SetPosition(Exit::SetPosition415,8173
- void SetDimensions(Exit::SetDimensions416,8220
- void SetFather(Exit::SetFather417,8247
-class NoExit:NoExit421,8305
- NoExit(NoExit::NoExit427,8372
- void SetPosition(NoExit::SetPosition428,8383
- void SetDimensions(NoExit::SetDimensions429,8416
- void SetFather(NoExit::SetFather430,8443
-class Value:Value440,8560
- Value(Value::Value448,8663
- void SetPosition(Value::SetPosition449,8695
- void SetDimensions(Value::SetDimensions450,8728
- void SetFather(Value::SetFather451,8755
- void SetCollapsed(Value::SetCollapsed452,8785
-class Term:Term456,8841
- Term(Term::Term465,8974
- void SetPosition(Term::SetPosition466,9024
- void SetDimensions(Term::SetDimensions467,9057
- void SetFather(Term::SetFather468,9084
- void SetCollapsed(Term::SetCollapsed469,9114
-class Equality:Equality473,9169
- Equality(Equality::Equality481,9298
- Equality(Equality::Equality482,9311
- void SetPosition(Equality::SetPosition483,9348
- void SetDimensions(Equality::SetDimensions484,9381
- void SetFather(Equality::SetFather485,9408
- void SetCollapsed(Equality::SetCollapsed486,9438
-class Sort_Id_Exit:Sort_Id_Exit490,9504
- Sort_Id_Exit(Sort_Id_Exit::Sort_Id_Exit497,9603
- void SetPosition(Sort_Id_Exit::SetPosition498,9630
- void SetDimensions(Sort_Id_Exit::SetDimensions499,9663
- void SetFather(Sort_Id_Exit::SetFather500,9690
- void SetCollapsed(Sort_Id_Exit::SetCollapsed501,9720
-class NoGuard:NoGuard511,9837
- NoGuard(NoGuard::NoGuard517,9906
- void SetPosition(NoGuard::SetPosition518,9918
- void SetDimensions(NoGuard::SetDimensions519,9951
- void SetFather(NoGuard::SetFather520,9978
-class Guard:Guard524,10045
- Guard(Guard::Guard531,10138
- void SetPosition(Guard::SetPosition532,10158
- void SetDimensions(Guard::SetDimensions533,10191
- void SetFather(Guard::SetFather534,10218
- void SetCollapsed(Guard::SetCollapsed535,10248
-class NoExperiment:NoExperiment545,10368
- NoExperiment(NoExperiment::NoExperiment551,10447
- void SetPosition(NoExperiment::SetPosition552,10464
- void SetDimensions(NoExperiment::SetDimensions553,10497
- void SetFather(NoExperiment::SetFather554,10524
-class Experiment:Experiment558,10591
- Experiment(Experiment::Experiment566,10739
- void SetPosition(Experiment::SetPosition567,10783
- void SetDimensions(Experiment::SetDimensions568,10816
- void SetFather(Experiment::SetFather569,10843
- void SetTextual(Experiment::SetTextual570,10873
- void SetCollapsed(Experiment::SetCollapsed571,10911
- Tree_Node *GetGuard(Experiment::GetGuard574,10962
-class Exclam:Exclam578,11053
- Exclam(Exclam::Exclam585,11150
- void SetPosition(Exclam::SetPosition586,11172
- void SetDimensions(Exclam::SetDimensions587,11205
- void SetFather(Exclam::SetFather588,11232
- void SetCollapsed(Exclam::SetCollapsed589,11262
-class Query:Query593,11324
- Query(Query::Query600,11415
- void SetPosition(Query::SetPosition601,11434
- void SetDimensions(Query::SetDimensions602,11467
- void SetFather(Query::SetFather603,11494
- void SetCollapsed(Query::SetCollapsed604,11524
-class Internal:Internal614,11643
- Internal(Internal::Internal620,11714
- void SetPosition(Internal::SetPosition621,11727
- void SetDimensions(Internal::SetDimensions622,11760
- void SetFather(Internal::SetFather623,11787
-class Communication:Communication627,11854
- Communication(Communication::Communication637,12039
- void SetPosition(Communication::SetPosition638,12080
- void SetDimensions(Communication::SetDimensions639,12113
- void SetFather(Communication::SetFather640,12140
- void SetTextual(Communication::SetTextual641,12170
- void SetCollapsed(Communication::SetCollapsed642,12208
-class Gen_Paral:Gen_Paral652,12337
- Gen_Paral(Gen_Paral::Gen_Paral661,12470
- void SetPosition(Gen_Paral::SetPosition662,12493
- void SetDimensions(Gen_Paral::SetDimensions663,12526
- void SetFather(Gen_Paral::SetFather664,12553
- void SetCollapsed(Gen_Paral::SetCollapsed665,12583
- void HideGate(Gen_Paral::HideGate668,12634
-class Interl:Interl672,12730
- Interl(Interl::Interl678,12797
- void SetPosition(Interl::SetPosition679,12808
- void SetDimensions(Interl::SetDimensions680,12841
- void SetFather(Interl::SetFather681,12868
-class Syncr:Syncr685,12929
- Syncr(Syncr::Syncr691,12994
- void SetPosition(Syncr::SetPosition692,13004
- void SetDimensions(Syncr::SetDimensions693,13037
- void SetFather(Syncr::SetFather694,13064
-class Action_Pref:Action_Pref704,13185
- Action_Pref(Action_Pref::Action_Pref714,13346
- void SetPosition(Action_Pref::SetPosition715,13386
- void SetDimensions(Action_Pref::SetDimensions716,13419
- void SetFather(Action_Pref::SetFather717,13446
- void SetTextual(Action_Pref::SetTextual718,13476
- void SetCollapsed(Action_Pref::SetCollapsed719,13514
-class Enable:Enable723,13577
- Enable(Enable::Enable734,13780
- void SetPosition(Enable::SetPosition735,13826
- void SetDimensions(Enable::SetDimensions736,13859
- void SetFather(Enable::SetFather737,13886
- void SetTextual(Enable::SetTextual738,13916
- int Get_Textual_H(Enable::Get_Textual_H739,13954
- int Get_Textual_W(Enable::Get_Textual_W740,13980
- void SetTerminalPos(Enable::SetTerminalPos741,14006
- void SetCollapsed(Enable::SetCollapsed742,14034
-class Disable:Disable746,14097
- Disable(Disable::Disable756,14254
- void SetPosition(Disable::SetPosition757,14290
- void SetDimensions(Disable::SetDimensions758,14323
- void SetFather(Disable::SetFather759,14350
- void SetTextual(Disable::SetTextual760,14380
- int Get_Textual_H(Disable::Get_Textual_H761,14418
- int Get_Textual_W(Disable::Get_Textual_W762,14444
- void SetTerminalPos(Disable::SetTerminalPos763,14470
- void SetCollapsed(Disable::SetCollapsed764,14498
-class Choice:Choice768,14561
- Choice(Choice::Choice779,14714
- void SetPosition(Choice::SetPosition780,14749
- void SetDimensions(Choice::SetDimensions781,14782
- void SetFather(Choice::SetFather782,14809
- void SetTextual(Choice::SetTextual783,14839
- void SetCollapsed(Choice::SetCollapsed784,14877
- int Get_Textual_H(Choice::Get_Textual_H785,14903
- int Get_Textual_W(Choice::Get_Textual_W786,14929
- void SetTerminalPos(Choice::SetTerminalPos787,14955
- void ChangeH(Choice::ChangeH788,14983
- void ChangeW(Choice::ChangeW789,15003
-class Stop:Stop793,15054
- Stop(Stop::Stop801,15146
- void SetPosition(Stop::SetPosition802,15155
- void SetDimensions(Stop::SetDimensions803,15188
- void SetFather(Stop::SetFather804,15215
- void SetTextual(Stop::SetTextual805,15245
- void SetCollapsed(Stop::SetCollapsed806,15283
-class Exit_Bex:Exit_Bex810,15338
- Exit_Bex(Exit_Bex::Exit_Bex820,15491
- void SetPosition(Exit_Bex::SetPosition821,15521
- void SetDimensions(Exit_Bex::SetDimensions822,15554
- void SetFather(Exit_Bex::SetFather823,15581
- void SetTextual(Exit_Bex::SetTextual824,15611
- void SetCollapsed(Exit_Bex::SetCollapsed825,15649
-class Hide:Hide829,15707
- Hide(Hide::Hide839,15833
- void SetPosition(Hide::SetPosition840,15864
- void SetDimensions(Hide::SetDimensions841,15897
- void SetFather(Hide::SetFather842,15924
- void SetTextual(Hide::SetTextual843,15954
- void SetCollapsed(Hide::SetCollapsed844,15992
-class Guarded:Guarded848,16047
- Guarded(Guarded::Guarded858,16197
- void SetPosition(Guarded::SetPosition859,16232
- void SetDimensions(Guarded::SetDimensions860,16265
- void SetFather(Guarded::SetFather861,16292
- void SetTextual(Guarded::SetTextual862,16322
- void SetCollapsed(Guarded::SetCollapsed863,16360
-class Proc_Inst:Proc_Inst867,16425
-  Proc_Inst(Proc_Inst::Proc_Inst879,16626
- void SetPosition(Proc_Inst::SetPosition880,16681
- void SetDimensions(Proc_Inst::SetDimensions881,16714
- void SetFather(Proc_Inst::SetFather882,16741
- void SetTextual(Proc_Inst::SetTextual883,16771
- void SetCollapsed(Proc_Inst::SetCollapsed884,16809
-class Parallel:Parallel888,16870
- Parallel(Parallel::Parallel899,17034
- void SetPosition(Parallel::SetPosition900,17084
- void SetDimensions(Parallel::SetDimensions901,17117
- void SetFather(Parallel::SetFather902,17144
- void SetTextual(Parallel::SetTextual903,17174
- int Get_Textual_W(Parallel::Get_Textual_W904,17212
- int Get_Textual_H(Parallel::Get_Textual_H905,17238
- void SetTerminalPos(Parallel::SetTerminalPos906,17264
- void SetCollapsed(Parallel::SetCollapsed907,17292
- char GetOperType(Parallel::GetOperType910,17343
-class Local_Def:Local_Def914,17429
- Local_Def(Local_Def::Local_Def924,17571
- void SetPosition(Local_Def::SetPosition925,17613
- void SetDimensions(Local_Def::SetDimensions926,17646
- void SetFather(Local_Def::SetFather927,17673
- void SetTextual(Local_Def::SetTextual928,17703
- void SetCollapsed(Local_Def::SetCollapsed929,17741
-class Par:Par933,17801
- Par(Par::Par943,17948
- void SetPosition(Par::SetPosition944,17998
- void SetDimensions(Par::SetDimensions945,18031
- void SetFather(Par::SetFather946,18058
- void SetTextual(Par::SetTextual947,18088
- void SetCollapsed(Par::SetCollapsed948,18126
-class Sum_Gate:Sum_Gate952,18180
- Sum_Gate(Sum_Gate::Sum_Gate962,18356
- void SetPosition(Sum_Gate::SetPosition963,18398
- void SetDimensions(Sum_Gate::SetDimensions964,18431
- void SetFather(Sum_Gate::SetFather965,18458
- void SetTextual(Sum_Gate::SetTextual966,18488
- void SetTerminalPos(Sum_Gate::SetTerminalPos967,18526
- void SetCollapsed(Sum_Gate::SetCollapsed968,18554
-class Sum_Ident:Sum_Ident972,18613
- Sum_Ident(Sum_Ident::Sum_Ident982,18790
- void SetPosition(Sum_Ident::SetPosition983,18831
- void SetDimensions(Sum_Ident::SetDimensions984,18864
- void SetFather(Sum_Ident::SetFather985,18891
- void SetTextual(Sum_Ident::SetTextual986,18921
- void SetTerminalPos(Sum_Ident::SetTerminalPos987,18959
- void SetCollapsed(Sum_Ident::SetCollapsed988,18987
-
-cp-src/cfront.H,12673
-extern bit old_fct_accepted;28,897
-extern bit fct_void;32,1028
-extern char* prog_name;42,1297
-extern int inline_restr;43,1351
-extern bit emode;44,1410
-extern Pname name_free;47,1457
-extern Pexpr expr_free;48,1496
-extern Pstmt stmt_free;49,1520
-extern int Nspy;52,1569
-extern int Nfile,53,1586
-extern int Nfile, Nline,53,1586
-extern int Nfile, Nline, Ntoken,53,1586
-extern int Nfile, Nline, Ntoken, Nname,53,1586
-extern int Nfile, Nline, Ntoken, Nname, Nfree_store,53,1586
-extern int Nfile, Nline, Ntoken, Nname, Nfree_store, Nalloc,53,1586
-extern int Nfile, Nline, Ntoken, Nname, Nfree_store, Nalloc, Nfree;53,1586
-extern int Nn,54,1654
-extern int Nn, Nbt,54,1654
-extern int Nn, Nbt, Nt,54,1654
-extern int Nn, Nbt, Nt, Ne,54,1654
-extern int Nn, Nbt, Nt, Ne, Ns,54,1654
-extern int Nn, Nbt, Nt, Ne, Ns, Nstr,54,1654
-extern int Nn, Nbt, Nt, Ne, Ns, Nstr, Nc,54,1654
-extern int Nn, Nbt, Nt, Ne, Ns, Nstr, Nc, Nl;54,1654
-extern int NFn,55,1700
-extern int NFn, NFtn,55,1700
-extern int NFn, NFtn, NFpv,55,1700
-extern int NFn, NFtn, NFpv, NFbt,55,1700
-extern int NFn, NFtn, NFpv, NFbt, NFf,55,1700
-extern int NFn, NFtn, NFpv, NFbt, NFf, NFs,55,1700
-extern int NFn, NFtn, NFpv, NFbt, NFf, NFs, NFc,55,1700
-extern int NFn, NFtn, NFpv, NFbt, NFf, NFs, NFc, NFe,55,1700
-extern int NFn, NFtn, NFpv, NFbt, NFf, NFs, NFc, NFe, NFl;55,1700
-extern TOK     lex(57,1760
-extern Pname   syn(58,1778
-extern void    init_print(60,1799
-extern void    init_lex(61,1847
-extern void    int_syn(62,1871
-extern void    ext(63,1894
-extern char*   make_name(65,1917
-struct loc     67,1948
-       void    put(loc::put72,2062
-       void    putline(loc::putline73,2080
-extern Loc curloc;77,2108
-extern int curr_file;78,2127
-struct ea 80,2150
-       ea(ea::ea86,2249
-       ea(ea::ea87,2275
-       ea(ea::ea88,2301
-       ea(ea::ea89,2310
-extern ea* ea0;92,2332
-overload error;94,2349
-int error(95,2365
-int error(96,2437
-int error(97,2515
-int error(98,2592
-extern int error_count;101,2689
-extern bit debug;102,2713
-extern int vtbl_opt;103,2731
-extern FILE* out_file;104,2752
-extern FILE* in_file;105,2775
-extern char scan_started;106,2797
-extern bit warn;107,2823
-extern int br_level;110,2848
-extern int bl_level;111,2869
-extern Ptable ktbl;112,2890
-extern Ptable gtbl;113,2941
-extern char* oper_name(114,2978
-extern Pclass ccl;115,3007
-extern Pbase defa_type;116,3026
-extern Pbase moe_type;117,3050
-extern Pstmt Cstmt;120,3087
-extern Pname Cdcl;121,3135
-extern void put_dcl_context(122,3194
-extern Ptable any_tbl;124,3226
-extern Pbase any_type;125,3287
-extern Pbase int_type;128,3318
-extern Pbase char_type;129,3341
-extern Pbase short_type;130,3365
-extern Pbase long_type;131,3390
-extern Pbase uint_type;132,3414
-extern Pbase float_type;133,3438
-extern Pbase double_type;134,3463
-extern Pbase void_type;135,3489
-extern Pbase uchar_type;138,3527
-extern Pbase ushort_type;139,3552
-extern Pbase ulong_type;140,3578
-extern Ptype Pchar_type;141,3603
-extern Ptype Pint_type;142,3628
-extern Ptype Pfctvec_type;143,3652
-extern Ptype Pfctchar_type;144,3679
-extern Ptype Pvoid_type;145,3707
-extern Pbase zero_type;146,3732
-extern int byte_offset;148,3757
-extern int bit_offset;149,3781
-extern int max_align;150,3804
-extern int stack_size;151,3826
-extern int enum_count;152,3849
-extern int const_save;153,3872
-extern Pexpr dummy;156,3903
-extern Pexpr zero;157,3950
-extern Pexpr one;158,3969
-extern Pname sta_name;159,3987
-#define DEL(161,4040
-#define PERM(162,4092
-#define UNPERM(163,4123
-struct node 165,4157
-extern Pclass Ebase,172,4259
-extern Pclass Ebase, Epriv;172,4259
-struct table 175,4321
-       table(table::table192,4875
-       Pname   look(table::look194,4906
-       Pname   insert(table::insert195,4931
-       void    grow(table::grow197,4971
-       void    set_scope(table::set_scope198,4988
-       void    set_name(table::set_name199,5029
-       Pname   get_mem(table::get_mem200,5070
-       int     max(table::max201,5091
-       void    dcl_print(table::dcl_print202,5129
-       Pname   lookc(table::lookc203,5155
-       Pexpr   find_name(table::find_name204,5181
-       void    del(table::del205,5218
-extern bit Nold;210,5255
-extern bit vec_const,211,5272
-extern bit vec_const, fct_const;211,5272
-extern void restore(214,5313
-extern void set_scope(215,5336
-extern Plist modified_tn;216,5366
-extern Pbase start_cl(217,5392
-extern void end_cl(218,5434
-extern Pbase end_enum(219,5456
-extern bit new_type;224,5581
-extern Pname cl_obj_vec;225,5602
-extern Pname eobj;226,5627
-#define DEFINED 230,5655
-#define SIMPLIFIED 231,5712
-#define DEF_SEEN 232,5754
-#define IN_ERROR 234,5859
-struct type 236,5881
-       char*   signature(type::signature240,6005
-       void    print(type::print242,6043
-       void    dcl_print(type::dcl_print243,6058
-       void    base_print(type::base_print244,6082
-       void    del(type::del245,6102
-       Pname   is_cl_obj(type::is_cl_obj247,6116
-       int     is_ref(type::is_ref248,6158
-       void    dcl(type::dcl249,6173
-       int     tsizeof(type::tsizeof250,6192
-       bit     tconst(type::tconst251,6208
-       TOK     set_const(type::set_const252,6223
-       int     align(type::align253,6244
-       TOK     kind(type::kind254,6258
-       TOK     integral(type::integral255,6278
-       TOK     numeric(type::numeric256,6324
-       TOK     num_ptr(type::num_ptr257,6370
-       bit     vec_type(type::vec_type258,6416
-       bit     check(type::check259,6433
-       Ptype   deref(type::deref260,6457
-       Pptr    addrof(type::addrof261,6473
-struct enumdef 265,6500
-               enumdef(enumdef::enumdef269,6586
-       void    print(enumdef::print271,6641
-       void    dcl_print(enumdef::dcl_print272,6656
-       void    dcl(enumdef::dcl273,6680
-       void    simpl(enumdef::simpl274,6706
-struct classdef 278,6732
-       classdef(classdef::classdef301,7490
-       TOK     is_simple(classdef::is_simple302,7506
-       void    print(classdef::print304,7568
-       void    dcl_print(classdef::dcl_print305,7583
-       void    simpl(classdef::simpl306,7607
-       void    print_members(classdef::print_members308,7623
-       void    dcl(classdef::dcl309,7646
-       bit     has_friend(classdef::has_friend310,7672
-       bit     baseof(classdef::baseof311,7696
-       bit     baseof(classdef::baseof312,7716
-       Pname   has_oper(classdef::has_oper313,7737
-       Pname   has_ctor(classdef::has_ctor314,7759
-       Pname   has_dtor(classdef::has_dtor315,7813
-       Pname   has_itor(classdef::has_itor316,7867
-       Pname   has_ictor(classdef::has_ictor317,7902
-struct basetype 323,7935
-       basetype(basetype::basetype350,8636
-       Pbase   type_adj(basetype::type_adj352,8660
-       Pbase   base_adj(basetype::base_adj353,8682
-       Pbase   name_adj(basetype::name_adj354,8706
-       Pname   aggr(basetype::aggr355,8730
-       void    normalize(basetype::normalize356,8747
-       Pbase   check(basetype::check358,8779
-       void    dcl_print(basetype::dcl_print359,8800
-       Pbase   arit_conv(basetype::arit_conv360,8819
-struct fct 365,8857
-       fct(fct::fct387,9517
-       void    argdcl(fct::argdcl389,9543
-       Ptype   normalize(fct::normalize391,9583
-       void    dcl_print(fct::dcl_print392,9608
-       void    dcl(fct::dcl393,9627
-       Pexpr   base_init(fct::base_init394,9645
-       Pexpr   mem_init(fct::mem_init395,9685
-       bit     declared(fct::declared396,9724
-       void    simpl(fct::simpl397,9765
-       Pexpr   expand(fct::expand398,9780
-struct name_list 403,9827
-       name_list(name_list::name_list406,9866
-struct gen 410,9931
-               gen(gen::gen413,9996
-       Pname   add(gen::add414,10010
-       Pname   find(gen::find415,10034
-struct pvtyp 419,10071
-struct vec 423,10109
-       vec(vec::vec429,10182
-       Ptype   normalize(vec::normalize431,10253
-struct ptr 435,10289
-       ptr(ptr::ptr440,10419
-       Ptype   normalize(ptr::normalize442,10497
-inline Pptr type::addrof(447,10546
-extern bit vrp_equiv;449,10606
-extern Pexpr next_elem(461,10867
-extern void new_list(462,10893
-extern void list_check(463,10922
-extern Pexpr ref_init(464,10967
-extern Pexpr class_init(465,11009
-extern Pexpr check_cond(466,11060
-struct expr 469,11113
-       expr(expr::expr504,11716
-       ~expr(expr::~expr505,11742
-       void    del(expr::del507,11765
-       void    print(expr::print508,11778
-       Pexpr   typ(expr::typ509,11793
-       int     eval(expr::eval510,11813
-       int     lval(expr::lval511,11826
-       Ptype   fct_call(expr::fct_call512,11842
-       Pexpr   address(expr::address513,11867
-       Pexpr   contents(expr::contents514,11885
-       void    simpl(expr::simpl515,11904
-       Pexpr   expand(expr::expand516,11919
-       bit     not_simple(expr::not_simple517,11936
-       Pexpr   try_to_overload(expr::try_to_overload518,11955
-       Pexpr   docast(expr::docast519,11987
-       Pexpr   dovalue(expr::dovalue520,12010
-       Pexpr   donew(expr::donew521,12034
-       void    simpl_new(expr::simpl_new522,12056
-       void    simpl_delete(expr::simpl_delete523,12075
-struct texpr 527,12108
-       texpr(texpr::texpr528,12149
-struct ival 531,12218
-       ival(ival::ival532,12258
-struct call 535,12308
-       call(call::call536,12338
-       void    simpl(call::simpl538,12404
-       Pexpr   expand(call::expand539,12419
-struct qexpr 543,12453
-       qexpr(qexpr::qexpr544,12500
-struct ref 547,12582
-       ref(ref::ref548,12632
-struct text_expr 551,12697
-       text_expr(text_expr::text_expr552,12731
-struct name 557,12884
-       name(name::name585,13815
-       ~name(name::~name586,13832
-       Pname   normalize(name::normalize588,13843
-       Pname   tdef(name::tdef589,13881
-       Pname   tname(name::tname590,13896
-       void    hide(name::hide591,13915
-       void    unhide(name::unhide592,13929
-       Pname   dcl(name::dcl594,13981
-       int     no_of_names(name::no_of_names595,14005
-       void    use(name::use596,14025
-       void    assign(name::assign597,14053
-       void    take_addr(name::take_addr598,14069
-       void    check_oper(name::check_oper599,14108
-       void    simpl(name::simpl600,14133
-       void    del(name::del601,14148
-       void    print(name::print602,14161
-       void    dcl_print(name::dcl_print603,14176
-       void    field_align(name::field_align604,14198
-       Pname   dofct(name::dofct605,14219
-extern int friend_in_class;610,14269
-struct stmt 615,14374
-       stmt(stmt::stmt640,14757
-       ~stmt(stmt::~stmt641,14781
-       void    del(stmt::del643,14804
-       void    print(stmt::print644,14817
-       void    dcl(stmt::dcl645,14832
-       void    reached(stmt::reached646,14845
-       Pstmt   simpl(stmt::simpl647,14862
-       Pstmt   expand(stmt::expand648,14878
-       Pstmt   copy(stmt::copy649,14895
-extern char* Neval;654,14934
-extern Pname dcl_temp(655,14954
-extern char* temp(656,14992
-extern Ptable scope;657,15032
-extern Ptable expand_tbl;658,15053
-extern Pname expand_fn;659,15079
-struct estmt 662,15111
-       estmt(estmt::estmt669,15303
-struct ifstmt 672,15379
-       ifstmt(ifstmt::ifstmt676,15484
-struct lstmt 680,15586
-       lstmt(lstmt::lstmt686,15650
-struct forstmt 689,15728
-       forstmt(forstmt::forstmt690,15759
-struct block 694,15880
-       block(block::block695,15919
-       void    dcl(block::dcl697,16001
-       Pstmt   simpl(block::simpl698,16020
-struct pair 703,16060
-       pair(pair::pair704,16096
-struct nlist 708,16173
-               nlist(nlist::nlist711,16214
-       void    add(nlist::add712,16230
-       void    add_list(nlist::add_list713,16282
-extern Pname name_unlist(716,16309
-struct slist 718,16344
-               slist(slist::slist721,16385
-       void    add(slist::add722,16430
-extern Pstmt stmt_unlist(725,16486
-struct elist 727,16521
-               elist(elist::elist730,16562
-       void    add(elist::add731,16607
-extern Pexpr expr_unlist(734,16659
-extern class dcl_context * cc;737,16707
-struct dcl_context 739,16739
-       void    stack(dcl_context::stack747,17023
-       void    unstack(dcl_context::unstack748,17064
-#define MAXCONT        751,17095
-extern dcl_context ccvec[ccvec752,17114
-extern void yyerror(755,17157
-extern TOK back;756,17185
-extern char* line_format;760,17217
-extern Plist isf_list;762,17244
-extern Pstmt st_ilist;763,17267
-extern Pstmt st_dlist;764,17290
-extern Ptable sti_tbl;765,17313
-extern Ptable std_tbl;766,17336
-Pexpr try_to_coerce(767,17359
-extern bit can_coerce(768,17409
-extern Ptype np_promote(769,17446
-extern void new_key(770,17505
-extern Pname dcl_list;772,17544
-extern int over_call(773,17567
-extern Pname Nover;774,17603
-extern Pname Ntncheck;775,17623
-extern Pname Ncoerce;776,17646
-extern Nover_coerce;777,17668
-const MIA 779,17690
-struct iline 780,17705
-extern Pexpr curr_expr;789,17938
-extern Pin curr_icall;790,17962
-#define FUDGE111 791,17985
-extern Pstmt curr_loop;793,18007
-extern Pblock curr_block;794,18031
-extern Pstmt curr_switch;795,18057
-extern bit arg_err_suppress;796,18083
-extern loc last_line;797,18112
-extern no_of_undcl;799,18135
-extern no_of_badcall;800,18155
-extern Pname undcl,801,18177
-extern Pname undcl, badcall;801,18177
-extern int strlen(803,18207
-extern char* strcpy(804,18239
-extern int str_to_int(805,18280
-extern int c_strlen(806,18316
-extern int strcmp(809,18360
-extern Pname vec_new_fct;812,18419
-extern Pname vec_del_fct;813,18445
-extern int Nstd;815,18472
-extern int stcount;817,18555
-extern Pname find_hidden(819,18623
-Pexpr replace_temp(820,18656
-void make_res(821,18689
-Pexpr ptr_init(822,18710
-extern bit fake_sizeof;826,18755
-extern TOK lalex(828,18823
-extern fprintf(830,18856
-#define DB(831,18890
-#define DB(833,18920
-
 cp-src/burton.cpp,103
 ::dummy::dummy test::dummy1(1,0
 ::dummy::dummy test::dummy2(6,64
@@ -3618,22 +2572,6 @@ class MDiagArray2 78,2022
 #undef LTGT144,3874
 #define INSTANTIATE_MDIAGARRAY_FRIENDS(146,3887
 
-cp-src/Pctest.h,658
-#define PCTEST_H24,837
-class TestRecord;42,1118
-    PctestActionValid,::PctestActionValid47,1286
-    PctestActionValidLasthop,::PctestActionValidLasthop49,1370
-    PctestActionFiltered,::PctestActionFiltered51,1481
-    PctestActionAbort  ::PctestActionAbort53,1566
-} PctestActionType;54,1616
-class Pctest 56,1637
-    Pctest(Pctest::Pctest59,1663
-    virtual ~Pctest(Pctest::~Pctest65,1813
-    virtual void TimeSyscall(Pctest::TimeSyscall68,1889
-    virtual char *GeneratePayload(Pctest::GeneratePayload71,1975
-    virtual char *GetTargetName(Pctest::GetTargetName77,2171
-    virtual PctestActionType GetAction(Pctest::GetAction86,2555
-
 cp-src/Range.h,965
 #define octave_Range_h 24,765
 class istream;30,840
@@ -3913,63 +2851,6 @@ show(124,5458
 dialog_loop(219,9529
 test(252,10806
 
-erl-src/lines.erl,386
--define(BREAK66,2377
--define(dbg68,2437
-new(73,2565
-count(80,2686
-nth(87,2815
-append(104,3301
-replace(119,3816
-insert(138,4559
-insert_after(165,5501
-delete(192,6456
-convert_to_list(215,7110
-convert_from_list(220,7259
-replace_nth(229,7518
-insert_nth(234,7618
-insert_after_nth(239,7711
-delete_nth(244,7828
-split_at(252,8027
-balance_left(267,8451
-balance_right(282,8865
-
-erl-src/lists.erl,593
-member(21,663
-append(30,790
-reverse(48,1099
-nth(59,1310
-nthtail(64,1382
-prefix(73,1546
-suffix(83,1707
-last(92,1882
-seq(101,2058
-sum(109,2265
-duplicate(116,2432
-min(124,2628
-max(132,2837
-sublist(141,3083
-delete(152,3329
-sort(161,3483
-split_and_sort(165,3559
-merge(175,3811
-concat(190,4219
-thing_to_list(195,4300
-flatten(204,4606
-flat_length(222,5003
-keymember(239,5451
-keysearch(246,5609
-keydelete(253,5770
-keyreplace(260,5923
-keysort(266,6113
-split_and_keysort(270,6229
-keymerge(277,6504
-keymap(288,6851
-map(311,7829
-foldl(315,7919
-foldr(320,8037
-zf(325,8155
-
 f-src/entry.for,172
       LOGICAL FUNCTION PRTPKG 3,75
        ENTRY  SETPRT 194,3866
@@ -4042,199 +2923,6 @@ debian-bug.eldebian-bug190,7981
 tcpdump205,8566
 Links to interesting softwarelinks216,8893
 
-java-src/AWTEMul.java,4356
-public class AWTEventMulticaster 63,2111
-    protected 
AWTEventMulticaster(AWTEventMulticaster.AWTEventMulticaster77,2555
-    protected EventListener remove(AWTEventMulticaster.remove86,2820
-    public void componentResized(AWTEventMulticaster.componentResized102,3294
-    public void componentMoved(AWTEventMulticaster.componentMoved112,3626
-    public void componentShown(AWTEventMulticaster.componentShown122,3952
-    public void componentHidden(AWTEventMulticaster.componentHidden132,4280
-    public void componentAdded(AWTEventMulticaster.componentAdded142,4619
-    public void componentRemoved(AWTEventMulticaster.componentRemoved152,4959
-    public void focusGained(AWTEventMulticaster.focusGained162,5281
-    public void focusLost(AWTEventMulticaster.focusLost172,5572
-    public void keyTyped(AWTEventMulticaster.keyTyped182,5853
-    public void keyPressed(AWTEventMulticaster.keyPressed192,6129
-    public void keyReleased(AWTEventMulticaster.keyReleased202,6413
-    public void mouseClicked(AWTEventMulticaster.mouseClicked212,6704
-    public void mousePressed(AWTEventMulticaster.mousePressed222,7004
-    public void mouseReleased(AWTEventMulticaster.mouseReleased232,7306
-    public void mouseEntered(AWTEventMulticaster.mouseEntered242,7609
-    public void mouseExited(AWTEventMulticaster.mouseExited252,7907
-    public void mouseDragged(AWTEventMulticaster.mouseDragged262,8204
-    public void mouseMoved(AWTEventMulticaster.mouseMoved272,8512
-    public void windowOpened(AWTEventMulticaster.windowOpened282,8819
-    public void windowClosing(AWTEventMulticaster.windowClosing292,9125
-    public void windowClosed(AWTEventMulticaster.windowClosed302,9432
-    public void windowIconified(AWTEventMulticaster.windowIconified312,9742
-    public void 
windowDeiconified(AWTEventMulticaster.windowDeiconified322,10064
-    public void windowActivated(AWTEventMulticaster.windowActivated332,10389
-    public void 
windowDeactivated(AWTEventMulticaster.windowDeactivated342,10712
-    public void actionPerformed(AWTEventMulticaster.actionPerformed352,11037
-    public void 
itemStateChanged(AWTEventMulticaster.itemStateChanged362,11356
-    public void 
adjustmentValueChanged(AWTEventMulticaster.adjustmentValueChanged372,11690
-    public void 
textValueChanged(AWTEventMulticaster.textValueChanged376,11874
-    public static ComponentListener add(AWTEventMulticaster.add387,12225
-    public static ContainerListener add(AWTEventMulticaster.add397,12571
-    public static FocusListener add(AWTEventMulticaster.add407,12901
-    public static KeyListener add(AWTEventMulticaster.add417,13207
-    public static MouseListener add(AWTEventMulticaster.add427,13513
-    public static MouseMotionListener add(AWTEventMulticaster.add437,13855
-    public static WindowListener add(AWTEventMulticaster.add447,14197
-    public static ActionListener add(AWTEventMulticaster.add457,14519
-    public static ItemListener add(AWTEventMulticaster.add467,14833
-    public static AdjustmentListener add(AWTEventMulticaster.add477,15163
-    public static TextListener add(AWTEventMulticaster.add480,15310
-    public static ComponentListener 
remove(AWTEventMulticaster.remove490,15664
-    public static ContainerListener 
remove(AWTEventMulticaster.remove500,16044
-    public static FocusListener remove(AWTEventMulticaster.remove510,16408
-    public static KeyListener remove(AWTEventMulticaster.remove520,16748
-    public static MouseListener remove(AWTEventMulticaster.remove530,17088
-    public static MouseMotionListener 
remove(AWTEventMulticaster.remove540,17465
-    public static WindowListener remove(AWTEventMulticaster.remove550,17841
-    public static ActionListener remove(AWTEventMulticaster.remove560,18197
-    public static ItemListener remove(AWTEventMulticaster.remove570,18545
-    public static AdjustmentListener 
remove(AWTEventMulticaster.remove580,18909
-    public static TextListener remove(AWTEventMulticaster.remove583,19062
-    protected static EventListener 
addInternal(AWTEventMulticaster.addInternal597,19608
-    protected static EventListener 
removeInternal(AWTEventMulticaster.removeInternal614,20244
-    protected void saveInternal(AWTEventMulticaster.saveInternal628,20582
-    static void save(AWTEventMulticaster.save646,21131
-
-java-src/KeyEve.java,698
-public class KeyEvent 36,1075
-    public KeyEvent(KeyEvent.KeyEvent234,9912
-    public KeyEvent(KeyEvent.KeyEvent252,10510
-    public int getKeyCode(KeyEvent.getKeyCode261,10836
-    public void setKeyCode(KeyEvent.setKeyCode265,10897
-    public void setKeyChar(KeyEvent.setKeyChar269,10978
-    public void setModifiers(KeyEvent.setModifiers273,11060
-    public char getKeyChar(KeyEvent.getKeyChar282,11331
-    public static String getKeyText(KeyEvent.getKeyText290,11561
-    public static String 
getKeyModifiersText(KeyEvent.getKeyModifiersText377,16662
-    public boolean isActionKey(KeyEvent.isActionKey403,17618
-    public String paramString(KeyEvent.paramString407,17704
-
-java-src/SMan.java,5533
-class SecurityManager 80,3387
-    public boolean getInCheck(SecurityManager.getInCheck101,4075
-    protected SecurityManager(SecurityManager.SecurityManager114,4497
-    protected native Class[] 
getClassContext(SecurityManager.getClassContext130,5038
-    protected native ClassLoader 
currentClassLoader(SecurityManager.currentClassLoader142,5529
-    protected Class 
currentLoadedClass(SecurityManager.currentLoadedClass149,5707
-    protected native int classDepth(SecurityManager.classDepth162,6167
-    protected native int 
classLoaderDepth(SecurityManager.classLoaderDepth174,6668
-    protected boolean inClass(SecurityManager.inClass184,7034
-    protected boolean inClassLoader(SecurityManager.inClassLoader196,7372
-    public Object 
getSecurityContext(SecurityManager.getSecurityContext221,8485
-    public void 
checkCreateClassLoader(SecurityManager.checkCreateClassLoader238,9069
-    public void checkAccess(SecurityManager.checkAccess268,10298
-    public void checkAccess(SecurityManager.checkAccess298,11632
-    public void checkExit(SecurityManager.checkExit323,12649
-    public void checkExec(SecurityManager.checkExec349,13734
-    public void checkLink(SecurityManager.checkLink375,14813
-    public void checkRead(SecurityManager.checkRead394,15485
-    public void checkRead(SecurityManager.checkRead412,16111
-    public void checkRead(SecurityManager.checkRead434,17017
-    public void checkWrite(SecurityManager.checkWrite453,17706
-    public void checkWrite(SecurityManager.checkWrite471,18337
-    public void checkDelete(SecurityManager.checkDelete493,19165
-    public void checkConnect(SecurityManager.checkConnect517,20119
-    public void checkConnect(SecurityManager.checkConnect543,21254
-    public void checkListen(SecurityManager.checkListen561,21910
-    public void checkAccept(SecurityManager.checkAccept585,22887
-    public void checkMulticast(SecurityManager.checkMulticast597,23272
-    public void checkMulticast(SecurityManager.checkMulticast610,23732
-    public void 
checkPropertiesAccess(SecurityManager.checkPropertiesAccess632,24609
-    public void 
checkPropertyAccess(SecurityManager.checkPropertyAccess654,25449
-    public boolean 
checkTopLevelWindow(SecurityManager.checkTopLevelWindow680,26580
-    public void 
checkPrintJobAccess(SecurityManager.checkPrintJobAccess689,26763
-    public void 
checkSystemClipboardAccess(SecurityManager.checkSystemClipboardAccess698,26958
-    public void 
checkAwtEventQueueAccess(SecurityManager.checkAwtEventQueueAccess707,27159
-    public void 
checkPackageAccess(SecurityManager.checkPackageAccess729,27966
-    public void 
checkPackageDefinition(SecurityManager.checkPackageDefinition751,28803
-    public void checkSetFactory(SecurityManager.checkSetFactory775,29929
-    public void checkMemberAccess(SecurityManager.checkMemberAccess786,30209
-    public void 
checkSecurityAccess(SecurityManager.checkSecurityAccess796,30430
-    private native Class 
currentLoadedClass0(SecurityManager.currentLoadedClass0800,30522
-    public ThreadGroup getThreadGroup(SecurityManager.getThreadGroup811,30923
-class NullSecurityManager 817,31025
-    public void 
checkCreateClassLoader(NullSecurityManager.checkCreateClassLoader818,31077
-    public void checkAccess(NullSecurityManager.checkAccess819,31123
-    public void checkAccess(NullSecurityManager.checkAccess820,31165
-    public void checkExit(NullSecurityManager.checkExit821,31212
-    public void checkExec(NullSecurityManager.checkExec822,31254
-    public void checkLink(NullSecurityManager.checkLink823,31296
-    public void checkRead(NullSecurityManager.checkRead824,31338
-    public void checkRead(NullSecurityManager.checkRead825,31387
-    public void checkRead(NullSecurityManager.checkRead826,31430
-    public void checkWrite(NullSecurityManager.checkWrite827,31489
-    public void checkWrite(NullSecurityManager.checkWrite828,31539
-    public void checkDelete(NullSecurityManager.checkDelete829,31583
-    public void checkConnect(NullSecurityManager.checkConnect830,31628
-    public void checkConnect(NullSecurityManager.checkConnect831,31684
-    public void checkListen(NullSecurityManager.checkListen832,31756
-    public void checkAccept(NullSecurityManager.checkAccept833,31798
-    public void checkMulticast(NullSecurityManager.checkMulticast834,31853
-    public void checkMulticast(NullSecurityManager.checkMulticast835,31907
-    public void 
checkPropertiesAccess(NullSecurityManager.checkPropertiesAccess836,31971
-    public void 
checkPropertyAccess(NullSecurityManager.checkPropertyAccess837,32015
-    public void 
checkPropertyAccess(NullSecurityManager.checkPropertyAccess838,32067
-    public boolean 
checkTopLevelWindow(NullSecurityManager.checkTopLevelWindow839,32131
-    public void 
checkPrintJobAccess(NullSecurityManager.checkPrintJobAccess840,32202
-    public void 
checkSystemClipboardAccess(NullSecurityManager.checkSystemClipboardAccess841,32244
-    public void 
checkAwtEventQueueAccess(NullSecurityManager.checkAwtEventQueueAccess842,32293
-    public void 
checkPackageAccess(NullSecurityManager.checkPackageAccess843,32340
-    public void 
checkPackageDefinition(NullSecurityManager.checkPackageDefinition844,32391
-    public void checkSetFactory(NullSecurityManager.checkSetFactory845,32446
-    public void 
checkMemberAccess(NullSecurityManager.checkMemberAccess846,32484
-    public void 
checkSecurityAccess(NullSecurityManager.checkSecurityAccess847,32546
-
-java-src/SysCol.java,336
-public final class SystemColor 37,1402
-    static SystemColor.static342,10478
-    private static void 
updateSystemColors(SystemColor.updateSystemColors349,10617
-    private SystemColor(SystemColor.SystemColor357,10885
-    public int getRGB(SystemColor.getRGB370,11245
-    public String toString(SystemColor.toString377,11388
-
-java-src/TG.java,2041
-class ThreadGroup 54,2104
-    private ThreadGroup(ThreadGroup.ThreadGroup72,2495
-    public ThreadGroup(ThreadGroup.ThreadGroup84,2848
-    public ThreadGroup(ThreadGroup.ThreadGroup105,3714
-    public final String getName(ThreadGroup.getName124,4189
-    public final ThreadGroup getParent(ThreadGroup.getParent135,4492
-    public final int getMaxPriority(ThreadGroup.getMaxPriority148,4867
-    public final boolean isDaemon(ThreadGroup.isDaemon161,5305
-    public synchronized boolean isDestroyed(ThreadGroup.isDestroyed170,5470
-    public final void setDaemon(ThreadGroup.setDaemon192,6368
-    public final void setMaxPriority(ThreadGroup.setMaxPriority213,7110
-    public final boolean parentOf(ThreadGroup.parentOf246,8106
-    public final void checkAccess(ThreadGroup.checkAccess268,8834
-    public int activeCount(ThreadGroup.activeCount283,9286
-    public int enumerate(ThreadGroup.enumerate322,10497
-    public int enumerate(ThreadGroup.enumerate344,11481
-    private int enumerate(ThreadGroup.enumerate348,11584
-    public int activeGroupCount(ThreadGroup.activeGroupCount389,12588
-    public int enumerate(ThreadGroup.enumerate425,13727
-    public int enumerate(ThreadGroup.enumerate445,14595
-    private int enumerate(ThreadGroup.enumerate449,14703
-    public final void stop(ThreadGroup.stop499,16212
-    public final void suspend(ThreadGroup.suspend537,17477
-    public final void resume(ThreadGroup.resume575,18749
-    public final void destroy(ThreadGroup.destroy607,19779
-    private final void add(ThreadGroup.add643,20704
-    private void remove(ThreadGroup.remove668,21402
-    void add(ThreadGroup.add697,22142
-    void remove(ThreadGroup.remove722,22808
-    public void list(ThreadGroup.list751,23503
-    void list(ThreadGroup.list754,23556
-    public void uncaughtException(ThreadGroup.uncaughtException810,25512
-    public boolean 
allowThreadSuspension(ThreadGroup.allowThreadSuspension823,25823
-    public String toString(ThreadGroup.toString837,26142
-
 lua-src/allegro.lua,400
 local function get_layer_by_name 7,175
 local function count_layers 33,621
@@ -4562,292 +3250,6 @@ sub f6 Foo::Bar::f628,244
 package main;32,278
 sub f7 main::f734,293
 
-perl-src/mirror.pl,13410
-sub msg_versionmain::msg_version459,18271
-       local( $arg )( $arg 468,18582
-               local( $flag, $p )( $flag, $p 480,18757
-               local( $site_path )( $site_path 525,19687
-                       local( $site, $path )( $site, $path 539,19958
-               local( $key_val )( $key_val 578,20743
-               local( $user )( $user 595,21097
-               local( $c )( $c 634,21853
-                       local( $sec,$min,$hour,$mday,$mon,$year,( 
$sec,$min,$hour,$mday,$mon,$year,678,22807
-       local( $c )( $c 706,23393
-       local( $dir, $mp )( $dir, $mp 723,23695
-               local( $f )( $f 725,23740
-sub interpret_config_filesmain::interpret_config_files756,24304
-       local( $fname )( $fname 758,24333
-sub interpret_configmain::interpret_config785,24927
-sub parse_linemain::parse_line827,25710
-       local( $eqpl )( $eqpl 829,25727
-       local( $cont )( $cont 830,25744
-                       local( $v )( $v 839,26029
-sub set_defaultsmain::set_defaults860,26448
-sub command_line_overridemain::command_line_override868,26579
-       local( $key, $val, $overrides )( $key, $val, $overrides 870,26607
-sub set_variablesmain::set_variables894,27072
-       local( $key, $val )( $key, $val 896,27092
-                       local( $val_name )( $val_name 902,27259
-               local( $val )( $val 953,28825
-sub upd_valmain::upd_val962,28974
-       local( $key )( $key 964,28988
-sub pr_variablesmain::pr_variables970,29083
-       local( $msg )( $msg 972,29102
-       local( $nle )( $nle 973,29123
-       local( $out )( $out 974,29144
-       local( $key, $val, $str )( $key, $val, $str 975,29164
-sub do_mirrormain::do_mirror1007,29923
-       local( $get_one_package )( $get_one_package 1009,29939
-       local( $exit_status )( $exit_status 1030,30384
-                       local( @t )( @t 1154,33165
-       local( $con )( $con 1241,35499
-               local( @rhelp )( @rhelp 1289,36702
-       local( @sub_dirs )( @sub_dirs 1329,37778
-       local( $now )( $now 1493,41348
-               local( $arg )( $arg 1506,41774
-sub disconnectmain::disconnect1528,42250
-sub connectmain::connect1546,42576
-       local( $attempts )( $attempts 1548,42590
-       local( $res )( $res 1549,42642
-sub prodmain::prod1573,43156
-sub checkout_regexpsmain::checkout_regexps1585,43327
-       local( $ret )( $ret 1587,43350
-       local( $t )( $t 1589,43395
-               local( $val )( $val 1597,43701
-                       local( $err )( $err 1601,43786
-sub clear_localmain::clear_local1610,43909
-sub clear_remotemain::clear_remote1625,44172
-sub get_local_directory_detailsmain::get_local_directory_details1640,44445
-       local( @dirs, $dir )( @dirs, $dir 1642,44479
-       local( $last_prodded )( $last_prodded 1643,44502
-       local( $dir_level )( $dir_level 1691,45615
-       local( $i )( $i 1692,45641
-       local( $path, $time, $size, $type, $mode, $name, $isdir, $value, 
$follow )( $path, $time, $size, $type, $mode, $name, $isdir, $value, $follow 
1693,45659
-       local( $dev,$ino,$fmode,$nlink,$uid,$gid,$rdev,$ssize,( 
$dev,$ino,$fmode,$nlink,$uid,$gid,$rdev,$ssize,1694,45736
-                       local( $mapi )( $mapi 1763,47586
-sub get_remote_directory_detailsmain::get_remote_directory_details1789,48122
-       local( $type_changed )( $type_changed 1791,48157
-       local( $udirtmp )( $udirtmp 1792,48186
-       local( $storename )( $storename 1793,48206
-       local( $rls )( $rls 1825,48944
-               local( $dirtmp )( $dirtmp 1830,49002
-               local( $unsquish )( $unsquish 1832,49130
-                       local( $f )( $f 1840,49360
-               local( $dirtmp )( $dirtmp 1859,49866
-               local( $unsquish )( $unsquish 1870,50215
-                       local( $f, $uf )( $f, $uf 1878,50445
-               local( $flags )( $flags 1912,51259
-       local( $parse_state )( $parse_state 1946,52111
-                       local( $msg )( $msg 1963,52486
-sub patch_ls_lR_filemain::patch_ls_lR_file1984,52955
-       local( $f, $fr, $flb, $flt, $flp, $flz, $frb, $frt )( $f, $fr, $flb, 
$flt, $flp, $flz, $frb, $frt 1990,53055
-       local( $to , $tn )( $to , $tn 1991,53110
-       local( $tlb )( $tlb 1995,53225
-               local( $p, $s, $trz, $t, $m )( $p, $s, $trz, $t, $m 2030,54182
-               local( $tlz )( $tlz 2037,54467
-sub parse_timeoutmain::parse_timeout2089,55670
-sub parse_remote_detailsmain::parse_remote_details2095,55754
-       local( $ret )( $ret 2097,55781
-       local( $old_sig )( $old_sig 2098,55797
-sub parse_remote_details_realmain::parse_remote_details_real2125,56234
-       local( $path, $size, $time, $type, $mode, $rdir, $rcwd )( $path, 
$size, $time, $type, $mode, $rdir, $rcwd 2127,56266
-       local( @dir_list )( @dir_list 2128,56325
-       local( $i )( $i 2129,56346
-       local( $old_path )( $old_path 2130,56364
-                               local( $old_path )( $old_path 2143,56630
-                               local( $ri )( $ri 2203,58078
-                       local( $mapi )( $mapi 2214,58335
-                       local( $done )( $done 2239,58911
-sub compare_dirsmain::compare_dirs2283,59825
-       local( *src_paths,( *src_paths,2286,59915
-       local( $src_path, $dest_path, $i )( $src_path, $dest_path, $i 
2293,60099
-       local( $last_prodded )( $last_prodded 2294,60136
-       local( $desti, $srci, $compress, $srciZ, $srcigz, $split, 
$dest_path_real )( $desti, $srci, $compress, $srciZ, $srcigz, $split, 
$dest_path_real 2299,60350
-       local( $old_dest_path, $existing_path, $tmp, $restart )( 
$old_dest_path, $existing_path, $tmp, $restart 2300,60428
-       local( $sp, $dp )( $sp, $dp 2301,60486
-                  local( $real, $reali, $reali1 )( $real, $reali, $reali1 
2352,62034
-                  local( $count )( $count 2353,62072
-                       local( $value )( $value 2408,63996
-                       local( $real )( $real 2409,64028
-                       local( $reali )( $reali 2410,64086
-                               local( $old )( $old 2421,64571
-                       local( $old_dest_path )( $old_dest_path 2432,64842
-                               local( $dpp, $dps )( $dpp, $dps 2509,67031
-               local( $update )( $update 2534,67671
-sub map_namemain::map_name2651,71028
-       local( $name )( $name 2653,71043
-               local( $old_name )( $old_name 2656,71089
-               local( $tmp )( $tmp 2666,71252
-sub set_timestampsmain::set_timestamps2675,71362
-       local( $src_path )( $src_path 2677,71383
-       local( $dest_path, $dest_loc_mapi, $src_rem_mapi,  $rtime )( 
$dest_path, $dest_loc_mapi, $src_rem_mapi,  $rtime 2685,71517
-sub set_timestampmain::set_timestamp2699,71901
-       local( $path, $time )( $path, $time 2701,71921
-       local( $pr_time )( $pr_time 2703,71953
-sub make_dirsmain::make_dirs2719,72284
-       local( $thing )( $thing 2721,72300
-sub make_symlinksmain::make_symlinks2736,72489
-       local( $thing )( $thing 2738,72509
-               local( $dest, $existing )( $dest, $existing 2745,72623
-               local( $dirpart )( $dirpart 2746,72663
-               local( $ft )( $ft 2747,72704
-               local( $p )( $p 2762,73261
-                       local( $f )( $f 2770,73467
-                       local( $dl )( $dl 2788,74038
-sub do_all_transfersmain::do_all_transfers2806,74439
-       local( $src_path )( $src_path 2808,74462
-       local( $dest_path, $attribs )( $dest_path, $attribs 2809,74483
-       local( $srci )( $srci 2810,74515
-               local( $newpath )( $newpath 2838,75124
-sub transfer_filemain::transfer_file2869,75847
-       local( $src_path, $dest_path, $attribs, $timestamp )( $src_path, 
$dest_path, $attribs, $timestamp 2871,75867
-       local( $dir, $file, $temp, $compress, $split, $restart, $mesg, 
$got_mesg )( $dir, $file, $temp, $compress, $split, $restart, $mesg, $got_mesg 
2872,75927
-               local( $src_file )( $src_file 2915,76782
-               local( $comptemp )( $comptemp 2916,76816
-                       local( $f )( $f 2921,76964
-               local($filesize)($filesize2944,77569
-                       local( $ti )( $ti 2975,78401
-               local( $f )( $f 2997,78887
-               local( $comp )( $comp 2998,78912
-       local( $filesize )( $filesize 3015,79427
-       local( $sizemsg )( $sizemsg 3016,79469
-       local( $srcsize )( $srcsize 3017,79501
-               local( $time )( $time 3029,79865
-       local( $as )( $as 3046,80223
-       local( $locali )( $locali 3054,80499
-sub filename_to_tempnamemain::filename_to_tempname3062,80713
-       local( $dir, $file )( $dir, $file 3064,80740
-       local ( $dest_path )( $dest_path 3066,80769
-sub log_uploadmain::log_upload3090,81228
-       local( $src_path, $dest_path, $got_mesg, $size )( $src_path, 
$dest_path, $got_mesg, $size 3092,81245
-sub do_deletesmain::do_deletes3118,81773
-       local( *src_paths,( *src_paths,3121,81861
-       local( $files_to_go, $dirs_to_go )( $files_to_go, $dirs_to_go 
3125,81960
-       local( $src_path, $i )( $src_path, $i 3131,82055
-       local( $orig_do_deletes )( $orig_do_deletes 3132,82080
-       local( $orig_save_deletes )( $orig_save_deletes 3133,82122
-       local( $del_patt )( $del_patt 3135,82169
-               local( $per )( $per 3162,82843
-               local( $per )( $per 3184,83513
-                       local( $save_dir_tail )( $save_dir_tail 3226,84617
-sub save_deletemain::save_delete3245,85019
-       local( $save, $kind )( $save, $kind 3247,85037
-       local( $real_save_dir, $save_dest )( $real_save_dir, $save_dest 
3249,85067
-       local( $dirname )( $dirname 3284,85704
-sub save_mkdirmain::save_mkdir3304,86155
-       local( $dir )( $dir 3306,86172
-sub do_deletemain::do_delete3320,86459
-       local( $del, $kind )( $del, $kind 3322,86475
-sub filesizemain::filesize3377,87532
-       local( $fname )( $fname 3379,87547
-sub istruemain::istrue3390,87654
-       local( $val )( $val 3392,87667
-sub mksymlinkmain::mksymlink3398,87773
-       local( $dest_path, $existing_path )( $dest_path, $existing_path 
3400,87789
-               local( $msg )( $msg 3417,88246
-               local( $msg )( $msg 3431,88590
-               local( $status )( $status 3442,88816
-sub mkdirsmain::mkdirs3457,89196
-       local( $dir )( $dir 3459,89209
-       local( @dir, $d, $path )( @dir, $d, $path 3460,89230
-sub make_dirmain::make_dir3497,90042
-       local( $dir, $mode )( $dir, $mode 3499,90057
-       local( $val )( $val 3500,90085
-sub dir_existsmain::dir_exists3528,90573
-       local( $dir )( $dir 3530,90590
-       local( $val )( $val 3531,90611
-               local($old_dir)($old_dir3539,90750
-sub set_attribsmain::set_attribs3553,91053
-       local( $path, $src_path, $type )( $path, $src_path, $type 3555,91071
-       local( $mode )( $mode 3556,91111
-               local( $pathi )( $pathi 3564,91229
-               local( $pathi )( $pathi 3568,91320
-sub get_passwdmain::get_passwd3606,91977
-       local( $user )( $user 3608,91994
-       local( $pass )( $pass 3609,92016
-       local( $| )( $| 3610,92033
-sub compare_timesmain::compare_times3631,92384
-       local( $t1, $t2 )( $t1, $t2 3637,92564
-       local( $diff )( $diff 3638,92589
-sub create_assocsmain::create_assocs3643,92688
-       local( $map )( $map 3645,92708
-sub delete_assocsmain::delete_assocs3657,92957
-       local( $map )( $map 3659,92977
-sub unlink_dbmmain::unlink_dbm3671,93247
-       local( $file )( $file 3673,93264
-sub bsplitmain::bsplit3681,93462
-       local( $temp, $dest_path, $time )( $temp, $dest_path, $time 3683,93475
-       local( $dest_dir )( $dest_dir 3684,93516
-       local( $bufsiz )( $bufsiz 3685,93558
-       local( $buffer, $in, $sofar )( $buffer, $in, $sofar 3686,93583
-       local( $d )( $d 3691,93721
-       local( $index )( $index 3697,93840
-       local( $part )( $part 3698,93865
-                       local( $locali )( $locali 3714,94336
-       local( $readme )( $readme 3730,94740
-sub sysmain::sys3739,95116
-       local( $com )( $com 3741,95126
-sub set_assoc_from_arraymain::set_assoc_from_array3751,95355
-       local( *things )( *things 3754,95453
-sub find_progmain::find_prog3760,95537
-       local( $prog )( $prog 3762,95553
-       local( $path )( $path 3763,95575
-               local( $path )( $path 3766,95657
-sub real_dir_from_pathmain::real_dir_from_path3780,95842
-       local( $program )( $program 3782,95867
-       local( @prog_path )( @prog_path 3783,95892
-       local( $dir )( $dir 3784,95970
-sub msgmain::msg3807,96489
-       local( $todo, $msg )( $todo, $msg 3809,96499
-sub to_bytesmain::to_bytes3838,96979
-       local( $size )( $size 3840,96994
-sub unix2vmsmain::unix2vms3858,97332
-       local( $v, $kind )( $v, $kind 3860,97347
-                       local( $dir, $rest )( $dir, $rest 3873,97559
-sub dirpartmain::dirpart3886,97730
-       local( $path )( $path 3888,97744
-sub expand_symlinkmain::expand_symlink3902,98076
-       local( $orig_path, $points_to )( $orig_path, $points_to 3904,98097
-       local( $dirpart )( $dirpart 3905,98136
-sub flatten_pathmain::flatten_path3913,98365
-       local( $path )( $path 3915,98384
-       local( $changed )( $changed 3916,98406
-       local( $i )( $i 3917,98430
-       local( $rooted )( $rooted 3919,98446
-       local( $count )( $count 3920,98482
-       local( $orig_path )( $orig_path 3921,98504
-               local( $in )( $in 3932,98741
-               local( @parts )( @parts 3933,98765
-sub fix_packagemain::fix_package3963,99438
-       local( $package )( $package 3965,99456
-sub will_compressmain::will_compress3970,99529
-sub will_splitmain::will_split3981,99859
-sub myflockmain::myflock3989,100001
-       local( $file, $kind )( $file, $kind 3991,100015
-sub t2strmain::t2str4004,100221
-       local( @t )( @t 4006,100233
-       
local($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst4013,100335
-sub handlermain::handler4022,100583
-        local( $sig )( $sig 4029,100651
-        local( $msg )( $msg 4030,100679
-        local( $package, $filename, $line )( $package, $filename, $line 
4031,100737
-sub trap_signalsmain::trap_signals4036,100859
-       local( $sig )( $sig 4038,100878
-sub map_user_groupmain::map_user_group4047,101158
-sub keepmain::keep4069,101537
-       local( $pathi, $path, *keep, *keep_totals, *keep_map, $kind )( $pathi, 
$path, *keep, *keep_totals, *keep_map, $kind 4071,101548
-sub alarmmain::alarm4104,102330
-       local( $time_to_sig )( $time_to_sig 4106,102342
-sub chownmain::chown4110,102405
-       local( $uid, $gid, $path )( $uid, $gid, $path 4112,102417
-sub utimemain::utime4116,102494
-       local( $atime, $mtime, $path )( $atime, $mtime, $path 4118,102506
-       local( $old_mode )( $old_mode 4124,102685
-       local( $tmp_mode )( $tmp_mode 4125,102730
-       local( $ret )( $ret 4126,102763
-sub cwdmain::cwd4135,102913
-       local( $lcwd )( $lcwd 4137,102923
-
 ps-src/rfc1245.ps,2478
 /FMversion 12,311
 /FrameDict 17,500
diff --git a/test/etags/ETAGS.good_3 b/test/etags/ETAGS.good_3
index 1e4d565..644ffe4 100644
--- a/test/etags/ETAGS.good_3
+++ b/test/etags/ETAGS.good_3
@@ -1,46 +1,45 @@
 
-Makefile,701
+Makefile,683
 ADASRC=1,0
 ASRC=2,91
 CSRC=3,139
 CPSRC=7,410
-ELSRC=10,624
-ERLSRC=11,694
-FORTHSRC=12,759
-FSRC=13,809
-HTMLSRC=14,881
-JAVASRC=15,974
-LUASRC=16,1062
-MAKESRC=17,1105
-OBJCSRC=18,1147
-OBJCPPSRC=19,1228
-PASSRC=20,1291
-PERLSRC=21,1333
-PHPSRC=22,1413
-PSSRC=23,1485
-PROLSRC=24,1525
-PYTSRC=25,1587
-TEXSRC=26,1628
-YSRC=27,1707
-SRCS=28,1772
-NONSRCS=32,2024
-ETAGS_PROG=34,2098
-CTAGS_PROG=35,2129
-REGEX=37,2161
-xx=38,2207
-RUN=40,2256
-OPTIONS=42,2262
-ARGS=43,2314
-infiles 45,2332
-check:check47,2394
-ediff%:ediff%55,2697
-cdiff:cdiff58,2798
-ETAGS:ETAGS61,2895
-CTAGS:CTAGS64,2965
-srclist:srclist67,3043
-regexfile:regexfile71,3134
-.PRECIOUS:.PRECIOUS77,3311
-FRC:FRC79,3345
+ELSRC=10,584
+ERLSRC=11,654
+FORTHSRC=12,699
+FSRC=13,749
+HTMLSRC=14,821
+LUASRC=16,950
+MAKESRC=17,993
+OBJCSRC=18,1035
+OBJCPPSRC=19,1116
+PASSRC=20,1179
+PERLSRC=21,1221
+PHPSRC=22,1291
+PSSRC=23,1363
+PROLSRC=24,1403
+PYTSRC=25,1465
+TEXSRC=26,1506
+YSRC=27,1585
+SRCS=28,1650
+NONSRCS=32,1902
+ETAGS_PROG=34,1976
+CTAGS_PROG=35,2007
+REGEX=37,2039
+xx=38,2085
+RUN=40,2134
+OPTIONS=42,2140
+ARGS=43,2192
+infiles 45,2210
+check:check47,2272
+ediff%:ediff%55,2575
+cdiff:cdiff58,2676
+ETAGS:ETAGS61,2773
+CTAGS:CTAGS64,2843
+srclist:srclist67,2921
+regexfile:regexfile71,3012
+.PRECIOUS:.PRECIOUS77,3189
+FRC:FRC79,3223
 
 ada-src/etags-test-for.ada,1969
    type LL_Task_Procedure_Access LL_Task_Procedure_Access/t1,0
@@ -2291,779 +2290,6 @@ typedef int 
should_see_this_one_enclosed_in_extern_C;149,3155
 typedef int 
(*should_see_this_function_pointer)should_see_this_function_pointer153,3228
 typedef int should_see_this_array_type[should_see_this_array_type156,3310
 
-cp-src/abstract.C,11317
-Half_Container::Half_Container(34,703
-void Half_Container::SetPosition(45,941
-void Half_Container::SetDimensions(58,1259
-void Half_Container::SetFather(81,1697
-void Half_Container::SetCollapsed(87,1787
-Specification::Specification(98,1958
-void Specification::SetPosition(119,2453
-void Specification::SetDimensions(164,3742
-void Specification::SetFather(188,4616
-void Specification::SetPath(202,4908
-Coord Specification::GetMaxX(212,5125
-Coord Specification::GetMaxY(215,5174
-Process::Process(222,5298
-void Process::SetPosition(242,5697
-void Process::SetDimensions(291,6959
-void Process::SetFather(315,7913
-void Process::SetPath(326,8123
-Coord Process::GetMaxX(335,8323
-Coord Process::GetMaxY(338,8365
-Choice::Choice(346,8482
-void Choice::SetPosition(357,8698
-void Choice::SetDimensions(405,10053
-void Choice::ChangeH(466,12014
-void Choice::ChangeW(495,12947
-void Choice::SetFather(522,13700
-void Choice::SetTextual(532,13918
-void Choice::SetCollapsed(540,14041
-int Choice::Get_Textual_H(549,14168
-int Choice::Get_Textual_W(557,14408
-void Choice::SetTerminalPos(566,14615
-Stop::Stop(588,15087
-void Stop::SetPosition(595,15207
-void Stop::SetDimensions(605,15373
-void Stop::SetFather(644,16369
-void Stop::SetTextual(652,16537
-void Stop::SetCollapsed(655,16616
-Exit::Exit(667,16768
-void Exit::SetPosition(676,16935
-void Exit::SetDimensions(687,17164
-void Exit::SetFather(695,17350
-Exit_Bex::Exit_Bex(703,17476
-void Exit_Bex::SetPosition(713,17678
-void Exit_Bex::SetDimensions(740,18430
-void Exit_Bex::SetFather(798,20444
-void Exit_Bex::SetTextual(807,20646
-void Exit_Bex::SetCollapsed(814,20757
-NoExit::NoExit(826,20943
-void NoExit::SetPosition(835,21092
-void NoExit::SetDimensions(845,21266
-void NoExit::SetFather(852,21359
-ID_Place::ID_Place(861,21488
-void ID_Place::SetIdent(875,21745
-void ID_Place::SetPosition(886,21936
-void ID_Place::SetDimensions(897,22173
-void ID_Place::SetFather(928,23017
-ID_Place::~ID_Place(932,23073
-void ID_Place::SetVisible(935,23112
-void ID_Place::ClearID(941,23193
-ID_List::ID_List(953,23379
-void ID_List::SetPosition(967,23644
-void ID_List::SetDimensions(999,24385
-void ID_List::SetFather(1038,25456
-void ID_List::SetCollapsed(1047,25595
-void ID_List::HideMe(1056,25734
-void ID_List::SetRBubble(1065,25862
-void ID_List::SetAlignement(1073,25980
-int ID_List::GetCardinality(1082,26123
-void ID_List::SetVisible(1093,26291
-void ID_List::BuildSigSorts(1103,26518
-void ID_List::ClearIDs(1126,27081
-Id_Decl::Id_Decl(1139,27280
-void Id_Decl::SetPosition(1156,27659
-void Id_Decl::SetDimensions(1174,28016
-void Id_Decl::SetFather(1191,28417
-void Id_Decl::SetCollapsed(1200,28568
-Id_Decl_List::Id_Decl_List(1214,28799
-void Id_Decl_List::SetPosition(1227,29069
-void Id_Decl_List::SetDimensions(1245,29424
-void Id_Decl_List::SetFather(1262,29844
-void Id_Decl_List::SetCollapsed(1271,29988
-Comment::Comment(1286,30209
-void Comment::SetComment(1299,30446
-void Comment::SetFather(1317,30800
-void Comment::SetPosition(1321,30854
-void Comment::SetDimensions(1331,31031
-Comment::~Comment(1345,31265
-Comment_List::Comment_List(1352,31382
-void Comment_List::SetPosition(1362,31541
-void Comment_List::SetDimensions(1380,31860
-void Comment_List::SetFather(1392,32139
-Parallel::Parallel(1406,32360
-void Parallel::SetPosition(1417,32573
-void Parallel::SetDimensions(1473,34272
-void Parallel::SetTextual(1534,36167
-int Parallel::Get_Textual_W(1543,36313
-int Parallel::Get_Textual_H(1559,36722
-void Parallel::SetTerminalPos(1570,37191
-void Parallel::SetFather(1590,37698
-void Parallel::SetCollapsed(1601,37950
-Ident_Eq::Ident_Eq(1615,38177
-void Ident_Eq::SetPosition(1632,38546
-void Ident_Eq::SetDimensions(1647,38851
-void Ident_Eq::SetFather(1662,39191
-void Ident_Eq::SetCollapsed(1669,39295
-Ident_Eq_List::Ident_Eq_List(1681,39480
-void Ident_Eq_List::SetPosition(1694,39753
-void Ident_Eq_List::SetDimensions(1712,40111
-void Ident_Eq_List::SetCollapsed(1729,40538
-void Ident_Eq_List::SetFather(1738,40683
-Local_Def::Local_Def(1751,40904
-void Local_Def::SetPosition(1761,41102
-void Local_Def::SetDimensions(1791,41833
-void Local_Def::SetFather(1832,43262
-void Local_Def::SetCollapsed(1839,43370
-void Local_Def::SetTextual(1848,43504
-Hide::Hide(1860,43681
-void Hide::SetPosition(1871,43872
-void Hide::SetDimensions(1901,44569
-void Hide::SetFather(1944,45771
-void Hide::SetCollapsed(1951,45873
-void Hide::SetTextual(1961,46003
-Interl::Interl(1972,46175
-void Interl::SetPosition(1982,46361
-void Interl::SetDimensions(1993,46593
-void Interl::SetFather(2021,47103
-Syncr::Syncr(2031,47257
-void Syncr::SetPosition(2041,47438
-void Syncr::SetDimensions(2051,47609
-void Syncr::SetFather(2079,48153
-Enable::Enable(2090,48436
-void Enable::SetPosition(2102,48690
-void Enable::SetDimensions(2169,50473
-void Enable::SetTextual(2243,53017
-void Enable::SetTerminalPos(2251,53140
-int Enable::Get_Textual_W(2271,53720
-int Enable::Get_Textual_H(2282,53985
-void Enable::SetFather(2285,54104
-void Enable::SetCollapsed(2298,54418
-Disable::Disable(2314,54780
-void Disable::SetPosition(2325,55001
-void Disable::SetDimensions(2376,56251
-void Disable::SetFather(2436,58064
-void Disable::SetCollapsed(2446,58284
-void Disable::SetTextual(2455,58412
-void Disable::SetTerminalPos(2463,58536
-int Disable::Get_Textual_W(2479,58987
-int Disable::Get_Textual_H(2488,59190
-Gen_Paral::Gen_Paral(2500,59630
-void Gen_Paral::SetPosition(2513,59899
-void Gen_Paral::SetDimensions(2540,60659
-void Gen_Paral::SetFather(2590,62171
-void Gen_Paral::SetCollapsed(2597,62290
-Action_Pref::Action_Pref(2609,62583
-void Action_Pref::SetPosition(2620,62829
-void Action_Pref::SetDimensions(2669,63937
-void Action_Pref::SetFather(2724,65777
-void Action_Pref::SetCollapsed(2734,66010
-void Action_Pref::SetTextual(2743,66147
-Internal::Internal(2757,66484
-void Internal::SetPosition(2768,66658
-void Internal::SetDimensions(2778,66838
-void Internal::SetFather(2806,67442
-Communication::Communication(2816,67702
-void Communication::SetPosition(2827,67956
-void Communication::SetDimensions(2897,70390
-void Communication::SetFather(2935,71706
-void Communication::SetCollapsed(2942,71837
-void Communication::SetTextual(2949,71968
-NoGuard::NoGuard(2961,72262
-void NoGuard::SetPosition(2974,72462
-void NoGuard::SetDimensions(2984,72639
-void NoGuard::SetFather(2987,72678
-Guard::Guard(2996,72929
-void Guard::SetPosition(3008,73118
-void Guard::SetDimensions(3022,73428
-void Guard::SetFather(3044,73894
-void Guard::SetCollapsed(3050,73974
-NoExperiment::NoExperiment(3062,74258
-void NoExperiment::SetPosition(3075,74478
-void NoExperiment::SetDimensions(3085,74670
-void NoExperiment::SetFather(3088,74714
-Experiment::Experiment(3097,74978
-void Experiment::SetPosition(3110,75245
-void Experiment::SetDimensions(3128,75611
-void Experiment::SetFather(3150,76066
-void Experiment::SetCollapsed(3157,76188
-void Experiment::SetTextual(3165,76311
-Proc_Inst::Proc_Inst(3175,76476
-void Proc_Inst::SetPosition(3191,76777
-void Proc_Inst::SetDimensions(3236,77965
-void Proc_Inst::SetFather(3286,79596
-void Proc_Inst::SetCollapsed(3294,79739
-void Proc_Inst::SetTextual(3304,79909
-Value_Expr::Value_Expr(3316,80100
-void Value_Expr::SetPosition(3329,80327
-void Value_Expr::SetDimensions(3340,80572
-void Value_Expr::SetFather(3343,80614
-Value_Expr_List::Value_Expr_List(3351,80755
-void Value_Expr_List::SetPosition(3364,81042
-void Value_Expr_List::SetDimensions(3382,81406
-void Value_Expr_List::SetFather(3399,81830
-void Value_Expr_List::SetCollapsed(3408,81977
-Sum_Ident::Sum_Ident(3423,82203
-void Sum_Ident::SetPosition(3435,82445
-void Sum_Ident::SetDimensions(3466,83196
-void Sum_Ident::SetFather(3509,84540
-void Sum_Ident::SetCollapsed(3516,84653
-void Sum_Ident::SetTextual(3525,84793
-void Sum_Ident::SetTerminalPos(3532,84897
-Value::Value(3552,85432
-void Value::SetPosition(3569,85792
-void Value::SetDimensions(3583,86091
-void Value::SetFather(3606,86628
-void Value::SetCollapsed(3613,86731
-Term::Term(3626,86908
-void Term::SetPosition(3646,87323
-void Term::SetDimensions(3671,87942
-void Term::SetFather(3697,88599
-void Term::SetCollapsed(3705,88732
-Exit_Entry::Exit_Entry(3719,88947
-void Exit_Entry::SetPosition(3732,89176
-void Exit_Entry::SetDimensions(3743,89421
-void Exit_Entry::SetFather(3746,89463
-Exit_Entry_List::Exit_Entry_List(3754,89604
-void Exit_Entry_List::SetPosition(3766,89875
-void Exit_Entry_List::SetDimensions(3785,90304
-void Exit_Entry_List::SetFather(3802,90753
-void Exit_Entry_List::SetCollapsed(3811,90900
-Sum_Gate::Sum_Gate(3826,91125
-void Sum_Gate::SetPosition(3837,91363
-void Sum_Gate::SetDimensions(3873,92120
-void Sum_Gate::SetFather(3915,93438
-void Sum_Gate::SetCollapsed(3922,93549
-void Sum_Gate::SetTextual(3931,93687
-void Sum_Gate::SetTerminalPos(3938,93790
-Gate_Decl::Gate_Decl(3959,94421
-void Gate_Decl::SetPosition(3977,94900
-void Gate_Decl::SetDimensions(3995,95298
-void Gate_Decl::SetFather(4011,95694
-void Gate_Decl::SetCollapsed(4020,95871
-Gate_Decl_List::Gate_Decl_List(4034,96130
-void Gate_Decl_List::SetPosition(4047,96414
-void Gate_Decl_List::SetDimensions(4065,96779
-void Gate_Decl_List::SetFather(4082,97207
-void Gate_Decl_List::SetCollapsed(4091,97353
-Par::Par(4106,97572
-void Par::SetPosition(4126,97957
-void Par::SetDimensions(4174,99236
-void Par::SetFather(4226,100814
-void Par::SetCollapsed(4234,100943
-void Par::SetTextual(4245,101100
-Sort_Id_Exit::Sort_Id_Exit(4258,101329
-void Sort_Id_Exit::SetPosition(4270,101556
-void Sort_Id_Exit::SetDimensions(4283,101834
-void Sort_Id_Exit::SetFather(4297,102142
-void Sort_Id_Exit::SetCollapsed(4303,102228
-Equality::Equality(4314,102512
-Equality::Equality(4327,102736
-void Equality::SetPosition(4340,102987
-void Equality::SetDimensions(4357,103329
-void Equality::SetFather(4377,103720
-void Equality::SetCollapsed(4387,103858
-Guarded::Guarded(4401,104167
-void Guarded::SetPosition(4413,104384
-void Guarded::SetDimensions(4441,105084
-void Guarded::SetFather(4482,106273
-void Guarded::SetCollapsed(4489,106377
-void Guarded::SetTextual(4499,106509
-Exper_Off::Exper_Off(4510,106813
-void Exper_Off::SetPosition(4523,107035
-void Exper_Off::SetDimensions(4533,107220
-void Exper_Off::SetFather(4536,107261
-Exper_Off_List::Exper_Off_List(4544,107521
-void Exper_Off_List::SetPosition(4557,107802
-void Exper_Off_List::SetDimensions(4575,108167
-void Exper_Off_List::SetFather(4592,108594
-void Exper_Off_List::SetCollapsed(4601,108740
-Exclam::Exclam(4616,109087
-void Exclam::SetPosition(4629,109300
-void Exclam::SetDimensions(4641,109541
-void Exclam::SetFather(4655,109830
-void Exclam::SetCollapsed(4661,109912
-Query::Query(4673,110194
-void Query::SetPosition(4686,110399
-void Query::SetDimensions(4698,110636
-void Query::SetFather(4712,110918
-void Query::SetCollapsed(4718,110997
-Definition::Definition(4729,111279
-void Definition::SetPosition(4741,111448
-void Definition::SetDimensions(4752,111658
-void Definition::SetFather(4766,111896
-void Definition::SetPath(4777,112089
-Proc_List::Proc_List(4790,112374
-void Proc_List::SetPosition(4799,112505
-void Proc_List::SetDimensions(4809,112686
-void Proc_List::SetFather(4815,112767
-void Proc_List::SetPath(4824,112908
-char *Proc_List::GetPath(Proc_List::GetPath4832,113068
-
-cp-src/abstract.H,10509
-#define abstract_hh16,453
-class ID_Place:ID_Place23,536
-       char *str;ID_Place::str25,571
-       char RBubble;ID_Place::RBubble26,583
- char *GetIdent(ID_Place::GetIdent41,857
- void SetRBubble(ID_Place::SetRBubble42,891
- char GetRBubble(ID_Place::GetRBubble43,934
-class ID_List:ID_List47,1012
-       ID_Place *elem;ID_List::elem49,1046
-       ID_List *next;ID_List::next50,1063
-class Id_Decl:Id_Decl73,1540
-       ID_List *id_list;Id_Decl::id_list75,1574
-       ID_Place *sort_id;Id_Decl::sort_id76,1593
-class Id_Decl_List:Id_Decl_List89,1829
-       Id_Decl *elem;Id_Decl_List::elem91,1868
-       Id_Decl_List *next;Id_Decl_List::next92,1884
-class Comment:Comment105,2140
-       char *comm;Comment::comm107,2174
-class Comment_List:Comment_List122,2440
-       Comment *elem;Comment_List::elem124,2479
-       Comment_List *next;Comment_List::next125,2495
-class Value_Expr:Value_Expr135,2694
-class Value_Expr_List:Value_Expr_List149,2911
-       Tree_Node *elem;Value_Expr_List::elem151,2953
-       Value_Expr_List *next;Value_Expr_List::next152,2971
-class Exit_Entry:Exit_Entry165,3244
-class Exit_Entry_List:Exit_Entry_List179,3460
-       Tree_Node *elem;Exit_Entry_List::elem181,3502
-       Exit_Entry_List *next;Exit_Entry_List::next182,3520
-class Exper_Off:Exper_Off195,3793
-class Exper_Off_List:Exper_Off_List207,3977
-        Exper_Off *elem;Exper_Off_List::elem209,4018
-        Exper_Off_List *next;Exper_Off_List::next210,4043
-class Gate_Decl:Gate_Decl223,4323
-       ID_List *gate_id_list1;Gate_Decl::gate_id_list1225,4359
-       ID_List *gate_id_list2;Gate_Decl::gate_id_list2226,4384
-class Gate_Decl_List:Gate_Decl_List239,4630
-       Gate_Decl *elem;Gate_Decl_List::elem241,4671
-       Gate_Decl_List *next;Gate_Decl_List::next242,4689
-class Ident_Eq:Ident_Eq255,4957
-        Id_Decl *iddecl;Ident_Eq::iddecl257,4992
-        Value_Expr *expr;Ident_Eq::expr258,5017
-class Ident_Eq_List:Ident_Eq_List271,5270
-        Ident_Eq *elem;Ident_Eq_List::elem273,5310
-        Ident_Eq_List *next;Ident_Eq_List::next274,5334
-class Half_Container:Half_Container287,5608
-       ID_List *gate_list;Half_Container::gate_list289,5649
-class Specification:Specification308,5954
-        Comment_List *com_list;Specification::com_list312,6013
-       ID_Place *ident;Specification::ident313,6045
-       ID_List *gate_list;Specification::gate_list314,6063
-       Id_Decl_List *id_decl_list;Specification::id_decl_list315,6084
-        Comment_List *com_list1;Specification::com_list1316,6113
-       Tree_Node *func;Specification::func317,6146
-       Data_List *dt_list;Specification::dt_list318,6164
-       Definition *def;Specification::def319,6185
-       Coord yl1,Specification::yl1320,6203
-       Coord yl1,yl2,Specification::yl2320,6203
-       Coord yl1,yl2,yl3;Specification::yl3320,6203
-       Coord MaxX,Specification::MaxX321,6223
-       Coord MaxX, MaxY;Specification::MaxY321,6223
-class Process:Process337,6609
-        Comment_List *com_list;Process::com_list339,6643
-       ID_Place *ident;Process::ident340,6675
-       ID_List *gate_list;Process::gate_list341,6693
-       Id_Decl_List *id_decl_list;Process::id_decl_list342,6714
-       Definition *def;Process::def343,6743
-       Tree_Node *func;Process::func344,6761
-       char nesting;Process::nesting345,6779
-       Coord yl1,Process::yl1346,6794
-       Coord yl1,yl2,Process::yl2346,6794
-       Coord yl1,yl2,yl3,Process::yl3346,6794
-       Coord yl1,yl2,yl3,ypath;Process::ypath346,6794
-       Coord MaxX,Process::MaxX347,6820
-       Coord MaxX, MaxY;Process::MaxY347,6820
- char GetNesting(Process::GetNesting363,7186
-class Proc_List:Proc_List367,7257
-        Process *elem;Proc_List::elem369,7293
-        Proc_List *next;Proc_List::next370,7316
-class Definition:Definition382,7574
-        Tree_Node *bex;Definition::bex384,7611
-        Proc_List *process_list;Definition::process_list385,7635
-        Data_List *data_list;Definition::data_list386,7668
-       char path[Definition::path387,7698
- char *GetPath(Definition::GetPath397,7940
-class Exit:Exit407,8071
-       ID_List *sort_list;Exit::sort_list409,8102
-class NoExit:NoExit421,8305
-class Value:Value440,8560
-       ID_Place *ident;Value::ident442,8592
-       ID_Place *sort_id;Value::sort_id443,8610
-class Term:Term456,8841
-       ID_Place *op_ident;Term::op_ident458,8872
-       Value_Expr_List *expr_list;Term::expr_list459,8893
-       ID_Place *sort_id;Term::sort_id460,8922
-class Equality:Equality473,9169
-        Tree_Node *express1;Equality::express1475,9204
-        Tree_Node *express2;Equality::express2476,9233
-class Sort_Id_Exit:Sort_Id_Exit490,9504
-       ID_Place *sort_id;Sort_Id_Exit::sort_id492,9543
-class NoGuard:NoGuard511,9837
-class Guard:Guard524,10045
-        Equality *equality;Guard::equality526,10077
-class NoExperiment:NoExperiment545,10368
-class Experiment:Experiment558,10591
-        Exper_Off_List *exp_offer_list;Experiment::exp_offer_list560,10628
-        Tree_Node *guard_option;Experiment::guard_option561,10668
- Tree_Node *GetGuard(Experiment::GetGuard574,10962
-class Exclam:Exclam578,11053
-        Tree_Node *value_exp;Exclam::value_exp580,11086
-class Query:Query593,11324
-        Id_Decl *id_decl;Query::id_decl595,11356
-class Internal:Internal614,11643
-class Communication:Communication627,11854
-       ID_Place *gate_identifier;Communication::gate_identifier629,11894
-        Tree_Node 
*experiment_option;Communication::experiment_option630,11922
-        Coord xl,Communication::xl631,11960
-        Coord xl, yl;Communication::yl631,11960
-        int hr;Communication::hr632,11982
-class Gen_Paral:Gen_Paral652,12337
-        ID_List *gate_id_list;Gen_Paral::gate_id_list654,12373
-       Coord Xclose;Gen_Paral::Xclose655,12404
-       char border;Gen_Paral::border656,12419
- void HideGate(Gen_Paral::HideGate668,12634
-class Interl:Interl672,12730
-class Syncr:Syncr685,12929
-class Action_Pref:Action_Pref704,13185
-        Tree_Node *action_den;Action_Pref::action_den706,13223
-        Tree_Node *bex;Action_Pref::bex707,13254
-       char havebox;Action_Pref::havebox708,13278
-       char border;Action_Pref::border709,13293
-class Enable:Enable723,13577
-        Tree_Node *bex1,Enable::bex1725,13610
-        Tree_Node *bex1, *bex2;Enable::bex2725,13610
-       ID_List *gate_id_list;Enable::gate_id_list726,13642
-        Coord xl,Enable::xl727,13666
-        Coord xl, yl1,Enable::yl1727,13666
-        Coord xl, yl1, xl2,Enable::xl2727,13666
-        Coord xl, yl1, xl2, yl2,Enable::yl2727,13666
-        Coord xl, yl1, xl2, yl2, xid,Enable::xid727,13666
-        Coord xl, yl1, xl2, yl2, xid, yid,Enable::yid727,13666
-        Coord xl, yl1, xl2, yl2, xid, yid, Yclose;Enable::Yclose727,13666
-       char havebox;Enable::havebox728,13717
-       char border;Enable::border729,13732
-class Disable:Disable746,14097
-        Tree_Node *bex1,Disable::bex1748,14131
-        Tree_Node *bex1, *bex2;Disable::bex2748,14131
-        Coord xl,Disable::xl749,14163
-        Coord xl, yl,Disable::yl749,14163
-        Coord xl, yl, yl2;Disable::yl2749,14163
-       char havebox;Disable::havebox750,14190
-       char border;Disable::border751,14205
-class Choice:Choice768,14561
-       Tree_Node *bex1,Choice::bex1770,14594
-       Tree_Node *bex1, *bex2;Choice::bex2770,14594
-       Coord xl,Choice::xl771,14619
-       Coord xl, yl,Choice::yl771,14619
-       Coord xl, yl, yl1;Choice::yl1771,14619
-       char havebox;Choice::havebox772,14639
-       int delta;Choice::delta773,14654
-       char border;Choice::border774,14666
-class Stop:Stop793,15054
-       char havebox;Stop::havebox795,15085
-       char border;Stop::border796,15100
-class Exit_Bex:Exit_Bex810,15338
-       Exit_Entry_List *entry_list;Exit_Bex::entry_list812,15373
-       Coord Xopen,Exit_Bex::Xopen813,15404
-       Coord Xopen, Xclose;Exit_Bex::Xclose813,15404
-       char havebox;Exit_Bex::havebox814,15426
-       char border;Exit_Bex::border815,15441
-class Hide:Hide829,15707
-       ID_List *gate_list;Hide::gate_list831,15738
-       Tree_Node *bex;Hide::bex832,15759
-       char border;Hide::border833,15776
-       Coord yl;Hide::yl834,15790
-class Guarded:Guarded848,16047
-        Equality *equality;Guarded::equality850,16081
-        Tree_Node *bex;Guarded::bex851,16109
-       Coord Xclose;Guarded::Xclose852,16133
-       char border;Guarded::border853,16148
-class Proc_Inst:Proc_Inst867,16425
-       ID_List *gate_list;Proc_Inst::gate_list869,16461
-       ID_Place *ident;Proc_Inst::ident870,16482
-       Value_Expr_List *value_expr_list;Proc_Inst::value_expr_list871,16500
-       Coord yp,Proc_Inst::yp872,16535
-       Coord yp, yl1,Proc_Inst::yl1872,16535
-       Coord yp, yl1, Xopen,Proc_Inst::Xopen872,16535
-       Coord yp, yl1, Xopen, Xclose;Proc_Inst::Xclose872,16535
-       int hp;Proc_Inst::hp873,16566
-       char border;Proc_Inst::border874,16575
-class Parallel:Parallel888,16870
-       Tree_Node *bex1,Parallel::bex1890,16905
-       Tree_Node *bex1, *bex2,Parallel::bex2890,16905
-       Tree_Node *bex1, *bex2, *oper;Parallel::oper890,16905
-       Coord xl,Parallel::xl891,16937
-       Coord xl, yl,Parallel::yl891,16937
-       Coord xl, yl, yl1;Parallel::yl1891,16937
-       char havebox;Parallel::havebox892,16957
-       int delta;Parallel::delta893,16972
-       char border;Parallel::border894,16984
- char GetOperType(Parallel::GetOperType910,17343
-class Local_Def:Local_Def914,17429
-       Ident_Eq_List *equa_list;Local_Def::equa_list916,17465
-       Tree_Node *bex;Local_Def::bex917,17492
-       Coord yl;Local_Def::yl918,17509
-       char border;Local_Def::border919,17520
-class Par:Par933,17801
-       Gate_Decl_List *gate_decl_list;Par::gate_decl_list935,17831
-       Tree_Node *oper,Par::oper936,17864
-       Tree_Node *oper, *bex;Par::bex936,17864
-       Coord xl,Par::xl937,17888
-       Coord xl, yl;Par::yl937,17888
-       char border;Par::border938,17903
-class Sum_Gate:Sum_Gate952,18180
-       Gate_Decl_List *gate_decl_list;Sum_Gate::gate_decl_list954,18215
-       Tree_Node *bex;Sum_Gate::bex955,18248
-       Coord xl,Sum_Gate::xl956,18265
-       Coord xl, yl,Sum_Gate::yl956,18265
-       Coord xl, yl, Xch,Sum_Gate::Xch956,18265
-       Coord xl, yl, Xch, Ych,Sum_Gate::Ych956,18265
-       Coord xl, yl, Xch, Ych, Xclose,Sum_Gate::Xclose956,18265
-       Coord xl, yl, Xch, Ych, Xclose, Yclose;Sum_Gate::Yclose956,18265
-       char border;Sum_Gate::border957,18306
-class Sum_Ident:Sum_Ident972,18613
-       Id_Decl_List *ident_decl_list;Sum_Ident::ident_decl_list974,18649
-       Tree_Node *bex;Sum_Ident::bex975,18681
-       Coord xl,Sum_Ident::xl976,18698
-       Coord xl, yl,Sum_Ident::yl976,18698
-       Coord xl, yl, Xch,Sum_Ident::Xch976,18698
-       Coord xl, yl, Xch, Ych,Sum_Ident::Ych976,18698
-       Coord xl, yl, Xch, Ych, Xclose,Sum_Ident::Xclose976,18698
-       Coord xl, yl, Xch, Ych, Xclose, Yclose;Sum_Ident::Yclose976,18698
-       char border;Sum_Ident::border977,18739
-
-cp-src/cfront.H,8316
-struct loc     67,1948
-       short   file;loc::file69,1988
-       short   line;loc::line70,2036
-struct ea 80,2150
-               void* p;ea::p82,2224
-               int i;ea::i83,2235
-       ea(ea::ea86,2249
-       ea(ea::ea87,2275
-       ea(ea::ea88,2301
-       ea(ea::ea89,2310
-overload error;94,2349
-#define DEL(161,4040
-#define PERM(162,4092
-#define UNPERM(163,4123
-struct node 165,4157
-       TOK     base;node::base166,4171
-       TOK     n_key;node::n_key167,4182
-       bit     permanent;node::permanent168,4226
-struct table 175,4321
-       char    init_stat;table::init_stat177,4406
-       short   size;table::size181,4571
-       short   hashsize;table::hashsize182,4584
-       short   free_slot;table::free_slot183,4601
-       Pname*  entries;table::entries184,4651
-       short*  hashtbl;table::hashtbl185,4668
-       Pstmt   real_block;table::real_block186,4685
-       Ptable  next;table::next189,4787
-       Pname   t_name;table::t_name190,4834
-       void    set_scope(table::set_scope198,4988
-       void    set_name(table::set_name199,5029
-       int     max(table::max201,5091
-#define DEFINED 230,5655
-#define SIMPLIFIED 231,5712
-#define DEF_SEEN 232,5754
-#define IN_ERROR 234,5859
-struct type 236,5881
-       bit     defined;type::defined237,5902
-       TOK     integral(type::integral255,6278
-       TOK     numeric(type::numeric256,6324
-       TOK     num_ptr(type::num_ptr257,6370
-struct enumdef 265,6500
-       bit     e_body;enumdef::e_body266,6535
-       short   no_of_enumerators;enumdef::no_of_enumerators267,6548
-       Pname   mem;enumdef::mem268,6574
-               enumdef(enumdef::enumdef269,6586
-struct classdef 278,6732
-       bit     pubbase;classdef::pubbase279,6769
-       bit     c_body;classdef::c_body280,6783
-       TOK     csu;classdef::csu281,6830
-       char    obj_align;classdef::obj_align282,6877
-       char    bit_ass;classdef::bit_ass283,6894
-       char    virt_count;classdef::virt_count284,6943
-       Pname   clbase;classdef::clbase286,7033
-       char*   string;classdef::string287,7063
-       Pname   mem_list;classdef::mem_list288,7099
-       Ptable  memtbl;classdef::memtbl289,7116
-       int     obj_size;classdef::obj_size290,7132
-       int     real_size;classdef::real_size291,7147
-       Plist   friend_list;classdef::friend_list292,7196
-       Pname   pubdef;classdef::pubdef293,7216
-       Plist   tn_list;classdef::tn_list294,7231
-       Pclass  in_class;classdef::in_class295,7289
-       Ptype   this_type;classdef::this_type296,7335
-       Pname*  virt_init;classdef::virt_init297,7353
-       Pname   itor;classdef::itor298,7412
-       Pname   conv;classdef::conv299,7450
-       TOK     is_simple(classdef::is_simple302,7506
-       Pname   has_ctor(classdef::has_ctor314,7759
-       Pname   has_dtor(classdef::has_dtor315,7813
-       Pname   has_itor(classdef::has_itor316,7867
-struct basetype 323,7935
-       bit     b_unsigned;basetype::b_unsigned334,8195
-       bit     b_const;basetype::b_const335,8212
-       bit     b_typedef;basetype::b_typedef336,8226
-       bit     b_inline;basetype::b_inline337,8242
-       bit     b_virtual;basetype::b_virtual338,8257
-       bit     b_short;basetype::b_short339,8273
-       bit     b_long;basetype::b_long340,8287
-       char    b_bits;basetype::b_bits341,8300
-       char    b_offset;basetype::b_offset342,8345
-       TOK     b_sto;basetype::b_sto343,8384
-       Pname   b_name;basetype::b_name344,8433
-       Ptable  b_table;basetype::b_table345,8478
-       Pexpr   b_field;basetype::b_field346,8525
-       Pname   b_xname;basetype::b_xname347,8582
-       Ptype   b_fieldtype;basetype::b_fieldtype348,8615
-struct fct 365,8857
-       TOK     nargs;fct::nargs367,8885
-       TOK     nargs_known;fct::nargs_known368,8897
-       char    f_virtual;fct::f_virtual369,8940
-       char    f_inline;fct::f_inline370,8991
-       Ptype   returns;fct::returns371,9052
-       Pname   argtype;fct::argtype372,9068
-       Ptype   s_returns;fct::s_returns373,9084
-       Pname   f_this;fct::f_this374,9102
-       Pclass  memof;fct::memof375,9117
-       Pblock  body;fct::body376,9158
-       Pname   f_init;fct::f_init377,9172
-       Pexpr   b_init;fct::b_init380,9295
-       Pexpr   f_expr;fct::f_expr383,9389
-       Pexpr   last_expanded;fct::last_expanded384,9441
-       Pname   f_result;fct::f_result385,9463
-       bit     declared(fct::declared396,9724
-struct name_list 403,9827
-       Pname   f;name_list::f404,9846
-       Plist   l;name_list::l405,9856
-       name_list(name_list::name_list406,9866
-struct gen 410,9931
-       Plist   fct_list;gen::fct_list411,9964
-       char*   string;gen::string412,9981
-struct pvtyp 419,10071
-       Ptype typ;pvtyp::typ420,10093
-struct vec 423,10109
-       Pexpr   dim;vec::dim426,10157
-       int     size;vec::size427,10169
-       vec(vec::vec429,10182
-struct ptr 435,10289
-       Pclass  memof;ptr::memof437,10339
-       bit     rdo;ptr::rdo438,10395
-       ptr(ptr::ptr440,10419
-inline Pptr type::addrof(447,10546
-struct expr 469,11113
-               Ptype   tp;expr::tp481,11414
-               int     syn_class;expr::syn_class482,11426
-               Pexpr   e1;expr::e1485,11456
-               char*   string;expr::string486,11468
-               int     i1;expr::i1487,11484
-               Pexpr   e2;expr::e2490,11507
-               Pexpr   n_initializer;expr::n_initializer491,11519
-               char*   string2;expr::string2492,11542
-               Ptype   tp2;expr::tp2495,11608
-               Pname   fct_name;expr::fct_name496,11621
-               Pexpr   cond;expr::cond497,11639
-               Pname   mem;expr::mem498,11653
-               Ptype   as_type;expr::as_type499,11666
-               Ptable  n_table;expr::n_table500,11683
-               Pin     il;expr::il501,11701
-struct texpr 527,12108
-       texpr(texpr::texpr528,12149
-struct ival 531,12218
-       ival(ival::ival532,12258
-struct call 535,12308
-       call(call::call536,12338
-struct qexpr 543,12453
-       qexpr(qexpr::qexpr544,12500
-struct ref 547,12582
-       ref(ref::ref548,12632
-struct text_expr 551,12697
-       text_expr(text_expr::text_expr552,12731
-struct name 557,12884
-       TOK     n_oper;name::n_oper558,12948
-       TOK     n_sto;name::n_sto559,12987
-       TOK     n_stclass;name::n_stclass560,13038
-       TOK     n_scope;name::n_scope561,13080
-       unsigned char   n_union;name::n_union562,13129
-       bit     n_evaluated;name::n_evaluated563,13173
-       bit     n_xref;name::n_xref564,13221
-       unsigned char   lex_level;name::lex_level565,13261
-       TOK     n_protect;name::n_protect566,13287
-       short   n_addr_taken;name::n_addr_taken567,13337
-       short   n_used;name::n_used568,13358
-       short   n_assigned_to;name::n_assigned_to569,13373
-       Loc     where;name::where570,13395
-       int     n_val;name::n_val571,13407
-       int     n_offset;name::n_offset574,13518
-       Pname   n_list;name::n_list575,13567
-       Pname   n_tbl_list;name::n_tbl_list576,13582
-               Pname   n_qualifier;name::n_qualifier578,13610
-               Ptable  n_realscope;name::n_realscope579,13659
-       void    unhide(name::unhide592,13929
-       void    use(name::use596,14025
-       void    take_addr(name::take_addr598,14069
-struct stmt 615,14374
-       Pstmt   s;stmt::s617,14479
-       Pstmt   s_list;stmt::s_list618,14489
-       Loc     where;stmt::where619,14504
-               Pname   d;stmt::d621,14525
-               Pexpr   e2;stmt::e2622,14536
-               Pstmt   has_default;stmt::has_default623,14548
-               int     case_value;stmt::case_value624,14569
-               Ptype   ret_tp;stmt::ret_tp625,14587
-               Pexpr   e;stmt::e628,14616
-               bit     own_tbl;stmt::own_tbl629,14627
-               Pstmt   s2;stmt::s2630,14642
-       Ptable  memtbl;stmt::memtbl632,14658
-               Pstmt   for_init;stmt::for_init634,14683
-               Pstmt   else_stmt;stmt::else_stmt635,14701
-               Pstmt   case_list;stmt::case_list636,14720
-               bit     empty;stmt::empty637,14739
-struct estmt 662,15111
-       estmt(estmt::estmt669,15303
-struct ifstmt 672,15379
-       ifstmt(ifstmt::ifstmt676,15484
-struct lstmt 680,15586
-       lstmt(lstmt::lstmt686,15650
-struct forstmt 689,15728
-       forstmt(forstmt::forstmt690,15759
-struct block 694,15880
-       block(block::block695,15919
-struct pair 703,16060
-       pair(pair::pair704,16096
-struct nlist 708,16173
-       Pname   head;nlist::head709,16188
-       Pname   tail;nlist::tail710,16201
-       void    add(nlist::add712,16230
-struct slist 718,16344
-       Pstmt   head;slist::head719,16359
-       Pstmt   tail;slist::tail720,16372
-               slist(slist::slist721,16385
-       void    add(slist::add722,16430
-struct elist 727,16521
-       Pexpr   head;elist::head728,16536
-       Pexpr   tail;elist::tail729,16549
-               elist(elist::elist730,16562
-       void    add(elist::add731,16607
-struct dcl_context 739,16739
-       Pname   c_this;dcl_context::c_this740,16760
-       Ptype   tot;dcl_context::tot741,16802
-       Pname   not;dcl_context::not742,16840
-       Pclass  cot;dcl_context::cot743,16886
-       Ptable  ftbl;dcl_context::ftbl744,16938
-       Pname   nof;dcl_context::nof745,16985
-       void    stack(dcl_context::stack747,17023
-       void    unstack(dcl_context::unstack748,17064
-#define MAXCONT        751,17095
-const MIA 779,17690
-struct iline 780,17705
-       Pname   fct_name;iline::fct_name781,17720
-       Pin     i_next;iline::i_next782,17754
-       Ptable  i_table;iline::i_table783,17767
-       Pname   local[iline::local784,17784
-       Pexpr   arg[iline::arg785,17838
-       Ptype   tp[iline::tp786,17887
-#define FUDGE111 791,17985
-#define DB(831,18890
-#define DB(833,18920
-
 cp-src/burton.cpp,103
 ::dummy::dummy test::dummy1(1,0
 ::dummy::dummy test::dummy2(6,64
@@ -3112,22 +2338,6 @@ class MDiagArray2 78,2022
 #undef LTGT144,3874
 #define INSTANTIATE_MDIAGARRAY_FRIENDS(146,3887
 
-cp-src/Pctest.h,665
-#define PCTEST_H24,837
-    PctestActionValid,::PctestActionValid47,1286
-    PctestActionValidLasthop,::PctestActionValidLasthop49,1370
-    PctestActionFiltered,::PctestActionFiltered51,1481
-    PctestActionAbort  ::PctestActionAbort53,1566
-} PctestActionType;54,1616
-class Pctest 56,1637
-    Pctest(Pctest::Pctest59,1663
-    virtual ~Pctest(Pctest::~Pctest65,1813
-    virtual char *GetTargetName(Pctest::GetTargetName77,2171
-    virtual PctestActionType GetAction(Pctest::GetAction86,2555
-    int initialized;Pctest::initialized93,2698
-    char *targetName;Pctest::targetName94,2743
-    struct timeval syscallTime;Pctest::syscallTime95,2785
-
 cp-src/Range.h,595
 #define octave_Range_h 24,765
 Range35,891
@@ -3391,63 +2601,6 @@ show(124,5458
 dialog_loop(219,9529
 test(252,10806
 
-erl-src/lines.erl,386
--define(BREAK66,2377
--define(dbg68,2437
-new(73,2565
-count(80,2686
-nth(87,2815
-append(104,3301
-replace(119,3816
-insert(138,4559
-insert_after(165,5501
-delete(192,6456
-convert_to_list(215,7110
-convert_from_list(220,7259
-replace_nth(229,7518
-insert_nth(234,7618
-insert_after_nth(239,7711
-delete_nth(244,7828
-split_at(252,8027
-balance_left(267,8451
-balance_right(282,8865
-
-erl-src/lists.erl,593
-member(21,663
-append(30,790
-reverse(48,1099
-nth(59,1310
-nthtail(64,1382
-prefix(73,1546
-suffix(83,1707
-last(92,1882
-seq(101,2058
-sum(109,2265
-duplicate(116,2432
-min(124,2628
-max(132,2837
-sublist(141,3083
-delete(152,3329
-sort(161,3483
-split_and_sort(165,3559
-merge(175,3811
-concat(190,4219
-thing_to_list(195,4300
-flatten(204,4606
-flat_length(222,5003
-keymember(239,5451
-keysearch(246,5609
-keydelete(253,5770
-keyreplace(260,5923
-keysort(266,6113
-split_and_keysort(270,6229
-keymerge(277,6504
-keymap(288,6851
-map(311,7829
-foldl(315,7919
-foldr(320,8037
-zf(325,8155
-
 f-src/entry.for,172
       LOGICAL FUNCTION PRTPKG 3,75
        ENTRY  SETPRT 194,3866
@@ -3520,380 +2673,6 @@ debian-bug.eldebian-bug190,7981
 tcpdump205,8566
 Links to interesting softwarelinks216,8893
 
-java-src/AWTEMul.java,4481
-public class AWTEventMulticaster 63,2111
-    protected EventListener a,AWTEventMulticaster.a69,2356
-    protected EventListener a, b;AWTEventMulticaster.b69,2356
-    protected 
AWTEventMulticaster(AWTEventMulticaster.AWTEventMulticaster77,2555
-    protected EventListener remove(AWTEventMulticaster.remove86,2820
-    public void componentResized(AWTEventMulticaster.componentResized102,3294
-    public void componentMoved(AWTEventMulticaster.componentMoved112,3626
-    public void componentShown(AWTEventMulticaster.componentShown122,3952
-    public void componentHidden(AWTEventMulticaster.componentHidden132,4280
-    public void componentAdded(AWTEventMulticaster.componentAdded142,4619
-    public void componentRemoved(AWTEventMulticaster.componentRemoved152,4959
-    public void focusGained(AWTEventMulticaster.focusGained162,5281
-    public void focusLost(AWTEventMulticaster.focusLost172,5572
-    public void keyTyped(AWTEventMulticaster.keyTyped182,5853
-    public void keyPressed(AWTEventMulticaster.keyPressed192,6129
-    public void keyReleased(AWTEventMulticaster.keyReleased202,6413
-    public void mouseClicked(AWTEventMulticaster.mouseClicked212,6704
-    public void mousePressed(AWTEventMulticaster.mousePressed222,7004
-    public void mouseReleased(AWTEventMulticaster.mouseReleased232,7306
-    public void mouseEntered(AWTEventMulticaster.mouseEntered242,7609
-    public void mouseExited(AWTEventMulticaster.mouseExited252,7907
-    public void mouseDragged(AWTEventMulticaster.mouseDragged262,8204
-    public void mouseMoved(AWTEventMulticaster.mouseMoved272,8512
-    public void windowOpened(AWTEventMulticaster.windowOpened282,8819
-    public void windowClosing(AWTEventMulticaster.windowClosing292,9125
-    public void windowClosed(AWTEventMulticaster.windowClosed302,9432
-    public void windowIconified(AWTEventMulticaster.windowIconified312,9742
-    public void 
windowDeiconified(AWTEventMulticaster.windowDeiconified322,10064
-    public void windowActivated(AWTEventMulticaster.windowActivated332,10389
-    public void 
windowDeactivated(AWTEventMulticaster.windowDeactivated342,10712
-    public void actionPerformed(AWTEventMulticaster.actionPerformed352,11037
-    public void 
itemStateChanged(AWTEventMulticaster.itemStateChanged362,11356
-    public void 
adjustmentValueChanged(AWTEventMulticaster.adjustmentValueChanged372,11690
-    public void 
textValueChanged(AWTEventMulticaster.textValueChanged376,11874
-    public static ComponentListener add(AWTEventMulticaster.add387,12225
-    public static ContainerListener add(AWTEventMulticaster.add397,12571
-    public static FocusListener add(AWTEventMulticaster.add407,12901
-    public static KeyListener add(AWTEventMulticaster.add417,13207
-    public static MouseListener add(AWTEventMulticaster.add427,13513
-    public static MouseMotionListener add(AWTEventMulticaster.add437,13855
-    public static WindowListener add(AWTEventMulticaster.add447,14197
-    public static ActionListener add(AWTEventMulticaster.add457,14519
-    public static ItemListener add(AWTEventMulticaster.add467,14833
-    public static AdjustmentListener add(AWTEventMulticaster.add477,15163
-    public static TextListener add(AWTEventMulticaster.add480,15310
-    public static ComponentListener 
remove(AWTEventMulticaster.remove490,15664
-    public static ContainerListener 
remove(AWTEventMulticaster.remove500,16044
-    public static FocusListener remove(AWTEventMulticaster.remove510,16408
-    public static KeyListener remove(AWTEventMulticaster.remove520,16748
-    public static MouseListener remove(AWTEventMulticaster.remove530,17088
-    public static MouseMotionListener 
remove(AWTEventMulticaster.remove540,17465
-    public static WindowListener remove(AWTEventMulticaster.remove550,17841
-    public static ActionListener remove(AWTEventMulticaster.remove560,18197
-    public static ItemListener remove(AWTEventMulticaster.remove570,18545
-    public static AdjustmentListener 
remove(AWTEventMulticaster.remove580,18909
-    public static TextListener remove(AWTEventMulticaster.remove583,19062
-    protected static EventListener 
addInternal(AWTEventMulticaster.addInternal597,19608
-    protected static EventListener 
removeInternal(AWTEventMulticaster.removeInternal614,20244
-    protected void saveInternal(AWTEventMulticaster.saveInternal628,20582
-    static void save(AWTEventMulticaster.save646,21131
-
-java-src/KeyEve.java,8202
-public class KeyEvent 36,1075
-    public static final int KEY_FIRST KeyEvent.KEY_FIRST41,1201
-    public static final int KEY_LAST KeyEvent.KEY_LAST46,1328
-    public static final int KEY_TYPED KeyEvent.KEY_TYPED52,1513
-    public static final int KEY_PRESSED KeyEvent.KEY_PRESSED57,1616
-    public static final int KEY_RELEASED KeyEvent.KEY_RELEASED62,1744
-    public static final int VK_ENTER KeyEvent.VK_ENTER85,2950
-    public static final int VK_BACK_SPACE KeyEvent.VK_BACK_SPACE86,3004
-    public static final int VK_TAB KeyEvent.VK_TAB87,3058
-    public static final int VK_CANCEL KeyEvent.VK_CANCEL88,3112
-    public static final int VK_CLEAR KeyEvent.VK_CLEAR89,3166
-    public static final int VK_SHIFT KeyEvent.VK_SHIFT90,3220
-    public static final int VK_CONTROL KeyEvent.VK_CONTROL91,3274
-    public static final int VK_ALT KeyEvent.VK_ALT92,3328
-    public static final int VK_PAUSE KeyEvent.VK_PAUSE93,3382
-    public static final int VK_CAPS_LOCK KeyEvent.VK_CAPS_LOCK94,3436
-    public static final int VK_ESCAPE KeyEvent.VK_ESCAPE95,3490
-    public static final int VK_SPACE KeyEvent.VK_SPACE96,3544
-    public static final int VK_PAGE_UP KeyEvent.VK_PAGE_UP97,3598
-    public static final int VK_PAGE_DOWN KeyEvent.VK_PAGE_DOWN98,3652
-    public static final int VK_END KeyEvent.VK_END99,3706
-    public static final int VK_HOME KeyEvent.VK_HOME100,3760
-    public static final int VK_LEFT KeyEvent.VK_LEFT101,3814
-    public static final int VK_UP KeyEvent.VK_UP102,3868
-    public static final int VK_RIGHT KeyEvent.VK_RIGHT103,3922
-    public static final int VK_DOWN KeyEvent.VK_DOWN104,3976
-    public static final int VK_COMMA KeyEvent.VK_COMMA105,4030
-    public static final int VK_PERIOD KeyEvent.VK_PERIOD106,4084
-    public static final int VK_SLASH KeyEvent.VK_SLASH107,4138
-    public static final int VK_0 KeyEvent.VK_0110,4268
-    public static final int VK_1 KeyEvent.VK_1111,4322
-    public static final int VK_2 KeyEvent.VK_2112,4376
-    public static final int VK_3 KeyEvent.VK_3113,4430
-    public static final int VK_4 KeyEvent.VK_4114,4484
-    public static final int VK_5 KeyEvent.VK_5115,4538
-    public static final int VK_6 KeyEvent.VK_6116,4592
-    public static final int VK_7 KeyEvent.VK_7117,4646
-    public static final int VK_8 KeyEvent.VK_8118,4700
-    public static final int VK_9 KeyEvent.VK_9119,4754
-    public static final int VK_SEMICOLON KeyEvent.VK_SEMICOLON121,4809
-    public static final int VK_EQUALS KeyEvent.VK_EQUALS122,4863
-    public static final int VK_A KeyEvent.VK_A125,4993
-    public static final int VK_B KeyEvent.VK_B126,5047
-    public static final int VK_C KeyEvent.VK_C127,5101
-    public static final int VK_D KeyEvent.VK_D128,5155
-    public static final int VK_E KeyEvent.VK_E129,5209
-    public static final int VK_F KeyEvent.VK_F130,5263
-    public static final int VK_G KeyEvent.VK_G131,5317
-    public static final int VK_H KeyEvent.VK_H132,5371
-    public static final int VK_I KeyEvent.VK_I133,5425
-    public static final int VK_J KeyEvent.VK_J134,5479
-    public static final int VK_K KeyEvent.VK_K135,5533
-    public static final int VK_L KeyEvent.VK_L136,5587
-    public static final int VK_M KeyEvent.VK_M137,5641
-    public static final int VK_N KeyEvent.VK_N138,5695
-    public static final int VK_O KeyEvent.VK_O139,5749
-    public static final int VK_P KeyEvent.VK_P140,5803
-    public static final int VK_Q KeyEvent.VK_Q141,5857
-    public static final int VK_R KeyEvent.VK_R142,5911
-    public static final int VK_S KeyEvent.VK_S143,5965
-    public static final int VK_T KeyEvent.VK_T144,6019
-    public static final int VK_U KeyEvent.VK_U145,6073
-    public static final int VK_V KeyEvent.VK_V146,6127
-    public static final int VK_W KeyEvent.VK_W147,6181
-    public static final int VK_X KeyEvent.VK_X148,6235
-    public static final int VK_Y KeyEvent.VK_Y149,6289
-    public static final int VK_Z KeyEvent.VK_Z150,6343
-    public static final int VK_OPEN_BRACKET KeyEvent.VK_OPEN_BRACKET152,6398
-    public static final int VK_BACK_SLASH KeyEvent.VK_BACK_SLASH153,6452
-    public static final int VK_CLOSE_BRACKET 
KeyEvent.VK_CLOSE_BRACKET154,6506
-    public static final int VK_NUMPAD0 KeyEvent.VK_NUMPAD0156,6561
-    public static final int VK_NUMPAD1 KeyEvent.VK_NUMPAD1157,6615
-    public static final int VK_NUMPAD2 KeyEvent.VK_NUMPAD2158,6669
-    public static final int VK_NUMPAD3 KeyEvent.VK_NUMPAD3159,6723
-    public static final int VK_NUMPAD4 KeyEvent.VK_NUMPAD4160,6777
-    public static final int VK_NUMPAD5 KeyEvent.VK_NUMPAD5161,6831
-    public static final int VK_NUMPAD6 KeyEvent.VK_NUMPAD6162,6885
-    public static final int VK_NUMPAD7 KeyEvent.VK_NUMPAD7163,6939
-    public static final int VK_NUMPAD8 KeyEvent.VK_NUMPAD8164,6993
-    public static final int VK_NUMPAD9 KeyEvent.VK_NUMPAD9165,7047
-    public static final int VK_MULTIPLY KeyEvent.VK_MULTIPLY166,7101
-    public static final int VK_ADD KeyEvent.VK_ADD167,7155
-    public static final int VK_SEPARATER KeyEvent.VK_SEPARATER168,7209
-    public static final int VK_SUBTRACT KeyEvent.VK_SUBTRACT169,7263
-    public static final int VK_DECIMAL KeyEvent.VK_DECIMAL170,7317
-    public static final int VK_DIVIDE KeyEvent.VK_DIVIDE171,7371
-    public static final int VK_F1 KeyEvent.VK_F1172,7425
-    public static final int VK_F2 KeyEvent.VK_F2173,7479
-    public static final int VK_F3 KeyEvent.VK_F3174,7533
-    public static final int VK_F4 KeyEvent.VK_F4175,7587
-    public static final int VK_F5 KeyEvent.VK_F5176,7641
-    public static final int VK_F6 KeyEvent.VK_F6177,7695
-    public static final int VK_F7 KeyEvent.VK_F7178,7749
-    public static final int VK_F8 KeyEvent.VK_F8179,7803
-    public static final int VK_F9 KeyEvent.VK_F9180,7857
-    public static final int VK_F10 KeyEvent.VK_F10181,7911
-    public static final int VK_F11 KeyEvent.VK_F11182,7965
-    public static final int VK_F12 KeyEvent.VK_F12183,8019
-    public static final int VK_DELETE KeyEvent.VK_DELETE184,8073
-    public static final int VK_NUM_LOCK KeyEvent.VK_NUM_LOCK185,8143
-    public static final int VK_SCROLL_LOCK KeyEvent.VK_SCROLL_LOCK186,8197
-    public static final int VK_PRINTSCREEN KeyEvent.VK_PRINTSCREEN188,8252
-    public static final int VK_INSERT KeyEvent.VK_INSERT189,8306
-    public static final int VK_HELP KeyEvent.VK_HELP190,8360
-    public static final int VK_META KeyEvent.VK_META191,8414
-    public static final int VK_BACK_QUOTE KeyEvent.VK_BACK_QUOTE193,8469
-    public static final int VK_QUOTE KeyEvent.VK_QUOTE194,8523
-    public static final int VK_FINAL KeyEvent.VK_FINAL197,8608
-    public static final int VK_CONVERT KeyEvent.VK_CONVERT198,8662
-    public static final int VK_NONCONVERT KeyEvent.VK_NONCONVERT199,8716
-    public static final int VK_ACCEPT KeyEvent.VK_ACCEPT200,8770
-    public static final int VK_MODECHANGE KeyEvent.VK_MODECHANGE201,8824
-    public static final int VK_KANA KeyEvent.VK_KANA202,8878
-    public static final int VK_KANJI KeyEvent.VK_KANJI203,8932
-    public static final int VK_UNDEFINED KeyEvent.VK_UNDEFINED208,9062
-    public static final char CHAR_UNDEFINED KeyEvent.CHAR_UNDEFINED214,9259
-    int  keyCode;KeyEvent.keyCode216,9313
-    char keyChar;KeyEvent.keyChar217,9331
-     private static final long serialVersionUID 
KeyEvent.serialVersionUID222,9398
-    public KeyEvent(KeyEvent.KeyEvent234,9912
-    public KeyEvent(KeyEvent.KeyEvent252,10510
-    public int getKeyCode(KeyEvent.getKeyCode261,10836
-    public void setKeyCode(KeyEvent.setKeyCode265,10897
-    public void setKeyChar(KeyEvent.setKeyChar269,10978
-    public void setModifiers(KeyEvent.setModifiers273,11060
-    public char getKeyChar(KeyEvent.getKeyChar282,11331
-    public static String getKeyText(KeyEvent.getKeyText290,11561
-    public static String 
getKeyModifiersText(KeyEvent.getKeyModifiersText377,16662
-    public boolean isActionKey(KeyEvent.isActionKey403,17618
-    public String paramString(KeyEvent.paramString407,17704
-
-java-src/SMan.java,5231
-class SecurityManager 80,3387
-    protected boolean inCheck;SecurityManager.inCheck87,3576
-    private boolean initialized SecurityManager.initialized90,3678
-    public boolean getInCheck(SecurityManager.getInCheck101,4075
-    protected SecurityManager(SecurityManager.SecurityManager114,4497
-    protected Class 
currentLoadedClass(SecurityManager.currentLoadedClass149,5707
-    protected boolean inClass(SecurityManager.inClass184,7034
-    protected boolean inClassLoader(SecurityManager.inClassLoader196,7372
-    public Object 
getSecurityContext(SecurityManager.getSecurityContext221,8485
-    public void 
checkCreateClassLoader(SecurityManager.checkCreateClassLoader238,9069
-    public void checkAccess(SecurityManager.checkAccess268,10298
-    public void checkAccess(SecurityManager.checkAccess298,11632
-    public void checkExit(SecurityManager.checkExit323,12649
-    public void checkExec(SecurityManager.checkExec349,13734
-    public void checkLink(SecurityManager.checkLink375,14813
-    public void checkRead(SecurityManager.checkRead394,15485
-    public void checkRead(SecurityManager.checkRead412,16111
-    public void checkRead(SecurityManager.checkRead434,17017
-    public void checkWrite(SecurityManager.checkWrite453,17706
-    public void checkWrite(SecurityManager.checkWrite471,18337
-    public void checkDelete(SecurityManager.checkDelete493,19165
-    public void checkConnect(SecurityManager.checkConnect517,20119
-    public void checkConnect(SecurityManager.checkConnect543,21254
-    public void checkListen(SecurityManager.checkListen561,21910
-    public void checkAccept(SecurityManager.checkAccept585,22887
-    public void checkMulticast(SecurityManager.checkMulticast597,23272
-    public void checkMulticast(SecurityManager.checkMulticast610,23732
-    public void 
checkPropertiesAccess(SecurityManager.checkPropertiesAccess632,24609
-    public void 
checkPropertyAccess(SecurityManager.checkPropertyAccess654,25449
-    public boolean 
checkTopLevelWindow(SecurityManager.checkTopLevelWindow680,26580
-    public void 
checkPrintJobAccess(SecurityManager.checkPrintJobAccess689,26763
-    public void 
checkSystemClipboardAccess(SecurityManager.checkSystemClipboardAccess698,26958
-    public void 
checkAwtEventQueueAccess(SecurityManager.checkAwtEventQueueAccess707,27159
-    public void 
checkPackageAccess(SecurityManager.checkPackageAccess729,27966
-    public void 
checkPackageDefinition(SecurityManager.checkPackageDefinition751,28803
-    public void checkSetFactory(SecurityManager.checkSetFactory775,29929
-    public void checkMemberAccess(SecurityManager.checkMemberAccess786,30209
-    public void 
checkSecurityAccess(SecurityManager.checkSecurityAccess796,30430
-    public ThreadGroup getThreadGroup(SecurityManager.getThreadGroup811,30923
-class NullSecurityManager 817,31025
-    public void 
checkCreateClassLoader(NullSecurityManager.checkCreateClassLoader818,31077
-    public void checkAccess(NullSecurityManager.checkAccess819,31123
-    public void checkAccess(NullSecurityManager.checkAccess820,31165
-    public void checkExit(NullSecurityManager.checkExit821,31212
-    public void checkExec(NullSecurityManager.checkExec822,31254
-    public void checkLink(NullSecurityManager.checkLink823,31296
-    public void checkRead(NullSecurityManager.checkRead824,31338
-    public void checkRead(NullSecurityManager.checkRead825,31387
-    public void checkRead(NullSecurityManager.checkRead826,31430
-    public void checkWrite(NullSecurityManager.checkWrite827,31489
-    public void checkWrite(NullSecurityManager.checkWrite828,31539
-    public void checkDelete(NullSecurityManager.checkDelete829,31583
-    public void checkConnect(NullSecurityManager.checkConnect830,31628
-    public void checkConnect(NullSecurityManager.checkConnect831,31684
-    public void checkListen(NullSecurityManager.checkListen832,31756
-    public void checkAccept(NullSecurityManager.checkAccept833,31798
-    public void checkMulticast(NullSecurityManager.checkMulticast834,31853
-    public void checkMulticast(NullSecurityManager.checkMulticast835,31907
-    public void 
checkPropertiesAccess(NullSecurityManager.checkPropertiesAccess836,31971
-    public void 
checkPropertyAccess(NullSecurityManager.checkPropertyAccess837,32015
-    public void 
checkPropertyAccess(NullSecurityManager.checkPropertyAccess838,32067
-    public boolean 
checkTopLevelWindow(NullSecurityManager.checkTopLevelWindow839,32131
-    public void 
checkPrintJobAccess(NullSecurityManager.checkPrintJobAccess840,32202
-    public void 
checkSystemClipboardAccess(NullSecurityManager.checkSystemClipboardAccess841,32244
-    public void 
checkAwtEventQueueAccess(NullSecurityManager.checkAwtEventQueueAccess842,32293
-    public void 
checkPackageAccess(NullSecurityManager.checkPackageAccess843,32340
-    public void 
checkPackageDefinition(NullSecurityManager.checkPackageDefinition844,32391
-    public void checkSetFactory(NullSecurityManager.checkSetFactory845,32446
-    public void 
checkMemberAccess(NullSecurityManager.checkMemberAccess846,32484
-    public void 
checkSecurityAccess(NullSecurityManager.checkSecurityAccess847,32546
-
-java-src/SysCol.java,4721
-public final class SystemColor 37,1402
-    public final static int DESKTOP SystemColor.DESKTOP42,1555
-    public final static int ACTIVE_CAPTION SystemColor.ACTIVE_CAPTION47,1677
-    public final static int ACTIVE_CAPTION_TEXT 
SystemColor.ACTIVE_CAPTION_TEXT52,1800
-    public final static int ACTIVE_CAPTION_BORDER 
SystemColor.ACTIVE_CAPTION_BORDER57,1930
-    public final static int INACTIVE_CAPTION 
SystemColor.INACTIVE_CAPTION62,2068
-    public final static int INACTIVE_CAPTION_TEXT 
SystemColor.INACTIVE_CAPTION_TEXT67,2195
-    public final static int INACTIVE_CAPTION_BORDER 
SystemColor.INACTIVE_CAPTION_BORDER72,2329
-    public final static int WINDOW SystemColor.WINDOW77,2459
-    public final static int WINDOW_BORDER SystemColor.WINDOW_BORDER82,2568
-    public final static int WINDOW_TEXT SystemColor.WINDOW_TEXT87,2682
-    public final static int MENU SystemColor.MENU92,2798
-    public final static int MENU_TEXT SystemColor.MENU_TEXT97,2902
-    public final static int TEXT SystemColor.TEXT102,3017
-    public final static int TEXT_TEXT SystemColor.TEXT_TEXT107,3121
-    public final static int TEXT_HIGHLIGHT SystemColor.TEXT_HIGHLIGHT112,3235
-    public final static int TEXT_HIGHLIGHT_TEXT 
SystemColor.TEXT_HIGHLIGHT_TEXT117,3359
-    public final static int TEXT_INACTIVE_TEXT 
SystemColor.TEXT_INACTIVE_TEXT122,3487
-    public final static int CONTROL SystemColor.CONTROL127,3614
-    public final static int CONTROL_TEXT SystemColor.CONTROL_TEXT132,3724
-    public final static int CONTROL_HIGHLIGHT 
SystemColor.CONTROL_HIGHLIGHT137,3844
-    public final static int CONTROL_LT_HIGHLIGHT 
SystemColor.CONTROL_LT_HIGHLIGHT142,3975
-    public final static int CONTROL_SHADOW SystemColor.CONTROL_SHADOW147,4100
-    public final static int CONTROL_DK_SHADOW 
SystemColor.CONTROL_DK_SHADOW152,4224
-    public final static int SCROLLBAR SystemColor.SCROLLBAR157,4352
-    public final static int INFO SystemColor.INFO162,4467
-    public final static int INFO_TEXT SystemColor.INFO_TEXT167,4571
-    public final static int NUM_COLORS SystemColor.NUM_COLORS172,4681
-    public final static SystemColor desktop SystemColor.desktop177,4790
-    public final static SystemColor activeCaption 
SystemColor.activeCaption182,4945
-    public final static SystemColor activeCaptionText 
SystemColor.activeCaptionText187,5107
-    public final static SystemColor activeCaptionBorder 
SystemColor.activeCaptionBorder192,5280
-    public final static SystemColor inactiveCaption 
SystemColor.inactiveCaption197,5470
-    public final static SystemColor inactiveCaptionText 
SystemColor.inactiveCaptionText202,5645
-    public final static SystemColor inactiveCaptionBorder 
SystemColor.inactiveCaptionBorder207,5830
-    public final static SystemColor window SystemColor.window212,5996
-    public final static SystemColor windowBorder 
SystemColor.windowBorder217,6126
-    public final static SystemColor windowText SystemColor.windowText222,6267
-    public final static SystemColor menu SystemColor.menu227,6408
-    public final static SystemColor menuText SystemColor.menuText232,6530
-    public final static SystemColor text SystemColor.text237,6677
-    public final static SystemColor textText SystemColor.textText242,6809
-    public final static SystemColor textHighlight 
SystemColor.textHighlight247,6957
-    public final static SystemColor textHighlightText 
SystemColor.textHighlightText252,7109
-    public final static SystemColor textInactiveText 
SystemColor.textInactiveText257,7267
-    public final static SystemColor control SystemColor.control262,7431
-    public final static SystemColor controlText 
SystemColor.controlText267,7569
-    public final static SystemColor controlHighlight 
SystemColor.controlHighlight272,7727
-    public final static SystemColor controlLtHighlight 
SystemColor.controlLtHighlight277,7897
-    public final static SystemColor controlShadow 
SystemColor.controlShadow282,8069
-    public final static SystemColor controlDkShadow 
SystemColor.controlDkShadow287,8227
-    public final static SystemColor scrollbar SystemColor.scrollbar292,8384
-    public final static SystemColor info SystemColor.info297,8532
-    public final static SystemColor infoText SystemColor.infoText302,8664
-    private static int[] systemColors SystemColor.systemColors308,8885
-    private static final long serialVersionUID 
SystemColor.serialVersionUID340,10406
-    private static void 
updateSystemColors(SystemColor.updateSystemColors349,10617
-    private SystemColor(SystemColor.SystemColor357,10885
-    public int getRGB(SystemColor.getRGB370,11245
-    public String toString(SystemColor.toString377,11388
-
-java-src/TG.java,2547
-class ThreadGroup 54,2104
-    ThreadGroup parent;ThreadGroup.parent55,2124
-    String name;ThreadGroup.name56,2148
-    int maxPriority;ThreadGroup.maxPriority57,2165
-    boolean destroyed;ThreadGroup.destroyed58,2186
-    boolean daemon;ThreadGroup.daemon59,2209
-    boolean vmAllowSuspension;ThreadGroup.vmAllowSuspension60,2229
-    int nthreads;ThreadGroup.nthreads62,2261
-    Thread threads[ThreadGroup.threads63,2279
-    int ngroups;ThreadGroup.ngroups65,2302
-    ThreadGroup groups[ThreadGroup.groups66,2319
-    private ThreadGroup(ThreadGroup.ThreadGroup72,2495
-    public ThreadGroup(ThreadGroup.ThreadGroup84,2848
-    public ThreadGroup(ThreadGroup.ThreadGroup105,3714
-    public final String getName(ThreadGroup.getName124,4189
-    public final ThreadGroup getParent(ThreadGroup.getParent135,4492
-    public final int getMaxPriority(ThreadGroup.getMaxPriority148,4867
-    public final boolean isDaemon(ThreadGroup.isDaemon161,5305
-    public synchronized boolean isDestroyed(ThreadGroup.isDestroyed170,5470
-    public final void setDaemon(ThreadGroup.setDaemon192,6368
-    public final void setMaxPriority(ThreadGroup.setMaxPriority213,7110
-    public final boolean parentOf(ThreadGroup.parentOf246,8106
-    public final void checkAccess(ThreadGroup.checkAccess268,8834
-    public int activeCount(ThreadGroup.activeCount283,9286
-    public int enumerate(ThreadGroup.enumerate322,10497
-    public int enumerate(ThreadGroup.enumerate344,11481
-    private int enumerate(ThreadGroup.enumerate348,11584
-    public int activeGroupCount(ThreadGroup.activeGroupCount389,12588
-    public int enumerate(ThreadGroup.enumerate425,13727
-    public int enumerate(ThreadGroup.enumerate445,14595
-    private int enumerate(ThreadGroup.enumerate449,14703
-    public final void stop(ThreadGroup.stop499,16212
-    public final void suspend(ThreadGroup.suspend537,17477
-    public final void resume(ThreadGroup.resume575,18749
-    public final void destroy(ThreadGroup.destroy607,19779
-    private final void add(ThreadGroup.add643,20704
-    private void remove(ThreadGroup.remove668,21402
-    void add(ThreadGroup.add697,22142
-    void remove(ThreadGroup.remove722,22808
-    public void list(ThreadGroup.list751,23503
-    void list(ThreadGroup.list754,23556
-    public void uncaughtException(ThreadGroup.uncaughtException810,25512
-    public boolean 
allowThreadSuspension(ThreadGroup.allowThreadSuspension823,25823
-    public String toString(ThreadGroup.toString837,26142
-
 lua-src/allegro.lua,400
 local function get_layer_by_name 7,175
 local function count_layers 33,621
@@ -4246,292 +3025,6 @@ sub f6 Foo::Bar::f628,244
 package main;32,278
 sub f7 main::f734,293
 
-perl-src/mirror.pl,13410
-sub msg_versionmain::msg_version459,18271
-       local( $arg )( $arg 468,18582
-               local( $flag, $p )( $flag, $p 480,18757
-               local( $site_path )( $site_path 525,19687
-                       local( $site, $path )( $site, $path 539,19958
-               local( $key_val )( $key_val 578,20743
-               local( $user )( $user 595,21097
-               local( $c )( $c 634,21853
-                       local( $sec,$min,$hour,$mday,$mon,$year,( 
$sec,$min,$hour,$mday,$mon,$year,678,22807
-       local( $c )( $c 706,23393
-       local( $dir, $mp )( $dir, $mp 723,23695
-               local( $f )( $f 725,23740
-sub interpret_config_filesmain::interpret_config_files756,24304
-       local( $fname )( $fname 758,24333
-sub interpret_configmain::interpret_config785,24927
-sub parse_linemain::parse_line827,25710
-       local( $eqpl )( $eqpl 829,25727
-       local( $cont )( $cont 830,25744
-                       local( $v )( $v 839,26029
-sub set_defaultsmain::set_defaults860,26448
-sub command_line_overridemain::command_line_override868,26579
-       local( $key, $val, $overrides )( $key, $val, $overrides 870,26607
-sub set_variablesmain::set_variables894,27072
-       local( $key, $val )( $key, $val 896,27092
-                       local( $val_name )( $val_name 902,27259
-               local( $val )( $val 953,28825
-sub upd_valmain::upd_val962,28974
-       local( $key )( $key 964,28988
-sub pr_variablesmain::pr_variables970,29083
-       local( $msg )( $msg 972,29102
-       local( $nle )( $nle 973,29123
-       local( $out )( $out 974,29144
-       local( $key, $val, $str )( $key, $val, $str 975,29164
-sub do_mirrormain::do_mirror1007,29923
-       local( $get_one_package )( $get_one_package 1009,29939
-       local( $exit_status )( $exit_status 1030,30384
-                       local( @t )( @t 1154,33165
-       local( $con )( $con 1241,35499
-               local( @rhelp )( @rhelp 1289,36702
-       local( @sub_dirs )( @sub_dirs 1329,37778
-       local( $now )( $now 1493,41348
-               local( $arg )( $arg 1506,41774
-sub disconnectmain::disconnect1528,42250
-sub connectmain::connect1546,42576
-       local( $attempts )( $attempts 1548,42590
-       local( $res )( $res 1549,42642
-sub prodmain::prod1573,43156
-sub checkout_regexpsmain::checkout_regexps1585,43327
-       local( $ret )( $ret 1587,43350
-       local( $t )( $t 1589,43395
-               local( $val )( $val 1597,43701
-                       local( $err )( $err 1601,43786
-sub clear_localmain::clear_local1610,43909
-sub clear_remotemain::clear_remote1625,44172
-sub get_local_directory_detailsmain::get_local_directory_details1640,44445
-       local( @dirs, $dir )( @dirs, $dir 1642,44479
-       local( $last_prodded )( $last_prodded 1643,44502
-       local( $dir_level )( $dir_level 1691,45615
-       local( $i )( $i 1692,45641
-       local( $path, $time, $size, $type, $mode, $name, $isdir, $value, 
$follow )( $path, $time, $size, $type, $mode, $name, $isdir, $value, $follow 
1693,45659
-       local( $dev,$ino,$fmode,$nlink,$uid,$gid,$rdev,$ssize,( 
$dev,$ino,$fmode,$nlink,$uid,$gid,$rdev,$ssize,1694,45736
-                       local( $mapi )( $mapi 1763,47586
-sub get_remote_directory_detailsmain::get_remote_directory_details1789,48122
-       local( $type_changed )( $type_changed 1791,48157
-       local( $udirtmp )( $udirtmp 1792,48186
-       local( $storename )( $storename 1793,48206
-       local( $rls )( $rls 1825,48944
-               local( $dirtmp )( $dirtmp 1830,49002
-               local( $unsquish )( $unsquish 1832,49130
-                       local( $f )( $f 1840,49360
-               local( $dirtmp )( $dirtmp 1859,49866
-               local( $unsquish )( $unsquish 1870,50215
-                       local( $f, $uf )( $f, $uf 1878,50445
-               local( $flags )( $flags 1912,51259
-       local( $parse_state )( $parse_state 1946,52111
-                       local( $msg )( $msg 1963,52486
-sub patch_ls_lR_filemain::patch_ls_lR_file1984,52955
-       local( $f, $fr, $flb, $flt, $flp, $flz, $frb, $frt )( $f, $fr, $flb, 
$flt, $flp, $flz, $frb, $frt 1990,53055
-       local( $to , $tn )( $to , $tn 1991,53110
-       local( $tlb )( $tlb 1995,53225
-               local( $p, $s, $trz, $t, $m )( $p, $s, $trz, $t, $m 2030,54182
-               local( $tlz )( $tlz 2037,54467
-sub parse_timeoutmain::parse_timeout2089,55670
-sub parse_remote_detailsmain::parse_remote_details2095,55754
-       local( $ret )( $ret 2097,55781
-       local( $old_sig )( $old_sig 2098,55797
-sub parse_remote_details_realmain::parse_remote_details_real2125,56234
-       local( $path, $size, $time, $type, $mode, $rdir, $rcwd )( $path, 
$size, $time, $type, $mode, $rdir, $rcwd 2127,56266
-       local( @dir_list )( @dir_list 2128,56325
-       local( $i )( $i 2129,56346
-       local( $old_path )( $old_path 2130,56364
-                               local( $old_path )( $old_path 2143,56630
-                               local( $ri )( $ri 2203,58078
-                       local( $mapi )( $mapi 2214,58335
-                       local( $done )( $done 2239,58911
-sub compare_dirsmain::compare_dirs2283,59825
-       local( *src_paths,( *src_paths,2286,59915
-       local( $src_path, $dest_path, $i )( $src_path, $dest_path, $i 
2293,60099
-       local( $last_prodded )( $last_prodded 2294,60136
-       local( $desti, $srci, $compress, $srciZ, $srcigz, $split, 
$dest_path_real )( $desti, $srci, $compress, $srciZ, $srcigz, $split, 
$dest_path_real 2299,60350
-       local( $old_dest_path, $existing_path, $tmp, $restart )( 
$old_dest_path, $existing_path, $tmp, $restart 2300,60428
-       local( $sp, $dp )( $sp, $dp 2301,60486
-                  local( $real, $reali, $reali1 )( $real, $reali, $reali1 
2352,62034
-                  local( $count )( $count 2353,62072
-                       local( $value )( $value 2408,63996
-                       local( $real )( $real 2409,64028
-                       local( $reali )( $reali 2410,64086
-                               local( $old )( $old 2421,64571
-                       local( $old_dest_path )( $old_dest_path 2432,64842
-                               local( $dpp, $dps )( $dpp, $dps 2509,67031
-               local( $update )( $update 2534,67671
-sub map_namemain::map_name2651,71028
-       local( $name )( $name 2653,71043
-               local( $old_name )( $old_name 2656,71089
-               local( $tmp )( $tmp 2666,71252
-sub set_timestampsmain::set_timestamps2675,71362
-       local( $src_path )( $src_path 2677,71383
-       local( $dest_path, $dest_loc_mapi, $src_rem_mapi,  $rtime )( 
$dest_path, $dest_loc_mapi, $src_rem_mapi,  $rtime 2685,71517
-sub set_timestampmain::set_timestamp2699,71901
-       local( $path, $time )( $path, $time 2701,71921
-       local( $pr_time )( $pr_time 2703,71953
-sub make_dirsmain::make_dirs2719,72284
-       local( $thing )( $thing 2721,72300
-sub make_symlinksmain::make_symlinks2736,72489
-       local( $thing )( $thing 2738,72509
-               local( $dest, $existing )( $dest, $existing 2745,72623
-               local( $dirpart )( $dirpart 2746,72663
-               local( $ft )( $ft 2747,72704
-               local( $p )( $p 2762,73261
-                       local( $f )( $f 2770,73467
-                       local( $dl )( $dl 2788,74038
-sub do_all_transfersmain::do_all_transfers2806,74439
-       local( $src_path )( $src_path 2808,74462
-       local( $dest_path, $attribs )( $dest_path, $attribs 2809,74483
-       local( $srci )( $srci 2810,74515
-               local( $newpath )( $newpath 2838,75124
-sub transfer_filemain::transfer_file2869,75847
-       local( $src_path, $dest_path, $attribs, $timestamp )( $src_path, 
$dest_path, $attribs, $timestamp 2871,75867
-       local( $dir, $file, $temp, $compress, $split, $restart, $mesg, 
$got_mesg )( $dir, $file, $temp, $compress, $split, $restart, $mesg, $got_mesg 
2872,75927
-               local( $src_file )( $src_file 2915,76782
-               local( $comptemp )( $comptemp 2916,76816
-                       local( $f )( $f 2921,76964
-               local($filesize)($filesize2944,77569
-                       local( $ti )( $ti 2975,78401
-               local( $f )( $f 2997,78887
-               local( $comp )( $comp 2998,78912
-       local( $filesize )( $filesize 3015,79427
-       local( $sizemsg )( $sizemsg 3016,79469
-       local( $srcsize )( $srcsize 3017,79501
-               local( $time )( $time 3029,79865
-       local( $as )( $as 3046,80223
-       local( $locali )( $locali 3054,80499
-sub filename_to_tempnamemain::filename_to_tempname3062,80713
-       local( $dir, $file )( $dir, $file 3064,80740
-       local ( $dest_path )( $dest_path 3066,80769
-sub log_uploadmain::log_upload3090,81228
-       local( $src_path, $dest_path, $got_mesg, $size )( $src_path, 
$dest_path, $got_mesg, $size 3092,81245
-sub do_deletesmain::do_deletes3118,81773
-       local( *src_paths,( *src_paths,3121,81861
-       local( $files_to_go, $dirs_to_go )( $files_to_go, $dirs_to_go 
3125,81960
-       local( $src_path, $i )( $src_path, $i 3131,82055
-       local( $orig_do_deletes )( $orig_do_deletes 3132,82080
-       local( $orig_save_deletes )( $orig_save_deletes 3133,82122
-       local( $del_patt )( $del_patt 3135,82169
-               local( $per )( $per 3162,82843
-               local( $per )( $per 3184,83513
-                       local( $save_dir_tail )( $save_dir_tail 3226,84617
-sub save_deletemain::save_delete3245,85019
-       local( $save, $kind )( $save, $kind 3247,85037
-       local( $real_save_dir, $save_dest )( $real_save_dir, $save_dest 
3249,85067
-       local( $dirname )( $dirname 3284,85704
-sub save_mkdirmain::save_mkdir3304,86155
-       local( $dir )( $dir 3306,86172
-sub do_deletemain::do_delete3320,86459
-       local( $del, $kind )( $del, $kind 3322,86475
-sub filesizemain::filesize3377,87532
-       local( $fname )( $fname 3379,87547
-sub istruemain::istrue3390,87654
-       local( $val )( $val 3392,87667
-sub mksymlinkmain::mksymlink3398,87773
-       local( $dest_path, $existing_path )( $dest_path, $existing_path 
3400,87789
-               local( $msg )( $msg 3417,88246
-               local( $msg )( $msg 3431,88590
-               local( $status )( $status 3442,88816
-sub mkdirsmain::mkdirs3457,89196
-       local( $dir )( $dir 3459,89209
-       local( @dir, $d, $path )( @dir, $d, $path 3460,89230
-sub make_dirmain::make_dir3497,90042
-       local( $dir, $mode )( $dir, $mode 3499,90057
-       local( $val )( $val 3500,90085
-sub dir_existsmain::dir_exists3528,90573
-       local( $dir )( $dir 3530,90590
-       local( $val )( $val 3531,90611
-               local($old_dir)($old_dir3539,90750
-sub set_attribsmain::set_attribs3553,91053
-       local( $path, $src_path, $type )( $path, $src_path, $type 3555,91071
-       local( $mode )( $mode 3556,91111
-               local( $pathi )( $pathi 3564,91229
-               local( $pathi )( $pathi 3568,91320
-sub get_passwdmain::get_passwd3606,91977
-       local( $user )( $user 3608,91994
-       local( $pass )( $pass 3609,92016
-       local( $| )( $| 3610,92033
-sub compare_timesmain::compare_times3631,92384
-       local( $t1, $t2 )( $t1, $t2 3637,92564
-       local( $diff )( $diff 3638,92589
-sub create_assocsmain::create_assocs3643,92688
-       local( $map )( $map 3645,92708
-sub delete_assocsmain::delete_assocs3657,92957
-       local( $map )( $map 3659,92977
-sub unlink_dbmmain::unlink_dbm3671,93247
-       local( $file )( $file 3673,93264
-sub bsplitmain::bsplit3681,93462
-       local( $temp, $dest_path, $time )( $temp, $dest_path, $time 3683,93475
-       local( $dest_dir )( $dest_dir 3684,93516
-       local( $bufsiz )( $bufsiz 3685,93558
-       local( $buffer, $in, $sofar )( $buffer, $in, $sofar 3686,93583
-       local( $d )( $d 3691,93721
-       local( $index )( $index 3697,93840
-       local( $part )( $part 3698,93865
-                       local( $locali )( $locali 3714,94336
-       local( $readme )( $readme 3730,94740
-sub sysmain::sys3739,95116
-       local( $com )( $com 3741,95126
-sub set_assoc_from_arraymain::set_assoc_from_array3751,95355
-       local( *things )( *things 3754,95453
-sub find_progmain::find_prog3760,95537
-       local( $prog )( $prog 3762,95553
-       local( $path )( $path 3763,95575
-               local( $path )( $path 3766,95657
-sub real_dir_from_pathmain::real_dir_from_path3780,95842
-       local( $program )( $program 3782,95867
-       local( @prog_path )( @prog_path 3783,95892
-       local( $dir )( $dir 3784,95970
-sub msgmain::msg3807,96489
-       local( $todo, $msg )( $todo, $msg 3809,96499
-sub to_bytesmain::to_bytes3838,96979
-       local( $size )( $size 3840,96994
-sub unix2vmsmain::unix2vms3858,97332
-       local( $v, $kind )( $v, $kind 3860,97347
-                       local( $dir, $rest )( $dir, $rest 3873,97559
-sub dirpartmain::dirpart3886,97730
-       local( $path )( $path 3888,97744
-sub expand_symlinkmain::expand_symlink3902,98076
-       local( $orig_path, $points_to )( $orig_path, $points_to 3904,98097
-       local( $dirpart )( $dirpart 3905,98136
-sub flatten_pathmain::flatten_path3913,98365
-       local( $path )( $path 3915,98384
-       local( $changed )( $changed 3916,98406
-       local( $i )( $i 3917,98430
-       local( $rooted )( $rooted 3919,98446
-       local( $count )( $count 3920,98482
-       local( $orig_path )( $orig_path 3921,98504
-               local( $in )( $in 3932,98741
-               local( @parts )( @parts 3933,98765
-sub fix_packagemain::fix_package3963,99438
-       local( $package )( $package 3965,99456
-sub will_compressmain::will_compress3970,99529
-sub will_splitmain::will_split3981,99859
-sub myflockmain::myflock3989,100001
-       local( $file, $kind )( $file, $kind 3991,100015
-sub t2strmain::t2str4004,100221
-       local( @t )( @t 4006,100233
-       
local($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst4013,100335
-sub handlermain::handler4022,100583
-        local( $sig )( $sig 4029,100651
-        local( $msg )( $msg 4030,100679
-        local( $package, $filename, $line )( $package, $filename, $line 
4031,100737
-sub trap_signalsmain::trap_signals4036,100859
-       local( $sig )( $sig 4038,100878
-sub map_user_groupmain::map_user_group4047,101158
-sub keepmain::keep4069,101537
-       local( $pathi, $path, *keep, *keep_totals, *keep_map, $kind )( $pathi, 
$path, *keep, *keep_totals, *keep_map, $kind 4071,101548
-sub alarmmain::alarm4104,102330
-       local( $time_to_sig )( $time_to_sig 4106,102342
-sub chownmain::chown4110,102405
-       local( $uid, $gid, $path )( $uid, $gid, $path 4112,102417
-sub utimemain::utime4116,102494
-       local( $atime, $mtime, $path )( $atime, $mtime, $path 4118,102506
-       local( $old_mode )( $old_mode 4124,102685
-       local( $tmp_mode )( $tmp_mode 4125,102730
-       local( $ret )( $ret 4126,102763
-sub cwdmain::cwd4135,102913
-       local( $lcwd )( $lcwd 4137,102923
-
 ps-src/rfc1245.ps,2478
 /FMversion 12,311
 /FrameDict 17,500
diff --git a/test/etags/ETAGS.good_4 b/test/etags/ETAGS.good_4
index 4468cdb..5d31c36 100644
--- a/test/etags/ETAGS.good_4
+++ b/test/etags/ETAGS.good_4
@@ -1,46 +1,45 @@
 
-Makefile,701
+Makefile,683
 ADASRC=1,0
 ASRC=2,91
 CSRC=3,139
 CPSRC=7,410
-ELSRC=10,624
-ERLSRC=11,694
-FORTHSRC=12,759
-FSRC=13,809
-HTMLSRC=14,881
-JAVASRC=15,974
-LUASRC=16,1062
-MAKESRC=17,1105
-OBJCSRC=18,1147
-OBJCPPSRC=19,1228
-PASSRC=20,1291
-PERLSRC=21,1333
-PHPSRC=22,1413
-PSSRC=23,1485
-PROLSRC=24,1525
-PYTSRC=25,1587
-TEXSRC=26,1628
-YSRC=27,1707
-SRCS=28,1772
-NONSRCS=32,2024
-ETAGS_PROG=34,2098
-CTAGS_PROG=35,2129
-REGEX=37,2161
-xx=38,2207
-RUN=40,2256
-OPTIONS=42,2262
-ARGS=43,2314
-infiles 45,2332
-check:check47,2394
-ediff%:ediff%55,2697
-cdiff:cdiff58,2798
-ETAGS:ETAGS61,2895
-CTAGS:CTAGS64,2965
-srclist:srclist67,3043
-regexfile:regexfile71,3134
-.PRECIOUS:.PRECIOUS77,3311
-FRC:FRC79,3345
+ELSRC=10,584
+ERLSRC=11,654
+FORTHSRC=12,699
+FSRC=13,749
+HTMLSRC=14,821
+LUASRC=16,950
+MAKESRC=17,993
+OBJCSRC=18,1035
+OBJCPPSRC=19,1116
+PASSRC=20,1179
+PERLSRC=21,1221
+PHPSRC=22,1291
+PSSRC=23,1363
+PROLSRC=24,1403
+PYTSRC=25,1465
+TEXSRC=26,1506
+YSRC=27,1585
+SRCS=28,1650
+NONSRCS=32,1902
+ETAGS_PROG=34,1976
+CTAGS_PROG=35,2007
+REGEX=37,2039
+xx=38,2085
+RUN=40,2134
+OPTIONS=42,2140
+ARGS=43,2192
+infiles 45,2210
+check:check47,2272
+ediff%:ediff%55,2575
+cdiff:cdiff58,2676
+ETAGS:ETAGS61,2773
+CTAGS:CTAGS64,2843
+srclist:srclist67,2921
+regexfile:regexfile71,3012
+.PRECIOUS:.PRECIOUS77,3189
+FRC:FRC79,3223
 
 ada-src/etags-test-for.ada,1969
    type LL_Task_Procedure_Access LL_Task_Procedure_Access/t1,0
@@ -2157,460 +2156,6 @@ typedef int 
should_see_this_one_enclosed_in_extern_C;149,3155
 typedef int 
(*should_see_this_function_pointer)should_see_this_function_pointer153,3228
 typedef int should_see_this_array_type[should_see_this_array_type156,3310
 
-cp-src/abstract.C,11317
-Half_Container::Half_Container(34,703
-void Half_Container::SetPosition(45,941
-void Half_Container::SetDimensions(58,1259
-void Half_Container::SetFather(81,1697
-void Half_Container::SetCollapsed(87,1787
-Specification::Specification(98,1958
-void Specification::SetPosition(119,2453
-void Specification::SetDimensions(164,3742
-void Specification::SetFather(188,4616
-void Specification::SetPath(202,4908
-Coord Specification::GetMaxX(212,5125
-Coord Specification::GetMaxY(215,5174
-Process::Process(222,5298
-void Process::SetPosition(242,5697
-void Process::SetDimensions(291,6959
-void Process::SetFather(315,7913
-void Process::SetPath(326,8123
-Coord Process::GetMaxX(335,8323
-Coord Process::GetMaxY(338,8365
-Choice::Choice(346,8482
-void Choice::SetPosition(357,8698
-void Choice::SetDimensions(405,10053
-void Choice::ChangeH(466,12014
-void Choice::ChangeW(495,12947
-void Choice::SetFather(522,13700
-void Choice::SetTextual(532,13918
-void Choice::SetCollapsed(540,14041
-int Choice::Get_Textual_H(549,14168
-int Choice::Get_Textual_W(557,14408
-void Choice::SetTerminalPos(566,14615
-Stop::Stop(588,15087
-void Stop::SetPosition(595,15207
-void Stop::SetDimensions(605,15373
-void Stop::SetFather(644,16369
-void Stop::SetTextual(652,16537
-void Stop::SetCollapsed(655,16616
-Exit::Exit(667,16768
-void Exit::SetPosition(676,16935
-void Exit::SetDimensions(687,17164
-void Exit::SetFather(695,17350
-Exit_Bex::Exit_Bex(703,17476
-void Exit_Bex::SetPosition(713,17678
-void Exit_Bex::SetDimensions(740,18430
-void Exit_Bex::SetFather(798,20444
-void Exit_Bex::SetTextual(807,20646
-void Exit_Bex::SetCollapsed(814,20757
-NoExit::NoExit(826,20943
-void NoExit::SetPosition(835,21092
-void NoExit::SetDimensions(845,21266
-void NoExit::SetFather(852,21359
-ID_Place::ID_Place(861,21488
-void ID_Place::SetIdent(875,21745
-void ID_Place::SetPosition(886,21936
-void ID_Place::SetDimensions(897,22173
-void ID_Place::SetFather(928,23017
-ID_Place::~ID_Place(932,23073
-void ID_Place::SetVisible(935,23112
-void ID_Place::ClearID(941,23193
-ID_List::ID_List(953,23379
-void ID_List::SetPosition(967,23644
-void ID_List::SetDimensions(999,24385
-void ID_List::SetFather(1038,25456
-void ID_List::SetCollapsed(1047,25595
-void ID_List::HideMe(1056,25734
-void ID_List::SetRBubble(1065,25862
-void ID_List::SetAlignement(1073,25980
-int ID_List::GetCardinality(1082,26123
-void ID_List::SetVisible(1093,26291
-void ID_List::BuildSigSorts(1103,26518
-void ID_List::ClearIDs(1126,27081
-Id_Decl::Id_Decl(1139,27280
-void Id_Decl::SetPosition(1156,27659
-void Id_Decl::SetDimensions(1174,28016
-void Id_Decl::SetFather(1191,28417
-void Id_Decl::SetCollapsed(1200,28568
-Id_Decl_List::Id_Decl_List(1214,28799
-void Id_Decl_List::SetPosition(1227,29069
-void Id_Decl_List::SetDimensions(1245,29424
-void Id_Decl_List::SetFather(1262,29844
-void Id_Decl_List::SetCollapsed(1271,29988
-Comment::Comment(1286,30209
-void Comment::SetComment(1299,30446
-void Comment::SetFather(1317,30800
-void Comment::SetPosition(1321,30854
-void Comment::SetDimensions(1331,31031
-Comment::~Comment(1345,31265
-Comment_List::Comment_List(1352,31382
-void Comment_List::SetPosition(1362,31541
-void Comment_List::SetDimensions(1380,31860
-void Comment_List::SetFather(1392,32139
-Parallel::Parallel(1406,32360
-void Parallel::SetPosition(1417,32573
-void Parallel::SetDimensions(1473,34272
-void Parallel::SetTextual(1534,36167
-int Parallel::Get_Textual_W(1543,36313
-int Parallel::Get_Textual_H(1559,36722
-void Parallel::SetTerminalPos(1570,37191
-void Parallel::SetFather(1590,37698
-void Parallel::SetCollapsed(1601,37950
-Ident_Eq::Ident_Eq(1615,38177
-void Ident_Eq::SetPosition(1632,38546
-void Ident_Eq::SetDimensions(1647,38851
-void Ident_Eq::SetFather(1662,39191
-void Ident_Eq::SetCollapsed(1669,39295
-Ident_Eq_List::Ident_Eq_List(1681,39480
-void Ident_Eq_List::SetPosition(1694,39753
-void Ident_Eq_List::SetDimensions(1712,40111
-void Ident_Eq_List::SetCollapsed(1729,40538
-void Ident_Eq_List::SetFather(1738,40683
-Local_Def::Local_Def(1751,40904
-void Local_Def::SetPosition(1761,41102
-void Local_Def::SetDimensions(1791,41833
-void Local_Def::SetFather(1832,43262
-void Local_Def::SetCollapsed(1839,43370
-void Local_Def::SetTextual(1848,43504
-Hide::Hide(1860,43681
-void Hide::SetPosition(1871,43872
-void Hide::SetDimensions(1901,44569
-void Hide::SetFather(1944,45771
-void Hide::SetCollapsed(1951,45873
-void Hide::SetTextual(1961,46003
-Interl::Interl(1972,46175
-void Interl::SetPosition(1982,46361
-void Interl::SetDimensions(1993,46593
-void Interl::SetFather(2021,47103
-Syncr::Syncr(2031,47257
-void Syncr::SetPosition(2041,47438
-void Syncr::SetDimensions(2051,47609
-void Syncr::SetFather(2079,48153
-Enable::Enable(2090,48436
-void Enable::SetPosition(2102,48690
-void Enable::SetDimensions(2169,50473
-void Enable::SetTextual(2243,53017
-void Enable::SetTerminalPos(2251,53140
-int Enable::Get_Textual_W(2271,53720
-int Enable::Get_Textual_H(2282,53985
-void Enable::SetFather(2285,54104
-void Enable::SetCollapsed(2298,54418
-Disable::Disable(2314,54780
-void Disable::SetPosition(2325,55001
-void Disable::SetDimensions(2376,56251
-void Disable::SetFather(2436,58064
-void Disable::SetCollapsed(2446,58284
-void Disable::SetTextual(2455,58412
-void Disable::SetTerminalPos(2463,58536
-int Disable::Get_Textual_W(2479,58987
-int Disable::Get_Textual_H(2488,59190
-Gen_Paral::Gen_Paral(2500,59630
-void Gen_Paral::SetPosition(2513,59899
-void Gen_Paral::SetDimensions(2540,60659
-void Gen_Paral::SetFather(2590,62171
-void Gen_Paral::SetCollapsed(2597,62290
-Action_Pref::Action_Pref(2609,62583
-void Action_Pref::SetPosition(2620,62829
-void Action_Pref::SetDimensions(2669,63937
-void Action_Pref::SetFather(2724,65777
-void Action_Pref::SetCollapsed(2734,66010
-void Action_Pref::SetTextual(2743,66147
-Internal::Internal(2757,66484
-void Internal::SetPosition(2768,66658
-void Internal::SetDimensions(2778,66838
-void Internal::SetFather(2806,67442
-Communication::Communication(2816,67702
-void Communication::SetPosition(2827,67956
-void Communication::SetDimensions(2897,70390
-void Communication::SetFather(2935,71706
-void Communication::SetCollapsed(2942,71837
-void Communication::SetTextual(2949,71968
-NoGuard::NoGuard(2961,72262
-void NoGuard::SetPosition(2974,72462
-void NoGuard::SetDimensions(2984,72639
-void NoGuard::SetFather(2987,72678
-Guard::Guard(2996,72929
-void Guard::SetPosition(3008,73118
-void Guard::SetDimensions(3022,73428
-void Guard::SetFather(3044,73894
-void Guard::SetCollapsed(3050,73974
-NoExperiment::NoExperiment(3062,74258
-void NoExperiment::SetPosition(3075,74478
-void NoExperiment::SetDimensions(3085,74670
-void NoExperiment::SetFather(3088,74714
-Experiment::Experiment(3097,74978
-void Experiment::SetPosition(3110,75245
-void Experiment::SetDimensions(3128,75611
-void Experiment::SetFather(3150,76066
-void Experiment::SetCollapsed(3157,76188
-void Experiment::SetTextual(3165,76311
-Proc_Inst::Proc_Inst(3175,76476
-void Proc_Inst::SetPosition(3191,76777
-void Proc_Inst::SetDimensions(3236,77965
-void Proc_Inst::SetFather(3286,79596
-void Proc_Inst::SetCollapsed(3294,79739
-void Proc_Inst::SetTextual(3304,79909
-Value_Expr::Value_Expr(3316,80100
-void Value_Expr::SetPosition(3329,80327
-void Value_Expr::SetDimensions(3340,80572
-void Value_Expr::SetFather(3343,80614
-Value_Expr_List::Value_Expr_List(3351,80755
-void Value_Expr_List::SetPosition(3364,81042
-void Value_Expr_List::SetDimensions(3382,81406
-void Value_Expr_List::SetFather(3399,81830
-void Value_Expr_List::SetCollapsed(3408,81977
-Sum_Ident::Sum_Ident(3423,82203
-void Sum_Ident::SetPosition(3435,82445
-void Sum_Ident::SetDimensions(3466,83196
-void Sum_Ident::SetFather(3509,84540
-void Sum_Ident::SetCollapsed(3516,84653
-void Sum_Ident::SetTextual(3525,84793
-void Sum_Ident::SetTerminalPos(3532,84897
-Value::Value(3552,85432
-void Value::SetPosition(3569,85792
-void Value::SetDimensions(3583,86091
-void Value::SetFather(3606,86628
-void Value::SetCollapsed(3613,86731
-Term::Term(3626,86908
-void Term::SetPosition(3646,87323
-void Term::SetDimensions(3671,87942
-void Term::SetFather(3697,88599
-void Term::SetCollapsed(3705,88732
-Exit_Entry::Exit_Entry(3719,88947
-void Exit_Entry::SetPosition(3732,89176
-void Exit_Entry::SetDimensions(3743,89421
-void Exit_Entry::SetFather(3746,89463
-Exit_Entry_List::Exit_Entry_List(3754,89604
-void Exit_Entry_List::SetPosition(3766,89875
-void Exit_Entry_List::SetDimensions(3785,90304
-void Exit_Entry_List::SetFather(3802,90753
-void Exit_Entry_List::SetCollapsed(3811,90900
-Sum_Gate::Sum_Gate(3826,91125
-void Sum_Gate::SetPosition(3837,91363
-void Sum_Gate::SetDimensions(3873,92120
-void Sum_Gate::SetFather(3915,93438
-void Sum_Gate::SetCollapsed(3922,93549
-void Sum_Gate::SetTextual(3931,93687
-void Sum_Gate::SetTerminalPos(3938,93790
-Gate_Decl::Gate_Decl(3959,94421
-void Gate_Decl::SetPosition(3977,94900
-void Gate_Decl::SetDimensions(3995,95298
-void Gate_Decl::SetFather(4011,95694
-void Gate_Decl::SetCollapsed(4020,95871
-Gate_Decl_List::Gate_Decl_List(4034,96130
-void Gate_Decl_List::SetPosition(4047,96414
-void Gate_Decl_List::SetDimensions(4065,96779
-void Gate_Decl_List::SetFather(4082,97207
-void Gate_Decl_List::SetCollapsed(4091,97353
-Par::Par(4106,97572
-void Par::SetPosition(4126,97957
-void Par::SetDimensions(4174,99236
-void Par::SetFather(4226,100814
-void Par::SetCollapsed(4234,100943
-void Par::SetTextual(4245,101100
-Sort_Id_Exit::Sort_Id_Exit(4258,101329
-void Sort_Id_Exit::SetPosition(4270,101556
-void Sort_Id_Exit::SetDimensions(4283,101834
-void Sort_Id_Exit::SetFather(4297,102142
-void Sort_Id_Exit::SetCollapsed(4303,102228
-Equality::Equality(4314,102512
-Equality::Equality(4327,102736
-void Equality::SetPosition(4340,102987
-void Equality::SetDimensions(4357,103329
-void Equality::SetFather(4377,103720
-void Equality::SetCollapsed(4387,103858
-Guarded::Guarded(4401,104167
-void Guarded::SetPosition(4413,104384
-void Guarded::SetDimensions(4441,105084
-void Guarded::SetFather(4482,106273
-void Guarded::SetCollapsed(4489,106377
-void Guarded::SetTextual(4499,106509
-Exper_Off::Exper_Off(4510,106813
-void Exper_Off::SetPosition(4523,107035
-void Exper_Off::SetDimensions(4533,107220
-void Exper_Off::SetFather(4536,107261
-Exper_Off_List::Exper_Off_List(4544,107521
-void Exper_Off_List::SetPosition(4557,107802
-void Exper_Off_List::SetDimensions(4575,108167
-void Exper_Off_List::SetFather(4592,108594
-void Exper_Off_List::SetCollapsed(4601,108740
-Exclam::Exclam(4616,109087
-void Exclam::SetPosition(4629,109300
-void Exclam::SetDimensions(4641,109541
-void Exclam::SetFather(4655,109830
-void Exclam::SetCollapsed(4661,109912
-Query::Query(4673,110194
-void Query::SetPosition(4686,110399
-void Query::SetDimensions(4698,110636
-void Query::SetFather(4712,110918
-void Query::SetCollapsed(4718,110997
-Definition::Definition(4729,111279
-void Definition::SetPosition(4741,111448
-void Definition::SetDimensions(4752,111658
-void Definition::SetFather(4766,111896
-void Definition::SetPath(4777,112089
-Proc_List::Proc_List(4790,112374
-void Proc_List::SetPosition(4799,112505
-void Proc_List::SetDimensions(4809,112686
-void Proc_List::SetFather(4815,112767
-void Proc_List::SetPath(4824,112908
-char *Proc_List::GetPath(Proc_List::GetPath4832,113068
-
-cp-src/abstract.H,2253
-#define abstract_hh16,453
-class ID_Place:ID_Place23,536
- char *GetIdent(ID_Place::GetIdent41,857
- void SetRBubble(ID_Place::SetRBubble42,891
- char GetRBubble(ID_Place::GetRBubble43,934
-class ID_List:ID_List47,1012
-class Id_Decl:Id_Decl73,1540
-class Id_Decl_List:Id_Decl_List89,1829
-class Comment:Comment105,2140
-class Comment_List:Comment_List122,2440
-class Value_Expr:Value_Expr135,2694
-class Value_Expr_List:Value_Expr_List149,2911
-class Exit_Entry:Exit_Entry165,3244
-class Exit_Entry_List:Exit_Entry_List179,3460
-class Exper_Off:Exper_Off195,3793
-class Exper_Off_List:Exper_Off_List207,3977
-class Gate_Decl:Gate_Decl223,4323
-class Gate_Decl_List:Gate_Decl_List239,4630
-class Ident_Eq:Ident_Eq255,4957
-class Ident_Eq_List:Ident_Eq_List271,5270
-class Half_Container:Half_Container287,5608
-class Specification:Specification308,5954
-class Process:Process337,6609
- char GetNesting(Process::GetNesting363,7186
-class Proc_List:Proc_List367,7257
-class Definition:Definition382,7574
- char *GetPath(Definition::GetPath397,7940
-class Exit:Exit407,8071
-class NoExit:NoExit421,8305
-class Value:Value440,8560
-class Term:Term456,8841
-class Equality:Equality473,9169
-class Sort_Id_Exit:Sort_Id_Exit490,9504
-class NoGuard:NoGuard511,9837
-class Guard:Guard524,10045
-class NoExperiment:NoExperiment545,10368
-class Experiment:Experiment558,10591
- Tree_Node *GetGuard(Experiment::GetGuard574,10962
-class Exclam:Exclam578,11053
-class Query:Query593,11324
-class Internal:Internal614,11643
-class Communication:Communication627,11854
-class Gen_Paral:Gen_Paral652,12337
- void HideGate(Gen_Paral::HideGate668,12634
-class Interl:Interl672,12730
-class Syncr:Syncr685,12929
-class Action_Pref:Action_Pref704,13185
-class Enable:Enable723,13577
-class Disable:Disable746,14097
-class Choice:Choice768,14561
-class Stop:Stop793,15054
-class Exit_Bex:Exit_Bex810,15338
-class Hide:Hide829,15707
-class Guarded:Guarded848,16047
-class Proc_Inst:Proc_Inst867,16425
-class Parallel:Parallel888,16870
- char GetOperType(Parallel::GetOperType910,17343
-class Local_Def:Local_Def914,17429
-class Par:Par933,17801
-class Sum_Gate:Sum_Gate952,18180
-class Sum_Ident:Sum_Ident972,18613
-
-cp-src/cfront.H,2555
-struct loc     67,1948
-struct ea 80,2150
-       ea(ea::ea86,2249
-       ea(ea::ea87,2275
-       ea(ea::ea88,2301
-       ea(ea::ea89,2310
-overload error;94,2349
-#define DEL(161,4040
-#define PERM(162,4092
-#define UNPERM(163,4123
-struct node 165,4157
-struct table 175,4321
-       void    set_scope(table::set_scope198,4988
-       void    set_name(table::set_name199,5029
-       int     max(table::max201,5091
-#define DEFINED 230,5655
-#define SIMPLIFIED 231,5712
-#define DEF_SEEN 232,5754
-#define IN_ERROR 234,5859
-struct type 236,5881
-       TOK     integral(type::integral255,6278
-       TOK     numeric(type::numeric256,6324
-       TOK     num_ptr(type::num_ptr257,6370
-struct enumdef 265,6500
-               enumdef(enumdef::enumdef269,6586
-struct classdef 278,6732
-       TOK     is_simple(classdef::is_simple302,7506
-       Pname   has_ctor(classdef::has_ctor314,7759
-       Pname   has_dtor(classdef::has_dtor315,7813
-       Pname   has_itor(classdef::has_itor316,7867
-struct basetype 323,7935
-struct fct 365,8857
-       bit     declared(fct::declared396,9724
-struct name_list 403,9827
-       name_list(name_list::name_list406,9866
-struct gen 410,9931
-struct pvtyp 419,10071
-struct vec 423,10109
-       vec(vec::vec429,10182
-struct ptr 435,10289
-       ptr(ptr::ptr440,10419
-inline Pptr type::addrof(447,10546
-struct expr 469,11113
-struct texpr 527,12108
-       texpr(texpr::texpr528,12149
-struct ival 531,12218
-       ival(ival::ival532,12258
-struct call 535,12308
-       call(call::call536,12338
-struct qexpr 543,12453
-       qexpr(qexpr::qexpr544,12500
-struct ref 547,12582
-       ref(ref::ref548,12632
-struct text_expr 551,12697
-       text_expr(text_expr::text_expr552,12731
-struct name 557,12884
-       void    unhide(name::unhide592,13929
-       void    use(name::use596,14025
-       void    take_addr(name::take_addr598,14069
-struct stmt 615,14374
-struct estmt 662,15111
-       estmt(estmt::estmt669,15303
-struct ifstmt 672,15379
-       ifstmt(ifstmt::ifstmt676,15484
-struct lstmt 680,15586
-       lstmt(lstmt::lstmt686,15650
-struct forstmt 689,15728
-       forstmt(forstmt::forstmt690,15759
-struct block 694,15880
-       block(block::block695,15919
-struct pair 703,16060
-       pair(pair::pair704,16096
-struct nlist 708,16173
-       void    add(nlist::add712,16230
-struct slist 718,16344
-               slist(slist::slist721,16385
-       void    add(slist::add722,16430
-struct elist 727,16521
-               elist(elist::elist730,16562
-       void    add(elist::add731,16607
-struct dcl_context 739,16739
-       void    stack(dcl_context::stack747,17023
-       void    unstack(dcl_context::unstack748,17064
-#define MAXCONT        751,17095
-const MIA 779,17690
-struct iline 780,17705
-#define FUDGE111 791,17985
-#define DB(831,18890
-#define DB(833,18920
-
 cp-src/burton.cpp,103
 ::dummy::dummy test::dummy1(1,0
 ::dummy::dummy test::dummy2(6,64
@@ -2659,19 +2204,6 @@ class MDiagArray2 78,2022
 #undef LTGT144,3874
 #define INSTANTIATE_MDIAGARRAY_FRIENDS(146,3887
 
-cp-src/Pctest.h,507
-#define PCTEST_H24,837
-    PctestActionValid,::PctestActionValid47,1286
-    PctestActionValidLasthop,::PctestActionValidLasthop49,1370
-    PctestActionFiltered,::PctestActionFiltered51,1481
-    PctestActionAbort  ::PctestActionAbort53,1566
-} PctestActionType;54,1616
-class Pctest 56,1637
-    Pctest(Pctest::Pctest59,1663
-    virtual ~Pctest(Pctest::~Pctest65,1813
-    virtual char *GetTargetName(Pctest::GetTargetName77,2171
-    virtual PctestActionType GetAction(Pctest::GetAction86,2555
-
 cp-src/Range.h,424
 #define octave_Range_h 24,765
 Range35,891
@@ -2916,63 +2448,6 @@ show(124,5458
 dialog_loop(219,9529
 test(252,10806
 
-erl-src/lines.erl,386
--define(BREAK66,2377
--define(dbg68,2437
-new(73,2565
-count(80,2686
-nth(87,2815
-append(104,3301
-replace(119,3816
-insert(138,4559
-insert_after(165,5501
-delete(192,6456
-convert_to_list(215,7110
-convert_from_list(220,7259
-replace_nth(229,7518
-insert_nth(234,7618
-insert_after_nth(239,7711
-delete_nth(244,7828
-split_at(252,8027
-balance_left(267,8451
-balance_right(282,8865
-
-erl-src/lists.erl,593
-member(21,663
-append(30,790
-reverse(48,1099
-nth(59,1310
-nthtail(64,1382
-prefix(73,1546
-suffix(83,1707
-last(92,1882
-seq(101,2058
-sum(109,2265
-duplicate(116,2432
-min(124,2628
-max(132,2837
-sublist(141,3083
-delete(152,3329
-sort(161,3483
-split_and_sort(165,3559
-merge(175,3811
-concat(190,4219
-thing_to_list(195,4300
-flatten(204,4606
-flat_length(222,5003
-keymember(239,5451
-keysearch(246,5609
-keydelete(253,5770
-keyreplace(260,5923
-keysort(266,6113
-split_and_keysort(270,6229
-keymerge(277,6504
-keymap(288,6851
-map(311,7829
-foldl(315,7919
-foldr(320,8037
-zf(325,8155
-
 f-src/entry.for,172
       LOGICAL FUNCTION PRTPKG 3,75
        ENTRY  SETPRT 194,3866
@@ -3045,193 +2520,6 @@ debian-bug.eldebian-bug190,7981
 tcpdump205,8566
 Links to interesting softwarelinks216,8893
 
-java-src/AWTEMul.java,4356
-public class AWTEventMulticaster 63,2111
-    protected 
AWTEventMulticaster(AWTEventMulticaster.AWTEventMulticaster77,2555
-    protected EventListener remove(AWTEventMulticaster.remove86,2820
-    public void componentResized(AWTEventMulticaster.componentResized102,3294
-    public void componentMoved(AWTEventMulticaster.componentMoved112,3626
-    public void componentShown(AWTEventMulticaster.componentShown122,3952
-    public void componentHidden(AWTEventMulticaster.componentHidden132,4280
-    public void componentAdded(AWTEventMulticaster.componentAdded142,4619
-    public void componentRemoved(AWTEventMulticaster.componentRemoved152,4959
-    public void focusGained(AWTEventMulticaster.focusGained162,5281
-    public void focusLost(AWTEventMulticaster.focusLost172,5572
-    public void keyTyped(AWTEventMulticaster.keyTyped182,5853
-    public void keyPressed(AWTEventMulticaster.keyPressed192,6129
-    public void keyReleased(AWTEventMulticaster.keyReleased202,6413
-    public void mouseClicked(AWTEventMulticaster.mouseClicked212,6704
-    public void mousePressed(AWTEventMulticaster.mousePressed222,7004
-    public void mouseReleased(AWTEventMulticaster.mouseReleased232,7306
-    public void mouseEntered(AWTEventMulticaster.mouseEntered242,7609
-    public void mouseExited(AWTEventMulticaster.mouseExited252,7907
-    public void mouseDragged(AWTEventMulticaster.mouseDragged262,8204
-    public void mouseMoved(AWTEventMulticaster.mouseMoved272,8512
-    public void windowOpened(AWTEventMulticaster.windowOpened282,8819
-    public void windowClosing(AWTEventMulticaster.windowClosing292,9125
-    public void windowClosed(AWTEventMulticaster.windowClosed302,9432
-    public void windowIconified(AWTEventMulticaster.windowIconified312,9742
-    public void 
windowDeiconified(AWTEventMulticaster.windowDeiconified322,10064
-    public void windowActivated(AWTEventMulticaster.windowActivated332,10389
-    public void 
windowDeactivated(AWTEventMulticaster.windowDeactivated342,10712
-    public void actionPerformed(AWTEventMulticaster.actionPerformed352,11037
-    public void 
itemStateChanged(AWTEventMulticaster.itemStateChanged362,11356
-    public void 
adjustmentValueChanged(AWTEventMulticaster.adjustmentValueChanged372,11690
-    public void 
textValueChanged(AWTEventMulticaster.textValueChanged376,11874
-    public static ComponentListener add(AWTEventMulticaster.add387,12225
-    public static ContainerListener add(AWTEventMulticaster.add397,12571
-    public static FocusListener add(AWTEventMulticaster.add407,12901
-    public static KeyListener add(AWTEventMulticaster.add417,13207
-    public static MouseListener add(AWTEventMulticaster.add427,13513
-    public static MouseMotionListener add(AWTEventMulticaster.add437,13855
-    public static WindowListener add(AWTEventMulticaster.add447,14197
-    public static ActionListener add(AWTEventMulticaster.add457,14519
-    public static ItemListener add(AWTEventMulticaster.add467,14833
-    public static AdjustmentListener add(AWTEventMulticaster.add477,15163
-    public static TextListener add(AWTEventMulticaster.add480,15310
-    public static ComponentListener 
remove(AWTEventMulticaster.remove490,15664
-    public static ContainerListener 
remove(AWTEventMulticaster.remove500,16044
-    public static FocusListener remove(AWTEventMulticaster.remove510,16408
-    public static KeyListener remove(AWTEventMulticaster.remove520,16748
-    public static MouseListener remove(AWTEventMulticaster.remove530,17088
-    public static MouseMotionListener 
remove(AWTEventMulticaster.remove540,17465
-    public static WindowListener remove(AWTEventMulticaster.remove550,17841
-    public static ActionListener remove(AWTEventMulticaster.remove560,18197
-    public static ItemListener remove(AWTEventMulticaster.remove570,18545
-    public static AdjustmentListener 
remove(AWTEventMulticaster.remove580,18909
-    public static TextListener remove(AWTEventMulticaster.remove583,19062
-    protected static EventListener 
addInternal(AWTEventMulticaster.addInternal597,19608
-    protected static EventListener 
removeInternal(AWTEventMulticaster.removeInternal614,20244
-    protected void saveInternal(AWTEventMulticaster.saveInternal628,20582
-    static void save(AWTEventMulticaster.save646,21131
-
-java-src/KeyEve.java,698
-public class KeyEvent 36,1075
-    public KeyEvent(KeyEvent.KeyEvent234,9912
-    public KeyEvent(KeyEvent.KeyEvent252,10510
-    public int getKeyCode(KeyEvent.getKeyCode261,10836
-    public void setKeyCode(KeyEvent.setKeyCode265,10897
-    public void setKeyChar(KeyEvent.setKeyChar269,10978
-    public void setModifiers(KeyEvent.setModifiers273,11060
-    public char getKeyChar(KeyEvent.getKeyChar282,11331
-    public static String getKeyText(KeyEvent.getKeyText290,11561
-    public static String 
getKeyModifiersText(KeyEvent.getKeyModifiersText377,16662
-    public boolean isActionKey(KeyEvent.isActionKey403,17618
-    public String paramString(KeyEvent.paramString407,17704
-
-java-src/SMan.java,5099
-class SecurityManager 80,3387
-    public boolean getInCheck(SecurityManager.getInCheck101,4075
-    protected SecurityManager(SecurityManager.SecurityManager114,4497
-    protected Class 
currentLoadedClass(SecurityManager.currentLoadedClass149,5707
-    protected boolean inClass(SecurityManager.inClass184,7034
-    protected boolean inClassLoader(SecurityManager.inClassLoader196,7372
-    public Object 
getSecurityContext(SecurityManager.getSecurityContext221,8485
-    public void 
checkCreateClassLoader(SecurityManager.checkCreateClassLoader238,9069
-    public void checkAccess(SecurityManager.checkAccess268,10298
-    public void checkAccess(SecurityManager.checkAccess298,11632
-    public void checkExit(SecurityManager.checkExit323,12649
-    public void checkExec(SecurityManager.checkExec349,13734
-    public void checkLink(SecurityManager.checkLink375,14813
-    public void checkRead(SecurityManager.checkRead394,15485
-    public void checkRead(SecurityManager.checkRead412,16111
-    public void checkRead(SecurityManager.checkRead434,17017
-    public void checkWrite(SecurityManager.checkWrite453,17706
-    public void checkWrite(SecurityManager.checkWrite471,18337
-    public void checkDelete(SecurityManager.checkDelete493,19165
-    public void checkConnect(SecurityManager.checkConnect517,20119
-    public void checkConnect(SecurityManager.checkConnect543,21254
-    public void checkListen(SecurityManager.checkListen561,21910
-    public void checkAccept(SecurityManager.checkAccept585,22887
-    public void checkMulticast(SecurityManager.checkMulticast597,23272
-    public void checkMulticast(SecurityManager.checkMulticast610,23732
-    public void 
checkPropertiesAccess(SecurityManager.checkPropertiesAccess632,24609
-    public void 
checkPropertyAccess(SecurityManager.checkPropertyAccess654,25449
-    public boolean 
checkTopLevelWindow(SecurityManager.checkTopLevelWindow680,26580
-    public void 
checkPrintJobAccess(SecurityManager.checkPrintJobAccess689,26763
-    public void 
checkSystemClipboardAccess(SecurityManager.checkSystemClipboardAccess698,26958
-    public void 
checkAwtEventQueueAccess(SecurityManager.checkAwtEventQueueAccess707,27159
-    public void 
checkPackageAccess(SecurityManager.checkPackageAccess729,27966
-    public void 
checkPackageDefinition(SecurityManager.checkPackageDefinition751,28803
-    public void checkSetFactory(SecurityManager.checkSetFactory775,29929
-    public void checkMemberAccess(SecurityManager.checkMemberAccess786,30209
-    public void 
checkSecurityAccess(SecurityManager.checkSecurityAccess796,30430
-    public ThreadGroup getThreadGroup(SecurityManager.getThreadGroup811,30923
-class NullSecurityManager 817,31025
-    public void 
checkCreateClassLoader(NullSecurityManager.checkCreateClassLoader818,31077
-    public void checkAccess(NullSecurityManager.checkAccess819,31123
-    public void checkAccess(NullSecurityManager.checkAccess820,31165
-    public void checkExit(NullSecurityManager.checkExit821,31212
-    public void checkExec(NullSecurityManager.checkExec822,31254
-    public void checkLink(NullSecurityManager.checkLink823,31296
-    public void checkRead(NullSecurityManager.checkRead824,31338
-    public void checkRead(NullSecurityManager.checkRead825,31387
-    public void checkRead(NullSecurityManager.checkRead826,31430
-    public void checkWrite(NullSecurityManager.checkWrite827,31489
-    public void checkWrite(NullSecurityManager.checkWrite828,31539
-    public void checkDelete(NullSecurityManager.checkDelete829,31583
-    public void checkConnect(NullSecurityManager.checkConnect830,31628
-    public void checkConnect(NullSecurityManager.checkConnect831,31684
-    public void checkListen(NullSecurityManager.checkListen832,31756
-    public void checkAccept(NullSecurityManager.checkAccept833,31798
-    public void checkMulticast(NullSecurityManager.checkMulticast834,31853
-    public void checkMulticast(NullSecurityManager.checkMulticast835,31907
-    public void 
checkPropertiesAccess(NullSecurityManager.checkPropertiesAccess836,31971
-    public void 
checkPropertyAccess(NullSecurityManager.checkPropertyAccess837,32015
-    public void 
checkPropertyAccess(NullSecurityManager.checkPropertyAccess838,32067
-    public boolean 
checkTopLevelWindow(NullSecurityManager.checkTopLevelWindow839,32131
-    public void 
checkPrintJobAccess(NullSecurityManager.checkPrintJobAccess840,32202
-    public void 
checkSystemClipboardAccess(NullSecurityManager.checkSystemClipboardAccess841,32244
-    public void 
checkAwtEventQueueAccess(NullSecurityManager.checkAwtEventQueueAccess842,32293
-    public void 
checkPackageAccess(NullSecurityManager.checkPackageAccess843,32340
-    public void 
checkPackageDefinition(NullSecurityManager.checkPackageDefinition844,32391
-    public void checkSetFactory(NullSecurityManager.checkSetFactory845,32446
-    public void 
checkMemberAccess(NullSecurityManager.checkMemberAccess846,32484
-    public void 
checkSecurityAccess(NullSecurityManager.checkSecurityAccess847,32546
-
-java-src/SysCol.java,295
-public final class SystemColor 37,1402
-    private static void 
updateSystemColors(SystemColor.updateSystemColors349,10617
-    private SystemColor(SystemColor.SystemColor357,10885
-    public int getRGB(SystemColor.getRGB370,11245
-    public String toString(SystemColor.toString377,11388
-
-java-src/TG.java,2041
-class ThreadGroup 54,2104
-    private ThreadGroup(ThreadGroup.ThreadGroup72,2495
-    public ThreadGroup(ThreadGroup.ThreadGroup84,2848
-    public ThreadGroup(ThreadGroup.ThreadGroup105,3714
-    public final String getName(ThreadGroup.getName124,4189
-    public final ThreadGroup getParent(ThreadGroup.getParent135,4492
-    public final int getMaxPriority(ThreadGroup.getMaxPriority148,4867
-    public final boolean isDaemon(ThreadGroup.isDaemon161,5305
-    public synchronized boolean isDestroyed(ThreadGroup.isDestroyed170,5470
-    public final void setDaemon(ThreadGroup.setDaemon192,6368
-    public final void setMaxPriority(ThreadGroup.setMaxPriority213,7110
-    public final boolean parentOf(ThreadGroup.parentOf246,8106
-    public final void checkAccess(ThreadGroup.checkAccess268,8834
-    public int activeCount(ThreadGroup.activeCount283,9286
-    public int enumerate(ThreadGroup.enumerate322,10497
-    public int enumerate(ThreadGroup.enumerate344,11481
-    private int enumerate(ThreadGroup.enumerate348,11584
-    public int activeGroupCount(ThreadGroup.activeGroupCount389,12588
-    public int enumerate(ThreadGroup.enumerate425,13727
-    public int enumerate(ThreadGroup.enumerate445,14595
-    private int enumerate(ThreadGroup.enumerate449,14703
-    public final void stop(ThreadGroup.stop499,16212
-    public final void suspend(ThreadGroup.suspend537,17477
-    public final void resume(ThreadGroup.resume575,18749
-    public final void destroy(ThreadGroup.destroy607,19779
-    private final void add(ThreadGroup.add643,20704
-    private void remove(ThreadGroup.remove668,21402
-    void add(ThreadGroup.add697,22142
-    void remove(ThreadGroup.remove722,22808
-    public void list(ThreadGroup.list751,23503
-    void list(ThreadGroup.list754,23556
-    public void uncaughtException(ThreadGroup.uncaughtException810,25512
-    public boolean 
allowThreadSuspension(ThreadGroup.allowThreadSuspension823,25823
-    public String toString(ThreadGroup.toString837,26142
-
 lua-src/allegro.lua,400
 local function get_layer_by_name 7,175
 local function count_layers 33,621
@@ -3557,292 +2845,6 @@ sub f6 Foo::Bar::f628,244
 package main;32,278
 sub f7 main::f734,293
 
-perl-src/mirror.pl,13410
-sub msg_versionmain::msg_version459,18271
-       local( $arg )( $arg 468,18582
-               local( $flag, $p )( $flag, $p 480,18757
-               local( $site_path )( $site_path 525,19687
-                       local( $site, $path )( $site, $path 539,19958
-               local( $key_val )( $key_val 578,20743
-               local( $user )( $user 595,21097
-               local( $c )( $c 634,21853
-                       local( $sec,$min,$hour,$mday,$mon,$year,( 
$sec,$min,$hour,$mday,$mon,$year,678,22807
-       local( $c )( $c 706,23393
-       local( $dir, $mp )( $dir, $mp 723,23695
-               local( $f )( $f 725,23740
-sub interpret_config_filesmain::interpret_config_files756,24304
-       local( $fname )( $fname 758,24333
-sub interpret_configmain::interpret_config785,24927
-sub parse_linemain::parse_line827,25710
-       local( $eqpl )( $eqpl 829,25727
-       local( $cont )( $cont 830,25744
-                       local( $v )( $v 839,26029
-sub set_defaultsmain::set_defaults860,26448
-sub command_line_overridemain::command_line_override868,26579
-       local( $key, $val, $overrides )( $key, $val, $overrides 870,26607
-sub set_variablesmain::set_variables894,27072
-       local( $key, $val )( $key, $val 896,27092
-                       local( $val_name )( $val_name 902,27259
-               local( $val )( $val 953,28825
-sub upd_valmain::upd_val962,28974
-       local( $key )( $key 964,28988
-sub pr_variablesmain::pr_variables970,29083
-       local( $msg )( $msg 972,29102
-       local( $nle )( $nle 973,29123
-       local( $out )( $out 974,29144
-       local( $key, $val, $str )( $key, $val, $str 975,29164
-sub do_mirrormain::do_mirror1007,29923
-       local( $get_one_package )( $get_one_package 1009,29939
-       local( $exit_status )( $exit_status 1030,30384
-                       local( @t )( @t 1154,33165
-       local( $con )( $con 1241,35499
-               local( @rhelp )( @rhelp 1289,36702
-       local( @sub_dirs )( @sub_dirs 1329,37778
-       local( $now )( $now 1493,41348
-               local( $arg )( $arg 1506,41774
-sub disconnectmain::disconnect1528,42250
-sub connectmain::connect1546,42576
-       local( $attempts )( $attempts 1548,42590
-       local( $res )( $res 1549,42642
-sub prodmain::prod1573,43156
-sub checkout_regexpsmain::checkout_regexps1585,43327
-       local( $ret )( $ret 1587,43350
-       local( $t )( $t 1589,43395
-               local( $val )( $val 1597,43701
-                       local( $err )( $err 1601,43786
-sub clear_localmain::clear_local1610,43909
-sub clear_remotemain::clear_remote1625,44172
-sub get_local_directory_detailsmain::get_local_directory_details1640,44445
-       local( @dirs, $dir )( @dirs, $dir 1642,44479
-       local( $last_prodded )( $last_prodded 1643,44502
-       local( $dir_level )( $dir_level 1691,45615
-       local( $i )( $i 1692,45641
-       local( $path, $time, $size, $type, $mode, $name, $isdir, $value, 
$follow )( $path, $time, $size, $type, $mode, $name, $isdir, $value, $follow 
1693,45659
-       local( $dev,$ino,$fmode,$nlink,$uid,$gid,$rdev,$ssize,( 
$dev,$ino,$fmode,$nlink,$uid,$gid,$rdev,$ssize,1694,45736
-                       local( $mapi )( $mapi 1763,47586
-sub get_remote_directory_detailsmain::get_remote_directory_details1789,48122
-       local( $type_changed )( $type_changed 1791,48157
-       local( $udirtmp )( $udirtmp 1792,48186
-       local( $storename )( $storename 1793,48206
-       local( $rls )( $rls 1825,48944
-               local( $dirtmp )( $dirtmp 1830,49002
-               local( $unsquish )( $unsquish 1832,49130
-                       local( $f )( $f 1840,49360
-               local( $dirtmp )( $dirtmp 1859,49866
-               local( $unsquish )( $unsquish 1870,50215
-                       local( $f, $uf )( $f, $uf 1878,50445
-               local( $flags )( $flags 1912,51259
-       local( $parse_state )( $parse_state 1946,52111
-                       local( $msg )( $msg 1963,52486
-sub patch_ls_lR_filemain::patch_ls_lR_file1984,52955
-       local( $f, $fr, $flb, $flt, $flp, $flz, $frb, $frt )( $f, $fr, $flb, 
$flt, $flp, $flz, $frb, $frt 1990,53055
-       local( $to , $tn )( $to , $tn 1991,53110
-       local( $tlb )( $tlb 1995,53225
-               local( $p, $s, $trz, $t, $m )( $p, $s, $trz, $t, $m 2030,54182
-               local( $tlz )( $tlz 2037,54467
-sub parse_timeoutmain::parse_timeout2089,55670
-sub parse_remote_detailsmain::parse_remote_details2095,55754
-       local( $ret )( $ret 2097,55781
-       local( $old_sig )( $old_sig 2098,55797
-sub parse_remote_details_realmain::parse_remote_details_real2125,56234
-       local( $path, $size, $time, $type, $mode, $rdir, $rcwd )( $path, 
$size, $time, $type, $mode, $rdir, $rcwd 2127,56266
-       local( @dir_list )( @dir_list 2128,56325
-       local( $i )( $i 2129,56346
-       local( $old_path )( $old_path 2130,56364
-                               local( $old_path )( $old_path 2143,56630
-                               local( $ri )( $ri 2203,58078
-                       local( $mapi )( $mapi 2214,58335
-                       local( $done )( $done 2239,58911
-sub compare_dirsmain::compare_dirs2283,59825
-       local( *src_paths,( *src_paths,2286,59915
-       local( $src_path, $dest_path, $i )( $src_path, $dest_path, $i 
2293,60099
-       local( $last_prodded )( $last_prodded 2294,60136
-       local( $desti, $srci, $compress, $srciZ, $srcigz, $split, 
$dest_path_real )( $desti, $srci, $compress, $srciZ, $srcigz, $split, 
$dest_path_real 2299,60350
-       local( $old_dest_path, $existing_path, $tmp, $restart )( 
$old_dest_path, $existing_path, $tmp, $restart 2300,60428
-       local( $sp, $dp )( $sp, $dp 2301,60486
-                  local( $real, $reali, $reali1 )( $real, $reali, $reali1 
2352,62034
-                  local( $count )( $count 2353,62072
-                       local( $value )( $value 2408,63996
-                       local( $real )( $real 2409,64028
-                       local( $reali )( $reali 2410,64086
-                               local( $old )( $old 2421,64571
-                       local( $old_dest_path )( $old_dest_path 2432,64842
-                               local( $dpp, $dps )( $dpp, $dps 2509,67031
-               local( $update )( $update 2534,67671
-sub map_namemain::map_name2651,71028
-       local( $name )( $name 2653,71043
-               local( $old_name )( $old_name 2656,71089
-               local( $tmp )( $tmp 2666,71252
-sub set_timestampsmain::set_timestamps2675,71362
-       local( $src_path )( $src_path 2677,71383
-       local( $dest_path, $dest_loc_mapi, $src_rem_mapi,  $rtime )( 
$dest_path, $dest_loc_mapi, $src_rem_mapi,  $rtime 2685,71517
-sub set_timestampmain::set_timestamp2699,71901
-       local( $path, $time )( $path, $time 2701,71921
-       local( $pr_time )( $pr_time 2703,71953
-sub make_dirsmain::make_dirs2719,72284
-       local( $thing )( $thing 2721,72300
-sub make_symlinksmain::make_symlinks2736,72489
-       local( $thing )( $thing 2738,72509
-               local( $dest, $existing )( $dest, $existing 2745,72623
-               local( $dirpart )( $dirpart 2746,72663
-               local( $ft )( $ft 2747,72704
-               local( $p )( $p 2762,73261
-                       local( $f )( $f 2770,73467
-                       local( $dl )( $dl 2788,74038
-sub do_all_transfersmain::do_all_transfers2806,74439
-       local( $src_path )( $src_path 2808,74462
-       local( $dest_path, $attribs )( $dest_path, $attribs 2809,74483
-       local( $srci )( $srci 2810,74515
-               local( $newpath )( $newpath 2838,75124
-sub transfer_filemain::transfer_file2869,75847
-       local( $src_path, $dest_path, $attribs, $timestamp )( $src_path, 
$dest_path, $attribs, $timestamp 2871,75867
-       local( $dir, $file, $temp, $compress, $split, $restart, $mesg, 
$got_mesg )( $dir, $file, $temp, $compress, $split, $restart, $mesg, $got_mesg 
2872,75927
-               local( $src_file )( $src_file 2915,76782
-               local( $comptemp )( $comptemp 2916,76816
-                       local( $f )( $f 2921,76964
-               local($filesize)($filesize2944,77569
-                       local( $ti )( $ti 2975,78401
-               local( $f )( $f 2997,78887
-               local( $comp )( $comp 2998,78912
-       local( $filesize )( $filesize 3015,79427
-       local( $sizemsg )( $sizemsg 3016,79469
-       local( $srcsize )( $srcsize 3017,79501
-               local( $time )( $time 3029,79865
-       local( $as )( $as 3046,80223
-       local( $locali )( $locali 3054,80499
-sub filename_to_tempnamemain::filename_to_tempname3062,80713
-       local( $dir, $file )( $dir, $file 3064,80740
-       local ( $dest_path )( $dest_path 3066,80769
-sub log_uploadmain::log_upload3090,81228
-       local( $src_path, $dest_path, $got_mesg, $size )( $src_path, 
$dest_path, $got_mesg, $size 3092,81245
-sub do_deletesmain::do_deletes3118,81773
-       local( *src_paths,( *src_paths,3121,81861
-       local( $files_to_go, $dirs_to_go )( $files_to_go, $dirs_to_go 
3125,81960
-       local( $src_path, $i )( $src_path, $i 3131,82055
-       local( $orig_do_deletes )( $orig_do_deletes 3132,82080
-       local( $orig_save_deletes )( $orig_save_deletes 3133,82122
-       local( $del_patt )( $del_patt 3135,82169
-               local( $per )( $per 3162,82843
-               local( $per )( $per 3184,83513
-                       local( $save_dir_tail )( $save_dir_tail 3226,84617
-sub save_deletemain::save_delete3245,85019
-       local( $save, $kind )( $save, $kind 3247,85037
-       local( $real_save_dir, $save_dest )( $real_save_dir, $save_dest 
3249,85067
-       local( $dirname )( $dirname 3284,85704
-sub save_mkdirmain::save_mkdir3304,86155
-       local( $dir )( $dir 3306,86172
-sub do_deletemain::do_delete3320,86459
-       local( $del, $kind )( $del, $kind 3322,86475
-sub filesizemain::filesize3377,87532
-       local( $fname )( $fname 3379,87547
-sub istruemain::istrue3390,87654
-       local( $val )( $val 3392,87667
-sub mksymlinkmain::mksymlink3398,87773
-       local( $dest_path, $existing_path )( $dest_path, $existing_path 
3400,87789
-               local( $msg )( $msg 3417,88246
-               local( $msg )( $msg 3431,88590
-               local( $status )( $status 3442,88816
-sub mkdirsmain::mkdirs3457,89196
-       local( $dir )( $dir 3459,89209
-       local( @dir, $d, $path )( @dir, $d, $path 3460,89230
-sub make_dirmain::make_dir3497,90042
-       local( $dir, $mode )( $dir, $mode 3499,90057
-       local( $val )( $val 3500,90085
-sub dir_existsmain::dir_exists3528,90573
-       local( $dir )( $dir 3530,90590
-       local( $val )( $val 3531,90611
-               local($old_dir)($old_dir3539,90750
-sub set_attribsmain::set_attribs3553,91053
-       local( $path, $src_path, $type )( $path, $src_path, $type 3555,91071
-       local( $mode )( $mode 3556,91111
-               local( $pathi )( $pathi 3564,91229
-               local( $pathi )( $pathi 3568,91320
-sub get_passwdmain::get_passwd3606,91977
-       local( $user )( $user 3608,91994
-       local( $pass )( $pass 3609,92016
-       local( $| )( $| 3610,92033
-sub compare_timesmain::compare_times3631,92384
-       local( $t1, $t2 )( $t1, $t2 3637,92564
-       local( $diff )( $diff 3638,92589
-sub create_assocsmain::create_assocs3643,92688
-       local( $map )( $map 3645,92708
-sub delete_assocsmain::delete_assocs3657,92957
-       local( $map )( $map 3659,92977
-sub unlink_dbmmain::unlink_dbm3671,93247
-       local( $file )( $file 3673,93264
-sub bsplitmain::bsplit3681,93462
-       local( $temp, $dest_path, $time )( $temp, $dest_path, $time 3683,93475
-       local( $dest_dir )( $dest_dir 3684,93516
-       local( $bufsiz )( $bufsiz 3685,93558
-       local( $buffer, $in, $sofar )( $buffer, $in, $sofar 3686,93583
-       local( $d )( $d 3691,93721
-       local( $index )( $index 3697,93840
-       local( $part )( $part 3698,93865
-                       local( $locali )( $locali 3714,94336
-       local( $readme )( $readme 3730,94740
-sub sysmain::sys3739,95116
-       local( $com )( $com 3741,95126
-sub set_assoc_from_arraymain::set_assoc_from_array3751,95355
-       local( *things )( *things 3754,95453
-sub find_progmain::find_prog3760,95537
-       local( $prog )( $prog 3762,95553
-       local( $path )( $path 3763,95575
-               local( $path )( $path 3766,95657
-sub real_dir_from_pathmain::real_dir_from_path3780,95842
-       local( $program )( $program 3782,95867
-       local( @prog_path )( @prog_path 3783,95892
-       local( $dir )( $dir 3784,95970
-sub msgmain::msg3807,96489
-       local( $todo, $msg )( $todo, $msg 3809,96499
-sub to_bytesmain::to_bytes3838,96979
-       local( $size )( $size 3840,96994
-sub unix2vmsmain::unix2vms3858,97332
-       local( $v, $kind )( $v, $kind 3860,97347
-                       local( $dir, $rest )( $dir, $rest 3873,97559
-sub dirpartmain::dirpart3886,97730
-       local( $path )( $path 3888,97744
-sub expand_symlinkmain::expand_symlink3902,98076
-       local( $orig_path, $points_to )( $orig_path, $points_to 3904,98097
-       local( $dirpart )( $dirpart 3905,98136
-sub flatten_pathmain::flatten_path3913,98365
-       local( $path )( $path 3915,98384
-       local( $changed )( $changed 3916,98406
-       local( $i )( $i 3917,98430
-       local( $rooted )( $rooted 3919,98446
-       local( $count )( $count 3920,98482
-       local( $orig_path )( $orig_path 3921,98504
-               local( $in )( $in 3932,98741
-               local( @parts )( @parts 3933,98765
-sub fix_packagemain::fix_package3963,99438
-       local( $package )( $package 3965,99456
-sub will_compressmain::will_compress3970,99529
-sub will_splitmain::will_split3981,99859
-sub myflockmain::myflock3989,100001
-       local( $file, $kind )( $file, $kind 3991,100015
-sub t2strmain::t2str4004,100221
-       local( @t )( @t 4006,100233
-       
local($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst4013,100335
-sub handlermain::handler4022,100583
-        local( $sig )( $sig 4029,100651
-        local( $msg )( $msg 4030,100679
-        local( $package, $filename, $line )( $package, $filename, $line 
4031,100737
-sub trap_signalsmain::trap_signals4036,100859
-       local( $sig )( $sig 4038,100878
-sub map_user_groupmain::map_user_group4047,101158
-sub keepmain::keep4069,101537
-       local( $pathi, $path, *keep, *keep_totals, *keep_map, $kind )( $pathi, 
$path, *keep, *keep_totals, *keep_map, $kind 4071,101548
-sub alarmmain::alarm4104,102330
-       local( $time_to_sig )( $time_to_sig 4106,102342
-sub chownmain::chown4110,102405
-       local( $uid, $gid, $path )( $uid, $gid, $path 4112,102417
-sub utimemain::utime4116,102494
-       local( $atime, $mtime, $path )( $atime, $mtime, $path 4118,102506
-       local( $old_mode )( $old_mode 4124,102685
-       local( $tmp_mode )( $tmp_mode 4125,102730
-       local( $ret )( $ret 4126,102763
-sub cwdmain::cwd4135,102913
-       local( $lcwd )( $lcwd 4137,102923
-
 ps-src/rfc1245.ps,2478
 /FMversion 12,311
 /FrameDict 17,500
diff --git a/test/etags/ETAGS.good_5 b/test/etags/ETAGS.good_5
index 3291bf3..c7357d0 100644
--- a/test/etags/ETAGS.good_5
+++ b/test/etags/ETAGS.good_5
@@ -1,46 +1,45 @@
 
-Makefile,701
+Makefile,683
 ADASRC=1,0
 ASRC=2,91
 CSRC=3,139
 CPSRC=7,410
-ELSRC=10,624
-ERLSRC=11,694
-FORTHSRC=12,759
-FSRC=13,809
-HTMLSRC=14,881
-JAVASRC=15,974
-LUASRC=16,1062
-MAKESRC=17,1105
-OBJCSRC=18,1147
-OBJCPPSRC=19,1228
-PASSRC=20,1291
-PERLSRC=21,1333
-PHPSRC=22,1413
-PSSRC=23,1485
-PROLSRC=24,1525
-PYTSRC=25,1587
-TEXSRC=26,1628
-YSRC=27,1707
-SRCS=28,1772
-NONSRCS=32,2024
-ETAGS_PROG=34,2098
-CTAGS_PROG=35,2129
-REGEX=37,2161
-xx=38,2207
-RUN=40,2256
-OPTIONS=42,2262
-ARGS=43,2314
-infiles 45,2332
-check:check47,2394
-ediff%:ediff%55,2697
-cdiff:cdiff58,2798
-ETAGS:ETAGS61,2895
-CTAGS:CTAGS64,2965
-srclist:srclist67,3043
-regexfile:regexfile71,3134
-.PRECIOUS:.PRECIOUS77,3311
-FRC:FRC79,3345
+ELSRC=10,584
+ERLSRC=11,654
+FORTHSRC=12,699
+FSRC=13,749
+HTMLSRC=14,821
+LUASRC=16,950
+MAKESRC=17,993
+OBJCSRC=18,1035
+OBJCPPSRC=19,1116
+PASSRC=20,1179
+PERLSRC=21,1221
+PHPSRC=22,1291
+PSSRC=23,1363
+PROLSRC=24,1403
+PYTSRC=25,1465
+TEXSRC=26,1506
+YSRC=27,1585
+SRCS=28,1650
+NONSRCS=32,1902
+ETAGS_PROG=34,1976
+CTAGS_PROG=35,2007
+REGEX=37,2039
+xx=38,2085
+RUN=40,2134
+OPTIONS=42,2140
+ARGS=43,2192
+infiles 45,2210
+check:check47,2272
+ediff%:ediff%55,2575
+cdiff:cdiff58,2676
+ETAGS:ETAGS61,2773
+CTAGS:CTAGS64,2843
+srclist:srclist67,2921
+regexfile:regexfile71,3012
+.PRECIOUS:.PRECIOUS77,3189
+FRC:FRC79,3223
 
 ada-src/etags-test-for.ada,1969
    type LL_Task_Procedure_Access LL_Task_Procedure_Access/t1,0
@@ -2968,1370 +2967,6 @@ typedef int 
should_see_this_one_enclosed_in_extern_C;149,3155
 typedef int 
(*should_see_this_function_pointer)should_see_this_function_pointer153,3228
 typedef int should_see_this_array_type[should_see_this_array_type156,3310
 
-cp-src/abstract.C,11317
-Half_Container::Half_Container(34,703
-void Half_Container::SetPosition(45,941
-void Half_Container::SetDimensions(58,1259
-void Half_Container::SetFather(81,1697
-void Half_Container::SetCollapsed(87,1787
-Specification::Specification(98,1958
-void Specification::SetPosition(119,2453
-void Specification::SetDimensions(164,3742
-void Specification::SetFather(188,4616
-void Specification::SetPath(202,4908
-Coord Specification::GetMaxX(212,5125
-Coord Specification::GetMaxY(215,5174
-Process::Process(222,5298
-void Process::SetPosition(242,5697
-void Process::SetDimensions(291,6959
-void Process::SetFather(315,7913
-void Process::SetPath(326,8123
-Coord Process::GetMaxX(335,8323
-Coord Process::GetMaxY(338,8365
-Choice::Choice(346,8482
-void Choice::SetPosition(357,8698
-void Choice::SetDimensions(405,10053
-void Choice::ChangeH(466,12014
-void Choice::ChangeW(495,12947
-void Choice::SetFather(522,13700
-void Choice::SetTextual(532,13918
-void Choice::SetCollapsed(540,14041
-int Choice::Get_Textual_H(549,14168
-int Choice::Get_Textual_W(557,14408
-void Choice::SetTerminalPos(566,14615
-Stop::Stop(588,15087
-void Stop::SetPosition(595,15207
-void Stop::SetDimensions(605,15373
-void Stop::SetFather(644,16369
-void Stop::SetTextual(652,16537
-void Stop::SetCollapsed(655,16616
-Exit::Exit(667,16768
-void Exit::SetPosition(676,16935
-void Exit::SetDimensions(687,17164
-void Exit::SetFather(695,17350
-Exit_Bex::Exit_Bex(703,17476
-void Exit_Bex::SetPosition(713,17678
-void Exit_Bex::SetDimensions(740,18430
-void Exit_Bex::SetFather(798,20444
-void Exit_Bex::SetTextual(807,20646
-void Exit_Bex::SetCollapsed(814,20757
-NoExit::NoExit(826,20943
-void NoExit::SetPosition(835,21092
-void NoExit::SetDimensions(845,21266
-void NoExit::SetFather(852,21359
-ID_Place::ID_Place(861,21488
-void ID_Place::SetIdent(875,21745
-void ID_Place::SetPosition(886,21936
-void ID_Place::SetDimensions(897,22173
-void ID_Place::SetFather(928,23017
-ID_Place::~ID_Place(932,23073
-void ID_Place::SetVisible(935,23112
-void ID_Place::ClearID(941,23193
-ID_List::ID_List(953,23379
-void ID_List::SetPosition(967,23644
-void ID_List::SetDimensions(999,24385
-void ID_List::SetFather(1038,25456
-void ID_List::SetCollapsed(1047,25595
-void ID_List::HideMe(1056,25734
-void ID_List::SetRBubble(1065,25862
-void ID_List::SetAlignement(1073,25980
-int ID_List::GetCardinality(1082,26123
-void ID_List::SetVisible(1093,26291
-void ID_List::BuildSigSorts(1103,26518
-void ID_List::ClearIDs(1126,27081
-Id_Decl::Id_Decl(1139,27280
-void Id_Decl::SetPosition(1156,27659
-void Id_Decl::SetDimensions(1174,28016
-void Id_Decl::SetFather(1191,28417
-void Id_Decl::SetCollapsed(1200,28568
-Id_Decl_List::Id_Decl_List(1214,28799
-void Id_Decl_List::SetPosition(1227,29069
-void Id_Decl_List::SetDimensions(1245,29424
-void Id_Decl_List::SetFather(1262,29844
-void Id_Decl_List::SetCollapsed(1271,29988
-Comment::Comment(1286,30209
-void Comment::SetComment(1299,30446
-void Comment::SetFather(1317,30800
-void Comment::SetPosition(1321,30854
-void Comment::SetDimensions(1331,31031
-Comment::~Comment(1345,31265
-Comment_List::Comment_List(1352,31382
-void Comment_List::SetPosition(1362,31541
-void Comment_List::SetDimensions(1380,31860
-void Comment_List::SetFather(1392,32139
-Parallel::Parallel(1406,32360
-void Parallel::SetPosition(1417,32573
-void Parallel::SetDimensions(1473,34272
-void Parallel::SetTextual(1534,36167
-int Parallel::Get_Textual_W(1543,36313
-int Parallel::Get_Textual_H(1559,36722
-void Parallel::SetTerminalPos(1570,37191
-void Parallel::SetFather(1590,37698
-void Parallel::SetCollapsed(1601,37950
-Ident_Eq::Ident_Eq(1615,38177
-void Ident_Eq::SetPosition(1632,38546
-void Ident_Eq::SetDimensions(1647,38851
-void Ident_Eq::SetFather(1662,39191
-void Ident_Eq::SetCollapsed(1669,39295
-Ident_Eq_List::Ident_Eq_List(1681,39480
-void Ident_Eq_List::SetPosition(1694,39753
-void Ident_Eq_List::SetDimensions(1712,40111
-void Ident_Eq_List::SetCollapsed(1729,40538
-void Ident_Eq_List::SetFather(1738,40683
-Local_Def::Local_Def(1751,40904
-void Local_Def::SetPosition(1761,41102
-void Local_Def::SetDimensions(1791,41833
-void Local_Def::SetFather(1832,43262
-void Local_Def::SetCollapsed(1839,43370
-void Local_Def::SetTextual(1848,43504
-Hide::Hide(1860,43681
-void Hide::SetPosition(1871,43872
-void Hide::SetDimensions(1901,44569
-void Hide::SetFather(1944,45771
-void Hide::SetCollapsed(1951,45873
-void Hide::SetTextual(1961,46003
-Interl::Interl(1972,46175
-void Interl::SetPosition(1982,46361
-void Interl::SetDimensions(1993,46593
-void Interl::SetFather(2021,47103
-Syncr::Syncr(2031,47257
-void Syncr::SetPosition(2041,47438
-void Syncr::SetDimensions(2051,47609
-void Syncr::SetFather(2079,48153
-Enable::Enable(2090,48436
-void Enable::SetPosition(2102,48690
-void Enable::SetDimensions(2169,50473
-void Enable::SetTextual(2243,53017
-void Enable::SetTerminalPos(2251,53140
-int Enable::Get_Textual_W(2271,53720
-int Enable::Get_Textual_H(2282,53985
-void Enable::SetFather(2285,54104
-void Enable::SetCollapsed(2298,54418
-Disable::Disable(2314,54780
-void Disable::SetPosition(2325,55001
-void Disable::SetDimensions(2376,56251
-void Disable::SetFather(2436,58064
-void Disable::SetCollapsed(2446,58284
-void Disable::SetTextual(2455,58412
-void Disable::SetTerminalPos(2463,58536
-int Disable::Get_Textual_W(2479,58987
-int Disable::Get_Textual_H(2488,59190
-Gen_Paral::Gen_Paral(2500,59630
-void Gen_Paral::SetPosition(2513,59899
-void Gen_Paral::SetDimensions(2540,60659
-void Gen_Paral::SetFather(2590,62171
-void Gen_Paral::SetCollapsed(2597,62290
-Action_Pref::Action_Pref(2609,62583
-void Action_Pref::SetPosition(2620,62829
-void Action_Pref::SetDimensions(2669,63937
-void Action_Pref::SetFather(2724,65777
-void Action_Pref::SetCollapsed(2734,66010
-void Action_Pref::SetTextual(2743,66147
-Internal::Internal(2757,66484
-void Internal::SetPosition(2768,66658
-void Internal::SetDimensions(2778,66838
-void Internal::SetFather(2806,67442
-Communication::Communication(2816,67702
-void Communication::SetPosition(2827,67956
-void Communication::SetDimensions(2897,70390
-void Communication::SetFather(2935,71706
-void Communication::SetCollapsed(2942,71837
-void Communication::SetTextual(2949,71968
-NoGuard::NoGuard(2961,72262
-void NoGuard::SetPosition(2974,72462
-void NoGuard::SetDimensions(2984,72639
-void NoGuard::SetFather(2987,72678
-Guard::Guard(2996,72929
-void Guard::SetPosition(3008,73118
-void Guard::SetDimensions(3022,73428
-void Guard::SetFather(3044,73894
-void Guard::SetCollapsed(3050,73974
-NoExperiment::NoExperiment(3062,74258
-void NoExperiment::SetPosition(3075,74478
-void NoExperiment::SetDimensions(3085,74670
-void NoExperiment::SetFather(3088,74714
-Experiment::Experiment(3097,74978
-void Experiment::SetPosition(3110,75245
-void Experiment::SetDimensions(3128,75611
-void Experiment::SetFather(3150,76066
-void Experiment::SetCollapsed(3157,76188
-void Experiment::SetTextual(3165,76311
-Proc_Inst::Proc_Inst(3175,76476
-void Proc_Inst::SetPosition(3191,76777
-void Proc_Inst::SetDimensions(3236,77965
-void Proc_Inst::SetFather(3286,79596
-void Proc_Inst::SetCollapsed(3294,79739
-void Proc_Inst::SetTextual(3304,79909
-Value_Expr::Value_Expr(3316,80100
-void Value_Expr::SetPosition(3329,80327
-void Value_Expr::SetDimensions(3340,80572
-void Value_Expr::SetFather(3343,80614
-Value_Expr_List::Value_Expr_List(3351,80755
-void Value_Expr_List::SetPosition(3364,81042
-void Value_Expr_List::SetDimensions(3382,81406
-void Value_Expr_List::SetFather(3399,81830
-void Value_Expr_List::SetCollapsed(3408,81977
-Sum_Ident::Sum_Ident(3423,82203
-void Sum_Ident::SetPosition(3435,82445
-void Sum_Ident::SetDimensions(3466,83196
-void Sum_Ident::SetFather(3509,84540
-void Sum_Ident::SetCollapsed(3516,84653
-void Sum_Ident::SetTextual(3525,84793
-void Sum_Ident::SetTerminalPos(3532,84897
-Value::Value(3552,85432
-void Value::SetPosition(3569,85792
-void Value::SetDimensions(3583,86091
-void Value::SetFather(3606,86628
-void Value::SetCollapsed(3613,86731
-Term::Term(3626,86908
-void Term::SetPosition(3646,87323
-void Term::SetDimensions(3671,87942
-void Term::SetFather(3697,88599
-void Term::SetCollapsed(3705,88732
-Exit_Entry::Exit_Entry(3719,88947
-void Exit_Entry::SetPosition(3732,89176
-void Exit_Entry::SetDimensions(3743,89421
-void Exit_Entry::SetFather(3746,89463
-Exit_Entry_List::Exit_Entry_List(3754,89604
-void Exit_Entry_List::SetPosition(3766,89875
-void Exit_Entry_List::SetDimensions(3785,90304
-void Exit_Entry_List::SetFather(3802,90753
-void Exit_Entry_List::SetCollapsed(3811,90900
-Sum_Gate::Sum_Gate(3826,91125
-void Sum_Gate::SetPosition(3837,91363
-void Sum_Gate::SetDimensions(3873,92120
-void Sum_Gate::SetFather(3915,93438
-void Sum_Gate::SetCollapsed(3922,93549
-void Sum_Gate::SetTextual(3931,93687
-void Sum_Gate::SetTerminalPos(3938,93790
-Gate_Decl::Gate_Decl(3959,94421
-void Gate_Decl::SetPosition(3977,94900
-void Gate_Decl::SetDimensions(3995,95298
-void Gate_Decl::SetFather(4011,95694
-void Gate_Decl::SetCollapsed(4020,95871
-Gate_Decl_List::Gate_Decl_List(4034,96130
-void Gate_Decl_List::SetPosition(4047,96414
-void Gate_Decl_List::SetDimensions(4065,96779
-void Gate_Decl_List::SetFather(4082,97207
-void Gate_Decl_List::SetCollapsed(4091,97353
-Par::Par(4106,97572
-void Par::SetPosition(4126,97957
-void Par::SetDimensions(4174,99236
-void Par::SetFather(4226,100814
-void Par::SetCollapsed(4234,100943
-void Par::SetTextual(4245,101100
-Sort_Id_Exit::Sort_Id_Exit(4258,101329
-void Sort_Id_Exit::SetPosition(4270,101556
-void Sort_Id_Exit::SetDimensions(4283,101834
-void Sort_Id_Exit::SetFather(4297,102142
-void Sort_Id_Exit::SetCollapsed(4303,102228
-Equality::Equality(4314,102512
-Equality::Equality(4327,102736
-void Equality::SetPosition(4340,102987
-void Equality::SetDimensions(4357,103329
-void Equality::SetFather(4377,103720
-void Equality::SetCollapsed(4387,103858
-Guarded::Guarded(4401,104167
-void Guarded::SetPosition(4413,104384
-void Guarded::SetDimensions(4441,105084
-void Guarded::SetFather(4482,106273
-void Guarded::SetCollapsed(4489,106377
-void Guarded::SetTextual(4499,106509
-Exper_Off::Exper_Off(4510,106813
-void Exper_Off::SetPosition(4523,107035
-void Exper_Off::SetDimensions(4533,107220
-void Exper_Off::SetFather(4536,107261
-Exper_Off_List::Exper_Off_List(4544,107521
-void Exper_Off_List::SetPosition(4557,107802
-void Exper_Off_List::SetDimensions(4575,108167
-void Exper_Off_List::SetFather(4592,108594
-void Exper_Off_List::SetCollapsed(4601,108740
-Exclam::Exclam(4616,109087
-void Exclam::SetPosition(4629,109300
-void Exclam::SetDimensions(4641,109541
-void Exclam::SetFather(4655,109830
-void Exclam::SetCollapsed(4661,109912
-Query::Query(4673,110194
-void Query::SetPosition(4686,110399
-void Query::SetDimensions(4698,110636
-void Query::SetFather(4712,110918
-void Query::SetCollapsed(4718,110997
-Definition::Definition(4729,111279
-void Definition::SetPosition(4741,111448
-void Definition::SetDimensions(4752,111658
-void Definition::SetFather(4766,111896
-void Definition::SetPath(4777,112089
-Proc_List::Proc_List(4790,112374
-void Proc_List::SetPosition(4799,112505
-void Proc_List::SetDimensions(4809,112686
-void Proc_List::SetFather(4815,112767
-void Proc_List::SetPath(4824,112908
-char *Proc_List::GetPath(Proc_List::GetPath4832,113068
-
-cp-src/abstract.H,25321
-#define abstract_hh16,453
-class SignatureSorts;21,513
-class ID_Place:ID_Place23,536
-       char *str;ID_Place::str25,571
-       char RBubble;ID_Place::RBubble26,583
- ID_Place(ID_Place::ID_Place31,637
- void  SetIdent(ID_Place::SetIdent32,650
- void SetPosition(ID_Place::SetPosition33,675
- void SetDimensions(ID_Place::SetDimensions34,708
- void SetVisible(ID_Place::SetVisible35,735
- void SetFather(ID_Place::SetFather36,759
- void ClearID(ID_Place::ClearID37,789
- virtual ~ID_Place(ID_Place::~ID_Place38,810
- char *GetIdent(ID_Place::GetIdent41,857
- void SetRBubble(ID_Place::SetRBubble42,891
- char GetRBubble(ID_Place::GetRBubble43,934
-class ID_List:ID_List47,1012
-       ID_Place *elem;ID_List::elem49,1046
-       ID_List *next;ID_List::next50,1063
- ID_List(ID_List::ID_List57,1134
- void SetPosition(ID_List::SetPosition58,1167
- void SetDimensions(ID_List::SetDimensions59,1200
- void SetFather(ID_List::SetFather60,1227
- ID_Place *GetElem(ID_List::GetElem61,1257
- void HideMe(ID_List::HideMe62,1279
- void SetCollapsed(ID_List::SetCollapsed63,1299
- void SetRBubble(ID_List::SetRBubble64,1325
- void BuildSigSorts(ID_List::BuildSigSorts65,1349
- void SetVisible(ID_List::SetVisible66,1409
- void SetAlignement(ID_List::SetAlignement67,1433
- void ClearIDs(ID_List::ClearIDs68,1460
- int GetCardinality(ID_List::GetCardinality69,1482
-class Id_Decl:Id_Decl73,1540
-       ID_List *id_list;Id_Decl::id_list75,1574
-       ID_Place *sort_id;Id_Decl::sort_id76,1593
- Id_Decl(Id_Decl::Id_Decl81,1648
- void SetPosition(Id_Decl::SetPosition82,1681
- void SetDimensions(Id_Decl::SetDimensions83,1714
- void SetFather(Id_Decl::SetFather84,1741
- void SetCollapsed(Id_Decl::SetCollapsed85,1771
-class Id_Decl_List:Id_Decl_List89,1829
-       Id_Decl *elem;Id_Decl_List::elem91,1868
-       Id_Decl_List *next;Id_Decl_List::next92,1884
- Id_Decl_List(Id_Decl_List::Id_Decl_List97,1945
- void SetPosition(Id_Decl_List::SetPosition98,1987
- void SetDimensions(Id_Decl_List::SetDimensions99,2020
- void SetFather(Id_Decl_List::SetFather100,2047
- void SetCollapsed(Id_Decl_List::SetCollapsed101,2077
-class Comment:Comment105,2140
-       char *comm;Comment::comm107,2174
- Comment(Comment::Comment112,2222
- Comment(Comment::Comment113,2234
- void SetComment(Comment::SetComment114,2271
- void SetPosition(Comment::SetPosition115,2297
- void SetDimensions(Comment::SetDimensions116,2330
- void SetFather(Comment::SetFather117,2357
- virtual ~Comment(Comment::~Comment118,2387
-class Comment_List:Comment_List122,2440
-       Comment *elem;Comment_List::elem124,2479
-       Comment_List *next;Comment_List::next125,2495
- Comment_List(Comment_List::Comment_List128,2525
- void SetPosition(Comment_List::SetPosition129,2567
- void SetDimensions(Comment_List::SetDimensions130,2600
- void SetFather(Comment_List::SetFather131,2627
-class Value_Expr:Value_Expr135,2694
- Value_Expr(Value_Expr::Value_Expr141,2769
- void SetPosition(Value_Expr::SetPosition142,2784
- void SetDimensions(Value_Expr::SetDimensions143,2817
- void SetFather(Value_Expr::SetFather144,2844
-class Value_Expr_List:Value_Expr_List149,2911
-       Tree_Node *elem;Value_Expr_List::elem151,2953
-       Value_Expr_List *next;Value_Expr_List::next152,2971
- Value_Expr_List(Value_Expr_List::Value_Expr_List157,3038
- void SetPosition(Value_Expr_List::SetPosition158,3088
- void SetDimensions(Value_Expr_List::SetDimensions159,3121
- void SetFather(Value_Expr_List::SetFather160,3148
- void SetCollapsed(Value_Expr_List::SetCollapsed161,3178
-class Exit_Entry:Exit_Entry165,3244
- Exit_Entry(Exit_Entry::Exit_Entry171,3319
- void SetPosition(Exit_Entry::SetPosition172,3334
- void SetDimensions(Exit_Entry::SetDimensions173,3367
- void SetFather(Exit_Entry::SetFather174,3394
-class Exit_Entry_List:Exit_Entry_List179,3460
-       Tree_Node *elem;Exit_Entry_List::elem181,3502
-       Exit_Entry_List *next;Exit_Entry_List::next182,3520
- Exit_Entry_List(Exit_Entry_List::Exit_Entry_List187,3587
- void SetPosition(Exit_Entry_List::SetPosition188,3637
- void SetDimensions(Exit_Entry_List::SetDimensions189,3670
- void SetFather(Exit_Entry_List::SetFather190,3697
- void SetCollapsed(Exit_Entry_List::SetCollapsed191,3727
-class Exper_Off:Exper_Off195,3793
- Exper_Off(Exper_Off::Exper_Off199,3838
- void SetPosition(Exper_Off::SetPosition200,3852
- void SetDimensions(Exper_Off::SetDimensions201,3885
- void SetFather(Exper_Off::SetFather202,3912
-class Exper_Off_List:Exper_Off_List207,3977
-        Exper_Off *elem;Exper_Off_List::elem209,4018
-        Exper_Off_List *next;Exper_Off_List::next210,4043
- Exper_Off_List(Exper_Off_List::Exper_Off_List215,4115
- void SetPosition(Exper_Off_List::SetPosition216,4163
- void SetDimensions(Exper_Off_List::SetDimensions217,4196
- void SetFather(Exper_Off_List::SetFather218,4223
- void SetCollapsed(Exper_Off_List::SetCollapsed219,4253
-class Gate_Decl:Gate_Decl223,4323
-       ID_List *gate_id_list1;Gate_Decl::gate_id_list1225,4359
-       ID_List *gate_id_list2;Gate_Decl::gate_id_list2226,4384
- Gate_Decl(Gate_Decl::Gate_Decl231,4446
- void SetPosition(Gate_Decl::SetPosition232,4480
- void SetDimensions(Gate_Decl::SetDimensions233,4513
- void SetFather(Gate_Decl::SetFather234,4540
- void SetCollapsed(Gate_Decl::SetCollapsed235,4570
-class Gate_Decl_List:Gate_Decl_List239,4630
-       Gate_Decl *elem;Gate_Decl_List::elem241,4671
-       Gate_Decl_List *next;Gate_Decl_List::next242,4689
- Gate_Decl_List(Gate_Decl_List::Gate_Decl_List247,4754
- void SetPosition(Gate_Decl_List::SetPosition248,4802
- void SetDimensions(Gate_Decl_List::SetDimensions249,4835
- void SetFather(Gate_Decl_List::SetFather250,4862
- void SetCollapsed(Gate_Decl_List::SetCollapsed251,4892
-class Ident_Eq:Ident_Eq255,4957
-        Id_Decl *iddecl;Ident_Eq::iddecl257,4992
-        Value_Expr *expr;Ident_Eq::expr258,5017
- Ident_Eq(Ident_Eq::Ident_Eq263,5079
- void SetPosition(Ident_Eq::SetPosition264,5116
- void SetDimensions(Ident_Eq::SetDimensions265,5149
- void SetFather(Ident_Eq::SetFather266,5176
- void SetCollapsed(Ident_Eq::SetCollapsed267,5206
-class Ident_Eq_List:Ident_Eq_List271,5270
-        Ident_Eq *elem;Ident_Eq_List::elem273,5310
-        Ident_Eq_List *next;Ident_Eq_List::next274,5334
- Ident_Eq_List(Ident_Eq_List::Ident_Eq_List279,5404
- void SetPosition(Ident_Eq_List::SetPosition280,5449
- void SetDimensions(Ident_Eq_List::SetDimensions281,5482
- void SetFather(Ident_Eq_List::SetFather282,5509
- void SetCollapsed(Ident_Eq_List::SetCollapsed283,5539
-class Half_Container:Half_Container287,5608
-       ID_List *gate_list;Half_Container::gate_list289,5649
- Half_Container(Half_Container::Half_Container294,5712
- void SetPosition(Half_Container::SetPosition295,5740
- void SetDimensions(Half_Container::SetDimensions296,5773
- void SetFather(Half_Container::SetFather297,5800
- void SetCollapsed(Half_Container::SetCollapsed298,5830
-class Specification:Specification308,5954
-class Definition;Specification::Definition310,5994
-        Comment_List *com_list;Specification::com_list312,6013
-       ID_Place *ident;Specification::ident313,6045
-       ID_List *gate_list;Specification::gate_list314,6063
-       Id_Decl_List *id_decl_list;Specification::id_decl_list315,6084
-        Comment_List *com_list1;Specification::com_list1316,6113
-       Tree_Node *func;Specification::func317,6146
-       Data_List *dt_list;Specification::dt_list318,6164
-       Definition *def;Specification::def319,6185
-       Coord yl1,Specification::yl1320,6203
-       Coord yl1,yl2,Specification::yl2320,6203
-       Coord yl1,yl2,yl3;Specification::yl3320,6203
-       Coord MaxX,Specification::MaxX321,6223
-       Coord MaxX, MaxY;Specification::MaxY321,6223
- Specification(Specification::Specification326,6283
- void SetPosition(Specification::SetPosition328,6418
- void SetDimensions(Specification::SetDimensions329,6451
- void SetFather(Specification::SetFather330,6478
- void SetPath(Specification::SetPath331,6508
- Coord GetMaxX(Specification::GetMaxX332,6535
- Coord GetMaxY(Specification::GetMaxY333,6553
-class Process:Process337,6609
-        Comment_List *com_list;Process::com_list339,6643
-       ID_Place *ident;Process::ident340,6675
-       ID_List *gate_list;Process::gate_list341,6693
-       Id_Decl_List *id_decl_list;Process::id_decl_list342,6714
-       Definition *def;Process::def343,6743
-       Tree_Node *func;Process::func344,6761
-       char nesting;Process::nesting345,6779
-       Coord yl1,Process::yl1346,6794
-       Coord yl1,yl2,Process::yl2346,6794
-       Coord yl1,yl2,yl3,Process::yl3346,6794
-       Coord yl1,yl2,yl3,ypath;Process::ypath346,6794
-       Coord MaxX,Process::MaxX347,6820
-       Coord MaxX, MaxY;Process::MaxY347,6820
- Process(Process::Process352,6874
- void SetPosition(Process::SetPosition353,6966
- void SetDimensions(Process::SetDimensions354,6999
- void SetFather(Process::SetFather355,7026
- void SetPath(Process::SetPath356,7056
- void NewBex(Process::NewBex357,7097
- Coord GetMaxY(Process::GetMaxY359,7125
- Coord GetMaxX(Process::GetMaxX360,7143
- char GetNesting(Process::GetNesting363,7186
-class Proc_List:Proc_List367,7257
-        Process *elem;Proc_List::elem369,7293
-        Proc_List *next;Proc_List::next370,7316
- Proc_List(Proc_List::Proc_List373,7350
- void SetPosition(Proc_List::SetPosition374,7386
- void SetDimensions(Proc_List::SetDimensions375,7419
- void SetFather(Proc_List::SetFather376,7446
- void SetPath(Proc_List::SetPath377,7476
- char *GetPath(Proc_List::GetPath378,7517
-class Definition:Definition382,7574
-        Tree_Node *bex;Definition::bex384,7611
-        Proc_List *process_list;Definition::process_list385,7635
-        Data_List *data_list;Definition::data_list386,7668
-       char path[Definition::path387,7698
- Definition(Definition::Definition390,7732
- void SetPosition(Definition::SetPosition391,7784
- void SetDimensions(Definition::SetDimensions392,7817
- void SetFather(Definition::SetFather393,7844
- void SetPath(Definition::SetPath394,7874
- char *GetPath(Definition::GetPath397,7940
-class Exit:Exit407,8071
-       ID_List *sort_list;Exit::sort_list409,8102
- Exit(Exit::Exit414,8155
- void SetPosition(Exit::SetPosition415,8173
- void SetDimensions(Exit::SetDimensions416,8220
- void SetFather(Exit::SetFather417,8247
-class NoExit:NoExit421,8305
- NoExit(NoExit::NoExit427,8372
- void SetPosition(NoExit::SetPosition428,8383
- void SetDimensions(NoExit::SetDimensions429,8416
- void SetFather(NoExit::SetFather430,8443
-class Value:Value440,8560
-       ID_Place *ident;Value::ident442,8592
-       ID_Place *sort_id;Value::sort_id443,8610
- Value(Value::Value448,8663
- void SetPosition(Value::SetPosition449,8695
- void SetDimensions(Value::SetDimensions450,8728
- void SetFather(Value::SetFather451,8755
- void SetCollapsed(Value::SetCollapsed452,8785
-class Term:Term456,8841
-       ID_Place *op_ident;Term::op_ident458,8872
-       Value_Expr_List *expr_list;Term::expr_list459,8893
-       ID_Place *sort_id;Term::sort_id460,8922
- Term(Term::Term465,8974
- void SetPosition(Term::SetPosition466,9024
- void SetDimensions(Term::SetDimensions467,9057
- void SetFather(Term::SetFather468,9084
- void SetCollapsed(Term::SetCollapsed469,9114
-class Equality:Equality473,9169
-        Tree_Node *express1;Equality::express1475,9204
-        Tree_Node *express2;Equality::express2476,9233
- Equality(Equality::Equality481,9298
- Equality(Equality::Equality482,9311
- void SetPosition(Equality::SetPosition483,9348
- void SetDimensions(Equality::SetDimensions484,9381
- void SetFather(Equality::SetFather485,9408
- void SetCollapsed(Equality::SetCollapsed486,9438
-class Sort_Id_Exit:Sort_Id_Exit490,9504
-       ID_Place *sort_id;Sort_Id_Exit::sort_id492,9543
- Sort_Id_Exit(Sort_Id_Exit::Sort_Id_Exit497,9603
- void SetPosition(Sort_Id_Exit::SetPosition498,9630
- void SetDimensions(Sort_Id_Exit::SetDimensions499,9663
- void SetFather(Sort_Id_Exit::SetFather500,9690
- void SetCollapsed(Sort_Id_Exit::SetCollapsed501,9720
-class NoGuard:NoGuard511,9837
- NoGuard(NoGuard::NoGuard517,9906
- void SetPosition(NoGuard::SetPosition518,9918
- void SetDimensions(NoGuard::SetDimensions519,9951
- void SetFather(NoGuard::SetFather520,9978
-class Guard:Guard524,10045
-        Equality *equality;Guard::equality526,10077
- Guard(Guard::Guard531,10138
- void SetPosition(Guard::SetPosition532,10158
- void SetDimensions(Guard::SetDimensions533,10191
- void SetFather(Guard::SetFather534,10218
- void SetCollapsed(Guard::SetCollapsed535,10248
-class NoExperiment:NoExperiment545,10368
- NoExperiment(NoExperiment::NoExperiment551,10447
- void SetPosition(NoExperiment::SetPosition552,10464
- void SetDimensions(NoExperiment::SetDimensions553,10497
- void SetFather(NoExperiment::SetFather554,10524
-class Experiment:Experiment558,10591
-        Exper_Off_List *exp_offer_list;Experiment::exp_offer_list560,10628
-        Tree_Node *guard_option;Experiment::guard_option561,10668
- Experiment(Experiment::Experiment566,10739
- void SetPosition(Experiment::SetPosition567,10783
- void SetDimensions(Experiment::SetDimensions568,10816
- void SetFather(Experiment::SetFather569,10843
- void SetTextual(Experiment::SetTextual570,10873
- void SetCollapsed(Experiment::SetCollapsed571,10911
- Tree_Node *GetGuard(Experiment::GetGuard574,10962
-class Exclam:Exclam578,11053
-        Tree_Node *value_exp;Exclam::value_exp580,11086
- Exclam(Exclam::Exclam585,11150
- void SetPosition(Exclam::SetPosition586,11172
- void SetDimensions(Exclam::SetDimensions587,11205
- void SetFather(Exclam::SetFather588,11232
- void SetCollapsed(Exclam::SetCollapsed589,11262
-class Query:Query593,11324
-        Id_Decl *id_decl;Query::id_decl595,11356
- Query(Query::Query600,11415
- void SetPosition(Query::SetPosition601,11434
- void SetDimensions(Query::SetDimensions602,11467
- void SetFather(Query::SetFather603,11494
- void SetCollapsed(Query::SetCollapsed604,11524
-class Internal:Internal614,11643
- Internal(Internal::Internal620,11714
- void SetPosition(Internal::SetPosition621,11727
- void SetDimensions(Internal::SetDimensions622,11760
- void SetFather(Internal::SetFather623,11787
-class Communication:Communication627,11854
-       ID_Place *gate_identifier;Communication::gate_identifier629,11894
-        Tree_Node 
*experiment_option;Communication::experiment_option630,11922
-        Coord xl,Communication::xl631,11960
-        Coord xl, yl;Communication::yl631,11960
-        int hr;Communication::hr632,11982
- Communication(Communication::Communication637,12039
- void SetPosition(Communication::SetPosition638,12080
- void SetDimensions(Communication::SetDimensions639,12113
- void SetFather(Communication::SetFather640,12140
- void SetTextual(Communication::SetTextual641,12170
- void SetCollapsed(Communication::SetCollapsed642,12208
-class Gen_Paral:Gen_Paral652,12337
-        ID_List *gate_id_list;Gen_Paral::gate_id_list654,12373
-       Coord Xclose;Gen_Paral::Xclose655,12404
-       char border;Gen_Paral::border656,12419
- Gen_Paral(Gen_Paral::Gen_Paral661,12470
- void SetPosition(Gen_Paral::SetPosition662,12493
- void SetDimensions(Gen_Paral::SetDimensions663,12526
- void SetFather(Gen_Paral::SetFather664,12553
- void SetCollapsed(Gen_Paral::SetCollapsed665,12583
- void HideGate(Gen_Paral::HideGate668,12634
-class Interl:Interl672,12730
- Interl(Interl::Interl678,12797
- void SetPosition(Interl::SetPosition679,12808
- void SetDimensions(Interl::SetDimensions680,12841
- void SetFather(Interl::SetFather681,12868
-class Syncr:Syncr685,12929
- Syncr(Syncr::Syncr691,12994
- void SetPosition(Syncr::SetPosition692,13004
- void SetDimensions(Syncr::SetDimensions693,13037
- void SetFather(Syncr::SetFather694,13064
-class Action_Pref:Action_Pref704,13185
-        Tree_Node *action_den;Action_Pref::action_den706,13223
-        Tree_Node *bex;Action_Pref::bex707,13254
-       char havebox;Action_Pref::havebox708,13278
-       char border;Action_Pref::border709,13293
- Action_Pref(Action_Pref::Action_Pref714,13346
- void SetPosition(Action_Pref::SetPosition715,13386
- void SetDimensions(Action_Pref::SetDimensions716,13419
- void SetFather(Action_Pref::SetFather717,13446
- void SetTextual(Action_Pref::SetTextual718,13476
- void SetCollapsed(Action_Pref::SetCollapsed719,13514
-class Enable:Enable723,13577
-        Tree_Node *bex1,Enable::bex1725,13610
-        Tree_Node *bex1, *bex2;Enable::bex2725,13610
-       ID_List *gate_id_list;Enable::gate_id_list726,13642
-        Coord xl,Enable::xl727,13666
-        Coord xl, yl1,Enable::yl1727,13666
-        Coord xl, yl1, xl2,Enable::xl2727,13666
-        Coord xl, yl1, xl2, yl2,Enable::yl2727,13666
-        Coord xl, yl1, xl2, yl2, xid,Enable::xid727,13666
-        Coord xl, yl1, xl2, yl2, xid, yid,Enable::yid727,13666
-        Coord xl, yl1, xl2, yl2, xid, yid, Yclose;Enable::Yclose727,13666
-       char havebox;Enable::havebox728,13717
-       char border;Enable::border729,13732
- Enable(Enable::Enable734,13780
- void SetPosition(Enable::SetPosition735,13826
- void SetDimensions(Enable::SetDimensions736,13859
- void SetFather(Enable::SetFather737,13886
- void SetTextual(Enable::SetTextual738,13916
- int Get_Textual_H(Enable::Get_Textual_H739,13954
- int Get_Textual_W(Enable::Get_Textual_W740,13980
- void SetTerminalPos(Enable::SetTerminalPos741,14006
- void SetCollapsed(Enable::SetCollapsed742,14034
-class Disable:Disable746,14097
-        Tree_Node *bex1,Disable::bex1748,14131
-        Tree_Node *bex1, *bex2;Disable::bex2748,14131
-        Coord xl,Disable::xl749,14163
-        Coord xl, yl,Disable::yl749,14163
-        Coord xl, yl, yl2;Disable::yl2749,14163
-       char havebox;Disable::havebox750,14190
-       char border;Disable::border751,14205
- Disable(Disable::Disable756,14254
- void SetPosition(Disable::SetPosition757,14290
- void SetDimensions(Disable::SetDimensions758,14323
- void SetFather(Disable::SetFather759,14350
- void SetTextual(Disable::SetTextual760,14380
- int Get_Textual_H(Disable::Get_Textual_H761,14418
- int Get_Textual_W(Disable::Get_Textual_W762,14444
- void SetTerminalPos(Disable::SetTerminalPos763,14470
- void SetCollapsed(Disable::SetCollapsed764,14498
-class Choice:Choice768,14561
-       Tree_Node *bex1,Choice::bex1770,14594
-       Tree_Node *bex1, *bex2;Choice::bex2770,14594
-       Coord xl,Choice::xl771,14619
-       Coord xl, yl,Choice::yl771,14619
-       Coord xl, yl, yl1;Choice::yl1771,14619
-       char havebox;Choice::havebox772,14639
-       int delta;Choice::delta773,14654
-       char border;Choice::border774,14666
- Choice(Choice::Choice779,14714
- void SetPosition(Choice::SetPosition780,14749
- void SetDimensions(Choice::SetDimensions781,14782
- void SetFather(Choice::SetFather782,14809
- void SetTextual(Choice::SetTextual783,14839
- void SetCollapsed(Choice::SetCollapsed784,14877
- int Get_Textual_H(Choice::Get_Textual_H785,14903
- int Get_Textual_W(Choice::Get_Textual_W786,14929
- void SetTerminalPos(Choice::SetTerminalPos787,14955
- void ChangeH(Choice::ChangeH788,14983
- void ChangeW(Choice::ChangeW789,15003
-class Stop:Stop793,15054
-       char havebox;Stop::havebox795,15085
-       char border;Stop::border796,15100
- Stop(Stop::Stop801,15146
- void SetPosition(Stop::SetPosition802,15155
- void SetDimensions(Stop::SetDimensions803,15188
- void SetFather(Stop::SetFather804,15215
- void SetTextual(Stop::SetTextual805,15245
- void SetCollapsed(Stop::SetCollapsed806,15283
-class Exit_Bex:Exit_Bex810,15338
-       Exit_Entry_List *entry_list;Exit_Bex::entry_list812,15373
-       Coord Xopen,Exit_Bex::Xopen813,15404
-       Coord Xopen, Xclose;Exit_Bex::Xclose813,15404
-       char havebox;Exit_Bex::havebox814,15426
-       char border;Exit_Bex::border815,15441
- Exit_Bex(Exit_Bex::Exit_Bex820,15491
- void SetPosition(Exit_Bex::SetPosition821,15521
- void SetDimensions(Exit_Bex::SetDimensions822,15554
- void SetFather(Exit_Bex::SetFather823,15581
- void SetTextual(Exit_Bex::SetTextual824,15611
- void SetCollapsed(Exit_Bex::SetCollapsed825,15649
-class Hide:Hide829,15707
-       ID_List *gate_list;Hide::gate_list831,15738
-       Tree_Node *bex;Hide::bex832,15759
-       char border;Hide::border833,15776
-       Coord yl;Hide::yl834,15790
- Hide(Hide::Hide839,15833
- void SetPosition(Hide::SetPosition840,15864
- void SetDimensions(Hide::SetDimensions841,15897
- void SetFather(Hide::SetFather842,15924
- void SetTextual(Hide::SetTextual843,15954
- void SetCollapsed(Hide::SetCollapsed844,15992
-class Guarded:Guarded848,16047
-        Equality *equality;Guarded::equality850,16081
-        Tree_Node *bex;Guarded::bex851,16109
-       Coord Xclose;Guarded::Xclose852,16133
-       char border;Guarded::border853,16148
- Guarded(Guarded::Guarded858,16197
- void SetPosition(Guarded::SetPosition859,16232
- void SetDimensions(Guarded::SetDimensions860,16265
- void SetFather(Guarded::SetFather861,16292
- void SetTextual(Guarded::SetTextual862,16322
- void SetCollapsed(Guarded::SetCollapsed863,16360
-class Proc_Inst:Proc_Inst867,16425
-       ID_List *gate_list;Proc_Inst::gate_list869,16461
-       ID_Place *ident;Proc_Inst::ident870,16482
-       Value_Expr_List *value_expr_list;Proc_Inst::value_expr_list871,16500
-       Coord yp,Proc_Inst::yp872,16535
-       Coord yp, yl1,Proc_Inst::yl1872,16535
-       Coord yp, yl1, Xopen,Proc_Inst::Xopen872,16535
-       Coord yp, yl1, Xopen, Xclose;Proc_Inst::Xclose872,16535
-       int hp;Proc_Inst::hp873,16566
-       char border;Proc_Inst::border874,16575
-  Proc_Inst(Proc_Inst::Proc_Inst879,16626
- void SetPosition(Proc_Inst::SetPosition880,16681
- void SetDimensions(Proc_Inst::SetDimensions881,16714
- void SetFather(Proc_Inst::SetFather882,16741
- void SetTextual(Proc_Inst::SetTextual883,16771
- void SetCollapsed(Proc_Inst::SetCollapsed884,16809
-class Parallel:Parallel888,16870
-       Tree_Node *bex1,Parallel::bex1890,16905
-       Tree_Node *bex1, *bex2,Parallel::bex2890,16905
-       Tree_Node *bex1, *bex2, *oper;Parallel::oper890,16905
-       Coord xl,Parallel::xl891,16937
-       Coord xl, yl,Parallel::yl891,16937
-       Coord xl, yl, yl1;Parallel::yl1891,16937
-       char havebox;Parallel::havebox892,16957
-       int delta;Parallel::delta893,16972
-       char border;Parallel::border894,16984
- Parallel(Parallel::Parallel899,17034
- void SetPosition(Parallel::SetPosition900,17084
- void SetDimensions(Parallel::SetDimensions901,17117
- void SetFather(Parallel::SetFather902,17144
- void SetTextual(Parallel::SetTextual903,17174
- int Get_Textual_W(Parallel::Get_Textual_W904,17212
- int Get_Textual_H(Parallel::Get_Textual_H905,17238
- void SetTerminalPos(Parallel::SetTerminalPos906,17264
- void SetCollapsed(Parallel::SetCollapsed907,17292
- char GetOperType(Parallel::GetOperType910,17343
-class Local_Def:Local_Def914,17429
-       Ident_Eq_List *equa_list;Local_Def::equa_list916,17465
-       Tree_Node *bex;Local_Def::bex917,17492
-       Coord yl;Local_Def::yl918,17509
-       char border;Local_Def::border919,17520
- Local_Def(Local_Def::Local_Def924,17571
- void SetPosition(Local_Def::SetPosition925,17613
- void SetDimensions(Local_Def::SetDimensions926,17646
- void SetFather(Local_Def::SetFather927,17673
- void SetTextual(Local_Def::SetTextual928,17703
- void SetCollapsed(Local_Def::SetCollapsed929,17741
-class Par:Par933,17801
-       Gate_Decl_List *gate_decl_list;Par::gate_decl_list935,17831
-       Tree_Node *oper,Par::oper936,17864
-       Tree_Node *oper, *bex;Par::bex936,17864
-       Coord xl,Par::xl937,17888
-       Coord xl, yl;Par::yl937,17888
-       char border;Par::border938,17903
- Par(Par::Par943,17948
- void SetPosition(Par::SetPosition944,17998
- void SetDimensions(Par::SetDimensions945,18031
- void SetFather(Par::SetFather946,18058
- void SetTextual(Par::SetTextual947,18088
- void SetCollapsed(Par::SetCollapsed948,18126
-class Sum_Gate:Sum_Gate952,18180
-       Gate_Decl_List *gate_decl_list;Sum_Gate::gate_decl_list954,18215
-       Tree_Node *bex;Sum_Gate::bex955,18248
-       Coord xl,Sum_Gate::xl956,18265
-       Coord xl, yl,Sum_Gate::yl956,18265
-       Coord xl, yl, Xch,Sum_Gate::Xch956,18265
-       Coord xl, yl, Xch, Ych,Sum_Gate::Ych956,18265
-       Coord xl, yl, Xch, Ych, Xclose,Sum_Gate::Xclose956,18265
-       Coord xl, yl, Xch, Ych, Xclose, Yclose;Sum_Gate::Yclose956,18265
-       char border;Sum_Gate::border957,18306
- Sum_Gate(Sum_Gate::Sum_Gate962,18356
- void SetPosition(Sum_Gate::SetPosition963,18398
- void SetDimensions(Sum_Gate::SetDimensions964,18431
- void SetFather(Sum_Gate::SetFather965,18458
- void SetTextual(Sum_Gate::SetTextual966,18488
- void SetTerminalPos(Sum_Gate::SetTerminalPos967,18526
- void SetCollapsed(Sum_Gate::SetCollapsed968,18554
-class Sum_Ident:Sum_Ident972,18613
-       Id_Decl_List *ident_decl_list;Sum_Ident::ident_decl_list974,18649
-       Tree_Node *bex;Sum_Ident::bex975,18681
-       Coord xl,Sum_Ident::xl976,18698
-       Coord xl, yl,Sum_Ident::yl976,18698
-       Coord xl, yl, Xch,Sum_Ident::Xch976,18698
-       Coord xl, yl, Xch, Ych,Sum_Ident::Ych976,18698
-       Coord xl, yl, Xch, Ych, Xclose,Sum_Ident::Xclose976,18698
-       Coord xl, yl, Xch, Ych, Xclose, Yclose;Sum_Ident::Yclose976,18698
-       char border;Sum_Ident::border977,18739
- Sum_Ident(Sum_Ident::Sum_Ident982,18790
- void SetPosition(Sum_Ident::SetPosition983,18831
- void SetDimensions(Sum_Ident::SetDimensions984,18864
- void SetFather(Sum_Ident::SetFather985,18891
- void SetTextual(Sum_Ident::SetTextual986,18921
- void SetTerminalPos(Sum_Ident::SetTerminalPos987,18959
- void SetCollapsed(Sum_Ident::SetCollapsed988,18987
-
-cp-src/cfront.H,18434
-extern bit old_fct_accepted;28,897
-extern bit fct_void;32,1028
-extern char* prog_name;42,1297
-extern int inline_restr;43,1351
-extern bit emode;44,1410
-extern Pname name_free;47,1457
-extern Pexpr expr_free;48,1496
-extern Pstmt stmt_free;49,1520
-extern int Nspy;52,1569
-extern int Nfile,53,1586
-extern int Nfile, Nline,53,1586
-extern int Nfile, Nline, Ntoken,53,1586
-extern int Nfile, Nline, Ntoken, Nname,53,1586
-extern int Nfile, Nline, Ntoken, Nname, Nfree_store,53,1586
-extern int Nfile, Nline, Ntoken, Nname, Nfree_store, Nalloc,53,1586
-extern int Nfile, Nline, Ntoken, Nname, Nfree_store, Nalloc, Nfree;53,1586
-extern int Nn,54,1654
-extern int Nn, Nbt,54,1654
-extern int Nn, Nbt, Nt,54,1654
-extern int Nn, Nbt, Nt, Ne,54,1654
-extern int Nn, Nbt, Nt, Ne, Ns,54,1654
-extern int Nn, Nbt, Nt, Ne, Ns, Nstr,54,1654
-extern int Nn, Nbt, Nt, Ne, Ns, Nstr, Nc,54,1654
-extern int Nn, Nbt, Nt, Ne, Ns, Nstr, Nc, Nl;54,1654
-extern int NFn,55,1700
-extern int NFn, NFtn,55,1700
-extern int NFn, NFtn, NFpv,55,1700
-extern int NFn, NFtn, NFpv, NFbt,55,1700
-extern int NFn, NFtn, NFpv, NFbt, NFf,55,1700
-extern int NFn, NFtn, NFpv, NFbt, NFf, NFs,55,1700
-extern int NFn, NFtn, NFpv, NFbt, NFf, NFs, NFc,55,1700
-extern int NFn, NFtn, NFpv, NFbt, NFf, NFs, NFc, NFe,55,1700
-extern int NFn, NFtn, NFpv, NFbt, NFf, NFs, NFc, NFe, NFl;55,1700
-extern TOK     lex(57,1760
-extern Pname   syn(58,1778
-extern void    init_print(60,1799
-extern void    init_lex(61,1847
-extern void    int_syn(62,1871
-extern void    ext(63,1894
-extern char*   make_name(65,1917
-struct loc     67,1948
-       short   file;loc::file69,1988
-       short   line;loc::line70,2036
-       void    put(loc::put72,2062
-       void    putline(loc::putline73,2080
-extern Loc curloc;77,2108
-extern int curr_file;78,2127
-struct ea 80,2150
-               void* p;ea::p82,2224
-               int i;ea::i83,2235
-       ea(ea::ea86,2249
-       ea(ea::ea87,2275
-       ea(ea::ea88,2301
-       ea(ea::ea89,2310
-extern ea* ea0;92,2332
-overload error;94,2349
-int error(95,2365
-int error(96,2437
-int error(97,2515
-int error(98,2592
-extern int error_count;101,2689
-extern bit debug;102,2713
-extern int vtbl_opt;103,2731
-extern FILE* out_file;104,2752
-extern FILE* in_file;105,2775
-extern char scan_started;106,2797
-extern bit warn;107,2823
-extern int br_level;110,2848
-extern int bl_level;111,2869
-extern Ptable ktbl;112,2890
-extern Ptable gtbl;113,2941
-extern char* oper_name(114,2978
-extern Pclass ccl;115,3007
-extern Pbase defa_type;116,3026
-extern Pbase moe_type;117,3050
-extern Pstmt Cstmt;120,3087
-extern Pname Cdcl;121,3135
-extern void put_dcl_context(122,3194
-extern Ptable any_tbl;124,3226
-extern Pbase any_type;125,3287
-extern Pbase int_type;128,3318
-extern Pbase char_type;129,3341
-extern Pbase short_type;130,3365
-extern Pbase long_type;131,3390
-extern Pbase uint_type;132,3414
-extern Pbase float_type;133,3438
-extern Pbase double_type;134,3463
-extern Pbase void_type;135,3489
-extern Pbase uchar_type;138,3527
-extern Pbase ushort_type;139,3552
-extern Pbase ulong_type;140,3578
-extern Ptype Pchar_type;141,3603
-extern Ptype Pint_type;142,3628
-extern Ptype Pfctvec_type;143,3652
-extern Ptype Pfctchar_type;144,3679
-extern Ptype Pvoid_type;145,3707
-extern Pbase zero_type;146,3732
-extern int byte_offset;148,3757
-extern int bit_offset;149,3781
-extern int max_align;150,3804
-extern int stack_size;151,3826
-extern int enum_count;152,3849
-extern int const_save;153,3872
-extern Pexpr dummy;156,3903
-extern Pexpr zero;157,3950
-extern Pexpr one;158,3969
-extern Pname sta_name;159,3987
-#define DEL(161,4040
-#define PERM(162,4092
-#define UNPERM(163,4123
-struct node 165,4157
-       TOK     base;node::base166,4171
-       TOK     n_key;node::n_key167,4182
-       bit     permanent;node::permanent168,4226
-extern Pclass Ebase,172,4259
-extern Pclass Ebase, Epriv;172,4259
-struct table 175,4321
-       char    init_stat;table::init_stat177,4406
-       short   size;table::size181,4571
-       short   hashsize;table::hashsize182,4584
-       short   free_slot;table::free_slot183,4601
-       Pname*  entries;table::entries184,4651
-       short*  hashtbl;table::hashtbl185,4668
-       Pstmt   real_block;table::real_block186,4685
-       Ptable  next;table::next189,4787
-       Pname   t_name;table::t_name190,4834
-       table(table::table192,4875
-       Pname   look(table::look194,4906
-       Pname   insert(table::insert195,4931
-       void    grow(table::grow197,4971
-       void    set_scope(table::set_scope198,4988
-       void    set_name(table::set_name199,5029
-       Pname   get_mem(table::get_mem200,5070
-       int     max(table::max201,5091
-       void    dcl_print(table::dcl_print202,5129
-       Pname   lookc(table::lookc203,5155
-       Pexpr   find_name(table::find_name204,5181
-       void    del(table::del205,5218
-extern bit Nold;210,5255
-extern bit vec_const,211,5272
-extern bit vec_const, fct_const;211,5272
-extern void restore(214,5313
-extern void set_scope(215,5336
-extern Plist modified_tn;216,5366
-extern Pbase start_cl(217,5392
-extern void end_cl(218,5434
-extern Pbase end_enum(219,5456
-extern bit new_type;224,5581
-extern Pname cl_obj_vec;225,5602
-extern Pname eobj;226,5627
-#define DEFINED 230,5655
-#define SIMPLIFIED 231,5712
-#define DEF_SEEN 232,5754
-#define IN_ERROR 234,5859
-struct type 236,5881
-       bit     defined;type::defined237,5902
-       char*   signature(type::signature240,6005
-       void    print(type::print242,6043
-       void    dcl_print(type::dcl_print243,6058
-       void    base_print(type::base_print244,6082
-       void    del(type::del245,6102
-       Pname   is_cl_obj(type::is_cl_obj247,6116
-       int     is_ref(type::is_ref248,6158
-       void    dcl(type::dcl249,6173
-       int     tsizeof(type::tsizeof250,6192
-       bit     tconst(type::tconst251,6208
-       TOK     set_const(type::set_const252,6223
-       int     align(type::align253,6244
-       TOK     kind(type::kind254,6258
-       TOK     integral(type::integral255,6278
-       TOK     numeric(type::numeric256,6324
-       TOK     num_ptr(type::num_ptr257,6370
-       bit     vec_type(type::vec_type258,6416
-       bit     check(type::check259,6433
-       Ptype   deref(type::deref260,6457
-       Pptr    addrof(type::addrof261,6473
-struct enumdef 265,6500
-       bit     e_body;enumdef::e_body266,6535
-       short   no_of_enumerators;enumdef::no_of_enumerators267,6548
-       Pname   mem;enumdef::mem268,6574
-               enumdef(enumdef::enumdef269,6586
-       void    print(enumdef::print271,6641
-       void    dcl_print(enumdef::dcl_print272,6656
-       void    dcl(enumdef::dcl273,6680
-       void    simpl(enumdef::simpl274,6706
-struct classdef 278,6732
-       bit     pubbase;classdef::pubbase279,6769
-       bit     c_body;classdef::c_body280,6783
-       TOK     csu;classdef::csu281,6830
-       char    obj_align;classdef::obj_align282,6877
-       char    bit_ass;classdef::bit_ass283,6894
-       char    virt_count;classdef::virt_count284,6943
-       Pname   clbase;classdef::clbase286,7033
-       char*   string;classdef::string287,7063
-       Pname   mem_list;classdef::mem_list288,7099
-       Ptable  memtbl;classdef::memtbl289,7116
-       int     obj_size;classdef::obj_size290,7132
-       int     real_size;classdef::real_size291,7147
-       Plist   friend_list;classdef::friend_list292,7196
-       Pname   pubdef;classdef::pubdef293,7216
-       Plist   tn_list;classdef::tn_list294,7231
-       Pclass  in_class;classdef::in_class295,7289
-       Ptype   this_type;classdef::this_type296,7335
-       Pname*  virt_init;classdef::virt_init297,7353
-       Pname   itor;classdef::itor298,7412
-       Pname   conv;classdef::conv299,7450
-       classdef(classdef::classdef301,7490
-       TOK     is_simple(classdef::is_simple302,7506
-       void    print(classdef::print304,7568
-       void    dcl_print(classdef::dcl_print305,7583
-       void    simpl(classdef::simpl306,7607
-       void    print_members(classdef::print_members308,7623
-       void    dcl(classdef::dcl309,7646
-       bit     has_friend(classdef::has_friend310,7672
-       bit     baseof(classdef::baseof311,7696
-       bit     baseof(classdef::baseof312,7716
-       Pname   has_oper(classdef::has_oper313,7737
-       Pname   has_ctor(classdef::has_ctor314,7759
-       Pname   has_dtor(classdef::has_dtor315,7813
-       Pname   has_itor(classdef::has_itor316,7867
-       Pname   has_ictor(classdef::has_ictor317,7902
-struct basetype 323,7935
-       bit     b_unsigned;basetype::b_unsigned334,8195
-       bit     b_const;basetype::b_const335,8212
-       bit     b_typedef;basetype::b_typedef336,8226
-       bit     b_inline;basetype::b_inline337,8242
-       bit     b_virtual;basetype::b_virtual338,8257
-       bit     b_short;basetype::b_short339,8273
-       bit     b_long;basetype::b_long340,8287
-       char    b_bits;basetype::b_bits341,8300
-       char    b_offset;basetype::b_offset342,8345
-       TOK     b_sto;basetype::b_sto343,8384
-       Pname   b_name;basetype::b_name344,8433
-       Ptable  b_table;basetype::b_table345,8478
-       Pexpr   b_field;basetype::b_field346,8525
-       Pname   b_xname;basetype::b_xname347,8582
-       Ptype   b_fieldtype;basetype::b_fieldtype348,8615
-       basetype(basetype::basetype350,8636
-       Pbase   type_adj(basetype::type_adj352,8660
-       Pbase   base_adj(basetype::base_adj353,8682
-       Pbase   name_adj(basetype::name_adj354,8706
-       Pname   aggr(basetype::aggr355,8730
-       void    normalize(basetype::normalize356,8747
-       Pbase   check(basetype::check358,8779
-       void    dcl_print(basetype::dcl_print359,8800
-       Pbase   arit_conv(basetype::arit_conv360,8819
-struct fct 365,8857
-       TOK     nargs;fct::nargs367,8885
-       TOK     nargs_known;fct::nargs_known368,8897
-       char    f_virtual;fct::f_virtual369,8940
-       char    f_inline;fct::f_inline370,8991
-       Ptype   returns;fct::returns371,9052
-       Pname   argtype;fct::argtype372,9068
-       Ptype   s_returns;fct::s_returns373,9084
-       Pname   f_this;fct::f_this374,9102
-       Pclass  memof;fct::memof375,9117
-       Pblock  body;fct::body376,9158
-       Pname   f_init;fct::f_init377,9172
-       Pexpr   b_init;fct::b_init380,9295
-       Pexpr   f_expr;fct::f_expr383,9389
-       Pexpr   last_expanded;fct::last_expanded384,9441
-       Pname   f_result;fct::f_result385,9463
-       fct(fct::fct387,9517
-       void    argdcl(fct::argdcl389,9543
-       Ptype   normalize(fct::normalize391,9583
-       void    dcl_print(fct::dcl_print392,9608
-       void    dcl(fct::dcl393,9627
-       Pexpr   base_init(fct::base_init394,9645
-       Pexpr   mem_init(fct::mem_init395,9685
-       bit     declared(fct::declared396,9724
-       void    simpl(fct::simpl397,9765
-       Pexpr   expand(fct::expand398,9780
-struct name_list 403,9827
-       Pname   f;name_list::f404,9846
-       Plist   l;name_list::l405,9856
-       name_list(name_list::name_list406,9866
-struct gen 410,9931
-       Plist   fct_list;gen::fct_list411,9964
-       char*   string;gen::string412,9981
-               gen(gen::gen413,9996
-       Pname   add(gen::add414,10010
-       Pname   find(gen::find415,10034
-struct pvtyp 419,10071
-       Ptype typ;pvtyp::typ420,10093
-struct vec 423,10109
-       Pexpr   dim;vec::dim426,10157
-       int     size;vec::size427,10169
-       vec(vec::vec429,10182
-       Ptype   normalize(vec::normalize431,10253
-struct ptr 435,10289
-       Pclass  memof;ptr::memof437,10339
-       bit     rdo;ptr::rdo438,10395
-       ptr(ptr::ptr440,10419
-       Ptype   normalize(ptr::normalize442,10497
-inline Pptr type::addrof(447,10546
-extern bit vrp_equiv;449,10606
-extern Pexpr next_elem(461,10867
-extern void new_list(462,10893
-extern void list_check(463,10922
-extern Pexpr ref_init(464,10967
-extern Pexpr class_init(465,11009
-extern Pexpr check_cond(466,11060
-struct expr 469,11113
-               Ptype   tp;expr::tp481,11414
-               int     syn_class;expr::syn_class482,11426
-               Pexpr   e1;expr::e1485,11456
-               char*   string;expr::string486,11468
-               int     i1;expr::i1487,11484
-               Pexpr   e2;expr::e2490,11507
-               Pexpr   n_initializer;expr::n_initializer491,11519
-               char*   string2;expr::string2492,11542
-               Ptype   tp2;expr::tp2495,11608
-               Pname   fct_name;expr::fct_name496,11621
-               Pexpr   cond;expr::cond497,11639
-               Pname   mem;expr::mem498,11653
-               Ptype   as_type;expr::as_type499,11666
-               Ptable  n_table;expr::n_table500,11683
-               Pin     il;expr::il501,11701
-       expr(expr::expr504,11716
-       ~expr(expr::~expr505,11742
-       void    del(expr::del507,11765
-       void    print(expr::print508,11778
-       Pexpr   typ(expr::typ509,11793
-       int     eval(expr::eval510,11813
-       int     lval(expr::lval511,11826
-       Ptype   fct_call(expr::fct_call512,11842
-       Pexpr   address(expr::address513,11867
-       Pexpr   contents(expr::contents514,11885
-       void    simpl(expr::simpl515,11904
-       Pexpr   expand(expr::expand516,11919
-       bit     not_simple(expr::not_simple517,11936
-       Pexpr   try_to_overload(expr::try_to_overload518,11955
-       Pexpr   docast(expr::docast519,11987
-       Pexpr   dovalue(expr::dovalue520,12010
-       Pexpr   donew(expr::donew521,12034
-       void    simpl_new(expr::simpl_new522,12056
-       void    simpl_delete(expr::simpl_delete523,12075
-struct texpr 527,12108
-       texpr(texpr::texpr528,12149
-struct ival 531,12218
-       ival(ival::ival532,12258
-struct call 535,12308
-       call(call::call536,12338
-       void    simpl(call::simpl538,12404
-       Pexpr   expand(call::expand539,12419
-struct qexpr 543,12453
-       qexpr(qexpr::qexpr544,12500
-struct ref 547,12582
-       ref(ref::ref548,12632
-struct text_expr 551,12697
-       text_expr(text_expr::text_expr552,12731
-struct name 557,12884
-       TOK     n_oper;name::n_oper558,12948
-       TOK     n_sto;name::n_sto559,12987
-       TOK     n_stclass;name::n_stclass560,13038
-       TOK     n_scope;name::n_scope561,13080
-       unsigned char   n_union;name::n_union562,13129
-       bit     n_evaluated;name::n_evaluated563,13173
-       bit     n_xref;name::n_xref564,13221
-       unsigned char   lex_level;name::lex_level565,13261
-       TOK     n_protect;name::n_protect566,13287
-       short   n_addr_taken;name::n_addr_taken567,13337
-       short   n_used;name::n_used568,13358
-       short   n_assigned_to;name::n_assigned_to569,13373
-       Loc     where;name::where570,13395
-       int     n_val;name::n_val571,13407
-       int     n_offset;name::n_offset574,13518
-       Pname   n_list;name::n_list575,13567
-       Pname   n_tbl_list;name::n_tbl_list576,13582
-               Pname   n_qualifier;name::n_qualifier578,13610
-               Ptable  n_realscope;name::n_realscope579,13659
-       name(name::name585,13815
-       ~name(name::~name586,13832
-       Pname   normalize(name::normalize588,13843
-       Pname   tdef(name::tdef589,13881
-       Pname   tname(name::tname590,13896
-       void    hide(name::hide591,13915
-       void    unhide(name::unhide592,13929
-       Pname   dcl(name::dcl594,13981
-       int     no_of_names(name::no_of_names595,14005
-       void    use(name::use596,14025
-       void    assign(name::assign597,14053
-       void    take_addr(name::take_addr598,14069
-       void    check_oper(name::check_oper599,14108
-       void    simpl(name::simpl600,14133
-       void    del(name::del601,14148
-       void    print(name::print602,14161
-       void    dcl_print(name::dcl_print603,14176
-       void    field_align(name::field_align604,14198
-       Pname   dofct(name::dofct605,14219
-extern int friend_in_class;610,14269
-struct stmt 615,14374
-       Pstmt   s;stmt::s617,14479
-       Pstmt   s_list;stmt::s_list618,14489
-       Loc     where;stmt::where619,14504
-               Pname   d;stmt::d621,14525
-               Pexpr   e2;stmt::e2622,14536
-               Pstmt   has_default;stmt::has_default623,14548
-               int     case_value;stmt::case_value624,14569
-               Ptype   ret_tp;stmt::ret_tp625,14587
-               Pexpr   e;stmt::e628,14616
-               bit     own_tbl;stmt::own_tbl629,14627
-               Pstmt   s2;stmt::s2630,14642
-       Ptable  memtbl;stmt::memtbl632,14658
-               Pstmt   for_init;stmt::for_init634,14683
-               Pstmt   else_stmt;stmt::else_stmt635,14701
-               Pstmt   case_list;stmt::case_list636,14720
-               bit     empty;stmt::empty637,14739
-       stmt(stmt::stmt640,14757
-       ~stmt(stmt::~stmt641,14781
-       void    del(stmt::del643,14804
-       void    print(stmt::print644,14817
-       void    dcl(stmt::dcl645,14832
-       void    reached(stmt::reached646,14845
-       Pstmt   simpl(stmt::simpl647,14862
-       Pstmt   expand(stmt::expand648,14878
-       Pstmt   copy(stmt::copy649,14895
-extern char* Neval;654,14934
-extern Pname dcl_temp(655,14954
-extern char* temp(656,14992
-extern Ptable scope;657,15032
-extern Ptable expand_tbl;658,15053
-extern Pname expand_fn;659,15079
-struct estmt 662,15111
-       estmt(estmt::estmt669,15303
-struct ifstmt 672,15379
-       ifstmt(ifstmt::ifstmt676,15484
-struct lstmt 680,15586
-       lstmt(lstmt::lstmt686,15650
-struct forstmt 689,15728
-       forstmt(forstmt::forstmt690,15759
-struct block 694,15880
-       block(block::block695,15919
-       void    dcl(block::dcl697,16001
-       Pstmt   simpl(block::simpl698,16020
-struct pair 703,16060
-       pair(pair::pair704,16096
-struct nlist 708,16173
-       Pname   head;nlist::head709,16188
-       Pname   tail;nlist::tail710,16201
-               nlist(nlist::nlist711,16214
-       void    add(nlist::add712,16230
-       void    add_list(nlist::add_list713,16282
-extern Pname name_unlist(716,16309
-struct slist 718,16344
-       Pstmt   head;slist::head719,16359
-       Pstmt   tail;slist::tail720,16372
-               slist(slist::slist721,16385
-       void    add(slist::add722,16430
-extern Pstmt stmt_unlist(725,16486
-struct elist 727,16521
-       Pexpr   head;elist::head728,16536
-       Pexpr   tail;elist::tail729,16549
-               elist(elist::elist730,16562
-       void    add(elist::add731,16607
-extern Pexpr expr_unlist(734,16659
-extern class dcl_context * cc;737,16707
-struct dcl_context 739,16739
-       Pname   c_this;dcl_context::c_this740,16760
-       Ptype   tot;dcl_context::tot741,16802
-       Pname   not;dcl_context::not742,16840
-       Pclass  cot;dcl_context::cot743,16886
-       Ptable  ftbl;dcl_context::ftbl744,16938
-       Pname   nof;dcl_context::nof745,16985
-       void    stack(dcl_context::stack747,17023
-       void    unstack(dcl_context::unstack748,17064
-#define MAXCONT        751,17095
-extern dcl_context ccvec[ccvec752,17114
-extern void yyerror(755,17157
-extern TOK back;756,17185
-extern char* line_format;760,17217
-extern Plist isf_list;762,17244
-extern Pstmt st_ilist;763,17267
-extern Pstmt st_dlist;764,17290
-extern Ptable sti_tbl;765,17313
-extern Ptable std_tbl;766,17336
-Pexpr try_to_coerce(767,17359
-extern bit can_coerce(768,17409
-extern Ptype np_promote(769,17446
-extern void new_key(770,17505
-extern Pname dcl_list;772,17544
-extern int over_call(773,17567
-extern Pname Nover;774,17603
-extern Pname Ntncheck;775,17623
-extern Pname Ncoerce;776,17646
-extern Nover_coerce;777,17668
-const MIA 779,17690
-struct iline 780,17705
-       Pname   fct_name;iline::fct_name781,17720
-       Pin     i_next;iline::i_next782,17754
-       Ptable  i_table;iline::i_table783,17767
-       Pname   local[iline::local784,17784
-       Pexpr   arg[iline::arg785,17838
-       Ptype   tp[iline::tp786,17887
-extern Pexpr curr_expr;789,17938
-extern Pin curr_icall;790,17962
-#define FUDGE111 791,17985
-extern Pstmt curr_loop;793,18007
-extern Pblock curr_block;794,18031
-extern Pstmt curr_switch;795,18057
-extern bit arg_err_suppress;796,18083
-extern loc last_line;797,18112
-extern no_of_undcl;799,18135
-extern no_of_badcall;800,18155
-extern Pname undcl,801,18177
-extern Pname undcl, badcall;801,18177
-extern int strlen(803,18207
-extern char* strcpy(804,18239
-extern int str_to_int(805,18280
-extern int c_strlen(806,18316
-extern int strcmp(809,18360
-extern Pname vec_new_fct;812,18419
-extern Pname vec_del_fct;813,18445
-extern int Nstd;815,18472
-extern int stcount;817,18555
-extern Pname find_hidden(819,18623
-Pexpr replace_temp(820,18656
-void make_res(821,18689
-Pexpr ptr_init(822,18710
-extern bit fake_sizeof;826,18755
-extern TOK lalex(828,18823
-extern fprintf(830,18856
-#define DB(831,18890
-#define DB(833,18920
-
 cp-src/burton.cpp,103
 ::dummy::dummy test::dummy1(1,0
 ::dummy::dummy test::dummy2(6,64
@@ -4399,25 +3034,6 @@ class MDiagArray2 78,2022
 #undef LTGT144,3874
 #define INSTANTIATE_MDIAGARRAY_FRIENDS(146,3887
 
-cp-src/Pctest.h,816
-#define PCTEST_H24,837
-class TestRecord;42,1118
-    PctestActionValid,::PctestActionValid47,1286
-    PctestActionValidLasthop,::PctestActionValidLasthop49,1370
-    PctestActionFiltered,::PctestActionFiltered51,1481
-    PctestActionAbort  ::PctestActionAbort53,1566
-} PctestActionType;54,1616
-class Pctest 56,1637
-    Pctest(Pctest::Pctest59,1663
-    virtual ~Pctest(Pctest::~Pctest65,1813
-    virtual void TimeSyscall(Pctest::TimeSyscall68,1889
-    virtual char *GeneratePayload(Pctest::GeneratePayload71,1975
-    virtual char *GetTargetName(Pctest::GetTargetName77,2171
-    virtual PctestActionType GetAction(Pctest::GetAction86,2555
-    int initialized;Pctest::initialized93,2698
-    char *targetName;Pctest::targetName94,2743
-    struct timeval syscallTime;Pctest::syscallTime95,2785
-
 cp-src/Range.h,1136
 #define octave_Range_h 24,765
 class istream;30,840
@@ -4716,63 +3332,6 @@ show(124,5458
 dialog_loop(219,9529
 test(252,10806
 
-erl-src/lines.erl,386
--define(BREAK66,2377
--define(dbg68,2437
-new(73,2565
-count(80,2686
-nth(87,2815
-append(104,3301
-replace(119,3816
-insert(138,4559
-insert_after(165,5501
-delete(192,6456
-convert_to_list(215,7110
-convert_from_list(220,7259
-replace_nth(229,7518
-insert_nth(234,7618
-insert_after_nth(239,7711
-delete_nth(244,7828
-split_at(252,8027
-balance_left(267,8451
-balance_right(282,8865
-
-erl-src/lists.erl,593
-member(21,663
-append(30,790
-reverse(48,1099
-nth(59,1310
-nthtail(64,1382
-prefix(73,1546
-suffix(83,1707
-last(92,1882
-seq(101,2058
-sum(109,2265
-duplicate(116,2432
-min(124,2628
-max(132,2837
-sublist(141,3083
-delete(152,3329
-sort(161,3483
-split_and_sort(165,3559
-merge(175,3811
-concat(190,4219
-thing_to_list(195,4300
-flatten(204,4606
-flat_length(222,5003
-keymember(239,5451
-keysearch(246,5609
-keydelete(253,5770
-keyreplace(260,5923
-keysort(266,6113
-split_and_keysort(270,6229
-keymerge(277,6504
-keymap(288,6851
-map(311,7829
-foldl(315,7919
-foldr(320,8037
-zf(325,8155
-
 f-src/entry.for,172
       LOGICAL FUNCTION PRTPKG 3,75
        ENTRY  SETPRT 194,3866
@@ -4845,386 +3404,6 @@ debian-bug.eldebian-bug190,7981
 tcpdump205,8566
 Links to interesting softwarelinks216,8893
 
-java-src/AWTEMul.java,4481
-public class AWTEventMulticaster 63,2111
-    protected EventListener a,AWTEventMulticaster.a69,2356
-    protected EventListener a, b;AWTEventMulticaster.b69,2356
-    protected 
AWTEventMulticaster(AWTEventMulticaster.AWTEventMulticaster77,2555
-    protected EventListener remove(AWTEventMulticaster.remove86,2820
-    public void componentResized(AWTEventMulticaster.componentResized102,3294
-    public void componentMoved(AWTEventMulticaster.componentMoved112,3626
-    public void componentShown(AWTEventMulticaster.componentShown122,3952
-    public void componentHidden(AWTEventMulticaster.componentHidden132,4280
-    public void componentAdded(AWTEventMulticaster.componentAdded142,4619
-    public void componentRemoved(AWTEventMulticaster.componentRemoved152,4959
-    public void focusGained(AWTEventMulticaster.focusGained162,5281
-    public void focusLost(AWTEventMulticaster.focusLost172,5572
-    public void keyTyped(AWTEventMulticaster.keyTyped182,5853
-    public void keyPressed(AWTEventMulticaster.keyPressed192,6129
-    public void keyReleased(AWTEventMulticaster.keyReleased202,6413
-    public void mouseClicked(AWTEventMulticaster.mouseClicked212,6704
-    public void mousePressed(AWTEventMulticaster.mousePressed222,7004
-    public void mouseReleased(AWTEventMulticaster.mouseReleased232,7306
-    public void mouseEntered(AWTEventMulticaster.mouseEntered242,7609
-    public void mouseExited(AWTEventMulticaster.mouseExited252,7907
-    public void mouseDragged(AWTEventMulticaster.mouseDragged262,8204
-    public void mouseMoved(AWTEventMulticaster.mouseMoved272,8512
-    public void windowOpened(AWTEventMulticaster.windowOpened282,8819
-    public void windowClosing(AWTEventMulticaster.windowClosing292,9125
-    public void windowClosed(AWTEventMulticaster.windowClosed302,9432
-    public void windowIconified(AWTEventMulticaster.windowIconified312,9742
-    public void 
windowDeiconified(AWTEventMulticaster.windowDeiconified322,10064
-    public void windowActivated(AWTEventMulticaster.windowActivated332,10389
-    public void 
windowDeactivated(AWTEventMulticaster.windowDeactivated342,10712
-    public void actionPerformed(AWTEventMulticaster.actionPerformed352,11037
-    public void 
itemStateChanged(AWTEventMulticaster.itemStateChanged362,11356
-    public void 
adjustmentValueChanged(AWTEventMulticaster.adjustmentValueChanged372,11690
-    public void 
textValueChanged(AWTEventMulticaster.textValueChanged376,11874
-    public static ComponentListener add(AWTEventMulticaster.add387,12225
-    public static ContainerListener add(AWTEventMulticaster.add397,12571
-    public static FocusListener add(AWTEventMulticaster.add407,12901
-    public static KeyListener add(AWTEventMulticaster.add417,13207
-    public static MouseListener add(AWTEventMulticaster.add427,13513
-    public static MouseMotionListener add(AWTEventMulticaster.add437,13855
-    public static WindowListener add(AWTEventMulticaster.add447,14197
-    public static ActionListener add(AWTEventMulticaster.add457,14519
-    public static ItemListener add(AWTEventMulticaster.add467,14833
-    public static AdjustmentListener add(AWTEventMulticaster.add477,15163
-    public static TextListener add(AWTEventMulticaster.add480,15310
-    public static ComponentListener 
remove(AWTEventMulticaster.remove490,15664
-    public static ContainerListener 
remove(AWTEventMulticaster.remove500,16044
-    public static FocusListener remove(AWTEventMulticaster.remove510,16408
-    public static KeyListener remove(AWTEventMulticaster.remove520,16748
-    public static MouseListener remove(AWTEventMulticaster.remove530,17088
-    public static MouseMotionListener 
remove(AWTEventMulticaster.remove540,17465
-    public static WindowListener remove(AWTEventMulticaster.remove550,17841
-    public static ActionListener remove(AWTEventMulticaster.remove560,18197
-    public static ItemListener remove(AWTEventMulticaster.remove570,18545
-    public static AdjustmentListener 
remove(AWTEventMulticaster.remove580,18909
-    public static TextListener remove(AWTEventMulticaster.remove583,19062
-    protected static EventListener 
addInternal(AWTEventMulticaster.addInternal597,19608
-    protected static EventListener 
removeInternal(AWTEventMulticaster.removeInternal614,20244
-    protected void saveInternal(AWTEventMulticaster.saveInternal628,20582
-    static void save(AWTEventMulticaster.save646,21131
-
-java-src/KeyEve.java,8202
-public class KeyEvent 36,1075
-    public static final int KEY_FIRST KeyEvent.KEY_FIRST41,1201
-    public static final int KEY_LAST KeyEvent.KEY_LAST46,1328
-    public static final int KEY_TYPED KeyEvent.KEY_TYPED52,1513
-    public static final int KEY_PRESSED KeyEvent.KEY_PRESSED57,1616
-    public static final int KEY_RELEASED KeyEvent.KEY_RELEASED62,1744
-    public static final int VK_ENTER KeyEvent.VK_ENTER85,2950
-    public static final int VK_BACK_SPACE KeyEvent.VK_BACK_SPACE86,3004
-    public static final int VK_TAB KeyEvent.VK_TAB87,3058
-    public static final int VK_CANCEL KeyEvent.VK_CANCEL88,3112
-    public static final int VK_CLEAR KeyEvent.VK_CLEAR89,3166
-    public static final int VK_SHIFT KeyEvent.VK_SHIFT90,3220
-    public static final int VK_CONTROL KeyEvent.VK_CONTROL91,3274
-    public static final int VK_ALT KeyEvent.VK_ALT92,3328
-    public static final int VK_PAUSE KeyEvent.VK_PAUSE93,3382
-    public static final int VK_CAPS_LOCK KeyEvent.VK_CAPS_LOCK94,3436
-    public static final int VK_ESCAPE KeyEvent.VK_ESCAPE95,3490
-    public static final int VK_SPACE KeyEvent.VK_SPACE96,3544
-    public static final int VK_PAGE_UP KeyEvent.VK_PAGE_UP97,3598
-    public static final int VK_PAGE_DOWN KeyEvent.VK_PAGE_DOWN98,3652
-    public static final int VK_END KeyEvent.VK_END99,3706
-    public static final int VK_HOME KeyEvent.VK_HOME100,3760
-    public static final int VK_LEFT KeyEvent.VK_LEFT101,3814
-    public static final int VK_UP KeyEvent.VK_UP102,3868
-    public static final int VK_RIGHT KeyEvent.VK_RIGHT103,3922
-    public static final int VK_DOWN KeyEvent.VK_DOWN104,3976
-    public static final int VK_COMMA KeyEvent.VK_COMMA105,4030
-    public static final int VK_PERIOD KeyEvent.VK_PERIOD106,4084
-    public static final int VK_SLASH KeyEvent.VK_SLASH107,4138
-    public static final int VK_0 KeyEvent.VK_0110,4268
-    public static final int VK_1 KeyEvent.VK_1111,4322
-    public static final int VK_2 KeyEvent.VK_2112,4376
-    public static final int VK_3 KeyEvent.VK_3113,4430
-    public static final int VK_4 KeyEvent.VK_4114,4484
-    public static final int VK_5 KeyEvent.VK_5115,4538
-    public static final int VK_6 KeyEvent.VK_6116,4592
-    public static final int VK_7 KeyEvent.VK_7117,4646
-    public static final int VK_8 KeyEvent.VK_8118,4700
-    public static final int VK_9 KeyEvent.VK_9119,4754
-    public static final int VK_SEMICOLON KeyEvent.VK_SEMICOLON121,4809
-    public static final int VK_EQUALS KeyEvent.VK_EQUALS122,4863
-    public static final int VK_A KeyEvent.VK_A125,4993
-    public static final int VK_B KeyEvent.VK_B126,5047
-    public static final int VK_C KeyEvent.VK_C127,5101
-    public static final int VK_D KeyEvent.VK_D128,5155
-    public static final int VK_E KeyEvent.VK_E129,5209
-    public static final int VK_F KeyEvent.VK_F130,5263
-    public static final int VK_G KeyEvent.VK_G131,5317
-    public static final int VK_H KeyEvent.VK_H132,5371
-    public static final int VK_I KeyEvent.VK_I133,5425
-    public static final int VK_J KeyEvent.VK_J134,5479
-    public static final int VK_K KeyEvent.VK_K135,5533
-    public static final int VK_L KeyEvent.VK_L136,5587
-    public static final int VK_M KeyEvent.VK_M137,5641
-    public static final int VK_N KeyEvent.VK_N138,5695
-    public static final int VK_O KeyEvent.VK_O139,5749
-    public static final int VK_P KeyEvent.VK_P140,5803
-    public static final int VK_Q KeyEvent.VK_Q141,5857
-    public static final int VK_R KeyEvent.VK_R142,5911
-    public static final int VK_S KeyEvent.VK_S143,5965
-    public static final int VK_T KeyEvent.VK_T144,6019
-    public static final int VK_U KeyEvent.VK_U145,6073
-    public static final int VK_V KeyEvent.VK_V146,6127
-    public static final int VK_W KeyEvent.VK_W147,6181
-    public static final int VK_X KeyEvent.VK_X148,6235
-    public static final int VK_Y KeyEvent.VK_Y149,6289
-    public static final int VK_Z KeyEvent.VK_Z150,6343
-    public static final int VK_OPEN_BRACKET KeyEvent.VK_OPEN_BRACKET152,6398
-    public static final int VK_BACK_SLASH KeyEvent.VK_BACK_SLASH153,6452
-    public static final int VK_CLOSE_BRACKET 
KeyEvent.VK_CLOSE_BRACKET154,6506
-    public static final int VK_NUMPAD0 KeyEvent.VK_NUMPAD0156,6561
-    public static final int VK_NUMPAD1 KeyEvent.VK_NUMPAD1157,6615
-    public static final int VK_NUMPAD2 KeyEvent.VK_NUMPAD2158,6669
-    public static final int VK_NUMPAD3 KeyEvent.VK_NUMPAD3159,6723
-    public static final int VK_NUMPAD4 KeyEvent.VK_NUMPAD4160,6777
-    public static final int VK_NUMPAD5 KeyEvent.VK_NUMPAD5161,6831
-    public static final int VK_NUMPAD6 KeyEvent.VK_NUMPAD6162,6885
-    public static final int VK_NUMPAD7 KeyEvent.VK_NUMPAD7163,6939
-    public static final int VK_NUMPAD8 KeyEvent.VK_NUMPAD8164,6993
-    public static final int VK_NUMPAD9 KeyEvent.VK_NUMPAD9165,7047
-    public static final int VK_MULTIPLY KeyEvent.VK_MULTIPLY166,7101
-    public static final int VK_ADD KeyEvent.VK_ADD167,7155
-    public static final int VK_SEPARATER KeyEvent.VK_SEPARATER168,7209
-    public static final int VK_SUBTRACT KeyEvent.VK_SUBTRACT169,7263
-    public static final int VK_DECIMAL KeyEvent.VK_DECIMAL170,7317
-    public static final int VK_DIVIDE KeyEvent.VK_DIVIDE171,7371
-    public static final int VK_F1 KeyEvent.VK_F1172,7425
-    public static final int VK_F2 KeyEvent.VK_F2173,7479
-    public static final int VK_F3 KeyEvent.VK_F3174,7533
-    public static final int VK_F4 KeyEvent.VK_F4175,7587
-    public static final int VK_F5 KeyEvent.VK_F5176,7641
-    public static final int VK_F6 KeyEvent.VK_F6177,7695
-    public static final int VK_F7 KeyEvent.VK_F7178,7749
-    public static final int VK_F8 KeyEvent.VK_F8179,7803
-    public static final int VK_F9 KeyEvent.VK_F9180,7857
-    public static final int VK_F10 KeyEvent.VK_F10181,7911
-    public static final int VK_F11 KeyEvent.VK_F11182,7965
-    public static final int VK_F12 KeyEvent.VK_F12183,8019
-    public static final int VK_DELETE KeyEvent.VK_DELETE184,8073
-    public static final int VK_NUM_LOCK KeyEvent.VK_NUM_LOCK185,8143
-    public static final int VK_SCROLL_LOCK KeyEvent.VK_SCROLL_LOCK186,8197
-    public static final int VK_PRINTSCREEN KeyEvent.VK_PRINTSCREEN188,8252
-    public static final int VK_INSERT KeyEvent.VK_INSERT189,8306
-    public static final int VK_HELP KeyEvent.VK_HELP190,8360
-    public static final int VK_META KeyEvent.VK_META191,8414
-    public static final int VK_BACK_QUOTE KeyEvent.VK_BACK_QUOTE193,8469
-    public static final int VK_QUOTE KeyEvent.VK_QUOTE194,8523
-    public static final int VK_FINAL KeyEvent.VK_FINAL197,8608
-    public static final int VK_CONVERT KeyEvent.VK_CONVERT198,8662
-    public static final int VK_NONCONVERT KeyEvent.VK_NONCONVERT199,8716
-    public static final int VK_ACCEPT KeyEvent.VK_ACCEPT200,8770
-    public static final int VK_MODECHANGE KeyEvent.VK_MODECHANGE201,8824
-    public static final int VK_KANA KeyEvent.VK_KANA202,8878
-    public static final int VK_KANJI KeyEvent.VK_KANJI203,8932
-    public static final int VK_UNDEFINED KeyEvent.VK_UNDEFINED208,9062
-    public static final char CHAR_UNDEFINED KeyEvent.CHAR_UNDEFINED214,9259
-    int  keyCode;KeyEvent.keyCode216,9313
-    char keyChar;KeyEvent.keyChar217,9331
-     private static final long serialVersionUID 
KeyEvent.serialVersionUID222,9398
-    public KeyEvent(KeyEvent.KeyEvent234,9912
-    public KeyEvent(KeyEvent.KeyEvent252,10510
-    public int getKeyCode(KeyEvent.getKeyCode261,10836
-    public void setKeyCode(KeyEvent.setKeyCode265,10897
-    public void setKeyChar(KeyEvent.setKeyChar269,10978
-    public void setModifiers(KeyEvent.setModifiers273,11060
-    public char getKeyChar(KeyEvent.getKeyChar282,11331
-    public static String getKeyText(KeyEvent.getKeyText290,11561
-    public static String 
getKeyModifiersText(KeyEvent.getKeyModifiersText377,16662
-    public boolean isActionKey(KeyEvent.isActionKey403,17618
-    public String paramString(KeyEvent.paramString407,17704
-
-java-src/SMan.java,5665
-class SecurityManager 80,3387
-    protected boolean inCheck;SecurityManager.inCheck87,3576
-    private boolean initialized SecurityManager.initialized90,3678
-    public boolean getInCheck(SecurityManager.getInCheck101,4075
-    protected SecurityManager(SecurityManager.SecurityManager114,4497
-    protected native Class[] 
getClassContext(SecurityManager.getClassContext130,5038
-    protected native ClassLoader 
currentClassLoader(SecurityManager.currentClassLoader142,5529
-    protected Class 
currentLoadedClass(SecurityManager.currentLoadedClass149,5707
-    protected native int classDepth(SecurityManager.classDepth162,6167
-    protected native int 
classLoaderDepth(SecurityManager.classLoaderDepth174,6668
-    protected boolean inClass(SecurityManager.inClass184,7034
-    protected boolean inClassLoader(SecurityManager.inClassLoader196,7372
-    public Object 
getSecurityContext(SecurityManager.getSecurityContext221,8485
-    public void 
checkCreateClassLoader(SecurityManager.checkCreateClassLoader238,9069
-    public void checkAccess(SecurityManager.checkAccess268,10298
-    public void checkAccess(SecurityManager.checkAccess298,11632
-    public void checkExit(SecurityManager.checkExit323,12649
-    public void checkExec(SecurityManager.checkExec349,13734
-    public void checkLink(SecurityManager.checkLink375,14813
-    public void checkRead(SecurityManager.checkRead394,15485
-    public void checkRead(SecurityManager.checkRead412,16111
-    public void checkRead(SecurityManager.checkRead434,17017
-    public void checkWrite(SecurityManager.checkWrite453,17706
-    public void checkWrite(SecurityManager.checkWrite471,18337
-    public void checkDelete(SecurityManager.checkDelete493,19165
-    public void checkConnect(SecurityManager.checkConnect517,20119
-    public void checkConnect(SecurityManager.checkConnect543,21254
-    public void checkListen(SecurityManager.checkListen561,21910
-    public void checkAccept(SecurityManager.checkAccept585,22887
-    public void checkMulticast(SecurityManager.checkMulticast597,23272
-    public void checkMulticast(SecurityManager.checkMulticast610,23732
-    public void 
checkPropertiesAccess(SecurityManager.checkPropertiesAccess632,24609
-    public void 
checkPropertyAccess(SecurityManager.checkPropertyAccess654,25449
-    public boolean 
checkTopLevelWindow(SecurityManager.checkTopLevelWindow680,26580
-    public void 
checkPrintJobAccess(SecurityManager.checkPrintJobAccess689,26763
-    public void 
checkSystemClipboardAccess(SecurityManager.checkSystemClipboardAccess698,26958
-    public void 
checkAwtEventQueueAccess(SecurityManager.checkAwtEventQueueAccess707,27159
-    public void 
checkPackageAccess(SecurityManager.checkPackageAccess729,27966
-    public void 
checkPackageDefinition(SecurityManager.checkPackageDefinition751,28803
-    public void checkSetFactory(SecurityManager.checkSetFactory775,29929
-    public void checkMemberAccess(SecurityManager.checkMemberAccess786,30209
-    public void 
checkSecurityAccess(SecurityManager.checkSecurityAccess796,30430
-    private native Class 
currentLoadedClass0(SecurityManager.currentLoadedClass0800,30522
-    public ThreadGroup getThreadGroup(SecurityManager.getThreadGroup811,30923
-class NullSecurityManager 817,31025
-    public void 
checkCreateClassLoader(NullSecurityManager.checkCreateClassLoader818,31077
-    public void checkAccess(NullSecurityManager.checkAccess819,31123
-    public void checkAccess(NullSecurityManager.checkAccess820,31165
-    public void checkExit(NullSecurityManager.checkExit821,31212
-    public void checkExec(NullSecurityManager.checkExec822,31254
-    public void checkLink(NullSecurityManager.checkLink823,31296
-    public void checkRead(NullSecurityManager.checkRead824,31338
-    public void checkRead(NullSecurityManager.checkRead825,31387
-    public void checkRead(NullSecurityManager.checkRead826,31430
-    public void checkWrite(NullSecurityManager.checkWrite827,31489
-    public void checkWrite(NullSecurityManager.checkWrite828,31539
-    public void checkDelete(NullSecurityManager.checkDelete829,31583
-    public void checkConnect(NullSecurityManager.checkConnect830,31628
-    public void checkConnect(NullSecurityManager.checkConnect831,31684
-    public void checkListen(NullSecurityManager.checkListen832,31756
-    public void checkAccept(NullSecurityManager.checkAccept833,31798
-    public void checkMulticast(NullSecurityManager.checkMulticast834,31853
-    public void checkMulticast(NullSecurityManager.checkMulticast835,31907
-    public void 
checkPropertiesAccess(NullSecurityManager.checkPropertiesAccess836,31971
-    public void 
checkPropertyAccess(NullSecurityManager.checkPropertyAccess837,32015
-    public void 
checkPropertyAccess(NullSecurityManager.checkPropertyAccess838,32067
-    public boolean 
checkTopLevelWindow(NullSecurityManager.checkTopLevelWindow839,32131
-    public void 
checkPrintJobAccess(NullSecurityManager.checkPrintJobAccess840,32202
-    public void 
checkSystemClipboardAccess(NullSecurityManager.checkSystemClipboardAccess841,32244
-    public void 
checkAwtEventQueueAccess(NullSecurityManager.checkAwtEventQueueAccess842,32293
-    public void 
checkPackageAccess(NullSecurityManager.checkPackageAccess843,32340
-    public void 
checkPackageDefinition(NullSecurityManager.checkPackageDefinition844,32391
-    public void checkSetFactory(NullSecurityManager.checkSetFactory845,32446
-    public void 
checkMemberAccess(NullSecurityManager.checkMemberAccess846,32484
-    public void 
checkSecurityAccess(NullSecurityManager.checkSecurityAccess847,32546
-
-java-src/SysCol.java,4762
-public final class SystemColor 37,1402
-    public final static int DESKTOP SystemColor.DESKTOP42,1555
-    public final static int ACTIVE_CAPTION SystemColor.ACTIVE_CAPTION47,1677
-    public final static int ACTIVE_CAPTION_TEXT 
SystemColor.ACTIVE_CAPTION_TEXT52,1800
-    public final static int ACTIVE_CAPTION_BORDER 
SystemColor.ACTIVE_CAPTION_BORDER57,1930
-    public final static int INACTIVE_CAPTION 
SystemColor.INACTIVE_CAPTION62,2068
-    public final static int INACTIVE_CAPTION_TEXT 
SystemColor.INACTIVE_CAPTION_TEXT67,2195
-    public final static int INACTIVE_CAPTION_BORDER 
SystemColor.INACTIVE_CAPTION_BORDER72,2329
-    public final static int WINDOW SystemColor.WINDOW77,2459
-    public final static int WINDOW_BORDER SystemColor.WINDOW_BORDER82,2568
-    public final static int WINDOW_TEXT SystemColor.WINDOW_TEXT87,2682
-    public final static int MENU SystemColor.MENU92,2798
-    public final static int MENU_TEXT SystemColor.MENU_TEXT97,2902
-    public final static int TEXT SystemColor.TEXT102,3017
-    public final static int TEXT_TEXT SystemColor.TEXT_TEXT107,3121
-    public final static int TEXT_HIGHLIGHT SystemColor.TEXT_HIGHLIGHT112,3235
-    public final static int TEXT_HIGHLIGHT_TEXT 
SystemColor.TEXT_HIGHLIGHT_TEXT117,3359
-    public final static int TEXT_INACTIVE_TEXT 
SystemColor.TEXT_INACTIVE_TEXT122,3487
-    public final static int CONTROL SystemColor.CONTROL127,3614
-    public final static int CONTROL_TEXT SystemColor.CONTROL_TEXT132,3724
-    public final static int CONTROL_HIGHLIGHT 
SystemColor.CONTROL_HIGHLIGHT137,3844
-    public final static int CONTROL_LT_HIGHLIGHT 
SystemColor.CONTROL_LT_HIGHLIGHT142,3975
-    public final static int CONTROL_SHADOW SystemColor.CONTROL_SHADOW147,4100
-    public final static int CONTROL_DK_SHADOW 
SystemColor.CONTROL_DK_SHADOW152,4224
-    public final static int SCROLLBAR SystemColor.SCROLLBAR157,4352
-    public final static int INFO SystemColor.INFO162,4467
-    public final static int INFO_TEXT SystemColor.INFO_TEXT167,4571
-    public final static int NUM_COLORS SystemColor.NUM_COLORS172,4681
-    public final static SystemColor desktop SystemColor.desktop177,4790
-    public final static SystemColor activeCaption 
SystemColor.activeCaption182,4945
-    public final static SystemColor activeCaptionText 
SystemColor.activeCaptionText187,5107
-    public final static SystemColor activeCaptionBorder 
SystemColor.activeCaptionBorder192,5280
-    public final static SystemColor inactiveCaption 
SystemColor.inactiveCaption197,5470
-    public final static SystemColor inactiveCaptionText 
SystemColor.inactiveCaptionText202,5645
-    public final static SystemColor inactiveCaptionBorder 
SystemColor.inactiveCaptionBorder207,5830
-    public final static SystemColor window SystemColor.window212,5996
-    public final static SystemColor windowBorder 
SystemColor.windowBorder217,6126
-    public final static SystemColor windowText SystemColor.windowText222,6267
-    public final static SystemColor menu SystemColor.menu227,6408
-    public final static SystemColor menuText SystemColor.menuText232,6530
-    public final static SystemColor text SystemColor.text237,6677
-    public final static SystemColor textText SystemColor.textText242,6809
-    public final static SystemColor textHighlight 
SystemColor.textHighlight247,6957
-    public final static SystemColor textHighlightText 
SystemColor.textHighlightText252,7109
-    public final static SystemColor textInactiveText 
SystemColor.textInactiveText257,7267
-    public final static SystemColor control SystemColor.control262,7431
-    public final static SystemColor controlText 
SystemColor.controlText267,7569
-    public final static SystemColor controlHighlight 
SystemColor.controlHighlight272,7727
-    public final static SystemColor controlLtHighlight 
SystemColor.controlLtHighlight277,7897
-    public final static SystemColor controlShadow 
SystemColor.controlShadow282,8069
-    public final static SystemColor controlDkShadow 
SystemColor.controlDkShadow287,8227
-    public final static SystemColor scrollbar SystemColor.scrollbar292,8384
-    public final static SystemColor info SystemColor.info297,8532
-    public final static SystemColor infoText SystemColor.infoText302,8664
-    private static int[] systemColors SystemColor.systemColors308,8885
-    private static final long serialVersionUID 
SystemColor.serialVersionUID340,10406
-    static SystemColor.static342,10478
-    private static void 
updateSystemColors(SystemColor.updateSystemColors349,10617
-    private SystemColor(SystemColor.SystemColor357,10885
-    public int getRGB(SystemColor.getRGB370,11245
-    public String toString(SystemColor.toString377,11388
-
-java-src/TG.java,2547
-class ThreadGroup 54,2104
-    ThreadGroup parent;ThreadGroup.parent55,2124
-    String name;ThreadGroup.name56,2148
-    int maxPriority;ThreadGroup.maxPriority57,2165
-    boolean destroyed;ThreadGroup.destroyed58,2186
-    boolean daemon;ThreadGroup.daemon59,2209
-    boolean vmAllowSuspension;ThreadGroup.vmAllowSuspension60,2229
-    int nthreads;ThreadGroup.nthreads62,2261
-    Thread threads[ThreadGroup.threads63,2279
-    int ngroups;ThreadGroup.ngroups65,2302
-    ThreadGroup groups[ThreadGroup.groups66,2319
-    private ThreadGroup(ThreadGroup.ThreadGroup72,2495
-    public ThreadGroup(ThreadGroup.ThreadGroup84,2848
-    public ThreadGroup(ThreadGroup.ThreadGroup105,3714
-    public final String getName(ThreadGroup.getName124,4189
-    public final ThreadGroup getParent(ThreadGroup.getParent135,4492
-    public final int getMaxPriority(ThreadGroup.getMaxPriority148,4867
-    public final boolean isDaemon(ThreadGroup.isDaemon161,5305
-    public synchronized boolean isDestroyed(ThreadGroup.isDestroyed170,5470
-    public final void setDaemon(ThreadGroup.setDaemon192,6368
-    public final void setMaxPriority(ThreadGroup.setMaxPriority213,7110
-    public final boolean parentOf(ThreadGroup.parentOf246,8106
-    public final void checkAccess(ThreadGroup.checkAccess268,8834
-    public int activeCount(ThreadGroup.activeCount283,9286
-    public int enumerate(ThreadGroup.enumerate322,10497
-    public int enumerate(ThreadGroup.enumerate344,11481
-    private int enumerate(ThreadGroup.enumerate348,11584
-    public int activeGroupCount(ThreadGroup.activeGroupCount389,12588
-    public int enumerate(ThreadGroup.enumerate425,13727
-    public int enumerate(ThreadGroup.enumerate445,14595
-    private int enumerate(ThreadGroup.enumerate449,14703
-    public final void stop(ThreadGroup.stop499,16212
-    public final void suspend(ThreadGroup.suspend537,17477
-    public final void resume(ThreadGroup.resume575,18749
-    public final void destroy(ThreadGroup.destroy607,19779
-    private final void add(ThreadGroup.add643,20704
-    private void remove(ThreadGroup.remove668,21402
-    void add(ThreadGroup.add697,22142
-    void remove(ThreadGroup.remove722,22808
-    public void list(ThreadGroup.list751,23503
-    void list(ThreadGroup.list754,23556
-    public void uncaughtException(ThreadGroup.uncaughtException810,25512
-    public boolean 
allowThreadSuspension(ThreadGroup.allowThreadSuspension823,25823
-    public String toString(ThreadGroup.toString837,26142
-
 lua-src/allegro.lua,400
 local function get_layer_by_name 7,175
 local function count_layers 33,621
@@ -5579,292 +3758,6 @@ sub f6 Foo::Bar::f628,244
 package main;32,278
 sub f7 main::f734,293
 
-perl-src/mirror.pl,13410
-sub msg_versionmain::msg_version459,18271
-       local( $arg )( $arg 468,18582
-               local( $flag, $p )( $flag, $p 480,18757
-               local( $site_path )( $site_path 525,19687
-                       local( $site, $path )( $site, $path 539,19958
-               local( $key_val )( $key_val 578,20743
-               local( $user )( $user 595,21097
-               local( $c )( $c 634,21853
-                       local( $sec,$min,$hour,$mday,$mon,$year,( 
$sec,$min,$hour,$mday,$mon,$year,678,22807
-       local( $c )( $c 706,23393
-       local( $dir, $mp )( $dir, $mp 723,23695
-               local( $f )( $f 725,23740
-sub interpret_config_filesmain::interpret_config_files756,24304
-       local( $fname )( $fname 758,24333
-sub interpret_configmain::interpret_config785,24927
-sub parse_linemain::parse_line827,25710
-       local( $eqpl )( $eqpl 829,25727
-       local( $cont )( $cont 830,25744
-                       local( $v )( $v 839,26029
-sub set_defaultsmain::set_defaults860,26448
-sub command_line_overridemain::command_line_override868,26579
-       local( $key, $val, $overrides )( $key, $val, $overrides 870,26607
-sub set_variablesmain::set_variables894,27072
-       local( $key, $val )( $key, $val 896,27092
-                       local( $val_name )( $val_name 902,27259
-               local( $val )( $val 953,28825
-sub upd_valmain::upd_val962,28974
-       local( $key )( $key 964,28988
-sub pr_variablesmain::pr_variables970,29083
-       local( $msg )( $msg 972,29102
-       local( $nle )( $nle 973,29123
-       local( $out )( $out 974,29144
-       local( $key, $val, $str )( $key, $val, $str 975,29164
-sub do_mirrormain::do_mirror1007,29923
-       local( $get_one_package )( $get_one_package 1009,29939
-       local( $exit_status )( $exit_status 1030,30384
-                       local( @t )( @t 1154,33165
-       local( $con )( $con 1241,35499
-               local( @rhelp )( @rhelp 1289,36702
-       local( @sub_dirs )( @sub_dirs 1329,37778
-       local( $now )( $now 1493,41348
-               local( $arg )( $arg 1506,41774
-sub disconnectmain::disconnect1528,42250
-sub connectmain::connect1546,42576
-       local( $attempts )( $attempts 1548,42590
-       local( $res )( $res 1549,42642
-sub prodmain::prod1573,43156
-sub checkout_regexpsmain::checkout_regexps1585,43327
-       local( $ret )( $ret 1587,43350
-       local( $t )( $t 1589,43395
-               local( $val )( $val 1597,43701
-                       local( $err )( $err 1601,43786
-sub clear_localmain::clear_local1610,43909
-sub clear_remotemain::clear_remote1625,44172
-sub get_local_directory_detailsmain::get_local_directory_details1640,44445
-       local( @dirs, $dir )( @dirs, $dir 1642,44479
-       local( $last_prodded )( $last_prodded 1643,44502
-       local( $dir_level )( $dir_level 1691,45615
-       local( $i )( $i 1692,45641
-       local( $path, $time, $size, $type, $mode, $name, $isdir, $value, 
$follow )( $path, $time, $size, $type, $mode, $name, $isdir, $value, $follow 
1693,45659
-       local( $dev,$ino,$fmode,$nlink,$uid,$gid,$rdev,$ssize,( 
$dev,$ino,$fmode,$nlink,$uid,$gid,$rdev,$ssize,1694,45736
-                       local( $mapi )( $mapi 1763,47586
-sub get_remote_directory_detailsmain::get_remote_directory_details1789,48122
-       local( $type_changed )( $type_changed 1791,48157
-       local( $udirtmp )( $udirtmp 1792,48186
-       local( $storename )( $storename 1793,48206
-       local( $rls )( $rls 1825,48944
-               local( $dirtmp )( $dirtmp 1830,49002
-               local( $unsquish )( $unsquish 1832,49130
-                       local( $f )( $f 1840,49360
-               local( $dirtmp )( $dirtmp 1859,49866
-               local( $unsquish )( $unsquish 1870,50215
-                       local( $f, $uf )( $f, $uf 1878,50445
-               local( $flags )( $flags 1912,51259
-       local( $parse_state )( $parse_state 1946,52111
-                       local( $msg )( $msg 1963,52486
-sub patch_ls_lR_filemain::patch_ls_lR_file1984,52955
-       local( $f, $fr, $flb, $flt, $flp, $flz, $frb, $frt )( $f, $fr, $flb, 
$flt, $flp, $flz, $frb, $frt 1990,53055
-       local( $to , $tn )( $to , $tn 1991,53110
-       local( $tlb )( $tlb 1995,53225
-               local( $p, $s, $trz, $t, $m )( $p, $s, $trz, $t, $m 2030,54182
-               local( $tlz )( $tlz 2037,54467
-sub parse_timeoutmain::parse_timeout2089,55670
-sub parse_remote_detailsmain::parse_remote_details2095,55754
-       local( $ret )( $ret 2097,55781
-       local( $old_sig )( $old_sig 2098,55797
-sub parse_remote_details_realmain::parse_remote_details_real2125,56234
-       local( $path, $size, $time, $type, $mode, $rdir, $rcwd )( $path, 
$size, $time, $type, $mode, $rdir, $rcwd 2127,56266
-       local( @dir_list )( @dir_list 2128,56325
-       local( $i )( $i 2129,56346
-       local( $old_path )( $old_path 2130,56364
-                               local( $old_path )( $old_path 2143,56630
-                               local( $ri )( $ri 2203,58078
-                       local( $mapi )( $mapi 2214,58335
-                       local( $done )( $done 2239,58911
-sub compare_dirsmain::compare_dirs2283,59825
-       local( *src_paths,( *src_paths,2286,59915
-       local( $src_path, $dest_path, $i )( $src_path, $dest_path, $i 
2293,60099
-       local( $last_prodded )( $last_prodded 2294,60136
-       local( $desti, $srci, $compress, $srciZ, $srcigz, $split, 
$dest_path_real )( $desti, $srci, $compress, $srciZ, $srcigz, $split, 
$dest_path_real 2299,60350
-       local( $old_dest_path, $existing_path, $tmp, $restart )( 
$old_dest_path, $existing_path, $tmp, $restart 2300,60428
-       local( $sp, $dp )( $sp, $dp 2301,60486
-                  local( $real, $reali, $reali1 )( $real, $reali, $reali1 
2352,62034
-                  local( $count )( $count 2353,62072
-                       local( $value )( $value 2408,63996
-                       local( $real )( $real 2409,64028
-                       local( $reali )( $reali 2410,64086
-                               local( $old )( $old 2421,64571
-                       local( $old_dest_path )( $old_dest_path 2432,64842
-                               local( $dpp, $dps )( $dpp, $dps 2509,67031
-               local( $update )( $update 2534,67671
-sub map_namemain::map_name2651,71028
-       local( $name )( $name 2653,71043
-               local( $old_name )( $old_name 2656,71089
-               local( $tmp )( $tmp 2666,71252
-sub set_timestampsmain::set_timestamps2675,71362
-       local( $src_path )( $src_path 2677,71383
-       local( $dest_path, $dest_loc_mapi, $src_rem_mapi,  $rtime )( 
$dest_path, $dest_loc_mapi, $src_rem_mapi,  $rtime 2685,71517
-sub set_timestampmain::set_timestamp2699,71901
-       local( $path, $time )( $path, $time 2701,71921
-       local( $pr_time )( $pr_time 2703,71953
-sub make_dirsmain::make_dirs2719,72284
-       local( $thing )( $thing 2721,72300
-sub make_symlinksmain::make_symlinks2736,72489
-       local( $thing )( $thing 2738,72509
-               local( $dest, $existing )( $dest, $existing 2745,72623
-               local( $dirpart )( $dirpart 2746,72663
-               local( $ft )( $ft 2747,72704
-               local( $p )( $p 2762,73261
-                       local( $f )( $f 2770,73467
-                       local( $dl )( $dl 2788,74038
-sub do_all_transfersmain::do_all_transfers2806,74439
-       local( $src_path )( $src_path 2808,74462
-       local( $dest_path, $attribs )( $dest_path, $attribs 2809,74483
-       local( $srci )( $srci 2810,74515
-               local( $newpath )( $newpath 2838,75124
-sub transfer_filemain::transfer_file2869,75847
-       local( $src_path, $dest_path, $attribs, $timestamp )( $src_path, 
$dest_path, $attribs, $timestamp 2871,75867
-       local( $dir, $file, $temp, $compress, $split, $restart, $mesg, 
$got_mesg )( $dir, $file, $temp, $compress, $split, $restart, $mesg, $got_mesg 
2872,75927
-               local( $src_file )( $src_file 2915,76782
-               local( $comptemp )( $comptemp 2916,76816
-                       local( $f )( $f 2921,76964
-               local($filesize)($filesize2944,77569
-                       local( $ti )( $ti 2975,78401
-               local( $f )( $f 2997,78887
-               local( $comp )( $comp 2998,78912
-       local( $filesize )( $filesize 3015,79427
-       local( $sizemsg )( $sizemsg 3016,79469
-       local( $srcsize )( $srcsize 3017,79501
-               local( $time )( $time 3029,79865
-       local( $as )( $as 3046,80223
-       local( $locali )( $locali 3054,80499
-sub filename_to_tempnamemain::filename_to_tempname3062,80713
-       local( $dir, $file )( $dir, $file 3064,80740
-       local ( $dest_path )( $dest_path 3066,80769
-sub log_uploadmain::log_upload3090,81228
-       local( $src_path, $dest_path, $got_mesg, $size )( $src_path, 
$dest_path, $got_mesg, $size 3092,81245
-sub do_deletesmain::do_deletes3118,81773
-       local( *src_paths,( *src_paths,3121,81861
-       local( $files_to_go, $dirs_to_go )( $files_to_go, $dirs_to_go 
3125,81960
-       local( $src_path, $i )( $src_path, $i 3131,82055
-       local( $orig_do_deletes )( $orig_do_deletes 3132,82080
-       local( $orig_save_deletes )( $orig_save_deletes 3133,82122
-       local( $del_patt )( $del_patt 3135,82169
-               local( $per )( $per 3162,82843
-               local( $per )( $per 3184,83513
-                       local( $save_dir_tail )( $save_dir_tail 3226,84617
-sub save_deletemain::save_delete3245,85019
-       local( $save, $kind )( $save, $kind 3247,85037
-       local( $real_save_dir, $save_dest )( $real_save_dir, $save_dest 
3249,85067
-       local( $dirname )( $dirname 3284,85704
-sub save_mkdirmain::save_mkdir3304,86155
-       local( $dir )( $dir 3306,86172
-sub do_deletemain::do_delete3320,86459
-       local( $del, $kind )( $del, $kind 3322,86475
-sub filesizemain::filesize3377,87532
-       local( $fname )( $fname 3379,87547
-sub istruemain::istrue3390,87654
-       local( $val )( $val 3392,87667
-sub mksymlinkmain::mksymlink3398,87773
-       local( $dest_path, $existing_path )( $dest_path, $existing_path 
3400,87789
-               local( $msg )( $msg 3417,88246
-               local( $msg )( $msg 3431,88590
-               local( $status )( $status 3442,88816
-sub mkdirsmain::mkdirs3457,89196
-       local( $dir )( $dir 3459,89209
-       local( @dir, $d, $path )( @dir, $d, $path 3460,89230
-sub make_dirmain::make_dir3497,90042
-       local( $dir, $mode )( $dir, $mode 3499,90057
-       local( $val )( $val 3500,90085
-sub dir_existsmain::dir_exists3528,90573
-       local( $dir )( $dir 3530,90590
-       local( $val )( $val 3531,90611
-               local($old_dir)($old_dir3539,90750
-sub set_attribsmain::set_attribs3553,91053
-       local( $path, $src_path, $type )( $path, $src_path, $type 3555,91071
-       local( $mode )( $mode 3556,91111
-               local( $pathi )( $pathi 3564,91229
-               local( $pathi )( $pathi 3568,91320
-sub get_passwdmain::get_passwd3606,91977
-       local( $user )( $user 3608,91994
-       local( $pass )( $pass 3609,92016
-       local( $| )( $| 3610,92033
-sub compare_timesmain::compare_times3631,92384
-       local( $t1, $t2 )( $t1, $t2 3637,92564
-       local( $diff )( $diff 3638,92589
-sub create_assocsmain::create_assocs3643,92688
-       local( $map )( $map 3645,92708
-sub delete_assocsmain::delete_assocs3657,92957
-       local( $map )( $map 3659,92977
-sub unlink_dbmmain::unlink_dbm3671,93247
-       local( $file )( $file 3673,93264
-sub bsplitmain::bsplit3681,93462
-       local( $temp, $dest_path, $time )( $temp, $dest_path, $time 3683,93475
-       local( $dest_dir )( $dest_dir 3684,93516
-       local( $bufsiz )( $bufsiz 3685,93558
-       local( $buffer, $in, $sofar )( $buffer, $in, $sofar 3686,93583
-       local( $d )( $d 3691,93721
-       local( $index )( $index 3697,93840
-       local( $part )( $part 3698,93865
-                       local( $locali )( $locali 3714,94336
-       local( $readme )( $readme 3730,94740
-sub sysmain::sys3739,95116
-       local( $com )( $com 3741,95126
-sub set_assoc_from_arraymain::set_assoc_from_array3751,95355
-       local( *things )( *things 3754,95453
-sub find_progmain::find_prog3760,95537
-       local( $prog )( $prog 3762,95553
-       local( $path )( $path 3763,95575
-               local( $path )( $path 3766,95657
-sub real_dir_from_pathmain::real_dir_from_path3780,95842
-       local( $program )( $program 3782,95867
-       local( @prog_path )( @prog_path 3783,95892
-       local( $dir )( $dir 3784,95970
-sub msgmain::msg3807,96489
-       local( $todo, $msg )( $todo, $msg 3809,96499
-sub to_bytesmain::to_bytes3838,96979
-       local( $size )( $size 3840,96994
-sub unix2vmsmain::unix2vms3858,97332
-       local( $v, $kind )( $v, $kind 3860,97347
-                       local( $dir, $rest )( $dir, $rest 3873,97559
-sub dirpartmain::dirpart3886,97730
-       local( $path )( $path 3888,97744
-sub expand_symlinkmain::expand_symlink3902,98076
-       local( $orig_path, $points_to )( $orig_path, $points_to 3904,98097
-       local( $dirpart )( $dirpart 3905,98136
-sub flatten_pathmain::flatten_path3913,98365
-       local( $path )( $path 3915,98384
-       local( $changed )( $changed 3916,98406
-       local( $i )( $i 3917,98430
-       local( $rooted )( $rooted 3919,98446
-       local( $count )( $count 3920,98482
-       local( $orig_path )( $orig_path 3921,98504
-               local( $in )( $in 3932,98741
-               local( @parts )( @parts 3933,98765
-sub fix_packagemain::fix_package3963,99438
-       local( $package )( $package 3965,99456
-sub will_compressmain::will_compress3970,99529
-sub will_splitmain::will_split3981,99859
-sub myflockmain::myflock3989,100001
-       local( $file, $kind )( $file, $kind 3991,100015
-sub t2strmain::t2str4004,100221
-       local( @t )( @t 4006,100233
-       
local($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst4013,100335
-sub handlermain::handler4022,100583
-        local( $sig )( $sig 4029,100651
-        local( $msg )( $msg 4030,100679
-        local( $package, $filename, $line )( $package, $filename, $line 
4031,100737
-sub trap_signalsmain::trap_signals4036,100859
-       local( $sig )( $sig 4038,100878
-sub map_user_groupmain::map_user_group4047,101158
-sub keepmain::keep4069,101537
-       local( $pathi, $path, *keep, *keep_totals, *keep_map, $kind )( $pathi, 
$path, *keep, *keep_totals, *keep_map, $kind 4071,101548
-sub alarmmain::alarm4104,102330
-       local( $time_to_sig )( $time_to_sig 4106,102342
-sub chownmain::chown4110,102405
-       local( $uid, $gid, $path )( $uid, $gid, $path 4112,102417
-sub utimemain::utime4116,102494
-       local( $atime, $mtime, $path )( $atime, $mtime, $path 4118,102506
-       local( $old_mode )( $old_mode 4124,102685
-       local( $tmp_mode )( $tmp_mode 4125,102730
-       local( $ret )( $ret 4126,102763
-sub cwdmain::cwd4135,102913
-       local( $lcwd )( $lcwd 4137,102923
-
 ps-src/rfc1245.ps,2478
 /FMversion 12,311
 /FrameDict 17,500
diff --git a/test/etags/Makefile b/test/etags/Makefile
index 635d129..a0914e4 100644
--- a/test/etags/Makefile
+++ b/test/etags/Makefile
@@ -4,21 +4,21 @@ CSRC=$(addprefix ./c-src/,abbrev.c .//c.c torture.c getopt.h 
etags.c\
  exit.c exit.strange_suffix sysdep.h tab.c dostorture.c\
  emacs/src/gmalloc.c emacs/src/regex.h emacs/src/keyboard.c emacs/src/lisp.h\
  machsyscalls.c machsyscalls.h fail.c a/b/b.c) ../etags/c-src/h.h
-CPSRC=$(addprefix ./cp-src/,c.C abstract.C abstract.H cfront.H burton.cpp 
burton.cpp\
- functions.cpp MDiagArray2.h Pctest.h Range.h\
+CPSRC=$(addprefix ./cp-src/,c.C burton.cpp burton.cpp\
+ functions.cpp MDiagArray2.h Range.h\
  screen.cpp screen.hpp conway.cpp conway.hpp clheir.cpp.gz clheir.hpp.gz 
fail.C)
 ELSRC=$(addprefix ./el-src/,TAGTEST.EL emacs/lisp/progmodes/etags.el)
-ERLSRC=$(addprefix ./erl-src/,gs_dialog.erl lines.erl lists.erl)
+ERLSRC=$(addprefix ./erl-src/,gs_dialog.erl)
 FORTHSRC=$(addprefix ./forth-src/,test-forth.fth)
 FSRC=$(addprefix ./f-src/,entry.for entry.strange_suffix entry.strange)
 HTMLSRC=$(addprefix ./html-src/,softwarelibero.html index.shtml algrthms.html 
software.html)
-JAVASRC=$(addprefix ./java-src/,AWTEMul.java KeyEve.java SMan.java SysCol.java 
TG.java)
+#JAVASRC=$(addprefix ./java-src/, )
 LUASRC=$(addprefix ./lua-src/,allegro.lua)
 MAKESRC=$(addprefix ./make-src/,Makefile)
 OBJCSRC=$(addprefix ./objc-src/,Subprocess.h Subprocess.m PackInsp.h 
PackInsp.m)
 OBJCPPSRC=$(addprefix ./objcpp-src/,SimpleCalc.H SimpleCalc.M)
 PASSRC=$(addprefix ./pas-src/,common.pas)
-PERLSRC=$(addprefix ./perl-src/,htlmify-cystic yagrip.pl kai-test.pl mirror.pl)
+PERLSRC=$(addprefix ./perl-src/,htlmify-cystic yagrip.pl kai-test.pl)
 PHPSRC=$(addprefix ./php-src/,lce_functions.php ptest.php sendmail.php)
 PSSRC=$(addprefix ./ps-src/,rfc1245.ps)
 PROLSRC=$(addprefix ./prol-src/,ordsets.prolog natded.prolog)
diff --git a/test/etags/cp-src/Pctest.h b/test/etags/cp-src/Pctest.h
deleted file mode 100644
index 52d68aa..0000000
--- a/test/etags/cp-src/Pctest.h
+++ /dev/null
@@ -1,99 +0,0 @@
-// -*- c++ -*-
-//
-// $Id: Pctest.h,v 1.14 2000/01/19 17:14:42 bmah Exp $
-//
-// Pctest.h
-// Bruce A. Mah <address@hidden>
-//
-// This work was first produced by an employee of Sandia National
-// Laboratories under a contract with the U.S. Department of Energy.
-// Sandia National Laboratories dedicates whatever right, title or
-// interest it may have in this software to the public. Although no
-// license from Sandia is needed to copy and use this software,
-// copying and using the software might infringe the rights of
-// others. This software is provided as-is. SANDIA DISCLAIMS ANY
-// WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.
-//
-// Header for virtual base class of tests.  A particular protocol (e.g.
-// IPv4, IPv6) will override the methods of this base class
-// with protocol-specific implementations.
-//
-//
-
-#ifndef PCTEST_H
-#define PCTEST_H
-
-#include <stdio.h>
-
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <string.h>
-#endif /* STDC_HEADERS */
-
-#if HAVE_UNISTD_H
-#include <sys/types.h>
-#endif /* HAVE_UNISTD_H */
-
-#include <sys/socket.h>
-#include <sys/time.h>
-
-#include "pc.h"
-// #include "TestRecord.h"
-class TestRecord;
-
-// Action codes.  ICMPv4 and ICMPv6 have different values for their type
-// and code fields.  The Pctest abstracts these differences.
-typedef enum {
-    PctestActionValid,         // store valid measurement (e.g. ICMP
-                               // time exceeded)
-    PctestActionValidLasthop,  // store valid measurement, this is last hop
-                               // (e.g. ICMP port unreachable)
-    PctestActionFiltered,      // packets filtered, give up (e.g.
-                               // ICMP prohibited)
-    PctestActionAbort          // huh?  we haven't a clue
-} PctestActionType;
-
-class Pctest {
-
-  public:
-    Pctest() {
-       initialized = 0;
-       TimeSyscall(syscallTime);
-
-       IF_DEBUG(3, fprintf(stderr, "syscallTime.tv_usec = %ld\n", 
syscallTime.tv_usec));
-    }
-    virtual ~Pctest() { };
-
-    // Get gettimeofday() system call overhead.
-    virtual void TimeSyscall(struct timeval &diff);
-
-    // Get random payload buffer
-    virtual char *GeneratePayload(int size);
-
-    // Set target host for our tests (resolve if necessary)
-    virtual int SetTargetName(char *target) = 0;
-
-    // Get target host name and address
-    virtual char *GetTargetName() { return targetName; };
-    virtual char *GetPrintableAddress() = 0;
-    virtual char *GetPrintableAddress(void *a) = 0;
-    virtual char *GetName(void *a) = 0;
-    virtual char *GetAddressFamily() = 0;
-
-    // Perform a test and return statistics
-    virtual int Test(TestRecord &tr) = 0;
-    virtual PctestActionType GetAction(TestRecord &tr) = 0;
-    virtual PctestActionType GetAction(TestRecord *tr) {
-       return this->GetAction(*tr);
-    };
-
-    virtual int GetMinSize() = 0;
-
-  protected:
-    int initialized;           // initialization flag
-    char *targetName;          // target hostname
-    struct timeval syscallTime;        // estimated overhead for gettimeofday()
-
-};
-
-#endif /* PCTEST_H */
diff --git a/test/etags/cp-src/abstract.C b/test/etags/cp-src/abstract.C
deleted file mode 100644
index 82aded4..0000000
--- a/test/etags/cp-src/abstract.C
+++ /dev/null
@@ -1,4840 +0,0 @@
-/*****************************************************************************
-
-  Copyright (c) 1992 Consorzio Pisa Ricerche.
-  Authors: Caneve Maurizio, Salvatori Elena
-
-  This software was produced under the ESPRIT/LOTOSPHERE
-  project. All rights reserved.
-
-*****************************************************************************/
-
-/*                                                             */
-/*     @(#)abstract.c  4.46  2/1/93                            */
-/*                                                             */
-
-#include <defs.h>
-#include <adatat.h>
-#include <abstract.h>
-#include <editor.h>
-#include <graphics.h>
-#include <sheet.h>
-#include <folder.h>
-
-#include <stdio.h>
-#include <string.h>
-
-#ifdef DEBUG
- #include <stream.h>
-#endif
-
-/*                                                             */
-/*     implementation of class Half_Container                  */
-/*                                                             */
-
-Half_Container::Half_Container(ID_List *g_l)
-{
-gate_list = g_l;
-type = HALFCONTAINER;
-selectable = FALSE;
-visible = g_l->GetVisible();
-
-Set_Unparser(new Gl_Half_Container(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Half_Container::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "HalfContainer" << x << " " << y << "\n";
- cout << "HalfContainer" << h << " " << w << "\n";
-#endif
-if(father->GetTextual())
-   gate_list->SetPosition(x,y);
- else gate_list->SetPosition(x + ROUND_CORNER,y - ROUND_CORNER);
-}
-
-void Half_Container::SetDimensions(void)
-{
-gate_list->SetDimensions();
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     
-     if(father->GetTextual())
-       {
-       h = Tree_Node::inUseFont()->Height();
-       w = gate_list->Get_W(); 
-       }
-      else {
-           h = gate_list->Get_H() + ROUND_CORNER + VBORDER;
-           w = gate_list->Get_W() + 2 * ROUND_CORNER;
-           }
-     }
-aligline = round(h/2.0);
-}
-
-void Half_Container::SetFather(Tree_Node *f)
-{
-father = f;
-gate_list->SetFather(this);
-}
-
-void Half_Container::SetCollapsed(char t)
-{
-collapsed = t;
-gate_list->SetCollapsed(t);
-}
-
-
-/*                                                             */
-/*     implementation of class Specification methods           */
-/*                                                             */
-
-Specification::Specification(Comment_List *c_l, ID_Place *id, ID_List *g_i_l, 
-                            Id_Decl_List *i_d_l, Comment_List *c_l1, 
Definition *d,
-                             Tree_Node *f, Data_List *data_l)
-{
-Gl_Sheet *sh;
-type = SPECIFICATION;
-selectable = FALSE;
-com_list = c_l;
-com_list1 = c_l1;
-ident = id;
-gate_list = g_i_l;
-id_decl_list = i_d_l;
-def = d;
-func = f;
-dt_list = data_l; 
-Set_Unparser(new Gl_Specification(this));
-sh = (glow->Get_Folder())->Current();
-sh->Add(Get_Unparser());
-sh->SetRoot(this);
-}
-
-void Specification::SetPosition(Coord xx, Coord yy)
-{
-Coord x1,y1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Specification" << x << " " << y << "\n";
- cout << "Specification" << h << " " << w << "\n";
-#endif
-com_list->SetPosition(x,y);
-
-y1 = (com_list->Get_H() == 0)?y :y - com_list->Get_H() - SEPARATOR;
-com_list1->SetPosition(x,y1);
-
-x1 = x + round((w - gate_list->Get_W()) / 2.0);
-y1 = (com_list1->Get_H() == 0)?y1 :y1 - com_list1->Get_H() - SEPARATOR;
-gate_list->SetPosition(x1,y1);
-
-y = y1 - gate_list->Get_H();
-
-x1 = x + round((w - ident->Get_W()) / 2.0);
-y1 = y - VBORDER;
-ident->SetPosition(x1,y1);
-yl1 = y1 - ident->Get_H() - VBORDER;
-
-x1 = x + round((w - id_decl_list->Get_W()) / 2.0);
-y1 = yl1 - VBORDER;
-id_decl_list->SetPosition(x1,y1);
-
-yl2 = y1 - id_decl_list->Get_H() - VBORDER;
-
-y1 = (id_decl_list->Get_H() == 0)? yl2 + 2 * VBORDER - BORDER
-                                  : yl2 - BORDER;
-x1 = x + round((w - def->Get_W()) / 2.0);
-def->SetPosition(x1,y1);
-
-if(func->GetType() == EXIT && func->Get_W() != 0)
-   yl3 = y1 - def->Get_H() - BORDER;
- else yl3 = 0;
-x1 = x + round((w - func->Get_W()) / 2.0);
-if(func->GetType() == EXIT)
-  ((Exit *)func)->SetPosition(x1,y - h + func->Get_H(),x + w,y - h + 
func->Get_H());
- else func->SetPosition(x + w, y - h + func->Get_H());
-}
-
-void Specification::SetDimensions(void)
-{
-com_list->SetDimensions();
-com_list1->SetDimensions();
-ident->SetDimensions();
-gate_list->SetDimensions();
-id_decl_list->SetDimensions();
-func->SetDimensions();
-def->SetDimensions();
-w = Max4(gate_list->Get_W(),ident->Get_W(),id_decl_list->Get_W(),def->Get_W());
-w = Max(w, func->Get_W());
-w += 2 * BORDER;
-
-h = ident->Get_H()+id_decl_list->Get_H()+def->Get_H();
-h = (func->GetType() == EXIT && func->Get_W() != 0)? h + func->Get_H(): h;
-h = (id_decl_list->Get_H() == 0)? h + 2 * VBORDER + 2 * BORDER
-                          : h + 4 * VBORDER + 2 * BORDER;
-MaxX = com_list->Get_W();
-MaxX = Max(MaxX, w + EXIT_S);
-MaxY = h + gate_list->Get_H(); /* we have also to take in account the gate 
list      */
-if(com_list->Get_H() != 0)
-  MaxY = MaxY + com_list->Get_H() + SEPARATOR;          /* there are also some 
comments         */
-}
-
-void Specification::SetFather(Tree_Node *f)
-{
-father = f;
-com_list->SetFather(this);
-com_list1->SetFather(this);
-ident->SetFather(this);
-gate_list->SetFather(this);
-id_decl_list->SetFather(this);
-def->SetFather(this);
-func->SetFather(this);
-if(dt_list != NULL)
-  dt_list->SetFather(this);
-}
-
-void Specification::SetPath(int& np, int& nd)
-{
-char buff[PATH_LENGHT];
-np = np + 1;
-sprintf(buff,"of %s",ident->GetIdent());
-def->SetPath(buff, 1, np, nd);
-if(dt_list != NULL)
-  dt_list->SetPath(buff, 0, np, nd);
-}
-
-Coord Specification::GetMaxX()
-{ return(MaxX);}
-
-Coord Specification::GetMaxY()
-{ return(MaxY);}
-
-/*                                                             */
-/*     implementation of class Process methods                 */
-/*                                                             */
-
-Process::Process(Comment_List *c_l, ID_Place *id, ID_List *g_i_l, Id_Decl_List 
*i_d_l,
-                            Definition *d, Tree_Node *f)
-{
-Gl_Sheet *sh;
-type = PROCESS;
-selectable = FALSE;
-nesting = 0;
-com_list = c_l;
-ident = id;
-gate_list = g_i_l;
-id_decl_list = i_d_l;
-def = d;
-func = f;
-Set_Unparser(new Gl_Process(this));
-
-sh = (glow->Get_Folder())->Current();
-sh->Add(Get_Unparser());
-sh->SetRoot(this);
-}
-
-void Process::SetPosition(Coord xx, Coord yy)
-{
-Coord x1,y1;
-x = xx;
-ypath = yy;
-y = yy - SEPARATOR - ident->Get_H();                   /* it is equal to the 
height of the path */
-#ifdef DEBUG
- cout << "Process" << x << " " << y << "\n";
- cout << "Process" << h << " " << w << "\n";
-#endif
-
-com_list->SetPosition(x,y);
-
-x1 = x + round((w - gate_list->Get_W()) / 2.0);
-y1 = (com_list->Get_H() == 0)?y :y - com_list->Get_H() - SEPARATOR;
-gate_list->SetPosition(x1,y1);
-
-y = y1 - gate_list->Get_H();
-
-x1 = x + round((w - ident->Get_W()) / 2.0);
-y1 = y - VBORDER;
-ident->SetPosition(x1,y1);
-yl1 = y1 - ident->Get_H() - VBORDER;
-
-x1 = x + round((w - id_decl_list->Get_W()) / 2.0);
-y1 = yl1 - VBORDER;
-id_decl_list->SetPosition(x1,y1);
-
-if(id_decl_list->Get_H() != 0)
-  {
-  yl2 = y1 - id_decl_list->Get_H() - VBORDER;
-  y1 = yl2 - BORDER;
-  }
- else {
-      yl2 = 0;
-      y1 = yl1 - BORDER;
-      }
-x1 = x + round((w - def->Get_W()) / 2.0);
-def->SetPosition(x1,y1);
-
-if(func->GetType() == EXIT && func->Get_W() != 0)
-   yl3 = y1 - def->Get_H() - BORDER;
- else yl3 = 0;
-x1 = x + round((w - func->Get_W()) / 2.0);
-if(func->GetType() == EXIT)
-  ((Exit *)func)->SetPosition(x1,y - h + func->Get_H(),x + w,y - h + 
func->Get_H());
- else func->SetPosition(x + w, y - h + func->Get_H());
-}
-
-void Process::SetDimensions(void)
-{
-com_list->SetDimensions();
-ident->SetDimensions();
-gate_list->SetDimensions();
-id_decl_list->SetDimensions();
-func->SetDimensions();
-def->SetDimensions();
-w = Max4(gate_list->Get_W(),ident->Get_W(),id_decl_list->Get_W(),def->Get_W());
-w = Max(w, func->Get_W());
-w += 2 * BORDER;
-
-h = ident->Get_H()+id_decl_list->Get_H()+def->Get_H();
-h = (func->GetType() == EXIT && func->Get_W() != 0)? h + func->Get_H(): h;
-h = (id_decl_list->Get_H() == 0)? h + 2 * VBORDER + 2 * BORDER
-                          : h + 4 * VBORDER + 2 * BORDER;
-MaxX = Max(com_list->Get_W(),Tree_Node::inUseFont()->Width(((Proc_List 
*)GetFather())->GetPath()));
-MaxX = Max(MaxX,w + EXIT_S);
-MaxY = h + SEPARATOR + ident->Get_H() + gate_list->Get_H(); /* we have also to 
take in account         */
-                                                            /* the path and 
the gate list      */
-if(com_list->Get_H() != 0)
-  MaxY = MaxY + com_list->Get_H() + SEPARATOR;         /* there are also some 
comments         */
-}
-
-void Process::SetFather(Tree_Node *f)
-{
-father = f;
-com_list->SetFather(this);
-ident->SetFather(this);
-gate_list->SetFather(this);
-id_decl_list->SetFather(this);
-func->SetFather(this);
-def->SetFather(this);
-}
-
-void Process::SetPath(char *p, char n, int& np, int& nd)
-{
-char buff[PATH_LENGHT];
-nesting = n;
-np = np + 1;
-sprintf(buff,"of %s %s",ident->GetIdent(), p);
-def->SetPath(buff, nesting + 1, np, nd);
-}
-
-Coord Process::GetMaxX()
-{return(MaxX);}
-
-Coord Process::GetMaxY()
-{return(MaxY);}
-
-/*                                                             */
-/*     implementation of class Choice methods                  */
-/*                                                             */
-
-
-Choice::Choice(Tree_Node *b1, Tree_Node *b2)
-{
-type = CHOICE;
-alignement = glow->GetAligs(CHOICE);
-bex1 = b1;
-bex2 = b2;
-
-Set_Unparser(new Gl_Choice(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Choice::SetPosition(Coord xx, Coord yy)
-{
-Coord x1,y1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Choice" << x << " " << y << "\n";
- cout << "Choice" << h << " " << w << "\n";
-#endif
-if(textual)
-   {                   
-   SetTerminalPos();
-   x1 = xl + Tree_Node::inUseFont()->Width("[] ");
-   bex1->SetPosition(x1,y - border);
-   bex2->SetPosition(x1, yl);
-   }
- else {                /* graphical            */
-      if(alignement == HOR)
-         {
-         if(!havebox)
-            x1 = x;
-          else x1 = x + BORDER;
-         y1 = round(y - (h - bex1->Get_H())/2.0);
-         bex1->SetPosition(x1,y1);
-         xl = x1 + bex1->Get_W() + BORDER;
-         x1 = xl + BORDER;
-         y1 = round(y - (h - bex2->Get_H())/2.0);
-         bex2->SetPosition(x1,y1);
-         }
-        else {
-             if(!havebox)
-               y1 = y;
-              else y1 = y - BORDER;
-             x1 = round(x + (w - bex1->Get_W())/2.0);
-             bex1->SetPosition(x1,y1);
-             xl = y1 - bex1->Get_H() - BORDER;
-             y1 = xl - BORDER;
-             x1 = round(x + (w - bex2->Get_W())/2.0);
-             bex2->SetPosition(x1,y1);
-             }
-       }
-delta = (!havebox && (father->GetType() != CHOICE))?
-           (father->GetType() == DEFINITION)?
-               round((father->GetFather()->Get_W() - w)/2.0)
-            : round((father->Get_W() - w)/2.0)
-         : BORDER;
-}
-
-void Choice::SetDimensions(void)
-{
-bex1->SetDimensions();
-bex2->SetDimensions();
-border = 0;
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:   if(textual)
-                          {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                          h = Tree_Node::inUseFont()->Height();
-                          if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL ))
-                            {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                        else {
-                              w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                             h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                       break; 
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED: 
-        if(textual)
-           {
-           h = Get_Textual_H(); w = Get_Textual_W();
-           if(!(father->GetTextual()) && (father->GetType() <= PARALLEL))
-              {border = VBORDER; w += 2 * VBORDER; h += 2 * VBORDER; }
-           }
-          else {       /* graphical            */
-              if(alignement == HOR)
-                  {
-                 w = bex1->Get_W() + bex2->Get_W() + 2 * BORDER;
-                 h = Max(bex1->Get_H(), bex2->Get_H());
-                 }
-               else {  
-                    h = bex1->Get_H() + bex2->Get_H() + 2 * BORDER;
-                    w = Max(bex1->Get_W(), bex2->Get_W());
-                    }
-              if(havebox)
-                {w += 2 * BORDER; h += 2 * BORDER;}
-                else {
-                     if((bex1->GetType() == CHOICE) && (bex1->Collapsed() != 
COLLAPSED_VIS))
-                       {
-                      if(alignement == HOR)
-                         ((Choice *)bex1)->ChangeH(h);
-                        else ((Choice *)bex1)->ChangeW(w);
-                      }
-                     if((bex2->GetType() == CHOICE) && (bex2->Collapsed() != 
COLLAPSED_VIS))
-                       {
-                      if(alignement == HOR)
-                         ((Choice *)bex2)->ChangeH(h);
-                        else ((Choice *)bex2)->ChangeW(w);
-                      }
-                     }
-               }
-        break;
-  }
-aligline = round(h/2.0);
-}
-
-void Choice::ChangeH(int nh)
-{
-int bh;                /* it will be the forced height for the second choice 
son       */
-if(!(GetTextual()))
-  {
-  h = nh;
-  bh = h - ((Choice *)bex1)->Get_H();
-  if(alignement == HOR)
-    {
-    if((bex1->GetType() == CHOICE) && (bex1->Collapsed() != COLLAPSED_VIS))
-       ((Choice *)bex1)->ChangeH(h);
-    if((bex2->GetType() == CHOICE) && (bex2->Collapsed() != COLLAPSED_VIS))
-       ((Choice *)bex2)->ChangeH(h);
-    }
-   else {
-        if((bex1->GetType() == CHOICE) && (bex1->Collapsed() != COLLAPSED_VIS))
-           ((Choice *)bex1)->ChangeW(w);
-         else  bh = bh - 2 * BORDER;
-        if((bex2->GetType() == CHOICE) && (bex2->Collapsed() != COLLAPSED_VIS))
-           {
-           ((Choice *)bex2)->ChangeW(w);
-           ((Choice *)bex2)->ChangeH(bh); /* we have to remember the forced    
*/
-                                         /* height, even if the alignwement is 
*/
-                                         /* now vertical                       
        */
-           }
-        }
-  }
-}
-
-void Choice::ChangeW(int nw)
-{
-int bw;
-if(!(GetTextual()))
-  {
-  w = nw;
-  bw =  w - ((Choice *)bex1)->Get_W();
-  if(alignement != HOR)
-     {
-     if((bex1->GetType() == CHOICE) && (bex1->Collapsed() != COLLAPSED_VIS))
-        ((Choice *)bex1)->ChangeW(w);
-     if((bex2->GetType() == CHOICE) && (bex2->Collapsed() != COLLAPSED_VIS))
-        ((Choice *)bex2)->ChangeW(w);
-     }
-   else {
-        if((bex1->GetType() == CHOICE) && (bex1->Collapsed() != COLLAPSED_VIS))
-           ((Choice *)bex1)->ChangeH(h);
-         else bw = bw - 2 * BORDER;
-        if((bex2->GetType() == CHOICE) && (bex2->Collapsed() != COLLAPSED_VIS))
-           {
-           ((Choice *)bex2)->ChangeH(h);
-           ((Choice *)bex2)->ChangeW(bw);
-           }
-        }
-  }
-}
-
-void Choice::SetFather(Tree_Node *f)
-{
-char ft;
-ft = (f->GetType() == PARALLEL)? ((Parallel *)f)->GetOperType(): f->GetType();
-havebox = HaveBox(CHOICE,ft);
-father = f;
-bex1->SetFather(this);
-bex2->SetFather(this);
-}
-
-void Choice::SetTextual(char t, char s)
-{
-textual = t;
-selectable = (!t | s);
-bex1->SetTextual(t);
-bex2->SetTextual(t);
-}
-
-void Choice::SetCollapsed(char t)
-{
-collapsed = t;
-if(t)
-  t = COLLAPSED_INV;
-bex1->SetCollapsed(t);
-bex2->SetCollapsed(t);
-}
-
-int Choice::Get_Textual_H()
-{
-if((father->GetType() == CHOICE) && father->GetTextual())
-   return(bex1->Get_H() + bex2->Get_H() + VBORDER);
- else return(bex1->Get_H() + bex2->Get_H() + 2 * VBORDER
-                + Tree_Node::inUseFont()->Height());
-}
-
-int Choice::Get_Textual_W()
-{
-int b;
-b = Max(bex1->Get_W(), bex2->Get_W());
-if((father->GetType() == CHOICE) && father->GetTextual())
-   return(b);
- else return(Tree_Node::inUseFont()->Width("[] ") + b);
-}
-
-void Choice::SetTerminalPos()
-{
-
-xl=yl=yl1=0;
-if((father->GetType() == CHOICE) &&
-    father->GetTextual())      /* xl, yl is the position of [] */
-       {
-       xl = x - Tree_Node::inUseFont()->Width("[] ") + border;
-       yl = y - bex1->Get_H() - VBORDER - border;
-       }
-   else {                              /* x,y is the position of ( */
-       xl = x + border;
-       yl = y - bex1->Get_H() - VBORDER - border;
-       yl1 = yl - bex2->Get_H() - VBORDER;
-       }
-}
-
-
-/*                                                             */
-/*     implementation of class stop methods                    */
-/*                                                             */
-
-Stop::Stop()
-{
-type = STOP;
-Set_Unparser(new Gl_Stop(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Stop::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
-cout << "Stop" << x << " " << y << "\n";
-cout << "Stop" << h << " " << w << "\n";
-#endif
-}
-
-void Stop::SetDimensions(void)
-{
-border = 0;
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:   if(textual)
-                          {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                          h = Tree_Node::inUseFont()->Height();
-                          if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL))
-                             {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                        else {
-                             w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                             h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                       break; 
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     
-      if(textual)
-       {
-       w = Tree_Node::inUseFont()->Width("stop");
-       h = Tree_Node::inUseFont()->Height();
-       if(!(father->GetTextual()) && (father->GetType() <= PARALLEL))
-         {border = VBORDER; w += 2 * VBORDER; h += 2 * VBORDER; }
-       }
-       else {
-           w = 2 * STOP_R;
-           h = 2 * STOP_R;
-           if(havebox)
-             {w += 2 * BORDER; h += 2 * BORDER;}
-           }
-       break;
- }
-aligline = round(h/2.0);
-}
-
-void Stop::SetFather(Tree_Node *f)
-{
-char ft;
-ft = (f->GetType() == PARALLEL)? ((Parallel *)f)->GetOperType(): f->GetType();
-havebox = HaveBox(STOP,ft);
-father = f;
-}
-
-void Stop::SetTextual(char t, char s)
-{ textual = t; selectable = (!t | s); }
-
-void Stop::SetCollapsed(char t)
-{
-collapsed = t;
-if(t)
-  t = COLLAPSED_INV;
-}
-
-
-/*                                                             */
-/*     implementation of class Exit methods                    */
-/*                                                             */
-
-Exit::Exit(ID_List *sl)
-{
-type = EXIT;
-selectable = FALSE;
-sort_list = sl;
-Set_Unparser(new Gl_Exit(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Exit::SetPosition(Coord x1, Coord y1, Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-sort_list->SetPosition(x1,y1 - VBORDER);
-#ifdef DEBUG
- cout << "Exit" << x << " " << y << "\n";
- cout << "Exit" << h << " " << w << "\n";
-#endif
-}
-
-void Exit::SetDimensions(void)
-{
-sort_list->SetDimensions();
-w = sort_list->Get_W();
-h = (sort_list->Get_H() == 0)? EXIT_S: sort_list->Get_H() + 2 * VBORDER;
-aligline = round(h/2.0);
-}
-
-void Exit::SetFather(Tree_Node *f)
-{father = f;
-}
-
-/*                                                             */
-/*     implementation of class Exit_Bex methods                */
-/*                                                             */
-
-Exit_Bex::Exit_Bex(Exit_Entry_List *l)
-{
-type = EXIT;
-alignement = glow->GetAligs(EXIT);
-entry_list = l;
-
-Set_Unparser(new Gl_Exit_Bex(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Exit_Bex::SetPosition(Coord xx, Coord yy)
-{
-Coord x1, y1;
-x = xx;
-y = yy;
-if(textual)
-   {
-   x1 = x + border;
-   y1 = y - border;
-   if(entry_list->GetVisible())
-      {
-      Xopen = x1 + Tree_Node::inUseFont()->Width("exit");
-      entry_list->SetPosition(Xopen + Tree_Node::inUseFont()->Width(" (") ,y1);
-      Xclose = Xopen + Tree_Node::inUseFont()->Width(" (") + 
entry_list->Get_W();
-      }
-    else entry_list->SetPosition(x1 + Tree_Node::inUseFont()->Width("exit") 
,y);
-   }
- else if(havebox)
-        entry_list->SetPosition(x + 2 * BORDER,y - VBORDER - BORDER);
-       else entry_list->SetPosition(x + BORDER,y - VBORDER);
-
-#ifdef DEBUG
- cout << "Exit_Bex" << x << " " << y << "\n";
- cout << "Exit_Bex" << h << " " << w << "\n";
-#endif
-}
-
-void Exit_Bex::SetDimensions(void)
-{
-entry_list->SetDimensions();
-border = 0;
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:   if(textual)
-                          {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                          h = Tree_Node::inUseFont()->Height();
-                          if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL))
-                             {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                        else {
-                             w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                             h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                       aligline = round(h/2.0);
-                       break; 
- case COLLAPSED_INV:   w = 0; h = 0; aligline = 0;
-                       break;
- case NOCOLLAPSED:
-         if(textual)
-            {
-            w = (entry_list->Get_W() == 0)? 
Tree_Node::inUseFont()->Width("exit")
-                    : entry_list->Get_W() + 
Tree_Node::inUseFont()->Width("exit")
-                     + Tree_Node::inUseFont()->Width(" (") + 
Tree_Node::inUseFont()->Width(")");
-            h = Tree_Node::inUseFont()->Height();
-            if(!(father->GetTextual()) && (father->GetType() <= PARALLEL))
-               {border = VBORDER; w += 2 * VBORDER; h += 2 * VBORDER; }
-            aligline = round(h/2.0);
-            }
-          else {
-               if(alignement == HOR)
-                   {
-                  w = (entry_list->Get_W() == 0)? EXIT_S
-                      : entry_list->Get_W() + 2 * BORDER + EXIT_S;
-                  h = (entry_list->Get_H() == 0)? EXIT_S
-                      : Max(entry_list->Get_H() + 2 * VBORDER,EXIT_S);
-                  aligline = round(h/2.0);
-                  if(havebox)
-                    {w += 2 * BORDER; h += 2 * BORDER; aligline += BORDER;}
-                   }
-                else {
-                     w = (entry_list->Get_W() == 0)? EXIT_S
-                         : Max(entry_list->Get_W() + 2 * BORDER,EXIT_S);
-                     h = (entry_list->Get_H() == 0)? EXIT_S
-                         : entry_list->Get_H() + 2 * VBORDER + EXIT_S;
-                     aligline = (entry_list->Get_H() == 0)? round(EXIT_S/2.0)
-                                : round((h - EXIT_S)/2.0);
-                     if(havebox)
-                        {w += 2 * BORDER; h += 2 * BORDER; aligline += BORDER;}
-                      }
-               }
- }
-}
-
-void Exit_Bex::SetFather(Tree_Node *f)
-{
-char ft;
-ft = (f->GetType() == PARALLEL)? ((Parallel *)f)->GetOperType(): f->GetType();
-havebox = HaveBox(EXIT,ft);
-father = f; 
-entry_list->SetFather(this);
-}
-
-void Exit_Bex::SetTextual(char t, char s)
-{
-textual = t; 
-selectable = (!t | s);
-entry_list->SetTextual(t);
-}
-
-void Exit_Bex::SetCollapsed(char t)
-{
-collapsed = t;
-if(t)
-  t = COLLAPSED_INV;
-entry_list->SetCollapsed(t);
-}
-
-/*                                                             */
-/*     implementation of class NoExit methods                  */
-/*                                                             */
-
-NoExit::NoExit()
-{
-type = NOEXIT;
-selectable = FALSE;
-
-Set_Unparser(new Gl_NoExit(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void NoExit::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "NoExit" << x << " " << y << "\n";
- cout << "NoExit" << h << " " << w << "\n";
-#endif
-}
-
-void NoExit::SetDimensions(void)
-{
-w = NO_EXIT_S;
-h = NO_EXIT_S;
-aligline = round(h/2.0);
-}
-
-void NoExit::SetFather(Tree_Node *f)
-{father = f;
-}
-
-
-/*                                                             */
-/*     implementation of class ID_Place methods                */
-/*                                                             */
-
-ID_Place::ID_Place()
-{
-type = IDPLACE;
-visible = FALSE;
-textual = TRUE;
-RBubble = NORMAL;
-selectable = FALSE;
-str = new char[2];
-str[0] = ' '; str[1] = '\0';
-
-Set_Unparser(new Gl_Identifier(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void ID_Place::SetIdent(char *identifier)
-{
-int i;
-visible = TRUE;
-
-delete str;
-str = new char[strlen(identifier) + 1];
-for(i=0; i<= strlen(identifier); i++)
-  *(str+i) = *(identifier+i);
-}
-
-void ID_Place::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "IDPlace" << x << " " << y << "\n";
- cout << "IDPlace" << h << " " << w << "\n";
- cout << "IDPlace" << visible << " " << collapsed << "\n";
-#endif
-}
-
-void ID_Place::SetDimensions(void)
-{
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED: 
-               switch(RBubble)
-                {
-                case NORMAL:   w = Tree_Node::inUseFont()->Width(str);
-                               h = Tree_Node::inUseFont()->Height();
-                               break;
-                case ROUND:    w = Max(Tree_Node::inUseFont()->Width(str) + 
-                                        2 * ROUND_CORNER, SMALL_DIL);
-                               h = Tree_Node::inUseFont()->Height() + 
-                                         SYNCR_L + SMALL_PEN;
-                               break;
-                case ELLIPSE:
-                case F_ELLIPSE: w = Tree_Node::inUseFont()->Width(str) + 2 * 
ROUND_CORNER;
-                                h = Tree_Node::inUseFont()->Height() + 2 * 
ROUND_CORNER;
-                                break;
-                case D_ELLIPSE: w = Tree_Node::inUseFont()->Width(str) + 2 * 
ROUND_CORNER;
-                                h = Tree_Node::inUseFont()->Height() + 2 * 
ROUND_CORNER 
-                                        + 2 *MAX_VIEWS;
-                                break; 
-               }
- }
-aligline = round(h/2.0);
-}
-
-void ID_Place::SetFather(Tree_Node *f)
-{ father = f;
-}
-
-ID_Place::~ID_Place()
-{ delete str; }
-
-void ID_Place::SetVisible(char v)
-{ 
-if (strcmp(str, " ") != 0)
-       visible = v;
-}
-
-void ID_Place::ClearID(void)
-{
-visible = FALSE;
-delete str;
-str = new char[2];
-str[0] = ' '; str[1] = '\0';
-}
-
-/*                                                             */
-/*     implementation of class ID_List methods                 */
-/*                                                             */
-
-ID_List::ID_List(ID_Place *el, ID_List *nxt)
-{
-type = IDLIST;
-elem = el;
-next = nxt;
-alignement = HOR;
-textual = TRUE;
-selectable = FALSE;
-visible = elem->GetVisible();
-
-Set_Unparser(new Gl_Id_List(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void ID_List::SetPosition(Coord xx, Coord yy)
-{
-Coord x1,y1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "IDList" << x << " " << y << "\n";
- cout << "IDList" << h << " " << w << "\n";
- cout << "IDList" << visible << " " << collapsed << "\n";
-#endif
-if (elem != NULL)
- {
- y1 = y;
- x1 = (alignement == HOR) ? x : x - round(elem->Get_W()/2.0);
-                /* x is the central axis for the Vertical list*/
- elem->SetPosition(x1,y1);
- if (next != NULL)
- {
-  if (elem->GetRBubble() == NORMAL)
-      {
-      x1 = (alignement == VER) ? x:  
-               x1 + elem->Get_W() + Tree_Node::inUseFont()->Width(", ");
-      y1 = (alignement == VER) ? y1 - elem->Get_H() - VBORDER : y;
-      }
-   else
-     x1 = x + elem->Get_W() + ROUND_CORNER;
- next->SetPosition(x1,y1);
- }
-
-}
-}
-
-void ID_List::SetDimensions(void)
-{
-elem->SetDimensions();
-if(next!=NULL)
-   next->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     if (elem->GetRBubble() == NORMAL)
-                               {
-                               if (alignement == HOR)
-                                {h = Tree_Node::inUseFont()->Height();
-                                w = (next == NULL || next->next == NULL)
-                                   ? elem->Get_W() : elem->Get_W() + 
-                                   next->Get_W() + 
Tree_Node::inUseFont()->Width(", ");
-                                }
-                               else /*op_id_list only*/
-                                {
-                                h = (next == NULL || next->next == NULL)
-                                   ? elem->Get_H() : elem->Get_H() + 
-                                   next->Get_H() + VBORDER;
-                                w = (next == NULL || next->next == NULL)
-                                   ? elem->Get_W() : Max(elem->Get_W(), 
-                                   next->Get_W());
-                                }
-                               
-                               }
-                          else {
-                                h =  elem->Get_H();    
-                                w = (next == NULL || next->next == NULL)
-                                    ? elem->Get_W() : elem->Get_W() + 
-                                    next->Get_W() + ROUND_CORNER;
-                               }       
- }
-aligline = round(h/2.0);
-}
-
-void ID_List::SetFather(Tree_Node *f)
-{
-father = f;
-if(elem != NULL)
-  elem->SetFather(this);
-if(next != NULL)
-  next->SetFather(this);
-}
-
-void ID_List::SetCollapsed(char t)
-{
-collapsed = t;
-if(elem != NULL)
-  elem->SetCollapsed(t);
-if(next != NULL)
-  next->SetCollapsed(t);
-}
-
-void ID_List::HideMe(void)
-{
-visible = FALSE;
-if(elem != NULL)
-  elem->SetVisible(FALSE);
-if(next != NULL)
-  next->HideMe();
-}
-
-void ID_List::SetRBubble(char r)
-{
-if(elem != NULL)
-  elem->SetRBubble(r);
-if(next != NULL)
-  next->SetRBubble(r);
-}
-
-void ID_List::SetAlignement(char a)
-{
-alignement = a;
-if(elem != NULL)
-  elem->SetAlignement(a);
-if(next != NULL)
-  next->SetAlignement(a);
-}
-
-int ID_List::GetCardinality(int c)
-{
-int card;
-card = c;
-if(elem->GetVisible())
-        card ++;
-if(next != NULL)
-  card = next->GetCardinality(card);
-return(card);
-}
-
-void ID_List::SetVisible(char v)
-{
-if(elem != NULL)
-  elem->SetVisible(v);  
-visible = elem->GetVisible();       /*ID_List is set to visible only if elem 
is 
-                                       not a placeholder */
-if(next != NULL)
-  next->SetVisible(v);
-}
-
-void ID_List::BuildSigSorts(char bubble, SignatureSorts **head, char type, 
Oper *op)
-{
-if((elem != NULL) && elem->GetVisible())
- {
- if(*head != NULL)
-    (*head)->Append(bubble, elem, type, op);
-   else {
-       *head = new SignatureSorts(bubble, elem, NULL);
-       switch(type)
-         {
-        case '0': break;
-         case '1': (*head)->cost = op;
-                  break;
-         case '2': (*head)->op_in_l = new OperSig(op, NULL);
-                  break;
-         case '3': (*head)->op_out_l = new OperSig(op, NULL);
-        }      
-       }
- }
-if(next != NULL)
- next->BuildSigSorts(bubble, head, type, op);
-}
-
-void ID_List::ClearIDs(void)
-{
-visible = FALSE;
-if(elem != NULL)
-  elem->ClearID();
-if(next != NULL)
-  next->ClearIDs();
-}
-
-/*                                                             */
-/*     implementation of class Id_Decl methods                 */
-/*                                                             */
-
-Id_Decl::Id_Decl(ID_List *l, ID_Place *s)
-{
-type = IDDECL;
-textual = TRUE;
-selectable = FALSE;
-id_list = l;
-sort_id = s;
-if(l == NULL)
-  id_list = new ID_List(new ID_Place(),NULL);
-if(s == NULL)
-  sort_id = new ID_Place();
-visible = (id_list->GetVisible() && sort_id->GetVisible());
-
-Set_Unparser(new Gl_Id_Decl(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Id_Decl::SetPosition(Coord xx, Coord yy)
-{
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "IDDecl" << x << " " << y << "\n";
- cout << "IDDecl" << h << " " << w << "\n";
-#endif
-if(id_list != NULL)
- {
- id_list->SetPosition(x,y);
- x1 = x + id_list->Get_W() + Tree_Node::inUseFont()->Width(": ");
- if(sort_id != NULL)
-   sort_id->SetPosition(x1,y);
- }
-}
-
-void Id_Decl::SetDimensions(void)
-{
-id_list->SetDimensions();
-sort_id->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     h = Tree_Node::inUseFont()->Height();
-                       w = (visible)? id_list->Get_W()+sort_id->Get_W()
-                                                      
+Tree_Node::inUseFont()->Width(": ")
-                                    : 0;
- }
-aligline = round(h/2.0);
-}
-
-void Id_Decl::SetFather(Tree_Node *f)
-{
-father = f;
-if(id_list != NULL)
-  id_list->SetFather(this);
-if(sort_id != NULL)
-  sort_id->SetFather(this);
-}
-
-void Id_Decl::SetCollapsed(char t)
-{
-collapsed = t;
-if(id_list != NULL)
-  id_list->SetCollapsed(t);
-if(sort_id != NULL)
-  sort_id->SetCollapsed(t);
-}
-
-
-/*                                                             */
-/*     implementation of class Id_Decl_List methods            */
-/*                                                             */
-
-Id_Decl_List::Id_Decl_List(Id_Decl *el, Id_Decl_List *nxt)
-{
-type = IDDECLLIST;
-textual = TRUE;
-selectable = FALSE;
-elem = el;
-next = nxt;
-visible = elem->GetVisible();
-
-Set_Unparser(new Gl_Id_Decl_List(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Id_Decl_List::SetPosition(Coord xx, Coord yy)
-{
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "IDDeclList" << x << " " << y << "\n";
- cout << "IDDeclList" << h << " " << w << "\n";
-#endif
-if(elem != NULL)
- {
- elem->SetPosition(x,y);
- x1 = x + elem->Get_W() + Tree_Node::inUseFont()->Width(", ");
- if(next != NULL)
-   next->SetPosition(x1,y);
- }
-}
-
-void Id_Decl_List::SetDimensions(void)
-{
-elem->SetDimensions();
-if(next!=NULL)
-   next->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     h = Tree_Node::inUseFont()->Height();
-                       w = (next == NULL || next->next == NULL)? elem->Get_W()
-                             : elem->Get_W() + next->Get_W() + 
Tree_Node::inUseFont()->Width(", ");
- }
-aligline = round(h/2.0);
-}
-
-void Id_Decl_List::SetFather(Tree_Node *f)
-{
-father = f;
-if(elem != NULL)
-  elem->SetFather(this);
-if(next != NULL)
-  next->SetFather(this);
-}
-
-void Id_Decl_List::SetCollapsed(char t)
-{
-collapsed = t;
-if(elem != NULL)
-  elem->SetCollapsed(t);
-if(next != NULL)
-  next->SetCollapsed(t);
-}
-
-
-
-/*                                                             */
-/*     implementation of class Comment methods                 */
-/*                                                             */
-
-Comment::Comment()
-{
-type = COMMENT;
-textual = TRUE;
-visible = FALSE;
-selectable = FALSE;
-comm = new char[2];
-comm[0] = ' '; comm[1] = '\0';
-
-Set_Unparser(new Gl_Comment(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Comment::SetComment(char *comment)
-{
-visible = TRUE;
-delete comm;
-comm = new char[strlen(comment)+7];
-sprintf(comm, "(* %s *)",comment);
-if(glow->ShowComments())
-  {
-  w = Tree_Node::inUseFont()->Width(comm);
-  h = Tree_Node::inUseFont()->Height();
-  }
- else {
-      w = 0;
-      h = 0;
-      };
-((glow->Get_Folder())->Current())->YesComments();
-}
-
-void Comment::SetFather(Tree_Node *f)
-{father = f;
-}
-
-void Comment::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Comment" << x << " " << y << "\n";
- cout << "Comment" << h << " " << w << "\n";
-#endif
-}
-
-void Comment::SetDimensions(void)
-{
-if(visible && glow->ShowComments())
-  {
-  w = Tree_Node::inUseFont()->Width(comm);
-  h = Tree_Node::inUseFont()->Height();
-  }
- else {
-      w = 0;
-      h = 0;
-      };
-aligline = round(h/2.0);
-}
-
-Comment::~Comment()
-{ delete comm; }
-
-/*                                                             */
-/*     implementation of class Comment_List methods            */
-/*                                                             */
-
-Comment_List::Comment_List(Comment *el, Comment_List *nxt)
-{
-type = COMMENTLIST;
-textual = TRUE;
-visible = TRUE;
-selectable = FALSE;
-elem = el;
-next = nxt;
-}
-
-void Comment_List::SetPosition(Coord xx, Coord yy)
-{
-Coord y1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "CommentList" << x << " " << y << "\n";
- cout << "CommentList" << h << " " << w << "\n";
-#endif
-if(elem != NULL)
- {
- elem->SetPosition(x,y);
- y1 = y - elem->Get_H();
- if(next != NULL)
-   next->SetPosition(x,y1);
- }
-}
-
-void Comment_List::SetDimensions(void)
-{
-elem->SetDimensions();
-if(next!=NULL)
-   next->SetDimensions();
-h = (next != NULL)? elem->Get_H() + next->Get_H()
-                 : elem->Get_H();
-w = (next != NULL)? Max(elem->Get_W(), next->Get_W())
-                 : elem->Get_W();
-aligline = round(h/2.0);
-}
-
-void Comment_List::SetFather(Tree_Node *f)
-{
-father = f;
-if(elem != NULL)
-  elem->SetFather(this);
-if(next != NULL)
-   next->SetFather(this);
-}
-
-
-/*                                                             */
-/*     implementation of class Parallel methods                */
-/*                                                             */
-
-Parallel::Parallel(Tree_Node *b1, Tree_Node *op, Tree_Node *b2)
-{
-type = PARALLEL;
-bex1 = b1;
-bex2 = b2;
-oper = op;
-
-Set_Unparser(new Gl_Parallel(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Parallel::SetPosition(Coord xx, Coord yy)
-{
-Coord x1,y1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Parallel" << x << " " << y << "\n";
- cout << "Parallel" << h << " " << w << "\n";
- cout << "Parallel" << visible << " " << collapsed << "\n";
-#endif
-
-if(textual)
-   {                   
-   SetTerminalPos();
-   x1 = (oper->GetType() == GEN_PARAL)? xl + Tree_Node::inUseFont()->Width("   
 ")
-                                       : xl + oper->Get_W();
-   bex1->SetPosition(x1, y - border);
-   oper->SetPosition(xl, yl);
-   if(oper->GetType() == GEN_PARAL)
-       bex2->SetPosition(x1, yl - oper->Get_H() - VBORDER);    
-    else bex2->SetPosition(x1, yl);    
-   }
- else {
-      if(alignement == HOR)
-         {
-         if(!havebox)
-            x1 = x;
-          else x1 = x + BORDER;
-         y1 = y - aligline + bex1->GetAligLine();
-         bex1->SetPosition(x1,y1);
-         x1 = x1 + bex1->Get_W();
-         y1 = y - aligline + oper->GetAligLine();
-         oper->SetPosition(x1,y1);
-        x1 = x1 + oper->Get_W();
-         y1 = y - aligline + bex2->GetAligLine();
-         bex2->SetPosition(x1,y1);
-         }
-        else {
-             if(!havebox)
-                y1 = y;
-              else y1 = y - BORDER;
-             x1 = round(x + (w - bex1->Get_W())/2.0);
-             bex1->SetPosition(x1,y1);
-             y1 = y1 - bex1->Get_H();
-             x1 = round(x + (w - oper->Get_W())/2.0);
-             oper->SetPosition(x1,y1);
-            y1 = y1 - oper->Get_H();
-             x1 = round(x + (w - bex2->Get_W())/2.0);
-             bex2->SetPosition(x1,y1);
-             }
-       }
-delta = (father->GetType() == DEFINITION)?
-            round((father->GetFather()->Get_W() - w)/2.0)
-         : BORDER;
-}
-
-void Parallel::SetDimensions(void)
-{
-bex1->SetDimensions();
-bex2->SetDimensions();
-oper->SetDimensions();
-border = 0;
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:   if(textual)
-                          {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                          h = Tree_Node::inUseFont()->Height();
-                          if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL))
-                             {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                        else {
-                             w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                             h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                       aligline = round(h/2.0);
-                       break; 
- case COLLAPSED_INV:   w = 0; h = 0; aligline = 0;
-                       break;
- case NOCOLLAPSED: 
-     if(textual)
-       {
-       h = Get_Textual_H(); w = Get_Textual_W();
-       if(!(father->GetTextual()) && (father->GetType() <= PARALLEL))
-          {border = VBORDER; w += 2 * VBORDER; h += 2 * VBORDER; }
-       aligline = round(h/2.0);
-       }
-      else {
-          if(alignement == HOR)
-              {
-             w = bex1->Get_W() + oper->Get_W() + bex2->Get_W();
-
-             aligline = Max(bex1->GetAligLine(),oper->GetAligLine());
-             aligline = Max(aligline,bex2->GetAligLine());
-             if(bex1->Get_H() - bex1->GetAligLine() >
-                 oper->Get_H() - oper->GetAligLine())
-                h = bex1->Get_H() - bex1->GetAligLine();
-              else h = oper->Get_H() - oper->GetAligLine();
-             if(bex2->Get_H() - bex2->GetAligLine() > h)
-               h = bex2->Get_H() - bex2->GetAligLine();
-             h += aligline;
-             if(havebox)
-               {w += 2 * BORDER; h += 2 * BORDER; aligline += BORDER;}
-             }
-           else {
-                h = bex1->Get_H() + oper->Get_H() + bex2->Get_H();
-                w = Max(bex1->Get_W(), bex2->Get_W());
-                 w = Max(w, oper->Get_W());
-                if(havebox)
-                  {h += 2 * BORDER; w += 2 * BORDER;}
-                aligline = round(h/2.0);
-                }
-           }
- }
-}
-
-void Parallel::SetTextual(char t, char s)
-{
-textual = t;
-selectable = (!t | s);
-bex1->SetTextual(t);
-oper->SetTextual(t);
-bex2->SetTextual(t);
-}
-
-int Parallel::Get_Textual_W()
-{
-int b;
-b = Max(bex1->Get_W(), bex2->Get_W());
-if(oper->GetType() == GEN_PARAL)
-   {
-   b += Tree_Node::inUseFont()->Width("    ");
-   b = Max(oper->Get_W(), b); return(b);
-   }
- else 
-      if((father->GetType() == PARALLEL) && (((Parallel 
*)father)->GetOperType() == oper->GetType()) 
-         && father->GetTextual())
-         return(b);
-       else return(oper->Get_W() + b); 
-}
-
-int Parallel::Get_Textual_H()
-{
-if(oper->GetType() == GEN_PARAL)
-    return(bex1->Get_H() + bex2->Get_H() + oper->Get_H() +  3 *VBORDER
-           + Tree_Node::inUseFont()->Height());
- else if((father->GetType() == PARALLEL) && (((Parallel 
*)father)->GetOperType() == oper->GetType())
-         &&  father->GetTextual())
-          return(bex1->Get_H() + bex2->Get_H() + VBORDER);
-       else return(bex1->Get_H() + bex2->Get_H() + 2 *VBORDER + 
Tree_Node::inUseFont()->Height());
-}
-
-void Parallel::SetTerminalPos()
-{
-xl=yl=yl1=0;
-
-yl =  y - bex1->Get_H() - VBORDER - border;
-if(oper->GetType() == GEN_PARAL)
-  {
-  xl = x + border;
-  yl1 =  yl - oper->Get_H() - bex2->Get_H() - 2 * VBORDER;
-  }
- else 
-      if((father->GetType() == PARALLEL) && (((Parallel 
*)father)->GetOperType() == oper->GetType())
-          && father->GetTextual())
-           xl = x - oper->Get_W() + border;
-       else {
-            xl = x + border;
-            yl1 =  yl - bex2->Get_H() - VBORDER;
-            }
-}
-
-void Parallel::SetFather(Tree_Node *f)
-{
-char ft;
-ft = (f->GetType() == PARALLEL)? ((Parallel *)f)->GetOperType(): f->GetType();
-havebox = HaveBox(oper->GetType(),ft);
-father = f;
-bex1->SetFather(this);
-oper->SetFather(this);
-bex2->SetFather(this);
-}
-
-void Parallel::SetCollapsed(char t)
-{
-collapsed = t;
-if(t)
-  t = COLLAPSED_INV;
-bex1->SetCollapsed(t);
-oper->SetCollapsed(t);
-bex2->SetCollapsed(t);
-}
-
-/*                                                             */
-/*     implementation of class Ident_Eq methods                */
-/*                                                             */
-
-Ident_Eq::Ident_Eq(Id_Decl *idd, Value_Expr *ex)
-{
-type = IDEQ;
-textual = TRUE;
-selectable = FALSE;
-iddecl = idd;
-expr = ex;
-if(idd == NULL)
-  iddecl = new Id_Decl(NULL,NULL);
-if(ex == NULL)
-  expr = new Value_Expr;
-visible = (iddecl->GetVisible() && expr->GetVisible());
-
-Set_Unparser(new Gl_Ident_Eq(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Ident_Eq::SetPosition(Coord xx, Coord yy)
-{
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "IdentEq" << x << " " << y << "\n";
- cout << "IdentEq" << h << " " << w << "\n";
-#endif
-
-iddecl->SetPosition(x,y);
-x1 = x + iddecl->Get_W() + Tree_Node::inUseFont()->Width(" = ");
-expr->SetPosition(x1,y);
-}
-
-void Ident_Eq::SetDimensions(void)
-{
-iddecl->SetDimensions();
-expr->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     w = iddecl->Get_W() + expr->Get_W() + 
Tree_Node::inUseFont()->Width(" = ");
-                       h = Tree_Node::inUseFont()->Height();
- }
-aligline = round(h/2.0);
-}
-
-void Ident_Eq::SetFather(Tree_Node *f)
-{
-father = f;
-iddecl->SetFather(this);
-expr->SetFather(this);
-}
-
-void Ident_Eq::SetCollapsed(char t)
-{
-collapsed = t;
-iddecl->SetCollapsed(t);
-expr->SetCollapsed(t);
-}
-
-
-/*                                                             */
-/*     implementation of class Ident_Eq_List methods           */
-/*                                                             */
-
-Ident_Eq_List::Ident_Eq_List(Ident_Eq *el, Ident_Eq_List *nxt)
-{
-type = IDEQLIST;
-textual = TRUE;
-selectable = FALSE;
-elem = el;
-next = nxt;
-visible = elem->GetVisible();
-
-Set_Unparser(new Gl_Ident_Eq_List(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Ident_Eq_List::SetPosition(Coord xx, Coord yy)
-{
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "IdentEqList" << x << " " << y << "\n";
- cout << "IdentEqList" << h << " " << w << "\n";
-#endif
-if(elem != NULL)
- {
- elem->SetPosition(x,y);
- x1 = x + elem->Get_W() + Tree_Node::inUseFont()->Width(", ");
- if(next != NULL)
-   next->SetPosition(x1,y);
- }
-}
-
-void Ident_Eq_List::SetDimensions(void)
-{
-elem->SetDimensions();
-if(next!=NULL)
-   next->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     h = Tree_Node::inUseFont()->Height();
-                       w = (next == NULL || next->next == NULL)? elem->Get_W()
-                            : elem->Get_W() + next->Get_W() + 
Tree_Node::inUseFont()->Width(", ");
- }
-aligline = round(h/2.0);
-}
-
-void Ident_Eq_List::SetCollapsed(char t)
-{
-collapsed = t;
-if(elem != NULL)
-  elem->SetCollapsed(t);
-if(next != NULL)
-  next->SetCollapsed(t);
-}
-
-void Ident_Eq_List::SetFather(Tree_Node *f)
-{
-father = f;
-if(elem != NULL)
-  elem->SetFather(this);
-if(next != NULL)
-  next->SetFather(this);
-}
-
-/*                                                             */
-/*     implementation of class Local_Def methods               */
-/*                                                             */
-
-Local_Def::Local_Def(Ident_Eq_List *e_l, Tree_Node *b)
-{
-type = LOCALDEF;
-equa_list = e_l;
-bex = b;
-
-Set_Unparser(new Gl_Local_Def(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Local_Def::SetPosition(Coord xx, Coord yy)
-{
-Coord x1,y1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Local_Def" << x << " " << y << "\n";
- cout << "Local_Def" << h << " " << w << "\n";
-#endif
-
-if (textual)
-       {                                       /* x is the position og LET */
-       x1 = x + Tree_Node::inUseFont()->Width("let ") + border;
-       equa_list->SetPosition(x1, y - border);
-       yl = x1 + equa_list->Get_W();           /*yl is the position of IN */
-       x1 = x + SMALL_BORDER + border;
-       y1 = y - equa_list->Get_H() - VBORDER - border;
-       bex->SetPosition(x1,y1);
-       }
-     else {
-       x1 = x + BORDER;
-       y1 = y - VBORDER;
-       equa_list->SetPosition(x1,y1);
-       yl = y1 - equa_list->Get_H() - VBORDER;
-       y1 = yl - BORDER;
-       x1 = x + round((w - bex->Get_W())/2.0);
-       bex->SetPosition(x1,y1);
-       }
-}
-
-void Local_Def::SetDimensions(void)
-{
-bex->SetDimensions();
-equa_list->SetDimensions();
-border = 0;
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:    if(textual)
-                           {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                           h = Tree_Node::inUseFont()->Height();
-                           if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL))
-                              {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                         else {
-                             w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                              h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                        break;
- case COLLAPSED_INV:    w = 0; h = 0;
-                        break;
- case NOCOLLAPSED:
-       if(textual)
-         {
-         h = equa_list->Get_H() + VBORDER + bex->Get_H();
-         w = Max(equa_list->Get_W() + Tree_Node::inUseFont()->Width("let ") + 
-                  Tree_Node::inUseFont()->Width(" in "), bex->Get_W() + 
SMALL_BORDER);
-          if(!(father->GetTextual()) && (father->GetType() <= PARALLEL))
-            {border = VBORDER; w += 2 * VBORDER; h += 2 * VBORDER; }
-          }
-        else {
-             w = Max(bex->Get_W(), equa_list->Get_W());
-              w += 2 * BORDER;
-              h = bex->Get_H() + equa_list->Get_H() + 2 * (VBORDER + BORDER);
-              }
-       break;
- }
-aligline = round(h/2.0);
-}
-
-void Local_Def::SetFather(Tree_Node *f)
-{
-father = f;
-equa_list->SetFather(this);
-bex->SetFather(this);
-}
-       
-void Local_Def::SetCollapsed(char t)
-{
-collapsed = t;
-if(t)
-  t = COLLAPSED_INV;
-equa_list->SetCollapsed(t);
-bex->SetCollapsed(t);
-}
-
-void Local_Def::SetTextual(char t, char s)
-{
-textual = t;
-selectable = (!t | s);
-bex->SetTextual(t);
-}
-
-
-/*                                                             */
-/*     implementation of class Hide methods                    */
-/*                                                             */
-
-Hide::Hide(ID_List *g_l, Tree_Node *b)
-{
-type = HIDE;
-alignement = VER;
-gate_list = g_l;
-bex = b;
-
-Set_Unparser(new Gl_Hide(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Hide::SetPosition(Coord xx, Coord yy)
-{
-Coord x1,y1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Hide" << x << " " << y << "\n";
- cout << "Hide" << h << " " << w << "\n";
-#endif
-
-if (textual)
-       {                                       /* x is the position of Hide */
-       x1 = x + Tree_Node::inUseFont()->Width("hide ") + border;
-       gate_list->SetPosition(x1, y - border);
-       yl = x1 + gate_list->Get_W();           /* position of IN */ 
-       x1 = x + SMALL_BORDER + border;
-       y1 = y - gate_list->Get_H() - VBORDER - border;
-       bex->SetPosition(x1, y1);
-       }
-     else {
-       x1 = x + HIDE_W + BORDER;
-       y1 = y - VBORDER;
-       gate_list->SetPosition(x1,y1);
-       yl = y1 - gate_list->Get_H() - VBORDER;
-       y1 = yl - BORDER;
-       x1 = x + BORDER;
-       bex->SetPosition(x1,y1);
-       }
-}
-
-void Hide::SetDimensions(void)
-{
-int foo;
-
-bex->SetDimensions();
-gate_list->SetDimensions();
-border = 0;
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:   if(textual)
-                          {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                          h = Tree_Node::inUseFont()->Height();
-                          if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL))
-                             {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                        else {
-                             w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                             h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                       break; 
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:
-      if(textual == TRUE)
-       {
-       h = gate_list->Get_H() + VBORDER + bex->Get_H();
-       foo = Tree_Node::inUseFont()->Width("hide ") + gate_list->Get_W() +
-               Tree_Node::inUseFont()->Width(" in ");
-       w = Max(foo, bex->Get_W() + SMALL_BORDER);
-       if(!(father->GetTextual()) && (father->GetType() <= PARALLEL))
-         {border = VBORDER; w += 2 * VBORDER; h += 2 * VBORDER; }
-       }
-     else {
-       w = Max(bex->Get_W(), HIDE_W + gate_list->Get_W());
-       w += 2 * BORDER;
-       h = bex->Get_H() + gate_list->Get_H() + 2 * (VBORDER + BORDER);
-       }
- }
-aligline = round(h/2.0);
-}
-
-void Hide::SetFather(Tree_Node *f)
-{
-father = f;
-gate_list->SetFather(this);
-bex->SetFather(this);
-}
-
-void Hide::SetCollapsed(char t)
-{
-collapsed = t;
-if(t)
-  t = COLLAPSED_INV;
-gate_list->SetCollapsed(t);
-bex->SetCollapsed(t);
-}
-
-
-void Hide::SetTextual(char t, char s)
-{
-textual = t;
-selectable = (!t | s);
-bex->SetTextual(t);
-}
-
-/*                                                             */
-/*     implementation of class Interl methods          */
-/*                                                             */
-
-Interl::Interl()
-{
-type = INTERL;
-alignement = glow->GetAligs(INTERL);
-selectable = FALSE;
-
-Set_Unparser(new Gl_Interl(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Interl::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Interl" << x << " " << y << "\n";
- cout << "Interl" << h << " " << w << "\n";
- cout << "Interl" << visible << " " << collapsed << "\n";
-#endif
-}
-
-void Interl::SetDimensions(void)
-{
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:
-       if(textual)
-         {
-         w = Tree_Node::inUseFont()->Width("||| ");
-         h = Tree_Node::inUseFont()->Height();
-         }
-         else {
-             if(father->GetAlignement() == HOR)
-                 {
-                w = 2 * BORDER;
-                h = 0;
-                }
-               else {
-                   w = 0;
-                   h = 2 * BORDER;
-                   }
-             }
- }
-aligline = round(h/2.0);
-}
-
-void Interl::SetFather(Tree_Node *f)
-{
-father = f;
-father->UpdateAlig(INTERL);
-}
-
-/*                                                             */
-/*     implementation of class Syncr methods           */
-/*                                                             */
-
-Syncr::Syncr()
-{
-type = SYNCR;
-alignement = glow->GetAligs(SYNCR);
-selectable = FALSE;
-
-Set_Unparser(new Gl_Syncr(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Syncr::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Syncr" << x << " " << y << "\n";
- cout << "Syncr" << h << " " << w << "\n";
-#endif
-}
-
-void Syncr::SetDimensions(void)
-{
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:
-       if(textual)
-         {
-         w = Tree_Node::inUseFont()->Width("|| ");
-         h = Tree_Node::inUseFont()->Height();
-         }
-        else {
-             if(father->GetAlignement() == HOR)
-              {
-              w = 2 * (SYNCR_R + SYNCR_L);
-              h = 2 * SYNCR_R;
-              }
-             else {
-                  w = 2 * SYNCR_R;
-                  h = 2 * (SYNCR_R + SYNCR_L);
-                  }
-            }
- }
-aligline = round(h/2.0);
-}
-
-void Syncr::SetFather(Tree_Node *f)
-{
-father = f;
-father->UpdateAlig(SYNCR);
-}
-
-/*                                                              */
-/*      implementation of class Enable methods                  */
-/*                                                              */
-
-
-Enable::Enable(Tree_Node *b1, ID_List *g_i_l, Tree_Node *b2)
-{
-type = ENABLE;
-alignement = glow->GetAligs(ENABLE);
-bex1 = b1;
-gate_id_list = g_i_l;
-bex2 = b2;
-
-Set_Unparser(new Gl_Enable(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Enable::SetPosition(Coord xx, Coord yy)
-{
-Coord x1,y1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Enable" << x << " " << y << "\n";
- cout << "Enable" << h << " " << w << "\n";
-#endif
-
-if(textual)
-   {
-   SetTerminalPos();
-   bex1->SetPosition(xl, y - border);
-   if(gate_id_list->GetVisible())
-      {
-      gate_id_list->SetPosition(xl + Tree_Node::inUseFont()->Width("accept 
"),yid);
-      bex2->SetPosition(xl, yid - gate_id_list->Get_H() - VBORDER);
-      }
-    else bex2->SetPosition(xl, yid);   
-   }
-  else {
-       if(alignement == HOR)
-          {
-         if(havebox)
-           x1 = x + BORDER;
-          else x1 = x;
-         y1 = y - aligline + bex1->GetAligLine();
-         bex1->SetPosition(x1,y1);
-
-         if(havebox)
-           xl = x + bex1->Get_W() + BORDER;
-          else xl = x + bex1->Get_W();
-         yl1 = y - aligline;
-
-         xid = xl + ENAB_L;
-         yid = yl1 + round(gate_id_list->Get_H()/2.0) + VBORDER;
-         gate_id_list->SetPosition(xid + BORDER,yid - VBORDER);
-
-         yl2 = (gate_id_list->Get_W() != 0)? 
-               xid + gate_id_list->Get_W() + 2 * BORDER
-                 : xid;
-         x1 = yl2 + ENAB_L + ENAB_S;
-         y1 = y - aligline + bex2->GetAligLine();
-         bex2->SetPosition(x1,y1);
-          }
-        else {
-            xl = x + round(w/2.0);
-            x1 = x + round((w - bex1->Get_W())/2.0);
-            if(havebox)
-               y1 = y - BORDER;
-             else y1 = y;
-            bex1->SetPosition(x1,y1);
-            yl1 = y1 - bex1->Get_H();
-            xid = x + round((w - gate_id_list->Get_W())/2.0) - BORDER;
-            yid = yl1 - ENAB_L;
-            gate_id_list->SetPosition(xid + BORDER,yid - VBORDER);
-            yl2 = (gate_id_list->Get_H() != 0)? 
-                  yid - gate_id_list->Get_H() - 2 * VBORDER
-                    : yid - gate_id_list->Get_H();
-            x1 = x + round((w - bex2->Get_W())/2.0);
-            y1 = yl2 - ENAB_L - ENAB_S;
-            bex2->SetPosition(x1,y1);
-             }
-       }
-}
-
-void Enable::SetDimensions(void)
-{
-bex1->SetDimensions();
-gate_id_list->SetDimensions();
-bex2->SetDimensions();
-border = 0;
-
-switch(collapsed) 
- {
- case COLLAPSED_VIS:   if(textual)
-                          {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                          h = Tree_Node::inUseFont()->Height();
-                          if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL))
-                             {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                        else {
-                             w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                             h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                       aligline = round(h/2.0);
-                       break; 
- case COLLAPSED_INV:   w = 0; h = 0; aligline = 0;
-                       break;
- case NOCOLLAPSED:
-     if(textual)
-       {
-        h = bex1->Get_H() + bex2->Get_H() + 2*VBORDER + 
Tree_Node::inUseFont()->Height();
-       w = Get_Textual_W();
-        if(gate_id_list->GetVisible())
-        h += VBORDER + Tree_Node::inUseFont()->Height();
-       if(!(father->GetTextual()) && (father->GetType() <= PARALLEL))
-         {border = VBORDER; w += 2 * VBORDER; h += 2 * VBORDER; }
-       aligline = round(h/2.0);
-       }
-       else {
-            if(alignement == HOR)
-               {
-              int b1,b2;
-              aligline = 
Max((round(ENAB_S/2.0)),(round(gate_id_list->Get_H()/2.0) + VBORDER));
-              aligline = Max(aligline,bex1->GetAligLine());
-              aligline = Max(aligline,bex2->GetAligLine());
-
-              if((gate_id_list->Get_H() - gate_id_list->GetAligLine()) >
-                 round(ENAB_S/2.0))
-                  b1 = gate_id_list->Get_H() - gate_id_list->GetAligLine();
-               else b1 =  round(ENAB_S/2.0);
-              if((bex1->Get_H() - bex1->GetAligLine()) > 
-                 (bex2->Get_H() - bex1->GetAligLine()))
-                 b2 = bex1->Get_H() - bex1->GetAligLine();
-               else b2 = bex2->Get_H() - bex1->GetAligLine();
-              if(b1 > b2)
-                h = aligline + b1;
-               else h = aligline + b2;
-              w = bex1->Get_W() + gate_id_list->Get_W() + bex2->Get_W();
-              w += (gate_id_list->Get_W() == 0)? 2 * ENAB_L + ENAB_S
-                                   : 2 * ENAB_L + ENAB_S + 2 * BORDER;
-              if(havebox)
-                {w += 2 * BORDER; h += 2 * BORDER; aligline += BORDER;}
-                }
-             else {
-                 w = Max4(bex1->Get_W(), gate_id_list->Get_W() + 2*BORDER, 
-                          bex2->Get_W(), ENAB_S);
-                 h = bex1->Get_H() + gate_id_list->Get_H() + bex2->Get_H();
-                 h += (gate_id_list == 0)? 2 * ENAB_L + ENAB_S
-                                      : 2 * ENAB_L + ENAB_S + 2 * VBORDER;
-                 aligline = round(h/2.0);
-                 if(havebox)
-                   {w += 2 * BORDER; h += 2 * BORDER;}
-                  }
-           }
- }
-}
-
-void Enable::SetTextual(char t, char s)
-{
-textual = t;
-selectable = (!t | s);
-bex1->SetTextual(t);
-bex2->SetTextual(t);
-}
-
-void Enable::SetTerminalPos()
-
-/* x, y are the coordinate of (                                        */
-/* xid, yid are the coordinate of >>                           */
-/* xl, yl1 are the coordinate of accept                        */
-/* xl2, yl2 are the coordinate of in                           */
-{
-xid = x + border;
-yid = y - bex1->Get_H() - VBORDER - border;
-xl =  xid + Tree_Node::inUseFont()->Width(">> ");
-if(gate_id_list->GetVisible())
-  {
-  yl1 = yid;
-  xl2 = xl + Tree_Node::inUseFont()->Width("accept ") + gate_id_list->Get_W();
-  yl2 = yid;
-  Yclose = yid - gate_id_list->Get_H() -  bex2->Get_H() - 2 * VBORDER;
-  }
- else Yclose = yid - bex2->Get_H() - VBORDER;
-}
-
-int Enable::Get_Textual_W()
-{
-int b;
-b = (gate_id_list->GetVisible())? Max(bex2->Get_W(), gate_id_list->Get_W() + 
-               Tree_Node::inUseFont()->Width("accept  in "))
-    : bex2->Get_W();
-b = Max(bex1->Get_W(), b);
-return(Tree_Node::inUseFont()->Width(">> ") + b);
-
-}
-
-int Enable::Get_Textual_H()
-{ return(bex1->Get_H() + bex2->Get_H() + 2*VBORDER + 
Tree_Node::inUseFont()->Height()); }
-
-void Enable::SetFather(Tree_Node *f)
-{
-char ft;
-ft = (f->GetType() == PARALLEL)? ((Parallel *)f)->GetOperType(): f->GetType();
-if(gate_id_list->GetVisible())
-   havebox = HaveBox(9,ft);
- else havebox = HaveBox(ENABLE,ft);
-father = f;
-bex1->SetFather(this);
-gate_id_list->SetFather(this);
-bex2->SetFather(this);
-}
-
-void Enable::SetCollapsed(char t)
-{
-collapsed = t;
-if(t)
-  t = COLLAPSED_INV;
-bex1->SetCollapsed(t);
-gate_id_list->SetCollapsed(t);
-bex2->SetCollapsed(t);
-}
-
-
-/*                                                              */
-/*      implementation of class Disable methods                 */
-/*                                                              */
-
-
-Disable::Disable(Tree_Node *b1, Tree_Node *b2)
-{
-type = DISABLE;
-alignement = glow->GetAligs(DISABLE);
-bex1 = b1;
-bex2 = b2;
-
-Set_Unparser(new Gl_Disable(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Disable::SetPosition(Coord xx, Coord yy)
-{
-Coord x1,y1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Disable" << x << " " << y << "\n";
- cout << "Disable" << h << " " << w << "\n";
-#endif
-if(textual)
-   {
-   SetTerminalPos();
-   x1 = xl + Tree_Node::inUseFont()->Width("[> ");
-   bex1->SetPosition(x1, y - border);
-   bex2->SetPosition(x1, yl);
-   }
- else {
-      if(alignement == HOR)
-         {
-        if(havebox)
-            x1 = x + BORDER;
-          else x1 = x;
-        y1 = y - aligline + bex1->GetAligLine();
-        bex1->SetPosition(x1,y1);
-
-        x1 = x1 + bex1->Get_W() + SMALL_PEN + SYNCR_L + 2 * SYNCR_R;
-        y1 = y - aligline + bex2->GetAligLine();
-        bex2->SetPosition(x1,y1);
-        if(havebox)
-          xl = x + bex1->Get_W() + BORDER;
-         else xl = x + bex1->Get_W();
-        yl = y - aligline +  SYNCR_R;
-        }
-       else {
-           if(havebox)
-              y1 = y - BORDER;
-             else y1 = y;
-           x1 = round(x + (w - bex1->Get_W())/2.0);
-           bex1->SetPosition(x1,y1);
-           yl = y1 - bex1->Get_H() - SMALL_PEN - SYNCR_L - 2 * SYNCR_R;
-           xl = round(x + (w - bex2->Get_W())/2.0);
-           bex2->SetPosition(xl,yl);
-           xl = x + round(w/2) - SYNCR_R;
-           if(havebox)
-              yl = y - bex1->Get_H() - BORDER;
-            else yl = y - bex1->Get_H();
-            }
-      }
-
-}
-
-void Disable::SetDimensions(void)
-{
-bex1->SetDimensions();
-bex2->SetDimensions();
-border = 0;
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:   if(textual)
-                          {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                          h = Tree_Node::inUseFont()->Height();
-                          if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL))
-                             {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                        else {
-                             w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                             h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                       aligline = round(h/2.0);
-                       break; 
- case COLLAPSED_INV:   w = 0; h = 0; aligline = 0;
-                       break;
- case NOCOLLAPSED:
-       if(textual)
-          {
-          h = Get_Textual_H();
-          w = Get_Textual_W(); 
-          if(!(father->GetTextual()) && (father->GetType() <= PARALLEL))
-             {border = VBORDER; w += 2 * VBORDER; h += 2 * VBORDER; }
-          aligline = round(h/2.0);
-          }
-         else {
-             if(alignement == HOR)
-                 {
-                int b1;
-                w = bex1->Get_W() + bex2->Get_W();
-                w += SYNCR_L + 2 * SYNCR_R + SMALL_PEN;
-
-                aligline = Max(bex1->GetAligLine(), bex2->GetAligLine());
-                if((bex1->Get_H() - bex1->GetAligLine()) >
-                   (bex2->Get_H() - bex2->GetAligLine()))
-                   b1 = bex1->Get_H() - bex1->GetAligLine();
-                 else  b1 = bex2->Get_H() - bex2->GetAligLine();
-                h = aligline + b1;
-                if(havebox)
-                  {w += 2 * BORDER; h += 2 * BORDER; aligline += BORDER;}
-                 }
-               else {
-                   h = bex1->Get_H() + bex2->Get_H();
-                   h += SYNCR_L + 2 * SYNCR_R + SMALL_PEN;
-                   w = Max(bex1->Get_W(), bex2->Get_W());
-                   aligline = bex1->GetAligLine();
-                   if(havebox)
-                     {w += 2 * BORDER; h += 2 * BORDER; aligline += BORDER;}
-                   }
-             }
- }
-}
-
-void Disable::SetFather(Tree_Node *f)
-{
-char ft;
-ft = (f->GetType() == PARALLEL)? ((Parallel *)f)->GetOperType(): f->GetType();
-havebox = HaveBox(DISABLE,ft);
-father = f;
-bex1->SetFather(this);
-bex2->SetFather(this);
-}
-
-void Disable::SetCollapsed(char t)
-{
-collapsed = t;
-if(t)
-  t = COLLAPSED_INV;
-bex1->SetCollapsed(t);
-bex2->SetCollapsed(t);
-}
-
-void Disable::SetTextual(char t, char s)
-{
-textual = t;
-selectable = (!t | s);
-bex1->SetTextual(t);
-bex2->SetTextual(t);
-}
-
-void Disable::SetTerminalPos()
-{
-
-if(father->GetType() == DISABLE && 
-   father->GetTextual())        /* xl, yl is the position of [> */
-   {
-   xl = x - Tree_Node::inUseFont()->Width("[> ") + border;
-   yl = y - bex1->Get_H() - VBORDER - border;
-   }
-  else {                               /* x,y is the position of ( */
-       xl = x + border;
-       yl = y - bex1->Get_H() - VBORDER - border;
-       yl2 = yl - bex2->Get_H() - VBORDER;
-       }
-}
-
-int Disable::Get_Textual_W()
-{
-int b;
-b = Max(bex1->Get_W(), bex2->Get_W());
-if((father->GetType() == DISABLE) && father->GetTextual())
-   return(b);
-return(Tree_Node::inUseFont()->Width("[> ") + b);
-}
-
-int Disable::Get_Textual_H()
-{
-if(father->GetType() == DISABLE && father->GetTextual())
-   return(bex1->Get_H() + bex2->Get_H() + VBORDER);
- else return(bex1->Get_H() + bex2->Get_H() + 2 * VBORDER + 
Tree_Node::inUseFont()->Height());
-}
-
-/*                                                              */
-/*      implementation of class Gen_Paral methods               */
-/*                                                              */
-
-
-Gen_Paral::Gen_Paral(ID_List *g_i_l)
-{
-type = GEN_PARAL;
-alignement = glow->GetAligs(GEN_PARAL);
-selectable = FALSE;
-gate_id_list = g_i_l;
-visible = g_i_l->GetVisible();
-
-Set_Unparser(new Gl_Gen_Paral(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-
-}
-
-void Gen_Paral::SetPosition(Coord xx, Coord yy)
-{
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Gen_Paral" << x << " " << y << "\n";
- cout << "Gen_Paral" << h << " " << w << "\n";
-#endif
-
-if(textual)
-   {                   /* x is the position of |[ */
-   x1 = x + Tree_Node::inUseFont()->Width(" |[");      
-   gate_id_list->SetPosition(x1, y);
-   Xclose = x1 + gate_id_list->Get_W();        /* position of ]| */
-   }
- else {
-      if(father->GetType() == PAR)
-          gate_id_list->SetPosition(x + ROUND_CORNER, y  - ROUND_CORNER);
-       else {
-            if(father->GetAlignement() == HOR)
-               gate_id_list->SetPosition(x + SYNCR_L + ROUND_CORNER,y 
-ROUND_CORNER);
-             else gate_id_list->SetPosition(x + ROUND_CORNER,y-SYNCR_L - 
ROUND_CORNER);
-            }
-       }
-}
-
-void Gen_Paral::SetDimensions(void)
-{
-gate_id_list->SetDimensions();
-border = 0;
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:   if(textual)
-                          {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                          h = Tree_Node::inUseFont()->Height();
-                          if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL))
-                             {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                        else {
-                             w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                             h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                       break; 
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:
-       if(textual)
-          {
-          h = Tree_Node::inUseFont()->Height();
-          w = Tree_Node::inUseFont()->Width(" |[") + gate_id_list->Get_W() +
-                Tree_Node::inUseFont()->Width("]| ");
-          }
-         else {
-             if(father->GetType() == PAR)
-               {
-               h = gate_id_list->Get_H() + 2 * ROUND_CORNER;
-               w = gate_id_list->Get_W() + 2 * ROUND_CORNER;
-               }
-              else {
-                    if(father->GetAlignement() == HOR)
-                       {
-                      h = gate_id_list->Get_H() + 2 * ROUND_CORNER;
-                      w = gate_id_list->Get_W() + 2 * ROUND_CORNER + 2 * 
SYNCR_L;
-                       }
-                     else {
-                         h = gate_id_list->Get_H() + 2 * ROUND_CORNER + 2 * 
SYNCR_L;
-                         w = gate_id_list->Get_W() + 2 * ROUND_CORNER;
-                          }
-                   }
-             }
- }
-aligline = round(h/2.0);
-}
-
-void Gen_Paral::SetFather(Tree_Node *f)
-{
-father = f;
-father->UpdateAlig(GEN_PARAL);
-gate_id_list->SetFather(this);
-}
-
-void Gen_Paral::SetCollapsed(char t)
-{
-collapsed = t; 
-gate_id_list->SetCollapsed(t);
-}
-
-
-/*                                                              */
-/*      implementation of class Action_Pref methods             */
-/*                                                              */
-
-
-Action_Pref::Action_Pref(Tree_Node *a_d, Tree_Node *b)
-{
-type = ACTION_PREF;
-alignement = glow->GetAligs(ACTION_PREF);
-action_den = a_d;
-bex = b;
-
-Set_Unparser(new Gl_Action_Pref(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Action_Pref::SetPosition(Coord xx, Coord yy)
-{
-Coord x1,y1;
-
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Action_Pref" << x << " " << y << "\n";
- cout << "Action_Pref" << h << " " << w << "\n";
-#endif
-
-if(textual)
-   {
-   action_den->SetPosition(x + border, y - border);
-    y1 = y - action_den->Get_H() - VBORDER - border;
-   x1 = x + SMALL_BORDER + border;
-   bex->SetPosition(x1, y1);
-   }
- else {
-      if(alignement == HOR)
-         {
-         y1 = y - aligline + action_den->GetAligLine();
-        if(havebox)
-           {
-          action_den->SetPosition(x + BORDER,y1);
-          x1 = x + action_den->Get_W() + BORDER;
-          }
-          else 
-           {
-          action_den->SetPosition(x,y1);
-          x1 = x + action_den->Get_W();
-          }
-         y1 = y - aligline + bex->GetAligLine();
-        bex->SetPosition(x1,y1);
-         }
-       else {
-            x1 = round(x + (w - action_den->Get_W())/2.0);
-           if(havebox)
-             y1 = y - BORDER;
-            else y1 = y;
-           action_den->SetPosition(x1,y1);
-           x1 = round(x + (w - bex->Get_W())/2.0);
-           y1 = y1 - action_den->Get_H();
-           bex->SetPosition(x1,y1);
-            }
-       }
-
-}
-
-void Action_Pref::SetDimensions(void)
-{
-action_den->SetDimensions();
-bex->SetDimensions();
-border = 0;
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:   if(textual)
-                          {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                          h = Tree_Node::inUseFont()->Height();
-                          if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL))
-                             {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                        else {
-                             w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                             h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                       aligline = round(h/2.0);
-                       break; 
- case COLLAPSED_INV:   w = 0; h = 0; aligline = 0;
-                       break;
- case NOCOLLAPSED:
-       if(textual)
-          {
-          h = action_den->Get_H() + bex->Get_H() + VBORDER;
-          w = Max(action_den->Get_W(), bex->Get_W() + SMALL_BORDER);
-          if(!(father->GetTextual()) && (father->GetType() <= PARALLEL))
-             {border = VBORDER; w += 2 * VBORDER; h += 2 * VBORDER; }
-          aligline = round(h/2.0);
-          }
-         else {
-              if(alignement == HOR)
-                 {
-                w = action_den->Get_W() + bex->Get_W();
-                aligline = Max(action_den->GetAligLine(),bex->GetAligLine());
-                if((action_den->Get_H() - action_den->GetAligLine()) >
-                     (bex->Get_H() - bex->GetAligLine()))
-                   h = aligline + action_den->Get_H() - 
action_den->GetAligLine();
-                  else  h = aligline + bex->Get_H() - bex->GetAligLine();
-                if(havebox)
-                  {w += 2 * BORDER; h += 2 * BORDER; aligline += BORDER;}
-                 }
-               else {
-                   h = action_den->Get_H() + bex->Get_H();
-                   w = Max(action_den->Get_W(), bex->Get_W());
-                   aligline = action_den->GetAligLine();
-                   if(havebox)
-                     {w += 2 * BORDER; h += 2 * BORDER; aligline += BORDER;}
-                    }
-             }
- }
-}
-
-void Action_Pref::SetFather(Tree_Node *f)
-{
-char ft;
-ft = (f->GetType() == PARALLEL)? ((Parallel *)f)->GetOperType(): f->GetType();
-havebox = HaveBox(ACTION_PREF,ft);
-father = f;
-action_den->SetFather(this);
-bex->SetFather(this);
-}
-
-void Action_Pref::SetCollapsed(char t)
-{
-collapsed = t;
-if(t)
-  t = COLLAPSED_INV;
-action_den->SetCollapsed(t);
-bex->SetCollapsed(t);
-}
-
-void Action_Pref::SetTextual(char t, char s)
-{
-textual = t;
-selectable = (!t | s);
-action_den->SetTextual(t);
-bex->SetTextual(t);
-}
-
-
-/*                                                              */
-/*      implementation of class Internal methods                */
-/*                                                              */
-
-
-Internal::Internal()
-{
-type = INTERNAL;
-selectable = FALSE;
-visible = TRUE;
-
-Set_Unparser(new Gl_Internal(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-
-}
-
-void Internal::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Internal" << x << " " << y << "\n";
- cout << "Internal" << h << " " << w << "\n";
-#endif
-}
-
-void Internal::SetDimensions(void)
-{
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     
-        if(textual)
-          {
-          h = Tree_Node::inUseFont()->Height();
-          w = Tree_Node::inUseFont()->Width("i ; ");
-          }
-         else {
-              if(father->GetAlignement() == HOR)
-                 {
-                h = INT_EV_H;
-                w = INT_EV_W + INT_EV_L + SMALL_PEN;
-                 }
-               else {
-                   h = INT_EV_H + INT_EV_L + SMALL_PEN;
-                   w = INT_EV_W;
-                    }
-             }
- }
-aligline = round(h/2.0);
-}
-
-void Internal::SetFather(Tree_Node *f)
-{ father = f;
-}
-
-
-/*                                                              */
-/*      implementation of class Communication methods           */
-/*                                                              */
-
-
-Communication::Communication(ID_Place *i, Tree_Node *ex_op)
-{
-type = COMMUNICATION;
-selectable = FALSE;
-gate_identifier = i;
-experiment_option = ex_op;
-
-Set_Unparser(new Gl_Communication(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Communication::SetPosition(Coord xx, Coord yy)
-{
-int dum;
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Communication" << x << " " << y << "\n";
- cout << "Communication" << h << " " << w << "\n";
-#endif
-
-if(textual)
-   {
-   gate_identifier->SetPosition(x, y);
-   dum = x + gate_identifier->Get_W() + Tree_Node::inUseFont()->Width(" ");
-   experiment_option->SetPosition(dum, y) ;
-   yl = dum + experiment_option->Get_W();      /*position of ; */
-   }
- else {
-      if(father->GetAlignement() == HOR)
-         {
-         int w1;
-         w1 = w - SMALL_PEN - INT_EV_L;
-         if(experiment_option->GetType() == EXPERIMENT &&
-          ((Experiment *)experiment_option)->GetGuard()->Get_W() == w1) 
-          {
-          dum = round((w1 - (gate_identifier->Get_W() +
-                     experiment_option->Get_W() + ROUND_CORNER))/2.0);
-          x1 = x + dum;
-          }
-         else x1 = x + ROUND_CORNER; 
-        gate_identifier->SetPosition(x1, y - ROUND_CORNER);
-       yl = y - round(gate_identifier->Get_H()/2) - ROUND_CORNER;
-       xl = x + w1;
-        if(experiment_option->GetType() == EXPERIMENT)
-          {
-          dum =round((w1 -
-                ((Experiment *)experiment_option)->GetGuard()->Get_W())/2.0);
-          x1 = x1 + gate_identifier->Get_W() + ROUND_CORNER;
-         experiment_option->SetPosition(x1, y - ROUND_CORNER);
-         ((Experiment *)experiment_option)->GetGuard()->SetPosition(x + dum,
-                                       y - gate_identifier->Get_H() - 2 * 
ROUND_CORNER);
-         }
-        }
-      else {
-           if(experiment_option->GetType() == EXPERIMENT &&
-             ((Experiment *)experiment_option)->GetGuard()->Get_W() == w) 
-           {
-           dum = round((w - (gate_identifier->Get_W() +
-                experiment_option->Get_W() + ROUND_CORNER))/2.0);
-           x1 = x + dum;
-           }
-          else x1 = x + ROUND_CORNER; 
-         gate_identifier->SetPosition(x1, y - ROUND_CORNER);
-          yl = y - gate_identifier->Get_H() - 2 * ROUND_CORNER;
-          xl = x + round(w/2.0);
-         if(experiment_option->GetType() == EXPERIMENT)
-           {
-           dum =round((w -
-                ((Experiment *)experiment_option)->GetGuard()->Get_W())/2.0);
-           x1 = x1 + gate_identifier->Get_W() + ROUND_CORNER;
-           experiment_option->SetPosition(x1, y - ROUND_CORNER);
-           ((Experiment *)experiment_option)->GetGuard()->SetPosition(x + dum,
-                                       y - gate_identifier->Get_H() - 2 * 
ROUND_CORNER);
-           yl -= ((Experiment *)experiment_option)->GetGuard()->Get_H();
-           }
-          }
-        }
-}
-
-void Communication::SetDimensions(void)
-{
-gate_identifier->SetDimensions();
-experiment_option->SetDimensions();
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0; aligline = 0;
-                       break;
- case NOCOLLAPSED:
-       if(textual)
-         {
-         h = Tree_Node::inUseFont()->Height();
-         w = gate_identifier->Get_W() + experiment_option->Get_W() +
-               Tree_Node::inUseFont()->Width(" ") + 
Tree_Node::inUseFont()->Width(" ; ");
-         aligline = round(h/2.0);
-         }
-         else {
-             hr  = gate_identifier->Get_H() + 2 * ROUND_CORNER;
-              if(father->GetAlignement() == HOR)
-                 h = gate_identifier->Get_H() + 2 * ROUND_CORNER;
-              else h = gate_identifier->Get_H() + 2 * ROUND_CORNER  + 
SMALL_PEN + INT_EV_L;
-             w = gate_identifier->Get_W() + 2 * ROUND_CORNER;
-             if(experiment_option->GetType() == EXPERIMENT)
-               {
-               w += experiment_option->Get_W() + ROUND_CORNER;
-               if(((Experiment *)experiment_option)->GetGuard()->Get_W() > w)
-                  w = ((Experiment *)experiment_option)->GetGuard()->Get_W();
-               h += ((Experiment *)experiment_option)->GetGuard()->Get_H();
-               }
-               if(father->GetAlignement() == HOR)
-                w += SMALL_PEN + INT_EV_L;
-              aligline = round(gate_identifier->Get_H()/2.0) + ROUND_CORNER;
-               }
- }
-}
-
-void Communication::SetFather(Tree_Node *f)
-{
-father = f;
-gate_identifier->SetFather(this);
-experiment_option->SetFather(this);
-}
-
-void Communication::SetCollapsed(char t)
-{
-collapsed = t;
-gate_identifier->SetCollapsed(t);
-experiment_option->SetCollapsed(t);
-}
-
-void Communication::SetTextual(char t, char)
-{
-textual = t;
-experiment_option->SetTextual(t);
-}
-
-
-/*                                                              */
-/*      implementation of class NoGuard methods                */
-/*                                                              */
-
-
-NoGuard::NoGuard()
-{
-type = NO_GUARD;
-visible = FALSE;
-selectable = FALSE;
-w = 0; h = 0;
-aligline = 0;
-
-Set_Unparser(new Gl_NoGuard(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-
-}
-
-void NoGuard::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "NoGuard" << x << " " << y << "\n";
- cout << "NoGuard" << h << " " << w << "\n";
-#endif
-}
-
-void NoGuard::SetDimensions(void)
-{ }
-
-void NoGuard::SetFather(Tree_Node *f)
-{ father = f; }
-
-
-/*                                                              */
-/*      implementation of class Guard methods           */
-/*                                                              */
-
-
-Guard::Guard(Equality *eq)
-{
-type = GUARD;
-visible = TRUE;
-selectable = FALSE;
-equality = eq;
-
-Set_Unparser(new Gl_Guard(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-
-}
-
-void Guard::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Guard" << x << " " << y << "\n";
- cout << "Guard" << h << " " << w << "\n";
-#endif
-if (textual)
-       equality->SetPosition(x + Tree_Node::inUseFont()->Width(" ["), y);
-      else
-       equality->SetPosition(x+BORDER, y - VBORDER);
-}
-
-void Guard::SetDimensions(void)
-{
-equality->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     
-      if(textual)
-       {
-       h = Tree_Node::inUseFont()->Height();
-       w = equality->Get_W() + Tree_Node::inUseFont()->Width(" [") + 
Tree_Node::inUseFont()->Width("]");
-       }
-       else {
-           h = equality->Get_H() + 2 * VBORDER;
-           w = equality->Get_W() + 2 * BORDER;
-           }
- }
-aligline = round(h/2.0);
-}
-
-void Guard::SetFather(Tree_Node *f)
-{
-father = f;
-equality->SetFather(this);
-}
-
-void Guard::SetCollapsed(char t)
-{
-collapsed = t;
-equality->SetCollapsed(t);
-}
-
-
-/*                                                              */
-/*      implementation of class NoExperiment methods            */
-/*                                                              */
-
-
-NoExperiment::NoExperiment()
-{
-type = NO_EXPERIMENT;
-visible = FALSE;
-selectable = FALSE;
-w = 0; h = 0;
-aligline = 0;
-
-Set_Unparser(new Gl_NoExperiment(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-
-}
-
-void NoExperiment::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "NoExperiment" << x << " " << y << "\n";
- cout << "NoExperiment" << h << " " << w << "\n";
-#endif
-}
-
-void NoExperiment::SetDimensions(void)
-{ }
-
-void NoExperiment::SetFather(Tree_Node *f)
-{ father = f; }
-
-
-/*                                                              */
-/*      implementation of class Experiment methods              */
-/*                                                              */
-
-
-Experiment::Experiment(Exper_Off_List *e_of_l, Tree_Node *g_op)
-{
-type = EXPERIMENT;
-visible = TRUE;
-selectable = FALSE;
-exp_offer_list = e_of_l;
-guard_option = g_op;
-
-Set_Unparser(new Gl_Experiment(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-
-}
-
-void Experiment::SetPosition(Coord xx, Coord yy)
-{
-
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Experiment" << x << " " << y << "\n";
- cout << "Experiment" << h << " " << w << "\n";
-#endif
-if (textual)
-       {
-       exp_offer_list->SetPosition(x , y); 
-       guard_option->SetPosition(x + exp_offer_list->Get_W(), y);
-       }
-      else
-       exp_offer_list->SetPosition(x + ROUND_CORNER, y);
-}
-
-void Experiment::SetDimensions(void)
-{
-exp_offer_list->SetDimensions();
-guard_option->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     if (textual)
-       {
-       h = Tree_Node::inUseFont()->Height();
-       w = exp_offer_list->Get_W() + guard_option->Get_W();
-       }
-      else {
-          h = exp_offer_list->Get_H();
-          w = exp_offer_list->Get_W() + ROUND_CORNER; 
-          }
- }
-aligline = round(h/2.0);
-}
-
-void Experiment::SetFather(Tree_Node *f)
-{
-father = f;
-exp_offer_list->SetFather(this);
-guard_option->SetFather(this);
-}
-
-void Experiment::SetCollapsed(char t)
-{
-collapsed = t;
-exp_offer_list->SetCollapsed(t);
-guard_option->SetCollapsed(t);
-}
-
-
-void Experiment::SetTextual(char t, char)
-{
-textual = t;
-guard_option->SetTextual(t);
-}
-
-/*                                                             */
-/*     implementation of class Proc_Inst methods               */
-/*                                                             */
-
-Proc_Inst::Proc_Inst(ID_Place *id, ID_List *g_i_l, Value_Expr_List *v_l)
-{
-Gl_Sheet *sh;
-type = PROCINST;
-visible = TRUE;
-
-ident = id;
-gate_list = g_i_l;
-value_expr_list = v_l;
-
-Set_Unparser(new Gl_Proc_Inst(this));
-sh = (glow->Get_Folder())->Current();
-sh->Add(Get_Unparser());
-sh->SetRoot(this);
-}
-
-void Proc_Inst::SetPosition(Coord xx, Coord yy)
-{
-Coord x1,y1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Proc Inst" << x << " " << y << "\n";
- cout << "Proc Inst" << h << " " << w << "\n";
-#endif
-
-if ( textual)
-       {
-       ident->SetPosition(x + border,y - border);
-       yp = yl1 = x + ident->Get_W() + border;  /* yp position of [*/  
-       if (gate_list->GetVisible())
-               {
-               x1 = yp + Tree_Node::inUseFont()->Width(" [");
-               gate_list->SetPosition(x1, y - border);
-               yl1 = x1 + gate_list->Get_W();       /* yl1 position of ] */
-               }
-       if (value_expr_list->GetVisible())
-               {
-               Xopen = yl1 + Tree_Node::inUseFont()->Width("] "); /*position 
of ( */
-               x1 = Xopen + Tree_Node::inUseFont()->Width(" (");
-               value_expr_list->SetPosition(x1, y - border);
-               Xclose = x1 + value_expr_list->Get_W(); /*poistion of )*/
-               }
-       }
-
-       else {
-         x1 = x + round((w - gate_list->Get_W()) / 2.0);
-         gate_list->SetPosition(x1,y);
-
-         x1 = x + round((w - ident->Get_W()) / 2.0);
-         yp = y - gate_list->Get_H();
-         y1 = yp  - VBORDER;
-         ident->SetPosition(x1,y1);
-         yl1 = y1 - ident->Get_H() - VBORDER; 
-         x1 = x + round((w - value_expr_list->Get_W()) / 2.0);
-         y1 = yl1  - VBORDER;
-         value_expr_list->SetPosition(x1,y1);
-         }
-
-}
-
-void Proc_Inst::SetDimensions(void)
-{
-ident->SetDimensions();
-gate_list->SetDimensions();
-value_expr_list->SetDimensions();
-border = 0;
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:   if(textual)
-                          {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                          h = Tree_Node::inUseFont()->Height();
-                          if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL))
-                             {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                        else {
-                             w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                             h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                       aligline = round(h/2.0);
-                       break; 
- case COLLAPSED_INV:   w = 0; h = 0; aligline = 0;
-                       break;
- case NOCOLLAPSED:     
-     if(textual)
-       {
-       h = Tree_Node::inUseFont()->Height();
-       w = ident->Get_W() + gate_list->Get_W() + value_expr_list->Get_W(); 
-       w += (gate_list->GetVisible())? Tree_Node::inUseFont()->Width(" [") + 
-               Tree_Node::inUseFont()->Width("] "):0; 
-       w += (value_expr_list->GetVisible())? Tree_Node::inUseFont()->Width(" 
(") + 
-               Tree_Node::inUseFont()->Width(") "):0; 
-       if(!(father->GetTextual()) && (father->GetType() <= PARALLEL))
-         {border = VBORDER; w += 2 * VBORDER; h += 2 * VBORDER; }
-       aligline = round(h/2.0);
-       }
-       else {
-         w = Max(ident->Get_W(),value_expr_list->Get_W());
-         w = Max(w, gate_list->Get_W());
-         w += 2 * BORDER;
-         if(value_expr_list->Get_H() != 0)
-           hp = ident->Get_H() + value_expr_list->Get_H() + 4 * VBORDER;
-          else hp = ident->Get_H() + 2 * VBORDER;
-         h = hp + gate_list->Get_H();
-         aligline = gate_list->Get_H() + round(ident->Get_H()/2.0) + VBORDER;
-         }
- }
-}
-
-void Proc_Inst::SetFather(Tree_Node *f)
-{
-father = f;
-ident->SetFather(this);
-gate_list->SetFather(this);
-value_expr_list->SetFather(this);
-}
-
-void Proc_Inst::SetCollapsed(char t)
-{
-collapsed = t;
-if(t)
-  t = COLLAPSED_INV;
-ident->SetCollapsed(t);
-gate_list->SetCollapsed(t);
-value_expr_list->SetCollapsed(t);
-}
-
-void Proc_Inst::SetTextual(char t, char s)
-{
-textual = t;
-selectable = (!t | s);
-gate_list->SetTextual(t);
-}
-
-
-/*                                                             */ 
-/*     implementation of class Value_Expr methods              */ 
-/*                                                             */ 
-
-Value_Expr::Value_Expr() 
-{ 
-type = VALEXPR; 
-textual = TRUE;
-visible = FALSE; 
-selectable = FALSE;
-w = 0; h = 0;
-aligline = 0;
-
-Set_Unparser(new Gl_Value_Expr(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Value_Expr::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "ValueExpr" << x << " " << y << "\n";
- cout << "ValueExpr" << h << " " << w << "\n";
- cout << "ValueExpr" << visible << " " << collapsed << "\n";
-#endif
-}
-
-void Value_Expr::SetDimensions(void)
-{ }
-
-void Value_Expr::SetFather(Tree_Node *f)
-{ father = f; }
-
-
-/*                                                             */
-/*     implementation of class Value_Expr_List methods         */
-/*                                                             */
-
-Value_Expr_List::Value_Expr_List(Tree_Node *el, Value_Expr_List *nxt)
-{
-type = VALUEEXPRLIST;
-textual = TRUE;
-selectable = FALSE;
-elem = el;
-next = nxt;
-visible = elem->GetVisible();
-
-Set_Unparser(new Gl_Value_Expr_List(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Value_Expr_List::SetPosition(Coord xx, Coord yy)
-{
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "ValueExprList" << x << " " << y << "\n";
- cout << "ValueExprList" << h << " " << w << "\n";
-#endif
-if(elem != NULL)
- {
- elem->SetPosition(x,y);
- x1 = x + elem->Get_W() + Tree_Node::inUseFont()->Width(", ");
- if(next != NULL)
-   next->SetPosition(x1,y);
- }
-}
-
-void Value_Expr_List::SetDimensions(void)
-{
-elem->SetDimensions();
-if(next!=NULL)
-   next->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     h = Tree_Node::inUseFont()->Height();
-                       w = (next == NULL || next->next == NULL)? elem->Get_W()
-                               : elem->Get_W() + next->Get_W() + 
Tree_Node::inUseFont()->Width(", ");
- }
-aligline = round(h/2.0);
-}
-
-void Value_Expr_List::SetFather(Tree_Node *f)
-{
-father = f;
-if(elem != NULL)
-  elem->SetFather(this);
-if(next != NULL)
-  next->SetFather(this);
-}
-
-void Value_Expr_List::SetCollapsed(char t)
-{
-collapsed = t;
-if(elem != NULL)
-  elem->SetCollapsed(t);
-if(next != NULL)
-  next->SetCollapsed(t);
-}
-
-
-/*                                                             */
-/*     implementation of class Sum_Ident methods                       */
-/*                                                             */
-
-
-Sum_Ident::Sum_Ident(Id_Decl_List *i_d_l, Tree_Node *b)
-{
-type = SUM_IDENT;
-visible = TRUE;
-alignement = VER;
-ident_decl_list = i_d_l;
-bex = b;
-
-Set_Unparser(new Gl_Sum_Ident(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Sum_Ident::SetPosition(Coord xx, Coord yy)
-{
-Coord x1,y1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Sum_Ident" << x << " " << y << "\n";
- cout << "Sum_Ident" << h << " " << w << "\n";
-#endif
-if (textual)
-       {               
-       SetTerminalPos();
-       x1 = Xch + Tree_Node::inUseFont()->Width("choice ");
-       y1 = Ych;
-        ident_decl_list->SetPosition(x1, y1);
-       x1 = x + SMALL_BORDER;
-       y1 = y - ident_decl_list->Get_H() - VBORDER - border;
-       bex->SetPosition(x1, y1);
-       }
-     else {
-       x1 = x + round((w - ident_decl_list->Get_W() - 
-                       2 * LINE_SPACE)/2.0) + BORDER;
-       y1 = y - 2 * VBORDER;
-       ident_decl_list->SetPosition(x1, y1);
-       yl = y1 - 2 * VBORDER - ident_decl_list->Get_H();
-       x1 = x + round((w - bex->Get_W())/2.0);
-       y1 = yl - BORDER; 
-       bex->SetPosition(x1,y1);
-       }
-}
-
-void Sum_Ident::SetDimensions(void)
-
-{
-ident_decl_list->SetDimensions();
-bex->SetDimensions();
-border = 0;
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:   if(textual)
-                          {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                          h = Tree_Node::inUseFont()->Height();
-                          if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL))
-                             {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                        else {
-                             w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                             h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                       break; 
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     
-     if(textual)
-       {
-       h = ident_decl_list->Get_H() + bex->Get_H() +
-                Tree_Node::inUseFont()->Height() + 2 * VBORDER;
-       w = Max4(Tree_Node::inUseFont()->Width("(choice ") +
-                 ident_decl_list->Get_W() + Tree_Node::inUseFont()->Width(" 
[]"),
-                bex->Get_W() + SMALL_BORDER, 
Tree_Node::inUseFont()->Width(")"), 0);
-        if(!(father->GetTextual()) && (father->GetType() <= PARALLEL))
-           {border = VBORDER; w += 2 * VBORDER; h += 2 * VBORDER; }
-       }
-      else {
-          w = Max(ident_decl_list->Get_W() + 2 * LINE_SPACE, bex->Get_W());
-          w += 2*BORDER;
-           h = ident_decl_list->Get_H() + bex->Get_H() + 4*VBORDER + 2*BORDER; 
-           }
- }
-aligline = round(h/2.0);
-}
-
-void Sum_Ident::SetFather(Tree_Node *f)
-{
-father = f;
-ident_decl_list->SetFather(this);
-bex->SetFather(this);
-}
-
-void Sum_Ident::SetCollapsed(char t)
-{
-collapsed = t;
-if(t)
-  t = COLLAPSED_INV;
-ident_decl_list->SetCollapsed(t);
-bex->SetCollapsed(t);
-}
-
-void Sum_Ident::SetTextual(char t, char s)
-{
-textual = t;
-selectable = (!t | s);
-bex->SetTextual(t);
-}
-
-void Sum_Ident::SetTerminalPos()
-
-/* x, y is the position of (                                   */
-/* Xch, Ych is the position of choice                          */
-/* xl, yl is the position of []                                        */
-/* Xclose, Yclose is the position of )                         */
-{
-Ych = yl = y - border;
-
-Xch = x + Tree_Node::inUseFont()->Width("(") + border; 
-xl = Xch + Tree_Node::inUseFont()->Width("choice ") + ident_decl_list->Get_W();
-Xclose = x + border;
-Yclose = y - ident_decl_list->Get_H() - bex->Get_H() - 2 * VBORDER - border;
-}
-
-
-/*                                                             */
-/*     implementation of class Value methods                   */
-/*                                                             */
-
-Value::Value(ID_Place *i, ID_Place *s)
-{
-type = VALUE;
-textual = TRUE;
-visible = TRUE;
-selectable = FALSE;
-ident = i;
-sort_id = s;
-if(glow->ShowOfSort())
-   sort_id->SetVisible(TRUE);
- else sort_id->SetVisible(FALSE);
-
-Set_Unparser(new Gl_Value(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-((glow->Get_Folder())->Current())->YesOfSort();
-}
-
-void Value::SetPosition(Coord xx, Coord yy)
-{
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Value" << x << " " << y << "\n";
- cout << "Value" << h << " " << w << "\n";
-#endif
-ident->SetPosition(x,y);
-x1 = x + ident->Get_W() + Tree_Node::inUseFont()->Width(" of ");
-sort_id->SetPosition(x1,y);
-}
-
-void Value::SetDimensions(void)
-{
-ident->SetDimensions();
-sort_id->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     h = Tree_Node::inUseFont()->Height();
-                       if(glow->ShowOfSort())
-                          {
-                          sort_id->SetVisible(TRUE);
-                          w = ident->Get_W() + sort_id->Get_W() + 
Tree_Node::inUseFont()->Width(" of ");
-                          }
-                        else {
-                             w = ident->Get_W();
-                             sort_id->SetVisible(FALSE);
-                             }
- }
-aligline = round(h/2.0);
-}
-
-void Value::SetFather(Tree_Node *f)
-{
-father = f;
-ident->SetFather(this);
-sort_id->SetFather(this);
-}
-
-void Value::SetCollapsed(char t)
-{
-collapsed = t;
-ident->SetCollapsed(t);
-sort_id->SetCollapsed(t);
-}
-
-
-
-/*                                                             */
-/*     implementation of class Term methods                    */
-/*                                                             */
-
-Term::Term(ID_Place *op, Value_Expr_List *el, ID_Place *s)
-{
-type = TERM;
-textual = TRUE;
-visible = TRUE;
-selectable = FALSE;
-op_ident = op;
-expr_list = el;
-sort_id = s;
-visible = TRUE;
-
-if(glow->ShowOfSort())
-   sort_id->SetVisible(TRUE);
- else sort_id->SetVisible(FALSE);
-
-Set_Unparser(new Gl_Term(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-((glow->Get_Folder())->Current())->YesOfSort();
-}
-
-void Term::SetPosition(Coord xx, Coord yy)
-{
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Term" << x << " " << y << "\n";
- cout << "Term" << h << " " << w << "\n";
-#endif
-op_ident->SetPosition(x,y);
-if(expr_list->Get_W() == 0)
-  {
-  x1 = x + op_ident->Get_W();
-  expr_list->SetPosition(x1,y);
-  x1 = x1 + Tree_Node::inUseFont()->Width(" of ");
-  sort_id->SetPosition(x1,y);
-  }
- else {
-      x1 = x + op_ident->Get_W() + Tree_Node::inUseFont()->Width("(");
-      expr_list->SetPosition(x1,y);
-      x1 = x1 + expr_list->Get_W() + Tree_Node::inUseFont()->Width(") of ");
-      sort_id->SetPosition(x1,y);
-      }
-}
-
-void Term::SetDimensions(void)
-{
-op_ident->SetDimensions();
-expr_list->SetDimensions();
-sort_id->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     h = Tree_Node::inUseFont()->Height();
-                       if(glow->ShowOfSort())
-                          {
-                          sort_id->SetVisible(TRUE);
-                          w = op_ident->Get_W() + sort_id->Get_W() + 
Tree_Node::inUseFont()->Width(" of ");
-                          }
-                        else {
-                             w = op_ident->Get_W();
-                             sort_id->SetVisible(FALSE);
-                             }
-                       w = (expr_list->Get_W() == 0)?w : w + 
expr_list->Get_W() + 
-                                         2 * 
Tree_Node::inUseFont()->Width(")");
- }
-aligline = round(h/2.0);
-}
-
-void Term::SetFather(Tree_Node *f)
-{
-father = f;
-op_ident->SetFather(this);
-expr_list->SetFather(this);
-sort_id->SetFather(this);
-}
-
-void Term::SetCollapsed(char t)
-{
-collapsed = t;
-op_ident->SetCollapsed(t);
-expr_list->SetCollapsed(t);
-sort_id->SetCollapsed(t);
-}
-
-
-
-/*                                                             */ 
-/*     implementation of class Exit_Entry methods              */ 
-/*                                                             */ 
-
-Exit_Entry::Exit_Entry() 
-{ 
-type = EXITENTRY; 
-textual = TRUE;
-visible = FALSE; 
-selectable = FALSE;
-w = 0; h = 0;
-aligline = 0;
-
-Set_Unparser(new Gl_Exit_Entry(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Exit_Entry::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "ValueExpr" << x << " " << y << "\n";
- cout << "ValueExpr" << h << " " << w << "\n";
- cout << "ValueExpr" << visible << " " << collapsed << "\n";
-#endif
-}
-
-void Exit_Entry::SetDimensions(void)
-{ }
-
-void Exit_Entry::SetFather(Tree_Node *f)
-{ father = f; }
-
-
-/*                                                             */
-/*     implementation of class Exit_Entry_List methods         */
-/*                                                             */
-
-Exit_Entry_List::Exit_Entry_List(Tree_Node *el, Exit_Entry_List *nxt)
-{
-type = EXITENTRYLIST;
-selectable = FALSE;
-elem = el;
-next = nxt;
-visible = elem->GetVisible();
-
-Set_Unparser(new Gl_Exit_Entry_List(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Exit_Entry_List::SetPosition(Coord xx, Coord yy)
-{
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "ExitEntryList" << x << " " << y << "\n";
- cout << "ExitEntryList" << h << " " << w << "\n";
- cout << "ExitEntryList" << visible << " " << collapsed << "\n";
-#endif
-if(elem != NULL)
- {
- elem->SetPosition(x,y);
- x1 = x + elem->Get_W() + Tree_Node::inUseFont()->Width(", ");
- if(next != NULL)
-   next->SetPosition(x1,y);
- }
-}
-
-void Exit_Entry_List::SetDimensions(void)
-{
-elem->SetDimensions();
-if(next!=NULL)
-   next->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     h = Tree_Node::inUseFont()->Height();
-                        w = (next == NULL || next->next == NULL)? elem->Get_W()
-                           : elem->Get_W() + next->Get_W() + 
Tree_Node::inUseFont()->Width(", ");
- }
-aligline = round(h/2.0);
-}
-
-void Exit_Entry_List::SetFather(Tree_Node *f)
-{
-father = f;
-if(elem != NULL)
-  elem->SetFather(this);
-if(next != NULL)
-  next->SetFather(this);
-}
-
-void Exit_Entry_List::SetCollapsed(char t)
-{
-collapsed = t;
-if(elem != NULL)
-  elem->SetCollapsed(t);
-if(next != NULL)
-  next->SetCollapsed(t);
-}
-
-
-
-/*                                                             */
-/*     implementation of class Sum_Gate methods                        */
-/*                                                             */
-
-Sum_Gate::Sum_Gate(Gate_Decl_List *g_d_l, Tree_Node *b)
-{
-type = SUM_GATE;
-visible = TRUE;
-alignement = VER;
-gate_decl_list = g_d_l;
-bex = b;
-Set_Unparser(new Gl_Sum_Gate(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Sum_Gate::SetPosition(Coord xx, Coord yy)
-{
-Coord x1,y1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Sum_Gate" << x << " " << y << "\n";
- cout << "Sum_Gate" << h << " " << w << "\n";
-#endif
-
-if (textual)
-       {               
-       SetTerminalPos();
-       x1 = Xch + Tree_Node::inUseFont()->Width("choice ");
-       y1 = Ych;
-        gate_decl_list->SetPosition(x1, y1);
-       x1 = x + SMALL_BORDER + border;
-       y1 = y - gate_decl_list->Get_H() - VBORDER - border;
-       bex->SetPosition(x1, y1);
-       }
-     else {
-       x1 = x + round((w - gate_decl_list->Get_W() - 2 * LINE_SPACE)/2.0) 
-                       + BORDER;
-       y1 = y - 2 * VBORDER;
-
-       gate_decl_list->SetPosition(x1, y1);
-
-       yl = y1 - 2 * VBORDER - gate_decl_list->Get_H();
-
-       y1 = yl - BORDER; 
-       x1 = x + round((w - bex->Get_W())/2.0);
-       bex->SetPosition(x1,y1);
-       }
-
-}
-
-void Sum_Gate::SetDimensions(void)
-{
-gate_decl_list->SetDimensions();
-bex->SetDimensions();
-border = 0;
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:   if(textual)
-                          {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                          h = Tree_Node::inUseFont()->Height();
-                          if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL))
-                             {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                        else {
-                             w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                             h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                       break; 
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     
-     if(textual)
-       {
-       h = gate_decl_list->Get_H() + bex->Get_H() +
-                Tree_Node::inUseFont()->Height() + 2 * VBORDER;
-       w = Max4(Tree_Node::inUseFont()->Width("(choice ") +
-               gate_decl_list->Get_W() + Tree_Node::inUseFont()->Width(" []"),
-               bex->Get_W() + SMALL_BORDER, 
Tree_Node::inUseFont()->Width(")"), 0);
-        if(!(father->GetTextual()) && (father->GetType() <= PARALLEL))
-           {border = VBORDER; w += 2 * VBORDER; h += 2 * VBORDER; }
-       }
-     else {
-         w =  Max(gate_decl_list->Get_W() + 2 * LINE_SPACE, bex->Get_W());
-         w += 2*BORDER;
-         h = gate_decl_list->Get_H() + bex->Get_H() + 4*VBORDER + 2*BORDER; 
-         }
- }
-aligline = round(h/2.0);
-}
-
-void Sum_Gate::SetFather(Tree_Node *f)
-{
-father = f;
-gate_decl_list->SetFather(this);
-bex->SetFather(this);
-}
-
-void Sum_Gate::SetCollapsed(char t)
-{
-collapsed = t;
-if(t)
-  t = COLLAPSED_INV;
-gate_decl_list->SetCollapsed(t);
-bex->SetCollapsed(t);
-}
-
-void Sum_Gate::SetTextual(char t, char s)
-{
-textual = t;
-selectable = (!t | s);
-bex->SetTextual(t);
-}
-
-void Sum_Gate::SetTerminalPos()
-
-/* x, y is the position of (                                    */
-/* Xch, Ych is the position of choice                           */
-/* xl, yl is the position of []                                 */
-/* Xclose, Yclose is the position of )                          */
-{
-Ych = yl = y;
-
-Xch = x + Tree_Node::inUseFont()->Width("(") + border;
-xl = Xch + Tree_Node::inUseFont()->Width("choice ") + gate_decl_list->Get_W();
-Xclose = x + border;
-Yclose = y - gate_decl_list->Get_H() - bex->Get_H() - 2 * VBORDER - border;
-}
-
-
-
-/*                                                             */
-/*     implementation of class Gate_Decl methods                       */
-/*                                                             */
-
-Gate_Decl::Gate_Decl(ID_List *g_id_l1, ID_List *g_id_l2)
-{
-type = GATE_DECL;
-textual = TRUE;
-selectable = FALSE;
-gate_id_list1 = g_id_l1;
-gate_id_list2 = g_id_l2;
-
-if(g_id_l1 == NULL)
-  gate_id_list1 = new ID_List(new ID_Place(),NULL);
-if(g_id_l2 == NULL)
-  gate_id_list2 = new ID_List(new ID_Place(), NULL);
-visible = (gate_id_list1->GetVisible() && gate_id_list2->GetVisible());
-
-Set_Unparser(new Gl_Gate_Decl(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Gate_Decl::SetPosition(Coord xx, Coord yy)
-{
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Gate_Decl" << x << " " << y << "\n";
- cout << "Gate_Decl" << h << " " << w << "\n";
-#endif
-if(gate_id_list1 != NULL)
- {
- gate_id_list1->SetPosition(x,y);
- x1 = x + gate_id_list1->Get_W() + Tree_Node::inUseFont()->Width(" in [");
- if(gate_id_list2 != NULL)
-   gate_id_list2->SetPosition(x1,y);
- }
-}
-
-void Gate_Decl::SetDimensions(void)
-{
-gate_id_list1->SetDimensions();
-gate_id_list2->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     h = Tree_Node::inUseFont()->Height();
-                       w = (visible)? gate_id_list1->Get_W() + 
gate_id_list2->Get_W()
-                               + Tree_Node::inUseFont()->Width("in []  ") : 0;
- }
-aligline = round(h/2.0);
-}
-
-void Gate_Decl::SetFather(Tree_Node *f)
-{
-father = f;
-if(gate_id_list1 != NULL)
-  gate_id_list1->SetFather(this);
-if(gate_id_list2 != NULL)
-  gate_id_list2->SetFather(this);
-}
-
-void Gate_Decl::SetCollapsed(char t)
-{
-collapsed = t;
-if(gate_id_list1 != NULL)
-  gate_id_list1->SetCollapsed(t);
-if(gate_id_list2 != NULL)
-  gate_id_list2->SetCollapsed(t);
-}
-
-
-/*                                                             */
-/*     implementation of class Gate_Decl_List methods          */
-/*                                                             */
-
-Gate_Decl_List::Gate_Decl_List(Gate_Decl *el, Gate_Decl_List *nxt)
-{
-type = GATE_DECL_LIST;
-textual = TRUE;
-selectable = FALSE;
-elem = el;
-next = nxt;
-visible = elem->GetVisible();
-
-Set_Unparser(new Gl_Gate_Decl_List(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Gate_Decl_List::SetPosition(Coord xx, Coord yy)
-{
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Gate_Decl_List" << x << " " << y << "\n";
- cout << "Gate_Decl_List" << h << " " << w << "\n";
-#endif
-if(elem != NULL)
- {
- elem->SetPosition(x,y);
- x1 = x + elem->Get_W() + Tree_Node::inUseFont()->Width(", ");
- if(next != NULL)
-   next->SetPosition(x1,y);
- }
-}
-
-void Gate_Decl_List::SetDimensions(void)
-{
-elem->SetDimensions();
-if(next!=NULL)
-   next->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     h = Tree_Node::inUseFont()->Height();
-                       w = (next == NULL || next->next == NULL)? elem->Get_W()
-                            : elem->Get_W() + next->Get_W() + 
Tree_Node::inUseFont()->Width(", ");
- }
-aligline = round(h/2.0);
-}
-
-void Gate_Decl_List::SetFather(Tree_Node *f)
-{
-father = f;
-if(elem != NULL)
-  elem->SetFather(this);
-if(next != NULL)
-  next->SetFather(this);
-}
-
-void Gate_Decl_List::SetCollapsed(char t)
-{
-collapsed = t;
-if(elem != NULL)
-  elem->SetCollapsed(t);
-if(next != NULL)
-  next->SetCollapsed(t);
-}
-
-
-
-/*                                                             */
-/*     implementation of class Par methods                     */
-/*                                                             */
-
-Par::Par(Gate_Decl_List *g_d_l, Tree_Node *op, Tree_Node *b)
-{
-type = PAR;
-visible = TRUE;
-alignement = VER;
-gate_decl_list = g_d_l;
-bex = b;
-oper = op;
-if (textual)
- oper->SetVisible(TRUE);
-  else {
-       oper->SetVisible(FALSE);
-       if(oper->GetType() == GEN_PARAL)
-            oper->SetVisible(TRUE);
-       }
-
-Set_Unparser(new Gl_Par(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Par::SetPosition(Coord xx, Coord yy)
-{
-Coord x1,y1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Par" << x << " " << y << "\n";
- cout << "Par" << h << " " << w << "\n";
-#endif
-
-if (textual)
-       {                       
-       x1 = x + Tree_Node::inUseFont()->Width("(par ") + border;
-       gate_decl_list->SetPosition(x1, y - border);
-       x1 = x1 + gate_decl_list->Get_W();
-       oper->SetPosition(x1, y - border);
-       y1 = y - gate_decl_list->Get_H() - VBORDER - border;
-       x1 = x + SMALL_BORDER + border;
-       bex->SetPosition(x1, y1);
-       xl = x + border;
-       yl = y1 - bex->Get_H() - VBORDER;
-       }
-     else {
-       if(oper->GetType() == GEN_PARAL)
-         {
-         x1 = x + SMALL_BORDER;
-         y1 = y - ROUND_CORNER;
-         oper->SetPosition(x1,y1);
-         x1 = x1 + oper->Get_W() + BORDER; 
-         y1 = y1 - ROUND_CORNER;
-         gate_decl_list->SetPosition(x1,y1); 
-         yl = y1 - gate_decl_list->Get_H() - 2 * ROUND_CORNER;
-         y1 = yl - BORDER;
-         x1 = x + round((w - bex->Get_W())/2.0);
-         bex->SetPosition(x1,y1);
-         }
-        else {
-             x1 = x + round((w - gate_decl_list->Get_W() - 2 * 
LINE_SPACE)/2.0)                                + BORDER;
-             y1 = y - 2 * VBORDER;
-             gate_decl_list->SetPosition(x1, y1);
-             yl = y1 - 2 * VBORDER - gate_decl_list->Get_H();
-             x1 = x + round((w - bex->Get_W())/2.0);
-             y1 = yl - BORDER; 
-             bex->SetPosition(x1,y1);
-             }
-       }
-}
-
-void Par::SetDimensions(void)
-{
-bex->SetDimensions();
-oper->SetDimensions();
-gate_decl_list->SetDimensions();
-border = 0;
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:   if(textual)
-                          {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                          h = Tree_Node::inUseFont()->Height();
-                          if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL))
-                             {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                        else {
-                             w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                             h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                       break; 
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     
-     if(textual)
-       {
-       h = gate_decl_list->Get_H() + bex->Get_H() + 
Tree_Node::inUseFont()->Height() +
-              2 * VBORDER; 
-       w = Max4(Tree_Node::inUseFont()->Width("(par ") + 
gate_decl_list->Get_W() +
-                oper->Get_W(), bex->Get_W(),
-               Tree_Node::inUseFont()->Width(")"), 0);
-       if(!(father->GetTextual()) && (father->GetType() <= PARALLEL))
-         {border = VBORDER; w += 2 * VBORDER; h += 2 * VBORDER; }
-       }
-      else {
-          if(oper->GetType() == GEN_PARAL)
-            {
-            w = Max(bex->Get_W(), oper->Get_W() + gate_decl_list->Get_W() 
-                                     + 2 * BORDER + SMALL_BORDER);
-            h = gate_decl_list->Get_H() + bex->Get_H() + 2*BORDER + 
-                       4*ROUND_CORNER; 
-            }
-           else {
-                w =  Max(gate_decl_list->Get_W() + 2 * LINE_SPACE, 
bex->Get_W());
-                w += 2*BORDER;
-                h = gate_decl_list->Get_H() + bex->Get_H() + 4*VBORDER + 
2*BORDER; 
-                 }
-       }
- }
-aligline = round(h/2.0);
-}
-
-void Par::SetFather(Tree_Node *f)
-{
-father = f;
-gate_decl_list->SetFather(this);
-bex->SetFather(this);
-oper->SetFather(this);
-}
-
-void Par::SetCollapsed(char t)
-{
-collapsed = t;
-if(t)
-  t = COLLAPSED_INV;
-gate_decl_list->SetCollapsed(t);
-bex->SetCollapsed(t);
-oper->SetCollapsed(t);
-}
-
-
-void Par::SetTextual(char t, char s)
-{
-textual = t;
-selectable = (!t | s);
-gate_decl_list->SetTextual(t);
-bex->SetTextual(t);
-oper->SetTextual(t);
-}
-
-/*                                                             */
-/*     implementation of class Sort_Id_Exit methods            */
-/*                                                             */
-
-Sort_Id_Exit::Sort_Id_Exit(ID_Place *s)
-{
-type = SORTIDEXIT;
-textual = TRUE;
-selectable = FALSE;
-sort_id = s;
-visible = TRUE;
-
-Set_Unparser(new Gl_Sort_Id_Exit(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Sort_Id_Exit::SetPosition(Coord xx, Coord yy)
-{
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Sort_Id_Exit" << x << " " << y << "\n";
- cout << "Sort_Id_Exit" << h << " " << w << "\n";
-#endif
-x1 = x + Tree_Node::inUseFont()->Width("any ");
-sort_id->SetPosition(x1,y);
-}
-
-void Sort_Id_Exit::SetDimensions(void)
-{
-sort_id->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     h = Tree_Node::inUseFont()->Height();
-                       w = sort_id->Get_W() + 
Tree_Node::inUseFont()->Width("any ");
- }
-aligline = round(h/2.0);
-}
-
-void Sort_Id_Exit::SetFather(Tree_Node *f)
-{
-father = f;
-sort_id->SetFather(this);
-}
-
-void Sort_Id_Exit::SetCollapsed(char t)
-{
-collapsed = t;
-sort_id->SetCollapsed(t);
-}
-
-
-/*                                                              */
-/*      implementation of class Equality methods               */
-/*                                                              */
-
-Equality::Equality()
-{
-type = EQUALITY;
-textual = TRUE;
-selectable = FALSE;
-visible = FALSE;
-express1 = NULL;
-express2 = NULL;
-
-Set_Unparser(new Gl_Equality(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-Equality::Equality(Tree_Node *ex1, Tree_Node *ex2)
-{
-type = EQUALITY;
-textual = TRUE;
-visible = TRUE;
-selectable = FALSE;
-express1 = ex1;
-express2 = ex2;
-
-Set_Unparser(new Gl_Equality(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Equality::SetPosition(Coord xx, Coord yy)
-{
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Equality" << x << " " << y << "\n";
- cout << "Equality" << h << " " << w << "\n";
-#endif
-if(visible)
-  {
-  express1->SetPosition(x, y);
-  x1 = x + express1->Get_W() + Tree_Node::inUseFont()->Width(" = ");
-  express2->SetPosition(x1, y);
-  }
-}
-
-void Equality::SetDimensions(void)
-{
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     
-     if(visible)
-       {
-       express1->SetDimensions();
-       express2->SetDimensions();
-       h = express1->Get_H();
-       w = express1->Get_W() + express2->Get_W() + 
Tree_Node::inUseFont()->Width(" = ");
-       }
-      else { h = 0; w = 0; }
- }
-aligline = round(h/2.0);
-}
-
-void Equality::SetFather(Tree_Node *f)
-{
-father = f;
-if(visible)
-   {
-   express1->SetFather(this);
-   express2->SetFather(this);
-   }
-}
-
-void Equality::SetCollapsed(char t)
-{
-collapsed = t;
-express1->SetCollapsed(t);
-express2->SetCollapsed(t);
-}
-
-
-
-/*                                                              */
-/*      implementation of class Guarded methods                */
-/*                                                              */
-
-
-Guarded::Guarded(Equality *eq, Tree_Node *b)
-{
-type = GUARDED;
-visible = TRUE;
-alignement = VER;
-equality = eq;
-bex = b;
-
-Set_Unparser(new Gl_Guarded(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Guarded::SetPosition(Coord xx, Coord yy)
-{
-Coord x1, y1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Guarded" << x << " " << y << "\n";
- cout << "Guarded" << h << " " << w << "\n";
-#endif
-if (textual)
-       {
-       x1 = x + Tree_Node::inUseFont()->Width("[") + border;
-       equality->SetPosition(x1, y - border);
-       Xclose = x1 + equality->Get_W();        /*position of ] -> */
-       y1 = y - equality->Get_H() - VBORDER - border;
-       x1 = x + SMALL_BORDER + border;
-       bex->SetPosition(x1, y1);
-       }
-     else {    
-       y1 = y - VBORDER;
-       x1 = x + round((w - equality->Get_W())/2.0);
-       equality->SetPosition(x1, y1);
-       y1 = y1 - equality->Get_H() -  VBORDER - BORDER;
-       x1 = x + round((w - bex->Get_W())/2.0);
-       bex->SetPosition(x1, y1);
-       }
-}
-
-void Guarded::SetDimensions(void)
-{
-equality->SetDimensions();
-bex->SetDimensions();
-border = 0;
-
-switch(collapsed)
- {
- case COLLAPSED_VIS:   if(textual)
-                          {
-                          w = Tree_Node::inUseFont()->Width("<Bex>");
-                          h = Tree_Node::inUseFont()->Height();
-                          if(!(father->GetTextual()) && (father->GetType() <= 
PARALLEL))
-                             {border = VBORDER; w += 2 * VBORDER; h += 2 * 
VBORDER; }
-                          }
-                        else {
-                             w = 
round((Tree_Node::inUseFont()->Width("Bex"))*20.0/9.0);
-                             h = 
round((Tree_Node::inUseFont()->Width("Bex"))*14.0/9.0);
-                             }
-                       break; 
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     
-     if(textual)
-       {
-       h = equality->Get_H() + bex->Get_H() + VBORDER;
-
-       w = Max(equality->Get_W() + Tree_Node::inUseFont()->Width("[") +
-                    Tree_Node::inUseFont()->Width("] -> "), bex->Get_W());
-       if(!(father->GetTextual()) && (father->GetType() <= PARALLEL))
-         {border = VBORDER; w += 2 * VBORDER; h += 2 * VBORDER; }
-       }
-      else {
-          h = equality->Get_H() + bex->Get_H() + 2 * VBORDER + 2 * BORDER;
-          w = Max(equality->Get_W(), bex->Get_W() + 2 * BORDER);
-          w +=  2 * BORDER;
-          }
- }
-aligline = round(h/2.0);
-}
-
-void Guarded::SetFather(Tree_Node *f)
-{
-father = f;
-equality->SetFather(this);
-bex->SetFather(this);
-}
-
-void Guarded::SetCollapsed(char t)
-{
-collapsed = t;
-if(t)
-  t = COLLAPSED_INV;
-equality->SetCollapsed(t);
-bex->SetCollapsed(t);
-}
-
-
-void Guarded::SetTextual(char t, char s)
-{
-textual = t;
-selectable = (!t | s);
-bex->SetTextual(t);
-}
-
-/*                                                              */
-/*      implementation of class Exper_Off methods               */
-/*                                                              */
-
-Exper_Off::Exper_Off()
-{
-type = EXPER_OFF;
-textual = TRUE;
-visible = FALSE;
-selectable = FALSE;
-w = 0; h = 0;
-aligline = 0;
-
-Set_Unparser(new Gl_Exper_Off(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Exper_Off::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "ExperOffer" << x << " " << y << "\n";
- cout << "ExperOffer" << h << " " << w << "\n";
-#endif
-}
-
-void Exper_Off::SetDimensions(void)
-{ }
-
-void Exper_Off::SetFather(Tree_Node *f)
-{ father = f; }
-
-
-/*                                                              */
-/*      implementation of class Exper_Off_List methods          */
-/*                                                              */
-
-Exper_Off_List::Exper_Off_List(Exper_Off *el, Exper_Off_List *nxt)
-{
-type = EXPER_OFF_L;
-textual = TRUE;
-selectable = FALSE;
-elem = el;
-next = nxt;
-visible = elem->GetVisible();
-
-Set_Unparser(new Gl_Exper_Off_List(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-}
-
-void Exper_Off_List::SetPosition(Coord xx, Coord yy)
-{
-Coord x1;
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Exper_Off_List" << x << " " << y << "\n";
- cout << "Exper_Off_List" << h << " " << w << "\n";
-#endif
-if(elem != NULL)
- {
- elem->SetPosition(x,y);
- x1 = x + elem->Get_W() + Tree_Node::inUseFont()->Width(", ");
- if(next != NULL)
-   next->SetPosition(x1,y);
- }
-}
-
-void Exper_Off_List::SetDimensions(void)
-{
-elem->SetDimensions();
-if(next!=NULL)
-   next->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     h = Tree_Node::inUseFont()->Height();
-                       w = (next == NULL || next->next == NULL)? elem->Get_W()
-                            : elem->Get_W() + next->Get_W() + 
Tree_Node::inUseFont()->Width(", ");
- }
-aligline = round(h/2.0);
-}
-
-void Exper_Off_List::SetFather(Tree_Node *f)
-{
-father = f;
-if(elem != NULL)
-  elem->SetFather(this);
-if(next != NULL)
-  next->SetFather(this);
-}
-
-void Exper_Off_List::SetCollapsed(char t)
-{
-collapsed = t;
-if(elem != NULL)
-  elem->SetCollapsed(t);
-if(next != NULL)
-  next->SetCollapsed(t);
-}
-
-
-/*                                                              */
-/*      implementation of class Exclam methods               */
-/*                                                              */
-
-
-Exclam::Exclam(Tree_Node *v_e)
-{
-type = EXCLAM;
-textual = TRUE;
-selectable = FALSE;
-value_exp = v_e;
-visible = TRUE;
-
-Set_Unparser(new Gl_Exclam(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-
-}
-
-void Exclam::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Exclam" << x << " " << y << "\n";
- cout << "Exclam" << h << " " << w << "\n";
-#endif
-
-value_exp->SetPosition(x + Tree_Node::inUseFont()->Width("!"),y);
-}
-
-void Exclam::SetDimensions(void)
-{
-value_exp->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     h = value_exp->Get_H();
-                       w = value_exp->Get_W() + 
Tree_Node::inUseFont()->Width("!");
- }
-aligline = round(h/2.0);
-}
-
-void Exclam::SetFather(Tree_Node *f)
-{
-father = f;
-value_exp->SetFather(this);
-}
-
-void Exclam::SetCollapsed(char t)
-{
-collapsed = t;
-value_exp->SetCollapsed(t);
-}
-
-
-/*                                                              */
-/*      implementation of class Query methods               */
-/*                                                              */
-
-
-Query::Query(Id_Decl *i_d)
-{
-type = QUERY;
-textual = TRUE;
-selectable = FALSE;
-id_decl = i_d;
-visible = TRUE;
-
-Set_Unparser(new Gl_Query(this));
-((glow->Get_Folder())->Current())->Add(Get_Unparser());
-
-}
-
-void Query::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Query" << x << " " << y << "\n";
- cout << "Query" << h << " " << w << "\n";
-#endif
-
-id_decl->SetPosition(x + Tree_Node::inUseFont()->Width("?"),y );
-}
-
-void Query::SetDimensions(void)
-{
-id_decl->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     h = id_decl->Get_H();
-                       w = id_decl->Get_W() + 
Tree_Node::inUseFont()->Width("?");
- }
-aligline = round(h/2.0);
-}
-
-void Query::SetFather(Tree_Node *f)
-{
-father = f;
-id_decl->SetFather(this);
-}
-
-void Query::SetCollapsed(char t)
-{
-collapsed = t;
-id_decl->SetCollapsed(t);
-}
-
-
-/*                                                              */
-/*      implementation of class Definition                      */
-/*                                                              */
-
-Definition::Definition(Tree_Node *b, Proc_List *p, Data_List *d)
-{
-selectable = FALSE;
-bex = b;
-process_list = p;
-data_list = d;
-
-type = DEFINITION;
-visible = TRUE;
-
-}
-
-void Definition::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "Definition" << x << " " << y << "\n";
- cout << "Definition" << h << " " << w << "\n";
-#endif
-bex->SetPosition(x, y);
-}
-
-void Definition::SetDimensions(void)
-{
-bex->SetDimensions();
-switch(collapsed)
- {
- case COLLAPSED_VIS:
- case COLLAPSED_INV:   w = 0; h = 0;
-                       break;
- case NOCOLLAPSED:     h = bex->Get_H();
-                       w = bex->Get_W();
- }
-aligline = round(h/2.0);
-}
-
-void Definition::SetFather(Tree_Node *f)
-{
-father = f;
-bex->SetFather(this);
-if(process_list != NULL)
-   process_list->SetFather(this);
-if(data_list != NULL)
-   data_list->SetFather(this);
-}
-
-
-void Definition::SetPath(char *p, char n, int& np, int& nd)
-{
-strcpy(path,p);
-if(process_list != NULL)
-  process_list->SetPath(path, n, np, nd);
-if(data_list != NULL)
-  data_list->SetPath(path, n, np, nd);
-}
-
-/*                                                             */
-/*     implementation of class Proc_List methods               */
-/*                                                             */
-
-Proc_List::Proc_List(Process *el, Proc_List *nxt)
-{
-type = PROCLIST;
-selectable = FALSE;
-elem = el;
-next = nxt;
-visible = TRUE;
-}
-
-void Proc_List::SetPosition(Coord xx, Coord yy)
-{
-x = xx;
-y = yy;
-#ifdef DEBUG
- cout << "ProcList" << x << " " << y << "\n";
- cout << "ProcList" << h << " " << w << "\n";
-#endif
-}
-
-void Proc_List::SetDimensions(void)
-{
-h = 0; w = 0; 
-aligline = round(h/2.0);
-}
-
-void Proc_List::SetFather(Tree_Node *f)
-{
-father = f;
-if(elem != NULL)
-  elem->SetFather(this);
-if(next != NULL)
-  next->SetFather(this);
-}
-
-void Proc_List::SetPath(char *p, char n, int& np, int& nd)
-{
-if(elem != NULL)
-  elem->SetPath(p, n, np, nd);
-if(next != NULL)
-  next->SetPath(p, n, np, nd);
-}
-
-char *Proc_List::GetPath()
-{
-if(father->GetType() == PROCLIST)
-  return(((Proc_List *)father)->GetPath());
-
-if(father->GetType() == DEFINITION)
-  return(((Definition *)father)->GetPath());
- else return(" ");
-}
diff --git a/test/etags/cp-src/abstract.H b/test/etags/cp-src/abstract.H
deleted file mode 100644
index 05d71cb..0000000
--- a/test/etags/cp-src/abstract.H
+++ /dev/null
@@ -1,993 +0,0 @@
-/*****************************************************************************
-
-  Copyright (c) 1992 Consorzio Pisa Ricerche.
-  Authors: Caneve Maurizio, Salvatori Elena
-
-  This software was produced under the ESPRIT/LOTOSPHERE
-  project. All rights reserved.
-
-*****************************************************************************/
-
-/*                                                                     */
-/*      @(#)abstract.h 4.31  2/1/93                                    */
-/*                                                                     */
-
-#ifndef abstract_hh
-#define abstract_hh
-
-#include <tree.h>
-#include <adatat.h>
-
-class SignatureSorts;
-
-class ID_Place: public Tree_Node
-{
-       char *str;
-       char RBubble;   
-
-friend class Gl_Identifier;
-
-public:
- ID_Place();
- void  SetIdent(char *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetVisible(char);
- void SetFather(Tree_Node *);
- void ClearID(void);
- virtual ~ID_Place();
-
-/* inline functions            */
- char *GetIdent() {return(str);};
- void SetRBubble(char r) { RBubble = r; };
- char GetRBubble(void) { return(RBubble); };
-}; /* end of class ID_Place    */
-
-
-class ID_List: public Tree_Node
-{
-       ID_Place *elem;
-       ID_List *next;
-
-friend class Gl_Id_List;
-friend class Oper;
-
-public:
-
- ID_List(ID_Place *, ID_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- ID_Place *GetElem();
- void HideMe(void);
- void SetCollapsed(char);
- void SetRBubble(char);
- void BuildSigSorts(char, SignatureSorts **, char, Oper *);
- void SetVisible(char);
- void SetAlignement(char);
- void ClearIDs(void);
- int GetCardinality(int);
-}; /* end of class ID_List     */
-
-
-class Id_Decl: public Tree_Node
-{
-       ID_List *id_list;
-       ID_Place *sort_id;
-
-friend class Gl_Id_Decl;
-
-public:
- Id_Decl(ID_List *, ID_Place *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Id_Decl */
-
-
-class Id_Decl_List: public Tree_Node
-{
-       Id_Decl *elem;
-       Id_Decl_List *next;
-
-friend class Gl_Id_Decl_List;
-
-public:
- Id_Decl_List(Id_Decl *, Id_Decl_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Id_Decl_List        */
-
-
-class Comment: public Tree_Node
-{
-       char *comm;
-
-friend class Gl_Comment;
-
-public:
- Comment();
- Comment(Tree_Node*, Coord , Coord);
- void SetComment(char *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- virtual ~Comment();
-}; /* end of class Comment     */
-
-
-class Comment_List: public Tree_Node
-{
-       Comment *elem;
-       Comment_List *next;
-
-public:
- Comment_List(Comment *, Comment_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
-}; /* end of class Comment_List        */
-
-
-class Value_Expr: public Tree_Node
-{
-
-friend class Gl_Value_Expr;
-
-public:
- Value_Expr();
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
-
-}; /* end of class Value_Expr  */
-
-
-class Value_Expr_List: public Tree_Node
-{
-       Tree_Node *elem;
-       Value_Expr_List *next;
-
-friend class Gl_Value_Expr_List;
-
-public:
- Value_Expr_List(Tree_Node *, Value_Expr_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Value_Expr_List     */
-
-
-class Exit_Entry: public Tree_Node
-{
-
-friend class Gl_Exit_Entry;
-
-public:
- Exit_Entry();
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
-
-}; /* end of class Exit_Entry  */
-
-
-class Exit_Entry_List: public Tree_Node
-{
-       Tree_Node *elem;
-       Exit_Entry_List *next;
-
-friend class Gl_Exit_Entry_List;
-
-public:
- Exit_Entry_List(Tree_Node *, Exit_Entry_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Exit_Entry_List     */
-
-
-class Exper_Off: public Tree_Node
-{
-
-public:
- Exper_Off();
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
-
-}; /* end of class Exper_Off */
-
-
-class Exper_Off_List: public Tree_Node
-{
-        Exper_Off *elem;
-        Exper_Off_List *next;
-
-friend class Gl_Exper_Off_List;
-
-public:
- Exper_Off_List(Exper_Off *, Exper_Off_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Exper_Off_List      */
-
-
-class Gate_Decl: public Tree_Node
-{
-       ID_List *gate_id_list1;
-       ID_List *gate_id_list2;
-
-friend class Gl_Gate_Decl;
-
-public:
- Gate_Decl(ID_List *, ID_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Gate_Decl */
-
-
-class Gate_Decl_List: public Tree_Node
-{
-       Gate_Decl *elem;
-       Gate_Decl_List *next;
-
-friend class Gl_Gate_Decl_List;
-
-public:
- Gate_Decl_List(Gate_Decl *, Gate_Decl_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Gate_Decl_List */
-
-
-class Ident_Eq: public Tree_Node
-{
-        Id_Decl *iddecl;
-        Value_Expr *expr;
-
-friend class Gl_Ident_Eq;
-
-public:
- Ident_Eq(Id_Decl *,  Value_Expr *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Ident_Eq      */
-
-
-class Ident_Eq_List: public Tree_Node
-{
-        Ident_Eq *elem;
-        Ident_Eq_List *next;
-
-friend class Gl_Ident_Eq_List;
-
-public:
- Ident_Eq_List(Ident_Eq *, Ident_Eq_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Ident_Eq_List      */
-
-
-class Half_Container: public Tree_Node
-{
-       ID_List *gate_list;
-
-friend class Gl_Half_Container;
-
-public:
- Half_Container(ID_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Half_Container      */
-
-
-
-/*                                                             */
-/*     Process Definitions                                     */
-/*                                                             */
-
-
-class Specification: public Tree_Node
-{
-class Definition;
-
-        Comment_List *com_list;
-       ID_Place *ident;
-       ID_List *gate_list;
-       Id_Decl_List *id_decl_list;
-        Comment_List *com_list1;
-       Tree_Node *func;
-       Data_List *dt_list;
-       Definition *def;
-       Coord yl1,yl2,yl3;
-       Coord MaxX, MaxY;
-
-friend class Gl_Specification;
-
-public:
- Specification(Comment_List *, ID_Place *, ID_List *, Id_Decl_List *,
-              Comment_List *, Definition *, Tree_Node *, Data_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetPath(int&, int&);
- Coord GetMaxX();
- Coord GetMaxY();
-}; /* end of class Specification       */
-
-
-class Process: public Tree_Node
-{
-        Comment_List *com_list;
-       ID_Place *ident;
-       ID_List *gate_list;
-       Id_Decl_List *id_decl_list;
-       Definition *def;
-       Tree_Node *func;
-       char nesting;
-       Coord yl1,yl2,yl3,ypath;
-       Coord MaxX, MaxY;
-
-friend class Gl_Process;
-
-public:
- Process(Comment_List *, ID_Place *, ID_List *,Id_Decl_List  *, Definition *, 
Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetPath(char *, char, int&, int&);
- void NewBex(Tree_Node *);
-
- Coord GetMaxY();
- Coord GetMaxX();
-
-/* inline functions            */
- char GetNesting() {return(nesting);};
-}; /* end of class Process     */
-
-
-class Proc_List: public Tree_Node
-{
-        Process *elem;
-        Proc_List *next;
-
-public:
- Proc_List(Process *, Proc_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetPath(char *, char, int&, int&);
- char *GetPath();
-}; /* end of class Proc_List      */
-
-
-class Definition: public Tree_Node
-{
-        Tree_Node *bex;
-        Proc_List *process_list;
-        Data_List *data_list;
-       char path[PATH_LENGHT];
-
-public:
- Definition(Tree_Node *, Proc_List *, Data_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetPath(char *, char, int&, int&);
-
-/* inline functions            */
- char *GetPath() { return(path);};
-}; /* end of class Definition      */
-
-
-
-/*                                                             */
-/*     Functionalities                                         */
-/*                                                             */
-
-
-class Exit: public Tree_Node
-{
-       ID_List *sort_list;
-
-friend class Gl_Exit;
-
-public:
- Exit(ID_List *);
- void SetPosition(Coord, Coord, Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
-}; /*end of class Exit */
-
-
-class NoExit: public Tree_Node
-{
-
-friend class Gl_NoExit;
-
-public:
- NoExit();
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
-}; /*end of class NoExit */
-
-
-
-/*                                                             */
-/*     Value Expressions                                       */
-/*                                                             */
-
-
-class Value: public Tree_Node
-{
-       ID_Place *ident;
-       ID_Place *sort_id;
-
-friend class Gl_Value;
-
-public:
- Value(ID_Place *, ID_Place *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Value */
-
-
-class Term: public Tree_Node
-{
-       ID_Place *op_ident;
-       Value_Expr_List *expr_list;
-       ID_Place *sort_id;
-
-friend class Gl_Term;
-
-public:
- Term(ID_Place *, Value_Expr_List *, ID_Place *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Term */
-
-
-class Equality: public Tree_Node
-{
-        Tree_Node *express1;
-        Tree_Node *express2;
-
-friend class Gl_Equality;
-
-public:
- Equality();
- Equality(Tree_Node *, Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Equality        */
-
-
-class Sort_Id_Exit: public Tree_Node
-{
-       ID_Place *sort_id;
-
-friend class Gl_Sort_Id_Exit;
-
-public:
- Sort_Id_Exit(ID_Place *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Sort_id_Exit */
-
-
-
-/*                                                             */
-/*     Guard Options                                           */
-/*                                                             */
-
-
-class NoGuard: public Tree_Node
-{
-
-friend class Gl_NoGuard;
-
-public:
- NoGuard();
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
-}; /* end of class NoGuard      */
-
-
-class Guard: public Tree_Node
-{
-        Equality *equality;
-
-friend class Gl_Guard;
-
-public:
- Guard(Equality *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Guard        */
-
-
-
-/*                                                             */
-/*     Experiment Offers                                       */
-/*                                                             */
-
-
-class NoExperiment: public Tree_Node
-{
-
-friend class Gl_NoExperiment;
-
-public:
- NoExperiment();
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
-}; /* end of class NoExperiment */
-
-
-class Experiment: public Tree_Node
-{
-        Exper_Off_List *exp_offer_list;
-        Tree_Node *guard_option;
-
-friend class Gl_Experiment;
-
-public:
- Experiment(Exper_Off_List *, Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- void SetCollapsed(char);
-
-/* inline functions            */
- Tree_Node *GetGuard(void) { return(guard_option); };
-}; /* end of class Experiment   */
-
-
-class Exclam: public Tree_Node
-{
-        Tree_Node *value_exp;
-
-friend class Gl_Exclam;
-
-public:
- Exclam(Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Exclam      */
-
-
-class Query: public Tree_Node
-{
-        Id_Decl *id_decl;
-
-friend class Gl_Query;
-
-public:
- Query(Id_Decl *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-}; /* end of class Query      */
-
-
-
-/*                                                             */
-/*     Action Denotations                                      */
-/*                                                             */
-
-
-class Internal: public Tree_Node
-{
-
-friend class Gl_Internal;
-
-public:
- Internal();
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
-}; /* end of class Internal     */
-
-
-class Communication: public Tree_Node
-{
-       ID_Place *gate_identifier;
-        Tree_Node *experiment_option;
-        Coord xl, yl;
-        int hr;
-
-friend class Gl_Communication;
-
-public:
- Communication(ID_Place *, Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- void SetCollapsed(char);
-}; /* end of class Communication        */
-
-
-
-/*                                                             */
-/*     Parallel Operators                                      */
-/*                                                             */
-
-
-class Gen_Paral: public Tree_Node
-{
-        ID_List *gate_id_list;
-       Coord Xclose;
-       char border;
-
-friend class Gl_Gen_Paral;
-
-public:
- Gen_Paral(ID_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetCollapsed(char);
-
-/* inline functions            */
- void HideGate() { ((ID_List *)gate_id_list)->HideMe(); };
-}; /* end of class Gen_Paral    */
-
-
-class Interl: public Tree_Node
-{
-
-friend class Gl_Interl;
-
-public:
- Interl();
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
-}; /* end of class Interl      */
-
-
-class Syncr: public Tree_Node
-{
-
-friend class Gl_Syncr;
-
-public:
- Syncr();
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
-}; /* end of class Syncr       */
-
-
-
-/*                                                             */
-/*     Bejhviour Expressions                                   */
-/*                                                             */
-
-
-class Action_Pref: public Tree_Node
-{
-        Tree_Node *action_den;
-        Tree_Node *bex;
-       char havebox;
-       char border;
-
-friend class Gl_Action_Pref;
-
-public:
- Action_Pref(Tree_Node *, Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- void SetCollapsed(char);
-}; /* end of class Action_Pref  */
-
-
-class Enable: public Tree_Node
-{
-        Tree_Node *bex1, *bex2;
-       ID_List *gate_id_list;
-        Coord xl, yl1, xl2, yl2, xid, yid, Yclose;
-       char havebox;
-       char border;
-
-friend class Gl_Enable;
-
-public:
- Enable(Tree_Node *, ID_List *, Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- int Get_Textual_H(void);
- int Get_Textual_W(void);
- void SetTerminalPos(void);
- void SetCollapsed(char);
-}; /* end of class Enable       */
-
-
-class Disable: public Tree_Node
-{
-        Tree_Node *bex1, *bex2;
-        Coord xl, yl, yl2;
-       char havebox;
-       char border;
-
-friend class Gl_Disable;
-
-public:
- Disable(Tree_Node *, Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- int Get_Textual_H(void);
- int Get_Textual_W(void);
- void SetTerminalPos(void);
- void SetCollapsed(char);
-}; /* end of class Disable      */
-
-
-class Choice: public Tree_Node
-{
-       Tree_Node *bex1, *bex2;
-       Coord xl, yl, yl1;
-       char havebox;
-       int delta;
-       char border;
-
-friend class Gl_Choice;
-
-public:
- Choice(Tree_Node *, Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- void SetCollapsed(char);
- int Get_Textual_H(void);
- int Get_Textual_W(void);
- void SetTerminalPos(void);
- void ChangeH(int);
- void ChangeW(int);
-}; /* end of class Choice      */
-
-
-class Stop: public Tree_Node
-{
-       char havebox;
-       char border;
-
-friend class Gl_Stop;
-
-public:
- Stop();
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- void SetCollapsed(char);
-}; /* end of class Stop        */
-
-
-class Exit_Bex: public Tree_Node
-{
-       Exit_Entry_List *entry_list; 
-       Coord Xopen, Xclose;
-       char havebox;
-       char border;
-
-friend class Gl_Exit_Bex;
-
-public:
- Exit_Bex(Exit_Entry_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- void SetCollapsed(char);
-}; /*end of class Exit_Bex */
-
-
-class Hide: public Tree_Node
-{
-       ID_List *gate_list;
-       Tree_Node *bex;
-       char border;
-       Coord yl;
-
-friend class Gl_Hide;
-
-public:
- Hide(ID_List *, Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- void SetCollapsed(char);
-}; /* end of class Hide        */
-
-
-class Guarded: public Tree_Node
-{
-        Equality *equality;
-        Tree_Node *bex;
-       Coord Xclose;
-       char border;
-
-friend class Gl_Guarded;
-
-public:
- Guarded(Equality *, Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- void SetCollapsed(char);
-}; /* end of class Guarded        */
-
-
-class Proc_Inst: public Tree_Node
-{
-       ID_List *gate_list;
-       ID_Place *ident;
-       Value_Expr_List *value_expr_list;
-       Coord yp, yl1, Xopen, Xclose;
-       int hp;
-       char border;
-
-friend class Gl_Proc_Inst;
-
-public:
-  Proc_Inst(ID_Place *, ID_List *, Value_Expr_List *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- void SetCollapsed(char);
-};  /* end of class Proc_inst  */
-
-
-class Parallel: public Tree_Node
-{
-       Tree_Node *bex1, *bex2, *oper;
-       Coord xl, yl, yl1;
-       char havebox;
-       int delta;
-       char border;
-
-friend class Gl_Parallel;
-
-public:
- Parallel(Tree_Node *, Tree_Node *, Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- int Get_Textual_W(void);
- int Get_Textual_H(void);
- void SetTerminalPos(void);
- void SetCollapsed(char);
-
-/* inline functions            */
- char GetOperType(void) { return(oper->GetType());};
-}; /* end of class Parallel    */
-
-
-class Local_Def: public Tree_Node
-{
-       Ident_Eq_List *equa_list;
-       Tree_Node *bex;
-       Coord yl;
-       char border;
-
-friend class Gl_Local_Def;
-
-public:
- Local_Def(Ident_Eq_List *, Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- void SetCollapsed(char);
-}; /* end of class Local_Def   */
-
-
-class Par: public Tree_Node
-{
-       Gate_Decl_List *gate_decl_list;
-       Tree_Node *oper, *bex;
-       Coord xl, yl;
-       char border;
-
-friend class Gl_Par;
-
-public:
- Par(Gate_Decl_List *, Tree_Node *, Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- void SetCollapsed(char);
-}; /* end of class Par */
-
-
-class Sum_Gate: public Tree_Node
-{
-       Gate_Decl_List *gate_decl_list;
-       Tree_Node *bex;
-       Coord xl, yl, Xch, Ych, Xclose, Yclose;
-       char border;
-
-friend class Gl_Sum_Gate;
-
-public:
- Sum_Gate(Gate_Decl_List *, Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- void SetTerminalPos(void);
- void SetCollapsed(char);
-}; /* end of class Sum_Gate    */
-
-
-class Sum_Ident: public Tree_Node
-{
-       Id_Decl_List *ident_decl_list;
-       Tree_Node *bex;
-       Coord xl, yl, Xch, Ych, Xclose, Yclose;
-       char border;
-
-friend class Gl_Sum_Ident;
-
-public:
- Sum_Ident(Id_Decl_List *, Tree_Node *);
- void SetPosition(Coord, Coord);
- void SetDimensions(void);
- void SetFather(Tree_Node *);
- void SetTextual(char, char = FALSE);
- void SetTerminalPos(void);
- void SetCollapsed(char);
-}; /* end of class Sum_Ident   */
-
-
-
-#endif
diff --git a/test/etags/cp-src/cfront.H b/test/etags/cp-src/cfront.H
deleted file mode 100644
index 2d79186..0000000
--- a/test/etags/cp-src/cfront.H
+++ /dev/null
@@ -1,836 +0,0 @@
-/*ident        "@(#)cfront:src/cfront.h        1.13" */
-/***********************************************************************
-
-       C++ source for cfront, the C++ compiler front-end
-       written in the computer science research center of Bell Labs
-
-       Copyright (c) 1984 AT&T, Inc. All Rights Reserved
-       THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T, INC.
-
-       When reading cfront code please remember that C++ was not available
-       when it was originally written. Out of necessity cfront is written
-       in a style that takes advantage of only few of C++'s features.
-
-cfront.h:
-
-       Here is all the class definitions for cfront, and most of the externs
-
-***********************************************************************/
-
-/*     WARNING:
-       This program relies on non-initialized class members being ZERO.
-       This will be true as long as they are allocated using the "new" operator
-*/
-
-#include "token.h"
-#include "typedef.h"
-
-extern bit old_fct_accepted;   /* if set:
-                                       old style function definitions are 
legal,
-                                       implicit declarations are legal
-                               */
-extern bit fct_void;           /* if set:
-                                       int f(); ... f(1); gives a warning per 
file
-                                       undeclared(); gives a warning per file
-                                  if not:
-                                       int f(); ... f(1); is an error
-                                       undeclared(); is an error               
                                                (currently only a warning)
-                                       
-                               */
-
-#ifndef GRAM
-extern char* prog_name;                // compiler name and version
-extern int inline_restr;       // inline expansion restrictions 
-extern bit emode;              // print_mode error
-#endif
-
-extern Pname name_free;                // free lists
-extern Pexpr expr_free;
-extern Pstmt stmt_free;
-
-               /* "spy" counters: */
-extern int Nspy;
-extern int Nfile, Nline, Ntoken, Nname, Nfree_store, Nalloc, Nfree;
-extern int Nn, Nbt, Nt, Ne, Ns, Nstr, Nc, Nl;
-extern int NFn, NFtn, NFpv, NFbt, NFf, NFs, NFc, NFe, NFl;
-
-extern TOK     lex();
-extern Pname   syn();
-
-extern void    init_print();   // stage initializers
-extern void    init_lex();
-extern void    int_syn();
-extern void    ext(int);
-
-extern char*   make_name(TOK);
-
-struct loc             // a source file location
-{
-       short   file;   // index into file_name[], or zero
-       short   line;
-#ifndef GRAM
-       void    put(FILE*);
-       void    putline();
-#endif
-};
-
-extern Loc curloc;
-extern int curr_file;
-
-struct ea {    // fudge portable printf-like formatting for error()
-       union {
-               void* p;
-               int i;
-       };
-
-       ea(void* pp) { p = pp; }
-       ea(int ii)   { i = ii; }
-       ea() {}
-       ea(int i)       { x; }
-};
-
-extern ea* ea0;
-
-overload error;
-int error(const char*, ea& = *ea0, ea& = *ea0, ea& = *ea0, ea& = *ea0);
-int error(loc*, const char*, ea& = *ea0, ea& = *ea0, ea& = *ea0, ea& = *ea0);
-int error(int, const char*, ea& = *ea0, ea& = *ea0, ea& = *ea0, ea& = *ea0);
-int error(int, loc*, const char*, ea& = *ea0, ea& = *ea0, ea& = *ea0, ea& = 
*ea0);
-
-#ifndef GRAM
-extern int error_count;
-extern bit debug;
-extern int vtbl_opt;
-extern FILE* out_file;
-extern FILE* in_file;
-extern char scan_started;
-extern bit warn;
-#endif
-
-extern int br_level;
-extern int bl_level;
-extern Ptable ktbl;            // keywords and typedef names
-extern Ptable gtbl;            // global names
-extern char* oper_name(TOK);
-extern Pclass ccl;
-extern Pbase defa_type;
-extern Pbase moe_type;
-
-#ifndef GRAM
-extern Pstmt Cstmt;            // current statement, or 0
-extern Pname Cdcl;             // name currently being declared, or 0
-extern void put_dcl_context();
-
-extern Ptable any_tbl;         // table of undefined struct members
-extern Pbase any_type;
-#endif
-
-extern Pbase int_type;
-extern Pbase char_type;
-extern Pbase short_type;
-extern Pbase long_type;
-extern Pbase uint_type;
-extern Pbase float_type;
-extern Pbase double_type;
-extern Pbase void_type;
-
-#ifndef GRAM
-extern Pbase uchar_type;
-extern Pbase ushort_type;
-extern Pbase ulong_type;
-extern Ptype Pchar_type;
-extern Ptype Pint_type;
-extern Ptype Pfctvec_type;
-extern Ptype Pfctchar_type;
-extern Ptype Pvoid_type;
-extern Pbase zero_type;
-
-extern int byte_offset;
-extern int bit_offset;
-extern int max_align;
-extern int stack_size;
-extern int enum_count;
-extern int const_save;
-#endif
-
-extern Pexpr dummy;    /* the empty expression */
-extern Pexpr zero;
-extern Pexpr one;
-extern Pname sta_name; /* qualifier for unary :: */
-
-#define DEL(p) if (p && (p->permanent==0)) p->del()
-#define PERM(p) p->permanent=1
-#define UNPERM(p) p->permanent=0
-
-struct node {
-       TOK     base;
-       TOK     n_key;  /* for names in table: class */
-       bit     permanent;
-};
-
-#ifndef GRAM
-extern Pclass Ebase, Epriv;    /* lookc return values */
-#endif
-
-struct table : node {
-/*     a table is a node only to give it a "base" for debugging */
-       char    init_stat;      /* ==0 if block(s) of table not simplified,
-                                  ==1 if simplified but had no initializers,
-                                  ==2 if simplified and had initializers.
-                               */
-       short   size;
-       short   hashsize;
-       short   free_slot;      /* next free slot in entries */
-       Pname*  entries;
-       short*  hashtbl;
-       Pstmt   real_block;     /* the last block the user wrote,
-                                  not one of the ones cfront created
-                               */
-       Ptable  next;           /* table for enclosing scope */
-       Pname   t_name;         /* name of the table */
-
-       table(short, Ptable, Pname);
-
-       Pname   look(char*, TOK);
-       Pname   insert(Pname, TOK);
-#ifndef GRAM
-       void    grow(int);
-       void    set_scope(Ptable t)     { next = t; };
-       void    set_name(Pname n)       { t_name = n; };
-       Pname   get_mem(int);
-       int     max()                   { return free_slot-1; };
-       void    dcl_print(TOK,TOK);
-       Pname   lookc(char*, TOK);
-       Pexpr   find_name(Pname, bit, Pexpr);
-       void    del();
-#endif
-};
-
-#ifndef GRAM
-extern bit Nold;
-extern bit vec_const, fct_const;
-#endif
-
-extern void restore();
-extern void set_scope(Pname);
-extern Plist modified_tn;
-extern Pbase start_cl(TOK, Pname, Pname);
-extern void end_cl();
-extern Pbase end_enum(Pname, Pname);
-
-/************ types : basic types, aggregates, declarators ************/
-
-#ifndef GRAM
-extern bit new_type;
-extern Pname cl_obj_vec;
-extern Pname eobj;
-#endif
-
-
-#define DEFINED 01     /* definition fed through ?::dcl() */
-#define SIMPLIFIED 02  /* in ?::simpl() */
-#define DEF_SEEN 04    /* definition seen, but not processed */
-                       /*   used for class members in norm.c */
-#define IN_ERROR 010
-
-struct type : node {
-       bit     defined;        /* flags DEF_SEEN, DEFINED, SIMPLIFIED, IN_ERROR
-                                       not used systematically yet
-                               */
-       char*   signature(char*);
-#ifndef GRAM
-       void    print();
-       void    dcl_print(Pname);
-       void    base_print();
-       void    del();
-
-       Pname   is_cl_obj();    /* sets cl_obj_vec */
-       int     is_ref();
-       void    dcl(Ptable);
-       int     tsizeof();
-       bit     tconst();
-       TOK     set_const(bit);
-       int     align();
-       TOK     kind(TOK,TOK);
-       TOK     integral(TOK oo)        { return kind(oo,I); };
-       TOK     numeric(TOK oo)         { return kind(oo,N); };
-       TOK     num_ptr(TOK oo)         { return kind(oo,P); };
-       bit     vec_type();
-       bit     check(Ptype, TOK);
-       Ptype   deref();
-       Pptr    addrof();
-#endif
-};
-
-struct enumdef : type {        /* ENUM */
-       bit     e_body;
-       short   no_of_enumerators;
-       Pname   mem;
-               enumdef(Pname n)        { base=ENUM; mem=n; };
-#ifndef GRAM
-       void    print();
-       void    dcl_print(Pname);
-       void    dcl(Pname, Ptable);
-       void    simpl();
-#endif
-};
-
-struct classdef : type {       /* CLASS */
-       bit     pubbase;
-       bit     c_body;         /* print definition only once */
-       TOK     csu;            /* CLASS, STRUCT, UNION, or ANON */
-       char    obj_align;
-       char    bit_ass;        // 1 if no member has operator=()
-       char    virt_count;     /* number of virtual functions
-                                  incl. virtuals in base classes */
-       Pname   clbase;         // base class
-       char*   string;         /* name of class */
-       Pname   mem_list;
-       Ptable  memtbl;
-       int     obj_size;
-       int     real_size;      /* obj_size - alignment waste */
-       Plist   friend_list;
-       Pname   pubdef;
-       Plist   tn_list;        // list of member names hiding type names
-       Pclass  in_class;       /* enclosing class, or 0 */
-       Ptype   this_type;
-       Pname*  virt_init;      /* vector of jump table initializers */
-       Pname   itor;           /* constructor X(X&) */
-       Pname   conv;           /* operator T() chain */
-
-       classdef(TOK);
-       TOK     is_simple()     { return (csu==CLASS)?0:csu; };
-#ifndef GRAM
-       void    print();
-       void    dcl_print(Pname);
-       void    simpl();
-
-       void    print_members();
-       void    dcl(Pname, Ptable);
-       bit     has_friend(Pname);
-       bit     baseof(Pname);
-       bit     baseof(Pclass);
-       Pname   has_oper(TOK);
-       Pname   has_ctor()      { return memtbl->look("_ctor",0); }
-       Pname   has_dtor()      { return memtbl->look("_dtor",0); }
-       Pname   has_itor()      { return itor; }
-       Pname   has_ictor();
-#endif
-};
-
-
-
-struct basetype : type
-       /*      ZTYPE CHAR SHORT INT LONG FLOAT DOUBLE
-               FIELD EOBJ COBJ TYPE ANY
-       */
-       /*      used for gathering all the attributes
-               for a list of declarators
-
-               ZTYPE is the (generic) type of ZERO
-               ANY is the generic type of an undeclared name
-       */
-{
-       bit     b_unsigned;
-       bit     b_const;
-       bit     b_typedef;
-       bit     b_inline;
-       bit     b_virtual;
-       bit     b_short;
-       bit     b_long;
-       char    b_bits;         /* number of bits in field */
-       char    b_offset;       // bit offset of field
-       TOK     b_sto;          /* AUTO STATIC EXTERN REGISTER 0 */
-       Pname   b_name;         /* name of non-basic type */
-       Ptable  b_table;        /* memtbl for b_name, or 0 */
-       Pexpr   b_field;        /* field size expression for a field */
-       Pname   b_xname;        /* extra name */
-       Ptype   b_fieldtype;
-
-       basetype(TOK, Pname);
-
-       Pbase   type_adj(TOK);
-       Pbase   base_adj(Pbase);
-       Pbase   name_adj(Pname);
-       Pname   aggr();
-       void    normalize();
-#ifndef GRAM
-       Pbase   check(Pname);
-       void    dcl_print();
-       Pbase   arit_conv(Pbase);
-#endif
-};
-
-
-struct fct : type              // FCT
-{
-       TOK     nargs;
-       TOK     nargs_known;    // KNOWN, ELLIPSIS, or 0
-       char    f_virtual;      // 1+index in virtual table, or 0
-       char    f_inline;       // 1 if inline, 2 if being expanded, else 0 
-       Ptype   returns;
-       Pname   argtype;
-       Ptype   s_returns;
-       Pname   f_this;
-       Pclass  memof;          // member of class memof
-       Pblock  body;
-       Pname   f_init;         // base/member initializers
-                               // null name => base class init;
-                               // ids => member classes (with ctors)
-       Pexpr   b_init;         // base class initializer
-                               // ctor call after fct.dcl()
-//     int     frame_size;
-       Pexpr   f_expr;         // body expanded into an expression
-       Pexpr   last_expanded;
-       Pname   f_result;       // extra second argument of type X&
-
-       fct(Ptype, Pname, TOK);
-
-       void    argdcl(Pname,Pname);
-#ifndef GRAM
-       Ptype   normalize(Ptype);
-       void    dcl_print();
-       void    dcl(Pname);
-       Pexpr   base_init(Pname, Pexpr, Ptable);
-       Pexpr   mem_init(Pname, Pexpr, Ptable);
-       bit     declared() { return nargs_known; };
-       void    simpl();
-       Pexpr   expand(Pname,Ptable,Pexpr);
-#endif
-};
-
-
-struct name_list {
-       Pname   f;
-       Plist   l;
-       name_list(Pname ff, Plist ll) { f=ff; l=ll; };
-};
-
-#ifndef GRAM
-struct gen : type {            // OVERLOAD
-       Plist   fct_list;
-       char*   string;
-               gen(char*);
-       Pname   add(Pname, int);
-       Pname   find(Pfct, bit);
-};
-#endif
-
-struct pvtyp : type {
-       Ptype typ;
-};
-
-struct vec : pvtyp             // VEC
-                               // typ [ dim ]
-{
-       Pexpr   dim;
-       int     size;   
-
-       vec(Ptype t, Pexpr e) { Nt++; base=VEC; typ=t; dim=e; };
-#ifndef GRAM
-       Ptype   normalize(Ptype);
-#endif
-};
-
-struct ptr : pvtyp             // PTR, RPTR i.e. reference
-{
-       Pclass  memof;          // pointer to member of memof: memof::*
-       bit     rdo;            // "*const"
-
-       ptr(TOK b, Ptype t, bit r = 0) { Nt++; base=b; typ=t; rdo=r; };
-#ifndef GRAM
-       Ptype   normalize(Ptype);
-#endif
-};
-
-#ifndef GRAM
-inline Pptr type::addrof() { return new ptr(PTR,this,0); }
-
-extern bit vrp_equiv;
-#endif
-
-
-/****************************** constants ********************************/
-
-               /* STRING ZERO ICON FCON CCON ID */
-               /* IVAL FVAL LVAL */
-
-/***************************** expressions ********************************/
-
-#ifndef GRAM
-extern Pexpr next_elem();
-extern void new_list(Pexpr);
-extern void list_check(Pname, Ptype, Pexpr);
-extern Pexpr ref_init(Pptr,Pexpr,Ptable);
-extern Pexpr class_init(Pexpr,Ptype,Pexpr,Ptable);
-extern Pexpr check_cond(Pexpr, TOK, Ptable);
-#endif
-
-struct expr : node     /* PLUS, MINUS, etc. */
-       /* IMPORTANT:   all expressions are of sizeof(expr) */
-       /*      DEREF           =>      *e1 (e2==0) OR e1[e2]
-               UMINUS          =>      -e2
-               INCR (e1==0)    =>      ++e2
-               INCR (e2==0)    =>      e1++
-               CM              =>      e1 , e2
-               ILIST           =>      LC e1 RC   (an initializer list)
-               a Pexpr may denote a name
-       */
-{
-       union {
-               Ptype   tp;
-               int     syn_class;
-       };
-       union {
-               Pexpr   e1;
-               char*   string;
-               int     i1;
-       };
-       union {
-               Pexpr   e2;
-               Pexpr   n_initializer;
-               char*   string2;
-       };
-       union {                 /* used by the derived classes */
-               Ptype   tp2;
-               Pname   fct_name;
-               Pexpr   cond;
-               Pname   mem;
-               Ptype   as_type;
-               Ptable  n_table;
-               Pin     il;
-       };
-
-       expr(TOK, Pexpr, Pexpr);
-       ~expr();
-#ifndef GRAM
-       void    del();
-       void    print();
-       Pexpr   typ(Ptable);
-       int     eval();
-       int     lval(TOK);
-       Ptype   fct_call(Ptable);
-       Pexpr   address();
-       Pexpr   contents();
-       void    simpl();
-       Pexpr   expand();
-       bit     not_simple();
-       Pexpr   try_to_overload(Ptable);
-       Pexpr   docast(Ptable);
-       Pexpr   dovalue(Ptable);
-       Pexpr   donew(Ptable);
-       void    simpl_new();
-       void    simpl_delete();
-#endif
-};
-
-struct texpr : expr {          // NEW CAST VALUE
-       texpr(TOK bb, Ptype tt, Pexpr ee) : (bb,ee,0) {this=0; tp2=tt;}
-};
-
-struct ival : expr {           // NEW CAST VALUE
-       ival(int ii) : (IVAL,0,0) {this=0; i1 = ii;}
-};
-
-struct call : expr {           // CALL
-       call(Pexpr aa, Pexpr bb) : (CALL,aa,bb) { this=0; }
-#ifndef GRAM
-       void    simpl();
-       Pexpr   expand(Ptable);
-#endif
-};
-
-struct qexpr : expr {          // QUEST        cond ? e1 : e2
-       qexpr(Pexpr ee, Pexpr ee1, Pexpr ee2) : (QUEST,ee1,ee2) { this=0; 
cond=ee; }
-};
-
-struct ref : expr {            // REF DOT      e1->mem OR e1.mem
-       ref(TOK ba, Pexpr a, Pname b) : (ba,a,0) { this=0; mem=b; }
-};
-
-struct text_expr : expr        {       // TEXT
-       text_expr(char* a, char* b) : (TEXT,0,0) { string=a; string2=b; }
-};
-
-/************************* names (are expressions) 
****************************/
-
-struct name : expr {   // NAME TNAME and the keywords in the ktbl
-       TOK     n_oper;         // name of operator or 0
-       TOK     n_sto;          // EXTERN STATIC AUTO REGISTER ENUM 0
-       TOK     n_stclass;      // STATIC AUTO REGISTER 0
-       TOK     n_scope;        // EXTERN STATIC FCT ARG PUBLIC 0 
-       unsigned char   n_union;        // 0 or union index
-       bit     n_evaluated;    // 0 or n_val holds the value
-       bit     n_xref;         // argument of type X(X&)
-       unsigned char   lex_level;
-       TOK     n_protect;      // PROTECTED (<=>n_scope==0) or 0
-       short   n_addr_taken;
-       short   n_used;
-       short   n_assigned_to;
-       Loc     where;
-       int     n_val;          // the value of n_initializer
-                               // also used as the argument number
-                               // for inline arguments
-       int     n_offset;       // byte offset in frame or struct
-       Pname   n_list;
-       Pname   n_tbl_list;
-       union {
-               Pname   n_qualifier;    // name of containing class
-               Ptable  n_realscope;    /* for labels (always entered in
-                                          function table) the table for the
-                                          actual scope in which label occurred.
-                                       */
-       };
-
-       name(char* =0);
-       ~name();
-
-       Pname   normalize(Pbase, Pblock, bit);
-       Pname   tdef();
-       Pname   tname(TOK);
-       void    hide();
-       void    unhide()        { n_key=0; n_list=0; };
-#ifndef GRAM
-       Pname   dcl(Ptable,TOK);
-       int     no_of_names();
-       void    use()           { n_used++; };
-       void    assign();
-       void    take_addr()     { n_addr_taken++; };
-       void    check_oper(Pname);
-       void    simpl();
-       void    del();
-       void    print();
-       void    dcl_print(TOK);
-       void    field_align();
-       Pname   dofct(Ptable,TOK);
-#endif
-};
-
-#ifndef GRAM
-extern int friend_in_class;
-#endif
-
-/******************** statements *********************************/
-
-struct stmt : node {   /* BREAK CONTINUE DEFAULT */
-/*     IMPORTANT: all statement nodes have sizeof(stmt) */
-       Pstmt   s;
-       Pstmt   s_list;
-       Loc     where;
-       union {
-               Pname   d;
-               Pexpr   e2;
-               Pstmt   has_default;
-               int     case_value;
-               Ptype   ret_tp;
-       };
-       union {
-               Pexpr   e;
-               bit     own_tbl;
-               Pstmt   s2;
-       };
-       Ptable  memtbl;
-       union {
-               Pstmt   for_init;
-               Pstmt   else_stmt;
-               Pstmt   case_list;
-               bit     empty;
-       };
-
-       stmt(TOK, loc, Pstmt);
-       ~stmt();
-#ifndef GRAM
-       void    del();
-       void    print();
-       void    dcl();
-       void    reached();
-       Pstmt   simpl();
-       Pstmt   expand();
-       Pstmt   copy();
-#endif
-};
-
-#ifndef GRAM
-extern char* Neval;
-extern Pname dcl_temp(Ptable, Pname);
-extern char* temp(char*, char*, char*);
-extern Ptable scope;
-extern Ptable expand_tbl;
-extern Pname expand_fn;
-#endif
-
-struct estmt : stmt    /* SM WHILE DO SWITCH RETURN CASE */
-       /*      SM (e!=0)       =>      e;
-               in particular assignments and function calls
-               SM (e==0)       =>      ;       (the null statement)
-               CASE            =>      case e : s ;
-       */
-{
-       estmt(TOK t, loc ll, Pexpr ee, Pstmt ss) : (t,ll,ss) { this=0; e=ee; }
-};
-
-struct ifstmt : stmt   /* IF */
-       // else_stme==0 =>      if (e) s
-       // else_stmt!=0 =>      if (e) s else else_stmt
-{
-       ifstmt(loc ll, Pexpr ee, Pstmt ss1, Pstmt ss2)
-               : (IF,ll,ss1) { this=0; e=ee; else_stmt=ss2; };
-};
-
-struct lstmt : stmt    /* LABEL GOTO */
-       /*
-               d : s
-               goto d
-       */
-{
-       lstmt(TOK bb, loc ll, Pname nn, Pstmt ss) : (bb,ll,ss) { this=0; d=nn; }
-};
-
-struct forstmt : stmt {        // FOR
-       forstmt(loc ll, Pstmt fss, Pexpr ee1, Pexpr ee2, Pstmt ss)
-               : (FOR,ll,ss) { this=0; for_init=fss; e=ee1; e2=ee2; }
-};
-
-struct block : stmt {  // BLOCK        { d s }
-       block(loc ll, Pname nn, Pstmt ss) : (BLOCK,ll,ss) { this=0; d=nn; }
-#ifndef GRAM
-       void    dcl(Ptable);
-       Pstmt   simpl();
-#endif
-};
-
-#ifndef GRAM
-struct pair : public stmt {    // PAIR
-       pair(loc ll, Pstmt a, Pstmt b) : (PAIR,ll,a) { this=0; s2 = b; }
-};
-#endif
-
-struct nlist {
-       Pname   head;
-       Pname   tail;
-               nlist(Pname);
-       void    add(Pname n)    { tail->n_list = n; tail = n; };
-       void    add_list(Pname);
-};
-
-extern Pname name_unlist(nlist*);
-
-struct slist {
-       Pstmt   head;
-       Pstmt   tail;
-               slist(Pstmt s)  { Nl++; head = tail = s; };
-       void    add(Pstmt s)    { tail->s_list = s; tail = s; };
-};
-
-extern Pstmt stmt_unlist(slist*);
-
-struct elist {
-       Pexpr   head;
-       Pexpr   tail;
-               elist(Pexpr e)  { Nl++; head = tail = e; };
-       void    add(Pexpr e)    { tail->e2 = e; tail = e; };
-};
-
-extern Pexpr expr_unlist(elist*);
-
-#ifndef GRAM
-extern class dcl_context * cc;
-
-struct dcl_context {
-       Pname   c_this; /* current fct's "this" */
-       Ptype   tot;    /* type of "this" or 0 */
-       Pname   not;    /* name of "this"'s class or 0 */
-       Pclass  cot;    /* the definition of "this"'s class */
-       Ptable  ftbl;   /* current fct's symbol table */
-       Pname   nof;    /* current fct's name */
-
-       void    stack()         { cc++; *cc = *(cc-1); };
-       void    unstack()       { cc--; };
-};
-
-#define MAXCONT        20
-extern dcl_context ccvec[MAXCONT];
-#endif
-
-extern void yyerror(char*);
-extern TOK back;
-
-
-#ifndef GRAM
-extern char* line_format;
-
-extern Plist isf_list;
-extern Pstmt st_ilist;
-extern Pstmt st_dlist;
-extern Ptable sti_tbl;
-extern Ptable std_tbl;
-Pexpr try_to_coerce(Ptype, Pexpr, char*, Ptable);
-extern bit can_coerce(Ptype, Ptype);
-extern Ptype np_promote(TOK, TOK, TOK, Ptype, Ptype, TOK);
-extern void new_key(char*, TOK, TOK);
-
-extern Pname dcl_list;
-extern int over_call(Pname, Pexpr);
-extern Pname Nover;
-extern Pname Ntncheck;
-extern Pname Ncoerce;
-extern Nover_coerce;
-
-const MIA = 8;
-struct iline {
-       Pname   fct_name;       /* fct called */
-       Pin     i_next;
-       Ptable  i_table;
-       Pname   local[MIA];     /* local variable for arguments */
-       Pexpr   arg[MIA];       /* actual arguments for call */
-       Ptype   tp[MIA];        /* type of formal arguments */
-};
-
-extern Pexpr curr_expr;
-extern Pin curr_icall;
-#define FUDGE111 111
-
-extern Pstmt curr_loop;
-extern Pblock curr_block;
-extern Pstmt curr_switch;
-extern bit arg_err_suppress;
-extern loc last_line;
-
-extern no_of_undcl;
-extern no_of_badcall;
-extern Pname undcl, badcall;
-
-extern int strlen(const char*);
-extern char* strcpy(char*, const char*);
-extern int str_to_int(const char*);
-extern int c_strlen(const char* s);
-#endif
-
-extern int strcmp(const char*, const char*);
-
-#ifndef GRAM
-extern Pname vec_new_fct;
-extern Pname vec_del_fct;
-
-extern int Nstd; // standard coercion used (derived* =>base* or int=>long or 
...)
-
-extern int stcount;    // number of names generated using make_name()
-
-extern Pname find_hidden(Pname);
-Pexpr replace_temp(Pexpr,Pexpr);
-void make_res(Pfct);
-Pexpr ptr_init(Pptr,Pexpr,Ptable);     
-
-#endif
-
-extern bit fake_sizeof;        // suppress error message for ``int v[];''
-
-extern TOK lalex();
-#ifdef DEBUG
-extern fprintf(FILE*, char* ...);
-#define DB(a) fprintf a
-#else
-#define DB(a) /**/
-#endif
-
-/* end */
diff --git a/test/etags/erl-src/lines.erl b/test/etags/erl-src/lines.erl
deleted file mode 100644
index 6ec8750..0000000
--- a/test/etags/erl-src/lines.erl
+++ /dev/null
@@ -1,297 +0,0 @@
-%%% The contents of this file are subject to the Erlang Public License,
-%%% Version 1.0, (the "License"); you may not use this file except in
-%%% compliance with the License. You may obtain a copy of the License at
-%%% http://www.erlang.org/license/EPL1_0.txt
-%%%
-%%% Software distributed under the License is distributed on an "AS IS"
-%%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%%% the License for the specific language governing rights and limitations
-%%% under the License.
-%%%
-%%% The Original Code is lines-1.0.
-%%%
-%%% The Initial Developer of the Original Code is Ericsson Telecom
-%%% AB. Portions created by Ericsson are Copyright (C), 1998, Ericsson
-%%% Telecom AB. All Rights Reserved.
-%%%
-%%% Contributor(s): ______________________________________.
-
-%%%----------------------------------------------------------------------
-%%% #0.    BASIC INFORMATION
-%%%----------------------------------------------------------------------
-%%% File:       lines.erl
-%%% Author       : Ulf Wiger <address@hidden>
-%%% Description  : Efficient array of lines (e.g. for text editor)
-%%% 
-%%% Modules used : lists
-%%% 
-%%%----------------------------------------------------------------------
-%%% Efficient array of lines (e.g. for text editor)
-%%% allows for append, as well as insert, replace, delete in any position
-%%% with reasonable access times.
-%%% Rough benchmarking indicates (on a 440MHz Ultra):
-%%%
-%%% NoOfLines  Append (uSec)   Read (uSec)     Delete (uSec)
-%%% 100                9               7               7
-%%% 1,000      14              10              11
-%%% 10,000     22              13              15
-%%% 100,000    30              16              18
-%%%
-%%% Comment on the benchmark: The times for Append and Delete are mean
-%%% times for "growing file" and "shrinking file", that is, starting from
-%%% an empty array and inserting 100,000 lines took ca 3 seconds; deleting
-%%% them took ca 1.8 seconds. The Read test involved accessing all lines
-%%% in the full array and calculating the mean time.
-%%%
-%%% The array doesn't care what goes into each position. In other words,
-%%% it can be used for any datatype -- not just lines of text.
-%%%----------------------------------------------------------------------
-
--module(lines).
--vsn('1.0').
--date('00-03-13').
--author('address@hidden').
-
--export([new/0,
-        count/1,
-        nth/2,
-        append/2,
-        replace/3,
-        insert/3,
-        insert_after/3,
-        delete/2,
-        convert_to_list/1,
-        convert_from_list/1]).
-
--define(BREAK, 10).    % how many lines to store in each leaf
-
--define(dbg(Fmt, Args), ok=io:format("~p: " ++ Fmt, [?LINE|Args])).
-%% new() -> line_array()
-%%
-%% Creates a new line array.
-%%
-new() ->
-    {0, []}.
-
-%% line_count(line_array()) -> integer()
-%%
-%% Returns the number of lines stored in the array
-%%
-count({N, _}) ->
-    N.
-
-%% nth(LineNo : integer(), Array : line_array()) -> line()
-%%
-%% Returns the line in position LineNo
-%%
-nth(L, _) when L < 1 ->
-    exit({out_of_range, L});
-nth(L, {LMax, _}) when L > LMax ->
-    exit({out_of_range, L});
-nth(L, {LMax, List}) when list(List) ->
-    lists:nth(L, List);
-nth(L, {LMax, {Left = {LL, _}, Right}}) when L > LL ->
-    nth(L-LL, Right);
-nth(L, {_, {Left, _}}) ->
-    nth(L, Left).
-
-%% append(Line : line(), Array : line_array()) -> line_array().
-%%
-%% Appends Line to the end of Array.
-%% e.g. append(x, [1,2,3,4]) -> [1,2,3,4,x].
-%% Returns the modified array.
-%%
-append(Line, {L, List}) when list(List), L < ?BREAK ->
-    {L+1, List ++ [Line]};
-append(Line, {L, List}) when list(List) ->
-    {L+1, {{L, List}, {1, [Line]}}};
-append(Line, {L, {Left = {LL1, L1}, Right}}) ->
-    NewRight = append(Line, Right),
-    balance_left(L+1, Left, NewRight).
-
-%% replace(LineNo : integer(), Array : line_array(), NewLine : line()) ->
-%%     line_array().
-%%
-%% Replaces the line in position LineNo with NewLine.
-%% e.g. replace(3, [1,2,3,4], x) -> [1,2,x,4].
-%% Returns the modified array.
-%%
-replace(Lno, _, _) when Lno < 1 ->
-    exit({out_of_range, Lno});
-replace(Lno, {L, _}, NewLine) when Lno > L ->
-    exit({out_of_range, Lno});
-replace(Lno, {L, List}, NewLine) when list(List) ->
-    {L, replace_nth(Lno, List, NewLine)};
-replace(Lno, {L, {Left={LL1, L1}, Right={LL2, L2}}}, NewLine) when Lno > LL1 ->
-    NewRight = replace(Lno-LL1, Right, NewLine),
-    {L, Left, NewRight};
-replace(Lno, {L, {Left={LL1,L1}, Right={LL2,L2}}}, NewLine) ->
-    NewLeft = replace(Lno, Left, NewLine),
-    {L, NewLeft, Right}.
-
-%% insert(LineNo : integer(), Array : line_array(), NewLine) -> line_array().
-%%
-%% Inserts NewLine *before* the line in position LineNo.
-%% e.g. insert(3, [1,2,3,4], x) -> [1,2,x,3,4].
-%% Returns the modified array.
-%%
-insert(Lno, _, _) when Lno < 1 ->
-    exit({out_of_range, Lno});
-insert(Lno, {L, _}, NewLine) when Lno > L ->
-    exit({out_of_range, Lno});
-insert(Lno, {L, List}, NewLine) when list(List) ->
-    if L < ?BREAK ->
-           {L+1, insert_nth(Lno, List, NewLine)};
-       true ->
-           NewList = insert_nth(Lno, List, NewLine),
-           {L1, L2} = split_at(?BREAK, NewList),
-           NewL = L+1,
-           {NewL, {{?BREAK, L1}, {NewL-?BREAK, L2}}}
-    end;
-insert(Lno, {L, {Left={LL,_}, Right}}, NewLine) when Lno > LL ->
-    NewRight = insert(Lno-LL, Right, NewLine),
-    balance_left(L+1, Left, NewRight);
-insert(Lno, {L, {Left, Right}}, NewLine) ->
-    NewLeft = insert(Lno, Left, NewLine),
-    balance_right(L+1, NewLeft, Right).
-
-%% insert_after(LineNo : integer(), Array : line_array(), NewLine) -> 
-%%     line_array().
-%%
-%% Inserts NewLine *after* the line in position LineNo.
-%% e.g. insert(3, [1,2,3,4], x) -> [1,2,3,x,4].
-%% Returns the modified array.
-%%
-insert_after(Lno, _, _) when Lno < 1 ->
-    exit({out_of_range, Lno});
-insert_after(Lno, {L, _}, NewLine) when Lno > L ->
-    exit({out_of_range, Lno});
-insert_after(Lno, {L, List}, NewLine) when list(List) ->
-    if L < ?BREAK ->
-           {L+1, insert_after_nth(Lno, List, NewLine)};
-       true ->
-           NewList = insert_after_nth(Lno, List, NewLine),
-           {L1, L2} = split_at(?BREAK, NewList),
-           NewL = L+1,
-           {NewL, {{?BREAK, L1}, {NewL-?BREAK, L2}}}
-    end;
-insert_after(Lno, {L, {Left={LL,_}, Right}}, NewLine) when Lno > LL ->
-    NewRight = insert_after(Lno-LL, Right, NewLine),
-    balance_left(L+1, Left, NewRight);
-insert_after(Lno, {L, {Left, Right}}, NewLine) ->
-    NewLeft = insert_after(Lno, Left, NewLine),
-    balance_right(L+1, NewLeft, Right).
-
-
-%% delete(LineNo : integer(), Array : line_array()) -> line_array().
-%%
-%% Deletes the line in position LineNo.
-%% e.g. delete(3, [1,2,3,4]) -> [1,2,4].
-%% Returns the modified array.
-%%
-delete(Lno, _) when Lno < 1 ->
-    exit({out_of_range, Lno});
-delete(Lno, {N_Tot, _}) when Lno > N_Tot ->
-    exit({out_of_range, Lno});
-delete(Lno, {N, List}) when list(List) ->
-    {N-1, delete_nth(Lno, List)};
-delete(Lno, {N, {Left = {N_Left, _}, Right}}) when Lno > N_Left ->
-    case delete(Lno-N_Left, Right) of
-       {0, _} ->
-           case N-1 of N_Left -> ok end,       % Assert
-           Left;
-       NewRight ->
-           balance_right(N-1, Left, NewRight)
-    end;
-delete(Lno, {N, {Left, Right = {N_Right,_}}}) ->
-    case delete(Lno, Left) of
-       {0, _} ->
-           case N-1 of N_Right -> ok end,      % Assert
-           Right;
-       NewLeft ->
-           balance_left(N-1, NewLeft, Right)
-    end.
-
-convert_to_list({_, List}) when list(List) ->
-    List;
-convert_to_list({L, {Left, Right}}) ->
-    convert_to_list(Left) ++ convert_to_list(Right).
-
-convert_from_list(L) when list(L) ->
-    lists:foldl(fun(Ln, Lsx) ->
-                       append(Ln, Lsx)
-               end, new(), L).
-
-%%% ===========================================================
-%%% internal functions
-%%% ===========================================================
-
-replace_nth(1, [H|T], X) ->
-    [X|T];
-replace_nth(N, [H|T], X) ->
-    [H|replace_nth(N-1, T, X)].
-
-insert_nth(1, L, X) ->
-    [X|L];
-insert_nth(N, [H|T], X) ->
-    [H|insert_nth(N-1, T, X)].
-
-insert_after_nth(1, [H|T], X) ->
-    [H,X|T];
-insert_after_nth(N, [H|T], X) ->
-    [H|insert_after_nth(N-1, T, X)].
-
-delete_nth(1, [H|T]) ->
-    T;
-delete_nth(N, [H|T]) ->
-    [H|delete_nth(N-1, T)].
-
-%% split_at(Pos, List) -> {List1, List2}
-%%   split List into two after position Pos (List1 includes List[Pos])
-%%
-split_at(Pos, L) ->
-    split_at(Pos, L, []).
-
-split_at(0, L, Acc) ->
-    {lists:reverse(Acc), L};
-split_at(Pos, [H|T], Acc) ->
-    split_at(Pos-1, T, [H|Acc]).
-
-
-%% Balancing functions
-%% Since we know whether we inserted/deleted in the right or left subtree,
-%% we have explicit balancing functions for each case.
-%% We rebalance if the number of elements in one sub-subtree exceeds the
-%% sum of elements in the others.
-
-balance_left(N_Tot, 
-            Left = {N_Left, _}, 
-            Right = {N_Right, {RLeft = {N_RLeft, _}, 
-                               RRight = {N_RRight, _}}})  ->
-    NewN_Left = N_Left + N_RLeft,
-    if N_RRight > NewN_Left ->
-           NewLeft = {NewN_Left, {Left, RLeft}},
-           NewRight = RRight,
-           {N_Tot, {NewLeft, NewRight}};
-       true ->
-           {N_Tot, {Left, Right}}
-    end;
-balance_left(N_Tot, Left, Right) ->
-    {N_Tot, {Left, Right}}.
-
-balance_right(N_Tot, 
-            Left = {N_Left, {LLeft = {N_LLeft, _},
-                             LRight = {N_LRight, _}}}, 
-            Right = {N_Right, _})  ->
-    NewN_Right = N_Right + N_LRight,
-    if N_LLeft > NewN_Right ->
-           NewLeft = LLeft,
-           NewRight = {NewN_Right, {LRight, Right}},
-           {N_Tot, {NewLeft, NewRight}};
-       true ->
-           {N_Tot, {Left, Right}}
-    end;
-balance_right(N_Tot, Left, Right) ->
-    {N_Tot, {Left, Right}}.
-
-
diff --git a/test/etags/erl-src/lists.erl.gz b/test/etags/erl-src/lists.erl.gz
deleted file mode 100644
index 5ba2e16..0000000
Binary files a/test/etags/erl-src/lists.erl.gz and /dev/null differ
diff --git a/test/etags/java-src/AWTEMul.java b/test/etags/java-src/AWTEMul.java
deleted file mode 100644
index c66f16e..0000000
--- a/test/etags/java-src/AWTEMul.java
+++ /dev/null
@@ -1,658 +0,0 @@
-/*
- * @(#)AWTEventMulticaster.java        1.10 97/01/23
- * 
- * Copyright (c) 1996 Sun Microsystems, Inc. All Rights Reserved.
- * 
- * This software is the confidential and proprietary information of Sun
- * Microsystems, Inc. ("Confidential Information").  You shall not
- * disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into
- * with Sun.
- * 
- * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
- * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
- * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
- * THIS SOFTWARE OR ITS DERIVATIVES.
- * 
- * CopyrightVersion 1.1_beta
- * 
- */
-package java.awt;
-
-import java.awt.event.*;
-import java.util.EventListener;
-import java.io.Serializable;
-import java.io.ObjectOutputStream;
-import java.io.IOException;
-
-
-/**
- * A class which implements efficient multi-cast event dispatching
- * for the AWT events defined in the java.awt.event package.  This
- * class will manage the structure of a chain of event listeners
- * and dispatch events to those listeners.
- *
- * An example of how this class could be used to implement a new
- * component which fires "action" events:
- *
- * <pre><code>
- * public myComponent extends Component {
- *     ActionListener actionListener = null;
- *
- *     public void addActionListener(ActionListener l) {
- *        actionListener = AWTEventMulticaster.add(actionListener, l);
- *     }
- *     public void removeActionListener(ActionListener l) {
- *        actionListener = AWTEventMulticaster.remove(actionListener, l);
- *     }
- *     public void processEvent(AWTEvent e) {
- *         // when event occurs which causes "action" semantic
- *         if (actionListener != null) {
- *             actionListener.actionPerformed(new ActionEvent());
- *         }         
- * }
- * </code></pre>
- *
- * @version    1.10, 23 Jan 1997
- * @author      John Rose
- * @author     Amy Fowler
- */
-
-public class AWTEventMulticaster implements 
-    ComponentListener, ContainerListener, FocusListener, KeyListener,
-    MouseListener, MouseMotionListener, WindowListener,
-    ActionListener, ItemListener, AdjustmentListener,
-    TextListener {
-
-    protected EventListener a, b;
-
-    /**
-     * Creates an event multicaster instance which chains listener-a
-     * with listener-b.
-     * @param a listener-a
-     * @param b listener-b
-     */ 
-    protected AWTEventMulticaster(EventListener a, EventListener b) {
-       this.a = a; this.b = b;
-    }
-
-    /**
-     * Removes a listener from this multicaster and returns the
-     * resulting multicast listener.
-     * @param oldl the listener to be removed
-     */
-    protected EventListener remove(EventListener oldl) {
-       if (oldl == a)  return b;
-       if (oldl == b)  return a;
-       EventListener a2 = removeInternal(a, oldl);
-       EventListener b2 = removeInternal(b, oldl);
-       if (a2 == a && b2 == b) {
-           return this;        // it's not here
-       }
-       return addInternal(a2, b2);
-    }
-
-    /**
-     * Handles the componentResized event by invoking the
-     * componentResized methods on listener-a and listener-b.
-     * @param e the component event
-     */
-    public void componentResized(ComponentEvent e) {
-        ((ComponentListener)a).componentResized(e);
-        ((ComponentListener)b).componentResized(e);
-    }
-
-    /**
-     * Handles the componentMoved event by invoking the
-     * componentMoved methods on listener-a and listener-b.
-     * @param e the component event
-     */
-    public void componentMoved(ComponentEvent e) {
-        ((ComponentListener)a).componentMoved(e);
-        ((ComponentListener)b).componentMoved(e);
-    }
-
-    /**
-     * Handles the componentShown event by invoking the
-     * componentShown methods on listener-a and listener-b.
-     * @param e the component event
-     */
-    public void componentShown(ComponentEvent e) {
-        ((ComponentListener)a).componentShown(e);
-        ((ComponentListener)b).componentShown(e);
-    }
-
-    /**
-     * Handles the componentHidden event by invoking the
-     * componentHidden methods on listener-a and listener-b.
-     * @param e the component event
-     */
-    public void componentHidden(ComponentEvent e) {
-        ((ComponentListener)a).componentHidden(e);
-        ((ComponentListener)b).componentHidden(e);
-    }
-
-    /**
-     * Handles the componentAdded container event by invoking the
-     * componentAdded methods on listener-a and listener-b.
-     * @param e the component event
-     */
-    public void componentAdded(ContainerEvent e) {
-        ((ContainerListener)a).componentAdded(e);
-        ((ContainerListener)b).componentAdded(e);
-    }
-
-    /**
-     * Handles the componentRemoved container event by invoking the
-     * componentRemoved methods on listener-a and listener-b.
-     * @param e the component event
-     */
-    public void componentRemoved(ContainerEvent e) {
-        ((ContainerListener)a).componentRemoved(e);
-        ((ContainerListener)b).componentRemoved(e);
-    }
-
-    /**
-     * Handles the focusGained event by invoking the
-     * focusGained methods on listener-a and listener-b.
-     * @param e the focus event
-     */
-    public void focusGained(FocusEvent e) {
-        ((FocusListener)a).focusGained(e);
-        ((FocusListener)b).focusGained(e);
-    }
-
-    /**
-     * Handles the focusLost event by invoking the
-     * focusLost methods on listener-a and listener-b.
-     * @param e the focus event
-     */
-    public void focusLost(FocusEvent e) {
-        ((FocusListener)a).focusLost(e);
-        ((FocusListener)b).focusLost(e);
-    }
-
-    /**
-     * Handles the keyTyped event by invoking the
-     * keyTyped methods on listener-a and listener-b.
-     * @param e the key event
-     */
-    public void keyTyped(KeyEvent e) {
-        ((KeyListener)a).keyTyped(e);
-        ((KeyListener)b).keyTyped(e);
-    }
-
-    /**
-     * Handles the keyPressed event by invoking the
-     * keyPressed methods on listener-a and listener-b.
-     * @param e the key event
-     */
-    public void keyPressed(KeyEvent e) {
-        ((KeyListener)a).keyPressed(e);
-        ((KeyListener)b).keyPressed(e);
-    }
-
-    /**
-     * Handles the keyReleased event by invoking the
-     * keyReleased methods on listener-a and listener-b.
-     * @param e the key event
-     */
-    public void keyReleased(KeyEvent e) {
-        ((KeyListener)a).keyReleased(e);
-        ((KeyListener)b).keyReleased(e);
-    }
-
-    /**
-     * Handles the mouseClicked event by invoking the
-     * mouseClicked methods on listener-a and listener-b.
-     * @param e the mouse event
-     */
-    public void mouseClicked(MouseEvent e) {
-        ((MouseListener)a).mouseClicked(e);
-        ((MouseListener)b).mouseClicked(e);
-    }
-
-    /**
-     * Handles the mousePressed event by invoking the
-     * mousePressed methods on listener-a and listener-b.
-     * @param e the mouse event
-     */
-    public void mousePressed(MouseEvent e) {
-        ((MouseListener)a).mousePressed(e);
-        ((MouseListener)b).mousePressed(e);
-    }
-
-    /**
-     * Handles the mouseReleased event by invoking the
-     * mouseReleased methods on listener-a and listener-b.
-     * @param e the mouse event
-     */
-    public void mouseReleased(MouseEvent e) {
-        ((MouseListener)a).mouseReleased(e);
-        ((MouseListener)b).mouseReleased(e);
-    }
-
-    /**
-     * Handles the mouseEntered event by invoking the
-     * mouseEntered methods on listener-a and listener-b.
-     * @param e the mouse event
-     */
-    public void mouseEntered(MouseEvent e) {
-        ((MouseListener)a).mouseEntered(e);
-        ((MouseListener)b).mouseEntered(e);
-    }
-
-    /**
-     * Handles the mouseExited event by invoking the
-     * mouseExited methods on listener-a and listener-b.
-     * @param e the mouse event
-     */
-    public void mouseExited(MouseEvent e) {
-        ((MouseListener)a).mouseExited(e);
-        ((MouseListener)b).mouseExited(e);
-    }
-
-    /**
-     * Handles the mouseDragged event by invoking the
-     * mouseDragged methods on listener-a and listener-b.
-     * @param e the mouse event
-     */
-    public void mouseDragged(MouseEvent e) {
-        ((MouseMotionListener)a).mouseDragged(e);
-        ((MouseMotionListener)b).mouseDragged(e);
-    }
-
-    /**
-     * Handles the mouseMoved event by invoking the
-     * mouseMoved methods on listener-a and listener-b.
-     * @param e the mouse event
-     */
-    public void mouseMoved(MouseEvent e) {
-        ((MouseMotionListener)a).mouseMoved(e);
-        ((MouseMotionListener)b).mouseMoved(e);
-    }
-
-    /**
-     * Handles the windowOpened event by invoking the
-     * windowOpened methods on listener-a and listener-b.
-     * @param e the window event
-     */
-    public void windowOpened(WindowEvent e) {
-        ((WindowListener)a).windowOpened(e);
-        ((WindowListener)b).windowOpened(e);
-    }
-
-    /**
-     * Handles the windowClosing event by invoking the
-     * windowClosing methods on listener-a and listener-b.
-     * @param e the window event
-     */
-    public void windowClosing(WindowEvent e) {
-        ((WindowListener)a).windowClosing(e);
-        ((WindowListener)b).windowClosing(e);
-    }
-
-    /**
-     * Handles the windowClosed event by invoking the
-     * windowClosed methods on listener-a and listener-b.
-     * @param e the window event
-     */
-    public void windowClosed(WindowEvent e) {
-        ((WindowListener)a).windowClosed(e);
-        ((WindowListener)b).windowClosed(e);
-    }
-
-    /**
-     * Handles the windowIconified event by invoking the
-     * windowIconified methods on listener-a and listener-b.
-     * @param e the window event
-     */
-    public void windowIconified(WindowEvent e) {
-        ((WindowListener)a).windowIconified(e);
-        ((WindowListener)b).windowIconified(e);
-    }
-
-    /**
-     * Handles the windowDeiconfied event by invoking the
-     * windowDeiconified methods on listener-a and listener-b.
-     * @param e the window event
-     */
-    public void windowDeiconified(WindowEvent e) {
-        ((WindowListener)a).windowDeiconified(e);
-        ((WindowListener)b).windowDeiconified(e);
-    }
-
-    /**
-     * Handles the windowActivated event by invoking the
-     * windowActivated methods on listener-a and listener-b.
-     * @param e the window event
-     */
-    public void windowActivated(WindowEvent e) {
-        ((WindowListener)a).windowActivated(e);
-        ((WindowListener)b).windowActivated(e);
-    }
-
-    /**
-     * Handles the windowDeactivated event by invoking the
-     * windowDeactivated methods on listener-a and listener-b.
-     * @param e the window event
-     */
-    public void windowDeactivated(WindowEvent e) {
-        ((WindowListener)a).windowDeactivated(e);
-        ((WindowListener)b).windowDeactivated(e);
-    }
-
-    /**
-     * Handles the actionPerformed event by invoking the
-     * actionPerformed methods on listener-a and listener-b.
-     * @param e the action event
-     */
-    public void actionPerformed(ActionEvent e) {
-        ((ActionListener)a).actionPerformed(e);
-        ((ActionListener)b).actionPerformed(e);
-    }
-
-    /**
-     * Handles the itemStateChanged event by invoking the
-     * itemStateChanged methods on listener-a and listener-b.
-     * @param e the item event
-     */
-    public void itemStateChanged(ItemEvent e) {
-        ((ItemListener)a).itemStateChanged(e);
-        ((ItemListener)b).itemStateChanged(e);
-    }
-
-    /**
-     * Handles the adjustmentValueChanged event by invoking the
-     * adjustmentValueChanged methods on listener-a and listener-b.
-     * @param e the adjustment event
-     */
-    public void adjustmentValueChanged(AdjustmentEvent e) {
-        ((AdjustmentListener)a).adjustmentValueChanged(e);
-        ((AdjustmentListener)b).adjustmentValueChanged(e);
-    }
-    public void textValueChanged(TextEvent e) {
-        ((TextListener)a).textValueChanged(e);
-        ((TextListener)b).textValueChanged(e);
-    }
-
-    /**
-     * Adds component-listener-a with component-listener-b and
-     * returns the resulting multicast listener.
-     * @param a component-listener-a
-     * @param b component-listener-b
-     */
-    public static ComponentListener add(ComponentListener a, ComponentListener 
b) {
-        return (ComponentListener)addInternal(a, b);
-    }
-
-    /**
-     * Adds container-listener-a with container-listener-b and
-     * returns the resulting multicast listener.
-     * @param a container-listener-a
-     * @param b container-listener-b
-     */
-    public static ContainerListener add(ContainerListener a, ContainerListener 
b) {
-        return (ContainerListener)addInternal(a, b);
-    }
-
-    /**
-     * Adds focus-listener-a with focus-listener-b and
-     * returns the resulting multicast listener.
-     * @param a focus-listener-a
-     * @param b focus-listener-b
-     */
-    public static FocusListener add(FocusListener a, FocusListener b) {
-        return (FocusListener)addInternal(a, b);
-    }
-
-    /**
-     * Adds key-listener-a with key-listener-b and
-     * returns the resulting multicast listener.
-     * @param a key-listener-a
-     * @param b key-listener-b
-     */
-    public static KeyListener add(KeyListener a, KeyListener b) {
-        return (KeyListener)addInternal(a, b);
-    }
-
-    /**
-     * Adds mouse-listener-a with mouse-listener-b and
-     * returns the resulting multicast listener.
-     * @param a mouse-listener-a
-     * @param b mouse-listener-b
-     */
-    public static MouseListener add(MouseListener a, MouseListener b) {
-        return (MouseListener)addInternal(a, b);
-    }
-
-    /**
-     * Adds mouse-motion-listener-a with mouse-motion-listener-b and
-     * returns the resulting multicast listener.
-     * @param a mouse-motion-listener-a
-     * @param b mouse-motion-listener-b
-     */
-    public static MouseMotionListener add(MouseMotionListener a, 
MouseMotionListener b) {
-        return (MouseMotionListener)addInternal(a, b);
-    }
-
-    /**
-     * Adds window-listener-a with window-listener-b and
-     * returns the resulting multicast listener.
-     * @param a window-listener-a
-     * @param b window-listener-b
-     */
-    public static WindowListener add(WindowListener a, WindowListener b) {
-        return (WindowListener)addInternal(a, b);
-    }
-
-    /**
-     * Adds action-listener-a with action-listener-b and
-     * returns the resulting multicast listener.
-     * @param a action-listener-a
-     * @param b action-listener-b
-     */
-    public static ActionListener add(ActionListener a, ActionListener b) {
-        return (ActionListener)addInternal(a, b);
-    }
-
-    /**
-     * Adds item-listener-a with item-listener-b and
-     * returns the resulting multicast listener.
-     * @param a item-listener-a
-     * @param b item-listener-b
-     */
-    public static ItemListener add(ItemListener a, ItemListener b) {
-        return (ItemListener)addInternal(a, b);
-    }
-
-    /**
-     * Adds adjustment-listener-a with adjustment-listener-b and
-     * returns the resulting multicast listener.
-     * @param a adjustment-listener-a
-     * @param b adjustment-listener-b
-     */
-    public static AdjustmentListener add(AdjustmentListener a, 
AdjustmentListener b) {
-        return (AdjustmentListener)addInternal(a, b);
-    }
-    public static TextListener add(TextListener a, TextListener b) {
-        return (TextListener)addInternal(a, b);
-    }
-
-    /**
-     * Removes the old component-listener from component-listener-l and
-     * returns the resulting multicast listener.
-     * @param l component-listener-l
-     * @param oldl the component-listener being removed
-     */
-    public static ComponentListener remove(ComponentListener l, 
ComponentListener oldl) {
-       return (ComponentListener) removeInternal(l, oldl);
-    }
-
-    /**
-     * Removes the old container-listener from container-listener-l and
-     * returns the resulting multicast listener.
-     * @param l container-listener-l
-     * @param oldl the container-listener being removed
-     */
-    public static ContainerListener remove(ContainerListener l, 
ContainerListener oldl) {
-       return (ContainerListener) removeInternal(l, oldl);
-    }
-
-    /**
-     * Removes the old focus-listener from focus-listener-l and
-     * returns the resulting multicast listener.
-     * @param l focus-listener-l
-     * @param oldl the focus-listener being removed
-     */
-    public static FocusListener remove(FocusListener l, FocusListener oldl) {
-       return (FocusListener) removeInternal(l, oldl);
-    }
-
-    /**
-     * Removes the old key-listener from key-listener-l and
-     * returns the resulting multicast listener.
-     * @param l key-listener-l
-     * @param oldl the key-listener being removed
-     */
-    public static KeyListener remove(KeyListener l, KeyListener oldl) {
-       return (KeyListener) removeInternal(l, oldl);
-    }
-
-    /**
-     * Removes the old mouse-listener from mouse-listener-l and
-     * returns the resulting multicast listener.
-     * @param l mouse-listener-l
-     * @param oldl the mouse-listener being removed
-     */
-    public static MouseListener remove(MouseListener l, MouseListener oldl) {
-       return (MouseListener) removeInternal(l, oldl);
-    }
-
-    /**
-     * Removes the old mouse-motion-listener from mouse-motion-listener-l 
-     * and returns the resulting multicast listener.
-     * @param l mouse-motion-listener-l
-     * @param oldl the mouse-motion-listener being removed
-     */
-    public static MouseMotionListener remove(MouseMotionListener l, 
MouseMotionListener oldl) {
-       return (MouseMotionListener) removeInternal(l, oldl);
-    }
-
-    /**
-     * Removes the old window-listener from window-listener-l and
-     * returns the resulting multicast listener.
-     * @param l window-listener-l
-     * @param oldl the window-listener being removed
-     */
-    public static WindowListener remove(WindowListener l, WindowListener oldl) 
{
-       return (WindowListener) removeInternal(l, oldl);
-    }
-
-    /**
-     * Removes the old action-listener from action-listener-l and
-     * returns the resulting multicast listener.
-     * @param l action-listener-l
-     * @param oldl the action-listener being removed
-     */
-    public static ActionListener remove(ActionListener l, ActionListener oldl) 
{
-       return (ActionListener) removeInternal(l, oldl);
-    }
-
-    /**
-     * Removes the old item-listener from item-listener-l and
-     * returns the resulting multicast listener.
-     * @param l item-listener-l
-     * @param oldl the item-listener being removed
-     */
-    public static ItemListener remove(ItemListener l, ItemListener oldl) {
-       return (ItemListener) removeInternal(l, oldl);
-    }
-
-    /**
-     * Removes the old adjustment-listener from adjustment-listener-l and
-     * returns the resulting multicast listener.
-     * @param l adjustment-listener-l
-     * @param oldl the adjustment-listener being removed
-     */
-    public static AdjustmentListener remove(AdjustmentListener l, 
AdjustmentListener oldl) {
-       return (AdjustmentListener) removeInternal(l, oldl);
-    }
-    public static TextListener remove(TextListener l, TextListener oldl) {
-       return (TextListener) removeInternal(l, oldl);
-    }
-
-    /** 
-     * Returns the resulting multicast listener from adding listener-a
-     * and listener-b together.  
-     * If listener-a is null, it returns listener-b;  
-     * If listener-b is null, it returns listener-a
-     * If neither are null, then it creates and returns
-     * a new AWTEventMulticaster instance which chains a with b.
-     * @param a event listener-a
-     * @param b event listener-b
-     */
-    protected static EventListener addInternal(EventListener a, EventListener 
b) {
-       if (a == null)  return b;
-       if (b == null)  return a;
-       return new AWTEventMulticaster(a, b);
-    }
-
-    /** 
-     * Returns the resulting multicast listener after removing the
-     * old listener from listener-l.
-     * If listener-l equals the old listener OR listener-l is null, 
-     * returns null.
-     * Else if listener-l is an instance of AWTEventMulticaster, 
-     * then it removes the old listener from it.
-     * Else, returns listener l.
-     * @param l the listener being removed from
-     * @param oldl the listener being removed
-     */
-    protected static EventListener removeInternal(EventListener l, 
EventListener oldl) {
-       if (l == oldl || l == null) {
-           return null;
-       } else if (l instanceof AWTEventMulticaster) {
-           return ((AWTEventMulticaster)l).remove(oldl);
-       } else {
-           return l;           // it's not here
-       }
-    }
-      
-
-    /* Serialization support.  
-     */
-
-    protected void saveInternal(ObjectOutputStream s, String k) throws 
IOException {
-        if (a instanceof AWTEventMulticaster) {
-           ((AWTEventMulticaster)a).saveInternal(s, k);
-        }
-        else if (a instanceof Serializable) {
-            s.writeObject(k);
-            s.writeObject(a);
-        }
-        
-        if (b instanceof AWTEventMulticaster) {
-           ((AWTEventMulticaster)b).saveInternal(s, k);
-        }
-        else if (b instanceof Serializable) {
-            s.writeObject(k);
-            s.writeObject(b);
-        }
-    }
-
-    static void save(ObjectOutputStream s, String k, EventListener l) throws 
IOException {
-      if (l == null) {
-          return;
-      } 
-      else if (l instanceof AWTEventMulticaster) {
-          ((AWTEventMulticaster)l).saveInternal(s, k);
-      }
-      else if (l instanceof Serializable) {
-           s.writeObject(k);
-           s.writeObject(l);
-      }
-    }
-}
diff --git a/test/etags/java-src/KeyEve.java b/test/etags/java-src/KeyEve.java
deleted file mode 100644
index dc07fb2..0000000
--- a/test/etags/java-src/KeyEve.java
+++ /dev/null
@@ -1,440 +0,0 @@
-/*
- * @(#)KeyEvent.java   1.20 97/01/30
- * 
- * Copyright (c) 1995, 1996 Sun Microsystems, Inc. All Rights Reserved.
- * 
- * This software is the confidential and proprietary information of Sun
- * Microsystems, Inc. ("Confidential Information").  You shall not
- * disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into
- * with Sun.
- * 
- * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
- * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
- * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
- * THIS SOFTWARE OR ITS DERIVATIVES.
- * 
- * CopyrightVersion 1.1_beta
- * 
- */
-
-package java.awt.event;
-
-import java.awt.Event;
-import java.awt.Component;
-import java.awt.Toolkit;
-
-/**
- * The component-level keyboard event.
- *
- * @version 1.20 30 Jan 1997
- * @author Carl Quinn
- * @author Amy Fowler
- */
-public class KeyEvent extends InputEvent {
-
-    /**
-     * Marks the first integer id for the range of key event ids.
-     */
-    public static final int KEY_FIRST = 400;
-
-    /**
-     * Marks the last integer id for the range of key event ids.
-     */
-    public static final int KEY_LAST  = 402;
-
-    /**
-     * The key typed event type.  This type is generated by a combination
-     * of a key press followed by a key release.
-     */
-    public static final int KEY_TYPED = KEY_FIRST;
-
-    /**
-     * The key pressed event type.
-     */
-    public static final int KEY_PRESSED = 1 + KEY_FIRST; //Event.KEY_PRESS
-
-    /**
-     * The key released event type.
-     */
-    public static final int KEY_RELEASED = 2 + KEY_FIRST; //Event.KEY_RELEASE
-
-    /**
-     * Virtual key codes.  These codes report which keyboard key has
-     * been pressed, rather than any character generated by one or more
-     * keys being pressed.  
-     *
-     * For example, pressing the Shift key will cause a KEY_PRESSED event 
-     * with a VK_SHIFT keyCode, while pressing the 'a' key will result in 
-     * a VK_A keyCode.  After the 'a' key is released, a KEY_RELEASED event 
-     * will be fired with VK_A, followed by a KEY_TYPED event with a keyChar 
-     * value of 'A'.  Key combinations which do not result in characters,
-     * such as action keys like F1, will not generate KEY_TYPED events.
-     *
-     * Note: not all keyboards or systems are capable of generating all
-     * virtual key codes.  No attempt is made in Java to artificially
-     * generate these keys.
-     *
-     * WARNING:  aside from those keys where are defined by the Java language
-     * (VK_ENTER, VK_BACK_SPACE, and VK_TAB), do not rely on the values of 
these
-     * constants.  Sun reserves the right to change these values as needed
-     * to accomodate a wider range of keyboards in the future.  
-     */
-    public static final int VK_ENTER          = '\n';
-    public static final int VK_BACK_SPACE     = '\b';
-    public static final int VK_TAB            = '\t';
-    public static final int VK_CANCEL         = 0x03;
-    public static final int VK_CLEAR          = 0x0C;
-    public static final int VK_SHIFT          = 0x10;
-    public static final int VK_CONTROL        = 0x11;
-    public static final int VK_ALT            = 0x12;
-    public static final int VK_PAUSE          = 0x13;
-    public static final int VK_CAPS_LOCK      = 0x14;
-    public static final int VK_ESCAPE         = 0x1B;
-    public static final int VK_SPACE          = 0x20;
-    public static final int VK_PAGE_UP        = 0x21;
-    public static final int VK_PAGE_DOWN      = 0x22;
-    public static final int VK_END            = 0x23;
-    public static final int VK_HOME           = 0x24;
-    public static final int VK_LEFT           = 0x25;
-    public static final int VK_UP             = 0x26;
-    public static final int VK_RIGHT          = 0x27;
-    public static final int VK_DOWN           = 0x28;
-    public static final int VK_COMMA          = 0x2C;
-    public static final int VK_PERIOD         = 0x2E;
-    public static final int VK_SLASH          = 0x2F;
-
-    /** VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */
-    public static final int VK_0              = 0x30;
-    public static final int VK_1              = 0x31;
-    public static final int VK_2              = 0x32;
-    public static final int VK_3              = 0x33;
-    public static final int VK_4              = 0x34;
-    public static final int VK_5              = 0x35;
-    public static final int VK_6              = 0x36;
-    public static final int VK_7              = 0x37;
-    public static final int VK_8              = 0x38;
-    public static final int VK_9              = 0x39;
-
-    public static final int VK_SEMICOLON      = 0x3B;
-    public static final int VK_EQUALS         = 0x3D;
-
-    /** VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */
-    public static final int VK_A              = 0x41;
-    public static final int VK_B              = 0x42;
-    public static final int VK_C              = 0x43;
-    public static final int VK_D              = 0x44;
-    public static final int VK_E              = 0x45;
-    public static final int VK_F              = 0x46;
-    public static final int VK_G              = 0x47;
-    public static final int VK_H              = 0x48;
-    public static final int VK_I              = 0x49;
-    public static final int VK_J              = 0x4A;
-    public static final int VK_K              = 0x4B;
-    public static final int VK_L              = 0x4C;
-    public static final int VK_M              = 0x4D;
-    public static final int VK_N              = 0x4E;
-    public static final int VK_O              = 0x4F;
-    public static final int VK_P              = 0x50;
-    public static final int VK_Q              = 0x51;
-    public static final int VK_R              = 0x52;
-    public static final int VK_S              = 0x53;
-    public static final int VK_T              = 0x54;
-    public static final int VK_U              = 0x55;
-    public static final int VK_V              = 0x56;
-    public static final int VK_W              = 0x57;
-    public static final int VK_X              = 0x58;
-    public static final int VK_Y              = 0x59;
-    public static final int VK_Z              = 0x5A;
-
-    public static final int VK_OPEN_BRACKET   = 0x5B;
-    public static final int VK_BACK_SLASH     = 0x5C;
-    public static final int VK_CLOSE_BRACKET  = 0x5D;
-
-    public static final int VK_NUMPAD0        = 0x60;
-    public static final int VK_NUMPAD1        = 0x61;
-    public static final int VK_NUMPAD2        = 0x62;
-    public static final int VK_NUMPAD3        = 0x63;
-    public static final int VK_NUMPAD4        = 0x64;
-    public static final int VK_NUMPAD5        = 0x65;
-    public static final int VK_NUMPAD6        = 0x66;
-    public static final int VK_NUMPAD7        = 0x67;
-    public static final int VK_NUMPAD8        = 0x68;
-    public static final int VK_NUMPAD9        = 0x69;
-    public static final int VK_MULTIPLY       = 0x6A;
-    public static final int VK_ADD            = 0x6B;
-    public static final int VK_SEPARATER      = 0x6C;
-    public static final int VK_SUBTRACT       = 0x6D;
-    public static final int VK_DECIMAL        = 0x6E;
-    public static final int VK_DIVIDE         = 0x6F;
-    public static final int VK_F1             = 0x70;
-    public static final int VK_F2             = 0x71;
-    public static final int VK_F3             = 0x72;
-    public static final int VK_F4             = 0x73;
-    public static final int VK_F5             = 0x74;
-    public static final int VK_F6             = 0x75;
-    public static final int VK_F7             = 0x76;
-    public static final int VK_F8             = 0x77;
-    public static final int VK_F9             = 0x78;
-    public static final int VK_F10            = 0x79;
-    public static final int VK_F11            = 0x7A;
-    public static final int VK_F12            = 0x7B;
-    public static final int VK_DELETE         = 0x7F; /* ASCII DEL */
-    public static final int VK_NUM_LOCK       = 0x90;
-    public static final int VK_SCROLL_LOCK    = 0x91;
-
-    public static final int VK_PRINTSCREEN    = 0x9A;
-    public static final int VK_INSERT         = 0x9B;
-    public static final int VK_HELP           = 0x9C;
-    public static final int VK_META           = 0x9D;
-
-    public static final int VK_BACK_QUOTE     = 0xC0;
-    public static final int VK_QUOTE          = 0xDE;
-
-    /** for Asian Keyboard */
-    public static final int VK_FINAL          = 0x18;
-    public static final int VK_CONVERT        = 0x1C;
-    public static final int VK_NONCONVERT     = 0x1D;
-    public static final int VK_ACCEPT         = 0x1E;
-    public static final int VK_MODECHANGE     = 0x1F;
-    public static final int VK_KANA           = 0x15;
-    public static final int VK_KANJI          = 0x19;
-    
-    /**
-     * KEY_TYPED events do not have a defined keyCode.
-     */
-    public static final int VK_UNDEFINED      = 0x0;
-
-    /**
-     * KEY_PRESSED and KEY_RELEASED events which do not map to a
-     * valid Unicode character do not have a defined keyChar.
-     */
-    public static final char CHAR_UNDEFINED   = 0x0;
-
-    int  keyCode;
-    char keyChar;
-
-    /*
-     * JDK 1.1 serialVersionUID 
-     */
-     private static final long serialVersionUID = -2352130953028126954L;
-
-    /**
-     * Constructs a KeyEvent object with the specified source component,
-     * type, modifiers, and key.
-     * @param source the object where the event originated
-     * @id the event type
-     * @when the time the event occurred
-     * @modifiers the modifier keys down during event
-     * @keyCode the integer code representing the key of the event 
-     * @keyChar the Unicode character generated by this event, or NUL
-     */
-    public KeyEvent(Component source, int id, long when, int modifiers,
-                    int keyCode, char keyChar) {
-        super(source, id, when, modifiers);
-
-        if (id == KEY_TYPED && keyChar == CHAR_UNDEFINED) {
-            throw new IllegalArgumentException("invalid keyChar");
-        }
-        if (id == KEY_TYPED && keyCode != VK_UNDEFINED) {
-            throw new IllegalArgumentException("invalid keyCode");
-        }
-
-        this.keyCode = keyCode;
-        this.keyChar = keyChar;
-    }
-
-    /*
-     * @deprecated, as of JDK1.1 - Do NOT USE; will be removed in 1.1.1.
-     */
-    public KeyEvent(Component source, int id, long when, int modifiers,
-                    int keyCode) {
-        this(source, id, when, modifiers, keyCode, (char)keyCode);
-    }
-
-    /**
-     * Returns the integer key-code associated with the key in this event.
-     * For KEY_TYPED events, keyCode is VK_UNDEFINED.
-     */
-    public int getKeyCode() {
-        return keyCode;
-    }
-
-    public void setKeyCode(int keyCode) {
-        this.keyCode = keyCode;
-    }
-
-    public void setKeyChar(char keyChar) {
-        this.keyChar = keyChar;
-    }
-
-    public void setModifiers(int modifiers) {
-        this.modifiers = modifiers;
-    }
-
-    /**
-     * Returns the character associated with the key in this event.
-     * If no valid Unicode character exists for this key event, keyChar
-     * is CHAR_UNDEFINED.
-     */
-    public char getKeyChar() {
-        return keyChar;
-    }
-
-    /**
-     * Returns a String describing the keyCode, such as "HOME", "F1" or "A".
-     * These strings can be localized by changing the awt.properties file.
-     */
-    public static String getKeyText(int keyCode) {
-        if (keyCode >= VK_0 && keyCode <= VK_9 || 
-            keyCode >= VK_A && keyCode <= VK_Z) {
-            return String.valueOf((char)keyCode);
-        }
-
-        // Check for other ASCII keyCodes.
-        int index = ",./;=[\\]".indexOf(keyCode);
-        if (index >= 0) {
-            return String.valueOf((char)keyCode);
-        }
-       
-        switch(keyCode) {
-          case VK_ENTER: return Toolkit.getProperty("AWT.enter", "Enter");
-          case VK_BACK_SPACE: return Toolkit.getProperty("AWT.backSpace", 
"Backspace");
-          case VK_TAB: return Toolkit.getProperty("AWT.tab", "Tab");
-          case VK_CANCEL: return Toolkit.getProperty("AWT.cancel", "Cancel");
-          case VK_CLEAR: return Toolkit.getProperty("AWT.clear", "Clear");
-          case VK_SHIFT: return Toolkit.getProperty("AWT.shift", "Shift");
-          case VK_CONTROL: return Toolkit.getProperty("AWT.control", 
"Control");
-          case VK_ALT: return Toolkit.getProperty("AWT.alt", "Alt");
-          case VK_PAUSE: return Toolkit.getProperty("AWT.pause", "Pause");
-          case VK_CAPS_LOCK: return Toolkit.getProperty("AWT.capsLock", "Caps 
Lock");
-          case VK_ESCAPE: return Toolkit.getProperty("AWT.escape", "Escape");
-          case VK_SPACE: return Toolkit.getProperty("AWT.space", "Space");
-          case VK_PAGE_UP: return Toolkit.getProperty("AWT.pgup", "Page Up");
-          case VK_PAGE_DOWN: return Toolkit.getProperty("AWT.pgdn", "Page 
Down");
-          case VK_END: return Toolkit.getProperty("AWT.end", "End");
-          case VK_HOME: return Toolkit.getProperty("AWT.home", "Home");
-          case VK_LEFT: return Toolkit.getProperty("AWT.left", "Left");
-          case VK_UP: return Toolkit.getProperty("AWT.up", "Up");
-          case VK_RIGHT: return Toolkit.getProperty("AWT.right", "Right");
-          case VK_DOWN: return Toolkit.getProperty("AWT.down", "Down");
-
-          case VK_MULTIPLY: return Toolkit.getProperty("AWT.multiply", "NumPad 
*");
-          case VK_ADD: return Toolkit.getProperty("AWT.add", "NumPad +");
-          case VK_SEPARATER: return Toolkit.getProperty("AWT.separater", 
"NumPad ,");
-          case VK_SUBTRACT: return Toolkit.getProperty("AWT.subtract", "NumPad 
-");
-          case VK_DECIMAL: return Toolkit.getProperty("AWT.decimal", "NumPad 
.");
-          case VK_DIVIDE: return Toolkit.getProperty("AWT.divide", "NumPad /");
-
-          case VK_F1: return Toolkit.getProperty("AWT.f1", "F1");
-          case VK_F2: return Toolkit.getProperty("AWT.f2", "F2");
-          case VK_F3: return Toolkit.getProperty("AWT.f3", "F3");
-          case VK_F4: return Toolkit.getProperty("AWT.f4", "F4");
-          case VK_F5: return Toolkit.getProperty("AWT.f5", "F5");
-          case VK_F6: return Toolkit.getProperty("AWT.f6", "F6");
-          case VK_F7: return Toolkit.getProperty("AWT.f7", "F7");
-          case VK_F8: return Toolkit.getProperty("AWT.f8", "F8");
-          case VK_F9: return Toolkit.getProperty("AWT.f9", "F9");
-          case VK_F10: return Toolkit.getProperty("AWT.f10", "F10");
-          case VK_F11: return Toolkit.getProperty("AWT.f11", "F11");
-          case VK_F12: return Toolkit.getProperty("AWT.f12", "F12");
-          case VK_DELETE: return Toolkit.getProperty("AWT.delete", "Delete");
-          case VK_NUM_LOCK: return Toolkit.getProperty("AWT.numLock", "Num 
Lock");
-          case VK_SCROLL_LOCK: return Toolkit.getProperty("AWT.scrollLock", 
"Scroll Lock");
-          case VK_PRINTSCREEN: return Toolkit.getProperty("AWT.printScreen", 
"Print Screen");
-          case VK_INSERT: return Toolkit.getProperty("AWT.insert", "Insert");
-          case VK_HELP: return Toolkit.getProperty("AWT.help", "Help");
-          case VK_META: return Toolkit.getProperty("AWT.meta", "Meta");
-          case VK_BACK_QUOTE: return Toolkit.getProperty("AWT.backQuote", 
"Back Quote");
-          case VK_QUOTE: return Toolkit.getProperty("AWT.quote", "Quote");
-                        
-          case VK_FINAL: return Toolkit.getProperty("AWT.final", "Final");
-          case VK_CONVERT: return Toolkit.getProperty("AWT.convert", 
"Convert");
-          case VK_NONCONVERT: return Toolkit.getProperty("AWT.noconvert", "No 
Convert");
-          case VK_ACCEPT: return Toolkit.getProperty("AWT.accept", "Accept");
-          case VK_MODECHANGE: return Toolkit.getProperty("AWT.modechange", 
"Mode Change");
-          case VK_KANA: return Toolkit.getProperty("AWT.kana", "Kana");
-         case VK_KANJI: return Toolkit.getProperty("AWT.kanji", "Kanji");
-        }
-
-        if (keyCode >= VK_NUMPAD0 && keyCode <= VK_NUMPAD9) {
-            String numpad = Toolkit.getProperty("AWT.numpad", "NumPad");
-           char c = (char)(keyCode - VK_NUMPAD0 + '0');
-            return numpad + "-" + c;
-        }
-
-        String unknown = Toolkit.getProperty("AWT.unknown", "Unknown keyCode");
-        return unknown + ": 0x" + Integer.toString(keyCode, 16);
-    }
-
-    /**
-     * Returns a String describing the modifier key(s), such as "Shift",
-     * or "Ctrl+Shift".  These strings can be localized by changing the 
-     * awt.properties file.
-     */
-    public static String getKeyModifiersText(int modifiers) {
-        StringBuffer buf = new StringBuffer();
-        if ((modifiers & Event.META_MASK) != 0) {
-            buf.append(Toolkit.getProperty("AWT.meta", "Meta"));
-            buf.append("+");
-        }
-        if ((modifiers & Event.CTRL_MASK) != 0) {
-            buf.append(Toolkit.getProperty("AWT.control", "Ctrl"));
-            buf.append("+");
-        }
-        if ((modifiers & Event.META_MASK) != 0) {
-            buf.append(Toolkit.getProperty("AWT.alt", "Alt"));
-            buf.append("+");
-        }
-        if ((modifiers & Event.SHIFT_MASK) != 0) {
-            buf.append(Toolkit.getProperty("AWT.shift", "Shift"));
-            buf.append("+");
-        }
-        if (buf.length() > 0) {
-            buf.setLength(buf.length()-1); // remove trailing '+'
-        }
-        return buf.toString();
-    }
-
-    /** Returns whether or not the key in this event is an "action" key.
-     */
-    public boolean isActionKey() {
-        return (keyChar == CHAR_UNDEFINED);
-    }
-
-    public String paramString() {
-        String typeStr;
-        switch(id) {
-          case KEY_PRESSED:
-              typeStr = "KEY_PRESSED";
-              break;
-          case KEY_RELEASED:
-              typeStr = "KEY_RELEASED";
-              break;
-          case KEY_TYPED:
-              typeStr = "KEY_TYPED";
-              break;
-          default:
-              typeStr = "unknown type";
-        }
-
-        String str = typeStr + ",keyCode=" + keyCode;
-        if (isActionKey() || keyCode == VK_ENTER || keyCode == VK_BACK_SPACE 
|| 
-           keyCode == VK_TAB || keyCode == VK_ESCAPE || keyCode == VK_DELETE ||
-           (keyCode >= VK_NUMPAD0 && keyCode <= VK_NUMPAD9)) {
-            str += "," + getKeyText(keyCode);
-       } else if (keyChar == '\n' || keyChar == '\b' ||
-           keyChar == '\t' || keyChar == VK_ESCAPE || keyChar == VK_DELETE) {
-            str += "," + getKeyText(keyChar);
-        } else {
-            str += ",keyChar='" + keyChar + "'";
-        }
-        if (modifiers > 0) {
-            str += ",modifiers=" + getKeyModifiersText(modifiers);
-        }
-        return str;
-    }
-
-}
diff --git a/test/etags/java-src/SMan.java b/test/etags/java-src/SMan.java
deleted file mode 100644
index ccc9bf1..0000000
--- a/test/etags/java-src/SMan.java
+++ /dev/null
@@ -1,848 +0,0 @@
-/*
- * @(#)SecurityManager.java    1.46 97/01/27
- * 
- * Copyright (c) 1995, 1996 Sun Microsystems, Inc. All Rights Reserved.
- * 
- * This software is the confidential and proprietary information of Sun
- * Microsystems, Inc. ("Confidential Information").  You shall not
- * disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into
- * with Sun.
- * 
- * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
- * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
- * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
- * THIS SOFTWARE OR ITS DERIVATIVES.
- * 
- * CopyrightVersion 1.1_beta
- * 
- */
-
-package java.lang;
-
-import java.io.FileDescriptor;
-import java.util.Hashtable;
-import java.net.InetAddress;
-import java.lang.reflect.Member;
-
-/**
- * The security manager is an abstract class that allows 
- * applications to implement a security policy. It allows an 
- * application to determine, before performing a possibly unsafe or 
- * sensitive operation, what the operation is and whether the 
- * operation is being performed by a class created via a class loader 
- * rather than installed locally. Classes loaded via a class loader 
- * (especially if they have been downloaded over a network) may be 
- * less trustworthy than classes from files installed locally. The 
- * application can allow or disallow the operation. 
- * <p>
- * The <code>SecurityManager</code> class contains many methods with 
- * names that begin with the word <code>check</code>. These methods 
- * are called by various methods in the Java libraries before those 
- * methods perform certain potentially sensitive operations. The 
- * invocation of such a check method typically looks like this: 
- * <p><blockquote><pre>
- *     SecurityManager security = System.getSecurityManager();
- *     if (security != null) {
- *         security.check</code><i>XXX</i><code>(argument, 
&nbsp;.&nbsp;.&nbsp;.&nbsp;);
- *     }
- * </pre></blockquote>
- * <p>
- * The security manager is thereby given an opportunity to prevent 
- * completion of the operation by throwing an exception. A security 
- * manager routine simply returns if the operation is permitted, but 
- * throws a <code>SecurityException</code> if the operation is not 
- * permitted. The only exception to this convention is 
- * <code>checkTopLevelWindow</code>, which returns a 
- * <code>boolean</code> value. 
- * <p>
- * The current security manager is set by the 
- * <code>setSecurityManager</code> method in class 
- * <code>System</code>. The current security manager is obtained 
- * by the <code>getSecurityManager</code> method. 
- * <p>
- * The default implementation of each of the 
- * <code>check</code><i>XXX</i> methods is to assume that the caller 
- * does <i>not</i> have permission to perform the requested operation. 
- *
- * @author  Arthur van Hoff
- * @version 1.46, 27 Jan 1997
- * @see     java.lang.ClassLoader
- * @see     java.lang.SecurityException
- * @see     java.lang.SecurityManager#checkTopLevelWindow(java.lang.Object)
- * @see     java.lang.System#getSecurityManager()
- * @see     java.lang.System#setSecurityManager(java.lang.SecurityManager)
- * @since   JDK1.0
- */
-public abstract
-class SecurityManager {
-   /**
-     * This field is <code>true</code> if there is a security check in 
-     * progress; <code>false</code> otherwise. 
-     *
-     * @since   JDK1.0
-     */
-    protected boolean inCheck;
-
-    // Have we been initialized. Effective against finalizer attacks.
-    private boolean initialized = false;
-
-    /** 
-     * Tests if there is a security check in progress.
-     *
-     * @return  the value of the <code>inCheck</code> field. This field should
-     *          contain <code>true</code> if a security check is in progress;
-     *          <code>false</code> otherwise.
-     * @see     java.lang.SecurityManager#inCheck
-     * @since   JDK1.0
-     */
-    public boolean getInCheck() {
-       return inCheck;
-    }
-
-    /**
-     * Constructs a new <code>SecurityManager</code>. An application is 
-     * not allowed to create a new security manager if there is already a 
-     * current security manager. 
-     *
-     * @exception  SecurityException  if a security manager already exists.
-     * @see        java.lang.System#getSecurityManager()
-     * @since      JDK1.0
-     */
-    protected SecurityManager() {
-       // checkCreateSecurityManager(); ? REMIND
-       initialized = true;
-    }
-
-    /**
-     * Returns the current execution stack as an array of classes. 
-     * <p>
-     * The length of the array is the number of methods on the execution 
-     * stack. The element at index <code>0</code> is the class of the 
-     * currently executing method, the element at index <code>1</code> is 
-     * the class of that method's caller, and so on. 
-     *
-     * @return  the execution stack.
-     * @since   JDK1.0
-     */
-    protected native Class[] getClassContext();
-
-    /**
-     * Returns an object describing the most recent class loader executing
-     * on the stack. 
-     *
-     * @return  the class loader of the most recent occurrence on the stack
-     *          of a method from a class defined using a class loader;
-     *          returns <code>null</code> if there is no occurrence on the
-     *          stack of a method from a class defined using a class loader.
-     * @since   JDK1.0
-     */
-    protected native ClassLoader currentClassLoader();
-
-    /**
-     * Returns the current Class with a ClassLoader on the execution stack.
-     *
-     * @since   JDK1.1
-     */
-    protected Class currentLoadedClass() {
-       return currentLoadedClass0();   
-    }
-
-    /**
-     * Returns the stack depth of the specified class. 
-     *
-     * @param   name   the fully qualified name of the class to search for.
-     * @return  the depth on the stack frame of the first occurrence of a
-     *          method from a class with the specified name;
-     *          <code>-1</code> if such a frame cannot be found.
-     * @since   JDK1.0
-     */
-    protected native int classDepth(String name);
-
-    /**
-     * Returns the stack depth of the most recently executing method 
-     * from a class defined using a class loader. 
-     *
-     * @return  the depth on the stack frame of the most recent occurrence of a
-     *          method from a class defined using a class loader; returns
-     *          <code>-1</code> if there is no occurrence of a method from
-     *          a class defined using a class loader.
-     * @since   JDK1.0
-     */
-    protected native int classLoaderDepth();
-
-    /**
-     * Tests if the specified String is in this Class. 
-     *
-     * @param   name   the fully qualified name of the class.
-     * @return  <code>true</code> if a method from a class with the specified
-     *          name is on the execution stack; <code>false</code> otherwise.
-     * @since   JDK1.0
-     */
-    protected boolean inClass(String name) {
-       return classDepth(name) >= 0;
-    }
-
-    /**
-     * Tests if the current ClassLoader is equal to
-     * <code>null</code>.
-     *
-     * @return  <code>true</code> if a method from a class defined using a
-     *          class loader is on the execution stack.
-     * @since   JDK1.0
-     */
-    protected boolean inClassLoader() {
-       return currentClassLoader() != null;
-    }
-
-    /**
-     * Creates an object that encapsulates the current execution 
-     * environment. The result of this method is used by the 
-     * three-argument <code>checkConnect</code> method and by the 
-     * two-argument <code>checkRead</code> method. 
-     * <p>
-     * These methods are needed because a trusted method may be called 
-     * on to read a file or open a socket on behalf of another method. 
-     * The trusted method needs to determine if the other (possibly 
-     * untrusted) method would be allowed to perform the operation on its 
-     * own. 
-     *
-     * @return  an implementation-dependent object that encapsulates
-     *          sufficient information about the current execution environment
-     *          to perform some security checks later.
-     * @see     java.lang.SecurityManager#checkConnect(java.lang.String,
-     *            int, java.lang.Object)
-     * @see     java.lang.SecurityManager#checkRead(java.lang.String,
-     *            java.lang.Object)
-     * @since   JDK1.0
-     */
-    public Object getSecurityContext() {
-       return null;
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to create a new class loader. 
-     * <p>
-     * The <code>checkCreateClassLoader</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @exception  SecurityException  if the caller does not have permission
-     *             to create a new class loader.
-     * @see        java.lang.ClassLoader#ClassLoader()
-     * @since      JDK1.0
-     */
-    public void checkCreateClassLoader() {
-       throw new SecurityException();
-    }
-    
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to modify the thread argument. 
-     * <p>
-     * This method is invoked for the current security manager by the 
-     * <code>stop</code>, <code>suspend</code>, <code>resume</code>, 
-     * <code>setPriority</code>, <code>setName</code>, and 
-     * <code>setDaemon</code> methods of class <code>Thread</code>. 
-     * <p>
-     * The <code>checkAccess</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      g   the thread to be checked.
-
-     * @exception  SecurityException  if the caller does not have permission
-     *               to modify the thread.
-     * @see        java.lang.System#getSecurityManager()
-     * @see        java.lang.Thread#resume()
-     * @see        java.lang.Thread#setDaemon(boolean)
-     * @see        java.lang.Thread#setName(java.lang.String)
-     * @see        java.lang.Thread#setPriority(int)
-     * @see        java.lang.Thread#stop()
-     * @see        java.lang.Thread#suspend()
-     * @since      JDK1.0
-     */
-    public void checkAccess(Thread g) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to modify the thread group argument. 
-     * <p>
-     * This method is invoked for the current security manager when a 
-     * new child thread or child thread group is created, and by the 
-     * <code>setDaemon</code>, <code>setMaxPriority</code>, 
-     * <code>stop</code>, <code>suspend</code>, <code>resume</code>, and 
-     * <code>destroy</code> methods of class <code>ThreadGroup</code>. 
-     * <p>
-     * The <code>checkAccess</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      g   the thread group to be checked.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to modify the thread group.
-     * @see        java.lang.System#getSecurityManager()
-     * @see        java.lang.ThreadGroup#destroy()
-     * @see        java.lang.ThreadGroup#resume()
-     * @see        java.lang.ThreadGroup#setDaemon(boolean)
-     * @see        java.lang.ThreadGroup#setMaxPriority(int)
-     * @see        java.lang.ThreadGroup#stop()
-     * @see        java.lang.ThreadGroup#suspend()
-     * @since      JDK1.0
-     */
-    public void checkAccess(ThreadGroup g) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to cause the Java Virtual Machine to 
-     * halt with the specified status code. 
-     * <p>
-     * This method is invoked for the current security manager by the 
-     * <code>exit</code> method of class <code>Runtime</code>. A status 
-     * of <code>0</code> indicates success; other values indicate various 
-     * errors. 
-     * <p>
-     * The <code>checkExit</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      status   the exit status.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to halt the Java Virtual Machine with the specified 
status.
-     * @see        java.lang.Runtime#exit(int)
-     * @see        java.lang.System#getSecurityManager()
-     * @since      JDK1.0
-     */
-    public void checkExit(int status) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to create a subprocss. 
-     * <p>
-     * This method is invoked for the current security manager by the 
-     * <code>exec</code> methods of class <code>Runtime</code>.
-     * <p>
-     * The <code>checkExec</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      cmd   the specified system command.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to create a subprocess.
-     * @see        java.lang.Runtime#exec(java.lang.String)
-     * @see        java.lang.Runtime#exec(java.lang.String, java.lang.String[])
-     * @see        java.lang.Runtime#exec(java.lang.String[])
-     * @see        java.lang.Runtime#exec(java.lang.String[],
-     *               java.lang.String[])
-     * @see        java.lang.System#getSecurityManager()
-     * @since      JDK1.0
-     */
-    public void checkExec(String cmd) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to dynamic link the library code 
-     * specified by the string argument file. The argument is either a 
-     * simple library name or a complete filename. 
-     * <p>
-     * This method is invoked for the current security manager by 
-     * methods <code>load</code> and <code>loadLibrary</code> of class 
-     * <code>Runtime</code>. 
-     * <p>
-     * The <code>checkLink</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      lib   the name of the library.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to dynamically link the library.
-     * @see        java.lang.Runtime#load(java.lang.String)
-     * @see        java.lang.Runtime#loadLibrary(java.lang.String)
-     * @see        java.lang.System#getSecurityManager()
-     * @since      JDK1.0
-     */
-    public void checkLink(String lib) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to read from the specified file 
-     * descriptor. 
-     * <p>
-     * The <code>checkRead</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      fd   the system-dependent file descriptor.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to access the specified file descriptor.
-     * @see        java.io.FileDescriptor
-     * @since      JDK1.0
-     */
-    public void checkRead(FileDescriptor fd) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to read the file specified by the 
-     * string argument. 
-     * <p>
-     * The <code>checkRead</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      file   the system-dependent file name.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to access the specified file.
-     * @since   JDK1.0
-     */
-    public void checkRead(String file) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * specified security context is not allowed to read the file 
-     * specified by the string argument. The context must be a security 
-     * context returned by a previous call to 
-     * <code>getSecurityContext</code>. 
-     * <p>
-     * The <code>checkRead</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      file      the system-dependent filename.
-     * @param      context   a system-dependent security context.
-     * @exception  SecurityException  if the specified security context does
-     *               not have permission to read the specified file.
-     * @see        java.lang.SecurityManager#getSecurityContext()
-     * @since      JDK1.0
-     */
-    public void checkRead(String file, Object context) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to write to the specified file 
-     * descriptor. 
-     * <p>
-     * The <code>checkWrite</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      fd   the system-dependent file descriptor.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to access the specified file descriptor.
-     * @see        java.io.FileDescriptor
-     * @since      JDK1.0
-     */
-    public void checkWrite(FileDescriptor fd) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to write to the file specified by 
-     * the string argument. 
-     * <p>
-     * The <code>checkWrite</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      file   the system-dependent filename.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to access the specified file.
-     * @since   JDK1.0
-     */
-    public void checkWrite(String file) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to delete the specified file. 
-     * <p>
-     * This method is invoked for the current security manager by the 
-     * <code>delete</code> method of class <code>File</code>.
-     * <p>
-     * The <code>checkDelete</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      file   the system-dependent filename.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to delete the file.
-     * @see        java.io.File#delete()
-     * @see        java.lang.System#getSecurityManager()
-     * @since      JDK1.0
-     */
-    public void checkDelete(String file) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to open a socket connection to the 
-     * specified host and port number. 
-     * <p>
-     * A port number of <code>-1</code> indicates that the calling 
-     * method is attempting to determine the IP address of the specified 
-     * host name. 
-     * <p>
-     * The <code>checkConnect</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      host   the host name port to connect to.
-     * @param      port   the protocol port to connect to.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to open a socket connection to the specified
-     *               <code>host</code> and <code>port</code>.
-     * @since      JDK1.0
-     */
-    public void checkConnect(String host, int port) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * specified security context is not allowed to open a socket 
-     * connection to the specified host and port number. 
-     * <p>
-     * A port number of <code>-1</code> indicates that the calling 
-     * method is attempting to determine the IP address of the specified 
-     * host name. 
-     * <p>
-     * The <code>checkConnect</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      host      the host name port to connect to.
-     * @param      port      the protocol port to connect to.
-     * @param      context   a system-dependent security context.
-     * @exception  SecurityException  if the specified security context does
-     *               not have permission to open a socket connection to the
-     *               specified <code>host</code> and <code>port</code>.
-     * @see        java.lang.SecurityManager#getSecurityContext()
-     * @since      JDK1.0
-     */
-    public void checkConnect(String host, int port, Object context) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to wait for a connection request on 
-     * the specified local port number. 
-     * <p>
-     * The <code>checkListen</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      port   the local port.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to listen on the specified port.
-     * @since   JDK1.0
-     */
-    public void checkListen(int port) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not permitted to accept a socket connection from 
-     * the specified host and port number. 
-     * <p>
-     * This method is invoked for the current security manager by the 
-     * <code>accept</code> method of class <code>ServerSocket</code>. 
-     * <p>
-     * The <code>checkAccept</code> method for class 
-     * <code>SecurityManager</code> always throws a
-     * <code>SecurityException</code>. 
-     *
-     * @param      host   the host name of the socket connection.
-     * @param      port   the port number of the socket connection.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to accept the connection.
-     * @see        java.lang.System#getSecurityManager()
-     * @see        java.net.ServerSocket#accept()
-     * @since      JDK1.0
-     */
-    public void checkAccept(String host, int port) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Tests if current execution context is allowed to use
-     * (join/leave/send/receive) IP multicast.
-     *
-     * @param      multicast  Internet group address to be used.
-     * @exception  SecurityException  if a security error has occurred.
-     * @since      JDK1.1
-     */
-    public void checkMulticast(InetAddress maddr) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Tests to see if current execution context is allowed to use
-     * (join/leave/send/receive) IP multicast.
-     *
-     * @param      multicast  Internet group address to be used.
-     * @param      ttl        value in use, if it is multicast send.
-     * @exception  SecurityException  if a security error has occurred.
-     * @since      JDK1.1
-     */
-    public void checkMulticast(InetAddress maddr, byte ttl) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to access or modify the system 
-     * properties. 
-     * <p>
-     * This method is used by the <code>getProperties</code> and 
-     * <code>setProperties</code> methods of class <code>System</code>. 
-     * <p>
-     * The <code>checkPropertiesAccess</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @exception  SecurityException  if the caller does not have permission
-     *               to access or modify the system properties.
-     * @see        java.lang.System#getProperties()
-     * @see        java.lang.System#setProperties(java.util.Properties)
-     * @since      JDK1.0
-     */
-    public void checkPropertiesAccess() {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to access the system property with 
-     * the specified <code>key</code> name. 
-     * <p>
-     * This method is used by the <code>getProperty</code> method of 
-     * class <code>System</code>. 
-     * <p>
-     * The <code>checkPropertiesAccess</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      key   a system property key.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to access the specified system property.
-     * @see        java.lang.System#getProperty(java.lang.String)
-     * @since      JDK1.0
-     */
-    public void checkPropertyAccess(String key) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Returns <code>false</code> if the calling 
-     * thread is not trusted to bring up the top-level window indicated 
-     * by the <code>window</code> argument. In this case, the caller can 
-     * still decide to show the window, but the window should include 
-     * some sort of visual warning. If the method returns 
-     * <code>true</code>, then the window can be shown without any 
-     * special restrictions. 
-     * <p>
-     * See class <code>Window</code> for more information on trusted and 
-     * untrusted windows. 
-     * <p>
-     * The <code>checkSetFactory</code> method for class 
-     * <code>SecurityManager</code> always returns <code>false</code>. 
-     *
-     * @param      window   the new window that is being created.
-     * @return     <code>true</code> if the caller is trusted to put up
-     *             top-level windows; <code>false</code> otherwise.
-     * @exception  SecurityException  if creation is disallowed entirely.
-     * @see        java.awt.Window
-     * @since      JDK1.0
-     */
-    public boolean checkTopLevelWindow(Object window) {
-       return false;
-    }
-
-    /**
-     * Tests if a client can initiate a print job request.
-     *
-     * @since   JDK1.1
-     */
-    public void checkPrintJobAccess() {
-      throw new SecurityException();
-    }
-
-    /**
-     * Tests if a client can get access to the system clipboard.
-     *
-     * @since   JDK1.1
-     */
-    public void checkSystemClipboardAccess() {
-      throw new SecurityException();
-    }
-
-    /**
-     * Tests if a client can get access to the AWT event queue.
-     *
-     * @since   JDK1.1
-     */
-    public void checkAwtEventQueueAccess() {
-      throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to access the package specified by 
-     * the argument. 
-     * <p>
-     * This method is used by the <code>loadClass</code> method of class 
-     * loaders. 
-     * <p>
-     * The <code>checkPackageAccess</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      pkg   the package name.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to access the specified package.
-     * @see        java.lang.ClassLoader#loadClass(java.lang.String, boolean)
-     * @since      JDK1.0
-     */
-    public void checkPackageAccess(String pkg) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to define classes in the package 
-     * specified by the argument. 
-     * <p>
-     * This method is used by the <code>loadClass</code> method of some 
-     * class loaders. 
-     * <p>
-     * The <code>checkPackageDefinition</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @param      pkg   the package name.
-     * @exception  SecurityException  if the caller does not have permission
-     *               to define classes in the specified package.
-     * @see        java.lang.ClassLoader#loadClass(java.lang.String, boolean)
-     * @since      JDK1.0
-     */
-    public void checkPackageDefinition(String pkg) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Throws a <code>SecurityException</code> if the 
-     * calling thread is not allowed to set the socket factory used by 
-     * <code>ServerSocket</code> or <code>Socket</code>, or the stream 
-     * handler factory used by <code>URL</code>. 
-     * <p>
-     * The <code>checkSetFactory</code> method for class 
-     * <code>SecurityManager</code> always throws a 
-     * <code>SecurityException</code>. 
-     *
-     * @exception  SecurityException  if the caller does not have permission
-     *               to specify a socket factory or a stream handler factory.
-     * @see        java.net.ServerSocket#setSocketFactory(
-     *                                               
java.net.SocketImplFactory)
-     * @see        java.net.Socket#setSocketImplFactory(
-     *                                               
java.net.SocketImplFactory)
-     * @see        java.net.URL#setURLStreamHandlerFactory(
-     *                                         
java.net.URLStreamHandlerFactory)
-     * @since      JDK1.0
-     */
-    public void checkSetFactory() {
-       throw new SecurityException();
-    }
-
-    /**
-     * Tests if a client is allowed to access members. If access is
-     * denied, throw a SecurityException.
-     * The default policy is to deny all accesses.
-     *
-     * @since JDK1.1
-     */
-    public void checkMemberAccess(Class clazz, int which) {
-       throw new SecurityException();
-    }
-
-    /**
-     * Tests access to certain operations for a security API
-     * action.
-     *
-     * @since   JDK1.1
-     */
-    public void checkSecurityAccess(String action) {
-       throw new SecurityException();
-    }
-
-    private native Class currentLoadedClass0();
-
-    /**
-     * Returns the thread group into which to instantiate any new
-     * thread being created at the time this is being called.
-     * By default, it returns the thread group of the current
-     * thread. This should be overriden by specific security
-     * manager to return the appropriate thread group.
-     *
-     * @since   JDK1.1
-     */
-    public ThreadGroup getThreadGroup() {
-       return Thread.currentThread().getThreadGroup();
-    }
-
-}      
-
-class NullSecurityManager extends SecurityManager {
-    public void checkCreateClassLoader() { } 
-    public void checkAccess(Thread g) { }
-    public void checkAccess(ThreadGroup g) { }
-    public void checkExit(int status) { }
-    public void checkExec(String cmd) { }
-    public void checkLink(String lib) { }
-    public void checkRead(FileDescriptor fd) { }
-    public void checkRead(String file) { }
-    public void checkRead(String file, Object context) { }
-    public void checkWrite(FileDescriptor fd) { }
-    public void checkWrite(String file) { }
-    public void checkDelete(String file) { }
-    public void checkConnect(String host, int port) { }
-    public void checkConnect(String host, int port, Object context) { }
-    public void checkListen(int port) { }
-    public void checkAccept(String host, int port) { }
-    public void checkMulticast(InetAddress maddr) { }
-    public void checkMulticast(InetAddress maddr, byte ttl) { }
-    public void checkPropertiesAccess() { }
-    public void checkPropertyAccess(String key) { }
-    public void checkPropertyAccess(String key, String def) { }
-    public boolean checkTopLevelWindow(Object window) { return true; }
-    public void checkPrintJobAccess() { }
-    public void checkSystemClipboardAccess() { }
-    public void checkAwtEventQueueAccess() { }
-    public void checkPackageAccess(String pkg) { }
-    public void checkPackageDefinition(String pkg) { }
-    public void checkSetFactory() { }
-    public void checkMemberAccess(Class clazz, int which) { }
-    public void checkSecurityAccess(String provider) { }
-}      
diff --git a/test/etags/java-src/SysCol.java b/test/etags/java-src/SysCol.java
deleted file mode 100644
index 5356442..0000000
--- a/test/etags/java-src/SysCol.java
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- * @(#)SystemColor.java        1.5 97/01/27
- * 
- * Copyright (c) 1995, 1996 Sun Microsystems, Inc. All Rights Reserved.
- * 
- * This software is the confidential and proprietary information of Sun
- * Microsystems, Inc. ("Confidential Information").  You shall not
- * disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into
- * with Sun.
- * 
- * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
- * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
- * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
- * THIS SOFTWARE OR ITS DERIVATIVES.
- * 
- * CopyrightVersion 1.1_beta
- * 
- */
-package java.awt;
-
-/**
- * A class to encapsulate symbolic colors representing the color
- * of GUI objects on a system.  For systems which support the dynamic
- * update of the system colors (when the user changes the colors)
- * the actual RGB values of these symbolic colors will also change
- * dynamically.  In order to compare the "current" RGB value of a SystemColor
- * object with a non-symbolic Color object, getRGB() should be used
- * rather than equals(). 
- *
- * @version    1.5, 27 Jan 1997
- * @author     Carl Quinn
- * @author      Amy Fowler
- */
-public final class SystemColor extends Color implements java.io.Serializable {
-
-    /**
-     * The array index for the desktop background color.
-     */
-    public final static int DESKTOP = 0;
-
-    /**
-     * The array index for the active caption background color.
-     */
-    public final static int ACTIVE_CAPTION = 1;
-
-    /**
-     * The array index for the action caption text color.
-     */
-    public final static int ACTIVE_CAPTION_TEXT = 2;
-
-    /**
-     * The array index for the active caption border color.
-     */
-    public final static int ACTIVE_CAPTION_BORDER = 3;
-
-    /**
-     * The array index for the inactive caption background color.
-     */
-    public final static int INACTIVE_CAPTION = 4;
-
-    /**
-     * The array index for the inactive caption text color.
-     */
-    public final static int INACTIVE_CAPTION_TEXT = 5;
-
-    /**
-     * The array index for the inactive caption border color.
-     */
-    public final static int INACTIVE_CAPTION_BORDER = 6;
-
-    /**
-     * The array index for the window background color.
-     */
-    public final static int WINDOW = 7;
-
-    /**
-     * The array index for the window border color.
-     */
-    public final static int WINDOW_BORDER = 8;
-
-    /**
-     * The array index for the window text color.
-     */
-    public final static int WINDOW_TEXT = 9;
-
-    /**
-     * The array index for the menu background color.
-     */
-    public final static int MENU = 10;
-
-    /**
-     * The array index for the menu text color.
-     */
-    public final static int MENU_TEXT = 11;
-
-    /**
-     * The array index for the text background color.
-     */
-    public final static int TEXT = 12;
-
-    /**
-     * The array index for the text text color.
-     */
-    public final static int TEXT_TEXT = 13;
-
-    /**
-     * The array index for the text highlight color.
-     */
-    public final static int TEXT_HIGHLIGHT = 14;
-
-    /**
-     * The array index for the text highlight text color.
-     */
-    public final static int TEXT_HIGHLIGHT_TEXT = 15;
-
-    /**
-     * The array index for the text inactive text color.
-     */
-    public final static int TEXT_INACTIVE_TEXT = 16;
-
-    /**
-     * The array index for the control background color.
-     */
-    public final static int CONTROL = 17;
-
-    /**
-     * The array index for the control text color.
-     */
-    public final static int CONTROL_TEXT = 18;
-
-    /**
-     * The array index for the control highlight color.
-     */
-    public final static int CONTROL_HIGHLIGHT = 19;
-
-    /**
-     * The array index for the control light highlight color.
-     */
-    public final static int CONTROL_LT_HIGHLIGHT = 20;
-
-    /**
-     * The array index for the control shadow color.
-     */
-    public final static int CONTROL_SHADOW = 21;
-
-    /**
-     * The array index for the control dark shadow color.
-     */
-    public final static int CONTROL_DK_SHADOW = 22;
-
-    /**
-     * The array index for the scrollbar background color.
-     */
-    public final static int SCROLLBAR = 23;
-
-    /**
-     * The array index for the info background color.
-     */
-    public final static int INFO = 24;
-
-    /**
-     * The array index for the info text color.
-     */
-    public final static int INFO_TEXT = 25;
-
-    /**
-     * The number of system colors in the array.
-     */
-    public final static int NUM_COLORS = 26;
-    
-   /**
-     * The color of the desktop background.
-     */
-    public final static SystemColor desktop = new SystemColor((byte)DESKTOP);
-
-    /**
-     * The background color for captions in window borders.
-     */
-    public final static SystemColor activeCaption = new 
SystemColor((byte)ACTIVE_CAPTION);
-
-    /**
-     * The text color for captions in window borders.
-     */
-    public final static SystemColor activeCaptionText = new 
SystemColor((byte)ACTIVE_CAPTION_TEXT);
-
-    /**
-     * The border color for captions in window borders.
-     */
-    public final static SystemColor activeCaptionBorder = new 
SystemColor((byte)ACTIVE_CAPTION_BORDER);
-
-    /**
-     * The background color for inactive captions in window borders.
-     */
-    public final static SystemColor inactiveCaption = new 
SystemColor((byte)INACTIVE_CAPTION);
-
-    /**
-     * The text color for inactive captions in window borders.
-     */
-    public final static SystemColor inactiveCaptionText = new 
SystemColor((byte)INACTIVE_CAPTION_TEXT);
-
-    /**
-     * The border color for inactive captios in window borders.
-     */
-    public final static SystemColor inactiveCaptionBorder = new 
SystemColor((byte)INACTIVE_CAPTION_BORDER);
-
-    /**
-     * The background color for windows.
-     */
-    public final static SystemColor window = new SystemColor((byte)WINDOW);
-
-    /**
-     * The border color for windows.
-     */
-    public final static SystemColor windowBorder = new 
SystemColor((byte)WINDOW_BORDER);
-
-    /**
-     * The text color for windows.
-     */
-    public final static SystemColor windowText = new 
SystemColor((byte)WINDOW_TEXT);
-
-    /**
-     * The background color for menus.
-     */
-    public final static SystemColor menu = new SystemColor((byte)MENU);
-
-    /**
-     * The text color for menus.
-     */
-    public final static SystemColor menuText = new 
SystemColor((byte)MENU_TEXT);
-
-    /**
-     * The background color for text components.
-     */
-    public final static SystemColor text = new SystemColor((byte)TEXT);
-
-    /**
-     * The text color for text components.
-     */
-    public final static SystemColor textText = new 
SystemColor((byte)TEXT_TEXT);
-
-    /**
-     * The background color for highlighted text.
-     */
-    public final static SystemColor textHighlight = new 
SystemColor((byte)TEXT_HIGHLIGHT);
-
-    /**
-     * The text color for highlighted text.
-     */
-    public final static SystemColor textHighlightText = new 
SystemColor((byte)TEXT_HIGHLIGHT_TEXT);
-
-    /**
-     * The text color for inactive text.
-     */
-    public final static SystemColor textInactiveText = new 
SystemColor((byte)TEXT_INACTIVE_TEXT);
-
-    /**
-     * The background color for control objects.
-     */
-    public final static SystemColor control = new SystemColor((byte)CONTROL);
-
-    /**
-     * The text color for control objects.
-     */
-    public final static SystemColor controlText = new 
SystemColor((byte)CONTROL_TEXT);
-
-    /**
-     * The light highlight color for control objects.
-     */
-    public final static SystemColor controlHighlight = new 
SystemColor((byte)CONTROL_HIGHLIGHT);
-
-    /**
-     * The regular highlight color for control objects.
-     */
-    public final static SystemColor controlLtHighlight = new 
SystemColor((byte)CONTROL_LT_HIGHLIGHT);
-
-    /**
-     * The regular shadow color for control objects.
-     */
-    public final static SystemColor controlShadow = new 
SystemColor((byte)CONTROL_SHADOW);
-
-    /**
-     * The dark shadow color for control objects.
-     */
-    public final static SystemColor controlDkShadow = new 
SystemColor((byte)CONTROL_DK_SHADOW);
-
-    /**
-     * The background color for scrollbars.
-     */
-    public final static SystemColor scrollbar = new 
SystemColor((byte)SCROLLBAR);
-
-    /**
-     * The background color for info(help) text.
-     */
-    public final static SystemColor info = new SystemColor((byte)INFO);
-
-    /**
-     * The text color for info(help) text.
-     */
-    public final static SystemColor infoText = new 
SystemColor((byte)INFO_TEXT);
-
-    /*
-     * System colors with default initial values, overwritten by toolkit if 
-     * system values differ and are available.
-     */
-    private static int[] systemColors = {
-        0xFF005C5C,  // desktop = new Color(0,92,92);
-        0xFF000080,  // activeCaption = new Color(0,0,128);
-        0xFFFFFFFF,  // activeCaptionText = Color.white;
-        0xFFC0C0C0,  // activeCaptionBorder = Color.lightGray;
-        0xFF808080,  // inactiveCaption = Color.gray;
-        0xFFC0C0C0,  // inactiveCaptionText = Color.lightGray;
-        0xFFC0C0C0,  // inactiveCaptionBorder = Color.lightGray;
-        0xFFFFFFFF,  // window = Color.white;
-        0xFF000000,  // windowBorder = Color.black;
-        0xFF000000,  // windowText = Color.black;
-        0xFFC0C0C0,  // menu = Color.lightGray;
-        0xFF000000,  // menuText = Color.black;
-        0xFFC0C0C0,  // text = Color.lightGray;
-        0xFF000000,  // textText = Color.black;
-        0xFF000080,  // textHighlight = new Color(0,0,128);
-        0xFFFFFFFF,  // textHighlightText = Color.white;
-        0xFF808080,  // textInactiveText = Color.gray;
-        0xFFC0C0C0,  // control = Color.lightGray;
-        0xFF000000,  // controlText = Color.black;
-        0xFFFFFFFF,  // controlHighlight = Color.white;
-        0xFFE0E0E0,  // controlLtHighlight = new Color(224,224,224);
-        0xFF808080,  // controlShadow = Color.gray;
-        0xFF000000,  // controlDkShadow = Color.black;
-        0xFFE0E0E0,  // scrollbar = new Color(224,224,224);
-        0xFFE0E000,  // info = new Color(224,224,0);
-        0xFF000000,  // infoText = Color.black;
-    };
-
-    /*
-     * JDK 1.1 serialVersionUID 
-     */
-    private static final long serialVersionUID = 4503142729533789064L;
-
-    static {
-      updateSystemColors();
-    }
-
-    /**
-     * called from <init> & toolkit to update the above systemColors cache
-     */
-    private static void updateSystemColors() {
-      Toolkit.getDefaultToolkit().loadSystemColors(systemColors);
-    }
-
-    /**
-     * Create a symbolic color that represents an indexed entry into system
-     * color cache. Used by above static system colors.
-     */
-    private SystemColor(byte index) {
-        super(0, 0, 0);
-       value = index;
-    }
-
-    /**
-     * Gets the "current" RGB value representing the symbolic color.
-     * (Bits 24-31 are 0xff, 16-23 are red, 8-15 are green, 0-7 are blue).
-     * @see java.awt.image.ColorModel#getRGBdefault
-     * @see #getRed
-     * @see #getGreen
-     * @see #getBlue
-     */
-    public int getRGB() {
-       return systemColors[value];
-    }
-
-    /**
-     * Returns the String representation of this Color's values.
-     */
-    public String toString() {
-        return getClass().getName() + "[i=" + (value) + "]";
-    }
-
-}
diff --git a/test/etags/java-src/TG.java b/test/etags/java-src/TG.java
deleted file mode 100644
index 707c2fc..0000000
--- a/test/etags/java-src/TG.java
+++ /dev/null
@@ -1,840 +0,0 @@
-/*
- * @(#)ThreadGroup.java        1.31 97/01/20
- * 
- * Copyright (c) 1995, 1996 Sun Microsystems, Inc. All Rights Reserved.
- * 
- * This software is the confidential and proprietary information of Sun
- * Microsystems, Inc. ("Confidential Information").  You shall not
- * disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into
- * with Sun.
- * 
- * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
- * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
- * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
- * THIS SOFTWARE OR ITS DERIVATIVES.
- * 
- * CopyrightVersion 1.1_beta
- * 
- */
-
-package java.lang;
-
-import java.io.PrintStream;
-import sun.misc.VM;
-
-/**
- * A thread group represents a set of threads. In addition, a thread 
- * group can also include other thread groups. The thread groups form 
- * a tree in which every thread group except the initial thread group 
- * has a parent. 
- * <p>
- * A thread is allowed to access information about its own thread 
- * group, but not to access information about its thread group's 
- * parent thread group or any other thread groups. 
- *
- * @author  unascribed
- * @version 1.31, 20 Jan 1997
- * @since   JDK1.0
- */
-/* The locking strategy for this code is to try to lock only one level of the
- * tree wherever possible, but otherwise to lock from the bottom up.
- * That is, from child thread groups to parents.
- * This has the advantage of limiting the number of locks that need to be held
- * and in particular avoids having to grab the lock for the root thread group,
- * (or a global lock) which would be a source of contention on a 
- * multi-processor system with many thread groups.
- * This policy often leads to taking a snapshot of the state of a thread group
- * and working off of that snapshot, rather than holding the thread group 
locked
- * while we work on the children.
- */
-public
-class ThreadGroup {
-    ThreadGroup parent;
-    String name;
-    int maxPriority;
-    boolean destroyed;
-    boolean daemon;
-    boolean vmAllowSuspension;
-
-    int nthreads;
-    Thread threads[];
-
-    int ngroups;
-    ThreadGroup groups[];
-
-    /**
-     * Creates an empty Thread group that is not in any Thread group. 
-     * This method is used to create the system Thread group.
-     */
-    private ThreadGroup() {    // called from C code
-       this.name = "system";
-       this.maxPriority = Thread.MAX_PRIORITY;
-    }
-
-    /**
-     * Constructs a new thread group. The parent of this new group is 
-     * the thread group of the currently running thread. 
-     *
-     * @param   name   the name of the new thread group.
-     * @since   JDK1.0
-     */
-    public ThreadGroup(String name) {
-       this(Thread.currentThread().getThreadGroup(), name);
-    }
-
-    /**
-     * Creates a new thread group. The parent of this new group is the 
-     * specified thread group. 
-     * <p>
-     * The <code>checkAccess</code> method of the parent thread group is 
-     * called with no arguments; this may result in a security exception. 
-     *
-     * @param     parent   the parent thread group.
-     * @param     name     the name of the new thread group.
-     * @exception  NullPointerException  if the thread group argument is
-     *               <code>null</code>.
-     * @exception  SecurityException  if the current thread cannot create a
-     *               thread in the specified thread group.
-     * @see     java.lang.SecurityException
-     * @see     java.lang.ThreadGroup#checkAccess()
-     * @since   JDK1.0
-     */
-    public ThreadGroup(ThreadGroup parent, String name) {
-       if (parent == null) {
-           throw new NullPointerException();
-       }
-       parent.checkAccess();
-       this.name = name;
-       this.maxPriority = parent.maxPriority;
-       this.daemon = parent.daemon;
-       this.vmAllowSuspension = parent.vmAllowSuspension;
-       this.parent = parent;
-       parent.add(this);
-    }
-
-    /**
-     * Returns the name of this thread group.
-     *
-     * @return  the name of this thread group.
-     * @since   JDK1.0
-     */
-    public final String getName() {
-       return name;
-    }
-
-    /**
-     * Returns the parent of this thread group.
-     *
-     * @return  the parent of this thread group. The top-level thread group
-     *          is the only thread group whose parent is <code>null</code>.
-     * @since   JDK1.0
-     */
-    public final ThreadGroup getParent() {
-       return parent;
-    }
-
-    /**
-     * Returns the maximum priority of this thread group. Threads that are
-     * part of this group cannot have a higher priority than the maximum
-     * priority.
-     *
-     * @return  the maximum priority that a thread in this thread group
-     *          can have.
-     * @since   JDK1.0
-     */
-    public final int getMaxPriority() {
-       return maxPriority;
-    }
-
-    /**
-     * Tests if this thread group is a daemon thread group. A 
-     * daemon thread group is automatically destroyed when its last 
-     * thread is stopped or its last thread group is destroyed. 
-     *
-     * @return  <code>true</code> if this thread group is a daemon thread 
group;
-     *          <code>false</code> otherwise.
-     * @since   JDK1.0
-     */
-    public final boolean isDaemon() {
-       return daemon;
-    }
-
-    /**
-     * Tests if this thread group has not been destroyed.
-     *
-     * @since   JDK1.1
-     */
-    public synchronized boolean isDestroyed() {
-       return destroyed;
-    }
-
-    /**
-     * Changes the daemon status of this thread group.
-     * <p>
-     * First, the <code>checkAccess</code> method of this thread group is 
-     * called with no arguments; this may result in a security exception. 
-     * <p>
-     * A daemon thread group is automatically destroyed when its last 
-     * thread is stopped or its last thread group is destroyed. 
-     *
-     * @param      daemon   if <code>true</code>, marks this thread group as
-     *                      a daemon thread group; otherwise, marks this
-     *                      thread group as normal.
-     * @exception  SecurityException  if the current thread cannot modify
-     *               this thread.
-     * @see        java.lang.SecurityException
-     * @see        java.lang.ThreadGroup#checkAccess()
-     * @since      JDK1.0
-     */
-    public final void setDaemon(boolean daemon) {
-       checkAccess();
-       this.daemon = daemon;
-    }
-
-    /**
-     * Sets the maximum priority of the group. 
-     * <p>
-     * First, the <code>checkAccess</code> method of this thread group is 
-     * called with no arguments; this may result in a security exception. 
-     * <p>
-     * Threads in the thread group that already have a higher priority 
-     * are not affected. 
-     *
-     * @param      pri   the new priority of the thread group.
-     * @exception  SecurityException  if the current thread cannot modify
-     *               this thread group.
-     * @see        java.lang.SecurityException
-     * @see        java.lang.ThreadGroup#checkAccess()
-     * @since      JDK1.0
-     */
-    public final void setMaxPriority(int pri) {
-       int ngroupsSnapshot;
-       ThreadGroup[] groupsSnapshot;
-       synchronized (this) {
-           checkAccess();
-           if (pri < Thread.MIN_PRIORITY) {
-               maxPriority = Thread.MIN_PRIORITY;
-           } else if (pri < maxPriority) {
-               maxPriority = pri;
-           }
-           ngroupsSnapshot = ngroups;
-           if (groups != null) {
-               groupsSnapshot = new ThreadGroup[ngroupsSnapshot];
-               System.arraycopy(groups, 0, groupsSnapshot, 0, ngroupsSnapshot);
-           } else {
-               groupsSnapshot = null;
-           }
-       }
-       for (int i = 0 ; i < ngroupsSnapshot ; i++) {
-           groupsSnapshot[i].setMaxPriority(pri);
-       }
-    }
-
-    /**
-     * Tests if this thread group is either the thread group 
-     * argument or one of its ancestor thread groups. 
-     *
-     * @param   g   a thread group.
-     * @return  <code>true</code> if this thread group is the thread group
-     *          argument or one of its ancestor thread groups;
-     *          <code>false</code> otherwise.
-     * @since   JDK1.0
-     */
-    public final boolean parentOf(ThreadGroup g) {
-       for (; g != null ; g = g.parent) {
-           if (g == this) {
-               return true;
-           }
-       }
-       return false;
-    }
-
-    /**
-     * Determines if the currently running thread has permission to 
-     * modify this thread group. 
-     * <p>
-     * If there is a security manager, its <code>checkAccess</code> method 
-     * is called with this thread group as its argument. This may result 
-     * in throwing a <code>SecurityException</code>. 
-     *
-     * @exception  SecurityException  if the current thread is not allowed to
-     *               access this thread group.
-     * @see        java.lang.SecurityManager#checkAccess(java.lang.ThreadGroup)
-     * @since      JDK1.0
-     */
-    public final void checkAccess() {
-       SecurityManager security = System.getSecurityManager();
-       if (security != null) {
-           security.checkAccess(this);
-       }
-    }
-
-    /**
-     * Returns an estimate of the number of active threads in this
-     * thread group.
-     *
-     * @return  the number of active threads in this thread group and in any
-     *          other thread group that has this thread group as an ancestor.
-     * @since   JDK1.0
-     */
-    public int activeCount() {
-       int result;
-       // Snapshot sub-group data so we don't hold this lock
-       // while our children are computing.
-       int ngroupsSnapshot;
-       ThreadGroup[] groupsSnapshot;
-       synchronized (this) {
-           if (destroyed) {
-               return 0;
-           }
-           result = nthreads;
-           ngroupsSnapshot = ngroups;
-           if (groups != null) {
-               groupsSnapshot = new ThreadGroup[ngroupsSnapshot];
-               System.arraycopy(groups, 0, groupsSnapshot, 0, ngroupsSnapshot);
-           } else {
-               groupsSnapshot = null;
-           }
-       }
-       for (int i = 0 ; i < ngroupsSnapshot ; i++) {
-           result += groupsSnapshot[i].activeCount();
-       }
-       return result;
-    }
-
-    /**
-     * Copies into the specified array every active thread in this 
-     * thread group and its subgroups. 
-     * <p>
-     * An application should use the <code>activeCount</code> method to 
-     * get an estimate of how big the array should be. If the array is 
-     * too short to hold all the threads, the extra threads are silently 
-     * ignored. 
-     *
-     * @param   list   an array into which to place the list of threads.
-     * @return  the number of threads put into the array.
-     * @see     java.lang.ThreadGroup#activeCount()
-     * @since   JDK1.0
-     */
-    public int enumerate(Thread list[]) {
-       return enumerate(list, 0, true);
-    }
-
-    /**
-     * Copies into the specified array every active thread in this 
-     * thread group. If the <code>recurse</code> flag is 
-     * <code>true</code>, references to every active thread in this 
-     * thread's subgroups are also included. If the array is too short to 
-     * hold all the threads, the extra threads are silently ignored. 
-     * <p>
-     * An application should use the <code>activeCount</code> method to 
-     * get an estimate of how big the array should be. 
-     *
-     * @param   list      an array into which to place the list of threads.
-     * @param   recurse   a flag indicating whether also to include threads
-     *                    in thread groups that are subgroups of this
-     *                    thread group.
-     * @return  the number of threads placed into the array.
-     * @see     java.lang.ThreadGroup#activeCount()
-     * @since   JDK1.0
-     */
-    public int enumerate(Thread list[], boolean recurse) {
-       return enumerate(list, 0, recurse);
-    }
-
-    private int enumerate(Thread list[], int n, boolean recurse) {
-       int ngroupsSnapshot = 0;
-       ThreadGroup[] groupsSnapshot = null;
-       synchronized (this) {
-           if (destroyed) {
-               return 0;
-           }
-           int nt = nthreads;
-           if (nt > list.length - n) {
-               nt = list.length - n;
-           }
-           if (nt > 0) {
-               System.arraycopy(threads, 0, list, n, nt);
-               n += nt;
-           }
-           if (recurse) {
-               ngroupsSnapshot = ngroups;
-               if (groups != null) {
-                   groupsSnapshot = new ThreadGroup[ngroupsSnapshot];
-                   System.arraycopy(groups, 0, groupsSnapshot, 0, 
ngroupsSnapshot);
-               } else {
-                   groupsSnapshot = null;
-               }
-           }
-       }
-       if (recurse) {
-           for (int i = 0 ; i < ngroupsSnapshot ; i++) {
-               n = groupsSnapshot[i].enumerate(list, n, true);
-           }
-       }
-       return n;
-    }
-
-    /**
-     * Returns an estimate of the number of active groups in this
-     * thread group.
-     *
-     * @return  the number of active thread groups with this thread group as
-     *          an ancestor.
-     * @since   JDK1.0
-     */
-    public int activeGroupCount() {
-       int ngroupsSnapshot;
-       ThreadGroup[] groupsSnapshot;
-       synchronized (this) {
-           if (destroyed) {
-               return 0;
-           }
-           ngroupsSnapshot = ngroups;
-           if (groups != null) {
-               groupsSnapshot = new ThreadGroup[ngroupsSnapshot];
-               System.arraycopy(groups, 0, groupsSnapshot, 0, ngroupsSnapshot);
-           } else {
-               groupsSnapshot = null;
-           }
-       }
-       int n = ngroupsSnapshot;
-       for (int i = 0 ; i < ngroupsSnapshot ; i++) {
-           n += groupsSnapshot[i].activeGroupCount();
-       }
-       return n;
-    }
-
-    /**
-     * Copies into the specified array references to every active 
-     * subgroup in this thread group. 
-     * <p>
-     * An application should use the <code>activeGroupCount</code> 
-     * method to get an estimate of how big the array should be. If the 
-     * array is too short to hold all the thread groups, the extra thread 
-     * groups are silently ignored. 
-     *
-     * @param   list   an array into which to place the list of thread groups.
-     * @return  the number of thread groups put into the array.
-     * @see     java.lang.ThreadGroup#activeGroupCount()
-     * @since   JDK1.0
-     */
-    public int enumerate(ThreadGroup list[]) {
-       return enumerate(list, 0, true);
-    }
-
-    /**
-     * Copies into the specified array references to every active 
-     * subgroup in this thread group. If the <code>recurse</code> flag is 
-     * <code>true</code>, references to all active subgroups of the 
-     * subgroups and so forth are also included. 
-     * <p>
-     * An application should use the <code>activeGroupCount</code> 
-     * method to get an estimate of how big the array should be. 
-     *
-     * @param   list      an array into which to place the list of threads.
-     * @param   recurse   a flag indicating whether to recursively enumerate
-     *                    all included thread groups.
-     * @return  the number of thread groups put into the array.
-     * @see     java.lang.ThreadGroup#activeGroupCount()
-     * @since   JDK1.0
-     */
-    public int enumerate(ThreadGroup list[], boolean recurse) {
-       return enumerate(list, 0, recurse);
-    }
-
-    private int enumerate(ThreadGroup list[], int n, boolean recurse) {
-       int ngroupsSnapshot = 0;
-       ThreadGroup[] groupsSnapshot = null;
-       synchronized (this) {
-           if (destroyed) {
-               return 0;
-           }
-           int ng = ngroups;
-           if (ng > list.length - n) {
-               ng = list.length - n;
-           }
-           if (ng > 0) {
-               System.arraycopy(groups, 0, list, n, ng);
-               n += ng;
-           }
-           if (recurse) {
-               ngroupsSnapshot = ngroups;
-               if (groups != null) {
-                   groupsSnapshot = new ThreadGroup[ngroupsSnapshot];
-                   System.arraycopy(groups, 0, groupsSnapshot, 0, 
ngroupsSnapshot);
-               } else {
-                   groupsSnapshot = null;
-               }
-           }
-       }
-       if (recurse) {
-           for (int i = 0 ; i < ngroupsSnapshot ; i++) {
-               n = groupsSnapshot[i].enumerate(list, n, true);
-           }
-       }
-       return n;
-    }
-
-    /**
-     * Stops all processes in this thread group. 
-     * <p>
-     * First, the <code>checkAccess</code> method of this thread group is 
-     * called with no arguments; this may result in a security exception. 
-     * <p>
-     * This method then calls the <code>stop</code> method on all the 
-     * threads in this thread group and in all of its subgroups. 
-     *
-     * @exception  SecurityException  if the current thread is not allowed
-     *               to access this thread group or any of the threads in
-     *               the thread group.
-     * @see        java.lang.SecurityException
-     * @see        java.lang.Thread#stop()
-     * @see        java.lang.ThreadGroup#checkAccess()
-     * @since      JDK1.0
-     */
-    public final void stop() {
-       int ngroupsSnapshot;
-       ThreadGroup[] groupsSnapshot;
-       synchronized (this) {
-           checkAccess();
-           for (int i = 0 ; i < nthreads ; i++) {
-               threads[i].stop();
-           }
-           ngroupsSnapshot = ngroups;
-           if (groups != null) {
-               groupsSnapshot = new ThreadGroup[ngroupsSnapshot];
-               System.arraycopy(groups, 0, groupsSnapshot, 0, ngroupsSnapshot);
-           } else {
-               groupsSnapshot = null;
-           }
-       }
-       for (int i = 0 ; i < ngroupsSnapshot ; i++) {
-           groupsSnapshot[i].stop();
-       }
-    }
-
-    /**
-     * Suspends all processes in this thread group. 
-     * <p>
-     * First, the <code>checkAccess</code> method of this thread group is 
-     * called with no arguments; this may result in a security exception. 
-     * <p>
-     * This method then calls the <code>suspend</code> method on all the 
-     * threads in this thread group and in all of its subgroups. 
-     *
-     * @exception  SecurityException  if the current thread is not allowed
-     *               to access this thread group or any of the threads in
-     *               the thread group.
-     * @see        java.lang.SecurityException
-     * @see        java.lang.Thread#suspend()
-     * @see        java.lang.ThreadGroup#checkAccess()
-     * @since      JDK1.0
-     */
-    public final void suspend() {
-       int ngroupsSnapshot;
-       ThreadGroup[] groupsSnapshot;
-       synchronized (this) {
-           checkAccess();
-           for (int i = 0 ; i < nthreads ; i++) {
-               threads[i].suspend();
-           }
-           ngroupsSnapshot = ngroups;
-           if (groups != null) {
-               groupsSnapshot = new ThreadGroup[ngroupsSnapshot];
-               System.arraycopy(groups, 0, groupsSnapshot, 0, ngroupsSnapshot);
-           } else {
-               groupsSnapshot = null;
-           }
-       }
-       for (int i = 0 ; i < ngroupsSnapshot ; i++) {
-           groupsSnapshot[i].suspend();
-       }
-    }
-
-    /**
-     * Resumes all processes in this thread group. 
-     * <p>
-     * First, the <code>checkAccess</code> method of this thread group is 
-     * called with no arguments; this may result in a security exception. 
-     * <p>
-     * This method then calls the <code>resume</code> method on all the 
-     * threads in this thread group and in all of its sub groups. 
-     *
-     * @exception  SecurityException  if the current thread is not allowed to
-     *               access this thread group or any of the threads in the
-     *               thread group.
-     * @see        java.lang.SecurityException
-     * @see        java.lang.Thread#resume()
-     * @see        java.lang.ThreadGroup#checkAccess()
-     * @since      JDK1.0
-     */
-    public final void resume() {
-       int ngroupsSnapshot;
-       ThreadGroup[] groupsSnapshot;
-       synchronized (this) {
-           checkAccess();
-           for (int i = 0 ; i < nthreads ; i++) {
-               threads[i].resume();
-           }
-           ngroupsSnapshot = ngroups;
-           if (groups != null) {
-               groupsSnapshot = new ThreadGroup[ngroupsSnapshot];
-               System.arraycopy(groups, 0, groupsSnapshot, 0, ngroupsSnapshot);
-           } else {
-               groupsSnapshot = null;
-           }
-       }
-       for (int i = 0 ; i < ngroupsSnapshot ; i++) {
-           groupsSnapshot[i].resume();
-       }
-    }
-
-    /**
-     * Destroys this thread group and all of its subgroups. This thread 
-     * group must be empty, indicating that all threads that had been in 
-     * this thread group have since stopped. 
-     *
-     * @exception  IllegalThreadStateException  if the thread group is not
-     *               empty or if the thread group has already been destroyed.
-     * @exception  SecurityException  if the current thread cannot modify this
-     *               thread group.
-     * @since      JDK1.0
-     */
-    public final void destroy() {
-       int ngroupsSnapshot;
-       ThreadGroup[] groupsSnapshot;
-       synchronized (this) {
-           checkAccess();
-           if (destroyed || (nthreads > 0)) {
-               throw new IllegalThreadStateException();
-           }
-           ngroupsSnapshot = ngroups;
-           if (groups != null) {
-               groupsSnapshot = new ThreadGroup[ngroupsSnapshot];
-               System.arraycopy(groups, 0, groupsSnapshot, 0, ngroupsSnapshot);
-           } else {
-               groupsSnapshot = null;
-           }
-           if (parent != null) {
-               destroyed = true;
-               ngroups = 0;
-               groups = null;
-               nthreads = 0;
-               threads = null;
-           }
-       }
-       for (int i = 0 ; i < ngroupsSnapshot ; i += 1) {
-           groupsSnapshot[i].destroy();
-       }
-       if (parent != null) {
-           parent.remove(this);
-       }
-    }
-
-    /**
-     * Adds the specified Thread group to this group.
-     * @param g the specified Thread group to be added
-     * @exception IllegalThreadStateException If the Thread group has been 
destroyed.
-     */
-    private final void add(ThreadGroup g){
-       synchronized (this) {
-           if (destroyed) {
-               throw new IllegalThreadStateException();
-           }
-           if (groups == null) {
-               groups = new ThreadGroup[4];
-           } else if (ngroups == groups.length) {
-               ThreadGroup newgroups[] = new ThreadGroup[ngroups * 2];
-               System.arraycopy(groups, 0, newgroups, 0, ngroups);
-               groups = newgroups;
-           }
-           groups[ngroups] = g;
-
-           // This is done last so it doesn't matter in case the
-           // thread is killed
-           ngroups++;
-       }
-    }
-
-    /**
-     * Removes the specified Thread group from this group.
-     * @param g the Thread group to be removed
-     * @return if this Thread has already been destroyed.
-     */
-    private void remove(ThreadGroup g) {
-       synchronized (this) {
-           if (destroyed) {
-               return;
-           }
-           for (int i = 0 ; i < ngroups ; i++) {
-               if (groups[i] == g) {
-                   ngroups -= 1;
-                   System.arraycopy(groups, i + 1, groups, i, ngroups - i);
-                   // Zap dangling reference to the dead group so that
-                   // the garbage collector will collect it.
-                   groups[ngroups] = null;
-                   break;
-               }
-           }
-           if (nthreads == 0) {
-               notifyAll();
-           }
-           if (daemon && (nthreads == 0) && (ngroups == 0)) {
-               destroy();
-           }
-       }
-    }
-    
-    /**
-     * Adds the specified Thread to this group.
-     * @param t the Thread to be added
-     * @exception IllegalThreadStateException If the Thread group has been 
destroyed.
-     */
-    void add(Thread t) {
-       synchronized (this) {
-           if (destroyed) {
-               throw new IllegalThreadStateException();
-           }
-           if (threads == null) {
-               threads = new Thread[4];
-           } else if (nthreads == threads.length) {
-               Thread newthreads[] = new Thread[nthreads * 2];
-               System.arraycopy(threads, 0, newthreads, 0, nthreads);
-               threads = newthreads;
-           }
-           threads[nthreads] = t;
-
-           // This is done last so it doesn't matter in case the
-           // thread is killed
-           nthreads++;
-       }
-    }
-
-    /**
-     * Removes the specified Thread from this group.
-     * @param t the Thread to be removed
-     * @return if the Thread has already been destroyed.
-     */
-    void remove(Thread t) {
-       synchronized (this) {
-           if (destroyed) {
-               return;
-           }
-           for (int i = 0 ; i < nthreads ; i++) {
-               if (threads[i] == t) {
-                   System.arraycopy(threads, i + 1, threads, i, --nthreads - 
i);
-                   // Zap dangling reference to the dead thread so that
-                   // the garbage collector will collect it.
-                   threads[nthreads] = null;
-                   break;
-               }
-           }
-           if (nthreads == 0) {
-               notifyAll();
-           }
-           if (daemon && (nthreads == 0) && (ngroups == 0)) {
-               destroy();
-           }
-       }
-    }
-
-    /**
-     * Prints information about this thread group to the standard 
-     * output. This method is useful only for debugging. 
-     *
-     * @since   JDK1.0
-     */
-    public void list() {
-       list(System.out, 0);
-    }
-    void list(PrintStream out, int indent) {
-       int ngroupsSnapshot;
-       ThreadGroup[] groupsSnapshot;
-       synchronized (this) {
-           for (int j = 0 ; j < indent ; j++) {
-               out.print(" ");
-           }
-           out.println(this);
-           indent += 4;
-           for (int i = 0 ; i < nthreads ; i++) {
-               for (int j = 0 ; j < indent ; j++) {
-                   out.print(" ");
-               }
-               out.println(threads[i]);
-           }
-           ngroupsSnapshot = ngroups;
-           if (groups != null) {
-               groupsSnapshot = new ThreadGroup[ngroupsSnapshot];
-               System.arraycopy(groups, 0, groupsSnapshot, 0, ngroupsSnapshot);
-           } else {
-               groupsSnapshot = null;
-           }
-       }
-       for (int i = 0 ; i < ngroupsSnapshot ; i++) {
-           groupsSnapshot[i].list(out, indent);
-       }
-    }
-
-    /**
-     * Called by the Java Virtual Machine when a thread in this 
-     * thread group stops because of an uncaught exception. 
-     * <p>
-     * The <code>uncaughtException</code> method of 
-     * <code>ThreadGroup</code> does the following: 
-     * <ul>
-     * <li>If this thread group has a parent thread group, the
-     *     <code>uncaughtException</code> method of that parent is called
-     *     with the same two arguments. 
-     * <li>Otherwise, this method determines if the <code>Throwable</code>
-     *     argument is an instance of <code>ThreadDeath</code>. If so, nothing
-     *     special is done. Otherwise, the <code>Throwable</code>'s
-     *     <code>printStackTrace</code> method is called to print a stack
-     *     backtrace to the standard error stream.
-     * </ul>
-     * <p>
-     * Applications can override this method in subclasses of 
-     * <code>ThreadGroup</code> to provide alternative handling of 
-     * uncaught exceptions. 
-     *
-     * @param   t   the thread that is about to exit.
-     * @param   e   the uncaught exception.
-     * @see     java.lang.System#err
-     * @see     java.lang.ThreadDeath
-     * @see     java.lang.Throwable#printStackTrace(java.io.PrintStream)
-     * @since   JDK1.0
-     */
-    public void uncaughtException(Thread t, Throwable e) {
-       if (parent != null) {
-           parent.uncaughtException(t, e);
-       } else if (!(e instanceof ThreadDeath)) {
-           e.printStackTrace(System.err);
-       }
-    }
-
-    /**
-     * Used by VM to control lowmem implicit suspension.
-     *
-     * @since   JDK1.1
-     */
-    public boolean allowThreadSuspension(boolean b) {
-       this.vmAllowSuspension = b;
-       if (!b) {
-           VM.unsuspendSomeThreads();
-       }
-       return true;
-    }
-
-    /**
-     * Returns a string representation of this Thread group.
-     *
-     * @return  a string representation of this thread group.
-     * @since   JDK1.0
-     */
-    public String toString() {
-       return getClass().getName() + "[name=" + getName() + ",maxpri=" + 
maxPriority + "]";
-    }
-}
diff --git a/test/etags/perl-src/mirror.pl b/test/etags/perl-src/mirror.pl
deleted file mode 100644
index 2bbbb76..0000000
--- a/test/etags/perl-src/mirror.pl
+++ /dev/null
@@ -1,4149 +0,0 @@
-#!/usr/bin/perl
-# Make local directories mirror images of a remote sites
-#
-#
-# Copyright (C) 1990 - 1998   Lee McLoughlin
-#
-# Permission to use, copy, and distribute this software and its
-# documentation for any purpose with or without fee is hereby granted,
-# provided that the above copyright notice appear in all copies and
-# that both that copyright notice and this permission notice appear
-# in supporting documentation.
-#
-# Permission to modify the software is granted, but not the right to
-# distribute the modified code.  Modifications are to be distributed
-# as patches to released version.
-#
-# This software is provided "as is" without express or implied warranty.
-#
-#
-# The Debian system patched this file after installation to add:
-# ls-lR file patching 2001/09/29
-#      Copyright (C) 1999-2001 Ian Maclaine-cross <address@hidden>
-# and other changes.
-# Debian patches are copyright by their authors and you may use them only
-# under the conditions of the General Public License in file GPL.
-#
-# $Id: mirror.pl,v 2.9 1998/05/29 19:01:07 lmjm Exp lmjm $
-# $Log: mirror.pl,v $
-# Revision 2.9  1998/05/29 19:01:07  lmjm
-# Lots of changes.  See CHANGES since 2.8 file.
-#
-# Revision 2.8  1995/08/06  14:03:52  lmjm
-# Trap a wider range of signals to aid in debugging under perl5
-# Avoid looping processing symlinks.
-#
-# Revision 2.7  1995/08/06  13:59:00  lmjm
-# No longer require socket.ph in this module.
-# Escape at signs and dollars for perl5
-# Make sure  proxy_gateway is at least null.
-# Added ls_fix_mappings, failed_gets_excl, store_remote_listing, passive_ftp
-#  and using_socks.
-# Stop using dollar star as perl5 has dropped it.
-# Process local directory listing before connecting to remote.
-# Allow for remote_account pasword.
-# Only one arg to undef, for early perl5's
-# Use all capitals for file descriptors.
-# Use ftp'close not ftp'quit
-# Avoid file renaming under MACos
-# Corrected file deleting.
-#
-# Revision 2.6  1994/06/10  18:28:27  lmjm
-# Dropped debug statement.
-#
-# Revision 2.5  1994/06/06  18:39:21  lmjm
-# Don't have . in the extra_path.
-# Have 'internet-gateway' as the default proxy_gateway when INTERNET_HOST 
unset.
-# Allow strip_cr (from Andrew).
-# More symlink handling...
-# Set type for vms correctly.
-# Changed response from ftp'delete, also corrected path used.
-#
-# Revision 2.4  1994/04/29  20:11:09  lmjm
-# Use correct variable for hostname
-#
-# Revision 2.3  1994/01/31  18:31:22  lmjm
-# Allow for funny chars in filenames when calling the shell (Erez).
-# Added compress_size_floor to avoid compressing small files (David).
-# Added get_missing to just delete files not on remote system (Pieter).
-# Don't try to delete old dirs if no time set (Pieter).
-# Zap .dir$$ files, and keep then in $big_temp.
-# Pretty print time in comparisons.
-# Move the large comparision conditionals into routines (David).
-# Allow for sites with limited filename lengths.
-# Allow for deleted files when doing deletes.
-# Don't delete dirs that are really symlinks.
-#
-# Revision 2.2  1993/12/14  11:09:15  lmjm
-# Allow for no flock.
-# Use installed socket.ph.
-# Allow for system 5.
-# Use percentage defaults on max_delete_*
-# Checkout regexps before using.
-# Allow for extra leading | in local_ignore.
-# Return better exit codes.
-# Fixups for recurse_hard.
-# Smarter symlink handling.
-#
-# Revision 2.1  1993/06/28  14:59:00  lmjm
-# Full 2.1 release
-#
-#
-
-$#ARGV >= 0 or die("Try `man mirror` for help.\n");  
-
-# Make sure we don't go recursive processing signals
-$sigs = 0;
-$max_sigs = 10;
-
-# Am I on windoze?
-$on_win = ($^O =~ /mswin/i);
-$path_sep = $on_win ? ';' : ':';
-$file_sep = $on_win ? '\\' : '/';
-# Internally mirror uses / but when looking at names from environment allow
-# for either
-$file_sep_pat = $on_win ? "[\\/]" : "/"; # allow for c:\win/fred on windoze
-
-
-# Default settings file loaded from a directory in PERLLIB
-$defaults_file = 'mirror.defaults';
-$load_defaults = 1;
-
-# Try to find the default location of various programs via
-# the users PATH then using $extra_path
-if( ! $on_win ){
-       $extra_path = 
'/usr/local/bin:/usr/new/bin:/usr/public/bin:/usr/ucb:/usr/bin:/bin:/etc:/usr/etc:/usr/local/etc';
-}
-if( $extra_path ne '' ){
-       $ENV{ 'PATH' } .= $path_sep . $extra_path;
-}
-
-&trap_signals();
-
-# If compressing a local file to send need somewhere to store the temp
-# compressed version.
-$big_temp = '/var/tmp';
-
-# Hopefully we have flock.
-$can_flock = 1;
-
-# no debugging by default
-$debug = 0;
-
-# NOTE:
-#  It is not an error for a program not to be found in the path as the user
-# may be setting it as part of the package details or defaults.
-
-# Used by the save_deletes option
-$mv_prog = 'mv -f';
-
-# compress must be able to take the -d arg to cause it to uncompress.
-$sys_compress_prog = &find_prog( 'compress' );
-$sys_compress_suffix = 'Z';
-
-# Like compress gzip must be able to take -d
-if( $gzip_prog = &find_prog( 'gzip' ) ){
-       # Force maximum compression with gzip
-       $gzip_level = ' -9';
-       $gzip_prog .= $gzip_level;
-       $gzip_suffix = 'gz';
-       $old_gzip_suffix = 'z';
-}
-
-# For remote systems with gzipped patches to their ls-lR.gz file.  The
-# gzipped patch file is a unified diff between old and new ls-lR.  The
-# times file has modification times in decimal epoch seconds of the
-# old and new ls-lR file on its first and second lines respectively.
-if( $patch_prog = &find_prog( 'patch' ) ){
-       $patch_local = '-usNT';
-       $patch_UTC = '-usNZ';
-}
-$patch_suffix = '.pth';            # These suffices distinct
-$patch_gzip_suffix = '.patch.gz';  # if truncated locally.
-$times_suffix = '.times';
-
-# A mail program that can be called as: "$mail_prog person_list'
-# Can be overridden with the mail_prog keyword.
-# If you use $mail_subject to pass extra arguments then remember that
-# the mail program will need to know how to handle them.
-$mail_prog = &find_prog( 'mailx' );
-if( ! $mail_prog ){
-       $mail_prog = &find_prog( 'Mail' );
-}
-if( ! $mail_prog ){
-       $mail_prog = &find_prog( 'mail' );
-}
-
-# Used to remove directory heirarchies.  This program is passed the -rf
-# arguments.
-$rm_prog = &find_prog( 'rm' );
-
-# Generate checksums
-$sum_prog = &find_prog( 'sum' );
-
-# SPECIAL NOTE: This is eval'd, so DONT put double-quotes (") in it.
-# You can get local variables to appear as in the second example:
-$mail_subject = '-s \'mirror update\'';
-# $mail_subject = ' -s \'mirror update of $package\'';
-
-# When scanning the local directory, how often to prod the remote
-# system to keep the connection alive
-$prod_interval = 60;
-
-# Put the directory that mirror is actually in at the start of PERLLIB.
-$dir = &real_dir_from_path( $0 );
-unshift( @INC, $dir );
-
-# Debian GNU/Linux stores mirror.defaults in /etc/mirror
-$debian_defs = '/etc/mirror';
-unshift( @INC, $debian_defs ) if -d $debian_defs;
-
-# This, when eval'd, will get the current dir under windows NT/95
-$win_getcwd = 'Win32::GetCwd';
-       
-# Make sure that your PERLLIB environment variable can get you
-# all these or that they are installed.
-require 'ftp.pl';
-require 'lsparse.pl';
-require 'dateconv.pl';
-
-# Find some local details
-# The current directory
-$home = &cwd();
-# The hostname
-$hostname_cmd = &find_prog( 'hostname' );
-if( $hostname_cmd ne '' ){
-       chop( $hostname = `$hostname_cmd` );
-}
-if( $hostname eq '' ){
-       $hostname_cmd = &find_prog( 'uname' );
-       if( $hostname_cmd ne '' ){
-               chop( $hostname = `$hostname_cmd -n` );
-               if( $hostname eq '' ){
-                       chop( $hostname = `$hostname_cmd -l` );
-               }
-       }
-}
-if( $hostname eq '' ){
-       $hostname = 'localhost';
-}
-
-if( $hn = (gethostbyname( "$hostname" ))[ 0 ] ){
-       $hostname = $hn;
-}
-
-# Some systems hold the username in $USER, some in $LOGNAME.
-$me = $ENV{'USER'} || $ENV{'LOGNAME'};
-
-# Files matching this pattern are usually compressed.
-$squished = '\.(Z|z|gz)$';
-
-# special /bin/sh chars that must be escaped.
-$shell_metachars = '\"|\$|`|\\\\';
-
-# Remote directory parsing fail if not given input every readtime seconds.
-$parse_time = 600;
-
-# Timeout are not fatal unless you get more than this number of them.
-$max_timeouts = 20;
-
-# If connected to a site then this holds the site name.
-$connected = '';
-
-# Umask setting.
-$curr_umask = sprintf( "0%o", umask );
-
-# mapping from a pathname to a number - just to make the keys to assoc arrays
-# shorter.
-$map_init = 1; # just so I know 0 is invalid
-
-$tmp = "/tmp";
address@hidden = ( 'local_map', 'remote_map' );
-
-# A reasonable set of defaults
-#   these are in the same order as the documentation - except where order is
-#   important
-$default{ 'hostname' } = $hostname; # The LOCAL hostname
-
-$default{ 'package' } = '';    # should be a unique handle for the "lump" to 
be mirrored
-$default{ 'site' } = '';       # site to connect to
-$default{ 'remote_dir' } = ''; # remote directory to mirror
-$default{ 'local_dir' } = '';  # local directory to copy into
-
-$default{ 'remote_user' } = 'anonymous';  # the remote guest account name
-$default{ 'remote_password' } = "address@hidden";
-$default{ 'remote_account' } = ''; # remote account name/passwd (for systems
-                                  # that use it.)
-# Used for group and gpass.  (As in ftp.1 site group/gpass commands.)
-$default{ 'remote_group' } = '';
-$default{ 'remote_gpass' } = '';
-$default{ 'timeout' } = 120;   # timeout ftp requests after this many seconds
-$default{ 'failed_gets_excl' } = ''; # failed messages to ignore while getting,
-                               # if failed to ftp'get
-$default{ 'ftp_port' } = 21;   # port number of remote ftp daemon
-$default{ 'proxy' } = 0;       # normally use regular ftp
-$default{ 'proxy_ftp_port' } = 4514; # default from Sun
-$default{ 'proxy_gateway' } = "$ENV{ 'INTERNET_HOST' }";
-                               # Gateway to use for proxy
-                               # (Null if environment not set.)
-$default{ 'using_socks' } = 0; # Set the default perl version to the non-SOCKS 
one.
-$default{ 'passive_ftp' } = 0; # Set the default ftp usage not to use passive 
(PASV) ftp.
-$default{ 'retry_call' } = 1;  # Retry the call if it fails first time
-$default{ 'disconnect' } = 0;  # Force close at end of package EVEN if
-                               # next package is to the same site
-$default{ 'remote_idle' } = '';        # Set the remote idle timer to this
-
-$default{ 'get_patt' } = ".";  # regex of pathnames to retrieve
-$default{ 'exclude_patt' } = ''; # regex of pathnames to ignore
-$default{ 'local_ignore' } = ''; # regex of local pathnames to totally ignore
-$default{ 'get_newer' } = 1;   # get remote file if its date is newer than 
local
-$default{ 'get_size_change' } = 1; # get the file if size if different than 
local
-$default{ 'make_bad_symlinks' } = 0; # prevent symlinks to non-existant files
-$default{ 'follow_local_symlinks' } = ''; # Follow symlinks to pathnames 
matching this regexp.
-$default{ 'get_symlink_files' } = 0; # If true gets file and makes symlink 
otherwise bad. 
-$default{ 'get_missing' } = 1; # Set get_missing to 0 to just delete files not 
on remote system
-$default{ 'get_file' } = 1;    # perform get, not put by default
-$default{ 'text_mode' } = 0;   # transfer in binary mode by default
-$default{ 'strip_cr' } = 0;    # Delete \r (usefull when transfering from
-                               # mainframes -- set text_mode and strip_cr)
-$default{ 'vms_keep_versions' } = 1; # Keep multiple VMS versions
-$default{ 'vms_xfer_text' } = 'readme$|info$|listing$|\.c$';
-                               # pattern of VMS files to xfer in TEXT mode
-                               # (Case insensitive)
-$default{ 'name_mappings' } = '';# remote to local pathname mappings
-                               # used to change layout or zap weird chars
-                               # (eg s:old:new)
-$default{ 'external_mapping' } = '';# remote to local mapping by external 
routine
-$default{ 'update_local' } = 0;        # Don't just update local dirs
-$default{ 'max_days' } = 0;    # Ignore age of file
-$default{ 'max_size' } = 0;    # If non-zero dont get files larger than this
-$default{ 'chmod' } = 1;       # perform a chmod after an xfer
-
-$default{ 'user' } = '';       # UID/user name to give to local pathnames
-$default{ 'group' } = '';      # GID/group name to give to local pathnames
-$default{ 'mode_copy' } = 0;   # true indicates to copy the mode bits
-$default{ 'file_mode' } = 0444;        # Mode to give files created locally
-$default{ 'dir_mode' } = 0755; # mode to give directories created locally
-$default{ 'force' } = 0;       # don't force by default
-$default{ 'umask' } = 07000; # DONT allow setuid things by default
-$default{ 'use_timelocal' }  = 1; # Use local time NOT gmt to timestamp files. 
(See also the -T flag.)
-$default{ 'force_times' } = 1; # Force local file times to match the original
-
-$default{ 'do_deletes' } = 0;  # delete dest files if not in src tree
-$default{ 'delete_patt' } = '.';# delete only files which match this pattern
-$default{ 'delete_get_patt' } = 0;# true: set delete_patt to get_patt
-$default{ 'delete_excl' } = ''; # regex of local pathnames to ignore when 
deleting
-$default{ 'max_delete_files' } = '10%'; # Any more than this and DONT delete
-$default{ 'max_delete_dirs' } = '10%'; # Any more than this and DONT delete
-$default{ 'save_deletes' } = 0;        # save local files if not in remote
-$default{ 'save_dir' } = 'Old';        # directory in which to create tree for 
keeping
-                               # files no longer in remote
-$default{ 'store_remote_listing' } = ''; # Where to store remote site listings 
on local system
-
-$default{ 'compress_patt' } = ''; # compress files matching this pattern
-$default{ 'compress_excl' } = $squished; # dont compress regexp (case 
insensitive)
-$default{ 'compress_prog' } = $sys_compress_prog; # Program to compress files.
-$default{ 'compress_suffix' } = $sys_compress_suffix; # Suffix on compressed 
files
-$default{ 'compress_conv_patt' } = '(\.Z|\.taz)$';
-       # compress->gzip files matching this pattern
-$default{ 'compress_conv_expr' } = 's/\.Z$/.gz/;s/\.taz$/.tgz/';
-       # perl expressions to convert names of files from compress->gzip
-$default{ 'compress_size_floor' } = 0;  # don't compress files < this size
-
-$default{ 'split_max' } = 0;   # Files > this size can be split up.
-$default{ 'split_patt' } = '';  # Files must match this pattern to be split
-$default{ 'split_chunk' } = 100 * 1024; # Size of split-up chunks
-
-$default{ 'remote_fs' } = 'unix'; # Remote filestore
-       # Other posibilies dls, netware and vms
-$default{ 'ls_lR_file' } = ''; # remote file containing ls-lR, patch or 
-                               # times - else use remote ls
-$default{ 'local_ls_lR_file' } = ''; # local file containing ls-lR
-                               # used when first copying a large remote package
-                               # or ls_lR_file is a remote ls-lR patch or times
-$default{ 'recursive' } = 1;   # true indicates to do recursive processing
-$default{ 'recurse_hard' } = 0;        # true indicates have to cwd+ls for 
each remote
-                               # subdirectory - AVOID wherever possible.
-$default{ 'flags_recursive' } = '-lRat'; # Flags passed to remote dir
-$default{ 'flags_nonrecursive' } = '-lat'; # Flags passed to remote dir
-$default{ 'ls_fix_mappings' } = '';# Correct pathnames in remote listings
-                               # (eg s:usr/spool/pub/::) to match reality
-
-$default{ 'update_log' } = ''; # Filename where an update report is to be kept
-$default{ 'mail_to' } = '';    # Mail a report to these addresses
-$default{ 'mail_prog' } = $mail_prog; # the mail program (see $mail_prog)
-$default{ 'mail_subject' } = $mail_subject; # Subject passed to mail_prog
-
-$default{ 'comment' } = '';    # General comment used in report
-# If mirroring a VERY large directory then it is best to put the assoc
-# arrays in files (use command line switch -F. to turn on).
-$default{ 'use_files' }  = 0;
-$default{ 'interactive' } = 0; # noninteractive copy default
-$default{ 'skip' } = '';       # If set then skip this entry giving value as 
reason
-$default{ 'verbose' } = 0;     # Verbose messages
-$default{ 'algorithm' } = 0;   # The mirror algorithm to use
-$default{ 'local_dir_check' } = 0; # Check local_dir exists before mirroring?
-
-# I really want to drop this option.
-$default{ 'delete_source' } = 0;# delete source after xfer (default = NO!!!)
-
address@hidden = ( 'get_newer', 'get_size_change', 'do_deletes',
-       'update_local', 'force_times', 'retry_call', 'recursive',
-       'mode_copy', 'disconnect', 'interactive', 'text_mode',
-       'force', 'get_file', 'verbose', 'proxy', 'delete_get_patt',
-       'delete_source', 'save_deletes', 'use_files', 'use_timelocal',
-       'make_bad_symlinks', 'get_symlink_files', 'recurse_hard', 
-       'get_missing', 'strip_cr', 'passive_ftp', 'using_socks', 
-       'local_dir_check' );
-
-%boolean_values = ();
-&set_assoc_from_array( *boolean_values );
-
address@hidden = ( 'get_patt', 'exclude_patt', 'local_ignore',
-                 'delete_patt', 'delete_excl', 'split_patt', 'save_deletes',
-                 'compress_patt', 'compress_excl', 'compress_conv_patt',
-                 'failed_gets_excl', 'store_remote_listing' );
-
-#
-# message levels used by &msg( level, msg )
-# if you call msg as &msg( msg ) the level is presumed to be just $pr.
-$pr = 0;       # Always print out messages
-$log = 1;      # push this messages onto @log
-
-# The max number of directory failures under algorithm 1 before giving up.
-$max_failed_dirs = 5;
-
-#
-# Exit status
-$exit_status = 0;
-$exit_status_xfers = 0;
-
-# "#defines" for the above
-$exit_xfers = 16;  # Add this to the exit code to show xfers took place
-$exit_ok = 0;
-$exit_fail = 1;
-$exit_fail_noconnect = 2;
-
-# -d           Turn on debugging - more -d's means more debugging.
-# -ppattern    Just do packages matching pattern.
-# -Rpattern    Skip till the first package name matches pattern then do all.
-#              it and following packages.
-# -n           Do nothing, just show what would be done.
-# -F           Use files for assoc arrays (see also the variable use_files).
-# -gsite:path
-#              Get all files on given site.  If path matches .*/.+ then
-#              it is the name of the directory and the last part is the
-#              pattern of filenames to get.  If path matches .*/ then
-#              it is the name of a directory and all its contents are 
retrieved.
-#              Otherwise path is the pattern to be used in '/'.
-# -r           Same as "-krecursive=false".
-# -kvar=val    set variable to value.
-# -uusername   Same as "-kremote_user=username", prompts for remote_password.
-# -v           Print version and exit.
-# -T           Dont transfer just force local timestamps to match remote.
-# -N           Don't load mirror.defaults.
-# -L           Generate a pretty list of what is being mirrored.
-# -m           Same as "-kmode_copy=true".
-
-# -Cconfig_file
-# -P           Same as "-kget_file=false -kinteractive=true".
-# -G           Same as "-kget_file=true -kinteractive=true".
-# -t           Same as "-ktext_mode=true".
-# -f           Same as "-kforce=true".
-# -sSITENAME   Same as "-ksite=SITENAME.
-# -ULOGFILE    Set the upload log to LOGILE - if none given uses
-#              the file $home/upload_log.$mday.$mon.$year
-
-# -DUMP                Dump perl - to be later undumped --  THIS DOES NOT YET 
WORK!!!
-
-sub msg_version
-{
-       &msg( '$Id: mirror.pl,v 2.9 1998/05/29 19:01:07 lmjm Exp lmjm $' . "\n" 
);
-       &msg( 'Debian patch version: mirror (2.9-38)  Tue Jan 29 07:06:25 2002 
UTC.' . "\n" );
-       &msg( 'Copyright conditions are in file 
/usr/share/doc/mirror/copyright.' . "\n" );
-}
-
-parse_args:
-while( $ARGV[ 0 ] =~ /^-/ ){
-       local( $arg ) = shift;
-
-       if( $arg eq '-d' ){
-               if( $debug == 2 ){
-                       &msg_version();
-               }
-               $| = 1;
-               $debug++;
-               next;
-       }
-
-       if( $arg =~ /^-(p)(.*)/ || $arg =~ /^-(R)(.*)/ ){
-               local( $flag, $p ) = ($1, $2);
-               if( $flag eq 'R' ){
-                       # Skip all packages till a match is made
-                       # then process ALL further packages
-                       $skip_till = 1;
-               }
-               if( ! $p ){
-                       # Must be -p/-R space arg
-                       $p = shift;
-               }
-               if( $p !~ /[a-zA-Z0-9]/ ){
-                       die "Invalid package name to -p of: $p\n";
-                       next;
-               }
-               # Only mirror the named packages
-               $do_packages{ $p } = 1;
-               $limit_packages = 1;
-               next;
-       }
-
-       if( $arg eq '-n' ){
-               # Do nothing - just show what would be done
-               $dont_do = 1;
-               $debug += 2;
-               $| = 1;
-               next;
-       }
-
-       if( $arg eq '-F' ){
-               # Use files for the dir listings assoc lookups
-               $use_files = 1;
-               $command_line{ 'use_files' } = 1;
-               next;
-       }
-
-       if( $arg eq '-T' ){
-               # Don't actually get any files but just force
-               # local timestamps to be the same on the remote system
-               $timestamp = 1;
-               $command_line{ 'force_times' } = 'true';
-               next;
-       }
-
-       if( $arg =~ /^-g(.*)$/ ){
-               # the next arg is the site:path to get
-               local( $site_path ) = $1;
-
-               if( ! $site_path ){
-                       # Must be -g space arg
-                       $site_path = shift;
-               }
-               
-               # DONT use the system defaults!
-               $load_defaults = 0;
-               
-               # This is probably interactive so print interactively
-               $| = 1;
-               
-               if( $site_path =~ /(.*):(.*)?/ ){
-                       local( $site, $path ) = ($1, $2);
-                       push( @get_sites, $site );
-                       # Find the directory and files
-                       if( $path =~ m|^(.*)/([^/]*)$| ){
-                               if( $1 eq '' && $2 eq '' ){
-                                       push( @get_paths, '/' );
-                                       push( @get_patt, '.' );
-                               }
-                               elsif( $1 eq '' ){
-                                       push( @get_paths, '/' );
-                               }
-                               else {
-                                       push( @get_paths, $1 );
-                               }
-                               if( $2 eq '' ){
-                                       push( @get_patt, '.' );
-                               }
-                               else {
-                                       push( @get_patt, "^$2\$" );
-                               }
-                       }
-                       else {
-                               push( @get_paths, '.' );
-                               push( @get_patt, "^$path\$" );
-                       }
-               }
-               else {
-                       die "expected -gsite:path got $arg";
-               }
-               next;
-       }
-
-       if( $arg eq "-r" ){
-               # no recursive copy
-               $command_line{ 'recursive' } = 0;
-               next;
-       }
-# Debian bug #93853, -k keyword=value did not work, address@hidden 
-       if( $arg =~ /^-k(.*)/ ){
-               local( $key_val ) = $1;
-               if( ! $key_val ){
-                       # Must be -k space key=val
-                       $key_val = shift;
-               }
-               if( $key_val =~ /(.*)=(.*)/ ){ 
-                       # set the keyword = value
-                       if( !defined( $default{ "$1" } ) ){
-                           warn "Invalid keyword $1\n";
-                       } else {
-                           $command_line{ "$1" } = $2;
-                       }
-               }
-               next;
-       }
-
-       if( $arg =~ /^-u(.*)/ ){
-               local( $user ) = $1;
-
-               if( ! $user ){
-                       # must be -u space user
-                       $user = shift;
-               }
-
-               # override the user name
-               $command_line{ 'remote_user' } = $user;
-               # and ask for a password
-               $command_line{ 'remote_password' } = &get_passwd( $user );
-               next;
-       }
-
-       if( $arg eq '-N' ){
-               $load_defaults = 0;
-               next;
-       }
-
-       if( $arg eq '-v' ){
-               &msg_version();
-               exit( 0 );
-       }
-
-        if( $arg eq '-L' ){
-                # Generate a pretty list of what is being mirrored
-                $pretty_print = 1;
-                next;
-        }
-
-        if( $arg eq '-m' ){
-                # propagate the mode
-               $command_line{ 'mode_copy' } = 'true';
-               next;
-        }
-
-       # Old command line interface flags
-       if( $arg =~ /^-C(.*)/ ){
-               # specify the config file
-               local( $c ) = $1;
-               if( $c !~ /./ ){
-                       die "Must give config file name -Cname ($arg)\n";
-               }
-               # Only mirror the named packages
-               push( @config_files, $c);
-               next;
-       }
-
-        if( $arg eq '-P' ){
-                # put files
-               $command_line{ 'get_file' } = 'false';
-               $command_line{ 'interactive' } = 'true';
-               next;
-        }
-
-        if( $arg eq '-G' ){
-                # get files
-               $command_line{ 'get_file' } = 'true';
-               $command_line{ 'interactive' } = 'true';
-               next;
-        }
-
-        if( $arg eq '-t' ){
-                # set the file mode to text
-               $command_line{ 'text_mode' } = 'true';
-               next;
-        }
-
-        if( $arg eq '-f' ){
-                # force file transfers irregardless of date/size matches
-               $command_line{ 'force' } = 'true';
-               next;
-        }
-
-       if( $arg =~ /^-s(.*)/ ){
-               # override the site name
-               $command_line{ 'site' } = $1;
-               next;
-       }
-
-       if( $arg =~ /^-U(.*)/ ){
-               $upload_log = $1;
-               if( $upload_log eq '' ){
-                       local( $sec,$min,$hour,$mday,$mon,$year,
-                               $wday,$yday,$isdst ) 
-                               = localtime( time );
-                       $mon++;
-                       $upload_log = "$home/upload_log.$mday.$mon.$year";
-               }
-                       
-               next;
-       }
-
-       if( $arg eq '-DUMP' ){
-               # THIS DOES NOT YET WORK!!!!!
-               $dumped_version = 1;
-               warn "Dumping perl\n";
-               dump parse_args;
-       }
-
-       warn "Unknown arg $arg, skipping\n";
-}
-
-# Handle multiline buffers in a sane way
-# This is deprecated in perl-5.  Someone should add "/m" modifiers to any
-# regexps that *really* need it, not all.
-# $* = 1;
-
-$interactive = $command_line{ 'interactive' };
-
-if( ! $interactive ){
-       local( $c );
-
-       # The remainder of ARGV are package names
-       foreach $c ( @ARGV ){
-               push( @config_files, $c );
-       }
-}
-
-if( $interactive && $limit_packages){
-       die "Can not mix -p and interactive";
-}
-
-$value{ 'remote_user' } = $default{ 'remote_user' };
-%value = ();
-&set_defaults();
-
-if( $load_defaults ){
-       local( $dir, $mp );
-       foreach $dir ( @INC ){
-               local( $f ) = "$dir/$defaults_file";
-               if( -f $f ){
-                       $mp = $f;
-                       last;
-               }
-       }
-       if( $mp ){
-               &msg( "defaults from $mp\n" ) if $debug > 2;
-               splice( @config_files, 0, 0, $mp );
-       }
-       else {
-               warn "No $defaults_file found in perl library path\n";
-       }
-}
-elsif( $debug > 1 ){
-       &msg( "not loading $defaults_file\n" );
-}
-               
-
-&interpret_config_files();
-
-# Shut down any remaining ftp session
-&disconnect();
-
-&msg( "All done, Exiting\n" ) if $debug;
-exit( $exit_status + $exit_status_xfers );
-
-
-$key = ''; # The current keyword
-$value = ''; # the value for the keyword
-
-sub interpret_config_files
-{
-       local( $fname );
-
-       if( $#get_sites >= 0 ){
-               while( $#get_sites >= 0 ){
-                       $value{ 'site' } = pop( @get_sites );
-                       $value{ 'remote_dir' } = pop( @get_paths );
-                       $value{ 'get_patt' } = pop( @get_patt );
-                       $value{ 'local_dir' } = '.';
-                       $value{ 'remote_user' } = 'anonymous';
-                       $exit_status = &do_mirror();
-               }
-               return;
-       }
-               
-
-       if( $command_line{ 'interactive' } ){
-               # No config file to read
-               $value{ 'package' } = 'interactive';
-               $exit_status = &do_mirror();
-               return;
-       }
-
-       # if no configuration files were specified use standard input
-       @ARGV = @config_files;
-       &interpret_config();
-}
-
-sub interpret_config
-{
-       while( <> ){
-               # Ignore comment and blank lines
-               next if /^\s*#/ || /^\s*$/;
-               
-               &parse_line();
-               
-               # Is this a new package?
-               if( $value{ 'package' } && $key eq 'package' ){
-                       # mirror the existing package
-                       $exit_status = &do_mirror();
-                       
-                       # reset
-                       &set_defaults();
-
-                       # Make sure I'm at the right place for <> to work!
-                       chdir $home;
-               }
-               
-               if( $debug > 3 ){
-                       &msg( "$key \"$value\"\n" );
-               }
-
-               $value{ $key } = $value;
-
-               # do an explicit close for each file so $. gets reset
-               if( eof( ARGV ) ){
-                       if( $debug > 3 ){
-                               &msg( "-- end of config file \"$ARGV\"\n" );
-                       }
-                       close( ARGV );
-               }
-       }
-
-       # Mirror the last package in the file
-       if( $value{ 'package' } ){
-               $exit_status = &do_mirror();
-       }
-}
-
-# parse each line for keyword=value
-sub parse_line
-{
-       local( $eqpl );
-       local( $cont ) = '&';
-
-       chop;
-       if( /^\s*([^\s=+]+)\s*([=+])(.*)?$/ ){
-               ($key, $eqpl, $value) = ($1, $2, $3);
-               # If the value ends in the continuation character then
-               # tag the next line on the end (ignoring any leading ws).
-               while( $value =~ /^(.*)$cont$/o && !eof ){
-                       $_ = <>;
-                       local( $v ) = $1;
-                       if( /^\s*(.*)$/ ){
-                               $value = $v . $1;
-                       }
-               }
-               if( $debug > 3 ){
-                       &msg( "read: $key$eqpl$value\n" );
-               }
-       }
-       else {
-               warn "unknown input in \"$ARGV\" line $. of: $_\n";
-       }
-       if( ! defined( $default{ "$key" } ) ){
-               die "unknown keyword in \"$ARGV\" line $. of: $key\n";
-       }
-       if( $eqpl eq '+' ){
-               $value = $value{ $key } . $value;
-       }
-}
-
-# Initialise the key values to the default settings
-sub set_defaults
-{
-       %value = %default;
-       undef( $uid );
-       undef( $gid );
-}
-
-# Override the current settings with command line values
-sub command_line_override
-{
-       local( $key, $val, $overrides );
-
-       while( ($key, $val) = each %command_line ){
-               $overrides++;
-               if( $boolean_values{ $key } ){
-                       # a boolean value
-                       $value{ $key } = &istrue( $val );
-               } else {
-                       # not a boolean value
-                       $value{ $key } = $val;
-               }
-       }
-
-       if( $debug > 4 ){
-               if( $overrides ){
-                       &pr_variables( "keywords after command line override\n" 
);
-               }
-               else {
-                       &msg( "No command line overrides\n" );
-               }
-       }
-}
-
-# set each variable $key = $value{ $key }
-sub set_variables
-{
-       local( $key, $val );
-
-       while( ($key, $val) = each %value ){
-               # for things like passwords it is nice to have the
-               # real value in a file
-               if( $val =~ /^\<(.*)$/ ){
-                       local( $val_name ) = $1;
-                       open( VAL_FILE, $val_name ) ||
-                               die "can't open value file $val_name\n";
-                       $val = <VAL_FILE>;
-                       close( VAL_FILE );
-                       chop $val if $val =~ /\n$/;
-               }
-
-               if( $boolean_values{ $key } ){
-                       # a boolean value
-                       eval "\$$key = &istrue( $val )";
-               }
-               else {
-                       # not a boolan value
-                       # Change all \ to \\ since \'s will be escaped in
-                       # the following string used in the eval.
-                       $val =~ s/([^\\])(')/$1\\$2/g;
-                       eval "\$$key = '$val'";
-               }
-               if( $key eq 'compress_prog' ){
-                       if( $val eq 'compress' ){
-                               $compress_prog = $sys_compress_prog;
-                               $compress_suffix = $sys_compress_suffix;
-                       }
-                       elsif( $val eq 'gzip' ){
-                               if( ! $gzip_prog ){
-                                       die "Trying to use gzip but not found 
in PATH\n";
-                               }
-                               $compress_prog = $gzip_prog;
-                               $compress_suffix = $gzip_suffix;
-                       }
-                       elsif( $debug > 2 && $compress_prog ne $gzip_prog &&
-                              $compress_prog ne $sys_compress_prog ){
-                               &msg( "compress_prog ($compress_prog) not 
compress or gzip, presuming program name\n" .
-                                     "- user must set compress_suffix\n" );
-                       }
-                       &upd_val( 'compress_prog' );
-                       &upd_val( 'compress_suffix' );
-               }
-       }
-       if( $compress_patt ne '' && $compress_prog eq '' ){
-               &msg( "compress_patt set but no compress_prog so compress_patt 
reset to nothing" );
-               $compress_patt = '';
-       }
-               
-
-       # Reset the umask if needed.
-       # Do it here to try and get it done as early as possible.
-       # If the user doesn't use octal umasks this will cause umask
-       # to be called again unnecessarily - but that is pretty cheap.
-       if( $umask && $umask != $curr_umask ){
-               local( $val ) = $umask;
-               $val = oct( $val ) if $val =~ /^0/;
-               umask( $val );
-               $curr_umask = sprintf( "0%o", umask );
-       }
-
-       &map_user_group();
-}
-
-sub upd_val
-{
-       local( $key ) = @_;
-       if( $package eq 'defaults' ){
-               $default{ $key } = $value{ $key };
-       }
-}
-
-sub pr_variables
-{
-       local( $msg ) = @_;
-       local( $nle ) = 60;
-       local( $out ) = 0;
-       local( $key, $val, $str );
-
-       &msg( $msg );
-       if( $get_file ){
-               &msg( "package=$package  $site:$remote_dir -> $local_dir\n\t" );
-       }
-       else {
-               &msg( "package=$package  $local_dir -> $site:$remote_dir\n\t" );
-       }
-
-       for $key ( sort keys( %value ) ){
-               next if $key eq 'package' ||
-                       $key eq 'site' ||
-                       $key eq 'remote_dir' ||
-                       # Don't show passwords when interactive
-                       ($interactive && $key eq 'remote_password') ||
-                       ($interactive && $key eq 'remote_gpass');
-               # Report the value in the actual variable
-               $val = eval "\$$key";
-               $str = "$key=\"$val\" ";
-               &msg( $str );
-               $out += length( $str );
-               # Output newlines when a line is full
-               if( $out > $nle ){
-                       $out = 0;
-                       &msg( "\n\t" );
-               }
-       }
-       &msg( "\n" );
-}
-
-# Mirror the package, return exit_status
-sub do_mirror
-{
-       local( $get_one_package ) = 0;
-
-       $package = $value{ 'package' };
-       
-       if( $package eq 'defaults' ){
-               # This isn't a real site - just a way to change the defaults
-               %default = %value;
-
-               return $exit_ok;
-       }
-
-       # Only do this package if given by a -Ppack argument
-       if( $limit_packages && ! $do_packages{ $package } ){
-               return;
-       }
-
-       if( $skip_till ){
-               # Found a package so process all packages from now on
-               $skip_till = $limit_packages = 0;
-       }
-       
-       local( $exit_status ) = $exit_fail_noconnect;  # Presume the worse.
-       $timeouts = 0;
-
-       # set things from the command line arguments
-       &command_line_override();
-
-       if( ! &checkout_regexps() ){
-               &msg( "skipping package\n\n" );
-               return $exit_status;
-       }
-
-       # set each variable $key = $value{ $key }
-       &set_variables();
-
-       # don't trash locally glossed over things with stuff from the remote
-       if( $local_ignore ){
-               if( $exclude_patt ){
-                       $exclude_patt .= '|' . $local_ignore;
-               }
-               else {
-                       $exclude_patt = $local_ignore;
-               }
-       }
-
-       if( $debug > 3 ){
-               &pr_variables( "\n" );
-       }
-       elsif( $package && ! $pretty_print ){
-               if( $get_patt ){
-                       &msg( "package=$package $site:$remote_dir -> 
$local_dir\n");
-               }
-               else {
-                       &msg( "package=$package $local_dir -> 
$site:$remote_dir\n" );
-               }
-               &msg( "algorithm=$algorithm\n") if $algorithm != 0;
-       }
-       
-       # Don't bother if trying to mirror here!
-       if( !$interactive && !$force && ((gethostbyname( $site ))[0] eq 
$hostname) ){
-               &msg( "Skipping $site as it is this local site!\n\n" );
-               return $exit_ok;
-       }
-
-       chdir $home;
-
-       $max_age = 0;
-       if( $value{ 'max_days' } ne '0' ){
-               $max_age = time - ($value{ 'max_days' } * 24 * 60 * 60);
-               &msg( "max_age = $max_age\n" ) if $debug > 1;
-       }
-
-       # pull in external code, if required
-       if( $external_mapping ){
-               &msg( "Loading external mapping from $external_mapping.\n" ) if 
$debug > 0 ;
-               do $external_mapping || die "Cannot load from 
$external_mapping";
-       }
-
-       if( $debug ){
-               # Keep the ftp debugging lower than the rest.
-               &ftp'debug( $debug - 1);
-       }
-       else {
-               &ftp'debug( $verbose );
-       }
-
-       if( $recurse_hard ){
-               $recursive = 1;
-       }
-       if( $algorithm == 1 ){
-               $recursive = 0;
-               $make_bad_symlinks = 1;
-               $rem_start_len = length( $remote_dir );
-       }
-
-       if( ! $interactive ){
-               $ftp'showfd = 'STDOUT';
-       }
-       &ftp'set_timeout( $timeout );
-       &ftp'set_signals( "main'msg" );
-
-       # set passive ftp mode
-       if( $passive_ftp ){
-               $ftp'use_pasv = 1;
-       }
-
-       # Are we using the SOCKS version of perl?
-       if( $using_socks ){
-               $chat'using_socks = 1;
-       }
-
-       # Useful string in prints
-       $XFER = $get_file ? "get" : "put";
-
-       # create the list of items to copy
-       @transfer_list = ();
-       if( $interactive ){
-               if( $algorithm == 1 ){
-                       warn "Cannot use algorithm 1 with interactive, using 
0\n";
-                       $algorithm = 0;
-               }
-               # copy the remainder of items from argv to the transfer list
-               while( @ARGV ){
-                       # copy the local directory
-                       if( @ARGV ){
-                               push( @transfer_list, shift( @ARGV ) );
-                       } 
-       
-                       # copy the remote directory
-                       if( @ARGV ){
-                               push( @transfer_list, shift( @ARGV ) );
-                       }
-                       else {
-                               die "remote directory must be specified\n";
-                       }
-       
-                       # copy the pattern, if available
-                       if( @ARGV ){
-                               push( @transfer_list, shift( @ARGV ) );
-                       } else {
-                               push( @transfer_list, $default{ 'get_patt' } );
-                       }
-               }
-       
-               if( $debug > 1 ){
-                       local( @t );
-                       @t  = @transfer_list;
-       
-                       while( @t ){
-                               printf( "local_dir=%s remote_dir=%s patt=%s\n",
-                                       shift( @t ), shift( @t ), shift( @t ) );
-                       }
-               }
-       }
-       else {
-               push( @transfer_list, $local_dir );
-               push( @transfer_list, $remote_dir );
-               push( @transfer_list, $get_patt );
-               if( $algorithm != 1 ){
-                       $get_one_package = 1;
-               }
-        }
-               
-
-       if( $update_local && $get_patt ){
-               if( $get_patt ne $default{ 'get_patt' } ){
-                       &msg( "Cannot mix get_patt and update_local.  get_patt 
ignored\n" );
-               }
-               $get_patt = '';
-       }
-
-       
-       if( !$site || (!$interactive && (!$local_dir || !$remote_dir)) ){
-               &msg( "Insufficient details for package to be fetched\n" );
-               &msg( "Must give at least: site, remote_user, remote_dir and 
local_dir\n\n" );
-               return $exit_status;
-       }
-
-        if( $pretty_print ){
-                # Don't actually mirror just print a pretty list
-                # of what would be mirrored.  This is for mailing to
-                # people
-               if( $skip ){
-                       return $exit_ok;
-               }
-                &msg( "$package  \"$comment\"\n" );
-                &msg( "  $site:$remote_dir  -->  $local_dir\n\n" );
-                return $exit_ok;
-        }
-
-       if( $skip ){
-               &msg( "Skipping $site:$package because $skip\n\n" );
-               return $exit_ok;
-       }
-
-       $split_max = &to_bytes( $split_max );
-       $split_chunk = &to_bytes( $split_chunk );
-
-       if( $split_max && $split_max <= $split_chunk ){
-               &msg( "split_max <= split_chunk - skipping package\n" );
-               &msg( " $split_max <= $split_chunk\n\n" );
-               return $exit_status;
-       }
-
-       if( $split_chunk && ($split_chunk & 511) ){
-               &msg( "split_chunk bad size - skipping package\n" );
-               &msg( " $split_chunk should be a multiple of 512 bytes\n\n" );
-               return $exit_status;
-       }
-
-       if( $local_dir_check && ! -d $local_dir ){
-               &msg( "local_dir $local_dir does not exist - skipping 
package\n" );
-               return $exit_status;
-       }
-
-       if( $get_one_package && $algorithm != 1 ){
-               # If only getting one package may as well parse the
-               # local directory listings before connecting to the
-               # remote site.  (With the status_file stuff this info
-               # can then be reused if something goes wrong.)
-               if( $use_files ){
-                       &create_assocs();
-               }
-
-               if( !&get_local_directory_details() ){
-                       &msg( "Cannot get local directory details 
($local_dir)\n" );
-                       &disconnect();
-                       &msg( "\n" );
-                       return $exit_status;
-               }
-       }
-
-       local( $con ) = &connect();
-       if( $con <= 0 ){
-               &msg( "Cannot connect, skipping package\n" );
-               &disconnect();
-               &msg( "\n" );
-               return $exit_status;
-       }
-
-       if( $con == 1 ){
-               &msg( "login as $remote_user\n" ) if $debug > 1;
-               $curr_remote_user = $remote_user;
-               if( ! &ftp'login( $remote_user, $remote_password, 
$remote_account ) ){
-                       &msg( "Cannot login, skipping package\n" );
-                       &disconnect();
-                       &msg( "\n" );
-                       return $exit_status;
-               }
-               $can_restart = (&ftp'restart(0) == 1);
-               if( $debug > 1 ){
-                       &msg( "Can " . ($can_restart ? '' : "not ") . "do 
restarts\n" );
-
-               }
-       }
-       else {
-               # Already connected to this site - so no need to login again
-               &msg( "Already connected to site $site\n" ) if $debug;
-       }
-
-       if( ! &ftp'type( $text_mode ? 'A' : 'I' ) ){
-               &msg( "Cannot set type\n" );
-       }
-
-       $exit_status = $exit_fail; # ok this is now the worse case
-
-       # Mirror thinks in terms of Unix pathnames.
-       # Ask ftp.pl to map any remote name it is about to use by
-       # setting the namemap functions.
-       if( $remote_fs =~ /vms/i ){
-               $vms = 1;
-               &ftp'set_namemap( "main'unix2vms", "main'vms2unix" );
-       }
-       else {
-               $vms = 0;
-               # No mapping necessary
-               &ftp'set_namemap( '' );
-       }
-
-       if( ! $get_file || $remote_idle ){
-               local( @rhelp ) = &ftp'site_commands();
-               $remote_has_chmod = grep( $_ eq 'CHMOD', @rhelp);
-               $remote_has_rename = grep( $_ eq 'RNFR', @rhelp) && grep( $_ eq 
'RNTO', @rhelp);
-               $remote_has_idle = grep( $_ eq 'IDLE', @rhelp);
-               if( $debug > 2 ){
-                       &msg( "remote site " . ($remote_has_chmod ? "has" : 
"hasn't") . " got chmod\n" );
-                       &msg( "remote site " . ($remote_has_idle ? "has" : 
"hasn't") . " got idle\n" );
-               }
-       }
-       
-       if( $remote_has_idle && $remote_idle ){
-               if( ! &ftp'quote( "site idle $remote_idle" ) ){
-                       &msg( "Cannot set remote idle\n" );
-               }
-               elsif( $debug > 2 ){
-                       &msg( "remote idle has been set to $remote_idle\n" );
-               }
-       }
-
-       if( $remote_group ){
-               if( ! &ftp'quote( "site group $remote_group" ) ){
-                       &msg( "Cannot set remote group\n" );
-               }
-               elsif( $debug > 2 ){
-                       &msg( "remote group has been set to $remote_group\n" );
-               }
-       }
-       
-       if( $remote_gpass ){
-               if( ! &ftp'quote( "site gpass $remote_gpass" ) ){
-                       &msg( "Cannot set remote gpass\n" );
-               }
-               elsif( $debug > 2 ){
-                       &msg( "remote gpass has been set\n" );
-               }
-       }
-
-       @log = ();
-       $cannot = 0;
-
-       local( @sub_dirs );
-       while( @transfer_list ){
-               # get files
-               $local_dir = shift( @transfer_list );
-               $remote_dir = shift( @transfer_list );
-               $get_patt = shift( @transfer_list );
-
-               # Clear all details
-               undef( @xfer_dest );
-               undef( @xfer_src );
-               undef( @xfer_attribs );
-               undef( @things_to_make );
-               undef( @sub_dirs );
-
-               if( ! $get_one_package ){
-                       if( $use_files ){
-                               &create_assocs();
-                       }
-
-                       if( !&get_local_directory_details() ){
-                               &msg( "Cannot get local directory details 
($local_dir)\n" );
-                               &disconnect();
-                               &msg( "\n" );
-                               return $exit_status;
-                       }
-               }
-
-               # Create a get_patt from the contents of the local directory
-               if( $update_local && $#get_top >= 0 ){
-                       $get_patt = '^' . join( '|^', @get_top );
-                       $get_patt =~ s/$squished//g;
-                       &msg( "get_patt = $get_patt\n" ) if $debug;
-               }
-       
-               if( !&get_remote_directory_details() ){
-                       &msg( "Cannot get remote directory details 
($remote_dir)\n" );
-                       if( $algorithm == 1 ){
-                               # Skip this directory.
-                               $cannot++;
-                               if( $cannot < $max_failed_dirs ){
-                                       next;
-                               }
-                               # Too many failed directories.  Fall thru'
-                               # into disconnect.
-                       }
-                       &disconnect();
-                       &msg( "\n" );
-                       return $exit_status;
-               }
-       
-               if( $get_file ){
-                       &compare_dirs(
-                               *remote_sorted,
-                                *remote_map, *remote_time,
-                                 *remote_size, *remote_type,
-                               *local_sorted,
-                                *local_map, *local_time,
-                                 *local_size, *local_type,
-                                  *local_keep, *local_keep_totals );
-               } else {
-                       &compare_dirs(
-                               *local_sorted,
-                                *local_map, *local_time,
-                                 *local_size, *local_type,
-                               *remote_sorted,
-                                *remote_map, *remote_time,
-                                 *remote_size, *remote_type,
-                                  *remote_keep, *remote_keep_totals );
-               }
-
-               if( $timestamp ){
-                       &set_timestamps();
-                       if( $algorithm == 1 ){
-                               foreach $sd ( @sub_dirs ){
-                                       push( @transfer_list, "$local_dir/$sd" 
);
-                                       push( @transfer_list, "$remote_dir/$sd" 
);
-                                       push( @transfer_list, $get_patt );
-                               }
-                       }
-
-                       next;
-               }
-
-               &make_dirs();
-               &do_all_transfers();
-
-               $exit_status = $exit_ok;        # Everything went ok.
-
-               if( $get_file ){
-                       # I must have finished with the remote information
-                       # so clear it out.
-                       &clear_remote();
-               }
-               else {
-                       # clear out local info.
-                       &clear_local();
-               }
-               
-               if( $save_deletes ){
-                       # If $save_dir is null, make $save_dir to be
-                       # subdirectory 'Old' under 
-                       # current path
-                       if( ( ! defined( $save_dir ) ) || ( $save_dir eq '' ) ){
-                               $save_dir = "$cwd/Old";
-                       }
-
-                       # If $save_dir is not absolute, take it as
-                       # subdirectory of current path
-                       if( $save_dir !~ m,^/, ){
-                                       $save_dir = "$cwd/$save_dir";
-                               }
-               }
-
-               if( $do_deletes || $save_deletes ){
-                       if( $get_file ){
-                               &do_deletes(
-                                       *local_sorted,
-                                        *local_map,
-                                         *local_type, *local_keep,
-                                          *local_totals, *local_keep_totals );
-                       }
-                       else {
-                               &do_deletes(
-                                       *remote_sorted,
-                                        *remote_map,
-                                         *remote_type, *remote_keep,
-                                          *remote_totals, *remote_keep_totals 
);
-                       }
-               }
-
-               &make_symlinks();
-               undef( @things_to_make );
-
-               if( $algorithm == 1 ){
-                       foreach $sd ( @sub_dirs ){
-                               push( @transfer_list, "$local_dir/$sd" );
-                               push( @transfer_list, "$remote_dir/$sd" );
-                               push( @transfer_list, $get_patt );
-                       }
-               }
-
-               # No more transfers if the connection has died.
-               last if ! $connected;
-       }
-
-       &clear_local();
-       &clear_remote();
-       
-       if( $use_files ){
-               # Close and zap.
-               &delete_assocs();
-       }
-
-       # Should I force a disconnect now?
-       if( $connected && $disconnect ){
-               &disconnect();
-       }
-
-       if( $dont_do || $timestamp ){
-               # Don't generate logs/email
-               &msg( "\n" );
-               return $exit_status;
-       }
-
-       local( $now ) = &time_to_standard( time );
-       if( $update_log ){
-               if( ! open( LOGG, ">>$update_log" ) ){
-                       &msg( "Cannot append to $update_log because: $!\n\n" );
-                       # Serious but this shouldn't stop mirroring.
-                       # return $exit_fail;
-               }
-               print LOGG "mirroring $package ($site:$remote_dir) completed 
successfully \@ $now\n";
-               print LOGG @log;
-               close( LOGG );
-       }
-
-       if( $#log >= 0 && $mail_prog ne '' && $mail_to =~ /./ ){
-               local( $arg );
-               eval "\$arg = \"$mail_subject\"";
-               if( ! open( MAIL, "|$mail_prog $arg $mail_to" ) ){
-                       &msg( "Cannot run: $com\n\n" );
-                       return $exit_fail;
-               }
-               if( $get_patt ){
-                       print MAIL "Mirrored $package ($site:$remote_dir -> 
$local_dir) $comment \@ $now\n";
-               }
-               else {
-                       print MAIL "Mirrored $package ($local_dir -> 
$site:$remote_dir) $comment \@ $now\n";
-               }
-               print MAIL @log;
-               close( MAIL );
-       }
-       undef( @log );
-
-       &msg( "\n" );
-       return $exit_status;
-}
-
-
-sub disconnect
-{
-       if( $connected ){
-               &msg( "disconnecting from $connected\n" ) if $debug;
-               if( ! $ftp'fatalerror ){
-                       &ftp'close();
-               }
-               else {
-                       &ftp'service_closed();
-               }
-       }
-       $connected = '';
-}
-
-# Connect to the site
-# Return 0 on a fail,
-# 1 if a connection was successfully made,
-# 2 if already connected to the site
-sub connect
-{
-       local( $attempts ) = 1; # Retry ONCE! Be friendly.
-       local( $res );
-
-       if( $connected eq $site && $curr_remote_user eq $remote_user ){
-               # Already connected to this site!
-               return 2;
-       }
-
-       # Clear out any session active session
-       &disconnect();
-
-       if( $proxy ){
-           $ftp'proxy = $proxy;
-           $ftp'proxy_gateway = $proxy_gateway;
-           $ftp'proxy_ftp_port = $proxy_ftp_port;
-       }
-       $res = &ftp'open( $site, $ftp_port, $retry_call, $attempts );
-       if( $res == 1 ){
-               # Connected
-               $connected = $site;
-       }
-       return $res;
-}      
-
-# This just prods the remote ftpd to prevent time-outs
-sub prod
-{
-       return unless $connected;
-
-       if( $debug > 2 ){
-               &msg( " prodding remote ftpd\n" );
-       }
-       &ftp'pwd();
-}
-
-# checkout and fixup any regexps.
-# return 0 on an error
-sub checkout_regexps
-{
-       local( $ret ) = 1;
-       # Check out the regexps
-       local( $t ) = 'x';
-       foreach $r ( @regexp_values ){
-               # regexps should never begin or end with a | or have
-               # two in a row otherwise the pattern matches everything.
-               # Use null to match everything if thats what you mean.
-               $value{ $r } =~ s/\|+/|/g;
-               $value{ $r } =~ s/^\|//;
-               $value{ $r } =~ s/\|$//;
-               local( $val ) = $value{ $r };
-               next if ! $val;
-               eval '$t =~ /$val/';
-               if( $@ ){
-                       local( $err );
-                       chop( $err = $@ );
-                       &msg( "Problem with regexp $r ($err)\n" );
-                       $ret = 0;
-               }
-       }
-       return $ret;
-}
-
-sub clear_local
-{
-       if( ! $use_files ){
-               undef( %local_map );
-       }
-       undef( @local_sorted );
-       undef( @local_time );
-       undef( @local_size );
-       undef( @local_type );
-       undef( @local_mode );
-       undef( @local_keep );
-       undef( @local_totals );
-       undef( @local_keep_totals );
-}
-
-sub clear_remote
-{
-       if( ! $use_files ){
-               undef( %remote_map );
-       }
-       undef( @remote_sorted );
-       undef( @remote_time );
-       undef( @remote_size );
-       undef( @remote_type );
-       undef( @remote_mode );
-       undef( @remote_keep );
-       undef( @remote_totals );
-       undef( @remote_keep_totals );
-}
-
-sub get_local_directory_details
-{
-       local( @dirs, $dir );
-       local( $last_prodded ) = time; # when I last prodded the remote ftpd
-
-       $next_local_mapi = $map_init;
-       
-       &clear_local();
-       
-       # Make sure the first elem is 0.
-       $local_time[ 0 ] = 0;
-       $local_size[ 0 ] = 0;
-       $local_type[ 0 ] = 0;
-       $local_mode[ 0 ] = 0;
-
-       @get_top = ();
-
-       &msg( "Scanning local directory $local_dir\n" ) if $debug;
-       
-       if( ! -d $local_dir ){
-               &msg( "$local_dir no such directory - creating it\n" );
-               if( $dont_do || $timestamp ){
-                       return 1;
-               }
-               if( &mkdirs( $local_dir ) ){
-                       &msg( $log, "Created local dir $local_dir\n" );
-                       $exit_xfer_status |= $exit_xfers;
-               }
-               else {
-                       &msg( $log, "FAILED to create local dir $local_dir\n" );
-               }
-       }
-       if( !chdir( $local_dir ) ){
-               &msg( "Cannot change directory to $local_dir\n" );
-               return 0;
-       }
-
-       if( $local_dir =~ m,^/, ){
-               $cwd = $local_dir;
-       }
-       else {
-               &cwd();
-       }
-
-       # @dirs is the list of all directories to scan
-       # As subdirs are found they are added to the end of the list
-       # and as 
-       @dirs = ( "." );
-       # Most of these variables should be locals in blocks below but
-       # that seems to tickle a perl bug and causes a lot of memory to
-       # be wasted.
-       local( $dir_level ) = 0;
-       local( $i ) = 0;
-       local( $path, $time, $size, $type, $mode, $name, $isdir, $value, 
$follow );
-       local( $dev,$ino,$fmode,$nlink,$uid,$gid,$rdev,$ssize,
-                     $atime,$mtime,$ctime,$blksize,$blocks );
-       while( defined( $dir = shift( @dirs ) ) ){
-
-               if( !opendir( DIR, $dir ) ){
-                       &msg( "Cannot open local directory $dir, skipping it\n" 
);
-                       next;
-               }
-
-               while( defined( $name = readdir( DIR ) ) ){
-                       $isdir = 0;
-
-                       # Prod the remote system from time to time
-                       # To prevent time outs.  Only look once every 50 files
-                       # to save on unnecessary systems calls.
-                       if( ($i % 50 == 0) && time > ($last_prodded + 
$prod_interval) ){
-                               $last_prodded = time;
-                               &prod();
-                       }
-                       $i ++;
-
-                       $path = "$dir/$name";
-                       $path =~ s,(^|/)\./,,;
-                       next if $name eq '.' || $name eq '..' ||
-                               ($local_ignore && $path =~ /$local_ignore/);
-
-                       $follow = ($follow_local_symlinks ne '' && $path =~ 
/$follow_local_symlinks/);
-                       if( !$follow && -l $path ){
-                               $value = readlink( $path );
-                               ( 
$dev,$ino,$fmode,$nlink,$uid,$gid,$rdev,$ssize,
-                                     $atime,$mtime,$ctime,$blksize,$blocks ) =
-                                       lstat( _ );
-                               $size = $ssize;
-                               $time = $mtime;
-                               $type = "l $value";
-                               $mode = $fmode;
-                       }
-                       elsif( ($isdir = ($follow ? (-d $path) : (-d _))) ||
-                                -f _ ){
-                               ( 
$dev,$ino,$fmode,$nlink,$uid,$gid,$rdev,$ssize,
-                                     $atime,$mtime,$ctime,$blksize,$blocks ) =
-                                       stat( _ );
-                               $size = $ssize;
-                               $time = $mtime;
-                               $mode = $fmode;
-                               if( $isdir ){
-                                       push( @dirs, $path ) if $recursive;
-                                       $type = 'd';
-                               }
-                               else {
-                                       $type = 'f';
-                               }
-                               if( $dir_level == 0 && $update_local ){
-                                       push( @get_top, $path );
-                               }
-                       }
-                       else {
-                               &msg( "unknown file type $path, skipping\n" );
-                               next;
-                       }
-                       if( $debug > 2){
-                               printf "local: %s %s %s %s 0%o\n",
-                                       $path, $size, $time, $type, $mode;
-                       }
-                       if( $max_age && $time != 0 && $time < $max_age ){
-                               &msg( "   too old: $path\n" ) if $debug > 1;
-                               next;
-                       }
-
-                       local( $mapi ) = $next_local_mapi++;
-                       # push( @local_sorted, $path );
-                       $local_sorted[ $mapi - 1 ] = $path;
-                       $local_map{ $path } = $mapi;
-                       $local_time[ $mapi ] = $time;
-                       $local_size[ $mapi ] = $size;
-                       $local_type[ $mapi ] = $type;
-                       $local_mode[ $mapi ] = $mode;
-                       if( $type eq 'd' ){
-                               $local_totals[ 0 ]++;
-                       }
-                       else {
-                               $local_totals[ 1 ]++;
-                       }
-               }
-               closedir( DIR );
-               $dir_level++;
-
-               if( ! $recursive ){
-                       last;
-               }
-       }
-       return 1;
-}
-
-# Return true if the remote directory listing was brought back safely.
-sub get_remote_directory_details
-{
-       local( $type_changed ) = 0;
-       local( $udirtmp );
-       local( $storename ) = "/dev/null";
-
-       &msg( "Scanning remote directory $remote_dir\n" ) if $debug;
-       
-       if( $store_remote_listing ){
-               eval "\$storename = \"$store_remote_listing\"";
-       }
-
-       $next_remote_mapi = $map_init;
-       &clear_remote();
-
-       # Make sure the first elem is 0.
-       $remote_time[ 0 ] = 0;
-       $remote_size[ 0 ] = 0;
-       $remote_type[ 0 ] = 0;
-       $remote_mode[ 0 ] = 0;
-
-       if( $remote_fs !~ /cms/ && ! &ftp'cwd( $remote_dir ) ){
-               if( $get_file ){
-                       # no files to get
-                       return 0;
-               }
-
-               &msg( "Failed to change to remote directory ($remote_dir) 
trying to create it\n" );
-               &mkdirs( $remote_dir );
-
-               if( ! &ftp'cwd( $remote_dir ) ){
-                       &msg( "Cannot change to remote directory ($remote_dir) 
because: $ftp'response\n" );
-                       return 0;
-               }
-       }
-
-       local( $rls );
-
-       $use_ls = 0;
-
-       if( $local_ls_lR_file ){
-               local( $dirtmp ) = $local_ls_lR_file;
-               &msg( " Using local file $local_ls_lR_file for remote dir 
listing\n" ) if $debug;
-               local( $unsquish );
-               if( $dirtmp =~ /\.$sys_compress_suffix$/ ){
-                       $unsquish = $sys_compress_prog;
-               }
-               elsif( $dirtmp =~ /\.($gzip_suffix|$old_gzip_suffix)$/ ){
-                       $unsquish = $gzip_prog;
-               }
-               if( defined( $unsquish ) ){
-                       local( $f );
-                       $f = $dirtmp;
-                       $f =~ s/($shell_metachars)/\\$1/g;
-                       $dirtmp = "$unsquish -d < \"$f\" |";
-               }
-               elsif( $ls_lR_file =~ /($times_suffix|$patch_gzip_suffix)$/ ){
-                       return 0 if &patch_ls_lR_file()==0;    
-               }
-               if( ! open( DIRTMP, $dirtmp ) ){
-                       &msg( "Cannot open $dirtmp\n" );
-                       return 0;
-               }
-               $rls = "main'DIRTMP";
-               # Now we don't want to overwrite our input... better test?
-               if( $local_ls_lR_file eq $storename ){
-                       $storename = "/dev/null";
-               }
-       }
-       elsif( $ls_lR_file ){
-               local( $dirtmp );
-               $dirtmp = "$big_temp/.dir$$";
-               if( $ls_lR_file =~ 
/\.($sys_compress_suffix|$gzip_suffix|$old_gzip_suffix)$/ ){
-                       $dirtmp .= ".$1";
-               }
-
-               &msg( " Getting directory listing from remote file 
$ls_lR_file\n" ) if $debug;
-               if( ! &ftp'get( $ls_lR_file, $dirtmp, 0 ) ){
-                       &msg( "Cannot get dir listing file\n" );
-                       return 0;
-               }
-               local( $unsquish );
-               if( $dirtmp =~ /\.$sys_compress_suffix$/ ){
-                       $unsquish = $sys_compress_prog;
-               }
-               elsif( $dirtmp =~ /\.($gzip_suffix|$old_gzip_suffix)$/ ){
-                       $unsquish = $gzip_prog;
-               }
-               if( defined( $unsquish ) ){
-                       local( $f, $uf );
-                       $uf = $udirtmp = $dirtmp;
-                       $dirtmp =~ s/($shell_metachars)/\\$1/g;
-                       $f = $dirtmp;
-                       $dirtmp =~ 
s/\.($sys_compress_suffix|$gzip_suffix|$old_gzip_suffix)$//;
-                       $udirtmp =~ 
s/\.($sys_compress_suffix|$gzip_suffix|$ol_gzip_suffix)$//;
-                       if( &sys( "$unsquish -d < \"$f\" > \"$dirtmp\"" ) != 0 
){
-                               &msg( "Cannot uncompress directory listing\n" );
-                               return 0;
-                       }
-                       unlink( $uf );
-               }
-               else {
-                       $udirtmp = $dirtmp;
-               }
-
-               open( DIRTMP, $dirtmp ) || die "Cannot open $dirtmp";
-               $rls = "main'DIRTMP";
-       }
-       else {
-               $use_ls = 1;
-               if( ! &ftp'type( 'A' ) ){
-                       &msg( "Cannot set type to ascii for dir listing, 
ignored\n" );
-                       $type_changed = 0;
-               }
-               else {
-                       $type_changed = 1;
-               }
-       }
-       
-       $lsparse'fstype = $remote_fs;
-       $lsparse'name = "$site:$package";
-       
-       if( $use_ls ){
-               local( $flags ) = $flags_nonrecursive;
-               if( $recursive && ! $recurse_hard ){
-                       $flags = $flags_recursive;
-               }
-               $lsparse'report_subdirs = (! $recurse_hard && $algorithm == 0);
-               if( !&ftp'dir_open( $flags ) ){
-                       &msg( "Cannot get remote directory listing because: 
$ftp'response\n" );
-                       return 0;
-               }
-               
-               $rls = "ftp'NS";
-       }
-               
-       $rcwd = '';
-       if( $vms ){
-               # Strip this off all pathnames to make them
-               # relative to the remote_dir
-               $rcwd = $remote_dir;
-       }
-       $dateconv'use_timelocal = $use_timelocal;
-       if( !&lsparse'reset( $rcwd ) ){
-               &msg( "$remote_fs: unknown fstype\n" );
-               return 0;
-       }
-       if( $vms ){
-               # Need to get in terms of the full pathname
-               # so add it back in - see unix2vms at end of mirror
-               $vms_dir = $remote_dir;
-       }
-       
-       if( $storename ne "/dev/null" ){
-               open( STORE, ">$storename" ) || die( "Cannot write to 
$storename\n" );
-       }
-
-       local( $parse_state ) = &parse_remote_details();
-
-       close( STORE );
-
-       
-       if( $local_ls_lR_file ){
-               close( DIRTMP );
-       }
-       elsif( $ls_lR_file ){
-               close( DIRTMP );
-               unlink( $udirtmp );
-       }
-       else {
-               # Could optimise this out - but it makes sure that
-               # the other end gets a command straight after a possibly
-               # long dir listing.
-               if( ! &ftp'type( $text_mode ? 'A' : 'I' ) ){
-                       local( $msg ) = "Cannot reset type after dir listing, ";
-                       if( $type_changed ){
-                               # I changed it before - so I must be able to
-                               # change back unless something is wrong
-                               $msg .= "aborting\n";
-                               &msg( $msg );
-                               return 0;
-                       }
-                       else {
-                               $msg .= "ignoring\n";
-                               &msg( $msg );
-                       }
-               }
-       }
-
-       # If the other end dropped part way thru make sure the
-       # higher routines know!
-       return $parse_state;
-}
-
-# Get remote ls-lR times or mirror gzipped patch files.
-sub patch_ls_lR_file
-{
-       if( ! $patch_prog ){
-               &msg( "No patch program on PATH\n" );
-               return 0;
-       }
-       local( $f, $fr, $flb, $flt, $flp, $flz, $frb, $frt );
-       local( $to , $tn );
-       $frb = $frt = $ls_lR_file;
-       $flb = $dirtmp;
-       &msg( "Patching $flb using $frb\n" ) if $debug;
-       local( $tlb ) = -f $flb?(stat($flb))[9]:0;
-       $dateconv'use_timelocal = $use_timelocal;
-       $flp = "$flb$patch_suffix";
-       $flz = "$flb$patch_gzip_suffix";
-       # Get times and patch.
-       if( $frt =~ /$times_suffix$/ ){
-               # Use remote times file.
-               $frb =~ s/$times_suffix$//;
-               $flt = "$flb$times_suffix";
-               &ftp'get( $frt, $flt, 0 ) ?  
-                       &msg( "Got $frt\n" ):
-                       return 0;
-               open( FT, $flt );
-               for( $to, $tn ){
-                       $f = gmtime( <FT> );
-                       $_ = &lstime_to_time( $f );
-               }
-               close( FT );
-               $f = "$frb$patch_gzip_suffix";
-               if( $tlb == $to && &ftp'get( $f, $flz, 0 ) &&
-                       ! &sys("$gzip_prog -df <$flz >$flp") ){
-                       &msg( $log, "Got $f\n" );
-                       unlink $flz if ! $debug;
-               }
-       }
-       else {
-               # Get time of remote patch file.
-               $lsparse'fstype = $remote_fs;
-               $lsparse'name = "$site:$package";
-               &lsparse'reset( $remote_dir );
-               if( ! &ftp'dir_open( "$flags_nonrecursive $frb" ) ){
-                       &msg( "List remote ls-lR patch: $ftp'response\n" );
-                       &ftp'dir_close();
-                       return 0;
-               }
-               local( $p, $s, $trz, $t, $m ) = &lsparse'line( ftp'NS );
-               &msg( "Remote ls-lR patch:\n$p $s $trz $t $m\n" ) if $debug;
-               if( ! &ftp'dir_close() ){
-                       &msg( "List remote ls-lR patch: $ftp'response\n" );
-                       return 0;
-               }
-               # If remote time does not match local get remote patch file.
-               local( $tlz ) = -f $flz?(stat($flz))[9]:0;
-               if( $trz == $tlz ){
-                       &msg( "No new $frb\n" );
-                       &msg( "age $trz same as $flz\n" ) if $debug;
-               }
-               else {
-                       &ftp'get( $frb, $flz, 0 )?
-                       &msg( $log, "Got $frb $s\n" ):
-                       return 0;
-                       &utime( $trz, $trz, $flz );
-               }
-               # unzip patch and read times.
-               $frb =~ s/$patch_gzip_suffix$//;
-               &sys( "$gzip_prog -df <$flz >$flp" ) ?
-                       return 0:
-                       open( FT, $flp );
-               for( $to, $tn ){
-                       ( $fr, $f ) = split( /\t/, <FT> );
-                       $_ = &lstime_to_time( $f );
-               }
-               close( FT );
-       }
-       # Patch or leave or get new local ls-lR file?
-       $f = "$patch_prog ";
-       $f .= $use_timelocal?$patch_local:$patch_UTC;
-       if( $tlb == $to && ! &sys( "$f $flb $flp" ) ){
-               &msg( "$flb patched\n" );
-       }
-       elsif( $tlb == $tn ){
-               &msg( "$flb up to date\n" );
-       }
-       else {
-               $fr = "$frb.$gzip_suffix";
-               $f = "$flb.$gzip_suffix";
-               if( &ftp'get( $fr, $f, 0 ) &&
-                       ! &sys( "$gzip_prog -df $f" ) ){
-                       &utime( $tn, $tn, $flb );
-                       &msg( $log, "Got $fr for $flb\n" );
-               }
-               else {
-                       &msg( "Did not get $fr\nand $ftp'response\n" );
-                       return 0;
-               }
-       }
-       unlink $flp, $flt if ! $debug;
-       if( ! $do_deletes && $exclude_patt =~ /^\.($|\|)/ ){
-               &msg( "$flb check complete\n" );
-               next;
-       }
-       return 1;
-}
-
-sub parse_timeout
-{
-       $parse_timed_out = 1;
-       die "timeout: parse_remote_details";
-}
-
-sub parse_remote_details
-{
-       local( $ret );
-       local( $old_sig );
-
-       $parse_timed_out = 0;
-       
-       if( ! $use_ls ){
-               # No need to bother with the timers
-               return &parse_remote_details_real();
-       }
-       
-       # This may timeout
-       $old_sig = $SIG{ 'ALRM' };
-       $SIG{ 'ALRM' } = "main\'parse_timeout";
-       
-       $ret = eval '&parse_remote_details_real()';
-       
-       &alarm( 0 );
-
-       $SIG{ 'ALRM' } = $old_sig;
-
-       if( $@ =~ /^timeout/ ){
-               &msg( "timed out parsing directory details\n" );
-               return 0;
-       }
-       return $ret;
-}
-
-
-sub parse_remote_details_real
-{
-       local( $path, $size, $time, $type, $mode, $rdir, $rcwd );
-       local( @dir_list );
-       local( $i ) = 0;
-       local( $old_path );
-       
-       if( $use_ls ){
-               &alarm( $parse_time );
-       }
-       
-       # Need to loop in case $recurse_hard
-       while( 1 ){
-               while( !eof( $rls ) ){
-                       ( $path, $size, $time, $type, $mode ) =
-                               &lsparse'line( $rls );
-                       last if $path eq '';
-                       if( $ls_fix_mappings ){
-                               local( $old_path ) = $path;
-                               $_ = $path;
-                               eval $ls_fix_mappings;
-                               if( $_ ne $old_path ){
-                                       $path = $_;
-                               }
-                       }
-                       next if $name eq '.' || $name eq '..';
-                       if( $debug > 2 ){
-                               printf "remote: %s %s %s %s 0%o\n",
-                                       $path, $size, $time, $type, $mode;
-                       }
-                       if( $use_ls ){
-                               # I just got something so shouldn't timeout
-                               &alarm( $parse_time );
-                       }
-                       else {
-                               # Prod the remote system from time to time
-                               # To prevent time outs.  Only look once every
-                               # 50 files
-                               # to save on unnecessary systems calls.
-                               if( ($i % 50 == 0) &&
-                                   time > ($last_prodded + $prod_interval) ){
-                                       $last_prodded = time;
-                                       &prod();
-                               }
-                               $i ++;
-                       }
-                       
-                       if( $algorithm == 1 ){
-                               $path0 = substr( $remote_dir, $rem_start_len );
-                               if( $path0 ne '' ){
-                                       $path0 .= "/";
-                               }
-                               $path0 .= $path;
-                               $path0 =~ s,^/,,;
-                               # &msg( "debug: $path0, $remote_dir, 
$rem_start_len\n" );
-                       }
-                       else {
-                               $path0 = $path;
-                       }
-
-                       if( $exclude_patt && $path0 =~ /$exclude_patt/ ){
-                               &msg( "   exclude: $path0\n" ) if $debug > 1;
-                               next;
-                       }
-
-                       if( $type eq 'd' ){
-                               push( @dir_list, $path0 );
-                       }
-                       
-                       if( $max_age && $time != 0 && $time < $max_age ){
-                               &msg( "   too old: $path0\n" ) if $debug > 1;
-                               next;
-                       }
-                       
-                       # If vms and only keeping the latest version
-                       if( $vms && !$vms_keep_versions ){
-                               # If we already have a file, pick the newer
-                               # TODO: pick the greatest version number
-                               local( $ri ) = $remote_map{ $path };
-                               if( $ri &&
-                                   $time > $remote_time[ $ri ] ){
-                                       $remote_time[ $ri ] = $time;
-                                       $remote_size[ $ri ] = $size;
-                                       $remote_type[ $ri ] = $type;
-                                       $remote_mode[ $ri ] = $mode;
-                                       next;
-                               }
-                       }
-                       
-                       local( $mapi ) = $next_remote_mapi++;
-                       # push( @remote_sorted, $path );
-                       $remote_sorted[ $mapi - 1 ] = $path;
-                       $remote_map{ $path } = $mapi;
-                       $remote_time[ $mapi ] = $time;
-                       $remote_size[ $mapi ] = $size;
-                       $remote_type[ $mapi ] = $type;
-                       $remote_mode[ $mapi ] = $mode;
-                       if( $type eq 'd' ){
-                               $remote_totals[ 0 ]++;
-                       }
-                       else {
-                               $remote_totals[ 1 ]++;
-                       }
-               }
-
-               if( $use_ls ){
-                       if( ! &ftp'dir_close() ){
-                               &msg( "Failure at end of remote directory" .
-                                " ($rdir) because: $ftp'response\n" );
-                               return 0;
-                       }
-               }
-               
-               if( $recurse_hard ){
-                       local( $done ) = 0;
-                       while( 1 ){
-                               if( $#dir_list < 0 ){
-                                       # Make sure we end in the right 
directory.
-                                       if( ! &ftp'cwd( $remote_dir ) ){
-                                               &msg( "Cannot change to remote 
directory" .
-                                                " ($rdir) because: 
$ftp'response\n" );
-                                               return 0;
-                                       }
-                                       $done = 1;
-                                       last;
-                               }
-                               $rcwd = shift( @dir_list );
-                               $rdir = "$remote_dir/$rcwd";
-                               if( $debug > 2 ){
-                                       print "scanning: $remote_dir / $rcwd\n";
-                               }
-                               if( ! &ftp'cwd( $rdir ) ){
-                                       &msg( "Cannot change to remote 
directory" .
-                                        " ($rdir) because: $ftp'response\n" );
-                                       next;
-                               }
-                               last;
-                       }
-                       if( $done ){
-                               last;
-                       }
-                       if( !&ftp'dir_open( $flags_nonrecursive ) ){
-                               &msg( "Cannot get remote directory" .
-                                       " listing because: $ftp'response\n" );
-                               return 0;
-                       }
-                       &lsparse'reset( $rcwd );
-                       
-                       # round the loop again.
-                       next;
-               }
-               
-               # All done - snap the loop
-               last;
-       }
-       return 1;
-}
-
-sub compare_dirs
-{
-       # This declaration must be "local()" because it modifies global data.
-       local( *src_paths,
-               *src_map, *src_time,
-                *src_size, *src_type, 
-              *dest_paths,
-               *dest_map, *dest_time,
-                *dest_size, *dest_type,
-                 *dest_keep, *dest_keep_totals ) = @_;
-       local( $src_path, $dest_path, $i );
-       local( $last_prodded ) = time; # when I last prodded the remote ftpd
-
-       # Most of these variables should be locals in blocks below but
-       # that seems to tickle a perl bug and causes a lot of memory to
-       # be wasted.
-       local( $desti, $srci, $compress, $srciZ, $srcigz, $split, 
$dest_path_real );
-       local( $old_dest_path, $existing_path, $tmp, $restart );
-       local( $sp, $dp ) = ($#src_paths + 1, $#dest_paths + 1);
-       
-       &msg( "compare directories (src $sp, dest $dp)\n" ) if $debug;
-       $total_src_size = 0;
-
-       for( $i = 0; $i <= $#src_paths; $i++ ){
-               $dest_path = $src_path = $src_paths[ $i ];
-               
-               $desti = $dest_map{ $dest_path };
-               $srci = $i + 1;
-
-               # Prod the remote system from time to time
-               # To prevent time outs.  Only look once every 50 files
-               # to save on unnecessary systems calls.
-               if( ($i % 50 == 0) && time > ($last_prodded + $prod_interval) ){
-                       $last_prodded = time;
-                       &prod();
-               }
-
-               if( $debug > 2 ){
-                       &msg( "Compare src $src_path ($srci): " .
-                               &t2str( $src_time[ $srci ] ) );
-                       &msg( " $src_size[ $srci ] $src_type[ $srci ]\n" );
-               }
-
-               # I'm about to do a lot of matching on this
-               study( $src_path );
-
-               # Should I compress this file?
-               #  Don't compress this file if trying to do a compress->gzip
-               # conversion.
-               $compress = 0;
-               if( &will_compress( $src_path, $srci ) ){
-                       if( $dest_path !~ /$squished/o ){
-                               $srciZ = $src_map{ 
"$src_path.$sys_compress_suffix" };
-                               $srcigz = $src_map{ "$src_path.$gzip_suffix" };
-                               if( $srciZ || $srcigz ){
-                                       # There is a compressed version
-                                       # too!  Skip the uncompressed one
-                                       &msg( "   do not xfer, compressed 
version exists: $src_path\n" ) if $debug > 1;
-                                       next;
-                               }
-
-                               $compress = 1;
-                               $dest_path .= '.' . $compress_suffix;
-                               $desti = $dest_map{ $dest_path };
-                       }
-               }
-               # need to adjust the symlink pointer?
-               elsif( $src_type[ $srci ] =~ /^l (.*)/ ){
-                  # Am I going to squish the file this points to?
-                  local( $real, $reali, $reali1 );
-                  local( $count ) = 0;
-                  while( $count++ <= 10 ){
-                       $real = &expand_symlink( $src_path, $1 );
-                       $reali = $src_map{ $real };
-                       # Look out for when the symlink loops on itself
-                       if( defined( $reali1 ) && $reali == $reali1 ){
-                               last;
-                       }
-                       $reali1 = $reali;
-                       last if $src_type[ $reali ] !~ /^l (.*)$/;
-                  }
-                  if( &will_compress( $real, $reali ) ){
-                       # real is going to be (at least) squished so
-                       # suffix the dest
-                       $dest_path .= '.' . $compress_suffix;
-                       $desti = $dest_map{ $dest_path };
-                       $src_type[ $srci ] .= '.' . $compress_suffix;
-                       &msg( "  symlink pointer is now $dest_path\n" ) if 
$debug > 1;
-                       if( $src_map{ $dest_path } ){
-                               &msg( "do not xfer, $dest_path exists\n" ) if 
$debug > 1;
-                               next;
-                       }
-                  }
-                  if( &will_split( $real, $reali ) ){
-                       $src_type[ $srci ] .= '-split/README';
-                       &msg( "  symlink pointer now to $real-split/README'\n" 
) if $debug > 1;
-                  }
-               }
-               
-               # If this is a file that I decided not to compress but the
-               # remote file is compressed and I want a gziped local version
-               # then force compression.
-               # This ignores any compress_excl flags.
-               if( ! $compress &&
-                   $compress_suffix eq $gzip_suffix &&
-                   $compress_conv_patt && $src_path =~ /$compress_conv_patt/ ){
-                       $_ = $dest_path;
-                       eval $compress_conv_expr;
-                       $dest_path = $_;
-                       # check if dest_path exists in the sources.  If it
-                       # does, ignore this file.  This is to avoid the
-                       # double mirroring problem if you are using gzip and
-                       # the source site has both foo.Z and foo.gz.
-                       if( $src_map{ $dest_path } ){
-                               &msg( "Skipping $src_path because remote site 
also has $dest_path\n" ) if $debug > 2;
-                               next;
-                       }
-                       &msg( "   $src_path -> $dest_path\n" ) if $debug > 2;
-                       $desti = $dest_map{ $dest_path };
-                       $compress = 1;
-               }
-
-               # Am I converting the compression on the file this points to?
-               if( $src_type[ $srci ] =~ /^l (.*)/ &&
-                     $compress_suffix eq $gzip_suffix ){
-                       local( $value ) = $1;
-                       local( $real ) = &expand_symlink( $src_path, $value );
-                       local( $reali ) = $src_map{ $real };
-                       if( $src_type[ $reali ] ne 'd' &&
-                           $src_type[ $reali ] ne /^l .*/ &&
-                           $compress_conv_patt && $real =~ 
/$compress_conv_patt/ ){
-                           $dest_path =~ s/$sys_compress_suffix$/$gzip_suffix/;
-                           $desti = $dest_map{ $dest_path };
-                           $value =~ s/$sys_compress_suffix$/$gzip_suffix/;
-                           &msg( "  symlink pointer is now $dest_path 
(conv)\n")
-                                if $debug > 1;
-                       }
-                       if( $name_mappings || $external_mapping ){
-                               local( $old ) = $value;
-                               $value = &map_name( $value );
-                               if( $value ne $old ){
-                                   &msg( "   Mapped symlink value is $value\n" 
) if $debug > 2;
-                               }
-                                   
-                       }
-                       $src_type[ $srci ] = "l ".$value;
-               }
-
-               if( $name_mappings || $external_mapping ){
-                       local( $old_dest_path ) = $dest_path;
-                       $dest_path = &map_name( $dest_path );
-                       if( $dest_path ne $old_dest_path ){
-                               $desti = $dest_map{ $dest_path };
-                               &msg( "   Mapped name is $dest_path\n" ) if 
$debug > 2;
-                       }
-               }
-               
-               # Should this file be split?
-               $split = 0;
-               $dest_path_real = undef;
-               if( &will_split( $src_path, $srci ) ){
-                       $split = 1;
-                       $dest_path_real = $dest_path;
-                       $dest_path .= "-split/part01";
-                       $desti = $dest_map{ $dest_path };
-               }
-
-               if( $debug > 2 ){
-                       &msg( "       dest $dest_path ($desti): " .
-                               &t2str( $dest_time[ $desti ] ) );
-                       &msg( " $dest_size[ $desti ] $dest_type[ $desti ]" );
-                       &msg( " (->$compress_suffix)" ) if $compress;
-                       &msg( " (split)" ) if $split;
-                       &msg( "\n" );
-               }
-               
-               if( $algorithm == 1 ){
-                       $src_path0 = substr( $remote_dir, $rem_start_len );
-                       if( $src_path0 ne '' ){
-                               $src_path0 .= "/";
-                       }
-                       $src_path0 .= $src_path;
-                       $src_path0 =~ s,^/,,;
-                       #&msg( "debug: $src_path0, $remote_dir, 
$rem_start_len\n" );
-               }
-               else {
-                       $src_path0 = $src_path;
-               }
-                       
-               if( $get_patt && $src_path0 !~ /$get_patt/ ){
-                       &msg( "   do not xfer: $src_path0\n" ) if $debug > 1;
-                       next;
-               }
-
-               # Just create any needed directories (the timestamps
-               # should be ignored)
-               if( $src_type[ $srci ] eq 'd' ){
-                       if( $algorithm == 1 ){
-                               if( $exclude_patt && $src_path0 =~ 
/$exclude_patt/ ){
-                                       &msg( "   exclude: $src_path0\n" ) if 
$debug > 1;
-                               }
-                               else {
-                                       $rel_src_path = $src_path;
-                                       $rel_src_path =~ s,.*/,,;
-                                       push( @sub_dirs, $rel_src_path );
-                                       &msg( "   adding $rel_src_path\n" ) if 
$debug;
-                               }
-                       }
-                       if( $dest_type[ $desti ] ne 'd' ){
-                               push( @things_to_make, "d $dest_path" );
-                               &msg( "   need to mkdir $dest_path\n" ) if 
$debug > 1;
-                       }
-                       # keep the directory once made
-                       # (Also if local is really a symlink elsewhere
-                       #  it will be kept.)
-                       &keep( $desti, $dest_path, *dest_keep, 
*dest_keep_totals, *dest_map, 0 );
-                       next;
-               }
-
-               # Well that just leaves files and symlinks.
-               # Do various checks on them.
-
-               if( $desti && ! $dest_keep[ $desti ] ){
-                       &keep( $desti, $dest_path, *dest_keep, 
*dest_keep_totals, *dest_map, 1 );
-                       if( $split ){
-                               # Mark all the split parts as kept
-                               local( $dpp, $dps );
-                               ($dpp, $dps) = ($dest_path =~ 
m,^(.*/)(part[0-9]+)$,);
-                               while( 1 ){
-                                       $dps++;
-                                       if( !($di = $dest_map{ $dpp . $dps }) ){
-                                               last;
-                                       }
-                                       &keep( $di, $dpp . $dps, *dest_keep, 
*dest_keep_totals, *dest_map, 1 );
-                               }
-                               # And the README
-                               $dps = 'README';
-                               $di = $dest_map{ $dpp . $dps };
-                               if( $di ){
-                                       &keep( $di, $dpp . $dps, *dest_keep, 
*dest_keep_totals, *dest_map, 1 );
-                               }
-                               # And the directory
-                               chop( $dpp );
-                               $dps = '';
-                               $di = $dest_map{ $dpp . $dps };
-                               if( $di ){
-                                       &keep( $di, $dpp . $dps, *dest_keep, 
*dest_keep_totals, *dest_map, 0 );
-                               }
-                       }
-               }
-               
-               local( $update ) = 0;
-
-               if( ! $get_missing ){
-                       next;
-               }
-
-               if( ($max_size > 0) && ($src_size[ $srci ] > $max_size) ){
-                       &msg( "   src is too big, no need to xfer it\n" ) if 
$debug > 2;
-                       next;
-               }
-
-               if( $force || ! $dest_type[ $desti ] || $timestamp ){
-                       # Either I'm forcing xfers or the file doesn't exist
-                       # either way I should update
-                       $update = 1;
-               }
-               else {
-                       # Maybe the src is newer?
-                       if( $get_newer &&
-                          &compare_times( $src_time[ $srci ], $dest_time[ 
$desti ] ) ){
-                               &msg( "   src is newer, xfer it\n" ) if $debug 
> 2;
-                               $update = 1;
-                       }
-                       # or maybe its size has changed?
-                       # don't bother if file was compressed or split as the
-                       # size will have changed anyway
-                       if( !$update &&
-                          !$compress && !$split &&
-                          $get_size_change &&
-                          ($src_type[ $srci ] eq 'f') &&
-                          ($src_size[ $srci ] != $dest_size[ $desti ]) ){
-                               $update = 1;
-                               if( $debug > 2 ){
-                                   &msg( "   src is different size, xfer it\n" 
);
-                               }
-                       }
-                       # Maybe it has changed type!
-                       if( !$update &&
-                          $src_type[ $srci ] ne $dest_type[ $desti ] ){
-                               $update = 1;
-                               if( $debug > 2 ){
-                                   &msg( "   src has different type, xfer 
it\n" );
-                               }
-                       }
-               }
-
-               if( ! $update ){
-                       next;
-               }
-
-               if( $src_type[ $srci ] =~ /^l (.*)/ ){
-                       # If the symlink hasn't changed then may as well 
-                       # leave it alone
-                       if( $src_type[ $srci ] eq $dest_type[ $desti ] ){
-                               next;
-                       }
-                       # DONT FORGET TO NAME MAP!!!!
-                       $existing_path = $1;
-
-                       if( $compress_suffix eq $gzip_suffix &&
-                           $compress_conv_patt && $existing_path =~ 
/$compress_conv_patt/ ){
-                               $_ = $existing_path;
-                               eval $compress_conv_expr;
-                               $existing_path = $_;
-                       }
-
-                       push( @things_to_make, "l $dest_path -> $existing_path" 
);
-                       &msg( "   need to symlink $dest_path -> 
$existing_path\n" ) if $debug > 2;
-                       next;
-               }
-
-               # Now that the tests are complete use the real dest.
-               if( defined( $dest_path_real ) ){
-                       $dest_path = $dest_path_real;
-                       $desti = $dest_map{ $dest_path };
-               }
-
-               $total_src_size += $src_size[ $srci ];
-               if( $dont_do ){
-                       &msg("Should ");
-               }
-               &msg( "$XFER file $src_path as $dest_path ($src_size[ $srci ])".
-                       ($compress ? " (->$compress_suffix)" : "") .
-                       ($split ? " (split)" : "") . "\n" ) if $debug > 1;
-               push( @xfer_dest, $dest_path );
-               push( @xfer_src, $src_path );
-
-               # If xfers can be restarted AND
-               # a temporary file exists from a previous attempt at a
-               # transfer  AND
-               # the timestamps of the exising temp file and the original
-               # src file match then flag a restart.
-               $tmp = &filename_to_tempname( '', $dest_path );
-               $tmpi = $dest_map{ $tmp };
-               $restart = '';
-#warn "get_file = $get_file, can_restart = $can_restart, dest_size = 
$dest_size[ $tmpi ], dest_time = $dest_time[ $tmpi ], src_time = $src_time[ 
$srci ]\n";
-               if( $get_file &&
-                  $can_restart &&
-# Debian bug #24243, mirror-2.9 does not restart, address@hidden
-                  $dest_size[ $tmpi ] != 0 ){
-                   if ($dest_time[ $tmpi ] eq $src_time[ $srci ]) {
-                       # Then this is an xfer of the same file
-                       # so just restart where I left off
-                       $restart = 'r';
-                   } elsif ( $debug > 1 ){
-                       &msg ( "Timestamp useless on $tmp\n" );
-                   }
-               }
-               # x for xfer, c for compress, s for split
-               push( @xfer_attribs,
-                    "x$restart" .
-                    ($compress ? "c" : "") .
-                    ($split ? "s" : "") );
-       }
-       &msg( "to $XFER $total_src_size bytes\n" ) if $debug > 2;
-}
-
-sub map_name
-{
-       local( $name ) = @_;
-
-       if( $name_mappings ){
-               local( $old_name ) = $name;
-               $_ = $name;
-               eval $name_mappings;
-               if( $_ ne $old_name ){
-                       $name = $_;
-               }
-       }
-       
-       if( $external_mapping ){
-               $old_name = $name;
-               local( $tmp ) = &extmap'map( $name );
-               if( $tmp ne $old_name ){
-                       $name = $tmp;
-               }
-       }
-       return $name;
-}
-
-
-sub set_timestamps
-{
-       local( $src_path );
-       
-       &msg( "setting timestamps\n" );
-       if( ! $get_file ){
-               &msg( "Cannot set remote timestamps\n" );
-               return;
-       }
-
-       local( $dest_path, $dest_loc_mapi, $src_rem_mapi,  $rtime );
-       
-       foreach $src_path ( @xfer_src ){
-               $dest_path = shift( @xfer_dest );
-               $dest_loc_mapi = $local_map{ $dest_path };
-               $src_rem_mapi = $remote_map{ $src_path };
-
-               $rtime = $remote_time[ $src_rem_mapi ];
-               if( $dest_loc_mapi && $local_time[ $dest_loc_mapi ] ne $rtime ){
-                       &set_timestamp( $dest_path, $rtime );
-               }
-       }
-}
-
-sub set_timestamp
-{
-       local( $path, $time ) =  @_;
-       
-       local( $pr_time ) = &t2str( $time );
-
-       if( $dont_do ){
-               &msg( "Should set time of $path to $pr_time\n" );
-               return;
-       }
-
-       if( $timestamp || $debug > 2 ){
-               &msg( "Setting time of $path to $pr_time\n" );
-       }
-
-       if( ! &utime( $time, $time, $path ) ){
-               &msg( $log, "Cannot set file times for $path to $pr_time 
because: $!\n" );
-       }
-}
-
-sub make_dirs
-{
-       local( $thing );
-
-       foreach $thing ( @things_to_make ){
-               if( $thing !~ /^d (.*)/ ){
-                       next;
-               }
-               if( $dont_do ){
-                       &msg( "Should mkdir $1\n" );
-               }
-               else {
-                       &mkdirs( $1 );
-               }
-       }
-}
-
-sub make_symlinks
-{
-       local( $thing );
-
-       thing:
-       foreach $thing ( @things_to_make ){
-               if( $thing !~ /^l (.*) -> (.*)/ ){
-                       next;
-               }
-               local( $dest, $existing ) = ($1, $2);
-               local( $dirpart ) = &dirpart( $dest );
-               local( $ft ) = &expand_symlink( $dest, $existing ); 
-               if( -e $ft ){
-                       &mkdirs( $dirpart ) if ! -d $dirpart;
-                       # symlink to existing file.
-# Debian bug #85353 "bad symlink stops listing with -n" <address@hidden> 
-                       &mksymlink( $dest, $existing );
-                       next;
-               }
-
-               # The existing file doesn't actually exist!
-               # Has it been compressed, gzipped, split? or worse
-               # compressed/gzipped AND split.  (OK so it could
-               # be another problem, bad symlink on remote host, file
-               # that hasn't been xfer'd yet... but this is as good as
-               # it gets.)
-               local( $p );
-               foreach $p (
-                       "\%s.$sys_compress_suffix",
-                       "\%s.$gzip_suffix",
-                       "\%s/README",
-                       "\%s-split/README",
-                       "\%s-split.$sys_compress_suffix/README",
-                       "\%s-split.$gzip_suffix/README" ){
-                       local( $f ) = sprintf( $p, $existing );
-                       if( -e $f ){
-                               &msg( "using $p\n" ) if $debug > 2;
-                               &mksymlink( $dest, $f );
-                               next thing;
-                       }
-               }
-               if( $make_bad_symlinks ){
-                       &msg( "symlink to non-existant file: $dest -> 
$existing\n" );
-                       &mksymlink( $dest, $existing );
-               }
-               elsif ( $get_symlink_files ){
-# Get file within $local_dir tree and make symlink, address@hidden, 2001/09/22.
-                       if( $ft =~ m|\.\./| ){
-                               &msg( "Not getting path $ft\nas not in 
remote_dir $remote_dir\n" );
-                               &msg( "and not symlinking $dest -> $existing\n" 
);
-                               next thing;
-                       }
-                       local( $dl ) = &dirpart( $ft );
-                       &mkdirs( $dl ) if ! -d $dl;
-                       if( &ftp'get( $ft, $ft, 0 ) ){
-                               &msg( $log, "Got $ft\n" );
-                               &mksymlink( $dest, $existing );
-                       }
-                       else {
-                               &msg( "Did not get $ft\nbecause 
$ftp'response\n" );
-                               &msg( "so not symlinking $dest -> $existing\n" 
);
-                       }
-               }
-               else {
-                       &msg( "Not symlinking $dest -> $existing\n" );
-                       &msg( "as no path $ft\n" );
-               }
-       }
-}
-
-sub do_all_transfers
-{
-       local( $src_path );
-       local( $dest_path, $attribs );
-       local( $srci );
-       
-       if( $#xfer_src < 0 ){
-               &msg( "No files to transfer\n" ) if $algorithm == 0;
-               return;
-       }
-
-       # The Macos ftpd cannot reliably rename files
-       $no_rename = (! $remote_has_rename) || ($remote_fs eq 'macos' && ! 
$get_file);
-
-       foreach $src_path ( @xfer_src ){
-               if( $get_file ){
-                       $srci = $remote_map{ $src_path };
-               }
-               else {
-                       $srci = $local_map{ $src_path };
-               }
-
-               $dest_path = shift( @xfer_dest );
-               $attribs = shift( @xfer_attribs );
-               
-               if( $dont_do ){
-                       # Skip trying to get the file.
-                       next;
-               }
-
-               &msg( "Need to $XFER file $src_path as $dest_path ($attribs)\n" 
) if $debug > 1;
-
-               local( $newpath ) =
-                       &transfer_file( $src_path, $dest_path,
-                                      $attribs, $remote_time[ $srci ] );
-               if( $get_file && $newpath eq '' ){
-                       &msg( $log, "Failed to $XFER file $ftp'response\n" );
-                       if( $ftp'response =~ /timeout|timed out/i ){
-                               $timeouts++;
-                       }
-                       if( $ftp'fatalerror || $timeouts > $max_timeouts ){
-                               &msg( $log, "Fatal error talking to site, 
skipping rest of transfers\n" );
-                               &disconnect();
-                               return;
-                       }
-                       next;
-               }
-
-               # File will now have been split up.
-               if( $attribs =~ /s/ ){
-                       next;
-               }
-
-               &set_attribs( $newpath, $src_path, 'f' );
-
-               # we can only force time for local files
-               if( $force_times && $get_file ){
-                       &set_timestamp( $newpath, $remote_time[ $srci ] );
-               }
-       }
-}
-
-
-sub transfer_file
-{
-       local( $src_path, $dest_path, $attribs, $timestamp ) = @_;
-       local( $dir, $file, $temp, $compress, $split, $restart, $mesg, 
$got_mesg );
-       
-       # Make sure the required directory exists
-       $dir = "";
-       if( $dest_path =~ /^(.+\/)([^\/]+)$/ ){
-               ($dir, $file) = ($1, $2);
-               if( $dest_type[ $dir ] ne 'd' && &mkdirs( $dir ) ){
-                       &msg( $log, "Created dir $dir\n" );
-               }
-       }
-       else {
-               $file = $dest_path;
-       }
-       
-       $temp = &filename_to_tempname( $dir, $file );
-       
-       # Interpret the attrib characters
-       if( $attribs !~ /x/ ){
-               # Not an xfer!
-               return '';
-       }
-       if( $attribs =~ /c/ ){
-               $compress = 1;
-               $mesg = " and compress";
-       }
-       if( $attribs =~ /s/ ){
-               $split = 1;
-               $mesg = " and split";
-       }
-       if( $attribs =~ /r/ ){
-               $restart = 1;
-       }
-       
-       if( $vms ){
-               &ftp'type( ($src_path =~ /$vms_xfer_text/i) ? 'A' : 'I' );
-       }
-       
-       if( $remote_fs eq 'macos' && ! $get_file ){
-               &ftp'type( 'A' );
-       }
-       
-       if( ! $get_file ){
-               # put the file remotely
-               local( $src_file ) = $src_path;
-               local( $comptemp ) = '';
-
-               if( $compress ){
-                       # No easy way to tell wether this was compressed or not
-                       # for now just presume that it is.
-                       local( $f ) = $src_file;
-                       $f =~ s/($shell_metachars)/\\$1/g;
-                       $comptemp = "$big_temp/.out$$";
-                       &sys( "$compress_prog < \"$f\" > \"$comptemp\"" );
-                       $src_file = $comptemp;
-               }
-               
-               if( $no_rename ){
-                       $temp = $dest_path;
-               }
-
-               if( ! &ftp'put( $src_file, $temp, $restart ) ){
-                       &msg( $log, "Failed to put $src_file: $ftp'response\n" 
);
-                       unlink( $comptemp ) if $comptemp;
-                       return '';
-               }
-       
-               unlink( $comptemp ) if $comptemp;
-               if( !$no_rename && ! &ftp'rename( $temp, $dest_path ) ){
-                       &msg( $log, "Failed to remote rename $temp to 
$dest_path: $ftp'response\n" );
-                       return '';
-               }
-
-               local($filesize) = &filesize( $src_file );
-               &msg( $log, "Put $src_file $filesize bytes\n" );
-
-               &log_upload( $src_file, $dest_path, "", $filesize );
-
-               # Some transfers done
-               $exit_xfer_status |= $exit_xfers;
-
-               if( $delete_source ){
-                       unlink( $src_file );
-               }
-               
-               return $dest_path;
-       }
-
-       # Maybe TODO: Paul Szabo suggest that if recurse_hard is set then
-       # mirror should chdir to the directory the file is in before getting
-       # it.
-
-       # Get a file
-       &ftp'dostrip( $strip_cr );
-       $start_time = time;
-       if( ! &ftp'get( $src_path, $temp, $restart ) ){
-               if( !$failed_gets_excl || $ftp'response !~ /$failed_gets_excl/ 
){
-                       &msg( $log, "Failed to get $src_path: $ftp'response\n" 
);
-               }
-
-               # Time stamp the temp file to allow for a restart
-               if( -f $temp ){
-                       &utime( $timestamp, $timestamp, $temp );
-                       # Make sure this file is kept
-                       local( $ti ) = $local_map{ $temp };
-                       &keep( $ti, $temp, *local_keep, *local_keep_totals, 
*local_map, 0 );
-               }
-
-               return '';
-       }
-       
-       # Some transfers done
-       $exit_xfer_status |= $exit_xfers;
-
-       # delete source file after successful transfer
-       if( $delete_source ){
-               if( &ftp'delete( $src_path ) ){
-                       &msg( $log, "Deleted remote $src_path\n");
-               }
-               else {
-                       &msg( $log, "Failed to delete remote $src_path\n");
-               }
-       }
-
-       if( $compress ){
-               # Prevent the shell from expanding characters
-               local( $f ) = $temp;
-               local( $comp );
-               $f =~ s/($shell_metachars)/\\$1/g;
-               $temp = "$f.$compress_suffix";
-               # Am I doing compress to gzip conversion?
-               if( $compress_conv_patt && $src_path =~ /$compress_conv_patt/ &&
-                   $compress_suffix eq $gzip_suffix ){
-                       $comp = "$sys_compress_prog -d < \"$f\" | $gzip_prog > 
\"$temp\"";
-               }
-               else {
-                       $comp = "$compress_prog < \"$f\" > \"$temp\"";
-               }
-               &sys( $comp );
-               $temp =~ s/\\($shell_metachars)/$1/g;
-               $f =~ s/\\($shell_metachars)/$1/g;
-               unlink( $f );
-       }
-
-       local( $filesize ) = &filesize( $temp );
-       local( $sizemsg ) = $filesize;
-       local( $srcsize ) = $remote_size[ $remote_map{ $src_path } ];
-       if( $srcsize > $sizemsg && !$compress ){
-               # should never happen, right?  right ...
-               $sizemsg .= " (file shrunk from $srcsize!)";
-       }
-       elsif( $srcsize < $sizemsg ){
-               # compression wasn't such a great idea
-               $sizemsg .= " (file grew from $srcsize!)";
-       }
-
-       # Ok - chop it up into bits!
-       if( $split ){
-               local( $time ) = 0;
-               if( $force_times ){
-                       $time = $remote_time[ $remote_map{ $src_path } ];
-               }
-               &bsplit( $temp, $dest_path, $time );
-               unlink( $temp );
-               $got_mesg .= " and split";
-       }
-       else {
-               if( -f $dest_path ){
-                       unlink( $dest_path );
-               }
-               if( ! rename( $temp, $dest_path ) ){
-                       &msg( $log, "Cannot rename $temp to $dest_path: $!\n" );
-               }
-       }
-
-       local( $as ) = '';
-       if( $src_path ne $dest_path ){
-               $as = " as $dest_path";
-       }
-       $time_taken = time - $start_time;
-       &msg( $log, "Got $src_path$as$got_mesg $sizemsg $time_taken\n" );
-       # Make sure to keep what you just got!  It may/may not have
-       # been compressed or gzipped..
-       local( $locali ) = $local_map{ $dest_path };
-       &keep( $locali, $dest_path, *local_keep, *local_keep_totals, 
*local_map, 1 );
-
-       &log_upload( $src_path, $dest_path, $got_mesg, $filesize );
-
-       return( $dest_path );
-}
-
-sub filename_to_tempname
-{
-       local( $dir, $file ) = @_;
-
-       local ( $dest_path ) = $file;
-
-       if( $dir eq '' ){
-               if( $dest_path =~ /^(.+\/)([^\/]+)$/ ){
-                       ($dir, $file) = ($1, $2);
-               }
-       }
-       else {
-               $file = $dest_path;
-       }
-
-       # dir 
-# LIMITED NAMELEN
-# if you are really limited in pathname length then
-# change the .in. to just .
-       if( $remote_fs eq 'macos' && ! $get_file ){
-               return $dir . "tmp.$file";
-       }
-       return "$dir.in.$file.";
-}
-
-
-# Open, write, close - to try and ensure that the log will allways be filled
-# in.
-sub log_upload
-{
-       local( $src_path, $dest_path, $got_mesg, $size ) = @_;
-
-       if( ! $upload_log ){
-               return;
-       }
-
-       if( ! open( ULOG, ">>$upload_log" ) ){
-               print STDERR "Cannot write to $upload_log\n";
-               return;
-       }
-
-       &myflock( 'ULOG', $LOCK_EX );
-       if( $get_files ){
-               print ULOG "$site:$remote_dir/$src_path -> 
$local_dir/$dest_path $size ";
-       }
-       else {
-               print ULOG "$local_dir/$dest_path -> 
$site:$remote_dir/$src_path $size ";
-       }
-       if( $got_mesg ){
-               print ULOG "($got_mesg)";
-       }
-       print ULOG "\n";
-       &myflock( 'ULOG', $LOCK_UN );
-       close( ULOG );
-}
-
-sub do_deletes
-{
-       # This declaration must be "local()" because it modifies global data.
-       local( *src_paths,
-               *src_map,
-                *src_type, *src_keep,
-                 *src_totals, *src_keep_totals ) = @_;
-       local( $files_to_go, $dirs_to_go );
-       
-       if( ! ($do_deletes || $save_deletes) ){
-               return;
-       }
-       
-       local( $src_path, $i );
-       local( $orig_do_deletes ) = $do_deletes;
-       local( $orig_save_deletes ) = $save_deletes;
-
-       local( $del_patt ) = $delete_patt;
-       if( $delete_get_patt ){
-               $del_patt = $get_patt;
-       }
-       
-       $files_to_go = $src_totals[ 1 ] - $src_keep_totals[ 1 ];
-       $dirs_to_go = $src_totals[ 0 ] - $src_keep_totals[ 0 ];
-
-       # Adjust totals by considering del_patt
-       for( $i = $#src_paths; $i >= 0; $i-- ){
-               $src_path = $src_paths[ $i ];
-               $srci = $i + 1;
-
-               if( !$src_keep[ $srci ] && $src_path !~ /$del_patt/
-                   || $delete_excl && $src_path =~ /$delete_excl/ ){
-                       if( $src_type[ $srci ] =~ "d" ){
-                               $dirs_to_go--;
-                       }
-                       else {
-                               $files_to_go--;
-                       }
-               }
-       }
-
-       # Check out file deletions
-       if( $max_delete_files =~ /^(\d+)\%$/ ){
-               # There is a % in the value - so its a percentage
-               local( $per ) = $1;
-               if( $per <= 0 || 100 < $per ){
-                       &msg( "silly percentage $max_delete_files, not 
deleting\n" );
-                       $do_deletes = 0;
-                       $save_deletes = 0;
-               }
-               else {
-                       # Don't do more than this percentage of files
-                       # Convert max_delete_files into the number of files
-                       $max_delete_files =
-                               int( $src_totals[ 1 ] * $max_delete_files /100 
);
-               }
-       }
-       if( $files_to_go > $max_delete_files ){
-               &msg( "Too many files to delete, not actually deleting 
($files_to_go > $max_delete_files)\n" );
-               $do_deletes = 0;
-               $save_deletes = 0;
-       }
-
-       # Check out directory deletions
-       if( $max_delete_dirs =~ /^(\d+)%$/ ){
-               # There is a % in the value - so its a percentage
-               local( $per ) = $1;
-               if( $per <= 0 || 100 < $per ){
-                       &msg( "silly percentage $max_delete_dirs, not 
deleting\n" );
-                       $do_deletes = 0;
-                       $save_deletes = 0;
-               }
-               else {
-                       # Don't do more than this percentage of dirs
-                       # Convert max_delete_dirs into the number of dirs
-                       $max_delete_dirs =
-                               int( $src_totals[ 0 ] * $max_delete_dirs / 100 
);
-               }
-       }
-
-       if( $dirs_to_go > $max_delete_dirs ){
-               &msg( "Too many directories to delete, not actually deleting 
($dirs_to_go > $max_delete_dirs)\n" );
-               $do_deletes = 0;
-               $save_deletes = 0;
-       }
-
-       # Scan the list backwards so subdirectories are dealt with first
-       for( $i = $#src_paths; $i >= 0; $i-- ){
-               $src_path = $src_paths[ $i ];
-               $srci = $i + 1;
-       
-               if( $src_keep[ $srci ] ){
-                       # Keep this for sure;
-                       &msg( "Keeping: $src_path\n" ) if $debug > 3;
-                       next;
-               }
-
-               if( $src_path !~ /$del_patt/ ){
-                       &msg( "   not in del_patt: $src_path\n" ) if $debug > 1;
-                       next;
-               }
-
-               if( $delete_excl && $src_path =~ /$delete_excl/ ){
-                       &msg( "   do not delete: $src_path\n" ) if $debug > 1;
-                       next;
-               }
-
-               if( $save_deletes && $save_dir =~ m,$cwd/(.*), ){
-                       local( $save_dir_tail ) = $1;
-                       if( $save_dir_tail && $src_path =~ m,$save_dir_tail/*, 
){
-                               next;
-                       }
-               }
-
-               if( $save_deletes ){
-                       &save_delete( $src_path, $src_type[ $srci ] );
-               }
-               else {
-                       &do_delete( $src_path, $src_type[ $srci ] );
-               }
-       }
-       
-       $do_deletes = $orig_do_deletes;
-       $save_deletes = $orig_save_deletes;
-}
-               
-# Move aside the given file.  Kind is 'd' for dirs and 'f' for files.
-sub save_delete
-{
-       local( $save, $kind ) = @_;
-
-       local( $real_save_dir, $save_dest );
-       eval "\$real_save_dir = \"$save_dir\"";
-
-
-       if( ! $get_file ){
-               &msg( "NEED TO implement remote save_deletes\n" );
-               return;
-       }
-       
-       $save_dest = "$real_save_dir/$save";
-
-       if( $dont_do ){
-               &msg( "Should save_delete $save to $save_dest\n" );
-               return;
-       }
-
-       if( $kind eq 'd' ){
-               $save_dest =~ s,/+$,,;
-               
-               # Make sure it exists
-               &save_mkdir( $save_dest );
-                       
-               # Zap the original
-               if( rmdir( $save ) == 1 ){
-                       &msg( $log, "Removed directory $save\n" );
-               }
-               else {
-                       &msg( $log, "UNABLE TO REMOVE DIRECTORY $save\n" );
-               }
-               return;
-       }
-
-       # Save a file
-
-       # Make the directories under $save_dir
-       local( $dirname );
-       $dirname = $save_dest;
-       $dirname =~ s/\/[^\/]+$//;
-       # Make sure the directory exists to mv the file into.
-       &save_mkdir( $dirname );
-               
-       if( rename( $save, $save_dest ) == 1 ){
-               &msg( $log, "Moved $save to $save_dest\n" );
-       }
-       else {
-               system "$mv_prog '$save' '$save_dest'";
-               if( ( $? >> 8 ) == 0 ){
-                       &msg( $log, "Moved $save to $save_dest\n" );
-               }
-               else {
-                       &msg( $log, "UNABLE TO MOVE $save TO $save_dest\n" );
-               }
-       }
-}
-
-sub save_mkdir
-{
-       local( $dir ) = @_;
-       
-       if( ! -d $dir ){
-               if( &mkdirs( $dir ) ){
-                       &msg( $log, "Created save directory $dir\n" );
-               }
-               else {
-                       &msg( $log, "UNABLE TO CREATE $dir, aborting saves\n" );
-                       $save_deletes = 0;
-               }
-       }
-}
-
-# Delete the given file.  Kind is 'd' for dirs and 'f' for files.
-sub do_delete
-{
-       local( $del, $kind ) = @_;
-       
-       if( $dont_do ){
-               &msg( "Should delete $del\n" );
-               return;
-       }
-
-       if( $kind eq 'd' ){
-               $del =~ s,/+$,,;
-               if( $do_deletes ){
-                       if( $get_file ){
-                               &msg( $log, "rmdir $cwd/$del\n" );
-                               rmdir( "$cwd/$del" ) ||
-                                       &msg( $log, "rmdir $cwd/$del failed: 
$!\n" );
-                       }
-                       else {
-                               &msg( $log, "delete DIR $del\n" );
-                               &ftp'deldir( "$del" ) ||
-                                       &msg( $log, "ftp delete DIR $del 
failed\n" );
-                       }
-               }
-               else {
-                       if( $get_file ){
-                               &msg( $log, "NEED TO rmdir $cwd/$del\n" );
-                       }
-                       else {
-                               &msg( $log, "NEED TO ftp'deldir $del\n" );
-                       }
-               }
-               return;
-       }       
-
-       # Deleting a file.
-       if( $do_deletes ){
-               if( $get_file ){
-                       &msg( $log, "unlink $cwd/$del\n" );
-                       unlink( "$cwd/$del" ) ||
-                               &msg( $log, "unlink $cwd/$del failed: $!\n" );
-               }
-               else {
-                       &msg( $log, "delete FILE $del\n" );
-                       &ftp'delete( "$del" ) ||
-                               &msg( $log, "ftp delete FILE $del failed\n" );
-               }
-       }
-       else {
-               if( $get_file ){
-                       &msg( $log, "NEED TO unlink $cwd/$del\n" );
-               }
-               else {
-                       &msg( $log, "NEED TO ftp'delete $del\n" );
-               }
-       }
-}
-
-sub filesize
-{
-       local( $fname ) = @_;
-
-       if( ! -f $fname ){
-               return -1;
-       }
-
-       return (stat( _ ))[ 7 ];
-       
-}
-
-# Is the value
-sub istrue
-{
-       local( $val ) = @_;
-       
-       return $val eq '1' || $val eq 'yes' || $val eq 'ok' ||
-              $val eq 'true';
-}
-
-sub mksymlink
-{
-       local( $dest_path, $existing_path ) = @_;
-
-       if( ! $get_file ){
-               &msg( "Cannot create symlinks on remote systems ($dest_path -> 
$existing_path)\n" );
-               return;
-       }
-       
-# Debian bug #85353 "bad symlink stops listing with -n" <address@hidden> 
-       if( $dont_do ){
-               &msg( "Should symlink $dest_path to $existing_path\n" );
-               return;
-       }
-
-       # make the symlink locally
-
-       # Zap any exiting file/symlink of that name
-       if( -d $dest_path && ! -l $dest_path ){
-               local( $msg ) = "rmdir( $dest_path ) before symlink";
-               if( ! rmdir( $dest_path ) ){
-                       if( $algorithm == 1 ){
-                               $msg = "rmdir( $local_dir/$dest_path ) before 
symlink";
-                               &msg( "$msg failed: $!\n" );
-                       }
-                       &msg( "$msg failed: $!\n" );
-                       return;
-               }
-               elsif( $debug ){
-                       &msg( "$msg\n" );
-               }
-       }
-       if( -e $dest_path || -l $dest_path ){
-               local( $msg ) = "unlink( $dest_path ) before symlink";
-               if( ! unlink( $dest_path ) ){
-                       &msg( "$msg failed: $!\n" );
-                       return;
-               }
-               elsif( $debug ){
-                       &msg( "$msg\n" );
-               }
-       }
-
-       if( (eval 'symlink("","")', $@ eq '') ){
-               local( $status ) = '';
-               if( ! symlink( $existing_path, $dest_path ) ){
-                       $status = "Failed to ";
-               }
-               &msg( $log, $status . "symlink $existing_path to $dest_path\n" 
);
-               &chown( $uid, $gid, $dest_path );
-       }
-       else {
-               &msg( $log, "Tried to create symlink - but not supported 
locally\n" );
-       }
-}
-
-
-# Make a full directory heirarchy
-# returns true if the directory doesn't exist
-sub mkdirs
-{
-       local( $dir ) = @_;
-       local( @dir, $d, $path );
-
-       # If the target directory already exists but is a symlink then
-       # zap the symlink to recreate it as a directory
-       if( $get_file && -l $dir ){
-               unlink( $dir );
-       }
-
-       # Very often the directory does exist - so return now
-       return 0 if &dir_exists( $dir );
-       
-       # Make sure that the target directory exists
-       @dirs = split( '/', $dir );
-       
-       # the root directory always exists
-       $path = '';
-       if( $dirs[ 0 ] eq '' ){ 
-               shift( @dirs ); 
-               $path = '/';
-       }
-
-       foreach $d ( @dirs ){
-               $path = $path . $d;
-               if( ! &dir_exists( $path ) ){
-                       &msg( "mkdir $path\n" ) if $debug > 2;
-                       if( ! &make_dir( $path, 0755 ) ){
-                               &msg( "make_dir($path,0755) failed with $err\n" 
);
-                               return 0;
-                       }
-                       &set_attribs( $path, $path, 'd' );
-               }
-               $path .= "/";
-       }
-       return 1;
-}
-
-# return 0 on error, 1 on success
-sub make_dir
-{
-       local( $dir, $mode ) = @_;
-       local( $val );
-
-       if( $get_file ){
-               if( $on_win && $dir =~ /^[a-z]:$/i ){
-                       return 1;
-               }
-               # make a local directory
-               if( -e $dir || -l $dir ){
-                       unlink( $dir );
-               }
-               $val = mkdir( $dir, $mode );
-               $err = "$!";
-       }
-       else {
-               # make a remote directory
-               $val = &ftp'mkdir( $dir );
-
-               # The mkdir might have failed due to bad mode
-               # So try to chmod it anyway
-               if( $remote_has_chmod ){
-                       $val = &ftp'chmod( $dir, $mode );
-               }
-       }
-
-       return $val;
-}
-
-# return 1 if $dir exists, 0 if not
-sub dir_exists
-{
-       local( $dir ) = @_;
-       local( $val );
-
-       if( $get_file ){
-               # check if local directory exists
-               $val = (-d $dir);
-       }
-       else {
-               # check if remote directory exists
-               local($old_dir) = &ftp'pwd();           
-               
-               $val = &ftp'cwd($dir);
-
-               # If I didn't manage to change dir should be where I was!
-               if( $val ){
-                       # go back to the original directory
-                       &ftp'cwd($old_dir) || die "Cannot cd to original remote 
directory";
-               }
-       }
-       return $val;
-}
-
-# Set file/directory attributes
-sub set_attribs
-{
-       local( $path, $src_path, $type ) = @_;
-       local( $mode );
-       
-       if( ! $chmod ){
-               &msg( "dont chmod \"$path\"\n" ) if $debug > 2;
-               return;
-       }
-
-       if( $get_file ){
-               local( $pathi ) = $remote_map{ $src_path };
-               $mode = $remote_mode[ $pathi ];
-       }
-       else {
-               local( $pathi ) = $local_map{ $path };
-               $mode = $local_mode[ $pathi ];
-       }
-
-       # If I can't figure out the mode or I'm not copying it
-       # use the default
-       if( !$mode_copy || !$mode ){
-               if( $type eq 'f' ){
-                       $mode = $file_mode;
-               }
-               elsif( $type eq 'd' ){
-                       $mode = $dir_mode;
-               }
-       }
-
-       # Convert from octal
-       # Suggested patch to limit bits being set
-       # $mode = $mode & 0777;
-       $mode = oct( $mode ) if $mode =~ /^0/;
-
-       if( $get_file ){
-               # Change local
-
-               chmod $mode, $path;
-
-               if( $user ne '' && $group ne '' ){
-                       &chown( $uid, $gid, $path );
-               }
-       }
-       else {
-               # change the remote file
-               if( $remote_has_chmod ){
-                       &ftp'chmod( $path, $mode );
-               }
-       }
-}
-
-
-sub get_passwd
-{
-       local( $user ) = @_;
-       local( $pass );
-       local( $| ) = 1;
-
-       # prompt for a password
-       $SIG{ 'INT' } = 'IGNORE';
-       $SIG{ 'QUIT' } = 'IGNORE';
-
-       system "stty -echo </dev/tty >/dev/tty 2>&1";
-       print "Password for $user: ";
-
-       $pass = <STDIN>;
-       print "\n";
-       chop( $pass );
-
-       system "stty echo </dev/tty >/dev/tty 2>&1";
-
-       $SIG{ 'INT' } = 'DEFAULT';
-       $SIG{ 'QUIT' } = 'DEFAULT';
-       
-       return $pass;
-}
-
-sub compare_times
-{
-       # Try and allow for time zone changes (eg when a site
-       # switches from daylight saving to non daylight saving)
-       # by ignoring differences of exactly one hour
-
-       local( $t1, $t2 ) = @_;
-       local( $diff ) = ($t1 > $t2 ? $t1 - $t2 : $t2 - $t1);
-
-       return ($t1 > $t2) && ($diff != 3600);
-}
-
-sub create_assocs
-{
-       local( $map );
-
-       &delete_assocs();
-
-       &msg( "creating assocs ...\n" ) if $debug > 2;
-       foreach $map ( @assocs ){
-               eval "\$$map = \"\$big_temp/$map.$$\"";
-               eval "dbmopen( $map, \$$map, 0644 )";
-       }
-       &msg( "creating assocs done\n" ) if $debug > 2;
-}
-
-sub delete_assocs
-{
-       local( $map );
-
-       &msg( "deleting assocs ...\n" ) if $debug > 2;
-       foreach $map ( @assocs ){
-               eval "\$$map = \"\$big_temp/$map.$$\"";
-               eval "dbmclose( $map )";
-               &unlink_dbm( eval "\$$map" );
-               eval "\%$map = ()";
-       }
-       &msg( "deleting assocs done\n" ) if $debug > 2;
-}
-
-sub unlink_dbm
-{
-       local( $file ) = @_;
-       unlink "$file.pag" if -e "$file.pag";
-       unlink "$file.dir" if -e "$file.dir";
-       unlink "$file.gdbm" if -e "$file.gdbm";
-       unlink "$file" if -e "$file";
-}
-
-# Chop the tmp file up
-sub bsplit
-{
-       local( $temp, $dest_path, $time ) = @_;
-       local( $dest_dir ) = "$dest_path-split";
-       local( $bufsiz ) = 512;
-       local( $buffer, $in, $sofar );
-
-       &msg( "Splitting up $temp into $dest_dir/ ($time)\n" ) if $debug;
-
-       # Stomp on the original directories
-       local( $d ) = $dest_dir;
-       $d =~ s/($shell_metachars)/\\$1/g;
-       &sys( "$rm_prog -rf \"$d\"" );
-
-       &mkdirs( $dest_dir );
-
-       local( $index ) = "00";
-       local( $part );
-       open( TMP, $temp ) || die "Cannot open $temp!";
-       $sofar = $split_chunk; # Force a new file
-       while( ($in = sysread( TMP, $buffer, $bufsiz )) > 0 ){
-               if( $sofar >= $split_chunk ){
-                       if( $part ){
-                               close( PART );
-                               if( $time ){
-                                       &set_timestamp( $part, $time );
-                               }
-                       }
-                       $index++;
-                       $part = "$dest_dir/part$index";
-                       &msg( "creating $part\n" ) if $debug;
-                       open( PART, ">$part" ) || die "Cannot create $part";
-                       # Make sure to keep this!
-                       local( $locali ) = $local_map{ $part };
-                       &keep( $locali, $part, *local_keep, *local_keep_totals, 
*local_map, 1 );
-                       $sofar = 0;
-               }
-               if( ($out = syswrite( PART, $buffer, $in )) != $in ){
-                       die "Failed to write data to $part";
-               }
-               $sofar += $in;
-       }
-       close( PART );
-       if( $time ){
-               &set_timestamp( $part, $time );
-       }
-       close( TMP );
-
-       # Generate a readme file about what is in the split directory
-       local( $readme ) = "$dest_dir/README";
-       open( README, ">$readme" ) || die "Cannot create $readme";
-       print README "This directory contains a splitup version of 
$dest_path\n";
-       print README "to recreate the original simply concatenate all the\n";
-       print README "parts back together.\n\nChecksums are:\n\n";
-       close README;
-       &sys( "(cd \"$d\" ; $sum_prog part*)>> $readme" );
-}
-
-sub sys
-{
-       local( $com ) = @_;
-       &msg( "$com\n" ) if $debug > 2;
-       return system( $com ) / 256;
-}
-
-# Set up an associative array given all an array of keys.
-# @fred = ( 'a' );
-# &set_assoc_from_array( *fred )
-# Creates => $fred{ 'a' } = 1
-#
-sub set_assoc_from_array
-{
-       # This declaration must be "local()" because it modifies global data.
-       local( *things ) = @_;
-       foreach $thing ( @things ){
-               $things{ $thing } = 1;
-       }
-}
-
-sub find_prog
-{
-       local( $prog ) = @_;
-       local( $path ) = $ENV{ 'PATH' };
-
-       foreach $dir ( split( /$path_sep/, $path ) ){
-               local( $path ) = $dir . $file_sep . $prog;
-               if( -x $path ){
-                       return $path;
-               }
-               if( $on_win ){
-                       $path .= ".exe";
-                       if( -x $path ){
-                               return $path;
-                       }
-               }
-       }
-       return '';
-}
-
-sub real_dir_from_path
-{
-       local( $program ) = @_;
-       local( @prog_path ) = split( m:$file_sep_pat: , $program );     # dir 
collection
-       local( $dir );
-
-       while( -l $program ){                           # follow symlink
-               $program = readlink( $program );
-               if( $program =~ m:^$file_sep_pat: ){    # full path?
-                       @prog_path = ();                # start dir collection 
anew
-               }
-               else {
-                       pop( @prog_path );              # discard file name
-               }
-               push( @prog_path, split( m:$file_sep_pat:, $program ) );# add 
new parts
-               $program = join( $file_sep, @prog_path );  # might be a symlink 
again...
-       }
-       pop( @prog_path );
-       $dir = join( $file_sep, @prog_path );
-
-       if( ! $dir ){
-               $dir = '.';
-       }
-       
-       return $dir;
-}
-
-sub msg
-{
-       local( $todo, $msg ) = (0, "");
-
-       if( $#_ == 1 ){
-               ($todo, $msg) = @_;
-       }
-       else {
-               $todo = 0;
-               $msg = $_[ 0 ];
-       }
-
-       # Assign to $0 so when you do a 'ps' it says this!
-       if( defined $package && 
-               defined $site &&
-               defined $remote_dir ){
-               $0 =  "mirror $package:$site:$remote_dir $msg";
-       }
-       else {
-               $0 = "mirror $msg";
-       }
-
-       if( $todo & $log ){
-               push( @log, $msg );
-       }
-# Not sure about this one.  always print the message even if its a log msg.
-#      else {
-               print $msg;
-#      }
-}
-
-sub to_bytes
-{
-       local( $size ) = @_;
-       if( $size =~ /^(\d+)\s*(k|b|m)s*$/i ){
-               $size = $1;
-               if( $2 =~ /[mM]/ ){
-                       $size *= (1024*1024);
-               }
-               elsif( $2 =~ /[bB]/ ){
-                       $size *= 512;
-               }
-               elsif( $2 =~ /[kK]/ ){
-                       $size *= 1024;
-               }
-       }
-       return $size;
-}
-
-# Given a unix filename map it into a vms name.
-# $kind is 'f' for files and 'd' for directories
-sub unix2vms
-{
-       local( $v, $kind ) = @_;
-
-       if( $v eq '.' || $v eq '/' ){
-               return "[]";
-       }
-
-       if( $vms_dir ){
-               $v = $vms_dir . '/' . $v;
-       }
-
-       if( $kind eq 'f' ){
-               # Map a/b/c.txt into [a.b]c.txt
-               if( $v =~ m,(.*)/([^/]+), ){
-                       local( $dir, $rest ) = ($1, $2);
-                       $dir =~ s,/,.,g;
-                       $v = "[$dir]$rest";
-               }
-       }
-       else {
-               # Map a/b/c into [a.b.c]
-               $v =~ s,/,.,g;
-               $v = "[$v]";
-       }
-       return $v;
-}
-
-sub dirpart
-{
-       local( $path ) = @_;
-       if( $path =~ m:/: ){
-               $path =~ s:^(.*)/[^/]+$:$1:;
-       }
-       else {
-               $path = '.';
-       }
-       return $path;
-}
-
-# Given a filename (not a directory) and what path it symlinks to
-# return a, hopefully, non-relative pathname that the symlink
-# really points to.  This is so it can be used to index into the $src_path
-# map.
-sub expand_symlink
-{
-       local( $orig_path, $points_to ) = @_;
-       local( $dirpart ) = &dirpart( $orig_path );
-
-       return &flatten_path( "$dirpart/$points_to" );
-}
-
-# flatten out the effects of dir/.. and /./
-# The problem is not flattening out ../.. into nothing!  Hence
-# the contortions below.
-sub flatten_path
-{
-       local( $path ) = @_;
-       local( $changed ) = 1;
-       local( $i );
-       
-       local( $rooted ) = $path =~ m:^/:;
-       local( $count ) = 0;
-       local( $orig_path ) = $path;
-       
-       $path =~ s:^/::;
-       $path =~ s:(^|/)\.(/|$)::g;
-       $path =~ s:/+:/:g;
-
-       while( $changed ){
-               if( $count++ > 100 ){
-                       &msg( $log, "LOOPING in flatten_path orig = $orig_path, 
path now $path\n" );
-                       last;
-               }
-               local( $in ) = $path;
-               local( @parts ) = split( /\//, $path );
-               for( $i = 0; $i <= $#parts; $i++ ){
-                       if( $parts[ $i ] eq '.' ){
-                               $parts[ $i ] = undef;
-                               next;
-                       }
-                       if( $i > 0 && $parts[ $i ] eq '..' &&
-                          $parts[ $i - 1 ] && $parts[ $i - 1 ] ne '..' ){
-                               $parts[ $i - 1 ] = $parts[ $i ] = undef;
-                               next;
-                       }
-               }
-               $path = '';
-               for( $i = 0; $i <= $#parts; $i++ ){
-                       next unless $parts[ $i ];
-                       $path .= '/' if $path ne '';
-                       $path .= $parts[ $i ];
-               }
-               $changed = $in ne $path;
-       }
-       if( $rooted ){
-               $path = "/$path";
-       }
-       return $path;
-}
-
-
-# Fix up a package name.
-# strip trailing and leading ws and replace awkward characters
-# This doesn't guarentee a unique filename.
-sub fix_package
-{
-       local( $package ) = @_;
-       $package =~ s:[\s/']:_:g;
-       return $package;
-}
-
-sub will_compress
-{
-       $src_type[ $_[1] ] eq 'f' &&
-       $compress_patt && $_[0] =~ /$compress_patt/ &&
-       ( ! $compress_size_floor ||
-         $compress_size_floor < $src_size[ $_[1] ] ) &&
-       !($compress_excl && $_[0] =~ /$compress_excl/i) &&
-       !($compress_suffix eq $gzip_suffix &&
-         $compress_conv_patt && $_[0] =~ /$compress_conv_patt/);
-}
-
-sub will_split
-{
-       $split_max &&
-       $src_size[ $_[1] ] > $split_max &&
-       $src_type[ $_[1] ] eq 'f' &&
-       $split_patt && $_[0] =~ /$split_patt/;
-}
-
-sub myflock
-{
-       local( $file, $kind ) = @_;
-
-       if( ! $can_flock ){
-               return;
-       }
-
-       eval( "flock( \$file, $kind )" );
-       if( $@ =~ /unimplemented/ ){
-               $can_flock = 0;
-               warn "flock not unavialable, running unlocked\n";
-       }
-}
-
-sub t2str
-{
-       local( @t );
-       if( $use_timelocal ){
-               @t = localtime( $_[0] );
-       }
-       else {
-               @t = gmtime( $_[0] );
-       }
-       local($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = @t;
-
-# Debian bug #48611, 1969 appeared as 2069, address@hidden
-       $year += 1900;
-           
-       return sprintf( "%04d/%02d/%02d-%02d:%02d:%02d",
-               $year, $mon + 1, $mday, $hour, $min, $sec );
-}
-
-sub handler
-{
-       $sigs ++;
-       if( $sigs > $max_sigs ){
-               exit( 0 );
-       }
-
-        local( $sig ) = @_;
-        local( $msg ) = "Caught a SIG$sig shutting down";
-        local( $package, $filename, $line ) = caller;
-        warn "$package:$filename:$line $msg";
-        exit( 0 );
-}
-
-sub trap_signals
-{
-       local( $sig );
-        foreach $sig ( 'HUP', 'INT', 'QUIT', 'ILL',
-                        'TRAP', 'IOT', 'BUS', 'FPE',
-                        'USR1', 'SEGV', 'USR2',
-                        'PIPE', 'ALRM', 'TERM' ){
-                $SIG{ $sig } = "main\'handler";
-        }
-}
-
-sub map_user_group
-{
-       if( ! defined( $uid ) ){
-               if( $user =~ /^\d+$/ ){
-                       # User is just a number - presume it is the uid
-                       $uid = $user;
-               }
-               else {
-                       $uid = (getpwnam( $user ))[ 2 ];
-               }
-       }
-       if( ! defined( $gid ) ){
-               if( $group =~ /\d+$/ ){
-                       # Group is just a number - presume it is the gid
-                       $gid = $group;
-               }
-               else {
-                       $gid = (getgrnam( $group ))[ 2 ];
-               }
-       }
-}
-
-sub keep
-{
-       local( $pathi, $path, *keep, *keep_totals, *keep_map, $kind ) = @_;
-       # If pathi is already kept nothing to do
-       if( $pathi eq '' ){
-               &msg( "   keep $path NOTE null pathi\n" ) if $debug > 3;
-               return;
-       }
-       if( $keep[ $pathi ] ){
-               &msg( "   keep $path [$pathi] NOTE already kept\n" ) if $debug 
> 3;
-               return;
-       }
-
-       $keep[ $pathi ] = 1;
-       $keep_totals[ $kind ]++;
-       &msg( "   keep $path\n" ) if $debug > 3;
-
-       # Keep all the parent directories
-       while( $path =~ m,^(.*)/([^/]+)$, ){
-               $path = $1;
-               $pathi = $keep_map{ $path };
-               if( $pathi eq '' ){
-                       &msg( "   keep $path NOTE null pathi\n" ) if $debug > 3;
-                       return;
-               }
-               if( $keep[ $pathi ] ){
-                       &msg( "   keep $path [$pathi] NOTE already kept\n" ) if 
$debug > 3;
-                       return;
-               }
-
-               $keep[ $pathi ] = 1;
-               $keep_totals[ 0 ]++;
-       }
-}
-
-sub alarm
-{
-       local( $time_to_sig ) = @_;
-       eval "alarm( $time_to_sig )";
-}
-
-sub chown
-{
-       local( $uid, $gid, $path ) = @_;
-       eval "chown ( \$uid, \$gid, \$path )";
-}
-
-sub utime
-{
-       local( $atime, $mtime, $path ) = @_;
-       if( ! $on_win ){
-               return utime( $atime, $mtime, $path );
-       }
-       
-       # On windoze I might have set attribs to allow the time to be changed 
first
-       local( $old_mode ) = (stat( $path ))[ 2 ]; 
-       local( $tmp_mode ) = $old_mode;
-       local( $ret );
-
-       $tmp_mode |= 0700;
-       chmod( $tmp_mode, $path );
-       $ret = utime( $atime, $mtime, $path );
-       chmod( $old_mode, $path );
-       return $ret;
-}
-
-sub cwd
-{
-       local( $lcwd ) = '';
-       eval "\$lcwd = $win_getcwd";
-       
-       if( ! ($lcwd eq '' || $lcwd eq $win_getcwd) ){
-               # Must be on windoze!
-               $cwd = $lcwd;
-       }
-       else {
-               # didn't manage it try and run the pwd command instead
-               chop( $cwd = `pwd` );
-       }
-       return $cwd;
-}



reply via email to

[Prev in Thread] Current Thread [Next in Thread]