]> git.eshelyaron.com Git - emacs.git/commitdiff
; Drop etags tests
authorEshel Yaron <me@eshelyaron.com>
Mon, 12 Aug 2024 07:04:11 +0000 (09:04 +0200)
committerEshel Yaron <me@eshelyaron.com>
Mon, 12 Aug 2024 13:21:21 +0000 (15:21 +0200)
99 files changed:
.dir-locals.el
test/lisp/progmodes/etags-tests.el [deleted file]
test/manual/etags/CTAGS.good [deleted file]
test/manual/etags/CTAGS.good_crlf [deleted file]
test/manual/etags/CTAGS.good_update [deleted file]
test/manual/etags/ETAGS.good_1 [deleted file]
test/manual/etags/ETAGS.good_2 [deleted file]
test/manual/etags/ETAGS.good_3 [deleted file]
test/manual/etags/ETAGS.good_4 [deleted file]
test/manual/etags/ETAGS.good_5 [deleted file]
test/manual/etags/ETAGS.good_6 [deleted file]
test/manual/etags/Makefile [deleted file]
test/manual/etags/README [deleted file]
test/manual/etags/a-src/empty.zz [deleted file]
test/manual/etags/a-src/empty.zz.gz [deleted file]
test/manual/etags/ada-src/2ataspri.adb [deleted file]
test/manual/etags/ada-src/2ataspri.ads [deleted file]
test/manual/etags/ada-src/etags-test-for.ada [deleted file]
test/manual/etags/ada-src/waroquiers.ada [deleted file]
test/manual/etags/c-src/a/b/b.c [deleted file]
test/manual/etags/c-src/abbrev.c [deleted file]
test/manual/etags/c-src/c.c [deleted file]
test/manual/etags/c-src/dostorture.c [deleted file]
test/manual/etags/c-src/emacs/src/gmalloc.c [deleted file]
test/manual/etags/c-src/emacs/src/keyboard.c [deleted file]
test/manual/etags/c-src/emacs/src/lisp.h [deleted file]
test/manual/etags/c-src/emacs/src/regex.h [deleted file]
test/manual/etags/c-src/etags.c [deleted file]
test/manual/etags/c-src/exit.c [deleted file]
test/manual/etags/c-src/exit.strange_suffix [deleted file]
test/manual/etags/c-src/fail.c [deleted file]
test/manual/etags/c-src/getopt.h [deleted file]
test/manual/etags/c-src/h.h [deleted file]
test/manual/etags/c-src/machsyscalls.c [deleted file]
test/manual/etags/c-src/machsyscalls.h [deleted file]
test/manual/etags/c-src/sysdep.h [deleted file]
test/manual/etags/c-src/tab.c [deleted file]
test/manual/etags/c-src/torture.c [deleted file]
test/manual/etags/cp-src/MDiagArray2.h [deleted file]
test/manual/etags/cp-src/Range.h [deleted file]
test/manual/etags/cp-src/burton.cpp [deleted file]
test/manual/etags/cp-src/c.C [deleted file]
test/manual/etags/cp-src/clheir.cpp.gz [deleted file]
test/manual/etags/cp-src/clheir.hpp [deleted file]
test/manual/etags/cp-src/conway.cpp [deleted file]
test/manual/etags/cp-src/conway.hpp [deleted file]
test/manual/etags/cp-src/fail.C [deleted file]
test/manual/etags/cp-src/functions.cpp [deleted file]
test/manual/etags/cp-src/screen.cpp [deleted file]
test/manual/etags/cp-src/screen.hpp [deleted file]
test/manual/etags/cp-src/x.cc [deleted file]
test/manual/etags/crlf [deleted file]
test/manual/etags/el-src/TAGTEST.EL [deleted file]
test/manual/etags/el-src/emacs/lisp/progmodes/etags.el [deleted file]
test/manual/etags/erl-src/gs_dialog.erl [deleted file]
test/manual/etags/f-src/entry.for [deleted file]
test/manual/etags/f-src/entry.strange.gz [deleted file]
test/manual/etags/f-src/entry.strange_suffix [deleted file]
test/manual/etags/forth-src/test-forth.fth [deleted file]
test/manual/etags/go-src/test.go [deleted file]
test/manual/etags/go-src/test1.go [deleted file]
test/manual/etags/html-src/algrthms.html [deleted file]
test/manual/etags/html-src/index.shtml [deleted file]
test/manual/etags/html-src/software.html [deleted file]
test/manual/etags/html-src/softwarelibero.html [deleted file]
test/manual/etags/lua-src/allegro.lua [deleted file]
test/manual/etags/lua-src/test.lua [deleted file]
test/manual/etags/make-src/Makefile [deleted file]
test/manual/etags/merc-src/accumulator.m [deleted file]
test/manual/etags/objc-src/PackInsp.h [deleted file]
test/manual/etags/objc-src/PackInsp.m [deleted file]
test/manual/etags/objc-src/Subprocess.h [deleted file]
test/manual/etags/objc-src/Subprocess.m [deleted file]
test/manual/etags/objcpp-src/SimpleCalc.H [deleted file]
test/manual/etags/objcpp-src/SimpleCalc.M [deleted file]
test/manual/etags/pas-src/common.pas [deleted file]
test/manual/etags/perl-src/htlmify-cystic [deleted file]
test/manual/etags/perl-src/kai-test.pl [deleted file]
test/manual/etags/perl-src/yagrip.pl [deleted file]
test/manual/etags/php-src/lce_functions.php [deleted file]
test/manual/etags/php-src/ptest.php [deleted file]
test/manual/etags/php-src/sendmail.php [deleted file]
test/manual/etags/prol-src/natded.prolog [deleted file]
test/manual/etags/prol-src/ordsets.prolog [deleted file]
test/manual/etags/ps-src/rfc1245.ps [deleted file]
test/manual/etags/pyt-src/server.py [deleted file]
test/manual/etags/rs-src/test.rs [deleted file]
test/manual/etags/ruby-src/test.rb [deleted file]
test/manual/etags/ruby-src/test1.ru [deleted file]
test/manual/etags/scm-src/test.scm [deleted file]
test/manual/etags/tex-src/gzip.texi [deleted file]
test/manual/etags/tex-src/nonewline.tex [deleted file]
test/manual/etags/tex-src/testenv.tex [deleted file]
test/manual/etags/tex-src/texinfo.tex [deleted file]
test/manual/etags/y-src/atest.y [deleted file]
test/manual/etags/y-src/cccp.c [deleted file]
test/manual/etags/y-src/cccp.y [deleted file]
test/manual/etags/y-src/parse.c [deleted file]
test/manual/etags/y-src/parse.y [deleted file]

index c74da88a8112b2453232520e662d2addb9ef7c9f..a1744267831bfb3f53a61a05edef44630199de11 100644 (file)
@@ -13,7 +13,6 @@
           ((("c" "objc") .
             ("/[ \t]*DEFVAR_[A-Z_ \t(]+\"\\([^\"]+\\)\"/\\1/"
              "/[ \t]*DEFVAR_[A-Z_ \t(]+\"[^\"]+\",[ \t]\\([A-Za-z0-9_]+\\)/\\1/"))))
-         (etags-regen-ignores . ("test/manual/etags/"))
          (vc-prepare-patches-separately . nil)
          (vc-default-patch-addressee . "bug-gnu-emacs@gnu.org")))
  (c-mode . ((c-file-style . "GNU")
diff --git a/test/lisp/progmodes/etags-tests.el b/test/lisp/progmodes/etags-tests.el
deleted file mode 100644 (file)
index dd2220d..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-;;; etags-tests.el --- Test suite for etags.el.  -*- lexical-binding:t -*-
-
-;; Copyright (C) 2016-2024 Free Software Foundation, Inc.
-
-;; Author: Eli Zaretskii <eliz@gnu.org>
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
-
-;;; Code:
-
-(require 'ert)
-(require 'ert-x)
-(require 'etags)
-(eval-when-compile (require 'cl-lib))
-
-(defvar his-masters-voice t)
-
-(defconst etags-tests--test-dir
-  (or (getenv "EMACS_TEST_DIRECTORY")
-      (expand-file-name "../../.."
-                        (or load-file-name buffer-file-name))))
-
-(defun y-or-n-p (_prompt)
-  "Replacement for `y-or-n-p' that returns what we tell it to."
-  his-masters-voice)
-
-(ert-deftest etags-bug-158 ()
-  "Test finding tags with local and global tags tables."
-  (let ((buf-with-global-tags (get-buffer-create "*buf-global*"))
-        (buf-with-local-tags (get-buffer-create "*buf-local*"))
-        (xref-backend-functions '(etags--xref-backend))
-        xref-buf)
-    (set-buffer buf-with-global-tags)
-    (setq default-directory (expand-file-name "."))
-    (visit-tags-table
-     (expand-file-name "manual/etags/ETAGS.good_1" etags-tests--test-dir))
-    ;; Check that tags in ETAGS.good_1 are recognized.
-    (setq xref-buf (xref-find-definitions "LL_Task_Procedure_Access/t"))
-    (should (bufferp xref-buf))
-    (kill-buffer xref-buf)
-    (set-buffer buf-with-global-tags)
-    (setq xref-buf (xref-find-definitions "PrintAdd"))
-    (should (bufferp xref-buf))
-    (kill-buffer xref-buf)
-    ;; Check that tags not in ETAGS.good_1, but in ETAGS.good_3, are
-    ;; NOT recognized.
-    (should-error (xref-find-definitions "intNumber") :type 'user-error)
-    (kill-buffer xref-buf)
-    (set-buffer buf-with-local-tags)
-    (setq default-directory (expand-file-name "."))
-    (let (his-masters-voice)
-      (visit-tags-table
-       (expand-file-name "manual/etags/ETAGS.good_3" etags-tests--test-dir)
-       t))
-    ;; Check that tags in ETAGS.good_1 are recognized.
-    (setq xref-buf (xref-find-definitions "LL_Task_Procedure_Access/t"))
-    (should (bufferp xref-buf))
-    (kill-buffer xref-buf)
-    (set-buffer buf-with-local-tags)
-    (setq xref-buf (xref-find-definitions "PrintAdd"))
-    (should (bufferp xref-buf))
-    (kill-buffer xref-buf)
-    ;; Check that tags in ETAGS.good_3 are recognized.  This is a test
-    ;; for bug#158.
-    (set-buffer buf-with-local-tags)
-    (setq xref-buf (xref-find-definitions "intNumber"))
-    (should (or (null xref-buf)
-                (bufferp xref-buf)))
-    ;; Bug #17326
-    (should (string= (file-name-nondirectory
-                      (buffer-local-value 'tags-file-name buf-with-local-tags))
-                     "ETAGS.good_3"))
-    (should (string= (file-name-nondirectory
-                      (default-value 'tags-file-name))
-                     "ETAGS.good_1"))
-    (if (bufferp xref-buf) (kill-buffer xref-buf))))
-
-(ert-deftest etags-bug-23164 ()
-  "Test that setting a local value of tags table doesn't signal errors."
-  (set-buffer (get-buffer-create "*foobar*"))
-  (fundamental-mode)
-  (setq-local xref-backend-functions '(etags--xref-backend))
-  (visit-tags-table
-   (expand-file-name "manual/etags/ETAGS.good_3" etags-tests--test-dir)
-   t)
-  (should (equal (should-error (xref-find-definitions "foobar123"))
-                 '(user-error "No definitions found for: foobar123"))))
-
-(ert-deftest etags-buffer-local-tags-table-list ()
-  "Test that a buffer-local value of `tags-table-list' is used."
-  (ert-with-temp-file file
-    :suffix "etag-test-tmpfile"
-    (set-buffer (find-file-noselect file))
-    (fundamental-mode)
-    (setq-local tags-table-list
-                (list (expand-file-name "manual/etags/ETAGS.good_3"
-                                        etags-tests--test-dir)))
-    (cl-letf ((tag-tables tags-table-list)
-              (tags-file-name nil)
-              ((symbol-function 'read-file-name)
-               (lambda (&rest _)
-                 (error "We should not prompt the user"))))
-      (should (visit-tags-table-buffer))
-      (should (equal tags-file-name (car tag-tables))))))
-
-;;; etags-tests.el ends here
diff --git a/test/manual/etags/CTAGS.good b/test/manual/etags/CTAGS.good
deleted file mode 100644 (file)
index 84a56b2..0000000
+++ /dev/null
@@ -1,4692 +0,0 @@
-#a-defer-word  forth-src/test-forth.fth        /^defer #a-defer-word$/
-#some-storage  forth-src/test-forth.fth        /^2000 buffer: #some-storage$/
-$0x80  c-src/sysdep.h  32
-$SYS_##syscall_na      c-src/sysdep.h  31
-$domain        php-src/lce_functions.php       175
-$filename      php-src/lce_functions.php       174
-$ignore_ws     php-src/lce_functions.php       171
-$memassign     php-src/ptest.php       9
-$memassign_space       php-src/ptest.php       10
-$member        php-src/ptest.php       8
-$msgid php-src/lce_functions.php       107
-$msgid php-src/lce_functions.php       165
-$msgid_lc      php-src/lce_functions.php       113
-$msgstr        php-src/lce_functions.php       108
-$msgstr        php-src/lce_functions.php       166
-$msgstr_lc     php-src/lce_functions.php       114
-$po_entries    php-src/lce_functions.php       172
-$poe_num       php-src/lce_functions.php       173
-$por_a php-src/lce_functions.php       500
-$prefix        php-src/lce_functions.php       72
-$state php-src/lce_functions.php       170
-$sys_comment   php-src/lce_functions.php       110
-$sys_comment   php-src/lce_functions.php       168
-$sys_comment_lc        php-src/lce_functions.php       116
-$test  php-src/ptest.php       12
-$unk_comment   php-src/lce_functions.php       111
-$unk_comment   php-src/lce_functions.php       169
-$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
-${CHECKOBJS}   make-src/Makefile       /^${CHECKOBJS}: CFLAGS=-g3 -DNULLFREECHECK=0$/
-%cdiff make-src/Makefile       /^%cdiff: CTAGS% CTAGS ${infiles}$/
-%ediff make-src/Makefile       /^%ediff: ETAGS% ETAGS ${infiles}$/
-($_,$flag,$opt,$f,$r,@temp     perl-src/yagrip.pl      8
-($prog,$_,@list        perl-src/yagrip.pl      39
-($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) ( -- )$/
-(foo)  forth-src/test-forth.fth        /^: (foo) 1 ;$/
-+      ruby-src/test.rb        /^        def +(y)$/
-+      tex-src/texinfo.tex     /^\\def+{{\\tt \\char 43}}$/
-.PRECIOUS      make-src/Makefile       /^.PRECIOUS: ETAGS CTAGS ETAGS16 CTAGS16 ETAGS17 CTA/
-/.notdef       ps-src/rfc1245.ps       /^\/.notdef \/.notdef \/.notdef \/.notdef \/.notdef \/.not/
-/.notdef       ps-src/rfc1245.ps       /^\/.notdef \/.notdef \/.notdef \/.notdef \/.notdef \/.not/
-/.notdef       ps-src/rfc1245.ps       /^\/.notdef \/.notdef \/.notdef \/.notdef \/.notdef \/.not/
-/.notdef       ps-src/rfc1245.ps       /^\/.notdef \/.notdef \/.notdef \/.notdef \/.notdef \/.not/
-/.notdef       ps-src/rfc1245.ps       /^\/.notdef \/.notdef \/.notdef \/.notdef \/space \/exclam/
-/A     ps-src/rfc1245.ps       /^\/A { $/
-/Acircumflex   ps-src/rfc1245.ps       /^\/Acircumflex \/Ecircumflex \/Aacute \/Edieresis \/Egra/
-/B     ps-src/rfc1245.ps       /^\/B { $/
-/BEGINBITMAP2BIT       ps-src/rfc1245.ps       /^\/BEGINBITMAP2BIT { $/
-/BEGINBITMAP2BITc      ps-src/rfc1245.ps       /^\/BEGINBITMAP2BITc { $/
-/BEGINBITMAPBW ps-src/rfc1245.ps       /^\/BEGINBITMAPBW { $/
-/BEGINBITMAPBWc        ps-src/rfc1245.ps       /^\/BEGINBITMAPBWc { $/
-/BEGINBITMAPGRAY       ps-src/rfc1245.ps       /^\/BEGINBITMAPGRAY { $/
-/BEGINBITMAPGRAYc      ps-src/rfc1245.ps       /^\/BEGINBITMAPGRAYc { $/
-/BEGINPRINTCODE        ps-src/rfc1245.ps       /^\/BEGINPRINTCODE { $/
-/BF    ps-src/rfc1245.ps       /^\/BF { $/
-/BITMAPCOLOR   ps-src/rfc1245.ps       /^\/BITMAPCOLOR { $/
-/BITMAPCOLORc  ps-src/rfc1245.ps       /^\/BITMAPCOLORc { $/
-/BITMAPGRAY    ps-src/rfc1245.ps       /^\/BITMAPGRAY { $/
-/BITMAPGRAYc   ps-src/rfc1245.ps       /^\/BITMAPGRAYc { $/
-/C     ps-src/rfc1245.ps       /^\/C { $/
-/COMMONBITMAP  ps-src/rfc1245.ps       /^\/COMMONBITMAP { $/
-/COMMONBITMAPc ps-src/rfc1245.ps       /^\/COMMONBITMAPc { $/
-/D     ps-src/rfc1245.ps       /^\/D {curveto} bind def$/
-/DiacriticEncoding     ps-src/rfc1245.ps       /^\/DiacriticEncoding [$/
-/E     ps-src/rfc1245.ps       /^\/E {lineto} bind def$/
-/ENDBITMAP     ps-src/rfc1245.ps       /^\/ENDBITMAP {$/
-/ENDPRINTCODE  ps-src/rfc1245.ps       /^\/ENDPRINTCODE {$/
-/F     ps-src/rfc1245.ps       /^\/F { $/
-/FMBEGINEPSF   ps-src/rfc1245.ps       /^\/FMBEGINEPSF { $/
-/FMBEGINPAGE   ps-src/rfc1245.ps       /^\/FMBEGINPAGE { $/
-/FMDEFINEFONT  ps-src/rfc1245.ps       /^\/FMDEFINEFONT { $/
-/FMDOCUMENT    ps-src/rfc1245.ps       /^\/FMDOCUMENT { $/
-/FMENDEPSF     ps-src/rfc1245.ps       /^\/FMENDEPSF {$/
-/FMENDPAGE     ps-src/rfc1245.ps       /^\/FMENDPAGE {$/
-/FMLOCAL       ps-src/rfc1245.ps       /^\/FMLOCAL {$/
-/FMNORMALIZEGRAPHICS   ps-src/rfc1245.ps       /^\/FMNORMALIZEGRAPHICS { $/
-/FMVERSION     ps-src/rfc1245.ps       /^\/FMVERSION {$/
-/FMversion     ps-src/rfc1245.ps       /^\/FMversion (2.0) def $/
-/Fmcc  ps-src/rfc1245.ps       /^\/Fmcc {$/
-/FrameDict     ps-src/rfc1245.ps       /^\/FrameDict 190 dict def $/
-/G     ps-src/rfc1245.ps       /^\/G { $/
-/H     ps-src/rfc1245.ps       /^\/H { $/
-/Icircumflex   ps-src/rfc1245.ps       /^\/Icircumflex \/Idieresis \/Igrave \/Oacute \/Ocircumfl/
-/L     ps-src/rfc1245.ps       /^\/L \/M \/N \/O \/P \/Q \/R \/S \/T \/U \/V \/W \/X \/Y \/Z \/brac/
-/L     ps-src/rfc1245.ps       /^\/L { $/
-/M     ps-src/rfc1245.ps       /^\/M {newpath moveto} bind def$/
-/N     ps-src/rfc1245.ps       /^\/N { $/
-/Ntilde        ps-src/rfc1245.ps       /^\/Ntilde \/Odieresis \/Udieresis \/aacute \/agrave \/aci/
-/O     ps-src/rfc1245.ps       /^\/O {closepath} bind def$/
-/Otilde        ps-src/rfc1245.ps       /^\/Otilde \/OE \/oe \/endash \/emdash \/quotedblleft \/quo/
-/P     ps-src/rfc1245.ps       /^\/P { $/
-/PF    ps-src/rfc1245.ps       /^\/PF { $/
-/R     ps-src/rfc1245.ps       /^\/R { $/
-/RF    ps-src/rfc1245.ps       /^\/RF { $/
-/RR    ps-src/rfc1245.ps       /^\/RR { $/
-/ReEncode      ps-src/rfc1245.ps       /^\/ReEncode { $/
-/S     ps-src/rfc1245.ps       /^\/S { $/
-/SF    ps-src/rfc1245.ps       /^\/SF { $/
-/T     ps-src/rfc1245.ps       /^\/T { $/
-/TF    ps-src/rfc1245.ps       /^\/TF { $/
-/U     ps-src/rfc1245.ps       /^\/U { $/
-/Uacute        ps-src/rfc1245.ps       /^\/Uacute \/Ucircumflex \/Ugrave \/dotlessi \/circumflex/
-/V     ps-src/rfc1245.ps       /^\/V { $/
-/W     ps-src/rfc1245.ps       /^\/W { $/
-/X     ps-src/rfc1245.ps       /^\/X { $/
-/Y     ps-src/rfc1245.ps       /^\/Y { $/
-/Z     ps-src/rfc1245.ps       /^\/Z {$/
-/atilde        ps-src/rfc1245.ps       /^\/atilde \/aring \/ccedilla \/eacute \/egrave \/ecircumf/
-/bl    ps-src/rfc1245.ps       /^\/bl { $/
-/braceright    ps-src/rfc1245.ps       /^\/braceright \/asciitilde \/.notdef \/Adieresis \/Aring/
-/bracketright  ps-src/rfc1245.ps       /^\/bracketright \/asciicircum \/underscore \/grave \/a \//
-/breve ps-src/rfc1245.ps       /^\/breve \/dotaccent \/ring \/cedilla \/hungarumlaut \/og/
-/cfs   ps-src/rfc1245.ps       /^\/cfs { $/
-/colorsetup    ps-src/rfc1245.ps       /^\/colorsetup {$/
-/desperatepapersize    ps-src/rfc1245.ps       /^\/desperatepapersize {$/
-/dieresis      ps-src/rfc1245.ps       /^\/dieresis \/.notdef \/AE \/Oslash \/.notdef \/.notdef \//
-/dmatrix       ps-src/rfc1245.ps       /^\/dmatrix matrix def$/
-/dnormalize    ps-src/rfc1245.ps       /^\/dnormalize {$/
-/dpi   ps-src/rfc1245.ps       /^\/dpi    72 0 dmatrix defaultmatrix dtransform$/
-/exclamdown    ps-src/rfc1245.ps       /^\/exclamdown \/logicalnot \/.notdef \/florin \/.notdef /
-/fakecolorsetup        ps-src/rfc1245.ps       /^\/fakecolorsetup {$/
-/fillprocs     ps-src/rfc1245.ps       /^\/fillprocs 32 array def$/
-/fl    ps-src/rfc1245.ps       /^\/fl { $/
-/fraction      ps-src/rfc1245.ps       /^\/fraction \/currency \/guilsinglleft \/guilsinglright/
-/freq  ps-src/rfc1245.ps       /^\/freq dpi 18.75 div 8 div round dup 0 eq {pop 1} i/
-/gn    ps-src/rfc1245.ps       /^\/gn { $/
-/graymode      ps-src/rfc1245.ps       /^\/graymode true def$/
-/grayness      ps-src/rfc1245.ps       /^\/grayness {$/
-/guillemotleft ps-src/rfc1245.ps       /^\/guillemotleft \/guillemotright \/ellipsis \/.notdef /
-/home/www/pub/etags.c.gz       make-src/Makefile       /^\/home\/www\/pub\/etags.c.gz: etags.c$/
-/home/www/pub/software/unix/etags.tar.gz       make-src/Makefile       /^\/home\/www\/pub\/software\/unix\/etags.tar.gz: Makefile/
-/hx    ps-src/rfc1245.ps       /^\/hx { $/
-/i     ps-src/rfc1245.ps       /^\/i \/j \/k \/l \/m \/n \/o \/p \/q \/r \/s \/t \/u \/v \/w \/x \/y/
-/iacute        ps-src/rfc1245.ps       /^\/iacute \/igrave \/icircumflex \/idieresis \/ntilde \/o/
-/ic    ps-src/rfc1245.ps       /^\/ic [ $/
-/inch  ps-src/rfc1245.ps       /^\/inch {72 mul} def$/
-/ip    ps-src/rfc1245.ps       /^\/ip { $/
-/less  ps-src/rfc1245.ps       /^\/less \/equal \/greater \/question \/at \/A \/B \/C \/D \/E/
-/lnormalize    ps-src/rfc1245.ps       /^\/lnormalize { $/
-/manualpapersize       ps-src/rfc1245.ps       /^\/manualpapersize {$/
-/max   ps-src/rfc1245.ps       /^\/max {2 copy lt {exch} if pop} bind def$/
-/min   ps-src/rfc1245.ps       /^\/min {2 copy gt {exch} if pop} bind def$/
-/ms    ps-src/rfc1245.ps       /^\/ms { $/
-/nbluet        ps-src/rfc1245.ps       /^\/nbluet 256 array def$/
-/ngrayt        ps-src/rfc1245.ps       /^\/ngrayt 256 array def$/
-/ngreent       ps-src/rfc1245.ps       /^\/ngreent 256 array def$/
-/normalize     ps-src/rfc1245.ps       /^\/normalize {$/
-/nredt ps-src/rfc1245.ps       /^\/nredt 256 array def$/
-/numbersign    ps-src/rfc1245.ps       /^\/numbersign \/dollar \/percent \/ampersand \/quotesing/
-/ocircumflex   ps-src/rfc1245.ps       /^\/ocircumflex \/odieresis \/otilde \/uacute \/ugrave \/u/
-/ordfeminine   ps-src/rfc1245.ps       /^\/ordfeminine \/ordmasculine \/.notdef \/ae \/oslash \/q/
-/pagedimen     ps-src/rfc1245.ps       /^\/pagedimen { $/
-/papersize     ps-src/rfc1245.ps       /^\/papersize {$/
-/paragraph     ps-src/rfc1245.ps       /^\/paragraph \/germandbls \/registered \/copyright \/tra/
-/parenright    ps-src/rfc1245.ps       /^\/parenright \/asterisk \/plus \/comma \/hyphen \/period/
-/periodcentered        ps-src/rfc1245.ps       /^\/periodcentered \/quotesinglbase \/quotedblbase \/per/
-/quoteleft     ps-src/rfc1245.ps       /^\/quoteleft \/quoteright \/.notdef \/.notdef \/ydieresi/
-/restorematrix ps-src/rfc1245.ps       /^\/restorematrix {$/
-/s1    ps-src/rfc1245.ps       /^\/s1 1 string def$/
-/sangle        ps-src/rfc1245.ps       /^\/sangle 1 0 dmatrix defaultmatrix dtransform exch /
-/savematrix    ps-src/rfc1245.ps       /^\/savematrix {$/
-/setmanualfeed ps-src/rfc1245.ps       /^\/setmanualfeed {$/
-/setpapername  ps-src/rfc1245.ps       /^\/setpapername { $/
-/setpattern    ps-src/rfc1245.ps       /^\/setpattern {$/
-/two   ps-src/rfc1245.ps       /^\/two \/three \/four \/five \/six \/seven \/eight \/nine \//
-/udieresis     ps-src/rfc1245.ps       /^\/udieresis \/dagger \/.notdef \/cent \/sterling \/secti/
-/wbytes        ps-src/rfc1245.ps       /^\/wbytes { $/
-/wh    ps-src/rfc1245.ps       /^\/wh { $/
-/yen   ps-src/rfc1245.ps       /^\/yen \/.notdef \/.notdef \/.notdef \/.notdef \/.notdef /
-2const forth-src/test-forth.fth        /^3 4 2constant 2const$/
-2val   forth-src/test-forth.fth        /^2const 2value 2val$/
-2var   forth-src/test-forth.fth        /^2variable 2var$/
-:a-forth-dictionary-entry      forth-src/test-forth.fth        /^create :a-forth-dictionary-entry$/
-<      tex-src/texinfo.tex     /^\\def<{{\\tt \\less}}$/
-<<     ruby-src/test.rb        /^        def <<(y)$/
-<=     ruby-src/test.rb        /^        def <=(y)$/
-<=>    ruby-src/test.rb        /^        def <=>(y)$/
-=      tex-src/texinfo.tex     /^\\global\\let\\section = \\numberedsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsection = \\numberedsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsubsection = \\numberedsubsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\section = \\appendixsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsection = \\appendixsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsubsection = \\appendixsubsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\section = \\unnumberedsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsection = \\unnumberedsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsubsection = \\unnumberedsubsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\section = \\numberedsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsection = \\numberedsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsubsection = \\numberedsubsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\def={{\\tt \\char 61}}}$/
-=/f    ada-src/etags-test-for.ada      /^   function "=" (L, R : System.Address) return Boo/
-==     ruby-src/test.rb        /^        def ==(y)$/
-===    ruby-src/test.rb        /^        def ===(y)$/
-=\indexdummyfont       tex-src/texinfo.tex     /^\\let\\cite=\\indexdummyfont$/
-=\relax        tex-src/texinfo.tex     /^\\let\\chapter=\\relax$/
-=\relax        tex-src/texinfo.tex     /^\\let\\section=\\relax$/
-=\relax        tex-src/texinfo.tex     /^\\let\\subsection=\\relax$/
-=\relax        tex-src/texinfo.tex     /^\\let\\subsubsection=\\relax$/
-=\relax        tex-src/texinfo.tex     /^\\let\\appendix=\\relax$/
-=\smartitalic  tex-src/texinfo.tex     /^\\let\\cite=\\smartitalic$/
-=starts-with-equals!   scm-src/test.scm        /^(define =starts-with-equals! #t)$/
->      tex-src/texinfo.tex     /^\\def>{{\\tt \\gtr}}$/
->field1        forth-src/test-forth.fth        /^   9   field   >field1$/
->field2        forth-src/test-forth.fth        /^   5   field   >field2$/
-A      c.c     162
-A      cp-src/c.C      39
-A      cp-src/c.C      56
-A      cp-src/c.C      57
-A      cp-src/c.C      /^void A::A() {}$/
-A      cp-src/c.C      73
-A      cp-src/c.C      117
-A      cp-src/fail.C   7
-A      cp-src/fail.C   23
-A      ruby-src/test1.ru       /^class A$/
-A      ruby-src/test1.ru       /^module A$/
-ABC    ruby-src/test1.ru       11
-ADASRC make-src/Makefile       /^ADASRC=etags-test-for.ada 2ataspri.adb 2ataspri.ad/
-ADDRESS        c-src/emacs/src/gmalloc.c       /^#define ADDRESS(B)    ((void *) (((B) - 1) * BLOCKSIZ/
-ALIGNOF_STRUCT_LISP_VECTOR     c-src/emacs/src/lisp.h  1378
-ALLOCATED_BEFORE_DUMPING       c-src/emacs/src/gmalloc.c       /^#define ALLOCATED_BEFORE_DUMPING(P) \\$/
-ALLOCATE_PSEUDOVECTOR  c-src/emacs/src/lisp.h  /^#define ALLOCATE_PSEUDOVECTOR(type, field, tag)                       /
-ALLOCATE_ZEROED_PSEUDOVECTOR   c-src/emacs/src/lisp.h  /^#define ALLOCATE_ZEROED_PSEUDOVECTOR(type, field, /
-AND    y-src/cccp.c    11
-ANSIC  c-src/h.h       84
-ANSIC  c-src/h.h       85
-AREF   c-src/emacs/src/lisp.h  /^AREF (Lisp_Object array, ptrdiff_t idx)$/
-ARGS   make-src/Makefile       /^ARGS=- < srclist$/
-ARITH_EQUAL    c-src/emacs/src/lisp.h  3498
-ARITH_GRTR     c-src/emacs/src/lisp.h  3501
-ARITH_GRTR_OR_EQUAL    c-src/emacs/src/lisp.h  3503
-ARITH_LESS     c-src/emacs/src/lisp.h  3500
-ARITH_LESS_OR_EQUAL    c-src/emacs/src/lisp.h  3502
-ARITH_NOTEQUAL c-src/emacs/src/lisp.h  3499
-ARRAYELTS      c-src/emacs/src/lisp.h  /^#define ARRAYELTS(arr) (sizeof (arr) \/ sizeof (arr/
-ARRAYP c-src/emacs/src/lisp.h  /^ARRAYP (Lisp_Object x)$/
-ARRAY_MARK_FLAG        c-src/emacs/src/lisp.h  768
-ASCII_CHAR_P   c-src/emacs/src/lisp.h  /^#define ASCII_CHAR_P(c) UNSIGNED_CMP (c, <, 0x80)$/
-ASET   c-src/emacs/src/lisp.h  /^ASET (Lisp_Object array, ptrdiff_t idx, Lisp_Objec/
-ASIZE  c-src/emacs/src/lisp.h  /^ASIZE (Lisp_Object array)$/
-ASRC   make-src/Makefile       /^ASRC=empty.zz empty.zz.gz$/
-AST_Array::AST_Array   cp-src/c.C      /^AST_Array::AST_Array(UTL_ScopedName *n, unsigned l/
-AST_ConcreteType::AST_ConcreteType     cp-src/c.C      /^AST_ConcreteType::AST_ConcreteType(AST_Decl::NodeT/
-AST_Root       cp-src/c.C      92
-AT     cp-src/c.C      52
-AU     cp-src/c.C      53
-AUTOLOADP      c-src/emacs/src/lisp.h  /^AUTOLOADP (Lisp_Object x)$/
-AUTO_CONS      c-src/emacs/src/lisp.h  /^#define AUTO_CONS(name, a, b) Lisp_Object name = A/
-AUTO_CONS_EXPR c-src/emacs/src/lisp.h  /^#define AUTO_CONS_EXPR(a, b) \\$/
-AUTO_LIST1     c-src/emacs/src/lisp.h  /^#define AUTO_LIST1(name, a)                                           \\$/
-AUTO_LIST2     c-src/emacs/src/lisp.h  /^#define AUTO_LIST2(name, a, b)                                                \\$/
-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/
-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$/
-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
-Ada_suffixes   c-src/etags.c   473
-AddNullToNmStr pas-src/common.pas      /^function AddNullToNmStr; (*($/
-Address_To_Call_State/f        ada-src/2ataspri.adb    /^      function Address_To_Call_State is new$/
-Address_To_TCB_Ptr/f   ada-src/2ataspri.ads    /^   function Address_To_TCB_Ptr is new$/
-Advanced usage tex-src/gzip.texi       /^@node Advanced usage, Environment, Invoking gzip, /
-Aligned_Cons   c-src/emacs/src/lisp.h  4670
-Aligned_String c-src/emacs/src/lisp.h  4676
-AppendTextString       pas-src/common.pas      /^function AppendTextString;(*($/
-Arith_Comparison       c-src/emacs/src/lisp.h  3497
-Asm_help       c-src/etags.c   504
-Asm_labels     c-src/etags.c   /^Asm_labels (FILE *inf)$/
-Asm_suffixes   c-src/etags.c   493
-B      cp-src/c.C      54
-B      cp-src/c.C      56
-B      cp-src/c.C      74
-B      cp-src/c.C      /^void B::B() {}$/
-B      cp-src/c.C      122
-B      cp-src/fail.C   8
-B      cp-src/fail.C   24
-B      ruby-src/test1.ru       /^  class B$/
-BE_Node        cp-src/c.C      /^void BE_Node::BE_Node() {}$/
-BE_Node        cp-src/c.C      77
-BITS_PER_BITS_WORD     c-src/emacs/src/lisp.h  125
-BITS_PER_BITS_WORD     c-src/emacs/src/lisp.h  129
-BITS_PER_CHAR  c-src/emacs/src/lisp.h  136
-BITS_PER_EMACS_INT     c-src/emacs/src/lisp.h  139
-BITS_PER_LONG  c-src/emacs/src/lisp.h  138
-BITS_PER_SHORT c-src/emacs/src/lisp.h  137
-BITS_WORD_MAX  c-src/emacs/src/lisp.h  124
-BITS_WORD_MAX  c-src/emacs/src/lisp.h  128
-BLACK  cp-src/screen.hpp       12
-BLOCK  c-src/emacs/src/gmalloc.c       /^#define BLOCK(A)      (((char *) (A) - _heapbase) \/ BLO/
-BLOCKIFY       c-src/emacs/src/gmalloc.c       /^#define BLOCKIFY(SIZE)        (((SIZE) + BLOCKSIZE - 1) \//
-BLOCKLOG       c-src/emacs/src/gmalloc.c       125
-BLOCKSIZE      c-src/emacs/src/gmalloc.c       126
-BLUE   cp-src/screen.hpp       13
-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)$/
-BROWN  cp-src/screen.hpp       18
-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)$/
-BYTE_MARK_STACK        c-src/emacs/src/lisp.h  3181
-Bar    lua-src/test.lua        /^function Square.something:Bar ()$/
-Bar    perl-src/kai-test.pl    /^package Bar;$/
-Barrier_Function_Pointer/t     ada-src/etags-test-for.ada      /^   type Barrier_Function_Pointer is access$/
-Bidule/b       ada-src/etags-test-for.ada      /^  protected body Bidule is$/
-Bidule/b       ada-src/waroquiers.ada  /^  protected body Bidule is$/
-Bidule/t       ada-src/etags-test-for.ada      /^  protected Bidule is$/
-Bidule/t       ada-src/waroquiers.ada  /^  protected Bidule is$/
-Body_Required/f        ada-src/etags-test-for.ada      /^   function Body_Required$/
-Boo    cp-src/c.C      129
-Boo    cp-src/c.C      /^    Boo(int _i, int _a, int _b) : i(_i), a(_a), b(/
-Boo::Boo       cp-src/c.C      /^Boo::Boo(Boo) :$/
-ButtonBar      pyt-src/server.py       /^def ButtonBar(frame, legend, ref, alternatives, co/
-C      cp-src/fail.C   9
-C      cp-src/fail.C   /^                         C(int i) {x = i;}$/
-C      cp-src/fail.C   25
-CALLMANY       c-src/emacs/src/lisp.h  /^#define CALLMANY(f, array) (f) (ARRAYELTS (array),/
-CALLN  c-src/emacs/src/lisp.h  /^#define CALLN(f, ...) CALLMANY (f, ((Lisp_Object [/
-CAR    c-src/emacs/src/lisp.h  /^CAR (Lisp_Object c)$/
-CAR_SAFE       c-src/emacs/src/lisp.h  /^CAR_SAFE (Lisp_Object c)$/
-CATCHER        c-src/emacs/src/lisp.h  3021
-CDR    c-src/emacs/src/lisp.h  /^CDR (Lisp_Object c)$/
-CDR_SAFE       c-src/emacs/src/lisp.h  /^CDR_SAFE (Lisp_Object c)$/
-CFLAGS make-src/Makefile       /^CFLAGS=${WARNINGS} -ansi -g3 # -pg -O$/
-CHAR   c-src/etags.c   /^#define CHAR(x)               ((unsigned int)(x) & (CHARS - 1))/
-CHAR   y-src/cccp.c    7
-CHARACTERBITS  c-src/emacs/src/lisp.h  2457
-CHARS  c-src/etags.c   157
-CHARTAB_SIZE_BITS      c-src/emacs/src/lisp.h  1565
-CHARTAB_SIZE_BITS_0    c-src/emacs/src/lisp.h  1567
-CHARTAB_SIZE_BITS_1    c-src/emacs/src/lisp.h  1568
-CHARTAB_SIZE_BITS_2    c-src/emacs/src/lisp.h  1569
-CHARTAB_SIZE_BITS_3    c-src/emacs/src/lisp.h  1570
-CHAR_ALT       c-src/emacs/src/lisp.h  2445
-CHAR_BIT       c-src/emacs/src/lisp.h  2957
-CHAR_BIT       c-src/emacs/src/lisp.h  2959
-CHAR_BIT       c-src/emacs/src/lisp.h  2964
-CHAR_BIT       c-src/emacs/src/lisp.h  2969
-CHAR_BIT       c-src/emacs/src/lisp.h  2974
-CHAR_BIT       c-src/emacs/src/lisp.h  2978
-CHAR_BIT       c-src/emacs/src/lisp.h  2983
-CHAR_CLASS_MAX_LENGTH  c-src/emacs/src/regex.h 593
-CHAR_CLASS_MAX_LENGTH  c-src/emacs/src/regex.h 597
-CHAR_CLASS_MAX_LENGTH  c-src/emacs/src/regex.h 605
-CHAR_CTL       c-src/emacs/src/lisp.h  2449
-CHAR_HYPER     c-src/emacs/src/lisp.h  2447
-CHAR_META      c-src/emacs/src/lisp.h  2450
-CHAR_MODIFIER_MASK     c-src/emacs/src/lisp.h  2452
-CHAR_SHIFT     c-src/emacs/src/lisp.h  2448
-CHAR_SUPER     c-src/emacs/src/lisp.h  2446
-CHAR_TABLE_EXTRA_SLOTS c-src/emacs/src/lisp.h  /^CHAR_TABLE_EXTRA_SLOTS (struct Lisp_Char_Table *ct/
-CHAR_TABLE_P   c-src/emacs/src/lisp.h  /^CHAR_TABLE_P (Lisp_Object a)$/
-CHAR_TABLE_REF c-src/emacs/src/lisp.h  /^CHAR_TABLE_REF (Lisp_Object ct, int idx)$/
-CHAR_TABLE_REF_ASCII   c-src/emacs/src/lisp.h  /^CHAR_TABLE_REF_ASCII (Lisp_Object ct, ptrdiff_t id/
-CHAR_TABLE_SET c-src/emacs/src/lisp.h  /^CHAR_TABLE_SET (Lisp_Object ct, int idx, Lisp_Obje/
-CHAR_TABLE_STANDARD_SLOTS      c-src/emacs/src/lisp.h  1697
-CHAR_TYPE_SIZE y-src/cccp.y    87
-CHECKFLAGS     make-src/Makefile       /^CHECKFLAGS=-DDEBUG -Wno-unused-function$/
-CHECKOBJS      make-src/Makefile       /^CHECKOBJS=chkmalloc.o chkxm.o$/
-CHECK_ARRAY    c-src/emacs/src/lisp.h  /^CHECK_ARRAY (Lisp_Object x, Lisp_Object predicate)/
-CHECK_BOOL_VECTOR      c-src/emacs/src/lisp.h  /^CHECK_BOOL_VECTOR (Lisp_Object x)$/
-CHECK_BUFFER   c-src/emacs/src/lisp.h  /^CHECK_BUFFER (Lisp_Object x)$/
-CHECK_CONS     c-src/emacs/src/lisp.h  /^CHECK_CONS (Lisp_Object x)$/
-CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h  571
-CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h  572
-CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h  572
-CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h  579
-CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h  579
-CHECK_LIST     c-src/emacs/src/lisp.h  /^CHECK_LIST (Lisp_Object x)$/
-CHECK_LIST_CONS        c-src/emacs/src/lisp.h  /^# define CHECK_LIST_CONS(x, y) lisp_h_CHECK_LIST_C/
-CHECK_NATNUM   c-src/emacs/src/lisp.h  /^CHECK_NATNUM (Lisp_Object x)$/
-CHECK_NUMBER   c-src/emacs/src/lisp.h  /^# define CHECK_NUMBER(x) lisp_h_CHECK_NUMBER (x)$/
-CHECK_NUMBER_CAR       c-src/emacs/src/lisp.h  /^CHECK_NUMBER_CAR (Lisp_Object x)$/
-CHECK_NUMBER_CDR       c-src/emacs/src/lisp.h  /^CHECK_NUMBER_CDR (Lisp_Object x)$/
-CHECK_NUMBER_COERCE_MARKER     c-src/emacs/src/lisp.h  /^#define CHECK_NUMBER_COERCE_MARKER(x)                                 \\$/
-CHECK_NUMBER_OR_FLOAT  c-src/emacs/src/lisp.h  /^CHECK_NUMBER_OR_FLOAT (Lisp_Object x)$/
-CHECK_NUMBER_OR_FLOAT_COERCE_MARKER    c-src/emacs/src/lisp.h  /^#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(x)                                /
-CHECK_PROCESS  c-src/emacs/src/lisp.h  /^CHECK_PROCESS (Lisp_Object x)$/
-CHECK_RANGED_INTEGER   c-src/emacs/src/lisp.h  /^#define CHECK_RANGED_INTEGER(x, lo, hi)                                       \\$/
-CHECK_STRING_CAR       c-src/emacs/src/lisp.h  /^CHECK_STRING_CAR (Lisp_Object x)$/
-CHECK_SYMBOL   c-src/emacs/src/lisp.h  /^# define CHECK_SYMBOL(x) lisp_h_CHECK_SYMBOL (x)$/
-CHECK_TYPE     c-src/emacs/src/lisp.h  /^# define CHECK_TYPE(ok, predicate, x) lisp_h_CHECK/
-CHECK_TYPE_RANGED_INTEGER      c-src/emacs/src/lisp.h  /^#define CHECK_TYPE_RANGED_INTEGER(type, x) \\$/
-CHECK_VECTOR   c-src/emacs/src/lisp.h  /^CHECK_VECTOR (Lisp_Object x)$/
-CHECK_VECTOR_OR_STRING c-src/emacs/src/lisp.h  /^CHECK_VECTOR_OR_STRING (Lisp_Object x)$/
-CHECK_WINDOW   c-src/emacs/src/lisp.h  /^CHECK_WINDOW (Lisp_Object x)$/
-CK_ABS_C       y-src/parse.y   /^#define CK_ABS_C(x)   if((x)<MIN_COL || (x)>MAX_COL)/
-CK_ABS_R       y-src/parse.y   /^#define CK_ABS_R(x)   if((x)<MIN_ROW || (x)>MAX_ROW)/
-CK_REL_C       y-src/parse.y   /^#define CK_REL_C(x)   if(   ((x)>0 && MAX_COL-(x)<cu/
-CK_REL_R       y-src/parse.y   /^#define CK_REL_R(x)   if(   ((x)>0 && MAX_ROW-(x)<cu/
-CMultiChannelCSC19_3D  cp-src/c.C      2
-CNL    c-src/etags.c   /^#define CNL()                                                         \\$/
-CNL_SAVE_DEFINEDEF     c-src/etags.c   /^#define CNL_SAVE_DEFINEDEF()                                          \\$/
-COBOLFLAGS     make-src/Makefile       /^COBOLFLAGS=--language=none --regex='\/.......[a-zA-/
-COLORS cp-src/screen.hpp       11
-COMPILEDP      c-src/emacs/src/lisp.h  /^COMPILEDP (Lisp_Object a)$/
-COMPILED_ARGLIST       c-src/emacs/src/lisp.h  2431
-COMPILED_BYTECODE      c-src/emacs/src/lisp.h  2432
-COMPILED_CONSTANTS     c-src/emacs/src/lisp.h  2433
-COMPILED_DOC_STRING    c-src/emacs/src/lisp.h  2435
-COMPILED_INTERACTIVE   c-src/emacs/src/lisp.h  2436
-COMPILED_STACK_DEPTH   c-src/emacs/src/lisp.h  2434
-CONDITION_CASE c-src/emacs/src/lisp.h  3021
-CONSP  c-src/emacs/src/lisp.h  /^# define CONSP(x) lisp_h_CONSP (x)$/
-CONSTYPE_HEAP  c-src/emacs/src/lisp.h  3739
-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       /^CPPFLAGS=${CHECKFLAGS} -DSTDC_HEADERS -DHAVE_GETCW/
-CPSRC  make-src/Makefile       /^CPSRC=c.C abstract.C abstract.H cfront.H burton.cp/
-CSRC   make-src/Makefile       /^CSRC=abbrev.c ..\/etags\/h.h .\/\/c.c torture.c getopt/
-CTAGS  c-src/etags.c   146
-CTAGS  c-src/etags.c   147
-CTAGS  c-src/etags.c   149
-CTAGS  make-src/Makefile       /^CTAGS: ctags ${infiles}$/
-CTAGS% make-src/Makefile       /^CTAGS%: ctags% ${infiles}$/
-CTAGS13 CTAGS14 CTAGS15        make-src/Makefile       /^CTAGS13 CTAGS14 CTAGS15: ctags% ${infiles}$/
-CYAN   cp-src/screen.hpp       15
-C_AUTO c-src/etags.c   2198
-C_EXT  c-src/etags.c   2193
-C_JAVA c-src/etags.c   2197
-C_PLAIN        c-src/etags.c   2194
-C_PLPL c-src/etags.c   2195
-C_STAR c-src/etags.c   2196
-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;/
-Circle.getPos  lua-src/test.lua        /^function Circle.getPos ()$/
-Cjava_entries  c-src/etags.c   /^Cjava_entries (FILE *inf)$/
-Cjava_help     c-src/etags.c   551
-Cjava_suffixes c-src/etags.c   549
-ClassExample   ruby-src/test.rb        /^    class ClassExample$/
-Clear/p        ada-src/2ataspri.adb    /^   procedure Clear (Cell : in out TAS_Cell) is$/
-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
-CommentAD      php-src/lce_functions.php       70
-CommentAD      php-src/lce_functions.php       /^      function CommentAD($/
-ConcatT        pas-src/common.pas      /^function ConcatT;(*($/
-Concept Index  tex-src/gzip.texi       /^@node Concept Index, , Problems, Top$/
-Cond_Signal/p  ada-src/2ataspri.adb    /^   procedure Cond_Signal (Cond : in out Condition_/
-Cond_Signal/p  ada-src/2ataspri.ads    /^   procedure Cond_Signal (Cond : in out Condition_/
-Cond_Timed_Wait/p      ada-src/2ataspri.adb    /^   procedure Cond_Timed_Wait$/
-Cond_Timed_Wait/p      ada-src/2ataspri.ads    /^   procedure Cond_Timed_Wait$/
-Cond_Wait/p    ada-src/2ataspri.adb    /^   procedure Cond_Wait (Cond : in out Condition_Va/
-Cond_Wait/p    ada-src/2ataspri.ads    /^   procedure Cond_Wait (Cond : in out Condition_Va/
-Condition_Variable/t   ada-src/2ataspri.ads    /^   type Condition_Variable is private;$/
-Condition_Variable/t   ada-src/2ataspri.ads    /^   type Condition_Variable is$/
-Configure      pyt-src/server.py       /^class Configure(Frame, ControlEdit):$/
-ConfirmQuit    pyt-src/server.py       /^def ConfirmQuit(frame, context):$/
-Constant       ruby-src/test1.ru       42
-ControlEdit    pyt-src/server.py       /^class ControlEdit(Frame):$/
-Controls       pyt-src/server.py       /^class Controls:$/
-CopyTextString pas-src/common.pas      /^function CopyTextString;(*($/
-Copying        tex-src/gzip.texi       /^@node Copying, Overview, , Top$/
-Cplusplus_entries      c-src/etags.c   /^Cplusplus_entries (FILE *inf)$/
-Cplusplus_help c-src/etags.c   540
-Cplusplus_suffixes     c-src/etags.c   535
-Create_LL_Task/p       ada-src/2ataspri.adb    /^   procedure Create_LL_Task$/
-Create_LL_Task/p       ada-src/2ataspri.ads    /^   procedure Create_LL_Task$/
-Cstar_entries  c-src/etags.c   /^Cstar_entries (FILE *inf)$/
-Cstar_suffixes c-src/etags.c   562
-Cube.data.getFoo       lua-src/test.lua        /^function Cube.data.getFoo ()$/
-D      cp-src/fail.C   41
-D      cp-src/fail.C   /^              D() : ::A::T2::T(97), x(1066) {}$/
-DAEMON_RUNNING c-src/emacs/src/lisp.h  4258
-DAEMON_RUNNING c-src/emacs/src/lisp.h  4262
-DARKGRAY       cp-src/screen.hpp       20
-DEAFUN c.c     /^DEAFUN ("expand-file-name", Fexpand_file_name, Sex/
-DEBUG  c-src/etags.c   84
-DEBUG  c-src/etags.c   85
-DEBUG  c-src/etags.c   87
-DEBUG  objc-src/PackInsp.m     37
-DECLARE_GDB_SYM        c-src/emacs/src/lisp.h  /^#define DECLARE_GDB_SYM(type, id) type const id EX/
-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
-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;$/
-DEFINE_GDB_SYMBOL_END  c-src/emacs/src/lisp.h  /^# define DEFINE_GDB_SYMBOL_END(val) ;$/
-DEFINE_LISP_SYMBOL     c-src/emacs/src/lisp.h  /^#define DEFINE_LISP_SYMBOL(name) \\$/
-DEFINE_NON_NIL_Q_SYMBOL_MACROS c-src/emacs/src/lisp.h  755
-DEFSYM c-src/emacs/src/lisp.h  /^#define DEFSYM(sym, name) \/* empty *\/$/
-DEFSYM c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (SYMBOL_CONSTANT_P, int, (Lisp_Ob/
-DEFUN  c-src/emacs/src/lisp.h  /^#define DEFUN(lname, fnname, sname, minargs, maxar/
-DEFUN  c-src/emacs/src/lisp.h  /^#define DEFUN(lname, fnname, sname, minargs, maxar/
-DEFUN_ARGS_0   c-src/emacs/src/lisp.h  714
-DEFUN_ARGS_1   c-src/emacs/src/lisp.h  715
-DEFUN_ARGS_2   c-src/emacs/src/lisp.h  716
-DEFUN_ARGS_3   c-src/emacs/src/lisp.h  717
-DEFUN_ARGS_4   c-src/emacs/src/lisp.h  718
-DEFUN_ARGS_5   c-src/emacs/src/lisp.h  719
-DEFUN_ARGS_6   c-src/emacs/src/lisp.h  721
-DEFUN_ARGS_7   c-src/emacs/src/lisp.h  723
-DEFUN_ARGS_8   c-src/emacs/src/lisp.h  725
-DEFUN_ARGS_MANY        c-src/emacs/src/lisp.h  712
-DEFUN_ARGS_UNEVALLED   c-src/emacs/src/lisp.h  713
-DEFUN_func2    c.c     /^DEFUN_func2()$/
-DEFVAR_BOOL    c-src/emacs/src/lisp.h  /^#define DEFVAR_BOOL(lname, vname, doc)                \\$/
-DEFVAR_BUFFER_DEFAULTS c-src/emacs/src/lisp.h  /^#define DEFVAR_BUFFER_DEFAULTS(lname, vname, doc)     /
-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)  \\$/
-DEVICE_LAST    c-src/h.h       24
-DEVICE_SWP     c-src/h.h       23
-DOS_NT c-src/etags.c   117
-DOS_NT c-src/etags.c   118
-DUMPED c-src/emacs/src/gmalloc.c       80
-Debug  cp-src/functions.cpp    /^void Debug ( int lineno, int level, char* func , c/
-Def_   ruby-src/test1.ru       12
-DisposeANameList       pas-src/common.pas      /^procedure DisposeANameList( $/
-DisposeNameList        pas-src/common.pas      /^procedure DisposeNameList;$/
-ELEM_I c-src/h.h       3
-ELSRC  make-src/Makefile       /^ELSRC=TAGTEST.EL emacs\/lisp\/progmodes\/etags.el$/
-EMACS_INT      c-src/emacs/src/lisp.h  91
-EMACS_INT      c-src/emacs/src/lisp.h  96
-EMACS_INT      c-src/emacs/src/lisp.h  103
-EMACS_INT_MAX  c-src/emacs/src/lisp.h  93
-EMACS_INT_MAX  c-src/emacs/src/lisp.h  98
-EMACS_INT_MAX  c-src/emacs/src/lisp.h  105
-EMACS_LISP_H   c-src/emacs/src/lisp.h  22
-EMACS_NAME     c-src/etags.c   786
-EMACS_UINT     c-src/emacs/src/lisp.h  92
-EMACS_UINT     c-src/emacs/src/lisp.h  97
-EMACS_UINT     c-src/emacs/src/lisp.h  104
-ENTRY  c-src/sysdep.h  /^#define       ENTRY(name)                                                           \\$/
-ENUM_BF        c-src/emacs/src/lisp.h  /^#define ENUM_BF(TYPE) unsigned int$/
-ENUM_BF        c-src/emacs/src/lisp.h  /^#define ENUM_BF(TYPE) enum TYPE$/
-EQ     c-src/emacs/src/lisp.h  /^# define EQ(x, y) lisp_h_EQ (x, y)$/
-EQUAL  y-src/cccp.c    12
-ERLSRC make-src/Makefile       /^ERLSRC=gs_dialog.erl lines.erl lists.erl$/
-ERROR  y-src/parse.y   304
-ERROR  y-src/cccp.c    9
-ETAGS  make-src/Makefile       /^ETAGS: FRC etags ${infiles}$/
-ETAGS% make-src/Makefile       /^ETAGS%: FRC etags% ${infiles}$/
-ETAGS12        make-src/Makefile       /^ETAGS12: etags12 ${infiles}$/
-ETAGS13 ETAGS14 ETAGS15        make-src/Makefile       /^ETAGS13 ETAGS14 ETAGS15: etags% ${infiles}$/
-EXFUN  c-src/emacs/src/lisp.h  /^#define EXFUN(fnname, maxargs) \\$/
-EXTAGS make-src/Makefile       /^EXTAGS: extags ${infiles} Makefile$/
-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*);$/
-Environment    tex-src/gzip.texi       /^@node Environment, Tapes, Advanced usage, Top$/
-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/
-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;$/
-ExtractCommentInfo     pas-src/common.pas      /^procedure ExtractCommentInfo; (*($/
-FASTCFLAGS     make-src/Makefile       /^FASTCFLAGS=-O3 -finline-functions -ffast-math -fun/
-FASTCFLAGSWARN make-src/Makefile       /^FASTCFLAGSWARN=${WARNINGS} -Werror ${FASTCFLAGS}$/
-FILTER make-src/Makefile       /^FILTER=grep -v '\\.[Cchefy][lor]*,[1-9][0-9]*' || t/
-FINALIZERP     c-src/emacs/src/lisp.h  /^FINALIZERP (Lisp_Object x)$/
-FINAL_FREE_BLOCKS      c-src/emacs/src/gmalloc.c       135
-FIXNUM_BITS    c-src/emacs/src/lisp.h  252
-FIXNUM_OVERFLOW_P      c-src/emacs/src/lisp.h  /^#define FIXNUM_OVERFLOW_P(i) \\$/
-FIXNUM_OVERFLOW_P      c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (EQ, bool, (Lisp_Object x, Lisp_O/
-FLOATP c-src/emacs/src/lisp.h  /^# define FLOATP(x) lisp_h_FLOATP (x)$/
-FLOAT_TO_STRING_BUFSIZE        c-src/emacs/src/lisp.h  3927
-FORTHSRC       make-src/Makefile       /^FORTHSRC=test-forth.fth$/
-FOR_EACH_ALIST_VALUE   c-src/emacs/src/lisp.h  /^#define FOR_EACH_ALIST_VALUE(head_var, list_var, v/
-FOR_EACH_TAIL  c-src/emacs/src/lisp.h  /^#define FOR_EACH_TAIL(hare, list, tortoise, n)        \\$/
-FRAMEP c-src/emacs/src/lisp.h  /^FRAMEP (Lisp_Object a)$/
-FRC    make-src/Makefile       /^FRC:;$/
-FREEFLOOD      c-src/emacs/src/gmalloc.c       1858
-FSRC   make-src/Makefile       /^FSRC=entry.for entry.strange_suffix entry.strange$/
-FUN0   y-src/parse.y   /^yylex FUN0()$/
-FUN1   y-src/parse.y   /^yyerror FUN1(char *, s)$/
-FUN1   y-src/parse.y   /^str_to_col FUN1(char **,str)$/
-FUN2   y-src/parse.y   /^make_list FUN2(YYSTYPE, car, YYSTYPE, cdr)$/
-FUN2   y-src/parse.y   /^parse_cell_or_range FUN2(char **,ptr, struct rng */
-FUNCTIONP      c-src/emacs/src/lisp.h  /^FUNCTIONP (Lisp_Object obj)$/
-FUNCTION_KEY_OFFSET    c-src/emacs/src/keyboard.c      4766
-FUNCTION_KEY_OFFSET    c-src/emacs/src/keyboard.c      5061
-F_getit        c-src/etags.c   /^F_getit (FILE *inf)$/
-F_takeprec     c-src/etags.c   /^F_takeprec (void)$/
-Fabbrev_expansion      c-src/abbrev.c  /^DEFUN ("abbrev-expansion", Fabbrev_expansion, Sabb/
-Fabbrev_symbol c-src/abbrev.c  /^DEFUN ("abbrev-symbol", Fabbrev_symbol, Sabbrev_sy/
-Fabort_recursive_edit  c-src/emacs/src/keyboard.c      /^DEFUN ("abort-recursive-edit", Fabort_recursive_ed/
-Fails_t        c-src/h.h       5
-Fclear_abbrev_table    c-src/abbrev.c  /^DEFUN ("clear-abbrev-table", Fclear_abbrev_table, /
-Fclear_this_command_keys       c-src/emacs/src/keyboard.c      /^DEFUN ("clear-this-command-keys", Fclear_this_comm/
-Fcommand_error_default_function        c-src/emacs/src/keyboard.c      /^DEFUN ("command-error-default-function", Fcommand_/
-Fcurrent_idle_time     c-src/emacs/src/keyboard.c      /^DEFUN ("current-idle-time", Fcurrent_idle_time, Sc/
-Fcurrent_input_mode    c-src/emacs/src/keyboard.c      /^DEFUN ("current-input-mode", Fcurrent_input_mode, /
-Fdefine_abbrev c-src/abbrev.c  /^DEFUN ("define-abbrev", Fdefine_abbrev, Sdefine_ab/
-Fdefine_abbrev_table   c-src/abbrev.c  /^DEFUN ("define-abbrev-table", Fdefine_abbrev_table/
-Fdefine_global_abbrev  c-src/abbrev.c  /^DEFUN ("define-global-abbrev", Fdefine_global_abbr/
-Fdefine_mode_abbrev    c-src/abbrev.c  /^DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev, /
-Fdiscard_input c-src/emacs/src/keyboard.c      /^DEFUN ("discard-input", Fdiscard_input, Sdiscard_i/
-Fevent_convert_list    c-src/emacs/src/keyboard.c      /^DEFUN ("event-convert-list", Fevent_convert_list, /
-Fevent_symbol_parse_modifiers  c-src/emacs/src/keyboard.c      /^DEFUN ("internal-event-symbol-parse-modifiers", Fe/
-Fexit_recursive_edit   c-src/emacs/src/keyboard.c      /^DEFUN ("exit-recursive-edit", Fexit_recursive_edit/
-Fexpand_abbrev c-src/abbrev.c  /^DEFUN ("expand-abbrev", Fexpand_abbrev, Sexpand_ab/
-Finalize_Cond/p        ada-src/2ataspri.adb    /^   procedure Finalize_Cond (Cond : in out Conditio/
-Finalize_Cond/p        ada-src/2ataspri.ads    /^   procedure Finalize_Cond (Cond : in out Conditio/
-Finalize_Lock/p        ada-src/2ataspri.adb    /^   procedure Finalize_Lock (L : in out Lock) is$/
-Finalize_Lock/p        ada-src/2ataspri.ads    /^   procedure Finalize_Lock (L : in out Lock);$/
-Finalize_TAS_Cell/p    ada-src/2ataspri.adb    /^   procedure Finalize_TAS_Cell (Cell : in out TAS_/
-Finalize_TAS_Cell/p    ada-src/2ataspri.ads    /^   procedure Finalize_TAS_Cell   (Cell : in out TA/
-Finput_pending_p       c-src/emacs/src/keyboard.c      /^DEFUN ("input-pending-p", Finput_pending_p, Sinput/
-Finsert_abbrev_table_description       c-src/abbrev.c  /^DEFUN ("insert-abbrev-table-description", Finsert_/
-First100Chars  pas-src/common.pas      /^procedure First100Chars; (*($/
-Fmake_abbrev_table     c-src/abbrev.c  /^DEFUN ("make-abbrev-table", Fmake_abbrev_table, Sm/
-Foo    perl-src/kai-test.pl    /^package Foo;$/
-Foo::Bar       perl-src/kai-test.pl    /^package Foo::Bar;$/
-Fopen_dribble_file     c-src/emacs/src/keyboard.c      /^DEFUN ("open-dribble-file", Fopen_dribble_file, So/
-Forth_help     c-src/etags.c   573
-Forth_suffixes c-src/etags.c   571
-Forth_words    c-src/etags.c   /^Forth_words (FILE *inf)$/
-Fortran_functions      c-src/etags.c   /^Fortran_functions (FILE *inf)$/
-Fortran_help   c-src/etags.c   579
-Fortran_suffixes       c-src/etags.c   577
-Fposn_at_point c-src/emacs/src/keyboard.c      /^DEFUN ("posn-at-point", Fposn_at_point, Sposn_at_p/
-Fposn_at_x_y   c-src/emacs/src/keyboard.c      /^DEFUN ("posn-at-x-y", Fposn_at_x_y, Sposn_at_x_y, /
-Fread_key_sequence     c-src/emacs/src/keyboard.c      /^DEFUN ("read-key-sequence", Fread_key_sequence, Sr/
-Fread_key_sequence_vector      c-src/emacs/src/keyboard.c      /^DEFUN ("read-key-sequence-vector", Fread_key_seque/
-Frecent_keys   c-src/emacs/src/keyboard.c      /^DEFUN ("recent-keys", Frecent_keys, Srecent_keys, /
-Frecursion_depth       c-src/emacs/src/keyboard.c      /^DEFUN ("recursion-depth", Frecursion_depth, Srecur/
-Frecursive_edit        c-src/emacs/src/keyboard.c      /^DEFUN ("recursive-edit", Frecursive_edit, Srecursi/
-Freset_this_command_lengths    c-src/emacs/src/keyboard.c      /^DEFUN ("reset-this-command-lengths", Freset_this_c/
-Fset_input_interrupt_mode      c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-interrupt-mode", Fset_input_inte/
-Fset_input_meta_mode   c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-meta-mode", Fset_input_meta_mode/
-Fset_input_mode        c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-mode", Fset_input_mode, Sset_inp/
-Fset_output_flow_control       c-src/emacs/src/keyboard.c      /^DEFUN ("set-output-flow-control", Fset_output_flow/
-Fset_quit_char c-src/emacs/src/keyboard.c      /^DEFUN ("set-quit-char", Fset_quit_char, Sset_quit_/
-Fsuspend_emacs c-src/emacs/src/keyboard.c      /^DEFUN ("suspend-emacs", Fsuspend_emacs, Ssuspend_e/
-Fthis_command_keys     c-src/emacs/src/keyboard.c      /^DEFUN ("this-command-keys", Fthis_command_keys, St/
-Fthis_command_keys_vector      c-src/emacs/src/keyboard.c      /^DEFUN ("this-command-keys-vector", Fthis_command_k/
-Fthis_single_command_keys      c-src/emacs/src/keyboard.c      /^DEFUN ("this-single-command-keys", Fthis_single_co/
-Fthis_single_command_raw_keys  c-src/emacs/src/keyboard.c      /^DEFUN ("this-single-command-raw-keys", Fthis_singl/
-Ftop_level     c-src/emacs/src/keyboard.c      /^DEFUN ("top-level", Ftop_level, Stop_level, 0, 0, /
-Ftrack_mouse   c-src/emacs/src/keyboard.c      /^DEFUN ("internal--track-mouse", Ftrack_mouse, Stra/
-Funexpand_abbrev       c-src/abbrev.c  /^DEFUN ("unexpand-abbrev", Funexpand_abbrev, Sunexp/
-Fx_get_selection_internal      c.c     /^DEFUN ("x-get-selection-internal", Fx_get_selectio/
-Fx_get_selection_internal      c.c     /^       Fx_get_selection_internal, Sx_get_selection/
-Fy_get_selection_internal      c.c     /^      Fy_get_selection_internal, Sy_get_selection_/
-GCALIGNED      c-src/emacs/src/lisp.h  288
-GCALIGNED      c-src/emacs/src/lisp.h  290
-GCALIGNMENT    c-src/emacs/src/lisp.h  243
-GCPRO1 c-src/emacs/src/lisp.h  /^#define GCPRO1(varname) ((void) gcpro1)$/
-GCPRO1 c-src/emacs/src/lisp.h  /^#define GCPRO1(a)                                                     \\$/
-GCPRO1 c-src/emacs/src/lisp.h  /^#define GCPRO1(a)                                                     \\$/
-GCPRO2 c-src/emacs/src/lisp.h  /^#define GCPRO2(varname1, varname2) ((void) gcpro2,/
-GCPRO2 c-src/emacs/src/lisp.h  /^#define GCPRO2(a, b)                                                  \\$/
-GCPRO2 c-src/emacs/src/lisp.h  /^#define GCPRO2(a, b)                                                  \\$/
-GCPRO3 c-src/emacs/src/lisp.h  /^#define GCPRO3(varname1, varname2, varname3) \\$/
-GCPRO3 c-src/emacs/src/lisp.h  /^#define GCPRO3(a, b, c)                                                       \\$/
-GCPRO3 c-src/emacs/src/lisp.h  /^#define GCPRO3(a, b, c)                                                       \\$/
-GCPRO4 c-src/emacs/src/lisp.h  /^#define GCPRO4(varname1, varname2, varname3, varna/
-GCPRO4 c-src/emacs/src/lisp.h  /^#define GCPRO4(a, b, c, d)                                            \\$/
-GCPRO4 c-src/emacs/src/lisp.h  /^#define GCPRO4(a, b, c, d)                                            \\$/
-GCPRO5 c-src/emacs/src/lisp.h  /^#define GCPRO5(varname1, varname2, varname3, varna/
-GCPRO5 c-src/emacs/src/lisp.h  /^#define GCPRO5(a, b, c, d, e)                                         \\$/
-GCPRO5 c-src/emacs/src/lisp.h  /^#define GCPRO5(a, b, c, d, e)                                         \\$/
-GCPRO6 c-src/emacs/src/lisp.h  /^#define GCPRO6(varname1, varname2, varname3, varna/
-GCPRO6 c-src/emacs/src/lisp.h  /^#define GCPRO6(a, b, c, d, e, f)                                      \\$/
-GCPRO6 c-src/emacs/src/lisp.h  /^#define GCPRO6(a, b, c, d, e, f)                                      \\$/
-GCPRO7 c-src/emacs/src/lisp.h  /^#define GCPRO7(a, b, c, d, e, f, g) (GCPRO6 (a, b,/
-GCPRO7 c-src/emacs/src/lisp.h  /^#define GCPRO7(a, b, c, d, e, f, g)                                   \\$/
-GCPRO7 c-src/emacs/src/lisp.h  /^#define GCPRO7(a, b, c, d, e, f, g)                                   \\$/
-GCTYPEBITS     c-src/emacs/src/lisp.h  67
-GCTYPEBITS     c-src/emacs/src/lisp.h  /^DEFINE_GDB_SYMBOL_BEGIN (int, GCTYPEBITS)$/
-GC_MAKE_GCPROS_NOOPS   c-src/emacs/src/lisp.h  3172
-GC_MARK_STACK  c-src/emacs/src/lisp.h  3177
-GC_MARK_STACK_CHECK_GCPROS     c-src/emacs/src/lisp.h  3173
-GC_USE_GCPROS_AS_BEFORE        c-src/emacs/src/lisp.h  3171
-GC_USE_GCPROS_CHECK_ZOMBIES    c-src/emacs/src/lisp.h  3174
-GE     y-src/parse.c   8
-GENERIC_PTR    y-src/cccp.y    56
-GENERIC_PTR    y-src/cccp.y    58
-GEQ    y-src/cccp.c    15
-GETOPTOBJS     make-src/Makefile       /^GETOPTOBJS= #getopt.o getopt1.o$/
-GREEN  cp-src/screen.hpp       14
-GROW_RAW_KEYBUF        c-src/emacs/src/keyboard.c      119
-GatherControls pyt-src/server.py       /^    def GatherControls(self):$/
-GetLayerByName lua-src/allegro.lua     /^function GetLayerByName (name)$/
-GetNameList    pas-src/common.pas      /^function GetNameList; (* : BinNodePointer;*)$/
-GetNewNameListNode     pas-src/common.pas      /^function GetNewNameListNode;(*($/
-GetTextRef     pas-src/common.pas      /^function GetTextRef;(*($/
-GetUniqueLayerName     lua-src/allegro.lua     /^function GetUniqueLayerName ()$/
-Get_Own_Priority/f     ada-src/2ataspri.adb    /^   function Get_Own_Priority return System.Any_Pri/
-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/
-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/
-HASH_NEXT      c-src/emacs/src/lisp.h  /^HASH_NEXT (struct Lisp_Hash_Table *h, ptrdiff_t id/
-HASH_TABLE_P   c-src/emacs/src/lisp.h  /^HASH_TABLE_P (Lisp_Object a)$/
-HASH_TABLE_SIZE        c-src/emacs/src/lisp.h  /^HASH_TABLE_SIZE (struct Lisp_Hash_Table *h)$/
-HASH_VALUE     c-src/emacs/src/lisp.h  /^HASH_VALUE (struct Lisp_Hash_Table *h, ptrdiff_t i/
-HAVE_NTGUI     c-src/etags.c   116
-HEAP   c-src/emacs/src/gmalloc.c       131
-HTMLSRC        make-src/Makefile       /^HTMLSRC=softwarelibero.html index.shtml algrthms.h/
-HTML_help      c-src/etags.c   584
-HTML_labels    c-src/etags.c   /^HTML_labels (FILE *inf)$/
-HTML_suffixes  c-src/etags.c   582
-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
-INPUT_EVENT_POS_MIN    c-src/emacs/src/keyboard.c      3701
-INSERT_TREE_NODE       pas-src/common.pas      /^procedure INSERT_TREE_NODE;(*( $/
-INSTANTIATE_MDIAGARRAY_FRIENDS cp-src/MDiagArray2.h    /^#define INSTANTIATE_MDIAGARRAY_FRIENDS(T) \\$/
-INT    c-src/h.h       32
-INT    y-src/cccp.c    6
-INTEGERP       c-src/emacs/src/lisp.h  /^# define INTEGERP(x) lisp_h_INTEGERP (x)$/
-INTEGER_TO_CONS        c-src/emacs/src/lisp.h  /^#define INTEGER_TO_CONS(i)                                        \\$/
-INTERVAL       c-src/emacs/src/lisp.h  1149
-INTMASK        c-src/emacs/src/lisp.h  437
-INTTYPEBITS    c-src/emacs/src/lisp.h  249
-INT_BIT        c-src/emacs/src/gmalloc.c       124
-INT_TYPE_SIZE  y-src/cccp.y    91
-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))$/
-ISLOWER        c-src/etags.c   /^#define ISLOWER(c)    islower (CHAR (c))$/
-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
-InitNameList   pas-src/common.pas      /^procedure InitNameList;$/
-InitNameStringPool     pas-src/common.pas      /^procedure InitNameStringPool;$/
-InitializeStringPackage        pas-src/common.pas      /^procedure InitializeStringPackage;$/
-Initialize_Cond/p      ada-src/2ataspri.adb    /^   procedure Initialize_Cond (Cond : in out Condit/
-Initialize_Cond/p      ada-src/2ataspri.ads    /^   procedure Initialize_Cond (Cond : in out Condit/
-Initialize_LL_Tasks/p  ada-src/2ataspri.adb    /^   procedure Initialize_LL_Tasks (T : TCB_Ptr) is$/
-Initialize_LL_Tasks/p  ada-src/2ataspri.ads    /^   procedure Initialize_LL_Tasks (T : TCB_Ptr);$/
-Initialize_Lock/p      ada-src/2ataspri.adb    /^   procedure Initialize_Lock$/
-Initialize_Lock/p      ada-src/2ataspri.ads    /^   procedure Initialize_Lock (Prio : System.Any_Pr/
-Initialize_TAS_Cell/p  ada-src/2ataspri.adb    /^   procedure Initialize_TAS_Cell (Cell : out TAS_C/
-Initialize_TAS_Cell/p  ada-src/2ataspri.ads    /^   procedure Initialize_TAS_Cell (Cell :    out TA/
-Inner1/b       ada-src/etags-test-for.ada      /^  package body Inner1 is$/
-Inner1/b       ada-src/waroquiers.ada  /^  package body Inner1 is$/
-Inner1/s       ada-src/etags-test-for.ada      /^  package Inner1 is$/
-Inner1/s       ada-src/waroquiers.ada  /^  package Inner1 is$/
-Inner2/b       ada-src/etags-test-for.ada      /^  package body Inner2 is$/
-Inner2/b       ada-src/waroquiers.ada  /^  package body Inner2 is$/
-Inner2/s       ada-src/etags-test-for.ada      /^  package Inner2 is$/
-Inner2/s       ada-src/waroquiers.ada  /^  package Inner2 is$/
-Install_Abort_Handler/p        ada-src/2ataspri.adb    /^   procedure Install_Abort_Handler (Handler : Abor/
-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/
-Invoking gzip  tex-src/gzip.texi       /^@node Invoking gzip, Advanced usage, Sample, Top$/
-IpAddrKind     rs-src/test.rs  3
-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        make-src/Makefile       /^JAVASRC=AWTEMul.java KeyEve.java SMan.java SysCol./
-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/
-LATEST make-src/Makefile       /^LATEST=17$/
-LCE_COMMENT    php-src/lce_functions.php       13
-LCE_COMMENT_TOOL       php-src/lce_functions.php       17
-LCE_COMMENT_USER       php-src/lce_functions.php       15
-LCE_FUNCTIONS  php-src/lce_functions.php       4
-LCE_MSGID      php-src/lce_functions.php       19
-LCE_MSGSTR     php-src/lce_functions.php       21
-LCE_TEXT       php-src/lce_functions.php       23
-LCE_UNKNOWN    php-src/lce_functions.php       9
-LCE_WS php-src/lce_functions.php       11
-LDFLAGS        make-src/Makefile       /^LDFLAGS=#-static -lc_p$/
-LE     y-src/parse.c   7
-LEQ    y-src/cccp.c    14
-LIGHTBLUE      cp-src/screen.hpp       21
-LIGHTCYAN      cp-src/screen.hpp       23
-LIGHTGRAY      cp-src/screen.hpp       19
-LIGHTGREEN     cp-src/screen.hpp       22
-LIGHTMAGENTA   cp-src/screen.hpp       25
-LIGHTRED       cp-src/screen.hpp       24
-LISP_INITIALLY c-src/emacs/src/lisp.h  /^#define LISP_INITIALLY(i) {i}$/
-LISP_INITIALLY c-src/emacs/src/lisp.h  /^#define LISP_INITIALLY(i) (i)$/
-LISP_INITIALLY_ZERO    c-src/emacs/src/lisp.h  582
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^#define LISP_MACRO_DEFUN(name, type, argdecls, arg/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XLI, EMACS_INT, (Lisp_Object o),/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XPNTR, void *, (Lisp_Object a), /
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XHASH, EMACS_INT, (Lisp_Object a/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XCONS, struct Lisp_Cons *, (Lisp/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XCAR, Lisp_Object, (Lisp_Object /
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (SYMBOL_VAL, Lisp_Object, (struct/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (NILP, bool, (Lisp_Object x), (x)/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (CONSP, bool, (Lisp_Object x), (x/
-LISP_MACRO_DEFUN_VOID  c-src/emacs/src/lisp.h  /^#define LISP_MACRO_DEFUN_VOID(name, argdecls, args/
-LISP_MACRO_DEFUN_VOID  c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN_VOID (CHECK_TYPE,$/
-LISP_MACRO_DEFUN_VOID  c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN_VOID (SET_SYMBOL_VAL,$/
-LISP_MACRO_DEFUN_VOID  c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN_VOID (CHECK_LIST_CONS, (Lisp_Obje/
-LISTCONTENTS   objc-src/PackInsp.m     39
-LISTCONTENTSBUTTON     objc-src/PackInsp.m     48
-LISTDESCRIPTIONBUTTON  objc-src/PackInsp.m     49
-LL_Assert/p    ada-src/2ataspri.adb    /^   procedure LL_Assert (B : Boolean; M : String) i/
-LL_Assert/p    ada-src/2ataspri.ads    /^   procedure LL_Assert (B : Boolean; M : String);$/
-LL_Task_Procedure_Access/t     ada-src/etags-test-for.ada      /^   type LL_Task_Procedure_Access is access procedu/
-LL_Task_Procedure_Access/t     ada-src/2ataspri.ads    /^   type LL_Task_Procedure_Access is access procedu/
-LL_Wrapper/p   ada-src/etags-test-for.ada      /^   procedure LL_Wrapper (T : TCB_Ptr);$/
-LL_Wrapper/p   ada-src/2ataspri.adb    /^   procedure LL_Wrapper (T : TCB_Ptr);$/
-LL_Wrapper/p   ada-src/2ataspri.adb    /^   procedure LL_Wrapper (T : TCB_Ptr) is$/
-LOCALIZE       objc-src/PackInsp.m     /^#define LOCALIZE(s)           NXLoadLocalizedStringFromTabl/
-LOCALIZE_ARCH  objc-src/PackInsp.m     /^#define LOCALIZE_ARCH(s)      NXLoadLocalizedStringFrom/
-LOCK   c-src/emacs/src/gmalloc.c       /^#define LOCK()                                        \\$/
-LOCK   c-src/emacs/src/gmalloc.c       /^#define LOCK()$/
-LOCK_ALIGNED_BLOCKS    c-src/emacs/src/gmalloc.c       /^#define LOCK_ALIGNED_BLOCKS()                         \\$/
-LOCK_ALIGNED_BLOCKS    c-src/emacs/src/gmalloc.c       /^#define LOCK_ALIGNED_BLOCKS()$/
-LONG_TYPE_SIZE y-src/cccp.y    95
-LOOKING_AT     c-src/etags.c   /^#define LOOKING_AT(cp, kw)  \/* kw is the keyword, /
-LOOKING_AT_NOCASE      c-src/etags.c   /^#define LOOKING_AT_NOCASE(cp, kw) \/* the keyword i/
-LOOKUP objc-src/PackInsp.m     /^#define LOOKUP(key, notfound) ([table isKey:key] ?/
-LOOKUP objc-src/PackInsp.m     176
-LOOP_ON_INPUT_LINES    c-src/etags.c   /^#define LOOP_ON_INPUT_LINES(file_pointer, line_buf/
-LSH    y-src/cccp.c    16
-LTGT   cp-src/MDiagArray2.h    35
-LTGT   cp-src/MDiagArray2.h    39
-LTGT   cp-src/MDiagArray2.h    42
-LTGT   cp-src/MDiagArray2.h    144
-LUASRC make-src/Makefile       /^LUASRC=allegro.lua$/
-L_CELL y-src/parse.c   10
-L_CONST        y-src/parse.c   13
-L_FN0  y-src/parse.c   14
-L_FN1  y-src/parse.c   15
-L_FN1R y-src/parse.c   20
-L_FN2  y-src/parse.c   16
-L_FN2R y-src/parse.c   21
-L_FN3  y-src/parse.c   17
-L_FN3R y-src/parse.c   22
-L_FN4  y-src/parse.c   18
-L_FN4R y-src/parse.c   23
-L_FNN  y-src/parse.c   19
-L_FNNR y-src/parse.c   24
-L_GE   y-src/parse.c   27
-L_LE   y-src/parse.c   25
-L_NE   y-src/parse.c   26
-L_RANGE        y-src/parse.c   11
-L_VAR  y-src/parse.c   12
-L_getit        c-src/etags.c   /^L_getit (void)$/
-LabeledEntry   pyt-src/server.py       /^class LabeledEntry(Frame):$/
-Lang_function  c-src/etags.c   182
-Lang_function  c-src/h.h       6
-Lisp_Bits      c-src/emacs/src/lisp.h  239
-Lisp_Bool_Vector       c-src/emacs/src/lisp.h  1384
-Lisp_Boolfwd   c-src/emacs/src/lisp.h  2284
-Lisp_Buffer_Local_Value        c-src/emacs/src/lisp.h  2334
-Lisp_Buffer_Objfwd     c-src/emacs/src/lisp.h  2302
-Lisp_Char_Table        c-src/emacs/src/lisp.h  1575
-Lisp_Compiled  c-src/emacs/src/lisp.h  2429
-Lisp_Cons      c-src/emacs/src/lisp.h  475
-Lisp_Finalizer c-src/emacs/src/lisp.h  2186
-Lisp_Float     c-src/emacs/src/lisp.h  477
-Lisp_Float     c-src/emacs/src/lisp.h  2391
-Lisp_Free      c-src/emacs/src/lisp.h  2201
-Lisp_Fwd       c-src/emacs/src/lisp.h  2368
-Lisp_Fwd_Bool  c-src/emacs/src/lisp.h  505
-Lisp_Fwd_Buffer_Obj    c-src/emacs/src/lisp.h  507
-Lisp_Fwd_Int   c-src/emacs/src/lisp.h  504
-Lisp_Fwd_Kboard_Obj    c-src/emacs/src/lisp.h  508
-Lisp_Fwd_Obj   c-src/emacs/src/lisp.h  506
-Lisp_Fwd_Type  c-src/emacs/src/lisp.h  502
-Lisp_Hash_Table        c-src/emacs/src/lisp.h  1823
-Lisp_Int0      c-src/emacs/src/lisp.h  461
-Lisp_Int1      c-src/emacs/src/lisp.h  462
-Lisp_Intfwd    c-src/emacs/src/lisp.h  2274
-Lisp_Kboard_Objfwd     c-src/emacs/src/lisp.h  2362
-Lisp_Marker    c-src/emacs/src/lisp.h  1978
-Lisp_Misc      c-src/emacs/src/lisp.h  458
-Lisp_Misc      c-src/emacs/src/lisp.h  2212
-Lisp_Misc_Any  c-src/emacs/src/lisp.h  1971
-Lisp_Misc_Finalizer    c-src/emacs/src/lisp.h  491
-Lisp_Misc_Float        c-src/emacs/src/lisp.h  494
-Lisp_Misc_Free c-src/emacs/src/lisp.h  487
-Lisp_Misc_Limit        c-src/emacs/src/lisp.h  496
-Lisp_Misc_Marker       c-src/emacs/src/lisp.h  488
-Lisp_Misc_Overlay      c-src/emacs/src/lisp.h  489
-Lisp_Misc_Save_Value   c-src/emacs/src/lisp.h  490
-Lisp_Misc_Type c-src/emacs/src/lisp.h  485
-Lisp_Object    c-src/emacs/src/lisp.h  567
-Lisp_Object    c-src/emacs/src/lisp.h  577
-Lisp_Objfwd    c-src/emacs/src/lisp.h  2294
-Lisp_Overlay   c-src/emacs/src/lisp.h  2021
-Lisp_Save_Type c-src/emacs/src/lisp.h  2064
-Lisp_Save_Value        c-src/emacs/src/lisp.h  2110
-Lisp_String    c-src/emacs/src/lisp.h  466
-Lisp_Sub_Char_Table    c-src/emacs/src/lisp.h  1606
-Lisp_Subr      c-src/emacs/src/lisp.h  1670
-Lisp_Symbol    c-src/emacs/src/lisp.h  454
-Lisp_Symbol    c-src/emacs/src/lisp.h  654
-Lisp_Type      c-src/emacs/src/lisp.h  451
-Lisp_Vector    c-src/emacs/src/lisp.h  1369
-Lisp_Vectorlike        c-src/emacs/src/lisp.h  472
-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):$/
-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$/
-LowerCaseNmStr pas-src/common.pas      /^function LowerCaseNmStr; (*($/
-Lua_functions  c-src/etags.c   /^Lua_functions (FILE *inf)$/
-Lua_help       c-src/etags.c   600
-Lua_suffixes   c-src/etags.c   598
-MAGENTA        cp-src/screen.hpp       17
-MAGICBYTE      c-src/emacs/src/gmalloc.c       1856
-MAGICFREE      c-src/emacs/src/gmalloc.c       1855
-MAGICWORD      c-src/emacs/src/gmalloc.c       1854
-MAKE   make-src/Makefile       /^MAKE:=$(MAKE) --no-print-directory$/
-MAKESRC        make-src/Makefile       /^MAKESRC=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)$/
-MAXPATHLEN     c-src/etags.c   115
-MAX_ALLOCA     c-src/emacs/src/lisp.h  4556
-MAX_ALLOCA     c-src/emacs/src/lisp.h  4556
-MAX_ENCODED_BYTES      c-src/emacs/src/keyboard.c      2254
-MAX_HASH_VALUE c-src/etags.c   2329
-MAX_WORD_LENGTH        c-src/etags.c   2327
-MAYBEREL       y-src/parse.y   /^#define MAYBEREL(p) (*(p)=='[' && (isdigit((p)[1])/
-MBYTES objc-src/PackInsp.m     59
-MCHECK_DISABLED        c-src/emacs/src/gmalloc.c       285
-MCHECK_FREE    c-src/emacs/src/gmalloc.c       287
-MCHECK_HEAD    c-src/emacs/src/gmalloc.c       288
-MCHECK_OK      c-src/emacs/src/gmalloc.c       286
-MCHECK_TAIL    c-src/emacs/src/gmalloc.c       289
-MDiagArray2    cp-src/MDiagArray2.h    78
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (T *d, int r, int c) : DiagArray2<T>/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (void) : DiagArray2<T> () { }$/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (int r, int c) : DiagArray2<T> (r, c/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (int r, int c, const T& val) : DiagA/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (const Array<T>& a) : DiagArray2<T> /
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (const DiagArray2<T>& a) : DiagArray/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (const MDiagArray2<T>& a) : DiagArra/
-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)$/
-MOST_NEGATIVE_FIXNUM   c-src/emacs/src/lisp.h  835
-MOST_POSITIVE_FIXNUM   c-src/emacs/src/lisp.h  834
-MOVE   c-src/sysdep.h  /^#define MOVE(x,y)     movl x, y$/
-MSDOS  c-src/etags.c   100
-MSDOS  c-src/etags.c   106
-MSDOS  c-src/etags.c   107
-MSDOS  c-src/etags.c   110
-MSGSEL f-src/entry.for /^       ENTRY  MSGSEL ( TYPE )$/
-MSGSEL f-src/entry.strange_suffix      /^       ENTRY  MSGSEL ( TYPE )$/
-MSGSEL f-src/entry.strange     /^       ENTRY  MSGSEL ( TYPE )$/
-MULTI_LETTER_MOD       c-src/emacs/src/keyboard.c      /^#define MULTI_LETTER_MOD(BIT, NAME, LEN)                      \\$/
-MULTI_LETTER_MOD       c-src/emacs/src/keyboard.c      6231
-MULTI_LETTER_MOD       c-src/emacs/src/keyboard.c      /^#define MULTI_LETTER_MOD(BIT, NAME, LEN)              \\$/
-MULTI_LETTER_MOD       c-src/emacs/src/keyboard.c      6764
-Machin_T/b     ada-src/waroquiers.ada  /^  protected body Machin_T is$/
-Machin_T/t     ada-src/etags-test-for.ada      /^  protected type Machin_T is$/
-Machin_T/t     ada-src/etags-test-for.ada      /^  protected Machin_T is$/
-Machin_T/t     ada-src/waroquiers.ada  /^  protected type Machin_T is$/
-Machine_Exceptions/t   ada-src/2ataspri.ads    /^   type Machine_Exceptions is new Interfaces.C.POS/
-MakeDispose    pyt-src/server.py       /^    def MakeDispose(self):$/
-MakeSitelist   pyt-src/server.py       /^    def MakeSitelist(self, master):$/
-Makefile_filenames     c-src/etags.c   603
-Makefile_help  c-src/etags.c   605
-Makefile_targets       c-src/etags.c   /^Makefile_targets (FILE *inf)$/
-Mc     cp-src/c.C      /^int main (void) { my_function0(0); my_function1(1)/
-Mcccp  y-src/cccp.y    /^main ()$/
-Mconway.cpp    cp-src/conway.cpp       /^void main(void)$/
-Metags c-src/etags.c   /^main (int argc, char **argv)$/
-Mfail  cp-src/fail.C   /^main()$/
-Mkai-test.pl   perl-src/kai-test.pl    /^package main;$/
-ModuleExample  ruby-src/test.rb        /^module ModuleExample$/
-More_Lisp_Bits c-src/emacs/src/lisp.h  801
-MoveLayerAfter lua-src/allegro.lua     /^function MoveLayerAfter (this_one)$/
-MoveLayerBefore        lua-src/allegro.lua     /^function MoveLayerBefore (this_one)$/
-MoveLayerBottom        lua-src/allegro.lua     /^function MoveLayerBottom ()$/
-MoveLayerTop   lua-src/allegro.lua     /^function MoveLayerTop ()$/
-Mtest.go       go-src/test.go  1
-Mtest.go       go-src/test.go  /^func main() {$/
-Mtest.rs       rs-src/test.rs  /^fn main() {$/
-Mtest1.go      go-src/test1.go 1
-Mtest1.go      go-src/test1.go /^func main() {$/
-Mx.cc  cp-src/x.cc     /^main(int argc, char *argv[])$/
-NAME   y-src/cccp.c    8
-NATNUMP        c-src/emacs/src/lisp.h  /^NATNUMP (Lisp_Object x)$/
-NDEBUG c-src/etags.c   88
-NE     y-src/parse.c   6
-NEG    y-src/parse.c   9
-NEXT_ALMOST_PRIME_LIMIT        c-src/emacs/src/lisp.h  3573
-NILP   c-src/emacs/src/lisp.h  /^# define NILP(x) lisp_h_NILP (x)$/
-NIL_IS_ZERO    c-src/emacs/src/lisp.h  1515
-NONPOINTER_BITS        c-src/emacs/src/lisp.h  78
-NONPOINTER_BITS        c-src/emacs/src/lisp.h  80
-NONSRCS        make-src/Makefile       /^NONSRCS=entry.strange lists.erl clheir.hpp.gz$/
-NOTEQUAL       y-src/cccp.c    13
-NULL   y-src/cccp.y    51
-NULL_PTR       y-src/cccp.y    63
-NUMSTATS       objc-src/PackInsp.h     36
-NUM_MOD_NAMES  c-src/emacs/src/keyboard.c      6325
-NUM_RECENT_KEYS        c-src/emacs/src/keyboard.c      91
-NameHasChar    pas-src/common.pas      /^function NameHasChar; (* (TheName : NameString; Th/
-NameStringLess pas-src/common.pas      /^function NameStringLess;(*(var Name1,Name2 : NameS/
-NewLayer       lua-src/allegro.lua     /^function NewLayer (name, x, y, w, h)$/
-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/
-OBJCPPSRC      make-src/Makefile       /^OBJCPPSRC=SimpleCalc.H SimpleCalc.M$/
-OBJCSRC        make-src/Makefile       /^OBJCSRC=Subprocess.h Subprocess.m PackInsp.h PackI/
-OBJS   make-src/Makefile       /^OBJS=${GETOPTOBJS} ${REGEXOBJS} ${CHECKOBJS}$/
-OPENBUTTON     objc-src/PackInsp.m     47
-OPTIONS        make-src/Makefile       /^OPTIONS=--members --declarations --regex=@regexfil/
-OR     y-src/cccp.c    10
-OTAGS  make-src/Makefile       /^OTAGS: oetags ${SRCS} srclist$/
-OVERLAYP       c-src/emacs/src/lisp.h  /^OVERLAYP (Lisp_Object x)$/
-Objc_help      c-src/etags.c   613
-Objc_suffixes  c-src/etags.c   609
-OperatorFun    c-src/h.h       88
-Overview       tex-src/gzip.texi       /^@node Overview, Sample, Copying, Top$/
-PASSRC make-src/Makefile       /^PASSRC=common.pas$/
-PDT    c-src/h.h       /^  Date 04 May 87 235311 PDT (Mon)$/
-PERLSRC        make-src/Makefile       /^PERLSRC=htlmify-cystic yagrip.pl kai-test.pl mirro/
-PHPSRC make-src/Makefile       /^PHPSRC=lce_functions.php ptest.php sendmail.php$/
-PHP_functions  c-src/etags.c   /^PHP_functions (FILE *inf)$/
-PHP_help       c-src/etags.c   639
-PHP_suffixes   c-src/etags.c   637
-POEntry        php-src/lce_functions.php       105
-POEntry        php-src/lce_functions.php       /^      function POEntry()$/
-POEntryAD      php-src/lce_functions.php       29
-PORManager     php-src/lce_functions.php       498
-PORManager     php-src/lce_functions.php       /^      function PORManager()$/
-POReader       php-src/lce_functions.php       163
-POReader       php-src/lce_functions.php       /^      function POReader($domain, $filename)$/
-POSTSCRIPTFLAGS        make-src/Makefile       /^POSTSCRIPTFLAGS=--language=none --regex='#\/[^ \\t{]/
-PRINT_UNDOCUMENTED_OPTIONS_HELP        c-src/etags.c   804
-PROCESSP       c-src/emacs/src/lisp.h  /^PROCESSP (Lisp_Object a)$/
-PROLSRC        make-src/Makefile       /^PROLSRC=ordsets.prolog natded.prolog$/
-PROP   c-src/emacs/src/keyboard.c      /^#define PROP(IDX) AREF (tool_bar_item_properties, /
-PROP   c-src/emacs/src/keyboard.c      8379
-PROTECT_MALLOC_STATE   c-src/emacs/src/gmalloc.c       /^#define PROTECT_MALLOC_STATE(PROT) protect_malloc_/
-PROTECT_MALLOC_STATE   c-src/emacs/src/gmalloc.c       /^#define PROTECT_MALLOC_STATE(PROT)    \/* empty *\/$/
-PRTPKG f-src/entry.for /^      LOGICAL FUNCTION PRTPKG ( SHORT, LONG, EXPL,/
-PRTPKG f-src/entry.strange_suffix      /^      LOGICAL FUNCTION PRTPKG ( SHORT, LONG, EXPL,/
-PRTPKG f-src/entry.strange     /^      LOGICAL FUNCTION PRTPKG ( SHORT, LONG, EXPL,/
-PSEUDO c-src/sysdep.h  /^#define       PSEUDO(name, syscall_name, args)                                      /
-PSEUDOVECSIZE  c-src/emacs/src/lisp.h  /^#define PSEUDOVECSIZE(type, nonlispfield)                     \\$/
-PSEUDOVECTORP  c-src/emacs/src/lisp.h  /^PSEUDOVECTORP (Lisp_Object a, int code)$/
-PSEUDOVECTOR_AREA_BITS c-src/emacs/src/lisp.h  818
-PSEUDOVECTOR_FLAG      c-src/emacs/src/lisp.h  774
-PSEUDOVECTOR_REST_BITS c-src/emacs/src/lisp.h  813
-PSEUDOVECTOR_REST_MASK c-src/emacs/src/lisp.h  814
-PSEUDOVECTOR_SIZE_BITS c-src/emacs/src/lisp.h  808
-PSEUDOVECTOR_SIZE_MASK c-src/emacs/src/lisp.h  809
-PSEUDOVECTOR_TYPEP     c-src/emacs/src/lisp.h  /^PSEUDOVECTOR_TYPEP (struct vectorlike_header *a, i/
-PSSRC  make-src/Makefile       /^PSSRC=rfc1245.ps$/
-PS_functions   c-src/etags.c   /^PS_functions (FILE *inf)$/
-PS_help        c-src/etags.c   649
-PS_suffixes    c-src/etags.c   647
-PTY_LENGTH     objc-src/Subprocess.m   21
-PTY_TEMPLATE   objc-src/Subprocess.m   20
-PUSH_C_STR     c-src/emacs/src/keyboard.c      /^#define PUSH_C_STR(str, listvar) \\$/
-PUSH_HANDLER   c-src/emacs/src/lisp.h  /^#define PUSH_HANDLER(c, tag_ch_val, handlertype)      \\/
-PVEC_BOOL_VECTOR       c-src/emacs/src/lisp.h  787
-PVEC_BUFFER    c-src/emacs/src/lisp.h  788
-PVEC_CHAR_TABLE        c-src/emacs/src/lisp.h  796
-PVEC_COMPILED  c-src/emacs/src/lisp.h  795
-PVEC_FONT      c-src/emacs/src/lisp.h  798
-PVEC_FRAME     c-src/emacs/src/lisp.h  785
-PVEC_FREE      c-src/emacs/src/lisp.h  783
-PVEC_HASH_TABLE        c-src/emacs/src/lisp.h  789
-PVEC_NORMAL_VECTOR     c-src/emacs/src/lisp.h  782
-PVEC_OTHER     c-src/emacs/src/lisp.h  793
-PVEC_PROCESS   c-src/emacs/src/lisp.h  784
-PVEC_SUBR      c-src/emacs/src/lisp.h  792
-PVEC_SUB_CHAR_TABLE    c-src/emacs/src/lisp.h  797
-PVEC_TERMINAL  c-src/emacs/src/lisp.h  790
-PVEC_TYPE_MASK c-src/emacs/src/lisp.h  819
-PVEC_WINDOW    c-src/emacs/src/lisp.h  786
-PVEC_WINDOW_CONFIGURATION      c-src/emacs/src/lisp.h  791
-PYTSRC make-src/Makefile       /^PYTSRC=server.py$/
-PackageInspector       objc-src/PackInsp.h     /^@interface PackageInspector:WMInspector$/
-Pascal_functions       c-src/etags.c   /^Pascal_functions (FILE *inf)$/
-Pascal_help    c-src/etags.c   621
-Pascal_suffixes        c-src/etags.c   619
-Perl_functions c-src/etags.c   /^Perl_functions (FILE *inf)$/
-Perl_help      c-src/etags.c   630
-Perl_interpreters      c-src/etags.c   628
-Perl_suffixes  c-src/etags.c   626
-Pkg1/b ada-src/etags-test-for.ada      /^package body Pkg1 is$/
-Pkg1/b ada-src/waroquiers.ada  /^package body Pkg1 is$/
-Pkg1/s ada-src/etags-test-for.ada      /^package Pkg1 is$/
-Pkg1/s ada-src/waroquiers.ada  /^package Pkg1 is$/
-Pkg1_Func1/f   ada-src/etags-test-for.ada      /^  function Pkg1_Func1 return Boolean;$/
-Pkg1_Func1/f   ada-src/etags-test-for.ada      /^  function Pkg1_Func1 return Boolean is separate;$/
-Pkg1_Func1/f   ada-src/etags-test-for.ada      /^function  Pkg1_Func1 return Boolean is$/
-Pkg1_Func1/f   ada-src/waroquiers.ada  /^  function Pkg1_Func1 return Boolean;$/
-Pkg1_Func1/f   ada-src/waroquiers.ada  /^  function Pkg1_Func1 return Boolean is separate;$/
-Pkg1_Func1/f   ada-src/waroquiers.ada  /^function  Pkg1_Func1 return Boolean is$/
-Pkg1_Func2/f   ada-src/etags-test-for.ada      /^  function Pkg1_Func2 (Ijk : Integer; Z : Integer)/
-Pkg1_Func2/f   ada-src/etags-test-for.ada      /^  function Pkg1_Func2 (Ijk : Integer; Z : Integer)/
-Pkg1_Func2/f   ada-src/waroquiers.ada  /^  function Pkg1_Func2 (Ijk : Integer; Z : Integer)/
-Pkg1_Func2/f   ada-src/waroquiers.ada  /^  function Pkg1_Func2 (Ijk : Integer; Z : Integer)/
-Pkg1_Pkg1/b    ada-src/etags-test-for.ada      /^  package body Pkg1_Pkg1 is separate;$/
-Pkg1_Pkg1/b    ada-src/etags-test-for.ada      /^package body Pkg1_Pkg1 is$/
-Pkg1_Pkg1/b    ada-src/waroquiers.ada  /^  package body Pkg1_Pkg1 is separate;$/
-Pkg1_Pkg1/b    ada-src/waroquiers.ada  /^package body Pkg1_Pkg1 is$/
-Pkg1_Pkg1/s    ada-src/etags-test-for.ada      /^  package Pkg1_Pkg1 is$/
-Pkg1_Pkg1/s    ada-src/waroquiers.ada  /^  package Pkg1_Pkg1 is$/
-Pkg1_Pkg1_Proc1/p      ada-src/etags-test-for.ada      /^    procedure Pkg1_Pkg1_Proc1;$/
-Pkg1_Pkg1_Proc1/p      ada-src/etags-test-for.ada      /^  procedure Pkg1_Pkg1_Proc1 is$/
-Pkg1_Pkg1_Proc1/p      ada-src/waroquiers.ada  /^    procedure Pkg1_Pkg1_Proc1;$/
-Pkg1_Pkg1_Proc1/p      ada-src/waroquiers.ada  /^  procedure Pkg1_Pkg1_Proc1 is$/
-Pkg1_Proc1/p   ada-src/etags-test-for.ada      /^  procedure Pkg1_Proc1;$/
-Pkg1_Proc1/p   ada-src/etags-test-for.ada      /^  procedure Pkg1_Proc1 is$/
-Pkg1_Proc1/p   ada-src/waroquiers.ada  /^  procedure Pkg1_Proc1;$/
-Pkg1_Proc1/p   ada-src/waroquiers.ada  /^  procedure Pkg1_Proc1 is$/
-Pkg1_Proc2/p   ada-src/etags-test-for.ada      /^  procedure Pkg1_Proc2 (I : Integer);$/
-Pkg1_Proc2/p   ada-src/etags-test-for.ada      /^  procedure Pkg1_Proc2 (I : Integer) is$/
-Pkg1_Proc2/p   ada-src/waroquiers.ada  /^  procedure Pkg1_Proc2 (I : Integer);$/
-Pkg1_Proc2/p   ada-src/waroquiers.ada  /^  procedure Pkg1_Proc2 (I : Integer) is$/
-PostControls   pyt-src/server.py       /^    def PostControls(self):$/
-Pre_Call_State/t       ada-src/2ataspri.ads    /^   type Pre_Call_State is new System.Address;$/
-PrintAdd       go-src/test1.go /^func (s str) PrintAdd() {$/
-PrintAdd       go-src/test1.go /^func (n intNumber) PrintAdd() {$/
-Private        objc-src/Subprocess.m   /^@interface Subprocess(Private)$/
-Private_T/b    ada-src/etags-test-for.ada      /^    task body Private_T is$/
-Private_T/b    ada-src/waroquiers.ada  /^    task body Private_T is$/
-Private_T/k    ada-src/etags-test-for.ada      /^    task Private_T;$/
-Private_T/k    ada-src/waroquiers.ada  /^    task Private_T;$/
-Private_T/p    ada-src/etags-test-for.ada      /^    procedure Private_T;$/
-Private_T/p    ada-src/etags-test-for.ada      /^    procedure Private_T is$/
-Private_T/p    ada-src/waroquiers.ada  /^    procedure Private_T;$/
-Private_T/p    ada-src/waroquiers.ada  /^    procedure Private_T is$/
-Private_T/t    ada-src/etags-test-for.ada      /^  type Private_T is private;$/
-Private_T/t    ada-src/etags-test-for.ada      /^  type Private_T is$/
-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       /^@node Problems, Concept Index, Tapes, Top$/
-Proc/t ada-src/2ataspri.ads    /^   type Proc is access procedure (Addr : System.Ad/
-Prolog_functions       c-src/etags.c   /^Prolog_functions (FILE *inf)$/
-Prolog_help    c-src/etags.c   654
-Prolog_suffixes        c-src/etags.c   652
-Public_T/t     ada-src/etags-test-for.ada      /^  type Public_T is$/
-Public_T/t     ada-src/waroquiers.ada  /^  type Public_T is$/
-Python_functions       c-src/etags.c   /^Python_functions (FILE *inf)$/
-Python_help    c-src/etags.c   660
-Python_suffixes        c-src/etags.c   658
-QUIT   c-src/emacs/src/lisp.h  3101
-QUITP  c-src/emacs/src/lisp.h  3112
-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
-READABLE_EVENTS_FILTER_EVENTS  c-src/emacs/src/keyboard.c      347
-READABLE_EVENTS_IGNORE_SQUEEZABLES     c-src/emacs/src/keyboard.c      348
-RECC_ALNUM     c-src/emacs/src/regex.h 610
-RECC_ALPHA     c-src/emacs/src/regex.h 610
-RECC_ASCII     c-src/emacs/src/regex.h 617
-RECC_BLANK     c-src/emacs/src/regex.h 615
-RECC_CNTRL     c-src/emacs/src/regex.h 613
-RECC_DIGIT     c-src/emacs/src/regex.h 614
-RECC_ERROR     c-src/emacs/src/regex.h 609
-RECC_GRAPH     c-src/emacs/src/regex.h 611
-RECC_LOWER     c-src/emacs/src/regex.h 612
-RECC_MULTIBYTE c-src/emacs/src/regex.h 616
-RECC_NONASCII  c-src/emacs/src/regex.h 616
-RECC_PRINT     c-src/emacs/src/regex.h 611
-RECC_PUNCT     c-src/emacs/src/regex.h 613
-RECC_SPACE     c-src/emacs/src/regex.h 615
-RECC_UNIBYTE   c-src/emacs/src/regex.h 617
-RECC_UPPER     c-src/emacs/src/regex.h 612
-RECC_WORD      c-src/emacs/src/regex.h 610
-RECC_XDIGIT    c-src/emacs/src/regex.h 614
-RED    cp-src/screen.hpp       16
-REGEX  make-src/Makefile       /^REGEX=\/[ \\t]*DEFVAR_[A-Z_ \\t\\n(]+"\\([^"]+\\)"\/$/
-REGEXOBJS      make-src/Makefile       /^REGEXOBJS=regex.o$/
-REGS_FIXED     c-src/emacs/src/regex.h 378
-REGS_REALLOCATE        c-src/emacs/src/regex.h 377
-REGS_UNALLOCATED       c-src/emacs/src/regex.h 376
-REG_BADBR      c-src/emacs/src/regex.h 313
-REG_BADPAT     c-src/emacs/src/regex.h 305
-REG_BADRPT     c-src/emacs/src/regex.h 316
-REG_EBRACE     c-src/emacs/src/regex.h 312
-REG_EBRACK     c-src/emacs/src/regex.h 310
-REG_ECOLLATE   c-src/emacs/src/regex.h 306
-REG_ECTYPE     c-src/emacs/src/regex.h 307
-REG_EEND       c-src/emacs/src/regex.h 319
-REG_EESCAPE    c-src/emacs/src/regex.h 308
-REG_ENOSYS     c.c     279
-REG_ENOSYS     c-src/emacs/src/regex.h 297
-REG_EPAREN     c-src/emacs/src/regex.h 311
-REG_ERANGE     c-src/emacs/src/regex.h 314
-REG_ERANGEX    c-src/emacs/src/regex.h 322
-REG_ERPAREN    c-src/emacs/src/regex.h 321
-REG_ESIZE      c-src/emacs/src/regex.h 320
-REG_ESPACE     c-src/emacs/src/regex.h 315
-REG_ESUBREG    c-src/emacs/src/regex.h 309
-REG_EXTENDED   c-src/emacs/src/regex.h 263
-REG_ICASE      c-src/emacs/src/regex.h 267
-REG_NEWLINE    c-src/emacs/src/regex.h 272
-REG_NOERROR    c-src/emacs/src/regex.h 300
-REG_NOMATCH    c-src/emacs/src/regex.h 301
-REG_NOSUB      c-src/emacs/src/regex.h 276
-REG_NOTBOL     c-src/emacs/src/regex.h 286
-REG_NOTEOL     c-src/emacs/src/regex.h 289
-RELEASELIST    make-src/Makefile       /^RELEASELIST=pot@gnu.org xemacs-review@xemacs.org j/
-RESUME_POLLING c-src/emacs/src/keyboard.c      2170
-RETURN_UNGCPRO c-src/emacs/src/lisp.h  /^#define RETURN_UNGCPRO(expr)                  \\$/
-RE_BACKSLASH_ESCAPE_IN_LISTS   c-src/emacs/src/regex.h 47
-RE_BK_PLUS_QM  c-src/emacs/src/regex.h 52
-RE_CHAR_CLASSES        c-src/emacs/src/regex.h 58
-RE_CONTEXT_INDEP_ANCHORS       c-src/emacs/src/regex.h 72
-RE_CONTEXT_INDEP_OPS   c-src/emacs/src/regex.h 80
-RE_CONTEXT_INVALID_OPS c-src/emacs/src/regex.h 84
-RE_DEBUG       c-src/emacs/src/regex.h 161
-RE_DOT_NEWLINE c-src/emacs/src/regex.h 88
-RE_DOT_NOT_NULL        c-src/emacs/src/regex.h 92
-RE_DUP_MAX     c-src/emacs/src/regex.h 253
-RE_DUP_MAX     c-src/emacs/src/regex.h 256
-RE_FRUGAL      c-src/emacs/src/regex.h 147
-RE_HAT_LISTS_NOT_NEWLINE       c-src/emacs/src/regex.h 96
-RE_INTERVALS   c-src/emacs/src/regex.h 101
-RE_LIMITED_OPS c-src/emacs/src/regex.h 105
-RE_NEWLINE_ALT c-src/emacs/src/regex.h 109
-RE_NO_BK_BRACES        c-src/emacs/src/regex.h 114
-RE_NO_BK_PARENS        c-src/emacs/src/regex.h 118
-RE_NO_BK_REFS  c-src/emacs/src/regex.h 122
-RE_NO_BK_VBAR  c-src/emacs/src/regex.h 126
-RE_NO_EMPTY_RANGES     c-src/emacs/src/regex.h 132
-RE_NO_GNU_OPS  c-src/emacs/src/regex.h 144
-RE_NO_NEWLINE_ANCHOR   c-src/emacs/src/regex.h 153
-RE_NO_POSIX_BACKTRACKING       c-src/emacs/src/regex.h 140
-RE_NREGS       c-src/emacs/src/regex.h 440
-RE_SHY_GROUPS  c-src/emacs/src/regex.h 150
-RE_SYNTAX_AWK  c-src/emacs/src/regex.h 186
-RE_SYNTAX_ED   c-src/emacs/src/regex.h 216
-RE_SYNTAX_EGREP        c-src/emacs/src/regex.h 206
-RE_SYNTAX_EMACS        c-src/emacs/src/regex.h 183
-RE_SYNTAX_GNU_AWK      c-src/emacs/src/regex.h 193
-RE_SYNTAX_GREP c-src/emacs/src/regex.h 201
-RE_SYNTAX_POSIX_AWK    c-src/emacs/src/regex.h 197
-RE_SYNTAX_POSIX_BASIC  c-src/emacs/src/regex.h 225
-RE_SYNTAX_POSIX_EGREP  c-src/emacs/src/regex.h 212
-RE_SYNTAX_POSIX_EXTENDED       c-src/emacs/src/regex.h 234
-RE_SYNTAX_POSIX_MINIMAL_BASIC  c-src/emacs/src/regex.h 231
-RE_SYNTAX_POSIX_MINIMAL_EXTENDED       c-src/emacs/src/regex.h 242
-RE_SYNTAX_SED  c-src/emacs/src/regex.h 218
-RE_TRANSLATE_TYPE      c-src/emacs/src/regex.h 332
-RE_UNMATCHED_RIGHT_PAREN_ORD   c-src/emacs/src/regex.h 136
-RSH    y-src/cccp.c    17
-RTE/s  ada-src/2ataspri.adb    /^   package RTE renames Interfaces.C.POSIX_RTE;$/
-RUN    make-src/Makefile       /^RUN=time --quiet --format '%U + %S: %E'$/
-RUN    make-src/Makefile       /^RUN=$/
-RXINCLUDE      make-src/Makefile       /^RXINCLUDE=-Iemacs\/src$/
-Range  cp-src/Range.h  35
-Range  cp-src/Range.h  /^  Range (void)$/
-Range  cp-src/Range.h  /^  Range (const Range& r)$/
-Range  cp-src/Range.h  /^  Range (double b, double l)$/
-Range  cp-src/Range.h  /^  Range (double b, double l, double i)$/
-ReadVacation   cp-src/functions.cpp    /^void ReadVacation ( char *filename ) {$/
-Read_Lock/p    ada-src/2ataspri.adb    /^   procedure Read_Lock (L : in out Lock; Ceiling_V/
-Read_Lock/p    ada-src/2ataspri.ads    /^   procedure Read_Lock (L : in out Lock; Ceiling_V/
-Rectangle.getPos       lua-src/test.lua        /^function Rectangle.getPos ()$/
-ReleaseNameString      pas-src/common.pas      /^procedure ReleaseNameString; (* (var NSP: NameStri/
-RemoveLayer    lua-src/allegro.lua     /^function RemoveLayer ()$/
-RemoveUnderlineControl pas-src/common.pas      /^function RemoveUnderlineControl; (*($/
-ReprOfChar     pas-src/common.pas      /^function ReprOfChar; (*( ch : char) : NameString;*/
-S      c.c     156
-SAFE_ALLOCA    c-src/emacs/src/lisp.h  /^#define SAFE_ALLOCA(size) ((size) <= sa_avail                         \\/
-SAFE_ALLOCA_LISP       c-src/emacs/src/lisp.h  /^#define SAFE_ALLOCA_LISP(buf, nelt)                          \\$/
-SAFE_ALLOCA_STRING     c-src/emacs/src/lisp.h  /^#define SAFE_ALLOCA_STRING(ptr, string)                       \\$/
-SAFE_FREE      c-src/emacs/src/lisp.h  /^#define SAFE_FREE()                   \\$/
-SAFE_NALLOCA   c-src/emacs/src/lisp.h  /^#define SAFE_NALLOCA(buf, multiplier, nitems)                  \\/
-SAVE_FUNCPOINTER       c-src/emacs/src/lisp.h  2049
-SAVE_INTEGER   c-src/emacs/src/lisp.h  2048
-SAVE_OBJECT    c-src/emacs/src/lisp.h  2051
-SAVE_POINTER   c-src/emacs/src/lisp.h  2050
-SAVE_SLOT_BITS c-src/emacs/src/lisp.h  2055
-SAVE_TYPE_BITS c-src/emacs/src/lisp.h  2062
-SAVE_TYPE_BITS c-src/emacs/src/lisp.h  2114
-SAVE_TYPE_BITS c-src/emacs/src/lisp.h  2123
-SAVE_TYPE_FUNCPTR_PTR_OBJ      c-src/emacs/src/lisp.h  2076
-SAVE_TYPE_INT_INT      c-src/emacs/src/lisp.h  2066
-SAVE_TYPE_INT_INT_INT  c-src/emacs/src/lisp.h  2067
-SAVE_TYPE_MEMORY       c-src/emacs/src/lisp.h  2080
-SAVE_TYPE_OBJ_OBJ      c-src/emacs/src/lisp.h  2069
-SAVE_TYPE_OBJ_OBJ_OBJ  c-src/emacs/src/lisp.h  2070
-SAVE_TYPE_OBJ_OBJ_OBJ_OBJ      c-src/emacs/src/lisp.h  2071
-SAVE_TYPE_PTR_INT      c-src/emacs/src/lisp.h  2073
-SAVE_TYPE_PTR_OBJ      c-src/emacs/src/lisp.h  2074
-SAVE_TYPE_PTR_PTR      c-src/emacs/src/lisp.h  2075
-SAVE_UNUSED    c-src/emacs/src/lisp.h  2047
-SAVE_VALUEP    c-src/emacs/src/lisp.h  /^SAVE_VALUEP (Lisp_Object x)$/
-SAVE_VALUE_SLOTS       c-src/emacs/src/lisp.h  2058
-SBYTES c-src/emacs/src/lisp.h  /^SBYTES (Lisp_Object string)$/
-SCHARS c-src/emacs/src/lisp.h  /^SCHARS (Lisp_Object string)$/
-SCREEN_FP      cp-src/screen.hpp       /^#define SCREEN_FP(x,y) \\$/
-SCREEN_START   cp-src/screen.hpp       33
-SDATA  c-src/emacs/src/lisp.h  /^SDATA (Lisp_Object string)$/
-SDTrefGetInteger       pas-src/common.pas      /^function SDTrefGetInteger : integer;$/
-SDTrefIsEnd    pas-src/common.pas      /^function SDTrefIsEnd : Boolean;$/
-SDTrefRecToString      pas-src/common.pas      /^procedure SDTrefRecToString  (* ($/
-SDTrefSkipSpaces       pas-src/common.pas      /^procedure SDTrefSkipSpaces;$/
-SDTrefStringToRec      pas-src/common.pas      /^procedure SDTrefStringToRec (* ($/
-SETPRT f-src/entry.for /^       ENTRY  SETPRT ( SHORT, EXPL, LONG, TRACE, D/
-SETPRT f-src/entry.strange_suffix      /^       ENTRY  SETPRT ( SHORT, EXPL, LONG, TRACE, D/
-SETPRT f-src/entry.strange     /^       ENTRY  SETPRT ( SHORT, EXPL, LONG, TRACE, D/
-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_/
-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)                                \\$/
-SINGLE_LETTER_MOD      c-src/emacs/src/keyboard.c      6763
-SIZEFORMAT     objc-src/PackInsp.m     57
-SPECPDL_BACKTRACE      c-src/emacs/src/lisp.h  2948
-SPECPDL_INDEX  c-src/emacs/src/lisp.h  /^SPECPDL_INDEX (void)$/
-SPECPDL_LET    c-src/emacs/src/lisp.h  2949
-SPECPDL_LET_DEFAULT    c-src/emacs/src/lisp.h  2952
-SPECPDL_LET_LOCAL      c-src/emacs/src/lisp.h  2951
-SPECPDL_UNWIND c-src/emacs/src/lisp.h  2944
-SPECPDL_UNWIND_INT     c-src/emacs/src/lisp.h  2946
-SPECPDL_UNWIND_PTR     c-src/emacs/src/lisp.h  2945
-SPECPDL_UNWIND_VOID    c-src/emacs/src/lisp.h  2947
-SRCS   make-src/Makefile       /^SRCS=Makefile ${ADASRC} ${ASRC} ${CSRC} ${CPSRC} $/
-SREF   c-src/emacs/src/lisp.h  /^SREF (Lisp_Object string, ptrdiff_t index)$/
-SSDATA c-src/emacs/src/lisp.h  /^SSDATA (Lisp_Object string)$/
-SSET   c-src/emacs/src/lisp.h  /^SSET (Lisp_Object string, ptrdiff_t index, unsigne/
-STACK_CONS     c-src/emacs/src/lisp.h  /^#define STACK_CONS(a, b) \\$/
-STATE_ABORT    php-src/lce_functions.php       25
-STATE_COMPRESSD        objc-src/PackInsp.m     54
-STATE_INSTALLED        objc-src/PackInsp.m     53
-STATE_LOOP     php-src/lce_functions.php       27
-STATE_OK       php-src/lce_functions.php       26
-STATE_UNINSTALLED      objc-src/PackInsp.m     52
-STAT_EQ        objc-src/PackInsp.m     /^#define STAT_EQ(s1, s2)       ((s1)->st_ino == (s2)->st_/
-STDIN  c-src/etags.c   408
-STDIN  c-src/etags.c   411
-STOP_POLLING   c-src/emacs/src/keyboard.c      2166
-STRING_BYTES   c-src/emacs/src/lisp.h  /^STRING_BYTES (struct Lisp_String *s)$/
-STRING_BYTES_BOUND     c-src/emacs/src/lisp.h  1261
-STRING_MULTIBYTE       c-src/emacs/src/lisp.h  /^STRING_MULTIBYTE (Lisp_Object str)$/
-STRING_SET_CHARS       c-src/emacs/src/lisp.h  /^STRING_SET_CHARS (Lisp_Object string, ptrdiff_t ne/
-STRING_SET_MULTIBYTE   c-src/emacs/src/lisp.h  /^#define STRING_SET_MULTIBYTE(STR)                     \\$/
-STRING_SET_UNIBYTE     c-src/emacs/src/lisp.h  /^#define STRING_SET_UNIBYTE(STR)                               \\$/
-SUBRP  c-src/emacs/src/lisp.h  /^SUBRP (Lisp_Object a)$/
-SUB_CHAR_TABLE_OFFSET  c-src/emacs/src/lisp.h  1701
-SUB_CHAR_TABLE_P       c-src/emacs/src/lisp.h  /^SUB_CHAR_TABLE_P (Lisp_Object a)$/
-SXHASH_REDUCE  c-src/emacs/src/lisp.h  /^SXHASH_REDUCE (EMACS_UINT x)$/
-SYMBOLP        c-src/emacs/src/lisp.h  /^# define SYMBOLP(x) lisp_h_SYMBOLP (x)$/
-SYMBOL_BLV     c-src/emacs/src/lisp.h  /^SYMBOL_BLV (struct Lisp_Symbol *sym)$/
-SYMBOL_CONSTANT_P      c-src/emacs/src/lisp.h  /^# define SYMBOL_CONSTANT_P(sym) lisp_h_SYMBOL_CONS/
-SYMBOL_FORWARDED       c-src/emacs/src/lisp.h  651
-SYMBOL_FWD     c-src/emacs/src/lisp.h  /^SYMBOL_FWD (struct Lisp_Symbol *sym)$/
-SYMBOL_INDEX   c-src/emacs/src/lisp.h  /^#define SYMBOL_INDEX(sym) i##sym$/
-SYMBOL_INTERNED        c-src/emacs/src/lisp.h  642
-SYMBOL_INTERNED_IN_INITIAL_OBARRAY     c-src/emacs/src/lisp.h  643
-SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P   c-src/emacs/src/lisp.h  /^SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P (Lisp_Object /
-SYMBOL_INTERNED_P      c-src/emacs/src/lisp.h  /^SYMBOL_INTERNED_P (Lisp_Object sym)$/
-SYMBOL_LOCALIZED       c-src/emacs/src/lisp.h  650
-SYMBOL_NAME    c-src/emacs/src/lisp.h  /^SYMBOL_NAME (Lisp_Object sym)$/
-SYMBOL_PLAINVAL        c-src/emacs/src/lisp.h  648
-SYMBOL_UNINTERNED      c-src/emacs/src/lisp.h  641
-SYMBOL_VAL     c-src/emacs/src/lisp.h  /^# define SYMBOL_VAL(sym) lisp_h_SYMBOL_VAL (sym)$/
-SYMBOL_VARALIAS        c-src/emacs/src/lisp.h  649
-SYSCALL        c-src/machsyscalls.c    /^#define       SYSCALL(name, number, type, args, typed_ar/
-Sample tex-src/gzip.texi       /^@node 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
-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;$/
-Server pyt-src/server.py       /^class Server:$/
-ServerEdit     pyt-src/server.py       /^class ServerEdit(Frame):$/
-Set_Own_Priority/p     ada-src/2ataspri.adb    /^   procedure Set_Own_Priority (Prio : System.Any_P/
-Set_Own_Priority/p     ada-src/2ataspri.ads    /^   procedure Set_Own_Priority (Prio : System.Any_P/
-Set_Priority/p ada-src/2ataspri.adb    /^   procedure Set_Priority$/
-Set_Priority/p ada-src/2ataspri.ads    /^   procedure Set_Priority (T : TCB_Ptr; Prio : Sys/
-SimpleCalc     objcpp-src/SimpleCalc.H /^@interface 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 /
-Square.something:Bar   lua-src/test.lua        /^function Square.something:Bar ()$/
-StartDay       cp-src/functions.cpp    /^Date StartDay(Date a,int days){\/\/Function to calcu/
-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   /^@interface Subprocess:Object$/
-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$/
-T      cp-src/fail.C   14
-T2     cp-src/fail.C   16
-T3     c.c     163
-TAGS   make-src/Makefile       /^TAGS: etags.c$/
-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)                             \\$/
-TAS_Cell/t     ada-src/2ataspri.ads    /^   type TAS_Cell is private;$/
-TAS_Cell/t     ada-src/2ataspri.ads    /^   type TAS_Cell is$/
-TCB_Ptr/t      ada-src/2ataspri.ads    /^   type TCB_Ptr is access all Task_Control_Block;$/
-TCLFLAGS       make-src/Makefile       /^TCLFLAGS=--lang=none --regex='\/proc[ \\t]+\\([^ \\t]+/
-TERMINALP      c-src/emacs/src/lisp.h  /^TERMINALP (Lisp_Object a)$/
-TEST   php-src/ptest.php       1
-TEXSRC make-src/Makefile       /^TEXSRC=testenv.tex gzip.texi texinfo.tex nonewline/
-TEX_LESC       c-src/etags.c   4986
-TEX_SESC       c-src/etags.c   4987
-TEX_clgrp      c-src/etags.c   4922
-TEX_decode_env c-src/etags.c   /^TEX_decode_env (const char *evarname, const char */
-TEX_defenv     c-src/etags.c   4912
-TEX_esc        c-src/etags.c   4920
-TEX_mode       c-src/etags.c   /^TEX_mode (FILE *inf)$/
-TEX_opgrp      c-src/etags.c   4921
-TEX_toktab     c-src/etags.c   4908
-TOTAL_KEYWORDS c-src/etags.c   2325
-TSL/s  ada-src/2ataspri.adb    /^   package TSL renames System.Tasking_Soft_Links;$/
-TYPESTOSTAT    objc-src/PackInsp.h     37
-TYPE_RANGED_INTEGERP   c-src/emacs/src/lisp.h  /^#define TYPE_RANGED_INTEGERP(type, x) \\$/
-Tapes  tex-src/gzip.texi       /^@node Tapes, Problems, Environment, Top$/
-Task_Control_Block/t   ada-src/2ataspri.ads    /^   type Task_Control_Block is record$/
-Task_Storage_Size/t    ada-src/2ataspri.ads    /^   type Task_Storage_Size is new Interfaces.C.size/
-Task_Type/b    ada-src/etags-test-for.ada      /^  task body Task_Type is$/
-Task_Type/b    ada-src/waroquiers.ada  /^  task body Task_Type is$/
-Task_Type/k    ada-src/etags-test-for.ada      /^  task type Task_Type is$/
-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
-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;/
-Test_And_Set/p ada-src/2ataspri.ads    /^   procedure Test_And_Set (Cell : in out TAS_Cell;/
-Texinfo_help   c-src/etags.c   688
-Texinfo_nodes  c-src/etags.c   /^Texinfo_nodes (FILE *inf)$/
-Texinfo_suffixes       c-src/etags.c   686
-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$/
-To_TCB_Ptr/f   ada-src/2ataspri.adb    /^   function To_TCB_Ptr is new$/
-To_Upper       pas-src/common.pas      /^function To_Upper;(*(ch:char) : char;*)$/
-To_void_ptr/f  ada-src/2ataspri.adb    /^   function To_void_ptr is new$/
-Top    tex-src/gzip.texi       /^@node Top, , , (dir)$/
-Truc.Bidule/b  ada-src/etags-test-for.ada      /^package body Truc.Bidule is$/
-Truc.Bidule/b  ada-src/waroquiers.ada  /^package body Truc.Bidule is$/
-Truc.Bidule/s  ada-src/etags-test-for.ada      /^package Truc.Bidule is$/
-Truc.Bidule/s  ada-src/waroquiers.ada  /^package Truc.Bidule is$/
-Truc/s ada-src/etags-test-for.ada      /^package Truc is$/
-Truc/s ada-src/waroquiers.ada  /^package Truc is$/
-Type_Specific_Data/t   ada-src/etags-test-for.ada      /^   type Type_Specific_Data is record$/
-UCHAR  c-src/emacs/src/lisp.h  2424
-UNARY  y-src/cccp.c    18
-UNDEFINED      c-src/h.h       118
-UNEVALLED      c-src/emacs/src/lisp.h  2834
-UNGCPRO        c-src/emacs/src/lisp.h  3202
-UNGCPRO        c-src/emacs/src/lisp.h  3257
-UNGCPRO        c-src/emacs/src/lisp.h  3353
-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()$/
-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)$/
-USE_PTHREAD    c-src/emacs/src/gmalloc.c       25
-USE_SAFE_ALLOCA        c-src/emacs/src/lisp.h  4560
-USE_STACK_CONS c-src/emacs/src/lisp.h  4689
-USE_STACK_LISP_OBJECTS c-src/emacs/src/lisp.h  4652
-USE_STACK_LISP_OBJECTS c-src/emacs/src/lisp.h  4658
-USE_STACK_LISP_OBJECTS c-src/emacs/src/lisp.h  4659
-USE_STACK_STRING       c-src/emacs/src/lisp.h  4691
-U_CHAR y-src/cccp.y    38
-Unlock/p       ada-src/2ataspri.adb    /^   procedure Unlock (L : in out Lock) is$/
-Unlock/p       ada-src/2ataspri.ads    /^   procedure Unlock (L : in out Lock);$/
-User   pyt-src/server.py       /^class User:$/
-UserEdit       pyt-src/server.py       /^class UserEdit(Frame):$/
-VALBITS        c-src/emacs/src/lisp.h  246
-VALMASK        c-src/emacs/src/lisp.h  829
-VALMASK        c-src/emacs/src/lisp.h  /^DEFINE_GDB_SYMBOL_BEGIN (EMACS_INT, VALMASK)$/
-VAL_MAX        c-src/emacs/src/lisp.h  263
-VECSIZE        c-src/emacs/src/lisp.h  /^#define VECSIZE(type)                                         \\$/
-VECTORLIKEP    c-src/emacs/src/lisp.h  /^# define VECTORLIKEP(x) lisp_h_VECTORLIKEP (x)$/
-VECTORP        c-src/emacs/src/lisp.h  /^VECTORP (Lisp_Object x)$/
-VERSION        c-src/etags.c   789
-VERSION        erl-src/gs_dialog.erl   /^-define(VERSION, '2001.1101').$/
-VERSION        objc-src/PackInsp.m     34
-VHDLFLAGS      make-src/Makefile       /^VHDLFLAGS=--language=none --regex='\/[ \\t]*\\(ARCHIT/
-Vabbrev_start_location c-src/abbrev.c  63
-Vabbrev_start_location_buffer  c-src/abbrev.c  66
-Vabbrev_table_name_list        c-src/abbrev.c  43
-ValToNmStr     pas-src/common.pas      /^function ValToNmStr; (*($/
-Vfundamental_mode_abbrev_table c-src/abbrev.c  52
-Vglobal_abbrev_table   c-src/abbrev.c  48
-Vlast_abbrev   c-src/abbrev.c  70
-Vlast_abbrev_text      c-src/abbrev.c  75
-Vlispy_mouse_stem      c-src/emacs/src/keyboard.c      5172
-WAIT_READING_MAX       c-src/emacs/src/lisp.h  4281
-WAIT_READING_MAX       c-src/emacs/src/lisp.h  4283
-WARNINGS       make-src/Makefile       /^WARNINGS=-pedantic -Wall -Wpointer-arith -Winline /
-WCHAR_TYPE_SIZE        y-src/cccp.y    99
-WHITE  cp-src/screen.hpp       27
-WINDOWP        c-src/emacs/src/lisp.h  /^WINDOWP (Lisp_Object a)$/
-WINDOWSNT      c-src/etags.c   101
-WINDOWSNT      c-src/etags.c   102
-WINDOW_CONFIGURATIONP  c-src/emacs/src/lisp.h  /^WINDOW_CONFIGURATIONP (Lisp_Object a)$/
-WORKING        objc-src/PackInsp.m     368
-WorkingDays    cp-src/functions.cpp    /^int WorkingDays(Date a, Date b){$/
-Write_Lock/p   ada-src/2ataspri.adb    /^   procedure Write_Lock (L : in out Lock; Ceiling_/
-Write_Lock/p   ada-src/2ataspri.ads    /^   procedure Write_Lock (L : in out Lock; Ceiling_/
-X      c-src/h.h       100
-XBOOL_VECTOR   c-src/emacs/src/lisp.h  /^XBOOL_VECTOR (Lisp_Object a)$/
-XBUFFER        c-src/emacs/src/lisp.h  /^XBUFFER (Lisp_Object a)$/
-XBUFFER_OBJFWD c-src/emacs/src/lisp.h  /^XBUFFER_OBJFWD (union Lisp_Fwd *a)$/
-XCAR   c-src/emacs/src/lisp.h  /^# define XCAR(c) lisp_h_XCAR (c)$/
-XCDR   c-src/emacs/src/lisp.h  /^# define XCDR(c) lisp_h_XCDR (c)$/
-XCHAR_TABLE    c-src/emacs/src/lisp.h  /^XCHAR_TABLE (Lisp_Object a)$/
-XCHG_0 c-src/sysdep.h  47
-XCHG_1 c-src/sysdep.h  48
-XCHG_2 c-src/sysdep.h  49
-XCHG_3 c-src/sysdep.h  50
-XCHG_4 c-src/sysdep.h  51
-XCHG_5 c-src/sysdep.h  52
-XCONS  c-src/emacs/src/lisp.h  /^# define XCONS(a) lisp_h_XCONS (a)$/
-XDEFUN c.c     /^XDEFUN ("x-get-selection-internal", Fx_get_selecti/
-XFASTINT       c-src/emacs/src/lisp.h  /^#  define XFASTINT(a) lisp_h_XFASTINT (a)$/
-XFASTINT       c-src/emacs/src/lisp.h  /^XFASTINT (Lisp_Object a)$/
-XFINALIZER     c-src/emacs/src/lisp.h  /^XFINALIZER (Lisp_Object a)$/
-XFLOAT c-src/emacs/src/lisp.h  /^XFLOAT (Lisp_Object a)$/
-XFLOATINT      c-src/emacs/src/lisp.h  /^XFLOATINT (Lisp_Object n)$/
-XFLOAT_DATA    c-src/emacs/src/lisp.h  /^XFLOAT_DATA (Lisp_Object f)$/
-XFWDTYPE       c-src/emacs/src/lisp.h  /^XFWDTYPE (union Lisp_Fwd *a)$/
-XHASH  c-src/emacs/src/lisp.h  /^# define XHASH(a) lisp_h_XHASH (a)$/
-XHASH_TABLE    c-src/emacs/src/lisp.h  /^XHASH_TABLE (Lisp_Object a)$/
-XIL    c-src/emacs/src/lisp.h  /^# define XIL(i) lisp_h_XIL (i)$/
-XINT   c-src/emacs/src/lisp.h  /^#  define XINT(a) lisp_h_XINT (a)$/
-XINT   c-src/emacs/src/lisp.h  /^XINT (Lisp_Object a)$/
-XINTPTR        c-src/emacs/src/lisp.h  /^XINTPTR (Lisp_Object a)$/
-XLI    c-src/emacs/src/lisp.h  /^# define XLI(o) lisp_h_XLI (o)$/
-XLI_BUILTIN_LISPSYM    c-src/emacs/src/lisp.h  /^#define XLI_BUILTIN_LISPSYM(iname) TAG_SYMOFFSET (/
-XMARKER        c-src/emacs/src/lisp.h  /^XMARKER (Lisp_Object a)$/
-XMISC  c-src/emacs/src/lisp.h  /^XMISC (Lisp_Object a)$/
-XMISCANY       c-src/emacs/src/lisp.h  /^XMISCANY (Lisp_Object a)$/
-XMISCTYPE      c-src/emacs/src/lisp.h  /^XMISCTYPE (Lisp_Object a)$/
-XOVERLAY       c-src/emacs/src/lisp.h  /^XOVERLAY (Lisp_Object a)$/
-XPNTR  c-src/emacs/src/lisp.h  /^# define XPNTR(a) lisp_h_XPNTR (a)$/
-XPROCESS       c-src/emacs/src/lisp.h  /^XPROCESS (Lisp_Object a)$/
-XSAVE_FUNCPOINTER      c-src/emacs/src/lisp.h  /^XSAVE_FUNCPOINTER (Lisp_Object obj, int n)$/
-XSAVE_INTEGER  c-src/emacs/src/lisp.h  /^XSAVE_INTEGER (Lisp_Object obj, int n)$/
-XSAVE_OBJECT   c-src/emacs/src/lisp.h  /^XSAVE_OBJECT (Lisp_Object obj, int n)$/
-XSAVE_POINTER  c-src/emacs/src/lisp.h  /^XSAVE_POINTER (Lisp_Object obj, int n)$/
-XSAVE_VALUE    c-src/emacs/src/lisp.h  /^XSAVE_VALUE (Lisp_Object a)$/
-XSETBOOL_VECTOR        c-src/emacs/src/lisp.h  /^#define XSETBOOL_VECTOR(a, b) (XSETPSEUDOVECTOR (a/
-XSETBUFFER     c-src/emacs/src/lisp.h  /^#define XSETBUFFER(a, b) (XSETPSEUDOVECTOR (a, b, /
-XSETCDR        c-src/emacs/src/lisp.h  /^XSETCDR (Lisp_Object c, Lisp_Object n)$/
-XSETCHAR_TABLE c-src/emacs/src/lisp.h  /^#define XSETCHAR_TABLE(a, b) (XSETPSEUDOVECTOR (a,/
-XSETCOMPILED   c-src/emacs/src/lisp.h  /^#define XSETCOMPILED(a, b) (XSETPSEUDOVECTOR (a, b/
-XSETCONS       c-src/emacs/src/lisp.h  /^#define XSETCONS(a, b) ((a) = make_lisp_ptr (b, Li/
-XSETFASTINT    c-src/emacs/src/lisp.h  /^#define XSETFASTINT(a, b) ((a) = make_natnum (b))$/
-XSETFLOAT      c-src/emacs/src/lisp.h  /^#define XSETFLOAT(a, b) ((a) = make_lisp_ptr (b, L/
-XSETINT        c-src/emacs/src/lisp.h  /^#define XSETINT(a, b) ((a) = make_number (b))$/
-XSETMISC       c-src/emacs/src/lisp.h  /^#define XSETMISC(a, b) ((a) = make_lisp_ptr (b, Li/
-XSETPROCESS    c-src/emacs/src/lisp.h  /^#define XSETPROCESS(a, b) (XSETPSEUDOVECTOR (a, b,/
-XSETPSEUDOVECTOR       c-src/emacs/src/lisp.h  /^#define XSETPSEUDOVECTOR(a, b, code) \\$/
-XSETPVECTYPE   c-src/emacs/src/lisp.h  /^#define XSETPVECTYPE(v, code)                                         \\$/
-XSETPVECTYPESIZE       c-src/emacs/src/lisp.h  /^#define XSETPVECTYPESIZE(v, code, lispsize, restsi/
-XSETSTRING     c-src/emacs/src/lisp.h  /^#define XSETSTRING(a, b) ((a) = make_lisp_ptr (b, /
-XSETSUBR       c-src/emacs/src/lisp.h  /^#define XSETSUBR(a, b) (XSETPSEUDOVECTOR (a, b, PV/
-XSETSUB_CHAR_TABLE     c-src/emacs/src/lisp.h  /^#define XSETSUB_CHAR_TABLE(a, b) (XSETPSEUDOVECTOR/
-XSETSYMBOL     c-src/emacs/src/lisp.h  /^#define XSETSYMBOL(a, b) ((a) = make_lisp_symbol (/
-XSETTERMINAL   c-src/emacs/src/lisp.h  /^#define XSETTERMINAL(a, b) (XSETPSEUDOVECTOR (a, b/
-XSETTYPED_PSEUDOVECTOR c-src/emacs/src/lisp.h  /^#define XSETTYPED_PSEUDOVECTOR(a, b, size, code)              /
-XSETVECTOR     c-src/emacs/src/lisp.h  /^#define XSETVECTOR(a, b) ((a) = make_lisp_ptr (b, /
-XSETWINDOW     c-src/emacs/src/lisp.h  /^#define XSETWINDOW(a, b) (XSETPSEUDOVECTOR (a, b, /
-XSETWINDOW_CONFIGURATION       c-src/emacs/src/lisp.h  /^#define XSETWINDOW_CONFIGURATION(a, b) \\$/
-XSET_HASH_TABLE        c-src/emacs/src/lisp.h  /^#define XSET_HASH_TABLE(VAR, PTR) \\$/
-XSTRING        c-src/emacs/src/lisp.h  /^XSTRING (Lisp_Object a)$/
-XSUBR  c-src/emacs/src/lisp.h  /^XSUBR (Lisp_Object a)$/
-XSUB_CHAR_TABLE        c-src/emacs/src/lisp.h  /^XSUB_CHAR_TABLE (Lisp_Object a)$/
-XSYMBOL        c-src/emacs/src/lisp.h  /^#  define XSYMBOL(a) lisp_h_XSYMBOL (a)$/
-XSYMBOL        c-src/emacs/src/lisp.h  /^XSYMBOL (Lisp_Object a)$/
-XTERMINAL      c-src/emacs/src/lisp.h  /^XTERMINAL (Lisp_Object a)$/
-XTYPE  c-src/emacs/src/lisp.h  /^#  define XTYPE(a) lisp_h_XTYPE (a)$/
-XTYPE  c-src/emacs/src/lisp.h  /^XTYPE (Lisp_Object a)$/
-XUNTAG c-src/emacs/src/lisp.h  /^#  define XUNTAG(a, type) lisp_h_XUNTAG (a, type)$/
-XUNTAG c-src/emacs/src/lisp.h  /^XUNTAG (Lisp_Object a, int type)$/
-XWINDOW        c-src/emacs/src/lisp.h  /^XWINDOW (Lisp_Object a)$/
-XX     cp-src/x.cc     1
-Xyzzy  ruby-src/test1.ru       13
-Y      c-src/h.h       100
-YACC   c-src/etags.c   2199
-YELLOW cp-src/screen.hpp       26
-YSRC   make-src/Makefile       /^YSRC=parse.y parse.c atest.y cccp.c cccp.y$/
-YYABORT        /usr/share/bison/bison.simple   153
-YYABORT        /usr/share/bison/bison.simple   154
-YYACCEPT       /usr/share/bison/bison.simple   152
-YYACCEPT       /usr/share/bison/bison.simple   153
-YYBACKUP       /usr/share/bison/bison.simple   /^#define YYBACKUP(Token, Value)                                        \\$/
-YYBACKUP       /usr/share/bison/bison.simple   /^#define YYBACKUP(Token, Value)                                        \\$/
-YYBISON        y-src/parse.c   4
-YYBISON        y-src/cccp.c    4
-YYDPRINTF      /usr/share/bison/bison.simple   /^# define YYDPRINTF(Args)                      \\$/
-YYDPRINTF      /usr/share/bison/bison.simple   /^# define YYDPRINTF(Args)$/
-YYDPRINTF      /usr/share/bison/bison.simple   /^# define YYDPRINTF(Args)                      \\$/
-YYDPRINTF      /usr/share/bison/bison.simple   /^# define YYDPRINTF(Args)$/
-YYEMPTY        /usr/share/bison/bison.simple   150
-YYEMPTY        /usr/share/bison/bison.simple   151
-YYEOF  /usr/share/bison/bison.simple   151
-YYEOF  /usr/share/bison/bison.simple   152
-YYERRCODE      /usr/share/bison/bison.simple   178
-YYERRCODE      /usr/share/bison/bison.simple   179
-YYERROR        /usr/share/bison/bison.simple   154
-YYERROR        /usr/share/bison/bison.simple   155
-YYFAIL /usr/share/bison/bison.simple   158
-YYFAIL /usr/share/bison/bison.simple   159
-YYFPRINTF      /usr/share/bison/bison.simple   225
-YYFPRINTF      /usr/share/bison/bison.simple   226
-YYINITDEPTH    /usr/share/bison/bison.simple   244
-YYINITDEPTH    /usr/share/bison/bison.simple   245
-YYLEX  /usr/share/bison/bison.simple   200
-YYLEX  /usr/share/bison/bison.simple   202
-YYLEX  /usr/share/bison/bison.simple   206
-YYLEX  /usr/share/bison/bison.simple   208
-YYLEX  /usr/share/bison/bison.simple   212
-YYLEX  /usr/share/bison/bison.simple   201
-YYLEX  /usr/share/bison/bison.simple   203
-YYLEX  /usr/share/bison/bison.simple   207
-YYLEX  /usr/share/bison/bison.simple   209
-YYLEX  /usr/share/bison/bison.simple   213
-YYLLOC_DEFAULT /usr/share/bison/bison.simple   /^# define YYLLOC_DEFAULT(Current, Rhs, N)              \\$/
-YYLLOC_DEFAULT /usr/share/bison/bison.simple   /^# define YYLLOC_DEFAULT(Current, Rhs, N)              \\$/
-YYMAXDEPTH     /usr/share/bison/bison.simple   255
-YYMAXDEPTH     /usr/share/bison/bison.simple   259
-YYMAXDEPTH     /usr/share/bison/bison.simple   256
-YYMAXDEPTH     /usr/share/bison/bison.simple   260
-YYPARSE_PARAM_ARG      /usr/share/bison/bison.simple   351
-YYPARSE_PARAM_ARG      /usr/share/bison/bison.simple   354
-YYPARSE_PARAM_ARG      /usr/share/bison/bison.simple   358
-YYPARSE_PARAM_ARG      /usr/share/bison/bison.simple   351
-YYPARSE_PARAM_ARG      /usr/share/bison/bison.simple   354
-YYPARSE_PARAM_ARG      /usr/share/bison/bison.simple   358
-YYPARSE_PARAM_DECL     /usr/share/bison/bison.simple   352
-YYPARSE_PARAM_DECL     /usr/share/bison/bison.simple   355
-YYPARSE_PARAM_DECL     /usr/share/bison/bison.simple   359
-YYPARSE_PARAM_DECL     /usr/share/bison/bison.simple   352
-YYPARSE_PARAM_DECL     /usr/share/bison/bison.simple   355
-YYPARSE_PARAM_DECL     /usr/share/bison/bison.simple   359
-YYPOPSTACK     /usr/share/bison/bison.simple   445
-YYPOPSTACK     /usr/share/bison/bison.simple   447
-YYPOPSTACK     /usr/share/bison/bison.simple   445
-YYPOPSTACK     /usr/share/bison/bison.simple   447
-YYRECOVERING   /usr/share/bison/bison.simple   /^#define YYRECOVERING()  (!!yyerrstatus)$/
-YYRECOVERING   /usr/share/bison/bison.simple   /^#define YYRECOVERING()  (!!yyerrstatus)$/
-YYSIZE_T       /usr/share/bison/bison.simple   51
-YYSIZE_T       /usr/share/bison/bison.simple   56
-YYSIZE_T       /usr/share/bison/bison.simple   71
-YYSIZE_T       /usr/share/bison/bison.simple   75
-YYSIZE_T       /usr/share/bison/bison.simple   128
-YYSIZE_T       /usr/share/bison/bison.simple   131
-YYSIZE_T       /usr/share/bison/bison.simple   136
-YYSIZE_T       /usr/share/bison/bison.simple   140
-YYSIZE_T       /usr/share/bison/bison.simple   145
-YYSIZE_T       /usr/share/bison/bison.simple   52
-YYSIZE_T       /usr/share/bison/bison.simple   57
-YYSIZE_T       /usr/share/bison/bison.simple   72
-YYSIZE_T       /usr/share/bison/bison.simple   76
-YYSIZE_T       /usr/share/bison/bison.simple   129
-YYSIZE_T       /usr/share/bison/bison.simple   132
-YYSIZE_T       /usr/share/bison/bison.simple   137
-YYSIZE_T       /usr/share/bison/bison.simple   141
-YYSIZE_T       /usr/share/bison/bison.simple   146
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   50
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   55
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   59
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   78
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   51
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   56
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   60
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   79
-YYSTACK_BYTES  /usr/share/bison/bison.simple   /^#  define YYSTACK_BYTES(N) \\$/
-YYSTACK_BYTES  /usr/share/bison/bison.simple   /^#  define YYSTACK_BYTES(N) \\$/
-YYSTACK_BYTES  /usr/share/bison/bison.simple   /^#  define YYSTACK_BYTES(N) \\$/
-YYSTACK_BYTES  /usr/share/bison/bison.simple   /^#  define YYSTACK_BYTES(N) \\$/
-YYSTACK_FREE   /usr/share/bison/bison.simple   /^#  define YYSTACK_FREE(Ptr) do { \/* empty *\/; } wh/
-YYSTACK_FREE   /usr/share/bison/bison.simple   79
-YYSTACK_FREE   /usr/share/bison/bison.simple   /^#  define YYSTACK_FREE(Ptr) do { \/* empty *\/; } wh/
-YYSTACK_FREE   /usr/share/bison/bison.simple   80
-YYSTACK_GAP_MAX        /usr/share/bison/bison.simple   93
-YYSTACK_GAP_MAX        /usr/share/bison/bison.simple   94
-YYSTACK_RELOCATE       /usr/share/bison/bison.simple   /^# define YYSTACK_RELOCATE(Type, Stack)                                        \\$/
-YYSTACK_RELOCATE       /usr/share/bison/bison.simple   548
-YYSTACK_RELOCATE       /usr/share/bison/bison.simple   /^# define YYSTACK_RELOCATE(Type, Stack)                                        \\$/
-YYSTACK_RELOCATE       /usr/share/bison/bison.simple   548
-YYSTD  /usr/share/bison/bison.simple   /^# define YYSTD(x) std::x$/
-YYSTD  /usr/share/bison/bison.simple   /^# define YYSTD(x) x$/
-YYSTD  /usr/share/bison/bison.simple   /^# define YYSTD(x) std::x$/
-YYSTD  /usr/share/bison/bison.simple   /^# define YYSTD(x) x$/
-YYSTYPE        y-src/parse.y   72
-YYSTYPE        y-src/parse.y   73
-YYTERROR       /usr/share/bison/bison.simple   177
-YYTERROR       /usr/share/bison/bison.simple   178
-YY_DECL_NON_LSP_VARIABLES      /usr/share/bison/bison.simple   374
-YY_DECL_NON_LSP_VARIABLES      /usr/share/bison/bison.simple   374
-YY_DECL_VARIABLES      /usr/share/bison/bison.simple   385
-YY_DECL_VARIABLES      /usr/share/bison/bison.simple   391
-YY_DECL_VARIABLES      /usr/share/bison/bison.simple   385
-YY_DECL_VARIABLES      /usr/share/bison/bison.simple   391
-Yacc_entries   c-src/etags.c   /^Yacc_entries (FILE *inf)$/
-Yacc_help      c-src/etags.c   693
-Yacc_suffixes  c-src/etags.c   691
-Z      c-src/h.h       100
-[]     ruby-src/test.rb        /^        def [](y)$/
-[]=    ruby-src/test.rb        /^        def []=(y, val)$/
-\      tex-src/texinfo.tex     /^\\def\\ {{\\fontdimen2\\font=\\tclosesave{} }}%$/
-\      tex-src/texinfo.tex     /^\\gdef\\sepspaces{\\def {\\ }}}$/
-\'     tex-src/texinfo.tex     /^\\def\\'{{'}}$/
-\*     tex-src/texinfo.tex     /^\\def\\*{\\hfil\\break\\hbox{}\\ignorespaces}$/
-\.     tex-src/texinfo.tex     /^\\def\\.{.\\spacefactor=3000 }$/
-\1     c-src/abbrev.c  /^  DEFVAR_LISP ("abbrev-table-name-list", &Vabbrev_/
-\1     c-src/abbrev.c  /^  DEFVAR_LISP ("global-abbrev-table", &Vglobal_abb/
-\1     c-src/abbrev.c  /^  DEFVAR_LISP ("fundamental-mode-abbrev-table", &V/
-\1     c-src/abbrev.c  /^  DEFVAR_LISP ("last-abbrev", &Vlast_abbrev,
-    "/
-\1     c-src/abbrev.c  /^  DEFVAR_LISP ("last-abbrev-text", &Vlast_abbrev_t/
-\1     c-src/abbrev.c  /^  DEFVAR_INT ("last-abbrev-location", &last_abbrev/
-\1     c-src/abbrev.c  /^  DEFVAR_LISP ("abbrev-start-location", &Vabbrev_s/
-\1     c-src/abbrev.c  /^  DEFVAR_LISP ("abbrev-start-location-buffer", &Va/
-\1     c-src/abbrev.c  /^  DEFVAR_PER_BUFFER ("local-abbrev-table", &curren/
-\1     c-src/abbrev.c  /^  DEFVAR_BOOL ("abbrevs-changed", &abbrevs_changed/
-\1     c-src/abbrev.c  /^  DEFVAR_BOOL ("abbrev-all-caps", &abbrev_all_caps/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("internal--top-level-message", Vint/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("last-command-event", last_command_/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("last-nonmenu-event", last_nonmenu_/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("last-input-event", last_input_even/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("unread-command-events", Vunread_co/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("unread-post-input-method-events", /
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("unread-input-method-events", Vunre/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("meta-prefix-char", meta_prefix_cha/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_KBOARD ("last-command", Vlast_command,
-               /
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_KBOARD ("real-last-command", Vreal_last_c/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_KBOARD ("last-repeatable-command", Vlast_/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("this-command", Vthis_command,
-          /
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("real-this-command", Vreal_this_com/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("this-command-keys-shift-translated/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("this-original-command", Vthis_orig/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_INT ("auto-save-interval", auto_save_inte/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("auto-save-timeout", Vauto_save_tim/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("echo-keystrokes", Vecho_keystrokes/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_INT ("polling-period", polling_period,
-        /
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("double-click-time", Vdouble_click_/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_INT ("double-click-fuzz", double_click_fu/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_INT ("num-input-keys", num_input_keys,
-        /
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_INT ("num-nonmacro-input-events", num_non/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("last-event-frame", Vlast_event_fra/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("tty-erase-char", Vtty_erase_char,
-/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("help-char", Vhelp_char,
-              do/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("help-event-list", Vhelp_event_list/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("help-form", Vhelp_form,
-              do/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("prefix-help-command", Vprefix_help/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("top-level", Vtop_level,
-              do/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_KBOARD ("keyboard-translate-table", Vkeyb/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_BOOL ("cannot-suspend", cannot_suspend,
-       /
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_BOOL ("menu-prompting", menu_prompting,
-       /
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("menu-prompt-more-char", menu_promp/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_INT ("extra-keyboard-modifiers", extra_ke/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("deactivate-mark", Vdeactivate_mark/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("pre-command-hook", Vpre_command_ho/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("post-command-hook", Vpost_command_/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("echo-area-clear-hook", ...,
-            /
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("lucid-menu-bar-dirty-flag", Vlucid/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("menu-bar-final-items", Vmenu_bar_f/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("tool-bar-separator-image-expressio/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_KBOARD ("overriding-terminal-local-map",
-/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("overriding-local-map", Voverriding/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("overriding-local-map-menu-flag", V/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("special-event-map", Vspecial_event/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("track-mouse", do_mouse_tracking,
-       /
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_KBOARD ("system-key-alist", Vsystem_key_a/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_KBOARD ("local-function-key-map", Vlocal_/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_KBOARD ("input-decode-map", Vinput_decode/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("function-key-map", Vfunction_key_m/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("key-translation-map", Vkey_transla/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("deferred-action-list", Vdeferred_a/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("deferred-action-function", Vdeferr/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("delayed-warnings-list", Vdelayed_w/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("timer-list", Vtimer_list,
-              /
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("timer-idle-list", Vtimer_idle_list/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("input-method-function", Vinput_met/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("input-method-previous-message",
-        /
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("show-help-function", Vshow_help_fu/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("disable-point-adjustment", Vdisabl/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("global-disable-point-adjustment",
-/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("minibuffer-message-timeout", Vmini/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("throw-on-input", Vthrow_on_input,
-/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("command-error-function", Vcommand_/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("enable-disabled-menus-and-buttons"/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("select-active-regions",
-              Vs/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("saved-region-selection",
-              V/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("selection-inhibit-update-commands"/
-\1     c-src/emacs/src/keyboard.c      /^  DEFVAR_LISP ("debug-on-event",
-               Vd/
-\:     tex-src/texinfo.tex     /^\\def\\:{\\spacefactor=1000 }$/
-\@     tex-src/texinfo.tex     /^\\def\\@{{\\tt \\char '100}}$/
-\@     tex-src/texinfo.tex     /^\\def\\@{@}%$/
-\CHAPFopen     tex-src/texinfo.tex     /^\\def\\CHAPFopen{$/
-\CHAPFplain    tex-src/texinfo.tex     /^\\def\\CHAPFplain{$/
-\CHAPPAGodd    tex-src/texinfo.tex     /^\\def\\CHAPPAGodd{$/
-\CHAPPAGoff    tex-src/texinfo.tex     /^\\def\\CHAPPAGoff{$/
-\CHAPPAGon     tex-src/texinfo.tex     /^\\def\\CHAPPAGon{$/
-\ENVcheck      tex-src/texinfo.tex     /^\\def\\ENVcheck{%$/
-\Ealphaenumerate       tex-src/texinfo.tex     /^\\def\\Ealphaenumerate{\\Eenumerate}$/
-\Ecapsenumerate        tex-src/texinfo.tex     /^\\def\\Ecapsenumerate{\\Eenumerate}$/
-\Ecartouche    tex-src/texinfo.tex     /^\\def\\Ecartouche{%$/
-\Edescription  tex-src/texinfo.tex     /^\\def\\Edescription{\\Etable}% Necessary kludge.$/
-\Edisplay      tex-src/texinfo.tex     /^\\def\\Edisplay{\\endgroup\\afterenvbreak}%$/
-\Eexample      tex-src/texinfo.tex     /^\\def\\Eexample{\\Elisp}$/
-\Eflushleft    tex-src/texinfo.tex     /^\\def\\Eflushleft{\\endgroup\\afterenvbreak}%$/
-\Eflushright   tex-src/texinfo.tex     /^\\def\\Eflushright{\\endgroup\\afterenvbreak}%$/
-\Eformat       tex-src/texinfo.tex     /^\\def\\Eformat{\\endgroup\\afterenvbreak}$/
-\Eftable       tex-src/texinfo.tex     /^\\def\\Eftable{\\endgraf\\endgroup\\afterenvbreak}%$/
-\Egroup        tex-src/texinfo.tex     /^  \\def\\Egroup{\\egroup\\endgroup}%$/
-\Eifclear      tex-src/texinfo.tex     /^\\def\\Eifclear{}$/
-\Eifset        tex-src/texinfo.tex     /^\\def\\Eifset{}$/
-\Eiftex        tex-src/texinfo.tex     /^\\def\\Eiftex{}$/
-\Elisp tex-src/texinfo.tex     /^\\def\\Elisp{\\endgroup\\afterenvbreak}%$/
-\Equotation    tex-src/texinfo.tex     /^\\def\\Equotation{\\par\\endgroup\\afterenvbreak}%$/
-\Esmallexample tex-src/texinfo.tex     /^\\def\\Esmallexample{\\Elisp}$/
-\Esmallexample tex-src/texinfo.tex     /^\\global\\def\\Esmallexample{\\Esmalllisp}$/
-\Esmalllisp    tex-src/texinfo.tex     /^\\def\\Esmalllisp{\\endgroup\\afterenvbreak}%$/
-\Etable        tex-src/texinfo.tex     /^\\def\\Etable{\\endgraf\\endgroup\\afterenvbreak}%$/
-\Etitlepage    tex-src/texinfo.tex     /^\\def\\Etitlepage{%$/
-\Evtable       tex-src/texinfo.tex     /^\\def\\Evtable{\\endgraf\\endgroup\\afterenvbreak}%$/
-\HEADINGSafter tex-src/texinfo.tex     /^\\def\\HEADINGSafter{\\let\\HEADINGShook=\\HEADINGSdoub/
-\HEADINGSdouble        tex-src/texinfo.tex     /^\\def\\HEADINGSdouble{$/
-\HEADINGSdoublex       tex-src/texinfo.tex     /^\\def\\HEADINGSdoublex{%$/
-\HEADINGSoff   tex-src/texinfo.tex     /^\\def\\HEADINGSoff{$/
-\HEADINGSon    tex-src/texinfo.tex     /^\\def\\HEADINGSon{\\HEADINGSdouble}$/
-\HEADINGSon    tex-src/texinfo.tex     /^\\global\\def\\HEADINGSon{\\HEADINGSsingle}}$/
-\HEADINGSon    tex-src/texinfo.tex     /^\\global\\def\\HEADINGSon{\\HEADINGSdouble}}$/
-\HEADINGSsingle        tex-src/texinfo.tex     /^\\def\\HEADINGSsingle{$/
-\HEADINGSsingleafter   tex-src/texinfo.tex     /^\\def\\HEADINGSsingleafter{\\let\\HEADINGShook=\\HEADIN/
-\HEADINGSsinglex       tex-src/texinfo.tex     /^\\def\\HEADINGSsinglex{%$/
-\TeX   tex-src/texinfo.tex     /^\\def\\TeX{\\realbackslash TeX}%$/
-\TeX   tex-src/texinfo.tex     /^\\def\\TeX{\\realbackslash TeX}$/
-\Yappendixletterandtype        tex-src/texinfo.tex     /^\\def\\Yappendixletterandtype{%$/
-\Ynothing      tex-src/texinfo.tex     /^\\def\\Ynothing{}$/
-\Ypagenumber   tex-src/texinfo.tex     /^\\def\\Ypagenumber{\\folio}$/
-\Ysectionnumberandtype tex-src/texinfo.tex     /^\\def\\Ysectionnumberandtype{%$/
-\Ytitle        tex-src/texinfo.tex     /^\\def\\Ytitle{\\thischapter}$/
-\_     tex-src/texinfo.tex     /^\\def\\_{{\\realbackslash _}}%$/
-\_     tex-src/texinfo.tex     /^\\def\\_{\\lvvmode \\kern.06em \\vbox{\\hrule width.3em /
-\`     tex-src/texinfo.tex     /^\\def\\`{{`}}$/
-\aboveenvbreak tex-src/texinfo.tex     /^\\def\\aboveenvbreak{{\\advance\\aboveenvskipamount by/
-\activedoublequote     tex-src/texinfo.tex     /^\\def\\activedoublequote{{\\tt \\char '042}}$/
-\activeparens  tex-src/texinfo.tex     /^\\def\\activeparens{%$/
-\afourpaper    tex-src/texinfo.tex     /^\\def\\afourpaper{$/
-\afterenvbreak tex-src/texinfo.tex     /^\\def\\afterenvbreak{\\endgraf \\ifdim\\lastskip<\\above/
-\alphaenumerate        tex-src/texinfo.tex     /^\\def\\alphaenumerate{\\enumerate{a}}$/
-\appendix      tex-src/texinfo.tex     /^\\outer\\def\\appendix{\\parsearg\\appendixzzz}$/
-\appendixletter        tex-src/texinfo.tex     /^\\def\\appendixletter{\\char\\the\\appendixno}$/
-\appendixnoderef       tex-src/texinfo.tex     /^\\def\\appendixnoderef{\\ifx\\lastnode\\relax\\else$/
-\appendixsec   tex-src/texinfo.tex     /^\\outer\\def\\appendixsec{\\parsearg\\appendixsectionzz/
-\appendixsection       tex-src/texinfo.tex     /^\\outer\\def\\appendixsection{\\parsearg\\appendixsecti/
-\appendixsectionzzz    tex-src/texinfo.tex     /^\\def\\appendixsectionzzz #1{\\seccheck{appendixsecti/
-\appendixsetref        tex-src/texinfo.tex     /^\\def\\appendixsetref#1{%$/
-\appendixsubsec        tex-src/texinfo.tex     /^\\outer\\def\\appendixsubsec{\\parsearg\\appendixsubsec/
-\appendixsubseczzz     tex-src/texinfo.tex     /^\\def\\appendixsubseczzz #1{\\seccheck{appendixsubsec/
-\appendixsubsubsec     tex-src/texinfo.tex     /^\\outer\\def\\appendixsubsubsec{\\parsearg\\appendixsub/
-\appendixsubsubseczzz  tex-src/texinfo.tex     /^\\def\\appendixsubsubseczzz #1{\\seccheck{appendixsub/
-\appendixzzz   tex-src/texinfo.tex     /^\\def\\appendixzzz #1{\\seccheck{appendix}%$/
-\asis  tex-src/texinfo.tex     /^\\def\\asis#1{#1}$/
-\author        tex-src/texinfo.tex     /^   \\def\\author{\\parsearg\\authorzzz}%$/
-\authorfont    tex-src/texinfo.tex     /^   \\def\\authorfont{\\authorrm \\normalbaselineskip =/
-\authorzzz     tex-src/texinfo.tex     /^   \\def\\authorzzz##1{\\ifseenauthor\\else\\vskip 0pt /
-\b     tex-src/texinfo.tex     /^\\def\\b#1{{\\bf #1}}$/
-\b     tex-src/texinfo.tex     /^\\def\\b##1{\\realbackslash b {##1}}%$/
-\b     tex-src/texinfo.tex     /^\\def\\b##1{\\realbackslash b {##1}}$/
-\balancecolumns        tex-src/texinfo.tex     /^\\def\\balancecolumns{%$/
-\begin tex-src/texinfo.tex     /^\\outer\\def\\begin{\\parsearg\\beginxxx}$/
-\begindoublecolumns    tex-src/texinfo.tex     /^\\def\\begindoublecolumns{\\begingroup$/
-\beginxxx      tex-src/texinfo.tex     /^\\def\\beginxxx #1{%$/
-\bf    tex-src/texinfo.tex     /^\\def\\bf{\\realbackslash bf }%$/
-\bf    tex-src/texinfo.tex     /^\\def\\bf{\\realbackslash bf }$/
-\bullet        tex-src/texinfo.tex     /^\\def\\bullet{$\\ptexbullet$}$/
-\bye   tex-src/texinfo.tex     /^\\outer\\def\\bye{\\pagealignmacro\\tracingstats=1\\ptex/
-\capsenumerate tex-src/texinfo.tex     /^\\def\\capsenumerate{\\enumerate{A}}$/
-\cartbot       tex-src/texinfo.tex     /^\\def\\cartbot{\\hbox to \\cartouter{\\hskip\\lskip$/
-\cartouche     tex-src/texinfo.tex     /^\\long\\def\\cartouche{%$/
-\carttop       tex-src/texinfo.tex     /^\\def\\carttop{\\hbox to \\cartouter{\\hskip\\lskip$/
-\cbl   tex-src/texinfo.tex     /^\\def\\cbl{{\\circle\\char'012\\hskip -6pt}}$/
-\cbr   tex-src/texinfo.tex     /^\\def\\cbr{{\\hskip 6pt\\circle\\char'011}}$/
-\center        tex-src/texinfo.tex     /^\\def\\center{\\parsearg\\centerzzz}$/
-\centerzzz     tex-src/texinfo.tex     /^\\def\\centerzzz #1{{\\advance\\hsize by -\\leftskip$/
-\chapbreak     tex-src/texinfo.tex     /^\\def\\chapbreak{\\dobreak \\chapheadingskip {-4000}}$/
-\chapentry     tex-src/texinfo.tex     /^\\def\\chapentry#1#2#3{\\dochapentry{#2\\labelspace#1}/
-\chapentryfonts        tex-src/texinfo.tex     /^\\def\\chapentryfonts{\\secfonts \\rm}$/
-\chapfonts     tex-src/texinfo.tex     /^\\def\\chapfonts{%$/
-\chapheading   tex-src/texinfo.tex     /^\\def\\chapheading{\\parsearg\\chapheadingzzz}$/
-\chapheadingzzz        tex-src/texinfo.tex     /^\\def\\chapheadingzzz #1{\\chapbreak %$/
-\chapoddpage   tex-src/texinfo.tex     /^\\def\\chapoddpage{\\chappager \\ifodd\\pageno \\else \\h/
-\chappager     tex-src/texinfo.tex     /^\\def\\chappager{\\par\\vfill\\supereject}$/
-\chapter       tex-src/texinfo.tex     /^\\outer\\def\\chapter{\\parsearg\\chapterzzz}$/
-\chapternofonts        tex-src/texinfo.tex     /^\\def\\chapternofonts{%$/
-\chapterzzz    tex-src/texinfo.tex     /^\\def\\chapterzzz #1{\\seccheck{chapter}%$/
-\char  tex-src/texinfo.tex     /^\\def\\char{\\realbackslash char}%$/
-\char  tex-src/texinfo.tex     /^\\def\\char{\\realbackslash char}$/
-\chfopen       tex-src/texinfo.tex     /^\\def\\chfopen #1#2{\\chapoddpage {\\chapfonts$/
-\chfplain      tex-src/texinfo.tex     /^\\def\\chfplain #1#2{%$/
-\cindex        tex-src/texinfo.tex     /^\\def\\cindex {\\cpindex}$/
-\cindexsub     tex-src/texinfo.tex     /^\\def\\cindexsub {\\begingroup\\obeylines\\cindexsub}$/
-\cite  tex-src/texinfo.tex     /^\\def\\cite##1{\\realbackslash cite {##1}}%$/
-\cite  tex-src/texinfo.tex     /^\\def\\cite##1{\\realbackslash cite {##1}}$/
-\clear tex-src/texinfo.tex     /^\\def\\clear{\\parsearg\\clearxxx}$/
-\clearxxx      tex-src/texinfo.tex     /^\\def\\clearxxx #1{$/
-\code  tex-src/texinfo.tex     /^\\def\\code##1{\\realbackslash code {##1}}%$/
-\code  tex-src/texinfo.tex     /^\\def\\code##1{\\realbackslash code {##1}}$/
-\comment       tex-src/texinfo.tex     /^\\def\\comment{\\catcode 64=\\other \\catcode 123=\\othe/
-\commentxxx    tex-src/texinfo.tex     /^\\def\\commentxxx #1{\\catcode 64=0 \\catcode 123=1 \\c/
-\contents      tex-src/texinfo.tex     /^\\outer\\def\\contents{%$/
-\copyright     tex-src/texinfo.tex     /^\\def\\copyright{\\realbackslash copyright }%$/
-\copyright     tex-src/texinfo.tex     /^\\def\\copyright{\\realbackslash copyright}$/
-\cropmarks     tex-src/texinfo.tex     /^\\def\\cropmarks{\\let\\onepageout=\\croppageout }$/
-\croppageout   tex-src/texinfo.tex     /^\\def\\croppageout#1{\\hoffset=0pt % make sure this d/
-\ctl   tex-src/texinfo.tex     /^\\def\\ctl{{\\circle\\char'013\\hskip -6pt}}% 6pt from /
-\ctr   tex-src/texinfo.tex     /^\\def\\ctr{{\\hskip 6pt\\circle\\char'010}}$/
-\ctrl  tex-src/texinfo.tex     /^\\def\\ctrl #1{{\\tt \\rawbackslash \\hat}#1}$/
-\defcodeindex  tex-src/texinfo.tex     /^\\def\\defcodeindex{\\parsearg\\newcodeindex}$/
-\defcv tex-src/texinfo.tex     /^\\def\\defcv #1 {\\def\\defcvtype{#1}%$/
-\defcvarheader tex-src/texinfo.tex     /^\\def\\defcvarheader #1#2#3{%$/
-\defcvx        tex-src/texinfo.tex     /^\\def\\defcvx #1 {\\errmessage{@defcvx in invalid con/
-\deffn tex-src/texinfo.tex     /^\\def\\deffn{\\defmethparsebody\\Edeffn\\deffnx\\deffnhe/
-\deffnheader   tex-src/texinfo.tex     /^\\def\\deffnheader #1#2#3{\\doind {fn}{\\code{#2}}%$/
-\deffnx        tex-src/texinfo.tex     /^\\def\\deffnx #1 {\\errmessage{@deffnx in invalid con/
-\defindex      tex-src/texinfo.tex     /^\\def\\defindex{\\parsearg\\newindex}$/
-\defivar       tex-src/texinfo.tex     /^\\def\\defivar{\\defvrparsebody\\Edefivar\\defivarx\\def/
-\defivarheader tex-src/texinfo.tex     /^\\def\\defivarheader #1#2#3{%$/
-\defivarx      tex-src/texinfo.tex     /^\\def\\defivarx #1 {\\errmessage{@defivarx in invalid/
-\defmac        tex-src/texinfo.tex     /^\\def\\defmac{\\defparsebody\\Edefmac\\defmacx\\defmache/
-\defmacheader  tex-src/texinfo.tex     /^\\def\\defmacheader #1#2{\\doind {fn}{\\code{#1}}% Mak/
-\defmacx       tex-src/texinfo.tex     /^\\def\\defmacx #1 {\\errmessage{@defmacx in invalid c/
-\defmethod     tex-src/texinfo.tex     /^\\def\\defmethod{\\defmethparsebody\\Edefmethod\\defmet/
-\defmethodheader       tex-src/texinfo.tex     /^\\def\\defmethodheader #1#2#3{%$/
-\defmethodx    tex-src/texinfo.tex     /^\\def\\defmethodx #1 {\\errmessage{@defmethodx in inv/
-\defmethparsebody      tex-src/texinfo.tex     /^\\def\\defmethparsebody #1#2#3#4 {\\begingroup\\inENV /
-\defname       tex-src/texinfo.tex     /^\\def\\defname #1#2{%$/
-\defop tex-src/texinfo.tex     /^\\def\\defop #1 {\\def\\defoptype{#1}%$/
-\defopheader   tex-src/texinfo.tex     /^\\def\\defopheader #1#2#3{%$/
-\defopparsebody        tex-src/texinfo.tex     /^\\def\\defopparsebody #1#2#3#4#5 {\\begingroup\\inENV /
-\defopt        tex-src/texinfo.tex     /^\\def\\defopt{\\defvarparsebody\\Edefopt\\defoptx\\defop/
-\defoptheader  tex-src/texinfo.tex     /^\\def\\defoptheader #1#2{\\doind {vr}{\\code{#1}}% Mak/
-\defoptx       tex-src/texinfo.tex     /^\\def\\defoptx #1 {\\errmessage{@defoptx in invalid c/
-\defopvarparsebody     tex-src/texinfo.tex     /^\\def\\defopvarparsebody #1#2#3#4#5 {\\begingroup\\inE/
-\defopx        tex-src/texinfo.tex     /^\\def\\defopx #1 {\\errmessage{@defopx in invalid con/
-\defparsebody  tex-src/texinfo.tex     /^\\def\\defparsebody #1#2#3{\\begingroup\\inENV% Enviro/
-\defspec       tex-src/texinfo.tex     /^\\def\\defspec{\\defparsebody\\Edefspec\\defspecx\\defsp/
-\defspecheader tex-src/texinfo.tex     /^\\def\\defspecheader #1#2{\\doind {fn}{\\code{#1}}% Ma/
-\defspecx      tex-src/texinfo.tex     /^\\def\\defspecx #1 {\\errmessage{@defspecx in invalid/
-\deftp tex-src/texinfo.tex     /^\\def\\deftp{\\defvrparsebody\\Edeftp\\deftpx\\deftphead/
-\deftpargs     tex-src/texinfo.tex     /^\\def\\deftpargs #1{\\bf \\defvarargs{#1}}$/
-\deftpheader   tex-src/texinfo.tex     /^\\def\\deftpheader #1#2#3{\\doind {tp}{\\code{#2}}%$/
-\deftpx        tex-src/texinfo.tex     /^\\def\\deftpx #1 {\\errmessage{@deftpx in invalid con/
-\deftypefn     tex-src/texinfo.tex     /^\\def\\deftypefn{\\defmethparsebody\\Edeftypefn\\deftyp/
-\deftypefnheader       tex-src/texinfo.tex     /^\\def\\deftypefnheader #1#2#3{\\deftypefnheaderx{#1}{/
-\deftypefnheaderx      tex-src/texinfo.tex     /^\\def\\deftypefnheaderx #1#2#3 #4\\relax{%$/
-\deftypefnx    tex-src/texinfo.tex     /^\\def\\deftypefnx #1 {\\errmessage{@deftypefnx in inv/
-\deftypefun    tex-src/texinfo.tex     /^\\def\\deftypefun{\\defparsebody\\Edeftypefun\\deftypef/
-\deftypefunargs        tex-src/texinfo.tex     /^\\def\\deftypefunargs #1{%$/
-\deftypefunheader      tex-src/texinfo.tex     /^\\def\\deftypefunheader #1#2{\\deftypefunheaderx{#1}#/
-\deftypefunheaderx     tex-src/texinfo.tex     /^\\def\\deftypefunheaderx #1#2 #3\\relax{%$/
-\deftypeunx    tex-src/texinfo.tex     /^\\def\\deftypeunx #1 {\\errmessage{@deftypeunx in inv/
-\deftypevar    tex-src/texinfo.tex     /^\\def\\deftypevar{\\defvarparsebody\\Edeftypevar\\defty/
-\deftypevarheader      tex-src/texinfo.tex     /^\\def\\deftypevarheader #1#2{%$/
-\deftypevarx   tex-src/texinfo.tex     /^\\def\\deftypevarx #1 {\\errmessage{@deftypevarx in i/
-\deftypevr     tex-src/texinfo.tex     /^\\def\\deftypevr{\\defvrparsebody\\Edeftypevr\\deftypev/
-\deftypevrheader       tex-src/texinfo.tex     /^\\def\\deftypevrheader #1#2#3{\\doind {vr}{\\code{#3}}/
-\deftypevrx    tex-src/texinfo.tex     /^\\def\\deftypevrx #1 {\\errmessage{@deftypevrx in inv/
-\defun tex-src/texinfo.tex     /^\\def\\defun{\\defparsebody\\Edefun\\defunx\\defunheader/
-\defunargs     tex-src/texinfo.tex     /^\\def\\defunargs #1{\\functionparens \\sl$/
-\defunheader   tex-src/texinfo.tex     /^\\def\\defunheader #1#2{\\doind {fn}{\\code{#1}}% Make/
-\defunx        tex-src/texinfo.tex     /^\\def\\defunx #1 {\\errmessage{@defunx in invalid con/
-\defvar        tex-src/texinfo.tex     /^\\def\\defvar{\\defvarparsebody\\Edefvar\\defvarx\\defva/
-\defvarargs    tex-src/texinfo.tex     /^\\def\\defvarargs #1{\\normalparens #1%$/
-\defvarheader  tex-src/texinfo.tex     /^\\def\\defvarheader #1#2{\\doind {vr}{\\code{#1}}% Mak/
-\defvarparsebody       tex-src/texinfo.tex     /^\\def\\defvarparsebody #1#2#3{\\begingroup\\inENV% Env/
-\defvarx       tex-src/texinfo.tex     /^\\def\\defvarx #1 {\\errmessage{@defvarx in invalid c/
-\defvr tex-src/texinfo.tex     /^\\def\\defvr{\\defvrparsebody\\Edefvr\\defvrx\\defvrhead/
-\defvrheader   tex-src/texinfo.tex     /^\\def\\defvrheader #1#2#3{\\doind {vr}{\\code{#2}}%$/
-\defvrparsebody        tex-src/texinfo.tex     /^\\def\\defvrparsebody #1#2#3#4 {\\begingroup\\inENV %$/
-\defvrx        tex-src/texinfo.tex     /^\\def\\defvrx #1 {\\errmessage{@defvrx in invalid con/
-\description   tex-src/texinfo.tex     /^\\def\\description{\\tablez{\\dontindex}{1}{}{}{}{}}$/
-\df    tex-src/texinfo.tex     /^\\def\\df{\\let\\tentt=\\deftt \\let\\tenbf = \\defbf \\bf}/
-\dfn   tex-src/texinfo.tex     /^\\def\\dfn##1{\\realbackslash dfn {##1}}$/
-\direntry      tex-src/texinfo.tex     /^\\def\\direntry{\\begingroup\\direntryxxx}$/
-\direntryxxx   tex-src/texinfo.tex     /^\\long\\def\\direntryxxx #1\\end direntry{\\endgroup\\ig/
-\display       tex-src/texinfo.tex     /^\\def\\display{\\begingroup\\inENV %This group ends at/
-\dmn   tex-src/texinfo.tex     /^\\def\\dmn#1{\\thinspace #1}$/
-\dobreak       tex-src/texinfo.tex     /^\\def\\dobreak#1#2{\\par\\ifdim\\lastskip<#1\\removelast/
-\dochapentry   tex-src/texinfo.tex     /^\\def\\dochapentry#1#2{%$/
-\docodeindex   tex-src/texinfo.tex     /^\\def\\docodeindex#1{\\edef\\indexname{#1}\\parsearg\\si/
-\doind tex-src/texinfo.tex     /^\\def\\doind #1#2{%$/
-\doindex       tex-src/texinfo.tex     /^\\def\\doindex#1{\\edef\\indexname{#1}\\parsearg\\single/
-\donoderef     tex-src/texinfo.tex     /^\\def\\donoderef{\\ifx\\lastnode\\relax\\else$/
-\dontindex     tex-src/texinfo.tex     /^\\def\\dontindex #1{}$/
-\dopageno      tex-src/texinfo.tex     /^\\def\\dopageno#1{{\\rm #1}}$/
-\doprintindex  tex-src/texinfo.tex     /^\\def\\doprintindex#1{%$/
-\dosecentry    tex-src/texinfo.tex     /^\\def\\dosecentry#1#2{%$/
-\dosetq        tex-src/texinfo.tex     /^\\def\\dosetq #1#2{{\\let\\folio=0 \\turnoffactive%$/
-\doshortpageno tex-src/texinfo.tex     /^\\def\\doshortpageno#1{{\\rm #1}}$/
-\dosubind      tex-src/texinfo.tex     /^\\def\\dosubind #1#2#3{%$/
-\dosubsecentry tex-src/texinfo.tex     /^\\def\\dosubsecentry#1#2{%$/
-\dosubsubsecentry      tex-src/texinfo.tex     /^\\def\\dosubsubsecentry#1#2{%$/
-\dots  tex-src/texinfo.tex     /^\\def\\dots{$\\ldots$}$/
-\dots  tex-src/texinfo.tex     /^\\def\\dots{\\realbackslash dots }%$/
-\dots  tex-src/texinfo.tex     /^\\def\\dots{\\realbackslash dots}$/
-\doublecolumnout       tex-src/texinfo.tex     /^\\def\\doublecolumnout{\\splittopskip=\\topskip \\split/
-\emph  tex-src/texinfo.tex     /^\\def\\emph##1{\\realbackslash emph {##1}}$/
-\end   tex-src/texinfo.tex     /^\\def\\end{\\parsearg\\endxxx}$/
-\enddoublecolumns      tex-src/texinfo.tex     /^\\def\\enddoublecolumns{\\output={\\balancecolumns}\\ej/
-\endxxx        tex-src/texinfo.tex     /^\\def\\endxxx #1{%$/
-\entry tex-src/texinfo.tex     /^\\def\\entry #1#2{\\begingroup$/
-\enumerate     tex-src/texinfo.tex     /^\\def\\enumerate{\\parsearg\\enumeratezzz}$/
-\enumeratey    tex-src/texinfo.tex     /^\\def\\enumeratey #1 #2\\endenumeratey{%$/
-\enumeratezzz  tex-src/texinfo.tex     /^\\def\\enumeratezzz #1{\\enumeratey #1  \\endenumerate/
-\equiv tex-src/texinfo.tex     /^\\def\\equiv{\\realbackslash equiv}$/
-\equiv tex-src/texinfo.tex     /^\\def\\equiv{\\leavevmode\\lower.1ex\\hbox to 1em{\\hfil/
-\error tex-src/texinfo.tex     /^\\def\\error{\\leavevmode\\lower.7ex\\copy\\errorbox}$/
-\errorE        tex-src/texinfo.tex     /^\\def\\errorE#1{$/
-\evenfooting   tex-src/texinfo.tex     /^\\def\\evenfooting{\\parsearg\\evenfootingxxx}$/
-\evenheading   tex-src/texinfo.tex     /^\\def\\evenheading{\\parsearg\\evenheadingxxx}$/
-\everyfooting  tex-src/texinfo.tex     /^\\def\\everyfooting{\\parsearg\\everyfootingxxx}$/
-\everyheading  tex-src/texinfo.tex     /^\\def\\everyheading{\\parsearg\\everyheadingxxx}$/
-\ewbot tex-src/texinfo.tex     /^\\def\\ewbot{\\vrule height0pt depth\\cornerthick widt/
-\ewtop tex-src/texinfo.tex     /^\\def\\ewtop{\\vrule height\\cornerthick depth0pt widt/
-\exdent        tex-src/texinfo.tex     /^\\def\\exdent{\\parsearg\\exdentyyy}$/
-\exdentyyy     tex-src/texinfo.tex     /^\\def\\exdentyyy #1{{\\hfil\\break\\hbox{\\kern -\\exdent/
-\expansion     tex-src/texinfo.tex     /^\\def\\expansion{\\realbackslash expansion}$/
-\expansion     tex-src/texinfo.tex     /^\\def\\expansion{\\leavevmode\\raise.1ex\\hbox to 1em{\\/
-\file  tex-src/texinfo.tex     /^\\def\\file##1{\\realbackslash file {##1}}%$/
-\file  tex-src/texinfo.tex     /^\\def\\file##1{\\realbackslash file {##1}}$/
-\finalout      tex-src/texinfo.tex     /^\\def\\finalout{\\overfullrule=0pt}$/
-\findex        tex-src/texinfo.tex     /^\\def\\findex {\\fnindex}$/
-\finishtitlepage       tex-src/texinfo.tex     /^\\def\\finishtitlepage{%$/
-\flushcr       tex-src/texinfo.tex     /^\\def\\flushcr{\\ifx\\par\\lisppar \\def\\next##1{}\\else /
-\flushleft     tex-src/texinfo.tex     /^\\def\\flushleft{%$/
-\flushright    tex-src/texinfo.tex     /^\\def\\flushright{%$/
-\fnitemindex   tex-src/texinfo.tex     /^\\def\\fnitemindex #1{\\doind {fn}{\\code{#1}}}%$/
-\format        tex-src/texinfo.tex     /^\\def\\format{\\begingroup\\inENV %This group ends at /
-\frenchspacing tex-src/texinfo.tex     /^\\def\\frenchspacing{\\sfcode46=1000 \\sfcode63=1000 \\/
-\ftable        tex-src/texinfo.tex     /^\\def\\ftable{\\begingroup\\inENV\\obeylines\\obeyspaces/
-\gloggingall   tex-src/texinfo.tex     /^\\def\\gloggingall{\\begingroup \\globaldefs = 1 \\logg/
-\group tex-src/texinfo.tex     /^\\def\\group{\\begingroup$/
-\gtr   tex-src/texinfo.tex     /^\\def\\gtr{\\realbackslash gtr}%$/
-\gtr   tex-src/texinfo.tex     /^\\def\\gtr{\\realbackslash gtr}$/
-\hat   tex-src/texinfo.tex     /^\\def\\hat{\\realbackslash hat}%$/
-\hat   tex-src/texinfo.tex     /^\\def\\hat{\\realbackslash hat}$/
-\heading       tex-src/texinfo.tex     /^\\def\\heading{\\parsearg\\secheadingi}$/
-\headings      tex-src/texinfo.tex     /^\\def\\headings #1 {\\csname HEADINGS#1\\endcsname}$/
-\i     tex-src/texinfo.tex     /^\\def\\i##1{\\realbackslash i {##1}}%$/
-\i     tex-src/texinfo.tex     /^\\def\\i##1{\\realbackslash i {##1}}$/
-\ifclear       tex-src/texinfo.tex     /^\\def\\ifclear{\\begingroup\\ignoresections\\parsearg\\i/
-\ifclearfail   tex-src/texinfo.tex     /^\\def\\ifclearfail{\\begingroup\\ignoresections\\ifclea/
-\ifclearfailxxx        tex-src/texinfo.tex     /^\\long\\def\\ifclearfailxxx #1\\end ifclear{\\endgroup\\/
-\ifclearxxx    tex-src/texinfo.tex     /^\\def\\ifclearxxx #1{\\endgroup$/
-\ifinfo        tex-src/texinfo.tex     /^\\def\\ifinfo{\\begingroup\\ignoresections\\ifinfoxxx}$/
-\ifinfoxxx     tex-src/texinfo.tex     /^\\long\\def\\ifinfoxxx #1\\end ifinfo{\\endgroup\\ignore/
-\ifset tex-src/texinfo.tex     /^\\def\\ifset{\\begingroup\\ignoresections\\parsearg\\ifs/
-\ifsetfail     tex-src/texinfo.tex     /^\\def\\ifsetfail{\\begingroup\\ignoresections\\ifsetfai/
-\ifsetfailxxx  tex-src/texinfo.tex     /^\\long\\def\\ifsetfailxxx #1\\end ifset{\\endgroup\\igno/
-\ifsetxxx      tex-src/texinfo.tex     /^\\def\\ifsetxxx #1{\\endgroup$/
-\iftex tex-src/texinfo.tex     /^\\def\\iftex{}$/
-\ifusingtt     tex-src/texinfo.tex     /^\\def\\ifusingtt#1#2{\\ifdim \\fontdimen3\\the\\font=0pt/
-\ignore        tex-src/texinfo.tex     /^\\def\\ignore{\\begingroup\\ignoresections$/
-\ignoresections        tex-src/texinfo.tex     /^\\def\\ignoresections{%$/
-\ignorexxx     tex-src/texinfo.tex     /^\\long\\def\\ignorexxx #1\\end ignore{\\endgroup\\ignore/
-\ii    tex-src/texinfo.tex     /^\\def\\ii#1{{\\it #1}}                % italic font$/
-\inENV tex-src/texinfo.tex     /^\\newif\\ifENV \\ENVfalse \\def\\inENV{\\ifENV\\relax\\els/
-\include       tex-src/texinfo.tex     /^\\def\\include{\\parsearg\\includezzz}$/
-\includezzz    tex-src/texinfo.tex     /^\\def\\includezzz #1{{\\def\\thisfile{#1}\\input #1$/
-\indexbackslash        tex-src/texinfo.tex     /^  \\def\\indexbackslash{\\rawbackslashxx}$/
-\indexdotfill  tex-src/texinfo.tex     /^\\def\\indexdotfill{\\cleaders$/
-\indexdummies  tex-src/texinfo.tex     /^\\def\\indexdummies{%$/
-\indexdummydots        tex-src/texinfo.tex     /^\\def\\indexdummydots{...}$/
-\indexdummyfont        tex-src/texinfo.tex     /^\\def\\indexdummyfont#1{#1}$/
-\indexdummytex tex-src/texinfo.tex     /^\\def\\indexdummytex{TeX}$/
-\indexfonts    tex-src/texinfo.tex     /^\\def\\indexfonts{%$/
-\indexnofonts  tex-src/texinfo.tex     /^\\def\\indexnofonts{%$/
-\infoappendix  tex-src/texinfo.tex     /^\\def\\infoappendix{\\parsearg\\appendixzzz}$/
-\infoappendixsec       tex-src/texinfo.tex     /^\\def\\infoappendixsec{\\parsearg\\appendixseczzz}$/
-\infoappendixsubsec    tex-src/texinfo.tex     /^\\def\\infoappendixsubsec{\\parsearg\\appendixsubseczz/
-\infoappendixsubsubsec tex-src/texinfo.tex     /^\\def\\infoappendixsubsubsec{\\parsearg\\appendixsubsu/
-\infochapter   tex-src/texinfo.tex     /^\\def\\infochapter{\\parsearg\\chapterzzz}$/
-\inforef       tex-src/texinfo.tex     /^\\def\\inforef #1{\\inforefzzz #1,,,,**}$/
-\inforefzzz    tex-src/texinfo.tex     /^\\def\\inforefzzz #1,#2,#3,#4**{See Info file \\file{/
-\infosection   tex-src/texinfo.tex     /^\\def\\infosection{\\parsearg\\sectionzzz}$/
-\infosubsection        tex-src/texinfo.tex     /^\\def\\infosubsection{\\parsearg\\subsectionzzz}$/
-\infosubsubsection     tex-src/texinfo.tex     /^\\def\\infosubsubsection{\\parsearg\\subsubsectionzzz}/
-\infotop       tex-src/texinfo.tex     /^\\def\\infotop{\\parsearg\\unnumberedzzz}$/
-\infounnumbered        tex-src/texinfo.tex     /^\\def\\infounnumbered{\\parsearg\\unnumberedzzz}$/
-\infounnumberedsec     tex-src/texinfo.tex     /^\\def\\infounnumberedsec{\\parsearg\\unnumberedseczzz}/
-\infounnumberedsubsec  tex-src/texinfo.tex     /^\\def\\infounnumberedsubsec{\\parsearg\\unnumberedsubs/
-\infounnumberedsubsubsec       tex-src/texinfo.tex     /^\\def\\infounnumberedsubsubsec{\\parsearg\\unnumbereds/
-\initial       tex-src/texinfo.tex     /^\\def\\initial #1{%$/
-\internalBitem tex-src/texinfo.tex     /^\\def\\internalBitem{\\smallbreak \\parsearg\\itemzzz}$/
-\internalBitemx        tex-src/texinfo.tex     /^\\def\\internalBitemx{\\par \\parsearg\\itemzzz}$/
-\internalBkitem        tex-src/texinfo.tex     /^\\def\\internalBkitem{\\smallbreak \\parsearg\\kitemzzz/
-\internalBkitemx       tex-src/texinfo.tex     /^\\def\\internalBkitemx{\\par \\parsearg\\kitemzzz}$/
-\internalBxitem        tex-src/texinfo.tex     /^\\def\\internalBxitem "#1"{\\def\\xitemsubtopix{#1} \\s/
-\internalBxitemx       tex-src/texinfo.tex     /^\\def\\internalBxitemx "#1"{\\def\\xitemsubtopix{#1} \\/
-\internalsetq  tex-src/texinfo.tex     /^\\def\\internalsetq #1#2{'xrdef {#1}{\\csname #2\\endc/
-\item  tex-src/texinfo.tex     /^\\def\\item{\\errmessage{@item while not in a table}}/
-\itemcontents  tex-src/texinfo.tex     /^\\def\\itemcontents{#1}%$/
-\itemfont      tex-src/texinfo.tex     /^\\def\\itemfont{#2}%$/
-\itemize       tex-src/texinfo.tex     /^\\def\\itemize{\\parsearg\\itemizezzz}$/
-\itemizeitem   tex-src/texinfo.tex     /^\\def\\itemizeitem{%$/
-\itemizey      tex-src/texinfo.tex     /^\\def\\itemizey #1#2{%$/
-\itemizezzz    tex-src/texinfo.tex     /^\\def\\itemizezzz #1{%$/
-\itemx tex-src/texinfo.tex     /^\\def\\itemx{\\errmessage{@itemx while not in a table/
-\itemzzz       tex-src/texinfo.tex     /^\\def\\itemzzz #1{\\begingroup %$/
-\kbd   tex-src/texinfo.tex     /^\\def\\kbd#1{\\def\\look{#1}\\expandafter\\kbdfoo\\look??/
-\kbd   tex-src/texinfo.tex     /^\\def\\kbd##1{\\realbackslash kbd {##1}}%$/
-\kbd   tex-src/texinfo.tex     /^\\def\\kbd##1{\\realbackslash kbd {##1}}$/
-\kbdfoo        tex-src/texinfo.tex     /^\\def\\kbdfoo#1#2#3\\par{\\def\\one{#1}\\def\\three{#3}\\d/
-\key   tex-src/texinfo.tex     /^\\def\\key #1{{\\tt \\exhyphenpenalty=10000\\uppercase{/
-\key   tex-src/texinfo.tex     /^\\def\\key##1{\\realbackslash key {##1}}%$/
-\key   tex-src/texinfo.tex     /^\\def\\key##1{\\realbackslash key {##1}}$/
-\kindex        tex-src/texinfo.tex     /^\\def\\kindex {\\kyindex}$/
-\kitem tex-src/texinfo.tex     /^\\def\\kitem{\\errmessage{@kitem while not in a table/
-\kitemx        tex-src/texinfo.tex     /^\\def\\kitemx{\\errmessage{@kitemx while not in a tab/
-\kitemzzz      tex-src/texinfo.tex     /^\\def\\kitemzzz #1{\\dosubind {kw}{\\code{#1}}{for {\\b/
-\l     tex-src/texinfo.tex     /^\\def\\l#1{{\\li #1}\\null}           % $/
-\labelspace    tex-src/texinfo.tex     /^\\def\\labelspace{\\hskip1em \\relax}$/
-\lbrb  tex-src/texinfo.tex     /^\\def\\lbrb{{\\bf\\char`\\[}} \\def\\rbrb{{\\bf\\char`\\]}}$/
-\less  tex-src/texinfo.tex     /^\\def\\less{\\realbackslash less}%$/
-\less  tex-src/texinfo.tex     /^\\def\\less{\\realbackslash less}$/
-\linenumber    tex-src/texinfo.tex     /^  \\def\\linenumber{\\the\\inputlineno:\\space}$/
-\lisp  tex-src/texinfo.tex     /^\\def\\lisp{\\aboveenvbreak$/
-\loggingall    tex-src/texinfo.tex     /^\\def\\loggingall{\\tracingcommands2 \\tracingstats2 $/
-\losespace     tex-src/texinfo.tex     /^\\def\\losespace #1{#1}$/
-\lowercaseenumerate    tex-src/texinfo.tex     /^\\def\\lowercaseenumerate{%$/
-\lvvmode       tex-src/texinfo.tex     /^\\def\\lvvmode{\\vbox to 0pt{}}$/
-\majorheading  tex-src/texinfo.tex     /^\\def\\majorheading{\\parsearg\\majorheadingzzz}$/
-\majorheadingzzz       tex-src/texinfo.tex     /^\\def\\majorheadingzzz #1{%$/
-\math  tex-src/texinfo.tex     /^\\def\\math#1{\\implicitmath #1\\implicitmath}$/
-\menu  tex-src/texinfo.tex     /^\\long\\def\\menu #1\\end menu{}$/
-\minus tex-src/texinfo.tex     /^\\def\\minus{$-$}$/
-\mylbrace      tex-src/texinfo.tex     /^\\def\\mylbrace {{\\tt \\char '173}}$/
-\myrbrace      tex-src/texinfo.tex     /^\\def\\myrbrace {{\\tt \\char '175}}$/
-\need  tex-src/texinfo.tex     /^\\def\\need{\\parsearg\\needx}$/
-\needx tex-src/texinfo.tex     /^\\def\\needx#1{%$/
-\newcodeindex  tex-src/texinfo.tex     /^\\def\\newcodeindex #1{$/
-\newindex      tex-src/texinfo.tex     /^\\def\\newindex #1{$/
-\next  tex-src/texinfo.tex     /^\\def\\next##1{}\\next}$/
-\next  tex-src/texinfo.tex     /^\\def\\next##1{}\\next}$/
-\next  tex-src/texinfo.tex     /^\\def\\next##1{}\\next}$/
-\next  tex-src/texinfo.tex     /^\\def\\next##1{}\\next}$/
-\next  tex-src/texinfo.tex     /^\\def\\next##1{}\\next}$/
-\next  tex-src/texinfo.tex     /^\\def\\next##1{}\\next}$/
-\nm    tex-src/testenv.tex     /^\\newcommand{\\nm}[2]{\\nomenclature{#1}{#2}}$/
-\node  tex-src/texinfo.tex     /^\\def\\node{\\ENVcheck\\parsearg\\nodezzz}$/
-\nodexxx[      tex-src/texinfo.tex     /^\\def\\nodexxx[#1,#2]{\\gdef\\lastnode{#1}}$/
-\nodezzz       tex-src/texinfo.tex     /^\\def\\nodezzz#1{\\nodexxx [#1,]}$/
-\nofillexdent  tex-src/texinfo.tex     /^\\def\\nofillexdent{\\parsearg\\nofillexdentyyy}$/
-\nofillexdentyyy       tex-src/texinfo.tex     /^\\def\\nofillexdentyyy #1{{\\advance \\leftskip by -\\e/
-\normalbackslash       tex-src/texinfo.tex     /^\\def\\normalbackslash{{\\tt\\rawbackslashxx}}$/
-\normalcaret   tex-src/texinfo.tex     /^\\def\\normalcaret{^}$/
-\normaldoublequote     tex-src/texinfo.tex     /^\\def\\normaldoublequote{"}$/
-\normalgreater tex-src/texinfo.tex     /^\\def\\normalgreater{>}$/
-\normalless    tex-src/texinfo.tex     /^\\def\\normalless{<}$/
-\normalplus    tex-src/texinfo.tex     /^\\def\\normalplus{+}$/
-\normaltilde   tex-src/texinfo.tex     /^\\def\\normaltilde{~}$/
-\normalunderscore      tex-src/texinfo.tex     /^\\def\\normalunderscore{_}$/
-\normalverticalbar     tex-src/texinfo.tex     /^\\def\\normalverticalbar{|}$/
-\nsbot tex-src/texinfo.tex     /^\\def\\nsbot{\\vbox$/
-\nstop tex-src/texinfo.tex     /^\\def\\nstop{\\vbox$/
-\numberedsec   tex-src/texinfo.tex     /^\\outer\\def\\numberedsec{\\parsearg\\seczzz}$/
-\numberedsubsec        tex-src/texinfo.tex     /^\\outer\\def\\numberedsubsec{\\parsearg\\numberedsubsec/
-\numberedsubseczzz     tex-src/texinfo.tex     /^\\def\\numberedsubseczzz #1{\\seccheck{subsection}%$/
-\numberedsubsubsec     tex-src/texinfo.tex     /^\\outer\\def\\numberedsubsubsec{\\parsearg\\numberedsub/
-\numberedsubsubseczzz  tex-src/texinfo.tex     /^\\def\\numberedsubsubseczzz #1{\\seccheck{subsubsecti/
-\numericenumerate      tex-src/texinfo.tex     /^\\def\\numericenumerate{%$/
-\oddfooting    tex-src/texinfo.tex     /^\\def\\oddfooting{\\parsearg\\oddfootingxxx}$/
-\oddheading    tex-src/texinfo.tex     /^\\def\\oddheading{\\parsearg\\oddheadingxxx}$/
-\onepageout    tex-src/texinfo.tex     /^\\def\\onepageout#1{\\hoffset=\\normaloffset$/
-\opencontents  tex-src/texinfo.tex     /^\\def\\opencontents{\\openout \\contentsfile = \\jobnam/
-\openindices   tex-src/texinfo.tex     /^\\def\\openindices{%$/
-\opnr  tex-src/texinfo.tex     /^\\def\\opnr{{\\sf\\char`\\(}} \\def\\clnr{{\\sf\\char`\\)}} /
-\page  tex-src/texinfo.tex     /^\\def\\page{\\par\\vfill\\supereject}$/
-\page  tex-src/texinfo.tex     /^   \\def\\page{%$/
-\pagebody      tex-src/texinfo.tex     /^\\def\\pagebody#1{\\vbox to\\pageheight{\\boxmaxdepth=\\/
-\pagesofar     tex-src/texinfo.tex     /^\\def\\pagesofar{\\unvbox\\partialpage %$/
-\parsearg      tex-src/texinfo.tex     /^\\def\\parsearg #1{\\let\\next=#1\\begingroup\\obeylines/
-\parseargline  tex-src/texinfo.tex     /^\\def\\parseargline{\\begingroup \\obeylines \\parsearg/
-\parseargx     tex-src/texinfo.tex     /^\\def\\parseargx{%$/
-\pindex        tex-src/texinfo.tex     /^\\def\\pindex {\\pgindex}$/
-\plainsecheading       tex-src/texinfo.tex     /^\\def\\plainsecheading #1{\\secheadingi {#1}}$/
-\point tex-src/texinfo.tex     /^\\def\\point{$\\star$}$/
-\primary       tex-src/texinfo.tex     /^\\def\\primary #1{\\line{#1\\hfil}}$/
-\print tex-src/texinfo.tex     /^\\def\\print{\\realbackslash print}$/
-\print tex-src/texinfo.tex     /^\\def\\print{\\leavevmode\\lower.1ex\\hbox to 1em{\\hfil/
-\printedmanual tex-src/texinfo.tex     /^\\def\\printedmanual{\\ignorespaces #5}%$/
-\printedmanual tex-src/texinfo.tex     /^section ``\\printednodename'' in \\cite{\\printedmanu/
-\printednodename       tex-src/texinfo.tex     /^\\def\\printednodename{\\ignorespaces #3}%$/
-\printednodename       tex-src/texinfo.tex     /^\\def\\printednodename{\\ignorespaces #1}%$/
-\printindex    tex-src/texinfo.tex     /^\\def\\printindex{\\parsearg\\doprintindex}$/
-\pxref tex-src/texinfo.tex     /^\\def\\pxref#1{see \\xrefX[#1,,,,,,,]}$/
-\quotation     tex-src/texinfo.tex     /^\\def\\quotation{%$/
-\r     tex-src/texinfo.tex     /^\\def\\r#1{{\\rm #1}}         % roman font$/
-\r     tex-src/texinfo.tex     /^\\def\\r##1{\\realbackslash r {##1}}%$/
-\r     tex-src/texinfo.tex     /^\\def\\r##1{\\realbackslash r {##1}}$/
-\rawbackslashxx        tex-src/texinfo.tex     /^\\def\\rawbackslashxx{\\indexbackslash}% \\indexbacksl/
-\rawbackslashxx        tex-src/texinfo.tex     /^\\def\\rawbackslashxx{\\indexbackslash}%$/
-\readauxfile   tex-src/texinfo.tex     /^\\def\\readauxfile{%$/
-\ref   tex-src/texinfo.tex     /^\\def\\ref#1{\\xrefX[#1,,,,,,,]}$/
-\refx  tex-src/texinfo.tex     /^\\def\\refx#1#2{%$/
-\resetmathfonts        tex-src/texinfo.tex     /^\\def\\resetmathfonts{%$/
-\result        tex-src/texinfo.tex     /^\\def\\result{\\realbackslash result}$/
-\result        tex-src/texinfo.tex     /^\\def\\result{\\leavevmode\\raise.15ex\\hbox to 1em{\\hf/
-\rm    tex-src/texinfo.tex     /^\\def\\rm{\\realbackslash rm }%$/
-\samp  tex-src/texinfo.tex     /^\\def\\samp #1{`\\tclose{#1}'\\null}$/
-\samp  tex-src/texinfo.tex     /^\\def\\samp##1{\\realbackslash samp {##1}}%$/
-\samp  tex-src/texinfo.tex     /^\\def\\samp##1{\\realbackslash samp {##1}}$/
-\sc    tex-src/texinfo.tex     /^\\def\\sc#1{{\\smallcaps#1}}  % smallcaps font$/
-\seccheck      tex-src/texinfo.tex     /^\\def\\seccheck#1{\\if \\pageno<0 %$/
-\secentry      tex-src/texinfo.tex     /^      \\def\\secentry ##1##2##3##4{}$/
-\secentry      tex-src/texinfo.tex     /^\\def\\secentry#1#2#3#4{\\dosecentry{#2.#3\\labelspace/
-\secentryfonts tex-src/texinfo.tex     /^\\def\\secentryfonts{\\textfonts}$/
-\secfonts      tex-src/texinfo.tex     /^\\def\\secfonts{%$/
-\secheading    tex-src/texinfo.tex     /^\\def\\secheading #1#2#3{\\secheadingi {#2.#3\\enspace/
-\secheadingbreak       tex-src/texinfo.tex     /^\\def\\secheadingbreak{\\dobreak \\secheadingskip {-10/
-\secheadingi   tex-src/texinfo.tex     /^\\def\\secheadingi #1{{\\advance \\secheadingskip by \\/
-\secondary     tex-src/texinfo.tex     /^\\def\\secondary #1#2{$/
-\seczzz        tex-src/texinfo.tex     /^\\def\\seczzz #1{\\seccheck{section}%$/
-\set   tex-src/texinfo.tex     /^\\def\\set{\\parsearg\\setxxx}$/
-\setchapternewpage     tex-src/texinfo.tex     /^\\def\\setchapternewpage #1 {\\csname CHAPPAG#1\\endcs/
-\setchapterstyle       tex-src/texinfo.tex     /^\\def\\setchapterstyle #1 {\\csname CHAPF#1\\endcsname/
-\setdeffont    tex-src/texinfo.tex     /^\\def\\setdeffont #1 {\\csname DEF#1\\endcsname}$/
-\setfilename   tex-src/texinfo.tex     /^\\def\\setfilename{%$/
-\setref        tex-src/texinfo.tex     /^\\def\\setref#1{%$/
-\settitle      tex-src/texinfo.tex     /^\\def\\settitle{\\parsearg\\settitlezzz}$/
-\settitlezzz   tex-src/texinfo.tex     /^\\def\\settitlezzz #1{\\gdef\\thistitle{#1}}$/
-\setxxx        tex-src/texinfo.tex     /^\\def\\setxxx #1{$/
-\sf    tex-src/texinfo.tex     /^\\def\\sf{\\fam=\\sffam \\tensf}$/
-\sf    tex-src/texinfo.tex     /^\\def\\sf{\\realbackslash sf}%$/
-\shortchapentry        tex-src/texinfo.tex     /^\\def\\shortchapentry#1#2#3{%$/
-\shortunnumberedentry  tex-src/texinfo.tex     /^\\def\\shortunnumberedentry#1#2{%$/
-\singlecodeindexer     tex-src/texinfo.tex     /^\\def\\singlecodeindexer #1{\\doind{\\indexname}{\\code/
-\singleindexer tex-src/texinfo.tex     /^\\def\\singleindexer #1{\\doind{\\indexname}{#1}}$/
-\singlespace   tex-src/texinfo.tex     /^\\def\\singlespace{%$/
-\sl    tex-src/texinfo.tex     /^\\def\\sl{\\realbackslash sl }%$/
-\smallbook     tex-src/texinfo.tex     /^\\def\\smallbook{$/
-\smalllispx    tex-src/texinfo.tex     /^\\def\\smalllispx{\\aboveenvbreak\\begingroup\\inENV$/
-\smartitalic   tex-src/texinfo.tex     /^\\def\\smartitalic#1{{\\sl #1}\\futurelet\\next\\smartit/
-\smartitalicx  tex-src/texinfo.tex     /^\\def\\smartitalicx{\\ifx\\next,\\else\\ifx\\next-\\else\\i/
-\sp    tex-src/texinfo.tex     /^\\def\\sp{\\parsearg\\spxxx}$/
-\splitoff      tex-src/texinfo.tex     /^\\def\\splitoff#1#2\\endmark{\\def\\first{#1}\\def\\rest{/
-\spxxx tex-src/texinfo.tex     /^\\def\\spxxx #1{\\par \\vskip #1\\baselineskip}$/
-\startcontents tex-src/texinfo.tex     /^\\def\\startcontents#1{%$/
-\startenumeration      tex-src/texinfo.tex     /^\\def\\startenumeration#1{%$/
-\subheading    tex-src/texinfo.tex     /^\\def\\subheading{\\parsearg\\subsecheadingi}$/
-\subsecentry   tex-src/texinfo.tex     /^      \\def\\subsecentry ##1##2##3##4##5{}$/
-\subsecentry   tex-src/texinfo.tex     /^\\def\\subsecentry#1#2#3#4#5{\\dosubsecentry{#2.#3.#4/
-\subsecfonts   tex-src/texinfo.tex     /^\\def\\subsecfonts{%$/
-\subsecheading tex-src/texinfo.tex     /^\\def\\subsecheading #1#2#3#4{\\subsecheadingi {#2.#3/
-\subsecheadingbreak    tex-src/texinfo.tex     /^\\def\\subsecheadingbreak{\\dobreak \\subsecheadingski/
-\subsecheadingi        tex-src/texinfo.tex     /^\\def\\subsecheadingi #1{{\\advance \\subsecheadingski/
-\subsubheading tex-src/texinfo.tex     /^\\def\\subsubheading{\\parsearg\\subsubsecheadingi}$/
-\subsubsecentry        tex-src/texinfo.tex     /^      \\def\\subsubsecentry ##1##2##3##4##5##6{}$/
-\subsubsecentry        tex-src/texinfo.tex     /^\\def\\subsubsecentry#1#2#3#4#5#6{%$/
-\subsubsecfonts        tex-src/texinfo.tex     /^\\def\\subsubsecfonts{\\subsecfonts} % Maybe this sho/
-\subsubsecheading      tex-src/texinfo.tex     /^\\def\\subsubsecheading #1#2#3#4#5{\\subsubsecheading/
-\subsubsecheadingi     tex-src/texinfo.tex     /^\\def\\subsubsecheadingi #1{{\\advance \\subsecheading/
-\subtitle      tex-src/texinfo.tex     /^   \\def\\subtitle{\\parsearg\\subtitlezzz}%$/
-\subtitlefont  tex-src/texinfo.tex     /^   \\def\\subtitlefont{\\subtitlerm \\normalbaselinesk/
-\subtitlezzz   tex-src/texinfo.tex     /^   \\def\\subtitlezzz##1{{\\subtitlefont \\rightline{#/
-\summarycontents       tex-src/texinfo.tex     /^\\outer\\def\\summarycontents{%$/
-\supereject    tex-src/texinfo.tex     /^\\def\\supereject{\\par\\penalty -20000\\footnoteno =0 /
-\syncodeindex  tex-src/texinfo.tex     /^\\def\\syncodeindex #1 #2 {%$/
-\synindex      tex-src/texinfo.tex     /^\\def\\synindex #1 #2 {%$/
-\t     tex-src/texinfo.tex     /^\\def\\t#1{{\\tt \\exhyphenpenalty=10000\\rawbackslash /
-\t     tex-src/texinfo.tex     /^\\def\\t##1{\\realbackslash r {##1}}%$/
-\table tex-src/texinfo.tex     /^\\def\\table{\\begingroup\\inENV\\obeylines\\obeyspaces\\/
-\tablez        tex-src/texinfo.tex     /^\\def\\tablez #1#2#3#4#5#6{%$/
-\tclose        tex-src/texinfo.tex     /^\\def\\tclose#1{{\\rm \\tcloserm=\\fontdimen2\\font \\tt /
-\tclose        tex-src/texinfo.tex     /^\\def\\tclose##1{\\realbackslash tclose {##1}}%$/
-\tclose        tex-src/texinfo.tex     /^\\def\\tclose##1{\\realbackslash tclose {##1}}$/
-\tex   tex-src/texinfo.tex     /^\\def\\tex{\\begingroup$/
-\texinfoversion        tex-src/texinfo.tex     /^\\def\\texinfoversion{2.73}$/
-\textfonts     tex-src/texinfo.tex     /^\\def\\textfonts{%$/
-\thearg        tex-src/texinfo.tex     /^  \\def\\thearg{#1}%$/
-\thearg        tex-src/texinfo.tex     /^  \\ifx\\thearg\\empty \\def\\thearg{1}\\fi$/
-\thischapter   tex-src/texinfo.tex     /^\\def\\thischapter{} \\def\\thissection{}$/
-\thischapter   tex-src/texinfo.tex     /^   \\unnumbchapmacro{#1}\\def\\thischapter{}%$/
-\thischaptername       tex-src/texinfo.tex     /^\\def\\thischaptername{No Chapter Title}$/
-\thisfile      tex-src/texinfo.tex     /^\\def\\thisfile{}$/
-\thistitle     tex-src/texinfo.tex     /^\\def\\thistitle{No Title}$/
-\tie   tex-src/texinfo.tex     /^\\def\\tie{\\penalty 10000\\ }     % Save plain tex de/
-\tindex        tex-src/texinfo.tex     /^\\def\\tindex {\\tpindex}$/
-\title tex-src/texinfo.tex     /^   \\def\\title{\\parsearg\\titlezzz}%$/
-\titlefont     tex-src/texinfo.tex     /^\\def\\titlefont#1{{\\titlerm #1}}$/
-\titlepage     tex-src/texinfo.tex     /^\\def\\titlepage{\\begingroup \\parindent=0pt \\textfon/
-\titlezzz      tex-src/texinfo.tex     /^   \\def\\titlezzz##1{\\leftline{\\titlefont{##1}}$/
-\today tex-src/texinfo.tex     /^\\def\\today{\\number\\day\\space$/
-\top   tex-src/texinfo.tex     /^\\outer\\def\\top{\\parsearg\\unnumberedzzz}$/
-\tt    tex-src/texinfo.tex     /^\\def\\tt{\\realbackslash tt}%$/
-\tt    tex-src/texinfo.tex     /^\\def\\tt{\\realbackslash tt}$/
-\turnoffactive tex-src/texinfo.tex     /^\\def\\turnoffactive{\\let"=\\normaldoublequote$/
-\unnchfopen    tex-src/texinfo.tex     /^\\def\\unnchfopen #1{%$/
-\unnchfplain   tex-src/texinfo.tex     /^\\def\\unnchfplain #1{%$/
-\unnumbchapentry       tex-src/texinfo.tex     /^\\def\\unnumbchapentry#1#2{\\dochapentry{#1}{#2}}$/
-\unnumbered    tex-src/texinfo.tex     /^\\outer\\def\\unnumbered{\\parsearg\\unnumberedzzz}$/
-\unnumberedsec tex-src/texinfo.tex     /^\\outer\\def\\unnumberedsec{\\parsearg\\unnumberedseczz/
-\unnumberedseczzz      tex-src/texinfo.tex     /^\\def\\unnumberedseczzz #1{\\seccheck{unnumberedsec}%/
-\unnumberedsubsec      tex-src/texinfo.tex     /^\\outer\\def\\unnumberedsubsec{\\parsearg\\unnumberedsu/
-\unnumberedsubseczzz   tex-src/texinfo.tex     /^\\def\\unnumberedsubseczzz #1{\\seccheck{unnumberedsu/
-\unnumberedsubsubsec   tex-src/texinfo.tex     /^\\outer\\def\\unnumberedsubsubsec{\\parsearg\\unnumbere/
-\unnumberedsubsubseczzz        tex-src/texinfo.tex     /^\\def\\unnumberedsubsubseczzz #1{\\seccheck{unnumbere/
-\unnumberedzzz tex-src/texinfo.tex     /^\\def\\unnumberedzzz #1{\\seccheck{unnumbered}%$/
-\unnumbnoderef tex-src/texinfo.tex     /^\\def\\unnumbnoderef{\\ifx\\lastnode\\relax\\else$/
-\unnumbsecentry        tex-src/texinfo.tex     /^      \\def\\unnumbsecentry ##1##2{}$/
-\unnumbsecentry        tex-src/texinfo.tex     /^\\def\\unnumbsecentry#1#2{\\dosecentry{#1}{#2}}$/
-\unnumbsetref  tex-src/texinfo.tex     /^\\def\\unnumbsetref#1{%$/
-\unnumbsubsecentry     tex-src/texinfo.tex     /^      \\def\\unnumbsubsecentry ##1##2{}$/
-\unnumbsubsecentry     tex-src/texinfo.tex     /^\\def\\unnumbsubsecentry#1#2{\\dosubsecentry{#1}{#2}}/
-\unnumbsubsubsecentry  tex-src/texinfo.tex     /^      \\def\\unnumbsubsubsecentry ##1##2{}$/
-\unnumbsubsubsecentry  tex-src/texinfo.tex     /^\\def\\unnumbsubsubsecentry#1#2{\\dosubsubsecentry{#1/
-\uppercaseenumerate    tex-src/texinfo.tex     /^\\def\\uppercaseenumerate{%$/
-\var   tex-src/texinfo.tex     /^\\def\\var##1{\\realbackslash var {##1}}%$/
-\var   tex-src/texinfo.tex     /^\\def\\var##1{\\realbackslash var {##1}}$/
-\vindex        tex-src/texinfo.tex     /^\\def\\vindex {\\vrindex}$/
-\vritemindex   tex-src/texinfo.tex     /^\\def\\vritemindex #1{\\doind {vr}{\\code{#1}}}%$/
-\vtable        tex-src/texinfo.tex     /^\\def\\vtable{\\begingroup\\inENV\\obeylines\\obeyspaces/
-\w     tex-src/texinfo.tex     /^\\def\\w#1{\\leavevmode\\hbox{#1}}$/
-\w     tex-src/texinfo.tex     /^\\def\\w{\\realbackslash w }%$/
-\w     tex-src/texinfo.tex     /^\\def\\w{\\realbackslash w}$/
-\xitem tex-src/texinfo.tex     /^\\def\\xitem{\\errmessage{@xitem while not in a table/
-\xitemx        tex-src/texinfo.tex     /^\\def\\xitemx{\\errmessage{@xitemx while not in a tab/
-\xitemzzz      tex-src/texinfo.tex     /^\\def\\xitemzzz #1{\\dosubind {kw}{\\code{#1}}{for {\\b/
-\xkey  tex-src/texinfo.tex     /^\\def\\xkey{\\key}$/
-\xrdef tex-src/texinfo.tex     /^\\def\\xrdef #1#2{$/
-\xref  tex-src/texinfo.tex     /^\\def\\xref#1{See \\xrefX[#1,,,,,,,]}$/
-\xrefX[        tex-src/texinfo.tex     /^\\def\\xrefX[#1,#2,#3,#4,#5,#6]{\\begingroup%$/
-^      tex-src/texinfo.tex     /^\\def^{{\\tt \\hat}}$/
-_      tex-src/texinfo.tex     /^\\def_{\\ifusingtt\\normalunderscore\\_}$/
-_GETOPT_H      c-src/getopt.h  19
-_GNU_SOURCE    c-src/etags.c   94
-_REGEX_H       c-src/emacs/src/regex.h 21
-_RE_SYNTAX_POSIX_COMMON        c-src/emacs/src/regex.h 221
-_Restrict_     c-src/emacs/src/regex.h 540
-_Restrict_     c-src/emacs/src/regex.h 542
-_Restrict_     c-src/emacs/src/regex.h 544
-_Restrict_arr_ c-src/emacs/src/regex.h 555
-_Restrict_arr_ c-src/emacs/src/regex.h 557
-_UCHAR_T       c-src/emacs/src/lisp.h  2423
-__COLORS       cp-src/screen.hpp       9
-__default_morecore     c-src/emacs/src/gmalloc.c       /^__default_morecore (ptrdiff_t increment)$/
-__init__       pyt-src/server.py       /^    def __init__(self):$/
-__init__       pyt-src/server.py       /^    def __init__(self):$/
-__init__       pyt-src/server.py       /^    def __init__(self):$/
-__init__       pyt-src/server.py       /^    def __init__(self, Master, text, textvar, widt/
-__init__       pyt-src/server.py       /^    def __init__(self, newlegend, list, editor, ma/
-__init__       pyt-src/server.py       /^    def __init__(self, host, sitelist, master=None/
-__init__       pyt-src/server.py       /^    def __init__(self, user, userlist, master=None/
-__init__       pyt-src/server.py       /^    def __init__(self, master=None):$/
-__ip   c.c     159
-__libc_atexit  c-src/exit.c    30
-__libc_atexit  c-src/exit.strange_suffix       30
-__malloc_extra_blocks  c-src/emacs/src/gmalloc.c       381
-__malloc_initialize    c-src/emacs/src/gmalloc.c       /^__malloc_initialize (void)$/
-__malloc_initialized   c-src/emacs/src/gmalloc.c       379
-__repr__       pyt-src/server.py       /^    def __repr__(self):$/
-__repr__       pyt-src/server.py       /^    def __repr__(self):$/
-__repr__       pyt-src/server.py       /^    def __repr__(self):$/
-__sbrk c-src/emacs/src/gmalloc.c       1513
-__str__        pyt-src/server.py       /^    def __str__(self):$/
-__str__        pyt-src/server.py       /^    def __str__(self):$/
-__str__        pyt-src/server.py       /^    def __str__(self):$/
-__up   c.c     160
-_aligned_blocks        c-src/emacs/src/gmalloc.c       1004
-_aligned_blocks_mutex  c-src/emacs/src/gmalloc.c       518
-_bar?  ruby-src/test1.ru       /^    def self._bar?(abc)$/
-_bytes_free    c-src/emacs/src/gmalloc.c       376
-_bytes_used    c-src/emacs/src/gmalloc.c       374
-_chunks_free   c-src/emacs/src/gmalloc.c       375
-_chunks_used   c-src/emacs/src/gmalloc.c       373
-_fraghead      c-src/emacs/src/gmalloc.c       370
-_free  c-src/emacs/src/gmalloc.c       /^_free (void *ptr)$/
-_free_internal c-src/emacs/src/gmalloc.c       /^_free_internal (void *ptr)$/
-_free_internal_nolock  c-src/emacs/src/gmalloc.c       /^_free_internal_nolock (void *ptr)$/
-_heapbase      c-src/emacs/src/gmalloc.c       355
-_heapindex     c-src/emacs/src/gmalloc.c       364
-_heapinfo      c-src/emacs/src/gmalloc.c       358
-_heaplimit     c-src/emacs/src/gmalloc.c       367
-_malloc        c-src/emacs/src/gmalloc.c       /^_malloc (size_t size)$/
-_malloc_internal       c-src/emacs/src/gmalloc.c       /^_malloc_internal (size_t size)$/
-_malloc_internal_nolock        c-src/emacs/src/gmalloc.c       /^_malloc_internal_nolock (size_t size)$/
-_malloc_mutex  c-src/emacs/src/gmalloc.c       517
-_malloc_thread_enabled_p       c-src/emacs/src/gmalloc.c       519
-_realloc       c-src/emacs/src/gmalloc.c       /^_realloc (void *ptr, size_t size)$/
-_realloc_internal      c-src/emacs/src/gmalloc.c       /^_realloc_internal (void *ptr, size_t size)$/
-_realloc_internal_nolock       c-src/emacs/src/gmalloc.c       /^_realloc_internal_nolock (void *ptr, size_t size)$/
-`      ruby-src/test.rb        /^        def `(command)$/
-a      c.c     152
-a      c.c     180
-a      c.c     /^a()$/
-a      c.c     /^a ()$/
-a      c-src/h.h       40
-a      c-src/h.h       103
-a      cp-src/c.C      132
-a      ruby-src/test1.ru       /^ def a()$/
-a-forth-constant!      forth-src/test-forth.fth        /^99 constant a-forth-constant!$/
-a-forth-value? forth-src/test-forth.fth        /^55 value a-forth-value?$/
-a-forth-word   forth-src/test-forth.fth        /^: a-forth-word ( a b c -- a*b+c )  + * ;$/
-a-forth-word   forth-src/test-forth.fth        /^: a-forth-word ( a b c -- )$/
-a0     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a0) (void);$/
-a1     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a1) (Lisp_Object);$/
-a2     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a2) (Lisp_Object, Lisp_Object)/
-a3     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a3) (Lisp_Object, Lisp_Object,/
-a4     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a4) (Lisp_Object, Lisp_Object,/
-a5     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a5) (Lisp_Object, Lisp_Object,/
-a6     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a6) (Lisp_Object, Lisp_Object,/
-a7     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a7) (Lisp_Object, Lisp_Object,/
-a8     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a8) (Lisp_Object, Lisp_Object,/
-aMANY  c-src/emacs/src/lisp.h  /^      Lisp_Object (*aMANY) (ptrdiff_t, Lisp_Object/
-aUNEVALLED     c-src/emacs/src/lisp.h  /^      Lisp_Object (*aUNEVALLED) (Lisp_Object args)/
-aa     c.c     269
-aa     c.c     279
-aaa    c.c     249
-aaa    c.c     269
-aaaaaa c-src/h.h       111
-abbrev-expansion       c-src/abbrev.c  /^DEFUN ("abbrev-expansion", Fabbrev_expansion, Sabb/
-abbrev-symbol  c-src/abbrev.c  /^DEFUN ("abbrev-symbol", Fabbrev_symbol, Sabbrev_sy/
-abbrev_all_caps        c-src/abbrev.c  58
-abbrevs_changed        c-src/abbrev.c  56
-abc    c-src/h.h       33
-abc    c-src/h.h       37
-abort-recursive-edit   c-src/emacs/src/keyboard.c      /^DEFUN ("abort-recursive-edit", Fabort_recursive_ed/
-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)$/
-abt    cp-src/c.C      55
-acc_pred_info  merc-src/accumulator.m  /^:- pred acc_pred_info(list(mer_type)::in, list(pro/
-acc_proc_info  merc-src/accumulator.m  /^:- pred acc_proc_info(list(prog_var)::in, prog_var/
-acc_unification        merc-src/accumulator.m  /^:- pred acc_unification(pair(prog_var)::in, hlds_g/
-acc_var_subst_init     merc-src/accumulator.m  /^:- pred acc_var_subst_init(list(prog_var)::in,$/
-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/
-accu_assoc     merc-src/accumulator.m  /^:- pred accu_assoc(module_info::in, vartypes::in, /
-accu_assoc     merc-src/accumulator.m  /^:- type accu_assoc$/
-accu_base      merc-src/accumulator.m  /^:- type accu_base$/
-accu_before    merc-src/accumulator.m  /^:- pred accu_before(module_info::in, vartypes::in,/
-accu_case      merc-src/accumulator.m  /^:- type accu_case$/
-accu_construct merc-src/accumulator.m  /^:- pred accu_construct(module_info::in, vartypes::/
-accu_construct_assoc   merc-src/accumulator.m  /^:- pred accu_construct_assoc(module_info::in, vart/
-accu_create_goal       merc-src/accumulator.m  /^:- pred accu_create_goal(accu_goal_id::in, list(pr/
-accu_divide_base_case  merc-src/accumulator.m  /^:- pred accu_divide_base_case(module_info::in, var/
-accu_goal_id   merc-src/accumulator.m  /^:- type accu_goal_id$/
-accu_goal_list merc-src/accumulator.m  /^:- func accu_goal_list(list(accu_goal_id), accu_go/
-accu_goal_store        merc-src/accumulator.m  /^:- type accu_goal_store == goal_store(accu_goal_id/
-accu_has_heuristic     merc-src/accumulator.m  /^:- pred accu_has_heuristic(module_name::in, string/
-accu_heuristic merc-src/accumulator.m  /^:- pred accu_heuristic(module_name::in, string::in/
-accu_is_associative    merc-src/accumulator.m  /^:- pred accu_is_associative(module_info::in, pred_/
-accu_is_update merc-src/accumulator.m  /^:- pred accu_is_update(module_info::in, pred_id::i/
-accu_process_assoc_set merc-src/accumulator.m  /^:- pred accu_process_assoc_set(module_info::in, ac/
-accu_process_update_set        merc-src/accumulator.m  /^:- pred accu_process_update_set(module_info::in, a/
-accu_related   merc-src/accumulator.m  /^:- pred accu_related(module_info::in, vartypes::in/
-accu_rename    merc-src/accumulator.m  /^:- func accu_rename(list(accu_goal_id), accu_subst/
-accu_sets      merc-src/accumulator.m  /^:- type accu_sets$/
-accu_sets_init merc-src/accumulator.m  /^:- pred accu_sets_init(accu_sets::out) is det.$/
-accu_stage1    merc-src/accumulator.m  /^:- pred accu_stage1(module_info::in, vartypes::in,/
-accu_stage1_2  merc-src/accumulator.m  /^:- pred accu_stage1_2(module_info::in, vartypes::i/
-accu_stage2    merc-src/accumulator.m  /^:- pred accu_stage2(module_info::in, proc_info::in/
-accu_stage3    merc-src/accumulator.m  /^:- pred accu_stage3(accu_goal_id::in, list(prog_va/
-accu_standardize       merc-src/accumulator.m  /^:- pred accu_standardize(hlds_goal::in, hlds_goal:/
-accu_store     merc-src/accumulator.m  /^:- pred accu_store(accu_case::in, hlds_goal::in,$/
-accu_subst     merc-src/accumulator.m  /^:- type accu_subst == map(prog_var, prog_var).$/
-accu_substs    merc-src/accumulator.m  /^:- type accu_substs$/
-accu_substs_init       merc-src/accumulator.m  /^:- pred accu_substs_init(list(prog_var)::in, prog_/
-accu_top_level merc-src/accumulator.m  /^:- pred accu_top_level(top_level::in, hlds_goal::i/
-accu_transform_proc    merc-src/accumulator.m  /^:- pred accu_transform_proc(pred_proc_id::in, pred/
-accu_update    merc-src/accumulator.m  /^:- pred accu_update(module_info::in, vartypes::in,/
-accu_warning   merc-src/accumulator.m  /^:- type accu_warning$/
-act    prol-src/natded.prolog  /^act(OutForm,OutSyn,Ws):-$/
-action prol-src/natded.prolog  /^action(KeyVals):-$/
-active_maps    c-src/emacs/src/keyboard.c      /^active_maps (Lisp_Object first_event)$/
-actout prol-src/natded.prolog  /^actout('Text',Trees):-$/
-addArchs       objc-src/PackInsp.m     /^-(void)addArchs:(const char *)string$/
-addPOReader    php-src/lce_functions.php       /^      function addPOReader($d_name, &$por)$/
-add_active     prol-src/natded.prolog  /^add_active([],Cat,Goal):-$/
-add_command_key        c-src/emacs/src/keyboard.c      /^add_command_key (Lisp_Object key)$/
-add_edge       prol-src/natded.prolog  /^add_edge(Left,Right,Cat):-$/
-add_node       c-src/etags.c   /^add_node (node *np, node **cur_node_p)$/
-add_regex      c-src/etags.c   /^add_regex (char *regexp_pattern, language *lang)$/
-add_user_signal        c-src/emacs/src/keyboard.c      /^add_user_signal (int sig, const char *name)$/
-addnoise       html-src/algrthms.html  /^Adding Noise to the$/
-address        y-src/cccp.y    113
-adjust_point_for_property      c-src/emacs/src/keyboard.c      /^adjust_point_for_property (ptrdiff_t last_pt, bool/
-agent  cp-src/clheir.hpp       75
-algorithms     html-src/algrthms.html  /^Description$/
-alias  c-src/emacs/src/lisp.h  688
-align  c-src/emacs/src/gmalloc.c       /^align (size_t size)$/
-alignas        c-src/emacs/src/lisp.h  /^# define alignas(alignment) \/* empty *\/$/
-aligned        c-src/emacs/src/gmalloc.c       199
-aligned_alloc  c-src/emacs/src/gmalloc.c       71
-aligned_alloc  c-src/emacs/src/gmalloc.c       /^aligned_alloc (size_t alignment, size_t size)$/
-aligned_alloc  c-src/emacs/src/gmalloc.c       1718
-alignlist      c-src/emacs/src/gmalloc.c       196
-alive  cp-src/conway.hpp       7
-all_kboards    c-src/emacs/src/keyboard.c      86
-allocate_kboard        c-src/emacs/src/keyboard.c      /^allocate_kboard (Lisp_Object type)$/
-allocated      c-src/emacs/src/regex.h 344
-an_extern_linkage      c-src/h.h       44
-an_extern_linkage      c-src/h.h       56
-an_extern_linkage_ptr  c-src/h.h       43
-analyze_regex  c-src/etags.c   /^analyze_regex (char *regex_arg)$/
-andkeyvalseq   prol-src/natded.prolog  /^andkeyvalseq(KeyVals) --> ['&'], keyvalseq(KeyVals/
-animals        c-src/h.h       81
-animals        cp-src/c.C      126
-animals        cp-src/c.C      130
-any_kboard_state       c-src/emacs/src/keyboard.c      /^any_kboard_state ()$/
-appDidInit     objcpp-src/SimpleCalc.M /^- appDidInit:sender$/
-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([],[]).$/
-append_string  pas-src/common.pas      /^procedure append_string;(*($/
-append_tool_bar_item   c-src/emacs/src/keyboard.c      /^append_tool_bar_item (void)$/
-appendix       perl-src/htlmify-cystic 24
-appendix_name  perl-src/htlmify-cystic 13
-appendix_toc   perl-src/htlmify-cystic 16
-apply_modifiers        c-src/emacs/src/keyboard.c      /^apply_modifiers (int modifiers, Lisp_Object base)$/
-apply_modifiers_uncached       c-src/emacs/src/keyboard.c      /^apply_modifiers_uncached (int modifiers, char *bas/
-aref_addr      c-src/emacs/src/lisp.h  /^aref_addr (Lisp_Object array, ptrdiff_t idx)$/
-arg    c-src/emacs/src/lisp.h  2961
-arg    c-src/emacs/src/lisp.h  2966
-arg    c-src/emacs/src/lisp.h  2971
-arg    c-src/h.h       13
-arg_type       c-src/etags.c   250
-arglist        y-src/cccp.y    41
-argno  y-src/cccp.y    45
-args   c-src/emacs/src/lisp.h  2986
-args   c-src/h.h       30
-argsindent     tex-src/texinfo.tex     /^\\newskip\\defargsindent \\defargsindent=50pt$/
-argsindent     tex-src/texinfo.tex     /^\\dimen1=\\hsize \\advance \\dimen1 by -\\defargsindent/
-argsindent     tex-src/texinfo.tex     /^\\parshape 2 0in \\dimen0 \\defargsindent \\dimen1    /
-argument       c-src/etags.c   253
-argvals        prol-src/natded.prolog  /^argvals([]) --> [].$/
-array  c.c     190
-ascii  c-src/emacs/src/lisp.h  1598
-asort  cp-src/functions.cpp    /^void asort(int *a, int num){$/
-assemby-code-word      forth-src/test-forth.fth        /^code assemby-code-word ( dunno what it does )$/
-assert c-src/etags.c   135
-assert c-src/etags.c   /^# define assert(x) ((void) 0)$/
-assign_neighbor        cp-src/clheir.hpp       /^    void assign_neighbor(int direction, location */
-assoc_list     merc-src/accumulator.m  /^:- import_module assoc_list.$/
-associativity_assertion        merc-src/accumulator.m  /^:- pred associativity_assertion(module_info::in, l/
-at_end c-src/etags.c   249
-at_filename    c-src/etags.c   247
-at_language    c-src/etags.c   245
-at_least_one_member    prol-src/natded.prolog  /^at_least_one_member(X,[X|_]):-!.$/
-at_regexp      c-src/etags.c   246
-at_stdin       c-src/etags.c   248
-atom   prol-src/natded.prolog  /^atom(X) --> [X], {atomic(X)}.$/
-atomval        prol-src/natded.prolog  /^atomval(X) --> atom(X).$/
-aultparindent  tex-src/texinfo.tex     /^\\newdimen\\defaultparindent \\defaultparindent = 15p/
-aultparindent  tex-src/texinfo.tex     /^\\parindent = \\defaultparindent$/
-aultparindent\hang\textindent  tex-src/texinfo.tex     /^\\footstrut\\parindent=\\defaultparindent\\hang\\textin/
-auto_help      c-src/etags.c   699
-b      c.c     180
-b      c.c     259
-b      c.c     260
-b      c.c     262
-b      c.c     /^b ()$/
-b      c-src/h.h       41
-b      c-src/h.h       103
-b      c-src/h.h       104
-b      cp-src/c.C      132
-b      ruby-src/test1.ru       /^ def b()$/
-backslash=0    tex-src/texinfo.tex     /^\\let\\indexbackslash=0  %overridden during \\printin/
-bar    c-src/c.c       /^void bar() {while(0) {}}$/
-bar    c.c     143
-bar    c-src/h.h       19
-bar    cp-src/x.cc     /^XX::bar()$/
-bar1   ruby-src/test1.ru       /^    attr_reader(:foo1, :bar1, # comment$/
-bar=   ruby-src/test1.ru       /^    attr_writer :bar,$/
-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;  }$/
-base   cp-src/Range.h  /^  double base (void) const { return rng_base;  }$/
-base_case_ids  merc-src/accumulator.m  /^:- func base_case_ids(accu_goal_store) = list(accu/
-base_case_ids_set      merc-src/accumulator.m  /^:- func base_case_ids_set(accu_goal_store) = set(a/
-baz=   ruby-src/test1.ru       /^                :baz,$/
-bb     c.c     275
-bbb    c.c     251
-bbbbbb c-src/h.h       113
-been_warned    c-src/etags.c   222
-before_command_echo_length     c-src/emacs/src/keyboard.c      130
-before_command_key_count       c-src/emacs/src/keyboard.c      129
-begtoken       c-src/etags.c   /^#define       begtoken(c)     (_btk[CHAR (c)]) \/* c can star/
-behaviour_info erl-src/gs_dialog.erl   /^behaviour_info(callbacks) ->$/
-bf=cmbx10      tex-src/texinfo.tex     /^\\font\\defbf=cmbx10 scaled \\magstep1 %was 1314$/
-bind   pyt-src/server.py       /^    def bind(self, key, action):$/
-bind_polling_period    c-src/emacs/src/keyboard.c      /^bind_polling_period (int n)$/
-bits_word      c-src/emacs/src/lisp.h  123
-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)$/
-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$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\dimen2 by -\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\dimen3 by -\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\leftskip by -\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\exdentamount=\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\leftskip by \\defbodyindent \\advance \\righ/
-bodyindent     tex-src/texinfo.tex     /^\\exdentamount=\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\leftskip by \\defbodyindent \\advance \\righ/
-bodyindent     tex-src/texinfo.tex     /^\\exdentamount=\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\leftskip by \\defbodyindent \\advance \\righ/
-bodyindent     tex-src/texinfo.tex     /^\\exdentamount=\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\leftskip by \\defbodyindent \\advance \\righ/
-bodyindent     tex-src/texinfo.tex     /^\\exdentamount=\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\leftskip by \\defbodyindent \\advance \\righ/
-bodyindent     tex-src/texinfo.tex     /^\\exdentamount=\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\leftskip by \\defbodyindent \\advance \\righ/
-bodyindent     tex-src/texinfo.tex     /^\\exdentamount=\\defbodyindent$/
-bool   c.c     222
-bool   merc-src/accumulator.m  /^:- import_module bool.$/
-bool_header_size       c-src/emacs/src/lisp.h  1472
-bool_vector_bitref     c-src/emacs/src/lisp.h  /^bool_vector_bitref (Lisp_Object a, EMACS_INT i)$/
-bool_vector_bytes      c-src/emacs/src/lisp.h  /^bool_vector_bytes (EMACS_INT size)$/
-bool_vector_data       c-src/emacs/src/lisp.h  /^bool_vector_data (Lisp_Object a)$/
-bool_vector_ref        c-src/emacs/src/lisp.h  /^bool_vector_ref (Lisp_Object a, EMACS_INT i)$/
-bool_vector_set        c-src/emacs/src/lisp.h  /^bool_vector_set (Lisp_Object a, EMACS_INT i, bool /
-bool_vector_size       c-src/emacs/src/lisp.h  /^bool_vector_size (Lisp_Object a)$/
-bool_vector_uchar_data c-src/emacs/src/lisp.h  /^bool_vector_uchar_data (Lisp_Object a)$/
-bool_vector_words      c-src/emacs/src/lisp.h  /^bool_vector_words (EMACS_INT size)$/
-boolvar        c-src/emacs/src/lisp.h  2287
-bracelev       c-src/etags.c   2520
-bsp_DevId      c-src/h.h       25
-bt     c-src/emacs/src/lisp.h  2988
-btowc  c-src/emacs/src/regex.h /^# define btowc(c) c$/
-buffer c-src/etags.c   238
-buffer c-src/emacs/src/regex.h 341
-buffer c-src/emacs/src/lisp.h  2000
-buffer c-src/h.h       119
-build  prol-src/natded.prolog  /^build([],Left,Left).$/
-build_pure_c_string    c-src/emacs/src/lisp.h  /^build_pure_c_string (const char *str)$/
-build_string   c-src/emacs/src/lisp.h  /^build_string (const char *str)$/
-buildact       prol-src/natded.prolog  /^buildact([SynIn],Right,RightPlus1):-$/
-builtin_lisp_symbol    c-src/emacs/src/lisp.h  /^builtin_lisp_symbol (int index)$/
-burst  c-src/h.h       28
-busy   c-src/emacs/src/gmalloc.c       158
-button_down_location   c-src/emacs/src/keyboard.c      5210
-button_down_time       c-src/emacs/src/keyboard.c      5218
-byte_stack     c-src/emacs/src/lisp.h  3049
-bytecode_dest  c-src/emacs/src/lisp.h  3037
-bytecode_top   c-src/emacs/src/lisp.h  3036
-bytepos        c-src/emacs/src/lisp.h  2016
-bytes_free     c-src/emacs/src/gmalloc.c       314
-bytes_total    c-src/emacs/src/gmalloc.c       310
-bytes_used     c-src/emacs/src/gmalloc.c       312
-c      c.c     180
-c      c-src/h.h       /^#define c() d$/
-c      c-src/h.h       106
-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
-calculate_goal_info    merc-src/accumulator.m  /^:- pred calculate_goal_info(hlds_goal_expr::in, hl/
-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)$/
-calloc c-src/emacs/src/gmalloc.c       1717
-can_be_null    c-src/emacs/src/regex.h 370
-cancel_echoing c-src/emacs/src/keyboard.c      /^cancel_echoing (void)$/
-canonicalize_filename  c-src/etags.c   /^canonicalize_filename (register char *fn)$/
-case_Lisp_Int  c-src/emacs/src/lisp.h  438
-cat    c-src/h.h       81
-cat    cp-src/c.C      126
-cat    cp-src/c.C      130
-cat    prol-src/natded.prolog  /^cat(A, Alpha@Beta, Ass3, Qs3, tree(fe,A:Alpha@Beta/
-cat_atoms      prol-src/natded.prolog  /^cat_atoms(A1,A2,A3):-$/
-cccccccccc     c-src/h.h       115
-cdr    c-src/emacs/src/lisp.h  1159
-cell   y-src/parse.y   279
-cgrep  html-src/software.html  /^cgrep$/
-chain  c-src/emacs/src/lisp.h  1162
-chain  c-src/emacs/src/lisp.h  2206
-chain  c-src/emacs/src/lisp.h  2396
-chain_subst    merc-src/accumulator.m  /^:- func chain_subst(accu_subst, accu_subst) = accu/
-chain_subst_2  merc-src/accumulator.m  /^:- pred chain_subst_2(list(A)::in, map(A, B)::in, /
-char_bits      c-src/emacs/src/lisp.h  2443
-char_table_specials    c-src/emacs/src/lisp.h  1692
-charpos        c-src/emacs/src/lisp.h  2011
-charset_unibyte        c-src/emacs/src/regex.h 410
-chartonmstr    pas-src/common.pas      /^function chartonmstr; (*($/
-checkQuotation php-src/lce_functions.php       /^      function checkQuotation($str)$/
-check_cons_list        c-src/emacs/src/lisp.h  /^#  define check_cons_list() lisp_h_check_cons_list/
-checker        make-src/Makefile       /^checker:$/
-checkhdr       c-src/emacs/src/gmalloc.c       /^checkhdr (const struct hdr *hdr)$/
-checkiso       html-src/software.html  /^checkiso$/
-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
-class_method   ruby-src/test.rb        /^        def ClassExample.class_method$/
-classifyLine   php-src/lce_functions.php       /^      function classifyLine($line)$/
-clean  make-src/Makefile       /^clean:$/
-clear  cp-src/conway.hpp       /^    void clear(void) { alive = 0; }$/
-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/
-clearAllKey    objcpp-src/SimpleCalc.M /^- clearAllKey:sender$/
-clearKey       objcpp-src/SimpleCalc.M /^- clearKey:sender$/
-clear_event    c-src/emacs/src/keyboard.c      /^clear_event (struct input_event *event)$/
-clear_input_pending    c-src/emacs/src/keyboard.c      /^clear_input_pending (void)$/
-clear_neighbors        cp-src/clheir.cpp       /^void discrete_location::clear_neighbors(void)$/
-clear_screen   cp-src/screen.cpp       /^void clear_screen(void)$/
-clear_waiting_for_input        c-src/emacs/src/keyboard.c      /^clear_waiting_for_input (void)$/
-cmd_error      c-src/emacs/src/keyboard.c      /^cmd_error (Lisp_Object data)$/
-cmd_error_internal     c-src/emacs/src/keyboard.c      /^cmd_error_internal (Lisp_Object data, const char */
-cmpfn  c-src/emacs/src/lisp.h  /^  bool (*cmpfn) (struct hash_table_test *t, Lisp_O/
-cmt    prol-src/natded.prolog  /^cmt:-$/
-cname  c-src/etags.c   2519
-cno    c-src/etags.c   224
-colori cp-src/c.C      40
-commaargvals   prol-src/natded.prolog  /^commaargvals(Args) -->$/
-command        c-src/etags.c   187
-command-error-default-function c-src/emacs/src/keyboard.c      /^DEFUN ("command-error-default-function", Fcommand_/
-command_loop   c-src/emacs/src/keyboard.c      /^command_loop (void)$/
-command_loop_1 c-src/emacs/src/keyboard.c      /^command_loop_1 (void)$/
-command_loop_2 c-src/emacs/src/keyboard.c      /^command_loop_2 (Lisp_Object ignore)$/
-command_loop_level     c-src/emacs/src/keyboard.c      195
-comment        php-src/lce_functions.php       /^      function comment($line, $class)$/
-commutativity_assertion        merc-src/accumulator.m  /^:- pred commutativity_assertion(module_info::in,li/
-compile_empty  prol-src/natded.prolog  /^compile_empty:-$/
-compile_lex    prol-src/natded.prolog  /^compile_lex(File):-$/
-complete       prol-src/natded.prolog  /^complete(Cat):-$/
-complete-tag   el-src/emacs/lisp/progmodes/etags.el    /^(defun complete-tag ()$/
-compressor     c-src/etags.c   188
-compressors    c-src/etags.c   457
-compute_next_state     cp-src/conway.hpp       /^    void compute_next_state(void)$/
-compute_next_state     cp-src/clheir.hpp       /^    virtual void compute_next_state(void) { }$/
-conalgorithm   html-src/algrthms.html  /^Convolutionally$/
-concat c-src/etags.c   /^concat (const char *s1, const char *s2, const char/
-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/emacs/src/lisp.h  668
-constant       c-src/h.h       29
-constant       y-src/cccp.y    112
-constant_args  c-src/h.h       27
-constype       c-src/emacs/src/lisp.h  3739
-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
-count  c-src/emacs/src/lisp.h  1863
-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)$/
-counter        cp-src/c.C      33
-counter        cp-src/c.C      36
-cow    cp-src/c.C      127
-cow    cp-src/c.C      131
-cplpl  c-src/etags.c   2935
-create-bar     forth-src/test-forth.fth        /^: create-bar foo ;$/
-createPOEntries        php-src/lce_functions.php       /^      function createPOEntries()$/
-createWidgets  pyt-src/server.py       /^    def createWidgets(self, host):$/
-createWidgets  pyt-src/server.py       /^    def createWidgets(self):$/
-create_acc_call        merc-src/accumulator.m  /^:- func create_acc_call(hlds_goal::in(goal_plain_c/
-create_acc_goal        merc-src/accumulator.m  /^:- pred create_acc_goal(hlds_goal::in, accu_substs/
-create_new_base_goals  merc-src/accumulator.m  /^:- func create_new_base_goals(set(accu_goal_id), a/
-create_new_orig_recursive_goals        merc-src/accumulator.m  /^:- func create_new_orig_recursive_goals(set(accu_g/
-create_new_recursive_goals     merc-src/accumulator.m  /^:- func create_new_recursive_goals(set(accu_goal_i/
-create_new_var merc-src/accumulator.m  /^:- pred create_new_var(prog_var::in, string::in, p/
-create_orig_goal       merc-src/accumulator.m  /^:- pred create_orig_goal(hlds_goal::in, accu_subst/
-cscInitTime    cp-src/c.C      7
-cscSegmentationTime    cp-src/c.C      8
-cstack c-src/etags.c   2523
-ctags  make-src/Makefile       /^ctags: etags.c ${OBJS}$/
-curlb  c-src/etags.c   2929
-curlinepos     c-src/etags.c   2931
-current-idle-time      c-src/emacs/src/keyboard.c      /^DEFUN ("current-idle-time", Fcurrent_idle_time, Sc/
-current-input-mode     c-src/emacs/src/keyboard.c      /^DEFUN ("current-input-mode", Fcurrent_input_mode, /
-current_kboard c-src/emacs/src/keyboard.c      85
-current_lb_is_new      c-src/etags.c   2926
-curry-test     scm-src/test.scm        /^(define (((((curry-test a) b) c) d) e)$/
-cursor_position        cp-src/screen.cpp       /^void cursor_position(void)$/
-cursor_x       cp-src/screen.cpp       15
-cursor_y       cp-src/screen.cpp       15
-d      c.c     180
-d      c-src/emacs/src/lisp.h  4673
-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
-ddefineseen    c-src/etags.c   2462
-debian-bug     html-src/software.html  /^debian-bug.el$/
-debug_on_exit  c-src/emacs/src/lisp.h  2984
-decimalKey     objcpp-src/SimpleCalc.M /^- decimalKey:sender$/
-declared_special       c-src/emacs/src/lisp.h  676
-decode_timer   c-src/emacs/src/keyboard.c      /^decode_timer (Lisp_Object timer, struct timespec */
-def    c-src/h.h       35
-def    c-src/h.h       38
-defalt c-src/emacs/src/lisp.h  1585
-default-tags-table-function    el-src/emacs/lisp/progmodes/etags.el    /^(defvar default-tags-table-function nil$/
-default_C_entries      c-src/etags.c   /^default_C_entries (FILE *inf)$/
-default_C_help c-src/etags.c   515
-default_C_help c-src/etags.c   523
-default_C_suffixes     c-src/etags.c   512
-defcell        c-src/emacs/src/lisp.h  2351
-define-abbrev  c-src/abbrev.c  /^DEFUN ("define-abbrev", Fdefine_abbrev, Sdefine_ab/
-define-abbrev-table    c-src/abbrev.c  /^DEFUN ("define-abbrev-table", Fdefine_abbrev_table/
-define-global-abbrev   c-src/abbrev.c  /^DEFUN ("define-global-abbrev", Fdefine_global_abbr/
-define-mode-abbrev     c-src/abbrev.c  /^DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev, /
-defined_GC_CHECK_STRING_BYTES  c-src/emacs/src/lisp.h  4663
-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$/
-deleteItem     pyt-src/server.py       /^    def deleteItem(self):$/
-delete_kboard  c-src/emacs/src/keyboard.c      /^delete_kboard (KBOARD *kb)$/
-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)$/
-depth  c-src/emacs/src/lisp.h  1618
-derived_analyses       prol-src/natded.prolog  /^derived_analyses([],[]).$/
-describe_abbrev        c-src/abbrev.c  /^describe_abbrev (sym, stream)$/
-detect_input_pending   c-src/emacs/src/keyboard.c      /^detect_input_pending (void)$/
-detect_input_pending_ignore_squeezables        c-src/emacs/src/keyboard.c      /^detect_input_pending_ignore_squeezables (void)$/
-detect_input_pending_run_timers        c-src/emacs/src/keyboard.c      /^detect_input_pending_run_timers (bool do_display)$/
-dialog_loop    erl-src/gs_dialog.erl   /^dialog_loop(Module, Window, Frame, Extra, Args) ->/
-dignorerest    c-src/etags.c   2463
-discard-input  c-src/emacs/src/keyboard.c      /^DEFUN ("discard-input", Fdiscard_input, Sdiscard_i/
-discard_mouse_events   c-src/emacs/src/keyboard.c      /^discard_mouse_events (void)$/
-discrete_location      cp-src/clheir.hpp       56
-discrete_location      cp-src/clheir.hpp       /^    discrete_location(int xi, int yi, int zi):$/
-display        cp-src/conway.cpp       /^void display(void)$/
-disposetextstring      pas-src/common.pas      /^procedure disposetextstring;(*($/
-dnone  c-src/etags.c   2460
-doc    c-src/emacs/src/lisp.h  1689
-dog    c-src/h.h       81
-dog    cp-src/c.C      126
-dog    cp-src/c.C      130
-dotfill        tex-src/texinfo.tex     /^  \\null\\nobreak\\indexdotfill % Have leaders before/
-dotfill        tex-src/texinfo.tex     /^\\noindent\\hskip\\secondaryindent\\hbox{#1}\\indexdotf/
-double_click_count     c-src/emacs/src/keyboard.c      5222
-drag_n_drop_syms       c-src/emacs/src/keyboard.c      4629
-dribble        c-src/emacs/src/keyboard.c      236
-dsharpseen     c-src/etags.c   2461
-dummies        tex-src/texinfo.tex     /^{\\indexdummies % Must do this here, since \\bf, etc/
-dummies        tex-src/texinfo.tex     /^{\\indexdummies % Must do this here, since \\bf, etc/
-dummy1 cp-src/burton.cpp       /^::dummy::dummy test::dummy1(void)$/
-dummy2 cp-src/burton.cpp       /^::dummy::dummy test::dummy2(::CORBA::Long dummy)$/
-dummy3 cp-src/burton.cpp       /^::dummy::dummy test::dummy3(char* name, ::CORBA::L/
-dummydots      tex-src/texinfo.tex     /^\\let\\dots=\\indexdummydots$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\w=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\t=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\r=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\i=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\b=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\emph=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\strong=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\sc=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\tclose=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\code=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\file=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\samp=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\kbd=\\indexdummyfont$/
-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):$/
-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)                                                \\$/
-eassume        c-src/emacs/src/lisp.h  /^# define eassume(cond) assume (cond)$/
-eassume        c-src/emacs/src/lisp.h  /^# define eassume(cond)                                                \\$/
-eax    c-src/sysdep.h  31
-eax    c-src/sysdep.h  33
-eax    c-src/sysdep.h  33
-echo_add_key   c-src/emacs/src/keyboard.c      /^echo_add_key (Lisp_Object c)$/
-echo_char      c-src/emacs/src/keyboard.c      /^echo_char (Lisp_Object c)$/
-echo_dash      c-src/emacs/src/keyboard.c      /^echo_dash (void)$/
-echo_kboard    c-src/emacs/src/keyboard.c      166
-echo_keystrokes_p      c-src/emacs/src/keyboard.c      /^echo_keystrokes_p (void)$/
-echo_length    c-src/emacs/src/keyboard.c      /^echo_length (void)$/
-echo_message_buffer    c-src/emacs/src/keyboard.c      171
-echo_now       c-src/emacs/src/keyboard.c      /^echo_now (void)$/
-echo_truncate  c-src/emacs/src/keyboard.c      /^echo_truncate (ptrdiff_t nchars)$/
-echoing        c-src/emacs/src/keyboard.c      154
-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)$/
-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
-end    c-src/emacs/src/lisp.h  2039
-endtoken       c-src/etags.c   /^#define       endtoken(c)     (_etk[CHAR (c)]) \/* c ends tok/
-enter_critical_section c-src/h.h       116
-entry  perl-src/htlmify-cystic 218
-entry  perl-src/htlmify-cystic 234
-entry  perl-src/htlmify-cystic 245
-entry  perl-src/htlmify-cystic 252
-entry  perl-src/htlmify-cystic 268
-entry  perl-src/htlmify-cystic 276
-entry  perl-src/htlmify-cystic 281
-entry  perl-src/htlmify-cystic 296
-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)$/
-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  y-src/cccp.y    /^error (msg)$/
-error_signaled c-src/etags.c   264
-etags  el-src/emacs/lisp/progmodes/etags.el    /^(defgroup etags nil "Tags tables."$/
-etags  html-src/software.html  /^Etags$/
-etags  make-src/Makefile       /^etags: etags.c ${OBJS}$/
-etags--xref-find-definitions   el-src/emacs/lisp/progmodes/etags.el    /^(defun etags--xref-find-definitions (pattern &opti/
-etags--xref-limit      el-src/emacs/lisp/progmodes/etags.el    /^(defconst etags--xref-limit 1000)$/
-etags-file-of-tag      el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-file-of-tag (&optional relative) ; Do/
-etags-goto-tag-location        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-goto-tag-location (tag-info)$/
-etags-list-tags        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-list-tags (file) ; Doc string?$/
-etags-recognize-tags-table     el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-recognize-tags-table ()$/
-etags-snarf-tag        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-snarf-tag (&optional use-explicit) ; /
-etags-tags-apropos     el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-apropos (string) ; Doc string?$/
-etags-tags-apropos-additional  el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-apropos-additional (regexp)$/
-etags-tags-completion-table    el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-completion-table () ; Doc string/
-etags-tags-included-tables     el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-included-tables () ; Doc string?/
-etags-tags-table-files el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-table-files () ; Doc string?$/
-etags-verify-tags-table        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-verify-tags-table ()$/
-etags-xref-find        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-xref-find (action id)$/
-etags-xref-find-definitions-tag-order  el-src/emacs/lisp/progmodes/etags.el    /^(defvar etags-xref-find-definitions-tag-order '(ta/
-etags.1.man    make-src/Makefile       /^etags.1.man: etags.1$/
-etags_getcwd   c-src/etags.c   /^etags_getcwd (void)$/
-eval_dyn       c-src/emacs/src/keyboard.c      /^eval_dyn (Lisp_Object form)$/
-event-convert-list     c-src/emacs/src/keyboard.c      /^DEFUN ("event-convert-list", Fevent_convert_list, /
-event-symbol-parse-modifiers   c-src/emacs/src/keyboard.c      /^DEFUN ("internal-event-symbol-parse-modifiers", Fe/
-event_head     c-src/emacs/src/keyboard.c      11021
-event_to_kboard        c-src/emacs/src/keyboard.c      /^event_to_kboard (struct input_event *event)$/
-exact  c-src/emacs/src/gmalloc.c       200
-execute        cp-src/c.C      /^        void execute(CPluginCSCState& p, int w, in/
-exit   c-src/exit.c    /^DEFUN(exit, (status), int status)$/
-exit   c-src/exit.strange_suffix       /^DEFUN(exit, (status), int status)$/
-exit-recursive-edit    c-src/emacs/src/keyboard.c      /^DEFUN ("exit-recursive-edit", Fexit_recursive_edit/
-exit_critical_to_previous      c-src/h.h       117
-exp    y-src/parse.y   95
-exp    y-src/atest.y   2
-exp    y-src/cccp.y    156
-exp    y-src/cccp.y    185
-exp1   y-src/cccp.y    148
-exp_list       y-src/parse.y   263
-expand-abbrev  c-src/abbrev.c  /^DEFUN ("expand-abbrev", Fexpand_abbrev, Sexpand_ab/
-expandmng      prol-src/natded.prolog  /^expandmng(var(V),var(V)).$/
-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-/
-expression_value       y-src/cccp.y    68
-extras c-src/emacs/src/lisp.h  1603
-extvar c-src/h.h       109
-f      c-src/c.c       /^T f(){if(x){}$/
-f      c.c     145
-f      c.c     156
-f      c.c     168
-f      c.c     /^int f$/
-f      c-src/h.h       89
-f      cp-src/c.C      /^A<int>* f() {}$/
-f      cp-src/c.C      /^int f(A<int> x) {}$/
-f      cp-src/c.C      /^int A<int>::f(A<int>* x) {}$/
-f      cp-src/c.C      /^A<float,B<int> > A<B<float>,int>::f(A<int>* x) {}$/
-f      cp-src/c.C      /^class B<int> { void f() {} };$/
-f      cp-src/c.C      /^     void f() {}$/
-f      cp-src/c.C      /^  int f(){return 0;};         \/\/ first comment$/
-f      cp-src/c.C      /^     void f() {}$/
-f      cp-src/fail.C   /^              int f() { return 5; }$/
-f      cp-src/fail.C   /^int A::B::f() { return 2; }$/
-f1     c.c     /^     f1 () { \/* Do something. *\/; }$/
-f1     perl-src/kai-test.pl    /^sub f1 {$/
-f2     c.c     /^void f2 () { \/* Do something. *\/; }$/
-f2     perl-src/kai-test.pl    /^sub main::f2 {$/
-f3     perl-src/kai-test.pl    /^sub f3 {$/
-f4     perl-src/kai-test.pl    /^sub Bar::f4 {$/
-f5     perl-src/kai-test.pl    /^sub f5 {$/
-f6     perl-src/kai-test.pl    /^sub f6 {$/
-f7     perl-src/kai-test.pl    /^sub f7 {$/
-fast_string_match_ignore_case  c-src/emacs/src/lisp.h  /^fast_string_match_ignore_case (Lisp_Object regexp,/
-fastctags      make-src/Makefile       /^fastctags:$/
-fastetags      make-src/Makefile       /^fastetags:$/
-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));$/
-fconst forth-src/test-forth.fth        /^3.1415e fconstant fconst$/
-fdHandler      objc-src/Subprocess.m   /^- fdHandler:(int)theFd$/
-fdHandler      objc-src/Subprocess.m   /^fdHandler (int theFd, id self)$/
-fdefunkey      c-src/etags.c   2409
-fdefunname     c-src/etags.c   2410
-fdesc  c-src/etags.c   201
-fdesc  c-src/etags.c   212
-fdp    c-src/etags.c   217
-ff     cp-src/c.C      /^  int ff(){return 1;};$/
-field_of_play  cp-src/conway.cpp       18
-fignore        c-src/etags.c   2416
-file-of-tag    el-src/emacs/lisp/progmodes/etags.el    /^(defun file-of-tag (&optional relative)$/
-file-of-tag-function   el-src/emacs/lisp/progmodes/etags.el    /^(defvar file-of-tag-function nil$/
-fileJoin       php-src/lce_functions.php       /^  function fileJoin()$/
-file_end       perl-src/htlmify-cystic /^sub file_end ()$/
-file_index     perl-src/htlmify-cystic 33
-file_tocs      perl-src/htlmify-cystic 30
-filename_is_absolute   c-src/etags.c   /^filename_is_absolute (char *fn)$/
-filenames      c-src/etags.c   196
-find-tag       el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag (tagname &optional next-p regexp-p/
-find-tag-default-function      el-src/emacs/lisp/progmodes/etags.el    /^(defcustom find-tag-default-function nil$/
-find-tag-history       el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-history nil) ; Doc string?$/
-find-tag-hook  el-src/emacs/lisp/progmodes/etags.el    /^(defcustom find-tag-hook nil$/
-find-tag-in-order      el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-in-order (pattern$/
-find-tag-interactive   el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-interactive (prompt &optional no-d/
-find-tag-marker-ring   el-src/emacs/lisp/progmodes/etags.el    /^(defvaralias 'find-tag-marker-ring 'xref--marker-r/
-find-tag-marker-ring-length    el-src/emacs/lisp/progmodes/etags.el    /^(define-obsolete-variable-alias 'find-tag-marker-r/
-find-tag-next-line-after-failure-p     el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-next-line-after-failure-p nil$/
-find-tag-noselect      el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-noselect (tagname &optional next-p/
-find-tag-other-frame   el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-other-frame (tagname &optional nex/
-find-tag-other-window  el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-other-window (tagname &optional ne/
-find-tag-regexp        el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-regexp (regexp &optional next-p ot/
-find-tag-regexp-next-line-after-failure-p      el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-regexp-next-line-after-failure-p /
-find-tag-regexp-search-function        el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-regexp-search-function nil$/
-find-tag-regexp-tag-order      el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-regexp-tag-order nil$/
-find-tag-search-function       el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-search-function nil$/
-find-tag-tag   el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-tag (string)$/
-find-tag-tag-order     el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-tag-order nil$/
-find_entries   c-src/etags.c   /^find_entries (FILE *inf)$/
-find_user_signal_name  c-src/emacs/src/keyboard.c      /^find_user_signal_name (int sig)$/
-findcats       prol-src/natded.prolog  /^findcats([],Left,Left).$/
-finish_appendices      perl-src/htlmify-cystic /^sub finish_appendices ()$/
-finish_sections        perl-src/htlmify-cystic /^sub finish_sections ()$/
-finish_subsections     perl-src/htlmify-cystic /^sub finish_subsections ()$/
-finish_subsubsections  perl-src/htlmify-cystic /^sub finish_subsubsections ()$/
-finlist        c-src/etags.c   2414
-first  c-src/emacs/src/gmalloc.c       151
-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):$/
-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   68
-focus_set      pyt-src/server.py       /^    def focus_set(self):$/
-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/
-foo    c.c     150
-foo    c.c     166
-foo    c.c     167
-foo    c.c     178
-foo    c.c     189
-foo    c-src/h.h       18
-foo    cp-src/c.C      68
-foo    cp-src/c.C      79
-foo    cp-src/c.C      /^    foo() {$/
-foo    cp-src/x.cc     /^XX::foo()$/
-foo    f-src/entry.for /^       character*(*) function foo()$/
-foo    f-src/entry.strange_suffix      /^       character*(*) function foo()$/
-foo    f-src/entry.strange     /^       character*(*) function foo()$/
-foo    forth-src/test-forth.fth        /^: foo (foo) ;$/
-foo    php-src/ptest.php       /^foo()$/
-foo    ruby-src/test1.ru       /^    attr_reader :foo$/
-foo!   ruby-src/test1.ru       /^    def foo!$/
-foo1   ruby-src/test1.ru       /^    attr_reader(:foo1, :bar1, # comment$/
-foo2   ruby-src/test1.ru       /^    alias_method ( :foo2, #cmmt$/
-foo==bar       el-src/TAGTEST.EL       /^(defun foo==bar () (message "hi"))  ; Bug#5624$/
-foobar c-src/c.c       /^int foobar() {;}$/
-foobar c.c     /^extern void foobar (void) __attribute__ ((section /
-foobar2        c-src/h.h       20
-foobar2_       c-src/h.h       16
-foperator      c-src/etags.c   2411
-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
-foreign_export merc-src/accumulator.m  /^:- pragma foreign_export("C", unravel_univ(in, out/
-formatSize     objc-src/PackInsp.m     /^-(const char *)formatSize:(const char *)size inBuf/
-found  c-src/emacs/src/lisp.h  2344
-fracas html-src/software.html  /^Fracas$/
-frag   c-src/emacs/src/gmalloc.c       152
-frame_local    c-src/emacs/src/lisp.h  2341
-free   c-src/emacs/src/gmalloc.c       67
-free   c-src/emacs/src/gmalloc.c       72
-free   c-src/emacs/src/gmalloc.c       166
-free   c-src/emacs/src/gmalloc.c       /^free (void *ptr)$/
-free   c-src/emacs/src/gmalloc.c       1719
-free_fdesc     c-src/etags.c   /^free_fdesc (register fdesc *fdp)$/
-free_for       prol-src/natded.prolog  /^free_for(var(_),_,_).$/
-free_regexps   c-src/etags.c   /^free_regexps (void)$/
-free_tree      c-src/etags.c   /^free_tree (register node *np)$/
-free_var       prol-src/natded.prolog  /^free_var(var(V),var(V)).$/
-freehook       c-src/emacs/src/gmalloc.c       /^freehook (void *ptr)$/
-fresh_vars     prol-src/natded.prolog  /^fresh_vars(var(V),var(V)).$/
-fstartlist     c-src/etags.c   2413
-func   c-src/emacs/src/lisp.h  /^      void (*func) (Lisp_Object);$/
-func   c-src/emacs/src/lisp.h  /^      void (*func) (void *);$/
-func   c-src/emacs/src/lisp.h  /^      void (*func) (int);$/
-func   c-src/emacs/src/lisp.h  /^      void (*func) (void);$/
-func1  c.c     /^int func1$/
-func2  c.c     /^int func2 (a,b$/
-func_key_syms  c-src/emacs/src/keyboard.c      4626
-funcboo        c.c     /^bool funcboo ()$/
-funcpointer    c-src/emacs/src/lisp.h  2126
-funcptr        c-src/h.h       /^    fu   int (*funcptr) (void *ptr);$/
-function       c-src/etags.c   194
-function       c-src/emacs/src/lisp.h  694
-function       c-src/emacs/src/lisp.h  1685
-function       c-src/emacs/src/lisp.h  2197
-function       c-src/emacs/src/lisp.h  2985
-functionp      c-src/emacs/src/lisp.h  /^functionp (Lisp_Object object)$/
-fval   forth-src/test-forth.fth        /^fconst fvalue fval$/
-fvar   forth-src/test-forth.fth        /^fvariable fvar$/
-fvdef  c-src/etags.c   2418
-fvextern       c-src/etags.c   2420
-fvnameseen     c-src/etags.c   2412
-fvnone c-src/etags.c   2408
-fwd    c-src/emacs/src/lisp.h  690
-fwd    c-src/emacs/src/lisp.h  2346
-g      cp-src/c.C      /^  int g(){return 2;};$/
-galileo        html-src/software.html  /^GaliLEO$/
-gather pyt-src/server.py       /^    def gather(self):$/
-gather pyt-src/server.py       /^    def gather(self):$/
-gc_aset        c-src/emacs/src/lisp.h  /^gc_aset (Lisp_Object array, ptrdiff_t idx, Lisp_Ob/
-gcmarkbit      c-src/emacs/src/lisp.h  656
-gcmarkbit      c-src/emacs/src/lisp.h  1974
-gcmarkbit      c-src/emacs/src/lisp.h  1981
-gcmarkbit      c-src/emacs/src/lisp.h  2035
-gcmarkbit      c-src/emacs/src/lisp.h  2113
-gcmarkbit      c-src/emacs/src/lisp.h  2204
-gcpro  c-src/emacs/src/lisp.h  3042
-gcpro  c-src/emacs/src/lisp.h  3132
-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>$/
-generate_warning       merc-src/accumulator.m  /^:- pred generate_warning(module_info::in, prog_var/
-generate_warnings      merc-src/accumulator.m  /^:- pred generate_warnings(module_info::in, prog_va/
-generic_object cp-src/clheir.cpp       /^generic_object::generic_object(void)$/
-generic_object cp-src/clheir.hpp       13
-getArchs       objc-src/PackInsp.m     /^-(void)getArchs$/
-getDomainNames php-src/lce_functions.php       /^      function getDomainNames()$/
-getFoo lua-src/test.lua        /^function Cube.data.getFoo ()$/
-getPOReader    php-src/lce_functions.php       /^      function &getPOReader($domain)$/
-getPath        objc-src/PackInsp.m     /^-(const char *)getPath:(char *)buf forType:(const /
-getPos lua-src/test.lua        /^function Rectangle.getPos ()$/
-getPos lua-src/test.lua        /^function Circle.getPos ()$/
-getTextDomains php-src/lce_functions.php       /^  function getTextDomains($lines)$/
-get_compressor_from_suffix     c-src/etags.c   /^get_compressor_from_suffix (char *file, char **ext/
-get_contiguous_space   c-src/emacs/src/gmalloc.c       /^get_contiguous_space (ptrdiff_t size, void *positi/
-get_current_dir_name   c-src/emacs/src/gmalloc.c       33
-get_input_pending      c-src/emacs/src/keyboard.c      /^get_input_pending (int flags)$/
-get_language_from_filename     c-src/etags.c   /^get_language_from_filename (char *file, int case_s/
-get_language_from_interpreter  c-src/etags.c   /^get_language_from_interpreter (char *interpreter)$/
-get_language_from_langname     c-src/etags.c   /^get_language_from_langname (const char *name)$/
-get_layer_by_name      lua-src/allegro.lua     /^local function get_layer_by_name (sprite, layer, n/
-get_tag        c-src/etags.c   /^get_tag (register char *bp, char **namepp)$/
-get_word       c-src/tab.c     /^static char           *get_word(char **str, char delim)$/
-getcjmp        c-src/emacs/src/keyboard.c      147
-getopt perl-src/yagrip.pl      /^sub getopt {$/
-getopt.o       make-src/Makefile       /^getopt.o: emacs\/lib-src\/getopt.c$/
-getopt1.o      make-src/Makefile       /^getopt1.o: emacs\/lib-src\/getopt1.c$/
-getptys        objc-src/Subprocess.m   /^getptys (int *master, int *slave)$/
-gettext        php-src/lce_functions.php       /^      function gettext($msgid)$/
-ggg    c-src/h.h       10
-ghi1   c-src/h.h       36
-ghi2   c-src/h.h       39
-giallo cp-src/c.C      40
-glider cp-src/conway.cpp       /^void glider(int x, int y)$/
-gnu    html-src/software.html  /^Free software that I wrote for the GNU project or /
-gobble_input   c-src/emacs/src/keyboard.c      /^gobble_input (void)$/
-goto-tag-location-function     el-src/emacs/lisp/progmodes/etags.el    /^(defvar goto-tag-location-function nil$/
-goto_xy        cp-src/screen.cpp       /^void goto_xy(unsigned char x, unsigned char y)$/
-handleList     pyt-src/server.py       /^    def handleList(self, event):$/
-handleNew      pyt-src/server.py       /^    def handleNew(self, event):$/
-handle_async_input     c-src/emacs/src/keyboard.c      /^handle_async_input (void)$/
-handle_input_available_signal  c-src/emacs/src/keyboard.c      /^handle_input_available_signal (int sig)$/
-handle_interrupt       c-src/emacs/src/keyboard.c      /^handle_interrupt (bool in_signal_handler)$/
-handle_interrupt_signal        c-src/emacs/src/keyboard.c      /^handle_interrupt_signal (int sig)$/
-handle_user_signal     c-src/emacs/src/keyboard.c      /^handle_user_signal (int sig)$/
-handler        c-src/emacs/src/lisp.h  3023
-handlertype    c-src/emacs/src/lisp.h  3021
-has_arg        c-src/getopt.h  82
-hash   c-src/etags.c   /^hash (const char *str, int len)$/
-hash   c-src/emacs/src/lisp.h  1843
-hash_table_test        c-src/emacs/src/lisp.h  1805
-hashfn c-src/emacs/src/lisp.h  /^  EMACS_UINT (*hashfn) (struct hash_table_test *t,/
-hdr    c-src/emacs/src/gmalloc.c       1860
-head_table     c-src/emacs/src/keyboard.c      11027
-header c-src/emacs/src/lisp.h  1371
-header c-src/emacs/src/lisp.h  1388
-header c-src/emacs/src/lisp.h  1581
-header c-src/emacs/src/lisp.h  1610
-header c-src/emacs/src/lisp.h  1672
-header c-src/emacs/src/lisp.h  1826
-header_size    c-src/emacs/src/lisp.h  1471
-heapsize       c-src/emacs/src/gmalloc.c       361
-hello  scm-src/test.scm        /^(define hello "Hello, Emacs!")$/
-hello  scm-src/test.scm        /^(set! hello "Hello, world!")$/
-hello-world    scm-src/test.scm        /^(define (hello-world)$/
-help   c-src/etags.c   193
-helpPanel      objcpp-src/SimpleCalc.M /^- helpPanel:sender$/
-help_char_p    c-src/emacs/src/keyboard.c      /^help_char_p (Lisp_Object c)$/
-help_form_saved_window_configs c-src/emacs/src/keyboard.c      2156
-helpwin        pyt-src/server.py       /^def helpwin(helpdict):$/
-hide_cursor    cp-src/screen.cpp       /^void hide_cursor(void)$/
-hlds   merc-src/accumulator.m  /^:- import_module hlds.$/
-htmltreelist   prol-src/natded.prolog  /^htmltreelist([]).$/
-hybrid_aligned_alloc   c-src/emacs/src/gmalloc.c       /^hybrid_aligned_alloc (size_t alignment, size_t siz/
-hybrid_calloc  c-src/emacs/src/gmalloc.c       /^hybrid_calloc (size_t nmemb, size_t size)$/
-hybrid_free    c-src/emacs/src/gmalloc.c       /^hybrid_free (void *ptr)$/
-hybrid_get_current_dir_name    c-src/emacs/src/gmalloc.c       /^hybrid_get_current_dir_name (void)$/
-hybrid_malloc  c-src/emacs/src/gmalloc.c       /^hybrid_malloc (size_t size)$/
-hybrid_realloc c-src/emacs/src/gmalloc.c       /^hybrid_realloc (void *ptr, size_t size)$/
-hypothetical_mem       prol-src/natded.prolog  /^hypothetical_mem(fi(N),Ass,_):-$/
-i      c-src/c.c       2
-i      c.c     169
-i      c-src/emacs/src/lisp.h  567
-i      c-src/emacs/src/lisp.h  4673
-i      c-src/emacs/src/lisp.h  4679
-i      cp-src/c.C      132
-ialpage        tex-src/texinfo.tex     /^\\newbox\\partialpage$/
-ialpage        tex-src/texinfo.tex     /^  \\dimen@=\\pageheight \\advance\\dimen@ by-\\ht\\parti/
-ialpage        tex-src/texinfo.tex     /^  \\availdimen@=\\pageheight \\advance\\availdimen@ by/
-ialpage        tex-src/texinfo.tex     /^     \\dimen@=\\pageheight \\advance\\dimen@ by-\\ht\\pa/
-ialpage=       tex-src/texinfo.tex     /^  \\output={\\global\\setbox\\partialpage=$/
-identify_goal_type     merc-src/accumulator.m  /^:- pred identify_goal_type(pred_id::in, proc_id::i/
-identify_out_and_out_prime     merc-src/accumulator.m  /^:- pred identify_out_and_out_prime(module_info::in/
-identify_recursive_calls       merc-src/accumulator.m  /^:- pred identify_recursive_calls(pred_id::in, proc/
-idx    c-src/emacs/src/lisp.h  3150
-ignore_case    c-src/etags.c   266
-ignore_mouse_drag_p    c-src/emacs/src/keyboard.c      1256
-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$/
-implementation merc-src/accumulator.m  /^:- implementation.$/
-in_word_set    c-src/etags.c   /^in_word_set (register const char *str, register un/
-inattribute    c-src/etags.c   2400
-inc    cp-src/Range.h  /^  double inc (void) const { return rng_inc;   }$/
-index  c-src/emacs/src/lisp.h  1856
-infabsdir      c-src/etags.c   206
-infabsname     c-src/etags.c   205
-infiles        make-src/Makefile       /^infiles = $(filter-out ${NONSRCS},${SRCS}) srclist/
-infname        c-src/etags.c   204
-info   c-src/emacs/src/gmalloc.c       157
-infoPanel      objcpp-src/SimpleCalc.M /^- infoPanel:sender$/
-init   c-src/etags.c   /^init (void)$/
-init   objc-src/Subprocess.m   /^- init:(const char *)subprocessString$/
-init   objc-src/Subprocess.m   /^    andStdErr:(BOOL)wantsStdErr$/
-init   objcpp-src/SimpleCalc.M /^- init$/
-init_control   c.c     239
-init_kboard    c-src/emacs/src/keyboard.c      /^init_kboard (KBOARD *kb, Lisp_Object type)$/
-init_keyboard  c-src/emacs/src/keyboard.c      /^init_keyboard (void)$/
-init_registry  cp-src/clheir.cpp       /^void init_registry(void)$/
-init_tool_bar_items    c-src/emacs/src/keyboard.c      /^init_tool_bar_items (Lisp_Object reuse)$/
-inita  c.c     /^static void inita () {}$/
-initb  c.c     /^static void initb () {}$/
-initial_kboard c-src/emacs/src/keyboard.c      84
-initialize-new-tags-table      el-src/emacs/lisp/progmodes/etags.el    /^(defun initialize-new-tags-table ()$/
-initialize_goal_store  merc-src/accumulator.m  /^:- func initialize_goal_store(list(hlds_goal), ins/
-initialize_random_junk y-src/cccp.y    /^initialize_random_junk ()$/
-input-pending-p        c-src/emacs/src/keyboard.c      /^DEFUN ("input-pending-p", Finput_pending_p, Sinput/
-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-abbrev-table-description        c-src/abbrev.c  /^DEFUN ("insert-abbrev-table-description", Finsert_/
-insertion_type c-src/emacs/src/lisp.h  1989
-insertname     pas-src/common.pas      /^function insertname;(*($/
-instance_method        ruby-src/test.rb        /^        def instance_method$/
-instance_method_equals=        ruby-src/test.rb        /^        def instance_method_equals=$/
-instance_method_exclamation!   ruby-src/test.rb        /^        def instance_method_exclamation!$/
-instance_method_question?      ruby-src/test.rb        /^        def instance_method_question?$/
-instr  y-src/parse.y   81
-instruct       c-src/etags.c   2527
-int    merc-src/accumulator.m  /^:- import_module int.$/
-intNumber      go-src/test1.go 13
-integer        c-src/emacs/src/lisp.h  2127
-integer        y-src/cccp.y    112
-integer_overflow       y-src/cccp.y    /^integer_overflow ()$/
-integertonmstr pas-src/common.pas      /^function integertonmstr; (* (TheInteger : integer)/
-intensity1     f-src/entry.for /^     & intensity1(efv,fv,svin,svquad,sfpv,maxp,val/
-intensity1     f-src/entry.strange_suffix      /^     & intensity1(efv,fv,svin,svquad,sfpv,maxp,val/
-intensity1     f-src/entry.strange     /^     & intensity1(efv,fv,svin,svquad,sfpv,maxp,val/
-interface      merc-src/accumulator.m  /^:- interface.$/
-interface_locate       c-src/c.c       /^interface_locate(void)$/
-intern c-src/emacs/src/lisp.h  /^intern (const char *str)$/
-intern_c_string        c-src/emacs/src/lisp.h  /^intern_c_string (const char *str)$/
-internal_last_event_frame      c-src/emacs/src/keyboard.c      228
-interned       c-src/emacs/src/lisp.h  672
-interpreters   c-src/etags.c   197
-interrupt_input        c-src/emacs/src/keyboard.c      328
-interrupt_input_blocked        c-src/emacs/src/keyboard.c      76
-interrupt_input_blocked        c-src/emacs/src/lisp.h  3048
-interrupts_deferred    c-src/emacs/src/keyboard.c      331
-intoken        c-src/etags.c   /^#define       intoken(c)      (_itk[CHAR (c)]) \/* c can be in/
-intspec        c-src/emacs/src/lisp.h  1688
-intvar c-src/emacs/src/lisp.h  2277
-invalidate_nodes       c-src/etags.c   /^invalidate_nodes (fdesc *badfdp, node **npp)$/
-io     merc-src/accumulator.m  /^:- import_module io.$/
-ipc3dCSC19     cp-src/c.C      6
-ipc3dChannelType       cp-src/c.C      1
-ipc3dIslandHierarchy   cp-src/c.C      1
-ipc3dLinkControl       cp-src/c.C      1
-irregular_location     cp-src/clheir.hpp       47
-irregular_location     cp-src/clheir.hpp       /^    irregular_location(double xi, double yi, doubl/
-isComment      php-src/lce_functions.php       /^      function isComment($class)$/
-isHoliday      cp-src/functions.cpp    /^bool isHoliday ( Date d ){$/
-isLeap cp-src/functions.cpp    /^bool isLeap ( int year ){$/
-is_associative_construction    merc-src/accumulator.m  /^:- pred is_associative_construction(module_info::i/
-is_curly_brace_form    c-src/h.h       54
-is_explicit    c-src/h.h       49
-is_func        c-src/etags.c   221
-is_hor_space   y-src/cccp.y    953
-is_idchar      y-src/cccp.y    948
-is_idstart     y-src/cccp.y    950
-is_muldiv_operation    cp-src/c.C      /^is_muldiv_operation(pc)$/
-is_ordset      prol-src/ordsets.prolog /^is_ordset(X) :- var(X), !, fail.$/
-is_recursive_case      merc-src/accumulator.m  /^:- pred is_recursive_case(list(hlds_goal)::in, pre/
-iso_lispy_function_keys        c-src/emacs/src/keyboard.c      5151
-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
-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
-kbd_buffer_events_waiting      c-src/emacs/src/keyboard.c      /^kbd_buffer_events_waiting (void)$/
-kbd_buffer_get_event   c-src/emacs/src/keyboard.c      /^kbd_buffer_get_event (KBOARD **kbp,$/
-kbd_buffer_nr_stored   c-src/emacs/src/keyboard.c      /^kbd_buffer_nr_stored (void)$/
-kbd_buffer_store_event c-src/emacs/src/keyboard.c      /^kbd_buffer_store_event (register struct input_even/
-kbd_buffer_store_event_hold    c-src/emacs/src/keyboard.c      /^kbd_buffer_store_event_hold (register struct input/
-kbd_buffer_store_help_event    c-src/emacs/src/keyboard.c      /^kbd_buffer_store_help_event (Lisp_Object frame, Li/
-kbd_buffer_unget_event c-src/emacs/src/keyboard.c      /^kbd_buffer_unget_event (register struct input_even/
-kbd_fetch_ptr  c-src/emacs/src/keyboard.c      297
-kbd_store_ptr  c-src/emacs/src/keyboard.c      302
-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
-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/
-keys_of_keyboard       c-src/emacs/src/keyboard.c      /^keys_of_keyboard (void)$/
-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),$/
-keyvalseq      prol-src/natded.prolog  /^keyvalseq([KeyVal|KeyVals]) --> $/
-keyword_parsing        y-src/cccp.y    73
-keywords       y-src/cccp.y    114
-keywords       y-src/cccp.y    306
-kind   c-src/emacs/src/keyboard.c      11024
-kind   c-src/h.h       46
-kset_echo_string       c-src/emacs/src/keyboard.c      /^kset_echo_string (struct kboard *kb, Lisp_Object v/
-kset_kbd_queue c-src/emacs/src/keyboard.c      /^kset_kbd_queue (struct kboard *kb, Lisp_Object val/
-kset_keyboard_translate_table  c-src/emacs/src/keyboard.c      /^kset_keyboard_translate_table (struct kboard *kb, /
-kset_last_prefix_arg   c-src/emacs/src/keyboard.c      /^kset_last_prefix_arg (struct kboard *kb, Lisp_Obje/
-kset_last_repeatable_command   c-src/emacs/src/keyboard.c      /^kset_last_repeatable_command (struct kboard *kb, L/
-kset_local_function_key_map    c-src/emacs/src/keyboard.c      /^kset_local_function_key_map (struct kboard *kb, Li/
-kset_overriding_terminal_local_map     c-src/emacs/src/keyboard.c      /^kset_overriding_terminal_local_map (struct kboard /
-kset_real_last_command c-src/emacs/src/keyboard.c      /^kset_real_last_command (struct kboard *kb, Lisp_Ob/
-kset_system_key_syms   c-src/emacs/src/keyboard.c      /^kset_system_key_syms (struct kboard *kb, Lisp_Obje/
-lang   c-src/etags.c   208
-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-tag       el-src/emacs/lisp/progmodes/etags.el    /^(defvar last-tag nil$/
-last_abbrev_point      c-src/abbrev.c  79
-last_auto_save c-src/emacs/src/keyboard.c      214
-last_heapinfo  c-src/emacs/src/gmalloc.c       402
-last_mouse_button      c-src/emacs/src/keyboard.c      5215
-last_mouse_x   c-src/emacs/src/keyboard.c      5216
-last_mouse_y   c-src/emacs/src/keyboard.c      5217
-last_non_minibuf_size  c-src/emacs/src/keyboard.c      207
-last_point_position    c-src/emacs/src/keyboard.c      217
-last_state_size        c-src/emacs/src/gmalloc.c       401
-last_undo_boundary     c-src/emacs/src/keyboard.c      1287
-lasta  c.c     272
-lastargmargin  tex-src/texinfo.tex     /^\\newskip\\deflastargmargin \\deflastargmargin=18pt$/
-lastargmargin  tex-src/texinfo.tex     /^\\setbox0=\\hbox{\\hskip \\deflastargmargin{\\rm #2}\\hs/
-lastb  c.c     278
-lb     c-src/etags.c   2923
-lbs    c-src/etags.c   2924
-lce    php-src/lce_functions.php       /^      function lce()$/
-lce    php-src/lce_functions.php       /^      function lce()$/
-lce_bindtextdomain     php-src/lce_functions.php       /^      function lce_bindtextdomain($d_name, $d_path/
-lce_bindtextdomain     php-src/lce_functions.php       /^      function lce_bindtextdomain($domain, $path)$/
-lce_dgettext   php-src/lce_functions.php       /^      function lce_dgettext($domain, $msgid)$/
-lce_dgettext   php-src/lce_functions.php       /^      function lce_dgettext($domain, $msgid)$/
-lce_geteditcode        php-src/lce_functions.php       /^  function lce_geteditcode($type, $name, $text, $r/
-lce_gettext    php-src/lce_functions.php       /^      function lce_gettext($msgid)$/
-lce_gettext    php-src/lce_functions.php       /^      function lce_gettext($msgid)$/
-lce_textdomain php-src/lce_functions.php       /^      function lce_textdomain($domain)$/
-lce_textdomain php-src/lce_functions.php       /^      function lce_textdomain($domain)$/
-leasqr html-src/software.html  /^Leasqr$/
-left   c-src/etags.c   216
-left_shift     y-src/cccp.y    /^left_shift (a, b)$/
-len    c-src/etags.c   237
-length c-src/etags.c   2495
-length y-src/cccp.y    44
-length y-src/cccp.y    113
-let    c-src/emacs/src/lisp.h  2981
-letter tex-src/texinfo.tex     /^\\chapmacro {#1}{Appendix \\appendixletter}%$/
-letter tex-src/texinfo.tex     /^  {#1}{Appendix \\appendixletter}{\\noexpand\\folio}}/
-letter tex-src/texinfo.tex     /^\\gdef\\thissection{#1}\\secheading {#1}{\\appendixlet/
-letter tex-src/texinfo.tex     /^{#1}{\\appendixletter}{\\the\\secno}{\\noexpand\\folio}/
-letter tex-src/texinfo.tex     /^\\subsecheading {#1}{\\appendixletter}{\\the\\secno}{\\/
-letter tex-src/texinfo.tex     /^{#1}{\\appendixletter}{\\the\\secno}{\\the\\subsecno}{\\/
-letter tex-src/texinfo.tex     /^  {\\appendixletter}{\\the\\secno}{\\the\\subsecno}{\\th/
-letter tex-src/texinfo.tex     /^  {\\appendixletter}$/
-letter:        tex-src/texinfo.tex     /^\\xdef\\thischapter{Appendix \\appendixletter: \\noexp/
-level  c-src/emacs/src/lisp.h  3153
-lex    prol-src/natded.prolog  /^lex(W,SynOut,Sem):-$/
-lexptr y-src/cccp.y    332
-libs   merc-src/accumulator.m  /^:- import_module libs.$/
-licenze        html-src/softwarelibero.html    /^Licenze d'uso di un programma$/
-limit  cp-src/Range.h  /^  double limit (void) const { return rng_limit; }$/
-line   c-src/etags.c   2493
-line   perl-src/htlmify-cystic 37
-line   y-src/parse.y   87
-lineCount      php-src/lce_functions.php       /^      function lineCount($entry)$/
-linebuffer     c-src/etags.c   239
-linebuffer_init        c-src/etags.c   /^linebuffer_init (linebuffer *lbp)$/
-linebuffer_setlen      c-src/etags.c   /^linebuffer_setlen (linebuffer *lbp, int toksize)$/
-lineno c-src/etags.c   2506
-lineno c-src/emacs/src/lisp.h  3147
-linepos        c-src/etags.c   2507
-linepos        c-src/etags.c   2922
-links  html-src/software.html  /^Links to interesting software$/
-lisp_eval_depth        c-src/emacs/src/lisp.h  3045
-lisp_h_CHECK_LIST_CONS c-src/emacs/src/lisp.h  /^#define lisp_h_CHECK_LIST_CONS(x, y) CHECK_TYPE (C/
-lisp_h_CHECK_NUMBER    c-src/emacs/src/lisp.h  /^#define lisp_h_CHECK_NUMBER(x) CHECK_TYPE (INTEGER/
-lisp_h_CHECK_SYMBOL    c-src/emacs/src/lisp.h  /^#define lisp_h_CHECK_SYMBOL(x) CHECK_TYPE (SYMBOLP/
-lisp_h_CHECK_TYPE      c-src/emacs/src/lisp.h  /^#define lisp_h_CHECK_TYPE(ok, predicate, x) \\$/
-lisp_h_CONSP   c-src/emacs/src/lisp.h  /^#define lisp_h_CONSP(x) (XTYPE (x) == Lisp_Cons)$/
-lisp_h_EQ      c-src/emacs/src/lisp.h  /^#define lisp_h_EQ(x, y) (XLI (x) == XLI (y))$/
-lisp_h_FLOATP  c-src/emacs/src/lisp.h  /^#define lisp_h_FLOATP(x) (XTYPE (x) == Lisp_Float)/
-lisp_h_INTEGERP        c-src/emacs/src/lisp.h  /^#define lisp_h_INTEGERP(x) ((XTYPE (x) & (Lisp_Int/
-lisp_h_MARKERP c-src/emacs/src/lisp.h  /^#define lisp_h_MARKERP(x) (MISCP (x) && XMISCTYPE /
-lisp_h_MISCP   c-src/emacs/src/lisp.h  /^#define lisp_h_MISCP(x) (XTYPE (x) == Lisp_Misc)$/
-lisp_h_NILP    c-src/emacs/src/lisp.h  /^#define lisp_h_NILP(x) EQ (x, Qnil)$/
-lisp_h_SET_SYMBOL_VAL  c-src/emacs/src/lisp.h  /^#define lisp_h_SET_SYMBOL_VAL(sym, v) \\$/
-lisp_h_SYMBOLP c-src/emacs/src/lisp.h  /^#define lisp_h_SYMBOLP(x) (XTYPE (x) == Lisp_Symbo/
-lisp_h_SYMBOL_CONSTANT_P       c-src/emacs/src/lisp.h  /^#define lisp_h_SYMBOL_CONSTANT_P(sym) (XSYMBOL (sy/
-lisp_h_SYMBOL_VAL      c-src/emacs/src/lisp.h  /^#define lisp_h_SYMBOL_VAL(sym) \\$/
-lisp_h_VECTORLIKEP     c-src/emacs/src/lisp.h  /^#define lisp_h_VECTORLIKEP(x) (XTYPE (x) == Lisp_V/
-lisp_h_XCAR    c-src/emacs/src/lisp.h  /^#define lisp_h_XCAR(c) XCONS (c)->car$/
-lisp_h_XCDR    c-src/emacs/src/lisp.h  /^#define lisp_h_XCDR(c) XCONS (c)->u.cdr$/
-lisp_h_XCONS   c-src/emacs/src/lisp.h  /^#define lisp_h_XCONS(a) \\$/
-lisp_h_XFASTINT        c-src/emacs/src/lisp.h  /^# define lisp_h_XFASTINT(a) XINT (a)$/
-lisp_h_XHASH   c-src/emacs/src/lisp.h  /^#define lisp_h_XHASH(a) XUINT (a)$/
-lisp_h_XIL     c-src/emacs/src/lisp.h  /^# define lisp_h_XIL(i) ((Lisp_Object) { i })$/
-lisp_h_XIL     c-src/emacs/src/lisp.h  /^# define lisp_h_XIL(i) (i)$/
-lisp_h_XINT    c-src/emacs/src/lisp.h  /^# define lisp_h_XINT(a) (XLI (a) >> INTTYPEBITS)$/
-lisp_h_XLI     c-src/emacs/src/lisp.h  /^# define lisp_h_XLI(o) ((o).i)$/
-lisp_h_XLI     c-src/emacs/src/lisp.h  /^# define lisp_h_XLI(o) (o)$/
-lisp_h_XPNTR   c-src/emacs/src/lisp.h  /^#define lisp_h_XPNTR(a) \\$/
-lisp_h_XSYMBOL c-src/emacs/src/lisp.h  /^# define lisp_h_XSYMBOL(a) \\$/
-lisp_h_XTYPE   c-src/emacs/src/lisp.h  /^# define lisp_h_XTYPE(a) ((enum Lisp_Type) (XLI (a/
-lisp_h_XUNTAG  c-src/emacs/src/lisp.h  /^# define lisp_h_XUNTAG(a, type) ((void *) (intptr_/
-lisp_h_check_cons_list c-src/emacs/src/lisp.h  /^# define lisp_h_check_cons_list() ((void) 0)$/
-lisp_h_make_number     c-src/emacs/src/lisp.h  /^# define lisp_h_make_number(n) \\$/
-lispy_accent_codes     c-src/emacs/src/keyboard.c      4634
-lispy_accent_keys      c-src/emacs/src/keyboard.c      4741
-lispy_drag_n_drop_names        c-src/emacs/src/keyboard.c      5181
-lispy_function_keys    c-src/emacs/src/keyboard.c      4768
-lispy_function_keys    c-src/emacs/src/keyboard.c      5065
-lispy_kana_keys        c-src/emacs/src/keyboard.c      5026
-lispy_modifier_list    c-src/emacs/src/keyboard.c      /^lispy_modifier_list (int modifiers)$/
-lispy_multimedia_keys  c-src/emacs/src/keyboard.c      4962
-lispy_wheel_names      c-src/emacs/src/keyboard.c      5174
-list   c-src/emacs/src/gmalloc.c       186
-list   merc-src/accumulator.m  /^:- import_module list.$/
-list-tags      el-src/emacs/lisp/progmodes/etags.el    /^(defun list-tags (file &optional _next-match)$/
-list-tags-function     el-src/emacs/lisp/progmodes/etags.el    /^(defvar list-tags-function nil$/
-list2i c-src/emacs/src/lisp.h  /^list2i (EMACS_INT x, EMACS_INT y)$/
-list3i c-src/emacs/src/lisp.h  /^list3i (EMACS_INT x, EMACS_INT y, EMACS_INT w)$/
-list4i c-src/emacs/src/lisp.h  /^list4i (EMACS_INT x, EMACS_INT y, EMACS_INT w, EMA/
-list_to_ord_set        prol-src/ordsets.prolog /^list_to_ord_set(List, Set) :-$/
-lno    c-src/etags.c   223
-load   objc-src/PackInsp.m     /^-load$/
-loadContentsOf objc-src/PackInsp.m     /^-loadContentsOf:(const char *)type inTable:(HashTa/
-loadImage      objc-src/PackInsp.m     /^-loadImage$/
-loadKeyValuesFrom      objc-src/PackInsp.m     /^-loadKeyValuesFrom:(const char *)type inTable:(Has/
-loadPORManager php-src/lce_functions.php       /^  function &loadPORManager()$/
-local_if_set   c-src/emacs/src/lisp.h  2338
-location       cp-src/clheir.hpp       33
-location       cp-src/clheir.hpp       /^    location() { }$/
-lookup y-src/cccp.y    /^lookup (name, len, hash)$/
-lookup_call    merc-src/accumulator.m  /^:- pred lookup_call(accu_goal_store::in, accu_goal/
-lowcase        c-src/etags.c   /^#define lowcase(c)    tolower (CHAR (c))$/
-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,$/
-mach_msg_trap  c-src/machsyscalls.h    /^SYSCALL (mach_msg_trap, -25,$/
-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
-maintaining.info       make-src/Makefile       /^maintaining.info: maintaining.texi$/
-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,Alpha@Sem1@Sem2).$/
-make_ctrl_char c-src/emacs/src/keyboard.c      /^make_ctrl_char (int c)$/
-make_fixnum_or_float   c-src/emacs/src/lisp.h  /^#define make_fixnum_or_float(val) \\$/
-make_formatted_string  c-src/emacs/src/lisp.h  /^extern Lisp_Object make_formatted_string (char *, /
-make_lisp_ptr  c-src/emacs/src/lisp.h  /^make_lisp_ptr (void *ptr, enum Lisp_Type type)$/
-make_lisp_symbol       c-src/emacs/src/lisp.h  /^make_lisp_symbol (struct Lisp_Symbol *sym)$/
-make_lispy_event       c-src/emacs/src/keyboard.c      /^make_lispy_event (struct input_event *event)$/
-make_lispy_focus_in    c-src/emacs/src/keyboard.c      /^make_lispy_focus_in (Lisp_Object frame)$/
-make_lispy_focus_out   c-src/emacs/src/keyboard.c      /^make_lispy_focus_out (Lisp_Object frame)$/
-make_lispy_movement    c-src/emacs/src/keyboard.c      /^make_lispy_movement (struct frame *frame, Lisp_Obj/
-make_lispy_position    c-src/emacs/src/keyboard.c      /^make_lispy_position (struct frame *f, Lisp_Object /
-make_lispy_switch_frame        c-src/emacs/src/keyboard.c      /^make_lispy_switch_frame (Lisp_Object frame)$/
-make_number    c-src/emacs/src/lisp.h  /^#  define make_number(n) lisp_h_make_number (n)$/
-make_pointer_integer   c-src/emacs/src/lisp.h  /^make_pointer_integer (void *p)$/
-make_scroll_bar_position       c-src/emacs/src/keyboard.c      /^make_scroll_bar_position (struct input_event *ev, /
-make_tag       c-src/etags.c   /^make_tag (const char *name,   \/* tag name, or NULL /
-make_uninit_sub_char_table     c-src/emacs/src/lisp.h  /^make_uninit_sub_char_table (int depth, int min_cha/
-make_uninit_vector     c-src/emacs/src/lisp.h  /^make_uninit_vector (ptrdiff_t size)$/
-malloc c-src/emacs/src/gmalloc.c       64
-malloc c-src/emacs/src/gmalloc.c       68
-malloc c-src/emacs/src/gmalloc.c       /^extern void *malloc (size_t size) ATTRIBUTE_MALLOC/
-malloc c-src/emacs/src/gmalloc.c       /^malloc (size_t size)$/
-malloc c-src/emacs/src/gmalloc.c       1715
-malloc_atfork_handler_child    c-src/emacs/src/gmalloc.c       /^malloc_atfork_handler_child (void)$/
-malloc_atfork_handler_parent   c-src/emacs/src/gmalloc.c       /^malloc_atfork_handler_parent (void)$/
-malloc_atfork_handler_prepare  c-src/emacs/src/gmalloc.c       /^malloc_atfork_handler_prepare (void)$/
-malloc_enable_thread   c-src/emacs/src/gmalloc.c       /^malloc_enable_thread (void)$/
-malloc_info    c-src/emacs/src/gmalloc.c       167
-malloc_initialize_1    c-src/emacs/src/gmalloc.c       /^malloc_initialize_1 (void)$/
-mallochook     c-src/emacs/src/gmalloc.c       /^mallochook (size_t size)$/
-man manpage    make-src/Makefile       /^man manpage: etags.1.man$/
-mao    c-src/h.h       101
-map    c-src/emacs/src/keyboard.c      8748
-map    merc-src/accumulator.m  /^:- import_module map.$/
-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):-$/
-mark_kboards   c-src/emacs/src/keyboard.c      /^mark_kboards (void)$/
-max    c.c     /^max (int a, int b)$/
-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_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
-maxargs        c-src/emacs/src/lisp.h  2831
-maybe  merc-src/accumulator.m  /^:- import_module maybe.$/
-maybe_gc       c-src/emacs/src/lisp.h  /^maybe_gc (void)$/
-mcCSC  cp-src/c.C      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
-mdbcomp        merc-src/accumulator.m  /^:- import_module mdbcomp.$/
-me22b  lua-src/test.lua        /^   local function test.me22b (one)$/
-me_22a lua-src/test.lua        /^   function test.me_22a(one, two)$/
-memalign       c-src/emacs/src/gmalloc.c       /^memalign (size_t alignment, size_t size)$/
-member prol-src/natded.prolog  /^member(X,[X|_]).$/
-member_lessthan_goalid merc-src/accumulator.m  /^:- pred member_lessthan_goalid(accu_goal_store::in/
-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, /
-menu_bar_items c-src/emacs/src/keyboard.c      /^menu_bar_items (Lisp_Object old)$/
-menu_bar_items_index   c-src/emacs/src/keyboard.c      7369
-menu_bar_items_vector  c-src/emacs/src/keyboard.c      7368
-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)$/
-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_args       c-src/emacs/src/lisp.h  1686
-min_char       c-src/emacs/src/lisp.h  1621
-minus  cp-src/functions.cpp    /^void Date::minus ( int days , int month , int year/
-miti   html-src/softwarelibero.html    /^Sfatiamo alcuni miti$/
-modifier_names c-src/emacs/src/keyboard.c      6319
-modifier_symbols       c-src/emacs/src/keyboard.c      6327
-modify_event_symbol    c-src/emacs/src/keyboard.c      /^modify_event_symbol (ptrdiff_t symbol_num, int mod/
-module_class_method    ruby-src/test.rb        /^    def ModuleExample.module_class_method$/
-module_instance_method ruby-src/test.rb        /^    def module_instance_method$/
-more=  ruby-src/test1.ru       /^                :more$/
-more_aligned_int       c.c     165
-morecore_nolock        c-src/emacs/src/gmalloc.c       /^morecore_nolock (size_t size)$/
-morecore_recursing     c-src/emacs/src/gmalloc.c       604
-mouse_syms     c-src/emacs/src/keyboard.c      4627
-move   cp-src/clheir.cpp       /^void agent::move(int direction)$/
-mprobe c-src/emacs/src/gmalloc.c       /^mprobe (void *ptr)$/
-msgid  php-src/lce_functions.php       /^      function msgid($line, $class)$/
-msgstr php-src/lce_functions.php       /^      function msgstr($line, $class)$/
-mstats c-src/emacs/src/gmalloc.c       308
-mt     prol-src/natded.prolog  /^mt:-$/
-mtg    html-src/software.html  /^MTG$/
-multi_line     c-src/etags.c   267
-multibyte      c-src/emacs/src/regex.h 403
-my_printf      c.c     /^my_printf (void *my_object, const char *my_format,/
-my_struct      c.c     226
-my_struct      c-src/h.h       91
-my_typedef     c.c     228
-my_typedef     c-src/h.h       93
-mypi   forth-src/test-forth.fth        /^synonym mypi fconst$/
-n      c-src/exit.c    28
-n      c-src/exit.strange_suffix       28
-name   c-src/getopt.h  76
-name   c-src/getopt.h  78
-name   c-src/etags.c   192
-name   c-src/etags.c   218
-name   c-src/etags.c   261
-name   c-src/etags.c   2271
-name   c-src/emacs/src/keyboard.c      7241
-name   c-src/emacs/src/lisp.h  682
-name   c-src/emacs/src/lisp.h  1808
-name   c-src/emacs/src/lisp.h  3144
-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}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {\\code{#1} #2}{Function}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {\\code{#2} #3}{#1}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{Macro}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{Special Form}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{\\defoptype{} on #1}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{Method on #1}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{\\defcvtype{} of #1}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{Instance Variable of #1}%/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{#1}\\defvarargs{#3}\\endgro/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{Variable}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{User Option}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {\\code{#1} #2}{Variable}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {\\code{#2} #3}{#1}$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{#1}\\deftpargs{#3}\\endgrou/
-name   y-src/cccp.y    43
-name   y-src/cccp.y    113
-name   y-src/cccp.y    113
-named  c-src/etags.c   2505
-namestringequal        pas-src/common.pas      /^function namestringequal;(*(var Name1,Name2 : Name/
-nargs  c-src/emacs/src/lisp.h  2987
-need_adjustment        c-src/emacs/src/lisp.h  1986
-neighbors      cp-src/clheir.hpp       59
-nelem  cp-src/Range.h  /^  int nelem (void) const { return rng_nelem; }$/
-nestlev        c-src/etags.c   2525
-new    objc-src/PackInsp.m     /^+new$/
-new    perl-src/htlmify-cystic 163
-new_tag        perl-src/htlmify-cystic 18
-newlb  c-src/etags.c   2930
-newlinepos     c-src/etags.c   2932
-newtextstring  pas-src/common.pas      /^function newtextstring; (*: TextString;*)$/
-next   c.c     174
-next   c-src/etags.c   203
-next   c-src/emacs/src/gmalloc.c       164
-next   c-src/emacs/src/gmalloc.c       188
-next   c-src/emacs/src/gmalloc.c       198
-next   c-src/emacs/src/keyboard.c      861
-next   c-src/emacs/src/keyboard.c      7246
-next   c-src/emacs/src/lisp.h  700
-next   c-src/emacs/src/lisp.h  1848
-next   c-src/emacs/src/lisp.h  2009
-next   c-src/emacs/src/lisp.h  2037
-next   c-src/emacs/src/lisp.h  2192
-next   c-src/emacs/src/lisp.h  3028
-next   c-src/emacs/src/lisp.h  3134
-next   y-src/cccp.y    42
-next-file      el-src/emacs/lisp/progmodes/etags.el    /^(defun next-file (&optional initialize novisit)$/
-next-file-list el-src/emacs/lisp/progmodes/etags.el    /^(defvar next-file-list nil$/
-next_alive     cp-src/conway.hpp       7
-next_almost_prime      c-src/emacs/src/lisp.h  /^extern EMACS_INT next_almost_prime (EMACS_INT) ATT/
-next_free      c-src/emacs/src/lisp.h  1851
-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
-no     tex-src/texinfo.tex     /^\\newcount \\appendixno  \\appendixno = `\\@$/
-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/
-no.\the\secno  tex-src/texinfo.tex     /^\\else \\ifnum \\subsecno=0 Section\\xreftie'char\\the\\/
-no.\the\secno.\the\subsecno    tex-src/texinfo.tex     /^Section\\xreftie'char\\the\\appendixno.\\the\\secno.\\th/
-no.\the\secno.\the\subsecno.\the\subsubsecno   tex-src/texinfo.tex     /^Section\\xreftie'char\\the\\appendixno.\\the\\secno.\\th/
-no_argument    c-src/getopt.h  89
-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_st        c-src/etags.c   214
-noderef        tex-src/texinfo.tex     /^\\appendixnoderef %$/
-noderef        tex-src/texinfo.tex     /^\\appendixnoderef %$/
-noderef        tex-src/texinfo.tex     /^\\appendixnoderef %$/
-noderef        tex-src/texinfo.tex     /^\\appendixnoderef %$/
-nofonts        tex-src/texinfo.tex     /^{\\indexnofonts$/
-nofonts        tex-src/texinfo.tex     /^{\\indexnofonts$/
-nofonts%       tex-src/texinfo.tex     /^{\\chapternofonts%$/
-nofonts%       tex-src/texinfo.tex     /^{\\chapternofonts%$/
-nofonts%       tex-src/texinfo.tex     /^{\\chapternofonts%$/
-nofonts%       tex-src/texinfo.tex     /^{\\chapternofonts%$/
-nofonts%       tex-src/texinfo.tex     /^{\\chapternofonts%$/
-nofonts%       tex-src/texinfo.tex     /^{\\chapternofonts%$/
-nofonts%       tex-src/texinfo.tex     /^{\\chapternofonts%$/
-nofonts%       tex-src/texinfo.tex     /^{\\chapternofonts%$/
-nofonts%       tex-src/texinfo.tex     /^{\\chapternofonts%$/
-nofonts%       tex-src/texinfo.tex     /^{\\chapternofonts%$/
-nofonts%       tex-src/texinfo.tex     /^{\\chapternofonts%$/
-nofonts%       tex-src/texinfo.tex     /^{\\chapternofonts%$/
-none_help      c-src/etags.c   703
-normalize      prol-src/natded.prolog  /^normalize(M,MNorm):-$/
-normalize_fresh        prol-src/natded.prolog  /^normalize_fresh(M,N):-$/
-normalize_tree prol-src/natded.prolog  /^normalize_tree(tree(Rule,Syn:Sem,Trees),$/
-normalize_trees        prol-src/natded.prolog  /^normalize_trees([],[]).$/
-nosave pyt-src/server.py       /^    def nosave(self):$/
-nosave pyt-src/server.py       /^    def nosave(self):$/
-nosave pyt-src/server.py       /^    def nosave(self):$/
-not_bol        c-src/emacs/src/regex.h 391
-not_eol        c-src/emacs/src/regex.h 394
-not_single_kboard_state        c-src/emacs/src/keyboard.c      /^not_single_kboard_state (KBOARD *kboard)$/
-notag2 c-src/torture.c 26
-notag2 c-src/dostorture.c      26
-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
-ntool_bar_items        c-src/emacs/src/keyboard.c      7974
-numOfChannels  cp-src/c.C      1
-num_columns    cp-src/conway.cpp       16
-num_input_events       c-src/emacs/src/keyboard.c      210
-num_regs       c-src/emacs/src/regex.h 430
-num_rows       cp-src/conway.cpp       15
-numberKeys     objcpp-src/SimpleCalc.M /^- numberKeys:sender$/
-number_len     c-src/etags.c   /^static int number_len (long) ATTRIBUTE_CONST;$/
-numbervars     prol-src/natded.prolog  /^numbervars(X):-$/
-nvars  c-src/emacs/src/lisp.h  3140
-objdef c-src/etags.c   2484
-object c-src/emacs/src/lisp.h  2128
-object_registry        cp-src/clheir.cpp       10
-objtag c-src/etags.c   2453
-objvar c-src/emacs/src/lisp.h  2297
-obstack_chunk_alloc    y-src/parse.y   47
-obstack_chunk_free     y-src/parse.y   48
-ocatseen       c-src/etags.c   2477
-octave_MDiagArray2_h   cp-src/MDiagArray2.h    29
-octave_Range_h cp-src/Range.h  24
-oediff make-src/Makefile       /^oediff: OTAGS ETAGS ${infiles}$/
-offset c-src/etags.c   2494
-offset c-src/emacs/src/lisp.h  2305
-offset c-src/emacs/src/lisp.h  2365
-oignore        c-src/etags.c   2483
-oimplementation        c-src/etags.c   2474
-oinbody        c-src/etags.c   2478
-ok     objc-src/PackInsp.m     /^-ok:sender$/
-ok_to_echo_at_next_pause       c-src/emacs/src/keyboard.c      159
-old_value      c-src/emacs/src/lisp.h  2980
-omethodcolon   c-src/etags.c   2481
-omethodparm    c-src/etags.c   2482
-omethodsign    c-src/etags.c   2479
-omethodtag     c-src/etags.c   2480
-onone  c-src/etags.c   2472
-oparenseen     c-src/etags.c   2476
-open   objc-src/PackInsp.m     /^-open:sender$/
-open-dribble-file      c-src/emacs/src/keyboard.c      /^DEFUN ("open-dribble-file", Fopen_dribble_file, So/
-openInWorkspace        objc-src/PackInsp.m     /^static void openInWorkspace(const char *filename)$/
-operationKeys  objcpp-src/SimpleCalc.M /^- operationKeys:sender$/
-operator       y-src/cccp.y    438
-operator ++    cp-src/functions.cpp    /^Date & Date::operator ++ ( void ){$/
-operator +=    cp-src/functions.cpp    /^Date & Date::operator += ( int days ){$/
-operator -     cp-src/c.C      /^void operator -(int, int) {}$/
-operator -     cp-src/functions.cpp    /^int Date::operator - ( Date d ){$/
-operator --    cp-src/functions.cpp    /^Date & Date::operator -- ( void ){$/
-operator -=    cp-src/functions.cpp    /^Date & Date::operator -= ( int days ){$/
-operator <     cp-src/functions.cpp    /^int Date::operator < ( Date d ) {$/
-operator <<    cp-src/functions.cpp    /^ostream& operator <<  ( ostream &c, Date d ) {$/
-operator =     cp-src/functions.cpp    /^Date & Date::operator = ( Date d ){$/
-operator =     cp-src/MDiagArray2.h    /^  MDiagArray2<T>& operator = (const MDiagArray2<T>/
-operator ==    cp-src/functions.cpp    /^int Date::operator == ( Date d ) {$/
-operator >     cp-src/functions.cpp    /^int Date::operator > ( Date d ) {$/
-operator >>    cp-src/functions.cpp    /^istream& operator >> ( istream &i, Date & dd ){$/
-operator MArray2<T>    cp-src/MDiagArray2.h    /^  operator MArray2<T> () const$/
-operator int   cp-src/c.C      /^void operator int(int, int) {}$/
-operator int   cp-src/fail.C   /^                         operator int() const {return x;}$/
-operator+      cp-src/c.C      /^const A& A::operator+(const A&) { }$/
-operator+      cp-src/c.C      /^void operator+(int, int) {}$/
-operator+      cp-src/c.C      /^  A operator+(A& a) {};$/
-opparsebody\Edefop\defopx\defopheader\defoptype        tex-src/texinfo.tex     /^\\defopparsebody\\Edefop\\defopx\\defopheader\\defoptyp/
-oprotocol      c-src/etags.c   2473
-option c-src/getopt.h  73
-optional_argument      c-src/getopt.h  91
-opvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype   tex-src/texinfo.tex     /^\\defopvarparsebody\\Edefcv\\defcvx\\defcvarheader\\def/
-ord_add_element        prol-src/ordsets.prolog /^ord_add_element([], Element, [Element]).$/
-ord_del_element        prol-src/ordsets.prolog /^ord_del_element([], _, []).$/
-ord_disjoint   prol-src/ordsets.prolog /^ord_disjoint(Set1, Set2) :-$/
-ord_intersect  prol-src/ordsets.prolog /^ord_intersect([Head1|Tail1], [Head2|Tail2]) :-$/
-ord_intersection       prol-src/ordsets.prolog /^ord_intersection([], _, []).$/
-ord_intersection       prol-src/ordsets.prolog /^ord_intersection([], Set2, [], Set2).$/
-ord_intersection       prol-src/ordsets.prolog /^ord_intersection(Sets, Intersection) :- $/
-ord_intersection2      prol-src/ordsets.prolog /^ord_intersection2(1, [Set|Sets], Set0, Sets0) :- !/
-ord_intersection3      prol-src/ordsets.prolog /^ord_intersection3(<, _, Set1, Head2, Tail2, Inters/
-ord_intersection4      prol-src/ordsets.prolog /^ord_intersection4(<, _, Set1, Head2, Tail2, Inters/
-ord_member     prol-src/ordsets.prolog /^ord_member(X, [E|Es]) :-$/
-ord_seteq      prol-src/ordsets.prolog /^ord_seteq(Set1, Set2) :-$/
-ord_setproduct prol-src/ordsets.prolog /^ord_setproduct([], _, []).$/
-ord_subset     prol-src/ordsets.prolog /^ord_subset([], _).$/
-ord_subtract   prol-src/ordsets.prolog /^ord_subtract(Set1, Set2, Union) :-$/
-ord_symdiff    prol-src/ordsets.prolog /^ord_symdiff([], Set2, Set2).$/
-ord_union      prol-src/ordsets.prolog /^ord_union(Set1, Set2, Union) :-$/
-ord_union      prol-src/ordsets.prolog /^ord_union([], Union) :- !, Union = [].$/
-ord_union4     prol-src/ordsets.prolog /^ord_union4(<, Head, Set1, Head2, Tail2, [Head|Unio/
-ord_union_all  prol-src/ordsets.prolog /^ord_union_all(1, [Set|Sets], Set, Sets) :- !.$/
-oss    html-src/softwarelibero.html    /^Il movimento open source$/
-otagseen       c-src/etags.c   2475
-outputTime     cp-src/c.C      9
-output_file    perl-src/htlmify-cystic 35
-output_files   perl-src/htlmify-cystic 32
-outputtable    html-src/algrthms.html  /^Output$/
-outsyn prol-src/natded.prolog  /^outsyn(['Any'],_).$/
-p      c-src/emacs/src/lisp.h  4673
-p      c-src/emacs/src/lisp.h  4679
-p.x    forth-src/test-forth.fth        /^  1 CELLS +FIELD p.x    \\ A single cell filed name/
-p.y    forth-src/test-forth.fth        /^  1 CELLS +FIELD p.y    \\ A single cell field name/
-p/f    ada-src/etags-test-for.ada      /^   function p pragma Import (C,$/
-p/f    ada-src/etags-test-for.ada      /^function p ("p");$/
-pD     c-src/emacs/src/lisp.h  165
-pD     c-src/emacs/src/lisp.h  167
-pD     c-src/emacs/src/lisp.h  169
-pD     c-src/emacs/src/lisp.h  171
-pI     c-src/emacs/src/lisp.h  94
-pI     c-src/emacs/src/lisp.h  99
-pI     c-src/emacs/src/lisp.h  106
-pMd    c-src/emacs/src/lisp.h  150
-pMd    c-src/emacs/src/lisp.h  155
-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   merc-src/accumulator.m  /^:- import_module pair.$/
-parent c-src/emacs/src/keyboard.c      8745
-parent c-src/emacs/src/lisp.h  1590
-parse  prol-src/natded.prolog  /^parse(Ws,Cat):-$/
-parseFromVars  php-src/lce_functions.php       /^      function parseFromVars($prefix)$/
-parse_c_expression     y-src/cccp.y    /^parse_c_expression (string)$/
-parse_cgi      prol-src/natded.prolog  /^parse_cgi(TokenList,KeyVals):-$/
-parse_error    y-src/parse.y   82
-parse_escape   y-src/cccp.y    /^parse_escape (string_ptr)$/
-parse_hash     y-src/parse.y   64
-parse_menu_item        c-src/emacs/src/keyboard.c      /^parse_menu_item (Lisp_Object item, int inmenubar)$/
-parse_modifiers        c-src/emacs/src/keyboard.c      /^parse_modifiers (Lisp_Object symbol)$/
-parse_modifiers_uncached       c-src/emacs/src/keyboard.c      /^parse_modifiers_uncached (Lisp_Object symbol, ptrd/
-parse_number   y-src/cccp.y    /^parse_number (olen)$/
-parse_return   y-src/parse.y   74
-parse_return_error     y-src/cccp.y    70
-parse_solitary_modifier        c-src/emacs/src/keyboard.c      /^parse_solitary_modifier (Lisp_Object symbol)$/
-parse_tool_bar_item    c-src/emacs/src/keyboard.c      /^parse_tool_bar_item (Lisp_Object key, Lisp_Object /
-parse_tree     merc-src/accumulator.m  /^:- import_module parse_tree.$/
-pat    c-src/etags.c   262
-pattern        c-src/etags.c   260
-pdlcount       c-src/emacs/src/lisp.h  3046
-pending-delete-mode    el-src/TAGTEST.EL       /^(defalias 'pending-delete-mode 'delete-selection-m/
-pending_funcalls       c-src/emacs/src/keyboard.c      4377
-pending_signals        c-src/emacs/src/keyboard.c      80
-pfatal c-src/etags.c   /^pfatal (const char *s1)$/
-pfdset c-src/h.h       57
-pfnote c-src/etags.c   /^pfnote (char *name, bool is_func, char *linestart,/
-pinned c-src/emacs/src/lisp.h  679
-plain_C_entries        c-src/etags.c   /^plain_C_entries (FILE *inf)$/
-plain_C_suffixes       c-src/etags.c   643
-plainc c-src/etags.c   2934
-plist  c-src/emacs/src/lisp.h  697
-plist  c-src/emacs/src/lisp.h  2040
-plus   cp-src/functions.cpp    /^void Date::plus ( int days , int month , int year /
-plus   go-src/test1.go 5
-plusvalseq     prol-src/natded.prolog  /^plusvalseq([]) --> [].$/
-point  forth-src/test-forth.fth        /^BEGIN-STRUCTURE point \\ create the named structure/
-pointer        c-src/emacs/src/lisp.h  2125
-poll_for_input c-src/emacs/src/keyboard.c      /^poll_for_input (struct atimer *timer)$/
-poll_for_input_1       c-src/emacs/src/keyboard.c      /^poll_for_input_1 (void)$/
-poll_suppress_count    c-src/emacs/src/keyboard.c      1908
-poll_suppress_count    c-src/emacs/src/lisp.h  3047
-poll_timer     c-src/emacs/src/keyboard.c      1915
-pop-tag-mark   el-src/emacs/lisp/progmodes/etags.el    /^(defalias 'pop-tag-mark 'xref-pop-marker-stack)$/
-pop_kboard     c-src/emacs/src/keyboard.c      /^pop_kboard (void)$/
-popclass_above c-src/etags.c   /^popclass_above (int bracelev)$/
-position_to_Time       c-src/emacs/src/keyboard.c      /^position_to_Time (ptrdiff_t pos)$/
-posix_memalign c-src/emacs/src/gmalloc.c       /^posix_memalign (void **memptr, size_t alignment, s/
-posn-at-point  c-src/emacs/src/keyboard.c      /^DEFUN ("posn-at-point", Fposn_at_point, Sposn_at_p/
-posn-at-x-y    c-src/emacs/src/keyboard.c      /^DEFUN ("posn-at-x-y", Fposn_at_x_y, Sposn_at_x_y, /
-possible_sum_sign      y-src/cccp.y    /^#define possible_sum_sign(a, b, sum) ((((a) ^ (b))/
-post   pyt-src/server.py       /^    def post(self):$/
-post   pyt-src/server.py       /^    def post(self):$/
-pot_etags_version      c-src/etags.c   81
-pp1    c-src/torture.c /^int pp1($/
-pp1    c-src/dostorture.c      /^int pp1($/
-pp2    c-src/torture.c /^pp2$/
-pp2    c-src/dostorture.c      /^pp2$/
-pp3    c-src/torture.c /^pp3(int bar)$/
-pp3    c-src/dostorture.c      /^pp3(int bar)$/
-pp_bas_cat     prol-src/natded.prolog  /^pp_bas_cat(Cat):-$/
-pp_cat prol-src/natded.prolog  /^pp_cat(Syn:Sem):-$/
-pp_exp prol-src/natded.prolog  /^pp_exp('NIL'):-$/
-pp_exps        prol-src/natded.prolog  /^pp_exps([]).$/
-pp_html_fitch_tree     prol-src/natded.prolog  /^pp_html_fitch_tree(tree(der,Root,[ders(Words)]),M,/
-pp_html_table_fitch_tree       prol-src/natded.prolog  /^pp_html_table_fitch_tree(T):-$/
-pp_html_table_tree     prol-src/natded.prolog  /^pp_html_table_tree(T):-$/
-pp_html_tree   prol-src/natded.prolog  /^pp_html_tree(ass(Syn,V,'$VAR'(N))):-$/
-pp_html_trees  prol-src/natded.prolog  /^pp_html_trees([T|Ts],N,M):-$/
-pp_lam prol-src/natded.prolog  /^pp_lam(Var^Alpha):-$/
-pp_lam_bracket prol-src/natded.prolog  /^pp_lam_bracket(A^B):-$/
-pp_lam_paren   prol-src/natded.prolog  /^pp_lam_paren(Var^Alpha):-$/
-pp_paren       prol-src/natded.prolog  /^pp_paren(C):-$/
-pp_rule        prol-src/natded.prolog  /^pp_rule(fe):-write('\/E').$/
-pp_syn prol-src/natded.prolog  /^pp_syn(A\/B):-$/
-pp_syn_back    prol-src/natded.prolog  /^pp_syn_back(A\/B):-$/
-pp_syn_paren   prol-src/natded.prolog  /^pp_syn_paren(A\/B):-$/
-pp_tree        prol-src/natded.prolog  /^pp_tree(T):-$/
-pp_trees       prol-src/natded.prolog  /^pp_trees([T|Ts],Column):-$/
-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
-prev   c.c     175
-prev   c-src/emacs/src/gmalloc.c       165
-prev   c-src/emacs/src/gmalloc.c       189
-prev   c-src/emacs/src/lisp.h  2191
-printClassification    php-src/lce_functions.php       /^      function printClassification()$/
-print_help     c-src/etags.c   /^print_help (argument *argbuffer)$/
-print_language_names   c-src/etags.c   /^print_language_names (void)$/
-print_version  c-src/etags.c   /^print_version (void)$/
-printmax_t     c-src/emacs/src/lisp.h  148
-printmax_t     c-src/emacs/src/lisp.h  153
-proc   c-src/h.h       87
-process_file   c-src/etags.c   /^process_file (FILE *fh, char *fn, language *lang)$/
-process_file_name      c-src/etags.c   /^process_file_name (char *file, language *lang)$/
-process_pending_signals        c-src/emacs/src/keyboard.c      /^process_pending_signals (void)$/
-process_special_events c-src/emacs/src/keyboard.c      /^process_special_events (void)$/
-process_tool_bar_item  c-src/emacs/src/keyboard.c      /^process_tool_bar_item (Lisp_Object key, Lisp_Objec/
-prof   make-src/Makefile       /^prof: ETAGS$/
-prolog_atom    c-src/etags.c   /^prolog_atom (char *s, size_t pos)$/
-prolog_pr      c-src/etags.c   /^prolog_pr (char *s, char *last)$/
-prolog_skip_comment    c-src/etags.c   /^prolog_skip_comment (linebuffer *plb, FILE *inf)$/
-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$/
-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
-quantizing     html-src/algrthms.html  /^Quantizing the Received$/
-questo ../c/c.web      34
-quiettest      make-src/Makefile       /^quiettest:$/
-quit_char      c-src/emacs/src/keyboard.c      192
-quit_throw_to_read_char        c-src/emacs/src/keyboard.c      /^quit_throw_to_read_char (bool from_signal)$/
-qux    ruby-src/test1.ru       /^    alias_method :qux, :tee, attr_accessor(:bogus)/
-qux1   ruby-src/test1.ru       /^                :qux1)$/
-qux=   ruby-src/test1.ru       /^      def qux=(tee)$/
-r0     c-src/sysdep.h  54
-r1     c-src/sysdep.h  55
-r_alloc        c-src/emacs/src/lisp.h  /^extern void *r_alloc (void **, size_t) ATTRIBUTE_A/
-range_exp      y-src/parse.y   269
-range_exp_list y-src/parse.y   273
-raw_keybuf     c-src/emacs/src/keyboard.c      116
-raw_keybuf_count       c-src/emacs/src/keyboard.c      117
-rbtp   c.c     240
-re_iswctype    c-src/emacs/src/regex.h 602
-re_nsub        c-src/emacs/src/regex.h 364
-re_pattern_buffer      c-src/emacs/src/regex.h 335
-re_pattern_buffer      c-src/h.h       119
-re_registers   c-src/emacs/src/regex.h 428
-re_wchar_t     c-src/emacs/src/regex.h 600
-re_wchar_t     c-src/emacs/src/regex.h 623
-re_wctype      c-src/emacs/src/regex.h 601
-re_wctype_t    c-src/emacs/src/regex.h 599
-re_wctype_t    c-src/emacs/src/regex.h 618
-re_wctype_to_bit       c-src/emacs/src/regex.h /^# define re_wctype_to_bit(cc) 0$/
-read   cp-src/conway.hpp       /^    char read() { return alive; }$/
-read   php-src/lce_functions.php       /^      function read()$/
-read-key-sequence      c-src/emacs/src/keyboard.c      /^DEFUN ("read-key-sequence", Fread_key_sequence, Sr/
-read-key-sequence-vector       c-src/emacs/src/keyboard.c      /^DEFUN ("read-key-sequence-vector", Fread_key_seque/
-read1  ruby-src/test1.ru       /^    attr_reader :read1 , :read2; attr_writer :writ/
-read2  ruby-src/test1.ru       /^    attr_reader :read1 , :read2; attr_writer :writ/
-read_char      c-src/emacs/src/keyboard.c      /^read_char (int commandflag, Lisp_Object map,$/
-read_char_help_form_unwind     c-src/emacs/src/keyboard.c      /^read_char_help_form_unwind (void)$/
-read_char_minibuf_menu_prompt  c-src/emacs/src/keyboard.c      /^read_char_minibuf_menu_prompt (int commandflag,$/
-read_char_x_menu_prompt        c-src/emacs/src/keyboard.c      /^read_char_x_menu_prompt (Lisp_Object map,$/
-read_decoded_event_from_main_queue     c-src/emacs/src/keyboard.c      /^read_decoded_event_from_main_queue (struct timespe/
-read_event_from_main_queue     c-src/emacs/src/keyboard.c      /^read_event_from_main_queue (struct timespec *end_t/
-read_key_sequence      c-src/emacs/src/keyboard.c      /^read_key_sequence (Lisp_Object *keybuf, int bufsiz/
-read_key_sequence_cmd  c-src/emacs/src/keyboard.c      232
-read_key_sequence_remapped     c-src/emacs/src/keyboard.c      233
-read_key_sequence_vs   c-src/emacs/src/keyboard.c      /^read_key_sequence_vs (Lisp_Object prompt, Lisp_Obj/
-read_menu_command      c-src/emacs/src/keyboard.c      /^read_menu_command (void)$/
-read_toc       perl-src/htlmify-cystic /^sub read_toc ()$/
-readable_events        c-src/emacs/src/keyboard.c      /^readable_events (int flags)$/
-readline       c-src/etags.c   /^readline (linebuffer *lbp, FILE *stream)$/
-readline_internal      c-src/etags.c   /^readline_internal (linebuffer *lbp, register FILE /
-realloc        c-src/emacs/src/gmalloc.c       65
-realloc        c-src/emacs/src/gmalloc.c       69
-realloc        c-src/emacs/src/gmalloc.c       /^realloc (void *ptr, size_t size)$/
-realloc        c-src/emacs/src/gmalloc.c       1716
-reallochook    c-src/emacs/src/gmalloc.c       /^reallochook (void *ptr, size_t size)$/
-recent-keys    c-src/emacs/src/keyboard.c      /^DEFUN ("recent-keys", Frecent_keys, Srecent_keys, /
-recent_keys    c-src/emacs/src/keyboard.c      100
-recent_keys_index      c-src/emacs/src/keyboard.c      94
-record_asynch_buffer_change    c-src/emacs/src/keyboard.c      /^record_asynch_buffer_change (void)$/
-record_auto_save       c-src/emacs/src/keyboard.c      /^record_auto_save (void)$/
-record_char    c-src/emacs/src/keyboard.c      /^record_char (Lisp_Object c)$/
-record_menu_key        c-src/emacs/src/keyboard.c      /^record_menu_key (Lisp_Object c)$/
-record_single_kboard_state     c-src/emacs/src/keyboard.c      /^record_single_kboard_state ()$/
-record_xmalloc c-src/emacs/src/lisp.h  /^extern void *record_xmalloc (size_t) ATTRIBUTE_ALL/
-recover_top_level_message      c-src/emacs/src/keyboard.c      138
-recursion-depth        c-src/emacs/src/keyboard.c      /^DEFUN ("recursion-depth", Frecursion_depth, Srecur/
-recursive-edit c-src/emacs/src/keyboard.c      /^DEFUN ("recursive-edit", Frecursive_edit, Srecursi/
-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)$/
-redirect       c-src/emacs/src/lisp.h  663
-reduce prol-src/natded.prolog  /^reduce((X^M)@N,L):-     % beta reduction$/
-reduce_subterm prol-src/natded.prolog  /^reduce_subterm(M,M2):-$/
-refreshPort    pyt-src/server.py       /^    def refreshPort(self):$/
-reg_errcode_t  c.c     279
-reg_errcode_t  c-src/emacs/src/regex.h 323
-reg_syntax_t   c-src/emacs/src/regex.h 43
-regex  c-src/etags.c   219
-regex.o        make-src/Makefile       /^regex.o: emacs\/src\/regex.c$/
-regex_t        c-src/emacs/src/regex.h 416
-regex_tag_multiline    c-src/etags.c   /^regex_tag_multiline (void)$/
-regexfile      make-src/Makefile       /^regexfile: Makefile$/
-regexp c-src/etags.c   256
-regexp c-src/etags.c   268
-registerAction objcpp-src/SimpleCalc.M /^- registerAction:(SEL)action$/
-register_heapinfo      c-src/emacs/src/gmalloc.c       /^register_heapinfo (void)$/
-regmatch_t     c-src/emacs/src/regex.h 451
-regoff_t       c-src/emacs/src/regex.h 423
-regs   c-src/etags.c   263
-regs   cp-src/screen.cpp       16
-regs_allocated c-src/emacs/src/regex.h 379
-regset c-src/h.h       31
-regular_top_level_message      c-src/emacs/src/keyboard.c      143
-rehash_size    c-src/emacs/src/lisp.h  1835
-rehash_threshold       c-src/emacs/src/lisp.h  1839
-relative_filename      c-src/etags.c   /^relative_filename (char *file, char *dir)$/
-release distrib        make-src/Makefile       /^release distrib: web$/
-removeexp      prol-src/natded.prolog  /^removeexp(E,E,'NIL'):-!.$/
-reorder_modifiers      c-src/emacs/src/keyboard.c      /^reorder_modifiers (Lisp_Object symbol)$/
-request        c.c     /^request request (a, b)$/
-requeued_events_pending_p      c-src/emacs/src/keyboard.c      /^requeued_events_pending_p (void)$/
-require        merc-src/accumulator.m  /^:- import_module require.$/
-required_argument      c-src/getopt.h  90
-reset-this-command-lengths     c-src/emacs/src/keyboard.c      /^DEFUN ("reset-this-command-lengths", Freset_this_c/
-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        prol-src/natded.prolog  /^reverse([],Ws,Ws).$/
-revert objc-src/PackInsp.m     /^-revert:sender$/
-right  c-src/etags.c   216
-right_shift    y-src/cccp.y    /^right_shift (a, b)$/
-ring1  c.c     241
-ring2  c.c     242
-rm_eo  c-src/emacs/src/regex.h 450
-rm_so  c-src/emacs/src/regex.h 449
-rng_base       cp-src/Range.h  79
-rng_inc        cp-src/Range.h  81
-rng_limit      cp-src/Range.h  80
-rng_nelem      cp-src/Range.h  83
-rosso  cp-src/c.C      40
-rsyncfromfly   make-src/Makefile       /^rsyncfromfly:$/
-rsynctofly     make-src/Makefile       /^rsynctofly:$/
-rtint  c-src/h.h       60
-rtint  c-src/h.h       68
-rtstr  c-src/h.h       61
-rtstr  c-src/h.h       69
-rtunion_def    c-src/h.h       58
-rtunion_def    c-src/h.h       64
-rtx    c-src/h.h       62
-rtxnp  c-src/h.h       71
-rtxp   c-src/h.h       70
-s      c-src/emacs/src/lisp.h  4672
-s      c-src/emacs/src/lisp.h  4678
-s1     cp-src/c.C      32
-s2     cp-src/c.C      35
-safe_run_hook_funcall  c-src/emacs/src/keyboard.c      /^safe_run_hook_funcall (ptrdiff_t nargs, Lisp_Objec/
-safe_run_hooks c-src/emacs/src/keyboard.c      /^safe_run_hooks (Lisp_Object hook)$/
-safe_run_hooks_1       c-src/emacs/src/keyboard.c      /^safe_run_hooks_1 (ptrdiff_t nargs, Lisp_Object *ar/
-safe_run_hooks_error   c-src/emacs/src/keyboard.c      /^safe_run_hooks_error (Lisp_Object error, ptrdiff_t/
-save   pyt-src/server.py       /^    def save(self):$/
-save   pyt-src/server.py       /^    def save(self):$/
-save   pyt-src/server.py       /^    def save(self):$/
-save_getcjmp   c-src/emacs/src/keyboard.c      /^save_getcjmp (sys_jmp_buf temp)$/
-save_type      c-src/emacs/src/lisp.h  /^save_type (struct Lisp_Save_Value *v, int n)$/
-savenstr       c-src/etags.c   /^savenstr (const char *cp, int len)$/
-savestr        c-src/etags.c   /^savestr (const char *cp)$/
-say    go-src/test.go  /^func say(msg string) {$/
-scan_separators        c-src/etags.c   /^scan_separators (char *name)$/
-scolonseen     c-src/etags.c   2447
-scratch        c-src/sysdep.h  56
-scroll_bar_parts       c-src/emacs/src/keyboard.c      5189
-sec=\relax     tex-src/texinfo.tex     /^\\let\\appendixsec=\\relax$/
-section        perl-src/htlmify-cystic 25
-section=\relax tex-src/texinfo.tex     /^\\let\\appendixsection=\\relax$/
-section_href   perl-src/htlmify-cystic /^sub section_href ($)$/
-section_name   perl-src/htlmify-cystic 12
-section_name   perl-src/htlmify-cystic /^sub section_name ($)$/
-section_toc    perl-src/htlmify-cystic 15
-section_url    perl-src/htlmify-cystic /^sub section_url ()$/
-section_url_base       perl-src/htlmify-cystic /^sub section_url_base ()$/
-section_url_name       perl-src/htlmify-cystic /^sub section_url_name ()$/
-select prol-src/natded.prolog  /^select(X,[X|Xs],Xs).$/
-select-tags-table      el-src/emacs/lisp/progmodes/etags.el    /^(defun select-tags-table ()$/
-select-tags-table-mode el-src/emacs/lisp/progmodes/etags.el    /^(define-derived-mode select-tags-table-mode specia/
-select-tags-table-mode-map     el-src/emacs/lisp/progmodes/etags.el    /^(defvar select-tags-table-mode-map ; Doc string?$/
-select-tags-table-quit el-src/emacs/lisp/progmodes/etags.el    /^(defun select-tags-table-quit ()$/
-select-tags-table-select       el-src/emacs/lisp/progmodes/etags.el    /^(defun select-tags-table-select (button)$/
-select_last    prol-src/natded.prolog  /^select_last([X],X,[]).$/
-send   objc-src/Subprocess.m   /^- send:(const char *)string withNewline:(BOOL)want/
-send   objc-src/Subprocess.m   /^- send:(const char *)string$/
-separator_names        c-src/emacs/src/keyboard.c      7372
-serializeToVars        php-src/lce_functions.php       /^      function serializeToVars($prefix)$/
-serializeToVars        php-src/lce_functions.php       /^      function serializeToVars($prefix)$/
-set    cp-src/conway.hpp       /^    void set(void) { alive = 1; }$/
-set    merc-src/accumulator.m  /^:- import_module set.$/
-set-input-interrupt-mode       c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-interrupt-mode", Fset_input_inte/
-set-input-meta-mode    c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-meta-mode", Fset_input_meta_mode/
-set-input-mode c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-mode", Fset_input_mode, Sset_inp/
-set-output-flow-control        c-src/emacs/src/keyboard.c      /^DEFUN ("set-output-flow-control", Fset_output_flow/
-set-quit-char  c-src/emacs/src/keyboard.c      /^DEFUN ("set-quit-char", Fset_quit_char, Sset_quit_/
-setDate        cp-src/functions.cpp    /^void Date::setDate ( int d , int m , int y ){$/
-setDelegate    objc-src/Subprocess.m   /^- setDelegate:anObject$/
-setRevertButtonTitle   objc-src/PackInsp.m     /^-setRevertButtonTitle$/
-set_base       cp-src/Range.h  /^  void set_base (double b) { rng_base = b;  }$/
-set_char_table_contents        c-src/emacs/src/lisp.h  /^set_char_table_contents (Lisp_Object table, ptrdif/
-set_char_table_defalt  c-src/emacs/src/lisp.h  /^set_char_table_defalt (Lisp_Object table, Lisp_Obj/
-set_char_table_extras  c-src/emacs/src/lisp.h  /^set_char_table_extras (Lisp_Object table, ptrdiff_/
-set_char_table_purpose c-src/emacs/src/lisp.h  /^set_char_table_purpose (Lisp_Object table, Lisp_Ob/
-set_hash_key_slot      c-src/emacs/src/lisp.h  /^set_hash_key_slot (struct Lisp_Hash_Table *h, ptrd/
-set_hash_value_slot    c-src/emacs/src/lisp.h  /^set_hash_value_slot (struct Lisp_Hash_Table *h, pt/
-set_inc        cp-src/Range.h  /^  void set_inc (double i) { rng_inc = i;   }$/
-set_limit      cp-src/Range.h  /^  void set_limit (double l) { rng_limit = l; }$/
-set_overlay_plist      c-src/emacs/src/lisp.h  /^set_overlay_plist (Lisp_Object overlay, Lisp_Objec/
-set_poll_suppress_count        c-src/emacs/src/keyboard.c      /^set_poll_suppress_count (int count)$/
-set_prop       c-src/emacs/src/keyboard.c      /^set_prop (ptrdiff_t idx, Lisp_Object val)$/
-set_save_integer       c-src/emacs/src/lisp.h  /^set_save_integer (Lisp_Object obj, int n, ptrdiff_/
-set_save_pointer       c-src/emacs/src/lisp.h  /^set_save_pointer (Lisp_Object obj, int n, void *va/
-set_string_intervals   c-src/emacs/src/lisp.h  /^set_string_intervals (Lisp_Object s, INTERVAL i)$/
-set_sub_char_table_contents    c-src/emacs/src/lisp.h  /^set_sub_char_table_contents (Lisp_Object table, pt/
-set_symbol_function    c-src/emacs/src/lisp.h  /^set_symbol_function (Lisp_Object sym, Lisp_Object /
-set_symbol_next        c-src/emacs/src/lisp.h  /^set_symbol_next (Lisp_Object sym, struct Lisp_Symb/
-set_symbol_plist       c-src/emacs/src/lisp.h  /^set_symbol_plist (Lisp_Object sym, Lisp_Object pli/
-set_upto       merc-src/accumulator.m  /^:- func set_upto(accu_case, int) = set(accu_goal_i/
-set_waiting_for_input  c-src/emacs/src/keyboard.c      /^set_waiting_for_input (struct timespec *time_to_cl/
-setref tex-src/texinfo.tex     /^\\expandafter\\expandafter\\expandafter\\appendixsetre/
-setup  cp-src/c.C      5
-shift  cp-src/functions.cpp    /^void Date::shift ( void ){\/\/Shift this date to pre/
-shouldLoad     objc-src/PackInsp.m     /^-(BOOL)shouldLoad$/
-should_attempt_accu_transform  merc-src/accumulator.m  /^:- pred should_attempt_accu_transform(module_info:/
-should_attempt_accu_transform_2        merc-src/accumulator.m  /^:- pred should_attempt_accu_transform_2(module_inf/
-should_see_this_array_type     cp-src/c.C      156
-should_see_this_function_pointer       cp-src/c.C      153
-should_see_this_one_enclosed_in_extern_C       cp-src/c.C      149
-show   erl-src/gs_dialog.erl   /^show(Module, Title, Message, Args) ->$/
-showError      objc-src/Subprocess.m   /^showError (const char *errorString, id theDelegate/
-showInfo       objc-src/PackInsp.m     /^-showInfo:sender$/
-show_help_echo c-src/emacs/src/keyboard.c      /^show_help_echo (Lisp_Object help, Lisp_Object wind/
-sig    c-src/emacs/src/keyboard.c      7238
-signal_handler c-src/h.h       82
-signal_handler1        c-src/h.h       83
-signal_handler_t       c-src/h.h       94
-simulation     html-src/software.html  /^Software that I wrote for supporting my research a/
-single_kboard  c-src/emacs/src/keyboard.c      89
-single_kboard_state    c-src/emacs/src/keyboard.c      /^single_kboard_state ()$/
-site   cp-src/conway.hpp       5
-site   cp-src/conway.hpp       /^    site(int xi, int yi): x(xi), y(yi), alive(0) {/
-size   c-src/etags.c   236
-size   c-src/etags.c   2522
-size   c-src/emacs/src/gmalloc.c       156
-size   c-src/emacs/src/gmalloc.c       163
-size   c-src/emacs/src/gmalloc.c       1862
-size   c-src/emacs/src/lisp.h  1364
-size   c-src/emacs/src/lisp.h  1390
-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)$/
-snarf-tag-function     el-src/emacs/lisp/progmodes/etags.el    /^(defvar snarf-tag-function nil$/
-snone  c-src/etags.c   2443
-solutions      merc-src/accumulator.m  /^:- import_module solutions.$/
-some_mouse_moved       c-src/emacs/src/keyboard.c      /^some_mouse_moved (void)$/
-space  tex-src/texinfo.tex     /^    {#2\\labelspace #1}\\dotfill\\doshortpageno{#3}}%/
-space  tex-src/texinfo.tex     /^  \\dosubsubsecentry{#2.#3.#4.#5\\labelspace#1}{#6}}/
-spacer c-src/emacs/src/lisp.h  1975
-spacer c-src/emacs/src/lisp.h  1982
-spacer c-src/emacs/src/lisp.h  2036
-spacer c-src/emacs/src/lisp.h  2205
-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):-$/
-splitexp       prol-src/natded.prolog  /^splitexp(E,E,('NIL','NIL')):-!.$/
-srclist        make-src/Makefile       /^srclist: Makefile$/
-ss3    c.c     255
-sss1   c.c     252
-sss2   c.c     253
-sstab  prol-src/natded.prolog  /^sstab(2,'C',',').$/
-st_C_attribute c-src/etags.c   2209
-st_C_class     c-src/etags.c   2212
-st_C_define    c-src/etags.c   2213
-st_C_enum      c-src/etags.c   2213
-st_C_extern    c-src/etags.c   2213
-st_C_gnumacro  c-src/etags.c   2208
-st_C_ignore    c-src/etags.c   2209
-st_C_javastruct        c-src/etags.c   2210
-st_C_objend    c-src/etags.c   2207
-st_C_objimpl   c-src/etags.c   2207
-st_C_objprot   c-src/etags.c   2207
-st_C_operator  c-src/etags.c   2211
-st_C_struct    c-src/etags.c   2213
-st_C_template  c-src/etags.c   2212
-st_C_typedef   c-src/etags.c   2213
-st_none        c-src/etags.c   2206
-stack  c.c     155
-stagseen       c-src/etags.c   2446
-standalone     make-src/Makefile       /^standalone:$/
-start  c-src/emacs/src/regex.h 431
-start  c-src/emacs/src/keyboard.c      8753
-start  c-src/emacs/src/lisp.h  2038
-start  php-src/lce_functions.php       /^      function start($line, $class)$/
-start  y-src/cccp.y    143
-start_polling  c-src/emacs/src/keyboard.c      /^start_polling (void)$/
-start_up       prol-src/natded.prolog  /^start_up:-$/
-state_protected_p      c-src/emacs/src/gmalloc.c       400
-statetable     html-src/algrthms.html  /^Next$/
-staticetags    make-src/Makefile       /^staticetags:$/
-step   cp-src/conway.hpp       /^    void step(void) { alive = next_alive; }$/
-step   cp-src/clheir.hpp       /^    virtual void step(void) { }$/
-step_everybody cp-src/clheir.cpp       /^void step_everybody(void)$/
-stop_polling   c-src/emacs/src/keyboard.c      /^stop_polling (void)$/
-store_info     merc-src/accumulator.m  /^:- type store_info$/
-store_user_signal_events       c-src/emacs/src/keyboard.c      /^store_user_signal_events (void)$/
-stored_goal_plain_call merc-src/accumulator.m  /^:- inst stored_goal_plain_call for goal_store.stor/
-str    go-src/test1.go 9
-strcaseeq      c-src/etags.c   /^#define strcaseeq(s,t)        (assert ((s)!=NULL && (t)!=/
-streq  c-src/etags.c   /^#define streq(s,t)    (assert ((s)!=NULL || (t)!=NULL/
-string merc-src/accumulator.m  /^:- import_module string.$/
-string_intervals       c-src/emacs/src/lisp.h  /^string_intervals (Lisp_Object s)$/
-stripLine      php-src/lce_functions.php       /^      function stripLine($line, $class)$/
-stripname      pas-src/common.pas      /^function stripname; (* ($/
-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)$/
-subprocess     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$/
-subsection     perl-src/htlmify-cystic 26
-subsection=\relax      tex-src/texinfo.tex     /^\\let\\appendixsubsection=\\relax$/
-subsection_marker      perl-src/htlmify-cystic 161
-subst  prol-src/natded.prolog  /^subst(var(Y),var(X),M,N):-$/
-substitute     c-src/etags.c   /^substitute (char *in, char *out, struct re_registe/
-subsubsec=\relax       tex-src/texinfo.tex     /^\\let\\appendixsubsubsec=\\relax$/
-subsubsection  perl-src/htlmify-cystic 27
-subsubsection=\relax   tex-src/texinfo.tex     /^\\let\\appendixsubsubsection=\\relax$/
-subtle ruby-src/test1.ru       /^                 :tee ; attr_reader :subtle$/
-subtree        prol-src/natded.prolog  /^subtree(T,T).$/
-suffix c-src/etags.c   186
-suffixes       c-src/etags.c   195
-suggest_asking_for_help        c-src/etags.c   /^suggest_asking_for_help (void)$/
-suspend-emacs  c-src/emacs/src/keyboard.c      /^DEFUN ("suspend-emacs", Fsuspend_emacs, Ssuspend_e/
-sval   y-src/cccp.y    116
-swallow_events c-src/emacs/src/keyboard.c      /^swallow_events (bool do_display)$/
-switch_line_buffers    c-src/etags.c   /^#define switch_line_buffers() (curndx = 1 - curndx/
-sxhash_combine c-src/emacs/src/lisp.h  /^sxhash_combine (EMACS_UINT x, EMACS_UINT y)$/
-sym_type       c-src/etags.c   2204
-symbol c-src/emacs/src/lisp.h  2980
-symbol_interned        c-src/emacs/src/lisp.h  639
-symbol_name    c-src/emacs/src/lisp.h  1687
-symbol_redirect        c-src/emacs/src/lisp.h  646
-syms_of_abbrev c-src/abbrev.c  /^syms_of_abbrev ()$/
-syms_of_keyboard       c-src/emacs/src/keyboard.c      /^syms_of_keyboard (void)$/
-synchronize_system_messages_locale     c-src/emacs/src/lisp.h  /^INLINE void synchronize_system_messages_locale (vo/
-synchronize_system_time_locale c-src/emacs/src/lisp.h  /^INLINE void synchronize_system_time_locale (void) /
-syntax c-src/emacs/src/regex.h 350
-sys_jmp_buf    c-src/emacs/src/lisp.h  2906
-sys_jmp_buf    c-src/emacs/src/lisp.h  2910
-sys_jmp_buf    c-src/emacs/src/lisp.h  2916
-sys_longjmp    c-src/emacs/src/lisp.h  /^# define sys_longjmp(j, v) _longjmp (j, v)$/
-sys_longjmp    c-src/emacs/src/lisp.h  /^# define sys_longjmp(j, v) siglongjmp (j, v)$/
-sys_longjmp    c-src/emacs/src/lisp.h  /^# define sys_longjmp(j, v) longjmp (j, v)$/
-sys_setjmp     c-src/emacs/src/lisp.h  /^# define sys_setjmp(j) _setjmp (j)$/
-sys_setjmp     c-src/emacs/src/lisp.h  /^# define sys_setjmp(j) sigsetjmp (j, 0)$/
-sys_setjmp     c-src/emacs/src/lisp.h  /^# define sys_setjmp(j) setjmp (j)$/
-syscall_error  c-src/sysdep.h  34
-t      cp-src/c.C      52
-t1     cp-src/c.C      34
-t2     cp-src/c.C      38
-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)$/
-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)$/
-tag-file-name-match-p  el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-file-name-match-p (tag)$/
-tag-find-file-of-tag   el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-find-file-of-tag (file) ; Doc string?$/
-tag-find-file-of-tag-noselect  el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-find-file-of-tag-noselect (file)$/
-tag-implicit-name-match-p      el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-implicit-name-match-p (tag)$/
-tag-lines-already-matched      el-src/emacs/lisp/progmodes/etags.el    /^(defvar tag-lines-already-matched nil$/
-tag-partial-file-name-match-p  el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-partial-file-name-match-p (_tag)$/
-tag-re-match-p el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-re-match-p (re)$/
-tag-symbol-match-p     el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-symbol-match-p (tag)$/
-tag-word-match-p       el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-word-match-p (tag)$/
-tag1   c-src/torture.c /^(*tag1 (sig, handler)) ()$/
-tag1   c-src/dostorture.c      /^(*tag1 (sig, handler)) ()$/
-tag1   c-src/h.h       110
-tag2   c-src/torture.c /^(*tag2 (sig, handler)) ()$/
-tag2   c-src/dostorture.c      /^(*tag2 (sig, handler)) ()$/
-tag3   c-src/torture.c /^(*tag3 (int sig, void (*handler) (int))) (int)$/
-tag3   c-src/dostorture.c      /^(*tag3 (int sig, void (*handler) (int))) (int)$/
-tag4   c-src/torture.c /^(*tag4 (int sig, void (*handler) (int))) (int)$/
-tag4   c-src/dostorture.c      /^(*tag4 (int sig, void (*handler) (int))) (int)$/
-tag5   c-src/torture.c /^tag5 (handler, arg)$/
-tag5   c-src/dostorture.c      /^tag5 (handler, arg)$/
-tag6   c-src/torture.c /^tag6 (void (*handler) (void *), void *arg)$/
-tag6   c-src/dostorture.c      /^tag6 (void (*handler) (void *), void *arg)$/
-tag_or_ch      c-src/emacs/src/lisp.h  3026
-taggedfname    c-src/etags.c   207
-tags   make-src/Makefile       /^tags: TAGS$/
-tags-add-tables        el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-add-tables 'ask-user$/
-tags-apropos   el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-apropos (regexp)$/
-tags-apropos-additional-actions        el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-apropos-additional-actions nil$/
-tags-apropos-function  el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-apropos-function nil$/
-tags-apropos-verbose   el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-apropos-verbose nil$/
-tags-case-fold-search  el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-case-fold-search 'default$/
-tags-complete-tags-table-file  el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-complete-tags-table-file (string predi/
-tags-completion-at-point-function      el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-completion-at-point-function ()$/
-tags-completion-table  el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-completion-table nil$/
-tags-completion-table  el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-completion-table ()$/
-tags-completion-table-function el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-completion-table-function nil$/
-tags-compression-info-list     el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-compression-info-list$/
-tags-expand-table-name el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-expand-table-name (file)$/
-tags-file-name el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-file-name nil$/
-tags-included-tables   el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-included-tables nil$/
-tags-included-tables   el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-included-tables ()$/
-tags-included-tables-function  el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-included-tables-function nil$/
-tags-lazy-completion-table     el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-lazy-completion-table ()$/
-tags-location-ring     el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-location-ring (make-ring xref-marker-/
-tags-loop-continue     el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-loop-continue (&optional first-time)$/
-tags-loop-eval el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-loop-eval (form)$/
-tags-loop-operate      el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-loop-operate nil$/
-tags-loop-revert-buffers       el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-loop-revert-buffers nil$/
-tags-loop-scan el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-loop-scan$/
-tags-next-table        el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-next-table ()$/
-tags-query-replace     el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-query-replace (from to &optional delim/
-tags-recognize-empty-tags-table        el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-recognize-empty-tags-table ()$/
-tags-reset-tags-tables el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-reset-tags-tables ()$/
-tags-revert-without-query      el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-revert-without-query nil$/
-tags-search    el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-search (regexp &optional file-list-for/
-tags-select-tags-table el-src/emacs/lisp/progmodes/etags.el    /^(define-button-type 'tags-select-tags-table$/
-tags-table-check-computed-list el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-check-computed-list ()$/
-tags-table-computed-list       el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-computed-list nil$/
-tags-table-computed-list-for   el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-computed-list-for nil$/
-tags-table-extend-computed-list        el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-extend-computed-list ()$/
-tags-table-files       el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-files nil$/
-tags-table-files       el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-files ()$/
-tags-table-files-function      el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-files-function nil$/
-tags-table-format-functions    el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-format-functions '(etags-recogn/
-tags-table-including   el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-including (this-file core-only)$/
-tags-table-list        el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-table-list nil$/
-tags-table-list-member el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-list-member (file list)$/
-tags-table-list-pointer        el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-list-pointer nil$/
-tags-table-list-started-at     el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-list-started-at nil$/
-tags-table-mode        el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-mode ()$/
-tags-table-set-list    el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-set-list nil$/
-tags-tag-face  el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-tag-face 'default$/
-tags-verify-table      el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-verify-table (file)$/
-tags-with-face el-src/emacs/lisp/progmodes/etags.el    /^(defmacro tags-with-face (face &rest body)$/
-target_multibyte       c-src/emacs/src/regex.h 407
-tcpdump        html-src/software.html  /^tcpdump$/
-teats  cp-src/c.C      127
-tee    ruby-src/test1.ru       /^    attr_accessor :tee$/
-tee=   ruby-src/test1.ru       /^    attr_accessor :tee$/
-temporarily_switch_to_single_kboard    c-src/emacs/src/keyboard.c      /^temporarily_switch_to_single_kboard (struct frame /
-tend   c-src/etags.c   2432
-term   merc-src/accumulator.m  /^:- import_module term.$/
-terminate      objc-src/Subprocess.m   /^- terminate:sender$/
-terminateInput objc-src/Subprocess.m   /^- terminateInput$/
-test   c-src/emacs/src/lisp.h  1871
-test   cp-src/c.C      86
-test   erl-src/gs_dialog.erl   /^test() ->$/
-test   go-src/test1.go /^func test(p plus) {$/
-test   make-src/Makefile       /^test:$/
-test   php-src/ptest.php       /^test $/
-test-begin     scm-src/test.scm        /^(define-syntax test-begin$/
-test.me22b     lua-src/test.lua        /^   local function test.me22b (one)$/
-test.me_22a    lua-src/test.lua        /^   function test.me_22a(one, two)$/
-test1  rs-src/test.rs  /^fn test1() {$/
-test_undefined c-src/emacs/src/keyboard.c      /^test_undefined (Lisp_Object binding)$/
-texttreelist   prol-src/natded.prolog  /^texttreelist([]).$/
-there-is-a-=-in-the-middle!    scm-src/test.scm        /^(define (there-is-a-=-in-the-middle!) #t)$/
-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/
-this-single-command-keys       c-src/emacs/src/keyboard.c      /^DEFUN ("this-single-command-keys", Fthis_single_co/
-this-single-command-raw-keys   c-src/emacs/src/keyboard.c      /^DEFUN ("this-single-command-raw-keys", Fthis_singl/
-this_command_key_count c-src/emacs/src/keyboard.c      108
-this_command_key_count_reset   c-src/emacs/src/keyboard.c      112
-this_command_keys      c-src/emacs/src/keyboard.c      107
-this_file_toc  perl-src/htlmify-cystic 29
-this_single_command_key_start  c-src/emacs/src/keyboard.c      125
-tignore        c-src/etags.c   2433
-timer_check    c-src/emacs/src/keyboard.c      /^timer_check (void)$/
-timer_check_2  c-src/emacs/src/keyboard.c      /^timer_check_2 (Lisp_Object timers, Lisp_Object idl/
-timer_idleness_start_time      c-src/emacs/src/keyboard.c      335
-timer_last_idleness_start_time c-src/emacs/src/keyboard.c      340
-timer_resume_idle      c-src/emacs/src/keyboard.c      /^timer_resume_idle (void)$/
-timer_start_idle       c-src/emacs/src/keyboard.c      /^timer_start_idle (void)$/
-timer_stop_idle        c-src/emacs/src/keyboard.c      /^timer_stop_idle (void)$/
-timers_run     c-src/emacs/src/keyboard.c      320
-tinbody        c-src/etags.c   2431
-tkeyseen       c-src/etags.c   2429
-tnone  c-src/etags.c   2428
-toc_line       perl-src/htlmify-cystic /^sub toc_line ($)$/
-toggleDescription      objc-src/PackInsp.m     /^-toggleDescription$/
-tok    c-src/etags.c   2491
-token  c-src/etags.c   2508
-token  y-src/cccp.y    437
-token  y-src/cccp.y    439
-tokenize       prol-src/natded.prolog  /^tokenize([C1,C2,C3|Cs],Xs-Ys,TsResult):-     % spe/
-tokenizeatom   prol-src/natded.prolog  /^tokenizeatom(Atom,Ws):-$/
-tokentab2      y-src/cccp.y    442
-tool_bar_item_properties       c-src/emacs/src/keyboard.c      7970
-tool_bar_items c-src/emacs/src/keyboard.c      /^tool_bar_items (Lisp_Object reuse, int *nitems)$/
-tool_bar_items_vector  c-src/emacs/src/keyboard.c      7965
-toolkit_menubar_in_use c-src/emacs/src/keyboard.c      /^toolkit_menubar_in_use (struct frame *f)$/
-top-level      c-src/emacs/src/keyboard.c      /^DEFUN ("top-level", Ftop_level, Stop_level, 0, 0, /
-top_level      merc-src/accumulator.m  /^:- type top_level$/
-top_level_1    c-src/emacs/src/keyboard.c      /^top_level_1 (Lisp_Object ignore)$/
-top_level_2    c-src/emacs/src/keyboard.c      /^top_level_2 (void)$/
-total_keys     c-src/emacs/src/keyboard.c      97
-total_size_of_entries  c-src/etags.c   /^total_size_of_entries (register node *np)$/
-total_surrounding      cp-src/conway.cpp       /^int site::total_surrounding(void)$/
-totally_unblock_input  c-src/emacs/src/keyboard.c      /^totally_unblock_input (void)$/
-tpcmd  c-src/h.h       8
-tpcmd  c-src/h.h       15
-track-mouse    c-src/emacs/src/keyboard.c      /^DEFUN ("internal--track-mouse", Ftrack_mouse, Stra/
-tracking_off   c-src/emacs/src/keyboard.c      /^tracking_off (Lisp_Object old_value)$/
-traffic_light  cp-src/conway.cpp       /^void traffic_light(int x, int y)$/
-translate      c-src/emacs/src/regex.h 361
-treats cp-src/c.C      131
-tt     prol-src/natded.prolog  /^tt:-$/
-tt=cmtt10      tex-src/texinfo.tex     /^\\font\\deftt=cmtt10 scaled \\magstep1$/
-tty_read_avail_input   c-src/emacs/src/keyboard.c      /^tty_read_avail_input (struct terminal *terminal,$/
-ttypeseen      c-src/etags.c   2430
-typdef c-src/etags.c   2434
-type   c-src/etags.c   2271
-type   c-src/emacs/src/gmalloc.c       145
-type   c-src/emacs/src/lisp.h  1973
-type   c-src/emacs/src/lisp.h  1980
-type   c-src/emacs/src/lisp.h  2034
-type   c-src/emacs/src/lisp.h  2112
-type   c-src/emacs/src/lisp.h  2203
-type   c-src/emacs/src/lisp.h  2276
-type   c-src/emacs/src/lisp.h  2286
-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
-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$/
-typemargin     tex-src/texinfo.tex     /^\\rlap{\\rightline{{\\rm #2}\\hskip \\deftypemargin}}}%/
-u      c-src/emacs/src/lisp.h  2397
-u_any  c-src/emacs/src/lisp.h  2214
-u_boolfwd      c-src/emacs/src/lisp.h  2371
-u_buffer_objfwd        c-src/emacs/src/lisp.h  2373
-u_finalizer    c-src/emacs/src/lisp.h  2219
-u_free c-src/emacs/src/lisp.h  2215
-u_intfwd       c-src/emacs/src/lisp.h  2370
-u_kboard_objfwd        c-src/emacs/src/lisp.h  2374
-u_marker       c-src/emacs/src/lisp.h  2216
-u_objfwd       c-src/emacs/src/lisp.h  2372
-u_overlay      c-src/emacs/src/lisp.h  2217
-u_save_value   c-src/emacs/src/lisp.h  2218
-unargs tex-src/texinfo.tex     /^\\defunargs {#2}\\endgroup %$/
-unargs tex-src/texinfo.tex     /^\\defunargs {#2}\\endgroup %$/
-unargs tex-src/texinfo.tex     /^\\defunargs {#2}\\endgroup %$/
-unargs tex-src/texinfo.tex     /^\\defunargs {#3}\\endgroup %$/
-unargs tex-src/texinfo.tex     /^\\defunargs {#3}\\endgroup %$/
-unblock_input  c-src/emacs/src/keyboard.c      /^unblock_input (void)$/
-unblock_input_to       c-src/emacs/src/keyboard.c      /^unblock_input_to (int level)$/
-unchar c-src/h.h       99
-unexpand-abbrev        c-src/abbrev.c  /^DEFUN ("unexpand-abbrev", Funexpand_abbrev, Sunexp/
-univ   merc-src/accumulator.m  /^:- import_module univ.$/
-unravel_univ   merc-src/accumulator.m  /^:- some [T] pred unravel_univ(univ::in, T::out) is/
-unread_switch_frame    c-src/emacs/src/keyboard.c      204
-unsignedp      y-src/cccp.y    112
-unwind c-src/emacs/src/lisp.h  2962
-unwind_int     c-src/emacs/src/lisp.h  2972
-unwind_ptr     c-src/emacs/src/lisp.h  2967
-unwind_void    c-src/emacs/src/lisp.h  2976
-update_accumulator_pred        merc-src/accumulator.m  /^:- pred update_accumulator_pred(pred_id::in, proc_/
-uprintmax_t    c-src/emacs/src/lisp.h  149
-uprintmax_t    c-src/emacs/src/lisp.h  154
-usage  perl-src/yagrip.pl      /^sub usage {$/
-usecharno      c-src/etags.c   210
-used   c-src/emacs/src/regex.h 347
-used_syntax    c-src/emacs/src/regex.h 398
-user_cmp_function      c-src/emacs/src/lisp.h  1814
-user_error     c-src/emacs/src/keyboard.c      /^user_error (const char *msg)$/
-user_hash_function     c-src/emacs/src/lisp.h  1811
-user_signal_info       c-src/emacs/src/keyboard.c      7235
-user_signals   c-src/emacs/src/keyboard.c      7250
-usfreelock_ptr/t       ada-src/etags-test-for.ada      /^   type usfreelock_ptr is access$/
-val    c-src/getopt.h  84
-val    c-src/emacs/src/lisp.h  691
-val    c-src/emacs/src/lisp.h  3027
-val    prol-src/natded.prolog  /^val(X) --> ['['], valseq(X), [']'].$/
-valcell        c-src/emacs/src/lisp.h  2357
-valid  c-src/etags.c   220
-valid  c-src/etags.c   2502
-validate       php-src/lce_functions.php       /^      function validate($value)$/
-validate       php-src/lce_functions.php       /^      function validate($value)$/
-valloc c-src/emacs/src/gmalloc.c       /^valloc (size_t size)$/
-valseq prol-src/natded.prolog  /^valseq([Val|Vals]) --> val(Val), plusvalseq(Vals)./
-value  c-src/emacs/src/lisp.h  687
-value  y-src/cccp.y    112
-var    c-src/emacs/src/keyboard.c      11023
-var    c-src/emacs/src/lisp.h  3137
-varargs        tex-src/texinfo.tex     /^\\defvarargs {#3}\\endgroup %$/
-varargs        tex-src/texinfo.tex     /^\\defvarargs {#3}\\endgroup %$/
-varargs        tex-src/texinfo.tex     /^\\defvarargs {#2}\\endgroup %$/
-varargs        tex-src/texinfo.tex     /^\\defvarargs {#2}\\endgroup %$/
-varset merc-src/accumulator.m  /^:- import_module varset.$/
-vcopy  c-src/emacs/src/lisp.h  /^vcopy (Lisp_Object v, ptrdiff_t offset, Lisp_Objec/
-vectorlike_header      c-src/emacs/src/lisp.h  1343
-verde  cp-src/c.C      40
-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)$/
-vignore        c-src/etags.c   2417
-visit-tags-table       el-src/emacs/lisp/progmodes/etags.el    /^(defun visit-tags-table (file &optional local)$/
-visit-tags-table-buffer        el-src/emacs/lisp/progmodes/etags.el    /^(defun visit-tags-table-buffer (&optional cont)$/
-void   c-src/emacs/src/lisp.h  /^INLINE void (check_cons_list) (void) { lisp_h_chec/
-voidfuncptr    c-src/emacs/src/lisp.h  2108
-voidval        y-src/cccp.y    115
-wait_status_ptr_t      c.c     161
-waiting_for_input      c-src/emacs/src/keyboard.c      150
-warning        y-src/cccp.y    /^warning (msg)$/
-weak   c-src/emacs/src/lisp.h  1830
-weak_alias     c-src/emacs/src/gmalloc.c       /^weak_alias (free, cfree)$/
-web ftp publish        make-src/Makefile       /^web ftp publish:$/
-what   c-src/etags.c   252
-wheel_syms     c-src/emacs/src/keyboard.c      4628
-where  c-src/emacs/src/lisp.h  2348
-where  c-src/emacs/src/lisp.h  2980
-where  cp-src/clheir.hpp       77
-where_in_registry      cp-src/clheir.hpp       15
-windowWillClose        objcpp-src/SimpleCalc.M /^- windowWillClose:sender$/
-wipe_kboard    c-src/emacs/src/keyboard.c      /^wipe_kboard (KBOARD *kb)$/
-womboid        c-src/h.h       63
-womboid        c-src/h.h       75
-word_size      c-src/emacs/src/lisp.h  1473
-write  php-src/lce_functions.php       /^      function write()$/
-write  php-src/lce_functions.php       /^      function write($save="yes")$/
-write1=        ruby-src/test1.ru       /^    attr_reader :read1 , :read2; attr_writer :writ/
-write2=        ruby-src/test1.ru       /^    attr_reader :read1 , :read2; attr_writer :writ/
-write_abbrev   c-src/abbrev.c  /^write_abbrev (sym, stream)$/
-write_classname        c-src/etags.c   /^write_classname (linebuffer *cn, const char *quali/
-write_lex      prol-src/natded.prolog  /^write_lex(File):-$/
-write_lex_cat  prol-src/natded.prolog  /^write_lex_cat(File):-$/
-write_xyc      cp-src/screen.cpp       /^void write_xyc(int x, int y, char c)$/
-writebreak     prol-src/natded.prolog  /^writebreak([]).$/
-writebreaklex  prol-src/natded.prolog  /^writebreaklex([]).$/
-writecat       prol-src/natded.prolog  /^writecat(np(ind(sng),nm(_)),np,[],[]):-!.$/
-writelist      prol-src/natded.prolog  /^writelist([der(Ws)|Ws2]):-$/
-writelistsubs  prol-src/natded.prolog  /^writelistsubs([],X):-$/
-writenamestring        pas-src/common.pas      /^procedure writenamestring;(*($/
-writesubs      prol-src/natded.prolog  /^writesubs([]).$/
-writesups      prol-src/natded.prolog  /^writesups([]).$/
-written        c-src/etags.c   211
-x      c.c     153
-x      c.c     179
-x      c.c     188
-x      c.c     189
-x      cp-src/c.C      53
-x      cp-src/c.C      80
-x      cp-src/conway.hpp       7
-x      cp-src/clheir.hpp       49
-x      cp-src/clheir.hpp       58
-x      cp-src/fail.C   10
-x      cp-src/fail.C   44
-x      tex-src/texinfo.tex     /^\\refx{#1-snt}{} [\\printednodename], page\\tie\\refx{/
-x-get-selection-internal       c.c     /^DEFUN ("x-get-selection-internal", Fx_get_selectio/
-x-get-selection-internal       c.c     /^       Fx_get_selection_internal, Sx_get_selection/
-xcar_addr      c-src/emacs/src/lisp.h  /^xcar_addr (Lisp_Object c)$/
-xcdr_addr      c-src/emacs/src/lisp.h  /^xcdr_addr (Lisp_Object c)$/
-xdiff  make-src/Makefile       /^xdiff: ETAGS EXTAGS ${infiles}$/
-xmalloc        c-src/etags.c   /^xmalloc (size_t size)$/
-xnew   c-src/etags.c   /^#define xnew(n, Type)      ((Type *) xmalloc ((n) /
-xrealloc       c-src/etags.c   /^xrealloc (void *ptr, size_t size)$/
-xref-etags-location    el-src/emacs/lisp/progmodes/etags.el    /^(defclass xref-etags-location (xref-location)$/
-xref-location-line     el-src/emacs/lisp/progmodes/etags.el    /^(cl-defmethod xref-location-line ((l xref-etags-lo/
-xref-location-marker   el-src/emacs/lisp/progmodes/etags.el    /^(cl-defmethod xref-location-marker ((l xref-etags-/
-xref-make-etags-location       el-src/emacs/lisp/progmodes/etags.el    /^(defun xref-make-etags-location (tag-info file)$/
-xrnew  c-src/etags.c   /^#define xrnew(op, n, Type) ((op) = (Type *) xreall/
-xx     make-src/Makefile       /^xx="this line is here because of a fontlock bug$/
-xyz    ruby-src/test1.ru       /^    alias_method :xyz,$/
-y      cp-src/conway.hpp       7
-y      cp-src/clheir.hpp       49
-y      cp-src/clheir.hpp       58
-y-get-selection-internal       c.c     /^      Fy_get_selection_internal, Sy_get_selection_/
-yyalloc        /usr/share/bison/bison.simple   83
-yyalloc        /usr/share/bison/bison.simple   84
-yyclearin      /usr/share/bison/bison.simple   149
-yyclearin      /usr/share/bison/bison.simple   150
-yydebug        /usr/share/bison/bison.simple   237
-yydebug        /usr/share/bison/bison.simple   238
-yyerrhandle    /usr/share/bison/bison.simple   848
-yyerrlab1      /usr/share/bison/bison.simple   823
-yyerrok        /usr/share/bison/bison.simple   148
-yyerrok        /usr/share/bison/bison.simple   149
-yyerror        y-src/cccp.y    /^yyerror (s)$/
-yyerrstatus    /usr/share/bison/bison.simple   846
-yylex  y-src/cccp.y    /^yylex ()$/
-yyls   /usr/share/bison/bison.simple   88
-yyls   /usr/share/bison/bison.simple   89
-yylsp  /usr/share/bison/bison.simple   748
-yylsp  /usr/share/bison/bison.simple   921
-yymemcpy       /usr/share/bison/bison.simple   264
-yymemcpy       /usr/share/bison/bison.simple   /^yymemcpy (char *yyto, const char *yyfrom, YYSIZE_T/
-yymemcpy       /usr/share/bison/bison.simple   265
-yymemcpy       /usr/share/bison/bison.simple   /^yymemcpy (char *yyto, const char *yyfrom, YYSIZE_T/
-yyn    /usr/share/bison/bison.simple   755
-yyn    /usr/share/bison/bison.simple   861
-yyn    /usr/share/bison/bison.simple   895
-yyn    /usr/share/bison/bison.simple   903
-yynewstate     /usr/share/bison/bison.simple   763
-yynewstate     /usr/share/bison/bison.simple   925
-yyparse        /usr/share/bison/bison.simple   /^yyparse (YYPARSE_PARAM_ARG)$/
-yyparse        /usr/share/bison/bison.simple   /^yyparse (YYPARSE_PARAM_ARG)$/
-yyresult       /usr/share/bison/bison.simple   932
-yyresult       /usr/share/bison/bison.simple   939
-yyresult       /usr/share/bison/bison.simple   947
-yyreturn       /usr/share/bison/bison.simple   933
-yyreturn       /usr/share/bison/bison.simple   940
-yyss   /usr/share/bison/bison.simple   85
-yyss   /usr/share/bison/bison.simple   86
-yystate        /usr/share/bison/bison.simple   757
-yystate        /usr/share/bison/bison.simple   761
-yystate        /usr/share/bison/bison.simple   875
-yystate        /usr/share/bison/bison.simple   924
-yystpcpy       /usr/share/bison/bison.simple   316
-yystpcpy       /usr/share/bison/bison.simple   /^yystpcpy (char *yydest, const char *yysrc)$/
-yystpcpy       /usr/share/bison/bison.simple   317
-yystpcpy       /usr/share/bison/bison.simple   /^yystpcpy (char *yydest, const char *yysrc)$/
-yystrlen       /usr/share/bison/bison.simple   293
-yystrlen       /usr/share/bison/bison.simple   /^yystrlen (const char *yystr)$/
-yystrlen       /usr/share/bison/bison.simple   294
-yystrlen       /usr/share/bison/bison.simple   /^yystrlen (const char *yystr)$/
-yyvs   /usr/share/bison/bison.simple   86
-yyvs   /usr/share/bison/bison.simple   87
-yyvsp  /usr/share/bison/bison.simple   746
-yyvsp  /usr/share/bison/bison.simple   919
-z      c.c     144
-z      c.c     164
-z      cp-src/clheir.hpp       49
-z      cp-src/clheir.hpp       58
-|      tex-src/texinfo.tex     /^\\def|{{\\tt \\char '174}}$/
-~      tex-src/texinfo.tex     /^\\def~{{\\tt \\char '176}}$/
-~A     cp-src/c.C      /^A::~A() {}$/
-~B     cp-src/c.C      /^    ~B() {};$/
-~MDiagArray2   cp-src/MDiagArray2.h    /^  ~MDiagArray2 (void) { }$/
-~generic_object        cp-src/clheir.cpp       /^generic_object::~generic_object(void)$/
diff --git a/test/manual/etags/CTAGS.good_crlf b/test/manual/etags/CTAGS.good_crlf
deleted file mode 100644 (file)
index 3d64fa6..0000000
+++ /dev/null
@@ -1,4484 +0,0 @@
-#a-defer-word  forth-src/test-forth.fth        /^defer #a-defer-word$/
-#some-storage  forth-src/test-forth.fth        /^2000 buffer: #some-storage$/
-$0x80  c-src/sysdep.h  32
-$SYS_##syscall_na      c-src/sysdep.h  31
-$domain        php-src/lce_functions.php       175
-$filename      php-src/lce_functions.php       174
-$ignore_ws     php-src/lce_functions.php       171
-$memassign     php-src/ptest.php       9
-$memassign_space       php-src/ptest.php       10
-$member        php-src/ptest.php       8
-$msgid php-src/lce_functions.php       107
-$msgid php-src/lce_functions.php       165
-$msgid_lc      php-src/lce_functions.php       113
-$msgstr        php-src/lce_functions.php       108
-$msgstr        php-src/lce_functions.php       166
-$msgstr_lc     php-src/lce_functions.php       114
-$po_entries    php-src/lce_functions.php       172
-$poe_num       php-src/lce_functions.php       173
-$por_a php-src/lce_functions.php       500
-$prefix        php-src/lce_functions.php       72
-$state php-src/lce_functions.php       170
-$sys_comment   php-src/lce_functions.php       110
-$sys_comment   php-src/lce_functions.php       168
-$sys_comment_lc        php-src/lce_functions.php       116
-$test  php-src/ptest.php       12
-$unk_comment   php-src/lce_functions.php       111
-$unk_comment   php-src/lce_functions.php       169
-$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
-${CHECKOBJS}   make-src/Makefile       /^${CHECKOBJS}: CFLAGS=-g3 -DNULLFREECHECK=0$/
-%cdiff make-src/Makefile       /^%cdiff: CTAGS% CTAGS ${infiles}$/
-%ediff make-src/Makefile       /^%ediff: ETAGS% ETAGS ${infiles}$/
-($_,$flag,$opt,$f,$r,@temp     perl-src/yagrip.pl      8
-($prog,$_,@list        perl-src/yagrip.pl      39
-($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) ( -- )$/
-(foo)  forth-src/test-forth.fth        /^: (foo) 1 ;$/
-+      ruby-src/test.rb        /^        def +(y)$/
-+      tex-src/texinfo.tex     /^\\def+{{\\tt \\char 43}}$/
-.PRECIOUS      make-src/Makefile       /^.PRECIOUS: ETAGS CTAGS ETAGS16 CTAGS16 ETAGS17 CTA/
-/.notdef       ps-src/rfc1245.ps       /^\/.notdef \/.notdef \/.notdef \/.notdef \/.notdef \/.not/
-/.notdef       ps-src/rfc1245.ps       /^\/.notdef \/.notdef \/.notdef \/.notdef \/space \/exclam/
-/A     ps-src/rfc1245.ps       /^\/A { $/
-/Acircumflex   ps-src/rfc1245.ps       /^\/Acircumflex \/Ecircumflex \/Aacute \/Edieresis \/Egra/
-/B     ps-src/rfc1245.ps       /^\/B { $/
-/BEGINBITMAP2BIT       ps-src/rfc1245.ps       /^\/BEGINBITMAP2BIT { $/
-/BEGINBITMAP2BITc      ps-src/rfc1245.ps       /^\/BEGINBITMAP2BITc { $/
-/BEGINBITMAPBW ps-src/rfc1245.ps       /^\/BEGINBITMAPBW { $/
-/BEGINBITMAPBWc        ps-src/rfc1245.ps       /^\/BEGINBITMAPBWc { $/
-/BEGINBITMAPGRAY       ps-src/rfc1245.ps       /^\/BEGINBITMAPGRAY { $/
-/BEGINBITMAPGRAYc      ps-src/rfc1245.ps       /^\/BEGINBITMAPGRAYc { $/
-/BEGINPRINTCODE        ps-src/rfc1245.ps       /^\/BEGINPRINTCODE { $/
-/BF    ps-src/rfc1245.ps       /^\/BF { $/
-/BITMAPCOLOR   ps-src/rfc1245.ps       /^\/BITMAPCOLOR { $/
-/BITMAPCOLORc  ps-src/rfc1245.ps       /^\/BITMAPCOLORc { $/
-/BITMAPGRAY    ps-src/rfc1245.ps       /^\/BITMAPGRAY { $/
-/BITMAPGRAYc   ps-src/rfc1245.ps       /^\/BITMAPGRAYc { $/
-/C     ps-src/rfc1245.ps       /^\/C { $/
-/COMMONBITMAP  ps-src/rfc1245.ps       /^\/COMMONBITMAP { $/
-/COMMONBITMAPc ps-src/rfc1245.ps       /^\/COMMONBITMAPc { $/
-/D     ps-src/rfc1245.ps       /^\/D {curveto} bind def$/
-/DiacriticEncoding     ps-src/rfc1245.ps       /^\/DiacriticEncoding [$/
-/E     ps-src/rfc1245.ps       /^\/E {lineto} bind def$/
-/ENDBITMAP     ps-src/rfc1245.ps       /^\/ENDBITMAP {$/
-/ENDPRINTCODE  ps-src/rfc1245.ps       /^\/ENDPRINTCODE {$/
-/F     ps-src/rfc1245.ps       /^\/F { $/
-/FMBEGINEPSF   ps-src/rfc1245.ps       /^\/FMBEGINEPSF { $/
-/FMBEGINPAGE   ps-src/rfc1245.ps       /^\/FMBEGINPAGE { $/
-/FMDEFINEFONT  ps-src/rfc1245.ps       /^\/FMDEFINEFONT { $/
-/FMDOCUMENT    ps-src/rfc1245.ps       /^\/FMDOCUMENT { $/
-/FMENDEPSF     ps-src/rfc1245.ps       /^\/FMENDEPSF {$/
-/FMENDPAGE     ps-src/rfc1245.ps       /^\/FMENDPAGE {$/
-/FMLOCAL       ps-src/rfc1245.ps       /^\/FMLOCAL {$/
-/FMNORMALIZEGRAPHICS   ps-src/rfc1245.ps       /^\/FMNORMALIZEGRAPHICS { $/
-/FMVERSION     ps-src/rfc1245.ps       /^\/FMVERSION {$/
-/FMversion     ps-src/rfc1245.ps       /^\/FMversion (2.0) def $/
-/Fmcc  ps-src/rfc1245.ps       /^\/Fmcc {$/
-/FrameDict     ps-src/rfc1245.ps       /^\/FrameDict 190 dict def $/
-/G     ps-src/rfc1245.ps       /^\/G { $/
-/H     ps-src/rfc1245.ps       /^\/H { $/
-/Icircumflex   ps-src/rfc1245.ps       /^\/Icircumflex \/Idieresis \/Igrave \/Oacute \/Ocircumfl/
-/L     ps-src/rfc1245.ps       /^\/L \/M \/N \/O \/P \/Q \/R \/S \/T \/U \/V \/W \/X \/Y \/Z \/brac/
-/L     ps-src/rfc1245.ps       /^\/L { $/
-/M     ps-src/rfc1245.ps       /^\/M {newpath moveto} bind def$/
-/N     ps-src/rfc1245.ps       /^\/N { $/
-/Ntilde        ps-src/rfc1245.ps       /^\/Ntilde \/Odieresis \/Udieresis \/aacute \/agrave \/aci/
-/O     ps-src/rfc1245.ps       /^\/O {closepath} bind def$/
-/Otilde        ps-src/rfc1245.ps       /^\/Otilde \/OE \/oe \/endash \/emdash \/quotedblleft \/quo/
-/P     ps-src/rfc1245.ps       /^\/P { $/
-/PF    ps-src/rfc1245.ps       /^\/PF { $/
-/R     ps-src/rfc1245.ps       /^\/R { $/
-/RF    ps-src/rfc1245.ps       /^\/RF { $/
-/RR    ps-src/rfc1245.ps       /^\/RR { $/
-/ReEncode      ps-src/rfc1245.ps       /^\/ReEncode { $/
-/S     ps-src/rfc1245.ps       /^\/S { $/
-/SF    ps-src/rfc1245.ps       /^\/SF { $/
-/T     ps-src/rfc1245.ps       /^\/T { $/
-/TF    ps-src/rfc1245.ps       /^\/TF { $/
-/U     ps-src/rfc1245.ps       /^\/U { $/
-/Uacute        ps-src/rfc1245.ps       /^\/Uacute \/Ucircumflex \/Ugrave \/dotlessi \/circumflex/
-/V     ps-src/rfc1245.ps       /^\/V { $/
-/W     ps-src/rfc1245.ps       /^\/W { $/
-/X     ps-src/rfc1245.ps       /^\/X { $/
-/Y     ps-src/rfc1245.ps       /^\/Y { $/
-/Z     ps-src/rfc1245.ps       /^\/Z {$/
-/atilde        ps-src/rfc1245.ps       /^\/atilde \/aring \/ccedilla \/eacute \/egrave \/ecircumf/
-/bl    ps-src/rfc1245.ps       /^\/bl { $/
-/braceright    ps-src/rfc1245.ps       /^\/braceright \/asciitilde \/.notdef \/Adieresis \/Aring/
-/bracketright  ps-src/rfc1245.ps       /^\/bracketright \/asciicircum \/underscore \/grave \/a \//
-/breve ps-src/rfc1245.ps       /^\/breve \/dotaccent \/ring \/cedilla \/hungarumlaut \/og/
-/cfs   ps-src/rfc1245.ps       /^\/cfs { $/
-/colorsetup    ps-src/rfc1245.ps       /^\/colorsetup {$/
-/desperatepapersize    ps-src/rfc1245.ps       /^\/desperatepapersize {$/
-/dieresis      ps-src/rfc1245.ps       /^\/dieresis \/.notdef \/AE \/Oslash \/.notdef \/.notdef \//
-/dmatrix       ps-src/rfc1245.ps       /^\/dmatrix matrix def$/
-/dnormalize    ps-src/rfc1245.ps       /^\/dnormalize {$/
-/dpi   ps-src/rfc1245.ps       /^\/dpi    72 0 dmatrix defaultmatrix dtransform$/
-/exclamdown    ps-src/rfc1245.ps       /^\/exclamdown \/logicalnot \/.notdef \/florin \/.notdef /
-/fakecolorsetup        ps-src/rfc1245.ps       /^\/fakecolorsetup {$/
-/fillprocs     ps-src/rfc1245.ps       /^\/fillprocs 32 array def$/
-/fl    ps-src/rfc1245.ps       /^\/fl { $/
-/fraction      ps-src/rfc1245.ps       /^\/fraction \/currency \/guilsinglleft \/guilsinglright/
-/freq  ps-src/rfc1245.ps       /^\/freq dpi 18.75 div 8 div round dup 0 eq {pop 1} i/
-/gn    ps-src/rfc1245.ps       /^\/gn { $/
-/graymode      ps-src/rfc1245.ps       /^\/graymode true def$/
-/grayness      ps-src/rfc1245.ps       /^\/grayness {$/
-/guillemotleft ps-src/rfc1245.ps       /^\/guillemotleft \/guillemotright \/ellipsis \/.notdef /
-/home/www/pub/etags.c.gz       make-src/Makefile       /^\/home\/www\/pub\/etags.c.gz: etags.c$/
-/home/www/pub/software/unix/etags.tar.gz       make-src/Makefile       /^\/home\/www\/pub\/software\/unix\/etags.tar.gz: Makefile/
-/hx    ps-src/rfc1245.ps       /^\/hx { $/
-/i     ps-src/rfc1245.ps       /^\/i \/j \/k \/l \/m \/n \/o \/p \/q \/r \/s \/t \/u \/v \/w \/x \/y/
-/iacute        ps-src/rfc1245.ps       /^\/iacute \/igrave \/icircumflex \/idieresis \/ntilde \/o/
-/ic    ps-src/rfc1245.ps       /^\/ic [ $/
-/inch  ps-src/rfc1245.ps       /^\/inch {72 mul} def$/
-/ip    ps-src/rfc1245.ps       /^\/ip { $/
-/less  ps-src/rfc1245.ps       /^\/less \/equal \/greater \/question \/at \/A \/B \/C \/D \/E/
-/lnormalize    ps-src/rfc1245.ps       /^\/lnormalize { $/
-/manualpapersize       ps-src/rfc1245.ps       /^\/manualpapersize {$/
-/max   ps-src/rfc1245.ps       /^\/max {2 copy lt {exch} if pop} bind def$/
-/min   ps-src/rfc1245.ps       /^\/min {2 copy gt {exch} if pop} bind def$/
-/ms    ps-src/rfc1245.ps       /^\/ms { $/
-/nbluet        ps-src/rfc1245.ps       /^\/nbluet 256 array def$/
-/ngrayt        ps-src/rfc1245.ps       /^\/ngrayt 256 array def$/
-/ngreent       ps-src/rfc1245.ps       /^\/ngreent 256 array def$/
-/normalize     ps-src/rfc1245.ps       /^\/normalize {$/
-/nredt ps-src/rfc1245.ps       /^\/nredt 256 array def$/
-/numbersign    ps-src/rfc1245.ps       /^\/numbersign \/dollar \/percent \/ampersand \/quotesing/
-/ocircumflex   ps-src/rfc1245.ps       /^\/ocircumflex \/odieresis \/otilde \/uacute \/ugrave \/u/
-/ordfeminine   ps-src/rfc1245.ps       /^\/ordfeminine \/ordmasculine \/.notdef \/ae \/oslash \/q/
-/pagedimen     ps-src/rfc1245.ps       /^\/pagedimen { $/
-/papersize     ps-src/rfc1245.ps       /^\/papersize {$/
-/paragraph     ps-src/rfc1245.ps       /^\/paragraph \/germandbls \/registered \/copyright \/tra/
-/parenright    ps-src/rfc1245.ps       /^\/parenright \/asterisk \/plus \/comma \/hyphen \/period/
-/periodcentered        ps-src/rfc1245.ps       /^\/periodcentered \/quotesinglbase \/quotedblbase \/per/
-/quoteleft     ps-src/rfc1245.ps       /^\/quoteleft \/quoteright \/.notdef \/.notdef \/ydieresi/
-/restorematrix ps-src/rfc1245.ps       /^\/restorematrix {$/
-/s1    ps-src/rfc1245.ps       /^\/s1 1 string def$/
-/sangle        ps-src/rfc1245.ps       /^\/sangle 1 0 dmatrix defaultmatrix dtransform exch /
-/savematrix    ps-src/rfc1245.ps       /^\/savematrix {$/
-/setmanualfeed ps-src/rfc1245.ps       /^\/setmanualfeed {$/
-/setpapername  ps-src/rfc1245.ps       /^\/setpapername { $/
-/setpattern    ps-src/rfc1245.ps       /^\/setpattern {$/
-/two   ps-src/rfc1245.ps       /^\/two \/three \/four \/five \/six \/seven \/eight \/nine \//
-/udieresis     ps-src/rfc1245.ps       /^\/udieresis \/dagger \/.notdef \/cent \/sterling \/secti/
-/wbytes        ps-src/rfc1245.ps       /^\/wbytes { $/
-/wh    ps-src/rfc1245.ps       /^\/wh { $/
-/yen   ps-src/rfc1245.ps       /^\/yen \/.notdef \/.notdef \/.notdef \/.notdef \/.notdef /
-2const forth-src/test-forth.fth        /^3 4 2constant 2const$/
-2val   forth-src/test-forth.fth        /^2const 2value 2val$/
-2var   forth-src/test-forth.fth        /^2variable 2var$/
-:a-forth-dictionary-entry      forth-src/test-forth.fth        /^create :a-forth-dictionary-entry$/
-<      tex-src/texinfo.tex     /^\\def<{{\\tt \\less}}$/
-<<     ruby-src/test.rb        /^        def <<(y)$/
-<=     ruby-src/test.rb        /^        def <=(y)$/
-<=>    ruby-src/test.rb        /^        def <=>(y)$/
-=      tex-src/texinfo.tex     /^\\global\\def={{\\tt \\char 61}}}$/
-=      tex-src/texinfo.tex     /^\\global\\let\\section = \\appendixsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\section = \\numberedsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\section = \\unnumberedsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsection = \\appendixsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsection = \\numberedsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsection = \\unnumberedsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsubsection = \\appendixsubsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsubsection = \\numberedsubsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsubsection = \\unnumberedsubsubsec$/
-=/f    ada-src/etags-test-for.ada      /^   function "=" (L, R : System.Address) return Boo/
-==     ruby-src/test.rb        /^        def ==(y)$/
-===    ruby-src/test.rb        /^        def ===(y)$/
-=\indexdummyfont       tex-src/texinfo.tex     /^\\let\\cite=\\indexdummyfont$/
-=\relax        tex-src/texinfo.tex     /^\\let\\appendix=\\relax$/
-=\relax        tex-src/texinfo.tex     /^\\let\\chapter=\\relax$/
-=\relax        tex-src/texinfo.tex     /^\\let\\section=\\relax$/
-=\relax        tex-src/texinfo.tex     /^\\let\\subsection=\\relax$/
-=\relax        tex-src/texinfo.tex     /^\\let\\subsubsection=\\relax$/
-=\smartitalic  tex-src/texinfo.tex     /^\\let\\cite=\\smartitalic$/
-=starts-with-equals!   scm-src/test.scm        /^(define =starts-with-equals! #t)$/
->      tex-src/texinfo.tex     /^\\def>{{\\tt \\gtr}}$/
->field1        forth-src/test-forth.fth        /^   9   field   >field1$/
->field2        forth-src/test-forth.fth        /^   5   field   >field2$/
-A      c.c     162
-A      cp-src/c.C      /^void A::A() {}$/
-A      cp-src/c.C      117
-A      cp-src/c.C      39
-A      cp-src/c.C      56
-A      cp-src/c.C      57
-A      cp-src/c.C      73
-A      cp-src/fail.C   23
-A      cp-src/fail.C   7
-A      ruby-src/test1.ru       /^class A$/
-A      ruby-src/test1.ru       /^module A$/
-ABC    ruby-src/test1.ru       11
-ADASRC make-src/Makefile       /^ADASRC=etags-test-for.ada 2ataspri.adb 2ataspri.ad/
-ADDRESS        c-src/emacs/src/gmalloc.c       /^#define ADDRESS(B)    ((void *) (((B) - 1) * BLOCKSIZ/
-ALIGNOF_STRUCT_LISP_VECTOR     c-src/emacs/src/lisp.h  1378
-ALLOCATED_BEFORE_DUMPING       c-src/emacs/src/gmalloc.c       /^#define ALLOCATED_BEFORE_DUMPING(P) \\$/
-ALLOCATE_PSEUDOVECTOR  c-src/emacs/src/lisp.h  /^#define ALLOCATE_PSEUDOVECTOR(type, field, tag)                       /
-ALLOCATE_ZEROED_PSEUDOVECTOR   c-src/emacs/src/lisp.h  /^#define ALLOCATE_ZEROED_PSEUDOVECTOR(type, field, /
-AND    y-src/cccp.c    11
-ANSIC  c-src/h.h       84
-ANSIC  c-src/h.h       85
-AREF   c-src/emacs/src/lisp.h  /^AREF (Lisp_Object array, ptrdiff_t idx)$/
-ARGS   make-src/Makefile       /^ARGS=- < srclist$/
-ARITH_EQUAL    c-src/emacs/src/lisp.h  3498
-ARITH_GRTR     c-src/emacs/src/lisp.h  3501
-ARITH_GRTR_OR_EQUAL    c-src/emacs/src/lisp.h  3503
-ARITH_LESS     c-src/emacs/src/lisp.h  3500
-ARITH_LESS_OR_EQUAL    c-src/emacs/src/lisp.h  3502
-ARITH_NOTEQUAL c-src/emacs/src/lisp.h  3499
-ARRAYELTS      c-src/emacs/src/lisp.h  /^#define ARRAYELTS(arr) (sizeof (arr) \/ sizeof (arr/
-ARRAYP c-src/emacs/src/lisp.h  /^ARRAYP (Lisp_Object x)$/
-ARRAY_MARK_FLAG        c-src/emacs/src/lisp.h  768
-ASCII_CHAR_P   c-src/emacs/src/lisp.h  /^#define ASCII_CHAR_P(c) UNSIGNED_CMP (c, <, 0x80)$/
-ASET   c-src/emacs/src/lisp.h  /^ASET (Lisp_Object array, ptrdiff_t idx, Lisp_Objec/
-ASIZE  c-src/emacs/src/lisp.h  /^ASIZE (Lisp_Object array)$/
-ASRC   make-src/Makefile       /^ASRC=empty.zz empty.zz.gz$/
-AST_Array::AST_Array   cp-src/c.C      /^AST_Array::AST_Array(UTL_ScopedName *n, unsigned l/
-AST_ConcreteType::AST_ConcreteType     cp-src/c.C      /^AST_ConcreteType::AST_ConcreteType(AST_Decl::NodeT/
-AST_Root       cp-src/c.C      92
-AT     cp-src/c.C      52
-AU     cp-src/c.C      53
-AUTOLOADP      c-src/emacs/src/lisp.h  /^AUTOLOADP (Lisp_Object x)$/
-AUTO_CONS      c-src/emacs/src/lisp.h  /^#define AUTO_CONS(name, a, b) Lisp_Object name = A/
-AUTO_CONS_EXPR c-src/emacs/src/lisp.h  /^#define AUTO_CONS_EXPR(a, b) \\$/
-AUTO_LIST1     c-src/emacs/src/lisp.h  /^#define AUTO_LIST1(name, a)                                           \\$/
-AUTO_LIST2     c-src/emacs/src/lisp.h  /^#define AUTO_LIST2(name, a, b)                                                \\$/
-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/
-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$/
-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
-Ada_suffixes   c-src/etags.c   473
-AddNullToNmStr pas-src/common.pas      /^function AddNullToNmStr; (*($/
-Address_To_Call_State/f        ada-src/2ataspri.adb    /^      function Address_To_Call_State is new$/
-Address_To_TCB_Ptr/f   ada-src/2ataspri.ads    /^   function Address_To_TCB_Ptr is new$/
-Advanced usage tex-src/gzip.texi       /^@node Advanced usage, Environment, Invoking gzip, /
-Aligned_Cons   c-src/emacs/src/lisp.h  4670
-Aligned_String c-src/emacs/src/lisp.h  4676
-AppendTextString       pas-src/common.pas      /^function AppendTextString;(*($/
-Arith_Comparison       c-src/emacs/src/lisp.h  3497
-Asm_help       c-src/etags.c   504
-Asm_labels     c-src/etags.c   /^Asm_labels (FILE *inf)$/
-Asm_suffixes   c-src/etags.c   493
-B      cp-src/c.C      /^void B::B() {}$/
-B      cp-src/c.C      122
-B      cp-src/c.C      54
-B      cp-src/c.C      56
-B      cp-src/c.C      74
-B      cp-src/fail.C   24
-B      cp-src/fail.C   8
-B      ruby-src/test1.ru       /^  class B$/
-BE_Node        cp-src/c.C      /^void BE_Node::BE_Node() {}$/
-BE_Node        cp-src/c.C      77
-BITS_PER_BITS_WORD     c-src/emacs/src/lisp.h  125
-BITS_PER_BITS_WORD     c-src/emacs/src/lisp.h  129
-BITS_PER_CHAR  c-src/emacs/src/lisp.h  136
-BITS_PER_EMACS_INT     c-src/emacs/src/lisp.h  139
-BITS_PER_LONG  c-src/emacs/src/lisp.h  138
-BITS_PER_SHORT c-src/emacs/src/lisp.h  137
-BITS_WORD_MAX  c-src/emacs/src/lisp.h  124
-BITS_WORD_MAX  c-src/emacs/src/lisp.h  128
-BLACK  cp-src/screen.hpp       12
-BLOCK  c-src/emacs/src/gmalloc.c       /^#define BLOCK(A)      (((char *) (A) - _heapbase) \/ BLO/
-BLOCKIFY       c-src/emacs/src/gmalloc.c       /^#define BLOCKIFY(SIZE)        (((SIZE) + BLOCKSIZE - 1) \//
-BLOCKLOG       c-src/emacs/src/gmalloc.c       125
-BLOCKSIZE      c-src/emacs/src/gmalloc.c       126
-BLUE   cp-src/screen.hpp       13
-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)$/
-BROWN  cp-src/screen.hpp       18
-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)$/
-BYTE_MARK_STACK        c-src/emacs/src/lisp.h  3181
-Bar    lua-src/test.lua        /^function Square.something:Bar ()$/
-Bar    perl-src/kai-test.pl    /^package Bar;$/
-Barrier_Function_Pointer/t     ada-src/etags-test-for.ada      /^   type Barrier_Function_Pointer is access$/
-Bidule/b       ada-src/etags-test-for.ada      /^  protected body Bidule is$/
-Bidule/b       ada-src/waroquiers.ada  /^  protected body Bidule is$/
-Bidule/t       ada-src/etags-test-for.ada      /^  protected Bidule is$/
-Bidule/t       ada-src/waroquiers.ada  /^  protected Bidule is$/
-Body_Required/f        ada-src/etags-test-for.ada      /^   function Body_Required$/
-Boo    cp-src/c.C      /^    Boo(int _i, int _a, int _b) : i(_i), a(_a), b(/
-Boo    cp-src/c.C      129
-Boo::Boo       cp-src/c.C      /^Boo::Boo(Boo) :$/
-ButtonBar      pyt-src/server.py       /^def ButtonBar(frame, legend, ref, alternatives, co/
-C      cp-src/fail.C   /^                         C(int i) {x = i;}$/
-C      cp-src/fail.C   25
-C      cp-src/fail.C   9
-CALLMANY       c-src/emacs/src/lisp.h  /^#define CALLMANY(f, array) (f) (ARRAYELTS (array),/
-CALLN  c-src/emacs/src/lisp.h  /^#define CALLN(f, ...) CALLMANY (f, ((Lisp_Object [/
-CAR    c-src/emacs/src/lisp.h  /^CAR (Lisp_Object c)$/
-CAR_SAFE       c-src/emacs/src/lisp.h  /^CAR_SAFE (Lisp_Object c)$/
-CATCHER        c-src/emacs/src/lisp.h  3021
-CDR    c-src/emacs/src/lisp.h  /^CDR (Lisp_Object c)$/
-CDR_SAFE       c-src/emacs/src/lisp.h  /^CDR_SAFE (Lisp_Object c)$/
-CFLAGS make-src/Makefile       /^CFLAGS=${WARNINGS} -ansi -g3 # -pg -O$/
-CHAR   c-src/etags.c   /^#define CHAR(x)               ((unsigned int)(x) & (CHARS - 1))/
-CHAR   y-src/cccp.c    7
-CHARACTERBITS  c-src/emacs/src/lisp.h  2457
-CHARS  c-src/etags.c   157
-CHARTAB_SIZE_BITS      c-src/emacs/src/lisp.h  1565
-CHARTAB_SIZE_BITS_0    c-src/emacs/src/lisp.h  1567
-CHARTAB_SIZE_BITS_1    c-src/emacs/src/lisp.h  1568
-CHARTAB_SIZE_BITS_2    c-src/emacs/src/lisp.h  1569
-CHARTAB_SIZE_BITS_3    c-src/emacs/src/lisp.h  1570
-CHAR_ALT       c-src/emacs/src/lisp.h  2445
-CHAR_BIT       c-src/emacs/src/lisp.h  2957
-CHAR_BIT       c-src/emacs/src/lisp.h  2959
-CHAR_BIT       c-src/emacs/src/lisp.h  2964
-CHAR_BIT       c-src/emacs/src/lisp.h  2969
-CHAR_BIT       c-src/emacs/src/lisp.h  2974
-CHAR_BIT       c-src/emacs/src/lisp.h  2978
-CHAR_BIT       c-src/emacs/src/lisp.h  2983
-CHAR_CLASS_MAX_LENGTH  c-src/emacs/src/regex.h 593
-CHAR_CLASS_MAX_LENGTH  c-src/emacs/src/regex.h 597
-CHAR_CLASS_MAX_LENGTH  c-src/emacs/src/regex.h 605
-CHAR_CTL       c-src/emacs/src/lisp.h  2449
-CHAR_HYPER     c-src/emacs/src/lisp.h  2447
-CHAR_META      c-src/emacs/src/lisp.h  2450
-CHAR_MODIFIER_MASK     c-src/emacs/src/lisp.h  2452
-CHAR_SHIFT     c-src/emacs/src/lisp.h  2448
-CHAR_SUPER     c-src/emacs/src/lisp.h  2446
-CHAR_TABLE_EXTRA_SLOTS c-src/emacs/src/lisp.h  /^CHAR_TABLE_EXTRA_SLOTS (struct Lisp_Char_Table *ct/
-CHAR_TABLE_P   c-src/emacs/src/lisp.h  /^CHAR_TABLE_P (Lisp_Object a)$/
-CHAR_TABLE_REF c-src/emacs/src/lisp.h  /^CHAR_TABLE_REF (Lisp_Object ct, int idx)$/
-CHAR_TABLE_REF_ASCII   c-src/emacs/src/lisp.h  /^CHAR_TABLE_REF_ASCII (Lisp_Object ct, ptrdiff_t id/
-CHAR_TABLE_SET c-src/emacs/src/lisp.h  /^CHAR_TABLE_SET (Lisp_Object ct, int idx, Lisp_Obje/
-CHAR_TABLE_STANDARD_SLOTS      c-src/emacs/src/lisp.h  1697
-CHAR_TYPE_SIZE y-src/cccp.y    87
-CHECKFLAGS     make-src/Makefile       /^CHECKFLAGS=-DDEBUG -Wno-unused-function$/
-CHECKOBJS      make-src/Makefile       /^CHECKOBJS=chkmalloc.o chkxm.o$/
-CHECK_ARRAY    c-src/emacs/src/lisp.h  /^CHECK_ARRAY (Lisp_Object x, Lisp_Object predicate)/
-CHECK_BOOL_VECTOR      c-src/emacs/src/lisp.h  /^CHECK_BOOL_VECTOR (Lisp_Object x)$/
-CHECK_BUFFER   c-src/emacs/src/lisp.h  /^CHECK_BUFFER (Lisp_Object x)$/
-CHECK_CONS     c-src/emacs/src/lisp.h  /^CHECK_CONS (Lisp_Object x)$/
-CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h  571
-CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h  572
-CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h  579
-CHECK_LIST     c-src/emacs/src/lisp.h  /^CHECK_LIST (Lisp_Object x)$/
-CHECK_LIST_CONS        c-src/emacs/src/lisp.h  /^# define CHECK_LIST_CONS(x, y) lisp_h_CHECK_LIST_C/
-CHECK_NATNUM   c-src/emacs/src/lisp.h  /^CHECK_NATNUM (Lisp_Object x)$/
-CHECK_NUMBER   c-src/emacs/src/lisp.h  /^# define CHECK_NUMBER(x) lisp_h_CHECK_NUMBER (x)$/
-CHECK_NUMBER_CAR       c-src/emacs/src/lisp.h  /^CHECK_NUMBER_CAR (Lisp_Object x)$/
-CHECK_NUMBER_CDR       c-src/emacs/src/lisp.h  /^CHECK_NUMBER_CDR (Lisp_Object x)$/
-CHECK_NUMBER_COERCE_MARKER     c-src/emacs/src/lisp.h  /^#define CHECK_NUMBER_COERCE_MARKER(x)                                 \\$/
-CHECK_NUMBER_OR_FLOAT  c-src/emacs/src/lisp.h  /^CHECK_NUMBER_OR_FLOAT (Lisp_Object x)$/
-CHECK_NUMBER_OR_FLOAT_COERCE_MARKER    c-src/emacs/src/lisp.h  /^#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(x)                                /
-CHECK_PROCESS  c-src/emacs/src/lisp.h  /^CHECK_PROCESS (Lisp_Object x)$/
-CHECK_RANGED_INTEGER   c-src/emacs/src/lisp.h  /^#define CHECK_RANGED_INTEGER(x, lo, hi)                                       \\$/
-CHECK_STRING_CAR       c-src/emacs/src/lisp.h  /^CHECK_STRING_CAR (Lisp_Object x)$/
-CHECK_SYMBOL   c-src/emacs/src/lisp.h  /^# define CHECK_SYMBOL(x) lisp_h_CHECK_SYMBOL (x)$/
-CHECK_TYPE     c-src/emacs/src/lisp.h  /^# define CHECK_TYPE(ok, predicate, x) lisp_h_CHECK/
-CHECK_TYPE_RANGED_INTEGER      c-src/emacs/src/lisp.h  /^#define CHECK_TYPE_RANGED_INTEGER(type, x) \\$/
-CHECK_VECTOR   c-src/emacs/src/lisp.h  /^CHECK_VECTOR (Lisp_Object x)$/
-CHECK_VECTOR_OR_STRING c-src/emacs/src/lisp.h  /^CHECK_VECTOR_OR_STRING (Lisp_Object x)$/
-CHECK_WINDOW   c-src/emacs/src/lisp.h  /^CHECK_WINDOW (Lisp_Object x)$/
-CK_ABS_C       y-src/parse.y   /^#define CK_ABS_C(x)   if((x)<MIN_COL || (x)>MAX_COL)/
-CK_ABS_R       y-src/parse.y   /^#define CK_ABS_R(x)   if((x)<MIN_ROW || (x)>MAX_ROW)/
-CK_REL_C       y-src/parse.y   /^#define CK_REL_C(x)   if(   ((x)>0 && MAX_COL-(x)<cu/
-CK_REL_R       y-src/parse.y   /^#define CK_REL_R(x)   if(   ((x)>0 && MAX_ROW-(x)<cu/
-CMultiChannelCSC19_3D  cp-src/c.C      2
-CNL    c-src/etags.c   /^#define CNL()                                                         \\$/
-CNL_SAVE_DEFINEDEF     c-src/etags.c   /^#define CNL_SAVE_DEFINEDEF()                                          \\$/
-COBOLFLAGS     make-src/Makefile       /^COBOLFLAGS=--language=none --regex='\/.......[a-zA-/
-COLORS cp-src/screen.hpp       11
-COMPILEDP      c-src/emacs/src/lisp.h  /^COMPILEDP (Lisp_Object a)$/
-COMPILED_ARGLIST       c-src/emacs/src/lisp.h  2431
-COMPILED_BYTECODE      c-src/emacs/src/lisp.h  2432
-COMPILED_CONSTANTS     c-src/emacs/src/lisp.h  2433
-COMPILED_DOC_STRING    c-src/emacs/src/lisp.h  2435
-COMPILED_INTERACTIVE   c-src/emacs/src/lisp.h  2436
-COMPILED_STACK_DEPTH   c-src/emacs/src/lisp.h  2434
-CONDITION_CASE c-src/emacs/src/lisp.h  3021
-CONSP  c-src/emacs/src/lisp.h  /^# define CONSP(x) lisp_h_CONSP (x)$/
-CONSTYPE_HEAP  c-src/emacs/src/lisp.h  3739
-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       /^CPPFLAGS=${CHECKFLAGS} -DSTDC_HEADERS -DHAVE_GETCW/
-CPSRC  make-src/Makefile       /^CPSRC=c.C abstract.C abstract.H cfront.H burton.cp/
-CSRC   make-src/Makefile       /^CSRC=abbrev.c ..\/etags\/h.h .\/\/c.c torture.c getopt/
-CTAGS  c-src/etags.c   146
-CTAGS  c-src/etags.c   147
-CTAGS  c-src/etags.c   149
-CTAGS  make-src/Makefile       /^CTAGS: ctags ${infiles}$/
-CTAGS% make-src/Makefile       /^CTAGS%: ctags% ${infiles}$/
-CTAGS13 CTAGS14 CTAGS15        make-src/Makefile       /^CTAGS13 CTAGS14 CTAGS15: ctags% ${infiles}$/
-CYAN   cp-src/screen.hpp       15
-C_AUTO c-src/etags.c   2198
-C_EXT  c-src/etags.c   2193
-C_JAVA c-src/etags.c   2197
-C_PLAIN        c-src/etags.c   2194
-C_PLPL c-src/etags.c   2195
-C_STAR c-src/etags.c   2196
-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;/
-Circle.getPos  lua-src/test.lua        /^function Circle.getPos ()$/
-Cjava_entries  c-src/etags.c   /^Cjava_entries (FILE *inf)$/
-Cjava_help     c-src/etags.c   551
-Cjava_suffixes c-src/etags.c   549
-ClassExample   ruby-src/test.rb        /^    class ClassExample$/
-Clear/p        ada-src/2ataspri.adb    /^   procedure Clear (Cell : in out TAS_Cell) is$/
-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
-CommentAD      php-src/lce_functions.php       /^      function CommentAD($/
-CommentAD      php-src/lce_functions.php       70
-ConcatT        pas-src/common.pas      /^function ConcatT;(*($/
-Concept Index  tex-src/gzip.texi       /^@node Concept Index, , Problems, Top$/
-Cond_Signal/p  ada-src/2ataspri.adb    /^   procedure Cond_Signal (Cond : in out Condition_/
-Cond_Signal/p  ada-src/2ataspri.ads    /^   procedure Cond_Signal (Cond : in out Condition_/
-Cond_Timed_Wait/p      ada-src/2ataspri.adb    /^   procedure Cond_Timed_Wait$/
-Cond_Timed_Wait/p      ada-src/2ataspri.ads    /^   procedure Cond_Timed_Wait$/
-Cond_Wait/p    ada-src/2ataspri.adb    /^   procedure Cond_Wait (Cond : in out Condition_Va/
-Cond_Wait/p    ada-src/2ataspri.ads    /^   procedure Cond_Wait (Cond : in out Condition_Va/
-Condition_Variable/t   ada-src/2ataspri.ads    /^   type Condition_Variable is private;$/
-Condition_Variable/t   ada-src/2ataspri.ads    /^   type Condition_Variable is$/
-Configure      pyt-src/server.py       /^class Configure(Frame, ControlEdit):$/
-ConfirmQuit    pyt-src/server.py       /^def ConfirmQuit(frame, context):$/
-Constant       ruby-src/test1.ru       42
-ControlEdit    pyt-src/server.py       /^class ControlEdit(Frame):$/
-Controls       pyt-src/server.py       /^class Controls:$/
-CopyTextString pas-src/common.pas      /^function CopyTextString;(*($/
-Copying        tex-src/gzip.texi       /^@node Copying, Overview, , Top$/
-Cplusplus_entries      c-src/etags.c   /^Cplusplus_entries (FILE *inf)$/
-Cplusplus_help c-src/etags.c   540
-Cplusplus_suffixes     c-src/etags.c   535
-Create_LL_Task/p       ada-src/2ataspri.adb    /^   procedure Create_LL_Task$/
-Create_LL_Task/p       ada-src/2ataspri.ads    /^   procedure Create_LL_Task$/
-Cstar_entries  c-src/etags.c   /^Cstar_entries (FILE *inf)$/
-Cstar_suffixes c-src/etags.c   562
-Cube.data.getFoo       lua-src/test.lua        /^function Cube.data.getFoo ()$/
-D      cp-src/fail.C   /^              D() : ::A::T2::T(97), x(1066) {}$/
-D      cp-src/fail.C   41
-DAEMON_RUNNING c-src/emacs/src/lisp.h  4258
-DAEMON_RUNNING c-src/emacs/src/lisp.h  4262
-DARKGRAY       cp-src/screen.hpp       20
-DEAFUN c.c     /^DEAFUN ("expand-file-name", Fexpand_file_name, Sex/
-DEBUG  c-src/etags.c   84
-DEBUG  c-src/etags.c   85
-DEBUG  c-src/etags.c   87
-DEBUG  objc-src/PackInsp.m     37
-DECLARE_GDB_SYM        c-src/emacs/src/lisp.h  /^#define DECLARE_GDB_SYM(type, id) type const id EX/
-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
-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;$/
-DEFINE_GDB_SYMBOL_END  c-src/emacs/src/lisp.h  /^# define DEFINE_GDB_SYMBOL_END(val) ;$/
-DEFINE_LISP_SYMBOL     c-src/emacs/src/lisp.h  /^#define DEFINE_LISP_SYMBOL(name) \\$/
-DEFINE_NON_NIL_Q_SYMBOL_MACROS c-src/emacs/src/lisp.h  755
-DEFSYM c-src/emacs/src/lisp.h  /^#define DEFSYM(sym, name) \/* empty *\/$/
-DEFSYM c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (SYMBOL_CONSTANT_P, int, (Lisp_Ob/
-DEFUN  c-src/emacs/src/lisp.h  /^#define DEFUN(lname, fnname, sname, minargs, maxar/
-DEFUN_ARGS_0   c-src/emacs/src/lisp.h  714
-DEFUN_ARGS_1   c-src/emacs/src/lisp.h  715
-DEFUN_ARGS_2   c-src/emacs/src/lisp.h  716
-DEFUN_ARGS_3   c-src/emacs/src/lisp.h  717
-DEFUN_ARGS_4   c-src/emacs/src/lisp.h  718
-DEFUN_ARGS_5   c-src/emacs/src/lisp.h  719
-DEFUN_ARGS_6   c-src/emacs/src/lisp.h  721
-DEFUN_ARGS_7   c-src/emacs/src/lisp.h  723
-DEFUN_ARGS_8   c-src/emacs/src/lisp.h  725
-DEFUN_ARGS_MANY        c-src/emacs/src/lisp.h  712
-DEFUN_ARGS_UNEVALLED   c-src/emacs/src/lisp.h  713
-DEFUN_func2    c.c     /^DEFUN_func2()$/
-DEFVAR_BOOL    c-src/emacs/src/lisp.h  /^#define DEFVAR_BOOL(lname, vname, doc)                \\$/
-DEFVAR_BUFFER_DEFAULTS c-src/emacs/src/lisp.h  /^#define DEFVAR_BUFFER_DEFAULTS(lname, vname, doc)     /
-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)  \\$/
-DEVICE_LAST    c-src/h.h       24
-DEVICE_SWP     c-src/h.h       23
-DOS_NT c-src/etags.c   117
-DOS_NT c-src/etags.c   118
-DUMPED c-src/emacs/src/gmalloc.c       80
-Debug  cp-src/functions.cpp    /^void Debug ( int lineno, int level, char* func , c/
-Def_   ruby-src/test1.ru       12
-DisposeANameList       pas-src/common.pas      /^procedure DisposeANameList( $/
-DisposeNameList        pas-src/common.pas      /^procedure DisposeNameList;$/
-ELEM_I c-src/h.h       3
-ELSRC  make-src/Makefile       /^ELSRC=TAGTEST.EL emacs\/lisp\/progmodes\/etags.el$/
-EMACS_INT      c-src/emacs/src/lisp.h  103
-EMACS_INT      c-src/emacs/src/lisp.h  91
-EMACS_INT      c-src/emacs/src/lisp.h  96
-EMACS_INT_MAX  c-src/emacs/src/lisp.h  105
-EMACS_INT_MAX  c-src/emacs/src/lisp.h  93
-EMACS_INT_MAX  c-src/emacs/src/lisp.h  98
-EMACS_LISP_H   c-src/emacs/src/lisp.h  22
-EMACS_NAME     c-src/etags.c   786
-EMACS_UINT     c-src/emacs/src/lisp.h  104
-EMACS_UINT     c-src/emacs/src/lisp.h  92
-EMACS_UINT     c-src/emacs/src/lisp.h  97
-ENTRY  c-src/sysdep.h  /^#define       ENTRY(name)                                                           \\$/
-ENUM_BF        c-src/emacs/src/lisp.h  /^#define ENUM_BF(TYPE) enum TYPE$/
-ENUM_BF        c-src/emacs/src/lisp.h  /^#define ENUM_BF(TYPE) unsigned int$/
-EQ     c-src/emacs/src/lisp.h  /^# define EQ(x, y) lisp_h_EQ (x, y)$/
-EQUAL  y-src/cccp.c    12
-ERLSRC make-src/Makefile       /^ERLSRC=gs_dialog.erl lines.erl lists.erl$/
-ERROR  y-src/cccp.c    9
-ERROR  y-src/parse.y   304
-ETAGS  make-src/Makefile       /^ETAGS: FRC etags ${infiles}$/
-ETAGS% make-src/Makefile       /^ETAGS%: FRC etags% ${infiles}$/
-ETAGS12        make-src/Makefile       /^ETAGS12: etags12 ${infiles}$/
-ETAGS13 ETAGS14 ETAGS15        make-src/Makefile       /^ETAGS13 ETAGS14 ETAGS15: etags% ${infiles}$/
-EXFUN  c-src/emacs/src/lisp.h  /^#define EXFUN(fnname, maxargs) \\$/
-EXTAGS make-src/Makefile       /^EXTAGS: extags ${infiles} Makefile$/
-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*);$/
-Environment    tex-src/gzip.texi       /^@node Environment, Tapes, Advanced usage, Top$/
-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/
-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;$/
-ExtractCommentInfo     pas-src/common.pas      /^procedure ExtractCommentInfo; (*($/
-FASTCFLAGS     make-src/Makefile       /^FASTCFLAGS=-O3 -finline-functions -ffast-math -fun/
-FASTCFLAGSWARN make-src/Makefile       /^FASTCFLAGSWARN=${WARNINGS} -Werror ${FASTCFLAGS}$/
-FILTER make-src/Makefile       /^FILTER=grep -v '\\.[Cchefy][lor]*,[1-9][0-9]*' || t/
-FINALIZERP     c-src/emacs/src/lisp.h  /^FINALIZERP (Lisp_Object x)$/
-FINAL_FREE_BLOCKS      c-src/emacs/src/gmalloc.c       135
-FIXNUM_BITS    c-src/emacs/src/lisp.h  252
-FIXNUM_OVERFLOW_P      c-src/emacs/src/lisp.h  /^#define FIXNUM_OVERFLOW_P(i) \\$/
-FIXNUM_OVERFLOW_P      c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (EQ, bool, (Lisp_Object x, Lisp_O/
-FLOATP c-src/emacs/src/lisp.h  /^# define FLOATP(x) lisp_h_FLOATP (x)$/
-FLOAT_TO_STRING_BUFSIZE        c-src/emacs/src/lisp.h  3927
-FORTHSRC       make-src/Makefile       /^FORTHSRC=test-forth.fth$/
-FOR_EACH_ALIST_VALUE   c-src/emacs/src/lisp.h  /^#define FOR_EACH_ALIST_VALUE(head_var, list_var, v/
-FOR_EACH_TAIL  c-src/emacs/src/lisp.h  /^#define FOR_EACH_TAIL(hare, list, tortoise, n)        \\$/
-FRAMEP c-src/emacs/src/lisp.h  /^FRAMEP (Lisp_Object a)$/
-FRC    make-src/Makefile       /^FRC:;$/
-FREEFLOOD      c-src/emacs/src/gmalloc.c       1858
-FSRC   make-src/Makefile       /^FSRC=entry.for entry.strange_suffix entry.strange$/
-FUN0   y-src/parse.y   /^yylex FUN0()$/
-FUN1   y-src/parse.y   /^str_to_col FUN1(char **,str)$/
-FUN1   y-src/parse.y   /^yyerror FUN1(char *, s)$/
-FUN2   y-src/parse.y   /^make_list FUN2(YYSTYPE, car, YYSTYPE, cdr)$/
-FUN2   y-src/parse.y   /^parse_cell_or_range FUN2(char **,ptr, struct rng */
-FUNCTIONP      c-src/emacs/src/lisp.h  /^FUNCTIONP (Lisp_Object obj)$/
-FUNCTION_KEY_OFFSET    c-src/emacs/src/keyboard.c      4766
-FUNCTION_KEY_OFFSET    c-src/emacs/src/keyboard.c      5061
-F_getit        c-src/etags.c   /^F_getit (FILE *inf)$/
-F_takeprec     c-src/etags.c   /^F_takeprec (void)$/
-Fabbrev_expansion      c-src/abbrev.c  /^DEFUN ("abbrev-expansion", Fabbrev_expansion, Sabb/
-Fabbrev_symbol c-src/abbrev.c  /^DEFUN ("abbrev-symbol", Fabbrev_symbol, Sabbrev_sy/
-Fabort_recursive_edit  c-src/emacs/src/keyboard.c      /^DEFUN ("abort-recursive-edit", Fabort_recursive_ed/
-Fails_t        c-src/h.h       5
-Fclear_abbrev_table    c-src/abbrev.c  /^DEFUN ("clear-abbrev-table", Fclear_abbrev_table, /
-Fclear_this_command_keys       c-src/emacs/src/keyboard.c      /^DEFUN ("clear-this-command-keys", Fclear_this_comm/
-Fcommand_error_default_function        c-src/emacs/src/keyboard.c      /^DEFUN ("command-error-default-function", Fcommand_/
-Fcurrent_idle_time     c-src/emacs/src/keyboard.c      /^DEFUN ("current-idle-time", Fcurrent_idle_time, Sc/
-Fcurrent_input_mode    c-src/emacs/src/keyboard.c      /^DEFUN ("current-input-mode", Fcurrent_input_mode, /
-Fdefine_abbrev c-src/abbrev.c  /^DEFUN ("define-abbrev", Fdefine_abbrev, Sdefine_ab/
-Fdefine_abbrev_table   c-src/abbrev.c  /^DEFUN ("define-abbrev-table", Fdefine_abbrev_table/
-Fdefine_global_abbrev  c-src/abbrev.c  /^DEFUN ("define-global-abbrev", Fdefine_global_abbr/
-Fdefine_mode_abbrev    c-src/abbrev.c  /^DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev, /
-Fdiscard_input c-src/emacs/src/keyboard.c      /^DEFUN ("discard-input", Fdiscard_input, Sdiscard_i/
-Fevent_convert_list    c-src/emacs/src/keyboard.c      /^DEFUN ("event-convert-list", Fevent_convert_list, /
-Fevent_symbol_parse_modifiers  c-src/emacs/src/keyboard.c      /^DEFUN ("internal-event-symbol-parse-modifiers", Fe/
-Fexit_recursive_edit   c-src/emacs/src/keyboard.c      /^DEFUN ("exit-recursive-edit", Fexit_recursive_edit/
-Fexpand_abbrev c-src/abbrev.c  /^DEFUN ("expand-abbrev", Fexpand_abbrev, Sexpand_ab/
-Finalize_Cond/p        ada-src/2ataspri.adb    /^   procedure Finalize_Cond (Cond : in out Conditio/
-Finalize_Cond/p        ada-src/2ataspri.ads    /^   procedure Finalize_Cond (Cond : in out Conditio/
-Finalize_Lock/p        ada-src/2ataspri.adb    /^   procedure Finalize_Lock (L : in out Lock) is$/
-Finalize_Lock/p        ada-src/2ataspri.ads    /^   procedure Finalize_Lock (L : in out Lock);$/
-Finalize_TAS_Cell/p    ada-src/2ataspri.adb    /^   procedure Finalize_TAS_Cell (Cell : in out TAS_/
-Finalize_TAS_Cell/p    ada-src/2ataspri.ads    /^   procedure Finalize_TAS_Cell   (Cell : in out TA/
-Finput_pending_p       c-src/emacs/src/keyboard.c      /^DEFUN ("input-pending-p", Finput_pending_p, Sinput/
-Finsert_abbrev_table_description       c-src/abbrev.c  /^DEFUN ("insert-abbrev-table-description", Finsert_/
-First100Chars  pas-src/common.pas      /^procedure First100Chars; (*($/
-Fmake_abbrev_table     c-src/abbrev.c  /^DEFUN ("make-abbrev-table", Fmake_abbrev_table, Sm/
-Foo    perl-src/kai-test.pl    /^package Foo;$/
-Foo::Bar       perl-src/kai-test.pl    /^package Foo::Bar;$/
-Fopen_dribble_file     c-src/emacs/src/keyboard.c      /^DEFUN ("open-dribble-file", Fopen_dribble_file, So/
-Forth_help     c-src/etags.c   573
-Forth_suffixes c-src/etags.c   571
-Forth_words    c-src/etags.c   /^Forth_words (FILE *inf)$/
-Fortran_functions      c-src/etags.c   /^Fortran_functions (FILE *inf)$/
-Fortran_help   c-src/etags.c   579
-Fortran_suffixes       c-src/etags.c   577
-Fposn_at_point c-src/emacs/src/keyboard.c      /^DEFUN ("posn-at-point", Fposn_at_point, Sposn_at_p/
-Fposn_at_x_y   c-src/emacs/src/keyboard.c      /^DEFUN ("posn-at-x-y", Fposn_at_x_y, Sposn_at_x_y, /
-Fread_key_sequence     c-src/emacs/src/keyboard.c      /^DEFUN ("read-key-sequence", Fread_key_sequence, Sr/
-Fread_key_sequence_vector      c-src/emacs/src/keyboard.c      /^DEFUN ("read-key-sequence-vector", Fread_key_seque/
-Frecent_keys   c-src/emacs/src/keyboard.c      /^DEFUN ("recent-keys", Frecent_keys, Srecent_keys, /
-Frecursion_depth       c-src/emacs/src/keyboard.c      /^DEFUN ("recursion-depth", Frecursion_depth, Srecur/
-Frecursive_edit        c-src/emacs/src/keyboard.c      /^DEFUN ("recursive-edit", Frecursive_edit, Srecursi/
-Freset_this_command_lengths    c-src/emacs/src/keyboard.c      /^DEFUN ("reset-this-command-lengths", Freset_this_c/
-Fset_input_interrupt_mode      c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-interrupt-mode", Fset_input_inte/
-Fset_input_meta_mode   c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-meta-mode", Fset_input_meta_mode/
-Fset_input_mode        c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-mode", Fset_input_mode, Sset_inp/
-Fset_output_flow_control       c-src/emacs/src/keyboard.c      /^DEFUN ("set-output-flow-control", Fset_output_flow/
-Fset_quit_char c-src/emacs/src/keyboard.c      /^DEFUN ("set-quit-char", Fset_quit_char, Sset_quit_/
-Fsuspend_emacs c-src/emacs/src/keyboard.c      /^DEFUN ("suspend-emacs", Fsuspend_emacs, Ssuspend_e/
-Fthis_command_keys     c-src/emacs/src/keyboard.c      /^DEFUN ("this-command-keys", Fthis_command_keys, St/
-Fthis_command_keys_vector      c-src/emacs/src/keyboard.c      /^DEFUN ("this-command-keys-vector", Fthis_command_k/
-Fthis_single_command_keys      c-src/emacs/src/keyboard.c      /^DEFUN ("this-single-command-keys", Fthis_single_co/
-Fthis_single_command_raw_keys  c-src/emacs/src/keyboard.c      /^DEFUN ("this-single-command-raw-keys", Fthis_singl/
-Ftop_level     c-src/emacs/src/keyboard.c      /^DEFUN ("top-level", Ftop_level, Stop_level, 0, 0, /
-Ftrack_mouse   c-src/emacs/src/keyboard.c      /^DEFUN ("internal--track-mouse", Ftrack_mouse, Stra/
-Funexpand_abbrev       c-src/abbrev.c  /^DEFUN ("unexpand-abbrev", Funexpand_abbrev, Sunexp/
-Fx_get_selection_internal      c.c     /^       Fx_get_selection_internal, Sx_get_selection/
-Fx_get_selection_internal      c.c     /^DEFUN ("x-get-selection-internal", Fx_get_selectio/
-Fy_get_selection_internal      c.c     /^      Fy_get_selection_internal, Sy_get_selection_/
-GCALIGNED      c-src/emacs/src/lisp.h  288
-GCALIGNED      c-src/emacs/src/lisp.h  290
-GCALIGNMENT    c-src/emacs/src/lisp.h  243
-GCPRO1 c-src/emacs/src/lisp.h  /^#define GCPRO1(a)                                                     \\$/
-GCPRO1 c-src/emacs/src/lisp.h  /^#define GCPRO1(varname) ((void) gcpro1)$/
-GCPRO2 c-src/emacs/src/lisp.h  /^#define GCPRO2(a, b)                                                  \\$/
-GCPRO2 c-src/emacs/src/lisp.h  /^#define GCPRO2(varname1, varname2) ((void) gcpro2,/
-GCPRO3 c-src/emacs/src/lisp.h  /^#define GCPRO3(a, b, c)                                                       \\$/
-GCPRO3 c-src/emacs/src/lisp.h  /^#define GCPRO3(varname1, varname2, varname3) \\$/
-GCPRO4 c-src/emacs/src/lisp.h  /^#define GCPRO4(a, b, c, d)                                            \\$/
-GCPRO4 c-src/emacs/src/lisp.h  /^#define GCPRO4(varname1, varname2, varname3, varna/
-GCPRO5 c-src/emacs/src/lisp.h  /^#define GCPRO5(a, b, c, d, e)                                         \\$/
-GCPRO5 c-src/emacs/src/lisp.h  /^#define GCPRO5(varname1, varname2, varname3, varna/
-GCPRO6 c-src/emacs/src/lisp.h  /^#define GCPRO6(a, b, c, d, e, f)                                      \\$/
-GCPRO6 c-src/emacs/src/lisp.h  /^#define GCPRO6(varname1, varname2, varname3, varna/
-GCPRO7 c-src/emacs/src/lisp.h  /^#define GCPRO7(a, b, c, d, e, f, g)                                   \\$/
-GCPRO7 c-src/emacs/src/lisp.h  /^#define GCPRO7(a, b, c, d, e, f, g) (GCPRO6 (a, b,/
-GCTYPEBITS     c-src/emacs/src/lisp.h  /^DEFINE_GDB_SYMBOL_BEGIN (int, GCTYPEBITS)$/
-GCTYPEBITS     c-src/emacs/src/lisp.h  67
-GC_MAKE_GCPROS_NOOPS   c-src/emacs/src/lisp.h  3172
-GC_MARK_STACK  c-src/emacs/src/lisp.h  3177
-GC_MARK_STACK_CHECK_GCPROS     c-src/emacs/src/lisp.h  3173
-GC_USE_GCPROS_AS_BEFORE        c-src/emacs/src/lisp.h  3171
-GC_USE_GCPROS_CHECK_ZOMBIES    c-src/emacs/src/lisp.h  3174
-GE     y-src/parse.c   8
-GENERIC_PTR    y-src/cccp.y    56
-GENERIC_PTR    y-src/cccp.y    58
-GEQ    y-src/cccp.c    15
-GETOPTOBJS     make-src/Makefile       /^GETOPTOBJS= #getopt.o getopt1.o$/
-GREEN  cp-src/screen.hpp       14
-GROW_RAW_KEYBUF        c-src/emacs/src/keyboard.c      119
-GatherControls pyt-src/server.py       /^    def GatherControls(self):$/
-GetLayerByName lua-src/allegro.lua     /^function GetLayerByName (name)$/
-GetNameList    pas-src/common.pas      /^function GetNameList; (* : BinNodePointer;*)$/
-GetNewNameListNode     pas-src/common.pas      /^function GetNewNameListNode;(*($/
-GetTextRef     pas-src/common.pas      /^function GetTextRef;(*($/
-GetUniqueLayerName     lua-src/allegro.lua     /^function GetUniqueLayerName ()$/
-Get_Own_Priority/f     ada-src/2ataspri.adb    /^   function Get_Own_Priority return System.Any_Pri/
-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/
-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/
-HASH_NEXT      c-src/emacs/src/lisp.h  /^HASH_NEXT (struct Lisp_Hash_Table *h, ptrdiff_t id/
-HASH_TABLE_P   c-src/emacs/src/lisp.h  /^HASH_TABLE_P (Lisp_Object a)$/
-HASH_TABLE_SIZE        c-src/emacs/src/lisp.h  /^HASH_TABLE_SIZE (struct Lisp_Hash_Table *h)$/
-HASH_VALUE     c-src/emacs/src/lisp.h  /^HASH_VALUE (struct Lisp_Hash_Table *h, ptrdiff_t i/
-HAVE_NTGUI     c-src/etags.c   116
-HEAP   c-src/emacs/src/gmalloc.c       131
-HTMLSRC        make-src/Makefile       /^HTMLSRC=softwarelibero.html index.shtml algrthms.h/
-HTML_help      c-src/etags.c   584
-HTML_labels    c-src/etags.c   /^HTML_labels (FILE *inf)$/
-HTML_suffixes  c-src/etags.c   582
-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
-INPUT_EVENT_POS_MIN    c-src/emacs/src/keyboard.c      3701
-INSERT_TREE_NODE       pas-src/common.pas      /^procedure INSERT_TREE_NODE;(*( $/
-INSTANTIATE_MDIAGARRAY_FRIENDS cp-src/MDiagArray2.h    /^#define INSTANTIATE_MDIAGARRAY_FRIENDS(T) \\$/
-INT    c-src/h.h       32
-INT    y-src/cccp.c    6
-INTEGERP       c-src/emacs/src/lisp.h  /^# define INTEGERP(x) lisp_h_INTEGERP (x)$/
-INTEGER_TO_CONS        c-src/emacs/src/lisp.h  /^#define INTEGER_TO_CONS(i)                                        \\$/
-INTERVAL       c-src/emacs/src/lisp.h  1149
-INTMASK        c-src/emacs/src/lisp.h  437
-INTTYPEBITS    c-src/emacs/src/lisp.h  249
-INT_BIT        c-src/emacs/src/gmalloc.c       124
-INT_TYPE_SIZE  y-src/cccp.y    91
-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))$/
-ISLOWER        c-src/etags.c   /^#define ISLOWER(c)    islower (CHAR (c))$/
-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
-InitNameList   pas-src/common.pas      /^procedure InitNameList;$/
-InitNameStringPool     pas-src/common.pas      /^procedure InitNameStringPool;$/
-InitializeStringPackage        pas-src/common.pas      /^procedure InitializeStringPackage;$/
-Initialize_Cond/p      ada-src/2ataspri.adb    /^   procedure Initialize_Cond (Cond : in out Condit/
-Initialize_Cond/p      ada-src/2ataspri.ads    /^   procedure Initialize_Cond (Cond : in out Condit/
-Initialize_LL_Tasks/p  ada-src/2ataspri.adb    /^   procedure Initialize_LL_Tasks (T : TCB_Ptr) is$/
-Initialize_LL_Tasks/p  ada-src/2ataspri.ads    /^   procedure Initialize_LL_Tasks (T : TCB_Ptr);$/
-Initialize_Lock/p      ada-src/2ataspri.adb    /^   procedure Initialize_Lock$/
-Initialize_Lock/p      ada-src/2ataspri.ads    /^   procedure Initialize_Lock (Prio : System.Any_Pr/
-Initialize_TAS_Cell/p  ada-src/2ataspri.adb    /^   procedure Initialize_TAS_Cell (Cell : out TAS_C/
-Initialize_TAS_Cell/p  ada-src/2ataspri.ads    /^   procedure Initialize_TAS_Cell (Cell :    out TA/
-Inner1/b       ada-src/etags-test-for.ada      /^  package body Inner1 is$/
-Inner1/b       ada-src/waroquiers.ada  /^  package body Inner1 is$/
-Inner1/s       ada-src/etags-test-for.ada      /^  package Inner1 is$/
-Inner1/s       ada-src/waroquiers.ada  /^  package Inner1 is$/
-Inner2/b       ada-src/etags-test-for.ada      /^  package body Inner2 is$/
-Inner2/b       ada-src/waroquiers.ada  /^  package body Inner2 is$/
-Inner2/s       ada-src/etags-test-for.ada      /^  package Inner2 is$/
-Inner2/s       ada-src/waroquiers.ada  /^  package Inner2 is$/
-Install_Abort_Handler/p        ada-src/2ataspri.adb    /^   procedure Install_Abort_Handler (Handler : Abor/
-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/
-Invoking gzip  tex-src/gzip.texi       /^@node Invoking gzip, Advanced usage, Sample, Top$/
-IpAddrKind     rs-src/test.rs  3
-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        make-src/Makefile       /^JAVASRC=AWTEMul.java KeyEve.java SMan.java SysCol./
-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/
-LATEST make-src/Makefile       /^LATEST=17$/
-LCE_COMMENT    php-src/lce_functions.php       13
-LCE_COMMENT_TOOL       php-src/lce_functions.php       17
-LCE_COMMENT_USER       php-src/lce_functions.php       15
-LCE_FUNCTIONS  php-src/lce_functions.php       4
-LCE_MSGID      php-src/lce_functions.php       19
-LCE_MSGSTR     php-src/lce_functions.php       21
-LCE_TEXT       php-src/lce_functions.php       23
-LCE_UNKNOWN    php-src/lce_functions.php       9
-LCE_WS php-src/lce_functions.php       11
-LDFLAGS        make-src/Makefile       /^LDFLAGS=#-static -lc_p$/
-LE     y-src/parse.c   7
-LEQ    y-src/cccp.c    14
-LIGHTBLUE      cp-src/screen.hpp       21
-LIGHTCYAN      cp-src/screen.hpp       23
-LIGHTGRAY      cp-src/screen.hpp       19
-LIGHTGREEN     cp-src/screen.hpp       22
-LIGHTMAGENTA   cp-src/screen.hpp       25
-LIGHTRED       cp-src/screen.hpp       24
-LISP_INITIALLY c-src/emacs/src/lisp.h  /^#define LISP_INITIALLY(i) (i)$/
-LISP_INITIALLY c-src/emacs/src/lisp.h  /^#define LISP_INITIALLY(i) {i}$/
-LISP_INITIALLY_ZERO    c-src/emacs/src/lisp.h  582
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^#define LISP_MACRO_DEFUN(name, type, argdecls, arg/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (CONSP, bool, (Lisp_Object x), (x/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (NILP, bool, (Lisp_Object x), (x)/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (SYMBOL_VAL, Lisp_Object, (struct/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XCAR, Lisp_Object, (Lisp_Object /
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XCONS, struct Lisp_Cons *, (Lisp/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XHASH, EMACS_INT, (Lisp_Object a/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XLI, EMACS_INT, (Lisp_Object o),/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XPNTR, void *, (Lisp_Object a), /
-LISP_MACRO_DEFUN_VOID  c-src/emacs/src/lisp.h  /^#define LISP_MACRO_DEFUN_VOID(name, argdecls, args/
-LISP_MACRO_DEFUN_VOID  c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN_VOID (CHECK_LIST_CONS, (Lisp_Obje/
-LISP_MACRO_DEFUN_VOID  c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN_VOID (CHECK_TYPE,$/
-LISP_MACRO_DEFUN_VOID  c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN_VOID (SET_SYMBOL_VAL,$/
-LISTCONTENTS   objc-src/PackInsp.m     39
-LISTCONTENTSBUTTON     objc-src/PackInsp.m     48
-LISTDESCRIPTIONBUTTON  objc-src/PackInsp.m     49
-LL_Assert/p    ada-src/2ataspri.adb    /^   procedure LL_Assert (B : Boolean; M : String) i/
-LL_Assert/p    ada-src/2ataspri.ads    /^   procedure LL_Assert (B : Boolean; M : String);$/
-LL_Task_Procedure_Access/t     ada-src/2ataspri.ads    /^   type LL_Task_Procedure_Access is access procedu/
-LL_Task_Procedure_Access/t     ada-src/etags-test-for.ada      /^   type LL_Task_Procedure_Access is access procedu/
-LL_Wrapper/p   ada-src/2ataspri.adb    /^   procedure LL_Wrapper (T : TCB_Ptr) is$/
-LL_Wrapper/p   ada-src/2ataspri.adb    /^   procedure LL_Wrapper (T : TCB_Ptr);$/
-LL_Wrapper/p   ada-src/etags-test-for.ada      /^   procedure LL_Wrapper (T : TCB_Ptr);$/
-LOCALIZE       objc-src/PackInsp.m     /^#define LOCALIZE(s)           NXLoadLocalizedStringFromTabl/
-LOCALIZE_ARCH  objc-src/PackInsp.m     /^#define LOCALIZE_ARCH(s)      NXLoadLocalizedStringFrom/
-LOCK   c-src/emacs/src/gmalloc.c       /^#define LOCK()                                        \\$/
-LOCK   c-src/emacs/src/gmalloc.c       /^#define LOCK()$/
-LOCK_ALIGNED_BLOCKS    c-src/emacs/src/gmalloc.c       /^#define LOCK_ALIGNED_BLOCKS()                         \\$/
-LOCK_ALIGNED_BLOCKS    c-src/emacs/src/gmalloc.c       /^#define LOCK_ALIGNED_BLOCKS()$/
-LONG_TYPE_SIZE y-src/cccp.y    95
-LOOKING_AT     c-src/etags.c   /^#define LOOKING_AT(cp, kw)  \/* kw is the keyword, /
-LOOKING_AT_NOCASE      c-src/etags.c   /^#define LOOKING_AT_NOCASE(cp, kw) \/* the keyword i/
-LOOKUP objc-src/PackInsp.m     /^#define LOOKUP(key, notfound) ([table isKey:key] ?/
-LOOKUP objc-src/PackInsp.m     176
-LOOP_ON_INPUT_LINES    c-src/etags.c   /^#define LOOP_ON_INPUT_LINES(file_pointer, line_buf/
-LSH    y-src/cccp.c    16
-LTGT   cp-src/MDiagArray2.h    144
-LTGT   cp-src/MDiagArray2.h    35
-LTGT   cp-src/MDiagArray2.h    39
-LTGT   cp-src/MDiagArray2.h    42
-LUASRC make-src/Makefile       /^LUASRC=allegro.lua$/
-L_CELL y-src/parse.c   10
-L_CONST        y-src/parse.c   13
-L_FN0  y-src/parse.c   14
-L_FN1  y-src/parse.c   15
-L_FN1R y-src/parse.c   20
-L_FN2  y-src/parse.c   16
-L_FN2R y-src/parse.c   21
-L_FN3  y-src/parse.c   17
-L_FN3R y-src/parse.c   22
-L_FN4  y-src/parse.c   18
-L_FN4R y-src/parse.c   23
-L_FNN  y-src/parse.c   19
-L_FNNR y-src/parse.c   24
-L_GE   y-src/parse.c   27
-L_LE   y-src/parse.c   25
-L_NE   y-src/parse.c   26
-L_RANGE        y-src/parse.c   11
-L_VAR  y-src/parse.c   12
-L_getit        c-src/etags.c   /^L_getit (void)$/
-LabeledEntry   pyt-src/server.py       /^class LabeledEntry(Frame):$/
-Lang_function  c-src/etags.c   182
-Lang_function  c-src/h.h       6
-Lisp_Bits      c-src/emacs/src/lisp.h  239
-Lisp_Bool_Vector       c-src/emacs/src/lisp.h  1384
-Lisp_Boolfwd   c-src/emacs/src/lisp.h  2284
-Lisp_Buffer_Local_Value        c-src/emacs/src/lisp.h  2334
-Lisp_Buffer_Objfwd     c-src/emacs/src/lisp.h  2302
-Lisp_Char_Table        c-src/emacs/src/lisp.h  1575
-Lisp_Compiled  c-src/emacs/src/lisp.h  2429
-Lisp_Cons      c-src/emacs/src/lisp.h  475
-Lisp_Finalizer c-src/emacs/src/lisp.h  2186
-Lisp_Float     c-src/emacs/src/lisp.h  2391
-Lisp_Float     c-src/emacs/src/lisp.h  477
-Lisp_Free      c-src/emacs/src/lisp.h  2201
-Lisp_Fwd       c-src/emacs/src/lisp.h  2368
-Lisp_Fwd_Bool  c-src/emacs/src/lisp.h  505
-Lisp_Fwd_Buffer_Obj    c-src/emacs/src/lisp.h  507
-Lisp_Fwd_Int   c-src/emacs/src/lisp.h  504
-Lisp_Fwd_Kboard_Obj    c-src/emacs/src/lisp.h  508
-Lisp_Fwd_Obj   c-src/emacs/src/lisp.h  506
-Lisp_Fwd_Type  c-src/emacs/src/lisp.h  502
-Lisp_Hash_Table        c-src/emacs/src/lisp.h  1823
-Lisp_Int0      c-src/emacs/src/lisp.h  461
-Lisp_Int1      c-src/emacs/src/lisp.h  462
-Lisp_Intfwd    c-src/emacs/src/lisp.h  2274
-Lisp_Kboard_Objfwd     c-src/emacs/src/lisp.h  2362
-Lisp_Marker    c-src/emacs/src/lisp.h  1978
-Lisp_Misc      c-src/emacs/src/lisp.h  2212
-Lisp_Misc      c-src/emacs/src/lisp.h  458
-Lisp_Misc_Any  c-src/emacs/src/lisp.h  1971
-Lisp_Misc_Finalizer    c-src/emacs/src/lisp.h  491
-Lisp_Misc_Float        c-src/emacs/src/lisp.h  494
-Lisp_Misc_Free c-src/emacs/src/lisp.h  487
-Lisp_Misc_Limit        c-src/emacs/src/lisp.h  496
-Lisp_Misc_Marker       c-src/emacs/src/lisp.h  488
-Lisp_Misc_Overlay      c-src/emacs/src/lisp.h  489
-Lisp_Misc_Save_Value   c-src/emacs/src/lisp.h  490
-Lisp_Misc_Type c-src/emacs/src/lisp.h  485
-Lisp_Object    c-src/emacs/src/lisp.h  567
-Lisp_Object    c-src/emacs/src/lisp.h  577
-Lisp_Objfwd    c-src/emacs/src/lisp.h  2294
-Lisp_Overlay   c-src/emacs/src/lisp.h  2021
-Lisp_Save_Type c-src/emacs/src/lisp.h  2064
-Lisp_Save_Value        c-src/emacs/src/lisp.h  2110
-Lisp_String    c-src/emacs/src/lisp.h  466
-Lisp_Sub_Char_Table    c-src/emacs/src/lisp.h  1606
-Lisp_Subr      c-src/emacs/src/lisp.h  1670
-Lisp_Symbol    c-src/emacs/src/lisp.h  454
-Lisp_Symbol    c-src/emacs/src/lisp.h  654
-Lisp_Type      c-src/emacs/src/lisp.h  451
-Lisp_Vector    c-src/emacs/src/lisp.h  1369
-Lisp_Vectorlike        c-src/emacs/src/lisp.h  472
-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):$/
-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$/
-LowerCaseNmStr pas-src/common.pas      /^function LowerCaseNmStr; (*($/
-Lua_functions  c-src/etags.c   /^Lua_functions (FILE *inf)$/
-Lua_help       c-src/etags.c   600
-Lua_suffixes   c-src/etags.c   598
-MAGENTA        cp-src/screen.hpp       17
-MAGICBYTE      c-src/emacs/src/gmalloc.c       1856
-MAGICFREE      c-src/emacs/src/gmalloc.c       1855
-MAGICWORD      c-src/emacs/src/gmalloc.c       1854
-MAKE   make-src/Makefile       /^MAKE:=$(MAKE) --no-print-directory$/
-MAKESRC        make-src/Makefile       /^MAKESRC=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)$/
-MAXPATHLEN     c-src/etags.c   115
-MAX_ALLOCA     c-src/emacs/src/lisp.h  4556
-MAX_ENCODED_BYTES      c-src/emacs/src/keyboard.c      2254
-MAX_HASH_VALUE c-src/etags.c   2329
-MAX_WORD_LENGTH        c-src/etags.c   2327
-MAYBEREL       y-src/parse.y   /^#define MAYBEREL(p) (*(p)=='[' && (isdigit((p)[1])/
-MBYTES objc-src/PackInsp.m     59
-MCHECK_DISABLED        c-src/emacs/src/gmalloc.c       285
-MCHECK_FREE    c-src/emacs/src/gmalloc.c       287
-MCHECK_HEAD    c-src/emacs/src/gmalloc.c       288
-MCHECK_OK      c-src/emacs/src/gmalloc.c       286
-MCHECK_TAIL    c-src/emacs/src/gmalloc.c       289
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (T *d, int r, int c) : DiagArray2<T>/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (const Array<T>& a) : DiagArray2<T> /
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (const DiagArray2<T>& a) : DiagArray/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (const MDiagArray2<T>& a) : DiagArra/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (int r, int c) : DiagArray2<T> (r, c/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (int r, int c, const T& val) : DiagA/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (void) : DiagArray2<T> () { }$/
-MDiagArray2    cp-src/MDiagArray2.h    78
-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)$/
-MOST_NEGATIVE_FIXNUM   c-src/emacs/src/lisp.h  835
-MOST_POSITIVE_FIXNUM   c-src/emacs/src/lisp.h  834
-MOVE   c-src/sysdep.h  /^#define MOVE(x,y)     movl x, y$/
-MSDOS  c-src/etags.c   100
-MSDOS  c-src/etags.c   106
-MSDOS  c-src/etags.c   107
-MSDOS  c-src/etags.c   110
-MSGSEL f-src/entry.for /^       ENTRY  MSGSEL ( TYPE )$/
-MSGSEL f-src/entry.strange     /^       ENTRY  MSGSEL ( TYPE )$/
-MSGSEL f-src/entry.strange_suffix      /^       ENTRY  MSGSEL ( TYPE )$/
-MULTI_LETTER_MOD       c-src/emacs/src/keyboard.c      /^#define MULTI_LETTER_MOD(BIT, NAME, LEN)                      \\$/
-MULTI_LETTER_MOD       c-src/emacs/src/keyboard.c      /^#define MULTI_LETTER_MOD(BIT, NAME, LEN)              \\$/
-MULTI_LETTER_MOD       c-src/emacs/src/keyboard.c      6231
-MULTI_LETTER_MOD       c-src/emacs/src/keyboard.c      6764
-Machin_T/b     ada-src/waroquiers.ada  /^  protected body Machin_T is$/
-Machin_T/t     ada-src/etags-test-for.ada      /^  protected Machin_T is$/
-Machin_T/t     ada-src/etags-test-for.ada      /^  protected type Machin_T is$/
-Machin_T/t     ada-src/waroquiers.ada  /^  protected type Machin_T is$/
-Machine_Exceptions/t   ada-src/2ataspri.ads    /^   type Machine_Exceptions is new Interfaces.C.POS/
-MakeDispose    pyt-src/server.py       /^    def MakeDispose(self):$/
-MakeSitelist   pyt-src/server.py       /^    def MakeSitelist(self, master):$/
-Makefile_filenames     c-src/etags.c   603
-Makefile_help  c-src/etags.c   605
-Makefile_targets       c-src/etags.c   /^Makefile_targets (FILE *inf)$/
-Mc     cp-src/c.C      /^int main (void) { my_function0(0); my_function1(1)/
-Mcccp  y-src/cccp.y    /^main ()$/
-Mconway.cpp    cp-src/conway.cpp       /^void main(void)$/
-Metags c-src/etags.c   /^main (int argc, char **argv)$/
-Mfail  cp-src/fail.C   /^main()$/
-Mkai-test.pl   perl-src/kai-test.pl    /^package main;$/
-ModuleExample  ruby-src/test.rb        /^module ModuleExample$/
-More_Lisp_Bits c-src/emacs/src/lisp.h  801
-MoveLayerAfter lua-src/allegro.lua     /^function MoveLayerAfter (this_one)$/
-MoveLayerBefore        lua-src/allegro.lua     /^function MoveLayerBefore (this_one)$/
-MoveLayerBottom        lua-src/allegro.lua     /^function MoveLayerBottom ()$/
-MoveLayerTop   lua-src/allegro.lua     /^function MoveLayerTop ()$/
-Mtest.go       go-src/test.go  /^func main() {$/
-Mtest.go       go-src/test.go  1
-Mtest.rs       rs-src/test.rs  /^fn main() {$/
-Mtest1.go      go-src/test1.go /^func main() {$/
-Mtest1.go      go-src/test1.go 1
-Mx.cc  cp-src/x.cc     /^main(int argc, char *argv[])$/
-NAME   y-src/cccp.c    8
-NATNUMP        c-src/emacs/src/lisp.h  /^NATNUMP (Lisp_Object x)$/
-NDEBUG c-src/etags.c   88
-NE     y-src/parse.c   6
-NEG    y-src/parse.c   9
-NEXT_ALMOST_PRIME_LIMIT        c-src/emacs/src/lisp.h  3573
-NILP   c-src/emacs/src/lisp.h  /^# define NILP(x) lisp_h_NILP (x)$/
-NIL_IS_ZERO    c-src/emacs/src/lisp.h  1515
-NONPOINTER_BITS        c-src/emacs/src/lisp.h  78
-NONPOINTER_BITS        c-src/emacs/src/lisp.h  80
-NONSRCS        make-src/Makefile       /^NONSRCS=entry.strange lists.erl clheir.hpp.gz$/
-NOTEQUAL       y-src/cccp.c    13
-NULL   y-src/cccp.y    51
-NULL_PTR       y-src/cccp.y    63
-NUMSTATS       objc-src/PackInsp.h     36
-NUM_MOD_NAMES  c-src/emacs/src/keyboard.c      6325
-NUM_RECENT_KEYS        c-src/emacs/src/keyboard.c      91
-NameHasChar    pas-src/common.pas      /^function NameHasChar; (* (TheName : NameString; Th/
-NameStringLess pas-src/common.pas      /^function NameStringLess;(*(var Name1,Name2 : NameS/
-NewLayer       lua-src/allegro.lua     /^function NewLayer (name, x, y, w, h)$/
-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/
-OBJCPPSRC      make-src/Makefile       /^OBJCPPSRC=SimpleCalc.H SimpleCalc.M$/
-OBJCSRC        make-src/Makefile       /^OBJCSRC=Subprocess.h Subprocess.m PackInsp.h PackI/
-OBJS   make-src/Makefile       /^OBJS=${GETOPTOBJS} ${REGEXOBJS} ${CHECKOBJS}$/
-OPENBUTTON     objc-src/PackInsp.m     47
-OPTIONS        make-src/Makefile       /^OPTIONS=--members --declarations --regex=@regexfil/
-OR     y-src/cccp.c    10
-OTAGS  make-src/Makefile       /^OTAGS: oetags ${SRCS} srclist$/
-OVERLAYP       c-src/emacs/src/lisp.h  /^OVERLAYP (Lisp_Object x)$/
-Objc_help      c-src/etags.c   613
-Objc_suffixes  c-src/etags.c   609
-OperatorFun    c-src/h.h       88
-Overview       tex-src/gzip.texi       /^@node Overview, Sample, Copying, Top$/
-PASSRC make-src/Makefile       /^PASSRC=common.pas$/
-PDT    c-src/h.h       /^  Date 04 May 87 235311 PDT (Mon)$/
-PERLSRC        make-src/Makefile       /^PERLSRC=htlmify-cystic yagrip.pl kai-test.pl mirro/
-PHPSRC make-src/Makefile       /^PHPSRC=lce_functions.php ptest.php sendmail.php$/
-PHP_functions  c-src/etags.c   /^PHP_functions (FILE *inf)$/
-PHP_help       c-src/etags.c   639
-PHP_suffixes   c-src/etags.c   637
-POEntry        php-src/lce_functions.php       /^      function POEntry()$/
-POEntry        php-src/lce_functions.php       105
-POEntryAD      php-src/lce_functions.php       29
-PORManager     php-src/lce_functions.php       /^      function PORManager()$/
-PORManager     php-src/lce_functions.php       498
-POReader       php-src/lce_functions.php       /^      function POReader($domain, $filename)$/
-POReader       php-src/lce_functions.php       163
-POSTSCRIPTFLAGS        make-src/Makefile       /^POSTSCRIPTFLAGS=--language=none --regex='#\/[^ \\t{]/
-PRINT_UNDOCUMENTED_OPTIONS_HELP        c-src/etags.c   804
-PROCESSP       c-src/emacs/src/lisp.h  /^PROCESSP (Lisp_Object a)$/
-PROLSRC        make-src/Makefile       /^PROLSRC=ordsets.prolog natded.prolog$/
-PROP   c-src/emacs/src/keyboard.c      /^#define PROP(IDX) AREF (tool_bar_item_properties, /
-PROP   c-src/emacs/src/keyboard.c      8379
-PROTECT_MALLOC_STATE   c-src/emacs/src/gmalloc.c       /^#define PROTECT_MALLOC_STATE(PROT)    \/* empty *\/$/
-PROTECT_MALLOC_STATE   c-src/emacs/src/gmalloc.c       /^#define PROTECT_MALLOC_STATE(PROT) protect_malloc_/
-PRTPKG f-src/entry.for /^      LOGICAL FUNCTION PRTPKG ( SHORT, LONG, EXPL,/
-PRTPKG f-src/entry.strange     /^      LOGICAL FUNCTION PRTPKG ( SHORT, LONG, EXPL,/
-PRTPKG f-src/entry.strange_suffix      /^      LOGICAL FUNCTION PRTPKG ( SHORT, LONG, EXPL,/
-PSEUDO c-src/sysdep.h  /^#define       PSEUDO(name, syscall_name, args)                                      /
-PSEUDOVECSIZE  c-src/emacs/src/lisp.h  /^#define PSEUDOVECSIZE(type, nonlispfield)                     \\$/
-PSEUDOVECTORP  c-src/emacs/src/lisp.h  /^PSEUDOVECTORP (Lisp_Object a, int code)$/
-PSEUDOVECTOR_AREA_BITS c-src/emacs/src/lisp.h  818
-PSEUDOVECTOR_FLAG      c-src/emacs/src/lisp.h  774
-PSEUDOVECTOR_REST_BITS c-src/emacs/src/lisp.h  813
-PSEUDOVECTOR_REST_MASK c-src/emacs/src/lisp.h  814
-PSEUDOVECTOR_SIZE_BITS c-src/emacs/src/lisp.h  808
-PSEUDOVECTOR_SIZE_MASK c-src/emacs/src/lisp.h  809
-PSEUDOVECTOR_TYPEP     c-src/emacs/src/lisp.h  /^PSEUDOVECTOR_TYPEP (struct vectorlike_header *a, i/
-PSSRC  make-src/Makefile       /^PSSRC=rfc1245.ps$/
-PS_functions   c-src/etags.c   /^PS_functions (FILE *inf)$/
-PS_help        c-src/etags.c   649
-PS_suffixes    c-src/etags.c   647
-PTY_LENGTH     objc-src/Subprocess.m   21
-PTY_TEMPLATE   objc-src/Subprocess.m   20
-PUSH_C_STR     c-src/emacs/src/keyboard.c      /^#define PUSH_C_STR(str, listvar) \\$/
-PUSH_HANDLER   c-src/emacs/src/lisp.h  /^#define PUSH_HANDLER(c, tag_ch_val, handlertype)      \\/
-PVEC_BOOL_VECTOR       c-src/emacs/src/lisp.h  787
-PVEC_BUFFER    c-src/emacs/src/lisp.h  788
-PVEC_CHAR_TABLE        c-src/emacs/src/lisp.h  796
-PVEC_COMPILED  c-src/emacs/src/lisp.h  795
-PVEC_FONT      c-src/emacs/src/lisp.h  798
-PVEC_FRAME     c-src/emacs/src/lisp.h  785
-PVEC_FREE      c-src/emacs/src/lisp.h  783
-PVEC_HASH_TABLE        c-src/emacs/src/lisp.h  789
-PVEC_NORMAL_VECTOR     c-src/emacs/src/lisp.h  782
-PVEC_OTHER     c-src/emacs/src/lisp.h  793
-PVEC_PROCESS   c-src/emacs/src/lisp.h  784
-PVEC_SUBR      c-src/emacs/src/lisp.h  792
-PVEC_SUB_CHAR_TABLE    c-src/emacs/src/lisp.h  797
-PVEC_TERMINAL  c-src/emacs/src/lisp.h  790
-PVEC_TYPE_MASK c-src/emacs/src/lisp.h  819
-PVEC_WINDOW    c-src/emacs/src/lisp.h  786
-PVEC_WINDOW_CONFIGURATION      c-src/emacs/src/lisp.h  791
-PYTSRC make-src/Makefile       /^PYTSRC=server.py$/
-PackageInspector       objc-src/PackInsp.h     /^@interface PackageInspector:WMInspector$/
-Pascal_functions       c-src/etags.c   /^Pascal_functions (FILE *inf)$/
-Pascal_help    c-src/etags.c   621
-Pascal_suffixes        c-src/etags.c   619
-Perl_functions c-src/etags.c   /^Perl_functions (FILE *inf)$/
-Perl_help      c-src/etags.c   630
-Perl_interpreters      c-src/etags.c   628
-Perl_suffixes  c-src/etags.c   626
-Pkg1/b ada-src/etags-test-for.ada      /^package body Pkg1 is$/
-Pkg1/b ada-src/waroquiers.ada  /^package body Pkg1 is$/
-Pkg1/s ada-src/etags-test-for.ada      /^package Pkg1 is$/
-Pkg1/s ada-src/waroquiers.ada  /^package Pkg1 is$/
-Pkg1_Func1/f   ada-src/etags-test-for.ada      /^  function Pkg1_Func1 return Boolean is separate;$/
-Pkg1_Func1/f   ada-src/etags-test-for.ada      /^  function Pkg1_Func1 return Boolean;$/
-Pkg1_Func1/f   ada-src/etags-test-for.ada      /^function  Pkg1_Func1 return Boolean is$/
-Pkg1_Func1/f   ada-src/waroquiers.ada  /^  function Pkg1_Func1 return Boolean is separate;$/
-Pkg1_Func1/f   ada-src/waroquiers.ada  /^  function Pkg1_Func1 return Boolean;$/
-Pkg1_Func1/f   ada-src/waroquiers.ada  /^function  Pkg1_Func1 return Boolean is$/
-Pkg1_Func2/f   ada-src/etags-test-for.ada      /^  function Pkg1_Func2 (Ijk : Integer; Z : Integer)/
-Pkg1_Func2/f   ada-src/waroquiers.ada  /^  function Pkg1_Func2 (Ijk : Integer; Z : Integer)/
-Pkg1_Pkg1/b    ada-src/etags-test-for.ada      /^  package body Pkg1_Pkg1 is separate;$/
-Pkg1_Pkg1/b    ada-src/etags-test-for.ada      /^package body Pkg1_Pkg1 is$/
-Pkg1_Pkg1/b    ada-src/waroquiers.ada  /^  package body Pkg1_Pkg1 is separate;$/
-Pkg1_Pkg1/b    ada-src/waroquiers.ada  /^package body Pkg1_Pkg1 is$/
-Pkg1_Pkg1/s    ada-src/etags-test-for.ada      /^  package Pkg1_Pkg1 is$/
-Pkg1_Pkg1/s    ada-src/waroquiers.ada  /^  package Pkg1_Pkg1 is$/
-Pkg1_Pkg1_Proc1/p      ada-src/etags-test-for.ada      /^    procedure Pkg1_Pkg1_Proc1;$/
-Pkg1_Pkg1_Proc1/p      ada-src/etags-test-for.ada      /^  procedure Pkg1_Pkg1_Proc1 is$/
-Pkg1_Pkg1_Proc1/p      ada-src/waroquiers.ada  /^    procedure Pkg1_Pkg1_Proc1;$/
-Pkg1_Pkg1_Proc1/p      ada-src/waroquiers.ada  /^  procedure Pkg1_Pkg1_Proc1 is$/
-Pkg1_Proc1/p   ada-src/etags-test-for.ada      /^  procedure Pkg1_Proc1 is$/
-Pkg1_Proc1/p   ada-src/etags-test-for.ada      /^  procedure Pkg1_Proc1;$/
-Pkg1_Proc1/p   ada-src/waroquiers.ada  /^  procedure Pkg1_Proc1 is$/
-Pkg1_Proc1/p   ada-src/waroquiers.ada  /^  procedure Pkg1_Proc1;$/
-Pkg1_Proc2/p   ada-src/etags-test-for.ada      /^  procedure Pkg1_Proc2 (I : Integer) is$/
-Pkg1_Proc2/p   ada-src/etags-test-for.ada      /^  procedure Pkg1_Proc2 (I : Integer);$/
-Pkg1_Proc2/p   ada-src/waroquiers.ada  /^  procedure Pkg1_Proc2 (I : Integer) is$/
-Pkg1_Proc2/p   ada-src/waroquiers.ada  /^  procedure Pkg1_Proc2 (I : Integer);$/
-PostControls   pyt-src/server.py       /^    def PostControls(self):$/
-Pre_Call_State/t       ada-src/2ataspri.ads    /^   type Pre_Call_State is new System.Address;$/
-PrintAdd       go-src/test1.go /^func (n intNumber) PrintAdd() {$/
-PrintAdd       go-src/test1.go /^func (s str) PrintAdd() {$/
-Private        objc-src/Subprocess.m   /^@interface Subprocess(Private)$/
-Private_T/b    ada-src/etags-test-for.ada      /^    task body Private_T is$/
-Private_T/b    ada-src/waroquiers.ada  /^    task body Private_T is$/
-Private_T/k    ada-src/etags-test-for.ada      /^    task Private_T;$/
-Private_T/k    ada-src/waroquiers.ada  /^    task Private_T;$/
-Private_T/p    ada-src/etags-test-for.ada      /^    procedure Private_T is$/
-Private_T/p    ada-src/etags-test-for.ada      /^    procedure Private_T;$/
-Private_T/p    ada-src/waroquiers.ada  /^    procedure Private_T is$/
-Private_T/p    ada-src/waroquiers.ada  /^    procedure Private_T;$/
-Private_T/t    ada-src/etags-test-for.ada      /^  type Private_T is private;$/
-Private_T/t    ada-src/etags-test-for.ada      /^  type Private_T is$/
-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       /^@node Problems, Concept Index, Tapes, Top$/
-Proc/t ada-src/2ataspri.ads    /^   type Proc is access procedure (Addr : System.Ad/
-Prolog_functions       c-src/etags.c   /^Prolog_functions (FILE *inf)$/
-Prolog_help    c-src/etags.c   654
-Prolog_suffixes        c-src/etags.c   652
-Public_T/t     ada-src/etags-test-for.ada      /^  type Public_T is$/
-Public_T/t     ada-src/waroquiers.ada  /^  type Public_T is$/
-Python_functions       c-src/etags.c   /^Python_functions (FILE *inf)$/
-Python_help    c-src/etags.c   660
-Python_suffixes        c-src/etags.c   658
-QUIT   c-src/emacs/src/lisp.h  3101
-QUITP  c-src/emacs/src/lisp.h  3112
-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
-READABLE_EVENTS_FILTER_EVENTS  c-src/emacs/src/keyboard.c      347
-READABLE_EVENTS_IGNORE_SQUEEZABLES     c-src/emacs/src/keyboard.c      348
-RECC_ALNUM     c-src/emacs/src/regex.h 610
-RECC_ALPHA     c-src/emacs/src/regex.h 610
-RECC_ASCII     c-src/emacs/src/regex.h 617
-RECC_BLANK     c-src/emacs/src/regex.h 615
-RECC_CNTRL     c-src/emacs/src/regex.h 613
-RECC_DIGIT     c-src/emacs/src/regex.h 614
-RECC_ERROR     c-src/emacs/src/regex.h 609
-RECC_GRAPH     c-src/emacs/src/regex.h 611
-RECC_LOWER     c-src/emacs/src/regex.h 612
-RECC_MULTIBYTE c-src/emacs/src/regex.h 616
-RECC_NONASCII  c-src/emacs/src/regex.h 616
-RECC_PRINT     c-src/emacs/src/regex.h 611
-RECC_PUNCT     c-src/emacs/src/regex.h 613
-RECC_SPACE     c-src/emacs/src/regex.h 615
-RECC_UNIBYTE   c-src/emacs/src/regex.h 617
-RECC_UPPER     c-src/emacs/src/regex.h 612
-RECC_WORD      c-src/emacs/src/regex.h 610
-RECC_XDIGIT    c-src/emacs/src/regex.h 614
-RED    cp-src/screen.hpp       16
-REGEX  make-src/Makefile       /^REGEX=\/[ \\t]*DEFVAR_[A-Z_ \\t\\n(]+"\\([^"]+\\)"\/$/
-REGEXOBJS      make-src/Makefile       /^REGEXOBJS=regex.o$/
-REGS_FIXED     c-src/emacs/src/regex.h 378
-REGS_REALLOCATE        c-src/emacs/src/regex.h 377
-REGS_UNALLOCATED       c-src/emacs/src/regex.h 376
-REG_BADBR      c-src/emacs/src/regex.h 313
-REG_BADPAT     c-src/emacs/src/regex.h 305
-REG_BADRPT     c-src/emacs/src/regex.h 316
-REG_EBRACE     c-src/emacs/src/regex.h 312
-REG_EBRACK     c-src/emacs/src/regex.h 310
-REG_ECOLLATE   c-src/emacs/src/regex.h 306
-REG_ECTYPE     c-src/emacs/src/regex.h 307
-REG_EEND       c-src/emacs/src/regex.h 319
-REG_EESCAPE    c-src/emacs/src/regex.h 308
-REG_ENOSYS     c-src/emacs/src/regex.h 297
-REG_ENOSYS     c.c     279
-REG_EPAREN     c-src/emacs/src/regex.h 311
-REG_ERANGE     c-src/emacs/src/regex.h 314
-REG_ERANGEX    c-src/emacs/src/regex.h 322
-REG_ERPAREN    c-src/emacs/src/regex.h 321
-REG_ESIZE      c-src/emacs/src/regex.h 320
-REG_ESPACE     c-src/emacs/src/regex.h 315
-REG_ESUBREG    c-src/emacs/src/regex.h 309
-REG_EXTENDED   c-src/emacs/src/regex.h 263
-REG_ICASE      c-src/emacs/src/regex.h 267
-REG_NEWLINE    c-src/emacs/src/regex.h 272
-REG_NOERROR    c-src/emacs/src/regex.h 300
-REG_NOMATCH    c-src/emacs/src/regex.h 301
-REG_NOSUB      c-src/emacs/src/regex.h 276
-REG_NOTBOL     c-src/emacs/src/regex.h 286
-REG_NOTEOL     c-src/emacs/src/regex.h 289
-RELEASELIST    make-src/Makefile       /^RELEASELIST=pot@gnu.org xemacs-review@xemacs.org j/
-RESUME_POLLING c-src/emacs/src/keyboard.c      2170
-RETURN_UNGCPRO c-src/emacs/src/lisp.h  /^#define RETURN_UNGCPRO(expr)                  \\$/
-RE_BACKSLASH_ESCAPE_IN_LISTS   c-src/emacs/src/regex.h 47
-RE_BK_PLUS_QM  c-src/emacs/src/regex.h 52
-RE_CHAR_CLASSES        c-src/emacs/src/regex.h 58
-RE_CONTEXT_INDEP_ANCHORS       c-src/emacs/src/regex.h 72
-RE_CONTEXT_INDEP_OPS   c-src/emacs/src/regex.h 80
-RE_CONTEXT_INVALID_OPS c-src/emacs/src/regex.h 84
-RE_DEBUG       c-src/emacs/src/regex.h 161
-RE_DOT_NEWLINE c-src/emacs/src/regex.h 88
-RE_DOT_NOT_NULL        c-src/emacs/src/regex.h 92
-RE_DUP_MAX     c-src/emacs/src/regex.h 253
-RE_DUP_MAX     c-src/emacs/src/regex.h 256
-RE_FRUGAL      c-src/emacs/src/regex.h 147
-RE_HAT_LISTS_NOT_NEWLINE       c-src/emacs/src/regex.h 96
-RE_INTERVALS   c-src/emacs/src/regex.h 101
-RE_LIMITED_OPS c-src/emacs/src/regex.h 105
-RE_NEWLINE_ALT c-src/emacs/src/regex.h 109
-RE_NO_BK_BRACES        c-src/emacs/src/regex.h 114
-RE_NO_BK_PARENS        c-src/emacs/src/regex.h 118
-RE_NO_BK_REFS  c-src/emacs/src/regex.h 122
-RE_NO_BK_VBAR  c-src/emacs/src/regex.h 126
-RE_NO_EMPTY_RANGES     c-src/emacs/src/regex.h 132
-RE_NO_GNU_OPS  c-src/emacs/src/regex.h 144
-RE_NO_NEWLINE_ANCHOR   c-src/emacs/src/regex.h 153
-RE_NO_POSIX_BACKTRACKING       c-src/emacs/src/regex.h 140
-RE_NREGS       c-src/emacs/src/regex.h 440
-RE_SHY_GROUPS  c-src/emacs/src/regex.h 150
-RE_SYNTAX_AWK  c-src/emacs/src/regex.h 186
-RE_SYNTAX_ED   c-src/emacs/src/regex.h 216
-RE_SYNTAX_EGREP        c-src/emacs/src/regex.h 206
-RE_SYNTAX_EMACS        c-src/emacs/src/regex.h 183
-RE_SYNTAX_GNU_AWK      c-src/emacs/src/regex.h 193
-RE_SYNTAX_GREP c-src/emacs/src/regex.h 201
-RE_SYNTAX_POSIX_AWK    c-src/emacs/src/regex.h 197
-RE_SYNTAX_POSIX_BASIC  c-src/emacs/src/regex.h 225
-RE_SYNTAX_POSIX_EGREP  c-src/emacs/src/regex.h 212
-RE_SYNTAX_POSIX_EXTENDED       c-src/emacs/src/regex.h 234
-RE_SYNTAX_POSIX_MINIMAL_BASIC  c-src/emacs/src/regex.h 231
-RE_SYNTAX_POSIX_MINIMAL_EXTENDED       c-src/emacs/src/regex.h 242
-RE_SYNTAX_SED  c-src/emacs/src/regex.h 218
-RE_TRANSLATE_TYPE      c-src/emacs/src/regex.h 332
-RE_UNMATCHED_RIGHT_PAREN_ORD   c-src/emacs/src/regex.h 136
-RSH    y-src/cccp.c    17
-RTE/s  ada-src/2ataspri.adb    /^   package RTE renames Interfaces.C.POSIX_RTE;$/
-RUN    make-src/Makefile       /^RUN=$/
-RUN    make-src/Makefile       /^RUN=time --quiet --format '%U + %S: %E'$/
-RXINCLUDE      make-src/Makefile       /^RXINCLUDE=-Iemacs\/src$/
-Range  cp-src/Range.h  /^  Range (const Range& r)$/
-Range  cp-src/Range.h  /^  Range (double b, double l)$/
-Range  cp-src/Range.h  /^  Range (double b, double l, double i)$/
-Range  cp-src/Range.h  /^  Range (void)$/
-Range  cp-src/Range.h  35
-ReadVacation   cp-src/functions.cpp    /^void ReadVacation ( char *filename ) {$/
-Read_Lock/p    ada-src/2ataspri.adb    /^   procedure Read_Lock (L : in out Lock; Ceiling_V/
-Read_Lock/p    ada-src/2ataspri.ads    /^   procedure Read_Lock (L : in out Lock; Ceiling_V/
-Rectangle.getPos       lua-src/test.lua        /^function Rectangle.getPos ()$/
-ReleaseNameString      pas-src/common.pas      /^procedure ReleaseNameString; (* (var NSP: NameStri/
-RemoveLayer    lua-src/allegro.lua     /^function RemoveLayer ()$/
-RemoveUnderlineControl pas-src/common.pas      /^function RemoveUnderlineControl; (*($/
-ReprOfChar     pas-src/common.pas      /^function ReprOfChar; (*( ch : char) : NameString;*/
-S      c.c     156
-SAFE_ALLOCA    c-src/emacs/src/lisp.h  /^#define SAFE_ALLOCA(size) ((size) <= sa_avail                         \\/
-SAFE_ALLOCA_LISP       c-src/emacs/src/lisp.h  /^#define SAFE_ALLOCA_LISP(buf, nelt)                          \\$/
-SAFE_ALLOCA_STRING     c-src/emacs/src/lisp.h  /^#define SAFE_ALLOCA_STRING(ptr, string)                       \\$/
-SAFE_FREE      c-src/emacs/src/lisp.h  /^#define SAFE_FREE()                   \\$/
-SAFE_NALLOCA   c-src/emacs/src/lisp.h  /^#define SAFE_NALLOCA(buf, multiplier, nitems)                  \\/
-SAVE_FUNCPOINTER       c-src/emacs/src/lisp.h  2049
-SAVE_INTEGER   c-src/emacs/src/lisp.h  2048
-SAVE_OBJECT    c-src/emacs/src/lisp.h  2051
-SAVE_POINTER   c-src/emacs/src/lisp.h  2050
-SAVE_SLOT_BITS c-src/emacs/src/lisp.h  2055
-SAVE_TYPE_BITS c-src/emacs/src/lisp.h  2062
-SAVE_TYPE_BITS c-src/emacs/src/lisp.h  2114
-SAVE_TYPE_BITS c-src/emacs/src/lisp.h  2123
-SAVE_TYPE_FUNCPTR_PTR_OBJ      c-src/emacs/src/lisp.h  2076
-SAVE_TYPE_INT_INT      c-src/emacs/src/lisp.h  2066
-SAVE_TYPE_INT_INT_INT  c-src/emacs/src/lisp.h  2067
-SAVE_TYPE_MEMORY       c-src/emacs/src/lisp.h  2080
-SAVE_TYPE_OBJ_OBJ      c-src/emacs/src/lisp.h  2069
-SAVE_TYPE_OBJ_OBJ_OBJ  c-src/emacs/src/lisp.h  2070
-SAVE_TYPE_OBJ_OBJ_OBJ_OBJ      c-src/emacs/src/lisp.h  2071
-SAVE_TYPE_PTR_INT      c-src/emacs/src/lisp.h  2073
-SAVE_TYPE_PTR_OBJ      c-src/emacs/src/lisp.h  2074
-SAVE_TYPE_PTR_PTR      c-src/emacs/src/lisp.h  2075
-SAVE_UNUSED    c-src/emacs/src/lisp.h  2047
-SAVE_VALUEP    c-src/emacs/src/lisp.h  /^SAVE_VALUEP (Lisp_Object x)$/
-SAVE_VALUE_SLOTS       c-src/emacs/src/lisp.h  2058
-SBYTES c-src/emacs/src/lisp.h  /^SBYTES (Lisp_Object string)$/
-SCHARS c-src/emacs/src/lisp.h  /^SCHARS (Lisp_Object string)$/
-SCREEN_FP      cp-src/screen.hpp       /^#define SCREEN_FP(x,y) \\$/
-SCREEN_START   cp-src/screen.hpp       33
-SDATA  c-src/emacs/src/lisp.h  /^SDATA (Lisp_Object string)$/
-SDTrefGetInteger       pas-src/common.pas      /^function SDTrefGetInteger : integer;$/
-SDTrefIsEnd    pas-src/common.pas      /^function SDTrefIsEnd : Boolean;$/
-SDTrefRecToString      pas-src/common.pas      /^procedure SDTrefRecToString  (* ($/
-SDTrefSkipSpaces       pas-src/common.pas      /^procedure SDTrefSkipSpaces;$/
-SDTrefStringToRec      pas-src/common.pas      /^procedure SDTrefStringToRec (* ($/
-SETPRT f-src/entry.for /^       ENTRY  SETPRT ( SHORT, EXPL, LONG, TRACE, D/
-SETPRT f-src/entry.strange     /^       ENTRY  SETPRT ( SHORT, EXPL, LONG, TRACE, D/
-SETPRT f-src/entry.strange_suffix      /^       ENTRY  SETPRT ( SHORT, EXPL, LONG, TRACE, D/
-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_/
-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      6763
-SIZEFORMAT     objc-src/PackInsp.m     57
-SPECPDL_BACKTRACE      c-src/emacs/src/lisp.h  2948
-SPECPDL_INDEX  c-src/emacs/src/lisp.h  /^SPECPDL_INDEX (void)$/
-SPECPDL_LET    c-src/emacs/src/lisp.h  2949
-SPECPDL_LET_DEFAULT    c-src/emacs/src/lisp.h  2952
-SPECPDL_LET_LOCAL      c-src/emacs/src/lisp.h  2951
-SPECPDL_UNWIND c-src/emacs/src/lisp.h  2944
-SPECPDL_UNWIND_INT     c-src/emacs/src/lisp.h  2946
-SPECPDL_UNWIND_PTR     c-src/emacs/src/lisp.h  2945
-SPECPDL_UNWIND_VOID    c-src/emacs/src/lisp.h  2947
-SRCS   make-src/Makefile       /^SRCS=Makefile ${ADASRC} ${ASRC} ${CSRC} ${CPSRC} $/
-SREF   c-src/emacs/src/lisp.h  /^SREF (Lisp_Object string, ptrdiff_t index)$/
-SSDATA c-src/emacs/src/lisp.h  /^SSDATA (Lisp_Object string)$/
-SSET   c-src/emacs/src/lisp.h  /^SSET (Lisp_Object string, ptrdiff_t index, unsigne/
-STACK_CONS     c-src/emacs/src/lisp.h  /^#define STACK_CONS(a, b) \\$/
-STATE_ABORT    php-src/lce_functions.php       25
-STATE_COMPRESSD        objc-src/PackInsp.m     54
-STATE_INSTALLED        objc-src/PackInsp.m     53
-STATE_LOOP     php-src/lce_functions.php       27
-STATE_OK       php-src/lce_functions.php       26
-STATE_UNINSTALLED      objc-src/PackInsp.m     52
-STAT_EQ        objc-src/PackInsp.m     /^#define STAT_EQ(s1, s2)       ((s1)->st_ino == (s2)->st_/
-STDIN  c-src/etags.c   408
-STDIN  c-src/etags.c   411
-STOP_POLLING   c-src/emacs/src/keyboard.c      2166
-STRING_BYTES   c-src/emacs/src/lisp.h  /^STRING_BYTES (struct Lisp_String *s)$/
-STRING_BYTES_BOUND     c-src/emacs/src/lisp.h  1261
-STRING_MULTIBYTE       c-src/emacs/src/lisp.h  /^STRING_MULTIBYTE (Lisp_Object str)$/
-STRING_SET_CHARS       c-src/emacs/src/lisp.h  /^STRING_SET_CHARS (Lisp_Object string, ptrdiff_t ne/
-STRING_SET_MULTIBYTE   c-src/emacs/src/lisp.h  /^#define STRING_SET_MULTIBYTE(STR)                     \\$/
-STRING_SET_UNIBYTE     c-src/emacs/src/lisp.h  /^#define STRING_SET_UNIBYTE(STR)                               \\$/
-SUBRP  c-src/emacs/src/lisp.h  /^SUBRP (Lisp_Object a)$/
-SUB_CHAR_TABLE_OFFSET  c-src/emacs/src/lisp.h  1701
-SUB_CHAR_TABLE_P       c-src/emacs/src/lisp.h  /^SUB_CHAR_TABLE_P (Lisp_Object a)$/
-SXHASH_REDUCE  c-src/emacs/src/lisp.h  /^SXHASH_REDUCE (EMACS_UINT x)$/
-SYMBOLP        c-src/emacs/src/lisp.h  /^# define SYMBOLP(x) lisp_h_SYMBOLP (x)$/
-SYMBOL_BLV     c-src/emacs/src/lisp.h  /^SYMBOL_BLV (struct Lisp_Symbol *sym)$/
-SYMBOL_CONSTANT_P      c-src/emacs/src/lisp.h  /^# define SYMBOL_CONSTANT_P(sym) lisp_h_SYMBOL_CONS/
-SYMBOL_FORWARDED       c-src/emacs/src/lisp.h  651
-SYMBOL_FWD     c-src/emacs/src/lisp.h  /^SYMBOL_FWD (struct Lisp_Symbol *sym)$/
-SYMBOL_INDEX   c-src/emacs/src/lisp.h  /^#define SYMBOL_INDEX(sym) i##sym$/
-SYMBOL_INTERNED        c-src/emacs/src/lisp.h  642
-SYMBOL_INTERNED_IN_INITIAL_OBARRAY     c-src/emacs/src/lisp.h  643
-SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P   c-src/emacs/src/lisp.h  /^SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P (Lisp_Object /
-SYMBOL_INTERNED_P      c-src/emacs/src/lisp.h  /^SYMBOL_INTERNED_P (Lisp_Object sym)$/
-SYMBOL_LOCALIZED       c-src/emacs/src/lisp.h  650
-SYMBOL_NAME    c-src/emacs/src/lisp.h  /^SYMBOL_NAME (Lisp_Object sym)$/
-SYMBOL_PLAINVAL        c-src/emacs/src/lisp.h  648
-SYMBOL_UNINTERNED      c-src/emacs/src/lisp.h  641
-SYMBOL_VAL     c-src/emacs/src/lisp.h  /^# define SYMBOL_VAL(sym) lisp_h_SYMBOL_VAL (sym)$/
-SYMBOL_VARALIAS        c-src/emacs/src/lisp.h  649
-SYSCALL        c-src/machsyscalls.c    /^#define       SYSCALL(name, number, type, args, typed_ar/
-Sample tex-src/gzip.texi       /^@node 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
-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;$/
-Server pyt-src/server.py       /^class Server:$/
-ServerEdit     pyt-src/server.py       /^class ServerEdit(Frame):$/
-Set_Own_Priority/p     ada-src/2ataspri.adb    /^   procedure Set_Own_Priority (Prio : System.Any_P/
-Set_Own_Priority/p     ada-src/2ataspri.ads    /^   procedure Set_Own_Priority (Prio : System.Any_P/
-Set_Priority/p ada-src/2ataspri.adb    /^   procedure Set_Priority$/
-Set_Priority/p ada-src/2ataspri.ads    /^   procedure Set_Priority (T : TCB_Ptr; Prio : Sys/
-SimpleCalc     objcpp-src/SimpleCalc.H /^@interface 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 /
-Square.something:Bar   lua-src/test.lua        /^function Square.something:Bar ()$/
-StartDay       cp-src/functions.cpp    /^Date StartDay(Date a,int days){\/\/Function to calcu/
-StripPath      pas-src/common.pas      /^function StripPath; (*($/
-SubString      pas-src/common.pas      /^function SubString; (*($/
-Subprocess     objc-src/Subprocess.h   /^@interface Subprocess:Object$/
-Subprocess     objc-src/Subprocess.h   41
-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$/
-T      cp-src/fail.C   14
-T2     cp-src/fail.C   16
-T3     c.c     163
-TAGS   make-src/Makefile       /^TAGS: etags.c$/
-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)                             \\$/
-TAS_Cell/t     ada-src/2ataspri.ads    /^   type TAS_Cell is private;$/
-TAS_Cell/t     ada-src/2ataspri.ads    /^   type TAS_Cell is$/
-TCB_Ptr/t      ada-src/2ataspri.ads    /^   type TCB_Ptr is access all Task_Control_Block;$/
-TCLFLAGS       make-src/Makefile       /^TCLFLAGS=--lang=none --regex='\/proc[ \\t]+\\([^ \\t]+/
-TERMINALP      c-src/emacs/src/lisp.h  /^TERMINALP (Lisp_Object a)$/
-TEST   php-src/ptest.php       1
-TEXSRC make-src/Makefile       /^TEXSRC=testenv.tex gzip.texi texinfo.tex nonewline/
-TEX_LESC       c-src/etags.c   4986
-TEX_SESC       c-src/etags.c   4987
-TEX_clgrp      c-src/etags.c   4922
-TEX_decode_env c-src/etags.c   /^TEX_decode_env (const char *evarname, const char */
-TEX_defenv     c-src/etags.c   4912
-TEX_esc        c-src/etags.c   4920
-TEX_mode       c-src/etags.c   /^TEX_mode (FILE *inf)$/
-TEX_opgrp      c-src/etags.c   4921
-TEX_toktab     c-src/etags.c   4908
-TOTAL_KEYWORDS c-src/etags.c   2325
-TSL/s  ada-src/2ataspri.adb    /^   package TSL renames System.Tasking_Soft_Links;$/
-TYPESTOSTAT    objc-src/PackInsp.h     37
-TYPE_RANGED_INTEGERP   c-src/emacs/src/lisp.h  /^#define TYPE_RANGED_INTEGERP(type, x) \\$/
-Tapes  tex-src/gzip.texi       /^@node Tapes, Problems, Environment, Top$/
-Task_Control_Block/t   ada-src/2ataspri.ads    /^   type Task_Control_Block is record$/
-Task_Storage_Size/t    ada-src/2ataspri.ads    /^   type Task_Storage_Size is new Interfaces.C.size/
-Task_Type/b    ada-src/etags-test-for.ada      /^  task body Task_Type is$/
-Task_Type/b    ada-src/waroquiers.ada  /^  task body Task_Type is$/
-Task_Type/k    ada-src/etags-test-for.ada      /^  task type Task_Type is$/
-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
-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;/
-Test_And_Set/p ada-src/2ataspri.ads    /^   procedure Test_And_Set (Cell : in out TAS_Cell;/
-Texinfo_help   c-src/etags.c   688
-Texinfo_nodes  c-src/etags.c   /^Texinfo_nodes (FILE *inf)$/
-Texinfo_suffixes       c-src/etags.c   686
-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$/
-To_TCB_Ptr/f   ada-src/2ataspri.adb    /^   function To_TCB_Ptr is new$/
-To_Upper       pas-src/common.pas      /^function To_Upper;(*(ch:char) : char;*)$/
-To_void_ptr/f  ada-src/2ataspri.adb    /^   function To_void_ptr is new$/
-Top    tex-src/gzip.texi       /^@node Top, , , (dir)$/
-Truc.Bidule/b  ada-src/etags-test-for.ada      /^package body Truc.Bidule is$/
-Truc.Bidule/b  ada-src/waroquiers.ada  /^package body Truc.Bidule is$/
-Truc.Bidule/s  ada-src/etags-test-for.ada      /^package Truc.Bidule is$/
-Truc.Bidule/s  ada-src/waroquiers.ada  /^package Truc.Bidule is$/
-Truc/s ada-src/etags-test-for.ada      /^package Truc is$/
-Truc/s ada-src/waroquiers.ada  /^package Truc is$/
-Type_Specific_Data/t   ada-src/etags-test-for.ada      /^   type Type_Specific_Data is record$/
-UCHAR  c-src/emacs/src/lisp.h  2424
-UNARY  y-src/cccp.c    18
-UNDEFINED      c-src/h.h       118
-UNEVALLED      c-src/emacs/src/lisp.h  2834
-UNGCPRO        c-src/emacs/src/lisp.h  3202
-UNGCPRO        c-src/emacs/src/lisp.h  3257
-UNGCPRO        c-src/emacs/src/lisp.h  3353
-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()$/
-UNSIGNED_CMP   c-src/emacs/src/lisp.h  /^#define UNSIGNED_CMP(a, op, b)                                                \\$/
-USE_LSB_TAG    c-src/emacs/src/lisp.h  /^DEFINE_GDB_SYMBOL_BEGIN (bool, USE_LSB_TAG)$/
-USE_LSB_TAG    c-src/emacs/src/lisp.h  271
-USE_PTHREAD    c-src/emacs/src/gmalloc.c       25
-USE_SAFE_ALLOCA        c-src/emacs/src/lisp.h  4560
-USE_STACK_CONS c-src/emacs/src/lisp.h  4689
-USE_STACK_LISP_OBJECTS c-src/emacs/src/lisp.h  4652
-USE_STACK_LISP_OBJECTS c-src/emacs/src/lisp.h  4658
-USE_STACK_LISP_OBJECTS c-src/emacs/src/lisp.h  4659
-USE_STACK_STRING       c-src/emacs/src/lisp.h  4691
-U_CHAR y-src/cccp.y    38
-Unlock/p       ada-src/2ataspri.adb    /^   procedure Unlock (L : in out Lock) is$/
-Unlock/p       ada-src/2ataspri.ads    /^   procedure Unlock (L : in out Lock);$/
-User   pyt-src/server.py       /^class User:$/
-UserEdit       pyt-src/server.py       /^class UserEdit(Frame):$/
-VALBITS        c-src/emacs/src/lisp.h  246
-VALMASK        c-src/emacs/src/lisp.h  /^DEFINE_GDB_SYMBOL_BEGIN (EMACS_INT, VALMASK)$/
-VALMASK        c-src/emacs/src/lisp.h  829
-VAL_MAX        c-src/emacs/src/lisp.h  263
-VECSIZE        c-src/emacs/src/lisp.h  /^#define VECSIZE(type)                                         \\$/
-VECTORLIKEP    c-src/emacs/src/lisp.h  /^# define VECTORLIKEP(x) lisp_h_VECTORLIKEP (x)$/
-VECTORP        c-src/emacs/src/lisp.h  /^VECTORP (Lisp_Object x)$/
-VERSION        c-src/etags.c   789
-VERSION        erl-src/gs_dialog.erl   /^-define(VERSION, '2001.1101').$/
-VERSION        objc-src/PackInsp.m     34
-VHDLFLAGS      make-src/Makefile       /^VHDLFLAGS=--language=none --regex='\/[ \\t]*\\(ARCHIT/
-Vabbrev_start_location c-src/abbrev.c  63
-Vabbrev_start_location_buffer  c-src/abbrev.c  66
-Vabbrev_table_name_list        c-src/abbrev.c  43
-ValToNmStr     pas-src/common.pas      /^function ValToNmStr; (*($/
-Vfundamental_mode_abbrev_table c-src/abbrev.c  52
-Vglobal_abbrev_table   c-src/abbrev.c  48
-Vlast_abbrev   c-src/abbrev.c  70
-Vlast_abbrev_text      c-src/abbrev.c  75
-Vlispy_mouse_stem      c-src/emacs/src/keyboard.c      5172
-WAIT_READING_MAX       c-src/emacs/src/lisp.h  4281
-WAIT_READING_MAX       c-src/emacs/src/lisp.h  4283
-WARNINGS       make-src/Makefile       /^WARNINGS=-pedantic -Wall -Wpointer-arith -Winline /
-WCHAR_TYPE_SIZE        y-src/cccp.y    99
-WHITE  cp-src/screen.hpp       27
-WINDOWP        c-src/emacs/src/lisp.h  /^WINDOWP (Lisp_Object a)$/
-WINDOWSNT      c-src/etags.c   101
-WINDOWSNT      c-src/etags.c   102
-WINDOW_CONFIGURATIONP  c-src/emacs/src/lisp.h  /^WINDOW_CONFIGURATIONP (Lisp_Object a)$/
-WORKING        objc-src/PackInsp.m     368
-WorkingDays    cp-src/functions.cpp    /^int WorkingDays(Date a, Date b){$/
-Write_Lock/p   ada-src/2ataspri.adb    /^   procedure Write_Lock (L : in out Lock; Ceiling_/
-Write_Lock/p   ada-src/2ataspri.ads    /^   procedure Write_Lock (L : in out Lock; Ceiling_/
-X      c-src/h.h       100
-XBOOL_VECTOR   c-src/emacs/src/lisp.h  /^XBOOL_VECTOR (Lisp_Object a)$/
-XBUFFER        c-src/emacs/src/lisp.h  /^XBUFFER (Lisp_Object a)$/
-XBUFFER_OBJFWD c-src/emacs/src/lisp.h  /^XBUFFER_OBJFWD (union Lisp_Fwd *a)$/
-XCAR   c-src/emacs/src/lisp.h  /^# define XCAR(c) lisp_h_XCAR (c)$/
-XCDR   c-src/emacs/src/lisp.h  /^# define XCDR(c) lisp_h_XCDR (c)$/
-XCHAR_TABLE    c-src/emacs/src/lisp.h  /^XCHAR_TABLE (Lisp_Object a)$/
-XCHG_0 c-src/sysdep.h  47
-XCHG_1 c-src/sysdep.h  48
-XCHG_2 c-src/sysdep.h  49
-XCHG_3 c-src/sysdep.h  50
-XCHG_4 c-src/sysdep.h  51
-XCHG_5 c-src/sysdep.h  52
-XCONS  c-src/emacs/src/lisp.h  /^# define XCONS(a) lisp_h_XCONS (a)$/
-XDEFUN c.c     /^XDEFUN ("x-get-selection-internal", Fx_get_selecti/
-XFASTINT       c-src/emacs/src/lisp.h  /^#  define XFASTINT(a) lisp_h_XFASTINT (a)$/
-XFASTINT       c-src/emacs/src/lisp.h  /^XFASTINT (Lisp_Object a)$/
-XFINALIZER     c-src/emacs/src/lisp.h  /^XFINALIZER (Lisp_Object a)$/
-XFLOAT c-src/emacs/src/lisp.h  /^XFLOAT (Lisp_Object a)$/
-XFLOATINT      c-src/emacs/src/lisp.h  /^XFLOATINT (Lisp_Object n)$/
-XFLOAT_DATA    c-src/emacs/src/lisp.h  /^XFLOAT_DATA (Lisp_Object f)$/
-XFWDTYPE       c-src/emacs/src/lisp.h  /^XFWDTYPE (union Lisp_Fwd *a)$/
-XHASH  c-src/emacs/src/lisp.h  /^# define XHASH(a) lisp_h_XHASH (a)$/
-XHASH_TABLE    c-src/emacs/src/lisp.h  /^XHASH_TABLE (Lisp_Object a)$/
-XIL    c-src/emacs/src/lisp.h  /^# define XIL(i) lisp_h_XIL (i)$/
-XINT   c-src/emacs/src/lisp.h  /^#  define XINT(a) lisp_h_XINT (a)$/
-XINT   c-src/emacs/src/lisp.h  /^XINT (Lisp_Object a)$/
-XINTPTR        c-src/emacs/src/lisp.h  /^XINTPTR (Lisp_Object a)$/
-XLI    c-src/emacs/src/lisp.h  /^# define XLI(o) lisp_h_XLI (o)$/
-XLI_BUILTIN_LISPSYM    c-src/emacs/src/lisp.h  /^#define XLI_BUILTIN_LISPSYM(iname) TAG_SYMOFFSET (/
-XMARKER        c-src/emacs/src/lisp.h  /^XMARKER (Lisp_Object a)$/
-XMISC  c-src/emacs/src/lisp.h  /^XMISC (Lisp_Object a)$/
-XMISCANY       c-src/emacs/src/lisp.h  /^XMISCANY (Lisp_Object a)$/
-XMISCTYPE      c-src/emacs/src/lisp.h  /^XMISCTYPE (Lisp_Object a)$/
-XOVERLAY       c-src/emacs/src/lisp.h  /^XOVERLAY (Lisp_Object a)$/
-XPNTR  c-src/emacs/src/lisp.h  /^# define XPNTR(a) lisp_h_XPNTR (a)$/
-XPROCESS       c-src/emacs/src/lisp.h  /^XPROCESS (Lisp_Object a)$/
-XSAVE_FUNCPOINTER      c-src/emacs/src/lisp.h  /^XSAVE_FUNCPOINTER (Lisp_Object obj, int n)$/
-XSAVE_INTEGER  c-src/emacs/src/lisp.h  /^XSAVE_INTEGER (Lisp_Object obj, int n)$/
-XSAVE_OBJECT   c-src/emacs/src/lisp.h  /^XSAVE_OBJECT (Lisp_Object obj, int n)$/
-XSAVE_POINTER  c-src/emacs/src/lisp.h  /^XSAVE_POINTER (Lisp_Object obj, int n)$/
-XSAVE_VALUE    c-src/emacs/src/lisp.h  /^XSAVE_VALUE (Lisp_Object a)$/
-XSETBOOL_VECTOR        c-src/emacs/src/lisp.h  /^#define XSETBOOL_VECTOR(a, b) (XSETPSEUDOVECTOR (a/
-XSETBUFFER     c-src/emacs/src/lisp.h  /^#define XSETBUFFER(a, b) (XSETPSEUDOVECTOR (a, b, /
-XSETCDR        c-src/emacs/src/lisp.h  /^XSETCDR (Lisp_Object c, Lisp_Object n)$/
-XSETCHAR_TABLE c-src/emacs/src/lisp.h  /^#define XSETCHAR_TABLE(a, b) (XSETPSEUDOVECTOR (a,/
-XSETCOMPILED   c-src/emacs/src/lisp.h  /^#define XSETCOMPILED(a, b) (XSETPSEUDOVECTOR (a, b/
-XSETCONS       c-src/emacs/src/lisp.h  /^#define XSETCONS(a, b) ((a) = make_lisp_ptr (b, Li/
-XSETFASTINT    c-src/emacs/src/lisp.h  /^#define XSETFASTINT(a, b) ((a) = make_natnum (b))$/
-XSETFLOAT      c-src/emacs/src/lisp.h  /^#define XSETFLOAT(a, b) ((a) = make_lisp_ptr (b, L/
-XSETINT        c-src/emacs/src/lisp.h  /^#define XSETINT(a, b) ((a) = make_number (b))$/
-XSETMISC       c-src/emacs/src/lisp.h  /^#define XSETMISC(a, b) ((a) = make_lisp_ptr (b, Li/
-XSETPROCESS    c-src/emacs/src/lisp.h  /^#define XSETPROCESS(a, b) (XSETPSEUDOVECTOR (a, b,/
-XSETPSEUDOVECTOR       c-src/emacs/src/lisp.h  /^#define XSETPSEUDOVECTOR(a, b, code) \\$/
-XSETPVECTYPE   c-src/emacs/src/lisp.h  /^#define XSETPVECTYPE(v, code)                                         \\$/
-XSETPVECTYPESIZE       c-src/emacs/src/lisp.h  /^#define XSETPVECTYPESIZE(v, code, lispsize, restsi/
-XSETSTRING     c-src/emacs/src/lisp.h  /^#define XSETSTRING(a, b) ((a) = make_lisp_ptr (b, /
-XSETSUBR       c-src/emacs/src/lisp.h  /^#define XSETSUBR(a, b) (XSETPSEUDOVECTOR (a, b, PV/
-XSETSUB_CHAR_TABLE     c-src/emacs/src/lisp.h  /^#define XSETSUB_CHAR_TABLE(a, b) (XSETPSEUDOVECTOR/
-XSETSYMBOL     c-src/emacs/src/lisp.h  /^#define XSETSYMBOL(a, b) ((a) = make_lisp_symbol (/
-XSETTERMINAL   c-src/emacs/src/lisp.h  /^#define XSETTERMINAL(a, b) (XSETPSEUDOVECTOR (a, b/
-XSETTYPED_PSEUDOVECTOR c-src/emacs/src/lisp.h  /^#define XSETTYPED_PSEUDOVECTOR(a, b, size, code)              /
-XSETVECTOR     c-src/emacs/src/lisp.h  /^#define XSETVECTOR(a, b) ((a) = make_lisp_ptr (b, /
-XSETWINDOW     c-src/emacs/src/lisp.h  /^#define XSETWINDOW(a, b) (XSETPSEUDOVECTOR (a, b, /
-XSETWINDOW_CONFIGURATION       c-src/emacs/src/lisp.h  /^#define XSETWINDOW_CONFIGURATION(a, b) \\$/
-XSET_HASH_TABLE        c-src/emacs/src/lisp.h  /^#define XSET_HASH_TABLE(VAR, PTR) \\$/
-XSTRING        c-src/emacs/src/lisp.h  /^XSTRING (Lisp_Object a)$/
-XSUBR  c-src/emacs/src/lisp.h  /^XSUBR (Lisp_Object a)$/
-XSUB_CHAR_TABLE        c-src/emacs/src/lisp.h  /^XSUB_CHAR_TABLE (Lisp_Object a)$/
-XSYMBOL        c-src/emacs/src/lisp.h  /^#  define XSYMBOL(a) lisp_h_XSYMBOL (a)$/
-XSYMBOL        c-src/emacs/src/lisp.h  /^XSYMBOL (Lisp_Object a)$/
-XTERMINAL      c-src/emacs/src/lisp.h  /^XTERMINAL (Lisp_Object a)$/
-XTYPE  c-src/emacs/src/lisp.h  /^#  define XTYPE(a) lisp_h_XTYPE (a)$/
-XTYPE  c-src/emacs/src/lisp.h  /^XTYPE (Lisp_Object a)$/
-XUNTAG c-src/emacs/src/lisp.h  /^#  define XUNTAG(a, type) lisp_h_XUNTAG (a, type)$/
-XUNTAG c-src/emacs/src/lisp.h  /^XUNTAG (Lisp_Object a, int type)$/
-XWINDOW        c-src/emacs/src/lisp.h  /^XWINDOW (Lisp_Object a)$/
-XX     cp-src/x.cc     1
-Xyzzy  ruby-src/test1.ru       13
-Y      c-src/h.h       100
-YACC   c-src/etags.c   2199
-YELLOW cp-src/screen.hpp       26
-YSRC   make-src/Makefile       /^YSRC=parse.y parse.c atest.y cccp.c cccp.y$/
-YYABORT        /usr/share/bison/bison.simple   153
-YYABORT        /usr/share/bison/bison.simple   154
-YYACCEPT       /usr/share/bison/bison.simple   152
-YYACCEPT       /usr/share/bison/bison.simple   153
-YYBACKUP       /usr/share/bison/bison.simple   /^#define YYBACKUP(Token, Value)                                        \\$/
-YYBISON        y-src/cccp.c    4
-YYBISON        y-src/parse.c   4
-YYDPRINTF      /usr/share/bison/bison.simple   /^# define YYDPRINTF(Args)                      \\$/
-YYDPRINTF      /usr/share/bison/bison.simple   /^# define YYDPRINTF(Args)$/
-YYEMPTY        /usr/share/bison/bison.simple   150
-YYEMPTY        /usr/share/bison/bison.simple   151
-YYEOF  /usr/share/bison/bison.simple   151
-YYEOF  /usr/share/bison/bison.simple   152
-YYERRCODE      /usr/share/bison/bison.simple   178
-YYERRCODE      /usr/share/bison/bison.simple   179
-YYERROR        /usr/share/bison/bison.simple   154
-YYERROR        /usr/share/bison/bison.simple   155
-YYFAIL /usr/share/bison/bison.simple   158
-YYFAIL /usr/share/bison/bison.simple   159
-YYFPRINTF      /usr/share/bison/bison.simple   225
-YYFPRINTF      /usr/share/bison/bison.simple   226
-YYINITDEPTH    /usr/share/bison/bison.simple   244
-YYINITDEPTH    /usr/share/bison/bison.simple   245
-YYLEX  /usr/share/bison/bison.simple   200
-YYLEX  /usr/share/bison/bison.simple   201
-YYLEX  /usr/share/bison/bison.simple   202
-YYLEX  /usr/share/bison/bison.simple   203
-YYLEX  /usr/share/bison/bison.simple   206
-YYLEX  /usr/share/bison/bison.simple   207
-YYLEX  /usr/share/bison/bison.simple   208
-YYLEX  /usr/share/bison/bison.simple   209
-YYLEX  /usr/share/bison/bison.simple   212
-YYLEX  /usr/share/bison/bison.simple   213
-YYLLOC_DEFAULT /usr/share/bison/bison.simple   /^# define YYLLOC_DEFAULT(Current, Rhs, N)              \\$/
-YYMAXDEPTH     /usr/share/bison/bison.simple   255
-YYMAXDEPTH     /usr/share/bison/bison.simple   256
-YYMAXDEPTH     /usr/share/bison/bison.simple   259
-YYMAXDEPTH     /usr/share/bison/bison.simple   260
-YYPARSE_PARAM_ARG      /usr/share/bison/bison.simple   351
-YYPARSE_PARAM_ARG      /usr/share/bison/bison.simple   354
-YYPARSE_PARAM_ARG      /usr/share/bison/bison.simple   358
-YYPARSE_PARAM_DECL     /usr/share/bison/bison.simple   352
-YYPARSE_PARAM_DECL     /usr/share/bison/bison.simple   355
-YYPARSE_PARAM_DECL     /usr/share/bison/bison.simple   359
-YYPOPSTACK     /usr/share/bison/bison.simple   445
-YYPOPSTACK     /usr/share/bison/bison.simple   447
-YYRECOVERING   /usr/share/bison/bison.simple   /^#define YYRECOVERING()  (!!yyerrstatus)$/
-YYSIZE_T       /usr/share/bison/bison.simple   128
-YYSIZE_T       /usr/share/bison/bison.simple   129
-YYSIZE_T       /usr/share/bison/bison.simple   131
-YYSIZE_T       /usr/share/bison/bison.simple   132
-YYSIZE_T       /usr/share/bison/bison.simple   136
-YYSIZE_T       /usr/share/bison/bison.simple   137
-YYSIZE_T       /usr/share/bison/bison.simple   140
-YYSIZE_T       /usr/share/bison/bison.simple   141
-YYSIZE_T       /usr/share/bison/bison.simple   145
-YYSIZE_T       /usr/share/bison/bison.simple   146
-YYSIZE_T       /usr/share/bison/bison.simple   51
-YYSIZE_T       /usr/share/bison/bison.simple   52
-YYSIZE_T       /usr/share/bison/bison.simple   56
-YYSIZE_T       /usr/share/bison/bison.simple   57
-YYSIZE_T       /usr/share/bison/bison.simple   71
-YYSIZE_T       /usr/share/bison/bison.simple   72
-YYSIZE_T       /usr/share/bison/bison.simple   75
-YYSIZE_T       /usr/share/bison/bison.simple   76
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   50
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   51
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   55
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   56
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   59
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   60
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   78
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   79
-YYSTACK_BYTES  /usr/share/bison/bison.simple   /^#  define YYSTACK_BYTES(N) \\$/
-YYSTACK_FREE   /usr/share/bison/bison.simple   /^#  define YYSTACK_FREE(Ptr) do { \/* empty *\/; } wh/
-YYSTACK_FREE   /usr/share/bison/bison.simple   79
-YYSTACK_FREE   /usr/share/bison/bison.simple   80
-YYSTACK_GAP_MAX        /usr/share/bison/bison.simple   93
-YYSTACK_GAP_MAX        /usr/share/bison/bison.simple   94
-YYSTACK_RELOCATE       /usr/share/bison/bison.simple   /^# define YYSTACK_RELOCATE(Type, Stack)                                        \\$/
-YYSTACK_RELOCATE       /usr/share/bison/bison.simple   548
-YYSTD  /usr/share/bison/bison.simple   /^# define YYSTD(x) std::x$/
-YYSTD  /usr/share/bison/bison.simple   /^# define YYSTD(x) x$/
-YYSTYPE        y-src/parse.y   72
-YYSTYPE        y-src/parse.y   73
-YYTERROR       /usr/share/bison/bison.simple   177
-YYTERROR       /usr/share/bison/bison.simple   178
-YY_DECL_NON_LSP_VARIABLES      /usr/share/bison/bison.simple   374
-YY_DECL_VARIABLES      /usr/share/bison/bison.simple   385
-YY_DECL_VARIABLES      /usr/share/bison/bison.simple   391
-Yacc_entries   c-src/etags.c   /^Yacc_entries (FILE *inf)$/
-Yacc_help      c-src/etags.c   693
-Yacc_suffixes  c-src/etags.c   691
-Z      c-src/h.h       100
-[]     ruby-src/test.rb        /^        def [](y)$/
-[]=    ruby-src/test.rb        /^        def []=(y, val)$/
-\      tex-src/texinfo.tex     /^\\def\\ {{\\fontdimen2\\font=\\tclosesave{} }}%$/
-\      tex-src/texinfo.tex     /^\\gdef\\sepspaces{\\def {\\ }}}$/
-\'     tex-src/texinfo.tex     /^\\def\\'{{'}}$/
-\*     tex-src/texinfo.tex     /^\\def\\*{\\hfil\\break\\hbox{}\\ignorespaces}$/
-\.     tex-src/texinfo.tex     /^\\def\\.{.\\spacefactor=3000 }$/
-\:     tex-src/texinfo.tex     /^\\def\\:{\\spacefactor=1000 }$/
-\@     tex-src/texinfo.tex     /^\\def\\@{@}%$/
-\@     tex-src/texinfo.tex     /^\\def\\@{{\\tt \\char '100}}$/
-\CHAPFopen     tex-src/texinfo.tex     /^\\def\\CHAPFopen{$/
-\CHAPFplain    tex-src/texinfo.tex     /^\\def\\CHAPFplain{$/
-\CHAPPAGodd    tex-src/texinfo.tex     /^\\def\\CHAPPAGodd{$/
-\CHAPPAGoff    tex-src/texinfo.tex     /^\\def\\CHAPPAGoff{$/
-\CHAPPAGon     tex-src/texinfo.tex     /^\\def\\CHAPPAGon{$/
-\ENVcheck      tex-src/texinfo.tex     /^\\def\\ENVcheck{%$/
-\Ealphaenumerate       tex-src/texinfo.tex     /^\\def\\Ealphaenumerate{\\Eenumerate}$/
-\Ecapsenumerate        tex-src/texinfo.tex     /^\\def\\Ecapsenumerate{\\Eenumerate}$/
-\Ecartouche    tex-src/texinfo.tex     /^\\def\\Ecartouche{%$/
-\Edescription  tex-src/texinfo.tex     /^\\def\\Edescription{\\Etable}% Necessary kludge.$/
-\Edisplay      tex-src/texinfo.tex     /^\\def\\Edisplay{\\endgroup\\afterenvbreak}%$/
-\Eexample      tex-src/texinfo.tex     /^\\def\\Eexample{\\Elisp}$/
-\Eflushleft    tex-src/texinfo.tex     /^\\def\\Eflushleft{\\endgroup\\afterenvbreak}%$/
-\Eflushright   tex-src/texinfo.tex     /^\\def\\Eflushright{\\endgroup\\afterenvbreak}%$/
-\Eformat       tex-src/texinfo.tex     /^\\def\\Eformat{\\endgroup\\afterenvbreak}$/
-\Eftable       tex-src/texinfo.tex     /^\\def\\Eftable{\\endgraf\\endgroup\\afterenvbreak}%$/
-\Egroup        tex-src/texinfo.tex     /^  \\def\\Egroup{\\egroup\\endgroup}%$/
-\Eifclear      tex-src/texinfo.tex     /^\\def\\Eifclear{}$/
-\Eifset        tex-src/texinfo.tex     /^\\def\\Eifset{}$/
-\Eiftex        tex-src/texinfo.tex     /^\\def\\Eiftex{}$/
-\Elisp tex-src/texinfo.tex     /^\\def\\Elisp{\\endgroup\\afterenvbreak}%$/
-\Equotation    tex-src/texinfo.tex     /^\\def\\Equotation{\\par\\endgroup\\afterenvbreak}%$/
-\Esmallexample tex-src/texinfo.tex     /^\\def\\Esmallexample{\\Elisp}$/
-\Esmallexample tex-src/texinfo.tex     /^\\global\\def\\Esmallexample{\\Esmalllisp}$/
-\Esmalllisp    tex-src/texinfo.tex     /^\\def\\Esmalllisp{\\endgroup\\afterenvbreak}%$/
-\Etable        tex-src/texinfo.tex     /^\\def\\Etable{\\endgraf\\endgroup\\afterenvbreak}%$/
-\Etitlepage    tex-src/texinfo.tex     /^\\def\\Etitlepage{%$/
-\Evtable       tex-src/texinfo.tex     /^\\def\\Evtable{\\endgraf\\endgroup\\afterenvbreak}%$/
-\HEADINGSafter tex-src/texinfo.tex     /^\\def\\HEADINGSafter{\\let\\HEADINGShook=\\HEADINGSdoub/
-\HEADINGSdouble        tex-src/texinfo.tex     /^\\def\\HEADINGSdouble{$/
-\HEADINGSdoublex       tex-src/texinfo.tex     /^\\def\\HEADINGSdoublex{%$/
-\HEADINGSoff   tex-src/texinfo.tex     /^\\def\\HEADINGSoff{$/
-\HEADINGSon    tex-src/texinfo.tex     /^\\def\\HEADINGSon{\\HEADINGSdouble}$/
-\HEADINGSon    tex-src/texinfo.tex     /^\\global\\def\\HEADINGSon{\\HEADINGSdouble}}$/
-\HEADINGSon    tex-src/texinfo.tex     /^\\global\\def\\HEADINGSon{\\HEADINGSsingle}}$/
-\HEADINGSsingle        tex-src/texinfo.tex     /^\\def\\HEADINGSsingle{$/
-\HEADINGSsingleafter   tex-src/texinfo.tex     /^\\def\\HEADINGSsingleafter{\\let\\HEADINGShook=\\HEADIN/
-\HEADINGSsinglex       tex-src/texinfo.tex     /^\\def\\HEADINGSsinglex{%$/
-\TeX   tex-src/texinfo.tex     /^\\def\\TeX{\\realbackslash TeX}$/
-\TeX   tex-src/texinfo.tex     /^\\def\\TeX{\\realbackslash TeX}%$/
-\Yappendixletterandtype        tex-src/texinfo.tex     /^\\def\\Yappendixletterandtype{%$/
-\Ynothing      tex-src/texinfo.tex     /^\\def\\Ynothing{}$/
-\Ypagenumber   tex-src/texinfo.tex     /^\\def\\Ypagenumber{\\folio}$/
-\Ysectionnumberandtype tex-src/texinfo.tex     /^\\def\\Ysectionnumberandtype{%$/
-\Ytitle        tex-src/texinfo.tex     /^\\def\\Ytitle{\\thischapter}$/
-\_     tex-src/texinfo.tex     /^\\def\\_{\\lvvmode \\kern.06em \\vbox{\\hrule width.3em /
-\_     tex-src/texinfo.tex     /^\\def\\_{{\\realbackslash _}}%$/
-\`     tex-src/texinfo.tex     /^\\def\\`{{`}}$/
-\aboveenvbreak tex-src/texinfo.tex     /^\\def\\aboveenvbreak{{\\advance\\aboveenvskipamount by/
-\activedoublequote     tex-src/texinfo.tex     /^\\def\\activedoublequote{{\\tt \\char '042}}$/
-\activeparens  tex-src/texinfo.tex     /^\\def\\activeparens{%$/
-\afourpaper    tex-src/texinfo.tex     /^\\def\\afourpaper{$/
-\afterenvbreak tex-src/texinfo.tex     /^\\def\\afterenvbreak{\\endgraf \\ifdim\\lastskip<\\above/
-\alphaenumerate        tex-src/texinfo.tex     /^\\def\\alphaenumerate{\\enumerate{a}}$/
-\appendix      tex-src/texinfo.tex     /^\\outer\\def\\appendix{\\parsearg\\appendixzzz}$/
-\appendixletter        tex-src/texinfo.tex     /^\\def\\appendixletter{\\char\\the\\appendixno}$/
-\appendixnoderef       tex-src/texinfo.tex     /^\\def\\appendixnoderef{\\ifx\\lastnode\\relax\\else$/
-\appendixsec   tex-src/texinfo.tex     /^\\outer\\def\\appendixsec{\\parsearg\\appendixsectionzz/
-\appendixsection       tex-src/texinfo.tex     /^\\outer\\def\\appendixsection{\\parsearg\\appendixsecti/
-\appendixsectionzzz    tex-src/texinfo.tex     /^\\def\\appendixsectionzzz #1{\\seccheck{appendixsecti/
-\appendixsetref        tex-src/texinfo.tex     /^\\def\\appendixsetref#1{%$/
-\appendixsubsec        tex-src/texinfo.tex     /^\\outer\\def\\appendixsubsec{\\parsearg\\appendixsubsec/
-\appendixsubseczzz     tex-src/texinfo.tex     /^\\def\\appendixsubseczzz #1{\\seccheck{appendixsubsec/
-\appendixsubsubsec     tex-src/texinfo.tex     /^\\outer\\def\\appendixsubsubsec{\\parsearg\\appendixsub/
-\appendixsubsubseczzz  tex-src/texinfo.tex     /^\\def\\appendixsubsubseczzz #1{\\seccheck{appendixsub/
-\appendixzzz   tex-src/texinfo.tex     /^\\def\\appendixzzz #1{\\seccheck{appendix}%$/
-\asis  tex-src/texinfo.tex     /^\\def\\asis#1{#1}$/
-\author        tex-src/texinfo.tex     /^   \\def\\author{\\parsearg\\authorzzz}%$/
-\authorfont    tex-src/texinfo.tex     /^   \\def\\authorfont{\\authorrm \\normalbaselineskip =/
-\authorzzz     tex-src/texinfo.tex     /^   \\def\\authorzzz##1{\\ifseenauthor\\else\\vskip 0pt /
-\b     tex-src/texinfo.tex     /^\\def\\b##1{\\realbackslash b {##1}}$/
-\b     tex-src/texinfo.tex     /^\\def\\b##1{\\realbackslash b {##1}}%$/
-\b     tex-src/texinfo.tex     /^\\def\\b#1{{\\bf #1}}$/
-\balancecolumns        tex-src/texinfo.tex     /^\\def\\balancecolumns{%$/
-\begin tex-src/texinfo.tex     /^\\outer\\def\\begin{\\parsearg\\beginxxx}$/
-\begindoublecolumns    tex-src/texinfo.tex     /^\\def\\begindoublecolumns{\\begingroup$/
-\beginxxx      tex-src/texinfo.tex     /^\\def\\beginxxx #1{%$/
-\bf    tex-src/texinfo.tex     /^\\def\\bf{\\realbackslash bf }$/
-\bf    tex-src/texinfo.tex     /^\\def\\bf{\\realbackslash bf }%$/
-\bullet        tex-src/texinfo.tex     /^\\def\\bullet{$\\ptexbullet$}$/
-\bye   tex-src/texinfo.tex     /^\\outer\\def\\bye{\\pagealignmacro\\tracingstats=1\\ptex/
-\capsenumerate tex-src/texinfo.tex     /^\\def\\capsenumerate{\\enumerate{A}}$/
-\cartbot       tex-src/texinfo.tex     /^\\def\\cartbot{\\hbox to \\cartouter{\\hskip\\lskip$/
-\cartouche     tex-src/texinfo.tex     /^\\long\\def\\cartouche{%$/
-\carttop       tex-src/texinfo.tex     /^\\def\\carttop{\\hbox to \\cartouter{\\hskip\\lskip$/
-\cbl   tex-src/texinfo.tex     /^\\def\\cbl{{\\circle\\char'012\\hskip -6pt}}$/
-\cbr   tex-src/texinfo.tex     /^\\def\\cbr{{\\hskip 6pt\\circle\\char'011}}$/
-\center        tex-src/texinfo.tex     /^\\def\\center{\\parsearg\\centerzzz}$/
-\centerzzz     tex-src/texinfo.tex     /^\\def\\centerzzz #1{{\\advance\\hsize by -\\leftskip$/
-\chapbreak     tex-src/texinfo.tex     /^\\def\\chapbreak{\\dobreak \\chapheadingskip {-4000}}$/
-\chapentry     tex-src/texinfo.tex     /^\\def\\chapentry#1#2#3{\\dochapentry{#2\\labelspace#1}/
-\chapentryfonts        tex-src/texinfo.tex     /^\\def\\chapentryfonts{\\secfonts \\rm}$/
-\chapfonts     tex-src/texinfo.tex     /^\\def\\chapfonts{%$/
-\chapheading   tex-src/texinfo.tex     /^\\def\\chapheading{\\parsearg\\chapheadingzzz}$/
-\chapheadingzzz        tex-src/texinfo.tex     /^\\def\\chapheadingzzz #1{\\chapbreak %$/
-\chapoddpage   tex-src/texinfo.tex     /^\\def\\chapoddpage{\\chappager \\ifodd\\pageno \\else \\h/
-\chappager     tex-src/texinfo.tex     /^\\def\\chappager{\\par\\vfill\\supereject}$/
-\chapter       tex-src/texinfo.tex     /^\\outer\\def\\chapter{\\parsearg\\chapterzzz}$/
-\chapternofonts        tex-src/texinfo.tex     /^\\def\\chapternofonts{%$/
-\chapterzzz    tex-src/texinfo.tex     /^\\def\\chapterzzz #1{\\seccheck{chapter}%$/
-\char  tex-src/texinfo.tex     /^\\def\\char{\\realbackslash char}$/
-\char  tex-src/texinfo.tex     /^\\def\\char{\\realbackslash char}%$/
-\chfopen       tex-src/texinfo.tex     /^\\def\\chfopen #1#2{\\chapoddpage {\\chapfonts$/
-\chfplain      tex-src/texinfo.tex     /^\\def\\chfplain #1#2{%$/
-\cindex        tex-src/texinfo.tex     /^\\def\\cindex {\\cpindex}$/
-\cindexsub     tex-src/texinfo.tex     /^\\def\\cindexsub {\\begingroup\\obeylines\\cindexsub}$/
-\cite  tex-src/texinfo.tex     /^\\def\\cite##1{\\realbackslash cite {##1}}$/
-\cite  tex-src/texinfo.tex     /^\\def\\cite##1{\\realbackslash cite {##1}}%$/
-\clear tex-src/texinfo.tex     /^\\def\\clear{\\parsearg\\clearxxx}$/
-\clearxxx      tex-src/texinfo.tex     /^\\def\\clearxxx #1{$/
-\code  tex-src/texinfo.tex     /^\\def\\code##1{\\realbackslash code {##1}}$/
-\code  tex-src/texinfo.tex     /^\\def\\code##1{\\realbackslash code {##1}}%$/
-\comment       tex-src/texinfo.tex     /^\\def\\comment{\\catcode 64=\\other \\catcode 123=\\othe/
-\commentxxx    tex-src/texinfo.tex     /^\\def\\commentxxx #1{\\catcode 64=0 \\catcode 123=1 \\c/
-\contents      tex-src/texinfo.tex     /^\\outer\\def\\contents{%$/
-\copyright     tex-src/texinfo.tex     /^\\def\\copyright{\\realbackslash copyright }%$/
-\copyright     tex-src/texinfo.tex     /^\\def\\copyright{\\realbackslash copyright}$/
-\cropmarks     tex-src/texinfo.tex     /^\\def\\cropmarks{\\let\\onepageout=\\croppageout }$/
-\croppageout   tex-src/texinfo.tex     /^\\def\\croppageout#1{\\hoffset=0pt % make sure this d/
-\ctl   tex-src/texinfo.tex     /^\\def\\ctl{{\\circle\\char'013\\hskip -6pt}}% 6pt from /
-\ctr   tex-src/texinfo.tex     /^\\def\\ctr{{\\hskip 6pt\\circle\\char'010}}$/
-\ctrl  tex-src/texinfo.tex     /^\\def\\ctrl #1{{\\tt \\rawbackslash \\hat}#1}$/
-\defcodeindex  tex-src/texinfo.tex     /^\\def\\defcodeindex{\\parsearg\\newcodeindex}$/
-\defcv tex-src/texinfo.tex     /^\\def\\defcv #1 {\\def\\defcvtype{#1}%$/
-\defcvarheader tex-src/texinfo.tex     /^\\def\\defcvarheader #1#2#3{%$/
-\defcvx        tex-src/texinfo.tex     /^\\def\\defcvx #1 {\\errmessage{@defcvx in invalid con/
-\deffn tex-src/texinfo.tex     /^\\def\\deffn{\\defmethparsebody\\Edeffn\\deffnx\\deffnhe/
-\deffnheader   tex-src/texinfo.tex     /^\\def\\deffnheader #1#2#3{\\doind {fn}{\\code{#2}}%$/
-\deffnx        tex-src/texinfo.tex     /^\\def\\deffnx #1 {\\errmessage{@deffnx in invalid con/
-\defindex      tex-src/texinfo.tex     /^\\def\\defindex{\\parsearg\\newindex}$/
-\defivar       tex-src/texinfo.tex     /^\\def\\defivar{\\defvrparsebody\\Edefivar\\defivarx\\def/
-\defivarheader tex-src/texinfo.tex     /^\\def\\defivarheader #1#2#3{%$/
-\defivarx      tex-src/texinfo.tex     /^\\def\\defivarx #1 {\\errmessage{@defivarx in invalid/
-\defmac        tex-src/texinfo.tex     /^\\def\\defmac{\\defparsebody\\Edefmac\\defmacx\\defmache/
-\defmacheader  tex-src/texinfo.tex     /^\\def\\defmacheader #1#2{\\doind {fn}{\\code{#1}}% Mak/
-\defmacx       tex-src/texinfo.tex     /^\\def\\defmacx #1 {\\errmessage{@defmacx in invalid c/
-\defmethod     tex-src/texinfo.tex     /^\\def\\defmethod{\\defmethparsebody\\Edefmethod\\defmet/
-\defmethodheader       tex-src/texinfo.tex     /^\\def\\defmethodheader #1#2#3{%$/
-\defmethodx    tex-src/texinfo.tex     /^\\def\\defmethodx #1 {\\errmessage{@defmethodx in inv/
-\defmethparsebody      tex-src/texinfo.tex     /^\\def\\defmethparsebody #1#2#3#4 {\\begingroup\\inENV /
-\defname       tex-src/texinfo.tex     /^\\def\\defname #1#2{%$/
-\defop tex-src/texinfo.tex     /^\\def\\defop #1 {\\def\\defoptype{#1}%$/
-\defopheader   tex-src/texinfo.tex     /^\\def\\defopheader #1#2#3{%$/
-\defopparsebody        tex-src/texinfo.tex     /^\\def\\defopparsebody #1#2#3#4#5 {\\begingroup\\inENV /
-\defopt        tex-src/texinfo.tex     /^\\def\\defopt{\\defvarparsebody\\Edefopt\\defoptx\\defop/
-\defoptheader  tex-src/texinfo.tex     /^\\def\\defoptheader #1#2{\\doind {vr}{\\code{#1}}% Mak/
-\defoptx       tex-src/texinfo.tex     /^\\def\\defoptx #1 {\\errmessage{@defoptx in invalid c/
-\defopvarparsebody     tex-src/texinfo.tex     /^\\def\\defopvarparsebody #1#2#3#4#5 {\\begingroup\\inE/
-\defopx        tex-src/texinfo.tex     /^\\def\\defopx #1 {\\errmessage{@defopx in invalid con/
-\defparsebody  tex-src/texinfo.tex     /^\\def\\defparsebody #1#2#3{\\begingroup\\inENV% Enviro/
-\defspec       tex-src/texinfo.tex     /^\\def\\defspec{\\defparsebody\\Edefspec\\defspecx\\defsp/
-\defspecheader tex-src/texinfo.tex     /^\\def\\defspecheader #1#2{\\doind {fn}{\\code{#1}}% Ma/
-\defspecx      tex-src/texinfo.tex     /^\\def\\defspecx #1 {\\errmessage{@defspecx in invalid/
-\deftp tex-src/texinfo.tex     /^\\def\\deftp{\\defvrparsebody\\Edeftp\\deftpx\\deftphead/
-\deftpargs     tex-src/texinfo.tex     /^\\def\\deftpargs #1{\\bf \\defvarargs{#1}}$/
-\deftpheader   tex-src/texinfo.tex     /^\\def\\deftpheader #1#2#3{\\doind {tp}{\\code{#2}}%$/
-\deftpx        tex-src/texinfo.tex     /^\\def\\deftpx #1 {\\errmessage{@deftpx in invalid con/
-\deftypefn     tex-src/texinfo.tex     /^\\def\\deftypefn{\\defmethparsebody\\Edeftypefn\\deftyp/
-\deftypefnheader       tex-src/texinfo.tex     /^\\def\\deftypefnheader #1#2#3{\\deftypefnheaderx{#1}{/
-\deftypefnheaderx      tex-src/texinfo.tex     /^\\def\\deftypefnheaderx #1#2#3 #4\\relax{%$/
-\deftypefnx    tex-src/texinfo.tex     /^\\def\\deftypefnx #1 {\\errmessage{@deftypefnx in inv/
-\deftypefun    tex-src/texinfo.tex     /^\\def\\deftypefun{\\defparsebody\\Edeftypefun\\deftypef/
-\deftypefunargs        tex-src/texinfo.tex     /^\\def\\deftypefunargs #1{%$/
-\deftypefunheader      tex-src/texinfo.tex     /^\\def\\deftypefunheader #1#2{\\deftypefunheaderx{#1}#/
-\deftypefunheaderx     tex-src/texinfo.tex     /^\\def\\deftypefunheaderx #1#2 #3\\relax{%$/
-\deftypeunx    tex-src/texinfo.tex     /^\\def\\deftypeunx #1 {\\errmessage{@deftypeunx in inv/
-\deftypevar    tex-src/texinfo.tex     /^\\def\\deftypevar{\\defvarparsebody\\Edeftypevar\\defty/
-\deftypevarheader      tex-src/texinfo.tex     /^\\def\\deftypevarheader #1#2{%$/
-\deftypevarx   tex-src/texinfo.tex     /^\\def\\deftypevarx #1 {\\errmessage{@deftypevarx in i/
-\deftypevr     tex-src/texinfo.tex     /^\\def\\deftypevr{\\defvrparsebody\\Edeftypevr\\deftypev/
-\deftypevrheader       tex-src/texinfo.tex     /^\\def\\deftypevrheader #1#2#3{\\doind {vr}{\\code{#3}}/
-\deftypevrx    tex-src/texinfo.tex     /^\\def\\deftypevrx #1 {\\errmessage{@deftypevrx in inv/
-\defun tex-src/texinfo.tex     /^\\def\\defun{\\defparsebody\\Edefun\\defunx\\defunheader/
-\defunargs     tex-src/texinfo.tex     /^\\def\\defunargs #1{\\functionparens \\sl$/
-\defunheader   tex-src/texinfo.tex     /^\\def\\defunheader #1#2{\\doind {fn}{\\code{#1}}% Make/
-\defunx        tex-src/texinfo.tex     /^\\def\\defunx #1 {\\errmessage{@defunx in invalid con/
-\defvar        tex-src/texinfo.tex     /^\\def\\defvar{\\defvarparsebody\\Edefvar\\defvarx\\defva/
-\defvarargs    tex-src/texinfo.tex     /^\\def\\defvarargs #1{\\normalparens #1%$/
-\defvarheader  tex-src/texinfo.tex     /^\\def\\defvarheader #1#2{\\doind {vr}{\\code{#1}}% Mak/
-\defvarparsebody       tex-src/texinfo.tex     /^\\def\\defvarparsebody #1#2#3{\\begingroup\\inENV% Env/
-\defvarx       tex-src/texinfo.tex     /^\\def\\defvarx #1 {\\errmessage{@defvarx in invalid c/
-\defvr tex-src/texinfo.tex     /^\\def\\defvr{\\defvrparsebody\\Edefvr\\defvrx\\defvrhead/
-\defvrheader   tex-src/texinfo.tex     /^\\def\\defvrheader #1#2#3{\\doind {vr}{\\code{#2}}%$/
-\defvrparsebody        tex-src/texinfo.tex     /^\\def\\defvrparsebody #1#2#3#4 {\\begingroup\\inENV %$/
-\defvrx        tex-src/texinfo.tex     /^\\def\\defvrx #1 {\\errmessage{@defvrx in invalid con/
-\description   tex-src/texinfo.tex     /^\\def\\description{\\tablez{\\dontindex}{1}{}{}{}{}}$/
-\df    tex-src/texinfo.tex     /^\\def\\df{\\let\\tentt=\\deftt \\let\\tenbf = \\defbf \\bf}/
-\dfn   tex-src/texinfo.tex     /^\\def\\dfn##1{\\realbackslash dfn {##1}}$/
-\direntry      tex-src/texinfo.tex     /^\\def\\direntry{\\begingroup\\direntryxxx}$/
-\direntryxxx   tex-src/texinfo.tex     /^\\long\\def\\direntryxxx #1\\end direntry{\\endgroup\\ig/
-\display       tex-src/texinfo.tex     /^\\def\\display{\\begingroup\\inENV %This group ends at/
-\dmn   tex-src/texinfo.tex     /^\\def\\dmn#1{\\thinspace #1}$/
-\dobreak       tex-src/texinfo.tex     /^\\def\\dobreak#1#2{\\par\\ifdim\\lastskip<#1\\removelast/
-\dochapentry   tex-src/texinfo.tex     /^\\def\\dochapentry#1#2{%$/
-\docodeindex   tex-src/texinfo.tex     /^\\def\\docodeindex#1{\\edef\\indexname{#1}\\parsearg\\si/
-\doind tex-src/texinfo.tex     /^\\def\\doind #1#2{%$/
-\doindex       tex-src/texinfo.tex     /^\\def\\doindex#1{\\edef\\indexname{#1}\\parsearg\\single/
-\donoderef     tex-src/texinfo.tex     /^\\def\\donoderef{\\ifx\\lastnode\\relax\\else$/
-\dontindex     tex-src/texinfo.tex     /^\\def\\dontindex #1{}$/
-\dopageno      tex-src/texinfo.tex     /^\\def\\dopageno#1{{\\rm #1}}$/
-\doprintindex  tex-src/texinfo.tex     /^\\def\\doprintindex#1{%$/
-\dosecentry    tex-src/texinfo.tex     /^\\def\\dosecentry#1#2{%$/
-\dosetq        tex-src/texinfo.tex     /^\\def\\dosetq #1#2{{\\let\\folio=0 \\turnoffactive%$/
-\doshortpageno tex-src/texinfo.tex     /^\\def\\doshortpageno#1{{\\rm #1}}$/
-\dosubind      tex-src/texinfo.tex     /^\\def\\dosubind #1#2#3{%$/
-\dosubsecentry tex-src/texinfo.tex     /^\\def\\dosubsecentry#1#2{%$/
-\dosubsubsecentry      tex-src/texinfo.tex     /^\\def\\dosubsubsecentry#1#2{%$/
-\dots  tex-src/texinfo.tex     /^\\def\\dots{$\\ldots$}$/
-\dots  tex-src/texinfo.tex     /^\\def\\dots{\\realbackslash dots }%$/
-\dots  tex-src/texinfo.tex     /^\\def\\dots{\\realbackslash dots}$/
-\doublecolumnout       tex-src/texinfo.tex     /^\\def\\doublecolumnout{\\splittopskip=\\topskip \\split/
-\emph  tex-src/texinfo.tex     /^\\def\\emph##1{\\realbackslash emph {##1}}$/
-\end   tex-src/texinfo.tex     /^\\def\\end{\\parsearg\\endxxx}$/
-\enddoublecolumns      tex-src/texinfo.tex     /^\\def\\enddoublecolumns{\\output={\\balancecolumns}\\ej/
-\endxxx        tex-src/texinfo.tex     /^\\def\\endxxx #1{%$/
-\entry tex-src/texinfo.tex     /^\\def\\entry #1#2{\\begingroup$/
-\enumerate     tex-src/texinfo.tex     /^\\def\\enumerate{\\parsearg\\enumeratezzz}$/
-\enumeratey    tex-src/texinfo.tex     /^\\def\\enumeratey #1 #2\\endenumeratey{%$/
-\enumeratezzz  tex-src/texinfo.tex     /^\\def\\enumeratezzz #1{\\enumeratey #1  \\endenumerate/
-\equiv tex-src/texinfo.tex     /^\\def\\equiv{\\leavevmode\\lower.1ex\\hbox to 1em{\\hfil/
-\equiv tex-src/texinfo.tex     /^\\def\\equiv{\\realbackslash equiv}$/
-\error tex-src/texinfo.tex     /^\\def\\error{\\leavevmode\\lower.7ex\\copy\\errorbox}$/
-\errorE        tex-src/texinfo.tex     /^\\def\\errorE#1{$/
-\evenfooting   tex-src/texinfo.tex     /^\\def\\evenfooting{\\parsearg\\evenfootingxxx}$/
-\evenheading   tex-src/texinfo.tex     /^\\def\\evenheading{\\parsearg\\evenheadingxxx}$/
-\everyfooting  tex-src/texinfo.tex     /^\\def\\everyfooting{\\parsearg\\everyfootingxxx}$/
-\everyheading  tex-src/texinfo.tex     /^\\def\\everyheading{\\parsearg\\everyheadingxxx}$/
-\ewbot tex-src/texinfo.tex     /^\\def\\ewbot{\\vrule height0pt depth\\cornerthick widt/
-\ewtop tex-src/texinfo.tex     /^\\def\\ewtop{\\vrule height\\cornerthick depth0pt widt/
-\exdent        tex-src/texinfo.tex     /^\\def\\exdent{\\parsearg\\exdentyyy}$/
-\exdentyyy     tex-src/texinfo.tex     /^\\def\\exdentyyy #1{{\\hfil\\break\\hbox{\\kern -\\exdent/
-\expansion     tex-src/texinfo.tex     /^\\def\\expansion{\\leavevmode\\raise.1ex\\hbox to 1em{\\/
-\expansion     tex-src/texinfo.tex     /^\\def\\expansion{\\realbackslash expansion}$/
-\file  tex-src/texinfo.tex     /^\\def\\file##1{\\realbackslash file {##1}}$/
-\file  tex-src/texinfo.tex     /^\\def\\file##1{\\realbackslash file {##1}}%$/
-\finalout      tex-src/texinfo.tex     /^\\def\\finalout{\\overfullrule=0pt}$/
-\findex        tex-src/texinfo.tex     /^\\def\\findex {\\fnindex}$/
-\finishtitlepage       tex-src/texinfo.tex     /^\\def\\finishtitlepage{%$/
-\flushcr       tex-src/texinfo.tex     /^\\def\\flushcr{\\ifx\\par\\lisppar \\def\\next##1{}\\else /
-\flushleft     tex-src/texinfo.tex     /^\\def\\flushleft{%$/
-\flushright    tex-src/texinfo.tex     /^\\def\\flushright{%$/
-\fnitemindex   tex-src/texinfo.tex     /^\\def\\fnitemindex #1{\\doind {fn}{\\code{#1}}}%$/
-\format        tex-src/texinfo.tex     /^\\def\\format{\\begingroup\\inENV %This group ends at /
-\frenchspacing tex-src/texinfo.tex     /^\\def\\frenchspacing{\\sfcode46=1000 \\sfcode63=1000 \\/
-\ftable        tex-src/texinfo.tex     /^\\def\\ftable{\\begingroup\\inENV\\obeylines\\obeyspaces/
-\gloggingall   tex-src/texinfo.tex     /^\\def\\gloggingall{\\begingroup \\globaldefs = 1 \\logg/
-\group tex-src/texinfo.tex     /^\\def\\group{\\begingroup$/
-\gtr   tex-src/texinfo.tex     /^\\def\\gtr{\\realbackslash gtr}$/
-\gtr   tex-src/texinfo.tex     /^\\def\\gtr{\\realbackslash gtr}%$/
-\hat   tex-src/texinfo.tex     /^\\def\\hat{\\realbackslash hat}$/
-\hat   tex-src/texinfo.tex     /^\\def\\hat{\\realbackslash hat}%$/
-\heading       tex-src/texinfo.tex     /^\\def\\heading{\\parsearg\\secheadingi}$/
-\headings      tex-src/texinfo.tex     /^\\def\\headings #1 {\\csname HEADINGS#1\\endcsname}$/
-\i     tex-src/texinfo.tex     /^\\def\\i##1{\\realbackslash i {##1}}$/
-\i     tex-src/texinfo.tex     /^\\def\\i##1{\\realbackslash i {##1}}%$/
-\ifclear       tex-src/texinfo.tex     /^\\def\\ifclear{\\begingroup\\ignoresections\\parsearg\\i/
-\ifclearfail   tex-src/texinfo.tex     /^\\def\\ifclearfail{\\begingroup\\ignoresections\\ifclea/
-\ifclearfailxxx        tex-src/texinfo.tex     /^\\long\\def\\ifclearfailxxx #1\\end ifclear{\\endgroup\\/
-\ifclearxxx    tex-src/texinfo.tex     /^\\def\\ifclearxxx #1{\\endgroup$/
-\ifinfo        tex-src/texinfo.tex     /^\\def\\ifinfo{\\begingroup\\ignoresections\\ifinfoxxx}$/
-\ifinfoxxx     tex-src/texinfo.tex     /^\\long\\def\\ifinfoxxx #1\\end ifinfo{\\endgroup\\ignore/
-\ifset tex-src/texinfo.tex     /^\\def\\ifset{\\begingroup\\ignoresections\\parsearg\\ifs/
-\ifsetfail     tex-src/texinfo.tex     /^\\def\\ifsetfail{\\begingroup\\ignoresections\\ifsetfai/
-\ifsetfailxxx  tex-src/texinfo.tex     /^\\long\\def\\ifsetfailxxx #1\\end ifset{\\endgroup\\igno/
-\ifsetxxx      tex-src/texinfo.tex     /^\\def\\ifsetxxx #1{\\endgroup$/
-\iftex tex-src/texinfo.tex     /^\\def\\iftex{}$/
-\ifusingtt     tex-src/texinfo.tex     /^\\def\\ifusingtt#1#2{\\ifdim \\fontdimen3\\the\\font=0pt/
-\ignore        tex-src/texinfo.tex     /^\\def\\ignore{\\begingroup\\ignoresections$/
-\ignoresections        tex-src/texinfo.tex     /^\\def\\ignoresections{%$/
-\ignorexxx     tex-src/texinfo.tex     /^\\long\\def\\ignorexxx #1\\end ignore{\\endgroup\\ignore/
-\ii    tex-src/texinfo.tex     /^\\def\\ii#1{{\\it #1}}                % italic font$/
-\inENV tex-src/texinfo.tex     /^\\newif\\ifENV \\ENVfalse \\def\\inENV{\\ifENV\\relax\\els/
-\include       tex-src/texinfo.tex     /^\\def\\include{\\parsearg\\includezzz}$/
-\includezzz    tex-src/texinfo.tex     /^\\def\\includezzz #1{{\\def\\thisfile{#1}\\input #1$/
-\indexbackslash        tex-src/texinfo.tex     /^  \\def\\indexbackslash{\\rawbackslashxx}$/
-\indexdotfill  tex-src/texinfo.tex     /^\\def\\indexdotfill{\\cleaders$/
-\indexdummies  tex-src/texinfo.tex     /^\\def\\indexdummies{%$/
-\indexdummydots        tex-src/texinfo.tex     /^\\def\\indexdummydots{...}$/
-\indexdummyfont        tex-src/texinfo.tex     /^\\def\\indexdummyfont#1{#1}$/
-\indexdummytex tex-src/texinfo.tex     /^\\def\\indexdummytex{TeX}$/
-\indexfonts    tex-src/texinfo.tex     /^\\def\\indexfonts{%$/
-\indexnofonts  tex-src/texinfo.tex     /^\\def\\indexnofonts{%$/
-\infoappendix  tex-src/texinfo.tex     /^\\def\\infoappendix{\\parsearg\\appendixzzz}$/
-\infoappendixsec       tex-src/texinfo.tex     /^\\def\\infoappendixsec{\\parsearg\\appendixseczzz}$/
-\infoappendixsubsec    tex-src/texinfo.tex     /^\\def\\infoappendixsubsec{\\parsearg\\appendixsubseczz/
-\infoappendixsubsubsec tex-src/texinfo.tex     /^\\def\\infoappendixsubsubsec{\\parsearg\\appendixsubsu/
-\infochapter   tex-src/texinfo.tex     /^\\def\\infochapter{\\parsearg\\chapterzzz}$/
-\inforef       tex-src/texinfo.tex     /^\\def\\inforef #1{\\inforefzzz #1,,,,**}$/
-\inforefzzz    tex-src/texinfo.tex     /^\\def\\inforefzzz #1,#2,#3,#4**{See Info file \\file{/
-\infosection   tex-src/texinfo.tex     /^\\def\\infosection{\\parsearg\\sectionzzz}$/
-\infosubsection        tex-src/texinfo.tex     /^\\def\\infosubsection{\\parsearg\\subsectionzzz}$/
-\infosubsubsection     tex-src/texinfo.tex     /^\\def\\infosubsubsection{\\parsearg\\subsubsectionzzz}/
-\infotop       tex-src/texinfo.tex     /^\\def\\infotop{\\parsearg\\unnumberedzzz}$/
-\infounnumbered        tex-src/texinfo.tex     /^\\def\\infounnumbered{\\parsearg\\unnumberedzzz}$/
-\infounnumberedsec     tex-src/texinfo.tex     /^\\def\\infounnumberedsec{\\parsearg\\unnumberedseczzz}/
-\infounnumberedsubsec  tex-src/texinfo.tex     /^\\def\\infounnumberedsubsec{\\parsearg\\unnumberedsubs/
-\infounnumberedsubsubsec       tex-src/texinfo.tex     /^\\def\\infounnumberedsubsubsec{\\parsearg\\unnumbereds/
-\initial       tex-src/texinfo.tex     /^\\def\\initial #1{%$/
-\internalBitem tex-src/texinfo.tex     /^\\def\\internalBitem{\\smallbreak \\parsearg\\itemzzz}$/
-\internalBitemx        tex-src/texinfo.tex     /^\\def\\internalBitemx{\\par \\parsearg\\itemzzz}$/
-\internalBkitem        tex-src/texinfo.tex     /^\\def\\internalBkitem{\\smallbreak \\parsearg\\kitemzzz/
-\internalBkitemx       tex-src/texinfo.tex     /^\\def\\internalBkitemx{\\par \\parsearg\\kitemzzz}$/
-\internalBxitem        tex-src/texinfo.tex     /^\\def\\internalBxitem "#1"{\\def\\xitemsubtopix{#1} \\s/
-\internalBxitemx       tex-src/texinfo.tex     /^\\def\\internalBxitemx "#1"{\\def\\xitemsubtopix{#1} \\/
-\internalsetq  tex-src/texinfo.tex     /^\\def\\internalsetq #1#2{'xrdef {#1}{\\csname #2\\endc/
-\item  tex-src/texinfo.tex     /^\\def\\item{\\errmessage{@item while not in a table}}/
-\itemcontents  tex-src/texinfo.tex     /^\\def\\itemcontents{#1}%$/
-\itemfont      tex-src/texinfo.tex     /^\\def\\itemfont{#2}%$/
-\itemize       tex-src/texinfo.tex     /^\\def\\itemize{\\parsearg\\itemizezzz}$/
-\itemizeitem   tex-src/texinfo.tex     /^\\def\\itemizeitem{%$/
-\itemizey      tex-src/texinfo.tex     /^\\def\\itemizey #1#2{%$/
-\itemizezzz    tex-src/texinfo.tex     /^\\def\\itemizezzz #1{%$/
-\itemx tex-src/texinfo.tex     /^\\def\\itemx{\\errmessage{@itemx while not in a table/
-\itemzzz       tex-src/texinfo.tex     /^\\def\\itemzzz #1{\\begingroup %$/
-\kbd   tex-src/texinfo.tex     /^\\def\\kbd##1{\\realbackslash kbd {##1}}$/
-\kbd   tex-src/texinfo.tex     /^\\def\\kbd##1{\\realbackslash kbd {##1}}%$/
-\kbd   tex-src/texinfo.tex     /^\\def\\kbd#1{\\def\\look{#1}\\expandafter\\kbdfoo\\look??/
-\kbdfoo        tex-src/texinfo.tex     /^\\def\\kbdfoo#1#2#3\\par{\\def\\one{#1}\\def\\three{#3}\\d/
-\key   tex-src/texinfo.tex     /^\\def\\key #1{{\\tt \\exhyphenpenalty=10000\\uppercase{/
-\key   tex-src/texinfo.tex     /^\\def\\key##1{\\realbackslash key {##1}}$/
-\key   tex-src/texinfo.tex     /^\\def\\key##1{\\realbackslash key {##1}}%$/
-\kindex        tex-src/texinfo.tex     /^\\def\\kindex {\\kyindex}$/
-\kitem tex-src/texinfo.tex     /^\\def\\kitem{\\errmessage{@kitem while not in a table/
-\kitemx        tex-src/texinfo.tex     /^\\def\\kitemx{\\errmessage{@kitemx while not in a tab/
-\kitemzzz      tex-src/texinfo.tex     /^\\def\\kitemzzz #1{\\dosubind {kw}{\\code{#1}}{for {\\b/
-\l     tex-src/texinfo.tex     /^\\def\\l#1{{\\li #1}\\null}           % $/
-\labelspace    tex-src/texinfo.tex     /^\\def\\labelspace{\\hskip1em \\relax}$/
-\lbrb  tex-src/texinfo.tex     /^\\def\\lbrb{{\\bf\\char`\\[}} \\def\\rbrb{{\\bf\\char`\\]}}$/
-\less  tex-src/texinfo.tex     /^\\def\\less{\\realbackslash less}$/
-\less  tex-src/texinfo.tex     /^\\def\\less{\\realbackslash less}%$/
-\linenumber    tex-src/texinfo.tex     /^  \\def\\linenumber{\\the\\inputlineno:\\space}$/
-\lisp  tex-src/texinfo.tex     /^\\def\\lisp{\\aboveenvbreak$/
-\loggingall    tex-src/texinfo.tex     /^\\def\\loggingall{\\tracingcommands2 \\tracingstats2 $/
-\losespace     tex-src/texinfo.tex     /^\\def\\losespace #1{#1}$/
-\lowercaseenumerate    tex-src/texinfo.tex     /^\\def\\lowercaseenumerate{%$/
-\lvvmode       tex-src/texinfo.tex     /^\\def\\lvvmode{\\vbox to 0pt{}}$/
-\majorheading  tex-src/texinfo.tex     /^\\def\\majorheading{\\parsearg\\majorheadingzzz}$/
-\majorheadingzzz       tex-src/texinfo.tex     /^\\def\\majorheadingzzz #1{%$/
-\math  tex-src/texinfo.tex     /^\\def\\math#1{\\implicitmath #1\\implicitmath}$/
-\menu  tex-src/texinfo.tex     /^\\long\\def\\menu #1\\end menu{}$/
-\minus tex-src/texinfo.tex     /^\\def\\minus{$-$}$/
-\mylbrace      tex-src/texinfo.tex     /^\\def\\mylbrace {{\\tt \\char '173}}$/
-\myrbrace      tex-src/texinfo.tex     /^\\def\\myrbrace {{\\tt \\char '175}}$/
-\need  tex-src/texinfo.tex     /^\\def\\need{\\parsearg\\needx}$/
-\needx tex-src/texinfo.tex     /^\\def\\needx#1{%$/
-\newcodeindex  tex-src/texinfo.tex     /^\\def\\newcodeindex #1{$/
-\newindex      tex-src/texinfo.tex     /^\\def\\newindex #1{$/
-\next  tex-src/texinfo.tex     /^\\def\\next##1{}\\next}$/
-\nm    tex-src/testenv.tex     /^\\newcommand{\\nm}[2]{\\nomenclature{#1}{#2}}$/
-\node  tex-src/texinfo.tex     /^\\def\\node{\\ENVcheck\\parsearg\\nodezzz}$/
-\nodexxx[      tex-src/texinfo.tex     /^\\def\\nodexxx[#1,#2]{\\gdef\\lastnode{#1}}$/
-\nodezzz       tex-src/texinfo.tex     /^\\def\\nodezzz#1{\\nodexxx [#1,]}$/
-\nofillexdent  tex-src/texinfo.tex     /^\\def\\nofillexdent{\\parsearg\\nofillexdentyyy}$/
-\nofillexdentyyy       tex-src/texinfo.tex     /^\\def\\nofillexdentyyy #1{{\\advance \\leftskip by -\\e/
-\normalbackslash       tex-src/texinfo.tex     /^\\def\\normalbackslash{{\\tt\\rawbackslashxx}}$/
-\normalcaret   tex-src/texinfo.tex     /^\\def\\normalcaret{^}$/
-\normaldoublequote     tex-src/texinfo.tex     /^\\def\\normaldoublequote{"}$/
-\normalgreater tex-src/texinfo.tex     /^\\def\\normalgreater{>}$/
-\normalless    tex-src/texinfo.tex     /^\\def\\normalless{<}$/
-\normalplus    tex-src/texinfo.tex     /^\\def\\normalplus{+}$/
-\normaltilde   tex-src/texinfo.tex     /^\\def\\normaltilde{~}$/
-\normalunderscore      tex-src/texinfo.tex     /^\\def\\normalunderscore{_}$/
-\normalverticalbar     tex-src/texinfo.tex     /^\\def\\normalverticalbar{|}$/
-\nsbot tex-src/texinfo.tex     /^\\def\\nsbot{\\vbox$/
-\nstop tex-src/texinfo.tex     /^\\def\\nstop{\\vbox$/
-\numberedsec   tex-src/texinfo.tex     /^\\outer\\def\\numberedsec{\\parsearg\\seczzz}$/
-\numberedsubsec        tex-src/texinfo.tex     /^\\outer\\def\\numberedsubsec{\\parsearg\\numberedsubsec/
-\numberedsubseczzz     tex-src/texinfo.tex     /^\\def\\numberedsubseczzz #1{\\seccheck{subsection}%$/
-\numberedsubsubsec     tex-src/texinfo.tex     /^\\outer\\def\\numberedsubsubsec{\\parsearg\\numberedsub/
-\numberedsubsubseczzz  tex-src/texinfo.tex     /^\\def\\numberedsubsubseczzz #1{\\seccheck{subsubsecti/
-\numericenumerate      tex-src/texinfo.tex     /^\\def\\numericenumerate{%$/
-\oddfooting    tex-src/texinfo.tex     /^\\def\\oddfooting{\\parsearg\\oddfootingxxx}$/
-\oddheading    tex-src/texinfo.tex     /^\\def\\oddheading{\\parsearg\\oddheadingxxx}$/
-\onepageout    tex-src/texinfo.tex     /^\\def\\onepageout#1{\\hoffset=\\normaloffset$/
-\opencontents  tex-src/texinfo.tex     /^\\def\\opencontents{\\openout \\contentsfile = \\jobnam/
-\openindices   tex-src/texinfo.tex     /^\\def\\openindices{%$/
-\opnr  tex-src/texinfo.tex     /^\\def\\opnr{{\\sf\\char`\\(}} \\def\\clnr{{\\sf\\char`\\)}} /
-\page  tex-src/texinfo.tex     /^   \\def\\page{%$/
-\page  tex-src/texinfo.tex     /^\\def\\page{\\par\\vfill\\supereject}$/
-\pagebody      tex-src/texinfo.tex     /^\\def\\pagebody#1{\\vbox to\\pageheight{\\boxmaxdepth=\\/
-\pagesofar     tex-src/texinfo.tex     /^\\def\\pagesofar{\\unvbox\\partialpage %$/
-\parsearg      tex-src/texinfo.tex     /^\\def\\parsearg #1{\\let\\next=#1\\begingroup\\obeylines/
-\parseargline  tex-src/texinfo.tex     /^\\def\\parseargline{\\begingroup \\obeylines \\parsearg/
-\parseargx     tex-src/texinfo.tex     /^\\def\\parseargx{%$/
-\pindex        tex-src/texinfo.tex     /^\\def\\pindex {\\pgindex}$/
-\plainsecheading       tex-src/texinfo.tex     /^\\def\\plainsecheading #1{\\secheadingi {#1}}$/
-\point tex-src/texinfo.tex     /^\\def\\point{$\\star$}$/
-\primary       tex-src/texinfo.tex     /^\\def\\primary #1{\\line{#1\\hfil}}$/
-\print tex-src/texinfo.tex     /^\\def\\print{\\leavevmode\\lower.1ex\\hbox to 1em{\\hfil/
-\print tex-src/texinfo.tex     /^\\def\\print{\\realbackslash print}$/
-\printedmanual tex-src/texinfo.tex     /^\\def\\printedmanual{\\ignorespaces #5}%$/
-\printedmanual tex-src/texinfo.tex     /^section ``\\printednodename'' in \\cite{\\printedmanu/
-\printednodename       tex-src/texinfo.tex     /^\\def\\printednodename{\\ignorespaces #1}%$/
-\printednodename       tex-src/texinfo.tex     /^\\def\\printednodename{\\ignorespaces #3}%$/
-\printindex    tex-src/texinfo.tex     /^\\def\\printindex{\\parsearg\\doprintindex}$/
-\pxref tex-src/texinfo.tex     /^\\def\\pxref#1{see \\xrefX[#1,,,,,,,]}$/
-\quotation     tex-src/texinfo.tex     /^\\def\\quotation{%$/
-\r     tex-src/texinfo.tex     /^\\def\\r##1{\\realbackslash r {##1}}$/
-\r     tex-src/texinfo.tex     /^\\def\\r##1{\\realbackslash r {##1}}%$/
-\r     tex-src/texinfo.tex     /^\\def\\r#1{{\\rm #1}}         % roman font$/
-\rawbackslashxx        tex-src/texinfo.tex     /^\\def\\rawbackslashxx{\\indexbackslash}% \\indexbacksl/
-\rawbackslashxx        tex-src/texinfo.tex     /^\\def\\rawbackslashxx{\\indexbackslash}%$/
-\readauxfile   tex-src/texinfo.tex     /^\\def\\readauxfile{%$/
-\ref   tex-src/texinfo.tex     /^\\def\\ref#1{\\xrefX[#1,,,,,,,]}$/
-\refx  tex-src/texinfo.tex     /^\\def\\refx#1#2{%$/
-\resetmathfonts        tex-src/texinfo.tex     /^\\def\\resetmathfonts{%$/
-\result        tex-src/texinfo.tex     /^\\def\\result{\\leavevmode\\raise.15ex\\hbox to 1em{\\hf/
-\result        tex-src/texinfo.tex     /^\\def\\result{\\realbackslash result}$/
-\rm    tex-src/texinfo.tex     /^\\def\\rm{\\realbackslash rm }%$/
-\samp  tex-src/texinfo.tex     /^\\def\\samp #1{`\\tclose{#1}'\\null}$/
-\samp  tex-src/texinfo.tex     /^\\def\\samp##1{\\realbackslash samp {##1}}$/
-\samp  tex-src/texinfo.tex     /^\\def\\samp##1{\\realbackslash samp {##1}}%$/
-\sc    tex-src/texinfo.tex     /^\\def\\sc#1{{\\smallcaps#1}}  % smallcaps font$/
-\seccheck      tex-src/texinfo.tex     /^\\def\\seccheck#1{\\if \\pageno<0 %$/
-\secentry      tex-src/texinfo.tex     /^      \\def\\secentry ##1##2##3##4{}$/
-\secentry      tex-src/texinfo.tex     /^\\def\\secentry#1#2#3#4{\\dosecentry{#2.#3\\labelspace/
-\secentryfonts tex-src/texinfo.tex     /^\\def\\secentryfonts{\\textfonts}$/
-\secfonts      tex-src/texinfo.tex     /^\\def\\secfonts{%$/
-\secheading    tex-src/texinfo.tex     /^\\def\\secheading #1#2#3{\\secheadingi {#2.#3\\enspace/
-\secheadingbreak       tex-src/texinfo.tex     /^\\def\\secheadingbreak{\\dobreak \\secheadingskip {-10/
-\secheadingi   tex-src/texinfo.tex     /^\\def\\secheadingi #1{{\\advance \\secheadingskip by \\/
-\secondary     tex-src/texinfo.tex     /^\\def\\secondary #1#2{$/
-\seczzz        tex-src/texinfo.tex     /^\\def\\seczzz #1{\\seccheck{section}%$/
-\set   tex-src/texinfo.tex     /^\\def\\set{\\parsearg\\setxxx}$/
-\setchapternewpage     tex-src/texinfo.tex     /^\\def\\setchapternewpage #1 {\\csname CHAPPAG#1\\endcs/
-\setchapterstyle       tex-src/texinfo.tex     /^\\def\\setchapterstyle #1 {\\csname CHAPF#1\\endcsname/
-\setdeffont    tex-src/texinfo.tex     /^\\def\\setdeffont #1 {\\csname DEF#1\\endcsname}$/
-\setfilename   tex-src/texinfo.tex     /^\\def\\setfilename{%$/
-\setref        tex-src/texinfo.tex     /^\\def\\setref#1{%$/
-\settitle      tex-src/texinfo.tex     /^\\def\\settitle{\\parsearg\\settitlezzz}$/
-\settitlezzz   tex-src/texinfo.tex     /^\\def\\settitlezzz #1{\\gdef\\thistitle{#1}}$/
-\setxxx        tex-src/texinfo.tex     /^\\def\\setxxx #1{$/
-\sf    tex-src/texinfo.tex     /^\\def\\sf{\\fam=\\sffam \\tensf}$/
-\sf    tex-src/texinfo.tex     /^\\def\\sf{\\realbackslash sf}%$/
-\shortchapentry        tex-src/texinfo.tex     /^\\def\\shortchapentry#1#2#3{%$/
-\shortunnumberedentry  tex-src/texinfo.tex     /^\\def\\shortunnumberedentry#1#2{%$/
-\singlecodeindexer     tex-src/texinfo.tex     /^\\def\\singlecodeindexer #1{\\doind{\\indexname}{\\code/
-\singleindexer tex-src/texinfo.tex     /^\\def\\singleindexer #1{\\doind{\\indexname}{#1}}$/
-\singlespace   tex-src/texinfo.tex     /^\\def\\singlespace{%$/
-\sl    tex-src/texinfo.tex     /^\\def\\sl{\\realbackslash sl }%$/
-\smallbook     tex-src/texinfo.tex     /^\\def\\smallbook{$/
-\smalllispx    tex-src/texinfo.tex     /^\\def\\smalllispx{\\aboveenvbreak\\begingroup\\inENV$/
-\smartitalic   tex-src/texinfo.tex     /^\\def\\smartitalic#1{{\\sl #1}\\futurelet\\next\\smartit/
-\smartitalicx  tex-src/texinfo.tex     /^\\def\\smartitalicx{\\ifx\\next,\\else\\ifx\\next-\\else\\i/
-\sp    tex-src/texinfo.tex     /^\\def\\sp{\\parsearg\\spxxx}$/
-\splitoff      tex-src/texinfo.tex     /^\\def\\splitoff#1#2\\endmark{\\def\\first{#1}\\def\\rest{/
-\spxxx tex-src/texinfo.tex     /^\\def\\spxxx #1{\\par \\vskip #1\\baselineskip}$/
-\startcontents tex-src/texinfo.tex     /^\\def\\startcontents#1{%$/
-\startenumeration      tex-src/texinfo.tex     /^\\def\\startenumeration#1{%$/
-\subheading    tex-src/texinfo.tex     /^\\def\\subheading{\\parsearg\\subsecheadingi}$/
-\subsecentry   tex-src/texinfo.tex     /^      \\def\\subsecentry ##1##2##3##4##5{}$/
-\subsecentry   tex-src/texinfo.tex     /^\\def\\subsecentry#1#2#3#4#5{\\dosubsecentry{#2.#3.#4/
-\subsecfonts   tex-src/texinfo.tex     /^\\def\\subsecfonts{%$/
-\subsecheading tex-src/texinfo.tex     /^\\def\\subsecheading #1#2#3#4{\\subsecheadingi {#2.#3/
-\subsecheadingbreak    tex-src/texinfo.tex     /^\\def\\subsecheadingbreak{\\dobreak \\subsecheadingski/
-\subsecheadingi        tex-src/texinfo.tex     /^\\def\\subsecheadingi #1{{\\advance \\subsecheadingski/
-\subsubheading tex-src/texinfo.tex     /^\\def\\subsubheading{\\parsearg\\subsubsecheadingi}$/
-\subsubsecentry        tex-src/texinfo.tex     /^      \\def\\subsubsecentry ##1##2##3##4##5##6{}$/
-\subsubsecentry        tex-src/texinfo.tex     /^\\def\\subsubsecentry#1#2#3#4#5#6{%$/
-\subsubsecfonts        tex-src/texinfo.tex     /^\\def\\subsubsecfonts{\\subsecfonts} % Maybe this sho/
-\subsubsecheading      tex-src/texinfo.tex     /^\\def\\subsubsecheading #1#2#3#4#5{\\subsubsecheading/
-\subsubsecheadingi     tex-src/texinfo.tex     /^\\def\\subsubsecheadingi #1{{\\advance \\subsecheading/
-\subtitle      tex-src/texinfo.tex     /^   \\def\\subtitle{\\parsearg\\subtitlezzz}%$/
-\subtitlefont  tex-src/texinfo.tex     /^   \\def\\subtitlefont{\\subtitlerm \\normalbaselinesk/
-\subtitlezzz   tex-src/texinfo.tex     /^   \\def\\subtitlezzz##1{{\\subtitlefont \\rightline{#/
-\summarycontents       tex-src/texinfo.tex     /^\\outer\\def\\summarycontents{%$/
-\supereject    tex-src/texinfo.tex     /^\\def\\supereject{\\par\\penalty -20000\\footnoteno =0 /
-\syncodeindex  tex-src/texinfo.tex     /^\\def\\syncodeindex #1 #2 {%$/
-\synindex      tex-src/texinfo.tex     /^\\def\\synindex #1 #2 {%$/
-\t     tex-src/texinfo.tex     /^\\def\\t##1{\\realbackslash r {##1}}%$/
-\t     tex-src/texinfo.tex     /^\\def\\t#1{{\\tt \\exhyphenpenalty=10000\\rawbackslash /
-\table tex-src/texinfo.tex     /^\\def\\table{\\begingroup\\inENV\\obeylines\\obeyspaces\\/
-\tablez        tex-src/texinfo.tex     /^\\def\\tablez #1#2#3#4#5#6{%$/
-\tclose        tex-src/texinfo.tex     /^\\def\\tclose##1{\\realbackslash tclose {##1}}$/
-\tclose        tex-src/texinfo.tex     /^\\def\\tclose##1{\\realbackslash tclose {##1}}%$/
-\tclose        tex-src/texinfo.tex     /^\\def\\tclose#1{{\\rm \\tcloserm=\\fontdimen2\\font \\tt /
-\tex   tex-src/texinfo.tex     /^\\def\\tex{\\begingroup$/
-\texinfoversion        tex-src/texinfo.tex     /^\\def\\texinfoversion{2.73}$/
-\textfonts     tex-src/texinfo.tex     /^\\def\\textfonts{%$/
-\thearg        tex-src/texinfo.tex     /^  \\def\\thearg{#1}%$/
-\thearg        tex-src/texinfo.tex     /^  \\ifx\\thearg\\empty \\def\\thearg{1}\\fi$/
-\thischapter   tex-src/texinfo.tex     /^   \\unnumbchapmacro{#1}\\def\\thischapter{}%$/
-\thischapter   tex-src/texinfo.tex     /^\\def\\thischapter{} \\def\\thissection{}$/
-\thischaptername       tex-src/texinfo.tex     /^\\def\\thischaptername{No Chapter Title}$/
-\thisfile      tex-src/texinfo.tex     /^\\def\\thisfile{}$/
-\thistitle     tex-src/texinfo.tex     /^\\def\\thistitle{No Title}$/
-\tie   tex-src/texinfo.tex     /^\\def\\tie{\\penalty 10000\\ }     % Save plain tex de/
-\tindex        tex-src/texinfo.tex     /^\\def\\tindex {\\tpindex}$/
-\title tex-src/texinfo.tex     /^   \\def\\title{\\parsearg\\titlezzz}%$/
-\titlefont     tex-src/texinfo.tex     /^\\def\\titlefont#1{{\\titlerm #1}}$/
-\titlepage     tex-src/texinfo.tex     /^\\def\\titlepage{\\begingroup \\parindent=0pt \\textfon/
-\titlezzz      tex-src/texinfo.tex     /^   \\def\\titlezzz##1{\\leftline{\\titlefont{##1}}$/
-\today tex-src/texinfo.tex     /^\\def\\today{\\number\\day\\space$/
-\top   tex-src/texinfo.tex     /^\\outer\\def\\top{\\parsearg\\unnumberedzzz}$/
-\tt    tex-src/texinfo.tex     /^\\def\\tt{\\realbackslash tt}$/
-\tt    tex-src/texinfo.tex     /^\\def\\tt{\\realbackslash tt}%$/
-\turnoffactive tex-src/texinfo.tex     /^\\def\\turnoffactive{\\let"=\\normaldoublequote$/
-\unnchfopen    tex-src/texinfo.tex     /^\\def\\unnchfopen #1{%$/
-\unnchfplain   tex-src/texinfo.tex     /^\\def\\unnchfplain #1{%$/
-\unnumbchapentry       tex-src/texinfo.tex     /^\\def\\unnumbchapentry#1#2{\\dochapentry{#1}{#2}}$/
-\unnumbered    tex-src/texinfo.tex     /^\\outer\\def\\unnumbered{\\parsearg\\unnumberedzzz}$/
-\unnumberedsec tex-src/texinfo.tex     /^\\outer\\def\\unnumberedsec{\\parsearg\\unnumberedseczz/
-\unnumberedseczzz      tex-src/texinfo.tex     /^\\def\\unnumberedseczzz #1{\\seccheck{unnumberedsec}%/
-\unnumberedsubsec      tex-src/texinfo.tex     /^\\outer\\def\\unnumberedsubsec{\\parsearg\\unnumberedsu/
-\unnumberedsubseczzz   tex-src/texinfo.tex     /^\\def\\unnumberedsubseczzz #1{\\seccheck{unnumberedsu/
-\unnumberedsubsubsec   tex-src/texinfo.tex     /^\\outer\\def\\unnumberedsubsubsec{\\parsearg\\unnumbere/
-\unnumberedsubsubseczzz        tex-src/texinfo.tex     /^\\def\\unnumberedsubsubseczzz #1{\\seccheck{unnumbere/
-\unnumberedzzz tex-src/texinfo.tex     /^\\def\\unnumberedzzz #1{\\seccheck{unnumbered}%$/
-\unnumbnoderef tex-src/texinfo.tex     /^\\def\\unnumbnoderef{\\ifx\\lastnode\\relax\\else$/
-\unnumbsecentry        tex-src/texinfo.tex     /^      \\def\\unnumbsecentry ##1##2{}$/
-\unnumbsecentry        tex-src/texinfo.tex     /^\\def\\unnumbsecentry#1#2{\\dosecentry{#1}{#2}}$/
-\unnumbsetref  tex-src/texinfo.tex     /^\\def\\unnumbsetref#1{%$/
-\unnumbsubsecentry     tex-src/texinfo.tex     /^      \\def\\unnumbsubsecentry ##1##2{}$/
-\unnumbsubsecentry     tex-src/texinfo.tex     /^\\def\\unnumbsubsecentry#1#2{\\dosubsecentry{#1}{#2}}/
-\unnumbsubsubsecentry  tex-src/texinfo.tex     /^      \\def\\unnumbsubsubsecentry ##1##2{}$/
-\unnumbsubsubsecentry  tex-src/texinfo.tex     /^\\def\\unnumbsubsubsecentry#1#2{\\dosubsubsecentry{#1/
-\uppercaseenumerate    tex-src/texinfo.tex     /^\\def\\uppercaseenumerate{%$/
-\var   tex-src/texinfo.tex     /^\\def\\var##1{\\realbackslash var {##1}}$/
-\var   tex-src/texinfo.tex     /^\\def\\var##1{\\realbackslash var {##1}}%$/
-\vindex        tex-src/texinfo.tex     /^\\def\\vindex {\\vrindex}$/
-\vritemindex   tex-src/texinfo.tex     /^\\def\\vritemindex #1{\\doind {vr}{\\code{#1}}}%$/
-\vtable        tex-src/texinfo.tex     /^\\def\\vtable{\\begingroup\\inENV\\obeylines\\obeyspaces/
-\w     tex-src/texinfo.tex     /^\\def\\w#1{\\leavevmode\\hbox{#1}}$/
-\w     tex-src/texinfo.tex     /^\\def\\w{\\realbackslash w }%$/
-\w     tex-src/texinfo.tex     /^\\def\\w{\\realbackslash w}$/
-\xitem tex-src/texinfo.tex     /^\\def\\xitem{\\errmessage{@xitem while not in a table/
-\xitemx        tex-src/texinfo.tex     /^\\def\\xitemx{\\errmessage{@xitemx while not in a tab/
-\xitemzzz      tex-src/texinfo.tex     /^\\def\\xitemzzz #1{\\dosubind {kw}{\\code{#1}}{for {\\b/
-\xkey  tex-src/texinfo.tex     /^\\def\\xkey{\\key}$/
-\xrdef tex-src/texinfo.tex     /^\\def\\xrdef #1#2{$/
-\xref  tex-src/texinfo.tex     /^\\def\\xref#1{See \\xrefX[#1,,,,,,,]}$/
-\xrefX[        tex-src/texinfo.tex     /^\\def\\xrefX[#1,#2,#3,#4,#5,#6]{\\begingroup%$/
-^      tex-src/texinfo.tex     /^\\def^{{\\tt \\hat}}$/
-_      tex-src/texinfo.tex     /^\\def_{\\ifusingtt\\normalunderscore\\_}$/
-_GETOPT_H      c-src/getopt.h  19
-_GNU_SOURCE    c-src/etags.c   94
-_REGEX_H       c-src/emacs/src/regex.h 21
-_RE_SYNTAX_POSIX_COMMON        c-src/emacs/src/regex.h 221
-_Restrict_     c-src/emacs/src/regex.h 540
-_Restrict_     c-src/emacs/src/regex.h 542
-_Restrict_     c-src/emacs/src/regex.h 544
-_Restrict_arr_ c-src/emacs/src/regex.h 555
-_Restrict_arr_ c-src/emacs/src/regex.h 557
-_UCHAR_T       c-src/emacs/src/lisp.h  2423
-__COLORS       cp-src/screen.hpp       9
-__default_morecore     c-src/emacs/src/gmalloc.c       /^__default_morecore (ptrdiff_t increment)$/
-__init__       pyt-src/server.py       /^    def __init__(self):$/
-__init__       pyt-src/server.py       /^    def __init__(self, Master, text, textvar, widt/
-__init__       pyt-src/server.py       /^    def __init__(self, host, sitelist, master=None/
-__init__       pyt-src/server.py       /^    def __init__(self, master=None):$/
-__init__       pyt-src/server.py       /^    def __init__(self, newlegend, list, editor, ma/
-__init__       pyt-src/server.py       /^    def __init__(self, user, userlist, master=None/
-__ip   c.c     159
-__libc_atexit  c-src/exit.c    30
-__libc_atexit  c-src/exit.strange_suffix       30
-__malloc_extra_blocks  c-src/emacs/src/gmalloc.c       381
-__malloc_initialize    c-src/emacs/src/gmalloc.c       /^__malloc_initialize (void)$/
-__malloc_initialized   c-src/emacs/src/gmalloc.c       379
-__repr__       pyt-src/server.py       /^    def __repr__(self):$/
-__sbrk c-src/emacs/src/gmalloc.c       1513
-__str__        pyt-src/server.py       /^    def __str__(self):$/
-__up   c.c     160
-_aligned_blocks        c-src/emacs/src/gmalloc.c       1004
-_aligned_blocks_mutex  c-src/emacs/src/gmalloc.c       518
-_bar?  ruby-src/test1.ru       /^    def self._bar?(abc)$/
-_bytes_free    c-src/emacs/src/gmalloc.c       376
-_bytes_used    c-src/emacs/src/gmalloc.c       374
-_chunks_free   c-src/emacs/src/gmalloc.c       375
-_chunks_used   c-src/emacs/src/gmalloc.c       373
-_fraghead      c-src/emacs/src/gmalloc.c       370
-_free  c-src/emacs/src/gmalloc.c       /^_free (void *ptr)$/
-_free_internal c-src/emacs/src/gmalloc.c       /^_free_internal (void *ptr)$/
-_free_internal_nolock  c-src/emacs/src/gmalloc.c       /^_free_internal_nolock (void *ptr)$/
-_heapbase      c-src/emacs/src/gmalloc.c       355
-_heapindex     c-src/emacs/src/gmalloc.c       364
-_heapinfo      c-src/emacs/src/gmalloc.c       358
-_heaplimit     c-src/emacs/src/gmalloc.c       367
-_malloc        c-src/emacs/src/gmalloc.c       /^_malloc (size_t size)$/
-_malloc_internal       c-src/emacs/src/gmalloc.c       /^_malloc_internal (size_t size)$/
-_malloc_internal_nolock        c-src/emacs/src/gmalloc.c       /^_malloc_internal_nolock (size_t size)$/
-_malloc_mutex  c-src/emacs/src/gmalloc.c       517
-_malloc_thread_enabled_p       c-src/emacs/src/gmalloc.c       519
-_realloc       c-src/emacs/src/gmalloc.c       /^_realloc (void *ptr, size_t size)$/
-_realloc_internal      c-src/emacs/src/gmalloc.c       /^_realloc_internal (void *ptr, size_t size)$/
-_realloc_internal_nolock       c-src/emacs/src/gmalloc.c       /^_realloc_internal_nolock (void *ptr, size_t size)$/
-`      ruby-src/test.rb        /^        def `(command)$/
-a      c-src/h.h       103
-a      c-src/h.h       40
-a      c.c     /^a ()$/
-a      c.c     /^a()$/
-a      c.c     152
-a      c.c     180
-a      cp-src/c.C      132
-a      ruby-src/test1.ru       /^ def a()$/
-a-forth-constant!      forth-src/test-forth.fth        /^99 constant a-forth-constant!$/
-a-forth-value? forth-src/test-forth.fth        /^55 value a-forth-value?$/
-a-forth-word   forth-src/test-forth.fth        /^: a-forth-word ( a b c -- )$/
-a-forth-word   forth-src/test-forth.fth        /^: a-forth-word ( a b c -- a*b+c )  + * ;$/
-a0     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a0) (void);$/
-a1     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a1) (Lisp_Object);$/
-a2     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a2) (Lisp_Object, Lisp_Object)/
-a3     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a3) (Lisp_Object, Lisp_Object,/
-a4     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a4) (Lisp_Object, Lisp_Object,/
-a5     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a5) (Lisp_Object, Lisp_Object,/
-a6     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a6) (Lisp_Object, Lisp_Object,/
-a7     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a7) (Lisp_Object, Lisp_Object,/
-a8     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a8) (Lisp_Object, Lisp_Object,/
-aMANY  c-src/emacs/src/lisp.h  /^      Lisp_Object (*aMANY) (ptrdiff_t, Lisp_Object/
-aUNEVALLED     c-src/emacs/src/lisp.h  /^      Lisp_Object (*aUNEVALLED) (Lisp_Object args)/
-aa     c.c     269
-aa     c.c     279
-aaa    c.c     249
-aaa    c.c     269
-aaaaaa c-src/h.h       111
-abbrev-expansion       c-src/abbrev.c  /^DEFUN ("abbrev-expansion", Fabbrev_expansion, Sabb/
-abbrev-symbol  c-src/abbrev.c  /^DEFUN ("abbrev-symbol", Fabbrev_symbol, Sabbrev_sy/
-abbrev_all_caps        c-src/abbrev.c  58
-abbrevs_changed        c-src/abbrev.c  56
-abc    c-src/h.h       33
-abc    c-src/h.h       37
-abort-recursive-edit   c-src/emacs/src/keyboard.c      /^DEFUN ("abort-recursive-edit", Fabort_recursive_ed/
-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)$/
-abt    cp-src/c.C      55
-acc_pred_info  merc-src/accumulator.m  /^:- pred acc_pred_info(list(mer_type)::in, list(pro/
-acc_proc_info  merc-src/accumulator.m  /^:- pred acc_proc_info(list(prog_var)::in, prog_var/
-acc_unification        merc-src/accumulator.m  /^:- pred acc_unification(pair(prog_var)::in, hlds_g/
-acc_var_subst_init     merc-src/accumulator.m  /^:- pred acc_var_subst_init(list(prog_var)::in,$/
-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/
-accu_assoc     merc-src/accumulator.m  /^:- pred accu_assoc(module_info::in, vartypes::in, /
-accu_assoc     merc-src/accumulator.m  /^:- type accu_assoc$/
-accu_base      merc-src/accumulator.m  /^:- type accu_base$/
-accu_before    merc-src/accumulator.m  /^:- pred accu_before(module_info::in, vartypes::in,/
-accu_case      merc-src/accumulator.m  /^:- type accu_case$/
-accu_construct merc-src/accumulator.m  /^:- pred accu_construct(module_info::in, vartypes::/
-accu_construct_assoc   merc-src/accumulator.m  /^:- pred accu_construct_assoc(module_info::in, vart/
-accu_create_goal       merc-src/accumulator.m  /^:- pred accu_create_goal(accu_goal_id::in, list(pr/
-accu_divide_base_case  merc-src/accumulator.m  /^:- pred accu_divide_base_case(module_info::in, var/
-accu_goal_id   merc-src/accumulator.m  /^:- type accu_goal_id$/
-accu_goal_list merc-src/accumulator.m  /^:- func accu_goal_list(list(accu_goal_id), accu_go/
-accu_goal_store        merc-src/accumulator.m  /^:- type accu_goal_store == goal_store(accu_goal_id/
-accu_has_heuristic     merc-src/accumulator.m  /^:- pred accu_has_heuristic(module_name::in, string/
-accu_heuristic merc-src/accumulator.m  /^:- pred accu_heuristic(module_name::in, string::in/
-accu_is_associative    merc-src/accumulator.m  /^:- pred accu_is_associative(module_info::in, pred_/
-accu_is_update merc-src/accumulator.m  /^:- pred accu_is_update(module_info::in, pred_id::i/
-accu_process_assoc_set merc-src/accumulator.m  /^:- pred accu_process_assoc_set(module_info::in, ac/
-accu_process_update_set        merc-src/accumulator.m  /^:- pred accu_process_update_set(module_info::in, a/
-accu_related   merc-src/accumulator.m  /^:- pred accu_related(module_info::in, vartypes::in/
-accu_rename    merc-src/accumulator.m  /^:- func accu_rename(list(accu_goal_id), accu_subst/
-accu_sets      merc-src/accumulator.m  /^:- type accu_sets$/
-accu_sets_init merc-src/accumulator.m  /^:- pred accu_sets_init(accu_sets::out) is det.$/
-accu_stage1    merc-src/accumulator.m  /^:- pred accu_stage1(module_info::in, vartypes::in,/
-accu_stage1_2  merc-src/accumulator.m  /^:- pred accu_stage1_2(module_info::in, vartypes::i/
-accu_stage2    merc-src/accumulator.m  /^:- pred accu_stage2(module_info::in, proc_info::in/
-accu_stage3    merc-src/accumulator.m  /^:- pred accu_stage3(accu_goal_id::in, list(prog_va/
-accu_standardize       merc-src/accumulator.m  /^:- pred accu_standardize(hlds_goal::in, hlds_goal:/
-accu_store     merc-src/accumulator.m  /^:- pred accu_store(accu_case::in, hlds_goal::in,$/
-accu_subst     merc-src/accumulator.m  /^:- type accu_subst == map(prog_var, prog_var).$/
-accu_substs    merc-src/accumulator.m  /^:- type accu_substs$/
-accu_substs_init       merc-src/accumulator.m  /^:- pred accu_substs_init(list(prog_var)::in, prog_/
-accu_top_level merc-src/accumulator.m  /^:- pred accu_top_level(top_level::in, hlds_goal::i/
-accu_transform_proc    merc-src/accumulator.m  /^:- pred accu_transform_proc(pred_proc_id::in, pred/
-accu_update    merc-src/accumulator.m  /^:- pred accu_update(module_info::in, vartypes::in,/
-accu_warning   merc-src/accumulator.m  /^:- type accu_warning$/
-act    prol-src/natded.prolog  /^act(OutForm,OutSyn,Ws):-$/
-action prol-src/natded.prolog  /^action(KeyVals):-$/
-active_maps    c-src/emacs/src/keyboard.c      /^active_maps (Lisp_Object first_event)$/
-actout prol-src/natded.prolog  /^actout('Text',Trees):-$/
-addArchs       objc-src/PackInsp.m     /^-(void)addArchs:(const char *)string$/
-addPOReader    php-src/lce_functions.php       /^      function addPOReader($d_name, &$por)$/
-add_active     prol-src/natded.prolog  /^add_active([],Cat,Goal):-$/
-add_command_key        c-src/emacs/src/keyboard.c      /^add_command_key (Lisp_Object key)$/
-add_edge       prol-src/natded.prolog  /^add_edge(Left,Right,Cat):-$/
-add_node       c-src/etags.c   /^add_node (node *np, node **cur_node_p)$/
-add_regex      c-src/etags.c   /^add_regex (char *regexp_pattern, language *lang)$/
-add_user_signal        c-src/emacs/src/keyboard.c      /^add_user_signal (int sig, const char *name)$/
-addnoise       html-src/algrthms.html  /^Adding Noise to the$/
-address        y-src/cccp.y    113
-adjust_point_for_property      c-src/emacs/src/keyboard.c      /^adjust_point_for_property (ptrdiff_t last_pt, bool/
-agent  cp-src/clheir.hpp       75
-algorithms     html-src/algrthms.html  /^Description$/
-alias  c-src/emacs/src/lisp.h  688
-align  c-src/emacs/src/gmalloc.c       /^align (size_t size)$/
-alignas        c-src/emacs/src/lisp.h  /^# define alignas(alignment) \/* empty *\/$/
-aligned        c-src/emacs/src/gmalloc.c       199
-aligned_alloc  c-src/emacs/src/gmalloc.c       /^aligned_alloc (size_t alignment, size_t size)$/
-aligned_alloc  c-src/emacs/src/gmalloc.c       1718
-aligned_alloc  c-src/emacs/src/gmalloc.c       71
-alignlist      c-src/emacs/src/gmalloc.c       196
-alive  cp-src/conway.hpp       7
-all_kboards    c-src/emacs/src/keyboard.c      86
-allocate_kboard        c-src/emacs/src/keyboard.c      /^allocate_kboard (Lisp_Object type)$/
-allocated      c-src/emacs/src/regex.h 344
-an_extern_linkage      c-src/h.h       44
-an_extern_linkage      c-src/h.h       56
-an_extern_linkage_ptr  c-src/h.h       43
-analyze_regex  c-src/etags.c   /^analyze_regex (char *regex_arg)$/
-andkeyvalseq   prol-src/natded.prolog  /^andkeyvalseq(KeyVals) --> ['&'], keyvalseq(KeyVals/
-animals        c-src/h.h       81
-animals        cp-src/c.C      126
-animals        cp-src/c.C      130
-any_kboard_state       c-src/emacs/src/keyboard.c      /^any_kboard_state ()$/
-appDidInit     objcpp-src/SimpleCalc.M /^- appDidInit:sender$/
-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([],[]).$/
-append_string  pas-src/common.pas      /^procedure append_string;(*($/
-append_tool_bar_item   c-src/emacs/src/keyboard.c      /^append_tool_bar_item (void)$/
-appendix       perl-src/htlmify-cystic 24
-appendix_name  perl-src/htlmify-cystic 13
-appendix_toc   perl-src/htlmify-cystic 16
-apply_modifiers        c-src/emacs/src/keyboard.c      /^apply_modifiers (int modifiers, Lisp_Object base)$/
-apply_modifiers_uncached       c-src/emacs/src/keyboard.c      /^apply_modifiers_uncached (int modifiers, char *bas/
-aref_addr      c-src/emacs/src/lisp.h  /^aref_addr (Lisp_Object array, ptrdiff_t idx)$/
-arg    c-src/emacs/src/lisp.h  2961
-arg    c-src/emacs/src/lisp.h  2966
-arg    c-src/emacs/src/lisp.h  2971
-arg    c-src/h.h       13
-arg_type       c-src/etags.c   250
-arglist        y-src/cccp.y    41
-argno  y-src/cccp.y    45
-args   c-src/emacs/src/lisp.h  2986
-args   c-src/h.h       30
-argsindent     tex-src/texinfo.tex     /^\\dimen1=\\hsize \\advance \\dimen1 by -\\defargsindent/
-argsindent     tex-src/texinfo.tex     /^\\newskip\\defargsindent \\defargsindent=50pt$/
-argsindent     tex-src/texinfo.tex     /^\\parshape 2 0in \\dimen0 \\defargsindent \\dimen1    /
-argument       c-src/etags.c   253
-argvals        prol-src/natded.prolog  /^argvals([]) --> [].$/
-array  c.c     190
-ascii  c-src/emacs/src/lisp.h  1598
-asort  cp-src/functions.cpp    /^void asort(int *a, int num){$/
-assemby-code-word      forth-src/test-forth.fth        /^code assemby-code-word ( dunno what it does )$/
-assert c-src/etags.c   /^# define assert(x) ((void) 0)$/
-assert c-src/etags.c   135
-assign_neighbor        cp-src/clheir.hpp       /^    void assign_neighbor(int direction, location */
-assoc_list     merc-src/accumulator.m  /^:- import_module assoc_list.$/
-associativity_assertion        merc-src/accumulator.m  /^:- pred associativity_assertion(module_info::in, l/
-at_end c-src/etags.c   249
-at_filename    c-src/etags.c   247
-at_language    c-src/etags.c   245
-at_least_one_member    prol-src/natded.prolog  /^at_least_one_member(X,[X|_]):-!.$/
-at_regexp      c-src/etags.c   246
-at_stdin       c-src/etags.c   248
-atom   prol-src/natded.prolog  /^atom(X) --> [X], {atomic(X)}.$/
-atomval        prol-src/natded.prolog  /^atomval(X) --> atom(X).$/
-aultparindent  tex-src/texinfo.tex     /^\\newdimen\\defaultparindent \\defaultparindent = 15p/
-aultparindent  tex-src/texinfo.tex     /^\\parindent = \\defaultparindent$/
-aultparindent\hang\textindent  tex-src/texinfo.tex     /^\\footstrut\\parindent=\\defaultparindent\\hang\\textin/
-auto_help      c-src/etags.c   699
-b      c-src/h.h       103
-b      c-src/h.h       104
-b      c-src/h.h       41
-b      c.c     /^b ()$/
-b      c.c     180
-b      c.c     259
-b      c.c     260
-b      c.c     262
-b      cp-src/c.C      132
-b      ruby-src/test1.ru       /^ def b()$/
-backslash=0    tex-src/texinfo.tex     /^\\let\\indexbackslash=0  %overridden during \\printin/
-bar    c-src/c.c       /^void bar() {while(0) {}}$/
-bar    c-src/h.h       19
-bar    c.c     143
-bar    cp-src/x.cc     /^XX::bar()$/
-bar1   ruby-src/test1.ru       /^    attr_reader(:foo1, :bar1, # comment$/
-bar=   ruby-src/test1.ru       /^    attr_writer :bar,$/
-bas_syn        prol-src/natded.prolog  /^bas_syn(n(_)).$/
-base   c-src/emacs/src/lisp.h  2188
-base   cp-src/Range.h  /^  double base (void) const { return rng_base;  }$/
-base   cp-src/c.C      /^double base (void) const { return rng_base;  }$/
-base_case_ids  merc-src/accumulator.m  /^:- func base_case_ids(accu_goal_store) = list(accu/
-base_case_ids_set      merc-src/accumulator.m  /^:- func base_case_ids_set(accu_goal_store) = set(a/
-baz=   ruby-src/test1.ru       /^                :baz,$/
-bb     c.c     275
-bbb    c.c     251
-bbbbbb c-src/h.h       113
-been_warned    c-src/etags.c   222
-before_command_echo_length     c-src/emacs/src/keyboard.c      130
-before_command_key_count       c-src/emacs/src/keyboard.c      129
-begtoken       c-src/etags.c   /^#define       begtoken(c)     (_btk[CHAR (c)]) \/* c can star/
-behaviour_info erl-src/gs_dialog.erl   /^behaviour_info(callbacks) ->$/
-bf=cmbx10      tex-src/texinfo.tex     /^\\font\\defbf=cmbx10 scaled \\magstep1 %was 1314$/
-bind   pyt-src/server.py       /^    def bind(self, key, action):$/
-bind_polling_period    c-src/emacs/src/keyboard.c      /^bind_polling_period (int n)$/
-bits_word      c-src/emacs/src/lisp.h  123
-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)$/
-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     /^\\advance\\dimen2 by -\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\dimen3 by -\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\leftskip by -\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\leftskip by \\defbodyindent \\advance \\righ/
-bodyindent     tex-src/texinfo.tex     /^\\exdentamount=\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\newskip\\defbodyindent \\defbodyindent=.4in$/
-bool   c.c     222
-bool   merc-src/accumulator.m  /^:- import_module bool.$/
-bool_header_size       c-src/emacs/src/lisp.h  1472
-bool_vector_bitref     c-src/emacs/src/lisp.h  /^bool_vector_bitref (Lisp_Object a, EMACS_INT i)$/
-bool_vector_bytes      c-src/emacs/src/lisp.h  /^bool_vector_bytes (EMACS_INT size)$/
-bool_vector_data       c-src/emacs/src/lisp.h  /^bool_vector_data (Lisp_Object a)$/
-bool_vector_ref        c-src/emacs/src/lisp.h  /^bool_vector_ref (Lisp_Object a, EMACS_INT i)$/
-bool_vector_set        c-src/emacs/src/lisp.h  /^bool_vector_set (Lisp_Object a, EMACS_INT i, bool /
-bool_vector_size       c-src/emacs/src/lisp.h  /^bool_vector_size (Lisp_Object a)$/
-bool_vector_uchar_data c-src/emacs/src/lisp.h  /^bool_vector_uchar_data (Lisp_Object a)$/
-bool_vector_words      c-src/emacs/src/lisp.h  /^bool_vector_words (EMACS_INT size)$/
-boolvar        c-src/emacs/src/lisp.h  2287
-bracelev       c-src/etags.c   2520
-bsp_DevId      c-src/h.h       25
-bt     c-src/emacs/src/lisp.h  2988
-btowc  c-src/emacs/src/regex.h /^# define btowc(c) c$/
-buffer c-src/emacs/src/lisp.h  2000
-buffer c-src/emacs/src/regex.h 341
-buffer c-src/etags.c   238
-buffer c-src/h.h       119
-build  prol-src/natded.prolog  /^build([],Left,Left).$/
-build_pure_c_string    c-src/emacs/src/lisp.h  /^build_pure_c_string (const char *str)$/
-build_string   c-src/emacs/src/lisp.h  /^build_string (const char *str)$/
-buildact       prol-src/natded.prolog  /^buildact([SynIn],Right,RightPlus1):-$/
-builtin_lisp_symbol    c-src/emacs/src/lisp.h  /^builtin_lisp_symbol (int index)$/
-burst  c-src/h.h       28
-busy   c-src/emacs/src/gmalloc.c       158
-button_down_location   c-src/emacs/src/keyboard.c      5210
-button_down_time       c-src/emacs/src/keyboard.c      5218
-byte_stack     c-src/emacs/src/lisp.h  3049
-bytecode_dest  c-src/emacs/src/lisp.h  3037
-bytecode_top   c-src/emacs/src/lisp.h  3036
-bytepos        c-src/emacs/src/lisp.h  2016
-bytes_free     c-src/emacs/src/gmalloc.c       314
-bytes_total    c-src/emacs/src/gmalloc.c       310
-bytes_used     c-src/emacs/src/gmalloc.c       312
-c      c-src/h.h       /^#define c() d$/
-c      c-src/h.h       106
-c      c.c     180
-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
-calculate_goal_info    merc-src/accumulator.m  /^:- pred calculate_goal_info(hlds_goal_expr::in, hl/
-calloc c-src/emacs/src/gmalloc.c       /^calloc (size_t nmemb, size_t size)$/
-calloc c-src/emacs/src/gmalloc.c       1717
-calloc c-src/emacs/src/gmalloc.c       66
-calloc c-src/emacs/src/gmalloc.c       70
-can_be_null    c-src/emacs/src/regex.h 370
-cancel_echoing c-src/emacs/src/keyboard.c      /^cancel_echoing (void)$/
-canonicalize_filename  c-src/etags.c   /^canonicalize_filename (register char *fn)$/
-case_Lisp_Int  c-src/emacs/src/lisp.h  438
-cat    c-src/h.h       81
-cat    cp-src/c.C      126
-cat    cp-src/c.C      130
-cat    prol-src/natded.prolog  /^cat(A, Alpha@Beta, Ass3, Qs3, tree(fe,A:Alpha@Beta/
-cat_atoms      prol-src/natded.prolog  /^cat_atoms(A1,A2,A3):-$/
-cccccccccc     c-src/h.h       115
-cdr    c-src/emacs/src/lisp.h  1159
-cell   y-src/parse.y   279
-cgrep  html-src/software.html  /^cgrep$/
-chain  c-src/emacs/src/lisp.h  1162
-chain  c-src/emacs/src/lisp.h  2206
-chain  c-src/emacs/src/lisp.h  2396
-chain_subst    merc-src/accumulator.m  /^:- func chain_subst(accu_subst, accu_subst) = accu/
-chain_subst_2  merc-src/accumulator.m  /^:- pred chain_subst_2(list(A)::in, map(A, B)::in, /
-char_bits      c-src/emacs/src/lisp.h  2443
-char_table_specials    c-src/emacs/src/lisp.h  1692
-charpos        c-src/emacs/src/lisp.h  2011
-charset_unibyte        c-src/emacs/src/regex.h 410
-chartonmstr    pas-src/common.pas      /^function chartonmstr; (*($/
-checkQuotation php-src/lce_functions.php       /^      function checkQuotation($str)$/
-check_cons_list        c-src/emacs/src/lisp.h  /^#  define check_cons_list() lisp_h_check_cons_list/
-checker        make-src/Makefile       /^checker:$/
-checkhdr       c-src/emacs/src/gmalloc.c       /^checkhdr (const struct hdr *hdr)$/
-checkiso       html-src/software.html  /^checkiso$/
-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
-class_method   ruby-src/test.rb        /^        def ClassExample.class_method$/
-classifyLine   php-src/lce_functions.php       /^      function classifyLine($line)$/
-clean  make-src/Makefile       /^clean:$/
-clear  cp-src/conway.hpp       /^    void clear(void) { alive = 0; }$/
-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/
-clearAllKey    objcpp-src/SimpleCalc.M /^- clearAllKey:sender$/
-clearKey       objcpp-src/SimpleCalc.M /^- clearKey:sender$/
-clear_event    c-src/emacs/src/keyboard.c      /^clear_event (struct input_event *event)$/
-clear_input_pending    c-src/emacs/src/keyboard.c      /^clear_input_pending (void)$/
-clear_neighbors        cp-src/clheir.cpp       /^void discrete_location::clear_neighbors(void)$/
-clear_screen   cp-src/screen.cpp       /^void clear_screen(void)$/
-clear_waiting_for_input        c-src/emacs/src/keyboard.c      /^clear_waiting_for_input (void)$/
-cmd_error      c-src/emacs/src/keyboard.c      /^cmd_error (Lisp_Object data)$/
-cmd_error_internal     c-src/emacs/src/keyboard.c      /^cmd_error_internal (Lisp_Object data, const char */
-cmpfn  c-src/emacs/src/lisp.h  /^  bool (*cmpfn) (struct hash_table_test *t, Lisp_O/
-cmt    prol-src/natded.prolog  /^cmt:-$/
-cname  c-src/etags.c   2519
-cno    c-src/etags.c   224
-colori cp-src/c.C      40
-commaargvals   prol-src/natded.prolog  /^commaargvals(Args) -->$/
-command        c-src/etags.c   187
-command-error-default-function c-src/emacs/src/keyboard.c      /^DEFUN ("command-error-default-function", Fcommand_/
-command_loop   c-src/emacs/src/keyboard.c      /^command_loop (void)$/
-command_loop_1 c-src/emacs/src/keyboard.c      /^command_loop_1 (void)$/
-command_loop_2 c-src/emacs/src/keyboard.c      /^command_loop_2 (Lisp_Object ignore)$/
-command_loop_level     c-src/emacs/src/keyboard.c      195
-comment        php-src/lce_functions.php       /^      function comment($line, $class)$/
-commutativity_assertion        merc-src/accumulator.m  /^:- pred commutativity_assertion(module_info::in,li/
-compile_empty  prol-src/natded.prolog  /^compile_empty:-$/
-compile_lex    prol-src/natded.prolog  /^compile_lex(File):-$/
-complete       prol-src/natded.prolog  /^complete(Cat):-$/
-complete-tag   el-src/emacs/lisp/progmodes/etags.el    /^(defun complete-tag ()$/
-compressor     c-src/etags.c   188
-compressors    c-src/etags.c   457
-compute_next_state     cp-src/clheir.hpp       /^    virtual void compute_next_state(void) { }$/
-compute_next_state     cp-src/conway.hpp       /^    void compute_next_state(void)$/
-conalgorithm   html-src/algrthms.html  /^Convolutionally$/
-concat c-src/etags.c   /^concat (const char *s1, const char *s2, const char/
-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/emacs/src/lisp.h  668
-constant       c-src/h.h       29
-constant       y-src/cccp.y    112
-constant_args  c-src/h.h       27
-constype       c-src/emacs/src/lisp.h  3739
-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
-count  c-src/emacs/src/lisp.h  1863
-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)$/
-counter        cp-src/c.C      33
-counter        cp-src/c.C      36
-cow    cp-src/c.C      127
-cow    cp-src/c.C      131
-cplpl  c-src/etags.c   2935
-create-bar     forth-src/test-forth.fth        /^: create-bar foo ;$/
-createPOEntries        php-src/lce_functions.php       /^      function createPOEntries()$/
-createWidgets  pyt-src/server.py       /^    def createWidgets(self):$/
-createWidgets  pyt-src/server.py       /^    def createWidgets(self, host):$/
-create_acc_call        merc-src/accumulator.m  /^:- func create_acc_call(hlds_goal::in(goal_plain_c/
-create_acc_goal        merc-src/accumulator.m  /^:- pred create_acc_goal(hlds_goal::in, accu_substs/
-create_new_base_goals  merc-src/accumulator.m  /^:- func create_new_base_goals(set(accu_goal_id), a/
-create_new_orig_recursive_goals        merc-src/accumulator.m  /^:- func create_new_orig_recursive_goals(set(accu_g/
-create_new_recursive_goals     merc-src/accumulator.m  /^:- func create_new_recursive_goals(set(accu_goal_i/
-create_new_var merc-src/accumulator.m  /^:- pred create_new_var(prog_var::in, string::in, p/
-create_orig_goal       merc-src/accumulator.m  /^:- pred create_orig_goal(hlds_goal::in, accu_subst/
-cscInitTime    cp-src/c.C      7
-cscSegmentationTime    cp-src/c.C      8
-cstack c-src/etags.c   2523
-ctags  make-src/Makefile       /^ctags: etags.c ${OBJS}$/
-curlb  c-src/etags.c   2929
-curlinepos     c-src/etags.c   2931
-current-idle-time      c-src/emacs/src/keyboard.c      /^DEFUN ("current-idle-time", Fcurrent_idle_time, Sc/
-current-input-mode     c-src/emacs/src/keyboard.c      /^DEFUN ("current-input-mode", Fcurrent_input_mode, /
-current_kboard c-src/emacs/src/keyboard.c      85
-current_lb_is_new      c-src/etags.c   2926
-curry-test     scm-src/test.scm        /^(define (((((curry-test a) b) c) d) e)$/
-cursor_position        cp-src/screen.cpp       /^void cursor_position(void)$/
-cursor_x       cp-src/screen.cpp       15
-cursor_y       cp-src/screen.cpp       15
-d      c-src/emacs/src/lisp.h  4673
-d      c-src/emacs/src/lisp.h  4679
-d      c.c     180
-data   c-src/emacs/src/lisp.h  1395
-data   c-src/emacs/src/lisp.h  2129
-data   c-src/emacs/src/lisp.h  2395
-ddefineseen    c-src/etags.c   2462
-debian-bug     html-src/software.html  /^debian-bug.el$/
-debug_on_exit  c-src/emacs/src/lisp.h  2984
-decimalKey     objcpp-src/SimpleCalc.M /^- decimalKey:sender$/
-declared_special       c-src/emacs/src/lisp.h  676
-decode_timer   c-src/emacs/src/keyboard.c      /^decode_timer (Lisp_Object timer, struct timespec */
-def    c-src/h.h       35
-def    c-src/h.h       38
-defalt c-src/emacs/src/lisp.h  1585
-default-tags-table-function    el-src/emacs/lisp/progmodes/etags.el    /^(defvar default-tags-table-function nil$/
-default_C_entries      c-src/etags.c   /^default_C_entries (FILE *inf)$/
-default_C_help c-src/etags.c   515
-default_C_help c-src/etags.c   523
-default_C_suffixes     c-src/etags.c   512
-defcell        c-src/emacs/src/lisp.h  2351
-define-abbrev  c-src/abbrev.c  /^DEFUN ("define-abbrev", Fdefine_abbrev, Sdefine_ab/
-define-abbrev-table    c-src/abbrev.c  /^DEFUN ("define-abbrev-table", Fdefine_abbrev_table/
-define-global-abbrev   c-src/abbrev.c  /^DEFUN ("define-global-abbrev", Fdefine_global_abbr/
-define-mode-abbrev     c-src/abbrev.c  /^DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev, /
-defined_GC_CHECK_STRING_BYTES  c-src/emacs/src/lisp.h  4663
-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$/
-deleteItem     pyt-src/server.py       /^    def deleteItem(self):$/
-delete_kboard  c-src/emacs/src/keyboard.c      /^delete_kboard (KBOARD *kb)$/
-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)$/
-depth  c-src/emacs/src/lisp.h  1618
-derived_analyses       prol-src/natded.prolog  /^derived_analyses([],[]).$/
-describe_abbrev        c-src/abbrev.c  /^describe_abbrev (sym, stream)$/
-detect_input_pending   c-src/emacs/src/keyboard.c      /^detect_input_pending (void)$/
-detect_input_pending_ignore_squeezables        c-src/emacs/src/keyboard.c      /^detect_input_pending_ignore_squeezables (void)$/
-detect_input_pending_run_timers        c-src/emacs/src/keyboard.c      /^detect_input_pending_run_timers (bool do_display)$/
-dialog_loop    erl-src/gs_dialog.erl   /^dialog_loop(Module, Window, Frame, Extra, Args) ->/
-dignorerest    c-src/etags.c   2463
-discard-input  c-src/emacs/src/keyboard.c      /^DEFUN ("discard-input", Fdiscard_input, Sdiscard_i/
-discard_mouse_events   c-src/emacs/src/keyboard.c      /^discard_mouse_events (void)$/
-discrete_location      cp-src/clheir.hpp       /^    discrete_location(int xi, int yi, int zi):$/
-discrete_location      cp-src/clheir.hpp       56
-display        cp-src/conway.cpp       /^void display(void)$/
-disposetextstring      pas-src/common.pas      /^procedure disposetextstring;(*($/
-dnone  c-src/etags.c   2460
-doc    c-src/emacs/src/lisp.h  1689
-dog    c-src/h.h       81
-dog    cp-src/c.C      126
-dog    cp-src/c.C      130
-dotfill        tex-src/texinfo.tex     /^  \\null\\nobreak\\indexdotfill % Have leaders before/
-dotfill        tex-src/texinfo.tex     /^\\noindent\\hskip\\secondaryindent\\hbox{#1}\\indexdotf/
-double_click_count     c-src/emacs/src/keyboard.c      5222
-drag_n_drop_syms       c-src/emacs/src/keyboard.c      4629
-dribble        c-src/emacs/src/keyboard.c      236
-dsharpseen     c-src/etags.c   2461
-dummies        tex-src/texinfo.tex     /^{\\indexdummies % Must do this here, since \\bf, etc/
-dummy1 cp-src/burton.cpp       /^::dummy::dummy test::dummy1(void)$/
-dummy2 cp-src/burton.cpp       /^::dummy::dummy test::dummy2(::CORBA::Long dummy)$/
-dummy3 cp-src/burton.cpp       /^::dummy::dummy test::dummy3(char* name, ::CORBA::L/
-dummydots      tex-src/texinfo.tex     /^\\let\\dots=\\indexdummydots$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\b=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\code=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\emph=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\file=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\i=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\kbd=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\key=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\r=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\samp=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\sc=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\strong=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\t=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\tclose=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\var=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\w=\\indexdummyfont$/
-dummytex       tex-src/texinfo.tex     /^\\let\\TeX=\\indexdummytex$/
-dump   pyt-src/server.py       /^    def dump(self, folded):$/
-eabs   c-src/emacs/src/lisp.h  /^#define eabs(x)         ((x) < 0 ? -(x) : (x))$/
-eassert        c-src/emacs/src/lisp.h  /^# define eassert(cond)                                                \\$/
-eassert        c-src/emacs/src/lisp.h  /^# define eassert(cond) ((void) (false && (cond))) /
-eassume        c-src/emacs/src/lisp.h  /^# define eassume(cond)                                                \\$/
-eassume        c-src/emacs/src/lisp.h  /^# define eassume(cond) assume (cond)$/
-eax    c-src/sysdep.h  31
-eax    c-src/sysdep.h  33
-echo_add_key   c-src/emacs/src/keyboard.c      /^echo_add_key (Lisp_Object c)$/
-echo_char      c-src/emacs/src/keyboard.c      /^echo_char (Lisp_Object c)$/
-echo_dash      c-src/emacs/src/keyboard.c      /^echo_dash (void)$/
-echo_kboard    c-src/emacs/src/keyboard.c      166
-echo_keystrokes_p      c-src/emacs/src/keyboard.c      /^echo_keystrokes_p (void)$/
-echo_length    c-src/emacs/src/keyboard.c      /^echo_length (void)$/
-echo_message_buffer    c-src/emacs/src/keyboard.c      171
-echo_now       c-src/emacs/src/keyboard.c      /^echo_now (void)$/
-echo_truncate  c-src/emacs/src/keyboard.c      /^echo_truncate (ptrdiff_t nchars)$/
-echoing        c-src/emacs/src/keyboard.c      154
-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)$/
-emacs_abort    c-src/emacs/src/lisp.h  /^extern _Noreturn void emacs_abort (void) NO_INLINE/
-end    c-src/emacs/src/keyboard.c      8753
-end    c-src/emacs/src/lisp.h  2039
-end    c-src/emacs/src/regex.h 432
-endtoken       c-src/etags.c   /^#define       endtoken(c)     (_etk[CHAR (c)]) \/* c ends tok/
-enter_critical_section c-src/h.h       116
-entry  perl-src/htlmify-cystic 218
-entry  perl-src/htlmify-cystic 234
-entry  perl-src/htlmify-cystic 245
-entry  perl-src/htlmify-cystic 252
-entry  perl-src/htlmify-cystic 268
-entry  perl-src/htlmify-cystic 276
-entry  perl-src/htlmify-cystic 281
-entry  perl-src/htlmify-cystic 296
-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)$/
-erlang_func    c-src/etags.c   /^erlang_func (char *s, char *last)$/
-error  c-src/emacs/src/lisp.h  /^extern _Noreturn void error (const char *, ...) AT/
-error  c-src/etags.c   /^error (const char *format, ...)$/
-error  c-src/etags.c   /^static void error (const char *, ...) ATTRIBUTE_FO/
-error  y-src/cccp.y    /^error (msg)$/
-error_signaled c-src/etags.c   264
-etags  el-src/emacs/lisp/progmodes/etags.el    /^(defgroup etags nil "Tags tables."$/
-etags  html-src/software.html  /^Etags$/
-etags  make-src/Makefile       /^etags: etags.c ${OBJS}$/
-etags--xref-find-definitions   el-src/emacs/lisp/progmodes/etags.el    /^(defun etags--xref-find-definitions (pattern &opti/
-etags--xref-limit      el-src/emacs/lisp/progmodes/etags.el    /^(defconst etags--xref-limit 1000)$/
-etags-file-of-tag      el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-file-of-tag (&optional relative) ; Do/
-etags-goto-tag-location        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-goto-tag-location (tag-info)$/
-etags-list-tags        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-list-tags (file) ; Doc string?$/
-etags-recognize-tags-table     el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-recognize-tags-table ()$/
-etags-snarf-tag        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-snarf-tag (&optional use-explicit) ; /
-etags-tags-apropos     el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-apropos (string) ; Doc string?$/
-etags-tags-apropos-additional  el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-apropos-additional (regexp)$/
-etags-tags-completion-table    el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-completion-table () ; Doc string/
-etags-tags-included-tables     el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-included-tables () ; Doc string?/
-etags-tags-table-files el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-table-files () ; Doc string?$/
-etags-verify-tags-table        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-verify-tags-table ()$/
-etags-xref-find        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-xref-find (action id)$/
-etags-xref-find-definitions-tag-order  el-src/emacs/lisp/progmodes/etags.el    /^(defvar etags-xref-find-definitions-tag-order '(ta/
-etags.1.man    make-src/Makefile       /^etags.1.man: etags.1$/
-etags_getcwd   c-src/etags.c   /^etags_getcwd (void)$/
-eval_dyn       c-src/emacs/src/keyboard.c      /^eval_dyn (Lisp_Object form)$/
-event-convert-list     c-src/emacs/src/keyboard.c      /^DEFUN ("event-convert-list", Fevent_convert_list, /
-event-symbol-parse-modifiers   c-src/emacs/src/keyboard.c      /^DEFUN ("internal-event-symbol-parse-modifiers", Fe/
-event_head     c-src/emacs/src/keyboard.c      11021
-event_to_kboard        c-src/emacs/src/keyboard.c      /^event_to_kboard (struct input_event *event)$/
-exact  c-src/emacs/src/gmalloc.c       200
-execute        cp-src/c.C      /^        void execute(CPluginCSCState& p, int w, in/
-exit   c-src/exit.c    /^DEFUN(exit, (status), int status)$/
-exit   c-src/exit.strange_suffix       /^DEFUN(exit, (status), int status)$/
-exit-recursive-edit    c-src/emacs/src/keyboard.c      /^DEFUN ("exit-recursive-edit", Fexit_recursive_edit/
-exit_critical_to_previous      c-src/h.h       117
-exp    y-src/atest.y   2
-exp    y-src/cccp.y    156
-exp    y-src/cccp.y    185
-exp    y-src/parse.y   95
-exp1   y-src/cccp.y    148
-exp_list       y-src/parse.y   263
-expand-abbrev  c-src/abbrev.c  /^DEFUN ("expand-abbrev", Fexpand_abbrev, Sexpand_ab/
-expandmng      prol-src/natded.prolog  /^expandmng(var(V),var(V)).$/
-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-/
-expression_value       y-src/cccp.y    68
-extras c-src/emacs/src/lisp.h  1603
-extvar c-src/h.h       109
-f      c-src/c.c       /^T f(){if(x){}$/
-f      c-src/h.h       89
-f      c.c     /^int f$/
-f      c.c     145
-f      c.c     156
-f      c.c     168
-f      cp-src/c.C      /^     void f() {}$/
-f      cp-src/c.C      /^  int f(){return 0;};         \/\/ first comment$/
-f      cp-src/c.C      /^A<float,B<int> > A<B<float>,int>::f(A<int>* x) {}$/
-f      cp-src/c.C      /^A<int>* f() {}$/
-f      cp-src/c.C      /^class B<int> { void f() {} };$/
-f      cp-src/c.C      /^int A<int>::f(A<int>* x) {}$/
-f      cp-src/c.C      /^int f(A<int> x) {}$/
-f      cp-src/fail.C   /^              int f() { return 5; }$/
-f      cp-src/fail.C   /^int A::B::f() { return 2; }$/
-f1     c.c     /^     f1 () { \/* Do something. *\/; }$/
-f1     perl-src/kai-test.pl    /^sub f1 {$/
-f2     c.c     /^void f2 () { \/* Do something. *\/; }$/
-f2     perl-src/kai-test.pl    /^sub main::f2 {$/
-f3     perl-src/kai-test.pl    /^sub f3 {$/
-f4     perl-src/kai-test.pl    /^sub Bar::f4 {$/
-f5     perl-src/kai-test.pl    /^sub f5 {$/
-f6     perl-src/kai-test.pl    /^sub f6 {$/
-f7     perl-src/kai-test.pl    /^sub f7 {$/
-fast_string_match_ignore_case  c-src/emacs/src/lisp.h  /^fast_string_match_ignore_case (Lisp_Object regexp,/
-fastctags      make-src/Makefile       /^fastctags:$/
-fastetags      make-src/Makefile       /^fastetags:$/
-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));$/
-fconst forth-src/test-forth.fth        /^3.1415e fconstant fconst$/
-fdHandler      objc-src/Subprocess.m   /^- fdHandler:(int)theFd$/
-fdHandler      objc-src/Subprocess.m   /^fdHandler (int theFd, id self)$/
-fdefunkey      c-src/etags.c   2409
-fdefunname     c-src/etags.c   2410
-fdesc  c-src/etags.c   201
-fdesc  c-src/etags.c   212
-fdp    c-src/etags.c   217
-ff     cp-src/c.C      /^  int ff(){return 1;};$/
-field_of_play  cp-src/conway.cpp       18
-fignore        c-src/etags.c   2416
-file-of-tag    el-src/emacs/lisp/progmodes/etags.el    /^(defun file-of-tag (&optional relative)$/
-file-of-tag-function   el-src/emacs/lisp/progmodes/etags.el    /^(defvar file-of-tag-function nil$/
-fileJoin       php-src/lce_functions.php       /^  function fileJoin()$/
-file_end       perl-src/htlmify-cystic /^sub file_end ()$/
-file_index     perl-src/htlmify-cystic 33
-file_tocs      perl-src/htlmify-cystic 30
-filename_is_absolute   c-src/etags.c   /^filename_is_absolute (char *fn)$/
-filenames      c-src/etags.c   196
-find-tag       el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag (tagname &optional next-p regexp-p/
-find-tag-default-function      el-src/emacs/lisp/progmodes/etags.el    /^(defcustom find-tag-default-function nil$/
-find-tag-history       el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-history nil) ; Doc string?$/
-find-tag-hook  el-src/emacs/lisp/progmodes/etags.el    /^(defcustom find-tag-hook nil$/
-find-tag-in-order      el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-in-order (pattern$/
-find-tag-interactive   el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-interactive (prompt &optional no-d/
-find-tag-marker-ring   el-src/emacs/lisp/progmodes/etags.el    /^(defvaralias 'find-tag-marker-ring 'xref--marker-r/
-find-tag-marker-ring-length    el-src/emacs/lisp/progmodes/etags.el    /^(define-obsolete-variable-alias 'find-tag-marker-r/
-find-tag-next-line-after-failure-p     el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-next-line-after-failure-p nil$/
-find-tag-noselect      el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-noselect (tagname &optional next-p/
-find-tag-other-frame   el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-other-frame (tagname &optional nex/
-find-tag-other-window  el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-other-window (tagname &optional ne/
-find-tag-regexp        el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-regexp (regexp &optional next-p ot/
-find-tag-regexp-next-line-after-failure-p      el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-regexp-next-line-after-failure-p /
-find-tag-regexp-search-function        el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-regexp-search-function nil$/
-find-tag-regexp-tag-order      el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-regexp-tag-order nil$/
-find-tag-search-function       el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-search-function nil$/
-find-tag-tag   el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-tag (string)$/
-find-tag-tag-order     el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-tag-order nil$/
-find_entries   c-src/etags.c   /^find_entries (FILE *inf)$/
-find_user_signal_name  c-src/emacs/src/keyboard.c      /^find_user_signal_name (int sig)$/
-findcats       prol-src/natded.prolog  /^findcats([],Left,Left).$/
-finish_appendices      perl-src/htlmify-cystic /^sub finish_appendices ()$/
-finish_sections        perl-src/htlmify-cystic /^sub finish_sections ()$/
-finish_subsections     perl-src/htlmify-cystic /^sub finish_subsections ()$/
-finish_subsubsections  perl-src/htlmify-cystic /^sub finish_subsubsections ()$/
-finlist        c-src/etags.c   2414
-first  c-src/emacs/src/gmalloc.c       151
-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):$/
-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   68
-focus_set      pyt-src/server.py       /^    def focus_set(self):$/
-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/
-foo    c-src/h.h       18
-foo    c.c     150
-foo    c.c     166
-foo    c.c     167
-foo    c.c     178
-foo    c.c     189
-foo    cp-src/c.C      /^    foo() {$/
-foo    cp-src/c.C      68
-foo    cp-src/c.C      79
-foo    cp-src/x.cc     /^XX::foo()$/
-foo    f-src/entry.for /^       character*(*) function foo()$/
-foo    f-src/entry.strange     /^       character*(*) function foo()$/
-foo    f-src/entry.strange_suffix      /^       character*(*) function foo()$/
-foo    forth-src/test-forth.fth        /^: foo (foo) ;$/
-foo    php-src/ptest.php       /^foo()$/
-foo    ruby-src/test1.ru       /^    attr_reader :foo$/
-foo!   ruby-src/test1.ru       /^    def foo!$/
-foo1   ruby-src/test1.ru       /^    attr_reader(:foo1, :bar1, # comment$/
-foo2   ruby-src/test1.ru       /^    alias_method ( :foo2, #cmmt$/
-foo==bar       el-src/TAGTEST.EL       /^(defun foo==bar () (message "hi"))  ; Bug#5624$/
-foobar c-src/c.c       /^int foobar() {;}$/
-foobar c.c     /^extern void foobar (void) __attribute__ ((section /
-foobar2        c-src/h.h       20
-foobar2_       c-src/h.h       16
-foperator      c-src/etags.c   2411
-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
-foreign_export merc-src/accumulator.m  /^:- pragma foreign_export("C", unravel_univ(in, out/
-formatSize     objc-src/PackInsp.m     /^-(const char *)formatSize:(const char *)size inBuf/
-found  c-src/emacs/src/lisp.h  2344
-fracas html-src/software.html  /^Fracas$/
-frag   c-src/emacs/src/gmalloc.c       152
-frame_local    c-src/emacs/src/lisp.h  2341
-free   c-src/emacs/src/gmalloc.c       /^free (void *ptr)$/
-free   c-src/emacs/src/gmalloc.c       166
-free   c-src/emacs/src/gmalloc.c       1719
-free   c-src/emacs/src/gmalloc.c       67
-free   c-src/emacs/src/gmalloc.c       72
-free_fdesc     c-src/etags.c   /^free_fdesc (register fdesc *fdp)$/
-free_for       prol-src/natded.prolog  /^free_for(var(_),_,_).$/
-free_regexps   c-src/etags.c   /^free_regexps (void)$/
-free_tree      c-src/etags.c   /^free_tree (register node *np)$/
-free_var       prol-src/natded.prolog  /^free_var(var(V),var(V)).$/
-freehook       c-src/emacs/src/gmalloc.c       /^freehook (void *ptr)$/
-fresh_vars     prol-src/natded.prolog  /^fresh_vars(var(V),var(V)).$/
-fstartlist     c-src/etags.c   2413
-func   c-src/emacs/src/lisp.h  /^      void (*func) (Lisp_Object);$/
-func   c-src/emacs/src/lisp.h  /^      void (*func) (int);$/
-func   c-src/emacs/src/lisp.h  /^      void (*func) (void *);$/
-func   c-src/emacs/src/lisp.h  /^      void (*func) (void);$/
-func1  c.c     /^int func1$/
-func2  c.c     /^int func2 (a,b$/
-func_key_syms  c-src/emacs/src/keyboard.c      4626
-funcboo        c.c     /^bool funcboo ()$/
-funcpointer    c-src/emacs/src/lisp.h  2126
-funcptr        c-src/h.h       /^    fu   int (*funcptr) (void *ptr);$/
-function       c-src/emacs/src/lisp.h  1685
-function       c-src/emacs/src/lisp.h  2197
-function       c-src/emacs/src/lisp.h  2985
-function       c-src/emacs/src/lisp.h  694
-function       c-src/etags.c   194
-functionp      c-src/emacs/src/lisp.h  /^functionp (Lisp_Object object)$/
-fval   forth-src/test-forth.fth        /^fconst fvalue fval$/
-fvar   forth-src/test-forth.fth        /^fvariable fvar$/
-fvdef  c-src/etags.c   2418
-fvextern       c-src/etags.c   2420
-fvnameseen     c-src/etags.c   2412
-fvnone c-src/etags.c   2408
-fwd    c-src/emacs/src/lisp.h  2346
-fwd    c-src/emacs/src/lisp.h  690
-g      cp-src/c.C      /^  int g(){return 2;};$/
-galileo        html-src/software.html  /^GaliLEO$/
-gather pyt-src/server.py       /^    def gather(self):$/
-gc_aset        c-src/emacs/src/lisp.h  /^gc_aset (Lisp_Object array, ptrdiff_t idx, Lisp_Ob/
-gcmarkbit      c-src/emacs/src/lisp.h  1974
-gcmarkbit      c-src/emacs/src/lisp.h  1981
-gcmarkbit      c-src/emacs/src/lisp.h  2035
-gcmarkbit      c-src/emacs/src/lisp.h  2113
-gcmarkbit      c-src/emacs/src/lisp.h  2204
-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_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>$/
-generate_warning       merc-src/accumulator.m  /^:- pred generate_warning(module_info::in, prog_var/
-generate_warnings      merc-src/accumulator.m  /^:- pred generate_warnings(module_info::in, prog_va/
-generic_object cp-src/clheir.cpp       /^generic_object::generic_object(void)$/
-generic_object cp-src/clheir.hpp       13
-getArchs       objc-src/PackInsp.m     /^-(void)getArchs$/
-getDomainNames php-src/lce_functions.php       /^      function getDomainNames()$/
-getFoo lua-src/test.lua        /^function Cube.data.getFoo ()$/
-getPOReader    php-src/lce_functions.php       /^      function &getPOReader($domain)$/
-getPath        objc-src/PackInsp.m     /^-(const char *)getPath:(char *)buf forType:(const /
-getPos lua-src/test.lua        /^function Circle.getPos ()$/
-getPos lua-src/test.lua        /^function Rectangle.getPos ()$/
-getTextDomains php-src/lce_functions.php       /^  function getTextDomains($lines)$/
-get_compressor_from_suffix     c-src/etags.c   /^get_compressor_from_suffix (char *file, char **ext/
-get_contiguous_space   c-src/emacs/src/gmalloc.c       /^get_contiguous_space (ptrdiff_t size, void *positi/
-get_current_dir_name   c-src/emacs/src/gmalloc.c       33
-get_input_pending      c-src/emacs/src/keyboard.c      /^get_input_pending (int flags)$/
-get_language_from_filename     c-src/etags.c   /^get_language_from_filename (char *file, int case_s/
-get_language_from_interpreter  c-src/etags.c   /^get_language_from_interpreter (char *interpreter)$/
-get_language_from_langname     c-src/etags.c   /^get_language_from_langname (const char *name)$/
-get_layer_by_name      lua-src/allegro.lua     /^local function get_layer_by_name (sprite, layer, n/
-get_tag        c-src/etags.c   /^get_tag (register char *bp, char **namepp)$/
-get_word       c-src/tab.c     /^static char           *get_word(char **str, char delim)$/
-getcjmp        c-src/emacs/src/keyboard.c      147
-getopt perl-src/yagrip.pl      /^sub getopt {$/
-getopt.o       make-src/Makefile       /^getopt.o: emacs\/lib-src\/getopt.c$/
-getopt1.o      make-src/Makefile       /^getopt1.o: emacs\/lib-src\/getopt1.c$/
-getptys        objc-src/Subprocess.m   /^getptys (int *master, int *slave)$/
-gettext        php-src/lce_functions.php       /^      function gettext($msgid)$/
-ggg    c-src/h.h       10
-ghi1   c-src/h.h       36
-ghi2   c-src/h.h       39
-giallo cp-src/c.C      40
-glider cp-src/conway.cpp       /^void glider(int x, int y)$/
-gnu    html-src/software.html  /^Free software that I wrote for the GNU project or /
-gobble_input   c-src/emacs/src/keyboard.c      /^gobble_input (void)$/
-goto-tag-location-function     el-src/emacs/lisp/progmodes/etags.el    /^(defvar goto-tag-location-function nil$/
-goto_xy        cp-src/screen.cpp       /^void goto_xy(unsigned char x, unsigned char y)$/
-handleList     pyt-src/server.py       /^    def handleList(self, event):$/
-handleNew      pyt-src/server.py       /^    def handleNew(self, event):$/
-handle_async_input     c-src/emacs/src/keyboard.c      /^handle_async_input (void)$/
-handle_input_available_signal  c-src/emacs/src/keyboard.c      /^handle_input_available_signal (int sig)$/
-handle_interrupt       c-src/emacs/src/keyboard.c      /^handle_interrupt (bool in_signal_handler)$/
-handle_interrupt_signal        c-src/emacs/src/keyboard.c      /^handle_interrupt_signal (int sig)$/
-handle_user_signal     c-src/emacs/src/keyboard.c      /^handle_user_signal (int sig)$/
-handler        c-src/emacs/src/lisp.h  3023
-handlertype    c-src/emacs/src/lisp.h  3021
-has_arg        c-src/getopt.h  82
-hash   c-src/emacs/src/lisp.h  1843
-hash   c-src/etags.c   /^hash (const char *str, int len)$/
-hash_table_test        c-src/emacs/src/lisp.h  1805
-hashfn c-src/emacs/src/lisp.h  /^  EMACS_UINT (*hashfn) (struct hash_table_test *t,/
-hdr    c-src/emacs/src/gmalloc.c       1860
-head_table     c-src/emacs/src/keyboard.c      11027
-header c-src/emacs/src/lisp.h  1371
-header c-src/emacs/src/lisp.h  1388
-header c-src/emacs/src/lisp.h  1581
-header c-src/emacs/src/lisp.h  1610
-header c-src/emacs/src/lisp.h  1672
-header c-src/emacs/src/lisp.h  1826
-header_size    c-src/emacs/src/lisp.h  1471
-heapsize       c-src/emacs/src/gmalloc.c       361
-hello  scm-src/test.scm        /^(define hello "Hello, Emacs!")$/
-hello  scm-src/test.scm        /^(set! hello "Hello, world!")$/
-hello-world    scm-src/test.scm        /^(define (hello-world)$/
-help   c-src/etags.c   193
-helpPanel      objcpp-src/SimpleCalc.M /^- helpPanel:sender$/
-help_char_p    c-src/emacs/src/keyboard.c      /^help_char_p (Lisp_Object c)$/
-help_form_saved_window_configs c-src/emacs/src/keyboard.c      2156
-helpwin        pyt-src/server.py       /^def helpwin(helpdict):$/
-hide_cursor    cp-src/screen.cpp       /^void hide_cursor(void)$/
-hlds   merc-src/accumulator.m  /^:- import_module hlds.$/
-htmltreelist   prol-src/natded.prolog  /^htmltreelist([]).$/
-hybrid_aligned_alloc   c-src/emacs/src/gmalloc.c       /^hybrid_aligned_alloc (size_t alignment, size_t siz/
-hybrid_calloc  c-src/emacs/src/gmalloc.c       /^hybrid_calloc (size_t nmemb, size_t size)$/
-hybrid_free    c-src/emacs/src/gmalloc.c       /^hybrid_free (void *ptr)$/
-hybrid_get_current_dir_name    c-src/emacs/src/gmalloc.c       /^hybrid_get_current_dir_name (void)$/
-hybrid_malloc  c-src/emacs/src/gmalloc.c       /^hybrid_malloc (size_t size)$/
-hybrid_realloc c-src/emacs/src/gmalloc.c       /^hybrid_realloc (void *ptr, size_t size)$/
-hypothetical_mem       prol-src/natded.prolog  /^hypothetical_mem(fi(N),Ass,_):-$/
-i      c-src/c.c       2
-i      c-src/emacs/src/lisp.h  4673
-i      c-src/emacs/src/lisp.h  4679
-i      c-src/emacs/src/lisp.h  567
-i      c.c     169
-i      cp-src/c.C      132
-ialpage        tex-src/texinfo.tex     /^     \\dimen@=\\pageheight \\advance\\dimen@ by-\\ht\\pa/
-ialpage        tex-src/texinfo.tex     /^  \\availdimen@=\\pageheight \\advance\\availdimen@ by/
-ialpage        tex-src/texinfo.tex     /^  \\dimen@=\\pageheight \\advance\\dimen@ by-\\ht\\parti/
-ialpage        tex-src/texinfo.tex     /^\\newbox\\partialpage$/
-ialpage=       tex-src/texinfo.tex     /^  \\output={\\global\\setbox\\partialpage=$/
-identify_goal_type     merc-src/accumulator.m  /^:- pred identify_goal_type(pred_id::in, proc_id::i/
-identify_out_and_out_prime     merc-src/accumulator.m  /^:- pred identify_out_and_out_prime(module_info::in/
-identify_recursive_calls       merc-src/accumulator.m  /^:- pred identify_recursive_calls(pred_id::in, proc/
-idx    c-src/emacs/src/lisp.h  3150
-ignore_case    c-src/etags.c   266
-ignore_mouse_drag_p    c-src/emacs/src/keyboard.c      1256
-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$/
-implementation merc-src/accumulator.m  /^:- implementation.$/
-in_word_set    c-src/etags.c   /^in_word_set (register const char *str, register un/
-inattribute    c-src/etags.c   2400
-inc    cp-src/Range.h  /^  double inc (void) const { return rng_inc;   }$/
-index  c-src/emacs/src/lisp.h  1856
-infabsdir      c-src/etags.c   206
-infabsname     c-src/etags.c   205
-infiles        make-src/Makefile       /^infiles = $(filter-out ${NONSRCS},${SRCS}) srclist/
-infname        c-src/etags.c   204
-info   c-src/emacs/src/gmalloc.c       157
-infoPanel      objcpp-src/SimpleCalc.M /^- infoPanel:sender$/
-init   c-src/etags.c   /^init (void)$/
-init   objc-src/Subprocess.m   /^    andStdErr:(BOOL)wantsStdErr$/
-init   objc-src/Subprocess.m   /^- init:(const char *)subprocessString$/
-init   objcpp-src/SimpleCalc.M /^- init$/
-init_control   c.c     239
-init_kboard    c-src/emacs/src/keyboard.c      /^init_kboard (KBOARD *kb, Lisp_Object type)$/
-init_keyboard  c-src/emacs/src/keyboard.c      /^init_keyboard (void)$/
-init_registry  cp-src/clheir.cpp       /^void init_registry(void)$/
-init_tool_bar_items    c-src/emacs/src/keyboard.c      /^init_tool_bar_items (Lisp_Object reuse)$/
-inita  c.c     /^static void inita () {}$/
-initb  c.c     /^static void initb () {}$/
-initial_kboard c-src/emacs/src/keyboard.c      84
-initialize-new-tags-table      el-src/emacs/lisp/progmodes/etags.el    /^(defun initialize-new-tags-table ()$/
-initialize_goal_store  merc-src/accumulator.m  /^:- func initialize_goal_store(list(hlds_goal), ins/
-initialize_random_junk y-src/cccp.y    /^initialize_random_junk ()$/
-input-pending-p        c-src/emacs/src/keyboard.c      /^DEFUN ("input-pending-p", Finput_pending_p, Sinput/
-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-abbrev-table-description        c-src/abbrev.c  /^DEFUN ("insert-abbrev-table-description", Finsert_/
-insertion_type c-src/emacs/src/lisp.h  1989
-insertname     pas-src/common.pas      /^function insertname;(*($/
-instance_method        ruby-src/test.rb        /^        def instance_method$/
-instance_method_equals=        ruby-src/test.rb        /^        def instance_method_equals=$/
-instance_method_exclamation!   ruby-src/test.rb        /^        def instance_method_exclamation!$/
-instance_method_question?      ruby-src/test.rb        /^        def instance_method_question?$/
-instr  y-src/parse.y   81
-instruct       c-src/etags.c   2527
-int    merc-src/accumulator.m  /^:- import_module int.$/
-intNumber      go-src/test1.go 13
-integer        c-src/emacs/src/lisp.h  2127
-integer        y-src/cccp.y    112
-integer_overflow       y-src/cccp.y    /^integer_overflow ()$/
-integertonmstr pas-src/common.pas      /^function integertonmstr; (* (TheInteger : integer)/
-intensity1     f-src/entry.for /^     & intensity1(efv,fv,svin,svquad,sfpv,maxp,val/
-intensity1     f-src/entry.strange     /^     & intensity1(efv,fv,svin,svquad,sfpv,maxp,val/
-intensity1     f-src/entry.strange_suffix      /^     & intensity1(efv,fv,svin,svquad,sfpv,maxp,val/
-interface      merc-src/accumulator.m  /^:- interface.$/
-interface_locate       c-src/c.c       /^interface_locate(void)$/
-intern c-src/emacs/src/lisp.h  /^intern (const char *str)$/
-intern_c_string        c-src/emacs/src/lisp.h  /^intern_c_string (const char *str)$/
-internal_last_event_frame      c-src/emacs/src/keyboard.c      228
-interned       c-src/emacs/src/lisp.h  672
-interpreters   c-src/etags.c   197
-interrupt_input        c-src/emacs/src/keyboard.c      328
-interrupt_input_blocked        c-src/emacs/src/keyboard.c      76
-interrupt_input_blocked        c-src/emacs/src/lisp.h  3048
-interrupts_deferred    c-src/emacs/src/keyboard.c      331
-intoken        c-src/etags.c   /^#define       intoken(c)      (_itk[CHAR (c)]) \/* c can be in/
-intspec        c-src/emacs/src/lisp.h  1688
-intvar c-src/emacs/src/lisp.h  2277
-invalidate_nodes       c-src/etags.c   /^invalidate_nodes (fdesc *badfdp, node **npp)$/
-io     merc-src/accumulator.m  /^:- import_module io.$/
-ipc3dCSC19     cp-src/c.C      6
-ipc3dChannelType       cp-src/c.C      1
-ipc3dIslandHierarchy   cp-src/c.C      1
-ipc3dLinkControl       cp-src/c.C      1
-irregular_location     cp-src/clheir.hpp       /^    irregular_location(double xi, double yi, doubl/
-irregular_location     cp-src/clheir.hpp       47
-isComment      php-src/lce_functions.php       /^      function isComment($class)$/
-isHoliday      cp-src/functions.cpp    /^bool isHoliday ( Date d ){$/
-isLeap cp-src/functions.cpp    /^bool isLeap ( int year ){$/
-is_associative_construction    merc-src/accumulator.m  /^:- pred is_associative_construction(module_info::i/
-is_curly_brace_form    c-src/h.h       54
-is_explicit    c-src/h.h       49
-is_func        c-src/etags.c   221
-is_hor_space   y-src/cccp.y    953
-is_idchar      y-src/cccp.y    948
-is_idstart     y-src/cccp.y    950
-is_muldiv_operation    cp-src/c.C      /^is_muldiv_operation(pc)$/
-is_ordset      prol-src/ordsets.prolog /^is_ordset(X) :- var(X), !, fail.$/
-is_recursive_case      merc-src/accumulator.m  /^:- pred is_recursive_case(list(hlds_goal)::in, pre/
-iso_lispy_function_keys        c-src/emacs/src/keyboard.c      5151
-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
-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
-kbd_buffer_events_waiting      c-src/emacs/src/keyboard.c      /^kbd_buffer_events_waiting (void)$/
-kbd_buffer_get_event   c-src/emacs/src/keyboard.c      /^kbd_buffer_get_event (KBOARD **kbp,$/
-kbd_buffer_nr_stored   c-src/emacs/src/keyboard.c      /^kbd_buffer_nr_stored (void)$/
-kbd_buffer_store_event c-src/emacs/src/keyboard.c      /^kbd_buffer_store_event (register struct input_even/
-kbd_buffer_store_event_hold    c-src/emacs/src/keyboard.c      /^kbd_buffer_store_event_hold (register struct input/
-kbd_buffer_store_help_event    c-src/emacs/src/keyboard.c      /^kbd_buffer_store_help_event (Lisp_Object frame, Li/
-kbd_buffer_unget_event c-src/emacs/src/keyboard.c      /^kbd_buffer_unget_event (register struct input_even/
-kbd_fetch_ptr  c-src/emacs/src/keyboard.c      297
-kbd_store_ptr  c-src/emacs/src/keyboard.c      302
-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
-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/
-keys_of_keyboard       c-src/emacs/src/keyboard.c      /^keys_of_keyboard (void)$/
-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),$/
-keyvalseq      prol-src/natded.prolog  /^keyvalseq([KeyVal|KeyVals]) --> $/
-keyword_parsing        y-src/cccp.y    73
-keywords       y-src/cccp.y    114
-keywords       y-src/cccp.y    306
-kind   c-src/emacs/src/keyboard.c      11024
-kind   c-src/h.h       46
-kset_echo_string       c-src/emacs/src/keyboard.c      /^kset_echo_string (struct kboard *kb, Lisp_Object v/
-kset_kbd_queue c-src/emacs/src/keyboard.c      /^kset_kbd_queue (struct kboard *kb, Lisp_Object val/
-kset_keyboard_translate_table  c-src/emacs/src/keyboard.c      /^kset_keyboard_translate_table (struct kboard *kb, /
-kset_last_prefix_arg   c-src/emacs/src/keyboard.c      /^kset_last_prefix_arg (struct kboard *kb, Lisp_Obje/
-kset_last_repeatable_command   c-src/emacs/src/keyboard.c      /^kset_last_repeatable_command (struct kboard *kb, L/
-kset_local_function_key_map    c-src/emacs/src/keyboard.c      /^kset_local_function_key_map (struct kboard *kb, Li/
-kset_overriding_terminal_local_map     c-src/emacs/src/keyboard.c      /^kset_overriding_terminal_local_map (struct kboard /
-kset_real_last_command c-src/emacs/src/keyboard.c      /^kset_real_last_command (struct kboard *kb, Lisp_Ob/
-kset_system_key_syms   c-src/emacs/src/keyboard.c      /^kset_system_key_syms (struct kboard *kb, Lisp_Obje/
-lang   c-src/etags.c   208
-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-tag       el-src/emacs/lisp/progmodes/etags.el    /^(defvar last-tag nil$/
-last_abbrev_point      c-src/abbrev.c  79
-last_auto_save c-src/emacs/src/keyboard.c      214
-last_heapinfo  c-src/emacs/src/gmalloc.c       402
-last_mouse_button      c-src/emacs/src/keyboard.c      5215
-last_mouse_x   c-src/emacs/src/keyboard.c      5216
-last_mouse_y   c-src/emacs/src/keyboard.c      5217
-last_non_minibuf_size  c-src/emacs/src/keyboard.c      207
-last_point_position    c-src/emacs/src/keyboard.c      217
-last_state_size        c-src/emacs/src/gmalloc.c       401
-last_undo_boundary     c-src/emacs/src/keyboard.c      1287
-lasta  c.c     272
-lastargmargin  tex-src/texinfo.tex     /^\\newskip\\deflastargmargin \\deflastargmargin=18pt$/
-lastargmargin  tex-src/texinfo.tex     /^\\setbox0=\\hbox{\\hskip \\deflastargmargin{\\rm #2}\\hs/
-lastb  c.c     278
-lb     c-src/etags.c   2923
-lbs    c-src/etags.c   2924
-lce    php-src/lce_functions.php       /^      function lce()$/
-lce_bindtextdomain     php-src/lce_functions.php       /^      function lce_bindtextdomain($d_name, $d_path/
-lce_bindtextdomain     php-src/lce_functions.php       /^      function lce_bindtextdomain($domain, $path)$/
-lce_dgettext   php-src/lce_functions.php       /^      function lce_dgettext($domain, $msgid)$/
-lce_geteditcode        php-src/lce_functions.php       /^  function lce_geteditcode($type, $name, $text, $r/
-lce_gettext    php-src/lce_functions.php       /^      function lce_gettext($msgid)$/
-lce_textdomain php-src/lce_functions.php       /^      function lce_textdomain($domain)$/
-leasqr html-src/software.html  /^Leasqr$/
-left   c-src/etags.c   216
-left_shift     y-src/cccp.y    /^left_shift (a, b)$/
-len    c-src/etags.c   237
-length c-src/etags.c   2495
-length y-src/cccp.y    113
-length y-src/cccp.y    44
-let    c-src/emacs/src/lisp.h  2981
-letter tex-src/texinfo.tex     /^  {#1}{Appendix \\appendixletter}{\\noexpand\\folio}}/
-letter tex-src/texinfo.tex     /^  {\\appendixletter}$/
-letter tex-src/texinfo.tex     /^  {\\appendixletter}{\\the\\secno}{\\the\\subsecno}{\\th/
-letter tex-src/texinfo.tex     /^\\chapmacro {#1}{Appendix \\appendixletter}%$/
-letter tex-src/texinfo.tex     /^\\gdef\\thissection{#1}\\secheading {#1}{\\appendixlet/
-letter tex-src/texinfo.tex     /^\\subsecheading {#1}{\\appendixletter}{\\the\\secno}{\\/
-letter tex-src/texinfo.tex     /^{#1}{\\appendixletter}{\\the\\secno}{\\noexpand\\folio}/
-letter tex-src/texinfo.tex     /^{#1}{\\appendixletter}{\\the\\secno}{\\the\\subsecno}{\\/
-letter:        tex-src/texinfo.tex     /^\\xdef\\thischapter{Appendix \\appendixletter: \\noexp/
-level  c-src/emacs/src/lisp.h  3153
-lex    prol-src/natded.prolog  /^lex(W,SynOut,Sem):-$/
-lexptr y-src/cccp.y    332
-libs   merc-src/accumulator.m  /^:- import_module libs.$/
-licenze        html-src/softwarelibero.html    /^Licenze d'uso di un programma$/
-limit  cp-src/Range.h  /^  double limit (void) const { return rng_limit; }$/
-line   c-src/etags.c   2493
-line   perl-src/htlmify-cystic 37
-line   y-src/parse.y   87
-lineCount      php-src/lce_functions.php       /^      function lineCount($entry)$/
-linebuffer     c-src/etags.c   239
-linebuffer_init        c-src/etags.c   /^linebuffer_init (linebuffer *lbp)$/
-linebuffer_setlen      c-src/etags.c   /^linebuffer_setlen (linebuffer *lbp, int toksize)$/
-lineno c-src/emacs/src/lisp.h  3147
-lineno c-src/etags.c   2506
-linepos        c-src/etags.c   2507
-linepos        c-src/etags.c   2922
-links  html-src/software.html  /^Links to interesting software$/
-lisp_eval_depth        c-src/emacs/src/lisp.h  3045
-lisp_h_CHECK_LIST_CONS c-src/emacs/src/lisp.h  /^#define lisp_h_CHECK_LIST_CONS(x, y) CHECK_TYPE (C/
-lisp_h_CHECK_NUMBER    c-src/emacs/src/lisp.h  /^#define lisp_h_CHECK_NUMBER(x) CHECK_TYPE (INTEGER/
-lisp_h_CHECK_SYMBOL    c-src/emacs/src/lisp.h  /^#define lisp_h_CHECK_SYMBOL(x) CHECK_TYPE (SYMBOLP/
-lisp_h_CHECK_TYPE      c-src/emacs/src/lisp.h  /^#define lisp_h_CHECK_TYPE(ok, predicate, x) \\$/
-lisp_h_CONSP   c-src/emacs/src/lisp.h  /^#define lisp_h_CONSP(x) (XTYPE (x) == Lisp_Cons)$/
-lisp_h_EQ      c-src/emacs/src/lisp.h  /^#define lisp_h_EQ(x, y) (XLI (x) == XLI (y))$/
-lisp_h_FLOATP  c-src/emacs/src/lisp.h  /^#define lisp_h_FLOATP(x) (XTYPE (x) == Lisp_Float)/
-lisp_h_INTEGERP        c-src/emacs/src/lisp.h  /^#define lisp_h_INTEGERP(x) ((XTYPE (x) & (Lisp_Int/
-lisp_h_MARKERP c-src/emacs/src/lisp.h  /^#define lisp_h_MARKERP(x) (MISCP (x) && XMISCTYPE /
-lisp_h_MISCP   c-src/emacs/src/lisp.h  /^#define lisp_h_MISCP(x) (XTYPE (x) == Lisp_Misc)$/
-lisp_h_NILP    c-src/emacs/src/lisp.h  /^#define lisp_h_NILP(x) EQ (x, Qnil)$/
-lisp_h_SET_SYMBOL_VAL  c-src/emacs/src/lisp.h  /^#define lisp_h_SET_SYMBOL_VAL(sym, v) \\$/
-lisp_h_SYMBOLP c-src/emacs/src/lisp.h  /^#define lisp_h_SYMBOLP(x) (XTYPE (x) == Lisp_Symbo/
-lisp_h_SYMBOL_CONSTANT_P       c-src/emacs/src/lisp.h  /^#define lisp_h_SYMBOL_CONSTANT_P(sym) (XSYMBOL (sy/
-lisp_h_SYMBOL_VAL      c-src/emacs/src/lisp.h  /^#define lisp_h_SYMBOL_VAL(sym) \\$/
-lisp_h_VECTORLIKEP     c-src/emacs/src/lisp.h  /^#define lisp_h_VECTORLIKEP(x) (XTYPE (x) == Lisp_V/
-lisp_h_XCAR    c-src/emacs/src/lisp.h  /^#define lisp_h_XCAR(c) XCONS (c)->car$/
-lisp_h_XCDR    c-src/emacs/src/lisp.h  /^#define lisp_h_XCDR(c) XCONS (c)->u.cdr$/
-lisp_h_XCONS   c-src/emacs/src/lisp.h  /^#define lisp_h_XCONS(a) \\$/
-lisp_h_XFASTINT        c-src/emacs/src/lisp.h  /^# define lisp_h_XFASTINT(a) XINT (a)$/
-lisp_h_XHASH   c-src/emacs/src/lisp.h  /^#define lisp_h_XHASH(a) XUINT (a)$/
-lisp_h_XIL     c-src/emacs/src/lisp.h  /^# define lisp_h_XIL(i) ((Lisp_Object) { i })$/
-lisp_h_XIL     c-src/emacs/src/lisp.h  /^# define lisp_h_XIL(i) (i)$/
-lisp_h_XINT    c-src/emacs/src/lisp.h  /^# define lisp_h_XINT(a) (XLI (a) >> INTTYPEBITS)$/
-lisp_h_XLI     c-src/emacs/src/lisp.h  /^# define lisp_h_XLI(o) ((o).i)$/
-lisp_h_XLI     c-src/emacs/src/lisp.h  /^# define lisp_h_XLI(o) (o)$/
-lisp_h_XPNTR   c-src/emacs/src/lisp.h  /^#define lisp_h_XPNTR(a) \\$/
-lisp_h_XSYMBOL c-src/emacs/src/lisp.h  /^# define lisp_h_XSYMBOL(a) \\$/
-lisp_h_XTYPE   c-src/emacs/src/lisp.h  /^# define lisp_h_XTYPE(a) ((enum Lisp_Type) (XLI (a/
-lisp_h_XUNTAG  c-src/emacs/src/lisp.h  /^# define lisp_h_XUNTAG(a, type) ((void *) (intptr_/
-lisp_h_check_cons_list c-src/emacs/src/lisp.h  /^# define lisp_h_check_cons_list() ((void) 0)$/
-lisp_h_make_number     c-src/emacs/src/lisp.h  /^# define lisp_h_make_number(n) \\$/
-lispy_accent_codes     c-src/emacs/src/keyboard.c      4634
-lispy_accent_keys      c-src/emacs/src/keyboard.c      4741
-lispy_drag_n_drop_names        c-src/emacs/src/keyboard.c      5181
-lispy_function_keys    c-src/emacs/src/keyboard.c      4768
-lispy_function_keys    c-src/emacs/src/keyboard.c      5065
-lispy_kana_keys        c-src/emacs/src/keyboard.c      5026
-lispy_modifier_list    c-src/emacs/src/keyboard.c      /^lispy_modifier_list (int modifiers)$/
-lispy_multimedia_keys  c-src/emacs/src/keyboard.c      4962
-lispy_wheel_names      c-src/emacs/src/keyboard.c      5174
-list   c-src/emacs/src/gmalloc.c       186
-list   merc-src/accumulator.m  /^:- import_module list.$/
-list-tags      el-src/emacs/lisp/progmodes/etags.el    /^(defun list-tags (file &optional _next-match)$/
-list-tags-function     el-src/emacs/lisp/progmodes/etags.el    /^(defvar list-tags-function nil$/
-list2i c-src/emacs/src/lisp.h  /^list2i (EMACS_INT x, EMACS_INT y)$/
-list3i c-src/emacs/src/lisp.h  /^list3i (EMACS_INT x, EMACS_INT y, EMACS_INT w)$/
-list4i c-src/emacs/src/lisp.h  /^list4i (EMACS_INT x, EMACS_INT y, EMACS_INT w, EMA/
-list_to_ord_set        prol-src/ordsets.prolog /^list_to_ord_set(List, Set) :-$/
-lno    c-src/etags.c   223
-load   objc-src/PackInsp.m     /^-load$/
-loadContentsOf objc-src/PackInsp.m     /^-loadContentsOf:(const char *)type inTable:(HashTa/
-loadImage      objc-src/PackInsp.m     /^-loadImage$/
-loadKeyValuesFrom      objc-src/PackInsp.m     /^-loadKeyValuesFrom:(const char *)type inTable:(Has/
-loadPORManager php-src/lce_functions.php       /^  function &loadPORManager()$/
-local_if_set   c-src/emacs/src/lisp.h  2338
-location       cp-src/clheir.hpp       /^    location() { }$/
-location       cp-src/clheir.hpp       33
-lookup y-src/cccp.y    /^lookup (name, len, hash)$/
-lookup_call    merc-src/accumulator.m  /^:- pred lookup_call(accu_goal_store::in, accu_goal/
-lowcase        c-src/etags.c   /^#define lowcase(c)    tolower (CHAR (c))$/
-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,$/
-mach_msg_trap  c-src/machsyscalls.h    /^SYSCALL (mach_msg_trap, -25,$/
-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
-maintaining.info       make-src/Makefile       /^maintaining.info: maintaining.texi$/
-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,Alpha@Sem1@Sem2).$/
-make_ctrl_char c-src/emacs/src/keyboard.c      /^make_ctrl_char (int c)$/
-make_fixnum_or_float   c-src/emacs/src/lisp.h  /^#define make_fixnum_or_float(val) \\$/
-make_formatted_string  c-src/emacs/src/lisp.h  /^extern Lisp_Object make_formatted_string (char *, /
-make_lisp_ptr  c-src/emacs/src/lisp.h  /^make_lisp_ptr (void *ptr, enum Lisp_Type type)$/
-make_lisp_symbol       c-src/emacs/src/lisp.h  /^make_lisp_symbol (struct Lisp_Symbol *sym)$/
-make_lispy_event       c-src/emacs/src/keyboard.c      /^make_lispy_event (struct input_event *event)$/
-make_lispy_focus_in    c-src/emacs/src/keyboard.c      /^make_lispy_focus_in (Lisp_Object frame)$/
-make_lispy_focus_out   c-src/emacs/src/keyboard.c      /^make_lispy_focus_out (Lisp_Object frame)$/
-make_lispy_movement    c-src/emacs/src/keyboard.c      /^make_lispy_movement (struct frame *frame, Lisp_Obj/
-make_lispy_position    c-src/emacs/src/keyboard.c      /^make_lispy_position (struct frame *f, Lisp_Object /
-make_lispy_switch_frame        c-src/emacs/src/keyboard.c      /^make_lispy_switch_frame (Lisp_Object frame)$/
-make_number    c-src/emacs/src/lisp.h  /^#  define make_number(n) lisp_h_make_number (n)$/
-make_pointer_integer   c-src/emacs/src/lisp.h  /^make_pointer_integer (void *p)$/
-make_scroll_bar_position       c-src/emacs/src/keyboard.c      /^make_scroll_bar_position (struct input_event *ev, /
-make_tag       c-src/etags.c   /^make_tag (const char *name,   \/* tag name, or NULL /
-make_uninit_sub_char_table     c-src/emacs/src/lisp.h  /^make_uninit_sub_char_table (int depth, int min_cha/
-make_uninit_vector     c-src/emacs/src/lisp.h  /^make_uninit_vector (ptrdiff_t size)$/
-malloc c-src/emacs/src/gmalloc.c       /^extern void *malloc (size_t size) ATTRIBUTE_MALLOC/
-malloc c-src/emacs/src/gmalloc.c       /^malloc (size_t size)$/
-malloc c-src/emacs/src/gmalloc.c       1715
-malloc c-src/emacs/src/gmalloc.c       64
-malloc c-src/emacs/src/gmalloc.c       68
-malloc_atfork_handler_child    c-src/emacs/src/gmalloc.c       /^malloc_atfork_handler_child (void)$/
-malloc_atfork_handler_parent   c-src/emacs/src/gmalloc.c       /^malloc_atfork_handler_parent (void)$/
-malloc_atfork_handler_prepare  c-src/emacs/src/gmalloc.c       /^malloc_atfork_handler_prepare (void)$/
-malloc_enable_thread   c-src/emacs/src/gmalloc.c       /^malloc_enable_thread (void)$/
-malloc_info    c-src/emacs/src/gmalloc.c       167
-malloc_initialize_1    c-src/emacs/src/gmalloc.c       /^malloc_initialize_1 (void)$/
-mallochook     c-src/emacs/src/gmalloc.c       /^mallochook (size_t size)$/
-man manpage    make-src/Makefile       /^man manpage: etags.1.man$/
-mao    c-src/h.h       101
-map    c-src/emacs/src/keyboard.c      8748
-map    merc-src/accumulator.m  /^:- import_module map.$/
-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):-$/
-mark_kboards   c-src/emacs/src/keyboard.c      /^mark_kboards (void)$/
-max    c-src/emacs/src/lisp.h  /^#define max(a, b) ((a) > (b) ? (a) : (b))$/
-max    c-src/emacs/src/lisp.h  58
-max    c.c     /^__attribute__ ((always_inline)) max (int a, int b)/
-max    c.c     /^max (int a, int b)$/
-max    cp-src/conway.cpp       /^#define max(x,y)  ((x > y) ? x : y)$/
-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
-maxargs        c-src/emacs/src/lisp.h  2831
-maybe  merc-src/accumulator.m  /^:- import_module maybe.$/
-maybe_gc       c-src/emacs/src/lisp.h  /^maybe_gc (void)$/
-mcCSC  cp-src/c.C      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
-mdbcomp        merc-src/accumulator.m  /^:- import_module mdbcomp.$/
-me22b  lua-src/test.lua        /^   local function test.me22b (one)$/
-me_22a lua-src/test.lua        /^   function test.me_22a(one, two)$/
-memalign       c-src/emacs/src/gmalloc.c       /^memalign (size_t alignment, size_t size)$/
-member prol-src/natded.prolog  /^member(X,[X|_]).$/
-member_lessthan_goalid merc-src/accumulator.m  /^:- pred member_lessthan_goalid(accu_goal_store::in/
-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, /
-menu_bar_items c-src/emacs/src/keyboard.c      /^menu_bar_items (Lisp_Object old)$/
-menu_bar_items_index   c-src/emacs/src/keyboard.c      7369
-menu_bar_items_vector  c-src/emacs/src/keyboard.c      7368
-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)$/
-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  /^#define min(a, b) ((a) < (b) ? (a) : (b))$/
-min    c-src/emacs/src/lisp.h  57
-min    cp-src/conway.cpp       /^#define min(x,y)  ((x > y) ? y : x)$/
-min_args       c-src/emacs/src/lisp.h  1686
-min_char       c-src/emacs/src/lisp.h  1621
-minus  cp-src/functions.cpp    /^void Date::minus ( int days , int month , int year/
-miti   html-src/softwarelibero.html    /^Sfatiamo alcuni miti$/
-modifier_names c-src/emacs/src/keyboard.c      6319
-modifier_symbols       c-src/emacs/src/keyboard.c      6327
-modify_event_symbol    c-src/emacs/src/keyboard.c      /^modify_event_symbol (ptrdiff_t symbol_num, int mod/
-module_class_method    ruby-src/test.rb        /^    def ModuleExample.module_class_method$/
-module_instance_method ruby-src/test.rb        /^    def module_instance_method$/
-more=  ruby-src/test1.ru       /^                :more$/
-more_aligned_int       c.c     165
-morecore_nolock        c-src/emacs/src/gmalloc.c       /^morecore_nolock (size_t size)$/
-morecore_recursing     c-src/emacs/src/gmalloc.c       604
-mouse_syms     c-src/emacs/src/keyboard.c      4627
-move   cp-src/clheir.cpp       /^void agent::move(int direction)$/
-mprobe c-src/emacs/src/gmalloc.c       /^mprobe (void *ptr)$/
-msgid  php-src/lce_functions.php       /^      function msgid($line, $class)$/
-msgstr php-src/lce_functions.php       /^      function msgstr($line, $class)$/
-mstats c-src/emacs/src/gmalloc.c       308
-mt     prol-src/natded.prolog  /^mt:-$/
-mtg    html-src/software.html  /^MTG$/
-multi_line     c-src/etags.c   267
-multibyte      c-src/emacs/src/regex.h 403
-my_printf      c.c     /^my_printf (void *my_object, const char *my_format,/
-my_struct      c-src/h.h       91
-my_struct      c.c     226
-my_typedef     c-src/h.h       93
-my_typedef     c.c     228
-mypi   forth-src/test-forth.fth        /^synonym mypi fconst$/
-n      c-src/exit.c    28
-n      c-src/exit.strange_suffix       28
-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   c-src/emacs/src/lisp.h  682
-name   c-src/etags.c   192
-name   c-src/etags.c   218
-name   c-src/etags.c   2271
-name   c-src/etags.c   261
-name   c-src/getopt.h  76
-name   c-src/getopt.h  78
-name   perl-src/htlmify-cystic 357
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{Function}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{Macro}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{Special Form}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{User Option}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{Variable}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{#1}\\deftpargs{#3}\\endgrou/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{#1}\\defunargs{#3}\\endgrou/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{#1}\\defvarargs{#3}\\endgro/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{Instance Variable of #1}%/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{Method on #1}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{\\defcvtype{} of #1}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{\\defoptype{} on #1}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {\\code{#1} #2}{Function}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {\\code{#1} #2}{Variable}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {\\code{#2} #3}{#1}$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {\\code{#2} #3}{#1}%$/
-name   y-src/cccp.y    113
-name   y-src/cccp.y    43
-named  c-src/etags.c   2505
-namestringequal        pas-src/common.pas      /^function namestringequal;(*(var Name1,Name2 : Name/
-nargs  c-src/emacs/src/lisp.h  2987
-need_adjustment        c-src/emacs/src/lisp.h  1986
-neighbors      cp-src/clheir.hpp       59
-nelem  cp-src/Range.h  /^  int nelem (void) const { return rng_nelem; }$/
-nestlev        c-src/etags.c   2525
-new    objc-src/PackInsp.m     /^+new$/
-new    perl-src/htlmify-cystic 163
-new_tag        perl-src/htlmify-cystic 18
-newlb  c-src/etags.c   2930
-newlinepos     c-src/etags.c   2932
-newtextstring  pas-src/common.pas      /^function newtextstring; (*: TextString;*)$/
-next   c-src/emacs/src/gmalloc.c       164
-next   c-src/emacs/src/gmalloc.c       188
-next   c-src/emacs/src/gmalloc.c       198
-next   c-src/emacs/src/keyboard.c      7246
-next   c-src/emacs/src/keyboard.c      861
-next   c-src/emacs/src/lisp.h  1848
-next   c-src/emacs/src/lisp.h  2009
-next   c-src/emacs/src/lisp.h  2037
-next   c-src/emacs/src/lisp.h  2192
-next   c-src/emacs/src/lisp.h  3028
-next   c-src/emacs/src/lisp.h  3134
-next   c-src/emacs/src/lisp.h  700
-next   c-src/etags.c   203
-next   c.c     174
-next   y-src/cccp.y    42
-next-file      el-src/emacs/lisp/progmodes/etags.el    /^(defun next-file (&optional initialize novisit)$/
-next-file-list el-src/emacs/lisp/progmodes/etags.el    /^(defvar next-file-list nil$/
-next_alive     cp-src/conway.hpp       7
-next_almost_prime      c-src/emacs/src/lisp.h  /^extern EMACS_INT next_almost_prime (EMACS_INT) ATT/
-next_free      c-src/emacs/src/lisp.h  1851
-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
-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/
-no     tex-src/texinfo.tex     /^\\newcount \\appendixno  \\appendixno = `\\@$/
-no.\the\secno  tex-src/texinfo.tex     /^\\else \\ifnum \\subsecno=0 Section\\xreftie'char\\the\\/
-no.\the\secno.\the\subsecno    tex-src/texinfo.tex     /^Section\\xreftie'char\\the\\appendixno.\\the\\secno.\\th/
-no.\the\secno.\the\subsecno.\the\subsubsecno   tex-src/texinfo.tex     /^Section\\xreftie'char\\the\\appendixno.\\the\\secno.\\th/
-no_argument    c-src/getopt.h  89
-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_st        c-src/etags.c   214
-noderef        tex-src/texinfo.tex     /^\\appendixnoderef %$/
-nofonts        tex-src/texinfo.tex     /^{\\indexnofonts$/
-nofonts%       tex-src/texinfo.tex     /^{\\chapternofonts%$/
-none_help      c-src/etags.c   703
-normalize      prol-src/natded.prolog  /^normalize(M,MNorm):-$/
-normalize_fresh        prol-src/natded.prolog  /^normalize_fresh(M,N):-$/
-normalize_tree prol-src/natded.prolog  /^normalize_tree(tree(Rule,Syn:Sem,Trees),$/
-normalize_trees        prol-src/natded.prolog  /^normalize_trees([],[]).$/
-nosave pyt-src/server.py       /^    def nosave(self):$/
-not_bol        c-src/emacs/src/regex.h 391
-not_eol        c-src/emacs/src/regex.h 394
-not_single_kboard_state        c-src/emacs/src/keyboard.c      /^not_single_kboard_state (KBOARD *kboard)$/
-notag2 c-src/dostorture.c      26
-notag2 c-src/torture.c 26
-notag4 c-src/dostorture.c      45
-notag4 c-src/torture.c 45
-notinname      c-src/etags.c   /^#define notinname(c)  (_nin[CHAR (c)]) \/* c is not /
-npending       c-src/emacs/src/keyboard.c      7244
-ntool_bar_items        c-src/emacs/src/keyboard.c      7974
-numOfChannels  cp-src/c.C      1
-num_columns    cp-src/conway.cpp       16
-num_input_events       c-src/emacs/src/keyboard.c      210
-num_regs       c-src/emacs/src/regex.h 430
-num_rows       cp-src/conway.cpp       15
-numberKeys     objcpp-src/SimpleCalc.M /^- numberKeys:sender$/
-number_len     c-src/etags.c   /^static int number_len (long) ATTRIBUTE_CONST;$/
-numbervars     prol-src/natded.prolog  /^numbervars(X):-$/
-nvars  c-src/emacs/src/lisp.h  3140
-objdef c-src/etags.c   2484
-object c-src/emacs/src/lisp.h  2128
-object_registry        cp-src/clheir.cpp       10
-objtag c-src/etags.c   2453
-objvar c-src/emacs/src/lisp.h  2297
-obstack_chunk_alloc    y-src/parse.y   47
-obstack_chunk_free     y-src/parse.y   48
-ocatseen       c-src/etags.c   2477
-octave_MDiagArray2_h   cp-src/MDiagArray2.h    29
-octave_Range_h cp-src/Range.h  24
-oediff make-src/Makefile       /^oediff: OTAGS ETAGS ${infiles}$/
-offset c-src/emacs/src/lisp.h  2305
-offset c-src/emacs/src/lisp.h  2365
-offset c-src/etags.c   2494
-oignore        c-src/etags.c   2483
-oimplementation        c-src/etags.c   2474
-oinbody        c-src/etags.c   2478
-ok     objc-src/PackInsp.m     /^-ok:sender$/
-ok_to_echo_at_next_pause       c-src/emacs/src/keyboard.c      159
-old_value      c-src/emacs/src/lisp.h  2980
-omethodcolon   c-src/etags.c   2481
-omethodparm    c-src/etags.c   2482
-omethodsign    c-src/etags.c   2479
-omethodtag     c-src/etags.c   2480
-onone  c-src/etags.c   2472
-oparenseen     c-src/etags.c   2476
-open   objc-src/PackInsp.m     /^-open:sender$/
-open-dribble-file      c-src/emacs/src/keyboard.c      /^DEFUN ("open-dribble-file", Fopen_dribble_file, So/
-openInWorkspace        objc-src/PackInsp.m     /^static void openInWorkspace(const char *filename)$/
-operationKeys  objcpp-src/SimpleCalc.M /^- operationKeys:sender$/
-operator       y-src/cccp.y    438
-operator ++    cp-src/functions.cpp    /^Date & Date::operator ++ ( void ){$/
-operator +=    cp-src/functions.cpp    /^Date & Date::operator += ( int days ){$/
-operator -     cp-src/c.C      /^void operator -(int, int) {}$/
-operator -     cp-src/functions.cpp    /^int Date::operator - ( Date d ){$/
-operator --    cp-src/functions.cpp    /^Date & Date::operator -- ( void ){$/
-operator -=    cp-src/functions.cpp    /^Date & Date::operator -= ( int days ){$/
-operator <     cp-src/functions.cpp    /^int Date::operator < ( Date d ) {$/
-operator <<    cp-src/functions.cpp    /^ostream& operator <<  ( ostream &c, Date d ) {$/
-operator =     cp-src/MDiagArray2.h    /^  MDiagArray2<T>& operator = (const MDiagArray2<T>/
-operator =     cp-src/functions.cpp    /^Date & Date::operator = ( Date d ){$/
-operator ==    cp-src/functions.cpp    /^int Date::operator == ( Date d ) {$/
-operator >     cp-src/functions.cpp    /^int Date::operator > ( Date d ) {$/
-operator >>    cp-src/functions.cpp    /^istream& operator >> ( istream &i, Date & dd ){$/
-operator MArray2<T>    cp-src/MDiagArray2.h    /^  operator MArray2<T> () const$/
-operator int   cp-src/c.C      /^void operator int(int, int) {}$/
-operator int   cp-src/fail.C   /^                         operator int() const {return x;}$/
-operator+      cp-src/c.C      /^  A operator+(A& a) {};$/
-operator+      cp-src/c.C      /^const A& A::operator+(const A&) { }$/
-operator+      cp-src/c.C      /^void operator+(int, int) {}$/
-opparsebody\Edefop\defopx\defopheader\defoptype        tex-src/texinfo.tex     /^\\defopparsebody\\Edefop\\defopx\\defopheader\\defoptyp/
-oprotocol      c-src/etags.c   2473
-option c-src/getopt.h  73
-optional_argument      c-src/getopt.h  91
-opvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype   tex-src/texinfo.tex     /^\\defopvarparsebody\\Edefcv\\defcvx\\defcvarheader\\def/
-ord_add_element        prol-src/ordsets.prolog /^ord_add_element([], Element, [Element]).$/
-ord_del_element        prol-src/ordsets.prolog /^ord_del_element([], _, []).$/
-ord_disjoint   prol-src/ordsets.prolog /^ord_disjoint(Set1, Set2) :-$/
-ord_intersect  prol-src/ordsets.prolog /^ord_intersect([Head1|Tail1], [Head2|Tail2]) :-$/
-ord_intersection       prol-src/ordsets.prolog /^ord_intersection(Sets, Intersection) :- $/
-ord_intersection       prol-src/ordsets.prolog /^ord_intersection([], Set2, [], Set2).$/
-ord_intersection       prol-src/ordsets.prolog /^ord_intersection([], _, []).$/
-ord_intersection2      prol-src/ordsets.prolog /^ord_intersection2(1, [Set|Sets], Set0, Sets0) :- !/
-ord_intersection3      prol-src/ordsets.prolog /^ord_intersection3(<, _, Set1, Head2, Tail2, Inters/
-ord_intersection4      prol-src/ordsets.prolog /^ord_intersection4(<, _, Set1, Head2, Tail2, Inters/
-ord_member     prol-src/ordsets.prolog /^ord_member(X, [E|Es]) :-$/
-ord_seteq      prol-src/ordsets.prolog /^ord_seteq(Set1, Set2) :-$/
-ord_setproduct prol-src/ordsets.prolog /^ord_setproduct([], _, []).$/
-ord_subset     prol-src/ordsets.prolog /^ord_subset([], _).$/
-ord_subtract   prol-src/ordsets.prolog /^ord_subtract(Set1, Set2, Union) :-$/
-ord_symdiff    prol-src/ordsets.prolog /^ord_symdiff([], Set2, Set2).$/
-ord_union      prol-src/ordsets.prolog /^ord_union(Set1, Set2, Union) :-$/
-ord_union      prol-src/ordsets.prolog /^ord_union([], Union) :- !, Union = [].$/
-ord_union4     prol-src/ordsets.prolog /^ord_union4(<, Head, Set1, Head2, Tail2, [Head|Unio/
-ord_union_all  prol-src/ordsets.prolog /^ord_union_all(1, [Set|Sets], Set, Sets) :- !.$/
-oss    html-src/softwarelibero.html    /^Il movimento open source$/
-otagseen       c-src/etags.c   2475
-outputTime     cp-src/c.C      9
-output_file    perl-src/htlmify-cystic 35
-output_files   perl-src/htlmify-cystic 32
-outputtable    html-src/algrthms.html  /^Output$/
-outsyn prol-src/natded.prolog  /^outsyn(['Any'],_).$/
-p      c-src/emacs/src/lisp.h  4673
-p      c-src/emacs/src/lisp.h  4679
-p.x    forth-src/test-forth.fth        /^  1 CELLS +FIELD p.x    \\ A single cell filed name/
-p.y    forth-src/test-forth.fth        /^  1 CELLS +FIELD p.y    \\ A single cell field name/
-p/f    ada-src/etags-test-for.ada      /^   function p pragma Import (C,$/
-p/f    ada-src/etags-test-for.ada      /^function p ("p");$/
-pD     c-src/emacs/src/lisp.h  165
-pD     c-src/emacs/src/lisp.h  167
-pD     c-src/emacs/src/lisp.h  169
-pD     c-src/emacs/src/lisp.h  171
-pI     c-src/emacs/src/lisp.h  106
-pI     c-src/emacs/src/lisp.h  94
-pI     c-src/emacs/src/lisp.h  99
-pMd    c-src/emacs/src/lisp.h  150
-pMd    c-src/emacs/src/lisp.h  155
-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   merc-src/accumulator.m  /^:- import_module pair.$/
-parent c-src/emacs/src/keyboard.c      8745
-parent c-src/emacs/src/lisp.h  1590
-parse  prol-src/natded.prolog  /^parse(Ws,Cat):-$/
-parseFromVars  php-src/lce_functions.php       /^      function parseFromVars($prefix)$/
-parse_c_expression     y-src/cccp.y    /^parse_c_expression (string)$/
-parse_cgi      prol-src/natded.prolog  /^parse_cgi(TokenList,KeyVals):-$/
-parse_error    y-src/parse.y   82
-parse_escape   y-src/cccp.y    /^parse_escape (string_ptr)$/
-parse_hash     y-src/parse.y   64
-parse_menu_item        c-src/emacs/src/keyboard.c      /^parse_menu_item (Lisp_Object item, int inmenubar)$/
-parse_modifiers        c-src/emacs/src/keyboard.c      /^parse_modifiers (Lisp_Object symbol)$/
-parse_modifiers_uncached       c-src/emacs/src/keyboard.c      /^parse_modifiers_uncached (Lisp_Object symbol, ptrd/
-parse_number   y-src/cccp.y    /^parse_number (olen)$/
-parse_return   y-src/parse.y   74
-parse_return_error     y-src/cccp.y    70
-parse_solitary_modifier        c-src/emacs/src/keyboard.c      /^parse_solitary_modifier (Lisp_Object symbol)$/
-parse_tool_bar_item    c-src/emacs/src/keyboard.c      /^parse_tool_bar_item (Lisp_Object key, Lisp_Object /
-parse_tree     merc-src/accumulator.m  /^:- import_module parse_tree.$/
-pat    c-src/etags.c   262
-pattern        c-src/etags.c   260
-pdlcount       c-src/emacs/src/lisp.h  3046
-pending-delete-mode    el-src/TAGTEST.EL       /^(defalias 'pending-delete-mode 'delete-selection-m/
-pending_funcalls       c-src/emacs/src/keyboard.c      4377
-pending_signals        c-src/emacs/src/keyboard.c      80
-pfatal c-src/etags.c   /^pfatal (const char *s1)$/
-pfdset c-src/h.h       57
-pfnote c-src/etags.c   /^pfnote (char *name, bool is_func, char *linestart,/
-pinned c-src/emacs/src/lisp.h  679
-plain_C_entries        c-src/etags.c   /^plain_C_entries (FILE *inf)$/
-plain_C_suffixes       c-src/etags.c   643
-plainc c-src/etags.c   2934
-plist  c-src/emacs/src/lisp.h  2040
-plist  c-src/emacs/src/lisp.h  697
-plus   cp-src/functions.cpp    /^void Date::plus ( int days , int month , int year /
-plus   go-src/test1.go 5
-plusvalseq     prol-src/natded.prolog  /^plusvalseq([]) --> [].$/
-point  forth-src/test-forth.fth        /^BEGIN-STRUCTURE point \\ create the named structure/
-pointer        c-src/emacs/src/lisp.h  2125
-poll_for_input c-src/emacs/src/keyboard.c      /^poll_for_input (struct atimer *timer)$/
-poll_for_input_1       c-src/emacs/src/keyboard.c      /^poll_for_input_1 (void)$/
-poll_suppress_count    c-src/emacs/src/keyboard.c      1908
-poll_suppress_count    c-src/emacs/src/lisp.h  3047
-poll_timer     c-src/emacs/src/keyboard.c      1915
-pop-tag-mark   el-src/emacs/lisp/progmodes/etags.el    /^(defalias 'pop-tag-mark 'xref-pop-marker-stack)$/
-pop_kboard     c-src/emacs/src/keyboard.c      /^pop_kboard (void)$/
-popclass_above c-src/etags.c   /^popclass_above (int bracelev)$/
-position_to_Time       c-src/emacs/src/keyboard.c      /^position_to_Time (ptrdiff_t pos)$/
-posix_memalign c-src/emacs/src/gmalloc.c       /^posix_memalign (void **memptr, size_t alignment, s/
-posn-at-point  c-src/emacs/src/keyboard.c      /^DEFUN ("posn-at-point", Fposn_at_point, Sposn_at_p/
-posn-at-x-y    c-src/emacs/src/keyboard.c      /^DEFUN ("posn-at-x-y", Fposn_at_x_y, Sposn_at_x_y, /
-possible_sum_sign      y-src/cccp.y    /^#define possible_sum_sign(a, b, sum) ((((a) ^ (b))/
-post   pyt-src/server.py       /^    def post(self):$/
-pot_etags_version      c-src/etags.c   81
-pp1    c-src/dostorture.c      /^int pp1($/
-pp1    c-src/torture.c /^int pp1($/
-pp2    c-src/dostorture.c      /^pp2$/
-pp2    c-src/torture.c /^pp2$/
-pp3    c-src/dostorture.c      /^pp3(int bar)$/
-pp3    c-src/torture.c /^pp3(int bar)$/
-pp_bas_cat     prol-src/natded.prolog  /^pp_bas_cat(Cat):-$/
-pp_cat prol-src/natded.prolog  /^pp_cat(Syn:Sem):-$/
-pp_exp prol-src/natded.prolog  /^pp_exp('NIL'):-$/
-pp_exps        prol-src/natded.prolog  /^pp_exps([]).$/
-pp_html_fitch_tree     prol-src/natded.prolog  /^pp_html_fitch_tree(tree(der,Root,[ders(Words)]),M,/
-pp_html_table_fitch_tree       prol-src/natded.prolog  /^pp_html_table_fitch_tree(T):-$/
-pp_html_table_tree     prol-src/natded.prolog  /^pp_html_table_tree(T):-$/
-pp_html_tree   prol-src/natded.prolog  /^pp_html_tree(ass(Syn,V,'$VAR'(N))):-$/
-pp_html_trees  prol-src/natded.prolog  /^pp_html_trees([T|Ts],N,M):-$/
-pp_lam prol-src/natded.prolog  /^pp_lam(Var^Alpha):-$/
-pp_lam_bracket prol-src/natded.prolog  /^pp_lam_bracket(A^B):-$/
-pp_lam_paren   prol-src/natded.prolog  /^pp_lam_paren(Var^Alpha):-$/
-pp_paren       prol-src/natded.prolog  /^pp_paren(C):-$/
-pp_rule        prol-src/natded.prolog  /^pp_rule(fe):-write('\/E').$/
-pp_syn prol-src/natded.prolog  /^pp_syn(A\/B):-$/
-pp_syn_back    prol-src/natded.prolog  /^pp_syn_back(A\/B):-$/
-pp_syn_paren   prol-src/natded.prolog  /^pp_syn_paren(A\/B):-$/
-pp_tree        prol-src/natded.prolog  /^pp_tree(T):-$/
-pp_trees       prol-src/natded.prolog  /^pp_trees([T|Ts],Column):-$/
-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
-prev   c-src/emacs/src/gmalloc.c       165
-prev   c-src/emacs/src/gmalloc.c       189
-prev   c-src/emacs/src/lisp.h  2191
-prev   c.c     175
-printClassification    php-src/lce_functions.php       /^      function printClassification()$/
-print_help     c-src/etags.c   /^print_help (argument *argbuffer)$/
-print_language_names   c-src/etags.c   /^print_language_names (void)$/
-print_version  c-src/etags.c   /^print_version (void)$/
-printmax_t     c-src/emacs/src/lisp.h  148
-printmax_t     c-src/emacs/src/lisp.h  153
-proc   c-src/h.h       87
-process_file   c-src/etags.c   /^process_file (FILE *fh, char *fn, language *lang)$/
-process_file_name      c-src/etags.c   /^process_file_name (char *file, language *lang)$/
-process_pending_signals        c-src/emacs/src/keyboard.c      /^process_pending_signals (void)$/
-process_special_events c-src/emacs/src/keyboard.c      /^process_special_events (void)$/
-process_tool_bar_item  c-src/emacs/src/keyboard.c      /^process_tool_bar_item (Lisp_Object key, Lisp_Objec/
-prof   make-src/Makefile       /^prof: ETAGS$/
-prolog_atom    c-src/etags.c   /^prolog_atom (char *s, size_t pos)$/
-prolog_pr      c-src/etags.c   /^prolog_pr (char *s, char *last)$/
-prolog_skip_comment    c-src/etags.c   /^prolog_skip_comment (linebuffer *plb, FILE *inf)$/
-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$/
-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
-quantizing     html-src/algrthms.html  /^Quantizing the Received$/
-questo ../c/c.web      34
-quiettest      make-src/Makefile       /^quiettest:$/
-quit_char      c-src/emacs/src/keyboard.c      192
-quit_throw_to_read_char        c-src/emacs/src/keyboard.c      /^quit_throw_to_read_char (bool from_signal)$/
-qux    ruby-src/test1.ru       /^    alias_method :qux, :tee, attr_accessor(:bogus)/
-qux1   ruby-src/test1.ru       /^                :qux1)$/
-qux=   ruby-src/test1.ru       /^      def qux=(tee)$/
-r0     c-src/sysdep.h  54
-r1     c-src/sysdep.h  55
-r_alloc        c-src/emacs/src/lisp.h  /^extern void *r_alloc (void **, size_t) ATTRIBUTE_A/
-range_exp      y-src/parse.y   269
-range_exp_list y-src/parse.y   273
-raw_keybuf     c-src/emacs/src/keyboard.c      116
-raw_keybuf_count       c-src/emacs/src/keyboard.c      117
-rbtp   c.c     240
-re_iswctype    c-src/emacs/src/regex.h 602
-re_nsub        c-src/emacs/src/regex.h 364
-re_pattern_buffer      c-src/emacs/src/regex.h 335
-re_pattern_buffer      c-src/h.h       119
-re_registers   c-src/emacs/src/regex.h 428
-re_wchar_t     c-src/emacs/src/regex.h 600
-re_wchar_t     c-src/emacs/src/regex.h 623
-re_wctype      c-src/emacs/src/regex.h 601
-re_wctype_t    c-src/emacs/src/regex.h 599
-re_wctype_t    c-src/emacs/src/regex.h 618
-re_wctype_to_bit       c-src/emacs/src/regex.h /^# define re_wctype_to_bit(cc) 0$/
-read   cp-src/conway.hpp       /^    char read() { return alive; }$/
-read   php-src/lce_functions.php       /^      function read()$/
-read-key-sequence      c-src/emacs/src/keyboard.c      /^DEFUN ("read-key-sequence", Fread_key_sequence, Sr/
-read-key-sequence-vector       c-src/emacs/src/keyboard.c      /^DEFUN ("read-key-sequence-vector", Fread_key_seque/
-read1  ruby-src/test1.ru       /^    attr_reader :read1 , :read2; attr_writer :writ/
-read2  ruby-src/test1.ru       /^    attr_reader :read1 , :read2; attr_writer :writ/
-read_char      c-src/emacs/src/keyboard.c      /^read_char (int commandflag, Lisp_Object map,$/
-read_char_help_form_unwind     c-src/emacs/src/keyboard.c      /^read_char_help_form_unwind (void)$/
-read_char_minibuf_menu_prompt  c-src/emacs/src/keyboard.c      /^read_char_minibuf_menu_prompt (int commandflag,$/
-read_char_x_menu_prompt        c-src/emacs/src/keyboard.c      /^read_char_x_menu_prompt (Lisp_Object map,$/
-read_decoded_event_from_main_queue     c-src/emacs/src/keyboard.c      /^read_decoded_event_from_main_queue (struct timespe/
-read_event_from_main_queue     c-src/emacs/src/keyboard.c      /^read_event_from_main_queue (struct timespec *end_t/
-read_key_sequence      c-src/emacs/src/keyboard.c      /^read_key_sequence (Lisp_Object *keybuf, int bufsiz/
-read_key_sequence_cmd  c-src/emacs/src/keyboard.c      232
-read_key_sequence_remapped     c-src/emacs/src/keyboard.c      233
-read_key_sequence_vs   c-src/emacs/src/keyboard.c      /^read_key_sequence_vs (Lisp_Object prompt, Lisp_Obj/
-read_menu_command      c-src/emacs/src/keyboard.c      /^read_menu_command (void)$/
-read_toc       perl-src/htlmify-cystic /^sub read_toc ()$/
-readable_events        c-src/emacs/src/keyboard.c      /^readable_events (int flags)$/
-readline       c-src/etags.c   /^readline (linebuffer *lbp, FILE *stream)$/
-readline_internal      c-src/etags.c   /^readline_internal (linebuffer *lbp, register FILE /
-realloc        c-src/emacs/src/gmalloc.c       /^realloc (void *ptr, size_t size)$/
-realloc        c-src/emacs/src/gmalloc.c       1716
-realloc        c-src/emacs/src/gmalloc.c       65
-realloc        c-src/emacs/src/gmalloc.c       69
-reallochook    c-src/emacs/src/gmalloc.c       /^reallochook (void *ptr, size_t size)$/
-recent-keys    c-src/emacs/src/keyboard.c      /^DEFUN ("recent-keys", Frecent_keys, Srecent_keys, /
-recent_keys    c-src/emacs/src/keyboard.c      100
-recent_keys_index      c-src/emacs/src/keyboard.c      94
-record_asynch_buffer_change    c-src/emacs/src/keyboard.c      /^record_asynch_buffer_change (void)$/
-record_auto_save       c-src/emacs/src/keyboard.c      /^record_auto_save (void)$/
-record_char    c-src/emacs/src/keyboard.c      /^record_char (Lisp_Object c)$/
-record_menu_key        c-src/emacs/src/keyboard.c      /^record_menu_key (Lisp_Object c)$/
-record_single_kboard_state     c-src/emacs/src/keyboard.c      /^record_single_kboard_state ()$/
-record_xmalloc c-src/emacs/src/lisp.h  /^extern void *record_xmalloc (size_t) ATTRIBUTE_ALL/
-recover_top_level_message      c-src/emacs/src/keyboard.c      138
-recursion-depth        c-src/emacs/src/keyboard.c      /^DEFUN ("recursion-depth", Frecursion_depth, Srecur/
-recursive-edit c-src/emacs/src/keyboard.c      /^DEFUN ("recursive-edit", Frecursive_edit, Srecursi/
-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)$/
-redirect       c-src/emacs/src/lisp.h  663
-reduce prol-src/natded.prolog  /^reduce((X^M)@N,L):-     % beta reduction$/
-reduce_subterm prol-src/natded.prolog  /^reduce_subterm(M,M2):-$/
-refreshPort    pyt-src/server.py       /^    def refreshPort(self):$/
-reg_errcode_t  c-src/emacs/src/regex.h 323
-reg_errcode_t  c.c     279
-reg_syntax_t   c-src/emacs/src/regex.h 43
-regex  c-src/etags.c   219
-regex.o        make-src/Makefile       /^regex.o: emacs\/src\/regex.c$/
-regex_t        c-src/emacs/src/regex.h 416
-regex_tag_multiline    c-src/etags.c   /^regex_tag_multiline (void)$/
-regexfile      make-src/Makefile       /^regexfile: Makefile$/
-regexp c-src/etags.c   256
-regexp c-src/etags.c   268
-registerAction objcpp-src/SimpleCalc.M /^- registerAction:(SEL)action$/
-register_heapinfo      c-src/emacs/src/gmalloc.c       /^register_heapinfo (void)$/
-regmatch_t     c-src/emacs/src/regex.h 451
-regoff_t       c-src/emacs/src/regex.h 423
-regs   c-src/etags.c   263
-regs   cp-src/screen.cpp       16
-regs_allocated c-src/emacs/src/regex.h 379
-regset c-src/h.h       31
-regular_top_level_message      c-src/emacs/src/keyboard.c      143
-rehash_size    c-src/emacs/src/lisp.h  1835
-rehash_threshold       c-src/emacs/src/lisp.h  1839
-relative_filename      c-src/etags.c   /^relative_filename (char *file, char *dir)$/
-release distrib        make-src/Makefile       /^release distrib: web$/
-removeexp      prol-src/natded.prolog  /^removeexp(E,E,'NIL'):-!.$/
-reorder_modifiers      c-src/emacs/src/keyboard.c      /^reorder_modifiers (Lisp_Object symbol)$/
-request        c.c     /^request request (a, b)$/
-requeued_events_pending_p      c-src/emacs/src/keyboard.c      /^requeued_events_pending_p (void)$/
-require        merc-src/accumulator.m  /^:- import_module require.$/
-required_argument      c-src/getopt.h  90
-reset-this-command-lengths     c-src/emacs/src/keyboard.c      /^DEFUN ("reset-this-command-lengths", Freset_this_c/
-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        prol-src/natded.prolog  /^reverse([],Ws,Ws).$/
-revert objc-src/PackInsp.m     /^-revert:sender$/
-right  c-src/etags.c   216
-right_shift    y-src/cccp.y    /^right_shift (a, b)$/
-ring1  c.c     241
-ring2  c.c     242
-rm_eo  c-src/emacs/src/regex.h 450
-rm_so  c-src/emacs/src/regex.h 449
-rng_base       cp-src/Range.h  79
-rng_inc        cp-src/Range.h  81
-rng_limit      cp-src/Range.h  80
-rng_nelem      cp-src/Range.h  83
-rosso  cp-src/c.C      40
-rsyncfromfly   make-src/Makefile       /^rsyncfromfly:$/
-rsynctofly     make-src/Makefile       /^rsynctofly:$/
-rtint  c-src/h.h       60
-rtint  c-src/h.h       68
-rtstr  c-src/h.h       61
-rtstr  c-src/h.h       69
-rtunion_def    c-src/h.h       58
-rtunion_def    c-src/h.h       64
-rtx    c-src/h.h       62
-rtxnp  c-src/h.h       71
-rtxp   c-src/h.h       70
-s      c-src/emacs/src/lisp.h  4672
-s      c-src/emacs/src/lisp.h  4678
-s1     cp-src/c.C      32
-s2     cp-src/c.C      35
-safe_run_hook_funcall  c-src/emacs/src/keyboard.c      /^safe_run_hook_funcall (ptrdiff_t nargs, Lisp_Objec/
-safe_run_hooks c-src/emacs/src/keyboard.c      /^safe_run_hooks (Lisp_Object hook)$/
-safe_run_hooks_1       c-src/emacs/src/keyboard.c      /^safe_run_hooks_1 (ptrdiff_t nargs, Lisp_Object *ar/
-safe_run_hooks_error   c-src/emacs/src/keyboard.c      /^safe_run_hooks_error (Lisp_Object error, ptrdiff_t/
-save   pyt-src/server.py       /^    def save(self):$/
-save_getcjmp   c-src/emacs/src/keyboard.c      /^save_getcjmp (sys_jmp_buf temp)$/
-save_type      c-src/emacs/src/lisp.h  /^save_type (struct Lisp_Save_Value *v, int n)$/
-savenstr       c-src/etags.c   /^savenstr (const char *cp, int len)$/
-savestr        c-src/etags.c   /^savestr (const char *cp)$/
-say    go-src/test.go  /^func say(msg string) {$/
-scan_separators        c-src/etags.c   /^scan_separators (char *name)$/
-scolonseen     c-src/etags.c   2447
-scratch        c-src/sysdep.h  56
-scroll_bar_parts       c-src/emacs/src/keyboard.c      5189
-sec=\relax     tex-src/texinfo.tex     /^\\let\\appendixsec=\\relax$/
-section        perl-src/htlmify-cystic 25
-section=\relax tex-src/texinfo.tex     /^\\let\\appendixsection=\\relax$/
-section_href   perl-src/htlmify-cystic /^sub section_href ($)$/
-section_name   perl-src/htlmify-cystic /^sub section_name ($)$/
-section_name   perl-src/htlmify-cystic 12
-section_toc    perl-src/htlmify-cystic 15
-section_url    perl-src/htlmify-cystic /^sub section_url ()$/
-section_url_base       perl-src/htlmify-cystic /^sub section_url_base ()$/
-section_url_name       perl-src/htlmify-cystic /^sub section_url_name ()$/
-select prol-src/natded.prolog  /^select(X,[X|Xs],Xs).$/
-select-tags-table      el-src/emacs/lisp/progmodes/etags.el    /^(defun select-tags-table ()$/
-select-tags-table-mode el-src/emacs/lisp/progmodes/etags.el    /^(define-derived-mode select-tags-table-mode specia/
-select-tags-table-mode-map     el-src/emacs/lisp/progmodes/etags.el    /^(defvar select-tags-table-mode-map ; Doc string?$/
-select-tags-table-quit el-src/emacs/lisp/progmodes/etags.el    /^(defun select-tags-table-quit ()$/
-select-tags-table-select       el-src/emacs/lisp/progmodes/etags.el    /^(defun select-tags-table-select (button)$/
-select_last    prol-src/natded.prolog  /^select_last([X],X,[]).$/
-send   objc-src/Subprocess.m   /^- send:(const char *)string withNewline:(BOOL)want/
-send   objc-src/Subprocess.m   /^- send:(const char *)string$/
-separator_names        c-src/emacs/src/keyboard.c      7372
-serializeToVars        php-src/lce_functions.php       /^      function serializeToVars($prefix)$/
-set    cp-src/conway.hpp       /^    void set(void) { alive = 1; }$/
-set    merc-src/accumulator.m  /^:- import_module set.$/
-set-input-interrupt-mode       c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-interrupt-mode", Fset_input_inte/
-set-input-meta-mode    c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-meta-mode", Fset_input_meta_mode/
-set-input-mode c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-mode", Fset_input_mode, Sset_inp/
-set-output-flow-control        c-src/emacs/src/keyboard.c      /^DEFUN ("set-output-flow-control", Fset_output_flow/
-set-quit-char  c-src/emacs/src/keyboard.c      /^DEFUN ("set-quit-char", Fset_quit_char, Sset_quit_/
-setDate        cp-src/functions.cpp    /^void Date::setDate ( int d , int m , int y ){$/
-setDelegate    objc-src/Subprocess.m   /^- setDelegate:anObject$/
-setRevertButtonTitle   objc-src/PackInsp.m     /^-setRevertButtonTitle$/
-set_base       cp-src/Range.h  /^  void set_base (double b) { rng_base = b;  }$/
-set_char_table_contents        c-src/emacs/src/lisp.h  /^set_char_table_contents (Lisp_Object table, ptrdif/
-set_char_table_defalt  c-src/emacs/src/lisp.h  /^set_char_table_defalt (Lisp_Object table, Lisp_Obj/
-set_char_table_extras  c-src/emacs/src/lisp.h  /^set_char_table_extras (Lisp_Object table, ptrdiff_/
-set_char_table_purpose c-src/emacs/src/lisp.h  /^set_char_table_purpose (Lisp_Object table, Lisp_Ob/
-set_hash_key_slot      c-src/emacs/src/lisp.h  /^set_hash_key_slot (struct Lisp_Hash_Table *h, ptrd/
-set_hash_value_slot    c-src/emacs/src/lisp.h  /^set_hash_value_slot (struct Lisp_Hash_Table *h, pt/
-set_inc        cp-src/Range.h  /^  void set_inc (double i) { rng_inc = i;   }$/
-set_limit      cp-src/Range.h  /^  void set_limit (double l) { rng_limit = l; }$/
-set_overlay_plist      c-src/emacs/src/lisp.h  /^set_overlay_plist (Lisp_Object overlay, Lisp_Objec/
-set_poll_suppress_count        c-src/emacs/src/keyboard.c      /^set_poll_suppress_count (int count)$/
-set_prop       c-src/emacs/src/keyboard.c      /^set_prop (ptrdiff_t idx, Lisp_Object val)$/
-set_save_integer       c-src/emacs/src/lisp.h  /^set_save_integer (Lisp_Object obj, int n, ptrdiff_/
-set_save_pointer       c-src/emacs/src/lisp.h  /^set_save_pointer (Lisp_Object obj, int n, void *va/
-set_string_intervals   c-src/emacs/src/lisp.h  /^set_string_intervals (Lisp_Object s, INTERVAL i)$/
-set_sub_char_table_contents    c-src/emacs/src/lisp.h  /^set_sub_char_table_contents (Lisp_Object table, pt/
-set_symbol_function    c-src/emacs/src/lisp.h  /^set_symbol_function (Lisp_Object sym, Lisp_Object /
-set_symbol_next        c-src/emacs/src/lisp.h  /^set_symbol_next (Lisp_Object sym, struct Lisp_Symb/
-set_symbol_plist       c-src/emacs/src/lisp.h  /^set_symbol_plist (Lisp_Object sym, Lisp_Object pli/
-set_upto       merc-src/accumulator.m  /^:- func set_upto(accu_case, int) = set(accu_goal_i/
-set_waiting_for_input  c-src/emacs/src/keyboard.c      /^set_waiting_for_input (struct timespec *time_to_cl/
-setref tex-src/texinfo.tex     /^\\expandafter\\expandafter\\expandafter\\appendixsetre/
-setup  cp-src/c.C      5
-shift  cp-src/functions.cpp    /^void Date::shift ( void ){\/\/Shift this date to pre/
-shouldLoad     objc-src/PackInsp.m     /^-(BOOL)shouldLoad$/
-should_attempt_accu_transform  merc-src/accumulator.m  /^:- pred should_attempt_accu_transform(module_info:/
-should_attempt_accu_transform_2        merc-src/accumulator.m  /^:- pred should_attempt_accu_transform_2(module_inf/
-should_see_this_array_type     cp-src/c.C      156
-should_see_this_function_pointer       cp-src/c.C      153
-should_see_this_one_enclosed_in_extern_C       cp-src/c.C      149
-show   erl-src/gs_dialog.erl   /^show(Module, Title, Message, Args) ->$/
-showError      objc-src/Subprocess.m   /^showError (const char *errorString, id theDelegate/
-showInfo       objc-src/PackInsp.m     /^-showInfo:sender$/
-show_help_echo c-src/emacs/src/keyboard.c      /^show_help_echo (Lisp_Object help, Lisp_Object wind/
-sig    c-src/emacs/src/keyboard.c      7238
-signal_handler c-src/h.h       82
-signal_handler1        c-src/h.h       83
-signal_handler_t       c-src/h.h       94
-simulation     html-src/software.html  /^Software that I wrote for supporting my research a/
-single_kboard  c-src/emacs/src/keyboard.c      89
-single_kboard_state    c-src/emacs/src/keyboard.c      /^single_kboard_state ()$/
-site   cp-src/conway.hpp       /^    site(int xi, int yi): x(xi), y(yi), alive(0) {/
-site   cp-src/conway.hpp       5
-size   c-src/emacs/src/gmalloc.c       156
-size   c-src/emacs/src/gmalloc.c       163
-size   c-src/emacs/src/gmalloc.c       1862
-size   c-src/emacs/src/lisp.h  1364
-size   c-src/emacs/src/lisp.h  1390
-size   c-src/etags.c   236
-size   c-src/etags.c   2522
-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)$/
-snarf-tag-function     el-src/emacs/lisp/progmodes/etags.el    /^(defvar snarf-tag-function nil$/
-snone  c-src/etags.c   2443
-solutions      merc-src/accumulator.m  /^:- import_module solutions.$/
-some_mouse_moved       c-src/emacs/src/keyboard.c      /^some_mouse_moved (void)$/
-space  tex-src/texinfo.tex     /^    {#2\\labelspace #1}\\dotfill\\doshortpageno{#3}}%/
-space  tex-src/texinfo.tex     /^  \\dosubsubsecentry{#2.#3.#4.#5\\labelspace#1}{#6}}/
-spacer c-src/emacs/src/lisp.h  1975
-spacer c-src/emacs/src/lisp.h  1982
-spacer c-src/emacs/src/lisp.h  2036
-spacer c-src/emacs/src/lisp.h  2205
-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):-$/
-splitexp       prol-src/natded.prolog  /^splitexp(E,E,('NIL','NIL')):-!.$/
-srclist        make-src/Makefile       /^srclist: Makefile$/
-ss3    c.c     255
-sss1   c.c     252
-sss2   c.c     253
-sstab  prol-src/natded.prolog  /^sstab(2,'C',',').$/
-st_C_attribute c-src/etags.c   2209
-st_C_class     c-src/etags.c   2212
-st_C_define    c-src/etags.c   2213
-st_C_enum      c-src/etags.c   2213
-st_C_extern    c-src/etags.c   2213
-st_C_gnumacro  c-src/etags.c   2208
-st_C_ignore    c-src/etags.c   2209
-st_C_javastruct        c-src/etags.c   2210
-st_C_objend    c-src/etags.c   2207
-st_C_objimpl   c-src/etags.c   2207
-st_C_objprot   c-src/etags.c   2207
-st_C_operator  c-src/etags.c   2211
-st_C_struct    c-src/etags.c   2213
-st_C_template  c-src/etags.c   2212
-st_C_typedef   c-src/etags.c   2213
-st_none        c-src/etags.c   2206
-stack  c.c     155
-stagseen       c-src/etags.c   2446
-standalone     make-src/Makefile       /^standalone:$/
-start  c-src/emacs/src/keyboard.c      8753
-start  c-src/emacs/src/lisp.h  2038
-start  c-src/emacs/src/regex.h 431
-start  php-src/lce_functions.php       /^      function start($line, $class)$/
-start  y-src/cccp.y    143
-start_polling  c-src/emacs/src/keyboard.c      /^start_polling (void)$/
-start_up       prol-src/natded.prolog  /^start_up:-$/
-state_protected_p      c-src/emacs/src/gmalloc.c       400
-statetable     html-src/algrthms.html  /^Next$/
-staticetags    make-src/Makefile       /^staticetags:$/
-step   cp-src/clheir.hpp       /^    virtual void step(void) { }$/
-step   cp-src/conway.hpp       /^    void step(void) { alive = next_alive; }$/
-step_everybody cp-src/clheir.cpp       /^void step_everybody(void)$/
-stop_polling   c-src/emacs/src/keyboard.c      /^stop_polling (void)$/
-store_info     merc-src/accumulator.m  /^:- type store_info$/
-store_user_signal_events       c-src/emacs/src/keyboard.c      /^store_user_signal_events (void)$/
-stored_goal_plain_call merc-src/accumulator.m  /^:- inst stored_goal_plain_call for goal_store.stor/
-str    go-src/test1.go 9
-strcaseeq      c-src/etags.c   /^#define strcaseeq(s,t)        (assert ((s)!=NULL && (t)!=/
-streq  c-src/etags.c   /^#define streq(s,t)    (assert ((s)!=NULL || (t)!=NULL/
-string merc-src/accumulator.m  /^:- import_module string.$/
-string_intervals       c-src/emacs/src/lisp.h  /^string_intervals (Lisp_Object s)$/
-stripLine      php-src/lce_functions.php       /^      function stripLine($line, $class)$/
-stripname      pas-src/common.pas      /^function stripname; (* ($/
-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)$/
-subprocess     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$/
-subsection     perl-src/htlmify-cystic 26
-subsection=\relax      tex-src/texinfo.tex     /^\\let\\appendixsubsection=\\relax$/
-subsection_marker      perl-src/htlmify-cystic 161
-subst  prol-src/natded.prolog  /^subst(var(Y),var(X),M,N):-$/
-substitute     c-src/etags.c   /^substitute (char *in, char *out, struct re_registe/
-subsubsec=\relax       tex-src/texinfo.tex     /^\\let\\appendixsubsubsec=\\relax$/
-subsubsection  perl-src/htlmify-cystic 27
-subsubsection=\relax   tex-src/texinfo.tex     /^\\let\\appendixsubsubsection=\\relax$/
-subtle ruby-src/test1.ru       /^                 :tee ; attr_reader :subtle$/
-subtree        prol-src/natded.prolog  /^subtree(T,T).$/
-suffix c-src/etags.c   186
-suffixes       c-src/etags.c   195
-suggest_asking_for_help        c-src/etags.c   /^suggest_asking_for_help (void)$/
-suspend-emacs  c-src/emacs/src/keyboard.c      /^DEFUN ("suspend-emacs", Fsuspend_emacs, Ssuspend_e/
-sval   y-src/cccp.y    116
-swallow_events c-src/emacs/src/keyboard.c      /^swallow_events (bool do_display)$/
-switch_line_buffers    c-src/etags.c   /^#define switch_line_buffers() (curndx = 1 - curndx/
-sxhash_combine c-src/emacs/src/lisp.h  /^sxhash_combine (EMACS_UINT x, EMACS_UINT y)$/
-sym_type       c-src/etags.c   2204
-symbol c-src/emacs/src/lisp.h  2980
-symbol_interned        c-src/emacs/src/lisp.h  639
-symbol_name    c-src/emacs/src/lisp.h  1687
-symbol_redirect        c-src/emacs/src/lisp.h  646
-syms_of_abbrev c-src/abbrev.c  /^syms_of_abbrev ()$/
-syms_of_keyboard       c-src/emacs/src/keyboard.c      /^syms_of_keyboard (void)$/
-synchronize_system_messages_locale     c-src/emacs/src/lisp.h  /^INLINE void synchronize_system_messages_locale (vo/
-synchronize_system_time_locale c-src/emacs/src/lisp.h  /^INLINE void synchronize_system_time_locale (void) /
-syntax c-src/emacs/src/regex.h 350
-sys_jmp_buf    c-src/emacs/src/lisp.h  2906
-sys_jmp_buf    c-src/emacs/src/lisp.h  2910
-sys_jmp_buf    c-src/emacs/src/lisp.h  2916
-sys_longjmp    c-src/emacs/src/lisp.h  /^# define sys_longjmp(j, v) _longjmp (j, v)$/
-sys_longjmp    c-src/emacs/src/lisp.h  /^# define sys_longjmp(j, v) longjmp (j, v)$/
-sys_longjmp    c-src/emacs/src/lisp.h  /^# define sys_longjmp(j, v) siglongjmp (j, v)$/
-sys_setjmp     c-src/emacs/src/lisp.h  /^# define sys_setjmp(j) _setjmp (j)$/
-sys_setjmp     c-src/emacs/src/lisp.h  /^# define sys_setjmp(j) setjmp (j)$/
-sys_setjmp     c-src/emacs/src/lisp.h  /^# define sys_setjmp(j) sigsetjmp (j, 0)$/
-syscall_error  c-src/sysdep.h  34
-t      cp-src/c.C      52
-t1     cp-src/c.C      34
-t2     cp-src/c.C      38
-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)$/
-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)$/
-tag-file-name-match-p  el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-file-name-match-p (tag)$/
-tag-find-file-of-tag   el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-find-file-of-tag (file) ; Doc string?$/
-tag-find-file-of-tag-noselect  el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-find-file-of-tag-noselect (file)$/
-tag-implicit-name-match-p      el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-implicit-name-match-p (tag)$/
-tag-lines-already-matched      el-src/emacs/lisp/progmodes/etags.el    /^(defvar tag-lines-already-matched nil$/
-tag-partial-file-name-match-p  el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-partial-file-name-match-p (_tag)$/
-tag-re-match-p el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-re-match-p (re)$/
-tag-symbol-match-p     el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-symbol-match-p (tag)$/
-tag-word-match-p       el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-word-match-p (tag)$/
-tag1   c-src/dostorture.c      /^(*tag1 (sig, handler)) ()$/
-tag1   c-src/h.h       110
-tag1   c-src/torture.c /^(*tag1 (sig, handler)) ()$/
-tag2   c-src/dostorture.c      /^(*tag2 (sig, handler)) ()$/
-tag2   c-src/torture.c /^(*tag2 (sig, handler)) ()$/
-tag3   c-src/dostorture.c      /^(*tag3 (int sig, void (*handler) (int))) (int)$/
-tag3   c-src/torture.c /^(*tag3 (int sig, void (*handler) (int))) (int)$/
-tag4   c-src/dostorture.c      /^(*tag4 (int sig, void (*handler) (int))) (int)$/
-tag4   c-src/torture.c /^(*tag4 (int sig, void (*handler) (int))) (int)$/
-tag5   c-src/dostorture.c      /^tag5 (handler, arg)$/
-tag5   c-src/torture.c /^tag5 (handler, arg)$/
-tag6   c-src/dostorture.c      /^tag6 (void (*handler) (void *), void *arg)$/
-tag6   c-src/torture.c /^tag6 (void (*handler) (void *), void *arg)$/
-tag_or_ch      c-src/emacs/src/lisp.h  3026
-taggedfname    c-src/etags.c   207
-tags   make-src/Makefile       /^tags: TAGS$/
-tags-add-tables        el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-add-tables 'ask-user$/
-tags-apropos   el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-apropos (regexp)$/
-tags-apropos-additional-actions        el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-apropos-additional-actions nil$/
-tags-apropos-function  el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-apropos-function nil$/
-tags-apropos-verbose   el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-apropos-verbose nil$/
-tags-case-fold-search  el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-case-fold-search 'default$/
-tags-complete-tags-table-file  el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-complete-tags-table-file (string predi/
-tags-completion-at-point-function      el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-completion-at-point-function ()$/
-tags-completion-table  el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-completion-table ()$/
-tags-completion-table  el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-completion-table nil$/
-tags-completion-table-function el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-completion-table-function nil$/
-tags-compression-info-list     el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-compression-info-list$/
-tags-expand-table-name el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-expand-table-name (file)$/
-tags-file-name el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-file-name nil$/
-tags-included-tables   el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-included-tables ()$/
-tags-included-tables   el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-included-tables nil$/
-tags-included-tables-function  el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-included-tables-function nil$/
-tags-lazy-completion-table     el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-lazy-completion-table ()$/
-tags-location-ring     el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-location-ring (make-ring xref-marker-/
-tags-loop-continue     el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-loop-continue (&optional first-time)$/
-tags-loop-eval el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-loop-eval (form)$/
-tags-loop-operate      el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-loop-operate nil$/
-tags-loop-revert-buffers       el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-loop-revert-buffers nil$/
-tags-loop-scan el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-loop-scan$/
-tags-next-table        el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-next-table ()$/
-tags-query-replace     el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-query-replace (from to &optional delim/
-tags-recognize-empty-tags-table        el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-recognize-empty-tags-table ()$/
-tags-reset-tags-tables el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-reset-tags-tables ()$/
-tags-revert-without-query      el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-revert-without-query nil$/
-tags-search    el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-search (regexp &optional file-list-for/
-tags-select-tags-table el-src/emacs/lisp/progmodes/etags.el    /^(define-button-type 'tags-select-tags-table$/
-tags-table-check-computed-list el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-check-computed-list ()$/
-tags-table-computed-list       el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-computed-list nil$/
-tags-table-computed-list-for   el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-computed-list-for nil$/
-tags-table-extend-computed-list        el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-extend-computed-list ()$/
-tags-table-files       el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-files ()$/
-tags-table-files       el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-files nil$/
-tags-table-files-function      el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-files-function nil$/
-tags-table-format-functions    el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-format-functions '(etags-recogn/
-tags-table-including   el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-including (this-file core-only)$/
-tags-table-list        el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-table-list nil$/
-tags-table-list-member el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-list-member (file list)$/
-tags-table-list-pointer        el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-list-pointer nil$/
-tags-table-list-started-at     el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-list-started-at nil$/
-tags-table-mode        el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-mode ()$/
-tags-table-set-list    el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-set-list nil$/
-tags-tag-face  el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-tag-face 'default$/
-tags-verify-table      el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-verify-table (file)$/
-tags-with-face el-src/emacs/lisp/progmodes/etags.el    /^(defmacro tags-with-face (face &rest body)$/
-target_multibyte       c-src/emacs/src/regex.h 407
-tcpdump        html-src/software.html  /^tcpdump$/
-teats  cp-src/c.C      127
-tee    ruby-src/test1.ru       /^    attr_accessor :tee$/
-tee=   ruby-src/test1.ru       /^    attr_accessor :tee$/
-temporarily_switch_to_single_kboard    c-src/emacs/src/keyboard.c      /^temporarily_switch_to_single_kboard (struct frame /
-tend   c-src/etags.c   2432
-term   merc-src/accumulator.m  /^:- import_module term.$/
-terminate      objc-src/Subprocess.m   /^- terminate:sender$/
-terminateInput objc-src/Subprocess.m   /^- terminateInput$/
-test   c-src/emacs/src/lisp.h  1871
-test   cp-src/c.C      86
-test   erl-src/gs_dialog.erl   /^test() ->$/
-test   go-src/test1.go /^func test(p plus) {$/
-test   make-src/Makefile       /^test:$/
-test   php-src/ptest.php       /^test $/
-test-begin     scm-src/test.scm        /^(define-syntax test-begin$/
-test.me22b     lua-src/test.lua        /^   local function test.me22b (one)$/
-test.me_22a    lua-src/test.lua        /^   function test.me_22a(one, two)$/
-test1  rs-src/test.rs  /^fn test1() {$/
-test_crlf1     test_crlf.c     /^void test_crlf1()$/
-test_crlf2     tset_crlf.c     /^void test_crlf2()$/
-test_undefined c-src/emacs/src/keyboard.c      /^test_undefined (Lisp_Object binding)$/
-texttreelist   prol-src/natded.prolog  /^texttreelist([]).$/
-there-is-a-=-in-the-middle!    scm-src/test.scm        /^(define (there-is-a-=-in-the-middle!) #t)$/
-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/
-this-single-command-keys       c-src/emacs/src/keyboard.c      /^DEFUN ("this-single-command-keys", Fthis_single_co/
-this-single-command-raw-keys   c-src/emacs/src/keyboard.c      /^DEFUN ("this-single-command-raw-keys", Fthis_singl/
-this_command_key_count c-src/emacs/src/keyboard.c      108
-this_command_key_count_reset   c-src/emacs/src/keyboard.c      112
-this_command_keys      c-src/emacs/src/keyboard.c      107
-this_file_toc  perl-src/htlmify-cystic 29
-this_single_command_key_start  c-src/emacs/src/keyboard.c      125
-tignore        c-src/etags.c   2433
-timer_check    c-src/emacs/src/keyboard.c      /^timer_check (void)$/
-timer_check_2  c-src/emacs/src/keyboard.c      /^timer_check_2 (Lisp_Object timers, Lisp_Object idl/
-timer_idleness_start_time      c-src/emacs/src/keyboard.c      335
-timer_last_idleness_start_time c-src/emacs/src/keyboard.c      340
-timer_resume_idle      c-src/emacs/src/keyboard.c      /^timer_resume_idle (void)$/
-timer_start_idle       c-src/emacs/src/keyboard.c      /^timer_start_idle (void)$/
-timer_stop_idle        c-src/emacs/src/keyboard.c      /^timer_stop_idle (void)$/
-timers_run     c-src/emacs/src/keyboard.c      320
-tinbody        c-src/etags.c   2431
-tkeyseen       c-src/etags.c   2429
-tnone  c-src/etags.c   2428
-toc_line       perl-src/htlmify-cystic /^sub toc_line ($)$/
-toggleDescription      objc-src/PackInsp.m     /^-toggleDescription$/
-tok    c-src/etags.c   2491
-token  c-src/etags.c   2508
-token  y-src/cccp.y    437
-token  y-src/cccp.y    439
-tokenize       prol-src/natded.prolog  /^tokenize([C1,C2,C3|Cs],Xs-Ys,TsResult):-     % spe/
-tokenizeatom   prol-src/natded.prolog  /^tokenizeatom(Atom,Ws):-$/
-tokentab2      y-src/cccp.y    442
-tool_bar_item_properties       c-src/emacs/src/keyboard.c      7970
-tool_bar_items c-src/emacs/src/keyboard.c      /^tool_bar_items (Lisp_Object reuse, int *nitems)$/
-tool_bar_items_vector  c-src/emacs/src/keyboard.c      7965
-toolkit_menubar_in_use c-src/emacs/src/keyboard.c      /^toolkit_menubar_in_use (struct frame *f)$/
-top-level      c-src/emacs/src/keyboard.c      /^DEFUN ("top-level", Ftop_level, Stop_level, 0, 0, /
-top_level      merc-src/accumulator.m  /^:- type top_level$/
-top_level_1    c-src/emacs/src/keyboard.c      /^top_level_1 (Lisp_Object ignore)$/
-top_level_2    c-src/emacs/src/keyboard.c      /^top_level_2 (void)$/
-total_keys     c-src/emacs/src/keyboard.c      97
-total_size_of_entries  c-src/etags.c   /^total_size_of_entries (register node *np)$/
-total_surrounding      cp-src/conway.cpp       /^int site::total_surrounding(void)$/
-totally_unblock_input  c-src/emacs/src/keyboard.c      /^totally_unblock_input (void)$/
-tpcmd  c-src/h.h       15
-tpcmd  c-src/h.h       8
-track-mouse    c-src/emacs/src/keyboard.c      /^DEFUN ("internal--track-mouse", Ftrack_mouse, Stra/
-tracking_off   c-src/emacs/src/keyboard.c      /^tracking_off (Lisp_Object old_value)$/
-traffic_light  cp-src/conway.cpp       /^void traffic_light(int x, int y)$/
-translate      c-src/emacs/src/regex.h 361
-treats cp-src/c.C      131
-tt     prol-src/natded.prolog  /^tt:-$/
-tt=cmtt10      tex-src/texinfo.tex     /^\\font\\deftt=cmtt10 scaled \\magstep1$/
-tty_read_avail_input   c-src/emacs/src/keyboard.c      /^tty_read_avail_input (struct terminal *terminal,$/
-ttypeseen      c-src/etags.c   2430
-typdef c-src/etags.c   2434
-type   c-src/emacs/src/gmalloc.c       145
-type   c-src/emacs/src/lisp.h  1973
-type   c-src/emacs/src/lisp.h  1980
-type   c-src/emacs/src/lisp.h  2034
-type   c-src/emacs/src/lisp.h  2112
-type   c-src/emacs/src/lisp.h  2203
-type   c-src/emacs/src/lisp.h  2276
-type   c-src/emacs/src/lisp.h  2286
-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   c-src/etags.c   2271
-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$/
-typemargin     tex-src/texinfo.tex     /^\\rlap{\\rightline{{\\rm #2}\\hskip \\deftypemargin}}}%/
-u      c-src/emacs/src/lisp.h  2397
-u_any  c-src/emacs/src/lisp.h  2214
-u_boolfwd      c-src/emacs/src/lisp.h  2371
-u_buffer_objfwd        c-src/emacs/src/lisp.h  2373
-u_finalizer    c-src/emacs/src/lisp.h  2219
-u_free c-src/emacs/src/lisp.h  2215
-u_intfwd       c-src/emacs/src/lisp.h  2370
-u_kboard_objfwd        c-src/emacs/src/lisp.h  2374
-u_marker       c-src/emacs/src/lisp.h  2216
-u_objfwd       c-src/emacs/src/lisp.h  2372
-u_overlay      c-src/emacs/src/lisp.h  2217
-u_save_value   c-src/emacs/src/lisp.h  2218
-unargs tex-src/texinfo.tex     /^\\defunargs {#2}\\endgroup %$/
-unargs tex-src/texinfo.tex     /^\\defunargs {#3}\\endgroup %$/
-unblock_input  c-src/emacs/src/keyboard.c      /^unblock_input (void)$/
-unblock_input_to       c-src/emacs/src/keyboard.c      /^unblock_input_to (int level)$/
-unchar c-src/h.h       99
-unexpand-abbrev        c-src/abbrev.c  /^DEFUN ("unexpand-abbrev", Funexpand_abbrev, Sunexp/
-univ   merc-src/accumulator.m  /^:- import_module univ.$/
-unravel_univ   merc-src/accumulator.m  /^:- some [T] pred unravel_univ(univ::in, T::out) is/
-unread_switch_frame    c-src/emacs/src/keyboard.c      204
-unsignedp      y-src/cccp.y    112
-unwind c-src/emacs/src/lisp.h  2962
-unwind_int     c-src/emacs/src/lisp.h  2972
-unwind_ptr     c-src/emacs/src/lisp.h  2967
-unwind_void    c-src/emacs/src/lisp.h  2976
-update_accumulator_pred        merc-src/accumulator.m  /^:- pred update_accumulator_pred(pred_id::in, proc_/
-uprintmax_t    c-src/emacs/src/lisp.h  149
-uprintmax_t    c-src/emacs/src/lisp.h  154
-usage  perl-src/yagrip.pl      /^sub usage {$/
-usecharno      c-src/etags.c   210
-used   c-src/emacs/src/regex.h 347
-used_syntax    c-src/emacs/src/regex.h 398
-user_cmp_function      c-src/emacs/src/lisp.h  1814
-user_error     c-src/emacs/src/keyboard.c      /^user_error (const char *msg)$/
-user_hash_function     c-src/emacs/src/lisp.h  1811
-user_signal_info       c-src/emacs/src/keyboard.c      7235
-user_signals   c-src/emacs/src/keyboard.c      7250
-usfreelock_ptr/t       ada-src/etags-test-for.ada      /^   type usfreelock_ptr is access$/
-val    c-src/emacs/src/lisp.h  3027
-val    c-src/emacs/src/lisp.h  691
-val    c-src/getopt.h  84
-val    prol-src/natded.prolog  /^val(X) --> ['['], valseq(X), [']'].$/
-valcell        c-src/emacs/src/lisp.h  2357
-valid  c-src/etags.c   220
-valid  c-src/etags.c   2502
-validate       php-src/lce_functions.php       /^      function validate($value)$/
-valloc c-src/emacs/src/gmalloc.c       /^valloc (size_t size)$/
-valseq prol-src/natded.prolog  /^valseq([Val|Vals]) --> val(Val), plusvalseq(Vals)./
-value  c-src/emacs/src/lisp.h  687
-value  y-src/cccp.y    112
-var    c-src/emacs/src/keyboard.c      11023
-var    c-src/emacs/src/lisp.h  3137
-varargs        tex-src/texinfo.tex     /^\\defvarargs {#2}\\endgroup %$/
-varargs        tex-src/texinfo.tex     /^\\defvarargs {#3}\\endgroup %$/
-varset merc-src/accumulator.m  /^:- import_module varset.$/
-vcopy  c-src/emacs/src/lisp.h  /^vcopy (Lisp_Object v, ptrdiff_t offset, Lisp_Objec/
-vectorlike_header      c-src/emacs/src/lisp.h  1343
-verde  cp-src/c.C      40
-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)$/
-vignore        c-src/etags.c   2417
-visit-tags-table       el-src/emacs/lisp/progmodes/etags.el    /^(defun visit-tags-table (file &optional local)$/
-visit-tags-table-buffer        el-src/emacs/lisp/progmodes/etags.el    /^(defun visit-tags-table-buffer (&optional cont)$/
-void   c-src/emacs/src/lisp.h  /^INLINE void (check_cons_list) (void) { lisp_h_chec/
-voidfuncptr    c-src/emacs/src/lisp.h  2108
-voidval        y-src/cccp.y    115
-wait_status_ptr_t      c.c     161
-waiting_for_input      c-src/emacs/src/keyboard.c      150
-warning        y-src/cccp.y    /^warning (msg)$/
-weak   c-src/emacs/src/lisp.h  1830
-weak_alias     c-src/emacs/src/gmalloc.c       /^weak_alias (free, cfree)$/
-web ftp publish        make-src/Makefile       /^web ftp publish:$/
-what   c-src/etags.c   252
-wheel_syms     c-src/emacs/src/keyboard.c      4628
-where  c-src/emacs/src/lisp.h  2348
-where  c-src/emacs/src/lisp.h  2980
-where  cp-src/clheir.hpp       77
-where_in_registry      cp-src/clheir.hpp       15
-windowWillClose        objcpp-src/SimpleCalc.M /^- windowWillClose:sender$/
-wipe_kboard    c-src/emacs/src/keyboard.c      /^wipe_kboard (KBOARD *kb)$/
-womboid        c-src/h.h       63
-womboid        c-src/h.h       75
-word_size      c-src/emacs/src/lisp.h  1473
-write  php-src/lce_functions.php       /^      function write($save="yes")$/
-write  php-src/lce_functions.php       /^      function write()$/
-write1=        ruby-src/test1.ru       /^    attr_reader :read1 , :read2; attr_writer :writ/
-write2=        ruby-src/test1.ru       /^    attr_reader :read1 , :read2; attr_writer :writ/
-write_abbrev   c-src/abbrev.c  /^write_abbrev (sym, stream)$/
-write_classname        c-src/etags.c   /^write_classname (linebuffer *cn, const char *quali/
-write_lex      prol-src/natded.prolog  /^write_lex(File):-$/
-write_lex_cat  prol-src/natded.prolog  /^write_lex_cat(File):-$/
-write_xyc      cp-src/screen.cpp       /^void write_xyc(int x, int y, char c)$/
-writebreak     prol-src/natded.prolog  /^writebreak([]).$/
-writebreaklex  prol-src/natded.prolog  /^writebreaklex([]).$/
-writecat       prol-src/natded.prolog  /^writecat(np(ind(sng),nm(_)),np,[],[]):-!.$/
-writelist      prol-src/natded.prolog  /^writelist([der(Ws)|Ws2]):-$/
-writelistsubs  prol-src/natded.prolog  /^writelistsubs([],X):-$/
-writenamestring        pas-src/common.pas      /^procedure writenamestring;(*($/
-writesubs      prol-src/natded.prolog  /^writesubs([]).$/
-writesups      prol-src/natded.prolog  /^writesups([]).$/
-written        c-src/etags.c   211
-x      c.c     153
-x      c.c     179
-x      c.c     188
-x      c.c     189
-x      cp-src/c.C      53
-x      cp-src/c.C      80
-x      cp-src/clheir.hpp       49
-x      cp-src/clheir.hpp       58
-x      cp-src/conway.hpp       7
-x      cp-src/fail.C   10
-x      cp-src/fail.C   44
-x      tex-src/texinfo.tex     /^\\refx{#1-snt}{} [\\printednodename], page\\tie\\refx{/
-x-get-selection-internal       c.c     /^       Fx_get_selection_internal, Sx_get_selection/
-x-get-selection-internal       c.c     /^DEFUN ("x-get-selection-internal", Fx_get_selectio/
-xcar_addr      c-src/emacs/src/lisp.h  /^xcar_addr (Lisp_Object c)$/
-xcdr_addr      c-src/emacs/src/lisp.h  /^xcdr_addr (Lisp_Object c)$/
-xdiff  make-src/Makefile       /^xdiff: ETAGS EXTAGS ${infiles}$/
-xmalloc        c-src/etags.c   /^xmalloc (size_t size)$/
-xnew   c-src/etags.c   /^#define xnew(n, Type)      ((Type *) xmalloc ((n) /
-xrealloc       c-src/etags.c   /^xrealloc (void *ptr, size_t size)$/
-xref-etags-location    el-src/emacs/lisp/progmodes/etags.el    /^(defclass xref-etags-location (xref-location)$/
-xref-location-line     el-src/emacs/lisp/progmodes/etags.el    /^(cl-defmethod xref-location-line ((l xref-etags-lo/
-xref-location-marker   el-src/emacs/lisp/progmodes/etags.el    /^(cl-defmethod xref-location-marker ((l xref-etags-/
-xref-make-etags-location       el-src/emacs/lisp/progmodes/etags.el    /^(defun xref-make-etags-location (tag-info file)$/
-xrnew  c-src/etags.c   /^#define xrnew(op, n, Type) ((op) = (Type *) xreall/
-xx     make-src/Makefile       /^xx="this line is here because of a fontlock bug$/
-xyz    ruby-src/test1.ru       /^    alias_method :xyz,$/
-y      cp-src/clheir.hpp       49
-y      cp-src/clheir.hpp       58
-y      cp-src/conway.hpp       7
-y-get-selection-internal       c.c     /^      Fy_get_selection_internal, Sy_get_selection_/
-yyalloc        /usr/share/bison/bison.simple   83
-yyalloc        /usr/share/bison/bison.simple   84
-yyclearin      /usr/share/bison/bison.simple   149
-yyclearin      /usr/share/bison/bison.simple   150
-yydebug        /usr/share/bison/bison.simple   237
-yydebug        /usr/share/bison/bison.simple   238
-yyerrhandle    /usr/share/bison/bison.simple   848
-yyerrlab1      /usr/share/bison/bison.simple   823
-yyerrok        /usr/share/bison/bison.simple   148
-yyerrok        /usr/share/bison/bison.simple   149
-yyerror        y-src/cccp.y    /^yyerror (s)$/
-yyerrstatus    /usr/share/bison/bison.simple   846
-yylex  y-src/cccp.y    /^yylex ()$/
-yyls   /usr/share/bison/bison.simple   88
-yyls   /usr/share/bison/bison.simple   89
-yylsp  /usr/share/bison/bison.simple   748
-yylsp  /usr/share/bison/bison.simple   921
-yymemcpy       /usr/share/bison/bison.simple   /^yymemcpy (char *yyto, const char *yyfrom, YYSIZE_T/
-yymemcpy       /usr/share/bison/bison.simple   264
-yymemcpy       /usr/share/bison/bison.simple   265
-yyn    /usr/share/bison/bison.simple   755
-yyn    /usr/share/bison/bison.simple   861
-yyn    /usr/share/bison/bison.simple   895
-yyn    /usr/share/bison/bison.simple   903
-yynewstate     /usr/share/bison/bison.simple   763
-yynewstate     /usr/share/bison/bison.simple   925
-yyparse        /usr/share/bison/bison.simple   /^yyparse (YYPARSE_PARAM_ARG)$/
-yyresult       /usr/share/bison/bison.simple   932
-yyresult       /usr/share/bison/bison.simple   939
-yyresult       /usr/share/bison/bison.simple   947
-yyreturn       /usr/share/bison/bison.simple   933
-yyreturn       /usr/share/bison/bison.simple   940
-yyss   /usr/share/bison/bison.simple   85
-yyss   /usr/share/bison/bison.simple   86
-yystate        /usr/share/bison/bison.simple   757
-yystate        /usr/share/bison/bison.simple   761
-yystate        /usr/share/bison/bison.simple   875
-yystate        /usr/share/bison/bison.simple   924
-yystpcpy       /usr/share/bison/bison.simple   /^yystpcpy (char *yydest, const char *yysrc)$/
-yystpcpy       /usr/share/bison/bison.simple   316
-yystpcpy       /usr/share/bison/bison.simple   317
-yystrlen       /usr/share/bison/bison.simple   /^yystrlen (const char *yystr)$/
-yystrlen       /usr/share/bison/bison.simple   293
-yystrlen       /usr/share/bison/bison.simple   294
-yyvs   /usr/share/bison/bison.simple   86
-yyvs   /usr/share/bison/bison.simple   87
-yyvsp  /usr/share/bison/bison.simple   746
-yyvsp  /usr/share/bison/bison.simple   919
-z      c.c     144
-z      c.c     164
-z      cp-src/clheir.hpp       49
-z      cp-src/clheir.hpp       58
-|      tex-src/texinfo.tex     /^\\def|{{\\tt \\char '174}}$/
-~      tex-src/texinfo.tex     /^\\def~{{\\tt \\char '176}}$/
-~A     cp-src/c.C      /^A::~A() {}$/
-~B     cp-src/c.C      /^    ~B() {};$/
-~MDiagArray2   cp-src/MDiagArray2.h    /^  ~MDiagArray2 (void) { }$/
-~generic_object        cp-src/clheir.cpp       /^generic_object::~generic_object(void)$/
diff --git a/test/manual/etags/CTAGS.good_update b/test/manual/etags/CTAGS.good_update
deleted file mode 100644 (file)
index c618b95..0000000
+++ /dev/null
@@ -1,4483 +0,0 @@
-
-#a-defer-word  forth-src/test-forth.fth        /^defer #a-defer-word$/
-#some-storage  forth-src/test-forth.fth        /^2000 buffer: #some-storage$/
-$0x80  c-src/sysdep.h  32
-$SYS_##syscall_na      c-src/sysdep.h  31
-$domain        php-src/lce_functions.php       175
-$filename      php-src/lce_functions.php       174
-$ignore_ws     php-src/lce_functions.php       171
-$memassign     php-src/ptest.php       9
-$memassign_space       php-src/ptest.php       10
-$member        php-src/ptest.php       8
-$msgid php-src/lce_functions.php       107
-$msgid php-src/lce_functions.php       165
-$msgid_lc      php-src/lce_functions.php       113
-$msgstr        php-src/lce_functions.php       108
-$msgstr        php-src/lce_functions.php       166
-$msgstr_lc     php-src/lce_functions.php       114
-$po_entries    php-src/lce_functions.php       172
-$poe_num       php-src/lce_functions.php       173
-$por_a php-src/lce_functions.php       500
-$prefix        php-src/lce_functions.php       72
-$state php-src/lce_functions.php       170
-$sys_comment   php-src/lce_functions.php       110
-$sys_comment   php-src/lce_functions.php       168
-$sys_comment_lc        php-src/lce_functions.php       116
-$test  php-src/ptest.php       12
-$unk_comment   php-src/lce_functions.php       111
-$unk_comment   php-src/lce_functions.php       169
-$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
-${CHECKOBJS}   make-src/Makefile       /^${CHECKOBJS}: CFLAGS=-g3 -DNULLFREECHECK=0$/
-%cdiff make-src/Makefile       /^%cdiff: CTAGS% CTAGS ${infiles}$/
-%ediff make-src/Makefile       /^%ediff: ETAGS% ETAGS ${infiles}$/
-($_,$flag,$opt,$f,$r,@temp     perl-src/yagrip.pl      8
-($prog,$_,@list        perl-src/yagrip.pl      39
-($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) ( -- )$/
-(foo)  forth-src/test-forth.fth        /^: (foo) 1 ;$/
-+      ruby-src/test.rb        /^        def +(y)$/
-+      tex-src/texinfo.tex     /^\\def+{{\\tt \\char 43}}$/
-.PRECIOUS      make-src/Makefile       /^.PRECIOUS: ETAGS CTAGS ETAGS16 CTAGS16 ETAGS17 CTA/
-/.notdef       ps-src/rfc1245.ps       /^\/.notdef \/.notdef \/.notdef \/.notdef \/.notdef \/.not/
-/.notdef       ps-src/rfc1245.ps       /^\/.notdef \/.notdef \/.notdef \/.notdef \/space \/exclam/
-/A     ps-src/rfc1245.ps       /^\/A { $/
-/Acircumflex   ps-src/rfc1245.ps       /^\/Acircumflex \/Ecircumflex \/Aacute \/Edieresis \/Egra/
-/B     ps-src/rfc1245.ps       /^\/B { $/
-/BEGINBITMAP2BIT       ps-src/rfc1245.ps       /^\/BEGINBITMAP2BIT { $/
-/BEGINBITMAP2BITc      ps-src/rfc1245.ps       /^\/BEGINBITMAP2BITc { $/
-/BEGINBITMAPBW ps-src/rfc1245.ps       /^\/BEGINBITMAPBW { $/
-/BEGINBITMAPBWc        ps-src/rfc1245.ps       /^\/BEGINBITMAPBWc { $/
-/BEGINBITMAPGRAY       ps-src/rfc1245.ps       /^\/BEGINBITMAPGRAY { $/
-/BEGINBITMAPGRAYc      ps-src/rfc1245.ps       /^\/BEGINBITMAPGRAYc { $/
-/BEGINPRINTCODE        ps-src/rfc1245.ps       /^\/BEGINPRINTCODE { $/
-/BF    ps-src/rfc1245.ps       /^\/BF { $/
-/BITMAPCOLOR   ps-src/rfc1245.ps       /^\/BITMAPCOLOR { $/
-/BITMAPCOLORc  ps-src/rfc1245.ps       /^\/BITMAPCOLORc { $/
-/BITMAPGRAY    ps-src/rfc1245.ps       /^\/BITMAPGRAY { $/
-/BITMAPGRAYc   ps-src/rfc1245.ps       /^\/BITMAPGRAYc { $/
-/C     ps-src/rfc1245.ps       /^\/C { $/
-/COMMONBITMAP  ps-src/rfc1245.ps       /^\/COMMONBITMAP { $/
-/COMMONBITMAPc ps-src/rfc1245.ps       /^\/COMMONBITMAPc { $/
-/D     ps-src/rfc1245.ps       /^\/D {curveto} bind def$/
-/DiacriticEncoding     ps-src/rfc1245.ps       /^\/DiacriticEncoding [$/
-/E     ps-src/rfc1245.ps       /^\/E {lineto} bind def$/
-/ENDBITMAP     ps-src/rfc1245.ps       /^\/ENDBITMAP {$/
-/ENDPRINTCODE  ps-src/rfc1245.ps       /^\/ENDPRINTCODE {$/
-/F     ps-src/rfc1245.ps       /^\/F { $/
-/FMBEGINEPSF   ps-src/rfc1245.ps       /^\/FMBEGINEPSF { $/
-/FMBEGINPAGE   ps-src/rfc1245.ps       /^\/FMBEGINPAGE { $/
-/FMDEFINEFONT  ps-src/rfc1245.ps       /^\/FMDEFINEFONT { $/
-/FMDOCUMENT    ps-src/rfc1245.ps       /^\/FMDOCUMENT { $/
-/FMENDEPSF     ps-src/rfc1245.ps       /^\/FMENDEPSF {$/
-/FMENDPAGE     ps-src/rfc1245.ps       /^\/FMENDPAGE {$/
-/FMLOCAL       ps-src/rfc1245.ps       /^\/FMLOCAL {$/
-/FMNORMALIZEGRAPHICS   ps-src/rfc1245.ps       /^\/FMNORMALIZEGRAPHICS { $/
-/FMVERSION     ps-src/rfc1245.ps       /^\/FMVERSION {$/
-/FMversion     ps-src/rfc1245.ps       /^\/FMversion (2.0) def $/
-/Fmcc  ps-src/rfc1245.ps       /^\/Fmcc {$/
-/FrameDict     ps-src/rfc1245.ps       /^\/FrameDict 190 dict def $/
-/G     ps-src/rfc1245.ps       /^\/G { $/
-/H     ps-src/rfc1245.ps       /^\/H { $/
-/Icircumflex   ps-src/rfc1245.ps       /^\/Icircumflex \/Idieresis \/Igrave \/Oacute \/Ocircumfl/
-/L     ps-src/rfc1245.ps       /^\/L \/M \/N \/O \/P \/Q \/R \/S \/T \/U \/V \/W \/X \/Y \/Z \/brac/
-/L     ps-src/rfc1245.ps       /^\/L { $/
-/M     ps-src/rfc1245.ps       /^\/M {newpath moveto} bind def$/
-/N     ps-src/rfc1245.ps       /^\/N { $/
-/Ntilde        ps-src/rfc1245.ps       /^\/Ntilde \/Odieresis \/Udieresis \/aacute \/agrave \/aci/
-/O     ps-src/rfc1245.ps       /^\/O {closepath} bind def$/
-/Otilde        ps-src/rfc1245.ps       /^\/Otilde \/OE \/oe \/endash \/emdash \/quotedblleft \/quo/
-/P     ps-src/rfc1245.ps       /^\/P { $/
-/PF    ps-src/rfc1245.ps       /^\/PF { $/
-/R     ps-src/rfc1245.ps       /^\/R { $/
-/RF    ps-src/rfc1245.ps       /^\/RF { $/
-/RR    ps-src/rfc1245.ps       /^\/RR { $/
-/ReEncode      ps-src/rfc1245.ps       /^\/ReEncode { $/
-/S     ps-src/rfc1245.ps       /^\/S { $/
-/SF    ps-src/rfc1245.ps       /^\/SF { $/
-/T     ps-src/rfc1245.ps       /^\/T { $/
-/TF    ps-src/rfc1245.ps       /^\/TF { $/
-/U     ps-src/rfc1245.ps       /^\/U { $/
-/Uacute        ps-src/rfc1245.ps       /^\/Uacute \/Ucircumflex \/Ugrave \/dotlessi \/circumflex/
-/V     ps-src/rfc1245.ps       /^\/V { $/
-/W     ps-src/rfc1245.ps       /^\/W { $/
-/X     ps-src/rfc1245.ps       /^\/X { $/
-/Y     ps-src/rfc1245.ps       /^\/Y { $/
-/Z     ps-src/rfc1245.ps       /^\/Z {$/
-/atilde        ps-src/rfc1245.ps       /^\/atilde \/aring \/ccedilla \/eacute \/egrave \/ecircumf/
-/bl    ps-src/rfc1245.ps       /^\/bl { $/
-/braceright    ps-src/rfc1245.ps       /^\/braceright \/asciitilde \/.notdef \/Adieresis \/Aring/
-/bracketright  ps-src/rfc1245.ps       /^\/bracketright \/asciicircum \/underscore \/grave \/a \//
-/breve ps-src/rfc1245.ps       /^\/breve \/dotaccent \/ring \/cedilla \/hungarumlaut \/og/
-/cfs   ps-src/rfc1245.ps       /^\/cfs { $/
-/colorsetup    ps-src/rfc1245.ps       /^\/colorsetup {$/
-/desperatepapersize    ps-src/rfc1245.ps       /^\/desperatepapersize {$/
-/dieresis      ps-src/rfc1245.ps       /^\/dieresis \/.notdef \/AE \/Oslash \/.notdef \/.notdef \//
-/dmatrix       ps-src/rfc1245.ps       /^\/dmatrix matrix def$/
-/dnormalize    ps-src/rfc1245.ps       /^\/dnormalize {$/
-/dpi   ps-src/rfc1245.ps       /^\/dpi    72 0 dmatrix defaultmatrix dtransform$/
-/exclamdown    ps-src/rfc1245.ps       /^\/exclamdown \/logicalnot \/.notdef \/florin \/.notdef /
-/fakecolorsetup        ps-src/rfc1245.ps       /^\/fakecolorsetup {$/
-/fillprocs     ps-src/rfc1245.ps       /^\/fillprocs 32 array def$/
-/fl    ps-src/rfc1245.ps       /^\/fl { $/
-/fraction      ps-src/rfc1245.ps       /^\/fraction \/currency \/guilsinglleft \/guilsinglright/
-/freq  ps-src/rfc1245.ps       /^\/freq dpi 18.75 div 8 div round dup 0 eq {pop 1} i/
-/gn    ps-src/rfc1245.ps       /^\/gn { $/
-/graymode      ps-src/rfc1245.ps       /^\/graymode true def$/
-/grayness      ps-src/rfc1245.ps       /^\/grayness {$/
-/guillemotleft ps-src/rfc1245.ps       /^\/guillemotleft \/guillemotright \/ellipsis \/.notdef /
-/home/www/pub/etags.c.gz       make-src/Makefile       /^\/home\/www\/pub\/etags.c.gz: etags.c$/
-/home/www/pub/software/unix/etags.tar.gz       make-src/Makefile       /^\/home\/www\/pub\/software\/unix\/etags.tar.gz: Makefile/
-/hx    ps-src/rfc1245.ps       /^\/hx { $/
-/i     ps-src/rfc1245.ps       /^\/i \/j \/k \/l \/m \/n \/o \/p \/q \/r \/s \/t \/u \/v \/w \/x \/y/
-/iacute        ps-src/rfc1245.ps       /^\/iacute \/igrave \/icircumflex \/idieresis \/ntilde \/o/
-/ic    ps-src/rfc1245.ps       /^\/ic [ $/
-/inch  ps-src/rfc1245.ps       /^\/inch {72 mul} def$/
-/ip    ps-src/rfc1245.ps       /^\/ip { $/
-/less  ps-src/rfc1245.ps       /^\/less \/equal \/greater \/question \/at \/A \/B \/C \/D \/E/
-/lnormalize    ps-src/rfc1245.ps       /^\/lnormalize { $/
-/manualpapersize       ps-src/rfc1245.ps       /^\/manualpapersize {$/
-/max   ps-src/rfc1245.ps       /^\/max {2 copy lt {exch} if pop} bind def$/
-/min   ps-src/rfc1245.ps       /^\/min {2 copy gt {exch} if pop} bind def$/
-/ms    ps-src/rfc1245.ps       /^\/ms { $/
-/nbluet        ps-src/rfc1245.ps       /^\/nbluet 256 array def$/
-/ngrayt        ps-src/rfc1245.ps       /^\/ngrayt 256 array def$/
-/ngreent       ps-src/rfc1245.ps       /^\/ngreent 256 array def$/
-/normalize     ps-src/rfc1245.ps       /^\/normalize {$/
-/nredt ps-src/rfc1245.ps       /^\/nredt 256 array def$/
-/numbersign    ps-src/rfc1245.ps       /^\/numbersign \/dollar \/percent \/ampersand \/quotesing/
-/ocircumflex   ps-src/rfc1245.ps       /^\/ocircumflex \/odieresis \/otilde \/uacute \/ugrave \/u/
-/ordfeminine   ps-src/rfc1245.ps       /^\/ordfeminine \/ordmasculine \/.notdef \/ae \/oslash \/q/
-/pagedimen     ps-src/rfc1245.ps       /^\/pagedimen { $/
-/papersize     ps-src/rfc1245.ps       /^\/papersize {$/
-/paragraph     ps-src/rfc1245.ps       /^\/paragraph \/germandbls \/registered \/copyright \/tra/
-/parenright    ps-src/rfc1245.ps       /^\/parenright \/asterisk \/plus \/comma \/hyphen \/period/
-/periodcentered        ps-src/rfc1245.ps       /^\/periodcentered \/quotesinglbase \/quotedblbase \/per/
-/quoteleft     ps-src/rfc1245.ps       /^\/quoteleft \/quoteright \/.notdef \/.notdef \/ydieresi/
-/restorematrix ps-src/rfc1245.ps       /^\/restorematrix {$/
-/s1    ps-src/rfc1245.ps       /^\/s1 1 string def$/
-/sangle        ps-src/rfc1245.ps       /^\/sangle 1 0 dmatrix defaultmatrix dtransform exch /
-/savematrix    ps-src/rfc1245.ps       /^\/savematrix {$/
-/setmanualfeed ps-src/rfc1245.ps       /^\/setmanualfeed {$/
-/setpapername  ps-src/rfc1245.ps       /^\/setpapername { $/
-/setpattern    ps-src/rfc1245.ps       /^\/setpattern {$/
-/two   ps-src/rfc1245.ps       /^\/two \/three \/four \/five \/six \/seven \/eight \/nine \//
-/udieresis     ps-src/rfc1245.ps       /^\/udieresis \/dagger \/.notdef \/cent \/sterling \/secti/
-/wbytes        ps-src/rfc1245.ps       /^\/wbytes { $/
-/wh    ps-src/rfc1245.ps       /^\/wh { $/
-/yen   ps-src/rfc1245.ps       /^\/yen \/.notdef \/.notdef \/.notdef \/.notdef \/.notdef /
-2const forth-src/test-forth.fth        /^3 4 2constant 2const$/
-2val   forth-src/test-forth.fth        /^2const 2value 2val$/
-2var   forth-src/test-forth.fth        /^2variable 2var$/
-:a-forth-dictionary-entry      forth-src/test-forth.fth        /^create :a-forth-dictionary-entry$/
-<      tex-src/texinfo.tex     /^\\def<{{\\tt \\less}}$/
-<<     ruby-src/test.rb        /^        def <<(y)$/
-<=     ruby-src/test.rb        /^        def <=(y)$/
-<=>    ruby-src/test.rb        /^        def <=>(y)$/
-=      tex-src/texinfo.tex     /^\\global\\def={{\\tt \\char 61}}}$/
-=      tex-src/texinfo.tex     /^\\global\\let\\section = \\appendixsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\section = \\numberedsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\section = \\unnumberedsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsection = \\appendixsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsection = \\numberedsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsection = \\unnumberedsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsubsection = \\appendixsubsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsubsection = \\numberedsubsubsec$/
-=      tex-src/texinfo.tex     /^\\global\\let\\subsubsection = \\unnumberedsubsubsec$/
-=/f    ada-src/etags-test-for.ada      /^   function "=" (L, R : System.Address) return Boo/
-==     ruby-src/test.rb        /^        def ==(y)$/
-===    ruby-src/test.rb        /^        def ===(y)$/
-=\indexdummyfont       tex-src/texinfo.tex     /^\\let\\cite=\\indexdummyfont$/
-=\relax        tex-src/texinfo.tex     /^\\let\\appendix=\\relax$/
-=\relax        tex-src/texinfo.tex     /^\\let\\chapter=\\relax$/
-=\relax        tex-src/texinfo.tex     /^\\let\\section=\\relax$/
-=\relax        tex-src/texinfo.tex     /^\\let\\subsection=\\relax$/
-=\relax        tex-src/texinfo.tex     /^\\let\\subsubsection=\\relax$/
-=\smartitalic  tex-src/texinfo.tex     /^\\let\\cite=\\smartitalic$/
-=starts-with-equals!   scm-src/test.scm        /^(define =starts-with-equals! #t)$/
->      tex-src/texinfo.tex     /^\\def>{{\\tt \\gtr}}$/
->field1        forth-src/test-forth.fth        /^   9   field   >field1$/
->field2        forth-src/test-forth.fth        /^   5   field   >field2$/
-A      c.c     162
-A      cp-src/c.C      /^void A::A() {}$/
-A      cp-src/c.C      117
-A      cp-src/c.C      39
-A      cp-src/c.C      56
-A      cp-src/c.C      57
-A      cp-src/c.C      73
-A      cp-src/fail.C   23
-A      cp-src/fail.C   7
-A      ruby-src/test1.ru       /^class A$/
-A      ruby-src/test1.ru       /^module A$/
-ABC    ruby-src/test1.ru       11
-ADASRC make-src/Makefile       /^ADASRC=etags-test-for.ada 2ataspri.adb 2ataspri.ad/
-ADDRESS        c-src/emacs/src/gmalloc.c       /^#define ADDRESS(B)    ((void *) (((B) - 1) * BLOCKSIZ/
-ALIGNOF_STRUCT_LISP_VECTOR     c-src/emacs/src/lisp.h  1378
-ALLOCATED_BEFORE_DUMPING       c-src/emacs/src/gmalloc.c       /^#define ALLOCATED_BEFORE_DUMPING(P) \\$/
-ALLOCATE_PSEUDOVECTOR  c-src/emacs/src/lisp.h  /^#define ALLOCATE_PSEUDOVECTOR(type, field, tag)                       /
-ALLOCATE_ZEROED_PSEUDOVECTOR   c-src/emacs/src/lisp.h  /^#define ALLOCATE_ZEROED_PSEUDOVECTOR(type, field, /
-AND    y-src/cccp.c    11
-ANSIC  c-src/h.h       84
-ANSIC  c-src/h.h       85
-AREF   c-src/emacs/src/lisp.h  /^AREF (Lisp_Object array, ptrdiff_t idx)$/
-ARGS   make-src/Makefile       /^ARGS=- < srclist$/
-ARITH_EQUAL    c-src/emacs/src/lisp.h  3498
-ARITH_GRTR     c-src/emacs/src/lisp.h  3501
-ARITH_GRTR_OR_EQUAL    c-src/emacs/src/lisp.h  3503
-ARITH_LESS     c-src/emacs/src/lisp.h  3500
-ARITH_LESS_OR_EQUAL    c-src/emacs/src/lisp.h  3502
-ARITH_NOTEQUAL c-src/emacs/src/lisp.h  3499
-ARRAYELTS      c-src/emacs/src/lisp.h  /^#define ARRAYELTS(arr) (sizeof (arr) \/ sizeof (arr/
-ARRAYP c-src/emacs/src/lisp.h  /^ARRAYP (Lisp_Object x)$/
-ARRAY_MARK_FLAG        c-src/emacs/src/lisp.h  768
-ASCII_CHAR_P   c-src/emacs/src/lisp.h  /^#define ASCII_CHAR_P(c) UNSIGNED_CMP (c, <, 0x80)$/
-ASET   c-src/emacs/src/lisp.h  /^ASET (Lisp_Object array, ptrdiff_t idx, Lisp_Objec/
-ASIZE  c-src/emacs/src/lisp.h  /^ASIZE (Lisp_Object array)$/
-ASRC   make-src/Makefile       /^ASRC=empty.zz empty.zz.gz$/
-AST_Array::AST_Array   cp-src/c.C      /^AST_Array::AST_Array(UTL_ScopedName *n, unsigned l/
-AST_ConcreteType::AST_ConcreteType     cp-src/c.C      /^AST_ConcreteType::AST_ConcreteType(AST_Decl::NodeT/
-AST_Root       cp-src/c.C      92
-AT     cp-src/c.C      52
-AU     cp-src/c.C      53
-AUTOLOADP      c-src/emacs/src/lisp.h  /^AUTOLOADP (Lisp_Object x)$/
-AUTO_CONS      c-src/emacs/src/lisp.h  /^#define AUTO_CONS(name, a, b) Lisp_Object name = A/
-AUTO_CONS_EXPR c-src/emacs/src/lisp.h  /^#define AUTO_CONS_EXPR(a, b) \\$/
-AUTO_LIST1     c-src/emacs/src/lisp.h  /^#define AUTO_LIST1(name, a)                                           \\$/
-AUTO_LIST2     c-src/emacs/src/lisp.h  /^#define AUTO_LIST2(name, a, b)                                                \\$/
-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/
-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$/
-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
-Ada_suffixes   c-src/etags.c   473
-AddNullToNmStr pas-src/common.pas      /^function AddNullToNmStr; (*($/
-Address_To_Call_State/f        ada-src/2ataspri.adb    /^      function Address_To_Call_State is new$/
-Address_To_TCB_Ptr/f   ada-src/2ataspri.ads    /^   function Address_To_TCB_Ptr is new$/
-Advanced usage tex-src/gzip.texi       /^@node Advanced usage, Environment, Invoking gzip, /
-Aligned_Cons   c-src/emacs/src/lisp.h  4670
-Aligned_String c-src/emacs/src/lisp.h  4676
-AppendTextString       pas-src/common.pas      /^function AppendTextString;(*($/
-Arith_Comparison       c-src/emacs/src/lisp.h  3497
-Asm_help       c-src/etags.c   504
-Asm_labels     c-src/etags.c   /^Asm_labels (FILE *inf)$/
-Asm_suffixes   c-src/etags.c   493
-B      cp-src/c.C      /^void B::B() {}$/
-B      cp-src/c.C      122
-B      cp-src/c.C      54
-B      cp-src/c.C      56
-B      cp-src/c.C      74
-B      cp-src/fail.C   24
-B      cp-src/fail.C   8
-B      ruby-src/test1.ru       /^  class B$/
-BE_Node        cp-src/c.C      /^void BE_Node::BE_Node() {}$/
-BE_Node        cp-src/c.C      77
-BITS_PER_BITS_WORD     c-src/emacs/src/lisp.h  125
-BITS_PER_BITS_WORD     c-src/emacs/src/lisp.h  129
-BITS_PER_CHAR  c-src/emacs/src/lisp.h  136
-BITS_PER_EMACS_INT     c-src/emacs/src/lisp.h  139
-BITS_PER_LONG  c-src/emacs/src/lisp.h  138
-BITS_PER_SHORT c-src/emacs/src/lisp.h  137
-BITS_WORD_MAX  c-src/emacs/src/lisp.h  124
-BITS_WORD_MAX  c-src/emacs/src/lisp.h  128
-BLACK  cp-src/screen.hpp       12
-BLOCK  c-src/emacs/src/gmalloc.c       /^#define BLOCK(A)      (((char *) (A) - _heapbase) \/ BLO/
-BLOCKIFY       c-src/emacs/src/gmalloc.c       /^#define BLOCKIFY(SIZE)        (((SIZE) + BLOCKSIZE - 1) \//
-BLOCKLOG       c-src/emacs/src/gmalloc.c       125
-BLOCKSIZE      c-src/emacs/src/gmalloc.c       126
-BLUE   cp-src/screen.hpp       13
-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)$/
-BROWN  cp-src/screen.hpp       18
-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)$/
-BYTE_MARK_STACK        c-src/emacs/src/lisp.h  3181
-Bar    lua-src/test.lua        /^function Square.something:Bar ()$/
-Bar    perl-src/kai-test.pl    /^package Bar;$/
-Barrier_Function_Pointer/t     ada-src/etags-test-for.ada      /^   type Barrier_Function_Pointer is access$/
-Bidule/b       ada-src/etags-test-for.ada      /^  protected body Bidule is$/
-Bidule/b       ada-src/waroquiers.ada  /^  protected body Bidule is$/
-Bidule/t       ada-src/etags-test-for.ada      /^  protected Bidule is$/
-Bidule/t       ada-src/waroquiers.ada  /^  protected Bidule is$/
-Body_Required/f        ada-src/etags-test-for.ada      /^   function Body_Required$/
-Boo    cp-src/c.C      /^    Boo(int _i, int _a, int _b) : i(_i), a(_a), b(/
-Boo    cp-src/c.C      129
-Boo::Boo       cp-src/c.C      /^Boo::Boo(Boo) :$/
-ButtonBar      pyt-src/server.py       /^def ButtonBar(frame, legend, ref, alternatives, co/
-C      cp-src/fail.C   /^                         C(int i) {x = i;}$/
-C      cp-src/fail.C   25
-C      cp-src/fail.C   9
-CALLMANY       c-src/emacs/src/lisp.h  /^#define CALLMANY(f, array) (f) (ARRAYELTS (array),/
-CALLN  c-src/emacs/src/lisp.h  /^#define CALLN(f, ...) CALLMANY (f, ((Lisp_Object [/
-CAR    c-src/emacs/src/lisp.h  /^CAR (Lisp_Object c)$/
-CAR_SAFE       c-src/emacs/src/lisp.h  /^CAR_SAFE (Lisp_Object c)$/
-CATCHER        c-src/emacs/src/lisp.h  3021
-CDR    c-src/emacs/src/lisp.h  /^CDR (Lisp_Object c)$/
-CDR_SAFE       c-src/emacs/src/lisp.h  /^CDR_SAFE (Lisp_Object c)$/
-CFLAGS make-src/Makefile       /^CFLAGS=${WARNINGS} -ansi -g3 # -pg -O$/
-CHAR   c-src/etags.c   /^#define CHAR(x)               ((unsigned int)(x) & (CHARS - 1))/
-CHAR   y-src/cccp.c    7
-CHARACTERBITS  c-src/emacs/src/lisp.h  2457
-CHARS  c-src/etags.c   157
-CHARTAB_SIZE_BITS      c-src/emacs/src/lisp.h  1565
-CHARTAB_SIZE_BITS_0    c-src/emacs/src/lisp.h  1567
-CHARTAB_SIZE_BITS_1    c-src/emacs/src/lisp.h  1568
-CHARTAB_SIZE_BITS_2    c-src/emacs/src/lisp.h  1569
-CHARTAB_SIZE_BITS_3    c-src/emacs/src/lisp.h  1570
-CHAR_ALT       c-src/emacs/src/lisp.h  2445
-CHAR_BIT       c-src/emacs/src/lisp.h  2957
-CHAR_BIT       c-src/emacs/src/lisp.h  2959
-CHAR_BIT       c-src/emacs/src/lisp.h  2964
-CHAR_BIT       c-src/emacs/src/lisp.h  2969
-CHAR_BIT       c-src/emacs/src/lisp.h  2974
-CHAR_BIT       c-src/emacs/src/lisp.h  2978
-CHAR_BIT       c-src/emacs/src/lisp.h  2983
-CHAR_CLASS_MAX_LENGTH  c-src/emacs/src/regex.h 593
-CHAR_CLASS_MAX_LENGTH  c-src/emacs/src/regex.h 597
-CHAR_CLASS_MAX_LENGTH  c-src/emacs/src/regex.h 605
-CHAR_CTL       c-src/emacs/src/lisp.h  2449
-CHAR_HYPER     c-src/emacs/src/lisp.h  2447
-CHAR_META      c-src/emacs/src/lisp.h  2450
-CHAR_MODIFIER_MASK     c-src/emacs/src/lisp.h  2452
-CHAR_SHIFT     c-src/emacs/src/lisp.h  2448
-CHAR_SUPER     c-src/emacs/src/lisp.h  2446
-CHAR_TABLE_EXTRA_SLOTS c-src/emacs/src/lisp.h  /^CHAR_TABLE_EXTRA_SLOTS (struct Lisp_Char_Table *ct/
-CHAR_TABLE_P   c-src/emacs/src/lisp.h  /^CHAR_TABLE_P (Lisp_Object a)$/
-CHAR_TABLE_REF c-src/emacs/src/lisp.h  /^CHAR_TABLE_REF (Lisp_Object ct, int idx)$/
-CHAR_TABLE_REF_ASCII   c-src/emacs/src/lisp.h  /^CHAR_TABLE_REF_ASCII (Lisp_Object ct, ptrdiff_t id/
-CHAR_TABLE_SET c-src/emacs/src/lisp.h  /^CHAR_TABLE_SET (Lisp_Object ct, int idx, Lisp_Obje/
-CHAR_TABLE_STANDARD_SLOTS      c-src/emacs/src/lisp.h  1697
-CHAR_TYPE_SIZE y-src/cccp.y    87
-CHECKFLAGS     make-src/Makefile       /^CHECKFLAGS=-DDEBUG -Wno-unused-function$/
-CHECKOBJS      make-src/Makefile       /^CHECKOBJS=chkmalloc.o chkxm.o$/
-CHECK_ARRAY    c-src/emacs/src/lisp.h  /^CHECK_ARRAY (Lisp_Object x, Lisp_Object predicate)/
-CHECK_BOOL_VECTOR      c-src/emacs/src/lisp.h  /^CHECK_BOOL_VECTOR (Lisp_Object x)$/
-CHECK_BUFFER   c-src/emacs/src/lisp.h  /^CHECK_BUFFER (Lisp_Object x)$/
-CHECK_CONS     c-src/emacs/src/lisp.h  /^CHECK_CONS (Lisp_Object x)$/
-CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h  571
-CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h  572
-CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h  579
-CHECK_LIST     c-src/emacs/src/lisp.h  /^CHECK_LIST (Lisp_Object x)$/
-CHECK_LIST_CONS        c-src/emacs/src/lisp.h  /^# define CHECK_LIST_CONS(x, y) lisp_h_CHECK_LIST_C/
-CHECK_NATNUM   c-src/emacs/src/lisp.h  /^CHECK_NATNUM (Lisp_Object x)$/
-CHECK_NUMBER   c-src/emacs/src/lisp.h  /^# define CHECK_NUMBER(x) lisp_h_CHECK_NUMBER (x)$/
-CHECK_NUMBER_CAR       c-src/emacs/src/lisp.h  /^CHECK_NUMBER_CAR (Lisp_Object x)$/
-CHECK_NUMBER_CDR       c-src/emacs/src/lisp.h  /^CHECK_NUMBER_CDR (Lisp_Object x)$/
-CHECK_NUMBER_COERCE_MARKER     c-src/emacs/src/lisp.h  /^#define CHECK_NUMBER_COERCE_MARKER(x)                                 \\$/
-CHECK_NUMBER_OR_FLOAT  c-src/emacs/src/lisp.h  /^CHECK_NUMBER_OR_FLOAT (Lisp_Object x)$/
-CHECK_NUMBER_OR_FLOAT_COERCE_MARKER    c-src/emacs/src/lisp.h  /^#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(x)                                /
-CHECK_PROCESS  c-src/emacs/src/lisp.h  /^CHECK_PROCESS (Lisp_Object x)$/
-CHECK_RANGED_INTEGER   c-src/emacs/src/lisp.h  /^#define CHECK_RANGED_INTEGER(x, lo, hi)                                       \\$/
-CHECK_STRING_CAR       c-src/emacs/src/lisp.h  /^CHECK_STRING_CAR (Lisp_Object x)$/
-CHECK_SYMBOL   c-src/emacs/src/lisp.h  /^# define CHECK_SYMBOL(x) lisp_h_CHECK_SYMBOL (x)$/
-CHECK_TYPE     c-src/emacs/src/lisp.h  /^# define CHECK_TYPE(ok, predicate, x) lisp_h_CHECK/
-CHECK_TYPE_RANGED_INTEGER      c-src/emacs/src/lisp.h  /^#define CHECK_TYPE_RANGED_INTEGER(type, x) \\$/
-CHECK_VECTOR   c-src/emacs/src/lisp.h  /^CHECK_VECTOR (Lisp_Object x)$/
-CHECK_VECTOR_OR_STRING c-src/emacs/src/lisp.h  /^CHECK_VECTOR_OR_STRING (Lisp_Object x)$/
-CHECK_WINDOW   c-src/emacs/src/lisp.h  /^CHECK_WINDOW (Lisp_Object x)$/
-CK_ABS_C       y-src/parse.y   /^#define CK_ABS_C(x)   if((x)<MIN_COL || (x)>MAX_COL)/
-CK_ABS_R       y-src/parse.y   /^#define CK_ABS_R(x)   if((x)<MIN_ROW || (x)>MAX_ROW)/
-CK_REL_C       y-src/parse.y   /^#define CK_REL_C(x)   if(   ((x)>0 && MAX_COL-(x)<cu/
-CK_REL_R       y-src/parse.y   /^#define CK_REL_R(x)   if(   ((x)>0 && MAX_ROW-(x)<cu/
-CMultiChannelCSC19_3D  cp-src/c.C      2
-CNL    c-src/etags.c   /^#define CNL()                                                         \\$/
-CNL_SAVE_DEFINEDEF     c-src/etags.c   /^#define CNL_SAVE_DEFINEDEF()                                          \\$/
-COBOLFLAGS     make-src/Makefile       /^COBOLFLAGS=--language=none --regex='\/.......[a-zA-/
-COLORS cp-src/screen.hpp       11
-COMPILEDP      c-src/emacs/src/lisp.h  /^COMPILEDP (Lisp_Object a)$/
-COMPILED_ARGLIST       c-src/emacs/src/lisp.h  2431
-COMPILED_BYTECODE      c-src/emacs/src/lisp.h  2432
-COMPILED_CONSTANTS     c-src/emacs/src/lisp.h  2433
-COMPILED_DOC_STRING    c-src/emacs/src/lisp.h  2435
-COMPILED_INTERACTIVE   c-src/emacs/src/lisp.h  2436
-COMPILED_STACK_DEPTH   c-src/emacs/src/lisp.h  2434
-CONDITION_CASE c-src/emacs/src/lisp.h  3021
-CONSP  c-src/emacs/src/lisp.h  /^# define CONSP(x) lisp_h_CONSP (x)$/
-CONSTYPE_HEAP  c-src/emacs/src/lisp.h  3739
-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       /^CPPFLAGS=${CHECKFLAGS} -DSTDC_HEADERS -DHAVE_GETCW/
-CPSRC  make-src/Makefile       /^CPSRC=c.C abstract.C abstract.H cfront.H burton.cp/
-CSRC   make-src/Makefile       /^CSRC=abbrev.c ..\/etags\/h.h .\/\/c.c torture.c getopt/
-CTAGS  c-src/etags.c   146
-CTAGS  c-src/etags.c   147
-CTAGS  c-src/etags.c   149
-CTAGS  make-src/Makefile       /^CTAGS: ctags ${infiles}$/
-CTAGS% make-src/Makefile       /^CTAGS%: ctags% ${infiles}$/
-CTAGS13 CTAGS14 CTAGS15        make-src/Makefile       /^CTAGS13 CTAGS14 CTAGS15: ctags% ${infiles}$/
-CYAN   cp-src/screen.hpp       15
-C_AUTO c-src/etags.c   2198
-C_EXT  c-src/etags.c   2193
-C_JAVA c-src/etags.c   2197
-C_PLAIN        c-src/etags.c   2194
-C_PLPL c-src/etags.c   2195
-C_STAR c-src/etags.c   2196
-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;/
-Circle.getPos  lua-src/test.lua        /^function Circle.getPos ()$/
-Cjava_entries  c-src/etags.c   /^Cjava_entries (FILE *inf)$/
-Cjava_help     c-src/etags.c   551
-Cjava_suffixes c-src/etags.c   549
-ClassExample   ruby-src/test.rb        /^    class ClassExample$/
-Clear/p        ada-src/2ataspri.adb    /^   procedure Clear (Cell : in out TAS_Cell) is$/
-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
-CommentAD      php-src/lce_functions.php       /^      function CommentAD($/
-CommentAD      php-src/lce_functions.php       70
-ConcatT        pas-src/common.pas      /^function ConcatT;(*($/
-Concept Index  tex-src/gzip.texi       /^@node Concept Index, , Problems, Top$/
-Cond_Signal/p  ada-src/2ataspri.adb    /^   procedure Cond_Signal (Cond : in out Condition_/
-Cond_Signal/p  ada-src/2ataspri.ads    /^   procedure Cond_Signal (Cond : in out Condition_/
-Cond_Timed_Wait/p      ada-src/2ataspri.adb    /^   procedure Cond_Timed_Wait$/
-Cond_Timed_Wait/p      ada-src/2ataspri.ads    /^   procedure Cond_Timed_Wait$/
-Cond_Wait/p    ada-src/2ataspri.adb    /^   procedure Cond_Wait (Cond : in out Condition_Va/
-Cond_Wait/p    ada-src/2ataspri.ads    /^   procedure Cond_Wait (Cond : in out Condition_Va/
-Condition_Variable/t   ada-src/2ataspri.ads    /^   type Condition_Variable is private;$/
-Condition_Variable/t   ada-src/2ataspri.ads    /^   type Condition_Variable is$/
-Configure      pyt-src/server.py       /^class Configure(Frame, ControlEdit):$/
-ConfirmQuit    pyt-src/server.py       /^def ConfirmQuit(frame, context):$/
-Constant       ruby-src/test1.ru       42
-ControlEdit    pyt-src/server.py       /^class ControlEdit(Frame):$/
-Controls       pyt-src/server.py       /^class Controls:$/
-CopyTextString pas-src/common.pas      /^function CopyTextString;(*($/
-Copying        tex-src/gzip.texi       /^@node Copying, Overview, , Top$/
-Cplusplus_entries      c-src/etags.c   /^Cplusplus_entries (FILE *inf)$/
-Cplusplus_help c-src/etags.c   540
-Cplusplus_suffixes     c-src/etags.c   535
-Create_LL_Task/p       ada-src/2ataspri.adb    /^   procedure Create_LL_Task$/
-Create_LL_Task/p       ada-src/2ataspri.ads    /^   procedure Create_LL_Task$/
-Cstar_entries  c-src/etags.c   /^Cstar_entries (FILE *inf)$/
-Cstar_suffixes c-src/etags.c   562
-Cube.data.getFoo       lua-src/test.lua        /^function Cube.data.getFoo ()$/
-D      cp-src/fail.C   /^              D() : ::A::T2::T(97), x(1066) {}$/
-D      cp-src/fail.C   41
-DAEMON_RUNNING c-src/emacs/src/lisp.h  4258
-DAEMON_RUNNING c-src/emacs/src/lisp.h  4262
-DARKGRAY       cp-src/screen.hpp       20
-DEAFUN c.c     /^DEAFUN ("expand-file-name", Fexpand_file_name, Sex/
-DEBUG  c-src/etags.c   84
-DEBUG  c-src/etags.c   85
-DEBUG  c-src/etags.c   87
-DEBUG  objc-src/PackInsp.m     37
-DECLARE_GDB_SYM        c-src/emacs/src/lisp.h  /^#define DECLARE_GDB_SYM(type, id) type const id EX/
-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
-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;$/
-DEFINE_GDB_SYMBOL_END  c-src/emacs/src/lisp.h  /^# define DEFINE_GDB_SYMBOL_END(val) ;$/
-DEFINE_LISP_SYMBOL     c-src/emacs/src/lisp.h  /^#define DEFINE_LISP_SYMBOL(name) \\$/
-DEFINE_NON_NIL_Q_SYMBOL_MACROS c-src/emacs/src/lisp.h  755
-DEFSYM c-src/emacs/src/lisp.h  /^#define DEFSYM(sym, name) \/* empty *\/$/
-DEFSYM c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (SYMBOL_CONSTANT_P, int, (Lisp_Ob/
-DEFUN  c-src/emacs/src/lisp.h  /^#define DEFUN(lname, fnname, sname, minargs, maxar/
-DEFUN_ARGS_0   c-src/emacs/src/lisp.h  714
-DEFUN_ARGS_1   c-src/emacs/src/lisp.h  715
-DEFUN_ARGS_2   c-src/emacs/src/lisp.h  716
-DEFUN_ARGS_3   c-src/emacs/src/lisp.h  717
-DEFUN_ARGS_4   c-src/emacs/src/lisp.h  718
-DEFUN_ARGS_5   c-src/emacs/src/lisp.h  719
-DEFUN_ARGS_6   c-src/emacs/src/lisp.h  721
-DEFUN_ARGS_7   c-src/emacs/src/lisp.h  723
-DEFUN_ARGS_8   c-src/emacs/src/lisp.h  725
-DEFUN_ARGS_MANY        c-src/emacs/src/lisp.h  712
-DEFUN_ARGS_UNEVALLED   c-src/emacs/src/lisp.h  713
-DEFUN_func2    c.c     /^DEFUN_func2()$/
-DEFVAR_BOOL    c-src/emacs/src/lisp.h  /^#define DEFVAR_BOOL(lname, vname, doc)                \\$/
-DEFVAR_BUFFER_DEFAULTS c-src/emacs/src/lisp.h  /^#define DEFVAR_BUFFER_DEFAULTS(lname, vname, doc)     /
-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)  \\$/
-DEVICE_LAST    c-src/h.h       24
-DEVICE_SWP     c-src/h.h       23
-DOS_NT c-src/etags.c   117
-DOS_NT c-src/etags.c   118
-DUMPED c-src/emacs/src/gmalloc.c       80
-Debug  cp-src/functions.cpp    /^void Debug ( int lineno, int level, char* func , c/
-Def_   ruby-src/test1.ru       12
-DisposeANameList       pas-src/common.pas      /^procedure DisposeANameList( $/
-DisposeNameList        pas-src/common.pas      /^procedure DisposeNameList;$/
-ELEM_I c-src/h.h       3
-ELSRC  make-src/Makefile       /^ELSRC=TAGTEST.EL emacs\/lisp\/progmodes\/etags.el$/
-EMACS_INT      c-src/emacs/src/lisp.h  103
-EMACS_INT      c-src/emacs/src/lisp.h  91
-EMACS_INT      c-src/emacs/src/lisp.h  96
-EMACS_INT_MAX  c-src/emacs/src/lisp.h  105
-EMACS_INT_MAX  c-src/emacs/src/lisp.h  93
-EMACS_INT_MAX  c-src/emacs/src/lisp.h  98
-EMACS_LISP_H   c-src/emacs/src/lisp.h  22
-EMACS_NAME     c-src/etags.c   786
-EMACS_UINT     c-src/emacs/src/lisp.h  104
-EMACS_UINT     c-src/emacs/src/lisp.h  92
-EMACS_UINT     c-src/emacs/src/lisp.h  97
-ENTRY  c-src/sysdep.h  /^#define       ENTRY(name)                                                           \\$/
-ENUM_BF        c-src/emacs/src/lisp.h  /^#define ENUM_BF(TYPE) enum TYPE$/
-ENUM_BF        c-src/emacs/src/lisp.h  /^#define ENUM_BF(TYPE) unsigned int$/
-EQ     c-src/emacs/src/lisp.h  /^# define EQ(x, y) lisp_h_EQ (x, y)$/
-EQUAL  y-src/cccp.c    12
-ERLSRC make-src/Makefile       /^ERLSRC=gs_dialog.erl lines.erl lists.erl$/
-ERROR  y-src/cccp.c    9
-ERROR  y-src/parse.y   304
-ETAGS  make-src/Makefile       /^ETAGS: FRC etags ${infiles}$/
-ETAGS% make-src/Makefile       /^ETAGS%: FRC etags% ${infiles}$/
-ETAGS12        make-src/Makefile       /^ETAGS12: etags12 ${infiles}$/
-ETAGS13 ETAGS14 ETAGS15        make-src/Makefile       /^ETAGS13 ETAGS14 ETAGS15: etags% ${infiles}$/
-EXFUN  c-src/emacs/src/lisp.h  /^#define EXFUN(fnname, maxargs) \\$/
-EXTAGS make-src/Makefile       /^EXTAGS: extags ${infiles} Makefile$/
-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*);$/
-Environment    tex-src/gzip.texi       /^@node Environment, Tapes, Advanced usage, Top$/
-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/
-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;$/
-ExtractCommentInfo     pas-src/common.pas      /^procedure ExtractCommentInfo; (*($/
-FASTCFLAGS     make-src/Makefile       /^FASTCFLAGS=-O3 -finline-functions -ffast-math -fun/
-FASTCFLAGSWARN make-src/Makefile       /^FASTCFLAGSWARN=${WARNINGS} -Werror ${FASTCFLAGS}$/
-FILTER make-src/Makefile       /^FILTER=grep -v '\\.[Cchefy][lor]*,[1-9][0-9]*' || t/
-FINALIZERP     c-src/emacs/src/lisp.h  /^FINALIZERP (Lisp_Object x)$/
-FINAL_FREE_BLOCKS      c-src/emacs/src/gmalloc.c       135
-FIXNUM_BITS    c-src/emacs/src/lisp.h  252
-FIXNUM_OVERFLOW_P      c-src/emacs/src/lisp.h  /^#define FIXNUM_OVERFLOW_P(i) \\$/
-FIXNUM_OVERFLOW_P      c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (EQ, bool, (Lisp_Object x, Lisp_O/
-FLOATP c-src/emacs/src/lisp.h  /^# define FLOATP(x) lisp_h_FLOATP (x)$/
-FLOAT_TO_STRING_BUFSIZE        c-src/emacs/src/lisp.h  3927
-FORTHSRC       make-src/Makefile       /^FORTHSRC=test-forth.fth$/
-FOR_EACH_ALIST_VALUE   c-src/emacs/src/lisp.h  /^#define FOR_EACH_ALIST_VALUE(head_var, list_var, v/
-FOR_EACH_TAIL  c-src/emacs/src/lisp.h  /^#define FOR_EACH_TAIL(hare, list, tortoise, n)        \\$/
-FRAMEP c-src/emacs/src/lisp.h  /^FRAMEP (Lisp_Object a)$/
-FRC    make-src/Makefile       /^FRC:;$/
-FREEFLOOD      c-src/emacs/src/gmalloc.c       1858
-FSRC   make-src/Makefile       /^FSRC=entry.for entry.strange_suffix entry.strange$/
-FUN0   y-src/parse.y   /^yylex FUN0()$/
-FUN1   y-src/parse.y   /^str_to_col FUN1(char **,str)$/
-FUN1   y-src/parse.y   /^yyerror FUN1(char *, s)$/
-FUN2   y-src/parse.y   /^make_list FUN2(YYSTYPE, car, YYSTYPE, cdr)$/
-FUN2   y-src/parse.y   /^parse_cell_or_range FUN2(char **,ptr, struct rng */
-FUNCTIONP      c-src/emacs/src/lisp.h  /^FUNCTIONP (Lisp_Object obj)$/
-FUNCTION_KEY_OFFSET    c-src/emacs/src/keyboard.c      4766
-FUNCTION_KEY_OFFSET    c-src/emacs/src/keyboard.c      5061
-F_getit        c-src/etags.c   /^F_getit (FILE *inf)$/
-F_takeprec     c-src/etags.c   /^F_takeprec (void)$/
-Fabbrev_expansion      c-src/abbrev.c  /^DEFUN ("abbrev-expansion", Fabbrev_expansion, Sabb/
-Fabbrev_symbol c-src/abbrev.c  /^DEFUN ("abbrev-symbol", Fabbrev_symbol, Sabbrev_sy/
-Fabort_recursive_edit  c-src/emacs/src/keyboard.c      /^DEFUN ("abort-recursive-edit", Fabort_recursive_ed/
-Fails_t        c-src/h.h       5
-Fclear_abbrev_table    c-src/abbrev.c  /^DEFUN ("clear-abbrev-table", Fclear_abbrev_table, /
-Fclear_this_command_keys       c-src/emacs/src/keyboard.c      /^DEFUN ("clear-this-command-keys", Fclear_this_comm/
-Fcommand_error_default_function        c-src/emacs/src/keyboard.c      /^DEFUN ("command-error-default-function", Fcommand_/
-Fcurrent_idle_time     c-src/emacs/src/keyboard.c      /^DEFUN ("current-idle-time", Fcurrent_idle_time, Sc/
-Fcurrent_input_mode    c-src/emacs/src/keyboard.c      /^DEFUN ("current-input-mode", Fcurrent_input_mode, /
-Fdefine_abbrev c-src/abbrev.c  /^DEFUN ("define-abbrev", Fdefine_abbrev, Sdefine_ab/
-Fdefine_abbrev_table   c-src/abbrev.c  /^DEFUN ("define-abbrev-table", Fdefine_abbrev_table/
-Fdefine_global_abbrev  c-src/abbrev.c  /^DEFUN ("define-global-abbrev", Fdefine_global_abbr/
-Fdefine_mode_abbrev    c-src/abbrev.c  /^DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev, /
-Fdiscard_input c-src/emacs/src/keyboard.c      /^DEFUN ("discard-input", Fdiscard_input, Sdiscard_i/
-Fevent_convert_list    c-src/emacs/src/keyboard.c      /^DEFUN ("event-convert-list", Fevent_convert_list, /
-Fevent_symbol_parse_modifiers  c-src/emacs/src/keyboard.c      /^DEFUN ("internal-event-symbol-parse-modifiers", Fe/
-Fexit_recursive_edit   c-src/emacs/src/keyboard.c      /^DEFUN ("exit-recursive-edit", Fexit_recursive_edit/
-Fexpand_abbrev c-src/abbrev.c  /^DEFUN ("expand-abbrev", Fexpand_abbrev, Sexpand_ab/
-Finalize_Cond/p        ada-src/2ataspri.adb    /^   procedure Finalize_Cond (Cond : in out Conditio/
-Finalize_Cond/p        ada-src/2ataspri.ads    /^   procedure Finalize_Cond (Cond : in out Conditio/
-Finalize_Lock/p        ada-src/2ataspri.adb    /^   procedure Finalize_Lock (L : in out Lock) is$/
-Finalize_Lock/p        ada-src/2ataspri.ads    /^   procedure Finalize_Lock (L : in out Lock);$/
-Finalize_TAS_Cell/p    ada-src/2ataspri.adb    /^   procedure Finalize_TAS_Cell (Cell : in out TAS_/
-Finalize_TAS_Cell/p    ada-src/2ataspri.ads    /^   procedure Finalize_TAS_Cell   (Cell : in out TA/
-Finput_pending_p       c-src/emacs/src/keyboard.c      /^DEFUN ("input-pending-p", Finput_pending_p, Sinput/
-Finsert_abbrev_table_description       c-src/abbrev.c  /^DEFUN ("insert-abbrev-table-description", Finsert_/
-First100Chars  pas-src/common.pas      /^procedure First100Chars; (*($/
-Fmake_abbrev_table     c-src/abbrev.c  /^DEFUN ("make-abbrev-table", Fmake_abbrev_table, Sm/
-Foo    perl-src/kai-test.pl    /^package Foo;$/
-Foo::Bar       perl-src/kai-test.pl    /^package Foo::Bar;$/
-Fopen_dribble_file     c-src/emacs/src/keyboard.c      /^DEFUN ("open-dribble-file", Fopen_dribble_file, So/
-Forth_help     c-src/etags.c   573
-Forth_suffixes c-src/etags.c   571
-Forth_words    c-src/etags.c   /^Forth_words (FILE *inf)$/
-Fortran_functions      c-src/etags.c   /^Fortran_functions (FILE *inf)$/
-Fortran_help   c-src/etags.c   579
-Fortran_suffixes       c-src/etags.c   577
-Fposn_at_point c-src/emacs/src/keyboard.c      /^DEFUN ("posn-at-point", Fposn_at_point, Sposn_at_p/
-Fposn_at_x_y   c-src/emacs/src/keyboard.c      /^DEFUN ("posn-at-x-y", Fposn_at_x_y, Sposn_at_x_y, /
-Fread_key_sequence     c-src/emacs/src/keyboard.c      /^DEFUN ("read-key-sequence", Fread_key_sequence, Sr/
-Fread_key_sequence_vector      c-src/emacs/src/keyboard.c      /^DEFUN ("read-key-sequence-vector", Fread_key_seque/
-Frecent_keys   c-src/emacs/src/keyboard.c      /^DEFUN ("recent-keys", Frecent_keys, Srecent_keys, /
-Frecursion_depth       c-src/emacs/src/keyboard.c      /^DEFUN ("recursion-depth", Frecursion_depth, Srecur/
-Frecursive_edit        c-src/emacs/src/keyboard.c      /^DEFUN ("recursive-edit", Frecursive_edit, Srecursi/
-Freset_this_command_lengths    c-src/emacs/src/keyboard.c      /^DEFUN ("reset-this-command-lengths", Freset_this_c/
-Fset_input_interrupt_mode      c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-interrupt-mode", Fset_input_inte/
-Fset_input_meta_mode   c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-meta-mode", Fset_input_meta_mode/
-Fset_input_mode        c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-mode", Fset_input_mode, Sset_inp/
-Fset_output_flow_control       c-src/emacs/src/keyboard.c      /^DEFUN ("set-output-flow-control", Fset_output_flow/
-Fset_quit_char c-src/emacs/src/keyboard.c      /^DEFUN ("set-quit-char", Fset_quit_char, Sset_quit_/
-Fsuspend_emacs c-src/emacs/src/keyboard.c      /^DEFUN ("suspend-emacs", Fsuspend_emacs, Ssuspend_e/
-Fthis_command_keys     c-src/emacs/src/keyboard.c      /^DEFUN ("this-command-keys", Fthis_command_keys, St/
-Fthis_command_keys_vector      c-src/emacs/src/keyboard.c      /^DEFUN ("this-command-keys-vector", Fthis_command_k/
-Fthis_single_command_keys      c-src/emacs/src/keyboard.c      /^DEFUN ("this-single-command-keys", Fthis_single_co/
-Fthis_single_command_raw_keys  c-src/emacs/src/keyboard.c      /^DEFUN ("this-single-command-raw-keys", Fthis_singl/
-Ftop_level     c-src/emacs/src/keyboard.c      /^DEFUN ("top-level", Ftop_level, Stop_level, 0, 0, /
-Ftrack_mouse   c-src/emacs/src/keyboard.c      /^DEFUN ("internal--track-mouse", Ftrack_mouse, Stra/
-Funexpand_abbrev       c-src/abbrev.c  /^DEFUN ("unexpand-abbrev", Funexpand_abbrev, Sunexp/
-Fx_get_selection_internal      c.c     /^       Fx_get_selection_internal, Sx_get_selection/
-Fx_get_selection_internal      c.c     /^DEFUN ("x-get-selection-internal", Fx_get_selectio/
-Fy_get_selection_internal      c.c     /^      Fy_get_selection_internal, Sy_get_selection_/
-GCALIGNED      c-src/emacs/src/lisp.h  288
-GCALIGNED      c-src/emacs/src/lisp.h  290
-GCALIGNMENT    c-src/emacs/src/lisp.h  243
-GCPRO1 c-src/emacs/src/lisp.h  /^#define GCPRO1(a)                                                     \\$/
-GCPRO1 c-src/emacs/src/lisp.h  /^#define GCPRO1(varname) ((void) gcpro1)$/
-GCPRO2 c-src/emacs/src/lisp.h  /^#define GCPRO2(a, b)                                                  \\$/
-GCPRO2 c-src/emacs/src/lisp.h  /^#define GCPRO2(varname1, varname2) ((void) gcpro2,/
-GCPRO3 c-src/emacs/src/lisp.h  /^#define GCPRO3(a, b, c)                                                       \\$/
-GCPRO3 c-src/emacs/src/lisp.h  /^#define GCPRO3(varname1, varname2, varname3) \\$/
-GCPRO4 c-src/emacs/src/lisp.h  /^#define GCPRO4(a, b, c, d)                                            \\$/
-GCPRO4 c-src/emacs/src/lisp.h  /^#define GCPRO4(varname1, varname2, varname3, varna/
-GCPRO5 c-src/emacs/src/lisp.h  /^#define GCPRO5(a, b, c, d, e)                                         \\$/
-GCPRO5 c-src/emacs/src/lisp.h  /^#define GCPRO5(varname1, varname2, varname3, varna/
-GCPRO6 c-src/emacs/src/lisp.h  /^#define GCPRO6(a, b, c, d, e, f)                                      \\$/
-GCPRO6 c-src/emacs/src/lisp.h  /^#define GCPRO6(varname1, varname2, varname3, varna/
-GCPRO7 c-src/emacs/src/lisp.h  /^#define GCPRO7(a, b, c, d, e, f, g)                                   \\$/
-GCPRO7 c-src/emacs/src/lisp.h  /^#define GCPRO7(a, b, c, d, e, f, g) (GCPRO6 (a, b,/
-GCTYPEBITS     c-src/emacs/src/lisp.h  /^DEFINE_GDB_SYMBOL_BEGIN (int, GCTYPEBITS)$/
-GCTYPEBITS     c-src/emacs/src/lisp.h  67
-GC_MAKE_GCPROS_NOOPS   c-src/emacs/src/lisp.h  3172
-GC_MARK_STACK  c-src/emacs/src/lisp.h  3177
-GC_MARK_STACK_CHECK_GCPROS     c-src/emacs/src/lisp.h  3173
-GC_USE_GCPROS_AS_BEFORE        c-src/emacs/src/lisp.h  3171
-GC_USE_GCPROS_CHECK_ZOMBIES    c-src/emacs/src/lisp.h  3174
-GE     y-src/parse.c   8
-GENERIC_PTR    y-src/cccp.y    56
-GENERIC_PTR    y-src/cccp.y    58
-GEQ    y-src/cccp.c    15
-GETOPTOBJS     make-src/Makefile       /^GETOPTOBJS= #getopt.o getopt1.o$/
-GREEN  cp-src/screen.hpp       14
-GROW_RAW_KEYBUF        c-src/emacs/src/keyboard.c      119
-GatherControls pyt-src/server.py       /^    def GatherControls(self):$/
-GetLayerByName lua-src/allegro.lua     /^function GetLayerByName (name)$/
-GetNameList    pas-src/common.pas      /^function GetNameList; (* : BinNodePointer;*)$/
-GetNewNameListNode     pas-src/common.pas      /^function GetNewNameListNode;(*($/
-GetTextRef     pas-src/common.pas      /^function GetTextRef;(*($/
-GetUniqueLayerName     lua-src/allegro.lua     /^function GetUniqueLayerName ()$/
-Get_Own_Priority/f     ada-src/2ataspri.adb    /^   function Get_Own_Priority return System.Any_Pri/
-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/
-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/
-HASH_NEXT      c-src/emacs/src/lisp.h  /^HASH_NEXT (struct Lisp_Hash_Table *h, ptrdiff_t id/
-HASH_TABLE_P   c-src/emacs/src/lisp.h  /^HASH_TABLE_P (Lisp_Object a)$/
-HASH_TABLE_SIZE        c-src/emacs/src/lisp.h  /^HASH_TABLE_SIZE (struct Lisp_Hash_Table *h)$/
-HASH_VALUE     c-src/emacs/src/lisp.h  /^HASH_VALUE (struct Lisp_Hash_Table *h, ptrdiff_t i/
-HAVE_NTGUI     c-src/etags.c   116
-HEAP   c-src/emacs/src/gmalloc.c       131
-HTMLSRC        make-src/Makefile       /^HTMLSRC=softwarelibero.html index.shtml algrthms.h/
-HTML_help      c-src/etags.c   584
-HTML_labels    c-src/etags.c   /^HTML_labels (FILE *inf)$/
-HTML_suffixes  c-src/etags.c   582
-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
-INPUT_EVENT_POS_MIN    c-src/emacs/src/keyboard.c      3701
-INSERT_TREE_NODE       pas-src/common.pas      /^procedure INSERT_TREE_NODE;(*( $/
-INSTANTIATE_MDIAGARRAY_FRIENDS cp-src/MDiagArray2.h    /^#define INSTANTIATE_MDIAGARRAY_FRIENDS(T) \\$/
-INT    c-src/h.h       32
-INT    y-src/cccp.c    6
-INTEGERP       c-src/emacs/src/lisp.h  /^# define INTEGERP(x) lisp_h_INTEGERP (x)$/
-INTEGER_TO_CONS        c-src/emacs/src/lisp.h  /^#define INTEGER_TO_CONS(i)                                        \\$/
-INTERVAL       c-src/emacs/src/lisp.h  1149
-INTMASK        c-src/emacs/src/lisp.h  437
-INTTYPEBITS    c-src/emacs/src/lisp.h  249
-INT_BIT        c-src/emacs/src/gmalloc.c       124
-INT_TYPE_SIZE  y-src/cccp.y    91
-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))$/
-ISLOWER        c-src/etags.c   /^#define ISLOWER(c)    islower (CHAR (c))$/
-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
-InitNameList   pas-src/common.pas      /^procedure InitNameList;$/
-InitNameStringPool     pas-src/common.pas      /^procedure InitNameStringPool;$/
-InitializeStringPackage        pas-src/common.pas      /^procedure InitializeStringPackage;$/
-Initialize_Cond/p      ada-src/2ataspri.adb    /^   procedure Initialize_Cond (Cond : in out Condit/
-Initialize_Cond/p      ada-src/2ataspri.ads    /^   procedure Initialize_Cond (Cond : in out Condit/
-Initialize_LL_Tasks/p  ada-src/2ataspri.adb    /^   procedure Initialize_LL_Tasks (T : TCB_Ptr) is$/
-Initialize_LL_Tasks/p  ada-src/2ataspri.ads    /^   procedure Initialize_LL_Tasks (T : TCB_Ptr);$/
-Initialize_Lock/p      ada-src/2ataspri.adb    /^   procedure Initialize_Lock$/
-Initialize_Lock/p      ada-src/2ataspri.ads    /^   procedure Initialize_Lock (Prio : System.Any_Pr/
-Initialize_TAS_Cell/p  ada-src/2ataspri.adb    /^   procedure Initialize_TAS_Cell (Cell : out TAS_C/
-Initialize_TAS_Cell/p  ada-src/2ataspri.ads    /^   procedure Initialize_TAS_Cell (Cell :    out TA/
-Inner1/b       ada-src/etags-test-for.ada      /^  package body Inner1 is$/
-Inner1/b       ada-src/waroquiers.ada  /^  package body Inner1 is$/
-Inner1/s       ada-src/etags-test-for.ada      /^  package Inner1 is$/
-Inner1/s       ada-src/waroquiers.ada  /^  package Inner1 is$/
-Inner2/b       ada-src/etags-test-for.ada      /^  package body Inner2 is$/
-Inner2/b       ada-src/waroquiers.ada  /^  package body Inner2 is$/
-Inner2/s       ada-src/etags-test-for.ada      /^  package Inner2 is$/
-Inner2/s       ada-src/waroquiers.ada  /^  package Inner2 is$/
-Install_Abort_Handler/p        ada-src/2ataspri.adb    /^   procedure Install_Abort_Handler (Handler : Abor/
-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/
-Invoking gzip  tex-src/gzip.texi       /^@node Invoking gzip, Advanced usage, Sample, Top$/
-IpAddrKind     rs-src/test.rs  3
-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        make-src/Makefile       /^JAVASRC=AWTEMul.java KeyEve.java SMan.java SysCol./
-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/
-LATEST make-src/Makefile       /^LATEST=17$/
-LCE_COMMENT    php-src/lce_functions.php       13
-LCE_COMMENT_TOOL       php-src/lce_functions.php       17
-LCE_COMMENT_USER       php-src/lce_functions.php       15
-LCE_FUNCTIONS  php-src/lce_functions.php       4
-LCE_MSGID      php-src/lce_functions.php       19
-LCE_MSGSTR     php-src/lce_functions.php       21
-LCE_TEXT       php-src/lce_functions.php       23
-LCE_UNKNOWN    php-src/lce_functions.php       9
-LCE_WS php-src/lce_functions.php       11
-LDFLAGS        make-src/Makefile       /^LDFLAGS=#-static -lc_p$/
-LE     y-src/parse.c   7
-LEQ    y-src/cccp.c    14
-LIGHTBLUE      cp-src/screen.hpp       21
-LIGHTCYAN      cp-src/screen.hpp       23
-LIGHTGRAY      cp-src/screen.hpp       19
-LIGHTGREEN     cp-src/screen.hpp       22
-LIGHTMAGENTA   cp-src/screen.hpp       25
-LIGHTRED       cp-src/screen.hpp       24
-LISP_INITIALLY c-src/emacs/src/lisp.h  /^#define LISP_INITIALLY(i) (i)$/
-LISP_INITIALLY c-src/emacs/src/lisp.h  /^#define LISP_INITIALLY(i) {i}$/
-LISP_INITIALLY_ZERO    c-src/emacs/src/lisp.h  582
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^#define LISP_MACRO_DEFUN(name, type, argdecls, arg/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (CONSP, bool, (Lisp_Object x), (x/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (NILP, bool, (Lisp_Object x), (x)/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (SYMBOL_VAL, Lisp_Object, (struct/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XCAR, Lisp_Object, (Lisp_Object /
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XCONS, struct Lisp_Cons *, (Lisp/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XHASH, EMACS_INT, (Lisp_Object a/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XLI, EMACS_INT, (Lisp_Object o),/
-LISP_MACRO_DEFUN       c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN (XPNTR, void *, (Lisp_Object a), /
-LISP_MACRO_DEFUN_VOID  c-src/emacs/src/lisp.h  /^#define LISP_MACRO_DEFUN_VOID(name, argdecls, args/
-LISP_MACRO_DEFUN_VOID  c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN_VOID (CHECK_LIST_CONS, (Lisp_Obje/
-LISP_MACRO_DEFUN_VOID  c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN_VOID (CHECK_TYPE,$/
-LISP_MACRO_DEFUN_VOID  c-src/emacs/src/lisp.h  /^LISP_MACRO_DEFUN_VOID (SET_SYMBOL_VAL,$/
-LISTCONTENTS   objc-src/PackInsp.m     39
-LISTCONTENTSBUTTON     objc-src/PackInsp.m     48
-LISTDESCRIPTIONBUTTON  objc-src/PackInsp.m     49
-LL_Assert/p    ada-src/2ataspri.adb    /^   procedure LL_Assert (B : Boolean; M : String) i/
-LL_Assert/p    ada-src/2ataspri.ads    /^   procedure LL_Assert (B : Boolean; M : String);$/
-LL_Task_Procedure_Access/t     ada-src/2ataspri.ads    /^   type LL_Task_Procedure_Access is access procedu/
-LL_Task_Procedure_Access/t     ada-src/etags-test-for.ada      /^   type LL_Task_Procedure_Access is access procedu/
-LL_Wrapper/p   ada-src/2ataspri.adb    /^   procedure LL_Wrapper (T : TCB_Ptr) is$/
-LL_Wrapper/p   ada-src/2ataspri.adb    /^   procedure LL_Wrapper (T : TCB_Ptr);$/
-LL_Wrapper/p   ada-src/etags-test-for.ada      /^   procedure LL_Wrapper (T : TCB_Ptr);$/
-LOCALIZE       objc-src/PackInsp.m     /^#define LOCALIZE(s)           NXLoadLocalizedStringFromTabl/
-LOCALIZE_ARCH  objc-src/PackInsp.m     /^#define LOCALIZE_ARCH(s)      NXLoadLocalizedStringFrom/
-LOCK   c-src/emacs/src/gmalloc.c       /^#define LOCK()                                        \\$/
-LOCK   c-src/emacs/src/gmalloc.c       /^#define LOCK()$/
-LOCK_ALIGNED_BLOCKS    c-src/emacs/src/gmalloc.c       /^#define LOCK_ALIGNED_BLOCKS()                         \\$/
-LOCK_ALIGNED_BLOCKS    c-src/emacs/src/gmalloc.c       /^#define LOCK_ALIGNED_BLOCKS()$/
-LONG_TYPE_SIZE y-src/cccp.y    95
-LOOKING_AT     c-src/etags.c   /^#define LOOKING_AT(cp, kw)  \/* kw is the keyword, /
-LOOKING_AT_NOCASE      c-src/etags.c   /^#define LOOKING_AT_NOCASE(cp, kw) \/* the keyword i/
-LOOKUP objc-src/PackInsp.m     /^#define LOOKUP(key, notfound) ([table isKey:key] ?/
-LOOKUP objc-src/PackInsp.m     176
-LOOP_ON_INPUT_LINES    c-src/etags.c   /^#define LOOP_ON_INPUT_LINES(file_pointer, line_buf/
-LSH    y-src/cccp.c    16
-LTGT   cp-src/MDiagArray2.h    144
-LTGT   cp-src/MDiagArray2.h    35
-LTGT   cp-src/MDiagArray2.h    39
-LTGT   cp-src/MDiagArray2.h    42
-LUASRC make-src/Makefile       /^LUASRC=allegro.lua$/
-L_CELL y-src/parse.c   10
-L_CONST        y-src/parse.c   13
-L_FN0  y-src/parse.c   14
-L_FN1  y-src/parse.c   15
-L_FN1R y-src/parse.c   20
-L_FN2  y-src/parse.c   16
-L_FN2R y-src/parse.c   21
-L_FN3  y-src/parse.c   17
-L_FN3R y-src/parse.c   22
-L_FN4  y-src/parse.c   18
-L_FN4R y-src/parse.c   23
-L_FNN  y-src/parse.c   19
-L_FNNR y-src/parse.c   24
-L_GE   y-src/parse.c   27
-L_LE   y-src/parse.c   25
-L_NE   y-src/parse.c   26
-L_RANGE        y-src/parse.c   11
-L_VAR  y-src/parse.c   12
-L_getit        c-src/etags.c   /^L_getit (void)$/
-LabeledEntry   pyt-src/server.py       /^class LabeledEntry(Frame):$/
-Lang_function  c-src/etags.c   182
-Lang_function  c-src/h.h       6
-Lisp_Bits      c-src/emacs/src/lisp.h  239
-Lisp_Bool_Vector       c-src/emacs/src/lisp.h  1384
-Lisp_Boolfwd   c-src/emacs/src/lisp.h  2284
-Lisp_Buffer_Local_Value        c-src/emacs/src/lisp.h  2334
-Lisp_Buffer_Objfwd     c-src/emacs/src/lisp.h  2302
-Lisp_Char_Table        c-src/emacs/src/lisp.h  1575
-Lisp_Compiled  c-src/emacs/src/lisp.h  2429
-Lisp_Cons      c-src/emacs/src/lisp.h  475
-Lisp_Finalizer c-src/emacs/src/lisp.h  2186
-Lisp_Float     c-src/emacs/src/lisp.h  2391
-Lisp_Float     c-src/emacs/src/lisp.h  477
-Lisp_Free      c-src/emacs/src/lisp.h  2201
-Lisp_Fwd       c-src/emacs/src/lisp.h  2368
-Lisp_Fwd_Bool  c-src/emacs/src/lisp.h  505
-Lisp_Fwd_Buffer_Obj    c-src/emacs/src/lisp.h  507
-Lisp_Fwd_Int   c-src/emacs/src/lisp.h  504
-Lisp_Fwd_Kboard_Obj    c-src/emacs/src/lisp.h  508
-Lisp_Fwd_Obj   c-src/emacs/src/lisp.h  506
-Lisp_Fwd_Type  c-src/emacs/src/lisp.h  502
-Lisp_Hash_Table        c-src/emacs/src/lisp.h  1823
-Lisp_Int0      c-src/emacs/src/lisp.h  461
-Lisp_Int1      c-src/emacs/src/lisp.h  462
-Lisp_Intfwd    c-src/emacs/src/lisp.h  2274
-Lisp_Kboard_Objfwd     c-src/emacs/src/lisp.h  2362
-Lisp_Marker    c-src/emacs/src/lisp.h  1978
-Lisp_Misc      c-src/emacs/src/lisp.h  2212
-Lisp_Misc      c-src/emacs/src/lisp.h  458
-Lisp_Misc_Any  c-src/emacs/src/lisp.h  1971
-Lisp_Misc_Finalizer    c-src/emacs/src/lisp.h  491
-Lisp_Misc_Float        c-src/emacs/src/lisp.h  494
-Lisp_Misc_Free c-src/emacs/src/lisp.h  487
-Lisp_Misc_Limit        c-src/emacs/src/lisp.h  496
-Lisp_Misc_Marker       c-src/emacs/src/lisp.h  488
-Lisp_Misc_Overlay      c-src/emacs/src/lisp.h  489
-Lisp_Misc_Save_Value   c-src/emacs/src/lisp.h  490
-Lisp_Misc_Type c-src/emacs/src/lisp.h  485
-Lisp_Object    c-src/emacs/src/lisp.h  567
-Lisp_Object    c-src/emacs/src/lisp.h  577
-Lisp_Objfwd    c-src/emacs/src/lisp.h  2294
-Lisp_Overlay   c-src/emacs/src/lisp.h  2021
-Lisp_Save_Type c-src/emacs/src/lisp.h  2064
-Lisp_Save_Value        c-src/emacs/src/lisp.h  2110
-Lisp_String    c-src/emacs/src/lisp.h  466
-Lisp_Sub_Char_Table    c-src/emacs/src/lisp.h  1606
-Lisp_Subr      c-src/emacs/src/lisp.h  1670
-Lisp_Symbol    c-src/emacs/src/lisp.h  454
-Lisp_Symbol    c-src/emacs/src/lisp.h  654
-Lisp_Type      c-src/emacs/src/lisp.h  451
-Lisp_Vector    c-src/emacs/src/lisp.h  1369
-Lisp_Vectorlike        c-src/emacs/src/lisp.h  472
-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):$/
-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$/
-LowerCaseNmStr pas-src/common.pas      /^function LowerCaseNmStr; (*($/
-Lua_functions  c-src/etags.c   /^Lua_functions (FILE *inf)$/
-Lua_help       c-src/etags.c   600
-Lua_suffixes   c-src/etags.c   598
-MAGENTA        cp-src/screen.hpp       17
-MAGICBYTE      c-src/emacs/src/gmalloc.c       1856
-MAGICFREE      c-src/emacs/src/gmalloc.c       1855
-MAGICWORD      c-src/emacs/src/gmalloc.c       1854
-MAKE   make-src/Makefile       /^MAKE:=$(MAKE) --no-print-directory$/
-MAKESRC        make-src/Makefile       /^MAKESRC=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)$/
-MAXPATHLEN     c-src/etags.c   115
-MAX_ALLOCA     c-src/emacs/src/lisp.h  4556
-MAX_ENCODED_BYTES      c-src/emacs/src/keyboard.c      2254
-MAX_HASH_VALUE c-src/etags.c   2329
-MAX_WORD_LENGTH        c-src/etags.c   2327
-MAYBEREL       y-src/parse.y   /^#define MAYBEREL(p) (*(p)=='[' && (isdigit((p)[1])/
-MBYTES objc-src/PackInsp.m     59
-MCHECK_DISABLED        c-src/emacs/src/gmalloc.c       285
-MCHECK_FREE    c-src/emacs/src/gmalloc.c       287
-MCHECK_HEAD    c-src/emacs/src/gmalloc.c       288
-MCHECK_OK      c-src/emacs/src/gmalloc.c       286
-MCHECK_TAIL    c-src/emacs/src/gmalloc.c       289
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (T *d, int r, int c) : DiagArray2<T>/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (const Array<T>& a) : DiagArray2<T> /
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (const DiagArray2<T>& a) : DiagArray/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (const MDiagArray2<T>& a) : DiagArra/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (int r, int c) : DiagArray2<T> (r, c/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (int r, int c, const T& val) : DiagA/
-MDiagArray2    cp-src/MDiagArray2.h    /^  MDiagArray2 (void) : DiagArray2<T> () { }$/
-MDiagArray2    cp-src/MDiagArray2.h    78
-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)$/
-MOST_NEGATIVE_FIXNUM   c-src/emacs/src/lisp.h  835
-MOST_POSITIVE_FIXNUM   c-src/emacs/src/lisp.h  834
-MOVE   c-src/sysdep.h  /^#define MOVE(x,y)     movl x, y$/
-MSDOS  c-src/etags.c   100
-MSDOS  c-src/etags.c   106
-MSDOS  c-src/etags.c   107
-MSDOS  c-src/etags.c   110
-MSGSEL f-src/entry.for /^       ENTRY  MSGSEL ( TYPE )$/
-MSGSEL f-src/entry.strange     /^       ENTRY  MSGSEL ( TYPE )$/
-MSGSEL f-src/entry.strange_suffix      /^       ENTRY  MSGSEL ( TYPE )$/
-MULTI_LETTER_MOD       c-src/emacs/src/keyboard.c      /^#define MULTI_LETTER_MOD(BIT, NAME, LEN)                      \\$/
-MULTI_LETTER_MOD       c-src/emacs/src/keyboard.c      /^#define MULTI_LETTER_MOD(BIT, NAME, LEN)              \\$/
-MULTI_LETTER_MOD       c-src/emacs/src/keyboard.c      6231
-MULTI_LETTER_MOD       c-src/emacs/src/keyboard.c      6764
-Machin_T/b     ada-src/waroquiers.ada  /^  protected body Machin_T is$/
-Machin_T/t     ada-src/etags-test-for.ada      /^  protected Machin_T is$/
-Machin_T/t     ada-src/etags-test-for.ada      /^  protected type Machin_T is$/
-Machin_T/t     ada-src/waroquiers.ada  /^  protected type Machin_T is$/
-Machine_Exceptions/t   ada-src/2ataspri.ads    /^   type Machine_Exceptions is new Interfaces.C.POS/
-MakeDispose    pyt-src/server.py       /^    def MakeDispose(self):$/
-MakeSitelist   pyt-src/server.py       /^    def MakeSitelist(self, master):$/
-Makefile_filenames     c-src/etags.c   603
-Makefile_help  c-src/etags.c   605
-Makefile_targets       c-src/etags.c   /^Makefile_targets (FILE *inf)$/
-Mc     cp-src/c.C      /^int main (void) { my_function0(0); my_function1(1)/
-Mcccp  y-src/cccp.y    /^main ()$/
-Mconway.cpp    cp-src/conway.cpp       /^void main(void)$/
-Metags c-src/etags.c   /^main (int argc, char **argv)$/
-Mfail  cp-src/fail.C   /^main()$/
-Mkai-test.pl   perl-src/kai-test.pl    /^package main;$/
-ModuleExample  ruby-src/test.rb        /^module ModuleExample$/
-More_Lisp_Bits c-src/emacs/src/lisp.h  801
-MoveLayerAfter lua-src/allegro.lua     /^function MoveLayerAfter (this_one)$/
-MoveLayerBefore        lua-src/allegro.lua     /^function MoveLayerBefore (this_one)$/
-MoveLayerBottom        lua-src/allegro.lua     /^function MoveLayerBottom ()$/
-MoveLayerTop   lua-src/allegro.lua     /^function MoveLayerTop ()$/
-Mtest.go       go-src/test.go  /^func main() {$/
-Mtest.go       go-src/test.go  1
-Mtest.rs       rs-src/test.rs  /^fn main() {$/
-Mtest1.go      go-src/test1.go /^func main() {$/
-Mtest1.go      go-src/test1.go 1
-Mx.cc  cp-src/x.cc     /^main(int argc, char *argv[])$/
-NAME   y-src/cccp.c    8
-NATNUMP        c-src/emacs/src/lisp.h  /^NATNUMP (Lisp_Object x)$/
-NDEBUG c-src/etags.c   88
-NE     y-src/parse.c   6
-NEG    y-src/parse.c   9
-NEXT_ALMOST_PRIME_LIMIT        c-src/emacs/src/lisp.h  3573
-NILP   c-src/emacs/src/lisp.h  /^# define NILP(x) lisp_h_NILP (x)$/
-NIL_IS_ZERO    c-src/emacs/src/lisp.h  1515
-NONPOINTER_BITS        c-src/emacs/src/lisp.h  78
-NONPOINTER_BITS        c-src/emacs/src/lisp.h  80
-NONSRCS        make-src/Makefile       /^NONSRCS=entry.strange lists.erl clheir.hpp.gz$/
-NOTEQUAL       y-src/cccp.c    13
-NULL   y-src/cccp.y    51
-NULL_PTR       y-src/cccp.y    63
-NUMSTATS       objc-src/PackInsp.h     36
-NUM_MOD_NAMES  c-src/emacs/src/keyboard.c      6325
-NUM_RECENT_KEYS        c-src/emacs/src/keyboard.c      91
-NameHasChar    pas-src/common.pas      /^function NameHasChar; (* (TheName : NameString; Th/
-NameStringLess pas-src/common.pas      /^function NameStringLess;(*(var Name1,Name2 : NameS/
-NewLayer       lua-src/allegro.lua     /^function NewLayer (name, x, y, w, h)$/
-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/
-OBJCPPSRC      make-src/Makefile       /^OBJCPPSRC=SimpleCalc.H SimpleCalc.M$/
-OBJCSRC        make-src/Makefile       /^OBJCSRC=Subprocess.h Subprocess.m PackInsp.h PackI/
-OBJS   make-src/Makefile       /^OBJS=${GETOPTOBJS} ${REGEXOBJS} ${CHECKOBJS}$/
-OPENBUTTON     objc-src/PackInsp.m     47
-OPTIONS        make-src/Makefile       /^OPTIONS=--members --declarations --regex=@regexfil/
-OR     y-src/cccp.c    10
-OTAGS  make-src/Makefile       /^OTAGS: oetags ${SRCS} srclist$/
-OVERLAYP       c-src/emacs/src/lisp.h  /^OVERLAYP (Lisp_Object x)$/
-Objc_help      c-src/etags.c   613
-Objc_suffixes  c-src/etags.c   609
-OperatorFun    c-src/h.h       88
-Overview       tex-src/gzip.texi       /^@node Overview, Sample, Copying, Top$/
-PASSRC make-src/Makefile       /^PASSRC=common.pas$/
-PDT    c-src/h.h       /^  Date 04 May 87 235311 PDT (Mon)$/
-PERLSRC        make-src/Makefile       /^PERLSRC=htlmify-cystic yagrip.pl kai-test.pl mirro/
-PHPSRC make-src/Makefile       /^PHPSRC=lce_functions.php ptest.php sendmail.php$/
-PHP_functions  c-src/etags.c   /^PHP_functions (FILE *inf)$/
-PHP_help       c-src/etags.c   639
-PHP_suffixes   c-src/etags.c   637
-POEntry        php-src/lce_functions.php       /^      function POEntry()$/
-POEntry        php-src/lce_functions.php       105
-POEntryAD      php-src/lce_functions.php       29
-PORManager     php-src/lce_functions.php       /^      function PORManager()$/
-PORManager     php-src/lce_functions.php       498
-POReader       php-src/lce_functions.php       /^      function POReader($domain, $filename)$/
-POReader       php-src/lce_functions.php       163
-POSTSCRIPTFLAGS        make-src/Makefile       /^POSTSCRIPTFLAGS=--language=none --regex='#\/[^ \\t{]/
-PRINT_UNDOCUMENTED_OPTIONS_HELP        c-src/etags.c   804
-PROCESSP       c-src/emacs/src/lisp.h  /^PROCESSP (Lisp_Object a)$/
-PROLSRC        make-src/Makefile       /^PROLSRC=ordsets.prolog natded.prolog$/
-PROP   c-src/emacs/src/keyboard.c      /^#define PROP(IDX) AREF (tool_bar_item_properties, /
-PROP   c-src/emacs/src/keyboard.c      8379
-PROTECT_MALLOC_STATE   c-src/emacs/src/gmalloc.c       /^#define PROTECT_MALLOC_STATE(PROT)    \/* empty *\/$/
-PROTECT_MALLOC_STATE   c-src/emacs/src/gmalloc.c       /^#define PROTECT_MALLOC_STATE(PROT) protect_malloc_/
-PRTPKG f-src/entry.for /^      LOGICAL FUNCTION PRTPKG ( SHORT, LONG, EXPL,/
-PRTPKG f-src/entry.strange     /^      LOGICAL FUNCTION PRTPKG ( SHORT, LONG, EXPL,/
-PRTPKG f-src/entry.strange_suffix      /^      LOGICAL FUNCTION PRTPKG ( SHORT, LONG, EXPL,/
-PSEUDO c-src/sysdep.h  /^#define       PSEUDO(name, syscall_name, args)                                      /
-PSEUDOVECSIZE  c-src/emacs/src/lisp.h  /^#define PSEUDOVECSIZE(type, nonlispfield)                     \\$/
-PSEUDOVECTORP  c-src/emacs/src/lisp.h  /^PSEUDOVECTORP (Lisp_Object a, int code)$/
-PSEUDOVECTOR_AREA_BITS c-src/emacs/src/lisp.h  818
-PSEUDOVECTOR_FLAG      c-src/emacs/src/lisp.h  774
-PSEUDOVECTOR_REST_BITS c-src/emacs/src/lisp.h  813
-PSEUDOVECTOR_REST_MASK c-src/emacs/src/lisp.h  814
-PSEUDOVECTOR_SIZE_BITS c-src/emacs/src/lisp.h  808
-PSEUDOVECTOR_SIZE_MASK c-src/emacs/src/lisp.h  809
-PSEUDOVECTOR_TYPEP     c-src/emacs/src/lisp.h  /^PSEUDOVECTOR_TYPEP (struct vectorlike_header *a, i/
-PSSRC  make-src/Makefile       /^PSSRC=rfc1245.ps$/
-PS_functions   c-src/etags.c   /^PS_functions (FILE *inf)$/
-PS_help        c-src/etags.c   649
-PS_suffixes    c-src/etags.c   647
-PTY_LENGTH     objc-src/Subprocess.m   21
-PTY_TEMPLATE   objc-src/Subprocess.m   20
-PUSH_C_STR     c-src/emacs/src/keyboard.c      /^#define PUSH_C_STR(str, listvar) \\$/
-PUSH_HANDLER   c-src/emacs/src/lisp.h  /^#define PUSH_HANDLER(c, tag_ch_val, handlertype)      \\/
-PVEC_BOOL_VECTOR       c-src/emacs/src/lisp.h  787
-PVEC_BUFFER    c-src/emacs/src/lisp.h  788
-PVEC_CHAR_TABLE        c-src/emacs/src/lisp.h  796
-PVEC_COMPILED  c-src/emacs/src/lisp.h  795
-PVEC_FONT      c-src/emacs/src/lisp.h  798
-PVEC_FRAME     c-src/emacs/src/lisp.h  785
-PVEC_FREE      c-src/emacs/src/lisp.h  783
-PVEC_HASH_TABLE        c-src/emacs/src/lisp.h  789
-PVEC_NORMAL_VECTOR     c-src/emacs/src/lisp.h  782
-PVEC_OTHER     c-src/emacs/src/lisp.h  793
-PVEC_PROCESS   c-src/emacs/src/lisp.h  784
-PVEC_SUBR      c-src/emacs/src/lisp.h  792
-PVEC_SUB_CHAR_TABLE    c-src/emacs/src/lisp.h  797
-PVEC_TERMINAL  c-src/emacs/src/lisp.h  790
-PVEC_TYPE_MASK c-src/emacs/src/lisp.h  819
-PVEC_WINDOW    c-src/emacs/src/lisp.h  786
-PVEC_WINDOW_CONFIGURATION      c-src/emacs/src/lisp.h  791
-PYTSRC make-src/Makefile       /^PYTSRC=server.py$/
-PackageInspector       objc-src/PackInsp.h     /^@interface PackageInspector:WMInspector$/
-Pascal_functions       c-src/etags.c   /^Pascal_functions (FILE *inf)$/
-Pascal_help    c-src/etags.c   621
-Pascal_suffixes        c-src/etags.c   619
-Perl_functions c-src/etags.c   /^Perl_functions (FILE *inf)$/
-Perl_help      c-src/etags.c   630
-Perl_interpreters      c-src/etags.c   628
-Perl_suffixes  c-src/etags.c   626
-Pkg1/b ada-src/etags-test-for.ada      /^package body Pkg1 is$/
-Pkg1/b ada-src/waroquiers.ada  /^package body Pkg1 is$/
-Pkg1/s ada-src/etags-test-for.ada      /^package Pkg1 is$/
-Pkg1/s ada-src/waroquiers.ada  /^package Pkg1 is$/
-Pkg1_Func1/f   ada-src/etags-test-for.ada      /^  function Pkg1_Func1 return Boolean is separate;$/
-Pkg1_Func1/f   ada-src/etags-test-for.ada      /^  function Pkg1_Func1 return Boolean;$/
-Pkg1_Func1/f   ada-src/etags-test-for.ada      /^function  Pkg1_Func1 return Boolean is$/
-Pkg1_Func1/f   ada-src/waroquiers.ada  /^  function Pkg1_Func1 return Boolean is separate;$/
-Pkg1_Func1/f   ada-src/waroquiers.ada  /^  function Pkg1_Func1 return Boolean;$/
-Pkg1_Func1/f   ada-src/waroquiers.ada  /^function  Pkg1_Func1 return Boolean is$/
-Pkg1_Func2/f   ada-src/etags-test-for.ada      /^  function Pkg1_Func2 (Ijk : Integer; Z : Integer)/
-Pkg1_Func2/f   ada-src/waroquiers.ada  /^  function Pkg1_Func2 (Ijk : Integer; Z : Integer)/
-Pkg1_Pkg1/b    ada-src/etags-test-for.ada      /^  package body Pkg1_Pkg1 is separate;$/
-Pkg1_Pkg1/b    ada-src/etags-test-for.ada      /^package body Pkg1_Pkg1 is$/
-Pkg1_Pkg1/b    ada-src/waroquiers.ada  /^  package body Pkg1_Pkg1 is separate;$/
-Pkg1_Pkg1/b    ada-src/waroquiers.ada  /^package body Pkg1_Pkg1 is$/
-Pkg1_Pkg1/s    ada-src/etags-test-for.ada      /^  package Pkg1_Pkg1 is$/
-Pkg1_Pkg1/s    ada-src/waroquiers.ada  /^  package Pkg1_Pkg1 is$/
-Pkg1_Pkg1_Proc1/p      ada-src/etags-test-for.ada      /^    procedure Pkg1_Pkg1_Proc1;$/
-Pkg1_Pkg1_Proc1/p      ada-src/etags-test-for.ada      /^  procedure Pkg1_Pkg1_Proc1 is$/
-Pkg1_Pkg1_Proc1/p      ada-src/waroquiers.ada  /^    procedure Pkg1_Pkg1_Proc1;$/
-Pkg1_Pkg1_Proc1/p      ada-src/waroquiers.ada  /^  procedure Pkg1_Pkg1_Proc1 is$/
-Pkg1_Proc1/p   ada-src/etags-test-for.ada      /^  procedure Pkg1_Proc1 is$/
-Pkg1_Proc1/p   ada-src/etags-test-for.ada      /^  procedure Pkg1_Proc1;$/
-Pkg1_Proc1/p   ada-src/waroquiers.ada  /^  procedure Pkg1_Proc1 is$/
-Pkg1_Proc1/p   ada-src/waroquiers.ada  /^  procedure Pkg1_Proc1;$/
-Pkg1_Proc2/p   ada-src/etags-test-for.ada      /^  procedure Pkg1_Proc2 (I : Integer) is$/
-Pkg1_Proc2/p   ada-src/etags-test-for.ada      /^  procedure Pkg1_Proc2 (I : Integer);$/
-Pkg1_Proc2/p   ada-src/waroquiers.ada  /^  procedure Pkg1_Proc2 (I : Integer) is$/
-Pkg1_Proc2/p   ada-src/waroquiers.ada  /^  procedure Pkg1_Proc2 (I : Integer);$/
-PostControls   pyt-src/server.py       /^    def PostControls(self):$/
-Pre_Call_State/t       ada-src/2ataspri.ads    /^   type Pre_Call_State is new System.Address;$/
-PrintAdd       go-src/test1.go /^func (n intNumber) PrintAdd() {$/
-PrintAdd       go-src/test1.go /^func (s str) PrintAdd() {$/
-Private        objc-src/Subprocess.m   /^@interface Subprocess(Private)$/
-Private_T/b    ada-src/etags-test-for.ada      /^    task body Private_T is$/
-Private_T/b    ada-src/waroquiers.ada  /^    task body Private_T is$/
-Private_T/k    ada-src/etags-test-for.ada      /^    task Private_T;$/
-Private_T/k    ada-src/waroquiers.ada  /^    task Private_T;$/
-Private_T/p    ada-src/etags-test-for.ada      /^    procedure Private_T is$/
-Private_T/p    ada-src/etags-test-for.ada      /^    procedure Private_T;$/
-Private_T/p    ada-src/waroquiers.ada  /^    procedure Private_T is$/
-Private_T/p    ada-src/waroquiers.ada  /^    procedure Private_T;$/
-Private_T/t    ada-src/etags-test-for.ada      /^  type Private_T is private;$/
-Private_T/t    ada-src/etags-test-for.ada      /^  type Private_T is$/
-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       /^@node Problems, Concept Index, Tapes, Top$/
-Proc/t ada-src/2ataspri.ads    /^   type Proc is access procedure (Addr : System.Ad/
-Prolog_functions       c-src/etags.c   /^Prolog_functions (FILE *inf)$/
-Prolog_help    c-src/etags.c   654
-Prolog_suffixes        c-src/etags.c   652
-Public_T/t     ada-src/etags-test-for.ada      /^  type Public_T is$/
-Public_T/t     ada-src/waroquiers.ada  /^  type Public_T is$/
-Python_functions       c-src/etags.c   /^Python_functions (FILE *inf)$/
-Python_help    c-src/etags.c   660
-Python_suffixes        c-src/etags.c   658
-QUIT   c-src/emacs/src/lisp.h  3101
-QUITP  c-src/emacs/src/lisp.h  3112
-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
-READABLE_EVENTS_FILTER_EVENTS  c-src/emacs/src/keyboard.c      347
-READABLE_EVENTS_IGNORE_SQUEEZABLES     c-src/emacs/src/keyboard.c      348
-RECC_ALNUM     c-src/emacs/src/regex.h 610
-RECC_ALPHA     c-src/emacs/src/regex.h 610
-RECC_ASCII     c-src/emacs/src/regex.h 617
-RECC_BLANK     c-src/emacs/src/regex.h 615
-RECC_CNTRL     c-src/emacs/src/regex.h 613
-RECC_DIGIT     c-src/emacs/src/regex.h 614
-RECC_ERROR     c-src/emacs/src/regex.h 609
-RECC_GRAPH     c-src/emacs/src/regex.h 611
-RECC_LOWER     c-src/emacs/src/regex.h 612
-RECC_MULTIBYTE c-src/emacs/src/regex.h 616
-RECC_NONASCII  c-src/emacs/src/regex.h 616
-RECC_PRINT     c-src/emacs/src/regex.h 611
-RECC_PUNCT     c-src/emacs/src/regex.h 613
-RECC_SPACE     c-src/emacs/src/regex.h 615
-RECC_UNIBYTE   c-src/emacs/src/regex.h 617
-RECC_UPPER     c-src/emacs/src/regex.h 612
-RECC_WORD      c-src/emacs/src/regex.h 610
-RECC_XDIGIT    c-src/emacs/src/regex.h 614
-RED    cp-src/screen.hpp       16
-REGEX  make-src/Makefile       /^REGEX=\/[ \\t]*DEFVAR_[A-Z_ \\t\\n(]+"\\([^"]+\\)"\/$/
-REGEXOBJS      make-src/Makefile       /^REGEXOBJS=regex.o$/
-REGS_FIXED     c-src/emacs/src/regex.h 378
-REGS_REALLOCATE        c-src/emacs/src/regex.h 377
-REGS_UNALLOCATED       c-src/emacs/src/regex.h 376
-REG_BADBR      c-src/emacs/src/regex.h 313
-REG_BADPAT     c-src/emacs/src/regex.h 305
-REG_BADRPT     c-src/emacs/src/regex.h 316
-REG_EBRACE     c-src/emacs/src/regex.h 312
-REG_EBRACK     c-src/emacs/src/regex.h 310
-REG_ECOLLATE   c-src/emacs/src/regex.h 306
-REG_ECTYPE     c-src/emacs/src/regex.h 307
-REG_EEND       c-src/emacs/src/regex.h 319
-REG_EESCAPE    c-src/emacs/src/regex.h 308
-REG_ENOSYS     c-src/emacs/src/regex.h 297
-REG_ENOSYS     c.c     279
-REG_EPAREN     c-src/emacs/src/regex.h 311
-REG_ERANGE     c-src/emacs/src/regex.h 314
-REG_ERANGEX    c-src/emacs/src/regex.h 322
-REG_ERPAREN    c-src/emacs/src/regex.h 321
-REG_ESIZE      c-src/emacs/src/regex.h 320
-REG_ESPACE     c-src/emacs/src/regex.h 315
-REG_ESUBREG    c-src/emacs/src/regex.h 309
-REG_EXTENDED   c-src/emacs/src/regex.h 263
-REG_ICASE      c-src/emacs/src/regex.h 267
-REG_NEWLINE    c-src/emacs/src/regex.h 272
-REG_NOERROR    c-src/emacs/src/regex.h 300
-REG_NOMATCH    c-src/emacs/src/regex.h 301
-REG_NOSUB      c-src/emacs/src/regex.h 276
-REG_NOTBOL     c-src/emacs/src/regex.h 286
-REG_NOTEOL     c-src/emacs/src/regex.h 289
-RELEASELIST    make-src/Makefile       /^RELEASELIST=pot@gnu.org xemacs-review@xemacs.org j/
-RESUME_POLLING c-src/emacs/src/keyboard.c      2170
-RETURN_UNGCPRO c-src/emacs/src/lisp.h  /^#define RETURN_UNGCPRO(expr)                  \\$/
-RE_BACKSLASH_ESCAPE_IN_LISTS   c-src/emacs/src/regex.h 47
-RE_BK_PLUS_QM  c-src/emacs/src/regex.h 52
-RE_CHAR_CLASSES        c-src/emacs/src/regex.h 58
-RE_CONTEXT_INDEP_ANCHORS       c-src/emacs/src/regex.h 72
-RE_CONTEXT_INDEP_OPS   c-src/emacs/src/regex.h 80
-RE_CONTEXT_INVALID_OPS c-src/emacs/src/regex.h 84
-RE_DEBUG       c-src/emacs/src/regex.h 161
-RE_DOT_NEWLINE c-src/emacs/src/regex.h 88
-RE_DOT_NOT_NULL        c-src/emacs/src/regex.h 92
-RE_DUP_MAX     c-src/emacs/src/regex.h 253
-RE_DUP_MAX     c-src/emacs/src/regex.h 256
-RE_FRUGAL      c-src/emacs/src/regex.h 147
-RE_HAT_LISTS_NOT_NEWLINE       c-src/emacs/src/regex.h 96
-RE_INTERVALS   c-src/emacs/src/regex.h 101
-RE_LIMITED_OPS c-src/emacs/src/regex.h 105
-RE_NEWLINE_ALT c-src/emacs/src/regex.h 109
-RE_NO_BK_BRACES        c-src/emacs/src/regex.h 114
-RE_NO_BK_PARENS        c-src/emacs/src/regex.h 118
-RE_NO_BK_REFS  c-src/emacs/src/regex.h 122
-RE_NO_BK_VBAR  c-src/emacs/src/regex.h 126
-RE_NO_EMPTY_RANGES     c-src/emacs/src/regex.h 132
-RE_NO_GNU_OPS  c-src/emacs/src/regex.h 144
-RE_NO_NEWLINE_ANCHOR   c-src/emacs/src/regex.h 153
-RE_NO_POSIX_BACKTRACKING       c-src/emacs/src/regex.h 140
-RE_NREGS       c-src/emacs/src/regex.h 440
-RE_SHY_GROUPS  c-src/emacs/src/regex.h 150
-RE_SYNTAX_AWK  c-src/emacs/src/regex.h 186
-RE_SYNTAX_ED   c-src/emacs/src/regex.h 216
-RE_SYNTAX_EGREP        c-src/emacs/src/regex.h 206
-RE_SYNTAX_EMACS        c-src/emacs/src/regex.h 183
-RE_SYNTAX_GNU_AWK      c-src/emacs/src/regex.h 193
-RE_SYNTAX_GREP c-src/emacs/src/regex.h 201
-RE_SYNTAX_POSIX_AWK    c-src/emacs/src/regex.h 197
-RE_SYNTAX_POSIX_BASIC  c-src/emacs/src/regex.h 225
-RE_SYNTAX_POSIX_EGREP  c-src/emacs/src/regex.h 212
-RE_SYNTAX_POSIX_EXTENDED       c-src/emacs/src/regex.h 234
-RE_SYNTAX_POSIX_MINIMAL_BASIC  c-src/emacs/src/regex.h 231
-RE_SYNTAX_POSIX_MINIMAL_EXTENDED       c-src/emacs/src/regex.h 242
-RE_SYNTAX_SED  c-src/emacs/src/regex.h 218
-RE_TRANSLATE_TYPE      c-src/emacs/src/regex.h 332
-RE_UNMATCHED_RIGHT_PAREN_ORD   c-src/emacs/src/regex.h 136
-RSH    y-src/cccp.c    17
-RTE/s  ada-src/2ataspri.adb    /^   package RTE renames Interfaces.C.POSIX_RTE;$/
-RUN    make-src/Makefile       /^RUN=$/
-RUN    make-src/Makefile       /^RUN=time --quiet --format '%U + %S: %E'$/
-RXINCLUDE      make-src/Makefile       /^RXINCLUDE=-Iemacs\/src$/
-Range  cp-src/Range.h  /^  Range (const Range& r)$/
-Range  cp-src/Range.h  /^  Range (double b, double l)$/
-Range  cp-src/Range.h  /^  Range (double b, double l, double i)$/
-Range  cp-src/Range.h  /^  Range (void)$/
-Range  cp-src/Range.h  35
-ReadVacation   cp-src/functions.cpp    /^void ReadVacation ( char *filename ) {$/
-Read_Lock/p    ada-src/2ataspri.adb    /^   procedure Read_Lock (L : in out Lock; Ceiling_V/
-Read_Lock/p    ada-src/2ataspri.ads    /^   procedure Read_Lock (L : in out Lock; Ceiling_V/
-Rectangle.getPos       lua-src/test.lua        /^function Rectangle.getPos ()$/
-ReleaseNameString      pas-src/common.pas      /^procedure ReleaseNameString; (* (var NSP: NameStri/
-RemoveLayer    lua-src/allegro.lua     /^function RemoveLayer ()$/
-RemoveUnderlineControl pas-src/common.pas      /^function RemoveUnderlineControl; (*($/
-ReprOfChar     pas-src/common.pas      /^function ReprOfChar; (*( ch : char) : NameString;*/
-S      c.c     156
-SAFE_ALLOCA    c-src/emacs/src/lisp.h  /^#define SAFE_ALLOCA(size) ((size) <= sa_avail                         \\/
-SAFE_ALLOCA_LISP       c-src/emacs/src/lisp.h  /^#define SAFE_ALLOCA_LISP(buf, nelt)                          \\$/
-SAFE_ALLOCA_STRING     c-src/emacs/src/lisp.h  /^#define SAFE_ALLOCA_STRING(ptr, string)                       \\$/
-SAFE_FREE      c-src/emacs/src/lisp.h  /^#define SAFE_FREE()                   \\$/
-SAFE_NALLOCA   c-src/emacs/src/lisp.h  /^#define SAFE_NALLOCA(buf, multiplier, nitems)                  \\/
-SAVE_FUNCPOINTER       c-src/emacs/src/lisp.h  2049
-SAVE_INTEGER   c-src/emacs/src/lisp.h  2048
-SAVE_OBJECT    c-src/emacs/src/lisp.h  2051
-SAVE_POINTER   c-src/emacs/src/lisp.h  2050
-SAVE_SLOT_BITS c-src/emacs/src/lisp.h  2055
-SAVE_TYPE_BITS c-src/emacs/src/lisp.h  2062
-SAVE_TYPE_BITS c-src/emacs/src/lisp.h  2114
-SAVE_TYPE_BITS c-src/emacs/src/lisp.h  2123
-SAVE_TYPE_FUNCPTR_PTR_OBJ      c-src/emacs/src/lisp.h  2076
-SAVE_TYPE_INT_INT      c-src/emacs/src/lisp.h  2066
-SAVE_TYPE_INT_INT_INT  c-src/emacs/src/lisp.h  2067
-SAVE_TYPE_MEMORY       c-src/emacs/src/lisp.h  2080
-SAVE_TYPE_OBJ_OBJ      c-src/emacs/src/lisp.h  2069
-SAVE_TYPE_OBJ_OBJ_OBJ  c-src/emacs/src/lisp.h  2070
-SAVE_TYPE_OBJ_OBJ_OBJ_OBJ      c-src/emacs/src/lisp.h  2071
-SAVE_TYPE_PTR_INT      c-src/emacs/src/lisp.h  2073
-SAVE_TYPE_PTR_OBJ      c-src/emacs/src/lisp.h  2074
-SAVE_TYPE_PTR_PTR      c-src/emacs/src/lisp.h  2075
-SAVE_UNUSED    c-src/emacs/src/lisp.h  2047
-SAVE_VALUEP    c-src/emacs/src/lisp.h  /^SAVE_VALUEP (Lisp_Object x)$/
-SAVE_VALUE_SLOTS       c-src/emacs/src/lisp.h  2058
-SBYTES c-src/emacs/src/lisp.h  /^SBYTES (Lisp_Object string)$/
-SCHARS c-src/emacs/src/lisp.h  /^SCHARS (Lisp_Object string)$/
-SCREEN_FP      cp-src/screen.hpp       /^#define SCREEN_FP(x,y) \\$/
-SCREEN_START   cp-src/screen.hpp       33
-SDATA  c-src/emacs/src/lisp.h  /^SDATA (Lisp_Object string)$/
-SDTrefGetInteger       pas-src/common.pas      /^function SDTrefGetInteger : integer;$/
-SDTrefIsEnd    pas-src/common.pas      /^function SDTrefIsEnd : Boolean;$/
-SDTrefRecToString      pas-src/common.pas      /^procedure SDTrefRecToString  (* ($/
-SDTrefSkipSpaces       pas-src/common.pas      /^procedure SDTrefSkipSpaces;$/
-SDTrefStringToRec      pas-src/common.pas      /^procedure SDTrefStringToRec (* ($/
-SETPRT f-src/entry.for /^       ENTRY  SETPRT ( SHORT, EXPL, LONG, TRACE, D/
-SETPRT f-src/entry.strange     /^       ENTRY  SETPRT ( SHORT, EXPL, LONG, TRACE, D/
-SETPRT f-src/entry.strange_suffix      /^       ENTRY  SETPRT ( SHORT, EXPL, LONG, TRACE, D/
-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_/
-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      6763
-SIZEFORMAT     objc-src/PackInsp.m     57
-SPECPDL_BACKTRACE      c-src/emacs/src/lisp.h  2948
-SPECPDL_INDEX  c-src/emacs/src/lisp.h  /^SPECPDL_INDEX (void)$/
-SPECPDL_LET    c-src/emacs/src/lisp.h  2949
-SPECPDL_LET_DEFAULT    c-src/emacs/src/lisp.h  2952
-SPECPDL_LET_LOCAL      c-src/emacs/src/lisp.h  2951
-SPECPDL_UNWIND c-src/emacs/src/lisp.h  2944
-SPECPDL_UNWIND_INT     c-src/emacs/src/lisp.h  2946
-SPECPDL_UNWIND_PTR     c-src/emacs/src/lisp.h  2945
-SPECPDL_UNWIND_VOID    c-src/emacs/src/lisp.h  2947
-SRCS   make-src/Makefile       /^SRCS=Makefile ${ADASRC} ${ASRC} ${CSRC} ${CPSRC} $/
-SREF   c-src/emacs/src/lisp.h  /^SREF (Lisp_Object string, ptrdiff_t index)$/
-SSDATA c-src/emacs/src/lisp.h  /^SSDATA (Lisp_Object string)$/
-SSET   c-src/emacs/src/lisp.h  /^SSET (Lisp_Object string, ptrdiff_t index, unsigne/
-STACK_CONS     c-src/emacs/src/lisp.h  /^#define STACK_CONS(a, b) \\$/
-STATE_ABORT    php-src/lce_functions.php       25
-STATE_COMPRESSD        objc-src/PackInsp.m     54
-STATE_INSTALLED        objc-src/PackInsp.m     53
-STATE_LOOP     php-src/lce_functions.php       27
-STATE_OK       php-src/lce_functions.php       26
-STATE_UNINSTALLED      objc-src/PackInsp.m     52
-STAT_EQ        objc-src/PackInsp.m     /^#define STAT_EQ(s1, s2)       ((s1)->st_ino == (s2)->st_/
-STDIN  c-src/etags.c   408
-STDIN  c-src/etags.c   411
-STOP_POLLING   c-src/emacs/src/keyboard.c      2166
-STRING_BYTES   c-src/emacs/src/lisp.h  /^STRING_BYTES (struct Lisp_String *s)$/
-STRING_BYTES_BOUND     c-src/emacs/src/lisp.h  1261
-STRING_MULTIBYTE       c-src/emacs/src/lisp.h  /^STRING_MULTIBYTE (Lisp_Object str)$/
-STRING_SET_CHARS       c-src/emacs/src/lisp.h  /^STRING_SET_CHARS (Lisp_Object string, ptrdiff_t ne/
-STRING_SET_MULTIBYTE   c-src/emacs/src/lisp.h  /^#define STRING_SET_MULTIBYTE(STR)                     \\$/
-STRING_SET_UNIBYTE     c-src/emacs/src/lisp.h  /^#define STRING_SET_UNIBYTE(STR)                               \\$/
-SUBRP  c-src/emacs/src/lisp.h  /^SUBRP (Lisp_Object a)$/
-SUB_CHAR_TABLE_OFFSET  c-src/emacs/src/lisp.h  1701
-SUB_CHAR_TABLE_P       c-src/emacs/src/lisp.h  /^SUB_CHAR_TABLE_P (Lisp_Object a)$/
-SXHASH_REDUCE  c-src/emacs/src/lisp.h  /^SXHASH_REDUCE (EMACS_UINT x)$/
-SYMBOLP        c-src/emacs/src/lisp.h  /^# define SYMBOLP(x) lisp_h_SYMBOLP (x)$/
-SYMBOL_BLV     c-src/emacs/src/lisp.h  /^SYMBOL_BLV (struct Lisp_Symbol *sym)$/
-SYMBOL_CONSTANT_P      c-src/emacs/src/lisp.h  /^# define SYMBOL_CONSTANT_P(sym) lisp_h_SYMBOL_CONS/
-SYMBOL_FORWARDED       c-src/emacs/src/lisp.h  651
-SYMBOL_FWD     c-src/emacs/src/lisp.h  /^SYMBOL_FWD (struct Lisp_Symbol *sym)$/
-SYMBOL_INDEX   c-src/emacs/src/lisp.h  /^#define SYMBOL_INDEX(sym) i##sym$/
-SYMBOL_INTERNED        c-src/emacs/src/lisp.h  642
-SYMBOL_INTERNED_IN_INITIAL_OBARRAY     c-src/emacs/src/lisp.h  643
-SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P   c-src/emacs/src/lisp.h  /^SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P (Lisp_Object /
-SYMBOL_INTERNED_P      c-src/emacs/src/lisp.h  /^SYMBOL_INTERNED_P (Lisp_Object sym)$/
-SYMBOL_LOCALIZED       c-src/emacs/src/lisp.h  650
-SYMBOL_NAME    c-src/emacs/src/lisp.h  /^SYMBOL_NAME (Lisp_Object sym)$/
-SYMBOL_PLAINVAL        c-src/emacs/src/lisp.h  648
-SYMBOL_UNINTERNED      c-src/emacs/src/lisp.h  641
-SYMBOL_VAL     c-src/emacs/src/lisp.h  /^# define SYMBOL_VAL(sym) lisp_h_SYMBOL_VAL (sym)$/
-SYMBOL_VARALIAS        c-src/emacs/src/lisp.h  649
-SYSCALL        c-src/machsyscalls.c    /^#define       SYSCALL(name, number, type, args, typed_ar/
-Sample tex-src/gzip.texi       /^@node 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
-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;$/
-Server pyt-src/server.py       /^class Server:$/
-ServerEdit     pyt-src/server.py       /^class ServerEdit(Frame):$/
-Set_Own_Priority/p     ada-src/2ataspri.adb    /^   procedure Set_Own_Priority (Prio : System.Any_P/
-Set_Own_Priority/p     ada-src/2ataspri.ads    /^   procedure Set_Own_Priority (Prio : System.Any_P/
-Set_Priority/p ada-src/2ataspri.adb    /^   procedure Set_Priority$/
-Set_Priority/p ada-src/2ataspri.ads    /^   procedure Set_Priority (T : TCB_Ptr; Prio : Sys/
-SimpleCalc     objcpp-src/SimpleCalc.H /^@interface 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 /
-Square.something:Bar   lua-src/test.lua        /^function Square.something:Bar ()$/
-StartDay       cp-src/functions.cpp    /^Date StartDay(Date a,int days){\/\/Function to calcu/
-StripPath      pas-src/common.pas      /^function StripPath; (*($/
-SubString      pas-src/common.pas      /^function SubString; (*($/
-Subprocess     objc-src/Subprocess.h   /^@interface Subprocess:Object$/
-Subprocess     objc-src/Subprocess.h   41
-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$/
-T      cp-src/fail.C   14
-T2     cp-src/fail.C   16
-T3     c.c     163
-TAGS   make-src/Makefile       /^TAGS: etags.c$/
-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)                             \\$/
-TAS_Cell/t     ada-src/2ataspri.ads    /^   type TAS_Cell is private;$/
-TAS_Cell/t     ada-src/2ataspri.ads    /^   type TAS_Cell is$/
-TCB_Ptr/t      ada-src/2ataspri.ads    /^   type TCB_Ptr is access all Task_Control_Block;$/
-TCLFLAGS       make-src/Makefile       /^TCLFLAGS=--lang=none --regex='\/proc[ \\t]+\\([^ \\t]+/
-TERMINALP      c-src/emacs/src/lisp.h  /^TERMINALP (Lisp_Object a)$/
-TEST   php-src/ptest.php       1
-TEXSRC make-src/Makefile       /^TEXSRC=testenv.tex gzip.texi texinfo.tex nonewline/
-TEX_LESC       c-src/etags.c   4986
-TEX_SESC       c-src/etags.c   4987
-TEX_clgrp      c-src/etags.c   4922
-TEX_decode_env c-src/etags.c   /^TEX_decode_env (const char *evarname, const char */
-TEX_defenv     c-src/etags.c   4912
-TEX_esc        c-src/etags.c   4920
-TEX_mode       c-src/etags.c   /^TEX_mode (FILE *inf)$/
-TEX_opgrp      c-src/etags.c   4921
-TEX_toktab     c-src/etags.c   4908
-TOTAL_KEYWORDS c-src/etags.c   2325
-TSL/s  ada-src/2ataspri.adb    /^   package TSL renames System.Tasking_Soft_Links;$/
-TYPESTOSTAT    objc-src/PackInsp.h     37
-TYPE_RANGED_INTEGERP   c-src/emacs/src/lisp.h  /^#define TYPE_RANGED_INTEGERP(type, x) \\$/
-Tapes  tex-src/gzip.texi       /^@node Tapes, Problems, Environment, Top$/
-Task_Control_Block/t   ada-src/2ataspri.ads    /^   type Task_Control_Block is record$/
-Task_Storage_Size/t    ada-src/2ataspri.ads    /^   type Task_Storage_Size is new Interfaces.C.size/
-Task_Type/b    ada-src/etags-test-for.ada      /^  task body Task_Type is$/
-Task_Type/b    ada-src/waroquiers.ada  /^  task body Task_Type is$/
-Task_Type/k    ada-src/etags-test-for.ada      /^  task type Task_Type is$/
-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
-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;/
-Test_And_Set/p ada-src/2ataspri.ads    /^   procedure Test_And_Set (Cell : in out TAS_Cell;/
-Texinfo_help   c-src/etags.c   688
-Texinfo_nodes  c-src/etags.c   /^Texinfo_nodes (FILE *inf)$/
-Texinfo_suffixes       c-src/etags.c   686
-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$/
-To_TCB_Ptr/f   ada-src/2ataspri.adb    /^   function To_TCB_Ptr is new$/
-To_Upper       pas-src/common.pas      /^function To_Upper;(*(ch:char) : char;*)$/
-To_void_ptr/f  ada-src/2ataspri.adb    /^   function To_void_ptr is new$/
-Top    tex-src/gzip.texi       /^@node Top, , , (dir)$/
-Truc.Bidule/b  ada-src/etags-test-for.ada      /^package body Truc.Bidule is$/
-Truc.Bidule/b  ada-src/waroquiers.ada  /^package body Truc.Bidule is$/
-Truc.Bidule/s  ada-src/etags-test-for.ada      /^package Truc.Bidule is$/
-Truc.Bidule/s  ada-src/waroquiers.ada  /^package Truc.Bidule is$/
-Truc/s ada-src/etags-test-for.ada      /^package Truc is$/
-Truc/s ada-src/waroquiers.ada  /^package Truc is$/
-Type_Specific_Data/t   ada-src/etags-test-for.ada      /^   type Type_Specific_Data is record$/
-UCHAR  c-src/emacs/src/lisp.h  2424
-UNARY  y-src/cccp.c    18
-UNDEFINED      c-src/h.h       118
-UNEVALLED      c-src/emacs/src/lisp.h  2834
-UNGCPRO        c-src/emacs/src/lisp.h  3202
-UNGCPRO        c-src/emacs/src/lisp.h  3257
-UNGCPRO        c-src/emacs/src/lisp.h  3353
-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()$/
-UNSIGNED_CMP   c-src/emacs/src/lisp.h  /^#define UNSIGNED_CMP(a, op, b)                                                \\$/
-USE_LSB_TAG    c-src/emacs/src/lisp.h  /^DEFINE_GDB_SYMBOL_BEGIN (bool, USE_LSB_TAG)$/
-USE_LSB_TAG    c-src/emacs/src/lisp.h  271
-USE_PTHREAD    c-src/emacs/src/gmalloc.c       25
-USE_SAFE_ALLOCA        c-src/emacs/src/lisp.h  4560
-USE_STACK_CONS c-src/emacs/src/lisp.h  4689
-USE_STACK_LISP_OBJECTS c-src/emacs/src/lisp.h  4652
-USE_STACK_LISP_OBJECTS c-src/emacs/src/lisp.h  4658
-USE_STACK_LISP_OBJECTS c-src/emacs/src/lisp.h  4659
-USE_STACK_STRING       c-src/emacs/src/lisp.h  4691
-U_CHAR y-src/cccp.y    38
-Unlock/p       ada-src/2ataspri.adb    /^   procedure Unlock (L : in out Lock) is$/
-Unlock/p       ada-src/2ataspri.ads    /^   procedure Unlock (L : in out Lock);$/
-User   pyt-src/server.py       /^class User:$/
-UserEdit       pyt-src/server.py       /^class UserEdit(Frame):$/
-VALBITS        c-src/emacs/src/lisp.h  246
-VALMASK        c-src/emacs/src/lisp.h  /^DEFINE_GDB_SYMBOL_BEGIN (EMACS_INT, VALMASK)$/
-VALMASK        c-src/emacs/src/lisp.h  829
-VAL_MAX        c-src/emacs/src/lisp.h  263
-VECSIZE        c-src/emacs/src/lisp.h  /^#define VECSIZE(type)                                         \\$/
-VECTORLIKEP    c-src/emacs/src/lisp.h  /^# define VECTORLIKEP(x) lisp_h_VECTORLIKEP (x)$/
-VECTORP        c-src/emacs/src/lisp.h  /^VECTORP (Lisp_Object x)$/
-VERSION        c-src/etags.c   789
-VERSION        erl-src/gs_dialog.erl   /^-define(VERSION, '2001.1101').$/
-VERSION        objc-src/PackInsp.m     34
-VHDLFLAGS      make-src/Makefile       /^VHDLFLAGS=--language=none --regex='\/[ \\t]*\\(ARCHIT/
-Vabbrev_start_location c-src/abbrev.c  63
-Vabbrev_start_location_buffer  c-src/abbrev.c  66
-Vabbrev_table_name_list        c-src/abbrev.c  43
-ValToNmStr     pas-src/common.pas      /^function ValToNmStr; (*($/
-Vfundamental_mode_abbrev_table c-src/abbrev.c  52
-Vglobal_abbrev_table   c-src/abbrev.c  48
-Vlast_abbrev   c-src/abbrev.c  70
-Vlast_abbrev_text      c-src/abbrev.c  75
-Vlispy_mouse_stem      c-src/emacs/src/keyboard.c      5172
-WAIT_READING_MAX       c-src/emacs/src/lisp.h  4281
-WAIT_READING_MAX       c-src/emacs/src/lisp.h  4283
-WARNINGS       make-src/Makefile       /^WARNINGS=-pedantic -Wall -Wpointer-arith -Winline /
-WCHAR_TYPE_SIZE        y-src/cccp.y    99
-WHITE  cp-src/screen.hpp       27
-WINDOWP        c-src/emacs/src/lisp.h  /^WINDOWP (Lisp_Object a)$/
-WINDOWSNT      c-src/etags.c   101
-WINDOWSNT      c-src/etags.c   102
-WINDOW_CONFIGURATIONP  c-src/emacs/src/lisp.h  /^WINDOW_CONFIGURATIONP (Lisp_Object a)$/
-WORKING        objc-src/PackInsp.m     368
-WorkingDays    cp-src/functions.cpp    /^int WorkingDays(Date a, Date b){$/
-Write_Lock/p   ada-src/2ataspri.adb    /^   procedure Write_Lock (L : in out Lock; Ceiling_/
-Write_Lock/p   ada-src/2ataspri.ads    /^   procedure Write_Lock (L : in out Lock; Ceiling_/
-X      c-src/h.h       100
-XBOOL_VECTOR   c-src/emacs/src/lisp.h  /^XBOOL_VECTOR (Lisp_Object a)$/
-XBUFFER        c-src/emacs/src/lisp.h  /^XBUFFER (Lisp_Object a)$/
-XBUFFER_OBJFWD c-src/emacs/src/lisp.h  /^XBUFFER_OBJFWD (union Lisp_Fwd *a)$/
-XCAR   c-src/emacs/src/lisp.h  /^# define XCAR(c) lisp_h_XCAR (c)$/
-XCDR   c-src/emacs/src/lisp.h  /^# define XCDR(c) lisp_h_XCDR (c)$/
-XCHAR_TABLE    c-src/emacs/src/lisp.h  /^XCHAR_TABLE (Lisp_Object a)$/
-XCHG_0 c-src/sysdep.h  47
-XCHG_1 c-src/sysdep.h  48
-XCHG_2 c-src/sysdep.h  49
-XCHG_3 c-src/sysdep.h  50
-XCHG_4 c-src/sysdep.h  51
-XCHG_5 c-src/sysdep.h  52
-XCONS  c-src/emacs/src/lisp.h  /^# define XCONS(a) lisp_h_XCONS (a)$/
-XDEFUN c.c     /^XDEFUN ("x-get-selection-internal", Fx_get_selecti/
-XFASTINT       c-src/emacs/src/lisp.h  /^#  define XFASTINT(a) lisp_h_XFASTINT (a)$/
-XFASTINT       c-src/emacs/src/lisp.h  /^XFASTINT (Lisp_Object a)$/
-XFINALIZER     c-src/emacs/src/lisp.h  /^XFINALIZER (Lisp_Object a)$/
-XFLOAT c-src/emacs/src/lisp.h  /^XFLOAT (Lisp_Object a)$/
-XFLOATINT      c-src/emacs/src/lisp.h  /^XFLOATINT (Lisp_Object n)$/
-XFLOAT_DATA    c-src/emacs/src/lisp.h  /^XFLOAT_DATA (Lisp_Object f)$/
-XFWDTYPE       c-src/emacs/src/lisp.h  /^XFWDTYPE (union Lisp_Fwd *a)$/
-XHASH  c-src/emacs/src/lisp.h  /^# define XHASH(a) lisp_h_XHASH (a)$/
-XHASH_TABLE    c-src/emacs/src/lisp.h  /^XHASH_TABLE (Lisp_Object a)$/
-XIL    c-src/emacs/src/lisp.h  /^# define XIL(i) lisp_h_XIL (i)$/
-XINT   c-src/emacs/src/lisp.h  /^#  define XINT(a) lisp_h_XINT (a)$/
-XINT   c-src/emacs/src/lisp.h  /^XINT (Lisp_Object a)$/
-XINTPTR        c-src/emacs/src/lisp.h  /^XINTPTR (Lisp_Object a)$/
-XLI    c-src/emacs/src/lisp.h  /^# define XLI(o) lisp_h_XLI (o)$/
-XLI_BUILTIN_LISPSYM    c-src/emacs/src/lisp.h  /^#define XLI_BUILTIN_LISPSYM(iname) TAG_SYMOFFSET (/
-XMARKER        c-src/emacs/src/lisp.h  /^XMARKER (Lisp_Object a)$/
-XMISC  c-src/emacs/src/lisp.h  /^XMISC (Lisp_Object a)$/
-XMISCANY       c-src/emacs/src/lisp.h  /^XMISCANY (Lisp_Object a)$/
-XMISCTYPE      c-src/emacs/src/lisp.h  /^XMISCTYPE (Lisp_Object a)$/
-XOVERLAY       c-src/emacs/src/lisp.h  /^XOVERLAY (Lisp_Object a)$/
-XPNTR  c-src/emacs/src/lisp.h  /^# define XPNTR(a) lisp_h_XPNTR (a)$/
-XPROCESS       c-src/emacs/src/lisp.h  /^XPROCESS (Lisp_Object a)$/
-XSAVE_FUNCPOINTER      c-src/emacs/src/lisp.h  /^XSAVE_FUNCPOINTER (Lisp_Object obj, int n)$/
-XSAVE_INTEGER  c-src/emacs/src/lisp.h  /^XSAVE_INTEGER (Lisp_Object obj, int n)$/
-XSAVE_OBJECT   c-src/emacs/src/lisp.h  /^XSAVE_OBJECT (Lisp_Object obj, int n)$/
-XSAVE_POINTER  c-src/emacs/src/lisp.h  /^XSAVE_POINTER (Lisp_Object obj, int n)$/
-XSAVE_VALUE    c-src/emacs/src/lisp.h  /^XSAVE_VALUE (Lisp_Object a)$/
-XSETBOOL_VECTOR        c-src/emacs/src/lisp.h  /^#define XSETBOOL_VECTOR(a, b) (XSETPSEUDOVECTOR (a/
-XSETBUFFER     c-src/emacs/src/lisp.h  /^#define XSETBUFFER(a, b) (XSETPSEUDOVECTOR (a, b, /
-XSETCDR        c-src/emacs/src/lisp.h  /^XSETCDR (Lisp_Object c, Lisp_Object n)$/
-XSETCHAR_TABLE c-src/emacs/src/lisp.h  /^#define XSETCHAR_TABLE(a, b) (XSETPSEUDOVECTOR (a,/
-XSETCOMPILED   c-src/emacs/src/lisp.h  /^#define XSETCOMPILED(a, b) (XSETPSEUDOVECTOR (a, b/
-XSETCONS       c-src/emacs/src/lisp.h  /^#define XSETCONS(a, b) ((a) = make_lisp_ptr (b, Li/
-XSETFASTINT    c-src/emacs/src/lisp.h  /^#define XSETFASTINT(a, b) ((a) = make_natnum (b))$/
-XSETFLOAT      c-src/emacs/src/lisp.h  /^#define XSETFLOAT(a, b) ((a) = make_lisp_ptr (b, L/
-XSETINT        c-src/emacs/src/lisp.h  /^#define XSETINT(a, b) ((a) = make_number (b))$/
-XSETMISC       c-src/emacs/src/lisp.h  /^#define XSETMISC(a, b) ((a) = make_lisp_ptr (b, Li/
-XSETPROCESS    c-src/emacs/src/lisp.h  /^#define XSETPROCESS(a, b) (XSETPSEUDOVECTOR (a, b,/
-XSETPSEUDOVECTOR       c-src/emacs/src/lisp.h  /^#define XSETPSEUDOVECTOR(a, b, code) \\$/
-XSETPVECTYPE   c-src/emacs/src/lisp.h  /^#define XSETPVECTYPE(v, code)                                         \\$/
-XSETPVECTYPESIZE       c-src/emacs/src/lisp.h  /^#define XSETPVECTYPESIZE(v, code, lispsize, restsi/
-XSETSTRING     c-src/emacs/src/lisp.h  /^#define XSETSTRING(a, b) ((a) = make_lisp_ptr (b, /
-XSETSUBR       c-src/emacs/src/lisp.h  /^#define XSETSUBR(a, b) (XSETPSEUDOVECTOR (a, b, PV/
-XSETSUB_CHAR_TABLE     c-src/emacs/src/lisp.h  /^#define XSETSUB_CHAR_TABLE(a, b) (XSETPSEUDOVECTOR/
-XSETSYMBOL     c-src/emacs/src/lisp.h  /^#define XSETSYMBOL(a, b) ((a) = make_lisp_symbol (/
-XSETTERMINAL   c-src/emacs/src/lisp.h  /^#define XSETTERMINAL(a, b) (XSETPSEUDOVECTOR (a, b/
-XSETTYPED_PSEUDOVECTOR c-src/emacs/src/lisp.h  /^#define XSETTYPED_PSEUDOVECTOR(a, b, size, code)              /
-XSETVECTOR     c-src/emacs/src/lisp.h  /^#define XSETVECTOR(a, b) ((a) = make_lisp_ptr (b, /
-XSETWINDOW     c-src/emacs/src/lisp.h  /^#define XSETWINDOW(a, b) (XSETPSEUDOVECTOR (a, b, /
-XSETWINDOW_CONFIGURATION       c-src/emacs/src/lisp.h  /^#define XSETWINDOW_CONFIGURATION(a, b) \\$/
-XSET_HASH_TABLE        c-src/emacs/src/lisp.h  /^#define XSET_HASH_TABLE(VAR, PTR) \\$/
-XSTRING        c-src/emacs/src/lisp.h  /^XSTRING (Lisp_Object a)$/
-XSUBR  c-src/emacs/src/lisp.h  /^XSUBR (Lisp_Object a)$/
-XSUB_CHAR_TABLE        c-src/emacs/src/lisp.h  /^XSUB_CHAR_TABLE (Lisp_Object a)$/
-XSYMBOL        c-src/emacs/src/lisp.h  /^#  define XSYMBOL(a) lisp_h_XSYMBOL (a)$/
-XSYMBOL        c-src/emacs/src/lisp.h  /^XSYMBOL (Lisp_Object a)$/
-XTERMINAL      c-src/emacs/src/lisp.h  /^XTERMINAL (Lisp_Object a)$/
-XTYPE  c-src/emacs/src/lisp.h  /^#  define XTYPE(a) lisp_h_XTYPE (a)$/
-XTYPE  c-src/emacs/src/lisp.h  /^XTYPE (Lisp_Object a)$/
-XUNTAG c-src/emacs/src/lisp.h  /^#  define XUNTAG(a, type) lisp_h_XUNTAG (a, type)$/
-XUNTAG c-src/emacs/src/lisp.h  /^XUNTAG (Lisp_Object a, int type)$/
-XWINDOW        c-src/emacs/src/lisp.h  /^XWINDOW (Lisp_Object a)$/
-XX     cp-src/x.cc     1
-Xyzzy  ruby-src/test1.ru       13
-Y      c-src/h.h       100
-YACC   c-src/etags.c   2199
-YELLOW cp-src/screen.hpp       26
-YSRC   make-src/Makefile       /^YSRC=parse.y parse.c atest.y cccp.c cccp.y$/
-YYABORT        /usr/share/bison/bison.simple   153
-YYABORT        /usr/share/bison/bison.simple   154
-YYACCEPT       /usr/share/bison/bison.simple   152
-YYACCEPT       /usr/share/bison/bison.simple   153
-YYBACKUP       /usr/share/bison/bison.simple   /^#define YYBACKUP(Token, Value)                                        \\$/
-YYBISON        y-src/cccp.c    4
-YYBISON        y-src/parse.c   4
-YYDPRINTF      /usr/share/bison/bison.simple   /^# define YYDPRINTF(Args)                      \\$/
-YYDPRINTF      /usr/share/bison/bison.simple   /^# define YYDPRINTF(Args)$/
-YYEMPTY        /usr/share/bison/bison.simple   150
-YYEMPTY        /usr/share/bison/bison.simple   151
-YYEOF  /usr/share/bison/bison.simple   151
-YYEOF  /usr/share/bison/bison.simple   152
-YYERRCODE      /usr/share/bison/bison.simple   178
-YYERRCODE      /usr/share/bison/bison.simple   179
-YYERROR        /usr/share/bison/bison.simple   154
-YYERROR        /usr/share/bison/bison.simple   155
-YYFAIL /usr/share/bison/bison.simple   158
-YYFAIL /usr/share/bison/bison.simple   159
-YYFPRINTF      /usr/share/bison/bison.simple   225
-YYFPRINTF      /usr/share/bison/bison.simple   226
-YYINITDEPTH    /usr/share/bison/bison.simple   244
-YYINITDEPTH    /usr/share/bison/bison.simple   245
-YYLEX  /usr/share/bison/bison.simple   200
-YYLEX  /usr/share/bison/bison.simple   201
-YYLEX  /usr/share/bison/bison.simple   202
-YYLEX  /usr/share/bison/bison.simple   203
-YYLEX  /usr/share/bison/bison.simple   206
-YYLEX  /usr/share/bison/bison.simple   207
-YYLEX  /usr/share/bison/bison.simple   208
-YYLEX  /usr/share/bison/bison.simple   209
-YYLEX  /usr/share/bison/bison.simple   212
-YYLEX  /usr/share/bison/bison.simple   213
-YYLLOC_DEFAULT /usr/share/bison/bison.simple   /^# define YYLLOC_DEFAULT(Current, Rhs, N)              \\$/
-YYMAXDEPTH     /usr/share/bison/bison.simple   255
-YYMAXDEPTH     /usr/share/bison/bison.simple   256
-YYMAXDEPTH     /usr/share/bison/bison.simple   259
-YYMAXDEPTH     /usr/share/bison/bison.simple   260
-YYPARSE_PARAM_ARG      /usr/share/bison/bison.simple   351
-YYPARSE_PARAM_ARG      /usr/share/bison/bison.simple   354
-YYPARSE_PARAM_ARG      /usr/share/bison/bison.simple   358
-YYPARSE_PARAM_DECL     /usr/share/bison/bison.simple   352
-YYPARSE_PARAM_DECL     /usr/share/bison/bison.simple   355
-YYPARSE_PARAM_DECL     /usr/share/bison/bison.simple   359
-YYPOPSTACK     /usr/share/bison/bison.simple   445
-YYPOPSTACK     /usr/share/bison/bison.simple   447
-YYRECOVERING   /usr/share/bison/bison.simple   /^#define YYRECOVERING()  (!!yyerrstatus)$/
-YYSIZE_T       /usr/share/bison/bison.simple   128
-YYSIZE_T       /usr/share/bison/bison.simple   129
-YYSIZE_T       /usr/share/bison/bison.simple   131
-YYSIZE_T       /usr/share/bison/bison.simple   132
-YYSIZE_T       /usr/share/bison/bison.simple   136
-YYSIZE_T       /usr/share/bison/bison.simple   137
-YYSIZE_T       /usr/share/bison/bison.simple   140
-YYSIZE_T       /usr/share/bison/bison.simple   141
-YYSIZE_T       /usr/share/bison/bison.simple   145
-YYSIZE_T       /usr/share/bison/bison.simple   146
-YYSIZE_T       /usr/share/bison/bison.simple   51
-YYSIZE_T       /usr/share/bison/bison.simple   52
-YYSIZE_T       /usr/share/bison/bison.simple   56
-YYSIZE_T       /usr/share/bison/bison.simple   57
-YYSIZE_T       /usr/share/bison/bison.simple   71
-YYSIZE_T       /usr/share/bison/bison.simple   72
-YYSIZE_T       /usr/share/bison/bison.simple   75
-YYSIZE_T       /usr/share/bison/bison.simple   76
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   50
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   51
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   55
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   56
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   59
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   60
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   78
-YYSTACK_ALLOC  /usr/share/bison/bison.simple   79
-YYSTACK_BYTES  /usr/share/bison/bison.simple   /^#  define YYSTACK_BYTES(N) \\$/
-YYSTACK_FREE   /usr/share/bison/bison.simple   /^#  define YYSTACK_FREE(Ptr) do { \/* empty *\/; } wh/
-YYSTACK_FREE   /usr/share/bison/bison.simple   79
-YYSTACK_FREE   /usr/share/bison/bison.simple   80
-YYSTACK_GAP_MAX        /usr/share/bison/bison.simple   93
-YYSTACK_GAP_MAX        /usr/share/bison/bison.simple   94
-YYSTACK_RELOCATE       /usr/share/bison/bison.simple   /^# define YYSTACK_RELOCATE(Type, Stack)                                        \\$/
-YYSTACK_RELOCATE       /usr/share/bison/bison.simple   548
-YYSTD  /usr/share/bison/bison.simple   /^# define YYSTD(x) std::x$/
-YYSTD  /usr/share/bison/bison.simple   /^# define YYSTD(x) x$/
-YYSTYPE        y-src/parse.y   72
-YYSTYPE        y-src/parse.y   73
-YYTERROR       /usr/share/bison/bison.simple   177
-YYTERROR       /usr/share/bison/bison.simple   178
-YY_DECL_NON_LSP_VARIABLES      /usr/share/bison/bison.simple   374
-YY_DECL_VARIABLES      /usr/share/bison/bison.simple   385
-YY_DECL_VARIABLES      /usr/share/bison/bison.simple   391
-Yacc_entries   c-src/etags.c   /^Yacc_entries (FILE *inf)$/
-Yacc_help      c-src/etags.c   693
-Yacc_suffixes  c-src/etags.c   691
-Z      c-src/h.h       100
-[]     ruby-src/test.rb        /^        def [](y)$/
-[]=    ruby-src/test.rb        /^        def []=(y, val)$/
-\      tex-src/texinfo.tex     /^\\def\\ {{\\fontdimen2\\font=\\tclosesave{} }}%$/
-\      tex-src/texinfo.tex     /^\\gdef\\sepspaces{\\def {\\ }}}$/
-\'     tex-src/texinfo.tex     /^\\def\\'{{'}}$/
-\*     tex-src/texinfo.tex     /^\\def\\*{\\hfil\\break\\hbox{}\\ignorespaces}$/
-\.     tex-src/texinfo.tex     /^\\def\\.{.\\spacefactor=3000 }$/
-\:     tex-src/texinfo.tex     /^\\def\\:{\\spacefactor=1000 }$/
-\@     tex-src/texinfo.tex     /^\\def\\@{@}%$/
-\@     tex-src/texinfo.tex     /^\\def\\@{{\\tt \\char '100}}$/
-\CHAPFopen     tex-src/texinfo.tex     /^\\def\\CHAPFopen{$/
-\CHAPFplain    tex-src/texinfo.tex     /^\\def\\CHAPFplain{$/
-\CHAPPAGodd    tex-src/texinfo.tex     /^\\def\\CHAPPAGodd{$/
-\CHAPPAGoff    tex-src/texinfo.tex     /^\\def\\CHAPPAGoff{$/
-\CHAPPAGon     tex-src/texinfo.tex     /^\\def\\CHAPPAGon{$/
-\ENVcheck      tex-src/texinfo.tex     /^\\def\\ENVcheck{%$/
-\Ealphaenumerate       tex-src/texinfo.tex     /^\\def\\Ealphaenumerate{\\Eenumerate}$/
-\Ecapsenumerate        tex-src/texinfo.tex     /^\\def\\Ecapsenumerate{\\Eenumerate}$/
-\Ecartouche    tex-src/texinfo.tex     /^\\def\\Ecartouche{%$/
-\Edescription  tex-src/texinfo.tex     /^\\def\\Edescription{\\Etable}% Necessary kludge.$/
-\Edisplay      tex-src/texinfo.tex     /^\\def\\Edisplay{\\endgroup\\afterenvbreak}%$/
-\Eexample      tex-src/texinfo.tex     /^\\def\\Eexample{\\Elisp}$/
-\Eflushleft    tex-src/texinfo.tex     /^\\def\\Eflushleft{\\endgroup\\afterenvbreak}%$/
-\Eflushright   tex-src/texinfo.tex     /^\\def\\Eflushright{\\endgroup\\afterenvbreak}%$/
-\Eformat       tex-src/texinfo.tex     /^\\def\\Eformat{\\endgroup\\afterenvbreak}$/
-\Eftable       tex-src/texinfo.tex     /^\\def\\Eftable{\\endgraf\\endgroup\\afterenvbreak}%$/
-\Egroup        tex-src/texinfo.tex     /^  \\def\\Egroup{\\egroup\\endgroup}%$/
-\Eifclear      tex-src/texinfo.tex     /^\\def\\Eifclear{}$/
-\Eifset        tex-src/texinfo.tex     /^\\def\\Eifset{}$/
-\Eiftex        tex-src/texinfo.tex     /^\\def\\Eiftex{}$/
-\Elisp tex-src/texinfo.tex     /^\\def\\Elisp{\\endgroup\\afterenvbreak}%$/
-\Equotation    tex-src/texinfo.tex     /^\\def\\Equotation{\\par\\endgroup\\afterenvbreak}%$/
-\Esmallexample tex-src/texinfo.tex     /^\\def\\Esmallexample{\\Elisp}$/
-\Esmallexample tex-src/texinfo.tex     /^\\global\\def\\Esmallexample{\\Esmalllisp}$/
-\Esmalllisp    tex-src/texinfo.tex     /^\\def\\Esmalllisp{\\endgroup\\afterenvbreak}%$/
-\Etable        tex-src/texinfo.tex     /^\\def\\Etable{\\endgraf\\endgroup\\afterenvbreak}%$/
-\Etitlepage    tex-src/texinfo.tex     /^\\def\\Etitlepage{%$/
-\Evtable       tex-src/texinfo.tex     /^\\def\\Evtable{\\endgraf\\endgroup\\afterenvbreak}%$/
-\HEADINGSafter tex-src/texinfo.tex     /^\\def\\HEADINGSafter{\\let\\HEADINGShook=\\HEADINGSdoub/
-\HEADINGSdouble        tex-src/texinfo.tex     /^\\def\\HEADINGSdouble{$/
-\HEADINGSdoublex       tex-src/texinfo.tex     /^\\def\\HEADINGSdoublex{%$/
-\HEADINGSoff   tex-src/texinfo.tex     /^\\def\\HEADINGSoff{$/
-\HEADINGSon    tex-src/texinfo.tex     /^\\def\\HEADINGSon{\\HEADINGSdouble}$/
-\HEADINGSon    tex-src/texinfo.tex     /^\\global\\def\\HEADINGSon{\\HEADINGSdouble}}$/
-\HEADINGSon    tex-src/texinfo.tex     /^\\global\\def\\HEADINGSon{\\HEADINGSsingle}}$/
-\HEADINGSsingle        tex-src/texinfo.tex     /^\\def\\HEADINGSsingle{$/
-\HEADINGSsingleafter   tex-src/texinfo.tex     /^\\def\\HEADINGSsingleafter{\\let\\HEADINGShook=\\HEADIN/
-\HEADINGSsinglex       tex-src/texinfo.tex     /^\\def\\HEADINGSsinglex{%$/
-\TeX   tex-src/texinfo.tex     /^\\def\\TeX{\\realbackslash TeX}$/
-\TeX   tex-src/texinfo.tex     /^\\def\\TeX{\\realbackslash TeX}%$/
-\Yappendixletterandtype        tex-src/texinfo.tex     /^\\def\\Yappendixletterandtype{%$/
-\Ynothing      tex-src/texinfo.tex     /^\\def\\Ynothing{}$/
-\Ypagenumber   tex-src/texinfo.tex     /^\\def\\Ypagenumber{\\folio}$/
-\Ysectionnumberandtype tex-src/texinfo.tex     /^\\def\\Ysectionnumberandtype{%$/
-\Ytitle        tex-src/texinfo.tex     /^\\def\\Ytitle{\\thischapter}$/
-\_     tex-src/texinfo.tex     /^\\def\\_{\\lvvmode \\kern.06em \\vbox{\\hrule width.3em /
-\_     tex-src/texinfo.tex     /^\\def\\_{{\\realbackslash _}}%$/
-\`     tex-src/texinfo.tex     /^\\def\\`{{`}}$/
-\aboveenvbreak tex-src/texinfo.tex     /^\\def\\aboveenvbreak{{\\advance\\aboveenvskipamount by/
-\activedoublequote     tex-src/texinfo.tex     /^\\def\\activedoublequote{{\\tt \\char '042}}$/
-\activeparens  tex-src/texinfo.tex     /^\\def\\activeparens{%$/
-\afourpaper    tex-src/texinfo.tex     /^\\def\\afourpaper{$/
-\afterenvbreak tex-src/texinfo.tex     /^\\def\\afterenvbreak{\\endgraf \\ifdim\\lastskip<\\above/
-\alphaenumerate        tex-src/texinfo.tex     /^\\def\\alphaenumerate{\\enumerate{a}}$/
-\appendix      tex-src/texinfo.tex     /^\\outer\\def\\appendix{\\parsearg\\appendixzzz}$/
-\appendixletter        tex-src/texinfo.tex     /^\\def\\appendixletter{\\char\\the\\appendixno}$/
-\appendixnoderef       tex-src/texinfo.tex     /^\\def\\appendixnoderef{\\ifx\\lastnode\\relax\\else$/
-\appendixsec   tex-src/texinfo.tex     /^\\outer\\def\\appendixsec{\\parsearg\\appendixsectionzz/
-\appendixsection       tex-src/texinfo.tex     /^\\outer\\def\\appendixsection{\\parsearg\\appendixsecti/
-\appendixsectionzzz    tex-src/texinfo.tex     /^\\def\\appendixsectionzzz #1{\\seccheck{appendixsecti/
-\appendixsetref        tex-src/texinfo.tex     /^\\def\\appendixsetref#1{%$/
-\appendixsubsec        tex-src/texinfo.tex     /^\\outer\\def\\appendixsubsec{\\parsearg\\appendixsubsec/
-\appendixsubseczzz     tex-src/texinfo.tex     /^\\def\\appendixsubseczzz #1{\\seccheck{appendixsubsec/
-\appendixsubsubsec     tex-src/texinfo.tex     /^\\outer\\def\\appendixsubsubsec{\\parsearg\\appendixsub/
-\appendixsubsubseczzz  tex-src/texinfo.tex     /^\\def\\appendixsubsubseczzz #1{\\seccheck{appendixsub/
-\appendixzzz   tex-src/texinfo.tex     /^\\def\\appendixzzz #1{\\seccheck{appendix}%$/
-\asis  tex-src/texinfo.tex     /^\\def\\asis#1{#1}$/
-\author        tex-src/texinfo.tex     /^   \\def\\author{\\parsearg\\authorzzz}%$/
-\authorfont    tex-src/texinfo.tex     /^   \\def\\authorfont{\\authorrm \\normalbaselineskip =/
-\authorzzz     tex-src/texinfo.tex     /^   \\def\\authorzzz##1{\\ifseenauthor\\else\\vskip 0pt /
-\b     tex-src/texinfo.tex     /^\\def\\b##1{\\realbackslash b {##1}}$/
-\b     tex-src/texinfo.tex     /^\\def\\b##1{\\realbackslash b {##1}}%$/
-\b     tex-src/texinfo.tex     /^\\def\\b#1{{\\bf #1}}$/
-\balancecolumns        tex-src/texinfo.tex     /^\\def\\balancecolumns{%$/
-\begin tex-src/texinfo.tex     /^\\outer\\def\\begin{\\parsearg\\beginxxx}$/
-\begindoublecolumns    tex-src/texinfo.tex     /^\\def\\begindoublecolumns{\\begingroup$/
-\beginxxx      tex-src/texinfo.tex     /^\\def\\beginxxx #1{%$/
-\bf    tex-src/texinfo.tex     /^\\def\\bf{\\realbackslash bf }$/
-\bf    tex-src/texinfo.tex     /^\\def\\bf{\\realbackslash bf }%$/
-\bullet        tex-src/texinfo.tex     /^\\def\\bullet{$\\ptexbullet$}$/
-\bye   tex-src/texinfo.tex     /^\\outer\\def\\bye{\\pagealignmacro\\tracingstats=1\\ptex/
-\capsenumerate tex-src/texinfo.tex     /^\\def\\capsenumerate{\\enumerate{A}}$/
-\cartbot       tex-src/texinfo.tex     /^\\def\\cartbot{\\hbox to \\cartouter{\\hskip\\lskip$/
-\cartouche     tex-src/texinfo.tex     /^\\long\\def\\cartouche{%$/
-\carttop       tex-src/texinfo.tex     /^\\def\\carttop{\\hbox to \\cartouter{\\hskip\\lskip$/
-\cbl   tex-src/texinfo.tex     /^\\def\\cbl{{\\circle\\char'012\\hskip -6pt}}$/
-\cbr   tex-src/texinfo.tex     /^\\def\\cbr{{\\hskip 6pt\\circle\\char'011}}$/
-\center        tex-src/texinfo.tex     /^\\def\\center{\\parsearg\\centerzzz}$/
-\centerzzz     tex-src/texinfo.tex     /^\\def\\centerzzz #1{{\\advance\\hsize by -\\leftskip$/
-\chapbreak     tex-src/texinfo.tex     /^\\def\\chapbreak{\\dobreak \\chapheadingskip {-4000}}$/
-\chapentry     tex-src/texinfo.tex     /^\\def\\chapentry#1#2#3{\\dochapentry{#2\\labelspace#1}/
-\chapentryfonts        tex-src/texinfo.tex     /^\\def\\chapentryfonts{\\secfonts \\rm}$/
-\chapfonts     tex-src/texinfo.tex     /^\\def\\chapfonts{%$/
-\chapheading   tex-src/texinfo.tex     /^\\def\\chapheading{\\parsearg\\chapheadingzzz}$/
-\chapheadingzzz        tex-src/texinfo.tex     /^\\def\\chapheadingzzz #1{\\chapbreak %$/
-\chapoddpage   tex-src/texinfo.tex     /^\\def\\chapoddpage{\\chappager \\ifodd\\pageno \\else \\h/
-\chappager     tex-src/texinfo.tex     /^\\def\\chappager{\\par\\vfill\\supereject}$/
-\chapter       tex-src/texinfo.tex     /^\\outer\\def\\chapter{\\parsearg\\chapterzzz}$/
-\chapternofonts        tex-src/texinfo.tex     /^\\def\\chapternofonts{%$/
-\chapterzzz    tex-src/texinfo.tex     /^\\def\\chapterzzz #1{\\seccheck{chapter}%$/
-\char  tex-src/texinfo.tex     /^\\def\\char{\\realbackslash char}$/
-\char  tex-src/texinfo.tex     /^\\def\\char{\\realbackslash char}%$/
-\chfopen       tex-src/texinfo.tex     /^\\def\\chfopen #1#2{\\chapoddpage {\\chapfonts$/
-\chfplain      tex-src/texinfo.tex     /^\\def\\chfplain #1#2{%$/
-\cindex        tex-src/texinfo.tex     /^\\def\\cindex {\\cpindex}$/
-\cindexsub     tex-src/texinfo.tex     /^\\def\\cindexsub {\\begingroup\\obeylines\\cindexsub}$/
-\cite  tex-src/texinfo.tex     /^\\def\\cite##1{\\realbackslash cite {##1}}$/
-\cite  tex-src/texinfo.tex     /^\\def\\cite##1{\\realbackslash cite {##1}}%$/
-\clear tex-src/texinfo.tex     /^\\def\\clear{\\parsearg\\clearxxx}$/
-\clearxxx      tex-src/texinfo.tex     /^\\def\\clearxxx #1{$/
-\code  tex-src/texinfo.tex     /^\\def\\code##1{\\realbackslash code {##1}}$/
-\code  tex-src/texinfo.tex     /^\\def\\code##1{\\realbackslash code {##1}}%$/
-\comment       tex-src/texinfo.tex     /^\\def\\comment{\\catcode 64=\\other \\catcode 123=\\othe/
-\commentxxx    tex-src/texinfo.tex     /^\\def\\commentxxx #1{\\catcode 64=0 \\catcode 123=1 \\c/
-\contents      tex-src/texinfo.tex     /^\\outer\\def\\contents{%$/
-\copyright     tex-src/texinfo.tex     /^\\def\\copyright{\\realbackslash copyright }%$/
-\copyright     tex-src/texinfo.tex     /^\\def\\copyright{\\realbackslash copyright}$/
-\cropmarks     tex-src/texinfo.tex     /^\\def\\cropmarks{\\let\\onepageout=\\croppageout }$/
-\croppageout   tex-src/texinfo.tex     /^\\def\\croppageout#1{\\hoffset=0pt % make sure this d/
-\ctl   tex-src/texinfo.tex     /^\\def\\ctl{{\\circle\\char'013\\hskip -6pt}}% 6pt from /
-\ctr   tex-src/texinfo.tex     /^\\def\\ctr{{\\hskip 6pt\\circle\\char'010}}$/
-\ctrl  tex-src/texinfo.tex     /^\\def\\ctrl #1{{\\tt \\rawbackslash \\hat}#1}$/
-\defcodeindex  tex-src/texinfo.tex     /^\\def\\defcodeindex{\\parsearg\\newcodeindex}$/
-\defcv tex-src/texinfo.tex     /^\\def\\defcv #1 {\\def\\defcvtype{#1}%$/
-\defcvarheader tex-src/texinfo.tex     /^\\def\\defcvarheader #1#2#3{%$/
-\defcvx        tex-src/texinfo.tex     /^\\def\\defcvx #1 {\\errmessage{@defcvx in invalid con/
-\deffn tex-src/texinfo.tex     /^\\def\\deffn{\\defmethparsebody\\Edeffn\\deffnx\\deffnhe/
-\deffnheader   tex-src/texinfo.tex     /^\\def\\deffnheader #1#2#3{\\doind {fn}{\\code{#2}}%$/
-\deffnx        tex-src/texinfo.tex     /^\\def\\deffnx #1 {\\errmessage{@deffnx in invalid con/
-\defindex      tex-src/texinfo.tex     /^\\def\\defindex{\\parsearg\\newindex}$/
-\defivar       tex-src/texinfo.tex     /^\\def\\defivar{\\defvrparsebody\\Edefivar\\defivarx\\def/
-\defivarheader tex-src/texinfo.tex     /^\\def\\defivarheader #1#2#3{%$/
-\defivarx      tex-src/texinfo.tex     /^\\def\\defivarx #1 {\\errmessage{@defivarx in invalid/
-\defmac        tex-src/texinfo.tex     /^\\def\\defmac{\\defparsebody\\Edefmac\\defmacx\\defmache/
-\defmacheader  tex-src/texinfo.tex     /^\\def\\defmacheader #1#2{\\doind {fn}{\\code{#1}}% Mak/
-\defmacx       tex-src/texinfo.tex     /^\\def\\defmacx #1 {\\errmessage{@defmacx in invalid c/
-\defmethod     tex-src/texinfo.tex     /^\\def\\defmethod{\\defmethparsebody\\Edefmethod\\defmet/
-\defmethodheader       tex-src/texinfo.tex     /^\\def\\defmethodheader #1#2#3{%$/
-\defmethodx    tex-src/texinfo.tex     /^\\def\\defmethodx #1 {\\errmessage{@defmethodx in inv/
-\defmethparsebody      tex-src/texinfo.tex     /^\\def\\defmethparsebody #1#2#3#4 {\\begingroup\\inENV /
-\defname       tex-src/texinfo.tex     /^\\def\\defname #1#2{%$/
-\defop tex-src/texinfo.tex     /^\\def\\defop #1 {\\def\\defoptype{#1}%$/
-\defopheader   tex-src/texinfo.tex     /^\\def\\defopheader #1#2#3{%$/
-\defopparsebody        tex-src/texinfo.tex     /^\\def\\defopparsebody #1#2#3#4#5 {\\begingroup\\inENV /
-\defopt        tex-src/texinfo.tex     /^\\def\\defopt{\\defvarparsebody\\Edefopt\\defoptx\\defop/
-\defoptheader  tex-src/texinfo.tex     /^\\def\\defoptheader #1#2{\\doind {vr}{\\code{#1}}% Mak/
-\defoptx       tex-src/texinfo.tex     /^\\def\\defoptx #1 {\\errmessage{@defoptx in invalid c/
-\defopvarparsebody     tex-src/texinfo.tex     /^\\def\\defopvarparsebody #1#2#3#4#5 {\\begingroup\\inE/
-\defopx        tex-src/texinfo.tex     /^\\def\\defopx #1 {\\errmessage{@defopx in invalid con/
-\defparsebody  tex-src/texinfo.tex     /^\\def\\defparsebody #1#2#3{\\begingroup\\inENV% Enviro/
-\defspec       tex-src/texinfo.tex     /^\\def\\defspec{\\defparsebody\\Edefspec\\defspecx\\defsp/
-\defspecheader tex-src/texinfo.tex     /^\\def\\defspecheader #1#2{\\doind {fn}{\\code{#1}}% Ma/
-\defspecx      tex-src/texinfo.tex     /^\\def\\defspecx #1 {\\errmessage{@defspecx in invalid/
-\deftp tex-src/texinfo.tex     /^\\def\\deftp{\\defvrparsebody\\Edeftp\\deftpx\\deftphead/
-\deftpargs     tex-src/texinfo.tex     /^\\def\\deftpargs #1{\\bf \\defvarargs{#1}}$/
-\deftpheader   tex-src/texinfo.tex     /^\\def\\deftpheader #1#2#3{\\doind {tp}{\\code{#2}}%$/
-\deftpx        tex-src/texinfo.tex     /^\\def\\deftpx #1 {\\errmessage{@deftpx in invalid con/
-\deftypefn     tex-src/texinfo.tex     /^\\def\\deftypefn{\\defmethparsebody\\Edeftypefn\\deftyp/
-\deftypefnheader       tex-src/texinfo.tex     /^\\def\\deftypefnheader #1#2#3{\\deftypefnheaderx{#1}{/
-\deftypefnheaderx      tex-src/texinfo.tex     /^\\def\\deftypefnheaderx #1#2#3 #4\\relax{%$/
-\deftypefnx    tex-src/texinfo.tex     /^\\def\\deftypefnx #1 {\\errmessage{@deftypefnx in inv/
-\deftypefun    tex-src/texinfo.tex     /^\\def\\deftypefun{\\defparsebody\\Edeftypefun\\deftypef/
-\deftypefunargs        tex-src/texinfo.tex     /^\\def\\deftypefunargs #1{%$/
-\deftypefunheader      tex-src/texinfo.tex     /^\\def\\deftypefunheader #1#2{\\deftypefunheaderx{#1}#/
-\deftypefunheaderx     tex-src/texinfo.tex     /^\\def\\deftypefunheaderx #1#2 #3\\relax{%$/
-\deftypeunx    tex-src/texinfo.tex     /^\\def\\deftypeunx #1 {\\errmessage{@deftypeunx in inv/
-\deftypevar    tex-src/texinfo.tex     /^\\def\\deftypevar{\\defvarparsebody\\Edeftypevar\\defty/
-\deftypevarheader      tex-src/texinfo.tex     /^\\def\\deftypevarheader #1#2{%$/
-\deftypevarx   tex-src/texinfo.tex     /^\\def\\deftypevarx #1 {\\errmessage{@deftypevarx in i/
-\deftypevr     tex-src/texinfo.tex     /^\\def\\deftypevr{\\defvrparsebody\\Edeftypevr\\deftypev/
-\deftypevrheader       tex-src/texinfo.tex     /^\\def\\deftypevrheader #1#2#3{\\doind {vr}{\\code{#3}}/
-\deftypevrx    tex-src/texinfo.tex     /^\\def\\deftypevrx #1 {\\errmessage{@deftypevrx in inv/
-\defun tex-src/texinfo.tex     /^\\def\\defun{\\defparsebody\\Edefun\\defunx\\defunheader/
-\defunargs     tex-src/texinfo.tex     /^\\def\\defunargs #1{\\functionparens \\sl$/
-\defunheader   tex-src/texinfo.tex     /^\\def\\defunheader #1#2{\\doind {fn}{\\code{#1}}% Make/
-\defunx        tex-src/texinfo.tex     /^\\def\\defunx #1 {\\errmessage{@defunx in invalid con/
-\defvar        tex-src/texinfo.tex     /^\\def\\defvar{\\defvarparsebody\\Edefvar\\defvarx\\defva/
-\defvarargs    tex-src/texinfo.tex     /^\\def\\defvarargs #1{\\normalparens #1%$/
-\defvarheader  tex-src/texinfo.tex     /^\\def\\defvarheader #1#2{\\doind {vr}{\\code{#1}}% Mak/
-\defvarparsebody       tex-src/texinfo.tex     /^\\def\\defvarparsebody #1#2#3{\\begingroup\\inENV% Env/
-\defvarx       tex-src/texinfo.tex     /^\\def\\defvarx #1 {\\errmessage{@defvarx in invalid c/
-\defvr tex-src/texinfo.tex     /^\\def\\defvr{\\defvrparsebody\\Edefvr\\defvrx\\defvrhead/
-\defvrheader   tex-src/texinfo.tex     /^\\def\\defvrheader #1#2#3{\\doind {vr}{\\code{#2}}%$/
-\defvrparsebody        tex-src/texinfo.tex     /^\\def\\defvrparsebody #1#2#3#4 {\\begingroup\\inENV %$/
-\defvrx        tex-src/texinfo.tex     /^\\def\\defvrx #1 {\\errmessage{@defvrx in invalid con/
-\description   tex-src/texinfo.tex     /^\\def\\description{\\tablez{\\dontindex}{1}{}{}{}{}}$/
-\df    tex-src/texinfo.tex     /^\\def\\df{\\let\\tentt=\\deftt \\let\\tenbf = \\defbf \\bf}/
-\dfn   tex-src/texinfo.tex     /^\\def\\dfn##1{\\realbackslash dfn {##1}}$/
-\direntry      tex-src/texinfo.tex     /^\\def\\direntry{\\begingroup\\direntryxxx}$/
-\direntryxxx   tex-src/texinfo.tex     /^\\long\\def\\direntryxxx #1\\end direntry{\\endgroup\\ig/
-\display       tex-src/texinfo.tex     /^\\def\\display{\\begingroup\\inENV %This group ends at/
-\dmn   tex-src/texinfo.tex     /^\\def\\dmn#1{\\thinspace #1}$/
-\dobreak       tex-src/texinfo.tex     /^\\def\\dobreak#1#2{\\par\\ifdim\\lastskip<#1\\removelast/
-\dochapentry   tex-src/texinfo.tex     /^\\def\\dochapentry#1#2{%$/
-\docodeindex   tex-src/texinfo.tex     /^\\def\\docodeindex#1{\\edef\\indexname{#1}\\parsearg\\si/
-\doind tex-src/texinfo.tex     /^\\def\\doind #1#2{%$/
-\doindex       tex-src/texinfo.tex     /^\\def\\doindex#1{\\edef\\indexname{#1}\\parsearg\\single/
-\donoderef     tex-src/texinfo.tex     /^\\def\\donoderef{\\ifx\\lastnode\\relax\\else$/
-\dontindex     tex-src/texinfo.tex     /^\\def\\dontindex #1{}$/
-\dopageno      tex-src/texinfo.tex     /^\\def\\dopageno#1{{\\rm #1}}$/
-\doprintindex  tex-src/texinfo.tex     /^\\def\\doprintindex#1{%$/
-\dosecentry    tex-src/texinfo.tex     /^\\def\\dosecentry#1#2{%$/
-\dosetq        tex-src/texinfo.tex     /^\\def\\dosetq #1#2{{\\let\\folio=0 \\turnoffactive%$/
-\doshortpageno tex-src/texinfo.tex     /^\\def\\doshortpageno#1{{\\rm #1}}$/
-\dosubind      tex-src/texinfo.tex     /^\\def\\dosubind #1#2#3{%$/
-\dosubsecentry tex-src/texinfo.tex     /^\\def\\dosubsecentry#1#2{%$/
-\dosubsubsecentry      tex-src/texinfo.tex     /^\\def\\dosubsubsecentry#1#2{%$/
-\dots  tex-src/texinfo.tex     /^\\def\\dots{$\\ldots$}$/
-\dots  tex-src/texinfo.tex     /^\\def\\dots{\\realbackslash dots }%$/
-\dots  tex-src/texinfo.tex     /^\\def\\dots{\\realbackslash dots}$/
-\doublecolumnout       tex-src/texinfo.tex     /^\\def\\doublecolumnout{\\splittopskip=\\topskip \\split/
-\emph  tex-src/texinfo.tex     /^\\def\\emph##1{\\realbackslash emph {##1}}$/
-\end   tex-src/texinfo.tex     /^\\def\\end{\\parsearg\\endxxx}$/
-\enddoublecolumns      tex-src/texinfo.tex     /^\\def\\enddoublecolumns{\\output={\\balancecolumns}\\ej/
-\endxxx        tex-src/texinfo.tex     /^\\def\\endxxx #1{%$/
-\entry tex-src/texinfo.tex     /^\\def\\entry #1#2{\\begingroup$/
-\enumerate     tex-src/texinfo.tex     /^\\def\\enumerate{\\parsearg\\enumeratezzz}$/
-\enumeratey    tex-src/texinfo.tex     /^\\def\\enumeratey #1 #2\\endenumeratey{%$/
-\enumeratezzz  tex-src/texinfo.tex     /^\\def\\enumeratezzz #1{\\enumeratey #1  \\endenumerate/
-\equiv tex-src/texinfo.tex     /^\\def\\equiv{\\leavevmode\\lower.1ex\\hbox to 1em{\\hfil/
-\equiv tex-src/texinfo.tex     /^\\def\\equiv{\\realbackslash equiv}$/
-\error tex-src/texinfo.tex     /^\\def\\error{\\leavevmode\\lower.7ex\\copy\\errorbox}$/
-\errorE        tex-src/texinfo.tex     /^\\def\\errorE#1{$/
-\evenfooting   tex-src/texinfo.tex     /^\\def\\evenfooting{\\parsearg\\evenfootingxxx}$/
-\evenheading   tex-src/texinfo.tex     /^\\def\\evenheading{\\parsearg\\evenheadingxxx}$/
-\everyfooting  tex-src/texinfo.tex     /^\\def\\everyfooting{\\parsearg\\everyfootingxxx}$/
-\everyheading  tex-src/texinfo.tex     /^\\def\\everyheading{\\parsearg\\everyheadingxxx}$/
-\ewbot tex-src/texinfo.tex     /^\\def\\ewbot{\\vrule height0pt depth\\cornerthick widt/
-\ewtop tex-src/texinfo.tex     /^\\def\\ewtop{\\vrule height\\cornerthick depth0pt widt/
-\exdent        tex-src/texinfo.tex     /^\\def\\exdent{\\parsearg\\exdentyyy}$/
-\exdentyyy     tex-src/texinfo.tex     /^\\def\\exdentyyy #1{{\\hfil\\break\\hbox{\\kern -\\exdent/
-\expansion     tex-src/texinfo.tex     /^\\def\\expansion{\\leavevmode\\raise.1ex\\hbox to 1em{\\/
-\expansion     tex-src/texinfo.tex     /^\\def\\expansion{\\realbackslash expansion}$/
-\file  tex-src/texinfo.tex     /^\\def\\file##1{\\realbackslash file {##1}}$/
-\file  tex-src/texinfo.tex     /^\\def\\file##1{\\realbackslash file {##1}}%$/
-\finalout      tex-src/texinfo.tex     /^\\def\\finalout{\\overfullrule=0pt}$/
-\findex        tex-src/texinfo.tex     /^\\def\\findex {\\fnindex}$/
-\finishtitlepage       tex-src/texinfo.tex     /^\\def\\finishtitlepage{%$/
-\flushcr       tex-src/texinfo.tex     /^\\def\\flushcr{\\ifx\\par\\lisppar \\def\\next##1{}\\else /
-\flushleft     tex-src/texinfo.tex     /^\\def\\flushleft{%$/
-\flushright    tex-src/texinfo.tex     /^\\def\\flushright{%$/
-\fnitemindex   tex-src/texinfo.tex     /^\\def\\fnitemindex #1{\\doind {fn}{\\code{#1}}}%$/
-\format        tex-src/texinfo.tex     /^\\def\\format{\\begingroup\\inENV %This group ends at /
-\frenchspacing tex-src/texinfo.tex     /^\\def\\frenchspacing{\\sfcode46=1000 \\sfcode63=1000 \\/
-\ftable        tex-src/texinfo.tex     /^\\def\\ftable{\\begingroup\\inENV\\obeylines\\obeyspaces/
-\gloggingall   tex-src/texinfo.tex     /^\\def\\gloggingall{\\begingroup \\globaldefs = 1 \\logg/
-\group tex-src/texinfo.tex     /^\\def\\group{\\begingroup$/
-\gtr   tex-src/texinfo.tex     /^\\def\\gtr{\\realbackslash gtr}$/
-\gtr   tex-src/texinfo.tex     /^\\def\\gtr{\\realbackslash gtr}%$/
-\hat   tex-src/texinfo.tex     /^\\def\\hat{\\realbackslash hat}$/
-\hat   tex-src/texinfo.tex     /^\\def\\hat{\\realbackslash hat}%$/
-\heading       tex-src/texinfo.tex     /^\\def\\heading{\\parsearg\\secheadingi}$/
-\headings      tex-src/texinfo.tex     /^\\def\\headings #1 {\\csname HEADINGS#1\\endcsname}$/
-\i     tex-src/texinfo.tex     /^\\def\\i##1{\\realbackslash i {##1}}$/
-\i     tex-src/texinfo.tex     /^\\def\\i##1{\\realbackslash i {##1}}%$/
-\ifclear       tex-src/texinfo.tex     /^\\def\\ifclear{\\begingroup\\ignoresections\\parsearg\\i/
-\ifclearfail   tex-src/texinfo.tex     /^\\def\\ifclearfail{\\begingroup\\ignoresections\\ifclea/
-\ifclearfailxxx        tex-src/texinfo.tex     /^\\long\\def\\ifclearfailxxx #1\\end ifclear{\\endgroup\\/
-\ifclearxxx    tex-src/texinfo.tex     /^\\def\\ifclearxxx #1{\\endgroup$/
-\ifinfo        tex-src/texinfo.tex     /^\\def\\ifinfo{\\begingroup\\ignoresections\\ifinfoxxx}$/
-\ifinfoxxx     tex-src/texinfo.tex     /^\\long\\def\\ifinfoxxx #1\\end ifinfo{\\endgroup\\ignore/
-\ifset tex-src/texinfo.tex     /^\\def\\ifset{\\begingroup\\ignoresections\\parsearg\\ifs/
-\ifsetfail     tex-src/texinfo.tex     /^\\def\\ifsetfail{\\begingroup\\ignoresections\\ifsetfai/
-\ifsetfailxxx  tex-src/texinfo.tex     /^\\long\\def\\ifsetfailxxx #1\\end ifset{\\endgroup\\igno/
-\ifsetxxx      tex-src/texinfo.tex     /^\\def\\ifsetxxx #1{\\endgroup$/
-\iftex tex-src/texinfo.tex     /^\\def\\iftex{}$/
-\ifusingtt     tex-src/texinfo.tex     /^\\def\\ifusingtt#1#2{\\ifdim \\fontdimen3\\the\\font=0pt/
-\ignore        tex-src/texinfo.tex     /^\\def\\ignore{\\begingroup\\ignoresections$/
-\ignoresections        tex-src/texinfo.tex     /^\\def\\ignoresections{%$/
-\ignorexxx     tex-src/texinfo.tex     /^\\long\\def\\ignorexxx #1\\end ignore{\\endgroup\\ignore/
-\ii    tex-src/texinfo.tex     /^\\def\\ii#1{{\\it #1}}                % italic font$/
-\inENV tex-src/texinfo.tex     /^\\newif\\ifENV \\ENVfalse \\def\\inENV{\\ifENV\\relax\\els/
-\include       tex-src/texinfo.tex     /^\\def\\include{\\parsearg\\includezzz}$/
-\includezzz    tex-src/texinfo.tex     /^\\def\\includezzz #1{{\\def\\thisfile{#1}\\input #1$/
-\indexbackslash        tex-src/texinfo.tex     /^  \\def\\indexbackslash{\\rawbackslashxx}$/
-\indexdotfill  tex-src/texinfo.tex     /^\\def\\indexdotfill{\\cleaders$/
-\indexdummies  tex-src/texinfo.tex     /^\\def\\indexdummies{%$/
-\indexdummydots        tex-src/texinfo.tex     /^\\def\\indexdummydots{...}$/
-\indexdummyfont        tex-src/texinfo.tex     /^\\def\\indexdummyfont#1{#1}$/
-\indexdummytex tex-src/texinfo.tex     /^\\def\\indexdummytex{TeX}$/
-\indexfonts    tex-src/texinfo.tex     /^\\def\\indexfonts{%$/
-\indexnofonts  tex-src/texinfo.tex     /^\\def\\indexnofonts{%$/
-\infoappendix  tex-src/texinfo.tex     /^\\def\\infoappendix{\\parsearg\\appendixzzz}$/
-\infoappendixsec       tex-src/texinfo.tex     /^\\def\\infoappendixsec{\\parsearg\\appendixseczzz}$/
-\infoappendixsubsec    tex-src/texinfo.tex     /^\\def\\infoappendixsubsec{\\parsearg\\appendixsubseczz/
-\infoappendixsubsubsec tex-src/texinfo.tex     /^\\def\\infoappendixsubsubsec{\\parsearg\\appendixsubsu/
-\infochapter   tex-src/texinfo.tex     /^\\def\\infochapter{\\parsearg\\chapterzzz}$/
-\inforef       tex-src/texinfo.tex     /^\\def\\inforef #1{\\inforefzzz #1,,,,**}$/
-\inforefzzz    tex-src/texinfo.tex     /^\\def\\inforefzzz #1,#2,#3,#4**{See Info file \\file{/
-\infosection   tex-src/texinfo.tex     /^\\def\\infosection{\\parsearg\\sectionzzz}$/
-\infosubsection        tex-src/texinfo.tex     /^\\def\\infosubsection{\\parsearg\\subsectionzzz}$/
-\infosubsubsection     tex-src/texinfo.tex     /^\\def\\infosubsubsection{\\parsearg\\subsubsectionzzz}/
-\infotop       tex-src/texinfo.tex     /^\\def\\infotop{\\parsearg\\unnumberedzzz}$/
-\infounnumbered        tex-src/texinfo.tex     /^\\def\\infounnumbered{\\parsearg\\unnumberedzzz}$/
-\infounnumberedsec     tex-src/texinfo.tex     /^\\def\\infounnumberedsec{\\parsearg\\unnumberedseczzz}/
-\infounnumberedsubsec  tex-src/texinfo.tex     /^\\def\\infounnumberedsubsec{\\parsearg\\unnumberedsubs/
-\infounnumberedsubsubsec       tex-src/texinfo.tex     /^\\def\\infounnumberedsubsubsec{\\parsearg\\unnumbereds/
-\initial       tex-src/texinfo.tex     /^\\def\\initial #1{%$/
-\internalBitem tex-src/texinfo.tex     /^\\def\\internalBitem{\\smallbreak \\parsearg\\itemzzz}$/
-\internalBitemx        tex-src/texinfo.tex     /^\\def\\internalBitemx{\\par \\parsearg\\itemzzz}$/
-\internalBkitem        tex-src/texinfo.tex     /^\\def\\internalBkitem{\\smallbreak \\parsearg\\kitemzzz/
-\internalBkitemx       tex-src/texinfo.tex     /^\\def\\internalBkitemx{\\par \\parsearg\\kitemzzz}$/
-\internalBxitem        tex-src/texinfo.tex     /^\\def\\internalBxitem "#1"{\\def\\xitemsubtopix{#1} \\s/
-\internalBxitemx       tex-src/texinfo.tex     /^\\def\\internalBxitemx "#1"{\\def\\xitemsubtopix{#1} \\/
-\internalsetq  tex-src/texinfo.tex     /^\\def\\internalsetq #1#2{'xrdef {#1}{\\csname #2\\endc/
-\item  tex-src/texinfo.tex     /^\\def\\item{\\errmessage{@item while not in a table}}/
-\itemcontents  tex-src/texinfo.tex     /^\\def\\itemcontents{#1}%$/
-\itemfont      tex-src/texinfo.tex     /^\\def\\itemfont{#2}%$/
-\itemize       tex-src/texinfo.tex     /^\\def\\itemize{\\parsearg\\itemizezzz}$/
-\itemizeitem   tex-src/texinfo.tex     /^\\def\\itemizeitem{%$/
-\itemizey      tex-src/texinfo.tex     /^\\def\\itemizey #1#2{%$/
-\itemizezzz    tex-src/texinfo.tex     /^\\def\\itemizezzz #1{%$/
-\itemx tex-src/texinfo.tex     /^\\def\\itemx{\\errmessage{@itemx while not in a table/
-\itemzzz       tex-src/texinfo.tex     /^\\def\\itemzzz #1{\\begingroup %$/
-\kbd   tex-src/texinfo.tex     /^\\def\\kbd##1{\\realbackslash kbd {##1}}$/
-\kbd   tex-src/texinfo.tex     /^\\def\\kbd##1{\\realbackslash kbd {##1}}%$/
-\kbd   tex-src/texinfo.tex     /^\\def\\kbd#1{\\def\\look{#1}\\expandafter\\kbdfoo\\look??/
-\kbdfoo        tex-src/texinfo.tex     /^\\def\\kbdfoo#1#2#3\\par{\\def\\one{#1}\\def\\three{#3}\\d/
-\key   tex-src/texinfo.tex     /^\\def\\key #1{{\\tt \\exhyphenpenalty=10000\\uppercase{/
-\key   tex-src/texinfo.tex     /^\\def\\key##1{\\realbackslash key {##1}}$/
-\key   tex-src/texinfo.tex     /^\\def\\key##1{\\realbackslash key {##1}}%$/
-\kindex        tex-src/texinfo.tex     /^\\def\\kindex {\\kyindex}$/
-\kitem tex-src/texinfo.tex     /^\\def\\kitem{\\errmessage{@kitem while not in a table/
-\kitemx        tex-src/texinfo.tex     /^\\def\\kitemx{\\errmessage{@kitemx while not in a tab/
-\kitemzzz      tex-src/texinfo.tex     /^\\def\\kitemzzz #1{\\dosubind {kw}{\\code{#1}}{for {\\b/
-\l     tex-src/texinfo.tex     /^\\def\\l#1{{\\li #1}\\null}           % $/
-\labelspace    tex-src/texinfo.tex     /^\\def\\labelspace{\\hskip1em \\relax}$/
-\lbrb  tex-src/texinfo.tex     /^\\def\\lbrb{{\\bf\\char`\\[}} \\def\\rbrb{{\\bf\\char`\\]}}$/
-\less  tex-src/texinfo.tex     /^\\def\\less{\\realbackslash less}$/
-\less  tex-src/texinfo.tex     /^\\def\\less{\\realbackslash less}%$/
-\linenumber    tex-src/texinfo.tex     /^  \\def\\linenumber{\\the\\inputlineno:\\space}$/
-\lisp  tex-src/texinfo.tex     /^\\def\\lisp{\\aboveenvbreak$/
-\loggingall    tex-src/texinfo.tex     /^\\def\\loggingall{\\tracingcommands2 \\tracingstats2 $/
-\losespace     tex-src/texinfo.tex     /^\\def\\losespace #1{#1}$/
-\lowercaseenumerate    tex-src/texinfo.tex     /^\\def\\lowercaseenumerate{%$/
-\lvvmode       tex-src/texinfo.tex     /^\\def\\lvvmode{\\vbox to 0pt{}}$/
-\majorheading  tex-src/texinfo.tex     /^\\def\\majorheading{\\parsearg\\majorheadingzzz}$/
-\majorheadingzzz       tex-src/texinfo.tex     /^\\def\\majorheadingzzz #1{%$/
-\math  tex-src/texinfo.tex     /^\\def\\math#1{\\implicitmath #1\\implicitmath}$/
-\menu  tex-src/texinfo.tex     /^\\long\\def\\menu #1\\end menu{}$/
-\minus tex-src/texinfo.tex     /^\\def\\minus{$-$}$/
-\mylbrace      tex-src/texinfo.tex     /^\\def\\mylbrace {{\\tt \\char '173}}$/
-\myrbrace      tex-src/texinfo.tex     /^\\def\\myrbrace {{\\tt \\char '175}}$/
-\need  tex-src/texinfo.tex     /^\\def\\need{\\parsearg\\needx}$/
-\needx tex-src/texinfo.tex     /^\\def\\needx#1{%$/
-\newcodeindex  tex-src/texinfo.tex     /^\\def\\newcodeindex #1{$/
-\newindex      tex-src/texinfo.tex     /^\\def\\newindex #1{$/
-\next  tex-src/texinfo.tex     /^\\def\\next##1{}\\next}$/
-\nm    tex-src/testenv.tex     /^\\newcommand{\\nm}[2]{\\nomenclature{#1}{#2}}$/
-\node  tex-src/texinfo.tex     /^\\def\\node{\\ENVcheck\\parsearg\\nodezzz}$/
-\nodexxx[      tex-src/texinfo.tex     /^\\def\\nodexxx[#1,#2]{\\gdef\\lastnode{#1}}$/
-\nodezzz       tex-src/texinfo.tex     /^\\def\\nodezzz#1{\\nodexxx [#1,]}$/
-\nofillexdent  tex-src/texinfo.tex     /^\\def\\nofillexdent{\\parsearg\\nofillexdentyyy}$/
-\nofillexdentyyy       tex-src/texinfo.tex     /^\\def\\nofillexdentyyy #1{{\\advance \\leftskip by -\\e/
-\normalbackslash       tex-src/texinfo.tex     /^\\def\\normalbackslash{{\\tt\\rawbackslashxx}}$/
-\normalcaret   tex-src/texinfo.tex     /^\\def\\normalcaret{^}$/
-\normaldoublequote     tex-src/texinfo.tex     /^\\def\\normaldoublequote{"}$/
-\normalgreater tex-src/texinfo.tex     /^\\def\\normalgreater{>}$/
-\normalless    tex-src/texinfo.tex     /^\\def\\normalless{<}$/
-\normalplus    tex-src/texinfo.tex     /^\\def\\normalplus{+}$/
-\normaltilde   tex-src/texinfo.tex     /^\\def\\normaltilde{~}$/
-\normalunderscore      tex-src/texinfo.tex     /^\\def\\normalunderscore{_}$/
-\normalverticalbar     tex-src/texinfo.tex     /^\\def\\normalverticalbar{|}$/
-\nsbot tex-src/texinfo.tex     /^\\def\\nsbot{\\vbox$/
-\nstop tex-src/texinfo.tex     /^\\def\\nstop{\\vbox$/
-\numberedsec   tex-src/texinfo.tex     /^\\outer\\def\\numberedsec{\\parsearg\\seczzz}$/
-\numberedsubsec        tex-src/texinfo.tex     /^\\outer\\def\\numberedsubsec{\\parsearg\\numberedsubsec/
-\numberedsubseczzz     tex-src/texinfo.tex     /^\\def\\numberedsubseczzz #1{\\seccheck{subsection}%$/
-\numberedsubsubsec     tex-src/texinfo.tex     /^\\outer\\def\\numberedsubsubsec{\\parsearg\\numberedsub/
-\numberedsubsubseczzz  tex-src/texinfo.tex     /^\\def\\numberedsubsubseczzz #1{\\seccheck{subsubsecti/
-\numericenumerate      tex-src/texinfo.tex     /^\\def\\numericenumerate{%$/
-\oddfooting    tex-src/texinfo.tex     /^\\def\\oddfooting{\\parsearg\\oddfootingxxx}$/
-\oddheading    tex-src/texinfo.tex     /^\\def\\oddheading{\\parsearg\\oddheadingxxx}$/
-\onepageout    tex-src/texinfo.tex     /^\\def\\onepageout#1{\\hoffset=\\normaloffset$/
-\opencontents  tex-src/texinfo.tex     /^\\def\\opencontents{\\openout \\contentsfile = \\jobnam/
-\openindices   tex-src/texinfo.tex     /^\\def\\openindices{%$/
-\opnr  tex-src/texinfo.tex     /^\\def\\opnr{{\\sf\\char`\\(}} \\def\\clnr{{\\sf\\char`\\)}} /
-\page  tex-src/texinfo.tex     /^   \\def\\page{%$/
-\page  tex-src/texinfo.tex     /^\\def\\page{\\par\\vfill\\supereject}$/
-\pagebody      tex-src/texinfo.tex     /^\\def\\pagebody#1{\\vbox to\\pageheight{\\boxmaxdepth=\\/
-\pagesofar     tex-src/texinfo.tex     /^\\def\\pagesofar{\\unvbox\\partialpage %$/
-\parsearg      tex-src/texinfo.tex     /^\\def\\parsearg #1{\\let\\next=#1\\begingroup\\obeylines/
-\parseargline  tex-src/texinfo.tex     /^\\def\\parseargline{\\begingroup \\obeylines \\parsearg/
-\parseargx     tex-src/texinfo.tex     /^\\def\\parseargx{%$/
-\pindex        tex-src/texinfo.tex     /^\\def\\pindex {\\pgindex}$/
-\plainsecheading       tex-src/texinfo.tex     /^\\def\\plainsecheading #1{\\secheadingi {#1}}$/
-\point tex-src/texinfo.tex     /^\\def\\point{$\\star$}$/
-\primary       tex-src/texinfo.tex     /^\\def\\primary #1{\\line{#1\\hfil}}$/
-\print tex-src/texinfo.tex     /^\\def\\print{\\leavevmode\\lower.1ex\\hbox to 1em{\\hfil/
-\print tex-src/texinfo.tex     /^\\def\\print{\\realbackslash print}$/
-\printedmanual tex-src/texinfo.tex     /^\\def\\printedmanual{\\ignorespaces #5}%$/
-\printedmanual tex-src/texinfo.tex     /^section ``\\printednodename'' in \\cite{\\printedmanu/
-\printednodename       tex-src/texinfo.tex     /^\\def\\printednodename{\\ignorespaces #1}%$/
-\printednodename       tex-src/texinfo.tex     /^\\def\\printednodename{\\ignorespaces #3}%$/
-\printindex    tex-src/texinfo.tex     /^\\def\\printindex{\\parsearg\\doprintindex}$/
-\pxref tex-src/texinfo.tex     /^\\def\\pxref#1{see \\xrefX[#1,,,,,,,]}$/
-\quotation     tex-src/texinfo.tex     /^\\def\\quotation{%$/
-\r     tex-src/texinfo.tex     /^\\def\\r##1{\\realbackslash r {##1}}$/
-\r     tex-src/texinfo.tex     /^\\def\\r##1{\\realbackslash r {##1}}%$/
-\r     tex-src/texinfo.tex     /^\\def\\r#1{{\\rm #1}}         % roman font$/
-\rawbackslashxx        tex-src/texinfo.tex     /^\\def\\rawbackslashxx{\\indexbackslash}% \\indexbacksl/
-\rawbackslashxx        tex-src/texinfo.tex     /^\\def\\rawbackslashxx{\\indexbackslash}%$/
-\readauxfile   tex-src/texinfo.tex     /^\\def\\readauxfile{%$/
-\ref   tex-src/texinfo.tex     /^\\def\\ref#1{\\xrefX[#1,,,,,,,]}$/
-\refx  tex-src/texinfo.tex     /^\\def\\refx#1#2{%$/
-\resetmathfonts        tex-src/texinfo.tex     /^\\def\\resetmathfonts{%$/
-\result        tex-src/texinfo.tex     /^\\def\\result{\\leavevmode\\raise.15ex\\hbox to 1em{\\hf/
-\result        tex-src/texinfo.tex     /^\\def\\result{\\realbackslash result}$/
-\rm    tex-src/texinfo.tex     /^\\def\\rm{\\realbackslash rm }%$/
-\samp  tex-src/texinfo.tex     /^\\def\\samp #1{`\\tclose{#1}'\\null}$/
-\samp  tex-src/texinfo.tex     /^\\def\\samp##1{\\realbackslash samp {##1}}$/
-\samp  tex-src/texinfo.tex     /^\\def\\samp##1{\\realbackslash samp {##1}}%$/
-\sc    tex-src/texinfo.tex     /^\\def\\sc#1{{\\smallcaps#1}}  % smallcaps font$/
-\seccheck      tex-src/texinfo.tex     /^\\def\\seccheck#1{\\if \\pageno<0 %$/
-\secentry      tex-src/texinfo.tex     /^      \\def\\secentry ##1##2##3##4{}$/
-\secentry      tex-src/texinfo.tex     /^\\def\\secentry#1#2#3#4{\\dosecentry{#2.#3\\labelspace/
-\secentryfonts tex-src/texinfo.tex     /^\\def\\secentryfonts{\\textfonts}$/
-\secfonts      tex-src/texinfo.tex     /^\\def\\secfonts{%$/
-\secheading    tex-src/texinfo.tex     /^\\def\\secheading #1#2#3{\\secheadingi {#2.#3\\enspace/
-\secheadingbreak       tex-src/texinfo.tex     /^\\def\\secheadingbreak{\\dobreak \\secheadingskip {-10/
-\secheadingi   tex-src/texinfo.tex     /^\\def\\secheadingi #1{{\\advance \\secheadingskip by \\/
-\secondary     tex-src/texinfo.tex     /^\\def\\secondary #1#2{$/
-\seczzz        tex-src/texinfo.tex     /^\\def\\seczzz #1{\\seccheck{section}%$/
-\set   tex-src/texinfo.tex     /^\\def\\set{\\parsearg\\setxxx}$/
-\setchapternewpage     tex-src/texinfo.tex     /^\\def\\setchapternewpage #1 {\\csname CHAPPAG#1\\endcs/
-\setchapterstyle       tex-src/texinfo.tex     /^\\def\\setchapterstyle #1 {\\csname CHAPF#1\\endcsname/
-\setdeffont    tex-src/texinfo.tex     /^\\def\\setdeffont #1 {\\csname DEF#1\\endcsname}$/
-\setfilename   tex-src/texinfo.tex     /^\\def\\setfilename{%$/
-\setref        tex-src/texinfo.tex     /^\\def\\setref#1{%$/
-\settitle      tex-src/texinfo.tex     /^\\def\\settitle{\\parsearg\\settitlezzz}$/
-\settitlezzz   tex-src/texinfo.tex     /^\\def\\settitlezzz #1{\\gdef\\thistitle{#1}}$/
-\setxxx        tex-src/texinfo.tex     /^\\def\\setxxx #1{$/
-\sf    tex-src/texinfo.tex     /^\\def\\sf{\\fam=\\sffam \\tensf}$/
-\sf    tex-src/texinfo.tex     /^\\def\\sf{\\realbackslash sf}%$/
-\shortchapentry        tex-src/texinfo.tex     /^\\def\\shortchapentry#1#2#3{%$/
-\shortunnumberedentry  tex-src/texinfo.tex     /^\\def\\shortunnumberedentry#1#2{%$/
-\singlecodeindexer     tex-src/texinfo.tex     /^\\def\\singlecodeindexer #1{\\doind{\\indexname}{\\code/
-\singleindexer tex-src/texinfo.tex     /^\\def\\singleindexer #1{\\doind{\\indexname}{#1}}$/
-\singlespace   tex-src/texinfo.tex     /^\\def\\singlespace{%$/
-\sl    tex-src/texinfo.tex     /^\\def\\sl{\\realbackslash sl }%$/
-\smallbook     tex-src/texinfo.tex     /^\\def\\smallbook{$/
-\smalllispx    tex-src/texinfo.tex     /^\\def\\smalllispx{\\aboveenvbreak\\begingroup\\inENV$/
-\smartitalic   tex-src/texinfo.tex     /^\\def\\smartitalic#1{{\\sl #1}\\futurelet\\next\\smartit/
-\smartitalicx  tex-src/texinfo.tex     /^\\def\\smartitalicx{\\ifx\\next,\\else\\ifx\\next-\\else\\i/
-\sp    tex-src/texinfo.tex     /^\\def\\sp{\\parsearg\\spxxx}$/
-\splitoff      tex-src/texinfo.tex     /^\\def\\splitoff#1#2\\endmark{\\def\\first{#1}\\def\\rest{/
-\spxxx tex-src/texinfo.tex     /^\\def\\spxxx #1{\\par \\vskip #1\\baselineskip}$/
-\startcontents tex-src/texinfo.tex     /^\\def\\startcontents#1{%$/
-\startenumeration      tex-src/texinfo.tex     /^\\def\\startenumeration#1{%$/
-\subheading    tex-src/texinfo.tex     /^\\def\\subheading{\\parsearg\\subsecheadingi}$/
-\subsecentry   tex-src/texinfo.tex     /^      \\def\\subsecentry ##1##2##3##4##5{}$/
-\subsecentry   tex-src/texinfo.tex     /^\\def\\subsecentry#1#2#3#4#5{\\dosubsecentry{#2.#3.#4/
-\subsecfonts   tex-src/texinfo.tex     /^\\def\\subsecfonts{%$/
-\subsecheading tex-src/texinfo.tex     /^\\def\\subsecheading #1#2#3#4{\\subsecheadingi {#2.#3/
-\subsecheadingbreak    tex-src/texinfo.tex     /^\\def\\subsecheadingbreak{\\dobreak \\subsecheadingski/
-\subsecheadingi        tex-src/texinfo.tex     /^\\def\\subsecheadingi #1{{\\advance \\subsecheadingski/
-\subsubheading tex-src/texinfo.tex     /^\\def\\subsubheading{\\parsearg\\subsubsecheadingi}$/
-\subsubsecentry        tex-src/texinfo.tex     /^      \\def\\subsubsecentry ##1##2##3##4##5##6{}$/
-\subsubsecentry        tex-src/texinfo.tex     /^\\def\\subsubsecentry#1#2#3#4#5#6{%$/
-\subsubsecfonts        tex-src/texinfo.tex     /^\\def\\subsubsecfonts{\\subsecfonts} % Maybe this sho/
-\subsubsecheading      tex-src/texinfo.tex     /^\\def\\subsubsecheading #1#2#3#4#5{\\subsubsecheading/
-\subsubsecheadingi     tex-src/texinfo.tex     /^\\def\\subsubsecheadingi #1{{\\advance \\subsecheading/
-\subtitle      tex-src/texinfo.tex     /^   \\def\\subtitle{\\parsearg\\subtitlezzz}%$/
-\subtitlefont  tex-src/texinfo.tex     /^   \\def\\subtitlefont{\\subtitlerm \\normalbaselinesk/
-\subtitlezzz   tex-src/texinfo.tex     /^   \\def\\subtitlezzz##1{{\\subtitlefont \\rightline{#/
-\summarycontents       tex-src/texinfo.tex     /^\\outer\\def\\summarycontents{%$/
-\supereject    tex-src/texinfo.tex     /^\\def\\supereject{\\par\\penalty -20000\\footnoteno =0 /
-\syncodeindex  tex-src/texinfo.tex     /^\\def\\syncodeindex #1 #2 {%$/
-\synindex      tex-src/texinfo.tex     /^\\def\\synindex #1 #2 {%$/
-\t     tex-src/texinfo.tex     /^\\def\\t##1{\\realbackslash r {##1}}%$/
-\t     tex-src/texinfo.tex     /^\\def\\t#1{{\\tt \\exhyphenpenalty=10000\\rawbackslash /
-\table tex-src/texinfo.tex     /^\\def\\table{\\begingroup\\inENV\\obeylines\\obeyspaces\\/
-\tablez        tex-src/texinfo.tex     /^\\def\\tablez #1#2#3#4#5#6{%$/
-\tclose        tex-src/texinfo.tex     /^\\def\\tclose##1{\\realbackslash tclose {##1}}$/
-\tclose        tex-src/texinfo.tex     /^\\def\\tclose##1{\\realbackslash tclose {##1}}%$/
-\tclose        tex-src/texinfo.tex     /^\\def\\tclose#1{{\\rm \\tcloserm=\\fontdimen2\\font \\tt /
-\tex   tex-src/texinfo.tex     /^\\def\\tex{\\begingroup$/
-\texinfoversion        tex-src/texinfo.tex     /^\\def\\texinfoversion{2.73}$/
-\textfonts     tex-src/texinfo.tex     /^\\def\\textfonts{%$/
-\thearg        tex-src/texinfo.tex     /^  \\def\\thearg{#1}%$/
-\thearg        tex-src/texinfo.tex     /^  \\ifx\\thearg\\empty \\def\\thearg{1}\\fi$/
-\thischapter   tex-src/texinfo.tex     /^   \\unnumbchapmacro{#1}\\def\\thischapter{}%$/
-\thischapter   tex-src/texinfo.tex     /^\\def\\thischapter{} \\def\\thissection{}$/
-\thischaptername       tex-src/texinfo.tex     /^\\def\\thischaptername{No Chapter Title}$/
-\thisfile      tex-src/texinfo.tex     /^\\def\\thisfile{}$/
-\thistitle     tex-src/texinfo.tex     /^\\def\\thistitle{No Title}$/
-\tie   tex-src/texinfo.tex     /^\\def\\tie{\\penalty 10000\\ }     % Save plain tex de/
-\tindex        tex-src/texinfo.tex     /^\\def\\tindex {\\tpindex}$/
-\title tex-src/texinfo.tex     /^   \\def\\title{\\parsearg\\titlezzz}%$/
-\titlefont     tex-src/texinfo.tex     /^\\def\\titlefont#1{{\\titlerm #1}}$/
-\titlepage     tex-src/texinfo.tex     /^\\def\\titlepage{\\begingroup \\parindent=0pt \\textfon/
-\titlezzz      tex-src/texinfo.tex     /^   \\def\\titlezzz##1{\\leftline{\\titlefont{##1}}$/
-\today tex-src/texinfo.tex     /^\\def\\today{\\number\\day\\space$/
-\top   tex-src/texinfo.tex     /^\\outer\\def\\top{\\parsearg\\unnumberedzzz}$/
-\tt    tex-src/texinfo.tex     /^\\def\\tt{\\realbackslash tt}$/
-\tt    tex-src/texinfo.tex     /^\\def\\tt{\\realbackslash tt}%$/
-\turnoffactive tex-src/texinfo.tex     /^\\def\\turnoffactive{\\let"=\\normaldoublequote$/
-\unnchfopen    tex-src/texinfo.tex     /^\\def\\unnchfopen #1{%$/
-\unnchfplain   tex-src/texinfo.tex     /^\\def\\unnchfplain #1{%$/
-\unnumbchapentry       tex-src/texinfo.tex     /^\\def\\unnumbchapentry#1#2{\\dochapentry{#1}{#2}}$/
-\unnumbered    tex-src/texinfo.tex     /^\\outer\\def\\unnumbered{\\parsearg\\unnumberedzzz}$/
-\unnumberedsec tex-src/texinfo.tex     /^\\outer\\def\\unnumberedsec{\\parsearg\\unnumberedseczz/
-\unnumberedseczzz      tex-src/texinfo.tex     /^\\def\\unnumberedseczzz #1{\\seccheck{unnumberedsec}%/
-\unnumberedsubsec      tex-src/texinfo.tex     /^\\outer\\def\\unnumberedsubsec{\\parsearg\\unnumberedsu/
-\unnumberedsubseczzz   tex-src/texinfo.tex     /^\\def\\unnumberedsubseczzz #1{\\seccheck{unnumberedsu/
-\unnumberedsubsubsec   tex-src/texinfo.tex     /^\\outer\\def\\unnumberedsubsubsec{\\parsearg\\unnumbere/
-\unnumberedsubsubseczzz        tex-src/texinfo.tex     /^\\def\\unnumberedsubsubseczzz #1{\\seccheck{unnumbere/
-\unnumberedzzz tex-src/texinfo.tex     /^\\def\\unnumberedzzz #1{\\seccheck{unnumbered}%$/
-\unnumbnoderef tex-src/texinfo.tex     /^\\def\\unnumbnoderef{\\ifx\\lastnode\\relax\\else$/
-\unnumbsecentry        tex-src/texinfo.tex     /^      \\def\\unnumbsecentry ##1##2{}$/
-\unnumbsecentry        tex-src/texinfo.tex     /^\\def\\unnumbsecentry#1#2{\\dosecentry{#1}{#2}}$/
-\unnumbsetref  tex-src/texinfo.tex     /^\\def\\unnumbsetref#1{%$/
-\unnumbsubsecentry     tex-src/texinfo.tex     /^      \\def\\unnumbsubsecentry ##1##2{}$/
-\unnumbsubsecentry     tex-src/texinfo.tex     /^\\def\\unnumbsubsecentry#1#2{\\dosubsecentry{#1}{#2}}/
-\unnumbsubsubsecentry  tex-src/texinfo.tex     /^      \\def\\unnumbsubsubsecentry ##1##2{}$/
-\unnumbsubsubsecentry  tex-src/texinfo.tex     /^\\def\\unnumbsubsubsecentry#1#2{\\dosubsubsecentry{#1/
-\uppercaseenumerate    tex-src/texinfo.tex     /^\\def\\uppercaseenumerate{%$/
-\var   tex-src/texinfo.tex     /^\\def\\var##1{\\realbackslash var {##1}}$/
-\var   tex-src/texinfo.tex     /^\\def\\var##1{\\realbackslash var {##1}}%$/
-\vindex        tex-src/texinfo.tex     /^\\def\\vindex {\\vrindex}$/
-\vritemindex   tex-src/texinfo.tex     /^\\def\\vritemindex #1{\\doind {vr}{\\code{#1}}}%$/
-\vtable        tex-src/texinfo.tex     /^\\def\\vtable{\\begingroup\\inENV\\obeylines\\obeyspaces/
-\w     tex-src/texinfo.tex     /^\\def\\w#1{\\leavevmode\\hbox{#1}}$/
-\w     tex-src/texinfo.tex     /^\\def\\w{\\realbackslash w }%$/
-\w     tex-src/texinfo.tex     /^\\def\\w{\\realbackslash w}$/
-\xitem tex-src/texinfo.tex     /^\\def\\xitem{\\errmessage{@xitem while not in a table/
-\xitemx        tex-src/texinfo.tex     /^\\def\\xitemx{\\errmessage{@xitemx while not in a tab/
-\xitemzzz      tex-src/texinfo.tex     /^\\def\\xitemzzz #1{\\dosubind {kw}{\\code{#1}}{for {\\b/
-\xkey  tex-src/texinfo.tex     /^\\def\\xkey{\\key}$/
-\xrdef tex-src/texinfo.tex     /^\\def\\xrdef #1#2{$/
-\xref  tex-src/texinfo.tex     /^\\def\\xref#1{See \\xrefX[#1,,,,,,,]}$/
-\xrefX[        tex-src/texinfo.tex     /^\\def\\xrefX[#1,#2,#3,#4,#5,#6]{\\begingroup%$/
-^      tex-src/texinfo.tex     /^\\def^{{\\tt \\hat}}$/
-_      tex-src/texinfo.tex     /^\\def_{\\ifusingtt\\normalunderscore\\_}$/
-_GETOPT_H      c-src/getopt.h  19
-_GNU_SOURCE    c-src/etags.c   94
-_REGEX_H       c-src/emacs/src/regex.h 21
-_RE_SYNTAX_POSIX_COMMON        c-src/emacs/src/regex.h 221
-_Restrict_     c-src/emacs/src/regex.h 540
-_Restrict_     c-src/emacs/src/regex.h 542
-_Restrict_     c-src/emacs/src/regex.h 544
-_Restrict_arr_ c-src/emacs/src/regex.h 555
-_Restrict_arr_ c-src/emacs/src/regex.h 557
-_UCHAR_T       c-src/emacs/src/lisp.h  2423
-__COLORS       cp-src/screen.hpp       9
-__default_morecore     c-src/emacs/src/gmalloc.c       /^__default_morecore (ptrdiff_t increment)$/
-__init__       pyt-src/server.py       /^    def __init__(self):$/
-__init__       pyt-src/server.py       /^    def __init__(self, Master, text, textvar, widt/
-__init__       pyt-src/server.py       /^    def __init__(self, host, sitelist, master=None/
-__init__       pyt-src/server.py       /^    def __init__(self, master=None):$/
-__init__       pyt-src/server.py       /^    def __init__(self, newlegend, list, editor, ma/
-__init__       pyt-src/server.py       /^    def __init__(self, user, userlist, master=None/
-__ip   c.c     159
-__libc_atexit  c-src/exit.c    30
-__libc_atexit  c-src/exit.strange_suffix       30
-__malloc_extra_blocks  c-src/emacs/src/gmalloc.c       381
-__malloc_initialize    c-src/emacs/src/gmalloc.c       /^__malloc_initialize (void)$/
-__malloc_initialized   c-src/emacs/src/gmalloc.c       379
-__repr__       pyt-src/server.py       /^    def __repr__(self):$/
-__sbrk c-src/emacs/src/gmalloc.c       1513
-__str__        pyt-src/server.py       /^    def __str__(self):$/
-__up   c.c     160
-_aligned_blocks        c-src/emacs/src/gmalloc.c       1004
-_aligned_blocks_mutex  c-src/emacs/src/gmalloc.c       518
-_bar?  ruby-src/test1.ru       /^    def self._bar?(abc)$/
-_bytes_free    c-src/emacs/src/gmalloc.c       376
-_bytes_used    c-src/emacs/src/gmalloc.c       374
-_chunks_free   c-src/emacs/src/gmalloc.c       375
-_chunks_used   c-src/emacs/src/gmalloc.c       373
-_fraghead      c-src/emacs/src/gmalloc.c       370
-_free  c-src/emacs/src/gmalloc.c       /^_free (void *ptr)$/
-_free_internal c-src/emacs/src/gmalloc.c       /^_free_internal (void *ptr)$/
-_free_internal_nolock  c-src/emacs/src/gmalloc.c       /^_free_internal_nolock (void *ptr)$/
-_heapbase      c-src/emacs/src/gmalloc.c       355
-_heapindex     c-src/emacs/src/gmalloc.c       364
-_heapinfo      c-src/emacs/src/gmalloc.c       358
-_heaplimit     c-src/emacs/src/gmalloc.c       367
-_malloc        c-src/emacs/src/gmalloc.c       /^_malloc (size_t size)$/
-_malloc_internal       c-src/emacs/src/gmalloc.c       /^_malloc_internal (size_t size)$/
-_malloc_internal_nolock        c-src/emacs/src/gmalloc.c       /^_malloc_internal_nolock (size_t size)$/
-_malloc_mutex  c-src/emacs/src/gmalloc.c       517
-_malloc_thread_enabled_p       c-src/emacs/src/gmalloc.c       519
-_realloc       c-src/emacs/src/gmalloc.c       /^_realloc (void *ptr, size_t size)$/
-_realloc_internal      c-src/emacs/src/gmalloc.c       /^_realloc_internal (void *ptr, size_t size)$/
-_realloc_internal_nolock       c-src/emacs/src/gmalloc.c       /^_realloc_internal_nolock (void *ptr, size_t size)$/
-`      ruby-src/test.rb        /^        def `(command)$/
-a      c-src/h.h       103
-a      c-src/h.h       40
-a      c.c     /^a ()$/
-a      c.c     /^a()$/
-a      c.c     152
-a      c.c     180
-a      cp-src/c.C      132
-a      ruby-src/test1.ru       /^ def a()$/
-a-forth-constant!      forth-src/test-forth.fth        /^99 constant a-forth-constant!$/
-a-forth-value? forth-src/test-forth.fth        /^55 value a-forth-value?$/
-a-forth-word   forth-src/test-forth.fth        /^: a-forth-word ( a b c -- )$/
-a-forth-word   forth-src/test-forth.fth        /^: a-forth-word ( a b c -- a*b+c )  + * ;$/
-a0     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a0) (void);$/
-a1     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a1) (Lisp_Object);$/
-a2     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a2) (Lisp_Object, Lisp_Object)/
-a3     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a3) (Lisp_Object, Lisp_Object,/
-a4     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a4) (Lisp_Object, Lisp_Object,/
-a5     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a5) (Lisp_Object, Lisp_Object,/
-a6     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a6) (Lisp_Object, Lisp_Object,/
-a7     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a7) (Lisp_Object, Lisp_Object,/
-a8     c-src/emacs/src/lisp.h  /^      Lisp_Object (*a8) (Lisp_Object, Lisp_Object,/
-aMANY  c-src/emacs/src/lisp.h  /^      Lisp_Object (*aMANY) (ptrdiff_t, Lisp_Object/
-aUNEVALLED     c-src/emacs/src/lisp.h  /^      Lisp_Object (*aUNEVALLED) (Lisp_Object args)/
-aa     c.c     269
-aa     c.c     279
-aaa    c.c     249
-aaa    c.c     269
-aaaaaa c-src/h.h       111
-abbrev-expansion       c-src/abbrev.c  /^DEFUN ("abbrev-expansion", Fabbrev_expansion, Sabb/
-abbrev-symbol  c-src/abbrev.c  /^DEFUN ("abbrev-symbol", Fabbrev_symbol, Sabbrev_sy/
-abbrev_all_caps        c-src/abbrev.c  58
-abbrevs_changed        c-src/abbrev.c  56
-abc    c-src/h.h       33
-abc    c-src/h.h       37
-abort-recursive-edit   c-src/emacs/src/keyboard.c      /^DEFUN ("abort-recursive-edit", Fabort_recursive_ed/
-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)$/
-abt    cp-src/c.C      55
-acc_pred_info  merc-src/accumulator.m  /^:- pred acc_pred_info(list(mer_type)::in, list(pro/
-acc_proc_info  merc-src/accumulator.m  /^:- pred acc_proc_info(list(prog_var)::in, prog_var/
-acc_unification        merc-src/accumulator.m  /^:- pred acc_unification(pair(prog_var)::in, hlds_g/
-acc_var_subst_init     merc-src/accumulator.m  /^:- pred acc_var_subst_init(list(prog_var)::in,$/
-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/
-accu_assoc     merc-src/accumulator.m  /^:- pred accu_assoc(module_info::in, vartypes::in, /
-accu_assoc     merc-src/accumulator.m  /^:- type accu_assoc$/
-accu_base      merc-src/accumulator.m  /^:- type accu_base$/
-accu_before    merc-src/accumulator.m  /^:- pred accu_before(module_info::in, vartypes::in,/
-accu_case      merc-src/accumulator.m  /^:- type accu_case$/
-accu_construct merc-src/accumulator.m  /^:- pred accu_construct(module_info::in, vartypes::/
-accu_construct_assoc   merc-src/accumulator.m  /^:- pred accu_construct_assoc(module_info::in, vart/
-accu_create_goal       merc-src/accumulator.m  /^:- pred accu_create_goal(accu_goal_id::in, list(pr/
-accu_divide_base_case  merc-src/accumulator.m  /^:- pred accu_divide_base_case(module_info::in, var/
-accu_goal_id   merc-src/accumulator.m  /^:- type accu_goal_id$/
-accu_goal_list merc-src/accumulator.m  /^:- func accu_goal_list(list(accu_goal_id), accu_go/
-accu_goal_store        merc-src/accumulator.m  /^:- type accu_goal_store == goal_store(accu_goal_id/
-accu_has_heuristic     merc-src/accumulator.m  /^:- pred accu_has_heuristic(module_name::in, string/
-accu_heuristic merc-src/accumulator.m  /^:- pred accu_heuristic(module_name::in, string::in/
-accu_is_associative    merc-src/accumulator.m  /^:- pred accu_is_associative(module_info::in, pred_/
-accu_is_update merc-src/accumulator.m  /^:- pred accu_is_update(module_info::in, pred_id::i/
-accu_process_assoc_set merc-src/accumulator.m  /^:- pred accu_process_assoc_set(module_info::in, ac/
-accu_process_update_set        merc-src/accumulator.m  /^:- pred accu_process_update_set(module_info::in, a/
-accu_related   merc-src/accumulator.m  /^:- pred accu_related(module_info::in, vartypes::in/
-accu_rename    merc-src/accumulator.m  /^:- func accu_rename(list(accu_goal_id), accu_subst/
-accu_sets      merc-src/accumulator.m  /^:- type accu_sets$/
-accu_sets_init merc-src/accumulator.m  /^:- pred accu_sets_init(accu_sets::out) is det.$/
-accu_stage1    merc-src/accumulator.m  /^:- pred accu_stage1(module_info::in, vartypes::in,/
-accu_stage1_2  merc-src/accumulator.m  /^:- pred accu_stage1_2(module_info::in, vartypes::i/
-accu_stage2    merc-src/accumulator.m  /^:- pred accu_stage2(module_info::in, proc_info::in/
-accu_stage3    merc-src/accumulator.m  /^:- pred accu_stage3(accu_goal_id::in, list(prog_va/
-accu_standardize       merc-src/accumulator.m  /^:- pred accu_standardize(hlds_goal::in, hlds_goal:/
-accu_store     merc-src/accumulator.m  /^:- pred accu_store(accu_case::in, hlds_goal::in,$/
-accu_subst     merc-src/accumulator.m  /^:- type accu_subst == map(prog_var, prog_var).$/
-accu_substs    merc-src/accumulator.m  /^:- type accu_substs$/
-accu_substs_init       merc-src/accumulator.m  /^:- pred accu_substs_init(list(prog_var)::in, prog_/
-accu_top_level merc-src/accumulator.m  /^:- pred accu_top_level(top_level::in, hlds_goal::i/
-accu_transform_proc    merc-src/accumulator.m  /^:- pred accu_transform_proc(pred_proc_id::in, pred/
-accu_update    merc-src/accumulator.m  /^:- pred accu_update(module_info::in, vartypes::in,/
-accu_warning   merc-src/accumulator.m  /^:- type accu_warning$/
-act    prol-src/natded.prolog  /^act(OutForm,OutSyn,Ws):-$/
-action prol-src/natded.prolog  /^action(KeyVals):-$/
-active_maps    c-src/emacs/src/keyboard.c      /^active_maps (Lisp_Object first_event)$/
-actout prol-src/natded.prolog  /^actout('Text',Trees):-$/
-addArchs       objc-src/PackInsp.m     /^-(void)addArchs:(const char *)string$/
-addPOReader    php-src/lce_functions.php       /^      function addPOReader($d_name, &$por)$/
-add_active     prol-src/natded.prolog  /^add_active([],Cat,Goal):-$/
-add_command_key        c-src/emacs/src/keyboard.c      /^add_command_key (Lisp_Object key)$/
-add_edge       prol-src/natded.prolog  /^add_edge(Left,Right,Cat):-$/
-add_node       c-src/etags.c   /^add_node (node *np, node **cur_node_p)$/
-add_regex      c-src/etags.c   /^add_regex (char *regexp_pattern, language *lang)$/
-add_user_signal        c-src/emacs/src/keyboard.c      /^add_user_signal (int sig, const char *name)$/
-addnoise       html-src/algrthms.html  /^Adding Noise to the$/
-address        y-src/cccp.y    113
-adjust_point_for_property      c-src/emacs/src/keyboard.c      /^adjust_point_for_property (ptrdiff_t last_pt, bool/
-agent  cp-src/clheir.hpp       75
-algorithms     html-src/algrthms.html  /^Description$/
-alias  c-src/emacs/src/lisp.h  688
-align  c-src/emacs/src/gmalloc.c       /^align (size_t size)$/
-alignas        c-src/emacs/src/lisp.h  /^# define alignas(alignment) \/* empty *\/$/
-aligned        c-src/emacs/src/gmalloc.c       199
-aligned_alloc  c-src/emacs/src/gmalloc.c       /^aligned_alloc (size_t alignment, size_t size)$/
-aligned_alloc  c-src/emacs/src/gmalloc.c       1718
-aligned_alloc  c-src/emacs/src/gmalloc.c       71
-alignlist      c-src/emacs/src/gmalloc.c       196
-alive  cp-src/conway.hpp       7
-all_kboards    c-src/emacs/src/keyboard.c      86
-allocate_kboard        c-src/emacs/src/keyboard.c      /^allocate_kboard (Lisp_Object type)$/
-allocated      c-src/emacs/src/regex.h 344
-an_extern_linkage      c-src/h.h       44
-an_extern_linkage      c-src/h.h       56
-an_extern_linkage_ptr  c-src/h.h       43
-analyze_regex  c-src/etags.c   /^analyze_regex (char *regex_arg)$/
-andkeyvalseq   prol-src/natded.prolog  /^andkeyvalseq(KeyVals) --> ['&'], keyvalseq(KeyVals/
-animals        c-src/h.h       81
-animals        cp-src/c.C      126
-animals        cp-src/c.C      130
-any_kboard_state       c-src/emacs/src/keyboard.c      /^any_kboard_state ()$/
-appDidInit     objcpp-src/SimpleCalc.M /^- appDidInit:sender$/
-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([],[]).$/
-append_string  pas-src/common.pas      /^procedure append_string;(*($/
-append_tool_bar_item   c-src/emacs/src/keyboard.c      /^append_tool_bar_item (void)$/
-appendix       perl-src/htlmify-cystic 24
-appendix_name  perl-src/htlmify-cystic 13
-appendix_toc   perl-src/htlmify-cystic 16
-apply_modifiers        c-src/emacs/src/keyboard.c      /^apply_modifiers (int modifiers, Lisp_Object base)$/
-apply_modifiers_uncached       c-src/emacs/src/keyboard.c      /^apply_modifiers_uncached (int modifiers, char *bas/
-aref_addr      c-src/emacs/src/lisp.h  /^aref_addr (Lisp_Object array, ptrdiff_t idx)$/
-arg    c-src/emacs/src/lisp.h  2961
-arg    c-src/emacs/src/lisp.h  2966
-arg    c-src/emacs/src/lisp.h  2971
-arg    c-src/h.h       13
-arg_type       c-src/etags.c   250
-arglist        y-src/cccp.y    41
-argno  y-src/cccp.y    45
-args   c-src/emacs/src/lisp.h  2986
-args   c-src/h.h       30
-argsindent     tex-src/texinfo.tex     /^\\dimen1=\\hsize \\advance \\dimen1 by -\\defargsindent/
-argsindent     tex-src/texinfo.tex     /^\\newskip\\defargsindent \\defargsindent=50pt$/
-argsindent     tex-src/texinfo.tex     /^\\parshape 2 0in \\dimen0 \\defargsindent \\dimen1    /
-argument       c-src/etags.c   253
-argvals        prol-src/natded.prolog  /^argvals([]) --> [].$/
-array  c.c     190
-ascii  c-src/emacs/src/lisp.h  1598
-asort  cp-src/functions.cpp    /^void asort(int *a, int num){$/
-assemby-code-word      forth-src/test-forth.fth        /^code assemby-code-word ( dunno what it does )$/
-assert c-src/etags.c   /^# define assert(x) ((void) 0)$/
-assert c-src/etags.c   135
-assign_neighbor        cp-src/clheir.hpp       /^    void assign_neighbor(int direction, location */
-assoc_list     merc-src/accumulator.m  /^:- import_module assoc_list.$/
-associativity_assertion        merc-src/accumulator.m  /^:- pred associativity_assertion(module_info::in, l/
-at_end c-src/etags.c   249
-at_filename    c-src/etags.c   247
-at_language    c-src/etags.c   245
-at_least_one_member    prol-src/natded.prolog  /^at_least_one_member(X,[X|_]):-!.$/
-at_regexp      c-src/etags.c   246
-at_stdin       c-src/etags.c   248
-atom   prol-src/natded.prolog  /^atom(X) --> [X], {atomic(X)}.$/
-atomval        prol-src/natded.prolog  /^atomval(X) --> atom(X).$/
-aultparindent  tex-src/texinfo.tex     /^\\newdimen\\defaultparindent \\defaultparindent = 15p/
-aultparindent  tex-src/texinfo.tex     /^\\parindent = \\defaultparindent$/
-aultparindent\hang\textindent  tex-src/texinfo.tex     /^\\footstrut\\parindent=\\defaultparindent\\hang\\textin/
-auto_help      c-src/etags.c   699
-b      c-src/h.h       103
-b      c-src/h.h       104
-b      c-src/h.h       41
-b      c.c     /^b ()$/
-b      c.c     180
-b      c.c     259
-b      c.c     260
-b      c.c     262
-b      cp-src/c.C      132
-b      ruby-src/test1.ru       /^ def b()$/
-backslash=0    tex-src/texinfo.tex     /^\\let\\indexbackslash=0  %overridden during \\printin/
-bar    c-src/c.c       /^void bar() {while(0) {}}$/
-bar    c-src/h.h       19
-bar    c.c     143
-bar    cp-src/x.cc     /^XX::bar()$/
-bar1   ruby-src/test1.ru       /^    attr_reader(:foo1, :bar1, # comment$/
-bar=   ruby-src/test1.ru       /^    attr_writer :bar,$/
-bas_syn        prol-src/natded.prolog  /^bas_syn(n(_)).$/
-base   c-src/emacs/src/lisp.h  2188
-base   cp-src/Range.h  /^  double base (void) const { return rng_base;  }$/
-base   cp-src/c.C      /^double base (void) const { return rng_base;  }$/
-base_case_ids  merc-src/accumulator.m  /^:- func base_case_ids(accu_goal_store) = list(accu/
-base_case_ids_set      merc-src/accumulator.m  /^:- func base_case_ids_set(accu_goal_store) = set(a/
-baz=   ruby-src/test1.ru       /^                :baz,$/
-bb     c.c     275
-bbb    c.c     251
-bbbbbb c-src/h.h       113
-been_warned    c-src/etags.c   222
-before_command_echo_length     c-src/emacs/src/keyboard.c      130
-before_command_key_count       c-src/emacs/src/keyboard.c      129
-begtoken       c-src/etags.c   /^#define       begtoken(c)     (_btk[CHAR (c)]) \/* c can star/
-behaviour_info erl-src/gs_dialog.erl   /^behaviour_info(callbacks) ->$/
-bf=cmbx10      tex-src/texinfo.tex     /^\\font\\defbf=cmbx10 scaled \\magstep1 %was 1314$/
-bind   pyt-src/server.py       /^    def bind(self, key, action):$/
-bind_polling_period    c-src/emacs/src/keyboard.c      /^bind_polling_period (int n)$/
-bits_word      c-src/emacs/src/lisp.h  123
-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)$/
-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     /^\\advance\\dimen2 by -\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\dimen3 by -\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\leftskip by -\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\advance\\leftskip by \\defbodyindent \\advance \\righ/
-bodyindent     tex-src/texinfo.tex     /^\\exdentamount=\\defbodyindent$/
-bodyindent     tex-src/texinfo.tex     /^\\newskip\\defbodyindent \\defbodyindent=.4in$/
-bool   c.c     222
-bool   merc-src/accumulator.m  /^:- import_module bool.$/
-bool_header_size       c-src/emacs/src/lisp.h  1472
-bool_vector_bitref     c-src/emacs/src/lisp.h  /^bool_vector_bitref (Lisp_Object a, EMACS_INT i)$/
-bool_vector_bytes      c-src/emacs/src/lisp.h  /^bool_vector_bytes (EMACS_INT size)$/
-bool_vector_data       c-src/emacs/src/lisp.h  /^bool_vector_data (Lisp_Object a)$/
-bool_vector_ref        c-src/emacs/src/lisp.h  /^bool_vector_ref (Lisp_Object a, EMACS_INT i)$/
-bool_vector_set        c-src/emacs/src/lisp.h  /^bool_vector_set (Lisp_Object a, EMACS_INT i, bool /
-bool_vector_size       c-src/emacs/src/lisp.h  /^bool_vector_size (Lisp_Object a)$/
-bool_vector_uchar_data c-src/emacs/src/lisp.h  /^bool_vector_uchar_data (Lisp_Object a)$/
-bool_vector_words      c-src/emacs/src/lisp.h  /^bool_vector_words (EMACS_INT size)$/
-boolvar        c-src/emacs/src/lisp.h  2287
-bracelev       c-src/etags.c   2520
-bsp_DevId      c-src/h.h       25
-bt     c-src/emacs/src/lisp.h  2988
-btowc  c-src/emacs/src/regex.h /^# define btowc(c) c$/
-buffer c-src/emacs/src/lisp.h  2000
-buffer c-src/emacs/src/regex.h 341
-buffer c-src/etags.c   238
-buffer c-src/h.h       119
-build  prol-src/natded.prolog  /^build([],Left,Left).$/
-build_pure_c_string    c-src/emacs/src/lisp.h  /^build_pure_c_string (const char *str)$/
-build_string   c-src/emacs/src/lisp.h  /^build_string (const char *str)$/
-buildact       prol-src/natded.prolog  /^buildact([SynIn],Right,RightPlus1):-$/
-builtin_lisp_symbol    c-src/emacs/src/lisp.h  /^builtin_lisp_symbol (int index)$/
-burst  c-src/h.h       28
-busy   c-src/emacs/src/gmalloc.c       158
-button_down_location   c-src/emacs/src/keyboard.c      5210
-button_down_time       c-src/emacs/src/keyboard.c      5218
-byte_stack     c-src/emacs/src/lisp.h  3049
-bytecode_dest  c-src/emacs/src/lisp.h  3037
-bytecode_top   c-src/emacs/src/lisp.h  3036
-bytepos        c-src/emacs/src/lisp.h  2016
-bytes_free     c-src/emacs/src/gmalloc.c       314
-bytes_total    c-src/emacs/src/gmalloc.c       310
-bytes_used     c-src/emacs/src/gmalloc.c       312
-c      c-src/h.h       /^#define c() d$/
-c      c-src/h.h       106
-c      c.c     180
-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
-calculate_goal_info    merc-src/accumulator.m  /^:- pred calculate_goal_info(hlds_goal_expr::in, hl/
-calloc c-src/emacs/src/gmalloc.c       /^calloc (size_t nmemb, size_t size)$/
-calloc c-src/emacs/src/gmalloc.c       1717
-calloc c-src/emacs/src/gmalloc.c       66
-calloc c-src/emacs/src/gmalloc.c       70
-can_be_null    c-src/emacs/src/regex.h 370
-cancel_echoing c-src/emacs/src/keyboard.c      /^cancel_echoing (void)$/
-canonicalize_filename  c-src/etags.c   /^canonicalize_filename (register char *fn)$/
-case_Lisp_Int  c-src/emacs/src/lisp.h  438
-cat    c-src/h.h       81
-cat    cp-src/c.C      126
-cat    cp-src/c.C      130
-cat    prol-src/natded.prolog  /^cat(A, Alpha@Beta, Ass3, Qs3, tree(fe,A:Alpha@Beta/
-cat_atoms      prol-src/natded.prolog  /^cat_atoms(A1,A2,A3):-$/
-cccccccccc     c-src/h.h       115
-cdr    c-src/emacs/src/lisp.h  1159
-cell   y-src/parse.y   279
-cgrep  html-src/software.html  /^cgrep$/
-chain  c-src/emacs/src/lisp.h  1162
-chain  c-src/emacs/src/lisp.h  2206
-chain  c-src/emacs/src/lisp.h  2396
-chain_subst    merc-src/accumulator.m  /^:- func chain_subst(accu_subst, accu_subst) = accu/
-chain_subst_2  merc-src/accumulator.m  /^:- pred chain_subst_2(list(A)::in, map(A, B)::in, /
-char_bits      c-src/emacs/src/lisp.h  2443
-char_table_specials    c-src/emacs/src/lisp.h  1692
-charpos        c-src/emacs/src/lisp.h  2011
-charset_unibyte        c-src/emacs/src/regex.h 410
-chartonmstr    pas-src/common.pas      /^function chartonmstr; (*($/
-checkQuotation php-src/lce_functions.php       /^      function checkQuotation($str)$/
-check_cons_list        c-src/emacs/src/lisp.h  /^#  define check_cons_list() lisp_h_check_cons_list/
-checker        make-src/Makefile       /^checker:$/
-checkhdr       c-src/emacs/src/gmalloc.c       /^checkhdr (const struct hdr *hdr)$/
-checkiso       html-src/software.html  /^checkiso$/
-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
-class_method   ruby-src/test.rb        /^        def ClassExample.class_method$/
-classifyLine   php-src/lce_functions.php       /^      function classifyLine($line)$/
-clean  make-src/Makefile       /^clean:$/
-clear  cp-src/conway.hpp       /^    void clear(void) { alive = 0; }$/
-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/
-clearAllKey    objcpp-src/SimpleCalc.M /^- clearAllKey:sender$/
-clearKey       objcpp-src/SimpleCalc.M /^- clearKey:sender$/
-clear_event    c-src/emacs/src/keyboard.c      /^clear_event (struct input_event *event)$/
-clear_input_pending    c-src/emacs/src/keyboard.c      /^clear_input_pending (void)$/
-clear_neighbors        cp-src/clheir.cpp       /^void discrete_location::clear_neighbors(void)$/
-clear_screen   cp-src/screen.cpp       /^void clear_screen(void)$/
-clear_waiting_for_input        c-src/emacs/src/keyboard.c      /^clear_waiting_for_input (void)$/
-cmd_error      c-src/emacs/src/keyboard.c      /^cmd_error (Lisp_Object data)$/
-cmd_error_internal     c-src/emacs/src/keyboard.c      /^cmd_error_internal (Lisp_Object data, const char */
-cmpfn  c-src/emacs/src/lisp.h  /^  bool (*cmpfn) (struct hash_table_test *t, Lisp_O/
-cmt    prol-src/natded.prolog  /^cmt:-$/
-cname  c-src/etags.c   2519
-cno    c-src/etags.c   224
-colori cp-src/c.C      40
-commaargvals   prol-src/natded.prolog  /^commaargvals(Args) -->$/
-command        c-src/etags.c   187
-command-error-default-function c-src/emacs/src/keyboard.c      /^DEFUN ("command-error-default-function", Fcommand_/
-command_loop   c-src/emacs/src/keyboard.c      /^command_loop (void)$/
-command_loop_1 c-src/emacs/src/keyboard.c      /^command_loop_1 (void)$/
-command_loop_2 c-src/emacs/src/keyboard.c      /^command_loop_2 (Lisp_Object ignore)$/
-command_loop_level     c-src/emacs/src/keyboard.c      195
-comment        php-src/lce_functions.php       /^      function comment($line, $class)$/
-commutativity_assertion        merc-src/accumulator.m  /^:- pred commutativity_assertion(module_info::in,li/
-compile_empty  prol-src/natded.prolog  /^compile_empty:-$/
-compile_lex    prol-src/natded.prolog  /^compile_lex(File):-$/
-complete       prol-src/natded.prolog  /^complete(Cat):-$/
-complete-tag   el-src/emacs/lisp/progmodes/etags.el    /^(defun complete-tag ()$/
-compressor     c-src/etags.c   188
-compressors    c-src/etags.c   457
-compute_next_state     cp-src/clheir.hpp       /^    virtual void compute_next_state(void) { }$/
-compute_next_state     cp-src/conway.hpp       /^    void compute_next_state(void)$/
-conalgorithm   html-src/algrthms.html  /^Convolutionally$/
-concat c-src/etags.c   /^concat (const char *s1, const char *s2, const char/
-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/emacs/src/lisp.h  668
-constant       c-src/h.h       29
-constant       y-src/cccp.y    112
-constant_args  c-src/h.h       27
-constype       c-src/emacs/src/lisp.h  3739
-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
-count  c-src/emacs/src/lisp.h  1863
-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)$/
-counter        cp-src/c.C      33
-counter        cp-src/c.C      36
-cow    cp-src/c.C      127
-cow    cp-src/c.C      131
-cplpl  c-src/etags.c   2935
-create-bar     forth-src/test-forth.fth        /^: create-bar foo ;$/
-createPOEntries        php-src/lce_functions.php       /^      function createPOEntries()$/
-createWidgets  pyt-src/server.py       /^    def createWidgets(self):$/
-createWidgets  pyt-src/server.py       /^    def createWidgets(self, host):$/
-create_acc_call        merc-src/accumulator.m  /^:- func create_acc_call(hlds_goal::in(goal_plain_c/
-create_acc_goal        merc-src/accumulator.m  /^:- pred create_acc_goal(hlds_goal::in, accu_substs/
-create_new_base_goals  merc-src/accumulator.m  /^:- func create_new_base_goals(set(accu_goal_id), a/
-create_new_orig_recursive_goals        merc-src/accumulator.m  /^:- func create_new_orig_recursive_goals(set(accu_g/
-create_new_recursive_goals     merc-src/accumulator.m  /^:- func create_new_recursive_goals(set(accu_goal_i/
-create_new_var merc-src/accumulator.m  /^:- pred create_new_var(prog_var::in, string::in, p/
-create_orig_goal       merc-src/accumulator.m  /^:- pred create_orig_goal(hlds_goal::in, accu_subst/
-cscInitTime    cp-src/c.C      7
-cscSegmentationTime    cp-src/c.C      8
-cstack c-src/etags.c   2523
-ctags  make-src/Makefile       /^ctags: etags.c ${OBJS}$/
-curlb  c-src/etags.c   2929
-curlinepos     c-src/etags.c   2931
-current-idle-time      c-src/emacs/src/keyboard.c      /^DEFUN ("current-idle-time", Fcurrent_idle_time, Sc/
-current-input-mode     c-src/emacs/src/keyboard.c      /^DEFUN ("current-input-mode", Fcurrent_input_mode, /
-current_kboard c-src/emacs/src/keyboard.c      85
-current_lb_is_new      c-src/etags.c   2926
-curry-test     scm-src/test.scm        /^(define (((((curry-test a) b) c) d) e)$/
-cursor_position        cp-src/screen.cpp       /^void cursor_position(void)$/
-cursor_x       cp-src/screen.cpp       15
-cursor_y       cp-src/screen.cpp       15
-d      c-src/emacs/src/lisp.h  4673
-d      c-src/emacs/src/lisp.h  4679
-d      c.c     180
-data   c-src/emacs/src/lisp.h  1395
-data   c-src/emacs/src/lisp.h  2129
-data   c-src/emacs/src/lisp.h  2395
-ddefineseen    c-src/etags.c   2462
-debian-bug     html-src/software.html  /^debian-bug.el$/
-debug_on_exit  c-src/emacs/src/lisp.h  2984
-decimalKey     objcpp-src/SimpleCalc.M /^- decimalKey:sender$/
-declared_special       c-src/emacs/src/lisp.h  676
-decode_timer   c-src/emacs/src/keyboard.c      /^decode_timer (Lisp_Object timer, struct timespec */
-def    c-src/h.h       35
-def    c-src/h.h       38
-defalt c-src/emacs/src/lisp.h  1585
-default-tags-table-function    el-src/emacs/lisp/progmodes/etags.el    /^(defvar default-tags-table-function nil$/
-default_C_entries      c-src/etags.c   /^default_C_entries (FILE *inf)$/
-default_C_help c-src/etags.c   515
-default_C_help c-src/etags.c   523
-default_C_suffixes     c-src/etags.c   512
-defcell        c-src/emacs/src/lisp.h  2351
-define-abbrev  c-src/abbrev.c  /^DEFUN ("define-abbrev", Fdefine_abbrev, Sdefine_ab/
-define-abbrev-table    c-src/abbrev.c  /^DEFUN ("define-abbrev-table", Fdefine_abbrev_table/
-define-global-abbrev   c-src/abbrev.c  /^DEFUN ("define-global-abbrev", Fdefine_global_abbr/
-define-mode-abbrev     c-src/abbrev.c  /^DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev, /
-defined_GC_CHECK_STRING_BYTES  c-src/emacs/src/lisp.h  4663
-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$/
-deleteItem     pyt-src/server.py       /^    def deleteItem(self):$/
-delete_kboard  c-src/emacs/src/keyboard.c      /^delete_kboard (KBOARD *kb)$/
-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)$/
-depth  c-src/emacs/src/lisp.h  1618
-derived_analyses       prol-src/natded.prolog  /^derived_analyses([],[]).$/
-describe_abbrev        c-src/abbrev.c  /^describe_abbrev (sym, stream)$/
-detect_input_pending   c-src/emacs/src/keyboard.c      /^detect_input_pending (void)$/
-detect_input_pending_ignore_squeezables        c-src/emacs/src/keyboard.c      /^detect_input_pending_ignore_squeezables (void)$/
-detect_input_pending_run_timers        c-src/emacs/src/keyboard.c      /^detect_input_pending_run_timers (bool do_display)$/
-dialog_loop    erl-src/gs_dialog.erl   /^dialog_loop(Module, Window, Frame, Extra, Args) ->/
-dignorerest    c-src/etags.c   2463
-discard-input  c-src/emacs/src/keyboard.c      /^DEFUN ("discard-input", Fdiscard_input, Sdiscard_i/
-discard_mouse_events   c-src/emacs/src/keyboard.c      /^discard_mouse_events (void)$/
-discrete_location      cp-src/clheir.hpp       /^    discrete_location(int xi, int yi, int zi):$/
-discrete_location      cp-src/clheir.hpp       56
-display        cp-src/conway.cpp       /^void display(void)$/
-disposetextstring      pas-src/common.pas      /^procedure disposetextstring;(*($/
-dnone  c-src/etags.c   2460
-doc    c-src/emacs/src/lisp.h  1689
-dog    c-src/h.h       81
-dog    cp-src/c.C      126
-dog    cp-src/c.C      130
-dotfill        tex-src/texinfo.tex     /^  \\null\\nobreak\\indexdotfill % Have leaders before/
-dotfill        tex-src/texinfo.tex     /^\\noindent\\hskip\\secondaryindent\\hbox{#1}\\indexdotf/
-double_click_count     c-src/emacs/src/keyboard.c      5222
-drag_n_drop_syms       c-src/emacs/src/keyboard.c      4629
-dribble        c-src/emacs/src/keyboard.c      236
-dsharpseen     c-src/etags.c   2461
-dummies        tex-src/texinfo.tex     /^{\\indexdummies % Must do this here, since \\bf, etc/
-dummy1 cp-src/burton.cpp       /^::dummy::dummy test::dummy1(void)$/
-dummy2 cp-src/burton.cpp       /^::dummy::dummy test::dummy2(::CORBA::Long dummy)$/
-dummy3 cp-src/burton.cpp       /^::dummy::dummy test::dummy3(char* name, ::CORBA::L/
-dummydots      tex-src/texinfo.tex     /^\\let\\dots=\\indexdummydots$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\b=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\code=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\emph=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\file=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\i=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\kbd=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\key=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\r=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\samp=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\sc=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\strong=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\t=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\tclose=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\var=\\indexdummyfont$/
-dummyfont      tex-src/texinfo.tex     /^\\let\\w=\\indexdummyfont$/
-dummytex       tex-src/texinfo.tex     /^\\let\\TeX=\\indexdummytex$/
-dump   pyt-src/server.py       /^    def dump(self, folded):$/
-eabs   c-src/emacs/src/lisp.h  /^#define eabs(x)         ((x) < 0 ? -(x) : (x))$/
-eassert        c-src/emacs/src/lisp.h  /^# define eassert(cond)                                                \\$/
-eassert        c-src/emacs/src/lisp.h  /^# define eassert(cond) ((void) (false && (cond))) /
-eassume        c-src/emacs/src/lisp.h  /^# define eassume(cond)                                                \\$/
-eassume        c-src/emacs/src/lisp.h  /^# define eassume(cond) assume (cond)$/
-eax    c-src/sysdep.h  31
-eax    c-src/sysdep.h  33
-echo_add_key   c-src/emacs/src/keyboard.c      /^echo_add_key (Lisp_Object c)$/
-echo_char      c-src/emacs/src/keyboard.c      /^echo_char (Lisp_Object c)$/
-echo_dash      c-src/emacs/src/keyboard.c      /^echo_dash (void)$/
-echo_kboard    c-src/emacs/src/keyboard.c      166
-echo_keystrokes_p      c-src/emacs/src/keyboard.c      /^echo_keystrokes_p (void)$/
-echo_length    c-src/emacs/src/keyboard.c      /^echo_length (void)$/
-echo_message_buffer    c-src/emacs/src/keyboard.c      171
-echo_now       c-src/emacs/src/keyboard.c      /^echo_now (void)$/
-echo_truncate  c-src/emacs/src/keyboard.c      /^echo_truncate (ptrdiff_t nchars)$/
-echoing        c-src/emacs/src/keyboard.c      154
-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)$/
-emacs_abort    c-src/emacs/src/lisp.h  /^extern _Noreturn void emacs_abort (void) NO_INLINE/
-end    c-src/emacs/src/keyboard.c      8753
-end    c-src/emacs/src/lisp.h  2039
-end    c-src/emacs/src/regex.h 432
-endtoken       c-src/etags.c   /^#define       endtoken(c)     (_etk[CHAR (c)]) \/* c ends tok/
-enter_critical_section c-src/h.h       116
-entry  perl-src/htlmify-cystic 218
-entry  perl-src/htlmify-cystic 234
-entry  perl-src/htlmify-cystic 245
-entry  perl-src/htlmify-cystic 252
-entry  perl-src/htlmify-cystic 268
-entry  perl-src/htlmify-cystic 276
-entry  perl-src/htlmify-cystic 281
-entry  perl-src/htlmify-cystic 296
-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)$/
-erlang_func    c-src/etags.c   /^erlang_func (char *s, char *last)$/
-error  c-src/emacs/src/lisp.h  /^extern _Noreturn void error (const char *, ...) AT/
-error  c-src/etags.c   /^error (const char *format, ...)$/
-error  c-src/etags.c   /^static void error (const char *, ...) ATTRIBUTE_FO/
-error  y-src/cccp.y    /^error (msg)$/
-error_signaled c-src/etags.c   264
-etags  el-src/emacs/lisp/progmodes/etags.el    /^(defgroup etags nil "Tags tables."$/
-etags  html-src/software.html  /^Etags$/
-etags  make-src/Makefile       /^etags: etags.c ${OBJS}$/
-etags--xref-find-definitions   el-src/emacs/lisp/progmodes/etags.el    /^(defun etags--xref-find-definitions (pattern &opti/
-etags--xref-limit      el-src/emacs/lisp/progmodes/etags.el    /^(defconst etags--xref-limit 1000)$/
-etags-file-of-tag      el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-file-of-tag (&optional relative) ; Do/
-etags-goto-tag-location        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-goto-tag-location (tag-info)$/
-etags-list-tags        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-list-tags (file) ; Doc string?$/
-etags-recognize-tags-table     el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-recognize-tags-table ()$/
-etags-snarf-tag        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-snarf-tag (&optional use-explicit) ; /
-etags-tags-apropos     el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-apropos (string) ; Doc string?$/
-etags-tags-apropos-additional  el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-apropos-additional (regexp)$/
-etags-tags-completion-table    el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-completion-table () ; Doc string/
-etags-tags-included-tables     el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-included-tables () ; Doc string?/
-etags-tags-table-files el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-tags-table-files () ; Doc string?$/
-etags-verify-tags-table        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-verify-tags-table ()$/
-etags-xref-find        el-src/emacs/lisp/progmodes/etags.el    /^(defun etags-xref-find (action id)$/
-etags-xref-find-definitions-tag-order  el-src/emacs/lisp/progmodes/etags.el    /^(defvar etags-xref-find-definitions-tag-order '(ta/
-etags.1.man    make-src/Makefile       /^etags.1.man: etags.1$/
-etags_getcwd   c-src/etags.c   /^etags_getcwd (void)$/
-eval_dyn       c-src/emacs/src/keyboard.c      /^eval_dyn (Lisp_Object form)$/
-event-convert-list     c-src/emacs/src/keyboard.c      /^DEFUN ("event-convert-list", Fevent_convert_list, /
-event-symbol-parse-modifiers   c-src/emacs/src/keyboard.c      /^DEFUN ("internal-event-symbol-parse-modifiers", Fe/
-event_head     c-src/emacs/src/keyboard.c      11021
-event_to_kboard        c-src/emacs/src/keyboard.c      /^event_to_kboard (struct input_event *event)$/
-exact  c-src/emacs/src/gmalloc.c       200
-execute        cp-src/c.C      /^        void execute(CPluginCSCState& p, int w, in/
-exit   c-src/exit.c    /^DEFUN(exit, (status), int status)$/
-exit   c-src/exit.strange_suffix       /^DEFUN(exit, (status), int status)$/
-exit-recursive-edit    c-src/emacs/src/keyboard.c      /^DEFUN ("exit-recursive-edit", Fexit_recursive_edit/
-exit_critical_to_previous      c-src/h.h       117
-exp    y-src/atest.y   2
-exp    y-src/cccp.y    156
-exp    y-src/cccp.y    185
-exp    y-src/parse.y   95
-exp1   y-src/cccp.y    148
-exp_list       y-src/parse.y   263
-expand-abbrev  c-src/abbrev.c  /^DEFUN ("expand-abbrev", Fexpand_abbrev, Sexpand_ab/
-expandmng      prol-src/natded.prolog  /^expandmng(var(V),var(V)).$/
-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-/
-expression_value       y-src/cccp.y    68
-extras c-src/emacs/src/lisp.h  1603
-extvar c-src/h.h       109
-f      c-src/c.c       /^T f(){if(x){}$/
-f      c-src/h.h       89
-f      c.c     /^int f$/
-f      c.c     145
-f      c.c     156
-f      c.c     168
-f      cp-src/c.C      /^     void f() {}$/
-f      cp-src/c.C      /^  int f(){return 0;};         \/\/ first comment$/
-f      cp-src/c.C      /^A<float,B<int> > A<B<float>,int>::f(A<int>* x) {}$/
-f      cp-src/c.C      /^A<int>* f() {}$/
-f      cp-src/c.C      /^class B<int> { void f() {} };$/
-f      cp-src/c.C      /^int A<int>::f(A<int>* x) {}$/
-f      cp-src/c.C      /^int f(A<int> x) {}$/
-f      cp-src/fail.C   /^              int f() { return 5; }$/
-f      cp-src/fail.C   /^int A::B::f() { return 2; }$/
-f1     c.c     /^     f1 () { \/* Do something. *\/; }$/
-f1     perl-src/kai-test.pl    /^sub f1 {$/
-f2     c.c     /^void f2 () { \/* Do something. *\/; }$/
-f2     perl-src/kai-test.pl    /^sub main::f2 {$/
-f3     perl-src/kai-test.pl    /^sub f3 {$/
-f4     perl-src/kai-test.pl    /^sub Bar::f4 {$/
-f5     perl-src/kai-test.pl    /^sub f5 {$/
-f6     perl-src/kai-test.pl    /^sub f6 {$/
-f7     perl-src/kai-test.pl    /^sub f7 {$/
-fast_string_match_ignore_case  c-src/emacs/src/lisp.h  /^fast_string_match_ignore_case (Lisp_Object regexp,/
-fastctags      make-src/Makefile       /^fastctags:$/
-fastetags      make-src/Makefile       /^fastetags:$/
-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));$/
-fconst forth-src/test-forth.fth        /^3.1415e fconstant fconst$/
-fdHandler      objc-src/Subprocess.m   /^- fdHandler:(int)theFd$/
-fdHandler      objc-src/Subprocess.m   /^fdHandler (int theFd, id self)$/
-fdefunkey      c-src/etags.c   2409
-fdefunname     c-src/etags.c   2410
-fdesc  c-src/etags.c   201
-fdesc  c-src/etags.c   212
-fdp    c-src/etags.c   217
-ff     cp-src/c.C      /^  int ff(){return 1;};$/
-field_of_play  cp-src/conway.cpp       18
-fignore        c-src/etags.c   2416
-file-of-tag    el-src/emacs/lisp/progmodes/etags.el    /^(defun file-of-tag (&optional relative)$/
-file-of-tag-function   el-src/emacs/lisp/progmodes/etags.el    /^(defvar file-of-tag-function nil$/
-fileJoin       php-src/lce_functions.php       /^  function fileJoin()$/
-file_end       perl-src/htlmify-cystic /^sub file_end ()$/
-file_index     perl-src/htlmify-cystic 33
-file_tocs      perl-src/htlmify-cystic 30
-filename_is_absolute   c-src/etags.c   /^filename_is_absolute (char *fn)$/
-filenames      c-src/etags.c   196
-find-tag       el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag (tagname &optional next-p regexp-p/
-find-tag-default-function      el-src/emacs/lisp/progmodes/etags.el    /^(defcustom find-tag-default-function nil$/
-find-tag-history       el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-history nil) ; Doc string?$/
-find-tag-hook  el-src/emacs/lisp/progmodes/etags.el    /^(defcustom find-tag-hook nil$/
-find-tag-in-order      el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-in-order (pattern$/
-find-tag-interactive   el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-interactive (prompt &optional no-d/
-find-tag-marker-ring   el-src/emacs/lisp/progmodes/etags.el    /^(defvaralias 'find-tag-marker-ring 'xref--marker-r/
-find-tag-marker-ring-length    el-src/emacs/lisp/progmodes/etags.el    /^(define-obsolete-variable-alias 'find-tag-marker-r/
-find-tag-next-line-after-failure-p     el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-next-line-after-failure-p nil$/
-find-tag-noselect      el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-noselect (tagname &optional next-p/
-find-tag-other-frame   el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-other-frame (tagname &optional nex/
-find-tag-other-window  el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-other-window (tagname &optional ne/
-find-tag-regexp        el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-regexp (regexp &optional next-p ot/
-find-tag-regexp-next-line-after-failure-p      el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-regexp-next-line-after-failure-p /
-find-tag-regexp-search-function        el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-regexp-search-function nil$/
-find-tag-regexp-tag-order      el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-regexp-tag-order nil$/
-find-tag-search-function       el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-search-function nil$/
-find-tag-tag   el-src/emacs/lisp/progmodes/etags.el    /^(defun find-tag-tag (string)$/
-find-tag-tag-order     el-src/emacs/lisp/progmodes/etags.el    /^(defvar find-tag-tag-order nil$/
-find_entries   c-src/etags.c   /^find_entries (FILE *inf)$/
-find_user_signal_name  c-src/emacs/src/keyboard.c      /^find_user_signal_name (int sig)$/
-findcats       prol-src/natded.prolog  /^findcats([],Left,Left).$/
-finish_appendices      perl-src/htlmify-cystic /^sub finish_appendices ()$/
-finish_sections        perl-src/htlmify-cystic /^sub finish_sections ()$/
-finish_subsections     perl-src/htlmify-cystic /^sub finish_subsections ()$/
-finish_subsubsections  perl-src/htlmify-cystic /^sub finish_subsubsections ()$/
-finlist        c-src/etags.c   2414
-first  c-src/emacs/src/gmalloc.c       151
-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):$/
-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   68
-focus_set      pyt-src/server.py       /^    def focus_set(self):$/
-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/
-foo    c-src/h.h       18
-foo    c.c     150
-foo    c.c     166
-foo    c.c     167
-foo    c.c     178
-foo    c.c     189
-foo    cp-src/c.C      /^    foo() {$/
-foo    cp-src/c.C      68
-foo    cp-src/c.C      79
-foo    cp-src/x.cc     /^XX::foo()$/
-foo    f-src/entry.for /^       character*(*) function foo()$/
-foo    f-src/entry.strange     /^       character*(*) function foo()$/
-foo    f-src/entry.strange_suffix      /^       character*(*) function foo()$/
-foo    forth-src/test-forth.fth        /^: foo (foo) ;$/
-foo    php-src/ptest.php       /^foo()$/
-foo    ruby-src/test1.ru       /^    attr_reader :foo$/
-foo!   ruby-src/test1.ru       /^    def foo!$/
-foo1   ruby-src/test1.ru       /^    attr_reader(:foo1, :bar1, # comment$/
-foo2   ruby-src/test1.ru       /^    alias_method ( :foo2, #cmmt$/
-foo==bar       el-src/TAGTEST.EL       /^(defun foo==bar () (message "hi"))  ; Bug#5624$/
-foobar c-src/c.c       /^int foobar() {;}$/
-foobar c.c     /^extern void foobar (void) __attribute__ ((section /
-foobar2        c-src/h.h       20
-foobar2_       c-src/h.h       16
-foperator      c-src/etags.c   2411
-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
-foreign_export merc-src/accumulator.m  /^:- pragma foreign_export("C", unravel_univ(in, out/
-formatSize     objc-src/PackInsp.m     /^-(const char *)formatSize:(const char *)size inBuf/
-found  c-src/emacs/src/lisp.h  2344
-fracas html-src/software.html  /^Fracas$/
-frag   c-src/emacs/src/gmalloc.c       152
-frame_local    c-src/emacs/src/lisp.h  2341
-free   c-src/emacs/src/gmalloc.c       /^free (void *ptr)$/
-free   c-src/emacs/src/gmalloc.c       166
-free   c-src/emacs/src/gmalloc.c       1719
-free   c-src/emacs/src/gmalloc.c       67
-free   c-src/emacs/src/gmalloc.c       72
-free_fdesc     c-src/etags.c   /^free_fdesc (register fdesc *fdp)$/
-free_for       prol-src/natded.prolog  /^free_for(var(_),_,_).$/
-free_regexps   c-src/etags.c   /^free_regexps (void)$/
-free_tree      c-src/etags.c   /^free_tree (register node *np)$/
-free_var       prol-src/natded.prolog  /^free_var(var(V),var(V)).$/
-freehook       c-src/emacs/src/gmalloc.c       /^freehook (void *ptr)$/
-fresh_vars     prol-src/natded.prolog  /^fresh_vars(var(V),var(V)).$/
-fstartlist     c-src/etags.c   2413
-func   c-src/emacs/src/lisp.h  /^      void (*func) (Lisp_Object);$/
-func   c-src/emacs/src/lisp.h  /^      void (*func) (int);$/
-func   c-src/emacs/src/lisp.h  /^      void (*func) (void *);$/
-func   c-src/emacs/src/lisp.h  /^      void (*func) (void);$/
-func1  c.c     /^int func1$/
-func2  c.c     /^int func2 (a,b$/
-func_key_syms  c-src/emacs/src/keyboard.c      4626
-funcboo        c.c     /^bool funcboo ()$/
-funcpointer    c-src/emacs/src/lisp.h  2126
-funcptr        c-src/h.h       /^    fu   int (*funcptr) (void *ptr);$/
-function       c-src/emacs/src/lisp.h  1685
-function       c-src/emacs/src/lisp.h  2197
-function       c-src/emacs/src/lisp.h  2985
-function       c-src/emacs/src/lisp.h  694
-function       c-src/etags.c   194
-functionp      c-src/emacs/src/lisp.h  /^functionp (Lisp_Object object)$/
-fval   forth-src/test-forth.fth        /^fconst fvalue fval$/
-fvar   forth-src/test-forth.fth        /^fvariable fvar$/
-fvdef  c-src/etags.c   2418
-fvextern       c-src/etags.c   2420
-fvnameseen     c-src/etags.c   2412
-fvnone c-src/etags.c   2408
-fwd    c-src/emacs/src/lisp.h  2346
-fwd    c-src/emacs/src/lisp.h  690
-g      cp-src/c.C      /^  int g(){return 2;};$/
-galileo        html-src/software.html  /^GaliLEO$/
-gather pyt-src/server.py       /^    def gather(self):$/
-gc_aset        c-src/emacs/src/lisp.h  /^gc_aset (Lisp_Object array, ptrdiff_t idx, Lisp_Ob/
-gcmarkbit      c-src/emacs/src/lisp.h  1974
-gcmarkbit      c-src/emacs/src/lisp.h  1981
-gcmarkbit      c-src/emacs/src/lisp.h  2035
-gcmarkbit      c-src/emacs/src/lisp.h  2113
-gcmarkbit      c-src/emacs/src/lisp.h  2204
-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_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>$/
-generate_warning       merc-src/accumulator.m  /^:- pred generate_warning(module_info::in, prog_var/
-generate_warnings      merc-src/accumulator.m  /^:- pred generate_warnings(module_info::in, prog_va/
-generic_object cp-src/clheir.cpp       /^generic_object::generic_object(void)$/
-generic_object cp-src/clheir.hpp       13
-getArchs       objc-src/PackInsp.m     /^-(void)getArchs$/
-getDomainNames php-src/lce_functions.php       /^      function getDomainNames()$/
-getFoo lua-src/test.lua        /^function Cube.data.getFoo ()$/
-getPOReader    php-src/lce_functions.php       /^      function &getPOReader($domain)$/
-getPath        objc-src/PackInsp.m     /^-(const char *)getPath:(char *)buf forType:(const /
-getPos lua-src/test.lua        /^function Circle.getPos ()$/
-getPos lua-src/test.lua        /^function Rectangle.getPos ()$/
-getTextDomains php-src/lce_functions.php       /^  function getTextDomains($lines)$/
-get_compressor_from_suffix     c-src/etags.c   /^get_compressor_from_suffix (char *file, char **ext/
-get_contiguous_space   c-src/emacs/src/gmalloc.c       /^get_contiguous_space (ptrdiff_t size, void *positi/
-get_current_dir_name   c-src/emacs/src/gmalloc.c       33
-get_input_pending      c-src/emacs/src/keyboard.c      /^get_input_pending (int flags)$/
-get_language_from_filename     c-src/etags.c   /^get_language_from_filename (char *file, int case_s/
-get_language_from_interpreter  c-src/etags.c   /^get_language_from_interpreter (char *interpreter)$/
-get_language_from_langname     c-src/etags.c   /^get_language_from_langname (const char *name)$/
-get_layer_by_name      lua-src/allegro.lua     /^local function get_layer_by_name (sprite, layer, n/
-get_tag        c-src/etags.c   /^get_tag (register char *bp, char **namepp)$/
-get_word       c-src/tab.c     /^static char           *get_word(char **str, char delim)$/
-getcjmp        c-src/emacs/src/keyboard.c      147
-getopt perl-src/yagrip.pl      /^sub getopt {$/
-getopt.o       make-src/Makefile       /^getopt.o: emacs\/lib-src\/getopt.c$/
-getopt1.o      make-src/Makefile       /^getopt1.o: emacs\/lib-src\/getopt1.c$/
-getptys        objc-src/Subprocess.m   /^getptys (int *master, int *slave)$/
-gettext        php-src/lce_functions.php       /^      function gettext($msgid)$/
-ggg    c-src/h.h       10
-ghi1   c-src/h.h       36
-ghi2   c-src/h.h       39
-giallo cp-src/c.C      40
-glider cp-src/conway.cpp       /^void glider(int x, int y)$/
-gnu    html-src/software.html  /^Free software that I wrote for the GNU project or /
-gobble_input   c-src/emacs/src/keyboard.c      /^gobble_input (void)$/
-goto-tag-location-function     el-src/emacs/lisp/progmodes/etags.el    /^(defvar goto-tag-location-function nil$/
-goto_xy        cp-src/screen.cpp       /^void goto_xy(unsigned char x, unsigned char y)$/
-handleList     pyt-src/server.py       /^    def handleList(self, event):$/
-handleNew      pyt-src/server.py       /^    def handleNew(self, event):$/
-handle_async_input     c-src/emacs/src/keyboard.c      /^handle_async_input (void)$/
-handle_input_available_signal  c-src/emacs/src/keyboard.c      /^handle_input_available_signal (int sig)$/
-handle_interrupt       c-src/emacs/src/keyboard.c      /^handle_interrupt (bool in_signal_handler)$/
-handle_interrupt_signal        c-src/emacs/src/keyboard.c      /^handle_interrupt_signal (int sig)$/
-handle_user_signal     c-src/emacs/src/keyboard.c      /^handle_user_signal (int sig)$/
-handler        c-src/emacs/src/lisp.h  3023
-handlertype    c-src/emacs/src/lisp.h  3021
-has_arg        c-src/getopt.h  82
-hash   c-src/emacs/src/lisp.h  1843
-hash   c-src/etags.c   /^hash (const char *str, int len)$/
-hash_table_test        c-src/emacs/src/lisp.h  1805
-hashfn c-src/emacs/src/lisp.h  /^  EMACS_UINT (*hashfn) (struct hash_table_test *t,/
-hdr    c-src/emacs/src/gmalloc.c       1860
-head_table     c-src/emacs/src/keyboard.c      11027
-header c-src/emacs/src/lisp.h  1371
-header c-src/emacs/src/lisp.h  1388
-header c-src/emacs/src/lisp.h  1581
-header c-src/emacs/src/lisp.h  1610
-header c-src/emacs/src/lisp.h  1672
-header c-src/emacs/src/lisp.h  1826
-header_size    c-src/emacs/src/lisp.h  1471
-heapsize       c-src/emacs/src/gmalloc.c       361
-hello  scm-src/test.scm        /^(define hello "Hello, Emacs!")$/
-hello  scm-src/test.scm        /^(set! hello "Hello, world!")$/
-hello-world    scm-src/test.scm        /^(define (hello-world)$/
-help   c-src/etags.c   193
-helpPanel      objcpp-src/SimpleCalc.M /^- helpPanel:sender$/
-help_char_p    c-src/emacs/src/keyboard.c      /^help_char_p (Lisp_Object c)$/
-help_form_saved_window_configs c-src/emacs/src/keyboard.c      2156
-helpwin        pyt-src/server.py       /^def helpwin(helpdict):$/
-hide_cursor    cp-src/screen.cpp       /^void hide_cursor(void)$/
-hlds   merc-src/accumulator.m  /^:- import_module hlds.$/
-htmltreelist   prol-src/natded.prolog  /^htmltreelist([]).$/
-hybrid_aligned_alloc   c-src/emacs/src/gmalloc.c       /^hybrid_aligned_alloc (size_t alignment, size_t siz/
-hybrid_calloc  c-src/emacs/src/gmalloc.c       /^hybrid_calloc (size_t nmemb, size_t size)$/
-hybrid_free    c-src/emacs/src/gmalloc.c       /^hybrid_free (void *ptr)$/
-hybrid_get_current_dir_name    c-src/emacs/src/gmalloc.c       /^hybrid_get_current_dir_name (void)$/
-hybrid_malloc  c-src/emacs/src/gmalloc.c       /^hybrid_malloc (size_t size)$/
-hybrid_realloc c-src/emacs/src/gmalloc.c       /^hybrid_realloc (void *ptr, size_t size)$/
-hypothetical_mem       prol-src/natded.prolog  /^hypothetical_mem(fi(N),Ass,_):-$/
-i      c-src/c.c       2
-i      c-src/emacs/src/lisp.h  4673
-i      c-src/emacs/src/lisp.h  4679
-i      c-src/emacs/src/lisp.h  567
-i      c.c     169
-i      cp-src/c.C      132
-ialpage        tex-src/texinfo.tex     /^     \\dimen@=\\pageheight \\advance\\dimen@ by-\\ht\\pa/
-ialpage        tex-src/texinfo.tex     /^  \\availdimen@=\\pageheight \\advance\\availdimen@ by/
-ialpage        tex-src/texinfo.tex     /^  \\dimen@=\\pageheight \\advance\\dimen@ by-\\ht\\parti/
-ialpage        tex-src/texinfo.tex     /^\\newbox\\partialpage$/
-ialpage=       tex-src/texinfo.tex     /^  \\output={\\global\\setbox\\partialpage=$/
-identify_goal_type     merc-src/accumulator.m  /^:- pred identify_goal_type(pred_id::in, proc_id::i/
-identify_out_and_out_prime     merc-src/accumulator.m  /^:- pred identify_out_and_out_prime(module_info::in/
-identify_recursive_calls       merc-src/accumulator.m  /^:- pred identify_recursive_calls(pred_id::in, proc/
-idx    c-src/emacs/src/lisp.h  3150
-ignore_case    c-src/etags.c   266
-ignore_mouse_drag_p    c-src/emacs/src/keyboard.c      1256
-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$/
-implementation merc-src/accumulator.m  /^:- implementation.$/
-in_word_set    c-src/etags.c   /^in_word_set (register const char *str, register un/
-inattribute    c-src/etags.c   2400
-inc    cp-src/Range.h  /^  double inc (void) const { return rng_inc;   }$/
-index  c-src/emacs/src/lisp.h  1856
-infabsdir      c-src/etags.c   206
-infabsname     c-src/etags.c   205
-infiles        make-src/Makefile       /^infiles = $(filter-out ${NONSRCS},${SRCS}) srclist/
-infname        c-src/etags.c   204
-info   c-src/emacs/src/gmalloc.c       157
-infoPanel      objcpp-src/SimpleCalc.M /^- infoPanel:sender$/
-init   c-src/etags.c   /^init (void)$/
-init   objc-src/Subprocess.m   /^    andStdErr:(BOOL)wantsStdErr$/
-init   objc-src/Subprocess.m   /^- init:(const char *)subprocessString$/
-init   objcpp-src/SimpleCalc.M /^- init$/
-init_control   c.c     239
-init_kboard    c-src/emacs/src/keyboard.c      /^init_kboard (KBOARD *kb, Lisp_Object type)$/
-init_keyboard  c-src/emacs/src/keyboard.c      /^init_keyboard (void)$/
-init_registry  cp-src/clheir.cpp       /^void init_registry(void)$/
-init_tool_bar_items    c-src/emacs/src/keyboard.c      /^init_tool_bar_items (Lisp_Object reuse)$/
-inita  c.c     /^static void inita () {}$/
-initb  c.c     /^static void initb () {}$/
-initial_kboard c-src/emacs/src/keyboard.c      84
-initialize-new-tags-table      el-src/emacs/lisp/progmodes/etags.el    /^(defun initialize-new-tags-table ()$/
-initialize_goal_store  merc-src/accumulator.m  /^:- func initialize_goal_store(list(hlds_goal), ins/
-initialize_random_junk y-src/cccp.y    /^initialize_random_junk ()$/
-input-pending-p        c-src/emacs/src/keyboard.c      /^DEFUN ("input-pending-p", Finput_pending_p, Sinput/
-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-abbrev-table-description        c-src/abbrev.c  /^DEFUN ("insert-abbrev-table-description", Finsert_/
-insertion_type c-src/emacs/src/lisp.h  1989
-insertname     pas-src/common.pas      /^function insertname;(*($/
-instance_method        ruby-src/test.rb        /^        def instance_method$/
-instance_method_equals=        ruby-src/test.rb        /^        def instance_method_equals=$/
-instance_method_exclamation!   ruby-src/test.rb        /^        def instance_method_exclamation!$/
-instance_method_question?      ruby-src/test.rb        /^        def instance_method_question?$/
-instr  y-src/parse.y   81
-instruct       c-src/etags.c   2527
-int    merc-src/accumulator.m  /^:- import_module int.$/
-intNumber      go-src/test1.go 13
-integer        c-src/emacs/src/lisp.h  2127
-integer        y-src/cccp.y    112
-integer_overflow       y-src/cccp.y    /^integer_overflow ()$/
-integertonmstr pas-src/common.pas      /^function integertonmstr; (* (TheInteger : integer)/
-intensity1     f-src/entry.for /^     & intensity1(efv,fv,svin,svquad,sfpv,maxp,val/
-intensity1     f-src/entry.strange     /^     & intensity1(efv,fv,svin,svquad,sfpv,maxp,val/
-intensity1     f-src/entry.strange_suffix      /^     & intensity1(efv,fv,svin,svquad,sfpv,maxp,val/
-interface      merc-src/accumulator.m  /^:- interface.$/
-interface_locate       c-src/c.c       /^interface_locate(void)$/
-intern c-src/emacs/src/lisp.h  /^intern (const char *str)$/
-intern_c_string        c-src/emacs/src/lisp.h  /^intern_c_string (const char *str)$/
-internal_last_event_frame      c-src/emacs/src/keyboard.c      228
-interned       c-src/emacs/src/lisp.h  672
-interpreters   c-src/etags.c   197
-interrupt_input        c-src/emacs/src/keyboard.c      328
-interrupt_input_blocked        c-src/emacs/src/keyboard.c      76
-interrupt_input_blocked        c-src/emacs/src/lisp.h  3048
-interrupts_deferred    c-src/emacs/src/keyboard.c      331
-intoken        c-src/etags.c   /^#define       intoken(c)      (_itk[CHAR (c)]) \/* c can be in/
-intspec        c-src/emacs/src/lisp.h  1688
-intvar c-src/emacs/src/lisp.h  2277
-invalidate_nodes       c-src/etags.c   /^invalidate_nodes (fdesc *badfdp, node **npp)$/
-io     merc-src/accumulator.m  /^:- import_module io.$/
-ipc3dCSC19     cp-src/c.C      6
-ipc3dChannelType       cp-src/c.C      1
-ipc3dIslandHierarchy   cp-src/c.C      1
-ipc3dLinkControl       cp-src/c.C      1
-irregular_location     cp-src/clheir.hpp       /^    irregular_location(double xi, double yi, doubl/
-irregular_location     cp-src/clheir.hpp       47
-isComment      php-src/lce_functions.php       /^      function isComment($class)$/
-isHoliday      cp-src/functions.cpp    /^bool isHoliday ( Date d ){$/
-isLeap cp-src/functions.cpp    /^bool isLeap ( int year ){$/
-is_associative_construction    merc-src/accumulator.m  /^:- pred is_associative_construction(module_info::i/
-is_curly_brace_form    c-src/h.h       54
-is_explicit    c-src/h.h       49
-is_func        c-src/etags.c   221
-is_hor_space   y-src/cccp.y    953
-is_idchar      y-src/cccp.y    948
-is_idstart     y-src/cccp.y    950
-is_muldiv_operation    cp-src/c.C      /^is_muldiv_operation(pc)$/
-is_ordset      prol-src/ordsets.prolog /^is_ordset(X) :- var(X), !, fail.$/
-is_recursive_case      merc-src/accumulator.m  /^:- pred is_recursive_case(list(hlds_goal)::in, pre/
-iso_lispy_function_keys        c-src/emacs/src/keyboard.c      5151
-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
-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
-kbd_buffer_events_waiting      c-src/emacs/src/keyboard.c      /^kbd_buffer_events_waiting (void)$/
-kbd_buffer_get_event   c-src/emacs/src/keyboard.c      /^kbd_buffer_get_event (KBOARD **kbp,$/
-kbd_buffer_nr_stored   c-src/emacs/src/keyboard.c      /^kbd_buffer_nr_stored (void)$/
-kbd_buffer_store_event c-src/emacs/src/keyboard.c      /^kbd_buffer_store_event (register struct input_even/
-kbd_buffer_store_event_hold    c-src/emacs/src/keyboard.c      /^kbd_buffer_store_event_hold (register struct input/
-kbd_buffer_store_help_event    c-src/emacs/src/keyboard.c      /^kbd_buffer_store_help_event (Lisp_Object frame, Li/
-kbd_buffer_unget_event c-src/emacs/src/keyboard.c      /^kbd_buffer_unget_event (register struct input_even/
-kbd_fetch_ptr  c-src/emacs/src/keyboard.c      297
-kbd_store_ptr  c-src/emacs/src/keyboard.c      302
-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
-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/
-keys_of_keyboard       c-src/emacs/src/keyboard.c      /^keys_of_keyboard (void)$/
-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),$/
-keyvalseq      prol-src/natded.prolog  /^keyvalseq([KeyVal|KeyVals]) --> $/
-keyword_parsing        y-src/cccp.y    73
-keywords       y-src/cccp.y    114
-keywords       y-src/cccp.y    306
-kind   c-src/emacs/src/keyboard.c      11024
-kind   c-src/h.h       46
-kset_echo_string       c-src/emacs/src/keyboard.c      /^kset_echo_string (struct kboard *kb, Lisp_Object v/
-kset_kbd_queue c-src/emacs/src/keyboard.c      /^kset_kbd_queue (struct kboard *kb, Lisp_Object val/
-kset_keyboard_translate_table  c-src/emacs/src/keyboard.c      /^kset_keyboard_translate_table (struct kboard *kb, /
-kset_last_prefix_arg   c-src/emacs/src/keyboard.c      /^kset_last_prefix_arg (struct kboard *kb, Lisp_Obje/
-kset_last_repeatable_command   c-src/emacs/src/keyboard.c      /^kset_last_repeatable_command (struct kboard *kb, L/
-kset_local_function_key_map    c-src/emacs/src/keyboard.c      /^kset_local_function_key_map (struct kboard *kb, Li/
-kset_overriding_terminal_local_map     c-src/emacs/src/keyboard.c      /^kset_overriding_terminal_local_map (struct kboard /
-kset_real_last_command c-src/emacs/src/keyboard.c      /^kset_real_last_command (struct kboard *kb, Lisp_Ob/
-kset_system_key_syms   c-src/emacs/src/keyboard.c      /^kset_system_key_syms (struct kboard *kb, Lisp_Obje/
-lang   c-src/etags.c   208
-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-tag       el-src/emacs/lisp/progmodes/etags.el    /^(defvar last-tag nil$/
-last_abbrev_point      c-src/abbrev.c  79
-last_auto_save c-src/emacs/src/keyboard.c      214
-last_heapinfo  c-src/emacs/src/gmalloc.c       402
-last_mouse_button      c-src/emacs/src/keyboard.c      5215
-last_mouse_x   c-src/emacs/src/keyboard.c      5216
-last_mouse_y   c-src/emacs/src/keyboard.c      5217
-last_non_minibuf_size  c-src/emacs/src/keyboard.c      207
-last_point_position    c-src/emacs/src/keyboard.c      217
-last_state_size        c-src/emacs/src/gmalloc.c       401
-last_undo_boundary     c-src/emacs/src/keyboard.c      1287
-lasta  c.c     272
-lastargmargin  tex-src/texinfo.tex     /^\\newskip\\deflastargmargin \\deflastargmargin=18pt$/
-lastargmargin  tex-src/texinfo.tex     /^\\setbox0=\\hbox{\\hskip \\deflastargmargin{\\rm #2}\\hs/
-lastb  c.c     278
-lb     c-src/etags.c   2923
-lbs    c-src/etags.c   2924
-lce    php-src/lce_functions.php       /^      function lce()$/
-lce_bindtextdomain     php-src/lce_functions.php       /^      function lce_bindtextdomain($d_name, $d_path/
-lce_bindtextdomain     php-src/lce_functions.php       /^      function lce_bindtextdomain($domain, $path)$/
-lce_dgettext   php-src/lce_functions.php       /^      function lce_dgettext($domain, $msgid)$/
-lce_geteditcode        php-src/lce_functions.php       /^  function lce_geteditcode($type, $name, $text, $r/
-lce_gettext    php-src/lce_functions.php       /^      function lce_gettext($msgid)$/
-lce_textdomain php-src/lce_functions.php       /^      function lce_textdomain($domain)$/
-leasqr html-src/software.html  /^Leasqr$/
-left   c-src/etags.c   216
-left_shift     y-src/cccp.y    /^left_shift (a, b)$/
-len    c-src/etags.c   237
-length c-src/etags.c   2495
-length y-src/cccp.y    113
-length y-src/cccp.y    44
-let    c-src/emacs/src/lisp.h  2981
-letter tex-src/texinfo.tex     /^  {#1}{Appendix \\appendixletter}{\\noexpand\\folio}}/
-letter tex-src/texinfo.tex     /^  {\\appendixletter}$/
-letter tex-src/texinfo.tex     /^  {\\appendixletter}{\\the\\secno}{\\the\\subsecno}{\\th/
-letter tex-src/texinfo.tex     /^\\chapmacro {#1}{Appendix \\appendixletter}%$/
-letter tex-src/texinfo.tex     /^\\gdef\\thissection{#1}\\secheading {#1}{\\appendixlet/
-letter tex-src/texinfo.tex     /^\\subsecheading {#1}{\\appendixletter}{\\the\\secno}{\\/
-letter tex-src/texinfo.tex     /^{#1}{\\appendixletter}{\\the\\secno}{\\noexpand\\folio}/
-letter tex-src/texinfo.tex     /^{#1}{\\appendixletter}{\\the\\secno}{\\the\\subsecno}{\\/
-letter:        tex-src/texinfo.tex     /^\\xdef\\thischapter{Appendix \\appendixletter: \\noexp/
-level  c-src/emacs/src/lisp.h  3153
-lex    prol-src/natded.prolog  /^lex(W,SynOut,Sem):-$/
-lexptr y-src/cccp.y    332
-libs   merc-src/accumulator.m  /^:- import_module libs.$/
-licenze        html-src/softwarelibero.html    /^Licenze d'uso di un programma$/
-limit  cp-src/Range.h  /^  double limit (void) const { return rng_limit; }$/
-line   c-src/etags.c   2493
-line   perl-src/htlmify-cystic 37
-line   y-src/parse.y   87
-lineCount      php-src/lce_functions.php       /^      function lineCount($entry)$/
-linebuffer     c-src/etags.c   239
-linebuffer_init        c-src/etags.c   /^linebuffer_init (linebuffer *lbp)$/
-linebuffer_setlen      c-src/etags.c   /^linebuffer_setlen (linebuffer *lbp, int toksize)$/
-lineno c-src/emacs/src/lisp.h  3147
-lineno c-src/etags.c   2506
-linepos        c-src/etags.c   2507
-linepos        c-src/etags.c   2922
-links  html-src/software.html  /^Links to interesting software$/
-lisp_eval_depth        c-src/emacs/src/lisp.h  3045
-lisp_h_CHECK_LIST_CONS c-src/emacs/src/lisp.h  /^#define lisp_h_CHECK_LIST_CONS(x, y) CHECK_TYPE (C/
-lisp_h_CHECK_NUMBER    c-src/emacs/src/lisp.h  /^#define lisp_h_CHECK_NUMBER(x) CHECK_TYPE (INTEGER/
-lisp_h_CHECK_SYMBOL    c-src/emacs/src/lisp.h  /^#define lisp_h_CHECK_SYMBOL(x) CHECK_TYPE (SYMBOLP/
-lisp_h_CHECK_TYPE      c-src/emacs/src/lisp.h  /^#define lisp_h_CHECK_TYPE(ok, predicate, x) \\$/
-lisp_h_CONSP   c-src/emacs/src/lisp.h  /^#define lisp_h_CONSP(x) (XTYPE (x) == Lisp_Cons)$/
-lisp_h_EQ      c-src/emacs/src/lisp.h  /^#define lisp_h_EQ(x, y) (XLI (x) == XLI (y))$/
-lisp_h_FLOATP  c-src/emacs/src/lisp.h  /^#define lisp_h_FLOATP(x) (XTYPE (x) == Lisp_Float)/
-lisp_h_INTEGERP        c-src/emacs/src/lisp.h  /^#define lisp_h_INTEGERP(x) ((XTYPE (x) & (Lisp_Int/
-lisp_h_MARKERP c-src/emacs/src/lisp.h  /^#define lisp_h_MARKERP(x) (MISCP (x) && XMISCTYPE /
-lisp_h_MISCP   c-src/emacs/src/lisp.h  /^#define lisp_h_MISCP(x) (XTYPE (x) == Lisp_Misc)$/
-lisp_h_NILP    c-src/emacs/src/lisp.h  /^#define lisp_h_NILP(x) EQ (x, Qnil)$/
-lisp_h_SET_SYMBOL_VAL  c-src/emacs/src/lisp.h  /^#define lisp_h_SET_SYMBOL_VAL(sym, v) \\$/
-lisp_h_SYMBOLP c-src/emacs/src/lisp.h  /^#define lisp_h_SYMBOLP(x) (XTYPE (x) == Lisp_Symbo/
-lisp_h_SYMBOL_CONSTANT_P       c-src/emacs/src/lisp.h  /^#define lisp_h_SYMBOL_CONSTANT_P(sym) (XSYMBOL (sy/
-lisp_h_SYMBOL_VAL      c-src/emacs/src/lisp.h  /^#define lisp_h_SYMBOL_VAL(sym) \\$/
-lisp_h_VECTORLIKEP     c-src/emacs/src/lisp.h  /^#define lisp_h_VECTORLIKEP(x) (XTYPE (x) == Lisp_V/
-lisp_h_XCAR    c-src/emacs/src/lisp.h  /^#define lisp_h_XCAR(c) XCONS (c)->car$/
-lisp_h_XCDR    c-src/emacs/src/lisp.h  /^#define lisp_h_XCDR(c) XCONS (c)->u.cdr$/
-lisp_h_XCONS   c-src/emacs/src/lisp.h  /^#define lisp_h_XCONS(a) \\$/
-lisp_h_XFASTINT        c-src/emacs/src/lisp.h  /^# define lisp_h_XFASTINT(a) XINT (a)$/
-lisp_h_XHASH   c-src/emacs/src/lisp.h  /^#define lisp_h_XHASH(a) XUINT (a)$/
-lisp_h_XIL     c-src/emacs/src/lisp.h  /^# define lisp_h_XIL(i) ((Lisp_Object) { i })$/
-lisp_h_XIL     c-src/emacs/src/lisp.h  /^# define lisp_h_XIL(i) (i)$/
-lisp_h_XINT    c-src/emacs/src/lisp.h  /^# define lisp_h_XINT(a) (XLI (a) >> INTTYPEBITS)$/
-lisp_h_XLI     c-src/emacs/src/lisp.h  /^# define lisp_h_XLI(o) ((o).i)$/
-lisp_h_XLI     c-src/emacs/src/lisp.h  /^# define lisp_h_XLI(o) (o)$/
-lisp_h_XPNTR   c-src/emacs/src/lisp.h  /^#define lisp_h_XPNTR(a) \\$/
-lisp_h_XSYMBOL c-src/emacs/src/lisp.h  /^# define lisp_h_XSYMBOL(a) \\$/
-lisp_h_XTYPE   c-src/emacs/src/lisp.h  /^# define lisp_h_XTYPE(a) ((enum Lisp_Type) (XLI (a/
-lisp_h_XUNTAG  c-src/emacs/src/lisp.h  /^# define lisp_h_XUNTAG(a, type) ((void *) (intptr_/
-lisp_h_check_cons_list c-src/emacs/src/lisp.h  /^# define lisp_h_check_cons_list() ((void) 0)$/
-lisp_h_make_number     c-src/emacs/src/lisp.h  /^# define lisp_h_make_number(n) \\$/
-lispy_accent_codes     c-src/emacs/src/keyboard.c      4634
-lispy_accent_keys      c-src/emacs/src/keyboard.c      4741
-lispy_drag_n_drop_names        c-src/emacs/src/keyboard.c      5181
-lispy_function_keys    c-src/emacs/src/keyboard.c      4768
-lispy_function_keys    c-src/emacs/src/keyboard.c      5065
-lispy_kana_keys        c-src/emacs/src/keyboard.c      5026
-lispy_modifier_list    c-src/emacs/src/keyboard.c      /^lispy_modifier_list (int modifiers)$/
-lispy_multimedia_keys  c-src/emacs/src/keyboard.c      4962
-lispy_wheel_names      c-src/emacs/src/keyboard.c      5174
-list   c-src/emacs/src/gmalloc.c       186
-list   merc-src/accumulator.m  /^:- import_module list.$/
-list-tags      el-src/emacs/lisp/progmodes/etags.el    /^(defun list-tags (file &optional _next-match)$/
-list-tags-function     el-src/emacs/lisp/progmodes/etags.el    /^(defvar list-tags-function nil$/
-list2i c-src/emacs/src/lisp.h  /^list2i (EMACS_INT x, EMACS_INT y)$/
-list3i c-src/emacs/src/lisp.h  /^list3i (EMACS_INT x, EMACS_INT y, EMACS_INT w)$/
-list4i c-src/emacs/src/lisp.h  /^list4i (EMACS_INT x, EMACS_INT y, EMACS_INT w, EMA/
-list_to_ord_set        prol-src/ordsets.prolog /^list_to_ord_set(List, Set) :-$/
-lno    c-src/etags.c   223
-load   objc-src/PackInsp.m     /^-load$/
-loadContentsOf objc-src/PackInsp.m     /^-loadContentsOf:(const char *)type inTable:(HashTa/
-loadImage      objc-src/PackInsp.m     /^-loadImage$/
-loadKeyValuesFrom      objc-src/PackInsp.m     /^-loadKeyValuesFrom:(const char *)type inTable:(Has/
-loadPORManager php-src/lce_functions.php       /^  function &loadPORManager()$/
-local_if_set   c-src/emacs/src/lisp.h  2338
-location       cp-src/clheir.hpp       /^    location() { }$/
-location       cp-src/clheir.hpp       33
-lookup y-src/cccp.y    /^lookup (name, len, hash)$/
-lookup_call    merc-src/accumulator.m  /^:- pred lookup_call(accu_goal_store::in, accu_goal/
-lowcase        c-src/etags.c   /^#define lowcase(c)    tolower (CHAR (c))$/
-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,$/
-mach_msg_trap  c-src/machsyscalls.h    /^SYSCALL (mach_msg_trap, -25,$/
-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
-maintaining.info       make-src/Makefile       /^maintaining.info: maintaining.texi$/
-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,Alpha@Sem1@Sem2).$/
-make_ctrl_char c-src/emacs/src/keyboard.c      /^make_ctrl_char (int c)$/
-make_fixnum_or_float   c-src/emacs/src/lisp.h  /^#define make_fixnum_or_float(val) \\$/
-make_formatted_string  c-src/emacs/src/lisp.h  /^extern Lisp_Object make_formatted_string (char *, /
-make_lisp_ptr  c-src/emacs/src/lisp.h  /^make_lisp_ptr (void *ptr, enum Lisp_Type type)$/
-make_lisp_symbol       c-src/emacs/src/lisp.h  /^make_lisp_symbol (struct Lisp_Symbol *sym)$/
-make_lispy_event       c-src/emacs/src/keyboard.c      /^make_lispy_event (struct input_event *event)$/
-make_lispy_focus_in    c-src/emacs/src/keyboard.c      /^make_lispy_focus_in (Lisp_Object frame)$/
-make_lispy_focus_out   c-src/emacs/src/keyboard.c      /^make_lispy_focus_out (Lisp_Object frame)$/
-make_lispy_movement    c-src/emacs/src/keyboard.c      /^make_lispy_movement (struct frame *frame, Lisp_Obj/
-make_lispy_position    c-src/emacs/src/keyboard.c      /^make_lispy_position (struct frame *f, Lisp_Object /
-make_lispy_switch_frame        c-src/emacs/src/keyboard.c      /^make_lispy_switch_frame (Lisp_Object frame)$/
-make_number    c-src/emacs/src/lisp.h  /^#  define make_number(n) lisp_h_make_number (n)$/
-make_pointer_integer   c-src/emacs/src/lisp.h  /^make_pointer_integer (void *p)$/
-make_scroll_bar_position       c-src/emacs/src/keyboard.c      /^make_scroll_bar_position (struct input_event *ev, /
-make_tag       c-src/etags.c   /^make_tag (const char *name,   \/* tag name, or NULL /
-make_uninit_sub_char_table     c-src/emacs/src/lisp.h  /^make_uninit_sub_char_table (int depth, int min_cha/
-make_uninit_vector     c-src/emacs/src/lisp.h  /^make_uninit_vector (ptrdiff_t size)$/
-malloc c-src/emacs/src/gmalloc.c       /^extern void *malloc (size_t size) ATTRIBUTE_MALLOC/
-malloc c-src/emacs/src/gmalloc.c       /^malloc (size_t size)$/
-malloc c-src/emacs/src/gmalloc.c       1715
-malloc c-src/emacs/src/gmalloc.c       64
-malloc c-src/emacs/src/gmalloc.c       68
-malloc_atfork_handler_child    c-src/emacs/src/gmalloc.c       /^malloc_atfork_handler_child (void)$/
-malloc_atfork_handler_parent   c-src/emacs/src/gmalloc.c       /^malloc_atfork_handler_parent (void)$/
-malloc_atfork_handler_prepare  c-src/emacs/src/gmalloc.c       /^malloc_atfork_handler_prepare (void)$/
-malloc_enable_thread   c-src/emacs/src/gmalloc.c       /^malloc_enable_thread (void)$/
-malloc_info    c-src/emacs/src/gmalloc.c       167
-malloc_initialize_1    c-src/emacs/src/gmalloc.c       /^malloc_initialize_1 (void)$/
-mallochook     c-src/emacs/src/gmalloc.c       /^mallochook (size_t size)$/
-man manpage    make-src/Makefile       /^man manpage: etags.1.man$/
-mao    c-src/h.h       101
-map    c-src/emacs/src/keyboard.c      8748
-map    merc-src/accumulator.m  /^:- import_module map.$/
-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):-$/
-mark_kboards   c-src/emacs/src/keyboard.c      /^mark_kboards (void)$/
-max    c-src/emacs/src/lisp.h  /^#define max(a, b) ((a) > (b) ? (a) : (b))$/
-max    c-src/emacs/src/lisp.h  58
-max    c.c     /^__attribute__ ((always_inline)) max (int a, int b)/
-max    c.c     /^max (int a, int b)$/
-max    cp-src/conway.cpp       /^#define max(x,y)  ((x > y) ? x : y)$/
-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
-maxargs        c-src/emacs/src/lisp.h  2831
-maybe  merc-src/accumulator.m  /^:- import_module maybe.$/
-maybe_gc       c-src/emacs/src/lisp.h  /^maybe_gc (void)$/
-mcCSC  cp-src/c.C      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
-mdbcomp        merc-src/accumulator.m  /^:- import_module mdbcomp.$/
-me22b  lua-src/test.lua        /^   local function test.me22b (one)$/
-me_22a lua-src/test.lua        /^   function test.me_22a(one, two)$/
-memalign       c-src/emacs/src/gmalloc.c       /^memalign (size_t alignment, size_t size)$/
-member prol-src/natded.prolog  /^member(X,[X|_]).$/
-member_lessthan_goalid merc-src/accumulator.m  /^:- pred member_lessthan_goalid(accu_goal_store::in/
-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, /
-menu_bar_items c-src/emacs/src/keyboard.c      /^menu_bar_items (Lisp_Object old)$/
-menu_bar_items_index   c-src/emacs/src/keyboard.c      7369
-menu_bar_items_vector  c-src/emacs/src/keyboard.c      7368
-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)$/
-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  /^#define min(a, b) ((a) < (b) ? (a) : (b))$/
-min    c-src/emacs/src/lisp.h  57
-min    cp-src/conway.cpp       /^#define min(x,y)  ((x > y) ? y : x)$/
-min_args       c-src/emacs/src/lisp.h  1686
-min_char       c-src/emacs/src/lisp.h  1621
-minus  cp-src/functions.cpp    /^void Date::minus ( int days , int month , int year/
-miti   html-src/softwarelibero.html    /^Sfatiamo alcuni miti$/
-modifier_names c-src/emacs/src/keyboard.c      6319
-modifier_symbols       c-src/emacs/src/keyboard.c      6327
-modify_event_symbol    c-src/emacs/src/keyboard.c      /^modify_event_symbol (ptrdiff_t symbol_num, int mod/
-module_class_method    ruby-src/test.rb        /^    def ModuleExample.module_class_method$/
-module_instance_method ruby-src/test.rb        /^    def module_instance_method$/
-more=  ruby-src/test1.ru       /^                :more$/
-more_aligned_int       c.c     165
-morecore_nolock        c-src/emacs/src/gmalloc.c       /^morecore_nolock (size_t size)$/
-morecore_recursing     c-src/emacs/src/gmalloc.c       604
-mouse_syms     c-src/emacs/src/keyboard.c      4627
-move   cp-src/clheir.cpp       /^void agent::move(int direction)$/
-mprobe c-src/emacs/src/gmalloc.c       /^mprobe (void *ptr)$/
-msgid  php-src/lce_functions.php       /^      function msgid($line, $class)$/
-msgstr php-src/lce_functions.php       /^      function msgstr($line, $class)$/
-mstats c-src/emacs/src/gmalloc.c       308
-mt     prol-src/natded.prolog  /^mt:-$/
-mtg    html-src/software.html  /^MTG$/
-multi_line     c-src/etags.c   267
-multibyte      c-src/emacs/src/regex.h 403
-my_printf      c.c     /^my_printf (void *my_object, const char *my_format,/
-my_struct      c-src/h.h       91
-my_struct      c.c     226
-my_typedef     c-src/h.h       93
-my_typedef     c.c     228
-mypi   forth-src/test-forth.fth        /^synonym mypi fconst$/
-n      c-src/exit.c    28
-n      c-src/exit.strange_suffix       28
-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   c-src/emacs/src/lisp.h  682
-name   c-src/etags.c   192
-name   c-src/etags.c   218
-name   c-src/etags.c   2271
-name   c-src/etags.c   261
-name   c-src/getopt.h  76
-name   c-src/getopt.h  78
-name   perl-src/htlmify-cystic 357
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{Function}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{Macro}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{Special Form}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{User Option}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#1}{Variable}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{#1}\\deftpargs{#3}\\endgrou/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{#1}\\defunargs{#3}\\endgrou/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{#1}\\defvarargs{#3}\\endgro/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{Instance Variable of #1}%/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{Method on #1}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{\\defcvtype{} of #1}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {#2}{\\defoptype{} on #1}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {\\code{#1} #2}{Function}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {\\code{#1} #2}{Variable}%$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {\\code{#2} #3}{#1}$/
-name   tex-src/texinfo.tex     /^\\begingroup\\defname {\\code{#2} #3}{#1}%$/
-name   y-src/cccp.y    113
-name   y-src/cccp.y    43
-named  c-src/etags.c   2505
-namestringequal        pas-src/common.pas      /^function namestringequal;(*(var Name1,Name2 : Name/
-nargs  c-src/emacs/src/lisp.h  2987
-need_adjustment        c-src/emacs/src/lisp.h  1986
-neighbors      cp-src/clheir.hpp       59
-nelem  cp-src/Range.h  /^  int nelem (void) const { return rng_nelem; }$/
-nestlev        c-src/etags.c   2525
-new    objc-src/PackInsp.m     /^+new$/
-new    perl-src/htlmify-cystic 163
-new_tag        perl-src/htlmify-cystic 18
-newlb  c-src/etags.c   2930
-newlinepos     c-src/etags.c   2932
-newtextstring  pas-src/common.pas      /^function newtextstring; (*: TextString;*)$/
-next   c-src/emacs/src/gmalloc.c       164
-next   c-src/emacs/src/gmalloc.c       188
-next   c-src/emacs/src/gmalloc.c       198
-next   c-src/emacs/src/keyboard.c      7246
-next   c-src/emacs/src/keyboard.c      861
-next   c-src/emacs/src/lisp.h  1848
-next   c-src/emacs/src/lisp.h  2009
-next   c-src/emacs/src/lisp.h  2037
-next   c-src/emacs/src/lisp.h  2192
-next   c-src/emacs/src/lisp.h  3028
-next   c-src/emacs/src/lisp.h  3134
-next   c-src/emacs/src/lisp.h  700
-next   c-src/etags.c   203
-next   c.c     174
-next   y-src/cccp.y    42
-next-file      el-src/emacs/lisp/progmodes/etags.el    /^(defun next-file (&optional initialize novisit)$/
-next-file-list el-src/emacs/lisp/progmodes/etags.el    /^(defvar next-file-list nil$/
-next_alive     cp-src/conway.hpp       7
-next_almost_prime      c-src/emacs/src/lisp.h  /^extern EMACS_INT next_almost_prime (EMACS_INT) ATT/
-next_free      c-src/emacs/src/lisp.h  1851
-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
-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/
-no     tex-src/texinfo.tex     /^\\newcount \\appendixno  \\appendixno = `\\@$/
-no.\the\secno  tex-src/texinfo.tex     /^\\else \\ifnum \\subsecno=0 Section\\xreftie'char\\the\\/
-no.\the\secno.\the\subsecno    tex-src/texinfo.tex     /^Section\\xreftie'char\\the\\appendixno.\\the\\secno.\\th/
-no.\the\secno.\the\subsecno.\the\subsubsecno   tex-src/texinfo.tex     /^Section\\xreftie'char\\the\\appendixno.\\the\\secno.\\th/
-no_argument    c-src/getopt.h  89
-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_st        c-src/etags.c   214
-noderef        tex-src/texinfo.tex     /^\\appendixnoderef %$/
-nofonts        tex-src/texinfo.tex     /^{\\indexnofonts$/
-nofonts%       tex-src/texinfo.tex     /^{\\chapternofonts%$/
-none_help      c-src/etags.c   703
-normalize      prol-src/natded.prolog  /^normalize(M,MNorm):-$/
-normalize_fresh        prol-src/natded.prolog  /^normalize_fresh(M,N):-$/
-normalize_tree prol-src/natded.prolog  /^normalize_tree(tree(Rule,Syn:Sem,Trees),$/
-normalize_trees        prol-src/natded.prolog  /^normalize_trees([],[]).$/
-nosave pyt-src/server.py       /^    def nosave(self):$/
-not_bol        c-src/emacs/src/regex.h 391
-not_eol        c-src/emacs/src/regex.h 394
-not_single_kboard_state        c-src/emacs/src/keyboard.c      /^not_single_kboard_state (KBOARD *kboard)$/
-notag2 c-src/dostorture.c      26
-notag2 c-src/torture.c 26
-notag4 c-src/dostorture.c      45
-notag4 c-src/torture.c 45
-notinname      c-src/etags.c   /^#define notinname(c)  (_nin[CHAR (c)]) \/* c is not /
-npending       c-src/emacs/src/keyboard.c      7244
-ntool_bar_items        c-src/emacs/src/keyboard.c      7974
-numOfChannels  cp-src/c.C      1
-num_columns    cp-src/conway.cpp       16
-num_input_events       c-src/emacs/src/keyboard.c      210
-num_regs       c-src/emacs/src/regex.h 430
-num_rows       cp-src/conway.cpp       15
-numberKeys     objcpp-src/SimpleCalc.M /^- numberKeys:sender$/
-number_len     c-src/etags.c   /^static int number_len (long) ATTRIBUTE_CONST;$/
-numbervars     prol-src/natded.prolog  /^numbervars(X):-$/
-nvars  c-src/emacs/src/lisp.h  3140
-objdef c-src/etags.c   2484
-object c-src/emacs/src/lisp.h  2128
-object_registry        cp-src/clheir.cpp       10
-objtag c-src/etags.c   2453
-objvar c-src/emacs/src/lisp.h  2297
-obstack_chunk_alloc    y-src/parse.y   47
-obstack_chunk_free     y-src/parse.y   48
-ocatseen       c-src/etags.c   2477
-octave_MDiagArray2_h   cp-src/MDiagArray2.h    29
-octave_Range_h cp-src/Range.h  24
-oediff make-src/Makefile       /^oediff: OTAGS ETAGS ${infiles}$/
-offset c-src/emacs/src/lisp.h  2305
-offset c-src/emacs/src/lisp.h  2365
-offset c-src/etags.c   2494
-oignore        c-src/etags.c   2483
-oimplementation        c-src/etags.c   2474
-oinbody        c-src/etags.c   2478
-ok     objc-src/PackInsp.m     /^-ok:sender$/
-ok_to_echo_at_next_pause       c-src/emacs/src/keyboard.c      159
-old_value      c-src/emacs/src/lisp.h  2980
-omethodcolon   c-src/etags.c   2481
-omethodparm    c-src/etags.c   2482
-omethodsign    c-src/etags.c   2479
-omethodtag     c-src/etags.c   2480
-onone  c-src/etags.c   2472
-oparenseen     c-src/etags.c   2476
-open   objc-src/PackInsp.m     /^-open:sender$/
-open-dribble-file      c-src/emacs/src/keyboard.c      /^DEFUN ("open-dribble-file", Fopen_dribble_file, So/
-openInWorkspace        objc-src/PackInsp.m     /^static void openInWorkspace(const char *filename)$/
-operationKeys  objcpp-src/SimpleCalc.M /^- operationKeys:sender$/
-operator       y-src/cccp.y    438
-operator ++    cp-src/functions.cpp    /^Date & Date::operator ++ ( void ){$/
-operator +=    cp-src/functions.cpp    /^Date & Date::operator += ( int days ){$/
-operator -     cp-src/c.C      /^void operator -(int, int) {}$/
-operator -     cp-src/functions.cpp    /^int Date::operator - ( Date d ){$/
-operator --    cp-src/functions.cpp    /^Date & Date::operator -- ( void ){$/
-operator -=    cp-src/functions.cpp    /^Date & Date::operator -= ( int days ){$/
-operator <     cp-src/functions.cpp    /^int Date::operator < ( Date d ) {$/
-operator <<    cp-src/functions.cpp    /^ostream& operator <<  ( ostream &c, Date d ) {$/
-operator =     cp-src/MDiagArray2.h    /^  MDiagArray2<T>& operator = (const MDiagArray2<T>/
-operator =     cp-src/functions.cpp    /^Date & Date::operator = ( Date d ){$/
-operator ==    cp-src/functions.cpp    /^int Date::operator == ( Date d ) {$/
-operator >     cp-src/functions.cpp    /^int Date::operator > ( Date d ) {$/
-operator >>    cp-src/functions.cpp    /^istream& operator >> ( istream &i, Date & dd ){$/
-operator MArray2<T>    cp-src/MDiagArray2.h    /^  operator MArray2<T> () const$/
-operator int   cp-src/c.C      /^void operator int(int, int) {}$/
-operator int   cp-src/fail.C   /^                         operator int() const {return x;}$/
-operator+      cp-src/c.C      /^  A operator+(A& a) {};$/
-operator+      cp-src/c.C      /^const A& A::operator+(const A&) { }$/
-operator+      cp-src/c.C      /^void operator+(int, int) {}$/
-opparsebody\Edefop\defopx\defopheader\defoptype        tex-src/texinfo.tex     /^\\defopparsebody\\Edefop\\defopx\\defopheader\\defoptyp/
-oprotocol      c-src/etags.c   2473
-option c-src/getopt.h  73
-optional_argument      c-src/getopt.h  91
-opvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype   tex-src/texinfo.tex     /^\\defopvarparsebody\\Edefcv\\defcvx\\defcvarheader\\def/
-ord_add_element        prol-src/ordsets.prolog /^ord_add_element([], Element, [Element]).$/
-ord_del_element        prol-src/ordsets.prolog /^ord_del_element([], _, []).$/
-ord_disjoint   prol-src/ordsets.prolog /^ord_disjoint(Set1, Set2) :-$/
-ord_intersect  prol-src/ordsets.prolog /^ord_intersect([Head1|Tail1], [Head2|Tail2]) :-$/
-ord_intersection       prol-src/ordsets.prolog /^ord_intersection(Sets, Intersection) :- $/
-ord_intersection       prol-src/ordsets.prolog /^ord_intersection([], Set2, [], Set2).$/
-ord_intersection       prol-src/ordsets.prolog /^ord_intersection([], _, []).$/
-ord_intersection2      prol-src/ordsets.prolog /^ord_intersection2(1, [Set|Sets], Set0, Sets0) :- !/
-ord_intersection3      prol-src/ordsets.prolog /^ord_intersection3(<, _, Set1, Head2, Tail2, Inters/
-ord_intersection4      prol-src/ordsets.prolog /^ord_intersection4(<, _, Set1, Head2, Tail2, Inters/
-ord_member     prol-src/ordsets.prolog /^ord_member(X, [E|Es]) :-$/
-ord_seteq      prol-src/ordsets.prolog /^ord_seteq(Set1, Set2) :-$/
-ord_setproduct prol-src/ordsets.prolog /^ord_setproduct([], _, []).$/
-ord_subset     prol-src/ordsets.prolog /^ord_subset([], _).$/
-ord_subtract   prol-src/ordsets.prolog /^ord_subtract(Set1, Set2, Union) :-$/
-ord_symdiff    prol-src/ordsets.prolog /^ord_symdiff([], Set2, Set2).$/
-ord_union      prol-src/ordsets.prolog /^ord_union(Set1, Set2, Union) :-$/
-ord_union      prol-src/ordsets.prolog /^ord_union([], Union) :- !, Union = [].$/
-ord_union4     prol-src/ordsets.prolog /^ord_union4(<, Head, Set1, Head2, Tail2, [Head|Unio/
-ord_union_all  prol-src/ordsets.prolog /^ord_union_all(1, [Set|Sets], Set, Sets) :- !.$/
-oss    html-src/softwarelibero.html    /^Il movimento open source$/
-otagseen       c-src/etags.c   2475
-outputTime     cp-src/c.C      9
-output_file    perl-src/htlmify-cystic 35
-output_files   perl-src/htlmify-cystic 32
-outputtable    html-src/algrthms.html  /^Output$/
-outsyn prol-src/natded.prolog  /^outsyn(['Any'],_).$/
-p      c-src/emacs/src/lisp.h  4673
-p      c-src/emacs/src/lisp.h  4679
-p.x    forth-src/test-forth.fth        /^  1 CELLS +FIELD p.x    \\ A single cell filed name/
-p.y    forth-src/test-forth.fth        /^  1 CELLS +FIELD p.y    \\ A single cell field name/
-p/f    ada-src/etags-test-for.ada      /^   function p pragma Import (C,$/
-p/f    ada-src/etags-test-for.ada      /^function p ("p");$/
-pD     c-src/emacs/src/lisp.h  165
-pD     c-src/emacs/src/lisp.h  167
-pD     c-src/emacs/src/lisp.h  169
-pD     c-src/emacs/src/lisp.h  171
-pI     c-src/emacs/src/lisp.h  106
-pI     c-src/emacs/src/lisp.h  94
-pI     c-src/emacs/src/lisp.h  99
-pMd    c-src/emacs/src/lisp.h  150
-pMd    c-src/emacs/src/lisp.h  155
-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   merc-src/accumulator.m  /^:- import_module pair.$/
-parent c-src/emacs/src/keyboard.c      8745
-parent c-src/emacs/src/lisp.h  1590
-parse  prol-src/natded.prolog  /^parse(Ws,Cat):-$/
-parseFromVars  php-src/lce_functions.php       /^      function parseFromVars($prefix)$/
-parse_c_expression     y-src/cccp.y    /^parse_c_expression (string)$/
-parse_cgi      prol-src/natded.prolog  /^parse_cgi(TokenList,KeyVals):-$/
-parse_error    y-src/parse.y   82
-parse_escape   y-src/cccp.y    /^parse_escape (string_ptr)$/
-parse_hash     y-src/parse.y   64
-parse_menu_item        c-src/emacs/src/keyboard.c      /^parse_menu_item (Lisp_Object item, int inmenubar)$/
-parse_modifiers        c-src/emacs/src/keyboard.c      /^parse_modifiers (Lisp_Object symbol)$/
-parse_modifiers_uncached       c-src/emacs/src/keyboard.c      /^parse_modifiers_uncached (Lisp_Object symbol, ptrd/
-parse_number   y-src/cccp.y    /^parse_number (olen)$/
-parse_return   y-src/parse.y   74
-parse_return_error     y-src/cccp.y    70
-parse_solitary_modifier        c-src/emacs/src/keyboard.c      /^parse_solitary_modifier (Lisp_Object symbol)$/
-parse_tool_bar_item    c-src/emacs/src/keyboard.c      /^parse_tool_bar_item (Lisp_Object key, Lisp_Object /
-parse_tree     merc-src/accumulator.m  /^:- import_module parse_tree.$/
-pat    c-src/etags.c   262
-pattern        c-src/etags.c   260
-pdlcount       c-src/emacs/src/lisp.h  3046
-pending-delete-mode    el-src/TAGTEST.EL       /^(defalias 'pending-delete-mode 'delete-selection-m/
-pending_funcalls       c-src/emacs/src/keyboard.c      4377
-pending_signals        c-src/emacs/src/keyboard.c      80
-pfatal c-src/etags.c   /^pfatal (const char *s1)$/
-pfdset c-src/h.h       57
-pfnote c-src/etags.c   /^pfnote (char *name, bool is_func, char *linestart,/
-pinned c-src/emacs/src/lisp.h  679
-plain_C_entries        c-src/etags.c   /^plain_C_entries (FILE *inf)$/
-plain_C_suffixes       c-src/etags.c   643
-plainc c-src/etags.c   2934
-plist  c-src/emacs/src/lisp.h  2040
-plist  c-src/emacs/src/lisp.h  697
-plus   cp-src/functions.cpp    /^void Date::plus ( int days , int month , int year /
-plus   go-src/test1.go 5
-plusvalseq     prol-src/natded.prolog  /^plusvalseq([]) --> [].$/
-point  forth-src/test-forth.fth        /^BEGIN-STRUCTURE point \\ create the named structure/
-pointer        c-src/emacs/src/lisp.h  2125
-poll_for_input c-src/emacs/src/keyboard.c      /^poll_for_input (struct atimer *timer)$/
-poll_for_input_1       c-src/emacs/src/keyboard.c      /^poll_for_input_1 (void)$/
-poll_suppress_count    c-src/emacs/src/keyboard.c      1908
-poll_suppress_count    c-src/emacs/src/lisp.h  3047
-poll_timer     c-src/emacs/src/keyboard.c      1915
-pop-tag-mark   el-src/emacs/lisp/progmodes/etags.el    /^(defalias 'pop-tag-mark 'xref-pop-marker-stack)$/
-pop_kboard     c-src/emacs/src/keyboard.c      /^pop_kboard (void)$/
-popclass_above c-src/etags.c   /^popclass_above (int bracelev)$/
-position_to_Time       c-src/emacs/src/keyboard.c      /^position_to_Time (ptrdiff_t pos)$/
-posix_memalign c-src/emacs/src/gmalloc.c       /^posix_memalign (void **memptr, size_t alignment, s/
-posn-at-point  c-src/emacs/src/keyboard.c      /^DEFUN ("posn-at-point", Fposn_at_point, Sposn_at_p/
-posn-at-x-y    c-src/emacs/src/keyboard.c      /^DEFUN ("posn-at-x-y", Fposn_at_x_y, Sposn_at_x_y, /
-possible_sum_sign      y-src/cccp.y    /^#define possible_sum_sign(a, b, sum) ((((a) ^ (b))/
-post   pyt-src/server.py       /^    def post(self):$/
-pot_etags_version      c-src/etags.c   81
-pp1    c-src/dostorture.c      /^int pp1($/
-pp1    c-src/torture.c /^int pp1($/
-pp2    c-src/dostorture.c      /^pp2$/
-pp2    c-src/torture.c /^pp2$/
-pp3    c-src/dostorture.c      /^pp3(int bar)$/
-pp3    c-src/torture.c /^pp3(int bar)$/
-pp_bas_cat     prol-src/natded.prolog  /^pp_bas_cat(Cat):-$/
-pp_cat prol-src/natded.prolog  /^pp_cat(Syn:Sem):-$/
-pp_exp prol-src/natded.prolog  /^pp_exp('NIL'):-$/
-pp_exps        prol-src/natded.prolog  /^pp_exps([]).$/
-pp_html_fitch_tree     prol-src/natded.prolog  /^pp_html_fitch_tree(tree(der,Root,[ders(Words)]),M,/
-pp_html_table_fitch_tree       prol-src/natded.prolog  /^pp_html_table_fitch_tree(T):-$/
-pp_html_table_tree     prol-src/natded.prolog  /^pp_html_table_tree(T):-$/
-pp_html_tree   prol-src/natded.prolog  /^pp_html_tree(ass(Syn,V,'$VAR'(N))):-$/
-pp_html_trees  prol-src/natded.prolog  /^pp_html_trees([T|Ts],N,M):-$/
-pp_lam prol-src/natded.prolog  /^pp_lam(Var^Alpha):-$/
-pp_lam_bracket prol-src/natded.prolog  /^pp_lam_bracket(A^B):-$/
-pp_lam_paren   prol-src/natded.prolog  /^pp_lam_paren(Var^Alpha):-$/
-pp_paren       prol-src/natded.prolog  /^pp_paren(C):-$/
-pp_rule        prol-src/natded.prolog  /^pp_rule(fe):-write('\/E').$/
-pp_syn prol-src/natded.prolog  /^pp_syn(A\/B):-$/
-pp_syn_back    prol-src/natded.prolog  /^pp_syn_back(A\/B):-$/
-pp_syn_paren   prol-src/natded.prolog  /^pp_syn_paren(A\/B):-$/
-pp_tree        prol-src/natded.prolog  /^pp_tree(T):-$/
-pp_trees       prol-src/natded.prolog  /^pp_trees([T|Ts],Column):-$/
-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
-prev   c-src/emacs/src/gmalloc.c       165
-prev   c-src/emacs/src/gmalloc.c       189
-prev   c-src/emacs/src/lisp.h  2191
-prev   c.c     175
-printClassification    php-src/lce_functions.php       /^      function printClassification()$/
-print_help     c-src/etags.c   /^print_help (argument *argbuffer)$/
-print_language_names   c-src/etags.c   /^print_language_names (void)$/
-print_version  c-src/etags.c   /^print_version (void)$/
-printmax_t     c-src/emacs/src/lisp.h  148
-printmax_t     c-src/emacs/src/lisp.h  153
-proc   c-src/h.h       87
-process_file   c-src/etags.c   /^process_file (FILE *fh, char *fn, language *lang)$/
-process_file_name      c-src/etags.c   /^process_file_name (char *file, language *lang)$/
-process_pending_signals        c-src/emacs/src/keyboard.c      /^process_pending_signals (void)$/
-process_special_events c-src/emacs/src/keyboard.c      /^process_special_events (void)$/
-process_tool_bar_item  c-src/emacs/src/keyboard.c      /^process_tool_bar_item (Lisp_Object key, Lisp_Objec/
-prof   make-src/Makefile       /^prof: ETAGS$/
-prolog_atom    c-src/etags.c   /^prolog_atom (char *s, size_t pos)$/
-prolog_pr      c-src/etags.c   /^prolog_pr (char *s, char *last)$/
-prolog_skip_comment    c-src/etags.c   /^prolog_skip_comment (linebuffer *plb, FILE *inf)$/
-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$/
-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
-quantizing     html-src/algrthms.html  /^Quantizing the Received$/
-questo ../c/c.web      34
-quiettest      make-src/Makefile       /^quiettest:$/
-quit_char      c-src/emacs/src/keyboard.c      192
-quit_throw_to_read_char        c-src/emacs/src/keyboard.c      /^quit_throw_to_read_char (bool from_signal)$/
-qux    ruby-src/test1.ru       /^    alias_method :qux, :tee, attr_accessor(:bogus)/
-qux1   ruby-src/test1.ru       /^                :qux1)$/
-qux=   ruby-src/test1.ru       /^      def qux=(tee)$/
-r0     c-src/sysdep.h  54
-r1     c-src/sysdep.h  55
-r_alloc        c-src/emacs/src/lisp.h  /^extern void *r_alloc (void **, size_t) ATTRIBUTE_A/
-range_exp      y-src/parse.y   269
-range_exp_list y-src/parse.y   273
-raw_keybuf     c-src/emacs/src/keyboard.c      116
-raw_keybuf_count       c-src/emacs/src/keyboard.c      117
-rbtp   c.c     240
-re_iswctype    c-src/emacs/src/regex.h 602
-re_nsub        c-src/emacs/src/regex.h 364
-re_pattern_buffer      c-src/emacs/src/regex.h 335
-re_pattern_buffer      c-src/h.h       119
-re_registers   c-src/emacs/src/regex.h 428
-re_wchar_t     c-src/emacs/src/regex.h 600
-re_wchar_t     c-src/emacs/src/regex.h 623
-re_wctype      c-src/emacs/src/regex.h 601
-re_wctype_t    c-src/emacs/src/regex.h 599
-re_wctype_t    c-src/emacs/src/regex.h 618
-re_wctype_to_bit       c-src/emacs/src/regex.h /^# define re_wctype_to_bit(cc) 0$/
-read   cp-src/conway.hpp       /^    char read() { return alive; }$/
-read   php-src/lce_functions.php       /^      function read()$/
-read-key-sequence      c-src/emacs/src/keyboard.c      /^DEFUN ("read-key-sequence", Fread_key_sequence, Sr/
-read-key-sequence-vector       c-src/emacs/src/keyboard.c      /^DEFUN ("read-key-sequence-vector", Fread_key_seque/
-read1  ruby-src/test1.ru       /^    attr_reader :read1 , :read2; attr_writer :writ/
-read2  ruby-src/test1.ru       /^    attr_reader :read1 , :read2; attr_writer :writ/
-read_char      c-src/emacs/src/keyboard.c      /^read_char (int commandflag, Lisp_Object map,$/
-read_char_help_form_unwind     c-src/emacs/src/keyboard.c      /^read_char_help_form_unwind (void)$/
-read_char_minibuf_menu_prompt  c-src/emacs/src/keyboard.c      /^read_char_minibuf_menu_prompt (int commandflag,$/
-read_char_x_menu_prompt        c-src/emacs/src/keyboard.c      /^read_char_x_menu_prompt (Lisp_Object map,$/
-read_decoded_event_from_main_queue     c-src/emacs/src/keyboard.c      /^read_decoded_event_from_main_queue (struct timespe/
-read_event_from_main_queue     c-src/emacs/src/keyboard.c      /^read_event_from_main_queue (struct timespec *end_t/
-read_key_sequence      c-src/emacs/src/keyboard.c      /^read_key_sequence (Lisp_Object *keybuf, int bufsiz/
-read_key_sequence_cmd  c-src/emacs/src/keyboard.c      232
-read_key_sequence_remapped     c-src/emacs/src/keyboard.c      233
-read_key_sequence_vs   c-src/emacs/src/keyboard.c      /^read_key_sequence_vs (Lisp_Object prompt, Lisp_Obj/
-read_menu_command      c-src/emacs/src/keyboard.c      /^read_menu_command (void)$/
-read_toc       perl-src/htlmify-cystic /^sub read_toc ()$/
-readable_events        c-src/emacs/src/keyboard.c      /^readable_events (int flags)$/
-readline       c-src/etags.c   /^readline (linebuffer *lbp, FILE *stream)$/
-readline_internal      c-src/etags.c   /^readline_internal (linebuffer *lbp, register FILE /
-realloc        c-src/emacs/src/gmalloc.c       /^realloc (void *ptr, size_t size)$/
-realloc        c-src/emacs/src/gmalloc.c       1716
-realloc        c-src/emacs/src/gmalloc.c       65
-realloc        c-src/emacs/src/gmalloc.c       69
-reallochook    c-src/emacs/src/gmalloc.c       /^reallochook (void *ptr, size_t size)$/
-recent-keys    c-src/emacs/src/keyboard.c      /^DEFUN ("recent-keys", Frecent_keys, Srecent_keys, /
-recent_keys    c-src/emacs/src/keyboard.c      100
-recent_keys_index      c-src/emacs/src/keyboard.c      94
-record_asynch_buffer_change    c-src/emacs/src/keyboard.c      /^record_asynch_buffer_change (void)$/
-record_auto_save       c-src/emacs/src/keyboard.c      /^record_auto_save (void)$/
-record_char    c-src/emacs/src/keyboard.c      /^record_char (Lisp_Object c)$/
-record_menu_key        c-src/emacs/src/keyboard.c      /^record_menu_key (Lisp_Object c)$/
-record_single_kboard_state     c-src/emacs/src/keyboard.c      /^record_single_kboard_state ()$/
-record_xmalloc c-src/emacs/src/lisp.h  /^extern void *record_xmalloc (size_t) ATTRIBUTE_ALL/
-recover_top_level_message      c-src/emacs/src/keyboard.c      138
-recursion-depth        c-src/emacs/src/keyboard.c      /^DEFUN ("recursion-depth", Frecursion_depth, Srecur/
-recursive-edit c-src/emacs/src/keyboard.c      /^DEFUN ("recursive-edit", Frecursive_edit, Srecursi/
-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)$/
-redirect       c-src/emacs/src/lisp.h  663
-reduce prol-src/natded.prolog  /^reduce((X^M)@N,L):-     % beta reduction$/
-reduce_subterm prol-src/natded.prolog  /^reduce_subterm(M,M2):-$/
-refreshPort    pyt-src/server.py       /^    def refreshPort(self):$/
-reg_errcode_t  c-src/emacs/src/regex.h 323
-reg_errcode_t  c.c     279
-reg_syntax_t   c-src/emacs/src/regex.h 43
-regex  c-src/etags.c   219
-regex.o        make-src/Makefile       /^regex.o: emacs\/src\/regex.c$/
-regex_t        c-src/emacs/src/regex.h 416
-regex_tag_multiline    c-src/etags.c   /^regex_tag_multiline (void)$/
-regexfile      make-src/Makefile       /^regexfile: Makefile$/
-regexp c-src/etags.c   256
-regexp c-src/etags.c   268
-registerAction objcpp-src/SimpleCalc.M /^- registerAction:(SEL)action$/
-register_heapinfo      c-src/emacs/src/gmalloc.c       /^register_heapinfo (void)$/
-regmatch_t     c-src/emacs/src/regex.h 451
-regoff_t       c-src/emacs/src/regex.h 423
-regs   c-src/etags.c   263
-regs   cp-src/screen.cpp       16
-regs_allocated c-src/emacs/src/regex.h 379
-regset c-src/h.h       31
-regular_top_level_message      c-src/emacs/src/keyboard.c      143
-rehash_size    c-src/emacs/src/lisp.h  1835
-rehash_threshold       c-src/emacs/src/lisp.h  1839
-relative_filename      c-src/etags.c   /^relative_filename (char *file, char *dir)$/
-release distrib        make-src/Makefile       /^release distrib: web$/
-removeexp      prol-src/natded.prolog  /^removeexp(E,E,'NIL'):-!.$/
-reorder_modifiers      c-src/emacs/src/keyboard.c      /^reorder_modifiers (Lisp_Object symbol)$/
-request        c.c     /^request request (a, b)$/
-requeued_events_pending_p      c-src/emacs/src/keyboard.c      /^requeued_events_pending_p (void)$/
-require        merc-src/accumulator.m  /^:- import_module require.$/
-required_argument      c-src/getopt.h  90
-reset-this-command-lengths     c-src/emacs/src/keyboard.c      /^DEFUN ("reset-this-command-lengths", Freset_this_c/
-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        prol-src/natded.prolog  /^reverse([],Ws,Ws).$/
-revert objc-src/PackInsp.m     /^-revert:sender$/
-right  c-src/etags.c   216
-right_shift    y-src/cccp.y    /^right_shift (a, b)$/
-ring1  c.c     241
-ring2  c.c     242
-rm_eo  c-src/emacs/src/regex.h 450
-rm_so  c-src/emacs/src/regex.h 449
-rng_base       cp-src/Range.h  79
-rng_inc        cp-src/Range.h  81
-rng_limit      cp-src/Range.h  80
-rng_nelem      cp-src/Range.h  83
-rosso  cp-src/c.C      40
-rsyncfromfly   make-src/Makefile       /^rsyncfromfly:$/
-rsynctofly     make-src/Makefile       /^rsynctofly:$/
-rtint  c-src/h.h       60
-rtint  c-src/h.h       68
-rtstr  c-src/h.h       61
-rtstr  c-src/h.h       69
-rtunion_def    c-src/h.h       58
-rtunion_def    c-src/h.h       64
-rtx    c-src/h.h       62
-rtxnp  c-src/h.h       71
-rtxp   c-src/h.h       70
-s      c-src/emacs/src/lisp.h  4672
-s      c-src/emacs/src/lisp.h  4678
-s1     cp-src/c.C      32
-s2     cp-src/c.C      35
-safe_run_hook_funcall  c-src/emacs/src/keyboard.c      /^safe_run_hook_funcall (ptrdiff_t nargs, Lisp_Objec/
-safe_run_hooks c-src/emacs/src/keyboard.c      /^safe_run_hooks (Lisp_Object hook)$/
-safe_run_hooks_1       c-src/emacs/src/keyboard.c      /^safe_run_hooks_1 (ptrdiff_t nargs, Lisp_Object *ar/
-safe_run_hooks_error   c-src/emacs/src/keyboard.c      /^safe_run_hooks_error (Lisp_Object error, ptrdiff_t/
-save   pyt-src/server.py       /^    def save(self):$/
-save_getcjmp   c-src/emacs/src/keyboard.c      /^save_getcjmp (sys_jmp_buf temp)$/
-save_type      c-src/emacs/src/lisp.h  /^save_type (struct Lisp_Save_Value *v, int n)$/
-savenstr       c-src/etags.c   /^savenstr (const char *cp, int len)$/
-savestr        c-src/etags.c   /^savestr (const char *cp)$/
-say    go-src/test.go  /^func say(msg string) {$/
-scan_separators        c-src/etags.c   /^scan_separators (char *name)$/
-scolonseen     c-src/etags.c   2447
-scratch        c-src/sysdep.h  56
-scroll_bar_parts       c-src/emacs/src/keyboard.c      5189
-sec=\relax     tex-src/texinfo.tex     /^\\let\\appendixsec=\\relax$/
-section        perl-src/htlmify-cystic 25
-section=\relax tex-src/texinfo.tex     /^\\let\\appendixsection=\\relax$/
-section_href   perl-src/htlmify-cystic /^sub section_href ($)$/
-section_name   perl-src/htlmify-cystic /^sub section_name ($)$/
-section_name   perl-src/htlmify-cystic 12
-section_toc    perl-src/htlmify-cystic 15
-section_url    perl-src/htlmify-cystic /^sub section_url ()$/
-section_url_base       perl-src/htlmify-cystic /^sub section_url_base ()$/
-section_url_name       perl-src/htlmify-cystic /^sub section_url_name ()$/
-select prol-src/natded.prolog  /^select(X,[X|Xs],Xs).$/
-select-tags-table      el-src/emacs/lisp/progmodes/etags.el    /^(defun select-tags-table ()$/
-select-tags-table-mode el-src/emacs/lisp/progmodes/etags.el    /^(define-derived-mode select-tags-table-mode specia/
-select-tags-table-mode-map     el-src/emacs/lisp/progmodes/etags.el    /^(defvar select-tags-table-mode-map ; Doc string?$/
-select-tags-table-quit el-src/emacs/lisp/progmodes/etags.el    /^(defun select-tags-table-quit ()$/
-select-tags-table-select       el-src/emacs/lisp/progmodes/etags.el    /^(defun select-tags-table-select (button)$/
-select_last    prol-src/natded.prolog  /^select_last([X],X,[]).$/
-send   objc-src/Subprocess.m   /^- send:(const char *)string withNewline:(BOOL)want/
-send   objc-src/Subprocess.m   /^- send:(const char *)string$/
-separator_names        c-src/emacs/src/keyboard.c      7372
-serializeToVars        php-src/lce_functions.php       /^      function serializeToVars($prefix)$/
-set    cp-src/conway.hpp       /^    void set(void) { alive = 1; }$/
-set    merc-src/accumulator.m  /^:- import_module set.$/
-set-input-interrupt-mode       c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-interrupt-mode", Fset_input_inte/
-set-input-meta-mode    c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-meta-mode", Fset_input_meta_mode/
-set-input-mode c-src/emacs/src/keyboard.c      /^DEFUN ("set-input-mode", Fset_input_mode, Sset_inp/
-set-output-flow-control        c-src/emacs/src/keyboard.c      /^DEFUN ("set-output-flow-control", Fset_output_flow/
-set-quit-char  c-src/emacs/src/keyboard.c      /^DEFUN ("set-quit-char", Fset_quit_char, Sset_quit_/
-setDate        cp-src/functions.cpp    /^void Date::setDate ( int d , int m , int y ){$/
-setDelegate    objc-src/Subprocess.m   /^- setDelegate:anObject$/
-setRevertButtonTitle   objc-src/PackInsp.m     /^-setRevertButtonTitle$/
-set_base       cp-src/Range.h  /^  void set_base (double b) { rng_base = b;  }$/
-set_char_table_contents        c-src/emacs/src/lisp.h  /^set_char_table_contents (Lisp_Object table, ptrdif/
-set_char_table_defalt  c-src/emacs/src/lisp.h  /^set_char_table_defalt (Lisp_Object table, Lisp_Obj/
-set_char_table_extras  c-src/emacs/src/lisp.h  /^set_char_table_extras (Lisp_Object table, ptrdiff_/
-set_char_table_purpose c-src/emacs/src/lisp.h  /^set_char_table_purpose (Lisp_Object table, Lisp_Ob/
-set_hash_key_slot      c-src/emacs/src/lisp.h  /^set_hash_key_slot (struct Lisp_Hash_Table *h, ptrd/
-set_hash_value_slot    c-src/emacs/src/lisp.h  /^set_hash_value_slot (struct Lisp_Hash_Table *h, pt/
-set_inc        cp-src/Range.h  /^  void set_inc (double i) { rng_inc = i;   }$/
-set_limit      cp-src/Range.h  /^  void set_limit (double l) { rng_limit = l; }$/
-set_overlay_plist      c-src/emacs/src/lisp.h  /^set_overlay_plist (Lisp_Object overlay, Lisp_Objec/
-set_poll_suppress_count        c-src/emacs/src/keyboard.c      /^set_poll_suppress_count (int count)$/
-set_prop       c-src/emacs/src/keyboard.c      /^set_prop (ptrdiff_t idx, Lisp_Object val)$/
-set_save_integer       c-src/emacs/src/lisp.h  /^set_save_integer (Lisp_Object obj, int n, ptrdiff_/
-set_save_pointer       c-src/emacs/src/lisp.h  /^set_save_pointer (Lisp_Object obj, int n, void *va/
-set_string_intervals   c-src/emacs/src/lisp.h  /^set_string_intervals (Lisp_Object s, INTERVAL i)$/
-set_sub_char_table_contents    c-src/emacs/src/lisp.h  /^set_sub_char_table_contents (Lisp_Object table, pt/
-set_symbol_function    c-src/emacs/src/lisp.h  /^set_symbol_function (Lisp_Object sym, Lisp_Object /
-set_symbol_next        c-src/emacs/src/lisp.h  /^set_symbol_next (Lisp_Object sym, struct Lisp_Symb/
-set_symbol_plist       c-src/emacs/src/lisp.h  /^set_symbol_plist (Lisp_Object sym, Lisp_Object pli/
-set_upto       merc-src/accumulator.m  /^:- func set_upto(accu_case, int) = set(accu_goal_i/
-set_waiting_for_input  c-src/emacs/src/keyboard.c      /^set_waiting_for_input (struct timespec *time_to_cl/
-setref tex-src/texinfo.tex     /^\\expandafter\\expandafter\\expandafter\\appendixsetre/
-setup  cp-src/c.C      5
-shift  cp-src/functions.cpp    /^void Date::shift ( void ){\/\/Shift this date to pre/
-shouldLoad     objc-src/PackInsp.m     /^-(BOOL)shouldLoad$/
-should_attempt_accu_transform  merc-src/accumulator.m  /^:- pred should_attempt_accu_transform(module_info:/
-should_attempt_accu_transform_2        merc-src/accumulator.m  /^:- pred should_attempt_accu_transform_2(module_inf/
-should_see_this_array_type     cp-src/c.C      156
-should_see_this_function_pointer       cp-src/c.C      153
-should_see_this_one_enclosed_in_extern_C       cp-src/c.C      149
-show   erl-src/gs_dialog.erl   /^show(Module, Title, Message, Args) ->$/
-showError      objc-src/Subprocess.m   /^showError (const char *errorString, id theDelegate/
-showInfo       objc-src/PackInsp.m     /^-showInfo:sender$/
-show_help_echo c-src/emacs/src/keyboard.c      /^show_help_echo (Lisp_Object help, Lisp_Object wind/
-sig    c-src/emacs/src/keyboard.c      7238
-signal_handler c-src/h.h       82
-signal_handler1        c-src/h.h       83
-signal_handler_t       c-src/h.h       94
-simulation     html-src/software.html  /^Software that I wrote for supporting my research a/
-single_kboard  c-src/emacs/src/keyboard.c      89
-single_kboard_state    c-src/emacs/src/keyboard.c      /^single_kboard_state ()$/
-site   cp-src/conway.hpp       /^    site(int xi, int yi): x(xi), y(yi), alive(0) {/
-site   cp-src/conway.hpp       5
-size   c-src/emacs/src/gmalloc.c       156
-size   c-src/emacs/src/gmalloc.c       163
-size   c-src/emacs/src/gmalloc.c       1862
-size   c-src/emacs/src/lisp.h  1364
-size   c-src/emacs/src/lisp.h  1390
-size   c-src/etags.c   236
-size   c-src/etags.c   2522
-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)$/
-snarf-tag-function     el-src/emacs/lisp/progmodes/etags.el    /^(defvar snarf-tag-function nil$/
-snone  c-src/etags.c   2443
-solutions      merc-src/accumulator.m  /^:- import_module solutions.$/
-some_mouse_moved       c-src/emacs/src/keyboard.c      /^some_mouse_moved (void)$/
-space  tex-src/texinfo.tex     /^    {#2\\labelspace #1}\\dotfill\\doshortpageno{#3}}%/
-space  tex-src/texinfo.tex     /^  \\dosubsubsecentry{#2.#3.#4.#5\\labelspace#1}{#6}}/
-spacer c-src/emacs/src/lisp.h  1975
-spacer c-src/emacs/src/lisp.h  1982
-spacer c-src/emacs/src/lisp.h  2036
-spacer c-src/emacs/src/lisp.h  2205
-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):-$/
-splitexp       prol-src/natded.prolog  /^splitexp(E,E,('NIL','NIL')):-!.$/
-srclist        make-src/Makefile       /^srclist: Makefile$/
-ss3    c.c     255
-sss1   c.c     252
-sss2   c.c     253
-sstab  prol-src/natded.prolog  /^sstab(2,'C',',').$/
-st_C_attribute c-src/etags.c   2209
-st_C_class     c-src/etags.c   2212
-st_C_define    c-src/etags.c   2213
-st_C_enum      c-src/etags.c   2213
-st_C_extern    c-src/etags.c   2213
-st_C_gnumacro  c-src/etags.c   2208
-st_C_ignore    c-src/etags.c   2209
-st_C_javastruct        c-src/etags.c   2210
-st_C_objend    c-src/etags.c   2207
-st_C_objimpl   c-src/etags.c   2207
-st_C_objprot   c-src/etags.c   2207
-st_C_operator  c-src/etags.c   2211
-st_C_struct    c-src/etags.c   2213
-st_C_template  c-src/etags.c   2212
-st_C_typedef   c-src/etags.c   2213
-st_none        c-src/etags.c   2206
-stack  c.c     155
-stagseen       c-src/etags.c   2446
-standalone     make-src/Makefile       /^standalone:$/
-start  c-src/emacs/src/keyboard.c      8753
-start  c-src/emacs/src/lisp.h  2038
-start  c-src/emacs/src/regex.h 431
-start  php-src/lce_functions.php       /^      function start($line, $class)$/
-start  y-src/cccp.y    143
-start_polling  c-src/emacs/src/keyboard.c      /^start_polling (void)$/
-start_up       prol-src/natded.prolog  /^start_up:-$/
-state_protected_p      c-src/emacs/src/gmalloc.c       400
-statetable     html-src/algrthms.html  /^Next$/
-staticetags    make-src/Makefile       /^staticetags:$/
-step   cp-src/clheir.hpp       /^    virtual void step(void) { }$/
-step   cp-src/conway.hpp       /^    void step(void) { alive = next_alive; }$/
-step_everybody cp-src/clheir.cpp       /^void step_everybody(void)$/
-stop_polling   c-src/emacs/src/keyboard.c      /^stop_polling (void)$/
-store_info     merc-src/accumulator.m  /^:- type store_info$/
-store_user_signal_events       c-src/emacs/src/keyboard.c      /^store_user_signal_events (void)$/
-stored_goal_plain_call merc-src/accumulator.m  /^:- inst stored_goal_plain_call for goal_store.stor/
-str    go-src/test1.go 9
-strcaseeq      c-src/etags.c   /^#define strcaseeq(s,t)        (assert ((s)!=NULL && (t)!=/
-streq  c-src/etags.c   /^#define streq(s,t)    (assert ((s)!=NULL || (t)!=NULL/
-string merc-src/accumulator.m  /^:- import_module string.$/
-string_intervals       c-src/emacs/src/lisp.h  /^string_intervals (Lisp_Object s)$/
-stripLine      php-src/lce_functions.php       /^      function stripLine($line, $class)$/
-stripname      pas-src/common.pas      /^function stripname; (* ($/
-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)$/
-subprocess     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$/
-subsection     perl-src/htlmify-cystic 26
-subsection=\relax      tex-src/texinfo.tex     /^\\let\\appendixsubsection=\\relax$/
-subsection_marker      perl-src/htlmify-cystic 161
-subst  prol-src/natded.prolog  /^subst(var(Y),var(X),M,N):-$/
-substitute     c-src/etags.c   /^substitute (char *in, char *out, struct re_registe/
-subsubsec=\relax       tex-src/texinfo.tex     /^\\let\\appendixsubsubsec=\\relax$/
-subsubsection  perl-src/htlmify-cystic 27
-subsubsection=\relax   tex-src/texinfo.tex     /^\\let\\appendixsubsubsection=\\relax$/
-subtle ruby-src/test1.ru       /^                 :tee ; attr_reader :subtle$/
-subtree        prol-src/natded.prolog  /^subtree(T,T).$/
-suffix c-src/etags.c   186
-suffixes       c-src/etags.c   195
-suggest_asking_for_help        c-src/etags.c   /^suggest_asking_for_help (void)$/
-suspend-emacs  c-src/emacs/src/keyboard.c      /^DEFUN ("suspend-emacs", Fsuspend_emacs, Ssuspend_e/
-sval   y-src/cccp.y    116
-swallow_events c-src/emacs/src/keyboard.c      /^swallow_events (bool do_display)$/
-switch_line_buffers    c-src/etags.c   /^#define switch_line_buffers() (curndx = 1 - curndx/
-sxhash_combine c-src/emacs/src/lisp.h  /^sxhash_combine (EMACS_UINT x, EMACS_UINT y)$/
-sym_type       c-src/etags.c   2204
-symbol c-src/emacs/src/lisp.h  2980
-symbol_interned        c-src/emacs/src/lisp.h  639
-symbol_name    c-src/emacs/src/lisp.h  1687
-symbol_redirect        c-src/emacs/src/lisp.h  646
-syms_of_abbrev c-src/abbrev.c  /^syms_of_abbrev ()$/
-syms_of_keyboard       c-src/emacs/src/keyboard.c      /^syms_of_keyboard (void)$/
-synchronize_system_messages_locale     c-src/emacs/src/lisp.h  /^INLINE void synchronize_system_messages_locale (vo/
-synchronize_system_time_locale c-src/emacs/src/lisp.h  /^INLINE void synchronize_system_time_locale (void) /
-syntax c-src/emacs/src/regex.h 350
-sys_jmp_buf    c-src/emacs/src/lisp.h  2906
-sys_jmp_buf    c-src/emacs/src/lisp.h  2910
-sys_jmp_buf    c-src/emacs/src/lisp.h  2916
-sys_longjmp    c-src/emacs/src/lisp.h  /^# define sys_longjmp(j, v) _longjmp (j, v)$/
-sys_longjmp    c-src/emacs/src/lisp.h  /^# define sys_longjmp(j, v) longjmp (j, v)$/
-sys_longjmp    c-src/emacs/src/lisp.h  /^# define sys_longjmp(j, v) siglongjmp (j, v)$/
-sys_setjmp     c-src/emacs/src/lisp.h  /^# define sys_setjmp(j) _setjmp (j)$/
-sys_setjmp     c-src/emacs/src/lisp.h  /^# define sys_setjmp(j) setjmp (j)$/
-sys_setjmp     c-src/emacs/src/lisp.h  /^# define sys_setjmp(j) sigsetjmp (j, 0)$/
-syscall_error  c-src/sysdep.h  34
-t      cp-src/c.C      52
-t1     cp-src/c.C      34
-t2     cp-src/c.C      38
-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)$/
-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)$/
-tag-file-name-match-p  el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-file-name-match-p (tag)$/
-tag-find-file-of-tag   el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-find-file-of-tag (file) ; Doc string?$/
-tag-find-file-of-tag-noselect  el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-find-file-of-tag-noselect (file)$/
-tag-implicit-name-match-p      el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-implicit-name-match-p (tag)$/
-tag-lines-already-matched      el-src/emacs/lisp/progmodes/etags.el    /^(defvar tag-lines-already-matched nil$/
-tag-partial-file-name-match-p  el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-partial-file-name-match-p (_tag)$/
-tag-re-match-p el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-re-match-p (re)$/
-tag-symbol-match-p     el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-symbol-match-p (tag)$/
-tag-word-match-p       el-src/emacs/lisp/progmodes/etags.el    /^(defun tag-word-match-p (tag)$/
-tag1   c-src/dostorture.c      /^(*tag1 (sig, handler)) ()$/
-tag1   c-src/h.h       110
-tag1   c-src/torture.c /^(*tag1 (sig, handler)) ()$/
-tag2   c-src/dostorture.c      /^(*tag2 (sig, handler)) ()$/
-tag2   c-src/torture.c /^(*tag2 (sig, handler)) ()$/
-tag3   c-src/dostorture.c      /^(*tag3 (int sig, void (*handler) (int))) (int)$/
-tag3   c-src/torture.c /^(*tag3 (int sig, void (*handler) (int))) (int)$/
-tag4   c-src/dostorture.c      /^(*tag4 (int sig, void (*handler) (int))) (int)$/
-tag4   c-src/torture.c /^(*tag4 (int sig, void (*handler) (int))) (int)$/
-tag5   c-src/dostorture.c      /^tag5 (handler, arg)$/
-tag5   c-src/torture.c /^tag5 (handler, arg)$/
-tag6   c-src/dostorture.c      /^tag6 (void (*handler) (void *), void *arg)$/
-tag6   c-src/torture.c /^tag6 (void (*handler) (void *), void *arg)$/
-tag_or_ch      c-src/emacs/src/lisp.h  3026
-taggedfname    c-src/etags.c   207
-tags   make-src/Makefile       /^tags: TAGS$/
-tags-add-tables        el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-add-tables 'ask-user$/
-tags-apropos   el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-apropos (regexp)$/
-tags-apropos-additional-actions        el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-apropos-additional-actions nil$/
-tags-apropos-function  el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-apropos-function nil$/
-tags-apropos-verbose   el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-apropos-verbose nil$/
-tags-case-fold-search  el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-case-fold-search 'default$/
-tags-complete-tags-table-file  el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-complete-tags-table-file (string predi/
-tags-completion-at-point-function      el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-completion-at-point-function ()$/
-tags-completion-table  el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-completion-table ()$/
-tags-completion-table  el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-completion-table nil$/
-tags-completion-table-function el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-completion-table-function nil$/
-tags-compression-info-list     el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-compression-info-list$/
-tags-expand-table-name el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-expand-table-name (file)$/
-tags-file-name el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-file-name nil$/
-tags-included-tables   el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-included-tables ()$/
-tags-included-tables   el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-included-tables nil$/
-tags-included-tables-function  el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-included-tables-function nil$/
-tags-lazy-completion-table     el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-lazy-completion-table ()$/
-tags-location-ring     el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-location-ring (make-ring xref-marker-/
-tags-loop-continue     el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-loop-continue (&optional first-time)$/
-tags-loop-eval el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-loop-eval (form)$/
-tags-loop-operate      el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-loop-operate nil$/
-tags-loop-revert-buffers       el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-loop-revert-buffers nil$/
-tags-loop-scan el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-loop-scan$/
-tags-next-table        el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-next-table ()$/
-tags-query-replace     el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-query-replace (from to &optional delim/
-tags-recognize-empty-tags-table        el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-recognize-empty-tags-table ()$/
-tags-reset-tags-tables el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-reset-tags-tables ()$/
-tags-revert-without-query      el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-revert-without-query nil$/
-tags-search    el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-search (regexp &optional file-list-for/
-tags-select-tags-table el-src/emacs/lisp/progmodes/etags.el    /^(define-button-type 'tags-select-tags-table$/
-tags-table-check-computed-list el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-check-computed-list ()$/
-tags-table-computed-list       el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-computed-list nil$/
-tags-table-computed-list-for   el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-computed-list-for nil$/
-tags-table-extend-computed-list        el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-extend-computed-list ()$/
-tags-table-files       el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-files ()$/
-tags-table-files       el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-files nil$/
-tags-table-files-function      el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-files-function nil$/
-tags-table-format-functions    el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-format-functions '(etags-recogn/
-tags-table-including   el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-including (this-file core-only)$/
-tags-table-list        el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-table-list nil$/
-tags-table-list-member el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-list-member (file list)$/
-tags-table-list-pointer        el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-list-pointer nil$/
-tags-table-list-started-at     el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-list-started-at nil$/
-tags-table-mode        el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-table-mode ()$/
-tags-table-set-list    el-src/emacs/lisp/progmodes/etags.el    /^(defvar tags-table-set-list nil$/
-tags-tag-face  el-src/emacs/lisp/progmodes/etags.el    /^(defcustom tags-tag-face 'default$/
-tags-verify-table      el-src/emacs/lisp/progmodes/etags.el    /^(defun tags-verify-table (file)$/
-tags-with-face el-src/emacs/lisp/progmodes/etags.el    /^(defmacro tags-with-face (face &rest body)$/
-target_multibyte       c-src/emacs/src/regex.h 407
-tcpdump        html-src/software.html  /^tcpdump$/
-teats  cp-src/c.C      127
-tee    ruby-src/test1.ru       /^    attr_accessor :tee$/
-tee=   ruby-src/test1.ru       /^    attr_accessor :tee$/
-temporarily_switch_to_single_kboard    c-src/emacs/src/keyboard.c      /^temporarily_switch_to_single_kboard (struct frame /
-tend   c-src/etags.c   2432
-term   merc-src/accumulator.m  /^:- import_module term.$/
-terminate      objc-src/Subprocess.m   /^- terminate:sender$/
-terminateInput objc-src/Subprocess.m   /^- terminateInput$/
-test   c-src/emacs/src/lisp.h  1871
-test   cp-src/c.C      86
-test   erl-src/gs_dialog.erl   /^test() ->$/
-test   go-src/test1.go /^func test(p plus) {$/
-test   make-src/Makefile       /^test:$/
-test   php-src/ptest.php       /^test $/
-test-begin     scm-src/test.scm        /^(define-syntax test-begin$/
-test.me22b     lua-src/test.lua        /^   local function test.me22b (one)$/
-test.me_22a    lua-src/test.lua        /^   function test.me_22a(one, two)$/
-test1  rs-src/test.rs  /^fn test1() {$/
-test_undefined c-src/emacs/src/keyboard.c      /^test_undefined (Lisp_Object binding)$/
-texttreelist   prol-src/natded.prolog  /^texttreelist([]).$/
-there-is-a-=-in-the-middle!    scm-src/test.scm        /^(define (there-is-a-=-in-the-middle!) #t)$/
-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/
-this-single-command-keys       c-src/emacs/src/keyboard.c      /^DEFUN ("this-single-command-keys", Fthis_single_co/
-this-single-command-raw-keys   c-src/emacs/src/keyboard.c      /^DEFUN ("this-single-command-raw-keys", Fthis_singl/
-this_command_key_count c-src/emacs/src/keyboard.c      108
-this_command_key_count_reset   c-src/emacs/src/keyboard.c      112
-this_command_keys      c-src/emacs/src/keyboard.c      107
-this_file_toc  perl-src/htlmify-cystic 29
-this_single_command_key_start  c-src/emacs/src/keyboard.c      125
-tignore        c-src/etags.c   2433
-timer_check    c-src/emacs/src/keyboard.c      /^timer_check (void)$/
-timer_check_2  c-src/emacs/src/keyboard.c      /^timer_check_2 (Lisp_Object timers, Lisp_Object idl/
-timer_idleness_start_time      c-src/emacs/src/keyboard.c      335
-timer_last_idleness_start_time c-src/emacs/src/keyboard.c      340
-timer_resume_idle      c-src/emacs/src/keyboard.c      /^timer_resume_idle (void)$/
-timer_start_idle       c-src/emacs/src/keyboard.c      /^timer_start_idle (void)$/
-timer_stop_idle        c-src/emacs/src/keyboard.c      /^timer_stop_idle (void)$/
-timers_run     c-src/emacs/src/keyboard.c      320
-tinbody        c-src/etags.c   2431
-tkeyseen       c-src/etags.c   2429
-tnone  c-src/etags.c   2428
-toc_line       perl-src/htlmify-cystic /^sub toc_line ($)$/
-toggleDescription      objc-src/PackInsp.m     /^-toggleDescription$/
-tok    c-src/etags.c   2491
-token  c-src/etags.c   2508
-token  y-src/cccp.y    437
-token  y-src/cccp.y    439
-tokenize       prol-src/natded.prolog  /^tokenize([C1,C2,C3|Cs],Xs-Ys,TsResult):-     % spe/
-tokenizeatom   prol-src/natded.prolog  /^tokenizeatom(Atom,Ws):-$/
-tokentab2      y-src/cccp.y    442
-tool_bar_item_properties       c-src/emacs/src/keyboard.c      7970
-tool_bar_items c-src/emacs/src/keyboard.c      /^tool_bar_items (Lisp_Object reuse, int *nitems)$/
-tool_bar_items_vector  c-src/emacs/src/keyboard.c      7965
-toolkit_menubar_in_use c-src/emacs/src/keyboard.c      /^toolkit_menubar_in_use (struct frame *f)$/
-top-level      c-src/emacs/src/keyboard.c      /^DEFUN ("top-level", Ftop_level, Stop_level, 0, 0, /
-top_level      merc-src/accumulator.m  /^:- type top_level$/
-top_level_1    c-src/emacs/src/keyboard.c      /^top_level_1 (Lisp_Object ignore)$/
-top_level_2    c-src/emacs/src/keyboard.c      /^top_level_2 (void)$/
-total_keys     c-src/emacs/src/keyboard.c      97
-total_size_of_entries  c-src/etags.c   /^total_size_of_entries (register node *np)$/
-total_surrounding      cp-src/conway.cpp       /^int site::total_surrounding(void)$/
-totally_unblock_input  c-src/emacs/src/keyboard.c      /^totally_unblock_input (void)$/
-tpcmd  c-src/h.h       15
-tpcmd  c-src/h.h       8
-track-mouse    c-src/emacs/src/keyboard.c      /^DEFUN ("internal--track-mouse", Ftrack_mouse, Stra/
-tracking_off   c-src/emacs/src/keyboard.c      /^tracking_off (Lisp_Object old_value)$/
-traffic_light  cp-src/conway.cpp       /^void traffic_light(int x, int y)$/
-translate      c-src/emacs/src/regex.h 361
-treats cp-src/c.C      131
-tt     prol-src/natded.prolog  /^tt:-$/
-tt=cmtt10      tex-src/texinfo.tex     /^\\font\\deftt=cmtt10 scaled \\magstep1$/
-tty_read_avail_input   c-src/emacs/src/keyboard.c      /^tty_read_avail_input (struct terminal *terminal,$/
-ttypeseen      c-src/etags.c   2430
-typdef c-src/etags.c   2434
-type   c-src/emacs/src/gmalloc.c       145
-type   c-src/emacs/src/lisp.h  1973
-type   c-src/emacs/src/lisp.h  1980
-type   c-src/emacs/src/lisp.h  2034
-type   c-src/emacs/src/lisp.h  2112
-type   c-src/emacs/src/lisp.h  2203
-type   c-src/emacs/src/lisp.h  2276
-type   c-src/emacs/src/lisp.h  2286
-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   c-src/etags.c   2271
-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$/
-typemargin     tex-src/texinfo.tex     /^\\rlap{\\rightline{{\\rm #2}\\hskip \\deftypemargin}}}%/
-u      c-src/emacs/src/lisp.h  2397
-u_any  c-src/emacs/src/lisp.h  2214
-u_boolfwd      c-src/emacs/src/lisp.h  2371
-u_buffer_objfwd        c-src/emacs/src/lisp.h  2373
-u_finalizer    c-src/emacs/src/lisp.h  2219
-u_free c-src/emacs/src/lisp.h  2215
-u_intfwd       c-src/emacs/src/lisp.h  2370
-u_kboard_objfwd        c-src/emacs/src/lisp.h  2374
-u_marker       c-src/emacs/src/lisp.h  2216
-u_objfwd       c-src/emacs/src/lisp.h  2372
-u_overlay      c-src/emacs/src/lisp.h  2217
-u_save_value   c-src/emacs/src/lisp.h  2218
-unargs tex-src/texinfo.tex     /^\\defunargs {#2}\\endgroup %$/
-unargs tex-src/texinfo.tex     /^\\defunargs {#3}\\endgroup %$/
-unblock_input  c-src/emacs/src/keyboard.c      /^unblock_input (void)$/
-unblock_input_to       c-src/emacs/src/keyboard.c      /^unblock_input_to (int level)$/
-unchar c-src/h.h       99
-unexpand-abbrev        c-src/abbrev.c  /^DEFUN ("unexpand-abbrev", Funexpand_abbrev, Sunexp/
-univ   merc-src/accumulator.m  /^:- import_module univ.$/
-unravel_univ   merc-src/accumulator.m  /^:- some [T] pred unravel_univ(univ::in, T::out) is/
-unread_switch_frame    c-src/emacs/src/keyboard.c      204
-unsignedp      y-src/cccp.y    112
-unwind c-src/emacs/src/lisp.h  2962
-unwind_int     c-src/emacs/src/lisp.h  2972
-unwind_ptr     c-src/emacs/src/lisp.h  2967
-unwind_void    c-src/emacs/src/lisp.h  2976
-update_accumulator_pred        merc-src/accumulator.m  /^:- pred update_accumulator_pred(pred_id::in, proc_/
-uprintmax_t    c-src/emacs/src/lisp.h  149
-uprintmax_t    c-src/emacs/src/lisp.h  154
-usage  perl-src/yagrip.pl      /^sub usage {$/
-usecharno      c-src/etags.c   210
-used   c-src/emacs/src/regex.h 347
-used_syntax    c-src/emacs/src/regex.h 398
-user_cmp_function      c-src/emacs/src/lisp.h  1814
-user_error     c-src/emacs/src/keyboard.c      /^user_error (const char *msg)$/
-user_hash_function     c-src/emacs/src/lisp.h  1811
-user_signal_info       c-src/emacs/src/keyboard.c      7235
-user_signals   c-src/emacs/src/keyboard.c      7250
-usfreelock_ptr/t       ada-src/etags-test-for.ada      /^   type usfreelock_ptr is access$/
-val    c-src/emacs/src/lisp.h  3027
-val    c-src/emacs/src/lisp.h  691
-val    c-src/getopt.h  84
-val    prol-src/natded.prolog  /^val(X) --> ['['], valseq(X), [']'].$/
-valcell        c-src/emacs/src/lisp.h  2357
-valid  c-src/etags.c   220
-valid  c-src/etags.c   2502
-validate       php-src/lce_functions.php       /^      function validate($value)$/
-valloc c-src/emacs/src/gmalloc.c       /^valloc (size_t size)$/
-valseq prol-src/natded.prolog  /^valseq([Val|Vals]) --> val(Val), plusvalseq(Vals)./
-value  c-src/emacs/src/lisp.h  687
-value  y-src/cccp.y    112
-var    c-src/emacs/src/keyboard.c      11023
-var    c-src/emacs/src/lisp.h  3137
-varargs        tex-src/texinfo.tex     /^\\defvarargs {#2}\\endgroup %$/
-varargs        tex-src/texinfo.tex     /^\\defvarargs {#3}\\endgroup %$/
-varset merc-src/accumulator.m  /^:- import_module varset.$/
-vcopy  c-src/emacs/src/lisp.h  /^vcopy (Lisp_Object v, ptrdiff_t offset, Lisp_Objec/
-vectorlike_header      c-src/emacs/src/lisp.h  1343
-verde  cp-src/c.C      40
-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)$/
-vignore        c-src/etags.c   2417
-visit-tags-table       el-src/emacs/lisp/progmodes/etags.el    /^(defun visit-tags-table (file &optional local)$/
-visit-tags-table-buffer        el-src/emacs/lisp/progmodes/etags.el    /^(defun visit-tags-table-buffer (&optional cont)$/
-void   c-src/emacs/src/lisp.h  /^INLINE void (check_cons_list) (void) { lisp_h_chec/
-voidfuncptr    c-src/emacs/src/lisp.h  2108
-voidval        y-src/cccp.y    115
-wait_status_ptr_t      c.c     161
-waiting_for_input      c-src/emacs/src/keyboard.c      150
-warning        y-src/cccp.y    /^warning (msg)$/
-weak   c-src/emacs/src/lisp.h  1830
-weak_alias     c-src/emacs/src/gmalloc.c       /^weak_alias (free, cfree)$/
-web ftp publish        make-src/Makefile       /^web ftp publish:$/
-what   c-src/etags.c   252
-wheel_syms     c-src/emacs/src/keyboard.c      4628
-where  c-src/emacs/src/lisp.h  2348
-where  c-src/emacs/src/lisp.h  2980
-where  cp-src/clheir.hpp       77
-where_in_registry      cp-src/clheir.hpp       15
-windowWillClose        objcpp-src/SimpleCalc.M /^- windowWillClose:sender$/
-wipe_kboard    c-src/emacs/src/keyboard.c      /^wipe_kboard (KBOARD *kb)$/
-womboid        c-src/h.h       63
-womboid        c-src/h.h       75
-word_size      c-src/emacs/src/lisp.h  1473
-write  php-src/lce_functions.php       /^      function write($save="yes")$/
-write  php-src/lce_functions.php       /^      function write()$/
-write1=        ruby-src/test1.ru       /^    attr_reader :read1 , :read2; attr_writer :writ/
-write2=        ruby-src/test1.ru       /^    attr_reader :read1 , :read2; attr_writer :writ/
-write_abbrev   c-src/abbrev.c  /^write_abbrev (sym, stream)$/
-write_classname        c-src/etags.c   /^write_classname (linebuffer *cn, const char *quali/
-write_lex      prol-src/natded.prolog  /^write_lex(File):-$/
-write_lex_cat  prol-src/natded.prolog  /^write_lex_cat(File):-$/
-write_xyc      cp-src/screen.cpp       /^void write_xyc(int x, int y, char c)$/
-writebreak     prol-src/natded.prolog  /^writebreak([]).$/
-writebreaklex  prol-src/natded.prolog  /^writebreaklex([]).$/
-writecat       prol-src/natded.prolog  /^writecat(np(ind(sng),nm(_)),np,[],[]):-!.$/
-writelist      prol-src/natded.prolog  /^writelist([der(Ws)|Ws2]):-$/
-writelistsubs  prol-src/natded.prolog  /^writelistsubs([],X):-$/
-writenamestring        pas-src/common.pas      /^procedure writenamestring;(*($/
-writesubs      prol-src/natded.prolog  /^writesubs([]).$/
-writesups      prol-src/natded.prolog  /^writesups([]).$/
-written        c-src/etags.c   211
-x      c.c     153
-x      c.c     179
-x      c.c     188
-x      c.c     189
-x      cp-src/c.C      53
-x      cp-src/c.C      80
-x      cp-src/clheir.hpp       49
-x      cp-src/clheir.hpp       58
-x      cp-src/conway.hpp       7
-x      cp-src/fail.C   10
-x      cp-src/fail.C   44
-x      tex-src/texinfo.tex     /^\\refx{#1-snt}{} [\\printednodename], page\\tie\\refx{/
-x-get-selection-internal       c.c     /^       Fx_get_selection_internal, Sx_get_selection/
-x-get-selection-internal       c.c     /^DEFUN ("x-get-selection-internal", Fx_get_selectio/
-xcar_addr      c-src/emacs/src/lisp.h  /^xcar_addr (Lisp_Object c)$/
-xcdr_addr      c-src/emacs/src/lisp.h  /^xcdr_addr (Lisp_Object c)$/
-xdiff  make-src/Makefile       /^xdiff: ETAGS EXTAGS ${infiles}$/
-xmalloc        c-src/etags.c   /^xmalloc (size_t size)$/
-xnew   c-src/etags.c   /^#define xnew(n, Type)      ((Type *) xmalloc ((n) /
-xrealloc       c-src/etags.c   /^xrealloc (void *ptr, size_t size)$/
-xref-etags-location    el-src/emacs/lisp/progmodes/etags.el    /^(defclass xref-etags-location (xref-location)$/
-xref-location-line     el-src/emacs/lisp/progmodes/etags.el    /^(cl-defmethod xref-location-line ((l xref-etags-lo/
-xref-location-marker   el-src/emacs/lisp/progmodes/etags.el    /^(cl-defmethod xref-location-marker ((l xref-etags-/
-xref-make-etags-location       el-src/emacs/lisp/progmodes/etags.el    /^(defun xref-make-etags-location (tag-info file)$/
-xrnew  c-src/etags.c   /^#define xrnew(op, n, Type) ((op) = (Type *) xreall/
-xx     make-src/Makefile       /^xx="this line is here because of a fontlock bug$/
-xyz    ruby-src/test1.ru       /^    alias_method :xyz,$/
-y      cp-src/clheir.hpp       49
-y      cp-src/clheir.hpp       58
-y      cp-src/conway.hpp       7
-y-get-selection-internal       c.c     /^      Fy_get_selection_internal, Sy_get_selection_/
-yyalloc        /usr/share/bison/bison.simple   83
-yyalloc        /usr/share/bison/bison.simple   84
-yyclearin      /usr/share/bison/bison.simple   149
-yyclearin      /usr/share/bison/bison.simple   150
-yydebug        /usr/share/bison/bison.simple   237
-yydebug        /usr/share/bison/bison.simple   238
-yyerrhandle    /usr/share/bison/bison.simple   848
-yyerrlab1      /usr/share/bison/bison.simple   823
-yyerrok        /usr/share/bison/bison.simple   148
-yyerrok        /usr/share/bison/bison.simple   149
-yyerror        y-src/cccp.y    /^yyerror (s)$/
-yyerrstatus    /usr/share/bison/bison.simple   846
-yylex  y-src/cccp.y    /^yylex ()$/
-yyls   /usr/share/bison/bison.simple   88
-yyls   /usr/share/bison/bison.simple   89
-yylsp  /usr/share/bison/bison.simple   748
-yylsp  /usr/share/bison/bison.simple   921
-yymemcpy       /usr/share/bison/bison.simple   /^yymemcpy (char *yyto, const char *yyfrom, YYSIZE_T/
-yymemcpy       /usr/share/bison/bison.simple   264
-yymemcpy       /usr/share/bison/bison.simple   265
-yyn    /usr/share/bison/bison.simple   755
-yyn    /usr/share/bison/bison.simple   861
-yyn    /usr/share/bison/bison.simple   895
-yyn    /usr/share/bison/bison.simple   903
-yynewstate     /usr/share/bison/bison.simple   763
-yynewstate     /usr/share/bison/bison.simple   925
-yyparse        /usr/share/bison/bison.simple   /^yyparse (YYPARSE_PARAM_ARG)$/
-yyresult       /usr/share/bison/bison.simple   932
-yyresult       /usr/share/bison/bison.simple   939
-yyresult       /usr/share/bison/bison.simple   947
-yyreturn       /usr/share/bison/bison.simple   933
-yyreturn       /usr/share/bison/bison.simple   940
-yyss   /usr/share/bison/bison.simple   85
-yyss   /usr/share/bison/bison.simple   86
-yystate        /usr/share/bison/bison.simple   757
-yystate        /usr/share/bison/bison.simple   761
-yystate        /usr/share/bison/bison.simple   875
-yystate        /usr/share/bison/bison.simple   924
-yystpcpy       /usr/share/bison/bison.simple   /^yystpcpy (char *yydest, const char *yysrc)$/
-yystpcpy       /usr/share/bison/bison.simple   316
-yystpcpy       /usr/share/bison/bison.simple   317
-yystrlen       /usr/share/bison/bison.simple   /^yystrlen (const char *yystr)$/
-yystrlen       /usr/share/bison/bison.simple   293
-yystrlen       /usr/share/bison/bison.simple   294
-yyvs   /usr/share/bison/bison.simple   86
-yyvs   /usr/share/bison/bison.simple   87
-yyvsp  /usr/share/bison/bison.simple   746
-yyvsp  /usr/share/bison/bison.simple   919
-z      c.c     144
-z      c.c     164
-z      cp-src/clheir.hpp       49
-z      cp-src/clheir.hpp       58
-|      tex-src/texinfo.tex     /^\\def|{{\\tt \\char '174}}$/
-~      tex-src/texinfo.tex     /^\\def~{{\\tt \\char '176}}$/
-~A     cp-src/c.C      /^A::~A() {}$/
-~B     cp-src/c.C      /^    ~B() {};$/
-~MDiagArray2   cp-src/MDiagArray2.h    /^  ~MDiagArray2 (void) { }$/
-~generic_object        cp-src/clheir.cpp       /^generic_object::~generic_object(void)$/
diff --git a/test/manual/etags/ETAGS.good_1 b/test/manual/etags/ETAGS.good_1
deleted file mode 100644 (file)
index 4baaff4..0000000
+++ /dev/null
@@ -1,4343 +0,0 @@
-\f
-ada-src/etags-test-for.ada,1969
-   type LL_Task_Procedure_Access \7fLL_Task_Procedure_Access/t\ 11,0
-   function Body_Required\7fBody_Required/f\ 13,78
-   type Type_Specific_Data \7fType_Specific_Data/t\ 111,280
-   function "abs"\7fabs/f\ 119,504
-   type Barrier_Function_Pointer \7fBarrier_Function_Pointer/t\ 121,577
-   function "="\7f=/f\ 127,722
-   type usfreelock_ptr \7fusfreelock_ptr/t\ 130,803
-   function p \7fp/f\ 133,891
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 137,1054
-function p \7fp/f\ 139,1094
-package Pkg1 \7fPkg1/s\ 144,1203
-  type Private_T \7fPrivate_T/t\ 146,1220
-  package Inner1 \7fInner1/s\ 148,1250
-    procedure Private_T;\7fPrivate_T/p\ 149,1270
-  package Inner2 \7fInner2/s\ 152,1310
-    task Private_T;\7fPrivate_T/k\ 153,1330
-  type Public_T \7fPublic_T/t\ 156,1365
-  procedure Pkg1_Proc1;\7fPkg1_Proc1/p\ 162,1450
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 164,1475
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 166,1514
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 168,1553
-  package Pkg1_Pkg1 \7fPkg1_Pkg1/s\ 171,1622
-    procedure Pkg1_Pkg1_Proc1;\7fPkg1_Pkg1_Proc1/p\ 172,1645
-  task type Task_Type \7fTask_Type/k\ 175,1694
-  type Private_T \7fPrivate_T/t\ 182,1786
-package body Pkg1 \7fPkg1/b\ 189,1882
-  procedure Pkg1_Proc1 \7fPkg1_Proc1/p\ 191,1904
-  package body Inner1 \7fInner1/b\ 196,1956
-    procedure Private_T \7fPrivate_T/p\ 197,1981
-  package body Inner2 \7fInner2/b\ 1103,2054
-    task body Private_T \7fPrivate_T/b\ 1104,2079
-  task body Task_Type \7fTask_Type/b\ 1112,2181
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 1126,2367
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 1132,2445
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 1134,2496
-  package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1140,2596
-package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1146,2663
-  procedure Pkg1_Pkg1_Proc1 \7fPkg1_Pkg1_Proc1/p\ 1147,2689
-function  Pkg1_Func1 \7fPkg1_Func1/f\ 1155,2778
-package Truc \7fTruc/s\ 1162,2887
-package Truc.Bidule \7fTruc.Bidule/s\ 1166,2929
-  protected Bidule \7fBidule/t\ 1168,2953
-  protected type Machin_T \7fMachin_T/t\ 1172,3007
-package body Truc.Bidule \7fTruc.Bidule/b\ 1178,3087
-  protected body Bidule \7fBidule/b\ 1179,3115
-  protected Machin_T \7fMachin_T/t\ 1186,3207
-\f
-ada-src/2ataspri.adb,2190
-package body System.Task_Primitives \7fSystem.Task_Primitives/b\ 164,2603
-   package RTE \7fRTE/s\ 169,2712
-   package TSL \7fTSL/s\ 170,2759
-   function To_void_ptr \7fTo_void_ptr/f\ 186,3287
-   function To_TCB_Ptr \7fTo_TCB_Ptr/f\ 189,3366
-   function pthread_mutexattr_setprotocol\7fpthread_mutexattr_setprotocol/f\ 192,3444
-   function pthread_mutexattr_setprio_ceiling\7fpthread_mutexattr_setprio_ceiling/f\ 199,3728
-   procedure Abort_Wrapper\7fAbort_Wrapper/p\ 1115,4302
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 1122,4526
-   procedure Initialize_LL_Tasks \7fInitialize_LL_Tasks/p\ 1131,4830
-   function Self \7fSelf/f\ 1160,5586
-   procedure Initialize_Lock\7fInitialize_Lock/p\ 1174,5958
-   procedure Finalize_Lock \7fFinalize_Lock/p\ 1210,6927
-   procedure Write_Lock \7fWrite_Lock/p\ 1226,7338
-   procedure Read_Lock \7fRead_Lock/p\ 1239,7700
-   procedure Unlock \7fUnlock/p\ 1246,7850
-   procedure Initialize_Cond \7fInitialize_Cond/p\ 1258,8160
-   procedure Finalize_Cond \7fFinalize_Cond/p\ 1286,8979
-   procedure Cond_Wait \7fCond_Wait/p\ 1300,9303
-   procedure Cond_Timed_Wait\7fCond_Timed_Wait/p\ 1312,9661
-   procedure Cond_Signal \7fCond_Signal/p\ 1343,10510
-   procedure Set_Priority\7fSet_Priority/p\ 1355,10836
-   procedure Set_Own_Priority \7fSet_Own_Priority/p\ 1372,11243
-   function Get_Priority \7fGet_Priority/f\ 1385,11598
-   function Get_Own_Priority \7fGet_Own_Priority/f\ 1398,12023
-   procedure Create_LL_Task\7fCreate_LL_Task/p\ 1412,12438
-      function To_Start_Addr \7fTo_Start_Addr/f\ 1426,12873
-   procedure Exit_LL_Task \7fExit_LL_Task/p\ 1491,14995
-   procedure Abort_Task \7fAbort_Task/p\ 1500,15158
-   procedure Test_Abort \7fTest_Abort/p\ 1518,15716
-   procedure Install_Abort_Handler \7fInstall_Abort_Handler/p\ 1527,15878
-   procedure Abort_Wrapper\7fAbort_Wrapper/p\ 1557,16939
-      function Address_To_Call_State \7fAddress_To_Call_State/f\ 1562,17062
-   procedure Install_Error_Handler \7fInstall_Error_Handler/p\ 1573,17351
-   procedure LL_Assert \7fLL_Assert/p\ 1599,18146
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 1608,18299
-   procedure Initialize_TAS_Cell \7fInitialize_TAS_Cell/p\ 1630,19010
-   procedure Finalize_TAS_Cell \7fFinalize_TAS_Cell/p\ 1635,19129
-   procedure Clear \7fClear/p\ 1640,19236
-   procedure Test_And_Set \7fTest_And_Set/p\ 1645,19330
-   function  Is_Set \7fIs_Set/f\ 1659,19676
-\f
-ada-src/2ataspri.ads,2313
-package System.Task_Primitives \7fSystem.Task_Primitives/s\ 158,3169
-   type LL_Task_Procedure_Access \7fLL_Task_Procedure_Access/t\ 162,3253
-   type Pre_Call_State \7fPre_Call_State/t\ 164,3331
-   type Task_Storage_Size \7fTask_Storage_Size/t\ 166,3378
-   type Machine_Exceptions \7fMachine_Exceptions/t\ 168,3433
-   type Error_Information \7fError_Information/t\ 170,3499
-   type Lock \7fLock/t\ 172,3569
-   type Condition_Variable \7fCondition_Variable/t\ 173,3594
-   type Task_Control_Block \7fTask_Control_Block/t\ 181,3955
-   type TCB_Ptr \7fTCB_Ptr/t\ 189,4241
-   function Address_To_TCB_Ptr \7fAddress_To_TCB_Ptr/f\ 193,4333
-   procedure Initialize_LL_Tasks \7fInitialize_LL_Tasks/p\ 196,4425
-   function Self \7fSelf/f\ 1100,4602
-   procedure Initialize_Lock \7fInitialize_Lock/p\ 1103,4707
-   procedure Finalize_Lock \7fFinalize_Lock/p\ 1107,4879
-   procedure Write_Lock \7fWrite_Lock/p\ 1111,5034
-   procedure Read_Lock \7fRead_Lock/p\ 1118,5428
-   procedure Unlock \7fUnlock/p\ 1128,5995
-   procedure Initialize_Cond \7fInitialize_Cond/p\ 1135,6300
-   procedure Finalize_Cond \7fFinalize_Cond/p\ 1138,6413
-   procedure Cond_Wait \7fCond_Wait/p\ 1142,6591
-   procedure Cond_Timed_Wait\7fCond_Timed_Wait/p\ 1155,7396
-   procedure Cond_Signal \7fCond_Signal/p\ 1164,7812
-   procedure Set_Priority \7fSet_Priority/p\ 1169,8040
-   procedure Set_Own_Priority \7fSet_Own_Priority/p\ 1173,8200
-   function Get_Priority \7fGet_Priority/f\ 1177,8348
-   function Get_Own_Priority \7fGet_Own_Priority/f\ 1181,8504
-   procedure Create_LL_Task\7fCreate_LL_Task/p\ 1185,8647
-   procedure Exit_LL_Task;\7fExit_LL_Task/p\ 1198,9282
-   procedure Abort_Task \7fAbort_Task/p\ 1203,9516
-   procedure Test_Abort;\7fTest_Abort/p\ 1210,9878
-   type Abort_Handler_Pointer \7fAbort_Handler_Pointer/t\ 1217,10233
-   procedure Install_Abort_Handler \7fInstall_Abort_Handler/p\ 1219,10312
-   procedure Install_Error_Handler \7fInstall_Error_Handler/p\ 1226,10741
-   procedure LL_Assert \7fLL_Assert/p\ 1231,10983
-   type Proc \7fProc/t\ 1238,11240
-   type TAS_Cell \7fTAS_Cell/t\ 1242,11328
-   procedure Initialize_TAS_Cell \7fInitialize_TAS_Cell/p\ 1249,11670
-   procedure Finalize_TAS_Cell \7fFinalize_TAS_Cell/p\ 1255,11941
-   procedure Clear \7fClear/p\ 1260,12157
-   procedure Test_And_Set \7fTest_And_Set/p\ 1267,12462
-   function  Is_Set \7fIs_Set/f\ 1275,12877
-   type Lock \7fLock/t\ 1283,13155
-   type Condition_Variable \7fCondition_Variable/t\ 1288,13267
-   type TAS_Cell \7fTAS_Cell/t\ 1293,13389
-\f
-ada-src/waroquiers.ada,1503
-package Pkg1 \7fPkg1/s\ 13,89
-  type Private_T \7fPrivate_T/t\ 15,106
-  package Inner1 \7fInner1/s\ 17,136
-    procedure Private_T;\7fPrivate_T/p\ 18,156
-  package Inner2 \7fInner2/s\ 111,196
-    task Private_T;\7fPrivate_T/k\ 112,216
-  type Public_T \7fPublic_T/t\ 115,251
-  procedure Pkg1_Proc1;\7fPkg1_Proc1/p\ 121,336
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 123,361
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 125,400
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 127,439
-  package Pkg1_Pkg1 \7fPkg1_Pkg1/s\ 130,508
-    procedure Pkg1_Pkg1_Proc1;\7fPkg1_Pkg1_Proc1/p\ 131,531
-  task type Task_Type \7fTask_Type/k\ 134,580
-  type Private_T \7fPrivate_T/t\ 140,671
-package body Pkg1 \7fPkg1/b\ 146,766
-  procedure Pkg1_Proc1 \7fPkg1_Proc1/p\ 148,788
-  package body Inner1 \7fInner1/b\ 153,840
-    procedure Private_T \7fPrivate_T/p\ 154,865
-  package body Inner2 \7fInner2/b\ 160,938
-    task body Private_T \7fPrivate_T/b\ 161,963
-  task body Task_Type \7fTask_Type/b\ 168,1064
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 182,1250
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 188,1328
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 190,1379
-  package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 196,1479
-package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1100,1544
-  procedure Pkg1_Pkg1_Proc1 \7fPkg1_Pkg1_Proc1/p\ 1101,1570
-function  Pkg1_Func1 \7fPkg1_Func1/f\ 1107,1657
-package Truc \7fTruc/s\ 1112,1764
-package Truc.Bidule \7fTruc.Bidule/s\ 1116,1816
-  protected Bidule \7fBidule/t\ 1125,1964
-  protected type Machin_T \7fMachin_T/t\ 1131,2046
-package body Truc.Bidule \7fTruc.Bidule/b\ 1138,2153
-  protected body Bidule \7fBidule/b\ 1139,2181
-  protected body Machin_T \7fMachin_T/b\ 1146,2281
-\f
-c-src/abbrev.c,1957
-Lisp_Object Vabbrev_table_name_list;\7f43,1429
-Lisp_Object Vglobal_abbrev_table;\7f48,1574
-Lisp_Object Vfundamental_mode_abbrev_table;\7f52,1685
-int abbrevs_changed;\7f56,1786
-int abbrev_all_caps;\7f58,1808
-Lisp_Object Vabbrev_start_location;\7f63,1957
-Lisp_Object Vabbrev_start_location_buffer;\7f66,2046
-Lisp_Object Vlast_abbrev;\7f70,2155
-Lisp_Object Vlast_abbrev_text;\7f75,2324
-int last_abbrev_point;\7f79,2414
-DEFUN ("make-abbrev-table", Fmake_abbrev_table,\7f82,2440
-DEFUN ("make-abbrev-table", Fmake_abbrev_table,\7fmake-abbrev-table\ 182,2440
-DEFUN ("clear-abbrev-table", Fclear_abbrev_table,\7f89,2632
-DEFUN ("clear-abbrev-table", Fclear_abbrev_table,\7fclear-abbrev-table\ 189,2632
-DEFUN ("define-abbrev", Fdefine_abbrev,\7f104,3013
-DEFUN ("define-abbrev", Fdefine_abbrev,\7fdefine-abbrev\ 1104,3013
-DEFUN ("define-global-abbrev", Fdefine_global_abbrev,\7f146,4332
-DEFUN ("define-global-abbrev", Fdefine_global_abbrev,\7fdefine-global-abbrev\ 1146,4332
-DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,\7f157,4703
-DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,\7fdefine-mode-abbrev\ 1157,4703
-DEFUN ("abbrev-symbol", Fabbrev_symbol,\7f171,5171
-DEFUN ("abbrev-symbol", Fabbrev_symbol,\7fabbrev-symbol\ 1171,5171
-DEFUN ("abbrev-expansion", Fabbrev_expansion,\7f199,6135
-DEFUN ("abbrev-expansion", Fabbrev_expansion,\7fabbrev-expansion\ 1199,6135
-DEFUN ("expand-abbrev", Fexpand_abbrev,\7f215,6650
-DEFUN ("expand-abbrev", Fexpand_abbrev,\7fexpand-abbrev\ 1215,6650
-DEFUN ("unexpand-abbrev", Funexpand_abbrev,\7f383,11495
-DEFUN ("unexpand-abbrev", Funexpand_abbrev,\7funexpand-abbrev\ 1383,11495
-write_abbrev \7f420,12702
-describe_abbrev \7f439,13137
-DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,\7f460,13652
-DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,\7finsert-abbrev-table-description\ 1460,13652
-DEFUN ("define-abbrev-table", Fdefine_abbrev_table,\7f500,14808
-DEFUN ("define-abbrev-table", Fdefine_abbrev_table,\7fdefine-abbrev-table\ 1500,14808
-syms_of_abbrev \7f534,15885
-\f
-c-src/torture.c,197
-(*tag1 \7ftag1\ 118,452
-#define notag2 \7f26,553
-(*tag2 \7ftag2\ 129,630
-(*tag3 \7ftag3\ 139,772
-#define notag4 \7f45,861
-(*tag4 \7ftag4\ 148,955
-tag5 \7f57,1081
-tag6 \7f66,1208
-int pp1(\7f74,1317
-pp2\7f87,1419
-pp3(\7f100,1518
-\f
-c-src/getopt.h,147
-#define _GETOPT_H \7f19,799
-struct option\7f73,2795
-#define        no_argument     \7f89,3122
-#define required_argument      \7f90,3145
-#define optional_argument      \7f91,3173
-\f
-c-src/etags.c,10045
-char pot_etags_version[\7fpot_etags_version\ 181,3471
-#  undef DEBUG\7f84,3553
-#  define DEBUG \7f85,3568
-#  define DEBUG \7f87,3595
-#  define NDEBUG       \7f88,3618
-# define _GNU_SOURCE \7f94,3706
-# undef MSDOS\7f100,3877
-# undef  WINDOWSNT\7f101,3891
-# define WINDOWSNT\7f102,3910
-# undef MSDOS\7f106,3969
-# define MSDOS \7f107,3983
-# define MSDOS \7f110,4033
-# define MAXPATHLEN \7f115,4112
-# undef HAVE_NTGUI\7f116,4142
-# undef  DOS_NT\7f117,4161
-# define DOS_NT\7f118,4177
-# undef  assert        \7f135,4483
-# define assert(\7f136,4542
-# undef  CTAGS\7f146,4858
-# define CTAGS \7f147,4873
-# define CTAGS \7f149,4899
-#define streq(\7f152,4928
-#define strcaseeq(\7f153,4997
-#define strneq(\7f154,5076
-#define strncaseeq(\7f155,5152
-#define CHARS \7f157,5239
-#define CHAR(\7f158,5279
-#define        iswhite(\7f159,5330
-#define notinname(\7f160,5395
-#define        begtoken(\7f161,5470
-#define        intoken(\7f162,5543
-#define        endtoken(\7f163,5615
-#define ISALNUM(\7f165,5685
-#define ISALPHA(\7f166,5723
-#define ISDIGIT(\7f167,5761
-#define ISLOWER(\7f168,5799
-#define lowcase(\7f170,5838
-#define xnew(\7f179,6016
-#define xrnew(\7f180,6084
-typedef void Lang_function \7f182,6165
-} compressor;\7f188,6366
-} language;\7f199,6836
-typedef struct fdesc\7f201,6849
-} fdesc;\7f212,7367
-typedef struct node_st\7f214,7377
-} node;\7f225,7895
-} linebuffer;\7f239,8249
-    at_language,\7f245,8345
-    at_regexp,\7f246,8394
-    at_filename,\7f247,8438
-    at_stdin,\7f248,8474
-    at_end     \7f249,8517
-} argument;\7f253,8699
-typedef struct regexp\7f256,8759
-} regexp;\7f268,9326
-static void error \7f311,10781
-# undef STDIN\7f408,15074
-#define STDIN \7f411,15096
-static compressor compressors[\7fcompressors\ 1457,17665
-static const char *Ada_suffixes \7fAda_suffixes\ 1473,17908
-static const char Ada_help \7f475,17978
-static const char *Asm_suffixes \7fAsm_suffixes\ 1493,18581
-static const char Asm_help \7f504,18977
-static const char *default_C_suffixes \7fdefault_C_suffixes\ 1512,19313
-static const char default_C_help \7f515,19414
-static const char default_C_help \7f523,19851
-static const char *Cplusplus_suffixes \7fCplusplus_suffixes\ 1535,20461
-static const char Cplusplus_help \7f540,20659
-static const char *Cjava_suffixes \7fCjava_suffixes\ 1549,21114
-static char Cjava_help \7f551,21173
-static const char *Cobol_suffixes \7fCobol_suffixes\ 1556,21338
-static char Cobol_help \7f558,21403
-static const char *Cstar_suffixes \7fCstar_suffixes\ 1562,21544
-static const char *Erlang_suffixes \7fErlang_suffixes\ 1565,21608
-static const char Erlang_help \7f567,21674
-const char *Forth_suffixes \7fForth_suffixes\ 1571,21800
-static const char Forth_help \7f573,21858
-static const char *Fortran_suffixes \7fFortran_suffixes\ 1577,22009
-static const char Fortran_help \7f579,22086
-static const char *HTML_suffixes \7fHTML_suffixes\ 1582,22191
-static const char HTML_help \7f584,22265
-static const char *Lisp_suffixes \7fLisp_suffixes\ 1589,22453
-static const char Lisp_help \7f591,22557
-static const char *Lua_suffixes \7fLua_suffixes\ 1598,22872
-static const char Lua_help \7f600,22935
-static const char *Makefile_filenames \7fMakefile_filenames\ 1603,23011
-static const char Makefile_help \7f605,23134
-static const char *Objc_suffixes \7fObjc_suffixes\ 1609,23278
-static const char Objc_help \7f613,23400
-static const char *Pascal_suffixes \7fPascal_suffixes\ 1619,23715
-static const char Pascal_help \7f621,23779
-static const char *Perl_suffixes \7fPerl_suffixes\ 1626,23967
-static const char *Perl_interpreters \7fPerl_interpreters\ 1628,24029
-static const char Perl_help \7f630,24101
-static const char *PHP_suffixes \7fPHP_suffixes\ 1637,24452
-static const char PHP_help \7f639,24524
-static const char *plain_C_suffixes \7fplain_C_suffixes\ 1643,24679
-static const char *PS_suffixes \7fPS_suffixes\ 1647,24763
-static const char PS_help \7f649,24849
-static const char *Prolog_suffixes \7fProlog_suffixes\ 1652,24932
-static const char Prolog_help \7f654,24994
-static const char *Python_suffixes \7fPython_suffixes\ 1658,25108
-static const char Python_help \7f660,25166
-static const char *Scheme_suffixes \7fScheme_suffixes\ 1665,25348
-static const char Scheme_help \7f667,25461
-static const char *TeX_suffixes \7fTeX_suffixes\ 1672,25684
-static const char TeX_help \7f674,25782
-static const char *Texinfo_suffixes \7fTexinfo_suffixes\ 1686,26317
-static const char Texinfo_help \7f688,26396
-static const char *Yacc_suffixes \7fYacc_suffixes\ 1691,26493
-static const char Yacc_help \7f693,26607
-static const char auto_help \7f699,26857
-static const char none_help \7f703,27021
-static const char no_lang_help \7f707,27144
-static language lang_names \7f718,27356
-print_language_names \7f753,29533
-# define EMACS_NAME \7f786,30756
-# define VERSION \7f789,30812
-print_version \7f792,30870
-# define PRINT_UNDOCUMENTED_OPTIONS_HELP \7f804,31174
-print_help \7f808,31251
-main \7f981,37439
-get_compressor_from_suffix \7f1319,46218
-get_language_from_langname \7f1355,47159
-get_language_from_interpreter \7f1377,47546
-get_language_from_filename \7f1399,47977
-process_file_name \7f1433,48835
-process_file \7f1555,51666
-init \7f1632,54151
-find_entries \7f1656,54902
-make_tag \7f1814,59708
-pfnote \7f1856,60943
-free_tree \7f1917,62745
-free_fdesc \7f1935,63030
-add_node \7f1955,63473
-invalidate_nodes \7f2035,65538
-static int number_len \7f2068,66194
-total_size_of_entries \7f2087,66695
-put_entries \7f2107,67155
-#define C_EXT  \7f2193,68996
-#define C_PLAIN \7f2194,69038
-#define C_PLPL \7f2195,69071
-#define C_STAR \7f2196,69105
-#define C_JAVA \7f2197,69138
-#define C_AUTO \7f2198,69173
-#define YACC   \7f2199,69243
-enum sym_type\7f2204,69313
-  st_none,\7f2206,69329
-  st_C_objprot,\7f2207,69340
-  st_C_objprot, st_C_objimpl,\7f2207,69340
-  st_C_objprot, st_C_objimpl, st_C_objend,\7f2207,69340
-  st_C_gnumacro,\7f2208,69383
-  st_C_ignore,\7f2209,69400
-  st_C_ignore, st_C_attribute,\7f2209,69400
-  st_C_javastruct,\7f2210,69431
-  st_C_operator,\7f2211,69450
-  st_C_class,\7f2212,69467
-  st_C_class, st_C_template,\7f2212,69467
-  st_C_struct,\7f2213,69496
-  st_C_struct, st_C_extern,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum, st_C_define,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum, st_C_define, st_C_typedef\7f2213,69496
-struct C_stab_entry \7f2271,71279
-hash \7f2275,71410
-in_word_set \7f2321,72938
-      TOTAL_KEYWORDS \7f2325,73019
-      MIN_WORD_LENGTH \7f2326,73046
-      MAX_WORD_LENGTH \7f2327,73073
-      MIN_HASH_VALUE \7f2328,73101
-      MAX_HASH_VALUE \7f2329,73127
-C_symtype \7f2387,74986
-static bool inattribute;\7f2400,75235
-  fvnone,\7f2408,75436
-  fdefunkey,\7f2409,75467
-  fdefunname,\7f2410,75513
-  foperator,\7f2411,75557
-  fvnameseen,\7f2412,75614
-  fstartlist,\7f2413,75667
-  finlist,\7f2414,75723
-  flistseen,\7f2415,75766
-  fignore,\7f2416,75814
-  vignore      \7f2417,75857
-} fvdef;\7f2418,75902
-static bool fvextern;\7f2420,75912
-  tnone,\7f2428,76090
-  tkeyseen,\7f2429,76120
-  ttypeseen,\7f2430,76161
-  tinbody,\7f2431,76200
-  tend,\7f2432,76239
-  tignore      \7f2433,76280
-} typdef;\7f2434,76321
-  snone,\7f2443,76500
-  skeyseen,\7f2445,76576
-  stagseen,\7f2446,76621
-  scolonseen   \7f2447,76662
-} structdef;\7f2448,76716
-static const char *objtag \7fobjtag\ 12453,76810
-  dnone,\7f2460,76943
-  dsharpseen,\7f2461,76973
-  ddefineseen,\7f2462,77026
-  dignorerest  \7f2463,77071
-} definedef;\7f2464,77113
-  onone,\7f2472,77268
-  oprotocol,\7f2473,77298
-  oimplementation,\7f2474,77348
-  otagseen,\7f2475,77396
-  oparenseen,\7f2476,77432
-  ocatseen,\7f2477,77487
-  oinbody,\7f2478,77526
-  omethodsign,\7f2479,77569
-  omethodtag,\7f2480,77627
-  omethodcolon,\7f2481,77667
-  omethodparm,\7f2482,77710
-  oignore      \7f2483,77756
-} objdef;\7f2484,77788
-static struct tok\7f2491,77945
-} token;\7f2508,78627
-} cstack;\7f2523,79137
-#define nestlev        \7f2525,79265
-#define instruct       \7f2527,79370
-pushclass_above \7f2531,79490
-popclass_above \7f2550,79949
-write_classname \7f2564,80163
-consider_token \7f2613,81342
-} lbs[\7flbs\ 12924,88533
-#define current_lb_is_new \7f2926,88544
-#define switch_line_buffers(\7f2927,88589
-#define curlb \7f2929,88642
-#define newlb \7f2930,88673
-#define curlinepos \7f2931,88704
-#define newlinepos \7f2932,88745
-#define plainc \7f2934,88787
-#define cplpl \7f2935,88831
-#define cjava \7f2936,88862
-#define CNL_SAVE_DEFINEDEF(\7f2938,88906
-#define CNL(\7f2947,89118
-make_C_tag \7f2960,89376
-C_entries \7f2986,90195
-default_C_entries \7f3833,110157
-plain_C_entries \7f3840,110277
-Cplusplus_entries \7f3847,110365
-Cjava_entries \7f3854,110461
-Cstar_entries \7f3861,110551
-Yacc_entries \7f3868,110643
-#define LOOP_ON_INPUT_LINES(\7f3875,110721
-#define LOOKING_AT(\7f3884,111057
-#define LOOKING_AT_NOCASE(\7f3891,111462
-just_read_file \7f3901,111862
-F_takeprec \7f3914,112040
-F_getit \7f3937,112367
-Fortran_functions \7f3961,112841
-Ada_getit \7f4052,114670
-Ada_funcs \7f4115,116045
-Asm_labels \7f4228,118583
-Perl_functions \7f4261,119550
-Python_functions \7f4357,122058
-PHP_functions \7f4387,122685
-Cobol_paragraphs \7f4466,124472
-Makefile_targets \7f4494,125030
-Pascal_functions \7f4529,125951
-L_getit \7f4709,130319
-Lisp_functions \7f4725,130665
-Lua_functions \7f4785,131851
-PS_functions \7f4811,132386
-Forth_words \7f4841,133054
-Scheme_functions \7f4877,134093
-static linebuffer *TEX_toktab \7fTEX_toktab\ 14908,134782
-static const char *TEX_defenv \7fTEX_defenv\ 14912,134975
-static char TEX_esc \7f4920,135262
-static char TEX_opgrp \7f4921,135290
-static char TEX_clgrp \7f4922,135319
-TeX_commands \7f4928,135396
-#define TEX_LESC \7f4986,136653
-#define TEX_SESC \7f4987,136675
-TEX_mode \7f4992,136805
-TEX_decode_env \7f5026,137510
-Texinfo_nodes \7f5071,138555
-HTML_labels \7f5094,139014
-Prolog_functions \7f5219,142348
-prolog_skip_comment \7f5255,143129
-prolog_pr \7f5281,143737
-prolog_atom \7f5319,144629
-Erlang_functions \7f5379,145667
-erlang_func \7f5438,146966
-erlang_attribute \7f5476,147643
-erlang_atom \7f5496,148062
-scan_separators \7f5534,149081
-analyze_regex \7f5586,150461
-add_regex \7f5654,152051
-substitute \7f5767,154798
-free_regexps \7f5814,155838
-regex_tag_multiline \7f5836,156292
-nocase_tail \7f5913,158264
-get_tag \7f5928,158520
-readline_internal \7f5959,159456
-readline \7f6037,161297
-savestr \7f6230,167244
-savenstr \7f6240,167474
-skip_spaces \7f6249,167680
-skip_non_spaces \7f6258,167834
-skip_name \7f6267,167984
-fatal \7f6277,168157
-pfatal \7f6284,168254
-suggest_asking_for_help \7f6291,168333
-error \7f6300,168555
-concat \7f6313,168847
-etags_getcwd \7f6329,169260
-relative_filename \7f6350,169726
-absolute_filename \7f6389,170752
-absolute_dirname \7f6453,172417
-filename_is_absolute \7f6472,172846
-canonicalize_filename \7f6484,173097
-# define ISUPPER(\7f6491,173236
-linebuffer_init \7f6514,173657
-linebuffer_setlen \7f6524,173888
-xmalloc \7f6536,174149
-xrealloc \7f6545,174315
-\f
-c-src/exit.c,47
-  } __libc_atexit;\7f30,1022
-DEFUN(exit,\7f38,1263
-\f
-c-src/exit.strange_suffix,47
-  } __libc_atexit;\7f30,1022
-DEFUN(exit,\7f38,1263
-\f
-c-src/sysdep.h,491
-#define        ENTRY(\7f21,875
-#define        PSEUDO(\7f26,982
-    movl $SYS_##syscall_nam\7f$SYS_##syscall_na\ 131,1142
-    movl $SYS_##syscall_name, %eax;\7feax\ 131,1142
-    int $0x80;\7f32,1190
-    test %eax,\7feax\ 133,1220
-    test %eax, %eax;\7feax\ 133,1220
-    jl syscall_error;\7f34,1255
-#define        XCHG_0  \7f47,1572
-#define        XCHG_1  \7f48,1616
-#define        XCHG_2  \7f49,1658
-#define        XCHG_3  \7f50,1701
-#define        XCHG_4  \7f51,1744
-#define        XCHG_5  \7f52,1787
-#define        r0      \7f54,1831
-#define        r1      \7f55,1885
-#define scratch \7f56,1942
-#define MOVE(\7f57,2011
-\f
-c-src/tab.c,196
-static int             count_words(\7f15,263
-static char            *get_word(\7fget_word\ 135,553
-void                   tab_free(\7f59,966
-char                   **tab_fill(\7ftab_fill\ 170,1129
-int                    tab_delete_first(\7f91,1638
-int                    tab_count_words(\7f103,1820
-\f
-c-src/dostorture.c,198
-(*tag1 \7ftag1\ 118,468
-#define notag2 \7f26,577
-(*tag2 \7ftag2\ 129,657
-(*tag3 \7ftag3\ 139,809
-#define notag4 \7f45,904
-(*tag4 \7ftag4\ 148,1001
-tag5 \7f57,1136
-tag6 \7f66,1272
-int pp1(\7f74,1389
-pp2\7f87,1504
-pp3(\7f100,1616
-\f
-c-src/emacs/src/gmalloc.c,3539
-#define USE_PTHREAD\7f25,1003
-#undef get_current_dir_name\7f33,1127
-#undef malloc\7f64,2111
-#undef realloc\7f65,2125
-#undef calloc\7f66,2140
-#undef free\7f67,2154
-#define malloc \7f68,2166
-#define realloc \7f69,2189
-#define calloc \7f70,2214
-#define aligned_alloc \7f71,2237
-#define free \7f72,2274
-#define DUMPED \7f80,2473
-#define ALLOCATED_BEFORE_DUMPING(\7f81,2508
-extern void *malloc \7fmalloc\ 194,2719
-#define INT_BIT        \7f124,3935
-#define BLOCKLOG       \7f125,3978
-#define BLOCKSIZE      \7f126,4019
-#define BLOCKIFY(\7f127,4053
-#define HEAP   \7f131,4216
-#define FINAL_FREE_BLOCKS      \7f135,4392
-  } malloc_info;\7f167,5389
-#define BLOCK(\7f176,5621
-#define ADDRESS(\7f177,5683
-struct list\7f186,5940
-struct alignlist\7f196,6154
-#define LOCK(\7f223,7065
-#define UNLOCK(\7f228,7196
-#define LOCK_ALIGNED_BLOCKS(\7f233,7330
-#define UNLOCK_ALIGNED_BLOCKS(\7f238,7485
-#define LOCK(\7f244,7650
-#define UNLOCK(\7f245,7665
-#define LOCK_ALIGNED_BLOCKS(\7f246,7682
-#define UNLOCK_ALIGNED_BLOCKS(\7f247,7712
-enum mcheck_status\7f283,9093
-    MCHECK_DISABLED \7f285,9116
-    MCHECK_OK,\7f286,9188
-    MCHECK_FREE,\7f287,9227
-    MCHECK_HEAD,\7f288,9271
-    MCHECK_TAIL        \7f289,9335
-struct mstats\7f308,10154
-char *_heapbase;\7f_heapbase\ 1355,11831
-malloc_info *_heapinfo;\7f_heapinfo\ 1358,11929
-static size_t heapsize;\7f361,11985
-size_t _heapindex;\7f364,12049
-size_t _heaplimit;\7f367,12111
-struct list _fraghead[\7f_fraghead\ 1370,12173
-size_t _chunks_used;\7f373,12231
-size_t _bytes_used;\7f374,12252
-size_t _chunks_free;\7f375,12272
-size_t _bytes_free;\7f376,12293
-int __malloc_initialized;\7f379,12342
-size_t __malloc_extra_blocks;\7f381,12369
-static int state_protected_p;\7f400,12914
-static size_t last_state_size;\7f401,12944
-static malloc_info *last_heapinfo;\7flast_heapinfo\ 1402,12975
-protect_malloc_state \7f405,13016
-#define PROTECT_MALLOC_STATE(\7f426,13629
-#define PROTECT_MALLOC_STATE(\7f429,13699
-align \7f435,13796
-get_contiguous_space \7f466,14618
-register_heapinfo \7f497,15327
-pthread_mutex_t _malloc_mutex \7f517,15881
-pthread_mutex_t _aligned_blocks_mutex \7f518,15940
-int _malloc_thread_enabled_p;\7f519,16007
-malloc_atfork_handler_prepare \7f522,16050
-malloc_atfork_handler_parent \7f529,16141
-malloc_atfork_handler_child \7f536,16235
-malloc_enable_thread \7f544,16377
-malloc_initialize_1 \7f563,16963
-__malloc_initialize \7f594,17795
-static int morecore_recursing;\7f604,17928
-morecore_nolock \7f609,18068
-_malloc_internal_nolock \7f722,21586
-_malloc_internal \7f920,28104
-malloc \7f932,28249
-_malloc \7f961,29142
-_free \7f967,29198
-_realloc \7f973,29242
-struct alignlist *_aligned_blocks \7f_aligned_blocks\ 11004,30348
-_free_internal_nolock \7f1009,30477
-_free_internal \7f1255,38479
-free \7f1265,38606
-weak_alias \7f1277,38802
-#define min(\7f1306,39817
-_realloc_internal_nolock \7f1319,40313
-_realloc_internal \7f1435,43567
-realloc \7f1447,43730
-calloc \7f1478,44899
-#define        __sbrk  \7f1513,46048
-__default_morecore \7f1525,46517
-aligned_alloc \7f1557,47529
-memalign \7f1647,49711
-posix_memalign \7f1656,49916
-static size_t pagesize;\7f1703,51325
-valloc \7f1706,51357
-#undef malloc\7f1715,51498
-#undef realloc\7f1716,51512
-#undef calloc\7f1717,51527
-#undef aligned_alloc\7f1718,51541
-#undef free\7f1719,51562
-hybrid_malloc \7f1736,52091
-hybrid_calloc \7f1744,52196
-hybrid_free \7f1752,52327
-hybrid_aligned_alloc \7f1765,52634
-hybrid_realloc \7f1780,52990
-hybrid_get_current_dir_name \7f1811,53803
-#define MAGICWORD      \7f1854,55213
-#define MAGICFREE      \7f1855,55268
-#define MAGICBYTE      \7f1856,55323
-#define MALLOCFLOOD    \7f1857,55355
-#define FREEFLOOD      \7f1858,55389
-struct hdr\7f1860,55422
-checkhdr \7f1867,55588
-freehook \7f1891,56029
-mallochook \7f1927,56811
-reallochook \7f1944,57150
-mabort \7f1978,57908
-static int mcheck_used \7f2012,58593
-mcheck \7f2015,58626
-mprobe \7f2035,59145
-\f
-c-src/emacs/src/regex.h,3761
-#define _REGEX_H \7f21,837
-typedef unsigned long reg_syntax_t;\7f43,1578
-#define RE_BACKSLASH_ESCAPE_IN_LISTS \7f47,1750
-#define RE_BK_PLUS_QM \7f52,1970
-#define RE_CHAR_CLASSES \7f58,2299
-#define RE_CONTEXT_INDEP_ANCHORS \7f72,3033
-#define RE_CONTEXT_INDEP_OPS \7f80,3459
-#define RE_CONTEXT_INVALID_OPS \7f84,3659
-#define RE_DOT_NEWLINE \7f88,3802
-#define RE_DOT_NOT_NULL \7f92,3938
-#define RE_HAT_LISTS_NOT_NEWLINE \7f96,4083
-#define RE_INTERVALS \7f101,4293
-#define RE_LIMITED_OPS \7f105,4442
-#define RE_NEWLINE_ALT \7f109,4584
-#define RE_NO_BK_BRACES \7f114,4774
-#define RE_NO_BK_PARENS \7f118,4965
-#define RE_NO_BK_REFS \7f122,5121
-#define RE_NO_BK_VBAR \7f126,5317
-#define RE_NO_EMPTY_RANGES \7f132,5611
-#define RE_UNMATCHED_RIGHT_PAREN_ORD \7f136,5767
-#define RE_NO_POSIX_BACKTRACKING \7f140,5938
-#define RE_NO_GNU_OPS \7f144,6134
-#define RE_FRUGAL \7f147,6254
-#define RE_SHY_GROUPS \7f150,6361
-#define RE_NO_NEWLINE_ANCHOR \7f153,6469
-#define RE_DEBUG \7f161,6885
-#define RE_SYNTAX_EMACS        \7f183,7685
-#define RE_SYNTAX_AWK  \7f186,7781
-#define RE_SYNTAX_GNU_AWK      \7f193,8085
-#define RE_SYNTAX_POSIX_AWK \7f197,8256
-#define RE_SYNTAX_GREP \7f201,8394
-#define RE_SYNTAX_EGREP        \7f206,8550
-#define RE_SYNTAX_POSIX_EGREP  \7f212,8766
-#define RE_SYNTAX_ED \7f216,8911
-#define RE_SYNTAX_SED \7f218,8955
-#define _RE_SYNTAX_POSIX_COMMON        \7f221,9073
-#define RE_SYNTAX_POSIX_BASIC  \7f225,9216
-#define RE_SYNTAX_POSIX_MINIMAL_BASIC  \7f231,9509
-#define RE_SYNTAX_POSIX_EXTENDED       \7f234,9599
-#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED       \7f242,9968
-# undef RE_DUP_MAX\7f253,10455
-#define RE_DUP_MAX \7f256,10541
-#define REG_EXTENDED \7f263,10763
-#define REG_ICASE \7f267,10887
-#define REG_NEWLINE \7f272,11071
-#define REG_NOSUB \7f276,11249
-#define REG_NOTBOL \7f286,11615
-#define REG_NOTEOL \7f289,11689
-  REG_ENOSYS \7f297,11860
-  REG_NOERROR \7f300,11942
-  REG_NOMATCH,\7f301,11977
-  REG_BADPAT,\7f305,12124
-  REG_ECOLLATE,\7f306,12163
-  REG_ECTYPE,\7f307,12204
-  REG_EESCAPE,\7f308,12256
-  REG_ESUBREG,\7f309,12299
-  REG_EBRACK,\7f310,12346
-  REG_EPAREN,\7f311,12392
-  REG_EBRACE,\7f312,12437
-  REG_BADBR,\7f313,12473
-  REG_ERANGE,\7f314,12520
-  REG_ESPACE,\7f315,12561
-  REG_BADRPT,\7f316,12602
-  REG_EEND,\7f319,12694
-  REG_ESIZE,\7f320,12729
-  REG_ERPAREN,\7f321,12791
-  REG_ERANGEX  \7f322,12860
-} reg_errcode_t;\7f323,12912
-# define RE_TRANSLATE_TYPE \7f332,13274
-struct re_pattern_buffer\7f335,13316
-#define REGS_UNALLOCATED \7f376,14890
-#define REGS_REALLOCATE \7f377,14917
-#define REGS_FIXED \7f378,14943
-typedef struct re_pattern_buffer regex_t;\7f416,16099
-typedef ssize_t regoff_t;\7f423,16493
-struct re_registers\7f428,16653
-# define RE_NREGS \7f440,16943
-} regmatch_t;\7f451,17318
-#  define _Restrict_ \7f540,20887
-#  define _Restrict_ \7f542,20980
-#  define _Restrict_\7f544,21019
-#  define _Restrict_arr_ \7f555,21419
-#  define _Restrict_arr_\7f557,21462
-#  define CHAR_CLASS_MAX_LENGTH \7f593,22471
-#  define CHAR_CLASS_MAX_LENGTH \7f597,22649
-typedef wctype_t re_wctype_t;\7f599,22693
-typedef wchar_t re_wchar_t;\7f600,22723
-# define re_wctype \7f601,22751
-# define re_iswctype \7f602,22777
-# define re_wctype_to_bit(\7f603,22807
-# define CHAR_CLASS_MAX_LENGTH \7f605,22845
-# define btowc(\7f606,22907
-typedef enum { RECC_ERROR \7f609,22954
-              RECC_ALNUM,\7f610,22985
-              RECC_ALNUM, RECC_ALPHA,\7f610,22985
-              RECC_ALNUM, RECC_ALPHA, RECC_WORD,\7f610,22985
-              RECC_GRAPH,\7f611,23028
-              RECC_GRAPH, RECC_PRINT,\7f611,23028
-              RECC_LOWER,\7f612,23060
-              RECC_LOWER, RECC_UPPER,\7f612,23060
-              RECC_PUNCT,\7f613,23092
-              RECC_PUNCT, RECC_CNTRL,\7f613,23092
-              RECC_DIGIT,\7f614,23124
-              RECC_DIGIT, RECC_XDIGIT,\7f614,23124
-              RECC_BLANK,\7f615,23157
-              RECC_BLANK, RECC_SPACE,\7f615,23157
-              RECC_MULTIBYTE,\7f616,23189
-              RECC_MULTIBYTE, RECC_NONASCII,\7f616,23189
-              RECC_ASCII,\7f617,23228
-              RECC_ASCII, RECC_UNIBYTE\7f617,23228
-} re_wctype_t;\7f618,23261
-typedef int re_wchar_t;\7f623,23388
-\f
-c-src/emacs/src/keyboard.c,15539
-volatile int interrupt_input_blocked;\7f76,1809
-volatile bool pending_signals;\7f80,1945
-#define KBD_BUFFER_SIZE \7f82,1977
-KBOARD *initial_kboard;\7finitial_kboard\ 184,2007
-KBOARD *current_kboard;\7fcurrent_kboard\ 185,2031
-static KBOARD *all_kboards;\7fall_kboards\ 186,2055
-static bool single_kboard;\7f89,2155
-#define NUM_RECENT_KEYS \7f91,2183
-static int recent_keys_index;\7f94,2270
-static int total_keys;\7f97,2358
-static Lisp_Object recent_keys;\7f100,2444
-Lisp_Object this_command_keys;\7f107,2778
-ptrdiff_t this_command_key_count;\7f108,2809
-static bool this_command_key_count_reset;\7f112,2923
-static Lisp_Object raw_keybuf;\7f116,3075
-static int raw_keybuf_count;\7f117,3106
-#define GROW_RAW_KEYBUF        \7f119,3136
-static ptrdiff_t this_single_command_key_start;\7f125,3351
-static ptrdiff_t before_command_key_count;\7f129,3499
-static ptrdiff_t before_command_echo_length;\7f130,3542
-sigjmp_buf return_to_command_loop;\7f135,3678
-static Lisp_Object recover_top_level_message;\7f138,3792
-static Lisp_Object regular_top_level_message;\7f143,3931
-static sys_jmp_buf getcjmp;\7f147,4032
-bool waiting_for_input;\7f150,4096
-static bool echoing;\7f154,4187
-static struct kboard *ok_to_echo_at_next_pause;\7fok_to_echo_at_next_pause\ 1159,4329
-struct kboard *echo_kboard;\7fecho_kboard\ 1166,4633
-Lisp_Object echo_message_buffer;\7f171,4745
-bool immediate_quit;\7f174,4838
-int quit_char;\7f192,5624
-EMACS_INT command_loop_level;\7f195,5681
-Lisp_Object unread_switch_frame;\7f204,6109
-static ptrdiff_t last_non_minibuf_size;\7f207,6217
-uintmax_t num_input_events;\7f210,6335
-static EMACS_INT last_auto_save;\7f214,6429
-static ptrdiff_t last_point_position;\7f217,6524
-Lisp_Object internal_last_event_frame;\7f228,7029
-static Lisp_Object read_key_sequence_cmd;\7f232,7169
-static Lisp_Object read_key_sequence_remapped;\7f233,7211
-static FILE *dribble;\7fdribble\ 1236,7311
-bool input_pending;\7f239,7369
-static bool input_was_pending;\7f287,10023
-static struct input_event kbd_buffer[\7fkbd_buffer\ 1291,10108
-static struct input_event *kbd_fetch_ptr;\7fkbd_fetch_ptr\ 1297,10387
-static struct input_event * volatile kbd_store_ptr;\7f302,10602
-unsigned timers_run;\7f320,11297
-struct timespec *input_available_clear_time;\7finput_available_clear_time\ 1324,11409
-bool interrupt_input;\7f328,11574
-bool interrupts_deferred;\7f331,11672
-static struct timespec timer_idleness_start_time;\7f335,11747
-static struct timespec timer_last_idleness_start_time;\7f340,11917
-#define READABLE_EVENTS_DO_TIMERS_NOW  \7f346,12047
-#define READABLE_EVENTS_FILTER_EVENTS  \7f347,12095
-#define READABLE_EVENTS_IGNORE_SQUEEZABLES     \7f348,12143
-kset_echo_string \7f392,14089
-kset_kbd_queue \7f397,14185
-kset_keyboard_translate_table \7f402,14277
-kset_last_prefix_arg \7f407,14400
-kset_last_repeatable_command \7f412,14505
-kset_local_function_key_map \7f417,14626
-kset_overriding_terminal_local_map \7f422,14745
-kset_real_last_command \7f427,14878
-kset_system_key_syms \7f432,14987
-echo_add_key \7f443,15250
-echo_char \7f527,17528
-echo_dash \7f541,17814
-echo_now \7f586,19141
-cancel_echoing \7f635,20615
-echo_length \7f648,20923
-echo_truncate \7f660,21254
-add_command_key \7f672,21583
-recursive_edit_1 \7f697,22407
-record_auto_save \7f742,23849
-force_auto_save_soon \7f751,24017
-DEFUN ("recursive-edit", Frecursive_edit,\7f759,24138
-DEFUN ("recursive-edit", Frecursive_edit,\7frecursive-edit\ 1759,24138
-recursive_edit_unwind \7f804,25751
-any_kboard_state \7f817,26017
-single_kboard_state \7f838,26669
-not_single_kboard_state \7f848,26807
-struct kboard_stack\7f858,27069
-static struct kboard_stack *kboard_stack;\7fkboard_stack\ 1864,27142
-push_kboard \7f867,27190
-pop_kboard \7f879,27379
-temporarily_switch_to_single_kboard \7f914,28267
-record_single_kboard_state \7f943,29441
-restore_kboard_configuration \7f952,29625
-cmd_error \7f970,30081
-cmd_error_internal \7f1024,31514
-DEFUN ("command-error-default-function", Fcommand_error_default_function,\7f1043,32034
-DEFUN ("command-error-default-function", Fcommand_error_default_function,\7fcommand-error-default-function\ 11043,32034
-command_loop \7f1094,33920
-command_loop_2 \7f1134,35139
-top_level_2 \7f1146,35343
-top_level_1 \7f1152,35421
-DEFUN ("top-level", Ftop_level,\7f1164,35791
-DEFUN ("top-level", Ftop_level,\7ftop-level\ 11164,35791
-user_error \7f1183,36292
-DEFUN ("exit-recursive-edit", Fexit_recursive_edit,\7f1189,36433
-DEFUN ("exit-recursive-edit", Fexit_recursive_edit,\7fexit-recursive-edit\ 11189,36433
-DEFUN ("abort-recursive-edit", Fabort_recursive_edit,\7f1201,36823
-DEFUN ("abort-recursive-edit", Fabort_recursive_edit,\7fabort-recursive-edit\ 11201,36823
-tracking_off \7f1216,37285
-DEFUN ("internal--track-mouse", Ftrack_mouse,\7f1234,37820
-DEFUN ("internal--track-mouse", Ftrack_mouse,\7ftrack-mouse\ 11234,37820
-bool ignore_mouse_drag_p;\7f1256,38396
-some_mouse_moved \7f1259,38445
-Lisp_Object last_undo_boundary;\7f1287,39036
-command_loop_1 \7f1294,39277
-read_menu_command \7f1649,50893
-adjust_point_for_property \7f1678,51621
-safe_run_hooks_1 \7f1831,57343
-safe_run_hooks_error \7f1841,57573
-safe_run_hook_funcall \7f1878,58580
-safe_run_hooks \7f1893,59062
-int poll_suppress_count;\7f1908,59401
-static struct atimer *poll_timer;\7fpoll_timer\ 11915,59491
-poll_for_input_1 \7f1919,59593
-poll_for_input \7f1930,59793
-start_polling \7f1942,60057
-input_polling_used \7f1979,61095
-stop_polling \7f1994,61394
-set_poll_suppress_count \7f2009,61763
-bind_polling_period \7f2029,62145
-make_ctrl_char \7f2048,62496
-show_help_echo \7f2113,64459
-static Lisp_Object help_form_saved_window_configs;\7f2156,65642
-read_char_help_form_unwind \7f2158,65705
-#define STOP_POLLING   \7f2166,65963
-#define RESUME_POLLING \7f2170,66088
-read_event_from_main_queue \7f2175,66233
-read_decoded_event_from_main_queue \7f2249,68421
-#define MAX_ENCODED_BYTES \7f2254,68668
-echo_keystrokes_p \7f2342,71560
-read_char \7f2376,72852
-record_menu_key \7f3225,98953
-help_char_p \7f3258,99678
-record_char \7f3273,99957
-save_getcjmp \7f3412,104239
-restore_getcjmp \7f3418,104330
-readable_events \7f3430,104701
-int stop_character EXTERNALLY_VISIBLE;\7f3497,106441
-event_to_kboard \7f3500,106497
-kbd_buffer_nr_stored \7f3522,107146
-kbd_buffer_store_event \7f3534,107487
-kbd_buffer_store_event_hold \7f3550,108029
-kbd_buffer_unget_event \7f3684,111621
-#define INPUT_EVENT_POS_MAX \7f3698,112022
-#define INPUT_EVENT_POS_MIN \7f3701,112151
-position_to_Time \7f3706,112291
-Time_to_position \7f3716,112518
-gen_help_event \7f3738,113175
-kbd_buffer_store_help_event \7f3756,113615
-discard_mouse_events \7f3773,113980
-kbd_buffer_events_waiting \7f3803,114715
-clear_event \7f3823,115072
-kbd_buffer_get_event \7f3836,115412
-process_special_events \7f4258,127885
-swallow_events \7f4322,129709
-timer_start_idle \7f4339,130102
-timer_stop_idle \7f4355,130580
-timer_resume_idle \7f4363,130724
-struct input_event last_timer_event EXTERNALLY_VISIBLE;\7f4372,130916
-Lisp_Object pending_funcalls;\7f4377,131176
-decode_timer \7f4381,131297
-timer_check_2 \7f4414,132250
-timer_check \7f4572,136821
-DEFUN ("current-idle-time", Fcurrent_idle_time,\7f4607,137666
-DEFUN ("current-idle-time", Fcurrent_idle_time,\7fcurrent-idle-time\ 14607,137666
-static Lisp_Object accent_key_syms;\7f4625,138243
-static Lisp_Object func_key_syms;\7f4626,138279
-static Lisp_Object mouse_syms;\7f4627,138313
-static Lisp_Object wheel_syms;\7f4628,138344
-static Lisp_Object drag_n_drop_syms;\7f4629,138375
-static const int lispy_accent_codes[\7flispy_accent_codes\ 14634,138520
-static const char *const lispy_accent_keys[\7flispy_accent_keys\ 14741,139882
-#define FUNCTION_KEY_OFFSET \7f4766,140318
-const char *const lispy_function_keys[\7flispy_function_keys\ 14768,140351
-static const char *const lispy_multimedia_keys[\7flispy_multimedia_keys\ 14962,148905
-static const char *const lispy_kana_keys[\7flispy_kana_keys\ 15026,150139
-#define FUNCTION_KEY_OFFSET \7f5061,151755
-static const char *const lispy_function_keys[\7flispy_function_keys\ 15065,151898
-#define ISO_FUNCTION_KEY_OFFSET \7f5149,154433
-static const char *const iso_lispy_function_keys[\7fiso_lispy_function_keys\ 15151,154473
-static Lisp_Object Vlispy_mouse_stem;\7f5172,155332
-static const char *const lispy_wheel_names[\7flispy_wheel_names\ 15174,155371
-static const char *const lispy_drag_n_drop_names[\7flispy_drag_n_drop_names\ 15181,155623
-static short const scroll_bar_parts[\7fscroll_bar_parts\ 15189,155889
-static Lisp_Object button_down_location;\7f5210,156914
-static int last_mouse_button;\7f5215,157069
-static int last_mouse_x;\7f5216,157099
-static int last_mouse_y;\7f5217,157124
-static Time button_down_time;\7f5218,157149
-static int double_click_count;\7f5222,157233
-make_lispy_position \7f5228,157394
-toolkit_menubar_in_use \7f5456,163957
-make_scroll_bar_position \7f5469,164325
-make_lispy_event \7f5485,164971
-make_lispy_movement \7f6104,183534
-make_lispy_switch_frame \7f6131,184265
-make_lispy_focus_in \7f6137,184372
-make_lispy_focus_out \7f6145,184498
-parse_modifiers_uncached \7f6163,184948
-#define SINGLE_LETTER_MOD(\7f6185,185468
-#undef SINGLE_LETTER_MOD\7f6212,185909
-#define MULTI_LETTER_MOD(\7f6214,185935
-#undef MULTI_LETTER_MOD\7f6231,186403
-apply_modifiers_uncached \7f6273,187577
-static const char *const modifier_names[\7fmodifier_names\ 16319,189196
-#define NUM_MOD_NAMES \7f6325,189402
-static Lisp_Object modifier_symbols;\7f6327,189452
-lispy_modifier_list \7f6331,189589
-#define KEY_TO_CHAR(\7f6353,190255
-parse_modifiers \7f6356,190331
-DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,\7f6399,191520
-DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,\7fevent-symbol-parse-modifiers\ 16399,191520
-apply_modifiers \7f6422,192394
-reorder_modifiers \7f6491,194723
-modify_event_symbol \7f6536,196531
-DEFUN ("event-convert-list", Fevent_convert_list,\7f6628,199247
-DEFUN ("event-convert-list", Fevent_convert_list,\7fevent-convert-list\ 16628,199247
-parse_solitary_modifier \7f6695,201138
-#define SINGLE_LETTER_MOD(\7f6701,201261
-#define MULTI_LETTER_MOD(\7f6705,201346
-#undef SINGLE_LETTER_MOD\7f6763,202644
-#undef MULTI_LETTER_MOD\7f6764,202669
-lucid_event_type_list_p \7f6775,202892
-get_input_pending \7f6814,203963
-record_asynch_buffer_change \7f6834,204582
-gobble_input \7f6872,205705
-tty_read_avail_input \7f6967,208313
-handle_async_input \7f7149,214042
-process_pending_signals \7f7165,214362
-unblock_input_to \7f7177,214648
-unblock_input \7f7200,215280
-totally_unblock_input \7f7209,215448
-handle_input_available_signal \7f7217,215532
-deliver_input_available_signal \7f7226,215703
-struct user_signal_info\7f7235,215868
-static struct user_signal_info *user_signals \7fuser_signals\ 17250,216093
-add_user_signal \7f7253,216152
-handle_user_signal \7f7275,216601
-deliver_user_signal \7f7316,217561
-find_user_signal_name \7f7322,217662
-store_user_signal_events \7f7334,217844
-static Lisp_Object menu_bar_one_keymap_changed_items;\7f7363,218419
-static Lisp_Object menu_bar_items_vector;\7f7368,218633
-static int menu_bar_items_index;\7f7369,218675
-static const char *separator_names[\7fseparator_names\ 17372,218710
-menu_separator_name_p \7f7393,219151
-menu_bar_items \7f7426,219855
-Lisp_Object item_properties;\7f7568,224606
-menu_bar_item \7f7571,224648
-menu_item_eval_property_1 \7f7647,227178
-eval_dyn \7f7658,227468
-menu_item_eval_property \7f7666,227678
-parse_menu_item \7f7686,228344
-static Lisp_Object tool_bar_items_vector;\7f7965,236339
-static Lisp_Object tool_bar_item_properties;\7f7970,236513
-static int ntool_bar_items;\7f7974,236609
-tool_bar_items \7f7990,237086
-process_tool_bar_item \7f8075,239895
-#define PROP(\7f8112,240972
-set_prop \7f8114,241041
-parse_tool_bar_item \7f8167,242456
-#undef PROP\7f8379,248847
-init_tool_bar_items \7f8387,248972
-append_tool_bar_item \7f8401,249264
-read_char_x_menu_prompt \7f8443,250774
-read_char_minibuf_menu_prompt \7f8503,252448
-#define PUSH_C_STR(\7f8527,253017
-follow_key \7f8726,258556
-active_maps \7f8733,258698
-typedef struct keyremap\7f8742,259024
-} keyremap;\7f8754,259467
-access_keymap_keyremap \7f8764,259811
-keyremap_step \7f8811,261453
-test_undefined \7f8867,262937
-read_key_sequence \7f8916,264864
-read_key_sequence_vs \7f9826,295824
-DEFUN ("read-key-sequence", Fread_key_sequence,\7f9885,297297
-DEFUN ("read-key-sequence", Fread_key_sequence,\7fread-key-sequence\ 19885,297297
-DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,\7f9938,299985
-DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,\7fread-key-sequence-vector\ 19938,299985
-detect_input_pending \7f9950,300491
-detect_input_pending_ignore_squeezables \7f9959,300657
-detect_input_pending_run_timers \7f9967,300873
-clear_input_pending \7f9985,301365
-requeued_events_pending_p \7f9997,301735
-DEFUN ("input-pending-p", Finput_pending_p,\7f10002,301816
-DEFUN ("input-pending-p", Finput_pending_p,\7finput-pending-p\ 110002,301816
-DEFUN ("recent-keys", Frecent_keys,\7f10024,302599
-DEFUN ("recent-keys", Frecent_keys,\7frecent-keys\ 110024,302599
-DEFUN ("this-command-keys", Fthis_command_keys,\7f10055,303520
-DEFUN ("this-command-keys", Fthis_command_keys,\7fthis-command-keys\ 110055,303520
-DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,\7f10068,303961
-DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,\7fthis-command-keys-vector\ 110068,303961
-DEFUN ("this-single-command-keys", Fthis_single_command_keys,\7f10080,304383
-DEFUN ("this-single-command-keys", Fthis_single_command_keys,\7fthis-single-command-keys\ 110080,304383
-DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,\7f10096,304958
-DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,\7fthis-single-command-raw-keys\ 110096,304958
-DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,\7f10109,305498
-DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,\7freset-this-command-lengths\ 110109,305498
-DEFUN ("clear-this-command-keys", Fclear_this_command_keys,\7f10136,306513
-DEFUN ("clear-this-command-keys", Fclear_this_command_keys,\7fclear-this-command-keys\ 110136,306513
-DEFUN ("recursion-depth", Frecursion_depth,\7f10158,307072
-DEFUN ("recursion-depth", Frecursion_depth,\7frecursion-depth\ 110158,307072
-DEFUN ("open-dribble-file", Fopen_dribble_file,\7f10169,307409
-DEFUN ("open-dribble-file", Fopen_dribble_file,\7fopen-dribble-file\ 110169,307409
-DEFUN ("discard-input", Fdiscard_input,\7f10203,308450
-DEFUN ("discard-input", Fdiscard_input,\7fdiscard-input\ 110203,308450
-DEFUN ("suspend-emacs", Fsuspend_emacs,\7f10225,308952
-DEFUN ("suspend-emacs", Fsuspend_emacs,\7fsuspend-emacs\ 110225,308952
-stuff_buffered_input \7f10285,311048
-set_waiting_for_input \7f10323,312019
-clear_waiting_for_input \7f10337,312393
-handle_interrupt_signal \7f10351,312757
-deliver_interrupt_signal \7f10378,313645
-static int volatile force_quit_count;\7f10387,313935
-handle_interrupt \7f10401,314417
-quit_throw_to_read_char \7f10541,318714
-DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,\7f10562,319291
-DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,\7fset-input-interrupt-mode\ 110562,319291
-DEFUN ("set-output-flow-control", Fset_output_flow_control,\7f10609,320519
-DEFUN ("set-output-flow-control", Fset_output_flow_control,\7fset-output-flow-control\ 110609,320519
-DEFUN ("set-input-meta-mode", Fset_input_meta_mode,\7f10643,321435
-DEFUN ("set-input-meta-mode", Fset_input_meta_mode,\7fset-input-meta-mode\ 110643,321435
-DEFUN ("set-quit-char", Fset_quit_char,\7f10694,322709
-DEFUN ("set-quit-char", Fset_quit_char,\7fset-quit-char\ 110694,322709
-DEFUN ("set-input-mode", Fset_input_mode,\7f10729,323573
-DEFUN ("set-input-mode", Fset_input_mode,\7fset-input-mode\ 110729,323573
-DEFUN ("current-input-mode", Fcurrent_input_mode,\7f10750,324462
-DEFUN ("current-input-mode", Fcurrent_input_mode,\7fcurrent-input-mode\ 110750,324462
-DEFUN ("posn-at-x-y", Fposn_at_x_y,\7f10787,325840
-DEFUN ("posn-at-x-y", Fposn_at_x_y,\7fposn-at-x-y\ 110787,325840
-DEFUN ("posn-at-point", Fposn_at_point,\7f10824,327063
-DEFUN ("posn-at-point", Fposn_at_point,\7fposn-at-point\ 110824,327063
-init_kboard \7f10861,328217
-allocate_kboard \7f10893,329287
-wipe_kboard \7f10909,329640
-delete_kboard \7f10917,329754
-init_keyboard \7f10942,330284
-struct event_head\7f11021,332699
-static const struct event_head head_table[\7fhead_table\ 111027,332750
-syms_of_keyboard \7f11045,333580
-keys_of_keyboard \7f11841,367118
-mark_kboards \7f11916,370437
-\f
-c-src/emacs/src/lisp.h,20276
-#define EMACS_LISP_H\7f22,801
-#define DECLARE_GDB_SYM(\7f47,1422
-# define DEFINE_GDB_SYMBOL_BEGIN(\7f49,1509
-# define DEFINE_GDB_SYMBOL_END(\7f50,1579
-# define DEFINE_GDB_SYMBOL_BEGIN(\7f52,1626
-# define DEFINE_GDB_SYMBOL_END(\7f53,1703
-#undef min\7f57,1791
-#undef max\7f58,1802
-#define max(\7f59,1813
-#define min(\7f60,1855
-#define ARRAYELTS(\7f63,1937
-#define GCTYPEBITS \7f67,2080
-DEFINE_GDB_SYMBOL_BEGIN \7fGCTYPEBITS\ 166,2038
-# define NONPOINTER_BITS \7f78,2568
-# define NONPOINTER_BITS \7f80,2601
-typedef int EMACS_INT;\7f91,3024
-typedef unsigned int EMACS_UINT;\7f92,3047
-#  define EMACS_INT_MAX \7f93,3080
-#  define pI \7f94,3112
-typedef long int EMACS_INT;\7f96,3204
-typedef unsigned long EMACS_UINT;\7f97,3232
-#  define EMACS_INT_MAX \7f98,3266
-#  define pI \7f99,3299
-typedef long long int EMACS_INT;\7f103,3478
-typedef unsigned long long int EMACS_UINT;\7f104,3511
-#  define EMACS_INT_MAX \7f105,3554
-#  define pI \7f106,3588
-enum {  BOOL_VECTOR_BITS_PER_CHAR \7f114,3805
-#define BOOL_VECTOR_BITS_PER_CHAR \7f115,3841
-typedef size_t bits_word;\7f123,4166
-# define BITS_WORD_MAX \7f124,4192
-enum { BITS_PER_BITS_WORD \7f125,4224
-typedef unsigned char bits_word;\7f127,4291
-# define BITS_WORD_MAX \7f128,4324
-enum { BITS_PER_BITS_WORD \7f129,4387
-    BITS_PER_CHAR \7f136,4571
-    BITS_PER_SHORT \7f137,4606
-    BITS_PER_LONG \7f138,4658
-    BITS_PER_EMACS_INT \7f139,4713
-typedef intmax_t printmax_t;\7f148,5090
-typedef uintmax_t uprintmax_t;\7f149,5119
-# define pMd \7f150,5150
-# define pMu \7f151,5171
-typedef EMACS_INT printmax_t;\7f153,5198
-typedef EMACS_UINT uprintmax_t;\7f154,5228
-# define pMd \7f155,5260
-# define pMu \7f156,5279
-# define pD \7f165,5665
-# define pD \7f167,5710
-# define pD \7f169,5757
-# define pD \7f171,5780
-# define eassert(\7f200,7063
-# define eassume(\7f201,7141
-# define eassert(\7f208,7320
-# define eassume(\7f212,7451
-enum Lisp_Bits\7f239,8520
-#define GCALIGNMENT \7f243,8648
-    VALBITS \7f246,8743
-    INTTYPEBITS \7f249,8839
-    FIXNUM_BITS \7f252,8946
-#define VAL_MAX \7f263,9328
-#define USE_LSB_TAG \7f271,9778
-DEFINE_GDB_SYMBOL_BEGIN \7fUSE_LSB_TAG\ 1270,9734
-# define alignas(\7f281,10078
-# define GCALIGNED \7f288,10228
-# define GCALIGNED \7f290,10293
-# define lisp_h_XLI(\7f327,11643
-# define lisp_h_XIL(\7f328,11674
-# define lisp_h_XLI(\7f330,11725
-# define lisp_h_XIL(\7f331,11752
-#define lisp_h_CHECK_LIST_CONS(\7f333,11786
-#define lisp_h_CHECK_NUMBER(\7f334,11857
-#define lisp_h_CHECK_SYMBOL(\7f335,11928
-#define lisp_h_CHECK_TYPE(\7f336,11997
-#define lisp_h_CONSP(\7f338,12108
-#define lisp_h_EQ(\7f339,12157
-#define lisp_h_FLOATP(\7f340,12202
-#define lisp_h_INTEGERP(\7f341,12253
-#define lisp_h_MARKERP(\7f342,12334
-#define lisp_h_MISCP(\7f343,12409
-#define lisp_h_NILP(\7f344,12458
-#define lisp_h_SET_SYMBOL_VAL(\7f345,12494
-#define lisp_h_SYMBOL_CONSTANT_P(\7f347,12608
-#define lisp_h_SYMBOL_VAL(\7f348,12672
-#define lisp_h_SYMBOLP(\7f350,12773
-#define lisp_h_VECTORLIKEP(\7f351,12826
-#define lisp_h_XCAR(\7f352,12887
-#define lisp_h_XCDR(\7f353,12925
-#define lisp_h_XCONS(\7f354,12965
-#define lisp_h_XHASH(\7f356,13060
-#define lisp_h_XPNTR(\7f357,13094
-# define lisp_h_check_cons_list(\7f360,13222
-# define lisp_h_make_number(\7f363,13290
-# define lisp_h_XFASTINT(\7f365,13393
-# define lisp_h_XINT(\7f366,13430
-# define lisp_h_XSYMBOL(\7f367,13479
-# define lisp_h_XTYPE(\7f371,13632
-# define lisp_h_XUNTAG(\7f372,13697
-# define XLI(\7f381,14087
-# define XIL(\7f382,14118
-# define CHECK_LIST_CONS(\7f383,14149
-# define CHECK_NUMBER(\7f384,14210
-# define CHECK_SYMBOL(\7f385,14259
-# define CHECK_TYPE(\7f386,14308
-# define CONSP(\7f387,14383
-# define EQ(\7f388,14418
-# define FLOATP(\7f389,14453
-# define INTEGERP(\7f390,14490
-# define MARKERP(\7f391,14531
-# define MISCP(\7f392,14570
-# define NILP(\7f393,14605
-# define SET_SYMBOL_VAL(\7f394,14638
-# define SYMBOL_CONSTANT_P(\7f395,14701
-# define SYMBOL_VAL(\7f396,14764
-# define SYMBOLP(\7f397,14813
-# define VECTORLIKEP(\7f398,14852
-# define XCAR(\7f399,14899
-# define XCDR(\7f400,14932
-# define XCONS(\7f401,14965
-# define XHASH(\7f402,15000
-# define XPNTR(\7f403,15035
-#  define check_cons_list(\7f405,15098
-#  define make_number(\7f408,15177
-#  define XFASTINT(\7f409,15225
-#  define XINT(\7f410,15267
-#  define XSYMBOL(\7f411,15301
-#  define XTYPE(\7f412,15341
-#  define XUNTAG(\7f413,15377
-#define LISP_MACRO_DEFUN(\7f421,15673
-#define LISP_MACRO_DEFUN_VOID(\7f425,15846
-#define INTMASK \7f437,16290
-#define case_Lisp_Int \7f438,16343
-#define ENUM_BF(\7f445,16682
-#define ENUM_BF(\7f447,16723
-enum Lisp_Type\7f451,16764
-    Lisp_Symbol \7f454,16852
-    Lisp_Misc \7f458,16994
-    Lisp_Int0 \7f461,17068
-    Lisp_Int1 \7f462,17087
-    Lisp_String \7f466,17265
-    Lisp_Vectorlike \7f472,17544
-    Lisp_Cons \7f475,17633
-    Lisp_Float \7f477,17671
-enum Lisp_Misc_Type\7f485,18017
-    Lisp_Misc_Free \7f487,18041
-    Lisp_Misc_Marker,\7f488,18070
-    Lisp_Misc_Overlay,\7f489,18092
-    Lisp_Misc_Save_Value,\7f490,18115
-    Lisp_Misc_Finalizer,\7f491,18141
-    Lisp_Misc_Float,\7f494,18276
-    Lisp_Misc_Limit\7f496,18360
-enum Lisp_Fwd_Type\7f502,18544
-    Lisp_Fwd_Int,\7f504,18567
-    Lisp_Fwd_Bool,\7f505,18620
-    Lisp_Fwd_Obj,\7f506,18671
-    Lisp_Fwd_Buffer_Obj,\7f507,18730
-    Lisp_Fwd_Kboard_Obj        \7f508,18801
-typedef struct { EMACS_INT i; } Lisp_Object;\7f567,21772
-#define LISP_INITIALLY(\7f569,21818
-#undef CHECK_LISP_OBJECT_TYPE\7f571,21849
-enum CHECK_LISP_OBJECT_TYPE \7f572,21879
-enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE \7f572,21879
-typedef EMACS_INT Lisp_Object;\7f577,22055
-#define LISP_INITIALLY(\7f578,22086
-enum CHECK_LISP_OBJECT_TYPE \7f579,22116
-enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE \7f579,22116
-#define LISP_INITIALLY_ZERO \7f582,22217
-enum symbol_interned\7f639,24190
-  SYMBOL_UNINTERNED \7f641,24213
-  SYMBOL_INTERNED \7f642,24238
-  SYMBOL_INTERNED_IN_INITIAL_OBARRAY \7f643,24261
-enum symbol_redirect\7f646,24306
-  SYMBOL_PLAINVAL \7f648,24329
-  SYMBOL_VARALIAS \7f649,24353
-  SYMBOL_LOCALIZED \7f650,24377
-  SYMBOL_FORWARDED \7f651,24401
-struct Lisp_Symbol\7f654,24428
-#define EXFUN(\7f707,26243
-#define DEFUN_ARGS_MANY        \7f712,26437
-#define DEFUN_ARGS_UNEVALLED   \7f713,26489
-#define DEFUN_ARGS_0   \7f714,26532
-#define DEFUN_ARGS_1   \7f715,26560
-#define DEFUN_ARGS_2   \7f716,26595
-#define DEFUN_ARGS_3   \7f717,26643
-#define DEFUN_ARGS_4   \7f718,26704
-#define DEFUN_ARGS_5   \7f719,26778
-#define DEFUN_ARGS_6   \7f721,26871
-#define DEFUN_ARGS_7   \7f723,26977
-#define DEFUN_ARGS_8   \7f725,27096
-#define TAG_PTR(\7f729,27287
-#define TAG_SYMOFFSET(\7f734,27534
-#define XLI_BUILTIN_LISPSYM(\7f741,27833
-#define DEFINE_LISP_SYMBOL(\7f746,28092
-# define DEFINE_NON_NIL_Q_SYMBOL_MACROS \7f755,28563
-LISP_MACRO_DEFUN \7f762,28768
-# define ARRAY_MARK_FLAG \7f768,29015
-# define PSEUDOVECTOR_FLAG \7f774,29258
-enum pvec_type\7f780,29559
-  PVEC_NORMAL_VECTOR,\7f782,29576
-  PVEC_FREE,\7f783,29598
-  PVEC_PROCESS,\7f784,29611
-  PVEC_FRAME,\7f785,29627
-  PVEC_WINDOW,\7f786,29641
-  PVEC_BOOL_VECTOR,\7f787,29656
-  PVEC_BUFFER,\7f788,29676
-  PVEC_HASH_TABLE,\7f789,29691
-  PVEC_TERMINAL,\7f790,29710
-  PVEC_WINDOW_CONFIGURATION,\7f791,29727
-  PVEC_SUBR,\7f792,29756
-  PVEC_OTHER,\7f793,29769
-  PVEC_COMPILED,\7f795,29847
-  PVEC_CHAR_TABLE,\7f796,29864
-  PVEC_SUB_CHAR_TABLE,\7f797,29883
-  PVEC_FONT \7f798,29906
-enum More_Lisp_Bits\7f801,29982
-    PSEUDOVECTOR_SIZE_BITS \7f808,30373
-    PSEUDOVECTOR_SIZE_MASK \7f809,30406
-    PSEUDOVECTOR_REST_BITS \7f813,30616
-    PSEUDOVECTOR_REST_MASK \7f814,30649
-    PSEUDOVECTOR_AREA_BITS \7f818,30814
-    PVEC_TYPE_MASK \7f819,30892
-# define VALMASK \7f829,31293
-DEFINE_GDB_SYMBOL_BEGIN \7fVALMASK\ 1828,31248
-#define MOST_POSITIVE_FIXNUM \7f834,31523
-#define MOST_NEGATIVE_FIXNUM \7f835,31583
-XINT \7f874,32675
-XFASTINT \7f889,33026
-XSYMBOL \7f899,33254
-XTYPE \7f910,33472
-XUNTAG \7f918,33652
-LISP_MACRO_DEFUN \7f927,33848
-LISP_MACRO_DEFUN \7f940,34233
-#define FIXNUM_OVERFLOW_P(\7f958,34846
-LISP_MACRO_DEFUN \7fFIXNUM_OVERFLOW_P\ 1952,34623
-LISP_MACRO_DEFUN \7f970,35162
-XSTRING \7f980,35382
-#define SYMBOL_INDEX(\7f988,35566
-XFLOAT \7f991,35627
-XPROCESS \7f1000,35769
-XWINDOW \7f1007,35886
-XTERMINAL \7f1014,36003
-XSUBR \7f1021,36125
-XBUFFER \7f1028,36236
-XCHAR_TABLE \7f1035,36360
-XSUB_CHAR_TABLE \7f1042,36497
-XBOOL_VECTOR \7f1049,36639
-make_lisp_ptr \7f1058,36818
-make_lisp_symbol \7f1066,37004
-builtin_lisp_symbol \7f1074,37188
-#define XSETINT(\7f1079,37270
-#define XSETFASTINT(\7f1080,37316
-#define XSETCONS(\7f1081,37366
-#define XSETVECTOR(\7f1082,37426
-#define XSETSTRING(\7f1083,37494
-#define XSETSYMBOL(\7f1084,37558
-#define XSETFLOAT(\7f1085,37612
-#define XSETMISC(\7f1086,37674
-#define XSETPVECTYPE(\7f1090,37763
-#define XSETPVECTYPESIZE(\7f1092,37879
-#define XSETPSEUDOVECTOR(\7f1099,38176
-#define XSETTYPED_PSEUDOVECTOR(\7f1105,38360
-#define XSETWINDOW_CONFIGURATION(\7f1110,38570
-#define XSETPROCESS(\7f1112,38666
-#define XSETWINDOW(\7f1113,38732
-#define XSETTERMINAL(\7f1114,38796
-#define XSETSUBR(\7f1115,38864
-#define XSETCOMPILED(\7f1116,38924
-#define XSETBUFFER(\7f1117,38992
-#define XSETCHAR_TABLE(\7f1118,39056
-#define XSETBOOL_VECTOR(\7f1119,39128
-#define XSETSUB_CHAR_TABLE(\7f1120,39202
-XINTPTR \7f1128,39572
-make_pointer_integer \7f1134,39652
-LISP_MACRO_DEFUN_VOID \7f1143,39817
-typedef struct interval *INTERVAL;\7fINTERVAL\ 11149,39978
-xcar_addr \7f1174,40751
-xcdr_addr \7f1179,40828
-LISP_MACRO_DEFUN \7f1185,40922
-XSETCDR \7f1198,41298
-CAR \7f1205,41448
-CDR \7f1212,41582
-CAR_SAFE \7f1221,41782
-CDR_SAFE \7f1226,41868
-STRING_MULTIBYTE \7f1243,42241
-#define STRING_BYTES_BOUND \7f1261,43048
-#define STRING_SET_UNIBYTE(\7f1265,43192
-#define STRING_SET_MULTIBYTE(\7f1275,43507
-SDATA \7f1286,43821
-SSDATA \7f1291,43899
-SREF \7f1297,44028
-SSET \7f1302,44119
-SCHARS \7f1307,44233
-STRING_BYTES \7f1316,44406
-SBYTES \7f1326,44586
-STRING_SET_CHARS \7f1331,44672
-struct vectorlike_header\7f1343,45223
-struct Lisp_Vector\7f1369,46473
-    ALIGNOF_STRUCT_LISP_VECTOR\7f1378,46672
-struct Lisp_Bool_Vector\7f1384,46855
-bool_vector_size \7f1399,47376
-bool_vector_data \7f1407,47514
-bool_vector_uchar_data \7f1413,47608
-bool_vector_words \7f1421,47794
-bool_vector_bytes \7f1428,47989
-bool_vector_bitref \7f1437,48229
-bool_vector_ref \7f1445,48469
-bool_vector_set \7f1453,48609
-    header_size \7f1471,49038
-    bool_header_size \7f1472,49097
-    word_size \7f1473,49162
-AREF \7f1479,49275
-aref_addr \7f1485,49382
-ASIZE \7f1491,49492
-ASET \7f1497,49574
-gc_aset \7f1504,49733
-enum { NIL_IS_ZERO \7f1515,50260
-memclear \7f1520,50455
-#define VECSIZE(\7f1531,50753
-#define PSEUDOVECSIZE(\7f1538,51038
-#define UNSIGNED_CMP(\7f1546,51471
-#define ASCII_CHAR_P(\7f1552,51725
-enum CHARTAB_SIZE_BITS\7f1565,52480
-    CHARTAB_SIZE_BITS_0 \7f1567,52507
-    CHARTAB_SIZE_BITS_1 \7f1568,52536
-    CHARTAB_SIZE_BITS_2 \7f1569,52565
-    CHARTAB_SIZE_BITS_3 \7f1570,52594
-struct Lisp_Char_Table\7f1575,52663
-struct Lisp_Sub_Char_Table\7f1606,53743
-CHAR_TABLE_REF_ASCII \7f1628,54557
-CHAR_TABLE_REF \7f1648,55104
-CHAR_TABLE_SET \7f1658,55393
-struct Lisp_Subr\7f1670,55777
-enum char_table_specials\7f1692,56789
-    CHAR_TABLE_STANDARD_SLOTS \7f1697,56984
-    SUB_CHAR_TABLE_OFFSET \7f1701,57205
-CHAR_TABLE_EXTRA_SLOTS \7f1707,57368
-LISP_MACRO_DEFUN \7f1723,57912
-SYMBOL_BLV \7f1732,58172
-SYMBOL_FWD \7f1738,58307
-LISP_MACRO_DEFUN_VOID \7f1744,58419
-SET_SYMBOL_BLV \7f1754,58682
-SET_SYMBOL_FWD \7f1760,58841
-SYMBOL_NAME \7f1767,58992
-SYMBOL_INTERNED_P \7f1775,59121
-SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P \7f1783,59290
-#define DEFSYM(\7f1796,59800
-LISP_MACRO_DEFUN \7fDEFSYM\ 11792,59621
-struct hash_table_test\7f1805,60053
-struct Lisp_Hash_Table\7f1823,60546
-XHASH_TABLE \7f1880,62522
-#define XSET_HASH_TABLE(\7f1885,62593
-HASH_TABLE_P \7f1889,62694
-HASH_KEY \7f1896,62851
-HASH_VALUE \7f1903,63031
-HASH_NEXT \7f1911,63245
-HASH_HASH \7f1918,63422
-HASH_INDEX \7f1926,63668
-HASH_TABLE_SIZE \7f1933,63817
-enum DEFAULT_HASH_SIZE \7f1940,63947
-enum DEFAULT_HASH_SIZE { DEFAULT_HASH_SIZE \7f1940,63947
-static double const DEFAULT_REHASH_THRESHOLD \7f1946,64167
-static double const DEFAULT_REHASH_SIZE \7f1950,64290
-sxhash_combine \7f1956,64456
-SXHASH_REDUCE \7f1964,64639
-struct Lisp_Misc_Any   \7f1971,64797
-struct Lisp_Marker\7f1978,64971
-struct Lisp_Overlay\7f2021,66832
-    SAVE_UNUSED,\7f2047,67635
-    SAVE_INTEGER,\7f2048,67652
-    SAVE_FUNCPOINTER,\7f2049,67670
-    SAVE_POINTER,\7f2050,67692
-    SAVE_OBJECT\7f2051,67710
-enum { SAVE_SLOT_BITS \7f2055,67795
-enum { SAVE_VALUE_SLOTS \7f2058,67892
-enum { SAVE_TYPE_BITS \7f2062,68000
-enum Lisp_Save_Type\7f2064,68066
-    SAVE_TYPE_INT_INT \7f2066,68090
-    SAVE_TYPE_INT_INT_INT\7f2067,68163
-    SAVE_TYPE_OBJ_OBJ \7f2069,68253
-    SAVE_TYPE_OBJ_OBJ_OBJ \7f2070,68324
-    SAVE_TYPE_OBJ_OBJ_OBJ_OBJ\7f2071,68405
-    SAVE_TYPE_PTR_INT \7f2073,68500
-    SAVE_TYPE_PTR_OBJ \7f2074,68573
-    SAVE_TYPE_PTR_PTR \7f2075,68645
-    SAVE_TYPE_FUNCPTR_PTR_OBJ\7f2076,68718
-    SAVE_TYPE_MEMORY \7f2080,68876
-typedef void (*voidfuncptr)\7fvoidfuncptr\ 12108,69830
-struct Lisp_Save_Value\7f2110,69867
-save_type \7f2134,70746
-XSAVE_POINTER \7f2143,70976
-set_save_pointer \7f2149,71138
-XSAVE_FUNCPOINTER \7f2155,71320
-XSAVE_INTEGER \7f2164,71540
-set_save_integer \7f2170,71702
-XSAVE_OBJECT \7f2179,71923
-struct Lisp_Finalizer\7f2186,72100
-struct Lisp_Free\7f2201,72575
-union Lisp_Misc\7f2212,72876
-XMISC \7f2223,73175
-XMISCANY \7f2229,73264
-XMISCTYPE \7f2236,73373
-XMARKER \7f2242,73461
-XOVERLAY \7f2249,73576
-XSAVE_VALUE \7f2256,73697
-XFINALIZER \7f2263,73826
-struct Lisp_Intfwd\7f2274,74111
-struct Lisp_Boolfwd\7f2284,74405
-struct Lisp_Objfwd\7f2294,74696
-struct Lisp_Buffer_Objfwd\7f2302,74928
-struct Lisp_Buffer_Local_Value\7f2334,76464
-struct Lisp_Kboard_Objfwd\7f2362,77723
-union Lisp_Fwd\7f2368,77832
-XFWDTYPE \7f2378,78078
-XBUFFER_OBJFWD \7f2384,78174
-struct Lisp_Float\7f2391,78310
-XFLOAT_DATA \7f2401,78428
-    IEEE_FLOATING_POINT\7f2415,78937
-#define _UCHAR_T\7f2423,79260
-typedef unsigned char UCHAR;\7f2424,79277
-enum Lisp_Compiled\7f2429,79360
-    COMPILED_ARGLIST \7f2431,79383
-    COMPILED_BYTECODE \7f2432,79409
-    COMPILED_CONSTANTS \7f2433,79436
-    COMPILED_STACK_DEPTH \7f2434,79464
-    COMPILED_DOC_STRING \7f2435,79494
-    COMPILED_INTERACTIVE \7f2436,79523
-enum char_bits\7f2443,79825
-    CHAR_ALT \7f2445,79844
-    CHAR_SUPER \7f2446,79870
-    CHAR_HYPER \7f2447,79898
-    CHAR_SHIFT \7f2448,79926
-    CHAR_CTL \7f2449,79954
-    CHAR_META \7f2450,79980
-    CHAR_MODIFIER_MASK \7f2452,80008
-    CHARACTERBITS \7f2457,80203
-LISP_MACRO_DEFUN \7f2462,80261
-NATNUMP \7f2470,80403
-RANGED_INTEGERP \7f2476,80484
-#define TYPE_RANGED_INTEGERP(\7f2481,80606
-LISP_MACRO_DEFUN \7f2486,80791
-VECTORP \7f2500,81264
-OVERLAYP \7f2505,81367
-SAVE_VALUEP \7f2510,81466
-FINALIZERP \7f2516,81572
-AUTOLOADP \7f2522,81676
-BUFFER_OBJFWDP \7f2528,81767
-PSEUDOVECTOR_TYPEP \7f2534,81865
-PSEUDOVECTORP \7f2542,82118
-WINDOW_CONFIGURATIONP \7f2558,82470
-PROCESSP \7f2564,82580
-WINDOWP \7f2570,82664
-TERMINALP \7f2576,82746
-SUBRP \7f2582,82832
-COMPILEDP \7f2588,82910
-BUFFERP \7f2594,82996
-CHAR_TABLE_P \7f2600,83078
-SUB_CHAR_TABLE_P \7f2606,83169
-BOOL_VECTOR_P \7f2612,83268
-FRAMEP \7f2618,83361
-IMAGEP \7f2625,83478
-ARRAYP \7f2632,83583
-CHECK_LIST \7f2638,83702
-LISP_MACRO_DEFUN_VOID \7f2643,83783
-CHECK_STRING_CAR \7f2653,84080
-CHECK_CONS \7f2658,84184
-CHECK_VECTOR \7f2663,84264
-CHECK_BOOL_VECTOR \7f2668,84350
-CHECK_VECTOR_OR_STRING \7f2674,84527
-CHECK_ARRAY \7f2683,84701
-CHECK_BUFFER \7f2688,84809
-CHECK_WINDOW \7f2693,84895
-CHECK_PROCESS \7f2699,85001
-CHECK_NATNUM \7f2705,85097
-#define CHECK_RANGED_INTEGER(\7f2710,85174
-#define CHECK_TYPE_RANGED_INTEGER(\7f2721,85557
-#define CHECK_NUMBER_COERCE_MARKER(\7f2729,85827
-XFLOATINT \7f2738,86080
-CHECK_NUMBER_OR_FLOAT \7f2744,86151
-#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(\7f2749,86250
-CHECK_NUMBER_CAR \7f2760,86660
-CHECK_NUMBER_CDR \7f2768,86782
-#define DEFUN(\7f2803,88377
-#define DEFUN(\7f2812,88845
-FUNCTIONP \7f2822,89200
-enum maxargs\7f2831,89395
-    MANY \7f2833,89412
-    UNEVALLED \7f2834,89427
-#define CALLMANY(\7f2838,89530
-#define CALLN(\7f2844,89883
-#define DEFVAR_LISP(\7f2869,91088
-#define DEFVAR_LISP_NOPRO(\7f2874,91260
-#define DEFVAR_BOOL(\7f2879,91442
-#define DEFVAR_INT(\7f2884,91615
-#define DEFVAR_BUFFER_DEFAULTS(\7f2890,91786
-#define DEFVAR_KBOARD(\7f2896,91990
-typedef jmp_buf sys_jmp_buf;\7f2906,92314
-# define sys_setjmp(\7f2907,92343
-# define sys_longjmp(\7f2908,92378
-typedef sigjmp_buf sys_jmp_buf;\7f2910,92450
-# define sys_setjmp(\7f2911,92482
-# define sys_longjmp(\7f2912,92522
-typedef jmp_buf sys_jmp_buf;\7f2916,92681
-# define sys_setjmp(\7f2917,92710
-# define sys_longjmp(\7f2918,92744
-enum specbind_tag \7f2943,93796
-  SPECPDL_UNWIND,\7f2944,93816
-  SPECPDL_UNWIND_PTR,\7f2945,93885
-  SPECPDL_UNWIND_INT,\7f2946,93936
-  SPECPDL_UNWIND_VOID,\7f2947,93984
-  SPECPDL_BACKTRACE,\7f2948,94038
-  SPECPDL_LET,\7f2949,94096
-  SPECPDL_LET_LOCAL,\7f2951,94226
-  SPECPDL_LET_DEFAULT  \7f2952,94283
-union specbinding\7f2955,94355
-SPECPDL_INDEX \7f2996,95379
-enum handlertype \7f3021,96401
-enum handlertype { CATCHER,\7f3021,96401
-enum handlertype { CATCHER, CONDITION_CASE \7f3021,96401
-struct handler\7f3023,96448
-#define PUSH_HANDLER(\7f3053,97437
-#define QUIT   \7f3101,99214
-#define QUITP \7f3112,99464
-struct gcpro\7f3132,100307
-#define GC_USE_GCPROS_AS_BEFORE        \7f3171,101288
-#define GC_MAKE_GCPROS_NOOPS   \7f3172,101323
-#define GC_MARK_STACK_CHECK_GCPROS     \7f3173,101355
-#define GC_USE_GCPROS_CHECK_ZOMBIES    \7f3174,101392
-#define GC_MARK_STACK \7f3177,101453
-#define BYTE_MARK_STACK \7f3181,101553
-#define GCPRO1(\7f3190,101824
-#define GCPRO2(\7f3191,101864
-#define GCPRO3(\7f3192,101930
-#define GCPRO4(\7f3194,102025
-#define GCPRO5(\7f3196,102145
-#define GCPRO6(\7f3198,102290
-#define GCPRO7(\7f3201,102465
-#define UNGCPRO \7f3202,102544
-#define GCPRO1(\7f3208,102644
-#define GCPRO2(\7f3212,102766
-#define GCPRO3(\7f3217,102958
-#define GCPRO4(\7f3223,103220
-#define GCPRO5(\7f3230,103551
-#define GCPRO6(\7f3238,103952
-#define GCPRO7(\7f3247,104422
-#define UNGCPRO \7f3257,104962
-#define GCPRO1(\7f3263,105056
-#define GCPRO2(\7f3269,105290
-#define GCPRO3(\7f3278,105708
-#define GCPRO4(\7f3289,106265
-#define GCPRO5(\7f3302,106963
-#define GCPRO6(\7f3317,107803
-#define GCPRO7(\7f3334,108784
-#define UNGCPRO        \7f3353,109907
-#define RETURN_UNGCPRO(\7f3363,110174
-vcopy \7f3384,110648
-set_hash_key_slot \7f3393,110923
-set_hash_value_slot \7f3399,111062
-set_symbol_function \7f3408,111297
-set_symbol_plist \7f3414,111412
-set_symbol_next \7f3420,111515
-blv_found \7f3428,111688
-set_overlay_plist \7f3437,111871
-string_intervals \7f3445,112022
-set_string_intervals \7f3453,112144
-set_char_table_defalt \7f3462,112346
-set_char_table_purpose \7f3467,112458
-set_char_table_extras \7f3475,112627
-set_char_table_contents \7f3482,112836
-set_sub_char_table_contents \7f3489,113031
-enum Arith_Comparison \7f3497,113294
-  ARITH_EQUAL,\7f3498,113318
-  ARITH_NOTEQUAL,\7f3499,113333
-  ARITH_LESS,\7f3500,113351
-  ARITH_GRTR,\7f3501,113365
-  ARITH_LESS_OR_EQUAL,\7f3502,113379
-  ARITH_GRTR_OR_EQUAL\7f3503,113402
-#define INTEGER_TO_CONS(\7f3511,113753
-#define CONS_TO_INTEGER(\7f3529,114616
-enum { NEXT_ALMOST_PRIME_LIMIT \7f3573,116320
-extern EMACS_INT next_almost_prime \7f3574,116359
-enum constype \7f3739,123811
-enum constype {CONSTYPE_HEAP,\7fCONSTYPE_HEAP\ 13739,123811
-enum constype {CONSTYPE_HEAP, CONSTYPE_PURE}\7fCONSTYPE_PURE\ 13739,123811
-list2i \7f3745,124001
-list3i \7f3751,124110
-list4i \7f3757,124249
-extern Lisp_Object make_formatted_string \7f3767,124625
-build_pure_c_string \7f3792,125653
-build_string \7f3801,125858
-make_uninit_vector \7f3820,126429
-make_uninit_sub_char_table \7f3833,126648
-#define ALLOCATE_PSEUDOVECTOR(\7f3850,127192
-#define ALLOCATE_ZEROED_PSEUDOVECTOR(\7f3858,127528
-INLINE void \7f3890,128934
-extern void *r_alloc \7fr_alloc\ 13895,129055
-#define FLOAT_TO_STRING_BUFSIZE \7f3927,130518
-intern \7f3968,132125
-intern_c_string \7f3974,132213
-extern _Noreturn void error \7f4034,135592
-fast_string_match_ignore_case \7f4136,140080
-INLINE void fixup_locale \7f4241,143845
-INLINE void synchronize_system_messages_locale \7f4242,143880
-INLINE void synchronize_system_time_locale \7f4243,143937
-#define IS_DAEMON \7f4257,144410
-#define DAEMON_RUNNING \7f4258,144450
-#define IS_DAEMON \7f4261,144549
-#define DAEMON_RUNNING \7f4262,144594
-# define WAIT_READING_MAX \7f4281,145413
-# define WAIT_READING_MAX \7f4283,145485
-extern _Noreturn void emacs_abort \7f4374,148377
-egetenv \7f4532,152800
-#define eabs(\7f4545,153296
-#define make_fixnum_or_float(\7f4550,153429
-enum MAX_ALLOCA \7f4556,153680
-enum MAX_ALLOCA { MAX_ALLOCA \7f4556,153680
-extern void *record_xmalloc \7frecord_xmalloc\ 14558,153725
-#define USE_SAFE_ALLOCA        \7f4560,153791
-#define AVAIL_ALLOCA(\7f4564,153924
-#define SAFE_ALLOCA(\7f4568,154035
-#define SAFE_NALLOCA(\7f4576,154376
-#define SAFE_ALLOCA_STRING(\7f4590,154852
-#define SAFE_FREE(\7f4598,155104
-#define SAFE_ALLOCA_LISP(\7f4625,155682
-# define USE_STACK_LISP_OBJECTS \7f4652,156804
-# undef USE_STACK_LISP_OBJECTS\7f4658,156970
-# define USE_STACK_LISP_OBJECTS \7f4659,157001
-enum { defined_GC_CHECK_STRING_BYTES \7f4663,157076
-enum { defined_GC_CHECK_STRING_BYTES \7f4665,157129
-union Aligned_Cons\7f4670,157263
-union Aligned_String\7f4676,157343
-    USE_STACK_CONS \7f4689,157698
-    USE_STACK_STRING \7f4691,157804
-#define STACK_CONS(\7f4699,158141
-#define AUTO_CONS_EXPR(\7f4701,158238
-#define AUTO_CONS(\7f4709,158601
-#define AUTO_LIST1(\7f4710,158672
-#define AUTO_LIST2(\7f4712,158780
-#define AUTO_LIST3(\7f4716,158935
-#define AUTO_LIST4(\7f4720,159110
-# define verify_ascii(\7f4732,159501
-#define AUTO_STRING(\7f4740,159809
-#define FOR_EACH_TAIL(\7f4752,160273
-#define FOR_EACH_ALIST_VALUE(\7f4766,160764
-maybe_gc \7f4774,161051
-functionp \7f4784,161290
-\f
-c-src/machsyscalls.c,23
-#define        SYSCALL(\7f6,113
-\f
-c-src/machsyscalls.h,159
-SYSCALL (mach_msg_trap,\7f1,0
-SYSCALL (mach_reply_port,\7f13,314
-SYSCALL (mach_thread_self,\7f18,377
-SYSCALL (mach_task_self,\7f23,441
-SYSCALL (mach_host_self,\7f28,503
-\f
-c-src/h.h,1850
-   ELEM_I/\7fELEM_I\ 13,15
-} Fails_t;\7f5,85
-typedef void Lang_function \7f6,96
-typedef struct tpcmd\7f8,147
-#define ggg \7f10,170
-tpcmd;\7f15,209
-typedef struct foobar2_ \7f16,216
-} foobar2;\7f20,307
-    DEVICE_SWP,\7f23,333
-    DEVICE_LAST\7f24,349
-} bsp_DevId;\7f25,365
-  struct constant_args \7f27,394
-} args;\7f30,457
-typedef int *regset;\7fregset\ 131,465
-typedef int INT;\7f32,486
-typedef union abc\7f33,503
-} ghi1;\7f36,534
-typedef union abc \7f37,542
-} ghi2;\7f39,573
-typedef struct a \7f40,581
-} b;\7f41,600
-#define c(\7f42,605
-typedef struct an_extern_linkage *an_extern_linkage_ptr;\7fan_extern_linkage_ptr\ 143,619
-typedef struct an_extern_linkage \7f44,676
-} an_extern_linkage;\7f56,1054
-typedef struct pollfd   pfdset[\7fpfdset\ 157,1075
-typedef union rtunion_def\7f58,1119
-  } womboid \7f63,1206
-typedef union rtunion_def\7f64,1220
-womboid\7f75,1330
-enum {dog,\7fdog\ 181,1416
-enum {dog, cat}\7fcat\ 181,1416
-enum {dog, cat} animals;\7f81,1416
-typedef void (_CALLBACK_ *signal_handler)\7fsignal_handler\ 182,1441
-typedef void (_CALLBACK_ *signal_handler1)\7fsignal_handler1\ 183,1489
-/* comment */ #define ANSIC\7f84,1538
- #define ANSIC\7f85,1566
-typedef void (proc)\7f87,1588
-typedef void OperatorFun(\7f88,1612
-typedef int f(\7f89,1648
-struct my_struct \7f91,1691
-typedef struct my_struct my_typedef;\7f93,1713
-typedef RETSIGTYPE (*signal_handler_t)\7fsignal_handler_t\ 194,1750
-  Date 04 May 87 235311 PDT \7f96,1802
-typedef unsigned char unchar;\7f99,1880
-typedef int X,\7f100,1910
-typedef int X, Y,\7f100,1910
-typedef int X, Y, Z;\7f100,1910
-typedef mio mao;\7f101,1931
-typedef struct a \7f103,1966
-typedef struct a { } b;\7f103,1966
-typedef struct b\7f104,1990
-} c;\7f106,2009
-int extvar;\7f109,2053
-#define tag1\7f110,2065
-#define aaaaaa \7f111,2078
-#define bbbbbb\\7fbbbbbb\ 1113,2102
-#define cccccccccc\7f115,2125
-#define enter_critical_section \7f116,2144
-#define exit_critical_to_previous      \7f117,2199
-#define UNDEFINED\7f118,2259
-struct re_pattern_buffer \7f119,2277
-\f
-cp-src/c.C,2094
-template <typename ipc3dIslandHierarchy,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels, typename ipc3dLinkControl,\7f1,0
-class CMultiChannelCSC19_3D\7f2,151
-        void execute(\7f11,493
-int main \7f25,1026
-double base \7f26,1088
-typedef struct s1 \7f32,1251
-} t1;\7f34,1287
-struct s2 \7f35,1293
-typedef struct s2 t2;\7f38,1324
-class A \7f39,1346
-  enum { rosso,\7f40,1356
-  enum { rosso, giallo,\7f40,1356
-  enum { rosso, giallo, verde \7f40,1356
-const A& A::operator+(\7foperator+\ 143,1431
-void operator+(\7f44,1467
-void operator -(\7foperator -\ 145,1495
-void operator int(\7foperator int\ 146,1524
-A<int>* f(\7f48,1556
-int f(\7f49,1571
-int A<int>::f(\7ff\ 150,1590
-A<float,B<int> > A<B<float>,int>::f(\7ff\ 151,1618
-template <class C, int n> class AT \7f52,1668
-class AU \7f53,1716
-class B<\7fB\ 154,1735
-class B<int> { void f(\7f54,1735
-const A::B::T& abt \7f55,1766
-class A \7f56,1792
-class A { class B \7f56,1792
-class A \7f57,1827
-  A operator+(\7f59,1861
-is_muldiv_operation(\7f61,1888
-domain foo \7f68,1956
-     void f(\7f69,1969
-void A::A(\7fA\ 172,1990
-struct A \7f73,2005
-struct B \7f74,2023
-void B::B(\7fB\ 175,2042
-void BE_Node::BE_Node(\7fBE_Node\ 176,2057
-class BE_Node \7f77,2084
-struct foo \7f79,2103
-class test \7f86,2157
-  int f(\7f87,2170
-  int ff(\7f89,2232
-  int g(\7f90,2255
-class  AST_Root \7f92,2279
-AST_ConcreteType::AST_ConcreteType(\7f99,2394
-AST_Array::AST_Array(\7f107,2533
-     void f(\7f115,2734
-struct A \7f117,2754
-A::~A(\7f~A\ 1120,2778
-struct B \7f122,2790
-    ~B(\7f123,2801
-enum {dog,\7fdog\ 1126,2818
-enum {dog, cat}\7fcat\ 1126,2818
-enum {dog, cat} animals;\7f126,2818
-struct {int teats;} cow;\7f127,2843
-class Boo \7f129,2869
-    enum {dog,\7fdog\ 1130,2881
-    enum {dog, cat}\7fcat\ 1130,2881
-    foo(\7f133,2955
-    Boo(\7f137,2996
-Boo::Boo(\7f141,3071
-typedef int should_see_this_one_enclosed_in_extern_C;\7f149,3156
-typedef int (*should_see_this_function_pointer)\7fshould_see_this_function_pointer\ 1153,3229
-typedef int should_see_this_array_type[\7fshould_see_this_array_type\ 1156,3311
-\f
-cp-src/x.cc,63
-class XX\7f1,0
-XX::foo(\7ffoo\ 19,60
-XX::bar(\7fbar\ 115,95
-main(\7f21,126
-\f
-cp-src/burton.cpp,124
-::dummy::dummy test::dummy1(\7fdummy1\ 11,0
-::dummy::dummy test::dummy2(\7fdummy2\ 16,64
-::dummy::dummy test::dummy3(\7fdummy3\ 111,143
-\f
-cp-src/functions.cpp,778
-void Date::setDate \7fsetDate\ 15,148
-void Date::plus \7fplus\ 132,938
-void Date::minus \7fminus\ 142,1226
-void Date::shift \7fshift\ 152,1404
-Date & Date::operator = \7foperator =\ 162,1625
-Date & Date::operator += \7foperator +=\ 169,1786
-Date & Date::operator -= \7foperator -=\ 178,1935
-Date & Date::operator ++ \7foperator ++\ 187,2076
-Date & Date::operator -- \7foperator --\ 196,2212
-int Date::operator - \7foperator -\ 1104,2327
-int Date::operator < \7foperator <\ 1112,2479
-int Date::operator > \7foperator >\ 1116,2553
-int Date::operator == \7foperator ==\ 1120,2627
-ostream& operator << \7foperator <<\ 1124,2703
-istream& operator >> \7foperator >>\ 1133,2939
-bool isLeap \7f159,3539
-bool isHoliday \7f163,3625
-void asort(\7f173,3861
-void ReadVacation \7f186,4060
-void Debug \7f201,4519
-int WorkingDays(\7f211,4863
-Date StartDay(\7f226,5125
-\f
-cp-src/MDiagArray2.h,482
-#define octave_MDiagArray2_h \7f29,870
-#undef LTGT\7f35,967
-#define LTGT\7f39,1031
-#define LTGT \7f42,1051
-class MDiagArray2 \7f78,2022
-  MDiagArray2 \7f82,2077
-  MDiagArray2 \7f86,2154
-  MDiagArray2 \7f87,2198
-  MDiagArray2 \7f88,2254
-  MDiagArray2 \7f89,2329
-  MDiagArray2 \7f90,2387
-  MDiagArray2 \7f91,2450
-  ~MDiagArray2 \7f93,2515
-  MDiagArray2<T>& operator = \7foperator =\ 195,2542
-  operator MArray2<T> \7foperator MArray2<T>\ 1101,2667
-#undef LTGT\7f144,3874
-#define INSTANTIATE_MDIAGARRAY_FRIENDS(\7f146,3887
-\f
-cp-src/Range.h,275
-#define octave_Range_h \7f24,765
-Range\7f35,891
-  Range \7f39,909
-  Range \7f42,995
-  Range \7f46,1130
-  Range \7f50,1248
-  double base \7f54,1376
-  double limit \7f55,1425
-  double inc \7f56,1475
-  int nelem \7f57,1523
-  void set_base \7f68,1728
-  void set_limit \7f69,1774
-  void set_inc \7f70,1821
-\f
-cp-src/screen.cpp,228
-unsigned char cursor_x,\7f15,548
-unsigned char cursor_x, cursor_y;\7f15,548
-static union REGS regs;\7f16,582
-void goto_xy(\7f18,607
-void hide_cursor(\7f27,774
-void cursor_position(\7f32,836
-void clear_screen(\7f41,997
-void write_xyc(\7f55,1247
-\f
-cp-src/screen.hpp,414
-#define __COLORS\7f9,401
-enum COLORS \7f11,419
-    BLACK,\7f12,433
-    BLUE,\7f13,471
-    GREEN,\7f14,481
-    CYAN,\7f15,492
-    RED,\7f16,502
-    MAGENTA,\7f17,511
-    BROWN,\7f18,524
-    LIGHTGRAY,\7f19,535
-    DARKGRAY,\7f20,550
-    LIGHTBLUE,\7f21,589
-    LIGHTGREEN,\7f22,604
-    LIGHTCYAN,\7f23,620
-    LIGHTRED,\7f24,635
-    LIGHTMAGENTA,\7f25,649
-    YELLOW,\7f26,667
-    WHITE\7f27,679
-#define SCREEN_FP(\7f31,700
-#define SCREEN_START \7f33,795
-\f
-cp-src/conway.cpp,288
-#define max(\7f12,357
-#define min(\7f13,393
-const int num_rows \7f15,430
-const int num_columns \7f16,470
-class site *field_of_play[\7ffield_of_play\ 118,499
-int site::total_surrounding(\7ftotal_surrounding\ 120,550
-void display(\7f37,958
-void glider(\7f50,1239
-void traffic_light(\7f59,1478
-void main(\7f67,1633
-\f
-cp-src/conway.hpp,164
-class site:\7fsite\ 15,235
-    site(\7f10,344
-    char read(\7f12,410
-    void set(\7f13,444
-    void clear(\7f14,478
-    void compute_next_state(\7f15,514
-    void step(\7f22,717
-\f
-cp-src/clheir.cpp,359
-const int max_num_generic_objects \7f9,298
-generic_object * object_registry[\7fobject_registry\ 110,340
-void init_registry(\7f12,400
-void step_everybody(\7f19,527
-void discrete_location::clear_neighbors(\7fclear_neighbors\ 131,852
-generic_object::generic_object(\7fgeneric_object\ 136,981
-generic_object::~generic_object(\7f~generic_object\ 148,1255
-void agent::move(\7fmove\ 153,1353
-\f
-cp-src/clheir.hpp,423
-class generic_object\7f13,520
-    virtual void compute_next_state(\7f21,843
-    virtual void step(\7f22,889
-const int max_num_directions \7f31,1220
-class location:\7flocation\ 133,1290
-    location(\7f43,1643
-class irregular_location:\7firregular_location\ 147,1687
-    irregular_location(\7f51,1763
-class discrete_location:\7fdiscrete_location\ 156,1890
-    discrete_location(\7f62,2045
-    void assign_neighbor(\7f66,2185
-class agent:\7fagent\ 175,2509
-\f
-cp-src/fail.C,294
-struct A \7f7,263
-          struct B \7f8,274
-                  struct C \7f9,289
-                          C(\7f11,318
-                          operator int(\7foperator int\ 112,342
-                  typedef C T;\7f14,389
-          typedef B T2;\7f16,414
-class A \7f23,453
-       class B \7f24,463
-               class C \7f25,474
-               int f(\7f26,488
-int A::B::f(\7ff\ 131,521
-main(\7f37,571
-       class D \7f41,622
-               D(\7f43,659
-\f
-el-src/TAGTEST.EL,181
-(foo::defmumble bletch \7f3,33
-(defun foo==bar \7ffoo==bar\ 14,66
-(defalias 'pending-delete-mode \7fpending-delete-mode\ 18,182
-(defalias (quote explicitly-quoted-pending-delete-mode)\7f11,255
-\f
-el-src/emacs/lisp/progmodes/etags.el,5069
-(defvar tags-file-name \7f34,1035
-(defgroup etags \7f43,1499
-(defcustom tags-case-fold-search \7f47,1567
-(defcustom tags-table-list \7f59,2052
-(defcustom tags-compression-info-list\7f69,2450
-(defcustom tags-add-tables \7f88,3232
-(defcustom tags-revert-without-query \7f98,3628
-(defvar tags-table-computed-list \7f103,3779
-(defvar tags-table-computed-list-for \7f112,4263
-(defvar tags-table-list-pointer \7f117,4511
-(defvar tags-table-list-started-at \7f121,4702
-(defvar tags-table-set-list \7f124,4822
-(defcustom find-tag-hook \7f129,5001
-(defcustom find-tag-default-function \7f137,5264
-(define-obsolete-variable-alias 'find-tag-marker-ring-length\7ffind-tag-marker-ring-length\ 1145,5603
-(defcustom tags-tag-face \7f148,5700
-(defcustom tags-apropos-verbose \7f154,5835
-(defcustom tags-apropos-additional-actions \7f160,5999
-(defvaralias 'find-tag-marker-ring \7ffind-tag-marker-ring\ 1183,6921
-(defvar default-tags-table-function \7f189,7101
-(defvar tags-location-ring \7f194,7327
-(defvar tags-table-files \7f201,7603
-(defvar tags-completion-table \7f206,7770
-(defvar tags-included-tables \7f209,7862
-(defvar next-file-list \7f212,7957
-(defvar tags-table-format-functions \7f217,8063
-(defvar file-of-tag-function \7f224,8444
-(defvar tags-table-files-function \7f228,8638
-(defvar tags-completion-table-function \7f230,8749
-(defvar snarf-tag-function \7f232,8844
-(defvar goto-tag-location-function \7f236,9053
-(defvar find-tag-regexp-search-function \7f239,9226
-(defvar find-tag-regexp-tag-order \7f241,9347
-(defvar find-tag-regexp-next-line-after-failure-p \7f243,9456
-(defvar find-tag-search-function \7f245,9576
-(defvar find-tag-tag-order \7f247,9683
-(defvar find-tag-next-line-after-failure-p \7f249,9778
-(defvar list-tags-function \7f251,9884
-(defvar tags-apropos-function \7f253,9972
-(defvar tags-included-tables-function \7f255,10066
-(defvar verify-tags-table-function \7f257,10185
-(defun initialize-new-tags-table \7f260,10296
-(defun tags-table-mode \7f276,10984
-(defun visit-tags-table \7f285,11249
-(defun tags-table-check-computed-list \7f321,12787
-(defun tags-table-extend-computed-list \7f360,14658
-(defun tags-expand-table-name \7f400,16371
-(defun tags-table-list-member \7f409,16714
-(defun tags-verify-table \7f421,17186
-(defun tags-table-including \7f470,19306
-(defun tags-next-table \7f522,21350
-(defun visit-tags-table-buffer \7f543,22207
-(defun tags-reset-tags-tables \7f712,28517
-(defun file-of-tag \7f731,29174
-(defun tags-table-files \7f740,29524
-(defun tags-included-tables \7f749,29874
-(defun tags-completion-table \7f755,30120
-(defun tags-lazy-completion-table \7f783,31314
-(defun tags-completion-at-point-function \7f799,31949
-(defun find-tag-tag \7f818,32699
-(defvar last-tag \7f837,33372
-(defun find-tag-interactive \7f840,33431
-(defvar find-tag-history \7f852,33846
-(defun find-tag-noselect \7f860,34016
-(defun find-tag \7f932,37130
-(defun find-tag-other-window \7f959,38346
-(defun find-tag-other-frame \7f1000,40274
-(defun find-tag-regexp \7f1025,41448
-(defalias 'pop-tag-mark \7fpop-tag-mark\ 11049,42610
-(defvar tag-lines-already-matched \7f1052,42661
-(defun find-tag-in-order \7f1055,42768
-(defun tag-find-file-of-tag-noselect \7f1167,47114
-(defun tag-find-file-of-tag \7f1200,48960
-(defun etags-recognize-tags-table \7f1208,49186
-(defun etags-verify-tags-table \7f1241,50817
-(defun etags-file-of-tag \7f1246,51015
-(defun etags-tags-completion-table \7f1256,51350
-(defun etags-snarf-tag \7f1286,52556
-(defun etags-goto-tag-location \7f1324,54125
-(defun etags-list-tags \7f1388,56568
-(defmacro tags-with-face \7f1423,57843
-(defun etags-tags-apropos-additional \7f1431,58176
-(defun etags-tags-apropos \7f1465,59413
-(defun etags-tags-table-files \7f1527,61622
-(defun etags-tags-included-tables \7f1542,62058
-(defun tags-recognize-empty-tags-table \7f1559,62598
-(defun tag-exact-file-name-match-p \7f1587,63744
-(defun tag-file-name-match-p \7f1596,64137
-(defun tag-exact-match-p \7f1609,64693
-(defun tag-implicit-name-match-p \7f1620,65261
-(defun tag-symbol-match-p \7f1633,65861
-(defun tag-word-match-p \7f1643,66297
-(defun tag-partial-file-name-match-p \7f1652,66695
-(defun tag-any-match-p \7f1662,67139
-(defun tag-re-match-p \7f1667,67323
-(defcustom tags-loop-revert-buffers \7f1675,67572
-(defun next-file \7f1685,67981
-(defvar tags-loop-operate \7f1760,70895
-(defvar tags-loop-scan\7f1763,70989
-(defun tags-loop-eval \7f1771,71318
-(defun tags-loop-continue \7f1782,71647
-(defun tags-search \7f1850,73953
-(defun tags-query-replace \7f1871,74779
-(defun tags-complete-tags-table-file \7f1896,76003
-(defun list-tags \7f1906,76382
-(defun tags-apropos \7f1934,77335
-(define-button-type 'tags-select-tags-table\7ftags-select-tags-table\ 11957,78161
-(defun select-tags-table \7f1964,78400
-(defvar select-tags-table-mode-map \7f2019,80527
-(define-derived-mode select-tags-table-mode \7f2030,80910
-(defun select-tags-table-select \7f2034,81094
-(defun select-tags-table-quit \7f2043,81460
-(defun complete-tag \7f2049,81615
-(defconst etags--xref-limit \7f2074,82556
-(defvar etags-xref-find-definitions-tag-order \7f2076,82591
-(defun etags-xref-find \7f2082,82881
-(defun etags--xref-find-definitions \7f2096,83410
-(defclass xref-etags-location \7f2129,85124
-(defun xref-make-etags-location \7f2135,85347
-(cl-defmethod xref-location-marker \7f2139,85502
-(cl-defmethod xref-location-line \7f2146,85746
-\f
-erl-src/gs_dialog.erl,98
--define(VERSION\7f2,32
-behaviour_info(\7f51,2177
-show(\7f124,5458
-dialog_loop(\7f219,9529
-test(\7f252,10806
-\f
-f-src/entry.for,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-f-src/entry.strange_suffix,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-f-src/entry.strange,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-forth-src/test-forth.fth,733
-: a-forth-word\7f20,301
-99 constant a-forth-constant!\7f22,343
-55 value a-forth-value?\7f23,373
-create :a-forth-dictionary-entry\7f24,397
-defer #a-defer-word\7f27,460
-: (another-forth-word)\7f(another-forth-word)\ 129,481
-   9   field   >field1\7f36,582
-   5   field   >field2\7f37,605
-constant (a-forth-constant\7f(a-forth-constant\ 138,628
-2000 buffer: #some-storage\7f41,657
-code assemby-code-word\7f43,685
-: a-forth-word\7f50,870
-: (foo)\7f(foo)\ 155,988
-: foo\7f56,1000
-: create-bar\7f58,1015
-3 4 2constant 2const\7f61,1074
-2const 2value 2val\7f62,1095
-2variable 2var\7f63,1114
-3.1415e fconstant fconst\7f65,1130
-fconst fvalue fval\7f66,1155
-fvariable fvar\7f67,1174
-synonym mypi\7f69,1190
-BEGIN-STRUCTURE point\7f71,1211
-  1 CELLS +FIELD p.x\7f72,1262
-  1 CELLS +FIELD p.y\7f73,1318
-\f
-go-src/test.go,48
-package main\7f1,0
-func say(\7f5,28
-func main(\7f9,72
-\f
-go-src/test1.go,119
-package main\7f1,0
-func (s str) PrintAdd(\7f17,136
-func (n intNumber) PrintAdd(\7f21,189
-func test(\7f25,248
-func main(\7f29,285
-\f
-html-src/softwarelibero.html,200
-Cos'è il software libero?\7f4,38
-Licenze d'uso di un programma\7flicenze\ 165,2502
-Sfatiamo alcuni miti\7f138,6122
-Il movimento open source\7foss\ 1191,8041
-Impatto pratico del software libero\7fimpatto\ 1231,10070
-\f
-html-src/index.shtml,104
-&nbsp;\7f8,281
-In evidenza\7f15,447
-Comunicati e iniziative\7f32,976
-Ultime notizie dall'associazione\7f63,2030
-\f
-html-src/algrthms.html,467
-Tutorial on Convolutional Coding with Viterbi Decoding--Description of the Data Generation, Convolutional Encoding, Channel Mapping and AWGN, and Quantizing Algorithms\7f7,277
-Description\7falgorithms\ 110,481
-Generating the Data\7fgenalgorithm\ 148,1995
-Convolutionally\7fconalgorithm\ 155,2512
-Next\7fstatetable\ 1262,11587
-Output\7foutputtable\ 1350,13915
-Mapping the Channel Symbols\7fmapping\ 1433,16213
-Adding Noise to the\7faddnoise\ 1439,16607
-Quantizing the Received\7fquantizing\ 1469,19100
-\f
-html-src/software.html,439
-Francesco Potortì Software Page\7f9,280
-Software that I wrote for supporting my research activity\7fsimulation\ 136,1398
-MTG\7fmtg\ 141,1482
-Fracas\7ffracas\ 165,2624
-GaliLEO\7fgalileo\ 1101,4232
-Leasqr\7fleasqr\ 1114,4677
-Free software that I wrote for the GNU project or for my personal or work\7fgnu\ 1142,6066
-Etags\7fetags\ 1148,6181
-checkiso\7f161,6731
-cgrep\7f178,7549
-debian-bug.el\7fdebian-bug\ 1190,7981
-tcpdump\7f205,8566
-Links to interesting software\7flinks\ 1216,8893
-\f
-lua-src/allegro.lua,400
-local function get_layer_by_name \7f7,175
-local function count_layers \7f33,621
-function GetLayerByName \7f54,980
-function GetUniqueLayerName \7f65,1204
-function SelectLayer \7f76,1415
-function NewLayer \7f86,1773
-function NewLayerSet \7f144,3226
-function RemoveLayer \7f170,3750
-function MoveLayerTop \7f211,4767
-function MoveLayerBottom \7f223,5079
-function MoveLayerBefore \7f236,5457
-function MoveLayerAfter \7f258,6090
-\f
-lua-src/test.lua,442
-function Rectangle.getPos \7f2,15
-function Rectangle.getPos \7fgetPos\ 12,15
-function Circle.getPos \7f6,61
-function Circle.getPos \7fgetPos\ 16,61
-function Cube.data.getFoo \7f10,102
-function Cube.data.getFoo \7fgetFoo\ 110,102
-function Square.something:Bar \7f14,148
-function Square.something:Bar \7fBar\ 114,148
-   function test.me_22a(\7f22,241
-   function test.me_22a(\7fme_22a\ 122,241
-   local function test.me22b \7f25,297
-   local function test.me22b \7fme22b\ 125,297
-\f
-make-src/Makefile,2175
-LATEST=\7f1,0
-RELEASELIST=\7f2,10
-ADASRC=\7f4,104
-ASRC=\7f5,171
-CSRC=\7f6,197
-CPSRC=\7f10,423
-ELSRC=\7f13,614
-ERLSRC=\7f14,661
-FORTHSRC=\7f15,702
-FSRC=\7f16,726
-HTMLSRC=\7f17,776
-JAVASRC=\7f18,844
-LUASRC=\7f19,907
-MAKESRC=\7f20,926
-OBJCSRC=\7f21,943
-OBJCPPSRC=\7f22,999
-PASSRC=\7f23,1035
-PERLSRC=\7f24,1053
-PHPSRC=\7f25,1108
-PSSRC=\7f26,1156
-PROLSRC=\7f27,1173
-PYTSRC=\7f28,1210
-TEXSRC=\7f29,1227
-YSRC=\7f30,1282
-SRCS=\7f31,1325
-NONSRCS=\7f35,1577
-VHDLFLAGS=\7f37,1624
-COBOLFLAGS=\7f38,1827
-POSTSCRIPTFLAGS=\7f39,1889
-TCLFLAGS=\7f40,1943
-GETOPTOBJS=\7f42,2002
-RXINCLUDE=\7f43,2034
-REGEXOBJS=\7f44,2056
-CHECKOBJS=\7f46,2075
-CHECKFLAGS=\7f47,2105
-OBJS=\7f48,2145
-CPPFLAGS=\7f49,2190
-LDFLAGS=\7f50,2259
-WARNINGS=\7f51,2282
-CFLAGS=\7f52,2466
-FASTCFLAGS=\7f55,2530
-FASTCFLAGSWARN=\7f56,2591
-FILTER=\7f58,2641
-REGEX=\7f59,2695
-xx=\7f60,2741
-MAKE:\7fMAKE\ 162,2790
-RUN=\7f63,2825
-RUN=\7f64,2865
-OPTIONS=\7f65,2870
-ARGS=\7f66,2922
-infiles \7f68,2940
-quiettest:\7fquiettest\ 170,3002
-test:\7ftest\ 179,3409
-${CHECKOBJS}:\7f${CHECKOBJS}\ 188,3805
-checker:\7fchecker\ 190,3849
-standalone:\7fstandalone\ 196,4062
-prof:\7fprof\ 1101,4168
-fastetags:\7ffastetags\ 1104,4198
-fastctags:\7ffastctags\ 1108,4322
-staticetags:\7fstaticetags\ 1112,4446
-rsynctofly:\7frsynctofly\ 1116,4608
-rsyncfromfly:\7frsyncfromfly\ 1119,4698
-web ftp publish:\7fweb ftp publish\ 1122,4794
-release distrib:\7frelease distrib\ 1129,5115
-tags:\7ftags\ 1134,5255
-clean:\7fclean\ 1136,5267
-srclist:\7fsrclist\ 1139,5302
-regexfile:\7fregexfile\ 1143,5391
-/home/www/pub/etags.c.gz:\7f/home/www/pub/etags.c.gz\ 1149,5566
-/home/www/pub/software/unix/etags.tar.gz:\7f/home/www/pub/software/unix/etags.tar.gz\ 1156,5825
-regex.o:\7fregex.o\ 1159,6031
-getopt.o:\7fgetopt.o\ 1162,6086
-getopt1.o:\7fgetopt1.o\ 1165,6147
-etags:\7fetags\ 1168,6210
-ctags:\7fctags\ 1171,6299
-man manpage:\7fman manpage\ 1174,6396
-etags.1.man:\7fetags.1.man\ 1176,6422
-maintaining.info:\7fmaintaining.info\ 1179,6475
-TAGS:\7fTAGS\ 1182,6557
-%ediff:\7f%ediff\ 1185,6587
-oediff:\7foediff\ 1188,6677
-%cdiff:\7f%cdiff\ 1191,6764
-xdiff:\7fxdiff\ 1194,6854
-ETAGS:\7fETAGS\ 1197,6942
-ETAGS%:\7fETAGS%\ 1200,7012
-ETAGS13 ETAGS14 ETAGS15:\7fETAGS13 ETAGS14 ETAGS15\ 1203,7084
-ETAGS12:\7fETAGS12\ 1206,7216
-OTAGS:\7fOTAGS\ 1209,7304
-CTAGS:\7fCTAGS\ 1212,7369
-CTAGS%:\7fCTAGS%\ 1215,7443
-CTAGS13 CTAGS14 CTAGS15:\7fCTAGS13 CTAGS14 CTAGS15\ 1218,7545
-EXTAGS:\7fEXTAGS\ 1221,7680
-.PRECIOUS:\7f.PRECIOUS\ 1224,7838
-FRC:\7fFRC\ 1226,7894
-\f
-objc-src/Subprocess.h,98
-#define Subprocess \7f41,1217
-#define BUFFERSIZE \7f43,1267
-@interface Subprocess:\7fSubprocess\ 145,1292
-\f
-objc-src/Subprocess.m,446
-#define        PTY_TEMPLATE \7f20,494
-#define        PTY_LENGTH \7f21,528
-@interface Subprocess(Private)\7f32,737
-- childDidExit\7f39,851
-- fdHandler:\7ffdHandler\ 167,1589
-showError \7f98,2360
-fdHandler \7f112,2785
-getptys \7f119,2907
-- init:\7finit\ 1183,4815
-    andStdErr:\7finit\ 1197,5147
-- send:(const char *)string withNewline:\7fsend\ 1300,7436
-- send:\7fsend\ 1308,7599
-- terminateInput\7f314,7689
-- terminate:\7fterminate\ 1321,7810
-- setDelegate:\7fsetDelegate\ 1332,7961
-- delegate\7f338,8031
-\f
-objc-src/PackInsp.h,109
-#define NUMSTATS       \7f36,1101
-#define TYPESTOSTAT    \7f37,1120
-@interface PackageInspector:\7fPackageInspector\ 139,1172
-\f
-objc-src/PackInsp.m,1322
-static const char RCSid[\7fRCSid\ 130,1032
-#define VERSION        \7f34,1116
-#   define DEBUG \7f37,1155
-#define LISTCONTENTS   \7f39,1181
-#define OPENBUTTON     \7f47,1352
-#define LISTCONTENTSBUTTON     \7f48,1449
-#define LISTDESCRIPTIONBUTTON  \7f49,1562
-#define STATE_UNINSTALLED      \7f52,1687
-#define STATE_INSTALLED        \7f53,1807
-#define STATE_COMPRESSD        \7f54,1948
-#define SIZEFORMAT     \7f57,2152
-#define KBYTES \7f58,2362
-#define MBYTES \7f59,2473
-#define LOCALIZE(\7f61,2585
-#define LOCALIZE_ARCH(\7f62,2668
-+new\7fnew\ 167,2802
--showInfo:\7fshowInfo\ 193,3417
--revert:\7frevert\ 1107,3737
--ok:\7fok\ 1136,4297
--load\7fload\ 1143,4424
-#define LOOKUP(\7f156,4826
-#undef LOOKUP\7f176,5694
--loadKeyValuesFrom:(const char *)type inTable:\7floadKeyValuesFrom\ 1186,5852
--loadContentsOf:(const char *)type inTable:\7floadContentsOf\ 1238,7079
--loadImage\7floadImage\ 1257,7552
-#define STAT_EQ(\7f275,7940
--(BOOL)shouldLoad\7f280,8116
--toggleDescription\7ftoggleDescription\ 1301,8626
--(const char *)getPath:(char *)buf forType:\7fgetPath\ 1317,8899
--setRevertButtonTitle\7fsetRevertButtonTitle\ 1333,9320
--(const char *)formatSize:(const char *)size inBuf:\7fformatSize\ 1344,9525
-#define WORKING        \7f368,10045
--(void)getArchs\7f370,10100
--(void)addArchs:\7faddArchs\ 1385,10520
--subprocess:(Subprocess *)sender output:\7fsubprocess\ 1428,11351
--subprocessDone:\7fsubprocessDone\ 1436,11484
-static void openInWorkspace(\7f446,11634
--open:\7fopen\ 1464,12063
-\f
-objcpp-src/SimpleCalc.H,41
-@interface SimpleCalc:\7fSimpleCalc\ 114,400
-\f
-objcpp-src/SimpleCalc.M,445
-- init\7f52,1747
-- appendToDisplay:\7fappendToDisplay\ 160,1933
-- registerAction:\7fregisterAction\ 170,2210
-- decimalKey:\7fdecimalKey\ 177,2348
-- numberKeys:\7fnumberKeys\ 191,2661
-- equalsKey:\7fequalsKey\ 1112,3192
-- operationKeys:\7foperationKeys\ 1131,3680
-- clearKey:\7fclearKey\ 1153,4301
-- clearAllKey:\7fclearAllKey\ 1160,4410
-- appDidInit:\7fappDidInit\ 1168,4591
-- windowWillClose:\7fwindowWillClose\ 1178,4882
-- infoPanel:\7finfoPanel\ 1186,5132
-- helpPanel:\7fhelpPanel\ 1198,5482
-\f
-pas-src/common.pas,1875
-procedure InitializeStringPackage;\7f26,527
-function newtextstring;\7f34,874
-procedure disposetextstring;\7f52,1404
-function ConcatT;\7f78,2066
-function AppendTextString;\7f112,3238
-function CopyTextString;\7f132,3947
-procedure CONVERT_CHARSTRING_TO_VALUE;\7f151,4505
-procedure append_string;\7f172,5166
-function To_Upper;\7f186,5462
-function To_Lower;\7f194,5617
-function EmptyNmStr(\7f209,6213
-function chartonmstr;\7f219,6436
-function LowerCaseNmStr;\7f230,6682
-function concatenatenamestrings;\7f242,7007
-procedure writenamestring;\7f263,7517
-function IsControlChar;\7f277,7928
-function namestringequal;\7f283,8079
-function NameStringLess;\7f302,8539
-function IsControlCharName(\7f343,9710
-function SubString;\7f358,10208
-function SkipChars;\7f379,10791
-function RemoveUnderlineControl;\7f397,11311
-procedure First100Chars;\7f427,12162
-procedure SkipSpaces;\7f462,13298
-function SkipBlanks;\7f477,13782
-function stripname;\7f505,14595
-function Locate;\7f522,15039
-function NameHasChar;\7f543,15581
-function integertonmstr;\7f561,16134
-function NmStrToInteger;\7f585,16901
-function AddNullToNmStr;\7f600,17317
-function ValToNmStr;\7f611,17585
-function ChangeFileType;\7f625,18037
-function StripPath;\7f647,18734
-function ReprOfChar;\7f675,19343
-procedure ExtractCommentInfo;\7f702,20749
-procedure INSERT_TREE_NODE;\7f784,24053
-function GetNameList;\7f920,27926
-procedure DisposeANameList(\7f925,28010
-procedure DisposeNameList;\7f938,28340
-function GetNewNameListNode;\7f943,28409
-function insertname;\7f972,29051
-procedure InitNameList;\7f988,29471
-procedure InitNameStringPool;\7f998,29767
-procedure NewNameString;\7f1004,29867
-procedure ReleaseNameString;\7f1022,30232
-procedure SDTrefStringToRec \7f1045,30741
-procedure SDTrefSkipSpaces;\7f1059,31092
-function SDTrefIsEnd \7f1070,31323
-function SDTrefGetInteger \7f1082,31529
-procedure SDTrefRecToString \7f1303,37546
-function NmStrToErrStr;\7f1497,42305
-function ErrStrToNmStr;\7f1509,42557
-function GetTextRef;\7f1529,43112
-\f
-php-src/lce_functions.php,2152
-  define("LCE_FUNCTIONS"\7fLCE_FUNCTIONS\ 14,38
-  define("LCE_UNKNOWN"\7fLCE_UNKNOWN\ 19,145
-  define("LCE_WS"\7fLCE_WS\ 111,194
-  define("LCE_COMMENT"\7fLCE_COMMENT\ 113,244
-  define("LCE_COMMENT_USER"\7fLCE_COMMENT_USER\ 115,303
-  define("LCE_COMMENT_TOOL"\7fLCE_COMMENT_TOOL\ 117,366
-  define("LCE_MSGID"\7fLCE_MSGID\ 119,430
-  define("LCE_MSGSTR"\7fLCE_MSGSTR\ 121,488
-  define("LCE_TEXT"\7fLCE_TEXT\ 123,541
-  define("STATE_ABORT"\7fSTATE_ABORT\ 125,567
-  define("STATE_OK"\7fSTATE_OK\ 126,595
-  define("STATE_LOOP"\7fSTATE_LOOP\ 127,620
-  class POEntryAD \7f29,648
-      function validate(\7f31,683
-      function checkQuotation(\7f59,1384
-  class CommentAD \7f70,1639
-      function CommentAD(\7f73,1693
-      function validate(\7f83,1944
-  class POEntry \7f105,2410
-      function POEntry(\7f119,2711
-      function lineCount(\7f135,3255
-      function serializeToVars(\7f141,3365
-      function write(\7f151,3800
-  class POReader \7f163,4178
-      function gettext(\7f177,4457
-      function parseFromVars(\7f189,4705
-      function serializeToVars(\7f215,5331
-      function POReader(\7f229,5613
-      function read(\7f243,5983
-      function write(\7f259,6307
-      function isComment(\7f277,6645
-      function comment(\7f284,6822
-      function msgid(\7f304,7247
-      function msgstr(\7f320,7574
-      function start(\7f340,8232
-      function createPOEntries(\7f360,8644
-      function stripLine(\7f394,9472
-      function printClassification(\7f421,10056
-      function classifyLine(\7f432,10301
-  function getTextDomains(\7f471,11094
-  class PORManager \7f498,11756
-      function PORManager(\7f502,11822
-      function addPOReader(\7f507,11896
-      function &getPOReader(\7fgetPOReader\ 1512,11992
-      function getDomainNames(\7f517,12081
-  function &loadPORManager(\7floadPORManager\ 1523,12174
-  function fileJoin(\7f536,12436
-      function lce_bindtextdomain(\7f557,12839
-      function lce_textdomain(\7f614,14530
-      function lce_gettext(\7f620,14641
-      function lce_dgettext(\7f626,14767
-      function lce(\7f634,14966
-      function lce_bindtextdomain(\7f651,15488
-      function lce_textdomain(\7f656,15592
-      function lce_gettext(\7f661,15674
-      function lce_dgettext(\7f666,15755
-      function lce(\7f670,15855
-  function lce_geteditcode(\7f676,15898
-\f
-php-src/ptest.php,46
-define("TEST"\7fTEST\ 11,0
-test \7f4,26
-foo(\7f16,200
-\f
-perl-src/htlmify-cystic,1197
-my @section_name;\7fsection_name\ 112,236
-my @appendix_name;\7fappendix_name\ 113,254
-my @section_toc;\7fsection_toc\ 115,274
-my @appendix_toc;\7fappendix_toc\ 116,291
-my $new_tag \7fnew_tag\ 118,310
-my $appendix;\7fappendix\ 124,409
-my $section;\7fsection\ 125,423
-my $subsection;\7fsubsection\ 126,436
-my $subsubsection;\7fsubsubsection\ 127,452
-my $this_file_toc \7fthis_file_toc\ 129,472
-my %file_tocs;\7ffile_tocs\ 130,496
-my @output_files \7foutput_files\ 132,512
-my $file_index \7ffile_index\ 133,535
-my $output_file;\7foutput_file\ 135,556
-my $line;\7fline\ 137,574
-my $subsection_marker;\7fsubsection_marker\ 1161,3883
-my $new;\7fnew\ 1163,3907
-sub read_toc \7f165,3917
-         my $entry \7fentry\ 1218,5621
-         my $entry \7fentry\ 1234,6077
-             my $entry \7fentry\ 1245,6351
-         my $entry \7fentry\ 1252,6536
-         my $entry \7fentry\ 1268,7010
-             my $entry \7fentry\ 1276,7204
-         my $entry \7fentry\ 1281,7328
-      my $entry \7fentry\ 1296,7698
-sub finish_subsubsections \7f302,7805
-sub finish_subsections \7f309,7987
-sub finish_sections \7f320,8310
-sub finish_appendices \7f331,8599
-sub section_url_base \7f337,8724
-sub section_url_name \7f342,8922
-sub section_url \7f355,9284
-  my $name \7fname\ 1357,9336
-sub section_href \7f364,9452
-sub section_name \7f368,9551
-sub toc_line \7f372,9655
-sub file_end \7f375,9750
-\f
-perl-src/yagrip.pl,233
-sub getopt \7f7,156
-       local($_,$flag,$opt,$f,$r,@temp)\7f($_,$flag,$opt,$f,$r,@temp\ 18,169
-sub usage \7f38,856
-       local($prog,$_,@list)\7f($prog,$_,@list\ 139,868
-       local($string,$flag,@string,@temp,@last)\7f($string,$flag,@string,@temp,@last\ 140,897
-\f
-perl-src/kai-test.pl,203
-sub f1 \7f2,16
-sub main::f2 \7ff2\ 16,50
-package Foo;\7f10,90
-sub f3 \7f12,104
-sub Bar::f4 \7ff4\ 116,138
-package Bar;\7f20,177
-sub f5 \7f22,191
-package Foo::Bar;\7f26,225
-sub f6 \7f28,244
-package main;\7f32,278
-sub f7 \7f34,293
-\f
-ps-src/rfc1245.ps,2478
-/FMversion \7f12,311
-/FrameDict \7f17,500
-/FMVERSION \7f47,1307
-/FMLOCAL \7f56,1494
-/FMDOCUMENT \7f73,1766
-/FMBEGINPAGE \7f95,2279
-/FMENDPAGE \7f109,2516
-/FMDEFINEFONT \7f115,2582
-/FMNORMALIZEGRAPHICS \7f126,2725
-/FMBEGINEPSF \7f142,2955
-/FMENDEPSF \7f153,3207
-/setmanualfeed \7f158,3283
-/max \7f163,3386
-/min \7f164,3426
-/inch \7f165,3466
-/pagedimen \7f166,3485
-/setpapername \7f172,3629
-/papersize \7f190,4214
-/manualpapersize \7f211,4789
-/desperatepapersize \7f230,5211
-/savematrix \7f239,5370
-/restorematrix \7f242,5425
-/dmatrix \7f245,5475
-/dpi \7f246,5495
-/freq \7f248,5583
-/sangle \7f249,5658
-/DiacriticEncoding \7f250,5717
-/.notdef \7f251,5738
-/.notdef \7f252,5801
-/.notdef \7f253,5864
-/.notdef \7f254,5927
-/.notdef \7f255,5990
-/numbersign \7f256,6051
-/parenright \7f257,6115
-/two \7f258,6184
-/less \7f259,6251
-/L \7f260,6320
-/bracketright \7f261,6389
-/i \7f262,6459
-/braceright \7f263,6529
-/Ntilde \7f264,6598
-/atilde \7f265,6668
-/iacute \7f266,6733
-/ocircumflex \7f267,6797
-/udieresis \7f268,6858
-/paragraph \7f269,6919
-/dieresis \7f270,6983
-/yen \7f271,7050
-/ordfeminine \7f272,7109
-/exclamdown \7f273,7171
-/guillemotleft \7f274,7230
-/Otilde \7f275,7296
-/quoteleft \7f276,7357
-/fraction \7f277,7420
-/periodcentered \7f278,7490
-/Acircumflex \7f279,7549
-/Icircumflex \7f280,7610
-/Uacute \7f281,7680
-/breve \7f282,7746
-/ReEncode \7f284,7814
-/graymode \7f300,8020
-/setpattern \7f310,8184
-/grayness \7f331,8725
-/normalize \7f394,9873
-/dnormalize \7f397,9942
-/lnormalize \7f400,10014
-/H \7f403,10104
-/Z \7f406,10147
-/X \7f409,10176
-/V \7f412,10219
-/N \7f415,10260
-/M \7f418,10286
-/E \7f419,10315
-/D \7f420,10336
-/O \7f421,10358
-/L \7f423,10394
-/Y \7f430,10489
-/R \7f439,10588
-/RR \7f450,10696
-/C \7f467,10959
-/U \7f473,11004
-/F \7f477,11039
-/T \7f481,11084
-/RF \7f484,11115
-/TF \7f488,11164
-/P \7f495,11219
-/PF \7f499,11270
-/S \7f506,11344
-/SF \7f510,11384
-/B \7f517,11446
-/BF \7f521,11505
-/W \7f538,11714
-/G \7f573,12382
-/A \7f582,12525
-/BEGINPRINTCODE \7f606,12918
-/ENDPRINTCODE \7f615,13131
-/gn \7f620,13259
-/cfs \7f631,13384
-/ic \7f636,13473
-/ms \7f658,14285
-/ip \7f668,14395
-/wh \7f678,14492
-/bl \7f684,14607
-/s1 \7f690,14722
-/fl \7f691,14739
-/hx \7f698,14887
-/wbytes \7f709,15055
-/BEGINBITMAPBWc \7f713,15147
-/BEGINBITMAPGRAYc \7f716,15198
-/BEGINBITMAP2BITc \7f719,15251
-/COMMONBITMAPc \7f722,15304
-/BEGINBITMAPBW \7f739,15660
-/BEGINBITMAPGRAY \7f742,15709
-/BEGINBITMAP2BIT \7f745,15760
-/COMMONBITMAP \7f748,15811
-/Fmcc \7f765,16156
-/ngrayt \7f773,16371
-/nredt \7f774,16393
-/nbluet \7f775,16414
-/ngreent \7f776,16436
-/colorsetup \7f787,16603
-/fakecolorsetup \7f814,17370
-/BITMAPCOLOR \7f826,17636
-/BITMAPCOLORc \7f839,17926
-/BITMAPGRAY \7f855,18275
-/BITMAPGRAYc \7f858,18335
-/ENDBITMAP \7f861,18397
-/fillprocs \7f868,18497
-\f
-prol-src/ordsets.prolog,525
-is_ordset(\7f47,1310
-list_to_ord_set(\7f63,1688
-ord_add_element(\7f71,1867
-ord_del_element(\7f85,2344
-ord_disjoint(\7f100,2783
-ord_intersect(\7f108,2953
-ord_intersection(\7f126,3553
-ord_intersection3(\7f130,3692
-ord_intersection(\7f150,4533
-ord_intersection4(\7f154,4705
-ord_intersection(\7f176,5666
-ord_intersection2(\7f181,5814
-ord_member(\7f200,6320
-ord_seteq(\7f216,6685
-ord_setproduct(\7f225,6973
-ord_subset(\7f240,7379
-ord_subtract(\7f257,7863
-ord_symdiff(\7f265,8056
-ord_union(\7f288,8889
-ord_union4(\7f303,9354
-ord_union(\7f324,10173
-ord_union_all(\7f329,10315
-\f
-prol-src/natded.prolog,2319
-expandmng(\7f100,2879
-normalize(\7f116,3359
-fresh_vars(\7f125,3716
-subst(\7f138,4134
-normalize_fresh(\7f159,4660
-reduce_subterm(\7f171,5112
-reduce(\7f185,5559
-free_var(\7f196,5903
-free_for(\7f209,6246
-compile_lex(\7f231,6875
-consult_lex:-\7fconsult_lex\ 1248,7384
-lex(\7f259,7754
-expandsyn(\7f267,8068
-bas_syn(\7f292,8897
-compile_empty:-\7fcompile_empty\ 1310,9376
-complete(\7f328,10055
-add_active(\7f340,10527
-parse(\7f353,10949
-derived_analyses(\7f364,11341
-build(\7f378,11967
-buildact(\7f392,12523
-mapsyn(\7f412,13544
-add_edge(\7f434,14280
-findcats(\7f447,14760
-normalize_tree(\7f465,15480
-normalize_trees(\7f475,15858
-expandmng_tree(\7f486,16250
-expandmng_trees(\7f496,16616
-cat(\7f511,17015
-subtree(\7f644,21268
-hypothetical_mem(\7f653,21567
-make_coor(\7f667,22132
-start_up:-\7fstart_up\ 1688,23015
-tokenizeatom(\7f710,23923
-tokenize(\7f720,24350
-isoperator(\7f752,25379
-isoptab(\7f756,25433
-specialsymbol(\7f765,25758
-sstab(\7f771,25863
-parse_cgi(\7f787,26349
-keyvalseq(\7f792,26512
-andkeyvalseq(\7f796,26611
-keyval(\7f799,26690
-valseq(\7f807,26922
-plusvalseq(\7f810,27009
-val(\7f816,27111
-argvals(\7f824,27428
-commaargvals(\7f828,27505
-atomval(\7f833,27580
-atom(\7f836,27642
-action(\7f846,28006
-keyvalcgi(\7f864,28651
-keyvalscgi(\7f865,28672
-outsyn(\7f868,28728
-act(\7f876,29062
-actout(\7f901,29908
-texttreelist(\7f912,30091
-htmltreelist(\7f918,30192
-fitchtreelist(\7f924,30306
-pp_html_table_tree(\7f938,30761
-pp_html_tree(\7f949,31115
-pp_html_trees(\7f988,32383
-pp_html_table_fitch_tree(\7f999,32771
-pp_html_fitch_tree(\7f1017,33674
-removeexp(\7f1129,39004
-splitexp(\7f1142,39492
-pp_exp(\7f1155,39992
-map_word(\7f1168,40251
-pp_exps(\7f1180,40476
-pp_tree(\7f1188,40779
-pp_trees(\7f1216,41809
-pp_word_list(\7f1225,42130
-pp_word(\7f1231,42264
-pp_word_list_rest(\7f1238,42571
-pp_cat(\7f1248,42931
-pp_syn(\7f1255,43198
-pp_syn_paren(\7f1276,43901
-pp_paren(\7f1293,44379
-pp_syn_back(\7f1300,44663
-pp_bas_cat(\7f1311,45003
-writecat(\7f1322,45411
-writesubs(\7f1351,46457
-writesups(\7f1361,46759
-writelistsubs(\7f1371,47092
-pp_lam(\7f1380,47410
-pp_lam_bracket(\7f1398,48024
-pp_lam_paren(\7f1407,48340
-pp_rule(\7f1429,49240
-member(\7f1447,49868
-append_list(\7f1451,49921
-append(\7f1456,50012
-at_least_one_member(\7f1460,50078
-numbervars(\7f1464,50173
-reverse(\7f1467,50211
-select(\7f1471,50292
-select_last(\7f1475,50359
-cat_atoms(\7f1479,50438
-writelist(\7f1485,50526
-write_lex_cat(\7f1492,50678
-writebreaklex(\7f1500,50990
-write_lex(\7f1513,51267
-writebreak(\7f1521,51543
-tt:-\7ftt\ 11531,51715
-mt:-\7fmt\ 11534,51786
-cmt:-\7fcmt\ 11537,51880
-\f
-pyt-src/server.py,1438
-class Controls:\7fControls\ 117,358
-    def __init__(\7f18,374
-    def __repr__(\7f24,590
-    def __str__(\7f34,871
-class Server:\7fServer\ 137,934
-    def __init__(\7f38,948
-    def dump(\7f73,2198
-    def __repr__(\7f125,3896
-    def __str__(\7f128,3945
-class User:\7fUser\ 1131,4014
-    def __init__(\7f132,4026
-    def __repr__(\7f172,5445
-    def __str__(\7f206,6883
-def flag2str(\7f223,7212
-class LabeledEntry(\7f232,7442
-    def bind(\7f234,7525
-    def focus_set(\7f236,7584
-    def __init__(\7f238,7629
-def ButtonBar(\7f245,7909
-def helpwin(\7f255,8280
-class ListEdit(\7f267,8707
-    def __init__(\7f269,8808
-    def handleList(\7f303,10042
-    def handleNew(\7f306,10094
-    def editItem(\7f314,10426
-    def deleteItem(\7f320,10596
-def ConfirmQuit(\7f326,10760
-class ControlEdit(\7f375,12377
-    def PostControls(\7f376,12403
-    def GatherControls(\7f421,13530
-class ServerEdit(\7f512,16264
-    def __init__(\7f513,16289
-    def post(\7f525,16629
-    def gather(\7f543,17191
-    def nosave(\7f547,17304
-    def save(\7f551,17408
-    def refreshPort(\7f556,17509
-    def createWidgets(\7f561,17663
-    def edituser(\7f631,20708
-class UserEdit(\7f645,20921
-    def __init__(\7f646,20944
-    def post(\7f658,21283
-    def gather(\7f676,21841
-    def nosave(\7f680,21950
-    def save(\7f684,22052
-    def createWidgets(\7f689,22151
-class Configure(\7f760,24879
-    def __init__(\7f761,24916
-    def MakeDispose(\7f772,25211
-    def MakeSitelist(\7f786,25706
-    def editsite(\7f794,25949
-    def save(\7f797,26022
-    def nosave(\7f807,26310
-\f
-ruby-src/test.rb,637
-module ModuleExample\7f1,0
-    class ClassExample\7f2,21
-        def instance_method\7f3,44
-        def ClassExample.class_method\7fclass_method\ 16,121
-        def instance_method_exclamation!\7f9,206
-        def instance_method_question?\7f12,310
-        def instance_method_equals=\7finstance_method_equals=\ 115,408
-        def `(\7f18,502
-        def +(\7f21,592
-        def [](\7f24,640
-        def []=(\7f[]=\ 127,690
-        def <<(\7f30,752
-        def ==(\7f==\ 133,802
-        def <=(\7f<=\ 136,872
-        def <=>(\7f<=>\ 139,943
-        def ===(\7f===\ 142,990
-    def module_instance_method\7f46,1051
-    def ModuleExample.module_class_method\7fmodule_class_method\ 149,1131
-\f
-ruby-src/test1.ru,935
-class A\7f1,0
- def a(\7f2,8
- def b(\7f5,38
-module A\7f9,57
-  class B\7f10,66
-    ABC \7f11,76
-    Def_ \7f12,88
-    Xyzzy \7f13,106
-    def foo!\7f15,121
-    def self._bar?(\7f_bar?\ 118,143
-      def qux=(\7fqux=\ 122,194
-    attr_reader :foo\7ffoo\ 126,233
-    attr_reader :read1 \7fread1\ 127,254
-    attr_reader :read1 , :read2;\7fread2\ 127,254
-    attr_reader :read1 , :read2; attr_writer :write1,\7fwrite1=\ 127,254
-    attr_reader :read1 , :read2; attr_writer :write1, :write2\7fwrite2=\ 127,254
-    attr_writer :bar,\7fbar=\ 128,316
-                :baz,\7fbaz=\ 129,338
-                :more\7fmore=\ 130,360
-    attr_accessor :tee\7ftee\ 131,382
-    attr_accessor :tee\7ftee=\ 131,382
-    alias_method :qux,\7fqux\ 132,405
-    alias_method :xyz,\7fxyz\ 133,456
-                 :tee ; attr_reader :subtle\7fsubtle\ 134,479
-    attr_reader(:foo1,\7ffoo1\ 135,523
-    attr_reader(:foo1, :bar1,\7fbar1\ 135,523
-                :qux1)\7fqux1\ 136,563
-    alias_method ( :foo2,\7ffoo2\ 137,586
-A::Constant \7fConstant\ 142,655
-\f
-rs-src/test.rs,52
-enum IpAddrKind \7f3,11
-fn test1(\7f8,48
-fn main(\7f12,88
-\f
-scm-src/test.scm,260
-(define hello \7f1,0
-(set! hello \7f3,32
-(define (hello-world)\7f5,62
-(define (there-is-a-=-in-the-middle!)\7fthere-is-a-=-in-the-middle!\ 110,128
-(define =starts-with-equals! \7f=starts-with-equals!\ 112,171
-(define (((((curry-test \7f14,205
-(define-syntax test-begin\7f17,265
-\f
-tex-src/testenv.tex,52
-\newcommand{\nm}\7f\nm\ 14,77
-\section{blah}\7fblah\ 18,139
-\f
-tex-src/gzip.texi,303
-@node Top,\7f62,2139
-@node Copying,\7f80,2652
-@node Overview,\7f83,2705
-@node Sample,\7f166,7273
-@node Invoking gzip,\7fInvoking gzip\ 1210,8829
-@node Advanced usage,\7fAdvanced usage\ 1357,13497
-@node Environment,\7f420,15209
-@node Tapes,\7f437,15770
-@node Problems,\7f460,16769
-@node Concept Index,\7fConcept Index\ 1473,17289
-\f
-tex-src/texinfo.tex,30627
-\def\texinfoversion{\7f\texinfoversion\ 126,1035
-\def\tie{\7f\tie\ 149,1526
-\def\gloggingall{\7f\gloggingall\ 172,2276
-\def\loggingall{\7f\loggingall\ 173,2345
-\def\onepageout#1{\7f\onepageout\ 199,3282
-\def\croppageout#1{\7f\croppageout\ 1115,4032
-\def\cropmarks{\7f\cropmarks\ 1142,5092
-\def\pagebody#1{\7f\pagebody\ 1144,5139
-\def\ewtop{\7f\ewtop\ 1157,5594
-\def\nstop{\7f\nstop\ 1158,5658
-\def\ewbot{\7f\ewbot\ 1160,5741
-\def\nsbot{\7f\nsbot\ 1161,5805
-\def\parsearg #1{\7f\parsearg\ 1170,6104
-\def\parseargx{\7f\parseargx\ 1172,6182
-\def\parseargline{\7f\parseargline\ 1182,6422
-\def\flushcr{\7f\flushcr\ 1186,6543
-\newif\ifENV \ENVfalse \def\inENV{\7f\inENV\ 1190,6742
-\def\ENVcheck{\7f\ENVcheck\ 1191,6806
-\outer\def\begin{\7f\begin\ 1198,7053
-\def\beginxxx #1{\7f\beginxxx\ 1200,7091
-\def\end{\7f\end\ 1208,7346
-\def\endxxx #1{\7f\endxxx\ 1210,7374
-\def\errorE#1{\7f\errorE\ 1216,7563
-\def\singlespace{\7f\singlespace\ 1222,7757
-\def\@{\7f\@\ 1232,7980
-\def\`{\7f\`\ 1236,8080
-\def\'{\7f\'\ 1237,8092
-\def\mylbrace {\7f\mylbrace\ 1241,8140
-\def\myrbrace {\7f\myrbrace\ 1242,8173
-\def\:{\7f\:\ 1247,8287
-\def\*{\7f\*\ 1250,8341
-\def\.{\7f\.\ 1253,8417
-\def\w#1{\7f\w\ 1258,8648
-\def\group{\7f\group\ 1268,9131
-  \def\Egroup{\7f\Egroup\ 1273,9295
-\def\need{\7f\need\ 1289,9737
-\def\needx#1{\7f\needx\ 1300,10014
-\def\dots{\7f\dots\ 1339,11400
-\def\page{\7f\page\ 1343,11464
-\def\exdent{\7f\exdent\ 1353,11791
-\def\exdentyyy #1{\7f\exdentyyy\ 1354,11824
-\def\nofillexdent{\7f\nofillexdent\ 1357,11968
-\def\nofillexdentyyy #1{\7f\nofillexdentyyy\ 1358,12013
-\def\include{\7f\include\ 1365,12197
-\def\includezzz #1{\7f\includezzz\ 1366,12232
-\def\thisfile{\7f\thisfile\ 1369,12283
-\def\center{\7f\center\ 1373,12346
-\def\centerzzz #1{\7f\centerzzz\ 1374,12379
-\def\sp{\7f\sp\ 1380,12521
-\def\spxxx #1{\7f\spxxx\ 1381,12546
-\def\comment{\7f\comment\ 1387,12720
-\def\commentxxx #1{\7f\commentxxx\ 1390,12817
-\def\ignoresections{\7f\ignoresections\ 1396,12986
-\let\chapter=\relax\7f=\relax\ 1397,13008
-\let\section=\relax\7f=\relax\ 1406,13253
-\let\subsection=\relax\7f=\relax\ 1409,13314
-\let\subsubsection=\relax\7f=\relax\ 1410,13337
-\let\appendix=\relax\7f=\relax\ 1411,13363
-\let\appendixsec=\relax\7fsec=\relax\ 1412,13384
-\let\appendixsection=\relax\7fsection=\relax\ 1413,13408
-\let\appendixsubsec=\relax\7fsubsec=\relax\ 1414,13436
-\let\appendixsubsection=\relax\7fsubsection=\relax\ 1415,13463
-\let\appendixsubsubsec=\relax\7fsubsubsec=\relax\ 1416,13494
-\let\appendixsubsubsection=\relax\7fsubsubsection=\relax\ 1417,13524
-\def\ignore{\7f\ignore\ 1423,13626
-\long\def\ignorexxx #1\end ignore{\7f\ignorexxx\ 1427,13766
-\def\direntry{\7f\direntry\ 1429,13825
-\long\def\direntryxxx #1\end direntry{\7f\direntryxxx\ 1430,13864
-\def\ifset{\7f\ifset\ 1434,13974
-\def\ifsetxxx #1{\7f\ifsetxxx\ 1436,14032
-\def\Eifset{\7f\Eifset\ 1440,14159
-\def\ifsetfail{\7f\ifsetfail\ 1441,14173
-\long\def\ifsetfailxxx #1\end ifset{\7f\ifsetfailxxx\ 1442,14229
-\def\ifclear{\7f\ifclear\ 1444,14290
-\def\ifclearxxx #1{\7f\ifclearxxx\ 1446,14352
-\def\Eifclear{\7f\Eifclear\ 1450,14483
-\def\ifclearfail{\7f\ifclearfail\ 1451,14499
-\long\def\ifclearfailxxx #1\end ifclear{\7f\ifclearfailxxx\ 1452,14559
-\def\set{\7f\set\ 1456,14710
-\def\setxxx #1{\7f\setxxx\ 1457,14737
-\def\clear{\7f\clear\ 1460,14799
-\def\clearxxx #1{\7f\clearxxx\ 1461,14830
-\def\iftex{\7f\iftex\ 1466,14947
-\def\Eiftex{\7f\Eiftex\ 1467,14960
-\def\ifinfo{\7f\ifinfo\ 1468,14974
-\long\def\ifinfoxxx #1\end ifinfo{\7f\ifinfoxxx\ 1469,15024
-\long\def\menu #1\end menu{\7f\menu\ 1471,15083
-\def\asis#1{\7f\asis\ 1472,15112
-\def\math#1{\7f\math\ 1485,15655
-\def\node{\7f\node\ 1487,15699
-\def\nodezzz#1{\7f\nodezzz\ 1488,15737
-\def\nodexxx[#1,#2]{\7f\nodexxx[\ 1489,15768
-\def\donoderef{\7f\donoderef\ 1492,15830
-\def\unnumbnoderef{\7f\unnumbnoderef\ 1496,15951
-\def\appendixnoderef{\7f\appendixnoderef\ 1500,16082
-\expandafter\expandafter\expandafter\appendixsetref{\7fsetref\ 1501,16128
-\let\refill=\relax\7fill=\relax\ 1504,16217
-\def\setfilename{\7f\setfilename\ 1509,16431
-\outer\def\bye{\7f\bye\ 1518,16677
-\def\inforef #1{\7f\inforef\ 1520,16733
-\def\inforefzzz #1,#2,#3,#4**{\7f\inforefzzz\ 1521,16771
-\def\losespace #1{\7f\losespace\ 1523,16868
-\def\sf{\7f\sf\ 1532,17072
-\font\defbf=cmbx10 scaled \magstep1 %was 1314\7fbf=cmbx10\ 1558,17867
-\font\deftt=cmtt10 scaled \magstep1\7ftt=cmtt10\ 1559,17913
-\def\df{\7f\df\ 1560,17949
-\def\resetmathfonts{\7f\resetmathfonts\ 1635,20543
-\def\textfonts{\7f\textfonts\ 1648,21132
-\def\chapfonts{\7f\chapfonts\ 1653,21347
-\def\secfonts{\7f\secfonts\ 1658,21563
-\def\subsecfonts{\7f\subsecfonts\ 1663,21768
-\def\indexfonts{\7f\indexfonts\ 1668,21985
-\def\smartitalicx{\7f\smartitalicx\ 1691,22717
-\def\smartitalic#1{\7f\smartitalic\ 1692,22793
-\let\cite=\smartitalic\7f=\smartitalic\ 1698,22938
-\def\b#1{\7f\b\ 1700,22962
-\def\t#1{\7f\t\ 1703,22997
-\def\samp #1{\7f\samp\ 1706,23149
-\def\key #1{\7f\key\ 1707,23182
-\def\ctrl #1{\7f\ctrl\ 1708,23243
-\def\tclose#1{\7f\tclose\ 1716,23445
-\def\ {\7f\\ 1720,23611
-\def\xkey{\7f\xkey\ 1728,23880
-\def\kbdfoo#1#2#3\par{\7f\kbdfoo\ 1729,23896
-\def\dmn#1{\7f\dmn\ 1738,24197
-\def\kbd#1{\7f\kbd\ 1740,24224
-\def\l#1{\7f\l\ 1742,24281
-\def\r#1{\7f\r\ 1744,24310
-\def\sc#1{\7f\sc\ 1746,24378
-\def\ii#1{\7f\ii\ 1747,24421
-\def\titlefont#1{\7f\titlefont\ 1755,24654
-\def\titlepage{\7f\titlepage\ 1761,24757
-   \def\subtitlefont{\7f\subtitlefont\ 1766,24984
-   \def\authorfont{\7f\authorfont\ 1768,25068
-   \def\title{\7f\title\ 1774,25278
-   \def\titlezzz##1{\7f\titlezzz\ 1775,25313
-   \def\subtitle{\7f\subtitle\ 1783,25628
-   \def\subtitlezzz##1{\7f\subtitlezzz\ 1784,25669
-   \def\author{\7f\author\ 1787,25787
-   \def\authorzzz##1{\7f\authorzzz\ 1788,25824
-   \def\page{\7f\page\ 1794,26115
-\def\Etitlepage{\7f\Etitlepage\ 1804,26284
-\def\finishtitlepage{\7f\finishtitlepage\ 1817,26672
-\def\evenheading{\7f\evenheading\ 1846,27680
-\def\oddheading{\7f\oddheading\ 1847,27723
-\def\everyheading{\7f\everyheading\ 1848,27764
-\def\evenfooting{\7f\evenfooting\ 1850,27810
-\def\oddfooting{\7f\oddfooting\ 1851,27853
-\def\everyfooting{\7f\everyfooting\ 1852,27894
-\def\headings #1 {\7f\headings\ 1893,29586
-\def\HEADINGSoff{\7f\HEADINGSoff\ 1895,29635
-\def\HEADINGSdouble{\7f\HEADINGSdouble\ 1904,30062
-\def\HEADINGSsingle{\7f\HEADINGSsingle\ 1914,30382
-\def\HEADINGSon{\7f\HEADINGSon\ 1922,30603
-\def\HEADINGSafter{\7f\HEADINGSafter\ 1924,30637
-\def\HEADINGSdoublex{\7f\HEADINGSdoublex\ 1926,30732
-\def\HEADINGSsingleafter{\7f\HEADINGSsingleafter\ 1933,30920
-\def\HEADINGSsinglex{\7f\HEADINGSsinglex\ 1934,30981
-\def\today{\7f\today\ 1943,31256
-\def\thistitle{\7f\thistitle\ 1958,31801
-\def\settitle{\7f\settitle\ 1959,31826
-\def\settitlezzz #1{\7f\settitlezzz\ 1960,31863
-\def\internalBitem{\7f\internalBitem\ 1992,32793
-\def\internalBitemx{\7f\internalBitemx\ 1993,32843
-\def\internalBxitem "#1"{\7f\internalBxitem\ 1995,32888
-\def\internalBxitemx "#1"{\7f\internalBxitemx\ 1996,32968
-\def\internalBkitem{\7f\internalBkitem\ 1998,33043
-\def\internalBkitemx{\7f\internalBkitemx\ 1999,33095
-\def\kitemzzz #1{\7f\kitemzzz\ 11001,33142
-\def\xitemzzz #1{\7f\xitemzzz\ 11004,33244
-\def\itemzzz #1{\7f\itemzzz\ 11007,33347
-\def\item{\7f\item\ 11037,34418
-\def\itemx{\7f\itemx\ 11038,34469
-\def\kitem{\7f\kitem\ 11039,34522
-\def\kitemx{\7f\kitemx\ 11040,34575
-\def\xitem{\7f\xitem\ 11041,34630
-\def\xitemx{\7f\xitemx\ 11042,34683
-\def\description{\7f\description\ 11045,34793
-\def\table{\7f\table\ 11047,34843
-\def\ftable{\7f\ftable\ 11052,34987
-\def\Eftable{\7f\Eftable\ 11056,35133
-\def\vtable{\7f\vtable\ 11059,35202
-\def\Evtable{\7f\Evtable\ 11063,35348
-\def\dontindex #1{\7f\dontindex\ 11066,35417
-\def\fnitemindex #1{\7f\fnitemindex\ 11067,35437
-\def\vritemindex #1{\7f\vritemindex\ 11068,35482
-\def\tablez #1#2#3#4#5#6{\7f\tablez\ 11074,35631
-\def\Edescription{\7f\Edescription\ 11077,35689
-\def\itemfont{\7f\itemfont\ 11082,35890
-\def\Etable{\7f\Etable\ 11090,36116
-\def\itemize{\7f\itemize\ 11103,36440
-\def\itemizezzz #1{\7f\itemizezzz\ 11105,36476
-\def\itemizey #1#2{\7f\itemizey\ 11110,36571
-\def#2{\7f1119,36817
-\def\itemcontents{\7f\itemcontents\ 11120,36858
-\def\bullet{\7f\bullet\ 11123,36906
-\def\minus{\7f\minus\ 11124,36933
-\def\frenchspacing{\7f\frenchspacing\ 11128,37041
-\def\splitoff#1#2\endmark{\7f\splitoff\ 11134,37266
-\def\enumerate{\7f\enumerate\ 11140,37496
-\def\enumeratezzz #1{\7f\enumeratezzz\ 11141,37535
-\def\enumeratey #1 #2\endenumeratey{\7f\enumeratey\ 11142,37588
-  \def\thearg{\7f\thearg\ 11146,37735
-  \ifx\thearg\empty \def\thearg{\7f\thearg\ 11147,37754
-\def\numericenumerate{\7f\numericenumerate\ 11184,39088
-\def\lowercaseenumerate{\7f\lowercaseenumerate\ 11190,39218
-\def\uppercaseenumerate{\7f\uppercaseenumerate\ 11203,39565
-\def\startenumeration#1{\7f\startenumeration\ 11219,40055
-\def\alphaenumerate{\7f\alphaenumerate\ 11227,40237
-\def\capsenumerate{\7f\capsenumerate\ 11228,40272
-\def\Ealphaenumerate{\7f\Ealphaenumerate\ 11229,40306
-\def\Ecapsenumerate{\7f\Ecapsenumerate\ 11230,40340
-\def\itemizeitem{\7f\itemizeitem\ 11234,40420
-\def\newindex #1{\7f\newindex\ 11259,41277
-\def\defindex{\7f\defindex\ 11268,41566
-\def\newcodeindex #1{\7f\newcodeindex\ 11272,41674
-\def\defcodeindex{\7f\defcodeindex\ 11279,41934
-\def\synindex #1 #2 {\7f\synindex\ 11283,42114
-\def\syncodeindex #1 #2 {\7f\syncodeindex\ 11292,42454
-\def\doindex#1{\7f\doindex\ 11309,43133
-\def\singleindexer #1{\7f\singleindexer\ 11310,43192
-\def\docodeindex#1{\7f\docodeindex\ 11313,43304
-\def\singlecodeindexer #1{\7f\singlecodeindexer\ 11314,43371
-\def\indexdummies{\7f\indexdummies\ 11316,43429
-\def\_{\7f\_\ 11317,43449
-\def\w{\7f\w\ 11318,43477
-\def\bf{\7f\bf\ 11319,43504
-\def\rm{\7f\rm\ 11320,43533
-\def\sl{\7f\sl\ 11321,43562
-\def\sf{\7f\sf\ 11322,43591
-\def\tt{\7f\tt\ 11323,43619
-\def\gtr{\7f\gtr\ 11324,43647
-\def\less{\7f\less\ 11325,43677
-\def\hat{\7f\hat\ 11326,43709
-\def\char{\7f\char\ 11327,43739
-\def\TeX{\7f\TeX\ 11328,43771
-\def\dots{\7f\dots\ 11329,43801
-\def\copyright{\7f\copyright\ 11330,43834
-\def\tclose##1{\7f\tclose\ 11331,43877
-\def\code##1{\7f\code\ 11332,43922
-\def\samp##1{\7f\samp\ 11333,43963
-\def\t##1{\7f\t\ 11334,44004
-\def\r##1{\7f\r\ 11335,44039
-\def\i##1{\7f\i\ 11336,44074
-\def\b##1{\7f\b\ 11337,44109
-\def\cite##1{\7f\cite\ 11338,44144
-\def\key##1{\7f\key\ 11339,44185
-\def\file##1{\7f\file\ 11340,44224
-\def\var##1{\7f\var\ 11341,44265
-\def\kbd##1{\7f\kbd\ 11342,44304
-\def\indexdummyfont#1{\7f\indexdummyfont\ 11347,44460
-\def\indexdummytex{\7f\indexdummytex\ 11348,44486
-\def\indexdummydots{\7f\indexdummydots\ 11349,44510
-\def\indexnofonts{\7f\indexnofonts\ 11351,44536
-\let\w=\indexdummyfont\7fdummyfont\ 11352,44556
-\let\t=\indexdummyfont\7fdummyfont\ 11353,44579
-\let\r=\indexdummyfont\7fdummyfont\ 11354,44602
-\let\i=\indexdummyfont\7fdummyfont\ 11355,44625
-\let\b=\indexdummyfont\7fdummyfont\ 11356,44648
-\let\emph=\indexdummyfont\7fdummyfont\ 11357,44671
-\let\strong=\indexdummyfont\7fdummyfont\ 11358,44697
-\let\cite=\indexdummyfont\7f=\indexdummyfont\ 11359,44725
-\let\sc=\indexdummyfont\7fdummyfont\ 11360,44751
-\let\tclose=\indexdummyfont\7fdummyfont\ 11364,44923
-\let\code=\indexdummyfont\7fdummyfont\ 11365,44951
-\let\file=\indexdummyfont\7fdummyfont\ 11366,44977
-\let\samp=\indexdummyfont\7fdummyfont\ 11367,45003
-\let\kbd=\indexdummyfont\7fdummyfont\ 11368,45029
-\let\key=\indexdummyfont\7fdummyfont\ 11369,45054
-\let\var=\indexdummyfont\7fdummyfont\ 11370,45079
-\let\TeX=\indexdummytex\7fdummytex\ 11371,45104
-\let\dots=\indexdummydots\7fdummydots\ 11372,45128
-\let\indexbackslash=0  %overridden during \printindex.\7fbackslash=0\ 11382,45380
-\def\doind #1#2{\7f\doind\ 11384,45436
-{\indexdummies % Must do this here, since \bf, etc expand at this stage\7fdummies\ 11386,45479
-\def\rawbackslashxx{\7f\rawbackslashxx\ 11389,45619
-{\indexnofonts\7fnofonts\ 11394,45881
-\def\dosubind #1#2#3{\7f\dosubind\ 11405,46192
-{\indexdummies % Must do this here, since \bf, etc expand at this stage\7fdummies\ 11407,46240
-\def\rawbackslashxx{\7f\rawbackslashxx\ 11410,46344
-{\indexnofonts\7fnofonts\ 11414,46498
-\def\findex {\7f\findex\ 11443,47429
-\def\kindex {\7f\kindex\ 11444,47452
-\def\cindex {\7f\cindex\ 11445,47475
-\def\vindex {\7f\vindex\ 11446,47498
-\def\tindex {\7f\tindex\ 11447,47521
-\def\pindex {\7f\pindex\ 11448,47544
-\def\cindexsub {\7f\cindexsub\ 11450,47568
-\def\printindex{\7f\printindex\ 11462,47895
-\def\doprintindex#1{\7f\doprintindex\ 11464,47936
-  \def\indexbackslash{\7f\indexbackslash\ 11481,48421
-  \indexfonts\rm \tolerance=9500 \advance\baselineskip -1pt\7ffonts\rm\ 11482,48460
-\def\initial #1{\7f\initial\ 11517,49532
-\def\entry #1#2{\7f\entry\ 11523,49739
-  \null\nobreak\indexdotfill % Have leaders before the page number.\7fdotfill\ 11540,50386
-\def\indexdotfill{\7f\indexdotfill\ 11549,50714
-\def\primary #1{\7f\primary\ 11552,50820
-\def\secondary #1#2{\7f\secondary\ 11556,50902
-\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\par\7fdotfill\ 11559,50984
-\newbox\partialpage\7fialpage\ 11566,51157
-\def\begindoublecolumns{\7f\begindoublecolumns\ 11572,51315
-  \output={\global\setbox\partialpage=\7fialpage=\ 11573,51351
-\def\enddoublecolumns{\7f\enddoublecolumns\ 11577,51539
-\def\doublecolumnout{\7f\doublecolumnout\ 11580,51624
-  \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage\7fialpage\ 11581,51693
-\def\pagesofar{\7f\pagesofar\ 11584,51871
-\def\balancecolumns{\7f\balancecolumns\ 11588,52108
-  \availdimen@=\pageheight \advance\availdimen@ by-\ht\partialpage\7fialpage\ 11594,52279
-     \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage\7fialpage\ 11600,52540
-\newcount \appendixno  \appendixno = `\@\7fno\ 11627,53445
-\def\appendixletter{\7f\appendixletter\ 11628,53486
-\def\opencontents{\7f\opencontents\ 11632,53589
-\def\thischapter{\7f\thischapter\ 11637,53770
-\def\seccheck#1{\7f\seccheck\ 11638,53808
-\def\chapternofonts{\7f\chapternofonts\ 11643,53912
-\def\result{\7f\result\ 11646,53987
-\def\equiv{\7f\equiv\ 11647,54022
-\def\expansion{\7f\expansion\ 11648,54055
-\def\print{\7f\print\ 11649,54096
-\def\TeX{\7f\TeX\ 11650,54129
-\def\dots{\7f\dots\ 11651,54158
-\def\copyright{\7f\copyright\ 11652,54189
-\def\tt{\7f\tt\ 11653,54230
-\def\bf{\7f\bf\ 11654,54257
-\def\w{\7f\w\ 11655,54285
-\def\less{\7f\less\ 11656,54310
-\def\gtr{\7f\gtr\ 11657,54341
-\def\hat{\7f\hat\ 11658,54370
-\def\char{\7f\char\ 11659,54399
-\def\tclose##1{\7f\tclose\ 11660,54430
-\def\code##1{\7f\code\ 11661,54474
-\def\samp##1{\7f\samp\ 11662,54514
-\def\r##1{\7f\r\ 11663,54554
-\def\b##1{\7f\b\ 11664,54588
-\def\key##1{\7f\key\ 11665,54622
-\def\file##1{\7f\file\ 11666,54660
-\def\kbd##1{\7f\kbd\ 11667,54700
-\def\i##1{\7f\i\ 11669,54808
-\def\cite##1{\7f\cite\ 11670,54842
-\def\var##1{\7f\var\ 11671,54882
-\def\emph##1{\7f\emph\ 11672,54920
-\def\dfn##1{\7f\dfn\ 11673,54960
-\def\thischaptername{\7f\thischaptername\ 11676,55001
-\outer\def\chapter{\7f\chapter\ 11677,55040
-\def\chapterzzz #1{\7f\chapterzzz\ 11678,55081
-{\chapternofonts%\7fnofonts%\ 11687,55477
-\global\let\section = \numberedsec\7f=\ 11692,55630
-\global\let\subsection = \numberedsubsec\7f=\ 11693,55665
-\global\let\subsubsection = \numberedsubsubsec\7f=\ 11694,55706
-\outer\def\appendix{\7f\appendix\ 11697,55757
-\def\appendixzzz #1{\7f\appendixzzz\ 11698,55800
-\global\advance \appendixno by 1 \message{\7fno\ 11700,55877
-\chapmacro {#1}{Appendix \appendixletter}\7fletter\ 11701,55946
-\xdef\thischapter{Appendix \appendixletter: \noexpand\thischaptername}\7fletter:\ 11704,56039
-{\chapternofonts%\7fnofonts%\ 11705,56111
-  {#1}{Appendix \appendixletter}\7fletter\ 11707,56167
-\appendixnoderef %\7fnoderef\ 11710,56267
-\global\let\section = \appendixsec\7f=\ 11711,56286
-\global\let\subsection = \appendixsubsec\7f=\ 11712,56321
-\global\let\subsubsection = \appendixsubsubsec\7f=\ 11713,56362
-\outer\def\top{\7f\top\ 11716,56413
-\outer\def\unnumbered{\7f\unnumbered\ 11717,56453
-\def\unnumberedzzz #1{\7f\unnumberedzzz\ 11718,56500
-{\chapternofonts%\7fnofonts%\ 11722,56663
-\global\let\section = \unnumberedsec\7f=\ 11727,56813
-\global\let\subsection = \unnumberedsubsec\7f=\ 11728,56850
-\global\let\subsubsection = \unnumberedsubsubsec\7f=\ 11729,56893
-\outer\def\numberedsec{\7f\numberedsec\ 11732,56946
-\def\seczzz #1{\7f\seczzz\ 11733,56987
-{\chapternofonts%\7fnofonts%\ 11736,57143
-\outer\def\appendixsection{\7f\appendixsection\ 11745,57329
-\outer\def\appendixsec{\7f\appendixsec\ 11746,57386
-\def\appendixsectionzzz #1{\7f\appendixsectionzzz\ 11747,57439
-\gdef\thissection{#1}\secheading {#1}{\appendixletter}\7fletter\ 11749,57551
-{\chapternofonts%\7fnofonts%\ 11750,57619
-{#1}{\appendixletter}\7fletter\ 11752,57675
-\appendixnoderef %\7fnoderef\ 11755,57775
-\outer\def\unnumberedsec{\7f\unnumberedsec\ 11759,57815
-\def\unnumberedseczzz #1{\7f\unnumberedseczzz\ 11760,57868
-{\chapternofonts%\7fnofonts%\ 11762,57963
-\outer\def\numberedsubsec{\7f\numberedsubsec\ 11770,58131
-\def\numberedsubseczzz #1{\7f\numberedsubseczzz\ 11771,58186
-{\chapternofonts%\7fnofonts%\ 11774,58365
-\outer\def\appendixsubsec{\7f\appendixsubsec\ 11783,58569
-\def\appendixsubseczzz #1{\7f\appendixsubseczzz\ 11784,58624
-\subsecheading {#1}{\appendixletter}\7fletter\ 11786,58746
-{\chapternofonts%\7fnofonts%\ 11787,58811
-{#1}{\appendixletter}\7fletter\ 11789,58870
-\appendixnoderef %\7fnoderef\ 11792,58985
-\outer\def\unnumberedsubsec{\7f\unnumberedsubsec\ 11796,59025
-\def\unnumberedsubseczzz #1{\7f\unnumberedsubseczzz\ 11797,59084
-{\chapternofonts%\7fnofonts%\ 11799,59185
-\outer\def\numberedsubsubsec{\7f\numberedsubsubsec\ 11807,59356
-\def\numberedsubsubseczzz #1{\7f\numberedsubsubseczzz\ 11808,59417
-{\chapternofonts%\7fnofonts%\ 11812,59614
-\outer\def\appendixsubsubsec{\7f\appendixsubsubsec\ 11823,59847
-\def\appendixsubsubseczzz #1{\7f\appendixsubsubseczzz\ 11824,59908
-  {\appendixletter}\7fletter\ 11827,60047
-{\chapternofonts%\7fnofonts%\ 11828,60113
-  {\appendixletter}\7fletter\ 11830,60178
-\appendixnoderef %\7fnoderef\ 11834,60312
-\outer\def\unnumberedsubsubsec{\7f\unnumberedsubsubsec\ 11838,60352
-\def\unnumberedsubsubseczzz #1{\7f\unnumberedsubsubseczzz\ 11839,60417
-{\chapternofonts%\7fnofonts%\ 11841,60524
-\def\infotop{\7f\infotop\ 11851,60853
-\def\infounnumbered{\7f\infounnumbered\ 11852,60891
-\def\infounnumberedsec{\7f\infounnumberedsec\ 11853,60936
-\def\infounnumberedsubsec{\7f\infounnumberedsubsec\ 11854,60987
-\def\infounnumberedsubsubsec{\7f\infounnumberedsubsubsec\ 11855,61044
-\def\infoappendix{\7f\infoappendix\ 11857,61108
-\def\infoappendixsec{\7f\infoappendixsec\ 11858,61149
-\def\infoappendixsubsec{\7f\infoappendixsubsec\ 11859,61196
-\def\infoappendixsubsubsec{\7f\infoappendixsubsubsec\ 11860,61249
-\def\infochapter{\7f\infochapter\ 11862,61309
-\def\infosection{\7f\infosection\ 11863,61348
-\def\infosubsection{\7f\infosubsection\ 11864,61387
-\def\infosubsubsection{\7f\infosubsubsection\ 11865,61432
-\global\let\section = \numberedsec\7f=\ 11870,61669
-\global\let\subsection = \numberedsubsec\7f=\ 11871,61704
-\global\let\subsubsection = \numberedsubsubsec\7f=\ 11872,61745
-\def\majorheading{\7f\majorheading\ 11886,62252
-\def\majorheadingzzz #1{\7f\majorheadingzzz\ 11887,62297
-\def\chapheading{\7f\chapheading\ 11893,62530
-\def\chapheadingzzz #1{\7f\chapheadingzzz\ 11894,62573
-\def\heading{\7f\heading\ 11899,62768
-\def\subheading{\7f\subheading\ 11901,62805
-\def\subsubheading{\7f\subsubheading\ 11903,62848
-\def\dobreak#1#2{\7f\dobreak\ 11910,63125
-\def\setchapterstyle #1 {\7f\setchapterstyle\ 11912,63203
-\def\chapbreak{\7f\chapbreak\ 11919,63458
-\def\chappager{\7f\chappager\ 11920,63508
-\def\chapoddpage{\7f\chapoddpage\ 11921,63546
-\def\setchapternewpage #1 {\7f\setchapternewpage\ 11923,63625
-\def\CHAPPAGoff{\7f\CHAPPAGoff\ 11925,63682
-\def\CHAPPAGon{\7f\CHAPPAGon\ 11929,63776
-\global\def\HEADINGSon{\7f\HEADINGSon\ 11932,63867
-\def\CHAPPAGodd{\7f\CHAPPAGodd\ 11934,63909
-\global\def\HEADINGSon{\7f\HEADINGSon\ 11937,64005
-\def\CHAPFplain{\7f\CHAPFplain\ 11941,64059
-\def\chfplain #1#2{\7f\chfplain\ 11945,64151
-\def\unnchfplain #1{\7f\unnchfplain\ 11956,64374
-\def\unnchfopen #1{\7f\unnchfopen\ 11964,64603
-\def\chfopen #1#2{\7f\chfopen\ 11970,64811
-\def\CHAPFopen{\7f\CHAPFopen\ 11975,64955
-\def\subsecheadingbreak{\7f\subsecheadingbreak\ 11982,65173
-\def\secheadingbreak{\7f\secheadingbreak\ 11985,65302
-\def\secheading #1#2#3{\7f\secheading\ 11993,65584
-\def\plainsecheading #1{\7f\plainsecheading\ 11994,65640
-\def\secheadingi #1{\7f\secheadingi\ 11995,65683
-\def\subsecheading #1#2#3#4{\7f\subsecheading\ 12006,66051
-\def\subsecheadingi #1{\7f\subsecheadingi\ 12007,66118
-\def\subsubsecfonts{\7f\subsubsecfonts\ 12014,66415
-\def\subsubsecheading #1#2#3#4#5{\7f\subsubsecheading\ 12017,66538
-\def\subsubsecheadingi #1{\7f\subsubsecheadingi\ 12018,66616
-\def\startcontents#1{\7f\startcontents\ 12032,67088
-   \unnumbchapmacro{#1}\def\thischapter{\7f\thischapter\ 12040,67361
-\outer\def\contents{\7f\contents\ 12049,67720
-\outer\def\summarycontents{\7f\summarycontents\ 12057,67864
-      \def\secentry ##1##2##3##4{\7f\secentry\ 12067,68235
-      \def\unnumbsecentry ##1##2{\7f\unnumbsecentry\ 12068,68270
-      \def\subsecentry ##1##2##3##4##5{\7f\subsecentry\ 12069,68305
-      \def\unnumbsubsecentry ##1##2{\7f\unnumbsubsecentry\ 12070,68346
-      \def\subsubsecentry ##1##2##3##4##5##6{\7f\subsubsecentry\ 12071,68384
-      \def\unnumbsubsubsecentry ##1##2{\7f\unnumbsubsubsecentry\ 12072,68431
-\def\chapentry#1#2#3{\7f\chapentry\ 12085,68865
-\def\shortchapentry#1#2#3{\7f\shortchapentry\ 12088,68982
-    {#2\labelspace #1}\7fspace\ 12091,69092
-\def\unnumbchapentry#1#2{\7f\unnumbchapentry\ 12094,69146
-\def\shortunnumberedentry#1#2{\7f\shortunnumberedentry\ 12095,69193
-\def\secentry#1#2#3#4{\7f\secentry\ 12102,69357
-\def\unnumbsecentry#1#2{\7f\unnumbsecentry\ 12103,69416
-\def\subsecentry#1#2#3#4#5{\7f\subsecentry\ 12106,69477
-\def\unnumbsubsecentry#1#2{\7f\unnumbsubsecentry\ 12107,69547
-\def\subsubsecentry#1#2#3#4#5#6{\7f\subsubsecentry\ 12110,69621
-  \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}\7fspace\ 12111,69655
-\def\unnumbsubsubsecentry#1#2{\7f\unnumbsubsubsecentry\ 12112,69706
-\def\dochapentry#1#2{\7f\dochapentry\ 12123,70080
-\def\dosecentry#1#2{\7f\dosecentry\ 12138,70685
-\def\dosubsecentry#1#2{\7f\dosubsecentry\ 12145,70863
-\def\dosubsubsecentry#1#2{\7f\dosubsubsecentry\ 12152,71048
-\def\labelspace{\7f\labelspace\ 12160,71299
-\def\dopageno#1{\7f\dopageno\ 12162,71334
-\def\doshortpageno#1{\7f\doshortpageno\ 12163,71360
-\def\chapentryfonts{\7f\chapentryfonts\ 12165,71392
-\def\secentryfonts{\7f\secentryfonts\ 12166,71427
-\def\point{\7f\point\ 12192,72386
-\def\result{\7f\result\ 12194,72407
-\def\expansion{\7f\expansion\ 12195,72480
-\def\print{\7f\print\ 12196,72551
-\def\equiv{\7f\equiv\ 12198,72618
-\def\error{\7f\error\ 12218,73391
-\def\tex{\7f\tex\ 12224,73620
-\def\@{\7f\@\ 12242,74003
-\gdef\sepspaces{\def {\ }}}\7f\\ 12265,74735
-\def\aboveenvbreak{\7f\aboveenvbreak\ 12268,74817
-\def\afterenvbreak{\7f\afterenvbreak\ 12272,74983
-\def\ctl{\7f\ctl\ 12286,75494
-\def\ctr{\7f\ctr\ 12287,75566
-\def\cbl{\7f\cbl\ 12288,75605
-\def\cbr{\7f\cbr\ 12289,75645
-\def\carttop{\7f\carttop\ 12290,75684
-\def\cartbot{\7f\cartbot\ 12293,75792
-\long\def\cartouche{\7f\cartouche\ 12299,75932
-\def\Ecartouche{\7f\Ecartouche\ 12326,76720
-\def\lisp{\7f\lisp\ 12338,76855
-\def\Elisp{\7f\Elisp\ 12348,77202
-\def\next##1{\7f\next\ 12360,77528
-\def\Eexample{\7f\Eexample\ 12364,77570
-\def\Esmallexample{\7f\Esmallexample\ 12367,77617
-\def\smalllispx{\7f\smalllispx\ 12373,77795
-\def\Esmalllisp{\7f\Esmalllisp\ 12383,78149
-\obeyspaces \obeylines \ninett \indexfonts \rawbackslash\7ffonts\ 12396,78505
-\def\next##1{\7f\next\ 12397,78562
-\def\display{\7f\display\ 12401,78642
-\def\Edisplay{\7f\Edisplay\ 12410,78961
-\def\next##1{\7f\next\ 12422,79272
-\def\format{\7f\format\ 12426,79375
-\def\Eformat{\7f\Eformat\ 12434,79671
-\def\next##1{\7f\next\ 12437,79760
-\def\flushleft{\7f\flushleft\ 12441,79812
-\def\Eflushleft{\7f\Eflushleft\ 12451,80183
-\def\next##1{\7f\next\ 12454,80276
-\def\flushright{\7f\flushright\ 12456,80298
-\def\Eflushright{\7f\Eflushright\ 12466,80670
-\def\next##1{\7f\next\ 12470,80801
-\def\quotation{\7f\quotation\ 12474,80859
-\def\Equotation{\7f\Equotation\ 12480,81051
-\def\setdeffont #1 {\7f\setdeffont\ 12493,81449
-\newskip\defbodyindent \defbodyindent=.4in\7fbodyindent\ 12495,81495
-\newskip\defargsindent \defargsindent=50pt\7fargsindent\ 12496,81538
-\newskip\deftypemargin \deftypemargin=12pt\7ftypemargin\ 12497,81581
-\newskip\deflastargmargin \deflastargmargin=18pt\7flastargmargin\ 12498,81624
-\def\activeparens{\7f\activeparens\ 12503,81822
-\def\opnr{\7f\opnr\ 12529,83034
-\def\lbrb{\7f\lbrb\ 12530,83099
-\def\defname #1#2{\7f\defname\ 12536,83300
-\advance\dimen2 by -\defbodyindent\7fbodyindent\ 12540,83418
-\advance\dimen3 by -\defbodyindent\7fbodyindent\ 12542,83472
-\setbox0=\hbox{\hskip \deflastargmargin{\7flastargmargin\ 12544,83526
-\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations\7fargsindent\ 12546,83668
-\parshape 2 0in \dimen0 \defargsindent \dimen1     %\7fargsindent\ 12547,83743
-\rlap{\rightline{{\rm #2}\hskip \deftypemargin}\7ftypemargin\ 12554,84112
-\advance\leftskip by -\defbodyindent\7fbodyindent\ 12557,84246
-\exdentamount=\defbodyindent\7fbodyindent\ 12558,84283
-\def\defparsebody #1#2#3{\7f\defparsebody\ 12568,84642
-\def#1{\7f2572,84826
-\def#2{\7f2573,84862
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12575,84934
-\exdentamount=\defbodyindent\7fbodyindent\ 12576,85008
-\def\defmethparsebody #1#2#3#4 {\7f\defmethparsebody\ 12581,85112
-\def#1{\7f2585,85273
-\def#2##1 {\7f2586,85309
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12588,85392
-\exdentamount=\defbodyindent\7fbodyindent\ 12589,85466
-\def\defopparsebody #1#2#3#4#5 {\7f\defopparsebody\ 12592,85551
-\def#1{\7f2596,85712
-\def#2##1 ##2 {\7f2597,85748
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12600,85848
-\exdentamount=\defbodyindent\7fbodyindent\ 12601,85922
-\def\defvarparsebody #1#2#3{\7f\defvarparsebody\ 12608,86193
-\def#1{\7f2612,86380
-\def#2{\7f2613,86416
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12615,86475
-\exdentamount=\defbodyindent\7fbodyindent\ 12616,86549
-\def\defvrparsebody #1#2#3#4 {\7f\defvrparsebody\ 12621,86640
-\def#1{\7f2625,86799
-\def#2##1 {\7f2626,86835
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12628,86905
-\exdentamount=\defbodyindent\7fbodyindent\ 12629,86979
-\def\defopvarparsebody #1#2#3#4#5 {\7f\defopvarparsebody\ 12632,87051
-\def#1{\7f2636,87215
-\def#2##1 ##2 {\7f2637,87251
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12640,87338
-\exdentamount=\defbodyindent\7fbodyindent\ 12641,87412
-\def\defunargs #1{\7f\defunargs\ 12664,88172
-\def\deftypefunargs #1{\7f\deftypefunargs\ 12676,88554
-\def\deffn{\7f\deffn\ 12690,88936
-\def\deffnheader #1#2#3{\7f\deffnheader\ 12692,88993
-\begingroup\defname {\7fname\ 12693,89041
-\def\defun{\7f\defun\ 12699,89186
-\def\defunheader #1#2{\7f\defunheader\ 12701,89239
-\begingroup\defname {\7fname\ 12702,89314
-\defunargs {\7funargs\ 12703,89350
-\def\deftypefun{\7f\deftypefun\ 12709,89498
-\def\deftypefunheader #1#2{\7f\deftypefunheader\ 12712,89620
-\def\deftypefunheaderx #1#2 #3\relax{\7f\deftypefunheaderx\ 12714,89729
-\begingroup\defname {\7fname\ 12716,89821
-\deftypefunargs {\7ftypefunargs\ 12717,89867
-\def\deftypefn{\7f\deftypefn\ 12723,90038
-\def\deftypefnheader #1#2#3{\7f\deftypefnheader\ 12726,90187
-\def\deftypefnheaderx #1#2#3 #4\relax{\7f\deftypefnheaderx\ 12728,90323
-\begingroup\defname {\7fname\ 12730,90416
-\deftypefunargs {\7ftypefunargs\ 12731,90456
-\def\defmac{\7f\defmac\ 12737,90577
-\def\defmacheader #1#2{\7f\defmacheader\ 12739,90634
-\begingroup\defname {\7fname\ 12740,90710
-\defunargs {\7funargs\ 12741,90743
-\def\defspec{\7f\defspec\ 12747,90867
-\def\defspecheader #1#2{\7f\defspecheader\ 12749,90928
-\begingroup\defname {\7fname\ 12750,91005
-\defunargs {\7funargs\ 12751,91045
-\def\deffnx #1 {\7f\deffnx\ 12758,91240
-\def\defunx #1 {\7f\defunx\ 12759,91297
-\def\defmacx #1 {\7f\defmacx\ 12760,91354
-\def\defspecx #1 {\7f\defspecx\ 12761,91413
-\def\deftypefnx #1 {\7f\deftypefnx\ 12762,91474
-\def\deftypeunx #1 {\7f\deftypeunx\ 12763,91539
-\def\defop #1 {\7f\defop\ 12769,91685
-\defopparsebody\Edefop\defopx\defopheader\defoptype}\7fopparsebody\Edefop\defopx\defopheader\defoptype\ 12770,91720
-\def\defopheader #1#2#3{\7f\defopheader\ 12772,91774
-\begingroup\defname {\7fname\ 12774,91863
-\defunargs {\7funargs\ 12775,91909
-\def\defmethod{\7f\defmethod\ 12780,91970
-\def\defmethodheader #1#2#3{\7f\defmethodheader\ 12782,92043
-\begingroup\defname {\7fname\ 12784,92131
-\defunargs {\7funargs\ 12785,92171
-\def\defcv #1 {\7f\defcv\ 12790,92245
-\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}\7fopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype\ 12791,92280
-\def\defcvarheader #1#2#3{\7f\defcvarheader\ 12793,92339
-\begingroup\defname {\7fname\ 12795,92425
-\defvarargs {\7fvarargs\ 12796,92471
-\def\defivar{\7f\defivar\ 12801,92544
-\def\defivarheader #1#2#3{\7f\defivarheader\ 12803,92607
-\begingroup\defname {\7fname\ 12805,92693
-\defvarargs {\7fvarargs\ 12806,92744
-\def\defopx #1 {\7f\defopx\ 12812,92893
-\def\defmethodx #1 {\7f\defmethodx\ 12813,92950
-\def\defcvx #1 {\7f\defcvx\ 12814,93015
-\def\defivarx #1 {\7f\defivarx\ 12815,93072
-\def\defvarargs #1{\7f\defvarargs\ 12822,93343
-\def\defvr{\7f\defvr\ 12828,93487
-\def\defvrheader #1#2#3{\7f\defvrheader\ 12830,93542
-\begingroup\defname {\7fname\ 12831,93590
-\def\defvar{\7f\defvar\ 12835,93675
-\def\defvarheader #1#2{\7f\defvarheader\ 12837,93735
-\begingroup\defname {\7fname\ 12838,93806
-\defvarargs {\7fvarargs\ 12839,93842
-\def\defopt{\7f\defopt\ 12844,93908
-\def\defoptheader #1#2{\7f\defoptheader\ 12846,93968
-\begingroup\defname {\7fname\ 12847,94039
-\defvarargs {\7fvarargs\ 12848,94078
-\def\deftypevar{\7f\deftypevar\ 12853,94135
-\def\deftypevarheader #1#2{\7f\deftypevarheader\ 12856,94251
-\begingroup\defname {\7fname\ 12858,94334
-\def\deftypevr{\7f\deftypevr\ 12865,94508
-\def\deftypevrheader #1#2#3{\7f\deftypevrheader\ 12867,94579
-\begingroup\defname {\7fname\ 12868,94631
-\def\defvrx #1 {\7f\defvrx\ 12876,94868
-\def\defvarx #1 {\7f\defvarx\ 12877,94925
-\def\defoptx #1 {\7f\defoptx\ 12878,94984
-\def\deftypevarx #1 {\7f\deftypevarx\ 12879,95043
-\def\deftypevrx #1 {\7f\deftypevrx\ 12880,95110
-\def\deftpargs #1{\7f\deftpargs\ 12885,95259
-\def\deftp{\7f\deftp\ 12889,95339
-\def\deftpheader #1#2#3{\7f\deftpheader\ 12891,95394
-\begingroup\defname {\7fname\ 12892,95442
-\def\deftpx #1 {\7f\deftpx\ 12897,95601
-\def\setref#1{\7f\setref\ 12908,95922
-\def\unnumbsetref#1{\7f\unnumbsetref\ 12913,96036
-\def\appendixsetref#1{\7f\appendixsetref\ 12918,96143
-\def\pxref#1{\7f\pxref\ 12929,96554
-\def\xref#1{\7f\xref\ 12930,96590
-\def\ref#1{\7f\ref\ 12931,96625
-\def\xrefX[#1,#2,#3,#4,#5,#6]{\7f\xrefX[\ 12932,96655
-\def\printedmanual{\7f\printedmanual\ 12933,96698
-\def\printednodename{\7f\printednodename\ 12934,96736
-\def\printednodename{\7f\printednodename\ 12939,96861
-section ``\printednodename'' in \cite{\printedmanual}\7f\printedmanual\ 12954,97493
-\refx{\7fx\ 12957,97571
-\def\dosetq #1#2{\7f\dosetq\ 12965,97791
-\def\internalsetq #1#2{\7f\internalsetq\ 12973,98049
-\def\Ypagenumber{\7f\Ypagenumber\ 12977,98150
-\def\Ytitle{\7f\Ytitle\ 12979,98176
-\def\Ynothing{\7f\Ynothing\ 12981,98203
-\def\Ysectionnumberandtype{\7f\Ysectionnumberandtype\ 12983,98220
-\def\Yappendixletterandtype{\7f\Yappendixletterandtype\ 12992,98536
-\ifnum\secno=0 Appendix\xreftie'char\the\appendixno{\7fno\ 12993,98566
-\else \ifnum \subsecno=0 Section\xreftie'char\the\appendixno.\the\secno %\7fno.\the\secno\ 12994,98621
-Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno %\7fno.\the\secno.\the\subsecno\ 12996,98725
-Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %\7fno.\the\secno.\the\subsecno.\the\subsubsecno\ 12998,98796
-  \def\linenumber{\7f\linenumber\ 13009,99135
-\def\refx#1#2{\7f\refx\ 13015,99319
-\def\xrdef #1#2{\7f\xrdef\ 13037,99945
-\def\readauxfile{\7f\readauxfile\ 13040,100030
-\def\supereject{\7f\supereject\ 13110,101811
-\footstrut\parindent=\defaultparindent\hang\textindent{\7faultparindent\hang\textindent\ 13131,102496
-\def\openindices{\7f\openindices\ 13139,102682
-\newdimen\defaultparindent \defaultparindent = 15pt\7faultparindent\ 13151,102907
-\parindent = \defaultparindent\7faultparindent\ 13152,102959
-\def\smallbook{\7f\smallbook\ 13175,103683
-\global\def\Esmallexample{\7f\Esmallexample\ 13192,104110
-\def\afourpaper{\7f\afourpaper\ 13196,104201
-\def\finalout{\7f\finalout\ 13224,105009
-\def\normaldoublequote{\7f\normaldoublequote\ 13235,105270
-\def\normaltilde{\7f\normaltilde\ 13236,105296
-\def\normalcaret{\7f\normalcaret\ 13237,105316
-\def\normalunderscore{\7f\normalunderscore\ 13238,105336
-\def\normalverticalbar{\7f\normalverticalbar\ 13239,105361
-\def\normalless{\7f\normalless\ 13240,105387
-\def\normalgreater{\7f\normalgreater\ 13241,105406
-\def\normalplus{\7f\normalplus\ 13242,105428
-\def\ifusingtt#1#2{\7f\ifusingtt\ 13253,105920
-\def\activedoublequote{\7f\activedoublequote\ 13261,106248
-\def~{\7f~\ 13264,106334
-\def^{\7f^\ 13267,106395
-\def_{\7f_\ 13270,106434
-\def\_{\7f\_\ 13272,106508
-\def\lvvmode{\7f\lvvmode\ 13279,106845
-\def|{\7f|\ 13282,106895
-\def<{\7f<\ 13285,106958
-\def>{\7f>\ 13288,107015
-\def+{\7f+\ 13290,107053
-\def\turnoffactive{\7f\turnoffactive\ 13296,107214
-\global\def={\7f=\ 13307,107500
-\def\normalbackslash{\7f\normalbackslash\ 13321,107882
-\f
-merc-src/accumulator.m,3228
-:- interface\7f146,5371
-:- import_module hlds\7f148,5386
-:- import_module univ\7f152,5478
-:- pred accu_transform_proc\7f159,5793
-:- implementation\7f166,6115
-:- import_module libs\7f180,6552
-:- import_module mdbcomp\7f184,6681
-:- import_module parse_tree\7f186,6742
-:- import_module assoc_list\7f194,7013
-:- import_module bool\7f195,7042
-:- import_module int\7f196,7065
-:- import_module io\7f197,7087
-:- import_module list\7f198,7108
-:- import_module map\7f199,7131
-:- import_module maybe\7f200,7153
-:- import_module pair\7f201,7177
-:- import_module require\7f202,7200
-:- import_module set\7f203,7226
-:- import_module solutions\7f204,7248
-:- import_module string\7f205,7276
-:- import_module term\7f206,7301
-:- import_module varset\7f207,7324
-:- type top_level\7f213,7499
-:- type accu_goal_id\7f225,7900
-:- type accu_case\7f228,7964
-:- type accu_goal_store\7f234,8091
-:- type accu_subst\7f238,8216
-:- type accu_warning\7f240,8264
-:- pred generate_warnings\7f334,12550
-:- pred generate_warning\7f342,12895
-:- pred should_attempt_accu_transform\7f365,13886
-:- pred should_attempt_accu_transform_2\7f398,15406
-:- pred accu_standardize\7f440,17390
-:- pred identify_goal_type\7f465,18169
-:- pred is_recursive_case\7f549,21175
-:- type store_info\7f560,21713
-:- func initialize_goal_store\7f570,22060
-:- pred accu_store\7f580,22421
-:- pred identify_recursive_calls\7f601,23288
-:- pred identify_out_and_out_prime\7f626,24397
-:- type accu_sets\7f676,26426
-:- pred accu_stage1\7f689,26978
-:- pred accu_stage1_2\7f727,28348
-:- pred accu_sets_init\7f781,30558
-:- func set_upto\7f796,30985
-:- pred accu_before\7f812,31499
-:- pred accu_assoc\7f835,32478
-:- pred accu_construct\7f862,33713
-:- pred accu_construct_assoc\7f896,35308
-:- pred accu_update\7f938,37070
-:- pred member_lessthan_goalid\7f964,38220
-:- type accu_assoc\7f975,38653
-:- pred accu_is_associative\7f986,39139
-:- pred associativity_assertion\7f1014,40264
-:- pred commutativity_assertion\7f1037,41243
-:- pred accu_is_update\7f1057,41953
-:- pred is_associative_construction\7f1078,42803
-:- type accu_substs\7f1095,43481
-:- type accu_base\7f1103,43745
-:- pred accu_stage2\7f1124,44606
-:- pred accu_substs_init\7f1179,46958
-:- pred acc_var_subst_init\7f1194,47574
-:- pred create_new_var\7f1207,48148
-:- pred accu_process_assoc_set\7f1223,48863
-:- pred accu_has_heuristic\7f1297,52082
-:- pred accu_heuristic\7f1304,52337
-:- pred accu_process_update_set\7f1318,52907
-:- pred accu_divide_base_case\7f1380,55845
-:- pred accu_related\7f1412,57147
-:- inst stored_goal_plain_call\7f1444,58416
-:- pred lookup_call\7f1449,58602
-:- pred accu_stage3\7f1470,59433
-:- pred acc_proc_info\7f1508,61327
-:- pred acc_pred_info\7f1556,63450
-:- pred accu_create_goal\7f1600,65286
-:- func create_acc_call\7f1621,66401
-:- pred create_orig_goal\7f1634,66988
-:- pred create_acc_goal\7f1662,68158
-:- func create_new_orig_recursive_goals\7f1709,70226
-:- func create_new_recursive_goals\7f1723,70919
-:- func create_new_base_goals\7f1738,71718
-:- pred acc_unification\7f1749,72157
-:- pred accu_top_level\7f1766,72897
-:- pred update_accumulator_pred\7f1856,76291
-:- func accu_rename\7f1876,77254
-:- func base_case_ids\7f1889,77785
-:- func base_case_ids_set\7f1898,78049
-:- func accu_goal_list\7f1905,78270
-:- pred calculate_goal_info\7f1916,78681
-:- func chain_subst\7f1932,79320
-:- pred chain_subst_2\7f1938,79483
-:- some [T] pred unravel_univ\7f1956,80061
-:- pragma foreign_export\7f1957,80117
-\f
-c-src/c.c,76
-T f(\7f1,0
-}T i;\7f2,14
-void bar(\7f5,69
-int foobar(\7f6,94
-interface_locate(\7f9,131
-\f
-c.c,1807
-my_printf \7f135,
-void fatala \7f138,
-max \7f141,
-struct bar \7f143,
-__attribute__ ((always_inline)) max \7f147,
-struct foo\7f150,
-char stack[\7fstack\ 1155,
-struct S \7f156,
-} wait_status_ptr_t \7f161,
-Some_Class  A \7f162,
-typedef T1 T3 \7f163,
-T3 z \7f164,
-typedef int more_aligned_int \7f165,
-struct S  __attribute__ ((vector_size (16))) foo;\7f166,
-int foo \7f167,
-char *__attribute__((aligned(8))) *f;\7ff\ 1168,
-int i \7f169,
-extern void foobar \7f170,
-typedef struct cacheLRUEntry_s\7f172,
-__attribute__ ((packed)) cacheLRUEntry_t;\7f177,
-struct foo \7f178,
-     f1 \7f183,
-void f2 \7f184,
-int x \7f188,
-struct foo \7f189,
-short array[\7farray\ 1190,
-int f\7f193,
-DEAFUN \7f196,
-XDEFUN \7f203,
-DEFUN ("x-get-selection-internal", Fx_get_selection_internal,\7f206,
-DEFUN ("x-get-selection-internal", Fx_get_selection_internal,\7fx-get-selection-internal\ 1206,
-       Fx_get_selection_internal,\7f212,
-       Fx_get_selection_internal,\7fx-get-selection-internal\ 1212,
-      Fy_get_selection_internal,\7f216,
-      Fy_get_selection_internal,\7fy-get-selection-internal\ 1216,
-defun_func1(\7f218,
-DEFUN_func2(\7f220,
-typedef int bool;\7f222,
-bool funcboo \7f223,
-struct my_struct \7f226,
-typedef struct my_struct my_typedef;\7f228,
-int bla \7f229,
-a(\7f234,
-int func1\7f237,
-static struct cca_control init_control \7f239,
-static tpcmd rbtp \7f240,
-static byte ring1 \7f241,
-static byte ring2 \7f242,
-request request \7f243,
-int func2 \7f246,
-  aaa;\7f249,
-  bbb;\7f251,
-struct sss1 \7f252,
-struct sss2\7f253,
-  struct ss3\7f255,
-struct a b;\7f259,
-struct aa *b;\7fb\ 1260,
-  **b;\7fb\ 1262,
-caccacacca \7f263,
-a \7f267,
-  typedef struct aa \7f269,
-  typedef struct aa {} aaa;\7f269,
-static void inita \7f271,
-node *lasta \7flasta\ 1272,
-b \7f273,
-  typedef  int bb;\7f275,
-static void initb \7f277,
-node *lastb \7flastb\ 1278,
-typedef enum { REG_ENOSYS \7f279,
-typedef enum { REG_ENOSYS = -1, aa \7f279,
-typedef enum { REG_ENOSYS = -1, aa } reg_errcode_t;\7f279,
-\f
-c-src/a/b/b.c,18
-#define this \7f1,0
-\f
-../c/c.web,20
-#define questo \7f34,
-\f
-y-src/parse.y,738
-#define obstack_chunk_alloc \7f47,1124
-#define obstack_chunk_free \7f48,1162
-VOIDSTAR parse_hash;\7f64,1413
-unsigned char fnin[\7ffnin\ 168,1532
-#define YYSTYPE \7f72,1630
-typedef struct node *YYSTYPE;\7fYYSTYPE\ 173,1661
-YYSTYPE parse_return;\7f74,1691
-char *instr;\7finstr\ 181,1803
-int parse_error \7f82,1816
-line:\7fline\ 187,1875
-exp:\7fexp\ 195,1988
-exp_list:\7fexp_list\ 1263,5655
-range_exp:\7frange_exp\ 1269,5753
-range_exp_list:\7frange_exp_list\ 1273,5783
-cell:\7fcell\ 1279,5901
-yyerror FUN1(\7f286,5948
-make_list FUN2(\7f293,6028
-#define ERROR \7f304,6228
-yylex FUN0(\7f315,6405
-parse_cell_or_range FUN2(\7f587,11772
-#define CK_ABS_R(\7f671,13214
-#define CK_REL_R(\7f675,13293
-#define CK_ABS_C(\7f680,13422
-#define CK_REL_C(\7f684,13501
-#define MAYBEREL(\7f689,13630
-str_to_col FUN1(\7f847,16831
-\f
-y-src/parse.c,520
-#define YYBISON \7f4,64
-# define       NE      \7f6,114
-# define       LE      \7f7,130
-# define       GE      \7f8,146
-# define       NEG     \7f9,162
-# define       L_CELL  \7f10,179
-# define       L_RANGE \7f11,199
-# define       L_VAR   \7f12,220
-# define       L_CONST \7f13,239
-# define       L_FN0   \7f14,260
-# define       L_FN1   \7f15,279
-# define       L_FN2   \7f16,298
-# define       L_FN3   \7f17,317
-# define       L_FN4   \7f18,336
-# define       L_FNN   \7f19,355
-# define       L_FN1R  \7f20,374
-# define       L_FN2R  \7f21,394
-# define       L_FN3R  \7f22,414
-# define       L_FN4R  \7f23,434
-# define       L_FNNR  \7f24,454
-# define       L_LE    \7f25,474
-# define       L_NE    \7f26,492
-# define       L_GE    \7f27,510
-\f
-/usr/share/bison/bison.simple,1693
-# define YYSTD(\7f40,
-# define YYSTD(\7f42,
-#  define YYSTACK_ALLOC \7f50,
-#  define YYSIZE_T \7f51,
-#    define YYSTACK_ALLOC \7f55,
-#    define YYSIZE_T \7f56,
-#     define YYSTACK_ALLOC \7f59,
-#  define YYSTACK_FREE(\7f67,
-#   define YYSIZE_T \7f71,
-#    define YYSIZE_T \7f75,
-#  define YYSTACK_ALLOC \7f78,
-#  define YYSTACK_FREE \7f79,
-union yyalloc\7f83,
-# define YYSTACK_GAP_MAX \7f93,
-#  define YYSTACK_BYTES(\7f98,
-#  define YYSTACK_BYTES(\7f102,
-# define YYSTACK_RELOCATE(\7f112,
-# define YYSIZE_T \7f128,
-# define YYSIZE_T \7f131,
-#  define YYSIZE_T \7f136,
-#   define YYSIZE_T \7f140,
-# define YYSIZE_T \7f145,
-#define yyerrok        \7f148,
-#define yyclearin      \7f149,
-#define YYEMPTY        \7f150,
-#define YYEOF  \7f151,
-#define YYACCEPT       \7f152,
-#define YYABORT \7f153,
-#define YYERROR        \7f154,
-#define YYFAIL \7f158,
-#define YYRECOVERING(\7f159,
-#define YYBACKUP(\7f160,
-#define YYTERROR       \7f177,
-#define YYERRCODE      \7f178,
-# define YYLLOC_DEFAULT(\7f189,
-#   define YYLEX       \7f200,
-#   define YYLEX       \7f202,
-#   define YYLEX       \7f206,
-#   define YYLEX       \7f208,
-# define YYLEX \7f212,
-#  define YYFPRINTF \7f225,
-# define YYDPRINTF(\7f228,
-int yydebug;\7f237,
-# define YYDPRINTF(\7f239,
-# define YYINITDEPTH \7f244,
-# undef YYMAXDEPTH\7f255,
-# define YYMAXDEPTH \7f259,
-#  define yymemcpy \7f264,
-yymemcpy \7f271,
-#   define yystrlen \7f293,
-yystrlen \7f298,
-#   define yystpcpy \7f316,
-yystpcpy \7f322,
-#  define YYPARSE_PARAM_ARG \7f351,
-#  define YYPARSE_PARAM_DECL\7f352,
-#  define YYPARSE_PARAM_ARG \7f354,
-#  define YYPARSE_PARAM_DECL \7f355,
-# define YYPARSE_PARAM_ARG\7f358,
-# define YYPARSE_PARAM_DECL\7f359,
-#define YY_DECL_NON_LSP_VARIABLES      \7f374,
-# define YY_DECL_VARIABLES     \7f385,
-# define YY_DECL_VARIABLES     \7f391,
-yyparse \7f403,
-# define YYPOPSTACK \7f445,
-# define YYPOPSTACK \7f447,
-# undef YYSTACK_RELOCATE\7f548,
-\f
-y-src/atest.y,9
-exp    \7f2,3
-\f
-y-src/cccp.c,303
-#define YYBISON \7f4,63
-# define       INT     \7f6,113
-# define       CHAR    \7f7,130
-# define       NAME    \7f8,148
-# define       ERROR   \7f9,166
-# define       OR      \7f10,185
-# define       AND     \7f11,201
-# define       EQUAL   \7f12,218
-# define       NOTEQUAL        \7f13,237
-# define       LEQ     \7f14,259
-# define       GEQ     \7f15,276
-# define       LSH     \7f16,293
-# define       RSH     \7f17,310
-# define       UNARY   \7f18,327
-\f
-/usr/share/bison/bison.simple,2110
-# define YYSTD(\7f41,
-# define YYSTD(\7f43,
-#  define YYSTACK_ALLOC \7f51,
-#  define YYSIZE_T \7f52,
-#    define YYSTACK_ALLOC \7f56,
-#    define YYSIZE_T \7f57,
-#     define YYSTACK_ALLOC \7f60,
-#  define YYSTACK_FREE(\7f68,
-#   define YYSIZE_T \7f72,
-#    define YYSIZE_T \7f76,
-#  define YYSTACK_ALLOC \7f79,
-#  define YYSTACK_FREE \7f80,
-union yyalloc\7f84,
-# define YYSTACK_GAP_MAX \7f94,
-#  define YYSTACK_BYTES(\7f99,
-#  define YYSTACK_BYTES(\7f103,
-# define YYSTACK_RELOCATE(\7f113,
-# define YYSIZE_T \7f129,
-# define YYSIZE_T \7f132,
-#  define YYSIZE_T \7f137,
-#   define YYSIZE_T \7f141,
-# define YYSIZE_T \7f146,
-#define yyerrok        \7f149,
-#define yyclearin      \7f150,
-#define YYEMPTY        \7f151,
-#define YYEOF  \7f152,
-#define YYACCEPT       \7f153,
-#define YYABORT \7f154,
-#define YYERROR        \7f155,
-#define YYFAIL \7f159,
-#define YYRECOVERING(\7f160,
-#define YYBACKUP(\7f161,
-#define YYTERROR       \7f178,
-#define YYERRCODE      \7f179,
-# define YYLLOC_DEFAULT(\7f190,
-#   define YYLEX       \7f201,
-#   define YYLEX       \7f203,
-#   define YYLEX       \7f207,
-#   define YYLEX       \7f209,
-# define YYLEX \7f213,
-#  define YYFPRINTF \7f226,
-# define YYDPRINTF(\7f229,
-int yydebug;\7f238,
-# define YYDPRINTF(\7f240,
-# define YYINITDEPTH \7f245,
-# undef YYMAXDEPTH\7f256,
-# define YYMAXDEPTH \7f260,
-#  define yymemcpy \7f265,
-yymemcpy \7f272,
-#   define yystrlen \7f294,
-yystrlen \7f299,
-#   define yystpcpy \7f317,
-yystpcpy \7f323,
-#  define YYPARSE_PARAM_ARG \7f351,
-#  define YYPARSE_PARAM_DECL\7f352,
-#  define YYPARSE_PARAM_ARG \7f354,
-#  define YYPARSE_PARAM_DECL \7f355,
-# define YYPARSE_PARAM_ARG\7f358,
-# define YYPARSE_PARAM_DECL\7f359,
-#define YY_DECL_NON_LSP_VARIABLES      \7f374,
-# define YY_DECL_VARIABLES     \7f385,
-# define YY_DECL_VARIABLES     \7f391,
-yyparse \7f403,
-# define YYPOPSTACK \7f445,
-# define YYPOPSTACK \7f447,
-# undef YYSTACK_RELOCATE\7f548,
-  *++yyvsp \7fyyvsp\ 1746,
-  *++yylsp \7fyylsp\ 1748,
-  yyn \7f755,
-  yystate \7f757,
-    yystate \7f761,
-  goto yynewstate;\7f763,
-  goto yyerrlab1;\7f823,
-  yyerrstatus \7f846,
-  goto yyerrhandle;\7f848,
-  yyn \7f861,
-  yystate \7f875,
-  yyn \7f895,
-  yyn \7f903,
-  *++yyvsp \7fyyvsp\ 1919,
-  *++yylsp \7fyylsp\ 1921,
-  yystate \7f924,
-  goto yynewstate;\7f925,
-  yyresult \7f932,
-  goto yyreturn;\7f933,
-  yyresult \7f939,
-  goto yyreturn;\7f940,
-  yyresult \7f947,
-\f
-y-src/cccp.y,1107
-typedef unsigned char U_CHAR;\7f38,1201
-struct arglist \7f41,1301
-#define NULL \7f51,1468
-#define GENERIC_PTR \7f56,1578
-#define GENERIC_PTR \7f58,1611
-#define NULL_PTR \7f63,1670
-int expression_value;\7f68,1743
-static jmp_buf parse_return_error;\7f70,1766
-static int keyword_parsing \7f73,1865
-#define CHAR_TYPE_SIZE \7f87,2162
-#define INT_TYPE_SIZE \7f91,2229
-#define LONG_TYPE_SIZE \7f95,2296
-#define WCHAR_TYPE_SIZE \7f99,2365
-#define possible_sum_sign(\7f104,2556
-  struct constant \7f112,2733
-  struct name \7f113,2789
-start \7f143,3226
-exp1   \7f148,3330
-exp    \7f156,3505
-exp    \7f185,4295
-keywords \7f306,7835
-static char *lexptr;\7flexptr\ 1332,8579
-parse_number \7f341,8842
-struct token \7f437,11038
-static struct token tokentab2[\7ftokentab2\ 1442,11088
-yylex \7f459,11367
-parse_escape \7f740,17718
-yyerror \7f836,19599
-integer_overflow \7f844,19690
-left_shift \7f851,19804
-right_shift \7f873,20194
-parse_c_expression \7f893,20732
-main \7f923,21483
-unsigned char is_idchar[\7fis_idchar\ 1948,21901
-unsigned char is_idstart[\7fis_idstart\ 1950,21996
-char is_hor_space[\7fis_hor_space\ 1953,22160
-initialize_random_junk \7f958,22259
-error \7f988,22915
-warning \7f993,22963
-lookup \7f999,23033
-\f
-tex-src/nonewline.tex,0
-\f
-php-src/sendmail.php,0
-\f
-c-src/fail.c,0
-\f
-a-src/empty.zz,0
diff --git a/test/manual/etags/ETAGS.good_2 b/test/manual/etags/ETAGS.good_2
deleted file mode 100644 (file)
index 6e90f1e..0000000
+++ /dev/null
@@ -1,5008 +0,0 @@
-\f
-ada-src/etags-test-for.ada,1969
-   type LL_Task_Procedure_Access \7fLL_Task_Procedure_Access/t\ 11,0
-   function Body_Required\7fBody_Required/f\ 13,78
-   type Type_Specific_Data \7fType_Specific_Data/t\ 111,280
-   function "abs"\7fabs/f\ 119,504
-   type Barrier_Function_Pointer \7fBarrier_Function_Pointer/t\ 121,577
-   function "="\7f=/f\ 127,722
-   type usfreelock_ptr \7fusfreelock_ptr/t\ 130,803
-   function p \7fp/f\ 133,891
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 137,1054
-function p \7fp/f\ 139,1094
-package Pkg1 \7fPkg1/s\ 144,1203
-  type Private_T \7fPrivate_T/t\ 146,1220
-  package Inner1 \7fInner1/s\ 148,1250
-    procedure Private_T;\7fPrivate_T/p\ 149,1270
-  package Inner2 \7fInner2/s\ 152,1310
-    task Private_T;\7fPrivate_T/k\ 153,1330
-  type Public_T \7fPublic_T/t\ 156,1365
-  procedure Pkg1_Proc1;\7fPkg1_Proc1/p\ 162,1450
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 164,1475
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 166,1514
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 168,1553
-  package Pkg1_Pkg1 \7fPkg1_Pkg1/s\ 171,1622
-    procedure Pkg1_Pkg1_Proc1;\7fPkg1_Pkg1_Proc1/p\ 172,1645
-  task type Task_Type \7fTask_Type/k\ 175,1694
-  type Private_T \7fPrivate_T/t\ 182,1786
-package body Pkg1 \7fPkg1/b\ 189,1882
-  procedure Pkg1_Proc1 \7fPkg1_Proc1/p\ 191,1904
-  package body Inner1 \7fInner1/b\ 196,1956
-    procedure Private_T \7fPrivate_T/p\ 197,1981
-  package body Inner2 \7fInner2/b\ 1103,2054
-    task body Private_T \7fPrivate_T/b\ 1104,2079
-  task body Task_Type \7fTask_Type/b\ 1112,2181
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 1126,2367
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 1132,2445
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 1134,2496
-  package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1140,2596
-package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1146,2663
-  procedure Pkg1_Pkg1_Proc1 \7fPkg1_Pkg1_Proc1/p\ 1147,2689
-function  Pkg1_Func1 \7fPkg1_Func1/f\ 1155,2778
-package Truc \7fTruc/s\ 1162,2887
-package Truc.Bidule \7fTruc.Bidule/s\ 1166,2929
-  protected Bidule \7fBidule/t\ 1168,2953
-  protected type Machin_T \7fMachin_T/t\ 1172,3007
-package body Truc.Bidule \7fTruc.Bidule/b\ 1178,3087
-  protected body Bidule \7fBidule/b\ 1179,3115
-  protected Machin_T \7fMachin_T/t\ 1186,3207
-\f
-ada-src/2ataspri.adb,2190
-package body System.Task_Primitives \7fSystem.Task_Primitives/b\ 164,2603
-   package RTE \7fRTE/s\ 169,2712
-   package TSL \7fTSL/s\ 170,2759
-   function To_void_ptr \7fTo_void_ptr/f\ 186,3287
-   function To_TCB_Ptr \7fTo_TCB_Ptr/f\ 189,3366
-   function pthread_mutexattr_setprotocol\7fpthread_mutexattr_setprotocol/f\ 192,3444
-   function pthread_mutexattr_setprio_ceiling\7fpthread_mutexattr_setprio_ceiling/f\ 199,3728
-   procedure Abort_Wrapper\7fAbort_Wrapper/p\ 1115,4302
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 1122,4526
-   procedure Initialize_LL_Tasks \7fInitialize_LL_Tasks/p\ 1131,4830
-   function Self \7fSelf/f\ 1160,5586
-   procedure Initialize_Lock\7fInitialize_Lock/p\ 1174,5958
-   procedure Finalize_Lock \7fFinalize_Lock/p\ 1210,6927
-   procedure Write_Lock \7fWrite_Lock/p\ 1226,7338
-   procedure Read_Lock \7fRead_Lock/p\ 1239,7700
-   procedure Unlock \7fUnlock/p\ 1246,7850
-   procedure Initialize_Cond \7fInitialize_Cond/p\ 1258,8160
-   procedure Finalize_Cond \7fFinalize_Cond/p\ 1286,8979
-   procedure Cond_Wait \7fCond_Wait/p\ 1300,9303
-   procedure Cond_Timed_Wait\7fCond_Timed_Wait/p\ 1312,9661
-   procedure Cond_Signal \7fCond_Signal/p\ 1343,10510
-   procedure Set_Priority\7fSet_Priority/p\ 1355,10836
-   procedure Set_Own_Priority \7fSet_Own_Priority/p\ 1372,11243
-   function Get_Priority \7fGet_Priority/f\ 1385,11598
-   function Get_Own_Priority \7fGet_Own_Priority/f\ 1398,12023
-   procedure Create_LL_Task\7fCreate_LL_Task/p\ 1412,12438
-      function To_Start_Addr \7fTo_Start_Addr/f\ 1426,12873
-   procedure Exit_LL_Task \7fExit_LL_Task/p\ 1491,14995
-   procedure Abort_Task \7fAbort_Task/p\ 1500,15158
-   procedure Test_Abort \7fTest_Abort/p\ 1518,15716
-   procedure Install_Abort_Handler \7fInstall_Abort_Handler/p\ 1527,15878
-   procedure Abort_Wrapper\7fAbort_Wrapper/p\ 1557,16939
-      function Address_To_Call_State \7fAddress_To_Call_State/f\ 1562,17062
-   procedure Install_Error_Handler \7fInstall_Error_Handler/p\ 1573,17351
-   procedure LL_Assert \7fLL_Assert/p\ 1599,18146
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 1608,18299
-   procedure Initialize_TAS_Cell \7fInitialize_TAS_Cell/p\ 1630,19010
-   procedure Finalize_TAS_Cell \7fFinalize_TAS_Cell/p\ 1635,19129
-   procedure Clear \7fClear/p\ 1640,19236
-   procedure Test_And_Set \7fTest_And_Set/p\ 1645,19330
-   function  Is_Set \7fIs_Set/f\ 1659,19676
-\f
-ada-src/2ataspri.ads,2313
-package System.Task_Primitives \7fSystem.Task_Primitives/s\ 158,3169
-   type LL_Task_Procedure_Access \7fLL_Task_Procedure_Access/t\ 162,3253
-   type Pre_Call_State \7fPre_Call_State/t\ 164,3331
-   type Task_Storage_Size \7fTask_Storage_Size/t\ 166,3378
-   type Machine_Exceptions \7fMachine_Exceptions/t\ 168,3433
-   type Error_Information \7fError_Information/t\ 170,3499
-   type Lock \7fLock/t\ 172,3569
-   type Condition_Variable \7fCondition_Variable/t\ 173,3594
-   type Task_Control_Block \7fTask_Control_Block/t\ 181,3955
-   type TCB_Ptr \7fTCB_Ptr/t\ 189,4241
-   function Address_To_TCB_Ptr \7fAddress_To_TCB_Ptr/f\ 193,4333
-   procedure Initialize_LL_Tasks \7fInitialize_LL_Tasks/p\ 196,4425
-   function Self \7fSelf/f\ 1100,4602
-   procedure Initialize_Lock \7fInitialize_Lock/p\ 1103,4707
-   procedure Finalize_Lock \7fFinalize_Lock/p\ 1107,4879
-   procedure Write_Lock \7fWrite_Lock/p\ 1111,5034
-   procedure Read_Lock \7fRead_Lock/p\ 1118,5428
-   procedure Unlock \7fUnlock/p\ 1128,5995
-   procedure Initialize_Cond \7fInitialize_Cond/p\ 1135,6300
-   procedure Finalize_Cond \7fFinalize_Cond/p\ 1138,6413
-   procedure Cond_Wait \7fCond_Wait/p\ 1142,6591
-   procedure Cond_Timed_Wait\7fCond_Timed_Wait/p\ 1155,7396
-   procedure Cond_Signal \7fCond_Signal/p\ 1164,7812
-   procedure Set_Priority \7fSet_Priority/p\ 1169,8040
-   procedure Set_Own_Priority \7fSet_Own_Priority/p\ 1173,8200
-   function Get_Priority \7fGet_Priority/f\ 1177,8348
-   function Get_Own_Priority \7fGet_Own_Priority/f\ 1181,8504
-   procedure Create_LL_Task\7fCreate_LL_Task/p\ 1185,8647
-   procedure Exit_LL_Task;\7fExit_LL_Task/p\ 1198,9282
-   procedure Abort_Task \7fAbort_Task/p\ 1203,9516
-   procedure Test_Abort;\7fTest_Abort/p\ 1210,9878
-   type Abort_Handler_Pointer \7fAbort_Handler_Pointer/t\ 1217,10233
-   procedure Install_Abort_Handler \7fInstall_Abort_Handler/p\ 1219,10312
-   procedure Install_Error_Handler \7fInstall_Error_Handler/p\ 1226,10741
-   procedure LL_Assert \7fLL_Assert/p\ 1231,10983
-   type Proc \7fProc/t\ 1238,11240
-   type TAS_Cell \7fTAS_Cell/t\ 1242,11328
-   procedure Initialize_TAS_Cell \7fInitialize_TAS_Cell/p\ 1249,11670
-   procedure Finalize_TAS_Cell \7fFinalize_TAS_Cell/p\ 1255,11941
-   procedure Clear \7fClear/p\ 1260,12157
-   procedure Test_And_Set \7fTest_And_Set/p\ 1267,12462
-   function  Is_Set \7fIs_Set/f\ 1275,12877
-   type Lock \7fLock/t\ 1283,13155
-   type Condition_Variable \7fCondition_Variable/t\ 1288,13267
-   type TAS_Cell \7fTAS_Cell/t\ 1293,13389
-\f
-ada-src/waroquiers.ada,1503
-package Pkg1 \7fPkg1/s\ 13,89
-  type Private_T \7fPrivate_T/t\ 15,106
-  package Inner1 \7fInner1/s\ 17,136
-    procedure Private_T;\7fPrivate_T/p\ 18,156
-  package Inner2 \7fInner2/s\ 111,196
-    task Private_T;\7fPrivate_T/k\ 112,216
-  type Public_T \7fPublic_T/t\ 115,251
-  procedure Pkg1_Proc1;\7fPkg1_Proc1/p\ 121,336
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 123,361
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 125,400
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 127,439
-  package Pkg1_Pkg1 \7fPkg1_Pkg1/s\ 130,508
-    procedure Pkg1_Pkg1_Proc1;\7fPkg1_Pkg1_Proc1/p\ 131,531
-  task type Task_Type \7fTask_Type/k\ 134,580
-  type Private_T \7fPrivate_T/t\ 140,671
-package body Pkg1 \7fPkg1/b\ 146,766
-  procedure Pkg1_Proc1 \7fPkg1_Proc1/p\ 148,788
-  package body Inner1 \7fInner1/b\ 153,840
-    procedure Private_T \7fPrivate_T/p\ 154,865
-  package body Inner2 \7fInner2/b\ 160,938
-    task body Private_T \7fPrivate_T/b\ 161,963
-  task body Task_Type \7fTask_Type/b\ 168,1064
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 182,1250
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 188,1328
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 190,1379
-  package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 196,1479
-package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1100,1544
-  procedure Pkg1_Pkg1_Proc1 \7fPkg1_Pkg1_Proc1/p\ 1101,1570
-function  Pkg1_Func1 \7fPkg1_Func1/f\ 1107,1657
-package Truc \7fTruc/s\ 1112,1764
-package Truc.Bidule \7fTruc.Bidule/s\ 1116,1816
-  protected Bidule \7fBidule/t\ 1125,1964
-  protected type Machin_T \7fMachin_T/t\ 1131,2046
-package body Truc.Bidule \7fTruc.Bidule/b\ 1138,2153
-  protected body Bidule \7fBidule/b\ 1139,2181
-  protected body Machin_T \7fMachin_T/b\ 1146,2281
-\f
-c-src/abbrev.c,1957
-Lisp_Object Vabbrev_table_name_list;\7f43,1429
-Lisp_Object Vglobal_abbrev_table;\7f48,1574
-Lisp_Object Vfundamental_mode_abbrev_table;\7f52,1685
-int abbrevs_changed;\7f56,1786
-int abbrev_all_caps;\7f58,1808
-Lisp_Object Vabbrev_start_location;\7f63,1957
-Lisp_Object Vabbrev_start_location_buffer;\7f66,2046
-Lisp_Object Vlast_abbrev;\7f70,2155
-Lisp_Object Vlast_abbrev_text;\7f75,2324
-int last_abbrev_point;\7f79,2414
-DEFUN ("make-abbrev-table", Fmake_abbrev_table,\7f82,2440
-DEFUN ("make-abbrev-table", Fmake_abbrev_table,\7fmake-abbrev-table\ 182,2440
-DEFUN ("clear-abbrev-table", Fclear_abbrev_table,\7f89,2632
-DEFUN ("clear-abbrev-table", Fclear_abbrev_table,\7fclear-abbrev-table\ 189,2632
-DEFUN ("define-abbrev", Fdefine_abbrev,\7f104,3013
-DEFUN ("define-abbrev", Fdefine_abbrev,\7fdefine-abbrev\ 1104,3013
-DEFUN ("define-global-abbrev", Fdefine_global_abbrev,\7f146,4332
-DEFUN ("define-global-abbrev", Fdefine_global_abbrev,\7fdefine-global-abbrev\ 1146,4332
-DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,\7f157,4703
-DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,\7fdefine-mode-abbrev\ 1157,4703
-DEFUN ("abbrev-symbol", Fabbrev_symbol,\7f171,5171
-DEFUN ("abbrev-symbol", Fabbrev_symbol,\7fabbrev-symbol\ 1171,5171
-DEFUN ("abbrev-expansion", Fabbrev_expansion,\7f199,6135
-DEFUN ("abbrev-expansion", Fabbrev_expansion,\7fabbrev-expansion\ 1199,6135
-DEFUN ("expand-abbrev", Fexpand_abbrev,\7f215,6650
-DEFUN ("expand-abbrev", Fexpand_abbrev,\7fexpand-abbrev\ 1215,6650
-DEFUN ("unexpand-abbrev", Funexpand_abbrev,\7f383,11495
-DEFUN ("unexpand-abbrev", Funexpand_abbrev,\7funexpand-abbrev\ 1383,11495
-write_abbrev \7f420,12702
-describe_abbrev \7f439,13137
-DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,\7f460,13652
-DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,\7finsert-abbrev-table-description\ 1460,13652
-DEFUN ("define-abbrev-table", Fdefine_abbrev_table,\7f500,14808
-DEFUN ("define-abbrev-table", Fdefine_abbrev_table,\7fdefine-abbrev-table\ 1500,14808
-syms_of_abbrev \7f534,15885
-\f
-c-src/torture.c,197
-(*tag1 \7ftag1\ 118,452
-#define notag2 \7f26,553
-(*tag2 \7ftag2\ 129,630
-(*tag3 \7ftag3\ 139,772
-#define notag4 \7f45,861
-(*tag4 \7ftag4\ 148,955
-tag5 \7f57,1081
-tag6 \7f66,1208
-int pp1(\7f74,1317
-pp2\7f87,1419
-pp3(\7f100,1518
-\f
-c-src/getopt.h,538
-#define _GETOPT_H \7f19,799
-extern char *optarg;\7foptarg\ 131,1107
-extern int optind;\7f45,1615
-extern int opterr;\7f50,1741
-struct option\7f73,2795
-#define        no_argument     \7f89,3122
-#define required_argument      \7f90,3145
-#define optional_argument      \7f91,3173
-extern int getopt \7f98,3438
-extern int getopt \7f100,3542
-extern int getopt_long \7f102,3597
-extern int getopt_long_only \7f104,3729
-extern int _getopt_internal \7f109,3940
-extern int getopt \7f114,4138
-extern int getopt_long \7f115,4160
-extern int getopt_long_only \7f116,4187
-extern int _getopt_internal \7f118,4220
-\f
-c-src/etags.c,12175
-char pot_etags_version[\7fpot_etags_version\ 181,3471
-#  undef DEBUG\7f84,3553
-#  define DEBUG \7f85,3568
-#  define DEBUG \7f87,3595
-#  define NDEBUG       \7f88,3618
-# define _GNU_SOURCE \7f94,3706
-# undef MSDOS\7f100,3877
-# undef  WINDOWSNT\7f101,3891
-# define WINDOWSNT\7f102,3910
-# undef MSDOS\7f106,3969
-# define MSDOS \7f107,3983
-# define MSDOS \7f110,4033
-# define MAXPATHLEN \7f115,4112
-# undef HAVE_NTGUI\7f116,4142
-# undef  DOS_NT\7f117,4161
-# define DOS_NT\7f118,4177
-# undef  assert        \7f135,4483
-# define assert(\7f136,4542
-# undef  CTAGS\7f146,4858
-# define CTAGS \7f147,4873
-# define CTAGS \7f149,4899
-#define streq(\7f152,4928
-#define strcaseeq(\7f153,4997
-#define strneq(\7f154,5076
-#define strncaseeq(\7f155,5152
-#define CHARS \7f157,5239
-#define CHAR(\7f158,5279
-#define        iswhite(\7f159,5330
-#define notinname(\7f160,5395
-#define        begtoken(\7f161,5470
-#define        intoken(\7f162,5543
-#define        endtoken(\7f163,5615
-#define ISALNUM(\7f165,5685
-#define ISALPHA(\7f166,5723
-#define ISDIGIT(\7f167,5761
-#define ISLOWER(\7f168,5799
-#define lowcase(\7f170,5838
-#define xnew(\7f179,6016
-#define xrnew(\7f180,6084
-typedef void Lang_function \7f182,6165
-} compressor;\7f188,6366
-} language;\7f199,6836
-typedef struct fdesc\7f201,6849
-} fdesc;\7f212,7367
-typedef struct node_st\7f214,7377
-} node;\7f225,7895
-} linebuffer;\7f239,8249
-    at_language,\7f245,8345
-    at_regexp,\7f246,8394
-    at_filename,\7f247,8438
-    at_stdin,\7f248,8474
-    at_end     \7f249,8517
-} argument;\7f253,8699
-typedef struct regexp\7f256,8759
-} regexp;\7f268,9326
-static void Ada_funcs \7f274,9429
-static void Asm_labels \7f275,9461
-static void C_entries \7f276,9494
-static void default_C_entries \7f277,9537
-static void plain_C_entries \7f278,9577
-static void Cjava_entries \7f279,9615
-static void Cobol_paragraphs \7f280,9651
-static void Cplusplus_entries \7f281,9690
-static void Cstar_entries \7f282,9730
-static void Erlang_functions \7f283,9766
-static void Forth_words \7f284,9805
-static void Fortran_functions \7f285,9839
-static void HTML_labels \7f286,9879
-static void Lisp_functions \7f287,9913
-static void Lua_functions \7f288,9950
-static void Makefile_targets \7f289,9986
-static void Pascal_functions \7f290,10025
-static void Perl_functions \7f291,10064
-static void PHP_functions \7f292,10101
-static void PS_functions \7f293,10137
-static void Prolog_functions \7f294,10172
-static void Python_functions \7f295,10211
-static void Scheme_functions \7f296,10250
-static void TeX_commands \7f297,10289
-static void Texinfo_nodes \7f298,10324
-static void Yacc_entries \7f299,10360
-static void just_read_file \7f300,10395
-static language *get_language_from_langname \7fget_language_from_langname\ 1302,10433
-static void readline \7f303,10493
-static long readline_internal \7f304,10538
-static bool nocase_tail \7f305,10592
-static void get_tag \7f306,10632
-static void analyze_regex \7f308,10672
-static void free_regexps \7f309,10708
-static void regex_tag_multiline \7f310,10741
-static void error \7f311,10781
-# undef STDIN\7f408,15074
-#define STDIN \7f411,15096
-static compressor compressors[\7fcompressors\ 1457,17665
-static const char *Ada_suffixes \7fAda_suffixes\ 1473,17908
-static const char Ada_help \7f475,17978
-static const char *Asm_suffixes \7fAsm_suffixes\ 1493,18581
-static const char Asm_help \7f504,18977
-static const char *default_C_suffixes \7fdefault_C_suffixes\ 1512,19313
-static const char default_C_help \7f515,19414
-static const char default_C_help \7f523,19851
-static const char *Cplusplus_suffixes \7fCplusplus_suffixes\ 1535,20461
-static const char Cplusplus_help \7f540,20659
-static const char *Cjava_suffixes \7fCjava_suffixes\ 1549,21114
-static char Cjava_help \7f551,21173
-static const char *Cobol_suffixes \7fCobol_suffixes\ 1556,21338
-static char Cobol_help \7f558,21403
-static const char *Cstar_suffixes \7fCstar_suffixes\ 1562,21544
-static const char *Erlang_suffixes \7fErlang_suffixes\ 1565,21608
-static const char Erlang_help \7f567,21674
-const char *Forth_suffixes \7fForth_suffixes\ 1571,21800
-static const char Forth_help \7f573,21858
-static const char *Fortran_suffixes \7fFortran_suffixes\ 1577,22009
-static const char Fortran_help \7f579,22086
-static const char *HTML_suffixes \7fHTML_suffixes\ 1582,22191
-static const char HTML_help \7f584,22265
-static const char *Lisp_suffixes \7fLisp_suffixes\ 1589,22453
-static const char Lisp_help \7f591,22557
-static const char *Lua_suffixes \7fLua_suffixes\ 1598,22872
-static const char Lua_help \7f600,22935
-static const char *Makefile_filenames \7fMakefile_filenames\ 1603,23011
-static const char Makefile_help \7f605,23134
-static const char *Objc_suffixes \7fObjc_suffixes\ 1609,23278
-static const char Objc_help \7f613,23400
-static const char *Pascal_suffixes \7fPascal_suffixes\ 1619,23715
-static const char Pascal_help \7f621,23779
-static const char *Perl_suffixes \7fPerl_suffixes\ 1626,23967
-static const char *Perl_interpreters \7fPerl_interpreters\ 1628,24029
-static const char Perl_help \7f630,24101
-static const char *PHP_suffixes \7fPHP_suffixes\ 1637,24452
-static const char PHP_help \7f639,24524
-static const char *plain_C_suffixes \7fplain_C_suffixes\ 1643,24679
-static const char *PS_suffixes \7fPS_suffixes\ 1647,24763
-static const char PS_help \7f649,24849
-static const char *Prolog_suffixes \7fProlog_suffixes\ 1652,24932
-static const char Prolog_help \7f654,24994
-static const char *Python_suffixes \7fPython_suffixes\ 1658,25108
-static const char Python_help \7f660,25166
-static const char *Scheme_suffixes \7fScheme_suffixes\ 1665,25348
-static const char Scheme_help \7f667,25461
-static const char *TeX_suffixes \7fTeX_suffixes\ 1672,25684
-static const char TeX_help \7f674,25782
-static const char *Texinfo_suffixes \7fTexinfo_suffixes\ 1686,26317
-static const char Texinfo_help \7f688,26396
-static const char *Yacc_suffixes \7fYacc_suffixes\ 1691,26493
-static const char Yacc_help \7f693,26607
-static const char auto_help \7f699,26857
-static const char none_help \7f703,27021
-static const char no_lang_help \7f707,27144
-static language lang_names \7f718,27356
-print_language_names \7f753,29533
-# define EMACS_NAME \7f786,30756
-# define VERSION \7f789,30812
-print_version \7f792,30870
-# define PRINT_UNDOCUMENTED_OPTIONS_HELP \7f804,31174
-print_help \7f808,31251
-main \7f981,37439
-get_compressor_from_suffix \7f1319,46218
-get_language_from_langname \7f1355,47159
-get_language_from_interpreter \7f1377,47546
-get_language_from_filename \7f1399,47977
-process_file_name \7f1433,48835
-process_file \7f1555,51666
-init \7f1632,54151
-find_entries \7f1656,54902
-make_tag \7f1814,59708
-pfnote \7f1856,60943
-free_tree \7f1917,62745
-free_fdesc \7f1935,63030
-add_node \7f1955,63473
-invalidate_nodes \7f2035,65538
-static int total_size_of_entries \7f2067,66151
-static int number_len \7f2068,66194
-total_size_of_entries \7f2087,66695
-put_entries \7f2107,67155
-#define C_EXT  \7f2193,68996
-#define C_PLAIN \7f2194,69038
-#define C_PLPL \7f2195,69071
-#define C_STAR \7f2196,69105
-#define C_JAVA \7f2197,69138
-#define C_AUTO \7f2198,69173
-#define YACC   \7f2199,69243
-enum sym_type\7f2204,69313
-  st_none,\7f2206,69329
-  st_C_objprot,\7f2207,69340
-  st_C_objprot, st_C_objimpl,\7f2207,69340
-  st_C_objprot, st_C_objimpl, st_C_objend,\7f2207,69340
-  st_C_gnumacro,\7f2208,69383
-  st_C_ignore,\7f2209,69400
-  st_C_ignore, st_C_attribute,\7f2209,69400
-  st_C_javastruct,\7f2210,69431
-  st_C_operator,\7f2211,69450
-  st_C_class,\7f2212,69467
-  st_C_class, st_C_template,\7f2212,69467
-  st_C_struct,\7f2213,69496
-  st_C_struct, st_C_extern,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum, st_C_define,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum, st_C_define, st_C_typedef\7f2213,69496
-struct C_stab_entry \7f2271,71279
-hash \7f2275,71410
-in_word_set \7f2321,72938
-      TOTAL_KEYWORDS \7f2325,73019
-      MIN_WORD_LENGTH \7f2326,73046
-      MAX_WORD_LENGTH \7f2327,73073
-      MIN_HASH_VALUE \7f2328,73101
-      MAX_HASH_VALUE \7f2329,73127
-C_symtype \7f2387,74986
-static bool inattribute;\7f2400,75235
-  fvnone,\7f2408,75436
-  fdefunkey,\7f2409,75467
-  fdefunname,\7f2410,75513
-  foperator,\7f2411,75557
-  fvnameseen,\7f2412,75614
-  fstartlist,\7f2413,75667
-  finlist,\7f2414,75723
-  flistseen,\7f2415,75766
-  fignore,\7f2416,75814
-  vignore      \7f2417,75857
-} fvdef;\7f2418,75902
-static bool fvextern;\7f2420,75912
-  tnone,\7f2428,76090
-  tkeyseen,\7f2429,76120
-  ttypeseen,\7f2430,76161
-  tinbody,\7f2431,76200
-  tend,\7f2432,76239
-  tignore      \7f2433,76280
-} typdef;\7f2434,76321
-  snone,\7f2443,76500
-  skeyseen,\7f2445,76576
-  stagseen,\7f2446,76621
-  scolonseen   \7f2447,76662
-} structdef;\7f2448,76716
-static const char *objtag \7fobjtag\ 12453,76810
-  dnone,\7f2460,76943
-  dsharpseen,\7f2461,76973
-  ddefineseen,\7f2462,77026
-  dignorerest  \7f2463,77071
-} definedef;\7f2464,77113
-  onone,\7f2472,77268
-  oprotocol,\7f2473,77298
-  oimplementation,\7f2474,77348
-  otagseen,\7f2475,77396
-  oparenseen,\7f2476,77432
-  ocatseen,\7f2477,77487
-  oinbody,\7f2478,77526
-  omethodsign,\7f2479,77569
-  omethodtag,\7f2480,77627
-  omethodcolon,\7f2481,77667
-  omethodparm,\7f2482,77710
-  oignore      \7f2483,77756
-} objdef;\7f2484,77788
-static struct tok\7f2491,77945
-} token;\7f2508,78627
-static void pushclass_above \7f2514,78785
-static void popclass_above \7f2515,78833
-static void write_classname \7f2516,78867
-} cstack;\7f2523,79137
-#define nestlev        \7f2525,79265
-#define instruct       \7f2527,79370
-pushclass_above \7f2531,79490
-popclass_above \7f2550,79949
-write_classname \7f2564,80163
-static bool consider_token \7f2592,80762
-static void make_C_tag \7f2593,80834
-consider_token \7f2613,81342
-} lbs[\7flbs\ 12924,88533
-#define current_lb_is_new \7f2926,88544
-#define switch_line_buffers(\7f2927,88589
-#define curlb \7f2929,88642
-#define newlb \7f2930,88673
-#define curlinepos \7f2931,88704
-#define newlinepos \7f2932,88745
-#define plainc \7f2934,88787
-#define cplpl \7f2935,88831
-#define cjava \7f2936,88862
-#define CNL_SAVE_DEFINEDEF(\7f2938,88906
-#define CNL(\7f2947,89118
-make_C_tag \7f2960,89376
-C_entries \7f2986,90195
-default_C_entries \7f3833,110157
-plain_C_entries \7f3840,110277
-Cplusplus_entries \7f3847,110365
-Cjava_entries \7f3854,110461
-Cstar_entries \7f3861,110551
-Yacc_entries \7f3868,110643
-#define LOOP_ON_INPUT_LINES(\7f3875,110721
-#define LOOKING_AT(\7f3884,111057
-#define LOOKING_AT_NOCASE(\7f3891,111462
-just_read_file \7f3901,111862
-static void F_takeprec \7f3910,111966
-static void F_getit \7f3911,111997
-F_takeprec \7f3914,112040
-F_getit \7f3937,112367
-Fortran_functions \7f3961,112841
-Ada_getit \7f4052,114670
-Ada_funcs \7f4115,116045
-Asm_labels \7f4228,118583
-Perl_functions \7f4261,119550
-Python_functions \7f4357,122058
-PHP_functions \7f4387,122685
-Cobol_paragraphs \7f4466,124472
-Makefile_targets \7f4494,125030
-Pascal_functions \7f4529,125951
-static void L_getit \7f4706,130278
-L_getit \7f4709,130319
-Lisp_functions \7f4725,130665
-Lua_functions \7f4785,131851
-PS_functions \7f4811,132386
-Forth_words \7f4841,133054
-Scheme_functions \7f4877,134093
-static linebuffer *TEX_toktab \7fTEX_toktab\ 14908,134782
-static const char *TEX_defenv \7fTEX_defenv\ 14912,134975
-static void TEX_mode \7f4917,135173
-static void TEX_decode_env \7f4918,135204
-static char TEX_esc \7f4920,135262
-static char TEX_opgrp \7f4921,135290
-static char TEX_clgrp \7f4922,135319
-TeX_commands \7f4928,135396
-#define TEX_LESC \7f4986,136653
-#define TEX_SESC \7f4987,136675
-TEX_mode \7f4992,136805
-TEX_decode_env \7f5026,137510
-Texinfo_nodes \7f5071,138555
-HTML_labels \7f5094,139014
-static size_t prolog_pr \7f5214,142193
-static void prolog_skip_comment \7f5215,142235
-static size_t prolog_atom \7f5216,142291
-Prolog_functions \7f5219,142348
-prolog_skip_comment \7f5255,143129
-prolog_pr \7f5281,143737
-prolog_atom \7f5319,144629
-static int erlang_func \7f5374,145541
-static void erlang_attribute \7f5375,145582
-static int erlang_atom \7f5376,145621
-Erlang_functions \7f5379,145667
-erlang_func \7f5438,146966
-erlang_attribute \7f5476,147643
-erlang_atom \7f5496,148062
-static char *scan_separators \7fscan_separators\ 15520,148488
-static void add_regex \7f5521,148527
-static char *substitute \7fsubstitute\ 15522,148571
-scan_separators \7f5534,149081
-analyze_regex \7f5586,150461
-add_regex \7f5654,152051
-substitute \7f5767,154798
-free_regexps \7f5814,155838
-regex_tag_multiline \7f5836,156292
-nocase_tail \7f5913,158264
-get_tag \7f5928,158520
-readline_internal \7f5959,159456
-readline \7f6037,161297
-savestr \7f6230,167244
-savenstr \7f6240,167474
-skip_spaces \7f6249,167680
-skip_non_spaces \7f6258,167834
-skip_name \7f6267,167984
-fatal \7f6277,168157
-pfatal \7f6284,168254
-suggest_asking_for_help \7f6291,168333
-error \7f6300,168555
-concat \7f6313,168847
-etags_getcwd \7f6329,169260
-relative_filename \7f6350,169726
-absolute_filename \7f6389,170752
-absolute_dirname \7f6453,172417
-filename_is_absolute \7f6472,172846
-canonicalize_filename \7f6484,173097
-# define ISUPPER(\7f6491,173236
-linebuffer_init \7f6514,173657
-linebuffer_setlen \7f6524,173888
-xmalloc \7f6536,174149
-xrealloc \7f6545,174315
-\f
-c-src/exit.c,47
-  } __libc_atexit;\7f30,1022
-DEFUN(exit,\7f38,1263
-\f
-c-src/exit.strange_suffix,47
-  } __libc_atexit;\7f30,1022
-DEFUN(exit,\7f38,1263
-\f
-c-src/sysdep.h,491
-#define        ENTRY(\7f21,875
-#define        PSEUDO(\7f26,982
-    movl $SYS_##syscall_nam\7f$SYS_##syscall_na\ 131,1142
-    movl $SYS_##syscall_name, %eax;\7feax\ 131,1142
-    int $0x80;\7f32,1190
-    test %eax,\7feax\ 133,1220
-    test %eax, %eax;\7feax\ 133,1220
-    jl syscall_error;\7f34,1255
-#define        XCHG_0  \7f47,1572
-#define        XCHG_1  \7f48,1616
-#define        XCHG_2  \7f49,1658
-#define        XCHG_3  \7f50,1701
-#define        XCHG_4  \7f51,1744
-#define        XCHG_5  \7f52,1787
-#define        r0      \7f54,1831
-#define        r1      \7f55,1885
-#define scratch \7f56,1942
-#define MOVE(\7f57,2011
-\f
-c-src/tab.c,196
-static int             count_words(\7f15,263
-static char            *get_word(\7fget_word\ 135,553
-void                   tab_free(\7f59,966
-char                   **tab_fill(\7ftab_fill\ 170,1129
-int                    tab_delete_first(\7f91,1638
-int                    tab_count_words(\7f103,1820
-\f
-c-src/dostorture.c,198
-(*tag1 \7ftag1\ 118,468
-#define notag2 \7f26,577
-(*tag2 \7ftag2\ 129,657
-(*tag3 \7ftag3\ 139,809
-#define notag4 \7f45,904
-(*tag4 \7ftag4\ 148,1001
-tag5 \7f57,1136
-tag6 \7f66,1272
-int pp1(\7f74,1389
-pp2\7f87,1504
-pp3(\7f100,1616
-\f
-c-src/emacs/src/gmalloc.c,6643
-#define USE_PTHREAD\7f25,1003
-#undef get_current_dir_name\7f33,1127
-extern void emacs_abort \7f47,1306
-#undef malloc\7f64,2111
-#undef realloc\7f65,2125
-#undef calloc\7f66,2140
-#undef free\7f67,2154
-#define malloc \7f68,2166
-#define realloc \7f69,2189
-#define calloc \7f70,2214
-#define aligned_alloc \7f71,2237
-#define free \7f72,2274
-extern void *bss_sbrk \7fbss_sbrk\ 176,2336
-extern int bss_sbrk_did_unexec;\7f77,2376
-extern char bss_sbrk_buffer[\7fbss_sbrk_buffer\ 178,2408
-extern void *bss_sbrk_buffer_end;\7fbss_sbrk_buffer_end\ 179,2439
-#define DUMPED \7f80,2473
-#define ALLOCATED_BEFORE_DUMPING(\7f81,2508
-extern void *malloc \7fmalloc\ 194,2719
-#define INT_BIT        \7f124,3935
-#define BLOCKLOG       \7f125,3978
-#define BLOCKSIZE      \7f126,4019
-#define BLOCKIFY(\7f127,4053
-#define HEAP   \7f131,4216
-#define FINAL_FREE_BLOCKS      \7f135,4392
-  } malloc_info;\7f167,5389
-extern char *_heapbase;\7f_heapbase\ 1170,5450
-extern malloc_info *_heapinfo;\7f_heapinfo\ 1173,5542
-#define BLOCK(\7f176,5621
-#define ADDRESS(\7f177,5683
-extern size_t _heapindex;\7f180,5798
-extern size_t _heaplimit;\7f183,5867
-struct list\7f186,5940
-extern struct list _fraghead[\7f_fraghead\ 1193,6057
-struct alignlist\7f196,6154
-extern struct alignlist *_aligned_blocks;\7f_aligned_blocks\ 1202,6335
-extern size_t _chunks_used;\7f205,6402
-extern size_t _bytes_used;\7f206,6430
-extern size_t _chunks_free;\7f207,6457
-extern size_t _bytes_free;\7f208,6485
-extern void *_malloc_internal \7f_malloc_internal\ 1213,6674
-extern void *_realloc_internal \7f_realloc_internal\ 1214,6714
-extern void _free_internal \7f215,6763
-extern void *_malloc_internal_nolock \7f_malloc_internal_nolock\ 1216,6800
-extern void *_realloc_internal_nolock \7f_realloc_internal_nolock\ 1217,6847
-extern void _free_internal_nolock \7f218,6903
-extern pthread_mutex_t _malloc_mutex,\7f221,6967
-extern pthread_mutex_t _malloc_mutex, _aligned_blocks_mutex;\7f221,6967
-extern int _malloc_thread_enabled_p;\7f222,7028
-#define LOCK(\7f223,7065
-#define UNLOCK(\7f228,7196
-#define LOCK_ALIGNED_BLOCKS(\7f233,7330
-#define UNLOCK_ALIGNED_BLOCKS(\7f238,7485
-#define LOCK(\7f244,7650
-#define UNLOCK(\7f245,7665
-#define LOCK_ALIGNED_BLOCKS(\7f246,7682
-#define UNLOCK_ALIGNED_BLOCKS(\7f247,7712
-extern void *malloc_find_object_address \7fmalloc_find_object_address\ 1252,7866
-extern void *(*__morecore)\7f__morecore\ 1256,8022
-extern void *__default_morecore \7f__default_morecore\ 1259,8106
-extern void (*__after_morecore_hook)\7f__after_morecore_hook\ 1263,8270
-extern size_t __malloc_extra_blocks;\7f267,8443
-extern int __malloc_initialized;\7f270,8553
-extern int __malloc_initialize \7f272,8647
-extern void (*__malloc_initialize_hook)\7f__malloc_initialize_hook\ 1275,8724
-extern void (*__free_hook)\7f__free_hook\ 1276,8772
-extern void *(*__malloc_hook)\7f__malloc_hook\ 1277,8812
-extern void *(*__realloc_hook)\7f__realloc_hook\ 1278,8857
-extern void *(*__memalign_hook)\7f__memalign_hook\ 1279,8914
-enum mcheck_status\7f283,9093
-    MCHECK_DISABLED \7f285,9116
-    MCHECK_OK,\7f286,9188
-    MCHECK_FREE,\7f287,9227
-    MCHECK_HEAD,\7f288,9271
-    MCHECK_TAIL        \7f289,9335
-extern int mcheck \7f296,9702
-extern enum mcheck_status mprobe \7f301,9953
-extern void mtrace \7f304,10056
-extern void muntrace \7f305,10083
-struct mstats\7f308,10154
-extern struct mstats mstats \7f318,10519
-extern void memory_warnings \7f321,10626
-void *(*__malloc_hook)\7f__malloc_hook\ 1352,11745
-char *_heapbase;\7f_heapbase\ 1355,11831
-malloc_info *_heapinfo;\7f_heapinfo\ 1358,11929
-static size_t heapsize;\7f361,11985
-size_t _heapindex;\7f364,12049
-size_t _heaplimit;\7f367,12111
-struct list _fraghead[\7f_fraghead\ 1370,12173
-size_t _chunks_used;\7f373,12231
-size_t _bytes_used;\7f374,12252
-size_t _chunks_free;\7f375,12272
-size_t _bytes_free;\7f376,12293
-int __malloc_initialized;\7f379,12342
-size_t __malloc_extra_blocks;\7f381,12369
-void (*__malloc_initialize_hook)\7f__malloc_initialize_hook\ 1383,12400
-void (*__after_morecore_hook)\7f__after_morecore_hook\ 1384,12441
-static int state_protected_p;\7f400,12914
-static size_t last_state_size;\7f401,12944
-static malloc_info *last_heapinfo;\7flast_heapinfo\ 1402,12975
-protect_malloc_state \7f405,13016
-#define PROTECT_MALLOC_STATE(\7f426,13629
-#define PROTECT_MALLOC_STATE(\7f429,13699
-align \7f435,13796
-get_contiguous_space \7f466,14618
-register_heapinfo \7f497,15327
-pthread_mutex_t _malloc_mutex \7f517,15881
-pthread_mutex_t _aligned_blocks_mutex \7f518,15940
-int _malloc_thread_enabled_p;\7f519,16007
-malloc_atfork_handler_prepare \7f522,16050
-malloc_atfork_handler_parent \7f529,16141
-malloc_atfork_handler_child \7f536,16235
-malloc_enable_thread \7f544,16377
-malloc_initialize_1 \7f563,16963
-__malloc_initialize \7f594,17795
-static int morecore_recursing;\7f604,17928
-morecore_nolock \7f609,18068
-_malloc_internal_nolock \7f722,21586
-_malloc_internal \7f920,28104
-malloc \7f932,28249
-extern void *_malloc \7f_malloc\ 1956,29035
-extern void _free \7f957,29066
-extern void *_realloc \7f_realloc\ 1958,29094
-_malloc \7f961,29142
-_free \7f967,29198
-_realloc \7f973,29242
-void (*__free_hook)\7f__free_hook\ 11001,30262
-struct alignlist *_aligned_blocks \7f_aligned_blocks\ 11004,30348
-_free_internal_nolock \7f1009,30477
-_free_internal \7f1255,38479
-free \7f1265,38606
-weak_alias \7f1277,38802
-#define min(\7f1306,39817
-void *(*__realloc_hook)\7f__realloc_hook\ 11310,39902
-_realloc_internal_nolock \7f1319,40313
-_realloc_internal \7f1435,43567
-realloc \7f1447,43730
-calloc \7f1478,44899
-#define        __sbrk  \7f1513,46048
-extern void *__sbrk \7f__sbrk\ 11518,46253
-__default_morecore \7f1525,46517
-void *(*__memalign_hook)\7f__memalign_hook\ 11554,47463
-aligned_alloc \7f1557,47529
-memalign \7f1647,49711
-posix_memalign \7f1656,49916
-extern void *valloc \7fvalloc\ 11695,51148
-extern int getpagesize \7f1700,51286
-static size_t pagesize;\7f1703,51325
-valloc \7f1706,51357
-#undef malloc\7f1715,51498
-#undef realloc\7f1716,51512
-#undef calloc\7f1717,51527
-#undef aligned_alloc\7f1718,51541
-#undef free\7f1719,51562
-extern void *malloc \7fmalloc\ 11722,51617
-extern void *realloc \7frealloc\ 11723,51652
-extern void *calloc \7fcalloc\ 11724,51699
-extern void free \7f1725,51748
-extern void *aligned_alloc \7faligned_alloc\ 11727,51804
-extern int posix_memalign \7f1729,51898
-hybrid_malloc \7f1736,52091
-hybrid_calloc \7f1744,52196
-hybrid_free \7f1752,52327
-hybrid_aligned_alloc \7f1765,52634
-hybrid_realloc \7f1780,52990
-char *gget_current_dir_name \7fgget_current_dir_name\ 11808,53759
-hybrid_get_current_dir_name \7f1811,53803
-static void (*old_free_hook)\7fold_free_hook\ 11846,54928
-static void *(*old_malloc_hook)\7fold_malloc_hook\ 11847,54970
-static void *(*old_realloc_hook)\7fold_realloc_hook\ 11848,55017
-static void (*abortfunc)\7fabortfunc\ 11851,55131
-#define MAGICWORD      \7f1854,55213
-#define MAGICFREE      \7f1855,55268
-#define MAGICBYTE      \7f1856,55323
-#define MALLOCFLOOD    \7f1857,55355
-#define FREEFLOOD      \7f1858,55389
-struct hdr\7f1860,55422
-checkhdr \7f1867,55588
-freehook \7f1891,56029
-mallochook \7f1927,56811
-reallochook \7f1944,57150
-mabort \7f1978,57908
-static int mcheck_used \7f2012,58593
-mcheck \7f2015,58626
-mprobe \7f2035,59145
-\f
-c-src/emacs/src/regex.h,4576
-#define _REGEX_H \7f21,837
-typedef unsigned long reg_syntax_t;\7f43,1578
-#define RE_BACKSLASH_ESCAPE_IN_LISTS \7f47,1750
-#define RE_BK_PLUS_QM \7f52,1970
-#define RE_CHAR_CLASSES \7f58,2299
-#define RE_CONTEXT_INDEP_ANCHORS \7f72,3033
-#define RE_CONTEXT_INDEP_OPS \7f80,3459
-#define RE_CONTEXT_INVALID_OPS \7f84,3659
-#define RE_DOT_NEWLINE \7f88,3802
-#define RE_DOT_NOT_NULL \7f92,3938
-#define RE_HAT_LISTS_NOT_NEWLINE \7f96,4083
-#define RE_INTERVALS \7f101,4293
-#define RE_LIMITED_OPS \7f105,4442
-#define RE_NEWLINE_ALT \7f109,4584
-#define RE_NO_BK_BRACES \7f114,4774
-#define RE_NO_BK_PARENS \7f118,4965
-#define RE_NO_BK_REFS \7f122,5121
-#define RE_NO_BK_VBAR \7f126,5317
-#define RE_NO_EMPTY_RANGES \7f132,5611
-#define RE_UNMATCHED_RIGHT_PAREN_ORD \7f136,5767
-#define RE_NO_POSIX_BACKTRACKING \7f140,5938
-#define RE_NO_GNU_OPS \7f144,6134
-#define RE_FRUGAL \7f147,6254
-#define RE_SHY_GROUPS \7f150,6361
-#define RE_NO_NEWLINE_ANCHOR \7f153,6469
-#define RE_DEBUG \7f161,6885
-extern reg_syntax_t re_syntax_options;\7f167,7171
-extern Lisp_Object re_match_object;\7f172,7345
-extern size_t re_max_failures;\7f176,7455
-#define RE_SYNTAX_EMACS        \7f183,7685
-#define RE_SYNTAX_AWK  \7f186,7781
-#define RE_SYNTAX_GNU_AWK      \7f193,8085
-#define RE_SYNTAX_POSIX_AWK \7f197,8256
-#define RE_SYNTAX_GREP \7f201,8394
-#define RE_SYNTAX_EGREP        \7f206,8550
-#define RE_SYNTAX_POSIX_EGREP  \7f212,8766
-#define RE_SYNTAX_ED \7f216,8911
-#define RE_SYNTAX_SED \7f218,8955
-#define _RE_SYNTAX_POSIX_COMMON        \7f221,9073
-#define RE_SYNTAX_POSIX_BASIC  \7f225,9216
-#define RE_SYNTAX_POSIX_MINIMAL_BASIC  \7f231,9509
-#define RE_SYNTAX_POSIX_EXTENDED       \7f234,9599
-#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED       \7f242,9968
-# undef RE_DUP_MAX\7f253,10455
-#define RE_DUP_MAX \7f256,10541
-#define REG_EXTENDED \7f263,10763
-#define REG_ICASE \7f267,10887
-#define REG_NEWLINE \7f272,11071
-#define REG_NOSUB \7f276,11249
-#define REG_NOTBOL \7f286,11615
-#define REG_NOTEOL \7f289,11689
-  REG_ENOSYS \7f297,11860
-  REG_NOERROR \7f300,11942
-  REG_NOMATCH,\7f301,11977
-  REG_BADPAT,\7f305,12124
-  REG_ECOLLATE,\7f306,12163
-  REG_ECTYPE,\7f307,12204
-  REG_EESCAPE,\7f308,12256
-  REG_ESUBREG,\7f309,12299
-  REG_EBRACK,\7f310,12346
-  REG_EPAREN,\7f311,12392
-  REG_EBRACE,\7f312,12437
-  REG_BADBR,\7f313,12473
-  REG_ERANGE,\7f314,12520
-  REG_ESPACE,\7f315,12561
-  REG_BADRPT,\7f316,12602
-  REG_EEND,\7f319,12694
-  REG_ESIZE,\7f320,12729
-  REG_ERPAREN,\7f321,12791
-  REG_ERANGEX  \7f322,12860
-} reg_errcode_t;\7f323,12912
-# define RE_TRANSLATE_TYPE \7f332,13274
-struct re_pattern_buffer\7f335,13316
-#define REGS_UNALLOCATED \7f376,14890
-#define REGS_REALLOCATE \7f377,14917
-#define REGS_FIXED \7f378,14943
-typedef struct re_pattern_buffer regex_t;\7f416,16099
-typedef ssize_t regoff_t;\7f423,16493
-struct re_registers\7f428,16653
-# define RE_NREGS \7f440,16943
-} regmatch_t;\7f451,17318
-extern reg_syntax_t re_set_syntax \7f457,17513
-extern const char *re_compile_pattern \7fre_compile_pattern\ 1462,17777
-extern int re_compile_fastmap \7f469,18059
-extern regoff_t re_search \7f477,18467
-extern regoff_t re_search_2 \7f485,18782
-extern regoff_t re_match \7f495,19178
-extern regoff_t re_match_2 \7f501,19408
-extern void re_set_registers \7f520,20198
-extern char *re_comp \7fre_comp\ 1528,20470
-extern int re_exec \7f529,20507
-#  define _Restrict_ \7f540,20887
-#  define _Restrict_ \7f542,20980
-#  define _Restrict_\7f544,21019
-#  define _Restrict_arr_ \7f555,21419
-#  define _Restrict_arr_\7f557,21462
-extern reg_errcode_t regcomp \7f562,21531
-extern reg_errcode_t regexec \7f566,21657
-extern size_t regerror \7f571,21851
-extern void regfree \7f574,21957
-#  define CHAR_CLASS_MAX_LENGTH \7f593,22471
-#  define CHAR_CLASS_MAX_LENGTH \7f597,22649
-typedef wctype_t re_wctype_t;\7f599,22693
-typedef wchar_t re_wchar_t;\7f600,22723
-# define re_wctype \7f601,22751
-# define re_iswctype \7f602,22777
-# define re_wctype_to_bit(\7f603,22807
-# define CHAR_CLASS_MAX_LENGTH \7f605,22845
-# define btowc(\7f606,22907
-typedef enum { RECC_ERROR \7f609,22954
-              RECC_ALNUM,\7f610,22985
-              RECC_ALNUM, RECC_ALPHA,\7f610,22985
-              RECC_ALNUM, RECC_ALPHA, RECC_WORD,\7f610,22985
-              RECC_GRAPH,\7f611,23028
-              RECC_GRAPH, RECC_PRINT,\7f611,23028
-              RECC_LOWER,\7f612,23060
-              RECC_LOWER, RECC_UPPER,\7f612,23060
-              RECC_PUNCT,\7f613,23092
-              RECC_PUNCT, RECC_CNTRL,\7f613,23092
-              RECC_DIGIT,\7f614,23124
-              RECC_DIGIT, RECC_XDIGIT,\7f614,23124
-              RECC_BLANK,\7f615,23157
-              RECC_BLANK, RECC_SPACE,\7f615,23157
-              RECC_MULTIBYTE,\7f616,23189
-              RECC_MULTIBYTE, RECC_NONASCII,\7f616,23189
-              RECC_ASCII,\7f617,23228
-              RECC_ASCII, RECC_UNIBYTE\7f617,23228
-} re_wctype_t;\7f618,23261
-extern char re_iswctype \7f620,23277
-extern re_wctype_t re_wctype \7f621,23330
-typedef int re_wchar_t;\7f623,23388
-extern void re_set_whitespace_regexp \7f625,23413
-\f
-c-src/emacs/src/keyboard.c,17467
-volatile int interrupt_input_blocked;\7f76,1809
-volatile bool pending_signals;\7f80,1945
-#define KBD_BUFFER_SIZE \7f82,1977
-KBOARD *initial_kboard;\7finitial_kboard\ 184,2007
-KBOARD *current_kboard;\7fcurrent_kboard\ 185,2031
-static KBOARD *all_kboards;\7fall_kboards\ 186,2055
-static bool single_kboard;\7f89,2155
-#define NUM_RECENT_KEYS \7f91,2183
-static int recent_keys_index;\7f94,2270
-static int total_keys;\7f97,2358
-static Lisp_Object recent_keys;\7f100,2444
-Lisp_Object this_command_keys;\7f107,2778
-ptrdiff_t this_command_key_count;\7f108,2809
-static bool this_command_key_count_reset;\7f112,2923
-static Lisp_Object raw_keybuf;\7f116,3075
-static int raw_keybuf_count;\7f117,3106
-#define GROW_RAW_KEYBUF        \7f119,3136
-static ptrdiff_t this_single_command_key_start;\7f125,3351
-static ptrdiff_t before_command_key_count;\7f129,3499
-static ptrdiff_t before_command_echo_length;\7f130,3542
-sigjmp_buf return_to_command_loop;\7f135,3678
-static Lisp_Object recover_top_level_message;\7f138,3792
-static Lisp_Object regular_top_level_message;\7f143,3931
-static sys_jmp_buf getcjmp;\7f147,4032
-bool waiting_for_input;\7f150,4096
-static bool echoing;\7f154,4187
-static struct kboard *ok_to_echo_at_next_pause;\7fok_to_echo_at_next_pause\ 1159,4329
-struct kboard *echo_kboard;\7fecho_kboard\ 1166,4633
-Lisp_Object echo_message_buffer;\7f171,4745
-bool immediate_quit;\7f174,4838
-int quit_char;\7f192,5624
-EMACS_INT command_loop_level;\7f195,5681
-Lisp_Object unread_switch_frame;\7f204,6109
-static ptrdiff_t last_non_minibuf_size;\7f207,6217
-uintmax_t num_input_events;\7f210,6335
-static EMACS_INT last_auto_save;\7f214,6429
-static ptrdiff_t last_point_position;\7f217,6524
-Lisp_Object internal_last_event_frame;\7f228,7029
-static Lisp_Object read_key_sequence_cmd;\7f232,7169
-static Lisp_Object read_key_sequence_remapped;\7f233,7211
-static FILE *dribble;\7fdribble\ 1236,7311
-bool input_pending;\7f239,7369
-static bool input_was_pending;\7f287,10023
-static struct input_event kbd_buffer[\7fkbd_buffer\ 1291,10108
-static struct input_event *kbd_fetch_ptr;\7fkbd_fetch_ptr\ 1297,10387
-static struct input_event * volatile kbd_store_ptr;\7f302,10602
-static void recursive_edit_unwind \7f313,11089
-static Lisp_Object command_loop \7f314,11145
-static void echo_now \7f316,11186
-static ptrdiff_t echo_length \7f317,11215
-unsigned timers_run;\7f320,11297
-struct timespec *input_available_clear_time;\7finput_available_clear_time\ 1324,11409
-bool interrupt_input;\7f328,11574
-bool interrupts_deferred;\7f331,11672
-static struct timespec timer_idleness_start_time;\7f335,11747
-static struct timespec timer_last_idleness_start_time;\7f340,11917
-#define READABLE_EVENTS_DO_TIMERS_NOW  \7f346,12047
-#define READABLE_EVENTS_FILTER_EVENTS  \7f347,12095
-#define READABLE_EVENTS_IGNORE_SQUEEZABLES     \7f348,12143
-static void (*keyboard_init_hook)\7fkeyboard_init_hook\ 1351,12265
-static bool get_input_pending \7f353,12308
-static bool readable_events \7f354,12345
-static Lisp_Object read_char_x_menu_prompt \7f355,12380
-static Lisp_Object read_char_minibuf_menu_prompt \7f357,12503
-static Lisp_Object make_lispy_event \7f358,12572
-static Lisp_Object make_lispy_movement \7f359,12632
-static Lisp_Object modify_event_symbol \7f363,12841
-static Lisp_Object make_lispy_switch_frame \7f366,13051
-static Lisp_Object make_lispy_focus_in \7f367,13109
-static Lisp_Object make_lispy_focus_out \7f369,13189
-static bool help_char_p \7f371,13276
-static void save_getcjmp \7f372,13315
-static void restore_getcjmp \7f373,13355
-static Lisp_Object apply_modifiers \7f374,13398
-static void clear_event \7f375,13453
-static void restore_kboard_configuration \7f376,13501
-static void deliver_input_available_signal \7f378,13569
-static void handle_interrupt \7f380,13632
-static _Noreturn void quit_throw_to_read_char \7f381,13669
-static void process_special_events \7f382,13723
-static void timer_start_idle \7f383,13766
-static void timer_stop_idle \7f384,13803
-static void timer_resume_idle \7f385,13839
-static void deliver_user_signal \7f386,13877
-static char *find_user_signal_name \7ffind_user_signal_name\ 1387,13916
-static void store_user_signal_events \7f388,13958
-kset_echo_string \7f392,14089
-kset_kbd_queue \7f397,14185
-kset_keyboard_translate_table \7f402,14277
-kset_last_prefix_arg \7f407,14400
-kset_last_repeatable_command \7f412,14505
-kset_local_function_key_map \7f417,14626
-kset_overriding_terminal_local_map \7f422,14745
-kset_real_last_command \7f427,14878
-kset_system_key_syms \7f432,14987
-echo_add_key \7f443,15250
-echo_char \7f527,17528
-echo_dash \7f541,17814
-echo_now \7f586,19141
-cancel_echoing \7f635,20615
-echo_length \7f648,20923
-echo_truncate \7f660,21254
-add_command_key \7f672,21583
-recursive_edit_1 \7f697,22407
-record_auto_save \7f742,23849
-force_auto_save_soon \7f751,24017
-DEFUN ("recursive-edit", Frecursive_edit,\7f759,24138
-DEFUN ("recursive-edit", Frecursive_edit,\7frecursive-edit\ 1759,24138
-recursive_edit_unwind \7f804,25751
-any_kboard_state \7f817,26017
-single_kboard_state \7f838,26669
-not_single_kboard_state \7f848,26807
-struct kboard_stack\7f858,27069
-static struct kboard_stack *kboard_stack;\7fkboard_stack\ 1864,27142
-push_kboard \7f867,27190
-pop_kboard \7f879,27379
-temporarily_switch_to_single_kboard \7f914,28267
-record_single_kboard_state \7f943,29441
-restore_kboard_configuration \7f952,29625
-cmd_error \7f970,30081
-cmd_error_internal \7f1024,31514
-DEFUN ("command-error-default-function", Fcommand_error_default_function,\7f1043,32034
-DEFUN ("command-error-default-function", Fcommand_error_default_function,\7fcommand-error-default-function\ 11043,32034
-static Lisp_Object command_loop_2 \7f1086,33641
-static Lisp_Object top_level_1 \7f1087,33690
-command_loop \7f1094,33920
-command_loop_2 \7f1134,35139
-top_level_2 \7f1146,35343
-top_level_1 \7f1152,35421
-DEFUN ("top-level", Ftop_level,\7f1164,35791
-DEFUN ("top-level", Ftop_level,\7ftop-level\ 11164,35791
-user_error \7f1183,36292
-DEFUN ("exit-recursive-edit", Fexit_recursive_edit,\7f1189,36433
-DEFUN ("exit-recursive-edit", Fexit_recursive_edit,\7fexit-recursive-edit\ 11189,36433
-DEFUN ("abort-recursive-edit", Fabort_recursive_edit,\7f1201,36823
-DEFUN ("abort-recursive-edit", Fabort_recursive_edit,\7fabort-recursive-edit\ 11201,36823
-tracking_off \7f1216,37285
-DEFUN ("internal--track-mouse", Ftrack_mouse,\7f1234,37820
-DEFUN ("internal--track-mouse", Ftrack_mouse,\7ftrack-mouse\ 11234,37820
-bool ignore_mouse_drag_p;\7f1256,38396
-some_mouse_moved \7f1259,38445
-static int read_key_sequence \7f1282,38803
-static void adjust_point_for_property \7f1284,38921
-Lisp_Object last_undo_boundary;\7f1287,39036
-command_loop_1 \7f1294,39277
-read_menu_command \7f1649,50893
-adjust_point_for_property \7f1678,51621
-safe_run_hooks_1 \7f1831,57343
-safe_run_hooks_error \7f1841,57573
-safe_run_hook_funcall \7f1878,58580
-safe_run_hooks \7f1893,59062
-int poll_suppress_count;\7f1908,59401
-static struct atimer *poll_timer;\7fpoll_timer\ 11915,59491
-poll_for_input_1 \7f1919,59593
-poll_for_input \7f1930,59793
-start_polling \7f1942,60057
-input_polling_used \7f1979,61095
-stop_polling \7f1994,61394
-set_poll_suppress_count \7f2009,61763
-bind_polling_period \7f2029,62145
-make_ctrl_char \7f2048,62496
-show_help_echo \7f2113,64459
-static Lisp_Object kbd_buffer_get_event \7f2152,65488
-static void record_char \7f2154,65600
-static Lisp_Object help_form_saved_window_configs;\7f2156,65642
-read_char_help_form_unwind \7f2158,65705
-#define STOP_POLLING   \7f2166,65963
-#define RESUME_POLLING \7f2170,66088
-read_event_from_main_queue \7f2175,66233
-read_decoded_event_from_main_queue \7f2249,68421
-#define MAX_ENCODED_BYTES \7f2254,68668
-echo_keystrokes_p \7f2342,71560
-read_char \7f2376,72852
-record_menu_key \7f3225,98953
-help_char_p \7f3258,99678
-record_char \7f3273,99957
-save_getcjmp \7f3412,104239
-restore_getcjmp \7f3418,104330
-readable_events \7f3430,104701
-int stop_character EXTERNALLY_VISIBLE;\7f3497,106441
-event_to_kboard \7f3500,106497
-kbd_buffer_nr_stored \7f3522,107146
-kbd_buffer_store_event \7f3534,107487
-kbd_buffer_store_event_hold \7f3550,108029
-kbd_buffer_unget_event \7f3684,111621
-#define INPUT_EVENT_POS_MAX \7f3698,112022
-#define INPUT_EVENT_POS_MIN \7f3701,112151
-position_to_Time \7f3706,112291
-Time_to_position \7f3716,112518
-gen_help_event \7f3738,113175
-kbd_buffer_store_help_event \7f3756,113615
-discard_mouse_events \7f3773,113980
-kbd_buffer_events_waiting \7f3803,114715
-clear_event \7f3823,115072
-kbd_buffer_get_event \7f3836,115412
-process_special_events \7f4258,127885
-swallow_events \7f4322,129709
-timer_start_idle \7f4339,130102
-timer_stop_idle \7f4355,130580
-timer_resume_idle \7f4363,130724
-struct input_event last_timer_event EXTERNALLY_VISIBLE;\7f4372,130916
-Lisp_Object pending_funcalls;\7f4377,131176
-decode_timer \7f4381,131297
-timer_check_2 \7f4414,132250
-timer_check \7f4572,136821
-DEFUN ("current-idle-time", Fcurrent_idle_time,\7f4607,137666
-DEFUN ("current-idle-time", Fcurrent_idle_time,\7fcurrent-idle-time\ 14607,137666
-static Lisp_Object accent_key_syms;\7f4625,138243
-static Lisp_Object func_key_syms;\7f4626,138279
-static Lisp_Object mouse_syms;\7f4627,138313
-static Lisp_Object wheel_syms;\7f4628,138344
-static Lisp_Object drag_n_drop_syms;\7f4629,138375
-static const int lispy_accent_codes[\7flispy_accent_codes\ 14634,138520
-static const char *const lispy_accent_keys[\7flispy_accent_keys\ 14741,139882
-#define FUNCTION_KEY_OFFSET \7f4766,140318
-const char *const lispy_function_keys[\7flispy_function_keys\ 14768,140351
-static const char *const lispy_multimedia_keys[\7flispy_multimedia_keys\ 14962,148905
-static const char *const lispy_kana_keys[\7flispy_kana_keys\ 15026,150139
-#define FUNCTION_KEY_OFFSET \7f5061,151755
-static const char *const lispy_function_keys[\7flispy_function_keys\ 15065,151898
-#define ISO_FUNCTION_KEY_OFFSET \7f5149,154433
-static const char *const iso_lispy_function_keys[\7fiso_lispy_function_keys\ 15151,154473
-static Lisp_Object Vlispy_mouse_stem;\7f5172,155332
-static const char *const lispy_wheel_names[\7flispy_wheel_names\ 15174,155371
-static const char *const lispy_drag_n_drop_names[\7flispy_drag_n_drop_names\ 15181,155623
-static short const scroll_bar_parts[\7fscroll_bar_parts\ 15189,155889
-static Lisp_Object button_down_location;\7f5210,156914
-static int last_mouse_button;\7f5215,157069
-static int last_mouse_x;\7f5216,157099
-static int last_mouse_y;\7f5217,157124
-static Time button_down_time;\7f5218,157149
-static int double_click_count;\7f5222,157233
-make_lispy_position \7f5228,157394
-toolkit_menubar_in_use \7f5456,163957
-make_scroll_bar_position \7f5469,164325
-make_lispy_event \7f5485,164971
-make_lispy_movement \7f6104,183534
-make_lispy_switch_frame \7f6131,184265
-make_lispy_focus_in \7f6137,184372
-make_lispy_focus_out \7f6145,184498
-parse_modifiers_uncached \7f6163,184948
-#define SINGLE_LETTER_MOD(\7f6185,185468
-#undef SINGLE_LETTER_MOD\7f6212,185909
-#define MULTI_LETTER_MOD(\7f6214,185935
-#undef MULTI_LETTER_MOD\7f6231,186403
-apply_modifiers_uncached \7f6273,187577
-static const char *const modifier_names[\7fmodifier_names\ 16319,189196
-#define NUM_MOD_NAMES \7f6325,189402
-static Lisp_Object modifier_symbols;\7f6327,189452
-lispy_modifier_list \7f6331,189589
-#define KEY_TO_CHAR(\7f6353,190255
-parse_modifiers \7f6356,190331
-DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,\7f6399,191520
-DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,\7fevent-symbol-parse-modifiers\ 16399,191520
-apply_modifiers \7f6422,192394
-reorder_modifiers \7f6491,194723
-modify_event_symbol \7f6536,196531
-DEFUN ("event-convert-list", Fevent_convert_list,\7f6628,199247
-DEFUN ("event-convert-list", Fevent_convert_list,\7fevent-convert-list\ 16628,199247
-parse_solitary_modifier \7f6695,201138
-#define SINGLE_LETTER_MOD(\7f6701,201261
-#define MULTI_LETTER_MOD(\7f6705,201346
-#undef SINGLE_LETTER_MOD\7f6763,202644
-#undef MULTI_LETTER_MOD\7f6764,202669
-lucid_event_type_list_p \7f6775,202892
-get_input_pending \7f6814,203963
-record_asynch_buffer_change \7f6834,204582
-gobble_input \7f6872,205705
-tty_read_avail_input \7f6967,208313
-handle_async_input \7f7149,214042
-process_pending_signals \7f7165,214362
-unblock_input_to \7f7177,214648
-unblock_input \7f7200,215280
-totally_unblock_input \7f7209,215448
-handle_input_available_signal \7f7217,215532
-deliver_input_available_signal \7f7226,215703
-struct user_signal_info\7f7235,215868
-static struct user_signal_info *user_signals \7fuser_signals\ 17250,216093
-add_user_signal \7f7253,216152
-handle_user_signal \7f7275,216601
-deliver_user_signal \7f7316,217561
-find_user_signal_name \7f7322,217662
-store_user_signal_events \7f7334,217844
-static void menu_bar_item \7f7362,218344
-static Lisp_Object menu_bar_one_keymap_changed_items;\7f7363,218419
-static Lisp_Object menu_bar_items_vector;\7f7368,218633
-static int menu_bar_items_index;\7f7369,218675
-static const char *separator_names[\7fseparator_names\ 17372,218710
-menu_separator_name_p \7f7393,219151
-menu_bar_items \7f7426,219855
-Lisp_Object item_properties;\7f7568,224606
-menu_bar_item \7f7571,224648
-menu_item_eval_property_1 \7f7647,227178
-eval_dyn \7f7658,227468
-menu_item_eval_property \7f7666,227678
-parse_menu_item \7f7686,228344
-static Lisp_Object tool_bar_items_vector;\7f7965,236339
-static Lisp_Object tool_bar_item_properties;\7f7970,236513
-static int ntool_bar_items;\7f7974,236609
-static void init_tool_bar_items \7f7978,236667
-static void process_tool_bar_item \7f7979,236714
-static bool parse_tool_bar_item \7f7981,236804
-static void append_tool_bar_item \7f7982,236864
-tool_bar_items \7f7990,237086
-process_tool_bar_item \7f8075,239895
-#define PROP(\7f8112,240972
-set_prop \7f8114,241041
-parse_tool_bar_item \7f8167,242456
-#undef PROP\7f8379,248847
-init_tool_bar_items \7f8387,248972
-append_tool_bar_item \7f8401,249264
-read_char_x_menu_prompt \7f8443,250774
-read_char_minibuf_menu_prompt \7f8503,252448
-#define PUSH_C_STR(\7f8527,253017
-follow_key \7f8726,258556
-active_maps \7f8733,258698
-typedef struct keyremap\7f8742,259024
-} keyremap;\7f8754,259467
-access_keymap_keyremap \7f8764,259811
-keyremap_step \7f8811,261453
-test_undefined \7f8867,262937
-read_key_sequence \7f8916,264864
-read_key_sequence_vs \7f9826,295824
-DEFUN ("read-key-sequence", Fread_key_sequence,\7f9885,297297
-DEFUN ("read-key-sequence", Fread_key_sequence,\7fread-key-sequence\ 19885,297297
-DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,\7f9938,299985
-DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,\7fread-key-sequence-vector\ 19938,299985
-detect_input_pending \7f9950,300491
-detect_input_pending_ignore_squeezables \7f9959,300657
-detect_input_pending_run_timers \7f9967,300873
-clear_input_pending \7f9985,301365
-requeued_events_pending_p \7f9997,301735
-DEFUN ("input-pending-p", Finput_pending_p,\7f10002,301816
-DEFUN ("input-pending-p", Finput_pending_p,\7finput-pending-p\ 110002,301816
-DEFUN ("recent-keys", Frecent_keys,\7f10024,302599
-DEFUN ("recent-keys", Frecent_keys,\7frecent-keys\ 110024,302599
-DEFUN ("this-command-keys", Fthis_command_keys,\7f10055,303520
-DEFUN ("this-command-keys", Fthis_command_keys,\7fthis-command-keys\ 110055,303520
-DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,\7f10068,303961
-DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,\7fthis-command-keys-vector\ 110068,303961
-DEFUN ("this-single-command-keys", Fthis_single_command_keys,\7f10080,304383
-DEFUN ("this-single-command-keys", Fthis_single_command_keys,\7fthis-single-command-keys\ 110080,304383
-DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,\7f10096,304958
-DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,\7fthis-single-command-raw-keys\ 110096,304958
-DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,\7f10109,305498
-DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,\7freset-this-command-lengths\ 110109,305498
-DEFUN ("clear-this-command-keys", Fclear_this_command_keys,\7f10136,306513
-DEFUN ("clear-this-command-keys", Fclear_this_command_keys,\7fclear-this-command-keys\ 110136,306513
-DEFUN ("recursion-depth", Frecursion_depth,\7f10158,307072
-DEFUN ("recursion-depth", Frecursion_depth,\7frecursion-depth\ 110158,307072
-DEFUN ("open-dribble-file", Fopen_dribble_file,\7f10169,307409
-DEFUN ("open-dribble-file", Fopen_dribble_file,\7fopen-dribble-file\ 110169,307409
-DEFUN ("discard-input", Fdiscard_input,\7f10203,308450
-DEFUN ("discard-input", Fdiscard_input,\7fdiscard-input\ 110203,308450
-DEFUN ("suspend-emacs", Fsuspend_emacs,\7f10225,308952
-DEFUN ("suspend-emacs", Fsuspend_emacs,\7fsuspend-emacs\ 110225,308952
-stuff_buffered_input \7f10285,311048
-set_waiting_for_input \7f10323,312019
-clear_waiting_for_input \7f10337,312393
-handle_interrupt_signal \7f10351,312757
-deliver_interrupt_signal \7f10378,313645
-static int volatile force_quit_count;\7f10387,313935
-handle_interrupt \7f10401,314417
-quit_throw_to_read_char \7f10541,318714
-DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,\7f10562,319291
-DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,\7fset-input-interrupt-mode\ 110562,319291
-DEFUN ("set-output-flow-control", Fset_output_flow_control,\7f10609,320519
-DEFUN ("set-output-flow-control", Fset_output_flow_control,\7fset-output-flow-control\ 110609,320519
-DEFUN ("set-input-meta-mode", Fset_input_meta_mode,\7f10643,321435
-DEFUN ("set-input-meta-mode", Fset_input_meta_mode,\7fset-input-meta-mode\ 110643,321435
-DEFUN ("set-quit-char", Fset_quit_char,\7f10694,322709
-DEFUN ("set-quit-char", Fset_quit_char,\7fset-quit-char\ 110694,322709
-DEFUN ("set-input-mode", Fset_input_mode,\7f10729,323573
-DEFUN ("set-input-mode", Fset_input_mode,\7fset-input-mode\ 110729,323573
-DEFUN ("current-input-mode", Fcurrent_input_mode,\7f10750,324462
-DEFUN ("current-input-mode", Fcurrent_input_mode,\7fcurrent-input-mode\ 110750,324462
-DEFUN ("posn-at-x-y", Fposn_at_x_y,\7f10787,325840
-DEFUN ("posn-at-x-y", Fposn_at_x_y,\7fposn-at-x-y\ 110787,325840
-DEFUN ("posn-at-point", Fposn_at_point,\7f10824,327063
-DEFUN ("posn-at-point", Fposn_at_point,\7fposn-at-point\ 110824,327063
-init_kboard \7f10861,328217
-allocate_kboard \7f10893,329287
-wipe_kboard \7f10909,329640
-delete_kboard \7f10917,329754
-init_keyboard \7f10942,330284
-struct event_head\7f11021,332699
-static const struct event_head head_table[\7fhead_table\ 111027,332750
-syms_of_keyboard \7f11045,333580
-keys_of_keyboard \7f11841,367118
-mark_kboards \7f11916,370437
-\f
-c-src/emacs/src/lisp.h,33840
-#define EMACS_LISP_H\7f22,801
-#define DECLARE_GDB_SYM(\7f47,1422
-# define DEFINE_GDB_SYMBOL_BEGIN(\7f49,1509
-# define DEFINE_GDB_SYMBOL_END(\7f50,1579
-# define DEFINE_GDB_SYMBOL_BEGIN(\7f52,1626
-# define DEFINE_GDB_SYMBOL_END(\7f53,1703
-#undef min\7f57,1791
-#undef max\7f58,1802
-#define max(\7f59,1813
-#define min(\7f60,1855
-#define ARRAYELTS(\7f63,1937
-#define GCTYPEBITS \7f67,2080
-DEFINE_GDB_SYMBOL_BEGIN \7fGCTYPEBITS\ 166,2038
-# define NONPOINTER_BITS \7f78,2568
-# define NONPOINTER_BITS \7f80,2601
-typedef int EMACS_INT;\7f91,3024
-typedef unsigned int EMACS_UINT;\7f92,3047
-#  define EMACS_INT_MAX \7f93,3080
-#  define pI \7f94,3112
-typedef long int EMACS_INT;\7f96,3204
-typedef unsigned long EMACS_UINT;\7f97,3232
-#  define EMACS_INT_MAX \7f98,3266
-#  define pI \7f99,3299
-typedef long long int EMACS_INT;\7f103,3478
-typedef unsigned long long int EMACS_UINT;\7f104,3511
-#  define EMACS_INT_MAX \7f105,3554
-#  define pI \7f106,3588
-enum {  BOOL_VECTOR_BITS_PER_CHAR \7f114,3805
-#define BOOL_VECTOR_BITS_PER_CHAR \7f115,3841
-typedef size_t bits_word;\7f123,4166
-# define BITS_WORD_MAX \7f124,4192
-enum { BITS_PER_BITS_WORD \7f125,4224
-typedef unsigned char bits_word;\7f127,4291
-# define BITS_WORD_MAX \7f128,4324
-enum { BITS_PER_BITS_WORD \7f129,4387
-verify \7f131,4451
-    BITS_PER_CHAR \7f136,4571
-    BITS_PER_SHORT \7f137,4606
-    BITS_PER_LONG \7f138,4658
-    BITS_PER_EMACS_INT \7f139,4713
-typedef intmax_t printmax_t;\7f148,5090
-typedef uintmax_t uprintmax_t;\7f149,5119
-# define pMd \7f150,5150
-# define pMu \7f151,5171
-typedef EMACS_INT printmax_t;\7f153,5198
-typedef EMACS_UINT uprintmax_t;\7f154,5228
-# define pMd \7f155,5260
-# define pMu \7f156,5279
-# define pD \7f165,5665
-# define pD \7f167,5710
-# define pD \7f169,5757
-# define pD \7f171,5780
-# define eassert(\7f200,7063
-# define eassume(\7f201,7141
-extern _Noreturn void die \7f204,7207
-extern bool suppress_checking EXTERNALLY_VISIBLE;\7f206,7269
-# define eassert(\7f208,7320
-# define eassume(\7f212,7451
-enum Lisp_Bits\7f239,8520
-#define GCALIGNMENT \7f243,8648
-    VALBITS \7f246,8743
-    INTTYPEBITS \7f249,8839
-    FIXNUM_BITS \7f252,8946
-#define VAL_MAX \7f263,9328
-#define USE_LSB_TAG \7f271,9778
-DEFINE_GDB_SYMBOL_BEGIN \7fUSE_LSB_TAG\ 1270,9734
-# define alignas(\7f281,10078
-# define GCALIGNED \7f288,10228
-# define GCALIGNED \7f290,10293
-# define lisp_h_XLI(\7f327,11643
-# define lisp_h_XIL(\7f328,11674
-# define lisp_h_XLI(\7f330,11725
-# define lisp_h_XIL(\7f331,11752
-#define lisp_h_CHECK_LIST_CONS(\7f333,11786
-#define lisp_h_CHECK_NUMBER(\7f334,11857
-#define lisp_h_CHECK_SYMBOL(\7f335,11928
-#define lisp_h_CHECK_TYPE(\7f336,11997
-#define lisp_h_CONSP(\7f338,12108
-#define lisp_h_EQ(\7f339,12157
-#define lisp_h_FLOATP(\7f340,12202
-#define lisp_h_INTEGERP(\7f341,12253
-#define lisp_h_MARKERP(\7f342,12334
-#define lisp_h_MISCP(\7f343,12409
-#define lisp_h_NILP(\7f344,12458
-#define lisp_h_SET_SYMBOL_VAL(\7f345,12494
-#define lisp_h_SYMBOL_CONSTANT_P(\7f347,12608
-#define lisp_h_SYMBOL_VAL(\7f348,12672
-#define lisp_h_SYMBOLP(\7f350,12773
-#define lisp_h_VECTORLIKEP(\7f351,12826
-#define lisp_h_XCAR(\7f352,12887
-#define lisp_h_XCDR(\7f353,12925
-#define lisp_h_XCONS(\7f354,12965
-#define lisp_h_XHASH(\7f356,13060
-#define lisp_h_XPNTR(\7f357,13094
-# define lisp_h_check_cons_list(\7f360,13222
-# define lisp_h_make_number(\7f363,13290
-# define lisp_h_XFASTINT(\7f365,13393
-# define lisp_h_XINT(\7f366,13430
-# define lisp_h_XSYMBOL(\7f367,13479
-# define lisp_h_XTYPE(\7f371,13632
-# define lisp_h_XUNTAG(\7f372,13697
-# define XLI(\7f381,14087
-# define XIL(\7f382,14118
-# define CHECK_LIST_CONS(\7f383,14149
-# define CHECK_NUMBER(\7f384,14210
-# define CHECK_SYMBOL(\7f385,14259
-# define CHECK_TYPE(\7f386,14308
-# define CONSP(\7f387,14383
-# define EQ(\7f388,14418
-# define FLOATP(\7f389,14453
-# define INTEGERP(\7f390,14490
-# define MARKERP(\7f391,14531
-# define MISCP(\7f392,14570
-# define NILP(\7f393,14605
-# define SET_SYMBOL_VAL(\7f394,14638
-# define SYMBOL_CONSTANT_P(\7f395,14701
-# define SYMBOL_VAL(\7f396,14764
-# define SYMBOLP(\7f397,14813
-# define VECTORLIKEP(\7f398,14852
-# define XCAR(\7f399,14899
-# define XCDR(\7f400,14932
-# define XCONS(\7f401,14965
-# define XHASH(\7f402,15000
-# define XPNTR(\7f403,15035
-#  define check_cons_list(\7f405,15098
-#  define make_number(\7f408,15177
-#  define XFASTINT(\7f409,15225
-#  define XINT(\7f410,15267
-#  define XSYMBOL(\7f411,15301
-#  define XTYPE(\7f412,15341
-#  define XUNTAG(\7f413,15377
-#define LISP_MACRO_DEFUN(\7f421,15673
-#define LISP_MACRO_DEFUN_VOID(\7f425,15846
-#define INTMASK \7f437,16290
-#define case_Lisp_Int \7f438,16343
-#define ENUM_BF(\7f445,16682
-#define ENUM_BF(\7f447,16723
-enum Lisp_Type\7f451,16764
-    Lisp_Symbol \7f454,16852
-    Lisp_Misc \7f458,16994
-    Lisp_Int0 \7f461,17068
-    Lisp_Int1 \7f462,17087
-    Lisp_String \7f466,17265
-    Lisp_Vectorlike \7f472,17544
-    Lisp_Cons \7f475,17633
-    Lisp_Float \7f477,17671
-enum Lisp_Misc_Type\7f485,18017
-    Lisp_Misc_Free \7f487,18041
-    Lisp_Misc_Marker,\7f488,18070
-    Lisp_Misc_Overlay,\7f489,18092
-    Lisp_Misc_Save_Value,\7f490,18115
-    Lisp_Misc_Finalizer,\7f491,18141
-    Lisp_Misc_Float,\7f494,18276
-    Lisp_Misc_Limit\7f496,18360
-enum Lisp_Fwd_Type\7f502,18544
-    Lisp_Fwd_Int,\7f504,18567
-    Lisp_Fwd_Bool,\7f505,18620
-    Lisp_Fwd_Obj,\7f506,18671
-    Lisp_Fwd_Buffer_Obj,\7f507,18730
-    Lisp_Fwd_Kboard_Obj        \7f508,18801
-typedef struct { EMACS_INT i; } Lisp_Object;\7f567,21772
-#define LISP_INITIALLY(\7f569,21818
-#undef CHECK_LISP_OBJECT_TYPE\7f571,21849
-enum CHECK_LISP_OBJECT_TYPE \7f572,21879
-enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE \7f572,21879
-typedef EMACS_INT Lisp_Object;\7f577,22055
-#define LISP_INITIALLY(\7f578,22086
-enum CHECK_LISP_OBJECT_TYPE \7f579,22116
-enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE \7f579,22116
-#define LISP_INITIALLY_ZERO \7f582,22217
-INLINE bool BOOL_VECTOR_P \7f588,22341
-INLINE bool BUFFER_OBJFWDP \7f589,22382
-INLINE bool BUFFERP \7f590,22429
-INLINE bool CHAR_TABLE_P \7f591,22464
-INLINE Lisp_Object CHAR_TABLE_REF_ASCII \7f592,22504
-INLINE bool \7f593,22570
-INLINE bool \7f594,22605
-INLINE bool functionp \7f595,22641
-INLINE bool \7f596,22678
-INLINE bool \7f597,22716
-INLINE bool \7f598,22753
-INLINE bool \7f599,22788
-INLINE bool OVERLAYP \7f600,22822
-INLINE bool PROCESSP \7f601,22858
-INLINE bool PSEUDOVECTORP \7f602,22894
-INLINE bool SAVE_VALUEP \7f603,22940
-INLINE bool FINALIZERP \7f604,22979
-INLINE void set_sub_char_table_contents \7f605,23017
-INLINE bool STRINGP \7f607,23107
-INLINE bool SUB_CHAR_TABLE_P \7f608,23142
-INLINE bool SUBRP \7f609,23186
-INLINE bool \7f610,23219
-INLINE bool \7f611,23256
-INLINE bool WINDOWP \7f612,23297
-INLINE bool TERMINALP \7f613,23332
-INLINE struct Lisp_Save_Value *XSAVE_VALUE \7fXSAVE_VALUE\ 1614,23369
-INLINE struct Lisp_Finalizer *XFINALIZER \7fXFINALIZER\ 1615,23427
-INLINE struct Lisp_Symbol *(XSYMBOL)\7f616,23483
-INLINE void \7f617,23535
-extern Lisp_Object char_table_ref \7f620,23607
-extern void char_table_set \7f621,23661
-extern _Noreturn Lisp_Object wrong_type_argument \7f624,23748
-extern _Noreturn void wrong_choice \7f625,23825
-extern bool might_dump;\7f628,23916
-extern bool initialized;\7f631,24052
-extern double extract_float \7f634,24108
-enum symbol_interned\7f639,24190
-  SYMBOL_UNINTERNED \7f641,24213
-  SYMBOL_INTERNED \7f642,24238
-  SYMBOL_INTERNED_IN_INITIAL_OBARRAY \7f643,24261
-enum symbol_redirect\7f646,24306
-  SYMBOL_PLAINVAL \7f648,24329
-  SYMBOL_VARALIAS \7f649,24353
-  SYMBOL_LOCALIZED \7f650,24377
-  SYMBOL_FORWARDED \7f651,24401
-struct Lisp_Symbol\7f654,24428
-#define EXFUN(\7f707,26243
-#define DEFUN_ARGS_MANY        \7f712,26437
-#define DEFUN_ARGS_UNEVALLED   \7f713,26489
-#define DEFUN_ARGS_0   \7f714,26532
-#define DEFUN_ARGS_1   \7f715,26560
-#define DEFUN_ARGS_2   \7f716,26595
-#define DEFUN_ARGS_3   \7f717,26643
-#define DEFUN_ARGS_4   \7f718,26704
-#define DEFUN_ARGS_5   \7f719,26778
-#define DEFUN_ARGS_6   \7f721,26871
-#define DEFUN_ARGS_7   \7f723,26977
-#define DEFUN_ARGS_8   \7f725,27096
-#define TAG_PTR(\7f729,27287
-#define TAG_SYMOFFSET(\7f734,27534
-#define XLI_BUILTIN_LISPSYM(\7f741,27833
-#define DEFINE_LISP_SYMBOL(\7f746,28092
-# define DEFINE_NON_NIL_Q_SYMBOL_MACROS \7f755,28563
-LISP_MACRO_DEFUN \7f762,28768
-# define ARRAY_MARK_FLAG \7f768,29015
-# define PSEUDOVECTOR_FLAG \7f774,29258
-enum pvec_type\7f780,29559
-  PVEC_NORMAL_VECTOR,\7f782,29576
-  PVEC_FREE,\7f783,29598
-  PVEC_PROCESS,\7f784,29611
-  PVEC_FRAME,\7f785,29627
-  PVEC_WINDOW,\7f786,29641
-  PVEC_BOOL_VECTOR,\7f787,29656
-  PVEC_BUFFER,\7f788,29676
-  PVEC_HASH_TABLE,\7f789,29691
-  PVEC_TERMINAL,\7f790,29710
-  PVEC_WINDOW_CONFIGURATION,\7f791,29727
-  PVEC_SUBR,\7f792,29756
-  PVEC_OTHER,\7f793,29769
-  PVEC_COMPILED,\7f795,29847
-  PVEC_CHAR_TABLE,\7f796,29864
-  PVEC_SUB_CHAR_TABLE,\7f797,29883
-  PVEC_FONT \7f798,29906
-enum More_Lisp_Bits\7f801,29982
-    PSEUDOVECTOR_SIZE_BITS \7f808,30373
-    PSEUDOVECTOR_SIZE_MASK \7f809,30406
-    PSEUDOVECTOR_REST_BITS \7f813,30616
-    PSEUDOVECTOR_REST_MASK \7f814,30649
-    PSEUDOVECTOR_AREA_BITS \7f818,30814
-    PVEC_TYPE_MASK \7f819,30892
-# define VALMASK \7f829,31293
-DEFINE_GDB_SYMBOL_BEGIN \7fVALMASK\ 1828,31248
-#define MOST_POSITIVE_FIXNUM \7f834,31523
-#define MOST_NEGATIVE_FIXNUM \7f835,31583
-XINT \7f874,32675
-XFASTINT \7f889,33026
-XSYMBOL \7f899,33254
-XTYPE \7f910,33472
-XUNTAG \7f918,33652
-LISP_MACRO_DEFUN \7f927,33848
-LISP_MACRO_DEFUN \7f940,34233
-#define FIXNUM_OVERFLOW_P(\7f958,34846
-LISP_MACRO_DEFUN \7fFIXNUM_OVERFLOW_P\ 1952,34623
-LISP_MACRO_DEFUN \7f970,35162
-XSTRING \7f980,35382
-#define SYMBOL_INDEX(\7f988,35566
-XFLOAT \7f991,35627
-XPROCESS \7f1000,35769
-XWINDOW \7f1007,35886
-XTERMINAL \7f1014,36003
-XSUBR \7f1021,36125
-XBUFFER \7f1028,36236
-XCHAR_TABLE \7f1035,36360
-XSUB_CHAR_TABLE \7f1042,36497
-XBOOL_VECTOR \7f1049,36639
-make_lisp_ptr \7f1058,36818
-make_lisp_symbol \7f1066,37004
-builtin_lisp_symbol \7f1074,37188
-#define XSETINT(\7f1079,37270
-#define XSETFASTINT(\7f1080,37316
-#define XSETCONS(\7f1081,37366
-#define XSETVECTOR(\7f1082,37426
-#define XSETSTRING(\7f1083,37494
-#define XSETSYMBOL(\7f1084,37558
-#define XSETFLOAT(\7f1085,37612
-#define XSETMISC(\7f1086,37674
-#define XSETPVECTYPE(\7f1090,37763
-#define XSETPVECTYPESIZE(\7f1092,37879
-#define XSETPSEUDOVECTOR(\7f1099,38176
-#define XSETTYPED_PSEUDOVECTOR(\7f1105,38360
-#define XSETWINDOW_CONFIGURATION(\7f1110,38570
-#define XSETPROCESS(\7f1112,38666
-#define XSETWINDOW(\7f1113,38732
-#define XSETTERMINAL(\7f1114,38796
-#define XSETSUBR(\7f1115,38864
-#define XSETCOMPILED(\7f1116,38924
-#define XSETBUFFER(\7f1117,38992
-#define XSETCHAR_TABLE(\7f1118,39056
-#define XSETBOOL_VECTOR(\7f1119,39128
-#define XSETSUB_CHAR_TABLE(\7f1120,39202
-XINTPTR \7f1128,39572
-make_pointer_integer \7f1134,39652
-LISP_MACRO_DEFUN_VOID \7f1143,39817
-typedef struct interval *INTERVAL;\7fINTERVAL\ 11149,39978
-xcar_addr \7f1174,40751
-xcdr_addr \7f1179,40828
-LISP_MACRO_DEFUN \7f1185,40922
-XSETCDR \7f1198,41298
-CAR \7f1205,41448
-CDR \7f1212,41582
-CAR_SAFE \7f1221,41782
-CDR_SAFE \7f1226,41868
-STRING_MULTIBYTE \7f1243,42241
-#define STRING_BYTES_BOUND \7f1261,43048
-#define STRING_SET_UNIBYTE(\7f1265,43192
-#define STRING_SET_MULTIBYTE(\7f1275,43507
-SDATA \7f1286,43821
-SSDATA \7f1291,43899
-SREF \7f1297,44028
-SSET \7f1302,44119
-SCHARS \7f1307,44233
-extern ptrdiff_t string_bytes \7f1313,44328
-STRING_BYTES \7f1316,44406
-SBYTES \7f1326,44586
-STRING_SET_CHARS \7f1331,44672
-struct vectorlike_header\7f1343,45223
-struct Lisp_Vector\7f1369,46473
-    ALIGNOF_STRUCT_LISP_VECTOR\7f1378,46672
-struct Lisp_Bool_Vector\7f1384,46855
-bool_vector_size \7f1399,47376
-bool_vector_data \7f1407,47514
-bool_vector_uchar_data \7f1413,47608
-bool_vector_words \7f1421,47794
-bool_vector_bytes \7f1428,47989
-bool_vector_bitref \7f1437,48229
-bool_vector_ref \7f1445,48469
-bool_vector_set \7f1453,48609
-    header_size \7f1471,49038
-    bool_header_size \7f1472,49097
-    word_size \7f1473,49162
-AREF \7f1479,49275
-aref_addr \7f1485,49382
-ASIZE \7f1491,49492
-ASET \7f1497,49574
-gc_aset \7f1504,49733
-enum { NIL_IS_ZERO \7f1515,50260
-memclear \7f1520,50455
-#define VECSIZE(\7f1531,50753
-#define PSEUDOVECSIZE(\7f1538,51038
-#define UNSIGNED_CMP(\7f1546,51471
-#define ASCII_CHAR_P(\7f1552,51725
-enum CHARTAB_SIZE_BITS\7f1565,52480
-    CHARTAB_SIZE_BITS_0 \7f1567,52507
-    CHARTAB_SIZE_BITS_1 \7f1568,52536
-    CHARTAB_SIZE_BITS_2 \7f1569,52565
-    CHARTAB_SIZE_BITS_3 \7f1570,52594
-extern const int chartab_size[\7fchartab_size\ 11573,52628
-struct Lisp_Char_Table\7f1575,52663
-struct Lisp_Sub_Char_Table\7f1606,53743
-CHAR_TABLE_REF_ASCII \7f1628,54557
-CHAR_TABLE_REF \7f1648,55104
-CHAR_TABLE_SET \7f1658,55393
-struct Lisp_Subr\7f1670,55777
-enum char_table_specials\7f1692,56789
-    CHAR_TABLE_STANDARD_SLOTS \7f1697,56984
-    SUB_CHAR_TABLE_OFFSET \7f1701,57205
-CHAR_TABLE_EXTRA_SLOTS \7f1707,57368
-verify \7f1714,57587
-LISP_MACRO_DEFUN \7f1723,57912
-SYMBOL_BLV \7f1732,58172
-SYMBOL_FWD \7f1738,58307
-LISP_MACRO_DEFUN_VOID \7f1744,58419
-SET_SYMBOL_BLV \7f1754,58682
-SET_SYMBOL_FWD \7f1760,58841
-SYMBOL_NAME \7f1767,58992
-SYMBOL_INTERNED_P \7f1775,59121
-SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P \7f1783,59290
-#define DEFSYM(\7f1796,59800
-LISP_MACRO_DEFUN \7fDEFSYM\ 11792,59621
-struct hash_table_test\7f1805,60053
-struct Lisp_Hash_Table\7f1823,60546
-XHASH_TABLE \7f1880,62522
-#define XSET_HASH_TABLE(\7f1885,62593
-HASH_TABLE_P \7f1889,62694
-HASH_KEY \7f1896,62851
-HASH_VALUE \7f1903,63031
-HASH_NEXT \7f1911,63245
-HASH_HASH \7f1918,63422
-HASH_INDEX \7f1926,63668
-HASH_TABLE_SIZE \7f1933,63817
-enum DEFAULT_HASH_SIZE \7f1940,63947
-enum DEFAULT_HASH_SIZE { DEFAULT_HASH_SIZE \7f1940,63947
-static double const DEFAULT_REHASH_THRESHOLD \7f1946,64167
-static double const DEFAULT_REHASH_SIZE \7f1950,64290
-sxhash_combine \7f1956,64456
-SXHASH_REDUCE \7f1964,64639
-struct Lisp_Misc_Any   \7f1971,64797
-struct Lisp_Marker\7f1978,64971
-struct Lisp_Overlay\7f2021,66832
-    SAVE_UNUSED,\7f2047,67635
-    SAVE_INTEGER,\7f2048,67652
-    SAVE_FUNCPOINTER,\7f2049,67670
-    SAVE_POINTER,\7f2050,67692
-    SAVE_OBJECT\7f2051,67710
-enum { SAVE_SLOT_BITS \7f2055,67795
-enum { SAVE_VALUE_SLOTS \7f2058,67892
-enum { SAVE_TYPE_BITS \7f2062,68000
-enum Lisp_Save_Type\7f2064,68066
-    SAVE_TYPE_INT_INT \7f2066,68090
-    SAVE_TYPE_INT_INT_INT\7f2067,68163
-    SAVE_TYPE_OBJ_OBJ \7f2069,68253
-    SAVE_TYPE_OBJ_OBJ_OBJ \7f2070,68324
-    SAVE_TYPE_OBJ_OBJ_OBJ_OBJ\7f2071,68405
-    SAVE_TYPE_PTR_INT \7f2073,68500
-    SAVE_TYPE_PTR_OBJ \7f2074,68573
-    SAVE_TYPE_PTR_PTR \7f2075,68645
-    SAVE_TYPE_FUNCPTR_PTR_OBJ\7f2076,68718
-    SAVE_TYPE_MEMORY \7f2080,68876
-typedef void (*voidfuncptr)\7fvoidfuncptr\ 12108,69830
-struct Lisp_Save_Value\7f2110,69867
-save_type \7f2134,70746
-XSAVE_POINTER \7f2143,70976
-set_save_pointer \7f2149,71138
-XSAVE_FUNCPOINTER \7f2155,71320
-XSAVE_INTEGER \7f2164,71540
-set_save_integer \7f2170,71702
-XSAVE_OBJECT \7f2179,71923
-struct Lisp_Finalizer\7f2186,72100
-struct Lisp_Free\7f2201,72575
-union Lisp_Misc\7f2212,72876
-XMISC \7f2223,73175
-XMISCANY \7f2229,73264
-XMISCTYPE \7f2236,73373
-XMARKER \7f2242,73461
-XOVERLAY \7f2249,73576
-XSAVE_VALUE \7f2256,73697
-XFINALIZER \7f2263,73826
-struct Lisp_Intfwd\7f2274,74111
-struct Lisp_Boolfwd\7f2284,74405
-struct Lisp_Objfwd\7f2294,74696
-struct Lisp_Buffer_Objfwd\7f2302,74928
-struct Lisp_Buffer_Local_Value\7f2334,76464
-struct Lisp_Kboard_Objfwd\7f2362,77723
-union Lisp_Fwd\7f2368,77832
-XFWDTYPE \7f2378,78078
-XBUFFER_OBJFWD \7f2384,78174
-struct Lisp_Float\7f2391,78310
-XFLOAT_DATA \7f2401,78428
-    IEEE_FLOATING_POINT\7f2415,78937
-#define _UCHAR_T\7f2423,79260
-typedef unsigned char UCHAR;\7f2424,79277
-enum Lisp_Compiled\7f2429,79360
-    COMPILED_ARGLIST \7f2431,79383
-    COMPILED_BYTECODE \7f2432,79409
-    COMPILED_CONSTANTS \7f2433,79436
-    COMPILED_STACK_DEPTH \7f2434,79464
-    COMPILED_DOC_STRING \7f2435,79494
-    COMPILED_INTERACTIVE \7f2436,79523
-enum char_bits\7f2443,79825
-    CHAR_ALT \7f2445,79844
-    CHAR_SUPER \7f2446,79870
-    CHAR_HYPER \7f2447,79898
-    CHAR_SHIFT \7f2448,79926
-    CHAR_CTL \7f2449,79954
-    CHAR_META \7f2450,79980
-    CHAR_MODIFIER_MASK \7f2452,80008
-    CHARACTERBITS \7f2457,80203
-LISP_MACRO_DEFUN \7f2462,80261
-NATNUMP \7f2470,80403
-RANGED_INTEGERP \7f2476,80484
-#define TYPE_RANGED_INTEGERP(\7f2481,80606
-LISP_MACRO_DEFUN \7f2486,80791
-VECTORP \7f2500,81264
-OVERLAYP \7f2505,81367
-SAVE_VALUEP \7f2510,81466
-FINALIZERP \7f2516,81572
-AUTOLOADP \7f2522,81676
-BUFFER_OBJFWDP \7f2528,81767
-PSEUDOVECTOR_TYPEP \7f2534,81865
-PSEUDOVECTORP \7f2542,82118
-WINDOW_CONFIGURATIONP \7f2558,82470
-PROCESSP \7f2564,82580
-WINDOWP \7f2570,82664
-TERMINALP \7f2576,82746
-SUBRP \7f2582,82832
-COMPILEDP \7f2588,82910
-BUFFERP \7f2594,82996
-CHAR_TABLE_P \7f2600,83078
-SUB_CHAR_TABLE_P \7f2606,83169
-BOOL_VECTOR_P \7f2612,83268
-FRAMEP \7f2618,83361
-IMAGEP \7f2625,83478
-ARRAYP \7f2632,83583
-CHECK_LIST \7f2638,83702
-LISP_MACRO_DEFUN_VOID \7f2643,83783
-CHECK_STRING_CAR \7f2653,84080
-CHECK_CONS \7f2658,84184
-CHECK_VECTOR \7f2663,84264
-CHECK_BOOL_VECTOR \7f2668,84350
-CHECK_VECTOR_OR_STRING \7f2674,84527
-CHECK_ARRAY \7f2683,84701
-CHECK_BUFFER \7f2688,84809
-CHECK_WINDOW \7f2693,84895
-CHECK_PROCESS \7f2699,85001
-CHECK_NATNUM \7f2705,85097
-#define CHECK_RANGED_INTEGER(\7f2710,85174
-#define CHECK_TYPE_RANGED_INTEGER(\7f2721,85557
-#define CHECK_NUMBER_COERCE_MARKER(\7f2729,85827
-XFLOATINT \7f2738,86080
-CHECK_NUMBER_OR_FLOAT \7f2744,86151
-#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(\7f2749,86250
-CHECK_NUMBER_CAR \7f2760,86660
-CHECK_NUMBER_CDR \7f2768,86782
-#define DEFUN(\7f2803,88377
-#define DEFUN(\7f2812,88845
-FUNCTIONP \7f2822,89200
-extern void defsubr \7f2829,89352
-enum maxargs\7f2831,89395
-    MANY \7f2833,89412
-    UNEVALLED \7f2834,89427
-#define CALLMANY(\7f2838,89530
-#define CALLN(\7f2844,89883
-extern void defvar_lisp \7f2846,89953
-extern void defvar_lisp_nopro \7f2847,90030
-extern void defvar_bool \7f2848,90113
-extern void defvar_int \7f2849,90184
-extern void defvar_kboard \7f2850,90258
-#define DEFVAR_LISP(\7f2869,91088
-#define DEFVAR_LISP_NOPRO(\7f2874,91260
-#define DEFVAR_BOOL(\7f2879,91442
-#define DEFVAR_INT(\7f2884,91615
-#define DEFVAR_BUFFER_DEFAULTS(\7f2890,91786
-#define DEFVAR_KBOARD(\7f2896,91990
-typedef jmp_buf sys_jmp_buf;\7f2906,92314
-# define sys_setjmp(\7f2907,92343
-# define sys_longjmp(\7f2908,92378
-typedef sigjmp_buf sys_jmp_buf;\7f2910,92450
-# define sys_setjmp(\7f2911,92482
-# define sys_longjmp(\7f2912,92522
-typedef jmp_buf sys_jmp_buf;\7f2916,92681
-# define sys_setjmp(\7f2917,92710
-# define sys_longjmp(\7f2918,92744
-enum specbind_tag \7f2943,93796
-  SPECPDL_UNWIND,\7f2944,93816
-  SPECPDL_UNWIND_PTR,\7f2945,93885
-  SPECPDL_UNWIND_INT,\7f2946,93936
-  SPECPDL_UNWIND_VOID,\7f2947,93984
-  SPECPDL_BACKTRACE,\7f2948,94038
-  SPECPDL_LET,\7f2949,94096
-  SPECPDL_LET_LOCAL,\7f2951,94226
-  SPECPDL_LET_DEFAULT  \7f2952,94283
-union specbinding\7f2955,94355
-extern union specbinding *specpdl;\7fspecpdl\ 12991,95256
-extern union specbinding *specpdl_ptr;\7fspecpdl_ptr\ 12992,95291
-extern ptrdiff_t specpdl_size;\7f2993,95330
-SPECPDL_INDEX \7f2996,95379
-enum handlertype \7f3021,96401
-enum handlertype { CATCHER,\7f3021,96401
-enum handlertype { CATCHER, CONDITION_CASE \7f3021,96401
-struct handler\7f3023,96448
-#define PUSH_HANDLER(\7f3053,97437
-extern Lisp_Object memory_signal_data;\7f3075,98143
-extern char *stack_bottom;\7fstack_bottom\ 13079,98276
-extern void process_pending_signals \7f3097,99093
-extern bool volatile pending_signals;\7f3098,99137
-extern void process_quit_flag \7f3100,99176
-#define QUIT   \7f3101,99214
-#define QUITP \7f3112,99464
-extern Lisp_Object Vascii_downcase_table;\7f3114,99525
-extern Lisp_Object Vascii_canon_table;\7f3115,99567
-extern struct gcpro *gcprolist;\7fgcprolist\ 13130,100274
-struct gcpro\7f3132,100307
-#define GC_USE_GCPROS_AS_BEFORE        \7f3171,101288
-#define GC_MAKE_GCPROS_NOOPS   \7f3172,101323
-#define GC_MARK_STACK_CHECK_GCPROS     \7f3173,101355
-#define GC_USE_GCPROS_CHECK_ZOMBIES    \7f3174,101392
-#define GC_MARK_STACK \7f3177,101453
-#define BYTE_MARK_STACK \7f3181,101553
-#define GCPRO1(\7f3190,101824
-#define GCPRO2(\7f3191,101864
-#define GCPRO3(\7f3192,101930
-#define GCPRO4(\7f3194,102025
-#define GCPRO5(\7f3196,102145
-#define GCPRO6(\7f3198,102290
-#define GCPRO7(\7f3201,102465
-#define UNGCPRO \7f3202,102544
-#define GCPRO1(\7f3208,102644
-#define GCPRO2(\7f3212,102766
-#define GCPRO3(\7f3217,102958
-#define GCPRO4(\7f3223,103220
-#define GCPRO5(\7f3230,103551
-#define GCPRO6(\7f3238,103952
-#define GCPRO7(\7f3247,104422
-#define UNGCPRO \7f3257,104962
-extern int gcpro_level;\7f3261,105031
-#define GCPRO1(\7f3263,105056
-#define GCPRO2(\7f3269,105290
-#define GCPRO3(\7f3278,105708
-#define GCPRO4(\7f3289,106265
-#define GCPRO5(\7f3302,106963
-#define GCPRO6(\7f3317,107803
-#define GCPRO7(\7f3334,108784
-#define UNGCPRO        \7f3353,109907
-#define RETURN_UNGCPRO(\7f3363,110174
-void staticpro \7f3375,110447
-vcopy \7f3384,110648
-set_hash_key_slot \7f3393,110923
-set_hash_value_slot \7f3399,111062
-set_symbol_function \7f3408,111297
-set_symbol_plist \7f3414,111412
-set_symbol_next \7f3420,111515
-blv_found \7f3428,111688
-set_overlay_plist \7f3437,111871
-string_intervals \7f3445,112022
-set_string_intervals \7f3453,112144
-set_char_table_defalt \7f3462,112346
-set_char_table_purpose \7f3467,112458
-set_char_table_extras \7f3475,112627
-set_char_table_contents \7f3482,112836
-set_sub_char_table_contents \7f3489,113031
-extern Lisp_Object indirect_function \7f3495,113190
-extern Lisp_Object find_symbol_value \7f3496,113242
-enum Arith_Comparison \7f3497,113294
-  ARITH_EQUAL,\7f3498,113318
-  ARITH_NOTEQUAL,\7f3499,113333
-  ARITH_LESS,\7f3500,113351
-  ARITH_GRTR,\7f3501,113365
-  ARITH_LESS_OR_EQUAL,\7f3502,113379
-  ARITH_GRTR_OR_EQUAL\7f3503,113402
-extern Lisp_Object arithcompare \7f3505,113427
-#define INTEGER_TO_CONS(\7f3511,113753
-#define CONS_TO_INTEGER(\7f3529,114616
-extern intmax_t cons_to_signed \7f3533,114831
-extern uintmax_t cons_to_unsigned \7f3534,114897
-extern struct Lisp_Symbol *indirect_variable \7findirect_variable\ 13536,114958
-extern _Noreturn void args_out_of_range \7f3537,115027
-extern _Noreturn void args_out_of_range_3 \7f3538,115095
-extern Lisp_Object do_symval_forwarding \7f3540,115186
-extern void set_internal \7f3541,115246
-extern void syms_of_data \7f3542,115318
-extern void swap_in_global_binding \7f3543,115351
-extern void syms_of_cmds \7f3546,115435
-extern void keys_of_cmds \7f3547,115468
-extern Lisp_Object detect_coding_system \7f3550,115530
-extern void init_coding \7f3552,115683
-extern void init_coding_once \7f3553,115715
-extern void syms_of_coding \7f3554,115752
-extern ptrdiff_t chars_in_text \7f3557,115819
-extern ptrdiff_t multibyte_chars_in_text \7f3558,115886
-extern void syms_of_character \7f3559,115963
-extern void init_charset \7f3562,116031
-extern void init_charset_once \7f3563,116064
-extern void syms_of_charset \7f3564,116102
-extern void init_syntax_once \7f3569,116222
-extern void syms_of_syntax \7f3570,116259
-enum { NEXT_ALMOST_PRIME_LIMIT \7f3573,116320
-extern EMACS_INT next_almost_prime \7f3574,116359
-enum constype \7f3739,123811
-enum constype {CONSTYPE_HEAP,\7fCONSTYPE_HEAP\ 13739,123811
-enum constype {CONSTYPE_HEAP, CONSTYPE_PURE}\7fCONSTYPE_PURE\ 13739,123811
-extern Lisp_Object listn \7f3740,123857
-list2i \7f3745,124001
-list3i \7f3751,124110
-list4i \7f3757,124249
-extern Lisp_Object make_uninit_bool_vector \7f3763,124401
-extern Lisp_Object bool_vector_fill \7f3764,124457
-extern _Noreturn void string_overflow \7f3765,124521
-extern Lisp_Object make_string \7f3766,124567
-extern Lisp_Object make_formatted_string \7f3767,124625
-extern Lisp_Object make_multibyte_string \7f3779,124979
-extern Lisp_Object make_event_array \7f3780,125058
-extern Lisp_Object make_uninit_string \7f3781,125122
-extern Lisp_Object make_uninit_multibyte_string \7f3782,125173
-extern Lisp_Object make_string_from_bytes \7f3783,125245
-extern Lisp_Object make_specified_string \7f3784,125325
-extern Lisp_Object make_pure_string \7f3786,125417
-extern Lisp_Object make_pure_c_string \7f3787,125497
-build_pure_c_string \7f3792,125653
-build_string \7f3801,125858
-extern Lisp_Object pure_cons \7f3806,125936
-extern void make_byte_code \7f3807,125993
-extern struct Lisp_Vector *allocate_vector \7fallocate_vector\ 13808,126044
-make_uninit_vector \7f3820,126429
-make_uninit_sub_char_table \7f3833,126648
-extern struct Lisp_Vector *allocate_pseudovector \7fallocate_pseudovector\ 13844,126957
-#define ALLOCATE_PSEUDOVECTOR(\7f3850,127192
-#define ALLOCATE_ZEROED_PSEUDOVECTOR(\7f3858,127528
-extern bool gc_in_progress;\7f3863,127729
-extern bool abort_on_gc;\7f3864,127757
-extern Lisp_Object make_float \7f3865,127782
-extern void display_malloc_warning \7f3866,127822
-extern ptrdiff_t inhibit_garbage_collection \7f3867,127865
-extern Lisp_Object make_save_int_int_int \7f3868,127917
-extern Lisp_Object make_save_obj_obj_obj_obj \7f3869,127993
-extern Lisp_Object make_save_ptr \7f3871,128103
-extern Lisp_Object make_save_ptr_int \7f3872,128146
-extern Lisp_Object make_save_ptr_ptr \7f3873,128204
-extern Lisp_Object make_save_funcptr_ptr_obj \7f3874,128259
-extern Lisp_Object make_save_memory \7f3876,128355
-extern void free_save_value \7f3877,128419
-extern Lisp_Object build_overlay \7f3878,128462
-extern void free_marker \7f3879,128536
-extern void free_cons \7f3880,128575
-extern void init_alloc_once \7f3881,128619
-extern void init_alloc \7f3882,128655
-extern void syms_of_alloc \7f3883,128686
-extern struct buffer * allocate_buffer \7f3884,128720
-extern int valid_lisp_object_p \7f3885,128767
-extern int relocatable_string_data_p \7f3886,128813
-extern void check_cons_list \7f3888,128892
-INLINE void \7f3890,128934
-extern void *r_alloc \7fr_alloc\ 13895,129055
-#define FLOAT_TO_STRING_BUFSIZE \7f3927,130518
-extern int openp \7f3957,131667
-extern Lisp_Object string_to_number \7f3959,131777
-extern void map_obarray \7f3960,131840
-extern void dir_warning \7f3962,131954
-extern void init_obarray \7f3963,132007
-extern void init_lread \7f3964,132040
-extern void syms_of_lread \7f3965,132071
-intern \7f3968,132125
-intern_c_string \7f3974,132213
-extern EMACS_INT lisp_eval_depth;\7f3980,132326
-extern Lisp_Object Vautoload_queue;\7f3981,132360
-extern Lisp_Object Vrun_hooks;\7f3982,132396
-extern Lisp_Object Vsignaling_function;\7f3983,132427
-extern Lisp_Object inhibit_lisp_code;\7f3984,132467
-extern struct handler *handlerlist;\7fhandlerlist\ 13985,132505
-extern void run_hook \7f3994,132747
-extern void run_hook_with_args_2 \7f3995,132783
-extern Lisp_Object run_hook_with_args \7f3996,132857
-extern _Noreturn void xsignal \7f3999,133016
-extern _Noreturn void xsignal0 \7f4000,133074
-extern _Noreturn void xsignal1 \7f4001,133120
-extern _Noreturn void xsignal2 \7f4002,133179
-extern _Noreturn void xsignal3 \7f4003,133251
-extern _Noreturn void signal_error \7f4005,133340
-extern Lisp_Object eval_sub \7f4006,133404
-extern Lisp_Object apply1 \7f4007,133452
-extern Lisp_Object call0 \7f4008,133506
-extern Lisp_Object call1 \7f4009,133546
-extern Lisp_Object call2 \7f4010,133599
-extern Lisp_Object call3 \7f4011,133665
-extern Lisp_Object call4 \7f4012,133744
-extern Lisp_Object call5 \7f4013,133836
-extern Lisp_Object call6 \7f4014,133941
-extern Lisp_Object call7 \7f4015,134059
-extern Lisp_Object internal_catch \7f4016,134190
-extern Lisp_Object internal_lisp_condition_case \7f4017,134283
-extern Lisp_Object internal_condition_case \7f4018,134372
-extern Lisp_Object internal_condition_case_1 \7f4019,134485
-extern Lisp_Object internal_condition_case_2 \7f4020,134620
-extern Lisp_Object internal_condition_case_n\7f4021,134781
-extern void specbind \7f4024,134977
-extern void record_unwind_protect \7f4025,135026
-extern void record_unwind_protect_ptr \7f4026,135099
-extern void record_unwind_protect_int \7f4027,135166
-extern void record_unwind_protect_void \7f4028,135227
-extern void record_unwind_protect_nothing \7f4029,135285
-extern void clear_unwind_protect \7f4030,135335
-extern void set_unwind_protect \7f4031,135381
-extern void set_unwind_protect_ptr \7f4032,135462
-extern Lisp_Object unbind_to \7f4033,135537
-extern _Noreturn void error \7f4034,135592
-fast_string_match_ignore_case \7f4136,140080
-extern ptrdiff_t fast_c_string_match_ignore_case \7f4141,140230
-extern ptrdiff_t fast_looking_at \7f4143,140327
-extern ptrdiff_t find_newline \7f4145,140466
-extern ptrdiff_t scan_newline \7f4147,140595
-extern ptrdiff_t scan_newline_from_point \7f4149,140698
-extern ptrdiff_t find_newline_no_quit \7f4150,140778
-extern ptrdiff_t find_before_next_newline \7f4152,140875
-extern void syms_of_search \7f4154,140973
-extern void clear_regexp_cache \7f4155,141008
-extern Lisp_Object Vminibuffer_list;\7f4159,141078
-extern Lisp_Object last_minibuf_string;\7f4160,141115
-extern Lisp_Object get_minibuffer \7f4161,141155
-extern void init_minibuf_once \7f4162,141202
-extern void syms_of_minibuf \7f4163,141240
-extern void syms_of_callint \7f4167,141307
-extern void syms_of_casefiddle \7f4171,141377
-extern void keys_of_casefiddle \7f4172,141416
-extern void init_casetab_once \7f4176,141486
-extern void syms_of_casetab \7f4177,141524
-extern Lisp_Object echo_message_buffer;\7f4181,141592
-extern struct kboard *echo_kboard;\7fecho_kboard\ 14182,141632
-extern void cancel_echoing \7f4183,141667
-extern Lisp_Object last_undo_boundary;\7f4184,141702
-extern bool input_pending;\7f4185,141741
-extern sigjmp_buf return_to_command_loop;\7f4187,141804
-extern Lisp_Object menu_bar_items \7f4189,141853
-extern Lisp_Object tool_bar_items \7f4190,141902
-extern void discard_mouse_events \7f4191,141958
-void handle_input_available_signal \7f4193,142019
-extern Lisp_Object pending_funcalls;\7f4195,142068
-extern bool detect_input_pending \7f4196,142105
-extern bool detect_input_pending_ignore_squeezables \7f4197,142146
-extern bool detect_input_pending_run_timers \7f4198,142206
-extern void safe_run_hooks \7f4199,142258
-extern void cmd_error_internal \7f4200,142300
-extern Lisp_Object command_loop_1 \7f4201,142360
-extern Lisp_Object read_menu_command \7f4202,142402
-extern Lisp_Object recursive_edit_1 \7f4203,142447
-extern void record_auto_save \7f4204,142491
-extern void force_auto_save_soon \7f4205,142528
-extern void init_keyboard \7f4206,142569
-extern void syms_of_keyboard \7f4207,142603
-extern void keys_of_keyboard \7f4208,142640
-extern ptrdiff_t current_column \7f4211,142706
-extern void invalidate_current_column \7f4212,142746
-extern bool indented_beyond_p \7f4213,142792
-extern void syms_of_indent \7f4214,142857
-extern void store_frame_param \7f4217,142920
-extern void store_in_alist \7f4218,142994
-extern Lisp_Object do_switch_frame \7f4219,143064
-extern Lisp_Object get_frame_param \7f4220,143137
-extern void frames_discard_buffer \7f4221,143203
-extern void syms_of_frame \7f4222,143252
-extern char **initial_argv;\7finitial_argv\ 14225,143314
-extern int initial_argc;\7f4226,143342
-extern bool display_arg;\7f4228,143417
-extern Lisp_Object decode_env_path \7f4230,143449
-extern Lisp_Object empty_unibyte_string,\7f4231,143520
-extern Lisp_Object empty_unibyte_string, empty_multibyte_string;\7f4231,143520
-extern _Noreturn void terminate_due_to_signal \7f4232,143585
-extern Lisp_Object Vlibrary_cache;\7f4234,143660
-void fixup_locale \7f4237,143721
-void synchronize_system_messages_locale \7f4238,143747
-void synchronize_system_time_locale \7f4239,143795
-INLINE void fixup_locale \7f4241,143845
-INLINE void synchronize_system_messages_locale \7f4242,143880
-INLINE void synchronize_system_time_locale \7f4243,143937
-extern void shut_down_emacs \7f4245,143997
-extern bool noninteractive;\7f4248,144123
-extern bool no_site_lisp;\7f4251,144215
-extern int daemon_pipe[\7fdaemon_pipe\ 14256,144383
-#define IS_DAEMON \7f4257,144410
-#define DAEMON_RUNNING \7f4258,144450
-extern void *w32_daemon_event;\7fw32_daemon_event\ 14260,144518
-#define IS_DAEMON \7f4261,144549
-#define DAEMON_RUNNING \7f4262,144594
-extern bool fatal_error_in_progress;\7f4266,144715
-extern bool inhibit_window_system;\7f4269,144821
-extern bool running_asynch_code;\7f4271,144914
-extern void kill_buffer_processes \7f4274,144977
-extern int wait_reading_process_output \7f4275,145026
-# define WAIT_READING_MAX \7f4281,145413
-# define WAIT_READING_MAX \7f4283,145485
-extern void add_timer_wait_descriptor \7f4286,145549
-extern void add_keyboard_wait_descriptor \7f4288,145601
-extern void delete_keyboard_wait_descriptor \7f4289,145649
-extern void add_gpm_wait_descriptor \7f4291,145716
-extern void delete_gpm_wait_descriptor \7f4292,145759
-extern void init_process_emacs \7f4294,145812
-extern void syms_of_process \7f4295,145851
-extern void setup_process_coding_systems \7f4296,145887
-extern int child_setup \7f4302,146007
-extern void init_callproc_1 \7f4303,146075
-extern void init_callproc \7f4304,146111
-extern void set_initial_environment \7f4305,146145
-extern void syms_of_callproc \7f4306,146189
-extern Lisp_Object read_doc_string \7f4309,146252
-extern Lisp_Object get_doc_string \7f4310,146302
-extern void syms_of_doc \7f4311,146363
-extern int read_bytecode_char \7f4312,146395
-extern void syms_of_bytecode \7f4315,146464
-extern struct byte_stack *byte_stack_list;\7fbyte_stack_list\ 14316,146501
-extern void mark_byte_stack \7f4318,146564
-extern void unmark_byte_stack \7f4320,146607
-extern Lisp_Object exec_byte_code \7f4321,146645
-extern void init_macros \7f4325,146795
-extern void syms_of_macros \7f4326,146827
-extern void truncate_undo_list \7f4329,146889
-extern void record_insert \7f4330,146939
-extern void record_delete \7f4331,146989
-extern void record_first_change \7f4332,147047
-extern void record_change \7f4333,147087
-extern void record_property_change \7f4334,147137
-extern void syms_of_undo \7f4337,147279
-extern void report_interval_modification \7f4340,147343
-extern void syms_of_menu \7f4343,147439
-extern void syms_of_xmenu \7f4346,147500
-extern char *get_current_dir_name \7fget_current_dir_name\ 14356,147702
-extern void stuff_char \7f4358,147751
-extern void init_foreground_group \7f4359,147784
-extern void sys_subshell \7f4360,147826
-extern void sys_suspend \7f4361,147859
-extern void discard_tty_input \7f4362,147891
-extern void init_sys_modes \7f4363,147929
-extern void reset_sys_modes \7f4364,147985
-extern void init_all_sys_modes \7f4365,148042
-extern void reset_all_sys_modes \7f4366,148081
-extern void child_setup_tty \7f4367,148121
-extern void setup_pty \7f4368,148156
-extern int set_window_size \7f4369,148185
-extern EMACS_INT get_random \7f4370,148229
-extern void seed_random \7f4371,148265
-extern void init_random \7f4372,148310
-extern void emacs_backtrace \7f4373,148342
-extern _Noreturn void emacs_abort \7f4374,148377
-extern void xputenv \7f4527,152691
-extern char *egetenv_internal \7fegetenv_internal\ 14529,152728
-egetenv \7f4532,152800
-extern void init_system_name \7f4539,153003
-#define eabs(\7f4545,153296
-#define make_fixnum_or_float(\7f4550,153429
-enum MAX_ALLOCA \7f4556,153680
-enum MAX_ALLOCA { MAX_ALLOCA \7f4556,153680
-extern void *record_xmalloc \7frecord_xmalloc\ 14558,153725
-#define USE_SAFE_ALLOCA        \7f4560,153791
-#define AVAIL_ALLOCA(\7f4564,153924
-#define SAFE_ALLOCA(\7f4568,154035
-#define SAFE_NALLOCA(\7f4576,154376
-#define SAFE_ALLOCA_STRING(\7f4590,154852
-#define SAFE_FREE(\7f4598,155104
-#define SAFE_ALLOCA_LISP(\7f4625,155682
-# define USE_STACK_LISP_OBJECTS \7f4652,156804
-# undef USE_STACK_LISP_OBJECTS\7f4658,156970
-# define USE_STACK_LISP_OBJECTS \7f4659,157001
-enum { defined_GC_CHECK_STRING_BYTES \7f4663,157076
-enum { defined_GC_CHECK_STRING_BYTES \7f4665,157129
-union Aligned_Cons\7f4670,157263
-union Aligned_String\7f4676,157343
-    USE_STACK_CONS \7f4689,157698
-    USE_STACK_STRING \7f4691,157804
-#define STACK_CONS(\7f4699,158141
-#define AUTO_CONS_EXPR(\7f4701,158238
-#define AUTO_CONS(\7f4709,158601
-#define AUTO_LIST1(\7f4710,158672
-#define AUTO_LIST2(\7f4712,158780
-#define AUTO_LIST3(\7f4716,158935
-#define AUTO_LIST4(\7f4720,159110
-extern const char *verify_ascii \7fverify_ascii\ 14730,159447
-# define verify_ascii(\7f4732,159501
-#define AUTO_STRING(\7f4740,159809
-#define FOR_EACH_TAIL(\7f4752,160273
-#define FOR_EACH_ALIST_VALUE(\7f4766,160764
-maybe_gc \7f4774,161051
-functionp \7f4784,161290
-\f
-c-src/machsyscalls.c,23
-#define        SYSCALL(\7f6,113
-\f
-c-src/machsyscalls.h,159
-SYSCALL (mach_msg_trap,\7f1,0
-SYSCALL (mach_reply_port,\7f13,314
-SYSCALL (mach_thread_self,\7f18,377
-SYSCALL (mach_task_self,\7f23,441
-SYSCALL (mach_host_self,\7f28,503
-\f
-c-src/fail.c,30
-void (*prt_call(\7fprt_call\ 11,0
-\f
-c-src/h.h,1962
-   ELEM_I/\7fELEM_I\ 13,15
-} Fails_t;\7f5,85
-typedef void Lang_function \7f6,96
-void Asm_labels \7f7,127
-typedef struct tpcmd\7f8,147
-#define ggg \7f10,170
-tpcmd;\7f15,209
-typedef struct foobar2_ \7f16,216
-} foobar2;\7f20,307
-    DEVICE_SWP,\7f23,333
-    DEVICE_LAST\7f24,349
-} bsp_DevId;\7f25,365
-  struct constant_args \7f27,394
-} args;\7f30,457
-typedef int *regset;\7fregset\ 131,465
-typedef int INT;\7f32,486
-typedef union abc\7f33,503
-} ghi1;\7f36,534
-typedef union abc \7f37,542
-} ghi2;\7f39,573
-typedef struct a \7f40,581
-} b;\7f41,600
-#define c(\7f42,605
-typedef struct an_extern_linkage *an_extern_linkage_ptr;\7fan_extern_linkage_ptr\ 143,619
-typedef struct an_extern_linkage \7f44,676
-} an_extern_linkage;\7f56,1054
-typedef struct pollfd   pfdset[\7fpfdset\ 157,1075
-typedef union rtunion_def\7f58,1119
-  } womboid \7f63,1206
-typedef union rtunion_def\7f64,1220
-womboid\7f75,1330
-enum {dog,\7fdog\ 181,1416
-enum {dog, cat}\7fcat\ 181,1416
-enum {dog, cat} animals;\7f81,1416
-typedef void (_CALLBACK_ *signal_handler)\7fsignal_handler\ 182,1441
-typedef void (_CALLBACK_ *signal_handler1)\7fsignal_handler1\ 183,1489
-/* comment */ #define ANSIC\7f84,1538
- #define ANSIC\7f85,1566
-typedef void (proc)\7f87,1588
-typedef void OperatorFun(\7f88,1612
-typedef int f(\7f89,1648
-struct my_struct \7f91,1691
-typedef struct my_struct my_typedef;\7f93,1713
-typedef RETSIGTYPE (*signal_handler_t)\7fsignal_handler_t\ 194,1750
-  Date 04 May 87 235311 PDT \7f96,1802
-typedef unsigned char unchar;\7f99,1880
-typedef int X,\7f100,1910
-typedef int X, Y,\7f100,1910
-typedef int X, Y, Z;\7f100,1910
-typedef mio mao;\7f101,1931
-extern void ab(\7f102,1948
-typedef struct a \7f103,1966
-typedef struct a { } b;\7f103,1966
-typedef struct b\7f104,1990
-} c;\7f106,2009
-int    (*oldhup)\7foldhup\ 1107,2014
-request (*oldhup)\7foldhup\ 1108,2031
-int extvar;\7f109,2053
-#define tag1\7f110,2065
-#define aaaaaa \7f111,2078
-#define bbbbbb\\7fbbbbbb\ 1113,2102
-#define cccccccccc\7f115,2125
-#define enter_critical_section \7f116,2144
-#define exit_critical_to_previous      \7f117,2199
-#define UNDEFINED\7f118,2259
-struct re_pattern_buffer \7f119,2277
-\f
-cp-src/c.C,2378
-template <typename ipc3dIslandHierarchy,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels, typename ipc3dLinkControl,\7f1,0
-class CMultiChannelCSC19_3D\7f2,151
-        void execute(\7f11,493
-static void my_function1(\7f24,984
-int main \7f25,1026
-double base \7f26,1088
-operator += \7foperator +=\ 129,1174
-class TestRecord;\7f31,1233
-typedef struct s1 \7f32,1251
-} t1;\7f34,1287
-struct s2 \7f35,1293
-typedef struct s2 t2;\7f38,1324
-class A \7f39,1346
-  enum { rosso,\7f40,1356
-  enum { rosso, giallo,\7f40,1356
-  enum { rosso, giallo, verde \7f40,1356
-  const A& operator+(\7f41,1396
-const A& A::operator+(\7foperator+\ 143,1431
-void operator+(\7f44,1467
-void operator -(\7foperator -\ 145,1495
-void operator int(\7foperator int\ 146,1524
-A<int>* f(\7f48,1556
-int f(\7f49,1571
-int A<int>::f(\7ff\ 150,1590
-A<float,B<int> > A<B<float>,int>::f(\7ff\ 151,1618
-template <class C, int n> class AT \7f52,1668
-class AU \7f53,1716
-class B<\7fB\ 154,1735
-class B<int> { void f(\7f54,1735
-const A::B::T& abt \7f55,1766
-class A \7f56,1792
-class A { class B \7f56,1792
-class A { class B { int f(\7f56,1792
-class A \7f57,1827
-  int get_data(\7f58,1837
-  A operator+(\7f59,1861
-is_muldiv_operation(\7f61,1888
-domain foo \7f68,1956
-     void f(\7f69,1969
-void A::A(\7fA\ 172,1990
-struct A \7f73,2005
-struct A { A(\7f73,2005
-struct B \7f74,2023
-struct B { B(\7f74,2023
-void B::B(\7fB\ 175,2042
-void BE_Node::BE_Node(\7fBE_Node\ 176,2057
-class BE_Node \7f77,2084
-struct foo \7f79,2103
-class test \7f86,2157
-  int f(\7f87,2170
-  int ff(\7f89,2232
-  int g(\7f90,2255
-class  AST_Root \7f92,2279
-class  AST_Root;\7f96,2328
-AST_ConcreteType::AST_ConcreteType(\7f99,2394
-AST_Array::AST_Array(\7f107,2533
-     void f(\7f115,2734
-struct A \7f117,2754
-    ~A(\7f118,2765
-A::~A(\7f~A\ 1120,2778
-struct B \7f122,2790
-    ~B(\7f123,2801
-enum {dog,\7fdog\ 1126,2818
-enum {dog, cat}\7fcat\ 1126,2818
-enum {dog, cat} animals;\7f126,2818
-struct {int teats;} cow;\7f127,2843
-class Boo \7f129,2869
-    enum {dog,\7fdog\ 1130,2881
-    enum {dog, cat}\7fcat\ 1130,2881
-    foo(\7f133,2955
-    Boo(\7f137,2996
-    Boo(\7f138,3053
-Boo::Boo(\7f141,3071
-typedef int should_see_this_one_enclosed_in_extern_C;\7f149,3156
-typedef int (*should_see_this_function_pointer)\7fshould_see_this_function_pointer\ 1153,3229
-typedef int should_see_this_array_type[\7fshould_see_this_array_type\ 1156,3311
-\f
-cp-src/x.cc,102
-class XX\7f1,0
-     int foo(\7f4,19
-     void bar(\7f5,35
-XX::foo(\7ffoo\ 19,60
-XX::bar(\7fbar\ 115,95
-main(\7f21,126
-\f
-cp-src/burton.cpp,124
-::dummy::dummy test::dummy1(\7fdummy1\ 11,0
-::dummy::dummy test::dummy2(\7fdummy2\ 16,64
-::dummy::dummy test::dummy3(\7fdummy3\ 111,143
-\f
-cp-src/functions.cpp,778
-void Date::setDate \7fsetDate\ 15,148
-void Date::plus \7fplus\ 132,938
-void Date::minus \7fminus\ 142,1226
-void Date::shift \7fshift\ 152,1404
-Date & Date::operator = \7foperator =\ 162,1625
-Date & Date::operator += \7foperator +=\ 169,1786
-Date & Date::operator -= \7foperator -=\ 178,1935
-Date & Date::operator ++ \7foperator ++\ 187,2076
-Date & Date::operator -- \7foperator --\ 196,2212
-int Date::operator - \7foperator -\ 1104,2327
-int Date::operator < \7foperator <\ 1112,2479
-int Date::operator > \7foperator >\ 1116,2553
-int Date::operator == \7foperator ==\ 1120,2627
-ostream& operator << \7foperator <<\ 1124,2703
-istream& operator >> \7foperator >>\ 1133,2939
-bool isLeap \7f159,3539
-bool isHoliday \7f163,3625
-void asort(\7f173,3861
-void ReadVacation \7f186,4060
-void Debug \7f201,4519
-int WorkingDays(\7f211,4863
-Date StartDay(\7f226,5125
-\f
-cp-src/MDiagArray2.h,1194
-#define octave_MDiagArray2_h \7f29,870
-#undef LTGT\7f35,967
-#define LTGT\7f39,1031
-#define LTGT \7f42,1051
-class MDiagArray2;\7f45,1087
-operator += \7foperator +=\ 148,1145
-operator -= \7foperator -=\ 151,1242
-operator * \7foperator *\ 154,1339
-operator / \7foperator /\ 157,1428
-operator * \7foperator *\ 160,1517
-operator + \7foperator +\ 163,1605
-operator - \7foperator -\ 166,1707
-product \7f69,1808
-operator - \7foperator -\ 172,1907
-class MDiagArray2 \7f78,2022
-  MDiagArray2 \7f82,2077
-  MDiagArray2 \7f86,2154
-  MDiagArray2 \7f87,2198
-  MDiagArray2 \7f88,2254
-  MDiagArray2 \7f89,2329
-  MDiagArray2 \7f90,2387
-  MDiagArray2 \7f91,2450
-  ~MDiagArray2 \7f93,2515
-  MDiagArray2<T>& operator = \7foperator =\ 195,2542
-      DiagArray2<T>::operator = \7foperator =\ 197,2603
-  operator MArray2<T> \7foperator MArray2<T>\ 1101,2667
-  operator += \7foperator +=\ 1116,2966
-  operator -= \7foperator -=\ 1119,3057
-  friend MDiagArray2<T> operator * \7foperator *\ 1123,3174
-  friend MDiagArray2<T> operator / \7foperator /\ 1124,3253
-  friend MDiagArray2<T> operator * \7foperator *\ 1128,3384
-  operator + \7foperator +\ 1133,3544
-  operator - \7foperator -\ 1136,3640
-  friend MDiagArray2<T> operator - \7foperator -\ 1141,3803
-#undef LTGT\7f144,3874
-#define INSTANTIATE_MDIAGARRAY_FRIENDS(\7f146,3887
-\f
-cp-src/Range.h,678
-#define octave_Range_h \7f24,765
-class istream;\7f30,840
-class ostream;\7f31,855
-class Matrix;\7f32,870
-Range\7f35,891
-  Range \7f39,909
-  Range \7f42,995
-  Range \7f46,1130
-  Range \7f50,1248
-  double base \7f54,1376
-  double limit \7f55,1425
-  double inc \7f56,1475
-  int nelem \7f57,1523
-  bool all_elements_are_ints \7f59,1571
-  Matrix matrix_value \7f61,1615
-  double min \7f63,1652
-  double max \7f64,1679
-  void sort \7f66,1707
-  void set_base \7f68,1728
-  void set_limit \7f69,1774
-  void set_inc \7f70,1821
-  friend ostream& operator << \7foperator <<\ 172,1867
-  friend istream& operator >> \7foperator >>\ 173,1928
-  void print_range \7f75,1984
-  int nelem_internal \7f85,2099
-extern Range operator - \7foperator -\ 188,2138
-\f
-cp-src/screen.cpp,228
-unsigned char cursor_x,\7f15,548
-unsigned char cursor_x, cursor_y;\7f15,548
-static union REGS regs;\7f16,582
-void goto_xy(\7f18,607
-void hide_cursor(\7f27,774
-void cursor_position(\7f32,836
-void clear_screen(\7f41,997
-void write_xyc(\7f55,1247
-\f
-cp-src/screen.hpp,538
-#define __COLORS\7f9,401
-enum COLORS \7f11,419
-    BLACK,\7f12,433
-    BLUE,\7f13,471
-    GREEN,\7f14,481
-    CYAN,\7f15,492
-    RED,\7f16,502
-    MAGENTA,\7f17,511
-    BROWN,\7f18,524
-    LIGHTGRAY,\7f19,535
-    DARKGRAY,\7f20,550
-    LIGHTBLUE,\7f21,589
-    LIGHTGREEN,\7f22,604
-    LIGHTCYAN,\7f23,620
-    LIGHTRED,\7f24,635
-    LIGHTMAGENTA,\7f25,649
-    YELLOW,\7f26,667
-    WHITE\7f27,679
-#define SCREEN_FP(\7f31,700
-#define SCREEN_START \7f33,795
-void goto_xy(\7f35,835
-void hide_cursor(\7f36,883
-void cursor_position(\7f37,907
-void clear_screen(\7f38,935
-void write_xyc(\7f39,960
-\f
-cp-src/conway.cpp,288
-#define max(\7f12,357
-#define min(\7f13,393
-const int num_rows \7f15,430
-const int num_columns \7f16,470
-class site *field_of_play[\7ffield_of_play\ 118,499
-int site::total_surrounding(\7ftotal_surrounding\ 120,550
-void display(\7f37,958
-void glider(\7f50,1239
-void traffic_light(\7f59,1478
-void main(\7f67,1633
-\f
-cp-src/conway.hpp,215
-class site:\7fsite\ 15,235
-    int total_surrounding(\7f8,303
-    site(\7f10,344
-    ~site(\7f11,397
-    char read(\7f12,410
-    void set(\7f13,444
-    void clear(\7f14,478
-    void compute_next_state(\7f15,514
-    void step(\7f22,717
-\f
-cp-src/clheir.cpp,359
-const int max_num_generic_objects \7f9,298
-generic_object * object_registry[\7fobject_registry\ 110,340
-void init_registry(\7f12,400
-void step_everybody(\7f19,527
-void discrete_location::clear_neighbors(\7fclear_neighbors\ 131,852
-generic_object::generic_object(\7fgeneric_object\ 136,981
-generic_object::~generic_object(\7f~generic_object\ 148,1255
-void agent::move(\7fmove\ 153,1353
-\f
-cp-src/clheir.hpp,731
-extern void init_registry(\7f10,452
-extern void step_everybody(\7f11,485
-class generic_object\7f13,520
-    generic_object(\7f17,582
-    ~generic_object(\7f19,724
-    virtual void compute_next_state(\7f21,843
-    virtual void step(\7f22,889
-const int max_num_directions \7f31,1220
-class location:\7flocation\ 133,1290
-    location(\7f43,1643
-    ~location(\7f44,1662
-class irregular_location:\7firregular_location\ 147,1687
-    irregular_location(\7f51,1763
-    ~irregular_location(\7f53,1855
-class discrete_location:\7fdiscrete_location\ 156,1890
-    void clear_neighbors(\7f60,2005
-    discrete_location(\7f62,2045
-    ~discrete_location(\7f65,2155
-    void assign_neighbor(\7f66,2185
-class agent:\7fagent\ 175,2509
-    agent(\7f79,2579
-    ~agent(\7f80,2592
-    void move(\7f81,2606
-\f
-cp-src/fail.C,315
-struct A \7f7,263
-          struct B \7f8,274
-                  struct C \7f9,289
-                          C(\7f11,318
-                          operator int(\7foperator int\ 112,342
-                  typedef C T;\7f14,389
-          typedef B T2;\7f16,414
-class String;\7f20,437
-class A \7f23,453
-       class B \7f24,463
-               class C \7f25,474
-               int f(\7f26,488
-int A::B::f(\7ff\ 131,521
-main(\7f37,571
-       class D \7f41,622
-               D(\7f43,659
-\f
-el-src/TAGTEST.EL,181
-(foo::defmumble bletch \7f3,33
-(defun foo==bar \7ffoo==bar\ 14,66
-(defalias 'pending-delete-mode \7fpending-delete-mode\ 18,182
-(defalias (quote explicitly-quoted-pending-delete-mode)\7f11,255
-\f
-el-src/emacs/lisp/progmodes/etags.el,5188
-(defvar tags-file-name \7f34,1035
-(defgroup etags \7f43,1499
-(defcustom tags-case-fold-search \7f47,1567
-(defcustom tags-table-list \7f59,2052
-(defcustom tags-compression-info-list\7f69,2450
-(defcustom tags-add-tables \7f88,3232
-(defcustom tags-revert-without-query \7f98,3628
-(defvar tags-table-computed-list \7f103,3779
-(defvar tags-table-computed-list-for \7f112,4263
-(defvar tags-table-list-pointer \7f117,4511
-(defvar tags-table-list-started-at \7f121,4702
-(defvar tags-table-set-list \7f124,4822
-(defcustom find-tag-hook \7f129,5001
-(defcustom find-tag-default-function \7f137,5264
-(define-obsolete-variable-alias 'find-tag-marker-ring-length\7ffind-tag-marker-ring-length\ 1145,5603
-(defcustom tags-tag-face \7f148,5700
-(defcustom tags-apropos-verbose \7f154,5835
-(defcustom tags-apropos-additional-actions \7f160,5999
-(defvaralias 'find-tag-marker-ring \7ffind-tag-marker-ring\ 1183,6921
-(defvar default-tags-table-function \7f189,7101
-(defvar tags-location-ring \7f194,7327
-(defvar tags-table-files \7f201,7603
-(defvar tags-completion-table \7f206,7770
-(defvar tags-included-tables \7f209,7862
-(defvar next-file-list \7f212,7957
-(defvar tags-table-format-functions \7f217,8063
-(defvar file-of-tag-function \7f224,8444
-(defvar tags-table-files-function \7f228,8638
-(defvar tags-completion-table-function \7f230,8749
-(defvar snarf-tag-function \7f232,8844
-(defvar goto-tag-location-function \7f236,9053
-(defvar find-tag-regexp-search-function \7f239,9226
-(defvar find-tag-regexp-tag-order \7f241,9347
-(defvar find-tag-regexp-next-line-after-failure-p \7f243,9456
-(defvar find-tag-search-function \7f245,9576
-(defvar find-tag-tag-order \7f247,9683
-(defvar find-tag-next-line-after-failure-p \7f249,9778
-(defvar list-tags-function \7f251,9884
-(defvar tags-apropos-function \7f253,9972
-(defvar tags-included-tables-function \7f255,10066
-(defvar verify-tags-table-function \7f257,10185
-(defun initialize-new-tags-table \7f260,10296
-(defun tags-table-mode \7f276,10984
-(defun visit-tags-table \7f285,11249
-(defun tags-table-check-computed-list \7f321,12787
-(defun tags-table-extend-computed-list \7f360,14658
-(defun tags-expand-table-name \7f400,16371
-(defun tags-table-list-member \7f409,16714
-(defun tags-verify-table \7f421,17186
-(defun tags-table-including \7f470,19306
-(defun tags-next-table \7f522,21350
-(defun visit-tags-table-buffer \7f543,22207
-(defun tags-reset-tags-tables \7f712,28517
-(defun file-of-tag \7f731,29174
-(defun tags-table-files \7f740,29524
-(defun tags-included-tables \7f749,29874
-(defun tags-completion-table \7f755,30120
-(defun tags-lazy-completion-table \7f783,31314
-(defun tags-completion-at-point-function \7f799,31949
-(defun find-tag-tag \7f818,32699
-(defvar last-tag \7f837,33372
-(defun find-tag-interactive \7f840,33431
-(defvar find-tag-history \7f852,33846
-(defvar etags-case-fold-search)\7f855,33911
-(defvar etags-syntax-table)\7f856,33943
-(defvar local-find-tag-hook)\7f857,33971
-(defun find-tag-noselect \7f860,34016
-(defun find-tag \7f932,37130
-(defun find-tag-other-window \7f959,38346
-(defun find-tag-other-frame \7f1000,40274
-(defun find-tag-regexp \7f1025,41448
-(defalias 'pop-tag-mark \7fpop-tag-mark\ 11049,42610
-(defvar tag-lines-already-matched \7f1052,42661
-(defun find-tag-in-order \7f1055,42768
-(defun tag-find-file-of-tag-noselect \7f1167,47114
-(defun tag-find-file-of-tag \7f1200,48960
-(defun etags-recognize-tags-table \7f1208,49186
-(defun etags-verify-tags-table \7f1241,50817
-(defun etags-file-of-tag \7f1246,51015
-(defun etags-tags-completion-table \7f1256,51350
-(defun etags-snarf-tag \7f1286,52556
-(defun etags-goto-tag-location \7f1324,54125
-(defun etags-list-tags \7f1388,56568
-(defmacro tags-with-face \7f1423,57843
-(defun etags-tags-apropos-additional \7f1431,58176
-(defun etags-tags-apropos \7f1465,59413
-(defun etags-tags-table-files \7f1527,61622
-(defun etags-tags-included-tables \7f1542,62058
-(defun tags-recognize-empty-tags-table \7f1559,62598
-(defun tag-exact-file-name-match-p \7f1587,63744
-(defun tag-file-name-match-p \7f1596,64137
-(defun tag-exact-match-p \7f1609,64693
-(defun tag-implicit-name-match-p \7f1620,65261
-(defun tag-symbol-match-p \7f1633,65861
-(defun tag-word-match-p \7f1643,66297
-(defun tag-partial-file-name-match-p \7f1652,66695
-(defun tag-any-match-p \7f1662,67139
-(defun tag-re-match-p \7f1667,67323
-(defcustom tags-loop-revert-buffers \7f1675,67572
-(defun next-file \7f1685,67981
-(defvar tags-loop-operate \7f1760,70895
-(defvar tags-loop-scan\7f1763,70989
-(defun tags-loop-eval \7f1771,71318
-(defun tags-loop-continue \7f1782,71647
-(defun tags-search \7f1850,73953
-(defun tags-query-replace \7f1871,74779
-(defun tags-complete-tags-table-file \7f1896,76003
-(defun list-tags \7f1906,76382
-(defun tags-apropos \7f1934,77335
-(define-button-type 'tags-select-tags-table\7ftags-select-tags-table\ 11957,78161
-(defun select-tags-table \7f1964,78400
-(defvar select-tags-table-mode-map \7f2019,80527
-(define-derived-mode select-tags-table-mode \7f2030,80910
-(defun select-tags-table-select \7f2034,81094
-(defun select-tags-table-quit \7f2043,81460
-(defun complete-tag \7f2049,81615
-(defconst etags--xref-limit \7f2074,82556
-(defvar etags-xref-find-definitions-tag-order \7f2076,82591
-(defun etags-xref-find \7f2082,82881
-(defun etags--xref-find-definitions \7f2096,83410
-(defclass xref-etags-location \7f2129,85124
-(defun xref-make-etags-location \7f2135,85347
-(cl-defmethod xref-location-marker \7f2139,85502
-(cl-defmethod xref-location-line \7f2146,85746
-\f
-erl-src/gs_dialog.erl,98
--define(VERSION\7f2,32
-behaviour_info(\7f51,2177
-show(\7f124,5458
-dialog_loop(\7f219,9529
-test(\7f252,10806
-\f
-f-src/entry.for,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-f-src/entry.strange_suffix,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-f-src/entry.strange,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-forth-src/test-forth.fth,733
-: a-forth-word\7f20,301
-99 constant a-forth-constant!\7f22,343
-55 value a-forth-value?\7f23,373
-create :a-forth-dictionary-entry\7f24,397
-defer #a-defer-word\7f27,460
-: (another-forth-word)\7f(another-forth-word)\ 129,481
-   9   field   >field1\7f36,582
-   5   field   >field2\7f37,605
-constant (a-forth-constant\7f(a-forth-constant\ 138,628
-2000 buffer: #some-storage\7f41,657
-code assemby-code-word\7f43,685
-: a-forth-word\7f50,870
-: (foo)\7f(foo)\ 155,988
-: foo\7f56,1000
-: create-bar\7f58,1015
-3 4 2constant 2const\7f61,1074
-2const 2value 2val\7f62,1095
-2variable 2var\7f63,1114
-3.1415e fconstant fconst\7f65,1130
-fconst fvalue fval\7f66,1155
-fvariable fvar\7f67,1174
-synonym mypi\7f69,1190
-BEGIN-STRUCTURE point\7f71,1211
-  1 CELLS +FIELD p.x\7f72,1262
-  1 CELLS +FIELD p.y\7f73,1318
-\f
-go-src/test.go,48
-package main\7f1,0
-func say(\7f5,28
-func main(\7f9,72
-\f
-go-src/test1.go,119
-package main\7f1,0
-func (s str) PrintAdd(\7f17,136
-func (n intNumber) PrintAdd(\7f21,189
-func test(\7f25,248
-func main(\7f29,285
-\f
-html-src/softwarelibero.html,200
-Cos'è il software libero?\7f4,38
-Licenze d'uso di un programma\7flicenze\ 165,2502
-Sfatiamo alcuni miti\7f138,6122
-Il movimento open source\7foss\ 1191,8041
-Impatto pratico del software libero\7fimpatto\ 1231,10070
-\f
-html-src/index.shtml,104
-&nbsp;\7f8,281
-In evidenza\7f15,447
-Comunicati e iniziative\7f32,976
-Ultime notizie dall'associazione\7f63,2030
-\f
-html-src/algrthms.html,467
-Tutorial on Convolutional Coding with Viterbi Decoding--Description of the Data Generation, Convolutional Encoding, Channel Mapping and AWGN, and Quantizing Algorithms\7f7,277
-Description\7falgorithms\ 110,481
-Generating the Data\7fgenalgorithm\ 148,1995
-Convolutionally\7fconalgorithm\ 155,2512
-Next\7fstatetable\ 1262,11587
-Output\7foutputtable\ 1350,13915
-Mapping the Channel Symbols\7fmapping\ 1433,16213
-Adding Noise to the\7faddnoise\ 1439,16607
-Quantizing the Received\7fquantizing\ 1469,19100
-\f
-html-src/software.html,439
-Francesco Potortì Software Page\7f9,280
-Software that I wrote for supporting my research activity\7fsimulation\ 136,1398
-MTG\7fmtg\ 141,1482
-Fracas\7ffracas\ 165,2624
-GaliLEO\7fgalileo\ 1101,4232
-Leasqr\7fleasqr\ 1114,4677
-Free software that I wrote for the GNU project or for my personal or work\7fgnu\ 1142,6066
-Etags\7fetags\ 1148,6181
-checkiso\7f161,6731
-cgrep\7f178,7549
-debian-bug.el\7fdebian-bug\ 1190,7981
-tcpdump\7f205,8566
-Links to interesting software\7flinks\ 1216,8893
-\f
-lua-src/allegro.lua,400
-local function get_layer_by_name \7f7,175
-local function count_layers \7f33,621
-function GetLayerByName \7f54,980
-function GetUniqueLayerName \7f65,1204
-function SelectLayer \7f76,1415
-function NewLayer \7f86,1773
-function NewLayerSet \7f144,3226
-function RemoveLayer \7f170,3750
-function MoveLayerTop \7f211,4767
-function MoveLayerBottom \7f223,5079
-function MoveLayerBefore \7f236,5457
-function MoveLayerAfter \7f258,6090
-\f
-lua-src/test.lua,442
-function Rectangle.getPos \7f2,15
-function Rectangle.getPos \7fgetPos\ 12,15
-function Circle.getPos \7f6,61
-function Circle.getPos \7fgetPos\ 16,61
-function Cube.data.getFoo \7f10,102
-function Cube.data.getFoo \7fgetFoo\ 110,102
-function Square.something:Bar \7f14,148
-function Square.something:Bar \7fBar\ 114,148
-   function test.me_22a(\7f22,241
-   function test.me_22a(\7fme_22a\ 122,241
-   local function test.me22b \7f25,297
-   local function test.me22b \7fme22b\ 125,297
-\f
-make-src/Makefile,2175
-LATEST=\7f1,0
-RELEASELIST=\7f2,10
-ADASRC=\7f4,104
-ASRC=\7f5,171
-CSRC=\7f6,197
-CPSRC=\7f10,423
-ELSRC=\7f13,614
-ERLSRC=\7f14,661
-FORTHSRC=\7f15,702
-FSRC=\7f16,726
-HTMLSRC=\7f17,776
-JAVASRC=\7f18,844
-LUASRC=\7f19,907
-MAKESRC=\7f20,926
-OBJCSRC=\7f21,943
-OBJCPPSRC=\7f22,999
-PASSRC=\7f23,1035
-PERLSRC=\7f24,1053
-PHPSRC=\7f25,1108
-PSSRC=\7f26,1156
-PROLSRC=\7f27,1173
-PYTSRC=\7f28,1210
-TEXSRC=\7f29,1227
-YSRC=\7f30,1282
-SRCS=\7f31,1325
-NONSRCS=\7f35,1577
-VHDLFLAGS=\7f37,1624
-COBOLFLAGS=\7f38,1827
-POSTSCRIPTFLAGS=\7f39,1889
-TCLFLAGS=\7f40,1943
-GETOPTOBJS=\7f42,2002
-RXINCLUDE=\7f43,2034
-REGEXOBJS=\7f44,2056
-CHECKOBJS=\7f46,2075
-CHECKFLAGS=\7f47,2105
-OBJS=\7f48,2145
-CPPFLAGS=\7f49,2190
-LDFLAGS=\7f50,2259
-WARNINGS=\7f51,2282
-CFLAGS=\7f52,2466
-FASTCFLAGS=\7f55,2530
-FASTCFLAGSWARN=\7f56,2591
-FILTER=\7f58,2641
-REGEX=\7f59,2695
-xx=\7f60,2741
-MAKE:\7fMAKE\ 162,2790
-RUN=\7f63,2825
-RUN=\7f64,2865
-OPTIONS=\7f65,2870
-ARGS=\7f66,2922
-infiles \7f68,2940
-quiettest:\7fquiettest\ 170,3002
-test:\7ftest\ 179,3409
-${CHECKOBJS}:\7f${CHECKOBJS}\ 188,3805
-checker:\7fchecker\ 190,3849
-standalone:\7fstandalone\ 196,4062
-prof:\7fprof\ 1101,4168
-fastetags:\7ffastetags\ 1104,4198
-fastctags:\7ffastctags\ 1108,4322
-staticetags:\7fstaticetags\ 1112,4446
-rsynctofly:\7frsynctofly\ 1116,4608
-rsyncfromfly:\7frsyncfromfly\ 1119,4698
-web ftp publish:\7fweb ftp publish\ 1122,4794
-release distrib:\7frelease distrib\ 1129,5115
-tags:\7ftags\ 1134,5255
-clean:\7fclean\ 1136,5267
-srclist:\7fsrclist\ 1139,5302
-regexfile:\7fregexfile\ 1143,5391
-/home/www/pub/etags.c.gz:\7f/home/www/pub/etags.c.gz\ 1149,5566
-/home/www/pub/software/unix/etags.tar.gz:\7f/home/www/pub/software/unix/etags.tar.gz\ 1156,5825
-regex.o:\7fregex.o\ 1159,6031
-getopt.o:\7fgetopt.o\ 1162,6086
-getopt1.o:\7fgetopt1.o\ 1165,6147
-etags:\7fetags\ 1168,6210
-ctags:\7fctags\ 1171,6299
-man manpage:\7fman manpage\ 1174,6396
-etags.1.man:\7fetags.1.man\ 1176,6422
-maintaining.info:\7fmaintaining.info\ 1179,6475
-TAGS:\7fTAGS\ 1182,6557
-%ediff:\7f%ediff\ 1185,6587
-oediff:\7foediff\ 1188,6677
-%cdiff:\7f%cdiff\ 1191,6764
-xdiff:\7fxdiff\ 1194,6854
-ETAGS:\7fETAGS\ 1197,6942
-ETAGS%:\7fETAGS%\ 1200,7012
-ETAGS13 ETAGS14 ETAGS15:\7fETAGS13 ETAGS14 ETAGS15\ 1203,7084
-ETAGS12:\7fETAGS12\ 1206,7216
-OTAGS:\7fOTAGS\ 1209,7304
-CTAGS:\7fCTAGS\ 1212,7369
-CTAGS%:\7fCTAGS%\ 1215,7443
-CTAGS13 CTAGS14 CTAGS15:\7fCTAGS13 CTAGS14 CTAGS15\ 1218,7545
-EXTAGS:\7fEXTAGS\ 1221,7680
-.PRECIOUS:\7f.PRECIOUS\ 1224,7838
-FRC:\7fFRC\ 1226,7894
-\f
-objc-src/Subprocess.h,98
-#define Subprocess \7f41,1217
-#define BUFFERSIZE \7f43,1267
-@interface Subprocess:\7fSubprocess\ 145,1292
-\f
-objc-src/Subprocess.m,476
-#define        PTY_TEMPLATE \7f20,494
-#define        PTY_LENGTH \7f21,528
-static void showError(\7f23,551
-@interface Subprocess(Private)\7f32,737
-- childDidExit\7f39,851
-- fdHandler:\7ffdHandler\ 167,1589
-showError \7f98,2360
-fdHandler \7f112,2785
-getptys \7f119,2907
-- init:\7finit\ 1183,4815
-    andStdErr:\7finit\ 1197,5147
-- send:(const char *)string withNewline:\7fsend\ 1300,7436
-- send:\7fsend\ 1308,7599
-- terminateInput\7f314,7689
-- terminate:\7fterminate\ 1321,7810
-- setDelegate:\7fsetDelegate\ 1332,7961
-- delegate\7f338,8031
-\f
-objc-src/PackInsp.h,109
-#define NUMSTATS       \7f36,1101
-#define TYPESTOSTAT    \7f37,1120
-@interface PackageInspector:\7fPackageInspector\ 139,1172
-\f
-objc-src/PackInsp.m,1322
-static const char RCSid[\7fRCSid\ 130,1032
-#define VERSION        \7f34,1116
-#   define DEBUG \7f37,1155
-#define LISTCONTENTS   \7f39,1181
-#define OPENBUTTON     \7f47,1352
-#define LISTCONTENTSBUTTON     \7f48,1449
-#define LISTDESCRIPTIONBUTTON  \7f49,1562
-#define STATE_UNINSTALLED      \7f52,1687
-#define STATE_INSTALLED        \7f53,1807
-#define STATE_COMPRESSD        \7f54,1948
-#define SIZEFORMAT     \7f57,2152
-#define KBYTES \7f58,2362
-#define MBYTES \7f59,2473
-#define LOCALIZE(\7f61,2585
-#define LOCALIZE_ARCH(\7f62,2668
-+new\7fnew\ 167,2802
--showInfo:\7fshowInfo\ 193,3417
--revert:\7frevert\ 1107,3737
--ok:\7fok\ 1136,4297
--load\7fload\ 1143,4424
-#define LOOKUP(\7f156,4826
-#undef LOOKUP\7f176,5694
--loadKeyValuesFrom:(const char *)type inTable:\7floadKeyValuesFrom\ 1186,5852
--loadContentsOf:(const char *)type inTable:\7floadContentsOf\ 1238,7079
--loadImage\7floadImage\ 1257,7552
-#define STAT_EQ(\7f275,7940
--(BOOL)shouldLoad\7f280,8116
--toggleDescription\7ftoggleDescription\ 1301,8626
--(const char *)getPath:(char *)buf forType:\7fgetPath\ 1317,8899
--setRevertButtonTitle\7fsetRevertButtonTitle\ 1333,9320
--(const char *)formatSize:(const char *)size inBuf:\7fformatSize\ 1344,9525
-#define WORKING        \7f368,10045
--(void)getArchs\7f370,10100
--(void)addArchs:\7faddArchs\ 1385,10520
--subprocess:(Subprocess *)sender output:\7fsubprocess\ 1428,11351
--subprocessDone:\7fsubprocessDone\ 1436,11484
-static void openInWorkspace(\7f446,11634
--open:\7fopen\ 1464,12063
-\f
-objcpp-src/SimpleCalc.H,41
-@interface SimpleCalc:\7fSimpleCalc\ 114,400
-\f
-objcpp-src/SimpleCalc.M,445
-- init\7f52,1747
-- appendToDisplay:\7fappendToDisplay\ 160,1933
-- registerAction:\7fregisterAction\ 170,2210
-- decimalKey:\7fdecimalKey\ 177,2348
-- numberKeys:\7fnumberKeys\ 191,2661
-- equalsKey:\7fequalsKey\ 1112,3192
-- operationKeys:\7foperationKeys\ 1131,3680
-- clearKey:\7fclearKey\ 1153,4301
-- clearAllKey:\7fclearAllKey\ 1160,4410
-- appDidInit:\7fappDidInit\ 1168,4591
-- windowWillClose:\7fwindowWillClose\ 1178,4882
-- infoPanel:\7finfoPanel\ 1186,5132
-- helpPanel:\7fhelpPanel\ 1198,5482
-\f
-pas-src/common.pas,1875
-procedure InitializeStringPackage;\7f26,527
-function newtextstring;\7f34,874
-procedure disposetextstring;\7f52,1404
-function ConcatT;\7f78,2066
-function AppendTextString;\7f112,3238
-function CopyTextString;\7f132,3947
-procedure CONVERT_CHARSTRING_TO_VALUE;\7f151,4505
-procedure append_string;\7f172,5166
-function To_Upper;\7f186,5462
-function To_Lower;\7f194,5617
-function EmptyNmStr(\7f209,6213
-function chartonmstr;\7f219,6436
-function LowerCaseNmStr;\7f230,6682
-function concatenatenamestrings;\7f242,7007
-procedure writenamestring;\7f263,7517
-function IsControlChar;\7f277,7928
-function namestringequal;\7f283,8079
-function NameStringLess;\7f302,8539
-function IsControlCharName(\7f343,9710
-function SubString;\7f358,10208
-function SkipChars;\7f379,10791
-function RemoveUnderlineControl;\7f397,11311
-procedure First100Chars;\7f427,12162
-procedure SkipSpaces;\7f462,13298
-function SkipBlanks;\7f477,13782
-function stripname;\7f505,14595
-function Locate;\7f522,15039
-function NameHasChar;\7f543,15581
-function integertonmstr;\7f561,16134
-function NmStrToInteger;\7f585,16901
-function AddNullToNmStr;\7f600,17317
-function ValToNmStr;\7f611,17585
-function ChangeFileType;\7f625,18037
-function StripPath;\7f647,18734
-function ReprOfChar;\7f675,19343
-procedure ExtractCommentInfo;\7f702,20749
-procedure INSERT_TREE_NODE;\7f784,24053
-function GetNameList;\7f920,27926
-procedure DisposeANameList(\7f925,28010
-procedure DisposeNameList;\7f938,28340
-function GetNewNameListNode;\7f943,28409
-function insertname;\7f972,29051
-procedure InitNameList;\7f988,29471
-procedure InitNameStringPool;\7f998,29767
-procedure NewNameString;\7f1004,29867
-procedure ReleaseNameString;\7f1022,30232
-procedure SDTrefStringToRec \7f1045,30741
-procedure SDTrefSkipSpaces;\7f1059,31092
-function SDTrefIsEnd \7f1070,31323
-function SDTrefGetInteger \7f1082,31529
-procedure SDTrefRecToString \7f1303,37546
-function NmStrToErrStr;\7f1497,42305
-function ErrStrToNmStr;\7f1509,42557
-function GetTextRef;\7f1529,43112
-\f
-php-src/lce_functions.php,2152
-  define("LCE_FUNCTIONS"\7fLCE_FUNCTIONS\ 14,38
-  define("LCE_UNKNOWN"\7fLCE_UNKNOWN\ 19,145
-  define("LCE_WS"\7fLCE_WS\ 111,194
-  define("LCE_COMMENT"\7fLCE_COMMENT\ 113,244
-  define("LCE_COMMENT_USER"\7fLCE_COMMENT_USER\ 115,303
-  define("LCE_COMMENT_TOOL"\7fLCE_COMMENT_TOOL\ 117,366
-  define("LCE_MSGID"\7fLCE_MSGID\ 119,430
-  define("LCE_MSGSTR"\7fLCE_MSGSTR\ 121,488
-  define("LCE_TEXT"\7fLCE_TEXT\ 123,541
-  define("STATE_ABORT"\7fSTATE_ABORT\ 125,567
-  define("STATE_OK"\7fSTATE_OK\ 126,595
-  define("STATE_LOOP"\7fSTATE_LOOP\ 127,620
-  class POEntryAD \7f29,648
-      function validate(\7f31,683
-      function checkQuotation(\7f59,1384
-  class CommentAD \7f70,1639
-      function CommentAD(\7f73,1693
-      function validate(\7f83,1944
-  class POEntry \7f105,2410
-      function POEntry(\7f119,2711
-      function lineCount(\7f135,3255
-      function serializeToVars(\7f141,3365
-      function write(\7f151,3800
-  class POReader \7f163,4178
-      function gettext(\7f177,4457
-      function parseFromVars(\7f189,4705
-      function serializeToVars(\7f215,5331
-      function POReader(\7f229,5613
-      function read(\7f243,5983
-      function write(\7f259,6307
-      function isComment(\7f277,6645
-      function comment(\7f284,6822
-      function msgid(\7f304,7247
-      function msgstr(\7f320,7574
-      function start(\7f340,8232
-      function createPOEntries(\7f360,8644
-      function stripLine(\7f394,9472
-      function printClassification(\7f421,10056
-      function classifyLine(\7f432,10301
-  function getTextDomains(\7f471,11094
-  class PORManager \7f498,11756
-      function PORManager(\7f502,11822
-      function addPOReader(\7f507,11896
-      function &getPOReader(\7fgetPOReader\ 1512,11992
-      function getDomainNames(\7f517,12081
-  function &loadPORManager(\7floadPORManager\ 1523,12174
-  function fileJoin(\7f536,12436
-      function lce_bindtextdomain(\7f557,12839
-      function lce_textdomain(\7f614,14530
-      function lce_gettext(\7f620,14641
-      function lce_dgettext(\7f626,14767
-      function lce(\7f634,14966
-      function lce_bindtextdomain(\7f651,15488
-      function lce_textdomain(\7f656,15592
-      function lce_gettext(\7f661,15674
-      function lce_dgettext(\7f666,15755
-      function lce(\7f670,15855
-  function lce_geteditcode(\7f676,15898
-\f
-php-src/ptest.php,46
-define("TEST"\7fTEST\ 11,0
-test \7f4,26
-foo(\7f16,200
-\f
-perl-src/htlmify-cystic,1197
-my @section_name;\7fsection_name\ 112,236
-my @appendix_name;\7fappendix_name\ 113,254
-my @section_toc;\7fsection_toc\ 115,274
-my @appendix_toc;\7fappendix_toc\ 116,291
-my $new_tag \7fnew_tag\ 118,310
-my $appendix;\7fappendix\ 124,409
-my $section;\7fsection\ 125,423
-my $subsection;\7fsubsection\ 126,436
-my $subsubsection;\7fsubsubsection\ 127,452
-my $this_file_toc \7fthis_file_toc\ 129,472
-my %file_tocs;\7ffile_tocs\ 130,496
-my @output_files \7foutput_files\ 132,512
-my $file_index \7ffile_index\ 133,535
-my $output_file;\7foutput_file\ 135,556
-my $line;\7fline\ 137,574
-my $subsection_marker;\7fsubsection_marker\ 1161,3883
-my $new;\7fnew\ 1163,3907
-sub read_toc \7f165,3917
-         my $entry \7fentry\ 1218,5621
-         my $entry \7fentry\ 1234,6077
-             my $entry \7fentry\ 1245,6351
-         my $entry \7fentry\ 1252,6536
-         my $entry \7fentry\ 1268,7010
-             my $entry \7fentry\ 1276,7204
-         my $entry \7fentry\ 1281,7328
-      my $entry \7fentry\ 1296,7698
-sub finish_subsubsections \7f302,7805
-sub finish_subsections \7f309,7987
-sub finish_sections \7f320,8310
-sub finish_appendices \7f331,8599
-sub section_url_base \7f337,8724
-sub section_url_name \7f342,8922
-sub section_url \7f355,9284
-  my $name \7fname\ 1357,9336
-sub section_href \7f364,9452
-sub section_name \7f368,9551
-sub toc_line \7f372,9655
-sub file_end \7f375,9750
-\f
-perl-src/yagrip.pl,233
-sub getopt \7f7,156
-       local($_,$flag,$opt,$f,$r,@temp)\7f($_,$flag,$opt,$f,$r,@temp\ 18,169
-sub usage \7f38,856
-       local($prog,$_,@list)\7f($prog,$_,@list\ 139,868
-       local($string,$flag,@string,@temp,@last)\7f($string,$flag,@string,@temp,@last\ 140,897
-\f
-perl-src/kai-test.pl,203
-sub f1 \7f2,16
-sub main::f2 \7ff2\ 16,50
-package Foo;\7f10,90
-sub f3 \7f12,104
-sub Bar::f4 \7ff4\ 116,138
-package Bar;\7f20,177
-sub f5 \7f22,191
-package Foo::Bar;\7f26,225
-sub f6 \7f28,244
-package main;\7f32,278
-sub f7 \7f34,293
-\f
-ps-src/rfc1245.ps,2478
-/FMversion \7f12,311
-/FrameDict \7f17,500
-/FMVERSION \7f47,1307
-/FMLOCAL \7f56,1494
-/FMDOCUMENT \7f73,1766
-/FMBEGINPAGE \7f95,2279
-/FMENDPAGE \7f109,2516
-/FMDEFINEFONT \7f115,2582
-/FMNORMALIZEGRAPHICS \7f126,2725
-/FMBEGINEPSF \7f142,2955
-/FMENDEPSF \7f153,3207
-/setmanualfeed \7f158,3283
-/max \7f163,3386
-/min \7f164,3426
-/inch \7f165,3466
-/pagedimen \7f166,3485
-/setpapername \7f172,3629
-/papersize \7f190,4214
-/manualpapersize \7f211,4789
-/desperatepapersize \7f230,5211
-/savematrix \7f239,5370
-/restorematrix \7f242,5425
-/dmatrix \7f245,5475
-/dpi \7f246,5495
-/freq \7f248,5583
-/sangle \7f249,5658
-/DiacriticEncoding \7f250,5717
-/.notdef \7f251,5738
-/.notdef \7f252,5801
-/.notdef \7f253,5864
-/.notdef \7f254,5927
-/.notdef \7f255,5990
-/numbersign \7f256,6051
-/parenright \7f257,6115
-/two \7f258,6184
-/less \7f259,6251
-/L \7f260,6320
-/bracketright \7f261,6389
-/i \7f262,6459
-/braceright \7f263,6529
-/Ntilde \7f264,6598
-/atilde \7f265,6668
-/iacute \7f266,6733
-/ocircumflex \7f267,6797
-/udieresis \7f268,6858
-/paragraph \7f269,6919
-/dieresis \7f270,6983
-/yen \7f271,7050
-/ordfeminine \7f272,7109
-/exclamdown \7f273,7171
-/guillemotleft \7f274,7230
-/Otilde \7f275,7296
-/quoteleft \7f276,7357
-/fraction \7f277,7420
-/periodcentered \7f278,7490
-/Acircumflex \7f279,7549
-/Icircumflex \7f280,7610
-/Uacute \7f281,7680
-/breve \7f282,7746
-/ReEncode \7f284,7814
-/graymode \7f300,8020
-/setpattern \7f310,8184
-/grayness \7f331,8725
-/normalize \7f394,9873
-/dnormalize \7f397,9942
-/lnormalize \7f400,10014
-/H \7f403,10104
-/Z \7f406,10147
-/X \7f409,10176
-/V \7f412,10219
-/N \7f415,10260
-/M \7f418,10286
-/E \7f419,10315
-/D \7f420,10336
-/O \7f421,10358
-/L \7f423,10394
-/Y \7f430,10489
-/R \7f439,10588
-/RR \7f450,10696
-/C \7f467,10959
-/U \7f473,11004
-/F \7f477,11039
-/T \7f481,11084
-/RF \7f484,11115
-/TF \7f488,11164
-/P \7f495,11219
-/PF \7f499,11270
-/S \7f506,11344
-/SF \7f510,11384
-/B \7f517,11446
-/BF \7f521,11505
-/W \7f538,11714
-/G \7f573,12382
-/A \7f582,12525
-/BEGINPRINTCODE \7f606,12918
-/ENDPRINTCODE \7f615,13131
-/gn \7f620,13259
-/cfs \7f631,13384
-/ic \7f636,13473
-/ms \7f658,14285
-/ip \7f668,14395
-/wh \7f678,14492
-/bl \7f684,14607
-/s1 \7f690,14722
-/fl \7f691,14739
-/hx \7f698,14887
-/wbytes \7f709,15055
-/BEGINBITMAPBWc \7f713,15147
-/BEGINBITMAPGRAYc \7f716,15198
-/BEGINBITMAP2BITc \7f719,15251
-/COMMONBITMAPc \7f722,15304
-/BEGINBITMAPBW \7f739,15660
-/BEGINBITMAPGRAY \7f742,15709
-/BEGINBITMAP2BIT \7f745,15760
-/COMMONBITMAP \7f748,15811
-/Fmcc \7f765,16156
-/ngrayt \7f773,16371
-/nredt \7f774,16393
-/nbluet \7f775,16414
-/ngreent \7f776,16436
-/colorsetup \7f787,16603
-/fakecolorsetup \7f814,17370
-/BITMAPCOLOR \7f826,17636
-/BITMAPCOLORc \7f839,17926
-/BITMAPGRAY \7f855,18275
-/BITMAPGRAYc \7f858,18335
-/ENDBITMAP \7f861,18397
-/fillprocs \7f868,18497
-\f
-prol-src/ordsets.prolog,525
-is_ordset(\7f47,1310
-list_to_ord_set(\7f63,1688
-ord_add_element(\7f71,1867
-ord_del_element(\7f85,2344
-ord_disjoint(\7f100,2783
-ord_intersect(\7f108,2953
-ord_intersection(\7f126,3553
-ord_intersection3(\7f130,3692
-ord_intersection(\7f150,4533
-ord_intersection4(\7f154,4705
-ord_intersection(\7f176,5666
-ord_intersection2(\7f181,5814
-ord_member(\7f200,6320
-ord_seteq(\7f216,6685
-ord_setproduct(\7f225,6973
-ord_subset(\7f240,7379
-ord_subtract(\7f257,7863
-ord_symdiff(\7f265,8056
-ord_union(\7f288,8889
-ord_union4(\7f303,9354
-ord_union(\7f324,10173
-ord_union_all(\7f329,10315
-\f
-prol-src/natded.prolog,2319
-expandmng(\7f100,2879
-normalize(\7f116,3359
-fresh_vars(\7f125,3716
-subst(\7f138,4134
-normalize_fresh(\7f159,4660
-reduce_subterm(\7f171,5112
-reduce(\7f185,5559
-free_var(\7f196,5903
-free_for(\7f209,6246
-compile_lex(\7f231,6875
-consult_lex:-\7fconsult_lex\ 1248,7384
-lex(\7f259,7754
-expandsyn(\7f267,8068
-bas_syn(\7f292,8897
-compile_empty:-\7fcompile_empty\ 1310,9376
-complete(\7f328,10055
-add_active(\7f340,10527
-parse(\7f353,10949
-derived_analyses(\7f364,11341
-build(\7f378,11967
-buildact(\7f392,12523
-mapsyn(\7f412,13544
-add_edge(\7f434,14280
-findcats(\7f447,14760
-normalize_tree(\7f465,15480
-normalize_trees(\7f475,15858
-expandmng_tree(\7f486,16250
-expandmng_trees(\7f496,16616
-cat(\7f511,17015
-subtree(\7f644,21268
-hypothetical_mem(\7f653,21567
-make_coor(\7f667,22132
-start_up:-\7fstart_up\ 1688,23015
-tokenizeatom(\7f710,23923
-tokenize(\7f720,24350
-isoperator(\7f752,25379
-isoptab(\7f756,25433
-specialsymbol(\7f765,25758
-sstab(\7f771,25863
-parse_cgi(\7f787,26349
-keyvalseq(\7f792,26512
-andkeyvalseq(\7f796,26611
-keyval(\7f799,26690
-valseq(\7f807,26922
-plusvalseq(\7f810,27009
-val(\7f816,27111
-argvals(\7f824,27428
-commaargvals(\7f828,27505
-atomval(\7f833,27580
-atom(\7f836,27642
-action(\7f846,28006
-keyvalcgi(\7f864,28651
-keyvalscgi(\7f865,28672
-outsyn(\7f868,28728
-act(\7f876,29062
-actout(\7f901,29908
-texttreelist(\7f912,30091
-htmltreelist(\7f918,30192
-fitchtreelist(\7f924,30306
-pp_html_table_tree(\7f938,30761
-pp_html_tree(\7f949,31115
-pp_html_trees(\7f988,32383
-pp_html_table_fitch_tree(\7f999,32771
-pp_html_fitch_tree(\7f1017,33674
-removeexp(\7f1129,39004
-splitexp(\7f1142,39492
-pp_exp(\7f1155,39992
-map_word(\7f1168,40251
-pp_exps(\7f1180,40476
-pp_tree(\7f1188,40779
-pp_trees(\7f1216,41809
-pp_word_list(\7f1225,42130
-pp_word(\7f1231,42264
-pp_word_list_rest(\7f1238,42571
-pp_cat(\7f1248,42931
-pp_syn(\7f1255,43198
-pp_syn_paren(\7f1276,43901
-pp_paren(\7f1293,44379
-pp_syn_back(\7f1300,44663
-pp_bas_cat(\7f1311,45003
-writecat(\7f1322,45411
-writesubs(\7f1351,46457
-writesups(\7f1361,46759
-writelistsubs(\7f1371,47092
-pp_lam(\7f1380,47410
-pp_lam_bracket(\7f1398,48024
-pp_lam_paren(\7f1407,48340
-pp_rule(\7f1429,49240
-member(\7f1447,49868
-append_list(\7f1451,49921
-append(\7f1456,50012
-at_least_one_member(\7f1460,50078
-numbervars(\7f1464,50173
-reverse(\7f1467,50211
-select(\7f1471,50292
-select_last(\7f1475,50359
-cat_atoms(\7f1479,50438
-writelist(\7f1485,50526
-write_lex_cat(\7f1492,50678
-writebreaklex(\7f1500,50990
-write_lex(\7f1513,51267
-writebreak(\7f1521,51543
-tt:-\7ftt\ 11531,51715
-mt:-\7fmt\ 11534,51786
-cmt:-\7fcmt\ 11537,51880
-\f
-pyt-src/server.py,1438
-class Controls:\7fControls\ 117,358
-    def __init__(\7f18,374
-    def __repr__(\7f24,590
-    def __str__(\7f34,871
-class Server:\7fServer\ 137,934
-    def __init__(\7f38,948
-    def dump(\7f73,2198
-    def __repr__(\7f125,3896
-    def __str__(\7f128,3945
-class User:\7fUser\ 1131,4014
-    def __init__(\7f132,4026
-    def __repr__(\7f172,5445
-    def __str__(\7f206,6883
-def flag2str(\7f223,7212
-class LabeledEntry(\7f232,7442
-    def bind(\7f234,7525
-    def focus_set(\7f236,7584
-    def __init__(\7f238,7629
-def ButtonBar(\7f245,7909
-def helpwin(\7f255,8280
-class ListEdit(\7f267,8707
-    def __init__(\7f269,8808
-    def handleList(\7f303,10042
-    def handleNew(\7f306,10094
-    def editItem(\7f314,10426
-    def deleteItem(\7f320,10596
-def ConfirmQuit(\7f326,10760
-class ControlEdit(\7f375,12377
-    def PostControls(\7f376,12403
-    def GatherControls(\7f421,13530
-class ServerEdit(\7f512,16264
-    def __init__(\7f513,16289
-    def post(\7f525,16629
-    def gather(\7f543,17191
-    def nosave(\7f547,17304
-    def save(\7f551,17408
-    def refreshPort(\7f556,17509
-    def createWidgets(\7f561,17663
-    def edituser(\7f631,20708
-class UserEdit(\7f645,20921
-    def __init__(\7f646,20944
-    def post(\7f658,21283
-    def gather(\7f676,21841
-    def nosave(\7f680,21950
-    def save(\7f684,22052
-    def createWidgets(\7f689,22151
-class Configure(\7f760,24879
-    def __init__(\7f761,24916
-    def MakeDispose(\7f772,25211
-    def MakeSitelist(\7f786,25706
-    def editsite(\7f794,25949
-    def save(\7f797,26022
-    def nosave(\7f807,26310
-\f
-ruby-src/test.rb,637
-module ModuleExample\7f1,0
-    class ClassExample\7f2,21
-        def instance_method\7f3,44
-        def ClassExample.class_method\7fclass_method\ 16,121
-        def instance_method_exclamation!\7f9,206
-        def instance_method_question?\7f12,310
-        def instance_method_equals=\7finstance_method_equals=\ 115,408
-        def `(\7f18,502
-        def +(\7f21,592
-        def [](\7f24,640
-        def []=(\7f[]=\ 127,690
-        def <<(\7f30,752
-        def ==(\7f==\ 133,802
-        def <=(\7f<=\ 136,872
-        def <=>(\7f<=>\ 139,943
-        def ===(\7f===\ 142,990
-    def module_instance_method\7f46,1051
-    def ModuleExample.module_class_method\7fmodule_class_method\ 149,1131
-\f
-ruby-src/test1.ru,935
-class A\7f1,0
- def a(\7f2,8
- def b(\7f5,38
-module A\7f9,57
-  class B\7f10,66
-    ABC \7f11,76
-    Def_ \7f12,88
-    Xyzzy \7f13,106
-    def foo!\7f15,121
-    def self._bar?(\7f_bar?\ 118,143
-      def qux=(\7fqux=\ 122,194
-    attr_reader :foo\7ffoo\ 126,233
-    attr_reader :read1 \7fread1\ 127,254
-    attr_reader :read1 , :read2;\7fread2\ 127,254
-    attr_reader :read1 , :read2; attr_writer :write1,\7fwrite1=\ 127,254
-    attr_reader :read1 , :read2; attr_writer :write1, :write2\7fwrite2=\ 127,254
-    attr_writer :bar,\7fbar=\ 128,316
-                :baz,\7fbaz=\ 129,338
-                :more\7fmore=\ 130,360
-    attr_accessor :tee\7ftee\ 131,382
-    attr_accessor :tee\7ftee=\ 131,382
-    alias_method :qux,\7fqux\ 132,405
-    alias_method :xyz,\7fxyz\ 133,456
-                 :tee ; attr_reader :subtle\7fsubtle\ 134,479
-    attr_reader(:foo1,\7ffoo1\ 135,523
-    attr_reader(:foo1, :bar1,\7fbar1\ 135,523
-                :qux1)\7fqux1\ 136,563
-    alias_method ( :foo2,\7ffoo2\ 137,586
-A::Constant \7fConstant\ 142,655
-\f
-rs-src/test.rs,52
-enum IpAddrKind \7f3,11
-fn test1(\7f8,48
-fn main(\7f12,88
-\f
-scm-src/test.scm,260
-(define hello \7f1,0
-(set! hello \7f3,32
-(define (hello-world)\7f5,62
-(define (there-is-a-=-in-the-middle!)\7fthere-is-a-=-in-the-middle!\ 110,128
-(define =starts-with-equals! \7f=starts-with-equals!\ 112,171
-(define (((((curry-test \7f14,205
-(define-syntax test-begin\7f17,265
-\f
-tex-src/testenv.tex,52
-\newcommand{\nm}\7f\nm\ 14,77
-\section{blah}\7fblah\ 18,139
-\f
-tex-src/gzip.texi,303
-@node Top,\7f62,2139
-@node Copying,\7f80,2652
-@node Overview,\7f83,2705
-@node Sample,\7f166,7273
-@node Invoking gzip,\7fInvoking gzip\ 1210,8829
-@node Advanced usage,\7fAdvanced usage\ 1357,13497
-@node Environment,\7f420,15209
-@node Tapes,\7f437,15770
-@node Problems,\7f460,16769
-@node Concept Index,\7fConcept Index\ 1473,17289
-\f
-tex-src/texinfo.tex,30627
-\def\texinfoversion{\7f\texinfoversion\ 126,1035
-\def\tie{\7f\tie\ 149,1526
-\def\gloggingall{\7f\gloggingall\ 172,2276
-\def\loggingall{\7f\loggingall\ 173,2345
-\def\onepageout#1{\7f\onepageout\ 199,3282
-\def\croppageout#1{\7f\croppageout\ 1115,4032
-\def\cropmarks{\7f\cropmarks\ 1142,5092
-\def\pagebody#1{\7f\pagebody\ 1144,5139
-\def\ewtop{\7f\ewtop\ 1157,5594
-\def\nstop{\7f\nstop\ 1158,5658
-\def\ewbot{\7f\ewbot\ 1160,5741
-\def\nsbot{\7f\nsbot\ 1161,5805
-\def\parsearg #1{\7f\parsearg\ 1170,6104
-\def\parseargx{\7f\parseargx\ 1172,6182
-\def\parseargline{\7f\parseargline\ 1182,6422
-\def\flushcr{\7f\flushcr\ 1186,6543
-\newif\ifENV \ENVfalse \def\inENV{\7f\inENV\ 1190,6742
-\def\ENVcheck{\7f\ENVcheck\ 1191,6806
-\outer\def\begin{\7f\begin\ 1198,7053
-\def\beginxxx #1{\7f\beginxxx\ 1200,7091
-\def\end{\7f\end\ 1208,7346
-\def\endxxx #1{\7f\endxxx\ 1210,7374
-\def\errorE#1{\7f\errorE\ 1216,7563
-\def\singlespace{\7f\singlespace\ 1222,7757
-\def\@{\7f\@\ 1232,7980
-\def\`{\7f\`\ 1236,8080
-\def\'{\7f\'\ 1237,8092
-\def\mylbrace {\7f\mylbrace\ 1241,8140
-\def\myrbrace {\7f\myrbrace\ 1242,8173
-\def\:{\7f\:\ 1247,8287
-\def\*{\7f\*\ 1250,8341
-\def\.{\7f\.\ 1253,8417
-\def\w#1{\7f\w\ 1258,8648
-\def\group{\7f\group\ 1268,9131
-  \def\Egroup{\7f\Egroup\ 1273,9295
-\def\need{\7f\need\ 1289,9737
-\def\needx#1{\7f\needx\ 1300,10014
-\def\dots{\7f\dots\ 1339,11400
-\def\page{\7f\page\ 1343,11464
-\def\exdent{\7f\exdent\ 1353,11791
-\def\exdentyyy #1{\7f\exdentyyy\ 1354,11824
-\def\nofillexdent{\7f\nofillexdent\ 1357,11968
-\def\nofillexdentyyy #1{\7f\nofillexdentyyy\ 1358,12013
-\def\include{\7f\include\ 1365,12197
-\def\includezzz #1{\7f\includezzz\ 1366,12232
-\def\thisfile{\7f\thisfile\ 1369,12283
-\def\center{\7f\center\ 1373,12346
-\def\centerzzz #1{\7f\centerzzz\ 1374,12379
-\def\sp{\7f\sp\ 1380,12521
-\def\spxxx #1{\7f\spxxx\ 1381,12546
-\def\comment{\7f\comment\ 1387,12720
-\def\commentxxx #1{\7f\commentxxx\ 1390,12817
-\def\ignoresections{\7f\ignoresections\ 1396,12986
-\let\chapter=\relax\7f=\relax\ 1397,13008
-\let\section=\relax\7f=\relax\ 1406,13253
-\let\subsection=\relax\7f=\relax\ 1409,13314
-\let\subsubsection=\relax\7f=\relax\ 1410,13337
-\let\appendix=\relax\7f=\relax\ 1411,13363
-\let\appendixsec=\relax\7fsec=\relax\ 1412,13384
-\let\appendixsection=\relax\7fsection=\relax\ 1413,13408
-\let\appendixsubsec=\relax\7fsubsec=\relax\ 1414,13436
-\let\appendixsubsection=\relax\7fsubsection=\relax\ 1415,13463
-\let\appendixsubsubsec=\relax\7fsubsubsec=\relax\ 1416,13494
-\let\appendixsubsubsection=\relax\7fsubsubsection=\relax\ 1417,13524
-\def\ignore{\7f\ignore\ 1423,13626
-\long\def\ignorexxx #1\end ignore{\7f\ignorexxx\ 1427,13766
-\def\direntry{\7f\direntry\ 1429,13825
-\long\def\direntryxxx #1\end direntry{\7f\direntryxxx\ 1430,13864
-\def\ifset{\7f\ifset\ 1434,13974
-\def\ifsetxxx #1{\7f\ifsetxxx\ 1436,14032
-\def\Eifset{\7f\Eifset\ 1440,14159
-\def\ifsetfail{\7f\ifsetfail\ 1441,14173
-\long\def\ifsetfailxxx #1\end ifset{\7f\ifsetfailxxx\ 1442,14229
-\def\ifclear{\7f\ifclear\ 1444,14290
-\def\ifclearxxx #1{\7f\ifclearxxx\ 1446,14352
-\def\Eifclear{\7f\Eifclear\ 1450,14483
-\def\ifclearfail{\7f\ifclearfail\ 1451,14499
-\long\def\ifclearfailxxx #1\end ifclear{\7f\ifclearfailxxx\ 1452,14559
-\def\set{\7f\set\ 1456,14710
-\def\setxxx #1{\7f\setxxx\ 1457,14737
-\def\clear{\7f\clear\ 1460,14799
-\def\clearxxx #1{\7f\clearxxx\ 1461,14830
-\def\iftex{\7f\iftex\ 1466,14947
-\def\Eiftex{\7f\Eiftex\ 1467,14960
-\def\ifinfo{\7f\ifinfo\ 1468,14974
-\long\def\ifinfoxxx #1\end ifinfo{\7f\ifinfoxxx\ 1469,15024
-\long\def\menu #1\end menu{\7f\menu\ 1471,15083
-\def\asis#1{\7f\asis\ 1472,15112
-\def\math#1{\7f\math\ 1485,15655
-\def\node{\7f\node\ 1487,15699
-\def\nodezzz#1{\7f\nodezzz\ 1488,15737
-\def\nodexxx[#1,#2]{\7f\nodexxx[\ 1489,15768
-\def\donoderef{\7f\donoderef\ 1492,15830
-\def\unnumbnoderef{\7f\unnumbnoderef\ 1496,15951
-\def\appendixnoderef{\7f\appendixnoderef\ 1500,16082
-\expandafter\expandafter\expandafter\appendixsetref{\7fsetref\ 1501,16128
-\let\refill=\relax\7fill=\relax\ 1504,16217
-\def\setfilename{\7f\setfilename\ 1509,16431
-\outer\def\bye{\7f\bye\ 1518,16677
-\def\inforef #1{\7f\inforef\ 1520,16733
-\def\inforefzzz #1,#2,#3,#4**{\7f\inforefzzz\ 1521,16771
-\def\losespace #1{\7f\losespace\ 1523,16868
-\def\sf{\7f\sf\ 1532,17072
-\font\defbf=cmbx10 scaled \magstep1 %was 1314\7fbf=cmbx10\ 1558,17867
-\font\deftt=cmtt10 scaled \magstep1\7ftt=cmtt10\ 1559,17913
-\def\df{\7f\df\ 1560,17949
-\def\resetmathfonts{\7f\resetmathfonts\ 1635,20543
-\def\textfonts{\7f\textfonts\ 1648,21132
-\def\chapfonts{\7f\chapfonts\ 1653,21347
-\def\secfonts{\7f\secfonts\ 1658,21563
-\def\subsecfonts{\7f\subsecfonts\ 1663,21768
-\def\indexfonts{\7f\indexfonts\ 1668,21985
-\def\smartitalicx{\7f\smartitalicx\ 1691,22717
-\def\smartitalic#1{\7f\smartitalic\ 1692,22793
-\let\cite=\smartitalic\7f=\smartitalic\ 1698,22938
-\def\b#1{\7f\b\ 1700,22962
-\def\t#1{\7f\t\ 1703,22997
-\def\samp #1{\7f\samp\ 1706,23149
-\def\key #1{\7f\key\ 1707,23182
-\def\ctrl #1{\7f\ctrl\ 1708,23243
-\def\tclose#1{\7f\tclose\ 1716,23445
-\def\ {\7f\\ 1720,23611
-\def\xkey{\7f\xkey\ 1728,23880
-\def\kbdfoo#1#2#3\par{\7f\kbdfoo\ 1729,23896
-\def\dmn#1{\7f\dmn\ 1738,24197
-\def\kbd#1{\7f\kbd\ 1740,24224
-\def\l#1{\7f\l\ 1742,24281
-\def\r#1{\7f\r\ 1744,24310
-\def\sc#1{\7f\sc\ 1746,24378
-\def\ii#1{\7f\ii\ 1747,24421
-\def\titlefont#1{\7f\titlefont\ 1755,24654
-\def\titlepage{\7f\titlepage\ 1761,24757
-   \def\subtitlefont{\7f\subtitlefont\ 1766,24984
-   \def\authorfont{\7f\authorfont\ 1768,25068
-   \def\title{\7f\title\ 1774,25278
-   \def\titlezzz##1{\7f\titlezzz\ 1775,25313
-   \def\subtitle{\7f\subtitle\ 1783,25628
-   \def\subtitlezzz##1{\7f\subtitlezzz\ 1784,25669
-   \def\author{\7f\author\ 1787,25787
-   \def\authorzzz##1{\7f\authorzzz\ 1788,25824
-   \def\page{\7f\page\ 1794,26115
-\def\Etitlepage{\7f\Etitlepage\ 1804,26284
-\def\finishtitlepage{\7f\finishtitlepage\ 1817,26672
-\def\evenheading{\7f\evenheading\ 1846,27680
-\def\oddheading{\7f\oddheading\ 1847,27723
-\def\everyheading{\7f\everyheading\ 1848,27764
-\def\evenfooting{\7f\evenfooting\ 1850,27810
-\def\oddfooting{\7f\oddfooting\ 1851,27853
-\def\everyfooting{\7f\everyfooting\ 1852,27894
-\def\headings #1 {\7f\headings\ 1893,29586
-\def\HEADINGSoff{\7f\HEADINGSoff\ 1895,29635
-\def\HEADINGSdouble{\7f\HEADINGSdouble\ 1904,30062
-\def\HEADINGSsingle{\7f\HEADINGSsingle\ 1914,30382
-\def\HEADINGSon{\7f\HEADINGSon\ 1922,30603
-\def\HEADINGSafter{\7f\HEADINGSafter\ 1924,30637
-\def\HEADINGSdoublex{\7f\HEADINGSdoublex\ 1926,30732
-\def\HEADINGSsingleafter{\7f\HEADINGSsingleafter\ 1933,30920
-\def\HEADINGSsinglex{\7f\HEADINGSsinglex\ 1934,30981
-\def\today{\7f\today\ 1943,31256
-\def\thistitle{\7f\thistitle\ 1958,31801
-\def\settitle{\7f\settitle\ 1959,31826
-\def\settitlezzz #1{\7f\settitlezzz\ 1960,31863
-\def\internalBitem{\7f\internalBitem\ 1992,32793
-\def\internalBitemx{\7f\internalBitemx\ 1993,32843
-\def\internalBxitem "#1"{\7f\internalBxitem\ 1995,32888
-\def\internalBxitemx "#1"{\7f\internalBxitemx\ 1996,32968
-\def\internalBkitem{\7f\internalBkitem\ 1998,33043
-\def\internalBkitemx{\7f\internalBkitemx\ 1999,33095
-\def\kitemzzz #1{\7f\kitemzzz\ 11001,33142
-\def\xitemzzz #1{\7f\xitemzzz\ 11004,33244
-\def\itemzzz #1{\7f\itemzzz\ 11007,33347
-\def\item{\7f\item\ 11037,34418
-\def\itemx{\7f\itemx\ 11038,34469
-\def\kitem{\7f\kitem\ 11039,34522
-\def\kitemx{\7f\kitemx\ 11040,34575
-\def\xitem{\7f\xitem\ 11041,34630
-\def\xitemx{\7f\xitemx\ 11042,34683
-\def\description{\7f\description\ 11045,34793
-\def\table{\7f\table\ 11047,34843
-\def\ftable{\7f\ftable\ 11052,34987
-\def\Eftable{\7f\Eftable\ 11056,35133
-\def\vtable{\7f\vtable\ 11059,35202
-\def\Evtable{\7f\Evtable\ 11063,35348
-\def\dontindex #1{\7f\dontindex\ 11066,35417
-\def\fnitemindex #1{\7f\fnitemindex\ 11067,35437
-\def\vritemindex #1{\7f\vritemindex\ 11068,35482
-\def\tablez #1#2#3#4#5#6{\7f\tablez\ 11074,35631
-\def\Edescription{\7f\Edescription\ 11077,35689
-\def\itemfont{\7f\itemfont\ 11082,35890
-\def\Etable{\7f\Etable\ 11090,36116
-\def\itemize{\7f\itemize\ 11103,36440
-\def\itemizezzz #1{\7f\itemizezzz\ 11105,36476
-\def\itemizey #1#2{\7f\itemizey\ 11110,36571
-\def#2{\7f1119,36817
-\def\itemcontents{\7f\itemcontents\ 11120,36858
-\def\bullet{\7f\bullet\ 11123,36906
-\def\minus{\7f\minus\ 11124,36933
-\def\frenchspacing{\7f\frenchspacing\ 11128,37041
-\def\splitoff#1#2\endmark{\7f\splitoff\ 11134,37266
-\def\enumerate{\7f\enumerate\ 11140,37496
-\def\enumeratezzz #1{\7f\enumeratezzz\ 11141,37535
-\def\enumeratey #1 #2\endenumeratey{\7f\enumeratey\ 11142,37588
-  \def\thearg{\7f\thearg\ 11146,37735
-  \ifx\thearg\empty \def\thearg{\7f\thearg\ 11147,37754
-\def\numericenumerate{\7f\numericenumerate\ 11184,39088
-\def\lowercaseenumerate{\7f\lowercaseenumerate\ 11190,39218
-\def\uppercaseenumerate{\7f\uppercaseenumerate\ 11203,39565
-\def\startenumeration#1{\7f\startenumeration\ 11219,40055
-\def\alphaenumerate{\7f\alphaenumerate\ 11227,40237
-\def\capsenumerate{\7f\capsenumerate\ 11228,40272
-\def\Ealphaenumerate{\7f\Ealphaenumerate\ 11229,40306
-\def\Ecapsenumerate{\7f\Ecapsenumerate\ 11230,40340
-\def\itemizeitem{\7f\itemizeitem\ 11234,40420
-\def\newindex #1{\7f\newindex\ 11259,41277
-\def\defindex{\7f\defindex\ 11268,41566
-\def\newcodeindex #1{\7f\newcodeindex\ 11272,41674
-\def\defcodeindex{\7f\defcodeindex\ 11279,41934
-\def\synindex #1 #2 {\7f\synindex\ 11283,42114
-\def\syncodeindex #1 #2 {\7f\syncodeindex\ 11292,42454
-\def\doindex#1{\7f\doindex\ 11309,43133
-\def\singleindexer #1{\7f\singleindexer\ 11310,43192
-\def\docodeindex#1{\7f\docodeindex\ 11313,43304
-\def\singlecodeindexer #1{\7f\singlecodeindexer\ 11314,43371
-\def\indexdummies{\7f\indexdummies\ 11316,43429
-\def\_{\7f\_\ 11317,43449
-\def\w{\7f\w\ 11318,43477
-\def\bf{\7f\bf\ 11319,43504
-\def\rm{\7f\rm\ 11320,43533
-\def\sl{\7f\sl\ 11321,43562
-\def\sf{\7f\sf\ 11322,43591
-\def\tt{\7f\tt\ 11323,43619
-\def\gtr{\7f\gtr\ 11324,43647
-\def\less{\7f\less\ 11325,43677
-\def\hat{\7f\hat\ 11326,43709
-\def\char{\7f\char\ 11327,43739
-\def\TeX{\7f\TeX\ 11328,43771
-\def\dots{\7f\dots\ 11329,43801
-\def\copyright{\7f\copyright\ 11330,43834
-\def\tclose##1{\7f\tclose\ 11331,43877
-\def\code##1{\7f\code\ 11332,43922
-\def\samp##1{\7f\samp\ 11333,43963
-\def\t##1{\7f\t\ 11334,44004
-\def\r##1{\7f\r\ 11335,44039
-\def\i##1{\7f\i\ 11336,44074
-\def\b##1{\7f\b\ 11337,44109
-\def\cite##1{\7f\cite\ 11338,44144
-\def\key##1{\7f\key\ 11339,44185
-\def\file##1{\7f\file\ 11340,44224
-\def\var##1{\7f\var\ 11341,44265
-\def\kbd##1{\7f\kbd\ 11342,44304
-\def\indexdummyfont#1{\7f\indexdummyfont\ 11347,44460
-\def\indexdummytex{\7f\indexdummytex\ 11348,44486
-\def\indexdummydots{\7f\indexdummydots\ 11349,44510
-\def\indexnofonts{\7f\indexnofonts\ 11351,44536
-\let\w=\indexdummyfont\7fdummyfont\ 11352,44556
-\let\t=\indexdummyfont\7fdummyfont\ 11353,44579
-\let\r=\indexdummyfont\7fdummyfont\ 11354,44602
-\let\i=\indexdummyfont\7fdummyfont\ 11355,44625
-\let\b=\indexdummyfont\7fdummyfont\ 11356,44648
-\let\emph=\indexdummyfont\7fdummyfont\ 11357,44671
-\let\strong=\indexdummyfont\7fdummyfont\ 11358,44697
-\let\cite=\indexdummyfont\7f=\indexdummyfont\ 11359,44725
-\let\sc=\indexdummyfont\7fdummyfont\ 11360,44751
-\let\tclose=\indexdummyfont\7fdummyfont\ 11364,44923
-\let\code=\indexdummyfont\7fdummyfont\ 11365,44951
-\let\file=\indexdummyfont\7fdummyfont\ 11366,44977
-\let\samp=\indexdummyfont\7fdummyfont\ 11367,45003
-\let\kbd=\indexdummyfont\7fdummyfont\ 11368,45029
-\let\key=\indexdummyfont\7fdummyfont\ 11369,45054
-\let\var=\indexdummyfont\7fdummyfont\ 11370,45079
-\let\TeX=\indexdummytex\7fdummytex\ 11371,45104
-\let\dots=\indexdummydots\7fdummydots\ 11372,45128
-\let\indexbackslash=0  %overridden during \printindex.\7fbackslash=0\ 11382,45380
-\def\doind #1#2{\7f\doind\ 11384,45436
-{\indexdummies % Must do this here, since \bf, etc expand at this stage\7fdummies\ 11386,45479
-\def\rawbackslashxx{\7f\rawbackslashxx\ 11389,45619
-{\indexnofonts\7fnofonts\ 11394,45881
-\def\dosubind #1#2#3{\7f\dosubind\ 11405,46192
-{\indexdummies % Must do this here, since \bf, etc expand at this stage\7fdummies\ 11407,46240
-\def\rawbackslashxx{\7f\rawbackslashxx\ 11410,46344
-{\indexnofonts\7fnofonts\ 11414,46498
-\def\findex {\7f\findex\ 11443,47429
-\def\kindex {\7f\kindex\ 11444,47452
-\def\cindex {\7f\cindex\ 11445,47475
-\def\vindex {\7f\vindex\ 11446,47498
-\def\tindex {\7f\tindex\ 11447,47521
-\def\pindex {\7f\pindex\ 11448,47544
-\def\cindexsub {\7f\cindexsub\ 11450,47568
-\def\printindex{\7f\printindex\ 11462,47895
-\def\doprintindex#1{\7f\doprintindex\ 11464,47936
-  \def\indexbackslash{\7f\indexbackslash\ 11481,48421
-  \indexfonts\rm \tolerance=9500 \advance\baselineskip -1pt\7ffonts\rm\ 11482,48460
-\def\initial #1{\7f\initial\ 11517,49532
-\def\entry #1#2{\7f\entry\ 11523,49739
-  \null\nobreak\indexdotfill % Have leaders before the page number.\7fdotfill\ 11540,50386
-\def\indexdotfill{\7f\indexdotfill\ 11549,50714
-\def\primary #1{\7f\primary\ 11552,50820
-\def\secondary #1#2{\7f\secondary\ 11556,50902
-\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\par\7fdotfill\ 11559,50984
-\newbox\partialpage\7fialpage\ 11566,51157
-\def\begindoublecolumns{\7f\begindoublecolumns\ 11572,51315
-  \output={\global\setbox\partialpage=\7fialpage=\ 11573,51351
-\def\enddoublecolumns{\7f\enddoublecolumns\ 11577,51539
-\def\doublecolumnout{\7f\doublecolumnout\ 11580,51624
-  \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage\7fialpage\ 11581,51693
-\def\pagesofar{\7f\pagesofar\ 11584,51871
-\def\balancecolumns{\7f\balancecolumns\ 11588,52108
-  \availdimen@=\pageheight \advance\availdimen@ by-\ht\partialpage\7fialpage\ 11594,52279
-     \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage\7fialpage\ 11600,52540
-\newcount \appendixno  \appendixno = `\@\7fno\ 11627,53445
-\def\appendixletter{\7f\appendixletter\ 11628,53486
-\def\opencontents{\7f\opencontents\ 11632,53589
-\def\thischapter{\7f\thischapter\ 11637,53770
-\def\seccheck#1{\7f\seccheck\ 11638,53808
-\def\chapternofonts{\7f\chapternofonts\ 11643,53912
-\def\result{\7f\result\ 11646,53987
-\def\equiv{\7f\equiv\ 11647,54022
-\def\expansion{\7f\expansion\ 11648,54055
-\def\print{\7f\print\ 11649,54096
-\def\TeX{\7f\TeX\ 11650,54129
-\def\dots{\7f\dots\ 11651,54158
-\def\copyright{\7f\copyright\ 11652,54189
-\def\tt{\7f\tt\ 11653,54230
-\def\bf{\7f\bf\ 11654,54257
-\def\w{\7f\w\ 11655,54285
-\def\less{\7f\less\ 11656,54310
-\def\gtr{\7f\gtr\ 11657,54341
-\def\hat{\7f\hat\ 11658,54370
-\def\char{\7f\char\ 11659,54399
-\def\tclose##1{\7f\tclose\ 11660,54430
-\def\code##1{\7f\code\ 11661,54474
-\def\samp##1{\7f\samp\ 11662,54514
-\def\r##1{\7f\r\ 11663,54554
-\def\b##1{\7f\b\ 11664,54588
-\def\key##1{\7f\key\ 11665,54622
-\def\file##1{\7f\file\ 11666,54660
-\def\kbd##1{\7f\kbd\ 11667,54700
-\def\i##1{\7f\i\ 11669,54808
-\def\cite##1{\7f\cite\ 11670,54842
-\def\var##1{\7f\var\ 11671,54882
-\def\emph##1{\7f\emph\ 11672,54920
-\def\dfn##1{\7f\dfn\ 11673,54960
-\def\thischaptername{\7f\thischaptername\ 11676,55001
-\outer\def\chapter{\7f\chapter\ 11677,55040
-\def\chapterzzz #1{\7f\chapterzzz\ 11678,55081
-{\chapternofonts%\7fnofonts%\ 11687,55477
-\global\let\section = \numberedsec\7f=\ 11692,55630
-\global\let\subsection = \numberedsubsec\7f=\ 11693,55665
-\global\let\subsubsection = \numberedsubsubsec\7f=\ 11694,55706
-\outer\def\appendix{\7f\appendix\ 11697,55757
-\def\appendixzzz #1{\7f\appendixzzz\ 11698,55800
-\global\advance \appendixno by 1 \message{\7fno\ 11700,55877
-\chapmacro {#1}{Appendix \appendixletter}\7fletter\ 11701,55946
-\xdef\thischapter{Appendix \appendixletter: \noexpand\thischaptername}\7fletter:\ 11704,56039
-{\chapternofonts%\7fnofonts%\ 11705,56111
-  {#1}{Appendix \appendixletter}\7fletter\ 11707,56167
-\appendixnoderef %\7fnoderef\ 11710,56267
-\global\let\section = \appendixsec\7f=\ 11711,56286
-\global\let\subsection = \appendixsubsec\7f=\ 11712,56321
-\global\let\subsubsection = \appendixsubsubsec\7f=\ 11713,56362
-\outer\def\top{\7f\top\ 11716,56413
-\outer\def\unnumbered{\7f\unnumbered\ 11717,56453
-\def\unnumberedzzz #1{\7f\unnumberedzzz\ 11718,56500
-{\chapternofonts%\7fnofonts%\ 11722,56663
-\global\let\section = \unnumberedsec\7f=\ 11727,56813
-\global\let\subsection = \unnumberedsubsec\7f=\ 11728,56850
-\global\let\subsubsection = \unnumberedsubsubsec\7f=\ 11729,56893
-\outer\def\numberedsec{\7f\numberedsec\ 11732,56946
-\def\seczzz #1{\7f\seczzz\ 11733,56987
-{\chapternofonts%\7fnofonts%\ 11736,57143
-\outer\def\appendixsection{\7f\appendixsection\ 11745,57329
-\outer\def\appendixsec{\7f\appendixsec\ 11746,57386
-\def\appendixsectionzzz #1{\7f\appendixsectionzzz\ 11747,57439
-\gdef\thissection{#1}\secheading {#1}{\appendixletter}\7fletter\ 11749,57551
-{\chapternofonts%\7fnofonts%\ 11750,57619
-{#1}{\appendixletter}\7fletter\ 11752,57675
-\appendixnoderef %\7fnoderef\ 11755,57775
-\outer\def\unnumberedsec{\7f\unnumberedsec\ 11759,57815
-\def\unnumberedseczzz #1{\7f\unnumberedseczzz\ 11760,57868
-{\chapternofonts%\7fnofonts%\ 11762,57963
-\outer\def\numberedsubsec{\7f\numberedsubsec\ 11770,58131
-\def\numberedsubseczzz #1{\7f\numberedsubseczzz\ 11771,58186
-{\chapternofonts%\7fnofonts%\ 11774,58365
-\outer\def\appendixsubsec{\7f\appendixsubsec\ 11783,58569
-\def\appendixsubseczzz #1{\7f\appendixsubseczzz\ 11784,58624
-\subsecheading {#1}{\appendixletter}\7fletter\ 11786,58746
-{\chapternofonts%\7fnofonts%\ 11787,58811
-{#1}{\appendixletter}\7fletter\ 11789,58870
-\appendixnoderef %\7fnoderef\ 11792,58985
-\outer\def\unnumberedsubsec{\7f\unnumberedsubsec\ 11796,59025
-\def\unnumberedsubseczzz #1{\7f\unnumberedsubseczzz\ 11797,59084
-{\chapternofonts%\7fnofonts%\ 11799,59185
-\outer\def\numberedsubsubsec{\7f\numberedsubsubsec\ 11807,59356
-\def\numberedsubsubseczzz #1{\7f\numberedsubsubseczzz\ 11808,59417
-{\chapternofonts%\7fnofonts%\ 11812,59614
-\outer\def\appendixsubsubsec{\7f\appendixsubsubsec\ 11823,59847
-\def\appendixsubsubseczzz #1{\7f\appendixsubsubseczzz\ 11824,59908
-  {\appendixletter}\7fletter\ 11827,60047
-{\chapternofonts%\7fnofonts%\ 11828,60113
-  {\appendixletter}\7fletter\ 11830,60178
-\appendixnoderef %\7fnoderef\ 11834,60312
-\outer\def\unnumberedsubsubsec{\7f\unnumberedsubsubsec\ 11838,60352
-\def\unnumberedsubsubseczzz #1{\7f\unnumberedsubsubseczzz\ 11839,60417
-{\chapternofonts%\7fnofonts%\ 11841,60524
-\def\infotop{\7f\infotop\ 11851,60853
-\def\infounnumbered{\7f\infounnumbered\ 11852,60891
-\def\infounnumberedsec{\7f\infounnumberedsec\ 11853,60936
-\def\infounnumberedsubsec{\7f\infounnumberedsubsec\ 11854,60987
-\def\infounnumberedsubsubsec{\7f\infounnumberedsubsubsec\ 11855,61044
-\def\infoappendix{\7f\infoappendix\ 11857,61108
-\def\infoappendixsec{\7f\infoappendixsec\ 11858,61149
-\def\infoappendixsubsec{\7f\infoappendixsubsec\ 11859,61196
-\def\infoappendixsubsubsec{\7f\infoappendixsubsubsec\ 11860,61249
-\def\infochapter{\7f\infochapter\ 11862,61309
-\def\infosection{\7f\infosection\ 11863,61348
-\def\infosubsection{\7f\infosubsection\ 11864,61387
-\def\infosubsubsection{\7f\infosubsubsection\ 11865,61432
-\global\let\section = \numberedsec\7f=\ 11870,61669
-\global\let\subsection = \numberedsubsec\7f=\ 11871,61704
-\global\let\subsubsection = \numberedsubsubsec\7f=\ 11872,61745
-\def\majorheading{\7f\majorheading\ 11886,62252
-\def\majorheadingzzz #1{\7f\majorheadingzzz\ 11887,62297
-\def\chapheading{\7f\chapheading\ 11893,62530
-\def\chapheadingzzz #1{\7f\chapheadingzzz\ 11894,62573
-\def\heading{\7f\heading\ 11899,62768
-\def\subheading{\7f\subheading\ 11901,62805
-\def\subsubheading{\7f\subsubheading\ 11903,62848
-\def\dobreak#1#2{\7f\dobreak\ 11910,63125
-\def\setchapterstyle #1 {\7f\setchapterstyle\ 11912,63203
-\def\chapbreak{\7f\chapbreak\ 11919,63458
-\def\chappager{\7f\chappager\ 11920,63508
-\def\chapoddpage{\7f\chapoddpage\ 11921,63546
-\def\setchapternewpage #1 {\7f\setchapternewpage\ 11923,63625
-\def\CHAPPAGoff{\7f\CHAPPAGoff\ 11925,63682
-\def\CHAPPAGon{\7f\CHAPPAGon\ 11929,63776
-\global\def\HEADINGSon{\7f\HEADINGSon\ 11932,63867
-\def\CHAPPAGodd{\7f\CHAPPAGodd\ 11934,63909
-\global\def\HEADINGSon{\7f\HEADINGSon\ 11937,64005
-\def\CHAPFplain{\7f\CHAPFplain\ 11941,64059
-\def\chfplain #1#2{\7f\chfplain\ 11945,64151
-\def\unnchfplain #1{\7f\unnchfplain\ 11956,64374
-\def\unnchfopen #1{\7f\unnchfopen\ 11964,64603
-\def\chfopen #1#2{\7f\chfopen\ 11970,64811
-\def\CHAPFopen{\7f\CHAPFopen\ 11975,64955
-\def\subsecheadingbreak{\7f\subsecheadingbreak\ 11982,65173
-\def\secheadingbreak{\7f\secheadingbreak\ 11985,65302
-\def\secheading #1#2#3{\7f\secheading\ 11993,65584
-\def\plainsecheading #1{\7f\plainsecheading\ 11994,65640
-\def\secheadingi #1{\7f\secheadingi\ 11995,65683
-\def\subsecheading #1#2#3#4{\7f\subsecheading\ 12006,66051
-\def\subsecheadingi #1{\7f\subsecheadingi\ 12007,66118
-\def\subsubsecfonts{\7f\subsubsecfonts\ 12014,66415
-\def\subsubsecheading #1#2#3#4#5{\7f\subsubsecheading\ 12017,66538
-\def\subsubsecheadingi #1{\7f\subsubsecheadingi\ 12018,66616
-\def\startcontents#1{\7f\startcontents\ 12032,67088
-   \unnumbchapmacro{#1}\def\thischapter{\7f\thischapter\ 12040,67361
-\outer\def\contents{\7f\contents\ 12049,67720
-\outer\def\summarycontents{\7f\summarycontents\ 12057,67864
-      \def\secentry ##1##2##3##4{\7f\secentry\ 12067,68235
-      \def\unnumbsecentry ##1##2{\7f\unnumbsecentry\ 12068,68270
-      \def\subsecentry ##1##2##3##4##5{\7f\subsecentry\ 12069,68305
-      \def\unnumbsubsecentry ##1##2{\7f\unnumbsubsecentry\ 12070,68346
-      \def\subsubsecentry ##1##2##3##4##5##6{\7f\subsubsecentry\ 12071,68384
-      \def\unnumbsubsubsecentry ##1##2{\7f\unnumbsubsubsecentry\ 12072,68431
-\def\chapentry#1#2#3{\7f\chapentry\ 12085,68865
-\def\shortchapentry#1#2#3{\7f\shortchapentry\ 12088,68982
-    {#2\labelspace #1}\7fspace\ 12091,69092
-\def\unnumbchapentry#1#2{\7f\unnumbchapentry\ 12094,69146
-\def\shortunnumberedentry#1#2{\7f\shortunnumberedentry\ 12095,69193
-\def\secentry#1#2#3#4{\7f\secentry\ 12102,69357
-\def\unnumbsecentry#1#2{\7f\unnumbsecentry\ 12103,69416
-\def\subsecentry#1#2#3#4#5{\7f\subsecentry\ 12106,69477
-\def\unnumbsubsecentry#1#2{\7f\unnumbsubsecentry\ 12107,69547
-\def\subsubsecentry#1#2#3#4#5#6{\7f\subsubsecentry\ 12110,69621
-  \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}\7fspace\ 12111,69655
-\def\unnumbsubsubsecentry#1#2{\7f\unnumbsubsubsecentry\ 12112,69706
-\def\dochapentry#1#2{\7f\dochapentry\ 12123,70080
-\def\dosecentry#1#2{\7f\dosecentry\ 12138,70685
-\def\dosubsecentry#1#2{\7f\dosubsecentry\ 12145,70863
-\def\dosubsubsecentry#1#2{\7f\dosubsubsecentry\ 12152,71048
-\def\labelspace{\7f\labelspace\ 12160,71299
-\def\dopageno#1{\7f\dopageno\ 12162,71334
-\def\doshortpageno#1{\7f\doshortpageno\ 12163,71360
-\def\chapentryfonts{\7f\chapentryfonts\ 12165,71392
-\def\secentryfonts{\7f\secentryfonts\ 12166,71427
-\def\point{\7f\point\ 12192,72386
-\def\result{\7f\result\ 12194,72407
-\def\expansion{\7f\expansion\ 12195,72480
-\def\print{\7f\print\ 12196,72551
-\def\equiv{\7f\equiv\ 12198,72618
-\def\error{\7f\error\ 12218,73391
-\def\tex{\7f\tex\ 12224,73620
-\def\@{\7f\@\ 12242,74003
-\gdef\sepspaces{\def {\ }}}\7f\\ 12265,74735
-\def\aboveenvbreak{\7f\aboveenvbreak\ 12268,74817
-\def\afterenvbreak{\7f\afterenvbreak\ 12272,74983
-\def\ctl{\7f\ctl\ 12286,75494
-\def\ctr{\7f\ctr\ 12287,75566
-\def\cbl{\7f\cbl\ 12288,75605
-\def\cbr{\7f\cbr\ 12289,75645
-\def\carttop{\7f\carttop\ 12290,75684
-\def\cartbot{\7f\cartbot\ 12293,75792
-\long\def\cartouche{\7f\cartouche\ 12299,75932
-\def\Ecartouche{\7f\Ecartouche\ 12326,76720
-\def\lisp{\7f\lisp\ 12338,76855
-\def\Elisp{\7f\Elisp\ 12348,77202
-\def\next##1{\7f\next\ 12360,77528
-\def\Eexample{\7f\Eexample\ 12364,77570
-\def\Esmallexample{\7f\Esmallexample\ 12367,77617
-\def\smalllispx{\7f\smalllispx\ 12373,77795
-\def\Esmalllisp{\7f\Esmalllisp\ 12383,78149
-\obeyspaces \obeylines \ninett \indexfonts \rawbackslash\7ffonts\ 12396,78505
-\def\next##1{\7f\next\ 12397,78562
-\def\display{\7f\display\ 12401,78642
-\def\Edisplay{\7f\Edisplay\ 12410,78961
-\def\next##1{\7f\next\ 12422,79272
-\def\format{\7f\format\ 12426,79375
-\def\Eformat{\7f\Eformat\ 12434,79671
-\def\next##1{\7f\next\ 12437,79760
-\def\flushleft{\7f\flushleft\ 12441,79812
-\def\Eflushleft{\7f\Eflushleft\ 12451,80183
-\def\next##1{\7f\next\ 12454,80276
-\def\flushright{\7f\flushright\ 12456,80298
-\def\Eflushright{\7f\Eflushright\ 12466,80670
-\def\next##1{\7f\next\ 12470,80801
-\def\quotation{\7f\quotation\ 12474,80859
-\def\Equotation{\7f\Equotation\ 12480,81051
-\def\setdeffont #1 {\7f\setdeffont\ 12493,81449
-\newskip\defbodyindent \defbodyindent=.4in\7fbodyindent\ 12495,81495
-\newskip\defargsindent \defargsindent=50pt\7fargsindent\ 12496,81538
-\newskip\deftypemargin \deftypemargin=12pt\7ftypemargin\ 12497,81581
-\newskip\deflastargmargin \deflastargmargin=18pt\7flastargmargin\ 12498,81624
-\def\activeparens{\7f\activeparens\ 12503,81822
-\def\opnr{\7f\opnr\ 12529,83034
-\def\lbrb{\7f\lbrb\ 12530,83099
-\def\defname #1#2{\7f\defname\ 12536,83300
-\advance\dimen2 by -\defbodyindent\7fbodyindent\ 12540,83418
-\advance\dimen3 by -\defbodyindent\7fbodyindent\ 12542,83472
-\setbox0=\hbox{\hskip \deflastargmargin{\7flastargmargin\ 12544,83526
-\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations\7fargsindent\ 12546,83668
-\parshape 2 0in \dimen0 \defargsindent \dimen1     %\7fargsindent\ 12547,83743
-\rlap{\rightline{{\rm #2}\hskip \deftypemargin}\7ftypemargin\ 12554,84112
-\advance\leftskip by -\defbodyindent\7fbodyindent\ 12557,84246
-\exdentamount=\defbodyindent\7fbodyindent\ 12558,84283
-\def\defparsebody #1#2#3{\7f\defparsebody\ 12568,84642
-\def#1{\7f2572,84826
-\def#2{\7f2573,84862
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12575,84934
-\exdentamount=\defbodyindent\7fbodyindent\ 12576,85008
-\def\defmethparsebody #1#2#3#4 {\7f\defmethparsebody\ 12581,85112
-\def#1{\7f2585,85273
-\def#2##1 {\7f2586,85309
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12588,85392
-\exdentamount=\defbodyindent\7fbodyindent\ 12589,85466
-\def\defopparsebody #1#2#3#4#5 {\7f\defopparsebody\ 12592,85551
-\def#1{\7f2596,85712
-\def#2##1 ##2 {\7f2597,85748
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12600,85848
-\exdentamount=\defbodyindent\7fbodyindent\ 12601,85922
-\def\defvarparsebody #1#2#3{\7f\defvarparsebody\ 12608,86193
-\def#1{\7f2612,86380
-\def#2{\7f2613,86416
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12615,86475
-\exdentamount=\defbodyindent\7fbodyindent\ 12616,86549
-\def\defvrparsebody #1#2#3#4 {\7f\defvrparsebody\ 12621,86640
-\def#1{\7f2625,86799
-\def#2##1 {\7f2626,86835
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12628,86905
-\exdentamount=\defbodyindent\7fbodyindent\ 12629,86979
-\def\defopvarparsebody #1#2#3#4#5 {\7f\defopvarparsebody\ 12632,87051
-\def#1{\7f2636,87215
-\def#2##1 ##2 {\7f2637,87251
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12640,87338
-\exdentamount=\defbodyindent\7fbodyindent\ 12641,87412
-\def\defunargs #1{\7f\defunargs\ 12664,88172
-\def\deftypefunargs #1{\7f\deftypefunargs\ 12676,88554
-\def\deffn{\7f\deffn\ 12690,88936
-\def\deffnheader #1#2#3{\7f\deffnheader\ 12692,88993
-\begingroup\defname {\7fname\ 12693,89041
-\def\defun{\7f\defun\ 12699,89186
-\def\defunheader #1#2{\7f\defunheader\ 12701,89239
-\begingroup\defname {\7fname\ 12702,89314
-\defunargs {\7funargs\ 12703,89350
-\def\deftypefun{\7f\deftypefun\ 12709,89498
-\def\deftypefunheader #1#2{\7f\deftypefunheader\ 12712,89620
-\def\deftypefunheaderx #1#2 #3\relax{\7f\deftypefunheaderx\ 12714,89729
-\begingroup\defname {\7fname\ 12716,89821
-\deftypefunargs {\7ftypefunargs\ 12717,89867
-\def\deftypefn{\7f\deftypefn\ 12723,90038
-\def\deftypefnheader #1#2#3{\7f\deftypefnheader\ 12726,90187
-\def\deftypefnheaderx #1#2#3 #4\relax{\7f\deftypefnheaderx\ 12728,90323
-\begingroup\defname {\7fname\ 12730,90416
-\deftypefunargs {\7ftypefunargs\ 12731,90456
-\def\defmac{\7f\defmac\ 12737,90577
-\def\defmacheader #1#2{\7f\defmacheader\ 12739,90634
-\begingroup\defname {\7fname\ 12740,90710
-\defunargs {\7funargs\ 12741,90743
-\def\defspec{\7f\defspec\ 12747,90867
-\def\defspecheader #1#2{\7f\defspecheader\ 12749,90928
-\begingroup\defname {\7fname\ 12750,91005
-\defunargs {\7funargs\ 12751,91045
-\def\deffnx #1 {\7f\deffnx\ 12758,91240
-\def\defunx #1 {\7f\defunx\ 12759,91297
-\def\defmacx #1 {\7f\defmacx\ 12760,91354
-\def\defspecx #1 {\7f\defspecx\ 12761,91413
-\def\deftypefnx #1 {\7f\deftypefnx\ 12762,91474
-\def\deftypeunx #1 {\7f\deftypeunx\ 12763,91539
-\def\defop #1 {\7f\defop\ 12769,91685
-\defopparsebody\Edefop\defopx\defopheader\defoptype}\7fopparsebody\Edefop\defopx\defopheader\defoptype\ 12770,91720
-\def\defopheader #1#2#3{\7f\defopheader\ 12772,91774
-\begingroup\defname {\7fname\ 12774,91863
-\defunargs {\7funargs\ 12775,91909
-\def\defmethod{\7f\defmethod\ 12780,91970
-\def\defmethodheader #1#2#3{\7f\defmethodheader\ 12782,92043
-\begingroup\defname {\7fname\ 12784,92131
-\defunargs {\7funargs\ 12785,92171
-\def\defcv #1 {\7f\defcv\ 12790,92245
-\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}\7fopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype\ 12791,92280
-\def\defcvarheader #1#2#3{\7f\defcvarheader\ 12793,92339
-\begingroup\defname {\7fname\ 12795,92425
-\defvarargs {\7fvarargs\ 12796,92471
-\def\defivar{\7f\defivar\ 12801,92544
-\def\defivarheader #1#2#3{\7f\defivarheader\ 12803,92607
-\begingroup\defname {\7fname\ 12805,92693
-\defvarargs {\7fvarargs\ 12806,92744
-\def\defopx #1 {\7f\defopx\ 12812,92893
-\def\defmethodx #1 {\7f\defmethodx\ 12813,92950
-\def\defcvx #1 {\7f\defcvx\ 12814,93015
-\def\defivarx #1 {\7f\defivarx\ 12815,93072
-\def\defvarargs #1{\7f\defvarargs\ 12822,93343
-\def\defvr{\7f\defvr\ 12828,93487
-\def\defvrheader #1#2#3{\7f\defvrheader\ 12830,93542
-\begingroup\defname {\7fname\ 12831,93590
-\def\defvar{\7f\defvar\ 12835,93675
-\def\defvarheader #1#2{\7f\defvarheader\ 12837,93735
-\begingroup\defname {\7fname\ 12838,93806
-\defvarargs {\7fvarargs\ 12839,93842
-\def\defopt{\7f\defopt\ 12844,93908
-\def\defoptheader #1#2{\7f\defoptheader\ 12846,93968
-\begingroup\defname {\7fname\ 12847,94039
-\defvarargs {\7fvarargs\ 12848,94078
-\def\deftypevar{\7f\deftypevar\ 12853,94135
-\def\deftypevarheader #1#2{\7f\deftypevarheader\ 12856,94251
-\begingroup\defname {\7fname\ 12858,94334
-\def\deftypevr{\7f\deftypevr\ 12865,94508
-\def\deftypevrheader #1#2#3{\7f\deftypevrheader\ 12867,94579
-\begingroup\defname {\7fname\ 12868,94631
-\def\defvrx #1 {\7f\defvrx\ 12876,94868
-\def\defvarx #1 {\7f\defvarx\ 12877,94925
-\def\defoptx #1 {\7f\defoptx\ 12878,94984
-\def\deftypevarx #1 {\7f\deftypevarx\ 12879,95043
-\def\deftypevrx #1 {\7f\deftypevrx\ 12880,95110
-\def\deftpargs #1{\7f\deftpargs\ 12885,95259
-\def\deftp{\7f\deftp\ 12889,95339
-\def\deftpheader #1#2#3{\7f\deftpheader\ 12891,95394
-\begingroup\defname {\7fname\ 12892,95442
-\def\deftpx #1 {\7f\deftpx\ 12897,95601
-\def\setref#1{\7f\setref\ 12908,95922
-\def\unnumbsetref#1{\7f\unnumbsetref\ 12913,96036
-\def\appendixsetref#1{\7f\appendixsetref\ 12918,96143
-\def\pxref#1{\7f\pxref\ 12929,96554
-\def\xref#1{\7f\xref\ 12930,96590
-\def\ref#1{\7f\ref\ 12931,96625
-\def\xrefX[#1,#2,#3,#4,#5,#6]{\7f\xrefX[\ 12932,96655
-\def\printedmanual{\7f\printedmanual\ 12933,96698
-\def\printednodename{\7f\printednodename\ 12934,96736
-\def\printednodename{\7f\printednodename\ 12939,96861
-section ``\printednodename'' in \cite{\printedmanual}\7f\printedmanual\ 12954,97493
-\refx{\7fx\ 12957,97571
-\def\dosetq #1#2{\7f\dosetq\ 12965,97791
-\def\internalsetq #1#2{\7f\internalsetq\ 12973,98049
-\def\Ypagenumber{\7f\Ypagenumber\ 12977,98150
-\def\Ytitle{\7f\Ytitle\ 12979,98176
-\def\Ynothing{\7f\Ynothing\ 12981,98203
-\def\Ysectionnumberandtype{\7f\Ysectionnumberandtype\ 12983,98220
-\def\Yappendixletterandtype{\7f\Yappendixletterandtype\ 12992,98536
-\ifnum\secno=0 Appendix\xreftie'char\the\appendixno{\7fno\ 12993,98566
-\else \ifnum \subsecno=0 Section\xreftie'char\the\appendixno.\the\secno %\7fno.\the\secno\ 12994,98621
-Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno %\7fno.\the\secno.\the\subsecno\ 12996,98725
-Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %\7fno.\the\secno.\the\subsecno.\the\subsubsecno\ 12998,98796
-  \def\linenumber{\7f\linenumber\ 13009,99135
-\def\refx#1#2{\7f\refx\ 13015,99319
-\def\xrdef #1#2{\7f\xrdef\ 13037,99945
-\def\readauxfile{\7f\readauxfile\ 13040,100030
-\def\supereject{\7f\supereject\ 13110,101811
-\footstrut\parindent=\defaultparindent\hang\textindent{\7faultparindent\hang\textindent\ 13131,102496
-\def\openindices{\7f\openindices\ 13139,102682
-\newdimen\defaultparindent \defaultparindent = 15pt\7faultparindent\ 13151,102907
-\parindent = \defaultparindent\7faultparindent\ 13152,102959
-\def\smallbook{\7f\smallbook\ 13175,103683
-\global\def\Esmallexample{\7f\Esmallexample\ 13192,104110
-\def\afourpaper{\7f\afourpaper\ 13196,104201
-\def\finalout{\7f\finalout\ 13224,105009
-\def\normaldoublequote{\7f\normaldoublequote\ 13235,105270
-\def\normaltilde{\7f\normaltilde\ 13236,105296
-\def\normalcaret{\7f\normalcaret\ 13237,105316
-\def\normalunderscore{\7f\normalunderscore\ 13238,105336
-\def\normalverticalbar{\7f\normalverticalbar\ 13239,105361
-\def\normalless{\7f\normalless\ 13240,105387
-\def\normalgreater{\7f\normalgreater\ 13241,105406
-\def\normalplus{\7f\normalplus\ 13242,105428
-\def\ifusingtt#1#2{\7f\ifusingtt\ 13253,105920
-\def\activedoublequote{\7f\activedoublequote\ 13261,106248
-\def~{\7f~\ 13264,106334
-\def^{\7f^\ 13267,106395
-\def_{\7f_\ 13270,106434
-\def\_{\7f\_\ 13272,106508
-\def\lvvmode{\7f\lvvmode\ 13279,106845
-\def|{\7f|\ 13282,106895
-\def<{\7f<\ 13285,106958
-\def>{\7f>\ 13288,107015
-\def+{\7f+\ 13290,107053
-\def\turnoffactive{\7f\turnoffactive\ 13296,107214
-\global\def={\7f=\ 13307,107500
-\def\normalbackslash{\7f\normalbackslash\ 13321,107882
-\f
-merc-src/accumulator.m,4915
-:- interface\7f146,5371
-:- import_module hlds\7f148,5386
-:- import_module univ\7f152,5478
-:- pred accu_transform_proc\7f159,5793
-:- implementation\7f166,6115
-:- import_module libs\7f180,6552
-:- import_module mdbcomp\7f184,6681
-:- import_module parse_tree\7f186,6742
-:- import_module assoc_list\7f194,7013
-:- import_module bool\7f195,7042
-:- import_module int\7f196,7065
-:- import_module io\7f197,7087
-:- import_module list\7f198,7108
-:- import_module map\7f199,7131
-:- import_module maybe\7f200,7153
-:- import_module pair\7f201,7177
-:- import_module require\7f202,7200
-:- import_module set\7f203,7226
-:- import_module solutions\7f204,7248
-:- import_module string\7f205,7276
-:- import_module term\7f206,7301
-:- import_module varset\7f207,7324
-:- type top_level\7f213,7499
-:- type accu_goal_id\7f225,7900
-:- type accu_case\7f228,7964
-:- type accu_goal_store\7f234,8091
-:- type accu_subst\7f238,8216
-:- type accu_warning\7f240,8264
-accu_transform_proc\7f247,8578
-:- pred generate_warnings\7f334,12550
-generate_warnings\7f337,12669
-:- pred generate_warning\7f342,12895
-generate_warning\7f345,13001
-:- pred should_attempt_accu_transform\7f365,13886
-should_attempt_accu_transform\7f370,14123
-:- pred should_attempt_accu_transform_2\7f398,15406
-should_attempt_accu_transform_2\7f405,15763
-:- pred accu_standardize\7f440,17390
-accu_standardize\7f442,17455
-:- pred identify_goal_type\7f465,18169
-identify_goal_type\7f469,18359
-:- pred is_recursive_case\7f549,21175
-is_recursive_case\7f551,21253
-:- type store_info\7f560,21713
-:- func initialize_goal_store\7f570,22060
-initialize_goal_store\7f573,22166
-:- pred accu_store\7f580,22421
-accu_store\7f584,22576
-:- pred identify_recursive_calls\7f601,23288
-identify_recursive_calls\7f604,23406
-:- pred identify_out_and_out_prime\7f626,24397
-identify_out_and_out_prime\7f631,24632
-:- type accu_sets\7f676,26426
-:- pred accu_stage1\7f689,26978
-accu_stage1\7f693,27156
-:- pred accu_stage1_2\7f727,28348
-accu_stage1_2\7f731,28516
-:- pred accu_sets_init\7f781,30558
-accu_sets_init\7f783,30606
-:- func set_upto\7f796,30985
-set_upto\7f798,31040
-:- pred accu_before\7f812,31499
-accu_before\7f815,31640
-:- pred accu_assoc\7f835,32478
-accu_assoc\7f838,32618
-:- pred accu_construct\7f862,33713
-accu_construct\7f865,33857
-:- pred accu_construct_assoc\7f896,35308
-accu_construct_assoc\7f899,35458
-:- pred accu_update\7f938,37070
-accu_update\7f941,37211
-:- pred member_lessthan_goalid\7f964,38220
-member_lessthan_goalid\7f967,38343
-:- type accu_assoc\7f975,38653
-:- pred accu_is_associative\7f986,39139
-accu_is_associative\7f989,39251
-:- pred associativity_assertion\7f1014,40264
-associativity_assertion\7f1017,40405
-:- pred commutativity_assertion\7f1037,41243
-commutativity_assertion\7f1040,41370
-:- pred accu_is_update\7f1057,41953
-accu_is_update\7f1060,42067
-:- pred is_associative_construction\7f1078,42803
-is_associative_construction\7f1081,42899
-:- type accu_substs\7f1095,43481
-:- type accu_base\7f1103,43745
-:- pred accu_stage2\7f1124,44606
-accu_stage2\7f1131,44947
-:- pred accu_substs_init\7f1179,46958
-accu_substs_init\7f1182,47098
-:- pred acc_var_subst_init\7f1194,47574
-acc_var_subst_init\7f1198,47719
-:- pred create_new_var\7f1207,48148
-create_new_var\7f1210,48289
-:- pred accu_process_assoc_set\7f1223,48863
-accu_process_assoc_set\7f1229,49151
-:- pred accu_has_heuristic\7f1297,52082
-accu_has_heuristic\7f1299,52162
-:- pred accu_heuristic\7f1304,52337
-accu_heuristic\7f1307,52458
-:- pred accu_process_update_set\7f1318,52907
-accu_process_update_set\7f1325,53222
-:- pred accu_divide_base_case\7f1380,55845
-accu_divide_base_case\7f1385,56060
-:- pred accu_related\7f1412,57147
-accu_related\7f1415,57271
-:- inst stored_goal_plain_call\7f1444,58416
-:- pred lookup_call\7f1449,58602
-lookup_call\7f1452,58716
-:- pred accu_stage3\7f1470,59433
-accu_stage3\7f1477,59827
-:- pred acc_proc_info\7f1508,61327
-acc_proc_info\7f1512,61486
-:- pred acc_pred_info\7f1556,63450
-acc_pred_info\7f1559,63598
-:- pred accu_create_goal\7f1600,65286
-accu_create_goal\7f1607,65629
-:- func create_acc_call\7f1621,66401
-create_acc_call\7f1625,66570
-:- pred create_orig_goal\7f1634,66988
-create_orig_goal\7f1638,67177
-:- pred create_acc_goal\7f1662,68158
-create_acc_goal\7f1667,68381
-:- func create_new_orig_recursive_goals\7f1709,70226
-create_new_orig_recursive_goals\7f1712,70369
-:- func create_new_recursive_goals\7f1723,70919
-create_new_recursive_goals\7f1727,71109
-:- func create_new_base_goals\7f1738,71718
-create_new_base_goals\7f1741,71832
-:- pred acc_unification\7f1749,72157
-acc_unification\7f1751,72226
-:- pred accu_top_level\7f1766,72897
-accu_top_level\7f1770,73059
-:- pred update_accumulator_pred\7f1856,76291
-update_accumulator_pred\7f1859,76412
-:- func accu_rename\7f1876,77254
-accu_rename\7f1879,77364
-:- func base_case_ids\7f1889,77785
-base_case_ids\7f1891,77847
-:- func base_case_ids_set\7f1898,78049
-base_case_ids_set\7f1900,78114
-:- func accu_goal_list\7f1905,78270
-accu_goal_list\7f1907,78350
-:- pred calculate_goal_info\7f1916,78681
-calculate_goal_info\7f1918,78754
-:- func chain_subst\7f1932,79320
-chain_subst\7f1934,79379
-:- pred chain_subst_2\7f1938,79483
-chain_subst_2\7f1941,79577
-:- some [T] pred unravel_univ\7f1956,80061
-:- pragma foreign_export\7f1957,80117
-unravel_univ\7f1961,80341
-\f
-c-src/c.c,76
-T f(\7f1,0
-}T i;\7f2,14
-void bar(\7f5,69
-int foobar(\7f6,94
-interface_locate(\7f9,131
-\f
-c.c,1980
-void (*fa)\7ffa\ 1131,
-void \7f132,
-my_printf \7f135,
-void fatala \7f138,
-void fatalb \7f139,
-max \7f141,
-struct bar \7f143,
-__attribute__ ((always_inline)) max \7f147,
-extern int old_var \7f149,
-struct foo\7f150,
-char stack[\7fstack\ 1155,
-struct S \7f156,
-} wait_status_ptr_t \7f161,
-Some_Class  A \7f162,
-typedef T1 T3 \7f163,
-T3 z \7f164,
-typedef int more_aligned_int \7f165,
-struct S  __attribute__ ((vector_size (16))) foo;\7f166,
-int foo \7f167,
-char *__attribute__((aligned(8))) *f;\7ff\ 1168,
-int i \7f169,
-extern void foobar \7f170,
-typedef struct cacheLRUEntry_s\7f172,
-__attribute__ ((packed)) cacheLRUEntry_t;\7f177,
-struct foo \7f178,
-     f1 \7f183,
-void f2 \7f184,
-__attribute__((noreturn)) void d0 \7f185,
-  __attribute__((format(printf, 1, 2))) d1 \7f186,
-  d2 \7f187,
-int x \7f188,
-struct foo \7f189,
-short array[\7farray\ 1190,
-int f\7f193,
-DEAFUN \7f196,
-XDEFUN \7f203,
-DEFUN ("x-get-selection-internal", Fx_get_selection_internal,\7f206,
-DEFUN ("x-get-selection-internal", Fx_get_selection_internal,\7fx-get-selection-internal\ 1206,
-       Fx_get_selection_internal,\7f212,
-       Fx_get_selection_internal,\7fx-get-selection-internal\ 1212,
-      Fy_get_selection_internal,\7f216,
-      Fy_get_selection_internal,\7fy-get-selection-internal\ 1216,
-defun_func1(\7f218,
-DEFUN_func2(\7f220,
-typedef int bool;\7f222,
-bool funcboo \7f223,
-struct my_struct \7f226,
-typedef struct my_struct my_typedef;\7f228,
-int bla \7f229,
-a(\7f234,
-int func1\7f237,
-static struct cca_control init_control \7f239,
-static tpcmd rbtp \7f240,
-static byte ring1 \7f241,
-static byte ring2 \7f242,
-request request \7f243,
-int func2 \7f246,
-  aaa;\7f249,
-  bbb;\7f251,
-struct sss1 \7f252,
-struct sss2\7f253,
-  struct ss3\7f255,
-struct a b;\7f259,
-struct aa *b;\7fb\ 1260,
-  **b;\7fb\ 1262,
-caccacacca \7f263,
-a \7f267,
-  typedef struct aa \7f269,
-  typedef struct aa {} aaa;\7f269,
-static void inita \7f271,
-node *lasta \7flasta\ 1272,
-b \7f273,
-  typedef  int bb;\7f275,
-static void initb \7f277,
-node *lastb \7flastb\ 1278,
-typedef enum { REG_ENOSYS \7f279,
-typedef enum { REG_ENOSYS = -1, aa \7f279,
-typedef enum { REG_ENOSYS = -1, aa } reg_errcode_t;\7f279,
-\f
-c-src/a/b/b.c,18
-#define this \7f1,0
-\f
-../c/c.web,20
-#define questo \7f34,
-\f
-y-src/parse.y,1061
-#define obstack_chunk_alloc \7f47,1124
-#define obstack_chunk_free \7f48,1162
-int yylex \7f58,1330
-void yyerror \7f60,1360
-void yyerror \7f62,1389
-VOIDSTAR parse_hash;\7f64,1413
-extern VOIDSTAR hash_find(\7f65,1434
-unsigned char fnin[\7ffnin\ 168,1532
-#define YYSTYPE \7f72,1630
-typedef struct node *YYSTYPE;\7fYYSTYPE\ 173,1661
-YYSTYPE parse_return;\7f74,1691
-YYSTYPE make_list \7f76,1729
-YYSTYPE make_list \7f78,1773
-char *instr;\7finstr\ 181,1803
-int parse_error \7f82,1816
-extern struct obstack tmp_mem;\7f83,1837
-line:\7fline\ 187,1875
-exp:\7fexp\ 195,1988
-exp_list:\7fexp_list\ 1263,5655
-range_exp:\7frange_exp\ 1269,5753
-range_exp_list:\7frange_exp_list\ 1273,5783
-cell:\7fcell\ 1279,5901
-yyerror FUN1(\7f286,5948
-make_list FUN2(\7f293,6028
-#define ERROR \7f304,6228
-extern struct node *yylval;\7fyylval\ 1306,6246
-unsigned char parse_cell_or_range \7f309,6291
-unsigned char parse_cell_or_range \7f311,6355
-yylex FUN0(\7f315,6405
-parse_cell_or_range FUN2(\7f587,11772
-#define CK_ABS_R(\7f671,13214
-#define CK_REL_R(\7f675,13293
-#define CK_ABS_C(\7f680,13422
-#define CK_REL_C(\7f684,13501
-#define MAYBEREL(\7f689,13630
-str_to_col FUN1(\7f847,16831
-\f
-y-src/parse.c,520
-#define YYBISON \7f4,64
-# define       NE      \7f6,114
-# define       LE      \7f7,130
-# define       GE      \7f8,146
-# define       NEG     \7f9,162
-# define       L_CELL  \7f10,179
-# define       L_RANGE \7f11,199
-# define       L_VAR   \7f12,220
-# define       L_CONST \7f13,239
-# define       L_FN0   \7f14,260
-# define       L_FN1   \7f15,279
-# define       L_FN2   \7f16,298
-# define       L_FN3   \7f17,317
-# define       L_FN4   \7f18,336
-# define       L_FNN   \7f19,355
-# define       L_FN1R  \7f20,374
-# define       L_FN2R  \7f21,394
-# define       L_FN3R  \7f22,414
-# define       L_FN4R  \7f23,434
-# define       L_FNNR  \7f24,454
-# define       L_LE    \7f25,474
-# define       L_NE    \7f26,492
-# define       L_GE    \7f27,510
-\f
-/usr/share/bison/bison.simple,1729
-# define YYSTD(\7f40,
-# define YYSTD(\7f42,
-#  define YYSTACK_ALLOC \7f50,
-#  define YYSIZE_T \7f51,
-#    define YYSTACK_ALLOC \7f55,
-#    define YYSIZE_T \7f56,
-#     define YYSTACK_ALLOC \7f59,
-#  define YYSTACK_FREE(\7f67,
-#   define YYSIZE_T \7f71,
-#    define YYSIZE_T \7f75,
-#  define YYSTACK_ALLOC \7f78,
-#  define YYSTACK_FREE \7f79,
-union yyalloc\7f83,
-# define YYSTACK_GAP_MAX \7f93,
-#  define YYSTACK_BYTES(\7f98,
-#  define YYSTACK_BYTES(\7f102,
-# define YYSTACK_RELOCATE(\7f112,
-# define YYSIZE_T \7f128,
-# define YYSIZE_T \7f131,
-#  define YYSIZE_T \7f136,
-#   define YYSIZE_T \7f140,
-# define YYSIZE_T \7f145,
-#define yyerrok        \7f148,
-#define yyclearin      \7f149,
-#define YYEMPTY        \7f150,
-#define YYEOF  \7f151,
-#define YYACCEPT       \7f152,
-#define YYABORT \7f153,
-#define YYERROR        \7f154,
-#define YYFAIL \7f158,
-#define YYRECOVERING(\7f159,
-#define YYBACKUP(\7f160,
-#define YYTERROR       \7f177,
-#define YYERRCODE      \7f178,
-# define YYLLOC_DEFAULT(\7f189,
-#   define YYLEX       \7f200,
-#   define YYLEX       \7f202,
-#   define YYLEX       \7f206,
-#   define YYLEX       \7f208,
-# define YYLEX \7f212,
-#  define YYFPRINTF \7f225,
-# define YYDPRINTF(\7f228,
-int yydebug;\7f237,
-# define YYDPRINTF(\7f239,
-# define YYINITDEPTH \7f244,
-# undef YYMAXDEPTH\7f255,
-# define YYMAXDEPTH \7f259,
-#  define yymemcpy \7f264,
-yymemcpy \7f271,
-#   define yystrlen \7f293,
-yystrlen \7f298,
-#   define yystpcpy \7f316,
-yystpcpy \7f322,
-#  define YYPARSE_PARAM_ARG \7f351,
-#  define YYPARSE_PARAM_DECL\7f352,
-#  define YYPARSE_PARAM_ARG \7f354,
-#  define YYPARSE_PARAM_DECL \7f355,
-# define YYPARSE_PARAM_ARG\7f358,
-# define YYPARSE_PARAM_DECL\7f359,
-int yyparse \7f365,
-int yyparse \7f367,
-#define YY_DECL_NON_LSP_VARIABLES      \7f374,
-# define YY_DECL_VARIABLES     \7f385,
-# define YY_DECL_VARIABLES     \7f391,
-yyparse \7f403,
-# define YYPOPSTACK \7f445,
-# define YYPOPSTACK \7f447,
-# undef YYSTACK_RELOCATE\7f548,
-\f
-y-src/atest.y,9
-exp    \7f2,3
-\f
-y-src/cccp.c,303
-#define YYBISON \7f4,63
-# define       INT     \7f6,113
-# define       CHAR    \7f7,130
-# define       NAME    \7f8,148
-# define       ERROR   \7f9,166
-# define       OR      \7f10,185
-# define       AND     \7f11,201
-# define       EQUAL   \7f12,218
-# define       NOTEQUAL        \7f13,237
-# define       LEQ     \7f14,259
-# define       GEQ     \7f15,276
-# define       LSH     \7f16,293
-# define       RSH     \7f17,310
-# define       UNARY   \7f18,327
-\f
-/usr/share/bison/bison.simple,2180
-# define YYSTD(\7f41,
-# define YYSTD(\7f43,
-#  define YYSTACK_ALLOC \7f51,
-#  define YYSIZE_T \7f52,
-#    define YYSTACK_ALLOC \7f56,
-#    define YYSIZE_T \7f57,
-#     define YYSTACK_ALLOC \7f60,
-#  define YYSTACK_FREE(\7f68,
-#   define YYSIZE_T \7f72,
-#    define YYSIZE_T \7f76,
-#  define YYSTACK_ALLOC \7f79,
-#  define YYSTACK_FREE \7f80,
-union yyalloc\7f84,
-# define YYSTACK_GAP_MAX \7f94,
-#  define YYSTACK_BYTES(\7f99,
-#  define YYSTACK_BYTES(\7f103,
-# define YYSTACK_RELOCATE(\7f113,
-# define YYSIZE_T \7f129,
-# define YYSIZE_T \7f132,
-#  define YYSIZE_T \7f137,
-#   define YYSIZE_T \7f141,
-# define YYSIZE_T \7f146,
-#define yyerrok        \7f149,
-#define yyclearin      \7f150,
-#define YYEMPTY        \7f151,
-#define YYEOF  \7f152,
-#define YYACCEPT       \7f153,
-#define YYABORT \7f154,
-#define YYERROR        \7f155,
-#define YYFAIL \7f159,
-#define YYRECOVERING(\7f160,
-#define YYBACKUP(\7f161,
-#define YYTERROR       \7f178,
-#define YYERRCODE      \7f179,
-# define YYLLOC_DEFAULT(\7f190,
-#   define YYLEX       \7f201,
-#   define YYLEX       \7f203,
-#   define YYLEX       \7f207,
-#   define YYLEX       \7f209,
-# define YYLEX \7f213,
-#  define YYFPRINTF \7f226,
-# define YYDPRINTF(\7f229,
-int yydebug;\7f238,
-# define YYDPRINTF(\7f240,
-# define YYINITDEPTH \7f245,
-# undef YYMAXDEPTH\7f256,
-# define YYMAXDEPTH \7f260,
-#  define yymemcpy \7f265,
-yymemcpy \7f272,
-#   define yystrlen \7f294,
-yystrlen \7f299,
-#   define yystpcpy \7f317,
-yystpcpy \7f323,
-#  define YYPARSE_PARAM_ARG \7f351,
-#  define YYPARSE_PARAM_DECL\7f352,
-#  define YYPARSE_PARAM_ARG \7f354,
-#  define YYPARSE_PARAM_DECL \7f355,
-# define YYPARSE_PARAM_ARG\7f358,
-# define YYPARSE_PARAM_DECL\7f359,
-int yyparse \7f365,
-int yyparse \7f367,
-#define YY_DECL_NON_LSP_VARIABLES      \7f374,
-# define YY_DECL_VARIABLES     \7f385,
-# define YY_DECL_VARIABLES     \7f391,
-yyparse \7f403,
-# define YYPOPSTACK \7f445,
-# define YYPOPSTACK \7f447,
-# undef YYSTACK_RELOCATE\7f548,
-  *++yyvsp \7fyyvsp\ 1746,
-  *++yylsp \7fyylsp\ 1748,
-  yyn \7f755,
-  yystate \7f757,
-    yystate \7f761,
-  goto yynewstate;\7f763,
-  goto yyerrlab1;\7f823,
-  yyerrstatus \7f846,
-  goto yyerrhandle;\7f848,
-  yyn \7f861,
-  yystate \7f875,
-  yyn \7f895,
-  yyn \7f903,
-  YYDPRINTF \7f917,
-  *++yyvsp \7fyyvsp\ 1919,
-  *++yylsp \7fyylsp\ 1921,
-  yystate \7f924,
-  goto yynewstate;\7f925,
-  yyresult \7f932,
-  goto yyreturn;\7f933,
-  yyresult \7f939,
-  goto yyreturn;\7f940,
-  yyerror \7f946,
-  yyresult \7f947,
-\f
-y-src/cccp.y,1582
-typedef unsigned char U_CHAR;\7f38,1201
-struct arglist \7f41,1301
-#define NULL \7f51,1468
-#define GENERIC_PTR \7f56,1578
-#define GENERIC_PTR \7f58,1611
-#define NULL_PTR \7f63,1670
-int yylex \7f66,1712
-void yyerror \7f67,1726
-int expression_value;\7f68,1743
-static jmp_buf parse_return_error;\7f70,1766
-static int keyword_parsing \7f73,1865
-extern unsigned char is_idstart[\7fis_idstart\ 176,1944
-extern unsigned char is_idstart[], is_idchar[\7fis_idchar\ 176,1944
-extern unsigned char is_idstart[], is_idchar[], is_hor_space[\7fis_hor_space\ 176,1944
-extern char *xmalloc \7fxmalloc\ 178,2009
-extern int pedantic;\7f81,2062
-extern int traditional;\7f84,2114
-#define CHAR_TYPE_SIZE \7f87,2162
-#define INT_TYPE_SIZE \7f91,2229
-#define LONG_TYPE_SIZE \7f95,2296
-#define WCHAR_TYPE_SIZE \7f99,2365
-#define possible_sum_sign(\7f104,2556
-static void integer_overflow \7f106,2632
-static long left_shift \7f107,2665
-static long right_shift \7f108,2692
-  struct constant \7f112,2733
-  struct name \7f113,2789
-start \7f143,3226
-exp1   \7f148,3330
-exp    \7f156,3505
-exp    \7f185,4295
-keywords \7f306,7835
-static char *lexptr;\7flexptr\ 1332,8579
-parse_number \7f341,8842
-struct token \7f437,11038
-static struct token tokentab2[\7ftokentab2\ 1442,11088
-yylex \7f459,11367
-parse_escape \7f740,17718
-yyerror \7f836,19599
-integer_overflow \7f844,19690
-left_shift \7f851,19804
-right_shift \7f873,20194
-parse_c_expression \7f893,20732
-extern int yydebug;\7f919,21416
-main \7f923,21483
-unsigned char is_idchar[\7fis_idchar\ 1948,21901
-unsigned char is_idstart[\7fis_idstart\ 1950,21996
-char is_hor_space[\7fis_hor_space\ 1953,22160
-initialize_random_junk \7f958,22259
-error \7f988,22915
-warning \7f993,22963
-lookup \7f999,23033
-\f
-tex-src/nonewline.tex,0
-\f
-php-src/sendmail.php,0
-\f
-a-src/empty.zz,0
diff --git a/test/manual/etags/ETAGS.good_3 b/test/manual/etags/ETAGS.good_3
deleted file mode 100644 (file)
index 15ed785..0000000
+++ /dev/null
@@ -1,4786 +0,0 @@
-\f
-ada-src/etags-test-for.ada,1969
-   type LL_Task_Procedure_Access \7fLL_Task_Procedure_Access/t\ 11,0
-   function Body_Required\7fBody_Required/f\ 13,78
-   type Type_Specific_Data \7fType_Specific_Data/t\ 111,280
-   function "abs"\7fabs/f\ 119,504
-   type Barrier_Function_Pointer \7fBarrier_Function_Pointer/t\ 121,577
-   function "="\7f=/f\ 127,722
-   type usfreelock_ptr \7fusfreelock_ptr/t\ 130,803
-   function p \7fp/f\ 133,891
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 137,1054
-function p \7fp/f\ 139,1094
-package Pkg1 \7fPkg1/s\ 144,1203
-  type Private_T \7fPrivate_T/t\ 146,1220
-  package Inner1 \7fInner1/s\ 148,1250
-    procedure Private_T;\7fPrivate_T/p\ 149,1270
-  package Inner2 \7fInner2/s\ 152,1310
-    task Private_T;\7fPrivate_T/k\ 153,1330
-  type Public_T \7fPublic_T/t\ 156,1365
-  procedure Pkg1_Proc1;\7fPkg1_Proc1/p\ 162,1450
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 164,1475
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 166,1514
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 168,1553
-  package Pkg1_Pkg1 \7fPkg1_Pkg1/s\ 171,1622
-    procedure Pkg1_Pkg1_Proc1;\7fPkg1_Pkg1_Proc1/p\ 172,1645
-  task type Task_Type \7fTask_Type/k\ 175,1694
-  type Private_T \7fPrivate_T/t\ 182,1786
-package body Pkg1 \7fPkg1/b\ 189,1882
-  procedure Pkg1_Proc1 \7fPkg1_Proc1/p\ 191,1904
-  package body Inner1 \7fInner1/b\ 196,1956
-    procedure Private_T \7fPrivate_T/p\ 197,1981
-  package body Inner2 \7fInner2/b\ 1103,2054
-    task body Private_T \7fPrivate_T/b\ 1104,2079
-  task body Task_Type \7fTask_Type/b\ 1112,2181
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 1126,2367
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 1132,2445
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 1134,2496
-  package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1140,2596
-package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1146,2663
-  procedure Pkg1_Pkg1_Proc1 \7fPkg1_Pkg1_Proc1/p\ 1147,2689
-function  Pkg1_Func1 \7fPkg1_Func1/f\ 1155,2778
-package Truc \7fTruc/s\ 1162,2887
-package Truc.Bidule \7fTruc.Bidule/s\ 1166,2929
-  protected Bidule \7fBidule/t\ 1168,2953
-  protected type Machin_T \7fMachin_T/t\ 1172,3007
-package body Truc.Bidule \7fTruc.Bidule/b\ 1178,3087
-  protected body Bidule \7fBidule/b\ 1179,3115
-  protected Machin_T \7fMachin_T/t\ 1186,3207
-\f
-ada-src/2ataspri.adb,2190
-package body System.Task_Primitives \7fSystem.Task_Primitives/b\ 164,2603
-   package RTE \7fRTE/s\ 169,2712
-   package TSL \7fTSL/s\ 170,2759
-   function To_void_ptr \7fTo_void_ptr/f\ 186,3287
-   function To_TCB_Ptr \7fTo_TCB_Ptr/f\ 189,3366
-   function pthread_mutexattr_setprotocol\7fpthread_mutexattr_setprotocol/f\ 192,3444
-   function pthread_mutexattr_setprio_ceiling\7fpthread_mutexattr_setprio_ceiling/f\ 199,3728
-   procedure Abort_Wrapper\7fAbort_Wrapper/p\ 1115,4302
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 1122,4526
-   procedure Initialize_LL_Tasks \7fInitialize_LL_Tasks/p\ 1131,4830
-   function Self \7fSelf/f\ 1160,5586
-   procedure Initialize_Lock\7fInitialize_Lock/p\ 1174,5958
-   procedure Finalize_Lock \7fFinalize_Lock/p\ 1210,6927
-   procedure Write_Lock \7fWrite_Lock/p\ 1226,7338
-   procedure Read_Lock \7fRead_Lock/p\ 1239,7700
-   procedure Unlock \7fUnlock/p\ 1246,7850
-   procedure Initialize_Cond \7fInitialize_Cond/p\ 1258,8160
-   procedure Finalize_Cond \7fFinalize_Cond/p\ 1286,8979
-   procedure Cond_Wait \7fCond_Wait/p\ 1300,9303
-   procedure Cond_Timed_Wait\7fCond_Timed_Wait/p\ 1312,9661
-   procedure Cond_Signal \7fCond_Signal/p\ 1343,10510
-   procedure Set_Priority\7fSet_Priority/p\ 1355,10836
-   procedure Set_Own_Priority \7fSet_Own_Priority/p\ 1372,11243
-   function Get_Priority \7fGet_Priority/f\ 1385,11598
-   function Get_Own_Priority \7fGet_Own_Priority/f\ 1398,12023
-   procedure Create_LL_Task\7fCreate_LL_Task/p\ 1412,12438
-      function To_Start_Addr \7fTo_Start_Addr/f\ 1426,12873
-   procedure Exit_LL_Task \7fExit_LL_Task/p\ 1491,14995
-   procedure Abort_Task \7fAbort_Task/p\ 1500,15158
-   procedure Test_Abort \7fTest_Abort/p\ 1518,15716
-   procedure Install_Abort_Handler \7fInstall_Abort_Handler/p\ 1527,15878
-   procedure Abort_Wrapper\7fAbort_Wrapper/p\ 1557,16939
-      function Address_To_Call_State \7fAddress_To_Call_State/f\ 1562,17062
-   procedure Install_Error_Handler \7fInstall_Error_Handler/p\ 1573,17351
-   procedure LL_Assert \7fLL_Assert/p\ 1599,18146
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 1608,18299
-   procedure Initialize_TAS_Cell \7fInitialize_TAS_Cell/p\ 1630,19010
-   procedure Finalize_TAS_Cell \7fFinalize_TAS_Cell/p\ 1635,19129
-   procedure Clear \7fClear/p\ 1640,19236
-   procedure Test_And_Set \7fTest_And_Set/p\ 1645,19330
-   function  Is_Set \7fIs_Set/f\ 1659,19676
-\f
-ada-src/2ataspri.ads,2313
-package System.Task_Primitives \7fSystem.Task_Primitives/s\ 158,3169
-   type LL_Task_Procedure_Access \7fLL_Task_Procedure_Access/t\ 162,3253
-   type Pre_Call_State \7fPre_Call_State/t\ 164,3331
-   type Task_Storage_Size \7fTask_Storage_Size/t\ 166,3378
-   type Machine_Exceptions \7fMachine_Exceptions/t\ 168,3433
-   type Error_Information \7fError_Information/t\ 170,3499
-   type Lock \7fLock/t\ 172,3569
-   type Condition_Variable \7fCondition_Variable/t\ 173,3594
-   type Task_Control_Block \7fTask_Control_Block/t\ 181,3955
-   type TCB_Ptr \7fTCB_Ptr/t\ 189,4241
-   function Address_To_TCB_Ptr \7fAddress_To_TCB_Ptr/f\ 193,4333
-   procedure Initialize_LL_Tasks \7fInitialize_LL_Tasks/p\ 196,4425
-   function Self \7fSelf/f\ 1100,4602
-   procedure Initialize_Lock \7fInitialize_Lock/p\ 1103,4707
-   procedure Finalize_Lock \7fFinalize_Lock/p\ 1107,4879
-   procedure Write_Lock \7fWrite_Lock/p\ 1111,5034
-   procedure Read_Lock \7fRead_Lock/p\ 1118,5428
-   procedure Unlock \7fUnlock/p\ 1128,5995
-   procedure Initialize_Cond \7fInitialize_Cond/p\ 1135,6300
-   procedure Finalize_Cond \7fFinalize_Cond/p\ 1138,6413
-   procedure Cond_Wait \7fCond_Wait/p\ 1142,6591
-   procedure Cond_Timed_Wait\7fCond_Timed_Wait/p\ 1155,7396
-   procedure Cond_Signal \7fCond_Signal/p\ 1164,7812
-   procedure Set_Priority \7fSet_Priority/p\ 1169,8040
-   procedure Set_Own_Priority \7fSet_Own_Priority/p\ 1173,8200
-   function Get_Priority \7fGet_Priority/f\ 1177,8348
-   function Get_Own_Priority \7fGet_Own_Priority/f\ 1181,8504
-   procedure Create_LL_Task\7fCreate_LL_Task/p\ 1185,8647
-   procedure Exit_LL_Task;\7fExit_LL_Task/p\ 1198,9282
-   procedure Abort_Task \7fAbort_Task/p\ 1203,9516
-   procedure Test_Abort;\7fTest_Abort/p\ 1210,9878
-   type Abort_Handler_Pointer \7fAbort_Handler_Pointer/t\ 1217,10233
-   procedure Install_Abort_Handler \7fInstall_Abort_Handler/p\ 1219,10312
-   procedure Install_Error_Handler \7fInstall_Error_Handler/p\ 1226,10741
-   procedure LL_Assert \7fLL_Assert/p\ 1231,10983
-   type Proc \7fProc/t\ 1238,11240
-   type TAS_Cell \7fTAS_Cell/t\ 1242,11328
-   procedure Initialize_TAS_Cell \7fInitialize_TAS_Cell/p\ 1249,11670
-   procedure Finalize_TAS_Cell \7fFinalize_TAS_Cell/p\ 1255,11941
-   procedure Clear \7fClear/p\ 1260,12157
-   procedure Test_And_Set \7fTest_And_Set/p\ 1267,12462
-   function  Is_Set \7fIs_Set/f\ 1275,12877
-   type Lock \7fLock/t\ 1283,13155
-   type Condition_Variable \7fCondition_Variable/t\ 1288,13267
-   type TAS_Cell \7fTAS_Cell/t\ 1293,13389
-\f
-ada-src/waroquiers.ada,1503
-package Pkg1 \7fPkg1/s\ 13,89
-  type Private_T \7fPrivate_T/t\ 15,106
-  package Inner1 \7fInner1/s\ 17,136
-    procedure Private_T;\7fPrivate_T/p\ 18,156
-  package Inner2 \7fInner2/s\ 111,196
-    task Private_T;\7fPrivate_T/k\ 112,216
-  type Public_T \7fPublic_T/t\ 115,251
-  procedure Pkg1_Proc1;\7fPkg1_Proc1/p\ 121,336
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 123,361
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 125,400
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 127,439
-  package Pkg1_Pkg1 \7fPkg1_Pkg1/s\ 130,508
-    procedure Pkg1_Pkg1_Proc1;\7fPkg1_Pkg1_Proc1/p\ 131,531
-  task type Task_Type \7fTask_Type/k\ 134,580
-  type Private_T \7fPrivate_T/t\ 140,671
-package body Pkg1 \7fPkg1/b\ 146,766
-  procedure Pkg1_Proc1 \7fPkg1_Proc1/p\ 148,788
-  package body Inner1 \7fInner1/b\ 153,840
-    procedure Private_T \7fPrivate_T/p\ 154,865
-  package body Inner2 \7fInner2/b\ 160,938
-    task body Private_T \7fPrivate_T/b\ 161,963
-  task body Task_Type \7fTask_Type/b\ 168,1064
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 182,1250
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 188,1328
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 190,1379
-  package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 196,1479
-package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1100,1544
-  procedure Pkg1_Pkg1_Proc1 \7fPkg1_Pkg1_Proc1/p\ 1101,1570
-function  Pkg1_Func1 \7fPkg1_Func1/f\ 1107,1657
-package Truc \7fTruc/s\ 1112,1764
-package Truc.Bidule \7fTruc.Bidule/s\ 1116,1816
-  protected Bidule \7fBidule/t\ 1125,1964
-  protected type Machin_T \7fMachin_T/t\ 1131,2046
-package body Truc.Bidule \7fTruc.Bidule/b\ 1138,2153
-  protected body Bidule \7fBidule/b\ 1139,2181
-  protected body Machin_T \7fMachin_T/b\ 1146,2281
-\f
-c-src/abbrev.c,1957
-Lisp_Object Vabbrev_table_name_list;\7f43,1429
-Lisp_Object Vglobal_abbrev_table;\7f48,1574
-Lisp_Object Vfundamental_mode_abbrev_table;\7f52,1685
-int abbrevs_changed;\7f56,1786
-int abbrev_all_caps;\7f58,1808
-Lisp_Object Vabbrev_start_location;\7f63,1957
-Lisp_Object Vabbrev_start_location_buffer;\7f66,2046
-Lisp_Object Vlast_abbrev;\7f70,2155
-Lisp_Object Vlast_abbrev_text;\7f75,2324
-int last_abbrev_point;\7f79,2414
-DEFUN ("make-abbrev-table", Fmake_abbrev_table,\7f82,2440
-DEFUN ("make-abbrev-table", Fmake_abbrev_table,\7fmake-abbrev-table\ 182,2440
-DEFUN ("clear-abbrev-table", Fclear_abbrev_table,\7f89,2632
-DEFUN ("clear-abbrev-table", Fclear_abbrev_table,\7fclear-abbrev-table\ 189,2632
-DEFUN ("define-abbrev", Fdefine_abbrev,\7f104,3013
-DEFUN ("define-abbrev", Fdefine_abbrev,\7fdefine-abbrev\ 1104,3013
-DEFUN ("define-global-abbrev", Fdefine_global_abbrev,\7f146,4332
-DEFUN ("define-global-abbrev", Fdefine_global_abbrev,\7fdefine-global-abbrev\ 1146,4332
-DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,\7f157,4703
-DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,\7fdefine-mode-abbrev\ 1157,4703
-DEFUN ("abbrev-symbol", Fabbrev_symbol,\7f171,5171
-DEFUN ("abbrev-symbol", Fabbrev_symbol,\7fabbrev-symbol\ 1171,5171
-DEFUN ("abbrev-expansion", Fabbrev_expansion,\7f199,6135
-DEFUN ("abbrev-expansion", Fabbrev_expansion,\7fabbrev-expansion\ 1199,6135
-DEFUN ("expand-abbrev", Fexpand_abbrev,\7f215,6650
-DEFUN ("expand-abbrev", Fexpand_abbrev,\7fexpand-abbrev\ 1215,6650
-DEFUN ("unexpand-abbrev", Funexpand_abbrev,\7f383,11495
-DEFUN ("unexpand-abbrev", Funexpand_abbrev,\7funexpand-abbrev\ 1383,11495
-write_abbrev \7f420,12702
-describe_abbrev \7f439,13137
-DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,\7f460,13652
-DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,\7finsert-abbrev-table-description\ 1460,13652
-DEFUN ("define-abbrev-table", Fdefine_abbrev_table,\7f500,14808
-DEFUN ("define-abbrev-table", Fdefine_abbrev_table,\7fdefine-abbrev-table\ 1500,14808
-syms_of_abbrev \7f534,15885
-\f
-c-src/torture.c,197
-(*tag1 \7ftag1\ 118,452
-#define notag2 \7f26,553
-(*tag2 \7ftag2\ 129,630
-(*tag3 \7ftag3\ 139,772
-#define notag4 \7f45,861
-(*tag4 \7ftag4\ 148,955
-tag5 \7f57,1081
-tag6 \7f66,1208
-int pp1(\7f74,1317
-pp2\7f87,1419
-pp3(\7f100,1518
-\f
-c-src/getopt.h,275
-#define _GETOPT_H \7f19,799
-struct option\7f73,2795
-  const char *name;\7fname\ 176,2824
-  char *name;\7fname\ 178,2850
-  int has_arg;\7f82,3007
-  int *flag;\7fflag\ 183,3022
-  int val;\7f84,3035
-#define        no_argument     \7f89,3122
-#define required_argument      \7f90,3145
-#define optional_argument      \7f91,3173
-\f
-c-src/etags.c,12045
-char pot_etags_version[\7fpot_etags_version\ 181,3471
-#  undef DEBUG\7f84,3553
-#  define DEBUG \7f85,3568
-#  define DEBUG \7f87,3595
-#  define NDEBUG       \7f88,3618
-# define _GNU_SOURCE \7f94,3706
-# undef MSDOS\7f100,3877
-# undef  WINDOWSNT\7f101,3891
-# define WINDOWSNT\7f102,3910
-# undef MSDOS\7f106,3969
-# define MSDOS \7f107,3983
-# define MSDOS \7f110,4033
-# define MAXPATHLEN \7f115,4112
-# undef HAVE_NTGUI\7f116,4142
-# undef  DOS_NT\7f117,4161
-# define DOS_NT\7f118,4177
-# undef  assert        \7f135,4483
-# define assert(\7f136,4542
-# undef  CTAGS\7f146,4858
-# define CTAGS \7f147,4873
-# define CTAGS \7f149,4899
-#define streq(\7f152,4928
-#define strcaseeq(\7f153,4997
-#define strneq(\7f154,5076
-#define strncaseeq(\7f155,5152
-#define CHARS \7f157,5239
-#define CHAR(\7f158,5279
-#define        iswhite(\7f159,5330
-#define notinname(\7f160,5395
-#define        begtoken(\7f161,5470
-#define        intoken(\7f162,5543
-#define        endtoken(\7f163,5615
-#define ISALNUM(\7f165,5685
-#define ISALPHA(\7f166,5723
-#define ISDIGIT(\7f167,5761
-#define ISLOWER(\7f168,5799
-#define lowcase(\7f170,5838
-#define xnew(\7f179,6016
-#define xrnew(\7f180,6084
-typedef void Lang_function \7f182,6165
-  const char *suffix;\7fsuffix\ 1186,6220
-  const char *command;\7fcommand\ 1187,6295
-} compressor;\7f188,6366
-  const char *name;\7fname\ 1192,6398
-  const char *help;\7fhelp\ 1193,6450
-  Lang_function *function;\7ffunction\ 1194,6509
-  const char **suffixes;\7fsuffixes\ 1195,6557
-  const char **filenames;\7ffilenames\ 1196,6634
-  const char **interpreters;\7finterpreters\ 1197,6703
-  bool metasource;\7f198,6772
-} language;\7f199,6836
-typedef struct fdesc\7f201,6849
-  struct fdesc *next;\7fnext\ 1203,6872
-  char *infname;\7finfname\ 1204,6921
-  char *infabsname;\7finfabsname\ 1205,6974
-  char *infabsdir;\7finfabsdir\ 1206,7039
-  char *taggedfname;\7ftaggedfname\ 1207,7092
-  language *lang;\7flang\ 1208,7150
-  char *prop;\7fprop\ 1209,7192
-  bool usecharno;\7f210,7250
-  bool written;\7f211,7312
-} fdesc;\7f212,7367
-typedef struct node_st\7f214,7377
-  struct node_st *left,\7fleft\ 1216,7429
-  struct node_st *left, *right;\7fright\ 1216,7429
-  fdesc *fdp;\7ffdp\ 1217,7487
-  char *name;\7fname\ 1218,7549
-  char *regex;\7fregex\ 1219,7581
-  bool valid;\7f220,7618
-  bool is_func;\7f221,7671
-  bool been_warned;\7f222,7734
-  int lno;\7f223,7802
-  long cno;\7f224,7843
-} node;\7f225,7895
-  long size;\7f236,8209
-  int len;\7f237,8222
-  char *buffer;\7fbuffer\ 1238,8233
-} linebuffer;\7f239,8249
-    at_language,\7f245,8345
-    at_regexp,\7f246,8394
-    at_filename,\7f247,8438
-    at_stdin,\7f248,8474
-    at_end     \7f249,8517
-  } arg_type;\7f250,8558
-  language *lang;\7flang\ 1251,8594
-  char *what;\7fwhat\ 1252,8657
-} argument;\7f253,8699
-typedef struct regexp\7f256,8759
-  struct regexp *p_next;\7fp_next\ 1258,8783
-  language *lang;\7flang\ 1259,8838
-  char *pattern;\7fpattern\ 1260,8898
-  char *name;\7fname\ 1261,8941
-  struct re_pattern_buffer *pat;\7fpat\ 1262,8972
-  struct re_registers regs;\7f263,9032
-  bool error_signaled;\7f264,9079
-  bool force_explicit_name;\7f265,9142
-  bool ignore_case;\7f266,9207
-  bool multi_line;\7f267,9260
-} regexp;\7f268,9326
-static void error \7f311,10781
-# undef STDIN\7f408,15074
-#define STDIN \7f411,15096
-static compressor compressors[\7fcompressors\ 1457,17665
-static const char *Ada_suffixes \7fAda_suffixes\ 1473,17908
-static const char Ada_help \7f475,17978
-static const char *Asm_suffixes \7fAsm_suffixes\ 1493,18581
-static const char Asm_help \7f504,18977
-static const char *default_C_suffixes \7fdefault_C_suffixes\ 1512,19313
-static const char default_C_help \7f515,19414
-static const char default_C_help \7f523,19851
-static const char *Cplusplus_suffixes \7fCplusplus_suffixes\ 1535,20461
-static const char Cplusplus_help \7f540,20659
-static const char *Cjava_suffixes \7fCjava_suffixes\ 1549,21114
-static char Cjava_help \7f551,21173
-static const char *Cobol_suffixes \7fCobol_suffixes\ 1556,21338
-static char Cobol_help \7f558,21403
-static const char *Cstar_suffixes \7fCstar_suffixes\ 1562,21544
-static const char *Erlang_suffixes \7fErlang_suffixes\ 1565,21608
-static const char Erlang_help \7f567,21674
-const char *Forth_suffixes \7fForth_suffixes\ 1571,21800
-static const char Forth_help \7f573,21858
-static const char *Fortran_suffixes \7fFortran_suffixes\ 1577,22009
-static const char Fortran_help \7f579,22086
-static const char *HTML_suffixes \7fHTML_suffixes\ 1582,22191
-static const char HTML_help \7f584,22265
-static const char *Lisp_suffixes \7fLisp_suffixes\ 1589,22453
-static const char Lisp_help \7f591,22557
-static const char *Lua_suffixes \7fLua_suffixes\ 1598,22872
-static const char Lua_help \7f600,22935
-static const char *Makefile_filenames \7fMakefile_filenames\ 1603,23011
-static const char Makefile_help \7f605,23134
-static const char *Objc_suffixes \7fObjc_suffixes\ 1609,23278
-static const char Objc_help \7f613,23400
-static const char *Pascal_suffixes \7fPascal_suffixes\ 1619,23715
-static const char Pascal_help \7f621,23779
-static const char *Perl_suffixes \7fPerl_suffixes\ 1626,23967
-static const char *Perl_interpreters \7fPerl_interpreters\ 1628,24029
-static const char Perl_help \7f630,24101
-static const char *PHP_suffixes \7fPHP_suffixes\ 1637,24452
-static const char PHP_help \7f639,24524
-static const char *plain_C_suffixes \7fplain_C_suffixes\ 1643,24679
-static const char *PS_suffixes \7fPS_suffixes\ 1647,24763
-static const char PS_help \7f649,24849
-static const char *Prolog_suffixes \7fProlog_suffixes\ 1652,24932
-static const char Prolog_help \7f654,24994
-static const char *Python_suffixes \7fPython_suffixes\ 1658,25108
-static const char Python_help \7f660,25166
-static const char *Scheme_suffixes \7fScheme_suffixes\ 1665,25348
-static const char Scheme_help \7f667,25461
-static const char *TeX_suffixes \7fTeX_suffixes\ 1672,25684
-static const char TeX_help \7f674,25782
-static const char *Texinfo_suffixes \7fTexinfo_suffixes\ 1686,26317
-static const char Texinfo_help \7f688,26396
-static const char *Yacc_suffixes \7fYacc_suffixes\ 1691,26493
-static const char Yacc_help \7f693,26607
-static const char auto_help \7f699,26857
-static const char none_help \7f703,27021
-static const char no_lang_help \7f707,27144
-static language lang_names \7f718,27356
-print_language_names \7f753,29533
-# define EMACS_NAME \7f786,30756
-# define VERSION \7f789,30812
-print_version \7f792,30870
-# define PRINT_UNDOCUMENTED_OPTIONS_HELP \7f804,31174
-print_help \7f808,31251
-main \7f981,37439
-get_compressor_from_suffix \7f1319,46218
-get_language_from_langname \7f1355,47159
-get_language_from_interpreter \7f1377,47546
-get_language_from_filename \7f1399,47977
-process_file_name \7f1433,48835
-process_file \7f1555,51666
-init \7f1632,54151
-find_entries \7f1656,54902
-make_tag \7f1814,59708
-pfnote \7f1856,60943
-free_tree \7f1917,62745
-free_fdesc \7f1935,63030
-add_node \7f1955,63473
-invalidate_nodes \7f2035,65538
-static int number_len \7f2068,66194
-total_size_of_entries \7f2087,66695
-put_entries \7f2107,67155
-#define C_EXT  \7f2193,68996
-#define C_PLAIN \7f2194,69038
-#define C_PLPL \7f2195,69071
-#define C_STAR \7f2196,69105
-#define C_JAVA \7f2197,69138
-#define C_AUTO \7f2198,69173
-#define YACC   \7f2199,69243
-enum sym_type\7f2204,69313
-  st_none,\7f2206,69329
-  st_C_objprot,\7f2207,69340
-  st_C_objprot, st_C_objimpl,\7f2207,69340
-  st_C_objprot, st_C_objimpl, st_C_objend,\7f2207,69340
-  st_C_gnumacro,\7f2208,69383
-  st_C_ignore,\7f2209,69400
-  st_C_ignore, st_C_attribute,\7f2209,69400
-  st_C_javastruct,\7f2210,69431
-  st_C_operator,\7f2211,69450
-  st_C_class,\7f2212,69467
-  st_C_class, st_C_template,\7f2212,69467
-  st_C_struct,\7f2213,69496
-  st_C_struct, st_C_extern,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum, st_C_define,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum, st_C_define, st_C_typedef\7f2213,69496
-struct C_stab_entry \7f2271,71279
-struct C_stab_entry { const char *name;\7fname\ 12271,71279
-struct C_stab_entry { const char *name; int c_ext;\7f2271,71279
-struct C_stab_entry { const char *name; int c_ext; enum sym_type type;\7f2271,71279
-hash \7f2275,71410
-in_word_set \7f2321,72938
-      TOTAL_KEYWORDS \7f2325,73019
-      MIN_WORD_LENGTH \7f2326,73046
-      MAX_WORD_LENGTH \7f2327,73073
-      MIN_HASH_VALUE \7f2328,73101
-      MAX_HASH_VALUE \7f2329,73127
-C_symtype \7f2387,74986
-static bool inattribute;\7f2400,75235
-  fvnone,\7f2408,75436
-  fdefunkey,\7f2409,75467
-  fdefunname,\7f2410,75513
-  foperator,\7f2411,75557
-  fvnameseen,\7f2412,75614
-  fstartlist,\7f2413,75667
-  finlist,\7f2414,75723
-  flistseen,\7f2415,75766
-  fignore,\7f2416,75814
-  vignore      \7f2417,75857
-} fvdef;\7f2418,75902
-static bool fvextern;\7f2420,75912
-  tnone,\7f2428,76090
-  tkeyseen,\7f2429,76120
-  ttypeseen,\7f2430,76161
-  tinbody,\7f2431,76200
-  tend,\7f2432,76239
-  tignore      \7f2433,76280
-} typdef;\7f2434,76321
-  snone,\7f2443,76500
-  skeyseen,\7f2445,76576
-  stagseen,\7f2446,76621
-  scolonseen   \7f2447,76662
-} structdef;\7f2448,76716
-static const char *objtag \7fobjtag\ 12453,76810
-  dnone,\7f2460,76943
-  dsharpseen,\7f2461,76973
-  ddefineseen,\7f2462,77026
-  dignorerest  \7f2463,77071
-} definedef;\7f2464,77113
-  onone,\7f2472,77268
-  oprotocol,\7f2473,77298
-  oimplementation,\7f2474,77348
-  otagseen,\7f2475,77396
-  oparenseen,\7f2476,77432
-  ocatseen,\7f2477,77487
-  oinbody,\7f2478,77526
-  omethodsign,\7f2479,77569
-  omethodtag,\7f2480,77627
-  omethodcolon,\7f2481,77667
-  omethodparm,\7f2482,77710
-  oignore      \7f2483,77756
-} objdef;\7f2484,77788
-static struct tok\7f2491,77945
-  char *line;\7fline\ 12493,77965
-  int offset;\7f2494,78015
-  int length;\7f2495,78068
-  bool valid;\7f2502,78353
-  bool named;\7f2505,78488
-  int lineno;\7f2506,78529
-  long linepos;\7f2507,78577
-} token;\7f2508,78627
-  char **cname;\7fcname\ 12519,78951
-  int *bracelev;\7fbracelev\ 12520,78994
-  int nl;\7f2521,79043
-  int size;\7f2522,79097
-} cstack;\7f2523,79137
-#define nestlev        \7f2525,79265
-#define instruct       \7f2527,79370
-pushclass_above \7f2531,79490
-popclass_above \7f2550,79949
-write_classname \7f2564,80163
-consider_token \7f2613,81342
-  long linepos;\7f2922,88500
-  linebuffer lb;\7f2923,88516
-} lbs[\7flbs\ 12924,88533
-#define current_lb_is_new \7f2926,88544
-#define switch_line_buffers(\7f2927,88589
-#define curlb \7f2929,88642
-#define newlb \7f2930,88673
-#define curlinepos \7f2931,88704
-#define newlinepos \7f2932,88745
-#define plainc \7f2934,88787
-#define cplpl \7f2935,88831
-#define cjava \7f2936,88862
-#define CNL_SAVE_DEFINEDEF(\7f2938,88906
-#define CNL(\7f2947,89118
-make_C_tag \7f2960,89376
-C_entries \7f2986,90195
-default_C_entries \7f3833,110157
-plain_C_entries \7f3840,110277
-Cplusplus_entries \7f3847,110365
-Cjava_entries \7f3854,110461
-Cstar_entries \7f3861,110551
-Yacc_entries \7f3868,110643
-#define LOOP_ON_INPUT_LINES(\7f3875,110721
-#define LOOKING_AT(\7f3884,111057
-#define LOOKING_AT_NOCASE(\7f3891,111462
-just_read_file \7f3901,111862
-F_takeprec \7f3914,112040
-F_getit \7f3937,112367
-Fortran_functions \7f3961,112841
-Ada_getit \7f4052,114670
-Ada_funcs \7f4115,116045
-Asm_labels \7f4228,118583
-Perl_functions \7f4261,119550
-Python_functions \7f4357,122058
-PHP_functions \7f4387,122685
-Cobol_paragraphs \7f4466,124472
-Makefile_targets \7f4494,125030
-Pascal_functions \7f4529,125951
-L_getit \7f4709,130319
-Lisp_functions \7f4725,130665
-Lua_functions \7f4785,131851
-PS_functions \7f4811,132386
-Forth_words \7f4841,133054
-Scheme_functions \7f4877,134093
-static linebuffer *TEX_toktab \7fTEX_toktab\ 14908,134782
-static const char *TEX_defenv \7fTEX_defenv\ 14912,134975
-static char TEX_esc \7f4920,135262
-static char TEX_opgrp \7f4921,135290
-static char TEX_clgrp \7f4922,135319
-TeX_commands \7f4928,135396
-#define TEX_LESC \7f4986,136653
-#define TEX_SESC \7f4987,136675
-TEX_mode \7f4992,136805
-TEX_decode_env \7f5026,137510
-Texinfo_nodes \7f5071,138555
-HTML_labels \7f5094,139014
-Prolog_functions \7f5219,142348
-prolog_skip_comment \7f5255,143129
-prolog_pr \7f5281,143737
-prolog_atom \7f5319,144629
-Erlang_functions \7f5379,145667
-erlang_func \7f5438,146966
-erlang_attribute \7f5476,147643
-erlang_atom \7f5496,148062
-scan_separators \7f5534,149081
-analyze_regex \7f5586,150461
-add_regex \7f5654,152051
-substitute \7f5767,154798
-free_regexps \7f5814,155838
-regex_tag_multiline \7f5836,156292
-nocase_tail \7f5913,158264
-get_tag \7f5928,158520
-readline_internal \7f5959,159456
-readline \7f6037,161297
-savestr \7f6230,167244
-savenstr \7f6240,167474
-skip_spaces \7f6249,167680
-skip_non_spaces \7f6258,167834
-skip_name \7f6267,167984
-fatal \7f6277,168157
-pfatal \7f6284,168254
-suggest_asking_for_help \7f6291,168333
-error \7f6300,168555
-concat \7f6313,168847
-etags_getcwd \7f6329,169260
-relative_filename \7f6350,169726
-absolute_filename \7f6389,170752
-absolute_dirname \7f6453,172417
-filename_is_absolute \7f6472,172846
-canonicalize_filename \7f6484,173097
-# define ISUPPER(\7f6491,173236
-linebuffer_init \7f6514,173657
-linebuffer_setlen \7f6524,173888
-xmalloc \7f6536,174149
-xrealloc \7f6545,174315
-\f
-c-src/exit.c,99
-    size_t n;\7f28,972
-    void EXFUN((*fn[\7ffn\ 129,986
-  } __libc_atexit;\7f30,1022
-DEFUN(exit,\7f38,1263
-\f
-c-src/exit.strange_suffix,99
-    size_t n;\7f28,972
-    void EXFUN((*fn[\7ffn\ 129,986
-  } __libc_atexit;\7f30,1022
-DEFUN(exit,\7f38,1263
-\f
-c-src/sysdep.h,491
-#define        ENTRY(\7f21,875
-#define        PSEUDO(\7f26,982
-    movl $SYS_##syscall_nam\7f$SYS_##syscall_na\ 131,1142
-    movl $SYS_##syscall_name, %eax;\7feax\ 131,1142
-    int $0x80;\7f32,1190
-    test %eax,\7feax\ 133,1220
-    test %eax, %eax;\7feax\ 133,1220
-    jl syscall_error;\7f34,1255
-#define        XCHG_0  \7f47,1572
-#define        XCHG_1  \7f48,1616
-#define        XCHG_2  \7f49,1658
-#define        XCHG_3  \7f50,1701
-#define        XCHG_4  \7f51,1744
-#define        XCHG_5  \7f52,1787
-#define        r0      \7f54,1831
-#define        r1      \7f55,1885
-#define scratch \7f56,1942
-#define MOVE(\7f57,2011
-\f
-c-src/tab.c,196
-static int             count_words(\7f15,263
-static char            *get_word(\7fget_word\ 135,553
-void                   tab_free(\7f59,966
-char                   **tab_fill(\7ftab_fill\ 170,1129
-int                    tab_delete_first(\7f91,1638
-int                    tab_count_words(\7f103,1820
-\f
-c-src/dostorture.c,198
-(*tag1 \7ftag1\ 118,468
-#define notag2 \7f26,577
-(*tag2 \7ftag2\ 129,657
-(*tag3 \7ftag3\ 139,809
-#define notag4 \7f45,904
-(*tag4 \7ftag4\ 148,1001
-tag5 \7f57,1136
-tag6 \7f66,1272
-int pp1(\7f74,1389
-pp2\7f87,1504
-pp3(\7f100,1616
-\f
-c-src/emacs/src/gmalloc.c,4207
-#define USE_PTHREAD\7f25,1003
-#undef get_current_dir_name\7f33,1127
-#undef malloc\7f64,2111
-#undef realloc\7f65,2125
-#undef calloc\7f66,2140
-#undef free\7f67,2154
-#define malloc \7f68,2166
-#define realloc \7f69,2189
-#define calloc \7f70,2214
-#define aligned_alloc \7f71,2237
-#define free \7f72,2274
-#define DUMPED \7f80,2473
-#define ALLOCATED_BEFORE_DUMPING(\7f81,2508
-extern void *malloc \7fmalloc\ 194,2719
-#define INT_BIT        \7f124,3935
-#define BLOCKLOG       \7f125,3978
-#define BLOCKSIZE      \7f126,4019
-#define BLOCKIFY(\7f127,4053
-#define HEAP   \7f131,4216
-#define FINAL_FREE_BLOCKS      \7f135,4392
-       int type;\7f145,4677
-               size_t nfree;\7f150,4721
-               size_t first;\7f151,4778
-             } frag;\7f152,4835
-           ptrdiff_t size;\7f156,5056
-         } info;\7f157,5077
-      } busy;\7f158,5088
-       size_t size;\7f163,5216
-       size_t next;\7f164,5273
-       size_t prev;\7f165,5322
-      } free;\7f166,5375
-  } malloc_info;\7f167,5389
-#define BLOCK(\7f176,5621
-#define ADDRESS(\7f177,5683
-struct list\7f186,5940
-    struct list *next;\7fnext\ 1188,5956
-    struct list *prev;\7fprev\ 1189,5979
-struct alignlist\7f196,6154
-    struct alignlist *next;\7fnext\ 1198,6175
-    void *aligned;\7faligned\ 1199,6203
-    void *exact;\7fexact\ 1200,6271
-#define LOCK(\7f223,7065
-#define UNLOCK(\7f228,7196
-#define LOCK_ALIGNED_BLOCKS(\7f233,7330
-#define UNLOCK_ALIGNED_BLOCKS(\7f238,7485
-#define LOCK(\7f244,7650
-#define UNLOCK(\7f245,7665
-#define LOCK_ALIGNED_BLOCKS(\7f246,7682
-#define UNLOCK_ALIGNED_BLOCKS(\7f247,7712
-enum mcheck_status\7f283,9093
-    MCHECK_DISABLED \7f285,9116
-    MCHECK_OK,\7f286,9188
-    MCHECK_FREE,\7f287,9227
-    MCHECK_HEAD,\7f288,9271
-    MCHECK_TAIL        \7f289,9335
-struct mstats\7f308,10154
-    size_t bytes_total;\7f310,10172
-    size_t chunks_used;\7f311,10226
-    size_t bytes_used;\7f312,10286
-    size_t chunks_free;\7f313,10352
-    size_t bytes_free;\7f314,10407
-char *_heapbase;\7f_heapbase\ 1355,11831
-malloc_info *_heapinfo;\7f_heapinfo\ 1358,11929
-static size_t heapsize;\7f361,11985
-size_t _heapindex;\7f364,12049
-size_t _heaplimit;\7f367,12111
-struct list _fraghead[\7f_fraghead\ 1370,12173
-size_t _chunks_used;\7f373,12231
-size_t _bytes_used;\7f374,12252
-size_t _chunks_free;\7f375,12272
-size_t _bytes_free;\7f376,12293
-int __malloc_initialized;\7f379,12342
-size_t __malloc_extra_blocks;\7f381,12369
-static int state_protected_p;\7f400,12914
-static size_t last_state_size;\7f401,12944
-static malloc_info *last_heapinfo;\7flast_heapinfo\ 1402,12975
-protect_malloc_state \7f405,13016
-#define PROTECT_MALLOC_STATE(\7f426,13629
-#define PROTECT_MALLOC_STATE(\7f429,13699
-align \7f435,13796
-get_contiguous_space \7f466,14618
-register_heapinfo \7f497,15327
-pthread_mutex_t _malloc_mutex \7f517,15881
-pthread_mutex_t _aligned_blocks_mutex \7f518,15940
-int _malloc_thread_enabled_p;\7f519,16007
-malloc_atfork_handler_prepare \7f522,16050
-malloc_atfork_handler_parent \7f529,16141
-malloc_atfork_handler_child \7f536,16235
-malloc_enable_thread \7f544,16377
-malloc_initialize_1 \7f563,16963
-__malloc_initialize \7f594,17795
-static int morecore_recursing;\7f604,17928
-morecore_nolock \7f609,18068
-_malloc_internal_nolock \7f722,21586
-_malloc_internal \7f920,28104
-malloc \7f932,28249
-_malloc \7f961,29142
-_free \7f967,29198
-_realloc \7f973,29242
-struct alignlist *_aligned_blocks \7f_aligned_blocks\ 11004,30348
-_free_internal_nolock \7f1009,30477
-_free_internal \7f1255,38479
-free \7f1265,38606
-weak_alias \7f1277,38802
-#define min(\7f1306,39817
-_realloc_internal_nolock \7f1319,40313
-_realloc_internal \7f1435,43567
-realloc \7f1447,43730
-calloc \7f1478,44899
-#define        __sbrk  \7f1513,46048
-__default_morecore \7f1525,46517
-aligned_alloc \7f1557,47529
-memalign \7f1647,49711
-posix_memalign \7f1656,49916
-static size_t pagesize;\7f1703,51325
-valloc \7f1706,51357
-#undef malloc\7f1715,51498
-#undef realloc\7f1716,51512
-#undef calloc\7f1717,51527
-#undef aligned_alloc\7f1718,51541
-#undef free\7f1719,51562
-hybrid_malloc \7f1736,52091
-hybrid_calloc \7f1744,52196
-hybrid_free \7f1752,52327
-hybrid_aligned_alloc \7f1765,52634
-hybrid_realloc \7f1780,52990
-hybrid_get_current_dir_name \7f1811,53803
-#define MAGICWORD      \7f1854,55213
-#define MAGICFREE      \7f1855,55268
-#define MAGICBYTE      \7f1856,55323
-#define MALLOCFLOOD    \7f1857,55355
-#define FREEFLOOD      \7f1858,55389
-struct hdr\7f1860,55422
-    size_t size;\7f1862,55437
-    size_t magic;\7f1863,55491
-checkhdr \7f1867,55588
-freehook \7f1891,56029
-mallochook \7f1927,56811
-reallochook \7f1944,57150
-mabort \7f1978,57908
-static int mcheck_used \7f2012,58593
-mcheck \7f2015,58626
-mprobe \7f2035,59145
-\f
-c-src/emacs/src/regex.h,4485
-#define _REGEX_H \7f21,837
-typedef unsigned long reg_syntax_t;\7f43,1578
-#define RE_BACKSLASH_ESCAPE_IN_LISTS \7f47,1750
-#define RE_BK_PLUS_QM \7f52,1970
-#define RE_CHAR_CLASSES \7f58,2299
-#define RE_CONTEXT_INDEP_ANCHORS \7f72,3033
-#define RE_CONTEXT_INDEP_OPS \7f80,3459
-#define RE_CONTEXT_INVALID_OPS \7f84,3659
-#define RE_DOT_NEWLINE \7f88,3802
-#define RE_DOT_NOT_NULL \7f92,3938
-#define RE_HAT_LISTS_NOT_NEWLINE \7f96,4083
-#define RE_INTERVALS \7f101,4293
-#define RE_LIMITED_OPS \7f105,4442
-#define RE_NEWLINE_ALT \7f109,4584
-#define RE_NO_BK_BRACES \7f114,4774
-#define RE_NO_BK_PARENS \7f118,4965
-#define RE_NO_BK_REFS \7f122,5121
-#define RE_NO_BK_VBAR \7f126,5317
-#define RE_NO_EMPTY_RANGES \7f132,5611
-#define RE_UNMATCHED_RIGHT_PAREN_ORD \7f136,5767
-#define RE_NO_POSIX_BACKTRACKING \7f140,5938
-#define RE_NO_GNU_OPS \7f144,6134
-#define RE_FRUGAL \7f147,6254
-#define RE_SHY_GROUPS \7f150,6361
-#define RE_NO_NEWLINE_ANCHOR \7f153,6469
-#define RE_DEBUG \7f161,6885
-#define RE_SYNTAX_EMACS        \7f183,7685
-#define RE_SYNTAX_AWK  \7f186,7781
-#define RE_SYNTAX_GNU_AWK      \7f193,8085
-#define RE_SYNTAX_POSIX_AWK \7f197,8256
-#define RE_SYNTAX_GREP \7f201,8394
-#define RE_SYNTAX_EGREP        \7f206,8550
-#define RE_SYNTAX_POSIX_EGREP  \7f212,8766
-#define RE_SYNTAX_ED \7f216,8911
-#define RE_SYNTAX_SED \7f218,8955
-#define _RE_SYNTAX_POSIX_COMMON        \7f221,9073
-#define RE_SYNTAX_POSIX_BASIC  \7f225,9216
-#define RE_SYNTAX_POSIX_MINIMAL_BASIC  \7f231,9509
-#define RE_SYNTAX_POSIX_EXTENDED       \7f234,9599
-#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED       \7f242,9968
-# undef RE_DUP_MAX\7f253,10455
-#define RE_DUP_MAX \7f256,10541
-#define REG_EXTENDED \7f263,10763
-#define REG_ICASE \7f267,10887
-#define REG_NEWLINE \7f272,11071
-#define REG_NOSUB \7f276,11249
-#define REG_NOTBOL \7f286,11615
-#define REG_NOTEOL \7f289,11689
-  REG_ENOSYS \7f297,11860
-  REG_NOERROR \7f300,11942
-  REG_NOMATCH,\7f301,11977
-  REG_BADPAT,\7f305,12124
-  REG_ECOLLATE,\7f306,12163
-  REG_ECTYPE,\7f307,12204
-  REG_EESCAPE,\7f308,12256
-  REG_ESUBREG,\7f309,12299
-  REG_EBRACK,\7f310,12346
-  REG_EPAREN,\7f311,12392
-  REG_EBRACE,\7f312,12437
-  REG_BADBR,\7f313,12473
-  REG_ERANGE,\7f314,12520
-  REG_ESPACE,\7f315,12561
-  REG_BADRPT,\7f316,12602
-  REG_EEND,\7f319,12694
-  REG_ESIZE,\7f320,12729
-  REG_ERPAREN,\7f321,12791
-  REG_ERANGEX  \7f322,12860
-} reg_errcode_t;\7f323,12912
-# define RE_TRANSLATE_TYPE \7f332,13274
-struct re_pattern_buffer\7f335,13316
-  unsigned char *buffer;\7fbuffer\ 1341,13539
-  size_t allocated;\7f344,13615
-  size_t used;\7f347,13687
-  reg_syntax_t syntax;\7f350,13770
-  char *fastmap;\7ffastmap\ 1355,13976
-  RE_TRANSLATE_TYPE translate;\7f361,14242
-  size_t re_nsub;\7f364,14330
-  unsigned can_be_null \7f370,14625
-#define REGS_UNALLOCATED \7f376,14890
-#define REGS_REALLOCATE \7f377,14917
-#define REGS_FIXED \7f378,14943
-  unsigned regs_allocated \7f379,14964
-  unsigned fastmap_accurate \7f383,15137
-  unsigned no_sub \7f387,15268
-  unsigned not_bol \7f391,15399
-  unsigned not_eol \7f394,15476
-  unsigned used_syntax \7f398,15656
-  unsigned multibyte \7f403,15806
-  unsigned target_multibyte \7f407,15942
-  int charset_unibyte;\7f410,16033
-typedef struct re_pattern_buffer regex_t;\7f416,16099
-typedef ssize_t regoff_t;\7f423,16493
-struct re_registers\7f428,16653
-  unsigned num_regs;\7f430,16675
-  regoff_t *start;\7fstart\ 1431,16696
-  regoff_t *end;\7fend\ 1432,16715
-# define RE_NREGS \7f440,16943
-  regoff_t rm_so;\7f449,17160
-  regoff_t rm_eo;\7f450,17240
-} regmatch_t;\7f451,17318
-#  define _Restrict_ \7f540,20887
-#  define _Restrict_ \7f542,20980
-#  define _Restrict_\7f544,21019
-#  define _Restrict_arr_ \7f555,21419
-#  define _Restrict_arr_\7f557,21462
-#  define CHAR_CLASS_MAX_LENGTH \7f593,22471
-#  define CHAR_CLASS_MAX_LENGTH \7f597,22649
-typedef wctype_t re_wctype_t;\7f599,22693
-typedef wchar_t re_wchar_t;\7f600,22723
-# define re_wctype \7f601,22751
-# define re_iswctype \7f602,22777
-# define re_wctype_to_bit(\7f603,22807
-# define CHAR_CLASS_MAX_LENGTH \7f605,22845
-# define btowc(\7f606,22907
-typedef enum { RECC_ERROR \7f609,22954
-              RECC_ALNUM,\7f610,22985
-              RECC_ALNUM, RECC_ALPHA,\7f610,22985
-              RECC_ALNUM, RECC_ALPHA, RECC_WORD,\7f610,22985
-              RECC_GRAPH,\7f611,23028
-              RECC_GRAPH, RECC_PRINT,\7f611,23028
-              RECC_LOWER,\7f612,23060
-              RECC_LOWER, RECC_UPPER,\7f612,23060
-              RECC_PUNCT,\7f613,23092
-              RECC_PUNCT, RECC_CNTRL,\7f613,23092
-              RECC_DIGIT,\7f614,23124
-              RECC_DIGIT, RECC_XDIGIT,\7f614,23124
-              RECC_BLANK,\7f615,23157
-              RECC_BLANK, RECC_SPACE,\7f615,23157
-              RECC_MULTIBYTE,\7f616,23189
-              RECC_MULTIBYTE, RECC_NONASCII,\7f616,23189
-              RECC_ASCII,\7f617,23228
-              RECC_ASCII, RECC_UNIBYTE\7f617,23228
-} re_wctype_t;\7f618,23261
-typedef int re_wchar_t;\7f623,23388
-\f
-c-src/emacs/src/keyboard.c,15923
-volatile int interrupt_input_blocked;\7f76,1809
-volatile bool pending_signals;\7f80,1945
-#define KBD_BUFFER_SIZE \7f82,1977
-KBOARD *initial_kboard;\7finitial_kboard\ 184,2007
-KBOARD *current_kboard;\7fcurrent_kboard\ 185,2031
-static KBOARD *all_kboards;\7fall_kboards\ 186,2055
-static bool single_kboard;\7f89,2155
-#define NUM_RECENT_KEYS \7f91,2183
-static int recent_keys_index;\7f94,2270
-static int total_keys;\7f97,2358
-static Lisp_Object recent_keys;\7f100,2444
-Lisp_Object this_command_keys;\7f107,2778
-ptrdiff_t this_command_key_count;\7f108,2809
-static bool this_command_key_count_reset;\7f112,2923
-static Lisp_Object raw_keybuf;\7f116,3075
-static int raw_keybuf_count;\7f117,3106
-#define GROW_RAW_KEYBUF        \7f119,3136
-static ptrdiff_t this_single_command_key_start;\7f125,3351
-static ptrdiff_t before_command_key_count;\7f129,3499
-static ptrdiff_t before_command_echo_length;\7f130,3542
-sigjmp_buf return_to_command_loop;\7f135,3678
-static Lisp_Object recover_top_level_message;\7f138,3792
-static Lisp_Object regular_top_level_message;\7f143,3931
-static sys_jmp_buf getcjmp;\7f147,4032
-bool waiting_for_input;\7f150,4096
-static bool echoing;\7f154,4187
-static struct kboard *ok_to_echo_at_next_pause;\7fok_to_echo_at_next_pause\ 1159,4329
-struct kboard *echo_kboard;\7fecho_kboard\ 1166,4633
-Lisp_Object echo_message_buffer;\7f171,4745
-bool immediate_quit;\7f174,4838
-int quit_char;\7f192,5624
-EMACS_INT command_loop_level;\7f195,5681
-Lisp_Object unread_switch_frame;\7f204,6109
-static ptrdiff_t last_non_minibuf_size;\7f207,6217
-uintmax_t num_input_events;\7f210,6335
-static EMACS_INT last_auto_save;\7f214,6429
-static ptrdiff_t last_point_position;\7f217,6524
-Lisp_Object internal_last_event_frame;\7f228,7029
-static Lisp_Object read_key_sequence_cmd;\7f232,7169
-static Lisp_Object read_key_sequence_remapped;\7f233,7211
-static FILE *dribble;\7fdribble\ 1236,7311
-bool input_pending;\7f239,7369
-static bool input_was_pending;\7f287,10023
-static struct input_event kbd_buffer[\7fkbd_buffer\ 1291,10108
-static struct input_event *kbd_fetch_ptr;\7fkbd_fetch_ptr\ 1297,10387
-static struct input_event * volatile kbd_store_ptr;\7f302,10602
-unsigned timers_run;\7f320,11297
-struct timespec *input_available_clear_time;\7finput_available_clear_time\ 1324,11409
-bool interrupt_input;\7f328,11574
-bool interrupts_deferred;\7f331,11672
-static struct timespec timer_idleness_start_time;\7f335,11747
-static struct timespec timer_last_idleness_start_time;\7f340,11917
-#define READABLE_EVENTS_DO_TIMERS_NOW  \7f346,12047
-#define READABLE_EVENTS_FILTER_EVENTS  \7f347,12095
-#define READABLE_EVENTS_IGNORE_SQUEEZABLES     \7f348,12143
-kset_echo_string \7f392,14089
-kset_kbd_queue \7f397,14185
-kset_keyboard_translate_table \7f402,14277
-kset_last_prefix_arg \7f407,14400
-kset_last_repeatable_command \7f412,14505
-kset_local_function_key_map \7f417,14626
-kset_overriding_terminal_local_map \7f422,14745
-kset_real_last_command \7f427,14878
-kset_system_key_syms \7f432,14987
-echo_add_key \7f443,15250
-echo_char \7f527,17528
-echo_dash \7f541,17814
-echo_now \7f586,19141
-cancel_echoing \7f635,20615
-echo_length \7f648,20923
-echo_truncate \7f660,21254
-add_command_key \7f672,21583
-recursive_edit_1 \7f697,22407
-record_auto_save \7f742,23849
-force_auto_save_soon \7f751,24017
-DEFUN ("recursive-edit", Frecursive_edit,\7f759,24138
-DEFUN ("recursive-edit", Frecursive_edit,\7frecursive-edit\ 1759,24138
-recursive_edit_unwind \7f804,25751
-any_kboard_state \7f817,26017
-single_kboard_state \7f838,26669
-not_single_kboard_state \7f848,26807
-struct kboard_stack\7f858,27069
-  KBOARD *kboard;\7fkboard\ 1860,27091
-  struct kboard_stack *next;\7fnext\ 1861,27109
-static struct kboard_stack *kboard_stack;\7fkboard_stack\ 1864,27142
-push_kboard \7f867,27190
-pop_kboard \7f879,27379
-temporarily_switch_to_single_kboard \7f914,28267
-record_single_kboard_state \7f943,29441
-restore_kboard_configuration \7f952,29625
-cmd_error \7f970,30081
-cmd_error_internal \7f1024,31514
-DEFUN ("command-error-default-function", Fcommand_error_default_function,\7f1043,32034
-DEFUN ("command-error-default-function", Fcommand_error_default_function,\7fcommand-error-default-function\ 11043,32034
-command_loop \7f1094,33920
-command_loop_2 \7f1134,35139
-top_level_2 \7f1146,35343
-top_level_1 \7f1152,35421
-DEFUN ("top-level", Ftop_level,\7f1164,35791
-DEFUN ("top-level", Ftop_level,\7ftop-level\ 11164,35791
-user_error \7f1183,36292
-DEFUN ("exit-recursive-edit", Fexit_recursive_edit,\7f1189,36433
-DEFUN ("exit-recursive-edit", Fexit_recursive_edit,\7fexit-recursive-edit\ 11189,36433
-DEFUN ("abort-recursive-edit", Fabort_recursive_edit,\7f1201,36823
-DEFUN ("abort-recursive-edit", Fabort_recursive_edit,\7fabort-recursive-edit\ 11201,36823
-tracking_off \7f1216,37285
-DEFUN ("internal--track-mouse", Ftrack_mouse,\7f1234,37820
-DEFUN ("internal--track-mouse", Ftrack_mouse,\7ftrack-mouse\ 11234,37820
-bool ignore_mouse_drag_p;\7f1256,38396
-some_mouse_moved \7f1259,38445
-Lisp_Object last_undo_boundary;\7f1287,39036
-command_loop_1 \7f1294,39277
-read_menu_command \7f1649,50893
-adjust_point_for_property \7f1678,51621
-safe_run_hooks_1 \7f1831,57343
-safe_run_hooks_error \7f1841,57573
-safe_run_hook_funcall \7f1878,58580
-safe_run_hooks \7f1893,59062
-int poll_suppress_count;\7f1908,59401
-static struct atimer *poll_timer;\7fpoll_timer\ 11915,59491
-poll_for_input_1 \7f1919,59593
-poll_for_input \7f1930,59793
-start_polling \7f1942,60057
-input_polling_used \7f1979,61095
-stop_polling \7f1994,61394
-set_poll_suppress_count \7f2009,61763
-bind_polling_period \7f2029,62145
-make_ctrl_char \7f2048,62496
-show_help_echo \7f2113,64459
-static Lisp_Object help_form_saved_window_configs;\7f2156,65642
-read_char_help_form_unwind \7f2158,65705
-#define STOP_POLLING   \7f2166,65963
-#define RESUME_POLLING \7f2170,66088
-read_event_from_main_queue \7f2175,66233
-read_decoded_event_from_main_queue \7f2249,68421
-#define MAX_ENCODED_BYTES \7f2254,68668
-echo_keystrokes_p \7f2342,71560
-read_char \7f2376,72852
-record_menu_key \7f3225,98953
-help_char_p \7f3258,99678
-record_char \7f3273,99957
-save_getcjmp \7f3412,104239
-restore_getcjmp \7f3418,104330
-readable_events \7f3430,104701
-int stop_character EXTERNALLY_VISIBLE;\7f3497,106441
-event_to_kboard \7f3500,106497
-kbd_buffer_nr_stored \7f3522,107146
-kbd_buffer_store_event \7f3534,107487
-kbd_buffer_store_event_hold \7f3550,108029
-kbd_buffer_unget_event \7f3684,111621
-#define INPUT_EVENT_POS_MAX \7f3698,112022
-#define INPUT_EVENT_POS_MIN \7f3701,112151
-position_to_Time \7f3706,112291
-Time_to_position \7f3716,112518
-gen_help_event \7f3738,113175
-kbd_buffer_store_help_event \7f3756,113615
-discard_mouse_events \7f3773,113980
-kbd_buffer_events_waiting \7f3803,114715
-clear_event \7f3823,115072
-kbd_buffer_get_event \7f3836,115412
-process_special_events \7f4258,127885
-swallow_events \7f4322,129709
-timer_start_idle \7f4339,130102
-timer_stop_idle \7f4355,130580
-timer_resume_idle \7f4363,130724
-struct input_event last_timer_event EXTERNALLY_VISIBLE;\7f4372,130916
-Lisp_Object pending_funcalls;\7f4377,131176
-decode_timer \7f4381,131297
-timer_check_2 \7f4414,132250
-timer_check \7f4572,136821
-DEFUN ("current-idle-time", Fcurrent_idle_time,\7f4607,137666
-DEFUN ("current-idle-time", Fcurrent_idle_time,\7fcurrent-idle-time\ 14607,137666
-static Lisp_Object accent_key_syms;\7f4625,138243
-static Lisp_Object func_key_syms;\7f4626,138279
-static Lisp_Object mouse_syms;\7f4627,138313
-static Lisp_Object wheel_syms;\7f4628,138344
-static Lisp_Object drag_n_drop_syms;\7f4629,138375
-static const int lispy_accent_codes[\7flispy_accent_codes\ 14634,138520
-static const char *const lispy_accent_keys[\7flispy_accent_keys\ 14741,139882
-#define FUNCTION_KEY_OFFSET \7f4766,140318
-const char *const lispy_function_keys[\7flispy_function_keys\ 14768,140351
-static const char *const lispy_multimedia_keys[\7flispy_multimedia_keys\ 14962,148905
-static const char *const lispy_kana_keys[\7flispy_kana_keys\ 15026,150139
-#define FUNCTION_KEY_OFFSET \7f5061,151755
-static const char *const lispy_function_keys[\7flispy_function_keys\ 15065,151898
-#define ISO_FUNCTION_KEY_OFFSET \7f5149,154433
-static const char *const iso_lispy_function_keys[\7fiso_lispy_function_keys\ 15151,154473
-static Lisp_Object Vlispy_mouse_stem;\7f5172,155332
-static const char *const lispy_wheel_names[\7flispy_wheel_names\ 15174,155371
-static const char *const lispy_drag_n_drop_names[\7flispy_drag_n_drop_names\ 15181,155623
-static short const scroll_bar_parts[\7fscroll_bar_parts\ 15189,155889
-static Lisp_Object button_down_location;\7f5210,156914
-static int last_mouse_button;\7f5215,157069
-static int last_mouse_x;\7f5216,157099
-static int last_mouse_y;\7f5217,157124
-static Time button_down_time;\7f5218,157149
-static int double_click_count;\7f5222,157233
-make_lispy_position \7f5228,157394
-toolkit_menubar_in_use \7f5456,163957
-make_scroll_bar_position \7f5469,164325
-make_lispy_event \7f5485,164971
-make_lispy_movement \7f6104,183534
-make_lispy_switch_frame \7f6131,184265
-make_lispy_focus_in \7f6137,184372
-make_lispy_focus_out \7f6145,184498
-parse_modifiers_uncached \7f6163,184948
-#define SINGLE_LETTER_MOD(\7f6185,185468
-#undef SINGLE_LETTER_MOD\7f6212,185909
-#define MULTI_LETTER_MOD(\7f6214,185935
-#undef MULTI_LETTER_MOD\7f6231,186403
-apply_modifiers_uncached \7f6273,187577
-static const char *const modifier_names[\7fmodifier_names\ 16319,189196
-#define NUM_MOD_NAMES \7f6325,189402
-static Lisp_Object modifier_symbols;\7f6327,189452
-lispy_modifier_list \7f6331,189589
-#define KEY_TO_CHAR(\7f6353,190255
-parse_modifiers \7f6356,190331
-DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,\7f6399,191520
-DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,\7fevent-symbol-parse-modifiers\ 16399,191520
-apply_modifiers \7f6422,192394
-reorder_modifiers \7f6491,194723
-modify_event_symbol \7f6536,196531
-DEFUN ("event-convert-list", Fevent_convert_list,\7f6628,199247
-DEFUN ("event-convert-list", Fevent_convert_list,\7fevent-convert-list\ 16628,199247
-parse_solitary_modifier \7f6695,201138
-#define SINGLE_LETTER_MOD(\7f6701,201261
-#define MULTI_LETTER_MOD(\7f6705,201346
-#undef SINGLE_LETTER_MOD\7f6763,202644
-#undef MULTI_LETTER_MOD\7f6764,202669
-lucid_event_type_list_p \7f6775,202892
-get_input_pending \7f6814,203963
-record_asynch_buffer_change \7f6834,204582
-gobble_input \7f6872,205705
-tty_read_avail_input \7f6967,208313
-handle_async_input \7f7149,214042
-process_pending_signals \7f7165,214362
-unblock_input_to \7f7177,214648
-unblock_input \7f7200,215280
-totally_unblock_input \7f7209,215448
-handle_input_available_signal \7f7217,215532
-deliver_input_available_signal \7f7226,215703
-struct user_signal_info\7f7235,215868
-  int sig;\7f7238,215918
-  char *name;\7fname\ 17241,215959
-  int npending;\7f7244,216010
-  struct user_signal_info *next;\7fnext\ 17246,216027
-static struct user_signal_info *user_signals \7fuser_signals\ 17250,216093
-add_user_signal \7f7253,216152
-handle_user_signal \7f7275,216601
-deliver_user_signal \7f7316,217561
-find_user_signal_name \7f7322,217662
-store_user_signal_events \7f7334,217844
-static Lisp_Object menu_bar_one_keymap_changed_items;\7f7363,218419
-static Lisp_Object menu_bar_items_vector;\7f7368,218633
-static int menu_bar_items_index;\7f7369,218675
-static const char *separator_names[\7fseparator_names\ 17372,218710
-menu_separator_name_p \7f7393,219151
-menu_bar_items \7f7426,219855
-Lisp_Object item_properties;\7f7568,224606
-menu_bar_item \7f7571,224648
-menu_item_eval_property_1 \7f7647,227178
-eval_dyn \7f7658,227468
-menu_item_eval_property \7f7666,227678
-parse_menu_item \7f7686,228344
-static Lisp_Object tool_bar_items_vector;\7f7965,236339
-static Lisp_Object tool_bar_item_properties;\7f7970,236513
-static int ntool_bar_items;\7f7974,236609
-tool_bar_items \7f7990,237086
-process_tool_bar_item \7f8075,239895
-#define PROP(\7f8112,240972
-set_prop \7f8114,241041
-parse_tool_bar_item \7f8167,242456
-#undef PROP\7f8379,248847
-init_tool_bar_items \7f8387,248972
-append_tool_bar_item \7f8401,249264
-read_char_x_menu_prompt \7f8443,250774
-read_char_minibuf_menu_prompt \7f8503,252448
-#define PUSH_C_STR(\7f8527,253017
-follow_key \7f8726,258556
-active_maps \7f8733,258698
-typedef struct keyremap\7f8742,259024
-  Lisp_Object parent;\7f8745,259110
-  Lisp_Object map;\7f8748,259227
-  int start,\7f8753,259449
-  int start, end;\7f8753,259449
-} keyremap;\7f8754,259467
-access_keymap_keyremap \7f8764,259811
-keyremap_step \7f8811,261453
-test_undefined \7f8867,262937
-read_key_sequence \7f8916,264864
-read_key_sequence_vs \7f9826,295824
-DEFUN ("read-key-sequence", Fread_key_sequence,\7f9885,297297
-DEFUN ("read-key-sequence", Fread_key_sequence,\7fread-key-sequence\ 19885,297297
-DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,\7f9938,299985
-DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,\7fread-key-sequence-vector\ 19938,299985
-detect_input_pending \7f9950,300491
-detect_input_pending_ignore_squeezables \7f9959,300657
-detect_input_pending_run_timers \7f9967,300873
-clear_input_pending \7f9985,301365
-requeued_events_pending_p \7f9997,301735
-DEFUN ("input-pending-p", Finput_pending_p,\7f10002,301816
-DEFUN ("input-pending-p", Finput_pending_p,\7finput-pending-p\ 110002,301816
-DEFUN ("recent-keys", Frecent_keys,\7f10024,302599
-DEFUN ("recent-keys", Frecent_keys,\7frecent-keys\ 110024,302599
-DEFUN ("this-command-keys", Fthis_command_keys,\7f10055,303520
-DEFUN ("this-command-keys", Fthis_command_keys,\7fthis-command-keys\ 110055,303520
-DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,\7f10068,303961
-DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,\7fthis-command-keys-vector\ 110068,303961
-DEFUN ("this-single-command-keys", Fthis_single_command_keys,\7f10080,304383
-DEFUN ("this-single-command-keys", Fthis_single_command_keys,\7fthis-single-command-keys\ 110080,304383
-DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,\7f10096,304958
-DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,\7fthis-single-command-raw-keys\ 110096,304958
-DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,\7f10109,305498
-DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,\7freset-this-command-lengths\ 110109,305498
-DEFUN ("clear-this-command-keys", Fclear_this_command_keys,\7f10136,306513
-DEFUN ("clear-this-command-keys", Fclear_this_command_keys,\7fclear-this-command-keys\ 110136,306513
-DEFUN ("recursion-depth", Frecursion_depth,\7f10158,307072
-DEFUN ("recursion-depth", Frecursion_depth,\7frecursion-depth\ 110158,307072
-DEFUN ("open-dribble-file", Fopen_dribble_file,\7f10169,307409
-DEFUN ("open-dribble-file", Fopen_dribble_file,\7fopen-dribble-file\ 110169,307409
-DEFUN ("discard-input", Fdiscard_input,\7f10203,308450
-DEFUN ("discard-input", Fdiscard_input,\7fdiscard-input\ 110203,308450
-DEFUN ("suspend-emacs", Fsuspend_emacs,\7f10225,308952
-DEFUN ("suspend-emacs", Fsuspend_emacs,\7fsuspend-emacs\ 110225,308952
-stuff_buffered_input \7f10285,311048
-set_waiting_for_input \7f10323,312019
-clear_waiting_for_input \7f10337,312393
-handle_interrupt_signal \7f10351,312757
-deliver_interrupt_signal \7f10378,313645
-static int volatile force_quit_count;\7f10387,313935
-handle_interrupt \7f10401,314417
-quit_throw_to_read_char \7f10541,318714
-DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,\7f10562,319291
-DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,\7fset-input-interrupt-mode\ 110562,319291
-DEFUN ("set-output-flow-control", Fset_output_flow_control,\7f10609,320519
-DEFUN ("set-output-flow-control", Fset_output_flow_control,\7fset-output-flow-control\ 110609,320519
-DEFUN ("set-input-meta-mode", Fset_input_meta_mode,\7f10643,321435
-DEFUN ("set-input-meta-mode", Fset_input_meta_mode,\7fset-input-meta-mode\ 110643,321435
-DEFUN ("set-quit-char", Fset_quit_char,\7f10694,322709
-DEFUN ("set-quit-char", Fset_quit_char,\7fset-quit-char\ 110694,322709
-DEFUN ("set-input-mode", Fset_input_mode,\7f10729,323573
-DEFUN ("set-input-mode", Fset_input_mode,\7fset-input-mode\ 110729,323573
-DEFUN ("current-input-mode", Fcurrent_input_mode,\7f10750,324462
-DEFUN ("current-input-mode", Fcurrent_input_mode,\7fcurrent-input-mode\ 110750,324462
-DEFUN ("posn-at-x-y", Fposn_at_x_y,\7f10787,325840
-DEFUN ("posn-at-x-y", Fposn_at_x_y,\7fposn-at-x-y\ 110787,325840
-DEFUN ("posn-at-point", Fposn_at_point,\7f10824,327063
-DEFUN ("posn-at-point", Fposn_at_point,\7fposn-at-point\ 110824,327063
-init_kboard \7f10861,328217
-allocate_kboard \7f10893,329287
-wipe_kboard \7f10909,329640
-delete_kboard \7f10917,329754
-init_keyboard \7f10942,330284
-struct event_head\7f11021,332699
-  short var;\7f11023,332719
-  short kind;\7f11024,332732
-static const struct event_head head_table[\7fhead_table\ 111027,332750
-syms_of_keyboard \7f11045,333580
-keys_of_keyboard \7f11841,367118
-mark_kboards \7f11916,370437
-\f
-c-src/emacs/src/lisp.h,27827
-#define EMACS_LISP_H\7f22,801
-#define DECLARE_GDB_SYM(\7f47,1422
-# define DEFINE_GDB_SYMBOL_BEGIN(\7f49,1509
-# define DEFINE_GDB_SYMBOL_END(\7f50,1579
-# define DEFINE_GDB_SYMBOL_BEGIN(\7f52,1626
-# define DEFINE_GDB_SYMBOL_END(\7f53,1703
-#undef min\7f57,1791
-#undef max\7f58,1802
-#define max(\7f59,1813
-#define min(\7f60,1855
-#define ARRAYELTS(\7f63,1937
-#define GCTYPEBITS \7f67,2080
-DEFINE_GDB_SYMBOL_BEGIN \7fGCTYPEBITS\ 166,2038
-# define NONPOINTER_BITS \7f78,2568
-# define NONPOINTER_BITS \7f80,2601
-typedef int EMACS_INT;\7f91,3024
-typedef unsigned int EMACS_UINT;\7f92,3047
-#  define EMACS_INT_MAX \7f93,3080
-#  define pI \7f94,3112
-typedef long int EMACS_INT;\7f96,3204
-typedef unsigned long EMACS_UINT;\7f97,3232
-#  define EMACS_INT_MAX \7f98,3266
-#  define pI \7f99,3299
-typedef long long int EMACS_INT;\7f103,3478
-typedef unsigned long long int EMACS_UINT;\7f104,3511
-#  define EMACS_INT_MAX \7f105,3554
-#  define pI \7f106,3588
-enum {  BOOL_VECTOR_BITS_PER_CHAR \7f114,3805
-#define BOOL_VECTOR_BITS_PER_CHAR \7f115,3841
-typedef size_t bits_word;\7f123,4166
-# define BITS_WORD_MAX \7f124,4192
-enum { BITS_PER_BITS_WORD \7f125,4224
-typedef unsigned char bits_word;\7f127,4291
-# define BITS_WORD_MAX \7f128,4324
-enum { BITS_PER_BITS_WORD \7f129,4387
-    BITS_PER_CHAR \7f136,4571
-    BITS_PER_SHORT \7f137,4606
-    BITS_PER_LONG \7f138,4658
-    BITS_PER_EMACS_INT \7f139,4713
-typedef intmax_t printmax_t;\7f148,5090
-typedef uintmax_t uprintmax_t;\7f149,5119
-# define pMd \7f150,5150
-# define pMu \7f151,5171
-typedef EMACS_INT printmax_t;\7f153,5198
-typedef EMACS_UINT uprintmax_t;\7f154,5228
-# define pMd \7f155,5260
-# define pMu \7f156,5279
-# define pD \7f165,5665
-# define pD \7f167,5710
-# define pD \7f169,5757
-# define pD \7f171,5780
-# define eassert(\7f200,7063
-# define eassume(\7f201,7141
-# define eassert(\7f208,7320
-# define eassume(\7f212,7451
-enum Lisp_Bits\7f239,8520
-#define GCALIGNMENT \7f243,8648
-    VALBITS \7f246,8743
-    INTTYPEBITS \7f249,8839
-    FIXNUM_BITS \7f252,8946
-#define VAL_MAX \7f263,9328
-#define USE_LSB_TAG \7f271,9778
-DEFINE_GDB_SYMBOL_BEGIN \7fUSE_LSB_TAG\ 1270,9734
-# define alignas(\7f281,10078
-# define GCALIGNED \7f288,10228
-# define GCALIGNED \7f290,10293
-# define lisp_h_XLI(\7f327,11643
-# define lisp_h_XIL(\7f328,11674
-# define lisp_h_XLI(\7f330,11725
-# define lisp_h_XIL(\7f331,11752
-#define lisp_h_CHECK_LIST_CONS(\7f333,11786
-#define lisp_h_CHECK_NUMBER(\7f334,11857
-#define lisp_h_CHECK_SYMBOL(\7f335,11928
-#define lisp_h_CHECK_TYPE(\7f336,11997
-#define lisp_h_CONSP(\7f338,12108
-#define lisp_h_EQ(\7f339,12157
-#define lisp_h_FLOATP(\7f340,12202
-#define lisp_h_INTEGERP(\7f341,12253
-#define lisp_h_MARKERP(\7f342,12334
-#define lisp_h_MISCP(\7f343,12409
-#define lisp_h_NILP(\7f344,12458
-#define lisp_h_SET_SYMBOL_VAL(\7f345,12494
-#define lisp_h_SYMBOL_CONSTANT_P(\7f347,12608
-#define lisp_h_SYMBOL_VAL(\7f348,12672
-#define lisp_h_SYMBOLP(\7f350,12773
-#define lisp_h_VECTORLIKEP(\7f351,12826
-#define lisp_h_XCAR(\7f352,12887
-#define lisp_h_XCDR(\7f353,12925
-#define lisp_h_XCONS(\7f354,12965
-#define lisp_h_XHASH(\7f356,13060
-#define lisp_h_XPNTR(\7f357,13094
-# define lisp_h_check_cons_list(\7f360,13222
-# define lisp_h_make_number(\7f363,13290
-# define lisp_h_XFASTINT(\7f365,13393
-# define lisp_h_XINT(\7f366,13430
-# define lisp_h_XSYMBOL(\7f367,13479
-# define lisp_h_XTYPE(\7f371,13632
-# define lisp_h_XUNTAG(\7f372,13697
-# define XLI(\7f381,14087
-# define XIL(\7f382,14118
-# define CHECK_LIST_CONS(\7f383,14149
-# define CHECK_NUMBER(\7f384,14210
-# define CHECK_SYMBOL(\7f385,14259
-# define CHECK_TYPE(\7f386,14308
-# define CONSP(\7f387,14383
-# define EQ(\7f388,14418
-# define FLOATP(\7f389,14453
-# define INTEGERP(\7f390,14490
-# define MARKERP(\7f391,14531
-# define MISCP(\7f392,14570
-# define NILP(\7f393,14605
-# define SET_SYMBOL_VAL(\7f394,14638
-# define SYMBOL_CONSTANT_P(\7f395,14701
-# define SYMBOL_VAL(\7f396,14764
-# define SYMBOLP(\7f397,14813
-# define VECTORLIKEP(\7f398,14852
-# define XCAR(\7f399,14899
-# define XCDR(\7f400,14932
-# define XCONS(\7f401,14965
-# define XHASH(\7f402,15000
-# define XPNTR(\7f403,15035
-#  define check_cons_list(\7f405,15098
-#  define make_number(\7f408,15177
-#  define XFASTINT(\7f409,15225
-#  define XINT(\7f410,15267
-#  define XSYMBOL(\7f411,15301
-#  define XTYPE(\7f412,15341
-#  define XUNTAG(\7f413,15377
-#define LISP_MACRO_DEFUN(\7f421,15673
-#define LISP_MACRO_DEFUN_VOID(\7f425,15846
-#define INTMASK \7f437,16290
-#define case_Lisp_Int \7f438,16343
-#define ENUM_BF(\7f445,16682
-#define ENUM_BF(\7f447,16723
-enum Lisp_Type\7f451,16764
-    Lisp_Symbol \7f454,16852
-    Lisp_Misc \7f458,16994
-    Lisp_Int0 \7f461,17068
-    Lisp_Int1 \7f462,17087
-    Lisp_String \7f466,17265
-    Lisp_Vectorlike \7f472,17544
-    Lisp_Cons \7f475,17633
-    Lisp_Float \7f477,17671
-enum Lisp_Misc_Type\7f485,18017
-    Lisp_Misc_Free \7f487,18041
-    Lisp_Misc_Marker,\7f488,18070
-    Lisp_Misc_Overlay,\7f489,18092
-    Lisp_Misc_Save_Value,\7f490,18115
-    Lisp_Misc_Finalizer,\7f491,18141
-    Lisp_Misc_Float,\7f494,18276
-    Lisp_Misc_Limit\7f496,18360
-enum Lisp_Fwd_Type\7f502,18544
-    Lisp_Fwd_Int,\7f504,18567
-    Lisp_Fwd_Bool,\7f505,18620
-    Lisp_Fwd_Obj,\7f506,18671
-    Lisp_Fwd_Buffer_Obj,\7f507,18730
-    Lisp_Fwd_Kboard_Obj        \7f508,18801
-typedef struct { EMACS_INT i;\7f567,21772
-typedef struct { EMACS_INT i; } Lisp_Object;\7f567,21772
-#define LISP_INITIALLY(\7f569,21818
-#undef CHECK_LISP_OBJECT_TYPE\7f571,21849
-enum CHECK_LISP_OBJECT_TYPE \7f572,21879
-enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE \7f572,21879
-typedef EMACS_INT Lisp_Object;\7f577,22055
-#define LISP_INITIALLY(\7f578,22086
-enum CHECK_LISP_OBJECT_TYPE \7f579,22116
-enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE \7f579,22116
-#define LISP_INITIALLY_ZERO \7f582,22217
-enum symbol_interned\7f639,24190
-  SYMBOL_UNINTERNED \7f641,24213
-  SYMBOL_INTERNED \7f642,24238
-  SYMBOL_INTERNED_IN_INITIAL_OBARRAY \7f643,24261
-enum symbol_redirect\7f646,24306
-  SYMBOL_PLAINVAL \7f648,24329
-  SYMBOL_VARALIAS \7f649,24353
-  SYMBOL_LOCALIZED \7f650,24377
-  SYMBOL_FORWARDED \7f651,24401
-struct Lisp_Symbol\7f654,24428
-  bool_bf gcmarkbit \7f656,24449
-  ENUM_BF (symbol_redirect) redirect \7f663,24784
-  unsigned constant \7f668,25002
-  unsigned interned \7f672,25122
-  bool_bf declared_special \7f676,25284
-  bool_bf pinned \7f679,25385
-  Lisp_Object name;\7f682,25454
-    Lisp_Object value;\7f687,25622
-    struct Lisp_Symbol *alias;\7falias\ 1688,25645
-    struct Lisp_Buffer_Local_Value *blv;\7fblv\ 1689,25676
-    union Lisp_Fwd *fwd;\7ffwd\ 1690,25717
-  } val;\7f691,25742
-  Lisp_Object function;\7f694,25814
-  Lisp_Object plist;\7f697,25876
-  struct Lisp_Symbol *next;\7fnext\ 1700,25965
-#define EXFUN(\7f707,26243
-#define DEFUN_ARGS_MANY        \7f712,26437
-#define DEFUN_ARGS_UNEVALLED   \7f713,26489
-#define DEFUN_ARGS_0   \7f714,26532
-#define DEFUN_ARGS_1   \7f715,26560
-#define DEFUN_ARGS_2   \7f716,26595
-#define DEFUN_ARGS_3   \7f717,26643
-#define DEFUN_ARGS_4   \7f718,26704
-#define DEFUN_ARGS_5   \7f719,26778
-#define DEFUN_ARGS_6   \7f721,26871
-#define DEFUN_ARGS_7   \7f723,26977
-#define DEFUN_ARGS_8   \7f725,27096
-#define TAG_PTR(\7f729,27287
-#define TAG_SYMOFFSET(\7f734,27534
-#define XLI_BUILTIN_LISPSYM(\7f741,27833
-#define DEFINE_LISP_SYMBOL(\7f746,28092
-# define DEFINE_NON_NIL_Q_SYMBOL_MACROS \7f755,28563
-LISP_MACRO_DEFUN \7f762,28768
-# define ARRAY_MARK_FLAG \7f768,29015
-# define PSEUDOVECTOR_FLAG \7f774,29258
-enum pvec_type\7f780,29559
-  PVEC_NORMAL_VECTOR,\7f782,29576
-  PVEC_FREE,\7f783,29598
-  PVEC_PROCESS,\7f784,29611
-  PVEC_FRAME,\7f785,29627
-  PVEC_WINDOW,\7f786,29641
-  PVEC_BOOL_VECTOR,\7f787,29656
-  PVEC_BUFFER,\7f788,29676
-  PVEC_HASH_TABLE,\7f789,29691
-  PVEC_TERMINAL,\7f790,29710
-  PVEC_WINDOW_CONFIGURATION,\7f791,29727
-  PVEC_SUBR,\7f792,29756
-  PVEC_OTHER,\7f793,29769
-  PVEC_COMPILED,\7f795,29847
-  PVEC_CHAR_TABLE,\7f796,29864
-  PVEC_SUB_CHAR_TABLE,\7f797,29883
-  PVEC_FONT \7f798,29906
-enum More_Lisp_Bits\7f801,29982
-    PSEUDOVECTOR_SIZE_BITS \7f808,30373
-    PSEUDOVECTOR_SIZE_MASK \7f809,30406
-    PSEUDOVECTOR_REST_BITS \7f813,30616
-    PSEUDOVECTOR_REST_MASK \7f814,30649
-    PSEUDOVECTOR_AREA_BITS \7f818,30814
-    PVEC_TYPE_MASK \7f819,30892
-# define VALMASK \7f829,31293
-DEFINE_GDB_SYMBOL_BEGIN \7fVALMASK\ 1828,31248
-#define MOST_POSITIVE_FIXNUM \7f834,31523
-#define MOST_NEGATIVE_FIXNUM \7f835,31583
-XINT \7f874,32675
-XFASTINT \7f889,33026
-XSYMBOL \7f899,33254
-XTYPE \7f910,33472
-XUNTAG \7f918,33652
-LISP_MACRO_DEFUN \7f927,33848
-LISP_MACRO_DEFUN \7f940,34233
-#define FIXNUM_OVERFLOW_P(\7f958,34846
-LISP_MACRO_DEFUN \7fFIXNUM_OVERFLOW_P\ 1952,34623
-LISP_MACRO_DEFUN \7f970,35162
-XSTRING \7f980,35382
-#define SYMBOL_INDEX(\7f988,35566
-XFLOAT \7f991,35627
-XPROCESS \7f1000,35769
-XWINDOW \7f1007,35886
-XTERMINAL \7f1014,36003
-XSUBR \7f1021,36125
-XBUFFER \7f1028,36236
-XCHAR_TABLE \7f1035,36360
-XSUB_CHAR_TABLE \7f1042,36497
-XBOOL_VECTOR \7f1049,36639
-make_lisp_ptr \7f1058,36818
-make_lisp_symbol \7f1066,37004
-builtin_lisp_symbol \7f1074,37188
-#define XSETINT(\7f1079,37270
-#define XSETFASTINT(\7f1080,37316
-#define XSETCONS(\7f1081,37366
-#define XSETVECTOR(\7f1082,37426
-#define XSETSTRING(\7f1083,37494
-#define XSETSYMBOL(\7f1084,37558
-#define XSETFLOAT(\7f1085,37612
-#define XSETMISC(\7f1086,37674
-#define XSETPVECTYPE(\7f1090,37763
-#define XSETPVECTYPESIZE(\7f1092,37879
-#define XSETPSEUDOVECTOR(\7f1099,38176
-#define XSETTYPED_PSEUDOVECTOR(\7f1105,38360
-#define XSETWINDOW_CONFIGURATION(\7f1110,38570
-#define XSETPROCESS(\7f1112,38666
-#define XSETWINDOW(\7f1113,38732
-#define XSETTERMINAL(\7f1114,38796
-#define XSETSUBR(\7f1115,38864
-#define XSETCOMPILED(\7f1116,38924
-#define XSETBUFFER(\7f1117,38992
-#define XSETCHAR_TABLE(\7f1118,39056
-#define XSETBOOL_VECTOR(\7f1119,39128
-#define XSETSUB_CHAR_TABLE(\7f1120,39202
-XINTPTR \7f1128,39572
-make_pointer_integer \7f1134,39652
-LISP_MACRO_DEFUN_VOID \7f1143,39817
-typedef struct interval *INTERVAL;\7fINTERVAL\ 11149,39978
-      Lisp_Object cdr;\7f1159,40153
-      struct Lisp_Cons *chain;\7fchain\ 11162,40227
-xcar_addr \7f1174,40751
-xcdr_addr \7f1179,40828
-LISP_MACRO_DEFUN \7f1185,40922
-XSETCDR \7f1198,41298
-CAR \7f1205,41448
-CDR \7f1212,41582
-CAR_SAFE \7f1221,41782
-CDR_SAFE \7f1226,41868
-STRING_MULTIBYTE \7f1243,42241
-#define STRING_BYTES_BOUND \7f1261,43048
-#define STRING_SET_UNIBYTE(\7f1265,43192
-#define STRING_SET_MULTIBYTE(\7f1275,43507
-SDATA \7f1286,43821
-SSDATA \7f1291,43899
-SREF \7f1297,44028
-SSET \7f1302,44119
-SCHARS \7f1307,44233
-STRING_BYTES \7f1316,44406
-SBYTES \7f1326,44586
-STRING_SET_CHARS \7f1331,44672
-struct vectorlike_header\7f1343,45223
-    ptrdiff_t size;\7f1364,46374
-struct Lisp_Vector\7f1369,46473
-    struct vectorlike_header header;\7f1371,46496
-    Lisp_Object contents[\7fcontents\ 11372,46533
-    ALIGNOF_STRUCT_LISP_VECTOR\7f1378,46672
-struct Lisp_Bool_Vector\7f1384,46855
-    struct vectorlike_header header;\7f1388,47003
-    EMACS_INT size;\7f1390,47077
-    bits_word data[\7fdata\ 11395,47310
-bool_vector_size \7f1399,47376
-bool_vector_data \7f1407,47514
-bool_vector_uchar_data \7f1413,47608
-bool_vector_words \7f1421,47794
-bool_vector_bytes \7f1428,47989
-bool_vector_bitref \7f1437,48229
-bool_vector_ref \7f1445,48469
-bool_vector_set \7f1453,48609
-    header_size \7f1471,49038
-    bool_header_size \7f1472,49097
-    word_size \7f1473,49162
-AREF \7f1479,49275
-aref_addr \7f1485,49382
-ASIZE \7f1491,49492
-ASET \7f1497,49574
-gc_aset \7f1504,49733
-enum { NIL_IS_ZERO \7f1515,50260
-memclear \7f1520,50455
-#define VECSIZE(\7f1531,50753
-#define PSEUDOVECSIZE(\7f1538,51038
-#define UNSIGNED_CMP(\7f1546,51471
-#define ASCII_CHAR_P(\7f1552,51725
-enum CHARTAB_SIZE_BITS\7f1565,52480
-    CHARTAB_SIZE_BITS_0 \7f1567,52507
-    CHARTAB_SIZE_BITS_1 \7f1568,52536
-    CHARTAB_SIZE_BITS_2 \7f1569,52565
-    CHARTAB_SIZE_BITS_3 \7f1570,52594
-struct Lisp_Char_Table\7f1575,52663
-    struct vectorlike_header header;\7f1581,52919
-    Lisp_Object defalt;\7f1585,53069
-    Lisp_Object parent;\7f1590,53271
-    Lisp_Object purpose;\7f1594,53389
-    Lisp_Object ascii;\7f1598,53555
-    Lisp_Object contents[\7fcontents\ 11600,53579
-    Lisp_Object extras[\7fextras\ 11603,53690
-struct Lisp_Sub_Char_Table\7f1606,53743
-    struct vectorlike_header header;\7f1610,53909
-    int depth;\7f1618,54332
-    int min_char;\7f1621,54408
-    Lisp_Object contents[\7fcontents\ 11624,54483
-CHAR_TABLE_REF_ASCII \7f1628,54557
-CHAR_TABLE_REF \7f1648,55104
-CHAR_TABLE_SET \7f1658,55393
-struct Lisp_Subr\7f1670,55777
-    struct vectorlike_header header;\7f1672,55798
-      Lisp_Object (*a0)\7fa0\ 11674,55847
-      Lisp_Object (*a1)\7fa1\ 11675,55879
-      Lisp_Object (*a2)\7fa2\ 11676,55918
-      Lisp_Object (*a3)\7fa3\ 11677,55970
-      Lisp_Object (*a4)\7fa4\ 11678,56035
-      Lisp_Object (*a5)\7fa5\ 11679,56113
-      Lisp_Object (*a6)\7fa6\ 11680,56204
-      Lisp_Object (*a7)\7fa7\ 11681,56308
-      Lisp_Object (*a8)\7fa8\ 11682,56425
-      Lisp_Object (*aUNEVALLED)\7faUNEVALLED\ 11683,56555
-      Lisp_Object (*aMANY)\7faMANY\ 11684,56607
-    } function;\7f1685,56662
-    short min_args,\7f1686,56678
-    short min_args, max_args;\7f1686,56678
-    const char *symbol_name;\7fsymbol_name\ 11687,56708
-    const char *intspec;\7fintspec\ 11688,56737
-    const char *doc;\7fdoc\ 11689,56762
-enum char_table_specials\7f1692,56789
-    CHAR_TABLE_STANDARD_SLOTS \7f1697,56984
-    SUB_CHAR_TABLE_OFFSET \7f1701,57205
-CHAR_TABLE_EXTRA_SLOTS \7f1707,57368
-LISP_MACRO_DEFUN \7f1723,57912
-SYMBOL_BLV \7f1732,58172
-SYMBOL_FWD \7f1738,58307
-LISP_MACRO_DEFUN_VOID \7f1744,58419
-SET_SYMBOL_BLV \7f1754,58682
-SET_SYMBOL_FWD \7f1760,58841
-SYMBOL_NAME \7f1767,58992
-SYMBOL_INTERNED_P \7f1775,59121
-SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P \7f1783,59290
-#define DEFSYM(\7f1796,59800
-LISP_MACRO_DEFUN \7fDEFSYM\ 11792,59621
-struct hash_table_test\7f1805,60053
-  Lisp_Object name;\7f1808,60130
-  Lisp_Object user_hash_function;\7f1811,60197
-  Lisp_Object user_cmp_function;\7f1814,60288
-  bool (*cmpfn)\7fcmpfn\ 11817,60363
-  EMACS_UINT (*hashfn)\7fhashfn\ 11820,60477
-struct Lisp_Hash_Table\7f1823,60546
-  struct vectorlike_header header;\7f1826,60640
-  Lisp_Object weak;\7f1830,60774
-  Lisp_Object rehash_size;\7f1835,60998
-  Lisp_Object rehash_threshold;\7f1839,61120
-  Lisp_Object hash;\7f1843,61251
-  Lisp_Object next;\7f1848,61481
-  Lisp_Object next_free;\7f1851,61551
-  Lisp_Object index;\7f1856,61762
-  ptrdiff_t count;\7f1863,62032
-  Lisp_Object key_and_value;\7f1868,62231
-  struct hash_table_test test;\7f1871,62305
-  struct Lisp_Hash_Table *next_weak;\7fnext_weak\ 11875,62448
-XHASH_TABLE \7f1880,62522
-#define XSET_HASH_TABLE(\7f1885,62593
-HASH_TABLE_P \7f1889,62694
-HASH_KEY \7f1896,62851
-HASH_VALUE \7f1903,63031
-HASH_NEXT \7f1911,63245
-HASH_HASH \7f1918,63422
-HASH_INDEX \7f1926,63668
-HASH_TABLE_SIZE \7f1933,63817
-enum DEFAULT_HASH_SIZE \7f1940,63947
-enum DEFAULT_HASH_SIZE { DEFAULT_HASH_SIZE \7f1940,63947
-static double const DEFAULT_REHASH_THRESHOLD \7f1946,64167
-static double const DEFAULT_REHASH_SIZE \7f1950,64290
-sxhash_combine \7f1956,64456
-SXHASH_REDUCE \7f1964,64639
-struct Lisp_Misc_Any   \7f1971,64797
-  ENUM_BF (Lisp_Misc_Type) type \7f1973,64857
-  bool_bf gcmarkbit \7f1974,64918
-  unsigned spacer \7f1975,64943
-struct Lisp_Marker\7f1978,64971
-  ENUM_BF (Lisp_Misc_Type) type \7f1980,64992
-  bool_bf gcmarkbit \7f1981,65056
-  unsigned spacer \7f1982,65081
-  bool_bf need_adjustment \7f1986,65273
-  bool_bf insertion_type \7f1989,65414
-  struct buffer *buffer;\7fbuffer\ 12000,66007
-  struct Lisp_Marker *next;\7fnext\ 12009,66358
-  ptrdiff_t charpos;\7f2011,66446
-  ptrdiff_t bytepos;\7f2016,66704
-struct Lisp_Overlay\7f2021,66832
-    ENUM_BF (Lisp_Misc_Type) type \7f2034,67340
-    bool_bf gcmarkbit \7f2035,67406
-    unsigned spacer \7f2036,67433
-    struct Lisp_Overlay *next;\7fnext\ 12037,67459
-    Lisp_Object start;\7f2038,67490
-    Lisp_Object end;\7f2039,67513
-    Lisp_Object plist;\7f2040,67534
-    SAVE_UNUSED,\7f2047,67635
-    SAVE_INTEGER,\7f2048,67652
-    SAVE_FUNCPOINTER,\7f2049,67670
-    SAVE_POINTER,\7f2050,67692
-    SAVE_OBJECT\7f2051,67710
-enum { SAVE_SLOT_BITS \7f2055,67795
-enum { SAVE_VALUE_SLOTS \7f2058,67892
-enum { SAVE_TYPE_BITS \7f2062,68000
-enum Lisp_Save_Type\7f2064,68066
-    SAVE_TYPE_INT_INT \7f2066,68090
-    SAVE_TYPE_INT_INT_INT\7f2067,68163
-    SAVE_TYPE_OBJ_OBJ \7f2069,68253
-    SAVE_TYPE_OBJ_OBJ_OBJ \7f2070,68324
-    SAVE_TYPE_OBJ_OBJ_OBJ_OBJ\7f2071,68405
-    SAVE_TYPE_PTR_INT \7f2073,68500
-    SAVE_TYPE_PTR_OBJ \7f2074,68573
-    SAVE_TYPE_PTR_PTR \7f2075,68645
-    SAVE_TYPE_FUNCPTR_PTR_OBJ\7f2076,68718
-    SAVE_TYPE_MEMORY \7f2080,68876
-typedef void (*voidfuncptr)\7fvoidfuncptr\ 12108,69830
-struct Lisp_Save_Value\7f2110,69867
-    ENUM_BF (Lisp_Misc_Type) type \7f2112,69894
-    bool_bf gcmarkbit \7f2113,69963
-    unsigned spacer : 32 - (16 + 1 + SAVE_TYPE_BITS)\7f2114,69990
-    ENUM_BF (Lisp_Save_Type) save_type : SAVE_TYPE_BITS;\7f2123,70480
-      void *pointer;\7fpointer\ 12125,70549
-      voidfuncptr funcpointer;\7f2126,70570
-      ptrdiff_t integer;\7f2127,70601
-      Lisp_Object object;\7f2128,70626
-    } data[\7fdata\ 12129,70652
-save_type \7f2134,70746
-XSAVE_POINTER \7f2143,70976
-set_save_pointer \7f2149,71138
-XSAVE_FUNCPOINTER \7f2155,71320
-XSAVE_INTEGER \7f2164,71540
-set_save_integer \7f2170,71702
-XSAVE_OBJECT \7f2179,71923
-struct Lisp_Finalizer\7f2186,72100
-    struct Lisp_Misc_Any base;\7f2188,72126
-    struct Lisp_Finalizer *prev;\7fprev\ 12191,72214
-    struct Lisp_Finalizer *next;\7fnext\ 12192,72247
-    Lisp_Object function;\7f2197,72484
-struct Lisp_Free\7f2201,72575
-    ENUM_BF (Lisp_Misc_Type) type \7f2203,72596
-    bool_bf gcmarkbit \7f2204,72659
-    unsigned spacer \7f2205,72686
-    union Lisp_Misc *chain;\7fchain\ 12206,72712
-union Lisp_Misc\7f2212,72876
-    struct Lisp_Misc_Any u_any;\7f2214,72896
-    struct Lisp_Free u_free;\7f2215,72967
-    struct Lisp_Marker u_marker;\7f2216,72996
-    struct Lisp_Overlay u_overlay;\7f2217,73029
-    struct Lisp_Save_Value u_save_value;\7f2218,73064
-    struct Lisp_Finalizer u_finalizer;\7f2219,73105
-XMISC \7f2223,73175
-XMISCANY \7f2229,73264
-XMISCTYPE \7f2236,73373
-XMARKER \7f2242,73461
-XOVERLAY \7f2249,73576
-XSAVE_VALUE \7f2256,73697
-XFINALIZER \7f2263,73826
-struct Lisp_Intfwd\7f2274,74111
-    enum Lisp_Fwd_Type type;\7f2276,74134
-    EMACS_INT *intvar;\7fintvar\ 12277,74184
-struct Lisp_Boolfwd\7f2284,74405
-    enum Lisp_Fwd_Type type;\7f2286,74429
-    bool *boolvar;\7fboolvar\ 12287,74480
-struct Lisp_Objfwd\7f2294,74696
-    enum Lisp_Fwd_Type type;\7f2296,74719
-    Lisp_Object *objvar;\7fobjvar\ 12297,74769
-struct Lisp_Buffer_Objfwd\7f2302,74928
-    enum Lisp_Fwd_Type type;\7f2304,74958
-    int offset;\7f2305,75015
-    Lisp_Object predicate;\7f2307,75107
-struct Lisp_Buffer_Local_Value\7f2334,76464
-    bool_bf local_if_set \7f2338,76609
-    bool_bf frame_local \7f2341,76791
-    bool_bf found \7f2344,76933
-    union Lisp_Fwd *fwd;\7ffwd\ 12346,77035
-    Lisp_Object where;\7f2348,77178
-    Lisp_Object defcell;\7f2351,77304
-    Lisp_Object valcell;\7f2357,77608
-struct Lisp_Kboard_Objfwd\7f2362,77723
-    enum Lisp_Fwd_Type type;\7f2364,77753
-    int offset;\7f2365,77810
-union Lisp_Fwd\7f2368,77832
-    struct Lisp_Intfwd u_intfwd;\7f2370,77851
-    struct Lisp_Boolfwd u_boolfwd;\7f2371,77884
-    struct Lisp_Objfwd u_objfwd;\7f2372,77919
-    struct Lisp_Buffer_Objfwd u_buffer_objfwd;\7f2373,77952
-    struct Lisp_Kboard_Objfwd u_kboard_objfwd;\7f2374,77999
-XFWDTYPE \7f2378,78078
-XBUFFER_OBJFWD \7f2384,78174
-struct Lisp_Float\7f2391,78310
-      double data;\7f2395,78348
-      struct Lisp_Float *chain;\7fchain\ 12396,78367
-    } u;\7f2397,78399
-XFLOAT_DATA \7f2401,78428
-    IEEE_FLOATING_POINT\7f2415,78937
-#define _UCHAR_T\7f2423,79260
-typedef unsigned char UCHAR;\7f2424,79277
-enum Lisp_Compiled\7f2429,79360
-    COMPILED_ARGLIST \7f2431,79383
-    COMPILED_BYTECODE \7f2432,79409
-    COMPILED_CONSTANTS \7f2433,79436
-    COMPILED_STACK_DEPTH \7f2434,79464
-    COMPILED_DOC_STRING \7f2435,79494
-    COMPILED_INTERACTIVE \7f2436,79523
-enum char_bits\7f2443,79825
-    CHAR_ALT \7f2445,79844
-    CHAR_SUPER \7f2446,79870
-    CHAR_HYPER \7f2447,79898
-    CHAR_SHIFT \7f2448,79926
-    CHAR_CTL \7f2449,79954
-    CHAR_META \7f2450,79980
-    CHAR_MODIFIER_MASK \7f2452,80008
-    CHARACTERBITS \7f2457,80203
-LISP_MACRO_DEFUN \7f2462,80261
-NATNUMP \7f2470,80403
-RANGED_INTEGERP \7f2476,80484
-#define TYPE_RANGED_INTEGERP(\7f2481,80606
-LISP_MACRO_DEFUN \7f2486,80791
-VECTORP \7f2500,81264
-OVERLAYP \7f2505,81367
-SAVE_VALUEP \7f2510,81466
-FINALIZERP \7f2516,81572
-AUTOLOADP \7f2522,81676
-BUFFER_OBJFWDP \7f2528,81767
-PSEUDOVECTOR_TYPEP \7f2534,81865
-PSEUDOVECTORP \7f2542,82118
-WINDOW_CONFIGURATIONP \7f2558,82470
-PROCESSP \7f2564,82580
-WINDOWP \7f2570,82664
-TERMINALP \7f2576,82746
-SUBRP \7f2582,82832
-COMPILEDP \7f2588,82910
-BUFFERP \7f2594,82996
-CHAR_TABLE_P \7f2600,83078
-SUB_CHAR_TABLE_P \7f2606,83169
-BOOL_VECTOR_P \7f2612,83268
-FRAMEP \7f2618,83361
-IMAGEP \7f2625,83478
-ARRAYP \7f2632,83583
-CHECK_LIST \7f2638,83702
-LISP_MACRO_DEFUN_VOID \7f2643,83783
-CHECK_STRING_CAR \7f2653,84080
-CHECK_CONS \7f2658,84184
-CHECK_VECTOR \7f2663,84264
-CHECK_BOOL_VECTOR \7f2668,84350
-CHECK_VECTOR_OR_STRING \7f2674,84527
-CHECK_ARRAY \7f2683,84701
-CHECK_BUFFER \7f2688,84809
-CHECK_WINDOW \7f2693,84895
-CHECK_PROCESS \7f2699,85001
-CHECK_NATNUM \7f2705,85097
-#define CHECK_RANGED_INTEGER(\7f2710,85174
-#define CHECK_TYPE_RANGED_INTEGER(\7f2721,85557
-#define CHECK_NUMBER_COERCE_MARKER(\7f2729,85827
-XFLOATINT \7f2738,86080
-CHECK_NUMBER_OR_FLOAT \7f2744,86151
-#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(\7f2749,86250
-CHECK_NUMBER_CAR \7f2760,86660
-CHECK_NUMBER_CDR \7f2768,86782
-#define DEFUN(\7f2803,88377
-#define DEFUN(\7f2812,88845
-FUNCTIONP \7f2822,89200
-enum maxargs\7f2831,89395
-    MANY \7f2833,89412
-    UNEVALLED \7f2834,89427
-#define CALLMANY(\7f2838,89530
-#define CALLN(\7f2844,89883
-#define DEFVAR_LISP(\7f2869,91088
-#define DEFVAR_LISP_NOPRO(\7f2874,91260
-#define DEFVAR_BOOL(\7f2879,91442
-#define DEFVAR_INT(\7f2884,91615
-#define DEFVAR_BUFFER_DEFAULTS(\7f2890,91786
-#define DEFVAR_KBOARD(\7f2896,91990
-typedef jmp_buf sys_jmp_buf;\7f2906,92314
-# define sys_setjmp(\7f2907,92343
-# define sys_longjmp(\7f2908,92378
-typedef sigjmp_buf sys_jmp_buf;\7f2910,92450
-# define sys_setjmp(\7f2911,92482
-# define sys_longjmp(\7f2912,92522
-typedef jmp_buf sys_jmp_buf;\7f2916,92681
-# define sys_setjmp(\7f2917,92710
-# define sys_longjmp(\7f2918,92744
-enum specbind_tag \7f2943,93796
-  SPECPDL_UNWIND,\7f2944,93816
-  SPECPDL_UNWIND_PTR,\7f2945,93885
-  SPECPDL_UNWIND_INT,\7f2946,93936
-  SPECPDL_UNWIND_VOID,\7f2947,93984
-  SPECPDL_BACKTRACE,\7f2948,94038
-  SPECPDL_LET,\7f2949,94096
-  SPECPDL_LET_LOCAL,\7f2951,94226
-  SPECPDL_LET_DEFAULT  \7f2952,94283
-union specbinding\7f2955,94355
-    ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2957,94377
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2959,94434
-      void (*func)\7ffunc\ 12960,94480
-      Lisp_Object arg;\7f2961,94514
-    } unwind;\7f2962,94537
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2964,94564
-      void (*func)\7ffunc\ 12965,94610
-      void *arg;\7farg\ 12966,94639
-    } unwind_ptr;\7f2967,94656
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2969,94687
-      void (*func)\7ffunc\ 12970,94733
-      int arg;\7f2971,94759
-    } unwind_int;\7f2972,94774
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2974,94805
-      void (*func)\7ffunc\ 12975,94851
-    } unwind_void;\7f2976,94878
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2978,94910
-      Lisp_Object symbol,\7f2980,95017
-      Lisp_Object symbol, old_value,\7f2980,95017
-      Lisp_Object symbol, old_value, where;\7f2980,95017
-    } let;\7f2981,95061
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2983,95085
-      bool_bf debug_on_exit \7f2984,95131
-      Lisp_Object function;\7f2985,95164
-      Lisp_Object *args;\7fargs\ 12986,95192
-      ptrdiff_t nargs;\7f2987,95217
-    } bt;\7f2988,95240
-SPECPDL_INDEX \7f2996,95379
-enum handlertype \7f3021,96401
-enum handlertype { CATCHER,\7f3021,96401
-enum handlertype { CATCHER, CONDITION_CASE \7f3021,96401
-struct handler\7f3023,96448
-  enum handlertype type;\7f3025,96465
-  Lisp_Object tag_or_ch;\7f3026,96490
-  Lisp_Object val;\7f3027,96515
-  struct handler *next;\7fnext\ 13028,96534
-  struct handler *nextfree;\7fnextfree\ 13029,96558
-  Lisp_Object *bytecode_top;\7fbytecode_top\ 13036,96916
-  int bytecode_dest;\7f3037,96945
-  struct gcpro *gcpro;\7fgcpro\ 13042,97182
-  sys_jmp_buf jmp;\7f3044,97212
-  EMACS_INT lisp_eval_depth;\7f3045,97231
-  ptrdiff_t pdlcount;\7f3046,97260
-  int poll_suppress_count;\7f3047,97282
-  int interrupt_input_blocked;\7f3048,97309
-  struct byte_stack *byte_stack;\7fbyte_stack\ 13049,97340
-#define PUSH_HANDLER(\7f3053,97437
-#define QUIT   \7f3101,99214
-#define QUITP \7f3112,99464
-struct gcpro\7f3132,100307
-  struct gcpro *next;\7fnext\ 13134,100322
-  volatile Lisp_Object *var;\7fvar\ 13137,100391
-  ptrdiff_t nvars;\7f3140,100473
-  const char *name;\7fname\ 13144,100558
-  int lineno;\7f3147,100614
-  int idx;\7f3150,100675
-  int level;\7f3153,100711
-#define GC_USE_GCPROS_AS_BEFORE        \7f3171,101288
-#define GC_MAKE_GCPROS_NOOPS   \7f3172,101323
-#define GC_MARK_STACK_CHECK_GCPROS     \7f3173,101355
-#define GC_USE_GCPROS_CHECK_ZOMBIES    \7f3174,101392
-#define GC_MARK_STACK \7f3177,101453
-#define BYTE_MARK_STACK \7f3181,101553
-#define GCPRO1(\7f3190,101824
-#define GCPRO2(\7f3191,101864
-#define GCPRO3(\7f3192,101930
-#define GCPRO4(\7f3194,102025
-#define GCPRO5(\7f3196,102145
-#define GCPRO6(\7f3198,102290
-#define GCPRO7(\7f3201,102465
-#define UNGCPRO \7f3202,102544
-#define GCPRO1(\7f3208,102644
-#define GCPRO2(\7f3212,102766
-#define GCPRO3(\7f3217,102958
-#define GCPRO4(\7f3223,103220
-#define GCPRO5(\7f3230,103551
-#define GCPRO6(\7f3238,103952
-#define GCPRO7(\7f3247,104422
-#define UNGCPRO \7f3257,104962
-#define GCPRO1(\7f3263,105056
-#define GCPRO2(\7f3269,105290
-#define GCPRO3(\7f3278,105708
-#define GCPRO4(\7f3289,106265
-#define GCPRO5(\7f3302,106963
-#define GCPRO6(\7f3317,107803
-#define GCPRO7(\7f3334,108784
-#define UNGCPRO        \7f3353,109907
-#define RETURN_UNGCPRO(\7f3363,110174
-vcopy \7f3384,110648
-set_hash_key_slot \7f3393,110923
-set_hash_value_slot \7f3399,111062
-set_symbol_function \7f3408,111297
-set_symbol_plist \7f3414,111412
-set_symbol_next \7f3420,111515
-blv_found \7f3428,111688
-set_overlay_plist \7f3437,111871
-string_intervals \7f3445,112022
-set_string_intervals \7f3453,112144
-set_char_table_defalt \7f3462,112346
-set_char_table_purpose \7f3467,112458
-set_char_table_extras \7f3475,112627
-set_char_table_contents \7f3482,112836
-set_sub_char_table_contents \7f3489,113031
-enum Arith_Comparison \7f3497,113294
-  ARITH_EQUAL,\7f3498,113318
-  ARITH_NOTEQUAL,\7f3499,113333
-  ARITH_LESS,\7f3500,113351
-  ARITH_GRTR,\7f3501,113365
-  ARITH_LESS_OR_EQUAL,\7f3502,113379
-  ARITH_GRTR_OR_EQUAL\7f3503,113402
-#define INTEGER_TO_CONS(\7f3511,113753
-#define CONS_TO_INTEGER(\7f3529,114616
-enum { NEXT_ALMOST_PRIME_LIMIT \7f3573,116320
-extern EMACS_INT next_almost_prime \7f3574,116359
-enum constype \7f3739,123811
-enum constype {CONSTYPE_HEAP,\7fCONSTYPE_HEAP\ 13739,123811
-enum constype {CONSTYPE_HEAP, CONSTYPE_PURE}\7fCONSTYPE_PURE\ 13739,123811
-list2i \7f3745,124001
-list3i \7f3751,124110
-list4i \7f3757,124249
-extern Lisp_Object make_formatted_string \7f3767,124625
-build_pure_c_string \7f3792,125653
-build_string \7f3801,125858
-make_uninit_vector \7f3820,126429
-make_uninit_sub_char_table \7f3833,126648
-#define ALLOCATE_PSEUDOVECTOR(\7f3850,127192
-#define ALLOCATE_ZEROED_PSEUDOVECTOR(\7f3858,127528
-INLINE void \7f3890,128934
-extern void *r_alloc \7fr_alloc\ 13895,129055
-#define FLOAT_TO_STRING_BUFSIZE \7f3927,130518
-intern \7f3968,132125
-intern_c_string \7f3974,132213
-extern _Noreturn void error \7f4034,135592
-fast_string_match_ignore_case \7f4136,140080
-INLINE void fixup_locale \7f4241,143845
-INLINE void synchronize_system_messages_locale \7f4242,143880
-INLINE void synchronize_system_time_locale \7f4243,143937
-#define IS_DAEMON \7f4257,144410
-#define DAEMON_RUNNING \7f4258,144450
-#define IS_DAEMON \7f4261,144549
-#define DAEMON_RUNNING \7f4262,144594
-# define WAIT_READING_MAX \7f4281,145413
-# define WAIT_READING_MAX \7f4283,145485
-extern _Noreturn void emacs_abort \7f4374,148377
-egetenv \7f4532,152800
-#define eabs(\7f4545,153296
-#define make_fixnum_or_float(\7f4550,153429
-enum MAX_ALLOCA \7f4556,153680
-enum MAX_ALLOCA { MAX_ALLOCA \7f4556,153680
-extern void *record_xmalloc \7frecord_xmalloc\ 14558,153725
-#define USE_SAFE_ALLOCA        \7f4560,153791
-#define AVAIL_ALLOCA(\7f4564,153924
-#define SAFE_ALLOCA(\7f4568,154035
-#define SAFE_NALLOCA(\7f4576,154376
-#define SAFE_ALLOCA_STRING(\7f4590,154852
-#define SAFE_FREE(\7f4598,155104
-#define SAFE_ALLOCA_LISP(\7f4625,155682
-# define USE_STACK_LISP_OBJECTS \7f4652,156804
-# undef USE_STACK_LISP_OBJECTS\7f4658,156970
-# define USE_STACK_LISP_OBJECTS \7f4659,157001
-enum { defined_GC_CHECK_STRING_BYTES \7f4663,157076
-enum { defined_GC_CHECK_STRING_BYTES \7f4665,157129
-union Aligned_Cons\7f4670,157263
-  struct Lisp_Cons s;\7f4672,157284
-  double d;\7f4673,157306
-  double d; intmax_t i;\7f4673,157306
-  double d; intmax_t i; void *p;\7fp\ 14673,157306
-union Aligned_String\7f4676,157343
-  struct Lisp_String s;\7f4678,157366
-  double d;\7f4679,157390
-  double d; intmax_t i;\7f4679,157390
-  double d; intmax_t i; void *p;\7fp\ 14679,157390
-    USE_STACK_CONS \7f4689,157698
-    USE_STACK_STRING \7f4691,157804
-#define STACK_CONS(\7f4699,158141
-#define AUTO_CONS_EXPR(\7f4701,158238
-#define AUTO_CONS(\7f4709,158601
-#define AUTO_LIST1(\7f4710,158672
-#define AUTO_LIST2(\7f4712,158780
-#define AUTO_LIST3(\7f4716,158935
-#define AUTO_LIST4(\7f4720,159110
-# define verify_ascii(\7f4732,159501
-#define AUTO_STRING(\7f4740,159809
-#define FOR_EACH_TAIL(\7f4752,160273
-#define FOR_EACH_ALIST_VALUE(\7f4766,160764
-maybe_gc \7f4774,161051
-functionp \7f4784,161290
-\f
-c-src/machsyscalls.c,23
-#define        SYSCALL(\7f6,113
-\f
-c-src/machsyscalls.h,159
-SYSCALL (mach_msg_trap,\7f1,0
-SYSCALL (mach_reply_port,\7f13,314
-SYSCALL (mach_thread_self,\7f18,377
-SYSCALL (mach_task_self,\7f23,441
-SYSCALL (mach_host_self,\7f28,503
-\f
-c-src/h.h,2394
-   ELEM_I/\7fELEM_I\ 13,15
-} Fails_t;\7f5,85
-typedef void Lang_function \7f6,96
-typedef struct tpcmd\7f8,147
-#define ggg \7f10,170
-  } arg;\7f13,198
-tpcmd;\7f15,209
-typedef struct foobar2_ \7f16,216
-    fu   int (*funcptr)\7ffuncptr\ 117,242
-    long foo;\7f18,279
-    char bar;\7f19,293
-} foobar2;\7f20,307
-    DEVICE_SWP,\7f23,333
-    DEVICE_LAST\7f24,349
-} bsp_DevId;\7f25,365
-  struct constant_args \7f27,394
-    unsigned int burst;\7f28,419
-  } constant;\7f29,443
-} args;\7f30,457
-typedef int *regset;\7fregset\ 131,465
-typedef int INT;\7f32,486
-typedef union abc\7f33,503
-  int def;\7f35,523
-} ghi1;\7f36,534
-typedef union abc \7f37,542
-  int def;\7f38,562
-} ghi2;\7f39,573
-typedef struct a \7f40,581
-} b;\7f41,600
-#define c(\7f42,605
-typedef struct an_extern_linkage *an_extern_linkage_ptr;\7fan_extern_linkage_ptr\ 143,619
-typedef struct an_extern_linkage \7f44,676
-               kind;\7f46,733
-               is_explicit;\7f49,812
-  a_byte_boolean is_curly_brace_form;\7f54,1009
-} an_extern_linkage;\7f56,1054
-typedef struct pollfd   pfdset[\7fpfdset\ 157,1075
-typedef union rtunion_def\7f58,1119
-    int rtint;\7f60,1149
-    char *rtstr;\7frtstr\ 161,1164
-    struct rtx_def *rtx;\7frtx\ 162,1181
-  } womboid \7f63,1206
-typedef union rtunion_def\7f64,1220
-  int rtint;\7f68,1250
-  char *rtstr;\7frtstr\ 169,1263
-  struct rtx_def *rtxp;\7frtxp\ 170,1278
-  struct rtx_def rtxnp;\7f71,1302
-womboid\7f75,1330
-enum {dog,\7fdog\ 181,1416
-enum {dog, cat}\7fcat\ 181,1416
-enum {dog, cat} animals;\7f81,1416
-typedef void (_CALLBACK_ *signal_handler)\7fsignal_handler\ 182,1441
-typedef void (_CALLBACK_ *signal_handler1)\7fsignal_handler1\ 183,1489
-/* comment */ #define ANSIC\7f84,1538
- #define ANSIC\7f85,1566
-typedef void (proc)\7f87,1588
-typedef void OperatorFun(\7f88,1612
-typedef int f(\7f89,1648
-struct my_struct \7f91,1691
-typedef struct my_struct my_typedef;\7f93,1713
-typedef RETSIGTYPE (*signal_handler_t)\7fsignal_handler_t\ 194,1750
-  Date 04 May 87 235311 PDT \7f96,1802
-typedef unsigned char unchar;\7f99,1880
-typedef int X,\7f100,1910
-typedef int X, Y,\7f100,1910
-typedef int X, Y, Z;\7f100,1910
-typedef mio mao;\7f101,1931
-typedef struct a \7f103,1966
-typedef struct a { } b;\7f103,1966
-typedef struct b\7f104,1990
-} c;\7f106,2009
-int extvar;\7f109,2053
-#define tag1\7f110,2065
-#define aaaaaa \7f111,2078
-#define bbbbbb\\7fbbbbbb\ 1113,2102
-#define cccccccccc\7f115,2125
-#define enter_critical_section \7f116,2144
-#define exit_critical_to_previous      \7f117,2199
-#define UNDEFINED\7f118,2259
-struct re_pattern_buffer \7f119,2277
-struct re_pattern_buffer { unsigned char *buffer;\7fbuffer\ 1119,2277
-\f
-cp-src/c.C,2849
-template <typename ipc3dIslandHierarchy,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels, typename ipc3dLinkControl,\7f1,0
-class CMultiChannelCSC19_3D\7f2,151
-        ipc3dLinkControlSetup setup;\7f5,190
-        ipc3dCSC19<\7fipc3dCSC19\ 16,227
-        ipc3dCSC19<ipc3dIslandHierarchy,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipc3dLinkControl> mcCSC;\7f6,227
-        advTimer cscInitTime;\7f7,388
-        advTimer cscSegmentationTime;\7f8,418
-        advTimer outputTime;\7f9,456
-        void execute(\7f11,493
-int main \7f25,1026
-double base \7f26,1088
-typedef struct s1 \7f32,1251
-   int counter;\7f33,1271
-} t1;\7f34,1287
-struct s2 \7f35,1293
-   int counter;\7f36,1305
-typedef struct s2 t2;\7f38,1324
-class A \7f39,1346
-  enum { rosso,\7f40,1356
-  enum { rosso, giallo,\7f40,1356
-  enum { rosso, giallo, verde \7f40,1356
-  enum { rosso, giallo, verde } colori;\7f40,1356
-const A& A::operator+(\7foperator+\ 143,1431
-void operator+(\7f44,1467
-void operator -(\7foperator -\ 145,1495
-void operator int(\7foperator int\ 146,1524
-A<int>* f(\7f48,1556
-int f(\7f49,1571
-int A<int>::f(\7ff\ 150,1590
-A<float,B<int> > A<B<float>,int>::f(\7ff\ 151,1618
-template <class C, int n> class AT \7f52,1668
-template <class C, int n> class AT { C t[\7ft\ 152,1668
-class AU \7f53,1716
-class AU { T x;\7f53,1716
-class B<\7fB\ 154,1735
-class B<int> { void f(\7f54,1735
-const A::B::T& abt \7f55,1766
-class A \7f56,1792
-class A { class B \7f56,1792
-class A \7f57,1827
-  A operator+(\7f59,1861
-is_muldiv_operation(\7f61,1888
-domain foo \7f68,1956
-     void f(\7f69,1969
-void A::A(\7fA\ 172,1990
-struct A \7f73,2005
-struct B \7f74,2023
-void B::B(\7fB\ 175,2042
-void BE_Node::BE_Node(\7fBE_Node\ 176,2057
-class BE_Node \7f77,2084
-struct foo \7f79,2103
-  int x;\7f80,2116
-class test \7f86,2157
-  int f(\7f87,2170
-  int ff(\7f89,2232
-  int g(\7f90,2255
-class  AST_Root \7f92,2279
-AST_ConcreteType::AST_ConcreteType(\7f99,2394
-AST_Array::AST_Array(\7f107,2533
-     void f(\7f115,2734
-struct A \7f117,2754
-A::~A(\7f~A\ 1120,2778
-struct B \7f122,2790
-    ~B(\7f123,2801
-enum {dog,\7fdog\ 1126,2818
-enum {dog, cat}\7fcat\ 1126,2818
-enum {dog, cat} animals;\7f126,2818
-struct {int teats;\7f127,2843
-struct {int teats;} cow;\7f127,2843
-class Boo \7f129,2869
-    enum {dog,\7fdog\ 1130,2881
-    enum {dog, cat}\7fcat\ 1130,2881
-    enum {dog, cat} animals;\7f130,2881
-    struct {int treats;\7f131,2910
-    struct {int treats;} cow;\7f131,2910
-    int i,\7f132,2940
-    int i,a,\7f132,2940
-    int i,a,b;\7f132,2940
-    foo(\7f133,2955
-    Boo(\7f137,2996
-Boo::Boo(\7f141,3071
-typedef int should_see_this_one_enclosed_in_extern_C;\7f149,3156
-typedef int (*should_see_this_function_pointer)\7fshould_see_this_function_pointer\ 1153,3229
-typedef int should_see_this_array_type[\7fshould_see_this_array_type\ 1156,3311
-\f
-cp-src/x.cc,63
-class XX\7f1,0
-XX::foo(\7ffoo\ 19,60
-XX::bar(\7fbar\ 115,95
-main(\7f21,126
-\f
-cp-src/burton.cpp,124
-::dummy::dummy test::dummy1(\7fdummy1\ 11,0
-::dummy::dummy test::dummy2(\7fdummy2\ 16,64
-::dummy::dummy test::dummy3(\7fdummy3\ 111,143
-\f
-cp-src/functions.cpp,778
-void Date::setDate \7fsetDate\ 15,148
-void Date::plus \7fplus\ 132,938
-void Date::minus \7fminus\ 142,1226
-void Date::shift \7fshift\ 152,1404
-Date & Date::operator = \7foperator =\ 162,1625
-Date & Date::operator += \7foperator +=\ 169,1786
-Date & Date::operator -= \7foperator -=\ 178,1935
-Date & Date::operator ++ \7foperator ++\ 187,2076
-Date & Date::operator -- \7foperator --\ 196,2212
-int Date::operator - \7foperator -\ 1104,2327
-int Date::operator < \7foperator <\ 1112,2479
-int Date::operator > \7foperator >\ 1116,2553
-int Date::operator == \7foperator ==\ 1120,2627
-ostream& operator << \7foperator <<\ 1124,2703
-istream& operator >> \7foperator >>\ 1133,2939
-bool isLeap \7f159,3539
-bool isHoliday \7f163,3625
-void asort(\7f173,3861
-void ReadVacation \7f186,4060
-void Debug \7f201,4519
-int WorkingDays(\7f211,4863
-Date StartDay(\7f226,5125
-\f
-cp-src/MDiagArray2.h,482
-#define octave_MDiagArray2_h \7f29,870
-#undef LTGT\7f35,967
-#define LTGT\7f39,1031
-#define LTGT \7f42,1051
-class MDiagArray2 \7f78,2022
-  MDiagArray2 \7f82,2077
-  MDiagArray2 \7f86,2154
-  MDiagArray2 \7f87,2198
-  MDiagArray2 \7f88,2254
-  MDiagArray2 \7f89,2329
-  MDiagArray2 \7f90,2387
-  MDiagArray2 \7f91,2450
-  ~MDiagArray2 \7f93,2515
-  MDiagArray2<T>& operator = \7foperator =\ 195,2542
-  operator MArray2<T> \7foperator MArray2<T>\ 1101,2667
-#undef LTGT\7f144,3874
-#define INSTANTIATE_MDIAGARRAY_FRIENDS(\7f146,3887
-\f
-cp-src/Range.h,381
-#define octave_Range_h \7f24,765
-Range\7f35,891
-  Range \7f39,909
-  Range \7f42,995
-  Range \7f46,1130
-  Range \7f50,1248
-  double base \7f54,1376
-  double limit \7f55,1425
-  double inc \7f56,1475
-  int nelem \7f57,1523
-  void set_base \7f68,1728
-  void set_limit \7f69,1774
-  void set_inc \7f70,1821
-  double rng_base;\7f79,2023
-  double rng_limit;\7f80,2042
-  double rng_inc;\7f81,2062
-  int rng_nelem;\7f83,2081
-\f
-cp-src/screen.cpp,228
-unsigned char cursor_x,\7f15,548
-unsigned char cursor_x, cursor_y;\7f15,548
-static union REGS regs;\7f16,582
-void goto_xy(\7f18,607
-void hide_cursor(\7f27,774
-void cursor_position(\7f32,836
-void clear_screen(\7f41,997
-void write_xyc(\7f55,1247
-\f
-cp-src/screen.hpp,414
-#define __COLORS\7f9,401
-enum COLORS \7f11,419
-    BLACK,\7f12,433
-    BLUE,\7f13,471
-    GREEN,\7f14,481
-    CYAN,\7f15,492
-    RED,\7f16,502
-    MAGENTA,\7f17,511
-    BROWN,\7f18,524
-    LIGHTGRAY,\7f19,535
-    DARKGRAY,\7f20,550
-    LIGHTBLUE,\7f21,589
-    LIGHTGREEN,\7f22,604
-    LIGHTCYAN,\7f23,620
-    LIGHTRED,\7f24,635
-    LIGHTMAGENTA,\7f25,649
-    YELLOW,\7f26,667
-    WHITE\7f27,679
-#define SCREEN_FP(\7f31,700
-#define SCREEN_START \7f33,795
-\f
-cp-src/conway.cpp,288
-#define max(\7f12,357
-#define min(\7f13,393
-const int num_rows \7f15,430
-const int num_columns \7f16,470
-class site *field_of_play[\7ffield_of_play\ 118,499
-int site::total_surrounding(\7ftotal_surrounding\ 120,550
-void display(\7f37,958
-void glider(\7f50,1239
-void traffic_light(\7f59,1478
-void main(\7f67,1633
-\f
-cp-src/conway.hpp,271
-class site:\7fsite\ 15,235
-    char x,\7f7,269
-    char x, y,\7f7,269
-    char x, y, alive,\7f7,269
-    char x, y, alive, next_alive;\7f7,269
-    site(\7f10,344
-    char read(\7f12,410
-    void set(\7f13,444
-    void clear(\7f14,478
-    void compute_next_state(\7f15,514
-    void step(\7f22,717
-\f
-cp-src/clheir.cpp,359
-const int max_num_generic_objects \7f9,298
-generic_object * object_registry[\7fobject_registry\ 110,340
-void init_registry(\7f12,400
-void step_everybody(\7f19,527
-void discrete_location::clear_neighbors(\7fclear_neighbors\ 131,852
-generic_object::generic_object(\7fgeneric_object\ 136,981
-generic_object::~generic_object(\7f~generic_object\ 148,1255
-void agent::move(\7fmove\ 153,1353
-\f
-cp-src/clheir.hpp,682
-class generic_object\7f13,520
-    int where_in_registry;\7f15,547
-    virtual void compute_next_state(\7f21,843
-    virtual void step(\7f22,889
-const int max_num_directions \7f31,1220
-class location:\7flocation\ 133,1290
-    location(\7f43,1643
-class irregular_location:\7firregular_location\ 147,1687
-    double x,\7f49,1735
-    double x, y,\7f49,1735
-    double x, y, z;\7f49,1735
-    irregular_location(\7f51,1763
-class discrete_location:\7fdiscrete_location\ 156,1890
-    int x,\7f58,1937
-    int x, y,\7f58,1937
-    int x, y, z;\7f58,1937
-    class location *neighbors[\7fneighbors\ 159,1954
-    discrete_location(\7f62,2045
-    void assign_neighbor(\7f66,2185
-class agent:\7fagent\ 175,2509
-    location *where;\7fwhere\ 177,2550
-\f
-cp-src/fail.C,330
-struct A \7f7,263
-          struct B \7f8,274
-                  struct C \7f9,289
-                          int x;\7f10,305
-                          C(\7f11,318
-                          operator int(\7foperator int\ 112,342
-                  typedef C T;\7f14,389
-          typedef B T2;\7f16,414
-class A \7f23,453
-       class B \7f24,463
-               class C \7f25,474
-               int f(\7f26,488
-int A::B::f(\7ff\ 131,521
-main(\7f37,571
-       class D \7f41,622
-               D(\7f43,659
-               int x;\7f44,694
-\f
-el-src/TAGTEST.EL,181
-(foo::defmumble bletch \7f3,33
-(defun foo==bar \7ffoo==bar\ 14,66
-(defalias 'pending-delete-mode \7fpending-delete-mode\ 18,182
-(defalias (quote explicitly-quoted-pending-delete-mode)\7f11,255
-\f
-el-src/emacs/lisp/progmodes/etags.el,5069
-(defvar tags-file-name \7f34,1035
-(defgroup etags \7f43,1499
-(defcustom tags-case-fold-search \7f47,1567
-(defcustom tags-table-list \7f59,2052
-(defcustom tags-compression-info-list\7f69,2450
-(defcustom tags-add-tables \7f88,3232
-(defcustom tags-revert-without-query \7f98,3628
-(defvar tags-table-computed-list \7f103,3779
-(defvar tags-table-computed-list-for \7f112,4263
-(defvar tags-table-list-pointer \7f117,4511
-(defvar tags-table-list-started-at \7f121,4702
-(defvar tags-table-set-list \7f124,4822
-(defcustom find-tag-hook \7f129,5001
-(defcustom find-tag-default-function \7f137,5264
-(define-obsolete-variable-alias 'find-tag-marker-ring-length\7ffind-tag-marker-ring-length\ 1145,5603
-(defcustom tags-tag-face \7f148,5700
-(defcustom tags-apropos-verbose \7f154,5835
-(defcustom tags-apropos-additional-actions \7f160,5999
-(defvaralias 'find-tag-marker-ring \7ffind-tag-marker-ring\ 1183,6921
-(defvar default-tags-table-function \7f189,7101
-(defvar tags-location-ring \7f194,7327
-(defvar tags-table-files \7f201,7603
-(defvar tags-completion-table \7f206,7770
-(defvar tags-included-tables \7f209,7862
-(defvar next-file-list \7f212,7957
-(defvar tags-table-format-functions \7f217,8063
-(defvar file-of-tag-function \7f224,8444
-(defvar tags-table-files-function \7f228,8638
-(defvar tags-completion-table-function \7f230,8749
-(defvar snarf-tag-function \7f232,8844
-(defvar goto-tag-location-function \7f236,9053
-(defvar find-tag-regexp-search-function \7f239,9226
-(defvar find-tag-regexp-tag-order \7f241,9347
-(defvar find-tag-regexp-next-line-after-failure-p \7f243,9456
-(defvar find-tag-search-function \7f245,9576
-(defvar find-tag-tag-order \7f247,9683
-(defvar find-tag-next-line-after-failure-p \7f249,9778
-(defvar list-tags-function \7f251,9884
-(defvar tags-apropos-function \7f253,9972
-(defvar tags-included-tables-function \7f255,10066
-(defvar verify-tags-table-function \7f257,10185
-(defun initialize-new-tags-table \7f260,10296
-(defun tags-table-mode \7f276,10984
-(defun visit-tags-table \7f285,11249
-(defun tags-table-check-computed-list \7f321,12787
-(defun tags-table-extend-computed-list \7f360,14658
-(defun tags-expand-table-name \7f400,16371
-(defun tags-table-list-member \7f409,16714
-(defun tags-verify-table \7f421,17186
-(defun tags-table-including \7f470,19306
-(defun tags-next-table \7f522,21350
-(defun visit-tags-table-buffer \7f543,22207
-(defun tags-reset-tags-tables \7f712,28517
-(defun file-of-tag \7f731,29174
-(defun tags-table-files \7f740,29524
-(defun tags-included-tables \7f749,29874
-(defun tags-completion-table \7f755,30120
-(defun tags-lazy-completion-table \7f783,31314
-(defun tags-completion-at-point-function \7f799,31949
-(defun find-tag-tag \7f818,32699
-(defvar last-tag \7f837,33372
-(defun find-tag-interactive \7f840,33431
-(defvar find-tag-history \7f852,33846
-(defun find-tag-noselect \7f860,34016
-(defun find-tag \7f932,37130
-(defun find-tag-other-window \7f959,38346
-(defun find-tag-other-frame \7f1000,40274
-(defun find-tag-regexp \7f1025,41448
-(defalias 'pop-tag-mark \7fpop-tag-mark\ 11049,42610
-(defvar tag-lines-already-matched \7f1052,42661
-(defun find-tag-in-order \7f1055,42768
-(defun tag-find-file-of-tag-noselect \7f1167,47114
-(defun tag-find-file-of-tag \7f1200,48960
-(defun etags-recognize-tags-table \7f1208,49186
-(defun etags-verify-tags-table \7f1241,50817
-(defun etags-file-of-tag \7f1246,51015
-(defun etags-tags-completion-table \7f1256,51350
-(defun etags-snarf-tag \7f1286,52556
-(defun etags-goto-tag-location \7f1324,54125
-(defun etags-list-tags \7f1388,56568
-(defmacro tags-with-face \7f1423,57843
-(defun etags-tags-apropos-additional \7f1431,58176
-(defun etags-tags-apropos \7f1465,59413
-(defun etags-tags-table-files \7f1527,61622
-(defun etags-tags-included-tables \7f1542,62058
-(defun tags-recognize-empty-tags-table \7f1559,62598
-(defun tag-exact-file-name-match-p \7f1587,63744
-(defun tag-file-name-match-p \7f1596,64137
-(defun tag-exact-match-p \7f1609,64693
-(defun tag-implicit-name-match-p \7f1620,65261
-(defun tag-symbol-match-p \7f1633,65861
-(defun tag-word-match-p \7f1643,66297
-(defun tag-partial-file-name-match-p \7f1652,66695
-(defun tag-any-match-p \7f1662,67139
-(defun tag-re-match-p \7f1667,67323
-(defcustom tags-loop-revert-buffers \7f1675,67572
-(defun next-file \7f1685,67981
-(defvar tags-loop-operate \7f1760,70895
-(defvar tags-loop-scan\7f1763,70989
-(defun tags-loop-eval \7f1771,71318
-(defun tags-loop-continue \7f1782,71647
-(defun tags-search \7f1850,73953
-(defun tags-query-replace \7f1871,74779
-(defun tags-complete-tags-table-file \7f1896,76003
-(defun list-tags \7f1906,76382
-(defun tags-apropos \7f1934,77335
-(define-button-type 'tags-select-tags-table\7ftags-select-tags-table\ 11957,78161
-(defun select-tags-table \7f1964,78400
-(defvar select-tags-table-mode-map \7f2019,80527
-(define-derived-mode select-tags-table-mode \7f2030,80910
-(defun select-tags-table-select \7f2034,81094
-(defun select-tags-table-quit \7f2043,81460
-(defun complete-tag \7f2049,81615
-(defconst etags--xref-limit \7f2074,82556
-(defvar etags-xref-find-definitions-tag-order \7f2076,82591
-(defun etags-xref-find \7f2082,82881
-(defun etags--xref-find-definitions \7f2096,83410
-(defclass xref-etags-location \7f2129,85124
-(defun xref-make-etags-location \7f2135,85347
-(cl-defmethod xref-location-marker \7f2139,85502
-(cl-defmethod xref-location-line \7f2146,85746
-\f
-erl-src/gs_dialog.erl,98
--define(VERSION\7f2,32
-behaviour_info(\7f51,2177
-show(\7f124,5458
-dialog_loop(\7f219,9529
-test(\7f252,10806
-\f
-f-src/entry.for,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-f-src/entry.strange_suffix,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-f-src/entry.strange,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-forth-src/test-forth.fth,733
-: a-forth-word\7f20,301
-99 constant a-forth-constant!\7f22,343
-55 value a-forth-value?\7f23,373
-create :a-forth-dictionary-entry\7f24,397
-defer #a-defer-word\7f27,460
-: (another-forth-word)\7f(another-forth-word)\ 129,481
-   9   field   >field1\7f36,582
-   5   field   >field2\7f37,605
-constant (a-forth-constant\7f(a-forth-constant\ 138,628
-2000 buffer: #some-storage\7f41,657
-code assemby-code-word\7f43,685
-: a-forth-word\7f50,870
-: (foo)\7f(foo)\ 155,988
-: foo\7f56,1000
-: create-bar\7f58,1015
-3 4 2constant 2const\7f61,1074
-2const 2value 2val\7f62,1095
-2variable 2var\7f63,1114
-3.1415e fconstant fconst\7f65,1130
-fconst fvalue fval\7f66,1155
-fvariable fvar\7f67,1174
-synonym mypi\7f69,1190
-BEGIN-STRUCTURE point\7f71,1211
-  1 CELLS +FIELD p.x\7f72,1262
-  1 CELLS +FIELD p.y\7f73,1318
-\f
-go-src/test.go,48
-package main\7f1,0
-func say(\7f5,28
-func main(\7f9,72
-\f
-go-src/test1.go,172
-package main\7f1,0
-type plus \7f5,28
-type str \7f9,65
-type intNumber \7f13,99
-func (s str) PrintAdd(\7f17,136
-func (n intNumber) PrintAdd(\7f21,189
-func test(\7f25,248
-func main(\7f29,285
-\f
-html-src/softwarelibero.html,200
-Cos'è il software libero?\7f4,38
-Licenze d'uso di un programma\7flicenze\ 165,2502
-Sfatiamo alcuni miti\7f138,6122
-Il movimento open source\7foss\ 1191,8041
-Impatto pratico del software libero\7fimpatto\ 1231,10070
-\f
-html-src/index.shtml,104
-&nbsp;\7f8,281
-In evidenza\7f15,447
-Comunicati e iniziative\7f32,976
-Ultime notizie dall'associazione\7f63,2030
-\f
-html-src/algrthms.html,467
-Tutorial on Convolutional Coding with Viterbi Decoding--Description of the Data Generation, Convolutional Encoding, Channel Mapping and AWGN, and Quantizing Algorithms\7f7,277
-Description\7falgorithms\ 110,481
-Generating the Data\7fgenalgorithm\ 148,1995
-Convolutionally\7fconalgorithm\ 155,2512
-Next\7fstatetable\ 1262,11587
-Output\7foutputtable\ 1350,13915
-Mapping the Channel Symbols\7fmapping\ 1433,16213
-Adding Noise to the\7faddnoise\ 1439,16607
-Quantizing the Received\7fquantizing\ 1469,19100
-\f
-html-src/software.html,439
-Francesco Potortì Software Page\7f9,280
-Software that I wrote for supporting my research activity\7fsimulation\ 136,1398
-MTG\7fmtg\ 141,1482
-Fracas\7ffracas\ 165,2624
-GaliLEO\7fgalileo\ 1101,4232
-Leasqr\7fleasqr\ 1114,4677
-Free software that I wrote for the GNU project or for my personal or work\7fgnu\ 1142,6066
-Etags\7fetags\ 1148,6181
-checkiso\7f161,6731
-cgrep\7f178,7549
-debian-bug.el\7fdebian-bug\ 1190,7981
-tcpdump\7f205,8566
-Links to interesting software\7flinks\ 1216,8893
-\f
-lua-src/allegro.lua,400
-local function get_layer_by_name \7f7,175
-local function count_layers \7f33,621
-function GetLayerByName \7f54,980
-function GetUniqueLayerName \7f65,1204
-function SelectLayer \7f76,1415
-function NewLayer \7f86,1773
-function NewLayerSet \7f144,3226
-function RemoveLayer \7f170,3750
-function MoveLayerTop \7f211,4767
-function MoveLayerBottom \7f223,5079
-function MoveLayerBefore \7f236,5457
-function MoveLayerAfter \7f258,6090
-\f
-lua-src/test.lua,442
-function Rectangle.getPos \7f2,15
-function Rectangle.getPos \7fgetPos\ 12,15
-function Circle.getPos \7f6,61
-function Circle.getPos \7fgetPos\ 16,61
-function Cube.data.getFoo \7f10,102
-function Cube.data.getFoo \7fgetFoo\ 110,102
-function Square.something:Bar \7f14,148
-function Square.something:Bar \7fBar\ 114,148
-   function test.me_22a(\7f22,241
-   function test.me_22a(\7fme_22a\ 122,241
-   local function test.me22b \7f25,297
-   local function test.me22b \7fme22b\ 125,297
-\f
-make-src/Makefile,2175
-LATEST=\7f1,0
-RELEASELIST=\7f2,10
-ADASRC=\7f4,104
-ASRC=\7f5,171
-CSRC=\7f6,197
-CPSRC=\7f10,423
-ELSRC=\7f13,614
-ERLSRC=\7f14,661
-FORTHSRC=\7f15,702
-FSRC=\7f16,726
-HTMLSRC=\7f17,776
-JAVASRC=\7f18,844
-LUASRC=\7f19,907
-MAKESRC=\7f20,926
-OBJCSRC=\7f21,943
-OBJCPPSRC=\7f22,999
-PASSRC=\7f23,1035
-PERLSRC=\7f24,1053
-PHPSRC=\7f25,1108
-PSSRC=\7f26,1156
-PROLSRC=\7f27,1173
-PYTSRC=\7f28,1210
-TEXSRC=\7f29,1227
-YSRC=\7f30,1282
-SRCS=\7f31,1325
-NONSRCS=\7f35,1577
-VHDLFLAGS=\7f37,1624
-COBOLFLAGS=\7f38,1827
-POSTSCRIPTFLAGS=\7f39,1889
-TCLFLAGS=\7f40,1943
-GETOPTOBJS=\7f42,2002
-RXINCLUDE=\7f43,2034
-REGEXOBJS=\7f44,2056
-CHECKOBJS=\7f46,2075
-CHECKFLAGS=\7f47,2105
-OBJS=\7f48,2145
-CPPFLAGS=\7f49,2190
-LDFLAGS=\7f50,2259
-WARNINGS=\7f51,2282
-CFLAGS=\7f52,2466
-FASTCFLAGS=\7f55,2530
-FASTCFLAGSWARN=\7f56,2591
-FILTER=\7f58,2641
-REGEX=\7f59,2695
-xx=\7f60,2741
-MAKE:\7fMAKE\ 162,2790
-RUN=\7f63,2825
-RUN=\7f64,2865
-OPTIONS=\7f65,2870
-ARGS=\7f66,2922
-infiles \7f68,2940
-quiettest:\7fquiettest\ 170,3002
-test:\7ftest\ 179,3409
-${CHECKOBJS}:\7f${CHECKOBJS}\ 188,3805
-checker:\7fchecker\ 190,3849
-standalone:\7fstandalone\ 196,4062
-prof:\7fprof\ 1101,4168
-fastetags:\7ffastetags\ 1104,4198
-fastctags:\7ffastctags\ 1108,4322
-staticetags:\7fstaticetags\ 1112,4446
-rsynctofly:\7frsynctofly\ 1116,4608
-rsyncfromfly:\7frsyncfromfly\ 1119,4698
-web ftp publish:\7fweb ftp publish\ 1122,4794
-release distrib:\7frelease distrib\ 1129,5115
-tags:\7ftags\ 1134,5255
-clean:\7fclean\ 1136,5267
-srclist:\7fsrclist\ 1139,5302
-regexfile:\7fregexfile\ 1143,5391
-/home/www/pub/etags.c.gz:\7f/home/www/pub/etags.c.gz\ 1149,5566
-/home/www/pub/software/unix/etags.tar.gz:\7f/home/www/pub/software/unix/etags.tar.gz\ 1156,5825
-regex.o:\7fregex.o\ 1159,6031
-getopt.o:\7fgetopt.o\ 1162,6086
-getopt1.o:\7fgetopt1.o\ 1165,6147
-etags:\7fetags\ 1168,6210
-ctags:\7fctags\ 1171,6299
-man manpage:\7fman manpage\ 1174,6396
-etags.1.man:\7fetags.1.man\ 1176,6422
-maintaining.info:\7fmaintaining.info\ 1179,6475
-TAGS:\7fTAGS\ 1182,6557
-%ediff:\7f%ediff\ 1185,6587
-oediff:\7foediff\ 1188,6677
-%cdiff:\7f%cdiff\ 1191,6764
-xdiff:\7fxdiff\ 1194,6854
-ETAGS:\7fETAGS\ 1197,6942
-ETAGS%:\7fETAGS%\ 1200,7012
-ETAGS13 ETAGS14 ETAGS15:\7fETAGS13 ETAGS14 ETAGS15\ 1203,7084
-ETAGS12:\7fETAGS12\ 1206,7216
-OTAGS:\7fOTAGS\ 1209,7304
-CTAGS:\7fCTAGS\ 1212,7369
-CTAGS%:\7fCTAGS%\ 1215,7443
-CTAGS13 CTAGS14 CTAGS15:\7fCTAGS13 CTAGS14 CTAGS15\ 1218,7545
-EXTAGS:\7fEXTAGS\ 1221,7680
-.PRECIOUS:\7f.PRECIOUS\ 1224,7838
-FRC:\7fFRC\ 1226,7894
-\f
-objc-src/Subprocess.h,98
-#define Subprocess \7f41,1217
-#define BUFFERSIZE \7f43,1267
-@interface Subprocess:\7fSubprocess\ 145,1292
-\f
-objc-src/Subprocess.m,446
-#define        PTY_TEMPLATE \7f20,494
-#define        PTY_LENGTH \7f21,528
-@interface Subprocess(Private)\7f32,737
-- childDidExit\7f39,851
-- fdHandler:\7ffdHandler\ 167,1589
-showError \7f98,2360
-fdHandler \7f112,2785
-getptys \7f119,2907
-- init:\7finit\ 1183,4815
-    andStdErr:\7finit\ 1197,5147
-- send:(const char *)string withNewline:\7fsend\ 1300,7436
-- send:\7fsend\ 1308,7599
-- terminateInput\7f314,7689
-- terminate:\7fterminate\ 1321,7810
-- setDelegate:\7fsetDelegate\ 1332,7961
-- delegate\7f338,8031
-\f
-objc-src/PackInsp.h,109
-#define NUMSTATS       \7f36,1101
-#define TYPESTOSTAT    \7f37,1120
-@interface PackageInspector:\7fPackageInspector\ 139,1172
-\f
-objc-src/PackInsp.m,1322
-static const char RCSid[\7fRCSid\ 130,1032
-#define VERSION        \7f34,1116
-#   define DEBUG \7f37,1155
-#define LISTCONTENTS   \7f39,1181
-#define OPENBUTTON     \7f47,1352
-#define LISTCONTENTSBUTTON     \7f48,1449
-#define LISTDESCRIPTIONBUTTON  \7f49,1562
-#define STATE_UNINSTALLED      \7f52,1687
-#define STATE_INSTALLED        \7f53,1807
-#define STATE_COMPRESSD        \7f54,1948
-#define SIZEFORMAT     \7f57,2152
-#define KBYTES \7f58,2362
-#define MBYTES \7f59,2473
-#define LOCALIZE(\7f61,2585
-#define LOCALIZE_ARCH(\7f62,2668
-+new\7fnew\ 167,2802
--showInfo:\7fshowInfo\ 193,3417
--revert:\7frevert\ 1107,3737
--ok:\7fok\ 1136,4297
--load\7fload\ 1143,4424
-#define LOOKUP(\7f156,4826
-#undef LOOKUP\7f176,5694
--loadKeyValuesFrom:(const char *)type inTable:\7floadKeyValuesFrom\ 1186,5852
--loadContentsOf:(const char *)type inTable:\7floadContentsOf\ 1238,7079
--loadImage\7floadImage\ 1257,7552
-#define STAT_EQ(\7f275,7940
--(BOOL)shouldLoad\7f280,8116
--toggleDescription\7ftoggleDescription\ 1301,8626
--(const char *)getPath:(char *)buf forType:\7fgetPath\ 1317,8899
--setRevertButtonTitle\7fsetRevertButtonTitle\ 1333,9320
--(const char *)formatSize:(const char *)size inBuf:\7fformatSize\ 1344,9525
-#define WORKING        \7f368,10045
--(void)getArchs\7f370,10100
--(void)addArchs:\7faddArchs\ 1385,10520
--subprocess:(Subprocess *)sender output:\7fsubprocess\ 1428,11351
--subprocessDone:\7fsubprocessDone\ 1436,11484
-static void openInWorkspace(\7f446,11634
--open:\7fopen\ 1464,12063
-\f
-objcpp-src/SimpleCalc.H,41
-@interface SimpleCalc:\7fSimpleCalc\ 114,400
-\f
-objcpp-src/SimpleCalc.M,445
-- init\7f52,1747
-- appendToDisplay:\7fappendToDisplay\ 160,1933
-- registerAction:\7fregisterAction\ 170,2210
-- decimalKey:\7fdecimalKey\ 177,2348
-- numberKeys:\7fnumberKeys\ 191,2661
-- equalsKey:\7fequalsKey\ 1112,3192
-- operationKeys:\7foperationKeys\ 1131,3680
-- clearKey:\7fclearKey\ 1153,4301
-- clearAllKey:\7fclearAllKey\ 1160,4410
-- appDidInit:\7fappDidInit\ 1168,4591
-- windowWillClose:\7fwindowWillClose\ 1178,4882
-- infoPanel:\7finfoPanel\ 1186,5132
-- helpPanel:\7fhelpPanel\ 1198,5482
-\f
-pas-src/common.pas,1875
-procedure InitializeStringPackage;\7f26,527
-function newtextstring;\7f34,874
-procedure disposetextstring;\7f52,1404
-function ConcatT;\7f78,2066
-function AppendTextString;\7f112,3238
-function CopyTextString;\7f132,3947
-procedure CONVERT_CHARSTRING_TO_VALUE;\7f151,4505
-procedure append_string;\7f172,5166
-function To_Upper;\7f186,5462
-function To_Lower;\7f194,5617
-function EmptyNmStr(\7f209,6213
-function chartonmstr;\7f219,6436
-function LowerCaseNmStr;\7f230,6682
-function concatenatenamestrings;\7f242,7007
-procedure writenamestring;\7f263,7517
-function IsControlChar;\7f277,7928
-function namestringequal;\7f283,8079
-function NameStringLess;\7f302,8539
-function IsControlCharName(\7f343,9710
-function SubString;\7f358,10208
-function SkipChars;\7f379,10791
-function RemoveUnderlineControl;\7f397,11311
-procedure First100Chars;\7f427,12162
-procedure SkipSpaces;\7f462,13298
-function SkipBlanks;\7f477,13782
-function stripname;\7f505,14595
-function Locate;\7f522,15039
-function NameHasChar;\7f543,15581
-function integertonmstr;\7f561,16134
-function NmStrToInteger;\7f585,16901
-function AddNullToNmStr;\7f600,17317
-function ValToNmStr;\7f611,17585
-function ChangeFileType;\7f625,18037
-function StripPath;\7f647,18734
-function ReprOfChar;\7f675,19343
-procedure ExtractCommentInfo;\7f702,20749
-procedure INSERT_TREE_NODE;\7f784,24053
-function GetNameList;\7f920,27926
-procedure DisposeANameList(\7f925,28010
-procedure DisposeNameList;\7f938,28340
-function GetNewNameListNode;\7f943,28409
-function insertname;\7f972,29051
-procedure InitNameList;\7f988,29471
-procedure InitNameStringPool;\7f998,29767
-procedure NewNameString;\7f1004,29867
-procedure ReleaseNameString;\7f1022,30232
-procedure SDTrefStringToRec \7f1045,30741
-procedure SDTrefSkipSpaces;\7f1059,31092
-function SDTrefIsEnd \7f1070,31323
-function SDTrefGetInteger \7f1082,31529
-procedure SDTrefRecToString \7f1303,37546
-function NmStrToErrStr;\7f1497,42305
-function ErrStrToNmStr;\7f1509,42557
-function GetTextRef;\7f1529,43112
-\f
-php-src/lce_functions.php,2864
-  define("LCE_FUNCTIONS"\7fLCE_FUNCTIONS\ 14,38
-  define("LCE_UNKNOWN"\7fLCE_UNKNOWN\ 19,145
-  define("LCE_WS"\7fLCE_WS\ 111,194
-  define("LCE_COMMENT"\7fLCE_COMMENT\ 113,244
-  define("LCE_COMMENT_USER"\7fLCE_COMMENT_USER\ 115,303
-  define("LCE_COMMENT_TOOL"\7fLCE_COMMENT_TOOL\ 117,366
-  define("LCE_MSGID"\7fLCE_MSGID\ 119,430
-  define("LCE_MSGSTR"\7fLCE_MSGSTR\ 121,488
-  define("LCE_TEXT"\7fLCE_TEXT\ 123,541
-  define("STATE_ABORT"\7fSTATE_ABORT\ 125,567
-  define("STATE_OK"\7fSTATE_OK\ 126,595
-  define("STATE_LOOP"\7fSTATE_LOOP\ 127,620
-  class POEntryAD \7f29,648
-      function validate(\7f31,683
-      function checkQuotation(\7f59,1384
-  class CommentAD \7f70,1639
-      var $prefix;\7f72,1674
-      function CommentAD(\7f73,1693
-      function validate(\7f83,1944
-  class POEntry \7f105,2410
-      var $msgid;\7f107,2454
-      var $msgstr;\7f108,2472
-      var $user_comment;\7f109,2491
-      var $sys_comment;\7f110,2516
-      var $unk_comment;\7f111,2540
-      var $msgid_lc \7f113,2565
-      var $msgstr_lc \7f114,2590
-      var $user_comment_lc \7f115,2616
-      var $sys_comment_lc \7f116,2648
-      var $unk_comment_lc \7f117,2679
-      function POEntry(\7f119,2711
-      function lineCount(\7f135,3255
-      function serializeToVars(\7f141,3365
-      function write(\7f151,3800
-  class POReader \7f163,4178
-      var $msgid;\7f165,4223
-      var $msgstr;\7f166,4241
-      var $user_comment;\7f167,4260
-      var $sys_comment;\7f168,4285
-      var $unk_comment;\7f169,4309
-      var $state;\7f170,4333
-      var $ignore_ws;\7f171,4351
-      var $po_entries;\7f172,4373
-      var $poe_num;\7f173,4396
-      var $filename;\7f174,4416
-      var $domain;\7f175,4437
-      function gettext(\7f177,4457
-      function parseFromVars(\7f189,4705
-      function serializeToVars(\7f215,5331
-      function POReader(\7f229,5613
-      function read(\7f243,5983
-      function write(\7f259,6307
-      function isComment(\7f277,6645
-      function comment(\7f284,6822
-      function msgid(\7f304,7247
-      function msgstr(\7f320,7574
-      function start(\7f340,8232
-      function createPOEntries(\7f360,8644
-      function stripLine(\7f394,9472
-      function printClassification(\7f421,10056
-      function classifyLine(\7f432,10301
-  function getTextDomains(\7f471,11094
-  class PORManager \7f498,11756
-      var      $por_a;\7f500,11803
-      function PORManager(\7f502,11822
-      function addPOReader(\7f507,11896
-      function &getPOReader(\7fgetPOReader\ 1512,11992
-      function getDomainNames(\7f517,12081
-  function &loadPORManager(\7floadPORManager\ 1523,12174
-  function fileJoin(\7f536,12436
-      function lce_bindtextdomain(\7f557,12839
-      function lce_textdomain(\7f614,14530
-      function lce_gettext(\7f620,14641
-      function lce_dgettext(\7f626,14767
-      function lce(\7f634,14966
-      function lce_bindtextdomain(\7f651,15488
-      function lce_textdomain(\7f656,15592
-      function lce_gettext(\7f661,15674
-      function lce_dgettext(\7f666,15755
-      function lce(\7f670,15855
-  function lce_geteditcode(\7f676,15898
-\f
-php-src/ptest.php,135
-define("TEST"\7fTEST\ 11,0
-test \7f4,26
-       var $member;\7f8,71
-       var $memassign=\7f9,85
-       var $memassign_space \7f10,110
-       var $test\7f12,176
-foo(\7f16,200
-\f
-perl-src/htlmify-cystic,1197
-my @section_name;\7fsection_name\ 112,236
-my @appendix_name;\7fappendix_name\ 113,254
-my @section_toc;\7fsection_toc\ 115,274
-my @appendix_toc;\7fappendix_toc\ 116,291
-my $new_tag \7fnew_tag\ 118,310
-my $appendix;\7fappendix\ 124,409
-my $section;\7fsection\ 125,423
-my $subsection;\7fsubsection\ 126,436
-my $subsubsection;\7fsubsubsection\ 127,452
-my $this_file_toc \7fthis_file_toc\ 129,472
-my %file_tocs;\7ffile_tocs\ 130,496
-my @output_files \7foutput_files\ 132,512
-my $file_index \7ffile_index\ 133,535
-my $output_file;\7foutput_file\ 135,556
-my $line;\7fline\ 137,574
-my $subsection_marker;\7fsubsection_marker\ 1161,3883
-my $new;\7fnew\ 1163,3907
-sub read_toc \7f165,3917
-         my $entry \7fentry\ 1218,5621
-         my $entry \7fentry\ 1234,6077
-             my $entry \7fentry\ 1245,6351
-         my $entry \7fentry\ 1252,6536
-         my $entry \7fentry\ 1268,7010
-             my $entry \7fentry\ 1276,7204
-         my $entry \7fentry\ 1281,7328
-      my $entry \7fentry\ 1296,7698
-sub finish_subsubsections \7f302,7805
-sub finish_subsections \7f309,7987
-sub finish_sections \7f320,8310
-sub finish_appendices \7f331,8599
-sub section_url_base \7f337,8724
-sub section_url_name \7f342,8922
-sub section_url \7f355,9284
-  my $name \7fname\ 1357,9336
-sub section_href \7f364,9452
-sub section_name \7f368,9551
-sub toc_line \7f372,9655
-sub file_end \7f375,9750
-\f
-perl-src/yagrip.pl,233
-sub getopt \7f7,156
-       local($_,$flag,$opt,$f,$r,@temp)\7f($_,$flag,$opt,$f,$r,@temp\ 18,169
-sub usage \7f38,856
-       local($prog,$_,@list)\7f($prog,$_,@list\ 139,868
-       local($string,$flag,@string,@temp,@last)\7f($string,$flag,@string,@temp,@last\ 140,897
-\f
-perl-src/kai-test.pl,203
-sub f1 \7f2,16
-sub main::f2 \7ff2\ 16,50
-package Foo;\7f10,90
-sub f3 \7f12,104
-sub Bar::f4 \7ff4\ 116,138
-package Bar;\7f20,177
-sub f5 \7f22,191
-package Foo::Bar;\7f26,225
-sub f6 \7f28,244
-package main;\7f32,278
-sub f7 \7f34,293
-\f
-ps-src/rfc1245.ps,2478
-/FMversion \7f12,311
-/FrameDict \7f17,500
-/FMVERSION \7f47,1307
-/FMLOCAL \7f56,1494
-/FMDOCUMENT \7f73,1766
-/FMBEGINPAGE \7f95,2279
-/FMENDPAGE \7f109,2516
-/FMDEFINEFONT \7f115,2582
-/FMNORMALIZEGRAPHICS \7f126,2725
-/FMBEGINEPSF \7f142,2955
-/FMENDEPSF \7f153,3207
-/setmanualfeed \7f158,3283
-/max \7f163,3386
-/min \7f164,3426
-/inch \7f165,3466
-/pagedimen \7f166,3485
-/setpapername \7f172,3629
-/papersize \7f190,4214
-/manualpapersize \7f211,4789
-/desperatepapersize \7f230,5211
-/savematrix \7f239,5370
-/restorematrix \7f242,5425
-/dmatrix \7f245,5475
-/dpi \7f246,5495
-/freq \7f248,5583
-/sangle \7f249,5658
-/DiacriticEncoding \7f250,5717
-/.notdef \7f251,5738
-/.notdef \7f252,5801
-/.notdef \7f253,5864
-/.notdef \7f254,5927
-/.notdef \7f255,5990
-/numbersign \7f256,6051
-/parenright \7f257,6115
-/two \7f258,6184
-/less \7f259,6251
-/L \7f260,6320
-/bracketright \7f261,6389
-/i \7f262,6459
-/braceright \7f263,6529
-/Ntilde \7f264,6598
-/atilde \7f265,6668
-/iacute \7f266,6733
-/ocircumflex \7f267,6797
-/udieresis \7f268,6858
-/paragraph \7f269,6919
-/dieresis \7f270,6983
-/yen \7f271,7050
-/ordfeminine \7f272,7109
-/exclamdown \7f273,7171
-/guillemotleft \7f274,7230
-/Otilde \7f275,7296
-/quoteleft \7f276,7357
-/fraction \7f277,7420
-/periodcentered \7f278,7490
-/Acircumflex \7f279,7549
-/Icircumflex \7f280,7610
-/Uacute \7f281,7680
-/breve \7f282,7746
-/ReEncode \7f284,7814
-/graymode \7f300,8020
-/setpattern \7f310,8184
-/grayness \7f331,8725
-/normalize \7f394,9873
-/dnormalize \7f397,9942
-/lnormalize \7f400,10014
-/H \7f403,10104
-/Z \7f406,10147
-/X \7f409,10176
-/V \7f412,10219
-/N \7f415,10260
-/M \7f418,10286
-/E \7f419,10315
-/D \7f420,10336
-/O \7f421,10358
-/L \7f423,10394
-/Y \7f430,10489
-/R \7f439,10588
-/RR \7f450,10696
-/C \7f467,10959
-/U \7f473,11004
-/F \7f477,11039
-/T \7f481,11084
-/RF \7f484,11115
-/TF \7f488,11164
-/P \7f495,11219
-/PF \7f499,11270
-/S \7f506,11344
-/SF \7f510,11384
-/B \7f517,11446
-/BF \7f521,11505
-/W \7f538,11714
-/G \7f573,12382
-/A \7f582,12525
-/BEGINPRINTCODE \7f606,12918
-/ENDPRINTCODE \7f615,13131
-/gn \7f620,13259
-/cfs \7f631,13384
-/ic \7f636,13473
-/ms \7f658,14285
-/ip \7f668,14395
-/wh \7f678,14492
-/bl \7f684,14607
-/s1 \7f690,14722
-/fl \7f691,14739
-/hx \7f698,14887
-/wbytes \7f709,15055
-/BEGINBITMAPBWc \7f713,15147
-/BEGINBITMAPGRAYc \7f716,15198
-/BEGINBITMAP2BITc \7f719,15251
-/COMMONBITMAPc \7f722,15304
-/BEGINBITMAPBW \7f739,15660
-/BEGINBITMAPGRAY \7f742,15709
-/BEGINBITMAP2BIT \7f745,15760
-/COMMONBITMAP \7f748,15811
-/Fmcc \7f765,16156
-/ngrayt \7f773,16371
-/nredt \7f774,16393
-/nbluet \7f775,16414
-/ngreent \7f776,16436
-/colorsetup \7f787,16603
-/fakecolorsetup \7f814,17370
-/BITMAPCOLOR \7f826,17636
-/BITMAPCOLORc \7f839,17926
-/BITMAPGRAY \7f855,18275
-/BITMAPGRAYc \7f858,18335
-/ENDBITMAP \7f861,18397
-/fillprocs \7f868,18497
-\f
-prol-src/ordsets.prolog,525
-is_ordset(\7f47,1310
-list_to_ord_set(\7f63,1688
-ord_add_element(\7f71,1867
-ord_del_element(\7f85,2344
-ord_disjoint(\7f100,2783
-ord_intersect(\7f108,2953
-ord_intersection(\7f126,3553
-ord_intersection3(\7f130,3692
-ord_intersection(\7f150,4533
-ord_intersection4(\7f154,4705
-ord_intersection(\7f176,5666
-ord_intersection2(\7f181,5814
-ord_member(\7f200,6320
-ord_seteq(\7f216,6685
-ord_setproduct(\7f225,6973
-ord_subset(\7f240,7379
-ord_subtract(\7f257,7863
-ord_symdiff(\7f265,8056
-ord_union(\7f288,8889
-ord_union4(\7f303,9354
-ord_union(\7f324,10173
-ord_union_all(\7f329,10315
-\f
-prol-src/natded.prolog,2319
-expandmng(\7f100,2879
-normalize(\7f116,3359
-fresh_vars(\7f125,3716
-subst(\7f138,4134
-normalize_fresh(\7f159,4660
-reduce_subterm(\7f171,5112
-reduce(\7f185,5559
-free_var(\7f196,5903
-free_for(\7f209,6246
-compile_lex(\7f231,6875
-consult_lex:-\7fconsult_lex\ 1248,7384
-lex(\7f259,7754
-expandsyn(\7f267,8068
-bas_syn(\7f292,8897
-compile_empty:-\7fcompile_empty\ 1310,9376
-complete(\7f328,10055
-add_active(\7f340,10527
-parse(\7f353,10949
-derived_analyses(\7f364,11341
-build(\7f378,11967
-buildact(\7f392,12523
-mapsyn(\7f412,13544
-add_edge(\7f434,14280
-findcats(\7f447,14760
-normalize_tree(\7f465,15480
-normalize_trees(\7f475,15858
-expandmng_tree(\7f486,16250
-expandmng_trees(\7f496,16616
-cat(\7f511,17015
-subtree(\7f644,21268
-hypothetical_mem(\7f653,21567
-make_coor(\7f667,22132
-start_up:-\7fstart_up\ 1688,23015
-tokenizeatom(\7f710,23923
-tokenize(\7f720,24350
-isoperator(\7f752,25379
-isoptab(\7f756,25433
-specialsymbol(\7f765,25758
-sstab(\7f771,25863
-parse_cgi(\7f787,26349
-keyvalseq(\7f792,26512
-andkeyvalseq(\7f796,26611
-keyval(\7f799,26690
-valseq(\7f807,26922
-plusvalseq(\7f810,27009
-val(\7f816,27111
-argvals(\7f824,27428
-commaargvals(\7f828,27505
-atomval(\7f833,27580
-atom(\7f836,27642
-action(\7f846,28006
-keyvalcgi(\7f864,28651
-keyvalscgi(\7f865,28672
-outsyn(\7f868,28728
-act(\7f876,29062
-actout(\7f901,29908
-texttreelist(\7f912,30091
-htmltreelist(\7f918,30192
-fitchtreelist(\7f924,30306
-pp_html_table_tree(\7f938,30761
-pp_html_tree(\7f949,31115
-pp_html_trees(\7f988,32383
-pp_html_table_fitch_tree(\7f999,32771
-pp_html_fitch_tree(\7f1017,33674
-removeexp(\7f1129,39004
-splitexp(\7f1142,39492
-pp_exp(\7f1155,39992
-map_word(\7f1168,40251
-pp_exps(\7f1180,40476
-pp_tree(\7f1188,40779
-pp_trees(\7f1216,41809
-pp_word_list(\7f1225,42130
-pp_word(\7f1231,42264
-pp_word_list_rest(\7f1238,42571
-pp_cat(\7f1248,42931
-pp_syn(\7f1255,43198
-pp_syn_paren(\7f1276,43901
-pp_paren(\7f1293,44379
-pp_syn_back(\7f1300,44663
-pp_bas_cat(\7f1311,45003
-writecat(\7f1322,45411
-writesubs(\7f1351,46457
-writesups(\7f1361,46759
-writelistsubs(\7f1371,47092
-pp_lam(\7f1380,47410
-pp_lam_bracket(\7f1398,48024
-pp_lam_paren(\7f1407,48340
-pp_rule(\7f1429,49240
-member(\7f1447,49868
-append_list(\7f1451,49921
-append(\7f1456,50012
-at_least_one_member(\7f1460,50078
-numbervars(\7f1464,50173
-reverse(\7f1467,50211
-select(\7f1471,50292
-select_last(\7f1475,50359
-cat_atoms(\7f1479,50438
-writelist(\7f1485,50526
-write_lex_cat(\7f1492,50678
-writebreaklex(\7f1500,50990
-write_lex(\7f1513,51267
-writebreak(\7f1521,51543
-tt:-\7ftt\ 11531,51715
-mt:-\7fmt\ 11534,51786
-cmt:-\7fcmt\ 11537,51880
-\f
-pyt-src/server.py,1438
-class Controls:\7fControls\ 117,358
-    def __init__(\7f18,374
-    def __repr__(\7f24,590
-    def __str__(\7f34,871
-class Server:\7fServer\ 137,934
-    def __init__(\7f38,948
-    def dump(\7f73,2198
-    def __repr__(\7f125,3896
-    def __str__(\7f128,3945
-class User:\7fUser\ 1131,4014
-    def __init__(\7f132,4026
-    def __repr__(\7f172,5445
-    def __str__(\7f206,6883
-def flag2str(\7f223,7212
-class LabeledEntry(\7f232,7442
-    def bind(\7f234,7525
-    def focus_set(\7f236,7584
-    def __init__(\7f238,7629
-def ButtonBar(\7f245,7909
-def helpwin(\7f255,8280
-class ListEdit(\7f267,8707
-    def __init__(\7f269,8808
-    def handleList(\7f303,10042
-    def handleNew(\7f306,10094
-    def editItem(\7f314,10426
-    def deleteItem(\7f320,10596
-def ConfirmQuit(\7f326,10760
-class ControlEdit(\7f375,12377
-    def PostControls(\7f376,12403
-    def GatherControls(\7f421,13530
-class ServerEdit(\7f512,16264
-    def __init__(\7f513,16289
-    def post(\7f525,16629
-    def gather(\7f543,17191
-    def nosave(\7f547,17304
-    def save(\7f551,17408
-    def refreshPort(\7f556,17509
-    def createWidgets(\7f561,17663
-    def edituser(\7f631,20708
-class UserEdit(\7f645,20921
-    def __init__(\7f646,20944
-    def post(\7f658,21283
-    def gather(\7f676,21841
-    def nosave(\7f680,21950
-    def save(\7f684,22052
-    def createWidgets(\7f689,22151
-class Configure(\7f760,24879
-    def __init__(\7f761,24916
-    def MakeDispose(\7f772,25211
-    def MakeSitelist(\7f786,25706
-    def editsite(\7f794,25949
-    def save(\7f797,26022
-    def nosave(\7f807,26310
-\f
-ruby-src/test.rb,637
-module ModuleExample\7f1,0
-    class ClassExample\7f2,21
-        def instance_method\7f3,44
-        def ClassExample.class_method\7fclass_method\ 16,121
-        def instance_method_exclamation!\7f9,206
-        def instance_method_question?\7f12,310
-        def instance_method_equals=\7finstance_method_equals=\ 115,408
-        def `(\7f18,502
-        def +(\7f21,592
-        def [](\7f24,640
-        def []=(\7f[]=\ 127,690
-        def <<(\7f30,752
-        def ==(\7f==\ 133,802
-        def <=(\7f<=\ 136,872
-        def <=>(\7f<=>\ 139,943
-        def ===(\7f===\ 142,990
-    def module_instance_method\7f46,1051
-    def ModuleExample.module_class_method\7fmodule_class_method\ 149,1131
-\f
-ruby-src/test1.ru,935
-class A\7f1,0
- def a(\7f2,8
- def b(\7f5,38
-module A\7f9,57
-  class B\7f10,66
-    ABC \7f11,76
-    Def_ \7f12,88
-    Xyzzy \7f13,106
-    def foo!\7f15,121
-    def self._bar?(\7f_bar?\ 118,143
-      def qux=(\7fqux=\ 122,194
-    attr_reader :foo\7ffoo\ 126,233
-    attr_reader :read1 \7fread1\ 127,254
-    attr_reader :read1 , :read2;\7fread2\ 127,254
-    attr_reader :read1 , :read2; attr_writer :write1,\7fwrite1=\ 127,254
-    attr_reader :read1 , :read2; attr_writer :write1, :write2\7fwrite2=\ 127,254
-    attr_writer :bar,\7fbar=\ 128,316
-                :baz,\7fbaz=\ 129,338
-                :more\7fmore=\ 130,360
-    attr_accessor :tee\7ftee\ 131,382
-    attr_accessor :tee\7ftee=\ 131,382
-    alias_method :qux,\7fqux\ 132,405
-    alias_method :xyz,\7fxyz\ 133,456
-                 :tee ; attr_reader :subtle\7fsubtle\ 134,479
-    attr_reader(:foo1,\7ffoo1\ 135,523
-    attr_reader(:foo1, :bar1,\7fbar1\ 135,523
-                :qux1)\7fqux1\ 136,563
-    alias_method ( :foo2,\7ffoo2\ 137,586
-A::Constant \7fConstant\ 142,655
-\f
-rs-src/test.rs,52
-enum IpAddrKind \7f3,11
-fn test1(\7f8,48
-fn main(\7f12,88
-\f
-scm-src/test.scm,260
-(define hello \7f1,0
-(set! hello \7f3,32
-(define (hello-world)\7f5,62
-(define (there-is-a-=-in-the-middle!)\7fthere-is-a-=-in-the-middle!\ 110,128
-(define =starts-with-equals! \7f=starts-with-equals!\ 112,171
-(define (((((curry-test \7f14,205
-(define-syntax test-begin\7f17,265
-\f
-tex-src/testenv.tex,52
-\newcommand{\nm}\7f\nm\ 14,77
-\section{blah}\7fblah\ 18,139
-\f
-tex-src/gzip.texi,303
-@node Top,\7f62,2139
-@node Copying,\7f80,2652
-@node Overview,\7f83,2705
-@node Sample,\7f166,7273
-@node Invoking gzip,\7fInvoking gzip\ 1210,8829
-@node Advanced usage,\7fAdvanced usage\ 1357,13497
-@node Environment,\7f420,15209
-@node Tapes,\7f437,15770
-@node Problems,\7f460,16769
-@node Concept Index,\7fConcept Index\ 1473,17289
-\f
-tex-src/texinfo.tex,30627
-\def\texinfoversion{\7f\texinfoversion\ 126,1035
-\def\tie{\7f\tie\ 149,1526
-\def\gloggingall{\7f\gloggingall\ 172,2276
-\def\loggingall{\7f\loggingall\ 173,2345
-\def\onepageout#1{\7f\onepageout\ 199,3282
-\def\croppageout#1{\7f\croppageout\ 1115,4032
-\def\cropmarks{\7f\cropmarks\ 1142,5092
-\def\pagebody#1{\7f\pagebody\ 1144,5139
-\def\ewtop{\7f\ewtop\ 1157,5594
-\def\nstop{\7f\nstop\ 1158,5658
-\def\ewbot{\7f\ewbot\ 1160,5741
-\def\nsbot{\7f\nsbot\ 1161,5805
-\def\parsearg #1{\7f\parsearg\ 1170,6104
-\def\parseargx{\7f\parseargx\ 1172,6182
-\def\parseargline{\7f\parseargline\ 1182,6422
-\def\flushcr{\7f\flushcr\ 1186,6543
-\newif\ifENV \ENVfalse \def\inENV{\7f\inENV\ 1190,6742
-\def\ENVcheck{\7f\ENVcheck\ 1191,6806
-\outer\def\begin{\7f\begin\ 1198,7053
-\def\beginxxx #1{\7f\beginxxx\ 1200,7091
-\def\end{\7f\end\ 1208,7346
-\def\endxxx #1{\7f\endxxx\ 1210,7374
-\def\errorE#1{\7f\errorE\ 1216,7563
-\def\singlespace{\7f\singlespace\ 1222,7757
-\def\@{\7f\@\ 1232,7980
-\def\`{\7f\`\ 1236,8080
-\def\'{\7f\'\ 1237,8092
-\def\mylbrace {\7f\mylbrace\ 1241,8140
-\def\myrbrace {\7f\myrbrace\ 1242,8173
-\def\:{\7f\:\ 1247,8287
-\def\*{\7f\*\ 1250,8341
-\def\.{\7f\.\ 1253,8417
-\def\w#1{\7f\w\ 1258,8648
-\def\group{\7f\group\ 1268,9131
-  \def\Egroup{\7f\Egroup\ 1273,9295
-\def\need{\7f\need\ 1289,9737
-\def\needx#1{\7f\needx\ 1300,10014
-\def\dots{\7f\dots\ 1339,11400
-\def\page{\7f\page\ 1343,11464
-\def\exdent{\7f\exdent\ 1353,11791
-\def\exdentyyy #1{\7f\exdentyyy\ 1354,11824
-\def\nofillexdent{\7f\nofillexdent\ 1357,11968
-\def\nofillexdentyyy #1{\7f\nofillexdentyyy\ 1358,12013
-\def\include{\7f\include\ 1365,12197
-\def\includezzz #1{\7f\includezzz\ 1366,12232
-\def\thisfile{\7f\thisfile\ 1369,12283
-\def\center{\7f\center\ 1373,12346
-\def\centerzzz #1{\7f\centerzzz\ 1374,12379
-\def\sp{\7f\sp\ 1380,12521
-\def\spxxx #1{\7f\spxxx\ 1381,12546
-\def\comment{\7f\comment\ 1387,12720
-\def\commentxxx #1{\7f\commentxxx\ 1390,12817
-\def\ignoresections{\7f\ignoresections\ 1396,12986
-\let\chapter=\relax\7f=\relax\ 1397,13008
-\let\section=\relax\7f=\relax\ 1406,13253
-\let\subsection=\relax\7f=\relax\ 1409,13314
-\let\subsubsection=\relax\7f=\relax\ 1410,13337
-\let\appendix=\relax\7f=\relax\ 1411,13363
-\let\appendixsec=\relax\7fsec=\relax\ 1412,13384
-\let\appendixsection=\relax\7fsection=\relax\ 1413,13408
-\let\appendixsubsec=\relax\7fsubsec=\relax\ 1414,13436
-\let\appendixsubsection=\relax\7fsubsection=\relax\ 1415,13463
-\let\appendixsubsubsec=\relax\7fsubsubsec=\relax\ 1416,13494
-\let\appendixsubsubsection=\relax\7fsubsubsection=\relax\ 1417,13524
-\def\ignore{\7f\ignore\ 1423,13626
-\long\def\ignorexxx #1\end ignore{\7f\ignorexxx\ 1427,13766
-\def\direntry{\7f\direntry\ 1429,13825
-\long\def\direntryxxx #1\end direntry{\7f\direntryxxx\ 1430,13864
-\def\ifset{\7f\ifset\ 1434,13974
-\def\ifsetxxx #1{\7f\ifsetxxx\ 1436,14032
-\def\Eifset{\7f\Eifset\ 1440,14159
-\def\ifsetfail{\7f\ifsetfail\ 1441,14173
-\long\def\ifsetfailxxx #1\end ifset{\7f\ifsetfailxxx\ 1442,14229
-\def\ifclear{\7f\ifclear\ 1444,14290
-\def\ifclearxxx #1{\7f\ifclearxxx\ 1446,14352
-\def\Eifclear{\7f\Eifclear\ 1450,14483
-\def\ifclearfail{\7f\ifclearfail\ 1451,14499
-\long\def\ifclearfailxxx #1\end ifclear{\7f\ifclearfailxxx\ 1452,14559
-\def\set{\7f\set\ 1456,14710
-\def\setxxx #1{\7f\setxxx\ 1457,14737
-\def\clear{\7f\clear\ 1460,14799
-\def\clearxxx #1{\7f\clearxxx\ 1461,14830
-\def\iftex{\7f\iftex\ 1466,14947
-\def\Eiftex{\7f\Eiftex\ 1467,14960
-\def\ifinfo{\7f\ifinfo\ 1468,14974
-\long\def\ifinfoxxx #1\end ifinfo{\7f\ifinfoxxx\ 1469,15024
-\long\def\menu #1\end menu{\7f\menu\ 1471,15083
-\def\asis#1{\7f\asis\ 1472,15112
-\def\math#1{\7f\math\ 1485,15655
-\def\node{\7f\node\ 1487,15699
-\def\nodezzz#1{\7f\nodezzz\ 1488,15737
-\def\nodexxx[#1,#2]{\7f\nodexxx[\ 1489,15768
-\def\donoderef{\7f\donoderef\ 1492,15830
-\def\unnumbnoderef{\7f\unnumbnoderef\ 1496,15951
-\def\appendixnoderef{\7f\appendixnoderef\ 1500,16082
-\expandafter\expandafter\expandafter\appendixsetref{\7fsetref\ 1501,16128
-\let\refill=\relax\7fill=\relax\ 1504,16217
-\def\setfilename{\7f\setfilename\ 1509,16431
-\outer\def\bye{\7f\bye\ 1518,16677
-\def\inforef #1{\7f\inforef\ 1520,16733
-\def\inforefzzz #1,#2,#3,#4**{\7f\inforefzzz\ 1521,16771
-\def\losespace #1{\7f\losespace\ 1523,16868
-\def\sf{\7f\sf\ 1532,17072
-\font\defbf=cmbx10 scaled \magstep1 %was 1314\7fbf=cmbx10\ 1558,17867
-\font\deftt=cmtt10 scaled \magstep1\7ftt=cmtt10\ 1559,17913
-\def\df{\7f\df\ 1560,17949
-\def\resetmathfonts{\7f\resetmathfonts\ 1635,20543
-\def\textfonts{\7f\textfonts\ 1648,21132
-\def\chapfonts{\7f\chapfonts\ 1653,21347
-\def\secfonts{\7f\secfonts\ 1658,21563
-\def\subsecfonts{\7f\subsecfonts\ 1663,21768
-\def\indexfonts{\7f\indexfonts\ 1668,21985
-\def\smartitalicx{\7f\smartitalicx\ 1691,22717
-\def\smartitalic#1{\7f\smartitalic\ 1692,22793
-\let\cite=\smartitalic\7f=\smartitalic\ 1698,22938
-\def\b#1{\7f\b\ 1700,22962
-\def\t#1{\7f\t\ 1703,22997
-\def\samp #1{\7f\samp\ 1706,23149
-\def\key #1{\7f\key\ 1707,23182
-\def\ctrl #1{\7f\ctrl\ 1708,23243
-\def\tclose#1{\7f\tclose\ 1716,23445
-\def\ {\7f\\ 1720,23611
-\def\xkey{\7f\xkey\ 1728,23880
-\def\kbdfoo#1#2#3\par{\7f\kbdfoo\ 1729,23896
-\def\dmn#1{\7f\dmn\ 1738,24197
-\def\kbd#1{\7f\kbd\ 1740,24224
-\def\l#1{\7f\l\ 1742,24281
-\def\r#1{\7f\r\ 1744,24310
-\def\sc#1{\7f\sc\ 1746,24378
-\def\ii#1{\7f\ii\ 1747,24421
-\def\titlefont#1{\7f\titlefont\ 1755,24654
-\def\titlepage{\7f\titlepage\ 1761,24757
-   \def\subtitlefont{\7f\subtitlefont\ 1766,24984
-   \def\authorfont{\7f\authorfont\ 1768,25068
-   \def\title{\7f\title\ 1774,25278
-   \def\titlezzz##1{\7f\titlezzz\ 1775,25313
-   \def\subtitle{\7f\subtitle\ 1783,25628
-   \def\subtitlezzz##1{\7f\subtitlezzz\ 1784,25669
-   \def\author{\7f\author\ 1787,25787
-   \def\authorzzz##1{\7f\authorzzz\ 1788,25824
-   \def\page{\7f\page\ 1794,26115
-\def\Etitlepage{\7f\Etitlepage\ 1804,26284
-\def\finishtitlepage{\7f\finishtitlepage\ 1817,26672
-\def\evenheading{\7f\evenheading\ 1846,27680
-\def\oddheading{\7f\oddheading\ 1847,27723
-\def\everyheading{\7f\everyheading\ 1848,27764
-\def\evenfooting{\7f\evenfooting\ 1850,27810
-\def\oddfooting{\7f\oddfooting\ 1851,27853
-\def\everyfooting{\7f\everyfooting\ 1852,27894
-\def\headings #1 {\7f\headings\ 1893,29586
-\def\HEADINGSoff{\7f\HEADINGSoff\ 1895,29635
-\def\HEADINGSdouble{\7f\HEADINGSdouble\ 1904,30062
-\def\HEADINGSsingle{\7f\HEADINGSsingle\ 1914,30382
-\def\HEADINGSon{\7f\HEADINGSon\ 1922,30603
-\def\HEADINGSafter{\7f\HEADINGSafter\ 1924,30637
-\def\HEADINGSdoublex{\7f\HEADINGSdoublex\ 1926,30732
-\def\HEADINGSsingleafter{\7f\HEADINGSsingleafter\ 1933,30920
-\def\HEADINGSsinglex{\7f\HEADINGSsinglex\ 1934,30981
-\def\today{\7f\today\ 1943,31256
-\def\thistitle{\7f\thistitle\ 1958,31801
-\def\settitle{\7f\settitle\ 1959,31826
-\def\settitlezzz #1{\7f\settitlezzz\ 1960,31863
-\def\internalBitem{\7f\internalBitem\ 1992,32793
-\def\internalBitemx{\7f\internalBitemx\ 1993,32843
-\def\internalBxitem "#1"{\7f\internalBxitem\ 1995,32888
-\def\internalBxitemx "#1"{\7f\internalBxitemx\ 1996,32968
-\def\internalBkitem{\7f\internalBkitem\ 1998,33043
-\def\internalBkitemx{\7f\internalBkitemx\ 1999,33095
-\def\kitemzzz #1{\7f\kitemzzz\ 11001,33142
-\def\xitemzzz #1{\7f\xitemzzz\ 11004,33244
-\def\itemzzz #1{\7f\itemzzz\ 11007,33347
-\def\item{\7f\item\ 11037,34418
-\def\itemx{\7f\itemx\ 11038,34469
-\def\kitem{\7f\kitem\ 11039,34522
-\def\kitemx{\7f\kitemx\ 11040,34575
-\def\xitem{\7f\xitem\ 11041,34630
-\def\xitemx{\7f\xitemx\ 11042,34683
-\def\description{\7f\description\ 11045,34793
-\def\table{\7f\table\ 11047,34843
-\def\ftable{\7f\ftable\ 11052,34987
-\def\Eftable{\7f\Eftable\ 11056,35133
-\def\vtable{\7f\vtable\ 11059,35202
-\def\Evtable{\7f\Evtable\ 11063,35348
-\def\dontindex #1{\7f\dontindex\ 11066,35417
-\def\fnitemindex #1{\7f\fnitemindex\ 11067,35437
-\def\vritemindex #1{\7f\vritemindex\ 11068,35482
-\def\tablez #1#2#3#4#5#6{\7f\tablez\ 11074,35631
-\def\Edescription{\7f\Edescription\ 11077,35689
-\def\itemfont{\7f\itemfont\ 11082,35890
-\def\Etable{\7f\Etable\ 11090,36116
-\def\itemize{\7f\itemize\ 11103,36440
-\def\itemizezzz #1{\7f\itemizezzz\ 11105,36476
-\def\itemizey #1#2{\7f\itemizey\ 11110,36571
-\def#2{\7f1119,36817
-\def\itemcontents{\7f\itemcontents\ 11120,36858
-\def\bullet{\7f\bullet\ 11123,36906
-\def\minus{\7f\minus\ 11124,36933
-\def\frenchspacing{\7f\frenchspacing\ 11128,37041
-\def\splitoff#1#2\endmark{\7f\splitoff\ 11134,37266
-\def\enumerate{\7f\enumerate\ 11140,37496
-\def\enumeratezzz #1{\7f\enumeratezzz\ 11141,37535
-\def\enumeratey #1 #2\endenumeratey{\7f\enumeratey\ 11142,37588
-  \def\thearg{\7f\thearg\ 11146,37735
-  \ifx\thearg\empty \def\thearg{\7f\thearg\ 11147,37754
-\def\numericenumerate{\7f\numericenumerate\ 11184,39088
-\def\lowercaseenumerate{\7f\lowercaseenumerate\ 11190,39218
-\def\uppercaseenumerate{\7f\uppercaseenumerate\ 11203,39565
-\def\startenumeration#1{\7f\startenumeration\ 11219,40055
-\def\alphaenumerate{\7f\alphaenumerate\ 11227,40237
-\def\capsenumerate{\7f\capsenumerate\ 11228,40272
-\def\Ealphaenumerate{\7f\Ealphaenumerate\ 11229,40306
-\def\Ecapsenumerate{\7f\Ecapsenumerate\ 11230,40340
-\def\itemizeitem{\7f\itemizeitem\ 11234,40420
-\def\newindex #1{\7f\newindex\ 11259,41277
-\def\defindex{\7f\defindex\ 11268,41566
-\def\newcodeindex #1{\7f\newcodeindex\ 11272,41674
-\def\defcodeindex{\7f\defcodeindex\ 11279,41934
-\def\synindex #1 #2 {\7f\synindex\ 11283,42114
-\def\syncodeindex #1 #2 {\7f\syncodeindex\ 11292,42454
-\def\doindex#1{\7f\doindex\ 11309,43133
-\def\singleindexer #1{\7f\singleindexer\ 11310,43192
-\def\docodeindex#1{\7f\docodeindex\ 11313,43304
-\def\singlecodeindexer #1{\7f\singlecodeindexer\ 11314,43371
-\def\indexdummies{\7f\indexdummies\ 11316,43429
-\def\_{\7f\_\ 11317,43449
-\def\w{\7f\w\ 11318,43477
-\def\bf{\7f\bf\ 11319,43504
-\def\rm{\7f\rm\ 11320,43533
-\def\sl{\7f\sl\ 11321,43562
-\def\sf{\7f\sf\ 11322,43591
-\def\tt{\7f\tt\ 11323,43619
-\def\gtr{\7f\gtr\ 11324,43647
-\def\less{\7f\less\ 11325,43677
-\def\hat{\7f\hat\ 11326,43709
-\def\char{\7f\char\ 11327,43739
-\def\TeX{\7f\TeX\ 11328,43771
-\def\dots{\7f\dots\ 11329,43801
-\def\copyright{\7f\copyright\ 11330,43834
-\def\tclose##1{\7f\tclose\ 11331,43877
-\def\code##1{\7f\code\ 11332,43922
-\def\samp##1{\7f\samp\ 11333,43963
-\def\t##1{\7f\t\ 11334,44004
-\def\r##1{\7f\r\ 11335,44039
-\def\i##1{\7f\i\ 11336,44074
-\def\b##1{\7f\b\ 11337,44109
-\def\cite##1{\7f\cite\ 11338,44144
-\def\key##1{\7f\key\ 11339,44185
-\def\file##1{\7f\file\ 11340,44224
-\def\var##1{\7f\var\ 11341,44265
-\def\kbd##1{\7f\kbd\ 11342,44304
-\def\indexdummyfont#1{\7f\indexdummyfont\ 11347,44460
-\def\indexdummytex{\7f\indexdummytex\ 11348,44486
-\def\indexdummydots{\7f\indexdummydots\ 11349,44510
-\def\indexnofonts{\7f\indexnofonts\ 11351,44536
-\let\w=\indexdummyfont\7fdummyfont\ 11352,44556
-\let\t=\indexdummyfont\7fdummyfont\ 11353,44579
-\let\r=\indexdummyfont\7fdummyfont\ 11354,44602
-\let\i=\indexdummyfont\7fdummyfont\ 11355,44625
-\let\b=\indexdummyfont\7fdummyfont\ 11356,44648
-\let\emph=\indexdummyfont\7fdummyfont\ 11357,44671
-\let\strong=\indexdummyfont\7fdummyfont\ 11358,44697
-\let\cite=\indexdummyfont\7f=\indexdummyfont\ 11359,44725
-\let\sc=\indexdummyfont\7fdummyfont\ 11360,44751
-\let\tclose=\indexdummyfont\7fdummyfont\ 11364,44923
-\let\code=\indexdummyfont\7fdummyfont\ 11365,44951
-\let\file=\indexdummyfont\7fdummyfont\ 11366,44977
-\let\samp=\indexdummyfont\7fdummyfont\ 11367,45003
-\let\kbd=\indexdummyfont\7fdummyfont\ 11368,45029
-\let\key=\indexdummyfont\7fdummyfont\ 11369,45054
-\let\var=\indexdummyfont\7fdummyfont\ 11370,45079
-\let\TeX=\indexdummytex\7fdummytex\ 11371,45104
-\let\dots=\indexdummydots\7fdummydots\ 11372,45128
-\let\indexbackslash=0  %overridden during \printindex.\7fbackslash=0\ 11382,45380
-\def\doind #1#2{\7f\doind\ 11384,45436
-{\indexdummies % Must do this here, since \bf, etc expand at this stage\7fdummies\ 11386,45479
-\def\rawbackslashxx{\7f\rawbackslashxx\ 11389,45619
-{\indexnofonts\7fnofonts\ 11394,45881
-\def\dosubind #1#2#3{\7f\dosubind\ 11405,46192
-{\indexdummies % Must do this here, since \bf, etc expand at this stage\7fdummies\ 11407,46240
-\def\rawbackslashxx{\7f\rawbackslashxx\ 11410,46344
-{\indexnofonts\7fnofonts\ 11414,46498
-\def\findex {\7f\findex\ 11443,47429
-\def\kindex {\7f\kindex\ 11444,47452
-\def\cindex {\7f\cindex\ 11445,47475
-\def\vindex {\7f\vindex\ 11446,47498
-\def\tindex {\7f\tindex\ 11447,47521
-\def\pindex {\7f\pindex\ 11448,47544
-\def\cindexsub {\7f\cindexsub\ 11450,47568
-\def\printindex{\7f\printindex\ 11462,47895
-\def\doprintindex#1{\7f\doprintindex\ 11464,47936
-  \def\indexbackslash{\7f\indexbackslash\ 11481,48421
-  \indexfonts\rm \tolerance=9500 \advance\baselineskip -1pt\7ffonts\rm\ 11482,48460
-\def\initial #1{\7f\initial\ 11517,49532
-\def\entry #1#2{\7f\entry\ 11523,49739
-  \null\nobreak\indexdotfill % Have leaders before the page number.\7fdotfill\ 11540,50386
-\def\indexdotfill{\7f\indexdotfill\ 11549,50714
-\def\primary #1{\7f\primary\ 11552,50820
-\def\secondary #1#2{\7f\secondary\ 11556,50902
-\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\par\7fdotfill\ 11559,50984
-\newbox\partialpage\7fialpage\ 11566,51157
-\def\begindoublecolumns{\7f\begindoublecolumns\ 11572,51315
-  \output={\global\setbox\partialpage=\7fialpage=\ 11573,51351
-\def\enddoublecolumns{\7f\enddoublecolumns\ 11577,51539
-\def\doublecolumnout{\7f\doublecolumnout\ 11580,51624
-  \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage\7fialpage\ 11581,51693
-\def\pagesofar{\7f\pagesofar\ 11584,51871
-\def\balancecolumns{\7f\balancecolumns\ 11588,52108
-  \availdimen@=\pageheight \advance\availdimen@ by-\ht\partialpage\7fialpage\ 11594,52279
-     \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage\7fialpage\ 11600,52540
-\newcount \appendixno  \appendixno = `\@\7fno\ 11627,53445
-\def\appendixletter{\7f\appendixletter\ 11628,53486
-\def\opencontents{\7f\opencontents\ 11632,53589
-\def\thischapter{\7f\thischapter\ 11637,53770
-\def\seccheck#1{\7f\seccheck\ 11638,53808
-\def\chapternofonts{\7f\chapternofonts\ 11643,53912
-\def\result{\7f\result\ 11646,53987
-\def\equiv{\7f\equiv\ 11647,54022
-\def\expansion{\7f\expansion\ 11648,54055
-\def\print{\7f\print\ 11649,54096
-\def\TeX{\7f\TeX\ 11650,54129
-\def\dots{\7f\dots\ 11651,54158
-\def\copyright{\7f\copyright\ 11652,54189
-\def\tt{\7f\tt\ 11653,54230
-\def\bf{\7f\bf\ 11654,54257
-\def\w{\7f\w\ 11655,54285
-\def\less{\7f\less\ 11656,54310
-\def\gtr{\7f\gtr\ 11657,54341
-\def\hat{\7f\hat\ 11658,54370
-\def\char{\7f\char\ 11659,54399
-\def\tclose##1{\7f\tclose\ 11660,54430
-\def\code##1{\7f\code\ 11661,54474
-\def\samp##1{\7f\samp\ 11662,54514
-\def\r##1{\7f\r\ 11663,54554
-\def\b##1{\7f\b\ 11664,54588
-\def\key##1{\7f\key\ 11665,54622
-\def\file##1{\7f\file\ 11666,54660
-\def\kbd##1{\7f\kbd\ 11667,54700
-\def\i##1{\7f\i\ 11669,54808
-\def\cite##1{\7f\cite\ 11670,54842
-\def\var##1{\7f\var\ 11671,54882
-\def\emph##1{\7f\emph\ 11672,54920
-\def\dfn##1{\7f\dfn\ 11673,54960
-\def\thischaptername{\7f\thischaptername\ 11676,55001
-\outer\def\chapter{\7f\chapter\ 11677,55040
-\def\chapterzzz #1{\7f\chapterzzz\ 11678,55081
-{\chapternofonts%\7fnofonts%\ 11687,55477
-\global\let\section = \numberedsec\7f=\ 11692,55630
-\global\let\subsection = \numberedsubsec\7f=\ 11693,55665
-\global\let\subsubsection = \numberedsubsubsec\7f=\ 11694,55706
-\outer\def\appendix{\7f\appendix\ 11697,55757
-\def\appendixzzz #1{\7f\appendixzzz\ 11698,55800
-\global\advance \appendixno by 1 \message{\7fno\ 11700,55877
-\chapmacro {#1}{Appendix \appendixletter}\7fletter\ 11701,55946
-\xdef\thischapter{Appendix \appendixletter: \noexpand\thischaptername}\7fletter:\ 11704,56039
-{\chapternofonts%\7fnofonts%\ 11705,56111
-  {#1}{Appendix \appendixletter}\7fletter\ 11707,56167
-\appendixnoderef %\7fnoderef\ 11710,56267
-\global\let\section = \appendixsec\7f=\ 11711,56286
-\global\let\subsection = \appendixsubsec\7f=\ 11712,56321
-\global\let\subsubsection = \appendixsubsubsec\7f=\ 11713,56362
-\outer\def\top{\7f\top\ 11716,56413
-\outer\def\unnumbered{\7f\unnumbered\ 11717,56453
-\def\unnumberedzzz #1{\7f\unnumberedzzz\ 11718,56500
-{\chapternofonts%\7fnofonts%\ 11722,56663
-\global\let\section = \unnumberedsec\7f=\ 11727,56813
-\global\let\subsection = \unnumberedsubsec\7f=\ 11728,56850
-\global\let\subsubsection = \unnumberedsubsubsec\7f=\ 11729,56893
-\outer\def\numberedsec{\7f\numberedsec\ 11732,56946
-\def\seczzz #1{\7f\seczzz\ 11733,56987
-{\chapternofonts%\7fnofonts%\ 11736,57143
-\outer\def\appendixsection{\7f\appendixsection\ 11745,57329
-\outer\def\appendixsec{\7f\appendixsec\ 11746,57386
-\def\appendixsectionzzz #1{\7f\appendixsectionzzz\ 11747,57439
-\gdef\thissection{#1}\secheading {#1}{\appendixletter}\7fletter\ 11749,57551
-{\chapternofonts%\7fnofonts%\ 11750,57619
-{#1}{\appendixletter}\7fletter\ 11752,57675
-\appendixnoderef %\7fnoderef\ 11755,57775
-\outer\def\unnumberedsec{\7f\unnumberedsec\ 11759,57815
-\def\unnumberedseczzz #1{\7f\unnumberedseczzz\ 11760,57868
-{\chapternofonts%\7fnofonts%\ 11762,57963
-\outer\def\numberedsubsec{\7f\numberedsubsec\ 11770,58131
-\def\numberedsubseczzz #1{\7f\numberedsubseczzz\ 11771,58186
-{\chapternofonts%\7fnofonts%\ 11774,58365
-\outer\def\appendixsubsec{\7f\appendixsubsec\ 11783,58569
-\def\appendixsubseczzz #1{\7f\appendixsubseczzz\ 11784,58624
-\subsecheading {#1}{\appendixletter}\7fletter\ 11786,58746
-{\chapternofonts%\7fnofonts%\ 11787,58811
-{#1}{\appendixletter}\7fletter\ 11789,58870
-\appendixnoderef %\7fnoderef\ 11792,58985
-\outer\def\unnumberedsubsec{\7f\unnumberedsubsec\ 11796,59025
-\def\unnumberedsubseczzz #1{\7f\unnumberedsubseczzz\ 11797,59084
-{\chapternofonts%\7fnofonts%\ 11799,59185
-\outer\def\numberedsubsubsec{\7f\numberedsubsubsec\ 11807,59356
-\def\numberedsubsubseczzz #1{\7f\numberedsubsubseczzz\ 11808,59417
-{\chapternofonts%\7fnofonts%\ 11812,59614
-\outer\def\appendixsubsubsec{\7f\appendixsubsubsec\ 11823,59847
-\def\appendixsubsubseczzz #1{\7f\appendixsubsubseczzz\ 11824,59908
-  {\appendixletter}\7fletter\ 11827,60047
-{\chapternofonts%\7fnofonts%\ 11828,60113
-  {\appendixletter}\7fletter\ 11830,60178
-\appendixnoderef %\7fnoderef\ 11834,60312
-\outer\def\unnumberedsubsubsec{\7f\unnumberedsubsubsec\ 11838,60352
-\def\unnumberedsubsubseczzz #1{\7f\unnumberedsubsubseczzz\ 11839,60417
-{\chapternofonts%\7fnofonts%\ 11841,60524
-\def\infotop{\7f\infotop\ 11851,60853
-\def\infounnumbered{\7f\infounnumbered\ 11852,60891
-\def\infounnumberedsec{\7f\infounnumberedsec\ 11853,60936
-\def\infounnumberedsubsec{\7f\infounnumberedsubsec\ 11854,60987
-\def\infounnumberedsubsubsec{\7f\infounnumberedsubsubsec\ 11855,61044
-\def\infoappendix{\7f\infoappendix\ 11857,61108
-\def\infoappendixsec{\7f\infoappendixsec\ 11858,61149
-\def\infoappendixsubsec{\7f\infoappendixsubsec\ 11859,61196
-\def\infoappendixsubsubsec{\7f\infoappendixsubsubsec\ 11860,61249
-\def\infochapter{\7f\infochapter\ 11862,61309
-\def\infosection{\7f\infosection\ 11863,61348
-\def\infosubsection{\7f\infosubsection\ 11864,61387
-\def\infosubsubsection{\7f\infosubsubsection\ 11865,61432
-\global\let\section = \numberedsec\7f=\ 11870,61669
-\global\let\subsection = \numberedsubsec\7f=\ 11871,61704
-\global\let\subsubsection = \numberedsubsubsec\7f=\ 11872,61745
-\def\majorheading{\7f\majorheading\ 11886,62252
-\def\majorheadingzzz #1{\7f\majorheadingzzz\ 11887,62297
-\def\chapheading{\7f\chapheading\ 11893,62530
-\def\chapheadingzzz #1{\7f\chapheadingzzz\ 11894,62573
-\def\heading{\7f\heading\ 11899,62768
-\def\subheading{\7f\subheading\ 11901,62805
-\def\subsubheading{\7f\subsubheading\ 11903,62848
-\def\dobreak#1#2{\7f\dobreak\ 11910,63125
-\def\setchapterstyle #1 {\7f\setchapterstyle\ 11912,63203
-\def\chapbreak{\7f\chapbreak\ 11919,63458
-\def\chappager{\7f\chappager\ 11920,63508
-\def\chapoddpage{\7f\chapoddpage\ 11921,63546
-\def\setchapternewpage #1 {\7f\setchapternewpage\ 11923,63625
-\def\CHAPPAGoff{\7f\CHAPPAGoff\ 11925,63682
-\def\CHAPPAGon{\7f\CHAPPAGon\ 11929,63776
-\global\def\HEADINGSon{\7f\HEADINGSon\ 11932,63867
-\def\CHAPPAGodd{\7f\CHAPPAGodd\ 11934,63909
-\global\def\HEADINGSon{\7f\HEADINGSon\ 11937,64005
-\def\CHAPFplain{\7f\CHAPFplain\ 11941,64059
-\def\chfplain #1#2{\7f\chfplain\ 11945,64151
-\def\unnchfplain #1{\7f\unnchfplain\ 11956,64374
-\def\unnchfopen #1{\7f\unnchfopen\ 11964,64603
-\def\chfopen #1#2{\7f\chfopen\ 11970,64811
-\def\CHAPFopen{\7f\CHAPFopen\ 11975,64955
-\def\subsecheadingbreak{\7f\subsecheadingbreak\ 11982,65173
-\def\secheadingbreak{\7f\secheadingbreak\ 11985,65302
-\def\secheading #1#2#3{\7f\secheading\ 11993,65584
-\def\plainsecheading #1{\7f\plainsecheading\ 11994,65640
-\def\secheadingi #1{\7f\secheadingi\ 11995,65683
-\def\subsecheading #1#2#3#4{\7f\subsecheading\ 12006,66051
-\def\subsecheadingi #1{\7f\subsecheadingi\ 12007,66118
-\def\subsubsecfonts{\7f\subsubsecfonts\ 12014,66415
-\def\subsubsecheading #1#2#3#4#5{\7f\subsubsecheading\ 12017,66538
-\def\subsubsecheadingi #1{\7f\subsubsecheadingi\ 12018,66616
-\def\startcontents#1{\7f\startcontents\ 12032,67088
-   \unnumbchapmacro{#1}\def\thischapter{\7f\thischapter\ 12040,67361
-\outer\def\contents{\7f\contents\ 12049,67720
-\outer\def\summarycontents{\7f\summarycontents\ 12057,67864
-      \def\secentry ##1##2##3##4{\7f\secentry\ 12067,68235
-      \def\unnumbsecentry ##1##2{\7f\unnumbsecentry\ 12068,68270
-      \def\subsecentry ##1##2##3##4##5{\7f\subsecentry\ 12069,68305
-      \def\unnumbsubsecentry ##1##2{\7f\unnumbsubsecentry\ 12070,68346
-      \def\subsubsecentry ##1##2##3##4##5##6{\7f\subsubsecentry\ 12071,68384
-      \def\unnumbsubsubsecentry ##1##2{\7f\unnumbsubsubsecentry\ 12072,68431
-\def\chapentry#1#2#3{\7f\chapentry\ 12085,68865
-\def\shortchapentry#1#2#3{\7f\shortchapentry\ 12088,68982
-    {#2\labelspace #1}\7fspace\ 12091,69092
-\def\unnumbchapentry#1#2{\7f\unnumbchapentry\ 12094,69146
-\def\shortunnumberedentry#1#2{\7f\shortunnumberedentry\ 12095,69193
-\def\secentry#1#2#3#4{\7f\secentry\ 12102,69357
-\def\unnumbsecentry#1#2{\7f\unnumbsecentry\ 12103,69416
-\def\subsecentry#1#2#3#4#5{\7f\subsecentry\ 12106,69477
-\def\unnumbsubsecentry#1#2{\7f\unnumbsubsecentry\ 12107,69547
-\def\subsubsecentry#1#2#3#4#5#6{\7f\subsubsecentry\ 12110,69621
-  \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}\7fspace\ 12111,69655
-\def\unnumbsubsubsecentry#1#2{\7f\unnumbsubsubsecentry\ 12112,69706
-\def\dochapentry#1#2{\7f\dochapentry\ 12123,70080
-\def\dosecentry#1#2{\7f\dosecentry\ 12138,70685
-\def\dosubsecentry#1#2{\7f\dosubsecentry\ 12145,70863
-\def\dosubsubsecentry#1#2{\7f\dosubsubsecentry\ 12152,71048
-\def\labelspace{\7f\labelspace\ 12160,71299
-\def\dopageno#1{\7f\dopageno\ 12162,71334
-\def\doshortpageno#1{\7f\doshortpageno\ 12163,71360
-\def\chapentryfonts{\7f\chapentryfonts\ 12165,71392
-\def\secentryfonts{\7f\secentryfonts\ 12166,71427
-\def\point{\7f\point\ 12192,72386
-\def\result{\7f\result\ 12194,72407
-\def\expansion{\7f\expansion\ 12195,72480
-\def\print{\7f\print\ 12196,72551
-\def\equiv{\7f\equiv\ 12198,72618
-\def\error{\7f\error\ 12218,73391
-\def\tex{\7f\tex\ 12224,73620
-\def\@{\7f\@\ 12242,74003
-\gdef\sepspaces{\def {\ }}}\7f\\ 12265,74735
-\def\aboveenvbreak{\7f\aboveenvbreak\ 12268,74817
-\def\afterenvbreak{\7f\afterenvbreak\ 12272,74983
-\def\ctl{\7f\ctl\ 12286,75494
-\def\ctr{\7f\ctr\ 12287,75566
-\def\cbl{\7f\cbl\ 12288,75605
-\def\cbr{\7f\cbr\ 12289,75645
-\def\carttop{\7f\carttop\ 12290,75684
-\def\cartbot{\7f\cartbot\ 12293,75792
-\long\def\cartouche{\7f\cartouche\ 12299,75932
-\def\Ecartouche{\7f\Ecartouche\ 12326,76720
-\def\lisp{\7f\lisp\ 12338,76855
-\def\Elisp{\7f\Elisp\ 12348,77202
-\def\next##1{\7f\next\ 12360,77528
-\def\Eexample{\7f\Eexample\ 12364,77570
-\def\Esmallexample{\7f\Esmallexample\ 12367,77617
-\def\smalllispx{\7f\smalllispx\ 12373,77795
-\def\Esmalllisp{\7f\Esmalllisp\ 12383,78149
-\obeyspaces \obeylines \ninett \indexfonts \rawbackslash\7ffonts\ 12396,78505
-\def\next##1{\7f\next\ 12397,78562
-\def\display{\7f\display\ 12401,78642
-\def\Edisplay{\7f\Edisplay\ 12410,78961
-\def\next##1{\7f\next\ 12422,79272
-\def\format{\7f\format\ 12426,79375
-\def\Eformat{\7f\Eformat\ 12434,79671
-\def\next##1{\7f\next\ 12437,79760
-\def\flushleft{\7f\flushleft\ 12441,79812
-\def\Eflushleft{\7f\Eflushleft\ 12451,80183
-\def\next##1{\7f\next\ 12454,80276
-\def\flushright{\7f\flushright\ 12456,80298
-\def\Eflushright{\7f\Eflushright\ 12466,80670
-\def\next##1{\7f\next\ 12470,80801
-\def\quotation{\7f\quotation\ 12474,80859
-\def\Equotation{\7f\Equotation\ 12480,81051
-\def\setdeffont #1 {\7f\setdeffont\ 12493,81449
-\newskip\defbodyindent \defbodyindent=.4in\7fbodyindent\ 12495,81495
-\newskip\defargsindent \defargsindent=50pt\7fargsindent\ 12496,81538
-\newskip\deftypemargin \deftypemargin=12pt\7ftypemargin\ 12497,81581
-\newskip\deflastargmargin \deflastargmargin=18pt\7flastargmargin\ 12498,81624
-\def\activeparens{\7f\activeparens\ 12503,81822
-\def\opnr{\7f\opnr\ 12529,83034
-\def\lbrb{\7f\lbrb\ 12530,83099
-\def\defname #1#2{\7f\defname\ 12536,83300
-\advance\dimen2 by -\defbodyindent\7fbodyindent\ 12540,83418
-\advance\dimen3 by -\defbodyindent\7fbodyindent\ 12542,83472
-\setbox0=\hbox{\hskip \deflastargmargin{\7flastargmargin\ 12544,83526
-\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations\7fargsindent\ 12546,83668
-\parshape 2 0in \dimen0 \defargsindent \dimen1     %\7fargsindent\ 12547,83743
-\rlap{\rightline{{\rm #2}\hskip \deftypemargin}\7ftypemargin\ 12554,84112
-\advance\leftskip by -\defbodyindent\7fbodyindent\ 12557,84246
-\exdentamount=\defbodyindent\7fbodyindent\ 12558,84283
-\def\defparsebody #1#2#3{\7f\defparsebody\ 12568,84642
-\def#1{\7f2572,84826
-\def#2{\7f2573,84862
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12575,84934
-\exdentamount=\defbodyindent\7fbodyindent\ 12576,85008
-\def\defmethparsebody #1#2#3#4 {\7f\defmethparsebody\ 12581,85112
-\def#1{\7f2585,85273
-\def#2##1 {\7f2586,85309
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12588,85392
-\exdentamount=\defbodyindent\7fbodyindent\ 12589,85466
-\def\defopparsebody #1#2#3#4#5 {\7f\defopparsebody\ 12592,85551
-\def#1{\7f2596,85712
-\def#2##1 ##2 {\7f2597,85748
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12600,85848
-\exdentamount=\defbodyindent\7fbodyindent\ 12601,85922
-\def\defvarparsebody #1#2#3{\7f\defvarparsebody\ 12608,86193
-\def#1{\7f2612,86380
-\def#2{\7f2613,86416
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12615,86475
-\exdentamount=\defbodyindent\7fbodyindent\ 12616,86549
-\def\defvrparsebody #1#2#3#4 {\7f\defvrparsebody\ 12621,86640
-\def#1{\7f2625,86799
-\def#2##1 {\7f2626,86835
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12628,86905
-\exdentamount=\defbodyindent\7fbodyindent\ 12629,86979
-\def\defopvarparsebody #1#2#3#4#5 {\7f\defopvarparsebody\ 12632,87051
-\def#1{\7f2636,87215
-\def#2##1 ##2 {\7f2637,87251
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12640,87338
-\exdentamount=\defbodyindent\7fbodyindent\ 12641,87412
-\def\defunargs #1{\7f\defunargs\ 12664,88172
-\def\deftypefunargs #1{\7f\deftypefunargs\ 12676,88554
-\def\deffn{\7f\deffn\ 12690,88936
-\def\deffnheader #1#2#3{\7f\deffnheader\ 12692,88993
-\begingroup\defname {\7fname\ 12693,89041
-\def\defun{\7f\defun\ 12699,89186
-\def\defunheader #1#2{\7f\defunheader\ 12701,89239
-\begingroup\defname {\7fname\ 12702,89314
-\defunargs {\7funargs\ 12703,89350
-\def\deftypefun{\7f\deftypefun\ 12709,89498
-\def\deftypefunheader #1#2{\7f\deftypefunheader\ 12712,89620
-\def\deftypefunheaderx #1#2 #3\relax{\7f\deftypefunheaderx\ 12714,89729
-\begingroup\defname {\7fname\ 12716,89821
-\deftypefunargs {\7ftypefunargs\ 12717,89867
-\def\deftypefn{\7f\deftypefn\ 12723,90038
-\def\deftypefnheader #1#2#3{\7f\deftypefnheader\ 12726,90187
-\def\deftypefnheaderx #1#2#3 #4\relax{\7f\deftypefnheaderx\ 12728,90323
-\begingroup\defname {\7fname\ 12730,90416
-\deftypefunargs {\7ftypefunargs\ 12731,90456
-\def\defmac{\7f\defmac\ 12737,90577
-\def\defmacheader #1#2{\7f\defmacheader\ 12739,90634
-\begingroup\defname {\7fname\ 12740,90710
-\defunargs {\7funargs\ 12741,90743
-\def\defspec{\7f\defspec\ 12747,90867
-\def\defspecheader #1#2{\7f\defspecheader\ 12749,90928
-\begingroup\defname {\7fname\ 12750,91005
-\defunargs {\7funargs\ 12751,91045
-\def\deffnx #1 {\7f\deffnx\ 12758,91240
-\def\defunx #1 {\7f\defunx\ 12759,91297
-\def\defmacx #1 {\7f\defmacx\ 12760,91354
-\def\defspecx #1 {\7f\defspecx\ 12761,91413
-\def\deftypefnx #1 {\7f\deftypefnx\ 12762,91474
-\def\deftypeunx #1 {\7f\deftypeunx\ 12763,91539
-\def\defop #1 {\7f\defop\ 12769,91685
-\defopparsebody\Edefop\defopx\defopheader\defoptype}\7fopparsebody\Edefop\defopx\defopheader\defoptype\ 12770,91720
-\def\defopheader #1#2#3{\7f\defopheader\ 12772,91774
-\begingroup\defname {\7fname\ 12774,91863
-\defunargs {\7funargs\ 12775,91909
-\def\defmethod{\7f\defmethod\ 12780,91970
-\def\defmethodheader #1#2#3{\7f\defmethodheader\ 12782,92043
-\begingroup\defname {\7fname\ 12784,92131
-\defunargs {\7funargs\ 12785,92171
-\def\defcv #1 {\7f\defcv\ 12790,92245
-\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}\7fopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype\ 12791,92280
-\def\defcvarheader #1#2#3{\7f\defcvarheader\ 12793,92339
-\begingroup\defname {\7fname\ 12795,92425
-\defvarargs {\7fvarargs\ 12796,92471
-\def\defivar{\7f\defivar\ 12801,92544
-\def\defivarheader #1#2#3{\7f\defivarheader\ 12803,92607
-\begingroup\defname {\7fname\ 12805,92693
-\defvarargs {\7fvarargs\ 12806,92744
-\def\defopx #1 {\7f\defopx\ 12812,92893
-\def\defmethodx #1 {\7f\defmethodx\ 12813,92950
-\def\defcvx #1 {\7f\defcvx\ 12814,93015
-\def\defivarx #1 {\7f\defivarx\ 12815,93072
-\def\defvarargs #1{\7f\defvarargs\ 12822,93343
-\def\defvr{\7f\defvr\ 12828,93487
-\def\defvrheader #1#2#3{\7f\defvrheader\ 12830,93542
-\begingroup\defname {\7fname\ 12831,93590
-\def\defvar{\7f\defvar\ 12835,93675
-\def\defvarheader #1#2{\7f\defvarheader\ 12837,93735
-\begingroup\defname {\7fname\ 12838,93806
-\defvarargs {\7fvarargs\ 12839,93842
-\def\defopt{\7f\defopt\ 12844,93908
-\def\defoptheader #1#2{\7f\defoptheader\ 12846,93968
-\begingroup\defname {\7fname\ 12847,94039
-\defvarargs {\7fvarargs\ 12848,94078
-\def\deftypevar{\7f\deftypevar\ 12853,94135
-\def\deftypevarheader #1#2{\7f\deftypevarheader\ 12856,94251
-\begingroup\defname {\7fname\ 12858,94334
-\def\deftypevr{\7f\deftypevr\ 12865,94508
-\def\deftypevrheader #1#2#3{\7f\deftypevrheader\ 12867,94579
-\begingroup\defname {\7fname\ 12868,94631
-\def\defvrx #1 {\7f\defvrx\ 12876,94868
-\def\defvarx #1 {\7f\defvarx\ 12877,94925
-\def\defoptx #1 {\7f\defoptx\ 12878,94984
-\def\deftypevarx #1 {\7f\deftypevarx\ 12879,95043
-\def\deftypevrx #1 {\7f\deftypevrx\ 12880,95110
-\def\deftpargs #1{\7f\deftpargs\ 12885,95259
-\def\deftp{\7f\deftp\ 12889,95339
-\def\deftpheader #1#2#3{\7f\deftpheader\ 12891,95394
-\begingroup\defname {\7fname\ 12892,95442
-\def\deftpx #1 {\7f\deftpx\ 12897,95601
-\def\setref#1{\7f\setref\ 12908,95922
-\def\unnumbsetref#1{\7f\unnumbsetref\ 12913,96036
-\def\appendixsetref#1{\7f\appendixsetref\ 12918,96143
-\def\pxref#1{\7f\pxref\ 12929,96554
-\def\xref#1{\7f\xref\ 12930,96590
-\def\ref#1{\7f\ref\ 12931,96625
-\def\xrefX[#1,#2,#3,#4,#5,#6]{\7f\xrefX[\ 12932,96655
-\def\printedmanual{\7f\printedmanual\ 12933,96698
-\def\printednodename{\7f\printednodename\ 12934,96736
-\def\printednodename{\7f\printednodename\ 12939,96861
-section ``\printednodename'' in \cite{\printedmanual}\7f\printedmanual\ 12954,97493
-\refx{\7fx\ 12957,97571
-\def\dosetq #1#2{\7f\dosetq\ 12965,97791
-\def\internalsetq #1#2{\7f\internalsetq\ 12973,98049
-\def\Ypagenumber{\7f\Ypagenumber\ 12977,98150
-\def\Ytitle{\7f\Ytitle\ 12979,98176
-\def\Ynothing{\7f\Ynothing\ 12981,98203
-\def\Ysectionnumberandtype{\7f\Ysectionnumberandtype\ 12983,98220
-\def\Yappendixletterandtype{\7f\Yappendixletterandtype\ 12992,98536
-\ifnum\secno=0 Appendix\xreftie'char\the\appendixno{\7fno\ 12993,98566
-\else \ifnum \subsecno=0 Section\xreftie'char\the\appendixno.\the\secno %\7fno.\the\secno\ 12994,98621
-Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno %\7fno.\the\secno.\the\subsecno\ 12996,98725
-Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %\7fno.\the\secno.\the\subsecno.\the\subsubsecno\ 12998,98796
-  \def\linenumber{\7f\linenumber\ 13009,99135
-\def\refx#1#2{\7f\refx\ 13015,99319
-\def\xrdef #1#2{\7f\xrdef\ 13037,99945
-\def\readauxfile{\7f\readauxfile\ 13040,100030
-\def\supereject{\7f\supereject\ 13110,101811
-\footstrut\parindent=\defaultparindent\hang\textindent{\7faultparindent\hang\textindent\ 13131,102496
-\def\openindices{\7f\openindices\ 13139,102682
-\newdimen\defaultparindent \defaultparindent = 15pt\7faultparindent\ 13151,102907
-\parindent = \defaultparindent\7faultparindent\ 13152,102959
-\def\smallbook{\7f\smallbook\ 13175,103683
-\global\def\Esmallexample{\7f\Esmallexample\ 13192,104110
-\def\afourpaper{\7f\afourpaper\ 13196,104201
-\def\finalout{\7f\finalout\ 13224,105009
-\def\normaldoublequote{\7f\normaldoublequote\ 13235,105270
-\def\normaltilde{\7f\normaltilde\ 13236,105296
-\def\normalcaret{\7f\normalcaret\ 13237,105316
-\def\normalunderscore{\7f\normalunderscore\ 13238,105336
-\def\normalverticalbar{\7f\normalverticalbar\ 13239,105361
-\def\normalless{\7f\normalless\ 13240,105387
-\def\normalgreater{\7f\normalgreater\ 13241,105406
-\def\normalplus{\7f\normalplus\ 13242,105428
-\def\ifusingtt#1#2{\7f\ifusingtt\ 13253,105920
-\def\activedoublequote{\7f\activedoublequote\ 13261,106248
-\def~{\7f~\ 13264,106334
-\def^{\7f^\ 13267,106395
-\def_{\7f_\ 13270,106434
-\def\_{\7f\_\ 13272,106508
-\def\lvvmode{\7f\lvvmode\ 13279,106845
-\def|{\7f|\ 13282,106895
-\def<{\7f<\ 13285,106958
-\def>{\7f>\ 13288,107015
-\def+{\7f+\ 13290,107053
-\def\turnoffactive{\7f\turnoffactive\ 13296,107214
-\global\def={\7f=\ 13307,107500
-\def\normalbackslash{\7f\normalbackslash\ 13321,107882
-\f
-merc-src/accumulator.m,3228
-:- interface\7f146,5371
-:- import_module hlds\7f148,5386
-:- import_module univ\7f152,5478
-:- pred accu_transform_proc\7f159,5793
-:- implementation\7f166,6115
-:- import_module libs\7f180,6552
-:- import_module mdbcomp\7f184,6681
-:- import_module parse_tree\7f186,6742
-:- import_module assoc_list\7f194,7013
-:- import_module bool\7f195,7042
-:- import_module int\7f196,7065
-:- import_module io\7f197,7087
-:- import_module list\7f198,7108
-:- import_module map\7f199,7131
-:- import_module maybe\7f200,7153
-:- import_module pair\7f201,7177
-:- import_module require\7f202,7200
-:- import_module set\7f203,7226
-:- import_module solutions\7f204,7248
-:- import_module string\7f205,7276
-:- import_module term\7f206,7301
-:- import_module varset\7f207,7324
-:- type top_level\7f213,7499
-:- type accu_goal_id\7f225,7900
-:- type accu_case\7f228,7964
-:- type accu_goal_store\7f234,8091
-:- type accu_subst\7f238,8216
-:- type accu_warning\7f240,8264
-:- pred generate_warnings\7f334,12550
-:- pred generate_warning\7f342,12895
-:- pred should_attempt_accu_transform\7f365,13886
-:- pred should_attempt_accu_transform_2\7f398,15406
-:- pred accu_standardize\7f440,17390
-:- pred identify_goal_type\7f465,18169
-:- pred is_recursive_case\7f549,21175
-:- type store_info\7f560,21713
-:- func initialize_goal_store\7f570,22060
-:- pred accu_store\7f580,22421
-:- pred identify_recursive_calls\7f601,23288
-:- pred identify_out_and_out_prime\7f626,24397
-:- type accu_sets\7f676,26426
-:- pred accu_stage1\7f689,26978
-:- pred accu_stage1_2\7f727,28348
-:- pred accu_sets_init\7f781,30558
-:- func set_upto\7f796,30985
-:- pred accu_before\7f812,31499
-:- pred accu_assoc\7f835,32478
-:- pred accu_construct\7f862,33713
-:- pred accu_construct_assoc\7f896,35308
-:- pred accu_update\7f938,37070
-:- pred member_lessthan_goalid\7f964,38220
-:- type accu_assoc\7f975,38653
-:- pred accu_is_associative\7f986,39139
-:- pred associativity_assertion\7f1014,40264
-:- pred commutativity_assertion\7f1037,41243
-:- pred accu_is_update\7f1057,41953
-:- pred is_associative_construction\7f1078,42803
-:- type accu_substs\7f1095,43481
-:- type accu_base\7f1103,43745
-:- pred accu_stage2\7f1124,44606
-:- pred accu_substs_init\7f1179,46958
-:- pred acc_var_subst_init\7f1194,47574
-:- pred create_new_var\7f1207,48148
-:- pred accu_process_assoc_set\7f1223,48863
-:- pred accu_has_heuristic\7f1297,52082
-:- pred accu_heuristic\7f1304,52337
-:- pred accu_process_update_set\7f1318,52907
-:- pred accu_divide_base_case\7f1380,55845
-:- pred accu_related\7f1412,57147
-:- inst stored_goal_plain_call\7f1444,58416
-:- pred lookup_call\7f1449,58602
-:- pred accu_stage3\7f1470,59433
-:- pred acc_proc_info\7f1508,61327
-:- pred acc_pred_info\7f1556,63450
-:- pred accu_create_goal\7f1600,65286
-:- func create_acc_call\7f1621,66401
-:- pred create_orig_goal\7f1634,66988
-:- pred create_acc_goal\7f1662,68158
-:- func create_new_orig_recursive_goals\7f1709,70226
-:- func create_new_recursive_goals\7f1723,70919
-:- func create_new_base_goals\7f1738,71718
-:- pred acc_unification\7f1749,72157
-:- pred accu_top_level\7f1766,72897
-:- pred update_accumulator_pred\7f1856,76291
-:- func accu_rename\7f1876,77254
-:- func base_case_ids\7f1889,77785
-:- func base_case_ids_set\7f1898,78049
-:- func accu_goal_list\7f1905,78270
-:- pred calculate_goal_info\7f1916,78681
-:- func chain_subst\7f1932,79320
-:- pred chain_subst_2\7f1938,79483
-:- some [T] pred unravel_univ\7f1956,80061
-:- pragma foreign_export\7f1957,80117
-\f
-c-src/c.c,76
-T f(\7f1,0
-}T i;\7f2,14
-void bar(\7f5,69
-int foobar(\7f6,94
-interface_locate(\7f9,131
-\f
-c.c,2107
-my_printf \7f135,
-void fatala \7f138,
-max \7f141,
-struct bar \7f143,
-  char z;\7f144,
-  struct foo f;\7f145,
-__attribute__ ((always_inline)) max \7f147,
-struct foo\7f150,
-  char a;\7f152,
-  int x[\7fx\ 1153,
-char stack[\7fstack\ 1155,
-struct S \7f156,
-struct S { short f[\7ff\ 1156,
-  int *__ip;\7f__ip\ 1159,
-  union wait *__up;\7f__up\ 1160,
-} wait_status_ptr_t \7f161,
-Some_Class  A \7f162,
-typedef T1 T3 \7f163,
-T3 z \7f164,
-typedef int more_aligned_int \7f165,
-struct S  __attribute__ ((vector_size (16))) foo;\7f166,
-int foo \7f167,
-char *__attribute__((aligned(8))) *f;\7ff\ 1168,
-int i \7f169,
-extern void foobar \7f170,
-typedef struct cacheLRUEntry_s\7f172,
-  U16 next;\7f174,
-  U16 prev;\7f175,
-__attribute__ ((packed)) cacheLRUEntry_t;\7f177,
-struct foo \7f178,
-  int x;\7f179,
-  char a,\7f180,
-  char a, b,\7f180,
-  char a, b, c,\7f180,
-  char a, b, c, d;\7f180,
-     f1 \7f183,
-void f2 \7f184,
-int x \7f188,
-struct foo \7f189,
-struct foo { int x[\7fx\ 1189,
-short array[\7farray\ 1190,
-int f\7f193,
-DEAFUN \7f196,
-XDEFUN \7f203,
-DEFUN ("x-get-selection-internal", Fx_get_selection_internal,\7f206,
-DEFUN ("x-get-selection-internal", Fx_get_selection_internal,\7fx-get-selection-internal\ 1206,
-       Fx_get_selection_internal,\7f212,
-       Fx_get_selection_internal,\7fx-get-selection-internal\ 1212,
-      Fy_get_selection_internal,\7f216,
-      Fy_get_selection_internal,\7fy-get-selection-internal\ 1216,
-defun_func1(\7f218,
-DEFUN_func2(\7f220,
-typedef int bool;\7f222,
-bool funcboo \7f223,
-struct my_struct \7f226,
-typedef struct my_struct my_typedef;\7f228,
-int bla \7f229,
-a(\7f234,
-int func1\7f237,
-static struct cca_control init_control \7f239,
-static tpcmd rbtp \7f240,
-static byte ring1 \7f241,
-static byte ring2 \7f242,
-request request \7f243,
-int func2 \7f246,
-  aaa;\7f249,
-  bbb;\7f251,
-struct sss1 \7f252,
-struct sss2\7f253,
-  struct ss3\7f255,
-struct a b;\7f259,
-struct aa *b;\7fb\ 1260,
-  **b;\7fb\ 1262,
-caccacacca \7f263,
-a \7f267,
-  typedef struct aa \7f269,
-  typedef struct aa {} aaa;\7f269,
-static void inita \7f271,
-node *lasta \7flasta\ 1272,
-b \7f273,
-  typedef  int bb;\7f275,
-static void initb \7f277,
-node *lastb \7flastb\ 1278,
-typedef enum { REG_ENOSYS \7f279,
-typedef enum { REG_ENOSYS = -1, aa \7f279,
-typedef enum { REG_ENOSYS = -1, aa } reg_errcode_t;\7f279,
-\f
-c-src/a/b/b.c,18
-#define this \7f1,0
-\f
-../c/c.web,20
-#define questo \7f34,
-\f
-y-src/parse.y,738
-#define obstack_chunk_alloc \7f47,1124
-#define obstack_chunk_free \7f48,1162
-VOIDSTAR parse_hash;\7f64,1413
-unsigned char fnin[\7ffnin\ 168,1532
-#define YYSTYPE \7f72,1630
-typedef struct node *YYSTYPE;\7fYYSTYPE\ 173,1661
-YYSTYPE parse_return;\7f74,1691
-char *instr;\7finstr\ 181,1803
-int parse_error \7f82,1816
-line:\7fline\ 187,1875
-exp:\7fexp\ 195,1988
-exp_list:\7fexp_list\ 1263,5655
-range_exp:\7frange_exp\ 1269,5753
-range_exp_list:\7frange_exp_list\ 1273,5783
-cell:\7fcell\ 1279,5901
-yyerror FUN1(\7f286,5948
-make_list FUN2(\7f293,6028
-#define ERROR \7f304,6228
-yylex FUN0(\7f315,6405
-parse_cell_or_range FUN2(\7f587,11772
-#define CK_ABS_R(\7f671,13214
-#define CK_REL_R(\7f675,13293
-#define CK_ABS_C(\7f680,13422
-#define CK_REL_C(\7f684,13501
-#define MAYBEREL(\7f689,13630
-str_to_col FUN1(\7f847,16831
-\f
-y-src/parse.c,520
-#define YYBISON \7f4,64
-# define       NE      \7f6,114
-# define       LE      \7f7,130
-# define       GE      \7f8,146
-# define       NEG     \7f9,162
-# define       L_CELL  \7f10,179
-# define       L_RANGE \7f11,199
-# define       L_VAR   \7f12,220
-# define       L_CONST \7f13,239
-# define       L_FN0   \7f14,260
-# define       L_FN1   \7f15,279
-# define       L_FN2   \7f16,298
-# define       L_FN3   \7f17,317
-# define       L_FN4   \7f18,336
-# define       L_FNN   \7f19,355
-# define       L_FN1R  \7f20,374
-# define       L_FN2R  \7f21,394
-# define       L_FN3R  \7f22,414
-# define       L_FN4R  \7f23,434
-# define       L_FNNR  \7f24,454
-# define       L_LE    \7f25,474
-# define       L_NE    \7f26,492
-# define       L_GE    \7f27,510
-\f
-/usr/share/bison/bison.simple,1751
-# define YYSTD(\7f40,
-# define YYSTD(\7f42,
-#  define YYSTACK_ALLOC \7f50,
-#  define YYSIZE_T \7f51,
-#    define YYSTACK_ALLOC \7f55,
-#    define YYSIZE_T \7f56,
-#     define YYSTACK_ALLOC \7f59,
-#  define YYSTACK_FREE(\7f67,
-#   define YYSIZE_T \7f71,
-#    define YYSIZE_T \7f75,
-#  define YYSTACK_ALLOC \7f78,
-#  define YYSTACK_FREE \7f79,
-union yyalloc\7f83,
-  short yyss;\7f85,
-  YYSTYPE yyvs;\7f86,
-  YYLTYPE yyls;\7f88,
-# define YYSTACK_GAP_MAX \7f93,
-#  define YYSTACK_BYTES(\7f98,
-#  define YYSTACK_BYTES(\7f102,
-# define YYSTACK_RELOCATE(\7f112,
-# define YYSIZE_T \7f128,
-# define YYSIZE_T \7f131,
-#  define YYSIZE_T \7f136,
-#   define YYSIZE_T \7f140,
-# define YYSIZE_T \7f145,
-#define yyerrok        \7f148,
-#define yyclearin      \7f149,
-#define YYEMPTY        \7f150,
-#define YYEOF  \7f151,
-#define YYACCEPT       \7f152,
-#define YYABORT \7f153,
-#define YYERROR        \7f154,
-#define YYFAIL \7f158,
-#define YYRECOVERING(\7f159,
-#define YYBACKUP(\7f160,
-#define YYTERROR       \7f177,
-#define YYERRCODE      \7f178,
-# define YYLLOC_DEFAULT(\7f189,
-#   define YYLEX       \7f200,
-#   define YYLEX       \7f202,
-#   define YYLEX       \7f206,
-#   define YYLEX       \7f208,
-# define YYLEX \7f212,
-#  define YYFPRINTF \7f225,
-# define YYDPRINTF(\7f228,
-int yydebug;\7f237,
-# define YYDPRINTF(\7f239,
-# define YYINITDEPTH \7f244,
-# undef YYMAXDEPTH\7f255,
-# define YYMAXDEPTH \7f259,
-#  define yymemcpy \7f264,
-yymemcpy \7f271,
-#   define yystrlen \7f293,
-yystrlen \7f298,
-#   define yystpcpy \7f316,
-yystpcpy \7f322,
-#  define YYPARSE_PARAM_ARG \7f351,
-#  define YYPARSE_PARAM_DECL\7f352,
-#  define YYPARSE_PARAM_ARG \7f354,
-#  define YYPARSE_PARAM_DECL \7f355,
-# define YYPARSE_PARAM_ARG\7f358,
-# define YYPARSE_PARAM_DECL\7f359,
-#define YY_DECL_NON_LSP_VARIABLES      \7f374,
-# define YY_DECL_VARIABLES     \7f385,
-# define YY_DECL_VARIABLES     \7f391,
-yyparse \7f403,
-# define YYPOPSTACK \7f445,
-# define YYPOPSTACK \7f447,
-# undef YYSTACK_RELOCATE\7f548,
-\f
-y-src/atest.y,9
-exp    \7f2,3
-\f
-y-src/cccp.c,303
-#define YYBISON \7f4,63
-# define       INT     \7f6,113
-# define       CHAR    \7f7,130
-# define       NAME    \7f8,148
-# define       ERROR   \7f9,166
-# define       OR      \7f10,185
-# define       AND     \7f11,201
-# define       EQUAL   \7f12,218
-# define       NOTEQUAL        \7f13,237
-# define       LEQ     \7f14,259
-# define       GEQ     \7f15,276
-# define       LSH     \7f16,293
-# define       RSH     \7f17,310
-# define       UNARY   \7f18,327
-\f
-/usr/share/bison/bison.simple,2168
-# define YYSTD(\7f41,
-# define YYSTD(\7f43,
-#  define YYSTACK_ALLOC \7f51,
-#  define YYSIZE_T \7f52,
-#    define YYSTACK_ALLOC \7f56,
-#    define YYSIZE_T \7f57,
-#     define YYSTACK_ALLOC \7f60,
-#  define YYSTACK_FREE(\7f68,
-#   define YYSIZE_T \7f72,
-#    define YYSIZE_T \7f76,
-#  define YYSTACK_ALLOC \7f79,
-#  define YYSTACK_FREE \7f80,
-union yyalloc\7f84,
-  short yyss;\7f86,
-  YYSTYPE yyvs;\7f87,
-  YYLTYPE yyls;\7f89,
-# define YYSTACK_GAP_MAX \7f94,
-#  define YYSTACK_BYTES(\7f99,
-#  define YYSTACK_BYTES(\7f103,
-# define YYSTACK_RELOCATE(\7f113,
-# define YYSIZE_T \7f129,
-# define YYSIZE_T \7f132,
-#  define YYSIZE_T \7f137,
-#   define YYSIZE_T \7f141,
-# define YYSIZE_T \7f146,
-#define yyerrok        \7f149,
-#define yyclearin      \7f150,
-#define YYEMPTY        \7f151,
-#define YYEOF  \7f152,
-#define YYACCEPT       \7f153,
-#define YYABORT \7f154,
-#define YYERROR        \7f155,
-#define YYFAIL \7f159,
-#define YYRECOVERING(\7f160,
-#define YYBACKUP(\7f161,
-#define YYTERROR       \7f178,
-#define YYERRCODE      \7f179,
-# define YYLLOC_DEFAULT(\7f190,
-#   define YYLEX       \7f201,
-#   define YYLEX       \7f203,
-#   define YYLEX       \7f207,
-#   define YYLEX       \7f209,
-# define YYLEX \7f213,
-#  define YYFPRINTF \7f226,
-# define YYDPRINTF(\7f229,
-int yydebug;\7f238,
-# define YYDPRINTF(\7f240,
-# define YYINITDEPTH \7f245,
-# undef YYMAXDEPTH\7f256,
-# define YYMAXDEPTH \7f260,
-#  define yymemcpy \7f265,
-yymemcpy \7f272,
-#   define yystrlen \7f294,
-yystrlen \7f299,
-#   define yystpcpy \7f317,
-yystpcpy \7f323,
-#  define YYPARSE_PARAM_ARG \7f351,
-#  define YYPARSE_PARAM_DECL\7f352,
-#  define YYPARSE_PARAM_ARG \7f354,
-#  define YYPARSE_PARAM_DECL \7f355,
-# define YYPARSE_PARAM_ARG\7f358,
-# define YYPARSE_PARAM_DECL\7f359,
-#define YY_DECL_NON_LSP_VARIABLES      \7f374,
-# define YY_DECL_VARIABLES     \7f385,
-# define YY_DECL_VARIABLES     \7f391,
-yyparse \7f403,
-# define YYPOPSTACK \7f445,
-# define YYPOPSTACK \7f447,
-# undef YYSTACK_RELOCATE\7f548,
-  *++yyvsp \7fyyvsp\ 1746,
-  *++yylsp \7fyylsp\ 1748,
-  yyn \7f755,
-  yystate \7f757,
-    yystate \7f761,
-  goto yynewstate;\7f763,
-  goto yyerrlab1;\7f823,
-  yyerrstatus \7f846,
-  goto yyerrhandle;\7f848,
-  yyn \7f861,
-  yystate \7f875,
-  yyn \7f895,
-  yyn \7f903,
-  *++yyvsp \7fyyvsp\ 1919,
-  *++yylsp \7fyylsp\ 1921,
-  yystate \7f924,
-  goto yynewstate;\7f925,
-  yyresult \7f932,
-  goto yyreturn;\7f933,
-  yyresult \7f939,
-  goto yyreturn;\7f940,
-  yyresult \7f947,
-\f
-y-src/cccp.y,1696
-typedef unsigned char U_CHAR;\7f38,1201
-struct arglist \7f41,1301
-  struct arglist *next;\7fnext\ 142,1318
-  U_CHAR *name;\7fname\ 143,1342
-  int length;\7f44,1358
-  int argno;\7f45,1372
-#define NULL \7f51,1468
-#define GENERIC_PTR \7f56,1578
-#define GENERIC_PTR \7f58,1611
-#define NULL_PTR \7f63,1670
-int expression_value;\7f68,1743
-static jmp_buf parse_return_error;\7f70,1766
-static int keyword_parsing \7f73,1865
-#define CHAR_TYPE_SIZE \7f87,2162
-#define INT_TYPE_SIZE \7f91,2229
-#define LONG_TYPE_SIZE \7f95,2296
-#define WCHAR_TYPE_SIZE \7f99,2365
-#define possible_sum_sign(\7f104,2556
-  struct constant \7f112,2733
-  struct constant {long value;\7f112,2733
-  struct constant {long value; int unsignedp;\7f112,2733
-  struct constant {long value; int unsignedp;} integer;\7f112,2733
-  struct name \7f113,2789
-  struct name {U_CHAR *address;\7faddress\ 1113,2789
-  struct name {U_CHAR *address; int length;\7f113,2789
-  struct name {U_CHAR *address; int length;} name;\7f113,2789
-  struct arglist *keywords;\7fkeywords\ 1114,2840
-  int voidval;\7f115,2868
-  char *sval;\7fsval\ 1116,2883
-start \7f143,3226
-exp1   \7f148,3330
-exp    \7f156,3505
-exp    \7f185,4295
-keywords \7f306,7835
-static char *lexptr;\7flexptr\ 1332,8579
-parse_number \7f341,8842
-struct token \7f437,11038
-  char *operator;\7foperator\ 1438,11053
-  int token;\7f439,11071
-static struct token tokentab2[\7ftokentab2\ 1442,11088
-yylex \7f459,11367
-parse_escape \7f740,17718
-yyerror \7f836,19599
-integer_overflow \7f844,19690
-left_shift \7f851,19804
-right_shift \7f873,20194
-parse_c_expression \7f893,20732
-main \7f923,21483
-unsigned char is_idchar[\7fis_idchar\ 1948,21901
-unsigned char is_idstart[\7fis_idstart\ 1950,21996
-char is_hor_space[\7fis_hor_space\ 1953,22160
-initialize_random_junk \7f958,22259
-error \7f988,22915
-warning \7f993,22963
-lookup \7f999,23033
-\f
-tex-src/nonewline.tex,0
-\f
-php-src/sendmail.php,0
-\f
-c-src/fail.c,0
-\f
-a-src/empty.zz,0
diff --git a/test/manual/etags/ETAGS.good_4 b/test/manual/etags/ETAGS.good_4
deleted file mode 100644 (file)
index dc65a09..0000000
+++ /dev/null
@@ -1,4505 +0,0 @@
-\f
-ada-src/etags-test-for.ada,1969
-   type LL_Task_Procedure_Access \7fLL_Task_Procedure_Access/t\ 11,0
-   function Body_Required\7fBody_Required/f\ 13,78
-   type Type_Specific_Data \7fType_Specific_Data/t\ 111,280
-   function "abs"\7fabs/f\ 119,504
-   type Barrier_Function_Pointer \7fBarrier_Function_Pointer/t\ 121,577
-   function "="\7f=/f\ 127,722
-   type usfreelock_ptr \7fusfreelock_ptr/t\ 130,803
-   function p \7fp/f\ 133,891
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 137,1054
-function p \7fp/f\ 139,1094
-package Pkg1 \7fPkg1/s\ 144,1203
-  type Private_T \7fPrivate_T/t\ 146,1220
-  package Inner1 \7fInner1/s\ 148,1250
-    procedure Private_T;\7fPrivate_T/p\ 149,1270
-  package Inner2 \7fInner2/s\ 152,1310
-    task Private_T;\7fPrivate_T/k\ 153,1330
-  type Public_T \7fPublic_T/t\ 156,1365
-  procedure Pkg1_Proc1;\7fPkg1_Proc1/p\ 162,1450
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 164,1475
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 166,1514
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 168,1553
-  package Pkg1_Pkg1 \7fPkg1_Pkg1/s\ 171,1622
-    procedure Pkg1_Pkg1_Proc1;\7fPkg1_Pkg1_Proc1/p\ 172,1645
-  task type Task_Type \7fTask_Type/k\ 175,1694
-  type Private_T \7fPrivate_T/t\ 182,1786
-package body Pkg1 \7fPkg1/b\ 189,1882
-  procedure Pkg1_Proc1 \7fPkg1_Proc1/p\ 191,1904
-  package body Inner1 \7fInner1/b\ 196,1956
-    procedure Private_T \7fPrivate_T/p\ 197,1981
-  package body Inner2 \7fInner2/b\ 1103,2054
-    task body Private_T \7fPrivate_T/b\ 1104,2079
-  task body Task_Type \7fTask_Type/b\ 1112,2181
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 1126,2367
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 1132,2445
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 1134,2496
-  package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1140,2596
-package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1146,2663
-  procedure Pkg1_Pkg1_Proc1 \7fPkg1_Pkg1_Proc1/p\ 1147,2689
-function  Pkg1_Func1 \7fPkg1_Func1/f\ 1155,2778
-package Truc \7fTruc/s\ 1162,2887
-package Truc.Bidule \7fTruc.Bidule/s\ 1166,2929
-  protected Bidule \7fBidule/t\ 1168,2953
-  protected type Machin_T \7fMachin_T/t\ 1172,3007
-package body Truc.Bidule \7fTruc.Bidule/b\ 1178,3087
-  protected body Bidule \7fBidule/b\ 1179,3115
-  protected Machin_T \7fMachin_T/t\ 1186,3207
-\f
-ada-src/2ataspri.adb,2190
-package body System.Task_Primitives \7fSystem.Task_Primitives/b\ 164,2603
-   package RTE \7fRTE/s\ 169,2712
-   package TSL \7fTSL/s\ 170,2759
-   function To_void_ptr \7fTo_void_ptr/f\ 186,3287
-   function To_TCB_Ptr \7fTo_TCB_Ptr/f\ 189,3366
-   function pthread_mutexattr_setprotocol\7fpthread_mutexattr_setprotocol/f\ 192,3444
-   function pthread_mutexattr_setprio_ceiling\7fpthread_mutexattr_setprio_ceiling/f\ 199,3728
-   procedure Abort_Wrapper\7fAbort_Wrapper/p\ 1115,4302
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 1122,4526
-   procedure Initialize_LL_Tasks \7fInitialize_LL_Tasks/p\ 1131,4830
-   function Self \7fSelf/f\ 1160,5586
-   procedure Initialize_Lock\7fInitialize_Lock/p\ 1174,5958
-   procedure Finalize_Lock \7fFinalize_Lock/p\ 1210,6927
-   procedure Write_Lock \7fWrite_Lock/p\ 1226,7338
-   procedure Read_Lock \7fRead_Lock/p\ 1239,7700
-   procedure Unlock \7fUnlock/p\ 1246,7850
-   procedure Initialize_Cond \7fInitialize_Cond/p\ 1258,8160
-   procedure Finalize_Cond \7fFinalize_Cond/p\ 1286,8979
-   procedure Cond_Wait \7fCond_Wait/p\ 1300,9303
-   procedure Cond_Timed_Wait\7fCond_Timed_Wait/p\ 1312,9661
-   procedure Cond_Signal \7fCond_Signal/p\ 1343,10510
-   procedure Set_Priority\7fSet_Priority/p\ 1355,10836
-   procedure Set_Own_Priority \7fSet_Own_Priority/p\ 1372,11243
-   function Get_Priority \7fGet_Priority/f\ 1385,11598
-   function Get_Own_Priority \7fGet_Own_Priority/f\ 1398,12023
-   procedure Create_LL_Task\7fCreate_LL_Task/p\ 1412,12438
-      function To_Start_Addr \7fTo_Start_Addr/f\ 1426,12873
-   procedure Exit_LL_Task \7fExit_LL_Task/p\ 1491,14995
-   procedure Abort_Task \7fAbort_Task/p\ 1500,15158
-   procedure Test_Abort \7fTest_Abort/p\ 1518,15716
-   procedure Install_Abort_Handler \7fInstall_Abort_Handler/p\ 1527,15878
-   procedure Abort_Wrapper\7fAbort_Wrapper/p\ 1557,16939
-      function Address_To_Call_State \7fAddress_To_Call_State/f\ 1562,17062
-   procedure Install_Error_Handler \7fInstall_Error_Handler/p\ 1573,17351
-   procedure LL_Assert \7fLL_Assert/p\ 1599,18146
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 1608,18299
-   procedure Initialize_TAS_Cell \7fInitialize_TAS_Cell/p\ 1630,19010
-   procedure Finalize_TAS_Cell \7fFinalize_TAS_Cell/p\ 1635,19129
-   procedure Clear \7fClear/p\ 1640,19236
-   procedure Test_And_Set \7fTest_And_Set/p\ 1645,19330
-   function  Is_Set \7fIs_Set/f\ 1659,19676
-\f
-ada-src/2ataspri.ads,2313
-package System.Task_Primitives \7fSystem.Task_Primitives/s\ 158,3169
-   type LL_Task_Procedure_Access \7fLL_Task_Procedure_Access/t\ 162,3253
-   type Pre_Call_State \7fPre_Call_State/t\ 164,3331
-   type Task_Storage_Size \7fTask_Storage_Size/t\ 166,3378
-   type Machine_Exceptions \7fMachine_Exceptions/t\ 168,3433
-   type Error_Information \7fError_Information/t\ 170,3499
-   type Lock \7fLock/t\ 172,3569
-   type Condition_Variable \7fCondition_Variable/t\ 173,3594
-   type Task_Control_Block \7fTask_Control_Block/t\ 181,3955
-   type TCB_Ptr \7fTCB_Ptr/t\ 189,4241
-   function Address_To_TCB_Ptr \7fAddress_To_TCB_Ptr/f\ 193,4333
-   procedure Initialize_LL_Tasks \7fInitialize_LL_Tasks/p\ 196,4425
-   function Self \7fSelf/f\ 1100,4602
-   procedure Initialize_Lock \7fInitialize_Lock/p\ 1103,4707
-   procedure Finalize_Lock \7fFinalize_Lock/p\ 1107,4879
-   procedure Write_Lock \7fWrite_Lock/p\ 1111,5034
-   procedure Read_Lock \7fRead_Lock/p\ 1118,5428
-   procedure Unlock \7fUnlock/p\ 1128,5995
-   procedure Initialize_Cond \7fInitialize_Cond/p\ 1135,6300
-   procedure Finalize_Cond \7fFinalize_Cond/p\ 1138,6413
-   procedure Cond_Wait \7fCond_Wait/p\ 1142,6591
-   procedure Cond_Timed_Wait\7fCond_Timed_Wait/p\ 1155,7396
-   procedure Cond_Signal \7fCond_Signal/p\ 1164,7812
-   procedure Set_Priority \7fSet_Priority/p\ 1169,8040
-   procedure Set_Own_Priority \7fSet_Own_Priority/p\ 1173,8200
-   function Get_Priority \7fGet_Priority/f\ 1177,8348
-   function Get_Own_Priority \7fGet_Own_Priority/f\ 1181,8504
-   procedure Create_LL_Task\7fCreate_LL_Task/p\ 1185,8647
-   procedure Exit_LL_Task;\7fExit_LL_Task/p\ 1198,9282
-   procedure Abort_Task \7fAbort_Task/p\ 1203,9516
-   procedure Test_Abort;\7fTest_Abort/p\ 1210,9878
-   type Abort_Handler_Pointer \7fAbort_Handler_Pointer/t\ 1217,10233
-   procedure Install_Abort_Handler \7fInstall_Abort_Handler/p\ 1219,10312
-   procedure Install_Error_Handler \7fInstall_Error_Handler/p\ 1226,10741
-   procedure LL_Assert \7fLL_Assert/p\ 1231,10983
-   type Proc \7fProc/t\ 1238,11240
-   type TAS_Cell \7fTAS_Cell/t\ 1242,11328
-   procedure Initialize_TAS_Cell \7fInitialize_TAS_Cell/p\ 1249,11670
-   procedure Finalize_TAS_Cell \7fFinalize_TAS_Cell/p\ 1255,11941
-   procedure Clear \7fClear/p\ 1260,12157
-   procedure Test_And_Set \7fTest_And_Set/p\ 1267,12462
-   function  Is_Set \7fIs_Set/f\ 1275,12877
-   type Lock \7fLock/t\ 1283,13155
-   type Condition_Variable \7fCondition_Variable/t\ 1288,13267
-   type TAS_Cell \7fTAS_Cell/t\ 1293,13389
-\f
-ada-src/waroquiers.ada,1503
-package Pkg1 \7fPkg1/s\ 13,89
-  type Private_T \7fPrivate_T/t\ 15,106
-  package Inner1 \7fInner1/s\ 17,136
-    procedure Private_T;\7fPrivate_T/p\ 18,156
-  package Inner2 \7fInner2/s\ 111,196
-    task Private_T;\7fPrivate_T/k\ 112,216
-  type Public_T \7fPublic_T/t\ 115,251
-  procedure Pkg1_Proc1;\7fPkg1_Proc1/p\ 121,336
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 123,361
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 125,400
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 127,439
-  package Pkg1_Pkg1 \7fPkg1_Pkg1/s\ 130,508
-    procedure Pkg1_Pkg1_Proc1;\7fPkg1_Pkg1_Proc1/p\ 131,531
-  task type Task_Type \7fTask_Type/k\ 134,580
-  type Private_T \7fPrivate_T/t\ 140,671
-package body Pkg1 \7fPkg1/b\ 146,766
-  procedure Pkg1_Proc1 \7fPkg1_Proc1/p\ 148,788
-  package body Inner1 \7fInner1/b\ 153,840
-    procedure Private_T \7fPrivate_T/p\ 154,865
-  package body Inner2 \7fInner2/b\ 160,938
-    task body Private_T \7fPrivate_T/b\ 161,963
-  task body Task_Type \7fTask_Type/b\ 168,1064
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 182,1250
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 188,1328
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 190,1379
-  package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 196,1479
-package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1100,1544
-  procedure Pkg1_Pkg1_Proc1 \7fPkg1_Pkg1_Proc1/p\ 1101,1570
-function  Pkg1_Func1 \7fPkg1_Func1/f\ 1107,1657
-package Truc \7fTruc/s\ 1112,1764
-package Truc.Bidule \7fTruc.Bidule/s\ 1116,1816
-  protected Bidule \7fBidule/t\ 1125,1964
-  protected type Machin_T \7fMachin_T/t\ 1131,2046
-package body Truc.Bidule \7fTruc.Bidule/b\ 1138,2153
-  protected body Bidule \7fBidule/b\ 1139,2181
-  protected body Machin_T \7fMachin_T/b\ 1146,2281
-\f
-c-src/abbrev.c,3055
-Lisp_Object Vabbrev_table_name_list;\7f43,1429
-Lisp_Object Vglobal_abbrev_table;\7f48,1574
-Lisp_Object Vfundamental_mode_abbrev_table;\7f52,1685
-int abbrevs_changed;\7f56,1786
-int abbrev_all_caps;\7f58,1808
-Lisp_Object Vabbrev_start_location;\7f63,1957
-Lisp_Object Vabbrev_start_location_buffer;\7f66,2046
-Lisp_Object Vlast_abbrev;\7f70,2155
-Lisp_Object Vlast_abbrev_text;\7f75,2324
-int last_abbrev_point;\7f79,2414
-DEFUN ("make-abbrev-table", Fmake_abbrev_table,\7f82,2440
-DEFUN ("make-abbrev-table", Fmake_abbrev_table,\7fmake-abbrev-table\ 182,2440
-DEFUN ("clear-abbrev-table", Fclear_abbrev_table,\7f89,2632
-DEFUN ("clear-abbrev-table", Fclear_abbrev_table,\7fclear-abbrev-table\ 189,2632
-DEFUN ("define-abbrev", Fdefine_abbrev,\7f104,3013
-DEFUN ("define-abbrev", Fdefine_abbrev,\7fdefine-abbrev\ 1104,3013
-DEFUN ("define-global-abbrev", Fdefine_global_abbrev,\7f146,4332
-DEFUN ("define-global-abbrev", Fdefine_global_abbrev,\7fdefine-global-abbrev\ 1146,4332
-DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,\7f157,4703
-DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,\7fdefine-mode-abbrev\ 1157,4703
-DEFUN ("abbrev-symbol", Fabbrev_symbol,\7f171,5171
-DEFUN ("abbrev-symbol", Fabbrev_symbol,\7fabbrev-symbol\ 1171,5171
-DEFUN ("abbrev-expansion", Fabbrev_expansion,\7f199,6135
-DEFUN ("abbrev-expansion", Fabbrev_expansion,\7fabbrev-expansion\ 1199,6135
-DEFUN ("expand-abbrev", Fexpand_abbrev,\7f215,6650
-DEFUN ("expand-abbrev", Fexpand_abbrev,\7fexpand-abbrev\ 1215,6650
-DEFUN ("unexpand-abbrev", Funexpand_abbrev,\7f383,11495
-DEFUN ("unexpand-abbrev", Funexpand_abbrev,\7funexpand-abbrev\ 1383,11495
-write_abbrev \7f420,12702
-describe_abbrev \7f439,13137
-DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,\7f460,13652
-DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,\7finsert-abbrev-table-description\ 1460,13652
-DEFUN ("define-abbrev-table", Fdefine_abbrev_table,\7f500,14808
-DEFUN ("define-abbrev-table", Fdefine_abbrev_table,\7fdefine-abbrev-table\ 1500,14808
-syms_of_abbrev \7f534,15885
-  DEFVAR_LISP ("abbrev-table-name-list"\7f536,15905
-  DEFVAR_LISP ("global-abbrev-table"\7f542,16167
-  DEFVAR_LISP ("fundamental-mode-abbrev-table"\7f549,16489
-  DEFVAR_LISP ("last-abbrev"\7f555,16831
-  DEFVAR_LISP ("last-abbrev-text"\7f558,16954
-  DEFVAR_INT ("last-abbrev-location"\7f562,17112
-  DEFVAR_LISP ("abbrev-start-location"\7f569,17311
-  DEFVAR_LISP ("abbrev-start-location-buffer"\7f575,17588
-  DEFVAR_PER_BUFFER ("local-abbrev-table"\7f580,17852
-  DEFVAR_BOOL ("abbrevs-changed"\7f583,17995
-  DEFVAR_BOOL ("abbrev-all-caps"\7f588,18198
-  DEFVAR_LISP ("abbrev-table-name-list",\7f\1\ 1536,15905
-  DEFVAR_LISP ("global-abbrev-table",\7f\1\ 1542,16167
-  DEFVAR_LISP ("fundamental-mode-abbrev-table",\7f\1\ 1549,16489
-  DEFVAR_LISP ("last-abbrev",\7f\1\ 1555,16831
-  DEFVAR_LISP ("last-abbrev-text",\7f\1\ 1558,16954
-  DEFVAR_INT ("last-abbrev-location",\7f\1\ 1562,17112
-  DEFVAR_LISP ("abbrev-start-location",\7f\1\ 1569,17311
-  DEFVAR_LISP ("abbrev-start-location-buffer",\7f\1\ 1575,17588
-  DEFVAR_PER_BUFFER ("local-abbrev-table",\7f\1\ 1580,17852
-  DEFVAR_BOOL ("abbrevs-changed",\7f\1\ 1583,17995
-  DEFVAR_BOOL ("abbrev-all-caps",\7f\1\ 1588,18198
-\f
-c-src/torture.c,197
-(*tag1 \7ftag1\ 118,452
-#define notag2 \7f26,553
-(*tag2 \7ftag2\ 129,630
-(*tag3 \7ftag3\ 139,772
-#define notag4 \7f45,861
-(*tag4 \7ftag4\ 148,955
-tag5 \7f57,1081
-tag6 \7f66,1208
-int pp1(\7f74,1317
-pp2\7f87,1419
-pp3(\7f100,1518
-\f
-c-src/getopt.h,147
-#define _GETOPT_H \7f19,799
-struct option\7f73,2795
-#define        no_argument     \7f89,3122
-#define required_argument      \7f90,3145
-#define optional_argument      \7f91,3173
-\f
-c-src/etags.c,10045
-char pot_etags_version[\7fpot_etags_version\ 181,3471
-#  undef DEBUG\7f84,3553
-#  define DEBUG \7f85,3568
-#  define DEBUG \7f87,3595
-#  define NDEBUG       \7f88,3618
-# define _GNU_SOURCE \7f94,3706
-# undef MSDOS\7f100,3877
-# undef  WINDOWSNT\7f101,3891
-# define WINDOWSNT\7f102,3910
-# undef MSDOS\7f106,3969
-# define MSDOS \7f107,3983
-# define MSDOS \7f110,4033
-# define MAXPATHLEN \7f115,4112
-# undef HAVE_NTGUI\7f116,4142
-# undef  DOS_NT\7f117,4161
-# define DOS_NT\7f118,4177
-# undef  assert        \7f135,4483
-# define assert(\7f136,4542
-# undef  CTAGS\7f146,4858
-# define CTAGS \7f147,4873
-# define CTAGS \7f149,4899
-#define streq(\7f152,4928
-#define strcaseeq(\7f153,4997
-#define strneq(\7f154,5076
-#define strncaseeq(\7f155,5152
-#define CHARS \7f157,5239
-#define CHAR(\7f158,5279
-#define        iswhite(\7f159,5330
-#define notinname(\7f160,5395
-#define        begtoken(\7f161,5470
-#define        intoken(\7f162,5543
-#define        endtoken(\7f163,5615
-#define ISALNUM(\7f165,5685
-#define ISALPHA(\7f166,5723
-#define ISDIGIT(\7f167,5761
-#define ISLOWER(\7f168,5799
-#define lowcase(\7f170,5838
-#define xnew(\7f179,6016
-#define xrnew(\7f180,6084
-typedef void Lang_function \7f182,6165
-} compressor;\7f188,6366
-} language;\7f199,6836
-typedef struct fdesc\7f201,6849
-} fdesc;\7f212,7367
-typedef struct node_st\7f214,7377
-} node;\7f225,7895
-} linebuffer;\7f239,8249
-    at_language,\7f245,8345
-    at_regexp,\7f246,8394
-    at_filename,\7f247,8438
-    at_stdin,\7f248,8474
-    at_end     \7f249,8517
-} argument;\7f253,8699
-typedef struct regexp\7f256,8759
-} regexp;\7f268,9326
-static void error \7f311,10781
-# undef STDIN\7f408,15074
-#define STDIN \7f411,15096
-static compressor compressors[\7fcompressors\ 1457,17665
-static const char *Ada_suffixes \7fAda_suffixes\ 1473,17908
-static const char Ada_help \7f475,17978
-static const char *Asm_suffixes \7fAsm_suffixes\ 1493,18581
-static const char Asm_help \7f504,18977
-static const char *default_C_suffixes \7fdefault_C_suffixes\ 1512,19313
-static const char default_C_help \7f515,19414
-static const char default_C_help \7f523,19851
-static const char *Cplusplus_suffixes \7fCplusplus_suffixes\ 1535,20461
-static const char Cplusplus_help \7f540,20659
-static const char *Cjava_suffixes \7fCjava_suffixes\ 1549,21114
-static char Cjava_help \7f551,21173
-static const char *Cobol_suffixes \7fCobol_suffixes\ 1556,21338
-static char Cobol_help \7f558,21403
-static const char *Cstar_suffixes \7fCstar_suffixes\ 1562,21544
-static const char *Erlang_suffixes \7fErlang_suffixes\ 1565,21608
-static const char Erlang_help \7f567,21674
-const char *Forth_suffixes \7fForth_suffixes\ 1571,21800
-static const char Forth_help \7f573,21858
-static const char *Fortran_suffixes \7fFortran_suffixes\ 1577,22009
-static const char Fortran_help \7f579,22086
-static const char *HTML_suffixes \7fHTML_suffixes\ 1582,22191
-static const char HTML_help \7f584,22265
-static const char *Lisp_suffixes \7fLisp_suffixes\ 1589,22453
-static const char Lisp_help \7f591,22557
-static const char *Lua_suffixes \7fLua_suffixes\ 1598,22872
-static const char Lua_help \7f600,22935
-static const char *Makefile_filenames \7fMakefile_filenames\ 1603,23011
-static const char Makefile_help \7f605,23134
-static const char *Objc_suffixes \7fObjc_suffixes\ 1609,23278
-static const char Objc_help \7f613,23400
-static const char *Pascal_suffixes \7fPascal_suffixes\ 1619,23715
-static const char Pascal_help \7f621,23779
-static const char *Perl_suffixes \7fPerl_suffixes\ 1626,23967
-static const char *Perl_interpreters \7fPerl_interpreters\ 1628,24029
-static const char Perl_help \7f630,24101
-static const char *PHP_suffixes \7fPHP_suffixes\ 1637,24452
-static const char PHP_help \7f639,24524
-static const char *plain_C_suffixes \7fplain_C_suffixes\ 1643,24679
-static const char *PS_suffixes \7fPS_suffixes\ 1647,24763
-static const char PS_help \7f649,24849
-static const char *Prolog_suffixes \7fProlog_suffixes\ 1652,24932
-static const char Prolog_help \7f654,24994
-static const char *Python_suffixes \7fPython_suffixes\ 1658,25108
-static const char Python_help \7f660,25166
-static const char *Scheme_suffixes \7fScheme_suffixes\ 1665,25348
-static const char Scheme_help \7f667,25461
-static const char *TeX_suffixes \7fTeX_suffixes\ 1672,25684
-static const char TeX_help \7f674,25782
-static const char *Texinfo_suffixes \7fTexinfo_suffixes\ 1686,26317
-static const char Texinfo_help \7f688,26396
-static const char *Yacc_suffixes \7fYacc_suffixes\ 1691,26493
-static const char Yacc_help \7f693,26607
-static const char auto_help \7f699,26857
-static const char none_help \7f703,27021
-static const char no_lang_help \7f707,27144
-static language lang_names \7f718,27356
-print_language_names \7f753,29533
-# define EMACS_NAME \7f786,30756
-# define VERSION \7f789,30812
-print_version \7f792,30870
-# define PRINT_UNDOCUMENTED_OPTIONS_HELP \7f804,31174
-print_help \7f808,31251
-main \7f981,37439
-get_compressor_from_suffix \7f1319,46218
-get_language_from_langname \7f1355,47159
-get_language_from_interpreter \7f1377,47546
-get_language_from_filename \7f1399,47977
-process_file_name \7f1433,48835
-process_file \7f1555,51666
-init \7f1632,54151
-find_entries \7f1656,54902
-make_tag \7f1814,59708
-pfnote \7f1856,60943
-free_tree \7f1917,62745
-free_fdesc \7f1935,63030
-add_node \7f1955,63473
-invalidate_nodes \7f2035,65538
-static int number_len \7f2068,66194
-total_size_of_entries \7f2087,66695
-put_entries \7f2107,67155
-#define C_EXT  \7f2193,68996
-#define C_PLAIN \7f2194,69038
-#define C_PLPL \7f2195,69071
-#define C_STAR \7f2196,69105
-#define C_JAVA \7f2197,69138
-#define C_AUTO \7f2198,69173
-#define YACC   \7f2199,69243
-enum sym_type\7f2204,69313
-  st_none,\7f2206,69329
-  st_C_objprot,\7f2207,69340
-  st_C_objprot, st_C_objimpl,\7f2207,69340
-  st_C_objprot, st_C_objimpl, st_C_objend,\7f2207,69340
-  st_C_gnumacro,\7f2208,69383
-  st_C_ignore,\7f2209,69400
-  st_C_ignore, st_C_attribute,\7f2209,69400
-  st_C_javastruct,\7f2210,69431
-  st_C_operator,\7f2211,69450
-  st_C_class,\7f2212,69467
-  st_C_class, st_C_template,\7f2212,69467
-  st_C_struct,\7f2213,69496
-  st_C_struct, st_C_extern,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum, st_C_define,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum, st_C_define, st_C_typedef\7f2213,69496
-struct C_stab_entry \7f2271,71279
-hash \7f2275,71410
-in_word_set \7f2321,72938
-      TOTAL_KEYWORDS \7f2325,73019
-      MIN_WORD_LENGTH \7f2326,73046
-      MAX_WORD_LENGTH \7f2327,73073
-      MIN_HASH_VALUE \7f2328,73101
-      MAX_HASH_VALUE \7f2329,73127
-C_symtype \7f2387,74986
-static bool inattribute;\7f2400,75235
-  fvnone,\7f2408,75436
-  fdefunkey,\7f2409,75467
-  fdefunname,\7f2410,75513
-  foperator,\7f2411,75557
-  fvnameseen,\7f2412,75614
-  fstartlist,\7f2413,75667
-  finlist,\7f2414,75723
-  flistseen,\7f2415,75766
-  fignore,\7f2416,75814
-  vignore      \7f2417,75857
-} fvdef;\7f2418,75902
-static bool fvextern;\7f2420,75912
-  tnone,\7f2428,76090
-  tkeyseen,\7f2429,76120
-  ttypeseen,\7f2430,76161
-  tinbody,\7f2431,76200
-  tend,\7f2432,76239
-  tignore      \7f2433,76280
-} typdef;\7f2434,76321
-  snone,\7f2443,76500
-  skeyseen,\7f2445,76576
-  stagseen,\7f2446,76621
-  scolonseen   \7f2447,76662
-} structdef;\7f2448,76716
-static const char *objtag \7fobjtag\ 12453,76810
-  dnone,\7f2460,76943
-  dsharpseen,\7f2461,76973
-  ddefineseen,\7f2462,77026
-  dignorerest  \7f2463,77071
-} definedef;\7f2464,77113
-  onone,\7f2472,77268
-  oprotocol,\7f2473,77298
-  oimplementation,\7f2474,77348
-  otagseen,\7f2475,77396
-  oparenseen,\7f2476,77432
-  ocatseen,\7f2477,77487
-  oinbody,\7f2478,77526
-  omethodsign,\7f2479,77569
-  omethodtag,\7f2480,77627
-  omethodcolon,\7f2481,77667
-  omethodparm,\7f2482,77710
-  oignore      \7f2483,77756
-} objdef;\7f2484,77788
-static struct tok\7f2491,77945
-} token;\7f2508,78627
-} cstack;\7f2523,79137
-#define nestlev        \7f2525,79265
-#define instruct       \7f2527,79370
-pushclass_above \7f2531,79490
-popclass_above \7f2550,79949
-write_classname \7f2564,80163
-consider_token \7f2613,81342
-} lbs[\7flbs\ 12924,88533
-#define current_lb_is_new \7f2926,88544
-#define switch_line_buffers(\7f2927,88589
-#define curlb \7f2929,88642
-#define newlb \7f2930,88673
-#define curlinepos \7f2931,88704
-#define newlinepos \7f2932,88745
-#define plainc \7f2934,88787
-#define cplpl \7f2935,88831
-#define cjava \7f2936,88862
-#define CNL_SAVE_DEFINEDEF(\7f2938,88906
-#define CNL(\7f2947,89118
-make_C_tag \7f2960,89376
-C_entries \7f2986,90195
-default_C_entries \7f3833,110157
-plain_C_entries \7f3840,110277
-Cplusplus_entries \7f3847,110365
-Cjava_entries \7f3854,110461
-Cstar_entries \7f3861,110551
-Yacc_entries \7f3868,110643
-#define LOOP_ON_INPUT_LINES(\7f3875,110721
-#define LOOKING_AT(\7f3884,111057
-#define LOOKING_AT_NOCASE(\7f3891,111462
-just_read_file \7f3901,111862
-F_takeprec \7f3914,112040
-F_getit \7f3937,112367
-Fortran_functions \7f3961,112841
-Ada_getit \7f4052,114670
-Ada_funcs \7f4115,116045
-Asm_labels \7f4228,118583
-Perl_functions \7f4261,119550
-Python_functions \7f4357,122058
-PHP_functions \7f4387,122685
-Cobol_paragraphs \7f4466,124472
-Makefile_targets \7f4494,125030
-Pascal_functions \7f4529,125951
-L_getit \7f4709,130319
-Lisp_functions \7f4725,130665
-Lua_functions \7f4785,131851
-PS_functions \7f4811,132386
-Forth_words \7f4841,133054
-Scheme_functions \7f4877,134093
-static linebuffer *TEX_toktab \7fTEX_toktab\ 14908,134782
-static const char *TEX_defenv \7fTEX_defenv\ 14912,134975
-static char TEX_esc \7f4920,135262
-static char TEX_opgrp \7f4921,135290
-static char TEX_clgrp \7f4922,135319
-TeX_commands \7f4928,135396
-#define TEX_LESC \7f4986,136653
-#define TEX_SESC \7f4987,136675
-TEX_mode \7f4992,136805
-TEX_decode_env \7f5026,137510
-Texinfo_nodes \7f5071,138555
-HTML_labels \7f5094,139014
-Prolog_functions \7f5219,142348
-prolog_skip_comment \7f5255,143129
-prolog_pr \7f5281,143737
-prolog_atom \7f5319,144629
-Erlang_functions \7f5379,145667
-erlang_func \7f5438,146966
-erlang_attribute \7f5476,147643
-erlang_atom \7f5496,148062
-scan_separators \7f5534,149081
-analyze_regex \7f5586,150461
-add_regex \7f5654,152051
-substitute \7f5767,154798
-free_regexps \7f5814,155838
-regex_tag_multiline \7f5836,156292
-nocase_tail \7f5913,158264
-get_tag \7f5928,158520
-readline_internal \7f5959,159456
-readline \7f6037,161297
-savestr \7f6230,167244
-savenstr \7f6240,167474
-skip_spaces \7f6249,167680
-skip_non_spaces \7f6258,167834
-skip_name \7f6267,167984
-fatal \7f6277,168157
-pfatal \7f6284,168254
-suggest_asking_for_help \7f6291,168333
-error \7f6300,168555
-concat \7f6313,168847
-etags_getcwd \7f6329,169260
-relative_filename \7f6350,169726
-absolute_filename \7f6389,170752
-absolute_dirname \7f6453,172417
-filename_is_absolute \7f6472,172846
-canonicalize_filename \7f6484,173097
-# define ISUPPER(\7f6491,173236
-linebuffer_init \7f6514,173657
-linebuffer_setlen \7f6524,173888
-xmalloc \7f6536,174149
-xrealloc \7f6545,174315
-\f
-c-src/exit.c,47
-  } __libc_atexit;\7f30,1022
-DEFUN(exit,\7f38,1263
-\f
-c-src/exit.strange_suffix,47
-  } __libc_atexit;\7f30,1022
-DEFUN(exit,\7f38,1263
-\f
-c-src/sysdep.h,491
-#define        ENTRY(\7f21,875
-#define        PSEUDO(\7f26,982
-    movl $SYS_##syscall_nam\7f$SYS_##syscall_na\ 131,1142
-    movl $SYS_##syscall_name, %eax;\7feax\ 131,1142
-    int $0x80;\7f32,1190
-    test %eax,\7feax\ 133,1220
-    test %eax, %eax;\7feax\ 133,1220
-    jl syscall_error;\7f34,1255
-#define        XCHG_0  \7f47,1572
-#define        XCHG_1  \7f48,1616
-#define        XCHG_2  \7f49,1658
-#define        XCHG_3  \7f50,1701
-#define        XCHG_4  \7f51,1744
-#define        XCHG_5  \7f52,1787
-#define        r0      \7f54,1831
-#define        r1      \7f55,1885
-#define scratch \7f56,1942
-#define MOVE(\7f57,2011
-\f
-c-src/tab.c,196
-static int             count_words(\7f15,263
-static char            *get_word(\7fget_word\ 135,553
-void                   tab_free(\7f59,966
-char                   **tab_fill(\7ftab_fill\ 170,1129
-int                    tab_delete_first(\7f91,1638
-int                    tab_count_words(\7f103,1820
-\f
-c-src/dostorture.c,198
-(*tag1 \7ftag1\ 118,468
-#define notag2 \7f26,577
-(*tag2 \7ftag2\ 129,657
-(*tag3 \7ftag3\ 139,809
-#define notag4 \7f45,904
-(*tag4 \7ftag4\ 148,1001
-tag5 \7f57,1136
-tag6 \7f66,1272
-int pp1(\7f74,1389
-pp2\7f87,1504
-pp3(\7f100,1616
-\f
-c-src/emacs/src/gmalloc.c,3539
-#define USE_PTHREAD\7f25,1003
-#undef get_current_dir_name\7f33,1127
-#undef malloc\7f64,2111
-#undef realloc\7f65,2125
-#undef calloc\7f66,2140
-#undef free\7f67,2154
-#define malloc \7f68,2166
-#define realloc \7f69,2189
-#define calloc \7f70,2214
-#define aligned_alloc \7f71,2237
-#define free \7f72,2274
-#define DUMPED \7f80,2473
-#define ALLOCATED_BEFORE_DUMPING(\7f81,2508
-extern void *malloc \7fmalloc\ 194,2719
-#define INT_BIT        \7f124,3935
-#define BLOCKLOG       \7f125,3978
-#define BLOCKSIZE      \7f126,4019
-#define BLOCKIFY(\7f127,4053
-#define HEAP   \7f131,4216
-#define FINAL_FREE_BLOCKS      \7f135,4392
-  } malloc_info;\7f167,5389
-#define BLOCK(\7f176,5621
-#define ADDRESS(\7f177,5683
-struct list\7f186,5940
-struct alignlist\7f196,6154
-#define LOCK(\7f223,7065
-#define UNLOCK(\7f228,7196
-#define LOCK_ALIGNED_BLOCKS(\7f233,7330
-#define UNLOCK_ALIGNED_BLOCKS(\7f238,7485
-#define LOCK(\7f244,7650
-#define UNLOCK(\7f245,7665
-#define LOCK_ALIGNED_BLOCKS(\7f246,7682
-#define UNLOCK_ALIGNED_BLOCKS(\7f247,7712
-enum mcheck_status\7f283,9093
-    MCHECK_DISABLED \7f285,9116
-    MCHECK_OK,\7f286,9188
-    MCHECK_FREE,\7f287,9227
-    MCHECK_HEAD,\7f288,9271
-    MCHECK_TAIL        \7f289,9335
-struct mstats\7f308,10154
-char *_heapbase;\7f_heapbase\ 1355,11831
-malloc_info *_heapinfo;\7f_heapinfo\ 1358,11929
-static size_t heapsize;\7f361,11985
-size_t _heapindex;\7f364,12049
-size_t _heaplimit;\7f367,12111
-struct list _fraghead[\7f_fraghead\ 1370,12173
-size_t _chunks_used;\7f373,12231
-size_t _bytes_used;\7f374,12252
-size_t _chunks_free;\7f375,12272
-size_t _bytes_free;\7f376,12293
-int __malloc_initialized;\7f379,12342
-size_t __malloc_extra_blocks;\7f381,12369
-static int state_protected_p;\7f400,12914
-static size_t last_state_size;\7f401,12944
-static malloc_info *last_heapinfo;\7flast_heapinfo\ 1402,12975
-protect_malloc_state \7f405,13016
-#define PROTECT_MALLOC_STATE(\7f426,13629
-#define PROTECT_MALLOC_STATE(\7f429,13699
-align \7f435,13796
-get_contiguous_space \7f466,14618
-register_heapinfo \7f497,15327
-pthread_mutex_t _malloc_mutex \7f517,15881
-pthread_mutex_t _aligned_blocks_mutex \7f518,15940
-int _malloc_thread_enabled_p;\7f519,16007
-malloc_atfork_handler_prepare \7f522,16050
-malloc_atfork_handler_parent \7f529,16141
-malloc_atfork_handler_child \7f536,16235
-malloc_enable_thread \7f544,16377
-malloc_initialize_1 \7f563,16963
-__malloc_initialize \7f594,17795
-static int morecore_recursing;\7f604,17928
-morecore_nolock \7f609,18068
-_malloc_internal_nolock \7f722,21586
-_malloc_internal \7f920,28104
-malloc \7f932,28249
-_malloc \7f961,29142
-_free \7f967,29198
-_realloc \7f973,29242
-struct alignlist *_aligned_blocks \7f_aligned_blocks\ 11004,30348
-_free_internal_nolock \7f1009,30477
-_free_internal \7f1255,38479
-free \7f1265,38606
-weak_alias \7f1277,38802
-#define min(\7f1306,39817
-_realloc_internal_nolock \7f1319,40313
-_realloc_internal \7f1435,43567
-realloc \7f1447,43730
-calloc \7f1478,44899
-#define        __sbrk  \7f1513,46048
-__default_morecore \7f1525,46517
-aligned_alloc \7f1557,47529
-memalign \7f1647,49711
-posix_memalign \7f1656,49916
-static size_t pagesize;\7f1703,51325
-valloc \7f1706,51357
-#undef malloc\7f1715,51498
-#undef realloc\7f1716,51512
-#undef calloc\7f1717,51527
-#undef aligned_alloc\7f1718,51541
-#undef free\7f1719,51562
-hybrid_malloc \7f1736,52091
-hybrid_calloc \7f1744,52196
-hybrid_free \7f1752,52327
-hybrid_aligned_alloc \7f1765,52634
-hybrid_realloc \7f1780,52990
-hybrid_get_current_dir_name \7f1811,53803
-#define MAGICWORD      \7f1854,55213
-#define MAGICFREE      \7f1855,55268
-#define MAGICBYTE      \7f1856,55323
-#define MALLOCFLOOD    \7f1857,55355
-#define FREEFLOOD      \7f1858,55389
-struct hdr\7f1860,55422
-checkhdr \7f1867,55588
-freehook \7f1891,56029
-mallochook \7f1927,56811
-reallochook \7f1944,57150
-mabort \7f1978,57908
-static int mcheck_used \7f2012,58593
-mcheck \7f2015,58626
-mprobe \7f2035,59145
-\f
-c-src/emacs/src/regex.h,3761
-#define _REGEX_H \7f21,837
-typedef unsigned long reg_syntax_t;\7f43,1578
-#define RE_BACKSLASH_ESCAPE_IN_LISTS \7f47,1750
-#define RE_BK_PLUS_QM \7f52,1970
-#define RE_CHAR_CLASSES \7f58,2299
-#define RE_CONTEXT_INDEP_ANCHORS \7f72,3033
-#define RE_CONTEXT_INDEP_OPS \7f80,3459
-#define RE_CONTEXT_INVALID_OPS \7f84,3659
-#define RE_DOT_NEWLINE \7f88,3802
-#define RE_DOT_NOT_NULL \7f92,3938
-#define RE_HAT_LISTS_NOT_NEWLINE \7f96,4083
-#define RE_INTERVALS \7f101,4293
-#define RE_LIMITED_OPS \7f105,4442
-#define RE_NEWLINE_ALT \7f109,4584
-#define RE_NO_BK_BRACES \7f114,4774
-#define RE_NO_BK_PARENS \7f118,4965
-#define RE_NO_BK_REFS \7f122,5121
-#define RE_NO_BK_VBAR \7f126,5317
-#define RE_NO_EMPTY_RANGES \7f132,5611
-#define RE_UNMATCHED_RIGHT_PAREN_ORD \7f136,5767
-#define RE_NO_POSIX_BACKTRACKING \7f140,5938
-#define RE_NO_GNU_OPS \7f144,6134
-#define RE_FRUGAL \7f147,6254
-#define RE_SHY_GROUPS \7f150,6361
-#define RE_NO_NEWLINE_ANCHOR \7f153,6469
-#define RE_DEBUG \7f161,6885
-#define RE_SYNTAX_EMACS        \7f183,7685
-#define RE_SYNTAX_AWK  \7f186,7781
-#define RE_SYNTAX_GNU_AWK      \7f193,8085
-#define RE_SYNTAX_POSIX_AWK \7f197,8256
-#define RE_SYNTAX_GREP \7f201,8394
-#define RE_SYNTAX_EGREP        \7f206,8550
-#define RE_SYNTAX_POSIX_EGREP  \7f212,8766
-#define RE_SYNTAX_ED \7f216,8911
-#define RE_SYNTAX_SED \7f218,8955
-#define _RE_SYNTAX_POSIX_COMMON        \7f221,9073
-#define RE_SYNTAX_POSIX_BASIC  \7f225,9216
-#define RE_SYNTAX_POSIX_MINIMAL_BASIC  \7f231,9509
-#define RE_SYNTAX_POSIX_EXTENDED       \7f234,9599
-#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED       \7f242,9968
-# undef RE_DUP_MAX\7f253,10455
-#define RE_DUP_MAX \7f256,10541
-#define REG_EXTENDED \7f263,10763
-#define REG_ICASE \7f267,10887
-#define REG_NEWLINE \7f272,11071
-#define REG_NOSUB \7f276,11249
-#define REG_NOTBOL \7f286,11615
-#define REG_NOTEOL \7f289,11689
-  REG_ENOSYS \7f297,11860
-  REG_NOERROR \7f300,11942
-  REG_NOMATCH,\7f301,11977
-  REG_BADPAT,\7f305,12124
-  REG_ECOLLATE,\7f306,12163
-  REG_ECTYPE,\7f307,12204
-  REG_EESCAPE,\7f308,12256
-  REG_ESUBREG,\7f309,12299
-  REG_EBRACK,\7f310,12346
-  REG_EPAREN,\7f311,12392
-  REG_EBRACE,\7f312,12437
-  REG_BADBR,\7f313,12473
-  REG_ERANGE,\7f314,12520
-  REG_ESPACE,\7f315,12561
-  REG_BADRPT,\7f316,12602
-  REG_EEND,\7f319,12694
-  REG_ESIZE,\7f320,12729
-  REG_ERPAREN,\7f321,12791
-  REG_ERANGEX  \7f322,12860
-} reg_errcode_t;\7f323,12912
-# define RE_TRANSLATE_TYPE \7f332,13274
-struct re_pattern_buffer\7f335,13316
-#define REGS_UNALLOCATED \7f376,14890
-#define REGS_REALLOCATE \7f377,14917
-#define REGS_FIXED \7f378,14943
-typedef struct re_pattern_buffer regex_t;\7f416,16099
-typedef ssize_t regoff_t;\7f423,16493
-struct re_registers\7f428,16653
-# define RE_NREGS \7f440,16943
-} regmatch_t;\7f451,17318
-#  define _Restrict_ \7f540,20887
-#  define _Restrict_ \7f542,20980
-#  define _Restrict_\7f544,21019
-#  define _Restrict_arr_ \7f555,21419
-#  define _Restrict_arr_\7f557,21462
-#  define CHAR_CLASS_MAX_LENGTH \7f593,22471
-#  define CHAR_CLASS_MAX_LENGTH \7f597,22649
-typedef wctype_t re_wctype_t;\7f599,22693
-typedef wchar_t re_wchar_t;\7f600,22723
-# define re_wctype \7f601,22751
-# define re_iswctype \7f602,22777
-# define re_wctype_to_bit(\7f603,22807
-# define CHAR_CLASS_MAX_LENGTH \7f605,22845
-# define btowc(\7f606,22907
-typedef enum { RECC_ERROR \7f609,22954
-              RECC_ALNUM,\7f610,22985
-              RECC_ALNUM, RECC_ALPHA,\7f610,22985
-              RECC_ALNUM, RECC_ALPHA, RECC_WORD,\7f610,22985
-              RECC_GRAPH,\7f611,23028
-              RECC_GRAPH, RECC_PRINT,\7f611,23028
-              RECC_LOWER,\7f612,23060
-              RECC_LOWER, RECC_UPPER,\7f612,23060
-              RECC_PUNCT,\7f613,23092
-              RECC_PUNCT, RECC_CNTRL,\7f613,23092
-              RECC_DIGIT,\7f614,23124
-              RECC_DIGIT, RECC_XDIGIT,\7f614,23124
-              RECC_BLANK,\7f615,23157
-              RECC_BLANK, RECC_SPACE,\7f615,23157
-              RECC_MULTIBYTE,\7f616,23189
-              RECC_MULTIBYTE, RECC_NONASCII,\7f616,23189
-              RECC_ASCII,\7f617,23228
-              RECC_ASCII, RECC_UNIBYTE\7f617,23228
-} re_wctype_t;\7f618,23261
-typedef int re_wchar_t;\7f623,23388
-\f
-c-src/emacs/src/keyboard.c,22931
-volatile int interrupt_input_blocked;\7f76,1809
-volatile bool pending_signals;\7f80,1945
-#define KBD_BUFFER_SIZE \7f82,1977
-KBOARD *initial_kboard;\7finitial_kboard\ 184,2007
-KBOARD *current_kboard;\7fcurrent_kboard\ 185,2031
-static KBOARD *all_kboards;\7fall_kboards\ 186,2055
-static bool single_kboard;\7f89,2155
-#define NUM_RECENT_KEYS \7f91,2183
-static int recent_keys_index;\7f94,2270
-static int total_keys;\7f97,2358
-static Lisp_Object recent_keys;\7f100,2444
-Lisp_Object this_command_keys;\7f107,2778
-ptrdiff_t this_command_key_count;\7f108,2809
-static bool this_command_key_count_reset;\7f112,2923
-static Lisp_Object raw_keybuf;\7f116,3075
-static int raw_keybuf_count;\7f117,3106
-#define GROW_RAW_KEYBUF        \7f119,3136
-static ptrdiff_t this_single_command_key_start;\7f125,3351
-static ptrdiff_t before_command_key_count;\7f129,3499
-static ptrdiff_t before_command_echo_length;\7f130,3542
-sigjmp_buf return_to_command_loop;\7f135,3678
-static Lisp_Object recover_top_level_message;\7f138,3792
-static Lisp_Object regular_top_level_message;\7f143,3931
-static sys_jmp_buf getcjmp;\7f147,4032
-bool waiting_for_input;\7f150,4096
-static bool echoing;\7f154,4187
-static struct kboard *ok_to_echo_at_next_pause;\7fok_to_echo_at_next_pause\ 1159,4329
-struct kboard *echo_kboard;\7fecho_kboard\ 1166,4633
-Lisp_Object echo_message_buffer;\7f171,4745
-bool immediate_quit;\7f174,4838
-int quit_char;\7f192,5624
-EMACS_INT command_loop_level;\7f195,5681
-Lisp_Object unread_switch_frame;\7f204,6109
-static ptrdiff_t last_non_minibuf_size;\7f207,6217
-uintmax_t num_input_events;\7f210,6335
-static EMACS_INT last_auto_save;\7f214,6429
-static ptrdiff_t last_point_position;\7f217,6524
-Lisp_Object internal_last_event_frame;\7f228,7029
-static Lisp_Object read_key_sequence_cmd;\7f232,7169
-static Lisp_Object read_key_sequence_remapped;\7f233,7211
-static FILE *dribble;\7fdribble\ 1236,7311
-bool input_pending;\7f239,7369
-static bool input_was_pending;\7f287,10023
-static struct input_event kbd_buffer[\7fkbd_buffer\ 1291,10108
-static struct input_event *kbd_fetch_ptr;\7fkbd_fetch_ptr\ 1297,10387
-static struct input_event * volatile kbd_store_ptr;\7f302,10602
-unsigned timers_run;\7f320,11297
-struct timespec *input_available_clear_time;\7finput_available_clear_time\ 1324,11409
-bool interrupt_input;\7f328,11574
-bool interrupts_deferred;\7f331,11672
-static struct timespec timer_idleness_start_time;\7f335,11747
-static struct timespec timer_last_idleness_start_time;\7f340,11917
-#define READABLE_EVENTS_DO_TIMERS_NOW  \7f346,12047
-#define READABLE_EVENTS_FILTER_EVENTS  \7f347,12095
-#define READABLE_EVENTS_IGNORE_SQUEEZABLES     \7f348,12143
-kset_echo_string \7f392,14089
-kset_kbd_queue \7f397,14185
-kset_keyboard_translate_table \7f402,14277
-kset_last_prefix_arg \7f407,14400
-kset_last_repeatable_command \7f412,14505
-kset_local_function_key_map \7f417,14626
-kset_overriding_terminal_local_map \7f422,14745
-kset_real_last_command \7f427,14878
-kset_system_key_syms \7f432,14987
-echo_add_key \7f443,15250
-echo_char \7f527,17528
-echo_dash \7f541,17814
-echo_now \7f586,19141
-cancel_echoing \7f635,20615
-echo_length \7f648,20923
-echo_truncate \7f660,21254
-add_command_key \7f672,21583
-recursive_edit_1 \7f697,22407
-record_auto_save \7f742,23849
-force_auto_save_soon \7f751,24017
-DEFUN ("recursive-edit", Frecursive_edit,\7f759,24138
-DEFUN ("recursive-edit", Frecursive_edit,\7frecursive-edit\ 1759,24138
-recursive_edit_unwind \7f804,25751
-any_kboard_state \7f817,26017
-single_kboard_state \7f838,26669
-not_single_kboard_state \7f848,26807
-struct kboard_stack\7f858,27069
-static struct kboard_stack *kboard_stack;\7fkboard_stack\ 1864,27142
-push_kboard \7f867,27190
-pop_kboard \7f879,27379
-temporarily_switch_to_single_kboard \7f914,28267
-record_single_kboard_state \7f943,29441
-restore_kboard_configuration \7f952,29625
-cmd_error \7f970,30081
-cmd_error_internal \7f1024,31514
-DEFUN ("command-error-default-function", Fcommand_error_default_function,\7f1043,32034
-DEFUN ("command-error-default-function", Fcommand_error_default_function,\7fcommand-error-default-function\ 11043,32034
-command_loop \7f1094,33920
-command_loop_2 \7f1134,35139
-top_level_2 \7f1146,35343
-top_level_1 \7f1152,35421
-DEFUN ("top-level", Ftop_level,\7f1164,35791
-DEFUN ("top-level", Ftop_level,\7ftop-level\ 11164,35791
-user_error \7f1183,36292
-DEFUN ("exit-recursive-edit", Fexit_recursive_edit,\7f1189,36433
-DEFUN ("exit-recursive-edit", Fexit_recursive_edit,\7fexit-recursive-edit\ 11189,36433
-DEFUN ("abort-recursive-edit", Fabort_recursive_edit,\7f1201,36823
-DEFUN ("abort-recursive-edit", Fabort_recursive_edit,\7fabort-recursive-edit\ 11201,36823
-tracking_off \7f1216,37285
-DEFUN ("internal--track-mouse", Ftrack_mouse,\7f1234,37820
-DEFUN ("internal--track-mouse", Ftrack_mouse,\7ftrack-mouse\ 11234,37820
-bool ignore_mouse_drag_p;\7f1256,38396
-some_mouse_moved \7f1259,38445
-Lisp_Object last_undo_boundary;\7f1287,39036
-command_loop_1 \7f1294,39277
-read_menu_command \7f1649,50893
-adjust_point_for_property \7f1678,51621
-safe_run_hooks_1 \7f1831,57343
-safe_run_hooks_error \7f1841,57573
-safe_run_hook_funcall \7f1878,58580
-safe_run_hooks \7f1893,59062
-int poll_suppress_count;\7f1908,59401
-static struct atimer *poll_timer;\7fpoll_timer\ 11915,59491
-poll_for_input_1 \7f1919,59593
-poll_for_input \7f1930,59793
-start_polling \7f1942,60057
-input_polling_used \7f1979,61095
-stop_polling \7f1994,61394
-set_poll_suppress_count \7f2009,61763
-bind_polling_period \7f2029,62145
-make_ctrl_char \7f2048,62496
-show_help_echo \7f2113,64459
-static Lisp_Object help_form_saved_window_configs;\7f2156,65642
-read_char_help_form_unwind \7f2158,65705
-#define STOP_POLLING   \7f2166,65963
-#define RESUME_POLLING \7f2170,66088
-read_event_from_main_queue \7f2175,66233
-read_decoded_event_from_main_queue \7f2249,68421
-#define MAX_ENCODED_BYTES \7f2254,68668
-echo_keystrokes_p \7f2342,71560
-read_char \7f2376,72852
-record_menu_key \7f3225,98953
-help_char_p \7f3258,99678
-record_char \7f3273,99957
-save_getcjmp \7f3412,104239
-restore_getcjmp \7f3418,104330
-readable_events \7f3430,104701
-int stop_character EXTERNALLY_VISIBLE;\7f3497,106441
-event_to_kboard \7f3500,106497
-kbd_buffer_nr_stored \7f3522,107146
-kbd_buffer_store_event \7f3534,107487
-kbd_buffer_store_event_hold \7f3550,108029
-kbd_buffer_unget_event \7f3684,111621
-#define INPUT_EVENT_POS_MAX \7f3698,112022
-#define INPUT_EVENT_POS_MIN \7f3701,112151
-position_to_Time \7f3706,112291
-Time_to_position \7f3716,112518
-gen_help_event \7f3738,113175
-kbd_buffer_store_help_event \7f3756,113615
-discard_mouse_events \7f3773,113980
-kbd_buffer_events_waiting \7f3803,114715
-clear_event \7f3823,115072
-kbd_buffer_get_event \7f3836,115412
-process_special_events \7f4258,127885
-swallow_events \7f4322,129709
-timer_start_idle \7f4339,130102
-timer_stop_idle \7f4355,130580
-timer_resume_idle \7f4363,130724
-struct input_event last_timer_event EXTERNALLY_VISIBLE;\7f4372,130916
-Lisp_Object pending_funcalls;\7f4377,131176
-decode_timer \7f4381,131297
-timer_check_2 \7f4414,132250
-timer_check \7f4572,136821
-DEFUN ("current-idle-time", Fcurrent_idle_time,\7f4607,137666
-DEFUN ("current-idle-time", Fcurrent_idle_time,\7fcurrent-idle-time\ 14607,137666
-static Lisp_Object accent_key_syms;\7f4625,138243
-static Lisp_Object func_key_syms;\7f4626,138279
-static Lisp_Object mouse_syms;\7f4627,138313
-static Lisp_Object wheel_syms;\7f4628,138344
-static Lisp_Object drag_n_drop_syms;\7f4629,138375
-static const int lispy_accent_codes[\7flispy_accent_codes\ 14634,138520
-static const char *const lispy_accent_keys[\7flispy_accent_keys\ 14741,139882
-#define FUNCTION_KEY_OFFSET \7f4766,140318
-const char *const lispy_function_keys[\7flispy_function_keys\ 14768,140351
-static const char *const lispy_multimedia_keys[\7flispy_multimedia_keys\ 14962,148905
-static const char *const lispy_kana_keys[\7flispy_kana_keys\ 15026,150139
-#define FUNCTION_KEY_OFFSET \7f5061,151755
-static const char *const lispy_function_keys[\7flispy_function_keys\ 15065,151898
-#define ISO_FUNCTION_KEY_OFFSET \7f5149,154433
-static const char *const iso_lispy_function_keys[\7fiso_lispy_function_keys\ 15151,154473
-static Lisp_Object Vlispy_mouse_stem;\7f5172,155332
-static const char *const lispy_wheel_names[\7flispy_wheel_names\ 15174,155371
-static const char *const lispy_drag_n_drop_names[\7flispy_drag_n_drop_names\ 15181,155623
-static short const scroll_bar_parts[\7fscroll_bar_parts\ 15189,155889
-static Lisp_Object button_down_location;\7f5210,156914
-static int last_mouse_button;\7f5215,157069
-static int last_mouse_x;\7f5216,157099
-static int last_mouse_y;\7f5217,157124
-static Time button_down_time;\7f5218,157149
-static int double_click_count;\7f5222,157233
-make_lispy_position \7f5228,157394
-toolkit_menubar_in_use \7f5456,163957
-make_scroll_bar_position \7f5469,164325
-make_lispy_event \7f5485,164971
-make_lispy_movement \7f6104,183534
-make_lispy_switch_frame \7f6131,184265
-make_lispy_focus_in \7f6137,184372
-make_lispy_focus_out \7f6145,184498
-parse_modifiers_uncached \7f6163,184948
-#define SINGLE_LETTER_MOD(\7f6185,185468
-#undef SINGLE_LETTER_MOD\7f6212,185909
-#define MULTI_LETTER_MOD(\7f6214,185935
-#undef MULTI_LETTER_MOD\7f6231,186403
-apply_modifiers_uncached \7f6273,187577
-static const char *const modifier_names[\7fmodifier_names\ 16319,189196
-#define NUM_MOD_NAMES \7f6325,189402
-static Lisp_Object modifier_symbols;\7f6327,189452
-lispy_modifier_list \7f6331,189589
-#define KEY_TO_CHAR(\7f6353,190255
-parse_modifiers \7f6356,190331
-DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,\7f6399,191520
-DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,\7fevent-symbol-parse-modifiers\ 16399,191520
-apply_modifiers \7f6422,192394
-reorder_modifiers \7f6491,194723
-modify_event_symbol \7f6536,196531
-DEFUN ("event-convert-list", Fevent_convert_list,\7f6628,199247
-DEFUN ("event-convert-list", Fevent_convert_list,\7fevent-convert-list\ 16628,199247
-parse_solitary_modifier \7f6695,201138
-#define SINGLE_LETTER_MOD(\7f6701,201261
-#define MULTI_LETTER_MOD(\7f6705,201346
-#undef SINGLE_LETTER_MOD\7f6763,202644
-#undef MULTI_LETTER_MOD\7f6764,202669
-lucid_event_type_list_p \7f6775,202892
-get_input_pending \7f6814,203963
-record_asynch_buffer_change \7f6834,204582
-gobble_input \7f6872,205705
-tty_read_avail_input \7f6967,208313
-handle_async_input \7f7149,214042
-process_pending_signals \7f7165,214362
-unblock_input_to \7f7177,214648
-unblock_input \7f7200,215280
-totally_unblock_input \7f7209,215448
-handle_input_available_signal \7f7217,215532
-deliver_input_available_signal \7f7226,215703
-struct user_signal_info\7f7235,215868
-static struct user_signal_info *user_signals \7fuser_signals\ 17250,216093
-add_user_signal \7f7253,216152
-handle_user_signal \7f7275,216601
-deliver_user_signal \7f7316,217561
-find_user_signal_name \7f7322,217662
-store_user_signal_events \7f7334,217844
-static Lisp_Object menu_bar_one_keymap_changed_items;\7f7363,218419
-static Lisp_Object menu_bar_items_vector;\7f7368,218633
-static int menu_bar_items_index;\7f7369,218675
-static const char *separator_names[\7fseparator_names\ 17372,218710
-menu_separator_name_p \7f7393,219151
-menu_bar_items \7f7426,219855
-Lisp_Object item_properties;\7f7568,224606
-menu_bar_item \7f7571,224648
-menu_item_eval_property_1 \7f7647,227178
-eval_dyn \7f7658,227468
-menu_item_eval_property \7f7666,227678
-parse_menu_item \7f7686,228344
-static Lisp_Object tool_bar_items_vector;\7f7965,236339
-static Lisp_Object tool_bar_item_properties;\7f7970,236513
-static int ntool_bar_items;\7f7974,236609
-tool_bar_items \7f7990,237086
-process_tool_bar_item \7f8075,239895
-#define PROP(\7f8112,240972
-set_prop \7f8114,241041
-parse_tool_bar_item \7f8167,242456
-#undef PROP\7f8379,248847
-init_tool_bar_items \7f8387,248972
-append_tool_bar_item \7f8401,249264
-read_char_x_menu_prompt \7f8443,250774
-read_char_minibuf_menu_prompt \7f8503,252448
-#define PUSH_C_STR(\7f8527,253017
-follow_key \7f8726,258556
-active_maps \7f8733,258698
-typedef struct keyremap\7f8742,259024
-} keyremap;\7f8754,259467
-access_keymap_keyremap \7f8764,259811
-keyremap_step \7f8811,261453
-test_undefined \7f8867,262937
-read_key_sequence \7f8916,264864
-read_key_sequence_vs \7f9826,295824
-DEFUN ("read-key-sequence", Fread_key_sequence,\7f9885,297297
-DEFUN ("read-key-sequence", Fread_key_sequence,\7fread-key-sequence\ 19885,297297
-DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,\7f9938,299985
-DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,\7fread-key-sequence-vector\ 19938,299985
-detect_input_pending \7f9950,300491
-detect_input_pending_ignore_squeezables \7f9959,300657
-detect_input_pending_run_timers \7f9967,300873
-clear_input_pending \7f9985,301365
-requeued_events_pending_p \7f9997,301735
-DEFUN ("input-pending-p", Finput_pending_p,\7f10002,301816
-DEFUN ("input-pending-p", Finput_pending_p,\7finput-pending-p\ 110002,301816
-DEFUN ("recent-keys", Frecent_keys,\7f10024,302599
-DEFUN ("recent-keys", Frecent_keys,\7frecent-keys\ 110024,302599
-DEFUN ("this-command-keys", Fthis_command_keys,\7f10055,303520
-DEFUN ("this-command-keys", Fthis_command_keys,\7fthis-command-keys\ 110055,303520
-DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,\7f10068,303961
-DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,\7fthis-command-keys-vector\ 110068,303961
-DEFUN ("this-single-command-keys", Fthis_single_command_keys,\7f10080,304383
-DEFUN ("this-single-command-keys", Fthis_single_command_keys,\7fthis-single-command-keys\ 110080,304383
-DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,\7f10096,304958
-DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,\7fthis-single-command-raw-keys\ 110096,304958
-DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,\7f10109,305498
-DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,\7freset-this-command-lengths\ 110109,305498
-DEFUN ("clear-this-command-keys", Fclear_this_command_keys,\7f10136,306513
-DEFUN ("clear-this-command-keys", Fclear_this_command_keys,\7fclear-this-command-keys\ 110136,306513
-DEFUN ("recursion-depth", Frecursion_depth,\7f10158,307072
-DEFUN ("recursion-depth", Frecursion_depth,\7frecursion-depth\ 110158,307072
-DEFUN ("open-dribble-file", Fopen_dribble_file,\7f10169,307409
-DEFUN ("open-dribble-file", Fopen_dribble_file,\7fopen-dribble-file\ 110169,307409
-DEFUN ("discard-input", Fdiscard_input,\7f10203,308450
-DEFUN ("discard-input", Fdiscard_input,\7fdiscard-input\ 110203,308450
-DEFUN ("suspend-emacs", Fsuspend_emacs,\7f10225,308952
-DEFUN ("suspend-emacs", Fsuspend_emacs,\7fsuspend-emacs\ 110225,308952
-stuff_buffered_input \7f10285,311048
-set_waiting_for_input \7f10323,312019
-clear_waiting_for_input \7f10337,312393
-handle_interrupt_signal \7f10351,312757
-deliver_interrupt_signal \7f10378,313645
-static int volatile force_quit_count;\7f10387,313935
-handle_interrupt \7f10401,314417
-quit_throw_to_read_char \7f10541,318714
-DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,\7f10562,319291
-DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,\7fset-input-interrupt-mode\ 110562,319291
-DEFUN ("set-output-flow-control", Fset_output_flow_control,\7f10609,320519
-DEFUN ("set-output-flow-control", Fset_output_flow_control,\7fset-output-flow-control\ 110609,320519
-DEFUN ("set-input-meta-mode", Fset_input_meta_mode,\7f10643,321435
-DEFUN ("set-input-meta-mode", Fset_input_meta_mode,\7fset-input-meta-mode\ 110643,321435
-DEFUN ("set-quit-char", Fset_quit_char,\7f10694,322709
-DEFUN ("set-quit-char", Fset_quit_char,\7fset-quit-char\ 110694,322709
-DEFUN ("set-input-mode", Fset_input_mode,\7f10729,323573
-DEFUN ("set-input-mode", Fset_input_mode,\7fset-input-mode\ 110729,323573
-DEFUN ("current-input-mode", Fcurrent_input_mode,\7f10750,324462
-DEFUN ("current-input-mode", Fcurrent_input_mode,\7fcurrent-input-mode\ 110750,324462
-DEFUN ("posn-at-x-y", Fposn_at_x_y,\7f10787,325840
-DEFUN ("posn-at-x-y", Fposn_at_x_y,\7fposn-at-x-y\ 110787,325840
-DEFUN ("posn-at-point", Fposn_at_point,\7f10824,327063
-DEFUN ("posn-at-point", Fposn_at_point,\7fposn-at-point\ 110824,327063
-init_kboard \7f10861,328217
-allocate_kboard \7f10893,329287
-wipe_kboard \7f10909,329640
-delete_kboard \7f10917,329754
-init_keyboard \7f10942,330284
-struct event_head\7f11021,332699
-static const struct event_head head_table[\7fhead_table\ 111027,332750
-syms_of_keyboard \7f11045,333580
-  DEFVAR_LISP ("internal--top-level-message"\7f11058,333975
-  DEFVAR_LISP ("last-command-event"\7f11312,342176
-  DEFVAR_LISP ("last-nonmenu-event"\7f11315,342300
-  DEFVAR_LISP ("last-input-event"\7f11321,342639
-  DEFVAR_LISP ("unread-command-events"\7f11324,342733
-  DEFVAR_LISP ("unread-post-input-method-events"\7f11332,343193
-  DEFVAR_LISP ("unread-input-method-events"\7f11338,343532
-  DEFVAR_LISP ("meta-prefix-char"\7f11346,343901
-  DEFVAR_KBOARD ("last-command"\7f11351,344109
-  DEFVAR_KBOARD ("real-last-command"\7f11368,344790
-  DEFVAR_KBOARD ("last-repeatable-command"\7f11372,344976
-  DEFVAR_LISP ("this-command"\7f11378,345264
-  DEFVAR_LISP ("real-this-command"\7f11384,345501
-  DEFVAR_LISP ("this-command-keys-shift-translated"\7f11388,345683
-  DEFVAR_LISP ("this-original-command"\7f11396,346126
-  DEFVAR_INT ("auto-save-interval"\7f11403,346523
-  DEFVAR_LISP ("auto-save-timeout"\7f11408,346737
-  DEFVAR_LISP ("echo-keystrokes"\7f11415,347082
-  DEFVAR_INT ("polling-period"\7f11421,347353
-  DEFVAR_LISP ("double-click-time"\7f11428,347696
-  DEFVAR_INT ("double-click-fuzz"\7f11435,348032
-  DEFVAR_INT ("num-input-keys"\7f11446,348522
-  DEFVAR_INT ("num-nonmacro-input-events"\7f11452,348797
-  DEFVAR_LISP ("last-event-frame"\7f11457,349035
-  DEFVAR_LISP ("tty-erase-char"\7f11463,349314
-  DEFVAR_LISP ("help-char"\7f11466,349437
-  DEFVAR_LISP ("help-event-list"\7f11472,349720
-  DEFVAR_LISP ("help-form"\7f11477,349931
-  DEFVAR_LISP ("prefix-help-command"\7f11483,350179
-  DEFVAR_LISP ("top-level"\7f11489,350457
-  DEFVAR_KBOARD ("keyboard-translate-table"\7f11495,350678
-  DEFVAR_BOOL ("cannot-suspend"\7f11511,351491
-  DEFVAR_BOOL ("menu-prompting"\7f11516,351718
-  DEFVAR_LISP ("menu-prompt-more-char"\7f11526,352148
-  DEFVAR_INT ("extra-keyboard-modifiers"\7f11531,352394
-  DEFVAR_LISP ("deactivate-mark"\7f11545,353120
-  DEFVAR_LISP ("pre-command-hook"\7f11553,353489
-  DEFVAR_LISP ("post-command-hook"\7f11560,353844
-  DEFVAR_LISP ("echo-area-clear-hook"\7f11568,354207
-  DEFVAR_LISP ("lucid-menu-bar-dirty-flag"\7f11574,354422
-  DEFVAR_LISP ("menu-bar-final-items"\7f11578,354625
-  DEFVAR_LISP ("tool-bar-separator-image-expression"\7f11583,354875
-  DEFVAR_KBOARD ("overriding-terminal-local-map"\7f11589,355233
-  DEFVAR_LISP ("overriding-local-map"\7f11598,355655
-  DEFVAR_LISP ("overriding-local-map-menu-flag"\7f11607,356106
-  DEFVAR_LISP ("special-event-map"\7f11613,356445
-  DEFVAR_LISP ("track-mouse"\7f11617,356633
-  DEFVAR_KBOARD ("system-key-alist"\7f11620,356760
-  DEFVAR_KBOARD ("local-function-key-map"\7f11629,357141
-  DEFVAR_KBOARD ("input-decode-map"\7f11658,358600
-  DEFVAR_LISP ("function-key-map"\7f11675,359388
-  DEFVAR_LISP ("key-translation-map"\7f11683,359804
-  DEFVAR_LISP ("deferred-action-list"\7f11689,360148
-  DEFVAR_LISP ("deferred-action-function"\7f11694,360396
-  DEFVAR_LISP ("delayed-warnings-list"\7f11700,360695
-  DEFVAR_LISP ("timer-list"\7f11708,361103
-  DEFVAR_LISP ("timer-idle-list"\7f11712,361255
-  DEFVAR_LISP ("input-method-function"\7f11716,361418
-  DEFVAR_LISP ("input-method-previous-message"\7f11737,362387
-  DEFVAR_LISP ("show-help-function"\7f11744,362748
-  DEFVAR_LISP ("disable-point-adjustment"\7f11749,362980
-  DEFVAR_LISP ("global-disable-point-adjustment"\7f11761,363530
-  DEFVAR_LISP ("minibuffer-message-timeout"\7f11770,363896
-  DEFVAR_LISP ("throw-on-input"\7f11775,364174
-  DEFVAR_LISP ("command-error-function"\7f11781,364425
-  DEFVAR_LISP ("enable-disabled-menus-and-buttons"\7f11790,364912
-  DEFVAR_LISP ("select-active-regions"\7f11798,365239
-  DEFVAR_LISP ("saved-region-selection"\7f11807,365631
-  DEFVAR_LISP ("selection-inhibit-update-commands"\7f11815,366016
-  DEFVAR_LISP ("debug-on-event"\7f11825,366557
-keys_of_keyboard \7f11841,367118
-mark_kboards \7f11916,370437
-  DEFVAR_LISP ("internal--top-level-message",\7f\1\ 111058,333975
-  DEFVAR_LISP ("last-command-event",\7f\1\ 111312,342176
-  DEFVAR_LISP ("last-nonmenu-event",\7f\1\ 111315,342300
-  DEFVAR_LISP ("last-input-event",\7f\1\ 111321,342639
-  DEFVAR_LISP ("unread-command-events",\7f\1\ 111324,342733
-  DEFVAR_LISP ("unread-post-input-method-events",\7f\1\ 111332,343193
-  DEFVAR_LISP ("unread-input-method-events",\7f\1\ 111338,343532
-  DEFVAR_LISP ("meta-prefix-char",\7f\1\ 111346,343901
-  DEFVAR_KBOARD ("last-command",\7f\1\ 111351,344109
-  DEFVAR_KBOARD ("real-last-command",\7f\1\ 111368,344790
-  DEFVAR_KBOARD ("last-repeatable-command",\7f\1\ 111372,344976
-  DEFVAR_LISP ("this-command",\7f\1\ 111378,345264
-  DEFVAR_LISP ("real-this-command",\7f\1\ 111384,345501
-  DEFVAR_LISP ("this-command-keys-shift-translated",\7f\1\ 111388,345683
-  DEFVAR_LISP ("this-original-command",\7f\1\ 111396,346126
-  DEFVAR_INT ("auto-save-interval",\7f\1\ 111403,346523
-  DEFVAR_LISP ("auto-save-timeout",\7f\1\ 111408,346737
-  DEFVAR_LISP ("echo-keystrokes",\7f\1\ 111415,347082
-  DEFVAR_INT ("polling-period",\7f\1\ 111421,347353
-  DEFVAR_LISP ("double-click-time",\7f\1\ 111428,347696
-  DEFVAR_INT ("double-click-fuzz",\7f\1\ 111435,348032
-  DEFVAR_INT ("num-input-keys",\7f\1\ 111446,348522
-  DEFVAR_INT ("num-nonmacro-input-events",\7f\1\ 111452,348797
-  DEFVAR_LISP ("last-event-frame",\7f\1\ 111457,349035
-  DEFVAR_LISP ("tty-erase-char",\7f\1\ 111463,349314
-  DEFVAR_LISP ("help-char",\7f\1\ 111466,349437
-  DEFVAR_LISP ("help-event-list",\7f\1\ 111472,349720
-  DEFVAR_LISP ("help-form",\7f\1\ 111477,349931
-  DEFVAR_LISP ("prefix-help-command",\7f\1\ 111483,350179
-  DEFVAR_LISP ("top-level",\7f\1\ 111489,350457
-  DEFVAR_KBOARD ("keyboard-translate-table",\7f\1\ 111495,350678
-  DEFVAR_BOOL ("cannot-suspend",\7f\1\ 111511,351491
-  DEFVAR_BOOL ("menu-prompting",\7f\1\ 111516,351718
-  DEFVAR_LISP ("menu-prompt-more-char",\7f\1\ 111526,352148
-  DEFVAR_INT ("extra-keyboard-modifiers",\7f\1\ 111531,352394
-  DEFVAR_LISP ("deactivate-mark",\7f\1\ 111545,353120
-  DEFVAR_LISP ("pre-command-hook",\7f\1\ 111553,353489
-  DEFVAR_LISP ("post-command-hook",\7f\1\ 111560,353844
-  DEFVAR_LISP ("echo-area-clear-hook",\7f\1\ 111568,354207
-  DEFVAR_LISP ("lucid-menu-bar-dirty-flag",\7f\1\ 111574,354422
-  DEFVAR_LISP ("menu-bar-final-items",\7f\1\ 111578,354625
-  DEFVAR_LISP ("tool-bar-separator-image-expression",\7f\1\ 111583,354875
-  DEFVAR_KBOARD ("overriding-terminal-local-map",\7f\1\ 111589,355233
-  DEFVAR_LISP ("overriding-local-map",\7f\1\ 111598,355655
-  DEFVAR_LISP ("overriding-local-map-menu-flag",\7f\1\ 111607,356106
-  DEFVAR_LISP ("special-event-map",\7f\1\ 111613,356445
-  DEFVAR_LISP ("track-mouse",\7f\1\ 111617,356633
-  DEFVAR_KBOARD ("system-key-alist",\7f\1\ 111620,356760
-  DEFVAR_KBOARD ("local-function-key-map",\7f\1\ 111629,357141
-  DEFVAR_KBOARD ("input-decode-map",\7f\1\ 111658,358600
-  DEFVAR_LISP ("function-key-map",\7f\1\ 111675,359388
-  DEFVAR_LISP ("key-translation-map",\7f\1\ 111683,359804
-  DEFVAR_LISP ("deferred-action-list",\7f\1\ 111689,360148
-  DEFVAR_LISP ("deferred-action-function",\7f\1\ 111694,360396
-  DEFVAR_LISP ("delayed-warnings-list",\7f\1\ 111700,360695
-  DEFVAR_LISP ("timer-list",\7f\1\ 111708,361103
-  DEFVAR_LISP ("timer-idle-list",\7f\1\ 111712,361255
-  DEFVAR_LISP ("input-method-function",\7f\1\ 111716,361418
-  DEFVAR_LISP ("input-method-previous-message",\7f\1\ 111737,362387
-  DEFVAR_LISP ("show-help-function",\7f\1\ 111744,362748
-  DEFVAR_LISP ("disable-point-adjustment",\7f\1\ 111749,362980
-  DEFVAR_LISP ("global-disable-point-adjustment",\7f\1\ 111761,363530
-  DEFVAR_LISP ("minibuffer-message-timeout",\7f\1\ 111770,363896
-  DEFVAR_LISP ("throw-on-input",\7f\1\ 111775,364174
-  DEFVAR_LISP ("command-error-function",\7f\1\ 111781,364425
-  DEFVAR_LISP ("enable-disabled-menus-and-buttons",\7f\1\ 111790,364912
-  DEFVAR_LISP ("select-active-regions",\7f\1\ 111798,365239
-  DEFVAR_LISP ("saved-region-selection",\7f\1\ 111807,365631
-  DEFVAR_LISP ("selection-inhibit-update-commands",\7f\1\ 111815,366016
-  DEFVAR_LISP ("debug-on-event",\7f\1\ 111825,366557
-\f
-c-src/emacs/src/lisp.h,20276
-#define EMACS_LISP_H\7f22,801
-#define DECLARE_GDB_SYM(\7f47,1422
-# define DEFINE_GDB_SYMBOL_BEGIN(\7f49,1509
-# define DEFINE_GDB_SYMBOL_END(\7f50,1579
-# define DEFINE_GDB_SYMBOL_BEGIN(\7f52,1626
-# define DEFINE_GDB_SYMBOL_END(\7f53,1703
-#undef min\7f57,1791
-#undef max\7f58,1802
-#define max(\7f59,1813
-#define min(\7f60,1855
-#define ARRAYELTS(\7f63,1937
-#define GCTYPEBITS \7f67,2080
-DEFINE_GDB_SYMBOL_BEGIN \7fGCTYPEBITS\ 166,2038
-# define NONPOINTER_BITS \7f78,2568
-# define NONPOINTER_BITS \7f80,2601
-typedef int EMACS_INT;\7f91,3024
-typedef unsigned int EMACS_UINT;\7f92,3047
-#  define EMACS_INT_MAX \7f93,3080
-#  define pI \7f94,3112
-typedef long int EMACS_INT;\7f96,3204
-typedef unsigned long EMACS_UINT;\7f97,3232
-#  define EMACS_INT_MAX \7f98,3266
-#  define pI \7f99,3299
-typedef long long int EMACS_INT;\7f103,3478
-typedef unsigned long long int EMACS_UINT;\7f104,3511
-#  define EMACS_INT_MAX \7f105,3554
-#  define pI \7f106,3588
-enum {  BOOL_VECTOR_BITS_PER_CHAR \7f114,3805
-#define BOOL_VECTOR_BITS_PER_CHAR \7f115,3841
-typedef size_t bits_word;\7f123,4166
-# define BITS_WORD_MAX \7f124,4192
-enum { BITS_PER_BITS_WORD \7f125,4224
-typedef unsigned char bits_word;\7f127,4291
-# define BITS_WORD_MAX \7f128,4324
-enum { BITS_PER_BITS_WORD \7f129,4387
-    BITS_PER_CHAR \7f136,4571
-    BITS_PER_SHORT \7f137,4606
-    BITS_PER_LONG \7f138,4658
-    BITS_PER_EMACS_INT \7f139,4713
-typedef intmax_t printmax_t;\7f148,5090
-typedef uintmax_t uprintmax_t;\7f149,5119
-# define pMd \7f150,5150
-# define pMu \7f151,5171
-typedef EMACS_INT printmax_t;\7f153,5198
-typedef EMACS_UINT uprintmax_t;\7f154,5228
-# define pMd \7f155,5260
-# define pMu \7f156,5279
-# define pD \7f165,5665
-# define pD \7f167,5710
-# define pD \7f169,5757
-# define pD \7f171,5780
-# define eassert(\7f200,7063
-# define eassume(\7f201,7141
-# define eassert(\7f208,7320
-# define eassume(\7f212,7451
-enum Lisp_Bits\7f239,8520
-#define GCALIGNMENT \7f243,8648
-    VALBITS \7f246,8743
-    INTTYPEBITS \7f249,8839
-    FIXNUM_BITS \7f252,8946
-#define VAL_MAX \7f263,9328
-#define USE_LSB_TAG \7f271,9778
-DEFINE_GDB_SYMBOL_BEGIN \7fUSE_LSB_TAG\ 1270,9734
-# define alignas(\7f281,10078
-# define GCALIGNED \7f288,10228
-# define GCALIGNED \7f290,10293
-# define lisp_h_XLI(\7f327,11643
-# define lisp_h_XIL(\7f328,11674
-# define lisp_h_XLI(\7f330,11725
-# define lisp_h_XIL(\7f331,11752
-#define lisp_h_CHECK_LIST_CONS(\7f333,11786
-#define lisp_h_CHECK_NUMBER(\7f334,11857
-#define lisp_h_CHECK_SYMBOL(\7f335,11928
-#define lisp_h_CHECK_TYPE(\7f336,11997
-#define lisp_h_CONSP(\7f338,12108
-#define lisp_h_EQ(\7f339,12157
-#define lisp_h_FLOATP(\7f340,12202
-#define lisp_h_INTEGERP(\7f341,12253
-#define lisp_h_MARKERP(\7f342,12334
-#define lisp_h_MISCP(\7f343,12409
-#define lisp_h_NILP(\7f344,12458
-#define lisp_h_SET_SYMBOL_VAL(\7f345,12494
-#define lisp_h_SYMBOL_CONSTANT_P(\7f347,12608
-#define lisp_h_SYMBOL_VAL(\7f348,12672
-#define lisp_h_SYMBOLP(\7f350,12773
-#define lisp_h_VECTORLIKEP(\7f351,12826
-#define lisp_h_XCAR(\7f352,12887
-#define lisp_h_XCDR(\7f353,12925
-#define lisp_h_XCONS(\7f354,12965
-#define lisp_h_XHASH(\7f356,13060
-#define lisp_h_XPNTR(\7f357,13094
-# define lisp_h_check_cons_list(\7f360,13222
-# define lisp_h_make_number(\7f363,13290
-# define lisp_h_XFASTINT(\7f365,13393
-# define lisp_h_XINT(\7f366,13430
-# define lisp_h_XSYMBOL(\7f367,13479
-# define lisp_h_XTYPE(\7f371,13632
-# define lisp_h_XUNTAG(\7f372,13697
-# define XLI(\7f381,14087
-# define XIL(\7f382,14118
-# define CHECK_LIST_CONS(\7f383,14149
-# define CHECK_NUMBER(\7f384,14210
-# define CHECK_SYMBOL(\7f385,14259
-# define CHECK_TYPE(\7f386,14308
-# define CONSP(\7f387,14383
-# define EQ(\7f388,14418
-# define FLOATP(\7f389,14453
-# define INTEGERP(\7f390,14490
-# define MARKERP(\7f391,14531
-# define MISCP(\7f392,14570
-# define NILP(\7f393,14605
-# define SET_SYMBOL_VAL(\7f394,14638
-# define SYMBOL_CONSTANT_P(\7f395,14701
-# define SYMBOL_VAL(\7f396,14764
-# define SYMBOLP(\7f397,14813
-# define VECTORLIKEP(\7f398,14852
-# define XCAR(\7f399,14899
-# define XCDR(\7f400,14932
-# define XCONS(\7f401,14965
-# define XHASH(\7f402,15000
-# define XPNTR(\7f403,15035
-#  define check_cons_list(\7f405,15098
-#  define make_number(\7f408,15177
-#  define XFASTINT(\7f409,15225
-#  define XINT(\7f410,15267
-#  define XSYMBOL(\7f411,15301
-#  define XTYPE(\7f412,15341
-#  define XUNTAG(\7f413,15377
-#define LISP_MACRO_DEFUN(\7f421,15673
-#define LISP_MACRO_DEFUN_VOID(\7f425,15846
-#define INTMASK \7f437,16290
-#define case_Lisp_Int \7f438,16343
-#define ENUM_BF(\7f445,16682
-#define ENUM_BF(\7f447,16723
-enum Lisp_Type\7f451,16764
-    Lisp_Symbol \7f454,16852
-    Lisp_Misc \7f458,16994
-    Lisp_Int0 \7f461,17068
-    Lisp_Int1 \7f462,17087
-    Lisp_String \7f466,17265
-    Lisp_Vectorlike \7f472,17544
-    Lisp_Cons \7f475,17633
-    Lisp_Float \7f477,17671
-enum Lisp_Misc_Type\7f485,18017
-    Lisp_Misc_Free \7f487,18041
-    Lisp_Misc_Marker,\7f488,18070
-    Lisp_Misc_Overlay,\7f489,18092
-    Lisp_Misc_Save_Value,\7f490,18115
-    Lisp_Misc_Finalizer,\7f491,18141
-    Lisp_Misc_Float,\7f494,18276
-    Lisp_Misc_Limit\7f496,18360
-enum Lisp_Fwd_Type\7f502,18544
-    Lisp_Fwd_Int,\7f504,18567
-    Lisp_Fwd_Bool,\7f505,18620
-    Lisp_Fwd_Obj,\7f506,18671
-    Lisp_Fwd_Buffer_Obj,\7f507,18730
-    Lisp_Fwd_Kboard_Obj        \7f508,18801
-typedef struct { EMACS_INT i; } Lisp_Object;\7f567,21772
-#define LISP_INITIALLY(\7f569,21818
-#undef CHECK_LISP_OBJECT_TYPE\7f571,21849
-enum CHECK_LISP_OBJECT_TYPE \7f572,21879
-enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE \7f572,21879
-typedef EMACS_INT Lisp_Object;\7f577,22055
-#define LISP_INITIALLY(\7f578,22086
-enum CHECK_LISP_OBJECT_TYPE \7f579,22116
-enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE \7f579,22116
-#define LISP_INITIALLY_ZERO \7f582,22217
-enum symbol_interned\7f639,24190
-  SYMBOL_UNINTERNED \7f641,24213
-  SYMBOL_INTERNED \7f642,24238
-  SYMBOL_INTERNED_IN_INITIAL_OBARRAY \7f643,24261
-enum symbol_redirect\7f646,24306
-  SYMBOL_PLAINVAL \7f648,24329
-  SYMBOL_VARALIAS \7f649,24353
-  SYMBOL_LOCALIZED \7f650,24377
-  SYMBOL_FORWARDED \7f651,24401
-struct Lisp_Symbol\7f654,24428
-#define EXFUN(\7f707,26243
-#define DEFUN_ARGS_MANY        \7f712,26437
-#define DEFUN_ARGS_UNEVALLED   \7f713,26489
-#define DEFUN_ARGS_0   \7f714,26532
-#define DEFUN_ARGS_1   \7f715,26560
-#define DEFUN_ARGS_2   \7f716,26595
-#define DEFUN_ARGS_3   \7f717,26643
-#define DEFUN_ARGS_4   \7f718,26704
-#define DEFUN_ARGS_5   \7f719,26778
-#define DEFUN_ARGS_6   \7f721,26871
-#define DEFUN_ARGS_7   \7f723,26977
-#define DEFUN_ARGS_8   \7f725,27096
-#define TAG_PTR(\7f729,27287
-#define TAG_SYMOFFSET(\7f734,27534
-#define XLI_BUILTIN_LISPSYM(\7f741,27833
-#define DEFINE_LISP_SYMBOL(\7f746,28092
-# define DEFINE_NON_NIL_Q_SYMBOL_MACROS \7f755,28563
-LISP_MACRO_DEFUN \7f762,28768
-# define ARRAY_MARK_FLAG \7f768,29015
-# define PSEUDOVECTOR_FLAG \7f774,29258
-enum pvec_type\7f780,29559
-  PVEC_NORMAL_VECTOR,\7f782,29576
-  PVEC_FREE,\7f783,29598
-  PVEC_PROCESS,\7f784,29611
-  PVEC_FRAME,\7f785,29627
-  PVEC_WINDOW,\7f786,29641
-  PVEC_BOOL_VECTOR,\7f787,29656
-  PVEC_BUFFER,\7f788,29676
-  PVEC_HASH_TABLE,\7f789,29691
-  PVEC_TERMINAL,\7f790,29710
-  PVEC_WINDOW_CONFIGURATION,\7f791,29727
-  PVEC_SUBR,\7f792,29756
-  PVEC_OTHER,\7f793,29769
-  PVEC_COMPILED,\7f795,29847
-  PVEC_CHAR_TABLE,\7f796,29864
-  PVEC_SUB_CHAR_TABLE,\7f797,29883
-  PVEC_FONT \7f798,29906
-enum More_Lisp_Bits\7f801,29982
-    PSEUDOVECTOR_SIZE_BITS \7f808,30373
-    PSEUDOVECTOR_SIZE_MASK \7f809,30406
-    PSEUDOVECTOR_REST_BITS \7f813,30616
-    PSEUDOVECTOR_REST_MASK \7f814,30649
-    PSEUDOVECTOR_AREA_BITS \7f818,30814
-    PVEC_TYPE_MASK \7f819,30892
-# define VALMASK \7f829,31293
-DEFINE_GDB_SYMBOL_BEGIN \7fVALMASK\ 1828,31248
-#define MOST_POSITIVE_FIXNUM \7f834,31523
-#define MOST_NEGATIVE_FIXNUM \7f835,31583
-XINT \7f874,32675
-XFASTINT \7f889,33026
-XSYMBOL \7f899,33254
-XTYPE \7f910,33472
-XUNTAG \7f918,33652
-LISP_MACRO_DEFUN \7f927,33848
-LISP_MACRO_DEFUN \7f940,34233
-#define FIXNUM_OVERFLOW_P(\7f958,34846
-LISP_MACRO_DEFUN \7fFIXNUM_OVERFLOW_P\ 1952,34623
-LISP_MACRO_DEFUN \7f970,35162
-XSTRING \7f980,35382
-#define SYMBOL_INDEX(\7f988,35566
-XFLOAT \7f991,35627
-XPROCESS \7f1000,35769
-XWINDOW \7f1007,35886
-XTERMINAL \7f1014,36003
-XSUBR \7f1021,36125
-XBUFFER \7f1028,36236
-XCHAR_TABLE \7f1035,36360
-XSUB_CHAR_TABLE \7f1042,36497
-XBOOL_VECTOR \7f1049,36639
-make_lisp_ptr \7f1058,36818
-make_lisp_symbol \7f1066,37004
-builtin_lisp_symbol \7f1074,37188
-#define XSETINT(\7f1079,37270
-#define XSETFASTINT(\7f1080,37316
-#define XSETCONS(\7f1081,37366
-#define XSETVECTOR(\7f1082,37426
-#define XSETSTRING(\7f1083,37494
-#define XSETSYMBOL(\7f1084,37558
-#define XSETFLOAT(\7f1085,37612
-#define XSETMISC(\7f1086,37674
-#define XSETPVECTYPE(\7f1090,37763
-#define XSETPVECTYPESIZE(\7f1092,37879
-#define XSETPSEUDOVECTOR(\7f1099,38176
-#define XSETTYPED_PSEUDOVECTOR(\7f1105,38360
-#define XSETWINDOW_CONFIGURATION(\7f1110,38570
-#define XSETPROCESS(\7f1112,38666
-#define XSETWINDOW(\7f1113,38732
-#define XSETTERMINAL(\7f1114,38796
-#define XSETSUBR(\7f1115,38864
-#define XSETCOMPILED(\7f1116,38924
-#define XSETBUFFER(\7f1117,38992
-#define XSETCHAR_TABLE(\7f1118,39056
-#define XSETBOOL_VECTOR(\7f1119,39128
-#define XSETSUB_CHAR_TABLE(\7f1120,39202
-XINTPTR \7f1128,39572
-make_pointer_integer \7f1134,39652
-LISP_MACRO_DEFUN_VOID \7f1143,39817
-typedef struct interval *INTERVAL;\7fINTERVAL\ 11149,39978
-xcar_addr \7f1174,40751
-xcdr_addr \7f1179,40828
-LISP_MACRO_DEFUN \7f1185,40922
-XSETCDR \7f1198,41298
-CAR \7f1205,41448
-CDR \7f1212,41582
-CAR_SAFE \7f1221,41782
-CDR_SAFE \7f1226,41868
-STRING_MULTIBYTE \7f1243,42241
-#define STRING_BYTES_BOUND \7f1261,43048
-#define STRING_SET_UNIBYTE(\7f1265,43192
-#define STRING_SET_MULTIBYTE(\7f1275,43507
-SDATA \7f1286,43821
-SSDATA \7f1291,43899
-SREF \7f1297,44028
-SSET \7f1302,44119
-SCHARS \7f1307,44233
-STRING_BYTES \7f1316,44406
-SBYTES \7f1326,44586
-STRING_SET_CHARS \7f1331,44672
-struct vectorlike_header\7f1343,45223
-struct Lisp_Vector\7f1369,46473
-    ALIGNOF_STRUCT_LISP_VECTOR\7f1378,46672
-struct Lisp_Bool_Vector\7f1384,46855
-bool_vector_size \7f1399,47376
-bool_vector_data \7f1407,47514
-bool_vector_uchar_data \7f1413,47608
-bool_vector_words \7f1421,47794
-bool_vector_bytes \7f1428,47989
-bool_vector_bitref \7f1437,48229
-bool_vector_ref \7f1445,48469
-bool_vector_set \7f1453,48609
-    header_size \7f1471,49038
-    bool_header_size \7f1472,49097
-    word_size \7f1473,49162
-AREF \7f1479,49275
-aref_addr \7f1485,49382
-ASIZE \7f1491,49492
-ASET \7f1497,49574
-gc_aset \7f1504,49733
-enum { NIL_IS_ZERO \7f1515,50260
-memclear \7f1520,50455
-#define VECSIZE(\7f1531,50753
-#define PSEUDOVECSIZE(\7f1538,51038
-#define UNSIGNED_CMP(\7f1546,51471
-#define ASCII_CHAR_P(\7f1552,51725
-enum CHARTAB_SIZE_BITS\7f1565,52480
-    CHARTAB_SIZE_BITS_0 \7f1567,52507
-    CHARTAB_SIZE_BITS_1 \7f1568,52536
-    CHARTAB_SIZE_BITS_2 \7f1569,52565
-    CHARTAB_SIZE_BITS_3 \7f1570,52594
-struct Lisp_Char_Table\7f1575,52663
-struct Lisp_Sub_Char_Table\7f1606,53743
-CHAR_TABLE_REF_ASCII \7f1628,54557
-CHAR_TABLE_REF \7f1648,55104
-CHAR_TABLE_SET \7f1658,55393
-struct Lisp_Subr\7f1670,55777
-enum char_table_specials\7f1692,56789
-    CHAR_TABLE_STANDARD_SLOTS \7f1697,56984
-    SUB_CHAR_TABLE_OFFSET \7f1701,57205
-CHAR_TABLE_EXTRA_SLOTS \7f1707,57368
-LISP_MACRO_DEFUN \7f1723,57912
-SYMBOL_BLV \7f1732,58172
-SYMBOL_FWD \7f1738,58307
-LISP_MACRO_DEFUN_VOID \7f1744,58419
-SET_SYMBOL_BLV \7f1754,58682
-SET_SYMBOL_FWD \7f1760,58841
-SYMBOL_NAME \7f1767,58992
-SYMBOL_INTERNED_P \7f1775,59121
-SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P \7f1783,59290
-#define DEFSYM(\7f1796,59800
-LISP_MACRO_DEFUN \7fDEFSYM\ 11792,59621
-struct hash_table_test\7f1805,60053
-struct Lisp_Hash_Table\7f1823,60546
-XHASH_TABLE \7f1880,62522
-#define XSET_HASH_TABLE(\7f1885,62593
-HASH_TABLE_P \7f1889,62694
-HASH_KEY \7f1896,62851
-HASH_VALUE \7f1903,63031
-HASH_NEXT \7f1911,63245
-HASH_HASH \7f1918,63422
-HASH_INDEX \7f1926,63668
-HASH_TABLE_SIZE \7f1933,63817
-enum DEFAULT_HASH_SIZE \7f1940,63947
-enum DEFAULT_HASH_SIZE { DEFAULT_HASH_SIZE \7f1940,63947
-static double const DEFAULT_REHASH_THRESHOLD \7f1946,64167
-static double const DEFAULT_REHASH_SIZE \7f1950,64290
-sxhash_combine \7f1956,64456
-SXHASH_REDUCE \7f1964,64639
-struct Lisp_Misc_Any   \7f1971,64797
-struct Lisp_Marker\7f1978,64971
-struct Lisp_Overlay\7f2021,66832
-    SAVE_UNUSED,\7f2047,67635
-    SAVE_INTEGER,\7f2048,67652
-    SAVE_FUNCPOINTER,\7f2049,67670
-    SAVE_POINTER,\7f2050,67692
-    SAVE_OBJECT\7f2051,67710
-enum { SAVE_SLOT_BITS \7f2055,67795
-enum { SAVE_VALUE_SLOTS \7f2058,67892
-enum { SAVE_TYPE_BITS \7f2062,68000
-enum Lisp_Save_Type\7f2064,68066
-    SAVE_TYPE_INT_INT \7f2066,68090
-    SAVE_TYPE_INT_INT_INT\7f2067,68163
-    SAVE_TYPE_OBJ_OBJ \7f2069,68253
-    SAVE_TYPE_OBJ_OBJ_OBJ \7f2070,68324
-    SAVE_TYPE_OBJ_OBJ_OBJ_OBJ\7f2071,68405
-    SAVE_TYPE_PTR_INT \7f2073,68500
-    SAVE_TYPE_PTR_OBJ \7f2074,68573
-    SAVE_TYPE_PTR_PTR \7f2075,68645
-    SAVE_TYPE_FUNCPTR_PTR_OBJ\7f2076,68718
-    SAVE_TYPE_MEMORY \7f2080,68876
-typedef void (*voidfuncptr)\7fvoidfuncptr\ 12108,69830
-struct Lisp_Save_Value\7f2110,69867
-save_type \7f2134,70746
-XSAVE_POINTER \7f2143,70976
-set_save_pointer \7f2149,71138
-XSAVE_FUNCPOINTER \7f2155,71320
-XSAVE_INTEGER \7f2164,71540
-set_save_integer \7f2170,71702
-XSAVE_OBJECT \7f2179,71923
-struct Lisp_Finalizer\7f2186,72100
-struct Lisp_Free\7f2201,72575
-union Lisp_Misc\7f2212,72876
-XMISC \7f2223,73175
-XMISCANY \7f2229,73264
-XMISCTYPE \7f2236,73373
-XMARKER \7f2242,73461
-XOVERLAY \7f2249,73576
-XSAVE_VALUE \7f2256,73697
-XFINALIZER \7f2263,73826
-struct Lisp_Intfwd\7f2274,74111
-struct Lisp_Boolfwd\7f2284,74405
-struct Lisp_Objfwd\7f2294,74696
-struct Lisp_Buffer_Objfwd\7f2302,74928
-struct Lisp_Buffer_Local_Value\7f2334,76464
-struct Lisp_Kboard_Objfwd\7f2362,77723
-union Lisp_Fwd\7f2368,77832
-XFWDTYPE \7f2378,78078
-XBUFFER_OBJFWD \7f2384,78174
-struct Lisp_Float\7f2391,78310
-XFLOAT_DATA \7f2401,78428
-    IEEE_FLOATING_POINT\7f2415,78937
-#define _UCHAR_T\7f2423,79260
-typedef unsigned char UCHAR;\7f2424,79277
-enum Lisp_Compiled\7f2429,79360
-    COMPILED_ARGLIST \7f2431,79383
-    COMPILED_BYTECODE \7f2432,79409
-    COMPILED_CONSTANTS \7f2433,79436
-    COMPILED_STACK_DEPTH \7f2434,79464
-    COMPILED_DOC_STRING \7f2435,79494
-    COMPILED_INTERACTIVE \7f2436,79523
-enum char_bits\7f2443,79825
-    CHAR_ALT \7f2445,79844
-    CHAR_SUPER \7f2446,79870
-    CHAR_HYPER \7f2447,79898
-    CHAR_SHIFT \7f2448,79926
-    CHAR_CTL \7f2449,79954
-    CHAR_META \7f2450,79980
-    CHAR_MODIFIER_MASK \7f2452,80008
-    CHARACTERBITS \7f2457,80203
-LISP_MACRO_DEFUN \7f2462,80261
-NATNUMP \7f2470,80403
-RANGED_INTEGERP \7f2476,80484
-#define TYPE_RANGED_INTEGERP(\7f2481,80606
-LISP_MACRO_DEFUN \7f2486,80791
-VECTORP \7f2500,81264
-OVERLAYP \7f2505,81367
-SAVE_VALUEP \7f2510,81466
-FINALIZERP \7f2516,81572
-AUTOLOADP \7f2522,81676
-BUFFER_OBJFWDP \7f2528,81767
-PSEUDOVECTOR_TYPEP \7f2534,81865
-PSEUDOVECTORP \7f2542,82118
-WINDOW_CONFIGURATIONP \7f2558,82470
-PROCESSP \7f2564,82580
-WINDOWP \7f2570,82664
-TERMINALP \7f2576,82746
-SUBRP \7f2582,82832
-COMPILEDP \7f2588,82910
-BUFFERP \7f2594,82996
-CHAR_TABLE_P \7f2600,83078
-SUB_CHAR_TABLE_P \7f2606,83169
-BOOL_VECTOR_P \7f2612,83268
-FRAMEP \7f2618,83361
-IMAGEP \7f2625,83478
-ARRAYP \7f2632,83583
-CHECK_LIST \7f2638,83702
-LISP_MACRO_DEFUN_VOID \7f2643,83783
-CHECK_STRING_CAR \7f2653,84080
-CHECK_CONS \7f2658,84184
-CHECK_VECTOR \7f2663,84264
-CHECK_BOOL_VECTOR \7f2668,84350
-CHECK_VECTOR_OR_STRING \7f2674,84527
-CHECK_ARRAY \7f2683,84701
-CHECK_BUFFER \7f2688,84809
-CHECK_WINDOW \7f2693,84895
-CHECK_PROCESS \7f2699,85001
-CHECK_NATNUM \7f2705,85097
-#define CHECK_RANGED_INTEGER(\7f2710,85174
-#define CHECK_TYPE_RANGED_INTEGER(\7f2721,85557
-#define CHECK_NUMBER_COERCE_MARKER(\7f2729,85827
-XFLOATINT \7f2738,86080
-CHECK_NUMBER_OR_FLOAT \7f2744,86151
-#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(\7f2749,86250
-CHECK_NUMBER_CAR \7f2760,86660
-CHECK_NUMBER_CDR \7f2768,86782
-#define DEFUN(\7f2803,88377
-#define DEFUN(\7f2812,88845
-FUNCTIONP \7f2822,89200
-enum maxargs\7f2831,89395
-    MANY \7f2833,89412
-    UNEVALLED \7f2834,89427
-#define CALLMANY(\7f2838,89530
-#define CALLN(\7f2844,89883
-#define DEFVAR_LISP(\7f2869,91088
-#define DEFVAR_LISP_NOPRO(\7f2874,91260
-#define DEFVAR_BOOL(\7f2879,91442
-#define DEFVAR_INT(\7f2884,91615
-#define DEFVAR_BUFFER_DEFAULTS(\7f2890,91786
-#define DEFVAR_KBOARD(\7f2896,91990
-typedef jmp_buf sys_jmp_buf;\7f2906,92314
-# define sys_setjmp(\7f2907,92343
-# define sys_longjmp(\7f2908,92378
-typedef sigjmp_buf sys_jmp_buf;\7f2910,92450
-# define sys_setjmp(\7f2911,92482
-# define sys_longjmp(\7f2912,92522
-typedef jmp_buf sys_jmp_buf;\7f2916,92681
-# define sys_setjmp(\7f2917,92710
-# define sys_longjmp(\7f2918,92744
-enum specbind_tag \7f2943,93796
-  SPECPDL_UNWIND,\7f2944,93816
-  SPECPDL_UNWIND_PTR,\7f2945,93885
-  SPECPDL_UNWIND_INT,\7f2946,93936
-  SPECPDL_UNWIND_VOID,\7f2947,93984
-  SPECPDL_BACKTRACE,\7f2948,94038
-  SPECPDL_LET,\7f2949,94096
-  SPECPDL_LET_LOCAL,\7f2951,94226
-  SPECPDL_LET_DEFAULT  \7f2952,94283
-union specbinding\7f2955,94355
-SPECPDL_INDEX \7f2996,95379
-enum handlertype \7f3021,96401
-enum handlertype { CATCHER,\7f3021,96401
-enum handlertype { CATCHER, CONDITION_CASE \7f3021,96401
-struct handler\7f3023,96448
-#define PUSH_HANDLER(\7f3053,97437
-#define QUIT   \7f3101,99214
-#define QUITP \7f3112,99464
-struct gcpro\7f3132,100307
-#define GC_USE_GCPROS_AS_BEFORE        \7f3171,101288
-#define GC_MAKE_GCPROS_NOOPS   \7f3172,101323
-#define GC_MARK_STACK_CHECK_GCPROS     \7f3173,101355
-#define GC_USE_GCPROS_CHECK_ZOMBIES    \7f3174,101392
-#define GC_MARK_STACK \7f3177,101453
-#define BYTE_MARK_STACK \7f3181,101553
-#define GCPRO1(\7f3190,101824
-#define GCPRO2(\7f3191,101864
-#define GCPRO3(\7f3192,101930
-#define GCPRO4(\7f3194,102025
-#define GCPRO5(\7f3196,102145
-#define GCPRO6(\7f3198,102290
-#define GCPRO7(\7f3201,102465
-#define UNGCPRO \7f3202,102544
-#define GCPRO1(\7f3208,102644
-#define GCPRO2(\7f3212,102766
-#define GCPRO3(\7f3217,102958
-#define GCPRO4(\7f3223,103220
-#define GCPRO5(\7f3230,103551
-#define GCPRO6(\7f3238,103952
-#define GCPRO7(\7f3247,104422
-#define UNGCPRO \7f3257,104962
-#define GCPRO1(\7f3263,105056
-#define GCPRO2(\7f3269,105290
-#define GCPRO3(\7f3278,105708
-#define GCPRO4(\7f3289,106265
-#define GCPRO5(\7f3302,106963
-#define GCPRO6(\7f3317,107803
-#define GCPRO7(\7f3334,108784
-#define UNGCPRO        \7f3353,109907
-#define RETURN_UNGCPRO(\7f3363,110174
-vcopy \7f3384,110648
-set_hash_key_slot \7f3393,110923
-set_hash_value_slot \7f3399,111062
-set_symbol_function \7f3408,111297
-set_symbol_plist \7f3414,111412
-set_symbol_next \7f3420,111515
-blv_found \7f3428,111688
-set_overlay_plist \7f3437,111871
-string_intervals \7f3445,112022
-set_string_intervals \7f3453,112144
-set_char_table_defalt \7f3462,112346
-set_char_table_purpose \7f3467,112458
-set_char_table_extras \7f3475,112627
-set_char_table_contents \7f3482,112836
-set_sub_char_table_contents \7f3489,113031
-enum Arith_Comparison \7f3497,113294
-  ARITH_EQUAL,\7f3498,113318
-  ARITH_NOTEQUAL,\7f3499,113333
-  ARITH_LESS,\7f3500,113351
-  ARITH_GRTR,\7f3501,113365
-  ARITH_LESS_OR_EQUAL,\7f3502,113379
-  ARITH_GRTR_OR_EQUAL\7f3503,113402
-#define INTEGER_TO_CONS(\7f3511,113753
-#define CONS_TO_INTEGER(\7f3529,114616
-enum { NEXT_ALMOST_PRIME_LIMIT \7f3573,116320
-extern EMACS_INT next_almost_prime \7f3574,116359
-enum constype \7f3739,123811
-enum constype {CONSTYPE_HEAP,\7fCONSTYPE_HEAP\ 13739,123811
-enum constype {CONSTYPE_HEAP, CONSTYPE_PURE}\7fCONSTYPE_PURE\ 13739,123811
-list2i \7f3745,124001
-list3i \7f3751,124110
-list4i \7f3757,124249
-extern Lisp_Object make_formatted_string \7f3767,124625
-build_pure_c_string \7f3792,125653
-build_string \7f3801,125858
-make_uninit_vector \7f3820,126429
-make_uninit_sub_char_table \7f3833,126648
-#define ALLOCATE_PSEUDOVECTOR(\7f3850,127192
-#define ALLOCATE_ZEROED_PSEUDOVECTOR(\7f3858,127528
-INLINE void \7f3890,128934
-extern void *r_alloc \7fr_alloc\ 13895,129055
-#define FLOAT_TO_STRING_BUFSIZE \7f3927,130518
-intern \7f3968,132125
-intern_c_string \7f3974,132213
-extern _Noreturn void error \7f4034,135592
-fast_string_match_ignore_case \7f4136,140080
-INLINE void fixup_locale \7f4241,143845
-INLINE void synchronize_system_messages_locale \7f4242,143880
-INLINE void synchronize_system_time_locale \7f4243,143937
-#define IS_DAEMON \7f4257,144410
-#define DAEMON_RUNNING \7f4258,144450
-#define IS_DAEMON \7f4261,144549
-#define DAEMON_RUNNING \7f4262,144594
-# define WAIT_READING_MAX \7f4281,145413
-# define WAIT_READING_MAX \7f4283,145485
-extern _Noreturn void emacs_abort \7f4374,148377
-egetenv \7f4532,152800
-#define eabs(\7f4545,153296
-#define make_fixnum_or_float(\7f4550,153429
-enum MAX_ALLOCA \7f4556,153680
-enum MAX_ALLOCA { MAX_ALLOCA \7f4556,153680
-extern void *record_xmalloc \7frecord_xmalloc\ 14558,153725
-#define USE_SAFE_ALLOCA        \7f4560,153791
-#define AVAIL_ALLOCA(\7f4564,153924
-#define SAFE_ALLOCA(\7f4568,154035
-#define SAFE_NALLOCA(\7f4576,154376
-#define SAFE_ALLOCA_STRING(\7f4590,154852
-#define SAFE_FREE(\7f4598,155104
-#define SAFE_ALLOCA_LISP(\7f4625,155682
-# define USE_STACK_LISP_OBJECTS \7f4652,156804
-# undef USE_STACK_LISP_OBJECTS\7f4658,156970
-# define USE_STACK_LISP_OBJECTS \7f4659,157001
-enum { defined_GC_CHECK_STRING_BYTES \7f4663,157076
-enum { defined_GC_CHECK_STRING_BYTES \7f4665,157129
-union Aligned_Cons\7f4670,157263
-union Aligned_String\7f4676,157343
-    USE_STACK_CONS \7f4689,157698
-    USE_STACK_STRING \7f4691,157804
-#define STACK_CONS(\7f4699,158141
-#define AUTO_CONS_EXPR(\7f4701,158238
-#define AUTO_CONS(\7f4709,158601
-#define AUTO_LIST1(\7f4710,158672
-#define AUTO_LIST2(\7f4712,158780
-#define AUTO_LIST3(\7f4716,158935
-#define AUTO_LIST4(\7f4720,159110
-# define verify_ascii(\7f4732,159501
-#define AUTO_STRING(\7f4740,159809
-#define FOR_EACH_TAIL(\7f4752,160273
-#define FOR_EACH_ALIST_VALUE(\7f4766,160764
-maybe_gc \7f4774,161051
-functionp \7f4784,161290
-\f
-c-src/machsyscalls.c,23
-#define        SYSCALL(\7f6,113
-\f
-c-src/machsyscalls.h,159
-SYSCALL (mach_msg_trap,\7f1,0
-SYSCALL (mach_reply_port,\7f13,314
-SYSCALL (mach_thread_self,\7f18,377
-SYSCALL (mach_task_self,\7f23,441
-SYSCALL (mach_host_self,\7f28,503
-\f
-c-src/h.h,1850
-   ELEM_I/\7fELEM_I\ 13,15
-} Fails_t;\7f5,85
-typedef void Lang_function \7f6,96
-typedef struct tpcmd\7f8,147
-#define ggg \7f10,170
-tpcmd;\7f15,209
-typedef struct foobar2_ \7f16,216
-} foobar2;\7f20,307
-    DEVICE_SWP,\7f23,333
-    DEVICE_LAST\7f24,349
-} bsp_DevId;\7f25,365
-  struct constant_args \7f27,394
-} args;\7f30,457
-typedef int *regset;\7fregset\ 131,465
-typedef int INT;\7f32,486
-typedef union abc\7f33,503
-} ghi1;\7f36,534
-typedef union abc \7f37,542
-} ghi2;\7f39,573
-typedef struct a \7f40,581
-} b;\7f41,600
-#define c(\7f42,605
-typedef struct an_extern_linkage *an_extern_linkage_ptr;\7fan_extern_linkage_ptr\ 143,619
-typedef struct an_extern_linkage \7f44,676
-} an_extern_linkage;\7f56,1054
-typedef struct pollfd   pfdset[\7fpfdset\ 157,1075
-typedef union rtunion_def\7f58,1119
-  } womboid \7f63,1206
-typedef union rtunion_def\7f64,1220
-womboid\7f75,1330
-enum {dog,\7fdog\ 181,1416
-enum {dog, cat}\7fcat\ 181,1416
-enum {dog, cat} animals;\7f81,1416
-typedef void (_CALLBACK_ *signal_handler)\7fsignal_handler\ 182,1441
-typedef void (_CALLBACK_ *signal_handler1)\7fsignal_handler1\ 183,1489
-/* comment */ #define ANSIC\7f84,1538
- #define ANSIC\7f85,1566
-typedef void (proc)\7f87,1588
-typedef void OperatorFun(\7f88,1612
-typedef int f(\7f89,1648
-struct my_struct \7f91,1691
-typedef struct my_struct my_typedef;\7f93,1713
-typedef RETSIGTYPE (*signal_handler_t)\7fsignal_handler_t\ 194,1750
-  Date 04 May 87 235311 PDT \7f96,1802
-typedef unsigned char unchar;\7f99,1880
-typedef int X,\7f100,1910
-typedef int X, Y,\7f100,1910
-typedef int X, Y, Z;\7f100,1910
-typedef mio mao;\7f101,1931
-typedef struct a \7f103,1966
-typedef struct a { } b;\7f103,1966
-typedef struct b\7f104,1990
-} c;\7f106,2009
-int extvar;\7f109,2053
-#define tag1\7f110,2065
-#define aaaaaa \7f111,2078
-#define bbbbbb\\7fbbbbbb\ 1113,2102
-#define cccccccccc\7f115,2125
-#define enter_critical_section \7f116,2144
-#define exit_critical_to_previous      \7f117,2199
-#define UNDEFINED\7f118,2259
-struct re_pattern_buffer \7f119,2277
-\f
-cp-src/c.C,2094
-template <typename ipc3dIslandHierarchy,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels, typename ipc3dLinkControl,\7f1,0
-class CMultiChannelCSC19_3D\7f2,151
-        void execute(\7f11,493
-int main \7f25,1026
-double base \7f26,1088
-typedef struct s1 \7f32,1251
-} t1;\7f34,1287
-struct s2 \7f35,1293
-typedef struct s2 t2;\7f38,1324
-class A \7f39,1346
-  enum { rosso,\7f40,1356
-  enum { rosso, giallo,\7f40,1356
-  enum { rosso, giallo, verde \7f40,1356
-const A& A::operator+(\7foperator+\ 143,1431
-void operator+(\7f44,1467
-void operator -(\7foperator -\ 145,1495
-void operator int(\7foperator int\ 146,1524
-A<int>* f(\7f48,1556
-int f(\7f49,1571
-int A<int>::f(\7ff\ 150,1590
-A<float,B<int> > A<B<float>,int>::f(\7ff\ 151,1618
-template <class C, int n> class AT \7f52,1668
-class AU \7f53,1716
-class B<\7fB\ 154,1735
-class B<int> { void f(\7f54,1735
-const A::B::T& abt \7f55,1766
-class A \7f56,1792
-class A { class B \7f56,1792
-class A \7f57,1827
-  A operator+(\7f59,1861
-is_muldiv_operation(\7f61,1888
-domain foo \7f68,1956
-     void f(\7f69,1969
-void A::A(\7fA\ 172,1990
-struct A \7f73,2005
-struct B \7f74,2023
-void B::B(\7fB\ 175,2042
-void BE_Node::BE_Node(\7fBE_Node\ 176,2057
-class BE_Node \7f77,2084
-struct foo \7f79,2103
-class test \7f86,2157
-  int f(\7f87,2170
-  int ff(\7f89,2232
-  int g(\7f90,2255
-class  AST_Root \7f92,2279
-AST_ConcreteType::AST_ConcreteType(\7f99,2394
-AST_Array::AST_Array(\7f107,2533
-     void f(\7f115,2734
-struct A \7f117,2754
-A::~A(\7f~A\ 1120,2778
-struct B \7f122,2790
-    ~B(\7f123,2801
-enum {dog,\7fdog\ 1126,2818
-enum {dog, cat}\7fcat\ 1126,2818
-enum {dog, cat} animals;\7f126,2818
-struct {int teats;} cow;\7f127,2843
-class Boo \7f129,2869
-    enum {dog,\7fdog\ 1130,2881
-    enum {dog, cat}\7fcat\ 1130,2881
-    foo(\7f133,2955
-    Boo(\7f137,2996
-Boo::Boo(\7f141,3071
-typedef int should_see_this_one_enclosed_in_extern_C;\7f149,3156
-typedef int (*should_see_this_function_pointer)\7fshould_see_this_function_pointer\ 1153,3229
-typedef int should_see_this_array_type[\7fshould_see_this_array_type\ 1156,3311
-\f
-cp-src/x.cc,63
-class XX\7f1,0
-XX::foo(\7ffoo\ 19,60
-XX::bar(\7fbar\ 115,95
-main(\7f21,126
-\f
-cp-src/burton.cpp,124
-::dummy::dummy test::dummy1(\7fdummy1\ 11,0
-::dummy::dummy test::dummy2(\7fdummy2\ 16,64
-::dummy::dummy test::dummy3(\7fdummy3\ 111,143
-\f
-cp-src/functions.cpp,778
-void Date::setDate \7fsetDate\ 15,148
-void Date::plus \7fplus\ 132,938
-void Date::minus \7fminus\ 142,1226
-void Date::shift \7fshift\ 152,1404
-Date & Date::operator = \7foperator =\ 162,1625
-Date & Date::operator += \7foperator +=\ 169,1786
-Date & Date::operator -= \7foperator -=\ 178,1935
-Date & Date::operator ++ \7foperator ++\ 187,2076
-Date & Date::operator -- \7foperator --\ 196,2212
-int Date::operator - \7foperator -\ 1104,2327
-int Date::operator < \7foperator <\ 1112,2479
-int Date::operator > \7foperator >\ 1116,2553
-int Date::operator == \7foperator ==\ 1120,2627
-ostream& operator << \7foperator <<\ 1124,2703
-istream& operator >> \7foperator >>\ 1133,2939
-bool isLeap \7f159,3539
-bool isHoliday \7f163,3625
-void asort(\7f173,3861
-void ReadVacation \7f186,4060
-void Debug \7f201,4519
-int WorkingDays(\7f211,4863
-Date StartDay(\7f226,5125
-\f
-cp-src/MDiagArray2.h,482
-#define octave_MDiagArray2_h \7f29,870
-#undef LTGT\7f35,967
-#define LTGT\7f39,1031
-#define LTGT \7f42,1051
-class MDiagArray2 \7f78,2022
-  MDiagArray2 \7f82,2077
-  MDiagArray2 \7f86,2154
-  MDiagArray2 \7f87,2198
-  MDiagArray2 \7f88,2254
-  MDiagArray2 \7f89,2329
-  MDiagArray2 \7f90,2387
-  MDiagArray2 \7f91,2450
-  ~MDiagArray2 \7f93,2515
-  MDiagArray2<T>& operator = \7foperator =\ 195,2542
-  operator MArray2<T> \7foperator MArray2<T>\ 1101,2667
-#undef LTGT\7f144,3874
-#define INSTANTIATE_MDIAGARRAY_FRIENDS(\7f146,3887
-\f
-cp-src/Range.h,275
-#define octave_Range_h \7f24,765
-Range\7f35,891
-  Range \7f39,909
-  Range \7f42,995
-  Range \7f46,1130
-  Range \7f50,1248
-  double base \7f54,1376
-  double limit \7f55,1425
-  double inc \7f56,1475
-  int nelem \7f57,1523
-  void set_base \7f68,1728
-  void set_limit \7f69,1774
-  void set_inc \7f70,1821
-\f
-cp-src/screen.cpp,228
-unsigned char cursor_x,\7f15,548
-unsigned char cursor_x, cursor_y;\7f15,548
-static union REGS regs;\7f16,582
-void goto_xy(\7f18,607
-void hide_cursor(\7f27,774
-void cursor_position(\7f32,836
-void clear_screen(\7f41,997
-void write_xyc(\7f55,1247
-\f
-cp-src/screen.hpp,414
-#define __COLORS\7f9,401
-enum COLORS \7f11,419
-    BLACK,\7f12,433
-    BLUE,\7f13,471
-    GREEN,\7f14,481
-    CYAN,\7f15,492
-    RED,\7f16,502
-    MAGENTA,\7f17,511
-    BROWN,\7f18,524
-    LIGHTGRAY,\7f19,535
-    DARKGRAY,\7f20,550
-    LIGHTBLUE,\7f21,589
-    LIGHTGREEN,\7f22,604
-    LIGHTCYAN,\7f23,620
-    LIGHTRED,\7f24,635
-    LIGHTMAGENTA,\7f25,649
-    YELLOW,\7f26,667
-    WHITE\7f27,679
-#define SCREEN_FP(\7f31,700
-#define SCREEN_START \7f33,795
-\f
-cp-src/conway.cpp,288
-#define max(\7f12,357
-#define min(\7f13,393
-const int num_rows \7f15,430
-const int num_columns \7f16,470
-class site *field_of_play[\7ffield_of_play\ 118,499
-int site::total_surrounding(\7ftotal_surrounding\ 120,550
-void display(\7f37,958
-void glider(\7f50,1239
-void traffic_light(\7f59,1478
-void main(\7f67,1633
-\f
-cp-src/conway.hpp,164
-class site:\7fsite\ 15,235
-    site(\7f10,344
-    char read(\7f12,410
-    void set(\7f13,444
-    void clear(\7f14,478
-    void compute_next_state(\7f15,514
-    void step(\7f22,717
-\f
-cp-src/clheir.cpp,359
-const int max_num_generic_objects \7f9,298
-generic_object * object_registry[\7fobject_registry\ 110,340
-void init_registry(\7f12,400
-void step_everybody(\7f19,527
-void discrete_location::clear_neighbors(\7fclear_neighbors\ 131,852
-generic_object::generic_object(\7fgeneric_object\ 136,981
-generic_object::~generic_object(\7f~generic_object\ 148,1255
-void agent::move(\7fmove\ 153,1353
-\f
-cp-src/clheir.hpp,423
-class generic_object\7f13,520
-    virtual void compute_next_state(\7f21,843
-    virtual void step(\7f22,889
-const int max_num_directions \7f31,1220
-class location:\7flocation\ 133,1290
-    location(\7f43,1643
-class irregular_location:\7firregular_location\ 147,1687
-    irregular_location(\7f51,1763
-class discrete_location:\7fdiscrete_location\ 156,1890
-    discrete_location(\7f62,2045
-    void assign_neighbor(\7f66,2185
-class agent:\7fagent\ 175,2509
-\f
-cp-src/fail.C,294
-struct A \7f7,263
-          struct B \7f8,274
-                  struct C \7f9,289
-                          C(\7f11,318
-                          operator int(\7foperator int\ 112,342
-                  typedef C T;\7f14,389
-          typedef B T2;\7f16,414
-class A \7f23,453
-       class B \7f24,463
-               class C \7f25,474
-               int f(\7f26,488
-int A::B::f(\7ff\ 131,521
-main(\7f37,571
-       class D \7f41,622
-               D(\7f43,659
-\f
-el-src/TAGTEST.EL,181
-(foo::defmumble bletch \7f3,33
-(defun foo==bar \7ffoo==bar\ 14,66
-(defalias 'pending-delete-mode \7fpending-delete-mode\ 18,182
-(defalias (quote explicitly-quoted-pending-delete-mode)\7f11,255
-\f
-el-src/emacs/lisp/progmodes/etags.el,5069
-(defvar tags-file-name \7f34,1035
-(defgroup etags \7f43,1499
-(defcustom tags-case-fold-search \7f47,1567
-(defcustom tags-table-list \7f59,2052
-(defcustom tags-compression-info-list\7f69,2450
-(defcustom tags-add-tables \7f88,3232
-(defcustom tags-revert-without-query \7f98,3628
-(defvar tags-table-computed-list \7f103,3779
-(defvar tags-table-computed-list-for \7f112,4263
-(defvar tags-table-list-pointer \7f117,4511
-(defvar tags-table-list-started-at \7f121,4702
-(defvar tags-table-set-list \7f124,4822
-(defcustom find-tag-hook \7f129,5001
-(defcustom find-tag-default-function \7f137,5264
-(define-obsolete-variable-alias 'find-tag-marker-ring-length\7ffind-tag-marker-ring-length\ 1145,5603
-(defcustom tags-tag-face \7f148,5700
-(defcustom tags-apropos-verbose \7f154,5835
-(defcustom tags-apropos-additional-actions \7f160,5999
-(defvaralias 'find-tag-marker-ring \7ffind-tag-marker-ring\ 1183,6921
-(defvar default-tags-table-function \7f189,7101
-(defvar tags-location-ring \7f194,7327
-(defvar tags-table-files \7f201,7603
-(defvar tags-completion-table \7f206,7770
-(defvar tags-included-tables \7f209,7862
-(defvar next-file-list \7f212,7957
-(defvar tags-table-format-functions \7f217,8063
-(defvar file-of-tag-function \7f224,8444
-(defvar tags-table-files-function \7f228,8638
-(defvar tags-completion-table-function \7f230,8749
-(defvar snarf-tag-function \7f232,8844
-(defvar goto-tag-location-function \7f236,9053
-(defvar find-tag-regexp-search-function \7f239,9226
-(defvar find-tag-regexp-tag-order \7f241,9347
-(defvar find-tag-regexp-next-line-after-failure-p \7f243,9456
-(defvar find-tag-search-function \7f245,9576
-(defvar find-tag-tag-order \7f247,9683
-(defvar find-tag-next-line-after-failure-p \7f249,9778
-(defvar list-tags-function \7f251,9884
-(defvar tags-apropos-function \7f253,9972
-(defvar tags-included-tables-function \7f255,10066
-(defvar verify-tags-table-function \7f257,10185
-(defun initialize-new-tags-table \7f260,10296
-(defun tags-table-mode \7f276,10984
-(defun visit-tags-table \7f285,11249
-(defun tags-table-check-computed-list \7f321,12787
-(defun tags-table-extend-computed-list \7f360,14658
-(defun tags-expand-table-name \7f400,16371
-(defun tags-table-list-member \7f409,16714
-(defun tags-verify-table \7f421,17186
-(defun tags-table-including \7f470,19306
-(defun tags-next-table \7f522,21350
-(defun visit-tags-table-buffer \7f543,22207
-(defun tags-reset-tags-tables \7f712,28517
-(defun file-of-tag \7f731,29174
-(defun tags-table-files \7f740,29524
-(defun tags-included-tables \7f749,29874
-(defun tags-completion-table \7f755,30120
-(defun tags-lazy-completion-table \7f783,31314
-(defun tags-completion-at-point-function \7f799,31949
-(defun find-tag-tag \7f818,32699
-(defvar last-tag \7f837,33372
-(defun find-tag-interactive \7f840,33431
-(defvar find-tag-history \7f852,33846
-(defun find-tag-noselect \7f860,34016
-(defun find-tag \7f932,37130
-(defun find-tag-other-window \7f959,38346
-(defun find-tag-other-frame \7f1000,40274
-(defun find-tag-regexp \7f1025,41448
-(defalias 'pop-tag-mark \7fpop-tag-mark\ 11049,42610
-(defvar tag-lines-already-matched \7f1052,42661
-(defun find-tag-in-order \7f1055,42768
-(defun tag-find-file-of-tag-noselect \7f1167,47114
-(defun tag-find-file-of-tag \7f1200,48960
-(defun etags-recognize-tags-table \7f1208,49186
-(defun etags-verify-tags-table \7f1241,50817
-(defun etags-file-of-tag \7f1246,51015
-(defun etags-tags-completion-table \7f1256,51350
-(defun etags-snarf-tag \7f1286,52556
-(defun etags-goto-tag-location \7f1324,54125
-(defun etags-list-tags \7f1388,56568
-(defmacro tags-with-face \7f1423,57843
-(defun etags-tags-apropos-additional \7f1431,58176
-(defun etags-tags-apropos \7f1465,59413
-(defun etags-tags-table-files \7f1527,61622
-(defun etags-tags-included-tables \7f1542,62058
-(defun tags-recognize-empty-tags-table \7f1559,62598
-(defun tag-exact-file-name-match-p \7f1587,63744
-(defun tag-file-name-match-p \7f1596,64137
-(defun tag-exact-match-p \7f1609,64693
-(defun tag-implicit-name-match-p \7f1620,65261
-(defun tag-symbol-match-p \7f1633,65861
-(defun tag-word-match-p \7f1643,66297
-(defun tag-partial-file-name-match-p \7f1652,66695
-(defun tag-any-match-p \7f1662,67139
-(defun tag-re-match-p \7f1667,67323
-(defcustom tags-loop-revert-buffers \7f1675,67572
-(defun next-file \7f1685,67981
-(defvar tags-loop-operate \7f1760,70895
-(defvar tags-loop-scan\7f1763,70989
-(defun tags-loop-eval \7f1771,71318
-(defun tags-loop-continue \7f1782,71647
-(defun tags-search \7f1850,73953
-(defun tags-query-replace \7f1871,74779
-(defun tags-complete-tags-table-file \7f1896,76003
-(defun list-tags \7f1906,76382
-(defun tags-apropos \7f1934,77335
-(define-button-type 'tags-select-tags-table\7ftags-select-tags-table\ 11957,78161
-(defun select-tags-table \7f1964,78400
-(defvar select-tags-table-mode-map \7f2019,80527
-(define-derived-mode select-tags-table-mode \7f2030,80910
-(defun select-tags-table-select \7f2034,81094
-(defun select-tags-table-quit \7f2043,81460
-(defun complete-tag \7f2049,81615
-(defconst etags--xref-limit \7f2074,82556
-(defvar etags-xref-find-definitions-tag-order \7f2076,82591
-(defun etags-xref-find \7f2082,82881
-(defun etags--xref-find-definitions \7f2096,83410
-(defclass xref-etags-location \7f2129,85124
-(defun xref-make-etags-location \7f2135,85347
-(cl-defmethod xref-location-marker \7f2139,85502
-(cl-defmethod xref-location-line \7f2146,85746
-\f
-erl-src/gs_dialog.erl,98
--define(VERSION\7f2,32
-behaviour_info(\7f51,2177
-show(\7f124,5458
-dialog_loop(\7f219,9529
-test(\7f252,10806
-\f
-f-src/entry.for,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-f-src/entry.strange_suffix,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-f-src/entry.strange,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-forth-src/test-forth.fth,733
-: a-forth-word\7f20,301
-99 constant a-forth-constant!\7f22,343
-55 value a-forth-value?\7f23,373
-create :a-forth-dictionary-entry\7f24,397
-defer #a-defer-word\7f27,460
-: (another-forth-word)\7f(another-forth-word)\ 129,481
-   9   field   >field1\7f36,582
-   5   field   >field2\7f37,605
-constant (a-forth-constant\7f(a-forth-constant\ 138,628
-2000 buffer: #some-storage\7f41,657
-code assemby-code-word\7f43,685
-: a-forth-word\7f50,870
-: (foo)\7f(foo)\ 155,988
-: foo\7f56,1000
-: create-bar\7f58,1015
-3 4 2constant 2const\7f61,1074
-2const 2value 2val\7f62,1095
-2variable 2var\7f63,1114
-3.1415e fconstant fconst\7f65,1130
-fconst fvalue fval\7f66,1155
-fvariable fvar\7f67,1174
-synonym mypi\7f69,1190
-BEGIN-STRUCTURE point\7f71,1211
-  1 CELLS +FIELD p.x\7f72,1262
-  1 CELLS +FIELD p.y\7f73,1318
-\f
-go-src/test.go,48
-package main\7f1,0
-func say(\7f5,28
-func main(\7f9,72
-\f
-go-src/test1.go,119
-package main\7f1,0
-func (s str) PrintAdd(\7f17,136
-func (n intNumber) PrintAdd(\7f21,189
-func test(\7f25,248
-func main(\7f29,285
-\f
-html-src/softwarelibero.html,200
-Cos'è il software libero?\7f4,38
-Licenze d'uso di un programma\7flicenze\ 165,2502
-Sfatiamo alcuni miti\7f138,6122
-Il movimento open source\7foss\ 1191,8041
-Impatto pratico del software libero\7fimpatto\ 1231,10070
-\f
-html-src/index.shtml,104
-&nbsp;\7f8,281
-In evidenza\7f15,447
-Comunicati e iniziative\7f32,976
-Ultime notizie dall'associazione\7f63,2030
-\f
-html-src/algrthms.html,467
-Tutorial on Convolutional Coding with Viterbi Decoding--Description of the Data Generation, Convolutional Encoding, Channel Mapping and AWGN, and Quantizing Algorithms\7f7,277
-Description\7falgorithms\ 110,481
-Generating the Data\7fgenalgorithm\ 148,1995
-Convolutionally\7fconalgorithm\ 155,2512
-Next\7fstatetable\ 1262,11587
-Output\7foutputtable\ 1350,13915
-Mapping the Channel Symbols\7fmapping\ 1433,16213
-Adding Noise to the\7faddnoise\ 1439,16607
-Quantizing the Received\7fquantizing\ 1469,19100
-\f
-html-src/software.html,439
-Francesco Potortì Software Page\7f9,280
-Software that I wrote for supporting my research activity\7fsimulation\ 136,1398
-MTG\7fmtg\ 141,1482
-Fracas\7ffracas\ 165,2624
-GaliLEO\7fgalileo\ 1101,4232
-Leasqr\7fleasqr\ 1114,4677
-Free software that I wrote for the GNU project or for my personal or work\7fgnu\ 1142,6066
-Etags\7fetags\ 1148,6181
-checkiso\7f161,6731
-cgrep\7f178,7549
-debian-bug.el\7fdebian-bug\ 1190,7981
-tcpdump\7f205,8566
-Links to interesting software\7flinks\ 1216,8893
-\f
-lua-src/allegro.lua,400
-local function get_layer_by_name \7f7,175
-local function count_layers \7f33,621
-function GetLayerByName \7f54,980
-function GetUniqueLayerName \7f65,1204
-function SelectLayer \7f76,1415
-function NewLayer \7f86,1773
-function NewLayerSet \7f144,3226
-function RemoveLayer \7f170,3750
-function MoveLayerTop \7f211,4767
-function MoveLayerBottom \7f223,5079
-function MoveLayerBefore \7f236,5457
-function MoveLayerAfter \7f258,6090
-\f
-lua-src/test.lua,442
-function Rectangle.getPos \7f2,15
-function Rectangle.getPos \7fgetPos\ 12,15
-function Circle.getPos \7f6,61
-function Circle.getPos \7fgetPos\ 16,61
-function Cube.data.getFoo \7f10,102
-function Cube.data.getFoo \7fgetFoo\ 110,102
-function Square.something:Bar \7f14,148
-function Square.something:Bar \7fBar\ 114,148
-   function test.me_22a(\7f22,241
-   function test.me_22a(\7fme_22a\ 122,241
-   local function test.me22b \7f25,297
-   local function test.me22b \7fme22b\ 125,297
-\f
-make-src/Makefile,2175
-LATEST=\7f1,0
-RELEASELIST=\7f2,10
-ADASRC=\7f4,104
-ASRC=\7f5,171
-CSRC=\7f6,197
-CPSRC=\7f10,423
-ELSRC=\7f13,614
-ERLSRC=\7f14,661
-FORTHSRC=\7f15,702
-FSRC=\7f16,726
-HTMLSRC=\7f17,776
-JAVASRC=\7f18,844
-LUASRC=\7f19,907
-MAKESRC=\7f20,926
-OBJCSRC=\7f21,943
-OBJCPPSRC=\7f22,999
-PASSRC=\7f23,1035
-PERLSRC=\7f24,1053
-PHPSRC=\7f25,1108
-PSSRC=\7f26,1156
-PROLSRC=\7f27,1173
-PYTSRC=\7f28,1210
-TEXSRC=\7f29,1227
-YSRC=\7f30,1282
-SRCS=\7f31,1325
-NONSRCS=\7f35,1577
-VHDLFLAGS=\7f37,1624
-COBOLFLAGS=\7f38,1827
-POSTSCRIPTFLAGS=\7f39,1889
-TCLFLAGS=\7f40,1943
-GETOPTOBJS=\7f42,2002
-RXINCLUDE=\7f43,2034
-REGEXOBJS=\7f44,2056
-CHECKOBJS=\7f46,2075
-CHECKFLAGS=\7f47,2105
-OBJS=\7f48,2145
-CPPFLAGS=\7f49,2190
-LDFLAGS=\7f50,2259
-WARNINGS=\7f51,2282
-CFLAGS=\7f52,2466
-FASTCFLAGS=\7f55,2530
-FASTCFLAGSWARN=\7f56,2591
-FILTER=\7f58,2641
-REGEX=\7f59,2695
-xx=\7f60,2741
-MAKE:\7fMAKE\ 162,2790
-RUN=\7f63,2825
-RUN=\7f64,2865
-OPTIONS=\7f65,2870
-ARGS=\7f66,2922
-infiles \7f68,2940
-quiettest:\7fquiettest\ 170,3002
-test:\7ftest\ 179,3409
-${CHECKOBJS}:\7f${CHECKOBJS}\ 188,3805
-checker:\7fchecker\ 190,3849
-standalone:\7fstandalone\ 196,4062
-prof:\7fprof\ 1101,4168
-fastetags:\7ffastetags\ 1104,4198
-fastctags:\7ffastctags\ 1108,4322
-staticetags:\7fstaticetags\ 1112,4446
-rsynctofly:\7frsynctofly\ 1116,4608
-rsyncfromfly:\7frsyncfromfly\ 1119,4698
-web ftp publish:\7fweb ftp publish\ 1122,4794
-release distrib:\7frelease distrib\ 1129,5115
-tags:\7ftags\ 1134,5255
-clean:\7fclean\ 1136,5267
-srclist:\7fsrclist\ 1139,5302
-regexfile:\7fregexfile\ 1143,5391
-/home/www/pub/etags.c.gz:\7f/home/www/pub/etags.c.gz\ 1149,5566
-/home/www/pub/software/unix/etags.tar.gz:\7f/home/www/pub/software/unix/etags.tar.gz\ 1156,5825
-regex.o:\7fregex.o\ 1159,6031
-getopt.o:\7fgetopt.o\ 1162,6086
-getopt1.o:\7fgetopt1.o\ 1165,6147
-etags:\7fetags\ 1168,6210
-ctags:\7fctags\ 1171,6299
-man manpage:\7fman manpage\ 1174,6396
-etags.1.man:\7fetags.1.man\ 1176,6422
-maintaining.info:\7fmaintaining.info\ 1179,6475
-TAGS:\7fTAGS\ 1182,6557
-%ediff:\7f%ediff\ 1185,6587
-oediff:\7foediff\ 1188,6677
-%cdiff:\7f%cdiff\ 1191,6764
-xdiff:\7fxdiff\ 1194,6854
-ETAGS:\7fETAGS\ 1197,6942
-ETAGS%:\7fETAGS%\ 1200,7012
-ETAGS13 ETAGS14 ETAGS15:\7fETAGS13 ETAGS14 ETAGS15\ 1203,7084
-ETAGS12:\7fETAGS12\ 1206,7216
-OTAGS:\7fOTAGS\ 1209,7304
-CTAGS:\7fCTAGS\ 1212,7369
-CTAGS%:\7fCTAGS%\ 1215,7443
-CTAGS13 CTAGS14 CTAGS15:\7fCTAGS13 CTAGS14 CTAGS15\ 1218,7545
-EXTAGS:\7fEXTAGS\ 1221,7680
-.PRECIOUS:\7f.PRECIOUS\ 1224,7838
-FRC:\7fFRC\ 1226,7894
-\f
-objc-src/Subprocess.h,98
-#define Subprocess \7f41,1217
-#define BUFFERSIZE \7f43,1267
-@interface Subprocess:\7fSubprocess\ 145,1292
-\f
-objc-src/Subprocess.m,446
-#define        PTY_TEMPLATE \7f20,494
-#define        PTY_LENGTH \7f21,528
-@interface Subprocess(Private)\7f32,737
-- childDidExit\7f39,851
-- fdHandler:\7ffdHandler\ 167,1589
-showError \7f98,2360
-fdHandler \7f112,2785
-getptys \7f119,2907
-- init:\7finit\ 1183,4815
-    andStdErr:\7finit\ 1197,5147
-- send:(const char *)string withNewline:\7fsend\ 1300,7436
-- send:\7fsend\ 1308,7599
-- terminateInput\7f314,7689
-- terminate:\7fterminate\ 1321,7810
-- setDelegate:\7fsetDelegate\ 1332,7961
-- delegate\7f338,8031
-\f
-objc-src/PackInsp.h,109
-#define NUMSTATS       \7f36,1101
-#define TYPESTOSTAT    \7f37,1120
-@interface PackageInspector:\7fPackageInspector\ 139,1172
-\f
-objc-src/PackInsp.m,1322
-static const char RCSid[\7fRCSid\ 130,1032
-#define VERSION        \7f34,1116
-#   define DEBUG \7f37,1155
-#define LISTCONTENTS   \7f39,1181
-#define OPENBUTTON     \7f47,1352
-#define LISTCONTENTSBUTTON     \7f48,1449
-#define LISTDESCRIPTIONBUTTON  \7f49,1562
-#define STATE_UNINSTALLED      \7f52,1687
-#define STATE_INSTALLED        \7f53,1807
-#define STATE_COMPRESSD        \7f54,1948
-#define SIZEFORMAT     \7f57,2152
-#define KBYTES \7f58,2362
-#define MBYTES \7f59,2473
-#define LOCALIZE(\7f61,2585
-#define LOCALIZE_ARCH(\7f62,2668
-+new\7fnew\ 167,2802
--showInfo:\7fshowInfo\ 193,3417
--revert:\7frevert\ 1107,3737
--ok:\7fok\ 1136,4297
--load\7fload\ 1143,4424
-#define LOOKUP(\7f156,4826
-#undef LOOKUP\7f176,5694
--loadKeyValuesFrom:(const char *)type inTable:\7floadKeyValuesFrom\ 1186,5852
--loadContentsOf:(const char *)type inTable:\7floadContentsOf\ 1238,7079
--loadImage\7floadImage\ 1257,7552
-#define STAT_EQ(\7f275,7940
--(BOOL)shouldLoad\7f280,8116
--toggleDescription\7ftoggleDescription\ 1301,8626
--(const char *)getPath:(char *)buf forType:\7fgetPath\ 1317,8899
--setRevertButtonTitle\7fsetRevertButtonTitle\ 1333,9320
--(const char *)formatSize:(const char *)size inBuf:\7fformatSize\ 1344,9525
-#define WORKING        \7f368,10045
--(void)getArchs\7f370,10100
--(void)addArchs:\7faddArchs\ 1385,10520
--subprocess:(Subprocess *)sender output:\7fsubprocess\ 1428,11351
--subprocessDone:\7fsubprocessDone\ 1436,11484
-static void openInWorkspace(\7f446,11634
--open:\7fopen\ 1464,12063
-\f
-objcpp-src/SimpleCalc.H,41
-@interface SimpleCalc:\7fSimpleCalc\ 114,400
-\f
-objcpp-src/SimpleCalc.M,445
-- init\7f52,1747
-- appendToDisplay:\7fappendToDisplay\ 160,1933
-- registerAction:\7fregisterAction\ 170,2210
-- decimalKey:\7fdecimalKey\ 177,2348
-- numberKeys:\7fnumberKeys\ 191,2661
-- equalsKey:\7fequalsKey\ 1112,3192
-- operationKeys:\7foperationKeys\ 1131,3680
-- clearKey:\7fclearKey\ 1153,4301
-- clearAllKey:\7fclearAllKey\ 1160,4410
-- appDidInit:\7fappDidInit\ 1168,4591
-- windowWillClose:\7fwindowWillClose\ 1178,4882
-- infoPanel:\7finfoPanel\ 1186,5132
-- helpPanel:\7fhelpPanel\ 1198,5482
-\f
-pas-src/common.pas,1875
-procedure InitializeStringPackage;\7f26,527
-function newtextstring;\7f34,874
-procedure disposetextstring;\7f52,1404
-function ConcatT;\7f78,2066
-function AppendTextString;\7f112,3238
-function CopyTextString;\7f132,3947
-procedure CONVERT_CHARSTRING_TO_VALUE;\7f151,4505
-procedure append_string;\7f172,5166
-function To_Upper;\7f186,5462
-function To_Lower;\7f194,5617
-function EmptyNmStr(\7f209,6213
-function chartonmstr;\7f219,6436
-function LowerCaseNmStr;\7f230,6682
-function concatenatenamestrings;\7f242,7007
-procedure writenamestring;\7f263,7517
-function IsControlChar;\7f277,7928
-function namestringequal;\7f283,8079
-function NameStringLess;\7f302,8539
-function IsControlCharName(\7f343,9710
-function SubString;\7f358,10208
-function SkipChars;\7f379,10791
-function RemoveUnderlineControl;\7f397,11311
-procedure First100Chars;\7f427,12162
-procedure SkipSpaces;\7f462,13298
-function SkipBlanks;\7f477,13782
-function stripname;\7f505,14595
-function Locate;\7f522,15039
-function NameHasChar;\7f543,15581
-function integertonmstr;\7f561,16134
-function NmStrToInteger;\7f585,16901
-function AddNullToNmStr;\7f600,17317
-function ValToNmStr;\7f611,17585
-function ChangeFileType;\7f625,18037
-function StripPath;\7f647,18734
-function ReprOfChar;\7f675,19343
-procedure ExtractCommentInfo;\7f702,20749
-procedure INSERT_TREE_NODE;\7f784,24053
-function GetNameList;\7f920,27926
-procedure DisposeANameList(\7f925,28010
-procedure DisposeNameList;\7f938,28340
-function GetNewNameListNode;\7f943,28409
-function insertname;\7f972,29051
-procedure InitNameList;\7f988,29471
-procedure InitNameStringPool;\7f998,29767
-procedure NewNameString;\7f1004,29867
-procedure ReleaseNameString;\7f1022,30232
-procedure SDTrefStringToRec \7f1045,30741
-procedure SDTrefSkipSpaces;\7f1059,31092
-function SDTrefIsEnd \7f1070,31323
-function SDTrefGetInteger \7f1082,31529
-procedure SDTrefRecToString \7f1303,37546
-function NmStrToErrStr;\7f1497,42305
-function ErrStrToNmStr;\7f1509,42557
-function GetTextRef;\7f1529,43112
-\f
-php-src/lce_functions.php,2152
-  define("LCE_FUNCTIONS"\7fLCE_FUNCTIONS\ 14,38
-  define("LCE_UNKNOWN"\7fLCE_UNKNOWN\ 19,145
-  define("LCE_WS"\7fLCE_WS\ 111,194
-  define("LCE_COMMENT"\7fLCE_COMMENT\ 113,244
-  define("LCE_COMMENT_USER"\7fLCE_COMMENT_USER\ 115,303
-  define("LCE_COMMENT_TOOL"\7fLCE_COMMENT_TOOL\ 117,366
-  define("LCE_MSGID"\7fLCE_MSGID\ 119,430
-  define("LCE_MSGSTR"\7fLCE_MSGSTR\ 121,488
-  define("LCE_TEXT"\7fLCE_TEXT\ 123,541
-  define("STATE_ABORT"\7fSTATE_ABORT\ 125,567
-  define("STATE_OK"\7fSTATE_OK\ 126,595
-  define("STATE_LOOP"\7fSTATE_LOOP\ 127,620
-  class POEntryAD \7f29,648
-      function validate(\7f31,683
-      function checkQuotation(\7f59,1384
-  class CommentAD \7f70,1639
-      function CommentAD(\7f73,1693
-      function validate(\7f83,1944
-  class POEntry \7f105,2410
-      function POEntry(\7f119,2711
-      function lineCount(\7f135,3255
-      function serializeToVars(\7f141,3365
-      function write(\7f151,3800
-  class POReader \7f163,4178
-      function gettext(\7f177,4457
-      function parseFromVars(\7f189,4705
-      function serializeToVars(\7f215,5331
-      function POReader(\7f229,5613
-      function read(\7f243,5983
-      function write(\7f259,6307
-      function isComment(\7f277,6645
-      function comment(\7f284,6822
-      function msgid(\7f304,7247
-      function msgstr(\7f320,7574
-      function start(\7f340,8232
-      function createPOEntries(\7f360,8644
-      function stripLine(\7f394,9472
-      function printClassification(\7f421,10056
-      function classifyLine(\7f432,10301
-  function getTextDomains(\7f471,11094
-  class PORManager \7f498,11756
-      function PORManager(\7f502,11822
-      function addPOReader(\7f507,11896
-      function &getPOReader(\7fgetPOReader\ 1512,11992
-      function getDomainNames(\7f517,12081
-  function &loadPORManager(\7floadPORManager\ 1523,12174
-  function fileJoin(\7f536,12436
-      function lce_bindtextdomain(\7f557,12839
-      function lce_textdomain(\7f614,14530
-      function lce_gettext(\7f620,14641
-      function lce_dgettext(\7f626,14767
-      function lce(\7f634,14966
-      function lce_bindtextdomain(\7f651,15488
-      function lce_textdomain(\7f656,15592
-      function lce_gettext(\7f661,15674
-      function lce_dgettext(\7f666,15755
-      function lce(\7f670,15855
-  function lce_geteditcode(\7f676,15898
-\f
-php-src/ptest.php,46
-define("TEST"\7fTEST\ 11,0
-test \7f4,26
-foo(\7f16,200
-\f
-perl-src/htlmify-cystic,1197
-my @section_name;\7fsection_name\ 112,236
-my @appendix_name;\7fappendix_name\ 113,254
-my @section_toc;\7fsection_toc\ 115,274
-my @appendix_toc;\7fappendix_toc\ 116,291
-my $new_tag \7fnew_tag\ 118,310
-my $appendix;\7fappendix\ 124,409
-my $section;\7fsection\ 125,423
-my $subsection;\7fsubsection\ 126,436
-my $subsubsection;\7fsubsubsection\ 127,452
-my $this_file_toc \7fthis_file_toc\ 129,472
-my %file_tocs;\7ffile_tocs\ 130,496
-my @output_files \7foutput_files\ 132,512
-my $file_index \7ffile_index\ 133,535
-my $output_file;\7foutput_file\ 135,556
-my $line;\7fline\ 137,574
-my $subsection_marker;\7fsubsection_marker\ 1161,3883
-my $new;\7fnew\ 1163,3907
-sub read_toc \7f165,3917
-         my $entry \7fentry\ 1218,5621
-         my $entry \7fentry\ 1234,6077
-             my $entry \7fentry\ 1245,6351
-         my $entry \7fentry\ 1252,6536
-         my $entry \7fentry\ 1268,7010
-             my $entry \7fentry\ 1276,7204
-         my $entry \7fentry\ 1281,7328
-      my $entry \7fentry\ 1296,7698
-sub finish_subsubsections \7f302,7805
-sub finish_subsections \7f309,7987
-sub finish_sections \7f320,8310
-sub finish_appendices \7f331,8599
-sub section_url_base \7f337,8724
-sub section_url_name \7f342,8922
-sub section_url \7f355,9284
-  my $name \7fname\ 1357,9336
-sub section_href \7f364,9452
-sub section_name \7f368,9551
-sub toc_line \7f372,9655
-sub file_end \7f375,9750
-\f
-perl-src/yagrip.pl,233
-sub getopt \7f7,156
-       local($_,$flag,$opt,$f,$r,@temp)\7f($_,$flag,$opt,$f,$r,@temp\ 18,169
-sub usage \7f38,856
-       local($prog,$_,@list)\7f($prog,$_,@list\ 139,868
-       local($string,$flag,@string,@temp,@last)\7f($string,$flag,@string,@temp,@last\ 140,897
-\f
-perl-src/kai-test.pl,203
-sub f1 \7f2,16
-sub main::f2 \7ff2\ 16,50
-package Foo;\7f10,90
-sub f3 \7f12,104
-sub Bar::f4 \7ff4\ 116,138
-package Bar;\7f20,177
-sub f5 \7f22,191
-package Foo::Bar;\7f26,225
-sub f6 \7f28,244
-package main;\7f32,278
-sub f7 \7f34,293
-\f
-ps-src/rfc1245.ps,2478
-/FMversion \7f12,311
-/FrameDict \7f17,500
-/FMVERSION \7f47,1307
-/FMLOCAL \7f56,1494
-/FMDOCUMENT \7f73,1766
-/FMBEGINPAGE \7f95,2279
-/FMENDPAGE \7f109,2516
-/FMDEFINEFONT \7f115,2582
-/FMNORMALIZEGRAPHICS \7f126,2725
-/FMBEGINEPSF \7f142,2955
-/FMENDEPSF \7f153,3207
-/setmanualfeed \7f158,3283
-/max \7f163,3386
-/min \7f164,3426
-/inch \7f165,3466
-/pagedimen \7f166,3485
-/setpapername \7f172,3629
-/papersize \7f190,4214
-/manualpapersize \7f211,4789
-/desperatepapersize \7f230,5211
-/savematrix \7f239,5370
-/restorematrix \7f242,5425
-/dmatrix \7f245,5475
-/dpi \7f246,5495
-/freq \7f248,5583
-/sangle \7f249,5658
-/DiacriticEncoding \7f250,5717
-/.notdef \7f251,5738
-/.notdef \7f252,5801
-/.notdef \7f253,5864
-/.notdef \7f254,5927
-/.notdef \7f255,5990
-/numbersign \7f256,6051
-/parenright \7f257,6115
-/two \7f258,6184
-/less \7f259,6251
-/L \7f260,6320
-/bracketright \7f261,6389
-/i \7f262,6459
-/braceright \7f263,6529
-/Ntilde \7f264,6598
-/atilde \7f265,6668
-/iacute \7f266,6733
-/ocircumflex \7f267,6797
-/udieresis \7f268,6858
-/paragraph \7f269,6919
-/dieresis \7f270,6983
-/yen \7f271,7050
-/ordfeminine \7f272,7109
-/exclamdown \7f273,7171
-/guillemotleft \7f274,7230
-/Otilde \7f275,7296
-/quoteleft \7f276,7357
-/fraction \7f277,7420
-/periodcentered \7f278,7490
-/Acircumflex \7f279,7549
-/Icircumflex \7f280,7610
-/Uacute \7f281,7680
-/breve \7f282,7746
-/ReEncode \7f284,7814
-/graymode \7f300,8020
-/setpattern \7f310,8184
-/grayness \7f331,8725
-/normalize \7f394,9873
-/dnormalize \7f397,9942
-/lnormalize \7f400,10014
-/H \7f403,10104
-/Z \7f406,10147
-/X \7f409,10176
-/V \7f412,10219
-/N \7f415,10260
-/M \7f418,10286
-/E \7f419,10315
-/D \7f420,10336
-/O \7f421,10358
-/L \7f423,10394
-/Y \7f430,10489
-/R \7f439,10588
-/RR \7f450,10696
-/C \7f467,10959
-/U \7f473,11004
-/F \7f477,11039
-/T \7f481,11084
-/RF \7f484,11115
-/TF \7f488,11164
-/P \7f495,11219
-/PF \7f499,11270
-/S \7f506,11344
-/SF \7f510,11384
-/B \7f517,11446
-/BF \7f521,11505
-/W \7f538,11714
-/G \7f573,12382
-/A \7f582,12525
-/BEGINPRINTCODE \7f606,12918
-/ENDPRINTCODE \7f615,13131
-/gn \7f620,13259
-/cfs \7f631,13384
-/ic \7f636,13473
-/ms \7f658,14285
-/ip \7f668,14395
-/wh \7f678,14492
-/bl \7f684,14607
-/s1 \7f690,14722
-/fl \7f691,14739
-/hx \7f698,14887
-/wbytes \7f709,15055
-/BEGINBITMAPBWc \7f713,15147
-/BEGINBITMAPGRAYc \7f716,15198
-/BEGINBITMAP2BITc \7f719,15251
-/COMMONBITMAPc \7f722,15304
-/BEGINBITMAPBW \7f739,15660
-/BEGINBITMAPGRAY \7f742,15709
-/BEGINBITMAP2BIT \7f745,15760
-/COMMONBITMAP \7f748,15811
-/Fmcc \7f765,16156
-/ngrayt \7f773,16371
-/nredt \7f774,16393
-/nbluet \7f775,16414
-/ngreent \7f776,16436
-/colorsetup \7f787,16603
-/fakecolorsetup \7f814,17370
-/BITMAPCOLOR \7f826,17636
-/BITMAPCOLORc \7f839,17926
-/BITMAPGRAY \7f855,18275
-/BITMAPGRAYc \7f858,18335
-/ENDBITMAP \7f861,18397
-/fillprocs \7f868,18497
-\f
-prol-src/ordsets.prolog,525
-is_ordset(\7f47,1310
-list_to_ord_set(\7f63,1688
-ord_add_element(\7f71,1867
-ord_del_element(\7f85,2344
-ord_disjoint(\7f100,2783
-ord_intersect(\7f108,2953
-ord_intersection(\7f126,3553
-ord_intersection3(\7f130,3692
-ord_intersection(\7f150,4533
-ord_intersection4(\7f154,4705
-ord_intersection(\7f176,5666
-ord_intersection2(\7f181,5814
-ord_member(\7f200,6320
-ord_seteq(\7f216,6685
-ord_setproduct(\7f225,6973
-ord_subset(\7f240,7379
-ord_subtract(\7f257,7863
-ord_symdiff(\7f265,8056
-ord_union(\7f288,8889
-ord_union4(\7f303,9354
-ord_union(\7f324,10173
-ord_union_all(\7f329,10315
-\f
-prol-src/natded.prolog,2319
-expandmng(\7f100,2879
-normalize(\7f116,3359
-fresh_vars(\7f125,3716
-subst(\7f138,4134
-normalize_fresh(\7f159,4660
-reduce_subterm(\7f171,5112
-reduce(\7f185,5559
-free_var(\7f196,5903
-free_for(\7f209,6246
-compile_lex(\7f231,6875
-consult_lex:-\7fconsult_lex\ 1248,7384
-lex(\7f259,7754
-expandsyn(\7f267,8068
-bas_syn(\7f292,8897
-compile_empty:-\7fcompile_empty\ 1310,9376
-complete(\7f328,10055
-add_active(\7f340,10527
-parse(\7f353,10949
-derived_analyses(\7f364,11341
-build(\7f378,11967
-buildact(\7f392,12523
-mapsyn(\7f412,13544
-add_edge(\7f434,14280
-findcats(\7f447,14760
-normalize_tree(\7f465,15480
-normalize_trees(\7f475,15858
-expandmng_tree(\7f486,16250
-expandmng_trees(\7f496,16616
-cat(\7f511,17015
-subtree(\7f644,21268
-hypothetical_mem(\7f653,21567
-make_coor(\7f667,22132
-start_up:-\7fstart_up\ 1688,23015
-tokenizeatom(\7f710,23923
-tokenize(\7f720,24350
-isoperator(\7f752,25379
-isoptab(\7f756,25433
-specialsymbol(\7f765,25758
-sstab(\7f771,25863
-parse_cgi(\7f787,26349
-keyvalseq(\7f792,26512
-andkeyvalseq(\7f796,26611
-keyval(\7f799,26690
-valseq(\7f807,26922
-plusvalseq(\7f810,27009
-val(\7f816,27111
-argvals(\7f824,27428
-commaargvals(\7f828,27505
-atomval(\7f833,27580
-atom(\7f836,27642
-action(\7f846,28006
-keyvalcgi(\7f864,28651
-keyvalscgi(\7f865,28672
-outsyn(\7f868,28728
-act(\7f876,29062
-actout(\7f901,29908
-texttreelist(\7f912,30091
-htmltreelist(\7f918,30192
-fitchtreelist(\7f924,30306
-pp_html_table_tree(\7f938,30761
-pp_html_tree(\7f949,31115
-pp_html_trees(\7f988,32383
-pp_html_table_fitch_tree(\7f999,32771
-pp_html_fitch_tree(\7f1017,33674
-removeexp(\7f1129,39004
-splitexp(\7f1142,39492
-pp_exp(\7f1155,39992
-map_word(\7f1168,40251
-pp_exps(\7f1180,40476
-pp_tree(\7f1188,40779
-pp_trees(\7f1216,41809
-pp_word_list(\7f1225,42130
-pp_word(\7f1231,42264
-pp_word_list_rest(\7f1238,42571
-pp_cat(\7f1248,42931
-pp_syn(\7f1255,43198
-pp_syn_paren(\7f1276,43901
-pp_paren(\7f1293,44379
-pp_syn_back(\7f1300,44663
-pp_bas_cat(\7f1311,45003
-writecat(\7f1322,45411
-writesubs(\7f1351,46457
-writesups(\7f1361,46759
-writelistsubs(\7f1371,47092
-pp_lam(\7f1380,47410
-pp_lam_bracket(\7f1398,48024
-pp_lam_paren(\7f1407,48340
-pp_rule(\7f1429,49240
-member(\7f1447,49868
-append_list(\7f1451,49921
-append(\7f1456,50012
-at_least_one_member(\7f1460,50078
-numbervars(\7f1464,50173
-reverse(\7f1467,50211
-select(\7f1471,50292
-select_last(\7f1475,50359
-cat_atoms(\7f1479,50438
-writelist(\7f1485,50526
-write_lex_cat(\7f1492,50678
-writebreaklex(\7f1500,50990
-write_lex(\7f1513,51267
-writebreak(\7f1521,51543
-tt:-\7ftt\ 11531,51715
-mt:-\7fmt\ 11534,51786
-cmt:-\7fcmt\ 11537,51880
-\f
-pyt-src/server.py,1438
-class Controls:\7fControls\ 117,358
-    def __init__(\7f18,374
-    def __repr__(\7f24,590
-    def __str__(\7f34,871
-class Server:\7fServer\ 137,934
-    def __init__(\7f38,948
-    def dump(\7f73,2198
-    def __repr__(\7f125,3896
-    def __str__(\7f128,3945
-class User:\7fUser\ 1131,4014
-    def __init__(\7f132,4026
-    def __repr__(\7f172,5445
-    def __str__(\7f206,6883
-def flag2str(\7f223,7212
-class LabeledEntry(\7f232,7442
-    def bind(\7f234,7525
-    def focus_set(\7f236,7584
-    def __init__(\7f238,7629
-def ButtonBar(\7f245,7909
-def helpwin(\7f255,8280
-class ListEdit(\7f267,8707
-    def __init__(\7f269,8808
-    def handleList(\7f303,10042
-    def handleNew(\7f306,10094
-    def editItem(\7f314,10426
-    def deleteItem(\7f320,10596
-def ConfirmQuit(\7f326,10760
-class ControlEdit(\7f375,12377
-    def PostControls(\7f376,12403
-    def GatherControls(\7f421,13530
-class ServerEdit(\7f512,16264
-    def __init__(\7f513,16289
-    def post(\7f525,16629
-    def gather(\7f543,17191
-    def nosave(\7f547,17304
-    def save(\7f551,17408
-    def refreshPort(\7f556,17509
-    def createWidgets(\7f561,17663
-    def edituser(\7f631,20708
-class UserEdit(\7f645,20921
-    def __init__(\7f646,20944
-    def post(\7f658,21283
-    def gather(\7f676,21841
-    def nosave(\7f680,21950
-    def save(\7f684,22052
-    def createWidgets(\7f689,22151
-class Configure(\7f760,24879
-    def __init__(\7f761,24916
-    def MakeDispose(\7f772,25211
-    def MakeSitelist(\7f786,25706
-    def editsite(\7f794,25949
-    def save(\7f797,26022
-    def nosave(\7f807,26310
-\f
-ruby-src/test.rb,637
-module ModuleExample\7f1,0
-    class ClassExample\7f2,21
-        def instance_method\7f3,44
-        def ClassExample.class_method\7fclass_method\ 16,121
-        def instance_method_exclamation!\7f9,206
-        def instance_method_question?\7f12,310
-        def instance_method_equals=\7finstance_method_equals=\ 115,408
-        def `(\7f18,502
-        def +(\7f21,592
-        def [](\7f24,640
-        def []=(\7f[]=\ 127,690
-        def <<(\7f30,752
-        def ==(\7f==\ 133,802
-        def <=(\7f<=\ 136,872
-        def <=>(\7f<=>\ 139,943
-        def ===(\7f===\ 142,990
-    def module_instance_method\7f46,1051
-    def ModuleExample.module_class_method\7fmodule_class_method\ 149,1131
-\f
-ruby-src/test1.ru,935
-class A\7f1,0
- def a(\7f2,8
- def b(\7f5,38
-module A\7f9,57
-  class B\7f10,66
-    ABC \7f11,76
-    Def_ \7f12,88
-    Xyzzy \7f13,106
-    def foo!\7f15,121
-    def self._bar?(\7f_bar?\ 118,143
-      def qux=(\7fqux=\ 122,194
-    attr_reader :foo\7ffoo\ 126,233
-    attr_reader :read1 \7fread1\ 127,254
-    attr_reader :read1 , :read2;\7fread2\ 127,254
-    attr_reader :read1 , :read2; attr_writer :write1,\7fwrite1=\ 127,254
-    attr_reader :read1 , :read2; attr_writer :write1, :write2\7fwrite2=\ 127,254
-    attr_writer :bar,\7fbar=\ 128,316
-                :baz,\7fbaz=\ 129,338
-                :more\7fmore=\ 130,360
-    attr_accessor :tee\7ftee\ 131,382
-    attr_accessor :tee\7ftee=\ 131,382
-    alias_method :qux,\7fqux\ 132,405
-    alias_method :xyz,\7fxyz\ 133,456
-                 :tee ; attr_reader :subtle\7fsubtle\ 134,479
-    attr_reader(:foo1,\7ffoo1\ 135,523
-    attr_reader(:foo1, :bar1,\7fbar1\ 135,523
-                :qux1)\7fqux1\ 136,563
-    alias_method ( :foo2,\7ffoo2\ 137,586
-A::Constant \7fConstant\ 142,655
-\f
-rs-src/test.rs,52
-enum IpAddrKind \7f3,11
-fn test1(\7f8,48
-fn main(\7f12,88
-\f
-scm-src/test.scm,260
-(define hello \7f1,0
-(set! hello \7f3,32
-(define (hello-world)\7f5,62
-(define (there-is-a-=-in-the-middle!)\7fthere-is-a-=-in-the-middle!\ 110,128
-(define =starts-with-equals! \7f=starts-with-equals!\ 112,171
-(define (((((curry-test \7f14,205
-(define-syntax test-begin\7f17,265
-\f
-tex-src/testenv.tex,52
-\newcommand{\nm}\7f\nm\ 14,77
-\section{blah}\7fblah\ 18,139
-\f
-tex-src/gzip.texi,303
-@node Top,\7f62,2139
-@node Copying,\7f80,2652
-@node Overview,\7f83,2705
-@node Sample,\7f166,7273
-@node Invoking gzip,\7fInvoking gzip\ 1210,8829
-@node Advanced usage,\7fAdvanced usage\ 1357,13497
-@node Environment,\7f420,15209
-@node Tapes,\7f437,15770
-@node Problems,\7f460,16769
-@node Concept Index,\7fConcept Index\ 1473,17289
-\f
-tex-src/texinfo.tex,30627
-\def\texinfoversion{\7f\texinfoversion\ 126,1035
-\def\tie{\7f\tie\ 149,1526
-\def\gloggingall{\7f\gloggingall\ 172,2276
-\def\loggingall{\7f\loggingall\ 173,2345
-\def\onepageout#1{\7f\onepageout\ 199,3282
-\def\croppageout#1{\7f\croppageout\ 1115,4032
-\def\cropmarks{\7f\cropmarks\ 1142,5092
-\def\pagebody#1{\7f\pagebody\ 1144,5139
-\def\ewtop{\7f\ewtop\ 1157,5594
-\def\nstop{\7f\nstop\ 1158,5658
-\def\ewbot{\7f\ewbot\ 1160,5741
-\def\nsbot{\7f\nsbot\ 1161,5805
-\def\parsearg #1{\7f\parsearg\ 1170,6104
-\def\parseargx{\7f\parseargx\ 1172,6182
-\def\parseargline{\7f\parseargline\ 1182,6422
-\def\flushcr{\7f\flushcr\ 1186,6543
-\newif\ifENV \ENVfalse \def\inENV{\7f\inENV\ 1190,6742
-\def\ENVcheck{\7f\ENVcheck\ 1191,6806
-\outer\def\begin{\7f\begin\ 1198,7053
-\def\beginxxx #1{\7f\beginxxx\ 1200,7091
-\def\end{\7f\end\ 1208,7346
-\def\endxxx #1{\7f\endxxx\ 1210,7374
-\def\errorE#1{\7f\errorE\ 1216,7563
-\def\singlespace{\7f\singlespace\ 1222,7757
-\def\@{\7f\@\ 1232,7980
-\def\`{\7f\`\ 1236,8080
-\def\'{\7f\'\ 1237,8092
-\def\mylbrace {\7f\mylbrace\ 1241,8140
-\def\myrbrace {\7f\myrbrace\ 1242,8173
-\def\:{\7f\:\ 1247,8287
-\def\*{\7f\*\ 1250,8341
-\def\.{\7f\.\ 1253,8417
-\def\w#1{\7f\w\ 1258,8648
-\def\group{\7f\group\ 1268,9131
-  \def\Egroup{\7f\Egroup\ 1273,9295
-\def\need{\7f\need\ 1289,9737
-\def\needx#1{\7f\needx\ 1300,10014
-\def\dots{\7f\dots\ 1339,11400
-\def\page{\7f\page\ 1343,11464
-\def\exdent{\7f\exdent\ 1353,11791
-\def\exdentyyy #1{\7f\exdentyyy\ 1354,11824
-\def\nofillexdent{\7f\nofillexdent\ 1357,11968
-\def\nofillexdentyyy #1{\7f\nofillexdentyyy\ 1358,12013
-\def\include{\7f\include\ 1365,12197
-\def\includezzz #1{\7f\includezzz\ 1366,12232
-\def\thisfile{\7f\thisfile\ 1369,12283
-\def\center{\7f\center\ 1373,12346
-\def\centerzzz #1{\7f\centerzzz\ 1374,12379
-\def\sp{\7f\sp\ 1380,12521
-\def\spxxx #1{\7f\spxxx\ 1381,12546
-\def\comment{\7f\comment\ 1387,12720
-\def\commentxxx #1{\7f\commentxxx\ 1390,12817
-\def\ignoresections{\7f\ignoresections\ 1396,12986
-\let\chapter=\relax\7f=\relax\ 1397,13008
-\let\section=\relax\7f=\relax\ 1406,13253
-\let\subsection=\relax\7f=\relax\ 1409,13314
-\let\subsubsection=\relax\7f=\relax\ 1410,13337
-\let\appendix=\relax\7f=\relax\ 1411,13363
-\let\appendixsec=\relax\7fsec=\relax\ 1412,13384
-\let\appendixsection=\relax\7fsection=\relax\ 1413,13408
-\let\appendixsubsec=\relax\7fsubsec=\relax\ 1414,13436
-\let\appendixsubsection=\relax\7fsubsection=\relax\ 1415,13463
-\let\appendixsubsubsec=\relax\7fsubsubsec=\relax\ 1416,13494
-\let\appendixsubsubsection=\relax\7fsubsubsection=\relax\ 1417,13524
-\def\ignore{\7f\ignore\ 1423,13626
-\long\def\ignorexxx #1\end ignore{\7f\ignorexxx\ 1427,13766
-\def\direntry{\7f\direntry\ 1429,13825
-\long\def\direntryxxx #1\end direntry{\7f\direntryxxx\ 1430,13864
-\def\ifset{\7f\ifset\ 1434,13974
-\def\ifsetxxx #1{\7f\ifsetxxx\ 1436,14032
-\def\Eifset{\7f\Eifset\ 1440,14159
-\def\ifsetfail{\7f\ifsetfail\ 1441,14173
-\long\def\ifsetfailxxx #1\end ifset{\7f\ifsetfailxxx\ 1442,14229
-\def\ifclear{\7f\ifclear\ 1444,14290
-\def\ifclearxxx #1{\7f\ifclearxxx\ 1446,14352
-\def\Eifclear{\7f\Eifclear\ 1450,14483
-\def\ifclearfail{\7f\ifclearfail\ 1451,14499
-\long\def\ifclearfailxxx #1\end ifclear{\7f\ifclearfailxxx\ 1452,14559
-\def\set{\7f\set\ 1456,14710
-\def\setxxx #1{\7f\setxxx\ 1457,14737
-\def\clear{\7f\clear\ 1460,14799
-\def\clearxxx #1{\7f\clearxxx\ 1461,14830
-\def\iftex{\7f\iftex\ 1466,14947
-\def\Eiftex{\7f\Eiftex\ 1467,14960
-\def\ifinfo{\7f\ifinfo\ 1468,14974
-\long\def\ifinfoxxx #1\end ifinfo{\7f\ifinfoxxx\ 1469,15024
-\long\def\menu #1\end menu{\7f\menu\ 1471,15083
-\def\asis#1{\7f\asis\ 1472,15112
-\def\math#1{\7f\math\ 1485,15655
-\def\node{\7f\node\ 1487,15699
-\def\nodezzz#1{\7f\nodezzz\ 1488,15737
-\def\nodexxx[#1,#2]{\7f\nodexxx[\ 1489,15768
-\def\donoderef{\7f\donoderef\ 1492,15830
-\def\unnumbnoderef{\7f\unnumbnoderef\ 1496,15951
-\def\appendixnoderef{\7f\appendixnoderef\ 1500,16082
-\expandafter\expandafter\expandafter\appendixsetref{\7fsetref\ 1501,16128
-\let\refill=\relax\7fill=\relax\ 1504,16217
-\def\setfilename{\7f\setfilename\ 1509,16431
-\outer\def\bye{\7f\bye\ 1518,16677
-\def\inforef #1{\7f\inforef\ 1520,16733
-\def\inforefzzz #1,#2,#3,#4**{\7f\inforefzzz\ 1521,16771
-\def\losespace #1{\7f\losespace\ 1523,16868
-\def\sf{\7f\sf\ 1532,17072
-\font\defbf=cmbx10 scaled \magstep1 %was 1314\7fbf=cmbx10\ 1558,17867
-\font\deftt=cmtt10 scaled \magstep1\7ftt=cmtt10\ 1559,17913
-\def\df{\7f\df\ 1560,17949
-\def\resetmathfonts{\7f\resetmathfonts\ 1635,20543
-\def\textfonts{\7f\textfonts\ 1648,21132
-\def\chapfonts{\7f\chapfonts\ 1653,21347
-\def\secfonts{\7f\secfonts\ 1658,21563
-\def\subsecfonts{\7f\subsecfonts\ 1663,21768
-\def\indexfonts{\7f\indexfonts\ 1668,21985
-\def\smartitalicx{\7f\smartitalicx\ 1691,22717
-\def\smartitalic#1{\7f\smartitalic\ 1692,22793
-\let\cite=\smartitalic\7f=\smartitalic\ 1698,22938
-\def\b#1{\7f\b\ 1700,22962
-\def\t#1{\7f\t\ 1703,22997
-\def\samp #1{\7f\samp\ 1706,23149
-\def\key #1{\7f\key\ 1707,23182
-\def\ctrl #1{\7f\ctrl\ 1708,23243
-\def\tclose#1{\7f\tclose\ 1716,23445
-\def\ {\7f\\ 1720,23611
-\def\xkey{\7f\xkey\ 1728,23880
-\def\kbdfoo#1#2#3\par{\7f\kbdfoo\ 1729,23896
-\def\dmn#1{\7f\dmn\ 1738,24197
-\def\kbd#1{\7f\kbd\ 1740,24224
-\def\l#1{\7f\l\ 1742,24281
-\def\r#1{\7f\r\ 1744,24310
-\def\sc#1{\7f\sc\ 1746,24378
-\def\ii#1{\7f\ii\ 1747,24421
-\def\titlefont#1{\7f\titlefont\ 1755,24654
-\def\titlepage{\7f\titlepage\ 1761,24757
-   \def\subtitlefont{\7f\subtitlefont\ 1766,24984
-   \def\authorfont{\7f\authorfont\ 1768,25068
-   \def\title{\7f\title\ 1774,25278
-   \def\titlezzz##1{\7f\titlezzz\ 1775,25313
-   \def\subtitle{\7f\subtitle\ 1783,25628
-   \def\subtitlezzz##1{\7f\subtitlezzz\ 1784,25669
-   \def\author{\7f\author\ 1787,25787
-   \def\authorzzz##1{\7f\authorzzz\ 1788,25824
-   \def\page{\7f\page\ 1794,26115
-\def\Etitlepage{\7f\Etitlepage\ 1804,26284
-\def\finishtitlepage{\7f\finishtitlepage\ 1817,26672
-\def\evenheading{\7f\evenheading\ 1846,27680
-\def\oddheading{\7f\oddheading\ 1847,27723
-\def\everyheading{\7f\everyheading\ 1848,27764
-\def\evenfooting{\7f\evenfooting\ 1850,27810
-\def\oddfooting{\7f\oddfooting\ 1851,27853
-\def\everyfooting{\7f\everyfooting\ 1852,27894
-\def\headings #1 {\7f\headings\ 1893,29586
-\def\HEADINGSoff{\7f\HEADINGSoff\ 1895,29635
-\def\HEADINGSdouble{\7f\HEADINGSdouble\ 1904,30062
-\def\HEADINGSsingle{\7f\HEADINGSsingle\ 1914,30382
-\def\HEADINGSon{\7f\HEADINGSon\ 1922,30603
-\def\HEADINGSafter{\7f\HEADINGSafter\ 1924,30637
-\def\HEADINGSdoublex{\7f\HEADINGSdoublex\ 1926,30732
-\def\HEADINGSsingleafter{\7f\HEADINGSsingleafter\ 1933,30920
-\def\HEADINGSsinglex{\7f\HEADINGSsinglex\ 1934,30981
-\def\today{\7f\today\ 1943,31256
-\def\thistitle{\7f\thistitle\ 1958,31801
-\def\settitle{\7f\settitle\ 1959,31826
-\def\settitlezzz #1{\7f\settitlezzz\ 1960,31863
-\def\internalBitem{\7f\internalBitem\ 1992,32793
-\def\internalBitemx{\7f\internalBitemx\ 1993,32843
-\def\internalBxitem "#1"{\7f\internalBxitem\ 1995,32888
-\def\internalBxitemx "#1"{\7f\internalBxitemx\ 1996,32968
-\def\internalBkitem{\7f\internalBkitem\ 1998,33043
-\def\internalBkitemx{\7f\internalBkitemx\ 1999,33095
-\def\kitemzzz #1{\7f\kitemzzz\ 11001,33142
-\def\xitemzzz #1{\7f\xitemzzz\ 11004,33244
-\def\itemzzz #1{\7f\itemzzz\ 11007,33347
-\def\item{\7f\item\ 11037,34418
-\def\itemx{\7f\itemx\ 11038,34469
-\def\kitem{\7f\kitem\ 11039,34522
-\def\kitemx{\7f\kitemx\ 11040,34575
-\def\xitem{\7f\xitem\ 11041,34630
-\def\xitemx{\7f\xitemx\ 11042,34683
-\def\description{\7f\description\ 11045,34793
-\def\table{\7f\table\ 11047,34843
-\def\ftable{\7f\ftable\ 11052,34987
-\def\Eftable{\7f\Eftable\ 11056,35133
-\def\vtable{\7f\vtable\ 11059,35202
-\def\Evtable{\7f\Evtable\ 11063,35348
-\def\dontindex #1{\7f\dontindex\ 11066,35417
-\def\fnitemindex #1{\7f\fnitemindex\ 11067,35437
-\def\vritemindex #1{\7f\vritemindex\ 11068,35482
-\def\tablez #1#2#3#4#5#6{\7f\tablez\ 11074,35631
-\def\Edescription{\7f\Edescription\ 11077,35689
-\def\itemfont{\7f\itemfont\ 11082,35890
-\def\Etable{\7f\Etable\ 11090,36116
-\def\itemize{\7f\itemize\ 11103,36440
-\def\itemizezzz #1{\7f\itemizezzz\ 11105,36476
-\def\itemizey #1#2{\7f\itemizey\ 11110,36571
-\def#2{\7f1119,36817
-\def\itemcontents{\7f\itemcontents\ 11120,36858
-\def\bullet{\7f\bullet\ 11123,36906
-\def\minus{\7f\minus\ 11124,36933
-\def\frenchspacing{\7f\frenchspacing\ 11128,37041
-\def\splitoff#1#2\endmark{\7f\splitoff\ 11134,37266
-\def\enumerate{\7f\enumerate\ 11140,37496
-\def\enumeratezzz #1{\7f\enumeratezzz\ 11141,37535
-\def\enumeratey #1 #2\endenumeratey{\7f\enumeratey\ 11142,37588
-  \def\thearg{\7f\thearg\ 11146,37735
-  \ifx\thearg\empty \def\thearg{\7f\thearg\ 11147,37754
-\def\numericenumerate{\7f\numericenumerate\ 11184,39088
-\def\lowercaseenumerate{\7f\lowercaseenumerate\ 11190,39218
-\def\uppercaseenumerate{\7f\uppercaseenumerate\ 11203,39565
-\def\startenumeration#1{\7f\startenumeration\ 11219,40055
-\def\alphaenumerate{\7f\alphaenumerate\ 11227,40237
-\def\capsenumerate{\7f\capsenumerate\ 11228,40272
-\def\Ealphaenumerate{\7f\Ealphaenumerate\ 11229,40306
-\def\Ecapsenumerate{\7f\Ecapsenumerate\ 11230,40340
-\def\itemizeitem{\7f\itemizeitem\ 11234,40420
-\def\newindex #1{\7f\newindex\ 11259,41277
-\def\defindex{\7f\defindex\ 11268,41566
-\def\newcodeindex #1{\7f\newcodeindex\ 11272,41674
-\def\defcodeindex{\7f\defcodeindex\ 11279,41934
-\def\synindex #1 #2 {\7f\synindex\ 11283,42114
-\def\syncodeindex #1 #2 {\7f\syncodeindex\ 11292,42454
-\def\doindex#1{\7f\doindex\ 11309,43133
-\def\singleindexer #1{\7f\singleindexer\ 11310,43192
-\def\docodeindex#1{\7f\docodeindex\ 11313,43304
-\def\singlecodeindexer #1{\7f\singlecodeindexer\ 11314,43371
-\def\indexdummies{\7f\indexdummies\ 11316,43429
-\def\_{\7f\_\ 11317,43449
-\def\w{\7f\w\ 11318,43477
-\def\bf{\7f\bf\ 11319,43504
-\def\rm{\7f\rm\ 11320,43533
-\def\sl{\7f\sl\ 11321,43562
-\def\sf{\7f\sf\ 11322,43591
-\def\tt{\7f\tt\ 11323,43619
-\def\gtr{\7f\gtr\ 11324,43647
-\def\less{\7f\less\ 11325,43677
-\def\hat{\7f\hat\ 11326,43709
-\def\char{\7f\char\ 11327,43739
-\def\TeX{\7f\TeX\ 11328,43771
-\def\dots{\7f\dots\ 11329,43801
-\def\copyright{\7f\copyright\ 11330,43834
-\def\tclose##1{\7f\tclose\ 11331,43877
-\def\code##1{\7f\code\ 11332,43922
-\def\samp##1{\7f\samp\ 11333,43963
-\def\t##1{\7f\t\ 11334,44004
-\def\r##1{\7f\r\ 11335,44039
-\def\i##1{\7f\i\ 11336,44074
-\def\b##1{\7f\b\ 11337,44109
-\def\cite##1{\7f\cite\ 11338,44144
-\def\key##1{\7f\key\ 11339,44185
-\def\file##1{\7f\file\ 11340,44224
-\def\var##1{\7f\var\ 11341,44265
-\def\kbd##1{\7f\kbd\ 11342,44304
-\def\indexdummyfont#1{\7f\indexdummyfont\ 11347,44460
-\def\indexdummytex{\7f\indexdummytex\ 11348,44486
-\def\indexdummydots{\7f\indexdummydots\ 11349,44510
-\def\indexnofonts{\7f\indexnofonts\ 11351,44536
-\let\w=\indexdummyfont\7fdummyfont\ 11352,44556
-\let\t=\indexdummyfont\7fdummyfont\ 11353,44579
-\let\r=\indexdummyfont\7fdummyfont\ 11354,44602
-\let\i=\indexdummyfont\7fdummyfont\ 11355,44625
-\let\b=\indexdummyfont\7fdummyfont\ 11356,44648
-\let\emph=\indexdummyfont\7fdummyfont\ 11357,44671
-\let\strong=\indexdummyfont\7fdummyfont\ 11358,44697
-\let\cite=\indexdummyfont\7f=\indexdummyfont\ 11359,44725
-\let\sc=\indexdummyfont\7fdummyfont\ 11360,44751
-\let\tclose=\indexdummyfont\7fdummyfont\ 11364,44923
-\let\code=\indexdummyfont\7fdummyfont\ 11365,44951
-\let\file=\indexdummyfont\7fdummyfont\ 11366,44977
-\let\samp=\indexdummyfont\7fdummyfont\ 11367,45003
-\let\kbd=\indexdummyfont\7fdummyfont\ 11368,45029
-\let\key=\indexdummyfont\7fdummyfont\ 11369,45054
-\let\var=\indexdummyfont\7fdummyfont\ 11370,45079
-\let\TeX=\indexdummytex\7fdummytex\ 11371,45104
-\let\dots=\indexdummydots\7fdummydots\ 11372,45128
-\let\indexbackslash=0  %overridden during \printindex.\7fbackslash=0\ 11382,45380
-\def\doind #1#2{\7f\doind\ 11384,45436
-{\indexdummies % Must do this here, since \bf, etc expand at this stage\7fdummies\ 11386,45479
-\def\rawbackslashxx{\7f\rawbackslashxx\ 11389,45619
-{\indexnofonts\7fnofonts\ 11394,45881
-\def\dosubind #1#2#3{\7f\dosubind\ 11405,46192
-{\indexdummies % Must do this here, since \bf, etc expand at this stage\7fdummies\ 11407,46240
-\def\rawbackslashxx{\7f\rawbackslashxx\ 11410,46344
-{\indexnofonts\7fnofonts\ 11414,46498
-\def\findex {\7f\findex\ 11443,47429
-\def\kindex {\7f\kindex\ 11444,47452
-\def\cindex {\7f\cindex\ 11445,47475
-\def\vindex {\7f\vindex\ 11446,47498
-\def\tindex {\7f\tindex\ 11447,47521
-\def\pindex {\7f\pindex\ 11448,47544
-\def\cindexsub {\7f\cindexsub\ 11450,47568
-\def\printindex{\7f\printindex\ 11462,47895
-\def\doprintindex#1{\7f\doprintindex\ 11464,47936
-  \def\indexbackslash{\7f\indexbackslash\ 11481,48421
-  \indexfonts\rm \tolerance=9500 \advance\baselineskip -1pt\7ffonts\rm\ 11482,48460
-\def\initial #1{\7f\initial\ 11517,49532
-\def\entry #1#2{\7f\entry\ 11523,49739
-  \null\nobreak\indexdotfill % Have leaders before the page number.\7fdotfill\ 11540,50386
-\def\indexdotfill{\7f\indexdotfill\ 11549,50714
-\def\primary #1{\7f\primary\ 11552,50820
-\def\secondary #1#2{\7f\secondary\ 11556,50902
-\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\par\7fdotfill\ 11559,50984
-\newbox\partialpage\7fialpage\ 11566,51157
-\def\begindoublecolumns{\7f\begindoublecolumns\ 11572,51315
-  \output={\global\setbox\partialpage=\7fialpage=\ 11573,51351
-\def\enddoublecolumns{\7f\enddoublecolumns\ 11577,51539
-\def\doublecolumnout{\7f\doublecolumnout\ 11580,51624
-  \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage\7fialpage\ 11581,51693
-\def\pagesofar{\7f\pagesofar\ 11584,51871
-\def\balancecolumns{\7f\balancecolumns\ 11588,52108
-  \availdimen@=\pageheight \advance\availdimen@ by-\ht\partialpage\7fialpage\ 11594,52279
-     \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage\7fialpage\ 11600,52540
-\newcount \appendixno  \appendixno = `\@\7fno\ 11627,53445
-\def\appendixletter{\7f\appendixletter\ 11628,53486
-\def\opencontents{\7f\opencontents\ 11632,53589
-\def\thischapter{\7f\thischapter\ 11637,53770
-\def\seccheck#1{\7f\seccheck\ 11638,53808
-\def\chapternofonts{\7f\chapternofonts\ 11643,53912
-\def\result{\7f\result\ 11646,53987
-\def\equiv{\7f\equiv\ 11647,54022
-\def\expansion{\7f\expansion\ 11648,54055
-\def\print{\7f\print\ 11649,54096
-\def\TeX{\7f\TeX\ 11650,54129
-\def\dots{\7f\dots\ 11651,54158
-\def\copyright{\7f\copyright\ 11652,54189
-\def\tt{\7f\tt\ 11653,54230
-\def\bf{\7f\bf\ 11654,54257
-\def\w{\7f\w\ 11655,54285
-\def\less{\7f\less\ 11656,54310
-\def\gtr{\7f\gtr\ 11657,54341
-\def\hat{\7f\hat\ 11658,54370
-\def\char{\7f\char\ 11659,54399
-\def\tclose##1{\7f\tclose\ 11660,54430
-\def\code##1{\7f\code\ 11661,54474
-\def\samp##1{\7f\samp\ 11662,54514
-\def\r##1{\7f\r\ 11663,54554
-\def\b##1{\7f\b\ 11664,54588
-\def\key##1{\7f\key\ 11665,54622
-\def\file##1{\7f\file\ 11666,54660
-\def\kbd##1{\7f\kbd\ 11667,54700
-\def\i##1{\7f\i\ 11669,54808
-\def\cite##1{\7f\cite\ 11670,54842
-\def\var##1{\7f\var\ 11671,54882
-\def\emph##1{\7f\emph\ 11672,54920
-\def\dfn##1{\7f\dfn\ 11673,54960
-\def\thischaptername{\7f\thischaptername\ 11676,55001
-\outer\def\chapter{\7f\chapter\ 11677,55040
-\def\chapterzzz #1{\7f\chapterzzz\ 11678,55081
-{\chapternofonts%\7fnofonts%\ 11687,55477
-\global\let\section = \numberedsec\7f=\ 11692,55630
-\global\let\subsection = \numberedsubsec\7f=\ 11693,55665
-\global\let\subsubsection = \numberedsubsubsec\7f=\ 11694,55706
-\outer\def\appendix{\7f\appendix\ 11697,55757
-\def\appendixzzz #1{\7f\appendixzzz\ 11698,55800
-\global\advance \appendixno by 1 \message{\7fno\ 11700,55877
-\chapmacro {#1}{Appendix \appendixletter}\7fletter\ 11701,55946
-\xdef\thischapter{Appendix \appendixletter: \noexpand\thischaptername}\7fletter:\ 11704,56039
-{\chapternofonts%\7fnofonts%\ 11705,56111
-  {#1}{Appendix \appendixletter}\7fletter\ 11707,56167
-\appendixnoderef %\7fnoderef\ 11710,56267
-\global\let\section = \appendixsec\7f=\ 11711,56286
-\global\let\subsection = \appendixsubsec\7f=\ 11712,56321
-\global\let\subsubsection = \appendixsubsubsec\7f=\ 11713,56362
-\outer\def\top{\7f\top\ 11716,56413
-\outer\def\unnumbered{\7f\unnumbered\ 11717,56453
-\def\unnumberedzzz #1{\7f\unnumberedzzz\ 11718,56500
-{\chapternofonts%\7fnofonts%\ 11722,56663
-\global\let\section = \unnumberedsec\7f=\ 11727,56813
-\global\let\subsection = \unnumberedsubsec\7f=\ 11728,56850
-\global\let\subsubsection = \unnumberedsubsubsec\7f=\ 11729,56893
-\outer\def\numberedsec{\7f\numberedsec\ 11732,56946
-\def\seczzz #1{\7f\seczzz\ 11733,56987
-{\chapternofonts%\7fnofonts%\ 11736,57143
-\outer\def\appendixsection{\7f\appendixsection\ 11745,57329
-\outer\def\appendixsec{\7f\appendixsec\ 11746,57386
-\def\appendixsectionzzz #1{\7f\appendixsectionzzz\ 11747,57439
-\gdef\thissection{#1}\secheading {#1}{\appendixletter}\7fletter\ 11749,57551
-{\chapternofonts%\7fnofonts%\ 11750,57619
-{#1}{\appendixletter}\7fletter\ 11752,57675
-\appendixnoderef %\7fnoderef\ 11755,57775
-\outer\def\unnumberedsec{\7f\unnumberedsec\ 11759,57815
-\def\unnumberedseczzz #1{\7f\unnumberedseczzz\ 11760,57868
-{\chapternofonts%\7fnofonts%\ 11762,57963
-\outer\def\numberedsubsec{\7f\numberedsubsec\ 11770,58131
-\def\numberedsubseczzz #1{\7f\numberedsubseczzz\ 11771,58186
-{\chapternofonts%\7fnofonts%\ 11774,58365
-\outer\def\appendixsubsec{\7f\appendixsubsec\ 11783,58569
-\def\appendixsubseczzz #1{\7f\appendixsubseczzz\ 11784,58624
-\subsecheading {#1}{\appendixletter}\7fletter\ 11786,58746
-{\chapternofonts%\7fnofonts%\ 11787,58811
-{#1}{\appendixletter}\7fletter\ 11789,58870
-\appendixnoderef %\7fnoderef\ 11792,58985
-\outer\def\unnumberedsubsec{\7f\unnumberedsubsec\ 11796,59025
-\def\unnumberedsubseczzz #1{\7f\unnumberedsubseczzz\ 11797,59084
-{\chapternofonts%\7fnofonts%\ 11799,59185
-\outer\def\numberedsubsubsec{\7f\numberedsubsubsec\ 11807,59356
-\def\numberedsubsubseczzz #1{\7f\numberedsubsubseczzz\ 11808,59417
-{\chapternofonts%\7fnofonts%\ 11812,59614
-\outer\def\appendixsubsubsec{\7f\appendixsubsubsec\ 11823,59847
-\def\appendixsubsubseczzz #1{\7f\appendixsubsubseczzz\ 11824,59908
-  {\appendixletter}\7fletter\ 11827,60047
-{\chapternofonts%\7fnofonts%\ 11828,60113
-  {\appendixletter}\7fletter\ 11830,60178
-\appendixnoderef %\7fnoderef\ 11834,60312
-\outer\def\unnumberedsubsubsec{\7f\unnumberedsubsubsec\ 11838,60352
-\def\unnumberedsubsubseczzz #1{\7f\unnumberedsubsubseczzz\ 11839,60417
-{\chapternofonts%\7fnofonts%\ 11841,60524
-\def\infotop{\7f\infotop\ 11851,60853
-\def\infounnumbered{\7f\infounnumbered\ 11852,60891
-\def\infounnumberedsec{\7f\infounnumberedsec\ 11853,60936
-\def\infounnumberedsubsec{\7f\infounnumberedsubsec\ 11854,60987
-\def\infounnumberedsubsubsec{\7f\infounnumberedsubsubsec\ 11855,61044
-\def\infoappendix{\7f\infoappendix\ 11857,61108
-\def\infoappendixsec{\7f\infoappendixsec\ 11858,61149
-\def\infoappendixsubsec{\7f\infoappendixsubsec\ 11859,61196
-\def\infoappendixsubsubsec{\7f\infoappendixsubsubsec\ 11860,61249
-\def\infochapter{\7f\infochapter\ 11862,61309
-\def\infosection{\7f\infosection\ 11863,61348
-\def\infosubsection{\7f\infosubsection\ 11864,61387
-\def\infosubsubsection{\7f\infosubsubsection\ 11865,61432
-\global\let\section = \numberedsec\7f=\ 11870,61669
-\global\let\subsection = \numberedsubsec\7f=\ 11871,61704
-\global\let\subsubsection = \numberedsubsubsec\7f=\ 11872,61745
-\def\majorheading{\7f\majorheading\ 11886,62252
-\def\majorheadingzzz #1{\7f\majorheadingzzz\ 11887,62297
-\def\chapheading{\7f\chapheading\ 11893,62530
-\def\chapheadingzzz #1{\7f\chapheadingzzz\ 11894,62573
-\def\heading{\7f\heading\ 11899,62768
-\def\subheading{\7f\subheading\ 11901,62805
-\def\subsubheading{\7f\subsubheading\ 11903,62848
-\def\dobreak#1#2{\7f\dobreak\ 11910,63125
-\def\setchapterstyle #1 {\7f\setchapterstyle\ 11912,63203
-\def\chapbreak{\7f\chapbreak\ 11919,63458
-\def\chappager{\7f\chappager\ 11920,63508
-\def\chapoddpage{\7f\chapoddpage\ 11921,63546
-\def\setchapternewpage #1 {\7f\setchapternewpage\ 11923,63625
-\def\CHAPPAGoff{\7f\CHAPPAGoff\ 11925,63682
-\def\CHAPPAGon{\7f\CHAPPAGon\ 11929,63776
-\global\def\HEADINGSon{\7f\HEADINGSon\ 11932,63867
-\def\CHAPPAGodd{\7f\CHAPPAGodd\ 11934,63909
-\global\def\HEADINGSon{\7f\HEADINGSon\ 11937,64005
-\def\CHAPFplain{\7f\CHAPFplain\ 11941,64059
-\def\chfplain #1#2{\7f\chfplain\ 11945,64151
-\def\unnchfplain #1{\7f\unnchfplain\ 11956,64374
-\def\unnchfopen #1{\7f\unnchfopen\ 11964,64603
-\def\chfopen #1#2{\7f\chfopen\ 11970,64811
-\def\CHAPFopen{\7f\CHAPFopen\ 11975,64955
-\def\subsecheadingbreak{\7f\subsecheadingbreak\ 11982,65173
-\def\secheadingbreak{\7f\secheadingbreak\ 11985,65302
-\def\secheading #1#2#3{\7f\secheading\ 11993,65584
-\def\plainsecheading #1{\7f\plainsecheading\ 11994,65640
-\def\secheadingi #1{\7f\secheadingi\ 11995,65683
-\def\subsecheading #1#2#3#4{\7f\subsecheading\ 12006,66051
-\def\subsecheadingi #1{\7f\subsecheadingi\ 12007,66118
-\def\subsubsecfonts{\7f\subsubsecfonts\ 12014,66415
-\def\subsubsecheading #1#2#3#4#5{\7f\subsubsecheading\ 12017,66538
-\def\subsubsecheadingi #1{\7f\subsubsecheadingi\ 12018,66616
-\def\startcontents#1{\7f\startcontents\ 12032,67088
-   \unnumbchapmacro{#1}\def\thischapter{\7f\thischapter\ 12040,67361
-\outer\def\contents{\7f\contents\ 12049,67720
-\outer\def\summarycontents{\7f\summarycontents\ 12057,67864
-      \def\secentry ##1##2##3##4{\7f\secentry\ 12067,68235
-      \def\unnumbsecentry ##1##2{\7f\unnumbsecentry\ 12068,68270
-      \def\subsecentry ##1##2##3##4##5{\7f\subsecentry\ 12069,68305
-      \def\unnumbsubsecentry ##1##2{\7f\unnumbsubsecentry\ 12070,68346
-      \def\subsubsecentry ##1##2##3##4##5##6{\7f\subsubsecentry\ 12071,68384
-      \def\unnumbsubsubsecentry ##1##2{\7f\unnumbsubsubsecentry\ 12072,68431
-\def\chapentry#1#2#3{\7f\chapentry\ 12085,68865
-\def\shortchapentry#1#2#3{\7f\shortchapentry\ 12088,68982
-    {#2\labelspace #1}\7fspace\ 12091,69092
-\def\unnumbchapentry#1#2{\7f\unnumbchapentry\ 12094,69146
-\def\shortunnumberedentry#1#2{\7f\shortunnumberedentry\ 12095,69193
-\def\secentry#1#2#3#4{\7f\secentry\ 12102,69357
-\def\unnumbsecentry#1#2{\7f\unnumbsecentry\ 12103,69416
-\def\subsecentry#1#2#3#4#5{\7f\subsecentry\ 12106,69477
-\def\unnumbsubsecentry#1#2{\7f\unnumbsubsecentry\ 12107,69547
-\def\subsubsecentry#1#2#3#4#5#6{\7f\subsubsecentry\ 12110,69621
-  \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}\7fspace\ 12111,69655
-\def\unnumbsubsubsecentry#1#2{\7f\unnumbsubsubsecentry\ 12112,69706
-\def\dochapentry#1#2{\7f\dochapentry\ 12123,70080
-\def\dosecentry#1#2{\7f\dosecentry\ 12138,70685
-\def\dosubsecentry#1#2{\7f\dosubsecentry\ 12145,70863
-\def\dosubsubsecentry#1#2{\7f\dosubsubsecentry\ 12152,71048
-\def\labelspace{\7f\labelspace\ 12160,71299
-\def\dopageno#1{\7f\dopageno\ 12162,71334
-\def\doshortpageno#1{\7f\doshortpageno\ 12163,71360
-\def\chapentryfonts{\7f\chapentryfonts\ 12165,71392
-\def\secentryfonts{\7f\secentryfonts\ 12166,71427
-\def\point{\7f\point\ 12192,72386
-\def\result{\7f\result\ 12194,72407
-\def\expansion{\7f\expansion\ 12195,72480
-\def\print{\7f\print\ 12196,72551
-\def\equiv{\7f\equiv\ 12198,72618
-\def\error{\7f\error\ 12218,73391
-\def\tex{\7f\tex\ 12224,73620
-\def\@{\7f\@\ 12242,74003
-\gdef\sepspaces{\def {\ }}}\7f\\ 12265,74735
-\def\aboveenvbreak{\7f\aboveenvbreak\ 12268,74817
-\def\afterenvbreak{\7f\afterenvbreak\ 12272,74983
-\def\ctl{\7f\ctl\ 12286,75494
-\def\ctr{\7f\ctr\ 12287,75566
-\def\cbl{\7f\cbl\ 12288,75605
-\def\cbr{\7f\cbr\ 12289,75645
-\def\carttop{\7f\carttop\ 12290,75684
-\def\cartbot{\7f\cartbot\ 12293,75792
-\long\def\cartouche{\7f\cartouche\ 12299,75932
-\def\Ecartouche{\7f\Ecartouche\ 12326,76720
-\def\lisp{\7f\lisp\ 12338,76855
-\def\Elisp{\7f\Elisp\ 12348,77202
-\def\next##1{\7f\next\ 12360,77528
-\def\Eexample{\7f\Eexample\ 12364,77570
-\def\Esmallexample{\7f\Esmallexample\ 12367,77617
-\def\smalllispx{\7f\smalllispx\ 12373,77795
-\def\Esmalllisp{\7f\Esmalllisp\ 12383,78149
-\obeyspaces \obeylines \ninett \indexfonts \rawbackslash\7ffonts\ 12396,78505
-\def\next##1{\7f\next\ 12397,78562
-\def\display{\7f\display\ 12401,78642
-\def\Edisplay{\7f\Edisplay\ 12410,78961
-\def\next##1{\7f\next\ 12422,79272
-\def\format{\7f\format\ 12426,79375
-\def\Eformat{\7f\Eformat\ 12434,79671
-\def\next##1{\7f\next\ 12437,79760
-\def\flushleft{\7f\flushleft\ 12441,79812
-\def\Eflushleft{\7f\Eflushleft\ 12451,80183
-\def\next##1{\7f\next\ 12454,80276
-\def\flushright{\7f\flushright\ 12456,80298
-\def\Eflushright{\7f\Eflushright\ 12466,80670
-\def\next##1{\7f\next\ 12470,80801
-\def\quotation{\7f\quotation\ 12474,80859
-\def\Equotation{\7f\Equotation\ 12480,81051
-\def\setdeffont #1 {\7f\setdeffont\ 12493,81449
-\newskip\defbodyindent \defbodyindent=.4in\7fbodyindent\ 12495,81495
-\newskip\defargsindent \defargsindent=50pt\7fargsindent\ 12496,81538
-\newskip\deftypemargin \deftypemargin=12pt\7ftypemargin\ 12497,81581
-\newskip\deflastargmargin \deflastargmargin=18pt\7flastargmargin\ 12498,81624
-\def\activeparens{\7f\activeparens\ 12503,81822
-\def\opnr{\7f\opnr\ 12529,83034
-\def\lbrb{\7f\lbrb\ 12530,83099
-\def\defname #1#2{\7f\defname\ 12536,83300
-\advance\dimen2 by -\defbodyindent\7fbodyindent\ 12540,83418
-\advance\dimen3 by -\defbodyindent\7fbodyindent\ 12542,83472
-\setbox0=\hbox{\hskip \deflastargmargin{\7flastargmargin\ 12544,83526
-\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations\7fargsindent\ 12546,83668
-\parshape 2 0in \dimen0 \defargsindent \dimen1     %\7fargsindent\ 12547,83743
-\rlap{\rightline{{\rm #2}\hskip \deftypemargin}\7ftypemargin\ 12554,84112
-\advance\leftskip by -\defbodyindent\7fbodyindent\ 12557,84246
-\exdentamount=\defbodyindent\7fbodyindent\ 12558,84283
-\def\defparsebody #1#2#3{\7f\defparsebody\ 12568,84642
-\def#1{\7f2572,84826
-\def#2{\7f2573,84862
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12575,84934
-\exdentamount=\defbodyindent\7fbodyindent\ 12576,85008
-\def\defmethparsebody #1#2#3#4 {\7f\defmethparsebody\ 12581,85112
-\def#1{\7f2585,85273
-\def#2##1 {\7f2586,85309
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12588,85392
-\exdentamount=\defbodyindent\7fbodyindent\ 12589,85466
-\def\defopparsebody #1#2#3#4#5 {\7f\defopparsebody\ 12592,85551
-\def#1{\7f2596,85712
-\def#2##1 ##2 {\7f2597,85748
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12600,85848
-\exdentamount=\defbodyindent\7fbodyindent\ 12601,85922
-\def\defvarparsebody #1#2#3{\7f\defvarparsebody\ 12608,86193
-\def#1{\7f2612,86380
-\def#2{\7f2613,86416
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12615,86475
-\exdentamount=\defbodyindent\7fbodyindent\ 12616,86549
-\def\defvrparsebody #1#2#3#4 {\7f\defvrparsebody\ 12621,86640
-\def#1{\7f2625,86799
-\def#2##1 {\7f2626,86835
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12628,86905
-\exdentamount=\defbodyindent\7fbodyindent\ 12629,86979
-\def\defopvarparsebody #1#2#3#4#5 {\7f\defopvarparsebody\ 12632,87051
-\def#1{\7f2636,87215
-\def#2##1 ##2 {\7f2637,87251
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12640,87338
-\exdentamount=\defbodyindent\7fbodyindent\ 12641,87412
-\def\defunargs #1{\7f\defunargs\ 12664,88172
-\def\deftypefunargs #1{\7f\deftypefunargs\ 12676,88554
-\def\deffn{\7f\deffn\ 12690,88936
-\def\deffnheader #1#2#3{\7f\deffnheader\ 12692,88993
-\begingroup\defname {\7fname\ 12693,89041
-\def\defun{\7f\defun\ 12699,89186
-\def\defunheader #1#2{\7f\defunheader\ 12701,89239
-\begingroup\defname {\7fname\ 12702,89314
-\defunargs {\7funargs\ 12703,89350
-\def\deftypefun{\7f\deftypefun\ 12709,89498
-\def\deftypefunheader #1#2{\7f\deftypefunheader\ 12712,89620
-\def\deftypefunheaderx #1#2 #3\relax{\7f\deftypefunheaderx\ 12714,89729
-\begingroup\defname {\7fname\ 12716,89821
-\deftypefunargs {\7ftypefunargs\ 12717,89867
-\def\deftypefn{\7f\deftypefn\ 12723,90038
-\def\deftypefnheader #1#2#3{\7f\deftypefnheader\ 12726,90187
-\def\deftypefnheaderx #1#2#3 #4\relax{\7f\deftypefnheaderx\ 12728,90323
-\begingroup\defname {\7fname\ 12730,90416
-\deftypefunargs {\7ftypefunargs\ 12731,90456
-\def\defmac{\7f\defmac\ 12737,90577
-\def\defmacheader #1#2{\7f\defmacheader\ 12739,90634
-\begingroup\defname {\7fname\ 12740,90710
-\defunargs {\7funargs\ 12741,90743
-\def\defspec{\7f\defspec\ 12747,90867
-\def\defspecheader #1#2{\7f\defspecheader\ 12749,90928
-\begingroup\defname {\7fname\ 12750,91005
-\defunargs {\7funargs\ 12751,91045
-\def\deffnx #1 {\7f\deffnx\ 12758,91240
-\def\defunx #1 {\7f\defunx\ 12759,91297
-\def\defmacx #1 {\7f\defmacx\ 12760,91354
-\def\defspecx #1 {\7f\defspecx\ 12761,91413
-\def\deftypefnx #1 {\7f\deftypefnx\ 12762,91474
-\def\deftypeunx #1 {\7f\deftypeunx\ 12763,91539
-\def\defop #1 {\7f\defop\ 12769,91685
-\defopparsebody\Edefop\defopx\defopheader\defoptype}\7fopparsebody\Edefop\defopx\defopheader\defoptype\ 12770,91720
-\def\defopheader #1#2#3{\7f\defopheader\ 12772,91774
-\begingroup\defname {\7fname\ 12774,91863
-\defunargs {\7funargs\ 12775,91909
-\def\defmethod{\7f\defmethod\ 12780,91970
-\def\defmethodheader #1#2#3{\7f\defmethodheader\ 12782,92043
-\begingroup\defname {\7fname\ 12784,92131
-\defunargs {\7funargs\ 12785,92171
-\def\defcv #1 {\7f\defcv\ 12790,92245
-\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}\7fopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype\ 12791,92280
-\def\defcvarheader #1#2#3{\7f\defcvarheader\ 12793,92339
-\begingroup\defname {\7fname\ 12795,92425
-\defvarargs {\7fvarargs\ 12796,92471
-\def\defivar{\7f\defivar\ 12801,92544
-\def\defivarheader #1#2#3{\7f\defivarheader\ 12803,92607
-\begingroup\defname {\7fname\ 12805,92693
-\defvarargs {\7fvarargs\ 12806,92744
-\def\defopx #1 {\7f\defopx\ 12812,92893
-\def\defmethodx #1 {\7f\defmethodx\ 12813,92950
-\def\defcvx #1 {\7f\defcvx\ 12814,93015
-\def\defivarx #1 {\7f\defivarx\ 12815,93072
-\def\defvarargs #1{\7f\defvarargs\ 12822,93343
-\def\defvr{\7f\defvr\ 12828,93487
-\def\defvrheader #1#2#3{\7f\defvrheader\ 12830,93542
-\begingroup\defname {\7fname\ 12831,93590
-\def\defvar{\7f\defvar\ 12835,93675
-\def\defvarheader #1#2{\7f\defvarheader\ 12837,93735
-\begingroup\defname {\7fname\ 12838,93806
-\defvarargs {\7fvarargs\ 12839,93842
-\def\defopt{\7f\defopt\ 12844,93908
-\def\defoptheader #1#2{\7f\defoptheader\ 12846,93968
-\begingroup\defname {\7fname\ 12847,94039
-\defvarargs {\7fvarargs\ 12848,94078
-\def\deftypevar{\7f\deftypevar\ 12853,94135
-\def\deftypevarheader #1#2{\7f\deftypevarheader\ 12856,94251
-\begingroup\defname {\7fname\ 12858,94334
-\def\deftypevr{\7f\deftypevr\ 12865,94508
-\def\deftypevrheader #1#2#3{\7f\deftypevrheader\ 12867,94579
-\begingroup\defname {\7fname\ 12868,94631
-\def\defvrx #1 {\7f\defvrx\ 12876,94868
-\def\defvarx #1 {\7f\defvarx\ 12877,94925
-\def\defoptx #1 {\7f\defoptx\ 12878,94984
-\def\deftypevarx #1 {\7f\deftypevarx\ 12879,95043
-\def\deftypevrx #1 {\7f\deftypevrx\ 12880,95110
-\def\deftpargs #1{\7f\deftpargs\ 12885,95259
-\def\deftp{\7f\deftp\ 12889,95339
-\def\deftpheader #1#2#3{\7f\deftpheader\ 12891,95394
-\begingroup\defname {\7fname\ 12892,95442
-\def\deftpx #1 {\7f\deftpx\ 12897,95601
-\def\setref#1{\7f\setref\ 12908,95922
-\def\unnumbsetref#1{\7f\unnumbsetref\ 12913,96036
-\def\appendixsetref#1{\7f\appendixsetref\ 12918,96143
-\def\pxref#1{\7f\pxref\ 12929,96554
-\def\xref#1{\7f\xref\ 12930,96590
-\def\ref#1{\7f\ref\ 12931,96625
-\def\xrefX[#1,#2,#3,#4,#5,#6]{\7f\xrefX[\ 12932,96655
-\def\printedmanual{\7f\printedmanual\ 12933,96698
-\def\printednodename{\7f\printednodename\ 12934,96736
-\def\printednodename{\7f\printednodename\ 12939,96861
-section ``\printednodename'' in \cite{\printedmanual}\7f\printedmanual\ 12954,97493
-\refx{\7fx\ 12957,97571
-\def\dosetq #1#2{\7f\dosetq\ 12965,97791
-\def\internalsetq #1#2{\7f\internalsetq\ 12973,98049
-\def\Ypagenumber{\7f\Ypagenumber\ 12977,98150
-\def\Ytitle{\7f\Ytitle\ 12979,98176
-\def\Ynothing{\7f\Ynothing\ 12981,98203
-\def\Ysectionnumberandtype{\7f\Ysectionnumberandtype\ 12983,98220
-\def\Yappendixletterandtype{\7f\Yappendixletterandtype\ 12992,98536
-\ifnum\secno=0 Appendix\xreftie'char\the\appendixno{\7fno\ 12993,98566
-\else \ifnum \subsecno=0 Section\xreftie'char\the\appendixno.\the\secno %\7fno.\the\secno\ 12994,98621
-Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno %\7fno.\the\secno.\the\subsecno\ 12996,98725
-Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %\7fno.\the\secno.\the\subsecno.\the\subsubsecno\ 12998,98796
-  \def\linenumber{\7f\linenumber\ 13009,99135
-\def\refx#1#2{\7f\refx\ 13015,99319
-\def\xrdef #1#2{\7f\xrdef\ 13037,99945
-\def\readauxfile{\7f\readauxfile\ 13040,100030
-\def\supereject{\7f\supereject\ 13110,101811
-\footstrut\parindent=\defaultparindent\hang\textindent{\7faultparindent\hang\textindent\ 13131,102496
-\def\openindices{\7f\openindices\ 13139,102682
-\newdimen\defaultparindent \defaultparindent = 15pt\7faultparindent\ 13151,102907
-\parindent = \defaultparindent\7faultparindent\ 13152,102959
-\def\smallbook{\7f\smallbook\ 13175,103683
-\global\def\Esmallexample{\7f\Esmallexample\ 13192,104110
-\def\afourpaper{\7f\afourpaper\ 13196,104201
-\def\finalout{\7f\finalout\ 13224,105009
-\def\normaldoublequote{\7f\normaldoublequote\ 13235,105270
-\def\normaltilde{\7f\normaltilde\ 13236,105296
-\def\normalcaret{\7f\normalcaret\ 13237,105316
-\def\normalunderscore{\7f\normalunderscore\ 13238,105336
-\def\normalverticalbar{\7f\normalverticalbar\ 13239,105361
-\def\normalless{\7f\normalless\ 13240,105387
-\def\normalgreater{\7f\normalgreater\ 13241,105406
-\def\normalplus{\7f\normalplus\ 13242,105428
-\def\ifusingtt#1#2{\7f\ifusingtt\ 13253,105920
-\def\activedoublequote{\7f\activedoublequote\ 13261,106248
-\def~{\7f~\ 13264,106334
-\def^{\7f^\ 13267,106395
-\def_{\7f_\ 13270,106434
-\def\_{\7f\_\ 13272,106508
-\def\lvvmode{\7f\lvvmode\ 13279,106845
-\def|{\7f|\ 13282,106895
-\def<{\7f<\ 13285,106958
-\def>{\7f>\ 13288,107015
-\def+{\7f+\ 13290,107053
-\def\turnoffactive{\7f\turnoffactive\ 13296,107214
-\global\def={\7f=\ 13307,107500
-\def\normalbackslash{\7f\normalbackslash\ 13321,107882
-\f
-merc-src/accumulator.m,3228
-:- interface\7f146,5371
-:- import_module hlds\7f148,5386
-:- import_module univ\7f152,5478
-:- pred accu_transform_proc\7f159,5793
-:- implementation\7f166,6115
-:- import_module libs\7f180,6552
-:- import_module mdbcomp\7f184,6681
-:- import_module parse_tree\7f186,6742
-:- import_module assoc_list\7f194,7013
-:- import_module bool\7f195,7042
-:- import_module int\7f196,7065
-:- import_module io\7f197,7087
-:- import_module list\7f198,7108
-:- import_module map\7f199,7131
-:- import_module maybe\7f200,7153
-:- import_module pair\7f201,7177
-:- import_module require\7f202,7200
-:- import_module set\7f203,7226
-:- import_module solutions\7f204,7248
-:- import_module string\7f205,7276
-:- import_module term\7f206,7301
-:- import_module varset\7f207,7324
-:- type top_level\7f213,7499
-:- type accu_goal_id\7f225,7900
-:- type accu_case\7f228,7964
-:- type accu_goal_store\7f234,8091
-:- type accu_subst\7f238,8216
-:- type accu_warning\7f240,8264
-:- pred generate_warnings\7f334,12550
-:- pred generate_warning\7f342,12895
-:- pred should_attempt_accu_transform\7f365,13886
-:- pred should_attempt_accu_transform_2\7f398,15406
-:- pred accu_standardize\7f440,17390
-:- pred identify_goal_type\7f465,18169
-:- pred is_recursive_case\7f549,21175
-:- type store_info\7f560,21713
-:- func initialize_goal_store\7f570,22060
-:- pred accu_store\7f580,22421
-:- pred identify_recursive_calls\7f601,23288
-:- pred identify_out_and_out_prime\7f626,24397
-:- type accu_sets\7f676,26426
-:- pred accu_stage1\7f689,26978
-:- pred accu_stage1_2\7f727,28348
-:- pred accu_sets_init\7f781,30558
-:- func set_upto\7f796,30985
-:- pred accu_before\7f812,31499
-:- pred accu_assoc\7f835,32478
-:- pred accu_construct\7f862,33713
-:- pred accu_construct_assoc\7f896,35308
-:- pred accu_update\7f938,37070
-:- pred member_lessthan_goalid\7f964,38220
-:- type accu_assoc\7f975,38653
-:- pred accu_is_associative\7f986,39139
-:- pred associativity_assertion\7f1014,40264
-:- pred commutativity_assertion\7f1037,41243
-:- pred accu_is_update\7f1057,41953
-:- pred is_associative_construction\7f1078,42803
-:- type accu_substs\7f1095,43481
-:- type accu_base\7f1103,43745
-:- pred accu_stage2\7f1124,44606
-:- pred accu_substs_init\7f1179,46958
-:- pred acc_var_subst_init\7f1194,47574
-:- pred create_new_var\7f1207,48148
-:- pred accu_process_assoc_set\7f1223,48863
-:- pred accu_has_heuristic\7f1297,52082
-:- pred accu_heuristic\7f1304,52337
-:- pred accu_process_update_set\7f1318,52907
-:- pred accu_divide_base_case\7f1380,55845
-:- pred accu_related\7f1412,57147
-:- inst stored_goal_plain_call\7f1444,58416
-:- pred lookup_call\7f1449,58602
-:- pred accu_stage3\7f1470,59433
-:- pred acc_proc_info\7f1508,61327
-:- pred acc_pred_info\7f1556,63450
-:- pred accu_create_goal\7f1600,65286
-:- func create_acc_call\7f1621,66401
-:- pred create_orig_goal\7f1634,66988
-:- pred create_acc_goal\7f1662,68158
-:- func create_new_orig_recursive_goals\7f1709,70226
-:- func create_new_recursive_goals\7f1723,70919
-:- func create_new_base_goals\7f1738,71718
-:- pred acc_unification\7f1749,72157
-:- pred accu_top_level\7f1766,72897
-:- pred update_accumulator_pred\7f1856,76291
-:- func accu_rename\7f1876,77254
-:- func base_case_ids\7f1889,77785
-:- func base_case_ids_set\7f1898,78049
-:- func accu_goal_list\7f1905,78270
-:- pred calculate_goal_info\7f1916,78681
-:- func chain_subst\7f1932,79320
-:- pred chain_subst_2\7f1938,79483
-:- some [T] pred unravel_univ\7f1956,80061
-:- pragma foreign_export\7f1957,80117
-\f
-c-src/c.c,76
-T f(\7f1,0
-}T i;\7f2,14
-void bar(\7f5,69
-int foobar(\7f6,94
-interface_locate(\7f9,131
-\f
-c.c,1807
-my_printf \7f135,
-void fatala \7f138,
-max \7f141,
-struct bar \7f143,
-__attribute__ ((always_inline)) max \7f147,
-struct foo\7f150,
-char stack[\7fstack\ 1155,
-struct S \7f156,
-} wait_status_ptr_t \7f161,
-Some_Class  A \7f162,
-typedef T1 T3 \7f163,
-T3 z \7f164,
-typedef int more_aligned_int \7f165,
-struct S  __attribute__ ((vector_size (16))) foo;\7f166,
-int foo \7f167,
-char *__attribute__((aligned(8))) *f;\7ff\ 1168,
-int i \7f169,
-extern void foobar \7f170,
-typedef struct cacheLRUEntry_s\7f172,
-__attribute__ ((packed)) cacheLRUEntry_t;\7f177,
-struct foo \7f178,
-     f1 \7f183,
-void f2 \7f184,
-int x \7f188,
-struct foo \7f189,
-short array[\7farray\ 1190,
-int f\7f193,
-DEAFUN \7f196,
-XDEFUN \7f203,
-DEFUN ("x-get-selection-internal", Fx_get_selection_internal,\7f206,
-DEFUN ("x-get-selection-internal", Fx_get_selection_internal,\7fx-get-selection-internal\ 1206,
-       Fx_get_selection_internal,\7f212,
-       Fx_get_selection_internal,\7fx-get-selection-internal\ 1212,
-      Fy_get_selection_internal,\7f216,
-      Fy_get_selection_internal,\7fy-get-selection-internal\ 1216,
-defun_func1(\7f218,
-DEFUN_func2(\7f220,
-typedef int bool;\7f222,
-bool funcboo \7f223,
-struct my_struct \7f226,
-typedef struct my_struct my_typedef;\7f228,
-int bla \7f229,
-a(\7f234,
-int func1\7f237,
-static struct cca_control init_control \7f239,
-static tpcmd rbtp \7f240,
-static byte ring1 \7f241,
-static byte ring2 \7f242,
-request request \7f243,
-int func2 \7f246,
-  aaa;\7f249,
-  bbb;\7f251,
-struct sss1 \7f252,
-struct sss2\7f253,
-  struct ss3\7f255,
-struct a b;\7f259,
-struct aa *b;\7fb\ 1260,
-  **b;\7fb\ 1262,
-caccacacca \7f263,
-a \7f267,
-  typedef struct aa \7f269,
-  typedef struct aa {} aaa;\7f269,
-static void inita \7f271,
-node *lasta \7flasta\ 1272,
-b \7f273,
-  typedef  int bb;\7f275,
-static void initb \7f277,
-node *lastb \7flastb\ 1278,
-typedef enum { REG_ENOSYS \7f279,
-typedef enum { REG_ENOSYS = -1, aa \7f279,
-typedef enum { REG_ENOSYS = -1, aa } reg_errcode_t;\7f279,
-\f
-c-src/a/b/b.c,18
-#define this \7f1,0
-\f
-../c/c.web,20
-#define questo \7f34,
-\f
-y-src/parse.y,738
-#define obstack_chunk_alloc \7f47,1124
-#define obstack_chunk_free \7f48,1162
-VOIDSTAR parse_hash;\7f64,1413
-unsigned char fnin[\7ffnin\ 168,1532
-#define YYSTYPE \7f72,1630
-typedef struct node *YYSTYPE;\7fYYSTYPE\ 173,1661
-YYSTYPE parse_return;\7f74,1691
-char *instr;\7finstr\ 181,1803
-int parse_error \7f82,1816
-line:\7fline\ 187,1875
-exp:\7fexp\ 195,1988
-exp_list:\7fexp_list\ 1263,5655
-range_exp:\7frange_exp\ 1269,5753
-range_exp_list:\7frange_exp_list\ 1273,5783
-cell:\7fcell\ 1279,5901
-yyerror FUN1(\7f286,5948
-make_list FUN2(\7f293,6028
-#define ERROR \7f304,6228
-yylex FUN0(\7f315,6405
-parse_cell_or_range FUN2(\7f587,11772
-#define CK_ABS_R(\7f671,13214
-#define CK_REL_R(\7f675,13293
-#define CK_ABS_C(\7f680,13422
-#define CK_REL_C(\7f684,13501
-#define MAYBEREL(\7f689,13630
-str_to_col FUN1(\7f847,16831
-\f
-y-src/parse.c,520
-#define YYBISON \7f4,64
-# define       NE      \7f6,114
-# define       LE      \7f7,130
-# define       GE      \7f8,146
-# define       NEG     \7f9,162
-# define       L_CELL  \7f10,179
-# define       L_RANGE \7f11,199
-# define       L_VAR   \7f12,220
-# define       L_CONST \7f13,239
-# define       L_FN0   \7f14,260
-# define       L_FN1   \7f15,279
-# define       L_FN2   \7f16,298
-# define       L_FN3   \7f17,317
-# define       L_FN4   \7f18,336
-# define       L_FNN   \7f19,355
-# define       L_FN1R  \7f20,374
-# define       L_FN2R  \7f21,394
-# define       L_FN3R  \7f22,414
-# define       L_FN4R  \7f23,434
-# define       L_FNNR  \7f24,454
-# define       L_LE    \7f25,474
-# define       L_NE    \7f26,492
-# define       L_GE    \7f27,510
-\f
-/usr/share/bison/bison.simple,1693
-# define YYSTD(\7f40,
-# define YYSTD(\7f42,
-#  define YYSTACK_ALLOC \7f50,
-#  define YYSIZE_T \7f51,
-#    define YYSTACK_ALLOC \7f55,
-#    define YYSIZE_T \7f56,
-#     define YYSTACK_ALLOC \7f59,
-#  define YYSTACK_FREE(\7f67,
-#   define YYSIZE_T \7f71,
-#    define YYSIZE_T \7f75,
-#  define YYSTACK_ALLOC \7f78,
-#  define YYSTACK_FREE \7f79,
-union yyalloc\7f83,
-# define YYSTACK_GAP_MAX \7f93,
-#  define YYSTACK_BYTES(\7f98,
-#  define YYSTACK_BYTES(\7f102,
-# define YYSTACK_RELOCATE(\7f112,
-# define YYSIZE_T \7f128,
-# define YYSIZE_T \7f131,
-#  define YYSIZE_T \7f136,
-#   define YYSIZE_T \7f140,
-# define YYSIZE_T \7f145,
-#define yyerrok        \7f148,
-#define yyclearin      \7f149,
-#define YYEMPTY        \7f150,
-#define YYEOF  \7f151,
-#define YYACCEPT       \7f152,
-#define YYABORT \7f153,
-#define YYERROR        \7f154,
-#define YYFAIL \7f158,
-#define YYRECOVERING(\7f159,
-#define YYBACKUP(\7f160,
-#define YYTERROR       \7f177,
-#define YYERRCODE      \7f178,
-# define YYLLOC_DEFAULT(\7f189,
-#   define YYLEX       \7f200,
-#   define YYLEX       \7f202,
-#   define YYLEX       \7f206,
-#   define YYLEX       \7f208,
-# define YYLEX \7f212,
-#  define YYFPRINTF \7f225,
-# define YYDPRINTF(\7f228,
-int yydebug;\7f237,
-# define YYDPRINTF(\7f239,
-# define YYINITDEPTH \7f244,
-# undef YYMAXDEPTH\7f255,
-# define YYMAXDEPTH \7f259,
-#  define yymemcpy \7f264,
-yymemcpy \7f271,
-#   define yystrlen \7f293,
-yystrlen \7f298,
-#   define yystpcpy \7f316,
-yystpcpy \7f322,
-#  define YYPARSE_PARAM_ARG \7f351,
-#  define YYPARSE_PARAM_DECL\7f352,
-#  define YYPARSE_PARAM_ARG \7f354,
-#  define YYPARSE_PARAM_DECL \7f355,
-# define YYPARSE_PARAM_ARG\7f358,
-# define YYPARSE_PARAM_DECL\7f359,
-#define YY_DECL_NON_LSP_VARIABLES      \7f374,
-# define YY_DECL_VARIABLES     \7f385,
-# define YY_DECL_VARIABLES     \7f391,
-yyparse \7f403,
-# define YYPOPSTACK \7f445,
-# define YYPOPSTACK \7f447,
-# undef YYSTACK_RELOCATE\7f548,
-\f
-y-src/atest.y,9
-exp    \7f2,3
-\f
-y-src/cccp.c,303
-#define YYBISON \7f4,63
-# define       INT     \7f6,113
-# define       CHAR    \7f7,130
-# define       NAME    \7f8,148
-# define       ERROR   \7f9,166
-# define       OR      \7f10,185
-# define       AND     \7f11,201
-# define       EQUAL   \7f12,218
-# define       NOTEQUAL        \7f13,237
-# define       LEQ     \7f14,259
-# define       GEQ     \7f15,276
-# define       LSH     \7f16,293
-# define       RSH     \7f17,310
-# define       UNARY   \7f18,327
-\f
-/usr/share/bison/bison.simple,2110
-# define YYSTD(\7f41,
-# define YYSTD(\7f43,
-#  define YYSTACK_ALLOC \7f51,
-#  define YYSIZE_T \7f52,
-#    define YYSTACK_ALLOC \7f56,
-#    define YYSIZE_T \7f57,
-#     define YYSTACK_ALLOC \7f60,
-#  define YYSTACK_FREE(\7f68,
-#   define YYSIZE_T \7f72,
-#    define YYSIZE_T \7f76,
-#  define YYSTACK_ALLOC \7f79,
-#  define YYSTACK_FREE \7f80,
-union yyalloc\7f84,
-# define YYSTACK_GAP_MAX \7f94,
-#  define YYSTACK_BYTES(\7f99,
-#  define YYSTACK_BYTES(\7f103,
-# define YYSTACK_RELOCATE(\7f113,
-# define YYSIZE_T \7f129,
-# define YYSIZE_T \7f132,
-#  define YYSIZE_T \7f137,
-#   define YYSIZE_T \7f141,
-# define YYSIZE_T \7f146,
-#define yyerrok        \7f149,
-#define yyclearin      \7f150,
-#define YYEMPTY        \7f151,
-#define YYEOF  \7f152,
-#define YYACCEPT       \7f153,
-#define YYABORT \7f154,
-#define YYERROR        \7f155,
-#define YYFAIL \7f159,
-#define YYRECOVERING(\7f160,
-#define YYBACKUP(\7f161,
-#define YYTERROR       \7f178,
-#define YYERRCODE      \7f179,
-# define YYLLOC_DEFAULT(\7f190,
-#   define YYLEX       \7f201,
-#   define YYLEX       \7f203,
-#   define YYLEX       \7f207,
-#   define YYLEX       \7f209,
-# define YYLEX \7f213,
-#  define YYFPRINTF \7f226,
-# define YYDPRINTF(\7f229,
-int yydebug;\7f238,
-# define YYDPRINTF(\7f240,
-# define YYINITDEPTH \7f245,
-# undef YYMAXDEPTH\7f256,
-# define YYMAXDEPTH \7f260,
-#  define yymemcpy \7f265,
-yymemcpy \7f272,
-#   define yystrlen \7f294,
-yystrlen \7f299,
-#   define yystpcpy \7f317,
-yystpcpy \7f323,
-#  define YYPARSE_PARAM_ARG \7f351,
-#  define YYPARSE_PARAM_DECL\7f352,
-#  define YYPARSE_PARAM_ARG \7f354,
-#  define YYPARSE_PARAM_DECL \7f355,
-# define YYPARSE_PARAM_ARG\7f358,
-# define YYPARSE_PARAM_DECL\7f359,
-#define YY_DECL_NON_LSP_VARIABLES      \7f374,
-# define YY_DECL_VARIABLES     \7f385,
-# define YY_DECL_VARIABLES     \7f391,
-yyparse \7f403,
-# define YYPOPSTACK \7f445,
-# define YYPOPSTACK \7f447,
-# undef YYSTACK_RELOCATE\7f548,
-  *++yyvsp \7fyyvsp\ 1746,
-  *++yylsp \7fyylsp\ 1748,
-  yyn \7f755,
-  yystate \7f757,
-    yystate \7f761,
-  goto yynewstate;\7f763,
-  goto yyerrlab1;\7f823,
-  yyerrstatus \7f846,
-  goto yyerrhandle;\7f848,
-  yyn \7f861,
-  yystate \7f875,
-  yyn \7f895,
-  yyn \7f903,
-  *++yyvsp \7fyyvsp\ 1919,
-  *++yylsp \7fyylsp\ 1921,
-  yystate \7f924,
-  goto yynewstate;\7f925,
-  yyresult \7f932,
-  goto yyreturn;\7f933,
-  yyresult \7f939,
-  goto yyreturn;\7f940,
-  yyresult \7f947,
-\f
-y-src/cccp.y,1107
-typedef unsigned char U_CHAR;\7f38,1201
-struct arglist \7f41,1301
-#define NULL \7f51,1468
-#define GENERIC_PTR \7f56,1578
-#define GENERIC_PTR \7f58,1611
-#define NULL_PTR \7f63,1670
-int expression_value;\7f68,1743
-static jmp_buf parse_return_error;\7f70,1766
-static int keyword_parsing \7f73,1865
-#define CHAR_TYPE_SIZE \7f87,2162
-#define INT_TYPE_SIZE \7f91,2229
-#define LONG_TYPE_SIZE \7f95,2296
-#define WCHAR_TYPE_SIZE \7f99,2365
-#define possible_sum_sign(\7f104,2556
-  struct constant \7f112,2733
-  struct name \7f113,2789
-start \7f143,3226
-exp1   \7f148,3330
-exp    \7f156,3505
-exp    \7f185,4295
-keywords \7f306,7835
-static char *lexptr;\7flexptr\ 1332,8579
-parse_number \7f341,8842
-struct token \7f437,11038
-static struct token tokentab2[\7ftokentab2\ 1442,11088
-yylex \7f459,11367
-parse_escape \7f740,17718
-yyerror \7f836,19599
-integer_overflow \7f844,19690
-left_shift \7f851,19804
-right_shift \7f873,20194
-parse_c_expression \7f893,20732
-main \7f923,21483
-unsigned char is_idchar[\7fis_idchar\ 1948,21901
-unsigned char is_idstart[\7fis_idstart\ 1950,21996
-char is_hor_space[\7fis_hor_space\ 1953,22160
-initialize_random_junk \7f958,22259
-error \7f988,22915
-warning \7f993,22963
-lookup \7f999,23033
-\f
-tex-src/nonewline.tex,0
-\f
-php-src/sendmail.php,0
-\f
-c-src/fail.c,0
-\f
-a-src/empty.zz,0
diff --git a/test/manual/etags/ETAGS.good_5 b/test/manual/etags/ETAGS.good_5
deleted file mode 100644 (file)
index 3e238a5..0000000
+++ /dev/null
@@ -1,5613 +0,0 @@
-\f
-ada-src/etags-test-for.ada,1969
-   type LL_Task_Procedure_Access \7fLL_Task_Procedure_Access/t\ 11,0
-   function Body_Required\7fBody_Required/f\ 13,78
-   type Type_Specific_Data \7fType_Specific_Data/t\ 111,280
-   function "abs"\7fabs/f\ 119,504
-   type Barrier_Function_Pointer \7fBarrier_Function_Pointer/t\ 121,577
-   function "="\7f=/f\ 127,722
-   type usfreelock_ptr \7fusfreelock_ptr/t\ 130,803
-   function p \7fp/f\ 133,891
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 137,1054
-function p \7fp/f\ 139,1094
-package Pkg1 \7fPkg1/s\ 144,1203
-  type Private_T \7fPrivate_T/t\ 146,1220
-  package Inner1 \7fInner1/s\ 148,1250
-    procedure Private_T;\7fPrivate_T/p\ 149,1270
-  package Inner2 \7fInner2/s\ 152,1310
-    task Private_T;\7fPrivate_T/k\ 153,1330
-  type Public_T \7fPublic_T/t\ 156,1365
-  procedure Pkg1_Proc1;\7fPkg1_Proc1/p\ 162,1450
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 164,1475
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 166,1514
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 168,1553
-  package Pkg1_Pkg1 \7fPkg1_Pkg1/s\ 171,1622
-    procedure Pkg1_Pkg1_Proc1;\7fPkg1_Pkg1_Proc1/p\ 172,1645
-  task type Task_Type \7fTask_Type/k\ 175,1694
-  type Private_T \7fPrivate_T/t\ 182,1786
-package body Pkg1 \7fPkg1/b\ 189,1882
-  procedure Pkg1_Proc1 \7fPkg1_Proc1/p\ 191,1904
-  package body Inner1 \7fInner1/b\ 196,1956
-    procedure Private_T \7fPrivate_T/p\ 197,1981
-  package body Inner2 \7fInner2/b\ 1103,2054
-    task body Private_T \7fPrivate_T/b\ 1104,2079
-  task body Task_Type \7fTask_Type/b\ 1112,2181
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 1126,2367
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 1132,2445
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 1134,2496
-  package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1140,2596
-package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1146,2663
-  procedure Pkg1_Pkg1_Proc1 \7fPkg1_Pkg1_Proc1/p\ 1147,2689
-function  Pkg1_Func1 \7fPkg1_Func1/f\ 1155,2778
-package Truc \7fTruc/s\ 1162,2887
-package Truc.Bidule \7fTruc.Bidule/s\ 1166,2929
-  protected Bidule \7fBidule/t\ 1168,2953
-  protected type Machin_T \7fMachin_T/t\ 1172,3007
-package body Truc.Bidule \7fTruc.Bidule/b\ 1178,3087
-  protected body Bidule \7fBidule/b\ 1179,3115
-  protected Machin_T \7fMachin_T/t\ 1186,3207
-\f
-ada-src/2ataspri.adb,2190
-package body System.Task_Primitives \7fSystem.Task_Primitives/b\ 164,2603
-   package RTE \7fRTE/s\ 169,2712
-   package TSL \7fTSL/s\ 170,2759
-   function To_void_ptr \7fTo_void_ptr/f\ 186,3287
-   function To_TCB_Ptr \7fTo_TCB_Ptr/f\ 189,3366
-   function pthread_mutexattr_setprotocol\7fpthread_mutexattr_setprotocol/f\ 192,3444
-   function pthread_mutexattr_setprio_ceiling\7fpthread_mutexattr_setprio_ceiling/f\ 199,3728
-   procedure Abort_Wrapper\7fAbort_Wrapper/p\ 1115,4302
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 1122,4526
-   procedure Initialize_LL_Tasks \7fInitialize_LL_Tasks/p\ 1131,4830
-   function Self \7fSelf/f\ 1160,5586
-   procedure Initialize_Lock\7fInitialize_Lock/p\ 1174,5958
-   procedure Finalize_Lock \7fFinalize_Lock/p\ 1210,6927
-   procedure Write_Lock \7fWrite_Lock/p\ 1226,7338
-   procedure Read_Lock \7fRead_Lock/p\ 1239,7700
-   procedure Unlock \7fUnlock/p\ 1246,7850
-   procedure Initialize_Cond \7fInitialize_Cond/p\ 1258,8160
-   procedure Finalize_Cond \7fFinalize_Cond/p\ 1286,8979
-   procedure Cond_Wait \7fCond_Wait/p\ 1300,9303
-   procedure Cond_Timed_Wait\7fCond_Timed_Wait/p\ 1312,9661
-   procedure Cond_Signal \7fCond_Signal/p\ 1343,10510
-   procedure Set_Priority\7fSet_Priority/p\ 1355,10836
-   procedure Set_Own_Priority \7fSet_Own_Priority/p\ 1372,11243
-   function Get_Priority \7fGet_Priority/f\ 1385,11598
-   function Get_Own_Priority \7fGet_Own_Priority/f\ 1398,12023
-   procedure Create_LL_Task\7fCreate_LL_Task/p\ 1412,12438
-      function To_Start_Addr \7fTo_Start_Addr/f\ 1426,12873
-   procedure Exit_LL_Task \7fExit_LL_Task/p\ 1491,14995
-   procedure Abort_Task \7fAbort_Task/p\ 1500,15158
-   procedure Test_Abort \7fTest_Abort/p\ 1518,15716
-   procedure Install_Abort_Handler \7fInstall_Abort_Handler/p\ 1527,15878
-   procedure Abort_Wrapper\7fAbort_Wrapper/p\ 1557,16939
-      function Address_To_Call_State \7fAddress_To_Call_State/f\ 1562,17062
-   procedure Install_Error_Handler \7fInstall_Error_Handler/p\ 1573,17351
-   procedure LL_Assert \7fLL_Assert/p\ 1599,18146
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 1608,18299
-   procedure Initialize_TAS_Cell \7fInitialize_TAS_Cell/p\ 1630,19010
-   procedure Finalize_TAS_Cell \7fFinalize_TAS_Cell/p\ 1635,19129
-   procedure Clear \7fClear/p\ 1640,19236
-   procedure Test_And_Set \7fTest_And_Set/p\ 1645,19330
-   function  Is_Set \7fIs_Set/f\ 1659,19676
-\f
-ada-src/2ataspri.ads,2313
-package System.Task_Primitives \7fSystem.Task_Primitives/s\ 158,3169
-   type LL_Task_Procedure_Access \7fLL_Task_Procedure_Access/t\ 162,3253
-   type Pre_Call_State \7fPre_Call_State/t\ 164,3331
-   type Task_Storage_Size \7fTask_Storage_Size/t\ 166,3378
-   type Machine_Exceptions \7fMachine_Exceptions/t\ 168,3433
-   type Error_Information \7fError_Information/t\ 170,3499
-   type Lock \7fLock/t\ 172,3569
-   type Condition_Variable \7fCondition_Variable/t\ 173,3594
-   type Task_Control_Block \7fTask_Control_Block/t\ 181,3955
-   type TCB_Ptr \7fTCB_Ptr/t\ 189,4241
-   function Address_To_TCB_Ptr \7fAddress_To_TCB_Ptr/f\ 193,4333
-   procedure Initialize_LL_Tasks \7fInitialize_LL_Tasks/p\ 196,4425
-   function Self \7fSelf/f\ 1100,4602
-   procedure Initialize_Lock \7fInitialize_Lock/p\ 1103,4707
-   procedure Finalize_Lock \7fFinalize_Lock/p\ 1107,4879
-   procedure Write_Lock \7fWrite_Lock/p\ 1111,5034
-   procedure Read_Lock \7fRead_Lock/p\ 1118,5428
-   procedure Unlock \7fUnlock/p\ 1128,5995
-   procedure Initialize_Cond \7fInitialize_Cond/p\ 1135,6300
-   procedure Finalize_Cond \7fFinalize_Cond/p\ 1138,6413
-   procedure Cond_Wait \7fCond_Wait/p\ 1142,6591
-   procedure Cond_Timed_Wait\7fCond_Timed_Wait/p\ 1155,7396
-   procedure Cond_Signal \7fCond_Signal/p\ 1164,7812
-   procedure Set_Priority \7fSet_Priority/p\ 1169,8040
-   procedure Set_Own_Priority \7fSet_Own_Priority/p\ 1173,8200
-   function Get_Priority \7fGet_Priority/f\ 1177,8348
-   function Get_Own_Priority \7fGet_Own_Priority/f\ 1181,8504
-   procedure Create_LL_Task\7fCreate_LL_Task/p\ 1185,8647
-   procedure Exit_LL_Task;\7fExit_LL_Task/p\ 1198,9282
-   procedure Abort_Task \7fAbort_Task/p\ 1203,9516
-   procedure Test_Abort;\7fTest_Abort/p\ 1210,9878
-   type Abort_Handler_Pointer \7fAbort_Handler_Pointer/t\ 1217,10233
-   procedure Install_Abort_Handler \7fInstall_Abort_Handler/p\ 1219,10312
-   procedure Install_Error_Handler \7fInstall_Error_Handler/p\ 1226,10741
-   procedure LL_Assert \7fLL_Assert/p\ 1231,10983
-   type Proc \7fProc/t\ 1238,11240
-   type TAS_Cell \7fTAS_Cell/t\ 1242,11328
-   procedure Initialize_TAS_Cell \7fInitialize_TAS_Cell/p\ 1249,11670
-   procedure Finalize_TAS_Cell \7fFinalize_TAS_Cell/p\ 1255,11941
-   procedure Clear \7fClear/p\ 1260,12157
-   procedure Test_And_Set \7fTest_And_Set/p\ 1267,12462
-   function  Is_Set \7fIs_Set/f\ 1275,12877
-   type Lock \7fLock/t\ 1283,13155
-   type Condition_Variable \7fCondition_Variable/t\ 1288,13267
-   type TAS_Cell \7fTAS_Cell/t\ 1293,13389
-\f
-ada-src/waroquiers.ada,1503
-package Pkg1 \7fPkg1/s\ 13,89
-  type Private_T \7fPrivate_T/t\ 15,106
-  package Inner1 \7fInner1/s\ 17,136
-    procedure Private_T;\7fPrivate_T/p\ 18,156
-  package Inner2 \7fInner2/s\ 111,196
-    task Private_T;\7fPrivate_T/k\ 112,216
-  type Public_T \7fPublic_T/t\ 115,251
-  procedure Pkg1_Proc1;\7fPkg1_Proc1/p\ 121,336
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 123,361
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 125,400
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 127,439
-  package Pkg1_Pkg1 \7fPkg1_Pkg1/s\ 130,508
-    procedure Pkg1_Pkg1_Proc1;\7fPkg1_Pkg1_Proc1/p\ 131,531
-  task type Task_Type \7fTask_Type/k\ 134,580
-  type Private_T \7fPrivate_T/t\ 140,671
-package body Pkg1 \7fPkg1/b\ 146,766
-  procedure Pkg1_Proc1 \7fPkg1_Proc1/p\ 148,788
-  package body Inner1 \7fInner1/b\ 153,840
-    procedure Private_T \7fPrivate_T/p\ 154,865
-  package body Inner2 \7fInner2/b\ 160,938
-    task body Private_T \7fPrivate_T/b\ 161,963
-  task body Task_Type \7fTask_Type/b\ 168,1064
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 182,1250
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 188,1328
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 190,1379
-  package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 196,1479
-package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1100,1544
-  procedure Pkg1_Pkg1_Proc1 \7fPkg1_Pkg1_Proc1/p\ 1101,1570
-function  Pkg1_Func1 \7fPkg1_Func1/f\ 1107,1657
-package Truc \7fTruc/s\ 1112,1764
-package Truc.Bidule \7fTruc.Bidule/s\ 1116,1816
-  protected Bidule \7fBidule/t\ 1125,1964
-  protected type Machin_T \7fMachin_T/t\ 1131,2046
-package body Truc.Bidule \7fTruc.Bidule/b\ 1138,2153
-  protected body Bidule \7fBidule/b\ 1139,2181
-  protected body Machin_T \7fMachin_T/b\ 1146,2281
-\f
-c-src/abbrev.c,3055
-Lisp_Object Vabbrev_table_name_list;\7f43,1429
-Lisp_Object Vglobal_abbrev_table;\7f48,1574
-Lisp_Object Vfundamental_mode_abbrev_table;\7f52,1685
-int abbrevs_changed;\7f56,1786
-int abbrev_all_caps;\7f58,1808
-Lisp_Object Vabbrev_start_location;\7f63,1957
-Lisp_Object Vabbrev_start_location_buffer;\7f66,2046
-Lisp_Object Vlast_abbrev;\7f70,2155
-Lisp_Object Vlast_abbrev_text;\7f75,2324
-int last_abbrev_point;\7f79,2414
-DEFUN ("make-abbrev-table", Fmake_abbrev_table,\7f82,2440
-DEFUN ("make-abbrev-table", Fmake_abbrev_table,\7fmake-abbrev-table\ 182,2440
-DEFUN ("clear-abbrev-table", Fclear_abbrev_table,\7f89,2632
-DEFUN ("clear-abbrev-table", Fclear_abbrev_table,\7fclear-abbrev-table\ 189,2632
-DEFUN ("define-abbrev", Fdefine_abbrev,\7f104,3013
-DEFUN ("define-abbrev", Fdefine_abbrev,\7fdefine-abbrev\ 1104,3013
-DEFUN ("define-global-abbrev", Fdefine_global_abbrev,\7f146,4332
-DEFUN ("define-global-abbrev", Fdefine_global_abbrev,\7fdefine-global-abbrev\ 1146,4332
-DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,\7f157,4703
-DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,\7fdefine-mode-abbrev\ 1157,4703
-DEFUN ("abbrev-symbol", Fabbrev_symbol,\7f171,5171
-DEFUN ("abbrev-symbol", Fabbrev_symbol,\7fabbrev-symbol\ 1171,5171
-DEFUN ("abbrev-expansion", Fabbrev_expansion,\7f199,6135
-DEFUN ("abbrev-expansion", Fabbrev_expansion,\7fabbrev-expansion\ 1199,6135
-DEFUN ("expand-abbrev", Fexpand_abbrev,\7f215,6650
-DEFUN ("expand-abbrev", Fexpand_abbrev,\7fexpand-abbrev\ 1215,6650
-DEFUN ("unexpand-abbrev", Funexpand_abbrev,\7f383,11495
-DEFUN ("unexpand-abbrev", Funexpand_abbrev,\7funexpand-abbrev\ 1383,11495
-write_abbrev \7f420,12702
-describe_abbrev \7f439,13137
-DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,\7f460,13652
-DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,\7finsert-abbrev-table-description\ 1460,13652
-DEFUN ("define-abbrev-table", Fdefine_abbrev_table,\7f500,14808
-DEFUN ("define-abbrev-table", Fdefine_abbrev_table,\7fdefine-abbrev-table\ 1500,14808
-syms_of_abbrev \7f534,15885
-  DEFVAR_LISP ("abbrev-table-name-list"\7f536,15905
-  DEFVAR_LISP ("global-abbrev-table"\7f542,16167
-  DEFVAR_LISP ("fundamental-mode-abbrev-table"\7f549,16489
-  DEFVAR_LISP ("last-abbrev"\7f555,16831
-  DEFVAR_LISP ("last-abbrev-text"\7f558,16954
-  DEFVAR_INT ("last-abbrev-location"\7f562,17112
-  DEFVAR_LISP ("abbrev-start-location"\7f569,17311
-  DEFVAR_LISP ("abbrev-start-location-buffer"\7f575,17588
-  DEFVAR_PER_BUFFER ("local-abbrev-table"\7f580,17852
-  DEFVAR_BOOL ("abbrevs-changed"\7f583,17995
-  DEFVAR_BOOL ("abbrev-all-caps"\7f588,18198
-  DEFVAR_LISP ("abbrev-table-name-list",\7f\1\ 1536,15905
-  DEFVAR_LISP ("global-abbrev-table",\7f\1\ 1542,16167
-  DEFVAR_LISP ("fundamental-mode-abbrev-table",\7f\1\ 1549,16489
-  DEFVAR_LISP ("last-abbrev",\7f\1\ 1555,16831
-  DEFVAR_LISP ("last-abbrev-text",\7f\1\ 1558,16954
-  DEFVAR_INT ("last-abbrev-location",\7f\1\ 1562,17112
-  DEFVAR_LISP ("abbrev-start-location",\7f\1\ 1569,17311
-  DEFVAR_LISP ("abbrev-start-location-buffer",\7f\1\ 1575,17588
-  DEFVAR_PER_BUFFER ("local-abbrev-table",\7f\1\ 1580,17852
-  DEFVAR_BOOL ("abbrevs-changed",\7f\1\ 1583,17995
-  DEFVAR_BOOL ("abbrev-all-caps",\7f\1\ 1588,18198
-\f
-c-src/torture.c,197
-(*tag1 \7ftag1\ 118,452
-#define notag2 \7f26,553
-(*tag2 \7ftag2\ 129,630
-(*tag3 \7ftag3\ 139,772
-#define notag4 \7f45,861
-(*tag4 \7ftag4\ 148,955
-tag5 \7f57,1081
-tag6 \7f66,1208
-int pp1(\7f74,1317
-pp2\7f87,1419
-pp3(\7f100,1518
-\f
-c-src/getopt.h,666
-#define _GETOPT_H \7f19,799
-extern char *optarg;\7foptarg\ 131,1107
-extern int optind;\7f45,1615
-extern int opterr;\7f50,1741
-struct option\7f73,2795
-  const char *name;\7fname\ 176,2824
-  char *name;\7fname\ 178,2850
-  int has_arg;\7f82,3007
-  int *flag;\7fflag\ 183,3022
-  int val;\7f84,3035
-#define        no_argument     \7f89,3122
-#define required_argument      \7f90,3145
-#define optional_argument      \7f91,3173
-extern int getopt \7f98,3438
-extern int getopt \7f100,3542
-extern int getopt_long \7f102,3597
-extern int getopt_long_only \7f104,3729
-extern int _getopt_internal \7f109,3940
-extern int getopt \7f114,4138
-extern int getopt_long \7f115,4160
-extern int getopt_long_only \7f116,4187
-extern int _getopt_internal \7f118,4220
-\f
-c-src/etags.c,14175
-char pot_etags_version[\7fpot_etags_version\ 181,3471
-#  undef DEBUG\7f84,3553
-#  define DEBUG \7f85,3568
-#  define DEBUG \7f87,3595
-#  define NDEBUG       \7f88,3618
-# define _GNU_SOURCE \7f94,3706
-# undef MSDOS\7f100,3877
-# undef  WINDOWSNT\7f101,3891
-# define WINDOWSNT\7f102,3910
-# undef MSDOS\7f106,3969
-# define MSDOS \7f107,3983
-# define MSDOS \7f110,4033
-# define MAXPATHLEN \7f115,4112
-# undef HAVE_NTGUI\7f116,4142
-# undef  DOS_NT\7f117,4161
-# define DOS_NT\7f118,4177
-# undef  assert        \7f135,4483
-# define assert(\7f136,4542
-# undef  CTAGS\7f146,4858
-# define CTAGS \7f147,4873
-# define CTAGS \7f149,4899
-#define streq(\7f152,4928
-#define strcaseeq(\7f153,4997
-#define strneq(\7f154,5076
-#define strncaseeq(\7f155,5152
-#define CHARS \7f157,5239
-#define CHAR(\7f158,5279
-#define        iswhite(\7f159,5330
-#define notinname(\7f160,5395
-#define        begtoken(\7f161,5470
-#define        intoken(\7f162,5543
-#define        endtoken(\7f163,5615
-#define ISALNUM(\7f165,5685
-#define ISALPHA(\7f166,5723
-#define ISDIGIT(\7f167,5761
-#define ISLOWER(\7f168,5799
-#define lowcase(\7f170,5838
-#define xnew(\7f179,6016
-#define xrnew(\7f180,6084
-typedef void Lang_function \7f182,6165
-  const char *suffix;\7fsuffix\ 1186,6220
-  const char *command;\7fcommand\ 1187,6295
-} compressor;\7f188,6366
-  const char *name;\7fname\ 1192,6398
-  const char *help;\7fhelp\ 1193,6450
-  Lang_function *function;\7ffunction\ 1194,6509
-  const char **suffixes;\7fsuffixes\ 1195,6557
-  const char **filenames;\7ffilenames\ 1196,6634
-  const char **interpreters;\7finterpreters\ 1197,6703
-  bool metasource;\7f198,6772
-} language;\7f199,6836
-typedef struct fdesc\7f201,6849
-  struct fdesc *next;\7fnext\ 1203,6872
-  char *infname;\7finfname\ 1204,6921
-  char *infabsname;\7finfabsname\ 1205,6974
-  char *infabsdir;\7finfabsdir\ 1206,7039
-  char *taggedfname;\7ftaggedfname\ 1207,7092
-  language *lang;\7flang\ 1208,7150
-  char *prop;\7fprop\ 1209,7192
-  bool usecharno;\7f210,7250
-  bool written;\7f211,7312
-} fdesc;\7f212,7367
-typedef struct node_st\7f214,7377
-  struct node_st *left,\7fleft\ 1216,7429
-  struct node_st *left, *right;\7fright\ 1216,7429
-  fdesc *fdp;\7ffdp\ 1217,7487
-  char *name;\7fname\ 1218,7549
-  char *regex;\7fregex\ 1219,7581
-  bool valid;\7f220,7618
-  bool is_func;\7f221,7671
-  bool been_warned;\7f222,7734
-  int lno;\7f223,7802
-  long cno;\7f224,7843
-} node;\7f225,7895
-  long size;\7f236,8209
-  int len;\7f237,8222
-  char *buffer;\7fbuffer\ 1238,8233
-} linebuffer;\7f239,8249
-    at_language,\7f245,8345
-    at_regexp,\7f246,8394
-    at_filename,\7f247,8438
-    at_stdin,\7f248,8474
-    at_end     \7f249,8517
-  } arg_type;\7f250,8558
-  language *lang;\7flang\ 1251,8594
-  char *what;\7fwhat\ 1252,8657
-} argument;\7f253,8699
-typedef struct regexp\7f256,8759
-  struct regexp *p_next;\7fp_next\ 1258,8783
-  language *lang;\7flang\ 1259,8838
-  char *pattern;\7fpattern\ 1260,8898
-  char *name;\7fname\ 1261,8941
-  struct re_pattern_buffer *pat;\7fpat\ 1262,8972
-  struct re_registers regs;\7f263,9032
-  bool error_signaled;\7f264,9079
-  bool force_explicit_name;\7f265,9142
-  bool ignore_case;\7f266,9207
-  bool multi_line;\7f267,9260
-} regexp;\7f268,9326
-static void Ada_funcs \7f274,9429
-static void Asm_labels \7f275,9461
-static void C_entries \7f276,9494
-static void default_C_entries \7f277,9537
-static void plain_C_entries \7f278,9577
-static void Cjava_entries \7f279,9615
-static void Cobol_paragraphs \7f280,9651
-static void Cplusplus_entries \7f281,9690
-static void Cstar_entries \7f282,9730
-static void Erlang_functions \7f283,9766
-static void Forth_words \7f284,9805
-static void Fortran_functions \7f285,9839
-static void HTML_labels \7f286,9879
-static void Lisp_functions \7f287,9913
-static void Lua_functions \7f288,9950
-static void Makefile_targets \7f289,9986
-static void Pascal_functions \7f290,10025
-static void Perl_functions \7f291,10064
-static void PHP_functions \7f292,10101
-static void PS_functions \7f293,10137
-static void Prolog_functions \7f294,10172
-static void Python_functions \7f295,10211
-static void Scheme_functions \7f296,10250
-static void TeX_commands \7f297,10289
-static void Texinfo_nodes \7f298,10324
-static void Yacc_entries \7f299,10360
-static void just_read_file \7f300,10395
-static language *get_language_from_langname \7fget_language_from_langname\ 1302,10433
-static void readline \7f303,10493
-static long readline_internal \7f304,10538
-static bool nocase_tail \7f305,10592
-static void get_tag \7f306,10632
-static void analyze_regex \7f308,10672
-static void free_regexps \7f309,10708
-static void regex_tag_multiline \7f310,10741
-static void error \7f311,10781
-# undef STDIN\7f408,15074
-#define STDIN \7f411,15096
-static compressor compressors[\7fcompressors\ 1457,17665
-static const char *Ada_suffixes \7fAda_suffixes\ 1473,17908
-static const char Ada_help \7f475,17978
-static const char *Asm_suffixes \7fAsm_suffixes\ 1493,18581
-static const char Asm_help \7f504,18977
-static const char *default_C_suffixes \7fdefault_C_suffixes\ 1512,19313
-static const char default_C_help \7f515,19414
-static const char default_C_help \7f523,19851
-static const char *Cplusplus_suffixes \7fCplusplus_suffixes\ 1535,20461
-static const char Cplusplus_help \7f540,20659
-static const char *Cjava_suffixes \7fCjava_suffixes\ 1549,21114
-static char Cjava_help \7f551,21173
-static const char *Cobol_suffixes \7fCobol_suffixes\ 1556,21338
-static char Cobol_help \7f558,21403
-static const char *Cstar_suffixes \7fCstar_suffixes\ 1562,21544
-static const char *Erlang_suffixes \7fErlang_suffixes\ 1565,21608
-static const char Erlang_help \7f567,21674
-const char *Forth_suffixes \7fForth_suffixes\ 1571,21800
-static const char Forth_help \7f573,21858
-static const char *Fortran_suffixes \7fFortran_suffixes\ 1577,22009
-static const char Fortran_help \7f579,22086
-static const char *HTML_suffixes \7fHTML_suffixes\ 1582,22191
-static const char HTML_help \7f584,22265
-static const char *Lisp_suffixes \7fLisp_suffixes\ 1589,22453
-static const char Lisp_help \7f591,22557
-static const char *Lua_suffixes \7fLua_suffixes\ 1598,22872
-static const char Lua_help \7f600,22935
-static const char *Makefile_filenames \7fMakefile_filenames\ 1603,23011
-static const char Makefile_help \7f605,23134
-static const char *Objc_suffixes \7fObjc_suffixes\ 1609,23278
-static const char Objc_help \7f613,23400
-static const char *Pascal_suffixes \7fPascal_suffixes\ 1619,23715
-static const char Pascal_help \7f621,23779
-static const char *Perl_suffixes \7fPerl_suffixes\ 1626,23967
-static const char *Perl_interpreters \7fPerl_interpreters\ 1628,24029
-static const char Perl_help \7f630,24101
-static const char *PHP_suffixes \7fPHP_suffixes\ 1637,24452
-static const char PHP_help \7f639,24524
-static const char *plain_C_suffixes \7fplain_C_suffixes\ 1643,24679
-static const char *PS_suffixes \7fPS_suffixes\ 1647,24763
-static const char PS_help \7f649,24849
-static const char *Prolog_suffixes \7fProlog_suffixes\ 1652,24932
-static const char Prolog_help \7f654,24994
-static const char *Python_suffixes \7fPython_suffixes\ 1658,25108
-static const char Python_help \7f660,25166
-static const char *Scheme_suffixes \7fScheme_suffixes\ 1665,25348
-static const char Scheme_help \7f667,25461
-static const char *TeX_suffixes \7fTeX_suffixes\ 1672,25684
-static const char TeX_help \7f674,25782
-static const char *Texinfo_suffixes \7fTexinfo_suffixes\ 1686,26317
-static const char Texinfo_help \7f688,26396
-static const char *Yacc_suffixes \7fYacc_suffixes\ 1691,26493
-static const char Yacc_help \7f693,26607
-static const char auto_help \7f699,26857
-static const char none_help \7f703,27021
-static const char no_lang_help \7f707,27144
-static language lang_names \7f718,27356
-print_language_names \7f753,29533
-# define EMACS_NAME \7f786,30756
-# define VERSION \7f789,30812
-print_version \7f792,30870
-# define PRINT_UNDOCUMENTED_OPTIONS_HELP \7f804,31174
-print_help \7f808,31251
-main \7f981,37439
-get_compressor_from_suffix \7f1319,46218
-get_language_from_langname \7f1355,47159
-get_language_from_interpreter \7f1377,47546
-get_language_from_filename \7f1399,47977
-process_file_name \7f1433,48835
-process_file \7f1555,51666
-init \7f1632,54151
-find_entries \7f1656,54902
-make_tag \7f1814,59708
-pfnote \7f1856,60943
-free_tree \7f1917,62745
-free_fdesc \7f1935,63030
-add_node \7f1955,63473
-invalidate_nodes \7f2035,65538
-static int total_size_of_entries \7f2067,66151
-static int number_len \7f2068,66194
-total_size_of_entries \7f2087,66695
-put_entries \7f2107,67155
-#define C_EXT  \7f2193,68996
-#define C_PLAIN \7f2194,69038
-#define C_PLPL \7f2195,69071
-#define C_STAR \7f2196,69105
-#define C_JAVA \7f2197,69138
-#define C_AUTO \7f2198,69173
-#define YACC   \7f2199,69243
-enum sym_type\7f2204,69313
-  st_none,\7f2206,69329
-  st_C_objprot,\7f2207,69340
-  st_C_objprot, st_C_objimpl,\7f2207,69340
-  st_C_objprot, st_C_objimpl, st_C_objend,\7f2207,69340
-  st_C_gnumacro,\7f2208,69383
-  st_C_ignore,\7f2209,69400
-  st_C_ignore, st_C_attribute,\7f2209,69400
-  st_C_javastruct,\7f2210,69431
-  st_C_operator,\7f2211,69450
-  st_C_class,\7f2212,69467
-  st_C_class, st_C_template,\7f2212,69467
-  st_C_struct,\7f2213,69496
-  st_C_struct, st_C_extern,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum, st_C_define,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum, st_C_define, st_C_typedef\7f2213,69496
-struct C_stab_entry \7f2271,71279
-struct C_stab_entry { const char *name;\7fname\ 12271,71279
-struct C_stab_entry { const char *name; int c_ext;\7f2271,71279
-struct C_stab_entry { const char *name; int c_ext; enum sym_type type;\7f2271,71279
-hash \7f2275,71410
-in_word_set \7f2321,72938
-      TOTAL_KEYWORDS \7f2325,73019
-      MIN_WORD_LENGTH \7f2326,73046
-      MAX_WORD_LENGTH \7f2327,73073
-      MIN_HASH_VALUE \7f2328,73101
-      MAX_HASH_VALUE \7f2329,73127
-C_symtype \7f2387,74986
-static bool inattribute;\7f2400,75235
-  fvnone,\7f2408,75436
-  fdefunkey,\7f2409,75467
-  fdefunname,\7f2410,75513
-  foperator,\7f2411,75557
-  fvnameseen,\7f2412,75614
-  fstartlist,\7f2413,75667
-  finlist,\7f2414,75723
-  flistseen,\7f2415,75766
-  fignore,\7f2416,75814
-  vignore      \7f2417,75857
-} fvdef;\7f2418,75902
-static bool fvextern;\7f2420,75912
-  tnone,\7f2428,76090
-  tkeyseen,\7f2429,76120
-  ttypeseen,\7f2430,76161
-  tinbody,\7f2431,76200
-  tend,\7f2432,76239
-  tignore      \7f2433,76280
-} typdef;\7f2434,76321
-  snone,\7f2443,76500
-  skeyseen,\7f2445,76576
-  stagseen,\7f2446,76621
-  scolonseen   \7f2447,76662
-} structdef;\7f2448,76716
-static const char *objtag \7fobjtag\ 12453,76810
-  dnone,\7f2460,76943
-  dsharpseen,\7f2461,76973
-  ddefineseen,\7f2462,77026
-  dignorerest  \7f2463,77071
-} definedef;\7f2464,77113
-  onone,\7f2472,77268
-  oprotocol,\7f2473,77298
-  oimplementation,\7f2474,77348
-  otagseen,\7f2475,77396
-  oparenseen,\7f2476,77432
-  ocatseen,\7f2477,77487
-  oinbody,\7f2478,77526
-  omethodsign,\7f2479,77569
-  omethodtag,\7f2480,77627
-  omethodcolon,\7f2481,77667
-  omethodparm,\7f2482,77710
-  oignore      \7f2483,77756
-} objdef;\7f2484,77788
-static struct tok\7f2491,77945
-  char *line;\7fline\ 12493,77965
-  int offset;\7f2494,78015
-  int length;\7f2495,78068
-  bool valid;\7f2502,78353
-  bool named;\7f2505,78488
-  int lineno;\7f2506,78529
-  long linepos;\7f2507,78577
-} token;\7f2508,78627
-static void pushclass_above \7f2514,78785
-static void popclass_above \7f2515,78833
-static void write_classname \7f2516,78867
-  char **cname;\7fcname\ 12519,78951
-  int *bracelev;\7fbracelev\ 12520,78994
-  int nl;\7f2521,79043
-  int size;\7f2522,79097
-} cstack;\7f2523,79137
-#define nestlev        \7f2525,79265
-#define instruct       \7f2527,79370
-pushclass_above \7f2531,79490
-popclass_above \7f2550,79949
-write_classname \7f2564,80163
-static bool consider_token \7f2592,80762
-static void make_C_tag \7f2593,80834
-consider_token \7f2613,81342
-  long linepos;\7f2922,88500
-  linebuffer lb;\7f2923,88516
-} lbs[\7flbs\ 12924,88533
-#define current_lb_is_new \7f2926,88544
-#define switch_line_buffers(\7f2927,88589
-#define curlb \7f2929,88642
-#define newlb \7f2930,88673
-#define curlinepos \7f2931,88704
-#define newlinepos \7f2932,88745
-#define plainc \7f2934,88787
-#define cplpl \7f2935,88831
-#define cjava \7f2936,88862
-#define CNL_SAVE_DEFINEDEF(\7f2938,88906
-#define CNL(\7f2947,89118
-make_C_tag \7f2960,89376
-C_entries \7f2986,90195
-default_C_entries \7f3833,110157
-plain_C_entries \7f3840,110277
-Cplusplus_entries \7f3847,110365
-Cjava_entries \7f3854,110461
-Cstar_entries \7f3861,110551
-Yacc_entries \7f3868,110643
-#define LOOP_ON_INPUT_LINES(\7f3875,110721
-#define LOOKING_AT(\7f3884,111057
-#define LOOKING_AT_NOCASE(\7f3891,111462
-just_read_file \7f3901,111862
-static void F_takeprec \7f3910,111966
-static void F_getit \7f3911,111997
-F_takeprec \7f3914,112040
-F_getit \7f3937,112367
-Fortran_functions \7f3961,112841
-Ada_getit \7f4052,114670
-Ada_funcs \7f4115,116045
-Asm_labels \7f4228,118583
-Perl_functions \7f4261,119550
-Python_functions \7f4357,122058
-PHP_functions \7f4387,122685
-Cobol_paragraphs \7f4466,124472
-Makefile_targets \7f4494,125030
-Pascal_functions \7f4529,125951
-static void L_getit \7f4706,130278
-L_getit \7f4709,130319
-Lisp_functions \7f4725,130665
-Lua_functions \7f4785,131851
-PS_functions \7f4811,132386
-Forth_words \7f4841,133054
-Scheme_functions \7f4877,134093
-static linebuffer *TEX_toktab \7fTEX_toktab\ 14908,134782
-static const char *TEX_defenv \7fTEX_defenv\ 14912,134975
-static void TEX_mode \7f4917,135173
-static void TEX_decode_env \7f4918,135204
-static char TEX_esc \7f4920,135262
-static char TEX_opgrp \7f4921,135290
-static char TEX_clgrp \7f4922,135319
-TeX_commands \7f4928,135396
-#define TEX_LESC \7f4986,136653
-#define TEX_SESC \7f4987,136675
-TEX_mode \7f4992,136805
-TEX_decode_env \7f5026,137510
-Texinfo_nodes \7f5071,138555
-HTML_labels \7f5094,139014
-static size_t prolog_pr \7f5214,142193
-static void prolog_skip_comment \7f5215,142235
-static size_t prolog_atom \7f5216,142291
-Prolog_functions \7f5219,142348
-prolog_skip_comment \7f5255,143129
-prolog_pr \7f5281,143737
-prolog_atom \7f5319,144629
-static int erlang_func \7f5374,145541
-static void erlang_attribute \7f5375,145582
-static int erlang_atom \7f5376,145621
-Erlang_functions \7f5379,145667
-erlang_func \7f5438,146966
-erlang_attribute \7f5476,147643
-erlang_atom \7f5496,148062
-static char *scan_separators \7fscan_separators\ 15520,148488
-static void add_regex \7f5521,148527
-static char *substitute \7fsubstitute\ 15522,148571
-scan_separators \7f5534,149081
-analyze_regex \7f5586,150461
-add_regex \7f5654,152051
-substitute \7f5767,154798
-free_regexps \7f5814,155838
-regex_tag_multiline \7f5836,156292
-nocase_tail \7f5913,158264
-get_tag \7f5928,158520
-readline_internal \7f5959,159456
-readline \7f6037,161297
-savestr \7f6230,167244
-savenstr \7f6240,167474
-skip_spaces \7f6249,167680
-skip_non_spaces \7f6258,167834
-skip_name \7f6267,167984
-fatal \7f6277,168157
-pfatal \7f6284,168254
-suggest_asking_for_help \7f6291,168333
-error \7f6300,168555
-concat \7f6313,168847
-etags_getcwd \7f6329,169260
-relative_filename \7f6350,169726
-absolute_filename \7f6389,170752
-absolute_dirname \7f6453,172417
-filename_is_absolute \7f6472,172846
-canonicalize_filename \7f6484,173097
-# define ISUPPER(\7f6491,173236
-linebuffer_init \7f6514,173657
-linebuffer_setlen \7f6524,173888
-xmalloc \7f6536,174149
-xrealloc \7f6545,174315
-\f
-c-src/exit.c,99
-    size_t n;\7f28,972
-    void EXFUN((*fn[\7ffn\ 129,986
-  } __libc_atexit;\7f30,1022
-DEFUN(exit,\7f38,1263
-\f
-c-src/exit.strange_suffix,99
-    size_t n;\7f28,972
-    void EXFUN((*fn[\7ffn\ 129,986
-  } __libc_atexit;\7f30,1022
-DEFUN(exit,\7f38,1263
-\f
-c-src/sysdep.h,491
-#define        ENTRY(\7f21,875
-#define        PSEUDO(\7f26,982
-    movl $SYS_##syscall_nam\7f$SYS_##syscall_na\ 131,1142
-    movl $SYS_##syscall_name, %eax;\7feax\ 131,1142
-    int $0x80;\7f32,1190
-    test %eax,\7feax\ 133,1220
-    test %eax, %eax;\7feax\ 133,1220
-    jl syscall_error;\7f34,1255
-#define        XCHG_0  \7f47,1572
-#define        XCHG_1  \7f48,1616
-#define        XCHG_2  \7f49,1658
-#define        XCHG_3  \7f50,1701
-#define        XCHG_4  \7f51,1744
-#define        XCHG_5  \7f52,1787
-#define        r0      \7f54,1831
-#define        r1      \7f55,1885
-#define scratch \7f56,1942
-#define MOVE(\7f57,2011
-\f
-c-src/tab.c,196
-static int             count_words(\7f15,263
-static char            *get_word(\7fget_word\ 135,553
-void                   tab_free(\7f59,966
-char                   **tab_fill(\7ftab_fill\ 170,1129
-int                    tab_delete_first(\7f91,1638
-int                    tab_count_words(\7f103,1820
-\f
-c-src/dostorture.c,198
-(*tag1 \7ftag1\ 118,468
-#define notag2 \7f26,577
-(*tag2 \7ftag2\ 129,657
-(*tag3 \7ftag3\ 139,809
-#define notag4 \7f45,904
-(*tag4 \7ftag4\ 148,1001
-tag5 \7f57,1136
-tag6 \7f66,1272
-int pp1(\7f74,1389
-pp2\7f87,1504
-pp3(\7f100,1616
-\f
-c-src/emacs/src/gmalloc.c,7311
-#define USE_PTHREAD\7f25,1003
-#undef get_current_dir_name\7f33,1127
-extern void emacs_abort \7f47,1306
-#undef malloc\7f64,2111
-#undef realloc\7f65,2125
-#undef calloc\7f66,2140
-#undef free\7f67,2154
-#define malloc \7f68,2166
-#define realloc \7f69,2189
-#define calloc \7f70,2214
-#define aligned_alloc \7f71,2237
-#define free \7f72,2274
-extern void *bss_sbrk \7fbss_sbrk\ 176,2336
-extern int bss_sbrk_did_unexec;\7f77,2376
-extern char bss_sbrk_buffer[\7fbss_sbrk_buffer\ 178,2408
-extern void *bss_sbrk_buffer_end;\7fbss_sbrk_buffer_end\ 179,2439
-#define DUMPED \7f80,2473
-#define ALLOCATED_BEFORE_DUMPING(\7f81,2508
-extern void *malloc \7fmalloc\ 194,2719
-#define INT_BIT        \7f124,3935
-#define BLOCKLOG       \7f125,3978
-#define BLOCKSIZE      \7f126,4019
-#define BLOCKIFY(\7f127,4053
-#define HEAP   \7f131,4216
-#define FINAL_FREE_BLOCKS      \7f135,4392
-       int type;\7f145,4677
-               size_t nfree;\7f150,4721
-               size_t first;\7f151,4778
-             } frag;\7f152,4835
-           ptrdiff_t size;\7f156,5056
-         } info;\7f157,5077
-      } busy;\7f158,5088
-       size_t size;\7f163,5216
-       size_t next;\7f164,5273
-       size_t prev;\7f165,5322
-      } free;\7f166,5375
-  } malloc_info;\7f167,5389
-extern char *_heapbase;\7f_heapbase\ 1170,5450
-extern malloc_info *_heapinfo;\7f_heapinfo\ 1173,5542
-#define BLOCK(\7f176,5621
-#define ADDRESS(\7f177,5683
-extern size_t _heapindex;\7f180,5798
-extern size_t _heaplimit;\7f183,5867
-struct list\7f186,5940
-    struct list *next;\7fnext\ 1188,5956
-    struct list *prev;\7fprev\ 1189,5979
-extern struct list _fraghead[\7f_fraghead\ 1193,6057
-struct alignlist\7f196,6154
-    struct alignlist *next;\7fnext\ 1198,6175
-    void *aligned;\7faligned\ 1199,6203
-    void *exact;\7fexact\ 1200,6271
-extern struct alignlist *_aligned_blocks;\7f_aligned_blocks\ 1202,6335
-extern size_t _chunks_used;\7f205,6402
-extern size_t _bytes_used;\7f206,6430
-extern size_t _chunks_free;\7f207,6457
-extern size_t _bytes_free;\7f208,6485
-extern void *_malloc_internal \7f_malloc_internal\ 1213,6674
-extern void *_realloc_internal \7f_realloc_internal\ 1214,6714
-extern void _free_internal \7f215,6763
-extern void *_malloc_internal_nolock \7f_malloc_internal_nolock\ 1216,6800
-extern void *_realloc_internal_nolock \7f_realloc_internal_nolock\ 1217,6847
-extern void _free_internal_nolock \7f218,6903
-extern pthread_mutex_t _malloc_mutex,\7f221,6967
-extern pthread_mutex_t _malloc_mutex, _aligned_blocks_mutex;\7f221,6967
-extern int _malloc_thread_enabled_p;\7f222,7028
-#define LOCK(\7f223,7065
-#define UNLOCK(\7f228,7196
-#define LOCK_ALIGNED_BLOCKS(\7f233,7330
-#define UNLOCK_ALIGNED_BLOCKS(\7f238,7485
-#define LOCK(\7f244,7650
-#define UNLOCK(\7f245,7665
-#define LOCK_ALIGNED_BLOCKS(\7f246,7682
-#define UNLOCK_ALIGNED_BLOCKS(\7f247,7712
-extern void *malloc_find_object_address \7fmalloc_find_object_address\ 1252,7866
-extern void *(*__morecore)\7f__morecore\ 1256,8022
-extern void *__default_morecore \7f__default_morecore\ 1259,8106
-extern void (*__after_morecore_hook)\7f__after_morecore_hook\ 1263,8270
-extern size_t __malloc_extra_blocks;\7f267,8443
-extern int __malloc_initialized;\7f270,8553
-extern int __malloc_initialize \7f272,8647
-extern void (*__malloc_initialize_hook)\7f__malloc_initialize_hook\ 1275,8724
-extern void (*__free_hook)\7f__free_hook\ 1276,8772
-extern void *(*__malloc_hook)\7f__malloc_hook\ 1277,8812
-extern void *(*__realloc_hook)\7f__realloc_hook\ 1278,8857
-extern void *(*__memalign_hook)\7f__memalign_hook\ 1279,8914
-enum mcheck_status\7f283,9093
-    MCHECK_DISABLED \7f285,9116
-    MCHECK_OK,\7f286,9188
-    MCHECK_FREE,\7f287,9227
-    MCHECK_HEAD,\7f288,9271
-    MCHECK_TAIL        \7f289,9335
-extern int mcheck \7f296,9702
-extern enum mcheck_status mprobe \7f301,9953
-extern void mtrace \7f304,10056
-extern void muntrace \7f305,10083
-struct mstats\7f308,10154
-    size_t bytes_total;\7f310,10172
-    size_t chunks_used;\7f311,10226
-    size_t bytes_used;\7f312,10286
-    size_t chunks_free;\7f313,10352
-    size_t bytes_free;\7f314,10407
-extern struct mstats mstats \7f318,10519
-extern void memory_warnings \7f321,10626
-void *(*__malloc_hook)\7f__malloc_hook\ 1352,11745
-char *_heapbase;\7f_heapbase\ 1355,11831
-malloc_info *_heapinfo;\7f_heapinfo\ 1358,11929
-static size_t heapsize;\7f361,11985
-size_t _heapindex;\7f364,12049
-size_t _heaplimit;\7f367,12111
-struct list _fraghead[\7f_fraghead\ 1370,12173
-size_t _chunks_used;\7f373,12231
-size_t _bytes_used;\7f374,12252
-size_t _chunks_free;\7f375,12272
-size_t _bytes_free;\7f376,12293
-int __malloc_initialized;\7f379,12342
-size_t __malloc_extra_blocks;\7f381,12369
-void (*__malloc_initialize_hook)\7f__malloc_initialize_hook\ 1383,12400
-void (*__after_morecore_hook)\7f__after_morecore_hook\ 1384,12441
-static int state_protected_p;\7f400,12914
-static size_t last_state_size;\7f401,12944
-static malloc_info *last_heapinfo;\7flast_heapinfo\ 1402,12975
-protect_malloc_state \7f405,13016
-#define PROTECT_MALLOC_STATE(\7f426,13629
-#define PROTECT_MALLOC_STATE(\7f429,13699
-align \7f435,13796
-get_contiguous_space \7f466,14618
-register_heapinfo \7f497,15327
-pthread_mutex_t _malloc_mutex \7f517,15881
-pthread_mutex_t _aligned_blocks_mutex \7f518,15940
-int _malloc_thread_enabled_p;\7f519,16007
-malloc_atfork_handler_prepare \7f522,16050
-malloc_atfork_handler_parent \7f529,16141
-malloc_atfork_handler_child \7f536,16235
-malloc_enable_thread \7f544,16377
-malloc_initialize_1 \7f563,16963
-__malloc_initialize \7f594,17795
-static int morecore_recursing;\7f604,17928
-morecore_nolock \7f609,18068
-_malloc_internal_nolock \7f722,21586
-_malloc_internal \7f920,28104
-malloc \7f932,28249
-extern void *_malloc \7f_malloc\ 1956,29035
-extern void _free \7f957,29066
-extern void *_realloc \7f_realloc\ 1958,29094
-_malloc \7f961,29142
-_free \7f967,29198
-_realloc \7f973,29242
-void (*__free_hook)\7f__free_hook\ 11001,30262
-struct alignlist *_aligned_blocks \7f_aligned_blocks\ 11004,30348
-_free_internal_nolock \7f1009,30477
-_free_internal \7f1255,38479
-free \7f1265,38606
-weak_alias \7f1277,38802
-#define min(\7f1306,39817
-void *(*__realloc_hook)\7f__realloc_hook\ 11310,39902
-_realloc_internal_nolock \7f1319,40313
-_realloc_internal \7f1435,43567
-realloc \7f1447,43730
-calloc \7f1478,44899
-#define        __sbrk  \7f1513,46048
-extern void *__sbrk \7f__sbrk\ 11518,46253
-__default_morecore \7f1525,46517
-void *(*__memalign_hook)\7f__memalign_hook\ 11554,47463
-aligned_alloc \7f1557,47529
-memalign \7f1647,49711
-posix_memalign \7f1656,49916
-extern void *valloc \7fvalloc\ 11695,51148
-extern int getpagesize \7f1700,51286
-static size_t pagesize;\7f1703,51325
-valloc \7f1706,51357
-#undef malloc\7f1715,51498
-#undef realloc\7f1716,51512
-#undef calloc\7f1717,51527
-#undef aligned_alloc\7f1718,51541
-#undef free\7f1719,51562
-extern void *malloc \7fmalloc\ 11722,51617
-extern void *realloc \7frealloc\ 11723,51652
-extern void *calloc \7fcalloc\ 11724,51699
-extern void free \7f1725,51748
-extern void *aligned_alloc \7faligned_alloc\ 11727,51804
-extern int posix_memalign \7f1729,51898
-hybrid_malloc \7f1736,52091
-hybrid_calloc \7f1744,52196
-hybrid_free \7f1752,52327
-hybrid_aligned_alloc \7f1765,52634
-hybrid_realloc \7f1780,52990
-char *gget_current_dir_name \7fgget_current_dir_name\ 11808,53759
-hybrid_get_current_dir_name \7f1811,53803
-static void (*old_free_hook)\7fold_free_hook\ 11846,54928
-static void *(*old_malloc_hook)\7fold_malloc_hook\ 11847,54970
-static void *(*old_realloc_hook)\7fold_realloc_hook\ 11848,55017
-static void (*abortfunc)\7fabortfunc\ 11851,55131
-#define MAGICWORD      \7f1854,55213
-#define MAGICFREE      \7f1855,55268
-#define MAGICBYTE      \7f1856,55323
-#define MALLOCFLOOD    \7f1857,55355
-#define FREEFLOOD      \7f1858,55389
-struct hdr\7f1860,55422
-    size_t size;\7f1862,55437
-    size_t magic;\7f1863,55491
-checkhdr \7f1867,55588
-freehook \7f1891,56029
-mallochook \7f1927,56811
-reallochook \7f1944,57150
-mabort \7f1978,57908
-static int mcheck_used \7f2012,58593
-mcheck \7f2015,58626
-mprobe \7f2035,59145
-\f
-c-src/emacs/src/regex.h,5300
-#define _REGEX_H \7f21,837
-typedef unsigned long reg_syntax_t;\7f43,1578
-#define RE_BACKSLASH_ESCAPE_IN_LISTS \7f47,1750
-#define RE_BK_PLUS_QM \7f52,1970
-#define RE_CHAR_CLASSES \7f58,2299
-#define RE_CONTEXT_INDEP_ANCHORS \7f72,3033
-#define RE_CONTEXT_INDEP_OPS \7f80,3459
-#define RE_CONTEXT_INVALID_OPS \7f84,3659
-#define RE_DOT_NEWLINE \7f88,3802
-#define RE_DOT_NOT_NULL \7f92,3938
-#define RE_HAT_LISTS_NOT_NEWLINE \7f96,4083
-#define RE_INTERVALS \7f101,4293
-#define RE_LIMITED_OPS \7f105,4442
-#define RE_NEWLINE_ALT \7f109,4584
-#define RE_NO_BK_BRACES \7f114,4774
-#define RE_NO_BK_PARENS \7f118,4965
-#define RE_NO_BK_REFS \7f122,5121
-#define RE_NO_BK_VBAR \7f126,5317
-#define RE_NO_EMPTY_RANGES \7f132,5611
-#define RE_UNMATCHED_RIGHT_PAREN_ORD \7f136,5767
-#define RE_NO_POSIX_BACKTRACKING \7f140,5938
-#define RE_NO_GNU_OPS \7f144,6134
-#define RE_FRUGAL \7f147,6254
-#define RE_SHY_GROUPS \7f150,6361
-#define RE_NO_NEWLINE_ANCHOR \7f153,6469
-#define RE_DEBUG \7f161,6885
-extern reg_syntax_t re_syntax_options;\7f167,7171
-extern Lisp_Object re_match_object;\7f172,7345
-extern size_t re_max_failures;\7f176,7455
-#define RE_SYNTAX_EMACS        \7f183,7685
-#define RE_SYNTAX_AWK  \7f186,7781
-#define RE_SYNTAX_GNU_AWK      \7f193,8085
-#define RE_SYNTAX_POSIX_AWK \7f197,8256
-#define RE_SYNTAX_GREP \7f201,8394
-#define RE_SYNTAX_EGREP        \7f206,8550
-#define RE_SYNTAX_POSIX_EGREP  \7f212,8766
-#define RE_SYNTAX_ED \7f216,8911
-#define RE_SYNTAX_SED \7f218,8955
-#define _RE_SYNTAX_POSIX_COMMON        \7f221,9073
-#define RE_SYNTAX_POSIX_BASIC  \7f225,9216
-#define RE_SYNTAX_POSIX_MINIMAL_BASIC  \7f231,9509
-#define RE_SYNTAX_POSIX_EXTENDED       \7f234,9599
-#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED       \7f242,9968
-# undef RE_DUP_MAX\7f253,10455
-#define RE_DUP_MAX \7f256,10541
-#define REG_EXTENDED \7f263,10763
-#define REG_ICASE \7f267,10887
-#define REG_NEWLINE \7f272,11071
-#define REG_NOSUB \7f276,11249
-#define REG_NOTBOL \7f286,11615
-#define REG_NOTEOL \7f289,11689
-  REG_ENOSYS \7f297,11860
-  REG_NOERROR \7f300,11942
-  REG_NOMATCH,\7f301,11977
-  REG_BADPAT,\7f305,12124
-  REG_ECOLLATE,\7f306,12163
-  REG_ECTYPE,\7f307,12204
-  REG_EESCAPE,\7f308,12256
-  REG_ESUBREG,\7f309,12299
-  REG_EBRACK,\7f310,12346
-  REG_EPAREN,\7f311,12392
-  REG_EBRACE,\7f312,12437
-  REG_BADBR,\7f313,12473
-  REG_ERANGE,\7f314,12520
-  REG_ESPACE,\7f315,12561
-  REG_BADRPT,\7f316,12602
-  REG_EEND,\7f319,12694
-  REG_ESIZE,\7f320,12729
-  REG_ERPAREN,\7f321,12791
-  REG_ERANGEX  \7f322,12860
-} reg_errcode_t;\7f323,12912
-# define RE_TRANSLATE_TYPE \7f332,13274
-struct re_pattern_buffer\7f335,13316
-  unsigned char *buffer;\7fbuffer\ 1341,13539
-  size_t allocated;\7f344,13615
-  size_t used;\7f347,13687
-  reg_syntax_t syntax;\7f350,13770
-  char *fastmap;\7ffastmap\ 1355,13976
-  RE_TRANSLATE_TYPE translate;\7f361,14242
-  size_t re_nsub;\7f364,14330
-  unsigned can_be_null \7f370,14625
-#define REGS_UNALLOCATED \7f376,14890
-#define REGS_REALLOCATE \7f377,14917
-#define REGS_FIXED \7f378,14943
-  unsigned regs_allocated \7f379,14964
-  unsigned fastmap_accurate \7f383,15137
-  unsigned no_sub \7f387,15268
-  unsigned not_bol \7f391,15399
-  unsigned not_eol \7f394,15476
-  unsigned used_syntax \7f398,15656
-  unsigned multibyte \7f403,15806
-  unsigned target_multibyte \7f407,15942
-  int charset_unibyte;\7f410,16033
-typedef struct re_pattern_buffer regex_t;\7f416,16099
-typedef ssize_t regoff_t;\7f423,16493
-struct re_registers\7f428,16653
-  unsigned num_regs;\7f430,16675
-  regoff_t *start;\7fstart\ 1431,16696
-  regoff_t *end;\7fend\ 1432,16715
-# define RE_NREGS \7f440,16943
-  regoff_t rm_so;\7f449,17160
-  regoff_t rm_eo;\7f450,17240
-} regmatch_t;\7f451,17318
-extern reg_syntax_t re_set_syntax \7f457,17513
-extern const char *re_compile_pattern \7fre_compile_pattern\ 1462,17777
-extern int re_compile_fastmap \7f469,18059
-extern regoff_t re_search \7f477,18467
-extern regoff_t re_search_2 \7f485,18782
-extern regoff_t re_match \7f495,19178
-extern regoff_t re_match_2 \7f501,19408
-extern void re_set_registers \7f520,20198
-extern char *re_comp \7fre_comp\ 1528,20470
-extern int re_exec \7f529,20507
-#  define _Restrict_ \7f540,20887
-#  define _Restrict_ \7f542,20980
-#  define _Restrict_\7f544,21019
-#  define _Restrict_arr_ \7f555,21419
-#  define _Restrict_arr_\7f557,21462
-extern reg_errcode_t regcomp \7f562,21531
-extern reg_errcode_t regexec \7f566,21657
-extern size_t regerror \7f571,21851
-extern void regfree \7f574,21957
-#  define CHAR_CLASS_MAX_LENGTH \7f593,22471
-#  define CHAR_CLASS_MAX_LENGTH \7f597,22649
-typedef wctype_t re_wctype_t;\7f599,22693
-typedef wchar_t re_wchar_t;\7f600,22723
-# define re_wctype \7f601,22751
-# define re_iswctype \7f602,22777
-# define re_wctype_to_bit(\7f603,22807
-# define CHAR_CLASS_MAX_LENGTH \7f605,22845
-# define btowc(\7f606,22907
-typedef enum { RECC_ERROR \7f609,22954
-              RECC_ALNUM,\7f610,22985
-              RECC_ALNUM, RECC_ALPHA,\7f610,22985
-              RECC_ALNUM, RECC_ALPHA, RECC_WORD,\7f610,22985
-              RECC_GRAPH,\7f611,23028
-              RECC_GRAPH, RECC_PRINT,\7f611,23028
-              RECC_LOWER,\7f612,23060
-              RECC_LOWER, RECC_UPPER,\7f612,23060
-              RECC_PUNCT,\7f613,23092
-              RECC_PUNCT, RECC_CNTRL,\7f613,23092
-              RECC_DIGIT,\7f614,23124
-              RECC_DIGIT, RECC_XDIGIT,\7f614,23124
-              RECC_BLANK,\7f615,23157
-              RECC_BLANK, RECC_SPACE,\7f615,23157
-              RECC_MULTIBYTE,\7f616,23189
-              RECC_MULTIBYTE, RECC_NONASCII,\7f616,23189
-              RECC_ASCII,\7f617,23228
-              RECC_ASCII, RECC_UNIBYTE\7f617,23228
-} re_wctype_t;\7f618,23261
-extern char re_iswctype \7f620,23277
-extern re_wctype_t re_wctype \7f621,23330
-typedef int re_wchar_t;\7f623,23388
-extern void re_set_whitespace_regexp \7f625,23413
-\f
-c-src/emacs/src/keyboard.c,25243
-volatile int interrupt_input_blocked;\7f76,1809
-volatile bool pending_signals;\7f80,1945
-#define KBD_BUFFER_SIZE \7f82,1977
-KBOARD *initial_kboard;\7finitial_kboard\ 184,2007
-KBOARD *current_kboard;\7fcurrent_kboard\ 185,2031
-static KBOARD *all_kboards;\7fall_kboards\ 186,2055
-static bool single_kboard;\7f89,2155
-#define NUM_RECENT_KEYS \7f91,2183
-static int recent_keys_index;\7f94,2270
-static int total_keys;\7f97,2358
-static Lisp_Object recent_keys;\7f100,2444
-Lisp_Object this_command_keys;\7f107,2778
-ptrdiff_t this_command_key_count;\7f108,2809
-static bool this_command_key_count_reset;\7f112,2923
-static Lisp_Object raw_keybuf;\7f116,3075
-static int raw_keybuf_count;\7f117,3106
-#define GROW_RAW_KEYBUF        \7f119,3136
-static ptrdiff_t this_single_command_key_start;\7f125,3351
-static ptrdiff_t before_command_key_count;\7f129,3499
-static ptrdiff_t before_command_echo_length;\7f130,3542
-sigjmp_buf return_to_command_loop;\7f135,3678
-static Lisp_Object recover_top_level_message;\7f138,3792
-static Lisp_Object regular_top_level_message;\7f143,3931
-static sys_jmp_buf getcjmp;\7f147,4032
-bool waiting_for_input;\7f150,4096
-static bool echoing;\7f154,4187
-static struct kboard *ok_to_echo_at_next_pause;\7fok_to_echo_at_next_pause\ 1159,4329
-struct kboard *echo_kboard;\7fecho_kboard\ 1166,4633
-Lisp_Object echo_message_buffer;\7f171,4745
-bool immediate_quit;\7f174,4838
-int quit_char;\7f192,5624
-EMACS_INT command_loop_level;\7f195,5681
-Lisp_Object unread_switch_frame;\7f204,6109
-static ptrdiff_t last_non_minibuf_size;\7f207,6217
-uintmax_t num_input_events;\7f210,6335
-static EMACS_INT last_auto_save;\7f214,6429
-static ptrdiff_t last_point_position;\7f217,6524
-Lisp_Object internal_last_event_frame;\7f228,7029
-static Lisp_Object read_key_sequence_cmd;\7f232,7169
-static Lisp_Object read_key_sequence_remapped;\7f233,7211
-static FILE *dribble;\7fdribble\ 1236,7311
-bool input_pending;\7f239,7369
-static bool input_was_pending;\7f287,10023
-static struct input_event kbd_buffer[\7fkbd_buffer\ 1291,10108
-static struct input_event *kbd_fetch_ptr;\7fkbd_fetch_ptr\ 1297,10387
-static struct input_event * volatile kbd_store_ptr;\7f302,10602
-static void recursive_edit_unwind \7f313,11089
-static Lisp_Object command_loop \7f314,11145
-static void echo_now \7f316,11186
-static ptrdiff_t echo_length \7f317,11215
-unsigned timers_run;\7f320,11297
-struct timespec *input_available_clear_time;\7finput_available_clear_time\ 1324,11409
-bool interrupt_input;\7f328,11574
-bool interrupts_deferred;\7f331,11672
-static struct timespec timer_idleness_start_time;\7f335,11747
-static struct timespec timer_last_idleness_start_time;\7f340,11917
-#define READABLE_EVENTS_DO_TIMERS_NOW  \7f346,12047
-#define READABLE_EVENTS_FILTER_EVENTS  \7f347,12095
-#define READABLE_EVENTS_IGNORE_SQUEEZABLES     \7f348,12143
-static void (*keyboard_init_hook)\7fkeyboard_init_hook\ 1351,12265
-static bool get_input_pending \7f353,12308
-static bool readable_events \7f354,12345
-static Lisp_Object read_char_x_menu_prompt \7f355,12380
-static Lisp_Object read_char_minibuf_menu_prompt \7f357,12503
-static Lisp_Object make_lispy_event \7f358,12572
-static Lisp_Object make_lispy_movement \7f359,12632
-static Lisp_Object modify_event_symbol \7f363,12841
-static Lisp_Object make_lispy_switch_frame \7f366,13051
-static Lisp_Object make_lispy_focus_in \7f367,13109
-static Lisp_Object make_lispy_focus_out \7f369,13189
-static bool help_char_p \7f371,13276
-static void save_getcjmp \7f372,13315
-static void restore_getcjmp \7f373,13355
-static Lisp_Object apply_modifiers \7f374,13398
-static void clear_event \7f375,13453
-static void restore_kboard_configuration \7f376,13501
-static void deliver_input_available_signal \7f378,13569
-static void handle_interrupt \7f380,13632
-static _Noreturn void quit_throw_to_read_char \7f381,13669
-static void process_special_events \7f382,13723
-static void timer_start_idle \7f383,13766
-static void timer_stop_idle \7f384,13803
-static void timer_resume_idle \7f385,13839
-static void deliver_user_signal \7f386,13877
-static char *find_user_signal_name \7ffind_user_signal_name\ 1387,13916
-static void store_user_signal_events \7f388,13958
-kset_echo_string \7f392,14089
-kset_kbd_queue \7f397,14185
-kset_keyboard_translate_table \7f402,14277
-kset_last_prefix_arg \7f407,14400
-kset_last_repeatable_command \7f412,14505
-kset_local_function_key_map \7f417,14626
-kset_overriding_terminal_local_map \7f422,14745
-kset_real_last_command \7f427,14878
-kset_system_key_syms \7f432,14987
-echo_add_key \7f443,15250
-echo_char \7f527,17528
-echo_dash \7f541,17814
-echo_now \7f586,19141
-cancel_echoing \7f635,20615
-echo_length \7f648,20923
-echo_truncate \7f660,21254
-add_command_key \7f672,21583
-recursive_edit_1 \7f697,22407
-record_auto_save \7f742,23849
-force_auto_save_soon \7f751,24017
-DEFUN ("recursive-edit", Frecursive_edit,\7f759,24138
-DEFUN ("recursive-edit", Frecursive_edit,\7frecursive-edit\ 1759,24138
-recursive_edit_unwind \7f804,25751
-any_kboard_state \7f817,26017
-single_kboard_state \7f838,26669
-not_single_kboard_state \7f848,26807
-struct kboard_stack\7f858,27069
-  KBOARD *kboard;\7fkboard\ 1860,27091
-  struct kboard_stack *next;\7fnext\ 1861,27109
-static struct kboard_stack *kboard_stack;\7fkboard_stack\ 1864,27142
-push_kboard \7f867,27190
-pop_kboard \7f879,27379
-temporarily_switch_to_single_kboard \7f914,28267
-record_single_kboard_state \7f943,29441
-restore_kboard_configuration \7f952,29625
-cmd_error \7f970,30081
-cmd_error_internal \7f1024,31514
-DEFUN ("command-error-default-function", Fcommand_error_default_function,\7f1043,32034
-DEFUN ("command-error-default-function", Fcommand_error_default_function,\7fcommand-error-default-function\ 11043,32034
-static Lisp_Object command_loop_2 \7f1086,33641
-static Lisp_Object top_level_1 \7f1087,33690
-command_loop \7f1094,33920
-command_loop_2 \7f1134,35139
-top_level_2 \7f1146,35343
-top_level_1 \7f1152,35421
-DEFUN ("top-level", Ftop_level,\7f1164,35791
-DEFUN ("top-level", Ftop_level,\7ftop-level\ 11164,35791
-user_error \7f1183,36292
-DEFUN ("exit-recursive-edit", Fexit_recursive_edit,\7f1189,36433
-DEFUN ("exit-recursive-edit", Fexit_recursive_edit,\7fexit-recursive-edit\ 11189,36433
-DEFUN ("abort-recursive-edit", Fabort_recursive_edit,\7f1201,36823
-DEFUN ("abort-recursive-edit", Fabort_recursive_edit,\7fabort-recursive-edit\ 11201,36823
-tracking_off \7f1216,37285
-DEFUN ("internal--track-mouse", Ftrack_mouse,\7f1234,37820
-DEFUN ("internal--track-mouse", Ftrack_mouse,\7ftrack-mouse\ 11234,37820
-bool ignore_mouse_drag_p;\7f1256,38396
-some_mouse_moved \7f1259,38445
-static int read_key_sequence \7f1282,38803
-static void adjust_point_for_property \7f1284,38921
-Lisp_Object last_undo_boundary;\7f1287,39036
-command_loop_1 \7f1294,39277
-read_menu_command \7f1649,50893
-adjust_point_for_property \7f1678,51621
-safe_run_hooks_1 \7f1831,57343
-safe_run_hooks_error \7f1841,57573
-safe_run_hook_funcall \7f1878,58580
-safe_run_hooks \7f1893,59062
-int poll_suppress_count;\7f1908,59401
-static struct atimer *poll_timer;\7fpoll_timer\ 11915,59491
-poll_for_input_1 \7f1919,59593
-poll_for_input \7f1930,59793
-start_polling \7f1942,60057
-input_polling_used \7f1979,61095
-stop_polling \7f1994,61394
-set_poll_suppress_count \7f2009,61763
-bind_polling_period \7f2029,62145
-make_ctrl_char \7f2048,62496
-show_help_echo \7f2113,64459
-static Lisp_Object kbd_buffer_get_event \7f2152,65488
-static void record_char \7f2154,65600
-static Lisp_Object help_form_saved_window_configs;\7f2156,65642
-read_char_help_form_unwind \7f2158,65705
-#define STOP_POLLING   \7f2166,65963
-#define RESUME_POLLING \7f2170,66088
-read_event_from_main_queue \7f2175,66233
-read_decoded_event_from_main_queue \7f2249,68421
-#define MAX_ENCODED_BYTES \7f2254,68668
-echo_keystrokes_p \7f2342,71560
-read_char \7f2376,72852
-record_menu_key \7f3225,98953
-help_char_p \7f3258,99678
-record_char \7f3273,99957
-save_getcjmp \7f3412,104239
-restore_getcjmp \7f3418,104330
-readable_events \7f3430,104701
-int stop_character EXTERNALLY_VISIBLE;\7f3497,106441
-event_to_kboard \7f3500,106497
-kbd_buffer_nr_stored \7f3522,107146
-kbd_buffer_store_event \7f3534,107487
-kbd_buffer_store_event_hold \7f3550,108029
-kbd_buffer_unget_event \7f3684,111621
-#define INPUT_EVENT_POS_MAX \7f3698,112022
-#define INPUT_EVENT_POS_MIN \7f3701,112151
-position_to_Time \7f3706,112291
-Time_to_position \7f3716,112518
-gen_help_event \7f3738,113175
-kbd_buffer_store_help_event \7f3756,113615
-discard_mouse_events \7f3773,113980
-kbd_buffer_events_waiting \7f3803,114715
-clear_event \7f3823,115072
-kbd_buffer_get_event \7f3836,115412
-process_special_events \7f4258,127885
-swallow_events \7f4322,129709
-timer_start_idle \7f4339,130102
-timer_stop_idle \7f4355,130580
-timer_resume_idle \7f4363,130724
-struct input_event last_timer_event EXTERNALLY_VISIBLE;\7f4372,130916
-Lisp_Object pending_funcalls;\7f4377,131176
-decode_timer \7f4381,131297
-timer_check_2 \7f4414,132250
-timer_check \7f4572,136821
-DEFUN ("current-idle-time", Fcurrent_idle_time,\7f4607,137666
-DEFUN ("current-idle-time", Fcurrent_idle_time,\7fcurrent-idle-time\ 14607,137666
-static Lisp_Object accent_key_syms;\7f4625,138243
-static Lisp_Object func_key_syms;\7f4626,138279
-static Lisp_Object mouse_syms;\7f4627,138313
-static Lisp_Object wheel_syms;\7f4628,138344
-static Lisp_Object drag_n_drop_syms;\7f4629,138375
-static const int lispy_accent_codes[\7flispy_accent_codes\ 14634,138520
-static const char *const lispy_accent_keys[\7flispy_accent_keys\ 14741,139882
-#define FUNCTION_KEY_OFFSET \7f4766,140318
-const char *const lispy_function_keys[\7flispy_function_keys\ 14768,140351
-static const char *const lispy_multimedia_keys[\7flispy_multimedia_keys\ 14962,148905
-static const char *const lispy_kana_keys[\7flispy_kana_keys\ 15026,150139
-#define FUNCTION_KEY_OFFSET \7f5061,151755
-static const char *const lispy_function_keys[\7flispy_function_keys\ 15065,151898
-#define ISO_FUNCTION_KEY_OFFSET \7f5149,154433
-static const char *const iso_lispy_function_keys[\7fiso_lispy_function_keys\ 15151,154473
-static Lisp_Object Vlispy_mouse_stem;\7f5172,155332
-static const char *const lispy_wheel_names[\7flispy_wheel_names\ 15174,155371
-static const char *const lispy_drag_n_drop_names[\7flispy_drag_n_drop_names\ 15181,155623
-static short const scroll_bar_parts[\7fscroll_bar_parts\ 15189,155889
-static Lisp_Object button_down_location;\7f5210,156914
-static int last_mouse_button;\7f5215,157069
-static int last_mouse_x;\7f5216,157099
-static int last_mouse_y;\7f5217,157124
-static Time button_down_time;\7f5218,157149
-static int double_click_count;\7f5222,157233
-make_lispy_position \7f5228,157394
-toolkit_menubar_in_use \7f5456,163957
-make_scroll_bar_position \7f5469,164325
-make_lispy_event \7f5485,164971
-make_lispy_movement \7f6104,183534
-make_lispy_switch_frame \7f6131,184265
-make_lispy_focus_in \7f6137,184372
-make_lispy_focus_out \7f6145,184498
-parse_modifiers_uncached \7f6163,184948
-#define SINGLE_LETTER_MOD(\7f6185,185468
-#undef SINGLE_LETTER_MOD\7f6212,185909
-#define MULTI_LETTER_MOD(\7f6214,185935
-#undef MULTI_LETTER_MOD\7f6231,186403
-apply_modifiers_uncached \7f6273,187577
-static const char *const modifier_names[\7fmodifier_names\ 16319,189196
-#define NUM_MOD_NAMES \7f6325,189402
-static Lisp_Object modifier_symbols;\7f6327,189452
-lispy_modifier_list \7f6331,189589
-#define KEY_TO_CHAR(\7f6353,190255
-parse_modifiers \7f6356,190331
-DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,\7f6399,191520
-DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,\7fevent-symbol-parse-modifiers\ 16399,191520
-apply_modifiers \7f6422,192394
-reorder_modifiers \7f6491,194723
-modify_event_symbol \7f6536,196531
-DEFUN ("event-convert-list", Fevent_convert_list,\7f6628,199247
-DEFUN ("event-convert-list", Fevent_convert_list,\7fevent-convert-list\ 16628,199247
-parse_solitary_modifier \7f6695,201138
-#define SINGLE_LETTER_MOD(\7f6701,201261
-#define MULTI_LETTER_MOD(\7f6705,201346
-#undef SINGLE_LETTER_MOD\7f6763,202644
-#undef MULTI_LETTER_MOD\7f6764,202669
-lucid_event_type_list_p \7f6775,202892
-get_input_pending \7f6814,203963
-record_asynch_buffer_change \7f6834,204582
-gobble_input \7f6872,205705
-tty_read_avail_input \7f6967,208313
-handle_async_input \7f7149,214042
-process_pending_signals \7f7165,214362
-unblock_input_to \7f7177,214648
-unblock_input \7f7200,215280
-totally_unblock_input \7f7209,215448
-handle_input_available_signal \7f7217,215532
-deliver_input_available_signal \7f7226,215703
-struct user_signal_info\7f7235,215868
-  int sig;\7f7238,215918
-  char *name;\7fname\ 17241,215959
-  int npending;\7f7244,216010
-  struct user_signal_info *next;\7fnext\ 17246,216027
-static struct user_signal_info *user_signals \7fuser_signals\ 17250,216093
-add_user_signal \7f7253,216152
-handle_user_signal \7f7275,216601
-deliver_user_signal \7f7316,217561
-find_user_signal_name \7f7322,217662
-store_user_signal_events \7f7334,217844
-static void menu_bar_item \7f7362,218344
-static Lisp_Object menu_bar_one_keymap_changed_items;\7f7363,218419
-static Lisp_Object menu_bar_items_vector;\7f7368,218633
-static int menu_bar_items_index;\7f7369,218675
-static const char *separator_names[\7fseparator_names\ 17372,218710
-menu_separator_name_p \7f7393,219151
-menu_bar_items \7f7426,219855
-Lisp_Object item_properties;\7f7568,224606
-menu_bar_item \7f7571,224648
-menu_item_eval_property_1 \7f7647,227178
-eval_dyn \7f7658,227468
-menu_item_eval_property \7f7666,227678
-parse_menu_item \7f7686,228344
-static Lisp_Object tool_bar_items_vector;\7f7965,236339
-static Lisp_Object tool_bar_item_properties;\7f7970,236513
-static int ntool_bar_items;\7f7974,236609
-static void init_tool_bar_items \7f7978,236667
-static void process_tool_bar_item \7f7979,236714
-static bool parse_tool_bar_item \7f7981,236804
-static void append_tool_bar_item \7f7982,236864
-tool_bar_items \7f7990,237086
-process_tool_bar_item \7f8075,239895
-#define PROP(\7f8112,240972
-set_prop \7f8114,241041
-parse_tool_bar_item \7f8167,242456
-#undef PROP\7f8379,248847
-init_tool_bar_items \7f8387,248972
-append_tool_bar_item \7f8401,249264
-read_char_x_menu_prompt \7f8443,250774
-read_char_minibuf_menu_prompt \7f8503,252448
-#define PUSH_C_STR(\7f8527,253017
-follow_key \7f8726,258556
-active_maps \7f8733,258698
-typedef struct keyremap\7f8742,259024
-  Lisp_Object parent;\7f8745,259110
-  Lisp_Object map;\7f8748,259227
-  int start,\7f8753,259449
-  int start, end;\7f8753,259449
-} keyremap;\7f8754,259467
-access_keymap_keyremap \7f8764,259811
-keyremap_step \7f8811,261453
-test_undefined \7f8867,262937
-read_key_sequence \7f8916,264864
-read_key_sequence_vs \7f9826,295824
-DEFUN ("read-key-sequence", Fread_key_sequence,\7f9885,297297
-DEFUN ("read-key-sequence", Fread_key_sequence,\7fread-key-sequence\ 19885,297297
-DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,\7f9938,299985
-DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,\7fread-key-sequence-vector\ 19938,299985
-detect_input_pending \7f9950,300491
-detect_input_pending_ignore_squeezables \7f9959,300657
-detect_input_pending_run_timers \7f9967,300873
-clear_input_pending \7f9985,301365
-requeued_events_pending_p \7f9997,301735
-DEFUN ("input-pending-p", Finput_pending_p,\7f10002,301816
-DEFUN ("input-pending-p", Finput_pending_p,\7finput-pending-p\ 110002,301816
-DEFUN ("recent-keys", Frecent_keys,\7f10024,302599
-DEFUN ("recent-keys", Frecent_keys,\7frecent-keys\ 110024,302599
-DEFUN ("this-command-keys", Fthis_command_keys,\7f10055,303520
-DEFUN ("this-command-keys", Fthis_command_keys,\7fthis-command-keys\ 110055,303520
-DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,\7f10068,303961
-DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,\7fthis-command-keys-vector\ 110068,303961
-DEFUN ("this-single-command-keys", Fthis_single_command_keys,\7f10080,304383
-DEFUN ("this-single-command-keys", Fthis_single_command_keys,\7fthis-single-command-keys\ 110080,304383
-DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,\7f10096,304958
-DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,\7fthis-single-command-raw-keys\ 110096,304958
-DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,\7f10109,305498
-DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,\7freset-this-command-lengths\ 110109,305498
-DEFUN ("clear-this-command-keys", Fclear_this_command_keys,\7f10136,306513
-DEFUN ("clear-this-command-keys", Fclear_this_command_keys,\7fclear-this-command-keys\ 110136,306513
-DEFUN ("recursion-depth", Frecursion_depth,\7f10158,307072
-DEFUN ("recursion-depth", Frecursion_depth,\7frecursion-depth\ 110158,307072
-DEFUN ("open-dribble-file", Fopen_dribble_file,\7f10169,307409
-DEFUN ("open-dribble-file", Fopen_dribble_file,\7fopen-dribble-file\ 110169,307409
-DEFUN ("discard-input", Fdiscard_input,\7f10203,308450
-DEFUN ("discard-input", Fdiscard_input,\7fdiscard-input\ 110203,308450
-DEFUN ("suspend-emacs", Fsuspend_emacs,\7f10225,308952
-DEFUN ("suspend-emacs", Fsuspend_emacs,\7fsuspend-emacs\ 110225,308952
-stuff_buffered_input \7f10285,311048
-set_waiting_for_input \7f10323,312019
-clear_waiting_for_input \7f10337,312393
-handle_interrupt_signal \7f10351,312757
-deliver_interrupt_signal \7f10378,313645
-static int volatile force_quit_count;\7f10387,313935
-handle_interrupt \7f10401,314417
-quit_throw_to_read_char \7f10541,318714
-DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,\7f10562,319291
-DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,\7fset-input-interrupt-mode\ 110562,319291
-DEFUN ("set-output-flow-control", Fset_output_flow_control,\7f10609,320519
-DEFUN ("set-output-flow-control", Fset_output_flow_control,\7fset-output-flow-control\ 110609,320519
-DEFUN ("set-input-meta-mode", Fset_input_meta_mode,\7f10643,321435
-DEFUN ("set-input-meta-mode", Fset_input_meta_mode,\7fset-input-meta-mode\ 110643,321435
-DEFUN ("set-quit-char", Fset_quit_char,\7f10694,322709
-DEFUN ("set-quit-char", Fset_quit_char,\7fset-quit-char\ 110694,322709
-DEFUN ("set-input-mode", Fset_input_mode,\7f10729,323573
-DEFUN ("set-input-mode", Fset_input_mode,\7fset-input-mode\ 110729,323573
-DEFUN ("current-input-mode", Fcurrent_input_mode,\7f10750,324462
-DEFUN ("current-input-mode", Fcurrent_input_mode,\7fcurrent-input-mode\ 110750,324462
-DEFUN ("posn-at-x-y", Fposn_at_x_y,\7f10787,325840
-DEFUN ("posn-at-x-y", Fposn_at_x_y,\7fposn-at-x-y\ 110787,325840
-DEFUN ("posn-at-point", Fposn_at_point,\7f10824,327063
-DEFUN ("posn-at-point", Fposn_at_point,\7fposn-at-point\ 110824,327063
-init_kboard \7f10861,328217
-allocate_kboard \7f10893,329287
-wipe_kboard \7f10909,329640
-delete_kboard \7f10917,329754
-init_keyboard \7f10942,330284
-struct event_head\7f11021,332699
-  short var;\7f11023,332719
-  short kind;\7f11024,332732
-static const struct event_head head_table[\7fhead_table\ 111027,332750
-syms_of_keyboard \7f11045,333580
-  DEFVAR_LISP ("internal--top-level-message"\7f11058,333975
-  DEFVAR_LISP ("last-command-event"\7f11312,342176
-  DEFVAR_LISP ("last-nonmenu-event"\7f11315,342300
-  DEFVAR_LISP ("last-input-event"\7f11321,342639
-  DEFVAR_LISP ("unread-command-events"\7f11324,342733
-  DEFVAR_LISP ("unread-post-input-method-events"\7f11332,343193
-  DEFVAR_LISP ("unread-input-method-events"\7f11338,343532
-  DEFVAR_LISP ("meta-prefix-char"\7f11346,343901
-  DEFVAR_KBOARD ("last-command"\7f11351,344109
-  DEFVAR_KBOARD ("real-last-command"\7f11368,344790
-  DEFVAR_KBOARD ("last-repeatable-command"\7f11372,344976
-  DEFVAR_LISP ("this-command"\7f11378,345264
-  DEFVAR_LISP ("real-this-command"\7f11384,345501
-  DEFVAR_LISP ("this-command-keys-shift-translated"\7f11388,345683
-  DEFVAR_LISP ("this-original-command"\7f11396,346126
-  DEFVAR_INT ("auto-save-interval"\7f11403,346523
-  DEFVAR_LISP ("auto-save-timeout"\7f11408,346737
-  DEFVAR_LISP ("echo-keystrokes"\7f11415,347082
-  DEFVAR_INT ("polling-period"\7f11421,347353
-  DEFVAR_LISP ("double-click-time"\7f11428,347696
-  DEFVAR_INT ("double-click-fuzz"\7f11435,348032
-  DEFVAR_INT ("num-input-keys"\7f11446,348522
-  DEFVAR_INT ("num-nonmacro-input-events"\7f11452,348797
-  DEFVAR_LISP ("last-event-frame"\7f11457,349035
-  DEFVAR_LISP ("tty-erase-char"\7f11463,349314
-  DEFVAR_LISP ("help-char"\7f11466,349437
-  DEFVAR_LISP ("help-event-list"\7f11472,349720
-  DEFVAR_LISP ("help-form"\7f11477,349931
-  DEFVAR_LISP ("prefix-help-command"\7f11483,350179
-  DEFVAR_LISP ("top-level"\7f11489,350457
-  DEFVAR_KBOARD ("keyboard-translate-table"\7f11495,350678
-  DEFVAR_BOOL ("cannot-suspend"\7f11511,351491
-  DEFVAR_BOOL ("menu-prompting"\7f11516,351718
-  DEFVAR_LISP ("menu-prompt-more-char"\7f11526,352148
-  DEFVAR_INT ("extra-keyboard-modifiers"\7f11531,352394
-  DEFVAR_LISP ("deactivate-mark"\7f11545,353120
-  DEFVAR_LISP ("pre-command-hook"\7f11553,353489
-  DEFVAR_LISP ("post-command-hook"\7f11560,353844
-  DEFVAR_LISP ("echo-area-clear-hook"\7f11568,354207
-  DEFVAR_LISP ("lucid-menu-bar-dirty-flag"\7f11574,354422
-  DEFVAR_LISP ("menu-bar-final-items"\7f11578,354625
-  DEFVAR_LISP ("tool-bar-separator-image-expression"\7f11583,354875
-  DEFVAR_KBOARD ("overriding-terminal-local-map"\7f11589,355233
-  DEFVAR_LISP ("overriding-local-map"\7f11598,355655
-  DEFVAR_LISP ("overriding-local-map-menu-flag"\7f11607,356106
-  DEFVAR_LISP ("special-event-map"\7f11613,356445
-  DEFVAR_LISP ("track-mouse"\7f11617,356633
-  DEFVAR_KBOARD ("system-key-alist"\7f11620,356760
-  DEFVAR_KBOARD ("local-function-key-map"\7f11629,357141
-  DEFVAR_KBOARD ("input-decode-map"\7f11658,358600
-  DEFVAR_LISP ("function-key-map"\7f11675,359388
-  DEFVAR_LISP ("key-translation-map"\7f11683,359804
-  DEFVAR_LISP ("deferred-action-list"\7f11689,360148
-  DEFVAR_LISP ("deferred-action-function"\7f11694,360396
-  DEFVAR_LISP ("delayed-warnings-list"\7f11700,360695
-  DEFVAR_LISP ("timer-list"\7f11708,361103
-  DEFVAR_LISP ("timer-idle-list"\7f11712,361255
-  DEFVAR_LISP ("input-method-function"\7f11716,361418
-  DEFVAR_LISP ("input-method-previous-message"\7f11737,362387
-  DEFVAR_LISP ("show-help-function"\7f11744,362748
-  DEFVAR_LISP ("disable-point-adjustment"\7f11749,362980
-  DEFVAR_LISP ("global-disable-point-adjustment"\7f11761,363530
-  DEFVAR_LISP ("minibuffer-message-timeout"\7f11770,363896
-  DEFVAR_LISP ("throw-on-input"\7f11775,364174
-  DEFVAR_LISP ("command-error-function"\7f11781,364425
-  DEFVAR_LISP ("enable-disabled-menus-and-buttons"\7f11790,364912
-  DEFVAR_LISP ("select-active-regions"\7f11798,365239
-  DEFVAR_LISP ("saved-region-selection"\7f11807,365631
-  DEFVAR_LISP ("selection-inhibit-update-commands"\7f11815,366016
-  DEFVAR_LISP ("debug-on-event"\7f11825,366557
-keys_of_keyboard \7f11841,367118
-mark_kboards \7f11916,370437
-  DEFVAR_LISP ("internal--top-level-message",\7f\1\ 111058,333975
-  DEFVAR_LISP ("last-command-event",\7f\1\ 111312,342176
-  DEFVAR_LISP ("last-nonmenu-event",\7f\1\ 111315,342300
-  DEFVAR_LISP ("last-input-event",\7f\1\ 111321,342639
-  DEFVAR_LISP ("unread-command-events",\7f\1\ 111324,342733
-  DEFVAR_LISP ("unread-post-input-method-events",\7f\1\ 111332,343193
-  DEFVAR_LISP ("unread-input-method-events",\7f\1\ 111338,343532
-  DEFVAR_LISP ("meta-prefix-char",\7f\1\ 111346,343901
-  DEFVAR_KBOARD ("last-command",\7f\1\ 111351,344109
-  DEFVAR_KBOARD ("real-last-command",\7f\1\ 111368,344790
-  DEFVAR_KBOARD ("last-repeatable-command",\7f\1\ 111372,344976
-  DEFVAR_LISP ("this-command",\7f\1\ 111378,345264
-  DEFVAR_LISP ("real-this-command",\7f\1\ 111384,345501
-  DEFVAR_LISP ("this-command-keys-shift-translated",\7f\1\ 111388,345683
-  DEFVAR_LISP ("this-original-command",\7f\1\ 111396,346126
-  DEFVAR_INT ("auto-save-interval",\7f\1\ 111403,346523
-  DEFVAR_LISP ("auto-save-timeout",\7f\1\ 111408,346737
-  DEFVAR_LISP ("echo-keystrokes",\7f\1\ 111415,347082
-  DEFVAR_INT ("polling-period",\7f\1\ 111421,347353
-  DEFVAR_LISP ("double-click-time",\7f\1\ 111428,347696
-  DEFVAR_INT ("double-click-fuzz",\7f\1\ 111435,348032
-  DEFVAR_INT ("num-input-keys",\7f\1\ 111446,348522
-  DEFVAR_INT ("num-nonmacro-input-events",\7f\1\ 111452,348797
-  DEFVAR_LISP ("last-event-frame",\7f\1\ 111457,349035
-  DEFVAR_LISP ("tty-erase-char",\7f\1\ 111463,349314
-  DEFVAR_LISP ("help-char",\7f\1\ 111466,349437
-  DEFVAR_LISP ("help-event-list",\7f\1\ 111472,349720
-  DEFVAR_LISP ("help-form",\7f\1\ 111477,349931
-  DEFVAR_LISP ("prefix-help-command",\7f\1\ 111483,350179
-  DEFVAR_LISP ("top-level",\7f\1\ 111489,350457
-  DEFVAR_KBOARD ("keyboard-translate-table",\7f\1\ 111495,350678
-  DEFVAR_BOOL ("cannot-suspend",\7f\1\ 111511,351491
-  DEFVAR_BOOL ("menu-prompting",\7f\1\ 111516,351718
-  DEFVAR_LISP ("menu-prompt-more-char",\7f\1\ 111526,352148
-  DEFVAR_INT ("extra-keyboard-modifiers",\7f\1\ 111531,352394
-  DEFVAR_LISP ("deactivate-mark",\7f\1\ 111545,353120
-  DEFVAR_LISP ("pre-command-hook",\7f\1\ 111553,353489
-  DEFVAR_LISP ("post-command-hook",\7f\1\ 111560,353844
-  DEFVAR_LISP ("echo-area-clear-hook",\7f\1\ 111568,354207
-  DEFVAR_LISP ("lucid-menu-bar-dirty-flag",\7f\1\ 111574,354422
-  DEFVAR_LISP ("menu-bar-final-items",\7f\1\ 111578,354625
-  DEFVAR_LISP ("tool-bar-separator-image-expression",\7f\1\ 111583,354875
-  DEFVAR_KBOARD ("overriding-terminal-local-map",\7f\1\ 111589,355233
-  DEFVAR_LISP ("overriding-local-map",\7f\1\ 111598,355655
-  DEFVAR_LISP ("overriding-local-map-menu-flag",\7f\1\ 111607,356106
-  DEFVAR_LISP ("special-event-map",\7f\1\ 111613,356445
-  DEFVAR_LISP ("track-mouse",\7f\1\ 111617,356633
-  DEFVAR_KBOARD ("system-key-alist",\7f\1\ 111620,356760
-  DEFVAR_KBOARD ("local-function-key-map",\7f\1\ 111629,357141
-  DEFVAR_KBOARD ("input-decode-map",\7f\1\ 111658,358600
-  DEFVAR_LISP ("function-key-map",\7f\1\ 111675,359388
-  DEFVAR_LISP ("key-translation-map",\7f\1\ 111683,359804
-  DEFVAR_LISP ("deferred-action-list",\7f\1\ 111689,360148
-  DEFVAR_LISP ("deferred-action-function",\7f\1\ 111694,360396
-  DEFVAR_LISP ("delayed-warnings-list",\7f\1\ 111700,360695
-  DEFVAR_LISP ("timer-list",\7f\1\ 111708,361103
-  DEFVAR_LISP ("timer-idle-list",\7f\1\ 111712,361255
-  DEFVAR_LISP ("input-method-function",\7f\1\ 111716,361418
-  DEFVAR_LISP ("input-method-previous-message",\7f\1\ 111737,362387
-  DEFVAR_LISP ("show-help-function",\7f\1\ 111744,362748
-  DEFVAR_LISP ("disable-point-adjustment",\7f\1\ 111749,362980
-  DEFVAR_LISP ("global-disable-point-adjustment",\7f\1\ 111761,363530
-  DEFVAR_LISP ("minibuffer-message-timeout",\7f\1\ 111770,363896
-  DEFVAR_LISP ("throw-on-input",\7f\1\ 111775,364174
-  DEFVAR_LISP ("command-error-function",\7f\1\ 111781,364425
-  DEFVAR_LISP ("enable-disabled-menus-and-buttons",\7f\1\ 111790,364912
-  DEFVAR_LISP ("select-active-regions",\7f\1\ 111798,365239
-  DEFVAR_LISP ("saved-region-selection",\7f\1\ 111807,365631
-  DEFVAR_LISP ("selection-inhibit-update-commands",\7f\1\ 111815,366016
-  DEFVAR_LISP ("debug-on-event",\7f\1\ 111825,366557
-\f
-c-src/emacs/src/lisp.h,41391
-#define EMACS_LISP_H\7f22,801
-#define DECLARE_GDB_SYM(\7f47,1422
-# define DEFINE_GDB_SYMBOL_BEGIN(\7f49,1509
-# define DEFINE_GDB_SYMBOL_END(\7f50,1579
-# define DEFINE_GDB_SYMBOL_BEGIN(\7f52,1626
-# define DEFINE_GDB_SYMBOL_END(\7f53,1703
-#undef min\7f57,1791
-#undef max\7f58,1802
-#define max(\7f59,1813
-#define min(\7f60,1855
-#define ARRAYELTS(\7f63,1937
-#define GCTYPEBITS \7f67,2080
-DEFINE_GDB_SYMBOL_BEGIN \7fGCTYPEBITS\ 166,2038
-# define NONPOINTER_BITS \7f78,2568
-# define NONPOINTER_BITS \7f80,2601
-typedef int EMACS_INT;\7f91,3024
-typedef unsigned int EMACS_UINT;\7f92,3047
-#  define EMACS_INT_MAX \7f93,3080
-#  define pI \7f94,3112
-typedef long int EMACS_INT;\7f96,3204
-typedef unsigned long EMACS_UINT;\7f97,3232
-#  define EMACS_INT_MAX \7f98,3266
-#  define pI \7f99,3299
-typedef long long int EMACS_INT;\7f103,3478
-typedef unsigned long long int EMACS_UINT;\7f104,3511
-#  define EMACS_INT_MAX \7f105,3554
-#  define pI \7f106,3588
-enum {  BOOL_VECTOR_BITS_PER_CHAR \7f114,3805
-#define BOOL_VECTOR_BITS_PER_CHAR \7f115,3841
-typedef size_t bits_word;\7f123,4166
-# define BITS_WORD_MAX \7f124,4192
-enum { BITS_PER_BITS_WORD \7f125,4224
-typedef unsigned char bits_word;\7f127,4291
-# define BITS_WORD_MAX \7f128,4324
-enum { BITS_PER_BITS_WORD \7f129,4387
-verify \7f131,4451
-    BITS_PER_CHAR \7f136,4571
-    BITS_PER_SHORT \7f137,4606
-    BITS_PER_LONG \7f138,4658
-    BITS_PER_EMACS_INT \7f139,4713
-typedef intmax_t printmax_t;\7f148,5090
-typedef uintmax_t uprintmax_t;\7f149,5119
-# define pMd \7f150,5150
-# define pMu \7f151,5171
-typedef EMACS_INT printmax_t;\7f153,5198
-typedef EMACS_UINT uprintmax_t;\7f154,5228
-# define pMd \7f155,5260
-# define pMu \7f156,5279
-# define pD \7f165,5665
-# define pD \7f167,5710
-# define pD \7f169,5757
-# define pD \7f171,5780
-# define eassert(\7f200,7063
-# define eassume(\7f201,7141
-extern _Noreturn void die \7f204,7207
-extern bool suppress_checking EXTERNALLY_VISIBLE;\7f206,7269
-# define eassert(\7f208,7320
-# define eassume(\7f212,7451
-enum Lisp_Bits\7f239,8520
-#define GCALIGNMENT \7f243,8648
-    VALBITS \7f246,8743
-    INTTYPEBITS \7f249,8839
-    FIXNUM_BITS \7f252,8946
-#define VAL_MAX \7f263,9328
-#define USE_LSB_TAG \7f271,9778
-DEFINE_GDB_SYMBOL_BEGIN \7fUSE_LSB_TAG\ 1270,9734
-# define alignas(\7f281,10078
-# define GCALIGNED \7f288,10228
-# define GCALIGNED \7f290,10293
-# define lisp_h_XLI(\7f327,11643
-# define lisp_h_XIL(\7f328,11674
-# define lisp_h_XLI(\7f330,11725
-# define lisp_h_XIL(\7f331,11752
-#define lisp_h_CHECK_LIST_CONS(\7f333,11786
-#define lisp_h_CHECK_NUMBER(\7f334,11857
-#define lisp_h_CHECK_SYMBOL(\7f335,11928
-#define lisp_h_CHECK_TYPE(\7f336,11997
-#define lisp_h_CONSP(\7f338,12108
-#define lisp_h_EQ(\7f339,12157
-#define lisp_h_FLOATP(\7f340,12202
-#define lisp_h_INTEGERP(\7f341,12253
-#define lisp_h_MARKERP(\7f342,12334
-#define lisp_h_MISCP(\7f343,12409
-#define lisp_h_NILP(\7f344,12458
-#define lisp_h_SET_SYMBOL_VAL(\7f345,12494
-#define lisp_h_SYMBOL_CONSTANT_P(\7f347,12608
-#define lisp_h_SYMBOL_VAL(\7f348,12672
-#define lisp_h_SYMBOLP(\7f350,12773
-#define lisp_h_VECTORLIKEP(\7f351,12826
-#define lisp_h_XCAR(\7f352,12887
-#define lisp_h_XCDR(\7f353,12925
-#define lisp_h_XCONS(\7f354,12965
-#define lisp_h_XHASH(\7f356,13060
-#define lisp_h_XPNTR(\7f357,13094
-# define lisp_h_check_cons_list(\7f360,13222
-# define lisp_h_make_number(\7f363,13290
-# define lisp_h_XFASTINT(\7f365,13393
-# define lisp_h_XINT(\7f366,13430
-# define lisp_h_XSYMBOL(\7f367,13479
-# define lisp_h_XTYPE(\7f371,13632
-# define lisp_h_XUNTAG(\7f372,13697
-# define XLI(\7f381,14087
-# define XIL(\7f382,14118
-# define CHECK_LIST_CONS(\7f383,14149
-# define CHECK_NUMBER(\7f384,14210
-# define CHECK_SYMBOL(\7f385,14259
-# define CHECK_TYPE(\7f386,14308
-# define CONSP(\7f387,14383
-# define EQ(\7f388,14418
-# define FLOATP(\7f389,14453
-# define INTEGERP(\7f390,14490
-# define MARKERP(\7f391,14531
-# define MISCP(\7f392,14570
-# define NILP(\7f393,14605
-# define SET_SYMBOL_VAL(\7f394,14638
-# define SYMBOL_CONSTANT_P(\7f395,14701
-# define SYMBOL_VAL(\7f396,14764
-# define SYMBOLP(\7f397,14813
-# define VECTORLIKEP(\7f398,14852
-# define XCAR(\7f399,14899
-# define XCDR(\7f400,14932
-# define XCONS(\7f401,14965
-# define XHASH(\7f402,15000
-# define XPNTR(\7f403,15035
-#  define check_cons_list(\7f405,15098
-#  define make_number(\7f408,15177
-#  define XFASTINT(\7f409,15225
-#  define XINT(\7f410,15267
-#  define XSYMBOL(\7f411,15301
-#  define XTYPE(\7f412,15341
-#  define XUNTAG(\7f413,15377
-#define LISP_MACRO_DEFUN(\7f421,15673
-#define LISP_MACRO_DEFUN_VOID(\7f425,15846
-#define INTMASK \7f437,16290
-#define case_Lisp_Int \7f438,16343
-#define ENUM_BF(\7f445,16682
-#define ENUM_BF(\7f447,16723
-enum Lisp_Type\7f451,16764
-    Lisp_Symbol \7f454,16852
-    Lisp_Misc \7f458,16994
-    Lisp_Int0 \7f461,17068
-    Lisp_Int1 \7f462,17087
-    Lisp_String \7f466,17265
-    Lisp_Vectorlike \7f472,17544
-    Lisp_Cons \7f475,17633
-    Lisp_Float \7f477,17671
-enum Lisp_Misc_Type\7f485,18017
-    Lisp_Misc_Free \7f487,18041
-    Lisp_Misc_Marker,\7f488,18070
-    Lisp_Misc_Overlay,\7f489,18092
-    Lisp_Misc_Save_Value,\7f490,18115
-    Lisp_Misc_Finalizer,\7f491,18141
-    Lisp_Misc_Float,\7f494,18276
-    Lisp_Misc_Limit\7f496,18360
-enum Lisp_Fwd_Type\7f502,18544
-    Lisp_Fwd_Int,\7f504,18567
-    Lisp_Fwd_Bool,\7f505,18620
-    Lisp_Fwd_Obj,\7f506,18671
-    Lisp_Fwd_Buffer_Obj,\7f507,18730
-    Lisp_Fwd_Kboard_Obj        \7f508,18801
-typedef struct { EMACS_INT i;\7f567,21772
-typedef struct { EMACS_INT i; } Lisp_Object;\7f567,21772
-#define LISP_INITIALLY(\7f569,21818
-#undef CHECK_LISP_OBJECT_TYPE\7f571,21849
-enum CHECK_LISP_OBJECT_TYPE \7f572,21879
-enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE \7f572,21879
-typedef EMACS_INT Lisp_Object;\7f577,22055
-#define LISP_INITIALLY(\7f578,22086
-enum CHECK_LISP_OBJECT_TYPE \7f579,22116
-enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE \7f579,22116
-#define LISP_INITIALLY_ZERO \7f582,22217
-INLINE bool BOOL_VECTOR_P \7f588,22341
-INLINE bool BUFFER_OBJFWDP \7f589,22382
-INLINE bool BUFFERP \7f590,22429
-INLINE bool CHAR_TABLE_P \7f591,22464
-INLINE Lisp_Object CHAR_TABLE_REF_ASCII \7f592,22504
-INLINE bool \7f593,22570
-INLINE bool \7f594,22605
-INLINE bool functionp \7f595,22641
-INLINE bool \7f596,22678
-INLINE bool \7f597,22716
-INLINE bool \7f598,22753
-INLINE bool \7f599,22788
-INLINE bool OVERLAYP \7f600,22822
-INLINE bool PROCESSP \7f601,22858
-INLINE bool PSEUDOVECTORP \7f602,22894
-INLINE bool SAVE_VALUEP \7f603,22940
-INLINE bool FINALIZERP \7f604,22979
-INLINE void set_sub_char_table_contents \7f605,23017
-INLINE bool STRINGP \7f607,23107
-INLINE bool SUB_CHAR_TABLE_P \7f608,23142
-INLINE bool SUBRP \7f609,23186
-INLINE bool \7f610,23219
-INLINE bool \7f611,23256
-INLINE bool WINDOWP \7f612,23297
-INLINE bool TERMINALP \7f613,23332
-INLINE struct Lisp_Save_Value *XSAVE_VALUE \7fXSAVE_VALUE\ 1614,23369
-INLINE struct Lisp_Finalizer *XFINALIZER \7fXFINALIZER\ 1615,23427
-INLINE struct Lisp_Symbol *(XSYMBOL)\7f616,23483
-INLINE void \7f617,23535
-extern Lisp_Object char_table_ref \7f620,23607
-extern void char_table_set \7f621,23661
-extern _Noreturn Lisp_Object wrong_type_argument \7f624,23748
-extern _Noreturn void wrong_choice \7f625,23825
-extern bool might_dump;\7f628,23916
-extern bool initialized;\7f631,24052
-extern double extract_float \7f634,24108
-enum symbol_interned\7f639,24190
-  SYMBOL_UNINTERNED \7f641,24213
-  SYMBOL_INTERNED \7f642,24238
-  SYMBOL_INTERNED_IN_INITIAL_OBARRAY \7f643,24261
-enum symbol_redirect\7f646,24306
-  SYMBOL_PLAINVAL \7f648,24329
-  SYMBOL_VARALIAS \7f649,24353
-  SYMBOL_LOCALIZED \7f650,24377
-  SYMBOL_FORWARDED \7f651,24401
-struct Lisp_Symbol\7f654,24428
-  bool_bf gcmarkbit \7f656,24449
-  ENUM_BF (symbol_redirect) redirect \7f663,24784
-  unsigned constant \7f668,25002
-  unsigned interned \7f672,25122
-  bool_bf declared_special \7f676,25284
-  bool_bf pinned \7f679,25385
-  Lisp_Object name;\7f682,25454
-    Lisp_Object value;\7f687,25622
-    struct Lisp_Symbol *alias;\7falias\ 1688,25645
-    struct Lisp_Buffer_Local_Value *blv;\7fblv\ 1689,25676
-    union Lisp_Fwd *fwd;\7ffwd\ 1690,25717
-  } val;\7f691,25742
-  Lisp_Object function;\7f694,25814
-  Lisp_Object plist;\7f697,25876
-  struct Lisp_Symbol *next;\7fnext\ 1700,25965
-#define EXFUN(\7f707,26243
-#define DEFUN_ARGS_MANY        \7f712,26437
-#define DEFUN_ARGS_UNEVALLED   \7f713,26489
-#define DEFUN_ARGS_0   \7f714,26532
-#define DEFUN_ARGS_1   \7f715,26560
-#define DEFUN_ARGS_2   \7f716,26595
-#define DEFUN_ARGS_3   \7f717,26643
-#define DEFUN_ARGS_4   \7f718,26704
-#define DEFUN_ARGS_5   \7f719,26778
-#define DEFUN_ARGS_6   \7f721,26871
-#define DEFUN_ARGS_7   \7f723,26977
-#define DEFUN_ARGS_8   \7f725,27096
-#define TAG_PTR(\7f729,27287
-#define TAG_SYMOFFSET(\7f734,27534
-#define XLI_BUILTIN_LISPSYM(\7f741,27833
-#define DEFINE_LISP_SYMBOL(\7f746,28092
-# define DEFINE_NON_NIL_Q_SYMBOL_MACROS \7f755,28563
-LISP_MACRO_DEFUN \7f762,28768
-# define ARRAY_MARK_FLAG \7f768,29015
-# define PSEUDOVECTOR_FLAG \7f774,29258
-enum pvec_type\7f780,29559
-  PVEC_NORMAL_VECTOR,\7f782,29576
-  PVEC_FREE,\7f783,29598
-  PVEC_PROCESS,\7f784,29611
-  PVEC_FRAME,\7f785,29627
-  PVEC_WINDOW,\7f786,29641
-  PVEC_BOOL_VECTOR,\7f787,29656
-  PVEC_BUFFER,\7f788,29676
-  PVEC_HASH_TABLE,\7f789,29691
-  PVEC_TERMINAL,\7f790,29710
-  PVEC_WINDOW_CONFIGURATION,\7f791,29727
-  PVEC_SUBR,\7f792,29756
-  PVEC_OTHER,\7f793,29769
-  PVEC_COMPILED,\7f795,29847
-  PVEC_CHAR_TABLE,\7f796,29864
-  PVEC_SUB_CHAR_TABLE,\7f797,29883
-  PVEC_FONT \7f798,29906
-enum More_Lisp_Bits\7f801,29982
-    PSEUDOVECTOR_SIZE_BITS \7f808,30373
-    PSEUDOVECTOR_SIZE_MASK \7f809,30406
-    PSEUDOVECTOR_REST_BITS \7f813,30616
-    PSEUDOVECTOR_REST_MASK \7f814,30649
-    PSEUDOVECTOR_AREA_BITS \7f818,30814
-    PVEC_TYPE_MASK \7f819,30892
-# define VALMASK \7f829,31293
-DEFINE_GDB_SYMBOL_BEGIN \7fVALMASK\ 1828,31248
-#define MOST_POSITIVE_FIXNUM \7f834,31523
-#define MOST_NEGATIVE_FIXNUM \7f835,31583
-XINT \7f874,32675
-XFASTINT \7f889,33026
-XSYMBOL \7f899,33254
-XTYPE \7f910,33472
-XUNTAG \7f918,33652
-LISP_MACRO_DEFUN \7f927,33848
-LISP_MACRO_DEFUN \7f940,34233
-#define FIXNUM_OVERFLOW_P(\7f958,34846
-LISP_MACRO_DEFUN \7fFIXNUM_OVERFLOW_P\ 1952,34623
-LISP_MACRO_DEFUN \7f970,35162
-XSTRING \7f980,35382
-#define SYMBOL_INDEX(\7f988,35566
-XFLOAT \7f991,35627
-XPROCESS \7f1000,35769
-XWINDOW \7f1007,35886
-XTERMINAL \7f1014,36003
-XSUBR \7f1021,36125
-XBUFFER \7f1028,36236
-XCHAR_TABLE \7f1035,36360
-XSUB_CHAR_TABLE \7f1042,36497
-XBOOL_VECTOR \7f1049,36639
-make_lisp_ptr \7f1058,36818
-make_lisp_symbol \7f1066,37004
-builtin_lisp_symbol \7f1074,37188
-#define XSETINT(\7f1079,37270
-#define XSETFASTINT(\7f1080,37316
-#define XSETCONS(\7f1081,37366
-#define XSETVECTOR(\7f1082,37426
-#define XSETSTRING(\7f1083,37494
-#define XSETSYMBOL(\7f1084,37558
-#define XSETFLOAT(\7f1085,37612
-#define XSETMISC(\7f1086,37674
-#define XSETPVECTYPE(\7f1090,37763
-#define XSETPVECTYPESIZE(\7f1092,37879
-#define XSETPSEUDOVECTOR(\7f1099,38176
-#define XSETTYPED_PSEUDOVECTOR(\7f1105,38360
-#define XSETWINDOW_CONFIGURATION(\7f1110,38570
-#define XSETPROCESS(\7f1112,38666
-#define XSETWINDOW(\7f1113,38732
-#define XSETTERMINAL(\7f1114,38796
-#define XSETSUBR(\7f1115,38864
-#define XSETCOMPILED(\7f1116,38924
-#define XSETBUFFER(\7f1117,38992
-#define XSETCHAR_TABLE(\7f1118,39056
-#define XSETBOOL_VECTOR(\7f1119,39128
-#define XSETSUB_CHAR_TABLE(\7f1120,39202
-XINTPTR \7f1128,39572
-make_pointer_integer \7f1134,39652
-LISP_MACRO_DEFUN_VOID \7f1143,39817
-typedef struct interval *INTERVAL;\7fINTERVAL\ 11149,39978
-      Lisp_Object cdr;\7f1159,40153
-      struct Lisp_Cons *chain;\7fchain\ 11162,40227
-xcar_addr \7f1174,40751
-xcdr_addr \7f1179,40828
-LISP_MACRO_DEFUN \7f1185,40922
-XSETCDR \7f1198,41298
-CAR \7f1205,41448
-CDR \7f1212,41582
-CAR_SAFE \7f1221,41782
-CDR_SAFE \7f1226,41868
-STRING_MULTIBYTE \7f1243,42241
-#define STRING_BYTES_BOUND \7f1261,43048
-#define STRING_SET_UNIBYTE(\7f1265,43192
-#define STRING_SET_MULTIBYTE(\7f1275,43507
-SDATA \7f1286,43821
-SSDATA \7f1291,43899
-SREF \7f1297,44028
-SSET \7f1302,44119
-SCHARS \7f1307,44233
-extern ptrdiff_t string_bytes \7f1313,44328
-STRING_BYTES \7f1316,44406
-SBYTES \7f1326,44586
-STRING_SET_CHARS \7f1331,44672
-struct vectorlike_header\7f1343,45223
-    ptrdiff_t size;\7f1364,46374
-struct Lisp_Vector\7f1369,46473
-    struct vectorlike_header header;\7f1371,46496
-    Lisp_Object contents[\7fcontents\ 11372,46533
-    ALIGNOF_STRUCT_LISP_VECTOR\7f1378,46672
-struct Lisp_Bool_Vector\7f1384,46855
-    struct vectorlike_header header;\7f1388,47003
-    EMACS_INT size;\7f1390,47077
-    bits_word data[\7fdata\ 11395,47310
-bool_vector_size \7f1399,47376
-bool_vector_data \7f1407,47514
-bool_vector_uchar_data \7f1413,47608
-bool_vector_words \7f1421,47794
-bool_vector_bytes \7f1428,47989
-bool_vector_bitref \7f1437,48229
-bool_vector_ref \7f1445,48469
-bool_vector_set \7f1453,48609
-    header_size \7f1471,49038
-    bool_header_size \7f1472,49097
-    word_size \7f1473,49162
-AREF \7f1479,49275
-aref_addr \7f1485,49382
-ASIZE \7f1491,49492
-ASET \7f1497,49574
-gc_aset \7f1504,49733
-enum { NIL_IS_ZERO \7f1515,50260
-memclear \7f1520,50455
-#define VECSIZE(\7f1531,50753
-#define PSEUDOVECSIZE(\7f1538,51038
-#define UNSIGNED_CMP(\7f1546,51471
-#define ASCII_CHAR_P(\7f1552,51725
-enum CHARTAB_SIZE_BITS\7f1565,52480
-    CHARTAB_SIZE_BITS_0 \7f1567,52507
-    CHARTAB_SIZE_BITS_1 \7f1568,52536
-    CHARTAB_SIZE_BITS_2 \7f1569,52565
-    CHARTAB_SIZE_BITS_3 \7f1570,52594
-extern const int chartab_size[\7fchartab_size\ 11573,52628
-struct Lisp_Char_Table\7f1575,52663
-    struct vectorlike_header header;\7f1581,52919
-    Lisp_Object defalt;\7f1585,53069
-    Lisp_Object parent;\7f1590,53271
-    Lisp_Object purpose;\7f1594,53389
-    Lisp_Object ascii;\7f1598,53555
-    Lisp_Object contents[\7fcontents\ 11600,53579
-    Lisp_Object extras[\7fextras\ 11603,53690
-struct Lisp_Sub_Char_Table\7f1606,53743
-    struct vectorlike_header header;\7f1610,53909
-    int depth;\7f1618,54332
-    int min_char;\7f1621,54408
-    Lisp_Object contents[\7fcontents\ 11624,54483
-CHAR_TABLE_REF_ASCII \7f1628,54557
-CHAR_TABLE_REF \7f1648,55104
-CHAR_TABLE_SET \7f1658,55393
-struct Lisp_Subr\7f1670,55777
-    struct vectorlike_header header;\7f1672,55798
-      Lisp_Object (*a0)\7fa0\ 11674,55847
-      Lisp_Object (*a1)\7fa1\ 11675,55879
-      Lisp_Object (*a2)\7fa2\ 11676,55918
-      Lisp_Object (*a3)\7fa3\ 11677,55970
-      Lisp_Object (*a4)\7fa4\ 11678,56035
-      Lisp_Object (*a5)\7fa5\ 11679,56113
-      Lisp_Object (*a6)\7fa6\ 11680,56204
-      Lisp_Object (*a7)\7fa7\ 11681,56308
-      Lisp_Object (*a8)\7fa8\ 11682,56425
-      Lisp_Object (*aUNEVALLED)\7faUNEVALLED\ 11683,56555
-      Lisp_Object (*aMANY)\7faMANY\ 11684,56607
-    } function;\7f1685,56662
-    short min_args,\7f1686,56678
-    short min_args, max_args;\7f1686,56678
-    const char *symbol_name;\7fsymbol_name\ 11687,56708
-    const char *intspec;\7fintspec\ 11688,56737
-    const char *doc;\7fdoc\ 11689,56762
-enum char_table_specials\7f1692,56789
-    CHAR_TABLE_STANDARD_SLOTS \7f1697,56984
-    SUB_CHAR_TABLE_OFFSET \7f1701,57205
-CHAR_TABLE_EXTRA_SLOTS \7f1707,57368
-verify \7f1714,57587
-LISP_MACRO_DEFUN \7f1723,57912
-SYMBOL_BLV \7f1732,58172
-SYMBOL_FWD \7f1738,58307
-LISP_MACRO_DEFUN_VOID \7f1744,58419
-SET_SYMBOL_BLV \7f1754,58682
-SET_SYMBOL_FWD \7f1760,58841
-SYMBOL_NAME \7f1767,58992
-SYMBOL_INTERNED_P \7f1775,59121
-SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P \7f1783,59290
-#define DEFSYM(\7f1796,59800
-LISP_MACRO_DEFUN \7fDEFSYM\ 11792,59621
-struct hash_table_test\7f1805,60053
-  Lisp_Object name;\7f1808,60130
-  Lisp_Object user_hash_function;\7f1811,60197
-  Lisp_Object user_cmp_function;\7f1814,60288
-  bool (*cmpfn)\7fcmpfn\ 11817,60363
-  EMACS_UINT (*hashfn)\7fhashfn\ 11820,60477
-struct Lisp_Hash_Table\7f1823,60546
-  struct vectorlike_header header;\7f1826,60640
-  Lisp_Object weak;\7f1830,60774
-  Lisp_Object rehash_size;\7f1835,60998
-  Lisp_Object rehash_threshold;\7f1839,61120
-  Lisp_Object hash;\7f1843,61251
-  Lisp_Object next;\7f1848,61481
-  Lisp_Object next_free;\7f1851,61551
-  Lisp_Object index;\7f1856,61762
-  ptrdiff_t count;\7f1863,62032
-  Lisp_Object key_and_value;\7f1868,62231
-  struct hash_table_test test;\7f1871,62305
-  struct Lisp_Hash_Table *next_weak;\7fnext_weak\ 11875,62448
-XHASH_TABLE \7f1880,62522
-#define XSET_HASH_TABLE(\7f1885,62593
-HASH_TABLE_P \7f1889,62694
-HASH_KEY \7f1896,62851
-HASH_VALUE \7f1903,63031
-HASH_NEXT \7f1911,63245
-HASH_HASH \7f1918,63422
-HASH_INDEX \7f1926,63668
-HASH_TABLE_SIZE \7f1933,63817
-enum DEFAULT_HASH_SIZE \7f1940,63947
-enum DEFAULT_HASH_SIZE { DEFAULT_HASH_SIZE \7f1940,63947
-static double const DEFAULT_REHASH_THRESHOLD \7f1946,64167
-static double const DEFAULT_REHASH_SIZE \7f1950,64290
-sxhash_combine \7f1956,64456
-SXHASH_REDUCE \7f1964,64639
-struct Lisp_Misc_Any   \7f1971,64797
-  ENUM_BF (Lisp_Misc_Type) type \7f1973,64857
-  bool_bf gcmarkbit \7f1974,64918
-  unsigned spacer \7f1975,64943
-struct Lisp_Marker\7f1978,64971
-  ENUM_BF (Lisp_Misc_Type) type \7f1980,64992
-  bool_bf gcmarkbit \7f1981,65056
-  unsigned spacer \7f1982,65081
-  bool_bf need_adjustment \7f1986,65273
-  bool_bf insertion_type \7f1989,65414
-  struct buffer *buffer;\7fbuffer\ 12000,66007
-  struct Lisp_Marker *next;\7fnext\ 12009,66358
-  ptrdiff_t charpos;\7f2011,66446
-  ptrdiff_t bytepos;\7f2016,66704
-struct Lisp_Overlay\7f2021,66832
-    ENUM_BF (Lisp_Misc_Type) type \7f2034,67340
-    bool_bf gcmarkbit \7f2035,67406
-    unsigned spacer \7f2036,67433
-    struct Lisp_Overlay *next;\7fnext\ 12037,67459
-    Lisp_Object start;\7f2038,67490
-    Lisp_Object end;\7f2039,67513
-    Lisp_Object plist;\7f2040,67534
-    SAVE_UNUSED,\7f2047,67635
-    SAVE_INTEGER,\7f2048,67652
-    SAVE_FUNCPOINTER,\7f2049,67670
-    SAVE_POINTER,\7f2050,67692
-    SAVE_OBJECT\7f2051,67710
-enum { SAVE_SLOT_BITS \7f2055,67795
-enum { SAVE_VALUE_SLOTS \7f2058,67892
-enum { SAVE_TYPE_BITS \7f2062,68000
-enum Lisp_Save_Type\7f2064,68066
-    SAVE_TYPE_INT_INT \7f2066,68090
-    SAVE_TYPE_INT_INT_INT\7f2067,68163
-    SAVE_TYPE_OBJ_OBJ \7f2069,68253
-    SAVE_TYPE_OBJ_OBJ_OBJ \7f2070,68324
-    SAVE_TYPE_OBJ_OBJ_OBJ_OBJ\7f2071,68405
-    SAVE_TYPE_PTR_INT \7f2073,68500
-    SAVE_TYPE_PTR_OBJ \7f2074,68573
-    SAVE_TYPE_PTR_PTR \7f2075,68645
-    SAVE_TYPE_FUNCPTR_PTR_OBJ\7f2076,68718
-    SAVE_TYPE_MEMORY \7f2080,68876
-typedef void (*voidfuncptr)\7fvoidfuncptr\ 12108,69830
-struct Lisp_Save_Value\7f2110,69867
-    ENUM_BF (Lisp_Misc_Type) type \7f2112,69894
-    bool_bf gcmarkbit \7f2113,69963
-    unsigned spacer : 32 - (16 + 1 + SAVE_TYPE_BITS)\7f2114,69990
-    ENUM_BF (Lisp_Save_Type) save_type : SAVE_TYPE_BITS;\7f2123,70480
-      void *pointer;\7fpointer\ 12125,70549
-      voidfuncptr funcpointer;\7f2126,70570
-      ptrdiff_t integer;\7f2127,70601
-      Lisp_Object object;\7f2128,70626
-    } data[\7fdata\ 12129,70652
-save_type \7f2134,70746
-XSAVE_POINTER \7f2143,70976
-set_save_pointer \7f2149,71138
-XSAVE_FUNCPOINTER \7f2155,71320
-XSAVE_INTEGER \7f2164,71540
-set_save_integer \7f2170,71702
-XSAVE_OBJECT \7f2179,71923
-struct Lisp_Finalizer\7f2186,72100
-    struct Lisp_Misc_Any base;\7f2188,72126
-    struct Lisp_Finalizer *prev;\7fprev\ 12191,72214
-    struct Lisp_Finalizer *next;\7fnext\ 12192,72247
-    Lisp_Object function;\7f2197,72484
-struct Lisp_Free\7f2201,72575
-    ENUM_BF (Lisp_Misc_Type) type \7f2203,72596
-    bool_bf gcmarkbit \7f2204,72659
-    unsigned spacer \7f2205,72686
-    union Lisp_Misc *chain;\7fchain\ 12206,72712
-union Lisp_Misc\7f2212,72876
-    struct Lisp_Misc_Any u_any;\7f2214,72896
-    struct Lisp_Free u_free;\7f2215,72967
-    struct Lisp_Marker u_marker;\7f2216,72996
-    struct Lisp_Overlay u_overlay;\7f2217,73029
-    struct Lisp_Save_Value u_save_value;\7f2218,73064
-    struct Lisp_Finalizer u_finalizer;\7f2219,73105
-XMISC \7f2223,73175
-XMISCANY \7f2229,73264
-XMISCTYPE \7f2236,73373
-XMARKER \7f2242,73461
-XOVERLAY \7f2249,73576
-XSAVE_VALUE \7f2256,73697
-XFINALIZER \7f2263,73826
-struct Lisp_Intfwd\7f2274,74111
-    enum Lisp_Fwd_Type type;\7f2276,74134
-    EMACS_INT *intvar;\7fintvar\ 12277,74184
-struct Lisp_Boolfwd\7f2284,74405
-    enum Lisp_Fwd_Type type;\7f2286,74429
-    bool *boolvar;\7fboolvar\ 12287,74480
-struct Lisp_Objfwd\7f2294,74696
-    enum Lisp_Fwd_Type type;\7f2296,74719
-    Lisp_Object *objvar;\7fobjvar\ 12297,74769
-struct Lisp_Buffer_Objfwd\7f2302,74928
-    enum Lisp_Fwd_Type type;\7f2304,74958
-    int offset;\7f2305,75015
-    Lisp_Object predicate;\7f2307,75107
-struct Lisp_Buffer_Local_Value\7f2334,76464
-    bool_bf local_if_set \7f2338,76609
-    bool_bf frame_local \7f2341,76791
-    bool_bf found \7f2344,76933
-    union Lisp_Fwd *fwd;\7ffwd\ 12346,77035
-    Lisp_Object where;\7f2348,77178
-    Lisp_Object defcell;\7f2351,77304
-    Lisp_Object valcell;\7f2357,77608
-struct Lisp_Kboard_Objfwd\7f2362,77723
-    enum Lisp_Fwd_Type type;\7f2364,77753
-    int offset;\7f2365,77810
-union Lisp_Fwd\7f2368,77832
-    struct Lisp_Intfwd u_intfwd;\7f2370,77851
-    struct Lisp_Boolfwd u_boolfwd;\7f2371,77884
-    struct Lisp_Objfwd u_objfwd;\7f2372,77919
-    struct Lisp_Buffer_Objfwd u_buffer_objfwd;\7f2373,77952
-    struct Lisp_Kboard_Objfwd u_kboard_objfwd;\7f2374,77999
-XFWDTYPE \7f2378,78078
-XBUFFER_OBJFWD \7f2384,78174
-struct Lisp_Float\7f2391,78310
-      double data;\7f2395,78348
-      struct Lisp_Float *chain;\7fchain\ 12396,78367
-    } u;\7f2397,78399
-XFLOAT_DATA \7f2401,78428
-    IEEE_FLOATING_POINT\7f2415,78937
-#define _UCHAR_T\7f2423,79260
-typedef unsigned char UCHAR;\7f2424,79277
-enum Lisp_Compiled\7f2429,79360
-    COMPILED_ARGLIST \7f2431,79383
-    COMPILED_BYTECODE \7f2432,79409
-    COMPILED_CONSTANTS \7f2433,79436
-    COMPILED_STACK_DEPTH \7f2434,79464
-    COMPILED_DOC_STRING \7f2435,79494
-    COMPILED_INTERACTIVE \7f2436,79523
-enum char_bits\7f2443,79825
-    CHAR_ALT \7f2445,79844
-    CHAR_SUPER \7f2446,79870
-    CHAR_HYPER \7f2447,79898
-    CHAR_SHIFT \7f2448,79926
-    CHAR_CTL \7f2449,79954
-    CHAR_META \7f2450,79980
-    CHAR_MODIFIER_MASK \7f2452,80008
-    CHARACTERBITS \7f2457,80203
-LISP_MACRO_DEFUN \7f2462,80261
-NATNUMP \7f2470,80403
-RANGED_INTEGERP \7f2476,80484
-#define TYPE_RANGED_INTEGERP(\7f2481,80606
-LISP_MACRO_DEFUN \7f2486,80791
-VECTORP \7f2500,81264
-OVERLAYP \7f2505,81367
-SAVE_VALUEP \7f2510,81466
-FINALIZERP \7f2516,81572
-AUTOLOADP \7f2522,81676
-BUFFER_OBJFWDP \7f2528,81767
-PSEUDOVECTOR_TYPEP \7f2534,81865
-PSEUDOVECTORP \7f2542,82118
-WINDOW_CONFIGURATIONP \7f2558,82470
-PROCESSP \7f2564,82580
-WINDOWP \7f2570,82664
-TERMINALP \7f2576,82746
-SUBRP \7f2582,82832
-COMPILEDP \7f2588,82910
-BUFFERP \7f2594,82996
-CHAR_TABLE_P \7f2600,83078
-SUB_CHAR_TABLE_P \7f2606,83169
-BOOL_VECTOR_P \7f2612,83268
-FRAMEP \7f2618,83361
-IMAGEP \7f2625,83478
-ARRAYP \7f2632,83583
-CHECK_LIST \7f2638,83702
-LISP_MACRO_DEFUN_VOID \7f2643,83783
-CHECK_STRING_CAR \7f2653,84080
-CHECK_CONS \7f2658,84184
-CHECK_VECTOR \7f2663,84264
-CHECK_BOOL_VECTOR \7f2668,84350
-CHECK_VECTOR_OR_STRING \7f2674,84527
-CHECK_ARRAY \7f2683,84701
-CHECK_BUFFER \7f2688,84809
-CHECK_WINDOW \7f2693,84895
-CHECK_PROCESS \7f2699,85001
-CHECK_NATNUM \7f2705,85097
-#define CHECK_RANGED_INTEGER(\7f2710,85174
-#define CHECK_TYPE_RANGED_INTEGER(\7f2721,85557
-#define CHECK_NUMBER_COERCE_MARKER(\7f2729,85827
-XFLOATINT \7f2738,86080
-CHECK_NUMBER_OR_FLOAT \7f2744,86151
-#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(\7f2749,86250
-CHECK_NUMBER_CAR \7f2760,86660
-CHECK_NUMBER_CDR \7f2768,86782
-#define DEFUN(\7f2803,88377
-#define DEFUN(\7f2812,88845
-FUNCTIONP \7f2822,89200
-extern void defsubr \7f2829,89352
-enum maxargs\7f2831,89395
-    MANY \7f2833,89412
-    UNEVALLED \7f2834,89427
-#define CALLMANY(\7f2838,89530
-#define CALLN(\7f2844,89883
-extern void defvar_lisp \7f2846,89953
-extern void defvar_lisp_nopro \7f2847,90030
-extern void defvar_bool \7f2848,90113
-extern void defvar_int \7f2849,90184
-extern void defvar_kboard \7f2850,90258
-#define DEFVAR_LISP(\7f2869,91088
-#define DEFVAR_LISP_NOPRO(\7f2874,91260
-#define DEFVAR_BOOL(\7f2879,91442
-#define DEFVAR_INT(\7f2884,91615
-#define DEFVAR_BUFFER_DEFAULTS(\7f2890,91786
-#define DEFVAR_KBOARD(\7f2896,91990
-typedef jmp_buf sys_jmp_buf;\7f2906,92314
-# define sys_setjmp(\7f2907,92343
-# define sys_longjmp(\7f2908,92378
-typedef sigjmp_buf sys_jmp_buf;\7f2910,92450
-# define sys_setjmp(\7f2911,92482
-# define sys_longjmp(\7f2912,92522
-typedef jmp_buf sys_jmp_buf;\7f2916,92681
-# define sys_setjmp(\7f2917,92710
-# define sys_longjmp(\7f2918,92744
-enum specbind_tag \7f2943,93796
-  SPECPDL_UNWIND,\7f2944,93816
-  SPECPDL_UNWIND_PTR,\7f2945,93885
-  SPECPDL_UNWIND_INT,\7f2946,93936
-  SPECPDL_UNWIND_VOID,\7f2947,93984
-  SPECPDL_BACKTRACE,\7f2948,94038
-  SPECPDL_LET,\7f2949,94096
-  SPECPDL_LET_LOCAL,\7f2951,94226
-  SPECPDL_LET_DEFAULT  \7f2952,94283
-union specbinding\7f2955,94355
-    ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2957,94377
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2959,94434
-      void (*func)\7ffunc\ 12960,94480
-      Lisp_Object arg;\7f2961,94514
-    } unwind;\7f2962,94537
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2964,94564
-      void (*func)\7ffunc\ 12965,94610
-      void *arg;\7farg\ 12966,94639
-    } unwind_ptr;\7f2967,94656
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2969,94687
-      void (*func)\7ffunc\ 12970,94733
-      int arg;\7f2971,94759
-    } unwind_int;\7f2972,94774
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2974,94805
-      void (*func)\7ffunc\ 12975,94851
-    } unwind_void;\7f2976,94878
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2978,94910
-      Lisp_Object symbol,\7f2980,95017
-      Lisp_Object symbol, old_value,\7f2980,95017
-      Lisp_Object symbol, old_value, where;\7f2980,95017
-    } let;\7f2981,95061
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2983,95085
-      bool_bf debug_on_exit \7f2984,95131
-      Lisp_Object function;\7f2985,95164
-      Lisp_Object *args;\7fargs\ 12986,95192
-      ptrdiff_t nargs;\7f2987,95217
-    } bt;\7f2988,95240
-extern union specbinding *specpdl;\7fspecpdl\ 12991,95256
-extern union specbinding *specpdl_ptr;\7fspecpdl_ptr\ 12992,95291
-extern ptrdiff_t specpdl_size;\7f2993,95330
-SPECPDL_INDEX \7f2996,95379
-enum handlertype \7f3021,96401
-enum handlertype { CATCHER,\7f3021,96401
-enum handlertype { CATCHER, CONDITION_CASE \7f3021,96401
-struct handler\7f3023,96448
-  enum handlertype type;\7f3025,96465
-  Lisp_Object tag_or_ch;\7f3026,96490
-  Lisp_Object val;\7f3027,96515
-  struct handler *next;\7fnext\ 13028,96534
-  struct handler *nextfree;\7fnextfree\ 13029,96558
-  Lisp_Object *bytecode_top;\7fbytecode_top\ 13036,96916
-  int bytecode_dest;\7f3037,96945
-  struct gcpro *gcpro;\7fgcpro\ 13042,97182
-  sys_jmp_buf jmp;\7f3044,97212
-  EMACS_INT lisp_eval_depth;\7f3045,97231
-  ptrdiff_t pdlcount;\7f3046,97260
-  int poll_suppress_count;\7f3047,97282
-  int interrupt_input_blocked;\7f3048,97309
-  struct byte_stack *byte_stack;\7fbyte_stack\ 13049,97340
-#define PUSH_HANDLER(\7f3053,97437
-extern Lisp_Object memory_signal_data;\7f3075,98143
-extern char *stack_bottom;\7fstack_bottom\ 13079,98276
-extern void process_pending_signals \7f3097,99093
-extern bool volatile pending_signals;\7f3098,99137
-extern void process_quit_flag \7f3100,99176
-#define QUIT   \7f3101,99214
-#define QUITP \7f3112,99464
-extern Lisp_Object Vascii_downcase_table;\7f3114,99525
-extern Lisp_Object Vascii_canon_table;\7f3115,99567
-extern struct gcpro *gcprolist;\7fgcprolist\ 13130,100274
-struct gcpro\7f3132,100307
-  struct gcpro *next;\7fnext\ 13134,100322
-  volatile Lisp_Object *var;\7fvar\ 13137,100391
-  ptrdiff_t nvars;\7f3140,100473
-  const char *name;\7fname\ 13144,100558
-  int lineno;\7f3147,100614
-  int idx;\7f3150,100675
-  int level;\7f3153,100711
-#define GC_USE_GCPROS_AS_BEFORE        \7f3171,101288
-#define GC_MAKE_GCPROS_NOOPS   \7f3172,101323
-#define GC_MARK_STACK_CHECK_GCPROS     \7f3173,101355
-#define GC_USE_GCPROS_CHECK_ZOMBIES    \7f3174,101392
-#define GC_MARK_STACK \7f3177,101453
-#define BYTE_MARK_STACK \7f3181,101553
-#define GCPRO1(\7f3190,101824
-#define GCPRO2(\7f3191,101864
-#define GCPRO3(\7f3192,101930
-#define GCPRO4(\7f3194,102025
-#define GCPRO5(\7f3196,102145
-#define GCPRO6(\7f3198,102290
-#define GCPRO7(\7f3201,102465
-#define UNGCPRO \7f3202,102544
-#define GCPRO1(\7f3208,102644
-#define GCPRO2(\7f3212,102766
-#define GCPRO3(\7f3217,102958
-#define GCPRO4(\7f3223,103220
-#define GCPRO5(\7f3230,103551
-#define GCPRO6(\7f3238,103952
-#define GCPRO7(\7f3247,104422
-#define UNGCPRO \7f3257,104962
-extern int gcpro_level;\7f3261,105031
-#define GCPRO1(\7f3263,105056
-#define GCPRO2(\7f3269,105290
-#define GCPRO3(\7f3278,105708
-#define GCPRO4(\7f3289,106265
-#define GCPRO5(\7f3302,106963
-#define GCPRO6(\7f3317,107803
-#define GCPRO7(\7f3334,108784
-#define UNGCPRO        \7f3353,109907
-#define RETURN_UNGCPRO(\7f3363,110174
-void staticpro \7f3375,110447
-vcopy \7f3384,110648
-set_hash_key_slot \7f3393,110923
-set_hash_value_slot \7f3399,111062
-set_symbol_function \7f3408,111297
-set_symbol_plist \7f3414,111412
-set_symbol_next \7f3420,111515
-blv_found \7f3428,111688
-set_overlay_plist \7f3437,111871
-string_intervals \7f3445,112022
-set_string_intervals \7f3453,112144
-set_char_table_defalt \7f3462,112346
-set_char_table_purpose \7f3467,112458
-set_char_table_extras \7f3475,112627
-set_char_table_contents \7f3482,112836
-set_sub_char_table_contents \7f3489,113031
-extern Lisp_Object indirect_function \7f3495,113190
-extern Lisp_Object find_symbol_value \7f3496,113242
-enum Arith_Comparison \7f3497,113294
-  ARITH_EQUAL,\7f3498,113318
-  ARITH_NOTEQUAL,\7f3499,113333
-  ARITH_LESS,\7f3500,113351
-  ARITH_GRTR,\7f3501,113365
-  ARITH_LESS_OR_EQUAL,\7f3502,113379
-  ARITH_GRTR_OR_EQUAL\7f3503,113402
-extern Lisp_Object arithcompare \7f3505,113427
-#define INTEGER_TO_CONS(\7f3511,113753
-#define CONS_TO_INTEGER(\7f3529,114616
-extern intmax_t cons_to_signed \7f3533,114831
-extern uintmax_t cons_to_unsigned \7f3534,114897
-extern struct Lisp_Symbol *indirect_variable \7findirect_variable\ 13536,114958
-extern _Noreturn void args_out_of_range \7f3537,115027
-extern _Noreturn void args_out_of_range_3 \7f3538,115095
-extern Lisp_Object do_symval_forwarding \7f3540,115186
-extern void set_internal \7f3541,115246
-extern void syms_of_data \7f3542,115318
-extern void swap_in_global_binding \7f3543,115351
-extern void syms_of_cmds \7f3546,115435
-extern void keys_of_cmds \7f3547,115468
-extern Lisp_Object detect_coding_system \7f3550,115530
-extern void init_coding \7f3552,115683
-extern void init_coding_once \7f3553,115715
-extern void syms_of_coding \7f3554,115752
-extern ptrdiff_t chars_in_text \7f3557,115819
-extern ptrdiff_t multibyte_chars_in_text \7f3558,115886
-extern void syms_of_character \7f3559,115963
-extern void init_charset \7f3562,116031
-extern void init_charset_once \7f3563,116064
-extern void syms_of_charset \7f3564,116102
-extern void init_syntax_once \7f3569,116222
-extern void syms_of_syntax \7f3570,116259
-enum { NEXT_ALMOST_PRIME_LIMIT \7f3573,116320
-extern EMACS_INT next_almost_prime \7f3574,116359
-enum constype \7f3739,123811
-enum constype {CONSTYPE_HEAP,\7fCONSTYPE_HEAP\ 13739,123811
-enum constype {CONSTYPE_HEAP, CONSTYPE_PURE}\7fCONSTYPE_PURE\ 13739,123811
-extern Lisp_Object listn \7f3740,123857
-list2i \7f3745,124001
-list3i \7f3751,124110
-list4i \7f3757,124249
-extern Lisp_Object make_uninit_bool_vector \7f3763,124401
-extern Lisp_Object bool_vector_fill \7f3764,124457
-extern _Noreturn void string_overflow \7f3765,124521
-extern Lisp_Object make_string \7f3766,124567
-extern Lisp_Object make_formatted_string \7f3767,124625
-extern Lisp_Object make_multibyte_string \7f3779,124979
-extern Lisp_Object make_event_array \7f3780,125058
-extern Lisp_Object make_uninit_string \7f3781,125122
-extern Lisp_Object make_uninit_multibyte_string \7f3782,125173
-extern Lisp_Object make_string_from_bytes \7f3783,125245
-extern Lisp_Object make_specified_string \7f3784,125325
-extern Lisp_Object make_pure_string \7f3786,125417
-extern Lisp_Object make_pure_c_string \7f3787,125497
-build_pure_c_string \7f3792,125653
-build_string \7f3801,125858
-extern Lisp_Object pure_cons \7f3806,125936
-extern void make_byte_code \7f3807,125993
-extern struct Lisp_Vector *allocate_vector \7fallocate_vector\ 13808,126044
-make_uninit_vector \7f3820,126429
-make_uninit_sub_char_table \7f3833,126648
-extern struct Lisp_Vector *allocate_pseudovector \7fallocate_pseudovector\ 13844,126957
-#define ALLOCATE_PSEUDOVECTOR(\7f3850,127192
-#define ALLOCATE_ZEROED_PSEUDOVECTOR(\7f3858,127528
-extern bool gc_in_progress;\7f3863,127729
-extern bool abort_on_gc;\7f3864,127757
-extern Lisp_Object make_float \7f3865,127782
-extern void display_malloc_warning \7f3866,127822
-extern ptrdiff_t inhibit_garbage_collection \7f3867,127865
-extern Lisp_Object make_save_int_int_int \7f3868,127917
-extern Lisp_Object make_save_obj_obj_obj_obj \7f3869,127993
-extern Lisp_Object make_save_ptr \7f3871,128103
-extern Lisp_Object make_save_ptr_int \7f3872,128146
-extern Lisp_Object make_save_ptr_ptr \7f3873,128204
-extern Lisp_Object make_save_funcptr_ptr_obj \7f3874,128259
-extern Lisp_Object make_save_memory \7f3876,128355
-extern void free_save_value \7f3877,128419
-extern Lisp_Object build_overlay \7f3878,128462
-extern void free_marker \7f3879,128536
-extern void free_cons \7f3880,128575
-extern void init_alloc_once \7f3881,128619
-extern void init_alloc \7f3882,128655
-extern void syms_of_alloc \7f3883,128686
-extern struct buffer * allocate_buffer \7f3884,128720
-extern int valid_lisp_object_p \7f3885,128767
-extern int relocatable_string_data_p \7f3886,128813
-extern void check_cons_list \7f3888,128892
-INLINE void \7f3890,128934
-extern void *r_alloc \7fr_alloc\ 13895,129055
-#define FLOAT_TO_STRING_BUFSIZE \7f3927,130518
-extern int openp \7f3957,131667
-extern Lisp_Object string_to_number \7f3959,131777
-extern void map_obarray \7f3960,131840
-extern void dir_warning \7f3962,131954
-extern void init_obarray \7f3963,132007
-extern void init_lread \7f3964,132040
-extern void syms_of_lread \7f3965,132071
-intern \7f3968,132125
-intern_c_string \7f3974,132213
-extern EMACS_INT lisp_eval_depth;\7f3980,132326
-extern Lisp_Object Vautoload_queue;\7f3981,132360
-extern Lisp_Object Vrun_hooks;\7f3982,132396
-extern Lisp_Object Vsignaling_function;\7f3983,132427
-extern Lisp_Object inhibit_lisp_code;\7f3984,132467
-extern struct handler *handlerlist;\7fhandlerlist\ 13985,132505
-extern void run_hook \7f3994,132747
-extern void run_hook_with_args_2 \7f3995,132783
-extern Lisp_Object run_hook_with_args \7f3996,132857
-extern _Noreturn void xsignal \7f3999,133016
-extern _Noreturn void xsignal0 \7f4000,133074
-extern _Noreturn void xsignal1 \7f4001,133120
-extern _Noreturn void xsignal2 \7f4002,133179
-extern _Noreturn void xsignal3 \7f4003,133251
-extern _Noreturn void signal_error \7f4005,133340
-extern Lisp_Object eval_sub \7f4006,133404
-extern Lisp_Object apply1 \7f4007,133452
-extern Lisp_Object call0 \7f4008,133506
-extern Lisp_Object call1 \7f4009,133546
-extern Lisp_Object call2 \7f4010,133599
-extern Lisp_Object call3 \7f4011,133665
-extern Lisp_Object call4 \7f4012,133744
-extern Lisp_Object call5 \7f4013,133836
-extern Lisp_Object call6 \7f4014,133941
-extern Lisp_Object call7 \7f4015,134059
-extern Lisp_Object internal_catch \7f4016,134190
-extern Lisp_Object internal_lisp_condition_case \7f4017,134283
-extern Lisp_Object internal_condition_case \7f4018,134372
-extern Lisp_Object internal_condition_case_1 \7f4019,134485
-extern Lisp_Object internal_condition_case_2 \7f4020,134620
-extern Lisp_Object internal_condition_case_n\7f4021,134781
-extern void specbind \7f4024,134977
-extern void record_unwind_protect \7f4025,135026
-extern void record_unwind_protect_ptr \7f4026,135099
-extern void record_unwind_protect_int \7f4027,135166
-extern void record_unwind_protect_void \7f4028,135227
-extern void record_unwind_protect_nothing \7f4029,135285
-extern void clear_unwind_protect \7f4030,135335
-extern void set_unwind_protect \7f4031,135381
-extern void set_unwind_protect_ptr \7f4032,135462
-extern Lisp_Object unbind_to \7f4033,135537
-extern _Noreturn void error \7f4034,135592
-fast_string_match_ignore_case \7f4136,140080
-extern ptrdiff_t fast_c_string_match_ignore_case \7f4141,140230
-extern ptrdiff_t fast_looking_at \7f4143,140327
-extern ptrdiff_t find_newline \7f4145,140466
-extern ptrdiff_t scan_newline \7f4147,140595
-extern ptrdiff_t scan_newline_from_point \7f4149,140698
-extern ptrdiff_t find_newline_no_quit \7f4150,140778
-extern ptrdiff_t find_before_next_newline \7f4152,140875
-extern void syms_of_search \7f4154,140973
-extern void clear_regexp_cache \7f4155,141008
-extern Lisp_Object Vminibuffer_list;\7f4159,141078
-extern Lisp_Object last_minibuf_string;\7f4160,141115
-extern Lisp_Object get_minibuffer \7f4161,141155
-extern void init_minibuf_once \7f4162,141202
-extern void syms_of_minibuf \7f4163,141240
-extern void syms_of_callint \7f4167,141307
-extern void syms_of_casefiddle \7f4171,141377
-extern void keys_of_casefiddle \7f4172,141416
-extern void init_casetab_once \7f4176,141486
-extern void syms_of_casetab \7f4177,141524
-extern Lisp_Object echo_message_buffer;\7f4181,141592
-extern struct kboard *echo_kboard;\7fecho_kboard\ 14182,141632
-extern void cancel_echoing \7f4183,141667
-extern Lisp_Object last_undo_boundary;\7f4184,141702
-extern bool input_pending;\7f4185,141741
-extern sigjmp_buf return_to_command_loop;\7f4187,141804
-extern Lisp_Object menu_bar_items \7f4189,141853
-extern Lisp_Object tool_bar_items \7f4190,141902
-extern void discard_mouse_events \7f4191,141958
-void handle_input_available_signal \7f4193,142019
-extern Lisp_Object pending_funcalls;\7f4195,142068
-extern bool detect_input_pending \7f4196,142105
-extern bool detect_input_pending_ignore_squeezables \7f4197,142146
-extern bool detect_input_pending_run_timers \7f4198,142206
-extern void safe_run_hooks \7f4199,142258
-extern void cmd_error_internal \7f4200,142300
-extern Lisp_Object command_loop_1 \7f4201,142360
-extern Lisp_Object read_menu_command \7f4202,142402
-extern Lisp_Object recursive_edit_1 \7f4203,142447
-extern void record_auto_save \7f4204,142491
-extern void force_auto_save_soon \7f4205,142528
-extern void init_keyboard \7f4206,142569
-extern void syms_of_keyboard \7f4207,142603
-extern void keys_of_keyboard \7f4208,142640
-extern ptrdiff_t current_column \7f4211,142706
-extern void invalidate_current_column \7f4212,142746
-extern bool indented_beyond_p \7f4213,142792
-extern void syms_of_indent \7f4214,142857
-extern void store_frame_param \7f4217,142920
-extern void store_in_alist \7f4218,142994
-extern Lisp_Object do_switch_frame \7f4219,143064
-extern Lisp_Object get_frame_param \7f4220,143137
-extern void frames_discard_buffer \7f4221,143203
-extern void syms_of_frame \7f4222,143252
-extern char **initial_argv;\7finitial_argv\ 14225,143314
-extern int initial_argc;\7f4226,143342
-extern bool display_arg;\7f4228,143417
-extern Lisp_Object decode_env_path \7f4230,143449
-extern Lisp_Object empty_unibyte_string,\7f4231,143520
-extern Lisp_Object empty_unibyte_string, empty_multibyte_string;\7f4231,143520
-extern _Noreturn void terminate_due_to_signal \7f4232,143585
-extern Lisp_Object Vlibrary_cache;\7f4234,143660
-void fixup_locale \7f4237,143721
-void synchronize_system_messages_locale \7f4238,143747
-void synchronize_system_time_locale \7f4239,143795
-INLINE void fixup_locale \7f4241,143845
-INLINE void synchronize_system_messages_locale \7f4242,143880
-INLINE void synchronize_system_time_locale \7f4243,143937
-extern void shut_down_emacs \7f4245,143997
-extern bool noninteractive;\7f4248,144123
-extern bool no_site_lisp;\7f4251,144215
-extern int daemon_pipe[\7fdaemon_pipe\ 14256,144383
-#define IS_DAEMON \7f4257,144410
-#define DAEMON_RUNNING \7f4258,144450
-extern void *w32_daemon_event;\7fw32_daemon_event\ 14260,144518
-#define IS_DAEMON \7f4261,144549
-#define DAEMON_RUNNING \7f4262,144594
-extern bool fatal_error_in_progress;\7f4266,144715
-extern bool inhibit_window_system;\7f4269,144821
-extern bool running_asynch_code;\7f4271,144914
-extern void kill_buffer_processes \7f4274,144977
-extern int wait_reading_process_output \7f4275,145026
-# define WAIT_READING_MAX \7f4281,145413
-# define WAIT_READING_MAX \7f4283,145485
-extern void add_timer_wait_descriptor \7f4286,145549
-extern void add_keyboard_wait_descriptor \7f4288,145601
-extern void delete_keyboard_wait_descriptor \7f4289,145649
-extern void add_gpm_wait_descriptor \7f4291,145716
-extern void delete_gpm_wait_descriptor \7f4292,145759
-extern void init_process_emacs \7f4294,145812
-extern void syms_of_process \7f4295,145851
-extern void setup_process_coding_systems \7f4296,145887
-extern int child_setup \7f4302,146007
-extern void init_callproc_1 \7f4303,146075
-extern void init_callproc \7f4304,146111
-extern void set_initial_environment \7f4305,146145
-extern void syms_of_callproc \7f4306,146189
-extern Lisp_Object read_doc_string \7f4309,146252
-extern Lisp_Object get_doc_string \7f4310,146302
-extern void syms_of_doc \7f4311,146363
-extern int read_bytecode_char \7f4312,146395
-extern void syms_of_bytecode \7f4315,146464
-extern struct byte_stack *byte_stack_list;\7fbyte_stack_list\ 14316,146501
-extern void mark_byte_stack \7f4318,146564
-extern void unmark_byte_stack \7f4320,146607
-extern Lisp_Object exec_byte_code \7f4321,146645
-extern void init_macros \7f4325,146795
-extern void syms_of_macros \7f4326,146827
-extern void truncate_undo_list \7f4329,146889
-extern void record_insert \7f4330,146939
-extern void record_delete \7f4331,146989
-extern void record_first_change \7f4332,147047
-extern void record_change \7f4333,147087
-extern void record_property_change \7f4334,147137
-extern void syms_of_undo \7f4337,147279
-extern void report_interval_modification \7f4340,147343
-extern void syms_of_menu \7f4343,147439
-extern void syms_of_xmenu \7f4346,147500
-extern char *get_current_dir_name \7fget_current_dir_name\ 14356,147702
-extern void stuff_char \7f4358,147751
-extern void init_foreground_group \7f4359,147784
-extern void sys_subshell \7f4360,147826
-extern void sys_suspend \7f4361,147859
-extern void discard_tty_input \7f4362,147891
-extern void init_sys_modes \7f4363,147929
-extern void reset_sys_modes \7f4364,147985
-extern void init_all_sys_modes \7f4365,148042
-extern void reset_all_sys_modes \7f4366,148081
-extern void child_setup_tty \7f4367,148121
-extern void setup_pty \7f4368,148156
-extern int set_window_size \7f4369,148185
-extern EMACS_INT get_random \7f4370,148229
-extern void seed_random \7f4371,148265
-extern void init_random \7f4372,148310
-extern void emacs_backtrace \7f4373,148342
-extern _Noreturn void emacs_abort \7f4374,148377
-extern void xputenv \7f4527,152691
-extern char *egetenv_internal \7fegetenv_internal\ 14529,152728
-egetenv \7f4532,152800
-extern void init_system_name \7f4539,153003
-#define eabs(\7f4545,153296
-#define make_fixnum_or_float(\7f4550,153429
-enum MAX_ALLOCA \7f4556,153680
-enum MAX_ALLOCA { MAX_ALLOCA \7f4556,153680
-extern void *record_xmalloc \7frecord_xmalloc\ 14558,153725
-#define USE_SAFE_ALLOCA        \7f4560,153791
-#define AVAIL_ALLOCA(\7f4564,153924
-#define SAFE_ALLOCA(\7f4568,154035
-#define SAFE_NALLOCA(\7f4576,154376
-#define SAFE_ALLOCA_STRING(\7f4590,154852
-#define SAFE_FREE(\7f4598,155104
-#define SAFE_ALLOCA_LISP(\7f4625,155682
-# define USE_STACK_LISP_OBJECTS \7f4652,156804
-# undef USE_STACK_LISP_OBJECTS\7f4658,156970
-# define USE_STACK_LISP_OBJECTS \7f4659,157001
-enum { defined_GC_CHECK_STRING_BYTES \7f4663,157076
-enum { defined_GC_CHECK_STRING_BYTES \7f4665,157129
-union Aligned_Cons\7f4670,157263
-  struct Lisp_Cons s;\7f4672,157284
-  double d;\7f4673,157306
-  double d; intmax_t i;\7f4673,157306
-  double d; intmax_t i; void *p;\7fp\ 14673,157306
-union Aligned_String\7f4676,157343
-  struct Lisp_String s;\7f4678,157366
-  double d;\7f4679,157390
-  double d; intmax_t i;\7f4679,157390
-  double d; intmax_t i; void *p;\7fp\ 14679,157390
-    USE_STACK_CONS \7f4689,157698
-    USE_STACK_STRING \7f4691,157804
-#define STACK_CONS(\7f4699,158141
-#define AUTO_CONS_EXPR(\7f4701,158238
-#define AUTO_CONS(\7f4709,158601
-#define AUTO_LIST1(\7f4710,158672
-#define AUTO_LIST2(\7f4712,158780
-#define AUTO_LIST3(\7f4716,158935
-#define AUTO_LIST4(\7f4720,159110
-extern const char *verify_ascii \7fverify_ascii\ 14730,159447
-# define verify_ascii(\7f4732,159501
-#define AUTO_STRING(\7f4740,159809
-#define FOR_EACH_TAIL(\7f4752,160273
-#define FOR_EACH_ALIST_VALUE(\7f4766,160764
-maybe_gc \7f4774,161051
-functionp \7f4784,161290
-\f
-c-src/machsyscalls.c,23
-#define        SYSCALL(\7f6,113
-\f
-c-src/machsyscalls.h,159
-SYSCALL (mach_msg_trap,\7f1,0
-SYSCALL (mach_reply_port,\7f13,314
-SYSCALL (mach_thread_self,\7f18,377
-SYSCALL (mach_task_self,\7f23,441
-SYSCALL (mach_host_self,\7f28,503
-\f
-c-src/fail.c,30
-void (*prt_call(\7fprt_call\ 11,0
-\f
-c-src/h.h,2506
-   ELEM_I/\7fELEM_I\ 13,15
-} Fails_t;\7f5,85
-typedef void Lang_function \7f6,96
-void Asm_labels \7f7,127
-typedef struct tpcmd\7f8,147
-#define ggg \7f10,170
-  } arg;\7f13,198
-tpcmd;\7f15,209
-typedef struct foobar2_ \7f16,216
-    fu   int (*funcptr)\7ffuncptr\ 117,242
-    long foo;\7f18,279
-    char bar;\7f19,293
-} foobar2;\7f20,307
-    DEVICE_SWP,\7f23,333
-    DEVICE_LAST\7f24,349
-} bsp_DevId;\7f25,365
-  struct constant_args \7f27,394
-    unsigned int burst;\7f28,419
-  } constant;\7f29,443
-} args;\7f30,457
-typedef int *regset;\7fregset\ 131,465
-typedef int INT;\7f32,486
-typedef union abc\7f33,503
-  int def;\7f35,523
-} ghi1;\7f36,534
-typedef union abc \7f37,542
-  int def;\7f38,562
-} ghi2;\7f39,573
-typedef struct a \7f40,581
-} b;\7f41,600
-#define c(\7f42,605
-typedef struct an_extern_linkage *an_extern_linkage_ptr;\7fan_extern_linkage_ptr\ 143,619
-typedef struct an_extern_linkage \7f44,676
-               kind;\7f46,733
-               is_explicit;\7f49,812
-  a_byte_boolean is_curly_brace_form;\7f54,1009
-} an_extern_linkage;\7f56,1054
-typedef struct pollfd   pfdset[\7fpfdset\ 157,1075
-typedef union rtunion_def\7f58,1119
-    int rtint;\7f60,1149
-    char *rtstr;\7frtstr\ 161,1164
-    struct rtx_def *rtx;\7frtx\ 162,1181
-  } womboid \7f63,1206
-typedef union rtunion_def\7f64,1220
-  int rtint;\7f68,1250
-  char *rtstr;\7frtstr\ 169,1263
-  struct rtx_def *rtxp;\7frtxp\ 170,1278
-  struct rtx_def rtxnp;\7f71,1302
-womboid\7f75,1330
-enum {dog,\7fdog\ 181,1416
-enum {dog, cat}\7fcat\ 181,1416
-enum {dog, cat} animals;\7f81,1416
-typedef void (_CALLBACK_ *signal_handler)\7fsignal_handler\ 182,1441
-typedef void (_CALLBACK_ *signal_handler1)\7fsignal_handler1\ 183,1489
-/* comment */ #define ANSIC\7f84,1538
- #define ANSIC\7f85,1566
-typedef void (proc)\7f87,1588
-typedef void OperatorFun(\7f88,1612
-typedef int f(\7f89,1648
-struct my_struct \7f91,1691
-typedef struct my_struct my_typedef;\7f93,1713
-typedef RETSIGTYPE (*signal_handler_t)\7fsignal_handler_t\ 194,1750
-  Date 04 May 87 235311 PDT \7f96,1802
-typedef unsigned char unchar;\7f99,1880
-typedef int X,\7f100,1910
-typedef int X, Y,\7f100,1910
-typedef int X, Y, Z;\7f100,1910
-typedef mio mao;\7f101,1931
-extern void ab(\7f102,1948
-typedef struct a \7f103,1966
-typedef struct a { } b;\7f103,1966
-typedef struct b\7f104,1990
-} c;\7f106,2009
-int    (*oldhup)\7foldhup\ 1107,2014
-request (*oldhup)\7foldhup\ 1108,2031
-int extvar;\7f109,2053
-#define tag1\7f110,2065
-#define aaaaaa \7f111,2078
-#define bbbbbb\\7fbbbbbb\ 1113,2102
-#define cccccccccc\7f115,2125
-#define enter_critical_section \7f116,2144
-#define exit_critical_to_previous      \7f117,2199
-#define UNDEFINED\7f118,2259
-struct re_pattern_buffer \7f119,2277
-struct re_pattern_buffer { unsigned char *buffer;\7fbuffer\ 1119,2277
-\f
-cp-src/c.C,3133
-template <typename ipc3dIslandHierarchy,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels, typename ipc3dLinkControl,\7f1,0
-class CMultiChannelCSC19_3D\7f2,151
-        ipc3dLinkControlSetup setup;\7f5,190
-        ipc3dCSC19<\7fipc3dCSC19\ 16,227
-        ipc3dCSC19<ipc3dIslandHierarchy,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipc3dLinkControl> mcCSC;\7f6,227
-        advTimer cscInitTime;\7f7,388
-        advTimer cscSegmentationTime;\7f8,418
-        advTimer outputTime;\7f9,456
-        void execute(\7f11,493
-static void my_function1(\7f24,984
-int main \7f25,1026
-double base \7f26,1088
-operator += \7foperator +=\ 129,1174
-class TestRecord;\7f31,1233
-typedef struct s1 \7f32,1251
-   int counter;\7f33,1271
-} t1;\7f34,1287
-struct s2 \7f35,1293
-   int counter;\7f36,1305
-typedef struct s2 t2;\7f38,1324
-class A \7f39,1346
-  enum { rosso,\7f40,1356
-  enum { rosso, giallo,\7f40,1356
-  enum { rosso, giallo, verde \7f40,1356
-  enum { rosso, giallo, verde } colori;\7f40,1356
-  const A& operator+(\7f41,1396
-const A& A::operator+(\7foperator+\ 143,1431
-void operator+(\7f44,1467
-void operator -(\7foperator -\ 145,1495
-void operator int(\7foperator int\ 146,1524
-A<int>* f(\7f48,1556
-int f(\7f49,1571
-int A<int>::f(\7ff\ 150,1590
-A<float,B<int> > A<B<float>,int>::f(\7ff\ 151,1618
-template <class C, int n> class AT \7f52,1668
-template <class C, int n> class AT { C t[\7ft\ 152,1668
-class AU \7f53,1716
-class AU { T x;\7f53,1716
-class B<\7fB\ 154,1735
-class B<int> { void f(\7f54,1735
-const A::B::T& abt \7f55,1766
-class A \7f56,1792
-class A { class B \7f56,1792
-class A { class B { int f(\7f56,1792
-class A \7f57,1827
-  int get_data(\7f58,1837
-  A operator+(\7f59,1861
-is_muldiv_operation(\7f61,1888
-domain foo \7f68,1956
-     void f(\7f69,1969
-void A::A(\7fA\ 172,1990
-struct A \7f73,2005
-struct A { A(\7f73,2005
-struct B \7f74,2023
-struct B { B(\7f74,2023
-void B::B(\7fB\ 175,2042
-void BE_Node::BE_Node(\7fBE_Node\ 176,2057
-class BE_Node \7f77,2084
-struct foo \7f79,2103
-  int x;\7f80,2116
-class test \7f86,2157
-  int f(\7f87,2170
-  int ff(\7f89,2232
-  int g(\7f90,2255
-class  AST_Root \7f92,2279
-class  AST_Root;\7f96,2328
-AST_ConcreteType::AST_ConcreteType(\7f99,2394
-AST_Array::AST_Array(\7f107,2533
-     void f(\7f115,2734
-struct A \7f117,2754
-    ~A(\7f118,2765
-A::~A(\7f~A\ 1120,2778
-struct B \7f122,2790
-    ~B(\7f123,2801
-enum {dog,\7fdog\ 1126,2818
-enum {dog, cat}\7fcat\ 1126,2818
-enum {dog, cat} animals;\7f126,2818
-struct {int teats;\7f127,2843
-struct {int teats;} cow;\7f127,2843
-class Boo \7f129,2869
-    enum {dog,\7fdog\ 1130,2881
-    enum {dog, cat}\7fcat\ 1130,2881
-    enum {dog, cat} animals;\7f130,2881
-    struct {int treats;\7f131,2910
-    struct {int treats;} cow;\7f131,2910
-    int i,\7f132,2940
-    int i,a,\7f132,2940
-    int i,a,b;\7f132,2940
-    foo(\7f133,2955
-    Boo(\7f137,2996
-    Boo(\7f138,3053
-Boo::Boo(\7f141,3071
-typedef int should_see_this_one_enclosed_in_extern_C;\7f149,3156
-typedef int (*should_see_this_function_pointer)\7fshould_see_this_function_pointer\ 1153,3229
-typedef int should_see_this_array_type[\7fshould_see_this_array_type\ 1156,3311
-\f
-cp-src/x.cc,102
-class XX\7f1,0
-     int foo(\7f4,19
-     void bar(\7f5,35
-XX::foo(\7ffoo\ 19,60
-XX::bar(\7fbar\ 115,95
-main(\7f21,126
-\f
-cp-src/burton.cpp,124
-::dummy::dummy test::dummy1(\7fdummy1\ 11,0
-::dummy::dummy test::dummy2(\7fdummy2\ 16,64
-::dummy::dummy test::dummy3(\7fdummy3\ 111,143
-\f
-cp-src/functions.cpp,778
-void Date::setDate \7fsetDate\ 15,148
-void Date::plus \7fplus\ 132,938
-void Date::minus \7fminus\ 142,1226
-void Date::shift \7fshift\ 152,1404
-Date & Date::operator = \7foperator =\ 162,1625
-Date & Date::operator += \7foperator +=\ 169,1786
-Date & Date::operator -= \7foperator -=\ 178,1935
-Date & Date::operator ++ \7foperator ++\ 187,2076
-Date & Date::operator -- \7foperator --\ 196,2212
-int Date::operator - \7foperator -\ 1104,2327
-int Date::operator < \7foperator <\ 1112,2479
-int Date::operator > \7foperator >\ 1116,2553
-int Date::operator == \7foperator ==\ 1120,2627
-ostream& operator << \7foperator <<\ 1124,2703
-istream& operator >> \7foperator >>\ 1133,2939
-bool isLeap \7f159,3539
-bool isHoliday \7f163,3625
-void asort(\7f173,3861
-void ReadVacation \7f186,4060
-void Debug \7f201,4519
-int WorkingDays(\7f211,4863
-Date StartDay(\7f226,5125
-\f
-cp-src/MDiagArray2.h,1194
-#define octave_MDiagArray2_h \7f29,870
-#undef LTGT\7f35,967
-#define LTGT\7f39,1031
-#define LTGT \7f42,1051
-class MDiagArray2;\7f45,1087
-operator += \7foperator +=\ 148,1145
-operator -= \7foperator -=\ 151,1242
-operator * \7foperator *\ 154,1339
-operator / \7foperator /\ 157,1428
-operator * \7foperator *\ 160,1517
-operator + \7foperator +\ 163,1605
-operator - \7foperator -\ 166,1707
-product \7f69,1808
-operator - \7foperator -\ 172,1907
-class MDiagArray2 \7f78,2022
-  MDiagArray2 \7f82,2077
-  MDiagArray2 \7f86,2154
-  MDiagArray2 \7f87,2198
-  MDiagArray2 \7f88,2254
-  MDiagArray2 \7f89,2329
-  MDiagArray2 \7f90,2387
-  MDiagArray2 \7f91,2450
-  ~MDiagArray2 \7f93,2515
-  MDiagArray2<T>& operator = \7foperator =\ 195,2542
-      DiagArray2<T>::operator = \7foperator =\ 197,2603
-  operator MArray2<T> \7foperator MArray2<T>\ 1101,2667
-  operator += \7foperator +=\ 1116,2966
-  operator -= \7foperator -=\ 1119,3057
-  friend MDiagArray2<T> operator * \7foperator *\ 1123,3174
-  friend MDiagArray2<T> operator / \7foperator /\ 1124,3253
-  friend MDiagArray2<T> operator * \7foperator *\ 1128,3384
-  operator + \7foperator +\ 1133,3544
-  operator - \7foperator -\ 1136,3640
-  friend MDiagArray2<T> operator - \7foperator -\ 1141,3803
-#undef LTGT\7f144,3874
-#define INSTANTIATE_MDIAGARRAY_FRIENDS(\7f146,3887
-\f
-cp-src/Range.h,784
-#define octave_Range_h \7f24,765
-class istream;\7f30,840
-class ostream;\7f31,855
-class Matrix;\7f32,870
-Range\7f35,891
-  Range \7f39,909
-  Range \7f42,995
-  Range \7f46,1130
-  Range \7f50,1248
-  double base \7f54,1376
-  double limit \7f55,1425
-  double inc \7f56,1475
-  int nelem \7f57,1523
-  bool all_elements_are_ints \7f59,1571
-  Matrix matrix_value \7f61,1615
-  double min \7f63,1652
-  double max \7f64,1679
-  void sort \7f66,1707
-  void set_base \7f68,1728
-  void set_limit \7f69,1774
-  void set_inc \7f70,1821
-  friend ostream& operator << \7foperator <<\ 172,1867
-  friend istream& operator >> \7foperator >>\ 173,1928
-  void print_range \7f75,1984
-  double rng_base;\7f79,2023
-  double rng_limit;\7f80,2042
-  double rng_inc;\7f81,2062
-  int rng_nelem;\7f83,2081
-  int nelem_internal \7f85,2099
-extern Range operator - \7foperator -\ 188,2138
-\f
-cp-src/screen.cpp,228
-unsigned char cursor_x,\7f15,548
-unsigned char cursor_x, cursor_y;\7f15,548
-static union REGS regs;\7f16,582
-void goto_xy(\7f18,607
-void hide_cursor(\7f27,774
-void cursor_position(\7f32,836
-void clear_screen(\7f41,997
-void write_xyc(\7f55,1247
-\f
-cp-src/screen.hpp,538
-#define __COLORS\7f9,401
-enum COLORS \7f11,419
-    BLACK,\7f12,433
-    BLUE,\7f13,471
-    GREEN,\7f14,481
-    CYAN,\7f15,492
-    RED,\7f16,502
-    MAGENTA,\7f17,511
-    BROWN,\7f18,524
-    LIGHTGRAY,\7f19,535
-    DARKGRAY,\7f20,550
-    LIGHTBLUE,\7f21,589
-    LIGHTGREEN,\7f22,604
-    LIGHTCYAN,\7f23,620
-    LIGHTRED,\7f24,635
-    LIGHTMAGENTA,\7f25,649
-    YELLOW,\7f26,667
-    WHITE\7f27,679
-#define SCREEN_FP(\7f31,700
-#define SCREEN_START \7f33,795
-void goto_xy(\7f35,835
-void hide_cursor(\7f36,883
-void cursor_position(\7f37,907
-void clear_screen(\7f38,935
-void write_xyc(\7f39,960
-\f
-cp-src/conway.cpp,288
-#define max(\7f12,357
-#define min(\7f13,393
-const int num_rows \7f15,430
-const int num_columns \7f16,470
-class site *field_of_play[\7ffield_of_play\ 118,499
-int site::total_surrounding(\7ftotal_surrounding\ 120,550
-void display(\7f37,958
-void glider(\7f50,1239
-void traffic_light(\7f59,1478
-void main(\7f67,1633
-\f
-cp-src/conway.hpp,322
-class site:\7fsite\ 15,235
-    char x,\7f7,269
-    char x, y,\7f7,269
-    char x, y, alive,\7f7,269
-    char x, y, alive, next_alive;\7f7,269
-    int total_surrounding(\7f8,303
-    site(\7f10,344
-    ~site(\7f11,397
-    char read(\7f12,410
-    void set(\7f13,444
-    void clear(\7f14,478
-    void compute_next_state(\7f15,514
-    void step(\7f22,717
-\f
-cp-src/clheir.cpp,359
-const int max_num_generic_objects \7f9,298
-generic_object * object_registry[\7fobject_registry\ 110,340
-void init_registry(\7f12,400
-void step_everybody(\7f19,527
-void discrete_location::clear_neighbors(\7fclear_neighbors\ 131,852
-generic_object::generic_object(\7fgeneric_object\ 136,981
-generic_object::~generic_object(\7f~generic_object\ 148,1255
-void agent::move(\7fmove\ 153,1353
-\f
-cp-src/clheir.hpp,990
-extern void init_registry(\7f10,452
-extern void step_everybody(\7f11,485
-class generic_object\7f13,520
-    int where_in_registry;\7f15,547
-    generic_object(\7f17,582
-    ~generic_object(\7f19,724
-    virtual void compute_next_state(\7f21,843
-    virtual void step(\7f22,889
-const int max_num_directions \7f31,1220
-class location:\7flocation\ 133,1290
-    location(\7f43,1643
-    ~location(\7f44,1662
-class irregular_location:\7firregular_location\ 147,1687
-    double x,\7f49,1735
-    double x, y,\7f49,1735
-    double x, y, z;\7f49,1735
-    irregular_location(\7f51,1763
-    ~irregular_location(\7f53,1855
-class discrete_location:\7fdiscrete_location\ 156,1890
-    int x,\7f58,1937
-    int x, y,\7f58,1937
-    int x, y, z;\7f58,1937
-    class location *neighbors[\7fneighbors\ 159,1954
-    void clear_neighbors(\7f60,2005
-    discrete_location(\7f62,2045
-    ~discrete_location(\7f65,2155
-    void assign_neighbor(\7f66,2185
-class agent:\7fagent\ 175,2509
-    location *where;\7fwhere\ 177,2550
-    agent(\7f79,2579
-    ~agent(\7f80,2592
-    void move(\7f81,2606
-\f
-cp-src/fail.C,351
-struct A \7f7,263
-          struct B \7f8,274
-                  struct C \7f9,289
-                          int x;\7f10,305
-                          C(\7f11,318
-                          operator int(\7foperator int\ 112,342
-                  typedef C T;\7f14,389
-          typedef B T2;\7f16,414
-class String;\7f20,437
-class A \7f23,453
-       class B \7f24,463
-               class C \7f25,474
-               int f(\7f26,488
-int A::B::f(\7ff\ 131,521
-main(\7f37,571
-       class D \7f41,622
-               D(\7f43,659
-               int x;\7f44,694
-\f
-el-src/TAGTEST.EL,181
-(foo::defmumble bletch \7f3,33
-(defun foo==bar \7ffoo==bar\ 14,66
-(defalias 'pending-delete-mode \7fpending-delete-mode\ 18,182
-(defalias (quote explicitly-quoted-pending-delete-mode)\7f11,255
-\f
-el-src/emacs/lisp/progmodes/etags.el,5188
-(defvar tags-file-name \7f34,1035
-(defgroup etags \7f43,1499
-(defcustom tags-case-fold-search \7f47,1567
-(defcustom tags-table-list \7f59,2052
-(defcustom tags-compression-info-list\7f69,2450
-(defcustom tags-add-tables \7f88,3232
-(defcustom tags-revert-without-query \7f98,3628
-(defvar tags-table-computed-list \7f103,3779
-(defvar tags-table-computed-list-for \7f112,4263
-(defvar tags-table-list-pointer \7f117,4511
-(defvar tags-table-list-started-at \7f121,4702
-(defvar tags-table-set-list \7f124,4822
-(defcustom find-tag-hook \7f129,5001
-(defcustom find-tag-default-function \7f137,5264
-(define-obsolete-variable-alias 'find-tag-marker-ring-length\7ffind-tag-marker-ring-length\ 1145,5603
-(defcustom tags-tag-face \7f148,5700
-(defcustom tags-apropos-verbose \7f154,5835
-(defcustom tags-apropos-additional-actions \7f160,5999
-(defvaralias 'find-tag-marker-ring \7ffind-tag-marker-ring\ 1183,6921
-(defvar default-tags-table-function \7f189,7101
-(defvar tags-location-ring \7f194,7327
-(defvar tags-table-files \7f201,7603
-(defvar tags-completion-table \7f206,7770
-(defvar tags-included-tables \7f209,7862
-(defvar next-file-list \7f212,7957
-(defvar tags-table-format-functions \7f217,8063
-(defvar file-of-tag-function \7f224,8444
-(defvar tags-table-files-function \7f228,8638
-(defvar tags-completion-table-function \7f230,8749
-(defvar snarf-tag-function \7f232,8844
-(defvar goto-tag-location-function \7f236,9053
-(defvar find-tag-regexp-search-function \7f239,9226
-(defvar find-tag-regexp-tag-order \7f241,9347
-(defvar find-tag-regexp-next-line-after-failure-p \7f243,9456
-(defvar find-tag-search-function \7f245,9576
-(defvar find-tag-tag-order \7f247,9683
-(defvar find-tag-next-line-after-failure-p \7f249,9778
-(defvar list-tags-function \7f251,9884
-(defvar tags-apropos-function \7f253,9972
-(defvar tags-included-tables-function \7f255,10066
-(defvar verify-tags-table-function \7f257,10185
-(defun initialize-new-tags-table \7f260,10296
-(defun tags-table-mode \7f276,10984
-(defun visit-tags-table \7f285,11249
-(defun tags-table-check-computed-list \7f321,12787
-(defun tags-table-extend-computed-list \7f360,14658
-(defun tags-expand-table-name \7f400,16371
-(defun tags-table-list-member \7f409,16714
-(defun tags-verify-table \7f421,17186
-(defun tags-table-including \7f470,19306
-(defun tags-next-table \7f522,21350
-(defun visit-tags-table-buffer \7f543,22207
-(defun tags-reset-tags-tables \7f712,28517
-(defun file-of-tag \7f731,29174
-(defun tags-table-files \7f740,29524
-(defun tags-included-tables \7f749,29874
-(defun tags-completion-table \7f755,30120
-(defun tags-lazy-completion-table \7f783,31314
-(defun tags-completion-at-point-function \7f799,31949
-(defun find-tag-tag \7f818,32699
-(defvar last-tag \7f837,33372
-(defun find-tag-interactive \7f840,33431
-(defvar find-tag-history \7f852,33846
-(defvar etags-case-fold-search)\7f855,33911
-(defvar etags-syntax-table)\7f856,33943
-(defvar local-find-tag-hook)\7f857,33971
-(defun find-tag-noselect \7f860,34016
-(defun find-tag \7f932,37130
-(defun find-tag-other-window \7f959,38346
-(defun find-tag-other-frame \7f1000,40274
-(defun find-tag-regexp \7f1025,41448
-(defalias 'pop-tag-mark \7fpop-tag-mark\ 11049,42610
-(defvar tag-lines-already-matched \7f1052,42661
-(defun find-tag-in-order \7f1055,42768
-(defun tag-find-file-of-tag-noselect \7f1167,47114
-(defun tag-find-file-of-tag \7f1200,48960
-(defun etags-recognize-tags-table \7f1208,49186
-(defun etags-verify-tags-table \7f1241,50817
-(defun etags-file-of-tag \7f1246,51015
-(defun etags-tags-completion-table \7f1256,51350
-(defun etags-snarf-tag \7f1286,52556
-(defun etags-goto-tag-location \7f1324,54125
-(defun etags-list-tags \7f1388,56568
-(defmacro tags-with-face \7f1423,57843
-(defun etags-tags-apropos-additional \7f1431,58176
-(defun etags-tags-apropos \7f1465,59413
-(defun etags-tags-table-files \7f1527,61622
-(defun etags-tags-included-tables \7f1542,62058
-(defun tags-recognize-empty-tags-table \7f1559,62598
-(defun tag-exact-file-name-match-p \7f1587,63744
-(defun tag-file-name-match-p \7f1596,64137
-(defun tag-exact-match-p \7f1609,64693
-(defun tag-implicit-name-match-p \7f1620,65261
-(defun tag-symbol-match-p \7f1633,65861
-(defun tag-word-match-p \7f1643,66297
-(defun tag-partial-file-name-match-p \7f1652,66695
-(defun tag-any-match-p \7f1662,67139
-(defun tag-re-match-p \7f1667,67323
-(defcustom tags-loop-revert-buffers \7f1675,67572
-(defun next-file \7f1685,67981
-(defvar tags-loop-operate \7f1760,70895
-(defvar tags-loop-scan\7f1763,70989
-(defun tags-loop-eval \7f1771,71318
-(defun tags-loop-continue \7f1782,71647
-(defun tags-search \7f1850,73953
-(defun tags-query-replace \7f1871,74779
-(defun tags-complete-tags-table-file \7f1896,76003
-(defun list-tags \7f1906,76382
-(defun tags-apropos \7f1934,77335
-(define-button-type 'tags-select-tags-table\7ftags-select-tags-table\ 11957,78161
-(defun select-tags-table \7f1964,78400
-(defvar select-tags-table-mode-map \7f2019,80527
-(define-derived-mode select-tags-table-mode \7f2030,80910
-(defun select-tags-table-select \7f2034,81094
-(defun select-tags-table-quit \7f2043,81460
-(defun complete-tag \7f2049,81615
-(defconst etags--xref-limit \7f2074,82556
-(defvar etags-xref-find-definitions-tag-order \7f2076,82591
-(defun etags-xref-find \7f2082,82881
-(defun etags--xref-find-definitions \7f2096,83410
-(defclass xref-etags-location \7f2129,85124
-(defun xref-make-etags-location \7f2135,85347
-(cl-defmethod xref-location-marker \7f2139,85502
-(cl-defmethod xref-location-line \7f2146,85746
-\f
-erl-src/gs_dialog.erl,98
--define(VERSION\7f2,32
-behaviour_info(\7f51,2177
-show(\7f124,5458
-dialog_loop(\7f219,9529
-test(\7f252,10806
-\f
-f-src/entry.for,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-f-src/entry.strange_suffix,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-f-src/entry.strange,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-forth-src/test-forth.fth,733
-: a-forth-word\7f20,301
-99 constant a-forth-constant!\7f22,343
-55 value a-forth-value?\7f23,373
-create :a-forth-dictionary-entry\7f24,397
-defer #a-defer-word\7f27,460
-: (another-forth-word)\7f(another-forth-word)\ 129,481
-   9   field   >field1\7f36,582
-   5   field   >field2\7f37,605
-constant (a-forth-constant\7f(a-forth-constant\ 138,628
-2000 buffer: #some-storage\7f41,657
-code assemby-code-word\7f43,685
-: a-forth-word\7f50,870
-: (foo)\7f(foo)\ 155,988
-: foo\7f56,1000
-: create-bar\7f58,1015
-3 4 2constant 2const\7f61,1074
-2const 2value 2val\7f62,1095
-2variable 2var\7f63,1114
-3.1415e fconstant fconst\7f65,1130
-fconst fvalue fval\7f66,1155
-fvariable fvar\7f67,1174
-synonym mypi\7f69,1190
-BEGIN-STRUCTURE point\7f71,1211
-  1 CELLS +FIELD p.x\7f72,1262
-  1 CELLS +FIELD p.y\7f73,1318
-\f
-go-src/test.go,48
-package main\7f1,0
-func say(\7f5,28
-func main(\7f9,72
-\f
-go-src/test1.go,172
-package main\7f1,0
-type plus \7f5,28
-type str \7f9,65
-type intNumber \7f13,99
-func (s str) PrintAdd(\7f17,136
-func (n intNumber) PrintAdd(\7f21,189
-func test(\7f25,248
-func main(\7f29,285
-\f
-html-src/softwarelibero.html,200
-Cos'è il software libero?\7f4,38
-Licenze d'uso di un programma\7flicenze\ 165,2502
-Sfatiamo alcuni miti\7f138,6122
-Il movimento open source\7foss\ 1191,8041
-Impatto pratico del software libero\7fimpatto\ 1231,10070
-\f
-html-src/index.shtml,104
-&nbsp;\7f8,281
-In evidenza\7f15,447
-Comunicati e iniziative\7f32,976
-Ultime notizie dall'associazione\7f63,2030
-\f
-html-src/algrthms.html,467
-Tutorial on Convolutional Coding with Viterbi Decoding--Description of the Data Generation, Convolutional Encoding, Channel Mapping and AWGN, and Quantizing Algorithms\7f7,277
-Description\7falgorithms\ 110,481
-Generating the Data\7fgenalgorithm\ 148,1995
-Convolutionally\7fconalgorithm\ 155,2512
-Next\7fstatetable\ 1262,11587
-Output\7foutputtable\ 1350,13915
-Mapping the Channel Symbols\7fmapping\ 1433,16213
-Adding Noise to the\7faddnoise\ 1439,16607
-Quantizing the Received\7fquantizing\ 1469,19100
-\f
-html-src/software.html,439
-Francesco Potortì Software Page\7f9,280
-Software that I wrote for supporting my research activity\7fsimulation\ 136,1398
-MTG\7fmtg\ 141,1482
-Fracas\7ffracas\ 165,2624
-GaliLEO\7fgalileo\ 1101,4232
-Leasqr\7fleasqr\ 1114,4677
-Free software that I wrote for the GNU project or for my personal or work\7fgnu\ 1142,6066
-Etags\7fetags\ 1148,6181
-checkiso\7f161,6731
-cgrep\7f178,7549
-debian-bug.el\7fdebian-bug\ 1190,7981
-tcpdump\7f205,8566
-Links to interesting software\7flinks\ 1216,8893
-\f
-lua-src/allegro.lua,400
-local function get_layer_by_name \7f7,175
-local function count_layers \7f33,621
-function GetLayerByName \7f54,980
-function GetUniqueLayerName \7f65,1204
-function SelectLayer \7f76,1415
-function NewLayer \7f86,1773
-function NewLayerSet \7f144,3226
-function RemoveLayer \7f170,3750
-function MoveLayerTop \7f211,4767
-function MoveLayerBottom \7f223,5079
-function MoveLayerBefore \7f236,5457
-function MoveLayerAfter \7f258,6090
-\f
-lua-src/test.lua,442
-function Rectangle.getPos \7f2,15
-function Rectangle.getPos \7fgetPos\ 12,15
-function Circle.getPos \7f6,61
-function Circle.getPos \7fgetPos\ 16,61
-function Cube.data.getFoo \7f10,102
-function Cube.data.getFoo \7fgetFoo\ 110,102
-function Square.something:Bar \7f14,148
-function Square.something:Bar \7fBar\ 114,148
-   function test.me_22a(\7f22,241
-   function test.me_22a(\7fme_22a\ 122,241
-   local function test.me22b \7f25,297
-   local function test.me22b \7fme22b\ 125,297
-\f
-make-src/Makefile,2175
-LATEST=\7f1,0
-RELEASELIST=\7f2,10
-ADASRC=\7f4,104
-ASRC=\7f5,171
-CSRC=\7f6,197
-CPSRC=\7f10,423
-ELSRC=\7f13,614
-ERLSRC=\7f14,661
-FORTHSRC=\7f15,702
-FSRC=\7f16,726
-HTMLSRC=\7f17,776
-JAVASRC=\7f18,844
-LUASRC=\7f19,907
-MAKESRC=\7f20,926
-OBJCSRC=\7f21,943
-OBJCPPSRC=\7f22,999
-PASSRC=\7f23,1035
-PERLSRC=\7f24,1053
-PHPSRC=\7f25,1108
-PSSRC=\7f26,1156
-PROLSRC=\7f27,1173
-PYTSRC=\7f28,1210
-TEXSRC=\7f29,1227
-YSRC=\7f30,1282
-SRCS=\7f31,1325
-NONSRCS=\7f35,1577
-VHDLFLAGS=\7f37,1624
-COBOLFLAGS=\7f38,1827
-POSTSCRIPTFLAGS=\7f39,1889
-TCLFLAGS=\7f40,1943
-GETOPTOBJS=\7f42,2002
-RXINCLUDE=\7f43,2034
-REGEXOBJS=\7f44,2056
-CHECKOBJS=\7f46,2075
-CHECKFLAGS=\7f47,2105
-OBJS=\7f48,2145
-CPPFLAGS=\7f49,2190
-LDFLAGS=\7f50,2259
-WARNINGS=\7f51,2282
-CFLAGS=\7f52,2466
-FASTCFLAGS=\7f55,2530
-FASTCFLAGSWARN=\7f56,2591
-FILTER=\7f58,2641
-REGEX=\7f59,2695
-xx=\7f60,2741
-MAKE:\7fMAKE\ 162,2790
-RUN=\7f63,2825
-RUN=\7f64,2865
-OPTIONS=\7f65,2870
-ARGS=\7f66,2922
-infiles \7f68,2940
-quiettest:\7fquiettest\ 170,3002
-test:\7ftest\ 179,3409
-${CHECKOBJS}:\7f${CHECKOBJS}\ 188,3805
-checker:\7fchecker\ 190,3849
-standalone:\7fstandalone\ 196,4062
-prof:\7fprof\ 1101,4168
-fastetags:\7ffastetags\ 1104,4198
-fastctags:\7ffastctags\ 1108,4322
-staticetags:\7fstaticetags\ 1112,4446
-rsynctofly:\7frsynctofly\ 1116,4608
-rsyncfromfly:\7frsyncfromfly\ 1119,4698
-web ftp publish:\7fweb ftp publish\ 1122,4794
-release distrib:\7frelease distrib\ 1129,5115
-tags:\7ftags\ 1134,5255
-clean:\7fclean\ 1136,5267
-srclist:\7fsrclist\ 1139,5302
-regexfile:\7fregexfile\ 1143,5391
-/home/www/pub/etags.c.gz:\7f/home/www/pub/etags.c.gz\ 1149,5566
-/home/www/pub/software/unix/etags.tar.gz:\7f/home/www/pub/software/unix/etags.tar.gz\ 1156,5825
-regex.o:\7fregex.o\ 1159,6031
-getopt.o:\7fgetopt.o\ 1162,6086
-getopt1.o:\7fgetopt1.o\ 1165,6147
-etags:\7fetags\ 1168,6210
-ctags:\7fctags\ 1171,6299
-man manpage:\7fman manpage\ 1174,6396
-etags.1.man:\7fetags.1.man\ 1176,6422
-maintaining.info:\7fmaintaining.info\ 1179,6475
-TAGS:\7fTAGS\ 1182,6557
-%ediff:\7f%ediff\ 1185,6587
-oediff:\7foediff\ 1188,6677
-%cdiff:\7f%cdiff\ 1191,6764
-xdiff:\7fxdiff\ 1194,6854
-ETAGS:\7fETAGS\ 1197,6942
-ETAGS%:\7fETAGS%\ 1200,7012
-ETAGS13 ETAGS14 ETAGS15:\7fETAGS13 ETAGS14 ETAGS15\ 1203,7084
-ETAGS12:\7fETAGS12\ 1206,7216
-OTAGS:\7fOTAGS\ 1209,7304
-CTAGS:\7fCTAGS\ 1212,7369
-CTAGS%:\7fCTAGS%\ 1215,7443
-CTAGS13 CTAGS14 CTAGS15:\7fCTAGS13 CTAGS14 CTAGS15\ 1218,7545
-EXTAGS:\7fEXTAGS\ 1221,7680
-.PRECIOUS:\7f.PRECIOUS\ 1224,7838
-FRC:\7fFRC\ 1226,7894
-\f
-objc-src/Subprocess.h,98
-#define Subprocess \7f41,1217
-#define BUFFERSIZE \7f43,1267
-@interface Subprocess:\7fSubprocess\ 145,1292
-\f
-objc-src/Subprocess.m,476
-#define        PTY_TEMPLATE \7f20,494
-#define        PTY_LENGTH \7f21,528
-static void showError(\7f23,551
-@interface Subprocess(Private)\7f32,737
-- childDidExit\7f39,851
-- fdHandler:\7ffdHandler\ 167,1589
-showError \7f98,2360
-fdHandler \7f112,2785
-getptys \7f119,2907
-- init:\7finit\ 1183,4815
-    andStdErr:\7finit\ 1197,5147
-- send:(const char *)string withNewline:\7fsend\ 1300,7436
-- send:\7fsend\ 1308,7599
-- terminateInput\7f314,7689
-- terminate:\7fterminate\ 1321,7810
-- setDelegate:\7fsetDelegate\ 1332,7961
-- delegate\7f338,8031
-\f
-objc-src/PackInsp.h,109
-#define NUMSTATS       \7f36,1101
-#define TYPESTOSTAT    \7f37,1120
-@interface PackageInspector:\7fPackageInspector\ 139,1172
-\f
-objc-src/PackInsp.m,1322
-static const char RCSid[\7fRCSid\ 130,1032
-#define VERSION        \7f34,1116
-#   define DEBUG \7f37,1155
-#define LISTCONTENTS   \7f39,1181
-#define OPENBUTTON     \7f47,1352
-#define LISTCONTENTSBUTTON     \7f48,1449
-#define LISTDESCRIPTIONBUTTON  \7f49,1562
-#define STATE_UNINSTALLED      \7f52,1687
-#define STATE_INSTALLED        \7f53,1807
-#define STATE_COMPRESSD        \7f54,1948
-#define SIZEFORMAT     \7f57,2152
-#define KBYTES \7f58,2362
-#define MBYTES \7f59,2473
-#define LOCALIZE(\7f61,2585
-#define LOCALIZE_ARCH(\7f62,2668
-+new\7fnew\ 167,2802
--showInfo:\7fshowInfo\ 193,3417
--revert:\7frevert\ 1107,3737
--ok:\7fok\ 1136,4297
--load\7fload\ 1143,4424
-#define LOOKUP(\7f156,4826
-#undef LOOKUP\7f176,5694
--loadKeyValuesFrom:(const char *)type inTable:\7floadKeyValuesFrom\ 1186,5852
--loadContentsOf:(const char *)type inTable:\7floadContentsOf\ 1238,7079
--loadImage\7floadImage\ 1257,7552
-#define STAT_EQ(\7f275,7940
--(BOOL)shouldLoad\7f280,8116
--toggleDescription\7ftoggleDescription\ 1301,8626
--(const char *)getPath:(char *)buf forType:\7fgetPath\ 1317,8899
--setRevertButtonTitle\7fsetRevertButtonTitle\ 1333,9320
--(const char *)formatSize:(const char *)size inBuf:\7fformatSize\ 1344,9525
-#define WORKING        \7f368,10045
--(void)getArchs\7f370,10100
--(void)addArchs:\7faddArchs\ 1385,10520
--subprocess:(Subprocess *)sender output:\7fsubprocess\ 1428,11351
--subprocessDone:\7fsubprocessDone\ 1436,11484
-static void openInWorkspace(\7f446,11634
--open:\7fopen\ 1464,12063
-\f
-objcpp-src/SimpleCalc.H,41
-@interface SimpleCalc:\7fSimpleCalc\ 114,400
-\f
-objcpp-src/SimpleCalc.M,445
-- init\7f52,1747
-- appendToDisplay:\7fappendToDisplay\ 160,1933
-- registerAction:\7fregisterAction\ 170,2210
-- decimalKey:\7fdecimalKey\ 177,2348
-- numberKeys:\7fnumberKeys\ 191,2661
-- equalsKey:\7fequalsKey\ 1112,3192
-- operationKeys:\7foperationKeys\ 1131,3680
-- clearKey:\7fclearKey\ 1153,4301
-- clearAllKey:\7fclearAllKey\ 1160,4410
-- appDidInit:\7fappDidInit\ 1168,4591
-- windowWillClose:\7fwindowWillClose\ 1178,4882
-- infoPanel:\7finfoPanel\ 1186,5132
-- helpPanel:\7fhelpPanel\ 1198,5482
-\f
-pas-src/common.pas,1875
-procedure InitializeStringPackage;\7f26,527
-function newtextstring;\7f34,874
-procedure disposetextstring;\7f52,1404
-function ConcatT;\7f78,2066
-function AppendTextString;\7f112,3238
-function CopyTextString;\7f132,3947
-procedure CONVERT_CHARSTRING_TO_VALUE;\7f151,4505
-procedure append_string;\7f172,5166
-function To_Upper;\7f186,5462
-function To_Lower;\7f194,5617
-function EmptyNmStr(\7f209,6213
-function chartonmstr;\7f219,6436
-function LowerCaseNmStr;\7f230,6682
-function concatenatenamestrings;\7f242,7007
-procedure writenamestring;\7f263,7517
-function IsControlChar;\7f277,7928
-function namestringequal;\7f283,8079
-function NameStringLess;\7f302,8539
-function IsControlCharName(\7f343,9710
-function SubString;\7f358,10208
-function SkipChars;\7f379,10791
-function RemoveUnderlineControl;\7f397,11311
-procedure First100Chars;\7f427,12162
-procedure SkipSpaces;\7f462,13298
-function SkipBlanks;\7f477,13782
-function stripname;\7f505,14595
-function Locate;\7f522,15039
-function NameHasChar;\7f543,15581
-function integertonmstr;\7f561,16134
-function NmStrToInteger;\7f585,16901
-function AddNullToNmStr;\7f600,17317
-function ValToNmStr;\7f611,17585
-function ChangeFileType;\7f625,18037
-function StripPath;\7f647,18734
-function ReprOfChar;\7f675,19343
-procedure ExtractCommentInfo;\7f702,20749
-procedure INSERT_TREE_NODE;\7f784,24053
-function GetNameList;\7f920,27926
-procedure DisposeANameList(\7f925,28010
-procedure DisposeNameList;\7f938,28340
-function GetNewNameListNode;\7f943,28409
-function insertname;\7f972,29051
-procedure InitNameList;\7f988,29471
-procedure InitNameStringPool;\7f998,29767
-procedure NewNameString;\7f1004,29867
-procedure ReleaseNameString;\7f1022,30232
-procedure SDTrefStringToRec \7f1045,30741
-procedure SDTrefSkipSpaces;\7f1059,31092
-function SDTrefIsEnd \7f1070,31323
-function SDTrefGetInteger \7f1082,31529
-procedure SDTrefRecToString \7f1303,37546
-function NmStrToErrStr;\7f1497,42305
-function ErrStrToNmStr;\7f1509,42557
-function GetTextRef;\7f1529,43112
-\f
-php-src/lce_functions.php,2864
-  define("LCE_FUNCTIONS"\7fLCE_FUNCTIONS\ 14,38
-  define("LCE_UNKNOWN"\7fLCE_UNKNOWN\ 19,145
-  define("LCE_WS"\7fLCE_WS\ 111,194
-  define("LCE_COMMENT"\7fLCE_COMMENT\ 113,244
-  define("LCE_COMMENT_USER"\7fLCE_COMMENT_USER\ 115,303
-  define("LCE_COMMENT_TOOL"\7fLCE_COMMENT_TOOL\ 117,366
-  define("LCE_MSGID"\7fLCE_MSGID\ 119,430
-  define("LCE_MSGSTR"\7fLCE_MSGSTR\ 121,488
-  define("LCE_TEXT"\7fLCE_TEXT\ 123,541
-  define("STATE_ABORT"\7fSTATE_ABORT\ 125,567
-  define("STATE_OK"\7fSTATE_OK\ 126,595
-  define("STATE_LOOP"\7fSTATE_LOOP\ 127,620
-  class POEntryAD \7f29,648
-      function validate(\7f31,683
-      function checkQuotation(\7f59,1384
-  class CommentAD \7f70,1639
-      var $prefix;\7f72,1674
-      function CommentAD(\7f73,1693
-      function validate(\7f83,1944
-  class POEntry \7f105,2410
-      var $msgid;\7f107,2454
-      var $msgstr;\7f108,2472
-      var $user_comment;\7f109,2491
-      var $sys_comment;\7f110,2516
-      var $unk_comment;\7f111,2540
-      var $msgid_lc \7f113,2565
-      var $msgstr_lc \7f114,2590
-      var $user_comment_lc \7f115,2616
-      var $sys_comment_lc \7f116,2648
-      var $unk_comment_lc \7f117,2679
-      function POEntry(\7f119,2711
-      function lineCount(\7f135,3255
-      function serializeToVars(\7f141,3365
-      function write(\7f151,3800
-  class POReader \7f163,4178
-      var $msgid;\7f165,4223
-      var $msgstr;\7f166,4241
-      var $user_comment;\7f167,4260
-      var $sys_comment;\7f168,4285
-      var $unk_comment;\7f169,4309
-      var $state;\7f170,4333
-      var $ignore_ws;\7f171,4351
-      var $po_entries;\7f172,4373
-      var $poe_num;\7f173,4396
-      var $filename;\7f174,4416
-      var $domain;\7f175,4437
-      function gettext(\7f177,4457
-      function parseFromVars(\7f189,4705
-      function serializeToVars(\7f215,5331
-      function POReader(\7f229,5613
-      function read(\7f243,5983
-      function write(\7f259,6307
-      function isComment(\7f277,6645
-      function comment(\7f284,6822
-      function msgid(\7f304,7247
-      function msgstr(\7f320,7574
-      function start(\7f340,8232
-      function createPOEntries(\7f360,8644
-      function stripLine(\7f394,9472
-      function printClassification(\7f421,10056
-      function classifyLine(\7f432,10301
-  function getTextDomains(\7f471,11094
-  class PORManager \7f498,11756
-      var      $por_a;\7f500,11803
-      function PORManager(\7f502,11822
-      function addPOReader(\7f507,11896
-      function &getPOReader(\7fgetPOReader\ 1512,11992
-      function getDomainNames(\7f517,12081
-  function &loadPORManager(\7floadPORManager\ 1523,12174
-  function fileJoin(\7f536,12436
-      function lce_bindtextdomain(\7f557,12839
-      function lce_textdomain(\7f614,14530
-      function lce_gettext(\7f620,14641
-      function lce_dgettext(\7f626,14767
-      function lce(\7f634,14966
-      function lce_bindtextdomain(\7f651,15488
-      function lce_textdomain(\7f656,15592
-      function lce_gettext(\7f661,15674
-      function lce_dgettext(\7f666,15755
-      function lce(\7f670,15855
-  function lce_geteditcode(\7f676,15898
-\f
-php-src/ptest.php,135
-define("TEST"\7fTEST\ 11,0
-test \7f4,26
-       var $member;\7f8,71
-       var $memassign=\7f9,85
-       var $memassign_space \7f10,110
-       var $test\7f12,176
-foo(\7f16,200
-\f
-perl-src/htlmify-cystic,1197
-my @section_name;\7fsection_name\ 112,236
-my @appendix_name;\7fappendix_name\ 113,254
-my @section_toc;\7fsection_toc\ 115,274
-my @appendix_toc;\7fappendix_toc\ 116,291
-my $new_tag \7fnew_tag\ 118,310
-my $appendix;\7fappendix\ 124,409
-my $section;\7fsection\ 125,423
-my $subsection;\7fsubsection\ 126,436
-my $subsubsection;\7fsubsubsection\ 127,452
-my $this_file_toc \7fthis_file_toc\ 129,472
-my %file_tocs;\7ffile_tocs\ 130,496
-my @output_files \7foutput_files\ 132,512
-my $file_index \7ffile_index\ 133,535
-my $output_file;\7foutput_file\ 135,556
-my $line;\7fline\ 137,574
-my $subsection_marker;\7fsubsection_marker\ 1161,3883
-my $new;\7fnew\ 1163,3907
-sub read_toc \7f165,3917
-         my $entry \7fentry\ 1218,5621
-         my $entry \7fentry\ 1234,6077
-             my $entry \7fentry\ 1245,6351
-         my $entry \7fentry\ 1252,6536
-         my $entry \7fentry\ 1268,7010
-             my $entry \7fentry\ 1276,7204
-         my $entry \7fentry\ 1281,7328
-      my $entry \7fentry\ 1296,7698
-sub finish_subsubsections \7f302,7805
-sub finish_subsections \7f309,7987
-sub finish_sections \7f320,8310
-sub finish_appendices \7f331,8599
-sub section_url_base \7f337,8724
-sub section_url_name \7f342,8922
-sub section_url \7f355,9284
-  my $name \7fname\ 1357,9336
-sub section_href \7f364,9452
-sub section_name \7f368,9551
-sub toc_line \7f372,9655
-sub file_end \7f375,9750
-\f
-perl-src/yagrip.pl,233
-sub getopt \7f7,156
-       local($_,$flag,$opt,$f,$r,@temp)\7f($_,$flag,$opt,$f,$r,@temp\ 18,169
-sub usage \7f38,856
-       local($prog,$_,@list)\7f($prog,$_,@list\ 139,868
-       local($string,$flag,@string,@temp,@last)\7f($string,$flag,@string,@temp,@last\ 140,897
-\f
-perl-src/kai-test.pl,203
-sub f1 \7f2,16
-sub main::f2 \7ff2\ 16,50
-package Foo;\7f10,90
-sub f3 \7f12,104
-sub Bar::f4 \7ff4\ 116,138
-package Bar;\7f20,177
-sub f5 \7f22,191
-package Foo::Bar;\7f26,225
-sub f6 \7f28,244
-package main;\7f32,278
-sub f7 \7f34,293
-\f
-ps-src/rfc1245.ps,2478
-/FMversion \7f12,311
-/FrameDict \7f17,500
-/FMVERSION \7f47,1307
-/FMLOCAL \7f56,1494
-/FMDOCUMENT \7f73,1766
-/FMBEGINPAGE \7f95,2279
-/FMENDPAGE \7f109,2516
-/FMDEFINEFONT \7f115,2582
-/FMNORMALIZEGRAPHICS \7f126,2725
-/FMBEGINEPSF \7f142,2955
-/FMENDEPSF \7f153,3207
-/setmanualfeed \7f158,3283
-/max \7f163,3386
-/min \7f164,3426
-/inch \7f165,3466
-/pagedimen \7f166,3485
-/setpapername \7f172,3629
-/papersize \7f190,4214
-/manualpapersize \7f211,4789
-/desperatepapersize \7f230,5211
-/savematrix \7f239,5370
-/restorematrix \7f242,5425
-/dmatrix \7f245,5475
-/dpi \7f246,5495
-/freq \7f248,5583
-/sangle \7f249,5658
-/DiacriticEncoding \7f250,5717
-/.notdef \7f251,5738
-/.notdef \7f252,5801
-/.notdef \7f253,5864
-/.notdef \7f254,5927
-/.notdef \7f255,5990
-/numbersign \7f256,6051
-/parenright \7f257,6115
-/two \7f258,6184
-/less \7f259,6251
-/L \7f260,6320
-/bracketright \7f261,6389
-/i \7f262,6459
-/braceright \7f263,6529
-/Ntilde \7f264,6598
-/atilde \7f265,6668
-/iacute \7f266,6733
-/ocircumflex \7f267,6797
-/udieresis \7f268,6858
-/paragraph \7f269,6919
-/dieresis \7f270,6983
-/yen \7f271,7050
-/ordfeminine \7f272,7109
-/exclamdown \7f273,7171
-/guillemotleft \7f274,7230
-/Otilde \7f275,7296
-/quoteleft \7f276,7357
-/fraction \7f277,7420
-/periodcentered \7f278,7490
-/Acircumflex \7f279,7549
-/Icircumflex \7f280,7610
-/Uacute \7f281,7680
-/breve \7f282,7746
-/ReEncode \7f284,7814
-/graymode \7f300,8020
-/setpattern \7f310,8184
-/grayness \7f331,8725
-/normalize \7f394,9873
-/dnormalize \7f397,9942
-/lnormalize \7f400,10014
-/H \7f403,10104
-/Z \7f406,10147
-/X \7f409,10176
-/V \7f412,10219
-/N \7f415,10260
-/M \7f418,10286
-/E \7f419,10315
-/D \7f420,10336
-/O \7f421,10358
-/L \7f423,10394
-/Y \7f430,10489
-/R \7f439,10588
-/RR \7f450,10696
-/C \7f467,10959
-/U \7f473,11004
-/F \7f477,11039
-/T \7f481,11084
-/RF \7f484,11115
-/TF \7f488,11164
-/P \7f495,11219
-/PF \7f499,11270
-/S \7f506,11344
-/SF \7f510,11384
-/B \7f517,11446
-/BF \7f521,11505
-/W \7f538,11714
-/G \7f573,12382
-/A \7f582,12525
-/BEGINPRINTCODE \7f606,12918
-/ENDPRINTCODE \7f615,13131
-/gn \7f620,13259
-/cfs \7f631,13384
-/ic \7f636,13473
-/ms \7f658,14285
-/ip \7f668,14395
-/wh \7f678,14492
-/bl \7f684,14607
-/s1 \7f690,14722
-/fl \7f691,14739
-/hx \7f698,14887
-/wbytes \7f709,15055
-/BEGINBITMAPBWc \7f713,15147
-/BEGINBITMAPGRAYc \7f716,15198
-/BEGINBITMAP2BITc \7f719,15251
-/COMMONBITMAPc \7f722,15304
-/BEGINBITMAPBW \7f739,15660
-/BEGINBITMAPGRAY \7f742,15709
-/BEGINBITMAP2BIT \7f745,15760
-/COMMONBITMAP \7f748,15811
-/Fmcc \7f765,16156
-/ngrayt \7f773,16371
-/nredt \7f774,16393
-/nbluet \7f775,16414
-/ngreent \7f776,16436
-/colorsetup \7f787,16603
-/fakecolorsetup \7f814,17370
-/BITMAPCOLOR \7f826,17636
-/BITMAPCOLORc \7f839,17926
-/BITMAPGRAY \7f855,18275
-/BITMAPGRAYc \7f858,18335
-/ENDBITMAP \7f861,18397
-/fillprocs \7f868,18497
-\f
-prol-src/ordsets.prolog,525
-is_ordset(\7f47,1310
-list_to_ord_set(\7f63,1688
-ord_add_element(\7f71,1867
-ord_del_element(\7f85,2344
-ord_disjoint(\7f100,2783
-ord_intersect(\7f108,2953
-ord_intersection(\7f126,3553
-ord_intersection3(\7f130,3692
-ord_intersection(\7f150,4533
-ord_intersection4(\7f154,4705
-ord_intersection(\7f176,5666
-ord_intersection2(\7f181,5814
-ord_member(\7f200,6320
-ord_seteq(\7f216,6685
-ord_setproduct(\7f225,6973
-ord_subset(\7f240,7379
-ord_subtract(\7f257,7863
-ord_symdiff(\7f265,8056
-ord_union(\7f288,8889
-ord_union4(\7f303,9354
-ord_union(\7f324,10173
-ord_union_all(\7f329,10315
-\f
-prol-src/natded.prolog,2319
-expandmng(\7f100,2879
-normalize(\7f116,3359
-fresh_vars(\7f125,3716
-subst(\7f138,4134
-normalize_fresh(\7f159,4660
-reduce_subterm(\7f171,5112
-reduce(\7f185,5559
-free_var(\7f196,5903
-free_for(\7f209,6246
-compile_lex(\7f231,6875
-consult_lex:-\7fconsult_lex\ 1248,7384
-lex(\7f259,7754
-expandsyn(\7f267,8068
-bas_syn(\7f292,8897
-compile_empty:-\7fcompile_empty\ 1310,9376
-complete(\7f328,10055
-add_active(\7f340,10527
-parse(\7f353,10949
-derived_analyses(\7f364,11341
-build(\7f378,11967
-buildact(\7f392,12523
-mapsyn(\7f412,13544
-add_edge(\7f434,14280
-findcats(\7f447,14760
-normalize_tree(\7f465,15480
-normalize_trees(\7f475,15858
-expandmng_tree(\7f486,16250
-expandmng_trees(\7f496,16616
-cat(\7f511,17015
-subtree(\7f644,21268
-hypothetical_mem(\7f653,21567
-make_coor(\7f667,22132
-start_up:-\7fstart_up\ 1688,23015
-tokenizeatom(\7f710,23923
-tokenize(\7f720,24350
-isoperator(\7f752,25379
-isoptab(\7f756,25433
-specialsymbol(\7f765,25758
-sstab(\7f771,25863
-parse_cgi(\7f787,26349
-keyvalseq(\7f792,26512
-andkeyvalseq(\7f796,26611
-keyval(\7f799,26690
-valseq(\7f807,26922
-plusvalseq(\7f810,27009
-val(\7f816,27111
-argvals(\7f824,27428
-commaargvals(\7f828,27505
-atomval(\7f833,27580
-atom(\7f836,27642
-action(\7f846,28006
-keyvalcgi(\7f864,28651
-keyvalscgi(\7f865,28672
-outsyn(\7f868,28728
-act(\7f876,29062
-actout(\7f901,29908
-texttreelist(\7f912,30091
-htmltreelist(\7f918,30192
-fitchtreelist(\7f924,30306
-pp_html_table_tree(\7f938,30761
-pp_html_tree(\7f949,31115
-pp_html_trees(\7f988,32383
-pp_html_table_fitch_tree(\7f999,32771
-pp_html_fitch_tree(\7f1017,33674
-removeexp(\7f1129,39004
-splitexp(\7f1142,39492
-pp_exp(\7f1155,39992
-map_word(\7f1168,40251
-pp_exps(\7f1180,40476
-pp_tree(\7f1188,40779
-pp_trees(\7f1216,41809
-pp_word_list(\7f1225,42130
-pp_word(\7f1231,42264
-pp_word_list_rest(\7f1238,42571
-pp_cat(\7f1248,42931
-pp_syn(\7f1255,43198
-pp_syn_paren(\7f1276,43901
-pp_paren(\7f1293,44379
-pp_syn_back(\7f1300,44663
-pp_bas_cat(\7f1311,45003
-writecat(\7f1322,45411
-writesubs(\7f1351,46457
-writesups(\7f1361,46759
-writelistsubs(\7f1371,47092
-pp_lam(\7f1380,47410
-pp_lam_bracket(\7f1398,48024
-pp_lam_paren(\7f1407,48340
-pp_rule(\7f1429,49240
-member(\7f1447,49868
-append_list(\7f1451,49921
-append(\7f1456,50012
-at_least_one_member(\7f1460,50078
-numbervars(\7f1464,50173
-reverse(\7f1467,50211
-select(\7f1471,50292
-select_last(\7f1475,50359
-cat_atoms(\7f1479,50438
-writelist(\7f1485,50526
-write_lex_cat(\7f1492,50678
-writebreaklex(\7f1500,50990
-write_lex(\7f1513,51267
-writebreak(\7f1521,51543
-tt:-\7ftt\ 11531,51715
-mt:-\7fmt\ 11534,51786
-cmt:-\7fcmt\ 11537,51880
-\f
-pyt-src/server.py,1438
-class Controls:\7fControls\ 117,358
-    def __init__(\7f18,374
-    def __repr__(\7f24,590
-    def __str__(\7f34,871
-class Server:\7fServer\ 137,934
-    def __init__(\7f38,948
-    def dump(\7f73,2198
-    def __repr__(\7f125,3896
-    def __str__(\7f128,3945
-class User:\7fUser\ 1131,4014
-    def __init__(\7f132,4026
-    def __repr__(\7f172,5445
-    def __str__(\7f206,6883
-def flag2str(\7f223,7212
-class LabeledEntry(\7f232,7442
-    def bind(\7f234,7525
-    def focus_set(\7f236,7584
-    def __init__(\7f238,7629
-def ButtonBar(\7f245,7909
-def helpwin(\7f255,8280
-class ListEdit(\7f267,8707
-    def __init__(\7f269,8808
-    def handleList(\7f303,10042
-    def handleNew(\7f306,10094
-    def editItem(\7f314,10426
-    def deleteItem(\7f320,10596
-def ConfirmQuit(\7f326,10760
-class ControlEdit(\7f375,12377
-    def PostControls(\7f376,12403
-    def GatherControls(\7f421,13530
-class ServerEdit(\7f512,16264
-    def __init__(\7f513,16289
-    def post(\7f525,16629
-    def gather(\7f543,17191
-    def nosave(\7f547,17304
-    def save(\7f551,17408
-    def refreshPort(\7f556,17509
-    def createWidgets(\7f561,17663
-    def edituser(\7f631,20708
-class UserEdit(\7f645,20921
-    def __init__(\7f646,20944
-    def post(\7f658,21283
-    def gather(\7f676,21841
-    def nosave(\7f680,21950
-    def save(\7f684,22052
-    def createWidgets(\7f689,22151
-class Configure(\7f760,24879
-    def __init__(\7f761,24916
-    def MakeDispose(\7f772,25211
-    def MakeSitelist(\7f786,25706
-    def editsite(\7f794,25949
-    def save(\7f797,26022
-    def nosave(\7f807,26310
-\f
-ruby-src/test.rb,637
-module ModuleExample\7f1,0
-    class ClassExample\7f2,21
-        def instance_method\7f3,44
-        def ClassExample.class_method\7fclass_method\ 16,121
-        def instance_method_exclamation!\7f9,206
-        def instance_method_question?\7f12,310
-        def instance_method_equals=\7finstance_method_equals=\ 115,408
-        def `(\7f18,502
-        def +(\7f21,592
-        def [](\7f24,640
-        def []=(\7f[]=\ 127,690
-        def <<(\7f30,752
-        def ==(\7f==\ 133,802
-        def <=(\7f<=\ 136,872
-        def <=>(\7f<=>\ 139,943
-        def ===(\7f===\ 142,990
-    def module_instance_method\7f46,1051
-    def ModuleExample.module_class_method\7fmodule_class_method\ 149,1131
-\f
-ruby-src/test1.ru,935
-class A\7f1,0
- def a(\7f2,8
- def b(\7f5,38
-module A\7f9,57
-  class B\7f10,66
-    ABC \7f11,76
-    Def_ \7f12,88
-    Xyzzy \7f13,106
-    def foo!\7f15,121
-    def self._bar?(\7f_bar?\ 118,143
-      def qux=(\7fqux=\ 122,194
-    attr_reader :foo\7ffoo\ 126,233
-    attr_reader :read1 \7fread1\ 127,254
-    attr_reader :read1 , :read2;\7fread2\ 127,254
-    attr_reader :read1 , :read2; attr_writer :write1,\7fwrite1=\ 127,254
-    attr_reader :read1 , :read2; attr_writer :write1, :write2\7fwrite2=\ 127,254
-    attr_writer :bar,\7fbar=\ 128,316
-                :baz,\7fbaz=\ 129,338
-                :more\7fmore=\ 130,360
-    attr_accessor :tee\7ftee\ 131,382
-    attr_accessor :tee\7ftee=\ 131,382
-    alias_method :qux,\7fqux\ 132,405
-    alias_method :xyz,\7fxyz\ 133,456
-                 :tee ; attr_reader :subtle\7fsubtle\ 134,479
-    attr_reader(:foo1,\7ffoo1\ 135,523
-    attr_reader(:foo1, :bar1,\7fbar1\ 135,523
-                :qux1)\7fqux1\ 136,563
-    alias_method ( :foo2,\7ffoo2\ 137,586
-A::Constant \7fConstant\ 142,655
-\f
-rs-src/test.rs,52
-enum IpAddrKind \7f3,11
-fn test1(\7f8,48
-fn main(\7f12,88
-\f
-scm-src/test.scm,260
-(define hello \7f1,0
-(set! hello \7f3,32
-(define (hello-world)\7f5,62
-(define (there-is-a-=-in-the-middle!)\7fthere-is-a-=-in-the-middle!\ 110,128
-(define =starts-with-equals! \7f=starts-with-equals!\ 112,171
-(define (((((curry-test \7f14,205
-(define-syntax test-begin\7f17,265
-\f
-tex-src/testenv.tex,52
-\newcommand{\nm}\7f\nm\ 14,77
-\section{blah}\7fblah\ 18,139
-\f
-tex-src/gzip.texi,303
-@node Top,\7f62,2139
-@node Copying,\7f80,2652
-@node Overview,\7f83,2705
-@node Sample,\7f166,7273
-@node Invoking gzip,\7fInvoking gzip\ 1210,8829
-@node Advanced usage,\7fAdvanced usage\ 1357,13497
-@node Environment,\7f420,15209
-@node Tapes,\7f437,15770
-@node Problems,\7f460,16769
-@node Concept Index,\7fConcept Index\ 1473,17289
-\f
-tex-src/texinfo.tex,30627
-\def\texinfoversion{\7f\texinfoversion\ 126,1035
-\def\tie{\7f\tie\ 149,1526
-\def\gloggingall{\7f\gloggingall\ 172,2276
-\def\loggingall{\7f\loggingall\ 173,2345
-\def\onepageout#1{\7f\onepageout\ 199,3282
-\def\croppageout#1{\7f\croppageout\ 1115,4032
-\def\cropmarks{\7f\cropmarks\ 1142,5092
-\def\pagebody#1{\7f\pagebody\ 1144,5139
-\def\ewtop{\7f\ewtop\ 1157,5594
-\def\nstop{\7f\nstop\ 1158,5658
-\def\ewbot{\7f\ewbot\ 1160,5741
-\def\nsbot{\7f\nsbot\ 1161,5805
-\def\parsearg #1{\7f\parsearg\ 1170,6104
-\def\parseargx{\7f\parseargx\ 1172,6182
-\def\parseargline{\7f\parseargline\ 1182,6422
-\def\flushcr{\7f\flushcr\ 1186,6543
-\newif\ifENV \ENVfalse \def\inENV{\7f\inENV\ 1190,6742
-\def\ENVcheck{\7f\ENVcheck\ 1191,6806
-\outer\def\begin{\7f\begin\ 1198,7053
-\def\beginxxx #1{\7f\beginxxx\ 1200,7091
-\def\end{\7f\end\ 1208,7346
-\def\endxxx #1{\7f\endxxx\ 1210,7374
-\def\errorE#1{\7f\errorE\ 1216,7563
-\def\singlespace{\7f\singlespace\ 1222,7757
-\def\@{\7f\@\ 1232,7980
-\def\`{\7f\`\ 1236,8080
-\def\'{\7f\'\ 1237,8092
-\def\mylbrace {\7f\mylbrace\ 1241,8140
-\def\myrbrace {\7f\myrbrace\ 1242,8173
-\def\:{\7f\:\ 1247,8287
-\def\*{\7f\*\ 1250,8341
-\def\.{\7f\.\ 1253,8417
-\def\w#1{\7f\w\ 1258,8648
-\def\group{\7f\group\ 1268,9131
-  \def\Egroup{\7f\Egroup\ 1273,9295
-\def\need{\7f\need\ 1289,9737
-\def\needx#1{\7f\needx\ 1300,10014
-\def\dots{\7f\dots\ 1339,11400
-\def\page{\7f\page\ 1343,11464
-\def\exdent{\7f\exdent\ 1353,11791
-\def\exdentyyy #1{\7f\exdentyyy\ 1354,11824
-\def\nofillexdent{\7f\nofillexdent\ 1357,11968
-\def\nofillexdentyyy #1{\7f\nofillexdentyyy\ 1358,12013
-\def\include{\7f\include\ 1365,12197
-\def\includezzz #1{\7f\includezzz\ 1366,12232
-\def\thisfile{\7f\thisfile\ 1369,12283
-\def\center{\7f\center\ 1373,12346
-\def\centerzzz #1{\7f\centerzzz\ 1374,12379
-\def\sp{\7f\sp\ 1380,12521
-\def\spxxx #1{\7f\spxxx\ 1381,12546
-\def\comment{\7f\comment\ 1387,12720
-\def\commentxxx #1{\7f\commentxxx\ 1390,12817
-\def\ignoresections{\7f\ignoresections\ 1396,12986
-\let\chapter=\relax\7f=\relax\ 1397,13008
-\let\section=\relax\7f=\relax\ 1406,13253
-\let\subsection=\relax\7f=\relax\ 1409,13314
-\let\subsubsection=\relax\7f=\relax\ 1410,13337
-\let\appendix=\relax\7f=\relax\ 1411,13363
-\let\appendixsec=\relax\7fsec=\relax\ 1412,13384
-\let\appendixsection=\relax\7fsection=\relax\ 1413,13408
-\let\appendixsubsec=\relax\7fsubsec=\relax\ 1414,13436
-\let\appendixsubsection=\relax\7fsubsection=\relax\ 1415,13463
-\let\appendixsubsubsec=\relax\7fsubsubsec=\relax\ 1416,13494
-\let\appendixsubsubsection=\relax\7fsubsubsection=\relax\ 1417,13524
-\def\ignore{\7f\ignore\ 1423,13626
-\long\def\ignorexxx #1\end ignore{\7f\ignorexxx\ 1427,13766
-\def\direntry{\7f\direntry\ 1429,13825
-\long\def\direntryxxx #1\end direntry{\7f\direntryxxx\ 1430,13864
-\def\ifset{\7f\ifset\ 1434,13974
-\def\ifsetxxx #1{\7f\ifsetxxx\ 1436,14032
-\def\Eifset{\7f\Eifset\ 1440,14159
-\def\ifsetfail{\7f\ifsetfail\ 1441,14173
-\long\def\ifsetfailxxx #1\end ifset{\7f\ifsetfailxxx\ 1442,14229
-\def\ifclear{\7f\ifclear\ 1444,14290
-\def\ifclearxxx #1{\7f\ifclearxxx\ 1446,14352
-\def\Eifclear{\7f\Eifclear\ 1450,14483
-\def\ifclearfail{\7f\ifclearfail\ 1451,14499
-\long\def\ifclearfailxxx #1\end ifclear{\7f\ifclearfailxxx\ 1452,14559
-\def\set{\7f\set\ 1456,14710
-\def\setxxx #1{\7f\setxxx\ 1457,14737
-\def\clear{\7f\clear\ 1460,14799
-\def\clearxxx #1{\7f\clearxxx\ 1461,14830
-\def\iftex{\7f\iftex\ 1466,14947
-\def\Eiftex{\7f\Eiftex\ 1467,14960
-\def\ifinfo{\7f\ifinfo\ 1468,14974
-\long\def\ifinfoxxx #1\end ifinfo{\7f\ifinfoxxx\ 1469,15024
-\long\def\menu #1\end menu{\7f\menu\ 1471,15083
-\def\asis#1{\7f\asis\ 1472,15112
-\def\math#1{\7f\math\ 1485,15655
-\def\node{\7f\node\ 1487,15699
-\def\nodezzz#1{\7f\nodezzz\ 1488,15737
-\def\nodexxx[#1,#2]{\7f\nodexxx[\ 1489,15768
-\def\donoderef{\7f\donoderef\ 1492,15830
-\def\unnumbnoderef{\7f\unnumbnoderef\ 1496,15951
-\def\appendixnoderef{\7f\appendixnoderef\ 1500,16082
-\expandafter\expandafter\expandafter\appendixsetref{\7fsetref\ 1501,16128
-\let\refill=\relax\7fill=\relax\ 1504,16217
-\def\setfilename{\7f\setfilename\ 1509,16431
-\outer\def\bye{\7f\bye\ 1518,16677
-\def\inforef #1{\7f\inforef\ 1520,16733
-\def\inforefzzz #1,#2,#3,#4**{\7f\inforefzzz\ 1521,16771
-\def\losespace #1{\7f\losespace\ 1523,16868
-\def\sf{\7f\sf\ 1532,17072
-\font\defbf=cmbx10 scaled \magstep1 %was 1314\7fbf=cmbx10\ 1558,17867
-\font\deftt=cmtt10 scaled \magstep1\7ftt=cmtt10\ 1559,17913
-\def\df{\7f\df\ 1560,17949
-\def\resetmathfonts{\7f\resetmathfonts\ 1635,20543
-\def\textfonts{\7f\textfonts\ 1648,21132
-\def\chapfonts{\7f\chapfonts\ 1653,21347
-\def\secfonts{\7f\secfonts\ 1658,21563
-\def\subsecfonts{\7f\subsecfonts\ 1663,21768
-\def\indexfonts{\7f\indexfonts\ 1668,21985
-\def\smartitalicx{\7f\smartitalicx\ 1691,22717
-\def\smartitalic#1{\7f\smartitalic\ 1692,22793
-\let\cite=\smartitalic\7f=\smartitalic\ 1698,22938
-\def\b#1{\7f\b\ 1700,22962
-\def\t#1{\7f\t\ 1703,22997
-\def\samp #1{\7f\samp\ 1706,23149
-\def\key #1{\7f\key\ 1707,23182
-\def\ctrl #1{\7f\ctrl\ 1708,23243
-\def\tclose#1{\7f\tclose\ 1716,23445
-\def\ {\7f\\ 1720,23611
-\def\xkey{\7f\xkey\ 1728,23880
-\def\kbdfoo#1#2#3\par{\7f\kbdfoo\ 1729,23896
-\def\dmn#1{\7f\dmn\ 1738,24197
-\def\kbd#1{\7f\kbd\ 1740,24224
-\def\l#1{\7f\l\ 1742,24281
-\def\r#1{\7f\r\ 1744,24310
-\def\sc#1{\7f\sc\ 1746,24378
-\def\ii#1{\7f\ii\ 1747,24421
-\def\titlefont#1{\7f\titlefont\ 1755,24654
-\def\titlepage{\7f\titlepage\ 1761,24757
-   \def\subtitlefont{\7f\subtitlefont\ 1766,24984
-   \def\authorfont{\7f\authorfont\ 1768,25068
-   \def\title{\7f\title\ 1774,25278
-   \def\titlezzz##1{\7f\titlezzz\ 1775,25313
-   \def\subtitle{\7f\subtitle\ 1783,25628
-   \def\subtitlezzz##1{\7f\subtitlezzz\ 1784,25669
-   \def\author{\7f\author\ 1787,25787
-   \def\authorzzz##1{\7f\authorzzz\ 1788,25824
-   \def\page{\7f\page\ 1794,26115
-\def\Etitlepage{\7f\Etitlepage\ 1804,26284
-\def\finishtitlepage{\7f\finishtitlepage\ 1817,26672
-\def\evenheading{\7f\evenheading\ 1846,27680
-\def\oddheading{\7f\oddheading\ 1847,27723
-\def\everyheading{\7f\everyheading\ 1848,27764
-\def\evenfooting{\7f\evenfooting\ 1850,27810
-\def\oddfooting{\7f\oddfooting\ 1851,27853
-\def\everyfooting{\7f\everyfooting\ 1852,27894
-\def\headings #1 {\7f\headings\ 1893,29586
-\def\HEADINGSoff{\7f\HEADINGSoff\ 1895,29635
-\def\HEADINGSdouble{\7f\HEADINGSdouble\ 1904,30062
-\def\HEADINGSsingle{\7f\HEADINGSsingle\ 1914,30382
-\def\HEADINGSon{\7f\HEADINGSon\ 1922,30603
-\def\HEADINGSafter{\7f\HEADINGSafter\ 1924,30637
-\def\HEADINGSdoublex{\7f\HEADINGSdoublex\ 1926,30732
-\def\HEADINGSsingleafter{\7f\HEADINGSsingleafter\ 1933,30920
-\def\HEADINGSsinglex{\7f\HEADINGSsinglex\ 1934,30981
-\def\today{\7f\today\ 1943,31256
-\def\thistitle{\7f\thistitle\ 1958,31801
-\def\settitle{\7f\settitle\ 1959,31826
-\def\settitlezzz #1{\7f\settitlezzz\ 1960,31863
-\def\internalBitem{\7f\internalBitem\ 1992,32793
-\def\internalBitemx{\7f\internalBitemx\ 1993,32843
-\def\internalBxitem "#1"{\7f\internalBxitem\ 1995,32888
-\def\internalBxitemx "#1"{\7f\internalBxitemx\ 1996,32968
-\def\internalBkitem{\7f\internalBkitem\ 1998,33043
-\def\internalBkitemx{\7f\internalBkitemx\ 1999,33095
-\def\kitemzzz #1{\7f\kitemzzz\ 11001,33142
-\def\xitemzzz #1{\7f\xitemzzz\ 11004,33244
-\def\itemzzz #1{\7f\itemzzz\ 11007,33347
-\def\item{\7f\item\ 11037,34418
-\def\itemx{\7f\itemx\ 11038,34469
-\def\kitem{\7f\kitem\ 11039,34522
-\def\kitemx{\7f\kitemx\ 11040,34575
-\def\xitem{\7f\xitem\ 11041,34630
-\def\xitemx{\7f\xitemx\ 11042,34683
-\def\description{\7f\description\ 11045,34793
-\def\table{\7f\table\ 11047,34843
-\def\ftable{\7f\ftable\ 11052,34987
-\def\Eftable{\7f\Eftable\ 11056,35133
-\def\vtable{\7f\vtable\ 11059,35202
-\def\Evtable{\7f\Evtable\ 11063,35348
-\def\dontindex #1{\7f\dontindex\ 11066,35417
-\def\fnitemindex #1{\7f\fnitemindex\ 11067,35437
-\def\vritemindex #1{\7f\vritemindex\ 11068,35482
-\def\tablez #1#2#3#4#5#6{\7f\tablez\ 11074,35631
-\def\Edescription{\7f\Edescription\ 11077,35689
-\def\itemfont{\7f\itemfont\ 11082,35890
-\def\Etable{\7f\Etable\ 11090,36116
-\def\itemize{\7f\itemize\ 11103,36440
-\def\itemizezzz #1{\7f\itemizezzz\ 11105,36476
-\def\itemizey #1#2{\7f\itemizey\ 11110,36571
-\def#2{\7f1119,36817
-\def\itemcontents{\7f\itemcontents\ 11120,36858
-\def\bullet{\7f\bullet\ 11123,36906
-\def\minus{\7f\minus\ 11124,36933
-\def\frenchspacing{\7f\frenchspacing\ 11128,37041
-\def\splitoff#1#2\endmark{\7f\splitoff\ 11134,37266
-\def\enumerate{\7f\enumerate\ 11140,37496
-\def\enumeratezzz #1{\7f\enumeratezzz\ 11141,37535
-\def\enumeratey #1 #2\endenumeratey{\7f\enumeratey\ 11142,37588
-  \def\thearg{\7f\thearg\ 11146,37735
-  \ifx\thearg\empty \def\thearg{\7f\thearg\ 11147,37754
-\def\numericenumerate{\7f\numericenumerate\ 11184,39088
-\def\lowercaseenumerate{\7f\lowercaseenumerate\ 11190,39218
-\def\uppercaseenumerate{\7f\uppercaseenumerate\ 11203,39565
-\def\startenumeration#1{\7f\startenumeration\ 11219,40055
-\def\alphaenumerate{\7f\alphaenumerate\ 11227,40237
-\def\capsenumerate{\7f\capsenumerate\ 11228,40272
-\def\Ealphaenumerate{\7f\Ealphaenumerate\ 11229,40306
-\def\Ecapsenumerate{\7f\Ecapsenumerate\ 11230,40340
-\def\itemizeitem{\7f\itemizeitem\ 11234,40420
-\def\newindex #1{\7f\newindex\ 11259,41277
-\def\defindex{\7f\defindex\ 11268,41566
-\def\newcodeindex #1{\7f\newcodeindex\ 11272,41674
-\def\defcodeindex{\7f\defcodeindex\ 11279,41934
-\def\synindex #1 #2 {\7f\synindex\ 11283,42114
-\def\syncodeindex #1 #2 {\7f\syncodeindex\ 11292,42454
-\def\doindex#1{\7f\doindex\ 11309,43133
-\def\singleindexer #1{\7f\singleindexer\ 11310,43192
-\def\docodeindex#1{\7f\docodeindex\ 11313,43304
-\def\singlecodeindexer #1{\7f\singlecodeindexer\ 11314,43371
-\def\indexdummies{\7f\indexdummies\ 11316,43429
-\def\_{\7f\_\ 11317,43449
-\def\w{\7f\w\ 11318,43477
-\def\bf{\7f\bf\ 11319,43504
-\def\rm{\7f\rm\ 11320,43533
-\def\sl{\7f\sl\ 11321,43562
-\def\sf{\7f\sf\ 11322,43591
-\def\tt{\7f\tt\ 11323,43619
-\def\gtr{\7f\gtr\ 11324,43647
-\def\less{\7f\less\ 11325,43677
-\def\hat{\7f\hat\ 11326,43709
-\def\char{\7f\char\ 11327,43739
-\def\TeX{\7f\TeX\ 11328,43771
-\def\dots{\7f\dots\ 11329,43801
-\def\copyright{\7f\copyright\ 11330,43834
-\def\tclose##1{\7f\tclose\ 11331,43877
-\def\code##1{\7f\code\ 11332,43922
-\def\samp##1{\7f\samp\ 11333,43963
-\def\t##1{\7f\t\ 11334,44004
-\def\r##1{\7f\r\ 11335,44039
-\def\i##1{\7f\i\ 11336,44074
-\def\b##1{\7f\b\ 11337,44109
-\def\cite##1{\7f\cite\ 11338,44144
-\def\key##1{\7f\key\ 11339,44185
-\def\file##1{\7f\file\ 11340,44224
-\def\var##1{\7f\var\ 11341,44265
-\def\kbd##1{\7f\kbd\ 11342,44304
-\def\indexdummyfont#1{\7f\indexdummyfont\ 11347,44460
-\def\indexdummytex{\7f\indexdummytex\ 11348,44486
-\def\indexdummydots{\7f\indexdummydots\ 11349,44510
-\def\indexnofonts{\7f\indexnofonts\ 11351,44536
-\let\w=\indexdummyfont\7fdummyfont\ 11352,44556
-\let\t=\indexdummyfont\7fdummyfont\ 11353,44579
-\let\r=\indexdummyfont\7fdummyfont\ 11354,44602
-\let\i=\indexdummyfont\7fdummyfont\ 11355,44625
-\let\b=\indexdummyfont\7fdummyfont\ 11356,44648
-\let\emph=\indexdummyfont\7fdummyfont\ 11357,44671
-\let\strong=\indexdummyfont\7fdummyfont\ 11358,44697
-\let\cite=\indexdummyfont\7f=\indexdummyfont\ 11359,44725
-\let\sc=\indexdummyfont\7fdummyfont\ 11360,44751
-\let\tclose=\indexdummyfont\7fdummyfont\ 11364,44923
-\let\code=\indexdummyfont\7fdummyfont\ 11365,44951
-\let\file=\indexdummyfont\7fdummyfont\ 11366,44977
-\let\samp=\indexdummyfont\7fdummyfont\ 11367,45003
-\let\kbd=\indexdummyfont\7fdummyfont\ 11368,45029
-\let\key=\indexdummyfont\7fdummyfont\ 11369,45054
-\let\var=\indexdummyfont\7fdummyfont\ 11370,45079
-\let\TeX=\indexdummytex\7fdummytex\ 11371,45104
-\let\dots=\indexdummydots\7fdummydots\ 11372,45128
-\let\indexbackslash=0  %overridden during \printindex.\7fbackslash=0\ 11382,45380
-\def\doind #1#2{\7f\doind\ 11384,45436
-{\indexdummies % Must do this here, since \bf, etc expand at this stage\7fdummies\ 11386,45479
-\def\rawbackslashxx{\7f\rawbackslashxx\ 11389,45619
-{\indexnofonts\7fnofonts\ 11394,45881
-\def\dosubind #1#2#3{\7f\dosubind\ 11405,46192
-{\indexdummies % Must do this here, since \bf, etc expand at this stage\7fdummies\ 11407,46240
-\def\rawbackslashxx{\7f\rawbackslashxx\ 11410,46344
-{\indexnofonts\7fnofonts\ 11414,46498
-\def\findex {\7f\findex\ 11443,47429
-\def\kindex {\7f\kindex\ 11444,47452
-\def\cindex {\7f\cindex\ 11445,47475
-\def\vindex {\7f\vindex\ 11446,47498
-\def\tindex {\7f\tindex\ 11447,47521
-\def\pindex {\7f\pindex\ 11448,47544
-\def\cindexsub {\7f\cindexsub\ 11450,47568
-\def\printindex{\7f\printindex\ 11462,47895
-\def\doprintindex#1{\7f\doprintindex\ 11464,47936
-  \def\indexbackslash{\7f\indexbackslash\ 11481,48421
-  \indexfonts\rm \tolerance=9500 \advance\baselineskip -1pt\7ffonts\rm\ 11482,48460
-\def\initial #1{\7f\initial\ 11517,49532
-\def\entry #1#2{\7f\entry\ 11523,49739
-  \null\nobreak\indexdotfill % Have leaders before the page number.\7fdotfill\ 11540,50386
-\def\indexdotfill{\7f\indexdotfill\ 11549,50714
-\def\primary #1{\7f\primary\ 11552,50820
-\def\secondary #1#2{\7f\secondary\ 11556,50902
-\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\par\7fdotfill\ 11559,50984
-\newbox\partialpage\7fialpage\ 11566,51157
-\def\begindoublecolumns{\7f\begindoublecolumns\ 11572,51315
-  \output={\global\setbox\partialpage=\7fialpage=\ 11573,51351
-\def\enddoublecolumns{\7f\enddoublecolumns\ 11577,51539
-\def\doublecolumnout{\7f\doublecolumnout\ 11580,51624
-  \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage\7fialpage\ 11581,51693
-\def\pagesofar{\7f\pagesofar\ 11584,51871
-\def\balancecolumns{\7f\balancecolumns\ 11588,52108
-  \availdimen@=\pageheight \advance\availdimen@ by-\ht\partialpage\7fialpage\ 11594,52279
-     \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage\7fialpage\ 11600,52540
-\newcount \appendixno  \appendixno = `\@\7fno\ 11627,53445
-\def\appendixletter{\7f\appendixletter\ 11628,53486
-\def\opencontents{\7f\opencontents\ 11632,53589
-\def\thischapter{\7f\thischapter\ 11637,53770
-\def\seccheck#1{\7f\seccheck\ 11638,53808
-\def\chapternofonts{\7f\chapternofonts\ 11643,53912
-\def\result{\7f\result\ 11646,53987
-\def\equiv{\7f\equiv\ 11647,54022
-\def\expansion{\7f\expansion\ 11648,54055
-\def\print{\7f\print\ 11649,54096
-\def\TeX{\7f\TeX\ 11650,54129
-\def\dots{\7f\dots\ 11651,54158
-\def\copyright{\7f\copyright\ 11652,54189
-\def\tt{\7f\tt\ 11653,54230
-\def\bf{\7f\bf\ 11654,54257
-\def\w{\7f\w\ 11655,54285
-\def\less{\7f\less\ 11656,54310
-\def\gtr{\7f\gtr\ 11657,54341
-\def\hat{\7f\hat\ 11658,54370
-\def\char{\7f\char\ 11659,54399
-\def\tclose##1{\7f\tclose\ 11660,54430
-\def\code##1{\7f\code\ 11661,54474
-\def\samp##1{\7f\samp\ 11662,54514
-\def\r##1{\7f\r\ 11663,54554
-\def\b##1{\7f\b\ 11664,54588
-\def\key##1{\7f\key\ 11665,54622
-\def\file##1{\7f\file\ 11666,54660
-\def\kbd##1{\7f\kbd\ 11667,54700
-\def\i##1{\7f\i\ 11669,54808
-\def\cite##1{\7f\cite\ 11670,54842
-\def\var##1{\7f\var\ 11671,54882
-\def\emph##1{\7f\emph\ 11672,54920
-\def\dfn##1{\7f\dfn\ 11673,54960
-\def\thischaptername{\7f\thischaptername\ 11676,55001
-\outer\def\chapter{\7f\chapter\ 11677,55040
-\def\chapterzzz #1{\7f\chapterzzz\ 11678,55081
-{\chapternofonts%\7fnofonts%\ 11687,55477
-\global\let\section = \numberedsec\7f=\ 11692,55630
-\global\let\subsection = \numberedsubsec\7f=\ 11693,55665
-\global\let\subsubsection = \numberedsubsubsec\7f=\ 11694,55706
-\outer\def\appendix{\7f\appendix\ 11697,55757
-\def\appendixzzz #1{\7f\appendixzzz\ 11698,55800
-\global\advance \appendixno by 1 \message{\7fno\ 11700,55877
-\chapmacro {#1}{Appendix \appendixletter}\7fletter\ 11701,55946
-\xdef\thischapter{Appendix \appendixletter: \noexpand\thischaptername}\7fletter:\ 11704,56039
-{\chapternofonts%\7fnofonts%\ 11705,56111
-  {#1}{Appendix \appendixletter}\7fletter\ 11707,56167
-\appendixnoderef %\7fnoderef\ 11710,56267
-\global\let\section = \appendixsec\7f=\ 11711,56286
-\global\let\subsection = \appendixsubsec\7f=\ 11712,56321
-\global\let\subsubsection = \appendixsubsubsec\7f=\ 11713,56362
-\outer\def\top{\7f\top\ 11716,56413
-\outer\def\unnumbered{\7f\unnumbered\ 11717,56453
-\def\unnumberedzzz #1{\7f\unnumberedzzz\ 11718,56500
-{\chapternofonts%\7fnofonts%\ 11722,56663
-\global\let\section = \unnumberedsec\7f=\ 11727,56813
-\global\let\subsection = \unnumberedsubsec\7f=\ 11728,56850
-\global\let\subsubsection = \unnumberedsubsubsec\7f=\ 11729,56893
-\outer\def\numberedsec{\7f\numberedsec\ 11732,56946
-\def\seczzz #1{\7f\seczzz\ 11733,56987
-{\chapternofonts%\7fnofonts%\ 11736,57143
-\outer\def\appendixsection{\7f\appendixsection\ 11745,57329
-\outer\def\appendixsec{\7f\appendixsec\ 11746,57386
-\def\appendixsectionzzz #1{\7f\appendixsectionzzz\ 11747,57439
-\gdef\thissection{#1}\secheading {#1}{\appendixletter}\7fletter\ 11749,57551
-{\chapternofonts%\7fnofonts%\ 11750,57619
-{#1}{\appendixletter}\7fletter\ 11752,57675
-\appendixnoderef %\7fnoderef\ 11755,57775
-\outer\def\unnumberedsec{\7f\unnumberedsec\ 11759,57815
-\def\unnumberedseczzz #1{\7f\unnumberedseczzz\ 11760,57868
-{\chapternofonts%\7fnofonts%\ 11762,57963
-\outer\def\numberedsubsec{\7f\numberedsubsec\ 11770,58131
-\def\numberedsubseczzz #1{\7f\numberedsubseczzz\ 11771,58186
-{\chapternofonts%\7fnofonts%\ 11774,58365
-\outer\def\appendixsubsec{\7f\appendixsubsec\ 11783,58569
-\def\appendixsubseczzz #1{\7f\appendixsubseczzz\ 11784,58624
-\subsecheading {#1}{\appendixletter}\7fletter\ 11786,58746
-{\chapternofonts%\7fnofonts%\ 11787,58811
-{#1}{\appendixletter}\7fletter\ 11789,58870
-\appendixnoderef %\7fnoderef\ 11792,58985
-\outer\def\unnumberedsubsec{\7f\unnumberedsubsec\ 11796,59025
-\def\unnumberedsubseczzz #1{\7f\unnumberedsubseczzz\ 11797,59084
-{\chapternofonts%\7fnofonts%\ 11799,59185
-\outer\def\numberedsubsubsec{\7f\numberedsubsubsec\ 11807,59356
-\def\numberedsubsubseczzz #1{\7f\numberedsubsubseczzz\ 11808,59417
-{\chapternofonts%\7fnofonts%\ 11812,59614
-\outer\def\appendixsubsubsec{\7f\appendixsubsubsec\ 11823,59847
-\def\appendixsubsubseczzz #1{\7f\appendixsubsubseczzz\ 11824,59908
-  {\appendixletter}\7fletter\ 11827,60047
-{\chapternofonts%\7fnofonts%\ 11828,60113
-  {\appendixletter}\7fletter\ 11830,60178
-\appendixnoderef %\7fnoderef\ 11834,60312
-\outer\def\unnumberedsubsubsec{\7f\unnumberedsubsubsec\ 11838,60352
-\def\unnumberedsubsubseczzz #1{\7f\unnumberedsubsubseczzz\ 11839,60417
-{\chapternofonts%\7fnofonts%\ 11841,60524
-\def\infotop{\7f\infotop\ 11851,60853
-\def\infounnumbered{\7f\infounnumbered\ 11852,60891
-\def\infounnumberedsec{\7f\infounnumberedsec\ 11853,60936
-\def\infounnumberedsubsec{\7f\infounnumberedsubsec\ 11854,60987
-\def\infounnumberedsubsubsec{\7f\infounnumberedsubsubsec\ 11855,61044
-\def\infoappendix{\7f\infoappendix\ 11857,61108
-\def\infoappendixsec{\7f\infoappendixsec\ 11858,61149
-\def\infoappendixsubsec{\7f\infoappendixsubsec\ 11859,61196
-\def\infoappendixsubsubsec{\7f\infoappendixsubsubsec\ 11860,61249
-\def\infochapter{\7f\infochapter\ 11862,61309
-\def\infosection{\7f\infosection\ 11863,61348
-\def\infosubsection{\7f\infosubsection\ 11864,61387
-\def\infosubsubsection{\7f\infosubsubsection\ 11865,61432
-\global\let\section = \numberedsec\7f=\ 11870,61669
-\global\let\subsection = \numberedsubsec\7f=\ 11871,61704
-\global\let\subsubsection = \numberedsubsubsec\7f=\ 11872,61745
-\def\majorheading{\7f\majorheading\ 11886,62252
-\def\majorheadingzzz #1{\7f\majorheadingzzz\ 11887,62297
-\def\chapheading{\7f\chapheading\ 11893,62530
-\def\chapheadingzzz #1{\7f\chapheadingzzz\ 11894,62573
-\def\heading{\7f\heading\ 11899,62768
-\def\subheading{\7f\subheading\ 11901,62805
-\def\subsubheading{\7f\subsubheading\ 11903,62848
-\def\dobreak#1#2{\7f\dobreak\ 11910,63125
-\def\setchapterstyle #1 {\7f\setchapterstyle\ 11912,63203
-\def\chapbreak{\7f\chapbreak\ 11919,63458
-\def\chappager{\7f\chappager\ 11920,63508
-\def\chapoddpage{\7f\chapoddpage\ 11921,63546
-\def\setchapternewpage #1 {\7f\setchapternewpage\ 11923,63625
-\def\CHAPPAGoff{\7f\CHAPPAGoff\ 11925,63682
-\def\CHAPPAGon{\7f\CHAPPAGon\ 11929,63776
-\global\def\HEADINGSon{\7f\HEADINGSon\ 11932,63867
-\def\CHAPPAGodd{\7f\CHAPPAGodd\ 11934,63909
-\global\def\HEADINGSon{\7f\HEADINGSon\ 11937,64005
-\def\CHAPFplain{\7f\CHAPFplain\ 11941,64059
-\def\chfplain #1#2{\7f\chfplain\ 11945,64151
-\def\unnchfplain #1{\7f\unnchfplain\ 11956,64374
-\def\unnchfopen #1{\7f\unnchfopen\ 11964,64603
-\def\chfopen #1#2{\7f\chfopen\ 11970,64811
-\def\CHAPFopen{\7f\CHAPFopen\ 11975,64955
-\def\subsecheadingbreak{\7f\subsecheadingbreak\ 11982,65173
-\def\secheadingbreak{\7f\secheadingbreak\ 11985,65302
-\def\secheading #1#2#3{\7f\secheading\ 11993,65584
-\def\plainsecheading #1{\7f\plainsecheading\ 11994,65640
-\def\secheadingi #1{\7f\secheadingi\ 11995,65683
-\def\subsecheading #1#2#3#4{\7f\subsecheading\ 12006,66051
-\def\subsecheadingi #1{\7f\subsecheadingi\ 12007,66118
-\def\subsubsecfonts{\7f\subsubsecfonts\ 12014,66415
-\def\subsubsecheading #1#2#3#4#5{\7f\subsubsecheading\ 12017,66538
-\def\subsubsecheadingi #1{\7f\subsubsecheadingi\ 12018,66616
-\def\startcontents#1{\7f\startcontents\ 12032,67088
-   \unnumbchapmacro{#1}\def\thischapter{\7f\thischapter\ 12040,67361
-\outer\def\contents{\7f\contents\ 12049,67720
-\outer\def\summarycontents{\7f\summarycontents\ 12057,67864
-      \def\secentry ##1##2##3##4{\7f\secentry\ 12067,68235
-      \def\unnumbsecentry ##1##2{\7f\unnumbsecentry\ 12068,68270
-      \def\subsecentry ##1##2##3##4##5{\7f\subsecentry\ 12069,68305
-      \def\unnumbsubsecentry ##1##2{\7f\unnumbsubsecentry\ 12070,68346
-      \def\subsubsecentry ##1##2##3##4##5##6{\7f\subsubsecentry\ 12071,68384
-      \def\unnumbsubsubsecentry ##1##2{\7f\unnumbsubsubsecentry\ 12072,68431
-\def\chapentry#1#2#3{\7f\chapentry\ 12085,68865
-\def\shortchapentry#1#2#3{\7f\shortchapentry\ 12088,68982
-    {#2\labelspace #1}\7fspace\ 12091,69092
-\def\unnumbchapentry#1#2{\7f\unnumbchapentry\ 12094,69146
-\def\shortunnumberedentry#1#2{\7f\shortunnumberedentry\ 12095,69193
-\def\secentry#1#2#3#4{\7f\secentry\ 12102,69357
-\def\unnumbsecentry#1#2{\7f\unnumbsecentry\ 12103,69416
-\def\subsecentry#1#2#3#4#5{\7f\subsecentry\ 12106,69477
-\def\unnumbsubsecentry#1#2{\7f\unnumbsubsecentry\ 12107,69547
-\def\subsubsecentry#1#2#3#4#5#6{\7f\subsubsecentry\ 12110,69621
-  \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}\7fspace\ 12111,69655
-\def\unnumbsubsubsecentry#1#2{\7f\unnumbsubsubsecentry\ 12112,69706
-\def\dochapentry#1#2{\7f\dochapentry\ 12123,70080
-\def\dosecentry#1#2{\7f\dosecentry\ 12138,70685
-\def\dosubsecentry#1#2{\7f\dosubsecentry\ 12145,70863
-\def\dosubsubsecentry#1#2{\7f\dosubsubsecentry\ 12152,71048
-\def\labelspace{\7f\labelspace\ 12160,71299
-\def\dopageno#1{\7f\dopageno\ 12162,71334
-\def\doshortpageno#1{\7f\doshortpageno\ 12163,71360
-\def\chapentryfonts{\7f\chapentryfonts\ 12165,71392
-\def\secentryfonts{\7f\secentryfonts\ 12166,71427
-\def\point{\7f\point\ 12192,72386
-\def\result{\7f\result\ 12194,72407
-\def\expansion{\7f\expansion\ 12195,72480
-\def\print{\7f\print\ 12196,72551
-\def\equiv{\7f\equiv\ 12198,72618
-\def\error{\7f\error\ 12218,73391
-\def\tex{\7f\tex\ 12224,73620
-\def\@{\7f\@\ 12242,74003
-\gdef\sepspaces{\def {\ }}}\7f\\ 12265,74735
-\def\aboveenvbreak{\7f\aboveenvbreak\ 12268,74817
-\def\afterenvbreak{\7f\afterenvbreak\ 12272,74983
-\def\ctl{\7f\ctl\ 12286,75494
-\def\ctr{\7f\ctr\ 12287,75566
-\def\cbl{\7f\cbl\ 12288,75605
-\def\cbr{\7f\cbr\ 12289,75645
-\def\carttop{\7f\carttop\ 12290,75684
-\def\cartbot{\7f\cartbot\ 12293,75792
-\long\def\cartouche{\7f\cartouche\ 12299,75932
-\def\Ecartouche{\7f\Ecartouche\ 12326,76720
-\def\lisp{\7f\lisp\ 12338,76855
-\def\Elisp{\7f\Elisp\ 12348,77202
-\def\next##1{\7f\next\ 12360,77528
-\def\Eexample{\7f\Eexample\ 12364,77570
-\def\Esmallexample{\7f\Esmallexample\ 12367,77617
-\def\smalllispx{\7f\smalllispx\ 12373,77795
-\def\Esmalllisp{\7f\Esmalllisp\ 12383,78149
-\obeyspaces \obeylines \ninett \indexfonts \rawbackslash\7ffonts\ 12396,78505
-\def\next##1{\7f\next\ 12397,78562
-\def\display{\7f\display\ 12401,78642
-\def\Edisplay{\7f\Edisplay\ 12410,78961
-\def\next##1{\7f\next\ 12422,79272
-\def\format{\7f\format\ 12426,79375
-\def\Eformat{\7f\Eformat\ 12434,79671
-\def\next##1{\7f\next\ 12437,79760
-\def\flushleft{\7f\flushleft\ 12441,79812
-\def\Eflushleft{\7f\Eflushleft\ 12451,80183
-\def\next##1{\7f\next\ 12454,80276
-\def\flushright{\7f\flushright\ 12456,80298
-\def\Eflushright{\7f\Eflushright\ 12466,80670
-\def\next##1{\7f\next\ 12470,80801
-\def\quotation{\7f\quotation\ 12474,80859
-\def\Equotation{\7f\Equotation\ 12480,81051
-\def\setdeffont #1 {\7f\setdeffont\ 12493,81449
-\newskip\defbodyindent \defbodyindent=.4in\7fbodyindent\ 12495,81495
-\newskip\defargsindent \defargsindent=50pt\7fargsindent\ 12496,81538
-\newskip\deftypemargin \deftypemargin=12pt\7ftypemargin\ 12497,81581
-\newskip\deflastargmargin \deflastargmargin=18pt\7flastargmargin\ 12498,81624
-\def\activeparens{\7f\activeparens\ 12503,81822
-\def\opnr{\7f\opnr\ 12529,83034
-\def\lbrb{\7f\lbrb\ 12530,83099
-\def\defname #1#2{\7f\defname\ 12536,83300
-\advance\dimen2 by -\defbodyindent\7fbodyindent\ 12540,83418
-\advance\dimen3 by -\defbodyindent\7fbodyindent\ 12542,83472
-\setbox0=\hbox{\hskip \deflastargmargin{\7flastargmargin\ 12544,83526
-\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations\7fargsindent\ 12546,83668
-\parshape 2 0in \dimen0 \defargsindent \dimen1     %\7fargsindent\ 12547,83743
-\rlap{\rightline{{\rm #2}\hskip \deftypemargin}\7ftypemargin\ 12554,84112
-\advance\leftskip by -\defbodyindent\7fbodyindent\ 12557,84246
-\exdentamount=\defbodyindent\7fbodyindent\ 12558,84283
-\def\defparsebody #1#2#3{\7f\defparsebody\ 12568,84642
-\def#1{\7f2572,84826
-\def#2{\7f2573,84862
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12575,84934
-\exdentamount=\defbodyindent\7fbodyindent\ 12576,85008
-\def\defmethparsebody #1#2#3#4 {\7f\defmethparsebody\ 12581,85112
-\def#1{\7f2585,85273
-\def#2##1 {\7f2586,85309
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12588,85392
-\exdentamount=\defbodyindent\7fbodyindent\ 12589,85466
-\def\defopparsebody #1#2#3#4#5 {\7f\defopparsebody\ 12592,85551
-\def#1{\7f2596,85712
-\def#2##1 ##2 {\7f2597,85748
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12600,85848
-\exdentamount=\defbodyindent\7fbodyindent\ 12601,85922
-\def\defvarparsebody #1#2#3{\7f\defvarparsebody\ 12608,86193
-\def#1{\7f2612,86380
-\def#2{\7f2613,86416
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12615,86475
-\exdentamount=\defbodyindent\7fbodyindent\ 12616,86549
-\def\defvrparsebody #1#2#3#4 {\7f\defvrparsebody\ 12621,86640
-\def#1{\7f2625,86799
-\def#2##1 {\7f2626,86835
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12628,86905
-\exdentamount=\defbodyindent\7fbodyindent\ 12629,86979
-\def\defopvarparsebody #1#2#3#4#5 {\7f\defopvarparsebody\ 12632,87051
-\def#1{\7f2636,87215
-\def#2##1 ##2 {\7f2637,87251
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12640,87338
-\exdentamount=\defbodyindent\7fbodyindent\ 12641,87412
-\def\defunargs #1{\7f\defunargs\ 12664,88172
-\def\deftypefunargs #1{\7f\deftypefunargs\ 12676,88554
-\def\deffn{\7f\deffn\ 12690,88936
-\def\deffnheader #1#2#3{\7f\deffnheader\ 12692,88993
-\begingroup\defname {\7fname\ 12693,89041
-\def\defun{\7f\defun\ 12699,89186
-\def\defunheader #1#2{\7f\defunheader\ 12701,89239
-\begingroup\defname {\7fname\ 12702,89314
-\defunargs {\7funargs\ 12703,89350
-\def\deftypefun{\7f\deftypefun\ 12709,89498
-\def\deftypefunheader #1#2{\7f\deftypefunheader\ 12712,89620
-\def\deftypefunheaderx #1#2 #3\relax{\7f\deftypefunheaderx\ 12714,89729
-\begingroup\defname {\7fname\ 12716,89821
-\deftypefunargs {\7ftypefunargs\ 12717,89867
-\def\deftypefn{\7f\deftypefn\ 12723,90038
-\def\deftypefnheader #1#2#3{\7f\deftypefnheader\ 12726,90187
-\def\deftypefnheaderx #1#2#3 #4\relax{\7f\deftypefnheaderx\ 12728,90323
-\begingroup\defname {\7fname\ 12730,90416
-\deftypefunargs {\7ftypefunargs\ 12731,90456
-\def\defmac{\7f\defmac\ 12737,90577
-\def\defmacheader #1#2{\7f\defmacheader\ 12739,90634
-\begingroup\defname {\7fname\ 12740,90710
-\defunargs {\7funargs\ 12741,90743
-\def\defspec{\7f\defspec\ 12747,90867
-\def\defspecheader #1#2{\7f\defspecheader\ 12749,90928
-\begingroup\defname {\7fname\ 12750,91005
-\defunargs {\7funargs\ 12751,91045
-\def\deffnx #1 {\7f\deffnx\ 12758,91240
-\def\defunx #1 {\7f\defunx\ 12759,91297
-\def\defmacx #1 {\7f\defmacx\ 12760,91354
-\def\defspecx #1 {\7f\defspecx\ 12761,91413
-\def\deftypefnx #1 {\7f\deftypefnx\ 12762,91474
-\def\deftypeunx #1 {\7f\deftypeunx\ 12763,91539
-\def\defop #1 {\7f\defop\ 12769,91685
-\defopparsebody\Edefop\defopx\defopheader\defoptype}\7fopparsebody\Edefop\defopx\defopheader\defoptype\ 12770,91720
-\def\defopheader #1#2#3{\7f\defopheader\ 12772,91774
-\begingroup\defname {\7fname\ 12774,91863
-\defunargs {\7funargs\ 12775,91909
-\def\defmethod{\7f\defmethod\ 12780,91970
-\def\defmethodheader #1#2#3{\7f\defmethodheader\ 12782,92043
-\begingroup\defname {\7fname\ 12784,92131
-\defunargs {\7funargs\ 12785,92171
-\def\defcv #1 {\7f\defcv\ 12790,92245
-\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}\7fopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype\ 12791,92280
-\def\defcvarheader #1#2#3{\7f\defcvarheader\ 12793,92339
-\begingroup\defname {\7fname\ 12795,92425
-\defvarargs {\7fvarargs\ 12796,92471
-\def\defivar{\7f\defivar\ 12801,92544
-\def\defivarheader #1#2#3{\7f\defivarheader\ 12803,92607
-\begingroup\defname {\7fname\ 12805,92693
-\defvarargs {\7fvarargs\ 12806,92744
-\def\defopx #1 {\7f\defopx\ 12812,92893
-\def\defmethodx #1 {\7f\defmethodx\ 12813,92950
-\def\defcvx #1 {\7f\defcvx\ 12814,93015
-\def\defivarx #1 {\7f\defivarx\ 12815,93072
-\def\defvarargs #1{\7f\defvarargs\ 12822,93343
-\def\defvr{\7f\defvr\ 12828,93487
-\def\defvrheader #1#2#3{\7f\defvrheader\ 12830,93542
-\begingroup\defname {\7fname\ 12831,93590
-\def\defvar{\7f\defvar\ 12835,93675
-\def\defvarheader #1#2{\7f\defvarheader\ 12837,93735
-\begingroup\defname {\7fname\ 12838,93806
-\defvarargs {\7fvarargs\ 12839,93842
-\def\defopt{\7f\defopt\ 12844,93908
-\def\defoptheader #1#2{\7f\defoptheader\ 12846,93968
-\begingroup\defname {\7fname\ 12847,94039
-\defvarargs {\7fvarargs\ 12848,94078
-\def\deftypevar{\7f\deftypevar\ 12853,94135
-\def\deftypevarheader #1#2{\7f\deftypevarheader\ 12856,94251
-\begingroup\defname {\7fname\ 12858,94334
-\def\deftypevr{\7f\deftypevr\ 12865,94508
-\def\deftypevrheader #1#2#3{\7f\deftypevrheader\ 12867,94579
-\begingroup\defname {\7fname\ 12868,94631
-\def\defvrx #1 {\7f\defvrx\ 12876,94868
-\def\defvarx #1 {\7f\defvarx\ 12877,94925
-\def\defoptx #1 {\7f\defoptx\ 12878,94984
-\def\deftypevarx #1 {\7f\deftypevarx\ 12879,95043
-\def\deftypevrx #1 {\7f\deftypevrx\ 12880,95110
-\def\deftpargs #1{\7f\deftpargs\ 12885,95259
-\def\deftp{\7f\deftp\ 12889,95339
-\def\deftpheader #1#2#3{\7f\deftpheader\ 12891,95394
-\begingroup\defname {\7fname\ 12892,95442
-\def\deftpx #1 {\7f\deftpx\ 12897,95601
-\def\setref#1{\7f\setref\ 12908,95922
-\def\unnumbsetref#1{\7f\unnumbsetref\ 12913,96036
-\def\appendixsetref#1{\7f\appendixsetref\ 12918,96143
-\def\pxref#1{\7f\pxref\ 12929,96554
-\def\xref#1{\7f\xref\ 12930,96590
-\def\ref#1{\7f\ref\ 12931,96625
-\def\xrefX[#1,#2,#3,#4,#5,#6]{\7f\xrefX[\ 12932,96655
-\def\printedmanual{\7f\printedmanual\ 12933,96698
-\def\printednodename{\7f\printednodename\ 12934,96736
-\def\printednodename{\7f\printednodename\ 12939,96861
-section ``\printednodename'' in \cite{\printedmanual}\7f\printedmanual\ 12954,97493
-\refx{\7fx\ 12957,97571
-\def\dosetq #1#2{\7f\dosetq\ 12965,97791
-\def\internalsetq #1#2{\7f\internalsetq\ 12973,98049
-\def\Ypagenumber{\7f\Ypagenumber\ 12977,98150
-\def\Ytitle{\7f\Ytitle\ 12979,98176
-\def\Ynothing{\7f\Ynothing\ 12981,98203
-\def\Ysectionnumberandtype{\7f\Ysectionnumberandtype\ 12983,98220
-\def\Yappendixletterandtype{\7f\Yappendixletterandtype\ 12992,98536
-\ifnum\secno=0 Appendix\xreftie'char\the\appendixno{\7fno\ 12993,98566
-\else \ifnum \subsecno=0 Section\xreftie'char\the\appendixno.\the\secno %\7fno.\the\secno\ 12994,98621
-Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno %\7fno.\the\secno.\the\subsecno\ 12996,98725
-Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %\7fno.\the\secno.\the\subsecno.\the\subsubsecno\ 12998,98796
-  \def\linenumber{\7f\linenumber\ 13009,99135
-\def\refx#1#2{\7f\refx\ 13015,99319
-\def\xrdef #1#2{\7f\xrdef\ 13037,99945
-\def\readauxfile{\7f\readauxfile\ 13040,100030
-\def\supereject{\7f\supereject\ 13110,101811
-\footstrut\parindent=\defaultparindent\hang\textindent{\7faultparindent\hang\textindent\ 13131,102496
-\def\openindices{\7f\openindices\ 13139,102682
-\newdimen\defaultparindent \defaultparindent = 15pt\7faultparindent\ 13151,102907
-\parindent = \defaultparindent\7faultparindent\ 13152,102959
-\def\smallbook{\7f\smallbook\ 13175,103683
-\global\def\Esmallexample{\7f\Esmallexample\ 13192,104110
-\def\afourpaper{\7f\afourpaper\ 13196,104201
-\def\finalout{\7f\finalout\ 13224,105009
-\def\normaldoublequote{\7f\normaldoublequote\ 13235,105270
-\def\normaltilde{\7f\normaltilde\ 13236,105296
-\def\normalcaret{\7f\normalcaret\ 13237,105316
-\def\normalunderscore{\7f\normalunderscore\ 13238,105336
-\def\normalverticalbar{\7f\normalverticalbar\ 13239,105361
-\def\normalless{\7f\normalless\ 13240,105387
-\def\normalgreater{\7f\normalgreater\ 13241,105406
-\def\normalplus{\7f\normalplus\ 13242,105428
-\def\ifusingtt#1#2{\7f\ifusingtt\ 13253,105920
-\def\activedoublequote{\7f\activedoublequote\ 13261,106248
-\def~{\7f~\ 13264,106334
-\def^{\7f^\ 13267,106395
-\def_{\7f_\ 13270,106434
-\def\_{\7f\_\ 13272,106508
-\def\lvvmode{\7f\lvvmode\ 13279,106845
-\def|{\7f|\ 13282,106895
-\def<{\7f<\ 13285,106958
-\def>{\7f>\ 13288,107015
-\def+{\7f+\ 13290,107053
-\def\turnoffactive{\7f\turnoffactive\ 13296,107214
-\global\def={\7f=\ 13307,107500
-\def\normalbackslash{\7f\normalbackslash\ 13321,107882
-\f
-merc-src/accumulator.m,4915
-:- interface\7f146,5371
-:- import_module hlds\7f148,5386
-:- import_module univ\7f152,5478
-:- pred accu_transform_proc\7f159,5793
-:- implementation\7f166,6115
-:- import_module libs\7f180,6552
-:- import_module mdbcomp\7f184,6681
-:- import_module parse_tree\7f186,6742
-:- import_module assoc_list\7f194,7013
-:- import_module bool\7f195,7042
-:- import_module int\7f196,7065
-:- import_module io\7f197,7087
-:- import_module list\7f198,7108
-:- import_module map\7f199,7131
-:- import_module maybe\7f200,7153
-:- import_module pair\7f201,7177
-:- import_module require\7f202,7200
-:- import_module set\7f203,7226
-:- import_module solutions\7f204,7248
-:- import_module string\7f205,7276
-:- import_module term\7f206,7301
-:- import_module varset\7f207,7324
-:- type top_level\7f213,7499
-:- type accu_goal_id\7f225,7900
-:- type accu_case\7f228,7964
-:- type accu_goal_store\7f234,8091
-:- type accu_subst\7f238,8216
-:- type accu_warning\7f240,8264
-accu_transform_proc\7f247,8578
-:- pred generate_warnings\7f334,12550
-generate_warnings\7f337,12669
-:- pred generate_warning\7f342,12895
-generate_warning\7f345,13001
-:- pred should_attempt_accu_transform\7f365,13886
-should_attempt_accu_transform\7f370,14123
-:- pred should_attempt_accu_transform_2\7f398,15406
-should_attempt_accu_transform_2\7f405,15763
-:- pred accu_standardize\7f440,17390
-accu_standardize\7f442,17455
-:- pred identify_goal_type\7f465,18169
-identify_goal_type\7f469,18359
-:- pred is_recursive_case\7f549,21175
-is_recursive_case\7f551,21253
-:- type store_info\7f560,21713
-:- func initialize_goal_store\7f570,22060
-initialize_goal_store\7f573,22166
-:- pred accu_store\7f580,22421
-accu_store\7f584,22576
-:- pred identify_recursive_calls\7f601,23288
-identify_recursive_calls\7f604,23406
-:- pred identify_out_and_out_prime\7f626,24397
-identify_out_and_out_prime\7f631,24632
-:- type accu_sets\7f676,26426
-:- pred accu_stage1\7f689,26978
-accu_stage1\7f693,27156
-:- pred accu_stage1_2\7f727,28348
-accu_stage1_2\7f731,28516
-:- pred accu_sets_init\7f781,30558
-accu_sets_init\7f783,30606
-:- func set_upto\7f796,30985
-set_upto\7f798,31040
-:- pred accu_before\7f812,31499
-accu_before\7f815,31640
-:- pred accu_assoc\7f835,32478
-accu_assoc\7f838,32618
-:- pred accu_construct\7f862,33713
-accu_construct\7f865,33857
-:- pred accu_construct_assoc\7f896,35308
-accu_construct_assoc\7f899,35458
-:- pred accu_update\7f938,37070
-accu_update\7f941,37211
-:- pred member_lessthan_goalid\7f964,38220
-member_lessthan_goalid\7f967,38343
-:- type accu_assoc\7f975,38653
-:- pred accu_is_associative\7f986,39139
-accu_is_associative\7f989,39251
-:- pred associativity_assertion\7f1014,40264
-associativity_assertion\7f1017,40405
-:- pred commutativity_assertion\7f1037,41243
-commutativity_assertion\7f1040,41370
-:- pred accu_is_update\7f1057,41953
-accu_is_update\7f1060,42067
-:- pred is_associative_construction\7f1078,42803
-is_associative_construction\7f1081,42899
-:- type accu_substs\7f1095,43481
-:- type accu_base\7f1103,43745
-:- pred accu_stage2\7f1124,44606
-accu_stage2\7f1131,44947
-:- pred accu_substs_init\7f1179,46958
-accu_substs_init\7f1182,47098
-:- pred acc_var_subst_init\7f1194,47574
-acc_var_subst_init\7f1198,47719
-:- pred create_new_var\7f1207,48148
-create_new_var\7f1210,48289
-:- pred accu_process_assoc_set\7f1223,48863
-accu_process_assoc_set\7f1229,49151
-:- pred accu_has_heuristic\7f1297,52082
-accu_has_heuristic\7f1299,52162
-:- pred accu_heuristic\7f1304,52337
-accu_heuristic\7f1307,52458
-:- pred accu_process_update_set\7f1318,52907
-accu_process_update_set\7f1325,53222
-:- pred accu_divide_base_case\7f1380,55845
-accu_divide_base_case\7f1385,56060
-:- pred accu_related\7f1412,57147
-accu_related\7f1415,57271
-:- inst stored_goal_plain_call\7f1444,58416
-:- pred lookup_call\7f1449,58602
-lookup_call\7f1452,58716
-:- pred accu_stage3\7f1470,59433
-accu_stage3\7f1477,59827
-:- pred acc_proc_info\7f1508,61327
-acc_proc_info\7f1512,61486
-:- pred acc_pred_info\7f1556,63450
-acc_pred_info\7f1559,63598
-:- pred accu_create_goal\7f1600,65286
-accu_create_goal\7f1607,65629
-:- func create_acc_call\7f1621,66401
-create_acc_call\7f1625,66570
-:- pred create_orig_goal\7f1634,66988
-create_orig_goal\7f1638,67177
-:- pred create_acc_goal\7f1662,68158
-create_acc_goal\7f1667,68381
-:- func create_new_orig_recursive_goals\7f1709,70226
-create_new_orig_recursive_goals\7f1712,70369
-:- func create_new_recursive_goals\7f1723,70919
-create_new_recursive_goals\7f1727,71109
-:- func create_new_base_goals\7f1738,71718
-create_new_base_goals\7f1741,71832
-:- pred acc_unification\7f1749,72157
-acc_unification\7f1751,72226
-:- pred accu_top_level\7f1766,72897
-accu_top_level\7f1770,73059
-:- pred update_accumulator_pred\7f1856,76291
-update_accumulator_pred\7f1859,76412
-:- func accu_rename\7f1876,77254
-accu_rename\7f1879,77364
-:- func base_case_ids\7f1889,77785
-base_case_ids\7f1891,77847
-:- func base_case_ids_set\7f1898,78049
-base_case_ids_set\7f1900,78114
-:- func accu_goal_list\7f1905,78270
-accu_goal_list\7f1907,78350
-:- pred calculate_goal_info\7f1916,78681
-calculate_goal_info\7f1918,78754
-:- func chain_subst\7f1932,79320
-chain_subst\7f1934,79379
-:- pred chain_subst_2\7f1938,79483
-chain_subst_2\7f1941,79577
-:- some [T] pred unravel_univ\7f1956,80061
-:- pragma foreign_export\7f1957,80117
-unravel_univ\7f1961,80341
-\f
-c-src/c.c,76
-T f(\7f1,0
-}T i;\7f2,14
-void bar(\7f5,69
-int foobar(\7f6,94
-interface_locate(\7f9,131
-\f
-c.c,2280
-void (*fa)\7ffa\ 1131,
-void \7f132,
-my_printf \7f135,
-void fatala \7f138,
-void fatalb \7f139,
-max \7f141,
-struct bar \7f143,
-  char z;\7f144,
-  struct foo f;\7f145,
-__attribute__ ((always_inline)) max \7f147,
-extern int old_var \7f149,
-struct foo\7f150,
-  char a;\7f152,
-  int x[\7fx\ 1153,
-char stack[\7fstack\ 1155,
-struct S \7f156,
-struct S { short f[\7ff\ 1156,
-  int *__ip;\7f__ip\ 1159,
-  union wait *__up;\7f__up\ 1160,
-} wait_status_ptr_t \7f161,
-Some_Class  A \7f162,
-typedef T1 T3 \7f163,
-T3 z \7f164,
-typedef int more_aligned_int \7f165,
-struct S  __attribute__ ((vector_size (16))) foo;\7f166,
-int foo \7f167,
-char *__attribute__((aligned(8))) *f;\7ff\ 1168,
-int i \7f169,
-extern void foobar \7f170,
-typedef struct cacheLRUEntry_s\7f172,
-  U16 next;\7f174,
-  U16 prev;\7f175,
-__attribute__ ((packed)) cacheLRUEntry_t;\7f177,
-struct foo \7f178,
-  int x;\7f179,
-  char a,\7f180,
-  char a, b,\7f180,
-  char a, b, c,\7f180,
-  char a, b, c, d;\7f180,
-     f1 \7f183,
-void f2 \7f184,
-__attribute__((noreturn)) void d0 \7f185,
-  __attribute__((format(printf, 1, 2))) d1 \7f186,
-  d2 \7f187,
-int x \7f188,
-struct foo \7f189,
-struct foo { int x[\7fx\ 1189,
-short array[\7farray\ 1190,
-int f\7f193,
-DEAFUN \7f196,
-XDEFUN \7f203,
-DEFUN ("x-get-selection-internal", Fx_get_selection_internal,\7f206,
-DEFUN ("x-get-selection-internal", Fx_get_selection_internal,\7fx-get-selection-internal\ 1206,
-       Fx_get_selection_internal,\7f212,
-       Fx_get_selection_internal,\7fx-get-selection-internal\ 1212,
-      Fy_get_selection_internal,\7f216,
-      Fy_get_selection_internal,\7fy-get-selection-internal\ 1216,
-defun_func1(\7f218,
-DEFUN_func2(\7f220,
-typedef int bool;\7f222,
-bool funcboo \7f223,
-struct my_struct \7f226,
-typedef struct my_struct my_typedef;\7f228,
-int bla \7f229,
-a(\7f234,
-int func1\7f237,
-static struct cca_control init_control \7f239,
-static tpcmd rbtp \7f240,
-static byte ring1 \7f241,
-static byte ring2 \7f242,
-request request \7f243,
-int func2 \7f246,
-  aaa;\7f249,
-  bbb;\7f251,
-struct sss1 \7f252,
-struct sss2\7f253,
-  struct ss3\7f255,
-struct a b;\7f259,
-struct aa *b;\7fb\ 1260,
-  **b;\7fb\ 1262,
-caccacacca \7f263,
-a \7f267,
-  typedef struct aa \7f269,
-  typedef struct aa {} aaa;\7f269,
-static void inita \7f271,
-node *lasta \7flasta\ 1272,
-b \7f273,
-  typedef  int bb;\7f275,
-static void initb \7f277,
-node *lastb \7flastb\ 1278,
-typedef enum { REG_ENOSYS \7f279,
-typedef enum { REG_ENOSYS = -1, aa \7f279,
-typedef enum { REG_ENOSYS = -1, aa } reg_errcode_t;\7f279,
-\f
-c-src/a/b/b.c,18
-#define this \7f1,0
-\f
-../c/c.web,20
-#define questo \7f34,
-\f
-y-src/parse.y,1061
-#define obstack_chunk_alloc \7f47,1124
-#define obstack_chunk_free \7f48,1162
-int yylex \7f58,1330
-void yyerror \7f60,1360
-void yyerror \7f62,1389
-VOIDSTAR parse_hash;\7f64,1413
-extern VOIDSTAR hash_find(\7f65,1434
-unsigned char fnin[\7ffnin\ 168,1532
-#define YYSTYPE \7f72,1630
-typedef struct node *YYSTYPE;\7fYYSTYPE\ 173,1661
-YYSTYPE parse_return;\7f74,1691
-YYSTYPE make_list \7f76,1729
-YYSTYPE make_list \7f78,1773
-char *instr;\7finstr\ 181,1803
-int parse_error \7f82,1816
-extern struct obstack tmp_mem;\7f83,1837
-line:\7fline\ 187,1875
-exp:\7fexp\ 195,1988
-exp_list:\7fexp_list\ 1263,5655
-range_exp:\7frange_exp\ 1269,5753
-range_exp_list:\7frange_exp_list\ 1273,5783
-cell:\7fcell\ 1279,5901
-yyerror FUN1(\7f286,5948
-make_list FUN2(\7f293,6028
-#define ERROR \7f304,6228
-extern struct node *yylval;\7fyylval\ 1306,6246
-unsigned char parse_cell_or_range \7f309,6291
-unsigned char parse_cell_or_range \7f311,6355
-yylex FUN0(\7f315,6405
-parse_cell_or_range FUN2(\7f587,11772
-#define CK_ABS_R(\7f671,13214
-#define CK_REL_R(\7f675,13293
-#define CK_ABS_C(\7f680,13422
-#define CK_REL_C(\7f684,13501
-#define MAYBEREL(\7f689,13630
-str_to_col FUN1(\7f847,16831
-\f
-y-src/parse.c,520
-#define YYBISON \7f4,64
-# define       NE      \7f6,114
-# define       LE      \7f7,130
-# define       GE      \7f8,146
-# define       NEG     \7f9,162
-# define       L_CELL  \7f10,179
-# define       L_RANGE \7f11,199
-# define       L_VAR   \7f12,220
-# define       L_CONST \7f13,239
-# define       L_FN0   \7f14,260
-# define       L_FN1   \7f15,279
-# define       L_FN2   \7f16,298
-# define       L_FN3   \7f17,317
-# define       L_FN4   \7f18,336
-# define       L_FNN   \7f19,355
-# define       L_FN1R  \7f20,374
-# define       L_FN2R  \7f21,394
-# define       L_FN3R  \7f22,414
-# define       L_FN4R  \7f23,434
-# define       L_FNNR  \7f24,454
-# define       L_LE    \7f25,474
-# define       L_NE    \7f26,492
-# define       L_GE    \7f27,510
-\f
-/usr/share/bison/bison.simple,1787
-# define YYSTD(\7f40,
-# define YYSTD(\7f42,
-#  define YYSTACK_ALLOC \7f50,
-#  define YYSIZE_T \7f51,
-#    define YYSTACK_ALLOC \7f55,
-#    define YYSIZE_T \7f56,
-#     define YYSTACK_ALLOC \7f59,
-#  define YYSTACK_FREE(\7f67,
-#   define YYSIZE_T \7f71,
-#    define YYSIZE_T \7f75,
-#  define YYSTACK_ALLOC \7f78,
-#  define YYSTACK_FREE \7f79,
-union yyalloc\7f83,
-  short yyss;\7f85,
-  YYSTYPE yyvs;\7f86,
-  YYLTYPE yyls;\7f88,
-# define YYSTACK_GAP_MAX \7f93,
-#  define YYSTACK_BYTES(\7f98,
-#  define YYSTACK_BYTES(\7f102,
-# define YYSTACK_RELOCATE(\7f112,
-# define YYSIZE_T \7f128,
-# define YYSIZE_T \7f131,
-#  define YYSIZE_T \7f136,
-#   define YYSIZE_T \7f140,
-# define YYSIZE_T \7f145,
-#define yyerrok        \7f148,
-#define yyclearin      \7f149,
-#define YYEMPTY        \7f150,
-#define YYEOF  \7f151,
-#define YYACCEPT       \7f152,
-#define YYABORT \7f153,
-#define YYERROR        \7f154,
-#define YYFAIL \7f158,
-#define YYRECOVERING(\7f159,
-#define YYBACKUP(\7f160,
-#define YYTERROR       \7f177,
-#define YYERRCODE      \7f178,
-# define YYLLOC_DEFAULT(\7f189,
-#   define YYLEX       \7f200,
-#   define YYLEX       \7f202,
-#   define YYLEX       \7f206,
-#   define YYLEX       \7f208,
-# define YYLEX \7f212,
-#  define YYFPRINTF \7f225,
-# define YYDPRINTF(\7f228,
-int yydebug;\7f237,
-# define YYDPRINTF(\7f239,
-# define YYINITDEPTH \7f244,
-# undef YYMAXDEPTH\7f255,
-# define YYMAXDEPTH \7f259,
-#  define yymemcpy \7f264,
-yymemcpy \7f271,
-#   define yystrlen \7f293,
-yystrlen \7f298,
-#   define yystpcpy \7f316,
-yystpcpy \7f322,
-#  define YYPARSE_PARAM_ARG \7f351,
-#  define YYPARSE_PARAM_DECL\7f352,
-#  define YYPARSE_PARAM_ARG \7f354,
-#  define YYPARSE_PARAM_DECL \7f355,
-# define YYPARSE_PARAM_ARG\7f358,
-# define YYPARSE_PARAM_DECL\7f359,
-int yyparse \7f365,
-int yyparse \7f367,
-#define YY_DECL_NON_LSP_VARIABLES      \7f374,
-# define YY_DECL_VARIABLES     \7f385,
-# define YY_DECL_VARIABLES     \7f391,
-yyparse \7f403,
-# define YYPOPSTACK \7f445,
-# define YYPOPSTACK \7f447,
-# undef YYSTACK_RELOCATE\7f548,
-\f
-y-src/atest.y,9
-exp    \7f2,3
-\f
-y-src/cccp.c,303
-#define YYBISON \7f4,63
-# define       INT     \7f6,113
-# define       CHAR    \7f7,130
-# define       NAME    \7f8,148
-# define       ERROR   \7f9,166
-# define       OR      \7f10,185
-# define       AND     \7f11,201
-# define       EQUAL   \7f12,218
-# define       NOTEQUAL        \7f13,237
-# define       LEQ     \7f14,259
-# define       GEQ     \7f15,276
-# define       LSH     \7f16,293
-# define       RSH     \7f17,310
-# define       UNARY   \7f18,327
-\f
-/usr/share/bison/bison.simple,2238
-# define YYSTD(\7f41,
-# define YYSTD(\7f43,
-#  define YYSTACK_ALLOC \7f51,
-#  define YYSIZE_T \7f52,
-#    define YYSTACK_ALLOC \7f56,
-#    define YYSIZE_T \7f57,
-#     define YYSTACK_ALLOC \7f60,
-#  define YYSTACK_FREE(\7f68,
-#   define YYSIZE_T \7f72,
-#    define YYSIZE_T \7f76,
-#  define YYSTACK_ALLOC \7f79,
-#  define YYSTACK_FREE \7f80,
-union yyalloc\7f84,
-  short yyss;\7f86,
-  YYSTYPE yyvs;\7f87,
-  YYLTYPE yyls;\7f89,
-# define YYSTACK_GAP_MAX \7f94,
-#  define YYSTACK_BYTES(\7f99,
-#  define YYSTACK_BYTES(\7f103,
-# define YYSTACK_RELOCATE(\7f113,
-# define YYSIZE_T \7f129,
-# define YYSIZE_T \7f132,
-#  define YYSIZE_T \7f137,
-#   define YYSIZE_T \7f141,
-# define YYSIZE_T \7f146,
-#define yyerrok        \7f149,
-#define yyclearin      \7f150,
-#define YYEMPTY        \7f151,
-#define YYEOF  \7f152,
-#define YYACCEPT       \7f153,
-#define YYABORT \7f154,
-#define YYERROR        \7f155,
-#define YYFAIL \7f159,
-#define YYRECOVERING(\7f160,
-#define YYBACKUP(\7f161,
-#define YYTERROR       \7f178,
-#define YYERRCODE      \7f179,
-# define YYLLOC_DEFAULT(\7f190,
-#   define YYLEX       \7f201,
-#   define YYLEX       \7f203,
-#   define YYLEX       \7f207,
-#   define YYLEX       \7f209,
-# define YYLEX \7f213,
-#  define YYFPRINTF \7f226,
-# define YYDPRINTF(\7f229,
-int yydebug;\7f238,
-# define YYDPRINTF(\7f240,
-# define YYINITDEPTH \7f245,
-# undef YYMAXDEPTH\7f256,
-# define YYMAXDEPTH \7f260,
-#  define yymemcpy \7f265,
-yymemcpy \7f272,
-#   define yystrlen \7f294,
-yystrlen \7f299,
-#   define yystpcpy \7f317,
-yystpcpy \7f323,
-#  define YYPARSE_PARAM_ARG \7f351,
-#  define YYPARSE_PARAM_DECL\7f352,
-#  define YYPARSE_PARAM_ARG \7f354,
-#  define YYPARSE_PARAM_DECL \7f355,
-# define YYPARSE_PARAM_ARG\7f358,
-# define YYPARSE_PARAM_DECL\7f359,
-int yyparse \7f365,
-int yyparse \7f367,
-#define YY_DECL_NON_LSP_VARIABLES      \7f374,
-# define YY_DECL_VARIABLES     \7f385,
-# define YY_DECL_VARIABLES     \7f391,
-yyparse \7f403,
-# define YYPOPSTACK \7f445,
-# define YYPOPSTACK \7f447,
-# undef YYSTACK_RELOCATE\7f548,
-  *++yyvsp \7fyyvsp\ 1746,
-  *++yylsp \7fyylsp\ 1748,
-  yyn \7f755,
-  yystate \7f757,
-    yystate \7f761,
-  goto yynewstate;\7f763,
-  goto yyerrlab1;\7f823,
-  yyerrstatus \7f846,
-  goto yyerrhandle;\7f848,
-  yyn \7f861,
-  yystate \7f875,
-  yyn \7f895,
-  yyn \7f903,
-  YYDPRINTF \7f917,
-  *++yyvsp \7fyyvsp\ 1919,
-  *++yylsp \7fyylsp\ 1921,
-  yystate \7f924,
-  goto yynewstate;\7f925,
-  yyresult \7f932,
-  goto yyreturn;\7f933,
-  yyresult \7f939,
-  goto yyreturn;\7f940,
-  yyerror \7f946,
-  yyresult \7f947,
-\f
-y-src/cccp.y,2171
-typedef unsigned char U_CHAR;\7f38,1201
-struct arglist \7f41,1301
-  struct arglist *next;\7fnext\ 142,1318
-  U_CHAR *name;\7fname\ 143,1342
-  int length;\7f44,1358
-  int argno;\7f45,1372
-#define NULL \7f51,1468
-#define GENERIC_PTR \7f56,1578
-#define GENERIC_PTR \7f58,1611
-#define NULL_PTR \7f63,1670
-int yylex \7f66,1712
-void yyerror \7f67,1726
-int expression_value;\7f68,1743
-static jmp_buf parse_return_error;\7f70,1766
-static int keyword_parsing \7f73,1865
-extern unsigned char is_idstart[\7fis_idstart\ 176,1944
-extern unsigned char is_idstart[], is_idchar[\7fis_idchar\ 176,1944
-extern unsigned char is_idstart[], is_idchar[], is_hor_space[\7fis_hor_space\ 176,1944
-extern char *xmalloc \7fxmalloc\ 178,2009
-extern int pedantic;\7f81,2062
-extern int traditional;\7f84,2114
-#define CHAR_TYPE_SIZE \7f87,2162
-#define INT_TYPE_SIZE \7f91,2229
-#define LONG_TYPE_SIZE \7f95,2296
-#define WCHAR_TYPE_SIZE \7f99,2365
-#define possible_sum_sign(\7f104,2556
-static void integer_overflow \7f106,2632
-static long left_shift \7f107,2665
-static long right_shift \7f108,2692
-  struct constant \7f112,2733
-  struct constant {long value;\7f112,2733
-  struct constant {long value; int unsignedp;\7f112,2733
-  struct constant {long value; int unsignedp;} integer;\7f112,2733
-  struct name \7f113,2789
-  struct name {U_CHAR *address;\7faddress\ 1113,2789
-  struct name {U_CHAR *address; int length;\7f113,2789
-  struct name {U_CHAR *address; int length;} name;\7f113,2789
-  struct arglist *keywords;\7fkeywords\ 1114,2840
-  int voidval;\7f115,2868
-  char *sval;\7fsval\ 1116,2883
-start \7f143,3226
-exp1   \7f148,3330
-exp    \7f156,3505
-exp    \7f185,4295
-keywords \7f306,7835
-static char *lexptr;\7flexptr\ 1332,8579
-parse_number \7f341,8842
-struct token \7f437,11038
-  char *operator;\7foperator\ 1438,11053
-  int token;\7f439,11071
-static struct token tokentab2[\7ftokentab2\ 1442,11088
-yylex \7f459,11367
-parse_escape \7f740,17718
-yyerror \7f836,19599
-integer_overflow \7f844,19690
-left_shift \7f851,19804
-right_shift \7f873,20194
-parse_c_expression \7f893,20732
-extern int yydebug;\7f919,21416
-main \7f923,21483
-unsigned char is_idchar[\7fis_idchar\ 1948,21901
-unsigned char is_idstart[\7fis_idstart\ 1950,21996
-char is_hor_space[\7fis_hor_space\ 1953,22160
-initialize_random_junk \7f958,22259
-error \7f988,22915
-warning \7f993,22963
-lookup \7f999,23033
-\f
-tex-src/nonewline.tex,0
-\f
-php-src/sendmail.php,0
-\f
-a-src/empty.zz,0
diff --git a/test/manual/etags/ETAGS.good_6 b/test/manual/etags/ETAGS.good_6
deleted file mode 100644 (file)
index 09abde3..0000000
+++ /dev/null
@@ -1,5613 +0,0 @@
-\f
-ada-src/etags-test-for.ada,1969
-   type LL_Task_Procedure_Access \7fLL_Task_Procedure_Access/t\ 11,0
-   function Body_Required\7fBody_Required/f\ 13,78
-   type Type_Specific_Data \7fType_Specific_Data/t\ 111,280
-   function "abs"\7fabs/f\ 119,504
-   type Barrier_Function_Pointer \7fBarrier_Function_Pointer/t\ 121,577
-   function "="\7f=/f\ 127,722
-   type usfreelock_ptr \7fusfreelock_ptr/t\ 130,803
-   function p \7fp/f\ 133,891
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 137,1054
-function p \7fp/f\ 139,1094
-package Pkg1 \7fPkg1/s\ 144,1203
-  type Private_T \7fPrivate_T/t\ 146,1220
-  package Inner1 \7fInner1/s\ 148,1250
-    procedure Private_T;\7fPrivate_T/p\ 149,1270
-  package Inner2 \7fInner2/s\ 152,1310
-    task Private_T;\7fPrivate_T/k\ 153,1330
-  type Public_T \7fPublic_T/t\ 156,1365
-  procedure Pkg1_Proc1;\7fPkg1_Proc1/p\ 162,1450
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 164,1475
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 166,1514
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 168,1553
-  package Pkg1_Pkg1 \7fPkg1_Pkg1/s\ 171,1622
-    procedure Pkg1_Pkg1_Proc1;\7fPkg1_Pkg1_Proc1/p\ 172,1645
-  task type Task_Type \7fTask_Type/k\ 175,1694
-  type Private_T \7fPrivate_T/t\ 182,1786
-package body Pkg1 \7fPkg1/b\ 189,1882
-  procedure Pkg1_Proc1 \7fPkg1_Proc1/p\ 191,1904
-  package body Inner1 \7fInner1/b\ 196,1956
-    procedure Private_T \7fPrivate_T/p\ 197,1981
-  package body Inner2 \7fInner2/b\ 1103,2054
-    task body Private_T \7fPrivate_T/b\ 1104,2079
-  task body Task_Type \7fTask_Type/b\ 1112,2181
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 1126,2367
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 1132,2445
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 1134,2496
-  package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1140,2596
-package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1146,2663
-  procedure Pkg1_Pkg1_Proc1 \7fPkg1_Pkg1_Proc1/p\ 1147,2689
-function  Pkg1_Func1 \7fPkg1_Func1/f\ 1155,2778
-package Truc \7fTruc/s\ 1162,2887
-package Truc.Bidule \7fTruc.Bidule/s\ 1166,2929
-  protected Bidule \7fBidule/t\ 1168,2953
-  protected type Machin_T \7fMachin_T/t\ 1172,3007
-package body Truc.Bidule \7fTruc.Bidule/b\ 1178,3087
-  protected body Bidule \7fBidule/b\ 1179,3115
-  protected Machin_T \7fMachin_T/t\ 1186,3207
-\f
-ada-src/2ataspri.adb,2190
-package body System.Task_Primitives \7fSystem.Task_Primitives/b\ 164,2603
-   package RTE \7fRTE/s\ 169,2712
-   package TSL \7fTSL/s\ 170,2759
-   function To_void_ptr \7fTo_void_ptr/f\ 186,3287
-   function To_TCB_Ptr \7fTo_TCB_Ptr/f\ 189,3366
-   function pthread_mutexattr_setprotocol\7fpthread_mutexattr_setprotocol/f\ 192,3444
-   function pthread_mutexattr_setprio_ceiling\7fpthread_mutexattr_setprio_ceiling/f\ 199,3728
-   procedure Abort_Wrapper\7fAbort_Wrapper/p\ 1115,4302
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 1122,4526
-   procedure Initialize_LL_Tasks \7fInitialize_LL_Tasks/p\ 1131,4830
-   function Self \7fSelf/f\ 1160,5586
-   procedure Initialize_Lock\7fInitialize_Lock/p\ 1174,5958
-   procedure Finalize_Lock \7fFinalize_Lock/p\ 1210,6927
-   procedure Write_Lock \7fWrite_Lock/p\ 1226,7338
-   procedure Read_Lock \7fRead_Lock/p\ 1239,7700
-   procedure Unlock \7fUnlock/p\ 1246,7850
-   procedure Initialize_Cond \7fInitialize_Cond/p\ 1258,8160
-   procedure Finalize_Cond \7fFinalize_Cond/p\ 1286,8979
-   procedure Cond_Wait \7fCond_Wait/p\ 1300,9303
-   procedure Cond_Timed_Wait\7fCond_Timed_Wait/p\ 1312,9661
-   procedure Cond_Signal \7fCond_Signal/p\ 1343,10510
-   procedure Set_Priority\7fSet_Priority/p\ 1355,10836
-   procedure Set_Own_Priority \7fSet_Own_Priority/p\ 1372,11243
-   function Get_Priority \7fGet_Priority/f\ 1385,11598
-   function Get_Own_Priority \7fGet_Own_Priority/f\ 1398,12023
-   procedure Create_LL_Task\7fCreate_LL_Task/p\ 1412,12438
-      function To_Start_Addr \7fTo_Start_Addr/f\ 1426,12873
-   procedure Exit_LL_Task \7fExit_LL_Task/p\ 1491,14995
-   procedure Abort_Task \7fAbort_Task/p\ 1500,15158
-   procedure Test_Abort \7fTest_Abort/p\ 1518,15716
-   procedure Install_Abort_Handler \7fInstall_Abort_Handler/p\ 1527,15878
-   procedure Abort_Wrapper\7fAbort_Wrapper/p\ 1557,16939
-      function Address_To_Call_State \7fAddress_To_Call_State/f\ 1562,17062
-   procedure Install_Error_Handler \7fInstall_Error_Handler/p\ 1573,17351
-   procedure LL_Assert \7fLL_Assert/p\ 1599,18146
-   procedure LL_Wrapper \7fLL_Wrapper/p\ 1608,18299
-   procedure Initialize_TAS_Cell \7fInitialize_TAS_Cell/p\ 1630,19010
-   procedure Finalize_TAS_Cell \7fFinalize_TAS_Cell/p\ 1635,19129
-   procedure Clear \7fClear/p\ 1640,19236
-   procedure Test_And_Set \7fTest_And_Set/p\ 1645,19330
-   function  Is_Set \7fIs_Set/f\ 1659,19676
-\f
-ada-src/2ataspri.ads,2313
-package System.Task_Primitives \7fSystem.Task_Primitives/s\ 158,3169
-   type LL_Task_Procedure_Access \7fLL_Task_Procedure_Access/t\ 162,3253
-   type Pre_Call_State \7fPre_Call_State/t\ 164,3331
-   type Task_Storage_Size \7fTask_Storage_Size/t\ 166,3378
-   type Machine_Exceptions \7fMachine_Exceptions/t\ 168,3433
-   type Error_Information \7fError_Information/t\ 170,3499
-   type Lock \7fLock/t\ 172,3569
-   type Condition_Variable \7fCondition_Variable/t\ 173,3594
-   type Task_Control_Block \7fTask_Control_Block/t\ 181,3955
-   type TCB_Ptr \7fTCB_Ptr/t\ 189,4241
-   function Address_To_TCB_Ptr \7fAddress_To_TCB_Ptr/f\ 193,4333
-   procedure Initialize_LL_Tasks \7fInitialize_LL_Tasks/p\ 196,4425
-   function Self \7fSelf/f\ 1100,4602
-   procedure Initialize_Lock \7fInitialize_Lock/p\ 1103,4707
-   procedure Finalize_Lock \7fFinalize_Lock/p\ 1107,4879
-   procedure Write_Lock \7fWrite_Lock/p\ 1111,5034
-   procedure Read_Lock \7fRead_Lock/p\ 1118,5428
-   procedure Unlock \7fUnlock/p\ 1128,5995
-   procedure Initialize_Cond \7fInitialize_Cond/p\ 1135,6300
-   procedure Finalize_Cond \7fFinalize_Cond/p\ 1138,6413
-   procedure Cond_Wait \7fCond_Wait/p\ 1142,6591
-   procedure Cond_Timed_Wait\7fCond_Timed_Wait/p\ 1155,7396
-   procedure Cond_Signal \7fCond_Signal/p\ 1164,7812
-   procedure Set_Priority \7fSet_Priority/p\ 1169,8040
-   procedure Set_Own_Priority \7fSet_Own_Priority/p\ 1173,8200
-   function Get_Priority \7fGet_Priority/f\ 1177,8348
-   function Get_Own_Priority \7fGet_Own_Priority/f\ 1181,8504
-   procedure Create_LL_Task\7fCreate_LL_Task/p\ 1185,8647
-   procedure Exit_LL_Task;\7fExit_LL_Task/p\ 1198,9282
-   procedure Abort_Task \7fAbort_Task/p\ 1203,9516
-   procedure Test_Abort;\7fTest_Abort/p\ 1210,9878
-   type Abort_Handler_Pointer \7fAbort_Handler_Pointer/t\ 1217,10233
-   procedure Install_Abort_Handler \7fInstall_Abort_Handler/p\ 1219,10312
-   procedure Install_Error_Handler \7fInstall_Error_Handler/p\ 1226,10741
-   procedure LL_Assert \7fLL_Assert/p\ 1231,10983
-   type Proc \7fProc/t\ 1238,11240
-   type TAS_Cell \7fTAS_Cell/t\ 1242,11328
-   procedure Initialize_TAS_Cell \7fInitialize_TAS_Cell/p\ 1249,11670
-   procedure Finalize_TAS_Cell \7fFinalize_TAS_Cell/p\ 1255,11941
-   procedure Clear \7fClear/p\ 1260,12157
-   procedure Test_And_Set \7fTest_And_Set/p\ 1267,12462
-   function  Is_Set \7fIs_Set/f\ 1275,12877
-   type Lock \7fLock/t\ 1283,13155
-   type Condition_Variable \7fCondition_Variable/t\ 1288,13267
-   type TAS_Cell \7fTAS_Cell/t\ 1293,13389
-\f
-ada-src/waroquiers.ada,1503
-package Pkg1 \7fPkg1/s\ 13,89
-  type Private_T \7fPrivate_T/t\ 15,106
-  package Inner1 \7fInner1/s\ 17,136
-    procedure Private_T;\7fPrivate_T/p\ 18,156
-  package Inner2 \7fInner2/s\ 111,196
-    task Private_T;\7fPrivate_T/k\ 112,216
-  type Public_T \7fPublic_T/t\ 115,251
-  procedure Pkg1_Proc1;\7fPkg1_Proc1/p\ 121,336
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 123,361
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 125,400
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 127,439
-  package Pkg1_Pkg1 \7fPkg1_Pkg1/s\ 130,508
-    procedure Pkg1_Pkg1_Proc1;\7fPkg1_Pkg1_Proc1/p\ 131,531
-  task type Task_Type \7fTask_Type/k\ 134,580
-  type Private_T \7fPrivate_T/t\ 140,671
-package body Pkg1 \7fPkg1/b\ 146,766
-  procedure Pkg1_Proc1 \7fPkg1_Proc1/p\ 148,788
-  package body Inner1 \7fInner1/b\ 153,840
-    procedure Private_T \7fPrivate_T/p\ 154,865
-  package body Inner2 \7fInner2/b\ 160,938
-    task body Private_T \7fPrivate_T/b\ 161,963
-  task body Task_Type \7fTask_Type/b\ 168,1064
-  procedure Pkg1_Proc2 \7fPkg1_Proc2/p\ 182,1250
-  function Pkg1_Func1 \7fPkg1_Func1/f\ 188,1328
-  function Pkg1_Func2 \7fPkg1_Func2/f\ 190,1379
-  package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 196,1479
-package body Pkg1_Pkg1 \7fPkg1_Pkg1/b\ 1100,1544
-  procedure Pkg1_Pkg1_Proc1 \7fPkg1_Pkg1_Proc1/p\ 1101,1570
-function  Pkg1_Func1 \7fPkg1_Func1/f\ 1107,1657
-package Truc \7fTruc/s\ 1112,1764
-package Truc.Bidule \7fTruc.Bidule/s\ 1116,1816
-  protected Bidule \7fBidule/t\ 1125,1964
-  protected type Machin_T \7fMachin_T/t\ 1131,2046
-package body Truc.Bidule \7fTruc.Bidule/b\ 1138,2153
-  protected body Bidule \7fBidule/b\ 1139,2181
-  protected body Machin_T \7fMachin_T/b\ 1146,2281
-\f
-c-src/abbrev.c,3055
-Lisp_Object Vabbrev_table_name_list;\7f43,1429
-Lisp_Object Vglobal_abbrev_table;\7f48,1574
-Lisp_Object Vfundamental_mode_abbrev_table;\7f52,1685
-int abbrevs_changed;\7f56,1786
-int abbrev_all_caps;\7f58,1808
-Lisp_Object Vabbrev_start_location;\7f63,1957
-Lisp_Object Vabbrev_start_location_buffer;\7f66,2046
-Lisp_Object Vlast_abbrev;\7f70,2155
-Lisp_Object Vlast_abbrev_text;\7f75,2324
-int last_abbrev_point;\7f79,2414
-DEFUN ("make-abbrev-table", Fmake_abbrev_table,\7f82,2440
-DEFUN ("make-abbrev-table", Fmake_abbrev_table,\7fmake-abbrev-table\ 182,2440
-DEFUN ("clear-abbrev-table", Fclear_abbrev_table,\7f89,2632
-DEFUN ("clear-abbrev-table", Fclear_abbrev_table,\7fclear-abbrev-table\ 189,2632
-DEFUN ("define-abbrev", Fdefine_abbrev,\7f104,3013
-DEFUN ("define-abbrev", Fdefine_abbrev,\7fdefine-abbrev\ 1104,3013
-DEFUN ("define-global-abbrev", Fdefine_global_abbrev,\7f146,4332
-DEFUN ("define-global-abbrev", Fdefine_global_abbrev,\7fdefine-global-abbrev\ 1146,4332
-DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,\7f157,4703
-DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,\7fdefine-mode-abbrev\ 1157,4703
-DEFUN ("abbrev-symbol", Fabbrev_symbol,\7f171,5171
-DEFUN ("abbrev-symbol", Fabbrev_symbol,\7fabbrev-symbol\ 1171,5171
-DEFUN ("abbrev-expansion", Fabbrev_expansion,\7f199,6135
-DEFUN ("abbrev-expansion", Fabbrev_expansion,\7fabbrev-expansion\ 1199,6135
-DEFUN ("expand-abbrev", Fexpand_abbrev,\7f215,6650
-DEFUN ("expand-abbrev", Fexpand_abbrev,\7fexpand-abbrev\ 1215,6650
-DEFUN ("unexpand-abbrev", Funexpand_abbrev,\7f383,11495
-DEFUN ("unexpand-abbrev", Funexpand_abbrev,\7funexpand-abbrev\ 1383,11495
-write_abbrev \7f420,12702
-describe_abbrev \7f439,13137
-DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,\7f460,13652
-DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,\7finsert-abbrev-table-description\ 1460,13652
-DEFUN ("define-abbrev-table", Fdefine_abbrev_table,\7f500,14808
-DEFUN ("define-abbrev-table", Fdefine_abbrev_table,\7fdefine-abbrev-table\ 1500,14808
-syms_of_abbrev \7f534,15885
-  DEFVAR_LISP ("abbrev-table-name-list"\7f536,15905
-  DEFVAR_LISP ("global-abbrev-table"\7f542,16167
-  DEFVAR_LISP ("fundamental-mode-abbrev-table"\7f549,16489
-  DEFVAR_LISP ("last-abbrev"\7f555,16831
-  DEFVAR_LISP ("last-abbrev-text"\7f558,16954
-  DEFVAR_INT ("last-abbrev-location"\7f562,17112
-  DEFVAR_LISP ("abbrev-start-location"\7f569,17311
-  DEFVAR_LISP ("abbrev-start-location-buffer"\7f575,17588
-  DEFVAR_PER_BUFFER ("local-abbrev-table"\7f580,17852
-  DEFVAR_BOOL ("abbrevs-changed"\7f583,17995
-  DEFVAR_BOOL ("abbrev-all-caps"\7f588,18198
-  DEFVAR_LISP ("abbrev-table-name-list",\7f\1\ 1536,15905
-  DEFVAR_LISP ("global-abbrev-table",\7f\1\ 1542,16167
-  DEFVAR_LISP ("fundamental-mode-abbrev-table",\7f\1\ 1549,16489
-  DEFVAR_LISP ("last-abbrev",\7f\1\ 1555,16831
-  DEFVAR_LISP ("last-abbrev-text",\7f\1\ 1558,16954
-  DEFVAR_INT ("last-abbrev-location",\7f\1\ 1562,17112
-  DEFVAR_LISP ("abbrev-start-location",\7f\1\ 1569,17311
-  DEFVAR_LISP ("abbrev-start-location-buffer",\7f\1\ 1575,17588
-  DEFVAR_PER_BUFFER ("local-abbrev-table",\7f\1\ 1580,17852
-  DEFVAR_BOOL ("abbrevs-changed",\7f\1\ 1583,17995
-  DEFVAR_BOOL ("abbrev-all-caps",\7f\1\ 1588,18198
-\f
-c-src/torture.c,197
-(*tag1 \7ftag1\ 118,452
-#define notag2 \7f26,553
-(*tag2 \7ftag2\ 129,630
-(*tag3 \7ftag3\ 139,772
-#define notag4 \7f45,861
-(*tag4 \7ftag4\ 148,955
-tag5 \7f57,1081
-tag6 \7f66,1208
-int pp1(\7f74,1317
-pp2\7f87,1419
-pp3(\7f100,1518
-\f
-c-src/getopt.h,666
-#define _GETOPT_H \7f19,799
-extern char *optarg;\7foptarg\ 131,1107
-extern int optind;\7f45,1615
-extern int opterr;\7f50,1741
-struct option\7f73,2795
-  const char *name;\7fname\ 176,2824
-  char *name;\7fname\ 178,2850
-  int has_arg;\7f82,3007
-  int *flag;\7fflag\ 183,3022
-  int val;\7f84,3035
-#define        no_argument     \7f89,3122
-#define required_argument      \7f90,3145
-#define optional_argument      \7f91,3173
-extern int getopt \7f98,3438
-extern int getopt \7f100,3542
-extern int getopt_long \7f102,3597
-extern int getopt_long_only \7f104,3729
-extern int _getopt_internal \7f109,3940
-extern int getopt \7f114,4138
-extern int getopt_long \7f115,4160
-extern int getopt_long_only \7f116,4187
-extern int _getopt_internal \7f118,4220
-\f
-c-src/etags.c,14175
-char pot_etags_version[\7fpot_etags_version\ 181,3471
-#  undef DEBUG\7f84,3553
-#  define DEBUG \7f85,3568
-#  define DEBUG \7f87,3595
-#  define NDEBUG       \7f88,3618
-# define _GNU_SOURCE \7f94,3706
-# undef MSDOS\7f100,3877
-# undef  WINDOWSNT\7f101,3891
-# define WINDOWSNT\7f102,3910
-# undef MSDOS\7f106,3969
-# define MSDOS \7f107,3983
-# define MSDOS \7f110,4033
-# define MAXPATHLEN \7f115,4112
-# undef HAVE_NTGUI\7f116,4142
-# undef  DOS_NT\7f117,4161
-# define DOS_NT\7f118,4177
-# undef  assert        \7f135,4483
-# define assert(\7f136,4542
-# undef  CTAGS\7f146,4858
-# define CTAGS \7f147,4873
-# define CTAGS \7f149,4899
-#define streq(\7f152,4928
-#define strcaseeq(\7f153,4997
-#define strneq(\7f154,5076
-#define strncaseeq(\7f155,5152
-#define CHARS \7f157,5239
-#define CHAR(\7f158,5279
-#define        iswhite(\7f159,5330
-#define notinname(\7f160,5395
-#define        begtoken(\7f161,5470
-#define        intoken(\7f162,5543
-#define        endtoken(\7f163,5615
-#define ISALNUM(\7f165,5685
-#define ISALPHA(\7f166,5723
-#define ISDIGIT(\7f167,5761
-#define ISLOWER(\7f168,5799
-#define lowcase(\7f170,5838
-#define xnew(\7f179,6016
-#define xrnew(\7f180,6084
-typedef void Lang_function \7f182,6165
-  const char *suffix;\7fsuffix\ 1186,6220
-  const char *command;\7fcommand\ 1187,6295
-} compressor;\7f188,6366
-  const char *name;\7fname\ 1192,6398
-  const char *help;\7fhelp\ 1193,6450
-  Lang_function *function;\7ffunction\ 1194,6509
-  const char **suffixes;\7fsuffixes\ 1195,6557
-  const char **filenames;\7ffilenames\ 1196,6634
-  const char **interpreters;\7finterpreters\ 1197,6703
-  bool metasource;\7f198,6772
-} language;\7f199,6836
-typedef struct fdesc\7f201,6849
-  struct fdesc *next;\7fnext\ 1203,6872
-  char *infname;\7finfname\ 1204,6921
-  char *infabsname;\7finfabsname\ 1205,6974
-  char *infabsdir;\7finfabsdir\ 1206,7039
-  char *taggedfname;\7ftaggedfname\ 1207,7092
-  language *lang;\7flang\ 1208,7150
-  char *prop;\7fprop\ 1209,7192
-  bool usecharno;\7f210,7250
-  bool written;\7f211,7312
-} fdesc;\7f212,7367
-typedef struct node_st\7f214,7377
-  struct node_st *left,\7fleft\ 1216,7429
-  struct node_st *left, *right;\7fright\ 1216,7429
-  fdesc *fdp;\7ffdp\ 1217,7487
-  char *name;\7fname\ 1218,7549
-  char *regex;\7fregex\ 1219,7581
-  bool valid;\7f220,7618
-  bool is_func;\7f221,7671
-  bool been_warned;\7f222,7734
-  int lno;\7f223,7802
-  long cno;\7f224,7843
-} node;\7f225,7895
-  long size;\7f236,8209
-  int len;\7f237,8222
-  char *buffer;\7fbuffer\ 1238,8233
-} linebuffer;\7f239,8249
-    at_language,\7f245,8345
-    at_regexp,\7f246,8394
-    at_filename,\7f247,8438
-    at_stdin,\7f248,8474
-    at_end     \7f249,8517
-  } arg_type;\7f250,8558
-  language *lang;\7flang\ 1251,8594
-  char *what;\7fwhat\ 1252,8657
-} argument;\7f253,8699
-typedef struct regexp\7f256,8759
-  struct regexp *p_next;\7fp_next\ 1258,8783
-  language *lang;\7flang\ 1259,8838
-  char *pattern;\7fpattern\ 1260,8898
-  char *name;\7fname\ 1261,8941
-  struct re_pattern_buffer *pat;\7fpat\ 1262,8972
-  struct re_registers regs;\7f263,9032
-  bool error_signaled;\7f264,9079
-  bool force_explicit_name;\7f265,9142
-  bool ignore_case;\7f266,9207
-  bool multi_line;\7f267,9260
-} regexp;\7f268,9326
-static void Ada_funcs \7f274,9429
-static void Asm_labels \7f275,9461
-static void C_entries \7f276,9494
-static void default_C_entries \7f277,9537
-static void plain_C_entries \7f278,9577
-static void Cjava_entries \7f279,9615
-static void Cobol_paragraphs \7f280,9651
-static void Cplusplus_entries \7f281,9690
-static void Cstar_entries \7f282,9730
-static void Erlang_functions \7f283,9766
-static void Forth_words \7f284,9805
-static void Fortran_functions \7f285,9839
-static void HTML_labels \7f286,9879
-static void Lisp_functions \7f287,9913
-static void Lua_functions \7f288,9950
-static void Makefile_targets \7f289,9986
-static void Pascal_functions \7f290,10025
-static void Perl_functions \7f291,10064
-static void PHP_functions \7f292,10101
-static void PS_functions \7f293,10137
-static void Prolog_functions \7f294,10172
-static void Python_functions \7f295,10211
-static void Scheme_functions \7f296,10250
-static void TeX_commands \7f297,10289
-static void Texinfo_nodes \7f298,10324
-static void Yacc_entries \7f299,10360
-static void just_read_file \7f300,10395
-static language *get_language_from_langname \7fget_language_from_langname\ 1302,10433
-static void readline \7f303,10493
-static long readline_internal \7f304,10538
-static bool nocase_tail \7f305,10592
-static void get_tag \7f306,10632
-static void analyze_regex \7f308,10672
-static void free_regexps \7f309,10708
-static void regex_tag_multiline \7f310,10741
-static void error \7f311,10781
-# undef STDIN\7f408,15074
-#define STDIN \7f411,15096
-static compressor compressors[\7fcompressors\ 1457,17665
-static const char *Ada_suffixes \7fAda_suffixes\ 1473,17908
-static const char Ada_help \7f475,17978
-static const char *Asm_suffixes \7fAsm_suffixes\ 1493,18581
-static const char Asm_help \7f504,18977
-static const char *default_C_suffixes \7fdefault_C_suffixes\ 1512,19313
-static const char default_C_help \7f515,19414
-static const char default_C_help \7f523,19851
-static const char *Cplusplus_suffixes \7fCplusplus_suffixes\ 1535,20461
-static const char Cplusplus_help \7f540,20659
-static const char *Cjava_suffixes \7fCjava_suffixes\ 1549,21114
-static char Cjava_help \7f551,21173
-static const char *Cobol_suffixes \7fCobol_suffixes\ 1556,21338
-static char Cobol_help \7f558,21403
-static const char *Cstar_suffixes \7fCstar_suffixes\ 1562,21544
-static const char *Erlang_suffixes \7fErlang_suffixes\ 1565,21608
-static const char Erlang_help \7f567,21674
-const char *Forth_suffixes \7fForth_suffixes\ 1571,21800
-static const char Forth_help \7f573,21858
-static const char *Fortran_suffixes \7fFortran_suffixes\ 1577,22009
-static const char Fortran_help \7f579,22086
-static const char *HTML_suffixes \7fHTML_suffixes\ 1582,22191
-static const char HTML_help \7f584,22265
-static const char *Lisp_suffixes \7fLisp_suffixes\ 1589,22453
-static const char Lisp_help \7f591,22557
-static const char *Lua_suffixes \7fLua_suffixes\ 1598,22872
-static const char Lua_help \7f600,22935
-static const char *Makefile_filenames \7fMakefile_filenames\ 1603,23011
-static const char Makefile_help \7f605,23134
-static const char *Objc_suffixes \7fObjc_suffixes\ 1609,23278
-static const char Objc_help \7f613,23400
-static const char *Pascal_suffixes \7fPascal_suffixes\ 1619,23715
-static const char Pascal_help \7f621,23779
-static const char *Perl_suffixes \7fPerl_suffixes\ 1626,23967
-static const char *Perl_interpreters \7fPerl_interpreters\ 1628,24029
-static const char Perl_help \7f630,24101
-static const char *PHP_suffixes \7fPHP_suffixes\ 1637,24452
-static const char PHP_help \7f639,24524
-static const char *plain_C_suffixes \7fplain_C_suffixes\ 1643,24679
-static const char *PS_suffixes \7fPS_suffixes\ 1647,24763
-static const char PS_help \7f649,24849
-static const char *Prolog_suffixes \7fProlog_suffixes\ 1652,24932
-static const char Prolog_help \7f654,24994
-static const char *Python_suffixes \7fPython_suffixes\ 1658,25108
-static const char Python_help \7f660,25166
-static const char *Scheme_suffixes \7fScheme_suffixes\ 1665,25348
-static const char Scheme_help \7f667,25461
-static const char *TeX_suffixes \7fTeX_suffixes\ 1672,25684
-static const char TeX_help \7f674,25782
-static const char *Texinfo_suffixes \7fTexinfo_suffixes\ 1686,26317
-static const char Texinfo_help \7f688,26396
-static const char *Yacc_suffixes \7fYacc_suffixes\ 1691,26493
-static const char Yacc_help \7f693,26607
-static const char auto_help \7f699,26857
-static const char none_help \7f703,27021
-static const char no_lang_help \7f707,27144
-static language lang_names \7f718,27356
-print_language_names \7f753,29533
-# define EMACS_NAME \7f786,30756
-# define VERSION \7f789,30812
-print_version \7f792,30870
-# define PRINT_UNDOCUMENTED_OPTIONS_HELP \7f804,31174
-print_help \7f808,31251
-main \7f981,37439
-get_compressor_from_suffix \7f1319,46218
-get_language_from_langname \7f1355,47159
-get_language_from_interpreter \7f1377,47546
-get_language_from_filename \7f1399,47977
-process_file_name \7f1433,48835
-process_file \7f1555,51666
-init \7f1632,54151
-find_entries \7f1656,54902
-make_tag \7f1814,59708
-pfnote \7f1856,60943
-free_tree \7f1917,62745
-free_fdesc \7f1935,63030
-add_node \7f1955,63473
-invalidate_nodes \7f2035,65538
-static int total_size_of_entries \7f2067,66151
-static int number_len \7f2068,66194
-total_size_of_entries \7f2087,66695
-put_entries \7f2107,67155
-#define C_EXT  \7f2193,68996
-#define C_PLAIN \7f2194,69038
-#define C_PLPL \7f2195,69071
-#define C_STAR \7f2196,69105
-#define C_JAVA \7f2197,69138
-#define C_AUTO \7f2198,69173
-#define YACC   \7f2199,69243
-enum sym_type\7f2204,69313
-  st_none,\7f2206,69329
-  st_C_objprot,\7f2207,69340
-  st_C_objprot, st_C_objimpl,\7f2207,69340
-  st_C_objprot, st_C_objimpl, st_C_objend,\7f2207,69340
-  st_C_gnumacro,\7f2208,69383
-  st_C_ignore,\7f2209,69400
-  st_C_ignore, st_C_attribute,\7f2209,69400
-  st_C_javastruct,\7f2210,69431
-  st_C_operator,\7f2211,69450
-  st_C_class,\7f2212,69467
-  st_C_class, st_C_template,\7f2212,69467
-  st_C_struct,\7f2213,69496
-  st_C_struct, st_C_extern,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum, st_C_define,\7f2213,69496
-  st_C_struct, st_C_extern, st_C_enum, st_C_define, st_C_typedef\7f2213,69496
-struct C_stab_entry \7f2271,71279
-struct C_stab_entry { const char *name;\7fname\ 12271,71279
-struct C_stab_entry { const char *name; int c_ext;\7f2271,71279
-struct C_stab_entry { const char *name; int c_ext; enum sym_type type;\7f2271,71279
-hash \7f2275,71410
-in_word_set \7f2321,72938
-      TOTAL_KEYWORDS \7f2325,73019
-      MIN_WORD_LENGTH \7f2326,73046
-      MAX_WORD_LENGTH \7f2327,73073
-      MIN_HASH_VALUE \7f2328,73101
-      MAX_HASH_VALUE \7f2329,73127
-C_symtype \7f2387,74986
-static bool inattribute;\7f2400,75235
-  fvnone,\7f2408,75436
-  fdefunkey,\7f2409,75467
-  fdefunname,\7f2410,75513
-  foperator,\7f2411,75557
-  fvnameseen,\7f2412,75614
-  fstartlist,\7f2413,75667
-  finlist,\7f2414,75723
-  flistseen,\7f2415,75766
-  fignore,\7f2416,75814
-  vignore      \7f2417,75857
-} fvdef;\7f2418,75902
-static bool fvextern;\7f2420,75912
-  tnone,\7f2428,76090
-  tkeyseen,\7f2429,76120
-  ttypeseen,\7f2430,76161
-  tinbody,\7f2431,76200
-  tend,\7f2432,76239
-  tignore      \7f2433,76280
-} typdef;\7f2434,76321
-  snone,\7f2443,76500
-  skeyseen,\7f2445,76576
-  stagseen,\7f2446,76621
-  scolonseen   \7f2447,76662
-} structdef;\7f2448,76716
-static const char *objtag \7fobjtag\ 12453,76810
-  dnone,\7f2460,76943
-  dsharpseen,\7f2461,76973
-  ddefineseen,\7f2462,77026
-  dignorerest  \7f2463,77071
-} definedef;\7f2464,77113
-  onone,\7f2472,77268
-  oprotocol,\7f2473,77298
-  oimplementation,\7f2474,77348
-  otagseen,\7f2475,77396
-  oparenseen,\7f2476,77432
-  ocatseen,\7f2477,77487
-  oinbody,\7f2478,77526
-  omethodsign,\7f2479,77569
-  omethodtag,\7f2480,77627
-  omethodcolon,\7f2481,77667
-  omethodparm,\7f2482,77710
-  oignore      \7f2483,77756
-} objdef;\7f2484,77788
-static struct tok\7f2491,77945
-  char *line;\7fline\ 12493,77965
-  int offset;\7f2494,78015
-  int length;\7f2495,78068
-  bool valid;\7f2502,78353
-  bool named;\7f2505,78488
-  int lineno;\7f2506,78529
-  long linepos;\7f2507,78577
-} token;\7f2508,78627
-static void pushclass_above \7f2514,78785
-static void popclass_above \7f2515,78833
-static void write_classname \7f2516,78867
-  char **cname;\7fcname\ 12519,78951
-  int *bracelev;\7fbracelev\ 12520,78994
-  int nl;\7f2521,79043
-  int size;\7f2522,79097
-} cstack;\7f2523,79137
-#define nestlev        \7f2525,79265
-#define instruct       \7f2527,79370
-pushclass_above \7f2531,79490
-popclass_above \7f2550,79949
-write_classname \7f2564,80163
-static bool consider_token \7f2592,80762
-static void make_C_tag \7f2593,80834
-consider_token \7f2613,81342
-  long linepos;\7f2922,88500
-  linebuffer lb;\7f2923,88516
-} lbs[\7flbs\ 12924,88533
-#define current_lb_is_new \7f2926,88544
-#define switch_line_buffers(\7f2927,88589
-#define curlb \7f2929,88642
-#define newlb \7f2930,88673
-#define curlinepos \7f2931,88704
-#define newlinepos \7f2932,88745
-#define plainc \7f2934,88787
-#define cplpl \7f2935,88831
-#define cjava \7f2936,88862
-#define CNL_SAVE_DEFINEDEF(\7f2938,88906
-#define CNL(\7f2947,89118
-make_C_tag \7f2960,89376
-C_entries \7f2986,90195
-default_C_entries \7f3833,110157
-plain_C_entries \7f3840,110277
-Cplusplus_entries \7f3847,110365
-Cjava_entries \7f3854,110461
-Cstar_entries \7f3861,110551
-Yacc_entries \7f3868,110643
-#define LOOP_ON_INPUT_LINES(\7f3875,110721
-#define LOOKING_AT(\7f3884,111057
-#define LOOKING_AT_NOCASE(\7f3891,111462
-just_read_file \7f3901,111862
-static void F_takeprec \7f3910,111966
-static void F_getit \7f3911,111997
-F_takeprec \7f3914,112040
-F_getit \7f3937,112367
-Fortran_functions \7f3961,112841
-Ada_getit \7f4052,114670
-Ada_funcs \7f4115,116045
-Asm_labels \7f4228,118583
-Perl_functions \7f4261,119550
-Python_functions \7f4357,122058
-PHP_functions \7f4387,122685
-Cobol_paragraphs \7f4466,124472
-Makefile_targets \7f4494,125030
-Pascal_functions \7f4529,125951
-static void L_getit \7f4706,130278
-L_getit \7f4709,130319
-Lisp_functions \7f4725,130665
-Lua_functions \7f4785,131851
-PS_functions \7f4811,132386
-Forth_words \7f4841,133054
-Scheme_functions \7f4877,134093
-static linebuffer *TEX_toktab \7fTEX_toktab\ 14908,134782
-static const char *TEX_defenv \7fTEX_defenv\ 14912,134975
-static void TEX_mode \7f4917,135173
-static void TEX_decode_env \7f4918,135204
-static char TEX_esc \7f4920,135262
-static char TEX_opgrp \7f4921,135290
-static char TEX_clgrp \7f4922,135319
-TeX_commands \7f4928,135396
-#define TEX_LESC \7f4986,136653
-#define TEX_SESC \7f4987,136675
-TEX_mode \7f4992,136805
-TEX_decode_env \7f5026,137510
-Texinfo_nodes \7f5071,138555
-HTML_labels \7f5094,139014
-static size_t prolog_pr \7f5214,142193
-static void prolog_skip_comment \7f5215,142235
-static size_t prolog_atom \7f5216,142291
-Prolog_functions \7f5219,142348
-prolog_skip_comment \7f5255,143129
-prolog_pr \7f5281,143737
-prolog_atom \7f5319,144629
-static int erlang_func \7f5374,145541
-static void erlang_attribute \7f5375,145582
-static int erlang_atom \7f5376,145621
-Erlang_functions \7f5379,145667
-erlang_func \7f5438,146966
-erlang_attribute \7f5476,147643
-erlang_atom \7f5496,148062
-static char *scan_separators \7fscan_separators\ 15520,148488
-static void add_regex \7f5521,148527
-static char *substitute \7fsubstitute\ 15522,148571
-scan_separators \7f5534,149081
-analyze_regex \7f5586,150461
-add_regex \7f5654,152051
-substitute \7f5767,154798
-free_regexps \7f5814,155838
-regex_tag_multiline \7f5836,156292
-nocase_tail \7f5913,158264
-get_tag \7f5928,158520
-readline_internal \7f5959,159456
-readline \7f6037,161297
-savestr \7f6230,167244
-savenstr \7f6240,167474
-skip_spaces \7f6249,167680
-skip_non_spaces \7f6258,167834
-skip_name \7f6267,167984
-fatal \7f6277,168157
-pfatal \7f6284,168254
-suggest_asking_for_help \7f6291,168333
-error \7f6300,168555
-concat \7f6313,168847
-etags_getcwd \7f6329,169260
-relative_filename \7f6350,169726
-absolute_filename \7f6389,170752
-absolute_dirname \7f6453,172417
-filename_is_absolute \7f6472,172846
-canonicalize_filename \7f6484,173097
-# define ISUPPER(\7f6491,173236
-linebuffer_init \7f6514,173657
-linebuffer_setlen \7f6524,173888
-xmalloc \7f6536,174149
-xrealloc \7f6545,174315
-\f
-c-src/exit.c,99
-    size_t n;\7f28,972
-    void EXFUN((*fn[\7ffn\ 129,986
-  } __libc_atexit;\7f30,1022
-DEFUN(exit,\7f38,1263
-\f
-c-src/exit.strange_suffix,99
-    size_t n;\7f28,972
-    void EXFUN((*fn[\7ffn\ 129,986
-  } __libc_atexit;\7f30,1022
-DEFUN(exit,\7f38,1263
-\f
-c-src/sysdep.h,491
-#define        ENTRY(\7f21,875
-#define        PSEUDO(\7f26,982
-    movl $SYS_##syscall_nam\7f$SYS_##syscall_na\ 131,1142
-    movl $SYS_##syscall_name, %eax;\7feax\ 131,1142
-    int $0x80;\7f32,1190
-    test %eax,\7feax\ 133,1220
-    test %eax, %eax;\7feax\ 133,1220
-    jl syscall_error;\7f34,1255
-#define        XCHG_0  \7f47,1572
-#define        XCHG_1  \7f48,1616
-#define        XCHG_2  \7f49,1658
-#define        XCHG_3  \7f50,1701
-#define        XCHG_4  \7f51,1744
-#define        XCHG_5  \7f52,1787
-#define        r0      \7f54,1831
-#define        r1      \7f55,1885
-#define scratch \7f56,1942
-#define MOVE(\7f57,2011
-\f
-c-src/tab.c,196
-static int             count_words(\7f15,263
-static char            *get_word(\7fget_word\ 135,553
-void                   tab_free(\7f59,966
-char                   **tab_fill(\7ftab_fill\ 170,1129
-int                    tab_delete_first(\7f91,1638
-int                    tab_count_words(\7f103,1820
-\f
-c-src/dostorture.c,198
-(*tag1 \7ftag1\ 118,468
-#define notag2 \7f26,577
-(*tag2 \7ftag2\ 129,657
-(*tag3 \7ftag3\ 139,809
-#define notag4 \7f45,904
-(*tag4 \7ftag4\ 148,1001
-tag5 \7f57,1136
-tag6 \7f66,1272
-int pp1(\7f74,1389
-pp2\7f87,1504
-pp3(\7f100,1616
-\f
-c-src/emacs/src/gmalloc.c,7311
-#define USE_PTHREAD\7f25,1003
-#undef get_current_dir_name\7f33,1127
-extern void emacs_abort \7f47,1306
-#undef malloc\7f64,2111
-#undef realloc\7f65,2125
-#undef calloc\7f66,2140
-#undef free\7f67,2154
-#define malloc \7f68,2166
-#define realloc \7f69,2189
-#define calloc \7f70,2214
-#define aligned_alloc \7f71,2237
-#define free \7f72,2274
-extern void *bss_sbrk \7fbss_sbrk\ 176,2336
-extern int bss_sbrk_did_unexec;\7f77,2376
-extern char bss_sbrk_buffer[\7fbss_sbrk_buffer\ 178,2408
-extern void *bss_sbrk_buffer_end;\7fbss_sbrk_buffer_end\ 179,2439
-#define DUMPED \7f80,2473
-#define ALLOCATED_BEFORE_DUMPING(\7f81,2508
-extern void *malloc \7fmalloc\ 194,2719
-#define INT_BIT        \7f124,3935
-#define BLOCKLOG       \7f125,3978
-#define BLOCKSIZE      \7f126,4019
-#define BLOCKIFY(\7f127,4053
-#define HEAP   \7f131,4216
-#define FINAL_FREE_BLOCKS      \7f135,4392
-       int type;\7f145,4677
-               size_t nfree;\7f150,4721
-               size_t first;\7f151,4778
-             } frag;\7f152,4835
-           ptrdiff_t size;\7f156,5056
-         } info;\7f157,5077
-      } busy;\7f158,5088
-       size_t size;\7f163,5216
-       size_t next;\7f164,5273
-       size_t prev;\7f165,5322
-      } free;\7f166,5375
-  } malloc_info;\7f167,5389
-extern char *_heapbase;\7f_heapbase\ 1170,5450
-extern malloc_info *_heapinfo;\7f_heapinfo\ 1173,5542
-#define BLOCK(\7f176,5621
-#define ADDRESS(\7f177,5683
-extern size_t _heapindex;\7f180,5798
-extern size_t _heaplimit;\7f183,5867
-struct list\7f186,5940
-    struct list *next;\7fnext\ 1188,5956
-    struct list *prev;\7fprev\ 1189,5979
-extern struct list _fraghead[\7f_fraghead\ 1193,6057
-struct alignlist\7f196,6154
-    struct alignlist *next;\7fnext\ 1198,6175
-    void *aligned;\7faligned\ 1199,6203
-    void *exact;\7fexact\ 1200,6271
-extern struct alignlist *_aligned_blocks;\7f_aligned_blocks\ 1202,6335
-extern size_t _chunks_used;\7f205,6402
-extern size_t _bytes_used;\7f206,6430
-extern size_t _chunks_free;\7f207,6457
-extern size_t _bytes_free;\7f208,6485
-extern void *_malloc_internal \7f_malloc_internal\ 1213,6674
-extern void *_realloc_internal \7f_realloc_internal\ 1214,6714
-extern void _free_internal \7f215,6763
-extern void *_malloc_internal_nolock \7f_malloc_internal_nolock\ 1216,6800
-extern void *_realloc_internal_nolock \7f_realloc_internal_nolock\ 1217,6847
-extern void _free_internal_nolock \7f218,6903
-extern pthread_mutex_t _malloc_mutex,\7f221,6967
-extern pthread_mutex_t _malloc_mutex, _aligned_blocks_mutex;\7f221,6967
-extern int _malloc_thread_enabled_p;\7f222,7028
-#define LOCK(\7f223,7065
-#define UNLOCK(\7f228,7196
-#define LOCK_ALIGNED_BLOCKS(\7f233,7330
-#define UNLOCK_ALIGNED_BLOCKS(\7f238,7485
-#define LOCK(\7f244,7650
-#define UNLOCK(\7f245,7665
-#define LOCK_ALIGNED_BLOCKS(\7f246,7682
-#define UNLOCK_ALIGNED_BLOCKS(\7f247,7712
-extern void *malloc_find_object_address \7fmalloc_find_object_address\ 1252,7866
-extern void *(*__morecore)\7f__morecore\ 1256,8022
-extern void *__default_morecore \7f__default_morecore\ 1259,8106
-extern void (*__after_morecore_hook)\7f__after_morecore_hook\ 1263,8270
-extern size_t __malloc_extra_blocks;\7f267,8443
-extern int __malloc_initialized;\7f270,8553
-extern int __malloc_initialize \7f272,8647
-extern void (*__malloc_initialize_hook)\7f__malloc_initialize_hook\ 1275,8724
-extern void (*__free_hook)\7f__free_hook\ 1276,8772
-extern void *(*__malloc_hook)\7f__malloc_hook\ 1277,8812
-extern void *(*__realloc_hook)\7f__realloc_hook\ 1278,8857
-extern void *(*__memalign_hook)\7f__memalign_hook\ 1279,8914
-enum mcheck_status\7f283,9093
-    MCHECK_DISABLED \7f285,9116
-    MCHECK_OK,\7f286,9188
-    MCHECK_FREE,\7f287,9227
-    MCHECK_HEAD,\7f288,9271
-    MCHECK_TAIL        \7f289,9335
-extern int mcheck \7f296,9702
-extern enum mcheck_status mprobe \7f301,9953
-extern void mtrace \7f304,10056
-extern void muntrace \7f305,10083
-struct mstats\7f308,10154
-    size_t bytes_total;\7f310,10172
-    size_t chunks_used;\7f311,10226
-    size_t bytes_used;\7f312,10286
-    size_t chunks_free;\7f313,10352
-    size_t bytes_free;\7f314,10407
-extern struct mstats mstats \7f318,10519
-extern void memory_warnings \7f321,10626
-void *(*__malloc_hook)\7f__malloc_hook\ 1352,11745
-char *_heapbase;\7f_heapbase\ 1355,11831
-malloc_info *_heapinfo;\7f_heapinfo\ 1358,11929
-static size_t heapsize;\7f361,11985
-size_t _heapindex;\7f364,12049
-size_t _heaplimit;\7f367,12111
-struct list _fraghead[\7f_fraghead\ 1370,12173
-size_t _chunks_used;\7f373,12231
-size_t _bytes_used;\7f374,12252
-size_t _chunks_free;\7f375,12272
-size_t _bytes_free;\7f376,12293
-int __malloc_initialized;\7f379,12342
-size_t __malloc_extra_blocks;\7f381,12369
-void (*__malloc_initialize_hook)\7f__malloc_initialize_hook\ 1383,12400
-void (*__after_morecore_hook)\7f__after_morecore_hook\ 1384,12441
-static int state_protected_p;\7f400,12914
-static size_t last_state_size;\7f401,12944
-static malloc_info *last_heapinfo;\7flast_heapinfo\ 1402,12975
-protect_malloc_state \7f405,13016
-#define PROTECT_MALLOC_STATE(\7f426,13629
-#define PROTECT_MALLOC_STATE(\7f429,13699
-align \7f435,13796
-get_contiguous_space \7f466,14618
-register_heapinfo \7f497,15327
-pthread_mutex_t _malloc_mutex \7f517,15881
-pthread_mutex_t _aligned_blocks_mutex \7f518,15940
-int _malloc_thread_enabled_p;\7f519,16007
-malloc_atfork_handler_prepare \7f522,16050
-malloc_atfork_handler_parent \7f529,16141
-malloc_atfork_handler_child \7f536,16235
-malloc_enable_thread \7f544,16377
-malloc_initialize_1 \7f563,16963
-__malloc_initialize \7f594,17795
-static int morecore_recursing;\7f604,17928
-morecore_nolock \7f609,18068
-_malloc_internal_nolock \7f722,21586
-_malloc_internal \7f920,28104
-malloc \7f932,28249
-extern void *_malloc \7f_malloc\ 1956,29035
-extern void _free \7f957,29066
-extern void *_realloc \7f_realloc\ 1958,29094
-_malloc \7f961,29142
-_free \7f967,29198
-_realloc \7f973,29242
-void (*__free_hook)\7f__free_hook\ 11001,30262
-struct alignlist *_aligned_blocks \7f_aligned_blocks\ 11004,30348
-_free_internal_nolock \7f1009,30477
-_free_internal \7f1255,38479
-free \7f1265,38606
-weak_alias \7f1277,38802
-#define min(\7f1306,39817
-void *(*__realloc_hook)\7f__realloc_hook\ 11310,39902
-_realloc_internal_nolock \7f1319,40313
-_realloc_internal \7f1435,43567
-realloc \7f1447,43730
-calloc \7f1478,44899
-#define        __sbrk  \7f1513,46048
-extern void *__sbrk \7f__sbrk\ 11518,46253
-__default_morecore \7f1525,46517
-void *(*__memalign_hook)\7f__memalign_hook\ 11554,47463
-aligned_alloc \7f1557,47529
-memalign \7f1647,49711
-posix_memalign \7f1656,49916
-extern void *valloc \7fvalloc\ 11695,51148
-extern int getpagesize \7f1700,51286
-static size_t pagesize;\7f1703,51325
-valloc \7f1706,51357
-#undef malloc\7f1715,51498
-#undef realloc\7f1716,51512
-#undef calloc\7f1717,51527
-#undef aligned_alloc\7f1718,51541
-#undef free\7f1719,51562
-extern void *malloc \7fmalloc\ 11722,51617
-extern void *realloc \7frealloc\ 11723,51652
-extern void *calloc \7fcalloc\ 11724,51699
-extern void free \7f1725,51748
-extern void *aligned_alloc \7faligned_alloc\ 11727,51804
-extern int posix_memalign \7f1729,51898
-hybrid_malloc \7f1736,52091
-hybrid_calloc \7f1744,52196
-hybrid_free \7f1752,52327
-hybrid_aligned_alloc \7f1765,52634
-hybrid_realloc \7f1780,52990
-char *gget_current_dir_name \7fgget_current_dir_name\ 11808,53759
-hybrid_get_current_dir_name \7f1811,53803
-static void (*old_free_hook)\7fold_free_hook\ 11846,54928
-static void *(*old_malloc_hook)\7fold_malloc_hook\ 11847,54970
-static void *(*old_realloc_hook)\7fold_realloc_hook\ 11848,55017
-static void (*abortfunc)\7fabortfunc\ 11851,55131
-#define MAGICWORD      \7f1854,55213
-#define MAGICFREE      \7f1855,55268
-#define MAGICBYTE      \7f1856,55323
-#define MALLOCFLOOD    \7f1857,55355
-#define FREEFLOOD      \7f1858,55389
-struct hdr\7f1860,55422
-    size_t size;\7f1862,55437
-    size_t magic;\7f1863,55491
-checkhdr \7f1867,55588
-freehook \7f1891,56029
-mallochook \7f1927,56811
-reallochook \7f1944,57150
-mabort \7f1978,57908
-static int mcheck_used \7f2012,58593
-mcheck \7f2015,58626
-mprobe \7f2035,59145
-\f
-c-src/emacs/src/regex.h,5300
-#define _REGEX_H \7f21,837
-typedef unsigned long reg_syntax_t;\7f43,1578
-#define RE_BACKSLASH_ESCAPE_IN_LISTS \7f47,1750
-#define RE_BK_PLUS_QM \7f52,1970
-#define RE_CHAR_CLASSES \7f58,2299
-#define RE_CONTEXT_INDEP_ANCHORS \7f72,3033
-#define RE_CONTEXT_INDEP_OPS \7f80,3459
-#define RE_CONTEXT_INVALID_OPS \7f84,3659
-#define RE_DOT_NEWLINE \7f88,3802
-#define RE_DOT_NOT_NULL \7f92,3938
-#define RE_HAT_LISTS_NOT_NEWLINE \7f96,4083
-#define RE_INTERVALS \7f101,4293
-#define RE_LIMITED_OPS \7f105,4442
-#define RE_NEWLINE_ALT \7f109,4584
-#define RE_NO_BK_BRACES \7f114,4774
-#define RE_NO_BK_PARENS \7f118,4965
-#define RE_NO_BK_REFS \7f122,5121
-#define RE_NO_BK_VBAR \7f126,5317
-#define RE_NO_EMPTY_RANGES \7f132,5611
-#define RE_UNMATCHED_RIGHT_PAREN_ORD \7f136,5767
-#define RE_NO_POSIX_BACKTRACKING \7f140,5938
-#define RE_NO_GNU_OPS \7f144,6134
-#define RE_FRUGAL \7f147,6254
-#define RE_SHY_GROUPS \7f150,6361
-#define RE_NO_NEWLINE_ANCHOR \7f153,6469
-#define RE_DEBUG \7f161,6885
-extern reg_syntax_t re_syntax_options;\7f167,7171
-extern Lisp_Object re_match_object;\7f172,7345
-extern size_t re_max_failures;\7f176,7455
-#define RE_SYNTAX_EMACS        \7f183,7685
-#define RE_SYNTAX_AWK  \7f186,7781
-#define RE_SYNTAX_GNU_AWK      \7f193,8085
-#define RE_SYNTAX_POSIX_AWK \7f197,8256
-#define RE_SYNTAX_GREP \7f201,8394
-#define RE_SYNTAX_EGREP        \7f206,8550
-#define RE_SYNTAX_POSIX_EGREP  \7f212,8766
-#define RE_SYNTAX_ED \7f216,8911
-#define RE_SYNTAX_SED \7f218,8955
-#define _RE_SYNTAX_POSIX_COMMON        \7f221,9073
-#define RE_SYNTAX_POSIX_BASIC  \7f225,9216
-#define RE_SYNTAX_POSIX_MINIMAL_BASIC  \7f231,9509
-#define RE_SYNTAX_POSIX_EXTENDED       \7f234,9599
-#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED       \7f242,9968
-# undef RE_DUP_MAX\7f253,10455
-#define RE_DUP_MAX \7f256,10541
-#define REG_EXTENDED \7f263,10763
-#define REG_ICASE \7f267,10887
-#define REG_NEWLINE \7f272,11071
-#define REG_NOSUB \7f276,11249
-#define REG_NOTBOL \7f286,11615
-#define REG_NOTEOL \7f289,11689
-  REG_ENOSYS \7f297,11860
-  REG_NOERROR \7f300,11942
-  REG_NOMATCH,\7f301,11977
-  REG_BADPAT,\7f305,12124
-  REG_ECOLLATE,\7f306,12163
-  REG_ECTYPE,\7f307,12204
-  REG_EESCAPE,\7f308,12256
-  REG_ESUBREG,\7f309,12299
-  REG_EBRACK,\7f310,12346
-  REG_EPAREN,\7f311,12392
-  REG_EBRACE,\7f312,12437
-  REG_BADBR,\7f313,12473
-  REG_ERANGE,\7f314,12520
-  REG_ESPACE,\7f315,12561
-  REG_BADRPT,\7f316,12602
-  REG_EEND,\7f319,12694
-  REG_ESIZE,\7f320,12729
-  REG_ERPAREN,\7f321,12791
-  REG_ERANGEX  \7f322,12860
-} reg_errcode_t;\7f323,12912
-# define RE_TRANSLATE_TYPE \7f332,13274
-struct re_pattern_buffer\7f335,13316
-  unsigned char *buffer;\7fbuffer\ 1341,13539
-  size_t allocated;\7f344,13615
-  size_t used;\7f347,13687
-  reg_syntax_t syntax;\7f350,13770
-  char *fastmap;\7ffastmap\ 1355,13976
-  RE_TRANSLATE_TYPE translate;\7f361,14242
-  size_t re_nsub;\7f364,14330
-  unsigned can_be_null \7f370,14625
-#define REGS_UNALLOCATED \7f376,14890
-#define REGS_REALLOCATE \7f377,14917
-#define REGS_FIXED \7f378,14943
-  unsigned regs_allocated \7f379,14964
-  unsigned fastmap_accurate \7f383,15137
-  unsigned no_sub \7f387,15268
-  unsigned not_bol \7f391,15399
-  unsigned not_eol \7f394,15476
-  unsigned used_syntax \7f398,15656
-  unsigned multibyte \7f403,15806
-  unsigned target_multibyte \7f407,15942
-  int charset_unibyte;\7f410,16033
-typedef struct re_pattern_buffer regex_t;\7f416,16099
-typedef ssize_t regoff_t;\7f423,16493
-struct re_registers\7f428,16653
-  unsigned num_regs;\7f430,16675
-  regoff_t *start;\7fstart\ 1431,16696
-  regoff_t *end;\7fend\ 1432,16715
-# define RE_NREGS \7f440,16943
-  regoff_t rm_so;\7f449,17160
-  regoff_t rm_eo;\7f450,17240
-} regmatch_t;\7f451,17318
-extern reg_syntax_t re_set_syntax \7f457,17513
-extern const char *re_compile_pattern \7fre_compile_pattern\ 1462,17777
-extern int re_compile_fastmap \7f469,18059
-extern regoff_t re_search \7f477,18467
-extern regoff_t re_search_2 \7f485,18782
-extern regoff_t re_match \7f495,19178
-extern regoff_t re_match_2 \7f501,19408
-extern void re_set_registers \7f520,20198
-extern char *re_comp \7fre_comp\ 1528,20470
-extern int re_exec \7f529,20507
-#  define _Restrict_ \7f540,20887
-#  define _Restrict_ \7f542,20980
-#  define _Restrict_\7f544,21019
-#  define _Restrict_arr_ \7f555,21419
-#  define _Restrict_arr_\7f557,21462
-extern reg_errcode_t regcomp \7f562,21531
-extern reg_errcode_t regexec \7f566,21657
-extern size_t regerror \7f571,21851
-extern void regfree \7f574,21957
-#  define CHAR_CLASS_MAX_LENGTH \7f593,22471
-#  define CHAR_CLASS_MAX_LENGTH \7f597,22649
-typedef wctype_t re_wctype_t;\7f599,22693
-typedef wchar_t re_wchar_t;\7f600,22723
-# define re_wctype \7f601,22751
-# define re_iswctype \7f602,22777
-# define re_wctype_to_bit(\7f603,22807
-# define CHAR_CLASS_MAX_LENGTH \7f605,22845
-# define btowc(\7f606,22907
-typedef enum { RECC_ERROR \7f609,22954
-              RECC_ALNUM,\7f610,22985
-              RECC_ALNUM, RECC_ALPHA,\7f610,22985
-              RECC_ALNUM, RECC_ALPHA, RECC_WORD,\7f610,22985
-              RECC_GRAPH,\7f611,23028
-              RECC_GRAPH, RECC_PRINT,\7f611,23028
-              RECC_LOWER,\7f612,23060
-              RECC_LOWER, RECC_UPPER,\7f612,23060
-              RECC_PUNCT,\7f613,23092
-              RECC_PUNCT, RECC_CNTRL,\7f613,23092
-              RECC_DIGIT,\7f614,23124
-              RECC_DIGIT, RECC_XDIGIT,\7f614,23124
-              RECC_BLANK,\7f615,23157
-              RECC_BLANK, RECC_SPACE,\7f615,23157
-              RECC_MULTIBYTE,\7f616,23189
-              RECC_MULTIBYTE, RECC_NONASCII,\7f616,23189
-              RECC_ASCII,\7f617,23228
-              RECC_ASCII, RECC_UNIBYTE\7f617,23228
-} re_wctype_t;\7f618,23261
-extern char re_iswctype \7f620,23277
-extern re_wctype_t re_wctype \7f621,23330
-typedef int re_wchar_t;\7f623,23388
-extern void re_set_whitespace_regexp \7f625,23413
-\f
-c-src/emacs/src/keyboard.c,25243
-volatile int interrupt_input_blocked;\7f76,1809
-volatile bool pending_signals;\7f80,1945
-#define KBD_BUFFER_SIZE \7f82,1977
-KBOARD *initial_kboard;\7finitial_kboard\ 184,2007
-KBOARD *current_kboard;\7fcurrent_kboard\ 185,2031
-static KBOARD *all_kboards;\7fall_kboards\ 186,2055
-static bool single_kboard;\7f89,2155
-#define NUM_RECENT_KEYS \7f91,2183
-static int recent_keys_index;\7f94,2270
-static int total_keys;\7f97,2358
-static Lisp_Object recent_keys;\7f100,2444
-Lisp_Object this_command_keys;\7f107,2778
-ptrdiff_t this_command_key_count;\7f108,2809
-static bool this_command_key_count_reset;\7f112,2923
-static Lisp_Object raw_keybuf;\7f116,3075
-static int raw_keybuf_count;\7f117,3106
-#define GROW_RAW_KEYBUF        \7f119,3136
-static ptrdiff_t this_single_command_key_start;\7f125,3351
-static ptrdiff_t before_command_key_count;\7f129,3499
-static ptrdiff_t before_command_echo_length;\7f130,3542
-sigjmp_buf return_to_command_loop;\7f135,3678
-static Lisp_Object recover_top_level_message;\7f138,3792
-static Lisp_Object regular_top_level_message;\7f143,3931
-static sys_jmp_buf getcjmp;\7f147,4032
-bool waiting_for_input;\7f150,4096
-static bool echoing;\7f154,4187
-static struct kboard *ok_to_echo_at_next_pause;\7fok_to_echo_at_next_pause\ 1159,4329
-struct kboard *echo_kboard;\7fecho_kboard\ 1166,4633
-Lisp_Object echo_message_buffer;\7f171,4745
-bool immediate_quit;\7f174,4838
-int quit_char;\7f192,5624
-EMACS_INT command_loop_level;\7f195,5681
-Lisp_Object unread_switch_frame;\7f204,6109
-static ptrdiff_t last_non_minibuf_size;\7f207,6217
-uintmax_t num_input_events;\7f210,6335
-static EMACS_INT last_auto_save;\7f214,6429
-static ptrdiff_t last_point_position;\7f217,6524
-Lisp_Object internal_last_event_frame;\7f228,7029
-static Lisp_Object read_key_sequence_cmd;\7f232,7169
-static Lisp_Object read_key_sequence_remapped;\7f233,7211
-static FILE *dribble;\7fdribble\ 1236,7311
-bool input_pending;\7f239,7369
-static bool input_was_pending;\7f287,10023
-static struct input_event kbd_buffer[\7fkbd_buffer\ 1291,10108
-static struct input_event *kbd_fetch_ptr;\7fkbd_fetch_ptr\ 1297,10387
-static struct input_event * volatile kbd_store_ptr;\7f302,10602
-static void recursive_edit_unwind \7f313,11089
-static Lisp_Object command_loop \7f314,11145
-static void echo_now \7f316,11186
-static ptrdiff_t echo_length \7f317,11215
-unsigned timers_run;\7f320,11297
-struct timespec *input_available_clear_time;\7finput_available_clear_time\ 1324,11409
-bool interrupt_input;\7f328,11574
-bool interrupts_deferred;\7f331,11672
-static struct timespec timer_idleness_start_time;\7f335,11747
-static struct timespec timer_last_idleness_start_time;\7f340,11917
-#define READABLE_EVENTS_DO_TIMERS_NOW  \7f346,12047
-#define READABLE_EVENTS_FILTER_EVENTS  \7f347,12095
-#define READABLE_EVENTS_IGNORE_SQUEEZABLES     \7f348,12143
-static void (*keyboard_init_hook)\7fkeyboard_init_hook\ 1351,12265
-static bool get_input_pending \7f353,12308
-static bool readable_events \7f354,12345
-static Lisp_Object read_char_x_menu_prompt \7f355,12380
-static Lisp_Object read_char_minibuf_menu_prompt \7f357,12503
-static Lisp_Object make_lispy_event \7f358,12572
-static Lisp_Object make_lispy_movement \7f359,12632
-static Lisp_Object modify_event_symbol \7f363,12841
-static Lisp_Object make_lispy_switch_frame \7f366,13051
-static Lisp_Object make_lispy_focus_in \7f367,13109
-static Lisp_Object make_lispy_focus_out \7f369,13189
-static bool help_char_p \7f371,13276
-static void save_getcjmp \7f372,13315
-static void restore_getcjmp \7f373,13355
-static Lisp_Object apply_modifiers \7f374,13398
-static void clear_event \7f375,13453
-static void restore_kboard_configuration \7f376,13501
-static void deliver_input_available_signal \7f378,13569
-static void handle_interrupt \7f380,13632
-static _Noreturn void quit_throw_to_read_char \7f381,13669
-static void process_special_events \7f382,13723
-static void timer_start_idle \7f383,13766
-static void timer_stop_idle \7f384,13803
-static void timer_resume_idle \7f385,13839
-static void deliver_user_signal \7f386,13877
-static char *find_user_signal_name \7ffind_user_signal_name\ 1387,13916
-static void store_user_signal_events \7f388,13958
-kset_echo_string \7f392,14089
-kset_kbd_queue \7f397,14185
-kset_keyboard_translate_table \7f402,14277
-kset_last_prefix_arg \7f407,14400
-kset_last_repeatable_command \7f412,14505
-kset_local_function_key_map \7f417,14626
-kset_overriding_terminal_local_map \7f422,14745
-kset_real_last_command \7f427,14878
-kset_system_key_syms \7f432,14987
-echo_add_key \7f443,15250
-echo_char \7f527,17528
-echo_dash \7f541,17814
-echo_now \7f586,19141
-cancel_echoing \7f635,20615
-echo_length \7f648,20923
-echo_truncate \7f660,21254
-add_command_key \7f672,21583
-recursive_edit_1 \7f697,22407
-record_auto_save \7f742,23849
-force_auto_save_soon \7f751,24017
-DEFUN ("recursive-edit", Frecursive_edit,\7f759,24138
-DEFUN ("recursive-edit", Frecursive_edit,\7frecursive-edit\ 1759,24138
-recursive_edit_unwind \7f804,25751
-any_kboard_state \7f817,26017
-single_kboard_state \7f838,26669
-not_single_kboard_state \7f848,26807
-struct kboard_stack\7f858,27069
-  KBOARD *kboard;\7fkboard\ 1860,27091
-  struct kboard_stack *next;\7fnext\ 1861,27109
-static struct kboard_stack *kboard_stack;\7fkboard_stack\ 1864,27142
-push_kboard \7f867,27190
-pop_kboard \7f879,27379
-temporarily_switch_to_single_kboard \7f914,28267
-record_single_kboard_state \7f943,29441
-restore_kboard_configuration \7f952,29625
-cmd_error \7f970,30081
-cmd_error_internal \7f1024,31514
-DEFUN ("command-error-default-function", Fcommand_error_default_function,\7f1043,32034
-DEFUN ("command-error-default-function", Fcommand_error_default_function,\7fcommand-error-default-function\ 11043,32034
-static Lisp_Object command_loop_2 \7f1086,33641
-static Lisp_Object top_level_1 \7f1087,33690
-command_loop \7f1094,33920
-command_loop_2 \7f1134,35139
-top_level_2 \7f1146,35343
-top_level_1 \7f1152,35421
-DEFUN ("top-level", Ftop_level,\7f1164,35791
-DEFUN ("top-level", Ftop_level,\7ftop-level\ 11164,35791
-user_error \7f1183,36292
-DEFUN ("exit-recursive-edit", Fexit_recursive_edit,\7f1189,36433
-DEFUN ("exit-recursive-edit", Fexit_recursive_edit,\7fexit-recursive-edit\ 11189,36433
-DEFUN ("abort-recursive-edit", Fabort_recursive_edit,\7f1201,36823
-DEFUN ("abort-recursive-edit", Fabort_recursive_edit,\7fabort-recursive-edit\ 11201,36823
-tracking_off \7f1216,37285
-DEFUN ("internal--track-mouse", Ftrack_mouse,\7f1234,37820
-DEFUN ("internal--track-mouse", Ftrack_mouse,\7ftrack-mouse\ 11234,37820
-bool ignore_mouse_drag_p;\7f1256,38396
-some_mouse_moved \7f1259,38445
-static int read_key_sequence \7f1282,38803
-static void adjust_point_for_property \7f1284,38921
-Lisp_Object last_undo_boundary;\7f1287,39036
-command_loop_1 \7f1294,39277
-read_menu_command \7f1649,50893
-adjust_point_for_property \7f1678,51621
-safe_run_hooks_1 \7f1831,57343
-safe_run_hooks_error \7f1841,57573
-safe_run_hook_funcall \7f1878,58580
-safe_run_hooks \7f1893,59062
-int poll_suppress_count;\7f1908,59401
-static struct atimer *poll_timer;\7fpoll_timer\ 11915,59491
-poll_for_input_1 \7f1919,59593
-poll_for_input \7f1930,59793
-start_polling \7f1942,60057
-input_polling_used \7f1979,61095
-stop_polling \7f1994,61394
-set_poll_suppress_count \7f2009,61763
-bind_polling_period \7f2029,62145
-make_ctrl_char \7f2048,62496
-show_help_echo \7f2113,64459
-static Lisp_Object kbd_buffer_get_event \7f2152,65488
-static void record_char \7f2154,65600
-static Lisp_Object help_form_saved_window_configs;\7f2156,65642
-read_char_help_form_unwind \7f2158,65705
-#define STOP_POLLING   \7f2166,65963
-#define RESUME_POLLING \7f2170,66088
-read_event_from_main_queue \7f2175,66233
-read_decoded_event_from_main_queue \7f2249,68421
-#define MAX_ENCODED_BYTES \7f2254,68668
-echo_keystrokes_p \7f2342,71560
-read_char \7f2376,72852
-record_menu_key \7f3225,98953
-help_char_p \7f3258,99678
-record_char \7f3273,99957
-save_getcjmp \7f3412,104239
-restore_getcjmp \7f3418,104330
-readable_events \7f3430,104701
-int stop_character EXTERNALLY_VISIBLE;\7f3497,106441
-event_to_kboard \7f3500,106497
-kbd_buffer_nr_stored \7f3522,107146
-kbd_buffer_store_event \7f3534,107487
-kbd_buffer_store_event_hold \7f3550,108029
-kbd_buffer_unget_event \7f3684,111621
-#define INPUT_EVENT_POS_MAX \7f3698,112022
-#define INPUT_EVENT_POS_MIN \7f3701,112151
-position_to_Time \7f3706,112291
-Time_to_position \7f3716,112518
-gen_help_event \7f3738,113175
-kbd_buffer_store_help_event \7f3756,113615
-discard_mouse_events \7f3773,113980
-kbd_buffer_events_waiting \7f3803,114715
-clear_event \7f3823,115072
-kbd_buffer_get_event \7f3836,115412
-process_special_events \7f4258,127885
-swallow_events \7f4322,129709
-timer_start_idle \7f4339,130102
-timer_stop_idle \7f4355,130580
-timer_resume_idle \7f4363,130724
-struct input_event last_timer_event EXTERNALLY_VISIBLE;\7f4372,130916
-Lisp_Object pending_funcalls;\7f4377,131176
-decode_timer \7f4381,131297
-timer_check_2 \7f4414,132250
-timer_check \7f4572,136821
-DEFUN ("current-idle-time", Fcurrent_idle_time,\7f4607,137666
-DEFUN ("current-idle-time", Fcurrent_idle_time,\7fcurrent-idle-time\ 14607,137666
-static Lisp_Object accent_key_syms;\7f4625,138243
-static Lisp_Object func_key_syms;\7f4626,138279
-static Lisp_Object mouse_syms;\7f4627,138313
-static Lisp_Object wheel_syms;\7f4628,138344
-static Lisp_Object drag_n_drop_syms;\7f4629,138375
-static const int lispy_accent_codes[\7flispy_accent_codes\ 14634,138520
-static const char *const lispy_accent_keys[\7flispy_accent_keys\ 14741,139882
-#define FUNCTION_KEY_OFFSET \7f4766,140318
-const char *const lispy_function_keys[\7flispy_function_keys\ 14768,140351
-static const char *const lispy_multimedia_keys[\7flispy_multimedia_keys\ 14962,148905
-static const char *const lispy_kana_keys[\7flispy_kana_keys\ 15026,150139
-#define FUNCTION_KEY_OFFSET \7f5061,151755
-static const char *const lispy_function_keys[\7flispy_function_keys\ 15065,151898
-#define ISO_FUNCTION_KEY_OFFSET \7f5149,154433
-static const char *const iso_lispy_function_keys[\7fiso_lispy_function_keys\ 15151,154473
-static Lisp_Object Vlispy_mouse_stem;\7f5172,155332
-static const char *const lispy_wheel_names[\7flispy_wheel_names\ 15174,155371
-static const char *const lispy_drag_n_drop_names[\7flispy_drag_n_drop_names\ 15181,155623
-static short const scroll_bar_parts[\7fscroll_bar_parts\ 15189,155889
-static Lisp_Object button_down_location;\7f5210,156914
-static int last_mouse_button;\7f5215,157069
-static int last_mouse_x;\7f5216,157099
-static int last_mouse_y;\7f5217,157124
-static Time button_down_time;\7f5218,157149
-static int double_click_count;\7f5222,157233
-make_lispy_position \7f5228,157394
-toolkit_menubar_in_use \7f5456,163957
-make_scroll_bar_position \7f5469,164325
-make_lispy_event \7f5485,164971
-make_lispy_movement \7f6104,183534
-make_lispy_switch_frame \7f6131,184265
-make_lispy_focus_in \7f6137,184372
-make_lispy_focus_out \7f6145,184498
-parse_modifiers_uncached \7f6163,184948
-#define SINGLE_LETTER_MOD(\7f6185,185468
-#undef SINGLE_LETTER_MOD\7f6212,185909
-#define MULTI_LETTER_MOD(\7f6214,185935
-#undef MULTI_LETTER_MOD\7f6231,186403
-apply_modifiers_uncached \7f6273,187577
-static const char *const modifier_names[\7fmodifier_names\ 16319,189196
-#define NUM_MOD_NAMES \7f6325,189402
-static Lisp_Object modifier_symbols;\7f6327,189452
-lispy_modifier_list \7f6331,189589
-#define KEY_TO_CHAR(\7f6353,190255
-parse_modifiers \7f6356,190331
-DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,\7f6399,191520
-DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,\7fevent-symbol-parse-modifiers\ 16399,191520
-apply_modifiers \7f6422,192394
-reorder_modifiers \7f6491,194723
-modify_event_symbol \7f6536,196531
-DEFUN ("event-convert-list", Fevent_convert_list,\7f6628,199247
-DEFUN ("event-convert-list", Fevent_convert_list,\7fevent-convert-list\ 16628,199247
-parse_solitary_modifier \7f6695,201138
-#define SINGLE_LETTER_MOD(\7f6701,201261
-#define MULTI_LETTER_MOD(\7f6705,201346
-#undef SINGLE_LETTER_MOD\7f6763,202644
-#undef MULTI_LETTER_MOD\7f6764,202669
-lucid_event_type_list_p \7f6775,202892
-get_input_pending \7f6814,203963
-record_asynch_buffer_change \7f6834,204582
-gobble_input \7f6872,205705
-tty_read_avail_input \7f6967,208313
-handle_async_input \7f7149,214042
-process_pending_signals \7f7165,214362
-unblock_input_to \7f7177,214648
-unblock_input \7f7200,215280
-totally_unblock_input \7f7209,215448
-handle_input_available_signal \7f7217,215532
-deliver_input_available_signal \7f7226,215703
-struct user_signal_info\7f7235,215868
-  int sig;\7f7238,215918
-  char *name;\7fname\ 17241,215959
-  int npending;\7f7244,216010
-  struct user_signal_info *next;\7fnext\ 17246,216027
-static struct user_signal_info *user_signals \7fuser_signals\ 17250,216093
-add_user_signal \7f7253,216152
-handle_user_signal \7f7275,216601
-deliver_user_signal \7f7316,217561
-find_user_signal_name \7f7322,217662
-store_user_signal_events \7f7334,217844
-static void menu_bar_item \7f7362,218344
-static Lisp_Object menu_bar_one_keymap_changed_items;\7f7363,218419
-static Lisp_Object menu_bar_items_vector;\7f7368,218633
-static int menu_bar_items_index;\7f7369,218675
-static const char *separator_names[\7fseparator_names\ 17372,218710
-menu_separator_name_p \7f7393,219151
-menu_bar_items \7f7426,219855
-Lisp_Object item_properties;\7f7568,224606
-menu_bar_item \7f7571,224648
-menu_item_eval_property_1 \7f7647,227178
-eval_dyn \7f7658,227468
-menu_item_eval_property \7f7666,227678
-parse_menu_item \7f7686,228344
-static Lisp_Object tool_bar_items_vector;\7f7965,236339
-static Lisp_Object tool_bar_item_properties;\7f7970,236513
-static int ntool_bar_items;\7f7974,236609
-static void init_tool_bar_items \7f7978,236667
-static void process_tool_bar_item \7f7979,236714
-static bool parse_tool_bar_item \7f7981,236804
-static void append_tool_bar_item \7f7982,236864
-tool_bar_items \7f7990,237086
-process_tool_bar_item \7f8075,239895
-#define PROP(\7f8112,240972
-set_prop \7f8114,241041
-parse_tool_bar_item \7f8167,242456
-#undef PROP\7f8379,248847
-init_tool_bar_items \7f8387,248972
-append_tool_bar_item \7f8401,249264
-read_char_x_menu_prompt \7f8443,250774
-read_char_minibuf_menu_prompt \7f8503,252448
-#define PUSH_C_STR(\7f8527,253017
-follow_key \7f8726,258556
-active_maps \7f8733,258698
-typedef struct keyremap\7f8742,259024
-  Lisp_Object parent;\7f8745,259110
-  Lisp_Object map;\7f8748,259227
-  int start,\7f8753,259449
-  int start, end;\7f8753,259449
-} keyremap;\7f8754,259467
-access_keymap_keyremap \7f8764,259811
-keyremap_step \7f8811,261453
-test_undefined \7f8867,262937
-read_key_sequence \7f8916,264864
-read_key_sequence_vs \7f9826,295824
-DEFUN ("read-key-sequence", Fread_key_sequence,\7f9885,297297
-DEFUN ("read-key-sequence", Fread_key_sequence,\7fread-key-sequence\ 19885,297297
-DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,\7f9938,299985
-DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,\7fread-key-sequence-vector\ 19938,299985
-detect_input_pending \7f9950,300491
-detect_input_pending_ignore_squeezables \7f9959,300657
-detect_input_pending_run_timers \7f9967,300873
-clear_input_pending \7f9985,301365
-requeued_events_pending_p \7f9997,301735
-DEFUN ("input-pending-p", Finput_pending_p,\7f10002,301816
-DEFUN ("input-pending-p", Finput_pending_p,\7finput-pending-p\ 110002,301816
-DEFUN ("recent-keys", Frecent_keys,\7f10024,302599
-DEFUN ("recent-keys", Frecent_keys,\7frecent-keys\ 110024,302599
-DEFUN ("this-command-keys", Fthis_command_keys,\7f10055,303520
-DEFUN ("this-command-keys", Fthis_command_keys,\7fthis-command-keys\ 110055,303520
-DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,\7f10068,303961
-DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,\7fthis-command-keys-vector\ 110068,303961
-DEFUN ("this-single-command-keys", Fthis_single_command_keys,\7f10080,304383
-DEFUN ("this-single-command-keys", Fthis_single_command_keys,\7fthis-single-command-keys\ 110080,304383
-DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,\7f10096,304958
-DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,\7fthis-single-command-raw-keys\ 110096,304958
-DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,\7f10109,305498
-DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,\7freset-this-command-lengths\ 110109,305498
-DEFUN ("clear-this-command-keys", Fclear_this_command_keys,\7f10136,306513
-DEFUN ("clear-this-command-keys", Fclear_this_command_keys,\7fclear-this-command-keys\ 110136,306513
-DEFUN ("recursion-depth", Frecursion_depth,\7f10158,307072
-DEFUN ("recursion-depth", Frecursion_depth,\7frecursion-depth\ 110158,307072
-DEFUN ("open-dribble-file", Fopen_dribble_file,\7f10169,307409
-DEFUN ("open-dribble-file", Fopen_dribble_file,\7fopen-dribble-file\ 110169,307409
-DEFUN ("discard-input", Fdiscard_input,\7f10203,308450
-DEFUN ("discard-input", Fdiscard_input,\7fdiscard-input\ 110203,308450
-DEFUN ("suspend-emacs", Fsuspend_emacs,\7f10225,308952
-DEFUN ("suspend-emacs", Fsuspend_emacs,\7fsuspend-emacs\ 110225,308952
-stuff_buffered_input \7f10285,311048
-set_waiting_for_input \7f10323,312019
-clear_waiting_for_input \7f10337,312393
-handle_interrupt_signal \7f10351,312757
-deliver_interrupt_signal \7f10378,313645
-static int volatile force_quit_count;\7f10387,313935
-handle_interrupt \7f10401,314417
-quit_throw_to_read_char \7f10541,318714
-DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,\7f10562,319291
-DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,\7fset-input-interrupt-mode\ 110562,319291
-DEFUN ("set-output-flow-control", Fset_output_flow_control,\7f10609,320519
-DEFUN ("set-output-flow-control", Fset_output_flow_control,\7fset-output-flow-control\ 110609,320519
-DEFUN ("set-input-meta-mode", Fset_input_meta_mode,\7f10643,321435
-DEFUN ("set-input-meta-mode", Fset_input_meta_mode,\7fset-input-meta-mode\ 110643,321435
-DEFUN ("set-quit-char", Fset_quit_char,\7f10694,322709
-DEFUN ("set-quit-char", Fset_quit_char,\7fset-quit-char\ 110694,322709
-DEFUN ("set-input-mode", Fset_input_mode,\7f10729,323573
-DEFUN ("set-input-mode", Fset_input_mode,\7fset-input-mode\ 110729,323573
-DEFUN ("current-input-mode", Fcurrent_input_mode,\7f10750,324462
-DEFUN ("current-input-mode", Fcurrent_input_mode,\7fcurrent-input-mode\ 110750,324462
-DEFUN ("posn-at-x-y", Fposn_at_x_y,\7f10787,325840
-DEFUN ("posn-at-x-y", Fposn_at_x_y,\7fposn-at-x-y\ 110787,325840
-DEFUN ("posn-at-point", Fposn_at_point,\7f10824,327063
-DEFUN ("posn-at-point", Fposn_at_point,\7fposn-at-point\ 110824,327063
-init_kboard \7f10861,328217
-allocate_kboard \7f10893,329287
-wipe_kboard \7f10909,329640
-delete_kboard \7f10917,329754
-init_keyboard \7f10942,330284
-struct event_head\7f11021,332699
-  short var;\7f11023,332719
-  short kind;\7f11024,332732
-static const struct event_head head_table[\7fhead_table\ 111027,332750
-syms_of_keyboard \7f11045,333580
-  DEFVAR_LISP ("internal--top-level-message"\7f11058,333975
-  DEFVAR_LISP ("last-command-event"\7f11312,342176
-  DEFVAR_LISP ("last-nonmenu-event"\7f11315,342300
-  DEFVAR_LISP ("last-input-event"\7f11321,342639
-  DEFVAR_LISP ("unread-command-events"\7f11324,342733
-  DEFVAR_LISP ("unread-post-input-method-events"\7f11332,343193
-  DEFVAR_LISP ("unread-input-method-events"\7f11338,343532
-  DEFVAR_LISP ("meta-prefix-char"\7f11346,343901
-  DEFVAR_KBOARD ("last-command"\7f11351,344109
-  DEFVAR_KBOARD ("real-last-command"\7f11368,344790
-  DEFVAR_KBOARD ("last-repeatable-command"\7f11372,344976
-  DEFVAR_LISP ("this-command"\7f11378,345264
-  DEFVAR_LISP ("real-this-command"\7f11384,345501
-  DEFVAR_LISP ("this-command-keys-shift-translated"\7f11388,345683
-  DEFVAR_LISP ("this-original-command"\7f11396,346126
-  DEFVAR_INT ("auto-save-interval"\7f11403,346523
-  DEFVAR_LISP ("auto-save-timeout"\7f11408,346737
-  DEFVAR_LISP ("echo-keystrokes"\7f11415,347082
-  DEFVAR_INT ("polling-period"\7f11421,347353
-  DEFVAR_LISP ("double-click-time"\7f11428,347696
-  DEFVAR_INT ("double-click-fuzz"\7f11435,348032
-  DEFVAR_INT ("num-input-keys"\7f11446,348522
-  DEFVAR_INT ("num-nonmacro-input-events"\7f11452,348797
-  DEFVAR_LISP ("last-event-frame"\7f11457,349035
-  DEFVAR_LISP ("tty-erase-char"\7f11463,349314
-  DEFVAR_LISP ("help-char"\7f11466,349437
-  DEFVAR_LISP ("help-event-list"\7f11472,349720
-  DEFVAR_LISP ("help-form"\7f11477,349931
-  DEFVAR_LISP ("prefix-help-command"\7f11483,350179
-  DEFVAR_LISP ("top-level"\7f11489,350457
-  DEFVAR_KBOARD ("keyboard-translate-table"\7f11495,350678
-  DEFVAR_BOOL ("cannot-suspend"\7f11511,351491
-  DEFVAR_BOOL ("menu-prompting"\7f11516,351718
-  DEFVAR_LISP ("menu-prompt-more-char"\7f11526,352148
-  DEFVAR_INT ("extra-keyboard-modifiers"\7f11531,352394
-  DEFVAR_LISP ("deactivate-mark"\7f11545,353120
-  DEFVAR_LISP ("pre-command-hook"\7f11553,353489
-  DEFVAR_LISP ("post-command-hook"\7f11560,353844
-  DEFVAR_LISP ("echo-area-clear-hook"\7f11568,354207
-  DEFVAR_LISP ("lucid-menu-bar-dirty-flag"\7f11574,354422
-  DEFVAR_LISP ("menu-bar-final-items"\7f11578,354625
-  DEFVAR_LISP ("tool-bar-separator-image-expression"\7f11583,354875
-  DEFVAR_KBOARD ("overriding-terminal-local-map"\7f11589,355233
-  DEFVAR_LISP ("overriding-local-map"\7f11598,355655
-  DEFVAR_LISP ("overriding-local-map-menu-flag"\7f11607,356106
-  DEFVAR_LISP ("special-event-map"\7f11613,356445
-  DEFVAR_LISP ("track-mouse"\7f11617,356633
-  DEFVAR_KBOARD ("system-key-alist"\7f11620,356760
-  DEFVAR_KBOARD ("local-function-key-map"\7f11629,357141
-  DEFVAR_KBOARD ("input-decode-map"\7f11658,358600
-  DEFVAR_LISP ("function-key-map"\7f11675,359388
-  DEFVAR_LISP ("key-translation-map"\7f11683,359804
-  DEFVAR_LISP ("deferred-action-list"\7f11689,360148
-  DEFVAR_LISP ("deferred-action-function"\7f11694,360396
-  DEFVAR_LISP ("delayed-warnings-list"\7f11700,360695
-  DEFVAR_LISP ("timer-list"\7f11708,361103
-  DEFVAR_LISP ("timer-idle-list"\7f11712,361255
-  DEFVAR_LISP ("input-method-function"\7f11716,361418
-  DEFVAR_LISP ("input-method-previous-message"\7f11737,362387
-  DEFVAR_LISP ("show-help-function"\7f11744,362748
-  DEFVAR_LISP ("disable-point-adjustment"\7f11749,362980
-  DEFVAR_LISP ("global-disable-point-adjustment"\7f11761,363530
-  DEFVAR_LISP ("minibuffer-message-timeout"\7f11770,363896
-  DEFVAR_LISP ("throw-on-input"\7f11775,364174
-  DEFVAR_LISP ("command-error-function"\7f11781,364425
-  DEFVAR_LISP ("enable-disabled-menus-and-buttons"\7f11790,364912
-  DEFVAR_LISP ("select-active-regions"\7f11798,365239
-  DEFVAR_LISP ("saved-region-selection"\7f11807,365631
-  DEFVAR_LISP ("selection-inhibit-update-commands"\7f11815,366016
-  DEFVAR_LISP ("debug-on-event"\7f11825,366557
-keys_of_keyboard \7f11841,367118
-mark_kboards \7f11916,370437
-  DEFVAR_LISP ("internal--top-level-message",\7f\1\ 111058,333975
-  DEFVAR_LISP ("last-command-event",\7f\1\ 111312,342176
-  DEFVAR_LISP ("last-nonmenu-event",\7f\1\ 111315,342300
-  DEFVAR_LISP ("last-input-event",\7f\1\ 111321,342639
-  DEFVAR_LISP ("unread-command-events",\7f\1\ 111324,342733
-  DEFVAR_LISP ("unread-post-input-method-events",\7f\1\ 111332,343193
-  DEFVAR_LISP ("unread-input-method-events",\7f\1\ 111338,343532
-  DEFVAR_LISP ("meta-prefix-char",\7f\1\ 111346,343901
-  DEFVAR_KBOARD ("last-command",\7f\1\ 111351,344109
-  DEFVAR_KBOARD ("real-last-command",\7f\1\ 111368,344790
-  DEFVAR_KBOARD ("last-repeatable-command",\7f\1\ 111372,344976
-  DEFVAR_LISP ("this-command",\7f\1\ 111378,345264
-  DEFVAR_LISP ("real-this-command",\7f\1\ 111384,345501
-  DEFVAR_LISP ("this-command-keys-shift-translated",\7f\1\ 111388,345683
-  DEFVAR_LISP ("this-original-command",\7f\1\ 111396,346126
-  DEFVAR_INT ("auto-save-interval",\7f\1\ 111403,346523
-  DEFVAR_LISP ("auto-save-timeout",\7f\1\ 111408,346737
-  DEFVAR_LISP ("echo-keystrokes",\7f\1\ 111415,347082
-  DEFVAR_INT ("polling-period",\7f\1\ 111421,347353
-  DEFVAR_LISP ("double-click-time",\7f\1\ 111428,347696
-  DEFVAR_INT ("double-click-fuzz",\7f\1\ 111435,348032
-  DEFVAR_INT ("num-input-keys",\7f\1\ 111446,348522
-  DEFVAR_INT ("num-nonmacro-input-events",\7f\1\ 111452,348797
-  DEFVAR_LISP ("last-event-frame",\7f\1\ 111457,349035
-  DEFVAR_LISP ("tty-erase-char",\7f\1\ 111463,349314
-  DEFVAR_LISP ("help-char",\7f\1\ 111466,349437
-  DEFVAR_LISP ("help-event-list",\7f\1\ 111472,349720
-  DEFVAR_LISP ("help-form",\7f\1\ 111477,349931
-  DEFVAR_LISP ("prefix-help-command",\7f\1\ 111483,350179
-  DEFVAR_LISP ("top-level",\7f\1\ 111489,350457
-  DEFVAR_KBOARD ("keyboard-translate-table",\7f\1\ 111495,350678
-  DEFVAR_BOOL ("cannot-suspend",\7f\1\ 111511,351491
-  DEFVAR_BOOL ("menu-prompting",\7f\1\ 111516,351718
-  DEFVAR_LISP ("menu-prompt-more-char",\7f\1\ 111526,352148
-  DEFVAR_INT ("extra-keyboard-modifiers",\7f\1\ 111531,352394
-  DEFVAR_LISP ("deactivate-mark",\7f\1\ 111545,353120
-  DEFVAR_LISP ("pre-command-hook",\7f\1\ 111553,353489
-  DEFVAR_LISP ("post-command-hook",\7f\1\ 111560,353844
-  DEFVAR_LISP ("echo-area-clear-hook",\7f\1\ 111568,354207
-  DEFVAR_LISP ("lucid-menu-bar-dirty-flag",\7f\1\ 111574,354422
-  DEFVAR_LISP ("menu-bar-final-items",\7f\1\ 111578,354625
-  DEFVAR_LISP ("tool-bar-separator-image-expression",\7f\1\ 111583,354875
-  DEFVAR_KBOARD ("overriding-terminal-local-map",\7f\1\ 111589,355233
-  DEFVAR_LISP ("overriding-local-map",\7f\1\ 111598,355655
-  DEFVAR_LISP ("overriding-local-map-menu-flag",\7f\1\ 111607,356106
-  DEFVAR_LISP ("special-event-map",\7f\1\ 111613,356445
-  DEFVAR_LISP ("track-mouse",\7f\1\ 111617,356633
-  DEFVAR_KBOARD ("system-key-alist",\7f\1\ 111620,356760
-  DEFVAR_KBOARD ("local-function-key-map",\7f\1\ 111629,357141
-  DEFVAR_KBOARD ("input-decode-map",\7f\1\ 111658,358600
-  DEFVAR_LISP ("function-key-map",\7f\1\ 111675,359388
-  DEFVAR_LISP ("key-translation-map",\7f\1\ 111683,359804
-  DEFVAR_LISP ("deferred-action-list",\7f\1\ 111689,360148
-  DEFVAR_LISP ("deferred-action-function",\7f\1\ 111694,360396
-  DEFVAR_LISP ("delayed-warnings-list",\7f\1\ 111700,360695
-  DEFVAR_LISP ("timer-list",\7f\1\ 111708,361103
-  DEFVAR_LISP ("timer-idle-list",\7f\1\ 111712,361255
-  DEFVAR_LISP ("input-method-function",\7f\1\ 111716,361418
-  DEFVAR_LISP ("input-method-previous-message",\7f\1\ 111737,362387
-  DEFVAR_LISP ("show-help-function",\7f\1\ 111744,362748
-  DEFVAR_LISP ("disable-point-adjustment",\7f\1\ 111749,362980
-  DEFVAR_LISP ("global-disable-point-adjustment",\7f\1\ 111761,363530
-  DEFVAR_LISP ("minibuffer-message-timeout",\7f\1\ 111770,363896
-  DEFVAR_LISP ("throw-on-input",\7f\1\ 111775,364174
-  DEFVAR_LISP ("command-error-function",\7f\1\ 111781,364425
-  DEFVAR_LISP ("enable-disabled-menus-and-buttons",\7f\1\ 111790,364912
-  DEFVAR_LISP ("select-active-regions",\7f\1\ 111798,365239
-  DEFVAR_LISP ("saved-region-selection",\7f\1\ 111807,365631
-  DEFVAR_LISP ("selection-inhibit-update-commands",\7f\1\ 111815,366016
-  DEFVAR_LISP ("debug-on-event",\7f\1\ 111825,366557
-\f
-c-src/emacs/src/lisp.h,41391
-#define EMACS_LISP_H\7f22,801
-#define DECLARE_GDB_SYM(\7f47,1422
-# define DEFINE_GDB_SYMBOL_BEGIN(\7f49,1509
-# define DEFINE_GDB_SYMBOL_END(\7f50,1579
-# define DEFINE_GDB_SYMBOL_BEGIN(\7f52,1626
-# define DEFINE_GDB_SYMBOL_END(\7f53,1703
-#undef min\7f57,1791
-#undef max\7f58,1802
-#define max(\7f59,1813
-#define min(\7f60,1855
-#define ARRAYELTS(\7f63,1937
-#define GCTYPEBITS \7f67,2080
-DEFINE_GDB_SYMBOL_BEGIN \7fGCTYPEBITS\ 166,2038
-# define NONPOINTER_BITS \7f78,2568
-# define NONPOINTER_BITS \7f80,2601
-typedef int EMACS_INT;\7f91,3024
-typedef unsigned int EMACS_UINT;\7f92,3047
-#  define EMACS_INT_MAX \7f93,3080
-#  define pI \7f94,3112
-typedef long int EMACS_INT;\7f96,3204
-typedef unsigned long EMACS_UINT;\7f97,3232
-#  define EMACS_INT_MAX \7f98,3266
-#  define pI \7f99,3299
-typedef long long int EMACS_INT;\7f103,3478
-typedef unsigned long long int EMACS_UINT;\7f104,3511
-#  define EMACS_INT_MAX \7f105,3554
-#  define pI \7f106,3588
-enum {  BOOL_VECTOR_BITS_PER_CHAR \7f114,3805
-#define BOOL_VECTOR_BITS_PER_CHAR \7f115,3841
-typedef size_t bits_word;\7f123,4166
-# define BITS_WORD_MAX \7f124,4192
-enum { BITS_PER_BITS_WORD \7f125,4224
-typedef unsigned char bits_word;\7f127,4291
-# define BITS_WORD_MAX \7f128,4324
-enum { BITS_PER_BITS_WORD \7f129,4387
-verify \7f131,4451
-    BITS_PER_CHAR \7f136,4571
-    BITS_PER_SHORT \7f137,4606
-    BITS_PER_LONG \7f138,4658
-    BITS_PER_EMACS_INT \7f139,4713
-typedef intmax_t printmax_t;\7f148,5090
-typedef uintmax_t uprintmax_t;\7f149,5119
-# define pMd \7f150,5150
-# define pMu \7f151,5171
-typedef EMACS_INT printmax_t;\7f153,5198
-typedef EMACS_UINT uprintmax_t;\7f154,5228
-# define pMd \7f155,5260
-# define pMu \7f156,5279
-# define pD \7f165,5665
-# define pD \7f167,5710
-# define pD \7f169,5757
-# define pD \7f171,5780
-# define eassert(\7f200,7063
-# define eassume(\7f201,7141
-extern _Noreturn void die \7f204,7207
-extern bool suppress_checking EXTERNALLY_VISIBLE;\7f206,7269
-# define eassert(\7f208,7320
-# define eassume(\7f212,7451
-enum Lisp_Bits\7f239,8520
-#define GCALIGNMENT \7f243,8648
-    VALBITS \7f246,8743
-    INTTYPEBITS \7f249,8839
-    FIXNUM_BITS \7f252,8946
-#define VAL_MAX \7f263,9328
-#define USE_LSB_TAG \7f271,9778
-DEFINE_GDB_SYMBOL_BEGIN \7fUSE_LSB_TAG\ 1270,9734
-# define alignas(\7f281,10078
-# define GCALIGNED \7f288,10228
-# define GCALIGNED \7f290,10293
-# define lisp_h_XLI(\7f327,11643
-# define lisp_h_XIL(\7f328,11674
-# define lisp_h_XLI(\7f330,11725
-# define lisp_h_XIL(\7f331,11752
-#define lisp_h_CHECK_LIST_CONS(\7f333,11786
-#define lisp_h_CHECK_NUMBER(\7f334,11857
-#define lisp_h_CHECK_SYMBOL(\7f335,11928
-#define lisp_h_CHECK_TYPE(\7f336,11997
-#define lisp_h_CONSP(\7f338,12108
-#define lisp_h_EQ(\7f339,12157
-#define lisp_h_FLOATP(\7f340,12202
-#define lisp_h_INTEGERP(\7f341,12253
-#define lisp_h_MARKERP(\7f342,12334
-#define lisp_h_MISCP(\7f343,12409
-#define lisp_h_NILP(\7f344,12458
-#define lisp_h_SET_SYMBOL_VAL(\7f345,12494
-#define lisp_h_SYMBOL_CONSTANT_P(\7f347,12608
-#define lisp_h_SYMBOL_VAL(\7f348,12672
-#define lisp_h_SYMBOLP(\7f350,12773
-#define lisp_h_VECTORLIKEP(\7f351,12826
-#define lisp_h_XCAR(\7f352,12887
-#define lisp_h_XCDR(\7f353,12925
-#define lisp_h_XCONS(\7f354,12965
-#define lisp_h_XHASH(\7f356,13060
-#define lisp_h_XPNTR(\7f357,13094
-# define lisp_h_check_cons_list(\7f360,13222
-# define lisp_h_make_number(\7f363,13290
-# define lisp_h_XFASTINT(\7f365,13393
-# define lisp_h_XINT(\7f366,13430
-# define lisp_h_XSYMBOL(\7f367,13479
-# define lisp_h_XTYPE(\7f371,13632
-# define lisp_h_XUNTAG(\7f372,13697
-# define XLI(\7f381,14087
-# define XIL(\7f382,14118
-# define CHECK_LIST_CONS(\7f383,14149
-# define CHECK_NUMBER(\7f384,14210
-# define CHECK_SYMBOL(\7f385,14259
-# define CHECK_TYPE(\7f386,14308
-# define CONSP(\7f387,14383
-# define EQ(\7f388,14418
-# define FLOATP(\7f389,14453
-# define INTEGERP(\7f390,14490
-# define MARKERP(\7f391,14531
-# define MISCP(\7f392,14570
-# define NILP(\7f393,14605
-# define SET_SYMBOL_VAL(\7f394,14638
-# define SYMBOL_CONSTANT_P(\7f395,14701
-# define SYMBOL_VAL(\7f396,14764
-# define SYMBOLP(\7f397,14813
-# define VECTORLIKEP(\7f398,14852
-# define XCAR(\7f399,14899
-# define XCDR(\7f400,14932
-# define XCONS(\7f401,14965
-# define XHASH(\7f402,15000
-# define XPNTR(\7f403,15035
-#  define check_cons_list(\7f405,15098
-#  define make_number(\7f408,15177
-#  define XFASTINT(\7f409,15225
-#  define XINT(\7f410,15267
-#  define XSYMBOL(\7f411,15301
-#  define XTYPE(\7f412,15341
-#  define XUNTAG(\7f413,15377
-#define LISP_MACRO_DEFUN(\7f421,15673
-#define LISP_MACRO_DEFUN_VOID(\7f425,15846
-#define INTMASK \7f437,16290
-#define case_Lisp_Int \7f438,16343
-#define ENUM_BF(\7f445,16682
-#define ENUM_BF(\7f447,16723
-enum Lisp_Type\7f451,16764
-    Lisp_Symbol \7f454,16852
-    Lisp_Misc \7f458,16994
-    Lisp_Int0 \7f461,17068
-    Lisp_Int1 \7f462,17087
-    Lisp_String \7f466,17265
-    Lisp_Vectorlike \7f472,17544
-    Lisp_Cons \7f475,17633
-    Lisp_Float \7f477,17671
-enum Lisp_Misc_Type\7f485,18017
-    Lisp_Misc_Free \7f487,18041
-    Lisp_Misc_Marker,\7f488,18070
-    Lisp_Misc_Overlay,\7f489,18092
-    Lisp_Misc_Save_Value,\7f490,18115
-    Lisp_Misc_Finalizer,\7f491,18141
-    Lisp_Misc_Float,\7f494,18276
-    Lisp_Misc_Limit\7f496,18360
-enum Lisp_Fwd_Type\7f502,18544
-    Lisp_Fwd_Int,\7f504,18567
-    Lisp_Fwd_Bool,\7f505,18620
-    Lisp_Fwd_Obj,\7f506,18671
-    Lisp_Fwd_Buffer_Obj,\7f507,18730
-    Lisp_Fwd_Kboard_Obj        \7f508,18801
-typedef struct { EMACS_INT i;\7f567,21772
-typedef struct { EMACS_INT i; } Lisp_Object;\7f567,21772
-#define LISP_INITIALLY(\7f569,21818
-#undef CHECK_LISP_OBJECT_TYPE\7f571,21849
-enum CHECK_LISP_OBJECT_TYPE \7f572,21879
-enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE \7f572,21879
-typedef EMACS_INT Lisp_Object;\7f577,22055
-#define LISP_INITIALLY(\7f578,22086
-enum CHECK_LISP_OBJECT_TYPE \7f579,22116
-enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE \7f579,22116
-#define LISP_INITIALLY_ZERO \7f582,22217
-INLINE bool BOOL_VECTOR_P \7f588,22341
-INLINE bool BUFFER_OBJFWDP \7f589,22382
-INLINE bool BUFFERP \7f590,22429
-INLINE bool CHAR_TABLE_P \7f591,22464
-INLINE Lisp_Object CHAR_TABLE_REF_ASCII \7f592,22504
-INLINE bool \7f593,22570
-INLINE bool \7f594,22605
-INLINE bool functionp \7f595,22641
-INLINE bool \7f596,22678
-INLINE bool \7f597,22716
-INLINE bool \7f598,22753
-INLINE bool \7f599,22788
-INLINE bool OVERLAYP \7f600,22822
-INLINE bool PROCESSP \7f601,22858
-INLINE bool PSEUDOVECTORP \7f602,22894
-INLINE bool SAVE_VALUEP \7f603,22940
-INLINE bool FINALIZERP \7f604,22979
-INLINE void set_sub_char_table_contents \7f605,23017
-INLINE bool STRINGP \7f607,23107
-INLINE bool SUB_CHAR_TABLE_P \7f608,23142
-INLINE bool SUBRP \7f609,23186
-INLINE bool \7f610,23219
-INLINE bool \7f611,23256
-INLINE bool WINDOWP \7f612,23297
-INLINE bool TERMINALP \7f613,23332
-INLINE struct Lisp_Save_Value *XSAVE_VALUE \7fXSAVE_VALUE\ 1614,23369
-INLINE struct Lisp_Finalizer *XFINALIZER \7fXFINALIZER\ 1615,23427
-INLINE struct Lisp_Symbol *(XSYMBOL)\7f616,23483
-INLINE void \7f617,23535
-extern Lisp_Object char_table_ref \7f620,23607
-extern void char_table_set \7f621,23661
-extern _Noreturn Lisp_Object wrong_type_argument \7f624,23748
-extern _Noreturn void wrong_choice \7f625,23825
-extern bool might_dump;\7f628,23916
-extern bool initialized;\7f631,24052
-extern double extract_float \7f634,24108
-enum symbol_interned\7f639,24190
-  SYMBOL_UNINTERNED \7f641,24213
-  SYMBOL_INTERNED \7f642,24238
-  SYMBOL_INTERNED_IN_INITIAL_OBARRAY \7f643,24261
-enum symbol_redirect\7f646,24306
-  SYMBOL_PLAINVAL \7f648,24329
-  SYMBOL_VARALIAS \7f649,24353
-  SYMBOL_LOCALIZED \7f650,24377
-  SYMBOL_FORWARDED \7f651,24401
-struct Lisp_Symbol\7f654,24428
-  bool_bf gcmarkbit \7f656,24449
-  ENUM_BF (symbol_redirect) redirect \7f663,24784
-  unsigned constant \7f668,25002
-  unsigned interned \7f672,25122
-  bool_bf declared_special \7f676,25284
-  bool_bf pinned \7f679,25385
-  Lisp_Object name;\7f682,25454
-    Lisp_Object value;\7f687,25622
-    struct Lisp_Symbol *alias;\7falias\ 1688,25645
-    struct Lisp_Buffer_Local_Value *blv;\7fblv\ 1689,25676
-    union Lisp_Fwd *fwd;\7ffwd\ 1690,25717
-  } val;\7f691,25742
-  Lisp_Object function;\7f694,25814
-  Lisp_Object plist;\7f697,25876
-  struct Lisp_Symbol *next;\7fnext\ 1700,25965
-#define EXFUN(\7f707,26243
-#define DEFUN_ARGS_MANY        \7f712,26437
-#define DEFUN_ARGS_UNEVALLED   \7f713,26489
-#define DEFUN_ARGS_0   \7f714,26532
-#define DEFUN_ARGS_1   \7f715,26560
-#define DEFUN_ARGS_2   \7f716,26595
-#define DEFUN_ARGS_3   \7f717,26643
-#define DEFUN_ARGS_4   \7f718,26704
-#define DEFUN_ARGS_5   \7f719,26778
-#define DEFUN_ARGS_6   \7f721,26871
-#define DEFUN_ARGS_7   \7f723,26977
-#define DEFUN_ARGS_8   \7f725,27096
-#define TAG_PTR(\7f729,27287
-#define TAG_SYMOFFSET(\7f734,27534
-#define XLI_BUILTIN_LISPSYM(\7f741,27833
-#define DEFINE_LISP_SYMBOL(\7f746,28092
-# define DEFINE_NON_NIL_Q_SYMBOL_MACROS \7f755,28563
-LISP_MACRO_DEFUN \7f762,28768
-# define ARRAY_MARK_FLAG \7f768,29015
-# define PSEUDOVECTOR_FLAG \7f774,29258
-enum pvec_type\7f780,29559
-  PVEC_NORMAL_VECTOR,\7f782,29576
-  PVEC_FREE,\7f783,29598
-  PVEC_PROCESS,\7f784,29611
-  PVEC_FRAME,\7f785,29627
-  PVEC_WINDOW,\7f786,29641
-  PVEC_BOOL_VECTOR,\7f787,29656
-  PVEC_BUFFER,\7f788,29676
-  PVEC_HASH_TABLE,\7f789,29691
-  PVEC_TERMINAL,\7f790,29710
-  PVEC_WINDOW_CONFIGURATION,\7f791,29727
-  PVEC_SUBR,\7f792,29756
-  PVEC_OTHER,\7f793,29769
-  PVEC_COMPILED,\7f795,29847
-  PVEC_CHAR_TABLE,\7f796,29864
-  PVEC_SUB_CHAR_TABLE,\7f797,29883
-  PVEC_FONT \7f798,29906
-enum More_Lisp_Bits\7f801,29982
-    PSEUDOVECTOR_SIZE_BITS \7f808,30373
-    PSEUDOVECTOR_SIZE_MASK \7f809,30406
-    PSEUDOVECTOR_REST_BITS \7f813,30616
-    PSEUDOVECTOR_REST_MASK \7f814,30649
-    PSEUDOVECTOR_AREA_BITS \7f818,30814
-    PVEC_TYPE_MASK \7f819,30892
-# define VALMASK \7f829,31293
-DEFINE_GDB_SYMBOL_BEGIN \7fVALMASK\ 1828,31248
-#define MOST_POSITIVE_FIXNUM \7f834,31523
-#define MOST_NEGATIVE_FIXNUM \7f835,31583
-XINT \7f874,32675
-XFASTINT \7f889,33026
-XSYMBOL \7f899,33254
-XTYPE \7f910,33472
-XUNTAG \7f918,33652
-LISP_MACRO_DEFUN \7f927,33848
-LISP_MACRO_DEFUN \7f940,34233
-#define FIXNUM_OVERFLOW_P(\7f958,34846
-LISP_MACRO_DEFUN \7fFIXNUM_OVERFLOW_P\ 1952,34623
-LISP_MACRO_DEFUN \7f970,35162
-XSTRING \7f980,35382
-#define SYMBOL_INDEX(\7f988,35566
-XFLOAT \7f991,35627
-XPROCESS \7f1000,35769
-XWINDOW \7f1007,35886
-XTERMINAL \7f1014,36003
-XSUBR \7f1021,36125
-XBUFFER \7f1028,36236
-XCHAR_TABLE \7f1035,36360
-XSUB_CHAR_TABLE \7f1042,36497
-XBOOL_VECTOR \7f1049,36639
-make_lisp_ptr \7f1058,36818
-make_lisp_symbol \7f1066,37004
-builtin_lisp_symbol \7f1074,37188
-#define XSETINT(\7f1079,37270
-#define XSETFASTINT(\7f1080,37316
-#define XSETCONS(\7f1081,37366
-#define XSETVECTOR(\7f1082,37426
-#define XSETSTRING(\7f1083,37494
-#define XSETSYMBOL(\7f1084,37558
-#define XSETFLOAT(\7f1085,37612
-#define XSETMISC(\7f1086,37674
-#define XSETPVECTYPE(\7f1090,37763
-#define XSETPVECTYPESIZE(\7f1092,37879
-#define XSETPSEUDOVECTOR(\7f1099,38176
-#define XSETTYPED_PSEUDOVECTOR(\7f1105,38360
-#define XSETWINDOW_CONFIGURATION(\7f1110,38570
-#define XSETPROCESS(\7f1112,38666
-#define XSETWINDOW(\7f1113,38732
-#define XSETTERMINAL(\7f1114,38796
-#define XSETSUBR(\7f1115,38864
-#define XSETCOMPILED(\7f1116,38924
-#define XSETBUFFER(\7f1117,38992
-#define XSETCHAR_TABLE(\7f1118,39056
-#define XSETBOOL_VECTOR(\7f1119,39128
-#define XSETSUB_CHAR_TABLE(\7f1120,39202
-XINTPTR \7f1128,39572
-make_pointer_integer \7f1134,39652
-LISP_MACRO_DEFUN_VOID \7f1143,39817
-typedef struct interval *INTERVAL;\7fINTERVAL\ 11149,39978
-      Lisp_Object cdr;\7f1159,40153
-      struct Lisp_Cons *chain;\7fchain\ 11162,40227
-xcar_addr \7f1174,40751
-xcdr_addr \7f1179,40828
-LISP_MACRO_DEFUN \7f1185,40922
-XSETCDR \7f1198,41298
-CAR \7f1205,41448
-CDR \7f1212,41582
-CAR_SAFE \7f1221,41782
-CDR_SAFE \7f1226,41868
-STRING_MULTIBYTE \7f1243,42241
-#define STRING_BYTES_BOUND \7f1261,43048
-#define STRING_SET_UNIBYTE(\7f1265,43192
-#define STRING_SET_MULTIBYTE(\7f1275,43507
-SDATA \7f1286,43821
-SSDATA \7f1291,43899
-SREF \7f1297,44028
-SSET \7f1302,44119
-SCHARS \7f1307,44233
-extern ptrdiff_t string_bytes \7f1313,44328
-STRING_BYTES \7f1316,44406
-SBYTES \7f1326,44586
-STRING_SET_CHARS \7f1331,44672
-struct vectorlike_header\7f1343,45223
-    ptrdiff_t size;\7f1364,46374
-struct Lisp_Vector\7f1369,46473
-    struct vectorlike_header header;\7f1371,46496
-    Lisp_Object contents[\7fcontents\ 11372,46533
-    ALIGNOF_STRUCT_LISP_VECTOR\7f1378,46672
-struct Lisp_Bool_Vector\7f1384,46855
-    struct vectorlike_header header;\7f1388,47003
-    EMACS_INT size;\7f1390,47077
-    bits_word data[\7fdata\ 11395,47310
-bool_vector_size \7f1399,47376
-bool_vector_data \7f1407,47514
-bool_vector_uchar_data \7f1413,47608
-bool_vector_words \7f1421,47794
-bool_vector_bytes \7f1428,47989
-bool_vector_bitref \7f1437,48229
-bool_vector_ref \7f1445,48469
-bool_vector_set \7f1453,48609
-    header_size \7f1471,49038
-    bool_header_size \7f1472,49097
-    word_size \7f1473,49162
-AREF \7f1479,49275
-aref_addr \7f1485,49382
-ASIZE \7f1491,49492
-ASET \7f1497,49574
-gc_aset \7f1504,49733
-enum { NIL_IS_ZERO \7f1515,50260
-memclear \7f1520,50455
-#define VECSIZE(\7f1531,50753
-#define PSEUDOVECSIZE(\7f1538,51038
-#define UNSIGNED_CMP(\7f1546,51471
-#define ASCII_CHAR_P(\7f1552,51725
-enum CHARTAB_SIZE_BITS\7f1565,52480
-    CHARTAB_SIZE_BITS_0 \7f1567,52507
-    CHARTAB_SIZE_BITS_1 \7f1568,52536
-    CHARTAB_SIZE_BITS_2 \7f1569,52565
-    CHARTAB_SIZE_BITS_3 \7f1570,52594
-extern const int chartab_size[\7fchartab_size\ 11573,52628
-struct Lisp_Char_Table\7f1575,52663
-    struct vectorlike_header header;\7f1581,52919
-    Lisp_Object defalt;\7f1585,53069
-    Lisp_Object parent;\7f1590,53271
-    Lisp_Object purpose;\7f1594,53389
-    Lisp_Object ascii;\7f1598,53555
-    Lisp_Object contents[\7fcontents\ 11600,53579
-    Lisp_Object extras[\7fextras\ 11603,53690
-struct Lisp_Sub_Char_Table\7f1606,53743
-    struct vectorlike_header header;\7f1610,53909
-    int depth;\7f1618,54332
-    int min_char;\7f1621,54408
-    Lisp_Object contents[\7fcontents\ 11624,54483
-CHAR_TABLE_REF_ASCII \7f1628,54557
-CHAR_TABLE_REF \7f1648,55104
-CHAR_TABLE_SET \7f1658,55393
-struct Lisp_Subr\7f1670,55777
-    struct vectorlike_header header;\7f1672,55798
-      Lisp_Object (*a0)\7fa0\ 11674,55847
-      Lisp_Object (*a1)\7fa1\ 11675,55879
-      Lisp_Object (*a2)\7fa2\ 11676,55918
-      Lisp_Object (*a3)\7fa3\ 11677,55970
-      Lisp_Object (*a4)\7fa4\ 11678,56035
-      Lisp_Object (*a5)\7fa5\ 11679,56113
-      Lisp_Object (*a6)\7fa6\ 11680,56204
-      Lisp_Object (*a7)\7fa7\ 11681,56308
-      Lisp_Object (*a8)\7fa8\ 11682,56425
-      Lisp_Object (*aUNEVALLED)\7faUNEVALLED\ 11683,56555
-      Lisp_Object (*aMANY)\7faMANY\ 11684,56607
-    } function;\7f1685,56662
-    short min_args,\7f1686,56678
-    short min_args, max_args;\7f1686,56678
-    const char *symbol_name;\7fsymbol_name\ 11687,56708
-    const char *intspec;\7fintspec\ 11688,56737
-    const char *doc;\7fdoc\ 11689,56762
-enum char_table_specials\7f1692,56789
-    CHAR_TABLE_STANDARD_SLOTS \7f1697,56984
-    SUB_CHAR_TABLE_OFFSET \7f1701,57205
-CHAR_TABLE_EXTRA_SLOTS \7f1707,57368
-verify \7f1714,57587
-LISP_MACRO_DEFUN \7f1723,57912
-SYMBOL_BLV \7f1732,58172
-SYMBOL_FWD \7f1738,58307
-LISP_MACRO_DEFUN_VOID \7f1744,58419
-SET_SYMBOL_BLV \7f1754,58682
-SET_SYMBOL_FWD \7f1760,58841
-SYMBOL_NAME \7f1767,58992
-SYMBOL_INTERNED_P \7f1775,59121
-SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P \7f1783,59290
-#define DEFSYM(\7f1796,59800
-LISP_MACRO_DEFUN \7fDEFSYM\ 11792,59621
-struct hash_table_test\7f1805,60053
-  Lisp_Object name;\7f1808,60130
-  Lisp_Object user_hash_function;\7f1811,60197
-  Lisp_Object user_cmp_function;\7f1814,60288
-  bool (*cmpfn)\7fcmpfn\ 11817,60363
-  EMACS_UINT (*hashfn)\7fhashfn\ 11820,60477
-struct Lisp_Hash_Table\7f1823,60546
-  struct vectorlike_header header;\7f1826,60640
-  Lisp_Object weak;\7f1830,60774
-  Lisp_Object rehash_size;\7f1835,60998
-  Lisp_Object rehash_threshold;\7f1839,61120
-  Lisp_Object hash;\7f1843,61251
-  Lisp_Object next;\7f1848,61481
-  Lisp_Object next_free;\7f1851,61551
-  Lisp_Object index;\7f1856,61762
-  ptrdiff_t count;\7f1863,62032
-  Lisp_Object key_and_value;\7f1868,62231
-  struct hash_table_test test;\7f1871,62305
-  struct Lisp_Hash_Table *next_weak;\7fnext_weak\ 11875,62448
-XHASH_TABLE \7f1880,62522
-#define XSET_HASH_TABLE(\7f1885,62593
-HASH_TABLE_P \7f1889,62694
-HASH_KEY \7f1896,62851
-HASH_VALUE \7f1903,63031
-HASH_NEXT \7f1911,63245
-HASH_HASH \7f1918,63422
-HASH_INDEX \7f1926,63668
-HASH_TABLE_SIZE \7f1933,63817
-enum DEFAULT_HASH_SIZE \7f1940,63947
-enum DEFAULT_HASH_SIZE { DEFAULT_HASH_SIZE \7f1940,63947
-static double const DEFAULT_REHASH_THRESHOLD \7f1946,64167
-static double const DEFAULT_REHASH_SIZE \7f1950,64290
-sxhash_combine \7f1956,64456
-SXHASH_REDUCE \7f1964,64639
-struct Lisp_Misc_Any   \7f1971,64797
-  ENUM_BF (Lisp_Misc_Type) type \7f1973,64857
-  bool_bf gcmarkbit \7f1974,64918
-  unsigned spacer \7f1975,64943
-struct Lisp_Marker\7f1978,64971
-  ENUM_BF (Lisp_Misc_Type) type \7f1980,64992
-  bool_bf gcmarkbit \7f1981,65056
-  unsigned spacer \7f1982,65081
-  bool_bf need_adjustment \7f1986,65273
-  bool_bf insertion_type \7f1989,65414
-  struct buffer *buffer;\7fbuffer\ 12000,66007
-  struct Lisp_Marker *next;\7fnext\ 12009,66358
-  ptrdiff_t charpos;\7f2011,66446
-  ptrdiff_t bytepos;\7f2016,66704
-struct Lisp_Overlay\7f2021,66832
-    ENUM_BF (Lisp_Misc_Type) type \7f2034,67340
-    bool_bf gcmarkbit \7f2035,67406
-    unsigned spacer \7f2036,67433
-    struct Lisp_Overlay *next;\7fnext\ 12037,67459
-    Lisp_Object start;\7f2038,67490
-    Lisp_Object end;\7f2039,67513
-    Lisp_Object plist;\7f2040,67534
-    SAVE_UNUSED,\7f2047,67635
-    SAVE_INTEGER,\7f2048,67652
-    SAVE_FUNCPOINTER,\7f2049,67670
-    SAVE_POINTER,\7f2050,67692
-    SAVE_OBJECT\7f2051,67710
-enum { SAVE_SLOT_BITS \7f2055,67795
-enum { SAVE_VALUE_SLOTS \7f2058,67892
-enum { SAVE_TYPE_BITS \7f2062,68000
-enum Lisp_Save_Type\7f2064,68066
-    SAVE_TYPE_INT_INT \7f2066,68090
-    SAVE_TYPE_INT_INT_INT\7f2067,68163
-    SAVE_TYPE_OBJ_OBJ \7f2069,68253
-    SAVE_TYPE_OBJ_OBJ_OBJ \7f2070,68324
-    SAVE_TYPE_OBJ_OBJ_OBJ_OBJ\7f2071,68405
-    SAVE_TYPE_PTR_INT \7f2073,68500
-    SAVE_TYPE_PTR_OBJ \7f2074,68573
-    SAVE_TYPE_PTR_PTR \7f2075,68645
-    SAVE_TYPE_FUNCPTR_PTR_OBJ\7f2076,68718
-    SAVE_TYPE_MEMORY \7f2080,68876
-typedef void (*voidfuncptr)\7fvoidfuncptr\ 12108,69830
-struct Lisp_Save_Value\7f2110,69867
-    ENUM_BF (Lisp_Misc_Type) type \7f2112,69894
-    bool_bf gcmarkbit \7f2113,69963
-    unsigned spacer : 32 - (16 + 1 + SAVE_TYPE_BITS)\7f2114,69990
-    ENUM_BF (Lisp_Save_Type) save_type : SAVE_TYPE_BITS;\7f2123,70480
-      void *pointer;\7fpointer\ 12125,70549
-      voidfuncptr funcpointer;\7f2126,70570
-      ptrdiff_t integer;\7f2127,70601
-      Lisp_Object object;\7f2128,70626
-    } data[\7fdata\ 12129,70652
-save_type \7f2134,70746
-XSAVE_POINTER \7f2143,70976
-set_save_pointer \7f2149,71138
-XSAVE_FUNCPOINTER \7f2155,71320
-XSAVE_INTEGER \7f2164,71540
-set_save_integer \7f2170,71702
-XSAVE_OBJECT \7f2179,71923
-struct Lisp_Finalizer\7f2186,72100
-    struct Lisp_Misc_Any base;\7f2188,72126
-    struct Lisp_Finalizer *prev;\7fprev\ 12191,72214
-    struct Lisp_Finalizer *next;\7fnext\ 12192,72247
-    Lisp_Object function;\7f2197,72484
-struct Lisp_Free\7f2201,72575
-    ENUM_BF (Lisp_Misc_Type) type \7f2203,72596
-    bool_bf gcmarkbit \7f2204,72659
-    unsigned spacer \7f2205,72686
-    union Lisp_Misc *chain;\7fchain\ 12206,72712
-union Lisp_Misc\7f2212,72876
-    struct Lisp_Misc_Any u_any;\7f2214,72896
-    struct Lisp_Free u_free;\7f2215,72967
-    struct Lisp_Marker u_marker;\7f2216,72996
-    struct Lisp_Overlay u_overlay;\7f2217,73029
-    struct Lisp_Save_Value u_save_value;\7f2218,73064
-    struct Lisp_Finalizer u_finalizer;\7f2219,73105
-XMISC \7f2223,73175
-XMISCANY \7f2229,73264
-XMISCTYPE \7f2236,73373
-XMARKER \7f2242,73461
-XOVERLAY \7f2249,73576
-XSAVE_VALUE \7f2256,73697
-XFINALIZER \7f2263,73826
-struct Lisp_Intfwd\7f2274,74111
-    enum Lisp_Fwd_Type type;\7f2276,74134
-    EMACS_INT *intvar;\7fintvar\ 12277,74184
-struct Lisp_Boolfwd\7f2284,74405
-    enum Lisp_Fwd_Type type;\7f2286,74429
-    bool *boolvar;\7fboolvar\ 12287,74480
-struct Lisp_Objfwd\7f2294,74696
-    enum Lisp_Fwd_Type type;\7f2296,74719
-    Lisp_Object *objvar;\7fobjvar\ 12297,74769
-struct Lisp_Buffer_Objfwd\7f2302,74928
-    enum Lisp_Fwd_Type type;\7f2304,74958
-    int offset;\7f2305,75015
-    Lisp_Object predicate;\7f2307,75107
-struct Lisp_Buffer_Local_Value\7f2334,76464
-    bool_bf local_if_set \7f2338,76609
-    bool_bf frame_local \7f2341,76791
-    bool_bf found \7f2344,76933
-    union Lisp_Fwd *fwd;\7ffwd\ 12346,77035
-    Lisp_Object where;\7f2348,77178
-    Lisp_Object defcell;\7f2351,77304
-    Lisp_Object valcell;\7f2357,77608
-struct Lisp_Kboard_Objfwd\7f2362,77723
-    enum Lisp_Fwd_Type type;\7f2364,77753
-    int offset;\7f2365,77810
-union Lisp_Fwd\7f2368,77832
-    struct Lisp_Intfwd u_intfwd;\7f2370,77851
-    struct Lisp_Boolfwd u_boolfwd;\7f2371,77884
-    struct Lisp_Objfwd u_objfwd;\7f2372,77919
-    struct Lisp_Buffer_Objfwd u_buffer_objfwd;\7f2373,77952
-    struct Lisp_Kboard_Objfwd u_kboard_objfwd;\7f2374,77999
-XFWDTYPE \7f2378,78078
-XBUFFER_OBJFWD \7f2384,78174
-struct Lisp_Float\7f2391,78310
-      double data;\7f2395,78348
-      struct Lisp_Float *chain;\7fchain\ 12396,78367
-    } u;\7f2397,78399
-XFLOAT_DATA \7f2401,78428
-    IEEE_FLOATING_POINT\7f2415,78937
-#define _UCHAR_T\7f2423,79260
-typedef unsigned char UCHAR;\7f2424,79277
-enum Lisp_Compiled\7f2429,79360
-    COMPILED_ARGLIST \7f2431,79383
-    COMPILED_BYTECODE \7f2432,79409
-    COMPILED_CONSTANTS \7f2433,79436
-    COMPILED_STACK_DEPTH \7f2434,79464
-    COMPILED_DOC_STRING \7f2435,79494
-    COMPILED_INTERACTIVE \7f2436,79523
-enum char_bits\7f2443,79825
-    CHAR_ALT \7f2445,79844
-    CHAR_SUPER \7f2446,79870
-    CHAR_HYPER \7f2447,79898
-    CHAR_SHIFT \7f2448,79926
-    CHAR_CTL \7f2449,79954
-    CHAR_META \7f2450,79980
-    CHAR_MODIFIER_MASK \7f2452,80008
-    CHARACTERBITS \7f2457,80203
-LISP_MACRO_DEFUN \7f2462,80261
-NATNUMP \7f2470,80403
-RANGED_INTEGERP \7f2476,80484
-#define TYPE_RANGED_INTEGERP(\7f2481,80606
-LISP_MACRO_DEFUN \7f2486,80791
-VECTORP \7f2500,81264
-OVERLAYP \7f2505,81367
-SAVE_VALUEP \7f2510,81466
-FINALIZERP \7f2516,81572
-AUTOLOADP \7f2522,81676
-BUFFER_OBJFWDP \7f2528,81767
-PSEUDOVECTOR_TYPEP \7f2534,81865
-PSEUDOVECTORP \7f2542,82118
-WINDOW_CONFIGURATIONP \7f2558,82470
-PROCESSP \7f2564,82580
-WINDOWP \7f2570,82664
-TERMINALP \7f2576,82746
-SUBRP \7f2582,82832
-COMPILEDP \7f2588,82910
-BUFFERP \7f2594,82996
-CHAR_TABLE_P \7f2600,83078
-SUB_CHAR_TABLE_P \7f2606,83169
-BOOL_VECTOR_P \7f2612,83268
-FRAMEP \7f2618,83361
-IMAGEP \7f2625,83478
-ARRAYP \7f2632,83583
-CHECK_LIST \7f2638,83702
-LISP_MACRO_DEFUN_VOID \7f2643,83783
-CHECK_STRING_CAR \7f2653,84080
-CHECK_CONS \7f2658,84184
-CHECK_VECTOR \7f2663,84264
-CHECK_BOOL_VECTOR \7f2668,84350
-CHECK_VECTOR_OR_STRING \7f2674,84527
-CHECK_ARRAY \7f2683,84701
-CHECK_BUFFER \7f2688,84809
-CHECK_WINDOW \7f2693,84895
-CHECK_PROCESS \7f2699,85001
-CHECK_NATNUM \7f2705,85097
-#define CHECK_RANGED_INTEGER(\7f2710,85174
-#define CHECK_TYPE_RANGED_INTEGER(\7f2721,85557
-#define CHECK_NUMBER_COERCE_MARKER(\7f2729,85827
-XFLOATINT \7f2738,86080
-CHECK_NUMBER_OR_FLOAT \7f2744,86151
-#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(\7f2749,86250
-CHECK_NUMBER_CAR \7f2760,86660
-CHECK_NUMBER_CDR \7f2768,86782
-#define DEFUN(\7f2803,88377
-#define DEFUN(\7f2812,88845
-FUNCTIONP \7f2822,89200
-extern void defsubr \7f2829,89352
-enum maxargs\7f2831,89395
-    MANY \7f2833,89412
-    UNEVALLED \7f2834,89427
-#define CALLMANY(\7f2838,89530
-#define CALLN(\7f2844,89883
-extern void defvar_lisp \7f2846,89953
-extern void defvar_lisp_nopro \7f2847,90030
-extern void defvar_bool \7f2848,90113
-extern void defvar_int \7f2849,90184
-extern void defvar_kboard \7f2850,90258
-#define DEFVAR_LISP(\7f2869,91088
-#define DEFVAR_LISP_NOPRO(\7f2874,91260
-#define DEFVAR_BOOL(\7f2879,91442
-#define DEFVAR_INT(\7f2884,91615
-#define DEFVAR_BUFFER_DEFAULTS(\7f2890,91786
-#define DEFVAR_KBOARD(\7f2896,91990
-typedef jmp_buf sys_jmp_buf;\7f2906,92314
-# define sys_setjmp(\7f2907,92343
-# define sys_longjmp(\7f2908,92378
-typedef sigjmp_buf sys_jmp_buf;\7f2910,92450
-# define sys_setjmp(\7f2911,92482
-# define sys_longjmp(\7f2912,92522
-typedef jmp_buf sys_jmp_buf;\7f2916,92681
-# define sys_setjmp(\7f2917,92710
-# define sys_longjmp(\7f2918,92744
-enum specbind_tag \7f2943,93796
-  SPECPDL_UNWIND,\7f2944,93816
-  SPECPDL_UNWIND_PTR,\7f2945,93885
-  SPECPDL_UNWIND_INT,\7f2946,93936
-  SPECPDL_UNWIND_VOID,\7f2947,93984
-  SPECPDL_BACKTRACE,\7f2948,94038
-  SPECPDL_LET,\7f2949,94096
-  SPECPDL_LET_LOCAL,\7f2951,94226
-  SPECPDL_LET_DEFAULT  \7f2952,94283
-union specbinding\7f2955,94355
-    ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2957,94377
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2959,94434
-      void (*func)\7ffunc\ 12960,94480
-      Lisp_Object arg;\7f2961,94514
-    } unwind;\7f2962,94537
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2964,94564
-      void (*func)\7ffunc\ 12965,94610
-      void *arg;\7farg\ 12966,94639
-    } unwind_ptr;\7f2967,94656
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2969,94687
-      void (*func)\7ffunc\ 12970,94733
-      int arg;\7f2971,94759
-    } unwind_int;\7f2972,94774
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2974,94805
-      void (*func)\7ffunc\ 12975,94851
-    } unwind_void;\7f2976,94878
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2978,94910
-      Lisp_Object symbol,\7f2980,95017
-      Lisp_Object symbol, old_value,\7f2980,95017
-      Lisp_Object symbol, old_value, where;\7f2980,95017
-    } let;\7f2981,95061
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;\7f2983,95085
-      bool_bf debug_on_exit \7f2984,95131
-      Lisp_Object function;\7f2985,95164
-      Lisp_Object *args;\7fargs\ 12986,95192
-      ptrdiff_t nargs;\7f2987,95217
-    } bt;\7f2988,95240
-extern union specbinding *specpdl;\7fspecpdl\ 12991,95256
-extern union specbinding *specpdl_ptr;\7fspecpdl_ptr\ 12992,95291
-extern ptrdiff_t specpdl_size;\7f2993,95330
-SPECPDL_INDEX \7f2996,95379
-enum handlertype \7f3021,96401
-enum handlertype { CATCHER,\7f3021,96401
-enum handlertype { CATCHER, CONDITION_CASE \7f3021,96401
-struct handler\7f3023,96448
-  enum handlertype type;\7f3025,96465
-  Lisp_Object tag_or_ch;\7f3026,96490
-  Lisp_Object val;\7f3027,96515
-  struct handler *next;\7fnext\ 13028,96534
-  struct handler *nextfree;\7fnextfree\ 13029,96558
-  Lisp_Object *bytecode_top;\7fbytecode_top\ 13036,96916
-  int bytecode_dest;\7f3037,96945
-  struct gcpro *gcpro;\7fgcpro\ 13042,97182
-  sys_jmp_buf jmp;\7f3044,97212
-  EMACS_INT lisp_eval_depth;\7f3045,97231
-  ptrdiff_t pdlcount;\7f3046,97260
-  int poll_suppress_count;\7f3047,97282
-  int interrupt_input_blocked;\7f3048,97309
-  struct byte_stack *byte_stack;\7fbyte_stack\ 13049,97340
-#define PUSH_HANDLER(\7f3053,97437
-extern Lisp_Object memory_signal_data;\7f3075,98143
-extern char *stack_bottom;\7fstack_bottom\ 13079,98276
-extern void process_pending_signals \7f3097,99093
-extern bool volatile pending_signals;\7f3098,99137
-extern void process_quit_flag \7f3100,99176
-#define QUIT   \7f3101,99214
-#define QUITP \7f3112,99464
-extern Lisp_Object Vascii_downcase_table;\7f3114,99525
-extern Lisp_Object Vascii_canon_table;\7f3115,99567
-extern struct gcpro *gcprolist;\7fgcprolist\ 13130,100274
-struct gcpro\7f3132,100307
-  struct gcpro *next;\7fnext\ 13134,100322
-  volatile Lisp_Object *var;\7fvar\ 13137,100391
-  ptrdiff_t nvars;\7f3140,100473
-  const char *name;\7fname\ 13144,100558
-  int lineno;\7f3147,100614
-  int idx;\7f3150,100675
-  int level;\7f3153,100711
-#define GC_USE_GCPROS_AS_BEFORE        \7f3171,101288
-#define GC_MAKE_GCPROS_NOOPS   \7f3172,101323
-#define GC_MARK_STACK_CHECK_GCPROS     \7f3173,101355
-#define GC_USE_GCPROS_CHECK_ZOMBIES    \7f3174,101392
-#define GC_MARK_STACK \7f3177,101453
-#define BYTE_MARK_STACK \7f3181,101553
-#define GCPRO1(\7f3190,101824
-#define GCPRO2(\7f3191,101864
-#define GCPRO3(\7f3192,101930
-#define GCPRO4(\7f3194,102025
-#define GCPRO5(\7f3196,102145
-#define GCPRO6(\7f3198,102290
-#define GCPRO7(\7f3201,102465
-#define UNGCPRO \7f3202,102544
-#define GCPRO1(\7f3208,102644
-#define GCPRO2(\7f3212,102766
-#define GCPRO3(\7f3217,102958
-#define GCPRO4(\7f3223,103220
-#define GCPRO5(\7f3230,103551
-#define GCPRO6(\7f3238,103952
-#define GCPRO7(\7f3247,104422
-#define UNGCPRO \7f3257,104962
-extern int gcpro_level;\7f3261,105031
-#define GCPRO1(\7f3263,105056
-#define GCPRO2(\7f3269,105290
-#define GCPRO3(\7f3278,105708
-#define GCPRO4(\7f3289,106265
-#define GCPRO5(\7f3302,106963
-#define GCPRO6(\7f3317,107803
-#define GCPRO7(\7f3334,108784
-#define UNGCPRO        \7f3353,109907
-#define RETURN_UNGCPRO(\7f3363,110174
-void staticpro \7f3375,110447
-vcopy \7f3384,110648
-set_hash_key_slot \7f3393,110923
-set_hash_value_slot \7f3399,111062
-set_symbol_function \7f3408,111297
-set_symbol_plist \7f3414,111412
-set_symbol_next \7f3420,111515
-blv_found \7f3428,111688
-set_overlay_plist \7f3437,111871
-string_intervals \7f3445,112022
-set_string_intervals \7f3453,112144
-set_char_table_defalt \7f3462,112346
-set_char_table_purpose \7f3467,112458
-set_char_table_extras \7f3475,112627
-set_char_table_contents \7f3482,112836
-set_sub_char_table_contents \7f3489,113031
-extern Lisp_Object indirect_function \7f3495,113190
-extern Lisp_Object find_symbol_value \7f3496,113242
-enum Arith_Comparison \7f3497,113294
-  ARITH_EQUAL,\7f3498,113318
-  ARITH_NOTEQUAL,\7f3499,113333
-  ARITH_LESS,\7f3500,113351
-  ARITH_GRTR,\7f3501,113365
-  ARITH_LESS_OR_EQUAL,\7f3502,113379
-  ARITH_GRTR_OR_EQUAL\7f3503,113402
-extern Lisp_Object arithcompare \7f3505,113427
-#define INTEGER_TO_CONS(\7f3511,113753
-#define CONS_TO_INTEGER(\7f3529,114616
-extern intmax_t cons_to_signed \7f3533,114831
-extern uintmax_t cons_to_unsigned \7f3534,114897
-extern struct Lisp_Symbol *indirect_variable \7findirect_variable\ 13536,114958
-extern _Noreturn void args_out_of_range \7f3537,115027
-extern _Noreturn void args_out_of_range_3 \7f3538,115095
-extern Lisp_Object do_symval_forwarding \7f3540,115186
-extern void set_internal \7f3541,115246
-extern void syms_of_data \7f3542,115318
-extern void swap_in_global_binding \7f3543,115351
-extern void syms_of_cmds \7f3546,115435
-extern void keys_of_cmds \7f3547,115468
-extern Lisp_Object detect_coding_system \7f3550,115530
-extern void init_coding \7f3552,115683
-extern void init_coding_once \7f3553,115715
-extern void syms_of_coding \7f3554,115752
-extern ptrdiff_t chars_in_text \7f3557,115819
-extern ptrdiff_t multibyte_chars_in_text \7f3558,115886
-extern void syms_of_character \7f3559,115963
-extern void init_charset \7f3562,116031
-extern void init_charset_once \7f3563,116064
-extern void syms_of_charset \7f3564,116102
-extern void init_syntax_once \7f3569,116222
-extern void syms_of_syntax \7f3570,116259
-enum { NEXT_ALMOST_PRIME_LIMIT \7f3573,116320
-extern EMACS_INT next_almost_prime \7f3574,116359
-enum constype \7f3739,123811
-enum constype {CONSTYPE_HEAP,\7fCONSTYPE_HEAP\ 13739,123811
-enum constype {CONSTYPE_HEAP, CONSTYPE_PURE}\7fCONSTYPE_PURE\ 13739,123811
-extern Lisp_Object listn \7f3740,123857
-list2i \7f3745,124001
-list3i \7f3751,124110
-list4i \7f3757,124249
-extern Lisp_Object make_uninit_bool_vector \7f3763,124401
-extern Lisp_Object bool_vector_fill \7f3764,124457
-extern _Noreturn void string_overflow \7f3765,124521
-extern Lisp_Object make_string \7f3766,124567
-extern Lisp_Object make_formatted_string \7f3767,124625
-extern Lisp_Object make_multibyte_string \7f3779,124979
-extern Lisp_Object make_event_array \7f3780,125058
-extern Lisp_Object make_uninit_string \7f3781,125122
-extern Lisp_Object make_uninit_multibyte_string \7f3782,125173
-extern Lisp_Object make_string_from_bytes \7f3783,125245
-extern Lisp_Object make_specified_string \7f3784,125325
-extern Lisp_Object make_pure_string \7f3786,125417
-extern Lisp_Object make_pure_c_string \7f3787,125497
-build_pure_c_string \7f3792,125653
-build_string \7f3801,125858
-extern Lisp_Object pure_cons \7f3806,125936
-extern void make_byte_code \7f3807,125993
-extern struct Lisp_Vector *allocate_vector \7fallocate_vector\ 13808,126044
-make_uninit_vector \7f3820,126429
-make_uninit_sub_char_table \7f3833,126648
-extern struct Lisp_Vector *allocate_pseudovector \7fallocate_pseudovector\ 13844,126957
-#define ALLOCATE_PSEUDOVECTOR(\7f3850,127192
-#define ALLOCATE_ZEROED_PSEUDOVECTOR(\7f3858,127528
-extern bool gc_in_progress;\7f3863,127729
-extern bool abort_on_gc;\7f3864,127757
-extern Lisp_Object make_float \7f3865,127782
-extern void display_malloc_warning \7f3866,127822
-extern ptrdiff_t inhibit_garbage_collection \7f3867,127865
-extern Lisp_Object make_save_int_int_int \7f3868,127917
-extern Lisp_Object make_save_obj_obj_obj_obj \7f3869,127993
-extern Lisp_Object make_save_ptr \7f3871,128103
-extern Lisp_Object make_save_ptr_int \7f3872,128146
-extern Lisp_Object make_save_ptr_ptr \7f3873,128204
-extern Lisp_Object make_save_funcptr_ptr_obj \7f3874,128259
-extern Lisp_Object make_save_memory \7f3876,128355
-extern void free_save_value \7f3877,128419
-extern Lisp_Object build_overlay \7f3878,128462
-extern void free_marker \7f3879,128536
-extern void free_cons \7f3880,128575
-extern void init_alloc_once \7f3881,128619
-extern void init_alloc \7f3882,128655
-extern void syms_of_alloc \7f3883,128686
-extern struct buffer * allocate_buffer \7f3884,128720
-extern int valid_lisp_object_p \7f3885,128767
-extern int relocatable_string_data_p \7f3886,128813
-extern void check_cons_list \7f3888,128892
-INLINE void \7f3890,128934
-extern void *r_alloc \7fr_alloc\ 13895,129055
-#define FLOAT_TO_STRING_BUFSIZE \7f3927,130518
-extern int openp \7f3957,131667
-extern Lisp_Object string_to_number \7f3959,131777
-extern void map_obarray \7f3960,131840
-extern void dir_warning \7f3962,131954
-extern void init_obarray \7f3963,132007
-extern void init_lread \7f3964,132040
-extern void syms_of_lread \7f3965,132071
-intern \7f3968,132125
-intern_c_string \7f3974,132213
-extern EMACS_INT lisp_eval_depth;\7f3980,132326
-extern Lisp_Object Vautoload_queue;\7f3981,132360
-extern Lisp_Object Vrun_hooks;\7f3982,132396
-extern Lisp_Object Vsignaling_function;\7f3983,132427
-extern Lisp_Object inhibit_lisp_code;\7f3984,132467
-extern struct handler *handlerlist;\7fhandlerlist\ 13985,132505
-extern void run_hook \7f3994,132747
-extern void run_hook_with_args_2 \7f3995,132783
-extern Lisp_Object run_hook_with_args \7f3996,132857
-extern _Noreturn void xsignal \7f3999,133016
-extern _Noreturn void xsignal0 \7f4000,133074
-extern _Noreturn void xsignal1 \7f4001,133120
-extern _Noreturn void xsignal2 \7f4002,133179
-extern _Noreturn void xsignal3 \7f4003,133251
-extern _Noreturn void signal_error \7f4005,133340
-extern Lisp_Object eval_sub \7f4006,133404
-extern Lisp_Object apply1 \7f4007,133452
-extern Lisp_Object call0 \7f4008,133506
-extern Lisp_Object call1 \7f4009,133546
-extern Lisp_Object call2 \7f4010,133599
-extern Lisp_Object call3 \7f4011,133665
-extern Lisp_Object call4 \7f4012,133744
-extern Lisp_Object call5 \7f4013,133836
-extern Lisp_Object call6 \7f4014,133941
-extern Lisp_Object call7 \7f4015,134059
-extern Lisp_Object internal_catch \7f4016,134190
-extern Lisp_Object internal_lisp_condition_case \7f4017,134283
-extern Lisp_Object internal_condition_case \7f4018,134372
-extern Lisp_Object internal_condition_case_1 \7f4019,134485
-extern Lisp_Object internal_condition_case_2 \7f4020,134620
-extern Lisp_Object internal_condition_case_n\7f4021,134781
-extern void specbind \7f4024,134977
-extern void record_unwind_protect \7f4025,135026
-extern void record_unwind_protect_ptr \7f4026,135099
-extern void record_unwind_protect_int \7f4027,135166
-extern void record_unwind_protect_void \7f4028,135227
-extern void record_unwind_protect_nothing \7f4029,135285
-extern void clear_unwind_protect \7f4030,135335
-extern void set_unwind_protect \7f4031,135381
-extern void set_unwind_protect_ptr \7f4032,135462
-extern Lisp_Object unbind_to \7f4033,135537
-extern _Noreturn void error \7f4034,135592
-fast_string_match_ignore_case \7f4136,140080
-extern ptrdiff_t fast_c_string_match_ignore_case \7f4141,140230
-extern ptrdiff_t fast_looking_at \7f4143,140327
-extern ptrdiff_t find_newline \7f4145,140466
-extern ptrdiff_t scan_newline \7f4147,140595
-extern ptrdiff_t scan_newline_from_point \7f4149,140698
-extern ptrdiff_t find_newline_no_quit \7f4150,140778
-extern ptrdiff_t find_before_next_newline \7f4152,140875
-extern void syms_of_search \7f4154,140973
-extern void clear_regexp_cache \7f4155,141008
-extern Lisp_Object Vminibuffer_list;\7f4159,141078
-extern Lisp_Object last_minibuf_string;\7f4160,141115
-extern Lisp_Object get_minibuffer \7f4161,141155
-extern void init_minibuf_once \7f4162,141202
-extern void syms_of_minibuf \7f4163,141240
-extern void syms_of_callint \7f4167,141307
-extern void syms_of_casefiddle \7f4171,141377
-extern void keys_of_casefiddle \7f4172,141416
-extern void init_casetab_once \7f4176,141486
-extern void syms_of_casetab \7f4177,141524
-extern Lisp_Object echo_message_buffer;\7f4181,141592
-extern struct kboard *echo_kboard;\7fecho_kboard\ 14182,141632
-extern void cancel_echoing \7f4183,141667
-extern Lisp_Object last_undo_boundary;\7f4184,141702
-extern bool input_pending;\7f4185,141741
-extern sigjmp_buf return_to_command_loop;\7f4187,141804
-extern Lisp_Object menu_bar_items \7f4189,141853
-extern Lisp_Object tool_bar_items \7f4190,141902
-extern void discard_mouse_events \7f4191,141958
-void handle_input_available_signal \7f4193,142019
-extern Lisp_Object pending_funcalls;\7f4195,142068
-extern bool detect_input_pending \7f4196,142105
-extern bool detect_input_pending_ignore_squeezables \7f4197,142146
-extern bool detect_input_pending_run_timers \7f4198,142206
-extern void safe_run_hooks \7f4199,142258
-extern void cmd_error_internal \7f4200,142300
-extern Lisp_Object command_loop_1 \7f4201,142360
-extern Lisp_Object read_menu_command \7f4202,142402
-extern Lisp_Object recursive_edit_1 \7f4203,142447
-extern void record_auto_save \7f4204,142491
-extern void force_auto_save_soon \7f4205,142528
-extern void init_keyboard \7f4206,142569
-extern void syms_of_keyboard \7f4207,142603
-extern void keys_of_keyboard \7f4208,142640
-extern ptrdiff_t current_column \7f4211,142706
-extern void invalidate_current_column \7f4212,142746
-extern bool indented_beyond_p \7f4213,142792
-extern void syms_of_indent \7f4214,142857
-extern void store_frame_param \7f4217,142920
-extern void store_in_alist \7f4218,142994
-extern Lisp_Object do_switch_frame \7f4219,143064
-extern Lisp_Object get_frame_param \7f4220,143137
-extern void frames_discard_buffer \7f4221,143203
-extern void syms_of_frame \7f4222,143252
-extern char **initial_argv;\7finitial_argv\ 14225,143314
-extern int initial_argc;\7f4226,143342
-extern bool display_arg;\7f4228,143417
-extern Lisp_Object decode_env_path \7f4230,143449
-extern Lisp_Object empty_unibyte_string,\7f4231,143520
-extern Lisp_Object empty_unibyte_string, empty_multibyte_string;\7f4231,143520
-extern _Noreturn void terminate_due_to_signal \7f4232,143585
-extern Lisp_Object Vlibrary_cache;\7f4234,143660
-void fixup_locale \7f4237,143721
-void synchronize_system_messages_locale \7f4238,143747
-void synchronize_system_time_locale \7f4239,143795
-INLINE void fixup_locale \7f4241,143845
-INLINE void synchronize_system_messages_locale \7f4242,143880
-INLINE void synchronize_system_time_locale \7f4243,143937
-extern void shut_down_emacs \7f4245,143997
-extern bool noninteractive;\7f4248,144123
-extern bool no_site_lisp;\7f4251,144215
-extern int daemon_pipe[\7fdaemon_pipe\ 14256,144383
-#define IS_DAEMON \7f4257,144410
-#define DAEMON_RUNNING \7f4258,144450
-extern void *w32_daemon_event;\7fw32_daemon_event\ 14260,144518
-#define IS_DAEMON \7f4261,144549
-#define DAEMON_RUNNING \7f4262,144594
-extern bool fatal_error_in_progress;\7f4266,144715
-extern bool inhibit_window_system;\7f4269,144821
-extern bool running_asynch_code;\7f4271,144914
-extern void kill_buffer_processes \7f4274,144977
-extern int wait_reading_process_output \7f4275,145026
-# define WAIT_READING_MAX \7f4281,145413
-# define WAIT_READING_MAX \7f4283,145485
-extern void add_timer_wait_descriptor \7f4286,145549
-extern void add_keyboard_wait_descriptor \7f4288,145601
-extern void delete_keyboard_wait_descriptor \7f4289,145649
-extern void add_gpm_wait_descriptor \7f4291,145716
-extern void delete_gpm_wait_descriptor \7f4292,145759
-extern void init_process_emacs \7f4294,145812
-extern void syms_of_process \7f4295,145851
-extern void setup_process_coding_systems \7f4296,145887
-extern int child_setup \7f4302,146007
-extern void init_callproc_1 \7f4303,146075
-extern void init_callproc \7f4304,146111
-extern void set_initial_environment \7f4305,146145
-extern void syms_of_callproc \7f4306,146189
-extern Lisp_Object read_doc_string \7f4309,146252
-extern Lisp_Object get_doc_string \7f4310,146302
-extern void syms_of_doc \7f4311,146363
-extern int read_bytecode_char \7f4312,146395
-extern void syms_of_bytecode \7f4315,146464
-extern struct byte_stack *byte_stack_list;\7fbyte_stack_list\ 14316,146501
-extern void mark_byte_stack \7f4318,146564
-extern void unmark_byte_stack \7f4320,146607
-extern Lisp_Object exec_byte_code \7f4321,146645
-extern void init_macros \7f4325,146795
-extern void syms_of_macros \7f4326,146827
-extern void truncate_undo_list \7f4329,146889
-extern void record_insert \7f4330,146939
-extern void record_delete \7f4331,146989
-extern void record_first_change \7f4332,147047
-extern void record_change \7f4333,147087
-extern void record_property_change \7f4334,147137
-extern void syms_of_undo \7f4337,147279
-extern void report_interval_modification \7f4340,147343
-extern void syms_of_menu \7f4343,147439
-extern void syms_of_xmenu \7f4346,147500
-extern char *get_current_dir_name \7fget_current_dir_name\ 14356,147702
-extern void stuff_char \7f4358,147751
-extern void init_foreground_group \7f4359,147784
-extern void sys_subshell \7f4360,147826
-extern void sys_suspend \7f4361,147859
-extern void discard_tty_input \7f4362,147891
-extern void init_sys_modes \7f4363,147929
-extern void reset_sys_modes \7f4364,147985
-extern void init_all_sys_modes \7f4365,148042
-extern void reset_all_sys_modes \7f4366,148081
-extern void child_setup_tty \7f4367,148121
-extern void setup_pty \7f4368,148156
-extern int set_window_size \7f4369,148185
-extern EMACS_INT get_random \7f4370,148229
-extern void seed_random \7f4371,148265
-extern void init_random \7f4372,148310
-extern void emacs_backtrace \7f4373,148342
-extern _Noreturn void emacs_abort \7f4374,148377
-extern void xputenv \7f4527,152691
-extern char *egetenv_internal \7fegetenv_internal\ 14529,152728
-egetenv \7f4532,152800
-extern void init_system_name \7f4539,153003
-#define eabs(\7f4545,153296
-#define make_fixnum_or_float(\7f4550,153429
-enum MAX_ALLOCA \7f4556,153680
-enum MAX_ALLOCA { MAX_ALLOCA \7f4556,153680
-extern void *record_xmalloc \7frecord_xmalloc\ 14558,153725
-#define USE_SAFE_ALLOCA        \7f4560,153791
-#define AVAIL_ALLOCA(\7f4564,153924
-#define SAFE_ALLOCA(\7f4568,154035
-#define SAFE_NALLOCA(\7f4576,154376
-#define SAFE_ALLOCA_STRING(\7f4590,154852
-#define SAFE_FREE(\7f4598,155104
-#define SAFE_ALLOCA_LISP(\7f4625,155682
-# define USE_STACK_LISP_OBJECTS \7f4652,156804
-# undef USE_STACK_LISP_OBJECTS\7f4658,156970
-# define USE_STACK_LISP_OBJECTS \7f4659,157001
-enum { defined_GC_CHECK_STRING_BYTES \7f4663,157076
-enum { defined_GC_CHECK_STRING_BYTES \7f4665,157129
-union Aligned_Cons\7f4670,157263
-  struct Lisp_Cons s;\7f4672,157284
-  double d;\7f4673,157306
-  double d; intmax_t i;\7f4673,157306
-  double d; intmax_t i; void *p;\7fp\ 14673,157306
-union Aligned_String\7f4676,157343
-  struct Lisp_String s;\7f4678,157366
-  double d;\7f4679,157390
-  double d; intmax_t i;\7f4679,157390
-  double d; intmax_t i; void *p;\7fp\ 14679,157390
-    USE_STACK_CONS \7f4689,157698
-    USE_STACK_STRING \7f4691,157804
-#define STACK_CONS(\7f4699,158141
-#define AUTO_CONS_EXPR(\7f4701,158238
-#define AUTO_CONS(\7f4709,158601
-#define AUTO_LIST1(\7f4710,158672
-#define AUTO_LIST2(\7f4712,158780
-#define AUTO_LIST3(\7f4716,158935
-#define AUTO_LIST4(\7f4720,159110
-extern const char *verify_ascii \7fverify_ascii\ 14730,159447
-# define verify_ascii(\7f4732,159501
-#define AUTO_STRING(\7f4740,159809
-#define FOR_EACH_TAIL(\7f4752,160273
-#define FOR_EACH_ALIST_VALUE(\7f4766,160764
-maybe_gc \7f4774,161051
-functionp \7f4784,161290
-\f
-c-src/machsyscalls.c,23
-#define        SYSCALL(\7f6,113
-\f
-c-src/machsyscalls.h,159
-SYSCALL (mach_msg_trap,\7f1,0
-SYSCALL (mach_reply_port,\7f13,314
-SYSCALL (mach_thread_self,\7f18,377
-SYSCALL (mach_task_self,\7f23,441
-SYSCALL (mach_host_self,\7f28,503
-\f
-c-src/fail.c,30
-void (*prt_call(\7fprt_call\ 11,0
-\f
-c-src/h.h,2506
-   ELEM_I/\7fELEM_I\ 13,15
-} Fails_t;\7f5,85
-typedef void Lang_function \7f6,96
-void Asm_labels \7f7,127
-typedef struct tpcmd\7f8,147
-#define ggg \7f10,170
-  } arg;\7f13,198
-tpcmd;\7f15,209
-typedef struct foobar2_ \7f16,216
-    fu   int (*funcptr)\7ffuncptr\ 117,242
-    long foo;\7f18,279
-    char bar;\7f19,293
-} foobar2;\7f20,307
-    DEVICE_SWP,\7f23,333
-    DEVICE_LAST\7f24,349
-} bsp_DevId;\7f25,365
-  struct constant_args \7f27,394
-    unsigned int burst;\7f28,419
-  } constant;\7f29,443
-} args;\7f30,457
-typedef int *regset;\7fregset\ 131,465
-typedef int INT;\7f32,486
-typedef union abc\7f33,503
-  int def;\7f35,523
-} ghi1;\7f36,534
-typedef union abc \7f37,542
-  int def;\7f38,562
-} ghi2;\7f39,573
-typedef struct a \7f40,581
-} b;\7f41,600
-#define c(\7f42,605
-typedef struct an_extern_linkage *an_extern_linkage_ptr;\7fan_extern_linkage_ptr\ 143,619
-typedef struct an_extern_linkage \7f44,676
-               kind;\7f46,733
-               is_explicit;\7f49,812
-  a_byte_boolean is_curly_brace_form;\7f54,1009
-} an_extern_linkage;\7f56,1054
-typedef struct pollfd   pfdset[\7fpfdset\ 157,1075
-typedef union rtunion_def\7f58,1119
-    int rtint;\7f60,1149
-    char *rtstr;\7frtstr\ 161,1164
-    struct rtx_def *rtx;\7frtx\ 162,1181
-  } womboid \7f63,1206
-typedef union rtunion_def\7f64,1220
-  int rtint;\7f68,1250
-  char *rtstr;\7frtstr\ 169,1263
-  struct rtx_def *rtxp;\7frtxp\ 170,1278
-  struct rtx_def rtxnp;\7f71,1302
-womboid\7f75,1330
-enum {dog,\7fdog\ 181,1416
-enum {dog, cat}\7fcat\ 181,1416
-enum {dog, cat} animals;\7f81,1416
-typedef void (_CALLBACK_ *signal_handler)\7fsignal_handler\ 182,1441
-typedef void (_CALLBACK_ *signal_handler1)\7fsignal_handler1\ 183,1489
-/* comment */ #define ANSIC\7f84,1538
- #define ANSIC\7f85,1566
-typedef void (proc)\7f87,1588
-typedef void OperatorFun(\7f88,1612
-typedef int f(\7f89,1648
-struct my_struct \7f91,1691
-typedef struct my_struct my_typedef;\7f93,1713
-typedef RETSIGTYPE (*signal_handler_t)\7fsignal_handler_t\ 194,1750
-  Date 04 May 87 235311 PDT \7f96,1802
-typedef unsigned char unchar;\7f99,1880
-typedef int X,\7f100,1910
-typedef int X, Y,\7f100,1910
-typedef int X, Y, Z;\7f100,1910
-typedef mio mao;\7f101,1931
-extern void ab(\7f102,1948
-typedef struct a \7f103,1966
-typedef struct a { } b;\7f103,1966
-typedef struct b\7f104,1990
-} c;\7f106,2009
-int    (*oldhup)\7foldhup\ 1107,2014
-request (*oldhup)\7foldhup\ 1108,2031
-int extvar;\7f109,2053
-#define tag1\7f110,2065
-#define aaaaaa \7f111,2078
-#define bbbbbb\\7fbbbbbb\ 1113,2102
-#define cccccccccc\7f115,2125
-#define enter_critical_section \7f116,2144
-#define exit_critical_to_previous      \7f117,2199
-#define UNDEFINED\7f118,2259
-struct re_pattern_buffer \7f119,2277
-struct re_pattern_buffer { unsigned char *buffer;\7fbuffer\ 1119,2277
-\f
-cp-src/c.C,3629
-template <typename ipc3dIslandHierarchy,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels,\7f1,0
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels, typename ipc3dLinkControl,\7f1,0
-class CMultiChannelCSC19_3D\7f2,151
-        ipc3dLinkControlSetup setup;\7fCMultiChannelCSC19_3D::setup\ 15,190
-        ipc3dCSC19<\7fCMultiChannelCSC19_3D::ipc3dCSC19\ 16,227
-        ipc3dCSC19<ipc3dIslandHierarchy,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipc3dLinkControl> mcCSC;\7fCMultiChannelCSC19_3D::mcCSC\ 16,227
-        advTimer cscInitTime;\7fCMultiChannelCSC19_3D::cscInitTime\ 17,388
-        advTimer cscSegmentationTime;\7fCMultiChannelCSC19_3D::cscSegmentationTime\ 18,418
-        advTimer outputTime;\7fCMultiChannelCSC19_3D::outputTime\ 19,456
-        void execute(\7fCMultiChannelCSC19_3D::execute\ 111,493
-static void my_function1(\7f24,984
-int main \7f25,1026
-double base \7f26,1088
-operator += \7foperator +=\ 129,1174
-class TestRecord;\7f31,1233
-typedef struct s1 \7f32,1251
-   int counter;\7fs1::counter\ 133,1271
-} t1;\7f34,1287
-struct s2 \7f35,1293
-   int counter;\7fs2::counter\ 136,1305
-typedef struct s2 t2;\7f38,1324
-class A \7f39,1346
-  enum { rosso,\7fA::rosso\ 140,1356
-  enum { rosso, giallo,\7fA::giallo\ 140,1356
-  enum { rosso, giallo, verde \7fA::verde\ 140,1356
-  enum { rosso, giallo, verde } colori;\7fA::colori\ 140,1356
-  const A& operator+(\7fA::operator+\ 141,1396
-const A& A::operator+(\7f43,1431
-void operator+(\7f44,1467
-void operator -(\7foperator -\ 145,1495
-void operator int(\7foperator int\ 146,1524
-A<int>* f(\7f48,1556
-int f(\7f49,1571
-int A<int>::f(\7ff\ 150,1590
-A<float,B<int> > A<B<float>,int>::f(\7ff\ 151,1618
-template <class C, int n> class AT \7f52,1668
-template <class C, int n> class AT { C t[\7fAT::t\ 152,1668
-class AU \7f53,1716
-class AU { T x;\7fAU::x\ 153,1716
-class B<\7fB\ 154,1735
-class B<int> { void f(\7fB::f\ 154,1735
-const A::B::T& abt \7f55,1766
-class A \7f56,1792
-class A { class B \7fA::B\ 156,1792
-class A { class B { int f(\7fA::B::f\ 156,1792
-class A \7f57,1827
-  int get_data(\7fA::get_data\ 158,1837
-  A operator+(\7fA::operator+\ 159,1861
-is_muldiv_operation(\7f61,1888
-domain foo \7f68,1956
-     void f(\7ffoo::f\ 169,1969
-void A::A(\7f72,1990
-struct A \7f73,2005
-struct A { A(\7fA::A\ 173,2005
-struct B \7f74,2023
-struct B { B(\7fB::B\ 174,2023
-void B::B(\7f75,2042
-void BE_Node::BE_Node(\7f76,2057
-class BE_Node \7f77,2084
-struct foo \7f79,2103
-  int x;\7ffoo::x\ 180,2116
-class test \7f86,2157
-  int f(\7ftest::f\ 187,2170
-  int ff(\7ftest::ff\ 189,2232
-  int g(\7ftest::g\ 190,2255
-class  AST_Root \7f92,2279
-class  AST_Root;\7f96,2328
-AST_ConcreteType::AST_ConcreteType(\7f99,2394
-AST_Array::AST_Array(\7f107,2533
-     void f(\7f::f\ 1115,2734
-struct A \7f117,2754
-    ~A(\7fA::~A\ 1118,2765
-A::~A(\7f120,2778
-struct B \7f122,2790
-    ~B(\7fB::~B\ 1123,2801
-enum {dog,\7f::dog\ 1126,2818
-enum {dog, cat}\7f::cat\ 1126,2818
-enum {dog, cat} animals;\7f126,2818
-struct {int teats;\7f::teats\ 1127,2843
-struct {int teats;} cow;\7f127,2843
-class Boo \7f129,2869
-    enum {dog,\7fBoo::dog\ 1130,2881
-    enum {dog, cat}\7fBoo::cat\ 1130,2881
-    enum {dog, cat} animals;\7fBoo::animals\ 1130,2881
-    struct {int treats;\7fBoo::treats\ 1131,2910
-    struct {int treats;} cow;\7fBoo::cow\ 1131,2910
-    int i,\7fBoo::i\ 1132,2940
-    int i,a,\7fBoo::a\ 1132,2940
-    int i,a,b;\7fBoo::b\ 1132,2940
-    foo(\7fBoo::foo\ 1133,2955
-    Boo(\7fBoo::Boo\ 1137,2996
-    Boo(\7fBoo::Boo\ 1138,3053
-Boo::Boo(\7f141,3071
-typedef int should_see_this_one_enclosed_in_extern_C;\7f149,3156
-typedef int (*should_see_this_function_pointer)\7fshould_see_this_function_pointer\ 1153,3229
-typedef int should_see_this_array_type[\7fshould_see_this_array_type\ 1156,3311
-\f
-cp-src/x.cc,110
-class XX\7f1,0
-     int foo(\7fXX::foo\ 14,19
-     void bar(\7fXX::bar\ 15,35
-XX::foo(\7f9,60
-XX::bar(\7f15,95
-main(\7f21,126
-\f
-cp-src/burton.cpp,103
-::dummy::dummy test::dummy1(\7f1,0
-::dummy::dummy test::dummy2(\7f6,64
-::dummy::dummy test::dummy3(\7f11,143
-\f
-cp-src/functions.cpp,807
-void Date::setDate \7f5,148
-void Date::plus \7f32,938
-void Date::minus \7f42,1226
-void Date::shift \7f52,1404
-Date & Date::operator = \7fDate::operator =\ 162,1625
-Date & Date::operator += \7fDate::operator +=\ 169,1786
-Date & Date::operator -= \7fDate::operator -=\ 178,1935
-Date & Date::operator ++ \7fDate::operator ++\ 187,2076
-Date & Date::operator -- \7fDate::operator --\ 196,2212
-int Date::operator - \7fDate::operator -\ 1104,2327
-int Date::operator < \7fDate::operator <\ 1112,2479
-int Date::operator > \7fDate::operator >\ 1116,2553
-int Date::operator == \7fDate::operator ==\ 1120,2627
-ostream& operator << \7foperator <<\ 1124,2703
-istream& operator >> \7foperator >>\ 1133,2939
-bool isLeap \7f159,3539
-bool isHoliday \7f163,3625
-void asort(\7f173,3861
-void ReadVacation \7f186,4060
-void Debug \7f201,4519
-int WorkingDays(\7f211,4863
-Date StartDay(\7f226,5125
-\f
-cp-src/MDiagArray2.h,1538
-#define octave_MDiagArray2_h \7f29,870
-#undef LTGT\7f35,967
-#define LTGT\7f39,1031
-#define LTGT \7f42,1051
-class MDiagArray2;\7f45,1087
-operator += \7foperator +=\ 148,1145
-operator -= \7foperator -=\ 151,1242
-operator * \7foperator *\ 154,1339
-operator / \7foperator /\ 157,1428
-operator * \7foperator *\ 160,1517
-operator + \7foperator +\ 163,1605
-operator - \7foperator -\ 166,1707
-product \7f69,1808
-operator - \7foperator -\ 172,1907
-class MDiagArray2 \7f78,2022
-  MDiagArray2 \7fMDiagArray2::MDiagArray2\ 182,2077
-  MDiagArray2 \7fMDiagArray2::MDiagArray2\ 186,2154
-  MDiagArray2 \7fMDiagArray2::MDiagArray2\ 187,2198
-  MDiagArray2 \7fMDiagArray2::MDiagArray2\ 188,2254
-  MDiagArray2 \7fMDiagArray2::MDiagArray2\ 189,2329
-  MDiagArray2 \7fMDiagArray2::MDiagArray2\ 190,2387
-  MDiagArray2 \7fMDiagArray2::MDiagArray2\ 191,2450
-  ~MDiagArray2 \7fMDiagArray2::~MDiagArray2\ 193,2515
-  MDiagArray2<T>& operator = \7fMDiagArray2::operator =\ 195,2542
-      DiagArray2<T>::operator = \7fMDiagArray2::operator =\ 197,2603
-  operator MArray2<T> \7fMDiagArray2::operator MArray2<T>\ 1101,2667
-  operator += \7fMDiagArray2::operator +=\ 1116,2966
-  operator -= \7fMDiagArray2::operator -=\ 1119,3057
-  friend MDiagArray2<T> operator * \7fMDiagArray2::operator *\ 1123,3174
-  friend MDiagArray2<T> operator / \7fMDiagArray2::operator /\ 1124,3253
-  friend MDiagArray2<T> operator * \7fMDiagArray2::operator *\ 1128,3384
-  operator + \7fMDiagArray2::operator +\ 1133,3544
-  operator - \7fMDiagArray2::operator -\ 1136,3640
-  friend MDiagArray2<T> operator - \7fMDiagArray2::operator -\ 1141,3803
-#undef LTGT\7f144,3874
-#define INSTANTIATE_MDIAGARRAY_FRIENDS(\7f146,3887
-\f
-cp-src/Range.h,1136
-#define octave_Range_h \7f24,765
-class istream;\7f30,840
-class ostream;\7f31,855
-class Matrix;\7f32,870
-Range\7f35,891
-  Range \7fRange::Range\ 139,909
-  Range \7fRange::Range\ 142,995
-  Range \7fRange::Range\ 146,1130
-  Range \7fRange::Range\ 150,1248
-  double base \7fRange::base\ 154,1376
-  double limit \7fRange::limit\ 155,1425
-  double inc \7fRange::inc\ 156,1475
-  int nelem \7fRange::nelem\ 157,1523
-  bool all_elements_are_ints \7fRange::all_elements_are_ints\ 159,1571
-  Matrix matrix_value \7fRange::matrix_value\ 161,1615
-  double min \7fRange::min\ 163,1652
-  double max \7fRange::max\ 164,1679
-  void sort \7fRange::sort\ 166,1707
-  void set_base \7fRange::set_base\ 168,1728
-  void set_limit \7fRange::set_limit\ 169,1774
-  void set_inc \7fRange::set_inc\ 170,1821
-  friend ostream& operator << \7fRange::operator <<\ 172,1867
-  friend istream& operator >> \7fRange::operator >>\ 173,1928
-  void print_range \7fRange::print_range\ 175,1984
-  double rng_base;\7fRange::rng_base\ 179,2023
-  double rng_limit;\7fRange::rng_limit\ 180,2042
-  double rng_inc;\7fRange::rng_inc\ 181,2062
-  int rng_nelem;\7fRange::rng_nelem\ 183,2081
-  int nelem_internal \7fRange::nelem_internal\ 185,2099
-extern Range operator - \7foperator -\ 188,2138
-\f
-cp-src/screen.cpp,228
-unsigned char cursor_x,\7f15,548
-unsigned char cursor_x, cursor_y;\7f15,548
-static union REGS regs;\7f16,582
-void goto_xy(\7f18,607
-void hide_cursor(\7f27,774
-void cursor_position(\7f32,836
-void clear_screen(\7f41,997
-void write_xyc(\7f55,1247
-\f
-cp-src/screen.hpp,791
-#define __COLORS\7f9,401
-enum COLORS \7f11,419
-    BLACK,\7fCOLORS::BLACK\ 112,433
-    BLUE,\7fCOLORS::BLUE\ 113,471
-    GREEN,\7fCOLORS::GREEN\ 114,481
-    CYAN,\7fCOLORS::CYAN\ 115,492
-    RED,\7fCOLORS::RED\ 116,502
-    MAGENTA,\7fCOLORS::MAGENTA\ 117,511
-    BROWN,\7fCOLORS::BROWN\ 118,524
-    LIGHTGRAY,\7fCOLORS::LIGHTGRAY\ 119,535
-    DARKGRAY,\7fCOLORS::DARKGRAY\ 120,550
-    LIGHTBLUE,\7fCOLORS::LIGHTBLUE\ 121,589
-    LIGHTGREEN,\7fCOLORS::LIGHTGREEN\ 122,604
-    LIGHTCYAN,\7fCOLORS::LIGHTCYAN\ 123,620
-    LIGHTRED,\7fCOLORS::LIGHTRED\ 124,635
-    LIGHTMAGENTA,\7fCOLORS::LIGHTMAGENTA\ 125,649
-    YELLOW,\7fCOLORS::YELLOW\ 126,667
-    WHITE\7fCOLORS::WHITE\ 127,679
-#define SCREEN_FP(\7f31,700
-#define SCREEN_START \7f33,795
-void goto_xy(\7f35,835
-void hide_cursor(\7f36,883
-void cursor_position(\7f37,907
-void clear_screen(\7f38,935
-void write_xyc(\7f39,960
-\f
-cp-src/conway.cpp,270
-#define max(\7f12,357
-#define min(\7f13,393
-const int num_rows \7f15,430
-const int num_columns \7f16,470
-class site *field_of_play[\7ffield_of_play\ 118,499
-int site::total_surrounding(\7f20,550
-void display(\7f37,958
-void glider(\7f50,1239
-void traffic_light(\7f59,1478
-void main(\7f67,1633
-\f
-cp-src/conway.hpp,483
-class site:\7fsite\ 15,235
-    char x,\7fsite::x\ 17,269
-    char x, y,\7fsite::y\ 17,269
-    char x, y, alive,\7fsite::alive\ 17,269
-    char x, y, alive, next_alive;\7fsite::next_alive\ 17,269
-    int total_surrounding(\7fsite::total_surrounding\ 18,303
-    site(\7fsite::site\ 110,344
-    ~site(\7fsite::~site\ 111,397
-    char read(\7fsite::read\ 112,410
-    void set(\7fsite::set\ 113,444
-    void clear(\7fsite::clear\ 114,478
-    void compute_next_state(\7fsite::compute_next_state\ 115,514
-    void step(\7fsite::step\ 122,717
-\f
-cp-src/clheir.cpp,307
-const int max_num_generic_objects \7f9,298
-generic_object * object_registry[\7fobject_registry\ 110,340
-void init_registry(\7f12,400
-void step_everybody(\7f19,527
-void discrete_location::clear_neighbors(\7f31,852
-generic_object::generic_object(\7f36,981
-generic_object::~generic_object(\7f48,1255
-void agent::move(\7f53,1353
-\f
-cp-src/clheir.hpp,1600
-extern void init_registry(\7f10,452
-extern void step_everybody(\7f11,485
-class generic_object\7f13,520
-    int where_in_registry;\7fgeneric_object::where_in_registry\ 115,547
-    generic_object(\7fgeneric_object::generic_object\ 117,582
-    ~generic_object(\7fgeneric_object::~generic_object\ 119,724
-    virtual void compute_next_state(\7fgeneric_object::compute_next_state\ 121,843
-    virtual void step(\7fgeneric_object::step\ 122,889
-const int max_num_directions \7f31,1220
-class location:\7flocation\ 133,1290
-    location(\7flocation::location\ 143,1643
-    ~location(\7flocation::~location\ 144,1662
-class irregular_location:\7firregular_location\ 147,1687
-    double x,\7firregular_location::x\ 149,1735
-    double x, y,\7firregular_location::y\ 149,1735
-    double x, y, z;\7firregular_location::z\ 149,1735
-    irregular_location(\7firregular_location::irregular_location\ 151,1763
-    ~irregular_location(\7firregular_location::~irregular_location\ 153,1855
-class discrete_location:\7fdiscrete_location\ 156,1890
-    int x,\7fdiscrete_location::x\ 158,1937
-    int x, y,\7fdiscrete_location::y\ 158,1937
-    int x, y, z;\7fdiscrete_location::z\ 158,1937
-    class location *neighbors[\7fdiscrete_location::neighbors\ 159,1954
-    void clear_neighbors(\7fdiscrete_location::clear_neighbors\ 160,2005
-    discrete_location(\7fdiscrete_location::discrete_location\ 162,2045
-    ~discrete_location(\7fdiscrete_location::~discrete_location\ 165,2155
-    void assign_neighbor(\7fdiscrete_location::assign_neighbor\ 166,2185
-class agent:\7fagent\ 175,2509
-    location *where;\7fagent::where\ 177,2550
-    agent(\7fagent::agent\ 179,2579
-    ~agent(\7fagent::~agent\ 180,2592
-    void move(\7fagent::move\ 181,2606
-\f
-cp-src/fail.C,438
-struct A \7f7,263
-          struct B \7fA::B\ 18,274
-                  struct C \7fA::B::C\ 19,289
-                          int x;\7fA::B::C::x\ 110,305
-                          C(\7fA::B::C::C\ 111,318
-                          operator int(\7fA::B::C::operator int\ 112,342
-                  typedef C T;\7fA::B::T\ 114,389
-          typedef B T2;\7fA::T2\ 116,414
-class String;\7f20,437
-class A \7f23,453
-       class B \7fA::B\ 124,463
-               class C \7fA::B::C\ 125,474
-               int f(\7fA::B::f\ 126,488
-int A::B::f(\7f31,521
-main(\7f37,571
-       class D \7f41,622
-               D(\7fD::D\ 143,659
-               int x;\7fD::x\ 144,694
-\f
-el-src/TAGTEST.EL,181
-(foo::defmumble bletch \7f3,33
-(defun foo==bar \7ffoo==bar\ 14,66
-(defalias 'pending-delete-mode \7fpending-delete-mode\ 18,182
-(defalias (quote explicitly-quoted-pending-delete-mode)\7f11,255
-\f
-el-src/emacs/lisp/progmodes/etags.el,5188
-(defvar tags-file-name \7f34,1035
-(defgroup etags \7f43,1499
-(defcustom tags-case-fold-search \7f47,1567
-(defcustom tags-table-list \7f59,2052
-(defcustom tags-compression-info-list\7f69,2450
-(defcustom tags-add-tables \7f88,3232
-(defcustom tags-revert-without-query \7f98,3628
-(defvar tags-table-computed-list \7f103,3779
-(defvar tags-table-computed-list-for \7f112,4263
-(defvar tags-table-list-pointer \7f117,4511
-(defvar tags-table-list-started-at \7f121,4702
-(defvar tags-table-set-list \7f124,4822
-(defcustom find-tag-hook \7f129,5001
-(defcustom find-tag-default-function \7f137,5264
-(define-obsolete-variable-alias 'find-tag-marker-ring-length\7ffind-tag-marker-ring-length\ 1145,5603
-(defcustom tags-tag-face \7f148,5700
-(defcustom tags-apropos-verbose \7f154,5835
-(defcustom tags-apropos-additional-actions \7f160,5999
-(defvaralias 'find-tag-marker-ring \7ffind-tag-marker-ring\ 1183,6921
-(defvar default-tags-table-function \7f189,7101
-(defvar tags-location-ring \7f194,7327
-(defvar tags-table-files \7f201,7603
-(defvar tags-completion-table \7f206,7770
-(defvar tags-included-tables \7f209,7862
-(defvar next-file-list \7f212,7957
-(defvar tags-table-format-functions \7f217,8063
-(defvar file-of-tag-function \7f224,8444
-(defvar tags-table-files-function \7f228,8638
-(defvar tags-completion-table-function \7f230,8749
-(defvar snarf-tag-function \7f232,8844
-(defvar goto-tag-location-function \7f236,9053
-(defvar find-tag-regexp-search-function \7f239,9226
-(defvar find-tag-regexp-tag-order \7f241,9347
-(defvar find-tag-regexp-next-line-after-failure-p \7f243,9456
-(defvar find-tag-search-function \7f245,9576
-(defvar find-tag-tag-order \7f247,9683
-(defvar find-tag-next-line-after-failure-p \7f249,9778
-(defvar list-tags-function \7f251,9884
-(defvar tags-apropos-function \7f253,9972
-(defvar tags-included-tables-function \7f255,10066
-(defvar verify-tags-table-function \7f257,10185
-(defun initialize-new-tags-table \7f260,10296
-(defun tags-table-mode \7f276,10984
-(defun visit-tags-table \7f285,11249
-(defun tags-table-check-computed-list \7f321,12787
-(defun tags-table-extend-computed-list \7f360,14658
-(defun tags-expand-table-name \7f400,16371
-(defun tags-table-list-member \7f409,16714
-(defun tags-verify-table \7f421,17186
-(defun tags-table-including \7f470,19306
-(defun tags-next-table \7f522,21350
-(defun visit-tags-table-buffer \7f543,22207
-(defun tags-reset-tags-tables \7f712,28517
-(defun file-of-tag \7f731,29174
-(defun tags-table-files \7f740,29524
-(defun tags-included-tables \7f749,29874
-(defun tags-completion-table \7f755,30120
-(defun tags-lazy-completion-table \7f783,31314
-(defun tags-completion-at-point-function \7f799,31949
-(defun find-tag-tag \7f818,32699
-(defvar last-tag \7f837,33372
-(defun find-tag-interactive \7f840,33431
-(defvar find-tag-history \7f852,33846
-(defvar etags-case-fold-search)\7f855,33911
-(defvar etags-syntax-table)\7f856,33943
-(defvar local-find-tag-hook)\7f857,33971
-(defun find-tag-noselect \7f860,34016
-(defun find-tag \7f932,37130
-(defun find-tag-other-window \7f959,38346
-(defun find-tag-other-frame \7f1000,40274
-(defun find-tag-regexp \7f1025,41448
-(defalias 'pop-tag-mark \7fpop-tag-mark\ 11049,42610
-(defvar tag-lines-already-matched \7f1052,42661
-(defun find-tag-in-order \7f1055,42768
-(defun tag-find-file-of-tag-noselect \7f1167,47114
-(defun tag-find-file-of-tag \7f1200,48960
-(defun etags-recognize-tags-table \7f1208,49186
-(defun etags-verify-tags-table \7f1241,50817
-(defun etags-file-of-tag \7f1246,51015
-(defun etags-tags-completion-table \7f1256,51350
-(defun etags-snarf-tag \7f1286,52556
-(defun etags-goto-tag-location \7f1324,54125
-(defun etags-list-tags \7f1388,56568
-(defmacro tags-with-face \7f1423,57843
-(defun etags-tags-apropos-additional \7f1431,58176
-(defun etags-tags-apropos \7f1465,59413
-(defun etags-tags-table-files \7f1527,61622
-(defun etags-tags-included-tables \7f1542,62058
-(defun tags-recognize-empty-tags-table \7f1559,62598
-(defun tag-exact-file-name-match-p \7f1587,63744
-(defun tag-file-name-match-p \7f1596,64137
-(defun tag-exact-match-p \7f1609,64693
-(defun tag-implicit-name-match-p \7f1620,65261
-(defun tag-symbol-match-p \7f1633,65861
-(defun tag-word-match-p \7f1643,66297
-(defun tag-partial-file-name-match-p \7f1652,66695
-(defun tag-any-match-p \7f1662,67139
-(defun tag-re-match-p \7f1667,67323
-(defcustom tags-loop-revert-buffers \7f1675,67572
-(defun next-file \7f1685,67981
-(defvar tags-loop-operate \7f1760,70895
-(defvar tags-loop-scan\7f1763,70989
-(defun tags-loop-eval \7f1771,71318
-(defun tags-loop-continue \7f1782,71647
-(defun tags-search \7f1850,73953
-(defun tags-query-replace \7f1871,74779
-(defun tags-complete-tags-table-file \7f1896,76003
-(defun list-tags \7f1906,76382
-(defun tags-apropos \7f1934,77335
-(define-button-type 'tags-select-tags-table\7ftags-select-tags-table\ 11957,78161
-(defun select-tags-table \7f1964,78400
-(defvar select-tags-table-mode-map \7f2019,80527
-(define-derived-mode select-tags-table-mode \7f2030,80910
-(defun select-tags-table-select \7f2034,81094
-(defun select-tags-table-quit \7f2043,81460
-(defun complete-tag \7f2049,81615
-(defconst etags--xref-limit \7f2074,82556
-(defvar etags-xref-find-definitions-tag-order \7f2076,82591
-(defun etags-xref-find \7f2082,82881
-(defun etags--xref-find-definitions \7f2096,83410
-(defclass xref-etags-location \7f2129,85124
-(defun xref-make-etags-location \7f2135,85347
-(cl-defmethod xref-location-marker \7f2139,85502
-(cl-defmethod xref-location-line \7f2146,85746
-\f
-erl-src/gs_dialog.erl,98
--define(VERSION\7f2,32
-behaviour_info(\7f51,2177
-show(\7f124,5458
-dialog_loop(\7f219,9529
-test(\7f252,10806
-\f
-f-src/entry.for,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-f-src/entry.strange_suffix,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-f-src/entry.strange,172
-      LOGICAL FUNCTION PRTPKG \7f3,75
-       ENTRY  SETPRT \7f194,3866
-       ENTRY  MSGSEL \7f395,8478
-     & intensity1(\7f577,12231
-       character*(*) function foo(\7f579,12307
-\f
-forth-src/test-forth.fth,733
-: a-forth-word\7f20,301
-99 constant a-forth-constant!\7f22,343
-55 value a-forth-value?\7f23,373
-create :a-forth-dictionary-entry\7f24,397
-defer #a-defer-word\7f27,460
-: (another-forth-word)\7f(another-forth-word)\ 129,481
-   9   field   >field1\7f36,582
-   5   field   >field2\7f37,605
-constant (a-forth-constant\7f(a-forth-constant\ 138,628
-2000 buffer: #some-storage\7f41,657
-code assemby-code-word\7f43,685
-: a-forth-word\7f50,870
-: (foo)\7f(foo)\ 155,988
-: foo\7f56,1000
-: create-bar\7f58,1015
-3 4 2constant 2const\7f61,1074
-2const 2value 2val\7f62,1095
-2variable 2var\7f63,1114
-3.1415e fconstant fconst\7f65,1130
-fconst fvalue fval\7f66,1155
-fvariable fvar\7f67,1174
-synonym mypi\7f69,1190
-BEGIN-STRUCTURE point\7f71,1211
-  1 CELLS +FIELD p.x\7f72,1262
-  1 CELLS +FIELD p.y\7f73,1318
-\f
-go-src/test.go,48
-package main\7f1,0
-func say(\7f5,28
-func main(\7f9,72
-\f
-go-src/test1.go,172
-package main\7f1,0
-type plus \7f5,28
-type str \7f9,65
-type intNumber \7f13,99
-func (s str) PrintAdd(\7f17,136
-func (n intNumber) PrintAdd(\7f21,189
-func test(\7f25,248
-func main(\7f29,285
-\f
-html-src/softwarelibero.html,200
-Cos'è il software libero?\7f4,38
-Licenze d'uso di un programma\7flicenze\ 165,2502
-Sfatiamo alcuni miti\7f138,6122
-Il movimento open source\7foss\ 1191,8041
-Impatto pratico del software libero\7fimpatto\ 1231,10070
-\f
-html-src/index.shtml,104
-&nbsp;\7f8,281
-In evidenza\7f15,447
-Comunicati e iniziative\7f32,976
-Ultime notizie dall'associazione\7f63,2030
-\f
-html-src/algrthms.html,467
-Tutorial on Convolutional Coding with Viterbi Decoding--Description of the Data Generation, Convolutional Encoding, Channel Mapping and AWGN, and Quantizing Algorithms\7f7,277
-Description\7falgorithms\ 110,481
-Generating the Data\7fgenalgorithm\ 148,1995
-Convolutionally\7fconalgorithm\ 155,2512
-Next\7fstatetable\ 1262,11587
-Output\7foutputtable\ 1350,13915
-Mapping the Channel Symbols\7fmapping\ 1433,16213
-Adding Noise to the\7faddnoise\ 1439,16607
-Quantizing the Received\7fquantizing\ 1469,19100
-\f
-html-src/software.html,439
-Francesco Potortì Software Page\7f9,280
-Software that I wrote for supporting my research activity\7fsimulation\ 136,1398
-MTG\7fmtg\ 141,1482
-Fracas\7ffracas\ 165,2624
-GaliLEO\7fgalileo\ 1101,4232
-Leasqr\7fleasqr\ 1114,4677
-Free software that I wrote for the GNU project or for my personal or work\7fgnu\ 1142,6066
-Etags\7fetags\ 1148,6181
-checkiso\7f161,6731
-cgrep\7f178,7549
-debian-bug.el\7fdebian-bug\ 1190,7981
-tcpdump\7f205,8566
-Links to interesting software\7flinks\ 1216,8893
-\f
-lua-src/allegro.lua,400
-local function get_layer_by_name \7f7,175
-local function count_layers \7f33,621
-function GetLayerByName \7f54,980
-function GetUniqueLayerName \7f65,1204
-function SelectLayer \7f76,1415
-function NewLayer \7f86,1773
-function NewLayerSet \7f144,3226
-function RemoveLayer \7f170,3750
-function MoveLayerTop \7f211,4767
-function MoveLayerBottom \7f223,5079
-function MoveLayerBefore \7f236,5457
-function MoveLayerAfter \7f258,6090
-\f
-lua-src/test.lua,442
-function Rectangle.getPos \7f2,15
-function Rectangle.getPos \7fgetPos\ 12,15
-function Circle.getPos \7f6,61
-function Circle.getPos \7fgetPos\ 16,61
-function Cube.data.getFoo \7f10,102
-function Cube.data.getFoo \7fgetFoo\ 110,102
-function Square.something:Bar \7f14,148
-function Square.something:Bar \7fBar\ 114,148
-   function test.me_22a(\7f22,241
-   function test.me_22a(\7fme_22a\ 122,241
-   local function test.me22b \7f25,297
-   local function test.me22b \7fme22b\ 125,297
-\f
-make-src/Makefile,2175
-LATEST=\7f1,0
-RELEASELIST=\7f2,10
-ADASRC=\7f4,104
-ASRC=\7f5,171
-CSRC=\7f6,197
-CPSRC=\7f10,423
-ELSRC=\7f13,614
-ERLSRC=\7f14,661
-FORTHSRC=\7f15,702
-FSRC=\7f16,726
-HTMLSRC=\7f17,776
-JAVASRC=\7f18,844
-LUASRC=\7f19,907
-MAKESRC=\7f20,926
-OBJCSRC=\7f21,943
-OBJCPPSRC=\7f22,999
-PASSRC=\7f23,1035
-PERLSRC=\7f24,1053
-PHPSRC=\7f25,1108
-PSSRC=\7f26,1156
-PROLSRC=\7f27,1173
-PYTSRC=\7f28,1210
-TEXSRC=\7f29,1227
-YSRC=\7f30,1282
-SRCS=\7f31,1325
-NONSRCS=\7f35,1577
-VHDLFLAGS=\7f37,1624
-COBOLFLAGS=\7f38,1827
-POSTSCRIPTFLAGS=\7f39,1889
-TCLFLAGS=\7f40,1943
-GETOPTOBJS=\7f42,2002
-RXINCLUDE=\7f43,2034
-REGEXOBJS=\7f44,2056
-CHECKOBJS=\7f46,2075
-CHECKFLAGS=\7f47,2105
-OBJS=\7f48,2145
-CPPFLAGS=\7f49,2190
-LDFLAGS=\7f50,2259
-WARNINGS=\7f51,2282
-CFLAGS=\7f52,2466
-FASTCFLAGS=\7f55,2530
-FASTCFLAGSWARN=\7f56,2591
-FILTER=\7f58,2641
-REGEX=\7f59,2695
-xx=\7f60,2741
-MAKE:\7fMAKE\ 162,2790
-RUN=\7f63,2825
-RUN=\7f64,2865
-OPTIONS=\7f65,2870
-ARGS=\7f66,2922
-infiles \7f68,2940
-quiettest:\7fquiettest\ 170,3002
-test:\7ftest\ 179,3409
-${CHECKOBJS}:\7f${CHECKOBJS}\ 188,3805
-checker:\7fchecker\ 190,3849
-standalone:\7fstandalone\ 196,4062
-prof:\7fprof\ 1101,4168
-fastetags:\7ffastetags\ 1104,4198
-fastctags:\7ffastctags\ 1108,4322
-staticetags:\7fstaticetags\ 1112,4446
-rsynctofly:\7frsynctofly\ 1116,4608
-rsyncfromfly:\7frsyncfromfly\ 1119,4698
-web ftp publish:\7fweb ftp publish\ 1122,4794
-release distrib:\7frelease distrib\ 1129,5115
-tags:\7ftags\ 1134,5255
-clean:\7fclean\ 1136,5267
-srclist:\7fsrclist\ 1139,5302
-regexfile:\7fregexfile\ 1143,5391
-/home/www/pub/etags.c.gz:\7f/home/www/pub/etags.c.gz\ 1149,5566
-/home/www/pub/software/unix/etags.tar.gz:\7f/home/www/pub/software/unix/etags.tar.gz\ 1156,5825
-regex.o:\7fregex.o\ 1159,6031
-getopt.o:\7fgetopt.o\ 1162,6086
-getopt1.o:\7fgetopt1.o\ 1165,6147
-etags:\7fetags\ 1168,6210
-ctags:\7fctags\ 1171,6299
-man manpage:\7fman manpage\ 1174,6396
-etags.1.man:\7fetags.1.man\ 1176,6422
-maintaining.info:\7fmaintaining.info\ 1179,6475
-TAGS:\7fTAGS\ 1182,6557
-%ediff:\7f%ediff\ 1185,6587
-oediff:\7foediff\ 1188,6677
-%cdiff:\7f%cdiff\ 1191,6764
-xdiff:\7fxdiff\ 1194,6854
-ETAGS:\7fETAGS\ 1197,6942
-ETAGS%:\7fETAGS%\ 1200,7012
-ETAGS13 ETAGS14 ETAGS15:\7fETAGS13 ETAGS14 ETAGS15\ 1203,7084
-ETAGS12:\7fETAGS12\ 1206,7216
-OTAGS:\7fOTAGS\ 1209,7304
-CTAGS:\7fCTAGS\ 1212,7369
-CTAGS%:\7fCTAGS%\ 1215,7443
-CTAGS13 CTAGS14 CTAGS15:\7fCTAGS13 CTAGS14 CTAGS15\ 1218,7545
-EXTAGS:\7fEXTAGS\ 1221,7680
-.PRECIOUS:\7f.PRECIOUS\ 1224,7838
-FRC:\7fFRC\ 1226,7894
-\f
-objc-src/Subprocess.h,98
-#define Subprocess \7f41,1217
-#define BUFFERSIZE \7f43,1267
-@interface Subprocess:\7fSubprocess\ 145,1292
-\f
-objc-src/Subprocess.m,505
-#define        PTY_TEMPLATE \7f20,494
-#define        PTY_LENGTH \7f21,528
-static void showError(\7f23,551
-@interface Subprocess(Private)\7fSubprocess(Private)\ 132,737
-- childDidExit\7f39,851
-- fdHandler:\7f67,1589
-showError \7f98,2360
-fdHandler \7f112,2785
-getptys \7f119,2907
-- init:\7f183,4815
-    andStdErr:\7finit:withDelegate:andPtySupport:andStdErr:\ 1197,5147
-- send:(const char *)string withNewline:\7fsend:withNewline:\ 1300,7436
-- send:\7f308,7599
-- terminateInput\7f314,7689
-- terminate:\7f321,7810
-- setDelegate:\7f332,7961
-- delegate\7f338,8031
-\f
-objc-src/PackInsp.h,109
-#define NUMSTATS       \7f36,1101
-#define TYPESTOSTAT    \7f37,1120
-@interface PackageInspector:\7fPackageInspector\ 139,1172
-\f
-objc-src/PackInsp.m,1360
-static const char RCSid[\7fRCSid\ 130,1032
-#define VERSION        \7f34,1116
-#   define DEBUG \7f37,1155
-#define LISTCONTENTS   \7f39,1181
-#define OPENBUTTON     \7f47,1352
-#define LISTCONTENTSBUTTON     \7f48,1449
-#define LISTDESCRIPTIONBUTTON  \7f49,1562
-#define STATE_UNINSTALLED      \7f52,1687
-#define STATE_INSTALLED        \7f53,1807
-#define STATE_COMPRESSD        \7f54,1948
-#define SIZEFORMAT     \7f57,2152
-#define KBYTES \7f58,2362
-#define MBYTES \7f59,2473
-#define LOCALIZE(\7f61,2585
-#define LOCALIZE_ARCH(\7f62,2668
-+new\7fnew\ 167,2802
--showInfo:\7fshowInfo:\ 193,3417
--revert:\7frevert:\ 1107,3737
--ok:\7fok:\ 1136,4297
--load\7fload\ 1143,4424
-#define LOOKUP(\7f156,4826
-#undef LOOKUP\7f176,5694
--loadKeyValuesFrom:(const char *)type inTable:\7floadKeyValuesFrom:inTable:\ 1186,5852
--loadContentsOf:(const char *)type inTable:\7floadContentsOf:inTable:\ 1238,7079
--loadImage\7floadImage\ 1257,7552
-#define STAT_EQ(\7f275,7940
--(BOOL)shouldLoad\7f280,8116
--toggleDescription\7ftoggleDescription\ 1301,8626
--(const char *)getPath:(char *)buf forType:\7fgetPath:forType:\ 1317,8899
--setRevertButtonTitle\7fsetRevertButtonTitle\ 1333,9320
--(const char *)formatSize:(const char *)size inBuf:\7fformatSize:inBuf:\ 1344,9525
-#define WORKING        \7f368,10045
--(void)getArchs\7f370,10100
--(void)addArchs:\7f385,10520
--subprocess:(Subprocess *)sender output:\7fsubprocess:output:\ 1428,11351
--subprocessDone:\7fsubprocessDone:\ 1436,11484
-static void openInWorkspace(\7f446,11634
--open:\7fopen:\ 1464,12063
-\f
-objcpp-src/SimpleCalc.H,41
-@interface SimpleCalc:\7fSimpleCalc\ 114,400
-\f
-objcpp-src/SimpleCalc.M,300
-- init\7f52,1747
-- appendToDisplay:\7f60,1933
-- registerAction:\7f70,2210
-- decimalKey:\7f77,2348
-- numberKeys:\7f91,2661
-- equalsKey:\7f112,3192
-- operationKeys:\7f131,3680
-- clearKey:\7f153,4301
-- clearAllKey:\7f160,4410
-- appDidInit:\7f168,4591
-- windowWillClose:\7f178,4882
-- infoPanel:\7f186,5132
-- helpPanel:\7f198,5482
-\f
-pas-src/common.pas,1875
-procedure InitializeStringPackage;\7f26,527
-function newtextstring;\7f34,874
-procedure disposetextstring;\7f52,1404
-function ConcatT;\7f78,2066
-function AppendTextString;\7f112,3238
-function CopyTextString;\7f132,3947
-procedure CONVERT_CHARSTRING_TO_VALUE;\7f151,4505
-procedure append_string;\7f172,5166
-function To_Upper;\7f186,5462
-function To_Lower;\7f194,5617
-function EmptyNmStr(\7f209,6213
-function chartonmstr;\7f219,6436
-function LowerCaseNmStr;\7f230,6682
-function concatenatenamestrings;\7f242,7007
-procedure writenamestring;\7f263,7517
-function IsControlChar;\7f277,7928
-function namestringequal;\7f283,8079
-function NameStringLess;\7f302,8539
-function IsControlCharName(\7f343,9710
-function SubString;\7f358,10208
-function SkipChars;\7f379,10791
-function RemoveUnderlineControl;\7f397,11311
-procedure First100Chars;\7f427,12162
-procedure SkipSpaces;\7f462,13298
-function SkipBlanks;\7f477,13782
-function stripname;\7f505,14595
-function Locate;\7f522,15039
-function NameHasChar;\7f543,15581
-function integertonmstr;\7f561,16134
-function NmStrToInteger;\7f585,16901
-function AddNullToNmStr;\7f600,17317
-function ValToNmStr;\7f611,17585
-function ChangeFileType;\7f625,18037
-function StripPath;\7f647,18734
-function ReprOfChar;\7f675,19343
-procedure ExtractCommentInfo;\7f702,20749
-procedure INSERT_TREE_NODE;\7f784,24053
-function GetNameList;\7f920,27926
-procedure DisposeANameList(\7f925,28010
-procedure DisposeNameList;\7f938,28340
-function GetNewNameListNode;\7f943,28409
-function insertname;\7f972,29051
-procedure InitNameList;\7f988,29471
-procedure InitNameStringPool;\7f998,29767
-procedure NewNameString;\7f1004,29867
-procedure ReleaseNameString;\7f1022,30232
-procedure SDTrefStringToRec \7f1045,30741
-procedure SDTrefSkipSpaces;\7f1059,31092
-function SDTrefIsEnd \7f1070,31323
-function SDTrefGetInteger \7f1082,31529
-procedure SDTrefRecToString \7f1303,37546
-function NmStrToErrStr;\7f1497,42305
-function ErrStrToNmStr;\7f1509,42557
-function GetTextRef;\7f1529,43112
-\f
-php-src/lce_functions.php,2864
-  define("LCE_FUNCTIONS"\7fLCE_FUNCTIONS\ 14,38
-  define("LCE_UNKNOWN"\7fLCE_UNKNOWN\ 19,145
-  define("LCE_WS"\7fLCE_WS\ 111,194
-  define("LCE_COMMENT"\7fLCE_COMMENT\ 113,244
-  define("LCE_COMMENT_USER"\7fLCE_COMMENT_USER\ 115,303
-  define("LCE_COMMENT_TOOL"\7fLCE_COMMENT_TOOL\ 117,366
-  define("LCE_MSGID"\7fLCE_MSGID\ 119,430
-  define("LCE_MSGSTR"\7fLCE_MSGSTR\ 121,488
-  define("LCE_TEXT"\7fLCE_TEXT\ 123,541
-  define("STATE_ABORT"\7fSTATE_ABORT\ 125,567
-  define("STATE_OK"\7fSTATE_OK\ 126,595
-  define("STATE_LOOP"\7fSTATE_LOOP\ 127,620
-  class POEntryAD \7f29,648
-      function validate(\7f31,683
-      function checkQuotation(\7f59,1384
-  class CommentAD \7f70,1639
-      var $prefix;\7f72,1674
-      function CommentAD(\7f73,1693
-      function validate(\7f83,1944
-  class POEntry \7f105,2410
-      var $msgid;\7f107,2454
-      var $msgstr;\7f108,2472
-      var $user_comment;\7f109,2491
-      var $sys_comment;\7f110,2516
-      var $unk_comment;\7f111,2540
-      var $msgid_lc \7f113,2565
-      var $msgstr_lc \7f114,2590
-      var $user_comment_lc \7f115,2616
-      var $sys_comment_lc \7f116,2648
-      var $unk_comment_lc \7f117,2679
-      function POEntry(\7f119,2711
-      function lineCount(\7f135,3255
-      function serializeToVars(\7f141,3365
-      function write(\7f151,3800
-  class POReader \7f163,4178
-      var $msgid;\7f165,4223
-      var $msgstr;\7f166,4241
-      var $user_comment;\7f167,4260
-      var $sys_comment;\7f168,4285
-      var $unk_comment;\7f169,4309
-      var $state;\7f170,4333
-      var $ignore_ws;\7f171,4351
-      var $po_entries;\7f172,4373
-      var $poe_num;\7f173,4396
-      var $filename;\7f174,4416
-      var $domain;\7f175,4437
-      function gettext(\7f177,4457
-      function parseFromVars(\7f189,4705
-      function serializeToVars(\7f215,5331
-      function POReader(\7f229,5613
-      function read(\7f243,5983
-      function write(\7f259,6307
-      function isComment(\7f277,6645
-      function comment(\7f284,6822
-      function msgid(\7f304,7247
-      function msgstr(\7f320,7574
-      function start(\7f340,8232
-      function createPOEntries(\7f360,8644
-      function stripLine(\7f394,9472
-      function printClassification(\7f421,10056
-      function classifyLine(\7f432,10301
-  function getTextDomains(\7f471,11094
-  class PORManager \7f498,11756
-      var      $por_a;\7f500,11803
-      function PORManager(\7f502,11822
-      function addPOReader(\7f507,11896
-      function &getPOReader(\7fgetPOReader\ 1512,11992
-      function getDomainNames(\7f517,12081
-  function &loadPORManager(\7floadPORManager\ 1523,12174
-  function fileJoin(\7f536,12436
-      function lce_bindtextdomain(\7f557,12839
-      function lce_textdomain(\7f614,14530
-      function lce_gettext(\7f620,14641
-      function lce_dgettext(\7f626,14767
-      function lce(\7f634,14966
-      function lce_bindtextdomain(\7f651,15488
-      function lce_textdomain(\7f656,15592
-      function lce_gettext(\7f661,15674
-      function lce_dgettext(\7f666,15755
-      function lce(\7f670,15855
-  function lce_geteditcode(\7f676,15898
-\f
-php-src/ptest.php,135
-define("TEST"\7fTEST\ 11,0
-test \7f4,26
-       var $member;\7f8,71
-       var $memassign=\7f9,85
-       var $memassign_space \7f10,110
-       var $test\7f12,176
-foo(\7f16,200
-\f
-perl-src/htlmify-cystic,1443
-my @section_name;\7fsection_name\ 112,236
-my @appendix_name;\7fappendix_name\ 113,254
-my @section_toc;\7fsection_toc\ 115,274
-my @appendix_toc;\7fappendix_toc\ 116,291
-my $new_tag \7fnew_tag\ 118,310
-my $appendix;\7fappendix\ 124,409
-my $section;\7fsection\ 125,423
-my $subsection;\7fsubsection\ 126,436
-my $subsubsection;\7fsubsubsection\ 127,452
-my $this_file_toc \7fthis_file_toc\ 129,472
-my %file_tocs;\7ffile_tocs\ 130,496
-my @output_files \7foutput_files\ 132,512
-my $file_index \7ffile_index\ 133,535
-my $output_file;\7foutput_file\ 135,556
-my $line;\7fline\ 137,574
-my $subsection_marker;\7fsubsection_marker\ 1161,3883
-my $new;\7fnew\ 1163,3907
-sub read_toc \7fmain::read_toc\ 1165,3917
-         my $entry \7fentry\ 1218,5621
-         my $entry \7fentry\ 1234,6077
-             my $entry \7fentry\ 1245,6351
-         my $entry \7fentry\ 1252,6536
-         my $entry \7fentry\ 1268,7010
-             my $entry \7fentry\ 1276,7204
-         my $entry \7fentry\ 1281,7328
-      my $entry \7fentry\ 1296,7698
-sub finish_subsubsections \7fmain::finish_subsubsections\ 1302,7805
-sub finish_subsections \7fmain::finish_subsections\ 1309,7987
-sub finish_sections \7fmain::finish_sections\ 1320,8310
-sub finish_appendices \7fmain::finish_appendices\ 1331,8599
-sub section_url_base \7fmain::section_url_base\ 1337,8724
-sub section_url_name \7fmain::section_url_name\ 1342,8922
-sub section_url \7fmain::section_url\ 1355,9284
-  my $name \7fname\ 1357,9336
-sub section_href \7fmain::section_href\ 1364,9452
-sub section_name \7fmain::section_name\ 1368,9551
-sub toc_line \7fmain::toc_line\ 1372,9655
-sub file_end \7fmain::file_end\ 1375,9750
-\f
-perl-src/yagrip.pl,258
-sub getopt \7fmain::getopt\ 17,156
-       local($_,$flag,$opt,$f,$r,@temp)\7f($_,$flag,$opt,$f,$r,@temp\ 18,169
-sub usage \7fmain::usage\ 138,856
-       local($prog,$_,@list)\7f($prog,$_,@list\ 139,868
-       local($string,$flag,@string,@temp,@last)\7f($string,$flag,@string,@temp,@last\ 140,897
-\f
-perl-src/kai-test.pl,244
-sub f1 \7fmain::f1\ 12,16
-sub main::f2 \7f6,50
-package Foo;\7f10,90
-sub f3 \7fFoo::f3\ 112,104
-sub Bar::f4 \7f16,138
-package Bar;\7f20,177
-sub f5 \7fBar::f5\ 122,191
-package Foo::Bar;\7f26,225
-sub f6 \7fFoo::Bar::f6\ 128,244
-package main;\7f32,278
-sub f7 \7fmain::f7\ 134,293
-\f
-ps-src/rfc1245.ps,2478
-/FMversion \7f12,311
-/FrameDict \7f17,500
-/FMVERSION \7f47,1307
-/FMLOCAL \7f56,1494
-/FMDOCUMENT \7f73,1766
-/FMBEGINPAGE \7f95,2279
-/FMENDPAGE \7f109,2516
-/FMDEFINEFONT \7f115,2582
-/FMNORMALIZEGRAPHICS \7f126,2725
-/FMBEGINEPSF \7f142,2955
-/FMENDEPSF \7f153,3207
-/setmanualfeed \7f158,3283
-/max \7f163,3386
-/min \7f164,3426
-/inch \7f165,3466
-/pagedimen \7f166,3485
-/setpapername \7f172,3629
-/papersize \7f190,4214
-/manualpapersize \7f211,4789
-/desperatepapersize \7f230,5211
-/savematrix \7f239,5370
-/restorematrix \7f242,5425
-/dmatrix \7f245,5475
-/dpi \7f246,5495
-/freq \7f248,5583
-/sangle \7f249,5658
-/DiacriticEncoding \7f250,5717
-/.notdef \7f251,5738
-/.notdef \7f252,5801
-/.notdef \7f253,5864
-/.notdef \7f254,5927
-/.notdef \7f255,5990
-/numbersign \7f256,6051
-/parenright \7f257,6115
-/two \7f258,6184
-/less \7f259,6251
-/L \7f260,6320
-/bracketright \7f261,6389
-/i \7f262,6459
-/braceright \7f263,6529
-/Ntilde \7f264,6598
-/atilde \7f265,6668
-/iacute \7f266,6733
-/ocircumflex \7f267,6797
-/udieresis \7f268,6858
-/paragraph \7f269,6919
-/dieresis \7f270,6983
-/yen \7f271,7050
-/ordfeminine \7f272,7109
-/exclamdown \7f273,7171
-/guillemotleft \7f274,7230
-/Otilde \7f275,7296
-/quoteleft \7f276,7357
-/fraction \7f277,7420
-/periodcentered \7f278,7490
-/Acircumflex \7f279,7549
-/Icircumflex \7f280,7610
-/Uacute \7f281,7680
-/breve \7f282,7746
-/ReEncode \7f284,7814
-/graymode \7f300,8020
-/setpattern \7f310,8184
-/grayness \7f331,8725
-/normalize \7f394,9873
-/dnormalize \7f397,9942
-/lnormalize \7f400,10014
-/H \7f403,10104
-/Z \7f406,10147
-/X \7f409,10176
-/V \7f412,10219
-/N \7f415,10260
-/M \7f418,10286
-/E \7f419,10315
-/D \7f420,10336
-/O \7f421,10358
-/L \7f423,10394
-/Y \7f430,10489
-/R \7f439,10588
-/RR \7f450,10696
-/C \7f467,10959
-/U \7f473,11004
-/F \7f477,11039
-/T \7f481,11084
-/RF \7f484,11115
-/TF \7f488,11164
-/P \7f495,11219
-/PF \7f499,11270
-/S \7f506,11344
-/SF \7f510,11384
-/B \7f517,11446
-/BF \7f521,11505
-/W \7f538,11714
-/G \7f573,12382
-/A \7f582,12525
-/BEGINPRINTCODE \7f606,12918
-/ENDPRINTCODE \7f615,13131
-/gn \7f620,13259
-/cfs \7f631,13384
-/ic \7f636,13473
-/ms \7f658,14285
-/ip \7f668,14395
-/wh \7f678,14492
-/bl \7f684,14607
-/s1 \7f690,14722
-/fl \7f691,14739
-/hx \7f698,14887
-/wbytes \7f709,15055
-/BEGINBITMAPBWc \7f713,15147
-/BEGINBITMAPGRAYc \7f716,15198
-/BEGINBITMAP2BITc \7f719,15251
-/COMMONBITMAPc \7f722,15304
-/BEGINBITMAPBW \7f739,15660
-/BEGINBITMAPGRAY \7f742,15709
-/BEGINBITMAP2BIT \7f745,15760
-/COMMONBITMAP \7f748,15811
-/Fmcc \7f765,16156
-/ngrayt \7f773,16371
-/nredt \7f774,16393
-/nbluet \7f775,16414
-/ngreent \7f776,16436
-/colorsetup \7f787,16603
-/fakecolorsetup \7f814,17370
-/BITMAPCOLOR \7f826,17636
-/BITMAPCOLORc \7f839,17926
-/BITMAPGRAY \7f855,18275
-/BITMAPGRAYc \7f858,18335
-/ENDBITMAP \7f861,18397
-/fillprocs \7f868,18497
-\f
-prol-src/ordsets.prolog,525
-is_ordset(\7f47,1310
-list_to_ord_set(\7f63,1688
-ord_add_element(\7f71,1867
-ord_del_element(\7f85,2344
-ord_disjoint(\7f100,2783
-ord_intersect(\7f108,2953
-ord_intersection(\7f126,3553
-ord_intersection3(\7f130,3692
-ord_intersection(\7f150,4533
-ord_intersection4(\7f154,4705
-ord_intersection(\7f176,5666
-ord_intersection2(\7f181,5814
-ord_member(\7f200,6320
-ord_seteq(\7f216,6685
-ord_setproduct(\7f225,6973
-ord_subset(\7f240,7379
-ord_subtract(\7f257,7863
-ord_symdiff(\7f265,8056
-ord_union(\7f288,8889
-ord_union4(\7f303,9354
-ord_union(\7f324,10173
-ord_union_all(\7f329,10315
-\f
-prol-src/natded.prolog,2319
-expandmng(\7f100,2879
-normalize(\7f116,3359
-fresh_vars(\7f125,3716
-subst(\7f138,4134
-normalize_fresh(\7f159,4660
-reduce_subterm(\7f171,5112
-reduce(\7f185,5559
-free_var(\7f196,5903
-free_for(\7f209,6246
-compile_lex(\7f231,6875
-consult_lex:-\7fconsult_lex\ 1248,7384
-lex(\7f259,7754
-expandsyn(\7f267,8068
-bas_syn(\7f292,8897
-compile_empty:-\7fcompile_empty\ 1310,9376
-complete(\7f328,10055
-add_active(\7f340,10527
-parse(\7f353,10949
-derived_analyses(\7f364,11341
-build(\7f378,11967
-buildact(\7f392,12523
-mapsyn(\7f412,13544
-add_edge(\7f434,14280
-findcats(\7f447,14760
-normalize_tree(\7f465,15480
-normalize_trees(\7f475,15858
-expandmng_tree(\7f486,16250
-expandmng_trees(\7f496,16616
-cat(\7f511,17015
-subtree(\7f644,21268
-hypothetical_mem(\7f653,21567
-make_coor(\7f667,22132
-start_up:-\7fstart_up\ 1688,23015
-tokenizeatom(\7f710,23923
-tokenize(\7f720,24350
-isoperator(\7f752,25379
-isoptab(\7f756,25433
-specialsymbol(\7f765,25758
-sstab(\7f771,25863
-parse_cgi(\7f787,26349
-keyvalseq(\7f792,26512
-andkeyvalseq(\7f796,26611
-keyval(\7f799,26690
-valseq(\7f807,26922
-plusvalseq(\7f810,27009
-val(\7f816,27111
-argvals(\7f824,27428
-commaargvals(\7f828,27505
-atomval(\7f833,27580
-atom(\7f836,27642
-action(\7f846,28006
-keyvalcgi(\7f864,28651
-keyvalscgi(\7f865,28672
-outsyn(\7f868,28728
-act(\7f876,29062
-actout(\7f901,29908
-texttreelist(\7f912,30091
-htmltreelist(\7f918,30192
-fitchtreelist(\7f924,30306
-pp_html_table_tree(\7f938,30761
-pp_html_tree(\7f949,31115
-pp_html_trees(\7f988,32383
-pp_html_table_fitch_tree(\7f999,32771
-pp_html_fitch_tree(\7f1017,33674
-removeexp(\7f1129,39004
-splitexp(\7f1142,39492
-pp_exp(\7f1155,39992
-map_word(\7f1168,40251
-pp_exps(\7f1180,40476
-pp_tree(\7f1188,40779
-pp_trees(\7f1216,41809
-pp_word_list(\7f1225,42130
-pp_word(\7f1231,42264
-pp_word_list_rest(\7f1238,42571
-pp_cat(\7f1248,42931
-pp_syn(\7f1255,43198
-pp_syn_paren(\7f1276,43901
-pp_paren(\7f1293,44379
-pp_syn_back(\7f1300,44663
-pp_bas_cat(\7f1311,45003
-writecat(\7f1322,45411
-writesubs(\7f1351,46457
-writesups(\7f1361,46759
-writelistsubs(\7f1371,47092
-pp_lam(\7f1380,47410
-pp_lam_bracket(\7f1398,48024
-pp_lam_paren(\7f1407,48340
-pp_rule(\7f1429,49240
-member(\7f1447,49868
-append_list(\7f1451,49921
-append(\7f1456,50012
-at_least_one_member(\7f1460,50078
-numbervars(\7f1464,50173
-reverse(\7f1467,50211
-select(\7f1471,50292
-select_last(\7f1475,50359
-cat_atoms(\7f1479,50438
-writelist(\7f1485,50526
-write_lex_cat(\7f1492,50678
-writebreaklex(\7f1500,50990
-write_lex(\7f1513,51267
-writebreak(\7f1521,51543
-tt:-\7ftt\ 11531,51715
-mt:-\7fmt\ 11534,51786
-cmt:-\7fcmt\ 11537,51880
-\f
-pyt-src/server.py,1438
-class Controls:\7fControls\ 117,358
-    def __init__(\7f18,374
-    def __repr__(\7f24,590
-    def __str__(\7f34,871
-class Server:\7fServer\ 137,934
-    def __init__(\7f38,948
-    def dump(\7f73,2198
-    def __repr__(\7f125,3896
-    def __str__(\7f128,3945
-class User:\7fUser\ 1131,4014
-    def __init__(\7f132,4026
-    def __repr__(\7f172,5445
-    def __str__(\7f206,6883
-def flag2str(\7f223,7212
-class LabeledEntry(\7f232,7442
-    def bind(\7f234,7525
-    def focus_set(\7f236,7584
-    def __init__(\7f238,7629
-def ButtonBar(\7f245,7909
-def helpwin(\7f255,8280
-class ListEdit(\7f267,8707
-    def __init__(\7f269,8808
-    def handleList(\7f303,10042
-    def handleNew(\7f306,10094
-    def editItem(\7f314,10426
-    def deleteItem(\7f320,10596
-def ConfirmQuit(\7f326,10760
-class ControlEdit(\7f375,12377
-    def PostControls(\7f376,12403
-    def GatherControls(\7f421,13530
-class ServerEdit(\7f512,16264
-    def __init__(\7f513,16289
-    def post(\7f525,16629
-    def gather(\7f543,17191
-    def nosave(\7f547,17304
-    def save(\7f551,17408
-    def refreshPort(\7f556,17509
-    def createWidgets(\7f561,17663
-    def edituser(\7f631,20708
-class UserEdit(\7f645,20921
-    def __init__(\7f646,20944
-    def post(\7f658,21283
-    def gather(\7f676,21841
-    def nosave(\7f680,21950
-    def save(\7f684,22052
-    def createWidgets(\7f689,22151
-class Configure(\7f760,24879
-    def __init__(\7f761,24916
-    def MakeDispose(\7f772,25211
-    def MakeSitelist(\7f786,25706
-    def editsite(\7f794,25949
-    def save(\7f797,26022
-    def nosave(\7f807,26310
-\f
-ruby-src/test.rb,637
-module ModuleExample\7f1,0
-    class ClassExample\7f2,21
-        def instance_method\7f3,44
-        def ClassExample.class_method\7fclass_method\ 16,121
-        def instance_method_exclamation!\7f9,206
-        def instance_method_question?\7f12,310
-        def instance_method_equals=\7finstance_method_equals=\ 115,408
-        def `(\7f18,502
-        def +(\7f21,592
-        def [](\7f24,640
-        def []=(\7f[]=\ 127,690
-        def <<(\7f30,752
-        def ==(\7f==\ 133,802
-        def <=(\7f<=\ 136,872
-        def <=>(\7f<=>\ 139,943
-        def ===(\7f===\ 142,990
-    def module_instance_method\7f46,1051
-    def ModuleExample.module_class_method\7fmodule_class_method\ 149,1131
-\f
-ruby-src/test1.ru,935
-class A\7f1,0
- def a(\7f2,8
- def b(\7f5,38
-module A\7f9,57
-  class B\7f10,66
-    ABC \7f11,76
-    Def_ \7f12,88
-    Xyzzy \7f13,106
-    def foo!\7f15,121
-    def self._bar?(\7f_bar?\ 118,143
-      def qux=(\7fqux=\ 122,194
-    attr_reader :foo\7ffoo\ 126,233
-    attr_reader :read1 \7fread1\ 127,254
-    attr_reader :read1 , :read2;\7fread2\ 127,254
-    attr_reader :read1 , :read2; attr_writer :write1,\7fwrite1=\ 127,254
-    attr_reader :read1 , :read2; attr_writer :write1, :write2\7fwrite2=\ 127,254
-    attr_writer :bar,\7fbar=\ 128,316
-                :baz,\7fbaz=\ 129,338
-                :more\7fmore=\ 130,360
-    attr_accessor :tee\7ftee\ 131,382
-    attr_accessor :tee\7ftee=\ 131,382
-    alias_method :qux,\7fqux\ 132,405
-    alias_method :xyz,\7fxyz\ 133,456
-                 :tee ; attr_reader :subtle\7fsubtle\ 134,479
-    attr_reader(:foo1,\7ffoo1\ 135,523
-    attr_reader(:foo1, :bar1,\7fbar1\ 135,523
-                :qux1)\7fqux1\ 136,563
-    alias_method ( :foo2,\7ffoo2\ 137,586
-A::Constant \7fConstant\ 142,655
-\f
-rs-src/test.rs,52
-enum IpAddrKind \7f3,11
-fn test1(\7f8,48
-fn main(\7f12,88
-\f
-scm-src/test.scm,260
-(define hello \7f1,0
-(set! hello \7f3,32
-(define (hello-world)\7f5,62
-(define (there-is-a-=-in-the-middle!)\7fthere-is-a-=-in-the-middle!\ 110,128
-(define =starts-with-equals! \7f=starts-with-equals!\ 112,171
-(define (((((curry-test \7f14,205
-(define-syntax test-begin\7f17,265
-\f
-tex-src/testenv.tex,52
-\newcommand{\nm}\7f\nm\ 14,77
-\section{blah}\7fblah\ 18,139
-\f
-tex-src/gzip.texi,303
-@node Top,\7f62,2139
-@node Copying,\7f80,2652
-@node Overview,\7f83,2705
-@node Sample,\7f166,7273
-@node Invoking gzip,\7fInvoking gzip\ 1210,8829
-@node Advanced usage,\7fAdvanced usage\ 1357,13497
-@node Environment,\7f420,15209
-@node Tapes,\7f437,15770
-@node Problems,\7f460,16769
-@node Concept Index,\7fConcept Index\ 1473,17289
-\f
-tex-src/texinfo.tex,30627
-\def\texinfoversion{\7f\texinfoversion\ 126,1035
-\def\tie{\7f\tie\ 149,1526
-\def\gloggingall{\7f\gloggingall\ 172,2276
-\def\loggingall{\7f\loggingall\ 173,2345
-\def\onepageout#1{\7f\onepageout\ 199,3282
-\def\croppageout#1{\7f\croppageout\ 1115,4032
-\def\cropmarks{\7f\cropmarks\ 1142,5092
-\def\pagebody#1{\7f\pagebody\ 1144,5139
-\def\ewtop{\7f\ewtop\ 1157,5594
-\def\nstop{\7f\nstop\ 1158,5658
-\def\ewbot{\7f\ewbot\ 1160,5741
-\def\nsbot{\7f\nsbot\ 1161,5805
-\def\parsearg #1{\7f\parsearg\ 1170,6104
-\def\parseargx{\7f\parseargx\ 1172,6182
-\def\parseargline{\7f\parseargline\ 1182,6422
-\def\flushcr{\7f\flushcr\ 1186,6543
-\newif\ifENV \ENVfalse \def\inENV{\7f\inENV\ 1190,6742
-\def\ENVcheck{\7f\ENVcheck\ 1191,6806
-\outer\def\begin{\7f\begin\ 1198,7053
-\def\beginxxx #1{\7f\beginxxx\ 1200,7091
-\def\end{\7f\end\ 1208,7346
-\def\endxxx #1{\7f\endxxx\ 1210,7374
-\def\errorE#1{\7f\errorE\ 1216,7563
-\def\singlespace{\7f\singlespace\ 1222,7757
-\def\@{\7f\@\ 1232,7980
-\def\`{\7f\`\ 1236,8080
-\def\'{\7f\'\ 1237,8092
-\def\mylbrace {\7f\mylbrace\ 1241,8140
-\def\myrbrace {\7f\myrbrace\ 1242,8173
-\def\:{\7f\:\ 1247,8287
-\def\*{\7f\*\ 1250,8341
-\def\.{\7f\.\ 1253,8417
-\def\w#1{\7f\w\ 1258,8648
-\def\group{\7f\group\ 1268,9131
-  \def\Egroup{\7f\Egroup\ 1273,9295
-\def\need{\7f\need\ 1289,9737
-\def\needx#1{\7f\needx\ 1300,10014
-\def\dots{\7f\dots\ 1339,11400
-\def\page{\7f\page\ 1343,11464
-\def\exdent{\7f\exdent\ 1353,11791
-\def\exdentyyy #1{\7f\exdentyyy\ 1354,11824
-\def\nofillexdent{\7f\nofillexdent\ 1357,11968
-\def\nofillexdentyyy #1{\7f\nofillexdentyyy\ 1358,12013
-\def\include{\7f\include\ 1365,12197
-\def\includezzz #1{\7f\includezzz\ 1366,12232
-\def\thisfile{\7f\thisfile\ 1369,12283
-\def\center{\7f\center\ 1373,12346
-\def\centerzzz #1{\7f\centerzzz\ 1374,12379
-\def\sp{\7f\sp\ 1380,12521
-\def\spxxx #1{\7f\spxxx\ 1381,12546
-\def\comment{\7f\comment\ 1387,12720
-\def\commentxxx #1{\7f\commentxxx\ 1390,12817
-\def\ignoresections{\7f\ignoresections\ 1396,12986
-\let\chapter=\relax\7f=\relax\ 1397,13008
-\let\section=\relax\7f=\relax\ 1406,13253
-\let\subsection=\relax\7f=\relax\ 1409,13314
-\let\subsubsection=\relax\7f=\relax\ 1410,13337
-\let\appendix=\relax\7f=\relax\ 1411,13363
-\let\appendixsec=\relax\7fsec=\relax\ 1412,13384
-\let\appendixsection=\relax\7fsection=\relax\ 1413,13408
-\let\appendixsubsec=\relax\7fsubsec=\relax\ 1414,13436
-\let\appendixsubsection=\relax\7fsubsection=\relax\ 1415,13463
-\let\appendixsubsubsec=\relax\7fsubsubsec=\relax\ 1416,13494
-\let\appendixsubsubsection=\relax\7fsubsubsection=\relax\ 1417,13524
-\def\ignore{\7f\ignore\ 1423,13626
-\long\def\ignorexxx #1\end ignore{\7f\ignorexxx\ 1427,13766
-\def\direntry{\7f\direntry\ 1429,13825
-\long\def\direntryxxx #1\end direntry{\7f\direntryxxx\ 1430,13864
-\def\ifset{\7f\ifset\ 1434,13974
-\def\ifsetxxx #1{\7f\ifsetxxx\ 1436,14032
-\def\Eifset{\7f\Eifset\ 1440,14159
-\def\ifsetfail{\7f\ifsetfail\ 1441,14173
-\long\def\ifsetfailxxx #1\end ifset{\7f\ifsetfailxxx\ 1442,14229
-\def\ifclear{\7f\ifclear\ 1444,14290
-\def\ifclearxxx #1{\7f\ifclearxxx\ 1446,14352
-\def\Eifclear{\7f\Eifclear\ 1450,14483
-\def\ifclearfail{\7f\ifclearfail\ 1451,14499
-\long\def\ifclearfailxxx #1\end ifclear{\7f\ifclearfailxxx\ 1452,14559
-\def\set{\7f\set\ 1456,14710
-\def\setxxx #1{\7f\setxxx\ 1457,14737
-\def\clear{\7f\clear\ 1460,14799
-\def\clearxxx #1{\7f\clearxxx\ 1461,14830
-\def\iftex{\7f\iftex\ 1466,14947
-\def\Eiftex{\7f\Eiftex\ 1467,14960
-\def\ifinfo{\7f\ifinfo\ 1468,14974
-\long\def\ifinfoxxx #1\end ifinfo{\7f\ifinfoxxx\ 1469,15024
-\long\def\menu #1\end menu{\7f\menu\ 1471,15083
-\def\asis#1{\7f\asis\ 1472,15112
-\def\math#1{\7f\math\ 1485,15655
-\def\node{\7f\node\ 1487,15699
-\def\nodezzz#1{\7f\nodezzz\ 1488,15737
-\def\nodexxx[#1,#2]{\7f\nodexxx[\ 1489,15768
-\def\donoderef{\7f\donoderef\ 1492,15830
-\def\unnumbnoderef{\7f\unnumbnoderef\ 1496,15951
-\def\appendixnoderef{\7f\appendixnoderef\ 1500,16082
-\expandafter\expandafter\expandafter\appendixsetref{\7fsetref\ 1501,16128
-\let\refill=\relax\7fill=\relax\ 1504,16217
-\def\setfilename{\7f\setfilename\ 1509,16431
-\outer\def\bye{\7f\bye\ 1518,16677
-\def\inforef #1{\7f\inforef\ 1520,16733
-\def\inforefzzz #1,#2,#3,#4**{\7f\inforefzzz\ 1521,16771
-\def\losespace #1{\7f\losespace\ 1523,16868
-\def\sf{\7f\sf\ 1532,17072
-\font\defbf=cmbx10 scaled \magstep1 %was 1314\7fbf=cmbx10\ 1558,17867
-\font\deftt=cmtt10 scaled \magstep1\7ftt=cmtt10\ 1559,17913
-\def\df{\7f\df\ 1560,17949
-\def\resetmathfonts{\7f\resetmathfonts\ 1635,20543
-\def\textfonts{\7f\textfonts\ 1648,21132
-\def\chapfonts{\7f\chapfonts\ 1653,21347
-\def\secfonts{\7f\secfonts\ 1658,21563
-\def\subsecfonts{\7f\subsecfonts\ 1663,21768
-\def\indexfonts{\7f\indexfonts\ 1668,21985
-\def\smartitalicx{\7f\smartitalicx\ 1691,22717
-\def\smartitalic#1{\7f\smartitalic\ 1692,22793
-\let\cite=\smartitalic\7f=\smartitalic\ 1698,22938
-\def\b#1{\7f\b\ 1700,22962
-\def\t#1{\7f\t\ 1703,22997
-\def\samp #1{\7f\samp\ 1706,23149
-\def\key #1{\7f\key\ 1707,23182
-\def\ctrl #1{\7f\ctrl\ 1708,23243
-\def\tclose#1{\7f\tclose\ 1716,23445
-\def\ {\7f\\ 1720,23611
-\def\xkey{\7f\xkey\ 1728,23880
-\def\kbdfoo#1#2#3\par{\7f\kbdfoo\ 1729,23896
-\def\dmn#1{\7f\dmn\ 1738,24197
-\def\kbd#1{\7f\kbd\ 1740,24224
-\def\l#1{\7f\l\ 1742,24281
-\def\r#1{\7f\r\ 1744,24310
-\def\sc#1{\7f\sc\ 1746,24378
-\def\ii#1{\7f\ii\ 1747,24421
-\def\titlefont#1{\7f\titlefont\ 1755,24654
-\def\titlepage{\7f\titlepage\ 1761,24757
-   \def\subtitlefont{\7f\subtitlefont\ 1766,24984
-   \def\authorfont{\7f\authorfont\ 1768,25068
-   \def\title{\7f\title\ 1774,25278
-   \def\titlezzz##1{\7f\titlezzz\ 1775,25313
-   \def\subtitle{\7f\subtitle\ 1783,25628
-   \def\subtitlezzz##1{\7f\subtitlezzz\ 1784,25669
-   \def\author{\7f\author\ 1787,25787
-   \def\authorzzz##1{\7f\authorzzz\ 1788,25824
-   \def\page{\7f\page\ 1794,26115
-\def\Etitlepage{\7f\Etitlepage\ 1804,26284
-\def\finishtitlepage{\7f\finishtitlepage\ 1817,26672
-\def\evenheading{\7f\evenheading\ 1846,27680
-\def\oddheading{\7f\oddheading\ 1847,27723
-\def\everyheading{\7f\everyheading\ 1848,27764
-\def\evenfooting{\7f\evenfooting\ 1850,27810
-\def\oddfooting{\7f\oddfooting\ 1851,27853
-\def\everyfooting{\7f\everyfooting\ 1852,27894
-\def\headings #1 {\7f\headings\ 1893,29586
-\def\HEADINGSoff{\7f\HEADINGSoff\ 1895,29635
-\def\HEADINGSdouble{\7f\HEADINGSdouble\ 1904,30062
-\def\HEADINGSsingle{\7f\HEADINGSsingle\ 1914,30382
-\def\HEADINGSon{\7f\HEADINGSon\ 1922,30603
-\def\HEADINGSafter{\7f\HEADINGSafter\ 1924,30637
-\def\HEADINGSdoublex{\7f\HEADINGSdoublex\ 1926,30732
-\def\HEADINGSsingleafter{\7f\HEADINGSsingleafter\ 1933,30920
-\def\HEADINGSsinglex{\7f\HEADINGSsinglex\ 1934,30981
-\def\today{\7f\today\ 1943,31256
-\def\thistitle{\7f\thistitle\ 1958,31801
-\def\settitle{\7f\settitle\ 1959,31826
-\def\settitlezzz #1{\7f\settitlezzz\ 1960,31863
-\def\internalBitem{\7f\internalBitem\ 1992,32793
-\def\internalBitemx{\7f\internalBitemx\ 1993,32843
-\def\internalBxitem "#1"{\7f\internalBxitem\ 1995,32888
-\def\internalBxitemx "#1"{\7f\internalBxitemx\ 1996,32968
-\def\internalBkitem{\7f\internalBkitem\ 1998,33043
-\def\internalBkitemx{\7f\internalBkitemx\ 1999,33095
-\def\kitemzzz #1{\7f\kitemzzz\ 11001,33142
-\def\xitemzzz #1{\7f\xitemzzz\ 11004,33244
-\def\itemzzz #1{\7f\itemzzz\ 11007,33347
-\def\item{\7f\item\ 11037,34418
-\def\itemx{\7f\itemx\ 11038,34469
-\def\kitem{\7f\kitem\ 11039,34522
-\def\kitemx{\7f\kitemx\ 11040,34575
-\def\xitem{\7f\xitem\ 11041,34630
-\def\xitemx{\7f\xitemx\ 11042,34683
-\def\description{\7f\description\ 11045,34793
-\def\table{\7f\table\ 11047,34843
-\def\ftable{\7f\ftable\ 11052,34987
-\def\Eftable{\7f\Eftable\ 11056,35133
-\def\vtable{\7f\vtable\ 11059,35202
-\def\Evtable{\7f\Evtable\ 11063,35348
-\def\dontindex #1{\7f\dontindex\ 11066,35417
-\def\fnitemindex #1{\7f\fnitemindex\ 11067,35437
-\def\vritemindex #1{\7f\vritemindex\ 11068,35482
-\def\tablez #1#2#3#4#5#6{\7f\tablez\ 11074,35631
-\def\Edescription{\7f\Edescription\ 11077,35689
-\def\itemfont{\7f\itemfont\ 11082,35890
-\def\Etable{\7f\Etable\ 11090,36116
-\def\itemize{\7f\itemize\ 11103,36440
-\def\itemizezzz #1{\7f\itemizezzz\ 11105,36476
-\def\itemizey #1#2{\7f\itemizey\ 11110,36571
-\def#2{\7f1119,36817
-\def\itemcontents{\7f\itemcontents\ 11120,36858
-\def\bullet{\7f\bullet\ 11123,36906
-\def\minus{\7f\minus\ 11124,36933
-\def\frenchspacing{\7f\frenchspacing\ 11128,37041
-\def\splitoff#1#2\endmark{\7f\splitoff\ 11134,37266
-\def\enumerate{\7f\enumerate\ 11140,37496
-\def\enumeratezzz #1{\7f\enumeratezzz\ 11141,37535
-\def\enumeratey #1 #2\endenumeratey{\7f\enumeratey\ 11142,37588
-  \def\thearg{\7f\thearg\ 11146,37735
-  \ifx\thearg\empty \def\thearg{\7f\thearg\ 11147,37754
-\def\numericenumerate{\7f\numericenumerate\ 11184,39088
-\def\lowercaseenumerate{\7f\lowercaseenumerate\ 11190,39218
-\def\uppercaseenumerate{\7f\uppercaseenumerate\ 11203,39565
-\def\startenumeration#1{\7f\startenumeration\ 11219,40055
-\def\alphaenumerate{\7f\alphaenumerate\ 11227,40237
-\def\capsenumerate{\7f\capsenumerate\ 11228,40272
-\def\Ealphaenumerate{\7f\Ealphaenumerate\ 11229,40306
-\def\Ecapsenumerate{\7f\Ecapsenumerate\ 11230,40340
-\def\itemizeitem{\7f\itemizeitem\ 11234,40420
-\def\newindex #1{\7f\newindex\ 11259,41277
-\def\defindex{\7f\defindex\ 11268,41566
-\def\newcodeindex #1{\7f\newcodeindex\ 11272,41674
-\def\defcodeindex{\7f\defcodeindex\ 11279,41934
-\def\synindex #1 #2 {\7f\synindex\ 11283,42114
-\def\syncodeindex #1 #2 {\7f\syncodeindex\ 11292,42454
-\def\doindex#1{\7f\doindex\ 11309,43133
-\def\singleindexer #1{\7f\singleindexer\ 11310,43192
-\def\docodeindex#1{\7f\docodeindex\ 11313,43304
-\def\singlecodeindexer #1{\7f\singlecodeindexer\ 11314,43371
-\def\indexdummies{\7f\indexdummies\ 11316,43429
-\def\_{\7f\_\ 11317,43449
-\def\w{\7f\w\ 11318,43477
-\def\bf{\7f\bf\ 11319,43504
-\def\rm{\7f\rm\ 11320,43533
-\def\sl{\7f\sl\ 11321,43562
-\def\sf{\7f\sf\ 11322,43591
-\def\tt{\7f\tt\ 11323,43619
-\def\gtr{\7f\gtr\ 11324,43647
-\def\less{\7f\less\ 11325,43677
-\def\hat{\7f\hat\ 11326,43709
-\def\char{\7f\char\ 11327,43739
-\def\TeX{\7f\TeX\ 11328,43771
-\def\dots{\7f\dots\ 11329,43801
-\def\copyright{\7f\copyright\ 11330,43834
-\def\tclose##1{\7f\tclose\ 11331,43877
-\def\code##1{\7f\code\ 11332,43922
-\def\samp##1{\7f\samp\ 11333,43963
-\def\t##1{\7f\t\ 11334,44004
-\def\r##1{\7f\r\ 11335,44039
-\def\i##1{\7f\i\ 11336,44074
-\def\b##1{\7f\b\ 11337,44109
-\def\cite##1{\7f\cite\ 11338,44144
-\def\key##1{\7f\key\ 11339,44185
-\def\file##1{\7f\file\ 11340,44224
-\def\var##1{\7f\var\ 11341,44265
-\def\kbd##1{\7f\kbd\ 11342,44304
-\def\indexdummyfont#1{\7f\indexdummyfont\ 11347,44460
-\def\indexdummytex{\7f\indexdummytex\ 11348,44486
-\def\indexdummydots{\7f\indexdummydots\ 11349,44510
-\def\indexnofonts{\7f\indexnofonts\ 11351,44536
-\let\w=\indexdummyfont\7fdummyfont\ 11352,44556
-\let\t=\indexdummyfont\7fdummyfont\ 11353,44579
-\let\r=\indexdummyfont\7fdummyfont\ 11354,44602
-\let\i=\indexdummyfont\7fdummyfont\ 11355,44625
-\let\b=\indexdummyfont\7fdummyfont\ 11356,44648
-\let\emph=\indexdummyfont\7fdummyfont\ 11357,44671
-\let\strong=\indexdummyfont\7fdummyfont\ 11358,44697
-\let\cite=\indexdummyfont\7f=\indexdummyfont\ 11359,44725
-\let\sc=\indexdummyfont\7fdummyfont\ 11360,44751
-\let\tclose=\indexdummyfont\7fdummyfont\ 11364,44923
-\let\code=\indexdummyfont\7fdummyfont\ 11365,44951
-\let\file=\indexdummyfont\7fdummyfont\ 11366,44977
-\let\samp=\indexdummyfont\7fdummyfont\ 11367,45003
-\let\kbd=\indexdummyfont\7fdummyfont\ 11368,45029
-\let\key=\indexdummyfont\7fdummyfont\ 11369,45054
-\let\var=\indexdummyfont\7fdummyfont\ 11370,45079
-\let\TeX=\indexdummytex\7fdummytex\ 11371,45104
-\let\dots=\indexdummydots\7fdummydots\ 11372,45128
-\let\indexbackslash=0  %overridden during \printindex.\7fbackslash=0\ 11382,45380
-\def\doind #1#2{\7f\doind\ 11384,45436
-{\indexdummies % Must do this here, since \bf, etc expand at this stage\7fdummies\ 11386,45479
-\def\rawbackslashxx{\7f\rawbackslashxx\ 11389,45619
-{\indexnofonts\7fnofonts\ 11394,45881
-\def\dosubind #1#2#3{\7f\dosubind\ 11405,46192
-{\indexdummies % Must do this here, since \bf, etc expand at this stage\7fdummies\ 11407,46240
-\def\rawbackslashxx{\7f\rawbackslashxx\ 11410,46344
-{\indexnofonts\7fnofonts\ 11414,46498
-\def\findex {\7f\findex\ 11443,47429
-\def\kindex {\7f\kindex\ 11444,47452
-\def\cindex {\7f\cindex\ 11445,47475
-\def\vindex {\7f\vindex\ 11446,47498
-\def\tindex {\7f\tindex\ 11447,47521
-\def\pindex {\7f\pindex\ 11448,47544
-\def\cindexsub {\7f\cindexsub\ 11450,47568
-\def\printindex{\7f\printindex\ 11462,47895
-\def\doprintindex#1{\7f\doprintindex\ 11464,47936
-  \def\indexbackslash{\7f\indexbackslash\ 11481,48421
-  \indexfonts\rm \tolerance=9500 \advance\baselineskip -1pt\7ffonts\rm\ 11482,48460
-\def\initial #1{\7f\initial\ 11517,49532
-\def\entry #1#2{\7f\entry\ 11523,49739
-  \null\nobreak\indexdotfill % Have leaders before the page number.\7fdotfill\ 11540,50386
-\def\indexdotfill{\7f\indexdotfill\ 11549,50714
-\def\primary #1{\7f\primary\ 11552,50820
-\def\secondary #1#2{\7f\secondary\ 11556,50902
-\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\par\7fdotfill\ 11559,50984
-\newbox\partialpage\7fialpage\ 11566,51157
-\def\begindoublecolumns{\7f\begindoublecolumns\ 11572,51315
-  \output={\global\setbox\partialpage=\7fialpage=\ 11573,51351
-\def\enddoublecolumns{\7f\enddoublecolumns\ 11577,51539
-\def\doublecolumnout{\7f\doublecolumnout\ 11580,51624
-  \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage\7fialpage\ 11581,51693
-\def\pagesofar{\7f\pagesofar\ 11584,51871
-\def\balancecolumns{\7f\balancecolumns\ 11588,52108
-  \availdimen@=\pageheight \advance\availdimen@ by-\ht\partialpage\7fialpage\ 11594,52279
-     \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage\7fialpage\ 11600,52540
-\newcount \appendixno  \appendixno = `\@\7fno\ 11627,53445
-\def\appendixletter{\7f\appendixletter\ 11628,53486
-\def\opencontents{\7f\opencontents\ 11632,53589
-\def\thischapter{\7f\thischapter\ 11637,53770
-\def\seccheck#1{\7f\seccheck\ 11638,53808
-\def\chapternofonts{\7f\chapternofonts\ 11643,53912
-\def\result{\7f\result\ 11646,53987
-\def\equiv{\7f\equiv\ 11647,54022
-\def\expansion{\7f\expansion\ 11648,54055
-\def\print{\7f\print\ 11649,54096
-\def\TeX{\7f\TeX\ 11650,54129
-\def\dots{\7f\dots\ 11651,54158
-\def\copyright{\7f\copyright\ 11652,54189
-\def\tt{\7f\tt\ 11653,54230
-\def\bf{\7f\bf\ 11654,54257
-\def\w{\7f\w\ 11655,54285
-\def\less{\7f\less\ 11656,54310
-\def\gtr{\7f\gtr\ 11657,54341
-\def\hat{\7f\hat\ 11658,54370
-\def\char{\7f\char\ 11659,54399
-\def\tclose##1{\7f\tclose\ 11660,54430
-\def\code##1{\7f\code\ 11661,54474
-\def\samp##1{\7f\samp\ 11662,54514
-\def\r##1{\7f\r\ 11663,54554
-\def\b##1{\7f\b\ 11664,54588
-\def\key##1{\7f\key\ 11665,54622
-\def\file##1{\7f\file\ 11666,54660
-\def\kbd##1{\7f\kbd\ 11667,54700
-\def\i##1{\7f\i\ 11669,54808
-\def\cite##1{\7f\cite\ 11670,54842
-\def\var##1{\7f\var\ 11671,54882
-\def\emph##1{\7f\emph\ 11672,54920
-\def\dfn##1{\7f\dfn\ 11673,54960
-\def\thischaptername{\7f\thischaptername\ 11676,55001
-\outer\def\chapter{\7f\chapter\ 11677,55040
-\def\chapterzzz #1{\7f\chapterzzz\ 11678,55081
-{\chapternofonts%\7fnofonts%\ 11687,55477
-\global\let\section = \numberedsec\7f=\ 11692,55630
-\global\let\subsection = \numberedsubsec\7f=\ 11693,55665
-\global\let\subsubsection = \numberedsubsubsec\7f=\ 11694,55706
-\outer\def\appendix{\7f\appendix\ 11697,55757
-\def\appendixzzz #1{\7f\appendixzzz\ 11698,55800
-\global\advance \appendixno by 1 \message{\7fno\ 11700,55877
-\chapmacro {#1}{Appendix \appendixletter}\7fletter\ 11701,55946
-\xdef\thischapter{Appendix \appendixletter: \noexpand\thischaptername}\7fletter:\ 11704,56039
-{\chapternofonts%\7fnofonts%\ 11705,56111
-  {#1}{Appendix \appendixletter}\7fletter\ 11707,56167
-\appendixnoderef %\7fnoderef\ 11710,56267
-\global\let\section = \appendixsec\7f=\ 11711,56286
-\global\let\subsection = \appendixsubsec\7f=\ 11712,56321
-\global\let\subsubsection = \appendixsubsubsec\7f=\ 11713,56362
-\outer\def\top{\7f\top\ 11716,56413
-\outer\def\unnumbered{\7f\unnumbered\ 11717,56453
-\def\unnumberedzzz #1{\7f\unnumberedzzz\ 11718,56500
-{\chapternofonts%\7fnofonts%\ 11722,56663
-\global\let\section = \unnumberedsec\7f=\ 11727,56813
-\global\let\subsection = \unnumberedsubsec\7f=\ 11728,56850
-\global\let\subsubsection = \unnumberedsubsubsec\7f=\ 11729,56893
-\outer\def\numberedsec{\7f\numberedsec\ 11732,56946
-\def\seczzz #1{\7f\seczzz\ 11733,56987
-{\chapternofonts%\7fnofonts%\ 11736,57143
-\outer\def\appendixsection{\7f\appendixsection\ 11745,57329
-\outer\def\appendixsec{\7f\appendixsec\ 11746,57386
-\def\appendixsectionzzz #1{\7f\appendixsectionzzz\ 11747,57439
-\gdef\thissection{#1}\secheading {#1}{\appendixletter}\7fletter\ 11749,57551
-{\chapternofonts%\7fnofonts%\ 11750,57619
-{#1}{\appendixletter}\7fletter\ 11752,57675
-\appendixnoderef %\7fnoderef\ 11755,57775
-\outer\def\unnumberedsec{\7f\unnumberedsec\ 11759,57815
-\def\unnumberedseczzz #1{\7f\unnumberedseczzz\ 11760,57868
-{\chapternofonts%\7fnofonts%\ 11762,57963
-\outer\def\numberedsubsec{\7f\numberedsubsec\ 11770,58131
-\def\numberedsubseczzz #1{\7f\numberedsubseczzz\ 11771,58186
-{\chapternofonts%\7fnofonts%\ 11774,58365
-\outer\def\appendixsubsec{\7f\appendixsubsec\ 11783,58569
-\def\appendixsubseczzz #1{\7f\appendixsubseczzz\ 11784,58624
-\subsecheading {#1}{\appendixletter}\7fletter\ 11786,58746
-{\chapternofonts%\7fnofonts%\ 11787,58811
-{#1}{\appendixletter}\7fletter\ 11789,58870
-\appendixnoderef %\7fnoderef\ 11792,58985
-\outer\def\unnumberedsubsec{\7f\unnumberedsubsec\ 11796,59025
-\def\unnumberedsubseczzz #1{\7f\unnumberedsubseczzz\ 11797,59084
-{\chapternofonts%\7fnofonts%\ 11799,59185
-\outer\def\numberedsubsubsec{\7f\numberedsubsubsec\ 11807,59356
-\def\numberedsubsubseczzz #1{\7f\numberedsubsubseczzz\ 11808,59417
-{\chapternofonts%\7fnofonts%\ 11812,59614
-\outer\def\appendixsubsubsec{\7f\appendixsubsubsec\ 11823,59847
-\def\appendixsubsubseczzz #1{\7f\appendixsubsubseczzz\ 11824,59908
-  {\appendixletter}\7fletter\ 11827,60047
-{\chapternofonts%\7fnofonts%\ 11828,60113
-  {\appendixletter}\7fletter\ 11830,60178
-\appendixnoderef %\7fnoderef\ 11834,60312
-\outer\def\unnumberedsubsubsec{\7f\unnumberedsubsubsec\ 11838,60352
-\def\unnumberedsubsubseczzz #1{\7f\unnumberedsubsubseczzz\ 11839,60417
-{\chapternofonts%\7fnofonts%\ 11841,60524
-\def\infotop{\7f\infotop\ 11851,60853
-\def\infounnumbered{\7f\infounnumbered\ 11852,60891
-\def\infounnumberedsec{\7f\infounnumberedsec\ 11853,60936
-\def\infounnumberedsubsec{\7f\infounnumberedsubsec\ 11854,60987
-\def\infounnumberedsubsubsec{\7f\infounnumberedsubsubsec\ 11855,61044
-\def\infoappendix{\7f\infoappendix\ 11857,61108
-\def\infoappendixsec{\7f\infoappendixsec\ 11858,61149
-\def\infoappendixsubsec{\7f\infoappendixsubsec\ 11859,61196
-\def\infoappendixsubsubsec{\7f\infoappendixsubsubsec\ 11860,61249
-\def\infochapter{\7f\infochapter\ 11862,61309
-\def\infosection{\7f\infosection\ 11863,61348
-\def\infosubsection{\7f\infosubsection\ 11864,61387
-\def\infosubsubsection{\7f\infosubsubsection\ 11865,61432
-\global\let\section = \numberedsec\7f=\ 11870,61669
-\global\let\subsection = \numberedsubsec\7f=\ 11871,61704
-\global\let\subsubsection = \numberedsubsubsec\7f=\ 11872,61745
-\def\majorheading{\7f\majorheading\ 11886,62252
-\def\majorheadingzzz #1{\7f\majorheadingzzz\ 11887,62297
-\def\chapheading{\7f\chapheading\ 11893,62530
-\def\chapheadingzzz #1{\7f\chapheadingzzz\ 11894,62573
-\def\heading{\7f\heading\ 11899,62768
-\def\subheading{\7f\subheading\ 11901,62805
-\def\subsubheading{\7f\subsubheading\ 11903,62848
-\def\dobreak#1#2{\7f\dobreak\ 11910,63125
-\def\setchapterstyle #1 {\7f\setchapterstyle\ 11912,63203
-\def\chapbreak{\7f\chapbreak\ 11919,63458
-\def\chappager{\7f\chappager\ 11920,63508
-\def\chapoddpage{\7f\chapoddpage\ 11921,63546
-\def\setchapternewpage #1 {\7f\setchapternewpage\ 11923,63625
-\def\CHAPPAGoff{\7f\CHAPPAGoff\ 11925,63682
-\def\CHAPPAGon{\7f\CHAPPAGon\ 11929,63776
-\global\def\HEADINGSon{\7f\HEADINGSon\ 11932,63867
-\def\CHAPPAGodd{\7f\CHAPPAGodd\ 11934,63909
-\global\def\HEADINGSon{\7f\HEADINGSon\ 11937,64005
-\def\CHAPFplain{\7f\CHAPFplain\ 11941,64059
-\def\chfplain #1#2{\7f\chfplain\ 11945,64151
-\def\unnchfplain #1{\7f\unnchfplain\ 11956,64374
-\def\unnchfopen #1{\7f\unnchfopen\ 11964,64603
-\def\chfopen #1#2{\7f\chfopen\ 11970,64811
-\def\CHAPFopen{\7f\CHAPFopen\ 11975,64955
-\def\subsecheadingbreak{\7f\subsecheadingbreak\ 11982,65173
-\def\secheadingbreak{\7f\secheadingbreak\ 11985,65302
-\def\secheading #1#2#3{\7f\secheading\ 11993,65584
-\def\plainsecheading #1{\7f\plainsecheading\ 11994,65640
-\def\secheadingi #1{\7f\secheadingi\ 11995,65683
-\def\subsecheading #1#2#3#4{\7f\subsecheading\ 12006,66051
-\def\subsecheadingi #1{\7f\subsecheadingi\ 12007,66118
-\def\subsubsecfonts{\7f\subsubsecfonts\ 12014,66415
-\def\subsubsecheading #1#2#3#4#5{\7f\subsubsecheading\ 12017,66538
-\def\subsubsecheadingi #1{\7f\subsubsecheadingi\ 12018,66616
-\def\startcontents#1{\7f\startcontents\ 12032,67088
-   \unnumbchapmacro{#1}\def\thischapter{\7f\thischapter\ 12040,67361
-\outer\def\contents{\7f\contents\ 12049,67720
-\outer\def\summarycontents{\7f\summarycontents\ 12057,67864
-      \def\secentry ##1##2##3##4{\7f\secentry\ 12067,68235
-      \def\unnumbsecentry ##1##2{\7f\unnumbsecentry\ 12068,68270
-      \def\subsecentry ##1##2##3##4##5{\7f\subsecentry\ 12069,68305
-      \def\unnumbsubsecentry ##1##2{\7f\unnumbsubsecentry\ 12070,68346
-      \def\subsubsecentry ##1##2##3##4##5##6{\7f\subsubsecentry\ 12071,68384
-      \def\unnumbsubsubsecentry ##1##2{\7f\unnumbsubsubsecentry\ 12072,68431
-\def\chapentry#1#2#3{\7f\chapentry\ 12085,68865
-\def\shortchapentry#1#2#3{\7f\shortchapentry\ 12088,68982
-    {#2\labelspace #1}\7fspace\ 12091,69092
-\def\unnumbchapentry#1#2{\7f\unnumbchapentry\ 12094,69146
-\def\shortunnumberedentry#1#2{\7f\shortunnumberedentry\ 12095,69193
-\def\secentry#1#2#3#4{\7f\secentry\ 12102,69357
-\def\unnumbsecentry#1#2{\7f\unnumbsecentry\ 12103,69416
-\def\subsecentry#1#2#3#4#5{\7f\subsecentry\ 12106,69477
-\def\unnumbsubsecentry#1#2{\7f\unnumbsubsecentry\ 12107,69547
-\def\subsubsecentry#1#2#3#4#5#6{\7f\subsubsecentry\ 12110,69621
-  \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}\7fspace\ 12111,69655
-\def\unnumbsubsubsecentry#1#2{\7f\unnumbsubsubsecentry\ 12112,69706
-\def\dochapentry#1#2{\7f\dochapentry\ 12123,70080
-\def\dosecentry#1#2{\7f\dosecentry\ 12138,70685
-\def\dosubsecentry#1#2{\7f\dosubsecentry\ 12145,70863
-\def\dosubsubsecentry#1#2{\7f\dosubsubsecentry\ 12152,71048
-\def\labelspace{\7f\labelspace\ 12160,71299
-\def\dopageno#1{\7f\dopageno\ 12162,71334
-\def\doshortpageno#1{\7f\doshortpageno\ 12163,71360
-\def\chapentryfonts{\7f\chapentryfonts\ 12165,71392
-\def\secentryfonts{\7f\secentryfonts\ 12166,71427
-\def\point{\7f\point\ 12192,72386
-\def\result{\7f\result\ 12194,72407
-\def\expansion{\7f\expansion\ 12195,72480
-\def\print{\7f\print\ 12196,72551
-\def\equiv{\7f\equiv\ 12198,72618
-\def\error{\7f\error\ 12218,73391
-\def\tex{\7f\tex\ 12224,73620
-\def\@{\7f\@\ 12242,74003
-\gdef\sepspaces{\def {\ }}}\7f\\ 12265,74735
-\def\aboveenvbreak{\7f\aboveenvbreak\ 12268,74817
-\def\afterenvbreak{\7f\afterenvbreak\ 12272,74983
-\def\ctl{\7f\ctl\ 12286,75494
-\def\ctr{\7f\ctr\ 12287,75566
-\def\cbl{\7f\cbl\ 12288,75605
-\def\cbr{\7f\cbr\ 12289,75645
-\def\carttop{\7f\carttop\ 12290,75684
-\def\cartbot{\7f\cartbot\ 12293,75792
-\long\def\cartouche{\7f\cartouche\ 12299,75932
-\def\Ecartouche{\7f\Ecartouche\ 12326,76720
-\def\lisp{\7f\lisp\ 12338,76855
-\def\Elisp{\7f\Elisp\ 12348,77202
-\def\next##1{\7f\next\ 12360,77528
-\def\Eexample{\7f\Eexample\ 12364,77570
-\def\Esmallexample{\7f\Esmallexample\ 12367,77617
-\def\smalllispx{\7f\smalllispx\ 12373,77795
-\def\Esmalllisp{\7f\Esmalllisp\ 12383,78149
-\obeyspaces \obeylines \ninett \indexfonts \rawbackslash\7ffonts\ 12396,78505
-\def\next##1{\7f\next\ 12397,78562
-\def\display{\7f\display\ 12401,78642
-\def\Edisplay{\7f\Edisplay\ 12410,78961
-\def\next##1{\7f\next\ 12422,79272
-\def\format{\7f\format\ 12426,79375
-\def\Eformat{\7f\Eformat\ 12434,79671
-\def\next##1{\7f\next\ 12437,79760
-\def\flushleft{\7f\flushleft\ 12441,79812
-\def\Eflushleft{\7f\Eflushleft\ 12451,80183
-\def\next##1{\7f\next\ 12454,80276
-\def\flushright{\7f\flushright\ 12456,80298
-\def\Eflushright{\7f\Eflushright\ 12466,80670
-\def\next##1{\7f\next\ 12470,80801
-\def\quotation{\7f\quotation\ 12474,80859
-\def\Equotation{\7f\Equotation\ 12480,81051
-\def\setdeffont #1 {\7f\setdeffont\ 12493,81449
-\newskip\defbodyindent \defbodyindent=.4in\7fbodyindent\ 12495,81495
-\newskip\defargsindent \defargsindent=50pt\7fargsindent\ 12496,81538
-\newskip\deftypemargin \deftypemargin=12pt\7ftypemargin\ 12497,81581
-\newskip\deflastargmargin \deflastargmargin=18pt\7flastargmargin\ 12498,81624
-\def\activeparens{\7f\activeparens\ 12503,81822
-\def\opnr{\7f\opnr\ 12529,83034
-\def\lbrb{\7f\lbrb\ 12530,83099
-\def\defname #1#2{\7f\defname\ 12536,83300
-\advance\dimen2 by -\defbodyindent\7fbodyindent\ 12540,83418
-\advance\dimen3 by -\defbodyindent\7fbodyindent\ 12542,83472
-\setbox0=\hbox{\hskip \deflastargmargin{\7flastargmargin\ 12544,83526
-\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations\7fargsindent\ 12546,83668
-\parshape 2 0in \dimen0 \defargsindent \dimen1     %\7fargsindent\ 12547,83743
-\rlap{\rightline{{\rm #2}\hskip \deftypemargin}\7ftypemargin\ 12554,84112
-\advance\leftskip by -\defbodyindent\7fbodyindent\ 12557,84246
-\exdentamount=\defbodyindent\7fbodyindent\ 12558,84283
-\def\defparsebody #1#2#3{\7f\defparsebody\ 12568,84642
-\def#1{\7f2572,84826
-\def#2{\7f2573,84862
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12575,84934
-\exdentamount=\defbodyindent\7fbodyindent\ 12576,85008
-\def\defmethparsebody #1#2#3#4 {\7f\defmethparsebody\ 12581,85112
-\def#1{\7f2585,85273
-\def#2##1 {\7f2586,85309
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12588,85392
-\exdentamount=\defbodyindent\7fbodyindent\ 12589,85466
-\def\defopparsebody #1#2#3#4#5 {\7f\defopparsebody\ 12592,85551
-\def#1{\7f2596,85712
-\def#2##1 ##2 {\7f2597,85748
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12600,85848
-\exdentamount=\defbodyindent\7fbodyindent\ 12601,85922
-\def\defvarparsebody #1#2#3{\7f\defvarparsebody\ 12608,86193
-\def#1{\7f2612,86380
-\def#2{\7f2613,86416
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12615,86475
-\exdentamount=\defbodyindent\7fbodyindent\ 12616,86549
-\def\defvrparsebody #1#2#3#4 {\7f\defvrparsebody\ 12621,86640
-\def#1{\7f2625,86799
-\def#2##1 {\7f2626,86835
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12628,86905
-\exdentamount=\defbodyindent\7fbodyindent\ 12629,86979
-\def\defopvarparsebody #1#2#3#4#5 {\7f\defopvarparsebody\ 12632,87051
-\def#1{\7f2636,87215
-\def#2##1 ##2 {\7f2637,87251
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent\7fbodyindent\ 12640,87338
-\exdentamount=\defbodyindent\7fbodyindent\ 12641,87412
-\def\defunargs #1{\7f\defunargs\ 12664,88172
-\def\deftypefunargs #1{\7f\deftypefunargs\ 12676,88554
-\def\deffn{\7f\deffn\ 12690,88936
-\def\deffnheader #1#2#3{\7f\deffnheader\ 12692,88993
-\begingroup\defname {\7fname\ 12693,89041
-\def\defun{\7f\defun\ 12699,89186
-\def\defunheader #1#2{\7f\defunheader\ 12701,89239
-\begingroup\defname {\7fname\ 12702,89314
-\defunargs {\7funargs\ 12703,89350
-\def\deftypefun{\7f\deftypefun\ 12709,89498
-\def\deftypefunheader #1#2{\7f\deftypefunheader\ 12712,89620
-\def\deftypefunheaderx #1#2 #3\relax{\7f\deftypefunheaderx\ 12714,89729
-\begingroup\defname {\7fname\ 12716,89821
-\deftypefunargs {\7ftypefunargs\ 12717,89867
-\def\deftypefn{\7f\deftypefn\ 12723,90038
-\def\deftypefnheader #1#2#3{\7f\deftypefnheader\ 12726,90187
-\def\deftypefnheaderx #1#2#3 #4\relax{\7f\deftypefnheaderx\ 12728,90323
-\begingroup\defname {\7fname\ 12730,90416
-\deftypefunargs {\7ftypefunargs\ 12731,90456
-\def\defmac{\7f\defmac\ 12737,90577
-\def\defmacheader #1#2{\7f\defmacheader\ 12739,90634
-\begingroup\defname {\7fname\ 12740,90710
-\defunargs {\7funargs\ 12741,90743
-\def\defspec{\7f\defspec\ 12747,90867
-\def\defspecheader #1#2{\7f\defspecheader\ 12749,90928
-\begingroup\defname {\7fname\ 12750,91005
-\defunargs {\7funargs\ 12751,91045
-\def\deffnx #1 {\7f\deffnx\ 12758,91240
-\def\defunx #1 {\7f\defunx\ 12759,91297
-\def\defmacx #1 {\7f\defmacx\ 12760,91354
-\def\defspecx #1 {\7f\defspecx\ 12761,91413
-\def\deftypefnx #1 {\7f\deftypefnx\ 12762,91474
-\def\deftypeunx #1 {\7f\deftypeunx\ 12763,91539
-\def\defop #1 {\7f\defop\ 12769,91685
-\defopparsebody\Edefop\defopx\defopheader\defoptype}\7fopparsebody\Edefop\defopx\defopheader\defoptype\ 12770,91720
-\def\defopheader #1#2#3{\7f\defopheader\ 12772,91774
-\begingroup\defname {\7fname\ 12774,91863
-\defunargs {\7funargs\ 12775,91909
-\def\defmethod{\7f\defmethod\ 12780,91970
-\def\defmethodheader #1#2#3{\7f\defmethodheader\ 12782,92043
-\begingroup\defname {\7fname\ 12784,92131
-\defunargs {\7funargs\ 12785,92171
-\def\defcv #1 {\7f\defcv\ 12790,92245
-\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}\7fopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype\ 12791,92280
-\def\defcvarheader #1#2#3{\7f\defcvarheader\ 12793,92339
-\begingroup\defname {\7fname\ 12795,92425
-\defvarargs {\7fvarargs\ 12796,92471
-\def\defivar{\7f\defivar\ 12801,92544
-\def\defivarheader #1#2#3{\7f\defivarheader\ 12803,92607
-\begingroup\defname {\7fname\ 12805,92693
-\defvarargs {\7fvarargs\ 12806,92744
-\def\defopx #1 {\7f\defopx\ 12812,92893
-\def\defmethodx #1 {\7f\defmethodx\ 12813,92950
-\def\defcvx #1 {\7f\defcvx\ 12814,93015
-\def\defivarx #1 {\7f\defivarx\ 12815,93072
-\def\defvarargs #1{\7f\defvarargs\ 12822,93343
-\def\defvr{\7f\defvr\ 12828,93487
-\def\defvrheader #1#2#3{\7f\defvrheader\ 12830,93542
-\begingroup\defname {\7fname\ 12831,93590
-\def\defvar{\7f\defvar\ 12835,93675
-\def\defvarheader #1#2{\7f\defvarheader\ 12837,93735
-\begingroup\defname {\7fname\ 12838,93806
-\defvarargs {\7fvarargs\ 12839,93842
-\def\defopt{\7f\defopt\ 12844,93908
-\def\defoptheader #1#2{\7f\defoptheader\ 12846,93968
-\begingroup\defname {\7fname\ 12847,94039
-\defvarargs {\7fvarargs\ 12848,94078
-\def\deftypevar{\7f\deftypevar\ 12853,94135
-\def\deftypevarheader #1#2{\7f\deftypevarheader\ 12856,94251
-\begingroup\defname {\7fname\ 12858,94334
-\def\deftypevr{\7f\deftypevr\ 12865,94508
-\def\deftypevrheader #1#2#3{\7f\deftypevrheader\ 12867,94579
-\begingroup\defname {\7fname\ 12868,94631
-\def\defvrx #1 {\7f\defvrx\ 12876,94868
-\def\defvarx #1 {\7f\defvarx\ 12877,94925
-\def\defoptx #1 {\7f\defoptx\ 12878,94984
-\def\deftypevarx #1 {\7f\deftypevarx\ 12879,95043
-\def\deftypevrx #1 {\7f\deftypevrx\ 12880,95110
-\def\deftpargs #1{\7f\deftpargs\ 12885,95259
-\def\deftp{\7f\deftp\ 12889,95339
-\def\deftpheader #1#2#3{\7f\deftpheader\ 12891,95394
-\begingroup\defname {\7fname\ 12892,95442
-\def\deftpx #1 {\7f\deftpx\ 12897,95601
-\def\setref#1{\7f\setref\ 12908,95922
-\def\unnumbsetref#1{\7f\unnumbsetref\ 12913,96036
-\def\appendixsetref#1{\7f\appendixsetref\ 12918,96143
-\def\pxref#1{\7f\pxref\ 12929,96554
-\def\xref#1{\7f\xref\ 12930,96590
-\def\ref#1{\7f\ref\ 12931,96625
-\def\xrefX[#1,#2,#3,#4,#5,#6]{\7f\xrefX[\ 12932,96655
-\def\printedmanual{\7f\printedmanual\ 12933,96698
-\def\printednodename{\7f\printednodename\ 12934,96736
-\def\printednodename{\7f\printednodename\ 12939,96861
-section ``\printednodename'' in \cite{\printedmanual}\7f\printedmanual\ 12954,97493
-\refx{\7fx\ 12957,97571
-\def\dosetq #1#2{\7f\dosetq\ 12965,97791
-\def\internalsetq #1#2{\7f\internalsetq\ 12973,98049
-\def\Ypagenumber{\7f\Ypagenumber\ 12977,98150
-\def\Ytitle{\7f\Ytitle\ 12979,98176
-\def\Ynothing{\7f\Ynothing\ 12981,98203
-\def\Ysectionnumberandtype{\7f\Ysectionnumberandtype\ 12983,98220
-\def\Yappendixletterandtype{\7f\Yappendixletterandtype\ 12992,98536
-\ifnum\secno=0 Appendix\xreftie'char\the\appendixno{\7fno\ 12993,98566
-\else \ifnum \subsecno=0 Section\xreftie'char\the\appendixno.\the\secno %\7fno.\the\secno\ 12994,98621
-Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno %\7fno.\the\secno.\the\subsecno\ 12996,98725
-Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %\7fno.\the\secno.\the\subsecno.\the\subsubsecno\ 12998,98796
-  \def\linenumber{\7f\linenumber\ 13009,99135
-\def\refx#1#2{\7f\refx\ 13015,99319
-\def\xrdef #1#2{\7f\xrdef\ 13037,99945
-\def\readauxfile{\7f\readauxfile\ 13040,100030
-\def\supereject{\7f\supereject\ 13110,101811
-\footstrut\parindent=\defaultparindent\hang\textindent{\7faultparindent\hang\textindent\ 13131,102496
-\def\openindices{\7f\openindices\ 13139,102682
-\newdimen\defaultparindent \defaultparindent = 15pt\7faultparindent\ 13151,102907
-\parindent = \defaultparindent\7faultparindent\ 13152,102959
-\def\smallbook{\7f\smallbook\ 13175,103683
-\global\def\Esmallexample{\7f\Esmallexample\ 13192,104110
-\def\afourpaper{\7f\afourpaper\ 13196,104201
-\def\finalout{\7f\finalout\ 13224,105009
-\def\normaldoublequote{\7f\normaldoublequote\ 13235,105270
-\def\normaltilde{\7f\normaltilde\ 13236,105296
-\def\normalcaret{\7f\normalcaret\ 13237,105316
-\def\normalunderscore{\7f\normalunderscore\ 13238,105336
-\def\normalverticalbar{\7f\normalverticalbar\ 13239,105361
-\def\normalless{\7f\normalless\ 13240,105387
-\def\normalgreater{\7f\normalgreater\ 13241,105406
-\def\normalplus{\7f\normalplus\ 13242,105428
-\def\ifusingtt#1#2{\7f\ifusingtt\ 13253,105920
-\def\activedoublequote{\7f\activedoublequote\ 13261,106248
-\def~{\7f~\ 13264,106334
-\def^{\7f^\ 13267,106395
-\def_{\7f_\ 13270,106434
-\def\_{\7f\_\ 13272,106508
-\def\lvvmode{\7f\lvvmode\ 13279,106845
-\def|{\7f|\ 13282,106895
-\def<{\7f<\ 13285,106958
-\def>{\7f>\ 13288,107015
-\def+{\7f+\ 13290,107053
-\def\turnoffactive{\7f\turnoffactive\ 13296,107214
-\global\def={\7f=\ 13307,107500
-\def\normalbackslash{\7f\normalbackslash\ 13321,107882
-\f
-merc-src/accumulator.m,4915
-:- interface\7f146,5371
-:- import_module hlds\7f148,5386
-:- import_module univ\7f152,5478
-:- pred accu_transform_proc\7f159,5793
-:- implementation\7f166,6115
-:- import_module libs\7f180,6552
-:- import_module mdbcomp\7f184,6681
-:- import_module parse_tree\7f186,6742
-:- import_module assoc_list\7f194,7013
-:- import_module bool\7f195,7042
-:- import_module int\7f196,7065
-:- import_module io\7f197,7087
-:- import_module list\7f198,7108
-:- import_module map\7f199,7131
-:- import_module maybe\7f200,7153
-:- import_module pair\7f201,7177
-:- import_module require\7f202,7200
-:- import_module set\7f203,7226
-:- import_module solutions\7f204,7248
-:- import_module string\7f205,7276
-:- import_module term\7f206,7301
-:- import_module varset\7f207,7324
-:- type top_level\7f213,7499
-:- type accu_goal_id\7f225,7900
-:- type accu_case\7f228,7964
-:- type accu_goal_store\7f234,8091
-:- type accu_subst\7f238,8216
-:- type accu_warning\7f240,8264
-accu_transform_proc\7f247,8578
-:- pred generate_warnings\7f334,12550
-generate_warnings\7f337,12669
-:- pred generate_warning\7f342,12895
-generate_warning\7f345,13001
-:- pred should_attempt_accu_transform\7f365,13886
-should_attempt_accu_transform\7f370,14123
-:- pred should_attempt_accu_transform_2\7f398,15406
-should_attempt_accu_transform_2\7f405,15763
-:- pred accu_standardize\7f440,17390
-accu_standardize\7f442,17455
-:- pred identify_goal_type\7f465,18169
-identify_goal_type\7f469,18359
-:- pred is_recursive_case\7f549,21175
-is_recursive_case\7f551,21253
-:- type store_info\7f560,21713
-:- func initialize_goal_store\7f570,22060
-initialize_goal_store\7f573,22166
-:- pred accu_store\7f580,22421
-accu_store\7f584,22576
-:- pred identify_recursive_calls\7f601,23288
-identify_recursive_calls\7f604,23406
-:- pred identify_out_and_out_prime\7f626,24397
-identify_out_and_out_prime\7f631,24632
-:- type accu_sets\7f676,26426
-:- pred accu_stage1\7f689,26978
-accu_stage1\7f693,27156
-:- pred accu_stage1_2\7f727,28348
-accu_stage1_2\7f731,28516
-:- pred accu_sets_init\7f781,30558
-accu_sets_init\7f783,30606
-:- func set_upto\7f796,30985
-set_upto\7f798,31040
-:- pred accu_before\7f812,31499
-accu_before\7f815,31640
-:- pred accu_assoc\7f835,32478
-accu_assoc\7f838,32618
-:- pred accu_construct\7f862,33713
-accu_construct\7f865,33857
-:- pred accu_construct_assoc\7f896,35308
-accu_construct_assoc\7f899,35458
-:- pred accu_update\7f938,37070
-accu_update\7f941,37211
-:- pred member_lessthan_goalid\7f964,38220
-member_lessthan_goalid\7f967,38343
-:- type accu_assoc\7f975,38653
-:- pred accu_is_associative\7f986,39139
-accu_is_associative\7f989,39251
-:- pred associativity_assertion\7f1014,40264
-associativity_assertion\7f1017,40405
-:- pred commutativity_assertion\7f1037,41243
-commutativity_assertion\7f1040,41370
-:- pred accu_is_update\7f1057,41953
-accu_is_update\7f1060,42067
-:- pred is_associative_construction\7f1078,42803
-is_associative_construction\7f1081,42899
-:- type accu_substs\7f1095,43481
-:- type accu_base\7f1103,43745
-:- pred accu_stage2\7f1124,44606
-accu_stage2\7f1131,44947
-:- pred accu_substs_init\7f1179,46958
-accu_substs_init\7f1182,47098
-:- pred acc_var_subst_init\7f1194,47574
-acc_var_subst_init\7f1198,47719
-:- pred create_new_var\7f1207,48148
-create_new_var\7f1210,48289
-:- pred accu_process_assoc_set\7f1223,48863
-accu_process_assoc_set\7f1229,49151
-:- pred accu_has_heuristic\7f1297,52082
-accu_has_heuristic\7f1299,52162
-:- pred accu_heuristic\7f1304,52337
-accu_heuristic\7f1307,52458
-:- pred accu_process_update_set\7f1318,52907
-accu_process_update_set\7f1325,53222
-:- pred accu_divide_base_case\7f1380,55845
-accu_divide_base_case\7f1385,56060
-:- pred accu_related\7f1412,57147
-accu_related\7f1415,57271
-:- inst stored_goal_plain_call\7f1444,58416
-:- pred lookup_call\7f1449,58602
-lookup_call\7f1452,58716
-:- pred accu_stage3\7f1470,59433
-accu_stage3\7f1477,59827
-:- pred acc_proc_info\7f1508,61327
-acc_proc_info\7f1512,61486
-:- pred acc_pred_info\7f1556,63450
-acc_pred_info\7f1559,63598
-:- pred accu_create_goal\7f1600,65286
-accu_create_goal\7f1607,65629
-:- func create_acc_call\7f1621,66401
-create_acc_call\7f1625,66570
-:- pred create_orig_goal\7f1634,66988
-create_orig_goal\7f1638,67177
-:- pred create_acc_goal\7f1662,68158
-create_acc_goal\7f1667,68381
-:- func create_new_orig_recursive_goals\7f1709,70226
-create_new_orig_recursive_goals\7f1712,70369
-:- func create_new_recursive_goals\7f1723,70919
-create_new_recursive_goals\7f1727,71109
-:- func create_new_base_goals\7f1738,71718
-create_new_base_goals\7f1741,71832
-:- pred acc_unification\7f1749,72157
-acc_unification\7f1751,72226
-:- pred accu_top_level\7f1766,72897
-accu_top_level\7f1770,73059
-:- pred update_accumulator_pred\7f1856,76291
-update_accumulator_pred\7f1859,76412
-:- func accu_rename\7f1876,77254
-accu_rename\7f1879,77364
-:- func base_case_ids\7f1889,77785
-base_case_ids\7f1891,77847
-:- func base_case_ids_set\7f1898,78049
-base_case_ids_set\7f1900,78114
-:- func accu_goal_list\7f1905,78270
-accu_goal_list\7f1907,78350
-:- pred calculate_goal_info\7f1916,78681
-calculate_goal_info\7f1918,78754
-:- func chain_subst\7f1932,79320
-chain_subst\7f1934,79379
-:- pred chain_subst_2\7f1938,79483
-chain_subst_2\7f1941,79577
-:- some [T] pred unravel_univ\7f1956,80061
-:- pragma foreign_export\7f1957,80117
-unravel_univ\7f1961,80341
-\f
-c-src/c.c,76
-T f(\7f1,0
-}T i;\7f2,14
-void bar(\7f5,69
-int foobar(\7f6,94
-interface_locate(\7f9,131
-\f
-c.c,2280
-void (*fa)\7ffa\ 1131,
-void \7f132,
-my_printf \7f135,
-void fatala \7f138,
-void fatalb \7f139,
-max \7f141,
-struct bar \7f143,
-  char z;\7f144,
-  struct foo f;\7f145,
-__attribute__ ((always_inline)) max \7f147,
-extern int old_var \7f149,
-struct foo\7f150,
-  char a;\7f152,
-  int x[\7fx\ 1153,
-char stack[\7fstack\ 1155,
-struct S \7f156,
-struct S { short f[\7ff\ 1156,
-  int *__ip;\7f__ip\ 1159,
-  union wait *__up;\7f__up\ 1160,
-} wait_status_ptr_t \7f161,
-Some_Class  A \7f162,
-typedef T1 T3 \7f163,
-T3 z \7f164,
-typedef int more_aligned_int \7f165,
-struct S  __attribute__ ((vector_size (16))) foo;\7f166,
-int foo \7f167,
-char *__attribute__((aligned(8))) *f;\7ff\ 1168,
-int i \7f169,
-extern void foobar \7f170,
-typedef struct cacheLRUEntry_s\7f172,
-  U16 next;\7f174,
-  U16 prev;\7f175,
-__attribute__ ((packed)) cacheLRUEntry_t;\7f177,
-struct foo \7f178,
-  int x;\7f179,
-  char a,\7f180,
-  char a, b,\7f180,
-  char a, b, c,\7f180,
-  char a, b, c, d;\7f180,
-     f1 \7f183,
-void f2 \7f184,
-__attribute__((noreturn)) void d0 \7f185,
-  __attribute__((format(printf, 1, 2))) d1 \7f186,
-  d2 \7f187,
-int x \7f188,
-struct foo \7f189,
-struct foo { int x[\7fx\ 1189,
-short array[\7farray\ 1190,
-int f\7f193,
-DEAFUN \7f196,
-XDEFUN \7f203,
-DEFUN ("x-get-selection-internal", Fx_get_selection_internal,\7f206,
-DEFUN ("x-get-selection-internal", Fx_get_selection_internal,\7fx-get-selection-internal\ 1206,
-       Fx_get_selection_internal,\7f212,
-       Fx_get_selection_internal,\7fx-get-selection-internal\ 1212,
-      Fy_get_selection_internal,\7f216,
-      Fy_get_selection_internal,\7fy-get-selection-internal\ 1216,
-defun_func1(\7f218,
-DEFUN_func2(\7f220,
-typedef int bool;\7f222,
-bool funcboo \7f223,
-struct my_struct \7f226,
-typedef struct my_struct my_typedef;\7f228,
-int bla \7f229,
-a(\7f234,
-int func1\7f237,
-static struct cca_control init_control \7f239,
-static tpcmd rbtp \7f240,
-static byte ring1 \7f241,
-static byte ring2 \7f242,
-request request \7f243,
-int func2 \7f246,
-  aaa;\7f249,
-  bbb;\7f251,
-struct sss1 \7f252,
-struct sss2\7f253,
-  struct ss3\7f255,
-struct a b;\7f259,
-struct aa *b;\7fb\ 1260,
-  **b;\7fb\ 1262,
-caccacacca \7f263,
-a \7f267,
-  typedef struct aa \7f269,
-  typedef struct aa {} aaa;\7f269,
-static void inita \7f271,
-node *lasta \7flasta\ 1272,
-b \7f273,
-  typedef  int bb;\7f275,
-static void initb \7f277,
-node *lastb \7flastb\ 1278,
-typedef enum { REG_ENOSYS \7f279,
-typedef enum { REG_ENOSYS = -1, aa \7f279,
-typedef enum { REG_ENOSYS = -1, aa } reg_errcode_t;\7f279,
-\f
-c-src/a/b/b.c,18
-#define this \7f1,0
-\f
-../c/c.web,20
-#define questo \7f34,
-\f
-y-src/parse.y,1061
-#define obstack_chunk_alloc \7f47,1124
-#define obstack_chunk_free \7f48,1162
-int yylex \7f58,1330
-void yyerror \7f60,1360
-void yyerror \7f62,1389
-VOIDSTAR parse_hash;\7f64,1413
-extern VOIDSTAR hash_find(\7f65,1434
-unsigned char fnin[\7ffnin\ 168,1532
-#define YYSTYPE \7f72,1630
-typedef struct node *YYSTYPE;\7fYYSTYPE\ 173,1661
-YYSTYPE parse_return;\7f74,1691
-YYSTYPE make_list \7f76,1729
-YYSTYPE make_list \7f78,1773
-char *instr;\7finstr\ 181,1803
-int parse_error \7f82,1816
-extern struct obstack tmp_mem;\7f83,1837
-line:\7fline\ 187,1875
-exp:\7fexp\ 195,1988
-exp_list:\7fexp_list\ 1263,5655
-range_exp:\7frange_exp\ 1269,5753
-range_exp_list:\7frange_exp_list\ 1273,5783
-cell:\7fcell\ 1279,5901
-yyerror FUN1(\7f286,5948
-make_list FUN2(\7f293,6028
-#define ERROR \7f304,6228
-extern struct node *yylval;\7fyylval\ 1306,6246
-unsigned char parse_cell_or_range \7f309,6291
-unsigned char parse_cell_or_range \7f311,6355
-yylex FUN0(\7f315,6405
-parse_cell_or_range FUN2(\7f587,11772
-#define CK_ABS_R(\7f671,13214
-#define CK_REL_R(\7f675,13293
-#define CK_ABS_C(\7f680,13422
-#define CK_REL_C(\7f684,13501
-#define MAYBEREL(\7f689,13630
-str_to_col FUN1(\7f847,16831
-\f
-y-src/parse.c,520
-#define YYBISON \7f4,64
-# define       NE      \7f6,114
-# define       LE      \7f7,130
-# define       GE      \7f8,146
-# define       NEG     \7f9,162
-# define       L_CELL  \7f10,179
-# define       L_RANGE \7f11,199
-# define       L_VAR   \7f12,220
-# define       L_CONST \7f13,239
-# define       L_FN0   \7f14,260
-# define       L_FN1   \7f15,279
-# define       L_FN2   \7f16,298
-# define       L_FN3   \7f17,317
-# define       L_FN4   \7f18,336
-# define       L_FNN   \7f19,355
-# define       L_FN1R  \7f20,374
-# define       L_FN2R  \7f21,394
-# define       L_FN3R  \7f22,414
-# define       L_FN4R  \7f23,434
-# define       L_FNNR  \7f24,454
-# define       L_LE    \7f25,474
-# define       L_NE    \7f26,492
-# define       L_GE    \7f27,510
-\f
-/usr/share/bison/bison.simple,1787
-# define YYSTD(\7f40,
-# define YYSTD(\7f42,
-#  define YYSTACK_ALLOC \7f50,
-#  define YYSIZE_T \7f51,
-#    define YYSTACK_ALLOC \7f55,
-#    define YYSIZE_T \7f56,
-#     define YYSTACK_ALLOC \7f59,
-#  define YYSTACK_FREE(\7f67,
-#   define YYSIZE_T \7f71,
-#    define YYSIZE_T \7f75,
-#  define YYSTACK_ALLOC \7f78,
-#  define YYSTACK_FREE \7f79,
-union yyalloc\7f83,
-  short yyss;\7f85,
-  YYSTYPE yyvs;\7f86,
-  YYLTYPE yyls;\7f88,
-# define YYSTACK_GAP_MAX \7f93,
-#  define YYSTACK_BYTES(\7f98,
-#  define YYSTACK_BYTES(\7f102,
-# define YYSTACK_RELOCATE(\7f112,
-# define YYSIZE_T \7f128,
-# define YYSIZE_T \7f131,
-#  define YYSIZE_T \7f136,
-#   define YYSIZE_T \7f140,
-# define YYSIZE_T \7f145,
-#define yyerrok        \7f148,
-#define yyclearin      \7f149,
-#define YYEMPTY        \7f150,
-#define YYEOF  \7f151,
-#define YYACCEPT       \7f152,
-#define YYABORT \7f153,
-#define YYERROR        \7f154,
-#define YYFAIL \7f158,
-#define YYRECOVERING(\7f159,
-#define YYBACKUP(\7f160,
-#define YYTERROR       \7f177,
-#define YYERRCODE      \7f178,
-# define YYLLOC_DEFAULT(\7f189,
-#   define YYLEX       \7f200,
-#   define YYLEX       \7f202,
-#   define YYLEX       \7f206,
-#   define YYLEX       \7f208,
-# define YYLEX \7f212,
-#  define YYFPRINTF \7f225,
-# define YYDPRINTF(\7f228,
-int yydebug;\7f237,
-# define YYDPRINTF(\7f239,
-# define YYINITDEPTH \7f244,
-# undef YYMAXDEPTH\7f255,
-# define YYMAXDEPTH \7f259,
-#  define yymemcpy \7f264,
-yymemcpy \7f271,
-#   define yystrlen \7f293,
-yystrlen \7f298,
-#   define yystpcpy \7f316,
-yystpcpy \7f322,
-#  define YYPARSE_PARAM_ARG \7f351,
-#  define YYPARSE_PARAM_DECL\7f352,
-#  define YYPARSE_PARAM_ARG \7f354,
-#  define YYPARSE_PARAM_DECL \7f355,
-# define YYPARSE_PARAM_ARG\7f358,
-# define YYPARSE_PARAM_DECL\7f359,
-int yyparse \7f365,
-int yyparse \7f367,
-#define YY_DECL_NON_LSP_VARIABLES      \7f374,
-# define YY_DECL_VARIABLES     \7f385,
-# define YY_DECL_VARIABLES     \7f391,
-yyparse \7f403,
-# define YYPOPSTACK \7f445,
-# define YYPOPSTACK \7f447,
-# undef YYSTACK_RELOCATE\7f548,
-\f
-y-src/atest.y,9
-exp    \7f2,3
-\f
-y-src/cccp.c,303
-#define YYBISON \7f4,63
-# define       INT     \7f6,113
-# define       CHAR    \7f7,130
-# define       NAME    \7f8,148
-# define       ERROR   \7f9,166
-# define       OR      \7f10,185
-# define       AND     \7f11,201
-# define       EQUAL   \7f12,218
-# define       NOTEQUAL        \7f13,237
-# define       LEQ     \7f14,259
-# define       GEQ     \7f15,276
-# define       LSH     \7f16,293
-# define       RSH     \7f17,310
-# define       UNARY   \7f18,327
-\f
-/usr/share/bison/bison.simple,2238
-# define YYSTD(\7f41,
-# define YYSTD(\7f43,
-#  define YYSTACK_ALLOC \7f51,
-#  define YYSIZE_T \7f52,
-#    define YYSTACK_ALLOC \7f56,
-#    define YYSIZE_T \7f57,
-#     define YYSTACK_ALLOC \7f60,
-#  define YYSTACK_FREE(\7f68,
-#   define YYSIZE_T \7f72,
-#    define YYSIZE_T \7f76,
-#  define YYSTACK_ALLOC \7f79,
-#  define YYSTACK_FREE \7f80,
-union yyalloc\7f84,
-  short yyss;\7f86,
-  YYSTYPE yyvs;\7f87,
-  YYLTYPE yyls;\7f89,
-# define YYSTACK_GAP_MAX \7f94,
-#  define YYSTACK_BYTES(\7f99,
-#  define YYSTACK_BYTES(\7f103,
-# define YYSTACK_RELOCATE(\7f113,
-# define YYSIZE_T \7f129,
-# define YYSIZE_T \7f132,
-#  define YYSIZE_T \7f137,
-#   define YYSIZE_T \7f141,
-# define YYSIZE_T \7f146,
-#define yyerrok        \7f149,
-#define yyclearin      \7f150,
-#define YYEMPTY        \7f151,
-#define YYEOF  \7f152,
-#define YYACCEPT       \7f153,
-#define YYABORT \7f154,
-#define YYERROR        \7f155,
-#define YYFAIL \7f159,
-#define YYRECOVERING(\7f160,
-#define YYBACKUP(\7f161,
-#define YYTERROR       \7f178,
-#define YYERRCODE      \7f179,
-# define YYLLOC_DEFAULT(\7f190,
-#   define YYLEX       \7f201,
-#   define YYLEX       \7f203,
-#   define YYLEX       \7f207,
-#   define YYLEX       \7f209,
-# define YYLEX \7f213,
-#  define YYFPRINTF \7f226,
-# define YYDPRINTF(\7f229,
-int yydebug;\7f238,
-# define YYDPRINTF(\7f240,
-# define YYINITDEPTH \7f245,
-# undef YYMAXDEPTH\7f256,
-# define YYMAXDEPTH \7f260,
-#  define yymemcpy \7f265,
-yymemcpy \7f272,
-#   define yystrlen \7f294,
-yystrlen \7f299,
-#   define yystpcpy \7f317,
-yystpcpy \7f323,
-#  define YYPARSE_PARAM_ARG \7f351,
-#  define YYPARSE_PARAM_DECL\7f352,
-#  define YYPARSE_PARAM_ARG \7f354,
-#  define YYPARSE_PARAM_DECL \7f355,
-# define YYPARSE_PARAM_ARG\7f358,
-# define YYPARSE_PARAM_DECL\7f359,
-int yyparse \7f365,
-int yyparse \7f367,
-#define YY_DECL_NON_LSP_VARIABLES      \7f374,
-# define YY_DECL_VARIABLES     \7f385,
-# define YY_DECL_VARIABLES     \7f391,
-yyparse \7f403,
-# define YYPOPSTACK \7f445,
-# define YYPOPSTACK \7f447,
-# undef YYSTACK_RELOCATE\7f548,
-  *++yyvsp \7fyyvsp\ 1746,
-  *++yylsp \7fyylsp\ 1748,
-  yyn \7f755,
-  yystate \7f757,
-    yystate \7f761,
-  goto yynewstate;\7f763,
-  goto yyerrlab1;\7f823,
-  yyerrstatus \7f846,
-  goto yyerrhandle;\7f848,
-  yyn \7f861,
-  yystate \7f875,
-  yyn \7f895,
-  yyn \7f903,
-  YYDPRINTF \7f917,
-  *++yyvsp \7fyyvsp\ 1919,
-  *++yylsp \7fyylsp\ 1921,
-  yystate \7f924,
-  goto yynewstate;\7f925,
-  yyresult \7f932,
-  goto yyreturn;\7f933,
-  yyresult \7f939,
-  goto yyreturn;\7f940,
-  yyerror \7f946,
-  yyresult \7f947,
-\f
-y-src/cccp.y,2171
-typedef unsigned char U_CHAR;\7f38,1201
-struct arglist \7f41,1301
-  struct arglist *next;\7fnext\ 142,1318
-  U_CHAR *name;\7fname\ 143,1342
-  int length;\7f44,1358
-  int argno;\7f45,1372
-#define NULL \7f51,1468
-#define GENERIC_PTR \7f56,1578
-#define GENERIC_PTR \7f58,1611
-#define NULL_PTR \7f63,1670
-int yylex \7f66,1712
-void yyerror \7f67,1726
-int expression_value;\7f68,1743
-static jmp_buf parse_return_error;\7f70,1766
-static int keyword_parsing \7f73,1865
-extern unsigned char is_idstart[\7fis_idstart\ 176,1944
-extern unsigned char is_idstart[], is_idchar[\7fis_idchar\ 176,1944
-extern unsigned char is_idstart[], is_idchar[], is_hor_space[\7fis_hor_space\ 176,1944
-extern char *xmalloc \7fxmalloc\ 178,2009
-extern int pedantic;\7f81,2062
-extern int traditional;\7f84,2114
-#define CHAR_TYPE_SIZE \7f87,2162
-#define INT_TYPE_SIZE \7f91,2229
-#define LONG_TYPE_SIZE \7f95,2296
-#define WCHAR_TYPE_SIZE \7f99,2365
-#define possible_sum_sign(\7f104,2556
-static void integer_overflow \7f106,2632
-static long left_shift \7f107,2665
-static long right_shift \7f108,2692
-  struct constant \7f112,2733
-  struct constant {long value;\7f112,2733
-  struct constant {long value; int unsignedp;\7f112,2733
-  struct constant {long value; int unsignedp;} integer;\7f112,2733
-  struct name \7f113,2789
-  struct name {U_CHAR *address;\7faddress\ 1113,2789
-  struct name {U_CHAR *address; int length;\7f113,2789
-  struct name {U_CHAR *address; int length;} name;\7f113,2789
-  struct arglist *keywords;\7fkeywords\ 1114,2840
-  int voidval;\7f115,2868
-  char *sval;\7fsval\ 1116,2883
-start \7f143,3226
-exp1   \7f148,3330
-exp    \7f156,3505
-exp    \7f185,4295
-keywords \7f306,7835
-static char *lexptr;\7flexptr\ 1332,8579
-parse_number \7f341,8842
-struct token \7f437,11038
-  char *operator;\7foperator\ 1438,11053
-  int token;\7f439,11071
-static struct token tokentab2[\7ftokentab2\ 1442,11088
-yylex \7f459,11367
-parse_escape \7f740,17718
-yyerror \7f836,19599
-integer_overflow \7f844,19690
-left_shift \7f851,19804
-right_shift \7f873,20194
-parse_c_expression \7f893,20732
-extern int yydebug;\7f919,21416
-main \7f923,21483
-unsigned char is_idchar[\7fis_idchar\ 1948,21901
-unsigned char is_idstart[\7fis_idstart\ 1950,21996
-char is_hor_space[\7fis_hor_space\ 1953,22160
-initialize_random_junk \7f958,22259
-error \7f988,22915
-warning \7f993,22963
-lookup \7f999,23033
-\f
-tex-src/nonewline.tex,0
-\f
-php-src/sendmail.php,0
-\f
-a-src/empty.zz,0
diff --git a/test/manual/etags/Makefile b/test/manual/etags/Makefile
deleted file mode 100644 (file)
index 81b5c3c..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-ADASRC=$(addprefix ./ada-src/,etags-test-for.ada 2ataspri.adb 2ataspri.ads waroquiers.ada)
-ASRC=$(addprefix ./a-src/,empty.zz empty.zz.gz)
-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 x.cc 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)
-FORTHSRC=$(addprefix ./forth-src/,test-forth.fth)
-FSRC=$(addprefix ./f-src/,entry.for entry.strange_suffix entry.strange)
-GOSRC=$(addprefix ./go-src/,test.go test1.go)
-HTMLSRC=$(addprefix ./html-src/,softwarelibero.html index.shtml algrthms.html software.html)
-#JAVASRC=$(addprefix ./java-src/, )
-LUASRC=$(addprefix ./lua-src/,allegro.lua test.lua)
-MAKESRC=$(addprefix ./make-src/,Makefile)
-MERCSRC=$(addprefix ./merc-src/,accumulator.m)
-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)
-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)
-PYTSRC=$(addprefix ./pyt-src/,server.py)
-RBSRC=$(addprefix ./ruby-src/,test.rb test1.ru)
-RSSRC=$(addprefix ./rs-src/,test.rs)
-SCMSRC=$(addprefix ./scm-src/,test.scm)
-TEXSRC=$(addprefix ./tex-src/,testenv.tex gzip.texi texinfo.tex nonewline.tex)
-YSRC=$(addprefix ./y-src/,parse.y parse.c atest.y cccp.c cccp.y)
-SRCS=${ADASRC} ${ASRC} ${CSRC} ${CPSRC} ${ELSRC} ${ERLSRC} ${FSRC}\
-     ${FORTHSRC} ${GOSRC} ${HTMLSRC} ${JAVASRC} ${LUASRC} ${MAKESRC}\
-     ${OBJCSRC} ${OBJCPPSRC} ${PASSRC} ${PHPSRC} ${PERLSRC} ${PSSRC}\
-     ${PROLSRC} ${PYTSRC} ${RBSRC} ${RSSRC} ${SCMSRC} ${TEXSRC} ${YSRC} ${MERCSRC}
-NONSRCS=./f-src/entry.strange ./erl-src/lists.erl ./cp-src/clheir.hpp.gz
-
-ETAGS_PROG=../../../lib-src/etags
-CTAGS_PROG=../../../lib-src/ctags
-
-REGEX=/[ \t]*DEFVAR_[A-Z_ \t\n(]+"\([^"]+\)"/
-xx="this line is here because of a fontlock bug
-
-RUN=
-
-OPTIONS=--members --declarations --regex=@regexfile
-ARGS=- < srclist
-
-infiles = $(filter-out ${NONSRCS},${SRCS}) srclist regexfile
-
-.PHONY: check cdiff ETAGS CTAGS
-# Can't make ediff_1 through ediff_5 .PHONY, as they're implicit.
-
-check:
-       @$(MAKE) OPTIONS='--no-members' ediff_1
-       @$(MAKE) OPTIONS='--declarations --no-members' ediff_2
-       @$(MAKE) OPTIONS='--members' ediff_3
-       @$(MAKE) OPTIONS='--regex=@regexfile --no-members' ediff_4
-       @$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ediff_5
-       @$(MAKE) OPTIONS='--class-qualify --members --declarations --regex=@regexfile' ediff_6
-       @$(MAKE) cdiff
-       @$(MAKE) ctags_update
-
-ediff%: ETAGS.good% ETAGS ${infiles}
-       diff -u --suppress-common-lines --width=80 ETAGS.good$* ETAGS
-
-cdiff: CTAGS.good CTAGS ${infiles}
-       diff -u --suppress-common-lines --width=80 CTAGS.good CTAGS
-
-ctags_update: CTAGS.good_update ${infiles}
-       head -n 100 CTAGS.good_update > CTAGS
-       tail -n 100 CTAGS.good_update >> CTAGS
-       ${RUN} ${CTAGS_PROG} -o CTAGS -u ${ARGS}
-       sort CTAGS > CTAGS.sorted
-       sort CTAGS.good_update > CTAGS.good_update.sorted
-       diff -u --suppress-common-lines --width=80 CTAGS.good_update.sorted CTAGS.sorted
-
-       cp crlf CTAGS
-       ${RUN} ${CTAGS_PROG} -o CTAGS -u ${ARGS}
-       sort CTAGS > CTAGS.sorted
-       sort CTAGS.good_crlf > CTAGS.good_crlf.sorted
-       diff -u --suppress-common-lines --width=80 CTAGS.good_crlf.sorted CTAGS.sorted
-
-ETAGS: ${infiles}
-       ${RUN} ${ETAGS_PROG} ${OPTIONS} -o $@ ${ARGS}
-
-CTAGS: ${infiles}
-       ${RUN} ${CTAGS_PROG} -o $@ --regex=@regexfile ${ARGS}
-
-srclist: Makefile
-       @for i in $(SRCS); do echo $$i; done > srclist
-       @echo "srclist remade"
-
-regexfile: Makefile
-       @echo ' -- This is for GNU Emacs source files' > regexfile
-       @printf '%s\n' '${REGEX}' >> regexfile
-       @printf '%s\n' '{c}${REGEX}\\1/m' >> regexfile
-       @echo "regexfile remade"
diff --git a/test/manual/etags/README b/test/manual/etags/README
deleted file mode 100644 (file)
index 7bce861..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-This directory contains the test suite for the 'etags' and 'ctags'
-programs.
-
-The input files, which include source files in various languages
-supported by the programs, are in the *-src/ directories (e.g., c-src
-for C sources, ada-src for Ada, tex-src for TeX, etc.).
-
-The expected results are slightly different for each of the 7 commands
-(see below) run by the test suite, and are on files ETAGS.good_N
-(where N is between 1 and 6) and CTAGS.good.
-
-To run the tests, say
-
-   make check
-
-in this directory.  This should run the programs 7 times with various
-command line switches, and should not show any differences between the
-produced file ETAGS/CTAGS and the corresponding expected results.  Any
-diffs shown by the 'diff' utility should be examined for potential
-regressions in 'etags' or 'ctags'.
-
-In some cases, diffs should be expected.  These include:
-
-  . adding new input files in the *-src/ directories
-  . routine changes in the existing input files, such as the yearly
-    update of copyright years, spelling changes, etc.
-  . adding new features to etags.c
-
-When the diffs are expected, they should be examined to make sure
-there are no regressions.  To do so, compare the line numbers and byte
-offsets shown in the new ETAGS/CTAGS files against the up-to-date
-input files, and make sure the new values match, whereas the old one
-don't.  Also make sure there no new or missing entries in the
-ETAGS/CTAGS files as compared with the expected results.  (When new
-input files are added, there obviously will be new entries -- these
-should be compared to the input files to verify correctness.)
-
-Once the differences are deemed to be justified, i.e. you decide that
-the new ETAGS/CTAGS file should become the new expected result, you
-should copy the ETAGS/CTAGS files produced by the test run to the
-corresponding "good" files, one by one.  Like this:
-
-  $ make check
-  $ cp ETAGS ETAGS.good_1
-  $ make check
-  $ cp ETAGS ETAGS.good_2
-  $ make check
-  $ cp ETAGS ETAGS.good_3
-  ...
-  $ make check
-  $ cp ETAGS ETAGS.good_6
-  $ make check
-  $ cp CTAGS CTAGS.good
-
-This uses the fact that "make check" will stop after the first
-failure, i.e. after the first time 'diff' reports any diffs, and then
-the ETAGS/CTAGS file from the last invocation is available for
-becoming the new expected-result file.  Alternatively, you can see the
-name of the expected-result file which needs to be updated in the
-output of the 'diff' utility.
diff --git a/test/manual/etags/a-src/empty.zz b/test/manual/etags/a-src/empty.zz
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/test/manual/etags/a-src/empty.zz.gz b/test/manual/etags/a-src/empty.zz.gz
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/test/manual/etags/ada-src/2ataspri.adb b/test/manual/etags/ada-src/2ataspri.adb
deleted file mode 100644 (file)
index 43ca983..0000000
+++ /dev/null
@@ -1,665 +0,0 @@
-------------------------------------------------------------------------------
---                                                                          --
---                 GNU ADA RUNTIME LIBRARY (GNARL) COMPONENTS               --
---                                                                          --
---                S Y S T E M . T A S K _ P R I M I T I V E S               --
---                                                                          --
---                                  B o d y                                 --
---                                                                          --
---                             $Revision: 1.1 $                             --
---                                                                          --
---     Copyright (C) 1991,1992,1993,1994,1996 Florida State University      --
---                                                                          --
--- GNARL is free software; you can redistribute it  and/or modify it  under --
--- terms  of  the  GNU  Library General Public License  as published by the --
--- Free Software  Foundation;  either version 2, or (at  your  option)  any --
--- later  version.  GNARL is distributed  in the hope that  it will be use- --
--- ful, but but WITHOUT ANY WARRANTY;  without even the implied warranty of --
--- MERCHANTABILITY  or  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Gen- --
--- eral Library Public License  for more details.  You should have received --
--- a  copy of the GNU Library General Public License along with GNARL;  see --
--- file COPYING.LIB.  If not,  write to the  Free Software Foundation,  675 --
--- Mass Ave, Cambridge, MA 02139, USA.                                      --
---                                                                          --
-------------------------------------------------------------------------------
-
-with GNAT.IO;
-with Interfaces.C.POSIX_timers;
-
-with Interfaces.C.POSIX_Error;
-use  Interfaces.C.POSIX_Error;
-
-with Interfaces.C.POSIX_RTE;
-use  Interfaces.C.POSIX_RTE;
-
-with Interfaces.C.Pthreads;
-use  Interfaces.C.Pthreads;
-
-with Interfaces.C;
-use  Interfaces.C;
-
-with System.Tasking;
-use  System.Tasking;
-
-with System.Storage_Elements;
-use  System.Storage_Elements;
-
-with System.Compiler_Exceptions;
-use  System.Compiler_Exceptions;
-
-with System.Task_Specific_Data;
-use  System.Task_Specific_Data;
-
-with System.Secondary_Stack;
-use  System.Secondary_Stack;
-
-with System.Tasking_Soft_Links;
-
-with System.Task_Clock;
-use  System.Task_Clock;
-
-with Unchecked_Conversion;
-with Interfaces.C.System_Constants;
-
-package body System.Task_Primitives is
-
-   use Interfaces.C.Pthreads;
-   use Interfaces.C.System_Constants;
-
-   package RTE renames Interfaces.C.POSIX_RTE;
-   package TSL renames System.Tasking_Soft_Links;
-
-   Test_And_Set_Mutex : Lock;
-
-   Abort_Signal : constant := 6;
-
-   Abort_Handler : Abort_Handler_Pointer;
-
-   ATCB_Key : aliased pthread_key_t;
-
-   Unblocked_Signal_Mask : aliased RTE.Signal_Set;
-   --  The set of signals that should be unblocked in a task.
-   --  This is in general the signals that can be generated synchronously,
-   --  and which should therefore be converted into Ada exceptions.
-   --  It also includes the Abort_Signal, to allow asynchronous abortion.
-
-   function To_void_ptr is new
-     Unchecked_Conversion (TCB_Ptr, void_ptr);
-
-   function To_TCB_Ptr is new
-     Unchecked_Conversion (void_ptr, TCB_Ptr);
-
-   function pthread_mutexattr_setprotocol
-     (attr : access pthread_attr_t; priority : integer) return int;
-   pragma Import (C,
-                  pthread_mutexattr_setprotocol,
-                  "pthread_mutexattr_setprotocol",
-                  "pthread_mutexattr_setprotocol");
-
-   function pthread_mutexattr_setprio_ceiling
-     (attr : access pthread_attr_t; priority : int) return int;
-   pragma Import (C,
-                  pthread_mutexattr_setprio_ceiling,
-                  "pthread_mutexattr_setprio_ceiling",
-                  "pthread_mutexattr_setprio_ceiling");
-
-   pthread_mutexattr_default : pthread_mutexattr_t;
-   pragma Import (C, pthread_mutexattr_default,
-                  "pthread_mutexattr_default",
-                  "pthread_mutexattr_default");
-
-   -----------------------
-   -- Local Subprograms --
-   -----------------------
-
-   procedure Abort_Wrapper
-     (signo   : Integer;
-      info    : RTE.siginfo_ptr;
-      context : System.Address);
-   --  This is a signal handler procedure which calls the user-specified
-   --  abort handler procedure.
-
-   procedure LL_Wrapper (T : TCB_Ptr);
-   --  A wrapper procedure that is called from a new low-level task.
-   --  It performs initializations for the new task and calls the
-   --  user-specified startup procedure.
-
-   -------------------------
-   -- Initialize_LL_Tasks --
-   -------------------------
-
-   procedure Initialize_LL_Tasks (T : TCB_Ptr) is
-      Result : int;
-   begin
-      T.LL_Entry_Point := null;
-      T.Thread := pthread_self;
-
-      Result := pthread_key_create (ATCB_Key'Access, null);
-
-      if Result = FUNC_ERR then
-         raise Storage_Error;               --  Insufficient resources.
-      end if;
-
-      T.Thread := pthread_self;
-
-      Result := pthread_setspecific (ATCB_Key, To_void_ptr (T));
-
-      if Result = FUNC_ERR then
-         GNAT.IO.Put_Line ("Get specific failed");
-         raise Storage_Error;               --  Insufficient resources.
-      end if;
-      pragma Assert (Result /= FUNC_ERR,
-         "GNULLI failure---pthread_setspecific");
-
-   end Initialize_LL_Tasks;
-
-   ----------
-   -- Self --
-   ----------
-
-   function Self return TCB_Ptr is
-      Temp   : aliased void_ptr;
-      Result : int;
-   begin
-      Result := pthread_getspecific (ATCB_Key, Temp'Access);
-      pragma Assert (Result /= FUNC_ERR,
-          "GNULLI failure---pthread_getspecific");
-      return To_TCB_Ptr (Temp);
-   end Self;
-
-   ---------------------
-   -- Initialize_Lock --
-   ---------------------
-
-   procedure Initialize_Lock
-     (Prio : System.Any_Priority;
-      L    : in out Lock)
-   is
-
-      Attributes : aliased pthread_mutexattr_t;
-      Result     : int;
-      MUTEX_NONRECURSIVE_NP : constant := 2;
-
-   begin
-      Result := pthread_mutexattr_init (Attributes'Access);
-      if Result = FUNC_ERR then
-         raise STORAGE_ERROR;  --  should be ENOMEM
-      end if;
-
-      Result := pthread_mutexattr_setkind
-        (Attributes'Access, MUTEX_NONRECURSIVE_NP);
-      if Result = FUNC_ERR then
-         raise STORAGE_ERROR;  --  should be ENOMEM
-      end if;
-
-      Result := pthread_mutex_init (L.mutex'Access, Attributes);
-
-      if Result = FUNC_ERR then
-         Result := pthread_mutexattr_destroy (Attributes'Access);
-         raise STORAGE_ERROR;  --  should be ENOMEM ???
-      end if;
-
-      Result := pthread_mutexattr_destroy (Attributes'Access);
-
-   end Initialize_Lock;
-
-   -------------------
-   -- Finalize_Lock --
-   -------------------
-
-   procedure Finalize_Lock (L : in out Lock) is
-      Result : int;
-   begin
-      Result := pthread_mutex_destroy (L.mutex'Access);
-      pragma Assert
-         (Result /= FUNC_ERR, "GNULLI failure---pthread_mutex_destroy");
-   end Finalize_Lock;
-
-   ----------------
-   -- Write_Lock --
-   ----------------
-
-   --
-   --  The current pthreads implementation does not check for Ceiling
-   --  violations.
-   --
-   procedure Write_Lock (L : in out Lock; Ceiling_Violation : out Boolean) is
-      Result : int;
-   begin
-      Ceiling_Violation := False;
-      Result := pthread_mutex_lock (L.mutex'Access);
-      pragma Assert
-        (Result /= FUNC_ERR, "GNULLI FUNC_ERR---pthread_mutex_lock");
-   end Write_Lock;
-
-   ---------------
-   -- Read_Lock --
-   ---------------
-
-   procedure Read_Lock (L : in out Lock; Ceiling_Violation : out Boolean)
-      renames Write_Lock;
-
-   ------------
-   -- Unlock --
-   ------------
-
-   procedure Unlock (L : in out Lock) is
-      Result : int;
-   begin
-      Result := pthread_mutex_unlock (L.mutex'Access);
-      pragma Assert
-         (Result /= FUNC_ERR, "GNULLI FUNC_ERR---pthread_mutex_unlock");
-   end Unlock;
-
-   ---------------------
-   -- Initialize_Cond --
-   ---------------------
-
-   procedure Initialize_Cond (Cond : in out Condition_Variable) is
-      Attributes : aliased Pthreads.pthread_condattr_t;
-      Result     : int;
-   begin
-      Result := pthread_condattr_init (Attributes'Access);
-
-      if Result = FUNC_ERR then
-         raise STORAGE_ERROR;  --  should be ENOMEM ???
-      end if;
-
-      --  Result := pthread_cond_init (Cond.CV'Access, Attributes'Access);
-      Result := pthread_cond_init (Cond.CV'Access, Attributes);
-
-
-      if Result = FUNC_ERR then
-         raise STORAGE_ERROR;  --  should be ENOMEM  ???
-      end if;
-
-      Result := pthread_condattr_destroy (Attributes'Access);
-      pragma Assert
-         (Result /= FUNC_ERR, "GNULLI FUNC_ERR---pthread_condattr_destroy");
-
-   end Initialize_Cond;
-
-   -------------------
-   -- Finalize_Cond --
-   -------------------
-
-   procedure Finalize_Cond (Cond : in out Condition_Variable) is
-      Result : int;
-
-   begin
-      Result := pthread_cond_destroy (Cond.CV'Access);
-      pragma Assert
-         (Result /= FUNC_ERR, "GNULLI failure---pthread_cond_destroy");
-   end Finalize_Cond;
-
-
-   ---------------
-   -- Cond_Wait --
-   ---------------
-
-   procedure Cond_Wait (Cond : in out Condition_Variable; L : in out Lock) is
-      Result : int;
-   begin
-      Result := pthread_cond_wait (Cond.CV'Access, L.mutex'Access);
-      pragma Assert
-        (Result /= FUNC_ERR, "GNULLI failure---pthread_cond_wait");
-   end Cond_Wait;
-
-   ---------------------
-   -- Cond_Timed_Wait --
-   ---------------------
-
-   procedure Cond_Timed_Wait
-     (Cond      : in out Condition_Variable;
-      L         : in out Lock;
-      Abs_Time  : System.Task_Clock.Stimespec;
-      Timed_Out : out Boolean) is
-
-      Result : int;
-      TV     : aliased timespec;
-
-      use POSIX_Error;
-
-   begin
-      Timed_Out := False;  --  Assume success until we know otherwise
-
-      TV.tv_sec := int (Interfaces.C.POSIX_timers.time_t
-        (Task_Clock.Stimespec_Seconds (Abs_Time)));
-
-      TV.tv_nsec := long (Interfaces.C.POSIX_timers.Nanoseconds
-        (Task_Clock.Stimespec_NSeconds (Abs_Time)));
-
-      Result := pthread_cond_timedwait
-        (Cond.CV'Access, L.mutex'Access, TV'Access);
-      pragma Assert
-         (Result /= FUNC_ERR, "GNULLI failure---pthread_cond_timedwait");
-
-   end Cond_Timed_Wait;
-
-   -----------------
-   -- Cond_Signal --
-   -----------------
-
-   procedure Cond_Signal (Cond : in out Condition_Variable) is
-      Result : int;
-   begin
-      Result :=  pthread_cond_signal (Cond.CV'Access);
-      pragma Assert
-         (Result /= FUNC_ERR, "GNULLI failure---pthread_cond_signal");
-   end Cond_Signal;
-
-   ------------------
-   -- Set_Priority --
-   ------------------
-
-   procedure Set_Priority
-     (T : TCB_Ptr;
-      Prio : System.Any_Priority) is
-
-      Result : int;
-      Thread : Pthreads.pthread_t renames T.Thread;
-
-   begin
-      Result := pthread_setprio (Thread, int (Prio));
-      pragma Assert
-         (Result /= FUNC_ERR, "GNULLI failure---pthread_setprio");
-   end Set_Priority;
-
-   ----------------------
-   -- Set_Own_Priority --
-   ----------------------
-
-   procedure Set_Own_Priority (Prio : System.Any_Priority) is
-   begin
-      null;
-      --  ENOSYS Result :=
-      --     pthread_setprio (pthread_self, int (Prio));
-      --  pragma Assert
-      --     (Result /= FUNC_ERR, "GNULLI failure---pthread_setprio");
-   end Set_Own_Priority;
-
-   ------------------
-   -- Get_Priority --
-   ------------------
-
-   function Get_Priority (T : TCB_Ptr) return System.Any_Priority is
-      Priority : aliased int := 0;
-   begin
-      --  ENOSYS Result := pthread_getprio (T.Thread, Priority'Access);
-      --  pragma Assert
-      --     (Result /= FUNC_ERR, "GNULLI failure---pthread_getprio");
-      return System.Priority (Priority);
-   end Get_Priority;
-
-   -----------------------
-   --  Get_Own_Priority --
-   -----------------------
-
-   function Get_Own_Priority return System.Any_Priority is
-      Result : int;
-      Priority : aliased int := 0;
-   begin
-      Result := pthread_getprio (pthread_self, Priority'Access);
-      pragma Assert
-         (Result /= FUNC_ERR, "GNULLI failure---pthread_getprio");
-      return System.Priority (Priority);
-   end Get_Own_Priority;
-
-   --------------------
-   -- Create_LL_Task --
-   --------------------
-
-   procedure Create_LL_Task
-     (Priority       : System.Any_Priority;
-      Stack_Size     : Task_Storage_Size;
-      Task_Info      : System.Task_Info.Task_Info_Type;
-      LL_Entry_Point : LL_Task_Procedure_Access;
-      Arg            : System.Address;
-      T              : TCB_Ptr) is
-
-      use Pthreads;
-
-      Attributes : aliased pthread_attr_t;
-      Result     : int;
-      L_Priority : System.Any_Priority := Priority;
-
-      function To_Start_Addr is new
-        Unchecked_Conversion (System.Address, start_addr);
-
-   begin
-      T.LL_Entry_Point := LL_Entry_Point;
-      T.LL_Arg := Arg;
-      T.Stack_Size := Stack_Size;
-
-      Result := pthread_attr_init (Attributes'Access);
-      pragma Assert (Result /= FUNC_ERR, "GNULLI failure---pthread_attr_init");
-
---      Result := pthread_attr_setdetachstate (Attributes'Access, 1);
---      pragma Assert
---        (Result /= FUNC_ERR, "GNULLI failure---pthread_setdetachstate");
-
-      Result := pthread_attr_setstacksize
-        (Attributes'Access, size_t (Stack_Size));
-      pragma Assert
-        (Result /= FUNC_ERR, "GNULLI failure---pthread_setstacksize");
-
-      Result := pthread_attr_setinheritsched
-        (Attributes'Access, PTHREAD_DEFAULT_SCHED);
-      pragma Assert
-        (Result /= FUNC_ERR, "GNULLI failure---pthread_setinheritsched");
-
-      Result := pthread_attr_setsched
-        (Attributes'Access, SCHED_FIFO);
-      pragma Assert
-        (Result /= FUNC_ERR, "GNULLI failure---pthread_setinheritsched");
-
-      --  The following priority adjustment is a kludge to get around needing
-      --  root privileges to run at higher than 18 for FIFO or 19 for OTHER.
-
-      if (L_Priority > 18) then
-         L_Priority := 18;
-      elsif (L_Priority < 14) then
-         L_Priority := 14;
-      end if;
-
-      Result := pthread_attr_setprio
-        (Attributes'Access, int (L_Priority));
-      pragma Assert
-        (Result /= FUNC_ERR, "GNULLI failure---pthread_attr_setprio");
-
-      Result := pthread_create
-        (T.Thread'Access,
-         Attributes,
-         To_Start_Addr (LL_Wrapper'Address),
-         T.all'Address);
-      if Result = FUNC_ERR then
-         GNAT.IO.Put_Line ("pthread create failed");
-         raise Storage_Error;
-      end if;
-      pragma Assert (Result /= FUNC_ERR, "GNULLI failure---pthread_create");
-
-      Result := pthread_attr_destroy (Attributes'Access);
-      pragma Assert
-        (Result /= FUNC_ERR, "GNULLI failure---pthread_attr_destroy");
-
-   end Create_LL_Task;
-
-   -----------------
-   -- Exit_LL_Task --
-   ------------------
-
-   procedure Exit_LL_Task is
-   begin
-      pthread_exit (System.Null_Address);
-   end Exit_LL_Task;
-
-   ----------------
-   -- Abort_Task --
-   ----------------
-
-   procedure Abort_Task (T : TCB_Ptr) is
-      Result     : int;
-   begin
---      Result := pthread_kill (T.Thread);
---      pragma Assert
---         (Result /= FUNC_ERR, "GNULLI failure---pthread_kill");
-      null;
-   end Abort_Task;
-
-   ----------------
-   -- Test_Abort --
-   ----------------
-
-   --  This procedure does nothing.  It is intended for systems without
-   --  asynchronous abortion, where the runtime system would have to
-   --  synchronously poll for pending abortions.  This should be done
-   --  at least at every synchronization point.
-
-   procedure Test_Abort is
-   begin
-      null;
-   end Test_Abort;
-
-   ---------------------------
-   -- Install_Abort_Handler --
-   ---------------------------
-
-   procedure Install_Abort_Handler (Handler : Abort_Handler_Pointer) is
-      act     : aliased RTE.struct_sigaction;
-      old_act : aliased RTE.struct_sigaction;
-      Result  : POSIX_Error.Return_Code;
-      SA_SIGINFO : constant := 64;
-
-      use type POSIX_Error.Return_Code;
-
-   begin
-      Abort_Handler := Handler;
-
-      act.sa_flags := SA_SIGINFO;
-      act.sa_handler := Abort_Wrapper'Address;
-      RTE.sigemptyset (act.sa_mask'Access, Result);
-      pragma Assert (Result /= FUNC_ERR, "GNULLI failure---sigemptyset");
-
-      RTE.sigaction (Abort_Signal, act'Access, old_act'Access, Result);
-      pragma Assert (Result /= FUNC_ERR, "GNULLI failure---sigaction");
-   end Install_Abort_Handler;
-
-   -------------------
-   -- Abort_Wrapper --
-   -------------------
-
-   --  This is the handler called by the OS when an abort signal is
-   --  received; it in turn calls the handler installed by the client.
-   --  This procedure serves to isolate the client from the
-   --  implementation-specific calling conventions of asynchronous
-   --  handlers.
-
-   procedure Abort_Wrapper
-     (signo   : Integer;
-      info    : RTE.siginfo_ptr;
-      context : System.Address)
-   is
-      function Address_To_Call_State is new
-        Unchecked_Conversion (System.Address, Pre_Call_State);
-
-   begin
-      Abort_Handler (Address_To_Call_State (context));
-   end Abort_Wrapper;
-
-   ---------------------------
-   -- Install_Error_Handler --
-   ---------------------------
-
-   procedure Install_Error_Handler (Handler : System.Address) is
-
-      Temp : Address;
-
-      use Pthreads;
-
-   begin
-      --  Set up the soft links to tasking services used in the absence of
-      --  tasking.  These replace tasking-free defaults.
-
-      Temp := TSL.Get_Jmpbuf_Address.all;
-      --  pthread_set_jumpbuf_address (Temp);
-
-      Temp := TSL.Get_Sec_Stack_Addr.all;
-      --  pthread_set_sec_stack_addr  (Temp);
-
-      --  TSL.Get_Jmpbuf_Address := pthread_get_jumpbuf_address'Access;
-      --  TSL.Set_Jmpbuf_Address := pthread_set_jumpbuf_address'Access;
-      --  TSL.Get_Gnat_Exception := pthread_get_exception'Access;
-      --  TSL.Set_Gnat_Exception := pthread_set_exception'Access;
-   end Install_Error_Handler;
-
-   ---------------
-   -- LL_Assert --
-   ---------------
-
-   procedure LL_Assert (B : Boolean; M : String) is
-   begin
-      null;
-   end LL_Assert;
-
-   ----------------
-   -- LL_Wrapper --
-   ----------------
-
-   procedure LL_Wrapper (T : TCB_Ptr) is
-      Result  : POSIX_Error.Return_Code;
-      Result1 : int;
-      Exc_Stack : String (1 .. 256);
-      Exc_Base  : Address := Exc_Stack (Exc_Stack'Last)'Address + 1;
-      Old_Set : aliased RTE.Signal_Set;
-   begin
-      Result1 := pthread_setspecific (ATCB_Key, T.all'Address);
-
-      RTE.sigprocmask (
-        RTE.SIG_UNBLOCK, Unblocked_Signal_Mask'Access, Old_Set'Access, Result);
-      pragma Assert (
-        Result /= Failure, "GNULLI failure---sigprocmask");
-
-      --  Note that the following call may not return!
-      T.LL_Entry_Point (T.LL_Arg);
-   end LL_Wrapper;
-
-   --------------------------
-   -- Test and Set support --
-   --------------------------
-
-   procedure Initialize_TAS_Cell (Cell : out TAS_Cell) is
-   begin
-      Cell.Value := 0;
-   end Initialize_TAS_Cell;
-
-   procedure Finalize_TAS_Cell (Cell : in out TAS_Cell) is
-   begin
-      null;
-   end Finalize_TAS_Cell;
-
-   procedure Clear (Cell : in out TAS_Cell) is
-   begin
-      Cell.Value := 1;
-   end Clear;
-
-   procedure Test_And_Set (Cell : in out TAS_Cell; Result : out Boolean) is
-      Error   : Boolean;
-   begin
-      Write_Lock (Test_And_Set_Mutex, Error);
-
-      if Cell.Value = 1 then
-         Result := False;
-      else
-         Result :=  True;
-         Cell.Value := 1;
-      end if;
-      Unlock (Test_And_Set_Mutex);
-   end Test_And_Set;
-
-   function  Is_Set (Cell : in TAS_Cell) return Boolean is
-   begin
-      return Cell.Value = 1;
-   end Is_Set;
-begin
-   Initialize_Lock (System.Any_Priority'Last, Test_And_Set_Mutex);
-end System.Task_Primitives;
diff --git a/test/manual/etags/ada-src/2ataspri.ads b/test/manual/etags/ada-src/2ataspri.ads
deleted file mode 100644 (file)
index 01c7860..0000000
+++ /dev/null
@@ -1,298 +0,0 @@
-------------------------------------------------------------------------------
---                                                                          --
---                 GNU ADA RUNTIME LIBRARY (GNARL) COMPONENTS               --
---                                                                          --
---                S Y S T E M . T A S K _ P R I M I T I V E S               --
---                                                                          --
---                                  S p e c                                 --
---                                                                          --
---                             $Revision: 1.1 $                             --
---                                                                          --
---   Copyright (C) 1991,1992,1993,1994,1995,1996 Florida State University   --
---                                                                          --
--- GNARL is free software; you can  redistribute it  and/or modify it under --
--- terms of the  GNU General Public License as published  by the Free Soft- --
--- ware  Foundation;  either version 2,  or (at your option) any later ver- --
--- sion. GNARL is distributed in the hope that it will be useful, but WITH- --
--- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
--- for  more details.  You should have  received  a copy of the GNU General --
--- Public License  distributed with GNARL; see file COPYING.  If not, write --
--- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
--- MA 02111-1307, USA.                                                      --
---                                                                          --
--- As a special exception,  if other files  instantiate  generics from this --
--- unit, or you link  this unit with other files  to produce an executable, --
--- this  unit  does not  by itself cause  the resulting  executable  to  be --
--- covered  by the  GNU  General  Public  License.  This exception does not --
--- however invalidate  any other reasons why  the executable file  might be --
--- covered by the  GNU Public License.                                      --
---                                                                          --
--- GNARL was developed by the GNARL team at Florida State University. It is --
--- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
--- State University (http://www.gnat.com).                                  --
---                                                                          --
-------------------------------------------------------------------------------
-
-with Interfaces.C;
---  Used for Size_t;
-
-with Interfaces.C.Pthreads;
---  Used for, size_t,
---            pthread_mutex_t,
---            pthread_cond_t,
---            pthread_t
-
-with Interfaces.C.POSIX_RTE;
---  Used for, Signal,
---            siginfo_ptr,
-
-with System.Task_Clock;
---  Used for, Stimespec
-
-with Unchecked_Conversion;
-
-pragma Elaborate_All (Interfaces.C.Pthreads);
-
-with System.Task_Info;
-package System.Task_Primitives is
-
-   --  Low level Task size and state definition
-
-   type LL_Task_Procedure_Access is access procedure (Arg : System.Address);
-
-   type Pre_Call_State is new System.Address;
-
-   type Task_Storage_Size is new Interfaces.C.size_t;
-
-   type Machine_Exceptions is new Interfaces.C.POSIX_RTE.Signal;
-
-   type Error_Information is new Interfaces.C.POSIX_RTE.siginfo_ptr;
-
-   type Lock is private;
-   type Condition_Variable is private;
-
-   --  The above types should both be limited. They are not due to a hack in
-   --  ATCB allocation which allocates a block of the correct size and then
-   --  assigns an initialized ATCB to it. This won't work with limited types.
-   --  When allocation is done with new, these can become limited once again.
-   --  ???
-
-   type Task_Control_Block is record
-      LL_Entry_Point : LL_Task_Procedure_Access;
-      LL_Arg         : System.Address;
-      Thread         : aliased Interfaces.C.Pthreads.pthread_t;
-      Stack_Size     : Task_Storage_Size;
-      Stack_Limit    : System.Address;
-   end record;
-
-   type TCB_Ptr is access all Task_Control_Block;
-
-   --  Task ATCB related and variables.
-
-   function Address_To_TCB_Ptr is new
-     Unchecked_Conversion (System.Address, TCB_Ptr);
-
-   procedure Initialize_LL_Tasks (T : TCB_Ptr);
-   --  Initialize GNULLI. T points to the Task Control Block that should
-   --  be initialized for use by the environment task.
-
-   function Self return TCB_Ptr;
-   --  Return a pointer to the Task Control Block of the calling task.
-
-   procedure Initialize_Lock (Prio : System.Any_Priority; L : in out Lock);
-   --  Initialize a lock object. Prio is the ceiling priority associated
-   --  with the lock.
-
-   procedure Finalize_Lock (L : in out Lock);
-   --  Finalize a lock object, freeing any resources allocated by the
-   --  corresponding Initialize_Lock.
-
-   procedure Write_Lock (L : in out Lock; Ceiling_Violation : out Boolean);
-   pragma Inline (Write_Lock);
-   --  Lock a lock object for write access to a critical section. After
-   --  this operation returns, the calling task owns the lock, and
-   --  no other Write_Lock or Read_Lock operation on the same object will
-   --  return the owner executes an Unlock operation on the same object.
-
-   procedure Read_Lock (L : in out Lock; Ceiling_Violation : out Boolean);
-   pragma Inline (Read_Lock);
-   --  Lock a lock object for read access to a critical section. After
-   --  this operation returns, the calling task owns the lock, and
-   --  no other Write_Lock operation on the same object will return until
-   --  the owner(s) execute Unlock operation(s) on the same object.
-   --  A Read_Lock to an owned lock object may return while the lock is
-   --  still owned, though an implementation may also implement
-   --  Read_Lock to have the same semantics.
-
-   procedure Unlock (L : in out Lock);
-   pragma Inline (Unlock);
-   --  Unlock a locked lock object. The results are undefined if the
-   --  calling task does not own the lock. Lock/Unlock operations must
-   --  be nested, that is, the argument to Unlock must be the object
-   --  most recently locked.
-
-   procedure Initialize_Cond (Cond : in out Condition_Variable);
-   --  Initialize a condition variable object.
-
-   procedure Finalize_Cond (Cond : in out Condition_Variable);
-   --  Finalize a condition variable object, recovering any resources
-   --  allocated for it by Initialize_Cond.
-
-   procedure Cond_Wait (Cond : in out Condition_Variable; L : in out Lock);
-   pragma Inline (Cond_Wait);
-   --  Wait on a condition variable. The mutex object L is unlocked
-   --  atomically, such that another task that is able to lock the mutex
-   --  can be assured that the wait has actually commenced, and that
-   --  a Cond_Signal operation will cause the waiting task to become
-   --  eligible for execution once again. Before Cond_Wait returns,
-   --  the waiting task will again lock the mutex. The waiting task may become
-   --  eligible for execution at any time, but will become eligible for
-   --  execution when a Cond_Signal operation is performed on the
-   --  same condition variable object. The effect of more than one
-   --  task waiting on the same condition variable is unspecified.
-
-   procedure Cond_Timed_Wait
-     (Cond      : in out Condition_Variable;
-      L         : in out Lock; Abs_Time : System.Task_Clock.Stimespec;
-      Timed_Out : out Boolean);
-   pragma Inline (Cond_Timed_Wait);
-   --  Wait on a condition variable, as for Cond_Wait, above. In addition,
-   --  the waiting task will become eligible for execution again
-   --  when the absolute time specified by Timed_Out arrives.
-
-   procedure Cond_Signal (Cond : in out Condition_Variable);
-   pragma Inline (Cond_Signal);
-   --  Wake up a task waiting on the condition variable object specified
-   --  by Cond, making it eligible for execution once again.
-
-   procedure Set_Priority (T : TCB_Ptr; Prio : System.Any_Priority);
-   pragma Inline (Set_Priority);
-   --  Set the priority of the task specified by T to P.
-
-   procedure Set_Own_Priority (Prio : System.Any_Priority);
-   pragma Inline (Set_Own_Priority);
-   --  Set the priority of the calling task to P.
-
-   function Get_Priority (T : TCB_Ptr) return System.Any_Priority;
-   pragma Inline (Get_Priority);
-   --  Return the priority of the task specified by T.
-
-   function Get_Own_Priority return System.Any_Priority;
-   pragma Inline (Get_Own_Priority);
-   --  Return the priority of the calling task.
-
-   procedure Create_LL_Task
-     (Priority       : System.Any_Priority;
-      Stack_Size     : Task_Storage_Size;
-      Task_Info      : System.Task_Info.Task_Info_Type;
-      LL_Entry_Point : LL_Task_Procedure_Access;
-      Arg            : System.Address;
-      T              : TCB_Ptr);
-   --  Create a new low-level task with priority Priority. A new thread
-   --  of control is created with a stack size of at least Stack_Size,
-   --  and the procedure LL_Entry_Point is called with the argument Arg
-   --  from this new thread of control. The Task Control Block pointed
-   --  to by T is initialized to refer to this new task.
-
-   procedure Exit_LL_Task;
-   --  Exit a low-level task. The resources allocated for the task
-   --  by Create_LL_Task are recovered. The task no longer executes, and
-   --  the effects of further operations on task are unspecified.
-
-   procedure Abort_Task (T : TCB_Ptr);
-   --  Abort the task specified by T (the target task). This causes
-   --  the target task to asynchronously execute the handler procedure
-   --  installed by the target task using Install_Abort_Handler. The
-   --  effect of this operation is unspecified if there is no abort
-   --  handler procedure for the target task.
-
-   procedure Test_Abort;
-   --  ??? Obsolete?  This is intended to allow implementation of
-   --      abortion and ATC in the absence of an asynchronous Abort_Task,
-   --      but I think that we decided that GNARL can handle this on
-   --      its own by making sure that there is an Undefer_Abortion at
-   --      every abortion synchronization point.
-
-   type Abort_Handler_Pointer is access procedure (Context : Pre_Call_State);
-
-   procedure Install_Abort_Handler (Handler : Abort_Handler_Pointer);
-   --  Install an abort handler procedure. This procedure is called
-   --  asynchronously by the calling task whenever a call to Abort_Task
-   --  specifies the calling task as the target. If the abort handler
-   --  procedure is asynchronously executed during a GNULLI operation
-   --  and then calls some other GNULLI operation, the effect is unspecified.
-
-   procedure Install_Error_Handler (Handler : System.Address);
-   --  Install an error handler for the calling task. The handler will
-   --  be called synchronously if an error is encountered during the
-   --  execution of the calling task.
-
-   procedure LL_Assert (B : Boolean; M : String);
-   --  If B is False, print the string M to the console and halt the
-   --  program.
-
-   Task_Wrapper_Frame : constant Integer := 72;
-   --  This is the size of the frame for the Pthread_Wrapper procedure.
-
-   type Proc is access procedure (Addr : System.Address);
-
-
-   --  Test and Set support
-   type TAS_Cell is private;
-   --  On some systems we can not assume that an arbitrary memory location
-   --  can be used in an atomic test and set instruction (e.g. on some
-   --  multiprocessor machines, only memory regions are cache interlocked).
-   --  TAS_Cell is private to facilitate adaption to a variety of
-   --  implementations.
-
-   procedure Initialize_TAS_Cell (Cell :    out TAS_Cell);
-   pragma Inline (Initialize_TAS_Cell);
-   --  Initialize a Test And Set Cell.  On some targets this will allocate
-   --  a system-level lock object from a special pool.  For most systems,
-   --  this is a nop.
-
-   procedure Finalize_TAS_Cell   (Cell : in out TAS_Cell);
-   pragma Inline (Finalize_TAS_Cell);
-   --  Finalize a Test and Set cell, freeing any resources allocated by the
-   --  corresponding Initialize_TAS_Cell.
-
-   procedure Clear        (Cell : in out TAS_Cell);
-   pragma Inline (Clear);
-   --  Set the state of the named TAS_Cell such that a subsequent call to
-   --  Is_Set will return False.  This operation must be atomic with
-   --  respect to the Is_Set and Test_And_Set operations for the same
-   --  cell.
-
-   procedure Test_And_Set (Cell : in out TAS_Cell; Result : out Boolean);
-   pragma Inline (Test_And_Set);
-   --  Modify the state of the named TAS_Cell such that a subsequent call
-   --  to Is_Set will return True.  Result is set to True if Is_Set
-   --  was False prior to the call, False otherwise.  This operation must
-   --  be atomic with respect to the Clear and Is_Set operations for the
-   --  same cell.
-
-   function  Is_Set       (Cell : in     TAS_Cell) return Boolean;
-   pragma Inline (Is_Set);
-   --  Returns the current value of the named TAS_Cell.  This operation
-   --  must be atomic with respect to the Clear and Test_And_Set operations
-   --  for the same cell.
-
-private
-
-   type Lock is
-      record
-         mutex : aliased Interfaces.C.Pthreads.pthread_mutex_t;
-      end record;
-
-   type Condition_Variable is
-      record
-         CV : aliased Interfaces.C.Pthreads.pthread_cond_t;
-      end record;
-
-   type TAS_Cell is
-      record
-         Value : aliased Interfaces.C.unsigned := 0;
-      end record;
-
-end System.Task_Primitives;
diff --git a/test/manual/etags/ada-src/etags-test-for.ada b/test/manual/etags/ada-src/etags-test-for.ada
deleted file mode 100644 (file)
index 09e5a1e..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-   type LL_Task_Procedure_Access is access procedure (Arg : System.Address);
-
-   function Body_Required
-      (N : Node_Id) return Boolean is
-   begin
-      pragma Assert (False
-          or else NT (N).Nkind = N_Compilation_Unit);
-      return Flag13 (N);
-   end Body_Required;
-
-   type Type_Specific_Data is record
-      Idepth        : Natural;
-      Expanded_Name : Cstring_Ptr;
-      External_Tag  : Cstring_Ptr;
-      HT_Link       : Tag;
-      Ancestor_Tags : Tag_Table (Natural);
-   end record;
-
-   function "abs"   (Right : Complex) return Real'Base renames Modulus;
-
-   type Barrier_Function_Pointer is access
-     function
-       (O : System.Address;
-        E : Protected_Entry_Index)
-        return Boolean;
-
-   function "=" (L, R : System.Address) return Boolean
-     renames System."=";
-
-   type usfreelock_ptr is access
-     procedure (lock : ulock_t; arena : usptr_t_ptr);
-
-   function p pragma Import (C,
-                  "pthread_mutexattr_setprio_ceiling",
-                  "pthread_mutexattr_setprio_ceiling");
-   pragma Import ()
-   procedure LL_Wrapper (T : TCB_Ptr);
-
-function p ("p");
-
--- This file is an Ada file containing test data
--- for etags (Ada83 and Ada95 support).
-
-package Pkg1 is
-
-  type Private_T is private;
-
-  package Inner1 is
-    procedure Private_T;
-  end Inner1;
-
-  package Inner2 is
-    task Private_T;
-  end Inner2;
-
-  type Public_T is
-    record
-      A : Integer;
-      B : Integer;
-    end record;
-
-  procedure Pkg1_Proc1;
-
-  procedure Pkg1_Proc2 (I : Integer);
-
-  function Pkg1_Func1 return Boolean;
-
-  function Pkg1_Func2 (Ijk : Integer; Z : Integer) return Natural;
-
-
-  package Pkg1_Pkg1 is
-    procedure Pkg1_Pkg1_Proc1;
-  end Pkg1_Pkg1;
-
-  task type Task_Type is
-    entry Entry1;
-    entry Entry2 (I : Integer);
-  end;
-
-private
-
-  type Private_T is
-    record
-      Z : Integer;
-      W : Boolean;
-    end record;
-end Pkg1;
-
-package body Pkg1 is
-
-  procedure Pkg1_Proc1 is
-  begin
-    null;
-  end;
-
-  package body Inner1 is
-    procedure Private_T is
-    begin
-      null;
-    end;
-  end Inner1;
-
-  package body Inner2 is
-    task body Private_T is
-    begin
-      loop
-        null;
-      end loop;
-    end;
-  end Inner2;
-
-  task body Task_Type is
-  begin
-    select
-      accept Entry1 do
-        null;
-      end;
-    or
-      accept Entry2 (I : Integer) do
-        null;
-      end;
-    end select;
-  end;
-
-
-  procedure Pkg1_Proc2 (I : Integer) is
-  begin
-    null;
-  end Pkg1_Proc2;
-
-
-  function Pkg1_Func1 return Boolean is separate;
-
-  function Pkg1_Func2 (Ijk : Integer; Z : Integer) return Natural is
-  begin
-    return 1;
-  end;
-
-
-  package body Pkg1_Pkg1 is separate;
-
-
-end Pkg1;
-
-separate (Pkg1)
-package body Pkg1_Pkg1 is
-  procedure Pkg1_Pkg1_Proc1 is
-  begin
-    null;
-  end;
-end Pkg1_Pkg1;
-
-
-separate (Pkg1)
-function  Pkg1_Func1 return Boolean is
-begin
-  return False;
-end;
-
-
--- from now on, this is Ada 95 specific.
-package Truc is
-  I : Integer;
-end Truc;
-
-package Truc.Bidule is
-
-  protected Bidule is
-    entry Basar;
-  end Bidule;
-
-  protected type Machin_T is
-    entry Truc;
-  end Machin_T;
-
-end Truc.Bidule;
-
-package body Truc.Bidule is
-  protected body Bidule is
-    entry Basar is
-    begin
-      null;
-    end;
-  end Bidule;
-
-  protected Machin_T is
-    entry Truc is
-    begin
-      null;
-    end;
-  end Machin_T;
-
-end Truc.Bidule;
diff --git a/test/manual/etags/ada-src/waroquiers.ada b/test/manual/etags/ada-src/waroquiers.ada
deleted file mode 100644 (file)
index 3161209..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
--- This file is an Ada file containing test data
--- for etags (Ada83 and Ada95 support).
-package Pkg1 is
-
-  type Private_T is private;
-
-  package Inner1 is
-    procedure Private_T;
-  end Inner1;
-
-  package Inner2 is
-    task Private_T;
-  end Inner2;
-
-  type Public_T is
-    record
-      A : Integer;
-      B : Integer;
-    end record;
-
-  procedure Pkg1_Proc1;
-
-  procedure Pkg1_Proc2 (I : Integer);
-
-  function Pkg1_Func1 return Boolean;
-
-  function Pkg1_Func2 (Ijk : Integer; Z : Integer) return Natural;
-
-
-  package Pkg1_Pkg1 is
-    procedure Pkg1_Pkg1_Proc1;
-  end Pkg1_Pkg1;
-
-  task type Task_Type is
-    entry Entry1;
-    entry Entry2 (I : Integer);
-  end;
-private
-
-  type Private_T is
-    record
-      Z : Integer;
-      W : Boolean;
-    end record;
-end Pkg1;
-package body Pkg1 is
-
-  procedure Pkg1_Proc1 is
-  begin
-    null;
-  end;
-
-  package body Inner1 is
-    procedure Private_T is
-    begin
-      null;
-    end;
-  end Inner1;
-
-  package body Inner2 is
-    task body Private_T is
-    begin
-      loop
-        null;
-      end loop;
-    end;
-  end Inner2;
-  task body Task_Type is
-  begin
-    select
-      accept Entry1 do
-        null;
-      end;
-    or
-      accept Entry2 (I : Integer) do
-        null;
-      end;
-    end select;
-  end;
-
-
-  procedure Pkg1_Proc2 (I : Integer) is
-  begin
-    null;
-  end Pkg1_Proc2;
-
-
-  function Pkg1_Func1 return Boolean is separate;
-
-  function Pkg1_Func2 (Ijk : Integer; Z : Integer) return Natural is
-  begin
-    return 1;
-  end;
-
-
-  package body Pkg1_Pkg1 is separate;
-
-end Pkg1;
-separate (Pkg1)
-package body Pkg1_Pkg1 is
-  procedure Pkg1_Pkg1_Proc1 is
-  begin
-    null;
-  end;
-end Pkg1_Pkg1;
-separate (Pkg1)
-function  Pkg1_Func1 return Boolean is
-begin
-  return False;
-end;
--- from now on, this is Ada 95 specific.
-package Truc is
-  I : Integer;
-end Truc;
-with Pkg1;
-package Truc.Bidule is
-  use type Pkg1.Public_T;
-  use Pkg1;
-  use
-    type Pkg1.Public_T;
-  use -- comment
-    type -- comment
-    Pkg1.Public_T;
-
-  protected Bidule is
-    entry Basar;
-  private
-    Ok : Boolean;
-  end Bidule;
-
-  protected type Machin_T is
-    entry Truc;
-  private
-    Ok : Boolean;
-  end Machin_T;
-
-end Truc.Bidule;
-package body Truc.Bidule is
-  protected body Bidule is
-    entry Basar when Ok is
-    begin
-      null;
-    end;
-  end Bidule;
-
-  protected body Machin_T is
-    entry Truc when Ok is
-    begin
-      null;
-    end;
-  end Machin_T;
-
-end Truc.Bidule;
diff --git a/test/manual/etags/c-src/a/b/b.c b/test/manual/etags/c-src/a/b/b.c
deleted file mode 100644 (file)
index ee3c97c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#define this that
-
-#line 33 "../c/c.web"
-
-#define questo quello
diff --git a/test/manual/etags/c-src/abbrev.c b/test/manual/etags/c-src/abbrev.c
deleted file mode 100644 (file)
index 70f4987..0000000
+++ /dev/null
@@ -1,603 +0,0 @@
-/* Primitives for word-abbrev mode.
-   Copyright (C) 1985-1986, 1993, 1996, 1998, 2016-2024 Free Software
-   Foundation, Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
-
-
-#include <config.h>
-#include <stdio.h>
-#include "lisp.h"
-#include "commands.h"
-#include "buffer.h"
-#include "window.h"
-#include "charset.h"
-#include "syntax.h"
-
-/* An abbrev table is an obarray.
- Each defined abbrev is represented by a symbol in that obarray
- whose print name is the abbreviation.
- The symbol's value is a string which is the expansion.
- If its function definition is non-nil, it is called
-  after the expansion is done.
- The plist slot of the abbrev symbol is its usage count. */
-
-/* List of all abbrev-table name symbols:
- symbols whose values are abbrev tables.  */
-
-Lisp_Object Vabbrev_table_name_list;
-
-/* The table of global abbrevs.  These are in effect
- in any buffer in which abbrev mode is turned on. */
-
-Lisp_Object Vglobal_abbrev_table;
-
-/* The local abbrev table used by default (in Fundamental Mode buffers) */
-
-Lisp_Object Vfundamental_mode_abbrev_table;
-
-/* Set nonzero when an abbrev definition is changed */
-
-int abbrevs_changed;
-
-int abbrev_all_caps;
-
-/* Non-nil => use this location as the start of abbrev to expand
- (rather than taking the word before point as the abbrev) */
-
-Lisp_Object Vabbrev_start_location;
-
-/* Buffer that Vabbrev_start_location applies to */
-Lisp_Object Vabbrev_start_location_buffer;
-
-/* The symbol representing the abbrev most recently expanded */
-
-Lisp_Object Vlast_abbrev;
-
-/* A string for the actual text of the abbrev most recently expanded.
-   This has more info than Vlast_abbrev since case is significant.  */
-
-Lisp_Object Vlast_abbrev_text;
-
-/* Character address of start of last abbrev expanded */
-
-int last_abbrev_point;
-
-\f
-DEFUN ("make-abbrev-table", Fmake_abbrev_table, Smake_abbrev_table, 0, 0, 0,
-  "Create a new, empty abbrev table object.")
-  ()
-{
-  return Fmake_vector (make_number (59), make_number (0));
-}
-
-DEFUN ("clear-abbrev-table", Fclear_abbrev_table, Sclear_abbrev_table, 1, 1, 0,
-  "Undefine all abbrevs in abbrev table TABLE, leaving it empty.")
-  (table)
-     Lisp_Object table;
-{
-  int i, size;
-
-  CHECK_VECTOR (table, 0);
-  size = XVECTOR (table)->size;
-  abbrevs_changed = 1;
-  for (i = 0; i < size; i++)
-    XVECTOR (table)->contents[i] = make_number (0);
-  return Qnil;
-}
-\f
-DEFUN ("define-abbrev", Fdefine_abbrev, Sdefine_abbrev, 3, 5, 0,
-  "Define an abbrev in TABLE named NAME, to expand to EXPANSION and call HOOK.\n\
-NAME must be a string.\n\
-EXPANSION should usually be a string.\n\
-To undefine an abbrev, define it with EXPANSION = nil.\n\
-If HOOK is non-nil, it should be a function of no arguments;\n\
-it is called after EXPANSION is inserted.\n\
-If EXPANSION is not a string, the abbrev is a special one,\n\
- which does not expand in the usual way but only runs HOOK.\n\
-COUNT, if specified, initializes the abbrev's usage-count\n\
-which is incremented each time the abbrev is used.")
-  (table, name, expansion, hook, count)
-     Lisp_Object table, name, expansion, hook, count;
-{
-  Lisp_Object sym, oexp, ohook, tem;
-  CHECK_VECTOR (table, 0);
-  CHECK_STRING (name, 1);
-
-  if (NILP (count))
-    count = make_number (0);
-  else
-    CHECK_NUMBER (count, 0);
-
-  sym = Fintern (name, table);
-
-  oexp = XSYMBOL (sym)->value;
-  ohook = XSYMBOL (sym)->function;
-  if (!((EQ (oexp, expansion)
-        || (STRINGP (oexp) && STRINGP (expansion)
-            && (tem = Fstring_equal (oexp, expansion), !NILP (tem))))
-       &&
-       (EQ (ohook, hook)
-        || (tem = Fequal (ohook, hook), !NILP (tem)))))
-    abbrevs_changed = 1;
-
-  Fset (sym, expansion);
-  Ffset (sym, hook);
-  Fsetplist (sym, count);
-
-  return name;
-}
-
-DEFUN ("define-global-abbrev", Fdefine_global_abbrev, Sdefine_global_abbrev, 2, 2,
-  "sDefine global abbrev: \nsExpansion for %s: ",
-  "Define ABBREV as a global abbreviation for EXPANSION.")
-  (abbrev, expansion)
-     Lisp_Object abbrev, expansion;
-{
-  Fdefine_abbrev (Vglobal_abbrev_table, Fdowncase (abbrev),
-                 expansion, Qnil, make_number (0));
-  return abbrev;
-}
-
-DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev, Sdefine_mode_abbrev, 2, 2,
-  "sDefine mode abbrev: \nsExpansion for %s: ",
-  "Define ABBREV as a mode-specific abbreviation for EXPANSION.")
-  (abbrev, expansion)
-     Lisp_Object abbrev, expansion;
-{
-  if (NILP (current_buffer->abbrev_table))
-    error ("Major mode has no abbrev table");
-
-  Fdefine_abbrev (current_buffer->abbrev_table, Fdowncase (abbrev),
-                 expansion, Qnil, make_number (0));
-  return abbrev;
-}
-
-DEFUN ("abbrev-symbol", Fabbrev_symbol, Sabbrev_symbol, 1, 2, 0,
-  "Return the symbol representing abbrev named ABBREV.\n\
-This symbol's name is ABBREV, but it is not the canonical symbol of that name;\n\
-it is interned in an abbrev-table rather than the normal obarray.\n\
-The value is nil if that abbrev is not defined.\n\
-Optional second arg TABLE is abbrev table to look it up in.\n\
-The default is to try buffer's mode-specific abbrev table, then global table.")
-  (abbrev, table)
-     Lisp_Object abbrev, table;
-{
-  Lisp_Object sym;
-  CHECK_STRING (abbrev, 0);
-  if (!NILP (table))
-    sym = Fintern_soft (abbrev, table);
-  else
-    {
-      sym = Qnil;
-      if (!NILP (current_buffer->abbrev_table))
-       sym = Fintern_soft (abbrev, current_buffer->abbrev_table);
-      if (NILP (XSYMBOL (sym)->value))
-       sym = Qnil;
-      if (NILP (sym))
-       sym = Fintern_soft (abbrev, Vglobal_abbrev_table);
-    }
-  if (NILP (XSYMBOL (sym)->value)) return Qnil;
-  return sym;
-}
-
-DEFUN ("abbrev-expansion", Fabbrev_expansion, Sabbrev_expansion, 1, 2, 0,
-  "Return the string that ABBREV expands into in the current buffer.\n\
-Optionally specify an abbrev table as second arg;\n\
-then ABBREV is looked up in that table only.")
-  (abbrev, table)
-     Lisp_Object abbrev, table;
-{
-  Lisp_Object sym;
-  sym = Fabbrev_symbol (abbrev, table);
-  if (NILP (sym)) return sym;
-  return Fsymbol_value (sym);
-}
-\f
-/* Expand the word before point, if it is an abbrev.
-  Returns 1 if an expansion is done. */
-
-DEFUN ("expand-abbrev", Fexpand_abbrev, Sexpand_abbrev, 0, 0, "",
-  "Expand the abbrev before point, if there is an abbrev there.\n\
-Effective when explicitly called even when `abbrev-mode' is nil.\n\
-Returns the abbrev symbol, if expansion took place.")
-  ()
-{
-  register char *buffer, *p;
-  int wordstart, wordend;
-  register int wordstart_byte, wordend_byte, idx;
-  int whitecnt;
-  int uccount = 0, lccount = 0;
-  register Lisp_Object sym;
-  Lisp_Object expansion, hook, tem;
-  Lisp_Object value;
-
-  value = Qnil;
-
-  wordstart = 0;
-  if (!(BUFFERP (Vabbrev_start_location_buffer)
-       && XBUFFER (Vabbrev_start_location_buffer) == current_buffer))
-    Vabbrev_start_location = Qnil;
-  if (!NILP (Vabbrev_start_location))
-    {
-      tem = Vabbrev_start_location;
-      CHECK_NUMBER_COERCE_MARKER (tem, 0);
-      wordstart = XINT (tem);
-      Vabbrev_start_location = Qnil;
-      if (wordstart < BEGV || wordstart > ZV)
-       wordstart = 0;
-      if (wordstart && wordstart != ZV)
-       {
-         wordstart_byte = CHAR_TO_BYTE (wordstart);
-         if (FETCH_BYTE (wordstart_byte) == '-')
-           del_range (wordstart, wordstart + 1);
-       }
-    }
-  if (!wordstart)
-    wordstart = scan_words (PT, -1);
-
-  if (!wordstart)
-    return value;
-
-  wordstart_byte = CHAR_TO_BYTE (wordstart);
-  wordend = scan_words (wordstart, 1);
-  if (!wordend)
-    return value;
-
-  if (wordend > PT)
-    wordend = PT;
-
-  wordend_byte = CHAR_TO_BYTE (wordend);
-  whitecnt = PT - wordend;
-  if (wordend <= wordstart)
-    return value;
-
-  p = buffer = (char *) alloca (wordend_byte - wordstart_byte);
-
-  for (idx = wordstart_byte; idx < wordend_byte; idx++)
-    {
-      /* ??? This loop needs to go by characters!  */
-      register int c = FETCH_BYTE (idx);
-      if (UPPERCASEP (c))
-       c = DOWNCASE (c), uccount++;
-      else if (! NOCASEP (c))
-       lccount++;
-      *p++ = c;
-    }
-
-  if (VECTORP (current_buffer->abbrev_table))
-    sym = oblookup (current_buffer->abbrev_table, buffer,
-                   wordend - wordstart, wordend_byte - wordstart_byte);
-  else
-    XSETFASTINT (sym, 0);
-  if (INTEGERP (sym) || NILP (XSYMBOL (sym)->value))
-    sym = oblookup (Vglobal_abbrev_table, buffer,
-                   wordend - wordstart, wordend_byte - wordstart_byte);
-  if (INTEGERP (sym) || NILP (XSYMBOL (sym)->value))
-    return value;
-
-  if (INTERACTIVE && !EQ (minibuf_window, selected_window))
-    {
-      /* Add an undo boundary, in case we are doing this for
-        a self-inserting command which has avoided making one so far.  */
-      SET_PT (wordend);
-      Fundo_boundary ();
-    }
-
-  Vlast_abbrev_text
-    = Fbuffer_substring (make_number (wordstart), make_number (wordend));
-
-  /* Now sym is the abbrev symbol.  */
-  Vlast_abbrev = sym;
-  value = sym;
-  last_abbrev_point = wordstart;
-
-  if (INTEGERP (XSYMBOL (sym)->plist))
-    XSETINT (XSYMBOL (sym)->plist,
-            XINT (XSYMBOL (sym)->plist) + 1);  /* Increment use count */
-
-  /* If this abbrev has an expansion, delete the abbrev
-     and insert the expansion.  */
-  expansion = XSYMBOL (sym)->value;
-  if (STRINGP (expansion))
-    {
-      SET_PT (wordstart);
-
-      del_range_both (wordstart, wordstart_byte, wordend, wordend_byte, 1);
-
-      insert_from_string (expansion, 0, 0, XSTRING (expansion)->size,
-                         STRING_BYTES (XSTRING (expansion)), 1);
-      SET_PT (PT + whitecnt);
-
-      if (uccount && !lccount)
-       {
-         /* Abbrev was all caps */
-         /* If expansion is multiple words, normally capitalize each word */
-         /* This used to be if (!... && ... >= ...) Fcapitalize; else Fupcase
-            but Megatest 68000 compiler can't handle that */
-         if (!abbrev_all_caps)
-           if (scan_words (PT, -1) > scan_words (wordstart, 1))
-             {
-               Fupcase_initials_region (make_number (wordstart),
-                                        make_number (PT));
-               goto caped;
-             }
-         /* If expansion is one word, or if user says so, upcase it all. */
-         Fupcase_region (make_number (wordstart), make_number (PT));
-       caped: ;
-       }
-      else if (uccount)
-       {
-         /* Abbrev included some caps.  Cap first initial of expansion */
-         int pos = wordstart_byte;
-
-         /* Find the initial.  */
-         while (pos < PT_BYTE
-                && SYNTAX (*BUF_BYTE_ADDRESS (current_buffer, pos)) != Sword)
-           pos++;
-
-         /* Change just that.  */
-         pos = BYTE_TO_CHAR (pos);
-         Fupcase_initials_region (make_number (pos), make_number (pos + 1));
-       }
-    }
-
-  hook = XSYMBOL (sym)->function;
-  if (!NILP (hook))
-    {
-      Lisp_Object expanded, prop;
-
-      /* If the abbrev has a hook function, run it.  */
-      expanded = call0 (hook);
-
-      /* In addition, if the hook function is a symbol with a a
-        non-nil `no-self-insert' property, let the value it returned
-        specify whether we consider that an expansion took place.  If
-        it returns nil, no expansion has been done.  */
-
-      if (SYMBOLP (hook)
-         && NILP (expanded)
-         && (prop = Fget (hook, intern ("no-self-insert")),
-             !NILP (prop)))
-       value = Qnil;
-    }
-
-  return value;
-}
-
-DEFUN ("unexpand-abbrev", Funexpand_abbrev, Sunexpand_abbrev, 0, 0, "",
-  "Undo the expansion of the last abbrev that expanded.\n\
-This differs from ordinary undo in that other editing done since then\n\
-is not undone.")
-  ()
-{
-  int opoint = PT;
-  int adjust = 0;
-  if (last_abbrev_point < BEGV
-      || last_abbrev_point > ZV)
-    return Qnil;
-  SET_PT (last_abbrev_point);
-  if (STRINGP (Vlast_abbrev_text))
-    {
-      /* This isn't correct if Vlast_abbrev->function was used
-         to do the expansion */
-      Lisp_Object val;
-      int zv_before;
-
-      val = XSYMBOL (Vlast_abbrev)->value;
-      if (!STRINGP (val))
-       error ("value of abbrev-symbol must be a string");
-      zv_before = ZV;
-      del_range_byte (PT_BYTE, PT_BYTE + STRING_BYTES (XSTRING (val)), 1);
-      /* Don't inherit properties here; just copy from old contents.  */
-      insert_from_string (Vlast_abbrev_text, 0, 0,
-                         XSTRING (Vlast_abbrev_text)->size,
-                         STRING_BYTES (XSTRING (Vlast_abbrev_text)), 0);
-      Vlast_abbrev_text = Qnil;
-      /* Total number of characters deleted.  */
-      adjust = ZV - zv_before;
-    }
-  SET_PT (last_abbrev_point < opoint ? opoint + adjust : opoint);
-  return Qnil;
-}
-\f
-static void
-write_abbrev (sym, stream)
-     Lisp_Object sym, stream;
-{
-  Lisp_Object name;
-  if (NILP (XSYMBOL (sym)->value))
-    return;
-  insert ("    (", 5);
-  XSETSTRING (name, XSYMBOL (sym)->name);
-  Fprin1 (name, stream);
-  insert (" ", 1);
-  Fprin1 (XSYMBOL (sym)->value, stream);
-  insert (" ", 1);
-  Fprin1 (XSYMBOL (sym)->function, stream);
-  insert (" ", 1);
-  Fprin1 (XSYMBOL (sym)->plist, stream);
-  insert (")\n", 2);
-}
-
-static void
-describe_abbrev (sym, stream)
-     Lisp_Object sym, stream;
-{
-  Lisp_Object one;
-
-  if (NILP (XSYMBOL (sym)->value))
-    return;
-  one = make_number (1);
-  Fprin1 (Fsymbol_name (sym), stream);
-  Findent_to (make_number (15), one);
-  Fprin1 (XSYMBOL (sym)->plist, stream);
-  Findent_to (make_number (20), one);
-  Fprin1 (XSYMBOL (sym)->value, stream);
-  if (!NILP (XSYMBOL (sym)->function))
-    {
-      Findent_to (make_number (45), one);
-      Fprin1 (XSYMBOL (sym)->function, stream);
-    }
-  Fterpri (stream);
-}
-
-DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,
-  Sinsert_abbrev_table_description, 1, 2, 0,
-  "Insert before point a full description of abbrev table named NAME.\n\
-NAME is a symbol whose value is an abbrev table.\n\
-If optional 2nd arg READABLE is non-nil, a human-readable description\n\
-is inserted.  Otherwise the description is an expression,\n\
-a call to `define-abbrev-table', which would\n\
-define the abbrev table NAME exactly as it is currently defined.")
-  (name, readable)
-     Lisp_Object name, readable;
-{
-  Lisp_Object table;
-  Lisp_Object stream;
-
-  CHECK_SYMBOL (name, 0);
-  table = Fsymbol_value (name);
-  CHECK_VECTOR (table, 0);
-
-  XSETBUFFER (stream, current_buffer);
-
-  if (!NILP (readable))
-    {
-      insert_string ("(");
-      Fprin1 (name, stream);
-      insert_string (")\n\n");
-      map_obarray (table, describe_abbrev, stream);
-      insert_string ("\n\n");
-    }
-  else
-    {
-      insert_string ("(define-abbrev-table '");
-      Fprin1 (name, stream);
-      insert_string (" '(\n");
-      map_obarray (table, write_abbrev, stream);
-      insert_string ("    ))\n\n");
-    }
-
-  return Qnil;
-}
-\f
-DEFUN ("define-abbrev-table", Fdefine_abbrev_table, Sdefine_abbrev_table,
-       2, 2, 0,
-  "Define TABLENAME (a symbol) as an abbrev table name.\n\
-Define abbrevs in it according to DEFINITIONS, which is a list of elements\n\
-of the form (ABBREVNAME EXPANSION HOOK USECOUNT).")
-  (tablename, definitions)
-     Lisp_Object tablename, definitions;
-{
-  Lisp_Object name, exp, hook, count;
-  Lisp_Object table, elt;
-
-  CHECK_SYMBOL (tablename, 0);
-  table = Fboundp (tablename);
-  if (NILP (table) || (table = Fsymbol_value (tablename), NILP (table)))
-    {
-      table = Fmake_abbrev_table ();
-      Fset (tablename, table);
-      Vabbrev_table_name_list = Fcons (tablename, Vabbrev_table_name_list);
-    }
-  CHECK_VECTOR (table, 0);
-
-  for (; !NILP (definitions); definitions = Fcdr (definitions))
-    {
-      elt = Fcar (definitions);
-      name  = Fcar (elt);      elt = Fcdr (elt);
-      exp   = Fcar (elt);      elt = Fcdr (elt);
-      hook  = Fcar (elt);      elt = Fcdr (elt);
-      count = Fcar (elt);
-      Fdefine_abbrev (table, name, exp, hook, count);
-    }
-  return Qnil;
-}
-\f
-void
-syms_of_abbrev ()
-{
-  DEFVAR_LISP ("abbrev-table-name-list", &Vabbrev_table_name_list,
-    "List of symbols whose values are abbrev tables.");
-  Vabbrev_table_name_list = Fcons (intern ("fundamental-mode-abbrev-table"),
-                                  Fcons (intern ("global-abbrev-table"),
-                                         Qnil));
-
-  DEFVAR_LISP ("global-abbrev-table", &Vglobal_abbrev_table,
-    "The abbrev table whose abbrevs affect all buffers.\n\
-Each buffer may also have a local abbrev table.\n\
-If it does, the local table overrides the global one\n\
-for any particular abbrev defined in both.");
-  Vglobal_abbrev_table = Fmake_abbrev_table ();
-
-  DEFVAR_LISP ("fundamental-mode-abbrev-table", &Vfundamental_mode_abbrev_table,
-    "The abbrev table of mode-specific abbrevs for Fundamental Mode.");
-  Vfundamental_mode_abbrev_table = Fmake_abbrev_table ();
-  current_buffer->abbrev_table = Vfundamental_mode_abbrev_table;
-  buffer_defaults.abbrev_table = Vfundamental_mode_abbrev_table;
-
-  DEFVAR_LISP ("last-abbrev", &Vlast_abbrev,
-    "The abbrev-symbol of the last abbrev expanded.  See `abbrev-symbol'.");
-
-  DEFVAR_LISP ("last-abbrev-text", &Vlast_abbrev_text,
-    "The exact text of the last abbrev expanded.\n\
-nil if the abbrev has already been unexpanded.");
-
-  DEFVAR_INT ("last-abbrev-location", &last_abbrev_point,
-    "The location of the start of the last abbrev expanded.");
-
-  Vlast_abbrev = Qnil;
-  Vlast_abbrev_text = Qnil;
-  last_abbrev_point = 0;
-
-  DEFVAR_LISP ("abbrev-start-location", &Vabbrev_start_location,
-    "Buffer position for `expand-abbrev' to use as the start of the abbrev.\n\
-nil means use the word before point as the abbrev.\n\
-Calling `expand-abbrev' sets this to nil.");
-  Vabbrev_start_location = Qnil;
-
-  DEFVAR_LISP ("abbrev-start-location-buffer", &Vabbrev_start_location_buffer,
-    "Buffer that `abbrev-start-location' has been set for.\n\
-Trying to expand an abbrev in any other buffer clears `abbrev-start-location'.");
-  Vabbrev_start_location_buffer = Qnil;
-
-  DEFVAR_PER_BUFFER ("local-abbrev-table", &current_buffer->abbrev_table, Qnil,
-    "Local (mode-specific) abbrev table of current buffer.");
-
-  DEFVAR_BOOL ("abbrevs-changed", &abbrevs_changed,
-    "Set non-nil by defining or altering any word abbrevs.\n\
-This causes `save-some-buffers' to offer to save the abbrevs.");
-  abbrevs_changed = 0;
-
-  DEFVAR_BOOL ("abbrev-all-caps", &abbrev_all_caps,
-    "*Set non-nil means expand multi-word abbrevs all caps if abbrev was so.");
-  abbrev_all_caps = 0;
-
-  defsubr (&Smake_abbrev_table);
-  defsubr (&Sclear_abbrev_table);
-  defsubr (&Sdefine_abbrev);
-  defsubr (&Sdefine_global_abbrev);
-  defsubr (&Sdefine_mode_abbrev);
-  defsubr (&Sabbrev_expansion);
-  defsubr (&Sabbrev_symbol);
-  defsubr (&Sexpand_abbrev);
-  defsubr (&Sunexpand_abbrev);
-  defsubr (&Sinsert_abbrev_table_description);
-  defsubr (&Sdefine_abbrev_table);
-}
diff --git a/test/manual/etags/c-src/c.c b/test/manual/etags/c-src/c.c
deleted file mode 100644 (file)
index 77c8929..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-T f(){if(x){}
-}T i;
-
-// The next two functions must be kept together
-void bar() {while(0) {}}
-int foobar() {;}
-
-struct interface *
-interface_locate(void)
-{ return 0; }
-
-#line 123 "c.c"
-// 7.4: string literal in #line directive shall be a character string
-//      literal.
-//E t_6_062.cpp(21): warning: ill formed #line directive: 123 L"wide"
-#line 123                                      L"wide.c"
-#line 123 L"wide.c"
-#line 123L"wide.c"
-
-
-void (*fa) (void);
-void (__attribute__((noreturn)) *fb) (void);
-
-extern int
-my_printf (void *my_object, const char *my_format, ...)
-     __attribute__ ((format (printf, 2, 3)));
-
-void fatala () __attribute__ ((noreturn));
-void fatalb ();
-
-max (int a, int b)
-{ if (a > b) return a; else return b; }
-struct bar {
-  char z;
-  struct foo f;
-};
-__attribute__ ((always_inline)) max (int a, int b)
-{ if (a > b) return a; else return b }
-extern int old_var __attribute__ ((deprecated));
-struct foo
-{
-  char a;
-  int x[2] __attribute__ ((packed));
-};
-char stack[10000] __attribute__ ((section ("STACK"))) = { 0 };
-struct S { short f[3]; } __attribute__ ((aligned (8)));
-typedef union
-{
-  int *__ip;
-  union wait *__up;
-} wait_status_ptr_t __attribute__ ((__transparent_union__));
-Some_Class  A  __attribute__ ((init_priority (2000)));
-typedef T1 T3 __attribute__ ((deprecated));
-T3 z __attribute__ ((deprecated));
-typedef int more_aligned_int __attribute__ ((aligned (8)));
-struct S  __attribute__ ((vector_size (16))) foo;
-int foo __attribute__ ((vector_size (16)));
-char *__attribute__((aligned(8))) *f;
-int i __attribute__ ((visibility ("hidden")));
-extern void foobar (void) __attribute__ ((section ("bar")));
-
-typedef struct cacheLRUEntry_s
-{
-  U16 next;
-  U16 prev;
-}
-__attribute__ ((packed)) cacheLRUEntry_t;
-struct foo {
-  int x;
-  char a, b, c, d;
-} __attribute__((packed));
-void __attribute__ ((visibility ("protected")))
-     f1 () { /* Do something. */; }
-void f2 () { /* Do something. */; }
-__attribute__((noreturn)) void d0 (void),
-  __attribute__((format(printf, 1, 2))) d1 (const char *, ...),
-  d2 (void);
-int x __attribute__ ((aligned (16))) = 0;
-struct foo { int x[2] __attribute__ ((aligned (8))); };
-short array[3] __attribute__ ((aligned));
-
-asm("  section 10");
-int f
-       () {}
-
-DEAFUN ("expand-file-name", Fexpand_file_name, Sexpand_file_name, 1, 2, 0,
-  "name.")
-     (name, defalt)
-     Lisp_Object name, defalt;
-{
-  unsigned char *nm;
-}
-XDEFUN ("x-get-selection-internal", Fx_get_selection_internal,
-       Sx_get_selection_internal, 2, 2, 0, "")
-{}
-DEFUN ("x-get-selection-internal", Fx_get_selection_internal,
-       Sx_get_selection_internal, 2, 2, 0, "")
-{}
-/* The next two are not tagged correctly.  To prevent this, the code in
-   Emacs should contain the two first args of DEFUN on the same line. */
-DEFUN ("x-get-selection-internal",
-       Fx_get_selection_internal, Sx_get_selection_internal, 2, 2, 0, "")
-{}
-DEFUN
-     ("y-get-selection-internal",
-      Fy_get_selection_internal, Sy_get_selection_internal, 2, 2, 0, "")
-{}
-defun_func1()
-{}
-DEFUN_func2()
-{}
-typedef int bool;
-bool funcboo ()
-{}
-static void (*lang_func) () = NULL;
-struct my_struct {
-};
-typedef struct my_struct my_typedef;
-int bla ()
-{
-  PrkList ExistingOperations =
-      ProcedureOperationSelections(PrkNull, CalledFromDomain);
-}
-a()
- b c;
-{}
-int func1
-  (a,b,c,d) {};
-static struct cca_control init_control = { 0 };
-static tpcmd rbtp [RB_TPSZ];
-static byte ring1 [(RBUFNO + 1) + 8];
-static byte ring2 [(RBUFNO + 1) * sizeof (struct le_md) + 8];
-request request (a, b)
-{
-}
-int func2 (a,b
-         c,d) {};
-int wrongfunc
-  aaa;
-struct wrongstruct
-  bbb;
-struct sss1 {};
-struct sss2
-{
-  struct ss3
-    {
-    };
-};
-struct a b;
-struct aa *b;
-struct aaa
-  **b;
-caccacacca (a,b,c,d,e,f,g)
-     struct aa *b;
-{
-}
-a ()
-{
-  typedef struct aa {} aaa;
-}
-static void inita () {}
-node *lasta = NULL;
-b ()
-{
-  typedef  int bb;
-}
-static void initb () {}
-node *lastb = NULL;
-typedef enum { REG_ENOSYS = -1, aa } reg_errcode_t;
diff --git a/test/manual/etags/c-src/dostorture.c b/test/manual/etags/c-src/dostorture.c
deleted file mode 100644 (file)
index 5190734..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Date: Thu, 05 Aug 1993 20:28:03 +0200\r
-   From: "Tom R.Hageman" <tom@basil.icce.rug.nl>\r
-   Subject: more etags torture;-) [etags 7.3 patch#3]\r
-   To: pot@CNUCE.CNR.IT\r
-\r
-   Hi,\r
-\r
-   This test file illustrates some more problems with etags (7.3):\r
-\r
-\r
-   1. parentheses are confusing,\r
-   2. preprocessor directives can disrupt other state machines. */\r
-\r
-/* A small torture test for etags. */\r
-\r
-/* The classic parenthesis nightmare, based on signal(). */\r
-void\r
-(*tag1 (sig, handler)) ()\r
-  int sig;\r
-  void (*handler) ();\r
-{\r
-  (*handler)(sig);\r
-  return handler;\r
-}\r
-\r
-#define notag2 void\r
-/* The classic, with user-defined return type. */\r
-notag2\r
-(*tag2 (sig, handler)) ()\r
-  int sig;\r
-  void (*handler) ();\r
-{\r
-  (*handler)(sig);\r
-  return handler;\r
-}\r
-\r
-/* The classic, in ANSI C style. */\r
-void\r
-(*tag3 (int sig, void (*handler) (int))) (int)\r
-{\r
-  (*handler)(sig);\r
-  return handler;\r
-}\r
-\r
-#define notag4 void\r
-/* The classic, with user-defined return type, in ANSI C style. */\r
-notag4\r
-(*tag4 (int sig, void (*handler) (int))) (int)\r
-{\r
-  (*handler)(sig);\r
-  return handler;\r
-}\r
-\r
-\r
-/* A less tortuous example. */\r
-void\r
-tag5 (handler, arg)\r
-void (*handler)();\r
-void *arg;\r
-{\r
-  (*handler)(arg);\r
-}\r
-\r
-/* A less tortuous example, in ANSI C style. */\r
-void\r
-tag6 (void (*handler) (void *), void *arg)\r
-{\r
-  (*handler)(arg);\r
-}\r
-\r
-\r
-/* Interfering preprocessing torture */\r
-\r
-int pp1(\r
-#if (__STDC__)\r
-       int\r
-#endif\r
-       bar)\r
-#if (!__STDC__)\r
-     int bar;\r
-#endif\r
-{\r
-  return bar;\r
-}\r
-\r
-int\r
-pp2\r
-#if __STDC__\r
-  (int bar)\r
-#else\r
-  (bar)\r
-    int bar;\r
-#endif\r
-{\r
-  return bar;\r
-}\r
-\r
-int\r
-#if __STDC__\r
-pp3(int bar)\r
-#else\r
-pp3(bar)\r
-  int bar;\r
-#endif\r
-{\r
-  return bar;\r
-}\r
diff --git a/test/manual/etags/c-src/emacs/src/gmalloc.c b/test/manual/etags/c-src/emacs/src/gmalloc.c
deleted file mode 100644 (file)
index afa3699..0000000
+++ /dev/null
@@ -1,2040 +0,0 @@
-/* Declarations for `malloc' and friends.
-   Copyright (C) 1990-1993, 1995-1996, 1999, 2002-2007, 2013-2024 Free
-   Software Foundation, Inc.
-                 Written May 1989 by Mike Haertel.
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public
-License along with this library.  If not, see <https://www.gnu.org/licenses/>.
-
-   The author may be reached (Email) at the address mike@ai.mit.edu,
-   or (US mail) as Mike Haertel c/o Free Software Foundation.  */
-
-#include <config.h>
-
-#if defined HAVE_PTHREAD && !defined HYBRID_MALLOC
-#define USE_PTHREAD
-#endif
-
-#include <string.h>
-#include <limits.h>
-#include <stdint.h>
-
-#ifdef HYBRID_GET_CURRENT_DIR_NAME
-#undef get_current_dir_name
-#endif
-
-#include <unistd.h>
-
-#ifdef USE_PTHREAD
-#include <pthread.h>
-#endif
-
-#ifdef WINDOWSNT
-#include <w32heap.h>   /* for sbrk */
-#endif
-
-#ifdef emacs
-extern void emacs_abort (void);
-#endif
-
-/* If HYBRID_MALLOC is defined, then temacs will use malloc,
-   realloc... as defined in this file (and renamed gmalloc,
-   grealloc... via the macros that follow).  The dumped emacs,
-   however, will use the system malloc, realloc....  In other source
-   files, malloc, realloc... are renamed hybrid_malloc,
-   hybrid_realloc... via macros in conf_post.h.  hybrid_malloc and
-   friends are wrapper functions defined later in this file.
-   aligned_alloc is defined as a macro only in alloc.c.
-
-   As of this writing (August 2014), Cygwin is the only platform on
-   which HYBRID_MACRO is defined.  Any other platform that wants to
-   define it will have to define the macros DUMPED and
-   ALLOCATED_BEFORE_DUMPING, defined below for Cygwin.  */
-#ifdef HYBRID_MALLOC
-#undef malloc
-#undef realloc
-#undef calloc
-#undef free
-#define malloc gmalloc
-#define realloc grealloc
-#define calloc gcalloc
-#define aligned_alloc galigned_alloc
-#define free gfree
-#endif  /* HYBRID_MALLOC */
-
-#ifdef CYGWIN
-extern void *bss_sbrk (ptrdiff_t size);
-extern int bss_sbrk_did_unexec;
-extern char bss_sbrk_buffer[];
-extern void *bss_sbrk_buffer_end;
-#define DUMPED bss_sbrk_did_unexec
-#define ALLOCATED_BEFORE_DUMPING(P) \
-  ((P) < bss_sbrk_buffer_end && (P) >= (void *) bss_sbrk_buffer)
-#endif
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-#include <stddef.h>
-
-
-/* Allocate SIZE bytes of memory.  */
-extern void *malloc (size_t size) ATTRIBUTE_MALLOC_SIZE ((1));
-/* Re-allocate the previously allocated block
-   in ptr, making the new block SIZE bytes long.  */
-extern void *realloc (void *ptr, size_t size) ATTRIBUTE_ALLOC_SIZE ((2));
-/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0.  */
-extern void *calloc (size_t nmemb, size_t size) ATTRIBUTE_MALLOC_SIZE ((1,2));
-/* Free a block allocated by `malloc', `realloc' or `calloc'.  */
-extern void free (void *ptr);
-
-/* Allocate SIZE bytes allocated to ALIGNMENT bytes.  */
-#ifdef MSDOS
-extern void *aligned_alloc (size_t, size_t);
-extern void *memalign (size_t, size_t);
-extern int posix_memalign (void **, size_t, size_t);
-#endif
-
-#ifdef USE_PTHREAD
-/* Set up mutexes and make malloc etc. thread-safe.  */
-extern void malloc_enable_thread (void);
-#endif
-
-#ifdef emacs
-extern void emacs_abort (void);
-#endif
-
-/* The allocator divides the heap into blocks of fixed size; large
-   requests receive one or more whole blocks, and small requests
-   receive a fragment of a block.  Fragment sizes are powers of two,
-   and all fragments of a block are the same size.  When all the
-   fragments in a block have been freed, the block itself is freed.  */
-#define INT_BIT                (CHAR_BIT * sizeof (int))
-#define BLOCKLOG       (INT_BIT > 16 ? 12 : 9)
-#define BLOCKSIZE      (1 << BLOCKLOG)
-#define BLOCKIFY(SIZE) (((SIZE) + BLOCKSIZE - 1) / BLOCKSIZE)
-
-/* Determine the amount of memory spanned by the initial heap table
-   (not an absolute limit).  */
-#define HEAP           (INT_BIT > 16 ? 4194304 : 65536)
-
-/* Number of contiguous free blocks allowed to build up at the end of
-   memory before they will be returned to the system.  */
-#define FINAL_FREE_BLOCKS      8
-
-/* Data structure giving per-block information.  */
-typedef union
-  {
-    /* Heap information for a busy block.  */
-    struct
-      {
-       /* Zero for a large (multiblock) object, or positive giving the
-          logarithm to the base two of the fragment size.  */
-       int type;
-       union
-         {
-           struct
-             {
-               size_t nfree; /* Free frags in a fragmented block.  */
-               size_t first; /* First free fragment of the block.  */
-             } frag;
-           /* For a large object, in its first block, this has the number
-              of blocks in the object.  In the other blocks, this has a
-              negative number which says how far back the first block is.  */
-           ptrdiff_t size;
-         } info;
-      } busy;
-    /* Heap information for a free block
-       (that may be the first of a free cluster).  */
-    struct
-      {
-       size_t size;    /* Size (in blocks) of a free cluster.  */
-       size_t next;    /* Index of next free cluster.  */
-       size_t prev;    /* Index of previous free cluster.  */
-      } free;
-  } malloc_info;
-
-/* Pointer to first block of the heap.  */
-extern char *_heapbase;
-
-/* Table indexed by block number giving per-block information.  */
-extern malloc_info *_heapinfo;
-
-/* Address to block number and vice versa.  */
-#define BLOCK(A)       (((char *) (A) - _heapbase) / BLOCKSIZE + 1)
-#define ADDRESS(B)     ((void *) (((B) - 1) * BLOCKSIZE + _heapbase))
-
-/* Current search index for the heap table.  */
-extern size_t _heapindex;
-
-/* Limit of valid info table indices.  */
-extern size_t _heaplimit;
-
-/* Doubly linked lists of free fragments.  */
-struct list
-  {
-    struct list *next;
-    struct list *prev;
-  };
-
-/* Free list headers for each fragment size.  */
-extern struct list _fraghead[];
-
-/* List of blocks allocated with aligned_alloc and friends.  */
-struct alignlist
-  {
-    struct alignlist *next;
-    void *aligned;             /* The address that aligned_alloc returned.  */
-    void *exact;               /* The address that malloc returned.  */
-  };
-extern struct alignlist *_aligned_blocks;
-
-/* Instrumentation.  */
-extern size_t _chunks_used;
-extern size_t _bytes_used;
-extern size_t _chunks_free;
-extern size_t _bytes_free;
-
-/* Internal versions of `malloc', `realloc', and `free'
-   used when these functions need to call each other.
-   They are the same but don't call the hooks.  */
-extern void *_malloc_internal (size_t);
-extern void *_realloc_internal (void *, size_t);
-extern void _free_internal (void *);
-extern void *_malloc_internal_nolock (size_t);
-extern void *_realloc_internal_nolock (void *, size_t);
-extern void _free_internal_nolock (void *);
-
-#ifdef USE_PTHREAD
-extern pthread_mutex_t _malloc_mutex, _aligned_blocks_mutex;
-extern int _malloc_thread_enabled_p;
-#define LOCK()                                 \
-  do {                                         \
-    if (_malloc_thread_enabled_p)              \
-      pthread_mutex_lock (&_malloc_mutex);     \
-  } while (0)
-#define UNLOCK()                               \
-  do {                                         \
-    if (_malloc_thread_enabled_p)              \
-      pthread_mutex_unlock (&_malloc_mutex);   \
-  } while (0)
-#define LOCK_ALIGNED_BLOCKS()                          \
-  do {                                                 \
-    if (_malloc_thread_enabled_p)                      \
-      pthread_mutex_lock (&_aligned_blocks_mutex);     \
-  } while (0)
-#define UNLOCK_ALIGNED_BLOCKS()                                \
-  do {                                                 \
-    if (_malloc_thread_enabled_p)                      \
-      pthread_mutex_unlock (&_aligned_blocks_mutex);   \
-  } while (0)
-#else
-#define LOCK()
-#define UNLOCK()
-#define LOCK_ALIGNED_BLOCKS()
-#define UNLOCK_ALIGNED_BLOCKS()
-#endif
-
-/* Given an address in the middle of a malloc'd object,
-   return the address of the beginning of the object.  */
-extern void *malloc_find_object_address (void *ptr);
-
-/* Underlying allocation function; successive calls should
-   return contiguous pieces of memory.  */
-extern void *(*__morecore) (ptrdiff_t size);
-
-/* Default value of `__morecore'.  */
-extern void *__default_morecore (ptrdiff_t size);
-
-/* If not NULL, this function is called after each time
-   `__morecore' is called to increase the data size.  */
-extern void (*__after_morecore_hook) (void);
-
-/* Number of extra blocks to get each time we ask for more core.
-   This reduces the frequency of calling `(*__morecore)'.  */
-extern size_t __malloc_extra_blocks;
-
-/* Nonzero if `malloc' has been called and done its initialization.  */
-extern int __malloc_initialized;
-/* Function called to initialize malloc data structures.  */
-extern int __malloc_initialize (void);
-
-/* Hooks for debugging versions.  */
-extern void (*__malloc_initialize_hook) (void);
-extern void (*__free_hook) (void *ptr);
-extern void *(*__malloc_hook) (size_t size);
-extern void *(*__realloc_hook) (void *ptr, size_t size);
-extern void *(*__memalign_hook) (size_t size, size_t alignment);
-
-/* Return values for `mprobe': these are the kinds of inconsistencies that
-   `mcheck' enables detection of.  */
-enum mcheck_status
-  {
-    MCHECK_DISABLED = -1,      /* Consistency checking is not turned on.  */
-    MCHECK_OK,                 /* Block is fine.  */
-    MCHECK_FREE,               /* Block freed twice.  */
-    MCHECK_HEAD,               /* Memory before the block was clobbered.  */
-    MCHECK_TAIL                        /* Memory after the block was clobbered.  */
-  };
-
-/* Activate a standard collection of debugging hooks.  This must be called
-   before `malloc' is ever called.  ABORTFUNC is called with an error code
-   (see enum above) when an inconsistency is detected.  If ABORTFUNC is
-   null, the standard function prints on stderr and then calls `abort'.  */
-extern int mcheck (void (*abortfunc) (enum mcheck_status));
-
-/* Check for aberrations in a particular malloc'd block.  You must have
-   called `mcheck' already.  These are the same checks that `mcheck' does
-   when you free or reallocate a block.  */
-extern enum mcheck_status mprobe (void *ptr);
-
-/* Activate a standard collection of tracing hooks.  */
-extern void mtrace (void);
-extern void muntrace (void);
-
-/* Statistics available to the user.  */
-struct mstats
-  {
-    size_t bytes_total;        /* Total size of the heap. */
-    size_t chunks_used;        /* Chunks allocated by the user. */
-    size_t bytes_used; /* Byte total of user-allocated chunks. */
-    size_t chunks_free;        /* Chunks in the free list. */
-    size_t bytes_free; /* Byte total of chunks in the free list. */
-  };
-
-/* Pick up the current statistics. */
-extern struct mstats mstats (void);
-
-/* Call WARNFUN with a warning message when memory usage is high.  */
-extern void memory_warnings (void *start, void (*warnfun) (const char *));
-
-#ifdef __cplusplus
-}
-#endif
-
-/* Memory allocator `malloc'.
-   Copyright 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
-                 Written May 1989 by Mike Haertel.
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public
-License along with this library.  If not, see <https://www.gnu.org/licenses/>.
-
-   The author may be reached (Email) at the address mike@ai.mit.edu,
-   or (US mail) as Mike Haertel c/o Free Software Foundation.  */
-
-#include <errno.h>
-
-void *(*__morecore) (ptrdiff_t size) = __default_morecore;
-
-/* Debugging hook for `malloc'.  */
-void *(*__malloc_hook) (size_t size);
-
-/* Pointer to the base of the first block.  */
-char *_heapbase;
-
-/* Block information table.  Allocated with align/__free (not malloc/free).  */
-malloc_info *_heapinfo;
-
-/* Number of info entries.  */
-static size_t heapsize;
-
-/* Search index in the info table.  */
-size_t _heapindex;
-
-/* Limit of valid info table indices.  */
-size_t _heaplimit;
-
-/* Free lists for each fragment size.  */
-struct list _fraghead[BLOCKLOG];
-
-/* Instrumentation.  */
-size_t _chunks_used;
-size_t _bytes_used;
-size_t _chunks_free;
-size_t _bytes_free;
-
-/* Are you experienced?  */
-int __malloc_initialized;
-
-size_t __malloc_extra_blocks;
-
-void (*__malloc_initialize_hook) (void);
-void (*__after_morecore_hook) (void);
-
-#if defined GC_MALLOC_CHECK && defined GC_PROTECT_MALLOC_STATE
-
-/* Some code for hunting a bug writing into _heapinfo.
-
-   Call this macro with argument PROT non-zero to protect internal
-   malloc state against writing to it, call it with a zero argument to
-   make it readable and writable.
-
-   Note that this only works if BLOCKSIZE == page size, which is
-   the case on the i386.  */
-
-#include <sys/types.h>
-#include <sys/mman.h>
-
-static int state_protected_p;
-static size_t last_state_size;
-static malloc_info *last_heapinfo;
-
-void
-protect_malloc_state (int protect_p)
-{
-  /* If _heapinfo has been relocated, make sure its old location
-     isn't left read-only; it will be reused by malloc.  */
-  if (_heapinfo != last_heapinfo
-      && last_heapinfo
-      && state_protected_p)
-    mprotect (last_heapinfo, last_state_size, PROT_READ | PROT_WRITE);
-
-  last_state_size = _heaplimit * sizeof *_heapinfo;
-  last_heapinfo   = _heapinfo;
-
-  if (protect_p != state_protected_p)
-    {
-      state_protected_p = protect_p;
-      if (mprotect (_heapinfo, last_state_size,
-                   protect_p ? PROT_READ : PROT_READ | PROT_WRITE) != 0)
-       abort ();
-    }
-}
-
-#define PROTECT_MALLOC_STATE(PROT) protect_malloc_state (PROT)
-
-#else
-#define PROTECT_MALLOC_STATE(PROT)     /* empty */
-#endif
-
-
-/* Aligned allocation.  */
-static void *
-align (size_t size)
-{
-  void *result;
-  ptrdiff_t adj;
-
-  /* align accepts an unsigned argument, but __morecore accepts a
-     signed one.  This could lead to trouble if SIZE overflows the
-     ptrdiff_t type accepted by __morecore.  We just punt in that
-     case, since they are requesting a ludicrous amount anyway.  */
-  if (PTRDIFF_MAX < size)
-    result = 0;
-  else
-    result = (*__morecore) (size);
-  adj = (uintptr_t) result % BLOCKSIZE;
-  if (adj != 0)
-    {
-      adj = BLOCKSIZE - adj;
-      (*__morecore) (adj);
-      result = (char *) result + adj;
-    }
-
-  if (__after_morecore_hook)
-    (*__after_morecore_hook) ();
-
-  return result;
-}
-
-/* Get SIZE bytes, if we can get them starting at END.
-   Return the address of the space we got.
-   If we cannot get space at END, fail and return 0.  */
-static void *
-get_contiguous_space (ptrdiff_t size, void *position)
-{
-  void *before;
-  void *after;
-
-  before = (*__morecore) (0);
-  /* If we can tell in advance that the break is at the wrong place,
-     fail now.  */
-  if (before != position)
-    return 0;
-
-  /* Allocate SIZE bytes and get the address of them.  */
-  after = (*__morecore) (size);
-  if (!after)
-    return 0;
-
-  /* It was not contiguous--reject it.  */
-  if (after != position)
-    {
-      (*__morecore) (- size);
-      return 0;
-    }
-
-  return after;
-}
-
-
-/* This is called when `_heapinfo' and `heapsize' have just
-   been set to describe a new info table.  Set up the table
-   to describe itself and account for it in the statistics.  */
-static void
-register_heapinfo (void)
-{
-  size_t block, blocks;
-
-  block = BLOCK (_heapinfo);
-  blocks = BLOCKIFY (heapsize * sizeof (malloc_info));
-
-  /* Account for the _heapinfo block itself in the statistics.  */
-  _bytes_used += blocks * BLOCKSIZE;
-  ++_chunks_used;
-
-  /* Describe the heapinfo block itself in the heapinfo.  */
-  _heapinfo[block].busy.type = 0;
-  _heapinfo[block].busy.info.size = blocks;
-  /* Leave back-pointers for malloc_find_address.  */
-  while (--blocks > 0)
-    _heapinfo[block + blocks].busy.info.size = -blocks;
-}
-
-#ifdef USE_PTHREAD
-pthread_mutex_t _malloc_mutex = PTHREAD_MUTEX_INITIALIZER;
-pthread_mutex_t _aligned_blocks_mutex = PTHREAD_MUTEX_INITIALIZER;
-int _malloc_thread_enabled_p;
-
-static void
-malloc_atfork_handler_prepare (void)
-{
-  LOCK ();
-  LOCK_ALIGNED_BLOCKS ();
-}
-
-static void
-malloc_atfork_handler_parent (void)
-{
-  UNLOCK_ALIGNED_BLOCKS ();
-  UNLOCK ();
-}
-
-static void
-malloc_atfork_handler_child (void)
-{
-  UNLOCK_ALIGNED_BLOCKS ();
-  UNLOCK ();
-}
-
-/* Set up mutexes and make malloc etc. thread-safe.  */
-void
-malloc_enable_thread (void)
-{
-  if (_malloc_thread_enabled_p)
-    return;
-
-  /* Some pthread implementations call malloc for statically
-     initialized mutexes when they are used first.  To avoid such a
-     situation, we initialize mutexes here while their use is
-     disabled in malloc etc.  */
-  pthread_mutex_init (&_malloc_mutex, NULL);
-  pthread_mutex_init (&_aligned_blocks_mutex, NULL);
-  pthread_atfork (malloc_atfork_handler_prepare,
-                 malloc_atfork_handler_parent,
-                 malloc_atfork_handler_child);
-  _malloc_thread_enabled_p = 1;
-}
-#endif /* USE_PTHREAD */
-
-static void
-malloc_initialize_1 (void)
-{
-#ifdef GC_MCHECK
-  mcheck (NULL);
-#endif
-
-  if (__malloc_initialize_hook)
-    (*__malloc_initialize_hook) ();
-
-  heapsize = HEAP / BLOCKSIZE;
-  _heapinfo = align (heapsize * sizeof (malloc_info));
-  if (_heapinfo == NULL)
-    return;
-  memset (_heapinfo, 0, heapsize * sizeof (malloc_info));
-  _heapinfo[0].free.size = 0;
-  _heapinfo[0].free.next = _heapinfo[0].free.prev = 0;
-  _heapindex = 0;
-  _heapbase = (char *) _heapinfo;
-  _heaplimit = BLOCK (_heapbase + heapsize * sizeof (malloc_info));
-
-  register_heapinfo ();
-
-  __malloc_initialized = 1;
-  PROTECT_MALLOC_STATE (1);
-  return;
-}
-
-/* Set everything up and remember that we have.
-   main will call malloc which calls this function.  That is before any threads
-   or signal handlers has been set up, so we don't need thread protection.  */
-int
-__malloc_initialize (void)
-{
-  if (__malloc_initialized)
-    return 0;
-
-  malloc_initialize_1 ();
-
-  return __malloc_initialized;
-}
-
-static int morecore_recursing;
-
-/* Get neatly aligned memory, initializing or
-   growing the heap info table as necessary. */
-static void *
-morecore_nolock (size_t size)
-{
-  void *result;
-  malloc_info *newinfo, *oldinfo;
-  size_t newsize;
-
-  if (morecore_recursing)
-    /* Avoid recursion.  The caller will know how to handle a null return.  */
-    return NULL;
-
-  result = align (size);
-  if (result == NULL)
-    return NULL;
-
-  PROTECT_MALLOC_STATE (0);
-
-  /* Check if we need to grow the info table.  */
-  if ((size_t) BLOCK ((char *) result + size) > heapsize)
-    {
-      /* Calculate the new _heapinfo table size.  We do not account for the
-        added blocks in the table itself, as we hope to place them in
-        existing free space, which is already covered by part of the
-        existing table.  */
-      newsize = heapsize;
-      do
-       newsize *= 2;
-      while ((size_t) BLOCK ((char *) result + size) > newsize);
-
-      /* We must not reuse existing core for the new info table when called
-        from realloc in the case of growing a large block, because the
-        block being grown is momentarily marked as free.  In this case
-        _heaplimit is zero so we know not to reuse space for internal
-        allocation.  */
-      if (_heaplimit != 0)
-       {
-         /* First try to allocate the new info table in core we already
-            have, in the usual way using realloc.  If realloc cannot
-            extend it in place or relocate it to existing sufficient core,
-            we will get called again, and the code above will notice the
-            `morecore_recursing' flag and return null.  */
-         int save = errno;     /* Don't want to clobber errno with ENOMEM.  */
-         morecore_recursing = 1;
-         newinfo = _realloc_internal_nolock (_heapinfo,
-                                             newsize * sizeof (malloc_info));
-         morecore_recursing = 0;
-         if (newinfo == NULL)
-           errno = save;
-         else
-           {
-             /* We found some space in core, and realloc has put the old
-                table's blocks on the free list.  Now zero the new part
-                of the table and install the new table location.  */
-             memset (&newinfo[heapsize], 0,
-                     (newsize - heapsize) * sizeof (malloc_info));
-             _heapinfo = newinfo;
-             heapsize = newsize;
-             goto got_heap;
-           }
-       }
-
-      /* Allocate new space for the malloc info table.  */
-      while (1)
-       {
-         newinfo = align (newsize * sizeof (malloc_info));
-
-         /* Did it fail?  */
-         if (newinfo == NULL)
-           {
-             (*__morecore) (-size);
-             return NULL;
-           }
-
-         /* Is it big enough to record status for its own space?
-            If so, we win.  */
-         if ((size_t) BLOCK ((char *) newinfo
-                             + newsize * sizeof (malloc_info))
-             < newsize)
-           break;
-
-         /* Must try again.  First give back most of what we just got.  */
-         (*__morecore) (- newsize * sizeof (malloc_info));
-         newsize *= 2;
-       }
-
-      /* Copy the old table to the beginning of the new,
-        and zero the rest of the new table.  */
-      memcpy (newinfo, _heapinfo, heapsize * sizeof (malloc_info));
-      memset (&newinfo[heapsize], 0,
-             (newsize - heapsize) * sizeof (malloc_info));
-      oldinfo = _heapinfo;
-      _heapinfo = newinfo;
-      heapsize = newsize;
-
-      register_heapinfo ();
-
-      /* Reset _heaplimit so _free_internal never decides
-        it can relocate or resize the info table.  */
-      _heaplimit = 0;
-      _free_internal_nolock (oldinfo);
-      PROTECT_MALLOC_STATE (0);
-
-      /* The new heap limit includes the new table just allocated.  */
-      _heaplimit = BLOCK ((char *) newinfo + heapsize * sizeof (malloc_info));
-      return result;
-    }
-
- got_heap:
-  _heaplimit = BLOCK ((char *) result + size);
-  return result;
-}
-
-/* Allocate memory from the heap.  */
-void *
-_malloc_internal_nolock (size_t size)
-{
-  void *result;
-  size_t block, blocks, lastblocks, start;
-  register size_t i;
-  struct list *next;
-
-  /* ANSI C allows `malloc (0)' to either return NULL, or to return a
-     valid address you can realloc and free (though not dereference).
-
-     It turns out that some extant code (sunrpc, at least Ultrix's version)
-     expects `malloc (0)' to return non-NULL and breaks otherwise.
-     Be compatible.  */
-
-#if    0
-  if (size == 0)
-    return NULL;
-#endif
-
-  PROTECT_MALLOC_STATE (0);
-
-  if (size < sizeof (struct list))
-    size = sizeof (struct list);
-
-  /* Determine the allocation policy based on the request size.  */
-  if (size <= BLOCKSIZE / 2)
-    {
-      /* Small allocation to receive a fragment of a block.
-        Determine the logarithm to base two of the fragment size. */
-      register size_t log = 1;
-      --size;
-      while ((size /= 2) != 0)
-       ++log;
-
-      /* Look in the fragment lists for a
-        free fragment of the desired size. */
-      next = _fraghead[log].next;
-      if (next != NULL)
-       {
-         /* There are free fragments of this size.
-            Pop a fragment out of the fragment list and return it.
-            Update the block's nfree and first counters. */
-         result = next;
-         next->prev->next = next->next;
-         if (next->next != NULL)
-           next->next->prev = next->prev;
-         block = BLOCK (result);
-         if (--_heapinfo[block].busy.info.frag.nfree != 0)
-           _heapinfo[block].busy.info.frag.first =
-             (uintptr_t) next->next % BLOCKSIZE >> log;
-
-         /* Update the statistics.  */
-         ++_chunks_used;
-         _bytes_used += 1 << log;
-         --_chunks_free;
-         _bytes_free -= 1 << log;
-       }
-      else
-       {
-         /* No free fragments of the desired size, so get a new block
-            and break it into fragments, returning the first.  */
-#ifdef GC_MALLOC_CHECK
-         result = _malloc_internal_nolock (BLOCKSIZE);
-         PROTECT_MALLOC_STATE (0);
-#elif defined (USE_PTHREAD)
-         result = _malloc_internal_nolock (BLOCKSIZE);
-#else
-         result = malloc (BLOCKSIZE);
-#endif
-         if (result == NULL)
-           {
-             PROTECT_MALLOC_STATE (1);
-             goto out;
-           }
-
-         /* Link all fragments but the first into the free list.  */
-         next = (struct list *) ((char *) result + (1 << log));
-         next->next = NULL;
-         next->prev = &_fraghead[log];
-         _fraghead[log].next = next;
-
-         for (i = 2; i < (size_t) (BLOCKSIZE >> log); ++i)
-           {
-             next = (struct list *) ((char *) result + (i << log));
-             next->next = _fraghead[log].next;
-             next->prev = &_fraghead[log];
-             next->prev->next = next;
-             next->next->prev = next;
-           }
-
-         /* Initialize the nfree and first counters for this block.  */
-         block = BLOCK (result);
-         _heapinfo[block].busy.type = log;
-         _heapinfo[block].busy.info.frag.nfree = i - 1;
-         _heapinfo[block].busy.info.frag.first = i - 1;
-
-         _chunks_free += (BLOCKSIZE >> log) - 1;
-         _bytes_free += BLOCKSIZE - (1 << log);
-         _bytes_used -= BLOCKSIZE - (1 << log);
-       }
-    }
-  else
-    {
-      /* Large allocation to receive one or more blocks.
-        Search the free list in a circle starting at the last place visited.
-        If we loop completely around without finding a large enough
-        space we will have to get more memory from the system.  */
-      blocks = BLOCKIFY (size);
-      start = block = _heapindex;
-      while (_heapinfo[block].free.size < blocks)
-       {
-         block = _heapinfo[block].free.next;
-         if (block == start)
-           {
-             /* Need to get more from the system.  Get a little extra.  */
-             size_t wantblocks = blocks + __malloc_extra_blocks;
-             block = _heapinfo[0].free.prev;
-             lastblocks = _heapinfo[block].free.size;
-             /* Check to see if the new core will be contiguous with the
-                final free block; if so we don't need to get as much.  */
-             if (_heaplimit != 0 && block + lastblocks == _heaplimit &&
-                 /* We can't do this if we will have to make the heap info
-                     table bigger to accommodate the new space.  */
-                 block + wantblocks <= heapsize &&
-                 get_contiguous_space ((wantblocks - lastblocks) * BLOCKSIZE,
-                                       ADDRESS (block + lastblocks)))
-               {
-                 /* We got it contiguously.  Which block we are extending
-                    (the `final free block' referred to above) might have
-                    changed, if it got combined with a freed info table.  */
-                 block = _heapinfo[0].free.prev;
-                 _heapinfo[block].free.size += (wantblocks - lastblocks);
-                 _bytes_free += (wantblocks - lastblocks) * BLOCKSIZE;
-                 _heaplimit += wantblocks - lastblocks;
-                 continue;
-               }
-             result = morecore_nolock (wantblocks * BLOCKSIZE);
-             if (result == NULL)
-               goto out;
-             block = BLOCK (result);
-             /* Put the new block at the end of the free list.  */
-             _heapinfo[block].free.size = wantblocks;
-             _heapinfo[block].free.prev = _heapinfo[0].free.prev;
-             _heapinfo[block].free.next = 0;
-             _heapinfo[0].free.prev = block;
-             _heapinfo[_heapinfo[block].free.prev].free.next = block;
-             ++_chunks_free;
-             /* Now loop to use some of that block for this allocation.  */
-           }
-       }
-
-      /* At this point we have found a suitable free list entry.
-        Figure out how to remove what we need from the list. */
-      result = ADDRESS (block);
-      if (_heapinfo[block].free.size > blocks)
-       {
-         /* The block we found has a bit left over,
-            so relink the tail end back into the free list. */
-         _heapinfo[block + blocks].free.size
-           = _heapinfo[block].free.size - blocks;
-         _heapinfo[block + blocks].free.next
-           = _heapinfo[block].free.next;
-         _heapinfo[block + blocks].free.prev
-           = _heapinfo[block].free.prev;
-         _heapinfo[_heapinfo[block].free.prev].free.next
-           = _heapinfo[_heapinfo[block].free.next].free.prev
-           = _heapindex = block + blocks;
-       }
-      else
-       {
-         /* The block exactly matches our requirements,
-            so just remove it from the list. */
-         _heapinfo[_heapinfo[block].free.next].free.prev
-           = _heapinfo[block].free.prev;
-         _heapinfo[_heapinfo[block].free.prev].free.next
-           = _heapindex = _heapinfo[block].free.next;
-         --_chunks_free;
-       }
-
-      _heapinfo[block].busy.type = 0;
-      _heapinfo[block].busy.info.size = blocks;
-      ++_chunks_used;
-      _bytes_used += blocks * BLOCKSIZE;
-      _bytes_free -= blocks * BLOCKSIZE;
-
-      /* Mark all the blocks of the object just allocated except for the
-        first with a negative number so you can find the first block by
-        adding that adjustment.  */
-      while (--blocks > 0)
-       _heapinfo[block + blocks].busy.info.size = -blocks;
-    }
-
-  PROTECT_MALLOC_STATE (1);
- out:
-  return result;
-}
-
-void *
-_malloc_internal (size_t size)
-{
-  void *result;
-
-  LOCK ();
-  result = _malloc_internal_nolock (size);
-  UNLOCK ();
-
-  return result;
-}
-
-void *
-malloc (size_t size)
-{
-  void *(*hook) (size_t);
-
-  if (!__malloc_initialized && !__malloc_initialize ())
-    return NULL;
-
-  /* Copy the value of __malloc_hook to an automatic variable in case
-     __malloc_hook is modified in another thread between its
-     NULL-check and the use.
-
-     Note: Strictly speaking, this is not a right solution.  We should
-     use mutexes to access non-read-only variables that are shared
-     among multiple threads.  We just leave it for compatibility with
-     glibc malloc (i.e., assignments to __malloc_hook) for now.  */
-  hook = __malloc_hook;
-  return (hook != NULL ? *hook : _malloc_internal) (size);
-}
-\f
-#ifndef _LIBC
-
-/* On some ANSI C systems, some libc functions call _malloc, _free
-   and _realloc.  Make them use the GNU functions.  */
-
-extern void *_malloc (size_t);
-extern void _free (void *);
-extern void *_realloc (void *, size_t);
-
-void *
-_malloc (size_t size)
-{
-  return malloc (size);
-}
-
-void
-_free (void *ptr)
-{
-  free (ptr);
-}
-
-void *
-_realloc (void *ptr, size_t size)
-{
-  return realloc (ptr, size);
-}
-
-#endif
-/* Free a block of memory allocated by `malloc'.
-   Copyright 1990, 1991, 1992, 1994, 1995 Free Software Foundation, Inc.
-                 Written May 1989 by Mike Haertel.
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public
-License along with this library.  If not, see <https://www.gnu.org/licenses/>.
-
-   The author may be reached (Email) at the address mike@ai.mit.edu,
-   or (US mail) as Mike Haertel c/o Free Software Foundation.  */
-
-
-/* Debugging hook for free.  */
-void (*__free_hook) (void *__ptr);
-
-/* List of blocks allocated by aligned_alloc.  */
-struct alignlist *_aligned_blocks = NULL;
-
-/* Return memory to the heap.
-   Like `_free_internal' but don't lock mutex.  */
-void
-_free_internal_nolock (void *ptr)
-{
-  int type;
-  size_t block, blocks;
-  register size_t i;
-  struct list *prev, *next;
-  void *curbrk;
-  const size_t lesscore_threshold
-    /* Threshold of free space at which we will return some to the system.  */
-    = FINAL_FREE_BLOCKS + 2 * __malloc_extra_blocks;
-
-  register struct alignlist *l;
-
-  if (ptr == NULL)
-    return;
-
-  PROTECT_MALLOC_STATE (0);
-
-  LOCK_ALIGNED_BLOCKS ();
-  for (l = _aligned_blocks; l != NULL; l = l->next)
-    if (l->aligned == ptr)
-      {
-       l->aligned = NULL;      /* Mark the slot in the list as free.  */
-       ptr = l->exact;
-       break;
-      }
-  UNLOCK_ALIGNED_BLOCKS ();
-
-  block = BLOCK (ptr);
-
-  type = _heapinfo[block].busy.type;
-  switch (type)
-    {
-    case 0:
-      /* Get as many statistics as early as we can.  */
-      --_chunks_used;
-      _bytes_used -= _heapinfo[block].busy.info.size * BLOCKSIZE;
-      _bytes_free += _heapinfo[block].busy.info.size * BLOCKSIZE;
-
-      /* Find the free cluster previous to this one in the free list.
-        Start searching at the last block referenced; this may benefit
-        programs with locality of allocation.  */
-      i = _heapindex;
-      if (i > block)
-       while (i > block)
-         i = _heapinfo[i].free.prev;
-      else
-       {
-         do
-           i = _heapinfo[i].free.next;
-         while (i > 0 && i < block);
-         i = _heapinfo[i].free.prev;
-       }
-
-      /* Determine how to link this block into the free list.  */
-      if (block == i + _heapinfo[i].free.size)
-       {
-         /* Coalesce this block with its predecessor.  */
-         _heapinfo[i].free.size += _heapinfo[block].busy.info.size;
-         block = i;
-       }
-      else
-       {
-         /* Really link this block back into the free list.  */
-         _heapinfo[block].free.size = _heapinfo[block].busy.info.size;
-         _heapinfo[block].free.next = _heapinfo[i].free.next;
-         _heapinfo[block].free.prev = i;
-         _heapinfo[i].free.next = block;
-         _heapinfo[_heapinfo[block].free.next].free.prev = block;
-         ++_chunks_free;
-       }
-
-      /* Now that the block is linked in, see if we can coalesce it
-        with its successor (by deleting its successor from the list
-        and adding in its size).  */
-      if (block + _heapinfo[block].free.size == _heapinfo[block].free.next)
-       {
-         _heapinfo[block].free.size
-           += _heapinfo[_heapinfo[block].free.next].free.size;
-         _heapinfo[block].free.next
-           = _heapinfo[_heapinfo[block].free.next].free.next;
-         _heapinfo[_heapinfo[block].free.next].free.prev = block;
-         --_chunks_free;
-       }
-
-      /* How many trailing free blocks are there now?  */
-      blocks = _heapinfo[block].free.size;
-
-      /* Where is the current end of accessible core?  */
-      curbrk = (*__morecore) (0);
-
-      if (_heaplimit != 0 && curbrk == ADDRESS (_heaplimit))
-       {
-         /* The end of the malloc heap is at the end of accessible core.
-            It's possible that moving _heapinfo will allow us to
-            return some space to the system.  */
-
-         size_t info_block = BLOCK (_heapinfo);
-         size_t info_blocks = _heapinfo[info_block].busy.info.size;
-         size_t prev_block = _heapinfo[block].free.prev;
-         size_t prev_blocks = _heapinfo[prev_block].free.size;
-         size_t next_block = _heapinfo[block].free.next;
-         size_t next_blocks = _heapinfo[next_block].free.size;
-
-         if (/* Win if this block being freed is last in core, the info table
-                is just before it, the previous free block is just before the
-                info table, and the two free blocks together form a useful
-                amount to return to the system.  */
-             (block + blocks == _heaplimit &&
-              info_block + info_blocks == block &&
-              prev_block != 0 && prev_block + prev_blocks == info_block &&
-              blocks + prev_blocks >= lesscore_threshold) ||
-             /* Nope, not the case.  We can also win if this block being
-                freed is just before the info table, and the table extends
-                to the end of core or is followed only by a free block,
-                and the total free space is worth returning to the system.  */
-             (block + blocks == info_block &&
-              ((info_block + info_blocks == _heaplimit &&
-                blocks >= lesscore_threshold) ||
-               (info_block + info_blocks == next_block &&
-                next_block + next_blocks == _heaplimit &&
-                blocks + next_blocks >= lesscore_threshold)))
-             )
-           {
-             malloc_info *newinfo;
-             size_t oldlimit = _heaplimit;
-
-             /* Free the old info table, clearing _heaplimit to avoid
-                recursion into this code.  We don't want to return the
-                table's blocks to the system before we have copied them to
-                the new location.  */
-             _heaplimit = 0;
-             _free_internal_nolock (_heapinfo);
-             _heaplimit = oldlimit;
-
-             /* Tell malloc to search from the beginning of the heap for
-                free blocks, so it doesn't reuse the ones just freed.  */
-             _heapindex = 0;
-
-             /* Allocate new space for the info table and move its data.  */
-             newinfo = _malloc_internal_nolock (info_blocks * BLOCKSIZE);
-             PROTECT_MALLOC_STATE (0);
-             memmove (newinfo, _heapinfo, info_blocks * BLOCKSIZE);
-             _heapinfo = newinfo;
-
-             /* We should now have coalesced the free block with the
-                blocks freed from the old info table.  Examine the entire
-                trailing free block to decide below whether to return some
-                to the system.  */
-             block = _heapinfo[0].free.prev;
-             blocks = _heapinfo[block].free.size;
-           }
-
-         /* Now see if we can return stuff to the system.  */
-         if (block + blocks == _heaplimit && blocks >= lesscore_threshold)
-           {
-             register size_t bytes = blocks * BLOCKSIZE;
-             _heaplimit -= blocks;
-             (*__morecore) (-bytes);
-             _heapinfo[_heapinfo[block].free.prev].free.next
-               = _heapinfo[block].free.next;
-             _heapinfo[_heapinfo[block].free.next].free.prev
-               = _heapinfo[block].free.prev;
-             block = _heapinfo[block].free.prev;
-             --_chunks_free;
-             _bytes_free -= bytes;
-           }
-       }
-
-      /* Set the next search to begin at this block.  */
-      _heapindex = block;
-      break;
-
-    default:
-      /* Do some of the statistics.  */
-      --_chunks_used;
-      _bytes_used -= 1 << type;
-      ++_chunks_free;
-      _bytes_free += 1 << type;
-
-      /* Get the address of the first free fragment in this block.  */
-      prev = (struct list *) ((char *) ADDRESS (block) +
-                             (_heapinfo[block].busy.info.frag.first << type));
-
-      if (_heapinfo[block].busy.info.frag.nfree == (BLOCKSIZE >> type) - 1)
-       {
-         /* If all fragments of this block are free, remove them
-            from the fragment list and free the whole block.  */
-         next = prev;
-         for (i = 1; i < (size_t) (BLOCKSIZE >> type); ++i)
-           next = next->next;
-         prev->prev->next = next;
-         if (next != NULL)
-           next->prev = prev->prev;
-         _heapinfo[block].busy.type = 0;
-         _heapinfo[block].busy.info.size = 1;
-
-         /* Keep the statistics accurate.  */
-         ++_chunks_used;
-         _bytes_used += BLOCKSIZE;
-         _chunks_free -= BLOCKSIZE >> type;
-         _bytes_free -= BLOCKSIZE;
-
-#if defined (GC_MALLOC_CHECK) || defined (USE_PTHREAD)
-         _free_internal_nolock (ADDRESS (block));
-#else
-         free (ADDRESS (block));
-#endif
-       }
-      else if (_heapinfo[block].busy.info.frag.nfree != 0)
-       {
-         /* If some fragments of this block are free, link this
-            fragment into the fragment list after the first free
-            fragment of this block. */
-         next = ptr;
-         next->next = prev->next;
-         next->prev = prev;
-         prev->next = next;
-         if (next->next != NULL)
-           next->next->prev = next;
-         ++_heapinfo[block].busy.info.frag.nfree;
-       }
-      else
-       {
-         /* No fragments of this block are free, so link this
-            fragment into the fragment list and announce that
-            it is the first free fragment of this block. */
-         prev = ptr;
-         _heapinfo[block].busy.info.frag.nfree = 1;
-         _heapinfo[block].busy.info.frag.first =
-           (uintptr_t) ptr % BLOCKSIZE >> type;
-         prev->next = _fraghead[type].next;
-         prev->prev = &_fraghead[type];
-         prev->prev->next = prev;
-         if (prev->next != NULL)
-           prev->next->prev = prev;
-       }
-      break;
-    }
-
-  PROTECT_MALLOC_STATE (1);
-}
-
-/* Return memory to the heap.
-   Like `free' but don't call a __free_hook if there is one.  */
-void
-_free_internal (void *ptr)
-{
-  LOCK ();
-  _free_internal_nolock (ptr);
-  UNLOCK ();
-}
-
-/* Return memory to the heap.  */
-
-void
-free (void *ptr)
-{
-  void (*hook) (void *) = __free_hook;
-
-  if (hook != NULL)
-    (*hook) (ptr);
-  else
-    _free_internal (ptr);
-}
-
-/* Define the `cfree' alias for `free'.  */
-#ifdef weak_alias
-weak_alias (free, cfree)
-#else
-void
-cfree (void *ptr)
-{
-  free (ptr);
-}
-#endif
-/* Change the size of a block allocated by `malloc'.
-   Copyright 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
-                    Written May 1989 by Mike Haertel.
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public
-License along with this library.  If not, see <https://www.gnu.org/licenses/>.
-
-   The author may be reached (Email) at the address mike@ai.mit.edu,
-   or (US mail) as Mike Haertel c/o Free Software Foundation.  */
-
-#ifndef min
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#endif
-
-/* Debugging hook for realloc.  */
-void *(*__realloc_hook) (void *ptr, size_t size);
-
-/* Resize the given region to the new size, returning a pointer
-   to the (possibly moved) region.  This is optimized for speed;
-   some benchmarks seem to indicate that greater compactness is
-   achieved by unconditionally allocating and copying to a
-   new region.  This module has incestuous knowledge of the
-   internals of both free and malloc. */
-void *
-_realloc_internal_nolock (void *ptr, size_t size)
-{
-  void *result;
-  int type;
-  size_t block, blocks, oldlimit;
-
-  if (size == 0)
-    {
-      _free_internal_nolock (ptr);
-      return _malloc_internal_nolock (0);
-    }
-  else if (ptr == NULL)
-    return _malloc_internal_nolock (size);
-
-  block = BLOCK (ptr);
-
-  PROTECT_MALLOC_STATE (0);
-
-  type = _heapinfo[block].busy.type;
-  switch (type)
-    {
-    case 0:
-      /* Maybe reallocate a large block to a small fragment.  */
-      if (size <= BLOCKSIZE / 2)
-       {
-         result = _malloc_internal_nolock (size);
-         if (result != NULL)
-           {
-             memcpy (result, ptr, size);
-             _free_internal_nolock (ptr);
-             goto out;
-           }
-       }
-
-      /* The new size is a large allocation as well;
-        see if we can hold it in place. */
-      blocks = BLOCKIFY (size);
-      if (blocks < _heapinfo[block].busy.info.size)
-       {
-         /* The new size is smaller; return
-            excess memory to the free list. */
-         _heapinfo[block + blocks].busy.type = 0;
-         _heapinfo[block + blocks].busy.info.size
-           = _heapinfo[block].busy.info.size - blocks;
-         _heapinfo[block].busy.info.size = blocks;
-         /* We have just created a new chunk by splitting a chunk in two.
-            Now we will free this chunk; increment the statistics counter
-            so it doesn't become wrong when _free_internal decrements it.  */
-         ++_chunks_used;
-         _free_internal_nolock (ADDRESS (block + blocks));
-         result = ptr;
-       }
-      else if (blocks == _heapinfo[block].busy.info.size)
-       /* No size change necessary.  */
-       result = ptr;
-      else
-       {
-         /* Won't fit, so allocate a new region that will.
-            Free the old region first in case there is sufficient
-            adjacent free space to grow without moving. */
-         blocks = _heapinfo[block].busy.info.size;
-         /* Prevent free from actually returning memory to the system.  */
-         oldlimit = _heaplimit;
-         _heaplimit = 0;
-         _free_internal_nolock (ptr);
-         result = _malloc_internal_nolock (size);
-         PROTECT_MALLOC_STATE (0);
-         if (_heaplimit == 0)
-           _heaplimit = oldlimit;
-         if (result == NULL)
-           {
-             /* Now we're really in trouble.  We have to unfree
-                the thing we just freed.  Unfortunately it might
-                have been coalesced with its neighbors.  */
-             if (_heapindex == block)
-               (void) _malloc_internal_nolock (blocks * BLOCKSIZE);
-             else
-               {
-                 void *previous
-                   = _malloc_internal_nolock ((block - _heapindex) * BLOCKSIZE);
-                 (void) _malloc_internal_nolock (blocks * BLOCKSIZE);
-                 _free_internal_nolock (previous);
-               }
-             goto out;
-           }
-         if (ptr != result)
-           memmove (result, ptr, blocks * BLOCKSIZE);
-       }
-      break;
-
-    default:
-      /* Old size is a fragment; type is logarithm
-        to base two of the fragment size.  */
-      if (size > (size_t) (1 << (type - 1)) &&
-         size <= (size_t) (1 << type))
-       /* The new size is the same kind of fragment.  */
-       result = ptr;
-      else
-       {
-         /* The new size is different; allocate a new space,
-            and copy the lesser of the new size and the old. */
-         result = _malloc_internal_nolock (size);
-         if (result == NULL)
-           goto out;
-         memcpy (result, ptr, min (size, (size_t) 1 << type));
-         _free_internal_nolock (ptr);
-       }
-      break;
-    }
-
-  PROTECT_MALLOC_STATE (1);
- out:
-  return result;
-}
-
-void *
-_realloc_internal (void *ptr, size_t size)
-{
-  void *result;
-
-  LOCK ();
-  result = _realloc_internal_nolock (ptr, size);
-  UNLOCK ();
-
-  return result;
-}
-
-void *
-realloc (void *ptr, size_t size)
-{
-  void *(*hook) (void *, size_t);
-
-  if (!__malloc_initialized && !__malloc_initialize ())
-    return NULL;
-
-  hook = __realloc_hook;
-  return (hook != NULL ? *hook : _realloc_internal) (ptr, size);
-}
-/* Copyright (C) 1991, 1992, 1994 Free Software Foundation, Inc.
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public
-License along with this library.  If not, see <https://www.gnu.org/licenses/>.
-
-   The author may be reached (Email) at the address mike@ai.mit.edu,
-   or (US mail) as Mike Haertel c/o Free Software Foundation.  */
-
-/* Allocate an array of NMEMB elements each SIZE bytes long.
-   The entire array is initialized to zeros.  */
-void *
-calloc (size_t nmemb, size_t size)
-{
-  void *result;
-  size_t bytes = nmemb * size;
-
-  if (size != 0 && bytes / size != nmemb)
-    {
-      errno = ENOMEM;
-      return NULL;
-    }
-
-  result = malloc (bytes);
-  if (result)
-    return memset (result, 0, bytes);
-  return result;
-}
-/* Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-
-The GNU C Library is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with the GNU C Library.  If not, see <https://www.gnu.org/licenses/>.  */
-
-/* uClibc defines __GNU_LIBRARY__, but it is not completely
-   compatible.  */
-#if !defined (__GNU_LIBRARY__) || defined (__UCLIBC__)
-#define        __sbrk  sbrk
-#else /* __GNU_LIBRARY__ && ! defined (__UCLIBC__) */
-/* It is best not to declare this and cast its result on foreign operating
-   systems with potentially hostile include files.  */
-
-extern void *__sbrk (ptrdiff_t increment);
-#endif /* __GNU_LIBRARY__ && ! defined (__UCLIBC__) */
-
-/* Allocate INCREMENT more bytes of data space,
-   and return the start of data space, or NULL on errors.
-   If INCREMENT is negative, shrink data space.  */
-void *
-__default_morecore (ptrdiff_t increment)
-{
-  void *result;
-#if defined (CYGWIN)
-  if (!DUMPED)
-    {
-      return bss_sbrk (increment);
-    }
-#endif
-  result = (void *) __sbrk (increment);
-  if (result == (void *) -1)
-    return NULL;
-  return result;
-}
-/* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public
-License along with this library.  If not, see <https://www.gnu.org/licenses/>.  */
-
-void *(*__memalign_hook) (size_t size, size_t alignment);
-
-void *
-aligned_alloc (size_t alignment, size_t size)
-{
-  void *result;
-  size_t adj, lastadj;
-  void *(*hook) (size_t, size_t) = __memalign_hook;
-
-  if (hook)
-    return (*hook) (alignment, size);
-
-  /* Allocate a block with enough extra space to pad the block with up to
-     (ALIGNMENT - 1) bytes if necessary.  */
-  if (- size < alignment)
-    {
-      errno = ENOMEM;
-      return NULL;
-    }
-  result = malloc (size + alignment - 1);
-  if (result == NULL)
-    return NULL;
-
-  /* Figure out how much we will need to pad this particular block
-     to achieve the required alignment.  */
-  adj = alignment - (uintptr_t) result % alignment;
-  if (adj == alignment)
-    adj = 0;
-
-  if (adj != alignment - 1)
-    {
-      do
-       {
-         /* Reallocate the block with only as much excess as it
-            needs.  */
-         free (result);
-         result = malloc (size + adj);
-         if (result == NULL)   /* Impossible unless interrupted.  */
-           return NULL;
-
-         lastadj = adj;
-         adj = alignment - (uintptr_t) result % alignment;
-         if (adj == alignment)
-           adj = 0;
-         /* It's conceivable we might have been so unlucky as to get
-            a different block with weaker alignment.  If so, this
-            block is too short to contain SIZE after alignment
-            correction.  So we must try again and get another block,
-            slightly larger.  */
-       } while (adj > lastadj);
-    }
-
-  if (adj != 0)
-    {
-      /* Record this block in the list of aligned blocks, so that `free'
-        can identify the pointer it is passed, which will be in the middle
-        of an allocated block.  */
-
-      struct alignlist *l;
-      LOCK_ALIGNED_BLOCKS ();
-      for (l = _aligned_blocks; l != NULL; l = l->next)
-       if (l->aligned == NULL)
-         /* This slot is free.  Use it.  */
-         break;
-      if (l == NULL)
-       {
-         l = malloc (sizeof *l);
-         if (l != NULL)
-           {
-             l->next = _aligned_blocks;
-             _aligned_blocks = l;
-           }
-       }
-      if (l != NULL)
-       {
-         l->exact = result;
-         result = l->aligned = (char *) result + adj;
-       }
-      UNLOCK_ALIGNED_BLOCKS ();
-      if (l == NULL)
-       {
-         free (result);
-         result = NULL;
-       }
-    }
-
-  return result;
-}
-
-/* An obsolete alias for aligned_alloc, for any old libraries that use
-   this alias.  */
-
-void *
-memalign (size_t alignment, size_t size)
-{
-  return aligned_alloc (alignment, size);
-}
-
-/* If HYBRID_MALLOC is defined, we may want to use the system
-   posix_memalign below.  */
-#ifndef HYBRID_MALLOC
-int
-posix_memalign (void **memptr, size_t alignment, size_t size)
-{
-  void *mem;
-
-  if (alignment == 0
-      || alignment % sizeof (void *) != 0
-      || (alignment & (alignment - 1)) != 0)
-    return EINVAL;
-
-  mem = aligned_alloc (alignment, size);
-  if (mem == NULL)
-    return ENOMEM;
-
-  *memptr = mem;
-
-  return 0;
-}
-#endif
-
-/* Allocate memory on a page boundary.
-   Copyright (C) 1991, 92, 93, 94, 96 Free Software Foundation, Inc.
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public
-License along with this library.  If not, see <https://www.gnu.org/licenses/>.
-
-   The author may be reached (Email) at the address mike@ai.mit.edu,
-   or (US mail) as Mike Haertel c/o Free Software Foundation.  */
-
-/* Allocate SIZE bytes on a page boundary.  */
-extern void *valloc (size_t);
-
-#if defined _SC_PAGESIZE || !defined HAVE_GETPAGESIZE
-# include "getpagesize.h"
-#elif !defined getpagesize
-extern int getpagesize (void);
-#endif
-
-static size_t pagesize;
-
-void *
-valloc (size_t size)
-{
-  if (pagesize == 0)
-    pagesize = getpagesize ();
-
-  return aligned_alloc (pagesize, size);
-}
-
-#ifdef HYBRID_MALLOC
-#undef malloc
-#undef realloc
-#undef calloc
-#undef aligned_alloc
-#undef free
-
-/* Declare system malloc and friends.  */
-extern void *malloc (size_t size);
-extern void *realloc (void *ptr, size_t size);
-extern void *calloc (size_t nmemb, size_t size);
-extern void free (void *ptr);
-#ifdef HAVE_ALIGNED_ALLOC
-extern void *aligned_alloc (size_t alignment, size_t size);
-#elif defined HAVE_POSIX_MEMALIGN
-extern int posix_memalign (void **memptr, size_t alignment, size_t size);
-#endif
-
-/* See the comments near the beginning of this file for explanations
-   of the following functions. */
-
-void *
-hybrid_malloc (size_t size)
-{
-  if (DUMPED)
-    return malloc (size);
-  return gmalloc (size);
-}
-
-void *
-hybrid_calloc (size_t nmemb, size_t size)
-{
-  if (DUMPED)
-    return calloc (nmemb, size);
-  return gcalloc (nmemb, size);
-}
-
-void
-hybrid_free (void *ptr)
-{
-  if (!DUMPED)
-    gfree (ptr);
-  else if (!ALLOCATED_BEFORE_DUMPING (ptr))
-    free (ptr);
-  /* Otherwise the dumped emacs is trying to free something allocated
-     before dumping; do nothing.  */
-  return;
-}
-
-#if defined HAVE_ALIGNED_ALLOC || defined HAVE_POSIX_MEMALIGN
-void *
-hybrid_aligned_alloc (size_t alignment, size_t size)
-{
-  if (!DUMPED)
-    return galigned_alloc (alignment, size);
-  /* The following is copied from alloc.c */
-#ifdef HAVE_ALIGNED_ALLOC
-  return aligned_alloc (alignment, size);
-#else  /* HAVE_POSIX_MEMALIGN */
-  void *p;
-  return posix_memalign (&p, alignment, size) == 0 ? p : 0;
-#endif
-}
-#endif
-
-void *
-hybrid_realloc (void *ptr, size_t size)
-{
-  void *result;
-  int type;
-  size_t block, oldsize;
-
-  if (!DUMPED)
-    return grealloc (ptr, size);
-  if (!ALLOCATED_BEFORE_DUMPING (ptr))
-    return realloc (ptr, size);
-
-  /* The dumped emacs is trying to realloc storage allocated before
-   dumping.  We just malloc new space and copy the data.  */
-  if (size == 0 || ptr == NULL)
-    return malloc (size);
-  block = ((char *) ptr - _heapbase) / BLOCKSIZE + 1;
-  type = _heapinfo[block].busy.type;
-  oldsize =
-    type == 0 ? _heapinfo[block].busy.info.size * BLOCKSIZE
-    : (size_t) 1 << type;
-  result = malloc (size);
-  if (result)
-    return memcpy (result, ptr, min (oldsize, size));
-  return result;
-}
-
-#ifdef HYBRID_GET_CURRENT_DIR_NAME
-/* Defined in sysdep.c.  */
-char *gget_current_dir_name (void);
-
-char *
-hybrid_get_current_dir_name (void)
-{
-  if (DUMPED)
-    return get_current_dir_name ();
-  return gget_current_dir_name ();
-}
-#endif
-
-#endif /* HYBRID_MALLOC */
-
-#ifdef GC_MCHECK
-
-/* Standard debugging hooks for `malloc'.
-   Copyright 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
-   Written May 1989 by Mike Haertel.
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public
-License along with this library.  If not, see <https://www.gnu.org/licenses/>.
-
-   The author may be reached (Email) at the address mike@ai.mit.edu,
-   or (US mail) as Mike Haertel c/o Free Software Foundation.  */
-
-#include <stdio.h>
-
-/* Old hook values.  */
-static void (*old_free_hook) (void *ptr);
-static void *(*old_malloc_hook) (size_t size);
-static void *(*old_realloc_hook) (void *ptr, size_t size);
-
-/* Function to call when something awful happens.  */
-static void (*abortfunc) (enum mcheck_status);
-
-/* Arbitrary magical numbers.  */
-#define MAGICWORD      (SIZE_MAX / 11 ^ SIZE_MAX / 13 << 3)
-#define MAGICFREE      (SIZE_MAX / 17 ^ SIZE_MAX / 19 << 4)
-#define MAGICBYTE      ((char) 0xd7)
-#define MALLOCFLOOD    ((char) 0x93)
-#define FREEFLOOD      ((char) 0x95)
-
-struct hdr
-  {
-    size_t size;       /* Exact size requested by user.  */
-    size_t magic;      /* Magic number to check header integrity.  */
-  };
-
-static enum mcheck_status
-checkhdr (const struct hdr *hdr)
-{
-  enum mcheck_status status;
-  switch (hdr->magic)
-    {
-    default:
-      status = MCHECK_HEAD;
-      break;
-    case MAGICFREE:
-      status = MCHECK_FREE;
-      break;
-    case MAGICWORD:
-      if (((char *) &hdr[1])[hdr->size] != MAGICBYTE)
-       status = MCHECK_TAIL;
-      else
-       status = MCHECK_OK;
-      break;
-    }
-  if (status != MCHECK_OK)
-    (*abortfunc) (status);
-  return status;
-}
-
-static void
-freehook (void *ptr)
-{
-  struct hdr *hdr;
-
-  if (ptr)
-    {
-      struct alignlist *l;
-
-      /* If the block was allocated by aligned_alloc, its real pointer
-        to free is recorded in _aligned_blocks; find that.  */
-      PROTECT_MALLOC_STATE (0);
-      LOCK_ALIGNED_BLOCKS ();
-      for (l = _aligned_blocks; l != NULL; l = l->next)
-       if (l->aligned == ptr)
-         {
-           l->aligned = NULL;  /* Mark the slot in the list as free.  */
-           ptr = l->exact;
-           break;
-         }
-      UNLOCK_ALIGNED_BLOCKS ();
-      PROTECT_MALLOC_STATE (1);
-
-      hdr = ((struct hdr *) ptr) - 1;
-      checkhdr (hdr);
-      hdr->magic = MAGICFREE;
-      memset (ptr, FREEFLOOD, hdr->size);
-    }
-  else
-    hdr = NULL;
-
-  __free_hook = old_free_hook;
-  free (hdr);
-  __free_hook = freehook;
-}
-
-static void *
-mallochook (size_t size)
-{
-  struct hdr *hdr;
-
-  __malloc_hook = old_malloc_hook;
-  hdr = malloc (sizeof *hdr + size + 1);
-  __malloc_hook = mallochook;
-  if (hdr == NULL)
-    return NULL;
-
-  hdr->size = size;
-  hdr->magic = MAGICWORD;
-  ((char *) &hdr[1])[size] = MAGICBYTE;
-  return memset (hdr + 1, MALLOCFLOOD, size);
-}
-
-static void *
-reallochook (void *ptr, size_t size)
-{
-  struct hdr *hdr = NULL;
-  size_t osize = 0;
-
-  if (ptr)
-    {
-      hdr = ((struct hdr *) ptr) - 1;
-      osize = hdr->size;
-
-      checkhdr (hdr);
-      if (size < osize)
-       memset ((char *) ptr + size, FREEFLOOD, osize - size);
-    }
-
-  __free_hook = old_free_hook;
-  __malloc_hook = old_malloc_hook;
-  __realloc_hook = old_realloc_hook;
-  hdr = realloc (hdr, sizeof *hdr + size + 1);
-  __free_hook = freehook;
-  __malloc_hook = mallochook;
-  __realloc_hook = reallochook;
-  if (hdr == NULL)
-    return NULL;
-
-  hdr->size = size;
-  hdr->magic = MAGICWORD;
-  ((char *) &hdr[1])[size] = MAGICBYTE;
-  if (size > osize)
-    memset ((char *) (hdr + 1) + osize, MALLOCFLOOD, size - osize);
-  return hdr + 1;
-}
-
-static void
-mabort (enum mcheck_status status)
-{
-  const char *msg;
-  switch (status)
-    {
-    case MCHECK_OK:
-      msg = "memory is consistent, library is buggy";
-      break;
-    case MCHECK_HEAD:
-      msg = "memory clobbered before allocated block";
-      break;
-    case MCHECK_TAIL:
-      msg = "memory clobbered past end of allocated block";
-      break;
-    case MCHECK_FREE:
-      msg = "block freed twice";
-      break;
-    default:
-      msg = "bogus mcheck_status, library is buggy";
-      break;
-    }
-#ifdef __GNU_LIBRARY__
-  __libc_fatal (msg);
-#else
-  fprintf (stderr, "mcheck: %s\n", msg);
-  fflush (stderr);
-# ifdef emacs
-  emacs_abort ();
-# else
-  abort ();
-# endif
-#endif
-}
-
-static int mcheck_used = 0;
-
-int
-mcheck (void (*func) (enum mcheck_status))
-{
-  abortfunc = (func != NULL) ? func : &mabort;
-
-  /* These hooks may not be safely inserted if malloc is already in use.  */
-  if (!__malloc_initialized && !mcheck_used)
-    {
-      old_free_hook = __free_hook;
-      __free_hook = freehook;
-      old_malloc_hook = __malloc_hook;
-      __malloc_hook = mallochook;
-      old_realloc_hook = __realloc_hook;
-      __realloc_hook = reallochook;
-      mcheck_used = 1;
-    }
-
-  return mcheck_used ? 0 : -1;
-}
-
-enum mcheck_status
-mprobe (void *ptr)
-{
-  return mcheck_used ? checkhdr (ptr) : MCHECK_DISABLED;
-}
-
-#endif /* GC_MCHECK */
diff --git a/test/manual/etags/c-src/emacs/src/keyboard.c b/test/manual/etags/c-src/emacs/src/keyboard.c
deleted file mode 100644 (file)
index b27f989..0000000
+++ /dev/null
@@ -1,11960 +0,0 @@
-/* Keyboard and mouse input; editor command loop.
-
-Copyright (C) 1985-1989, 1993-1997, 1999-2024 Free Software Foundation,
-Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or (at
-your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#include "sysstdio.h"
-#include <sys/stat.h>
-
-#include "lisp.h"
-#include "termchar.h"
-#include "termopts.h"
-#include "frame.h"
-#include "termhooks.h"
-#include "macros.h"
-#include "keyboard.h"
-#include "window.h"
-#include "commands.h"
-#include "character.h"
-#include "buffer.h"
-#include "disptab.h"
-#include "dispextern.h"
-#include "syntax.h"
-#include "intervals.h"
-#include "keymap.h"
-#include "blockinput.h"
-#include "puresize.h"
-#include "systime.h"
-#include "atimer.h"
-#include "process.h"
-#include <errno.h>
-
-#ifdef HAVE_PTHREAD
-#include <pthread.h>
-#endif
-#ifdef MSDOS
-#include "msdos.h"
-#include <time.h>
-#else /* not MSDOS */
-#include <sys/ioctl.h>
-#endif /* not MSDOS */
-
-#if defined USABLE_FIONREAD && defined USG5_4
-# include <sys/filio.h>
-#endif
-
-#include "syssignal.h"
-
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-
-#ifdef HAVE_WINDOW_SYSTEM
-#include TERM_HEADER
-#endif /* HAVE_WINDOW_SYSTEM */
-
-/* Variables for blockinput.h:  */
-
-/* Positive if interrupt input is blocked right now.  */
-volatile int interrupt_input_blocked;
-
-/* True means an input interrupt or alarm signal has arrived.
-   The QUIT macro checks this.  */
-volatile bool pending_signals;
-
-#define KBD_BUFFER_SIZE 4096
-
-KBOARD *initial_kboard;
-KBOARD *current_kboard;
-static KBOARD *all_kboards;
-
-/* True in the single-kboard state, false in the any-kboard state.  */
-static bool single_kboard;
-
-#define NUM_RECENT_KEYS (300)
-
-/* Index for storing next element into recent_keys.  */
-static int recent_keys_index;
-
-/* Total number of elements stored into recent_keys.  */
-static int total_keys;
-
-/* This vector holds the last NUM_RECENT_KEYS keystrokes.  */
-static Lisp_Object recent_keys;
-
-/* Vector holding the key sequence that invoked the current command.
-   It is reused for each command, and it may be longer than the current
-   sequence; this_command_key_count indicates how many elements
-   actually mean something.
-   It's easier to staticpro a single Lisp_Object than an array.  */
-Lisp_Object this_command_keys;
-ptrdiff_t this_command_key_count;
-
-/* True after calling Freset_this_command_lengths.
-   Usually it is false.  */
-static bool this_command_key_count_reset;
-
-/* This vector is used as a buffer to record the events that were actually read
-   by read_key_sequence.  */
-static Lisp_Object raw_keybuf;
-static int raw_keybuf_count;
-
-#define GROW_RAW_KEYBUF                                                        \
- if (raw_keybuf_count == ASIZE (raw_keybuf))                           \
-   raw_keybuf = larger_vector (raw_keybuf, 1, -1)
-
-/* Number of elements of this_command_keys
-   that precede this key sequence.  */
-static ptrdiff_t this_single_command_key_start;
-
-/* Record values of this_command_key_count and echo_length ()
-   before this command was read.  */
-static ptrdiff_t before_command_key_count;
-static ptrdiff_t before_command_echo_length;
-
-#ifdef HAVE_STACK_OVERFLOW_HANDLING
-
-/* For longjmp to recover from C stack overflow.  */
-sigjmp_buf return_to_command_loop;
-
-/* Message displayed by Vtop_level when recovering from C stack overflow.  */
-static Lisp_Object recover_top_level_message;
-
-#endif /* HAVE_STACK_OVERFLOW_HANDLING */
-
-/* Message normally displayed by Vtop_level.  */
-static Lisp_Object regular_top_level_message;
-
-/* For longjmp to where kbd input is being done.  */
-
-static sys_jmp_buf getcjmp;
-
-/* True while doing kbd input.  */
-bool waiting_for_input;
-
-/* True while displaying for echoing.   Delays C-g throwing.  */
-
-static bool echoing;
-
-/* Non-null means we can start echoing at the next input pause even
-   though there is something in the echo area.  */
-
-static struct kboard *ok_to_echo_at_next_pause;
-
-/* The kboard last echoing, or null for none.  Reset to 0 in
-   cancel_echoing.  If non-null, and a current echo area message
-   exists, and echo_message_buffer is eq to the current message
-   buffer, we know that the message comes from echo_kboard.  */
-
-struct kboard *echo_kboard;
-
-/* The buffer used for echoing.  Set in echo_now, reset in
-   cancel_echoing.  */
-
-Lisp_Object echo_message_buffer;
-
-/* True means C-g should cause immediate error-signal.  */
-bool immediate_quit;
-
-/* Character that causes a quit.  Normally C-g.
-
-   If we are running on an ordinary terminal, this must be an ordinary
-   ASCII char, since we want to make it our interrupt character.
-
-   If we are not running on an ordinary terminal, it still needs to be
-   an ordinary ASCII char.  This character needs to be recognized in
-   the input interrupt handler.  At this point, the keystroke is
-   represented as a struct input_event, while the desired quit
-   character is specified as a lispy event.  The mapping from struct
-   input_events to lispy events cannot run in an interrupt handler,
-   and the reverse mapping is difficult for anything but ASCII
-   keystrokes.
-
-   FOR THESE ELABORATE AND UNSATISFYING REASONS, quit_char must be an
-   ASCII character.  */
-int quit_char;
-
-/* Current depth in recursive edits.  */
-EMACS_INT command_loop_level;
-
-/* If not Qnil, this is a switch-frame event which we decided to put
-   off until the end of a key sequence.  This should be read as the
-   next command input, after any unread_command_events.
-
-   read_key_sequence uses this to delay switch-frame events until the
-   end of the key sequence; Fread_char uses it to put off switch-frame
-   events until a non-ASCII event is acceptable as input.  */
-Lisp_Object unread_switch_frame;
-
-/* Last size recorded for a current buffer which is not a minibuffer.  */
-static ptrdiff_t last_non_minibuf_size;
-
-/* Total number of times read_char has returned, modulo UINTMAX_MAX + 1.  */
-uintmax_t num_input_events;
-
-/* Value of num_nonmacro_input_events as of last auto save.  */
-
-static EMACS_INT last_auto_save;
-
-/* The value of point when the last command was started.  */
-static ptrdiff_t last_point_position;
-
-/* The frame in which the last input event occurred, or Qmacro if the
-   last event came from a macro.  We use this to determine when to
-   generate switch-frame events.  This may be cleared by functions
-   like Fselect_frame, to make sure that a switch-frame event is
-   generated by the next character.
-
-   FIXME: This is modified by a signal handler so it should be volatile.
-   It's exported to Lisp, though, so it can't simply be marked
-   'volatile' here.  */
-Lisp_Object internal_last_event_frame;
-
-/* `read_key_sequence' stores here the command definition of the
-   key sequence that it reads.  */
-static Lisp_Object read_key_sequence_cmd;
-static Lisp_Object read_key_sequence_remapped;
-
-/* File in which we write all commands we read.  */
-static FILE *dribble;
-
-/* True if input is available.  */
-bool input_pending;
-
-/* True if more input was available last time we read an event.
-
-   Since redisplay can take a significant amount of time and is not
-   indispensable to perform the user's commands, when input arrives
-   "too fast", Emacs skips redisplay.  More specifically, if the next
-   command has already been input when we finish the previous command,
-   we skip the intermediate redisplay.
-
-   This is useful to try and make sure Emacs keeps up with fast input
-   rates, such as auto-repeating keys.  But in some cases, this proves
-   too conservative: we may end up disabling redisplay for the whole
-   duration of a key repetition, even though we could afford to
-   redisplay every once in a while.
-
-   So we "sample" the input_pending flag before running a command and
-   use *that* value after running the command to decide whether to
-   skip redisplay or not.  This way, we only skip redisplay if we
-   really can't keep up with the repeat rate.
-
-   This only makes a difference if the next input arrives while running the
-   command, which is very unlikely if the command is executed quickly.
-   IOW this tends to avoid skipping redisplay after a long running command
-   (which is a case where skipping redisplay is not very useful since the
-   redisplay time is small compared to the time it took to run the command).
-
-   A typical use case is when scrolling.  Scrolling time can be split into:
-   - Time to do jit-lock on the newly displayed portion of buffer.
-   - Time to run the actual scroll command.
-   - Time to perform the redisplay.
-   Jit-lock can happen either during the command or during the redisplay.
-   In the most painful cases, the jit-lock time is the one that dominates.
-   Also jit-lock can be tweaked (via jit-lock-defer) to delay its job, at the
-   cost of temporary inaccuracy in display and scrolling.
-   So without input_was_pending, what typically happens is the following:
-   - when the command starts, there's no pending input (yet).
-   - the scroll command triggers jit-lock.
-   - during the long jit-lock time the next input arrives.
-   - at the end of the command, we check input_pending and hence decide to
-     skip redisplay.
-   - we read the next input and start over.
-   End result: all the hard work of jit-locking is "wasted" since redisplay
-   doesn't actually happens (at least not before the input rate slows down).
-   With input_was_pending redisplay is still skipped if Emacs can't keep up
-   with the input rate, but if it can keep up just enough that there's no
-   input_pending when we begin the command, then redisplay is not skipped
-   which results in better feedback to the user.  */
-static bool input_was_pending;
-
-/* Circular buffer for pre-read keyboard input.  */
-
-static struct input_event kbd_buffer[KBD_BUFFER_SIZE];
-
-/* Pointer to next available character in kbd_buffer.
-   If kbd_fetch_ptr == kbd_store_ptr, the buffer is empty.
-   This may be kbd_buffer + KBD_BUFFER_SIZE, meaning that the
-   next available char is in kbd_buffer[0].  */
-static struct input_event *kbd_fetch_ptr;
-
-/* Pointer to next place to store character in kbd_buffer.  This
-   may be kbd_buffer + KBD_BUFFER_SIZE, meaning that the next
-   character should go in kbd_buffer[0].  */
-static struct input_event * volatile kbd_store_ptr;
-
-/* The above pair of variables forms a "queue empty" flag.  When we
-   enqueue a non-hook event, we increment kbd_store_ptr.  When we
-   dequeue a non-hook event, we increment kbd_fetch_ptr.  We say that
-   there is input available if the two pointers are not equal.
-
-   Why not just have a flag set and cleared by the enqueuing and
-   dequeuing functions?  Such a flag could be screwed up by interrupts
-   at inopportune times.  */
-
-static void recursive_edit_unwind (Lisp_Object buffer);
-static Lisp_Object command_loop (void);
-
-static void echo_now (void);
-static ptrdiff_t echo_length (void);
-
-/* Incremented whenever a timer is run.  */
-unsigned timers_run;
-
-/* Address (if not 0) of struct timespec to zero out if a SIGIO interrupt
-   happens.  */
-struct timespec *input_available_clear_time;
-
-/* True means use SIGIO interrupts; false means use CBREAK mode.
-   Default is true if INTERRUPT_INPUT is defined.  */
-bool interrupt_input;
-
-/* Nonzero while interrupts are temporarily deferred during redisplay.  */
-bool interrupts_deferred;
-
-/* The time when Emacs started being idle.  */
-
-static struct timespec timer_idleness_start_time;
-
-/* After Emacs stops being idle, this saves the last value
-   of timer_idleness_start_time from when it was idle.  */
-
-static struct timespec timer_last_idleness_start_time;
-
-\f
-/* Global variable declarations.  */
-
-/* Flags for readable_events.  */
-#define READABLE_EVENTS_DO_TIMERS_NOW          (1 << 0)
-#define READABLE_EVENTS_FILTER_EVENTS          (1 << 1)
-#define READABLE_EVENTS_IGNORE_SQUEEZABLES     (1 << 2)
-
-/* Function for init_keyboard to call with no args (if nonzero).  */
-static void (*keyboard_init_hook) (void);
-
-static bool get_input_pending (int);
-static bool readable_events (int);
-static Lisp_Object read_char_x_menu_prompt (Lisp_Object,
-                                            Lisp_Object, bool *);
-static Lisp_Object read_char_minibuf_menu_prompt (int, Lisp_Object);
-static Lisp_Object make_lispy_event (struct input_event *);
-static Lisp_Object make_lispy_movement (struct frame *, Lisp_Object,
-                                        enum scroll_bar_part,
-                                        Lisp_Object, Lisp_Object,
-                                       Time);
-static Lisp_Object modify_event_symbol (ptrdiff_t, int, Lisp_Object,
-                                        Lisp_Object, const char *const *,
-                                        Lisp_Object *, ptrdiff_t);
-static Lisp_Object make_lispy_switch_frame (Lisp_Object);
-static Lisp_Object make_lispy_focus_in (Lisp_Object);
-#ifdef HAVE_WINDOW_SYSTEM
-static Lisp_Object make_lispy_focus_out (Lisp_Object);
-#endif /* HAVE_WINDOW_SYSTEM */
-static bool help_char_p (Lisp_Object);
-static void save_getcjmp (sys_jmp_buf);
-static void restore_getcjmp (sys_jmp_buf);
-static Lisp_Object apply_modifiers (int, Lisp_Object);
-static void clear_event (struct input_event *);
-static void restore_kboard_configuration (int);
-#ifdef USABLE_SIGIO
-static void deliver_input_available_signal (int signo);
-#endif
-static void handle_interrupt (bool);
-static _Noreturn void quit_throw_to_read_char (bool);
-static void process_special_events (void);
-static void timer_start_idle (void);
-static void timer_stop_idle (void);
-static void timer_resume_idle (void);
-static void deliver_user_signal (int);
-static char *find_user_signal_name (int);
-static void store_user_signal_events (void);
-
-/* These setters are used only in this file, so they can be private.  */
-static void
-kset_echo_string (struct kboard *kb, Lisp_Object val)
-{
-  kb->echo_string_ = val;
-}
-static void
-kset_kbd_queue (struct kboard *kb, Lisp_Object val)
-{
-  kb->kbd_queue_ = val;
-}
-static void
-kset_keyboard_translate_table (struct kboard *kb, Lisp_Object val)
-{
-  kb->Vkeyboard_translate_table_ = val;
-}
-static void
-kset_last_prefix_arg (struct kboard *kb, Lisp_Object val)
-{
-  kb->Vlast_prefix_arg_ = val;
-}
-static void
-kset_last_repeatable_command (struct kboard *kb, Lisp_Object val)
-{
-  kb->Vlast_repeatable_command_ = val;
-}
-static void
-kset_local_function_key_map (struct kboard *kb, Lisp_Object val)
-{
-  kb->Vlocal_function_key_map_ = val;
-}
-static void
-kset_overriding_terminal_local_map (struct kboard *kb, Lisp_Object val)
-{
-  kb->Voverriding_terminal_local_map_ = val;
-}
-static void
-kset_real_last_command (struct kboard *kb, Lisp_Object val)
-{
-  kb->Vreal_last_command_ = val;
-}
-static void
-kset_system_key_syms (struct kboard *kb, Lisp_Object val)
-{
-  kb->system_key_syms_ = val;
-}
-
-\f
-/* Add C to the echo string, without echoing it immediately.  C can be
-   a character, which is pretty-printed, or a symbol, whose name is
-   printed.  */
-
-static void
-echo_add_key (Lisp_Object c)
-{
-  char initbuf[KEY_DESCRIPTION_SIZE + 100];
-  ptrdiff_t size = sizeof initbuf;
-  char *buffer = initbuf;
-  char *ptr = buffer;
-  Lisp_Object echo_string;
-  USE_SAFE_ALLOCA;
-
-  echo_string = KVAR (current_kboard, echo_string);
-
-  /* If someone has passed us a composite event, use its head symbol.  */
-  c = EVENT_HEAD (c);
-
-  if (INTEGERP (c))
-    ptr = push_key_description (XINT (c), ptr);
-  else if (SYMBOLP (c))
-    {
-      Lisp_Object name = SYMBOL_NAME (c);
-      ptrdiff_t nbytes = SBYTES (name);
-
-      if (size - (ptr - buffer) < nbytes)
-       {
-         ptrdiff_t offset = ptr - buffer;
-         size = max (2 * size, size + nbytes);
-         buffer = SAFE_ALLOCA (size);
-         ptr = buffer + offset;
-       }
-
-      ptr += copy_text (SDATA (name), (unsigned char *) ptr, nbytes,
-                       STRING_MULTIBYTE (name), 1);
-    }
-
-  if ((NILP (echo_string) || SCHARS (echo_string) == 0)
-      && help_char_p (c))
-    {
-      static const char text[] = " (Type ? for further options)";
-      int len = sizeof text - 1;
-
-      if (size - (ptr - buffer) < len)
-       {
-         ptrdiff_t offset = ptr - buffer;
-         size += len;
-         buffer = SAFE_ALLOCA (size);
-         ptr = buffer + offset;
-       }
-
-      memcpy (ptr, text, len);
-      ptr += len;
-    }
-
-  /* Replace a dash from echo_dash with a space, otherwise add a space
-     at the end as a separator between keys.  */
-  AUTO_STRING (space, " ");
-  if (STRINGP (echo_string) && SCHARS (echo_string) > 1)
-    {
-      Lisp_Object last_char, prev_char, idx;
-
-      idx = make_number (SCHARS (echo_string) - 2);
-      prev_char = Faref (echo_string, idx);
-
-      idx = make_number (SCHARS (echo_string) - 1);
-      last_char = Faref (echo_string, idx);
-
-      /* We test PREV_CHAR to make sure this isn't the echoing of a
-        minus-sign.  */
-      if (XINT (last_char) == '-' && XINT (prev_char) != ' ')
-       Faset (echo_string, idx, make_number (' '));
-      else
-       echo_string = concat2 (echo_string, space);
-    }
-  else if (STRINGP (echo_string) && SCHARS (echo_string) > 0)
-    echo_string = concat2 (echo_string, space);
-
-  kset_echo_string
-    (current_kboard,
-     concat2 (echo_string, make_string (buffer, ptr - buffer)));
-  SAFE_FREE ();
-}
-
-/* Add C to the echo string, if echoing is going on.  C can be a
-   character or a symbol.  */
-
-static void
-echo_char (Lisp_Object c)
-{
-  if (current_kboard->immediate_echo)
-    {
-      echo_add_key (c);
-      echo_now ();
-    }
-}
-
-/* Temporarily add a dash to the end of the echo string if it's not
-   empty, so that it serves as a mini-prompt for the very next
-   character.  */
-
-static void
-echo_dash (void)
-{
-  /* Do nothing if not echoing at all.  */
-  if (NILP (KVAR (current_kboard, echo_string)))
-    return;
-
-  if (this_command_key_count == 0)
-    return;
-
-  if (!current_kboard->immediate_echo
-      && SCHARS (KVAR (current_kboard, echo_string)) == 0)
-    return;
-
-  /* Do nothing if we just printed a prompt.  */
-  if (current_kboard->echo_after_prompt
-      == SCHARS (KVAR (current_kboard, echo_string)))
-    return;
-
-  /* Do nothing if we have already put a dash at the end.  */
-  if (SCHARS (KVAR (current_kboard, echo_string)) > 1)
-    {
-      Lisp_Object last_char, prev_char, idx;
-
-      idx = make_number (SCHARS (KVAR (current_kboard, echo_string)) - 2);
-      prev_char = Faref (KVAR (current_kboard, echo_string), idx);
-
-      idx = make_number (SCHARS (KVAR (current_kboard, echo_string)) - 1);
-      last_char = Faref (KVAR (current_kboard, echo_string), idx);
-
-      if (XINT (last_char) == '-' && XINT (prev_char) != ' ')
-       return;
-    }
-
-  /* Put a dash at the end of the buffer temporarily,
-     but make it go away when the next character is added.  */
-  AUTO_STRING (dash, "-");
-  kset_echo_string (current_kboard,
-                   concat2 (KVAR (current_kboard, echo_string), dash));
-  echo_now ();
-}
-
-/* Display the current echo string, and begin echoing if not already
-   doing so.  */
-
-static void
-echo_now (void)
-{
-  if (!current_kboard->immediate_echo)
-    {
-      ptrdiff_t i;
-      current_kboard->immediate_echo = 1;
-
-      for (i = 0; i < this_command_key_count; i++)
-       {
-         Lisp_Object c;
-
-         /* Set before_command_echo_length to the value that would
-            have been saved before the start of this subcommand in
-            command_loop_1, if we had already been echoing then.  */
-         if (i == this_single_command_key_start)
-           before_command_echo_length = echo_length ();
-
-         c = AREF (this_command_keys, i);
-         if (! (EVENT_HAS_PARAMETERS (c)
-                && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qmouse_movement)))
-           echo_char (c);
-       }
-
-      /* Set before_command_echo_length to the value that would
-        have been saved before the start of this subcommand in
-        command_loop_1, if we had already been echoing then.  */
-      if (this_command_key_count == this_single_command_key_start)
-       before_command_echo_length = echo_length ();
-
-      /* Put a dash at the end to invite the user to type more.  */
-      echo_dash ();
-    }
-
-  echoing = 1;
-  /* FIXME: Use call (Qmessage) so it can be advised (e.g. emacspeak).  */
-  message3_nolog (KVAR (current_kboard, echo_string));
-  echoing = 0;
-
-  /* Record in what buffer we echoed, and from which kboard.  */
-  echo_message_buffer = echo_area_buffer[0];
-  echo_kboard = current_kboard;
-
-  if (waiting_for_input && !NILP (Vquit_flag))
-    quit_throw_to_read_char (0);
-}
-
-/* Turn off echoing, for the start of a new command.  */
-
-void
-cancel_echoing (void)
-{
-  current_kboard->immediate_echo = 0;
-  current_kboard->echo_after_prompt = -1;
-  kset_echo_string (current_kboard, Qnil);
-  ok_to_echo_at_next_pause = NULL;
-  echo_kboard = NULL;
-  echo_message_buffer = Qnil;
-}
-
-/* Return the length of the current echo string.  */
-
-static ptrdiff_t
-echo_length (void)
-{
-  return (STRINGP (KVAR (current_kboard, echo_string))
-         ? SCHARS (KVAR (current_kboard, echo_string))
-         : 0);
-}
-
-/* Truncate the current echo message to its first LEN chars.
-   This and echo_char get used by read_key_sequence when the user
-   switches frames while entering a key sequence.  */
-
-static void
-echo_truncate (ptrdiff_t nchars)
-{
-  if (STRINGP (KVAR (current_kboard, echo_string)))
-    kset_echo_string (current_kboard,
-                     Fsubstring (KVAR (current_kboard, echo_string),
-                                 make_number (0), make_number (nchars)));
-  truncate_echo_area (nchars);
-}
-
-\f
-/* Functions for manipulating this_command_keys.  */
-static void
-add_command_key (Lisp_Object key)
-{
-#if 0 /* Not needed after we made Freset_this_command_lengths
-        do the job immediately.  */
-  /* If reset-this-command-length was called recently, obey it now.
-     See the doc string of that function for an explanation of why.  */
-  if (before_command_restore_flag)
-    {
-      this_command_key_count = before_command_key_count_1;
-      if (this_command_key_count < this_single_command_key_start)
-       this_single_command_key_start = this_command_key_count;
-      echo_truncate (before_command_echo_length_1);
-      before_command_restore_flag = 0;
-    }
-#endif
-
-  if (this_command_key_count >= ASIZE (this_command_keys))
-    this_command_keys = larger_vector (this_command_keys, 1, -1);
-
-  ASET (this_command_keys, this_command_key_count, key);
-  ++this_command_key_count;
-}
-
-\f
-Lisp_Object
-recursive_edit_1 (void)
-{
-  ptrdiff_t count = SPECPDL_INDEX ();
-  Lisp_Object val;
-
-  if (command_loop_level > 0)
-    {
-      specbind (Qstandard_output, Qt);
-      specbind (Qstandard_input, Qt);
-    }
-
-#ifdef HAVE_WINDOW_SYSTEM
-  /* The command loop has started an hourglass timer, so we have to
-     cancel it here, otherwise it will fire because the recursive edit
-     can take some time.  Do not check for display_hourglass_p here,
-     because it could already be nil.  */
-    cancel_hourglass ();
-#endif
-
-  /* This function may have been called from a debugger called from
-     within redisplay, for instance by Edebugging a function called
-     from fontification-functions.  We want to allow redisplay in
-     the debugging session.
-
-     The recursive edit is left with a `(throw exit ...)'.  The `exit'
-     tag is not caught anywhere in redisplay, i.e. when we leave the
-     recursive edit, the original redisplay leading to the recursive
-     edit will be unwound.  The outcome should therefore be safe.  */
-  specbind (Qinhibit_redisplay, Qnil);
-  redisplaying_p = 0;
-
-  val = command_loop ();
-  if (EQ (val, Qt))
-    Fsignal (Qquit, Qnil);
-  /* Handle throw from read_minibuf when using minibuffer
-     while it's active but we're in another window.  */
-  if (STRINGP (val))
-    xsignal1 (Qerror, val);
-
-  return unbind_to (count, Qnil);
-}
-
-/* When an auto-save happens, record the "time", and don't do again soon.  */
-
-void
-record_auto_save (void)
-{
-  last_auto_save = num_nonmacro_input_events;
-}
-
-/* Make an auto save happen as soon as possible at command level.  */
-
-#ifdef SIGDANGER
-void
-force_auto_save_soon (void)
-{
-  last_auto_save = - auto_save_interval - 1;
-
-  record_asynch_buffer_change ();
-}
-#endif
-\f
-DEFUN ("recursive-edit", Frecursive_edit, Srecursive_edit, 0, 0, "",
-       doc: /* Invoke the editor command loop recursively.
-To get out of the recursive edit, a command can throw to `exit' -- for
-instance `(throw \\='exit nil)'.
-If you throw a value other than t, `recursive-edit' returns normally
-to the function that called it.  Throwing a t value causes
-`recursive-edit' to quit, so that control returns to the command loop
-one level up.
-
-This function is called by the editor initialization to begin editing.  */)
-  (void)
-{
-  ptrdiff_t count = SPECPDL_INDEX ();
-  Lisp_Object buffer;
-
-  /* If we enter while input is blocked, don't lock up here.
-     This may happen through the debugger during redisplay.  */
-  if (input_blocked_p ())
-    return Qnil;
-
-  if (command_loop_level >= 0
-      && current_buffer != XBUFFER (XWINDOW (selected_window)->contents))
-    buffer = Fcurrent_buffer ();
-  else
-    buffer = Qnil;
-
-  /* Don't do anything interesting between the increment and the
-     record_unwind_protect!  Otherwise, we could get distracted and
-     never decrement the counter again.  */
-  command_loop_level++;
-  update_mode_lines = 17;
-  record_unwind_protect (recursive_edit_unwind, buffer);
-
-  /* If we leave recursive_edit_1 below with a `throw' for instance,
-     like it is done in the splash screen display, we have to
-     make sure that we restore single_kboard as command_loop_1
-     would have done if it were left normally.  */
-  if (command_loop_level > 0)
-    temporarily_switch_to_single_kboard (SELECTED_FRAME ());
-
-  recursive_edit_1 ();
-  return unbind_to (count, Qnil);
-}
-
-void
-recursive_edit_unwind (Lisp_Object buffer)
-{
-  if (BUFFERP (buffer))
-    Fset_buffer (buffer);
-
-  command_loop_level--;
-  update_mode_lines = 18;
-}
-
-\f
-#if 0  /* These two functions are now replaced with
-          temporarily_switch_to_single_kboard.  */
-static void
-any_kboard_state ()
-{
-#if 0 /* Theory: if there's anything in Vunread_command_events,
-        it will right away be read by read_key_sequence,
-        and then if we do switch KBOARDS, it will go into the side
-        queue then.  So we don't need to do anything special here -- rms.  */
-  if (CONSP (Vunread_command_events))
-    {
-      current_kboard->kbd_queue
-       = nconc2 (Vunread_command_events, current_kboard->kbd_queue);
-      current_kboard->kbd_queue_has_data = 1;
-    }
-  Vunread_command_events = Qnil;
-#endif
-  single_kboard = 0;
-}
-
-/* Switch to the single-kboard state, making current_kboard
-   the only KBOARD from which further input is accepted.  */
-
-void
-single_kboard_state ()
-{
-  single_kboard = 1;
-}
-#endif
-
-/* If we're in single_kboard state for kboard KBOARD,
-   get out of it.  */
-
-void
-not_single_kboard_state (KBOARD *kboard)
-{
-  if (kboard == current_kboard)
-    single_kboard = 0;
-}
-
-/* Maintain a stack of kboards, so other parts of Emacs
-   can switch temporarily to the kboard of a given frame
-   and then revert to the previous status.  */
-
-struct kboard_stack
-{
-  KBOARD *kboard;
-  struct kboard_stack *next;
-};
-
-static struct kboard_stack *kboard_stack;
-
-void
-push_kboard (struct kboard *k)
-{
-  struct kboard_stack *p = xmalloc (sizeof *p);
-
-  p->next = kboard_stack;
-  p->kboard = current_kboard;
-  kboard_stack = p;
-
-  current_kboard = k;
-}
-
-void
-pop_kboard (void)
-{
-  struct terminal *t;
-  struct kboard_stack *p = kboard_stack;
-  bool found = 0;
-  for (t = terminal_list; t; t = t->next_terminal)
-    {
-      if (t->kboard == p->kboard)
-        {
-          current_kboard = p->kboard;
-          found = 1;
-          break;
-        }
-    }
-  if (!found)
-    {
-      /* The terminal we remembered has been deleted.  */
-      current_kboard = FRAME_KBOARD (SELECTED_FRAME ());
-      single_kboard = 0;
-    }
-  kboard_stack = p->next;
-  xfree (p);
-}
-
-/* Switch to single_kboard mode, making current_kboard the only KBOARD
-  from which further input is accepted.  If F is non-nil, set its
-  KBOARD as the current keyboard.
-
-  This function uses record_unwind_protect_int to return to the previous
-  state later.
-
-  If Emacs is already in single_kboard mode, and F's keyboard is
-  locked, then this function will throw an error.  */
-
-void
-temporarily_switch_to_single_kboard (struct frame *f)
-{
-  bool was_locked = single_kboard;
-  if (was_locked)
-    {
-      if (f != NULL && FRAME_KBOARD (f) != current_kboard)
-        /* We can not switch keyboards while in single_kboard mode.
-           In rare cases, Lisp code may call `recursive-edit' (or
-           `read-minibuffer' or `y-or-n-p') after it switched to a
-           locked frame.  For example, this is likely to happen
-           when server.el connects to a new terminal while Emacs is in
-           single_kboard mode.  It is best to throw an error instead
-           of presenting the user with a frozen screen.  */
-        error ("Terminal %d is locked, cannot read from it",
-               FRAME_TERMINAL (f)->id);
-      else
-        /* This call is unnecessary, but helps
-           `restore_kboard_configuration' discover if somebody changed
-           `current_kboard' behind our back.  */
-        push_kboard (current_kboard);
-    }
-  else if (f != NULL)
-    current_kboard = FRAME_KBOARD (f);
-  single_kboard = 1;
-  record_unwind_protect_int (restore_kboard_configuration, was_locked);
-}
-
-#if 0 /* This function is not needed anymore.  */
-void
-record_single_kboard_state ()
-{
-  if (single_kboard)
-    push_kboard (current_kboard);
-  record_unwind_protect_int (restore_kboard_configuration, single_kboard);
-}
-#endif
-
-static void
-restore_kboard_configuration (int was_locked)
-{
-  single_kboard = was_locked;
-  if (was_locked)
-    {
-      struct kboard *prev = current_kboard;
-      pop_kboard ();
-      /* The pop should not change the kboard.  */
-      if (single_kboard && current_kboard != prev)
-        emacs_abort ();
-    }
-}
-
-\f
-/* Handle errors that are not handled at inner levels
-   by printing an error message and returning to the editor command loop.  */
-
-static Lisp_Object
-cmd_error (Lisp_Object data)
-{
-  Lisp_Object old_level, old_length;
-  char macroerror[sizeof "After..kbd macro iterations: "
-                 + INT_STRLEN_BOUND (EMACS_INT)];
-
-#ifdef HAVE_WINDOW_SYSTEM
-  if (display_hourglass_p)
-    cancel_hourglass ();
-#endif
-
-  if (!NILP (executing_kbd_macro))
-    {
-      if (executing_kbd_macro_iterations == 1)
-       sprintf (macroerror, "After 1 kbd macro iteration: ");
-      else
-       sprintf (macroerror, "After %"pI"d kbd macro iterations: ",
-                executing_kbd_macro_iterations);
-    }
-  else
-    *macroerror = 0;
-
-  Vstandard_output = Qt;
-  Vstandard_input = Qt;
-  Vexecuting_kbd_macro = Qnil;
-  executing_kbd_macro = Qnil;
-  kset_prefix_arg (current_kboard, Qnil);
-  kset_last_prefix_arg (current_kboard, Qnil);
-  cancel_echoing ();
-
-  /* Avoid unquittable loop if data contains a circular list.  */
-  old_level = Vprint_level;
-  old_length = Vprint_length;
-  XSETFASTINT (Vprint_level, 10);
-  XSETFASTINT (Vprint_length, 10);
-  cmd_error_internal (data, macroerror);
-  Vprint_level = old_level;
-  Vprint_length = old_length;
-
-  Vquit_flag = Qnil;
-  Vinhibit_quit = Qnil;
-
-  return make_number (0);
-}
-
-/* Take actions on handling an error.  DATA is the data that describes
-   the error.
-
-   CONTEXT is a C-string containing ASCII characters only which
-   describes the context in which the error happened.  If we need to
-   generalize CONTEXT to allow multibyte characters, make it a Lisp
-   string.  */
-
-void
-cmd_error_internal (Lisp_Object data, const char *context)
-{
-  /* The immediate context is not interesting for Quits,
-     since they are asynchronous.  */
-  if (EQ (XCAR (data), Qquit))
-    Vsignaling_function = Qnil;
-
-  Vquit_flag = Qnil;
-  Vinhibit_quit = Qt;
-
-  /* Use user's specified output function if any.  */
-  if (!NILP (Vcommand_error_function))
-    call3 (Vcommand_error_function, data,
-          context ? build_string (context) : empty_unibyte_string,
-          Vsignaling_function);
-
-  Vsignaling_function = Qnil;
-}
-
-DEFUN ("command-error-default-function", Fcommand_error_default_function,
-       Scommand_error_default_function, 3, 3, 0,
-       doc: /* Produce default output for unhandled error message.
-Default value of `command-error-function'.  */)
-  (Lisp_Object data, Lisp_Object context, Lisp_Object signal)
-{
-  struct frame *sf = SELECTED_FRAME ();
-
-  CHECK_STRING (context);
-
-  /* If the window system or terminal frame hasn't been initialized
-     yet, or we're not interactive, write the message to stderr and exit.  */
-  if (!sf->glyphs_initialized_p
-          /* The initial frame is a special non-displaying frame. It
-             will be current in daemon mode when there are no frames
-             to display, and in non-daemon mode before the real frame
-             has finished initializing.  If an error is thrown in the
-             latter case while creating the frame, then the frame
-             will never be displayed, so the safest thing to do is
-             write to stderr and quit.  In daemon mode, there are
-             many other potential errors that do not prevent frames
-             from being created, so continuing as normal is better in
-             that case.  */
-          || (!IS_DAEMON && FRAME_INITIAL_P (sf))
-          || noninteractive)
-    {
-      print_error_message (data, Qexternal_debugging_output,
-                          SSDATA (context), signal);
-      Fterpri (Qexternal_debugging_output, Qnil);
-      Fkill_emacs (make_number (-1));
-    }
-  else
-    {
-      clear_message (1, 0);
-      Fdiscard_input ();
-      message_log_maybe_newline ();
-      bitch_at_user ();
-
-      print_error_message (data, Qt, SSDATA (context), signal);
-    }
-  return Qnil;
-}
-
-static Lisp_Object command_loop_2 (Lisp_Object);
-static Lisp_Object top_level_1 (Lisp_Object);
-
-/* Entry to editor-command-loop.
-   This level has the catches for exiting/returning to editor command loop.
-   It returns nil to exit recursive edit, t to abort it.  */
-
-Lisp_Object
-command_loop (void)
-{
-#ifdef HAVE_STACK_OVERFLOW_HANDLING
-  /* At least on GNU/Linux, saving signal mask is important here.  */
-  if (sigsetjmp (return_to_command_loop, 1) != 0)
-    {
-      /* Comes here from handle_sigsegv, see sysdep.c.  */
-      init_eval ();
-      Vinternal__top_level_message = recover_top_level_message;
-    }
-  else
-    Vinternal__top_level_message = regular_top_level_message;
-#endif /* HAVE_STACK_OVERFLOW_HANDLING */
-  if (command_loop_level > 0 || minibuf_level > 0)
-    {
-      Lisp_Object val;
-      val = internal_catch (Qexit, command_loop_2, Qnil);
-      executing_kbd_macro = Qnil;
-      return val;
-    }
-  else
-    while (1)
-      {
-       internal_catch (Qtop_level, top_level_1, Qnil);
-       internal_catch (Qtop_level, command_loop_2, Qnil);
-       executing_kbd_macro = Qnil;
-
-       /* End of file in -batch run causes exit here.  */
-       if (noninteractive)
-         Fkill_emacs (Qt);
-      }
-}
-
-/* Here we catch errors in execution of commands within the
-   editing loop, and reenter the editing loop.
-   When there is an error, cmd_error runs and returns a non-nil
-   value to us.  A value of nil means that command_loop_1 itself
-   returned due to end of file (or end of kbd macro).  */
-
-static Lisp_Object
-command_loop_2 (Lisp_Object ignore)
-{
-  register Lisp_Object val;
-
-  do
-    val = internal_condition_case (command_loop_1, Qerror, cmd_error);
-  while (!NILP (val));
-
-  return Qnil;
-}
-
-static Lisp_Object
-top_level_2 (void)
-{
-  return Feval (Vtop_level, Qnil);
-}
-
-static Lisp_Object
-top_level_1 (Lisp_Object ignore)
-{
-  /* On entry to the outer level, run the startup file.  */
-  if (!NILP (Vtop_level))
-    internal_condition_case (top_level_2, Qerror, cmd_error);
-  else if (!NILP (Vpurify_flag))
-    message1 ("Bare impure Emacs (standard Lisp code not loaded)");
-  else
-    message1 ("Bare Emacs (standard Lisp code not loaded)");
-  return Qnil;
-}
-
-DEFUN ("top-level", Ftop_level, Stop_level, 0, 0, "",
-       doc: /* Exit all recursive editing levels.
-This also exits all active minibuffers.  */
-       attributes: noreturn)
-  (void)
-{
-#ifdef HAVE_WINDOW_SYSTEM
-  if (display_hourglass_p)
-    cancel_hourglass ();
-#endif
-
-  /* Unblock input if we enter with input blocked.  This may happen if
-     redisplay traps e.g. during tool-bar update with input blocked.  */
-  totally_unblock_input ();
-
-  Fthrow (Qtop_level, Qnil);
-}
-
-static _Noreturn void
-user_error (const char *msg)
-{
-  xsignal1 (Quser_error, build_string (msg));
-}
-
-/* _Noreturn will be added to prototype by make-docfile.  */
-DEFUN ("exit-recursive-edit", Fexit_recursive_edit, Sexit_recursive_edit, 0, 0, "",
-       doc: /* Exit from the innermost recursive edit or minibuffer.  */
-       attributes: noreturn)
-  (void)
-{
-  if (command_loop_level > 0 || minibuf_level > 0)
-    Fthrow (Qexit, Qnil);
-
-  user_error ("No recursive edit is in progress");
-}
-
-/* _Noreturn will be added to prototype by make-docfile.  */
-DEFUN ("abort-recursive-edit", Fabort_recursive_edit, Sabort_recursive_edit, 0, 0, "",
-       doc: /* Abort the command that requested this recursive edit or minibuffer input.  */
-       attributes: noreturn)
-  (void)
-{
-  if (command_loop_level > 0 || minibuf_level > 0)
-    Fthrow (Qexit, Qt);
-
-  user_error ("No recursive edit is in progress");
-}
-\f
-/* Restore mouse tracking enablement.  See Ftrack_mouse for the only use
-   of this function.  */
-
-static void
-tracking_off (Lisp_Object old_value)
-{
-  do_mouse_tracking = old_value;
-  if (NILP (old_value))
-    {
-      /* Redisplay may have been preempted because there was input
-        available, and it assumes it will be called again after the
-        input has been processed.  If the only input available was
-        the sort that we have just disabled, then we need to call
-        redisplay.  */
-      if (!readable_events (READABLE_EVENTS_DO_TIMERS_NOW))
-       {
-         redisplay_preserve_echo_area (6);
-         get_input_pending (READABLE_EVENTS_DO_TIMERS_NOW);
-       }
-    }
-}
-
-DEFUN ("internal--track-mouse", Ftrack_mouse, Strack_mouse, 1, 1, 0,
-       doc: /* Call BODYFUN with mouse movement events enabled.  */)
-  (Lisp_Object bodyfun)
-{
-  ptrdiff_t count = SPECPDL_INDEX ();
-  Lisp_Object val;
-
-  record_unwind_protect (tracking_off, do_mouse_tracking);
-
-  do_mouse_tracking = Qt;
-
-  val = call0 (bodyfun);
-  return unbind_to (count, val);
-}
-
-/* If mouse has moved on some frame, return one of those frames.
-
-   Return 0 otherwise.
-
-   If ignore_mouse_drag_p is non-zero, ignore (implicit) mouse movement
-   after resizing the tool-bar window.  */
-
-bool ignore_mouse_drag_p;
-
-static struct frame *
-some_mouse_moved (void)
-{
-  Lisp_Object tail, frame;
-
-  if (ignore_mouse_drag_p)
-    {
-      /* ignore_mouse_drag_p = 0; */
-      return 0;
-    }
-
-  FOR_EACH_FRAME (tail, frame)
-    {
-      if (XFRAME (frame)->mouse_moved)
-       return XFRAME (frame);
-    }
-
-  return 0;
-}
-
-\f
-/* This is the actual command reading loop,
-   sans error-handling encapsulation.  */
-
-static int read_key_sequence (Lisp_Object *, int, Lisp_Object,
-                              bool, bool, bool, bool);
-static void adjust_point_for_property (ptrdiff_t, bool);
-
-/* The last boundary auto-added to buffer-undo-list.  */
-Lisp_Object last_undo_boundary;
-
-/* FIXME: This is wrong rather than test window-system, we should call
-   a new set-selection, which will then dispatch to x-set-selection, or
-   tty-set-selection, or w32-set-selection, ...  */
-
-Lisp_Object
-command_loop_1 (void)
-{
-  Lisp_Object cmd;
-  Lisp_Object keybuf[30];
-  int i;
-  EMACS_INT prev_modiff = 0;
-  struct buffer *prev_buffer = NULL;
-  bool already_adjusted = 0;
-
-  kset_prefix_arg (current_kboard, Qnil);
-  kset_last_prefix_arg (current_kboard, Qnil);
-  Vdeactivate_mark = Qnil;
-  waiting_for_input = 0;
-  cancel_echoing ();
-
-  this_command_key_count = 0;
-  this_command_key_count_reset = 0;
-  this_single_command_key_start = 0;
-
-  if (NILP (Vmemory_full))
-    {
-      /* Make sure this hook runs after commands that get errors and
-        throw to top level.  */
-      /* Note that the value cell will never directly contain nil
-        if the symbol is a local variable.  */
-      if (!NILP (Vpost_command_hook) && !NILP (Vrun_hooks))
-       safe_run_hooks (Qpost_command_hook);
-
-      /* If displaying a message, resize the echo area window to fit
-        that message's size exactly.  */
-      if (!NILP (echo_area_buffer[0]))
-       resize_echo_area_exactly ();
-
-      /* If there are warnings waiting, process them.  */
-      if (!NILP (Vdelayed_warnings_list))
-        safe_run_hooks (Qdelayed_warnings_hook);
-
-      if (!NILP (Vdeferred_action_list))
-       safe_run_hooks (Qdeferred_action_function);
-    }
-
-  /* Do this after running Vpost_command_hook, for consistency.  */
-  kset_last_command (current_kboard, Vthis_command);
-  kset_real_last_command (current_kboard, Vreal_this_command);
-  if (!CONSP (last_command_event))
-    kset_last_repeatable_command (current_kboard, Vreal_this_command);
-
-  while (1)
-    {
-      if (! FRAME_LIVE_P (XFRAME (selected_frame)))
-       Fkill_emacs (Qnil);
-
-      /* Make sure the current window's buffer is selected.  */
-      set_buffer_internal (XBUFFER (XWINDOW (selected_window)->contents));
-
-      /* Display any malloc warning that just came out.  Use while because
-        displaying one warning can cause another.  */
-
-      while (pending_malloc_warning)
-       display_malloc_warning ();
-
-      Vdeactivate_mark = Qnil;
-
-      /* Don't ignore mouse movements for more than a single command
-        loop.  (This flag is set in xdisp.c whenever the tool bar is
-        resized, because the resize moves text up or down, and would
-        generate false mouse drag events if we don't ignore them.)  */
-      ignore_mouse_drag_p = 0;
-
-      /* If minibuffer on and echo area in use,
-        wait a short time and redraw minibuffer.  */
-
-      if (minibuf_level
-         && !NILP (echo_area_buffer[0])
-         && EQ (minibuf_window, echo_area_window)
-         && NUMBERP (Vminibuffer_message_timeout))
-       {
-         /* Bind inhibit-quit to t so that C-g gets read in
-            rather than quitting back to the minibuffer.  */
-         ptrdiff_t count = SPECPDL_INDEX ();
-         specbind (Qinhibit_quit, Qt);
-
-         sit_for (Vminibuffer_message_timeout, 0, 2);
-
-         /* Clear the echo area.  */
-         message1 (0);
-         safe_run_hooks (Qecho_area_clear_hook);
-
-         unbind_to (count, Qnil);
-
-         /* If a C-g came in before, treat it as input now.  */
-         if (!NILP (Vquit_flag))
-           {
-             Vquit_flag = Qnil;
-             Vunread_command_events = list1 (make_number (quit_char));
-           }
-       }
-
-      /* If it has changed current-menubar from previous value,
-        really recompute the menubar from the value.  */
-      if (! NILP (Vlucid_menu_bar_dirty_flag)
-         && !NILP (Ffboundp (Qrecompute_lucid_menubar)))
-       call0 (Qrecompute_lucid_menubar);
-
-      before_command_key_count = this_command_key_count;
-      before_command_echo_length = echo_length ();
-
-      Vthis_command = Qnil;
-      Vreal_this_command = Qnil;
-      Vthis_original_command = Qnil;
-      Vthis_command_keys_shift_translated = Qnil;
-
-      /* Read next key sequence; i gets its length.  */
-      i = read_key_sequence (keybuf, ARRAYELTS (keybuf),
-                            Qnil, 0, 1, 1, 0);
-
-      /* A filter may have run while we were reading the input.  */
-      if (! FRAME_LIVE_P (XFRAME (selected_frame)))
-       Fkill_emacs (Qnil);
-      set_buffer_internal (XBUFFER (XWINDOW (selected_window)->contents));
-
-      ++num_input_keys;
-
-      /* Now we have read a key sequence of length I,
-        or else I is 0 and we found end of file.  */
-
-      if (i == 0)              /* End of file -- happens only in */
-       return Qnil;            /* a kbd macro, at the end.  */
-      /* -1 means read_key_sequence got a menu that was rejected.
-        Just loop around and read another command.  */
-      if (i == -1)
-       {
-         cancel_echoing ();
-         this_command_key_count = 0;
-         this_command_key_count_reset = 0;
-         this_single_command_key_start = 0;
-         goto finalize;
-       }
-
-      last_command_event = keybuf[i - 1];
-
-      /* If the previous command tried to force a specific window-start,
-        forget about that, in case this command moves point far away
-        from that position.  But also throw away beg_unchanged and
-        end_unchanged information in that case, so that redisplay will
-        update the whole window properly.  */
-      if (XWINDOW (selected_window)->force_start)
-       {
-         struct buffer *b;
-         XWINDOW (selected_window)->force_start = 0;
-         b = XBUFFER (XWINDOW (selected_window)->contents);
-         BUF_BEG_UNCHANGED (b) = BUF_END_UNCHANGED (b) = 0;
-       }
-
-      cmd = read_key_sequence_cmd;
-      if (!NILP (Vexecuting_kbd_macro))
-       {
-         if (!NILP (Vquit_flag))
-           {
-             Vexecuting_kbd_macro = Qt;
-             QUIT;             /* Make some noise.  */
-                               /* Will return since macro now empty.  */
-           }
-       }
-
-      /* Do redisplay processing after this command except in special
-        cases identified below.  */
-      prev_buffer = current_buffer;
-      prev_modiff = MODIFF;
-      last_point_position = PT;
-
-      /* By default, we adjust point to a boundary of a region that
-         has such a property that should be treated intangible
-         (e.g. composition, display).  But, some commands will set
-         this variable differently.  */
-      Vdisable_point_adjustment = Qnil;
-
-      /* Process filters and timers may have messed with deactivate-mark.
-        reset it before we execute the command.  */
-      Vdeactivate_mark = Qnil;
-
-      /* Remap command through active keymaps.  */
-      Vthis_original_command = cmd;
-      if (!NILP (read_key_sequence_remapped))
-       cmd = read_key_sequence_remapped;
-
-      /* Execute the command.  */
-
-      {
-       total_keys += total_keys < NUM_RECENT_KEYS;
-       ASET (recent_keys, recent_keys_index,
-             Fcons (Qnil, cmd));
-       if (++recent_keys_index >= NUM_RECENT_KEYS)
-         recent_keys_index = 0;
-      }
-      Vthis_command = cmd;
-      Vreal_this_command = cmd;
-      safe_run_hooks (Qpre_command_hook);
-
-      already_adjusted = 0;
-
-      if (NILP (Vthis_command))
-       /* nil means key is undefined.  */
-       call0 (Qundefined);
-      else
-       {
-         /* Here for a command that isn't executed directly.  */
-
-#ifdef HAVE_WINDOW_SYSTEM
-            ptrdiff_t scount = SPECPDL_INDEX ();
-
-            if (display_hourglass_p
-                && NILP (Vexecuting_kbd_macro))
-              {
-                record_unwind_protect_void (cancel_hourglass);
-                start_hourglass ();
-              }
-#endif
-
-            if (NILP (KVAR (current_kboard, Vprefix_arg))) /* FIXME: Why?  --Stef  */
-              {
-               Lisp_Object undo = BVAR (current_buffer, undo_list);
-               Fundo_boundary ();
-               last_undo_boundary
-                 = (EQ (undo, BVAR (current_buffer, undo_list))
-                    ? Qnil : BVAR (current_buffer, undo_list));
-             }
-            call1 (Qcommand_execute, Vthis_command);
-
-#ifdef HAVE_WINDOW_SYSTEM
-         /* Do not check display_hourglass_p here, because
-            `command-execute' could change it, but we should cancel
-            hourglass cursor anyway.
-            But don't cancel the hourglass within a macro
-            just because a command in the macro finishes.  */
-         if (NILP (Vexecuting_kbd_macro))
-            unbind_to (scount, Qnil);
-#endif
-          }
-      kset_last_prefix_arg (current_kboard, Vcurrent_prefix_arg);
-
-      safe_run_hooks (Qpost_command_hook);
-
-      /* If displaying a message, resize the echo area window to fit
-        that message's size exactly.  */
-      if (!NILP (echo_area_buffer[0]))
-       resize_echo_area_exactly ();
-
-      /* If there are warnings waiting, process them.  */
-      if (!NILP (Vdelayed_warnings_list))
-        safe_run_hooks (Qdelayed_warnings_hook);
-
-      safe_run_hooks (Qdeferred_action_function);
-
-      /* If there is a prefix argument,
-        1) We don't want Vlast_command to be ``universal-argument''
-        (that would be dumb), so don't set Vlast_command,
-        2) we want to leave echoing on so that the prefix will be
-        echoed as part of this key sequence, so don't call
-        cancel_echoing, and
-        3) we want to leave this_command_key_count non-zero, so that
-        read_char will realize that it is re-reading a character, and
-        not echo it a second time.
-
-        If the command didn't actually create a prefix arg,
-        but is merely a frame event that is transparent to prefix args,
-        then the above doesn't apply.  */
-      if (NILP (KVAR (current_kboard, Vprefix_arg))
-         || CONSP (last_command_event))
-       {
-         kset_last_command (current_kboard, Vthis_command);
-         kset_real_last_command (current_kboard, Vreal_this_command);
-         if (!CONSP (last_command_event))
-           kset_last_repeatable_command (current_kboard, Vreal_this_command);
-         cancel_echoing ();
-         this_command_key_count = 0;
-         this_command_key_count_reset = 0;
-         this_single_command_key_start = 0;
-       }
-
-      if (!NILP (BVAR (current_buffer, mark_active))
-         && !NILP (Vrun_hooks))
-       {
-         /* In Emacs 22, setting transient-mark-mode to `only' was a
-            way of turning it on for just one command.  This usage is
-            obsolete, but support it anyway.  */
-         if (EQ (Vtransient_mark_mode, Qidentity))
-           Vtransient_mark_mode = Qnil;
-         else if (EQ (Vtransient_mark_mode, Qonly))
-           Vtransient_mark_mode = Qidentity;
-
-         if (!NILP (Vdeactivate_mark))
-           /* If `select-active-regions' is non-nil, this call to
-              `deactivate-mark' also sets the PRIMARY selection.  */
-           call0 (Qdeactivate_mark);
-         else
-           {
-             /* Even if not deactivating the mark, set PRIMARY if
-                `select-active-regions' is non-nil.  */
-             if (!NILP (Fwindow_system (Qnil))
-                 /* Even if mark_active is non-nil, the actual buffer
-                    marker may not have been set yet (Bug#7044).  */
-                 && XMARKER (BVAR (current_buffer, mark))->buffer
-                 && (EQ (Vselect_active_regions, Qonly)
-                     ? EQ (CAR_SAFE (Vtransient_mark_mode), Qonly)
-                     : (!NILP (Vselect_active_regions)
-                        && !NILP (Vtransient_mark_mode)))
-                 && NILP (Fmemq (Vthis_command,
-                                 Vselection_inhibit_update_commands)))
-               {
-                 Lisp_Object txt
-                   = call1 (Fsymbol_value (Qregion_extract_function), Qnil);
-                 if (XINT (Flength (txt)) > 0)
-                   /* Don't set empty selections.  */
-                   call2 (Qgui_set_selection, QPRIMARY, txt);
-               }
-
-             if (current_buffer != prev_buffer || MODIFF != prev_modiff)
-               run_hook (intern ("activate-mark-hook"));
-           }
-
-         Vsaved_region_selection = Qnil;
-       }
-
-    finalize:
-
-      if (current_buffer == prev_buffer
-         && last_point_position != PT
-         && NILP (Vdisable_point_adjustment)
-         && NILP (Vglobal_disable_point_adjustment))
-       {
-         if (last_point_position > BEGV
-             && last_point_position < ZV
-             && (composition_adjust_point (last_point_position,
-                                           last_point_position)
-                 != last_point_position))
-           /* The last point was temporarily set within a grapheme
-              cluster to prevent automatic composition.  To recover
-              the automatic composition, we must update the
-              display.  */
-           windows_or_buffers_changed = 21;
-         if (!already_adjusted)
-           adjust_point_for_property (last_point_position,
-                                      MODIFF != prev_modiff);
-       }
-
-      /* Install chars successfully executed in kbd macro.  */
-
-      if (!NILP (KVAR (current_kboard, defining_kbd_macro))
-         && NILP (KVAR (current_kboard, Vprefix_arg)))
-       finalize_kbd_macro_chars ();
-    }
-}
-
-Lisp_Object
-read_menu_command (void)
-{
-  Lisp_Object keybuf[30];
-  ptrdiff_t count = SPECPDL_INDEX ();
-  int i;
-
-  /* We don't want to echo the keystrokes while navigating the
-     menus.  */
-  specbind (Qecho_keystrokes, make_number (0));
-
-  i = read_key_sequence (keybuf, ARRAYELTS (keybuf),
-                        Qnil, 0, 1, 1, 1);
-
-  unbind_to (count, Qnil);
-
-  if (! FRAME_LIVE_P (XFRAME (selected_frame)))
-    Fkill_emacs (Qnil);
-  if (i == 0 || i == -1)
-    return Qt;
-
-  return read_key_sequence_cmd;
-}
-
-/* Adjust point to a boundary of a region that has such a property
-   that should be treated intangible.  For the moment, we check
-   `composition', `display' and `invisible' properties.
-   LAST_PT is the last position of point.  */
-
-static void
-adjust_point_for_property (ptrdiff_t last_pt, bool modified)
-{
-  ptrdiff_t beg, end;
-  Lisp_Object val, overlay, tmp;
-  /* When called after buffer modification, we should temporarily
-     suppress the point adjustment for automatic composition so that a
-     user can keep inserting another character at point or keep
-     deleting characters around point.  */
-  bool check_composition = ! modified, check_display = 1, check_invisible = 1;
-  ptrdiff_t orig_pt = PT;
-
-  /* FIXME: cycling is probably not necessary because these properties
-     can't be usefully combined anyway.  */
-  while (check_composition || check_display || check_invisible)
-    {
-      /* FIXME: check `intangible'.  */
-      if (check_composition
-         && PT > BEGV && PT < ZV
-         && (beg = composition_adjust_point (last_pt, PT)) != PT)
-       {
-         SET_PT (beg);
-         check_display = check_invisible = 1;
-       }
-      check_composition = 0;
-      if (check_display
-         && PT > BEGV && PT < ZV
-         && !NILP (val = get_char_property_and_overlay
-                             (make_number (PT), Qdisplay, Qnil, &overlay))
-         && display_prop_intangible_p (val, overlay, PT, PT_BYTE)
-         && (!OVERLAYP (overlay)
-             ? get_property_and_range (PT, Qdisplay, &val, &beg, &end, Qnil)
-             : (beg = OVERLAY_POSITION (OVERLAY_START (overlay)),
-                end = OVERLAY_POSITION (OVERLAY_END (overlay))))
-         && (beg < PT /* && end > PT   <- It's always the case.  */
-             || (beg <= PT && STRINGP (val) && SCHARS (val) == 0)))
-       {
-         eassert (end > PT);
-         SET_PT (PT < last_pt
-                 ? (STRINGP (val) && SCHARS (val) == 0
-                    ? max (beg - 1, BEGV)
-                    : beg)
-                 : end);
-         check_composition = check_invisible = 1;
-       }
-      check_display = 0;
-      if (check_invisible && PT > BEGV && PT < ZV)
-       {
-         int inv;
-         bool ellipsis = 0;
-         beg = end = PT;
-
-         /* Find boundaries `beg' and `end' of the invisible area, if any.  */
-         while (end < ZV
-#if 0
-                /* FIXME: We should stop if we find a spot between
-                   two runs of `invisible' where inserted text would
-                   be visible.  This is important when we have two
-                   invisible boundaries that enclose an area: if the
-                   area is empty, we need this test in order to make
-                   it possible to place point in the middle rather
-                   than skip both boundaries.  However, this code
-                   also stops anywhere in a non-sticky text-property,
-                   which breaks (e.g.) Org mode.  */
-                && (val = Fget_pos_property (make_number (end),
-                                             Qinvisible, Qnil),
-                    TEXT_PROP_MEANS_INVISIBLE (val))
-#endif
-                && !NILP (val = get_char_property_and_overlay
-                          (make_number (end), Qinvisible, Qnil, &overlay))
-                && (inv = TEXT_PROP_MEANS_INVISIBLE (val)))
-           {
-             ellipsis = ellipsis || inv > 1
-               || (OVERLAYP (overlay)
-                   && (!NILP (Foverlay_get (overlay, Qafter_string))
-                       || !NILP (Foverlay_get (overlay, Qbefore_string))));
-             tmp = Fnext_single_char_property_change
-               (make_number (end), Qinvisible, Qnil, Qnil);
-             end = NATNUMP (tmp) ? XFASTINT (tmp) : ZV;
-           }
-         while (beg > BEGV
-#if 0
-                && (val = Fget_pos_property (make_number (beg),
-                                             Qinvisible, Qnil),
-                    TEXT_PROP_MEANS_INVISIBLE (val))
-#endif
-                && !NILP (val = get_char_property_and_overlay
-                          (make_number (beg - 1), Qinvisible, Qnil, &overlay))
-                && (inv = TEXT_PROP_MEANS_INVISIBLE (val)))
-           {
-             ellipsis = ellipsis || inv > 1
-               || (OVERLAYP (overlay)
-                   && (!NILP (Foverlay_get (overlay, Qafter_string))
-                       || !NILP (Foverlay_get (overlay, Qbefore_string))));
-             tmp = Fprevious_single_char_property_change
-               (make_number (beg), Qinvisible, Qnil, Qnil);
-             beg = NATNUMP (tmp) ? XFASTINT (tmp) : BEGV;
-           }
-
-         /* Move away from the inside area.  */
-         if (beg < PT && end > PT)
-           {
-             SET_PT ((orig_pt == PT && (last_pt < beg || last_pt > end))
-                     /* We haven't moved yet (so we don't need to fear
-                        infinite-looping) and we were outside the range
-                        before (so either end of the range still corresponds
-                        to a move in the right direction): pretend we moved
-                        less than we actually did, so that we still have
-                        more freedom below in choosing which end of the range
-                        to go to.  */
-                     ? (orig_pt = -1, PT < last_pt ? end : beg)
-                     /* We either have moved already or the last point
-                        was already in the range: we don't get to choose
-                        which end of the range we have to go to.  */
-                     : (PT < last_pt ? beg : end));
-             check_composition = check_display = 1;
-           }
-#if 0 /* This assertion isn't correct, because SET_PT may end up setting
-        the point to something other than its argument, due to
-        point-motion hooks, intangibility, etc.  */
-         eassert (PT == beg || PT == end);
-#endif
-
-         /* Pretend the area doesn't exist if the buffer is not
-            modified.  */
-         if (!modified && !ellipsis && beg < end)
-           {
-             if (last_pt == beg && PT == end && end < ZV)
-               (check_composition = check_display = 1, SET_PT (end + 1));
-             else if (last_pt == end && PT == beg && beg > BEGV)
-               (check_composition = check_display = 1, SET_PT (beg - 1));
-             else if (PT == ((PT < last_pt) ? beg : end))
-               /* We've already moved as far as we can.  Trying to go
-                  to the other end would mean moving backwards and thus
-                  could lead to an infinite loop.  */
-               ;
-             else if (val = Fget_pos_property (make_number (PT),
-                                               Qinvisible, Qnil),
-                      TEXT_PROP_MEANS_INVISIBLE (val)
-                      && (val = (Fget_pos_property
-                                 (make_number (PT == beg ? end : beg),
-                                  Qinvisible, Qnil)),
-                          !TEXT_PROP_MEANS_INVISIBLE (val)))
-               (check_composition = check_display = 1,
-                SET_PT (PT == beg ? end : beg));
-           }
-       }
-      check_invisible = 0;
-    }
-}
-
-/* Subroutine for safe_run_hooks: run the hook, which is ARGS[1].  */
-
-static Lisp_Object
-safe_run_hooks_1 (ptrdiff_t nargs, Lisp_Object *args)
-{
-  eassert (nargs == 2);
-  return call0 (args[1]);
-}
-
-/* Subroutine for safe_run_hooks: handle an error by clearing out the function
-   from the hook.  */
-
-static Lisp_Object
-safe_run_hooks_error (Lisp_Object error, ptrdiff_t nargs, Lisp_Object *args)
-{
-  eassert (nargs == 2);
-  AUTO_STRING (format, "Error in %s (%S): %S");
-  Lisp_Object hook = args[0];
-  Lisp_Object fun = args[1];
-  CALLN (Fmessage, format, hook, fun, error);
-
-  if (SYMBOLP (hook))
-    {
-      Lisp_Object val;
-      bool found = 0;
-      Lisp_Object newval = Qnil;
-      for (val = find_symbol_value (hook); CONSP (val); val = XCDR (val))
-       if (EQ (fun, XCAR (val)))
-         found = 1;
-       else
-         newval = Fcons (XCAR (val), newval);
-      if (found)
-       return Fset (hook, Fnreverse (newval));
-      /* Not found in the local part of the hook.  Let's look at the global
-        part.  */
-      newval = Qnil;
-      for (val = (NILP (Fdefault_boundp (hook)) ? Qnil
-                 : Fdefault_value (hook));
-          CONSP (val); val = XCDR (val))
-       if (EQ (fun, XCAR (val)))
-         found = 1;
-       else
-         newval = Fcons (XCAR (val), newval);
-      if (found)
-       return Fset_default (hook, Fnreverse (newval));
-    }
-  return Qnil;
-}
-
-static Lisp_Object
-safe_run_hook_funcall (ptrdiff_t nargs, Lisp_Object *args)
-{
-  eassert (nargs == 2);
-  /* Yes, run_hook_with_args works with args in the other order.  */
-  internal_condition_case_n (safe_run_hooks_1,
-                            2, ((Lisp_Object []) {args[1], args[0]}),
-                            Qt, safe_run_hooks_error);
-  return Qnil;
-}
-
-/* If we get an error while running the hook, cause the hook variable
-   to be nil.  Also inhibit quits, so that C-g won't cause the hook
-   to mysteriously evaporate.  */
-
-void
-safe_run_hooks (Lisp_Object hook)
-{
-  struct gcpro gcpro1;
-  ptrdiff_t count = SPECPDL_INDEX ();
-
-  GCPRO1 (hook);
-  specbind (Qinhibit_quit, Qt);
-  run_hook_with_args (2, ((Lisp_Object []) {hook, hook}), safe_run_hook_funcall);
-  unbind_to (count, Qnil);
-  UNGCPRO;
-}
-
-\f
-/* Nonzero means polling for input is temporarily suppressed.  */
-
-int poll_suppress_count;
-
-
-#ifdef POLL_FOR_INPUT
-
-/* Asynchronous timer for polling.  */
-
-static struct atimer *poll_timer;
-
-/* Poll for input, so that we catch a C-g if it comes in.  */
-void
-poll_for_input_1 (void)
-{
-  if (! input_blocked_p ()
-      && !waiting_for_input)
-    gobble_input ();
-}
-
-/* Timer callback function for poll_timer.  TIMER is equal to
-   poll_timer.  */
-
-static void
-poll_for_input (struct atimer *timer)
-{
-  if (poll_suppress_count == 0)
-    pending_signals = 1;
-}
-
-#endif /* POLL_FOR_INPUT */
-
-/* Begin signals to poll for input, if they are appropriate.
-   This function is called unconditionally from various places.  */
-
-void
-start_polling (void)
-{
-#ifdef POLL_FOR_INPUT
-  /* XXX This condition was (read_socket_hook && !interrupt_input),
-     but read_socket_hook is not global anymore.  Let's pretend that
-     it's always set.  */
-  if (!interrupt_input)
-    {
-      /* Turn alarm handling on unconditionally.  It might have
-        been turned off in process.c.  */
-      turn_on_atimers (1);
-
-      /* If poll timer doesn't exist, or we need one with
-        a different interval, start a new one.  */
-      if (poll_timer == NULL
-         || poll_timer->interval.tv_sec != polling_period)
-       {
-         time_t period = max (1, min (polling_period, TYPE_MAXIMUM (time_t)));
-         struct timespec interval = make_timespec (period, 0);
-
-         if (poll_timer)
-           cancel_atimer (poll_timer);
-
-         poll_timer = start_atimer (ATIMER_CONTINUOUS, interval,
-                                    poll_for_input, NULL);
-       }
-
-      /* Let the timer's callback function poll for input
-        if this becomes zero.  */
-      --poll_suppress_count;
-    }
-#endif
-}
-
-/* True if we are using polling to handle input asynchronously.  */
-
-bool
-input_polling_used (void)
-{
-#ifdef POLL_FOR_INPUT
-  /* XXX This condition was (read_socket_hook && !interrupt_input),
-     but read_socket_hook is not global anymore.  Let's pretend that
-     it's always set.  */
-  return !interrupt_input;
-#else
-  return 0;
-#endif
-}
-
-/* Turn off polling.  */
-
-void
-stop_polling (void)
-{
-#ifdef POLL_FOR_INPUT
-  /* XXX This condition was (read_socket_hook && !interrupt_input),
-     but read_socket_hook is not global anymore.  Let's pretend that
-     it's always set.  */
-  if (!interrupt_input)
-    ++poll_suppress_count;
-#endif
-}
-
-/* Set the value of poll_suppress_count to COUNT
-   and start or stop polling accordingly.  */
-
-void
-set_poll_suppress_count (int count)
-{
-#ifdef POLL_FOR_INPUT
-  if (count == 0 && poll_suppress_count != 0)
-    {
-      poll_suppress_count = 1;
-      start_polling ();
-    }
-  else if (count != 0 && poll_suppress_count == 0)
-    {
-      stop_polling ();
-    }
-  poll_suppress_count = count;
-#endif
-}
-
-/* Bind polling_period to a value at least N.
-   But don't decrease it.  */
-
-void
-bind_polling_period (int n)
-{
-#ifdef POLL_FOR_INPUT
-  EMACS_INT new = polling_period;
-
-  if (n > new)
-    new = n;
-
-  stop_other_atimers (poll_timer);
-  stop_polling ();
-  specbind (Qpolling_period, make_number (new));
-  /* Start a new alarm with the new period.  */
-  start_polling ();
-#endif
-}
-\f
-/* Apply the control modifier to CHARACTER.  */
-
-int
-make_ctrl_char (int c)
-{
-  /* Save the upper bits here.  */
-  int upper = c & ~0177;
-
-  if (! ASCII_CHAR_P (c))
-    return c |= ctrl_modifier;
-
-  c &= 0177;
-
-  /* Everything in the columns containing the upper-case letters
-     denotes a control character.  */
-  if (c >= 0100 && c < 0140)
-    {
-      int oc = c;
-      c &= ~0140;
-      /* Set the shift modifier for a control char
-        made from a shifted letter.  But only for letters!  */
-      if (oc >= 'A' && oc <= 'Z')
-       c |= shift_modifier;
-    }
-
-  /* The lower-case letters denote control characters too.  */
-  else if (c >= 'a' && c <= 'z')
-    c &= ~0140;
-
-  /* Include the bits for control and shift
-     only if the basic ASCII code can't indicate them.  */
-  else if (c >= ' ')
-    c |= ctrl_modifier;
-
-  /* Replace the high bits.  */
-  c |= (upper & ~ctrl_modifier);
-
-  return c;
-}
-
-/* Display the help-echo property of the character after the mouse pointer.
-   Either show it in the echo area, or call show-help-function to display
-   it by other means (maybe in a tooltip).
-
-   If HELP is nil, that means clear the previous help echo.
-
-   If HELP is a string, display that string.  If HELP is a function,
-   call it with OBJECT and POS as arguments; the function should
-   return a help string or nil for none.  For all other types of HELP,
-   evaluate it to obtain a string.
-
-   WINDOW is the window in which the help was generated, if any.
-   It is nil if not in a window.
-
-   If OBJECT is a buffer, POS is the position in the buffer where the
-   `help-echo' text property was found.
-
-   If OBJECT is an overlay, that overlay has a `help-echo' property,
-   and POS is the position in the overlay's buffer under the mouse.
-
-   If OBJECT is a string (an overlay string or a string displayed with
-   the `display' property).  POS is the position in that string under
-   the mouse.
-
-   Note: this function may only be called with HELP nil or a string
-   from X code running asynchronously.  */
-
-void
-show_help_echo (Lisp_Object help, Lisp_Object window, Lisp_Object object,
-               Lisp_Object pos)
-{
-  if (!NILP (help) && !STRINGP (help))
-    {
-      if (FUNCTIONP (help))
-       help = safe_call (4, help, window, object, pos);
-      else
-       help = safe_eval (help);
-
-      if (!STRINGP (help))
-       return;
-    }
-
-  if (!noninteractive && STRINGP (help))
-    {
-      /* The mouse-fixup-help-message Lisp function can call
-        mouse_position_hook, which resets the mouse_moved flags.
-        This causes trouble if we are trying to read a mouse motion
-        event (i.e., if we are inside a `track-mouse' form), so we
-        restore the mouse_moved flag.  */
-      struct frame *f = NILP (do_mouse_tracking) ? NULL : some_mouse_moved ();
-      help = call1 (Qmouse_fixup_help_message, help);
-      if (f)
-       f->mouse_moved = 1;
-    }
-
-  if (STRINGP (help) || NILP (help))
-    {
-      if (!NILP (Vshow_help_function))
-       call1 (Vshow_help_function, help);
-      help_echo_showing_p = STRINGP (help);
-    }
-}
-
-
-\f
-/* Input of single characters from keyboard.  */
-
-static Lisp_Object kbd_buffer_get_event (KBOARD **kbp, bool *used_mouse_menu,
-                                        struct timespec *end_time);
-static void record_char (Lisp_Object c);
-
-static Lisp_Object help_form_saved_window_configs;
-static void
-read_char_help_form_unwind (void)
-{
-  Lisp_Object window_config = XCAR (help_form_saved_window_configs);
-  help_form_saved_window_configs = XCDR (help_form_saved_window_configs);
-  if (!NILP (window_config))
-    Fset_window_configuration (window_config);
-}
-
-#define STOP_POLLING                                   \
-do { if (! polling_stopped_here) stop_polling ();      \
-       polling_stopped_here = 1; } while (0)
-
-#define RESUME_POLLING                                 \
-do { if (polling_stopped_here) start_polling ();       \
-       polling_stopped_here = 0; } while (0)
-
-static Lisp_Object
-read_event_from_main_queue (struct timespec *end_time,
-                            sys_jmp_buf local_getcjmp,
-                            bool *used_mouse_menu)
-{
-  Lisp_Object c = Qnil;
-  sys_jmp_buf save_jump;
-  KBOARD *kb IF_LINT (= NULL);
-
- start:
-
-  /* Read from the main queue, and if that gives us something we can't use yet,
-     we put it on the appropriate side queue and try again.  */
-
-  if (end_time && timespec_cmp (*end_time, current_timespec ()) <= 0)
-    return c;
-
-  /* Actually read a character, waiting if necessary.  */
-  save_getcjmp (save_jump);
-  restore_getcjmp (local_getcjmp);
-  if (!end_time)
-    timer_start_idle ();
-  c = kbd_buffer_get_event (&kb, used_mouse_menu, end_time);
-  restore_getcjmp (save_jump);
-
-  if (! NILP (c) && (kb != current_kboard))
-    {
-      Lisp_Object last = KVAR (kb, kbd_queue);
-      if (CONSP (last))
-        {
-          while (CONSP (XCDR (last)))
-       last = XCDR (last);
-          if (!NILP (XCDR (last)))
-       emacs_abort ();
-        }
-      if (!CONSP (last))
-        kset_kbd_queue (kb, list1 (c));
-      else
-        XSETCDR (last, list1 (c));
-      kb->kbd_queue_has_data = 1;
-      c = Qnil;
-      if (single_kboard)
-        goto start;
-      current_kboard = kb;
-      /* This is going to exit from read_char
-         so we had better get rid of this frame's stuff.  */
-      return make_number (-2);
-    }
-
-  /* Terminate Emacs in batch mode if at eof.  */
-  if (noninteractive && INTEGERP (c) && XINT (c) < 0)
-    Fkill_emacs (make_number (1));
-
-  if (INTEGERP (c))
-    {
-      /* Add in any extra modifiers, where appropriate.  */
-      if ((extra_keyboard_modifiers & CHAR_CTL)
-         || ((extra_keyboard_modifiers & 0177) < ' '
-             && (extra_keyboard_modifiers & 0177) != 0))
-       XSETINT (c, make_ctrl_char (XINT (c)));
-
-      /* Transfer any other modifier bits directly from
-        extra_keyboard_modifiers to c.  Ignore the actual character code
-        in the low 16 bits of extra_keyboard_modifiers.  */
-      XSETINT (c, XINT (c) | (extra_keyboard_modifiers & ~0xff7f & ~CHAR_CTL));
-    }
-
-  return c;
-}
-
-
-
-/* Like `read_event_from_main_queue' but applies keyboard-coding-system
-   to tty input.  */
-static Lisp_Object
-read_decoded_event_from_main_queue (struct timespec *end_time,
-                                    sys_jmp_buf local_getcjmp,
-                                    Lisp_Object prev_event,
-                                    bool *used_mouse_menu)
-{
-#define MAX_ENCODED_BYTES 16
-#ifndef WINDOWSNT
-  Lisp_Object events[MAX_ENCODED_BYTES];
-  int n = 0;
-#endif
-  while (true)
-    {
-      Lisp_Object nextevt
-        = read_event_from_main_queue (end_time, local_getcjmp,
-                                      used_mouse_menu);
-#ifdef WINDOWSNT
-      /* w32_console already returns decoded events.  It either reads
-        Unicode characters from the Windows keyboard input, or
-        converts characters encoded in the current codepage into
-        Unicode.  See w32inevt.c:key_event, near its end.  */
-      return nextevt;
-#else
-      struct frame *frame = XFRAME (selected_frame);
-      struct terminal *terminal = frame->terminal;
-      if (!((FRAME_TERMCAP_P (frame) || FRAME_MSDOS_P (frame))
-            /* Don't apply decoding if we're just reading a raw event
-               (e.g. reading bytes sent by the xterm to specify the position
-               of a mouse click).  */
-            && (!EQ (prev_event, Qt))
-           && (TERMINAL_KEYBOARD_CODING (terminal)->common_flags
-               & CODING_REQUIRE_DECODING_MASK)))
-       return nextevt;         /* No decoding needed.  */
-      else
-       {
-         int meta_key = terminal->display_info.tty->meta_key;
-         eassert (n < MAX_ENCODED_BYTES);
-         events[n++] = nextevt;
-         if (NATNUMP (nextevt)
-             && XINT (nextevt) < (meta_key == 1 ? 0x80 : 0x100))
-           { /* An encoded byte sequence, let's try to decode it.  */
-             struct coding_system *coding
-               = TERMINAL_KEYBOARD_CODING (terminal);
-
-             if (raw_text_coding_system_p (coding))
-               {
-                 int i;
-                 if (meta_key != 2)
-                   for (i = 0; i < n; i++)
-                     events[i] = make_number (XINT (events[i]) & ~0x80);
-               }
-             else
-               {
-                 unsigned char src[MAX_ENCODED_BYTES];
-                 unsigned char dest[MAX_ENCODED_BYTES * MAX_MULTIBYTE_LENGTH];
-                 int i;
-                 for (i = 0; i < n; i++)
-                   src[i] = XINT (events[i]);
-                 if (meta_key != 2)
-                   for (i = 0; i < n; i++)
-                     src[i] &= ~0x80;
-                 coding->destination = dest;
-                 coding->dst_bytes = sizeof dest;
-                 decode_coding_c_string (coding, src, n, Qnil);
-                 eassert (coding->produced_char <= n);
-                 if (coding->produced_char == 0)
-                   { /* The encoded sequence is incomplete.  */
-                     if (n < MAX_ENCODED_BYTES) /* Avoid buffer overflow.  */
-                       continue;                    /* Read on!  */
-                   }
-                 else
-                   {
-                     const unsigned char *p = coding->destination;
-                     eassert (coding->carryover_bytes == 0);
-                     n = 0;
-                     while (n < coding->produced_char)
-                       events[n++] = make_number (STRING_CHAR_ADVANCE (p));
-                   }
-               }
-           }
-         /* Now `events' should hold decoded events.
-            Normally, n should be equal to 1, but better not rely on it.
-            We can only return one event here, so return the first we
-            had and keep the others (if any) for later.  */
-         while (n > 1)
-           Vunread_command_events
-             = Fcons (events[--n], Vunread_command_events);
-         return events[0];
-       }
-#endif
-    }
-}
-
-static bool
-echo_keystrokes_p (void)
-{
-  return (FLOATP (Vecho_keystrokes) ? XFLOAT_DATA (Vecho_keystrokes) > 0.0
-         : INTEGERP (Vecho_keystrokes) ? XINT (Vecho_keystrokes) > 0 : false);
-}
-
-/* Read a character from the keyboard; call the redisplay if needed.  */
-/* commandflag 0 means do not autosave, but do redisplay.
-   -1 means do not redisplay, but do autosave.
-   -2 means do neither.
-   1 means do both.
-
-   The argument MAP is a keymap for menu prompting.
-
-   PREV_EVENT is the previous input event, or nil if we are reading
-   the first event of a key sequence (or not reading a key sequence).
-   If PREV_EVENT is t, that is a "magic" value that says
-   not to run input methods, but in other respects to act as if
-   not reading a key sequence.
-
-   If USED_MOUSE_MENU is non-null, then set *USED_MOUSE_MENU to true
-   if we used a mouse menu to read the input, or false otherwise.  If
-   USED_MOUSE_MENU is null, don't dereference it.
-
-   Value is -2 when we find input on another keyboard.  A second call
-   to read_char will read it.
-
-   If END_TIME is non-null, it is a pointer to a struct timespec
-   specifying the maximum time to wait until.  If no input arrives by
-   that time, stop waiting and return nil.
-
-   Value is t if we showed a menu and the user rejected it.  */
-
-Lisp_Object
-read_char (int commandflag, Lisp_Object map,
-          Lisp_Object prev_event,
-          bool *used_mouse_menu, struct timespec *end_time)
-{
-  Lisp_Object c;
-  ptrdiff_t jmpcount;
-  sys_jmp_buf local_getcjmp;
-  sys_jmp_buf save_jump;
-  Lisp_Object tem, save;
-  volatile Lisp_Object previous_echo_area_message;
-  volatile Lisp_Object also_record;
-  volatile bool reread;
-  struct gcpro gcpro1, gcpro2;
-  bool volatile polling_stopped_here = 0;
-  struct kboard *orig_kboard = current_kboard;
-
-  also_record = Qnil;
-
-#if 0  /* This was commented out as part of fixing echo for C-u left.  */
-  before_command_key_count = this_command_key_count;
-  before_command_echo_length = echo_length ();
-#endif
-  c = Qnil;
-  previous_echo_area_message = Qnil;
-
-  GCPRO2 (c, previous_echo_area_message);
-
- retry:
-
-  if (CONSP (Vunread_post_input_method_events))
-    {
-      c = XCAR (Vunread_post_input_method_events);
-      Vunread_post_input_method_events
-       = XCDR (Vunread_post_input_method_events);
-
-      /* Undo what read_char_x_menu_prompt did when it unread
-        additional keys returned by Fx_popup_menu.  */
-      if (CONSP (c)
-         && (SYMBOLP (XCAR (c)) || INTEGERP (XCAR (c)))
-         && NILP (XCDR (c)))
-       c = XCAR (c);
-
-      reread = true;
-      goto reread_first;
-    }
-  else
-    reread = false;
-
-
-  if (CONSP (Vunread_command_events))
-    {
-      bool was_disabled = 0;
-
-      c = XCAR (Vunread_command_events);
-      Vunread_command_events = XCDR (Vunread_command_events);
-
-      /* Undo what sit-for did when it unread additional keys
-        inside universal-argument.  */
-
-      if (CONSP (c) && EQ (XCAR (c), Qt))
-       c = XCDR (c);
-      else
-       reread = true;
-
-      /* Undo what read_char_x_menu_prompt did when it unread
-        additional keys returned by Fx_popup_menu.  */
-      if (CONSP (c)
-         && EQ (XCDR (c), Qdisabled)
-         && (SYMBOLP (XCAR (c)) || INTEGERP (XCAR (c))))
-       {
-         was_disabled = 1;
-         c = XCAR (c);
-       }
-
-      /* If the queued event is something that used the mouse,
-         set used_mouse_menu accordingly.  */
-      if (used_mouse_menu
-         /* Also check was_disabled so last-nonmenu-event won't return
-            a bad value when submenus are involved.  (Bug#447)  */
-         && (EQ (c, Qtool_bar) || EQ (c, Qmenu_bar) || was_disabled))
-       *used_mouse_menu = 1;
-
-      goto reread_for_input_method;
-    }
-
-  if (CONSP (Vunread_input_method_events))
-    {
-      c = XCAR (Vunread_input_method_events);
-      Vunread_input_method_events = XCDR (Vunread_input_method_events);
-
-      /* Undo what read_char_x_menu_prompt did when it unread
-        additional keys returned by Fx_popup_menu.  */
-      if (CONSP (c)
-         && (SYMBOLP (XCAR (c)) || INTEGERP (XCAR (c)))
-         && NILP (XCDR (c)))
-       c = XCAR (c);
-      reread = true;
-      goto reread_for_input_method;
-    }
-
-  this_command_key_count_reset = 0;
-
-  if (!NILP (Vexecuting_kbd_macro))
-    {
-      /* We set this to Qmacro; since that's not a frame, nobody will
-        try to switch frames on us, and the selected window will
-        remain unchanged.
-
-         Since this event came from a macro, it would be misleading to
-        leave internal_last_event_frame set to wherever the last
-        real event came from.  Normally, a switch-frame event selects
-        internal_last_event_frame after each command is read, but
-        events read from a macro should never cause a new frame to be
-        selected.  */
-      Vlast_event_frame = internal_last_event_frame = Qmacro;
-
-      /* Exit the macro if we are at the end.
-        Also, some things replace the macro with t
-        to force an early exit.  */
-      if (EQ (Vexecuting_kbd_macro, Qt)
-         || executing_kbd_macro_index >= XFASTINT (Flength (Vexecuting_kbd_macro)))
-       {
-         XSETINT (c, -1);
-         goto exit;
-       }
-
-      c = Faref (Vexecuting_kbd_macro, make_number (executing_kbd_macro_index));
-      if (STRINGP (Vexecuting_kbd_macro)
-         && (XFASTINT (c) & 0x80) && (XFASTINT (c) <= 0xff))
-       XSETFASTINT (c, CHAR_META | (XFASTINT (c) & ~0x80));
-
-      executing_kbd_macro_index++;
-
-      goto from_macro;
-    }
-
-  if (!NILP (unread_switch_frame))
-    {
-      c = unread_switch_frame;
-      unread_switch_frame = Qnil;
-
-      /* This event should make it into this_command_keys, and get echoed
-        again, so we do not set `reread'.  */
-      goto reread_first;
-    }
-
-  /* If redisplay was requested.  */
-  if (commandflag >= 0)
-    {
-      bool echo_current = EQ (echo_message_buffer, echo_area_buffer[0]);
-
-       /* If there is pending input, process any events which are not
-          user-visible, such as X selection_request events.  */
-      if (input_pending
-         || detect_input_pending_run_timers (0))
-       swallow_events (false);         /* May clear input_pending.  */
-
-      /* Redisplay if no pending input.  */
-      while (!(input_pending
-              && (input_was_pending || !redisplay_dont_pause)))
-       {
-         input_was_pending = input_pending;
-         if (help_echo_showing_p && !EQ (selected_window, minibuf_window))
-           redisplay_preserve_echo_area (5);
-         else
-           redisplay ();
-
-         if (!input_pending)
-           /* Normal case: no input arrived during redisplay.  */
-           break;
-
-         /* Input arrived and pre-empted redisplay.
-            Process any events which are not user-visible.  */
-         swallow_events (false);
-         /* If that cleared input_pending, try again to redisplay.  */
-       }
-
-      /* Prevent the redisplay we just did
-        from messing up echoing of the input after the prompt.  */
-      if (commandflag == 0 && echo_current)
-       echo_message_buffer = echo_area_buffer[0];
-
-    }
-
-  /* Message turns off echoing unless more keystrokes turn it on again.
-
-     The code in 20.x for the condition was
-
-     1. echo_area_glyphs && *echo_area_glyphs
-     2. && echo_area_glyphs != current_kboard->echobuf
-     3. && ok_to_echo_at_next_pause != echo_area_glyphs
-
-     (1) means there's a current message displayed
-
-     (2) means it's not the message from echoing from the current
-     kboard.
-
-     (3) There's only one place in 20.x where ok_to_echo_at_next_pause
-     is set to a non-null value.  This is done in read_char and it is
-     set to echo_area_glyphs after a call to echo_char.  That means
-     ok_to_echo_at_next_pause is either null or
-     current_kboard->echobuf with the appropriate current_kboard at
-     that time.
-
-     So, condition (3) means in clear text ok_to_echo_at_next_pause
-     must be either null, or the current message isn't from echoing at
-     all, or it's from echoing from a different kboard than the
-     current one.  */
-
-  if (/* There currently is something in the echo area.  */
-      !NILP (echo_area_buffer[0])
-      && (/* It's an echo from a different kboard.  */
-         echo_kboard != current_kboard
-         /* Or we explicitly allow overwriting whatever there is.  */
-         || ok_to_echo_at_next_pause == NULL))
-    cancel_echoing ();
-  else
-    echo_dash ();
-
-  /* Try reading a character via menu prompting in the minibuf.
-     Try this before the sit-for, because the sit-for
-     would do the wrong thing if we are supposed to do
-     menu prompting. If EVENT_HAS_PARAMETERS then we are reading
-     after a mouse event so don't try a minibuf menu.  */
-  c = Qnil;
-  if (KEYMAPP (map) && INTERACTIVE
-      && !NILP (prev_event) && ! EVENT_HAS_PARAMETERS (prev_event)
-      /* Don't bring up a menu if we already have another event.  */
-      && NILP (Vunread_command_events)
-      && !detect_input_pending_run_timers (0))
-    {
-      c = read_char_minibuf_menu_prompt (commandflag, map);
-
-      if (INTEGERP (c) && XINT (c) == -2)
-        return c;               /* wrong_kboard_jmpbuf */
-
-      if (! NILP (c))
-       goto exit;
-    }
-
-  /* Make a longjmp point for quits to use, but don't alter getcjmp just yet.
-     We will do that below, temporarily for short sections of code,
-     when appropriate.  local_getcjmp must be in effect
-     around any call to sit_for or kbd_buffer_get_event;
-     it *must not* be in effect when we call redisplay.  */
-
-  jmpcount = SPECPDL_INDEX ();
-  if (sys_setjmp (local_getcjmp))
-    {
-      /* Handle quits while reading the keyboard.  */
-      /* We must have saved the outer value of getcjmp here,
-        so restore it now.  */
-      restore_getcjmp (save_jump);
-      pthread_sigmask (SIG_SETMASK, &empty_mask, 0);
-      unbind_to (jmpcount, Qnil);
-      XSETINT (c, quit_char);
-      internal_last_event_frame = selected_frame;
-      Vlast_event_frame = internal_last_event_frame;
-      /* If we report the quit char as an event,
-        don't do so more than once.  */
-      if (!NILP (Vinhibit_quit))
-       Vquit_flag = Qnil;
-
-      {
-       KBOARD *kb = FRAME_KBOARD (XFRAME (selected_frame));
-       if (kb != current_kboard)
-         {
-           Lisp_Object last = KVAR (kb, kbd_queue);
-           /* We shouldn't get here if we were in single-kboard mode!  */
-           if (single_kboard)
-             emacs_abort ();
-           if (CONSP (last))
-             {
-               while (CONSP (XCDR (last)))
-                 last = XCDR (last);
-               if (!NILP (XCDR (last)))
-                 emacs_abort ();
-             }
-           if (!CONSP (last))
-             kset_kbd_queue (kb, list1 (c));
-           else
-             XSETCDR (last, list1 (c));
-           kb->kbd_queue_has_data = 1;
-           current_kboard = kb;
-           /* This is going to exit from read_char
-              so we had better get rid of this frame's stuff.  */
-           UNGCPRO;
-            return make_number (-2); /* wrong_kboard_jmpbuf */
-         }
-      }
-      goto non_reread;
-    }
-
-  /* Start idle timers if no time limit is supplied.  We don't do it
-     if a time limit is supplied to avoid an infinite recursion in the
-     situation where an idle timer calls `sit-for'.  */
-
-  if (!end_time)
-    timer_start_idle ();
-
-  /* If in middle of key sequence and minibuffer not active,
-     start echoing if enough time elapses.  */
-
-  if (minibuf_level == 0
-      && !end_time
-      && !current_kboard->immediate_echo
-      && this_command_key_count > 0
-      && ! noninteractive
-      && echo_keystrokes_p ()
-      && (/* No message.  */
-         NILP (echo_area_buffer[0])
-         /* Or empty message.  */
-         || (BUF_BEG (XBUFFER (echo_area_buffer[0]))
-             == BUF_Z (XBUFFER (echo_area_buffer[0])))
-         /* Or already echoing from same kboard.  */
-         || (echo_kboard && ok_to_echo_at_next_pause == echo_kboard)
-         /* Or not echoing before and echoing allowed.  */
-         || (!echo_kboard && ok_to_echo_at_next_pause)))
-    {
-      /* After a mouse event, start echoing right away.
-        This is because we are probably about to display a menu,
-        and we don't want to delay before doing so.  */
-      if (EVENT_HAS_PARAMETERS (prev_event))
-       echo_now ();
-      else
-       {
-         Lisp_Object tem0;
-
-         save_getcjmp (save_jump);
-         restore_getcjmp (local_getcjmp);
-         tem0 = sit_for (Vecho_keystrokes, 1, 1);
-         restore_getcjmp (save_jump);
-         if (EQ (tem0, Qt)
-             && ! CONSP (Vunread_command_events))
-           echo_now ();
-       }
-    }
-
-  /* Maybe auto save due to number of keystrokes.  */
-
-  if (commandflag != 0 && commandflag != -2
-      && auto_save_interval > 0
-      && num_nonmacro_input_events - last_auto_save > max (auto_save_interval, 20)
-      && !detect_input_pending_run_timers (0))
-    {
-      Fdo_auto_save (Qnil, Qnil);
-      /* Hooks can actually change some buffers in auto save.  */
-      redisplay ();
-    }
-
-  /* Try reading using an X menu.
-     This is never confused with reading using the minibuf
-     because the recursive call of read_char in read_char_minibuf_menu_prompt
-     does not pass on any keymaps.  */
-
-  if (KEYMAPP (map) && INTERACTIVE
-      && !NILP (prev_event)
-      && EVENT_HAS_PARAMETERS (prev_event)
-      && !EQ (XCAR (prev_event), Qmenu_bar)
-      && !EQ (XCAR (prev_event), Qtool_bar)
-      /* Don't bring up a menu if we already have another event.  */
-      && NILP (Vunread_command_events))
-    {
-      c = read_char_x_menu_prompt (map, prev_event, used_mouse_menu);
-
-      /* Now that we have read an event, Emacs is not idle.  */
-      if (!end_time)
-       timer_stop_idle ();
-
-      goto exit;
-    }
-
-  /* Maybe autosave and/or garbage collect due to idleness.  */
-
-  if (INTERACTIVE && NILP (c))
-    {
-      int delay_level;
-      ptrdiff_t buffer_size;
-
-      /* Slow down auto saves logarithmically in size of current buffer,
-        and garbage collect while we're at it.  */
-      if (! MINI_WINDOW_P (XWINDOW (selected_window)))
-       last_non_minibuf_size = Z - BEG;
-      buffer_size = (last_non_minibuf_size >> 8) + 1;
-      delay_level = 0;
-      while (buffer_size > 64)
-       delay_level++, buffer_size -= buffer_size >> 2;
-      if (delay_level < 4) delay_level = 4;
-      /* delay_level is 4 for files under around 50k, 7 at 100k,
-        9 at 200k, 11 at 300k, and 12 at 500k.  It is 15 at 1 meg.  */
-
-      /* Auto save if enough time goes by without input.  */
-      if (commandflag != 0 && commandflag != -2
-         && num_nonmacro_input_events > last_auto_save
-         && INTEGERP (Vauto_save_timeout)
-         && XINT (Vauto_save_timeout) > 0)
-       {
-         Lisp_Object tem0;
-         EMACS_INT timeout = XFASTINT (Vauto_save_timeout);
-
-         timeout = min (timeout, MOST_POSITIVE_FIXNUM / delay_level * 4);
-         timeout = delay_level * timeout / 4;
-         save_getcjmp (save_jump);
-         restore_getcjmp (local_getcjmp);
-         tem0 = sit_for (make_number (timeout), 1, 1);
-         restore_getcjmp (save_jump);
-
-         if (EQ (tem0, Qt)
-             && ! CONSP (Vunread_command_events))
-           {
-             Fdo_auto_save (Qnil, Qnil);
-             redisplay ();
-           }
-       }
-
-      /* If there is still no input available, ask for GC.  */
-      if (!detect_input_pending_run_timers (0))
-       maybe_gc ();
-    }
-
-  /* Notify the caller if an autosave hook, or a timer, sentinel or
-     filter in the sit_for calls above have changed the current
-     kboard.  This could happen if they use the minibuffer or start a
-     recursive edit, like the fancy splash screen in server.el's
-     filter.  If this longjmp wasn't here, read_key_sequence would
-     interpret the next key sequence using the wrong translation
-     tables and function keymaps.  */
-  if (NILP (c) && current_kboard != orig_kboard)
-    {
-      UNGCPRO;
-      return make_number (-2);  /* wrong_kboard_jmpbuf */
-    }
-
-  /* If this has become non-nil here, it has been set by a timer
-     or sentinel or filter.  */
-  if (CONSP (Vunread_command_events))
-    {
-      c = XCAR (Vunread_command_events);
-      Vunread_command_events = XCDR (Vunread_command_events);
-
-      if (CONSP (c) && EQ (XCAR (c), Qt))
-       c = XCDR (c);
-      else
-       reread = true;
-    }
-
-  /* Read something from current KBOARD's side queue, if possible.  */
-
-  if (NILP (c))
-    {
-      if (current_kboard->kbd_queue_has_data)
-       {
-         if (!CONSP (KVAR (current_kboard, kbd_queue)))
-           emacs_abort ();
-         c = XCAR (KVAR (current_kboard, kbd_queue));
-         kset_kbd_queue (current_kboard,
-                         XCDR (KVAR (current_kboard, kbd_queue)));
-         if (NILP (KVAR (current_kboard, kbd_queue)))
-           current_kboard->kbd_queue_has_data = 0;
-         input_pending = readable_events (0);
-         if (EVENT_HAS_PARAMETERS (c)
-             && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qswitch_frame))
-           internal_last_event_frame = XCAR (XCDR (c));
-         Vlast_event_frame = internal_last_event_frame;
-       }
-    }
-
-  /* If current_kboard's side queue is empty check the other kboards.
-     If one of them has data that we have not yet seen here,
-     switch to it and process the data waiting for it.
-
-     Note: if the events queued up for another kboard
-     have already been seen here, and therefore are not a complete command,
-     the kbd_queue_has_data field is 0, so we skip that kboard here.
-     That's to avoid an infinite loop switching between kboards here.  */
-  if (NILP (c) && !single_kboard)
-    {
-      KBOARD *kb;
-      for (kb = all_kboards; kb; kb = kb->next_kboard)
-       if (kb->kbd_queue_has_data)
-         {
-           current_kboard = kb;
-           /* This is going to exit from read_char
-              so we had better get rid of this frame's stuff.  */
-           UNGCPRO;
-            return make_number (-2); /* wrong_kboard_jmpbuf */
-         }
-    }
-
- wrong_kboard:
-
-  STOP_POLLING;
-
-  if (NILP (c))
-    {
-      c = read_decoded_event_from_main_queue (end_time, local_getcjmp,
-                                              prev_event, used_mouse_menu);
-      if (NILP (c) && end_time
-         && timespec_cmp (*end_time, current_timespec ()) <= 0)
-        {
-          goto exit;
-        }
-
-      if (EQ (c, make_number (-2)))
-        {
-         /* This is going to exit from read_char
-            so we had better get rid of this frame's stuff.  */
-         UNGCPRO;
-          return c;
-        }
-  }
-
- non_reread:
-
-  if (!end_time)
-    timer_stop_idle ();
-  RESUME_POLLING;
-
-  if (NILP (c))
-    {
-      if (commandflag >= 0
-         && !input_pending && !detect_input_pending_run_timers (0))
-       redisplay ();
-
-      goto wrong_kboard;
-    }
-
-  /* Buffer switch events are only for internal wakeups
-     so don't show them to the user.
-     Also, don't record a key if we already did.  */
-  if (BUFFERP (c))
-    goto exit;
-
-  /* Process special events within read_char
-     and loop around to read another event.  */
-  save = Vquit_flag;
-  Vquit_flag = Qnil;
-  tem = access_keymap (get_keymap (Vspecial_event_map, 0, 1), c, 0, 0, 1);
-  Vquit_flag = save;
-
-  if (!NILP (tem))
-    {
-      struct buffer *prev_buffer = current_buffer;
-      last_input_event = c;
-      call4 (Qcommand_execute, tem, Qnil, Fvector (1, &last_input_event), Qt);
-
-      if (CONSP (c) && EQ (XCAR (c), Qselect_window) && !end_time)
-       /* We stopped being idle for this event; undo that.  This
-          prevents automatic window selection (under
-          mouse_autoselect_window from acting as a real input event, for
-          example banishing the mouse under mouse-avoidance-mode.  */
-       timer_resume_idle ();
-
-      if (current_buffer != prev_buffer)
-       {
-         /* The command may have changed the keymaps.  Pretend there
-            is input in another keyboard and return.  This will
-            recalculate keymaps.  */
-         c = make_number (-2);
-         goto exit;
-       }
-      else
-       goto retry;
-    }
-
-  /* Handle things that only apply to characters.  */
-  if (INTEGERP (c))
-    {
-      /* If kbd_buffer_get_event gave us an EOF, return that.  */
-      if (XINT (c) == -1)
-       goto exit;
-
-      if ((STRINGP (KVAR (current_kboard, Vkeyboard_translate_table))
-          && UNSIGNED_CMP (XFASTINT (c), <,
-                           SCHARS (KVAR (current_kboard,
-                                         Vkeyboard_translate_table))))
-         || (VECTORP (KVAR (current_kboard, Vkeyboard_translate_table))
-             && UNSIGNED_CMP (XFASTINT (c), <,
-                              ASIZE (KVAR (current_kboard,
-                                           Vkeyboard_translate_table))))
-         || (CHAR_TABLE_P (KVAR (current_kboard, Vkeyboard_translate_table))
-             && CHARACTERP (c)))
-       {
-         Lisp_Object d;
-         d = Faref (KVAR (current_kboard, Vkeyboard_translate_table), c);
-         /* nil in keyboard-translate-table means no translation.  */
-         if (!NILP (d))
-           c = d;
-       }
-    }
-
-  /* If this event is a mouse click in the menu bar,
-     return just menu-bar for now.  Modify the mouse click event
-     so we won't do this twice, then queue it up.  */
-  if (EVENT_HAS_PARAMETERS (c)
-      && CONSP (XCDR (c))
-      && CONSP (EVENT_START (c))
-      && CONSP (XCDR (EVENT_START (c))))
-    {
-      Lisp_Object posn;
-
-      posn = POSN_POSN (EVENT_START (c));
-      /* Handle menu-bar events:
-        insert the dummy prefix event `menu-bar'.  */
-      if (EQ (posn, Qmenu_bar) || EQ (posn, Qtool_bar))
-       {
-         /* Change menu-bar to (menu-bar) as the event "position".  */
-         POSN_SET_POSN (EVENT_START (c), list1 (posn));
-
-         also_record = c;
-         Vunread_command_events = Fcons (c, Vunread_command_events);
-         c = posn;
-       }
-    }
-
-  /* Store these characters into recent_keys, the dribble file if any,
-     and the keyboard macro being defined, if any.  */
-  record_char (c);
-  if (! NILP (also_record))
-    record_char (also_record);
-
-  /* Wipe the echo area.
-     But first, if we are about to use an input method,
-     save the echo area contents for it to refer to.  */
-  if (INTEGERP (c)
-      && ! NILP (Vinput_method_function)
-      && ' ' <= XINT (c) && XINT (c) < 256 && XINT (c) != 127)
-    {
-      previous_echo_area_message = Fcurrent_message ();
-      Vinput_method_previous_message = previous_echo_area_message;
-    }
-
-  /* Now wipe the echo area, except for help events which do their
-     own stuff with the echo area.  */
-  if (!CONSP (c)
-      || (!(EQ (Qhelp_echo, XCAR (c)))
-         && !(EQ (Qswitch_frame, XCAR (c)))
-         /* Don't wipe echo area for select window events: These might
-            get delayed via `mouse-autoselect-window' (Bug#11304).  */
-         && !(EQ (Qselect_window, XCAR (c)))))
-    {
-      if (!NILP (echo_area_buffer[0]))
-       {
-         safe_run_hooks (Qecho_area_clear_hook);
-         clear_message (1, 0);
-       }
-    }
-
- reread_for_input_method:
- from_macro:
-  /* Pass this to the input method, if appropriate.  */
-  if (INTEGERP (c)
-      && ! NILP (Vinput_method_function)
-      /* Don't run the input method within a key sequence,
-        after the first event of the key sequence.  */
-      && NILP (prev_event)
-      && ' ' <= XINT (c) && XINT (c) < 256 && XINT (c) != 127)
-    {
-      Lisp_Object keys;
-      ptrdiff_t key_count;
-      bool key_count_reset;
-      ptrdiff_t command_key_start;
-      struct gcpro gcpro1;
-      ptrdiff_t count = SPECPDL_INDEX ();
-
-      /* Save the echo status.  */
-      bool saved_immediate_echo = current_kboard->immediate_echo;
-      struct kboard *saved_ok_to_echo = ok_to_echo_at_next_pause;
-      Lisp_Object saved_echo_string = KVAR (current_kboard, echo_string);
-      ptrdiff_t saved_echo_after_prompt = current_kboard->echo_after_prompt;
-
-#if 0
-      if (before_command_restore_flag)
-       {
-         this_command_key_count = before_command_key_count_1;
-         if (this_command_key_count < this_single_command_key_start)
-           this_single_command_key_start = this_command_key_count;
-         echo_truncate (before_command_echo_length_1);
-         before_command_restore_flag = 0;
-       }
-#endif
-
-      /* Save the this_command_keys status.  */
-      key_count = this_command_key_count;
-      key_count_reset = this_command_key_count_reset;
-      command_key_start = this_single_command_key_start;
-
-      if (key_count > 0)
-       keys = Fcopy_sequence (this_command_keys);
-      else
-       keys = Qnil;
-      GCPRO1 (keys);
-
-      /* Clear out this_command_keys.  */
-      this_command_key_count = 0;
-      this_command_key_count_reset = 0;
-      this_single_command_key_start = 0;
-
-      /* Now wipe the echo area.  */
-      if (!NILP (echo_area_buffer[0]))
-       safe_run_hooks (Qecho_area_clear_hook);
-      clear_message (1, 0);
-      echo_truncate (0);
-
-      /* If we are not reading a key sequence,
-        never use the echo area.  */
-      if (!KEYMAPP (map))
-       {
-         specbind (Qinput_method_use_echo_area, Qt);
-       }
-
-      /* Call the input method.  */
-      tem = call1 (Vinput_method_function, c);
-
-      tem = unbind_to (count, tem);
-
-      /* Restore the saved echoing state
-        and this_command_keys state.  */
-      this_command_key_count = key_count;
-      this_command_key_count_reset = key_count_reset;
-      this_single_command_key_start = command_key_start;
-      if (key_count > 0)
-       this_command_keys = keys;
-
-      cancel_echoing ();
-      ok_to_echo_at_next_pause = saved_ok_to_echo;
-      /* Do not restore the echo area string when the user is
-         introducing a prefix argument. Otherwise we end with
-         repetitions of the partially introduced prefix
-         argument. (bug#19875) */
-      if (NILP (intern ("prefix-arg")))
-        {
-          kset_echo_string (current_kboard, saved_echo_string);
-        }
-      current_kboard->echo_after_prompt = saved_echo_after_prompt;
-      if (saved_immediate_echo)
-       echo_now ();
-
-      UNGCPRO;
-
-      /* The input method can return no events.  */
-      if (! CONSP (tem))
-       {
-         /* Bring back the previous message, if any.  */
-         if (! NILP (previous_echo_area_message))
-           message_with_string ("%s", previous_echo_area_message, 0);
-         goto retry;
-       }
-      /* It returned one event or more.  */
-      c = XCAR (tem);
-      Vunread_post_input_method_events
-       = nconc2 (XCDR (tem), Vunread_post_input_method_events);
-    }
-
- reread_first:
-
-  /* Display help if not echoing.  */
-  if (CONSP (c) && EQ (XCAR (c), Qhelp_echo))
-    {
-      /* (help-echo FRAME HELP WINDOW OBJECT POS).  */
-      Lisp_Object help, object, position, window, htem;
-
-      htem = Fcdr (XCDR (c));
-      help = Fcar (htem);
-      htem = Fcdr (htem);
-      window = Fcar (htem);
-      htem = Fcdr (htem);
-      object = Fcar (htem);
-      htem = Fcdr (htem);
-      position = Fcar (htem);
-
-      show_help_echo (help, window, object, position);
-
-      /* We stopped being idle for this event; undo that.  */
-      if (!end_time)
-       timer_resume_idle ();
-      goto retry;
-    }
-
-  if ((! reread || this_command_key_count == 0
-       || this_command_key_count_reset)
-      && !end_time)
-    {
-
-      /* Don't echo mouse motion events.  */
-      if (echo_keystrokes_p ()
-         && ! (EVENT_HAS_PARAMETERS (c)
-               && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qmouse_movement)))
-       {
-         echo_char (c);
-         if (! NILP (also_record))
-           echo_char (also_record);
-         /* Once we reread a character, echoing can happen
-            the next time we pause to read a new one.  */
-         ok_to_echo_at_next_pause = current_kboard;
-       }
-
-      /* Record this character as part of the current key.  */
-      add_command_key (c);
-      if (! NILP (also_record))
-       add_command_key (also_record);
-    }
-
-  last_input_event = c;
-  num_input_events++;
-
-  /* Process the help character specially if enabled.  */
-  if (!NILP (Vhelp_form) && help_char_p (c))
-    {
-      ptrdiff_t count = SPECPDL_INDEX ();
-
-      help_form_saved_window_configs
-       = Fcons (Fcurrent_window_configuration (Qnil),
-                help_form_saved_window_configs);
-      record_unwind_protect_void (read_char_help_form_unwind);
-      call0 (Qhelp_form_show);
-
-      cancel_echoing ();
-      do
-       {
-         c = read_char (0, Qnil, Qnil, 0, NULL);
-         if (EVENT_HAS_PARAMETERS (c)
-             && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qmouse_click))
-           XSETCAR (help_form_saved_window_configs, Qnil);
-       }
-      while (BUFFERP (c));
-      /* Remove the help from the frame.  */
-      unbind_to (count, Qnil);
-
-      redisplay ();
-      if (EQ (c, make_number (040)))
-       {
-         cancel_echoing ();
-         do
-           c = read_char (0, Qnil, Qnil, 0, NULL);
-         while (BUFFERP (c));
-       }
-    }
-
- exit:
-  RESUME_POLLING;
-  input_was_pending = input_pending;
-  RETURN_UNGCPRO (c);
-}
-
-/* Record a key that came from a mouse menu.
-   Record it for echoing, for this-command-keys, and so on.  */
-
-static void
-record_menu_key (Lisp_Object c)
-{
-  /* Wipe the echo area.  */
-  clear_message (1, 0);
-
-  record_char (c);
-
-#if 0
-  before_command_key_count = this_command_key_count;
-  before_command_echo_length = echo_length ();
-#endif
-
-  /* Don't echo mouse motion events.  */
-  if (echo_keystrokes_p ())
-    {
-      echo_char (c);
-
-      /* Once we reread a character, echoing can happen
-        the next time we pause to read a new one.  */
-      ok_to_echo_at_next_pause = 0;
-    }
-
-  /* Record this character as part of the current key.  */
-  add_command_key (c);
-
-  /* Re-reading in the middle of a command.  */
-  last_input_event = c;
-  num_input_events++;
-}
-
-/* Return true if should recognize C as "the help character".  */
-
-static bool
-help_char_p (Lisp_Object c)
-{
-  Lisp_Object tail;
-
-  if (EQ (c, Vhelp_char))
-    return 1;
-  for (tail = Vhelp_event_list; CONSP (tail); tail = XCDR (tail))
-    if (EQ (c, XCAR (tail)))
-      return 1;
-  return 0;
-}
-
-/* Record the input event C in various ways.  */
-
-static void
-record_char (Lisp_Object c)
-{
-  int recorded = 0;
-
-  if (CONSP (c) && (EQ (XCAR (c), Qhelp_echo) || EQ (XCAR (c), Qmouse_movement)))
-    {
-      /* To avoid filling recent_keys with help-echo and mouse-movement
-        events, we filter out repeated help-echo events, only store the
-        first and last in a series of mouse-movement events, and don't
-        store repeated help-echo events which are only separated by
-        mouse-movement events.  */
-
-      Lisp_Object ev1, ev2, ev3;
-      int ix1, ix2, ix3;
-
-      if ((ix1 = recent_keys_index - 1) < 0)
-       ix1 = NUM_RECENT_KEYS - 1;
-      ev1 = AREF (recent_keys, ix1);
-
-      if ((ix2 = ix1 - 1) < 0)
-       ix2 = NUM_RECENT_KEYS - 1;
-      ev2 = AREF (recent_keys, ix2);
-
-      if ((ix3 = ix2 - 1) < 0)
-       ix3 = NUM_RECENT_KEYS - 1;
-      ev3 = AREF (recent_keys, ix3);
-
-      if (EQ (XCAR (c), Qhelp_echo))
-       {
-         /* Don't record `help-echo' in recent_keys unless it shows some help
-            message, and a different help than the previously recorded
-            event.  */
-         Lisp_Object help, last_help;
-
-         help = Fcar_safe (Fcdr_safe (XCDR (c)));
-         if (!STRINGP (help))
-           recorded = 1;
-         else if (CONSP (ev1) && EQ (XCAR (ev1), Qhelp_echo)
-                  && (last_help = Fcar_safe (Fcdr_safe (XCDR (ev1))), EQ (last_help, help)))
-           recorded = 1;
-         else if (CONSP (ev1) && EQ (XCAR (ev1), Qmouse_movement)
-                  && CONSP (ev2) && EQ (XCAR (ev2), Qhelp_echo)
-                  && (last_help = Fcar_safe (Fcdr_safe (XCDR (ev2))), EQ (last_help, help)))
-           recorded = -1;
-         else if (CONSP (ev1) && EQ (XCAR (ev1), Qmouse_movement)
-                  && CONSP (ev2) && EQ (XCAR (ev2), Qmouse_movement)
-                  && CONSP (ev3) && EQ (XCAR (ev3), Qhelp_echo)
-                  && (last_help = Fcar_safe (Fcdr_safe (XCDR (ev3))), EQ (last_help, help)))
-           recorded = -2;
-       }
-      else if (EQ (XCAR (c), Qmouse_movement))
-       {
-         /* Only record one pair of `mouse-movement' on a window in recent_keys.
-            So additional mouse movement events replace the last element.  */
-         Lisp_Object last_window, window;
-
-         window = Fcar_safe (Fcar_safe (XCDR (c)));
-         if (CONSP (ev1) && EQ (XCAR (ev1), Qmouse_movement)
-             && (last_window = Fcar_safe (Fcar_safe (XCDR (ev1))), EQ (last_window, window))
-             && CONSP (ev2) && EQ (XCAR (ev2), Qmouse_movement)
-             && (last_window = Fcar_safe (Fcar_safe (XCDR (ev2))), EQ (last_window, window)))
-           {
-             ASET (recent_keys, ix1, c);
-             recorded = 1;
-           }
-       }
-    }
-  else
-    store_kbd_macro_char (c);
-
-  if (!recorded)
-    {
-      total_keys += total_keys < NUM_RECENT_KEYS;
-      ASET (recent_keys, recent_keys_index, c);
-      if (++recent_keys_index >= NUM_RECENT_KEYS)
-       recent_keys_index = 0;
-    }
-  else if (recorded < 0)
-    {
-      /* We need to remove one or two events from recent_keys.
-         To do this, we simply put nil at those events and move the
-        recent_keys_index backwards over those events.  Usually,
-        users will never see those nil events, as they will be
-        overwritten by the command keys entered to see recent_keys
-        (e.g. C-h l).  */
-
-      while (recorded++ < 0 && total_keys > 0)
-       {
-         if (total_keys < NUM_RECENT_KEYS)
-           total_keys--;
-         if (--recent_keys_index < 0)
-           recent_keys_index = NUM_RECENT_KEYS - 1;
-         ASET (recent_keys, recent_keys_index, Qnil);
-       }
-    }
-
-  num_nonmacro_input_events++;
-
-  /* Write c to the dribble file.  If c is a lispy event, write
-     the event's symbol to the dribble file, in <brackets>.  Bleaugh.
-     If you, dear reader, have a better idea, you've got the source.  :-) */
-  if (dribble)
-    {
-      block_input ();
-      if (INTEGERP (c))
-       {
-         if (XUINT (c) < 0x100)
-           putc (XUINT (c), dribble);
-         else
-           fprintf (dribble, " 0x%"pI"x", XUINT (c));
-       }
-      else
-       {
-         Lisp_Object dribblee;
-
-         /* If it's a structured event, take the event header.  */
-         dribblee = EVENT_HEAD (c);
-
-         if (SYMBOLP (dribblee))
-           {
-             putc ('<', dribble);
-             fwrite (SDATA (SYMBOL_NAME (dribblee)), sizeof (char),
-                     SBYTES (SYMBOL_NAME (dribblee)),
-                     dribble);
-             putc ('>', dribble);
-           }
-       }
-
-      fflush (dribble);
-      unblock_input ();
-    }
-}
-
-/* Copy out or in the info on where C-g should throw to.
-   This is used when running Lisp code from within get_char,
-   in case get_char is called recursively.
-   See read_process_output.  */
-
-static void
-save_getcjmp (sys_jmp_buf temp)
-{
-  memcpy (temp, getcjmp, sizeof getcjmp);
-}
-
-static void
-restore_getcjmp (sys_jmp_buf temp)
-{
-  memcpy (getcjmp, temp, sizeof getcjmp);
-}
-\f
-/* Low level keyboard/mouse input.
-   kbd_buffer_store_event places events in kbd_buffer, and
-   kbd_buffer_get_event retrieves them.  */
-
-/* Return true if there are any events in the queue that read-char
-   would return.  If this returns false, a read-char would block.  */
-static bool
-readable_events (int flags)
-{
-  if (flags & READABLE_EVENTS_DO_TIMERS_NOW)
-    timer_check ();
-
-  /* If the buffer contains only FOCUS_IN_EVENT events, and
-     READABLE_EVENTS_FILTER_EVENTS is set, report it as empty.  */
-  if (kbd_fetch_ptr != kbd_store_ptr)
-    {
-      if (flags & (READABLE_EVENTS_FILTER_EVENTS
-#ifdef USE_TOOLKIT_SCROLL_BARS
-                  | READABLE_EVENTS_IGNORE_SQUEEZABLES
-#endif
-                  ))
-        {
-          struct input_event *event;
-
-          event = ((kbd_fetch_ptr < kbd_buffer + KBD_BUFFER_SIZE)
-                   ? kbd_fetch_ptr
-                   : kbd_buffer);
-
-         do
-           {
-             if (!(
-#ifdef USE_TOOLKIT_SCROLL_BARS
-                   (flags & READABLE_EVENTS_FILTER_EVENTS) &&
-#endif
-                   event->kind == FOCUS_IN_EVENT)
-#ifdef USE_TOOLKIT_SCROLL_BARS
-                 && !((flags & READABLE_EVENTS_IGNORE_SQUEEZABLES)
-                      && (event->kind == SCROLL_BAR_CLICK_EVENT
-                          || event->kind == HORIZONTAL_SCROLL_BAR_CLICK_EVENT)
-                      && event->part == scroll_bar_handle
-                      && event->modifiers == 0)
-#endif
-                 && !((flags & READABLE_EVENTS_FILTER_EVENTS)
-                      && event->kind == BUFFER_SWITCH_EVENT))
-               return 1;
-             event++;
-              if (event == kbd_buffer + KBD_BUFFER_SIZE)
-                event = kbd_buffer;
-           }
-         while (event != kbd_store_ptr);
-        }
-      else
-       return 1;
-    }
-
-  if (!(flags & READABLE_EVENTS_IGNORE_SQUEEZABLES)
-      && !NILP (do_mouse_tracking) && some_mouse_moved ())
-    return 1;
-  if (single_kboard)
-    {
-      if (current_kboard->kbd_queue_has_data)
-       return 1;
-    }
-  else
-    {
-      KBOARD *kb;
-      for (kb = all_kboards; kb; kb = kb->next_kboard)
-       if (kb->kbd_queue_has_data)
-         return 1;
-    }
-  return 0;
-}
-
-/* Set this for debugging, to have a way to get out */
-int stop_character EXTERNALLY_VISIBLE;
-
-static KBOARD *
-event_to_kboard (struct input_event *event)
-{
-  /* Not applicable for these special events.  */
-  if (event->kind == SELECTION_REQUEST_EVENT
-      || event->kind == SELECTION_CLEAR_EVENT)
-    return NULL;
-  else
-    {
-      Lisp_Object obj = event->frame_or_window;
-      /* There are some events that set this field to nil or string.  */
-      if (WINDOWP (obj))
-       obj = WINDOW_FRAME (XWINDOW (obj));
-      /* Also ignore dead frames here.  */
-      return ((FRAMEP (obj) && FRAME_LIVE_P (XFRAME (obj)))
-             ? FRAME_KBOARD (XFRAME (obj)) : NULL);
-    }
-}
-
-#ifdef subprocesses
-/* Return the number of slots occupied in kbd_buffer.  */
-
-static int
-kbd_buffer_nr_stored (void)
-{
-  return kbd_fetch_ptr == kbd_store_ptr
-    ? 0
-    : (kbd_fetch_ptr < kbd_store_ptr
-       ? kbd_store_ptr - kbd_fetch_ptr
-       : ((kbd_buffer + KBD_BUFFER_SIZE) - kbd_fetch_ptr
-          + (kbd_store_ptr - kbd_buffer)));
-}
-#endif /* Store an event obtained at interrupt level into kbd_buffer, fifo */
-
-void
-kbd_buffer_store_event (register struct input_event *event)
-{
-  kbd_buffer_store_event_hold (event, 0);
-}
-
-/* Store EVENT obtained at interrupt level into kbd_buffer, fifo.
-
-   If HOLD_QUIT is 0, just stuff EVENT into the fifo.
-   Else, if HOLD_QUIT.kind != NO_EVENT, discard EVENT.
-   Else, if EVENT is a quit event, store the quit event
-   in HOLD_QUIT, and return (thus ignoring further events).
-
-   This is used to postpone the processing of the quit event until all
-   subsequent input events have been parsed (and discarded).  */
-
-void
-kbd_buffer_store_event_hold (register struct input_event *event,
-                            struct input_event *hold_quit)
-{
-  if (event->kind == NO_EVENT)
-    emacs_abort ();
-
-  if (hold_quit && hold_quit->kind != NO_EVENT)
-    return;
-
-  if (event->kind == ASCII_KEYSTROKE_EVENT)
-    {
-      register int c = event->code & 0377;
-
-      if (event->modifiers & ctrl_modifier)
-       c = make_ctrl_char (c);
-
-      c |= (event->modifiers
-           & (meta_modifier | alt_modifier
-              | hyper_modifier | super_modifier));
-
-      if (c == quit_char)
-       {
-         KBOARD *kb = FRAME_KBOARD (XFRAME (event->frame_or_window));
-         struct input_event *sp;
-
-         if (single_kboard && kb != current_kboard)
-           {
-             kset_kbd_queue
-               (kb, list2 (make_lispy_switch_frame (event->frame_or_window),
-                           make_number (c)));
-             kb->kbd_queue_has_data = 1;
-             for (sp = kbd_fetch_ptr; sp != kbd_store_ptr; sp++)
-               {
-                 if (sp == kbd_buffer + KBD_BUFFER_SIZE)
-                   sp = kbd_buffer;
-
-                 if (event_to_kboard (sp) == kb)
-                   {
-                     sp->kind = NO_EVENT;
-                     sp->frame_or_window = Qnil;
-                     sp->arg = Qnil;
-                   }
-               }
-             return;
-           }
-
-         if (hold_quit)
-           {
-             *hold_quit = *event;
-             return;
-           }
-
-         /* If this results in a quit_char being returned to Emacs as
-            input, set Vlast_event_frame properly.  If this doesn't
-            get returned to Emacs as an event, the next event read
-            will set Vlast_event_frame again, so this is safe to do.  */
-         {
-           Lisp_Object focus;
-
-           focus = FRAME_FOCUS_FRAME (XFRAME (event->frame_or_window));
-           if (NILP (focus))
-             focus = event->frame_or_window;
-           internal_last_event_frame = focus;
-           Vlast_event_frame = focus;
-         }
-
-         handle_interrupt (0);
-         return;
-       }
-
-      if (c && c == stop_character)
-       {
-         sys_suspend ();
-         return;
-       }
-    }
-  /* Don't insert two BUFFER_SWITCH_EVENT's in a row.
-     Just ignore the second one.  */
-  else if (event->kind == BUFFER_SWITCH_EVENT
-          && kbd_fetch_ptr != kbd_store_ptr
-          && ((kbd_store_ptr == kbd_buffer
-               ? kbd_buffer + KBD_BUFFER_SIZE - 1
-               : kbd_store_ptr - 1)->kind) == BUFFER_SWITCH_EVENT)
-    return;
-
-  if (kbd_store_ptr - kbd_buffer == KBD_BUFFER_SIZE)
-    kbd_store_ptr = kbd_buffer;
-
-  /* Don't let the very last slot in the buffer become full,
-     since that would make the two pointers equal,
-     and that is indistinguishable from an empty buffer.
-     Discard the event if it would fill the last slot.  */
-  if (kbd_fetch_ptr - 1 != kbd_store_ptr)
-    {
-      *kbd_store_ptr = *event;
-      ++kbd_store_ptr;
-#ifdef subprocesses
-      if (kbd_buffer_nr_stored () > KBD_BUFFER_SIZE / 2
-         && ! kbd_on_hold_p ())
-        {
-          /* Don't read keyboard input until we have processed kbd_buffer.
-             This happens when pasting text longer than KBD_BUFFER_SIZE/2.  */
-          hold_keyboard_input ();
-          if (!noninteractive)
-            ignore_sigio ();
-          stop_polling ();
-        }
-#endif /* subprocesses */
-    }
-
-  /* If we're inside while-no-input, and this event qualifies
-     as input, set quit-flag to cause an interrupt.  */
-  if (!NILP (Vthrow_on_input)
-      && event->kind != FOCUS_IN_EVENT
-      && event->kind != FOCUS_OUT_EVENT
-      && event->kind != HELP_EVENT
-      && event->kind != ICONIFY_EVENT
-      && event->kind != DEICONIFY_EVENT)
-    {
-      Vquit_flag = Vthrow_on_input;
-      /* If we're inside a function that wants immediate quits,
-        do it now.  */
-      if (immediate_quit && NILP (Vinhibit_quit))
-       {
-         immediate_quit = 0;
-         QUIT;
-       }
-    }
-}
-
-
-/* Put an input event back in the head of the event queue.  */
-
-void
-kbd_buffer_unget_event (register struct input_event *event)
-{
-  if (kbd_fetch_ptr == kbd_buffer)
-    kbd_fetch_ptr = kbd_buffer + KBD_BUFFER_SIZE;
-
-  /* Don't let the very last slot in the buffer become full,  */
-  if (kbd_fetch_ptr - 1 != kbd_store_ptr)
-    {
-      --kbd_fetch_ptr;
-      *kbd_fetch_ptr = *event;
-    }
-}
-
-/* Limit help event positions to this range, to avoid overflow problems.  */
-#define INPUT_EVENT_POS_MAX \
-  ((ptrdiff_t) min (PTRDIFF_MAX, min (TYPE_MAXIMUM (Time) / 2, \
-                                     MOST_POSITIVE_FIXNUM)))
-#define INPUT_EVENT_POS_MIN (-1 - INPUT_EVENT_POS_MAX)
-
-/* Return a Time that encodes position POS.  POS must be in range.  */
-
-static Time
-position_to_Time (ptrdiff_t pos)
-{
-  eassert (INPUT_EVENT_POS_MIN <= pos && pos <= INPUT_EVENT_POS_MAX);
-  return pos;
-}
-
-/* Return the position that ENCODED_POS encodes.
-   Avoid signed integer overflow.  */
-
-static ptrdiff_t
-Time_to_position (Time encoded_pos)
-{
-  if (encoded_pos <= INPUT_EVENT_POS_MAX)
-    return encoded_pos;
-  Time encoded_pos_min = INPUT_EVENT_POS_MIN;
-  eassert (encoded_pos_min <= encoded_pos);
-  ptrdiff_t notpos = -1 - encoded_pos;
-  return -1 - notpos;
-}
-
-/* Generate a HELP_EVENT input_event and store it in the keyboard
-   buffer.
-
-   HELP is the help form.
-
-   FRAME and WINDOW are the frame and window where the help is
-   generated.  OBJECT is the Lisp object where the help was found (a
-   buffer, a string, an overlay, or nil if neither from a string nor
-   from a buffer).  POS is the position within OBJECT where the help
-   was found.  */
-
-void
-gen_help_event (Lisp_Object help, Lisp_Object frame, Lisp_Object window,
-               Lisp_Object object, ptrdiff_t pos)
-{
-  struct input_event event;
-
-  event.kind = HELP_EVENT;
-  event.frame_or_window = frame;
-  event.arg = object;
-  event.x = WINDOWP (window) ? window : frame;
-  event.y = help;
-  event.timestamp = position_to_Time (pos);
-  kbd_buffer_store_event (&event);
-}
-
-
-/* Store HELP_EVENTs for HELP on FRAME in the input queue.  */
-
-void
-kbd_buffer_store_help_event (Lisp_Object frame, Lisp_Object help)
-{
-  struct input_event event;
-
-  event.kind = HELP_EVENT;
-  event.frame_or_window = frame;
-  event.arg = Qnil;
-  event.x = Qnil;
-  event.y = help;
-  event.timestamp = 0;
-  kbd_buffer_store_event (&event);
-}
-
-\f
-/* Discard any mouse events in the event buffer by setting them to
-   NO_EVENT.  */
-void
-discard_mouse_events (void)
-{
-  struct input_event *sp;
-  for (sp = kbd_fetch_ptr; sp != kbd_store_ptr; sp++)
-    {
-      if (sp == kbd_buffer + KBD_BUFFER_SIZE)
-       sp = kbd_buffer;
-
-      if (sp->kind == MOUSE_CLICK_EVENT
-         || sp->kind == WHEEL_EVENT
-          || sp->kind == HORIZ_WHEEL_EVENT
-#ifdef HAVE_GPM
-         || sp->kind == GPM_CLICK_EVENT
-#endif
-         || sp->kind == SCROLL_BAR_CLICK_EVENT
-         || sp->kind == HORIZONTAL_SCROLL_BAR_CLICK_EVENT)
-       {
-         sp->kind = NO_EVENT;
-       }
-    }
-}
-
-
-/* Return true if there are any real events waiting in the event
-   buffer, not counting `NO_EVENT's.
-
-   Discard NO_EVENT events at the front of the input queue, possibly
-   leaving the input queue empty if there are no real input events.  */
-
-bool
-kbd_buffer_events_waiting (void)
-{
-  struct input_event *sp;
-
-  for (sp = kbd_fetch_ptr;
-       sp != kbd_store_ptr && sp->kind == NO_EVENT;
-       ++sp)
-    {
-      if (sp == kbd_buffer + KBD_BUFFER_SIZE)
-       sp = kbd_buffer;
-    }
-
-  kbd_fetch_ptr = sp;
-  return sp != kbd_store_ptr && sp->kind != NO_EVENT;
-}
-
-\f
-/* Clear input event EVENT.  */
-
-static void
-clear_event (struct input_event *event)
-{
-  event->kind = NO_EVENT;
-}
-
-
-/* Read one event from the event buffer, waiting if necessary.
-   The value is a Lisp object representing the event.
-   The value is nil for an event that should be ignored,
-   or that was handled here.
-   We always read and discard one event.  */
-
-static Lisp_Object
-kbd_buffer_get_event (KBOARD **kbp,
-                      bool *used_mouse_menu,
-                      struct timespec *end_time)
-{
-  Lisp_Object obj;
-
-#ifdef subprocesses
-  if (kbd_on_hold_p () && kbd_buffer_nr_stored () < KBD_BUFFER_SIZE / 4)
-    {
-      /* Start reading input again because we have processed enough to
-         be able to accept new events again.  */
-      unhold_keyboard_input ();
-      start_polling ();
-    }
-#endif /* subprocesses */
-
-#if !defined HAVE_DBUS && !defined USE_FILE_NOTIFY
-  if (noninteractive
-      /* In case we are running as a daemon, only do this before
-        detaching from the terminal.  */
-      || (IS_DAEMON && DAEMON_RUNNING))
-    {
-      int c = getchar ();
-      XSETINT (obj, c);
-      *kbp = current_kboard;
-      return obj;
-    }
-#endif /* !defined HAVE_DBUS && !defined USE_FILE_NOTIFY  */
-
-  /* Wait until there is input available.  */
-  for (;;)
-    {
-      /* Break loop if there's an unread command event.  Needed in
-        moused window autoselection which uses a timer to insert such
-        events.  */
-      if (CONSP (Vunread_command_events))
-       break;
-
-      if (kbd_fetch_ptr != kbd_store_ptr)
-       break;
-      if (!NILP (do_mouse_tracking) && some_mouse_moved ())
-       break;
-
-      /* If the quit flag is set, then read_char will return
-        quit_char, so that counts as "available input."  */
-      if (!NILP (Vquit_flag))
-       quit_throw_to_read_char (0);
-
-      /* One way or another, wait until input is available; then, if
-        interrupt handlers have not read it, read it now.  */
-
-#ifdef USABLE_SIGIO
-      gobble_input ();
-#endif
-      if (kbd_fetch_ptr != kbd_store_ptr)
-       break;
-      if (!NILP (do_mouse_tracking) && some_mouse_moved ())
-       break;
-      if (end_time)
-       {
-         struct timespec now = current_timespec ();
-         if (timespec_cmp (*end_time, now) <= 0)
-           return Qnil;        /* Finished waiting.  */
-         else
-           {
-             struct timespec duration = timespec_sub (*end_time, now);
-             wait_reading_process_output (min (duration.tv_sec,
-                                               WAIT_READING_MAX),
-                                          duration.tv_nsec,
-                                          -1, 1, Qnil, NULL, 0);
-           }
-       }
-      else
-       {
-         bool do_display = true;
-
-         if (FRAME_TERMCAP_P (SELECTED_FRAME ()))
-           {
-             struct tty_display_info *tty = CURTTY ();
-
-             /* When this TTY is displaying a menu, we must prevent
-                any redisplay, because we modify the frame's glyph
-                matrix behind the back of the display engine.  */
-             if (tty->showing_menu)
-               do_display = false;
-           }
-
-         wait_reading_process_output (0, 0, -1, do_display, Qnil, NULL, 0);
-       }
-
-      if (!interrupt_input && kbd_fetch_ptr == kbd_store_ptr)
-       gobble_input ();
-    }
-
-  if (CONSP (Vunread_command_events))
-    {
-      Lisp_Object first;
-      first = XCAR (Vunread_command_events);
-      Vunread_command_events = XCDR (Vunread_command_events);
-      *kbp = current_kboard;
-      return first;
-    }
-
-  /* At this point, we know that there is a readable event available
-     somewhere.  If the event queue is empty, then there must be a
-     mouse movement enabled and available.  */
-  if (kbd_fetch_ptr != kbd_store_ptr)
-    {
-      struct input_event *event;
-
-      event = ((kbd_fetch_ptr < kbd_buffer + KBD_BUFFER_SIZE)
-              ? kbd_fetch_ptr
-              : kbd_buffer);
-
-      *kbp = event_to_kboard (event);
-      if (*kbp == 0)
-       *kbp = current_kboard;  /* Better than returning null ptr?  */
-
-      obj = Qnil;
-
-      /* These two kinds of events get special handling
-        and don't actually appear to the command loop.
-        We return nil for them.  */
-      if (event->kind == SELECTION_REQUEST_EVENT
-         || event->kind == SELECTION_CLEAR_EVENT)
-       {
-#ifdef HAVE_X11
-         struct input_event copy;
-
-         /* Remove it from the buffer before processing it,
-            since otherwise swallow_events will see it
-            and process it again.  */
-         copy = *event;
-         kbd_fetch_ptr = event + 1;
-         input_pending = readable_events (0);
-         x_handle_selection_event (&copy);
-#else
-         /* We're getting selection request events, but we don't have
-             a window system.  */
-         emacs_abort ();
-#endif
-       }
-
-#if defined (HAVE_NS)
-      else if (event->kind == NS_TEXT_EVENT)
-        {
-          if (event->code == KEY_NS_PUT_WORKING_TEXT)
-            obj = list1 (intern ("ns-put-working-text"));
-          else
-            obj = list1 (intern ("ns-unput-working-text"));
-         kbd_fetch_ptr = event + 1;
-          if (used_mouse_menu)
-            *used_mouse_menu = 1;
-        }
-#endif
-
-#if defined (HAVE_X11) || defined (HAVE_NTGUI) \
-    || defined (HAVE_NS)
-      else if (event->kind == DELETE_WINDOW_EVENT)
-       {
-         /* Make an event (delete-frame (FRAME)).  */
-         obj = list2 (Qdelete_frame, list1 (event->frame_or_window));
-         kbd_fetch_ptr = event + 1;
-       }
-#endif
-#if defined (HAVE_X11) || defined (HAVE_NTGUI) \
-    || defined (HAVE_NS)
-      else if (event->kind == ICONIFY_EVENT)
-       {
-         /* Make an event (iconify-frame (FRAME)).  */
-         obj = list2 (Qiconify_frame, list1 (event->frame_or_window));
-         kbd_fetch_ptr = event + 1;
-       }
-      else if (event->kind == DEICONIFY_EVENT)
-       {
-         /* Make an event (make-frame-visible (FRAME)).  */
-         obj = list2 (Qmake_frame_visible, list1 (event->frame_or_window));
-         kbd_fetch_ptr = event + 1;
-       }
-#endif
-      else if (event->kind == BUFFER_SWITCH_EVENT)
-       {
-         /* The value doesn't matter here; only the type is tested.  */
-         XSETBUFFER (obj, current_buffer);
-         kbd_fetch_ptr = event + 1;
-       }
-#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
-    || defined (HAVE_NS) || defined (USE_GTK)
-      else if (event->kind == MENU_BAR_ACTIVATE_EVENT)
-       {
-         kbd_fetch_ptr = event + 1;
-         input_pending = readable_events (0);
-         if (FRAME_LIVE_P (XFRAME (event->frame_or_window)))
-           x_activate_menubar (XFRAME (event->frame_or_window));
-       }
-#endif
-#ifdef HAVE_NTGUI
-      else if (event->kind == LANGUAGE_CHANGE_EVENT)
-       {
-         /* Make an event (language-change FRAME CODEPAGE LANGUAGE-ID).  */
-         obj = list4 (Qlanguage_change,
-                      event->frame_or_window,
-                      make_number (event->code),
-                      make_number (event->modifiers));
-         kbd_fetch_ptr = event + 1;
-       }
-#endif
-#ifdef USE_FILE_NOTIFY
-      else if (event->kind == FILE_NOTIFY_EVENT)
-       {
-#ifdef HAVE_W32NOTIFY
-         /* Make an event (file-notify (DESCRIPTOR ACTION FILE) CALLBACK).  */
-         obj = list3 (Qfile_notify, event->arg, event->frame_or_window);
-#else
-          obj = make_lispy_event (event);
-#endif
-         kbd_fetch_ptr = event + 1;
-       }
-#endif /* USE_FILE_NOTIFY */
-      else if (event->kind == SAVE_SESSION_EVENT)
-        {
-          obj = list2 (Qsave_session, event->arg);
-         kbd_fetch_ptr = event + 1;
-        }
-      /* Just discard these, by returning nil.
-        With MULTI_KBOARD, these events are used as placeholders
-        when we need to randomly delete events from the queue.
-        (They shouldn't otherwise be found in the buffer,
-        but on some machines it appears they do show up
-        even without MULTI_KBOARD.)  */
-      /* On Windows NT/9X, NO_EVENT is used to delete extraneous
-         mouse events during a popup-menu call.  */
-      else if (event->kind == NO_EVENT)
-       kbd_fetch_ptr = event + 1;
-      else if (event->kind == HELP_EVENT)
-       {
-         Lisp_Object object, position, help, frame, window;
-
-         frame = event->frame_or_window;
-         object = event->arg;
-         position = make_number (Time_to_position (event->timestamp));
-         window = event->x;
-         help = event->y;
-         clear_event (event);
-
-         kbd_fetch_ptr = event + 1;
-         if (!WINDOWP (window))
-           window = Qnil;
-         obj = Fcons (Qhelp_echo,
-                      list5 (frame, help, window, object, position));
-       }
-      else if (event->kind == FOCUS_IN_EVENT)
-       {
-         /* Notification of a FocusIn event.  The frame receiving the
-            focus is in event->frame_or_window.  Generate a
-            switch-frame event if necessary.  */
-         Lisp_Object frame, focus;
-
-          frame = event->frame_or_window;
-          focus = FRAME_FOCUS_FRAME (XFRAME (frame));
-          if (FRAMEP (focus))
-            frame = focus;
-
-          if (
-#ifdef HAVE_X11
-              ! NILP (event->arg)
-              &&
-#endif
-              !EQ (frame, internal_last_event_frame)
-              && !EQ (frame, selected_frame))
-            obj = make_lispy_switch_frame (frame);
-          else
-            obj = make_lispy_focus_in (frame);
-
-          internal_last_event_frame = frame;
-          kbd_fetch_ptr = event + 1;
-        }
-      else if (event->kind == FOCUS_OUT_EVENT)
-        {
-#ifdef HAVE_WINDOW_SYSTEM
-
-          Display_Info *di;
-          Lisp_Object frame = event->frame_or_window;
-          bool focused = false;
-
-          for (di = x_display_list; di && ! focused; di = di->next)
-            focused = di->x_highlight_frame != 0;
-
-          if (!focused)
-           obj = make_lispy_focus_out (frame);
-
-#endif /* HAVE_WINDOW_SYSTEM */
-
-          kbd_fetch_ptr = event + 1;
-        }
-#ifdef HAVE_DBUS
-      else if (event->kind == DBUS_EVENT)
-       {
-         obj = make_lispy_event (event);
-         kbd_fetch_ptr = event + 1;
-       }
-#endif
-      else if (event->kind == CONFIG_CHANGED_EVENT)
-       {
-         obj = make_lispy_event (event);
-         kbd_fetch_ptr = event + 1;
-       }
-      else
-       {
-         /* If this event is on a different frame, return a switch-frame this
-            time, and leave the event in the queue for next time.  */
-         Lisp_Object frame;
-         Lisp_Object focus;
-
-         frame = event->frame_or_window;
-         if (CONSP (frame))
-           frame = XCAR (frame);
-         else if (WINDOWP (frame))
-           frame = WINDOW_FRAME (XWINDOW (frame));
-
-         focus = FRAME_FOCUS_FRAME (XFRAME (frame));
-         if (! NILP (focus))
-           frame = focus;
-
-         if (! EQ (frame, internal_last_event_frame)
-             && !EQ (frame, selected_frame))
-           obj = make_lispy_switch_frame (frame);
-         internal_last_event_frame = frame;
-
-         /* If we didn't decide to make a switch-frame event, go ahead
-            and build a real event from the queue entry.  */
-
-         if (NILP (obj))
-           {
-             obj = make_lispy_event (event);
-
-#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
-    || defined (HAVE_NS) || defined (USE_GTK)
-             /* If this was a menu selection, then set the flag to inhibit
-                writing to last_nonmenu_event.  Don't do this if the event
-                we're returning is (menu-bar), though; that indicates the
-                beginning of the menu sequence, and we might as well leave
-                that as the `event with parameters' for this selection.  */
-             if (used_mouse_menu
-                 && !EQ (event->frame_or_window, event->arg)
-                 && (event->kind == MENU_BAR_EVENT
-                     || event->kind == TOOL_BAR_EVENT))
-               *used_mouse_menu = 1;
-#endif
-#ifdef HAVE_NS
-             /* Certain system events are non-key events.  */
-             if (used_mouse_menu
-                  && event->kind == NS_NONKEY_EVENT)
-               *used_mouse_menu = 1;
-#endif
-
-             /* Wipe out this event, to catch bugs.  */
-             clear_event (event);
-             kbd_fetch_ptr = event + 1;
-           }
-       }
-    }
-  /* Try generating a mouse motion event.  */
-  else if (!NILP (do_mouse_tracking) && some_mouse_moved ())
-    {
-      struct frame *f = some_mouse_moved ();
-      Lisp_Object bar_window;
-      enum scroll_bar_part part;
-      Lisp_Object x, y;
-      Time t;
-
-      *kbp = current_kboard;
-      /* Note that this uses F to determine which terminal to look at.
-        If there is no valid info, it does not store anything
-        so x remains nil.  */
-      x = Qnil;
-
-      /* XXX Can f or mouse_position_hook be NULL here?  */
-      if (f && FRAME_TERMINAL (f)->mouse_position_hook)
-        (*FRAME_TERMINAL (f)->mouse_position_hook) (&f, 0, &bar_window,
-                                                    &part, &x, &y, &t);
-
-      obj = Qnil;
-
-      /* Decide if we should generate a switch-frame event.  Don't
-        generate switch-frame events for motion outside of all Emacs
-        frames.  */
-      if (!NILP (x) && f)
-       {
-         Lisp_Object frame;
-
-         frame = FRAME_FOCUS_FRAME (f);
-         if (NILP (frame))
-           XSETFRAME (frame, f);
-
-         if (! EQ (frame, internal_last_event_frame)
-             && !EQ (frame, selected_frame))
-           obj = make_lispy_switch_frame (frame);
-         internal_last_event_frame = frame;
-       }
-
-      /* If we didn't decide to make a switch-frame event, go ahead and
-        return a mouse-motion event.  */
-      if (!NILP (x) && NILP (obj))
-       obj = make_lispy_movement (f, bar_window, part, x, y, t);
-    }
-  else
-    /* We were promised by the above while loop that there was
-       something for us to read!  */
-    emacs_abort ();
-
-  input_pending = readable_events (0);
-
-  Vlast_event_frame = internal_last_event_frame;
-
-  return (obj);
-}
-\f
-/* Process any non-user-visible events (currently X selection events),
-   without reading any user-visible events.  */
-
-static void
-process_special_events (void)
-{
-  struct input_event *event;
-
-  for (event = kbd_fetch_ptr; event != kbd_store_ptr; ++event)
-    {
-      if (event == kbd_buffer + KBD_BUFFER_SIZE)
-       {
-         event = kbd_buffer;
-         if (event == kbd_store_ptr)
-           break;
-       }
-
-      /* If we find a stored X selection request, handle it now.  */
-      if (event->kind == SELECTION_REQUEST_EVENT
-         || event->kind == SELECTION_CLEAR_EVENT)
-       {
-#ifdef HAVE_X11
-
-         /* Remove the event from the fifo buffer before processing;
-            otherwise swallow_events called recursively could see it
-            and process it again.  To do this, we move the events
-            between kbd_fetch_ptr and EVENT one slot to the right,
-            cyclically.  */
-
-         struct input_event copy = *event;
-         struct input_event *beg
-           = (kbd_fetch_ptr == kbd_buffer + KBD_BUFFER_SIZE)
-           ? kbd_buffer : kbd_fetch_ptr;
-
-         if (event > beg)
-           memmove (beg + 1, beg, (event - beg) * sizeof (struct input_event));
-         else if (event < beg)
-           {
-             if (event > kbd_buffer)
-               memmove (kbd_buffer + 1, kbd_buffer,
-                        (event - kbd_buffer) * sizeof (struct input_event));
-             *kbd_buffer = *(kbd_buffer + KBD_BUFFER_SIZE - 1);
-             if (beg < kbd_buffer + KBD_BUFFER_SIZE - 1)
-               memmove (beg + 1, beg,
-                        (kbd_buffer + KBD_BUFFER_SIZE - 1 - beg)
-                        * sizeof (struct input_event));
-           }
-
-         if (kbd_fetch_ptr == kbd_buffer + KBD_BUFFER_SIZE)
-           kbd_fetch_ptr = kbd_buffer + 1;
-         else
-           kbd_fetch_ptr++;
-
-         input_pending = readable_events (0);
-         x_handle_selection_event (&copy);
-#else
-         /* We're getting selection request events, but we don't have
-             a window system.  */
-         emacs_abort ();
-#endif
-       }
-    }
-}
-
-/* Process any events that are not user-visible, run timer events that
-   are ripe, and return, without reading any user-visible events.  */
-
-void
-swallow_events (bool do_display)
-{
-  unsigned old_timers_run;
-
-  process_special_events ();
-
-  old_timers_run = timers_run;
-  get_input_pending (READABLE_EVENTS_DO_TIMERS_NOW);
-
-  if (!input_pending && timers_run != old_timers_run && do_display)
-    redisplay_preserve_echo_area (7);
-}
-\f
-/* Record the start of when Emacs is idle,
-   for the sake of running idle-time timers.  */
-
-static void
-timer_start_idle (void)
-{
-  /* If we are already in the idle state, do nothing.  */
-  if (timespec_valid_p (timer_idleness_start_time))
-    return;
-
-  timer_idleness_start_time = current_timespec ();
-  timer_last_idleness_start_time = timer_idleness_start_time;
-
-  /* Mark all idle-time timers as once again candidates for running.  */
-  call0 (intern ("internal-timer-start-idle"));
-}
-
-/* Record that Emacs is no longer idle, so stop running idle-time timers.  */
-
-static void
-timer_stop_idle (void)
-{
-  timer_idleness_start_time = invalid_timespec ();
-}
-
-/* Resume idle timer from last idle start time.  */
-
-static void
-timer_resume_idle (void)
-{
-  if (timespec_valid_p (timer_idleness_start_time))
-    return;
-
-  timer_idleness_start_time = timer_last_idleness_start_time;
-}
-
-/* This is only for debugging.  */
-struct input_event last_timer_event EXTERNALLY_VISIBLE;
-
-/* List of elisp functions to call, delayed because they were generated in
-   a context where Elisp could not be safely run (e.g. redisplay, signal,
-   ...).  Each element has the form (FUN . ARGS).  */
-Lisp_Object pending_funcalls;
-
-/* Return true if TIMER is a valid timer, placing its value into *RESULT.  */
-static bool
-decode_timer (Lisp_Object timer, struct timespec *result)
-{
-  Lisp_Object *vec;
-
-  if (! (VECTORP (timer) && ASIZE (timer) == 9))
-    return 0;
-  vec = XVECTOR (timer)->contents;
-  if (! NILP (vec[0]))
-    return 0;
-  if (! INTEGERP (vec[2]))
-    return false;
-
-  struct lisp_time t;
-  if (decode_time_components (vec[1], vec[2], vec[3], vec[8], &t, 0) <= 0)
-    return false;
-  *result = lisp_to_timespec (t);
-  return timespec_valid_p (*result);
-}
-
-
-/* Check whether a timer has fired.  To prevent larger problems we simply
-   disregard elements that are not proper timers.  Do not make a circular
-   timer list for the time being.
-
-   Returns the time to wait until the next timer fires.  If a
-   timer is triggering now, return zero.
-   If no timer is active, return -1.
-
-   If a timer is ripe, we run it, with quitting turned off.
-   In that case we return 0 to indicate that a new timer_check_2 call
-   should be done.  */
-
-static struct timespec
-timer_check_2 (Lisp_Object timers, Lisp_Object idle_timers)
-{
-  struct timespec nexttime;
-  struct timespec now;
-  struct timespec idleness_now;
-  Lisp_Object chosen_timer;
-  struct gcpro gcpro1;
-
-  nexttime = invalid_timespec ();
-
-  chosen_timer = Qnil;
-  GCPRO1 (chosen_timer);
-
-  /* First run the code that was delayed.  */
-  while (CONSP (pending_funcalls))
-    {
-      Lisp_Object funcall = XCAR (pending_funcalls);
-      pending_funcalls = XCDR (pending_funcalls);
-      safe_call2 (Qapply, XCAR (funcall), XCDR (funcall));
-    }
-
-  if (CONSP (timers) || CONSP (idle_timers))
-    {
-      now = current_timespec ();
-      idleness_now = (timespec_valid_p (timer_idleness_start_time)
-                     ? timespec_sub (now, timer_idleness_start_time)
-                     : make_timespec (0, 0));
-    }
-
-  while (CONSP (timers) || CONSP (idle_timers))
-    {
-      Lisp_Object timer = Qnil, idle_timer = Qnil;
-      struct timespec timer_time, idle_timer_time;
-      struct timespec difference;
-      struct timespec timer_difference = invalid_timespec ();
-      struct timespec idle_timer_difference = invalid_timespec ();
-      bool ripe, timer_ripe = 0, idle_timer_ripe = 0;
-
-      /* Set TIMER and TIMER_DIFFERENCE
-        based on the next ordinary timer.
-        TIMER_DIFFERENCE is the distance in time from NOW to when
-        this timer becomes ripe.
-         Skip past invalid timers and timers already handled.  */
-      if (CONSP (timers))
-       {
-         timer = XCAR (timers);
-         if (! decode_timer (timer, &timer_time))
-           {
-             timers = XCDR (timers);
-             continue;
-           }
-
-         timer_ripe = timespec_cmp (timer_time, now) <= 0;
-         timer_difference = (timer_ripe
-                             ? timespec_sub (now, timer_time)
-                             : timespec_sub (timer_time, now));
-       }
-
-      /* Likewise for IDLE_TIMER and IDLE_TIMER_DIFFERENCE
-        based on the next idle timer.  */
-      if (CONSP (idle_timers))
-       {
-         idle_timer = XCAR (idle_timers);
-         if (! decode_timer (idle_timer, &idle_timer_time))
-           {
-             idle_timers = XCDR (idle_timers);
-             continue;
-           }
-
-         idle_timer_ripe = timespec_cmp (idle_timer_time, idleness_now) <= 0;
-         idle_timer_difference
-           = (idle_timer_ripe
-              ? timespec_sub (idleness_now, idle_timer_time)
-              : timespec_sub (idle_timer_time, idleness_now));
-       }
-
-      /* Decide which timer is the next timer,
-        and set CHOSEN_TIMER, DIFFERENCE, and RIPE accordingly.
-        Also step down the list where we found that timer.  */
-
-      if (timespec_valid_p (timer_difference)
-         && (! timespec_valid_p (idle_timer_difference)
-             || idle_timer_ripe < timer_ripe
-             || (idle_timer_ripe == timer_ripe
-                 && ((timer_ripe
-                      ? timespec_cmp (idle_timer_difference,
-                                      timer_difference)
-                      : timespec_cmp (timer_difference,
-                                      idle_timer_difference))
-                     < 0))))
-       {
-         chosen_timer = timer;
-         timers = XCDR (timers);
-         difference = timer_difference;
-         ripe = timer_ripe;
-       }
-      else
-       {
-         chosen_timer = idle_timer;
-         idle_timers = XCDR (idle_timers);
-         difference = idle_timer_difference;
-         ripe = idle_timer_ripe;
-       }
-
-      /* If timer is ripe, run it if it hasn't been run.  */
-      if (ripe)
-       {
-         if (NILP (AREF (chosen_timer, 0)))
-           {
-             ptrdiff_t count = SPECPDL_INDEX ();
-             Lisp_Object old_deactivate_mark = Vdeactivate_mark;
-
-             /* Mark the timer as triggered to prevent problems if the lisp
-                code fails to reschedule it right.  */
-             ASET (chosen_timer, 0, Qt);
-
-             specbind (Qinhibit_quit, Qt);
-
-             call1 (Qtimer_event_handler, chosen_timer);
-             Vdeactivate_mark = old_deactivate_mark;
-             timers_run++;
-             unbind_to (count, Qnil);
-
-             /* Since we have handled the event,
-                we don't need to tell the caller to wake up and do it.  */
-              /* But the caller must still wait for the next timer, so
-                 return 0 to indicate that.  */
-           }
-
-         nexttime = make_timespec (0, 0);
-          break;
-       }
-      else
-       /* When we encounter a timer that is still waiting,
-          return the amount of time to wait before it is ripe.  */
-       {
-         UNGCPRO;
-         return difference;
-       }
-    }
-
-  /* No timers are pending in the future.  */
-  /* Return 0 if we generated an event, and -1 if not.  */
-  UNGCPRO;
-  return nexttime;
-}
-
-
-/* Check whether a timer has fired.  To prevent larger problems we simply
-   disregard elements that are not proper timers.  Do not make a circular
-   timer list for the time being.
-
-   Returns the time to wait until the next timer fires.
-   If no timer is active, return an invalid value.
-
-   As long as any timer is ripe, we run it.  */
-
-struct timespec
-timer_check (void)
-{
-  struct timespec nexttime;
-  Lisp_Object timers, idle_timers;
-  struct gcpro gcpro1, gcpro2;
-
-  Lisp_Object tem = Vinhibit_quit;
-  Vinhibit_quit = Qt;
-
-  /* We use copies of the timers' lists to allow a timer to add itself
-     again, without locking up Emacs if the newly added timer is
-     already ripe when added.  */
-
-  /* Always consider the ordinary timers.  */
-  timers = Fcopy_sequence (Vtimer_list);
-  /* Consider the idle timers only if Emacs is idle.  */
-  if (timespec_valid_p (timer_idleness_start_time))
-    idle_timers = Fcopy_sequence (Vtimer_idle_list);
-  else
-    idle_timers = Qnil;
-
-  Vinhibit_quit = tem;
-
-  GCPRO2 (timers, idle_timers);
-
-  do
-    {
-      nexttime = timer_check_2 (timers, idle_timers);
-    }
-  while (nexttime.tv_sec == 0 && nexttime.tv_nsec == 0);
-
-  UNGCPRO;
-  return nexttime;
-}
-
-DEFUN ("current-idle-time", Fcurrent_idle_time, Scurrent_idle_time, 0, 0, 0,
-       doc: /* Return the current length of Emacs idleness, or nil.
-The value when Emacs is idle is a list of four integers (HIGH LOW USEC PSEC)
-in the same style as (current-time).
-
-The value when Emacs is not idle is nil.
-
-PSEC is a multiple of the system clock resolution.  */)
-  (void)
-{
-  if (timespec_valid_p (timer_idleness_start_time))
-    return make_lisp_time (timespec_sub (current_timespec (),
-                                        timer_idleness_start_time));
-
-  return Qnil;
-}
-\f
-/* Caches for modify_event_symbol.  */
-static Lisp_Object accent_key_syms;
-static Lisp_Object func_key_syms;
-static Lisp_Object mouse_syms;
-static Lisp_Object wheel_syms;
-static Lisp_Object drag_n_drop_syms;
-
-/* This is a list of keysym codes for special "accent" characters.
-   It parallels lispy_accent_keys.  */
-
-static const int lispy_accent_codes[] =
-{
-#ifdef XK_dead_circumflex
-  XK_dead_circumflex,
-#else
-  0,
-#endif
-#ifdef XK_dead_grave
-  XK_dead_grave,
-#else
-  0,
-#endif
-#ifdef XK_dead_tilde
-  XK_dead_tilde,
-#else
-  0,
-#endif
-#ifdef XK_dead_diaeresis
-  XK_dead_diaeresis,
-#else
-  0,
-#endif
-#ifdef XK_dead_macron
-  XK_dead_macron,
-#else
-  0,
-#endif
-#ifdef XK_dead_degree
-  XK_dead_degree,
-#else
-  0,
-#endif
-#ifdef XK_dead_acute
-  XK_dead_acute,
-#else
-  0,
-#endif
-#ifdef XK_dead_cedilla
-  XK_dead_cedilla,
-#else
-  0,
-#endif
-#ifdef XK_dead_breve
-  XK_dead_breve,
-#else
-  0,
-#endif
-#ifdef XK_dead_ogonek
-  XK_dead_ogonek,
-#else
-  0,
-#endif
-#ifdef XK_dead_caron
-  XK_dead_caron,
-#else
-  0,
-#endif
-#ifdef XK_dead_doubleacute
-  XK_dead_doubleacute,
-#else
-  0,
-#endif
-#ifdef XK_dead_abovedot
-  XK_dead_abovedot,
-#else
-  0,
-#endif
-#ifdef XK_dead_abovering
-  XK_dead_abovering,
-#else
-  0,
-#endif
-#ifdef XK_dead_iota
-  XK_dead_iota,
-#else
-  0,
-#endif
-#ifdef XK_dead_belowdot
-  XK_dead_belowdot,
-#else
-  0,
-#endif
-#ifdef XK_dead_voiced_sound
-  XK_dead_voiced_sound,
-#else
-  0,
-#endif
-#ifdef XK_dead_semivoiced_sound
-  XK_dead_semivoiced_sound,
-#else
-  0,
-#endif
-#ifdef XK_dead_hook
-  XK_dead_hook,
-#else
-  0,
-#endif
-#ifdef XK_dead_horn
-  XK_dead_horn,
-#else
-  0,
-#endif
-};
-
-/* This is a list of Lisp names for special "accent" characters.
-   It parallels lispy_accent_codes.  */
-
-static const char *const lispy_accent_keys[] =
-{
-  "dead-circumflex",
-  "dead-grave",
-  "dead-tilde",
-  "dead-diaeresis",
-  "dead-macron",
-  "dead-degree",
-  "dead-acute",
-  "dead-cedilla",
-  "dead-breve",
-  "dead-ogonek",
-  "dead-caron",
-  "dead-doubleacute",
-  "dead-abovedot",
-  "dead-abovering",
-  "dead-iota",
-  "dead-belowdot",
-  "dead-voiced-sound",
-  "dead-semivoiced-sound",
-  "dead-hook",
-  "dead-horn",
-};
-
-#ifdef HAVE_NTGUI
-#define FUNCTION_KEY_OFFSET 0x0
-
-const char *const lispy_function_keys[] =
-  {
-    0,                /* 0                      */
-
-    0,                /* VK_LBUTTON        0x01 */
-    0,                /* VK_RBUTTON        0x02 */
-    "cancel",         /* VK_CANCEL         0x03 */
-    0,                /* VK_MBUTTON        0x04 */
-
-    0, 0, 0,          /*    0x05 .. 0x07        */
-
-    "backspace",      /* VK_BACK           0x08 */
-    "tab",            /* VK_TAB            0x09 */
-
-    0, 0,             /*    0x0A .. 0x0B        */
-
-    "clear",          /* VK_CLEAR          0x0C */
-    "return",         /* VK_RETURN         0x0D */
-
-    0, 0,             /*    0x0E .. 0x0F        */
-
-    0,                /* VK_SHIFT          0x10 */
-    0,                /* VK_CONTROL        0x11 */
-    0,                /* VK_MENU           0x12 */
-    "pause",          /* VK_PAUSE          0x13 */
-    "capslock",       /* VK_CAPITAL        0x14 */
-    "kana",           /* VK_KANA/VK_HANGUL 0x15 */
-    0,                /*    0x16                */
-    "junja",          /* VK_JUNJA          0x17 */
-    "final",          /* VK_FINAL          0x18 */
-    "kanji",          /* VK_KANJI/VK_HANJA 0x19 */
-    0,                /*    0x1A                */
-    "escape",         /* VK_ESCAPE         0x1B */
-    "convert",        /* VK_CONVERT        0x1C */
-    "non-convert",    /* VK_NONCONVERT     0x1D */
-    "accept",         /* VK_ACCEPT         0x1E */
-    "mode-change",    /* VK_MODECHANGE     0x1F */
-    0,                /* VK_SPACE          0x20 */
-    "prior",          /* VK_PRIOR          0x21 */
-    "next",           /* VK_NEXT           0x22 */
-    "end",            /* VK_END            0x23 */
-    "home",           /* VK_HOME           0x24 */
-    "left",           /* VK_LEFT           0x25 */
-    "up",             /* VK_UP             0x26 */
-    "right",          /* VK_RIGHT          0x27 */
-    "down",           /* VK_DOWN           0x28 */
-    "select",         /* VK_SELECT         0x29 */
-    "print",          /* VK_PRINT          0x2A */
-    "execute",        /* VK_EXECUTE        0x2B */
-    "snapshot",       /* VK_SNAPSHOT       0x2C */
-    "insert",         /* VK_INSERT         0x2D */
-    "delete",         /* VK_DELETE         0x2E */
-    "help",           /* VK_HELP           0x2F */
-
-    /* VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */
-
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-    0, 0, 0, 0, 0, 0, 0, /* 0x3A .. 0x40       */
-
-    /* VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */
-
-    0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0,
-
-    "lwindow",       /* VK_LWIN           0x5B */
-    "rwindow",       /* VK_RWIN           0x5C */
-    "apps",          /* VK_APPS           0x5D */
-    0,               /*    0x5E                */
-    "sleep",
-    "kp-0",          /* VK_NUMPAD0        0x60 */
-    "kp-1",          /* VK_NUMPAD1        0x61 */
-    "kp-2",          /* VK_NUMPAD2        0x62 */
-    "kp-3",          /* VK_NUMPAD3        0x63 */
-    "kp-4",          /* VK_NUMPAD4        0x64 */
-    "kp-5",          /* VK_NUMPAD5        0x65 */
-    "kp-6",          /* VK_NUMPAD6        0x66 */
-    "kp-7",          /* VK_NUMPAD7        0x67 */
-    "kp-8",          /* VK_NUMPAD8        0x68 */
-    "kp-9",          /* VK_NUMPAD9        0x69 */
-    "kp-multiply",   /* VK_MULTIPLY       0x6A */
-    "kp-add",        /* VK_ADD            0x6B */
-    "kp-separator",  /* VK_SEPARATOR      0x6C */
-    "kp-subtract",   /* VK_SUBTRACT       0x6D */
-    "kp-decimal",    /* VK_DECIMAL        0x6E */
-    "kp-divide",     /* VK_DIVIDE         0x6F */
-    "f1",            /* VK_F1             0x70 */
-    "f2",            /* VK_F2             0x71 */
-    "f3",            /* VK_F3             0x72 */
-    "f4",            /* VK_F4             0x73 */
-    "f5",            /* VK_F5             0x74 */
-    "f6",            /* VK_F6             0x75 */
-    "f7",            /* VK_F7             0x76 */
-    "f8",            /* VK_F8             0x77 */
-    "f9",            /* VK_F9             0x78 */
-    "f10",           /* VK_F10            0x79 */
-    "f11",           /* VK_F11            0x7A */
-    "f12",           /* VK_F12            0x7B */
-    "f13",           /* VK_F13            0x7C */
-    "f14",           /* VK_F14            0x7D */
-    "f15",           /* VK_F15            0x7E */
-    "f16",           /* VK_F16            0x7F */
-    "f17",           /* VK_F17            0x80 */
-    "f18",           /* VK_F18            0x81 */
-    "f19",           /* VK_F19            0x82 */
-    "f20",           /* VK_F20            0x83 */
-    "f21",           /* VK_F21            0x84 */
-    "f22",           /* VK_F22            0x85 */
-    "f23",           /* VK_F23            0x86 */
-    "f24",           /* VK_F24            0x87 */
-
-    0, 0, 0, 0,      /*    0x88 .. 0x8B        */
-    0, 0, 0, 0,      /*    0x8C .. 0x8F        */
-
-    "kp-numlock",    /* VK_NUMLOCK        0x90 */
-    "scroll",        /* VK_SCROLL         0x91 */
-    /* Not sure where the following block comes from.
-       Windows headers have NEC and Fujitsu specific keys in
-       this block, but nothing generic.  */
-    "kp-space",             /* VK_NUMPAD_CLEAR   0x92 */
-    "kp-enter",             /* VK_NUMPAD_ENTER   0x93 */
-    "kp-prior",             /* VK_NUMPAD_PRIOR   0x94 */
-    "kp-next",      /* VK_NUMPAD_NEXT    0x95 */
-    "kp-end",       /* VK_NUMPAD_END     0x96 */
-    "kp-home",      /* VK_NUMPAD_HOME    0x97 */
-    "kp-left",      /* VK_NUMPAD_LEFT    0x98 */
-    "kp-up",        /* VK_NUMPAD_UP      0x99 */
-    "kp-right",             /* VK_NUMPAD_RIGHT   0x9A */
-    "kp-down",      /* VK_NUMPAD_DOWN    0x9B */
-    "kp-insert",     /* VK_NUMPAD_INSERT  0x9C */
-    "kp-delete",     /* VK_NUMPAD_DELETE  0x9D */
-
-    0, 0,           /*    0x9E .. 0x9F        */
-
-    /*
-     * VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
-     * Used only as parameters to GetAsyncKeyState and GetKeyState.
-     * No other API or message will distinguish left and right keys this way.
-     * 0xA0 .. 0xA5
-     */
-    0, 0, 0, 0, 0, 0,
-
-    /* Multimedia keys. These are handled as WM_APPCOMMAND, which allows us
-       to enable them selectively, and gives access to a few more functions.
-       See lispy_multimedia_keys below.  */
-    0, 0, 0, 0, 0, 0, 0, /* 0xA6 .. 0xAC        Browser */
-    0, 0, 0,             /* 0xAD .. 0xAF         Volume */
-    0, 0, 0, 0,          /* 0xB0 .. 0xB3          Media */
-    0, 0, 0, 0,          /* 0xB4 .. 0xB7           Apps */
-
-    /* 0xB8 .. 0xC0 "OEM" keys - all seem to be punctuation.  */
-    0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-    /* 0xC1 - 0xDA unallocated, 0xDB-0xDF more OEM keys */
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-    0,               /* 0xE0                   */
-    "ax",            /* VK_OEM_AX         0xE1 */
-    0,               /* VK_OEM_102        0xE2 */
-    "ico-help",      /* VK_ICO_HELP       0xE3 */
-    "ico-00",        /* VK_ICO_00         0xE4 */
-    0,               /* VK_PROCESSKEY     0xE5 - used by IME */
-    "ico-clear",     /* VK_ICO_CLEAR      0xE6 */
-    0,               /* VK_PACKET         0xE7  - used to pass Unicode chars */
-    0,               /*                   0xE8 */
-    "reset",         /* VK_OEM_RESET      0xE9 */
-    "jump",          /* VK_OEM_JUMP       0xEA */
-    "oem-pa1",       /* VK_OEM_PA1        0xEB */
-    "oem-pa2",       /* VK_OEM_PA2        0xEC */
-    "oem-pa3",       /* VK_OEM_PA3        0xED */
-    "wsctrl",        /* VK_OEM_WSCTRL     0xEE */
-    "cusel",         /* VK_OEM_CUSEL      0xEF */
-    "oem-attn",      /* VK_OEM_ATTN       0xF0 */
-    "finish",        /* VK_OEM_FINISH     0xF1 */
-    "copy",          /* VK_OEM_COPY       0xF2 */
-    "auto",          /* VK_OEM_AUTO       0xF3 */
-    "enlw",          /* VK_OEM_ENLW       0xF4 */
-    "backtab",       /* VK_OEM_BACKTAB    0xF5 */
-    "attn",          /* VK_ATTN           0xF6 */
-    "crsel",         /* VK_CRSEL          0xF7 */
-    "exsel",         /* VK_EXSEL          0xF8 */
-    "ereof",         /* VK_EREOF          0xF9 */
-    "play",          /* VK_PLAY           0xFA */
-    "zoom",          /* VK_ZOOM           0xFB */
-    "noname",        /* VK_NONAME         0xFC */
-    "pa1",           /* VK_PA1            0xFD */
-    "oem_clear",     /* VK_OEM_CLEAR      0xFE */
-    0 /* 0xFF */
-  };
-
-/* Some of these duplicate the "Media keys" on newer keyboards,
-   but they are delivered to the application in a different way.  */
-static const char *const lispy_multimedia_keys[] =
-  {
-    0,
-    "browser-back",
-    "browser-forward",
-    "browser-refresh",
-    "browser-stop",
-    "browser-search",
-    "browser-favorites",
-    "browser-home",
-    "volume-mute",
-    "volume-down",
-    "volume-up",
-    "media-next",
-    "media-previous",
-    "media-stop",
-    "media-play-pause",
-    "mail",
-    "media-select",
-    "app-1",
-    "app-2",
-    "bass-down",
-    "bass-boost",
-    "bass-up",
-    "treble-down",
-    "treble-up",
-    "mic-volume-mute",
-    "mic-volume-down",
-    "mic-volume-up",
-    "help",
-    "find",
-    "new",
-    "open",
-    "close",
-    "save",
-    "print",
-    "undo",
-    "redo",
-    "copy",
-    "cut",
-    "paste",
-    "mail-reply",
-    "mail-forward",
-    "mail-send",
-    "spell-check",
-    "toggle-dictate-command",
-    "mic-toggle",
-    "correction-list",
-    "media-play",
-    "media-pause",
-    "media-record",
-    "media-fast-forward",
-    "media-rewind",
-    "media-channel-up",
-    "media-channel-down"
-  };
-
-#else /* not HAVE_NTGUI */
-
-/* This should be dealt with in XTread_socket now, and that doesn't
-   depend on the client system having the Kana syms defined.  See also
-   the XK_kana_A case below.  */
-#if 0
-#ifdef XK_kana_A
-static const char *const lispy_kana_keys[] =
-  {
-    /* X Keysym value */
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   /* 0x400 .. 0x40f */
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   /* 0x410 .. 0x41f */
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   /* 0x420 .. 0x42f */
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   /* 0x430 .. 0x43f */
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   /* 0x440 .. 0x44f */
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   /* 0x450 .. 0x45f */
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   /* 0x460 .. 0x46f */
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,"overline",0,
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   /* 0x480 .. 0x48f */
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   /* 0x490 .. 0x49f */
-    0, "kana-fullstop", "kana-openingbracket", "kana-closingbracket",
-    "kana-comma", "kana-conjunctive", "kana-WO", "kana-a",
-    "kana-i", "kana-u", "kana-e", "kana-o",
-    "kana-ya", "kana-yu", "kana-yo", "kana-tsu",
-    "prolongedsound", "kana-A", "kana-I", "kana-U",
-    "kana-E", "kana-O", "kana-KA", "kana-KI",
-    "kana-KU", "kana-KE", "kana-KO", "kana-SA",
-    "kana-SHI", "kana-SU", "kana-SE", "kana-SO",
-    "kana-TA", "kana-CHI", "kana-TSU", "kana-TE",
-    "kana-TO", "kana-NA", "kana-NI", "kana-NU",
-    "kana-NE", "kana-NO", "kana-HA", "kana-HI",
-    "kana-FU", "kana-HE", "kana-HO", "kana-MA",
-    "kana-MI", "kana-MU", "kana-ME", "kana-MO",
-    "kana-YA", "kana-YU", "kana-YO", "kana-RA",
-    "kana-RI", "kana-RU", "kana-RE", "kana-RO",
-    "kana-WA", "kana-N", "voicedsound", "semivoicedsound",
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   /* 0x4e0 .. 0x4ef */
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   /* 0x4f0 .. 0x4ff */
-  };
-#endif /* XK_kana_A */
-#endif /* 0 */
-
-#define FUNCTION_KEY_OFFSET 0xff00
-
-/* You'll notice that this table is arranged to be conveniently
-   indexed by X Windows keysym values.  */
-static const char *const lispy_function_keys[] =
-  {
-    /* X Keysym value */
-
-    0, 0, 0, 0, 0, 0, 0, 0,                          /* 0xff00...0f */
-    "backspace", "tab", "linefeed", "clear",
-    0, "return", 0, 0,
-    0, 0, 0, "pause",                                /* 0xff10...1f */
-    0, 0, 0, 0, 0, 0, 0, "escape",
-    0, 0, 0, 0,
-    0, "kanji", "muhenkan", "henkan",                /* 0xff20...2f */
-    "romaji", "hiragana", "katakana", "hiragana-katakana",
-    "zenkaku", "hankaku", "zenkaku-hankaku", "touroku",
-    "massyo", "kana-lock", "kana-shift", "eisu-shift",
-    "eisu-toggle",                                   /* 0xff30...3f */
-       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   /* 0xff40...4f */
-
-    "home", "left", "up", "right", /* 0xff50 */        /* IsCursorKey */
-    "down", "prior", "next", "end",
-    "begin", 0, 0, 0, 0, 0, 0, 0,
-    "select",                  /* 0xff60 */    /* IsMiscFunctionKey */
-    "print",
-    "execute",
-    "insert",
-    0,         /* 0xff64 */
-    "undo",
-    "redo",
-    "menu",
-    "find",
-    "cancel",
-    "help",
-    "break",                   /* 0xff6b */
-
-    0, 0, 0, 0,
-    0, 0, 0, 0, "backtab", 0, 0, 0,            /* 0xff70...  */
-    0, 0, 0, 0, 0, 0, 0, "kp-numlock",         /* 0xff78...  */
-    "kp-space",                        /* 0xff80 */    /* IsKeypadKey */
-    0, 0, 0, 0, 0, 0, 0, 0,
-    "kp-tab",                  /* 0xff89 */
-    0, 0, 0,
-    "kp-enter",                        /* 0xff8d */
-    0, 0, 0,
-    "kp-f1",                   /* 0xff91 */
-    "kp-f2",
-    "kp-f3",
-    "kp-f4",
-    "kp-home",                 /* 0xff95 */
-    "kp-left",
-    "kp-up",
-    "kp-right",
-    "kp-down",
-    "kp-prior",                        /* kp-page-up */
-    "kp-next",                 /* kp-page-down */
-    "kp-end",
-    "kp-begin",
-    "kp-insert",
-    "kp-delete",
-    0,                         /* 0xffa0 */
-    0, 0, 0, 0, 0, 0, 0, 0, 0,
-    "kp-multiply",             /* 0xffaa */
-    "kp-add",
-    "kp-separator",
-    "kp-subtract",
-    "kp-decimal",
-    "kp-divide",               /* 0xffaf */
-    "kp-0",                    /* 0xffb0 */
-    "kp-1",    "kp-2", "kp-3", "kp-4", "kp-5", "kp-6", "kp-7", "kp-8", "kp-9",
-    0,         /* 0xffba */
-    0, 0,
-    "kp-equal",                        /* 0xffbd */
-    "f1",                      /* 0xffbe */    /* IsFunctionKey */
-    "f2",
-    "f3", "f4", "f5", "f6", "f7", "f8",        "f9", "f10", /* 0xffc0 */
-    "f11", "f12", "f13", "f14", "f15", "f16", "f17", "f18",
-    "f19", "f20", "f21", "f22", "f23", "f24", "f25", "f26", /* 0xffd0 */
-    "f27", "f28", "f29", "f30", "f31", "f32", "f33", "f34",
-    "f35", 0, 0, 0, 0, 0, 0, 0,        /* 0xffe0 */
-    0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0,     /* 0xfff0 */
-    0, 0, 0, 0, 0, 0, 0, "delete"
-  };
-
-/* ISO 9995 Function and Modifier Keys; the first byte is 0xFE.  */
-#define ISO_FUNCTION_KEY_OFFSET 0xfe00
-
-static const char *const iso_lispy_function_keys[] =
-  {
-    0, 0, 0, 0, 0, 0, 0, 0,    /* 0xfe00 */
-    0, 0, 0, 0, 0, 0, 0, 0,    /* 0xfe08 */
-    0, 0, 0, 0, 0, 0, 0, 0,    /* 0xfe10 */
-    0, 0, 0, 0, 0, 0, 0, 0,    /* 0xfe18 */
-    "iso-lefttab",             /* 0xfe20 */
-    "iso-move-line-up", "iso-move-line-down",
-    "iso-partial-line-up", "iso-partial-line-down",
-    "iso-partial-space-left", "iso-partial-space-right",
-    "iso-set-margin-left", "iso-set-margin-right", /* 0xffe27, 28 */
-    "iso-release-margin-left", "iso-release-margin-right",
-    "iso-release-both-margins",
-    "iso-fast-cursor-left", "iso-fast-cursor-right",
-    "iso-fast-cursor-up", "iso-fast-cursor-down",
-    "iso-continuous-underline", "iso-discontinuous-underline", /* 0xfe30, 31 */
-    "iso-emphasize", "iso-center-object", "iso-enter", /* ... 0xfe34 */
-  };
-
-#endif /* not HAVE_NTGUI */
-
-static Lisp_Object Vlispy_mouse_stem;
-
-static const char *const lispy_wheel_names[] =
-{
-  "wheel-up", "wheel-down", "wheel-left", "wheel-right"
-};
-
-/* drag-n-drop events are generated when a set of selected files are
-   dragged from another application and dropped onto an Emacs window.  */
-static const char *const lispy_drag_n_drop_names[] =
-{
-  "drag-n-drop"
-};
-
-/* An array of symbol indexes of scroll bar parts, indexed by an enum
-   scroll_bar_part value.  Note that Qnil corresponds to
-   scroll_bar_nowhere and should not appear in Lisp events.  */
-static short const scroll_bar_parts[] = {
-  SYMBOL_INDEX (Qnil), SYMBOL_INDEX (Qabove_handle), SYMBOL_INDEX (Qhandle),
-  SYMBOL_INDEX (Qbelow_handle), SYMBOL_INDEX (Qup), SYMBOL_INDEX (Qdown),
-  SYMBOL_INDEX (Qtop), SYMBOL_INDEX (Qbottom), SYMBOL_INDEX (Qend_scroll),
-  SYMBOL_INDEX (Qratio), SYMBOL_INDEX (Qbefore_handle),
-  SYMBOL_INDEX (Qhorizontal_handle), SYMBOL_INDEX (Qafter_handle),
-  SYMBOL_INDEX (Qleft), SYMBOL_INDEX (Qright), SYMBOL_INDEX (Qleftmost),
-  SYMBOL_INDEX (Qrightmost), SYMBOL_INDEX (Qend_scroll), SYMBOL_INDEX (Qratio)
-};
-
-/* A vector, indexed by button number, giving the down-going location
-   of currently depressed buttons, both scroll bar and non-scroll bar.
-
-   The elements have the form
-     (BUTTON-NUMBER MODIFIER-MASK . REST)
-   where REST is the cdr of a position as it would be reported in the event.
-
-   The make_lispy_event function stores positions here to tell the
-   difference between click and drag events, and to store the starting
-   location to be included in drag events.  */
-
-static Lisp_Object button_down_location;
-
-/* Information about the most recent up-going button event:  Which
-   button, what location, and what time.  */
-
-static int last_mouse_button;
-static int last_mouse_x;
-static int last_mouse_y;
-static Time button_down_time;
-
-/* The number of clicks in this multiple-click.  */
-
-static int double_click_count;
-
-/* X and Y are frame-relative coordinates for a click or wheel event.
-   Return a Lisp-style event list.  */
-
-static Lisp_Object
-make_lispy_position (struct frame *f, Lisp_Object x, Lisp_Object y,
-                    Time t)
-{
-  enum window_part part;
-  Lisp_Object posn = Qnil;
-  Lisp_Object extra_info = Qnil;
-  /* Coordinate pixel positions to return.  */
-  int xret = 0, yret = 0;
-  /* The window under frame pixel coordinates (x,y)  */
-  Lisp_Object window = f
-    ? window_from_coordinates (f, XINT (x), XINT (y), &part, 0)
-    : Qnil;
-
-  if (WINDOWP (window))
-    {
-      /* It's a click in window WINDOW at frame coordinates (X,Y)  */
-      struct window *w = XWINDOW (window);
-      Lisp_Object string_info = Qnil;
-      ptrdiff_t textpos = 0;
-      int col = -1, row = -1;
-      int dx  = -1, dy  = -1;
-      int width = -1, height = -1;
-      Lisp_Object object = Qnil;
-
-      /* Pixel coordinates relative to the window corner.  */
-      int wx = XINT (x) - WINDOW_LEFT_EDGE_X (w);
-      int wy = XINT (y) - WINDOW_TOP_EDGE_Y (w);
-
-      /* For text area clicks, return X, Y relative to the corner of
-        this text area.  Note that dX, dY etc are set below, by
-        buffer_posn_from_coords.  */
-      if (part == ON_TEXT)
-       {
-         xret = XINT (x) - window_box_left (w, TEXT_AREA);
-         yret = wy - WINDOW_HEADER_LINE_HEIGHT (w);
-       }
-      /* For mode line and header line clicks, return X, Y relative to
-        the left window edge.  Use mode_line_string to look for a
-        string on the click position.  */
-      else if (part == ON_MODE_LINE || part == ON_HEADER_LINE)
-       {
-         Lisp_Object string;
-         ptrdiff_t charpos;
-
-         posn = (part == ON_MODE_LINE) ? Qmode_line : Qheader_line;
-         /* Note that mode_line_string takes COL, ROW as pixels and
-            converts them to characters.  */
-         col = wx;
-         row = wy;
-         string = mode_line_string (w, part, &col, &row, &charpos,
-                                    &object, &dx, &dy, &width, &height);
-         if (STRINGP (string))
-           string_info = Fcons (string, make_number (charpos));
-         textpos = -1;
-
-         xret = wx;
-         yret = wy;
-       }
-      /* For fringes and margins, Y is relative to the area's (and the
-        window's) top edge, while X is meaningless.  */
-      else if (part == ON_LEFT_MARGIN || part == ON_RIGHT_MARGIN)
-       {
-         Lisp_Object string;
-         ptrdiff_t charpos;
-
-         posn = (part == ON_LEFT_MARGIN) ? Qleft_margin : Qright_margin;
-         col = wx;
-         row = wy;
-         string = marginal_area_string (w, part, &col, &row, &charpos,
-                                        &object, &dx, &dy, &width, &height);
-         if (STRINGP (string))
-           string_info = Fcons (string, make_number (charpos));
-         xret = wx;
-         yret = wy - WINDOW_HEADER_LINE_HEIGHT (w);
-       }
-      else if (part == ON_LEFT_FRINGE)
-       {
-         posn = Qleft_fringe;
-         col = 0;
-         xret = wx;
-         dx = wx
-           - (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w)
-              ? 0 : window_box_width (w, LEFT_MARGIN_AREA));
-         dy = yret = wy - WINDOW_HEADER_LINE_HEIGHT (w);
-       }
-      else if (part == ON_RIGHT_FRINGE)
-       {
-         posn = Qright_fringe;
-         col = 0;
-         xret = wx;
-         dx = wx
-           - window_box_width (w, LEFT_MARGIN_AREA)
-           - window_box_width (w, TEXT_AREA)
-           - (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w)
-              ? window_box_width (w, RIGHT_MARGIN_AREA)
-              : 0);
-         dy = yret = wy - WINDOW_HEADER_LINE_HEIGHT (w);
-       }
-      else if (part == ON_VERTICAL_BORDER)
-       {
-         posn = Qvertical_line;
-         width = 1;
-         dx = 0;
-         xret = wx;
-         dy = yret = wy;
-       }
-      else if (part == ON_VERTICAL_SCROLL_BAR)
-       {
-         posn = Qvertical_scroll_bar;
-         width = WINDOW_SCROLL_BAR_AREA_WIDTH (w);
-         dx = xret = wx;
-         dy = yret = wy;
-       }
-      else if (part == ON_HORIZONTAL_SCROLL_BAR)
-       {
-         posn = Qhorizontal_scroll_bar;
-         width = WINDOW_SCROLL_BAR_AREA_HEIGHT (w);
-         dx = xret = wx;
-         dy = yret = wy;
-       }
-      else if (part == ON_RIGHT_DIVIDER)
-       {
-         posn = Qright_divider;
-         width = WINDOW_RIGHT_DIVIDER_WIDTH (w);
-         dx = xret = wx;
-         dy = yret = wy;
-       }
-      else if (part == ON_BOTTOM_DIVIDER)
-       {
-         posn = Qbottom_divider;
-         width = WINDOW_BOTTOM_DIVIDER_WIDTH (w);
-         dx = xret = wx;
-         dy = yret = wy;
-       }
-
-      /* For clicks in the text area, fringes, margins, or vertical
-        scroll bar, call buffer_posn_from_coords to extract TEXTPOS,
-        the buffer position nearest to the click.  */
-      if (!textpos)
-       {
-         Lisp_Object string2, object2 = Qnil;
-         struct display_pos p;
-         int dx2, dy2;
-         int width2, height2;
-         /* The pixel X coordinate passed to buffer_posn_from_coords
-            is the X coordinate relative to the text area for clicks
-            in text-area, right-margin/fringe and right-side vertical
-            scroll bar, zero otherwise.  */
-         int x2
-           = (part == ON_TEXT) ? xret
-           : (part == ON_RIGHT_FRINGE || part == ON_RIGHT_MARGIN
-              || (part == ON_VERTICAL_SCROLL_BAR
-                  && WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w)))
-           ? (XINT (x) - window_box_left (w, TEXT_AREA))
-           : 0;
-         int y2 = wy;
-
-         string2 = buffer_posn_from_coords (w, &x2, &y2, &p,
-                                            &object2, &dx2, &dy2,
-                                            &width2, &height2);
-         textpos = CHARPOS (p.pos);
-         if (col < 0) col = x2;
-         if (row < 0) row = y2;
-         if (dx < 0) dx = dx2;
-         if (dy < 0) dy = dy2;
-         if (width < 0) width = width2;
-         if (height < 0) height = height2;
-
-         if (NILP (posn))
-           {
-             posn = make_number (textpos);
-             if (STRINGP (string2))
-               string_info = Fcons (string2,
-                                    make_number (CHARPOS (p.string_pos)));
-           }
-         if (NILP (object))
-           object = object2;
-       }
-
-#ifdef HAVE_WINDOW_SYSTEM
-      if (IMAGEP (object))
-       {
-         Lisp_Object image_map, hotspot;
-         if ((image_map = Fplist_get (XCDR (object), QCmap),
-              !NILP (image_map))
-             && (hotspot = find_hot_spot (image_map, dx, dy),
-                 CONSP (hotspot))
-             && (hotspot = XCDR (hotspot), CONSP (hotspot)))
-           posn = XCAR (hotspot);
-       }
-#endif
-
-      /* Object info.  */
-      extra_info
-       = list3 (object,
-                Fcons (make_number (dx), make_number (dy)),
-                Fcons (make_number (width), make_number (height)));
-
-      /* String info.  */
-      extra_info = Fcons (string_info,
-                         Fcons (textpos < 0 ? Qnil : make_number (textpos),
-                                Fcons (Fcons (make_number (col),
-                                              make_number (row)),
-                                       extra_info)));
-    }
-  else if (f != 0)
-    {
-      /* Return mouse pixel coordinates here.  */
-      XSETFRAME (window, f);
-      xret = XINT (x);
-      yret = XINT (y);
-    }
-  else
-    window = Qnil;
-
-  return Fcons (window,
-               Fcons (posn,
-                      Fcons (Fcons (make_number (xret),
-                                    make_number (yret)),
-                             Fcons (make_number (t),
-                                    extra_info))));
-}
-
-/* Return non-zero if F is a GUI frame that uses some toolkit-managed
-   menu bar.  This really means that Emacs draws and manages the menu
-   bar as part of its normal display, and therefore can compute its
-   geometry.  */
-static bool
-toolkit_menubar_in_use (struct frame *f)
-{
-#if defined (USE_X_TOOLKIT) || defined (USE_GTK) || defined (HAVE_NS) || defined (HAVE_NTGUI)
-  return !(!FRAME_WINDOW_P (f));
-#else
-  return false;
-#endif
-}
-
-/* Build the part of Lisp event which represents scroll bar state from
-   EV.  TYPE is one of Qvertical_scroll_bar or Qhorizontal_scroll_bar.  */
-
-static Lisp_Object
-make_scroll_bar_position (struct input_event *ev, Lisp_Object type)
-{
-  return list5 (ev->frame_or_window, type, Fcons (ev->x, ev->y),
-               make_number (ev->timestamp),
-               builtin_lisp_symbol (scroll_bar_parts[ev->part]));
-}
-
-/* Given a struct input_event, build the lisp event which represents
-   it.  If EVENT is 0, build a mouse movement event from the mouse
-   movement buffer, which should have a movement event in it.
-
-   Note that events must be passed to this function in the order they
-   are received; this function stores the location of button presses
-   in order to build drag events when the button is released.  */
-
-static Lisp_Object
-make_lispy_event (struct input_event *event)
-{
-  int i;
-
-  switch (event->kind)
-    {
-      /* A simple keystroke.  */
-    case ASCII_KEYSTROKE_EVENT:
-    case MULTIBYTE_CHAR_KEYSTROKE_EVENT:
-      {
-       Lisp_Object lispy_c;
-       EMACS_INT c = event->code;
-       if (event->kind == ASCII_KEYSTROKE_EVENT)
-         {
-           c &= 0377;
-           eassert (c == event->code);
-           /* Turn ASCII characters into control characters
-              when proper.  */
-           if (event->modifiers & ctrl_modifier)
-             {
-               c = make_ctrl_char (c);
-               event->modifiers &= ~ctrl_modifier;
-             }
-         }
-
-       /* Add in the other modifier bits.  The shift key was taken care
-          of by the X code.  */
-       c |= (event->modifiers
-             & (meta_modifier | alt_modifier
-                | hyper_modifier | super_modifier | ctrl_modifier));
-       /* Distinguish Shift-SPC from SPC.  */
-       if ((event->code) == 040
-           && event->modifiers & shift_modifier)
-         c |= shift_modifier;
-       button_down_time = 0;
-       XSETFASTINT (lispy_c, c);
-       return lispy_c;
-      }
-
-#ifdef HAVE_NS
-      /* NS_NONKEY_EVENTs are just like NON_ASCII_KEYSTROKE_EVENTs,
-        except that they are non-key events (last-nonmenu-event is nil).  */
-    case NS_NONKEY_EVENT:
-#endif
-
-      /* A function key.  The symbol may need to have modifier prefixes
-        tacked onto it.  */
-    case NON_ASCII_KEYSTROKE_EVENT:
-      button_down_time = 0;
-
-      for (i = 0; i < ARRAYELTS (lispy_accent_codes); i++)
-       if (event->code == lispy_accent_codes[i])
-         return modify_event_symbol (i,
-                                     event->modifiers,
-                                     Qfunction_key, Qnil,
-                                     lispy_accent_keys, &accent_key_syms,
-                                      ARRAYELTS (lispy_accent_keys));
-
-#if 0
-#ifdef XK_kana_A
-      if (event->code >= 0x400 && event->code < 0x500)
-       return modify_event_symbol (event->code - 0x400,
-                                   event->modifiers & ~shift_modifier,
-                                   Qfunction_key, Qnil,
-                                   lispy_kana_keys, &func_key_syms,
-                                    ARRAYELTS (lispy_kana_keys));
-#endif /* XK_kana_A */
-#endif /* 0 */
-
-#ifdef ISO_FUNCTION_KEY_OFFSET
-      if (event->code < FUNCTION_KEY_OFFSET
-         && event->code >= ISO_FUNCTION_KEY_OFFSET)
-       return modify_event_symbol (event->code - ISO_FUNCTION_KEY_OFFSET,
-                                   event->modifiers,
-                                   Qfunction_key, Qnil,
-                                   iso_lispy_function_keys, &func_key_syms,
-                                    ARRAYELTS (iso_lispy_function_keys));
-#endif
-
-      if ((FUNCTION_KEY_OFFSET <= event->code
-          && (event->code
-              < FUNCTION_KEY_OFFSET + ARRAYELTS (lispy_function_keys)))
-         && lispy_function_keys[event->code - FUNCTION_KEY_OFFSET])
-       return modify_event_symbol (event->code - FUNCTION_KEY_OFFSET,
-                                   event->modifiers,
-                                   Qfunction_key, Qnil,
-                                   lispy_function_keys, &func_key_syms,
-                                   ARRAYELTS (lispy_function_keys));
-
-      /* Handle system-specific or unknown keysyms.
-        We need to use an alist rather than a vector as the cache
-        since we can't make a vector long enough.  */
-      if (NILP (KVAR (current_kboard, system_key_syms)))
-       kset_system_key_syms (current_kboard, Fcons (Qnil, Qnil));
-      return modify_event_symbol (event->code,
-                                 event->modifiers,
-                                 Qfunction_key,
-                                 KVAR (current_kboard, Vsystem_key_alist),
-                                 0, &KVAR (current_kboard, system_key_syms),
-                                 PTRDIFF_MAX);
-
-#ifdef HAVE_NTGUI
-    case MULTIMEDIA_KEY_EVENT:
-      if (event->code < ARRAYELTS (lispy_multimedia_keys)
-          && event->code > 0 && lispy_multimedia_keys[event->code])
-        {
-          return modify_event_symbol (event->code, event->modifiers,
-                                      Qfunction_key, Qnil,
-                                      lispy_multimedia_keys, &func_key_syms,
-                                      ARRAYELTS (lispy_multimedia_keys));
-        }
-      return Qnil;
-#endif
-
-      /* A mouse click.  Figure out where it is, decide whether it's
-         a press, click or drag, and build the appropriate structure.  */
-    case MOUSE_CLICK_EVENT:
-#ifdef HAVE_GPM
-    case GPM_CLICK_EVENT:
-#endif
-#ifndef USE_TOOLKIT_SCROLL_BARS
-    case SCROLL_BAR_CLICK_EVENT:
-    case HORIZONTAL_SCROLL_BAR_CLICK_EVENT:
-#endif
-      {
-       int button = event->code;
-       bool is_double;
-       Lisp_Object position;
-       Lisp_Object *start_pos_ptr;
-       Lisp_Object start_pos;
-
-       position = Qnil;
-
-       /* Build the position as appropriate for this mouse click.  */
-       if (event->kind == MOUSE_CLICK_EVENT
-#ifdef HAVE_GPM
-           || event->kind == GPM_CLICK_EVENT
-#endif
-           )
-         {
-           struct frame *f = XFRAME (event->frame_or_window);
-           int row, column;
-
-           /* Ignore mouse events that were made on frame that
-              have been deleted.  */
-           if (! FRAME_LIVE_P (f))
-             return Qnil;
-
-           /* EVENT->x and EVENT->y are frame-relative pixel
-              coordinates at this place.  Under old redisplay, COLUMN
-              and ROW are set to frame relative glyph coordinates
-              which are then used to determine whether this click is
-              in a menu (non-toolkit version).  */
-           if (!toolkit_menubar_in_use (f))
-             {
-               pixel_to_glyph_coords (f, XINT (event->x), XINT (event->y),
-                                      &column, &row, NULL, 1);
-
-               /* In the non-toolkit version, clicks on the menu bar
-                  are ordinary button events in the event buffer.
-                  Distinguish them, and invoke the menu.
-
-                  (In the toolkit version, the toolkit handles the
-                  menu bar and Emacs doesn't know about it until
-                  after the user makes a selection.)  */
-               if (row >= 0 && row < FRAME_MENU_BAR_LINES (f)
-                 && (event->modifiers & down_modifier))
-                 {
-                   Lisp_Object items, item;
-
-                   /* Find the menu bar item under `column'.  */
-                   item = Qnil;
-                   items = FRAME_MENU_BAR_ITEMS (f);
-                   for (i = 0; i < ASIZE (items); i += 4)
-                     {
-                       Lisp_Object pos, string;
-                       string = AREF (items, i + 1);
-                       pos = AREF (items, i + 3);
-                       if (NILP (string))
-                         break;
-                       if (column >= XINT (pos)
-                           && column < XINT (pos) + SCHARS (string))
-                         {
-                           item = AREF (items, i);
-                           break;
-                         }
-                     }
-
-                   /* ELisp manual 2.4b says (x y) are window
-                      relative but code says they are
-                      frame-relative.  */
-                   position = list4 (event->frame_or_window,
-                                     Qmenu_bar,
-                                     Fcons (event->x, event->y),
-                                     make_number (event->timestamp));
-
-                   return list2 (item, position);
-                 }
-             }
-
-           position = make_lispy_position (f, event->x, event->y,
-                                           event->timestamp);
-         }
-#ifndef USE_TOOLKIT_SCROLL_BARS
-       else
-         /* It's a scrollbar click.  */
-         position = make_scroll_bar_position (event, Qvertical_scroll_bar);
-#endif /* not USE_TOOLKIT_SCROLL_BARS */
-
-       if (button >= ASIZE (button_down_location))
-         {
-           ptrdiff_t incr = button - ASIZE (button_down_location) + 1;
-           button_down_location = larger_vector (button_down_location,
-                                                 incr, -1);
-           mouse_syms = larger_vector (mouse_syms, incr, -1);
-         }
-
-       start_pos_ptr = aref_addr (button_down_location, button);
-       start_pos = *start_pos_ptr;
-       *start_pos_ptr = Qnil;
-
-       {
-         /* On window-system frames, use the value of
-            double-click-fuzz as is.  On other frames, interpret it
-            as a multiple of 1/8 characters.  */
-         struct frame *f;
-         int fuzz;
-
-         if (WINDOWP (event->frame_or_window))
-           f = XFRAME (XWINDOW (event->frame_or_window)->frame);
-         else if (FRAMEP (event->frame_or_window))
-           f = XFRAME (event->frame_or_window);
-         else
-           emacs_abort ();
-
-         if (FRAME_WINDOW_P (f))
-           fuzz = double_click_fuzz;
-         else
-           fuzz = double_click_fuzz / 8;
-
-         is_double = (button == last_mouse_button
-                      && (eabs (XINT (event->x) - last_mouse_x) <= fuzz)
-                      && (eabs (XINT (event->y) - last_mouse_y) <= fuzz)
-                      && button_down_time != 0
-                      && (EQ (Vdouble_click_time, Qt)
-                          || (NATNUMP (Vdouble_click_time)
-                              && (event->timestamp - button_down_time
-                                  < XFASTINT (Vdouble_click_time)))));
-       }
-
-       last_mouse_button = button;
-       last_mouse_x = XINT (event->x);
-       last_mouse_y = XINT (event->y);
-
-       /* If this is a button press, squirrel away the location, so
-           we can decide later whether it was a click or a drag.  */
-       if (event->modifiers & down_modifier)
-         {
-           if (is_double)
-             {
-               double_click_count++;
-               event->modifiers |= ((double_click_count > 2)
-                                    ? triple_modifier
-                                    : double_modifier);
-             }
-           else
-             double_click_count = 1;
-           button_down_time = event->timestamp;
-           *start_pos_ptr = Fcopy_alist (position);
-           ignore_mouse_drag_p = 0;
-         }
-
-       /* Now we're releasing a button - check the coordinates to
-           see if this was a click or a drag.  */
-       else if (event->modifiers & up_modifier)
-         {
-           /* If we did not see a down before this up, ignore the up.
-              Probably this happened because the down event chose a
-              menu item.  It would be an annoyance to treat the
-              release of the button that chose the menu item as a
-              separate event.  */
-
-           if (!CONSP (start_pos))
-             return Qnil;
-
-           event->modifiers &= ~up_modifier;
-
-             {
-               Lisp_Object new_down, down;
-               EMACS_INT xdiff = double_click_fuzz, ydiff = double_click_fuzz;
-
-               /* The third element of every position
-                  should be the (x,y) pair.  */
-               down = Fcar (Fcdr (Fcdr (start_pos)));
-               new_down = Fcar (Fcdr (Fcdr (position)));
-
-               if (CONSP (down)
-                   && INTEGERP (XCAR (down)) && INTEGERP (XCDR (down)))
-                 {
-                   xdiff = XINT (XCAR (new_down)) - XINT (XCAR (down));
-                   ydiff = XINT (XCDR (new_down)) - XINT (XCDR (down));
-                 }
-
-               if (ignore_mouse_drag_p)
-                 {
-                   event->modifiers |= click_modifier;
-                   ignore_mouse_drag_p = 0;
-                 }
-               else if (xdiff < double_click_fuzz && xdiff > - double_click_fuzz
-                        && ydiff < double_click_fuzz && ydiff > - double_click_fuzz
-                 /* Maybe the mouse has moved a lot, caused scrolling, and
-                    eventually ended up at the same screen position (but
-                    not buffer position) in which case it is a drag, not
-                    a click.  */
-                   /* FIXME: OTOH if the buffer position has changed
-                      because of a timer or process filter rather than
-                      because of mouse movement, it should be considered as
-                      a click.  But mouse-drag-region completely ignores
-                      this case and it hasn't caused any real problem, so
-                      it's probably OK to ignore it as well.  */
-                   && EQ (Fcar (Fcdr (start_pos)), Fcar (Fcdr (position))))
-                 /* Mouse hasn't moved (much).  */
-                 event->modifiers |= click_modifier;
-               else
-                 {
-                   button_down_time = 0;
-                   event->modifiers |= drag_modifier;
-                 }
-
-               /* Don't check is_double; treat this as multiple
-                  if the down-event was multiple.  */
-               if (double_click_count > 1)
-                 event->modifiers |= ((double_click_count > 2)
-                                      ? triple_modifier
-                                      : double_modifier);
-             }
-         }
-       else
-         /* Every mouse event should either have the down_modifier or
-             the up_modifier set.  */
-         emacs_abort ();
-
-       {
-         /* Get the symbol we should use for the mouse click.  */
-         Lisp_Object head;
-
-         head = modify_event_symbol (button,
-                                     event->modifiers,
-                                     Qmouse_click, Vlispy_mouse_stem,
-                                     NULL,
-                                     &mouse_syms,
-                                     ASIZE (mouse_syms));
-         if (event->modifiers & drag_modifier)
-           return list3 (head, start_pos, position);
-         else if (event->modifiers & (double_modifier | triple_modifier))
-           return list3 (head, position, make_number (double_click_count));
-         else
-           return list2 (head, position);
-       }
-      }
-
-    case WHEEL_EVENT:
-    case HORIZ_WHEEL_EVENT:
-      {
-       Lisp_Object position;
-       Lisp_Object head;
-
-       /* Build the position as appropriate for this mouse click.  */
-       struct frame *f = XFRAME (event->frame_or_window);
-
-       /* Ignore wheel events that were made on frame that have been
-          deleted.  */
-       if (! FRAME_LIVE_P (f))
-         return Qnil;
-
-       position = make_lispy_position (f, event->x, event->y,
-                                       event->timestamp);
-
-       /* Set double or triple modifiers to indicate the wheel speed.  */
-       {
-         /* On window-system frames, use the value of
-            double-click-fuzz as is.  On other frames, interpret it
-            as a multiple of 1/8 characters.  */
-         struct frame *fr;
-         int fuzz;
-         int symbol_num;
-         bool is_double;
-
-         if (WINDOWP (event->frame_or_window))
-           fr = XFRAME (XWINDOW (event->frame_or_window)->frame);
-         else if (FRAMEP (event->frame_or_window))
-           fr = XFRAME (event->frame_or_window);
-         else
-           emacs_abort ();
-
-         fuzz = FRAME_WINDOW_P (fr)
-           ? double_click_fuzz : double_click_fuzz / 8;
-
-         if (event->modifiers & up_modifier)
-           {
-             /* Emit a wheel-up event.  */
-             event->modifiers &= ~up_modifier;
-             symbol_num = 0;
-           }
-         else if (event->modifiers & down_modifier)
-           {
-             /* Emit a wheel-down event.  */
-             event->modifiers &= ~down_modifier;
-             symbol_num = 1;
-           }
-         else
-           /* Every wheel event should either have the down_modifier or
-              the up_modifier set.  */
-           emacs_abort ();
-
-          if (event->kind == HORIZ_WHEEL_EVENT)
-            symbol_num += 2;
-
-         is_double = (last_mouse_button == - (1 + symbol_num)
-                      && (eabs (XINT (event->x) - last_mouse_x) <= fuzz)
-                      && (eabs (XINT (event->y) - last_mouse_y) <= fuzz)
-                      && button_down_time != 0
-                      && (EQ (Vdouble_click_time, Qt)
-                          || (NATNUMP (Vdouble_click_time)
-                              && (event->timestamp - button_down_time
-                                  < XFASTINT (Vdouble_click_time)))));
-         if (is_double)
-           {
-             double_click_count++;
-             event->modifiers |= ((double_click_count > 2)
-                                  ? triple_modifier
-                                  : double_modifier);
-           }
-         else
-           {
-             double_click_count = 1;
-             event->modifiers |= click_modifier;
-           }
-
-         button_down_time = event->timestamp;
-         /* Use a negative value to distinguish wheel from mouse button.  */
-         last_mouse_button = - (1 + symbol_num);
-         last_mouse_x = XINT (event->x);
-         last_mouse_y = XINT (event->y);
-
-         /* Get the symbol we should use for the wheel event.  */
-         head = modify_event_symbol (symbol_num,
-                                     event->modifiers,
-                                     Qmouse_click,
-                                     Qnil,
-                                     lispy_wheel_names,
-                                     &wheel_syms,
-                                     ASIZE (wheel_syms));
-       }
-
-       if (event->modifiers & (double_modifier | triple_modifier))
-         return list3 (head, position, make_number (double_click_count));
-       else
-         return list2 (head, position);
-      }
-
-
-#ifdef USE_TOOLKIT_SCROLL_BARS
-
-      /* We don't have down and up events if using toolkit scroll bars,
-        so make this always a click event.  Store in the `part' of
-        the Lisp event a symbol which maps to the following actions:
-
-        `above_handle'         page up
-        `below_handle'         page down
-        `up'                   line up
-        `down'                 line down
-        `top'                  top of buffer
-        `bottom'               bottom of buffer
-        `handle'               thumb has been dragged.
-        `end-scroll'           end of interaction with scroll bar
-
-        The incoming input_event contains in its `part' member an
-        index of type `enum scroll_bar_part' which we can use as an
-        index in scroll_bar_parts to get the appropriate symbol.  */
-
-    case SCROLL_BAR_CLICK_EVENT:
-      {
-       Lisp_Object position, head;
-
-       position = make_scroll_bar_position (event, Qvertical_scroll_bar);
-
-       /* Always treat scroll bar events as clicks.  */
-       event->modifiers |= click_modifier;
-       event->modifiers &= ~up_modifier;
-
-       if (event->code >= ASIZE (mouse_syms))
-          mouse_syms = larger_vector (mouse_syms,
-                                     event->code - ASIZE (mouse_syms) + 1,
-                                     -1);
-
-       /* Get the symbol we should use for the mouse click.  */
-       head = modify_event_symbol (event->code,
-                                   event->modifiers,
-                                   Qmouse_click,
-                                   Vlispy_mouse_stem,
-                                   NULL, &mouse_syms,
-                                   ASIZE (mouse_syms));
-       return list2 (head, position);
-      }
-
-    case HORIZONTAL_SCROLL_BAR_CLICK_EVENT:
-      {
-       Lisp_Object position, head;
-
-       position = make_scroll_bar_position (event, Qhorizontal_scroll_bar);
-
-       /* Always treat scroll bar events as clicks.  */
-       event->modifiers |= click_modifier;
-       event->modifiers &= ~up_modifier;
-
-       if (event->code >= ASIZE (mouse_syms))
-          mouse_syms = larger_vector (mouse_syms,
-                                     event->code - ASIZE (mouse_syms) + 1,
-                                     -1);
-
-       /* Get the symbol we should use for the mouse click.  */
-       head = modify_event_symbol (event->code,
-                                   event->modifiers,
-                                   Qmouse_click,
-                                   Vlispy_mouse_stem,
-                                   NULL, &mouse_syms,
-                                   ASIZE (mouse_syms));
-       return list2 (head, position);
-      }
-
-#endif /* USE_TOOLKIT_SCROLL_BARS */
-
-    case DRAG_N_DROP_EVENT:
-      {
-       struct frame *f;
-       Lisp_Object head, position;
-       Lisp_Object files;
-
-       f = XFRAME (event->frame_or_window);
-       files = event->arg;
-
-       /* Ignore mouse events that were made on frames that
-          have been deleted.  */
-       if (! FRAME_LIVE_P (f))
-         return Qnil;
-
-       position = make_lispy_position (f, event->x, event->y,
-                                       event->timestamp);
-
-       head = modify_event_symbol (0, event->modifiers,
-                                   Qdrag_n_drop, Qnil,
-                                   lispy_drag_n_drop_names,
-                                   &drag_n_drop_syms, 1);
-       return list3 (head, position, files);
-      }
-
-#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
-    || defined (HAVE_NS) || defined (USE_GTK)
-    case MENU_BAR_EVENT:
-      if (EQ (event->arg, event->frame_or_window))
-       /* This is the prefix key.  We translate this to
-          `(menu_bar)' because the code in keyboard.c for menu
-          events, which we use, relies on this.  */
-       return list1 (Qmenu_bar);
-      return event->arg;
-#endif
-
-    case SELECT_WINDOW_EVENT:
-      /* Make an event (select-window (WINDOW)).  */
-      return list2 (Qselect_window, list1 (event->frame_or_window));
-
-    case TOOL_BAR_EVENT:
-      if (EQ (event->arg, event->frame_or_window))
-       /* This is the prefix key.  We translate this to
-          `(tool_bar)' because the code in keyboard.c for tool bar
-          events, which we use, relies on this.  */
-       return list1 (Qtool_bar);
-      else if (SYMBOLP (event->arg))
-       return apply_modifiers (event->modifiers, event->arg);
-      return event->arg;
-
-    case USER_SIGNAL_EVENT:
-      /* A user signal.  */
-      {
-       char *name = find_user_signal_name (event->code);
-       if (!name)
-         emacs_abort ();
-       return intern (name);
-      }
-
-    case SAVE_SESSION_EVENT:
-      return Qsave_session;
-
-#ifdef HAVE_DBUS
-    case DBUS_EVENT:
-      {
-       return Fcons (Qdbus_event, event->arg);
-      }
-#endif /* HAVE_DBUS */
-
-#if defined HAVE_GFILENOTIFY || defined HAVE_INOTIFY
-    case FILE_NOTIFY_EVENT:
-      {
-        return Fcons (Qfile_notify, event->arg);
-      }
-#endif /* defined HAVE_GFILENOTIFY || defined HAVE_INOTIFY */
-
-    case CONFIG_CHANGED_EVENT:
-       return list3 (Qconfig_changed_event,
-                     event->arg, event->frame_or_window);
-
-      /* The 'kind' field of the event is something we don't recognize.  */
-    default:
-      emacs_abort ();
-    }
-}
-
-static Lisp_Object
-make_lispy_movement (struct frame *frame, Lisp_Object bar_window, enum scroll_bar_part part,
-                    Lisp_Object x, Lisp_Object y, Time t)
-{
-  /* Is it a scroll bar movement?  */
-  if (frame && ! NILP (bar_window))
-    {
-      Lisp_Object part_sym;
-
-      part_sym = builtin_lisp_symbol (scroll_bar_parts[part]);
-      return list2 (Qscroll_bar_movement,
-                   list5 (bar_window,
-                          Qvertical_scroll_bar,
-                          Fcons (x, y),
-                          make_number (t),
-                          part_sym));
-    }
-  /* Or is it an ordinary mouse movement?  */
-  else
-    {
-      Lisp_Object position;
-      position = make_lispy_position (frame, x, y, t);
-      return list2 (Qmouse_movement, position);
-    }
-}
-
-/* Construct a switch frame event.  */
-static Lisp_Object
-make_lispy_switch_frame (Lisp_Object frame)
-{
-  return list2 (Qswitch_frame, frame);
-}
-
-static Lisp_Object
-make_lispy_focus_in (Lisp_Object frame)
-{
-  return list2 (Qfocus_in, frame);
-}
-
-#ifdef HAVE_WINDOW_SYSTEM
-
-static Lisp_Object
-make_lispy_focus_out (Lisp_Object frame)
-{
-  return list2 (Qfocus_out, frame);
-}
-
-#endif /* HAVE_WINDOW_SYSTEM */
-
-/* Manipulating modifiers.  */
-
-/* Parse the name of SYMBOL, and return the set of modifiers it contains.
-
-   If MODIFIER_END is non-zero, set *MODIFIER_END to the position in
-   SYMBOL's name of the end of the modifiers; the string from this
-   position is the unmodified symbol name.
-
-   This doesn't use any caches.  */
-
-static int
-parse_modifiers_uncached (Lisp_Object symbol, ptrdiff_t *modifier_end)
-{
-  Lisp_Object name;
-  ptrdiff_t i;
-  int modifiers;
-
-  CHECK_SYMBOL (symbol);
-
-  modifiers = 0;
-  name = SYMBOL_NAME (symbol);
-
-  for (i = 0; i < SBYTES (name) - 1; )
-    {
-      ptrdiff_t this_mod_end = 0;
-      int this_mod = 0;
-
-      /* See if the name continues with a modifier word.
-        Check that the word appears, but don't check what follows it.
-        Set this_mod and this_mod_end to record what we find.  */
-
-      switch (SREF (name, i))
-       {
-#define SINGLE_LETTER_MOD(BIT)                         \
-         (this_mod_end = i + 1, this_mod = BIT)
-
-       case 'A':
-         SINGLE_LETTER_MOD (alt_modifier);
-         break;
-
-       case 'C':
-         SINGLE_LETTER_MOD (ctrl_modifier);
-         break;
-
-       case 'H':
-         SINGLE_LETTER_MOD (hyper_modifier);
-         break;
-
-       case 'M':
-         SINGLE_LETTER_MOD (meta_modifier);
-         break;
-
-       case 'S':
-         SINGLE_LETTER_MOD (shift_modifier);
-         break;
-
-       case 's':
-         SINGLE_LETTER_MOD (super_modifier);
-         break;
-
-#undef SINGLE_LETTER_MOD
-
-#define MULTI_LETTER_MOD(BIT, NAME, LEN)                       \
-         if (i + LEN + 1 <= SBYTES (name)                      \
-             && ! memcmp (SDATA (name) + i, NAME, LEN))        \
-           {                                                   \
-             this_mod_end = i + LEN;                           \
-             this_mod = BIT;                                   \
-           }
-
-       case 'd':
-         MULTI_LETTER_MOD (drag_modifier, "drag", 4);
-         MULTI_LETTER_MOD (down_modifier, "down", 4);
-         MULTI_LETTER_MOD (double_modifier, "double", 6);
-         break;
-
-       case 't':
-         MULTI_LETTER_MOD (triple_modifier, "triple", 6);
-         break;
-#undef MULTI_LETTER_MOD
-
-       }
-
-      /* If we found no modifier, stop looking for them.  */
-      if (this_mod_end == 0)
-       break;
-
-      /* Check there is a dash after the modifier, so that it
-        really is a modifier.  */
-      if (this_mod_end >= SBYTES (name)
-         || SREF (name, this_mod_end) != '-')
-       break;
-
-      /* This modifier is real; look for another.  */
-      modifiers |= this_mod;
-      i = this_mod_end + 1;
-    }
-
-  /* Should we include the `click' modifier?  */
-  if (! (modifiers & (down_modifier | drag_modifier
-                     | double_modifier | triple_modifier))
-      && i + 7 == SBYTES (name)
-      && memcmp (SDATA (name) + i, "mouse-", 6) == 0
-      && ('0' <= SREF (name, i + 6) && SREF (name, i + 6) <= '9'))
-    modifiers |= click_modifier;
-
-  if (! (modifiers & (double_modifier | triple_modifier))
-      && i + 6 < SBYTES (name)
-      && memcmp (SDATA (name) + i, "wheel-", 6) == 0)
-    modifiers |= click_modifier;
-
-  if (modifier_end)
-    *modifier_end = i;
-
-  return modifiers;
-}
-
-/* Return a symbol whose name is the modifier prefixes for MODIFIERS
-   prepended to the string BASE[0..BASE_LEN-1].
-   This doesn't use any caches.  */
-static Lisp_Object
-apply_modifiers_uncached (int modifiers, char *base, int base_len, int base_len_byte)
-{
-  /* Since BASE could contain nulls, we can't use intern here; we have
-     to use Fintern, which expects a genuine Lisp_String, and keeps a
-     reference to it.  */
-  char new_mods[sizeof "A-C-H-M-S-s-down-drag-double-triple-"];
-  int mod_len;
-
-  {
-    char *p = new_mods;
-
-    /* Only the event queue may use the `up' modifier; it should always
-       be turned into a click or drag event before presented to lisp code.  */
-    if (modifiers & up_modifier)
-      emacs_abort ();
-
-    if (modifiers & alt_modifier)   { *p++ = 'A'; *p++ = '-'; }
-    if (modifiers & ctrl_modifier)  { *p++ = 'C'; *p++ = '-'; }
-    if (modifiers & hyper_modifier) { *p++ = 'H'; *p++ = '-'; }
-    if (modifiers & meta_modifier)  { *p++ = 'M'; *p++ = '-'; }
-    if (modifiers & shift_modifier) { *p++ = 'S'; *p++ = '-'; }
-    if (modifiers & super_modifier) { *p++ = 's'; *p++ = '-'; }
-    if (modifiers & double_modifier) p = stpcpy (p, "double-");
-    if (modifiers & triple_modifier) p = stpcpy (p, "triple-");
-    if (modifiers & down_modifier) p = stpcpy (p, "down-");
-    if (modifiers & drag_modifier) p = stpcpy (p, "drag-");
-    /* The click modifier is denoted by the absence of other modifiers.  */
-
-    *p = '\0';
-
-    mod_len = p - new_mods;
-  }
-
-  {
-    Lisp_Object new_name;
-
-    new_name = make_uninit_multibyte_string (mod_len + base_len,
-                                            mod_len + base_len_byte);
-    memcpy (SDATA (new_name), new_mods, mod_len);
-    memcpy (SDATA (new_name) + mod_len, base, base_len_byte);
-
-    return Fintern (new_name, Qnil);
-  }
-}
-
-
-static const char *const modifier_names[] =
-{
-  "up", "down", "drag", "click", "double", "triple", 0, 0,
-  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-  0, 0, "alt", "super", "hyper", "shift", "control", "meta"
-};
-#define NUM_MOD_NAMES ARRAYELTS (modifier_names)
-
-static Lisp_Object modifier_symbols;
-
-/* Return the list of modifier symbols corresponding to the mask MODIFIERS.  */
-static Lisp_Object
-lispy_modifier_list (int modifiers)
-{
-  Lisp_Object modifier_list;
-  int i;
-
-  modifier_list = Qnil;
-  for (i = 0; (1<<i) <= modifiers && i < NUM_MOD_NAMES; i++)
-    if (modifiers & (1<<i))
-      modifier_list = Fcons (AREF (modifier_symbols, i),
-                            modifier_list);
-
-  return modifier_list;
-}
-
-
-/* Parse the modifiers on SYMBOL, and return a list like (UNMODIFIED MASK),
-   where UNMODIFIED is the unmodified form of SYMBOL,
-   MASK is the set of modifiers present in SYMBOL's name.
-   This is similar to parse_modifiers_uncached, but uses the cache in
-   SYMBOL's Qevent_symbol_element_mask property, and maintains the
-   Qevent_symbol_elements property.  */
-
-#define KEY_TO_CHAR(k) (XINT (k) & ((1 << CHARACTERBITS) - 1))
-
-Lisp_Object
-parse_modifiers (Lisp_Object symbol)
-{
-  Lisp_Object elements;
-
-  if (INTEGERP (symbol))
-    return list2i (KEY_TO_CHAR (symbol), XINT (symbol) & CHAR_MODIFIER_MASK);
-  else if (!SYMBOLP (symbol))
-    return Qnil;
-
-  elements = Fget (symbol, Qevent_symbol_element_mask);
-  if (CONSP (elements))
-    return elements;
-  else
-    {
-      ptrdiff_t end;
-      int modifiers = parse_modifiers_uncached (symbol, &end);
-      Lisp_Object unmodified;
-      Lisp_Object mask;
-
-      unmodified = Fintern (make_string (SSDATA (SYMBOL_NAME (symbol)) + end,
-                                        SBYTES (SYMBOL_NAME (symbol)) - end),
-                           Qnil);
-
-      if (modifiers & ~INTMASK)
-       emacs_abort ();
-      XSETFASTINT (mask, modifiers);
-      elements = list2 (unmodified, mask);
-
-      /* Cache the parsing results on SYMBOL.  */
-      Fput (symbol, Qevent_symbol_element_mask,
-           elements);
-      Fput (symbol, Qevent_symbol_elements,
-           Fcons (unmodified, lispy_modifier_list (modifiers)));
-
-      /* Since we know that SYMBOL is modifiers applied to unmodified,
-        it would be nice to put that in unmodified's cache.
-        But we can't, since we're not sure that parse_modifiers is
-        canonical.  */
-
-      return elements;
-    }
-}
-
-DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,
-       Sevent_symbol_parse_modifiers, 1, 1, 0,
-       doc: /* Parse the event symbol.  For internal use.  */)
-  (Lisp_Object symbol)
-{
-  /* Fill the cache if needed.  */
-  parse_modifiers (symbol);
-  /* Ignore the result (which is stored on Qevent_symbol_element_mask)
-     and use the Lispier representation stored on Qevent_symbol_elements
-     instead.  */
-  return Fget (symbol, Qevent_symbol_elements);
-}
-
-/* Apply the modifiers MODIFIERS to the symbol BASE.
-   BASE must be unmodified.
-
-   This is like apply_modifiers_uncached, but uses BASE's
-   Qmodifier_cache property, if present.  It also builds
-   Qevent_symbol_elements properties, since it has that info anyway.
-
-   apply_modifiers copies the value of BASE's Qevent_kind property to
-   the modified symbol.  */
-static Lisp_Object
-apply_modifiers (int modifiers, Lisp_Object base)
-{
-  Lisp_Object cache, idx, entry, new_symbol;
-
-  /* Mask out upper bits.  We don't know where this value's been.  */
-  modifiers &= INTMASK;
-
-  if (INTEGERP (base))
-    return make_number (XINT (base) | modifiers);
-
-  /* The click modifier never figures into cache indices.  */
-  cache = Fget (base, Qmodifier_cache);
-  XSETFASTINT (idx, (modifiers & ~click_modifier));
-  entry = assq_no_quit (idx, cache);
-
-  if (CONSP (entry))
-    new_symbol = XCDR (entry);
-  else
-    {
-      /* We have to create the symbol ourselves.  */
-      new_symbol = apply_modifiers_uncached (modifiers,
-                                            SSDATA (SYMBOL_NAME (base)),
-                                            SCHARS (SYMBOL_NAME (base)),
-                                            SBYTES (SYMBOL_NAME (base)));
-
-      /* Add the new symbol to the base's cache.  */
-      entry = Fcons (idx, new_symbol);
-      Fput (base, Qmodifier_cache, Fcons (entry, cache));
-
-      /* We have the parsing info now for free, so we could add it to
-        the caches:
-         XSETFASTINT (idx, modifiers);
-         Fput (new_symbol, Qevent_symbol_element_mask,
-               list2 (base, idx));
-         Fput (new_symbol, Qevent_symbol_elements,
-               Fcons (base, lispy_modifier_list (modifiers)));
-        Sadly, this is only correct if `base' is indeed a base event,
-        which is not necessarily the case.  -stef  */
-    }
-
-  /* Make sure this symbol is of the same kind as BASE.
-
-     You'd think we could just set this once and for all when we
-     intern the symbol above, but reorder_modifiers may call us when
-     BASE's property isn't set right; we can't assume that just
-     because it has a Qmodifier_cache property it must have its
-     Qevent_kind set right as well.  */
-  if (NILP (Fget (new_symbol, Qevent_kind)))
-    {
-      Lisp_Object kind;
-
-      kind = Fget (base, Qevent_kind);
-      if (! NILP (kind))
-       Fput (new_symbol, Qevent_kind, kind);
-    }
-
-  return new_symbol;
-}
-
-
-/* Given a symbol whose name begins with modifiers ("C-", "M-", etc),
-   return a symbol with the modifiers placed in the canonical order.
-   Canonical order is alphabetical, except for down and drag, which
-   always come last.  The 'click' modifier is never written out.
-
-   Fdefine_key calls this to make sure that (for example) C-M-foo
-   and M-C-foo end up being equivalent in the keymap.  */
-
-Lisp_Object
-reorder_modifiers (Lisp_Object symbol)
-{
-  /* It's hopefully okay to write the code this way, since everything
-     will soon be in caches, and no consing will be done at all.  */
-  Lisp_Object parsed;
-
-  parsed = parse_modifiers (symbol);
-  return apply_modifiers (XFASTINT (XCAR (XCDR (parsed))),
-                         XCAR (parsed));
-}
-
-
-/* For handling events, we often want to produce a symbol whose name
-   is a series of modifier key prefixes ("M-", "C-", etcetera) attached
-   to some base, like the name of a function key or mouse button.
-   modify_event_symbol produces symbols of this sort.
-
-   NAME_TABLE should point to an array of strings, such that NAME_TABLE[i]
-   is the name of the i'th symbol.  TABLE_SIZE is the number of elements
-   in the table.
-
-   Alternatively, NAME_ALIST_OR_STEM is either an alist mapping codes
-   into symbol names, or a string specifying a name stem used to
-   construct a symbol name or the form `STEM-N', where N is the decimal
-   representation of SYMBOL_NUM.  NAME_ALIST_OR_STEM is used if it is
-   non-nil; otherwise NAME_TABLE is used.
-
-   SYMBOL_TABLE should be a pointer to a Lisp_Object whose value will
-   persist between calls to modify_event_symbol that it can use to
-   store a cache of the symbols it's generated for this NAME_TABLE
-   before.  The object stored there may be a vector or an alist.
-
-   SYMBOL_NUM is the number of the base name we want from NAME_TABLE.
-
-   MODIFIERS is a set of modifier bits (as given in struct input_events)
-   whose prefixes should be applied to the symbol name.
-
-   SYMBOL_KIND is the value to be placed in the event_kind property of
-   the returned symbol.
-
-   The symbols we create are supposed to have an
-   `event-symbol-elements' property, which lists the modifiers present
-   in the symbol's name.  */
-
-static Lisp_Object
-modify_event_symbol (ptrdiff_t symbol_num, int modifiers, Lisp_Object symbol_kind,
-                    Lisp_Object name_alist_or_stem, const char *const *name_table,
-                    Lisp_Object *symbol_table, ptrdiff_t table_size)
-{
-  Lisp_Object value;
-  Lisp_Object symbol_int;
-
-  /* Get rid of the "vendor-specific" bit here.  */
-  XSETINT (symbol_int, symbol_num & 0xffffff);
-
-  /* Is this a request for a valid symbol?  */
-  if (symbol_num < 0 || symbol_num >= table_size)
-    return Qnil;
-
-  if (CONSP (*symbol_table))
-    value = Fcdr (assq_no_quit (symbol_int, *symbol_table));
-
-  /* If *symbol_table doesn't seem to be initialized properly, fix that.
-     *symbol_table should be a lisp vector TABLE_SIZE elements long,
-     where the Nth element is the symbol for NAME_TABLE[N], or nil if
-     we've never used that symbol before.  */
-  else
-    {
-      if (! VECTORP (*symbol_table)
-         || ASIZE (*symbol_table) != table_size)
-       {
-         Lisp_Object size;
-
-         XSETFASTINT (size, table_size);
-         *symbol_table = Fmake_vector (size, Qnil);
-       }
-
-      value = AREF (*symbol_table, symbol_num);
-    }
-
-  /* Have we already used this symbol before?  */
-  if (NILP (value))
-    {
-      /* No; let's create it.  */
-      if (CONSP (name_alist_or_stem))
-       value = Fcdr_safe (Fassq (symbol_int, name_alist_or_stem));
-      else if (STRINGP (name_alist_or_stem))
-       {
-         char *buf;
-         ptrdiff_t len = (SBYTES (name_alist_or_stem)
-                          + sizeof "-" + INT_STRLEN_BOUND (EMACS_INT));
-         USE_SAFE_ALLOCA;
-         buf = SAFE_ALLOCA (len);
-         esprintf (buf, "%s-%"pI"d", SDATA (name_alist_or_stem),
-                   XINT (symbol_int) + 1);
-         value = intern (buf);
-         SAFE_FREE ();
-       }
-      else if (name_table != 0 && name_table[symbol_num])
-       value = intern (name_table[symbol_num]);
-
-#ifdef HAVE_WINDOW_SYSTEM
-      if (NILP (value))
-       {
-         char *name = x_get_keysym_name (symbol_num);
-         if (name)
-           value = intern (name);
-       }
-#endif
-
-      if (NILP (value))
-       {
-         char buf[sizeof "key-" + INT_STRLEN_BOUND (EMACS_INT)];
-         sprintf (buf, "key-%"pD"d", symbol_num);
-         value = intern (buf);
-       }
-
-      if (CONSP (*symbol_table))
-        *symbol_table = Fcons (Fcons (symbol_int, value), *symbol_table);
-      else
-       ASET (*symbol_table, symbol_num, value);
-
-      /* Fill in the cache entries for this symbol; this also
-        builds the Qevent_symbol_elements property, which the user
-        cares about.  */
-      apply_modifiers (modifiers & click_modifier, value);
-      Fput (value, Qevent_kind, symbol_kind);
-    }
-
-  /* Apply modifiers to that symbol.  */
-  return apply_modifiers (modifiers, value);
-}
-\f
-/* Convert a list that represents an event type,
-   such as (ctrl meta backspace), into the usual representation of that
-   event type as a number or a symbol.  */
-
-DEFUN ("event-convert-list", Fevent_convert_list, Sevent_convert_list, 1, 1, 0,
-       doc: /* Convert the event description list EVENT-DESC to an event type.
-EVENT-DESC should contain one base event type (a character or symbol)
-and zero or more modifier names (control, meta, hyper, super, shift, alt,
-drag, down, double or triple).  The base must be last.
-The return value is an event type (a character or symbol) which
-has the same base event type and all the specified modifiers.  */)
-  (Lisp_Object event_desc)
-{
-  Lisp_Object base;
-  int modifiers = 0;
-  Lisp_Object rest;
-
-  base = Qnil;
-  rest = event_desc;
-  while (CONSP (rest))
-    {
-      Lisp_Object elt;
-      int this = 0;
-
-      elt = XCAR (rest);
-      rest = XCDR (rest);
-
-      /* Given a symbol, see if it is a modifier name.  */
-      if (SYMBOLP (elt) && CONSP (rest))
-       this = parse_solitary_modifier (elt);
-
-      if (this != 0)
-       modifiers |= this;
-      else if (!NILP (base))
-       error ("Two bases given in one event");
-      else
-       base = elt;
-
-    }
-
-  /* Let the symbol A refer to the character A.  */
-  if (SYMBOLP (base) && SCHARS (SYMBOL_NAME (base)) == 1)
-    XSETINT (base, SREF (SYMBOL_NAME (base), 0));
-
-  if (INTEGERP (base))
-    {
-      /* Turn (shift a) into A.  */
-      if ((modifiers & shift_modifier) != 0
-         && (XINT (base) >= 'a' && XINT (base) <= 'z'))
-       {
-         XSETINT (base, XINT (base) - ('a' - 'A'));
-         modifiers &= ~shift_modifier;
-       }
-
-      /* Turn (control a) into C-a.  */
-      if (modifiers & ctrl_modifier)
-       return make_number ((modifiers & ~ctrl_modifier)
-                           | make_ctrl_char (XINT (base)));
-      else
-       return make_number (modifiers | XINT (base));
-    }
-  else if (SYMBOLP (base))
-    return apply_modifiers (modifiers, base);
-  else
-    error ("Invalid base event");
-}
-
-/* Try to recognize SYMBOL as a modifier name.
-   Return the modifier flag bit, or 0 if not recognized.  */
-
-int
-parse_solitary_modifier (Lisp_Object symbol)
-{
-  Lisp_Object name = SYMBOL_NAME (symbol);
-
-  switch (SREF (name, 0))
-    {
-#define SINGLE_LETTER_MOD(BIT)                         \
-      if (SBYTES (name) == 1)                          \
-       return BIT;
-
-#define MULTI_LETTER_MOD(BIT, NAME, LEN)               \
-      if (LEN == SBYTES (name)                         \
-         && ! memcmp (SDATA (name), NAME, LEN))        \
-       return BIT;
-
-    case 'A':
-      SINGLE_LETTER_MOD (alt_modifier);
-      break;
-
-    case 'a':
-      MULTI_LETTER_MOD (alt_modifier, "alt", 3);
-      break;
-
-    case 'C':
-      SINGLE_LETTER_MOD (ctrl_modifier);
-      break;
-
-    case 'c':
-      MULTI_LETTER_MOD (ctrl_modifier, "ctrl", 4);
-      MULTI_LETTER_MOD (ctrl_modifier, "control", 7);
-      break;
-
-    case 'H':
-      SINGLE_LETTER_MOD (hyper_modifier);
-      break;
-
-    case 'h':
-      MULTI_LETTER_MOD (hyper_modifier, "hyper", 5);
-      break;
-
-    case 'M':
-      SINGLE_LETTER_MOD (meta_modifier);
-      break;
-
-    case 'm':
-      MULTI_LETTER_MOD (meta_modifier, "meta", 4);
-      break;
-
-    case 'S':
-      SINGLE_LETTER_MOD (shift_modifier);
-      break;
-
-    case 's':
-      MULTI_LETTER_MOD (shift_modifier, "shift", 5);
-      MULTI_LETTER_MOD (super_modifier, "super", 5);
-      SINGLE_LETTER_MOD (super_modifier);
-      break;
-
-    case 'd':
-      MULTI_LETTER_MOD (drag_modifier, "drag", 4);
-      MULTI_LETTER_MOD (down_modifier, "down", 4);
-      MULTI_LETTER_MOD (double_modifier, "double", 6);
-      break;
-
-    case 't':
-      MULTI_LETTER_MOD (triple_modifier, "triple", 6);
-      break;
-
-#undef SINGLE_LETTER_MOD
-#undef MULTI_LETTER_MOD
-    }
-
-  return 0;
-}
-
-/* Return true if EVENT is a list whose elements are all integers or symbols.
-   Such a list is not valid as an event,
-   but it can be a Lucid-style event type list.  */
-
-bool
-lucid_event_type_list_p (Lisp_Object object)
-{
-  Lisp_Object tail;
-
-  if (! CONSP (object))
-    return 0;
-
-  if (EQ (XCAR (object), Qhelp_echo)
-      || EQ (XCAR (object), Qvertical_line)
-      || EQ (XCAR (object), Qmode_line)
-      || EQ (XCAR (object), Qheader_line))
-    return 0;
-
-  for (tail = object; CONSP (tail); tail = XCDR (tail))
-    {
-      Lisp_Object elt;
-      elt = XCAR (tail);
-      if (! (INTEGERP (elt) || SYMBOLP (elt)))
-       return 0;
-    }
-
-  return NILP (tail);
-}
-\f
-/* Return true if terminal input chars are available.
-   Also, store the return value into INPUT_PENDING.
-
-   Serves the purpose of ioctl (0, FIONREAD, ...)
-   but works even if FIONREAD does not exist.
-   (In fact, this may actually read some input.)
-
-   If READABLE_EVENTS_DO_TIMERS_NOW is set in FLAGS, actually run
-   timer events that are ripe.
-   If READABLE_EVENTS_FILTER_EVENTS is set in FLAGS, ignore internal
-   events (FOCUS_IN_EVENT).
-   If READABLE_EVENTS_IGNORE_SQUEEZABLES is set in FLAGS, ignore mouse
-   movements and toolkit scroll bar thumb drags.  */
-
-static bool
-get_input_pending (int flags)
-{
-  /* First of all, have we already counted some input?  */
-  input_pending = (!NILP (Vquit_flag) || readable_events (flags));
-
-  /* If input is being read as it arrives, and we have none, there is none.  */
-  if (!input_pending && (!interrupt_input || interrupts_deferred))
-    {
-      /* Try to read some input and see how much we get.  */
-      gobble_input ();
-      input_pending = (!NILP (Vquit_flag) || readable_events (flags));
-    }
-
-  return input_pending;
-}
-
-/* Put a BUFFER_SWITCH_EVENT in the buffer
-   so that read_key_sequence will notice the new current buffer.  */
-
-void
-record_asynch_buffer_change (void)
-{
-  /* We don't need a buffer-switch event unless Emacs is waiting for input.
-     The purpose of the event is to make read_key_sequence look up the
-     keymaps again.  If we aren't in read_key_sequence, we don't need one,
-     and the event could cause trouble by messing up (input-pending-p).
-     Note: Fwaiting_for_user_input_p always returns nil when async
-     subprocesses aren't supported.  */
-  if (!NILP (Fwaiting_for_user_input_p ()))
-    {
-      struct input_event event;
-
-      EVENT_INIT (event);
-      event.kind = BUFFER_SWITCH_EVENT;
-      event.frame_or_window = Qnil;
-      event.arg = Qnil;
-
-      /* Make sure no interrupt happens while storing the event.  */
-#ifdef USABLE_SIGIO
-      if (interrupt_input)
-       kbd_buffer_store_event (&event);
-      else
-#endif
-       {
-         stop_polling ();
-         kbd_buffer_store_event (&event);
-         start_polling ();
-       }
-    }
-}
-
-/* Read any terminal input already buffered up by the system
-   into the kbd_buffer, but do not wait.
-
-   Return the number of keyboard chars read, or -1 meaning
-   this is a bad time to try to read input.  */
-
-int
-gobble_input (void)
-{
-  int nread = 0;
-  bool err = 0;
-  struct terminal *t;
-
-  /* Store pending user signal events, if any.  */
-  store_user_signal_events ();
-
-  /* Loop through the available terminals, and call their input hooks.  */
-  t = terminal_list;
-  while (t)
-    {
-      struct terminal *next = t->next_terminal;
-
-      if (t->read_socket_hook)
-        {
-          int nr;
-          struct input_event hold_quit;
-
-         if (input_blocked_p ())
-           {
-             pending_signals = 1;
-             break;
-           }
-
-          EVENT_INIT (hold_quit);
-          hold_quit.kind = NO_EVENT;
-
-          /* No need for FIONREAD or fcntl; just say don't wait.  */
-         while ((nr = (*t->read_socket_hook) (t, &hold_quit)) > 0)
-           nread += nr;
-
-          if (nr == -1)          /* Not OK to read input now.  */
-            {
-              err = 1;
-            }
-          else if (nr == -2)          /* Non-transient error.  */
-            {
-              /* The terminal device terminated; it should be closed.  */
-
-              /* Kill Emacs if this was our last terminal.  */
-              if (!terminal_list->next_terminal)
-                /* Formerly simply reported no input, but that
-                   sometimes led to a failure of Emacs to terminate.
-                   SIGHUP seems appropriate if we can't reach the
-                   terminal.  */
-                /* ??? Is it really right to send the signal just to
-                   this process rather than to the whole process
-                   group?  Perhaps on systems with FIONREAD Emacs is
-                   alone in its group.  */
-               terminate_due_to_signal (SIGHUP, 10);
-
-              /* XXX Is calling delete_terminal safe here?  It calls delete_frame.  */
-             {
-               Lisp_Object tmp;
-               XSETTERMINAL (tmp, t);
-               Fdelete_terminal (tmp, Qnoelisp);
-             }
-            }
-
-         /* If there was no error, make sure the pointer
-            is visible for all frames on this terminal.  */
-         if (nr >= 0)
-           {
-             Lisp_Object tail, frame;
-
-             FOR_EACH_FRAME (tail, frame)
-               {
-                 struct frame *f = XFRAME (frame);
-                 if (FRAME_TERMINAL (f) == t)
-                   frame_make_pointer_visible (f);
-               }
-           }
-
-          if (hold_quit.kind != NO_EVENT)
-            kbd_buffer_store_event (&hold_quit);
-        }
-
-      t = next;
-    }
-
-  if (err && !nread)
-    nread = -1;
-
-  return nread;
-}
-
-/* This is the tty way of reading available input.
-
-   Note that each terminal device has its own `struct terminal' object,
-   and so this function is called once for each individual termcap
-   terminal.  The first parameter indicates which terminal to read from.  */
-
-int
-tty_read_avail_input (struct terminal *terminal,
-                      struct input_event *hold_quit)
-{
-  /* Using KBD_BUFFER_SIZE - 1 here avoids reading more than
-     the kbd_buffer can really hold.  That may prevent loss
-     of characters on some systems when input is stuffed at us.  */
-  unsigned char cbuf[KBD_BUFFER_SIZE - 1];
-  int n_to_read, i;
-  struct tty_display_info *tty = terminal->display_info.tty;
-  int nread = 0;
-#ifdef subprocesses
-  int buffer_free = KBD_BUFFER_SIZE - kbd_buffer_nr_stored () - 1;
-
-  if (kbd_on_hold_p () || buffer_free <= 0)
-    return 0;
-#endif /* subprocesses */
-
-  if (!terminal->name)         /* Don't read from a dead terminal.  */
-    return 0;
-
-  if (terminal->type != output_termcap
-      && terminal->type != output_msdos_raw)
-    emacs_abort ();
-
-  /* XXX I think the following code should be moved to separate hook
-     functions in system-dependent files.  */
-#ifdef WINDOWSNT
-  /* FIXME: AFAIK, tty_read_avail_input is not used under w32 since the non-GUI
-     code sets read_socket_hook to w32_console_read_socket instead!  */
-  return 0;
-#else /* not WINDOWSNT */
-  if (! tty->term_initted)      /* In case we get called during bootstrap.  */
-    return 0;
-
-  if (! tty->input)
-    return 0;                   /* The terminal is suspended.  */
-
-#ifdef MSDOS
-  n_to_read = dos_keysns ();
-  if (n_to_read == 0)
-    return 0;
-
-  cbuf[0] = dos_keyread ();
-  nread = 1;
-
-#else /* not MSDOS */
-#ifdef HAVE_GPM
-  if (gpm_tty == tty)
-  {
-      Gpm_Event event;
-      struct input_event gpm_hold_quit;
-      int gpm, fd = gpm_fd;
-
-      EVENT_INIT (gpm_hold_quit);
-      gpm_hold_quit.kind = NO_EVENT;
-
-      /* gpm==1 if event received.
-         gpm==0 if the GPM daemon has closed the connection, in which case
-                Gpm_GetEvent closes gpm_fd and clears it to -1, which is why
-               we save it in `fd' so close_gpm can remove it from the
-               select masks.
-         gpm==-1 if a protocol error or EWOULDBLOCK; the latter is normal.  */
-      while (gpm = Gpm_GetEvent (&event), gpm == 1) {
-         nread += handle_one_term_event (tty, &event, &gpm_hold_quit);
-      }
-      if (gpm == 0)
-       /* Presumably the GPM daemon has closed the connection.  */
-       close_gpm (fd);
-      if (gpm_hold_quit.kind != NO_EVENT)
-         kbd_buffer_store_event (&gpm_hold_quit);
-      if (nread)
-         return nread;
-  }
-#endif /* HAVE_GPM */
-
-/* Determine how many characters we should *try* to read.  */
-#ifdef USABLE_FIONREAD
-  /* Find out how much input is available.  */
-  if (ioctl (fileno (tty->input), FIONREAD, &n_to_read) < 0)
-    {
-      if (! noninteractive)
-        return -2;          /* Close this terminal.  */
-      else
-        n_to_read = 0;
-    }
-  if (n_to_read == 0)
-    return 0;
-  if (n_to_read > sizeof cbuf)
-    n_to_read = sizeof cbuf;
-#elif defined USG || defined CYGWIN
-  /* Read some input if available, but don't wait.  */
-  n_to_read = sizeof cbuf;
-  fcntl (fileno (tty->input), F_SETFL, O_NONBLOCK);
-#else
-# error "Cannot read without possibly delaying"
-#endif
-
-#ifdef subprocesses
-  /* Don't read more than we can store.  */
-  if (n_to_read > buffer_free)
-    n_to_read = buffer_free;
-#endif /* subprocesses */
-
-  /* Now read; for one reason or another, this will not block.
-     NREAD is set to the number of chars read.  */
-  do
-    {
-      nread = emacs_read (fileno (tty->input), (char *) cbuf, n_to_read);
-      /* POSIX infers that processes which are not in the session leader's
-         process group won't get SIGHUPs at logout time.  BSDI adheres to
-         this part standard and returns -1 from read (0) with errno==EIO
-         when the control tty is taken away.
-         Jeffrey Honig <jch@bsdi.com> says this is generally safe.  */
-      if (nread == -1 && errno == EIO)
-        return -2;          /* Close this terminal.  */
-#if defined (AIX) && defined (_BSD)
-      /* The kernel sometimes fails to deliver SIGHUP for ptys.
-         This looks incorrect, but it isn't, because _BSD causes
-         O_NDELAY to be defined in fcntl.h as O_NONBLOCK,
-         and that causes a value other than 0 when there is no input.  */
-      if (nread == 0)
-        return -2;          /* Close this terminal.  */
-#endif
-    }
-  while (
-         /* We used to retry the read if it was interrupted.
-            But this does the wrong thing when O_NONBLOCK causes
-            an EAGAIN error.  Does anybody know of a situation
-            where a retry is actually needed?  */
-#if 0
-         nread < 0 && (errno == EAGAIN || errno == EFAULT
-#ifdef EBADSLT
-                       || errno == EBADSLT
-#endif
-                       )
-#else
-         0
-#endif
-         );
-
-#ifndef USABLE_FIONREAD
-#if defined (USG) || defined (CYGWIN)
-  fcntl (fileno (tty->input), F_SETFL, 0);
-#endif /* USG or CYGWIN */
-#endif /* no FIONREAD */
-
-  if (nread <= 0)
-    return nread;
-
-#endif /* not MSDOS */
-#endif /* not WINDOWSNT */
-
-  for (i = 0; i < nread; i++)
-    {
-      struct input_event buf;
-      EVENT_INIT (buf);
-      buf.kind = ASCII_KEYSTROKE_EVENT;
-      buf.modifiers = 0;
-      if (tty->meta_key == 1 && (cbuf[i] & 0x80))
-        buf.modifiers = meta_modifier;
-      if (tty->meta_key != 2)
-        cbuf[i] &= ~0x80;
-
-      buf.code = cbuf[i];
-      /* Set the frame corresponding to the active tty.  Note that the
-         value of selected_frame is not reliable here, redisplay tends
-         to temporarily change it.  */
-      buf.frame_or_window = tty->top_frame;
-      buf.arg = Qnil;
-
-      kbd_buffer_store_event (&buf);
-      /* Don't look at input that follows a C-g too closely.
-         This reduces lossage due to autorepeat on C-g.  */
-      if (buf.kind == ASCII_KEYSTROKE_EVENT
-          && buf.code == quit_char)
-        break;
-    }
-
-  return nread;
-}
-\f
-static void
-handle_async_input (void)
-{
-#ifdef USABLE_SIGIO
-  while (1)
-    {
-      int nread = gobble_input ();
-      /* -1 means it's not ok to read the input now.
-        UNBLOCK_INPUT will read it later; now, avoid infinite loop.
-        0 means there was no keyboard input available.  */
-      if (nread <= 0)
-       break;
-    }
-#endif
-}
-
-void
-process_pending_signals (void)
-{
-  pending_signals = 0;
-  handle_async_input ();
-  do_pending_atimers ();
-}
-
-/* Undo any number of BLOCK_INPUT calls down to level LEVEL,
-   and reinvoke any pending signal if the level is now 0 and
-   a fatal error is not already in progress.  */
-
-void
-unblock_input_to (int level)
-{
-  interrupt_input_blocked = level;
-  if (level == 0)
-    {
-      if (pending_signals && !fatal_error_in_progress)
-       process_pending_signals ();
-    }
-  else if (level < 0)
-    emacs_abort ();
-}
-
-/* End critical section.
-
-   If doing signal-driven input, and a signal came in when input was
-   blocked, reinvoke the signal handler now to deal with it.
-
-   It will also process queued input, if it was not read before.
-   When a longer code sequence does not use block/unblock input
-   at all, the whole input gathered up to the next call to
-   unblock_input will be processed inside that call. */
-
-void
-unblock_input (void)
-{
-  unblock_input_to (interrupt_input_blocked - 1);
-}
-
-/* Undo any number of BLOCK_INPUT calls,
-   and also reinvoke any pending signal.  */
-
-void
-totally_unblock_input (void)
-{
-  unblock_input_to (0);
-}
-
-#ifdef USABLE_SIGIO
-
-void
-handle_input_available_signal (int sig)
-{
-  pending_signals = 1;
-
-  if (input_available_clear_time)
-    *input_available_clear_time = make_timespec (0, 0);
-}
-
-static void
-deliver_input_available_signal (int sig)
-{
-  deliver_process_signal (sig, handle_input_available_signal);
-}
-#endif /* USABLE_SIGIO */
-
-\f
-/* User signal events.  */
-
-struct user_signal_info
-{
-  /* Signal number.  */
-  int sig;
-
-  /* Name of the signal.  */
-  char *name;
-
-  /* Number of pending signals.  */
-  int npending;
-
-  struct user_signal_info *next;
-};
-
-/* List of user signals.  */
-static struct user_signal_info *user_signals = NULL;
-
-void
-add_user_signal (int sig, const char *name)
-{
-  struct sigaction action;
-  struct user_signal_info *p;
-
-  for (p = user_signals; p; p = p->next)
-    if (p->sig == sig)
-      /* Already added.  */
-      return;
-
-  p = xmalloc (sizeof *p);
-  p->sig = sig;
-  p->name = xstrdup (name);
-  p->npending = 0;
-  p->next = user_signals;
-  user_signals = p;
-
-  emacs_sigaction_init (&action, deliver_user_signal);
-  sigaction (sig, &action, 0);
-}
-
-static void
-handle_user_signal (int sig)
-{
-  struct user_signal_info *p;
-  const char *special_event_name = NULL;
-
-  if (SYMBOLP (Vdebug_on_event))
-    special_event_name = SSDATA (SYMBOL_NAME (Vdebug_on_event));
-
-  for (p = user_signals; p; p = p->next)
-    if (p->sig == sig)
-      {
-        if (special_event_name
-           && strcmp (special_event_name, p->name) == 0)
-          {
-            /* Enter the debugger in many ways.  */
-            debug_on_next_call = 1;
-            debug_on_quit = 1;
-            Vquit_flag = Qt;
-            Vinhibit_quit = Qnil;
-
-            /* Eat the event.  */
-            break;
-          }
-
-       p->npending++;
-#ifdef USABLE_SIGIO
-       if (interrupt_input)
-         handle_input_available_signal (sig);
-       else
-#endif
-         {
-           /* Tell wait_reading_process_output that it needs to wake
-              up and look around.  */
-           if (input_available_clear_time)
-             *input_available_clear_time = make_timespec (0, 0);
-         }
-       break;
-      }
-}
-
-static void
-deliver_user_signal (int sig)
-{
-  deliver_process_signal (sig, handle_user_signal);
-}
-
-static char *
-find_user_signal_name (int sig)
-{
-  struct user_signal_info *p;
-
-  for (p = user_signals; p; p = p->next)
-    if (p->sig == sig)
-      return p->name;
-
-  return NULL;
-}
-
-static void
-store_user_signal_events (void)
-{
-  struct user_signal_info *p;
-  struct input_event buf;
-  bool buf_initialized = 0;
-
-  for (p = user_signals; p; p = p->next)
-    if (p->npending > 0)
-      {
-       if (! buf_initialized)
-         {
-           memset (&buf, 0, sizeof buf);
-           buf.kind = USER_SIGNAL_EVENT;
-           buf.frame_or_window = selected_frame;
-           buf_initialized = 1;
-         }
-
-       do
-         {
-           buf.code = p->sig;
-           kbd_buffer_store_event (&buf);
-           p->npending--;
-         }
-       while (p->npending > 0);
-      }
-}
-
-\f
-static void menu_bar_item (Lisp_Object, Lisp_Object, Lisp_Object, void *);
-static Lisp_Object menu_bar_one_keymap_changed_items;
-
-/* These variables hold the vector under construction within
-   menu_bar_items and its subroutines, and the current index
-   for storing into that vector.  */
-static Lisp_Object menu_bar_items_vector;
-static int menu_bar_items_index;
-
-
-static const char *separator_names[] = {
-  "space",
-  "no-line",
-  "single-line",
-  "double-line",
-  "single-dashed-line",
-  "double-dashed-line",
-  "shadow-etched-in",
-  "shadow-etched-out",
-  "shadow-etched-in-dash",
-  "shadow-etched-out-dash",
-  "shadow-double-etched-in",
-  "shadow-double-etched-out",
-  "shadow-double-etched-in-dash",
-  "shadow-double-etched-out-dash",
-  0,
-};
-
-/* Return true if LABEL specifies a separator.  */
-
-bool
-menu_separator_name_p (const char *label)
-{
-  if (!label)
-    return 0;
-  else if (strlen (label) > 3
-          && memcmp (label, "--", 2) == 0
-          && label[2] != '-')
-    {
-      int i;
-      label += 2;
-      for (i = 0; separator_names[i]; ++i)
-       if (strcmp (label, separator_names[i]) == 0)
-          return 1;
-    }
-  else
-    {
-      /* It's a separator if it contains only dashes.  */
-      while (*label == '-')
-       ++label;
-      return (*label == 0);
-    }
-
-  return 0;
-}
-
-
-/* Return a vector of menu items for a menu bar, appropriate
-   to the current buffer.  Each item has three elements in the vector:
-   KEY STRING MAPLIST.
-
-   OLD is an old vector we can optionally reuse, or nil.  */
-
-Lisp_Object
-menu_bar_items (Lisp_Object old)
-{
-  /* The number of keymaps we're scanning right now, and the number of
-     keymaps we have allocated space for.  */
-  ptrdiff_t nmaps;
-
-  /* maps[0..nmaps-1] are the prefix definitions of KEYBUF[0..t-1]
-     in the current keymaps, or nil where it is not a prefix.  */
-  Lisp_Object *maps;
-
-  Lisp_Object mapsbuf[3];
-  Lisp_Object def, tail;
-
-  ptrdiff_t mapno;
-  Lisp_Object oquit;
-
-  USE_SAFE_ALLOCA;
-
-  /* In order to build the menus, we need to call the keymap
-     accessors.  They all call QUIT.  But this function is called
-     during redisplay, during which a quit is fatal.  So inhibit
-     quitting while building the menus.
-     We do this instead of specbind because (1) errors will clear it anyway
-     and (2) this avoids risk of specpdl overflow.  */
-  oquit = Vinhibit_quit;
-  Vinhibit_quit = Qt;
-
-  if (!NILP (old))
-    menu_bar_items_vector = old;
-  else
-    menu_bar_items_vector = Fmake_vector (make_number (24), Qnil);
-  menu_bar_items_index = 0;
-
-  /* Build our list of keymaps.
-     If we recognize a function key and replace its escape sequence in
-     keybuf with its symbol, or if the sequence starts with a mouse
-     click and we need to switch buffers, we jump back here to rebuild
-     the initial keymaps from the current buffer.  */
-  {
-    Lisp_Object *tmaps;
-
-    /* Should overriding-terminal-local-map and overriding-local-map apply?  */
-    if (!NILP (Voverriding_local_map_menu_flag)
-       && !NILP (Voverriding_local_map))
-      {
-       /* Yes, use them (if non-nil) as well as the global map.  */
-       maps = mapsbuf;
-       nmaps = 0;
-       if (!NILP (KVAR (current_kboard, Voverriding_terminal_local_map)))
-         maps[nmaps++] = KVAR (current_kboard, Voverriding_terminal_local_map);
-       if (!NILP (Voverriding_local_map))
-         maps[nmaps++] = Voverriding_local_map;
-      }
-    else
-      {
-       /* No, so use major and minor mode keymaps and keymap property.
-          Note that menu-bar bindings in the local-map and keymap
-          properties may not work reliable, as they are only
-          recognized when the menu-bar (or mode-line) is updated,
-          which does not normally happen after every command.  */
-       Lisp_Object tem;
-       ptrdiff_t nminor;
-       nminor = current_minor_maps (NULL, &tmaps);
-       SAFE_NALLOCA (maps, 1, nminor + 4);
-       nmaps = 0;
-       tem = KVAR (current_kboard, Voverriding_terminal_local_map);
-       if (!NILP (tem) && !NILP (Voverriding_local_map_menu_flag))
-         maps[nmaps++] = tem;
-       if (tem = get_local_map (PT, current_buffer, Qkeymap), !NILP (tem))
-         maps[nmaps++] = tem;
-       memcpy (maps + nmaps, tmaps, nminor * sizeof (maps[0]));
-       nmaps += nminor;
-       maps[nmaps++] = get_local_map (PT, current_buffer, Qlocal_map);
-      }
-    maps[nmaps++] = current_global_map;
-  }
-
-  /* Look up in each map the dummy prefix key `menu-bar'.  */
-
-  for (mapno = nmaps - 1; mapno >= 0; mapno--)
-    if (!NILP (maps[mapno]))
-      {
-       def = get_keymap (access_keymap (maps[mapno], Qmenu_bar, 1, 0, 1),
-                         0, 1);
-       if (CONSP (def))
-         {
-           menu_bar_one_keymap_changed_items = Qnil;
-           map_keymap_canonical (def, menu_bar_item, Qnil, NULL);
-         }
-      }
-
-  /* Move to the end those items that should be at the end.  */
-
-  for (tail = Vmenu_bar_final_items; CONSP (tail); tail = XCDR (tail))
-    {
-      int i;
-      int end = menu_bar_items_index;
-
-      for (i = 0; i < end; i += 4)
-       if (EQ (XCAR (tail), AREF (menu_bar_items_vector, i)))
-         {
-           Lisp_Object tem0, tem1, tem2, tem3;
-           /* Move the item at index I to the end,
-              shifting all the others forward.  */
-           tem0 = AREF (menu_bar_items_vector, i + 0);
-           tem1 = AREF (menu_bar_items_vector, i + 1);
-           tem2 = AREF (menu_bar_items_vector, i + 2);
-           tem3 = AREF (menu_bar_items_vector, i + 3);
-           if (end > i + 4)
-             memmove (aref_addr (menu_bar_items_vector, i),
-                      aref_addr (menu_bar_items_vector, i + 4),
-                      (end - i - 4) * word_size);
-           ASET (menu_bar_items_vector, end - 4, tem0);
-           ASET (menu_bar_items_vector, end - 3, tem1);
-           ASET (menu_bar_items_vector, end - 2, tem2);
-           ASET (menu_bar_items_vector, end - 1, tem3);
-           break;
-         }
-    }
-
-  /* Add nil, nil, nil, nil at the end.  */
-  {
-    int i = menu_bar_items_index;
-    if (i + 4 > ASIZE (menu_bar_items_vector))
-      menu_bar_items_vector
-       = larger_vector (menu_bar_items_vector, 4, -1);
-    /* Add this item.  */
-    ASET (menu_bar_items_vector, i, Qnil); i++;
-    ASET (menu_bar_items_vector, i, Qnil); i++;
-    ASET (menu_bar_items_vector, i, Qnil); i++;
-    ASET (menu_bar_items_vector, i, Qnil); i++;
-    menu_bar_items_index = i;
-  }
-
-  Vinhibit_quit = oquit;
-  SAFE_FREE ();
-  return menu_bar_items_vector;
-}
-\f
-/* Add one item to menu_bar_items_vector, for KEY, ITEM_STRING and DEF.
-   If there's already an item for KEY, add this DEF to it.  */
-
-Lisp_Object item_properties;
-
-static void
-menu_bar_item (Lisp_Object key, Lisp_Object item, Lisp_Object dummy1, void *dummy2)
-{
-  struct gcpro gcpro1;
-  int i;
-  bool parsed;
-  Lisp_Object tem;
-
-  if (EQ (item, Qundefined))
-    {
-      /* If a map has an explicit `undefined' as definition,
-        discard any previously made menu bar item.  */
-
-      for (i = 0; i < menu_bar_items_index; i += 4)
-       if (EQ (key, AREF (menu_bar_items_vector, i)))
-         {
-           if (menu_bar_items_index > i + 4)
-             memmove (aref_addr (menu_bar_items_vector, i),
-                      aref_addr (menu_bar_items_vector, i + 4),
-                      (menu_bar_items_index - i - 4) * word_size);
-           menu_bar_items_index -= 4;
-         }
-    }
-
-  /* If this keymap has already contributed to this KEY,
-     don't contribute to it a second time.  */
-  tem = Fmemq (key, menu_bar_one_keymap_changed_items);
-  if (!NILP (tem) || NILP (item))
-    return;
-
-  menu_bar_one_keymap_changed_items
-    = Fcons (key, menu_bar_one_keymap_changed_items);
-
-  /* We add to menu_bar_one_keymap_changed_items before doing the
-     parse_menu_item, so that if it turns out it wasn't a menu item,
-     it still correctly hides any further menu item.  */
-  GCPRO1 (key);
-  parsed = parse_menu_item (item, 1);
-  UNGCPRO;
-  if (!parsed)
-    return;
-
-  item = AREF (item_properties, ITEM_PROPERTY_DEF);
-
-  /* Find any existing item for this KEY.  */
-  for (i = 0; i < menu_bar_items_index; i += 4)
-    if (EQ (key, AREF (menu_bar_items_vector, i)))
-      break;
-
-  /* If we did not find this KEY, add it at the end.  */
-  if (i == menu_bar_items_index)
-    {
-      /* If vector is too small, get a bigger one.  */
-      if (i + 4 > ASIZE (menu_bar_items_vector))
-       menu_bar_items_vector = larger_vector (menu_bar_items_vector, 4, -1);
-      /* Add this item.  */
-      ASET (menu_bar_items_vector, i, key); i++;
-      ASET (menu_bar_items_vector, i,
-           AREF (item_properties, ITEM_PROPERTY_NAME)); i++;
-      ASET (menu_bar_items_vector, i, list1 (item)); i++;
-      ASET (menu_bar_items_vector, i, make_number (0)); i++;
-      menu_bar_items_index = i;
-    }
-  /* We did find an item for this KEY.  Add ITEM to its list of maps.  */
-  else
-    {
-      Lisp_Object old;
-      old = AREF (menu_bar_items_vector, i + 2);
-      /* If the new and the old items are not both keymaps,
-        the lookup will only find `item'.  */
-      item = Fcons (item, KEYMAPP (item) && KEYMAPP (XCAR (old)) ? old : Qnil);
-      ASET (menu_bar_items_vector, i + 2, item);
-    }
-}
-\f
- /* This is used as the handler when calling menu_item_eval_property.  */
-static Lisp_Object
-menu_item_eval_property_1 (Lisp_Object arg)
-{
-  /* If we got a quit from within the menu computation,
-     quit all the way out of it.  This takes care of C-] in the debugger.  */
-  if (CONSP (arg) && EQ (XCAR (arg), Qquit))
-    Fsignal (Qquit, Qnil);
-
-  return Qnil;
-}
-
-static Lisp_Object
-eval_dyn (Lisp_Object form)
-{
-  return Feval (form, Qnil);
-}
-
-/* Evaluate an expression and return the result (or nil if something
-   went wrong).  Used to evaluate dynamic parts of menu items.  */
-Lisp_Object
-menu_item_eval_property (Lisp_Object sexpr)
-{
-  ptrdiff_t count = SPECPDL_INDEX ();
-  Lisp_Object val;
-  specbind (Qinhibit_redisplay, Qt);
-  val = internal_condition_case_1 (eval_dyn, sexpr, Qerror,
-                                  menu_item_eval_property_1);
-  return unbind_to (count, val);
-}
-
-/* This function parses a menu item and leaves the result in the
-   vector item_properties.
-   ITEM is a key binding, a possible menu item.
-   INMENUBAR is > 0 when this is considered for an entry in a menu bar
-   top level.
-   INMENUBAR is < 0 when this is considered for an entry in a keyboard menu.
-   parse_menu_item returns true if the item is a menu item and false
-   otherwise.  */
-
-bool
-parse_menu_item (Lisp_Object item, int inmenubar)
-{
-  Lisp_Object def, tem, item_string, start;
-  Lisp_Object filter;
-  Lisp_Object keyhint;
-  int i;
-
-  filter = Qnil;
-  keyhint = Qnil;
-
-  if (!CONSP (item))
-    return 0;
-
-  /* Create item_properties vector if necessary.  */
-  if (NILP (item_properties))
-    item_properties
-      = Fmake_vector (make_number (ITEM_PROPERTY_ENABLE + 1), Qnil);
-
-  /* Initialize optional entries.  */
-  for (i = ITEM_PROPERTY_DEF; i < ITEM_PROPERTY_ENABLE; i++)
-    ASET (item_properties, i, Qnil);
-  ASET (item_properties, ITEM_PROPERTY_ENABLE, Qt);
-
-  /* Save the item here to protect it from GC.  */
-  ASET (item_properties, ITEM_PROPERTY_ITEM, item);
-
-  item_string = XCAR (item);
-
-  start = item;
-  item = XCDR (item);
-  if (STRINGP (item_string))
-    {
-      /* Old format menu item.  */
-      ASET (item_properties, ITEM_PROPERTY_NAME, item_string);
-
-      /* Maybe help string.  */
-      if (CONSP (item) && STRINGP (XCAR (item)))
-       {
-         ASET (item_properties, ITEM_PROPERTY_HELP, XCAR (item));
-         start = item;
-         item = XCDR (item);
-       }
-
-      /* Maybe an obsolete key binding cache.  */
-      if (CONSP (item) && CONSP (XCAR (item))
-         && (NILP (XCAR (XCAR (item)))
-             || VECTORP (XCAR (XCAR (item)))))
-       item = XCDR (item);
-
-      /* This is the real definition--the function to run.  */
-      ASET (item_properties, ITEM_PROPERTY_DEF, item);
-
-      /* Get enable property, if any.  */
-      if (SYMBOLP (item))
-       {
-         tem = Fget (item, Qmenu_enable);
-         if (!NILP (Venable_disabled_menus_and_buttons))
-           ASET (item_properties, ITEM_PROPERTY_ENABLE, Qt);
-         else if (!NILP (tem))
-           ASET (item_properties, ITEM_PROPERTY_ENABLE, tem);
-       }
-    }
-  else if (EQ (item_string, Qmenu_item) && CONSP (item))
-    {
-      /* New format menu item.  */
-      ASET (item_properties, ITEM_PROPERTY_NAME, XCAR (item));
-      start = XCDR (item);
-      if (CONSP (start))
-       {
-         /* We have a real binding.  */
-         ASET (item_properties, ITEM_PROPERTY_DEF, XCAR (start));
-
-         item = XCDR (start);
-         /* Is there an obsolete cache list with key equivalences.  */
-         if (CONSP (item) && CONSP (XCAR (item)))
-           item = XCDR (item);
-
-         /* Parse properties.  */
-         while (CONSP (item) && CONSP (XCDR (item)))
-           {
-             tem = XCAR (item);
-             item = XCDR (item);
-
-             if (EQ (tem, QCenable))
-               {
-                 if (!NILP (Venable_disabled_menus_and_buttons))
-                   ASET (item_properties, ITEM_PROPERTY_ENABLE, Qt);
-                 else
-                   ASET (item_properties, ITEM_PROPERTY_ENABLE, XCAR (item));
-               }
-             else if (EQ (tem, QCvisible))
-               {
-                 /* If got a visible property and that evaluates to nil
-                    then ignore this item.  */
-                 tem = menu_item_eval_property (XCAR (item));
-                 if (NILP (tem))
-                   return 0;
-               }
-             else if (EQ (tem, QChelp))
-               ASET (item_properties, ITEM_PROPERTY_HELP, XCAR (item));
-             else if (EQ (tem, QCfilter))
-               filter = item;
-             else if (EQ (tem, QCkey_sequence))
-               {
-                 tem = XCAR (item);
-                 if (SYMBOLP (tem) || STRINGP (tem) || VECTORP (tem))
-                   /* Be GC protected. Set keyhint to item instead of tem.  */
-                   keyhint = item;
-               }
-             else if (EQ (tem, QCkeys))
-               {
-                 tem = XCAR (item);
-                 if (CONSP (tem) || STRINGP (tem))
-                   ASET (item_properties, ITEM_PROPERTY_KEYEQ, tem);
-               }
-             else if (EQ (tem, QCbutton) && CONSP (XCAR (item)))
-               {
-                 Lisp_Object type;
-                 tem = XCAR (item);
-                 type = XCAR (tem);
-                 if (EQ (type, QCtoggle) || EQ (type, QCradio))
-                   {
-                     ASET (item_properties, ITEM_PROPERTY_SELECTED,
-                           XCDR (tem));
-                     ASET (item_properties, ITEM_PROPERTY_TYPE, type);
-                   }
-               }
-             item = XCDR (item);
-           }
-       }
-      else if (inmenubar || !NILP (start))
-       return 0;
-    }
-  else
-    return 0;                  /* not a menu item */
-
-  /* If item string is not a string, evaluate it to get string.
-     If we don't get a string, skip this item.  */
-  item_string = AREF (item_properties, ITEM_PROPERTY_NAME);
-  if (!(STRINGP (item_string)))
-    {
-      item_string = menu_item_eval_property (item_string);
-      if (!STRINGP (item_string))
-       return 0;
-      ASET (item_properties, ITEM_PROPERTY_NAME, item_string);
-    }
-
-  /* If got a filter apply it on definition.  */
-  def = AREF (item_properties, ITEM_PROPERTY_DEF);
-  if (!NILP (filter))
-    {
-      def = menu_item_eval_property (list2 (XCAR (filter),
-                                           list2 (Qquote, def)));
-
-      ASET (item_properties, ITEM_PROPERTY_DEF, def);
-    }
-
-  /* Enable or disable selection of item.  */
-  tem = AREF (item_properties, ITEM_PROPERTY_ENABLE);
-  if (!EQ (tem, Qt))
-    {
-      tem = menu_item_eval_property (tem);
-      if (inmenubar && NILP (tem))
-       return 0;               /* Ignore disabled items in menu bar.  */
-      ASET (item_properties, ITEM_PROPERTY_ENABLE, tem);
-    }
-
-  /* If we got no definition, this item is just unselectable text which
-     is OK in a submenu but not in the menubar.  */
-  if (NILP (def))
-    return (!inmenubar);
-
-  /* See if this is a separate pane or a submenu.  */
-  def = AREF (item_properties, ITEM_PROPERTY_DEF);
-  tem = get_keymap (def, 0, 1);
-  /* For a subkeymap, just record its details and exit.  */
-  if (CONSP (tem))
-    {
-      ASET (item_properties, ITEM_PROPERTY_MAP, tem);
-      ASET (item_properties, ITEM_PROPERTY_DEF, tem);
-      return 1;
-    }
-
-  /* At the top level in the menu bar, do likewise for commands also.
-     The menu bar does not display equivalent key bindings anyway.
-     ITEM_PROPERTY_DEF is already set up properly.  */
-  if (inmenubar > 0)
-    return 1;
-
-  { /* This is a command.  See if there is an equivalent key binding.  */
-    Lisp_Object keyeq = AREF (item_properties, ITEM_PROPERTY_KEYEQ);
-    AUTO_STRING (space_space, "  ");
-
-    /* The previous code preferred :key-sequence to :keys, so we
-       preserve this behavior.  */
-    if (STRINGP (keyeq) && !CONSP (keyhint))
-      keyeq = concat2 (space_space, Fsubstitute_command_keys (keyeq));
-    else
-      {
-       Lisp_Object prefix = keyeq;
-       Lisp_Object keys = Qnil;
-
-       if (CONSP (prefix))
-         {
-           def = XCAR (prefix);
-           prefix = XCDR (prefix);
-         }
-       else
-         def = AREF (item_properties, ITEM_PROPERTY_DEF);
-
-       if (CONSP (keyhint) && !NILP (XCAR (keyhint)))
-         {
-           keys = XCAR (keyhint);
-           tem = Fkey_binding (keys, Qnil, Qnil, Qnil);
-
-           /* We have a suggested key.  Is it bound to the command?  */
-           if (NILP (tem)
-               || (!EQ (tem, def)
-                   /* If the command is an alias for another
-                      (such as lmenu.el set it up), check if the
-                      original command matches the cached command.  */
-                   && !(SYMBOLP (def)
-                        && EQ (tem, XSYMBOL (def)->function))))
-             keys = Qnil;
-         }
-
-       if (NILP (keys))
-         keys = Fwhere_is_internal (def, Qnil, Qt, Qnil, Qnil);
-
-       if (!NILP (keys))
-         {
-           tem = Fkey_description (keys, Qnil);
-           if (CONSP (prefix))
-             {
-               if (STRINGP (XCAR (prefix)))
-                 tem = concat2 (XCAR (prefix), tem);
-               if (STRINGP (XCDR (prefix)))
-                 tem = concat2 (tem, XCDR (prefix));
-             }
-           keyeq = concat2 (space_space, tem);
-         }
-       else
-         keyeq = Qnil;
-      }
-
-    /* If we have an equivalent key binding, use that.  */
-    ASET (item_properties, ITEM_PROPERTY_KEYEQ, keyeq);
-  }
-
-  /* Include this when menu help is implemented.
-  tem = XVECTOR (item_properties)->contents[ITEM_PROPERTY_HELP];
-  if (!(NILP (tem) || STRINGP (tem)))
-    {
-      tem = menu_item_eval_property (tem);
-      if (!STRINGP (tem))
-       tem = Qnil;
-      XVECTOR (item_properties)->contents[ITEM_PROPERTY_HELP] = tem;
-    }
-  */
-
-  /* Handle radio buttons or toggle boxes.  */
-  tem = AREF (item_properties, ITEM_PROPERTY_SELECTED);
-  if (!NILP (tem))
-    ASET (item_properties, ITEM_PROPERTY_SELECTED,
-         menu_item_eval_property (tem));
-
-  return 1;
-}
-
-
-\f
-/***********************************************************************
-                              Tool-bars
- ***********************************************************************/
-
-/* A vector holding tool bar items while they are parsed in function
-   tool_bar_items. Each item occupies TOOL_BAR_ITEM_NSCLOTS elements
-   in the vector.  */
-
-static Lisp_Object tool_bar_items_vector;
-
-/* A vector holding the result of parse_tool_bar_item.  Layout is like
-   the one for a single item in tool_bar_items_vector.  */
-
-static Lisp_Object tool_bar_item_properties;
-
-/* Next free index in tool_bar_items_vector.  */
-
-static int ntool_bar_items;
-
-/* Function prototypes.  */
-
-static void init_tool_bar_items (Lisp_Object);
-static void process_tool_bar_item (Lisp_Object, Lisp_Object, Lisp_Object,
-                                  void *);
-static bool parse_tool_bar_item (Lisp_Object, Lisp_Object);
-static void append_tool_bar_item (void);
-
-
-/* Return a vector of tool bar items for keymaps currently in effect.
-   Reuse vector REUSE if non-nil.  Return in *NITEMS the number of
-   tool bar items found.  */
-
-Lisp_Object
-tool_bar_items (Lisp_Object reuse, int *nitems)
-{
-  Lisp_Object *maps;
-  Lisp_Object mapsbuf[3];
-  ptrdiff_t nmaps, i;
-  Lisp_Object oquit;
-  Lisp_Object *tmaps;
-  USE_SAFE_ALLOCA;
-
-  *nitems = 0;
-
-  /* In order to build the menus, we need to call the keymap
-     accessors.  They all call QUIT.  But this function is called
-     during redisplay, during which a quit is fatal.  So inhibit
-     quitting while building the menus.  We do this instead of
-     specbind because (1) errors will clear it anyway and (2) this
-     avoids risk of specpdl overflow.  */
-  oquit = Vinhibit_quit;
-  Vinhibit_quit = Qt;
-
-  /* Initialize tool_bar_items_vector and protect it from GC.  */
-  init_tool_bar_items (reuse);
-
-  /* Build list of keymaps in maps.  Set nmaps to the number of maps
-     to process.  */
-
-  /* Should overriding-terminal-local-map and overriding-local-map apply?  */
-  if (!NILP (Voverriding_local_map_menu_flag)
-      && !NILP (Voverriding_local_map))
-    {
-      /* Yes, use them (if non-nil) as well as the global map.  */
-      maps = mapsbuf;
-      nmaps = 0;
-      if (!NILP (KVAR (current_kboard, Voverriding_terminal_local_map)))
-       maps[nmaps++] = KVAR (current_kboard, Voverriding_terminal_local_map);
-      if (!NILP (Voverriding_local_map))
-       maps[nmaps++] = Voverriding_local_map;
-    }
-  else
-    {
-      /* No, so use major and minor mode keymaps and keymap property.
-        Note that tool-bar bindings in the local-map and keymap
-        properties may not work reliable, as they are only
-        recognized when the tool-bar (or mode-line) is updated,
-        which does not normally happen after every command.  */
-      Lisp_Object tem;
-      ptrdiff_t nminor;
-      nminor = current_minor_maps (NULL, &tmaps);
-      SAFE_NALLOCA (maps, 1, nminor + 4);
-      nmaps = 0;
-      tem = KVAR (current_kboard, Voverriding_terminal_local_map);
-      if (!NILP (tem) && !NILP (Voverriding_local_map_menu_flag))
-       maps[nmaps++] = tem;
-      if (tem = get_local_map (PT, current_buffer, Qkeymap), !NILP (tem))
-       maps[nmaps++] = tem;
-      memcpy (maps + nmaps, tmaps, nminor * sizeof (maps[0]));
-      nmaps += nminor;
-      maps[nmaps++] = get_local_map (PT, current_buffer, Qlocal_map);
-    }
-
-  /* Add global keymap at the end.  */
-  maps[nmaps++] = current_global_map;
-
-  /* Process maps in reverse order and look up in each map the prefix
-     key `tool-bar'.  */
-  for (i = nmaps - 1; i >= 0; --i)
-    if (!NILP (maps[i]))
-      {
-       Lisp_Object keymap;
-
-       keymap = get_keymap (access_keymap (maps[i], Qtool_bar, 1, 0, 1), 0, 1);
-       if (CONSP (keymap))
-         map_keymap (keymap, process_tool_bar_item, Qnil, NULL, 1);
-      }
-
-  Vinhibit_quit = oquit;
-  *nitems = ntool_bar_items / TOOL_BAR_ITEM_NSLOTS;
-  SAFE_FREE ();
-  return tool_bar_items_vector;
-}
-
-
-/* Process the definition of KEY which is DEF.  */
-
-static void
-process_tool_bar_item (Lisp_Object key, Lisp_Object def, Lisp_Object data, void *args)
-{
-  int i;
-  struct gcpro gcpro1, gcpro2;
-
-  /* Protect KEY and DEF from GC because parse_tool_bar_item may call
-     eval.  */
-  GCPRO2 (key, def);
-
-  if (EQ (def, Qundefined))
-    {
-      /* If a map has an explicit `undefined' as definition,
-        discard any previously made item.  */
-      for (i = 0; i < ntool_bar_items; i += TOOL_BAR_ITEM_NSLOTS)
-       {
-         Lisp_Object *v = XVECTOR (tool_bar_items_vector)->contents + i;
-
-         if (EQ (key, v[TOOL_BAR_ITEM_KEY]))
-           {
-             if (ntool_bar_items > i + TOOL_BAR_ITEM_NSLOTS)
-               memmove (v, v + TOOL_BAR_ITEM_NSLOTS,
-                        ((ntool_bar_items - i - TOOL_BAR_ITEM_NSLOTS)
-                         * word_size));
-             ntool_bar_items -= TOOL_BAR_ITEM_NSLOTS;
-             break;
-           }
-       }
-    }
-  else if (parse_tool_bar_item (key, def))
-    /* Append a new tool bar item to tool_bar_items_vector.  Accept
-       more than one definition for the same key.  */
-    append_tool_bar_item ();
-
-  UNGCPRO;
-}
-
-/* Access slot with index IDX of vector tool_bar_item_properties.  */
-#define PROP(IDX) AREF (tool_bar_item_properties, (IDX))
-static void
-set_prop (ptrdiff_t idx, Lisp_Object val)
-{
-  ASET (tool_bar_item_properties, idx, val);
-}
-
-
-/* Parse a tool bar item specification ITEM for key KEY and return the
-   result in tool_bar_item_properties.  Value is false if ITEM is
-   invalid.
-
-   ITEM is a list `(menu-item CAPTION BINDING PROPS...)'.
-
-   CAPTION is the caption of the item,  If it's not a string, it is
-   evaluated to get a string.
-
-   BINDING is the tool bar item's binding.  Tool-bar items with keymaps
-   as binding are currently ignored.
-
-   The following properties are recognized:
-
-   - `:enable FORM'.
-
-   FORM is evaluated and specifies whether the tool bar item is
-   enabled or disabled.
-
-   - `:visible FORM'
-
-   FORM is evaluated and specifies whether the tool bar item is visible.
-
-   - `:filter FUNCTION'
-
-   FUNCTION is invoked with one parameter `(quote BINDING)'.  Its
-   result is stored as the new binding.
-
-   - `:button (TYPE SELECTED)'
-
-   TYPE must be one of `:radio' or `:toggle'.  SELECTED is evaluated
-   and specifies whether the button is selected (pressed) or not.
-
-   - `:image IMAGES'
-
-   IMAGES is either a single image specification or a vector of four
-   image specifications.  See enum tool_bar_item_images.
-
-   - `:help HELP-STRING'.
-
-   Gives a help string to display for the tool bar item.
-
-   - `:label LABEL-STRING'.
-
-   A text label to show with the tool bar button if labels are enabled.  */
-
-static bool
-parse_tool_bar_item (Lisp_Object key, Lisp_Object item)
-{
-  Lisp_Object filter = Qnil;
-  Lisp_Object caption;
-  int i;
-  bool have_label = 0;
-
-  /* Definition looks like `(menu-item CAPTION BINDING PROPS...)'.
-     Rule out items that aren't lists, don't start with
-     `menu-item' or whose rest following `tool-bar-item' is not a
-     list.  */
-  if (!CONSP (item))
-    return 0;
-
-  /* As an exception, allow old-style menu separators.  */
-  if (STRINGP (XCAR (item)))
-    item = list1 (XCAR (item));
-  else if (!EQ (XCAR (item), Qmenu_item)
-          || (item = XCDR (item), !CONSP (item)))
-    return 0;
-
-  /* Create tool_bar_item_properties vector if necessary.  Reset it to
-     defaults.  */
-  if (VECTORP (tool_bar_item_properties))
-    {
-      for (i = 0; i < TOOL_BAR_ITEM_NSLOTS; ++i)
-       set_prop (i, Qnil);
-    }
-  else
-    tool_bar_item_properties
-      = Fmake_vector (make_number (TOOL_BAR_ITEM_NSLOTS), Qnil);
-
-  /* Set defaults.  */
-  set_prop (TOOL_BAR_ITEM_KEY, key);
-  set_prop (TOOL_BAR_ITEM_ENABLED_P, Qt);
-
-  /* Get the caption of the item.  If the caption is not a string,
-     evaluate it to get a string.  If we don't get a string, skip this
-     item.  */
-  caption = XCAR (item);
-  if (!STRINGP (caption))
-    {
-      caption = menu_item_eval_property (caption);
-      if (!STRINGP (caption))
-       return 0;
-    }
-  set_prop (TOOL_BAR_ITEM_CAPTION, caption);
-
-  /* If the rest following the caption is not a list, the menu item is
-     either a separator, or invalid.  */
-  item = XCDR (item);
-  if (!CONSP (item))
-    {
-      if (menu_separator_name_p (SSDATA (caption)))
-       {
-         set_prop (TOOL_BAR_ITEM_TYPE, Qt);
-#if !defined (USE_GTK) && !defined (HAVE_NS)
-         /* If we use build_desired_tool_bar_string to render the
-            tool bar, the separator is rendered as an image.  */
-         set_prop (TOOL_BAR_ITEM_IMAGES,
-                   (menu_item_eval_property
-                    (Vtool_bar_separator_image_expression)));
-         set_prop (TOOL_BAR_ITEM_ENABLED_P, Qnil);
-         set_prop (TOOL_BAR_ITEM_SELECTED_P, Qnil);
-         set_prop (TOOL_BAR_ITEM_CAPTION, Qnil);
-#endif
-         return 1;
-       }
-      return 0;
-    }
-
-  /* Store the binding.  */
-  set_prop (TOOL_BAR_ITEM_BINDING, XCAR (item));
-  item = XCDR (item);
-
-  /* Ignore cached key binding, if any.  */
-  if (CONSP (item) && CONSP (XCAR (item)))
-    item = XCDR (item);
-
-  /* Process the rest of the properties.  */
-  for (; CONSP (item) && CONSP (XCDR (item)); item = XCDR (XCDR (item)))
-    {
-      Lisp_Object ikey, value;
-
-      ikey = XCAR (item);
-      value = XCAR (XCDR (item));
-
-      if (EQ (ikey, QCenable))
-       {
-         /* `:enable FORM'.  */
-         if (!NILP (Venable_disabled_menus_and_buttons))
-           set_prop (TOOL_BAR_ITEM_ENABLED_P, Qt);
-         else
-           set_prop (TOOL_BAR_ITEM_ENABLED_P, value);
-       }
-      else if (EQ (ikey, QCvisible))
-       {
-         /* `:visible FORM'.  If got a visible property and that
-            evaluates to nil then ignore this item.  */
-         if (NILP (menu_item_eval_property (value)))
-           return 0;
-       }
-      else if (EQ (ikey, QChelp))
-        /* `:help HELP-STRING'.  */
-        set_prop (TOOL_BAR_ITEM_HELP, value);
-      else if (EQ (ikey, QCvert_only))
-        /* `:vert-only t/nil'.  */
-        set_prop (TOOL_BAR_ITEM_VERT_ONLY, value);
-      else if (EQ (ikey, QClabel))
-        {
-          const char *bad_label = "!!?GARBLED ITEM?!!";
-          /* `:label LABEL-STRING'.  */
-          set_prop (TOOL_BAR_ITEM_LABEL,
-                   STRINGP (value) ? value : build_string (bad_label));
-          have_label = 1;
-        }
-      else if (EQ (ikey, QCfilter))
-       /* ':filter FORM'.  */
-       filter = value;
-      else if (EQ (ikey, QCbutton) && CONSP (value))
-       {
-         /* `:button (TYPE . SELECTED)'.  */
-         Lisp_Object type, selected;
-
-         type = XCAR (value);
-         selected = XCDR (value);
-         if (EQ (type, QCtoggle) || EQ (type, QCradio))
-           {
-             set_prop (TOOL_BAR_ITEM_SELECTED_P, selected);
-             set_prop (TOOL_BAR_ITEM_TYPE, type);
-           }
-       }
-      else if (EQ (ikey, QCimage)
-              && (CONSP (value)
-                  || (VECTORP (value) && ASIZE (value) == 4)))
-       /* Value is either a single image specification or a vector
-          of 4 such specifications for the different button states.  */
-       set_prop (TOOL_BAR_ITEM_IMAGES, value);
-      else if (EQ (ikey, QCrtl))
-        /* ':rtl STRING' */
-       set_prop (TOOL_BAR_ITEM_RTL_IMAGE, value);
-    }
-
-
-  if (!have_label)
-    {
-      /* Try to make one from caption and key.  */
-      Lisp_Object tkey = PROP (TOOL_BAR_ITEM_KEY);
-      Lisp_Object tcapt = PROP (TOOL_BAR_ITEM_CAPTION);
-      const char *label = SYMBOLP (tkey) ? SSDATA (SYMBOL_NAME (tkey)) : "";
-      const char *capt = STRINGP (tcapt) ? SSDATA (tcapt) : "";
-      ptrdiff_t max_lbl =
-       2 * max (0, min (tool_bar_max_label_size, STRING_BYTES_BOUND / 2));
-      char *buf = xmalloc (max_lbl + 1);
-      Lisp_Object new_lbl;
-      ptrdiff_t caption_len = strlen (capt);
-
-      if (caption_len <= max_lbl && capt[0] != '\0')
-        {
-          strcpy (buf, capt);
-          while (caption_len > 0 && buf[caption_len - 1] == '.')
-            caption_len--;
-         buf[caption_len] = '\0';
-         label = capt = buf;
-        }
-
-      if (strlen (label) <= max_lbl && label[0] != '\0')
-        {
-          ptrdiff_t j;
-          if (label != buf)
-           strcpy (buf, label);
-
-          for (j = 0; buf[j] != '\0'; ++j)
-           if (buf[j] == '-')
-             buf[j] = ' ';
-          label = buf;
-        }
-      else
-       label = "";
-
-      new_lbl = Fupcase_initials (build_string (label));
-      if (SCHARS (new_lbl) <= tool_bar_max_label_size)
-        set_prop (TOOL_BAR_ITEM_LABEL, new_lbl);
-      else
-        set_prop (TOOL_BAR_ITEM_LABEL, empty_unibyte_string);
-      xfree (buf);
-    }
-
-  /* If got a filter apply it on binding.  */
-  if (!NILP (filter))
-    set_prop (TOOL_BAR_ITEM_BINDING,
-             (menu_item_eval_property
-              (list2 (filter,
-                      list2 (Qquote,
-                             PROP (TOOL_BAR_ITEM_BINDING))))));
-
-  /* See if the binding is a keymap.  Give up if it is.  */
-  if (CONSP (get_keymap (PROP (TOOL_BAR_ITEM_BINDING), 0, 1)))
-    return 0;
-
-  /* Enable or disable selection of item.  */
-  if (!EQ (PROP (TOOL_BAR_ITEM_ENABLED_P), Qt))
-    set_prop (TOOL_BAR_ITEM_ENABLED_P,
-             menu_item_eval_property (PROP (TOOL_BAR_ITEM_ENABLED_P)));
-
-  /* Handle radio buttons or toggle boxes.  */
-  if (!NILP (PROP (TOOL_BAR_ITEM_SELECTED_P)))
-    set_prop (TOOL_BAR_ITEM_SELECTED_P,
-             menu_item_eval_property (PROP (TOOL_BAR_ITEM_SELECTED_P)));
-
-  return 1;
-
-#undef PROP
-}
-
-
-/* Initialize tool_bar_items_vector.  REUSE, if non-nil, is a vector
-   that can be reused.  */
-
-static void
-init_tool_bar_items (Lisp_Object reuse)
-{
-  if (VECTORP (reuse))
-    tool_bar_items_vector = reuse;
-  else
-    tool_bar_items_vector = Fmake_vector (make_number (64), Qnil);
-  ntool_bar_items = 0;
-}
-
-
-/* Append parsed tool bar item properties from
-   tool_bar_item_properties */
-
-static void
-append_tool_bar_item (void)
-{
-  ptrdiff_t incr
-    = (ntool_bar_items
-       - (ASIZE (tool_bar_items_vector) - TOOL_BAR_ITEM_NSLOTS));
-
-  /* Enlarge tool_bar_items_vector if necessary.  */
-  if (incr > 0)
-    tool_bar_items_vector = larger_vector (tool_bar_items_vector, incr, -1);
-
-  /* Append entries from tool_bar_item_properties to the end of
-     tool_bar_items_vector.  */
-  vcopy (tool_bar_items_vector, ntool_bar_items,
-        XVECTOR (tool_bar_item_properties)->contents, TOOL_BAR_ITEM_NSLOTS);
-  ntool_bar_items += TOOL_BAR_ITEM_NSLOTS;
-}
-
-
-
-
-\f
-/* Read a character using menus based on the keymap MAP.
-   Return nil if there are no menus in the maps.
-   Return t if we displayed a menu but the user rejected it.
-
-   PREV_EVENT is the previous input event, or nil if we are reading
-   the first event of a key sequence.
-
-   If USED_MOUSE_MENU is non-null, set *USED_MOUSE_MENU to true
-   if we used a mouse menu to read the input, or false otherwise.  If
-   USED_MOUSE_MENU is null, don't dereference it.
-
-   The prompting is done based on the prompt-string of the map
-   and the strings associated with various map elements.
-
-   This can be done with X menus or with menus put in the minibuf.
-   These are done in different ways, depending on how the input will be read.
-   Menus using X are done after auto-saving in read-char, getting the input
-   event from Fx_popup_menu; menus using the minibuf use read_char recursively
-   and do auto-saving in the inner call of read_char.  */
-
-static Lisp_Object
-read_char_x_menu_prompt (Lisp_Object map,
-                        Lisp_Object prev_event, bool *used_mouse_menu)
-{
-  if (used_mouse_menu)
-    *used_mouse_menu = 0;
-
-  /* Use local over global Menu maps.  */
-
-  if (! menu_prompting)
-    return Qnil;
-
-  /* If we got to this point via a mouse click,
-     use a real menu for mouse selection.  */
-  if (EVENT_HAS_PARAMETERS (prev_event)
-      && !EQ (XCAR (prev_event), Qmenu_bar)
-      && !EQ (XCAR (prev_event), Qtool_bar))
-    {
-      /* Display the menu and get the selection.  */
-      Lisp_Object value;
-
-      value = Fx_popup_menu (prev_event, get_keymap (map, 0, 1));
-      if (CONSP (value))
-       {
-         Lisp_Object tem;
-
-         record_menu_key (XCAR (value));
-
-         /* If we got multiple events, unread all but
-            the first.
-            There is no way to prevent those unread events
-            from showing up later in last_nonmenu_event.
-            So turn symbol and integer events into lists,
-            to indicate that they came from a mouse menu,
-            so that when present in last_nonmenu_event
-            they won't confuse things.  */
-         for (tem = XCDR (value); CONSP (tem); tem = XCDR (tem))
-           {
-             record_menu_key (XCAR (tem));
-             if (SYMBOLP (XCAR (tem))
-                 || INTEGERP (XCAR (tem)))
-               XSETCAR (tem, Fcons (XCAR (tem), Qdisabled));
-           }
-
-         /* If we got more than one event, put all but the first
-            onto this list to be read later.
-            Return just the first event now.  */
-         Vunread_command_events
-           = nconc2 (XCDR (value), Vunread_command_events);
-         value = XCAR (value);
-       }
-      else if (NILP (value))
-       value = Qt;
-      if (used_mouse_menu)
-       *used_mouse_menu = 1;
-      return value;
-    }
-  return Qnil ;
-}
-
-static Lisp_Object
-read_char_minibuf_menu_prompt (int commandflag,
-                              Lisp_Object map)
-{
-  Lisp_Object name;
-  ptrdiff_t nlength;
-  /* FIXME: Use the minibuffer's frame width.  */
-  ptrdiff_t width = FRAME_COLS (SELECTED_FRAME ()) - 4;
-  ptrdiff_t idx = -1;
-  bool nobindings = 1;
-  Lisp_Object rest, vector;
-  Lisp_Object prompt_strings = Qnil;
-
-  vector = Qnil;
-
-  if (! menu_prompting)
-    return Qnil;
-
-  map = get_keymap (map, 0, 1);
-  name = Fkeymap_prompt (map);
-
-  /* If we don't have any menus, just read a character normally.  */
-  if (!STRINGP (name))
-    return Qnil;
-
-#define PUSH_C_STR(str, listvar) \
-  listvar = Fcons (build_unibyte_string (str), listvar)
-
-  /* Prompt string always starts with map's prompt, and a space.  */
-  prompt_strings = Fcons (name, prompt_strings);
-  PUSH_C_STR (": ", prompt_strings);
-  nlength = SCHARS (name) + 2;
-
-  rest = map;
-
-  /* Present the documented bindings, a line at a time.  */
-  while (1)
-    {
-      bool notfirst = 0;
-      Lisp_Object menu_strings = prompt_strings;
-      ptrdiff_t i = nlength;
-      Lisp_Object obj;
-      Lisp_Object orig_defn_macro;
-
-      /* Loop over elements of map.  */
-      while (i < width)
-       {
-         Lisp_Object elt;
-
-         /* FIXME: Use map_keymap to handle new keymap formats.  */
-
-         /* At end of map, wrap around if just starting,
-            or end this line if already have something on it.  */
-         if (NILP (rest))
-           {
-             if (notfirst || nobindings)
-               break;
-             else
-               rest = map;
-           }
-
-         /* Look at the next element of the map.  */
-         if (idx >= 0)
-           elt = AREF (vector, idx);
-         else
-           elt = Fcar_safe (rest);
-
-         if (idx < 0 && VECTORP (elt))
-           {
-             /* If we found a dense table in the keymap,
-                advanced past it, but start scanning its contents.  */
-             rest = Fcdr_safe (rest);
-             vector = elt;
-             idx = 0;
-           }
-         else
-           {
-             /* An ordinary element.  */
-             Lisp_Object event, tem;
-
-             if (idx < 0)
-               {
-                 event = Fcar_safe (elt); /* alist */
-                 elt = Fcdr_safe (elt);
-               }
-             else
-               {
-                 XSETINT (event, idx); /* vector */
-               }
-
-             /* Ignore the element if it has no prompt string.  */
-             if (INTEGERP (event) && parse_menu_item (elt, -1))
-               {
-                 /* True if the char to type matches the string.  */
-                 bool char_matches;
-                 Lisp_Object upcased_event, downcased_event;
-                 Lisp_Object desc = Qnil;
-                 Lisp_Object s
-                   = AREF (item_properties, ITEM_PROPERTY_NAME);
-
-                 upcased_event = Fupcase (event);
-                 downcased_event = Fdowncase (event);
-                 char_matches = (XINT (upcased_event) == SREF (s, 0)
-                                 || XINT (downcased_event) == SREF (s, 0));
-                 if (! char_matches)
-                   desc = Fsingle_key_description (event, Qnil);
-
-#if 0  /* It is redundant to list the equivalent key bindings because
-         the prefix is what the user has already typed.  */
-                 tem
-                   = XVECTOR (item_properties)->contents[ITEM_PROPERTY_KEYEQ];
-                 if (!NILP (tem))
-                   /* Insert equivalent keybinding.  */
-                   s = concat2 (s, tem);
-#endif
-                 tem
-                   = AREF (item_properties, ITEM_PROPERTY_TYPE);
-                 if (EQ (tem, QCradio) || EQ (tem, QCtoggle))
-                   {
-                     /* Insert button prefix.  */
-                     Lisp_Object selected
-                       = AREF (item_properties, ITEM_PROPERTY_SELECTED);
-                     AUTO_STRING (radio_yes, "(*) ");
-                     AUTO_STRING (radio_no , "( ) ");
-                     AUTO_STRING (check_yes, "[X] ");
-                     AUTO_STRING (check_no , "[ ] ");
-                     if (EQ (tem, QCradio))
-                       tem = NILP (selected) ? radio_yes : radio_no;
-                     else
-                       tem = NILP (selected) ? check_yes : check_no;
-                     s = concat2 (tem, s);
-                   }
-
-
-                 /* If we have room for the prompt string, add it to this line.
-                    If this is the first on the line, always add it.  */
-                 if ((SCHARS (s) + i + 2
-                      + (char_matches ? 0 : SCHARS (desc) + 3))
-                     < width
-                     || !notfirst)
-                   {
-                     ptrdiff_t thiswidth;
-
-                     /* Punctuate between strings.  */
-                     if (notfirst)
-                       {
-                         PUSH_C_STR (", ", menu_strings);
-                         i += 2;
-                       }
-                     notfirst = 1;
-                     nobindings = 0;
-
-                     /* If the char to type doesn't match the string's
-                        first char, explicitly show what char to type.  */
-                     if (! char_matches)
-                       {
-                         /* Add as much of string as fits.  */
-                         thiswidth = min (SCHARS (desc), width - i);
-                         menu_strings
-                           = Fcons (Fsubstring (desc, make_number (0),
-                                                make_number (thiswidth)),
-                                    menu_strings);
-                         i += thiswidth;
-                         PUSH_C_STR (" = ", menu_strings);
-                         i += 3;
-                       }
-
-                     /* Add as much of string as fits.  */
-                     thiswidth = min (SCHARS (s), width - i);
-                     menu_strings
-                       = Fcons (Fsubstring (s, make_number (0),
-                                            make_number (thiswidth)),
-                                menu_strings);
-                     i += thiswidth;
-                   }
-                 else
-                   {
-                     /* If this element does not fit, end the line now,
-                        and save the element for the next line.  */
-                     PUSH_C_STR ("...", menu_strings);
-                     break;
-                   }
-               }
-
-             /* Move past this element.  */
-             if (idx >= 0 && idx + 1 >= ASIZE (vector))
-               /* Handle reaching end of dense table.  */
-               idx = -1;
-             if (idx >= 0)
-               idx++;
-             else
-               rest = Fcdr_safe (rest);
-           }
-       }
-
-      /* Prompt with that and read response.  */
-      message3_nolog (apply1 (intern ("concat"), Fnreverse (menu_strings)));
-
-      /* Make believe it's not a keyboard macro in case the help char
-        is pressed.  Help characters are not recorded because menu prompting
-        is not used on replay.  */
-      orig_defn_macro = KVAR (current_kboard, defining_kbd_macro);
-      kset_defining_kbd_macro (current_kboard, Qnil);
-      do
-       obj = read_char (commandflag, Qnil, Qt, 0, NULL);
-      while (BUFFERP (obj));
-      kset_defining_kbd_macro (current_kboard, orig_defn_macro);
-
-      if (!INTEGERP (obj) || XINT (obj) == -2
-         || (! EQ (obj, menu_prompt_more_char)
-             && (!INTEGERP (menu_prompt_more_char)
-                 || ! EQ (obj, make_number (Ctl (XINT (menu_prompt_more_char)))))))
-       {
-         if (!NILP (KVAR (current_kboard, defining_kbd_macro)))
-           store_kbd_macro_char (obj);
-         return obj;
-       }
-      /* Help char - go round again.  */
-    }
-}
-\f
-/* Reading key sequences.  */
-
-static Lisp_Object
-follow_key (Lisp_Object keymap, Lisp_Object key)
-{
-  return access_keymap (get_keymap (keymap, 0, 1),
-                       key, 1, 0, 1);
-}
-
-static Lisp_Object
-active_maps (Lisp_Object first_event)
-{
-  Lisp_Object position
-    = CONSP (first_event) ? CAR_SAFE (XCDR (first_event)) : Qnil;
-  return Fcons (Qkeymap, Fcurrent_active_maps (Qt, position));
-}
-
-/* Structure used to keep track of partial application of key remapping
-   such as Vfunction_key_map and Vkey_translation_map.  */
-typedef struct keyremap
-{
-  /* This is the map originally specified for this use.  */
-  Lisp_Object parent;
-  /* This is a submap reached by looking up, in PARENT,
-     the events from START to END.  */
-  Lisp_Object map;
-  /* Positions [START, END) in the key sequence buffer
-     are the key that we have scanned so far.
-     Those events are the ones that we will replace
-     if PARENT maps them into a key sequence.  */
-  int start, end;
-} keyremap;
-
-/* Lookup KEY in MAP.
-   MAP is a keymap mapping keys to key vectors or functions.
-   If the mapping is a function and DO_FUNCALL is true,
-   the function is called with PROMPT as parameter and its return
-   value is used as the return value of this function (after checking
-   that it is indeed a vector).  */
-
-static Lisp_Object
-access_keymap_keyremap (Lisp_Object map, Lisp_Object key, Lisp_Object prompt,
-                       bool do_funcall)
-{
-  Lisp_Object next;
-
-  next = access_keymap (map, key, 1, 0, 1);
-
-  /* Handle a symbol whose function definition is a keymap
-     or an array.  */
-  if (SYMBOLP (next) && !NILP (Ffboundp (next))
-      && (ARRAYP (XSYMBOL (next)->function)
-         || KEYMAPP (XSYMBOL (next)->function)))
-    next = Fautoload_do_load (XSYMBOL (next)->function, next, Qnil);
-
-  /* If the keymap gives a function, not an
-     array, then call the function with one arg and use
-     its value instead.  */
-  if (do_funcall && FUNCTIONP (next))
-    {
-      Lisp_Object tem;
-      tem = next;
-
-      next = call1 (next, prompt);
-      /* If the function returned something invalid,
-        barf--don't ignore it.
-        (To ignore it safely, we would need to gcpro a bunch of
-        other variables.)  */
-      if (! (NILP (next) || VECTORP (next) || STRINGP (next)))
-       error ("Function %s returns invalid key sequence",
-              SSDATA (SYMBOL_NAME (tem)));
-    }
-  return next;
-}
-
-/* Do one step of the key remapping used for function-key-map and
-   key-translation-map:
-   KEYBUF is the buffer holding the input events.
-   BUFSIZE is its maximum size.
-   FKEY is a pointer to the keyremap structure to use.
-   INPUT is the index of the last element in KEYBUF.
-   DOIT if true says that the remapping can actually take place.
-   DIFF is used to return the number of keys added/removed by the remapping.
-   PARENT is the root of the keymap.
-   PROMPT is the prompt to use if the remapping happens through a function.
-   Return true if the remapping actually took place.  */
-
-static bool
-keyremap_step (Lisp_Object *keybuf, int bufsize, volatile keyremap *fkey,
-              int input, bool doit, int *diff, Lisp_Object prompt)
-{
-  Lisp_Object next, key;
-
-  key = keybuf[fkey->end++];
-
-  if (KEYMAPP (fkey->parent))
-    next = access_keymap_keyremap (fkey->map, key, prompt, doit);
-  else
-    next = Qnil;
-
-  /* If keybuf[fkey->start..fkey->end] is bound in the
-     map and we're in a position to do the key remapping, replace it with
-     the binding and restart with fkey->start at the end.  */
-  if ((VECTORP (next) || STRINGP (next)) && doit)
-    {
-      int len = XFASTINT (Flength (next));
-      int i;
-
-      *diff = len - (fkey->end - fkey->start);
-
-      if (bufsize - input <= *diff)
-       error ("Key sequence too long");
-
-      /* Shift the keys that follow fkey->end.  */
-      if (*diff < 0)
-       for (i = fkey->end; i < input; i++)
-         keybuf[i + *diff] = keybuf[i];
-      else if (*diff > 0)
-       for (i = input - 1; i >= fkey->end; i--)
-         keybuf[i + *diff] = keybuf[i];
-      /* Overwrite the old keys with the new ones.  */
-      for (i = 0; i < len; i++)
-       keybuf[fkey->start + i]
-         = Faref (next, make_number (i));
-
-      fkey->start = fkey->end += *diff;
-      fkey->map = fkey->parent;
-
-      return 1;
-    }
-
-  fkey->map = get_keymap (next, 0, 1);
-
-  /* If we no longer have a bound suffix, try a new position for
-     fkey->start.  */
-  if (!CONSP (fkey->map))
-    {
-      fkey->end = ++fkey->start;
-      fkey->map = fkey->parent;
-    }
-  return 0;
-}
-
-static bool
-test_undefined (Lisp_Object binding)
-{
-  return (NILP (binding)
-         || EQ (binding, Qundefined)
-         || (SYMBOLP (binding)
-             && EQ (Fcommand_remapping (binding, Qnil, Qnil), Qundefined)));
-}
-
-/* Read a sequence of keys that ends with a non prefix character,
-   storing it in KEYBUF, a buffer of size BUFSIZE.
-   Prompt with PROMPT.
-   Return the length of the key sequence stored.
-   Return -1 if the user rejected a command menu.
-
-   Echo starting immediately unless `prompt' is 0.
-
-   If PREVENT_REDISPLAY is non-zero, avoid redisplay by calling
-   read_char with a suitable COMMANDFLAG argument.
-
-   Where a key sequence ends depends on the currently active keymaps.
-   These include any minor mode keymaps active in the current buffer,
-   the current buffer's local map, and the global map.
-
-   If a key sequence has no other bindings, we check Vfunction_key_map
-   to see if some trailing subsequence might be the beginning of a
-   function key's sequence.  If so, we try to read the whole function
-   key, and substitute its symbolic name into the key sequence.
-
-   We ignore unbound `down-' mouse clicks.  We turn unbound `drag-' and
-   `double-' events into similar click events, if that would make them
-   bound.  We try to turn `triple-' events first into `double-' events,
-   then into clicks.
-
-   If we get a mouse click in a mode line, vertical divider, or other
-   non-text area, we treat the click as if it were prefixed by the
-   symbol denoting that area - `mode-line', `vertical-line', or
-   whatever.
-
-   If the sequence starts with a mouse click, we read the key sequence
-   with respect to the buffer clicked on, not the current buffer.
-
-   If the user switches frames in the midst of a key sequence, we put
-   off the switch-frame event until later; the next call to
-   read_char will return it.
-
-   If FIX_CURRENT_BUFFER, we restore current_buffer
-   from the selected window's buffer.  */
-
-static int
-read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
-                  bool dont_downcase_last, bool can_return_switch_frame,
-                  bool fix_current_buffer, bool prevent_redisplay)
-{
-  ptrdiff_t count = SPECPDL_INDEX ();
-
-  /* How many keys there are in the current key sequence.  */
-  int t;
-
-  /* The length of the echo buffer when we started reading, and
-     the length of this_command_keys when we started reading.  */
-  ptrdiff_t echo_start IF_LINT (= 0);
-  ptrdiff_t keys_start;
-
-  Lisp_Object current_binding = Qnil;
-  Lisp_Object first_event = Qnil;
-
-  /* Index of the first key that has no binding.
-     It is useless to try fkey.start larger than that.  */
-  int first_unbound;
-
-  /* If t < mock_input, then KEYBUF[t] should be read as the next
-     input key.
-
-     We use this to recover after recognizing a function key.  Once we
-     realize that a suffix of the current key sequence is actually a
-     function key's escape sequence, we replace the suffix with the
-     function key's binding from Vfunction_key_map.  Now keybuf
-     contains a new and different key sequence, so the echo area,
-     this_command_keys, and the submaps and defs arrays are wrong.  In
-     this situation, we set mock_input to t, set t to 0, and jump to
-     restart_sequence; the loop will read keys from keybuf up until
-     mock_input, thus rebuilding the state; and then it will resume
-     reading characters from the keyboard.  */
-  int mock_input = 0;
-
-  /* If the sequence is unbound in submaps[], then
-     keybuf[fkey.start..fkey.end-1] is a prefix in Vfunction_key_map,
-     and fkey.map is its binding.
-
-     These might be > t, indicating that all function key scanning
-     should hold off until t reaches them.  We do this when we've just
-     recognized a function key, to avoid searching for the function
-     key's again in Vfunction_key_map.  */
-  keyremap fkey;
-
-  /* Likewise, for key_translation_map and input-decode-map.  */
-  keyremap keytran, indec;
-
-  /* True if we are trying to map a key by changing an upper-case
-     letter to lower case, or a shifted function key to an unshifted
-     one.  */
-  bool shift_translated = 0;
-
-  /* If we receive a `switch-frame' or `select-window' event in the middle of
-     a key sequence, we put it off for later.
-     While we're reading, we keep the event here.  */
-  Lisp_Object delayed_switch_frame;
-
-  Lisp_Object original_uppercase IF_LINT (= Qnil);
-  int original_uppercase_position = -1;
-
-  /* Gets around Microsoft compiler limitations.  */
-  bool dummyflag = 0;
-
-  struct buffer *starting_buffer;
-
-  /* List of events for which a fake prefix key has been generated.  */
-  Lisp_Object fake_prefixed_keys = Qnil;
-
-  struct gcpro gcpro1;
-
-  GCPRO1 (fake_prefixed_keys);
-  raw_keybuf_count = 0;
-
-  last_nonmenu_event = Qnil;
-
-  delayed_switch_frame = Qnil;
-
-  if (INTERACTIVE)
-    {
-      if (!NILP (prompt))
-       {
-         /* Install the string PROMPT as the beginning of the string
-            of echoing, so that it serves as a prompt for the next
-            character.  */
-         kset_echo_string (current_kboard, prompt);
-         current_kboard->echo_after_prompt = SCHARS (prompt);
-         echo_now ();
-       }
-      else if (cursor_in_echo_area
-              && echo_keystrokes_p ())
-       /* This doesn't put in a dash if the echo buffer is empty, so
-          you don't always see a dash hanging out in the minibuffer.  */
-       echo_dash ();
-    }
-
-  /* Record the initial state of the echo area and this_command_keys;
-     we will need to restore them if we replay a key sequence.  */
-  if (INTERACTIVE)
-    echo_start = echo_length ();
-  keys_start = this_command_key_count;
-  this_single_command_key_start = keys_start;
-
-  /* We jump here when we need to reinitialize fkey and keytran; this
-     happens if we switch keyboards between rescans.  */
- replay_entire_sequence:
-
-  indec.map = indec.parent = KVAR (current_kboard, Vinput_decode_map);
-  fkey.map = fkey.parent = KVAR (current_kboard, Vlocal_function_key_map);
-  keytran.map = keytran.parent = Vkey_translation_map;
-  indec.start = indec.end = 0;
-  fkey.start = fkey.end = 0;
-  keytran.start = keytran.end = 0;
-
-  /* We jump here when the key sequence has been thoroughly changed, and
-     we need to rescan it starting from the beginning.  When we jump here,
-     keybuf[0..mock_input] holds the sequence we should reread.  */
- replay_sequence:
-
-  starting_buffer = current_buffer;
-  first_unbound = bufsize + 1;
-
-  /* Build our list of keymaps.
-     If we recognize a function key and replace its escape sequence in
-     keybuf with its symbol, or if the sequence starts with a mouse
-     click and we need to switch buffers, we jump back here to rebuild
-     the initial keymaps from the current buffer.  */
-  current_binding = active_maps (first_event);
-
-  /* Start from the beginning in keybuf.  */
-  t = 0;
-
-  /* These are no-ops the first time through, but if we restart, they
-     revert the echo area and this_command_keys to their original state.  */
-  this_command_key_count = keys_start;
-  if (INTERACTIVE && t < mock_input)
-    echo_truncate (echo_start);
-
-  /* If the best binding for the current key sequence is a keymap, or
-     we may be looking at a function key's escape sequence, keep on
-     reading.  */
-  while (!NILP (current_binding)
-        /* Keep reading as long as there's a prefix binding.  */
-        ? KEYMAPP (current_binding)
-        /* Don't return in the middle of a possible function key sequence,
-           if the only bindings we found were via case conversion.
-           Thus, if ESC O a has a function-key-map translation
-           and ESC o has a binding, don't return after ESC O,
-           so that we can translate ESC O plus the next character.  */
-        : (/* indec.start < t || fkey.start < t || */ keytran.start < t))
-    {
-      Lisp_Object key;
-      bool used_mouse_menu = 0;
-
-      /* Where the last real key started.  If we need to throw away a
-         key that has expanded into more than one element of keybuf
-         (say, a mouse click on the mode line which is being treated
-         as [mode-line (mouse-...)], then we backtrack to this point
-         of keybuf.  */
-      int last_real_key_start;
-
-      /* These variables are analogous to echo_start and keys_start;
-        while those allow us to restart the entire key sequence,
-        echo_local_start and keys_local_start allow us to throw away
-        just one key.  */
-      ptrdiff_t echo_local_start IF_LINT (= 0);
-      int keys_local_start;
-      Lisp_Object new_binding;
-
-      eassert (indec.end == t || (indec.end > t && indec.end <= mock_input));
-      eassert (indec.start <= indec.end);
-      eassert (fkey.start <= fkey.end);
-      eassert (keytran.start <= keytran.end);
-      /* key-translation-map is applied *after* function-key-map
-        which is itself applied *after* input-decode-map.  */
-      eassert (fkey.end <= indec.start);
-      eassert (keytran.end <= fkey.start);
-
-      if (/* first_unbound < indec.start && first_unbound < fkey.start && */
-         first_unbound < keytran.start)
-       { /* The prefix upto first_unbound has no binding and has
-            no translation left to do either, so we know it's unbound.
-            If we don't stop now, we risk staying here indefinitely
-            (if the user keeps entering fkey or keytran prefixes
-            like C-c ESC ESC ESC ESC ...)  */
-         int i;
-         for (i = first_unbound + 1; i < t; i++)
-           keybuf[i - first_unbound - 1] = keybuf[i];
-         mock_input = t - first_unbound - 1;
-         indec.end = indec.start -= first_unbound + 1;
-         indec.map = indec.parent;
-         fkey.end = fkey.start -= first_unbound + 1;
-         fkey.map = fkey.parent;
-         keytran.end = keytran.start -= first_unbound + 1;
-         keytran.map = keytran.parent;
-         goto replay_sequence;
-       }
-
-      if (t >= bufsize)
-       error ("Key sequence too long");
-
-      if (INTERACTIVE)
-       echo_local_start = echo_length ();
-      keys_local_start = this_command_key_count;
-
-    replay_key:
-      /* These are no-ops, unless we throw away a keystroke below and
-        jumped back up to replay_key; in that case, these restore the
-        variables to their original state, allowing us to replay the
-        loop.  */
-      if (INTERACTIVE && t < mock_input)
-       echo_truncate (echo_local_start);
-      this_command_key_count = keys_local_start;
-
-      /* By default, assume each event is "real".  */
-      last_real_key_start = t;
-
-      /* Does mock_input indicate that we are re-reading a key sequence?  */
-      if (t < mock_input)
-       {
-         key = keybuf[t];
-         add_command_key (key);
-         if (echo_keystrokes_p ()
-             && current_kboard->immediate_echo)
-           {
-             echo_add_key (key);
-             echo_dash ();
-           }
-       }
-
-      /* If not, we should actually read a character.  */
-      else
-       {
-         {
-           KBOARD *interrupted_kboard = current_kboard;
-           struct frame *interrupted_frame = SELECTED_FRAME ();
-           /* Calling read_char with COMMANDFLAG = -2 avoids
-              redisplay in read_char and its subroutines.  */
-           key = read_char (prevent_redisplay ? -2 : NILP (prompt),
-                            current_binding, last_nonmenu_event,
-                             &used_mouse_menu, NULL);
-           if ((INTEGERP (key) && XINT (key) == -2) /* wrong_kboard_jmpbuf */
-               /* When switching to a new tty (with a new keyboard),
-                  read_char returns the new buffer, rather than -2
-                  (Bug#5095).  This is because `terminal-init-xterm'
-                  calls read-char, which eats the wrong_kboard_jmpbuf
-                  return.  Any better way to fix this? -- cyd  */
-               || (interrupted_kboard != current_kboard))
-             {
-               bool found = 0;
-               struct kboard *k;
-
-               for (k = all_kboards; k; k = k->next_kboard)
-                 if (k == interrupted_kboard)
-                   found = 1;
-
-               if (!found)
-                 {
-                   /* Don't touch interrupted_kboard when it's been
-                      deleted.  */
-                   delayed_switch_frame = Qnil;
-                   goto replay_entire_sequence;
-                 }
-
-               if (!NILP (delayed_switch_frame))
-                 {
-                   kset_kbd_queue
-                     (interrupted_kboard,
-                      Fcons (delayed_switch_frame,
-                             KVAR (interrupted_kboard, kbd_queue)));
-                   delayed_switch_frame = Qnil;
-                 }
-
-               while (t > 0)
-                 kset_kbd_queue
-                   (interrupted_kboard,
-                    Fcons (keybuf[--t], KVAR (interrupted_kboard, kbd_queue)));
-
-               /* If the side queue is non-empty, ensure it begins with a
-                  switch-frame, so we'll replay it in the right context.  */
-               if (CONSP (KVAR (interrupted_kboard, kbd_queue))
-                   && (key = XCAR (KVAR (interrupted_kboard, kbd_queue)),
-                       !(EVENT_HAS_PARAMETERS (key)
-                         && EQ (EVENT_HEAD_KIND (EVENT_HEAD (key)),
-                                Qswitch_frame))))
-                 {
-                   Lisp_Object frame;
-                   XSETFRAME (frame, interrupted_frame);
-                   kset_kbd_queue
-                     (interrupted_kboard,
-                      Fcons (make_lispy_switch_frame (frame),
-                             KVAR (interrupted_kboard, kbd_queue)));
-                 }
-               mock_input = 0;
-               goto replay_entire_sequence;
-             }
-         }
-
-         /* read_char returns t when it shows a menu and the user rejects it.
-            Just return -1.  */
-         if (EQ (key, Qt))
-           {
-             unbind_to (count, Qnil);
-             UNGCPRO;
-             return -1;
-           }
-
-         /* read_char returns -1 at the end of a macro.
-            Emacs 18 handles this by returning immediately with a
-            zero, so that's what we'll do.  */
-         if (INTEGERP (key) && XINT (key) == -1)
-           {
-             t = 0;
-             /* The Microsoft C compiler can't handle the goto that
-                would go here.  */
-             dummyflag = 1;
-             break;
-           }
-
-         /* If the current buffer has been changed from under us, the
-            keymap may have changed, so replay the sequence.  */
-         if (BUFFERP (key))
-           {
-             timer_resume_idle ();
-
-             mock_input = t;
-             /* Reset the current buffer from the selected window
-                in case something changed the former and not the latter.
-                This is to be more consistent with the behavior
-                of the command_loop_1.  */
-             if (fix_current_buffer)
-               {
-                 if (! FRAME_LIVE_P (XFRAME (selected_frame)))
-                   Fkill_emacs (Qnil);
-                 if (XBUFFER (XWINDOW (selected_window)->contents)
-                     != current_buffer)
-                   Fset_buffer (XWINDOW (selected_window)->contents);
-               }
-
-             goto replay_sequence;
-           }
-
-         /* If we have a quit that was typed in another frame, and
-            quit_throw_to_read_char switched buffers,
-            replay to get the right keymap.  */
-         if (INTEGERP (key)
-             && XINT (key) == quit_char
-             && current_buffer != starting_buffer)
-           {
-             GROW_RAW_KEYBUF;
-             ASET (raw_keybuf, raw_keybuf_count, key);
-             raw_keybuf_count++;
-             keybuf[t++] = key;
-             mock_input = t;
-             Vquit_flag = Qnil;
-             goto replay_sequence;
-           }
-
-         Vquit_flag = Qnil;
-
-         if (EVENT_HAS_PARAMETERS (key)
-             /* Either a `switch-frame' or a `select-window' event.  */
-             && EQ (EVENT_HEAD_KIND (EVENT_HEAD (key)), Qswitch_frame))
-           {
-             /* If we're at the beginning of a key sequence, and the caller
-                says it's okay, go ahead and return this event.  If we're
-                in the midst of a key sequence, delay it until the end.  */
-             if (t > 0 || !can_return_switch_frame)
-               {
-                 delayed_switch_frame = key;
-                 goto replay_key;
-               }
-           }
-
-         if (NILP (first_event))
-           {
-             first_event = key;
-             /* Even if first_event does not specify a particular
-                window/position, it's important to recompute the maps here
-                since a long time might have passed since we entered
-                read_key_sequence, and a timer (or process-filter or
-                special-event-map, ...) might have switched the current buffer
-                or the selected window from under us in the mean time.  */
-             if (fix_current_buffer
-                 && (XBUFFER (XWINDOW (selected_window)->contents)
-                     != current_buffer))
-               Fset_buffer (XWINDOW (selected_window)->contents);
-             current_binding = active_maps (first_event);
-           }
-
-         GROW_RAW_KEYBUF;
-         ASET (raw_keybuf, raw_keybuf_count, key);
-         raw_keybuf_count++;
-       }
-
-      /* Clicks in non-text areas get prefixed by the symbol
-        in their CHAR-ADDRESS field.  For example, a click on
-        the mode line is prefixed by the symbol `mode-line'.
-
-        Furthermore, key sequences beginning with mouse clicks
-        are read using the keymaps of the buffer clicked on, not
-        the current buffer.  So we may have to switch the buffer
-        here.
-
-        When we turn one event into two events, we must make sure
-        that neither of the two looks like the original--so that,
-        if we replay the events, they won't be expanded again.
-        If not for this, such reexpansion could happen either here
-        or when user programs play with this-command-keys.  */
-      if (EVENT_HAS_PARAMETERS (key))
-       {
-         Lisp_Object kind = EVENT_HEAD_KIND (EVENT_HEAD (key));
-         if (EQ (kind, Qmouse_click))
-           {
-             Lisp_Object window = POSN_WINDOW (EVENT_START (key));
-             Lisp_Object posn = POSN_POSN (EVENT_START (key));
-
-             if (CONSP (posn)
-                 || (!NILP (fake_prefixed_keys)
-                     && !NILP (Fmemq (key, fake_prefixed_keys))))
-               {
-                 /* We're looking a second time at an event for which
-                    we generated a fake prefix key.  Set
-                    last_real_key_start appropriately.  */
-                 if (t > 0)
-                   last_real_key_start = t - 1;
-               }
-
-             if (last_real_key_start == 0)
-               {
-                 /* Key sequences beginning with mouse clicks are
-                    read using the keymaps in the buffer clicked on,
-                    not the current buffer.  If we're at the
-                    beginning of a key sequence, switch buffers.  */
-                 if (WINDOWP (window)
-                     && BUFFERP (XWINDOW (window)->contents)
-                     && XBUFFER (XWINDOW (window)->contents) != current_buffer)
-                   {
-                     ASET (raw_keybuf, raw_keybuf_count, key);
-                     raw_keybuf_count++;
-                     keybuf[t] = key;
-                     mock_input = t + 1;
-
-                     /* Arrange to go back to the original buffer once we're
-                        done reading the key sequence.  Note that we can't
-                        use save_excursion_{save,restore} here, because they
-                        save point as well as the current buffer; we don't
-                        want to save point, because redisplay may change it,
-                        to accommodate a Fset_window_start or something.  We
-                        don't want to do this at the top of the function,
-                        because we may get input from a subprocess which
-                        wants to change the selected window and stuff (say,
-                        emacsclient).  */
-                     record_unwind_current_buffer ();
-
-                     if (! FRAME_LIVE_P (XFRAME (selected_frame)))
-                       Fkill_emacs (Qnil);
-                     set_buffer_internal (XBUFFER (XWINDOW (window)->contents));
-                     goto replay_sequence;
-                   }
-               }
-
-             /* Expand mode-line and scroll-bar events into two events:
-                use posn as a fake prefix key.  */
-             if (SYMBOLP (posn)
-                 && (NILP (fake_prefixed_keys)
-                     || NILP (Fmemq (key, fake_prefixed_keys))))
-               {
-                 if (bufsize - t <= 1)
-                   error ("Key sequence too long");
-
-                 keybuf[t]     = posn;
-                 keybuf[t + 1] = key;
-                 mock_input    = t + 2;
-
-                 /* Record that a fake prefix key has been generated
-                    for KEY.  Don't modify the event; this would
-                    prevent proper action when the event is pushed
-                    back into unread-command-events.  */
-                 fake_prefixed_keys = Fcons (key, fake_prefixed_keys);
-                 goto replay_key;
-               }
-           }
-         else if (CONSP (XCDR (key))
-                  && CONSP (EVENT_START (key))
-                  && CONSP (XCDR (EVENT_START (key))))
-           {
-             Lisp_Object posn;
-
-             posn = POSN_POSN (EVENT_START (key));
-             /* Handle menu-bar events:
-                insert the dummy prefix event `menu-bar'.  */
-             if (EQ (posn, Qmenu_bar) || EQ (posn, Qtool_bar))
-               {
-                 if (bufsize - t <= 1)
-                   error ("Key sequence too long");
-                 keybuf[t] = posn;
-                 keybuf[t + 1] = key;
-
-                 /* Zap the position in key, so we know that we've
-                    expanded it, and don't try to do so again.  */
-                 POSN_SET_POSN (EVENT_START (key), list1 (posn));
-
-                 mock_input = t + 2;
-                 goto replay_sequence;
-               }
-             else if (CONSP (posn))
-               {
-                 /* We're looking at the second event of a
-                    sequence which we expanded before.  Set
-                    last_real_key_start appropriately.  */
-                 if (last_real_key_start == t && t > 0)
-                   last_real_key_start = t - 1;
-               }
-           }
-       }
-
-      /* We have finally decided that KEY is something we might want
-        to look up.  */
-      new_binding = follow_key (current_binding, key);
-
-      /* If KEY wasn't bound, we'll try some fallbacks.  */
-      if (!NILP (new_binding))
-       /* This is needed for the following scenario:
-          event 0: a down-event that gets dropped by calling replay_key.
-          event 1: some normal prefix like C-h.
-          After event 0, first_unbound is 0, after event 1 indec.start,
-          fkey.start, and keytran.start are all 1, so when we see that
-          C-h is bound, we need to update first_unbound.  */
-       first_unbound = max (t + 1, first_unbound);
-      else
-       {
-         Lisp_Object head;
-
-         /* Remember the position to put an upper bound on indec.start.  */
-         first_unbound = min (t, first_unbound);
-
-         head = EVENT_HEAD (key);
-
-         if (SYMBOLP (head))
-           {
-             Lisp_Object breakdown;
-             int modifiers;
-
-             breakdown = parse_modifiers (head);
-             modifiers = XINT (XCAR (XCDR (breakdown)));
-             /* Attempt to reduce an unbound mouse event to a simpler
-                event that is bound:
-                  Drags reduce to clicks.
-                  Double-clicks reduce to clicks.
-                  Triple-clicks reduce to double-clicks, then to clicks.
-                  Down-clicks are eliminated.
-                  Double-downs reduce to downs, then are eliminated.
-                  Triple-downs reduce to double-downs, then to downs,
-                    then are eliminated.  */
-             if (modifiers & (down_modifier | drag_modifier
-                              | double_modifier | triple_modifier))
-               {
-                 while (modifiers & (down_modifier | drag_modifier
-                                     | double_modifier | triple_modifier))
-                   {
-                     Lisp_Object new_head, new_click;
-                     if (modifiers & triple_modifier)
-                       modifiers ^= (double_modifier | triple_modifier);
-                     else if (modifiers & double_modifier)
-                       modifiers &= ~double_modifier;
-                     else if (modifiers & drag_modifier)
-                       modifiers &= ~drag_modifier;
-                     else
-                       {
-                         /* Dispose of this `down' event by simply jumping
-                            back to replay_key, to get another event.
-
-                            Note that if this event came from mock input,
-                            then just jumping back to replay_key will just
-                            hand it to us again.  So we have to wipe out any
-                            mock input.
-
-                            We could delete keybuf[t] and shift everything
-                            after that to the left by one spot, but we'd also
-                            have to fix up any variable that points into
-                            keybuf, and shifting isn't really necessary
-                            anyway.
-
-                            Adding prefixes for non-textual mouse clicks
-                            creates two characters of mock input, and both
-                            must be thrown away.  If we're only looking at
-                            the prefix now, we can just jump back to
-                            replay_key.  On the other hand, if we've already
-                            processed the prefix, and now the actual click
-                            itself is giving us trouble, then we've lost the
-                            state of the keymaps we want to backtrack to, and
-                            we need to replay the whole sequence to rebuild
-                            it.
-
-                            Beyond that, only function key expansion could
-                            create more than two keys, but that should never
-                            generate mouse events, so it's okay to zero
-                            mock_input in that case too.
-
-                            FIXME: The above paragraph seems just plain
-                            wrong, if you consider things like
-                            xterm-mouse-mode.  -stef
-
-                            Isn't this just the most wonderful code ever?  */
-
-                         /* If mock_input > t + 1, the above simplification
-                            will actually end up dropping keys on the floor.
-                            This is probably OK for now, but even
-                            if mock_input <= t + 1, we need to adjust indec,
-                            fkey, and keytran.
-                            Typical case [header-line down-mouse-N]:
-                            mock_input = 2, t = 1, fkey.end = 1,
-                            last_real_key_start = 0.  */
-                         if (indec.end > last_real_key_start)
-                           {
-                             indec.end = indec.start
-                               = min (last_real_key_start, indec.start);
-                             indec.map = indec.parent;
-                             if (fkey.end > last_real_key_start)
-                               {
-                                 fkey.end = fkey.start
-                                   = min (last_real_key_start, fkey.start);
-                                 fkey.map = fkey.parent;
-                                 if (keytran.end > last_real_key_start)
-                                   {
-                                     keytran.end = keytran.start
-                                       = min (last_real_key_start, keytran.start);
-                                     keytran.map = keytran.parent;
-                                   }
-                               }
-                           }
-                         if (t == last_real_key_start)
-                           {
-                             mock_input = 0;
-                             goto replay_key;
-                           }
-                         else
-                           {
-                             mock_input = last_real_key_start;
-                             goto replay_sequence;
-                           }
-                       }
-
-                     new_head
-                       = apply_modifiers (modifiers, XCAR (breakdown));
-                     new_click = list2 (new_head, EVENT_START (key));
-
-                     /* Look for a binding for this new key.  */
-                     new_binding = follow_key (current_binding, new_click);
-
-                     /* If that click is bound, go for it.  */
-                     if (!NILP (new_binding))
-                       {
-                         current_binding = new_binding;
-                         key = new_click;
-                         break;
-                       }
-                     /* Otherwise, we'll leave key set to the drag event.  */
-                   }
-               }
-           }
-       }
-      current_binding = new_binding;
-
-      keybuf[t++] = key;
-      /* Normally, last_nonmenu_event gets the previous key we read.
-        But when a mouse popup menu is being used,
-        we don't update last_nonmenu_event; it continues to hold the mouse
-        event that preceded the first level of menu.  */
-      if (!used_mouse_menu)
-       last_nonmenu_event = key;
-
-      /* Record what part of this_command_keys is the current key sequence.  */
-      this_single_command_key_start = this_command_key_count - t;
-      /* When 'input-method-function' called above causes events to be
-        put on 'unread-post-input-method-events', and as result
-        'reread' is set to 'true', the value of 't' can become larger
-        than 'this_command_key_count', because 'add_command_key' is
-        not called to update 'this_command_key_count'.  If this
-        happens, 'this_single_command_key_start' will become negative
-        above, and any call to 'this-single-command-keys' will return
-        a garbled vector.  See bug #20223 for one such situation.
-        Here we force 'this_single_command_key_start' to never become
-        negative, to avoid that.  */
-      if (this_single_command_key_start < 0)
-       this_single_command_key_start = 0;
-
-      /* Look for this sequence in input-decode-map.
-        Scan from indec.end until we find a bound suffix.  */
-      while (indec.end < t)
-       {
-         struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
-         bool done;
-         int diff;
-
-         GCPRO4 (indec.map, fkey.map, keytran.map, delayed_switch_frame);
-         done = keyremap_step (keybuf, bufsize, &indec, max (t, mock_input),
-                               1, &diff, prompt);
-         UNGCPRO;
-         if (done)
-           {
-             mock_input = diff + max (t, mock_input);
-             goto replay_sequence;
-           }
-       }
-
-      if (!KEYMAPP (current_binding)
-         && !test_undefined (current_binding)
-         && indec.start >= t)
-       /* There is a binding and it's not a prefix.
-          (and it doesn't have any input-decode-map translation pending).
-          There is thus no function-key in this sequence.
-          Moving fkey.start is important in this case to allow keytran.start
-          to go over the sequence before we return (since we keep the
-          invariant that keytran.end <= fkey.start).  */
-       {
-         if (fkey.start < t)
-           (fkey.start = fkey.end = t, fkey.map = fkey.parent);
-       }
-      else
-       /* If the sequence is unbound, see if we can hang a function key
-          off the end of it.  */
-       /* Continue scan from fkey.end until we find a bound suffix.  */
-       while (fkey.end < indec.start)
-         {
-           struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
-           bool done;
-           int diff;
-
-           GCPRO4 (indec.map, fkey.map, keytran.map, delayed_switch_frame);
-           done = keyremap_step (keybuf, bufsize, &fkey,
-                                 max (t, mock_input),
-                                 /* If there's a binding (i.e.
-                                    first_binding >= nmaps) we don't want
-                                    to apply this function-key-mapping.  */
-                                 fkey.end + 1 == t
-                                 && (test_undefined (current_binding)),
-                                 &diff, prompt);
-           UNGCPRO;
-           if (done)
-             {
-               mock_input = diff + max (t, mock_input);
-               /* Adjust the input-decode-map counters.  */
-               indec.end += diff;
-               indec.start += diff;
-
-               goto replay_sequence;
-             }
-         }
-
-      /* Look for this sequence in key-translation-map.
-        Scan from keytran.end until we find a bound suffix.  */
-      while (keytran.end < fkey.start)
-       {
-         struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
-         bool done;
-         int diff;
-
-         GCPRO4 (indec.map, fkey.map, keytran.map, delayed_switch_frame);
-         done = keyremap_step (keybuf, bufsize, &keytran, max (t, mock_input),
-                               1, &diff, prompt);
-         UNGCPRO;
-         if (done)
-           {
-             mock_input = diff + max (t, mock_input);
-             /* Adjust the function-key-map and input-decode-map counters.  */
-             indec.end += diff;
-             indec.start += diff;
-             fkey.end += diff;
-             fkey.start += diff;
-
-             goto replay_sequence;
-           }
-       }
-
-      /* If KEY is not defined in any of the keymaps,
-        and cannot be part of a function key or translation,
-        and is an upper case letter
-        use the corresponding lower-case letter instead.  */
-      if (NILP (current_binding)
-         && /* indec.start >= t && fkey.start >= t && */ keytran.start >= t
-         && INTEGERP (key)
-         && ((CHARACTERP (make_number (XINT (key) & ~CHAR_MODIFIER_MASK))
-              && uppercasep (XINT (key) & ~CHAR_MODIFIER_MASK))
-             || (XINT (key) & shift_modifier)))
-       {
-         Lisp_Object new_key;
-
-         original_uppercase = key;
-         original_uppercase_position = t - 1;
-
-         if (XINT (key) & shift_modifier)
-           XSETINT (new_key, XINT (key) & ~shift_modifier);
-         else
-           XSETINT (new_key, (downcase (XINT (key) & ~CHAR_MODIFIER_MASK)
-                              | (XINT (key) & CHAR_MODIFIER_MASK)));
-
-         /* We have to do this unconditionally, regardless of whether
-            the lower-case char is defined in the keymaps, because they
-            might get translated through function-key-map.  */
-         keybuf[t - 1] = new_key;
-         mock_input = max (t, mock_input);
-         shift_translated = 1;
-
-         goto replay_sequence;
-       }
-
-      if (NILP (current_binding)
-         && help_char_p (EVENT_HEAD (key)) && t > 1)
-           {
-             read_key_sequence_cmd = Vprefix_help_command;
-             /* The Microsoft C compiler can't handle the goto that
-                would go here.  */
-             dummyflag = 1;
-             break;
-           }
-
-      /* If KEY is not defined in any of the keymaps,
-        and cannot be part of a function key or translation,
-        and is a shifted function key,
-        use the corresponding unshifted function key instead.  */
-      if (NILP (current_binding)
-         && /* indec.start >= t && fkey.start >= t && */ keytran.start >= t)
-       {
-         Lisp_Object breakdown = parse_modifiers (key);
-         int modifiers
-           = CONSP (breakdown) ? (XINT (XCAR (XCDR (breakdown)))) : 0;
-
-         if (modifiers & shift_modifier
-             /* Treat uppercase keys as shifted.  */
-             || (INTEGERP (key)
-                 && (KEY_TO_CHAR (key)
-                     < XCHAR_TABLE (BVAR (current_buffer, downcase_table))->header.size)
-                 && uppercasep (KEY_TO_CHAR (key))))
-           {
-             Lisp_Object new_key
-               = (modifiers & shift_modifier
-                  ? apply_modifiers (modifiers & ~shift_modifier,
-                                     XCAR (breakdown))
-                  : make_number (downcase (KEY_TO_CHAR (key)) | modifiers));
-
-             original_uppercase = key;
-             original_uppercase_position = t - 1;
-
-             /* We have to do this unconditionally, regardless of whether
-                the lower-case char is defined in the keymaps, because they
-                might get translated through function-key-map.  */
-             keybuf[t - 1] = new_key;
-             mock_input = max (t, mock_input);
-             /* Reset fkey (and consequently keytran) to apply
-                function-key-map on the result, so that S-backspace is
-                correctly mapped to DEL (via backspace).  OTOH,
-                input-decode-map doesn't need to go through it again.  */
-             fkey.start = fkey.end = 0;
-             keytran.start = keytran.end = 0;
-             shift_translated = 1;
-
-             goto replay_sequence;
-           }
-       }
-    }
-  if (!dummyflag)
-    read_key_sequence_cmd = current_binding;
-  read_key_sequence_remapped
-    /* Remap command through active keymaps.
-       Do the remapping here, before the unbind_to so it uses the keymaps
-       of the appropriate buffer.  */
-    = SYMBOLP (read_key_sequence_cmd)
-    ? Fcommand_remapping (read_key_sequence_cmd, Qnil, Qnil)
-    : Qnil;
-
-  unread_switch_frame = delayed_switch_frame;
-  unbind_to (count, Qnil);
-
-  /* Don't downcase the last character if the caller says don't.
-     Don't downcase it if the result is undefined, either.  */
-  if ((dont_downcase_last || NILP (current_binding))
-      && t > 0
-      && t - 1 == original_uppercase_position)
-    {
-      keybuf[t - 1] = original_uppercase;
-      shift_translated = 0;
-    }
-
-  if (shift_translated)
-    Vthis_command_keys_shift_translated = Qt;
-
-  /* Occasionally we fabricate events, perhaps by expanding something
-     according to function-key-map, or by adding a prefix symbol to a
-     mouse click in the scroll bar or modeline.  In this cases, return
-     the entire generated key sequence, even if we hit an unbound
-     prefix or a definition before the end.  This means that you will
-     be able to push back the event properly, and also means that
-     read-key-sequence will always return a logical unit.
-
-     Better ideas?  */
-  for (; t < mock_input; t++)
-    {
-      if (echo_keystrokes_p ())
-       echo_char (keybuf[t]);
-      add_command_key (keybuf[t]);
-    }
-
-  UNGCPRO;
-  return t;
-}
-
-static Lisp_Object
-read_key_sequence_vs (Lisp_Object prompt, Lisp_Object continue_echo,
-                     Lisp_Object dont_downcase_last,
-                     Lisp_Object can_return_switch_frame,
-                     Lisp_Object cmd_loop, bool allow_string)
-{
-  Lisp_Object keybuf[30];
-  register int i;
-  struct gcpro gcpro1;
-  ptrdiff_t count = SPECPDL_INDEX ();
-
-  if (!NILP (prompt))
-    CHECK_STRING (prompt);
-  QUIT;
-
-  specbind (Qinput_method_exit_on_first_char,
-           (NILP (cmd_loop) ? Qt : Qnil));
-  specbind (Qinput_method_use_echo_area,
-           (NILP (cmd_loop) ? Qt : Qnil));
-
-  memset (keybuf, 0, sizeof keybuf);
-  GCPRO1 (keybuf[0]);
-  gcpro1.nvars = ARRAYELTS (keybuf);
-
-  if (NILP (continue_echo))
-    {
-      this_command_key_count = 0;
-      this_command_key_count_reset = 0;
-      this_single_command_key_start = 0;
-    }
-
-#ifdef HAVE_WINDOW_SYSTEM
-  if (display_hourglass_p)
-    cancel_hourglass ();
-#endif
-
-  i = read_key_sequence (keybuf, ARRAYELTS (keybuf),
-                        prompt, ! NILP (dont_downcase_last),
-                        ! NILP (can_return_switch_frame), 0, 0);
-
-#if 0  /* The following is fine for code reading a key sequence and
-         then proceeding with a lengthy computation, but it's not good
-         for code reading keys in a loop, like an input method.  */
-#ifdef HAVE_WINDOW_SYSTEM
-  if (display_hourglass_p)
-    start_hourglass ();
-#endif
-#endif
-
-  if (i == -1)
-    {
-      Vquit_flag = Qt;
-      QUIT;
-    }
-  UNGCPRO;
-  return unbind_to (count,
-                   ((allow_string ? make_event_array : Fvector)
-                    (i, keybuf)));
-}
-
-DEFUN ("read-key-sequence", Fread_key_sequence, Sread_key_sequence, 1, 5, 0,
-       doc: /* Read a sequence of keystrokes and return as a string or vector.
-The sequence is sufficient to specify a non-prefix command in the
-current local and global maps.
-
-First arg PROMPT is a prompt string.  If nil, do not prompt specially.
-Second (optional) arg CONTINUE-ECHO, if non-nil, means this key echos
-as a continuation of the previous key.
-
-The third (optional) arg DONT-DOWNCASE-LAST, if non-nil, means do not
-convert the last event to lower case.  (Normally any upper case event
-is converted to lower case if the original event is undefined and the lower
-case equivalent is defined.)  A non-nil value is appropriate for reading
-a key sequence to be defined.
-
-A C-g typed while in this function is treated like any other character,
-and `quit-flag' is not set.
-
-If the key sequence starts with a mouse click, then the sequence is read
-using the keymaps of the buffer of the window clicked in, not the buffer
-of the selected window as normal.
-
-`read-key-sequence' drops unbound button-down events, since you normally
-only care about the click or drag events which follow them.  If a drag
-or multi-click event is unbound, but the corresponding click event would
-be bound, `read-key-sequence' turns the event into a click event at the
-drag's starting position.  This means that you don't have to distinguish
-between click and drag, double, or triple events unless you want to.
-
-`read-key-sequence' prefixes mouse events on mode lines, the vertical
-lines separating windows, and scroll bars with imaginary keys
-`mode-line', `vertical-line', and `vertical-scroll-bar'.
-
-Optional fourth argument CAN-RETURN-SWITCH-FRAME non-nil means that this
-function will process a switch-frame event if the user switches frames
-before typing anything.  If the user switches frames in the middle of a
-key sequence, or at the start of the sequence but CAN-RETURN-SWITCH-FRAME
-is nil, then the event will be put off until after the current key sequence.
-
-`read-key-sequence' checks `function-key-map' for function key
-sequences, where they wouldn't conflict with ordinary bindings.  See
-`function-key-map' for more details.
-
-The optional fifth argument CMD-LOOP, if non-nil, means
-that this key sequence is being read by something that will
-read commands one after another.  It should be nil if the caller
-will read just one key sequence.  */)
-  (Lisp_Object prompt, Lisp_Object continue_echo, Lisp_Object dont_downcase_last, Lisp_Object can_return_switch_frame, Lisp_Object cmd_loop)
-{
-  return read_key_sequence_vs (prompt, continue_echo, dont_downcase_last,
-                              can_return_switch_frame, cmd_loop, true);
-}
-
-DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,
-       Sread_key_sequence_vector, 1, 5, 0,
-       doc: /* Like `read-key-sequence' but always return a vector.  */)
-  (Lisp_Object prompt, Lisp_Object continue_echo, Lisp_Object dont_downcase_last, Lisp_Object can_return_switch_frame, Lisp_Object cmd_loop)
-{
-  return read_key_sequence_vs (prompt, continue_echo, dont_downcase_last,
-                              can_return_switch_frame, cmd_loop, false);
-}
-\f
-/* Return true if input events are pending.  */
-
-bool
-detect_input_pending (void)
-{
-  return input_pending || get_input_pending (0);
-}
-
-/* Return true if input events other than mouse movements are
-   pending.  */
-
-bool
-detect_input_pending_ignore_squeezables (void)
-{
-  return input_pending || get_input_pending (READABLE_EVENTS_IGNORE_SQUEEZABLES);
-}
-
-/* Return true if input events are pending, and run any pending timers.  */
-
-bool
-detect_input_pending_run_timers (bool do_display)
-{
-  unsigned old_timers_run = timers_run;
-
-  if (!input_pending)
-    get_input_pending (READABLE_EVENTS_DO_TIMERS_NOW);
-
-  if (old_timers_run != timers_run && do_display)
-    redisplay_preserve_echo_area (8);
-
-  return input_pending;
-}
-
-/* This is called in some cases before a possible quit.
-   It cases the next call to detect_input_pending to recompute input_pending.
-   So calling this function unnecessarily can't do any harm.  */
-
-void
-clear_input_pending (void)
-{
-  input_pending = 0;
-}
-
-/* Return true if there are pending requeued events.
-   This isn't used yet.  The hope is to make wait_reading_process_output
-   call it, and return if it runs Lisp code that unreads something.
-   The problem is, kbd_buffer_get_event needs to be fixed to know what
-   to do in that case.  It isn't trivial.  */
-
-bool
-requeued_events_pending_p (void)
-{
-  return (!NILP (Vunread_command_events));
-}
-
-DEFUN ("input-pending-p", Finput_pending_p, Sinput_pending_p, 0, 1, 0,
-       doc: /* Return t if command input is currently available with no wait.
-Actually, the value is nil only if we can be sure that no input is available;
-if there is a doubt, the value is t.
-
-If CHECK-TIMERS is non-nil, timers that are ready to run will do so.  */)
-  (Lisp_Object check_timers)
-{
-  if (!NILP (Vunread_command_events)
-      || !NILP (Vunread_post_input_method_events)
-      || !NILP (Vunread_input_method_events))
-    return (Qt);
-
-  /* Process non-user-visible events (Bug#10195).  */
-  process_special_events ();
-
-  return (get_input_pending ((NILP (check_timers)
-                              ? 0 : READABLE_EVENTS_DO_TIMERS_NOW)
-                            | READABLE_EVENTS_FILTER_EVENTS)
-         ? Qt : Qnil);
-}
-
-DEFUN ("recent-keys", Frecent_keys, Srecent_keys, 0, 1, 0,
-       doc: /* Return vector of last few events, not counting those from keyboard macros.
-If INCLUDE-CMDS is non-nil, include the commands that were run,
-represented as events of the form (nil . COMMAND).  */)
-  (Lisp_Object include_cmds)
-{
-  bool cmds = !NILP (include_cmds);
-
-  if (!total_keys
-      || (cmds && total_keys < NUM_RECENT_KEYS))
-    return Fvector (total_keys,
-                   XVECTOR (recent_keys)->contents);
-  else
-    {
-      Lisp_Object es = Qnil;
-      int i = (total_keys < NUM_RECENT_KEYS
-              ? 0 : recent_keys_index);
-      eassert (recent_keys_index < NUM_RECENT_KEYS);
-      do
-       {
-         Lisp_Object e = AREF (recent_keys, i);
-         if (cmds || !CONSP (e) || !NILP (XCAR (e)))
-           es = Fcons (e, es);
-         if (++i >= NUM_RECENT_KEYS)
-           i = 0;
-       } while (i != recent_keys_index);
-      es = Fnreverse (es);
-      return Fvconcat (1, &es);
-    }
-}
-
-DEFUN ("this-command-keys", Fthis_command_keys, Sthis_command_keys, 0, 0, 0,
-       doc: /* Return the key sequence that invoked this command.
-However, if the command has called `read-key-sequence', it returns
-the last key sequence that has been read.
-The value is a string or a vector.
-
-See also `this-command-keys-vector'.  */)
-  (void)
-{
-  return make_event_array (this_command_key_count,
-                          XVECTOR (this_command_keys)->contents);
-}
-
-DEFUN ("this-command-keys-vector", Fthis_command_keys_vector, Sthis_command_keys_vector, 0, 0, 0,
-       doc: /* Return the key sequence that invoked this command, as a vector.
-However, if the command has called `read-key-sequence', it returns
-the last key sequence that has been read.
-
-See also `this-command-keys'.  */)
-  (void)
-{
-  return Fvector (this_command_key_count,
-                 XVECTOR (this_command_keys)->contents);
-}
-
-DEFUN ("this-single-command-keys", Fthis_single_command_keys,
-       Sthis_single_command_keys, 0, 0, 0,
-       doc: /* Return the key sequence that invoked this command.
-More generally, it returns the last key sequence read, either by
-the command loop or by `read-key-sequence'.
-Unlike `this-command-keys', this function's value
-does not include prefix arguments.
-The value is always a vector.  */)
-  (void)
-{
-  return Fvector (this_command_key_count
-                 - this_single_command_key_start,
-                 (XVECTOR (this_command_keys)->contents
-                  + this_single_command_key_start));
-}
-
-DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,
-       Sthis_single_command_raw_keys, 0, 0, 0,
-       doc: /* Return the raw events that were read for this command.
-More generally, it returns the last key sequence read, either by
-the command loop or by `read-key-sequence'.
-Unlike `this-single-command-keys', this function's value
-shows the events before all translations (except for input methods).
-The value is always a vector.  */)
-  (void)
-{
-  return Fvector (raw_keybuf_count, XVECTOR (raw_keybuf)->contents);
-}
-
-DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,
-       Sreset_this_command_lengths, 0, 0, 0,
-       doc: /* Make the unread events replace the last command and echo.
-Used in `universal-argument-other-key'.
-
-`universal-argument-other-key' rereads the event just typed.
-It then gets translated through `function-key-map'.
-The translated event has to replace the real events,
-both in the value of (this-command-keys) and in echoing.
-To achieve this, `universal-argument-other-key' calls
-`reset-this-command-lengths', which discards the record of reading
-these events the first time.  */)
-  (void)
-{
-  this_command_key_count = before_command_key_count;
-  if (this_command_key_count < this_single_command_key_start)
-    this_single_command_key_start = this_command_key_count;
-
-  echo_truncate (before_command_echo_length);
-
-  /* Cause whatever we put into unread-command-events
-     to echo as if it were being freshly read from the keyboard.  */
-  this_command_key_count_reset = 1;
-
-  return Qnil;
-}
-
-DEFUN ("clear-this-command-keys", Fclear_this_command_keys,
-       Sclear_this_command_keys, 0, 1, 0,
-       doc: /* Clear out the vector that `this-command-keys' returns.
-Also clear the record of the last 100 events, unless optional arg
-KEEP-RECORD is non-nil.  */)
-  (Lisp_Object keep_record)
-{
-  int i;
-
-  this_command_key_count = 0;
-  this_command_key_count_reset = 0;
-
-  if (NILP (keep_record))
-    {
-      for (i = 0; i < ASIZE (recent_keys); ++i)
-       ASET (recent_keys, i, Qnil);
-      total_keys = 0;
-      recent_keys_index = 0;
-    }
-  return Qnil;
-}
-
-DEFUN ("recursion-depth", Frecursion_depth, Srecursion_depth, 0, 0, 0,
-       doc: /* Return the current depth in recursive edits.  */)
-  (void)
-{
-  Lisp_Object temp;
-  /* Wrap around reliably on integer overflow.  */
-  EMACS_INT sum = (command_loop_level & INTMASK) + (minibuf_level & INTMASK);
-  XSETINT (temp, sum);
-  return temp;
-}
-
-DEFUN ("open-dribble-file", Fopen_dribble_file, Sopen_dribble_file, 1, 1,
-       "FOpen dribble file: ",
-       doc: /* Start writing all keyboard characters to a dribble file called FILE.
-If FILE is nil, close any open dribble file.
-The file will be closed when Emacs exits.
-
-Be aware that this records ALL characters you type!
-This may include sensitive information such as passwords.  */)
-  (Lisp_Object file)
-{
-  if (dribble)
-    {
-      block_input ();
-      fclose (dribble);
-      unblock_input ();
-      dribble = 0;
-    }
-  if (!NILP (file))
-    {
-      int fd;
-      Lisp_Object encfile;
-
-      file = Fexpand_file_name (file, Qnil);
-      encfile = ENCODE_FILE (file);
-      fd = emacs_open (SSDATA (encfile), O_WRONLY | O_CREAT | O_EXCL, 0600);
-      if (fd < 0 && errno == EEXIST && unlink (SSDATA (encfile)) == 0)
-       fd = emacs_open (SSDATA (encfile), O_WRONLY | O_CREAT | O_EXCL, 0600);
-      dribble = fd < 0 ? 0 : fdopen (fd, "w");
-      if (dribble == 0)
-       report_file_error ("Opening dribble", file);
-    }
-  return Qnil;
-}
-
-DEFUN ("discard-input", Fdiscard_input, Sdiscard_input, 0, 0, 0,
-       doc: /* Discard the contents of the terminal input buffer.
-Also end any kbd macro being defined.  */)
-  (void)
-{
-  if (!NILP (KVAR (current_kboard, defining_kbd_macro)))
-    {
-      /* Discard the last command from the macro.  */
-      Fcancel_kbd_macro_events ();
-      end_kbd_macro ();
-    }
-
-  Vunread_command_events = Qnil;
-
-  discard_tty_input ();
-
-  kbd_fetch_ptr =  kbd_store_ptr;
-  input_pending = 0;
-
-  return Qnil;
-}
-\f
-DEFUN ("suspend-emacs", Fsuspend_emacs, Ssuspend_emacs, 0, 1, "",
-       doc: /* Stop Emacs and return to superior process.  You can resume later.
-If `cannot-suspend' is non-nil, or if the system doesn't support job
-control, run a subshell instead.
-
-If optional arg STUFFSTRING is non-nil, its characters are stuffed
-to be read as terminal input by Emacs's parent, after suspension.
-
-Before suspending, run the normal hook `suspend-hook'.
-After resumption run the normal hook `suspend-resume-hook'.
-
-Some operating systems cannot stop the Emacs process and resume it later.
-On such systems, Emacs starts a subshell instead of suspending.  */)
-  (Lisp_Object stuffstring)
-{
-  ptrdiff_t count = SPECPDL_INDEX ();
-  int old_height, old_width;
-  int width, height;
-  struct gcpro gcpro1;
-
-  if (tty_list && tty_list->next)
-    error ("There are other tty frames open; close them before suspending Emacs");
-
-  if (!NILP (stuffstring))
-    CHECK_STRING (stuffstring);
-
-  run_hook (intern ("suspend-hook"));
-
-  GCPRO1 (stuffstring);
-  get_tty_size (fileno (CURTTY ()->input), &old_width, &old_height);
-  reset_all_sys_modes ();
-  /* sys_suspend can get an error if it tries to fork a subshell
-     and the system resources aren't available for that.  */
-  record_unwind_protect_void (init_all_sys_modes);
-  stuff_buffered_input (stuffstring);
-  if (cannot_suspend)
-    sys_subshell ();
-  else
-    sys_suspend ();
-  unbind_to (count, Qnil);
-
-  /* Check if terminal/window size has changed.
-     Note that this is not useful when we are running directly
-     with a window system; but suspend should be disabled in that case.  */
-  get_tty_size (fileno (CURTTY ()->input), &width, &height);
-  if (width != old_width || height != old_height)
-    change_frame_size (SELECTED_FRAME (), width,
-                      height - FRAME_MENU_BAR_LINES (SELECTED_FRAME ()),
-                      0, 0, 0, 0);
-
-  run_hook (intern ("suspend-resume-hook"));
-
-  UNGCPRO;
-  return Qnil;
-}
-
-/* If STUFFSTRING is a string, stuff its contents as pending terminal input.
-   Then in any case stuff anything Emacs has read ahead and not used.  */
-
-void
-stuff_buffered_input (Lisp_Object stuffstring)
-{
-#ifdef SIGTSTP  /* stuff_char is defined if SIGTSTP.  */
-  register unsigned char *p;
-
-  if (STRINGP (stuffstring))
-    {
-      register ptrdiff_t count;
-
-      p = SDATA (stuffstring);
-      count = SBYTES (stuffstring);
-      while (count-- > 0)
-       stuff_char (*p++);
-      stuff_char ('\n');
-    }
-
-  /* Anything we have read ahead, put back for the shell to read.  */
-  /* ?? What should this do when we have multiple keyboards??
-     Should we ignore anything that was typed in at the "wrong" kboard?
-
-     rms: we should stuff everything back into the kboard
-     it came from.  */
-  for (; kbd_fetch_ptr != kbd_store_ptr; kbd_fetch_ptr++)
-    {
-
-      if (kbd_fetch_ptr == kbd_buffer + KBD_BUFFER_SIZE)
-       kbd_fetch_ptr = kbd_buffer;
-      if (kbd_fetch_ptr->kind == ASCII_KEYSTROKE_EVENT)
-       stuff_char (kbd_fetch_ptr->code);
-
-      clear_event (kbd_fetch_ptr);
-    }
-
-  input_pending = 0;
-#endif /* SIGTSTP */
-}
-\f
-void
-set_waiting_for_input (struct timespec *time_to_clear)
-{
-  input_available_clear_time = time_to_clear;
-
-  /* Tell handle_interrupt to throw back to read_char,  */
-  waiting_for_input = 1;
-
-  /* If handle_interrupt was called before and buffered a C-g,
-     make it run again now, to avoid timing error.  */
-  if (!NILP (Vquit_flag))
-    quit_throw_to_read_char (0);
-}
-
-void
-clear_waiting_for_input (void)
-{
-  /* Tell handle_interrupt not to throw back to read_char,  */
-  waiting_for_input = 0;
-  input_available_clear_time = 0;
-}
-
-/* The SIGINT handler.
-
-   If we have a frame on the controlling tty, we assume that the
-   SIGINT was generated by C-g, so we call handle_interrupt.
-   Otherwise, tell QUIT to kill Emacs.  */
-
-static void
-handle_interrupt_signal (int sig)
-{
-  /* See if we have an active terminal on our controlling tty.  */
-  struct terminal *terminal = get_named_terminal ("/dev/tty");
-  if (!terminal)
-    {
-      /* If there are no frames there, let's pretend that we are a
-         well-behaving UN*X program and quit.  We must not call Lisp
-         in a signal handler, so tell QUIT to exit when it is
-         safe.  */
-      Vquit_flag = Qkill_emacs;
-    }
-  else
-    {
-      /* Otherwise, the SIGINT was probably generated by C-g.  */
-
-      /* Set internal_last_event_frame to the top frame of the
-         controlling tty, if we have a frame there.  We disable the
-         interrupt key on secondary ttys, so the SIGINT must have come
-         from the controlling tty.  */
-      internal_last_event_frame = terminal->display_info.tty->top_frame;
-
-      handle_interrupt (1);
-    }
-}
-
-static void
-deliver_interrupt_signal (int sig)
-{
-  deliver_process_signal (sig, handle_interrupt_signal);
-}
-
-
-/* If Emacs is stuck because `inhibit-quit' is true, then keep track
-   of the number of times C-g has been requested.  If C-g is pressed
-   enough times, then quit anyway.  See bug#6585.  */
-static int volatile force_quit_count;
-
-/* This routine is called at interrupt level in response to C-g.
-
-   It is called from the SIGINT handler or kbd_buffer_store_event.
-
-   If `waiting_for_input' is non zero, then unless `echoing' is
-   nonzero, immediately throw back to read_char.
-
-   Otherwise it sets the Lisp variable quit-flag not-nil.  This causes
-   eval to throw, when it gets a chance.  If quit-flag is already
-   non-nil, it stops the job right away.  */
-
-static void
-handle_interrupt (bool in_signal_handler)
-{
-  char c;
-
-  cancel_echoing ();
-
-  /* XXX This code needs to be revised for multi-tty support.  */
-  if (!NILP (Vquit_flag) && get_named_terminal ("/dev/tty"))
-    {
-      if (! in_signal_handler)
-       {
-         /* If SIGINT isn't blocked, don't let us be interrupted by
-            a SIGINT.  It might be harmful due to non-reentrancy
-            in I/O functions.  */
-         sigset_t blocked;
-         sigemptyset (&blocked);
-         sigaddset (&blocked, SIGINT);
-         pthread_sigmask (SIG_BLOCK, &blocked, 0);
-       }
-
-      fflush (stdout);
-      reset_all_sys_modes ();
-
-#ifdef SIGTSTP
-/*
- * On systems which can suspend the current process and return to the original
- * shell, this command causes the user to end up back at the shell.
- * The "Auto-save" and "Abort" questions are not asked until
- * the user elects to return to emacs, at which point he can save the current
- * job and either dump core or continue.
- */
-      sys_suspend ();
-#else
-      /* Perhaps should really fork an inferior shell?
-        But that would not provide any way to get back
-        to the original shell, ever.  */
-      printf ("No support for stopping a process on this operating system;\n");
-      printf ("you can continue or abort.\n");
-#endif /* not SIGTSTP */
-#ifdef MSDOS
-      /* We must remain inside the screen area when the internal terminal
-        is used.  Note that [Enter] is not echoed by dos.  */
-      cursor_to (SELECTED_FRAME (), 0, 0);
-#endif
-      /* It doesn't work to autosave while GC is in progress;
-        the code used for auto-saving doesn't cope with the mark bit.  */
-      if (!gc_in_progress)
-       {
-         printf ("Auto-save? (y or n) ");
-         fflush (stdout);
-         if (((c = getchar ()) & ~040) == 'Y')
-           {
-             Fdo_auto_save (Qt, Qnil);
-#ifdef MSDOS
-             printf ("\r\nAuto-save done");
-#else /* not MSDOS */
-             printf ("Auto-save done\n");
-#endif /* not MSDOS */
-           }
-         while (c != '\n') c = getchar ();
-       }
-      else
-       {
-         /* During GC, it must be safe to reenable quitting again.  */
-         Vinhibit_quit = Qnil;
-#ifdef MSDOS
-         printf ("\r\n");
-#endif /* not MSDOS */
-         printf ("Garbage collection in progress; cannot auto-save now\r\n");
-         printf ("but will instead do a real quit after garbage collection ends\r\n");
-         fflush (stdout);
-       }
-
-#ifdef MSDOS
-      printf ("\r\nAbort?  (y or n) ");
-#else /* not MSDOS */
-      printf ("Abort (and dump core)? (y or n) ");
-#endif /* not MSDOS */
-      fflush (stdout);
-      if (((c = getchar ()) & ~040) == 'Y')
-       emacs_abort ();
-      while (c != '\n') c = getchar ();
-#ifdef MSDOS
-      printf ("\r\nContinuing...\r\n");
-#else /* not MSDOS */
-      printf ("Continuing...\n");
-#endif /* not MSDOS */
-      fflush (stdout);
-      init_all_sys_modes ();
-    }
-  else
-    {
-      /* If executing a function that wants to be interrupted out of
-        and the user has not deferred quitting by binding `inhibit-quit'
-        then quit right away.  */
-      if (immediate_quit && NILP (Vinhibit_quit))
-       {
-         struct gl_state_s saved;
-         struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
-
-         immediate_quit = 0;
-         pthread_sigmask (SIG_SETMASK, &empty_mask, 0);
-         saved = gl_state;
-         GCPRO4 (saved.object, saved.global_code,
-                 saved.current_syntax_table, saved.old_prop);
-         Fsignal (Qquit, Qnil);
-         gl_state = saved;
-         UNGCPRO;
-       }
-      else
-        { /* Else request quit when it's safe.  */
-         int count = NILP (Vquit_flag) ? 1 : force_quit_count + 1;
-         force_quit_count = count;
-         if (count == 3)
-            {
-              immediate_quit = 1;
-              Vinhibit_quit = Qnil;
-            }
-          Vquit_flag = Qt;
-        }
-    }
-
-  pthread_sigmask (SIG_SETMASK, &empty_mask, 0);
-
-/* TODO: The longjmp in this call throws the NS event loop integration off,
-         and it seems to do fine without this.  Probably some attention
-        needs to be paid to the setting of waiting_for_input in
-         wait_reading_process_output() under HAVE_NS because of the call
-         to ns_select there (needed because otherwise events aren't picked up
-         outside of polling since we don't get SIGIO like X and we don't have a
-         separate event loop thread like W32.  */
-#ifndef HAVE_NS
-  if (waiting_for_input && !echoing)
-    quit_throw_to_read_char (in_signal_handler);
-#endif
-}
-
-/* Handle a C-g by making read_char return C-g.  */
-
-static void
-quit_throw_to_read_char (bool from_signal)
-{
-  /* When not called from a signal handler it is safe to call
-     Lisp.  */
-  if (!from_signal && EQ (Vquit_flag, Qkill_emacs))
-    Fkill_emacs (Qnil);
-
-  /* Prevent another signal from doing this before we finish.  */
-  clear_waiting_for_input ();
-  input_pending = 0;
-
-  Vunread_command_events = Qnil;
-
-  if (FRAMEP (internal_last_event_frame)
-      && !EQ (internal_last_event_frame, selected_frame))
-    do_switch_frame (make_lispy_switch_frame (internal_last_event_frame),
-                    0, 0, Qnil);
-
-  sys_longjmp (getcjmp, 1);
-}
-\f
-DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,
-       Sset_input_interrupt_mode, 1, 1, 0,
-       doc: /* Set interrupt mode of reading keyboard input.
-If INTERRUPT is non-nil, Emacs will use input interrupts;
-otherwise Emacs uses CBREAK mode.
-
-See also `current-input-mode'.  */)
-  (Lisp_Object interrupt)
-{
-  bool new_interrupt_input;
-#ifdef USABLE_SIGIO
-#ifdef HAVE_X_WINDOWS
-  if (x_display_list != NULL)
-    {
-      /* When using X, don't give the user a real choice,
-        because we haven't implemented the mechanisms to support it.  */
-      new_interrupt_input = 1;
-    }
-  else
-#endif /* HAVE_X_WINDOWS */
-    new_interrupt_input = !NILP (interrupt);
-#else /* not USABLE_SIGIO */
-  new_interrupt_input = 0;
-#endif /* not USABLE_SIGIO */
-
-  if (new_interrupt_input != interrupt_input)
-    {
-#ifdef POLL_FOR_INPUT
-      stop_polling ();
-#endif
-#ifndef DOS_NT
-      /* this causes startup screen to be restored and messes with the mouse */
-      reset_all_sys_modes ();
-      interrupt_input = new_interrupt_input;
-      init_all_sys_modes ();
-#else
-      interrupt_input = new_interrupt_input;
-#endif
-
-#ifdef POLL_FOR_INPUT
-      poll_suppress_count = 1;
-      start_polling ();
-#endif
-    }
-  return Qnil;
-}
-
-DEFUN ("set-output-flow-control", Fset_output_flow_control, Sset_output_flow_control, 1, 2, 0,
-       doc: /* Enable or disable ^S/^Q flow control for output to TERMINAL.
-If FLOW is non-nil, flow control is enabled and you cannot use C-s or
-C-q in key sequences.
-
-This setting only has an effect on tty terminals and only when
-Emacs reads input in CBREAK mode; see `set-input-interrupt-mode'.
-
-See also `current-input-mode'.  */)
-  (Lisp_Object flow, Lisp_Object terminal)
-{
-  struct terminal *t = decode_tty_terminal (terminal);
-  struct tty_display_info *tty;
-
-  if (!t)
-    return Qnil;
-  tty = t->display_info.tty;
-
-  if (tty->flow_control != !NILP (flow))
-    {
-#ifndef DOS_NT
-      /* This causes startup screen to be restored and messes with the mouse.  */
-      reset_sys_modes (tty);
-#endif
-
-      tty->flow_control = !NILP (flow);
-
-#ifndef DOS_NT
-      init_sys_modes (tty);
-#endif
-    }
-  return Qnil;
-}
-
-DEFUN ("set-input-meta-mode", Fset_input_meta_mode, Sset_input_meta_mode, 1, 2, 0,
-       doc: /* Enable or disable 8-bit input on TERMINAL.
-If META is t, Emacs will accept 8-bit input, and interpret the 8th
-bit as the Meta modifier.
-
-If META is nil, Emacs will ignore the top bit, on the assumption it is
-parity.
-
-Otherwise, Emacs will accept and pass through 8-bit input without
-specially interpreting the top bit.
-
-This setting only has an effect on tty terminal devices.
-
-Optional parameter TERMINAL specifies the tty terminal device to use.
-It may be a terminal object, a frame, or nil for the terminal used by
-the currently selected frame.
-
-See also `current-input-mode'.  */)
-  (Lisp_Object meta, Lisp_Object terminal)
-{
-  struct terminal *t = decode_tty_terminal (terminal);
-  struct tty_display_info *tty;
-  int new_meta;
-
-  if (!t)
-    return Qnil;
-  tty = t->display_info.tty;
-
-  if (NILP (meta))
-    new_meta = 0;
-  else if (EQ (meta, Qt))
-    new_meta = 1;
-  else
-    new_meta = 2;
-
-  if (tty->meta_key != new_meta)
-    {
-#ifndef DOS_NT
-      /* this causes startup screen to be restored and messes with the mouse */
-      reset_sys_modes (tty);
-#endif
-
-      tty->meta_key = new_meta;
-
-#ifndef DOS_NT
-      init_sys_modes (tty);
-#endif
-    }
-  return Qnil;
-}
-
-DEFUN ("set-quit-char", Fset_quit_char, Sset_quit_char, 1, 1, 0,
-       doc: /* Specify character used for quitting.
-QUIT must be an ASCII character.
-
-This function only has an effect on the controlling tty of the Emacs
-process.
-
-See also `current-input-mode'.  */)
-  (Lisp_Object quit)
-{
-  struct terminal *t = get_named_terminal ("/dev/tty");
-  struct tty_display_info *tty;
-
-  if (!t)
-    return Qnil;
-  tty = t->display_info.tty;
-
-  if (NILP (quit) || !INTEGERP (quit) || XINT (quit) < 0 || XINT (quit) > 0400)
-    error ("QUIT must be an ASCII character");
-
-#ifndef DOS_NT
-  /* this causes startup screen to be restored and messes with the mouse */
-  reset_sys_modes (tty);
-#endif
-
-  /* Don't let this value be out of range.  */
-  quit_char = XINT (quit) & (tty->meta_key == 0 ? 0177 : 0377);
-
-#ifndef DOS_NT
-  init_sys_modes (tty);
-#endif
-
-  return Qnil;
-}
-
-DEFUN ("set-input-mode", Fset_input_mode, Sset_input_mode, 3, 4, 0,
-       doc: /* Set mode of reading keyboard input.
-First arg INTERRUPT non-nil means use input interrupts;
- nil means use CBREAK mode.
-Second arg FLOW non-nil means use ^S/^Q flow control for output to terminal
- (no effect except in CBREAK mode).
-Third arg META t means accept 8-bit input (for a Meta key).
- META nil means ignore the top bit, on the assumption it is parity.
- Otherwise, accept 8-bit input and don't use the top bit for Meta.
-Optional fourth arg QUIT if non-nil specifies character to use for quitting.
-See also `current-input-mode'.  */)
-  (Lisp_Object interrupt, Lisp_Object flow, Lisp_Object meta, Lisp_Object quit)
-{
-  Fset_input_interrupt_mode (interrupt);
-  Fset_output_flow_control (flow, Qnil);
-  Fset_input_meta_mode (meta, Qnil);
-  if (!NILP (quit))
-    Fset_quit_char (quit);
-  return Qnil;
-}
-
-DEFUN ("current-input-mode", Fcurrent_input_mode, Scurrent_input_mode, 0, 0, 0,
-       doc: /* Return information about the way Emacs currently reads keyboard input.
-The value is a list of the form (INTERRUPT FLOW META QUIT), where
-  INTERRUPT is non-nil if Emacs is using interrupt-driven input; if
-    nil, Emacs is using CBREAK mode.
-  FLOW is non-nil if Emacs uses ^S/^Q flow control for output to the
-    terminal; this does not apply if Emacs uses interrupt-driven input.
-  META is t if accepting 8-bit input with 8th bit as Meta flag.
-    META nil means ignoring the top bit, on the assumption it is parity.
-    META is neither t nor nil if accepting 8-bit input and using
-    all 8 bits as the character code.
-  QUIT is the character Emacs currently uses to quit.
-The elements of this list correspond to the arguments of
-`set-input-mode'.  */)
-  (void)
-{
-  struct frame *sf = XFRAME (selected_frame);
-
-  Lisp_Object interrupt = interrupt_input ? Qt : Qnil;
-  Lisp_Object flow, meta;
-  if (FRAME_TERMCAP_P (sf) || FRAME_MSDOS_P (sf))
-    {
-      flow = FRAME_TTY (sf)->flow_control ? Qt : Qnil;
-      meta = (FRAME_TTY (sf)->meta_key == 2
-             ? make_number (0)
-             : (CURTTY ()->meta_key == 1 ? Qt : Qnil));
-    }
-  else
-    {
-      flow = Qnil;
-      meta = Qt;
-    }
-  Lisp_Object quit = make_number (quit_char);
-
-  return list4 (interrupt, flow, meta, quit);
-}
-
-DEFUN ("posn-at-x-y", Fposn_at_x_y, Sposn_at_x_y, 2, 4, 0,
-       doc: /* Return position information for pixel coordinates X and Y.
-By default, X and Y are relative to text area of the selected window.
-Optional third arg FRAME-OR-WINDOW non-nil specifies frame or window.
-If optional fourth arg WHOLE is non-nil, X is relative to the left
-edge of the window.
-
-The return value is similar to a mouse click position:
-   (WINDOW AREA-OR-POS (X . Y) TIMESTAMP OBJECT POS (COL . ROW)
-    IMAGE (DX . DY) (WIDTH . HEIGHT))
-The `posn-' functions access elements of such lists.  */)
-  (Lisp_Object x, Lisp_Object y, Lisp_Object frame_or_window, Lisp_Object whole)
-{
-  CHECK_NATNUM (x);
-  CHECK_NATNUM (y);
-
-  if (NILP (frame_or_window))
-    frame_or_window = selected_window;
-
-  if (WINDOWP (frame_or_window))
-    {
-      struct window *w = decode_live_window (frame_or_window);
-
-      XSETINT (x, (XINT (x)
-                  + WINDOW_LEFT_EDGE_X (w)
-                  + (NILP (whole)
-                     ? window_box_left_offset (w, TEXT_AREA)
-                     : 0)));
-      XSETINT (y, WINDOW_TO_FRAME_PIXEL_Y (w, XINT (y)));
-      frame_or_window = w->frame;
-    }
-
-  CHECK_LIVE_FRAME (frame_or_window);
-
-  return make_lispy_position (XFRAME (frame_or_window), x, y, 0);
-}
-
-DEFUN ("posn-at-point", Fposn_at_point, Sposn_at_point, 0, 2, 0,
-       doc: /* Return position information for buffer POS in WINDOW.
-POS defaults to point in WINDOW; WINDOW defaults to the selected window.
-
-Return nil if position is not visible in window.  Otherwise,
-the return value is similar to that returned by `event-start' for
-a mouse click at the upper left corner of the glyph corresponding
-to the given buffer position:
-   (WINDOW AREA-OR-POS (X . Y) TIMESTAMP OBJECT POS (COL . ROW)
-    IMAGE (DX . DY) (WIDTH . HEIGHT))
-The `posn-' functions access elements of such lists.  */)
-  (Lisp_Object pos, Lisp_Object window)
-{
-  Lisp_Object tem;
-
-  if (NILP (window))
-    window = selected_window;
-
-  tem = Fpos_visible_in_window_p (pos, window, Qt);
-  if (!NILP (tem))
-    {
-      Lisp_Object x = XCAR (tem);
-      Lisp_Object y = XCAR (XCDR (tem));
-
-      /* Point invisible due to hscrolling?  */
-      if (XINT (x) < 0)
-       return Qnil;
-      tem = Fposn_at_x_y (x, y, window, Qnil);
-    }
-
-  return tem;
-}
-
-/* Set up a new kboard object with reasonable initial values.
-   TYPE is a window system for which this keyboard is used.  */
-
-static void
-init_kboard (KBOARD *kb, Lisp_Object type)
-{
-  kset_overriding_terminal_local_map (kb, Qnil);
-  kset_last_command (kb, Qnil);
-  kset_real_last_command (kb, Qnil);
-  kset_keyboard_translate_table (kb, Qnil);
-  kset_last_repeatable_command (kb, Qnil);
-  kset_prefix_arg (kb, Qnil);
-  kset_last_prefix_arg (kb, Qnil);
-  kset_kbd_queue (kb, Qnil);
-  kb->kbd_queue_has_data = 0;
-  kb->immediate_echo = 0;
-  kset_echo_string (kb, Qnil);
-  kb->echo_after_prompt = -1;
-  kb->kbd_macro_buffer = 0;
-  kb->kbd_macro_bufsize = 0;
-  kset_defining_kbd_macro (kb, Qnil);
-  kset_last_kbd_macro (kb, Qnil);
-  kb->reference_count = 0;
-  kset_system_key_alist (kb, Qnil);
-  kset_system_key_syms (kb, Qnil);
-  kset_window_system (kb, type);
-  kset_input_decode_map (kb, Fmake_sparse_keymap (Qnil));
-  kset_local_function_key_map (kb, Fmake_sparse_keymap (Qnil));
-  Fset_keymap_parent (KVAR (kb, Vlocal_function_key_map), Vfunction_key_map);
-  kset_default_minibuffer_frame (kb, Qnil);
-}
-
-/* Allocate and basically initialize keyboard
-   object to use with window system TYPE.  */
-
-KBOARD *
-allocate_kboard (Lisp_Object type)
-{
-  KBOARD *kb = xmalloc (sizeof *kb);
-
-  init_kboard (kb, type);
-  kb->next_kboard = all_kboards;
-  all_kboards = kb;
-  return kb;
-}
-
-/*
- * Destroy the contents of a kboard object, but not the object itself.
- * We use this just before deleting it, or if we're going to initialize
- * it a second time.
- */
-static void
-wipe_kboard (KBOARD *kb)
-{
-  xfree (kb->kbd_macro_buffer);
-}
-
-/* Free KB and memory referenced from it.  */
-
-void
-delete_kboard (KBOARD *kb)
-{
-  KBOARD **kbp;
-
-  for (kbp = &all_kboards; *kbp != kb; kbp = &(*kbp)->next_kboard)
-    if (*kbp == NULL)
-      emacs_abort ();
-  *kbp = kb->next_kboard;
-
-  /* Prevent a dangling reference to KB.  */
-  if (kb == current_kboard
-      && FRAMEP (selected_frame)
-      && FRAME_LIVE_P (XFRAME (selected_frame)))
-    {
-      current_kboard = FRAME_KBOARD (XFRAME (selected_frame));
-      single_kboard = 0;
-      if (current_kboard == kb)
-       emacs_abort ();
-    }
-
-  wipe_kboard (kb);
-  xfree (kb);
-}
-
-void
-init_keyboard (void)
-{
-  /* This is correct before outermost invocation of the editor loop.  */
-  command_loop_level = -1;
-  immediate_quit = 0;
-  quit_char = Ctl ('g');
-  Vunread_command_events = Qnil;
-  timer_idleness_start_time = invalid_timespec ();
-  total_keys = 0;
-  recent_keys_index = 0;
-  kbd_fetch_ptr = kbd_buffer;
-  kbd_store_ptr = kbd_buffer;
-  do_mouse_tracking = Qnil;
-  input_pending = 0;
-  interrupt_input_blocked = 0;
-  pending_signals = 0;
-
-  /* This means that command_loop_1 won't try to select anything the first
-     time through.  */
-  internal_last_event_frame = Qnil;
-  Vlast_event_frame = internal_last_event_frame;
-
-  current_kboard = initial_kboard;
-  /* Re-initialize the keyboard again.  */
-  wipe_kboard (current_kboard);
-  /* A value of nil for Vwindow_system normally means a tty, but we also use
-     it for the initial terminal since there is no window system there.  */
-  init_kboard (current_kboard, Qnil);
-
-  if (!noninteractive)
-    {
-      /* Before multi-tty support, these handlers used to be installed
-         only if the current session was a tty session.  Now an Emacs
-         session may have multiple display types, so we always handle
-         SIGINT.  There is special code in handle_interrupt_signal to exit
-         Emacs on SIGINT when there are no termcap frames on the
-         controlling terminal.  */
-      struct sigaction action;
-      emacs_sigaction_init (&action, deliver_interrupt_signal);
-      sigaction (SIGINT, &action, 0);
-#ifndef DOS_NT
-      /* For systems with SysV TERMIO, C-g is set up for both SIGINT and
-        SIGQUIT and we can't tell which one it will give us.  */
-      sigaction (SIGQUIT, &action, 0);
-#endif /* not DOS_NT */
-    }
-#ifdef USABLE_SIGIO
-  if (!noninteractive)
-    {
-      struct sigaction action;
-      emacs_sigaction_init (&action, deliver_input_available_signal);
-      sigaction (SIGIO, &action, 0);
-    }
-#endif
-
-/* Use interrupt input by default, if it works and noninterrupt input
-   has deficiencies.  */
-
-#ifdef INTERRUPT_INPUT
-  interrupt_input = 1;
-#else
-  interrupt_input = 0;
-#endif
-
-  pthread_sigmask (SIG_SETMASK, &empty_mask, 0);
-  dribble = 0;
-
-  if (keyboard_init_hook)
-    (*keyboard_init_hook) ();
-
-#ifdef POLL_FOR_INPUT
-  poll_timer = NULL;
-  poll_suppress_count = 1;
-  start_polling ();
-#endif
-}
-
-/* This type's only use is in syms_of_keyboard, to put properties on the
-   event header symbols.  */
-struct event_head
-{
-  short var;
-  short kind;
-};
-
-static const struct event_head head_table[] = {
-  {SYMBOL_INDEX (Qmouse_movement),      SYMBOL_INDEX (Qmouse_movement)},
-  {SYMBOL_INDEX (Qscroll_bar_movement), SYMBOL_INDEX (Qmouse_movement)},
-
-  /* Some of the event heads.  */
-  {SYMBOL_INDEX (Qswitch_frame),        SYMBOL_INDEX (Qswitch_frame)},
-
-  {SYMBOL_INDEX (Qfocus_in),            SYMBOL_INDEX (Qfocus_in)},
-  {SYMBOL_INDEX (Qfocus_out),           SYMBOL_INDEX (Qfocus_out)},
-  {SYMBOL_INDEX (Qdelete_frame),        SYMBOL_INDEX (Qdelete_frame)},
-  {SYMBOL_INDEX (Qiconify_frame),       SYMBOL_INDEX (Qiconify_frame)},
-  {SYMBOL_INDEX (Qmake_frame_visible),  SYMBOL_INDEX (Qmake_frame_visible)},
-  /* `select-window' should be handled just like `switch-frame'
-     in read_key_sequence.  */
-  {SYMBOL_INDEX (Qselect_window),       SYMBOL_INDEX (Qswitch_frame)}
-};
-
-void
-syms_of_keyboard (void)
-{
-  pending_funcalls = Qnil;
-  staticpro (&pending_funcalls);
-
-  Vlispy_mouse_stem = build_pure_c_string ("mouse");
-  staticpro (&Vlispy_mouse_stem);
-
-  regular_top_level_message = build_pure_c_string ("Back to top level");
-#ifdef HAVE_STACK_OVERFLOW_HANDLING
-  recover_top_level_message
-    = build_pure_c_string ("Re-entering top level after C stack overflow");
-#endif
-  DEFVAR_LISP ("internal--top-level-message", Vinternal__top_level_message,
-              doc: /* Message displayed by `normal-top-level'.  */);
-  Vinternal__top_level_message = regular_top_level_message;
-
-  /* Tool-bars.  */
-  DEFSYM (QCimage, ":image");
-  DEFSYM (Qhelp_echo, "help-echo");
-  DEFSYM (QCrtl, ":rtl");
-
-  staticpro (&item_properties);
-  item_properties = Qnil;
-
-  staticpro (&tool_bar_item_properties);
-  tool_bar_item_properties = Qnil;
-  staticpro (&tool_bar_items_vector);
-  tool_bar_items_vector = Qnil;
-
-  DEFSYM (Qtimer_event_handler, "timer-event-handler");
-  DEFSYM (Qdisabled_command_function, "disabled-command-function");
-  DEFSYM (Qself_insert_command, "self-insert-command");
-  DEFSYM (Qforward_char, "forward-char");
-  DEFSYM (Qbackward_char, "backward-char");
-
-  /* Non-nil disable property on a command means do not execute it;
-     call disabled-command-function's value instead.  */
-  DEFSYM (Qdisabled, "disabled");
-
-  DEFSYM (Qundefined, "undefined");
-
-  /* Hooks to run before and after each command.  */
-  DEFSYM (Qpre_command_hook, "pre-command-hook");
-  DEFSYM (Qpost_command_hook, "post-command-hook");
-
-  DEFSYM (Qdeferred_action_function, "deferred-action-function");
-  DEFSYM (Qdelayed_warnings_hook, "delayed-warnings-hook");
-  DEFSYM (Qfunction_key, "function-key");
-
-  /* The values of Qevent_kind properties.  */
-  DEFSYM (Qmouse_click, "mouse-click");
-
-  DEFSYM (Qdrag_n_drop, "drag-n-drop");
-  DEFSYM (Qsave_session, "save-session");
-  DEFSYM (Qconfig_changed_event, "config-changed-event");
-
-  /* Menu and tool bar item parts.  */
-  DEFSYM (Qmenu_enable, "menu-enable");
-
-#ifdef HAVE_NTGUI
-  DEFSYM (Qlanguage_change, "language-change");
-#endif
-
-#ifdef HAVE_DBUS
-  DEFSYM (Qdbus_event, "dbus-event");
-#endif
-
-#ifdef USE_FILE_NOTIFY
-  DEFSYM (Qfile_notify, "file-notify");
-#endif /* USE_FILE_NOTIFY */
-
-  /* Menu and tool bar item parts.  */
-  DEFSYM (QCenable, ":enable");
-  DEFSYM (QCvisible, ":visible");
-  DEFSYM (QChelp, ":help");
-  DEFSYM (QCfilter, ":filter");
-  DEFSYM (QCbutton, ":button");
-  DEFSYM (QCkeys, ":keys");
-  DEFSYM (QCkey_sequence, ":key-sequence");
-
-  /* Non-nil disable property on a command means
-     do not execute it; call disabled-command-function's value instead.  */
-  DEFSYM (QCtoggle, ":toggle");
-  DEFSYM (QCradio, ":radio");
-  DEFSYM (QClabel, ":label");
-  DEFSYM (QCvert_only, ":vert-only");
-
-  /* Symbols to use for parts of windows.  */
-  DEFSYM (Qvertical_line, "vertical-line");
-  DEFSYM (Qright_divider, "right-divider");
-  DEFSYM (Qbottom_divider, "bottom-divider");
-
-  DEFSYM (Qmouse_fixup_help_message, "mouse-fixup-help-message");
-
-  DEFSYM (Qabove_handle, "above-handle");
-  DEFSYM (Qhandle, "handle");
-  DEFSYM (Qbelow_handle, "below-handle");
-  DEFSYM (Qup, "up");
-  DEFSYM (Qdown, "down");
-  DEFSYM (Qtop, "top");
-  DEFSYM (Qbottom, "bottom");
-  DEFSYM (Qend_scroll, "end-scroll");
-  DEFSYM (Qratio, "ratio");
-  DEFSYM (Qbefore_handle, "before-handle");
-  DEFSYM (Qhorizontal_handle, "horizontal-handle");
-  DEFSYM (Qafter_handle, "after-handle");
-  DEFSYM (Qleft, "left");
-  DEFSYM (Qright, "right");
-  DEFSYM (Qleftmost, "leftmost");
-  DEFSYM (Qrightmost, "rightmost");
-
-  /* Properties of event headers.  */
-  DEFSYM (Qevent_kind, "event-kind");
-  DEFSYM (Qevent_symbol_elements, "event-symbol-elements");
-
-  /* An event header symbol HEAD may have a property named
-     Qevent_symbol_element_mask, which is of the form (BASE MODIFIERS);
-     BASE is the base, unmodified version of HEAD, and MODIFIERS is the
-     mask of modifiers applied to it.  If present, this is used to help
-     speed up parse_modifiers.  */
-  DEFSYM (Qevent_symbol_element_mask, "event-symbol-element-mask");
-
-  /* An unmodified event header BASE may have a property named
-     Qmodifier_cache, which is an alist mapping modifier masks onto
-     modified versions of BASE.  If present, this helps speed up
-     apply_modifiers.  */
-  DEFSYM (Qmodifier_cache, "modifier-cache");
-
-  DEFSYM (Qrecompute_lucid_menubar, "recompute-lucid-menubar");
-  DEFSYM (Qactivate_menubar_hook, "activate-menubar-hook");
-
-  DEFSYM (Qpolling_period, "polling-period");
-
-  DEFSYM (Qgui_set_selection, "gui-set-selection");
-
-  /* The primary selection.  */
-  DEFSYM (QPRIMARY, "PRIMARY");
-
-  DEFSYM (Qhandle_switch_frame, "handle-switch-frame");
-  DEFSYM (Qhandle_select_window, "handle-select-window");
-
-  DEFSYM (Qinput_method_function, "input-method-function");
-  DEFSYM (Qinput_method_exit_on_first_char, "input-method-exit-on-first-char");
-  DEFSYM (Qinput_method_use_echo_area, "input-method-use-echo-area");
-
-  DEFSYM (Qhelp_form_show, "help-form-show");
-
-  DEFSYM (Qecho_keystrokes, "echo-keystrokes");
-
-  Fset (Qinput_method_exit_on_first_char, Qnil);
-  Fset (Qinput_method_use_echo_area, Qnil);
-
-  /* Symbols to head events.  */
-  DEFSYM (Qmouse_movement, "mouse-movement");
-  DEFSYM (Qscroll_bar_movement, "scroll-bar-movement");
-  DEFSYM (Qswitch_frame, "switch-frame");
-  DEFSYM (Qfocus_in, "focus-in");
-  DEFSYM (Qfocus_out, "focus-out");
-  DEFSYM (Qdelete_frame, "delete-frame");
-  DEFSYM (Qiconify_frame, "iconify-frame");
-  DEFSYM (Qmake_frame_visible, "make-frame-visible");
-  DEFSYM (Qselect_window, "select-window");
-  {
-    int i;
-
-    for (i = 0; i < ARRAYELTS (head_table); i++)
-      {
-       const struct event_head *p = &head_table[i];
-       Lisp_Object var = builtin_lisp_symbol (p->var);
-       Lisp_Object kind = builtin_lisp_symbol (p->kind);
-       Fput (var, Qevent_kind, kind);
-       Fput (var, Qevent_symbol_elements, list1 (var));
-      }
-  }
-
-  button_down_location = Fmake_vector (make_number (5), Qnil);
-  staticpro (&button_down_location);
-  mouse_syms = Fmake_vector (make_number (5), Qnil);
-  staticpro (&mouse_syms);
-  wheel_syms = Fmake_vector (make_number (ARRAYELTS (lispy_wheel_names)),
-                            Qnil);
-  staticpro (&wheel_syms);
-
-  {
-    int i;
-    int len = ARRAYELTS (modifier_names);
-
-    modifier_symbols = Fmake_vector (make_number (len), Qnil);
-    for (i = 0; i < len; i++)
-      if (modifier_names[i])
-       ASET (modifier_symbols, i, intern_c_string (modifier_names[i]));
-    staticpro (&modifier_symbols);
-  }
-
-  recent_keys = Fmake_vector (make_number (NUM_RECENT_KEYS), Qnil);
-  staticpro (&recent_keys);
-
-  this_command_keys = Fmake_vector (make_number (40), Qnil);
-  staticpro (&this_command_keys);
-
-  raw_keybuf = Fmake_vector (make_number (30), Qnil);
-  staticpro (&raw_keybuf);
-
-  DEFSYM (Qcommand_execute, "command-execute");
-
-  accent_key_syms = Qnil;
-  staticpro (&accent_key_syms);
-
-  func_key_syms = Qnil;
-  staticpro (&func_key_syms);
-
-  drag_n_drop_syms = Qnil;
-  staticpro (&drag_n_drop_syms);
-
-  unread_switch_frame = Qnil;
-  staticpro (&unread_switch_frame);
-
-  internal_last_event_frame = Qnil;
-  staticpro (&internal_last_event_frame);
-
-  read_key_sequence_cmd = Qnil;
-  staticpro (&read_key_sequence_cmd);
-  read_key_sequence_remapped = Qnil;
-  staticpro (&read_key_sequence_remapped);
-
-  menu_bar_one_keymap_changed_items = Qnil;
-  staticpro (&menu_bar_one_keymap_changed_items);
-
-  menu_bar_items_vector = Qnil;
-  staticpro (&menu_bar_items_vector);
-
-  help_form_saved_window_configs = Qnil;
-  staticpro (&help_form_saved_window_configs);
-
-  defsubr (&Scurrent_idle_time);
-  defsubr (&Sevent_symbol_parse_modifiers);
-  defsubr (&Sevent_convert_list);
-  defsubr (&Sread_key_sequence);
-  defsubr (&Sread_key_sequence_vector);
-  defsubr (&Srecursive_edit);
-  defsubr (&Strack_mouse);
-  defsubr (&Sinput_pending_p);
-  defsubr (&Srecent_keys);
-  defsubr (&Sthis_command_keys);
-  defsubr (&Sthis_command_keys_vector);
-  defsubr (&Sthis_single_command_keys);
-  defsubr (&Sthis_single_command_raw_keys);
-  defsubr (&Sreset_this_command_lengths);
-  defsubr (&Sclear_this_command_keys);
-  defsubr (&Ssuspend_emacs);
-  defsubr (&Sabort_recursive_edit);
-  defsubr (&Sexit_recursive_edit);
-  defsubr (&Srecursion_depth);
-  defsubr (&Scommand_error_default_function);
-  defsubr (&Stop_level);
-  defsubr (&Sdiscard_input);
-  defsubr (&Sopen_dribble_file);
-  defsubr (&Sset_input_interrupt_mode);
-  defsubr (&Sset_output_flow_control);
-  defsubr (&Sset_input_meta_mode);
-  defsubr (&Sset_quit_char);
-  defsubr (&Sset_input_mode);
-  defsubr (&Scurrent_input_mode);
-  defsubr (&Sposn_at_point);
-  defsubr (&Sposn_at_x_y);
-
-  DEFVAR_LISP ("last-command-event", last_command_event,
-                    doc: /* Last input event that was part of a command.  */);
-
-  DEFVAR_LISP ("last-nonmenu-event", last_nonmenu_event,
-              doc: /* Last input event in a command, except for mouse menu events.
-Mouse menus give back keys that don't look like mouse events;
-this variable holds the actual mouse event that led to the menu,
-so that you can determine whether the command was run by mouse or not.  */);
-
-  DEFVAR_LISP ("last-input-event", last_input_event,
-              doc: /* Last input event.  */);
-
-  DEFVAR_LISP ("unread-command-events", Vunread_command_events,
-              doc: /* List of events to be read as the command input.
-These events are processed first, before actual keyboard input.
-Events read from this list are not normally added to `this-command-keys',
-as they will already have been added once as they were read for the first time.
-An element of the form (t . EVENT) forces EVENT to be added to that list.  */);
-  Vunread_command_events = Qnil;
-
-  DEFVAR_LISP ("unread-post-input-method-events", Vunread_post_input_method_events,
-              doc: /* List of events to be processed as input by input methods.
-These events are processed before `unread-command-events'
-and actual keyboard input, but are not given to `input-method-function'.  */);
-  Vunread_post_input_method_events = Qnil;
-
-  DEFVAR_LISP ("unread-input-method-events", Vunread_input_method_events,
-              doc: /* List of events to be processed as input by input methods.
-These events are processed after `unread-command-events', but
-before actual keyboard input.
-If there's an active input method, the events are given to
-`input-method-function'.  */);
-  Vunread_input_method_events = Qnil;
-
-  DEFVAR_LISP ("meta-prefix-char", meta_prefix_char,
-              doc: /* Meta-prefix character code.
-Meta-foo as command input turns into this character followed by foo.  */);
-  XSETINT (meta_prefix_char, 033);
-
-  DEFVAR_KBOARD ("last-command", Vlast_command,
-                doc: /* The last command executed.
-Normally a symbol with a function definition, but can be whatever was found
-in the keymap, or whatever the variable `this-command' was set to by that
-command.
-
-The value `mode-exit' is special; it means that the previous command
-read an event that told it to exit, and it did so and unread that event.
-In other words, the present command is the event that made the previous
-command exit.
-
-The value `kill-region' is special; it means that the previous command
-was a kill command.
-
-`last-command' has a separate binding for each terminal device.
-See Info node `(elisp)Multiple Terminals'.  */);
-
-  DEFVAR_KBOARD ("real-last-command", Vreal_last_command,
-                doc: /* Same as `last-command', but never altered by Lisp code.
-Taken from the previous value of `real-this-command'.  */);
-
-  DEFVAR_KBOARD ("last-repeatable-command", Vlast_repeatable_command,
-                doc: /* Last command that may be repeated.
-The last command executed that was not bound to an input event.
-This is the command `repeat' will try to repeat.
-Taken from a previous value of `real-this-command'.  */);
-
-  DEFVAR_LISP ("this-command", Vthis_command,
-              doc: /* The command now being executed.
-The command can set this variable; whatever is put here
-will be in `last-command' during the following command.  */);
-  Vthis_command = Qnil;
-
-  DEFVAR_LISP ("real-this-command", Vreal_this_command,
-              doc: /* This is like `this-command', except that commands should never modify it.  */);
-  Vreal_this_command = Qnil;
-
-  DEFVAR_LISP ("this-command-keys-shift-translated",
-              Vthis_command_keys_shift_translated,
-              doc: /* Non-nil if the key sequence activating this command was shift-translated.
-Shift-translation occurs when there is no binding for the key sequence
-as entered, but a binding was found by changing an upper-case letter
-to lower-case, or a shifted function key to an unshifted one.  */);
-  Vthis_command_keys_shift_translated = Qnil;
-
-  DEFVAR_LISP ("this-original-command", Vthis_original_command,
-              doc: /* The command bound to the current key sequence before remapping.
-It equals `this-command' if the original command was not remapped through
-any of the active keymaps.  Otherwise, the value of `this-command' is the
-result of looking up the original command in the active keymaps.  */);
-  Vthis_original_command = Qnil;
-
-  DEFVAR_INT ("auto-save-interval", auto_save_interval,
-             doc: /* Number of input events between auto-saves.
-Zero means disable autosaving due to number of characters typed.  */);
-  auto_save_interval = 300;
-
-  DEFVAR_LISP ("auto-save-timeout", Vauto_save_timeout,
-              doc: /* Number of seconds idle time before auto-save.
-Zero or nil means disable auto-saving due to idleness.
-After auto-saving due to this many seconds of idle time,
-Emacs also does a garbage collection if that seems to be warranted.  */);
-  XSETFASTINT (Vauto_save_timeout, 30);
-
-  DEFVAR_LISP ("echo-keystrokes", Vecho_keystrokes,
-              doc: /* Nonzero means echo unfinished commands after this many seconds of pause.
-The value may be integer or floating point.
-If the value is zero, don't echo at all.  */);
-  Vecho_keystrokes = make_number (1);
-
-  DEFVAR_INT ("polling-period", polling_period,
-             doc: /* Interval between polling for input during Lisp execution.
-The reason for polling is to make C-g work to stop a running program.
-Polling is needed only when using X windows and SIGIO does not work.
-Polling is automatically disabled in all other cases.  */);
-  polling_period = 2;
-
-  DEFVAR_LISP ("double-click-time", Vdouble_click_time,
-              doc: /* Maximum time between mouse clicks to make a double-click.
-Measured in milliseconds.  The value nil means disable double-click
-recognition; t means double-clicks have no time limit and are detected
-by position only.  */);
-  Vdouble_click_time = make_number (500);
-
-  DEFVAR_INT ("double-click-fuzz", double_click_fuzz,
-             doc: /* Maximum mouse movement between clicks to make a double-click.
-On window-system frames, value is the number of pixels the mouse may have
-moved horizontally or vertically between two clicks to make a double-click.
-On non window-system frames, value is interpreted in units of 1/8 characters
-instead of pixels.
-
-This variable is also the threshold for motion of the mouse
-to count as a drag.  */);
-  double_click_fuzz = 3;
-
-  DEFVAR_INT ("num-input-keys", num_input_keys,
-             doc: /* Number of complete key sequences read as input so far.
-This includes key sequences read from keyboard macros.
-The number is effectively the number of interactive command invocations.  */);
-  num_input_keys = 0;
-
-  DEFVAR_INT ("num-nonmacro-input-events", num_nonmacro_input_events,
-             doc: /* Number of input events read from the keyboard so far.
-This does not include events generated by keyboard macros.  */);
-  num_nonmacro_input_events = 0;
-
-  DEFVAR_LISP ("last-event-frame", Vlast_event_frame,
-              doc: /* The frame in which the most recently read event occurred.
-If the last event came from a keyboard macro, this is set to `macro'.  */);
-  Vlast_event_frame = Qnil;
-
-  /* This variable is set up in sysdep.c.  */
-  DEFVAR_LISP ("tty-erase-char", Vtty_erase_char,
-              doc: /* The ERASE character as set by the user with stty.  */);
-
-  DEFVAR_LISP ("help-char", Vhelp_char,
-              doc: /* Character to recognize as meaning Help.
-When it is read, do `(eval help-form)', and display result if it's a string.
-If the value of `help-form' is nil, this char can be read normally.  */);
-  XSETINT (Vhelp_char, Ctl ('H'));
-
-  DEFVAR_LISP ("help-event-list", Vhelp_event_list,
-              doc: /* List of input events to recognize as meaning Help.
-These work just like the value of `help-char' (see that).  */);
-  Vhelp_event_list = Qnil;
-
-  DEFVAR_LISP ("help-form", Vhelp_form,
-              doc: /* Form to execute when character `help-char' is read.
-If the form returns a string, that string is displayed.
-If `help-form' is nil, the help char is not recognized.  */);
-  Vhelp_form = Qnil;
-
-  DEFVAR_LISP ("prefix-help-command", Vprefix_help_command,
-              doc: /* Command to run when `help-char' character follows a prefix key.
-This command is used only when there is no actual binding
-for that character after that prefix key.  */);
-  Vprefix_help_command = Qnil;
-
-  DEFVAR_LISP ("top-level", Vtop_level,
-              doc: /* Form to evaluate when Emacs starts up.
-Useful to set before you dump a modified Emacs.  */);
-  Vtop_level = Qnil;
-  XSYMBOL (Qtop_level)->declared_special = false;
-
-  DEFVAR_KBOARD ("keyboard-translate-table", Vkeyboard_translate_table,
-                 doc: /* Translate table for local keyboard input, or nil.
-If non-nil, the value should be a char-table.  Each character read
-from the keyboard is looked up in this char-table.  If the value found
-there is non-nil, then it is used instead of the actual input character.
-
-The value can also be a string or vector, but this is considered obsolete.
-If it is a string or vector of length N, character codes N and up are left
-untranslated.  In a vector, an element which is nil means "no translation".
-
-This is applied to the characters supplied to input methods, not their
-output.  See also `translation-table-for-input'.
-
-This variable has a separate binding for each terminal.
-See Info node `(elisp)Multiple Terminals'.  */);
-
-  DEFVAR_BOOL ("cannot-suspend", cannot_suspend,
-              doc: /* Non-nil means to always spawn a subshell instead of suspending.
-\(Even if the operating system has support for stopping a process.\)  */);
-  cannot_suspend = 0;
-
-  DEFVAR_BOOL ("menu-prompting", menu_prompting,
-              doc: /* Non-nil means prompt with menus when appropriate.
-This is done when reading from a keymap that has a prompt string,
-for elements that have prompt strings.
-The menu is displayed on the screen
-if X menus were enabled at configuration
-time and the previous event was a mouse click prefix key.
-Otherwise, menu prompting uses the echo area.  */);
-  menu_prompting = 1;
-
-  DEFVAR_LISP ("menu-prompt-more-char", menu_prompt_more_char,
-              doc: /* Character to see next line of menu prompt.
-Type this character while in a menu prompt to rotate around the lines of it.  */);
-  XSETINT (menu_prompt_more_char, ' ');
-
-  DEFVAR_INT ("extra-keyboard-modifiers", extra_keyboard_modifiers,
-             doc: /* A mask of additional modifier keys to use with every keyboard character.
-Emacs applies the modifiers of the character stored here to each keyboard
-character it reads.  For example, after evaluating the expression
-    (setq extra-keyboard-modifiers ?\\C-x)
-all input characters will have the control modifier applied to them.
-
-Note that the character ?\\C-@, equivalent to the integer zero, does
-not count as a control character; rather, it counts as a character
-with no modifiers; thus, setting `extra-keyboard-modifiers' to zero
-cancels any modification.  */);
-  extra_keyboard_modifiers = 0;
-
-  DEFSYM (Qdeactivate_mark, "deactivate-mark");
-  DEFVAR_LISP ("deactivate-mark", Vdeactivate_mark,
-              doc: /* If an editing command sets this to t, deactivate the mark afterward.
-The command loop sets this to nil before each command,
-and tests the value when the command returns.
-Buffer modification stores t in this variable.  */);
-  Vdeactivate_mark = Qnil;
-  Fmake_variable_buffer_local (Qdeactivate_mark);
-
-  DEFVAR_LISP ("pre-command-hook", Vpre_command_hook,
-              doc: /* Normal hook run before each command is executed.
-If an unhandled error happens in running this hook,
-the function in which the error occurred is unconditionally removed, since
-otherwise the error might happen repeatedly and make Emacs nonfunctional.  */);
-  Vpre_command_hook = Qnil;
-
-  DEFVAR_LISP ("post-command-hook", Vpost_command_hook,
-              doc: /* Normal hook run after each command is executed.
-If an unhandled error happens in running this hook,
-the function in which the error occurred is unconditionally removed, since
-otherwise the error might happen repeatedly and make Emacs nonfunctional.  */);
-  Vpost_command_hook = Qnil;
-
-#if 0
-  DEFVAR_LISP ("echo-area-clear-hook", ...,
-              doc: /* Normal hook run when clearing the echo area.  */);
-#endif
-  DEFSYM (Qecho_area_clear_hook, "echo-area-clear-hook");
-  Fset (Qecho_area_clear_hook, Qnil);
-
-  DEFVAR_LISP ("lucid-menu-bar-dirty-flag", Vlucid_menu_bar_dirty_flag,
-              doc: /* Non-nil means menu bar, specified Lucid style, needs to be recomputed.  */);
-  Vlucid_menu_bar_dirty_flag = Qnil;
-
-  DEFVAR_LISP ("menu-bar-final-items", Vmenu_bar_final_items,
-              doc: /* List of menu bar items to move to the end of the menu bar.
-The elements of the list are event types that may have menu bar bindings.  */);
-  Vmenu_bar_final_items = Qnil;
-
-  DEFVAR_LISP ("tool-bar-separator-image-expression", Vtool_bar_separator_image_expression,
-    doc: /* Expression evaluating to the image spec for a tool-bar separator.
-This is used internally by graphical displays that do not render
-tool-bar separators natively.  Otherwise it is unused (e.g. on GTK).  */);
-  Vtool_bar_separator_image_expression = Qnil;
-
-  DEFVAR_KBOARD ("overriding-terminal-local-map",
-                Voverriding_terminal_local_map,
-                doc: /* Per-terminal keymap that takes precedence over all other keymaps.
-This variable is intended to let commands such as `universal-argument'
-set up a different keymap for reading the next command.
-
-`overriding-terminal-local-map' has a separate binding for each
-terminal device.  See Info node `(elisp)Multiple Terminals'.  */);
-
-  DEFVAR_LISP ("overriding-local-map", Voverriding_local_map,
-              doc: /* Keymap that replaces (overrides) local keymaps.
-If this variable is non-nil, Emacs looks up key bindings in this
-keymap INSTEAD OF the keymap char property, minor mode maps, and the
-buffer's local map.  Hence, the only active keymaps would be
-`overriding-terminal-local-map', this keymap, and `global-keymap', in
-order of precedence.  */);
-  Voverriding_local_map = Qnil;
-
-  DEFVAR_LISP ("overriding-local-map-menu-flag", Voverriding_local_map_menu_flag,
-              doc: /* Non-nil means `overriding-local-map' applies to the menu bar.
-Otherwise, the menu bar continues to reflect the buffer's local map
-and the minor mode maps regardless of `overriding-local-map'.  */);
-  Voverriding_local_map_menu_flag = Qnil;
-
-  DEFVAR_LISP ("special-event-map", Vspecial_event_map,
-              doc: /* Keymap defining bindings for special events to execute at low level.  */);
-  Vspecial_event_map = list1 (Qkeymap);
-
-  DEFVAR_LISP ("track-mouse", do_mouse_tracking,
-              doc: /* Non-nil means generate motion events for mouse motion.  */);
-
-  DEFVAR_KBOARD ("system-key-alist", Vsystem_key_alist,
-                doc: /* Alist of system-specific X windows key symbols.
-Each element should have the form (N . SYMBOL) where N is the
-numeric keysym code (sans the \"system-specific\" bit 1<<28)
-and SYMBOL is its name.
-
-`system-key-alist' has a separate binding for each terminal device.
-See Info node `(elisp)Multiple Terminals'.  */);
-
-  DEFVAR_KBOARD ("local-function-key-map", Vlocal_function_key_map,
-                 doc: /* Keymap that translates key sequences to key sequences during input.
-This is used mainly for mapping key sequences into some preferred
-key events (symbols).
-
-The `read-key-sequence' function replaces any subsequence bound by
-`local-function-key-map' with its binding.  More precisely, when the
-active keymaps have no binding for the current key sequence but
-`local-function-key-map' binds a suffix of the sequence to a vector or
-string, `read-key-sequence' replaces the matching suffix with its
-binding, and continues with the new sequence.
-
-If the binding is a function, it is called with one argument (the prompt)
-and its return value (a key sequence) is used.
-
-The events that come from bindings in `local-function-key-map' are not
-themselves looked up in `local-function-key-map'.
-
-For example, suppose `local-function-key-map' binds `ESC O P' to [f1].
-Typing `ESC O P' to `read-key-sequence' would return [f1].  Typing
-`C-x ESC O P' would return [?\\C-x f1].  If [f1] were a prefix key,
-typing `ESC O P x' would return [f1 x].
-
-`local-function-key-map' has a separate binding for each terminal
-device.  See Info node `(elisp)Multiple Terminals'.  If you need to
-define a binding on all terminals, change `function-key-map'
-instead.  Initially, `local-function-key-map' is an empty keymap that
-has `function-key-map' as its parent on all terminal devices.  */);
-
-  DEFVAR_KBOARD ("input-decode-map", Vinput_decode_map,
-                doc: /* Keymap that decodes input escape sequences.
-This is used mainly for mapping ASCII function key sequences into
-real Emacs function key events (symbols).
-
-The `read-key-sequence' function replaces any subsequence bound by
-`input-decode-map' with its binding.  Contrary to `function-key-map',
-this map applies its rebinding regardless of the presence of an ordinary
-binding.  So it is more like `key-translation-map' except that it applies
-before `function-key-map' rather than after.
-
-If the binding is a function, it is called with one argument (the prompt)
-and its return value (a key sequence) is used.
-
-The events that come from bindings in `input-decode-map' are not
-themselves looked up in `input-decode-map'.  */);
-
-  DEFVAR_LISP ("function-key-map", Vfunction_key_map,
-               doc: /* The parent keymap of all `local-function-key-map' instances.
-Function key definitions that apply to all terminal devices should go
-here.  If a mapping is defined in both the current
-`local-function-key-map' binding and this variable, then the local
-definition will take precedence.  */);
-  Vfunction_key_map = Fmake_sparse_keymap (Qnil);
-
-  DEFVAR_LISP ("key-translation-map", Vkey_translation_map,
-               doc: /* Keymap of key translations that can override keymaps.
-This keymap works like `input-decode-map', but comes after `function-key-map'.
-Another difference is that it is global rather than terminal-local.  */);
-  Vkey_translation_map = Fmake_sparse_keymap (Qnil);
-
-  DEFVAR_LISP ("deferred-action-list", Vdeferred_action_list,
-              doc: /* List of deferred actions to be performed at a later time.
-The precise format isn't relevant here; we just check whether it is nil.  */);
-  Vdeferred_action_list = Qnil;
-
-  DEFVAR_LISP ("deferred-action-function", Vdeferred_action_function,
-              doc: /* Function to call to handle deferred actions, after each command.
-This function is called with no arguments after each command
-whenever `deferred-action-list' is non-nil.  */);
-  Vdeferred_action_function = Qnil;
-
-  DEFVAR_LISP ("delayed-warnings-list", Vdelayed_warnings_list,
-               doc: /* List of warnings to be displayed after this command.
-Each element must be a list (TYPE MESSAGE [LEVEL [BUFFER-NAME]]),
-as per the args of `display-warning' (which see).
-If this variable is non-nil, `delayed-warnings-hook' will be run
-immediately after running `post-command-hook'.  */);
-  Vdelayed_warnings_list = Qnil;
-
-  DEFVAR_LISP ("timer-list", Vtimer_list,
-              doc: /* List of active absolute time timers in order of increasing time.  */);
-  Vtimer_list = Qnil;
-
-  DEFVAR_LISP ("timer-idle-list", Vtimer_idle_list,
-              doc: /* List of active idle-time timers in order of increasing time.  */);
-  Vtimer_idle_list = Qnil;
-
-  DEFVAR_LISP ("input-method-function", Vinput_method_function,
-              doc: /* If non-nil, the function that implements the current input method.
-It's called with one argument, a printing character that was just read.
-\(That means a character with code 040...0176.)
-Typically this function uses `read-event' to read additional events.
-When it does so, it should first bind `input-method-function' to nil
-so it will not be called recursively.
-
-The function should return a list of zero or more events
-to be used as input.  If it wants to put back some events
-to be reconsidered, separately, by the input method,
-it can add them to the beginning of `unread-command-events'.
-
-The input method function can find in `input-method-previous-message'
-the previous echo area message.
-
-The input method function should refer to the variables
-`input-method-use-echo-area' and `input-method-exit-on-first-char'
-for guidance on what to do.  */);
-  Vinput_method_function = Qlist;
-
-  DEFVAR_LISP ("input-method-previous-message",
-              Vinput_method_previous_message,
-              doc: /* When `input-method-function' is called, hold the previous echo area message.
-This variable exists because `read-event' clears the echo area
-before running the input method.  It is nil if there was no message.  */);
-  Vinput_method_previous_message = Qnil;
-
-  DEFVAR_LISP ("show-help-function", Vshow_help_function,
-              doc: /* If non-nil, the function that implements the display of help.
-It's called with one argument, the help string to display.  */);
-  Vshow_help_function = Qnil;
-
-  DEFVAR_LISP ("disable-point-adjustment", Vdisable_point_adjustment,
-              doc: /* If non-nil, suppress point adjustment after executing a command.
-
-After a command is executed, if point is moved into a region that has
-special properties (e.g. composition, display), we adjust point to
-the boundary of the region.  But, when a command sets this variable to
-non-nil, we suppress the point adjustment.
-
-This variable is set to nil before reading a command, and is checked
-just after executing the command.  */);
-  Vdisable_point_adjustment = Qnil;
-
-  DEFVAR_LISP ("global-disable-point-adjustment",
-              Vglobal_disable_point_adjustment,
-              doc: /* If non-nil, always suppress point adjustment.
-
-The default value is nil, in which case, point adjustment are
-suppressed only after special commands that set
-`disable-point-adjustment' (which see) to non-nil.  */);
-  Vglobal_disable_point_adjustment = Qnil;
-
-  DEFVAR_LISP ("minibuffer-message-timeout", Vminibuffer_message_timeout,
-              doc: /* How long to display an echo-area message when the minibuffer is active.
-If the value is not a number, such messages don't time out.  */);
-  Vminibuffer_message_timeout = make_number (2);
-
-  DEFVAR_LISP ("throw-on-input", Vthrow_on_input,
-              doc: /* If non-nil, any keyboard input throws to this symbol.
-The value of that variable is passed to `quit-flag' and later causes a
-peculiar kind of quitting.  */);
-  Vthrow_on_input = Qnil;
-
-  DEFVAR_LISP ("command-error-function", Vcommand_error_function,
-              doc: /* Function to output error messages.
-Called with three arguments:
-- the error data, a list of the form (SIGNALED-CONDITION . SIGNAL-DATA)
-  such as what `condition-case' would bind its variable to,
-- the context (a string which normally goes at the start of the message),
-- the Lisp function within which the error was signaled.  */);
-  Vcommand_error_function = intern ("command-error-default-function");
-
-  DEFVAR_LISP ("enable-disabled-menus-and-buttons",
-              Venable_disabled_menus_and_buttons,
-              doc: /* If non-nil, don't ignore events produced by disabled menu items and tool-bar.
-
-Help functions bind this to allow help on disabled menu items
-and tool-bar buttons.  */);
-  Venable_disabled_menus_and_buttons = Qnil;
-
-  DEFVAR_LISP ("select-active-regions",
-              Vselect_active_regions,
-              doc: /* If non-nil, an active region automatically sets the primary selection.
-If the value is `only', only temporarily active regions (usually made
-by mouse-dragging or shift-selection) set the window selection.
-
-This takes effect only when Transient Mark mode is enabled.  */);
-  Vselect_active_regions = Qt;
-
-  DEFVAR_LISP ("saved-region-selection",
-              Vsaved_region_selection,
-              doc: /* Contents of active region prior to buffer modification.
-If `select-active-regions' is non-nil, Emacs sets this to the
-text in the region before modifying the buffer.  The next call to
-the function `deactivate-mark' uses this to set the window selection.  */);
-  Vsaved_region_selection = Qnil;
-
-  DEFVAR_LISP ("selection-inhibit-update-commands",
-              Vselection_inhibit_update_commands,
-              doc: /* List of commands which should not update the selection.
-Normally, if `select-active-regions' is non-nil and the mark remains
-active after a command (i.e. the mark was not deactivated), the Emacs
-command loop sets the selection to the text in the region.  However,
-if the command is in this list, the selection is not updated.  */);
-  Vselection_inhibit_update_commands
-    = list2 (Qhandle_switch_frame, Qhandle_select_window);
-
-  DEFVAR_LISP ("debug-on-event",
-               Vdebug_on_event,
-               doc: /* Enter debugger on this event.  When Emacs
-receives the special event specified by this variable, it will try to
-break into the debugger as soon as possible instead of processing the
-event normally through `special-event-map'.
-
-Currently, the only supported values for this
-variable are `sigusr1' and `sigusr2'.  */);
-  Vdebug_on_event = intern_c_string ("sigusr2");
-
-  /* Create the initial keyboard.  Qt means 'unset'.  */
-  initial_kboard = allocate_kboard (Qt);
-}
-
-void
-keys_of_keyboard (void)
-{
-  initial_define_key (global_map, Ctl ('Z'), "suspend-emacs");
-  initial_define_key (control_x_map, Ctl ('Z'), "suspend-emacs");
-  initial_define_key (meta_map, Ctl ('C'), "exit-recursive-edit");
-  initial_define_key (global_map, Ctl (']'), "abort-recursive-edit");
-  initial_define_key (meta_map, 'x', "execute-extended-command");
-
-  initial_define_lispy_key (Vspecial_event_map, "delete-frame",
-                           "handle-delete-frame");
-  initial_define_lispy_key (Vspecial_event_map, "ns-put-working-text",
-                           "ns-put-working-text");
-  initial_define_lispy_key (Vspecial_event_map, "ns-unput-working-text",
-                           "ns-unput-working-text");
-  /* Here we used to use `ignore-event' which would simple set prefix-arg to
-     current-prefix-arg, as is done in `handle-switch-frame'.
-     But `handle-switch-frame is not run from the special-map.
-     Commands from that map are run in a special way that automatically
-     preserves the prefix-arg.  Restoring the prefix arg here is not just
-     redundant but harmful:
-     - C-u C-x v =
-     - current-prefix-arg is set to non-nil, prefix-arg is set to nil.
-     - after the first prompt, the exit-minibuffer-hook is run which may
-       iconify a frame and thus push a `iconify-frame' event.
-     - after running exit-minibuffer-hook, current-prefix-arg is
-       restored to the non-nil value it had before the prompt.
-     - we enter the second prompt.
-       current-prefix-arg is non-nil, prefix-arg is nil.
-     - before running the first real event, we run the special iconify-frame
-       event, but we pass the `special' arg to command-execute so
-       current-prefix-arg and prefix-arg are left untouched.
-     - here we foolishly copy the non-nil current-prefix-arg to prefix-arg.
-     - the next key event will have a spuriously non-nil current-prefix-arg.  */
-  initial_define_lispy_key (Vspecial_event_map, "iconify-frame",
-                           "ignore");
-  initial_define_lispy_key (Vspecial_event_map, "make-frame-visible",
-                           "ignore");
-  /* Handling it at such a low-level causes read_key_sequence to get
-   * confused because it doesn't realize that the current_buffer was
-   * changed by read_char.
-   *
-   * initial_define_lispy_key (Vspecial_event_map, "select-window",
-   *                       "handle-select-window"); */
-  initial_define_lispy_key (Vspecial_event_map, "save-session",
-                           "handle-save-session");
-
-#ifdef HAVE_DBUS
-  /* Define a special event which is raised for dbus callback
-     functions.  */
-  initial_define_lispy_key (Vspecial_event_map, "dbus-event",
-                           "dbus-handle-event");
-#endif
-
-#ifdef USE_FILE_NOTIFY
-  /* Define a special event which is raised for notification callback
-     functions.  */
-  initial_define_lispy_key (Vspecial_event_map, "file-notify",
-                            "file-notify-handle-event");
-#endif /* USE_FILE_NOTIFY */
-
-  initial_define_lispy_key (Vspecial_event_map, "config-changed-event",
-                           "ignore");
-#if defined (WINDOWSNT)
-  initial_define_lispy_key (Vspecial_event_map, "language-change",
-                           "ignore");
-#endif
-  initial_define_lispy_key (Vspecial_event_map, "focus-in",
-                           "handle-focus-in");
-  initial_define_lispy_key (Vspecial_event_map, "focus-out",
-                           "handle-focus-out");
-}
-
-/* Mark the pointers in the kboard objects.
-   Called by Fgarbage_collect.  */
-void
-mark_kboards (void)
-{
-  KBOARD *kb;
-  Lisp_Object *p;
-  for (kb = all_kboards; kb; kb = kb->next_kboard)
-    {
-      if (kb->kbd_macro_buffer)
-       for (p = kb->kbd_macro_buffer; p < kb->kbd_macro_ptr; p++)
-         mark_object (*p);
-      mark_object (KVAR (kb, Voverriding_terminal_local_map));
-      mark_object (KVAR (kb, Vlast_command));
-      mark_object (KVAR (kb, Vreal_last_command));
-      mark_object (KVAR (kb, Vkeyboard_translate_table));
-      mark_object (KVAR (kb, Vlast_repeatable_command));
-      mark_object (KVAR (kb, Vprefix_arg));
-      mark_object (KVAR (kb, Vlast_prefix_arg));
-      mark_object (KVAR (kb, kbd_queue));
-      mark_object (KVAR (kb, defining_kbd_macro));
-      mark_object (KVAR (kb, Vlast_kbd_macro));
-      mark_object (KVAR (kb, Vsystem_key_alist));
-      mark_object (KVAR (kb, system_key_syms));
-      mark_object (KVAR (kb, Vwindow_system));
-      mark_object (KVAR (kb, Vinput_decode_map));
-      mark_object (KVAR (kb, Vlocal_function_key_map));
-      mark_object (KVAR (kb, Vdefault_minibuffer_frame));
-      mark_object (KVAR (kb, echo_string));
-    }
-  {
-    struct input_event *event;
-    for (event = kbd_fetch_ptr; event != kbd_store_ptr; event++)
-      {
-       if (event == kbd_buffer + KBD_BUFFER_SIZE)
-         event = kbd_buffer;
-       /* These two special event types has no Lisp_Objects to mark.  */
-       if (event->kind != SELECTION_REQUEST_EVENT
-           && event->kind != SELECTION_CLEAR_EVENT)
-         {
-           mark_object (event->x);
-           mark_object (event->y);
-           mark_object (event->frame_or_window);
-           mark_object (event->arg);
-         }
-      }
-  }
-}
diff --git a/test/manual/etags/c-src/emacs/src/lisp.h b/test/manual/etags/c-src/emacs/src/lisp.h
deleted file mode 100644 (file)
index 0382acf..0000000
+++ /dev/null
@@ -1,4817 +0,0 @@
-/* Fundamental definitions for GNU Emacs Lisp interpreter.
-
-Copyright (C) 1985-1987, 1993-1995, 1997-2024 Free Software Foundation,
-Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or (at
-your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.  */
-
-#ifndef EMACS_LISP_H
-#define EMACS_LISP_H
-
-#include <setjmp.h>
-#include <stdalign.h>
-#include <stdarg.h>
-#include <stddef.h>
-#include <float.h>
-#include <inttypes.h>
-#include <limits.h>
-
-#include <intprops.h>
-#include <verify.h>
-
-INLINE_HEADER_BEGIN
-
-/* Define a TYPE constant ID as an externally visible name.  Use like this:
-
-      DEFINE_GDB_SYMBOL_BEGIN (TYPE, ID)
-      # define ID (some integer preprocessor expression of type TYPE)
-      DEFINE_GDB_SYMBOL_END (ID)
-
-   This hack is for the benefit of compilers that do not make macro
-   definitions or enums visible to the debugger.  It's used for symbols
-   that .gdbinit needs.  */
-
-#define DECLARE_GDB_SYM(type, id) type const id EXTERNALLY_VISIBLE
-#ifdef MAIN_PROGRAM
-# define DEFINE_GDB_SYMBOL_BEGIN(type, id) DECLARE_GDB_SYM (type, id)
-# define DEFINE_GDB_SYMBOL_END(id) = id;
-#else
-# define DEFINE_GDB_SYMBOL_BEGIN(type, id) extern DECLARE_GDB_SYM (type, id)
-# define DEFINE_GDB_SYMBOL_END(val) ;
-#endif
-
-/* The ubiquitous max and min macros.  */
-#undef min
-#undef max
-#define max(a, b) ((a) > (b) ? (a) : (b))
-#define min(a, b) ((a) < (b) ? (a) : (b))
-
-/* Number of elements in an array.  */
-#define ARRAYELTS(arr) (sizeof (arr) / sizeof (arr)[0])
-
-/* Number of bits in a Lisp_Object tag.  */
-DEFINE_GDB_SYMBOL_BEGIN (int, GCTYPEBITS)
-#define GCTYPEBITS 3
-DEFINE_GDB_SYMBOL_END (GCTYPEBITS)
-
-/* The number of bits needed in an EMACS_INT over and above the number
-   of bits in a pointer.  This is 0 on systems where:
-   1.  We can specify multiple-of-8 alignment on static variables.
-   2.  We know malloc returns a multiple of 8.  */
-#if (defined alignas \
-     && (defined GNU_MALLOC || defined DOUG_LEA_MALLOC || defined __GLIBC__ \
-        || defined DARWIN_OS || defined __sun || defined __MINGW32__ \
-        || defined CYGWIN))
-# define NONPOINTER_BITS 0
-#else
-# define NONPOINTER_BITS GCTYPEBITS
-#endif
-
-/* EMACS_INT - signed integer wide enough to hold an Emacs value
-   EMACS_INT_MAX - maximum value of EMACS_INT; can be used in #if
-   pI - printf length modifier for EMACS_INT
-   EMACS_UINT - unsigned variant of EMACS_INT */
-#ifndef EMACS_INT_MAX
-# if INTPTR_MAX <= 0
-#  error "INTPTR_MAX misconfigured"
-# elif INTPTR_MAX <= INT_MAX >> NONPOINTER_BITS && !defined WIDE_EMACS_INT
-typedef int EMACS_INT;
-typedef unsigned int EMACS_UINT;
-#  define EMACS_INT_MAX INT_MAX
-#  define pI ""
-# elif INTPTR_MAX <= LONG_MAX >> NONPOINTER_BITS && !defined WIDE_EMACS_INT
-typedef long int EMACS_INT;
-typedef unsigned long EMACS_UINT;
-#  define EMACS_INT_MAX LONG_MAX
-#  define pI "l"
-/* Check versus LLONG_MAX, not LLONG_MAX >> NONPOINTER_BITS.
-   In theory this is not safe, but in practice it seems to be OK.  */
-# elif INTPTR_MAX <= LLONG_MAX
-typedef long long int EMACS_INT;
-typedef unsigned long long int EMACS_UINT;
-#  define EMACS_INT_MAX LLONG_MAX
-#  define pI "ll"
-# else
-#  error "INTPTR_MAX too large"
-# endif
-#endif
-
-/* Number of bits to put in each character in the internal representation
-   of bool vectors.  This should not vary across implementations.  */
-enum {  BOOL_VECTOR_BITS_PER_CHAR =
-#define BOOL_VECTOR_BITS_PER_CHAR 8
-        BOOL_VECTOR_BITS_PER_CHAR
-};
-
-/* An unsigned integer type representing a fixed-length bit sequence,
-   suitable for bool vector words, GC mark bits, etc.  Normally it is size_t
-   for speed, but it is unsigned char on weird platforms.  */
-#if BOOL_VECTOR_BITS_PER_CHAR == CHAR_BIT
-typedef size_t bits_word;
-# define BITS_WORD_MAX SIZE_MAX
-enum { BITS_PER_BITS_WORD = CHAR_BIT * sizeof (bits_word) };
-#else
-typedef unsigned char bits_word;
-# define BITS_WORD_MAX ((1u << BOOL_VECTOR_BITS_PER_CHAR) - 1)
-enum { BITS_PER_BITS_WORD = BOOL_VECTOR_BITS_PER_CHAR };
-#endif
-verify (BITS_WORD_MAX >> (BITS_PER_BITS_WORD - 1) == 1);
-
-/* Number of bits in some machine integer types.  */
-enum
-  {
-    BITS_PER_CHAR      = CHAR_BIT,
-    BITS_PER_SHORT     = CHAR_BIT * sizeof (short),
-    BITS_PER_LONG      = CHAR_BIT * sizeof (long int),
-    BITS_PER_EMACS_INT = CHAR_BIT * sizeof (EMACS_INT)
-  };
-
-/* printmax_t and uprintmax_t are types for printing large integers.
-   These are the widest integers that are supported for printing.
-   pMd etc. are conversions for printing them.
-   On C99 hosts, there's no problem, as even the widest integers work.
-   Fall back on EMACS_INT on pre-C99 hosts.  */
-#ifdef PRIdMAX
-typedef intmax_t printmax_t;
-typedef uintmax_t uprintmax_t;
-# define pMd PRIdMAX
-# define pMu PRIuMAX
-#else
-typedef EMACS_INT printmax_t;
-typedef EMACS_UINT uprintmax_t;
-# define pMd pI"d"
-# define pMu pI"u"
-#endif
-
-/* Use pD to format ptrdiff_t values, which suffice for indexes into
-   buffers and strings.  Emacs never allocates objects larger than
-   PTRDIFF_MAX bytes, as they cause problems with pointer subtraction.
-   In C99, pD can always be "t"; configure it here for the sake of
-   pre-C99 libraries such as glibc 2.0 and Solaris 8.  */
-#if PTRDIFF_MAX == INT_MAX
-# define pD ""
-#elif PTRDIFF_MAX == LONG_MAX
-# define pD "l"
-#elif PTRDIFF_MAX == LLONG_MAX
-# define pD "ll"
-#else
-# define pD "t"
-#endif
-
-/* Extra internal type checking?  */
-
-/* Define Emacs versions of <assert.h>'s 'assert (COND)' and <verify.h>'s
-   'assume (COND)'.  COND should be free of side effects, as it may or
-   may not be evaluated.
-
-   'eassert (COND)' checks COND at runtime if ENABLE_CHECKING is
-   defined and suppress_checking is false, and does nothing otherwise.
-   Emacs dies if COND is checked and is false.  The suppress_checking
-   variable is initialized to 0 in alloc.c.  Set it to 1 using a
-   debugger to temporarily disable aborting on detected internal
-   inconsistencies or error conditions.
-
-   In some cases, a good compiler may be able to optimize away the
-   eassert macro even if ENABLE_CHECKING is true, e.g., if XSTRING (x)
-   uses eassert to test STRINGP (x), but a particular use of XSTRING
-   is invoked only after testing that STRINGP (x) is true, making the
-   test redundant.
-
-   eassume is like eassert except that it also causes the compiler to
-   assume that COND is true afterwards, regardless of whether runtime
-   checking is enabled.  This can improve performance in some cases,
-   though it can degrade performance in others.  It's often suboptimal
-   for COND to call external functions or access volatile storage.  */
-
-#ifndef ENABLE_CHECKING
-# define eassert(cond) ((void) (false && (cond))) /* Check COND compiles.  */
-# define eassume(cond) assume (cond)
-#else /* ENABLE_CHECKING */
-
-extern _Noreturn void die (const char *, const char *, int);
-
-extern bool suppress_checking EXTERNALLY_VISIBLE;
-
-# define eassert(cond)                                         \
-   (suppress_checking || (cond)                                \
-    ? (void) 0                                                 \
-    : die (# cond, __FILE__, __LINE__))
-# define eassume(cond)                                         \
-   (suppress_checking                                          \
-    ? assume (cond)                                            \
-    : (cond)                                                   \
-    ? (void) 0                                                 \
-    : die (# cond, __FILE__, __LINE__))
-#endif /* ENABLE_CHECKING */
-
-\f
-/* Use the configure flag --enable-check-lisp-object-type to make
-   Lisp_Object use a struct type instead of the default int.  The flag
-   causes CHECK_LISP_OBJECT_TYPE to be defined.  */
-
-/***** Select the tagging scheme.  *****/
-/* The following option controls the tagging scheme:
-   - USE_LSB_TAG means that we can assume the least 3 bits of pointers are
-     always 0, and we can thus use them to hold tag bits, without
-     restricting our addressing space.
-
-   If ! USE_LSB_TAG, then use the top 3 bits for tagging, thus
-   restricting our possible address range.
-
-   USE_LSB_TAG not only requires the least 3 bits of pointers returned by
-   malloc to be 0 but also needs to be able to impose a mult-of-8 alignment
-   on the few static Lisp_Objects used: lispsym, all the defsubr, and
-   the two special buffers buffer_defaults and buffer_local_symbols.  */
-
-enum Lisp_Bits
-  {
-    /* 2**GCTYPEBITS.  This must be a macro that expands to a literal
-       integer constant, for MSVC.  */
-#define GCALIGNMENT 8
-
-    /* Number of bits in a Lisp_Object value, not counting the tag.  */
-    VALBITS = BITS_PER_EMACS_INT - GCTYPEBITS,
-
-    /* Number of bits in a Lisp fixnum tag.  */
-    INTTYPEBITS = GCTYPEBITS - 1,
-
-    /* Number of bits in a Lisp fixnum value, not counting the tag.  */
-    FIXNUM_BITS = VALBITS + 1
-  };
-
-#if GCALIGNMENT != 1 << GCTYPEBITS
-# error "GCALIGNMENT and GCTYPEBITS are inconsistent"
-#endif
-
-/* The maximum value that can be stored in a EMACS_INT, assuming all
-   bits other than the type bits contribute to a nonnegative signed value.
-   This can be used in #if, e.g., '#if USB_TAG' below expands to an
-   expression involving VAL_MAX.  */
-#define VAL_MAX (EMACS_INT_MAX >> (GCTYPEBITS - 1))
-
-/* Whether the least-significant bits of an EMACS_INT contain the tag.
-   On hosts where pointers-as-ints do not exceed VAL_MAX / 2, USE_LSB_TAG is:
-    a. unnecessary, because the top bits of an EMACS_INT are unused, and
-    b. slower, because it typically requires extra masking.
-   So, USE_LSB_TAG is true only on hosts where it might be useful.  */
-DEFINE_GDB_SYMBOL_BEGIN (bool, USE_LSB_TAG)
-#define USE_LSB_TAG (VAL_MAX / 2 < INTPTR_MAX)
-DEFINE_GDB_SYMBOL_END (USE_LSB_TAG)
-
-#if !USE_LSB_TAG && !defined WIDE_EMACS_INT
-# error "USE_LSB_TAG not supported on this platform; please report this." \
-       "Try 'configure --with-wide-int' to work around the problem."
-error !;
-#endif
-
-#ifndef alignas
-# define alignas(alignment) /* empty */
-# if USE_LSB_TAG
-#  error "USE_LSB_TAG requires alignas"
-# endif
-#endif
-
-#ifdef HAVE_STRUCT_ATTRIBUTE_ALIGNED
-# define GCALIGNED __attribute__ ((aligned (GCALIGNMENT)))
-#else
-# define GCALIGNED /* empty */
-#endif
-
-/* Some operations are so commonly executed that they are implemented
-   as macros, not functions, because otherwise runtime performance would
-   suffer too much when compiling with GCC without optimization.
-   There's no need to inline everything, just the operations that
-   would otherwise cause a serious performance problem.
-
-   For each such operation OP, define a macro lisp_h_OP that contains
-   the operation's implementation.  That way, OP can be implemented
-   via a macro definition like this:
-
-     #define OP(x) lisp_h_OP (x)
-
-   and/or via a function definition like this:
-
-     LISP_MACRO_DEFUN (OP, Lisp_Object, (Lisp_Object x), (x))
-
-   which macro-expands to this:
-
-     Lisp_Object (OP) (Lisp_Object x) { return lisp_h_OP (x); }
-
-   without worrying about the implementations diverging, since
-   lisp_h_OP defines the actual implementation.  The lisp_h_OP macros
-   are intended to be private to this include file, and should not be
-   used elsewhere.
-
-   FIXME: Remove the lisp_h_OP macros, and define just the inline OP
-   functions, once most developers have access to GCC 4.8 or later and
-   can use "gcc -Og" to debug.  Maybe in the year 2016.  See
-   Bug#11935.
-
-   Commentary for these macros can be found near their corresponding
-   functions, below.  */
-
-#if CHECK_LISP_OBJECT_TYPE
-# define lisp_h_XLI(o) ((o).i)
-# define lisp_h_XIL(i) ((Lisp_Object) { i })
-#else
-# define lisp_h_XLI(o) (o)
-# define lisp_h_XIL(i) (i)
-#endif
-#define lisp_h_CHECK_LIST_CONS(x, y) CHECK_TYPE (CONSP (x), Qlistp, y)
-#define lisp_h_CHECK_NUMBER(x) CHECK_TYPE (INTEGERP (x), Qintegerp, x)
-#define lisp_h_CHECK_SYMBOL(x) CHECK_TYPE (SYMBOLP (x), Qsymbolp, x)
-#define lisp_h_CHECK_TYPE(ok, predicate, x) \
-   ((ok) ? (void) 0 : (void) wrong_type_argument (predicate, x))
-#define lisp_h_CONSP(x) (XTYPE (x) == Lisp_Cons)
-#define lisp_h_EQ(x, y) (XLI (x) == XLI (y))
-#define lisp_h_FLOATP(x) (XTYPE (x) == Lisp_Float)
-#define lisp_h_INTEGERP(x) ((XTYPE (x) & (Lisp_Int0 | ~Lisp_Int1)) == Lisp_Int0)
-#define lisp_h_MARKERP(x) (MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Marker)
-#define lisp_h_MISCP(x) (XTYPE (x) == Lisp_Misc)
-#define lisp_h_NILP(x) EQ (x, Qnil)
-#define lisp_h_SET_SYMBOL_VAL(sym, v) \
-   (eassert ((sym)->redirect == SYMBOL_PLAINVAL), (sym)->val.value = (v))
-#define lisp_h_SYMBOL_CONSTANT_P(sym) (XSYMBOL (sym)->constant)
-#define lisp_h_SYMBOL_VAL(sym) \
-   (eassert ((sym)->redirect == SYMBOL_PLAINVAL), (sym)->val.value)
-#define lisp_h_SYMBOLP(x) (XTYPE (x) == Lisp_Symbol)
-#define lisp_h_VECTORLIKEP(x) (XTYPE (x) == Lisp_Vectorlike)
-#define lisp_h_XCAR(c) XCONS (c)->car
-#define lisp_h_XCDR(c) XCONS (c)->u.cdr
-#define lisp_h_XCONS(a) \
-   (eassert (CONSP (a)), (struct Lisp_Cons *) XUNTAG (a, Lisp_Cons))
-#define lisp_h_XHASH(a) XUINT (a)
-#define lisp_h_XPNTR(a) \
-   (SYMBOLP (a) ? XSYMBOL (a) : (void *) ((intptr_t) (XLI (a) & VALMASK)))
-#ifndef GC_CHECK_CONS_LIST
-# define lisp_h_check_cons_list() ((void) 0)
-#endif
-#if USE_LSB_TAG
-# define lisp_h_make_number(n) \
-    XIL ((EMACS_INT) (((EMACS_UINT) (n) << INTTYPEBITS) + Lisp_Int0))
-# define lisp_h_XFASTINT(a) XINT (a)
-# define lisp_h_XINT(a) (XLI (a) >> INTTYPEBITS)
-# define lisp_h_XSYMBOL(a) \
-    (eassert (SYMBOLP (a)), \
-     (struct Lisp_Symbol *) ((uintptr_t) XLI (a) - Lisp_Symbol \
-                            + (char *) lispsym))
-# define lisp_h_XTYPE(a) ((enum Lisp_Type) (XLI (a) & ~VALMASK))
-# define lisp_h_XUNTAG(a, type) ((void *) (intptr_t) (XLI (a) - (type)))
-#endif
-
-/* When compiling via gcc -O0, define the key operations as macros, as
-   Emacs is too slow otherwise.  To disable this optimization, compile
-   with -DINLINING=false.  */
-#if (defined __NO_INLINE__ \
-     && ! defined __OPTIMIZE__ && ! defined __OPTIMIZE_SIZE__ \
-     && ! (defined INLINING && ! INLINING))
-# define XLI(o) lisp_h_XLI (o)
-# define XIL(i) lisp_h_XIL (i)
-# define CHECK_LIST_CONS(x, y) lisp_h_CHECK_LIST_CONS (x, y)
-# define CHECK_NUMBER(x) lisp_h_CHECK_NUMBER (x)
-# define CHECK_SYMBOL(x) lisp_h_CHECK_SYMBOL (x)
-# define CHECK_TYPE(ok, predicate, x) lisp_h_CHECK_TYPE (ok, predicate, x)
-# define CONSP(x) lisp_h_CONSP (x)
-# define EQ(x, y) lisp_h_EQ (x, y)
-# define FLOATP(x) lisp_h_FLOATP (x)
-# define INTEGERP(x) lisp_h_INTEGERP (x)
-# define MARKERP(x) lisp_h_MARKERP (x)
-# define MISCP(x) lisp_h_MISCP (x)
-# define NILP(x) lisp_h_NILP (x)
-# define SET_SYMBOL_VAL(sym, v) lisp_h_SET_SYMBOL_VAL (sym, v)
-# define SYMBOL_CONSTANT_P(sym) lisp_h_SYMBOL_CONSTANT_P (sym)
-# define SYMBOL_VAL(sym) lisp_h_SYMBOL_VAL (sym)
-# define SYMBOLP(x) lisp_h_SYMBOLP (x)
-# define VECTORLIKEP(x) lisp_h_VECTORLIKEP (x)
-# define XCAR(c) lisp_h_XCAR (c)
-# define XCDR(c) lisp_h_XCDR (c)
-# define XCONS(a) lisp_h_XCONS (a)
-# define XHASH(a) lisp_h_XHASH (a)
-# define XPNTR(a) lisp_h_XPNTR (a)
-# ifndef GC_CHECK_CONS_LIST
-#  define check_cons_list() lisp_h_check_cons_list ()
-# endif
-# if USE_LSB_TAG
-#  define make_number(n) lisp_h_make_number (n)
-#  define XFASTINT(a) lisp_h_XFASTINT (a)
-#  define XINT(a) lisp_h_XINT (a)
-#  define XSYMBOL(a) lisp_h_XSYMBOL (a)
-#  define XTYPE(a) lisp_h_XTYPE (a)
-#  define XUNTAG(a, type) lisp_h_XUNTAG (a, type)
-# endif
-#endif
-
-/* Define NAME as a lisp.h inline function that returns TYPE and has
-   arguments declared as ARGDECLS and passed as ARGS.  ARGDECLS and
-   ARGS should be parenthesized.  Implement the function by calling
-   lisp_h_NAME ARGS.  */
-#define LISP_MACRO_DEFUN(name, type, argdecls, args) \
-  INLINE type (name) argdecls { return lisp_h_##name args; }
-
-/* like LISP_MACRO_DEFUN, except NAME returns void.  */
-#define LISP_MACRO_DEFUN_VOID(name, argdecls, args) \
-  INLINE void (name) argdecls { lisp_h_##name args; }
-
-
-/* Define the fundamental Lisp data structures.  */
-
-/* This is the set of Lisp data types.  If you want to define a new
-   data type, read the comments after Lisp_Fwd_Type definition
-   below.  */
-
-/* Lisp integers use 2 tags, to give them one extra bit, thus
-   extending their range from, e.g., -2^28..2^28-1 to -2^29..2^29-1.  */
-#define INTMASK (EMACS_INT_MAX >> (INTTYPEBITS - 1))
-#define case_Lisp_Int case Lisp_Int0: case Lisp_Int1
-
-/* Idea stolen from GDB.  Pedantic GCC complains about enum bitfields,
-   MSVC doesn't support them, and xlc and Oracle Studio c99 complain
-   vociferously about them.  */
-#if (defined __STRICT_ANSI__ || defined _MSC_VER || defined __IBMC__ \
-     || (defined __SUNPRO_C && __STDC__))
-#define ENUM_BF(TYPE) unsigned int
-#else
-#define ENUM_BF(TYPE) enum TYPE
-#endif
-
-
-enum Lisp_Type
-  {
-    /* Symbol.  XSYMBOL (object) points to a struct Lisp_Symbol.  */
-    Lisp_Symbol = 0,
-
-    /* Miscellaneous.  XMISC (object) points to a union Lisp_Misc,
-       whose first member indicates the subtype.  */
-    Lisp_Misc = 1,
-
-    /* Integer.  XINT (obj) is the integer value.  */
-    Lisp_Int0 = 2,
-    Lisp_Int1 = USE_LSB_TAG ? 6 : 3,
-
-    /* String.  XSTRING (object) points to a struct Lisp_String.
-       The length of the string, and its contents, are stored therein.  */
-    Lisp_String = 4,
-
-    /* Vector of Lisp objects, or something resembling it.
-       XVECTOR (object) points to a struct Lisp_Vector, which contains
-       the size and contents.  The size field also contains the type
-       information, if it's not a real vector object.  */
-    Lisp_Vectorlike = 5,
-
-    /* Cons.  XCONS (object) points to a struct Lisp_Cons.  */
-    Lisp_Cons = USE_LSB_TAG ? 3 : 6,
-
-    Lisp_Float = 7
-  };
-
-/* This is the set of data types that share a common structure.
-   The first member of the structure is a type code from this set.
-   The enum values are arbitrary, but we'll use large numbers to make it
-   more likely that we'll spot the error if a random word in memory is
-   mistakenly interpreted as a Lisp_Misc.  */
-enum Lisp_Misc_Type
-  {
-    Lisp_Misc_Free = 0x5eab,
-    Lisp_Misc_Marker,
-    Lisp_Misc_Overlay,
-    Lisp_Misc_Save_Value,
-    Lisp_Misc_Finalizer,
-    /* Currently floats are not a misc type,
-       but let's define this in case we want to change that.  */
-    Lisp_Misc_Float,
-    /* This is not a type code.  It is for range checking.  */
-    Lisp_Misc_Limit
-  };
-
-/* These are the types of forwarding objects used in the value slot
-   of symbols for special built-in variables whose value is stored in
-   C variables.  */
-enum Lisp_Fwd_Type
-  {
-    Lisp_Fwd_Int,              /* Fwd to a C `int' variable.  */
-    Lisp_Fwd_Bool,             /* Fwd to a C boolean var.  */
-    Lisp_Fwd_Obj,              /* Fwd to a C Lisp_Object variable.  */
-    Lisp_Fwd_Buffer_Obj,       /* Fwd to a Lisp_Object field of buffers.  */
-    Lisp_Fwd_Kboard_Obj                /* Fwd to a Lisp_Object field of kboards.  */
-  };
-
-/* If you want to define a new Lisp data type, here are some
-   instructions.  See the thread at
-   https://lists.gnu.org/r/emacs-devel/2012-10/msg00561.html
-   for more info.
-
-   First, there are already a couple of Lisp types that can be used if
-   your new type does not need to be exposed to Lisp programs nor
-   displayed to users.  These are Lisp_Save_Value, a Lisp_Misc
-   subtype; and PVEC_OTHER, a kind of vectorlike object.  The former
-   is suitable for temporarily stashing away pointers and integers in
-   a Lisp object.  The latter is useful for vector-like Lisp objects
-   that need to be used as part of other objects, but which are never
-   shown to users or Lisp code (search for PVEC_OTHER in xterm.c for
-   an example).
-
-   These two types don't look pretty when printed, so they are
-   unsuitable for Lisp objects that can be exposed to users.
-
-   To define a new data type, add one more Lisp_Misc subtype or one
-   more pseudovector subtype.  Pseudovectors are more suitable for
-   objects with several slots that need to support fast random access,
-   while Lisp_Misc types are for everything else.  A pseudovector object
-   provides one or more slots for Lisp objects, followed by struct
-   members that are accessible only from C.  A Lisp_Misc object is a
-   wrapper for a C struct that can contain anything you like.
-
-   Explicit freeing is discouraged for Lisp objects in general.  But if
-   you really need to exploit this, use Lisp_Misc (check free_misc in
-   alloc.c to see why).  There is no way to free a vectorlike object.
-
-   To add a new pseudovector type, extend the pvec_type enumeration;
-   to add a new Lisp_Misc, extend the Lisp_Misc_Type enumeration.
-
-   For a Lisp_Misc, you will also need to add your entry to union
-   Lisp_Misc (but make sure the first word has the same structure as
-   the others, starting with a 16-bit member of the Lisp_Misc_Type
-   enumeration and a 1-bit GC markbit) and make sure the overall size
-   of the union is not increased by your addition.
-
-   For a new pseudovector, it's highly desirable to limit the size
-   of your data type by VBLOCK_BYTES_MAX bytes (defined in alloc.c).
-   Otherwise you will need to change sweep_vectors (also in alloc.c).
-
-   Then you will need to add switch branches in print.c (in
-   print_object, to print your object, and possibly also in
-   print_preprocess) and to alloc.c, to mark your object (in
-   mark_object) and to free it (in gc_sweep).  The latter is also the
-   right place to call any code specific to your data type that needs
-   to run when the object is recycled -- e.g., free any additional
-   resources allocated for it that are not Lisp objects.  You can even
-   make a pointer to the function that frees the resources a slot in
-   your object -- this way, the same object could be used to represent
-   several disparate C structures.  */
-
-#ifdef CHECK_LISP_OBJECT_TYPE
-
-typedef struct { EMACS_INT i; } Lisp_Object;
-
-#define LISP_INITIALLY(i) {i}
-
-#undef CHECK_LISP_OBJECT_TYPE
-enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE = true };
-#else /* CHECK_LISP_OBJECT_TYPE */
-
-/* If a struct type is not wanted, define Lisp_Object as just a number.  */
-
-typedef EMACS_INT Lisp_Object;
-#define LISP_INITIALLY(i) (i)
-enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE = false };
-#endif /* CHECK_LISP_OBJECT_TYPE */
-
-#define LISP_INITIALLY_ZERO LISP_INITIALLY (0)
-\f
-/* Forward declarations.  */
-
-/* Defined in this file.  */
-union Lisp_Fwd;
-INLINE bool BOOL_VECTOR_P (Lisp_Object);
-INLINE bool BUFFER_OBJFWDP (union Lisp_Fwd *);
-INLINE bool BUFFERP (Lisp_Object);
-INLINE bool CHAR_TABLE_P (Lisp_Object);
-INLINE Lisp_Object CHAR_TABLE_REF_ASCII (Lisp_Object, ptrdiff_t);
-INLINE bool (CONSP) (Lisp_Object);
-INLINE bool (FLOATP) (Lisp_Object);
-INLINE bool functionp (Lisp_Object);
-INLINE bool (INTEGERP) (Lisp_Object);
-INLINE bool (MARKERP) (Lisp_Object);
-INLINE bool (MISCP) (Lisp_Object);
-INLINE bool (NILP) (Lisp_Object);
-INLINE bool OVERLAYP (Lisp_Object);
-INLINE bool PROCESSP (Lisp_Object);
-INLINE bool PSEUDOVECTORP (Lisp_Object, int);
-INLINE bool SAVE_VALUEP (Lisp_Object);
-INLINE bool FINALIZERP (Lisp_Object);
-INLINE void set_sub_char_table_contents (Lisp_Object, ptrdiff_t,
-                                             Lisp_Object);
-INLINE bool STRINGP (Lisp_Object);
-INLINE bool SUB_CHAR_TABLE_P (Lisp_Object);
-INLINE bool SUBRP (Lisp_Object);
-INLINE bool (SYMBOLP) (Lisp_Object);
-INLINE bool (VECTORLIKEP) (Lisp_Object);
-INLINE bool WINDOWP (Lisp_Object);
-INLINE bool TERMINALP (Lisp_Object);
-INLINE struct Lisp_Save_Value *XSAVE_VALUE (Lisp_Object);
-INLINE struct Lisp_Finalizer *XFINALIZER (Lisp_Object);
-INLINE struct Lisp_Symbol *(XSYMBOL) (Lisp_Object);
-INLINE void *(XUNTAG) (Lisp_Object, int);
-
-/* Defined in chartab.c.  */
-extern Lisp_Object char_table_ref (Lisp_Object, int);
-extern void char_table_set (Lisp_Object, int, Lisp_Object);
-
-/* Defined in data.c.  */
-extern _Noreturn Lisp_Object wrong_type_argument (Lisp_Object, Lisp_Object);
-extern _Noreturn void wrong_choice (Lisp_Object, Lisp_Object);
-
-/* Defined in emacs.c.  */
-extern bool might_dump;
-/* True means Emacs has already been initialized.
-   Used during startup to detect startup of dumped Emacs.  */
-extern bool initialized;
-
-/* Defined in floatfns.c.  */
-extern double extract_float (Lisp_Object);
-
-\f
-/* Interned state of a symbol.  */
-
-enum symbol_interned
-{
-  SYMBOL_UNINTERNED = 0,
-  SYMBOL_INTERNED = 1,
-  SYMBOL_INTERNED_IN_INITIAL_OBARRAY = 2
-};
-
-enum symbol_redirect
-{
-  SYMBOL_PLAINVAL  = 4,
-  SYMBOL_VARALIAS  = 1,
-  SYMBOL_LOCALIZED = 2,
-  SYMBOL_FORWARDED = 3
-};
-
-struct Lisp_Symbol
-{
-  bool_bf gcmarkbit : 1;
-
-  /* Indicates where the value can be found:
-     0 : it's a plain var, the value is in the `value' field.
-     1 : it's a varalias, the value is really in the `alias' symbol.
-     2 : it's a localized var, the value is in the `blv' object.
-     3 : it's a forwarding variable, the value is in `forward'.  */
-  ENUM_BF (symbol_redirect) redirect : 3;
-
-  /* Non-zero means symbol is constant, i.e. changing its value
-     should signal an error.  If the value is 3, then the var
-     can be changed, but only by `defconst'.  */
-  unsigned constant : 2;
-
-  /* Interned state of the symbol.  This is an enumerator from
-     enum symbol_interned.  */
-  unsigned interned : 2;
-
-  /* True means that this variable has been explicitly declared
-     special (with `defvar' etc), and shouldn't be lexically bound.  */
-  bool_bf declared_special : 1;
-
-  /* True if pointed to from purespace and hence can't be GC'd.  */
-  bool_bf pinned : 1;
-
-  /* The symbol's name, as a Lisp string.  */
-  Lisp_Object name;
-
-  /* Value of the symbol or Qunbound if unbound.  Which alternative of the
-     union is used depends on the `redirect' field above.  */
-  union {
-    Lisp_Object value;
-    struct Lisp_Symbol *alias;
-    struct Lisp_Buffer_Local_Value *blv;
-    union Lisp_Fwd *fwd;
-  } val;
-
-  /* Function value of the symbol or Qnil if not fboundp.  */
-  Lisp_Object function;
-
-  /* The symbol's property list.  */
-  Lisp_Object plist;
-
-  /* Next symbol in obarray bucket, if the symbol is interned.  */
-  struct Lisp_Symbol *next;
-};
-
-/* Declare a Lisp-callable function.  The MAXARGS parameter has the same
-   meaning as in the DEFUN macro, and is used to construct a prototype.  */
-/* We can use the same trick as in the DEFUN macro to generate the
-   appropriate prototype.  */
-#define EXFUN(fnname, maxargs) \
-  extern Lisp_Object fnname DEFUN_ARGS_ ## maxargs
-
-/* Note that the weird token-substitution semantics of ANSI C makes
-   this work for MANY and UNEVALLED.  */
-#define DEFUN_ARGS_MANY                (ptrdiff_t, Lisp_Object *)
-#define DEFUN_ARGS_UNEVALLED   (Lisp_Object)
-#define DEFUN_ARGS_0   (void)
-#define DEFUN_ARGS_1   (Lisp_Object)
-#define DEFUN_ARGS_2   (Lisp_Object, Lisp_Object)
-#define DEFUN_ARGS_3   (Lisp_Object, Lisp_Object, Lisp_Object)
-#define DEFUN_ARGS_4   (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object)
-#define DEFUN_ARGS_5   (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \
-                        Lisp_Object)
-#define DEFUN_ARGS_6   (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \
-                        Lisp_Object, Lisp_Object)
-#define DEFUN_ARGS_7   (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \
-                        Lisp_Object, Lisp_Object, Lisp_Object)
-#define DEFUN_ARGS_8   (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \
-                        Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object)
-
-/* Yield an integer that contains TAG along with PTR.  */
-#define TAG_PTR(tag, ptr) \
-  ((USE_LSB_TAG ? (tag) : (EMACS_UINT) (tag) << VALBITS) + (uintptr_t) (ptr))
-
-/* Yield an integer that contains a symbol tag along with OFFSET.
-   OFFSET should be the offset in bytes from 'lispsym' to the symbol.  */
-#define TAG_SYMOFFSET(offset)                              \
-  TAG_PTR (Lisp_Symbol,                                            \
-          ((uintptr_t) (offset) >> (USE_LSB_TAG ? 0 : GCTYPEBITS)))
-
-/* XLI_BUILTIN_LISPSYM (iQwhatever) is equivalent to
-   XLI (builtin_lisp_symbol (Qwhatever)),
-   except the former expands to an integer constant expression.  */
-#define XLI_BUILTIN_LISPSYM(iname) TAG_SYMOFFSET ((iname) * sizeof *lispsym)
-
-/* Declare extern constants for Lisp symbols.  These can be helpful
-   when using a debugger like GDB, on older platforms where the debug
-   format does not represent C macros.  */
-#define DEFINE_LISP_SYMBOL(name) \
-  DEFINE_GDB_SYMBOL_BEGIN (Lisp_Object, name) \
-  DEFINE_GDB_SYMBOL_END (LISP_INITIALLY (XLI_BUILTIN_LISPSYM (i##name)))
-
-/* By default, define macros for Qt, etc., as this leads to a bit
-   better performance in the core Emacs interpreter.  A plugin can
-   define DEFINE_NON_NIL_Q_SYMBOL_MACROS to be false, to be portable to
-   other Emacs instances that assign different values to Qt, etc.  */
-#ifndef DEFINE_NON_NIL_Q_SYMBOL_MACROS
-# define DEFINE_NON_NIL_Q_SYMBOL_MACROS true
-#endif
-
-#include "globals.h"
-
-/* Convert a Lisp_Object to the corresponding EMACS_INT and vice versa.
-   At the machine level, these operations are no-ops.  */
-LISP_MACRO_DEFUN (XLI, EMACS_INT, (Lisp_Object o), (o))
-LISP_MACRO_DEFUN (XIL, Lisp_Object, (EMACS_INT i), (i))
-
-/* In the size word of a vector, this bit means the vector has been marked.  */
-
-DEFINE_GDB_SYMBOL_BEGIN (ptrdiff_t, ARRAY_MARK_FLAG)
-# define ARRAY_MARK_FLAG PTRDIFF_MIN
-DEFINE_GDB_SYMBOL_END (ARRAY_MARK_FLAG)
-
-/* In the size word of a struct Lisp_Vector, this bit means it's really
-   some other vector-like object.  */
-DEFINE_GDB_SYMBOL_BEGIN (ptrdiff_t, PSEUDOVECTOR_FLAG)
-# define PSEUDOVECTOR_FLAG (PTRDIFF_MAX - PTRDIFF_MAX / 2)
-DEFINE_GDB_SYMBOL_END (PSEUDOVECTOR_FLAG)
-
-/* In a pseudovector, the size field actually contains a word with one
-   PSEUDOVECTOR_FLAG bit set, and one of the following values extracted
-   with PVEC_TYPE_MASK to indicate the actual type.  */
-enum pvec_type
-{
-  PVEC_NORMAL_VECTOR,
-  PVEC_FREE,
-  PVEC_PROCESS,
-  PVEC_FRAME,
-  PVEC_WINDOW,
-  PVEC_BOOL_VECTOR,
-  PVEC_BUFFER,
-  PVEC_HASH_TABLE,
-  PVEC_TERMINAL,
-  PVEC_WINDOW_CONFIGURATION,
-  PVEC_SUBR,
-  PVEC_OTHER,
-  /* These should be last, check internal_equal to see why.  */
-  PVEC_COMPILED,
-  PVEC_CHAR_TABLE,
-  PVEC_SUB_CHAR_TABLE,
-  PVEC_FONT /* Should be last because it's used for range checking.  */
-};
-
-enum More_Lisp_Bits
-  {
-    /* For convenience, we also store the number of elements in these bits.
-       Note that this size is not necessarily the memory-footprint size, but
-       only the number of Lisp_Object fields (that need to be traced by GC).
-       The distinction is used, e.g., by Lisp_Process, which places extra
-       non-Lisp_Object fields at the end of the structure.  */
-    PSEUDOVECTOR_SIZE_BITS = 12,
-    PSEUDOVECTOR_SIZE_MASK = (1 << PSEUDOVECTOR_SIZE_BITS) - 1,
-
-    /* To calculate the memory footprint of the pseudovector, it's useful
-       to store the size of non-Lisp area in word_size units here.  */
-    PSEUDOVECTOR_REST_BITS = 12,
-    PSEUDOVECTOR_REST_MASK = (((1 << PSEUDOVECTOR_REST_BITS) - 1)
-                             << PSEUDOVECTOR_SIZE_BITS),
-
-    /* Used to extract pseudovector subtype information.  */
-    PSEUDOVECTOR_AREA_BITS = PSEUDOVECTOR_SIZE_BITS + PSEUDOVECTOR_REST_BITS,
-    PVEC_TYPE_MASK = 0x3f << PSEUDOVECTOR_AREA_BITS
-  };
-\f
-/* These functions extract various sorts of values from a Lisp_Object.
-   For example, if tem is a Lisp_Object whose type is Lisp_Cons,
-   XCONS (tem) is the struct Lisp_Cons * pointing to the memory for
-   that cons.  */
-
-/* Mask for the value (as opposed to the type bits) of a Lisp object.  */
-DEFINE_GDB_SYMBOL_BEGIN (EMACS_INT, VALMASK)
-# define VALMASK (USE_LSB_TAG ? - (1 << GCTYPEBITS) : VAL_MAX)
-DEFINE_GDB_SYMBOL_END (VALMASK)
-
-/* Largest and smallest representable fixnum values.  These are the C
-   values.  They are macros for use in static initializers.  */
-#define MOST_POSITIVE_FIXNUM (EMACS_INT_MAX >> INTTYPEBITS)
-#define MOST_NEGATIVE_FIXNUM (-1 - MOST_POSITIVE_FIXNUM)
-
-#if USE_LSB_TAG
-
-LISP_MACRO_DEFUN (make_number, Lisp_Object, (EMACS_INT n), (n))
-LISP_MACRO_DEFUN (XINT, EMACS_INT, (Lisp_Object a), (a))
-LISP_MACRO_DEFUN (XFASTINT, EMACS_INT, (Lisp_Object a), (a))
-LISP_MACRO_DEFUN (XSYMBOL, struct Lisp_Symbol *, (Lisp_Object a), (a))
-LISP_MACRO_DEFUN (XTYPE, enum Lisp_Type, (Lisp_Object a), (a))
-LISP_MACRO_DEFUN (XUNTAG, void *, (Lisp_Object a, int type), (a, type))
-
-#else /* ! USE_LSB_TAG */
-
-/* Although compiled only if ! USE_LSB_TAG, the following functions
-   also work when USE_LSB_TAG; this is to aid future maintenance when
-   the lisp_h_* macros are eventually removed.  */
-
-/* Make a Lisp integer representing the value of the low order
-   bits of N.  */
-INLINE Lisp_Object
-make_number (EMACS_INT n)
-{
-  EMACS_INT int0 = Lisp_Int0;
-  if (USE_LSB_TAG)
-    {
-      EMACS_UINT u = n;
-      n = u << INTTYPEBITS;
-      n += int0;
-    }
-  else
-    {
-      n &= INTMASK;
-      n += (int0 << VALBITS);
-    }
-  return XIL (n);
-}
-
-/* Extract A's value as a signed integer.  */
-INLINE EMACS_INT
-XINT (Lisp_Object a)
-{
-  EMACS_INT i = XLI (a);
-  if (! USE_LSB_TAG)
-    {
-      EMACS_UINT u = i;
-      i = u << INTTYPEBITS;
-    }
-  return i >> INTTYPEBITS;
-}
-
-/* Like XINT (A), but may be faster.  A must be nonnegative.
-   If ! USE_LSB_TAG, this takes advantage of the fact that Lisp
-   integers have zero-bits in their tags.  */
-INLINE EMACS_INT
-XFASTINT (Lisp_Object a)
-{
-  EMACS_INT int0 = Lisp_Int0;
-  EMACS_INT n = USE_LSB_TAG ? XINT (a) : XLI (a) - (int0 << VALBITS);
-  eassert (0 <= n);
-  return n;
-}
-
-/* Extract A's value as a symbol.  */
-INLINE struct Lisp_Symbol *
-XSYMBOL (Lisp_Object a)
-{
-  uintptr_t i = (uintptr_t) XUNTAG (a, Lisp_Symbol);
-  if (! USE_LSB_TAG)
-    i <<= GCTYPEBITS;
-  void *p = (char *) lispsym + i;
-  return p;
-}
-
-/* Extract A's type.  */
-INLINE enum Lisp_Type
-XTYPE (Lisp_Object a)
-{
-  EMACS_UINT i = XLI (a);
-  return USE_LSB_TAG ? i & ~VALMASK : i >> VALBITS;
-}
-
-/* Extract A's pointer value, assuming A's type is TYPE.  */
-INLINE void *
-XUNTAG (Lisp_Object a, int type)
-{
-  intptr_t i = USE_LSB_TAG ? XLI (a) - type : XLI (a) & VALMASK;
-  return (void *) i;
-}
-
-#endif /* ! USE_LSB_TAG */
-
-/* Extract the pointer hidden within A.  */
-LISP_MACRO_DEFUN (XPNTR, void *, (Lisp_Object a), (a))
-
-/* Extract A's value as an unsigned integer.  */
-INLINE EMACS_UINT
-XUINT (Lisp_Object a)
-{
-  EMACS_UINT i = XLI (a);
-  return USE_LSB_TAG ? i >> INTTYPEBITS : i & INTMASK;
-}
-
-/* Return A's (Lisp-integer sized) hash.  Happens to be like XUINT
-   right now, but XUINT should only be applied to objects we know are
-   integers.  */
-LISP_MACRO_DEFUN (XHASH, EMACS_INT, (Lisp_Object a), (a))
-
-/* Like make_number (N), but may be faster.  N must be in nonnegative range.  */
-INLINE Lisp_Object
-make_natnum (EMACS_INT n)
-{
-  eassert (0 <= n && n <= MOST_POSITIVE_FIXNUM);
-  EMACS_INT int0 = Lisp_Int0;
-  return USE_LSB_TAG ? make_number (n) : XIL (n + (int0 << VALBITS));
-}
-
-/* Return true if X and Y are the same object.  */
-LISP_MACRO_DEFUN (EQ, bool, (Lisp_Object x, Lisp_Object y), (x, y))
-
-/* Value is true if I doesn't fit into a Lisp fixnum.  It is
-   written this way so that it also works if I is of unsigned
-   type or if I is a NaN.  */
-
-#define FIXNUM_OVERFLOW_P(i) \
-  (! ((0 <= (i) || MOST_NEGATIVE_FIXNUM <= (i)) && (i) <= MOST_POSITIVE_FIXNUM))
-
-INLINE ptrdiff_t
-clip_to_bounds (ptrdiff_t lower, EMACS_INT num, ptrdiff_t upper)
-{
-  return num < lower ? lower : num <= upper ? num : upper;
-}
-\f
-
-/* Extract a value or address from a Lisp_Object.  */
-
-LISP_MACRO_DEFUN (XCONS, struct Lisp_Cons *, (Lisp_Object a), (a))
-
-INLINE struct Lisp_Vector *
-XVECTOR (Lisp_Object a)
-{
-  eassert (VECTORLIKEP (a));
-  return XUNTAG (a, Lisp_Vectorlike);
-}
-
-INLINE struct Lisp_String *
-XSTRING (Lisp_Object a)
-{
-  eassert (STRINGP (a));
-  return XUNTAG (a, Lisp_String);
-}
-
-/* The index of the C-defined Lisp symbol SYM.
-   This can be used in a static initializer.  */
-#define SYMBOL_INDEX(sym) i##sym
-
-INLINE struct Lisp_Float *
-XFLOAT (Lisp_Object a)
-{
-  eassert (FLOATP (a));
-  return XUNTAG (a, Lisp_Float);
-}
-
-/* Pseudovector types.  */
-
-INLINE struct Lisp_Process *
-XPROCESS (Lisp_Object a)
-{
-  eassert (PROCESSP (a));
-  return XUNTAG (a, Lisp_Vectorlike);
-}
-
-INLINE struct window *
-XWINDOW (Lisp_Object a)
-{
-  eassert (WINDOWP (a));
-  return XUNTAG (a, Lisp_Vectorlike);
-}
-
-INLINE struct terminal *
-XTERMINAL (Lisp_Object a)
-{
-  eassert (TERMINALP (a));
-  return XUNTAG (a, Lisp_Vectorlike);
-}
-
-INLINE struct Lisp_Subr *
-XSUBR (Lisp_Object a)
-{
-  eassert (SUBRP (a));
-  return XUNTAG (a, Lisp_Vectorlike);
-}
-
-INLINE struct buffer *
-XBUFFER (Lisp_Object a)
-{
-  eassert (BUFFERP (a));
-  return XUNTAG (a, Lisp_Vectorlike);
-}
-
-INLINE struct Lisp_Char_Table *
-XCHAR_TABLE (Lisp_Object a)
-{
-  eassert (CHAR_TABLE_P (a));
-  return XUNTAG (a, Lisp_Vectorlike);
-}
-
-INLINE struct Lisp_Sub_Char_Table *
-XSUB_CHAR_TABLE (Lisp_Object a)
-{
-  eassert (SUB_CHAR_TABLE_P (a));
-  return XUNTAG (a, Lisp_Vectorlike);
-}
-
-INLINE struct Lisp_Bool_Vector *
-XBOOL_VECTOR (Lisp_Object a)
-{
-  eassert (BOOL_VECTOR_P (a));
-  return XUNTAG (a, Lisp_Vectorlike);
-}
-
-/* Construct a Lisp_Object from a value or address.  */
-
-INLINE Lisp_Object
-make_lisp_ptr (void *ptr, enum Lisp_Type type)
-{
-  Lisp_Object a = XIL (TAG_PTR (type, ptr));
-  eassert (XTYPE (a) == type && XUNTAG (a, type) == ptr);
-  return a;
-}
-
-INLINE Lisp_Object
-make_lisp_symbol (struct Lisp_Symbol *sym)
-{
-  Lisp_Object a = XIL (TAG_SYMOFFSET ((char *) sym - (char *) lispsym));
-  eassert (XSYMBOL (a) == sym);
-  return a;
-}
-
-INLINE Lisp_Object
-builtin_lisp_symbol (int index)
-{
-  return make_lisp_symbol (lispsym + index);
-}
-
-#define XSETINT(a, b) ((a) = make_number (b))
-#define XSETFASTINT(a, b) ((a) = make_natnum (b))
-#define XSETCONS(a, b) ((a) = make_lisp_ptr (b, Lisp_Cons))
-#define XSETVECTOR(a, b) ((a) = make_lisp_ptr (b, Lisp_Vectorlike))
-#define XSETSTRING(a, b) ((a) = make_lisp_ptr (b, Lisp_String))
-#define XSETSYMBOL(a, b) ((a) = make_lisp_symbol (b))
-#define XSETFLOAT(a, b) ((a) = make_lisp_ptr (b, Lisp_Float))
-#define XSETMISC(a, b) ((a) = make_lisp_ptr (b, Lisp_Misc))
-
-/* Pseudovector types.  */
-
-#define XSETPVECTYPE(v, code)                                          \
-  ((v)->header.size |= PSEUDOVECTOR_FLAG | ((code) << PSEUDOVECTOR_AREA_BITS))
-#define XSETPVECTYPESIZE(v, code, lispsize, restsize)          \
-  ((v)->header.size = (PSEUDOVECTOR_FLAG                       \
-                      | ((code) << PSEUDOVECTOR_AREA_BITS)     \
-                      | ((restsize) << PSEUDOVECTOR_SIZE_BITS) \
-                      | (lispsize)))
-
-/* The cast to struct vectorlike_header * avoids aliasing issues.  */
-#define XSETPSEUDOVECTOR(a, b, code) \
-  XSETTYPED_PSEUDOVECTOR (a, b,                                        \
-                         (((struct vectorlike_header *)        \
-                           XUNTAG (a, Lisp_Vectorlike))        \
-                          ->size),                             \
-                         code)
-#define XSETTYPED_PSEUDOVECTOR(a, b, size, code)                       \
-  (XSETVECTOR (a, b),                                                  \
-   eassert ((size & (PSEUDOVECTOR_FLAG | PVEC_TYPE_MASK))              \
-           == (PSEUDOVECTOR_FLAG | (code << PSEUDOVECTOR_AREA_BITS))))
-
-#define XSETWINDOW_CONFIGURATION(a, b) \
-  (XSETPSEUDOVECTOR (a, b, PVEC_WINDOW_CONFIGURATION))
-#define XSETPROCESS(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_PROCESS))
-#define XSETWINDOW(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_WINDOW))
-#define XSETTERMINAL(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_TERMINAL))
-#define XSETSUBR(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_SUBR))
-#define XSETCOMPILED(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_COMPILED))
-#define XSETBUFFER(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_BUFFER))
-#define XSETCHAR_TABLE(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_CHAR_TABLE))
-#define XSETBOOL_VECTOR(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_BOOL_VECTOR))
-#define XSETSUB_CHAR_TABLE(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_SUB_CHAR_TABLE))
-
-/* Efficiently convert a pointer to a Lisp object and back.  The
-   pointer is represented as a Lisp integer, so the garbage collector
-   does not know about it.  The pointer should not have both Lisp_Int1
-   bits set, which makes this conversion inherently unportable.  */
-
-INLINE void *
-XINTPTR (Lisp_Object a)
-{
-  return XUNTAG (a, Lisp_Int0);
-}
-
-INLINE Lisp_Object
-make_pointer_integer (void *p)
-{
-  Lisp_Object a = XIL (TAG_PTR (Lisp_Int0, p));
-  eassert (INTEGERP (a) && XINTPTR (a) == p);
-  return a;
-}
-
-/* Type checking.  */
-
-LISP_MACRO_DEFUN_VOID (CHECK_TYPE,
-                      (int ok, Lisp_Object predicate, Lisp_Object x),
-                      (ok, predicate, x))
-
-/* See the macros in intervals.h.  */
-
-typedef struct interval *INTERVAL;
-
-struct GCALIGNED Lisp_Cons
-  {
-    /* Car of this cons cell.  */
-    Lisp_Object car;
-
-    union
-    {
-      /* Cdr of this cons cell.  */
-      Lisp_Object cdr;
-
-      /* Used to chain conses on a free list.  */
-      struct Lisp_Cons *chain;
-    } u;
-  };
-
-/* Take the car or cdr of something known to be a cons cell.  */
-/* The _addr functions shouldn't be used outside of the minimal set
-   of code that has to know what a cons cell looks like.  Other code not
-   part of the basic lisp implementation should assume that the car and cdr
-   fields are not accessible.  (What if we want to switch to
-   a copying collector someday?  Cached cons cell field addresses may be
-   invalidated at arbitrary points.)  */
-INLINE Lisp_Object *
-xcar_addr (Lisp_Object c)
-{
-  return &XCONS (c)->car;
-}
-INLINE Lisp_Object *
-xcdr_addr (Lisp_Object c)
-{
-  return &XCONS (c)->u.cdr;
-}
-
-/* Use these from normal code.  */
-LISP_MACRO_DEFUN (XCAR, Lisp_Object, (Lisp_Object c), (c))
-LISP_MACRO_DEFUN (XCDR, Lisp_Object, (Lisp_Object c), (c))
-
-/* Use these to set the fields of a cons cell.
-
-   Note that both arguments may refer to the same object, so 'n'
-   should not be read after 'c' is first modified.  */
-INLINE void
-XSETCAR (Lisp_Object c, Lisp_Object n)
-{
-  *xcar_addr (c) = n;
-}
-INLINE void
-XSETCDR (Lisp_Object c, Lisp_Object n)
-{
-  *xcdr_addr (c) = n;
-}
-
-/* Take the car or cdr of something whose type is not known.  */
-INLINE Lisp_Object
-CAR (Lisp_Object c)
-{
-  return (CONSP (c) ? XCAR (c)
-         : NILP (c) ? Qnil
-         : wrong_type_argument (Qlistp, c));
-}
-INLINE Lisp_Object
-CDR (Lisp_Object c)
-{
-  return (CONSP (c) ? XCDR (c)
-         : NILP (c) ? Qnil
-         : wrong_type_argument (Qlistp, c));
-}
-
-/* Take the car or cdr of something whose type is not known.  */
-INLINE Lisp_Object
-CAR_SAFE (Lisp_Object c)
-{
-  return CONSP (c) ? XCAR (c) : Qnil;
-}
-INLINE Lisp_Object
-CDR_SAFE (Lisp_Object c)
-{
-  return CONSP (c) ? XCDR (c) : Qnil;
-}
-
-/* In a string or vector, the sign bit of the `size' is the gc mark bit.  */
-
-struct GCALIGNED Lisp_String
-  {
-    ptrdiff_t size;
-    ptrdiff_t size_byte;
-    INTERVAL intervals;                /* Text properties in this string.  */
-    unsigned char *data;
-  };
-
-/* True if STR is a multibyte string.  */
-INLINE bool
-STRING_MULTIBYTE (Lisp_Object str)
-{
-  return 0 <= XSTRING (str)->size_byte;
-}
-
-/* An upper bound on the number of bytes in a Lisp string, not
-   counting the terminating null.  This a tight enough bound to
-   prevent integer overflow errors that would otherwise occur during
-   string size calculations.  A string cannot contain more bytes than
-   a fixnum can represent, nor can it be so long that C pointer
-   arithmetic stops working on the string plus its terminating null.
-   Although the actual size limit (see STRING_BYTES_MAX in alloc.c)
-   may be a bit smaller than STRING_BYTES_BOUND, calculating it here
-   would expose alloc.c internal details that we'd rather keep
-   private.
-
-   This is a macro for use in static initializers.  The cast to
-   ptrdiff_t ensures that the macro is signed.  */
-#define STRING_BYTES_BOUND  \
-  ((ptrdiff_t) min (MOST_POSITIVE_FIXNUM, min (SIZE_MAX, PTRDIFF_MAX) - 1))
-
-/* Mark STR as a unibyte string.  */
-#define STRING_SET_UNIBYTE(STR)                                \
-  do {                                                 \
-    if (EQ (STR, empty_multibyte_string))              \
-      (STR) = empty_unibyte_string;                    \
-    else                                               \
-      XSTRING (STR)->size_byte = -1;                   \
-  } while (false)
-
-/* Mark STR as a multibyte string.  Assure that STR contains only
-   ASCII characters in advance.  */
-#define STRING_SET_MULTIBYTE(STR)                      \
-  do {                                                 \
-    if (EQ (STR, empty_unibyte_string))                        \
-      (STR) = empty_multibyte_string;                  \
-    else                                               \
-      XSTRING (STR)->size_byte = XSTRING (STR)->size;  \
-  } while (false)
-
-/* Convenience functions for dealing with Lisp strings.  */
-
-INLINE unsigned char *
-SDATA (Lisp_Object string)
-{
-  return XSTRING (string)->data;
-}
-INLINE char *
-SSDATA (Lisp_Object string)
-{
-  /* Avoid "differ in sign" warnings.  */
-  return (char *) SDATA (string);
-}
-INLINE unsigned char
-SREF (Lisp_Object string, ptrdiff_t index)
-{
-  return SDATA (string)[index];
-}
-INLINE void
-SSET (Lisp_Object string, ptrdiff_t index, unsigned char new)
-{
-  SDATA (string)[index] = new;
-}
-INLINE ptrdiff_t
-SCHARS (Lisp_Object string)
-{
-  return XSTRING (string)->size;
-}
-
-#ifdef GC_CHECK_STRING_BYTES
-extern ptrdiff_t string_bytes (struct Lisp_String *);
-#endif
-INLINE ptrdiff_t
-STRING_BYTES (struct Lisp_String *s)
-{
-#ifdef GC_CHECK_STRING_BYTES
-  return string_bytes (s);
-#else
-  return s->size_byte < 0 ? s->size : s->size_byte;
-#endif
-}
-
-INLINE ptrdiff_t
-SBYTES (Lisp_Object string)
-{
-  return STRING_BYTES (XSTRING (string));
-}
-INLINE void
-STRING_SET_CHARS (Lisp_Object string, ptrdiff_t newsize)
-{
-  XSTRING (string)->size = newsize;
-}
-
-/* Header of vector-like objects.  This documents the layout constraints on
-   vectors and pseudovectors (objects of PVEC_xxx subtype).  It also prevents
-   compilers from being fooled by Emacs's type punning: XSETPSEUDOVECTOR
-   and PSEUDOVECTORP cast their pointers to struct vectorlike_header *,
-   because when two such pointers potentially alias, a compiler won't
-   incorrectly reorder loads and stores to their size fields.  See
-   Bug#8546.  */
-struct vectorlike_header
-  {
-    /* The only field contains various pieces of information:
-       - The MSB (ARRAY_MARK_FLAG) holds the gcmarkbit.
-       - The next bit (PSEUDOVECTOR_FLAG) indicates whether this is a plain
-         vector (0) or a pseudovector (1).
-       - If PSEUDOVECTOR_FLAG is 0, the rest holds the size (number
-         of slots) of the vector.
-       - If PSEUDOVECTOR_FLAG is 1, the rest is subdivided into three fields:
-        - a) pseudovector subtype held in PVEC_TYPE_MASK field;
-        - b) number of Lisp_Objects slots at the beginning of the object
-          held in PSEUDOVECTOR_SIZE_MASK field.  These objects are always
-          traced by the GC;
-        - c) size of the rest fields held in PSEUDOVECTOR_REST_MASK and
-          measured in word_size units.  Rest fields may also include
-          Lisp_Objects, but these objects usually needs some special treatment
-          during GC.
-        There are some exceptions.  For PVEC_FREE, b) is always zero.  For
-        PVEC_BOOL_VECTOR and PVEC_SUBR, both b) and c) are always zero.
-        Current layout limits the pseudovectors to 63 PVEC_xxx subtypes,
-        4095 Lisp_Objects in GC-ed area and 4095 word-sized other slots.  */
-    ptrdiff_t size;
-  };
-
-/* A regular vector is just a header plus an array of Lisp_Objects.  */
-
-struct Lisp_Vector
-  {
-    struct vectorlike_header header;
-    Lisp_Object contents[FLEXIBLE_ARRAY_MEMBER];
-  };
-
-/* C11 prohibits alignof (struct Lisp_Vector), so compute it manually.  */
-enum
-  {
-    ALIGNOF_STRUCT_LISP_VECTOR
-      = alignof (union { struct vectorlike_header a; Lisp_Object b; })
-  };
-
-/* A boolvector is a kind of vectorlike, with contents like a string.  */
-
-struct Lisp_Bool_Vector
-  {
-    /* HEADER.SIZE is the vector's size field.  It doesn't have the real size,
-       just the subtype information.  */
-    struct vectorlike_header header;
-    /* This is the size in bits.  */
-    EMACS_INT size;
-    /* The actual bits, packed into bytes.
-       Zeros fill out the last word if needed.
-       The bits are in little-endian order in the bytes, and
-       the bytes are in little-endian order in the words.  */
-    bits_word data[FLEXIBLE_ARRAY_MEMBER];
-  };
-
-INLINE EMACS_INT
-bool_vector_size (Lisp_Object a)
-{
-  EMACS_INT size = XBOOL_VECTOR (a)->size;
-  eassume (0 <= size);
-  return size;
-}
-
-INLINE bits_word *
-bool_vector_data (Lisp_Object a)
-{
-  return XBOOL_VECTOR (a)->data;
-}
-
-INLINE unsigned char *
-bool_vector_uchar_data (Lisp_Object a)
-{
-  return (unsigned char *) bool_vector_data (a);
-}
-
-/* The number of data words and bytes in a bool vector with SIZE bits.  */
-
-INLINE EMACS_INT
-bool_vector_words (EMACS_INT size)
-{
-  eassume (0 <= size && size <= EMACS_INT_MAX - (BITS_PER_BITS_WORD - 1));
-  return (size + BITS_PER_BITS_WORD - 1) / BITS_PER_BITS_WORD;
-}
-
-INLINE EMACS_INT
-bool_vector_bytes (EMACS_INT size)
-{
-  eassume (0 <= size && size <= EMACS_INT_MAX - (BITS_PER_BITS_WORD - 1));
-  return (size + BOOL_VECTOR_BITS_PER_CHAR - 1) / BOOL_VECTOR_BITS_PER_CHAR;
-}
-
-/* True if A's Ith bit is set.  */
-
-INLINE bool
-bool_vector_bitref (Lisp_Object a, EMACS_INT i)
-{
-  eassume (0 <= i && i < bool_vector_size (a));
-  return !! (bool_vector_uchar_data (a)[i / BOOL_VECTOR_BITS_PER_CHAR]
-            & (1 << (i % BOOL_VECTOR_BITS_PER_CHAR)));
-}
-
-INLINE Lisp_Object
-bool_vector_ref (Lisp_Object a, EMACS_INT i)
-{
-  return bool_vector_bitref (a, i) ? Qt : Qnil;
-}
-
-/* Set A's Ith bit to B.  */
-
-INLINE void
-bool_vector_set (Lisp_Object a, EMACS_INT i, bool b)
-{
-  unsigned char *addr;
-
-  eassume (0 <= i && i < bool_vector_size (a));
-  addr = &bool_vector_uchar_data (a)[i / BOOL_VECTOR_BITS_PER_CHAR];
-
-  if (b)
-    *addr |= 1 << (i % BOOL_VECTOR_BITS_PER_CHAR);
-  else
-    *addr &= ~ (1 << (i % BOOL_VECTOR_BITS_PER_CHAR));
-}
-
-/* Some handy constants for calculating sizes
-   and offsets, mostly of vectorlike objects.   */
-
-enum
-  {
-    header_size = offsetof (struct Lisp_Vector, contents),
-    bool_header_size = offsetof (struct Lisp_Bool_Vector, data),
-    word_size = sizeof (Lisp_Object)
-  };
-
-/* Conveniences for dealing with Lisp arrays.  */
-
-INLINE Lisp_Object
-AREF (Lisp_Object array, ptrdiff_t idx)
-{
-  return XVECTOR (array)->contents[idx];
-}
-
-INLINE Lisp_Object *
-aref_addr (Lisp_Object array, ptrdiff_t idx)
-{
-  return & XVECTOR (array)->contents[idx];
-}
-
-INLINE ptrdiff_t
-ASIZE (Lisp_Object array)
-{
-  return XVECTOR (array)->header.size;
-}
-
-INLINE void
-ASET (Lisp_Object array, ptrdiff_t idx, Lisp_Object val)
-{
-  eassert (0 <= idx && idx < ASIZE (array));
-  XVECTOR (array)->contents[idx] = val;
-}
-
-INLINE void
-gc_aset (Lisp_Object array, ptrdiff_t idx, Lisp_Object val)
-{
-  /* Like ASET, but also can be used in the garbage collector:
-     sweep_weak_table calls set_hash_key etc. while the table is marked.  */
-  eassert (0 <= idx && idx < (ASIZE (array) & ~ARRAY_MARK_FLAG));
-  XVECTOR (array)->contents[idx] = val;
-}
-
-/* True, since Qnil's representation is zero.  Every place in the code
-   that assumes Qnil is zero should verify (NIL_IS_ZERO), to make it easy
-   to find such assumptions later if we change Qnil to be nonzero.  */
-enum { NIL_IS_ZERO = XLI_BUILTIN_LISPSYM (iQnil) == 0 };
-
-/* Clear the object addressed by P, with size NBYTES, so that all its
-   bytes are zero and all its Lisp values are nil.  */
-INLINE void
-memclear (void *p, ptrdiff_t nbytes)
-{
-  eassert (0 <= nbytes);
-  verify (NIL_IS_ZERO);
-  /* Since Qnil is zero, memset suffices.  */
-  memset (p, 0, nbytes);
-}
-
-/* If a struct is made to look like a vector, this macro returns the length
-   of the shortest vector that would hold that struct.  */
-
-#define VECSIZE(type)                                          \
-  ((sizeof (type) - header_size + word_size - 1) / word_size)
-
-/* Like VECSIZE, but used when the pseudo-vector has non-Lisp_Object fields
-   at the end and we need to compute the number of Lisp_Object fields (the
-   ones that the GC needs to trace).  */
-
-#define PSEUDOVECSIZE(type, nonlispfield)                      \
-  ((offsetof (type, nonlispfield) - header_size) / word_size)
-
-/* Compute A OP B, using the unsigned comparison operator OP.  A and B
-   should be integer expressions.  This is not the same as
-   mathematical comparison; for example, UNSIGNED_CMP (0, <, -1)
-   returns true.  For efficiency, prefer plain unsigned comparison if A
-   and B's sizes both fit (after integer promotion).  */
-#define UNSIGNED_CMP(a, op, b)                                         \
-  (max (sizeof ((a) + 0), sizeof ((b) + 0)) <= sizeof (unsigned)       \
-   ? ((a) + (unsigned) 0) op ((b) + (unsigned) 0)                      \
-   : ((a) + (uintmax_t) 0) op ((b) + (uintmax_t) 0))
-
-/* True iff C is an ASCII character.  */
-#define ASCII_CHAR_P(c) UNSIGNED_CMP (c, <, 0x80)
-
-/* A char-table is a kind of vectorlike, with contents are like a
-   vector but with a few other slots.  For some purposes, it makes
-   sense to handle a char-table with type struct Lisp_Vector.  An
-   element of a char table can be any Lisp objects, but if it is a sub
-   char-table, we treat it a table that contains information of a
-   specific range of characters.  A sub char-table is like a vector but
-   with two integer fields between the header and Lisp data, which means
-   that it has to be marked with some precautions (see mark_char_table
-   in alloc.c).  A sub char-table appears only in an element of a char-table,
-   and there's no way to access it directly from Emacs Lisp program.  */
-
-enum CHARTAB_SIZE_BITS
-  {
-    CHARTAB_SIZE_BITS_0 = 6,
-    CHARTAB_SIZE_BITS_1 = 4,
-    CHARTAB_SIZE_BITS_2 = 5,
-    CHARTAB_SIZE_BITS_3 = 7
-  };
-
-extern const int chartab_size[4];
-
-struct Lisp_Char_Table
-  {
-    /* HEADER.SIZE is the vector's size field, which also holds the
-       pseudovector type information.  It holds the size, too.
-       The size counts the defalt, parent, purpose, ascii,
-       contents, and extras slots.  */
-    struct vectorlike_header header;
-
-    /* This holds a default value,
-       which is used whenever the value for a specific character is nil.  */
-    Lisp_Object defalt;
-
-    /* This points to another char table, which we inherit from when the
-       value for a specific character is nil.  The `defalt' slot takes
-       precedence over this.  */
-    Lisp_Object parent;
-
-    /* This is a symbol which says what kind of use this char-table is
-       meant for.  */
-    Lisp_Object purpose;
-
-    /* The bottom sub char-table for characters of the range 0..127.  It
-       is nil if none of ASCII character has a specific value.  */
-    Lisp_Object ascii;
-
-    Lisp_Object contents[(1 << CHARTAB_SIZE_BITS_0)];
-
-    /* These hold additional data.  It is a vector.  */
-    Lisp_Object extras[FLEXIBLE_ARRAY_MEMBER];
-  };
-
-struct Lisp_Sub_Char_Table
-  {
-    /* HEADER.SIZE is the vector's size field, which also holds the
-       pseudovector type information.  It holds the size, too.  */
-    struct vectorlike_header header;
-
-    /* Depth of this sub char-table.  It should be 1, 2, or 3.  A sub
-       char-table of depth 1 contains 16 elements, and each element
-       covers 4096 (128*32) characters.  A sub char-table of depth 2
-       contains 32 elements, and each element covers 128 characters.  A
-       sub char-table of depth 3 contains 128 elements, and each element
-       is for one character.  */
-    int depth;
-
-    /* Minimum character covered by the sub char-table.  */
-    int min_char;
-
-    /* Use set_sub_char_table_contents to set this.  */
-    Lisp_Object contents[FLEXIBLE_ARRAY_MEMBER];
-  };
-
-INLINE Lisp_Object
-CHAR_TABLE_REF_ASCII (Lisp_Object ct, ptrdiff_t idx)
-{
-  struct Lisp_Char_Table *tbl = NULL;
-  Lisp_Object val;
-  do
-    {
-      tbl = tbl ? XCHAR_TABLE (tbl->parent) : XCHAR_TABLE (ct);
-      val = (! SUB_CHAR_TABLE_P (tbl->ascii) ? tbl->ascii
-            : XSUB_CHAR_TABLE (tbl->ascii)->contents[idx]);
-      if (NILP (val))
-       val = tbl->defalt;
-    }
-  while (NILP (val) && ! NILP (tbl->parent));
-
-  return val;
-}
-
-/* Almost equivalent to Faref (CT, IDX) with optimization for ASCII
-   characters.  Do not check validity of CT.  */
-INLINE Lisp_Object
-CHAR_TABLE_REF (Lisp_Object ct, int idx)
-{
-  return (ASCII_CHAR_P (idx)
-         ? CHAR_TABLE_REF_ASCII (ct, idx)
-         : char_table_ref (ct, idx));
-}
-
-/* Equivalent to Faset (CT, IDX, VAL) with optimization for ASCII and
-   8-bit European characters.  Do not check validity of CT.  */
-INLINE void
-CHAR_TABLE_SET (Lisp_Object ct, int idx, Lisp_Object val)
-{
-  if (ASCII_CHAR_P (idx) && SUB_CHAR_TABLE_P (XCHAR_TABLE (ct)->ascii))
-    set_sub_char_table_contents (XCHAR_TABLE (ct)->ascii, idx, val);
-  else
-    char_table_set (ct, idx, val);
-}
-
-/* This structure describes a built-in function.
-   It is generated by the DEFUN macro only.
-   defsubr makes it into a Lisp object.  */
-
-struct Lisp_Subr
-  {
-    struct vectorlike_header header;
-    union {
-      Lisp_Object (*a0) (void);
-      Lisp_Object (*a1) (Lisp_Object);
-      Lisp_Object (*a2) (Lisp_Object, Lisp_Object);
-      Lisp_Object (*a3) (Lisp_Object, Lisp_Object, Lisp_Object);
-      Lisp_Object (*a4) (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
-      Lisp_Object (*a5) (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
-      Lisp_Object (*a6) (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
-      Lisp_Object (*a7) (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
-      Lisp_Object (*a8) (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
-      Lisp_Object (*aUNEVALLED) (Lisp_Object args);
-      Lisp_Object (*aMANY) (ptrdiff_t, Lisp_Object *);
-    } function;
-    short min_args, max_args;
-    const char *symbol_name;
-    const char *intspec;
-    const char *doc;
-  };
-
-enum char_table_specials
-  {
-    /* This is the number of slots that every char table must have.  This
-       counts the ordinary slots and the top, defalt, parent, and purpose
-       slots.  */
-    CHAR_TABLE_STANDARD_SLOTS = PSEUDOVECSIZE (struct Lisp_Char_Table, extras),
-
-    /* This is an index of first Lisp_Object field in Lisp_Sub_Char_Table
-       when the latter is treated as an ordinary Lisp_Vector.  */
-    SUB_CHAR_TABLE_OFFSET = PSEUDOVECSIZE (struct Lisp_Sub_Char_Table, contents)
-  };
-
-/* Return the number of "extra" slots in the char table CT.  */
-
-INLINE int
-CHAR_TABLE_EXTRA_SLOTS (struct Lisp_Char_Table *ct)
-{
-  return ((ct->header.size & PSEUDOVECTOR_SIZE_MASK)
-         - CHAR_TABLE_STANDARD_SLOTS);
-}
-
-/* Make sure that sub char-table contents slot is where we think it is.  */
-verify (offsetof (struct Lisp_Sub_Char_Table, contents)
-       == offsetof (struct Lisp_Vector, contents[SUB_CHAR_TABLE_OFFSET]));
-
-/***********************************************************************
-                              Symbols
- ***********************************************************************/
-
-/* Value is name of symbol.  */
-
-LISP_MACRO_DEFUN (SYMBOL_VAL, Lisp_Object, (struct Lisp_Symbol *sym), (sym))
-
-INLINE struct Lisp_Symbol *
-SYMBOL_ALIAS (struct Lisp_Symbol *sym)
-{
-  eassert (sym->redirect == SYMBOL_VARALIAS);
-  return sym->val.alias;
-}
-INLINE struct Lisp_Buffer_Local_Value *
-SYMBOL_BLV (struct Lisp_Symbol *sym)
-{
-  eassert (sym->redirect == SYMBOL_LOCALIZED);
-  return sym->val.blv;
-}
-INLINE union Lisp_Fwd *
-SYMBOL_FWD (struct Lisp_Symbol *sym)
-{
-  eassert (sym->redirect == SYMBOL_FORWARDED);
-  return sym->val.fwd;
-}
-
-LISP_MACRO_DEFUN_VOID (SET_SYMBOL_VAL,
-                      (struct Lisp_Symbol *sym, Lisp_Object v), (sym, v))
-
-INLINE void
-SET_SYMBOL_ALIAS (struct Lisp_Symbol *sym, struct Lisp_Symbol *v)
-{
-  eassert (sym->redirect == SYMBOL_VARALIAS);
-  sym->val.alias = v;
-}
-INLINE void
-SET_SYMBOL_BLV (struct Lisp_Symbol *sym, struct Lisp_Buffer_Local_Value *v)
-{
-  eassert (sym->redirect == SYMBOL_LOCALIZED);
-  sym->val.blv = v;
-}
-INLINE void
-SET_SYMBOL_FWD (struct Lisp_Symbol *sym, union Lisp_Fwd *v)
-{
-  eassert (sym->redirect == SYMBOL_FORWARDED);
-  sym->val.fwd = v;
-}
-
-INLINE Lisp_Object
-SYMBOL_NAME (Lisp_Object sym)
-{
-  return XSYMBOL (sym)->name;
-}
-
-/* Value is true if SYM is an interned symbol.  */
-
-INLINE bool
-SYMBOL_INTERNED_P (Lisp_Object sym)
-{
-  return XSYMBOL (sym)->interned != SYMBOL_UNINTERNED;
-}
-
-/* Value is true if SYM is interned in initial_obarray.  */
-
-INLINE bool
-SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P (Lisp_Object sym)
-{
-  return XSYMBOL (sym)->interned == SYMBOL_INTERNED_IN_INITIAL_OBARRAY;
-}
-
-/* Value is non-zero if symbol is considered a constant, i.e. its
-   value cannot be changed (there is an exception for keyword symbols,
-   whose value can be set to the keyword symbol itself).  */
-
-LISP_MACRO_DEFUN (SYMBOL_CONSTANT_P, int, (Lisp_Object sym), (sym))
-
-/* Placeholder for make-docfile to process.  The actual symbol
-   definition is done by lread.c's defsym.  */
-#define DEFSYM(sym, name) /* empty */
-
-\f
-/***********************************************************************
-                            Hash Tables
- ***********************************************************************/
-
-/* The structure of a Lisp hash table.  */
-
-struct hash_table_test
-{
-  /* Name of the function used to compare keys.  */
-  Lisp_Object name;
-
-  /* User-supplied hash function, or nil.  */
-  Lisp_Object user_hash_function;
-
-  /* User-supplied key comparison function, or nil.  */
-  Lisp_Object user_cmp_function;
-
-  /* C function to compare two keys.  */
-  bool (*cmpfn) (struct hash_table_test *t, Lisp_Object, Lisp_Object);
-
-  /* C function to compute hash code.  */
-  EMACS_UINT (*hashfn) (struct hash_table_test *t, Lisp_Object);
-};
-
-struct Lisp_Hash_Table
-{
-  /* This is for Lisp; the hash table code does not refer to it.  */
-  struct vectorlike_header header;
-
-  /* Nil if table is non-weak.  Otherwise a symbol describing the
-     weakness of the table.  */
-  Lisp_Object weak;
-
-  /* When the table is resized, and this is an integer, compute the
-     new size by adding this to the old size.  If a float, compute the
-     new size by multiplying the old size with this factor.  */
-  Lisp_Object rehash_size;
-
-  /* Resize hash table when number of entries/ table size is >= this
-     ratio, a float.  */
-  Lisp_Object rehash_threshold;
-
-  /* Vector of hash codes.  If hash[I] is nil, this means that the
-     I-th entry is unused.  */
-  Lisp_Object hash;
-
-  /* Vector used to chain entries.  If entry I is free, next[I] is the
-     entry number of the next free item.  If entry I is non-free,
-     next[I] is the index of the next entry in the collision chain.  */
-  Lisp_Object next;
-
-  /* Index of first free entry in free list.  */
-  Lisp_Object next_free;
-
-  /* Bucket vector.  A non-nil entry is the index of the first item in
-     a collision chain.  This vector's size can be larger than the
-     hash table size to reduce collisions.  */
-  Lisp_Object index;
-
-  /* Only the fields above are traced normally by the GC.  The ones below
-     `count' are special and are either ignored by the GC or traced in
-     a special way (e.g. because of weakness).  */
-
-  /* Number of key/value entries in the table.  */
-  ptrdiff_t count;
-
-  /* Vector of keys and values.  The key of item I is found at index
-     2 * I, the value is found at index 2 * I + 1.
-     This is gc_marked specially if the table is weak.  */
-  Lisp_Object key_and_value;
-
-  /* The comparison and hash functions.  */
-  struct hash_table_test test;
-
-  /* Next weak hash table if this is a weak hash table.  The head
-     of the list is in weak_hash_tables.  */
-  struct Lisp_Hash_Table *next_weak;
-};
-
-
-INLINE struct Lisp_Hash_Table *
-XHASH_TABLE (Lisp_Object a)
-{
-  return XUNTAG (a, Lisp_Vectorlike);
-}
-
-#define XSET_HASH_TABLE(VAR, PTR) \
-     (XSETPSEUDOVECTOR (VAR, PTR, PVEC_HASH_TABLE))
-
-INLINE bool
-HASH_TABLE_P (Lisp_Object a)
-{
-  return PSEUDOVECTORP (a, PVEC_HASH_TABLE);
-}
-
-/* Value is the key part of entry IDX in hash table H.  */
-INLINE Lisp_Object
-HASH_KEY (struct Lisp_Hash_Table *h, ptrdiff_t idx)
-{
-  return AREF (h->key_and_value, 2 * idx);
-}
-
-/* Value is the value part of entry IDX in hash table H.  */
-INLINE Lisp_Object
-HASH_VALUE (struct Lisp_Hash_Table *h, ptrdiff_t idx)
-{
-  return AREF (h->key_and_value, 2 * idx + 1);
-}
-
-/* Value is the index of the next entry following the one at IDX
-   in hash table H.  */
-INLINE Lisp_Object
-HASH_NEXT (struct Lisp_Hash_Table *h, ptrdiff_t idx)
-{
-  return AREF (h->next, idx);
-}
-
-/* Value is the hash code computed for entry IDX in hash table H.  */
-INLINE Lisp_Object
-HASH_HASH (struct Lisp_Hash_Table *h, ptrdiff_t idx)
-{
-  return AREF (h->hash, idx);
-}
-
-/* Value is the index of the element in hash table H that is the
-   start of the collision list at index IDX in the index vector of H.  */
-INLINE Lisp_Object
-HASH_INDEX (struct Lisp_Hash_Table *h, ptrdiff_t idx)
-{
-  return AREF (h->index, idx);
-}
-
-/* Value is the size of hash table H.  */
-INLINE ptrdiff_t
-HASH_TABLE_SIZE (struct Lisp_Hash_Table *h)
-{
-  return ASIZE (h->next);
-}
-
-/* Default size for hash tables if not specified.  */
-
-enum DEFAULT_HASH_SIZE { DEFAULT_HASH_SIZE = 65 };
-
-/* Default threshold specifying when to resize a hash table.  The
-   value gives the ratio of current entries in the hash table and the
-   size of the hash table.  */
-
-static double const DEFAULT_REHASH_THRESHOLD = 0.8;
-
-/* Default factor by which to increase the size of a hash table.  */
-
-static double const DEFAULT_REHASH_SIZE = 1.5;
-
-/* Combine two integers X and Y for hashing.  The result might not fit
-   into a Lisp integer.  */
-
-INLINE EMACS_UINT
-sxhash_combine (EMACS_UINT x, EMACS_UINT y)
-{
-  return (x << 4) + (x >> (BITS_PER_EMACS_INT - 4)) + y;
-}
-
-/* Hash X, returning a value that fits into a fixnum.  */
-
-INLINE EMACS_UINT
-SXHASH_REDUCE (EMACS_UINT x)
-{
-  return (x ^ x >> (BITS_PER_EMACS_INT - FIXNUM_BITS)) & INTMASK;
-}
-
-/* These structures are used for various misc types.  */
-
-struct Lisp_Misc_Any           /* Supertype of all Misc types.  */
-{
-  ENUM_BF (Lisp_Misc_Type) type : 16;          /* = Lisp_Misc_??? */
-  bool_bf gcmarkbit : 1;
-  unsigned spacer : 15;
-};
-
-struct Lisp_Marker
-{
-  ENUM_BF (Lisp_Misc_Type) type : 16;          /* = Lisp_Misc_Marker */
-  bool_bf gcmarkbit : 1;
-  unsigned spacer : 13;
-  /* This flag is temporarily used in the functions
-     decode/encode_coding_object to record that the marker position
-     must be adjusted after the conversion.  */
-  bool_bf need_adjustment : 1;
-  /* True means normal insertion at the marker's position
-     leaves the marker after the inserted text.  */
-  bool_bf insertion_type : 1;
-  /* This is the buffer that the marker points into, or 0 if it points nowhere.
-     Note: a chain of markers can contain markers pointing into different
-     buffers (the chain is per buffer_text rather than per buffer, so it's
-     shared between indirect buffers).  */
-  /* This is used for (other than NULL-checking):
-     - Fmarker_buffer
-     - Fset_marker: check eq(oldbuf, newbuf) to avoid unchain+rechain.
-     - unchain_marker: to find the list from which to unchain.
-     - Fkill_buffer: to only unchain the markers of current indirect buffer.
-     */
-  struct buffer *buffer;
-
-  /* The remaining fields are meaningless in a marker that
-     does not point anywhere.  */
-
-  /* For markers that point somewhere,
-     this is used to chain of all the markers in a given buffer.  */
-  /* We could remove it and use an array in buffer_text instead.
-     That would also allow us to preserve it ordered.  */
-  struct Lisp_Marker *next;
-  /* This is the char position where the marker points.  */
-  ptrdiff_t charpos;
-  /* This is the byte position.
-     It's mostly used as a charpos<->bytepos cache (i.e. it's not directly
-     used to implement the functionality of markers, but rather to (ab)use
-     markers as a cache for char<->byte mappings).  */
-  ptrdiff_t bytepos;
-};
-
-/* START and END are markers in the overlay's buffer, and
-   PLIST is the overlay's property list.  */
-struct Lisp_Overlay
-/* An overlay's real data content is:
-   - plist
-   - buffer (really there are two buffer pointers, one per marker,
-     and both points to the same buffer)
-   - insertion type of both ends (per-marker fields)
-   - start & start byte (of start marker)
-   - end & end byte (of end marker)
-   - next (singly linked list of overlays)
-   - next fields of start and end markers (singly linked list of markers).
-   I.e. 9words plus 2 bits, 3words of which are for external linked lists.
-*/
-  {
-    ENUM_BF (Lisp_Misc_Type) type : 16;        /* = Lisp_Misc_Overlay */
-    bool_bf gcmarkbit : 1;
-    unsigned spacer : 15;
-    struct Lisp_Overlay *next;
-    Lisp_Object start;
-    Lisp_Object end;
-    Lisp_Object plist;
-  };
-
-/* Types of data which may be saved in a Lisp_Save_Value.  */
-
-enum
-  {
-    SAVE_UNUSED,
-    SAVE_INTEGER,
-    SAVE_FUNCPOINTER,
-    SAVE_POINTER,
-    SAVE_OBJECT
-  };
-
-/* Number of bits needed to store one of the above values.  */
-enum { SAVE_SLOT_BITS = 3 };
-
-/* Number of slots in a save value where save_type is nonzero.  */
-enum { SAVE_VALUE_SLOTS = 4 };
-
-/* Bit-width and values for struct Lisp_Save_Value's save_type member.  */
-
-enum { SAVE_TYPE_BITS = SAVE_VALUE_SLOTS * SAVE_SLOT_BITS + 1 };
-
-enum Lisp_Save_Type
-  {
-    SAVE_TYPE_INT_INT = SAVE_INTEGER + (SAVE_INTEGER << SAVE_SLOT_BITS),
-    SAVE_TYPE_INT_INT_INT
-      = (SAVE_INTEGER + (SAVE_TYPE_INT_INT << SAVE_SLOT_BITS)),
-    SAVE_TYPE_OBJ_OBJ = SAVE_OBJECT + (SAVE_OBJECT << SAVE_SLOT_BITS),
-    SAVE_TYPE_OBJ_OBJ_OBJ = SAVE_OBJECT + (SAVE_TYPE_OBJ_OBJ << SAVE_SLOT_BITS),
-    SAVE_TYPE_OBJ_OBJ_OBJ_OBJ
-      = SAVE_OBJECT + (SAVE_TYPE_OBJ_OBJ_OBJ << SAVE_SLOT_BITS),
-    SAVE_TYPE_PTR_INT = SAVE_POINTER + (SAVE_INTEGER << SAVE_SLOT_BITS),
-    SAVE_TYPE_PTR_OBJ = SAVE_POINTER + (SAVE_OBJECT << SAVE_SLOT_BITS),
-    SAVE_TYPE_PTR_PTR = SAVE_POINTER + (SAVE_POINTER << SAVE_SLOT_BITS),
-    SAVE_TYPE_FUNCPTR_PTR_OBJ
-      = SAVE_FUNCPOINTER + (SAVE_TYPE_PTR_OBJ << SAVE_SLOT_BITS),
-
-    /* This has an extra bit indicating it's raw memory.  */
-    SAVE_TYPE_MEMORY = SAVE_TYPE_PTR_INT + (1 << (SAVE_TYPE_BITS - 1))
-  };
-
-/* Special object used to hold a different values for later use.
-
-   This is mostly used to package C integers and pointers to call
-   record_unwind_protect when two or more values need to be saved.
-   For example:
-
-   ...
-     struct my_data *md = get_my_data ();
-     ptrdiff_t mi = get_my_integer ();
-     record_unwind_protect (my_unwind, make_save_ptr_int (md, mi));
-   ...
-
-   Lisp_Object my_unwind (Lisp_Object arg)
-   {
-     struct my_data *md = XSAVE_POINTER (arg, 0);
-     ptrdiff_t mi = XSAVE_INTEGER (arg, 1);
-     ...
-   }
-
-   If ENABLE_CHECKING is in effect, XSAVE_xxx macros do type checking of the
-   saved objects and raise eassert if type of the saved object doesn't match
-   the type which is extracted.  In the example above, XSAVE_INTEGER (arg, 2)
-   and XSAVE_OBJECT (arg, 0) are wrong because nothing was saved in slot 2 and
-   slot 0 is a pointer.  */
-
-typedef void (*voidfuncptr) (void);
-
-struct Lisp_Save_Value
-  {
-    ENUM_BF (Lisp_Misc_Type) type : 16;        /* = Lisp_Misc_Save_Value */
-    bool_bf gcmarkbit : 1;
-    unsigned spacer : 32 - (16 + 1 + SAVE_TYPE_BITS);
-
-    /* V->data may hold up to SAVE_VALUE_SLOTS entries.  The type of
-       V's data entries are determined by V->save_type.  E.g., if
-       V->save_type == SAVE_TYPE_PTR_OBJ, V->data[0] is a pointer,
-       V->data[1] is an integer, and V's other data entries are unused.
-
-       If V->save_type == SAVE_TYPE_MEMORY, V->data[0].pointer is the address of
-       a memory area containing V->data[1].integer potential Lisp_Objects.  */
-    ENUM_BF (Lisp_Save_Type) save_type : SAVE_TYPE_BITS;
-    union {
-      void *pointer;
-      voidfuncptr funcpointer;
-      ptrdiff_t integer;
-      Lisp_Object object;
-    } data[SAVE_VALUE_SLOTS];
-  };
-
-/* Return the type of V's Nth saved value.  */
-INLINE int
-save_type (struct Lisp_Save_Value *v, int n)
-{
-  eassert (0 <= n && n < SAVE_VALUE_SLOTS);
-  return (v->save_type >> (SAVE_SLOT_BITS * n) & ((1 << SAVE_SLOT_BITS) - 1));
-}
-
-/* Get and set the Nth saved pointer.  */
-
-INLINE void *
-XSAVE_POINTER (Lisp_Object obj, int n)
-{
-  eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_POINTER);
-  return XSAVE_VALUE (obj)->data[n].pointer;
-}
-INLINE void
-set_save_pointer (Lisp_Object obj, int n, void *val)
-{
-  eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_POINTER);
-  XSAVE_VALUE (obj)->data[n].pointer = val;
-}
-INLINE voidfuncptr
-XSAVE_FUNCPOINTER (Lisp_Object obj, int n)
-{
-  eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_FUNCPOINTER);
-  return XSAVE_VALUE (obj)->data[n].funcpointer;
-}
-
-/* Likewise for the saved integer.  */
-
-INLINE ptrdiff_t
-XSAVE_INTEGER (Lisp_Object obj, int n)
-{
-  eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_INTEGER);
-  return XSAVE_VALUE (obj)->data[n].integer;
-}
-INLINE void
-set_save_integer (Lisp_Object obj, int n, ptrdiff_t val)
-{
-  eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_INTEGER);
-  XSAVE_VALUE (obj)->data[n].integer = val;
-}
-
-/* Extract Nth saved object.  */
-
-INLINE Lisp_Object
-XSAVE_OBJECT (Lisp_Object obj, int n)
-{
-  eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_OBJECT);
-  return XSAVE_VALUE (obj)->data[n].object;
-}
-
-/* A finalizer sentinel.  */
-struct Lisp_Finalizer
-  {
-    struct Lisp_Misc_Any base;
-
-    /* Circular list of all active weak references.  */
-    struct Lisp_Finalizer *prev;
-    struct Lisp_Finalizer *next;
-
-    /* Call FUNCTION when the finalizer becomes unreachable, even if
-       FUNCTION contains a reference to the finalizer; i.e., call
-       FUNCTION when it is reachable _only_ through finalizers.  */
-    Lisp_Object function;
-  };
-
-/* A miscellaneous object, when it's on the free list.  */
-struct Lisp_Free
-  {
-    ENUM_BF (Lisp_Misc_Type) type : 16;        /* = Lisp_Misc_Free */
-    bool_bf gcmarkbit : 1;
-    unsigned spacer : 15;
-    union Lisp_Misc *chain;
-  };
-
-/* To get the type field of a union Lisp_Misc, use XMISCTYPE.
-   It uses one of these struct subtypes to get the type field.  */
-
-union Lisp_Misc
-  {
-    struct Lisp_Misc_Any u_any;           /* Supertype of all Misc types.  */
-    struct Lisp_Free u_free;
-    struct Lisp_Marker u_marker;
-    struct Lisp_Overlay u_overlay;
-    struct Lisp_Save_Value u_save_value;
-    struct Lisp_Finalizer u_finalizer;
-  };
-
-INLINE union Lisp_Misc *
-XMISC (Lisp_Object a)
-{
-  return XUNTAG (a, Lisp_Misc);
-}
-
-INLINE struct Lisp_Misc_Any *
-XMISCANY (Lisp_Object a)
-{
-  eassert (MISCP (a));
-  return & XMISC (a)->u_any;
-}
-
-INLINE enum Lisp_Misc_Type
-XMISCTYPE (Lisp_Object a)
-{
-  return XMISCANY (a)->type;
-}
-
-INLINE struct Lisp_Marker *
-XMARKER (Lisp_Object a)
-{
-  eassert (MARKERP (a));
-  return & XMISC (a)->u_marker;
-}
-
-INLINE struct Lisp_Overlay *
-XOVERLAY (Lisp_Object a)
-{
-  eassert (OVERLAYP (a));
-  return & XMISC (a)->u_overlay;
-}
-
-INLINE struct Lisp_Save_Value *
-XSAVE_VALUE (Lisp_Object a)
-{
-  eassert (SAVE_VALUEP (a));
-  return & XMISC (a)->u_save_value;
-}
-
-INLINE struct Lisp_Finalizer *
-XFINALIZER (Lisp_Object a)
-{
-  eassert (FINALIZERP (a));
-  return & XMISC (a)->u_finalizer;
-}
-
-\f
-/* Forwarding pointer to an int variable.
-   This is allowed only in the value cell of a symbol,
-   and it means that the symbol's value really lives in the
-   specified int variable.  */
-struct Lisp_Intfwd
-  {
-    enum Lisp_Fwd_Type type;   /* = Lisp_Fwd_Int */
-    EMACS_INT *intvar;
-  };
-
-/* Boolean forwarding pointer to an int variable.
-   This is like Lisp_Intfwd except that the ostensible
-   "value" of the symbol is t if the bool variable is true,
-   nil if it is false.  */
-struct Lisp_Boolfwd
-  {
-    enum Lisp_Fwd_Type type;   /* = Lisp_Fwd_Bool */
-    bool *boolvar;
-  };
-
-/* Forwarding pointer to a Lisp_Object variable.
-   This is allowed only in the value cell of a symbol,
-   and it means that the symbol's value really lives in the
-   specified variable.  */
-struct Lisp_Objfwd
-  {
-    enum Lisp_Fwd_Type type;   /* = Lisp_Fwd_Obj */
-    Lisp_Object *objvar;
-  };
-
-/* Like Lisp_Objfwd except that value lives in a slot in the
-   current buffer.  Value is byte index of slot within buffer.  */
-struct Lisp_Buffer_Objfwd
-  {
-    enum Lisp_Fwd_Type type;   /* = Lisp_Fwd_Buffer_Obj */
-    int offset;
-    /* One of Qnil, Qintegerp, Qsymbolp, Qstringp, Qfloatp or Qnumberp.  */
-    Lisp_Object predicate;
-  };
-
-/* struct Lisp_Buffer_Local_Value is used in a symbol value cell when
-   the symbol has buffer-local or frame-local bindings.  (Exception:
-   some buffer-local variables are built-in, with their values stored
-   in the buffer structure itself.  They are handled differently,
-   using struct Lisp_Buffer_Objfwd.)
-
-   The `realvalue' slot holds the variable's current value, or a
-   forwarding pointer to where that value is kept.  This value is the
-   one that corresponds to the loaded binding.  To read or set the
-   variable, you must first make sure the right binding is loaded;
-   then you can access the value in (or through) `realvalue'.
-
-   `buffer' and `frame' are the buffer and frame for which the loaded
-   binding was found.  If those have changed, to make sure the right
-   binding is loaded it is necessary to find which binding goes with
-   the current buffer and selected frame, then load it.  To load it,
-   first unload the previous binding, then copy the value of the new
-   binding into `realvalue' (or through it).  Also update
-   LOADED-BINDING to point to the newly loaded binding.
-
-   `local_if_set' indicates that merely setting the variable creates a
-   local binding for the current buffer.  Otherwise the latter, setting
-   the variable does not do that; only make-local-variable does that.  */
-
-struct Lisp_Buffer_Local_Value
-  {
-    /* True means that merely setting the variable creates a local
-       binding for the current buffer.  */
-    bool_bf local_if_set : 1;
-    /* True means this variable can have frame-local bindings, otherwise, it is
-       can have buffer-local bindings.  The two cannot be combined.  */
-    bool_bf frame_local : 1;
-    /* True means that the binding now loaded was found.
-       Presumably equivalent to (defcell!=valcell).  */
-    bool_bf found : 1;
-    /* If non-NULL, a forwarding to the C var where it should also be set.  */
-    union Lisp_Fwd *fwd;       /* Should never be (Buffer|Kboard)_Objfwd.  */
-    /* The buffer or frame for which the loaded binding was found.  */
-    Lisp_Object where;
-    /* A cons cell that holds the default value.  It has the form
-       (SYMBOL . DEFAULT-VALUE).  */
-    Lisp_Object defcell;
-    /* The cons cell from `where's parameter alist.
-       It always has the form (SYMBOL . VALUE)
-       Note that if `forward' is non-nil, VALUE may be out of date.
-       Also if the currently loaded binding is the default binding, then
-       this is `eq'ual to defcell.  */
-    Lisp_Object valcell;
-  };
-
-/* Like Lisp_Objfwd except that value lives in a slot in the
-   current kboard.  */
-struct Lisp_Kboard_Objfwd
-  {
-    enum Lisp_Fwd_Type type;   /* = Lisp_Fwd_Kboard_Obj */
-    int offset;
-  };
-
-union Lisp_Fwd
-  {
-    struct Lisp_Intfwd u_intfwd;
-    struct Lisp_Boolfwd u_boolfwd;
-    struct Lisp_Objfwd u_objfwd;
-    struct Lisp_Buffer_Objfwd u_buffer_objfwd;
-    struct Lisp_Kboard_Objfwd u_kboard_objfwd;
-  };
-
-INLINE enum Lisp_Fwd_Type
-XFWDTYPE (union Lisp_Fwd *a)
-{
-  return a->u_intfwd.type;
-}
-
-INLINE struct Lisp_Buffer_Objfwd *
-XBUFFER_OBJFWD (union Lisp_Fwd *a)
-{
-  eassert (BUFFER_OBJFWDP (a));
-  return &a->u_buffer_objfwd;
-}
-\f
-/* Lisp floating point type.  */
-struct Lisp_Float
-  {
-    union
-    {
-      double data;
-      struct Lisp_Float *chain;
-    } u;
-  };
-
-INLINE double
-XFLOAT_DATA (Lisp_Object f)
-{
-  return XFLOAT (f)->u.data;
-}
-
-/* Most hosts nowadays use IEEE floating point, so they use IEC 60559
-   representations, have infinities and NaNs, and do not trap on
-   exceptions.  Define IEEE_FLOATING_POINT if this host is one of the
-   typical ones.  The C11 macro __STDC_IEC_559__ is close to what is
-   wanted here, but is not quite right because Emacs does not require
-   all the features of C11 Annex F (and does not require C11 at all,
-   for that matter).  */
-enum
-  {
-    IEEE_FLOATING_POINT
-      = (FLT_RADIX == 2 && FLT_MANT_DIG == 24
-        && FLT_MIN_EXP == -125 && FLT_MAX_EXP == 128)
-  };
-
-/* A character, declared with the following typedef, is a member
-   of some character set associated with the current buffer.  */
-#ifndef _UCHAR_T  /* Protect against something in ctab.h on AIX.  */
-#define _UCHAR_T
-typedef unsigned char UCHAR;
-#endif
-
-/* Meanings of slots in a Lisp_Compiled:  */
-
-enum Lisp_Compiled
-  {
-    COMPILED_ARGLIST = 0,
-    COMPILED_BYTECODE = 1,
-    COMPILED_CONSTANTS = 2,
-    COMPILED_STACK_DEPTH = 3,
-    COMPILED_DOC_STRING = 4,
-    COMPILED_INTERACTIVE = 5
-  };
-
-/* Flag bits in a character.  These also get used in termhooks.h.
-   Richard Stallman <rms@gnu.ai.mit.edu> thinks that MULE
-   (MUlti-Lingual Emacs) might need 22 bits for the character value
-   itself, so we probably shouldn't use any bits lower than 0x0400000.  */
-enum char_bits
-  {
-    CHAR_ALT = 0x0400000,
-    CHAR_SUPER = 0x0800000,
-    CHAR_HYPER = 0x1000000,
-    CHAR_SHIFT = 0x2000000,
-    CHAR_CTL = 0x4000000,
-    CHAR_META = 0x8000000,
-
-    CHAR_MODIFIER_MASK =
-      CHAR_ALT | CHAR_SUPER | CHAR_HYPER | CHAR_SHIFT | CHAR_CTL | CHAR_META,
-
-    /* Actually, the current Emacs uses 22 bits for the character value
-       itself.  */
-    CHARACTERBITS = 22
-  };
-\f
-/* Data type checking.  */
-
-LISP_MACRO_DEFUN (NILP, bool, (Lisp_Object x), (x))
-
-INLINE bool
-NUMBERP (Lisp_Object x)
-{
-  return INTEGERP (x) || FLOATP (x);
-}
-INLINE bool
-NATNUMP (Lisp_Object x)
-{
-  return INTEGERP (x) && 0 <= XINT (x);
-}
-
-INLINE bool
-RANGED_INTEGERP (intmax_t lo, Lisp_Object x, intmax_t hi)
-{
-  return INTEGERP (x) && lo <= XINT (x) && XINT (x) <= hi;
-}
-
-#define TYPE_RANGED_INTEGERP(type, x) \
-  (INTEGERP (x)                              \
-   && (TYPE_SIGNED (type) ? TYPE_MINIMUM (type) <= XINT (x) : 0 <= XINT (x)) \
-   && XINT (x) <= TYPE_MAXIMUM (type))
-
-LISP_MACRO_DEFUN (CONSP, bool, (Lisp_Object x), (x))
-LISP_MACRO_DEFUN (FLOATP, bool, (Lisp_Object x), (x))
-LISP_MACRO_DEFUN (MISCP, bool, (Lisp_Object x), (x))
-LISP_MACRO_DEFUN (SYMBOLP, bool, (Lisp_Object x), (x))
-LISP_MACRO_DEFUN (INTEGERP, bool, (Lisp_Object x), (x))
-LISP_MACRO_DEFUN (VECTORLIKEP, bool, (Lisp_Object x), (x))
-LISP_MACRO_DEFUN (MARKERP, bool, (Lisp_Object x), (x))
-
-INLINE bool
-STRINGP (Lisp_Object x)
-{
-  return XTYPE (x) == Lisp_String;
-}
-INLINE bool
-VECTORP (Lisp_Object x)
-{
-  return VECTORLIKEP (x) && ! (ASIZE (x) & PSEUDOVECTOR_FLAG);
-}
-INLINE bool
-OVERLAYP (Lisp_Object x)
-{
-  return MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Overlay;
-}
-INLINE bool
-SAVE_VALUEP (Lisp_Object x)
-{
-  return MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Save_Value;
-}
-
-INLINE bool
-FINALIZERP (Lisp_Object x)
-{
-  return MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Finalizer;
-}
-
-INLINE bool
-AUTOLOADP (Lisp_Object x)
-{
-  return CONSP (x) && EQ (Qautoload, XCAR (x));
-}
-
-INLINE bool
-BUFFER_OBJFWDP (union Lisp_Fwd *a)
-{
-  return XFWDTYPE (a) == Lisp_Fwd_Buffer_Obj;
-}
-
-INLINE bool
-PSEUDOVECTOR_TYPEP (struct vectorlike_header *a, int code)
-{
-  return ((a->size & (PSEUDOVECTOR_FLAG | PVEC_TYPE_MASK))
-         == (PSEUDOVECTOR_FLAG | (code << PSEUDOVECTOR_AREA_BITS)));
-}
-
-/* True if A is a pseudovector whose code is CODE.  */
-INLINE bool
-PSEUDOVECTORP (Lisp_Object a, int code)
-{
-  if (! VECTORLIKEP (a))
-    return false;
-  else
-    {
-      /* Converting to struct vectorlike_header * avoids aliasing issues.  */
-      struct vectorlike_header *h = XUNTAG (a, Lisp_Vectorlike);
-      return PSEUDOVECTOR_TYPEP (h, code);
-    }
-}
-
-
-/* Test for specific pseudovector types.  */
-
-INLINE bool
-WINDOW_CONFIGURATIONP (Lisp_Object a)
-{
-  return PSEUDOVECTORP (a, PVEC_WINDOW_CONFIGURATION);
-}
-
-INLINE bool
-PROCESSP (Lisp_Object a)
-{
-  return PSEUDOVECTORP (a, PVEC_PROCESS);
-}
-
-INLINE bool
-WINDOWP (Lisp_Object a)
-{
-  return PSEUDOVECTORP (a, PVEC_WINDOW);
-}
-
-INLINE bool
-TERMINALP (Lisp_Object a)
-{
-  return PSEUDOVECTORP (a, PVEC_TERMINAL);
-}
-
-INLINE bool
-SUBRP (Lisp_Object a)
-{
-  return PSEUDOVECTORP (a, PVEC_SUBR);
-}
-
-INLINE bool
-COMPILEDP (Lisp_Object a)
-{
-  return PSEUDOVECTORP (a, PVEC_COMPILED);
-}
-
-INLINE bool
-BUFFERP (Lisp_Object a)
-{
-  return PSEUDOVECTORP (a, PVEC_BUFFER);
-}
-
-INLINE bool
-CHAR_TABLE_P (Lisp_Object a)
-{
-  return PSEUDOVECTORP (a, PVEC_CHAR_TABLE);
-}
-
-INLINE bool
-SUB_CHAR_TABLE_P (Lisp_Object a)
-{
-  return PSEUDOVECTORP (a, PVEC_SUB_CHAR_TABLE);
-}
-
-INLINE bool
-BOOL_VECTOR_P (Lisp_Object a)
-{
-  return PSEUDOVECTORP (a, PVEC_BOOL_VECTOR);
-}
-
-INLINE bool
-FRAMEP (Lisp_Object a)
-{
-  return PSEUDOVECTORP (a, PVEC_FRAME);
-}
-
-/* Test for image (image . spec)  */
-INLINE bool
-IMAGEP (Lisp_Object x)
-{
-  return CONSP (x) && EQ (XCAR (x), Qimage);
-}
-
-/* Array types.  */
-INLINE bool
-ARRAYP (Lisp_Object x)
-{
-  return VECTORP (x) || STRINGP (x) || CHAR_TABLE_P (x) || BOOL_VECTOR_P (x);
-}
-\f
-INLINE void
-CHECK_LIST (Lisp_Object x)
-{
-  CHECK_TYPE (CONSP (x) || NILP (x), Qlistp, x);
-}
-
-LISP_MACRO_DEFUN_VOID (CHECK_LIST_CONS, (Lisp_Object x, Lisp_Object y), (x, y))
-LISP_MACRO_DEFUN_VOID (CHECK_SYMBOL, (Lisp_Object x), (x))
-LISP_MACRO_DEFUN_VOID (CHECK_NUMBER, (Lisp_Object x), (x))
-
-INLINE void
-CHECK_STRING (Lisp_Object x)
-{
-  CHECK_TYPE (STRINGP (x), Qstringp, x);
-}
-INLINE void
-CHECK_STRING_CAR (Lisp_Object x)
-{
-  CHECK_TYPE (STRINGP (XCAR (x)), Qstringp, XCAR (x));
-}
-INLINE void
-CHECK_CONS (Lisp_Object x)
-{
-  CHECK_TYPE (CONSP (x), Qconsp, x);
-}
-INLINE void
-CHECK_VECTOR (Lisp_Object x)
-{
-  CHECK_TYPE (VECTORP (x), Qvectorp, x);
-}
-INLINE void
-CHECK_BOOL_VECTOR (Lisp_Object x)
-{
-  CHECK_TYPE (BOOL_VECTOR_P (x), Qbool_vector_p, x);
-}
-/* This is a bit special because we always need size afterwards.  */
-INLINE ptrdiff_t
-CHECK_VECTOR_OR_STRING (Lisp_Object x)
-{
-  if (VECTORP (x))
-    return ASIZE (x);
-  if (STRINGP (x))
-    return SCHARS (x);
-  wrong_type_argument (Qarrayp, x);
-}
-INLINE void
-CHECK_ARRAY (Lisp_Object x, Lisp_Object predicate)
-{
-  CHECK_TYPE (ARRAYP (x), predicate, x);
-}
-INLINE void
-CHECK_BUFFER (Lisp_Object x)
-{
-  CHECK_TYPE (BUFFERP (x), Qbufferp, x);
-}
-INLINE void
-CHECK_WINDOW (Lisp_Object x)
-{
-  CHECK_TYPE (WINDOWP (x), Qwindowp, x);
-}
-#ifdef subprocesses
-INLINE void
-CHECK_PROCESS (Lisp_Object x)
-{
-  CHECK_TYPE (PROCESSP (x), Qprocessp, x);
-}
-#endif
-INLINE void
-CHECK_NATNUM (Lisp_Object x)
-{
-  CHECK_TYPE (NATNUMP (x), Qwholenump, x);
-}
-
-#define CHECK_RANGED_INTEGER(x, lo, hi)                                        \
-  do {                                                                 \
-    CHECK_NUMBER (x);                                                  \
-    if (! ((lo) <= XINT (x) && XINT (x) <= (hi)))                      \
-      args_out_of_range_3                                              \
-       (x,                                                             \
-        make_number ((lo) < 0 && (lo) < MOST_NEGATIVE_FIXNUM           \
-                     ? MOST_NEGATIVE_FIXNUM                            \
-                     : (lo)),                                          \
-        make_number (min (hi, MOST_POSITIVE_FIXNUM)));                 \
-  } while (false)
-#define CHECK_TYPE_RANGED_INTEGER(type, x) \
-  do {                                                                 \
-    if (TYPE_SIGNED (type))                                            \
-      CHECK_RANGED_INTEGER (x, TYPE_MINIMUM (type), TYPE_MAXIMUM (type)); \
-    else                                                               \
-      CHECK_RANGED_INTEGER (x, 0, TYPE_MAXIMUM (type));                        \
-  } while (false)
-
-#define CHECK_NUMBER_COERCE_MARKER(x)                                  \
-  do {                                                                 \
-    if (MARKERP ((x)))                                                 \
-      XSETFASTINT (x, marker_position (x));                            \
-    else                                                               \
-      CHECK_TYPE (INTEGERP (x), Qinteger_or_marker_p, x);              \
-  } while (false)
-
-INLINE double
-XFLOATINT (Lisp_Object n)
-{
-  return extract_float (n);
-}
-
-INLINE void
-CHECK_NUMBER_OR_FLOAT (Lisp_Object x)
-{
-  CHECK_TYPE (FLOATP (x) || INTEGERP (x), Qnumberp, x);
-}
-
-#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(x)                         \
-  do {                                                                 \
-    if (MARKERP (x))                                                   \
-      XSETFASTINT (x, marker_position (x));                            \
-    else                                                               \
-      CHECK_TYPE (INTEGERP (x) || FLOATP (x), Qnumber_or_marker_p, x); \
-  } while (false)
-
-/* Since we can't assign directly to the CAR or CDR fields of a cons
-   cell, use these when checking that those fields contain numbers.  */
-INLINE void
-CHECK_NUMBER_CAR (Lisp_Object x)
-{
-  Lisp_Object tmp = XCAR (x);
-  CHECK_NUMBER (tmp);
-  XSETCAR (x, tmp);
-}
-
-INLINE void
-CHECK_NUMBER_CDR (Lisp_Object x)
-{
-  Lisp_Object tmp = XCDR (x);
-  CHECK_NUMBER (tmp);
-  XSETCDR (x, tmp);
-}
-\f
-/* Define a built-in function for calling from Lisp.
- `lname' should be the name to give the function in Lisp,
-    as a null-terminated C string.
- `fnname' should be the name of the function in C.
-    By convention, it starts with F.
- `sname' should be the name for the C constant structure
-    that records information on this function for internal use.
-    By convention, it should be the same as `fnname' but with S instead of F.
-    It's too bad that C macros can't compute this from `fnname'.
- `minargs' should be a number, the minimum number of arguments allowed.
- `maxargs' should be a number, the maximum number of arguments allowed,
-    or else MANY or UNEVALLED.
-    MANY means pass a vector of evaluated arguments,
-        in the form of an integer number-of-arguments
-        followed by the address of a vector of Lisp_Objects
-        which contains the argument values.
-    UNEVALLED means pass the list of unevaluated arguments
- `intspec' says how interactive arguments are to be fetched.
-    If the string starts with a `(', `intspec' is evaluated and the resulting
-    list is the list of arguments.
-    If it's a string that doesn't start with `(', the value should follow
-    the one of the doc string for `interactive'.
-    A null string means call interactively with no arguments.
- `doc' is documentation for the user.  */
-
-/* This version of DEFUN declares a function prototype with the right
-   arguments, so we can catch errors with maxargs at compile-time.  */
-#ifdef _MSC_VER
-#define DEFUN(lname, fnname, sname, minargs, maxargs, intspec, doc)    \
-   Lisp_Object fnname DEFUN_ARGS_ ## maxargs ;                         \
-   static struct Lisp_Subr alignas (GCALIGNMENT) sname =               \
-   { { (PVEC_SUBR << PSEUDOVECTOR_AREA_BITS)                           \
-       | (sizeof (struct Lisp_Subr) / sizeof (EMACS_INT)) },           \
-      { (Lisp_Object (__cdecl *)(void))fnname },                        \
-       minargs, maxargs, lname, intspec, 0};                           \
-   Lisp_Object fnname
-#else  /* not _MSC_VER */
-#define DEFUN(lname, fnname, sname, minargs, maxargs, intspec, doc)    \
-   static struct Lisp_Subr alignas (GCALIGNMENT) sname =               \
-     { { PVEC_SUBR << PSEUDOVECTOR_AREA_BITS },                                \
-       { .a ## maxargs = fnname },                                     \
-       minargs, maxargs, lname, intspec, 0};                           \
-   Lisp_Object fnname
-#endif
-
-/* True if OBJ is a Lisp function.  */
-INLINE bool
-FUNCTIONP (Lisp_Object obj)
-{
-  return functionp (obj);
-}
-
-/* defsubr (Sname);
-   is how we define the symbol for function `name' at start-up time.  */
-extern void defsubr (struct Lisp_Subr *);
-
-enum maxargs
-  {
-    MANY = -2,
-    UNEVALLED = -1
-  };
-
-/* Call a function F that accepts many args, passing it ARRAY's elements.  */
-#define CALLMANY(f, array) (f) (ARRAYELTS (array), array)
-
-/* Call a function F that accepts many args, passing it the remaining args,
-   E.g., 'return CALLN (Fformat, fmt, text);' is less error-prone than
-   '{ Lisp_Object a[2]; a[0] = fmt; a[1] = text; return Fformat (2, a); }'.
-   CALLN is overkill for simple usages like 'Finsert (1, &text);'.  */
-#define CALLN(f, ...) CALLMANY (f, ((Lisp_Object []) {__VA_ARGS__}))
-
-extern void defvar_lisp (struct Lisp_Objfwd *, const char *, Lisp_Object *);
-extern void defvar_lisp_nopro (struct Lisp_Objfwd *, const char *, Lisp_Object *);
-extern void defvar_bool (struct Lisp_Boolfwd *, const char *, bool *);
-extern void defvar_int (struct Lisp_Intfwd *, const char *, EMACS_INT *);
-extern void defvar_kboard (struct Lisp_Kboard_Objfwd *, const char *, int);
-
-/* Macros we use to define forwarded Lisp variables.
-   These are used in the syms_of_FILENAME functions.
-
-   An ordinary (not in buffer_defaults, per-buffer, or per-keyboard)
-   lisp variable is actually a field in `struct emacs_globals'.  The
-   field's name begins with "f_", which is a convention enforced by
-   these macros.  Each such global has a corresponding #define in
-   globals.h; the plain name should be used in the code.
-
-   E.g., the global "cons_cells_consed" is declared as "int
-   f_cons_cells_consed" in globals.h, but there is a define:
-
-      #define cons_cells_consed globals.f_cons_cells_consed
-
-   All C code uses the `cons_cells_consed' name.  This is all done
-   this way to support indirection for multi-threaded Emacs.  */
-
-#define DEFVAR_LISP(lname, vname, doc)         \
-  do {                                         \
-    static struct Lisp_Objfwd o_fwd;           \
-    defvar_lisp (&o_fwd, lname, &globals.f_ ## vname);         \
-  } while (false)
-#define DEFVAR_LISP_NOPRO(lname, vname, doc)   \
-  do {                                         \
-    static struct Lisp_Objfwd o_fwd;           \
-    defvar_lisp_nopro (&o_fwd, lname, &globals.f_ ## vname);   \
-  } while (false)
-#define DEFVAR_BOOL(lname, vname, doc)         \
-  do {                                         \
-    static struct Lisp_Boolfwd b_fwd;          \
-    defvar_bool (&b_fwd, lname, &globals.f_ ## vname);         \
-  } while (false)
-#define DEFVAR_INT(lname, vname, doc)          \
-  do {                                         \
-    static struct Lisp_Intfwd i_fwd;           \
-    defvar_int (&i_fwd, lname, &globals.f_ ## vname);          \
-  } while (false)
-
-#define DEFVAR_BUFFER_DEFAULTS(lname, vname, doc)              \
-  do {                                                         \
-    static struct Lisp_Objfwd o_fwd;                           \
-    defvar_lisp_nopro (&o_fwd, lname, &BVAR (&buffer_defaults, vname));        \
-  } while (false)
-
-#define DEFVAR_KBOARD(lname, vname, doc)                       \
-  do {                                                         \
-    static struct Lisp_Kboard_Objfwd ko_fwd;                   \
-    defvar_kboard (&ko_fwd, lname, offsetof (KBOARD, vname ## _)); \
-  } while (false)
-\f
-/* Save and restore the instruction and environment pointers,
-   without affecting the signal mask.  */
-
-#ifdef HAVE__SETJMP
-typedef jmp_buf sys_jmp_buf;
-# define sys_setjmp(j) _setjmp (j)
-# define sys_longjmp(j, v) _longjmp (j, v)
-#elif defined HAVE_SIGSETJMP
-typedef sigjmp_buf sys_jmp_buf;
-# define sys_setjmp(j) sigsetjmp (j, 0)
-# define sys_longjmp(j, v) siglongjmp (j, v)
-#else
-/* A platform that uses neither _longjmp nor siglongjmp; assume
-   longjmp does not affect the sigmask.  */
-typedef jmp_buf sys_jmp_buf;
-# define sys_setjmp(j) setjmp (j)
-# define sys_longjmp(j, v) longjmp (j, v)
-#endif
-
-\f
-/* Elisp uses several stacks:
-   - the C stack.
-   - the bytecode stack: used internally by the bytecode interpreter.
-     Allocated from the C stack.
-   - The specpdl stack: keeps track of active unwind-protect and
-     dynamic-let-bindings.  Allocated from the `specpdl' array, a manually
-     managed stack.
-   - The handler stack: keeps track of active catch tags and condition-case
-     handlers.  Allocated in a manually managed stack implemented by a
-     doubly-linked list allocated via xmalloc and never freed.  */
-
-/* Structure for recording Lisp call stack for backtrace purposes.  */
-
-/* The special binding stack holds the outer values of variables while
-   they are bound by a function application or a let form, stores the
-   code to be executed for unwind-protect forms.
-
-   NOTE: The specbinding union is defined here, because SPECPDL_INDEX is
-   used all over the place, needs to be fast, and needs to know the size of
-   union specbinding.  But only eval.c should access it.  */
-
-enum specbind_tag {
-  SPECPDL_UNWIND,              /* An unwind_protect function on Lisp_Object.  */
-  SPECPDL_UNWIND_PTR,          /* Likewise, on void *.  */
-  SPECPDL_UNWIND_INT,          /* Likewise, on int.  */
-  SPECPDL_UNWIND_VOID,         /* Likewise, with no arg.  */
-  SPECPDL_BACKTRACE,           /* An element of the backtrace.  */
-  SPECPDL_LET,                 /* A plain and simple dynamic let-binding.  */
-  /* Tags greater than SPECPDL_LET must be "subkinds" of LET.  */
-  SPECPDL_LET_LOCAL,           /* A buffer-local let-binding.  */
-  SPECPDL_LET_DEFAULT          /* A global binding for a localized var.  */
-};
-
-union specbinding
-  {
-    ENUM_BF (specbind_tag) kind : CHAR_BIT;
-    struct {
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;
-      void (*func) (Lisp_Object);
-      Lisp_Object arg;
-    } unwind;
-    struct {
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;
-      void (*func) (void *);
-      void *arg;
-    } unwind_ptr;
-    struct {
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;
-      void (*func) (int);
-      int arg;
-    } unwind_int;
-    struct {
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;
-      void (*func) (void);
-    } unwind_void;
-    struct {
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;
-      /* `where' is not used in the case of SPECPDL_LET.  */
-      Lisp_Object symbol, old_value, where;
-    } let;
-    struct {
-      ENUM_BF (specbind_tag) kind : CHAR_BIT;
-      bool_bf debug_on_exit : 1;
-      Lisp_Object function;
-      Lisp_Object *args;
-      ptrdiff_t nargs;
-    } bt;
-  };
-
-extern union specbinding *specpdl;
-extern union specbinding *specpdl_ptr;
-extern ptrdiff_t specpdl_size;
-
-INLINE ptrdiff_t
-SPECPDL_INDEX (void)
-{
-  return specpdl_ptr - specpdl;
-}
-
-/* This structure helps implement the `catch/throw' and `condition-case/signal'
-   control structures.  A struct handler contains all the information needed to
-   restore the state of the interpreter after a non-local jump.
-
-   handler structures are chained together in a doubly linked list; the `next'
-   member points to the next outer catchtag and the `nextfree' member points in
-   the other direction to the next inner element (which is typically the next
-   free element since we mostly use it on the deepest handler).
-
-   A call like (throw TAG VAL) searches for a catchtag whose `tag_or_ch'
-   member is TAG, and then unbinds to it.  The `val' member is used to
-   hold VAL while the stack is unwound; `val' is returned as the value
-   of the catch form.
-
-   All the other members are concerned with restoring the interpreter
-   state.
-
-   Members are volatile if their values need to survive _longjmp when
-   a 'struct handler' is a local variable.  */
-
-enum handlertype { CATCHER, CONDITION_CASE };
-
-struct handler
-{
-  enum handlertype type;
-  Lisp_Object tag_or_ch;
-  Lisp_Object val;
-  struct handler *next;
-  struct handler *nextfree;
-
-  /* The bytecode interpreter can have several handlers active at the same
-     time, so when we longjmp to one of them, it needs to know which handler
-     this was and what was the corresponding internal state.  This is stored
-     here, and when we longjmp we make sure that handlerlist points to the
-     proper handler.  */
-  Lisp_Object *bytecode_top;
-  int bytecode_dest;
-
-  /* Most global vars are reset to their value via the specpdl mechanism,
-     but a few others are handled by storing their value here.  */
-#if true /* GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS, but defined later.  */
-  struct gcpro *gcpro;
-#endif
-  sys_jmp_buf jmp;
-  EMACS_INT lisp_eval_depth;
-  ptrdiff_t pdlcount;
-  int poll_suppress_count;
-  int interrupt_input_blocked;
-  struct byte_stack *byte_stack;
-};
-
-/* Fill in the components of c, and put it on the list.  */
-#define PUSH_HANDLER(c, tag_ch_val, handlertype)       \
-  if (handlerlist->nextfree)                           \
-    (c) = handlerlist->nextfree;                       \
-  else                                                 \
-    {                                                  \
-      (c) = xmalloc (sizeof (struct handler));         \
-      (c)->nextfree = NULL;                            \
-      handlerlist->nextfree = (c);                     \
-    }                                                  \
-  (c)->type = (handlertype);                           \
-  (c)->tag_or_ch = (tag_ch_val);                       \
-  (c)->val = Qnil;                                     \
-  (c)->next = handlerlist;                             \
-  (c)->lisp_eval_depth = lisp_eval_depth;              \
-  (c)->pdlcount = SPECPDL_INDEX ();                    \
-  (c)->poll_suppress_count = poll_suppress_count;      \
-  (c)->interrupt_input_blocked = interrupt_input_blocked;\
-  (c)->gcpro = gcprolist;                              \
-  (c)->byte_stack = byte_stack_list;                   \
-  handlerlist = (c);
-
-
-extern Lisp_Object memory_signal_data;
-
-/* An address near the bottom of the stack.
-   Tells GC how to save a copy of the stack.  */
-extern char *stack_bottom;
-
-/* Check quit-flag and quit if it is non-nil.
-   Typing C-g does not directly cause a quit; it only sets Vquit_flag.
-   So the program needs to do QUIT at times when it is safe to quit.
-   Every loop that might run for a long time or might not exit
-   ought to do QUIT at least once, at a safe place.
-   Unless that is impossible, of course.
-   But it is very desirable to avoid creating loops where QUIT is impossible.
-
-   Exception: if you set immediate_quit to true,
-   then the handler that responds to the C-g does the quit itself.
-   This is a good thing to do around a loop that has no side effects
-   and (in particular) cannot call arbitrary Lisp code.
-
-   If quit-flag is set to `kill-emacs' the SIGINT handler has received
-   a request to exit Emacs when it is safe to do.  */
-
-extern void process_pending_signals (void);
-extern bool volatile pending_signals;
-
-extern void process_quit_flag (void);
-#define QUIT                                           \
-  do {                                                 \
-    if (!NILP (Vquit_flag) && NILP (Vinhibit_quit))    \
-      process_quit_flag ();                            \
-    else if (pending_signals)                          \
-      process_pending_signals ();                      \
-  } while (false)
-
-
-/* True if ought to quit now.  */
-
-#define QUITP (!NILP (Vquit_flag) && NILP (Vinhibit_quit))
-\f
-extern Lisp_Object Vascii_downcase_table;
-extern Lisp_Object Vascii_canon_table;
-\f
-/* Structure for recording stack slots that need marking.  */
-
-/* This is a chain of structures, each of which points at a Lisp_Object
-   variable whose value should be marked in garbage collection.
-   Normally every link of the chain is an automatic variable of a function,
-   and its `val' points to some argument or local variable of the function.
-   On exit to the function, the chain is set back to the value it had on entry.
-   This way, no link remains in the chain when the stack frame containing the
-   link disappears.
-
-   Every function that can call Feval must protect in this fashion all
-   Lisp_Object variables whose contents will be used again.  */
-
-extern struct gcpro *gcprolist;
-
-struct gcpro
-{
-  struct gcpro *next;
-
-  /* Address of first protected variable.  */
-  volatile Lisp_Object *var;
-
-  /* Number of consecutive protected variables.  */
-  ptrdiff_t nvars;
-
-#ifdef DEBUG_GCPRO
-  /* File name where this record is used.  */
-  const char *name;
-
-  /* Line number in this file.  */
-  int lineno;
-
-  /* Index in the local chain of records.  */
-  int idx;
-
-  /* Nesting level.  */
-  int level;
-#endif
-};
-
-/* Values of GC_MARK_STACK during compilation:
-
-   0   Use GCPRO as before
-   1   Do the real thing, make GCPROs and UNGCPRO no-ops.
-   2    Mark the stack, and check that everything GCPRO'd is
-       marked.
-   3   Mark using GCPRO's, mark stack last, and count how many
-       dead objects are kept alive.
-
-   Formerly, method 0 was used.  Currently, method 1 is used unless
-   otherwise specified by hand when building, e.g.,
-   "make CPPFLAGS='-DGC_MARK_STACK=GC_USE_GCPROS_AS_BEFORE'".
-   Methods 2 and 3 are present mainly to debug the transition from 0 to 1.  */
-
-#define GC_USE_GCPROS_AS_BEFORE                0
-#define GC_MAKE_GCPROS_NOOPS           1
-#define GC_MARK_STACK_CHECK_GCPROS     2
-#define GC_USE_GCPROS_CHECK_ZOMBIES    3
-
-#ifndef GC_MARK_STACK
-#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
-#endif
-
-/* Whether we do the stack marking manually.  */
-#define BYTE_MARK_STACK !(GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS                \
-                         || GC_MARK_STACK == GC_MARK_STACK_CHECK_GCPROS)
-
-
-#if GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
-
-/* Do something silly with gcproN vars just so gcc shuts up.  */
-/* You get warnings from MIPSPro...  */
-
-#define GCPRO1(varname) ((void) gcpro1)
-#define GCPRO2(varname1, varname2) ((void) gcpro2, (void) gcpro1)
-#define GCPRO3(varname1, varname2, varname3) \
-  ((void) gcpro3, (void) gcpro2, (void) gcpro1)
-#define GCPRO4(varname1, varname2, varname3, varname4) \
-  ((void) gcpro4, (void) gcpro3, (void) gcpro2, (void) gcpro1)
-#define GCPRO5(varname1, varname2, varname3, varname4, varname5) \
-  ((void) gcpro5, (void) gcpro4, (void) gcpro3, (void) gcpro2, (void) gcpro1)
-#define GCPRO6(varname1, varname2, varname3, varname4, varname5, varname6) \
-  ((void) gcpro6, (void) gcpro5, (void) gcpro4, (void) gcpro3, (void) gcpro2, \
-   (void) gcpro1)
-#define GCPRO7(a, b, c, d, e, f, g) (GCPRO6 (a, b, c, d, e, f), (void) gcpro7)
-#define UNGCPRO ((void) 0)
-
-#else /* GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS */
-
-#ifndef DEBUG_GCPRO
-
-#define GCPRO1(a)                                                      \
-  { gcpro1.next = gcprolist; gcpro1.var = &(a); gcpro1.nvars = 1;      \
-    gcprolist = &gcpro1; }
-
-#define GCPRO2(a, b)                                                   \
-  { gcpro1.next = gcprolist; gcpro1.var = &(a); gcpro1.nvars = 1;      \
-    gcpro2.next = &gcpro1; gcpro2.var = &(b); gcpro2.nvars = 1;                \
-    gcprolist = &gcpro2; }
-
-#define GCPRO3(a, b, c)                                                        \
-  { gcpro1.next = gcprolist; gcpro1.var = &(a); gcpro1.nvars = 1;      \
-    gcpro2.next = &gcpro1; gcpro2.var = &(b); gcpro2.nvars = 1;                \
-    gcpro3.next = &gcpro2; gcpro3.var = &(c); gcpro3.nvars = 1;                \
-    gcprolist = &gcpro3; }
-
-#define GCPRO4(a, b, c, d)                                             \
-  { gcpro1.next = gcprolist; gcpro1.var = &(a); gcpro1.nvars = 1;      \
-    gcpro2.next = &gcpro1; gcpro2.var = &(b); gcpro2.nvars = 1;                \
-    gcpro3.next = &gcpro2; gcpro3.var = &(c); gcpro3.nvars = 1;                \
-    gcpro4.next = &gcpro3; gcpro4.var = &(d); gcpro4.nvars = 1;                \
-    gcprolist = &gcpro4; }
-
-#define GCPRO5(a, b, c, d, e)                                          \
-  { gcpro1.next = gcprolist; gcpro1.var = &(a); gcpro1.nvars = 1;      \
-    gcpro2.next = &gcpro1; gcpro2.var = &(b); gcpro2.nvars = 1;                \
-    gcpro3.next = &gcpro2; gcpro3.var = &(c); gcpro3.nvars = 1;                \
-    gcpro4.next = &gcpro3; gcpro4.var = &(d); gcpro4.nvars = 1;                \
-    gcpro5.next = &gcpro4; gcpro5.var = &(e); gcpro5.nvars = 1;                \
-    gcprolist = &gcpro5; }
-
-#define GCPRO6(a, b, c, d, e, f)                                       \
-  { gcpro1.next = gcprolist; gcpro1.var = &(a); gcpro1.nvars = 1;      \
-    gcpro2.next = &gcpro1; gcpro2.var = &(b); gcpro2.nvars = 1;                \
-    gcpro3.next = &gcpro2; gcpro3.var = &(c); gcpro3.nvars = 1;                \
-    gcpro4.next = &gcpro3; gcpro4.var = &(d); gcpro4.nvars = 1;                \
-    gcpro5.next = &gcpro4; gcpro5.var = &(e); gcpro5.nvars = 1;                \
-    gcpro6.next = &gcpro5; gcpro6.var = &(f); gcpro6.nvars = 1;                \
-    gcprolist = &gcpro6; }
-
-#define GCPRO7(a, b, c, d, e, f, g)                                    \
-  { gcpro1.next = gcprolist; gcpro1.var = &(a); gcpro1.nvars = 1;      \
-    gcpro2.next = &gcpro1; gcpro2.var = &(b); gcpro2.nvars = 1;                \
-    gcpro3.next = &gcpro2; gcpro3.var = &(c); gcpro3.nvars = 1;                \
-    gcpro4.next = &gcpro3; gcpro4.var = &(d); gcpro4.nvars = 1;                \
-    gcpro5.next = &gcpro4; gcpro5.var = &(e); gcpro5.nvars = 1;                \
-    gcpro6.next = &gcpro5; gcpro6.var = &(f); gcpro6.nvars = 1;                \
-    gcpro7.next = &gcpro6; gcpro7.var = &(g); gcpro7.nvars = 1;                \
-    gcprolist = &gcpro7; }
-
-#define UNGCPRO (gcprolist = gcpro1.next)
-
-#else /* !DEBUG_GCPRO */
-
-extern int gcpro_level;
-
-#define GCPRO1(a)                                                      \
-  { gcpro1.next = gcprolist; gcpro1.var = &(a); gcpro1.nvars = 1;      \
-    gcpro1.name = __FILE__; gcpro1.lineno = __LINE__; gcpro1.idx = 1;  \
-    gcpro1.level = gcpro_level++;                                      \
-    gcprolist = &gcpro1; }
-
-#define GCPRO2(a, b)                                                   \
-  { gcpro1.next = gcprolist; gcpro1.var = &(a); gcpro1.nvars = 1;      \
-    gcpro1.name = __FILE__; gcpro1.lineno = __LINE__; gcpro1.idx = 1;  \
-    gcpro1.level = gcpro_level;                                                \
-    gcpro2.next = &gcpro1; gcpro2.var = &(b); gcpro2.nvars = 1;                \
-    gcpro2.name = __FILE__; gcpro2.lineno = __LINE__; gcpro2.idx = 2;  \
-    gcpro2.level = gcpro_level++;                                      \
-    gcprolist = &gcpro2; }
-
-#define GCPRO3(a, b, c)                                                        \
-  { gcpro1.next = gcprolist; gcpro1.var = &(a); gcpro1.nvars = 1;      \
-    gcpro1.name = __FILE__; gcpro1.lineno = __LINE__; gcpro1.idx = 1;  \
-    gcpro1.level = gcpro_level;                                                \
-    gcpro2.next = &gcpro1; gcpro2.var = &(b); gcpro2.nvars = 1;                \
-    gcpro2.name = __FILE__; gcpro2.lineno = __LINE__; gcpro2.idx = 2;  \
-    gcpro3.next = &gcpro2; gcpro3.var = &(c); gcpro3.nvars = 1;                \
-    gcpro3.name = __FILE__; gcpro3.lineno = __LINE__; gcpro3.idx = 3;  \
-    gcpro3.level = gcpro_level++;                                      \
-    gcprolist = &gcpro3; }
-
-#define GCPRO4(a, b, c, d)                                             \
-  { gcpro1.next = gcprolist; gcpro1.var = &(a); gcpro1.nvars = 1;      \
-    gcpro1.name = __FILE__; gcpro1.lineno = __LINE__; gcpro1.idx = 1;  \
-    gcpro1.level = gcpro_level;                                                \
-    gcpro2.next = &gcpro1; gcpro2.var = &(b); gcpro2.nvars = 1;                \
-    gcpro2.name = __FILE__; gcpro2.lineno = __LINE__; gcpro2.idx = 2;  \
-    gcpro3.next = &gcpro2; gcpro3.var = &(c); gcpro3.nvars = 1;                \
-    gcpro3.name = __FILE__; gcpro3.lineno = __LINE__; gcpro3.idx = 3;  \
-    gcpro4.next = &gcpro3; gcpro4.var = &(d); gcpro4.nvars = 1;                \
-    gcpro4.name = __FILE__; gcpro4.lineno = __LINE__; gcpro4.idx = 4;  \
-    gcpro4.level = gcpro_level++;                                      \
-    gcprolist = &gcpro4; }
-
-#define GCPRO5(a, b, c, d, e)                                          \
-  { gcpro1.next = gcprolist; gcpro1.var = &(a); gcpro1.nvars = 1;      \
-    gcpro1.name = __FILE__; gcpro1.lineno = __LINE__; gcpro1.idx = 1;  \
-    gcpro1.level = gcpro_level;                                                \
-    gcpro2.next = &gcpro1; gcpro2.var = &(b); gcpro2.nvars = 1;                \
-    gcpro2.name = __FILE__; gcpro2.lineno = __LINE__; gcpro2.idx = 2;  \
-    gcpro3.next = &gcpro2; gcpro3.var = &(c); gcpro3.nvars = 1;                \
-    gcpro3.name = __FILE__; gcpro3.lineno = __LINE__; gcpro3.idx = 3;  \
-    gcpro4.next = &gcpro3; gcpro4.var = &(d); gcpro4.nvars = 1;                \
-    gcpro4.name = __FILE__; gcpro4.lineno = __LINE__; gcpro4.idx = 4;  \
-    gcpro5.next = &gcpro4; gcpro5.var = &(e); gcpro5.nvars = 1;                \
-    gcpro5.name = __FILE__; gcpro5.lineno = __LINE__; gcpro5.idx = 5;  \
-    gcpro5.level = gcpro_level++;                                      \
-    gcprolist = &gcpro5; }
-
-#define GCPRO6(a, b, c, d, e, f)                                       \
-  { gcpro1.next = gcprolist; gcpro1.var = &(a); gcpro1.nvars = 1;      \
-    gcpro1.name = __FILE__; gcpro1.lineno = __LINE__; gcpro1.idx = 1;  \
-    gcpro1.level = gcpro_level;                                                \
-    gcpro2.next = &gcpro1; gcpro2.var = &(b); gcpro2.nvars = 1;                \
-    gcpro2.name = __FILE__; gcpro2.lineno = __LINE__; gcpro2.idx = 2;  \
-    gcpro3.next = &gcpro2; gcpro3.var = &(c); gcpro3.nvars = 1;                \
-    gcpro3.name = __FILE__; gcpro3.lineno = __LINE__; gcpro3.idx = 3;  \
-    gcpro4.next = &gcpro3; gcpro4.var = &(d); gcpro4.nvars = 1;                \
-    gcpro4.name = __FILE__; gcpro4.lineno = __LINE__; gcpro4.idx = 4;  \
-    gcpro5.next = &gcpro4; gcpro5.var = &(e); gcpro5.nvars = 1;                \
-    gcpro5.name = __FILE__; gcpro5.lineno = __LINE__; gcpro5.idx = 5;  \
-    gcpro6.next = &gcpro5; gcpro6.var = &(f); gcpro6.nvars = 1;                \
-    gcpro6.name = __FILE__; gcpro6.lineno = __LINE__; gcpro6.idx = 6;  \
-    gcpro6.level = gcpro_level++;                                      \
-    gcprolist = &gcpro6; }
-
-#define GCPRO7(a, b, c, d, e, f, g)                                    \
-  { gcpro1.next = gcprolist; gcpro1.var = &(a); gcpro1.nvars = 1;      \
-    gcpro1.name = __FILE__; gcpro1.lineno = __LINE__; gcpro1.idx = 1;  \
-    gcpro1.level = gcpro_level;                                                \
-    gcpro2.next = &gcpro1; gcpro2.var = &(b); gcpro2.nvars = 1;                \
-    gcpro2.name = __FILE__; gcpro2.lineno = __LINE__; gcpro2.idx = 2;  \
-    gcpro3.next = &gcpro2; gcpro3.var = &(c); gcpro3.nvars = 1;                \
-    gcpro3.name = __FILE__; gcpro3.lineno = __LINE__; gcpro3.idx = 3;  \
-    gcpro4.next = &gcpro3; gcpro4.var = &(d); gcpro4.nvars = 1;                \
-    gcpro4.name = __FILE__; gcpro4.lineno = __LINE__; gcpro4.idx = 4;  \
-    gcpro5.next = &gcpro4; gcpro5.var = &(e); gcpro5.nvars = 1;                \
-    gcpro5.name = __FILE__; gcpro5.lineno = __LINE__; gcpro5.idx = 5;  \
-    gcpro6.next = &gcpro5; gcpro6.var = &(f); gcpro6.nvars = 1;                \
-    gcpro6.name = __FILE__; gcpro6.lineno = __LINE__; gcpro6.idx = 6;  \
-    gcpro7.next = &gcpro6; gcpro7.var = &(g); gcpro7.nvars = 1;                \
-    gcpro7.name = __FILE__; gcpro7.lineno = __LINE__; gcpro7.idx = 7;  \
-    gcpro7.level = gcpro_level++;                                      \
-    gcprolist = &gcpro7; }
-
-#define UNGCPRO                                        \
-  (--gcpro_level != gcpro1.level               \
-   ? emacs_abort ()                            \
-   : (void) (gcprolist = gcpro1.next))
-
-#endif /* DEBUG_GCPRO */
-#endif /* GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS */
-
-
-/* Evaluate expr, UNGCPRO, and then return the value of expr.  */
-#define RETURN_UNGCPRO(expr)                   \
-  do                                           \
-    {                                          \
-      Lisp_Object ret_ungc_val;                        \
-      ret_ungc_val = (expr);                   \
-      UNGCPRO;                                 \
-      return ret_ungc_val;                     \
-    }                                          \
-  while (false)
-
-/* Call staticpro (&var) to protect static variable `var'.  */
-
-void staticpro (Lisp_Object *);
-\f
-/* Forward declarations for prototypes.  */
-struct window;
-struct frame;
-
-/* Copy COUNT Lisp_Objects from ARGS to contents of V starting from OFFSET.  */
-
-INLINE void
-vcopy (Lisp_Object v, ptrdiff_t offset, Lisp_Object *args, ptrdiff_t count)
-{
-  eassert (0 <= offset && 0 <= count && offset + count <= ASIZE (v));
-  memcpy (XVECTOR (v)->contents + offset, args, count * sizeof *args);
-}
-
-/* Functions to modify hash tables.  */
-
-INLINE void
-set_hash_key_slot (struct Lisp_Hash_Table *h, ptrdiff_t idx, Lisp_Object val)
-{
-  gc_aset (h->key_and_value, 2 * idx, val);
-}
-
-INLINE void
-set_hash_value_slot (struct Lisp_Hash_Table *h, ptrdiff_t idx, Lisp_Object val)
-{
-  gc_aset (h->key_and_value, 2 * idx + 1, val);
-}
-
-/* Use these functions to set Lisp_Object
-   or pointer slots of struct Lisp_Symbol.  */
-
-INLINE void
-set_symbol_function (Lisp_Object sym, Lisp_Object function)
-{
-  XSYMBOL (sym)->function = function;
-}
-
-INLINE void
-set_symbol_plist (Lisp_Object sym, Lisp_Object plist)
-{
-  XSYMBOL (sym)->plist = plist;
-}
-
-INLINE void
-set_symbol_next (Lisp_Object sym, struct Lisp_Symbol *next)
-{
-  XSYMBOL (sym)->next = next;
-}
-
-/* Buffer-local (also frame-local) variable access functions.  */
-
-INLINE int
-blv_found (struct Lisp_Buffer_Local_Value *blv)
-{
-  eassert (blv->found == !EQ (blv->defcell, blv->valcell));
-  return blv->found;
-}
-
-/* Set overlay's property list.  */
-
-INLINE void
-set_overlay_plist (Lisp_Object overlay, Lisp_Object plist)
-{
-  XOVERLAY (overlay)->plist = plist;
-}
-
-/* Get text properties of S.  */
-
-INLINE INTERVAL
-string_intervals (Lisp_Object s)
-{
-  return XSTRING (s)->intervals;
-}
-
-/* Set text properties of S to I.  */
-
-INLINE void
-set_string_intervals (Lisp_Object s, INTERVAL i)
-{
-  XSTRING (s)->intervals = i;
-}
-
-/* Set a Lisp slot in TABLE to VAL.  Most code should use this instead
-   of setting slots directly.  */
-
-INLINE void
-set_char_table_defalt (Lisp_Object table, Lisp_Object val)
-{
-  XCHAR_TABLE (table)->defalt = val;
-}
-INLINE void
-set_char_table_purpose (Lisp_Object table, Lisp_Object val)
-{
-  XCHAR_TABLE (table)->purpose = val;
-}
-
-/* Set different slots in (sub)character tables.  */
-
-INLINE void
-set_char_table_extras (Lisp_Object table, ptrdiff_t idx, Lisp_Object val)
-{
-  eassert (0 <= idx && idx < CHAR_TABLE_EXTRA_SLOTS (XCHAR_TABLE (table)));
-  XCHAR_TABLE (table)->extras[idx] = val;
-}
-
-INLINE void
-set_char_table_contents (Lisp_Object table, ptrdiff_t idx, Lisp_Object val)
-{
-  eassert (0 <= idx && idx < (1 << CHARTAB_SIZE_BITS_0));
-  XCHAR_TABLE (table)->contents[idx] = val;
-}
-
-INLINE void
-set_sub_char_table_contents (Lisp_Object table, ptrdiff_t idx, Lisp_Object val)
-{
-  XSUB_CHAR_TABLE (table)->contents[idx] = val;
-}
-
-/* Defined in data.c.  */
-extern Lisp_Object indirect_function (Lisp_Object);
-extern Lisp_Object find_symbol_value (Lisp_Object);
-enum Arith_Comparison {
-  ARITH_EQUAL,
-  ARITH_NOTEQUAL,
-  ARITH_LESS,
-  ARITH_GRTR,
-  ARITH_LESS_OR_EQUAL,
-  ARITH_GRTR_OR_EQUAL
-};
-extern Lisp_Object arithcompare (Lisp_Object num1, Lisp_Object num2,
-                                 enum Arith_Comparison comparison);
-
-/* Convert the integer I to an Emacs representation, either the integer
-   itself, or a cons of two or three integers, or if all else fails a float.
-   I should not have side effects.  */
-#define INTEGER_TO_CONS(i)                                         \
-  (! FIXNUM_OVERFLOW_P (i)                                         \
-   ? make_number (i)                                               \
-   : ! ((FIXNUM_OVERFLOW_P (INTMAX_MIN >> 16)                      \
-        || FIXNUM_OVERFLOW_P (UINTMAX_MAX >> 16))                  \
-       && FIXNUM_OVERFLOW_P ((i) >> 16))                           \
-   ? Fcons (make_number ((i) >> 16), make_number ((i) & 0xffff))    \
-   : ! ((FIXNUM_OVERFLOW_P (INTMAX_MIN >> 16 >> 24)                \
-        || FIXNUM_OVERFLOW_P (UINTMAX_MAX >> 16 >> 24))            \
-       && FIXNUM_OVERFLOW_P ((i) >> 16 >> 24))                     \
-   ? Fcons (make_number ((i) >> 16 >> 24),                         \
-           Fcons (make_number ((i) >> 16 & 0xffffff),              \
-                  make_number ((i) & 0xffff)))                     \
-   : make_float (i))
-
-/* Convert the Emacs representation CONS back to an integer of type
-   TYPE, storing the result the variable VAR.  Signal an error if CONS
-   is not a valid representation or is out of range for TYPE.  */
-#define CONS_TO_INTEGER(cons, type, var)                               \
- (TYPE_SIGNED (type)                                                   \
-  ? ((var) = cons_to_signed (cons, TYPE_MINIMUM (type), TYPE_MAXIMUM (type))) \
-  : ((var) = cons_to_unsigned (cons, TYPE_MAXIMUM (type))))
-extern intmax_t cons_to_signed (Lisp_Object, intmax_t, intmax_t);
-extern uintmax_t cons_to_unsigned (Lisp_Object, uintmax_t);
-
-extern struct Lisp_Symbol *indirect_variable (struct Lisp_Symbol *);
-extern _Noreturn void args_out_of_range (Lisp_Object, Lisp_Object);
-extern _Noreturn void args_out_of_range_3 (Lisp_Object, Lisp_Object,
-                                          Lisp_Object);
-extern Lisp_Object do_symval_forwarding (union Lisp_Fwd *);
-extern void set_internal (Lisp_Object, Lisp_Object, Lisp_Object, bool);
-extern void syms_of_data (void);
-extern void swap_in_global_binding (struct Lisp_Symbol *);
-
-/* Defined in cmds.c */
-extern void syms_of_cmds (void);
-extern void keys_of_cmds (void);
-
-/* Defined in coding.c.  */
-extern Lisp_Object detect_coding_system (const unsigned char *, ptrdiff_t,
-                                         ptrdiff_t, bool, bool, Lisp_Object);
-extern void init_coding (void);
-extern void init_coding_once (void);
-extern void syms_of_coding (void);
-
-/* Defined in character.c.  */
-extern ptrdiff_t chars_in_text (const unsigned char *, ptrdiff_t);
-extern ptrdiff_t multibyte_chars_in_text (const unsigned char *, ptrdiff_t);
-extern void syms_of_character (void);
-
-/* Defined in charset.c.  */
-extern void init_charset (void);
-extern void init_charset_once (void);
-extern void syms_of_charset (void);
-/* Structure forward declarations.  */
-struct charset;
-
-/* Defined in syntax.c.  */
-extern void init_syntax_once (void);
-extern void syms_of_syntax (void);
-
-/* Defined in fns.c.  */
-enum { NEXT_ALMOST_PRIME_LIMIT = 11 };
-extern EMACS_INT next_almost_prime (EMACS_INT) ATTRIBUTE_CONST;
-extern Lisp_Object larger_vector (Lisp_Object, ptrdiff_t, ptrdiff_t);
-extern void sweep_weak_hash_tables (void);
-EMACS_UINT hash_string (char const *, ptrdiff_t);
-EMACS_UINT sxhash (Lisp_Object, int);
-Lisp_Object make_hash_table (struct hash_table_test, Lisp_Object, Lisp_Object,
-                             Lisp_Object, Lisp_Object);
-ptrdiff_t hash_lookup (struct Lisp_Hash_Table *, Lisp_Object, EMACS_UINT *);
-ptrdiff_t hash_put (struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object,
-                   EMACS_UINT);
-extern struct hash_table_test hashtest_eql, hashtest_equal;
-extern void validate_subarray (Lisp_Object, Lisp_Object, Lisp_Object,
-                              ptrdiff_t, ptrdiff_t *, ptrdiff_t *);
-extern Lisp_Object substring_both (Lisp_Object, ptrdiff_t, ptrdiff_t,
-                                  ptrdiff_t, ptrdiff_t);
-extern Lisp_Object merge (Lisp_Object, Lisp_Object, Lisp_Object);
-extern Lisp_Object do_yes_or_no_p (Lisp_Object);
-extern Lisp_Object concat2 (Lisp_Object, Lisp_Object);
-extern Lisp_Object concat3 (Lisp_Object, Lisp_Object, Lisp_Object);
-extern Lisp_Object nconc2 (Lisp_Object, Lisp_Object);
-extern Lisp_Object assq_no_quit (Lisp_Object, Lisp_Object);
-extern Lisp_Object assoc_no_quit (Lisp_Object, Lisp_Object);
-extern void clear_string_char_byte_cache (void);
-extern ptrdiff_t string_char_to_byte (Lisp_Object, ptrdiff_t);
-extern ptrdiff_t string_byte_to_char (Lisp_Object, ptrdiff_t);
-extern Lisp_Object string_to_multibyte (Lisp_Object);
-extern Lisp_Object string_make_unibyte (Lisp_Object);
-extern void syms_of_fns (void);
-
-/* Defined in floatfns.c.  */
-extern void syms_of_floatfns (void);
-extern Lisp_Object fmod_float (Lisp_Object x, Lisp_Object y);
-
-/* Defined in fringe.c.  */
-extern void syms_of_fringe (void);
-extern void init_fringe (void);
-#ifdef HAVE_WINDOW_SYSTEM
-extern void mark_fringe_data (void);
-extern void init_fringe_once (void);
-#endif /* HAVE_WINDOW_SYSTEM */
-
-/* Defined in image.c.  */
-extern int x_bitmap_mask (struct frame *, ptrdiff_t);
-extern void reset_image_types (void);
-extern void syms_of_image (void);
-
-/* Defined in insdel.c.  */
-extern void move_gap_both (ptrdiff_t, ptrdiff_t);
-extern _Noreturn void buffer_overflow (void);
-extern void make_gap (ptrdiff_t);
-extern void make_gap_1 (struct buffer *, ptrdiff_t);
-extern ptrdiff_t copy_text (const unsigned char *, unsigned char *,
-                           ptrdiff_t, bool, bool);
-extern int count_combining_before (const unsigned char *,
-                                  ptrdiff_t, ptrdiff_t, ptrdiff_t);
-extern int count_combining_after (const unsigned char *,
-                                 ptrdiff_t, ptrdiff_t, ptrdiff_t);
-extern void insert (const char *, ptrdiff_t);
-extern void insert_and_inherit (const char *, ptrdiff_t);
-extern void insert_1_both (const char *, ptrdiff_t, ptrdiff_t,
-                          bool, bool, bool);
-extern void insert_from_gap (ptrdiff_t, ptrdiff_t, bool text_at_gap_tail);
-extern void insert_from_string (Lisp_Object, ptrdiff_t, ptrdiff_t,
-                               ptrdiff_t, ptrdiff_t, bool);
-extern void insert_from_buffer (struct buffer *, ptrdiff_t, ptrdiff_t, bool);
-extern void insert_char (int);
-extern void insert_string (const char *);
-extern void insert_before_markers (const char *, ptrdiff_t);
-extern void insert_before_markers_and_inherit (const char *, ptrdiff_t);
-extern void insert_from_string_before_markers (Lisp_Object, ptrdiff_t,
-                                              ptrdiff_t, ptrdiff_t,
-                                              ptrdiff_t, bool);
-extern void del_range (ptrdiff_t, ptrdiff_t);
-extern Lisp_Object del_range_1 (ptrdiff_t, ptrdiff_t, bool, bool);
-extern void del_range_byte (ptrdiff_t, ptrdiff_t, bool);
-extern void del_range_both (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, bool);
-extern Lisp_Object del_range_2 (ptrdiff_t, ptrdiff_t,
-                               ptrdiff_t, ptrdiff_t, bool);
-extern void modify_text (ptrdiff_t, ptrdiff_t);
-extern void prepare_to_modify_buffer (ptrdiff_t, ptrdiff_t, ptrdiff_t *);
-extern void prepare_to_modify_buffer_1 (ptrdiff_t, ptrdiff_t, ptrdiff_t *);
-extern void invalidate_buffer_caches (struct buffer *, ptrdiff_t, ptrdiff_t);
-extern void signal_after_change (ptrdiff_t, ptrdiff_t, ptrdiff_t);
-extern void adjust_after_insert (ptrdiff_t, ptrdiff_t, ptrdiff_t,
-                                ptrdiff_t, ptrdiff_t);
-extern void adjust_markers_for_delete (ptrdiff_t, ptrdiff_t,
-                                      ptrdiff_t, ptrdiff_t);
-extern void replace_range (ptrdiff_t, ptrdiff_t, Lisp_Object, bool, bool, bool);
-extern void replace_range_2 (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t,
-                            const char *, ptrdiff_t, ptrdiff_t, bool);
-extern void syms_of_insdel (void);
-
-/* Defined in dispnew.c.  */
-#if (defined PROFILING \
-     && (defined __FreeBSD__ || defined GNU_LINUX || defined __MINGW32__))
-_Noreturn void __executable_start (void);
-#endif
-extern Lisp_Object Vwindow_system;
-extern Lisp_Object sit_for (Lisp_Object, bool, int);
-
-/* Defined in xdisp.c.  */
-extern bool noninteractive_need_newline;
-extern Lisp_Object echo_area_buffer[2];
-extern void add_to_log (const char *, Lisp_Object, Lisp_Object);
-extern void check_message_stack (void);
-extern void setup_echo_area_for_printing (bool);
-extern bool push_message (void);
-extern void pop_message_unwind (void);
-extern Lisp_Object restore_message_unwind (Lisp_Object);
-extern void restore_message (void);
-extern Lisp_Object current_message (void);
-extern void clear_message (bool, bool);
-extern void message (const char *, ...) ATTRIBUTE_FORMAT_PRINTF (1, 2);
-extern void message1 (const char *);
-extern void message1_nolog (const char *);
-extern void message3 (Lisp_Object);
-extern void message3_nolog (Lisp_Object);
-extern void message_dolog (const char *, ptrdiff_t, bool, bool);
-extern void message_with_string (const char *, Lisp_Object, bool);
-extern void message_log_maybe_newline (void);
-extern void update_echo_area (void);
-extern void truncate_echo_area (ptrdiff_t);
-extern void redisplay (void);
-
-void set_frame_cursor_types (struct frame *, Lisp_Object);
-extern void syms_of_xdisp (void);
-extern void init_xdisp (void);
-extern Lisp_Object safe_eval (Lisp_Object);
-extern bool pos_visible_p (struct window *, ptrdiff_t, int *,
-                          int *, int *, int *, int *, int *);
-
-/* Defined in xsettings.c.  */
-extern void syms_of_xsettings (void);
-
-/* Defined in vm-limit.c.  */
-extern void memory_warnings (void *, void (*warnfun) (const char *));
-
-/* Defined in character.c.  */
-extern void parse_str_as_multibyte (const unsigned char *, ptrdiff_t,
-                                   ptrdiff_t *, ptrdiff_t *);
-
-/* Defined in alloc.c.  */
-extern void check_pure_size (void);
-extern void free_misc (Lisp_Object);
-extern void allocate_string_data (struct Lisp_String *, EMACS_INT, EMACS_INT);
-extern void malloc_warning (const char *);
-extern _Noreturn void memory_full (size_t);
-extern _Noreturn void buffer_memory_full (ptrdiff_t);
-extern bool survives_gc_p (Lisp_Object);
-extern void mark_object (Lisp_Object);
-#if defined REL_ALLOC && !defined SYSTEM_MALLOC && !defined HYBRID_MALLOC
-extern void refill_memory_reserve (void);
-#endif
-extern const char *pending_malloc_warning;
-extern Lisp_Object zero_vector;
-extern Lisp_Object *stack_base;
-extern EMACS_INT consing_since_gc;
-extern EMACS_INT gc_relative_threshold;
-extern EMACS_INT memory_full_cons_threshold;
-extern Lisp_Object list1 (Lisp_Object);
-extern Lisp_Object list2 (Lisp_Object, Lisp_Object);
-extern Lisp_Object list3 (Lisp_Object, Lisp_Object, Lisp_Object);
-extern Lisp_Object list4 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
-extern Lisp_Object list5 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object,
-                         Lisp_Object);
-enum constype {CONSTYPE_HEAP, CONSTYPE_PURE};
-extern Lisp_Object listn (enum constype, ptrdiff_t, Lisp_Object, ...);
-
-/* Build a frequently used 2/3/4-integer lists.  */
-
-INLINE Lisp_Object
-list2i (EMACS_INT x, EMACS_INT y)
-{
-  return list2 (make_number (x), make_number (y));
-}
-
-INLINE Lisp_Object
-list3i (EMACS_INT x, EMACS_INT y, EMACS_INT w)
-{
-  return list3 (make_number (x), make_number (y), make_number (w));
-}
-
-INLINE Lisp_Object
-list4i (EMACS_INT x, EMACS_INT y, EMACS_INT w, EMACS_INT h)
-{
-  return list4 (make_number (x), make_number (y),
-               make_number (w), make_number (h));
-}
-
-extern Lisp_Object make_uninit_bool_vector (EMACS_INT);
-extern Lisp_Object bool_vector_fill (Lisp_Object, Lisp_Object);
-extern _Noreturn void string_overflow (void);
-extern Lisp_Object make_string (const char *, ptrdiff_t);
-extern Lisp_Object make_formatted_string (char *, const char *, ...)
-  ATTRIBUTE_FORMAT_PRINTF (2, 3);
-extern Lisp_Object make_unibyte_string (const char *, ptrdiff_t);
-
-/* Make unibyte string from C string when the length isn't known.  */
-
-INLINE Lisp_Object
-build_unibyte_string (const char *str)
-{
-  return make_unibyte_string (str, strlen (str));
-}
-
-extern Lisp_Object make_multibyte_string (const char *, ptrdiff_t, ptrdiff_t);
-extern Lisp_Object make_event_array (ptrdiff_t, Lisp_Object *);
-extern Lisp_Object make_uninit_string (EMACS_INT);
-extern Lisp_Object make_uninit_multibyte_string (EMACS_INT, EMACS_INT);
-extern Lisp_Object make_string_from_bytes (const char *, ptrdiff_t, ptrdiff_t);
-extern Lisp_Object make_specified_string (const char *,
-                                         ptrdiff_t, ptrdiff_t, bool);
-extern Lisp_Object make_pure_string (const char *, ptrdiff_t, ptrdiff_t, bool);
-extern Lisp_Object make_pure_c_string (const char *, ptrdiff_t);
-
-/* Make a string allocated in pure space, use STR as string data.  */
-
-INLINE Lisp_Object
-build_pure_c_string (const char *str)
-{
-  return make_pure_c_string (str, strlen (str));
-}
-
-/* Make a string from the data at STR, treating it as multibyte if the
-   data warrants.  */
-
-INLINE Lisp_Object
-build_string (const char *str)
-{
-  return make_string (str, strlen (str));
-}
-
-extern Lisp_Object pure_cons (Lisp_Object, Lisp_Object);
-extern void make_byte_code (struct Lisp_Vector *);
-extern struct Lisp_Vector *allocate_vector (EMACS_INT);
-
-/* Make an uninitialized vector for SIZE objects.  NOTE: you must
-   be sure that GC cannot happen until the vector is completely
-   initialized.  E.g. the following code is likely to crash:
-
-   v = make_uninit_vector (3);
-   ASET (v, 0, obj0);
-   ASET (v, 1, Ffunction_can_gc ());
-   ASET (v, 2, obj1);  */
-
-INLINE Lisp_Object
-make_uninit_vector (ptrdiff_t size)
-{
-  Lisp_Object v;
-  struct Lisp_Vector *p;
-
-  p = allocate_vector (size);
-  XSETVECTOR (v, p);
-  return v;
-}
-
-/* Like above, but special for sub char-tables.  */
-
-INLINE Lisp_Object
-make_uninit_sub_char_table (int depth, int min_char)
-{
-  int slots = SUB_CHAR_TABLE_OFFSET + chartab_size[depth];
-  Lisp_Object v = make_uninit_vector (slots);
-
-  XSETPVECTYPE (XVECTOR (v), PVEC_SUB_CHAR_TABLE);
-  XSUB_CHAR_TABLE (v)->depth = depth;
-  XSUB_CHAR_TABLE (v)->min_char = min_char;
-  return v;
-}
-
-extern struct Lisp_Vector *allocate_pseudovector (int, int, int,
-                                                 enum pvec_type);
-
-/* Allocate partially initialized pseudovector where all Lisp_Object
-   slots are set to Qnil but the rest (if any) is left uninitialized.  */
-
-#define ALLOCATE_PSEUDOVECTOR(type, field, tag)                               \
-  ((type *) allocate_pseudovector (VECSIZE (type),                    \
-                                  PSEUDOVECSIZE (type, field),        \
-                                  PSEUDOVECSIZE (type, field), tag))
-
-/* Allocate fully initialized pseudovector where all Lisp_Object
-   slots are set to Qnil and the rest (if any) is zeroed.  */
-
-#define ALLOCATE_ZEROED_PSEUDOVECTOR(type, field, tag)                \
-  ((type *) allocate_pseudovector (VECSIZE (type),                    \
-                                  PSEUDOVECSIZE (type, field),        \
-                                  VECSIZE (type), tag))
-
-extern bool gc_in_progress;
-extern bool abort_on_gc;
-extern Lisp_Object make_float (double);
-extern void display_malloc_warning (void);
-extern ptrdiff_t inhibit_garbage_collection (void);
-extern Lisp_Object make_save_int_int_int (ptrdiff_t, ptrdiff_t, ptrdiff_t);
-extern Lisp_Object make_save_obj_obj_obj_obj (Lisp_Object, Lisp_Object,
-                                             Lisp_Object, Lisp_Object);
-extern Lisp_Object make_save_ptr (void *);
-extern Lisp_Object make_save_ptr_int (void *, ptrdiff_t);
-extern Lisp_Object make_save_ptr_ptr (void *, void *);
-extern Lisp_Object make_save_funcptr_ptr_obj (void (*) (void), void *,
-                                             Lisp_Object);
-extern Lisp_Object make_save_memory (Lisp_Object *, ptrdiff_t);
-extern void free_save_value (Lisp_Object);
-extern Lisp_Object build_overlay (Lisp_Object, Lisp_Object, Lisp_Object);
-extern void free_marker (Lisp_Object);
-extern void free_cons (struct Lisp_Cons *);
-extern void init_alloc_once (void);
-extern void init_alloc (void);
-extern void syms_of_alloc (void);
-extern struct buffer * allocate_buffer (void);
-extern int valid_lisp_object_p (Lisp_Object);
-extern int relocatable_string_data_p (const char *);
-#ifdef GC_CHECK_CONS_LIST
-extern void check_cons_list (void);
-#else
-INLINE void (check_cons_list) (void) { lisp_h_check_cons_list (); }
-#endif
-
-#ifdef REL_ALLOC
-/* Defined in ralloc.c.  */
-extern void *r_alloc (void **, size_t) ATTRIBUTE_ALLOC_SIZE ((2));
-extern void r_alloc_free (void **);
-extern void *r_re_alloc (void **, size_t) ATTRIBUTE_ALLOC_SIZE ((2));
-extern void r_alloc_reset_variable (void **, void **);
-extern void r_alloc_inhibit_buffer_relocation (int);
-#endif
-
-/* Defined in chartab.c.  */
-extern Lisp_Object copy_char_table (Lisp_Object);
-extern Lisp_Object char_table_ref_and_range (Lisp_Object, int,
-                                             int *, int *);
-extern void char_table_set_range (Lisp_Object, int, int, Lisp_Object);
-extern void map_char_table (void (*) (Lisp_Object, Lisp_Object,
-                            Lisp_Object),
-                            Lisp_Object, Lisp_Object, Lisp_Object);
-extern void map_char_table_for_charset (void (*c_function) (Lisp_Object, Lisp_Object),
-                                       Lisp_Object, Lisp_Object,
-                                       Lisp_Object, struct charset *,
-                                       unsigned, unsigned);
-extern Lisp_Object uniprop_table (Lisp_Object);
-extern void syms_of_chartab (void);
-
-/* Defined in print.c.  */
-extern Lisp_Object Vprin1_to_string_buffer;
-extern void debug_print (Lisp_Object) EXTERNALLY_VISIBLE;
-extern void temp_output_buffer_setup (const char *);
-extern int print_level;
-extern void write_string (const char *);
-extern void print_error_message (Lisp_Object, Lisp_Object, const char *,
-                                Lisp_Object);
-extern Lisp_Object internal_with_output_to_temp_buffer
-        (const char *, Lisp_Object (*) (Lisp_Object), Lisp_Object);
-#define FLOAT_TO_STRING_BUFSIZE 350
-extern int float_to_string (char *, double);
-extern void init_print_once (void);
-extern void syms_of_print (void);
-
-/* Defined in doprnt.c.  */
-extern ptrdiff_t doprnt (char *, ptrdiff_t, const char *, const char *,
-                        va_list);
-extern ptrdiff_t esprintf (char *, char const *, ...)
-  ATTRIBUTE_FORMAT_PRINTF (2, 3);
-extern ptrdiff_t exprintf (char **, ptrdiff_t *, char const *, ptrdiff_t,
-                          char const *, ...)
-  ATTRIBUTE_FORMAT_PRINTF (5, 6);
-extern ptrdiff_t evxprintf (char **, ptrdiff_t *, char const *, ptrdiff_t,
-                           char const *, va_list)
-  ATTRIBUTE_FORMAT_PRINTF (5, 0);
-
-/* Defined in lread.c.  */
-extern Lisp_Object check_obarray (Lisp_Object);
-extern Lisp_Object intern_1 (const char *, ptrdiff_t);
-extern Lisp_Object intern_c_string_1 (const char *, ptrdiff_t);
-extern Lisp_Object intern_driver (Lisp_Object, Lisp_Object, Lisp_Object);
-extern void init_symbol (Lisp_Object, Lisp_Object);
-extern Lisp_Object oblookup (Lisp_Object, const char *, ptrdiff_t, ptrdiff_t);
-INLINE void
-LOADHIST_ATTACH (Lisp_Object x)
-{
-  if (initialized)
-    Vcurrent_load_list = Fcons (x, Vcurrent_load_list);
-}
-extern int openp (Lisp_Object, Lisp_Object, Lisp_Object,
-                  Lisp_Object *, Lisp_Object, bool);
-extern Lisp_Object string_to_number (char const *, int, bool);
-extern void map_obarray (Lisp_Object, void (*) (Lisp_Object, Lisp_Object),
-                         Lisp_Object);
-extern void dir_warning (const char *, Lisp_Object);
-extern void init_obarray (void);
-extern void init_lread (void);
-extern void syms_of_lread (void);
-
-INLINE Lisp_Object
-intern (const char *str)
-{
-  return intern_1 (str, strlen (str));
-}
-
-INLINE Lisp_Object
-intern_c_string (const char *str)
-{
-  return intern_c_string_1 (str, strlen (str));
-}
-
-/* Defined in eval.c.  */
-extern EMACS_INT lisp_eval_depth;
-extern Lisp_Object Vautoload_queue;
-extern Lisp_Object Vrun_hooks;
-extern Lisp_Object Vsignaling_function;
-extern Lisp_Object inhibit_lisp_code;
-extern struct handler *handlerlist;
-
-/* To run a normal hook, use the appropriate function from the list below.
-   The calling convention:
-
-   if (!NILP (Vrun_hooks))
-     call1 (Vrun_hooks, Qmy_funny_hook);
-
-   should no longer be used.  */
-extern void run_hook (Lisp_Object);
-extern void run_hook_with_args_2 (Lisp_Object, Lisp_Object, Lisp_Object);
-extern Lisp_Object run_hook_with_args (ptrdiff_t nargs, Lisp_Object *args,
-                                      Lisp_Object (*funcall)
-                                      (ptrdiff_t nargs, Lisp_Object *args));
-extern _Noreturn void xsignal (Lisp_Object, Lisp_Object);
-extern _Noreturn void xsignal0 (Lisp_Object);
-extern _Noreturn void xsignal1 (Lisp_Object, Lisp_Object);
-extern _Noreturn void xsignal2 (Lisp_Object, Lisp_Object, Lisp_Object);
-extern _Noreturn void xsignal3 (Lisp_Object, Lisp_Object, Lisp_Object,
-                               Lisp_Object);
-extern _Noreturn void signal_error (const char *, Lisp_Object);
-extern Lisp_Object eval_sub (Lisp_Object form);
-extern Lisp_Object apply1 (Lisp_Object, Lisp_Object);
-extern Lisp_Object call0 (Lisp_Object);
-extern Lisp_Object call1 (Lisp_Object, Lisp_Object);
-extern Lisp_Object call2 (Lisp_Object, Lisp_Object, Lisp_Object);
-extern Lisp_Object call3 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
-extern Lisp_Object call4 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
-extern Lisp_Object call5 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
-extern Lisp_Object call6 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
-extern Lisp_Object call7 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
-extern Lisp_Object internal_catch (Lisp_Object, Lisp_Object (*) (Lisp_Object), Lisp_Object);
-extern Lisp_Object internal_lisp_condition_case (Lisp_Object, Lisp_Object, Lisp_Object);
-extern Lisp_Object internal_condition_case (Lisp_Object (*) (void), Lisp_Object, Lisp_Object (*) (Lisp_Object));
-extern Lisp_Object internal_condition_case_1 (Lisp_Object (*) (Lisp_Object), Lisp_Object, Lisp_Object, Lisp_Object (*) (Lisp_Object));
-extern Lisp_Object internal_condition_case_2 (Lisp_Object (*) (Lisp_Object, Lisp_Object), Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object (*) (Lisp_Object));
-extern Lisp_Object internal_condition_case_n
-    (Lisp_Object (*) (ptrdiff_t, Lisp_Object *), ptrdiff_t, Lisp_Object *,
-     Lisp_Object, Lisp_Object (*) (Lisp_Object, ptrdiff_t, Lisp_Object *));
-extern void specbind (Lisp_Object, Lisp_Object);
-extern void record_unwind_protect (void (*) (Lisp_Object), Lisp_Object);
-extern void record_unwind_protect_ptr (void (*) (void *), void *);
-extern void record_unwind_protect_int (void (*) (int), int);
-extern void record_unwind_protect_void (void (*) (void));
-extern void record_unwind_protect_nothing (void);
-extern void clear_unwind_protect (ptrdiff_t);
-extern void set_unwind_protect (ptrdiff_t, void (*) (Lisp_Object), Lisp_Object);
-extern void set_unwind_protect_ptr (ptrdiff_t, void (*) (void *), void *);
-extern Lisp_Object unbind_to (ptrdiff_t, Lisp_Object);
-extern _Noreturn void error (const char *, ...) ATTRIBUTE_FORMAT_PRINTF (1, 2);
-extern _Noreturn void verror (const char *, va_list)
-  ATTRIBUTE_FORMAT_PRINTF (1, 0);
-extern void un_autoload (Lisp_Object);
-extern Lisp_Object call_debugger (Lisp_Object arg);
-extern void init_eval_once (void);
-extern Lisp_Object safe_call (ptrdiff_t, Lisp_Object, ...);
-extern Lisp_Object safe_call1 (Lisp_Object, Lisp_Object);
-extern Lisp_Object safe_call2 (Lisp_Object, Lisp_Object, Lisp_Object);
-extern void init_eval (void);
-extern void syms_of_eval (void);
-extern void unwind_body (Lisp_Object);
-extern ptrdiff_t record_in_backtrace (Lisp_Object, Lisp_Object *, ptrdiff_t);
-extern void mark_specpdl (void);
-extern void get_backtrace (Lisp_Object array);
-Lisp_Object backtrace_top_function (void);
-extern bool let_shadows_buffer_binding_p (struct Lisp_Symbol *symbol);
-extern bool let_shadows_global_binding_p (Lisp_Object symbol);
-
-
-/* Defined in editfns.c.  */
-extern void insert1 (Lisp_Object);
-extern Lisp_Object format2 (const char *, Lisp_Object, Lisp_Object);
-extern Lisp_Object save_excursion_save (void);
-extern Lisp_Object save_restriction_save (void);
-extern void save_excursion_restore (Lisp_Object);
-extern void save_restriction_restore (Lisp_Object);
-extern _Noreturn void time_overflow (void);
-extern Lisp_Object make_buffer_string (ptrdiff_t, ptrdiff_t, bool);
-extern Lisp_Object make_buffer_string_both (ptrdiff_t, ptrdiff_t, ptrdiff_t,
-                                           ptrdiff_t, bool);
-extern void init_editfns (void);
-extern void syms_of_editfns (void);
-
-/* Defined in buffer.c.  */
-extern bool mouse_face_overlay_overlaps (Lisp_Object);
-extern _Noreturn void nsberror (Lisp_Object);
-extern void adjust_overlays_for_insert (ptrdiff_t, ptrdiff_t);
-extern void adjust_overlays_for_delete (ptrdiff_t, ptrdiff_t);
-extern void fix_start_end_in_overlays (ptrdiff_t, ptrdiff_t);
-extern void report_overlay_modification (Lisp_Object, Lisp_Object, bool,
-                                         Lisp_Object, Lisp_Object, Lisp_Object);
-extern bool overlay_touches_p (ptrdiff_t);
-extern Lisp_Object other_buffer_safely (Lisp_Object);
-extern Lisp_Object get_truename_buffer (Lisp_Object);
-extern void init_buffer_once (void);
-extern void init_buffer (int);
-extern void syms_of_buffer (void);
-extern void keys_of_buffer (void);
-
-/* Defined in marker.c.  */
-
-extern ptrdiff_t marker_position (Lisp_Object);
-extern ptrdiff_t marker_byte_position (Lisp_Object);
-extern void clear_charpos_cache (struct buffer *);
-extern ptrdiff_t buf_charpos_to_bytepos (struct buffer *, ptrdiff_t);
-extern ptrdiff_t buf_bytepos_to_charpos (struct buffer *, ptrdiff_t);
-extern void unchain_marker (struct Lisp_Marker *marker);
-extern Lisp_Object set_marker_restricted (Lisp_Object, Lisp_Object, Lisp_Object);
-extern Lisp_Object set_marker_both (Lisp_Object, Lisp_Object, ptrdiff_t, ptrdiff_t);
-extern Lisp_Object set_marker_restricted_both (Lisp_Object, Lisp_Object,
-                                               ptrdiff_t, ptrdiff_t);
-extern Lisp_Object build_marker (struct buffer *, ptrdiff_t, ptrdiff_t);
-extern void syms_of_marker (void);
-
-/* Defined in fileio.c.  */
-
-extern Lisp_Object expand_and_dir_to_file (Lisp_Object, Lisp_Object);
-extern Lisp_Object write_region (Lisp_Object, Lisp_Object, Lisp_Object,
-                                Lisp_Object, Lisp_Object, Lisp_Object,
-                                Lisp_Object, int);
-extern void close_file_unwind (int);
-extern void fclose_unwind (void *);
-extern void restore_point_unwind (Lisp_Object);
-extern _Noreturn void report_file_errno (const char *, Lisp_Object, int);
-extern _Noreturn void report_file_error (const char *, Lisp_Object);
-extern bool internal_delete_file (Lisp_Object);
-extern Lisp_Object emacs_readlinkat (int, const char *);
-extern bool file_directory_p (const char *);
-extern bool file_accessible_directory_p (Lisp_Object);
-extern void init_fileio (void);
-extern void syms_of_fileio (void);
-extern Lisp_Object make_temp_name (Lisp_Object, bool);
-
-/* Defined in search.c.  */
-extern void shrink_regexp_cache (void);
-extern void restore_search_regs (void);
-extern void record_unwind_save_match_data (void);
-struct re_registers;
-extern struct re_pattern_buffer *compile_pattern (Lisp_Object,
-                                                 struct re_registers *,
-                                                 Lisp_Object, bool, bool);
-extern ptrdiff_t fast_string_match_internal (Lisp_Object, Lisp_Object,
-                                            Lisp_Object);
-
-INLINE ptrdiff_t
-fast_string_match (Lisp_Object regexp, Lisp_Object string)
-{
-  return fast_string_match_internal (regexp, string, Qnil);
-}
-
-INLINE ptrdiff_t
-fast_string_match_ignore_case (Lisp_Object regexp, Lisp_Object string)
-{
-  return fast_string_match_internal (regexp, string, Vascii_canon_table);
-}
-
-extern ptrdiff_t fast_c_string_match_ignore_case (Lisp_Object, const char *,
-                                                 ptrdiff_t);
-extern ptrdiff_t fast_looking_at (Lisp_Object, ptrdiff_t, ptrdiff_t,
-                                  ptrdiff_t, ptrdiff_t, Lisp_Object);
-extern ptrdiff_t find_newline (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t,
-                              ptrdiff_t, ptrdiff_t *, ptrdiff_t *, bool);
-extern ptrdiff_t scan_newline (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t,
-                              ptrdiff_t, bool);
-extern ptrdiff_t scan_newline_from_point (ptrdiff_t, ptrdiff_t *, ptrdiff_t *);
-extern ptrdiff_t find_newline_no_quit (ptrdiff_t, ptrdiff_t,
-                                      ptrdiff_t, ptrdiff_t *);
-extern ptrdiff_t find_before_next_newline (ptrdiff_t, ptrdiff_t,
-                                          ptrdiff_t, ptrdiff_t *);
-extern void syms_of_search (void);
-extern void clear_regexp_cache (void);
-
-/* Defined in minibuf.c.  */
-
-extern Lisp_Object Vminibuffer_list;
-extern Lisp_Object last_minibuf_string;
-extern Lisp_Object get_minibuffer (EMACS_INT);
-extern void init_minibuf_once (void);
-extern void syms_of_minibuf (void);
-
-/* Defined in callint.c.  */
-
-extern void syms_of_callint (void);
-
-/* Defined in casefiddle.c.  */
-
-extern void syms_of_casefiddle (void);
-extern void keys_of_casefiddle (void);
-
-/* Defined in casetab.c.  */
-
-extern void init_casetab_once (void);
-extern void syms_of_casetab (void);
-
-/* Defined in keyboard.c.  */
-
-extern Lisp_Object echo_message_buffer;
-extern struct kboard *echo_kboard;
-extern void cancel_echoing (void);
-extern Lisp_Object last_undo_boundary;
-extern bool input_pending;
-#ifdef HAVE_STACK_OVERFLOW_HANDLING
-extern sigjmp_buf return_to_command_loop;
-#endif
-extern Lisp_Object menu_bar_items (Lisp_Object);
-extern Lisp_Object tool_bar_items (Lisp_Object, int *);
-extern void discard_mouse_events (void);
-#ifdef USABLE_SIGIO
-void handle_input_available_signal (int);
-#endif
-extern Lisp_Object pending_funcalls;
-extern bool detect_input_pending (void);
-extern bool detect_input_pending_ignore_squeezables (void);
-extern bool detect_input_pending_run_timers (bool);
-extern void safe_run_hooks (Lisp_Object);
-extern void cmd_error_internal (Lisp_Object, const char *);
-extern Lisp_Object command_loop_1 (void);
-extern Lisp_Object read_menu_command (void);
-extern Lisp_Object recursive_edit_1 (void);
-extern void record_auto_save (void);
-extern void force_auto_save_soon (void);
-extern void init_keyboard (void);
-extern void syms_of_keyboard (void);
-extern void keys_of_keyboard (void);
-
-/* Defined in indent.c.  */
-extern ptrdiff_t current_column (void);
-extern void invalidate_current_column (void);
-extern bool indented_beyond_p (ptrdiff_t, ptrdiff_t, EMACS_INT);
-extern void syms_of_indent (void);
-
-/* Defined in frame.c.  */
-extern void store_frame_param (struct frame *, Lisp_Object, Lisp_Object);
-extern void store_in_alist (Lisp_Object *, Lisp_Object, Lisp_Object);
-extern Lisp_Object do_switch_frame (Lisp_Object, int, int, Lisp_Object);
-extern Lisp_Object get_frame_param (struct frame *, Lisp_Object);
-extern void frames_discard_buffer (Lisp_Object);
-extern void syms_of_frame (void);
-
-/* Defined in emacs.c.  */
-extern char **initial_argv;
-extern int initial_argc;
-#if defined (HAVE_X_WINDOWS) || defined (HAVE_NS)
-extern bool display_arg;
-#endif
-extern Lisp_Object decode_env_path (const char *, const char *, bool);
-extern Lisp_Object empty_unibyte_string, empty_multibyte_string;
-extern _Noreturn void terminate_due_to_signal (int, int);
-#ifdef WINDOWSNT
-extern Lisp_Object Vlibrary_cache;
-#endif
-#if HAVE_SETLOCALE
-void fixup_locale (void);
-void synchronize_system_messages_locale (void);
-void synchronize_system_time_locale (void);
-#else
-INLINE void fixup_locale (void) {}
-INLINE void synchronize_system_messages_locale (void) {}
-INLINE void synchronize_system_time_locale (void) {}
-#endif
-extern void shut_down_emacs (int, Lisp_Object);
-
-/* True means don't do interactive redisplay and don't change tty modes.  */
-extern bool noninteractive;
-
-/* True means remove site-lisp directories from load-path.  */
-extern bool no_site_lisp;
-
-/* Pipe used to send exit notification to the daemon parent at
-   startup.  On Windows, we use a kernel event instead.  */
-#ifndef WINDOWSNT
-extern int daemon_pipe[2];
-#define IS_DAEMON (daemon_pipe[1] != 0)
-#define DAEMON_RUNNING (daemon_pipe[1] >= 0)
-#else  /* WINDOWSNT */
-extern void *w32_daemon_event;
-#define IS_DAEMON (w32_daemon_event != NULL)
-#define DAEMON_RUNNING (w32_daemon_event != INVALID_HANDLE_VALUE)
-#endif
-
-/* True if handling a fatal error already.  */
-extern bool fatal_error_in_progress;
-
-/* True means don't do use window-system-specific display code.  */
-extern bool inhibit_window_system;
-/* True means that a filter or a sentinel is running.  */
-extern bool running_asynch_code;
-
-/* Defined in process.c.  */
-extern void kill_buffer_processes (Lisp_Object);
-extern int wait_reading_process_output (intmax_t, int, int, bool, Lisp_Object,
-                                       struct Lisp_Process *, int);
-/* Max value for the first argument of wait_reading_process_output.  */
-#if __GNUC__ == 3 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 5)
-/* Work around a bug in GCC 3.4.2, known to be fixed in GCC 4.6.3.
-   The bug merely causes a bogus warning, but the warning is annoying.  */
-# define WAIT_READING_MAX min (TYPE_MAXIMUM (time_t), INTMAX_MAX)
-#else
-# define WAIT_READING_MAX INTMAX_MAX
-#endif
-#ifdef HAVE_TIMERFD
-extern void add_timer_wait_descriptor (int);
-#endif
-extern void add_keyboard_wait_descriptor (int);
-extern void delete_keyboard_wait_descriptor (int);
-#ifdef HAVE_GPM
-extern void add_gpm_wait_descriptor (int);
-extern void delete_gpm_wait_descriptor (int);
-#endif
-extern void init_process_emacs (void);
-extern void syms_of_process (void);
-extern void setup_process_coding_systems (Lisp_Object);
-
-/* Defined in callproc.c.  */
-#ifndef DOS_NT
- _Noreturn
-#endif
-extern int child_setup (int, int, int, char **, bool, Lisp_Object);
-extern void init_callproc_1 (void);
-extern void init_callproc (void);
-extern void set_initial_environment (void);
-extern void syms_of_callproc (void);
-
-/* Defined in doc.c.  */
-extern Lisp_Object read_doc_string (Lisp_Object);
-extern Lisp_Object get_doc_string (Lisp_Object, bool, bool);
-extern void syms_of_doc (void);
-extern int read_bytecode_char (bool);
-
-/* Defined in bytecode.c.  */
-extern void syms_of_bytecode (void);
-extern struct byte_stack *byte_stack_list;
-#if BYTE_MARK_STACK
-extern void mark_byte_stack (void);
-#endif
-extern void unmark_byte_stack (void);
-extern Lisp_Object exec_byte_code (Lisp_Object, Lisp_Object, Lisp_Object,
-                                  Lisp_Object, ptrdiff_t, Lisp_Object *);
-
-/* Defined in macros.c.  */
-extern void init_macros (void);
-extern void syms_of_macros (void);
-
-/* Defined in undo.c.  */
-extern void truncate_undo_list (struct buffer *);
-extern void record_insert (ptrdiff_t, ptrdiff_t);
-extern void record_delete (ptrdiff_t, Lisp_Object, bool);
-extern void record_first_change (void);
-extern void record_change (ptrdiff_t, ptrdiff_t);
-extern void record_property_change (ptrdiff_t, ptrdiff_t,
-                                   Lisp_Object, Lisp_Object,
-                                    Lisp_Object);
-extern void syms_of_undo (void);
-
-/* Defined in textprop.c.  */
-extern void report_interval_modification (Lisp_Object, Lisp_Object);
-
-/* Defined in menu.c.  */
-extern void syms_of_menu (void);
-
-/* Defined in xmenu.c.  */
-extern void syms_of_xmenu (void);
-
-/* Defined in termchar.h.  */
-struct tty_display_info;
-
-/* Defined in termhooks.h.  */
-struct terminal;
-
-/* Defined in sysdep.c.  */
-#ifndef HAVE_GET_CURRENT_DIR_NAME
-extern char *get_current_dir_name (void);
-#endif
-extern void stuff_char (char c);
-extern void init_foreground_group (void);
-extern void sys_subshell (void);
-extern void sys_suspend (void);
-extern void discard_tty_input (void);
-extern void init_sys_modes (struct tty_display_info *);
-extern void reset_sys_modes (struct tty_display_info *);
-extern void init_all_sys_modes (void);
-extern void reset_all_sys_modes (void);
-extern void child_setup_tty (int);
-extern void setup_pty (int);
-extern int set_window_size (int, int, int);
-extern EMACS_INT get_random (void);
-extern void seed_random (void *, ptrdiff_t);
-extern void init_random (void);
-extern void emacs_backtrace (int);
-extern _Noreturn void emacs_abort (void) NO_INLINE;
-extern int emacs_open (const char *, int, int);
-extern int emacs_pipe (int[2]);
-extern int emacs_close (int);
-extern ptrdiff_t emacs_read (int, void *, ptrdiff_t);
-extern ptrdiff_t emacs_write (int, void const *, ptrdiff_t);
-extern ptrdiff_t emacs_write_sig (int, void const *, ptrdiff_t);
-extern void emacs_perror (char const *);
-
-extern void unlock_all_files (void);
-extern void lock_file (Lisp_Object);
-extern void unlock_file (Lisp_Object);
-extern void unlock_buffer (struct buffer *);
-extern void syms_of_filelock (void);
-extern int str_collate (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
-
-/* Defined in sound.c.  */
-extern void syms_of_sound (void);
-
-/* Defined in category.c.  */
-extern void init_category_once (void);
-extern Lisp_Object char_category_set (int);
-extern void syms_of_category (void);
-
-/* Defined in ccl.c.  */
-extern void syms_of_ccl (void);
-
-/* Defined in dired.c.  */
-extern void syms_of_dired (void);
-extern Lisp_Object directory_files_internal (Lisp_Object, Lisp_Object,
-                                             Lisp_Object, Lisp_Object,
-                                             bool, Lisp_Object);
-
-/* Defined in term.c.  */
-extern int *char_ins_del_vector;
-extern void syms_of_term (void);
-extern _Noreturn void fatal (const char *msgid, ...)
-  ATTRIBUTE_FORMAT_PRINTF (1, 2);
-
-/* Defined in terminal.c.  */
-extern void syms_of_terminal (void);
-
-/* Defined in font.c.  */
-extern void syms_of_font (void);
-extern void init_font (void);
-
-#ifdef HAVE_WINDOW_SYSTEM
-/* Defined in fontset.c.  */
-extern void syms_of_fontset (void);
-#endif
-
-/* Defined in gfilenotify.c */
-#ifdef HAVE_GFILENOTIFY
-extern void globals_of_gfilenotify (void);
-extern void syms_of_gfilenotify (void);
-#endif
-
-/* Defined in inotify.c */
-#ifdef HAVE_INOTIFY
-extern void syms_of_inotify (void);
-#endif
-
-#ifdef HAVE_W32NOTIFY
-/* Defined on w32notify.c.  */
-extern void syms_of_w32notify (void);
-#endif
-
-/* Defined in xfaces.c.  */
-extern Lisp_Object Vface_alternative_font_family_alist;
-extern Lisp_Object Vface_alternative_font_registry_alist;
-extern void syms_of_xfaces (void);
-
-#ifdef HAVE_X_WINDOWS
-/* Defined in xfns.c.  */
-extern void syms_of_xfns (void);
-
-/* Defined in xsmfns.c.  */
-extern void syms_of_xsmfns (void);
-
-/* Defined in xselect.c.  */
-extern void syms_of_xselect (void);
-
-/* Defined in xterm.c.  */
-extern void init_xterm (void);
-extern void syms_of_xterm (void);
-#endif /* HAVE_X_WINDOWS */
-
-#ifdef HAVE_WINDOW_SYSTEM
-/* Defined in xterm.c, nsterm.m, w32term.c.  */
-extern char *x_get_keysym_name (int);
-#endif /* HAVE_WINDOW_SYSTEM */
-
-#ifdef HAVE_LIBXML2
-/* Defined in xml.c.  */
-extern void syms_of_xml (void);
-extern void xml_cleanup_parser (void);
-#endif
-
-#ifdef HAVE_ZLIB
-/* Defined in decompress.c.  */
-extern void syms_of_decompress (void);
-#endif
-
-#ifdef HAVE_DBUS
-/* Defined in dbusbind.c.  */
-void init_dbusbind (void);
-void syms_of_dbusbind (void);
-#endif
-
-
-/* Defined in profiler.c.  */
-extern bool profiler_memory_running;
-extern void malloc_probe (size_t);
-extern void syms_of_profiler (void);
-
-
-#ifdef DOS_NT
-/* Defined in msdos.c, w32.c.  */
-extern char *emacs_root_dir (void);
-#endif /* DOS_NT */
-
-/* Defined in lastfile.c.  */
-extern char my_edata[];
-extern char my_endbss[];
-extern char *my_endbss_static;
-
-/* True means ^G can quit instantly.  */
-extern bool immediate_quit;
-
-extern void *xmalloc (size_t) ATTRIBUTE_MALLOC_SIZE ((1));
-extern void *xzalloc (size_t) ATTRIBUTE_MALLOC_SIZE ((1));
-extern void *xrealloc (void *, size_t) ATTRIBUTE_ALLOC_SIZE ((2));
-extern void xfree (void *);
-extern void *xnmalloc (ptrdiff_t, ptrdiff_t) ATTRIBUTE_MALLOC_SIZE ((1,2));
-extern void *xnrealloc (void *, ptrdiff_t, ptrdiff_t)
-  ATTRIBUTE_ALLOC_SIZE ((2,3));
-extern void *xpalloc (void *, ptrdiff_t *, ptrdiff_t, ptrdiff_t, ptrdiff_t);
-
-extern char *xstrdup (const char *) ATTRIBUTE_MALLOC;
-extern char *xlispstrdup (Lisp_Object) ATTRIBUTE_MALLOC;
-extern void dupstring (char **, char const *);
-
-/* Make DEST a copy of STRING's data.  Return a pointer to DEST's terminating
-   null byte.  This is like stpcpy, except the source is a Lisp string.  */
-
-INLINE char *
-lispstpcpy (char *dest, Lisp_Object string)
-{
-  ptrdiff_t len = SBYTES (string);
-  memcpy (dest, SDATA (string), len + 1);
-  return dest + len;
-}
-
-extern void xputenv (const char *);
-
-extern char *egetenv_internal (const char *, ptrdiff_t);
-
-INLINE char *
-egetenv (const char *var)
-{
-  /* When VAR is a string literal, strlen can be optimized away.  */
-  return egetenv_internal (var, strlen (var));
-}
-
-/* Set up the name of the machine we're running on.  */
-extern void init_system_name (void);
-
-/* Return the absolute value of X.  X should be a signed integer
-   expression without side effects, and X's absolute value should not
-   exceed the maximum for its promoted type.  This is called 'eabs'
-   because 'abs' is reserved by the C standard.  */
-#define eabs(x)         ((x) < 0 ? -(x) : (x))
-
-/* Return a fixnum or float, depending on whether VAL fits in a Lisp
-   fixnum.  */
-
-#define make_fixnum_or_float(val) \
-   (FIXNUM_OVERFLOW_P (val) ? make_float (val) : make_number (val))
-
-/* SAFE_ALLOCA normally allocates memory on the stack, but if size is
-   larger than MAX_ALLOCA, use xmalloc to avoid overflowing the stack.  */
-
-enum MAX_ALLOCA { MAX_ALLOCA = 16 * 1024 };
-
-extern void *record_xmalloc (size_t) ATTRIBUTE_ALLOC_SIZE ((1));
-
-#define USE_SAFE_ALLOCA                        \
-  ptrdiff_t sa_avail = MAX_ALLOCA;     \
-  ptrdiff_t sa_count = SPECPDL_INDEX (); bool sa_must_free = false
-
-#define AVAIL_ALLOCA(size) (sa_avail -= (size), alloca (size))
-
-/* SAFE_ALLOCA allocates a simple buffer.  */
-
-#define SAFE_ALLOCA(size) ((size) <= sa_avail                          \
-                          ? AVAIL_ALLOCA (size)                        \
-                          : (sa_must_free = true, record_xmalloc (size)))
-
-/* SAFE_NALLOCA sets BUF to a newly allocated array of MULTIPLIER *
-   NITEMS items, each of the same type as *BUF.  MULTIPLIER must
-   positive.  The code is tuned for MULTIPLIER being a constant.  */
-
-#define SAFE_NALLOCA(buf, multiplier, nitems)                   \
-  do {                                                          \
-    if ((nitems) <= sa_avail / sizeof *(buf) / (multiplier))    \
-      (buf) = AVAIL_ALLOCA (sizeof *(buf) * (multiplier) * (nitems)); \
-    else                                                        \
-      {                                                                 \
-       (buf) = xnmalloc (nitems, sizeof *(buf) * (multiplier)); \
-       sa_must_free = true;                                     \
-       record_unwind_protect_ptr (xfree, buf);                  \
-      }                                                                 \
-  } while (false)
-
-/* SAFE_ALLOCA_STRING allocates a C copy of a Lisp string.  */
-
-#define SAFE_ALLOCA_STRING(ptr, string)                        \
-  do {                                                 \
-    (ptr) = SAFE_ALLOCA (SBYTES (string) + 1);         \
-    memcpy (ptr, SDATA (string), SBYTES (string) + 1); \
-  } while (false)
-
-/* SAFE_FREE frees xmalloced memory and enables GC as needed.  */
-
-#define SAFE_FREE()                    \
-  do {                                 \
-    if (sa_must_free) {                        \
-      sa_must_free = false;            \
-      unbind_to (sa_count, Qnil);      \
-    }                                  \
-  } while (false)
-
-
-/* Return floor (NBYTES / WORD_SIZE).  */
-
-INLINE ptrdiff_t
-lisp_word_count (ptrdiff_t nbytes)
-{
-  if (-1 >> 1 == -1)
-    switch (word_size)
-      {
-      case 2: return nbytes >> 1;
-      case 4: return nbytes >> 2;
-      case 8: return nbytes >> 3;
-      case 16: return nbytes >> 4;
-      }
-  return nbytes / word_size - (nbytes % word_size < 0);
-}
-
-/* SAFE_ALLOCA_LISP allocates an array of Lisp_Objects.  */
-
-#define SAFE_ALLOCA_LISP(buf, nelt)                           \
-  do {                                                        \
-    if ((nelt) <= lisp_word_count (sa_avail))                 \
-      (buf) = AVAIL_ALLOCA ((nelt) * word_size);              \
-    else if ((nelt) <= min (PTRDIFF_MAX, SIZE_MAX) / word_size) \
-      {                                                               \
-       Lisp_Object arg_;                                      \
-       (buf) = xmalloc ((nelt) * word_size);                  \
-       arg_ = make_save_memory (buf, nelt);                   \
-       sa_must_free = true;                                   \
-       record_unwind_protect (free_save_value, arg_);         \
-      }                                                               \
-    else                                                      \
-      memory_full (SIZE_MAX);                                 \
-  } while (false)
-
-
-/* If USE_STACK_LISP_OBJECTS, define macros that and functions that allocate
-   block-scoped conses and strings.  These objects are not
-   managed by the garbage collector, so they are dangerous: passing them
-   out of their scope (e.g., to user code) results in undefined behavior.
-   Conversely, they have better performance because GC is not involved.
-
-   This feature is experimental and requires careful debugging.
-   Build with CPPFLAGS='-DUSE_STACK_LISP_OBJECTS=0' to disable it.  */
-
-#ifndef USE_STACK_LISP_OBJECTS
-# define USE_STACK_LISP_OBJECTS true
-#endif
-
-/* USE_STACK_LISP_OBJECTS requires GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.  */
-
-#if GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS
-# undef USE_STACK_LISP_OBJECTS
-# define USE_STACK_LISP_OBJECTS false
-#endif
-
-#ifdef GC_CHECK_STRING_BYTES
-enum { defined_GC_CHECK_STRING_BYTES = true };
-#else
-enum { defined_GC_CHECK_STRING_BYTES = false };
-#endif
-
-/* Struct inside unions that are typically no larger and aligned enough.  */
-
-union Aligned_Cons
-{
-  struct Lisp_Cons s;
-  double d; intmax_t i; void *p;
-};
-
-union Aligned_String
-{
-  struct Lisp_String s;
-  double d; intmax_t i; void *p;
-};
-
-/* True for stack-based cons and string implementations, respectively.
-   Use stack-based strings only if stack-based cons also works.
-   Otherwise, STACK_CONS would create heap-based cons cells that
-   could point to stack-based strings, which is a no-no.  */
-
-enum
-  {
-    USE_STACK_CONS = (USE_STACK_LISP_OBJECTS
-                     && alignof (union Aligned_Cons) % GCALIGNMENT == 0),
-    USE_STACK_STRING = (USE_STACK_CONS
-                       && !defined_GC_CHECK_STRING_BYTES
-                       && alignof (union Aligned_String) % GCALIGNMENT == 0)
-  };
-
-/* Auxiliary macros used for auto allocation of Lisp objects.  Please
-   use these only in macros like AUTO_CONS that declare a local
-   variable whose lifetime will be clear to the programmer.  */
-#define STACK_CONS(a, b) \
-  make_lisp_ptr (&(union Aligned_Cons) { { a, { b } } }.s, Lisp_Cons)
-#define AUTO_CONS_EXPR(a, b) \
-  (USE_STACK_CONS ? STACK_CONS (a, b) : Fcons (a, b))
-
-/* Declare NAME as an auto Lisp cons or short list if possible, a
-   GC-based one otherwise.  This is in the sense of the C keyword
-   'auto'; i.e., the object has the lifetime of the containing block.
-   The resulting object should not be made visible to user Lisp code.  */
-
-#define AUTO_CONS(name, a, b) Lisp_Object name = AUTO_CONS_EXPR (a, b)
-#define AUTO_LIST1(name, a)                                            \
-  Lisp_Object name = (USE_STACK_CONS ? STACK_CONS (a, Qnil) : list1 (a))
-#define AUTO_LIST2(name, a, b)                                         \
-  Lisp_Object name = (USE_STACK_CONS                                   \
-                     ? STACK_CONS (a, STACK_CONS (b, Qnil))            \
-                     : list2 (a, b))
-#define AUTO_LIST3(name, a, b, c)                                      \
-  Lisp_Object name = (USE_STACK_CONS                                   \
-                     ? STACK_CONS (a, STACK_CONS (b, STACK_CONS (c, Qnil))) \
-                     : list3 (a, b, c))
-#define AUTO_LIST4(name, a, b, c, d)                                   \
-    Lisp_Object name                                                   \
-      = (USE_STACK_CONS                                                        \
-        ? STACK_CONS (a, STACK_CONS (b, STACK_CONS (c,                 \
-                                                    STACK_CONS (d, Qnil)))) \
-        : list4 (a, b, c, d))
-
-/* Check whether stack-allocated strings are ASCII-only.  */
-
-#if defined (ENABLE_CHECKING) && USE_STACK_LISP_OBJECTS
-extern const char *verify_ascii (const char *);
-#else
-# define verify_ascii(str) (str)
-#endif
-
-/* Declare NAME as an auto Lisp string if possible, a GC-based one if not.
-   Take its value from STR.  STR is not necessarily copied and should
-   contain only ASCII characters.  The resulting Lisp string should
-   not be modified or made visible to user code.  */
-
-#define AUTO_STRING(name, str)                                         \
-  Lisp_Object name =                                                   \
-    (USE_STACK_STRING                                                  \
-     ? (make_lisp_ptr                                                  \
-       ((&(union Aligned_String)                                       \
-         {{strlen (str), -1, 0, (unsigned char *) verify_ascii (str)}}.s), \
-         Lisp_String))                                                 \
-     : build_string (verify_ascii (str)))
-
-/* Loop over all tails of a list, checking for cycles.
-   FIXME: Make tortoise and n internal declarations.
-   FIXME: Unroll the loop body so we don't need `n'.  */
-#define FOR_EACH_TAIL(hare, list, tortoise, n) \
-  for ((tortoise) = (hare) = (list), (n) = true;               \
-       CONSP (hare);                                           \
-       (hare = XCDR (hare), (n) = !(n),                                \
-       ((n)                                                    \
-        ? (EQ (hare, tortoise)                                 \
-           ? xsignal1 (Qcircular_list, list)                   \
-           : (void) 0)                                         \
-        /* Move tortoise before the next iteration, in case */ \
-        /* the next iteration does an Fsetcdr.  */             \
-        : (void) ((tortoise) = XCDR (tortoise)))))
-
-/* Do a `for' loop over alist values.  */
-
-#define FOR_EACH_ALIST_VALUE(head_var, list_var, value_var)            \
-  for ((list_var) = (head_var);                                                \
-       (CONSP (list_var) && ((value_var) = XCDR (XCAR (list_var)), true)); \
-       (list_var) = XCDR (list_var))
-
-/* Check whether it's time for GC, and run it if so.  */
-
-INLINE void
-maybe_gc (void)
-{
-  if ((consing_since_gc > gc_cons_threshold
-       && consing_since_gc > gc_relative_threshold)
-      || (!NILP (Vmemory_full)
-         && consing_since_gc > memory_full_cons_threshold))
-    Fgarbage_collect ();
-}
-
-INLINE bool
-functionp (Lisp_Object object)
-{
-  if (SYMBOLP (object) && !NILP (Ffboundp (object)))
-    {
-      object = Findirect_function (object, Qt);
-
-      if (CONSP (object) && EQ (XCAR (object), Qautoload))
-       {
-         /* Autoloaded symbols are functions, except if they load
-            macros or keymaps.  */
-         int i;
-         for (i = 0; i < 4 && CONSP (object); i++)
-           object = XCDR (object);
-
-         return ! (CONSP (object) && !NILP (XCAR (object)));
-       }
-    }
-
-  if (SUBRP (object))
-    return XSUBR (object)->max_args != UNEVALLED;
-  else if (COMPILEDP (object))
-    return true;
-  else if (CONSP (object))
-    {
-      Lisp_Object car = XCAR (object);
-      return EQ (car, Qlambda) || EQ (car, Qclosure);
-    }
-  else
-    return false;
-}
-
-INLINE_HEADER_END
-
-#endif /* EMACS_LISP_H */
diff --git a/test/manual/etags/c-src/emacs/src/regex.h b/test/manual/etags/c-src/emacs/src/regex.h
deleted file mode 100644 (file)
index 75a9b58..0000000
+++ /dev/null
@@ -1,630 +0,0 @@
-/* Definitions for data structures and routines for the regular
-   expression library, version 0.12.
-
-   Copyright (C) 1985, 1989-1993, 1995, 2000-2024 Free Software
-   Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
-
-#ifndef _REGEX_H
-#define _REGEX_H 1
-
-/* Allow the use in C++ code.  */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* POSIX says that <sys/types.h> must be included (by the caller) before
-   <regex.h>.  */
-
-#if !defined _POSIX_C_SOURCE && !defined _POSIX_SOURCE && defined VMS
-/* VMS doesn't have `size_t' in <sys/types.h>, even though POSIX says it
-   should be there.  */
-# include <stddef.h>
-#endif
-
-/* The following bits are used to determine the regexp syntax we
-   recognize.  The set/not-set meanings where historically chosen so
-   that Emacs syntax had the value 0.
-   The bits are given in alphabetical order, and
-   the definitions shifted by one from the previous bit; thus, when we
-   add or remove a bit, only one other definition need change.  */
-typedef unsigned long reg_syntax_t;
-
-/* If this bit is not set, then \ inside a bracket expression is literal.
-   If set, then such a \ quotes the following character.  */
-#define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1)
-
-/* If this bit is not set, then + and ? are operators, and \+ and \? are
-     literals.
-   If set, then \+ and \? are operators and + and ? are literals.  */
-#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
-
-/* If this bit is set, then character classes are supported.  They are:
-     [:alpha:], [:upper:], [:lower:],  [:digit:], [:alnum:], [:xdigit:],
-     [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
-   If not set, then character classes are not supported.  */
-#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1)
-
-/* If this bit is set, then ^ and $ are always anchors (outside bracket
-     expressions, of course).
-   If this bit is not set, then it depends:
-        ^  is an anchor if it is at the beginning of a regular
-           expression or after an open-group or an alternation operator;
-        $  is an anchor if it is at the end of a regular expression, or
-           before a close-group or an alternation operator.
-
-   This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because
-   POSIX draft 11.2 says that * etc. in leading positions is undefined.
-   We already implemented a previous draft which made those constructs
-   invalid, though, so we haven't changed the code back.  */
-#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1)
-
-/* If this bit is set, then special characters are always special
-     regardless of where they are in the pattern.
-   If this bit is not set, then special characters are special only in
-     some contexts; otherwise they are ordinary.  Specifically,
-     * + ? and intervals are only special when not after the beginning,
-     open-group, or alternation operator.  */
-#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1)
-
-/* If this bit is set, then *, +, ?, and { cannot be first in an re or
-     immediately after an alternation or begin-group operator.  */
-#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1)
-
-/* If this bit is set, then . matches newline.
-   If not set, then it doesn't.  */
-#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1)
-
-/* If this bit is set, then . doesn't match NUL.
-   If not set, then it does.  */
-#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1)
-
-/* If this bit is set, nonmatching lists [^...] do not match newline.
-   If not set, they do.  */
-#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1)
-
-/* If this bit is set, either \{...\} or {...} defines an
-     interval, depending on RE_NO_BK_BRACES.
-   If not set, \{, \}, {, and } are literals.  */
-#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1)
-
-/* If this bit is set, +, ? and | aren't recognized as operators.
-   If not set, they are.  */
-#define RE_LIMITED_OPS (RE_INTERVALS << 1)
-
-/* If this bit is set, newline is an alternation operator.
-   If not set, newline is literal.  */
-#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1)
-
-/* If this bit is set, then `{...}' defines an interval, and \{ and \}
-     are literals.
-  If not set, then `\{...\}' defines an interval.  */
-#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1)
-
-/* If this bit is set, (...) defines a group, and \( and \) are literals.
-   If not set, \(...\) defines a group, and ( and ) are literals.  */
-#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1)
-
-/* If this bit is set, then \<digit> matches <digit>.
-   If not set, then \<digit> is a back-reference.  */
-#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1)
-
-/* If this bit is set, then | is an alternation operator, and \| is literal.
-   If not set, then \| is an alternation operator, and | is literal.  */
-#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1)
-
-/* If this bit is set, then an ending range point collating higher
-     than the starting range point, as in [z-a], is invalid.
-   If not set, then when ending range point collates higher than the
-     starting range point, the range is ignored.  */
-#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1)
-
-/* If this bit is set, then an unmatched ) is ordinary.
-   If not set, then an unmatched ) is invalid.  */
-#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1)
-
-/* If this bit is set, succeed as soon as we match the whole pattern,
-   without further backtracking.  */
-#define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD << 1)
-
-/* If this bit is set, do not process the GNU regex operators.
-   If not set, then the GNU regex operators are recognized. */
-#define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1)
-
-/* If this bit is set, then *?, +? and ?? match non greedily. */
-#define RE_FRUGAL (RE_NO_GNU_OPS << 1)
-
-/* If this bit is set, then (?:...) is treated as a shy group.  */
-#define RE_SHY_GROUPS (RE_FRUGAL << 1)
-
-/* If this bit is set, ^ and $ only match at beg/end of buffer.  */
-#define RE_NO_NEWLINE_ANCHOR (RE_SHY_GROUPS << 1)
-
-/* If this bit is set, turn on internal regex debugging.
-   If not set, and debugging was on, turn it off.
-   This only works if regex.c is compiled -DDEBUG.
-   We define this bit always, so that all that's needed to turn on
-   debugging is to recompile regex.c; the calling code can always have
-   this bit set, and it won't affect anything in the normal case. */
-#define RE_DEBUG (RE_NO_NEWLINE_ANCHOR << 1)
-
-/* This global variable defines the particular regexp syntax to use (for
-   some interfaces).  When a regexp is compiled, the syntax used is
-   stored in the pattern buffer, so changing this does not affect
-   already-compiled regexps.  */
-extern reg_syntax_t re_syntax_options;
-
-#ifdef emacs
-/* In Emacs, this is the string or buffer in which we
-   are matching.  It is used for looking up syntax properties.  */
-extern Lisp_Object re_match_object;
-#endif
-
-/* Roughly the maximum number of failure points on the stack.  */
-extern size_t re_max_failures;
-
-\f
-/* Define combinations of the above bits for the standard possibilities.
-   (The [[[ comments delimit what gets put into the Texinfo file, so
-   don't delete them!)  */
-/* [[[begin syntaxes]]] */
-#define RE_SYNTAX_EMACS                                                        \
-  (RE_CHAR_CLASSES | RE_INTERVALS | RE_SHY_GROUPS | RE_FRUGAL)
-
-#define RE_SYNTAX_AWK                                                  \
-  (RE_BACKSLASH_ESCAPE_IN_LISTS   | RE_DOT_NOT_NULL                    \
-   | RE_NO_BK_PARENS              | RE_NO_BK_REFS                      \
-   | RE_NO_BK_VBAR                | RE_NO_EMPTY_RANGES                 \
-   | RE_DOT_NEWLINE              | RE_CONTEXT_INDEP_ANCHORS            \
-   | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS)
-
-#define RE_SYNTAX_GNU_AWK                                              \
-  ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DEBUG)        \
-   & ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS))
-
-#define RE_SYNTAX_POSIX_AWK                                            \
-  (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS             \
-   | RE_INTERVALS          | RE_NO_GNU_OPS)
-
-#define RE_SYNTAX_GREP                                                 \
-  (RE_BK_PLUS_QM              | RE_CHAR_CLASSES                                \
-   | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS                           \
-   | RE_NEWLINE_ALT)
-
-#define RE_SYNTAX_EGREP                                                        \
-  (RE_CHAR_CLASSES        | RE_CONTEXT_INDEP_ANCHORS                   \
-   | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE                   \
-   | RE_NEWLINE_ALT       | RE_NO_BK_PARENS                            \
-   | RE_NO_BK_VBAR)
-
-#define RE_SYNTAX_POSIX_EGREP                                          \
-  (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES)
-
-/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff.  */
-#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC
-
-#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC
-
-/* Syntax bits common to both basic and extended POSIX regex syntax.  */
-#define _RE_SYNTAX_POSIX_COMMON                                                \
-  (RE_CHAR_CLASSES | RE_DOT_NEWLINE      | RE_DOT_NOT_NULL             \
-   | RE_INTERVALS  | RE_NO_EMPTY_RANGES)
-
-#define RE_SYNTAX_POSIX_BASIC                                          \
-  (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM)
-
-/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes
-   RE_LIMITED_OPS, i.e., \? \+ \| are not recognized.  Actually, this
-   isn't minimal, since other operators, such as \`, aren't disabled.  */
-#define RE_SYNTAX_POSIX_MINIMAL_BASIC                                  \
-  (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)
-
-#define RE_SYNTAX_POSIX_EXTENDED                                       \
-  (_RE_SYNTAX_POSIX_COMMON  | RE_CONTEXT_INDEP_ANCHORS                 \
-   | RE_CONTEXT_INDEP_OPS   | RE_NO_BK_BRACES                          \
-   | RE_NO_BK_PARENS        | RE_NO_BK_VBAR                            \
-   | RE_CONTEXT_INVALID_OPS | RE_UNMATCHED_RIGHT_PAREN_ORD)
-
-/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INDEP_OPS is
-   removed and RE_NO_BK_REFS is added.  */
-#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED                               \
-  (_RE_SYNTAX_POSIX_COMMON  | RE_CONTEXT_INDEP_ANCHORS                 \
-   | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES                          \
-   | RE_NO_BK_PARENS        | RE_NO_BK_REFS                            \
-   | RE_NO_BK_VBAR         | RE_UNMATCHED_RIGHT_PAREN_ORD)
-/* [[[end syntaxes]]] */
-\f
-/* Maximum number of duplicates an interval can allow.  Some systems
-   (erroneously) define this in other header files, but we want our
-   value, so remove any previous define.  */
-#ifdef RE_DUP_MAX
-# undef RE_DUP_MAX
-#endif
-/* If sizeof(int) == 2, then ((1 << 15) - 1) overflows.  */
-#define RE_DUP_MAX (0x7fff)
-
-
-/* POSIX `cflags' bits (i.e., information for `regcomp').  */
-
-/* If this bit is set, then use extended regular expression syntax.
-   If not set, then use basic regular expression syntax.  */
-#define REG_EXTENDED 1
-
-/* If this bit is set, then ignore case when matching.
-   If not set, then case is significant.  */
-#define REG_ICASE (REG_EXTENDED << 1)
-
-/* If this bit is set, then anchors do not match at newline
-     characters in the string.
-   If not set, then anchors do match at newlines.  */
-#define REG_NEWLINE (REG_ICASE << 1)
-
-/* If this bit is set, then report only success or fail in regexec.
-   If not set, then returns differ between not matching and errors.  */
-#define REG_NOSUB (REG_NEWLINE << 1)
-
-
-/* POSIX `eflags' bits (i.e., information for regexec).  */
-
-/* If this bit is set, then the beginning-of-line operator doesn't match
-     the beginning of the string (presumably because it's not the
-     beginning of a line).
-   If not set, then the beginning-of-line operator does match the
-     beginning of the string.  */
-#define REG_NOTBOL 1
-
-/* Like REG_NOTBOL, except for the end-of-line.  */
-#define REG_NOTEOL (1 << 1)
-
-
-/* If any error codes are removed, changed, or added, update the
-   `re_error_msg' table in regex.c.  */
-typedef enum
-{
-#ifdef _XOPEN_SOURCE
-  REG_ENOSYS = -1,     /* This will never happen for this implementation.  */
-#endif
-
-  REG_NOERROR = 0,     /* Success.  */
-  REG_NOMATCH,         /* Didn't find a match (for regexec).  */
-
-  /* POSIX regcomp return error codes.  (In the order listed in the
-     standard.)  */
-  REG_BADPAT,          /* Invalid pattern.  */
-  REG_ECOLLATE,                /* Not implemented.  */
-  REG_ECTYPE,          /* Invalid character class name.  */
-  REG_EESCAPE,         /* Trailing backslash.  */
-  REG_ESUBREG,         /* Invalid back reference.  */
-  REG_EBRACK,          /* Unmatched left bracket.  */
-  REG_EPAREN,          /* Parenthesis imbalance.  */
-  REG_EBRACE,          /* Unmatched \{.  */
-  REG_BADBR,           /* Invalid contents of \{\}.  */
-  REG_ERANGE,          /* Invalid range end.  */
-  REG_ESPACE,          /* Ran out of memory.  */
-  REG_BADRPT,          /* No preceding re for repetition op.  */
-
-  /* Error codes we've added.  */
-  REG_EEND,            /* Premature end.  */
-  REG_ESIZE,           /* Compiled pattern bigger than 2^16 bytes.  */
-  REG_ERPAREN,         /* Unmatched ) or \); not returned from regcomp.  */
-  REG_ERANGEX          /* Range striding over charsets.  */
-} reg_errcode_t;
-\f
-/* This data structure represents a compiled pattern.  Before calling
-   the pattern compiler, the fields `buffer', `allocated', `fastmap',
-   `translate', and `no_sub' can be set.  After the pattern has been
-   compiled, the `re_nsub' field is available.  All other fields are
-   private to the regex routines.  */
-
-#ifndef RE_TRANSLATE_TYPE
-# define RE_TRANSLATE_TYPE char *
-#endif
-
-struct re_pattern_buffer
-{
-/* [[[begin pattern_buffer]]] */
-       /* Space that holds the compiled pattern.  It is declared as
-          `unsigned char *' because its elements are
-           sometimes used as array indexes.  */
-  unsigned char *buffer;
-
-       /* Number of bytes to which `buffer' points.  */
-  size_t allocated;
-
-       /* Number of bytes actually used in `buffer'.  */
-  size_t used;
-
-        /* Syntax setting with which the pattern was compiled.  */
-  reg_syntax_t syntax;
-
-        /* Pointer to a fastmap, if any, otherwise zero.  re_search uses
-           the fastmap, if there is one, to skip over impossible
-           starting points for matches.  */
-  char *fastmap;
-
-        /* Either a translate table to apply to all characters before
-           comparing them, or zero for no translation.  The translation
-           is applied to a pattern when it is compiled and to a string
-           when it is matched.  */
-  RE_TRANSLATE_TYPE translate;
-
-       /* Number of subexpressions found by the compiler.  */
-  size_t re_nsub;
-
-        /* Zero if this pattern cannot match the empty string, one else.
-           Well, in truth it's used only in `re_search_2', to see
-           whether or not we should use the fastmap, so we don't set
-           this absolutely perfectly; see `re_compile_fastmap'.  */
-  unsigned can_be_null : 1;
-
-        /* If REGS_UNALLOCATED, allocate space in the `regs' structure
-             for `max (RE_NREGS, re_nsub + 1)' groups.
-           If REGS_REALLOCATE, reallocate space if necessary.
-           If REGS_FIXED, use what's there.  */
-#define REGS_UNALLOCATED 0
-#define REGS_REALLOCATE 1
-#define REGS_FIXED 2
-  unsigned regs_allocated : 2;
-
-        /* Set to zero when `regex_compile' compiles a pattern; set to one
-           by `re_compile_fastmap' if it updates the fastmap.  */
-  unsigned fastmap_accurate : 1;
-
-        /* If set, `re_match_2' does not return information about
-           subexpressions.  */
-  unsigned no_sub : 1;
-
-        /* If set, a beginning-of-line anchor doesn't match at the
-           beginning of the string.  */
-  unsigned not_bol : 1;
-
-        /* Similarly for an end-of-line anchor.  */
-  unsigned not_eol : 1;
-
-  /* If true, the compilation of the pattern had to look up the syntax table,
-     so the compiled pattern is only valid for the current syntax table.  */
-  unsigned used_syntax : 1;
-
-#ifdef emacs
-  /* If true, multi-byte form in the regexp pattern should be
-     recognized as a multibyte character.  */
-  unsigned multibyte : 1;
-
-  /* If true, multi-byte form in the target of match should be
-     recognized as a multibyte character.  */
-  unsigned target_multibyte : 1;
-
-  /* Charset of unibyte characters at compiling time. */
-  int charset_unibyte;
-#endif
-
-/* [[[end pattern_buffer]]] */
-};
-
-typedef struct re_pattern_buffer regex_t;
-\f
-/* Type for byte offsets within the string.  POSIX mandates this to be an int,
-   but the Open Group has signaled its intention to change the requirement to
-   be that regoff_t be at least as wide as ptrdiff_t and ssize_t.  Current
-   gnulib sources also use ssize_t, and we need this for supporting buffers and
-   strings > 2GB on 64-bit hosts.  */
-typedef ssize_t regoff_t;
-
-
-/* This is the structure we store register match data in.  See
-   regex.texinfo for a full description of what registers match.  */
-struct re_registers
-{
-  unsigned num_regs;
-  regoff_t *start;
-  regoff_t *end;
-};
-
-
-/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer,
-   `re_match_2' returns information about at least this many registers
-   the first time a `regs' structure is passed.  */
-#ifndef RE_NREGS
-# define RE_NREGS 30
-#endif
-
-
-/* POSIX specification for registers.  Aside from the different names than
-   `re_registers', POSIX uses an array of structures, instead of a
-   structure of arrays.  */
-typedef struct
-{
-  regoff_t rm_so;  /* Byte offset from string's start to substring's start.  */
-  regoff_t rm_eo;  /* Byte offset from string's start to substring's end.  */
-} regmatch_t;
-\f
-/* Declarations for routines.  */
-
-/* Sets the current default syntax to SYNTAX, and return the old syntax.
-   You can also simply assign to the `re_syntax_options' variable.  */
-extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax);
-
-/* Compile the regular expression PATTERN, with length LENGTH
-   and syntax given by the global `re_syntax_options', into the buffer
-   BUFFER.  Return NULL if successful, and an error string if not.  */
-extern const char *re_compile_pattern (const char *__pattern, size_t __length,
-                                      struct re_pattern_buffer *__buffer);
-
-
-/* Compile a fastmap for the compiled pattern in BUFFER; used to
-   accelerate searches.  Return 0 if successful and -2 if was an
-   internal error.  */
-extern int re_compile_fastmap (struct re_pattern_buffer *__buffer);
-
-
-/* Search in the string STRING (with length LENGTH) for the pattern
-   compiled into BUFFER.  Start searching at position START, for RANGE
-   characters.  Return the starting position of the match, -1 for no
-   match, or -2 for an internal error.  Also return register
-   information in REGS (if REGS and BUFFER->no_sub are nonzero).  */
-extern regoff_t re_search (struct re_pattern_buffer *__buffer,
-                          const char *__string, size_t __length,
-                          ssize_t __start, ssize_t __range,
-                          struct re_registers *__regs);
-
-
-/* Like `re_search', but search in the concatenation of STRING1 and
-   STRING2.  Also, stop searching at index START + STOP.  */
-extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer,
-                            const char *__string1, size_t __length1,
-                            const char *__string2, size_t __length2,
-                            ssize_t __start, ssize_t __range,
-                            struct re_registers *__regs,
-                            ssize_t __stop);
-
-
-/* Like `re_search', but return how many characters in STRING the regexp
-   in BUFFER matched, starting at position START.  */
-extern regoff_t re_match (struct re_pattern_buffer *__buffer,
-                         const char *__string, size_t __length,
-                         ssize_t __start, struct re_registers *__regs);
-
-
-/* Relates to `re_match' as `re_search_2' relates to `re_search'.  */
-extern regoff_t re_match_2 (struct re_pattern_buffer *__buffer,
-                           const char *__string1, size_t __length1,
-                           const char *__string2, size_t __length2,
-                           ssize_t __start, struct re_registers *__regs,
-                           ssize_t __stop);
-
-
-/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
-   ENDS.  Subsequent matches using BUFFER and REGS will use this memory
-   for recording register information.  STARTS and ENDS must be
-   allocated with malloc, and must each be at least `NUM_REGS * sizeof
-   (regoff_t)' bytes long.
-
-   If NUM_REGS == 0, then subsequent matches should allocate their own
-   register data.
-
-   Unless this function is called, the first search or match using
-   PATTERN_BUFFER will allocate its own register data, without
-   freeing the old data.  */
-extern void re_set_registers (struct re_pattern_buffer *__buffer,
-                             struct re_registers *__regs,
-                             unsigned __num_regs,
-                             regoff_t *__starts, regoff_t *__ends);
-
-#if defined _REGEX_RE_COMP || defined _LIBC
-# ifndef _CRAY
-/* 4.2 bsd compatibility.  */
-extern char *re_comp (const char *);
-extern int re_exec (const char *);
-# endif
-#endif
-
-/* GCC 2.95 and later have "__restrict"; C99 compilers have
-   "restrict", and "configure" may have defined "restrict".
-   Other compilers use __restrict, __restrict__, and _Restrict, and
-   'configure' might #define 'restrict' to those words, so pick a
-   different name.  */
-#ifndef _Restrict_
-# if 199901L <= __STDC_VERSION__
-#  define _Restrict_ restrict
-# elif 2 < __GNUC__ || (2 == __GNUC__ && 95 <= __GNUC_MINOR__)
-#  define _Restrict_ __restrict
-# else
-#  define _Restrict_
-# endif
-#endif
-/* gcc 3.1 and up support the [restrict] syntax.  Don't trust
-   sys/cdefs.h's definition of __restrict_arr, though, as it
-   mishandles gcc -ansi -pedantic.  */
-#ifndef _Restrict_arr_
-# if ((199901L <= __STDC_VERSION__                                     \
-       || ((3 < __GNUC__ || (3 == __GNUC__ && 1 <= __GNUC_MINOR__))    \
-          && !defined __STRICT_ANSI__))                                        \
-      && !defined __GNUG__)
-#  define _Restrict_arr_ _Restrict_
-# else
-#  define _Restrict_arr_
-# endif
-#endif
-
-/* POSIX compatibility.  */
-extern reg_errcode_t regcomp (regex_t *_Restrict_ __preg,
-                             const char *_Restrict_ __pattern,
-                             int __cflags);
-
-extern reg_errcode_t regexec (const regex_t *_Restrict_ __preg,
-                             const char *_Restrict_ __string, size_t __nmatch,
-                             regmatch_t __pmatch[_Restrict_arr_],
-                             int __eflags);
-
-extern size_t regerror (int __errcode, const regex_t * __preg,
-                       char *__errbuf, size_t __errbuf_size);
-
-extern void regfree (regex_t *__preg);
-
-
-#ifdef __cplusplus
-}
-#endif /* C++ */
-
-/* For platform which support the ISO C amendment 1 functionality we
-   support user defined character classes.  */
-#if WIDE_CHAR_SUPPORT
-/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>.  */
-# include <wchar.h>
-# include <wctype.h>
-#endif
-
-#if WIDE_CHAR_SUPPORT
-/* The GNU C library provides support for user-defined character classes
-   and the functions from ISO C amendment 1.  */
-# ifdef CHARCLASS_NAME_MAX
-#  define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX
-# else
-/* This shouldn't happen but some implementation might still have this
-   problem.  Use a reasonable default value.  */
-#  define CHAR_CLASS_MAX_LENGTH 256
-# endif
-typedef wctype_t re_wctype_t;
-typedef wchar_t re_wchar_t;
-# define re_wctype wctype
-# define re_iswctype iswctype
-# define re_wctype_to_bit(cc) 0
-#else
-# define CHAR_CLASS_MAX_LENGTH  9 /* Namely, `multibyte'.  */
-# define btowc(c) c
-
-/* Character classes.  */
-typedef enum { RECC_ERROR = 0,
-              RECC_ALNUM, RECC_ALPHA, RECC_WORD,
-              RECC_GRAPH, RECC_PRINT,
-              RECC_LOWER, RECC_UPPER,
-              RECC_PUNCT, RECC_CNTRL,
-              RECC_DIGIT, RECC_XDIGIT,
-              RECC_BLANK, RECC_SPACE,
-              RECC_MULTIBYTE, RECC_NONASCII,
-              RECC_ASCII, RECC_UNIBYTE
-} re_wctype_t;
-
-extern char re_iswctype (int ch,    re_wctype_t cc);
-extern re_wctype_t re_wctype (const unsigned char* str);
-
-typedef int re_wchar_t;
-
-extern void re_set_whitespace_regexp (const char *regexp);
-
-#endif /* not WIDE_CHAR_SUPPORT */
-
-#endif /* regex.h */
-\f
diff --git a/test/manual/etags/c-src/etags.c b/test/manual/etags/c-src/etags.c
deleted file mode 100644 (file)
index a5b464a..0000000
+++ /dev/null
@@ -1,6563 +0,0 @@
-/* Tags file maker to go with GNU Emacs           -*- coding: utf-8 -*-
-
-Copyright (C) 1984 The Regents of the University of California
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the
-   distribution.
-3. Neither the name of the University nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-Copyright (C) 1984, 1987-1989, 1993-1995, 1998-2024 Free Software
-Foundation, Inc.
-
-This file is not considered part of GNU Emacs.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or (at
-your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
-
-
-/* NB To comply with the above BSD license, copyright information is
-reproduced in etc/ETAGS.README.  That file should be updated when the
-above notices are.
-
-To the best of our knowledge, this code was originally based on the
-ctags.c distributed with BSD4.2, which was copyrighted by the
-University of California, as described above. */
-
-
-/*
- * Authors:
- * 1983 Ctags originally by Ken Arnold.
- * 1984 Fortran added by Jim Kleckner.
- * 1984 Ed Pelegri-Llopart added C typedefs.
- * 1985 Emacs TAGS format by Richard Stallman.
- * 1989 Sam Kendall added C++.
- * 1992 Joseph B. Wells improved C and C++ parsing.
- * 1993 Francesco Potortì reorganized C and C++.
- * 1994 Line-by-line regexp tags by Tom Tromey.
- * 2001 Nested classes by Francesco Potortì (concept by Mykola Dzyuba).
- * 2002 #line directives by Francesco Potortì.
- *
- * Francesco Potortì <pot@gnu.org> has maintained and improved it since 1993.
- */
-
-/*
- * If you want to add support for a new language, start by looking at the LUA
- * language, which is the simplest.  Alternatively, consider distributing etags
- * together with a configuration file containing regexp definitions for etags.
- */
-
-char pot_etags_version[] = "@(#) pot revision number is 17.38.1.4";
-
-#ifdef DEBUG
-#  undef DEBUG
-#  define DEBUG true
-#else
-#  define DEBUG  false
-#  define NDEBUG               /* disable assert */
-#endif
-
-#include <config.h>
-
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE 1         /* enables some compiler checks on GNU */
-#endif
-
-/* WIN32_NATIVE is for XEmacs.
-   MSDOS, WINDOWSNT, DOS_NT are for Emacs. */
-#ifdef WIN32_NATIVE
-# undef MSDOS
-# undef  WINDOWSNT
-# define WINDOWSNT
-#endif /* WIN32_NATIVE */
-
-#ifdef MSDOS
-# undef MSDOS
-# define MSDOS true
-# include <sys/param.h>
-#else
-# define MSDOS false
-#endif /* MSDOS */
-
-#ifdef WINDOWSNT
-# include <direct.h>
-# define MAXPATHLEN _MAX_PATH
-# undef HAVE_NTGUI
-# undef  DOS_NT
-# define DOS_NT
-#endif /* WINDOWSNT */
-
-#include <unistd.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sysstdio.h>
-#include <ctype.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <binary-io.h>
-#include <c-strcase.h>
-
-#include <assert.h>
-#ifdef NDEBUG
-# undef  assert                        /* some systems have a buggy assert.h */
-# define assert(x) ((void) 0)
-#endif
-
-#include <getopt.h>
-#include <regex.h>
-
-/* Define CTAGS to make the program "ctags" compatible with the usual one.
- Leave it undefined to make the program "etags", which makes emacs-style
- tag tables and tags typedefs, #defines and struct/union/enum by default. */
-#ifdef CTAGS
-# undef  CTAGS
-# define CTAGS true
-#else
-# define CTAGS false
-#endif
-
-#define streq(s,t)     (assert ((s)!=NULL || (t)!=NULL), !strcmp (s, t))
-#define strcaseeq(s,t) (assert ((s)!=NULL && (t)!=NULL), !c_strcasecmp (s, t))
-#define strneq(s,t,n)  (assert ((s)!=NULL || (t)!=NULL), !strncmp (s, t, n))
-#define strncaseeq(s,t,n) (assert ((s)!=NULL && (t)!=NULL), !c_strncasecmp (s, t, n))
-
-#define CHARS 256              /* 2^sizeof(char) */
-#define CHAR(x)                ((unsigned int)(x) & (CHARS - 1))
-#define        iswhite(c)      (_wht[CHAR (c)]) /* c is white (see white) */
-#define notinname(c)   (_nin[CHAR (c)]) /* c is not in a name (see nonam) */
-#define        begtoken(c)     (_btk[CHAR (c)]) /* c can start token (see begtk) */
-#define        intoken(c)      (_itk[CHAR (c)]) /* c can be in token (see midtk) */
-#define        endtoken(c)     (_etk[CHAR (c)]) /* c ends tokens (see endtk) */
-
-#define ISALNUM(c)     isalnum (CHAR (c))
-#define ISALPHA(c)     isalpha (CHAR (c))
-#define ISDIGIT(c)     isdigit (CHAR (c))
-#define ISLOWER(c)     islower (CHAR (c))
-
-#define lowcase(c)     tolower (CHAR (c))
-
-
-/*
- *     xnew, xrnew -- allocate, reallocate storage
- *
- * SYNOPSIS:   Type *xnew (int n, Type);
- *             void xrnew (OldPointer, int n, Type);
- */
-#define xnew(n, Type)      ((Type *) xmalloc ((n) * sizeof (Type)))
-#define xrnew(op, n, Type) ((op) = (Type *) xrealloc (op, (n) * sizeof (Type)))
-
-typedef void Lang_function (FILE *);
-
-typedef struct
-{
-  const char *suffix;           /* file name suffix for this compressor */
-  const char *command;         /* takes one arg and decompresses to stdout */
-} compressor;
-
-typedef struct
-{
-  const char *name;             /* language name */
-  const char *help;            /* detailed help for the language */
-  Lang_function *function;     /* parse function */
-  const char **suffixes;        /* name suffixes of this language's files */
-  const char **filenames;       /* names of this language's files */
-  const char **interpreters;    /* interpreters for this language */
-  bool metasource;             /* source used to generate other sources */
-} language;
-
-typedef struct fdesc
-{
-  struct fdesc *next;          /* for the linked list */
-  char *infname;               /* uncompressed input file name */
-  char *infabsname;            /* absolute uncompressed input file name */
-  char *infabsdir;             /* absolute dir of input file */
-  char *taggedfname;           /* file name to write in tagfile */
-  language *lang;              /* language of file */
-  char *prop;                  /* file properties to write in tagfile */
-  bool usecharno;              /* etags tags shall contain char number */
-  bool written;                        /* entry written in the tags file */
-} fdesc;
-
-typedef struct node_st
-{                              /* sorting structure */
-  struct node_st *left, *right;        /* left and right sons */
-  fdesc *fdp;                  /* description of file to whom tag belongs */
-  char *name;                  /* tag name */
-  char *regex;                 /* search regexp */
-  bool valid;                  /* write this tag on the tag file */
-  bool is_func;                        /* function tag: use regexp in CTAGS mode */
-  bool been_warned;            /* warning already given for duplicated tag */
-  int lno;                     /* line number tag is on */
-  long cno;                    /* character number line starts on */
-} node;
-
-/*
- * A `linebuffer' is a structure which holds a line of text.
- * `readline_internal' reads a line from a stream into a linebuffer
- * and works regardless of the length of the line.
- * SIZE is the size of BUFFER, LEN is the length of the string in
- * BUFFER after readline reads it.
- */
-typedef struct
-{
-  long size;
-  int len;
-  char *buffer;
-} linebuffer;
-
-/* Used to support mixing of --lang and file names. */
-typedef struct
-{
-  enum {
-    at_language,               /* a language specification */
-    at_regexp,                 /* a regular expression */
-    at_filename,               /* a file name */
-    at_stdin,                  /* read from stdin here */
-    at_end                     /* stop parsing the list */
-  } arg_type;                  /* argument type */
-  language *lang;              /* language associated with the argument */
-  char *what;                  /* the argument itself */
-} argument;
-
-/* Structure defining a regular expression. */
-typedef struct regexp
-{
-  struct regexp *p_next;       /* pointer to next in list */
-  language *lang;              /* if set, use only for this language */
-  char *pattern;               /* the regexp pattern */
-  char *name;                  /* tag name */
-  struct re_pattern_buffer *pat; /* the compiled pattern */
-  struct re_registers regs;    /* re registers */
-  bool error_signaled;         /* already signaled for this regexp */
-  bool force_explicit_name;    /* do not allow implicit tag name */
-  bool ignore_case;            /* ignore case when matching */
-  bool multi_line;             /* do a multi-line match on the whole file */
-} regexp;
-
-
-/* Many compilers barf on this:
-       Lang_function Ada_funcs;
-   so let's write it this way */
-static void Ada_funcs (FILE *);
-static void Asm_labels (FILE *);
-static void C_entries (int c_ext, FILE *);
-static void default_C_entries (FILE *);
-static void plain_C_entries (FILE *);
-static void Cjava_entries (FILE *);
-static void Cobol_paragraphs (FILE *);
-static void Cplusplus_entries (FILE *);
-static void Cstar_entries (FILE *);
-static void Erlang_functions (FILE *);
-static void Forth_words (FILE *);
-static void Fortran_functions (FILE *);
-static void HTML_labels (FILE *);
-static void Lisp_functions (FILE *);
-static void Lua_functions (FILE *);
-static void Makefile_targets (FILE *);
-static void Pascal_functions (FILE *);
-static void Perl_functions (FILE *);
-static void PHP_functions (FILE *);
-static void PS_functions (FILE *);
-static void Prolog_functions (FILE *);
-static void Python_functions (FILE *);
-static void Scheme_functions (FILE *);
-static void TeX_commands (FILE *);
-static void Texinfo_nodes (FILE *);
-static void Yacc_entries (FILE *);
-static void just_read_file (FILE *);
-
-static language *get_language_from_langname (const char *);
-static void readline (linebuffer *, FILE *);
-static long readline_internal (linebuffer *, FILE *);
-static bool nocase_tail (const char *);
-static void get_tag (char *, char **);
-
-static void analyze_regex (char *);
-static void free_regexps (void);
-static void regex_tag_multiline (void);
-static void error (const char *, ...) ATTRIBUTE_FORMAT_PRINTF (1, 2);
-static _Noreturn void suggest_asking_for_help (void);
-_Noreturn void fatal (const char *, const char *);
-static _Noreturn void pfatal (const char *);
-static void add_node (node *, node **);
-
-static void init (void);
-static void process_file_name (char *, language *);
-static void process_file (FILE *, char *, language *);
-static void find_entries (FILE *);
-static void free_tree (node *);
-static void free_fdesc (fdesc *);
-static void pfnote (char *, bool, char *, int, int, long);
-static void invalidate_nodes (fdesc *, node **);
-static void put_entries (node *);
-
-static char *concat (const char *, const char *, const char *);
-static char *skip_spaces (char *);
-static char *skip_non_spaces (char *);
-static char *skip_name (char *);
-static char *savenstr (const char *, int);
-static char *savestr (const char *);
-static char *etags_getcwd (void);
-static char *relative_filename (char *, char *);
-static char *absolute_filename (char *, char *);
-static char *absolute_dirname (char *, char *);
-static bool filename_is_absolute (char *f);
-static void canonicalize_filename (char *);
-static void linebuffer_init (linebuffer *);
-static void linebuffer_setlen (linebuffer *, int);
-static void *xmalloc (size_t);
-static void *xrealloc (void *, size_t);
-
-\f
-static char searchar = '/';    /* use /.../ searches */
-
-static char *tagfile;          /* output file */
-static char *progname;         /* name this program was invoked with */
-static char *cwd;              /* current working directory */
-static char *tagfiledir;       /* directory of tagfile */
-static FILE *tagf;             /* ioptr for tags file */
-static ptrdiff_t whatlen_max;  /* maximum length of any 'what' member */
-
-static fdesc *fdhead;          /* head of file description list */
-static fdesc *curfdp;          /* current file description */
-static int lineno;             /* line number of current line */
-static long charno;            /* current character number */
-static long linecharno;                /* charno of start of current line */
-static char *dbp;              /* pointer to start of current tag */
-
-static const int invalidcharno = -1;
-
-static node *nodehead;         /* the head of the binary tree of tags */
-static node *last_node;                /* the last node created */
-
-static linebuffer lb;          /* the current line */
-static linebuffer filebuf;     /* a buffer containing the whole file */
-static linebuffer token_name;  /* a buffer containing a tag name */
-
-/* boolean "functions" (see init)      */
-static bool _wht[CHARS], _nin[CHARS], _itk[CHARS], _btk[CHARS], _etk[CHARS];
-static const char
-  /* white chars */
-  *white = " \f\t\n\r\v",
-  /* not in a name */
-  *nonam = " \f\t\n\r()=,;",   /* look at make_tag before modifying! */
-  /* token ending chars */
-  *endtk = " \t\n\r\"'#()[]{}=-+%*/&|^~!<>;,.:?",
-  /* token starting chars */
-  *begtk = "ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz$~@",
-  /* valid in-token chars */
-  *midtk = "ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz$0123456789";
-
-static bool append_to_tagfile; /* -a: append to tags */
-/* The next five default to true in C and derived languages.  */
-static bool typedefs;          /* -t: create tags for C and Ada typedefs */
-static bool typedefs_or_cplusplus; /* -T: create tags for C typedefs, level */
-                               /* 0 struct/enum/union decls, and C++ */
-                               /* member functions. */
-static bool constantypedefs;   /* -d: create tags for C #define, enum */
-                               /* constants and variables. */
-                               /* -D: opposite of -d.  Default under ctags. */
-static int globals;            /* create tags for global variables */
-static int members;            /* create tags for C member variables */
-static int declarations;       /* --declarations: tag them and extern in C&Co*/
-static int no_line_directive;  /* ignore #line directives (undocumented) */
-static int no_duplicates;      /* no duplicate tags for ctags (undocumented) */
-static bool update;            /* -u: update tags */
-static bool vgrind_style;      /* -v: create vgrind style index output */
-static bool no_warnings;       /* -w: suppress warnings (undocumented) */
-static bool cxref_style;       /* -x: create cxref style output */
-static bool cplusplus;         /* .[hc] means C++, not C (undocumented) */
-static bool ignoreindent;      /* -I: ignore indentation in C */
-static int packages_only;      /* --packages-only: in Ada, only tag packages*/
-
-/* STDIN is defined in LynxOS system headers */
-#ifdef STDIN
-# undef STDIN
-#endif
-
-#define STDIN 0x1001           /* returned by getopt_long on --parse-stdin */
-static bool parsing_stdin;     /* --parse-stdin used */
-
-static regexp *p_head;         /* list of all regexps */
-static bool need_filebuf;      /* some regexes are multi-line */
-
-static struct option longopts[] =
-{
-  { "append",             no_argument,       NULL,               'a'   },
-  { "packages-only",      no_argument,       &packages_only,     1     },
-  { "c++",                no_argument,       NULL,               'C'   },
-  { "declarations",       no_argument,       &declarations,      1     },
-  { "no-line-directive",  no_argument,       &no_line_directive, 1     },
-  { "no-duplicates",      no_argument,       &no_duplicates,     1     },
-  { "help",               no_argument,       NULL,               'h'   },
-  { "help",               no_argument,       NULL,               'H'   },
-  { "ignore-indentation", no_argument,       NULL,               'I'   },
-  { "language",           required_argument, NULL,               'l'   },
-  { "members",            no_argument,       &members,           1     },
-  { "no-members",         no_argument,       &members,           0     },
-  { "output",             required_argument, NULL,               'o'   },
-  { "regex",              required_argument, NULL,               'r'   },
-  { "no-regex",           no_argument,       NULL,               'R'   },
-  { "ignore-case-regex",  required_argument, NULL,               'c'   },
-  { "parse-stdin",        required_argument, NULL,               STDIN },
-  { "version",            no_argument,       NULL,               'V'   },
-
-#if CTAGS /* Ctags options */
-  { "backward-search",    no_argument,       NULL,               'B'   },
-  { "cxref",              no_argument,       NULL,               'x'   },
-  { "defines",            no_argument,       NULL,               'd'   },
-  { "globals",            no_argument,       &globals,           1     },
-  { "typedefs",           no_argument,       NULL,               't'   },
-  { "typedefs-and-c++",   no_argument,       NULL,               'T'   },
-  { "update",             no_argument,       NULL,               'u'   },
-  { "vgrind",             no_argument,       NULL,               'v'   },
-  { "no-warn",            no_argument,       NULL,               'w'   },
-
-#else /* Etags options */
-  { "no-defines",         no_argument,       NULL,               'D'   },
-  { "no-globals",         no_argument,       &globals,           0     },
-  { "include",            required_argument, NULL,               'i'   },
-#endif
-  { NULL }
-};
-
-static compressor compressors[] =
-{
-  { "z", "gzip -d -c"},
-  { "Z", "gzip -d -c"},
-  { "gz", "gzip -d -c"},
-  { "GZ", "gzip -d -c"},
-  { "bz2", "bzip2 -d -c" },
-  { "xz", "xz -d -c" },
-  { NULL }
-};
-
-/*
- * Language stuff.
- */
-
-/* Ada code */
-static const char *Ada_suffixes [] =
-  { "ads", "adb", "ada", NULL };
-static const char Ada_help [] =
-"In Ada code, functions, procedures, packages, tasks and types are\n\
-tags.  Use the `--packages-only' option to create tags for\n\
-packages only.\n\
-Ada tag names have suffixes indicating the type of entity:\n\
-       Entity type:    Qualifier:\n\
-       ------------    ----------\n\
-       function        /f\n\
-       procedure       /p\n\
-       package spec    /s\n\
-       package body    /b\n\
-       type            /t\n\
-       task            /k\n\
-Thus, `M-x find-tag <RET> bidule/b <RET>' will go directly to the\n\
-body of the package `bidule', while `M-x find-tag <RET> bidule <RET>'\n\
-will just search for any tag `bidule'.";
-
-/* Assembly code */
-static const char *Asm_suffixes [] =
-  { "a",       /* Unix assembler */
-    "asm", /* Microcontroller assembly */
-    "def", /* BSO/Tasking definition includes  */
-    "inc", /* Microcontroller include files */
-    "ins", /* Microcontroller include files */
-    "s", "sa", /* Unix assembler */
-    "S",   /* cpp-processed Unix assembler */
-    "src", /* BSO/Tasking C compiler output */
-    NULL
-  };
-static const char Asm_help [] =
-"In assembler code, labels appearing at the beginning of a line,\n\
-followed by a colon, are tags.";
-
-
-/* Note that .c and .h can be considered C++, if the --c++ flag was
-   given, or if the `class' or `template' keywords are met inside the file.
-   That is why default_C_entries is called for these. */
-static const char *default_C_suffixes [] =
-  { "c", "h", NULL };
-#if CTAGS                              /* C help for Ctags */
-static const char default_C_help [] =
-"In C code, any C function is a tag.  Use -t to tag typedefs.\n\
-Use -T to tag definitions of `struct', `union' and `enum'.\n\
-Use -d to tag `#define' macro definitions and `enum' constants.\n\
-Use --globals to tag global variables.\n\
-You can tag function declarations and external variables by\n\
-using `--declarations', and struct members by using `--members'.";
-#else                                  /* C help for Etags */
-static const char default_C_help [] =
-"In C code, any C function or typedef is a tag, and so are\n\
-definitions of `struct', `union' and `enum'.  `#define' macro\n\
-definitions and `enum' constants are tags unless you specify\n\
-`--no-defines'.  Global variables are tags unless you specify\n\
-`--no-globals' and so are struct members unless you specify\n\
-`--no-members'.  Use of `--no-globals', `--no-defines' and\n\
-`--no-members' can make the tags table file much smaller.\n\
-You can tag function declarations and external variables by\n\
-using `--declarations'.";
-#endif /* C help for Ctags and Etags */
-
-static const char *Cplusplus_suffixes [] =
-  { "C", "c++", "cc", "cpp", "cxx", "H", "h++", "hh", "hpp", "hxx",
-    "M",                       /* Objective C++ */
-    "pdb",                     /* PostScript with C syntax */
-    NULL };
-static const char Cplusplus_help [] =
-"In C++ code, all the tag constructs of C code are tagged.  (Use\n\
---help --lang=c --lang=c++ for full help.)\n\
-In addition to C tags, member functions are also recognized.  Member\n\
-variables are recognized unless you use the `--no-members' option.\n\
-Tags for variables and functions in classes are named `CLASS::VARIABLE'\n\
-and `CLASS::FUNCTION'.  `operator' definitions have tag names like\n\
-`operator+'.";
-
-static const char *Cjava_suffixes [] =
-  { "java", NULL };
-static char Cjava_help [] =
-"In Java code, all the tags constructs of C and C++ code are\n\
-tagged.  (Use --help --lang=c --lang=c++ --lang=java for full help.)";
-
-
-static const char *Cobol_suffixes [] =
-  { "COB", "cob", NULL };
-static char Cobol_help [] =
-"In Cobol code, tags are paragraph names; that is, any word\n\
-starting in column 8 and followed by a period.";
-
-static const char *Cstar_suffixes [] =
-  { "cs", "hs", NULL };
-
-static const char *Erlang_suffixes [] =
-  { "erl", "hrl", NULL };
-static const char Erlang_help [] =
-"In Erlang code, the tags are the functions, records and macros\n\
-defined in the file.";
-
-const char *Forth_suffixes [] =
-  { "fth", "tok", NULL };
-static const char Forth_help [] =
-"In Forth code, tags are words defined by `:',\n\
-constant, code, create, defer, value, variable, buffer:, field.";
-
-static const char *Fortran_suffixes [] =
-  { "F", "f", "f90", "for", NULL };
-static const char Fortran_help [] =
-"In Fortran code, functions, subroutines and block data are tags.";
-
-static const char *HTML_suffixes [] =
-  { "htm", "html", "shtml", NULL };
-static const char HTML_help [] =
-"In HTML input files, the tags are the `title' and the `h1', `h2',\n\
-`h3' headers.  Also, tags are `name=' in anchors and all\n\
-occurrences of `id='.";
-
-static const char *Lisp_suffixes [] =
-  { "cl", "clisp", "el", "l", "lisp", "LSP", "lsp", "ml", NULL };
-static const char Lisp_help [] =
-"In Lisp code, any function defined with `defun', any variable\n\
-defined with `defvar' or `defconst', and in general the first\n\
-argument of any expression that starts with `(def' in column zero\n\
-is a tag.\n\
-The `--declarations' option tags \"(defvar foo)\" constructs too.";
-
-static const char *Lua_suffixes [] =
-  { "lua", "LUA", NULL };
-static const char Lua_help [] =
-"In Lua scripts, all functions are tags.";
-
-static const char *Makefile_filenames [] =
-  { "Makefile", "makefile", "GNUMakefile", "Makefile.in", "Makefile.am", NULL};
-static const char Makefile_help [] =
-"In makefiles, targets are tags; additionally, variables are tags\n\
-unless you specify `--no-globals'.";
-
-static const char *Objc_suffixes [] =
-  { "lm",                      /* Objective lex file */
-    "m",                       /* Objective C file */
-     NULL };
-static const char Objc_help [] =
-"In Objective C code, tags include Objective C definitions for classes,\n\
-class categories, methods and protocols.  Tags for variables and\n\
-functions in classes are named `CLASS::VARIABLE' and `CLASS::FUNCTION'.\
-\n(Use --help --lang=c --lang=objc --lang=java for full help.)";
-
-static const char *Pascal_suffixes [] =
-  { "p", "pas", NULL };
-static const char Pascal_help [] =
-"In Pascal code, the tags are the functions and procedures defined\n\
-in the file.";
-/* " // this is for working around an Emacs highlighting bug... */
-
-static const char *Perl_suffixes [] =
-  { "pl", "pm", NULL };
-static const char *Perl_interpreters [] =
-  { "perl", "@PERL@", NULL };
-static const char Perl_help [] =
-"In Perl code, the tags are the packages, subroutines and variables\n\
-defined by the `package', `sub', `my' and `local' keywords.  Use\n\
-`--globals' if you want to tag global variables.  Tags for\n\
-subroutines are named `PACKAGE::SUB'.  The name for subroutines\n\
-defined in the default package is `main::SUB'.";
-
-static const char *PHP_suffixes [] =
-  { "php", "php3", "php4", NULL };
-static const char PHP_help [] =
-"In PHP code, tags are functions, classes and defines.  Unless you use\n\
-the `--no-members' option, vars are tags too.";
-
-static const char *plain_C_suffixes [] =
-  { "pc",                      /* Pro*C file */
-     NULL };
-
-static const char *PS_suffixes [] =
-  { "ps", "psw", NULL };       /* .psw is for PSWrap */
-static const char PS_help [] =
-"In PostScript code, the tags are the functions.";
-
-static const char *Prolog_suffixes [] =
-  { "prolog", NULL };
-static const char Prolog_help [] =
-"In Prolog code, tags are predicates and rules at the beginning of\n\
-line.";
-
-static const char *Python_suffixes [] =
-  { "py", NULL };
-static const char Python_help [] =
-"In Python code, `def' or `class' at the beginning of a line\n\
-generate a tag.";
-
-/* Can't do the `SCM' or `scm' prefix with a version number. */
-static const char *Scheme_suffixes [] =
-  { "oak", "sch", "scheme", "SCM", "scm", "SM", "sm", "ss", "t", NULL };
-static const char Scheme_help [] =
-"In Scheme code, tags include anything defined with `def' or with a\n\
-construct whose name starts with `def'.  They also include\n\
-variables set with `set!' at top level in the file.";
-
-static const char *TeX_suffixes [] =
-  { "bib", "clo", "cls", "ltx", "sty", "TeX", "tex", NULL };
-static const char TeX_help [] =
-"In LaTeX text, the argument of any of the commands `\\chapter',\n\
-`\\section', `\\subsection', `\\subsubsection', `\\eqno', `\\label',\n\
-`\\ref', `\\cite', `\\bibitem', `\\part', `\\appendix', `\\entry',\n\
-`\\index', `\\def', `\\newcommand', `\\renewcommand',\n\
-`\\newenvironment' or `\\renewenvironment' is a tag.\n\
-\n\
-Other commands can be specified by setting the environment variable\n\
-`TEXTAGS' to a colon-separated list like, for example,\n\
-     TEXTAGS=\"mycommand:myothercommand\".";
-
-
-static const char *Texinfo_suffixes [] =
-  { "texi", "texinfo", "txi", NULL };
-static const char Texinfo_help [] =
-"for texinfo files, lines starting with @node are tagged.";
-
-static const char *Yacc_suffixes [] =
-  { "y", "y++", "ym", "yxx", "yy", NULL }; /* .ym is Objective yacc file */
-static const char Yacc_help [] =
-"In Bison or Yacc input files, each rule defines as a tag the\n\
-nonterminal it constructs.  The portions of the file that contain\n\
-C code are parsed as C code (use --help --lang=c --lang=yacc\n\
-for full help).";
-
-static const char auto_help [] =
-"`auto' is not a real language, it indicates to use\n\
-a default language for files base on file name suffix and file contents.";
-
-static const char none_help [] =
-"`none' is not a real language, it indicates to only do\n\
-regexp processing on files.";
-
-static const char no_lang_help [] =
-"No detailed help available for this language.";
-
-
-/*
- * Table of languages.
- *
- * It is ok for a given function to be listed under more than one
- * name.  I just didn't.
- */
-
-static language lang_names [] =
-{
-  { "ada",       Ada_help,       Ada_funcs,         Ada_suffixes       },
-  { "asm",       Asm_help,       Asm_labels,        Asm_suffixes       },
-  { "c",         default_C_help, default_C_entries, default_C_suffixes },
-  { "c++",       Cplusplus_help, Cplusplus_entries, Cplusplus_suffixes },
-  { "c*",        no_lang_help,   Cstar_entries,     Cstar_suffixes     },
-  { "cobol",     Cobol_help,     Cobol_paragraphs,  Cobol_suffixes     },
-  { "erlang",    Erlang_help,    Erlang_functions,  Erlang_suffixes    },
-  { "forth",     Forth_help,     Forth_words,       Forth_suffixes     },
-  { "fortran",   Fortran_help,   Fortran_functions, Fortran_suffixes   },
-  { "html",      HTML_help,      HTML_labels,       HTML_suffixes      },
-  { "java",      Cjava_help,     Cjava_entries,     Cjava_suffixes     },
-  { "lisp",      Lisp_help,      Lisp_functions,    Lisp_suffixes      },
-  { "lua",       Lua_help,       Lua_functions,     Lua_suffixes       },
-  { "makefile",  Makefile_help,Makefile_targets,NULL,Makefile_filenames},
-  { "objc",      Objc_help,      plain_C_entries,   Objc_suffixes      },
-  { "pascal",    Pascal_help,    Pascal_functions,  Pascal_suffixes    },
-  { "perl",Perl_help,Perl_functions,Perl_suffixes,NULL,Perl_interpreters},
-  { "php",       PHP_help,       PHP_functions,     PHP_suffixes       },
-  { "postscript",PS_help,        PS_functions,      PS_suffixes        },
-  { "proc",      no_lang_help,   plain_C_entries,   plain_C_suffixes   },
-  { "prolog",    Prolog_help,    Prolog_functions,  Prolog_suffixes    },
-  { "python",    Python_help,    Python_functions,  Python_suffixes    },
-  { "scheme",    Scheme_help,    Scheme_functions,  Scheme_suffixes    },
-  { "tex",       TeX_help,       TeX_commands,      TeX_suffixes       },
-  { "texinfo",   Texinfo_help,   Texinfo_nodes,     Texinfo_suffixes   },
-  { "yacc",      Yacc_help,Yacc_entries,Yacc_suffixes,NULL,NULL,true},
-  { "auto",      auto_help },                      /* default guessing scheme */
-  { "none",      none_help,      just_read_file }, /* regexp matching only */
-  { NULL }                /* end of list */
-};
-
-\f
-static void
-print_language_names (void)
-{
-  language *lang;
-  const char **name, **ext;
-
-  puts ("\nThese are the currently supported languages, along with the\n\
-default file names and dot suffixes:");
-  for (lang = lang_names; lang->name != NULL; lang++)
-    {
-      printf ("  %-*s", 10, lang->name);
-      if (lang->filenames != NULL)
-       for (name = lang->filenames; *name != NULL; name++)
-         printf (" %s", *name);
-      if (lang->suffixes != NULL)
-       for (ext = lang->suffixes; *ext != NULL; ext++)
-         printf (" .%s", *ext);
-      puts ("");
-    }
-  puts ("where `auto' means use default language for files based on file\n\
-name suffix, and `none' means only do regexp processing on files.\n\
-If no language is specified and no matching suffix is found,\n\
-the first line of the file is read for a sharp-bang (#!) sequence\n\
-followed by the name of an interpreter.  If no such sequence is found,\n\
-Fortran is tried first; if no tags are found, C is tried next.\n\
-When parsing any C file, a \"class\" or \"template\" keyword\n\
-switches to C++.");
-  puts ("Compressed files are supported using gzip, bzip2, and xz.\n\
-\n\
-For detailed help on a given language use, for example,\n\
-etags --help --lang=ada.");
-}
-
-#ifndef EMACS_NAME
-# define EMACS_NAME "standalone"
-#endif
-#ifndef VERSION
-# define VERSION "17.38.1.4"
-#endif
-static _Noreturn void
-print_version (void)
-{
-  char emacs_copyright[] = COPYRIGHT;
-
-  printf ("%s (%s %s)\n", (CTAGS) ? "ctags" : "etags", EMACS_NAME, VERSION);
-  puts (emacs_copyright);
-  puts ("This program is distributed under the terms in ETAGS.README");
-
-  exit (EXIT_SUCCESS);
-}
-
-#ifndef PRINT_UNDOCUMENTED_OPTIONS_HELP
-# define PRINT_UNDOCUMENTED_OPTIONS_HELP false
-#endif
-
-static _Noreturn void
-print_help (argument *argbuffer)
-{
-  bool help_for_lang = false;
-
-  for (; argbuffer->arg_type != at_end; argbuffer++)
-    if (argbuffer->arg_type == at_language)
-      {
-       if (help_for_lang)
-         puts ("");
-       puts (argbuffer->lang->help);
-       help_for_lang = true;
-      }
-
-  if (help_for_lang)
-    exit (EXIT_SUCCESS);
-
-  printf ("Usage: %s [options] [[regex-option ...] file-name] ...\n\
-\n\
-These are the options accepted by %s.\n", progname, progname);
-  puts ("You may use unambiguous abbreviations for the long option names.");
-  puts ("  A - as file name means read names from stdin (one per line).\n\
-Absolute names are stored in the output file as they are.\n\
-Relative ones are stored relative to the output file's directory.\n");
-
-  puts ("-a, --append\n\
-        Append tag entries to existing tags file.");
-
-  puts ("--packages-only\n\
-        For Ada files, only generate tags for packages.");
-
-  if (CTAGS)
-    puts ("-B, --backward-search\n\
-        Write the search commands for the tag entries using '?', the\n\
-        backward-search command instead of '/', the forward-search command.");
-
-  /* This option is mostly obsolete, because etags can now automatically
-     detect C++.  Retained for backward compatibility and for debugging and
-     experimentation.  In principle, we could want to tag as C++ even
-     before any "class" or "template" keyword.
-  puts ("-C, --c++\n\
-        Treat files whose name suffix defaults to C language as C++ files.");
-  */
-
-  puts ("--declarations\n\
-       In C and derived languages, create tags for function declarations,");
-  if (CTAGS)
-    puts ("\tand create tags for extern variables if --globals is used.");
-  else
-    puts
-      ("\tand create tags for extern variables unless --no-globals is used.");
-
-  if (CTAGS)
-    puts ("-d, --defines\n\
-        Create tag entries for C #define constants and enum constants, too.");
-  else
-    puts ("-D, --no-defines\n\
-        Don't create tag entries for C #define constants and enum constants.\n\
-       This makes the tags file smaller.");
-
-  if (!CTAGS)
-    puts ("-i FILE, --include=FILE\n\
-        Include a note in tag file indicating that, when searching for\n\
-        a tag, one should also consult the tags file FILE after\n\
-        checking the current file.");
-
-  puts ("-l LANG, --language=LANG\n\
-        Force the following files to be considered as written in the\n\
-       named language up to the next --language=LANG option.");
-
-  if (CTAGS)
-    puts ("--globals\n\
-       Create tag entries for global variables in some languages.");
-  else
-    puts ("--no-globals\n\
-       Do not create tag entries for global variables in some\n\
-       languages.  This makes the tags file smaller.");
-
-  if (PRINT_UNDOCUMENTED_OPTIONS_HELP)
-    puts ("--no-line-directive\n\
-        Ignore #line preprocessor directives in C and derived languages.");
-
-  if (CTAGS)
-    puts ("--members\n\
-       Create tag entries for members of structures in some languages.");
-  else
-    puts ("--no-members\n\
-       Do not create tag entries for members of structures\n\
-       in some languages.");
-
-  puts ("-r REGEXP, --regex=REGEXP or --regex=@regexfile\n\
-        Make a tag for each line matching a regular expression pattern\n\
-       in the following files.  {LANGUAGE}REGEXP uses REGEXP for LANGUAGE\n\
-       files only.  REGEXFILE is a file containing one REGEXP per line.\n\
-       REGEXP takes the form /TAGREGEXP/TAGNAME/MODS, where TAGNAME/ is\n\
-       optional.  The TAGREGEXP pattern is anchored (as if preceded by ^).");
-  puts ("      If TAGNAME/ is present, the tags created are named.\n\
-       For example Tcl named tags can be created with:\n\
-         --regex=\"/proc[ \\t]+\\([^ \\t]+\\)/\\1/.\".\n\
-       MODS are optional one-letter modifiers: `i' means to ignore case,\n\
-       `m' means to allow multi-line matches, `s' implies `m' and\n\
-       causes dot to match any character, including newline.");
-
-  puts ("-R, --no-regex\n\
-        Don't create tags from regexps for the following files.");
-
-  puts ("-I, --ignore-indentation\n\
-        In C and C++ do not assume that a closing brace in the first\n\
-        column is the final brace of a function or structure definition.");
-
-  puts ("-o FILE, --output=FILE\n\
-        Write the tags to FILE.");
-
-  puts ("--parse-stdin=NAME\n\
-        Read from standard input and record tags as belonging to file NAME.");
-
-  if (CTAGS)
-    {
-      puts ("-t, --typedefs\n\
-        Generate tag entries for C and Ada typedefs.");
-      puts ("-T, --typedefs-and-c++\n\
-        Generate tag entries for C typedefs, C struct/enum/union tags,\n\
-        and C++ member functions.");
-    }
-
-  if (CTAGS)
-    puts ("-u, --update\n\
-        Update the tag entries for the given files, leaving tag\n\
-        entries for other files in place.  Currently, this is\n\
-        implemented by deleting the existing entries for the given\n\
-        files and then rewriting the new entries at the end of the\n\
-        tags file.  It is often faster to simply rebuild the entire\n\
-        tag file than to use this.");
-
-  if (CTAGS)
-    {
-      puts ("-v, --vgrind\n\
-        Print on the standard output an index of items intended for\n\
-        human consumption, similar to the output of vgrind.  The index\n\
-        is sorted, and gives the page number of each item.");
-
-      if (PRINT_UNDOCUMENTED_OPTIONS_HELP)
-       puts ("-w, --no-duplicates\n\
-        Do not create duplicate tag entries, for compatibility with\n\
-       traditional ctags.");
-
-      if (PRINT_UNDOCUMENTED_OPTIONS_HELP)
-       puts ("-w, --no-warn\n\
-        Suppress warning messages about duplicate tag entries.");
-
-      puts ("-x, --cxref\n\
-        Like --vgrind, but in the style of cxref, rather than vgrind.\n\
-        The output uses line numbers instead of page numbers, but\n\
-        beyond that the differences are cosmetic; try both to see\n\
-        which you like.");
-    }
-
-  puts ("-V, --version\n\
-        Print the version of the program.\n\
--h, --help\n\
-        Print this help message.\n\
-        Followed by one or more `--language' options prints detailed\n\
-        help about tag generation for the specified languages.");
-
-  print_language_names ();
-
-  puts ("");
-  puts ("Report bugs to bug-gnu-emacs@gnu.org");
-
-  exit (EXIT_SUCCESS);
-}
-
-\f
-int
-main (int argc, char **argv)
-{
-  int i;
-  unsigned int nincluded_files;
-  char **included_files;
-  argument *argbuffer;
-  int current_arg, file_count;
-  linebuffer filename_lb;
-  bool help_asked = false;
-  ptrdiff_t len;
-  char *optstring;
-  int opt;
-
-  progname = argv[0];
-  nincluded_files = 0;
-  included_files = xnew (argc, char *);
-  current_arg = 0;
-  file_count = 0;
-
-  /* Allocate enough no matter what happens.  Overkill, but each one
-     is small. */
-  argbuffer = xnew (argc, argument);
-
-  /*
-   * Always find typedefs and structure tags.
-   * Also default to find macro constants, enum constants, struct
-   * members and global variables.  Do it for both etags and ctags.
-   */
-  typedefs = typedefs_or_cplusplus = constantypedefs = true;
-  globals = members = true;
-
-  /* When the optstring begins with a '-' getopt_long does not rearrange the
-     non-options arguments to be at the end, but leaves them alone. */
-  optstring = concat ("-ac:Cf:Il:o:r:RSVhH",
-                     (CTAGS) ? "BxdtTuvw" : "Di:",
-                     "");
-
-  while ((opt = getopt_long (argc, argv, optstring, longopts, NULL)) != EOF)
-    switch (opt)
-      {
-      case 0:
-       /* If getopt returns 0, then it has already processed a
-          long-named option.  We should do nothing.  */
-       break;
-
-      case 1:
-       /* This means that a file name has been seen.  Record it. */
-       argbuffer[current_arg].arg_type = at_filename;
-       argbuffer[current_arg].what     = optarg;
-       len = strlen (optarg);
-       if (whatlen_max < len)
-         whatlen_max = len;
-       ++current_arg;
-       ++file_count;
-       break;
-
-      case STDIN:
-       /* Parse standard input.  Idea by Vivek <vivek@etla.org>. */
-       argbuffer[current_arg].arg_type = at_stdin;
-       argbuffer[current_arg].what     = optarg;
-       len = strlen (optarg);
-       if (whatlen_max < len)
-         whatlen_max = len;
-       ++current_arg;
-       ++file_count;
-       if (parsing_stdin)
-         fatal ("cannot parse standard input more than once", (char *)NULL);
-       parsing_stdin = true;
-       break;
-
-       /* Common options. */
-      case 'a': append_to_tagfile = true;      break;
-      case 'C': cplusplus = true;              break;
-      case 'f':                /* for compatibility with old makefiles */
-      case 'o':
-       if (tagfile)
-         {
-           error ("-o option may only be given once.");
-           suggest_asking_for_help ();
-           /* NOTREACHED */
-         }
-       tagfile = optarg;
-       break;
-      case 'I':
-      case 'S':                /* for backward compatibility */
-       ignoreindent = true;
-       break;
-      case 'l':
-       {
-         language *lang = get_language_from_langname (optarg);
-         if (lang != NULL)
-           {
-             argbuffer[current_arg].lang = lang;
-             argbuffer[current_arg].arg_type = at_language;
-             ++current_arg;
-           }
-       }
-       break;
-      case 'c':
-       /* Backward compatibility: support obsolete --ignore-case-regexp. */
-       optarg = concat (optarg, "i", ""); /* memory leak here */
-       /* FALLTHRU */
-      case 'r':
-       argbuffer[current_arg].arg_type = at_regexp;
-       argbuffer[current_arg].what = optarg;
-       len = strlen (optarg);
-       if (whatlen_max < len)
-         whatlen_max = len;
-       ++current_arg;
-       break;
-      case 'R':
-       argbuffer[current_arg].arg_type = at_regexp;
-       argbuffer[current_arg].what = NULL;
-       ++current_arg;
-       break;
-      case 'V':
-       print_version ();
-       break;
-      case 'h':
-      case 'H':
-       help_asked = true;
-       break;
-
-       /* Etags options */
-      case 'D': constantypedefs = false;                       break;
-      case 'i': included_files[nincluded_files++] = optarg;    break;
-
-       /* Ctags options. */
-      case 'B': searchar = '?';                                        break;
-      case 'd': constantypedefs = true;                                break;
-      case 't': typedefs = true;                               break;
-      case 'T': typedefs = typedefs_or_cplusplus = true;       break;
-      case 'u': update = true;                                 break;
-      case 'v': vgrind_style = true;                     /*FALLTHRU*/
-      case 'x': cxref_style = true;                            break;
-      case 'w': no_warnings = true;                            break;
-      default:
-       suggest_asking_for_help ();
-       /* NOTREACHED */
-      }
-
-  /* No more options.  Store the rest of arguments. */
-  for (; optind < argc; optind++)
-    {
-      argbuffer[current_arg].arg_type = at_filename;
-      argbuffer[current_arg].what = argv[optind];
-      len = strlen (argv[optind]);
-      if (whatlen_max < len)
-       whatlen_max = len;
-      ++current_arg;
-      ++file_count;
-    }
-
-  argbuffer[current_arg].arg_type = at_end;
-
-  if (help_asked)
-    print_help (argbuffer);
-    /* NOTREACHED */
-
-  if (nincluded_files == 0 && file_count == 0)
-    {
-      error ("no input files specified.");
-      suggest_asking_for_help ();
-      /* NOTREACHED */
-    }
-
-  if (tagfile == NULL)
-    tagfile = savestr (CTAGS ? "tags" : "TAGS");
-  cwd = etags_getcwd ();       /* the current working directory */
-  if (cwd[strlen (cwd) - 1] != '/')
-    {
-      char *oldcwd = cwd;
-      cwd = concat (oldcwd, "/", "");
-      free (oldcwd);
-    }
-
-  /* Compute base directory for relative file names. */
-  if (streq (tagfile, "-")
-      || strneq (tagfile, "/dev/", 5))
-    tagfiledir = cwd;           /* relative file names are relative to cwd */
-  else
-    {
-      canonicalize_filename (tagfile);
-      tagfiledir = absolute_dirname (tagfile, cwd);
-    }
-
-  init ();                     /* set up boolean "functions" */
-
-  linebuffer_init (&lb);
-  linebuffer_init (&filename_lb);
-  linebuffer_init (&filebuf);
-  linebuffer_init (&token_name);
-
-  if (!CTAGS)
-    {
-      if (streq (tagfile, "-"))
-       {
-         tagf = stdout;
-         SET_BINARY (fileno (stdout));
-       }
-      else
-       tagf = fopen (tagfile, append_to_tagfile ? "ab" : "wb");
-      if (tagf == NULL)
-       pfatal (tagfile);
-    }
-
-  /*
-   * Loop through files finding functions.
-   */
-  for (i = 0; i < current_arg; i++)
-    {
-      static language *lang;   /* non-NULL if language is forced */
-      char *this_file;
-
-      switch (argbuffer[i].arg_type)
-       {
-       case at_language:
-         lang = argbuffer[i].lang;
-         break;
-       case at_regexp:
-         analyze_regex (argbuffer[i].what);
-         break;
-       case at_filename:
-             this_file = argbuffer[i].what;
-             /* Input file named "-" means read file names from stdin
-                (one per line) and use them. */
-             if (streq (this_file, "-"))
-               {
-                 if (parsing_stdin)
-                   fatal ("cannot parse standard input AND read file names from it",
-                          (char *)NULL);
-                 while (readline_internal (&filename_lb, stdin) > 0)
-                   process_file_name (filename_lb.buffer, lang);
-               }
-             else
-               process_file_name (this_file, lang);
-         break;
-        case at_stdin:
-          this_file = argbuffer[i].what;
-          process_file (stdin, this_file, lang);
-          break;
-       }
-    }
-
-  free_regexps ();
-  free (lb.buffer);
-  free (filebuf.buffer);
-  free (token_name.buffer);
-
-  if (!CTAGS || cxref_style)
-    {
-      /* Write the remaining tags to tagf (ETAGS) or stdout (CXREF). */
-      put_entries (nodehead);
-      free_tree (nodehead);
-      nodehead = NULL;
-      if (!CTAGS)
-       {
-         fdesc *fdp;
-
-         /* Output file entries that have no tags. */
-         for (fdp = fdhead; fdp != NULL; fdp = fdp->next)
-           if (!fdp->written)
-             fprintf (tagf, "\f\n%s,0\n", fdp->taggedfname);
-
-         while (nincluded_files-- > 0)
-           fprintf (tagf, "\f\n%s,include\n", *included_files++);
-
-         if (fclose (tagf) == EOF)
-           pfatal (tagfile);
-       }
-
-      exit (EXIT_SUCCESS);
-    }
-
-  /* From here on, we are in (CTAGS && !cxref_style) */
-  if (update)
-    {
-      char *cmd =
-       xmalloc (strlen (tagfile) + whatlen_max +
-                sizeof "mv..OTAGS;fgrep -v '\t\t' OTAGS >;rm OTAGS");
-      for (i = 0; i < current_arg; ++i)
-       {
-         switch (argbuffer[i].arg_type)
-           {
-           case at_filename:
-           case at_stdin:
-             break;
-           default:
-             continue;         /* the for loop */
-           }
-         char *z = stpcpy (cmd, "mv ");
-         z = stpcpy (z, tagfile);
-         z = stpcpy (z, " OTAGS;fgrep -v '\t");
-         z = stpcpy (z, argbuffer[i].what);
-         z = stpcpy (z, "\t' OTAGS >");
-         z = stpcpy (z, tagfile);
-         strcpy (z, ";rm OTAGS");
-         if (system (cmd) != EXIT_SUCCESS)
-           fatal ("failed to execute shell command", (char *)NULL);
-       }
-      free (cmd);
-      append_to_tagfile = true;
-    }
-
-  tagf = fopen (tagfile, append_to_tagfile ? "ab" : "wb");
-  if (tagf == NULL)
-    pfatal (tagfile);
-  put_entries (nodehead);      /* write all the tags (CTAGS) */
-  free_tree (nodehead);
-  nodehead = NULL;
-  if (fclose (tagf) == EOF)
-    pfatal (tagfile);
-
-  if (CTAGS)
-    if (append_to_tagfile || update)
-      {
-       char *cmd = xmalloc (2 * strlen (tagfile) + sizeof "sort -u -o..");
-       /* Maybe these should be used:
-          setenv ("LC_COLLATE", "C", 1);
-          setenv ("LC_ALL", "C", 1); */
-       char *z = stpcpy (cmd, "sort -u -o ");
-       z = stpcpy (z, tagfile);
-       *z++ = ' ';
-       strcpy (z, tagfile);
-       exit (system (cmd));
-      }
-  return EXIT_SUCCESS;
-}
-
-
-/*
- * Return a compressor given the file name.  If EXTPTR is non-zero,
- * return a pointer into FILE where the compressor-specific
- * extension begins.  If no compressor is found, NULL is returned
- * and EXTPTR is not significant.
- * Idea by Vladimir Alexiev <vladimir@cs.ualberta.ca> (1998)
- */
-static compressor *
-get_compressor_from_suffix (char *file, char **extptr)
-{
-  compressor *compr;
-  char *slash, *suffix;
-
-  /* File has been processed by canonicalize_filename,
-     so we don't need to consider backslashes on DOS_NT.  */
-  slash = strrchr (file, '/');
-  suffix = strrchr (file, '.');
-  if (suffix == NULL || suffix < slash)
-    return NULL;
-  if (extptr != NULL)
-    *extptr = suffix;
-  suffix += 1;
-  /* Let those poor souls who live with DOS 8+3 file name limits get
-     some solace by treating foo.cgz as if it were foo.c.gz, etc.
-     Only the first do loop is run if not MSDOS */
-  do
-    {
-      for (compr = compressors; compr->suffix != NULL; compr++)
-       if (streq (compr->suffix, suffix))
-         return compr;
-      if (!MSDOS)
-       break;                  /* do it only once: not really a loop */
-      if (extptr != NULL)
-       *extptr = ++suffix;
-    } while (*suffix != '\0');
-  return NULL;
-}
-
-
-
-/*
- * Return a language given the name.
- */
-static language *
-get_language_from_langname (const char *name)
-{
-  language *lang;
-
-  if (name == NULL)
-    error ("empty language name");
-  else
-    {
-      for (lang = lang_names; lang->name != NULL; lang++)
-       if (streq (name, lang->name))
-         return lang;
-      error ("unknown language \"%s\"", name);
-    }
-
-  return NULL;
-}
-
-
-/*
- * Return a language given the interpreter name.
- */
-static language *
-get_language_from_interpreter (char *interpreter)
-{
-  language *lang;
-  const char **iname;
-
-  if (interpreter == NULL)
-    return NULL;
-  for (lang = lang_names; lang->name != NULL; lang++)
-    if (lang->interpreters != NULL)
-      for (iname = lang->interpreters; *iname != NULL; iname++)
-       if (streq (*iname, interpreter))
-           return lang;
-
-  return NULL;
-}
-
-
-
-/*
- * Return a language given the file name.
- */
-static language *
-get_language_from_filename (char *file, int case_sensitive)
-{
-  language *lang;
-  const char **name, **ext, *suffix;
-
-  /* Try whole file name first. */
-  for (lang = lang_names; lang->name != NULL; lang++)
-    if (lang->filenames != NULL)
-      for (name = lang->filenames; *name != NULL; name++)
-       if ((case_sensitive)
-           ? streq (*name, file)
-           : strcaseeq (*name, file))
-         return lang;
-
-  /* If not found, try suffix after last dot. */
-  suffix = strrchr (file, '.');
-  if (suffix == NULL)
-    return NULL;
-  suffix += 1;
-  for (lang = lang_names; lang->name != NULL; lang++)
-    if (lang->suffixes != NULL)
-      for (ext = lang->suffixes; *ext != NULL; ext++)
-       if ((case_sensitive)
-           ? streq (*ext, suffix)
-           : strcaseeq (*ext, suffix))
-         return lang;
-  return NULL;
-}
-
-\f
-/*
- * This routine is called on each file argument.
- */
-static void
-process_file_name (char *file, language *lang)
-{
-  struct stat stat_buf;
-  FILE *inf;
-  fdesc *fdp;
-  compressor *compr;
-  char *compressed_name, *uncompressed_name;
-  char *ext, *real_name;
-  int retval;
-
-  canonicalize_filename (file);
-  if (streq (file, tagfile) && !streq (tagfile, "-"))
-    {
-      error ("skipping inclusion of %s in self.", file);
-      return;
-    }
-  if ((compr = get_compressor_from_suffix (file, &ext)) == NULL)
-    {
-      compressed_name = NULL;
-      real_name = uncompressed_name = savestr (file);
-    }
-  else
-    {
-      real_name = compressed_name = savestr (file);
-      uncompressed_name = savenstr (file, ext - file);
-    }
-
-  /* If the canonicalized uncompressed name
-     has already been dealt with, skip it silently. */
-  for (fdp = fdhead; fdp != NULL; fdp = fdp->next)
-    {
-      assert (fdp->infname != NULL);
-      if (streq (uncompressed_name, fdp->infname))
-       goto cleanup;
-    }
-
-  if (stat (real_name, &stat_buf) != 0)
-    {
-      /* Reset real_name and try with a different name. */
-      real_name = NULL;
-      if (compressed_name != NULL) /* try with the given suffix */
-       {
-         if (stat (uncompressed_name, &stat_buf) == 0)
-           real_name = uncompressed_name;
-       }
-      else                     /* try all possible suffixes */
-       {
-         for (compr = compressors; compr->suffix != NULL; compr++)
-           {
-             compressed_name = concat (file, ".", compr->suffix);
-             if (stat (compressed_name, &stat_buf) != 0)
-               {
-                 if (MSDOS)
-                   {
-                     char *suf = compressed_name + strlen (file);
-                     size_t suflen = strlen (compr->suffix) + 1;
-                     for ( ; suf[1]; suf++, suflen--)
-                       {
-                         memmove (suf, suf + 1, suflen);
-                         if (stat (compressed_name, &stat_buf) == 0)
-                           {
-                             real_name = compressed_name;
-                             break;
-                           }
-                       }
-                     if (real_name != NULL)
-                       break;
-                   } /* MSDOS */
-                 free (compressed_name);
-                 compressed_name = NULL;
-               }
-             else
-               {
-                 real_name = compressed_name;
-                 break;
-               }
-           }
-       }
-      if (real_name == NULL)
-       {
-         perror (file);
-         goto cleanup;
-       }
-    } /* try with a different name */
-
-  if (!S_ISREG (stat_buf.st_mode))
-    {
-      error ("skipping %s: it is not a regular file.", real_name);
-      goto cleanup;
-    }
-  if (real_name == compressed_name)
-    {
-      char *cmd = concat (compr->command, " ", real_name);
-      inf = popen (cmd, "r" FOPEN_BINARY);
-      free (cmd);
-    }
-  else
-    inf = fopen (real_name, "r" FOPEN_BINARY);
-  if (inf == NULL)
-    {
-      perror (real_name);
-      goto cleanup;
-    }
-
-  process_file (inf, uncompressed_name, lang);
-
-  if (real_name == compressed_name)
-    retval = pclose (inf);
-  else
-    retval = fclose (inf);
-  if (retval < 0)
-    pfatal (file);
-
- cleanup:
-  free (compressed_name);
-  free (uncompressed_name);
-  last_node = NULL;
-  curfdp = NULL;
-  return;
-}
-
-static void
-process_file (FILE *fh, char *fn, language *lang)
-{
-  static const fdesc emptyfdesc;
-  fdesc *fdp;
-
-  /* Create a new input file description entry. */
-  fdp = xnew (1, fdesc);
-  *fdp = emptyfdesc;
-  fdp->next = fdhead;
-  fdp->infname = savestr (fn);
-  fdp->lang = lang;
-  fdp->infabsname = absolute_filename (fn, cwd);
-  fdp->infabsdir = absolute_dirname (fn, cwd);
-  if (filename_is_absolute (fn))
-    {
-      /* An absolute file name.  Canonicalize it. */
-      fdp->taggedfname = absolute_filename (fn, NULL);
-    }
-  else
-    {
-      /* A file name relative to cwd.  Make it relative
-        to the directory of the tags file. */
-      fdp->taggedfname = relative_filename (fn, tagfiledir);
-    }
-  fdp->usecharno = true;       /* use char position when making tags */
-  fdp->prop = NULL;
-  fdp->written = false;                /* not written on tags file yet */
-
-  fdhead = fdp;
-  curfdp = fdhead;             /* the current file description */
-
-  find_entries (fh);
-
-  /* If not Ctags, and if this is not metasource and if it contained no #line
-     directives, we can write the tags and free all nodes pointing to
-     curfdp. */
-  if (!CTAGS
-      && curfdp->usecharno     /* no #line directives in this file */
-      && !curfdp->lang->metasource)
-    {
-      node *np, *prev;
-
-      /* Look for the head of the sublist relative to this file.  See add_node
-        for the structure of the node tree. */
-      prev = NULL;
-      for (np = nodehead; np != NULL; prev = np, np = np->left)
-       if (np->fdp == curfdp)
-         break;
-
-      /* If we generated tags for this file, write and delete them. */
-      if (np != NULL)
-       {
-         /* This is the head of the last sublist, if any.  The following
-            instructions depend on this being true. */
-         assert (np->left == NULL);
-
-         assert (fdhead == curfdp);
-         assert (last_node->fdp == curfdp);
-         put_entries (np);     /* write tags for file curfdp->taggedfname */
-         free_tree (np);       /* remove the written nodes */
-         if (prev == NULL)
-           nodehead = NULL;    /* no nodes left */
-         else
-           prev->left = NULL;  /* delete the pointer to the sublist */
-       }
-    }
-}
-
-/*
- * This routine sets up the boolean pseudo-functions which work
- * by setting boolean flags dependent upon the corresponding character.
- * Every char which is NOT in that string is not a white char.  Therefore,
- * all of the array "_wht" is set to false, and then the elements
- * subscripted by the chars in "white" are set to true.  Thus "_wht"
- * of a char is true if it is the string "white", else false.
- */
-static void
-init (void)
-{
-  const char *sp;
-  int i;
-
-  for (i = 0; i < CHARS; i++)
-    iswhite (i) = notinname (i) = begtoken (i) = intoken (i) = endtoken (i)
-      = false;
-  for (sp = white; *sp != '\0'; sp++) iswhite (*sp) = true;
-  for (sp = nonam; *sp != '\0'; sp++) notinname (*sp) = true;
-  notinname ('\0') = notinname ('\n');
-  for (sp = begtk; *sp != '\0'; sp++) begtoken (*sp) = true;
-  begtoken ('\0') = begtoken ('\n');
-  for (sp = midtk; *sp != '\0'; sp++) intoken (*sp) = true;
-  intoken ('\0') = intoken ('\n');
-  for (sp = endtk; *sp != '\0'; sp++) endtoken (*sp) = true;
-  endtoken ('\0') = endtoken ('\n');
-}
-
-/*
- * This routine opens the specified file and calls the function
- * which finds the function and type definitions.
- */
-static void
-find_entries (FILE *inf)
-{
-  char *cp;
-  language *lang = curfdp->lang;
-  Lang_function *parser = NULL;
-
-  /* If user specified a language, use it. */
-  if (lang != NULL && lang->function != NULL)
-    {
-      parser = lang->function;
-    }
-
-  /* Else try to guess the language given the file name. */
-  if (parser == NULL)
-    {
-      lang = get_language_from_filename (curfdp->infname, true);
-      if (lang != NULL && lang->function != NULL)
-       {
-         curfdp->lang = lang;
-         parser = lang->function;
-       }
-    }
-
-  /* Else look for sharp-bang as the first two characters. */
-  if (parser == NULL
-      && readline_internal (&lb, inf) > 0
-      && lb.len >= 2
-      && lb.buffer[0] == '#'
-      && lb.buffer[1] == '!')
-    {
-      char *lp;
-
-      /* Set lp to point at the first char after the last slash in the
-         line or, if no slashes, at the first nonblank.  Then set cp to
-        the first successive blank and terminate the string. */
-      lp = strrchr (lb.buffer+2, '/');
-      if (lp != NULL)
-       lp += 1;
-      else
-       lp = skip_spaces (lb.buffer + 2);
-      cp = skip_non_spaces (lp);
-      *cp = '\0';
-
-      if (strlen (lp) > 0)
-       {
-         lang = get_language_from_interpreter (lp);
-         if (lang != NULL && lang->function != NULL)
-           {
-             curfdp->lang = lang;
-             parser = lang->function;
-           }
-       }
-    }
-
-  /* We rewind here, even if inf may be a pipe.  We fail if the
-     length of the first line is longer than the pipe block size,
-     which is unlikely. */
-  rewind (inf);
-
-  /* Else try to guess the language given the case insensitive file name. */
-  if (parser == NULL)
-    {
-      lang = get_language_from_filename (curfdp->infname, false);
-      if (lang != NULL && lang->function != NULL)
-       {
-         curfdp->lang = lang;
-         parser = lang->function;
-       }
-    }
-
-  /* Else try Fortran or C. */
-  if (parser == NULL)
-    {
-      node *old_last_node = last_node;
-
-      curfdp->lang = get_language_from_langname ("fortran");
-      find_entries (inf);
-
-      if (old_last_node == last_node)
-       /* No Fortran entries found.  Try C. */
-       {
-         /* We do not tag if rewind fails.
-            Only the file name will be recorded in the tags file. */
-         rewind (inf);
-         curfdp->lang = get_language_from_langname (cplusplus ? "c++" : "c");
-         find_entries (inf);
-       }
-      return;
-    }
-
-  if (!no_line_directive
-      && curfdp->lang != NULL && curfdp->lang->metasource)
-    /* It may be that this is a bingo.y file, and we already parsed a bingo.c
-       file, or anyway we parsed a file that is automatically generated from
-       this one.  If this is the case, the bingo.c file contained #line
-       directives that generated tags pointing to this file.  Let's delete
-       them all before parsing this file, which is the real source. */
-    {
-      fdesc **fdpp = &fdhead;
-      while (*fdpp != NULL)
-       if (*fdpp != curfdp
-           && streq ((*fdpp)->taggedfname, curfdp->taggedfname))
-         /* We found one of those!  We must delete both the file description
-            and all tags referring to it. */
-         {
-           fdesc *badfdp = *fdpp;
-
-           /* Delete the tags referring to badfdp->taggedfname
-              that were obtained from badfdp->infname. */
-           invalidate_nodes (badfdp, &nodehead);
-
-           *fdpp = badfdp->next; /* remove the bad description from the list */
-           free_fdesc (badfdp);
-         }
-       else
-         fdpp = &(*fdpp)->next; /* advance the list pointer */
-    }
-
-  assert (parser != NULL);
-
-  /* Generic initializations before reading from file. */
-  linebuffer_setlen (&filebuf, 0); /* reset the file buffer */
-
-  /* Generic initializations before parsing file with readline. */
-  lineno = 0;                 /* reset global line number */
-  charno = 0;                 /* reset global char number */
-  linecharno = 0;             /* reset global char number of line start */
-
-  parser (inf);
-
-  regex_tag_multiline ();
-}
-
-\f
-/*
- * Check whether an implicitly named tag should be created,
- * then call `pfnote'.
- * NAME is a string that is internally copied by this function.
- *
- * TAGS format specification
- * Idea by Sam Kendall <kendall@mv.mv.com> (1997)
- * The following is explained in some more detail in etc/ETAGS.EBNF.
- *
- * make_tag creates tags with "implicit tag names" (unnamed tags)
- * if the following are all true, assuming NONAM=" \f\t\n\r()=,;":
- *  1. NAME does not contain any of the characters in NONAM;
- *  2. LINESTART contains name as either a rightmost, or rightmost but
- *     one character, substring;
- *  3. the character, if any, immediately before NAME in LINESTART must
- *     be a character in NONAM;
- *  4. the character, if any, immediately after NAME in LINESTART must
- *     also be a character in NONAM.
- *
- * The implementation uses the notinname() macro, which recognizes the
- * characters stored in the string `nonam'.
- * etags.el needs to use the same characters that are in NONAM.
- */
-static void
-make_tag (const char *name,    /* tag name, or NULL if unnamed */
-         int namelen,          /* tag length */
-         bool is_func,         /* tag is a function */
-         char *linestart,      /* start of the line where tag is */
-         int linelen,          /* length of the line where tag is */
-         int lno,              /* line number */
-         long int cno)         /* character number */
-{
-  bool named = (name != NULL && namelen > 0);
-  char *nname = NULL;
-
-  if (!CTAGS && named)         /* maybe set named to false */
-    /* Let's try to make an implicit tag name, that is, create an unnamed tag
-       such that etags.el can guess a name from it. */
-    {
-      int i;
-      register const char *cp = name;
-
-      for (i = 0; i < namelen; i++)
-       if (notinname (*cp++))
-         break;
-      if (i == namelen)                                /* rule #1 */
-       {
-         cp = linestart + linelen - namelen;
-         if (notinname (linestart[linelen-1]))
-           cp -= 1;                            /* rule #4 */
-         if (cp >= linestart                   /* rule #2 */
-             && (cp == linestart
-                 || notinname (cp[-1]))        /* rule #3 */
-             && strneq (name, cp, namelen))    /* rule #2 */
-           named = false;      /* use implicit tag name */
-       }
-    }
-
-  if (named)
-    nname = savenstr (name, namelen);
-
-  pfnote (nname, is_func, linestart, linelen, lno, cno);
-}
-
-/* Record a tag. */
-static void
-pfnote (char *name, bool is_func, char *linestart, int linelen, int lno,
-       long int cno)
-                               /* tag name, or NULL if unnamed */
-                               /* tag is a function */
-                               /* start of the line where tag is */
-                               /* length of the line where tag is */
-                               /* line number */
-                               /* character number */
-{
-  register node *np;
-
-  assert (name == NULL || name[0] != '\0');
-  if (CTAGS && name == NULL)
-    return;
-
-  np = xnew (1, node);
-
-  /* If ctags mode, change name "main" to M<thisfilename>. */
-  if (CTAGS && !cxref_style && streq (name, "main"))
-    {
-      char *fp = strrchr (curfdp->taggedfname, '/');
-      np->name = concat ("M", fp == NULL ? curfdp->taggedfname : fp + 1, "");
-      fp = strrchr (np->name, '.');
-      if (fp != NULL && fp[1] != '\0' && fp[2] == '\0')
-       fp[0] = '\0';
-    }
-  else
-    np->name = name;
-  np->valid = true;
-  np->been_warned = false;
-  np->fdp = curfdp;
-  np->is_func = is_func;
-  np->lno = lno;
-  if (np->fdp->usecharno)
-    /* Our char numbers are 0-base, because of C language tradition?
-       ctags compatibility?  old versions compatibility?   I don't know.
-       Anyway, since emacs's are 1-base we expect etags.el to take care
-       of the difference.  If we wanted to have 1-based numbers, we would
-       uncomment the +1 below. */
-    np->cno = cno /* + 1 */ ;
-  else
-    np->cno = invalidcharno;
-  np->left = np->right = NULL;
-  if (CTAGS && !cxref_style)
-    {
-      if (strlen (linestart) < 50)
-       np->regex = concat (linestart, "$", "");
-      else
-       np->regex = savenstr (linestart, 50);
-    }
-  else
-    np->regex = savenstr (linestart, linelen);
-
-  add_node (np, &nodehead);
-}
-
-/*
- * free_tree ()
- *     recurse on left children, iterate on right children.
- */
-static void
-free_tree (register node *np)
-{
-  while (np)
-    {
-      register node *node_right = np->right;
-      free_tree (np->left);
-      free (np->name);
-      free (np->regex);
-      free (np);
-      np = node_right;
-    }
-}
-
-/*
- * free_fdesc ()
- *     delete a file description
- */
-static void
-free_fdesc (register fdesc *fdp)
-{
-  free (fdp->infname);
-  free (fdp->infabsname);
-  free (fdp->infabsdir);
-  free (fdp->taggedfname);
-  free (fdp->prop);
-  free (fdp);
-}
-
-/*
- * add_node ()
- *     Adds a node to the tree of nodes.  In etags mode, sort by file
- *     name.  In ctags mode, sort by tag name.  Make no attempt at
- *     balancing.
- *
- *     add_node is the only function allowed to add nodes, so it can
- *     maintain state.
- */
-static void
-add_node (node *np, node **cur_node_p)
-{
-  register int dif;
-  register node *cur_node = *cur_node_p;
-
-  if (cur_node == NULL)
-    {
-      *cur_node_p = np;
-      last_node = np;
-      return;
-    }
-
-  if (!CTAGS)
-    /* Etags Mode */
-    {
-      /* For each file name, tags are in a linked sublist on the right
-        pointer.  The first tags of different files are a linked list
-        on the left pointer.  last_node points to the end of the last
-        used sublist. */
-      if (last_node != NULL && last_node->fdp == np->fdp)
-       {
-         /* Let's use the same sublist as the last added node. */
-         assert (last_node->right == NULL);
-         last_node->right = np;
-         last_node = np;
-       }
-      else if (cur_node->fdp == np->fdp)
-       {
-         /* Scanning the list we found the head of a sublist which is
-            good for us.  Let's scan this sublist. */
-         add_node (np, &cur_node->right);
-       }
-      else
-       /* The head of this sublist is not good for us.  Let's try the
-          next one. */
-       add_node (np, &cur_node->left);
-    } /* if ETAGS mode */
-
-  else
-    {
-      /* Ctags Mode */
-      dif = strcmp (np->name, cur_node->name);
-
-      /*
-       * If this tag name matches an existing one, then
-       * do not add the node, but maybe print a warning.
-       */
-      if (no_duplicates && !dif)
-       {
-         if (np->fdp == cur_node->fdp)
-           {
-             if (!no_warnings)
-               {
-                 fprintf (stderr, "Duplicate entry in file %s, line %d: %s\n",
-                          np->fdp->infname, lineno, np->name);
-                 fprintf (stderr, "Second entry ignored\n");
-               }
-           }
-         else if (!cur_node->been_warned && !no_warnings)
-           {
-             fprintf
-               (stderr,
-                "Duplicate entry in files %s and %s: %s (Warning only)\n",
-                np->fdp->infname, cur_node->fdp->infname, np->name);
-             cur_node->been_warned = true;
-           }
-         return;
-       }
-
-      /* Actually add the node */
-      add_node (np, dif < 0 ? &cur_node->left : &cur_node->right);
-    } /* if CTAGS mode */
-}
-
-/*
- * invalidate_nodes ()
- *     Scan the node tree and invalidate all nodes pointing to the
- *     given file description (CTAGS case) or free them (ETAGS case).
- */
-static void
-invalidate_nodes (fdesc *badfdp, node **npp)
-{
-  node *np = *npp;
-
-  if (np == NULL)
-    return;
-
-  if (CTAGS)
-    {
-      if (np->left != NULL)
-       invalidate_nodes (badfdp, &np->left);
-      if (np->fdp == badfdp)
-       np->valid = false;
-      if (np->right != NULL)
-       invalidate_nodes (badfdp, &np->right);
-    }
-  else
-    {
-      assert (np->fdp != NULL);
-      if (np->fdp == badfdp)
-       {
-         *npp = np->left;      /* detach the sublist from the list */
-         np->left = NULL;      /* isolate it */
-         free_tree (np);       /* free it */
-         invalidate_nodes (badfdp, npp);
-       }
-      else
-       invalidate_nodes (badfdp, &np->left);
-    }
-}
-
-\f
-static int total_size_of_entries (node *);
-static int number_len (long) ATTRIBUTE_CONST;
-
-/* Length of a non-negative number's decimal representation. */
-static int
-number_len (long int num)
-{
-  int len = 1;
-  while ((num /= 10) > 0)
-    len += 1;
-  return len;
-}
-
-/*
- * Return total number of characters that put_entries will output for
- * the nodes in the linked list at the right of the specified node.
- * This count is irrelevant with etags.el since emacs 19.34 at least,
- * but is still supplied for backward compatibility.
- */
-static int
-total_size_of_entries (register node *np)
-{
-  register int total = 0;
-
-  for (; np != NULL; np = np->right)
-    if (np->valid)
-      {
-       total += strlen (np->regex) + 1;                /* pat\177 */
-       if (np->name != NULL)
-         total += strlen (np->name) + 1;               /* name\001 */
-       total += number_len ((long) np->lno) + 1;       /* lno, */
-       if (np->cno != invalidcharno)                   /* cno */
-         total += number_len (np->cno);
-       total += 1;                                     /* newline */
-      }
-
-  return total;
-}
-
-static void
-put_entries (register node *np)
-{
-  register char *sp;
-  static fdesc *fdp = NULL;
-
-  if (np == NULL)
-    return;
-
-  /* Output subentries that precede this one */
-  if (CTAGS)
-    put_entries (np->left);
-
-  /* Output this entry */
-  if (np->valid)
-    {
-      if (!CTAGS)
-       {
-         /* Etags mode */
-         if (fdp != np->fdp)
-           {
-             fdp = np->fdp;
-             fprintf (tagf, "\f\n%s,%d\n",
-                      fdp->taggedfname, total_size_of_entries (np));
-             fdp->written = true;
-           }
-         fputs (np->regex, tagf);
-         fputc ('\177', tagf);
-         if (np->name != NULL)
-           {
-             fputs (np->name, tagf);
-             fputc ('\001', tagf);
-           }
-         fprintf (tagf, "%d,", np->lno);
-         if (np->cno != invalidcharno)
-           fprintf (tagf, "%ld", np->cno);
-         fputs ("\n", tagf);
-       }
-      else
-       {
-         /* Ctags mode */
-         if (np->name == NULL)
-           error ("internal error: NULL name in ctags mode.");
-
-         if (cxref_style)
-           {
-             if (vgrind_style)
-               fprintf (stdout, "%s %s %d\n",
-                        np->name, np->fdp->taggedfname, (np->lno + 63) / 64);
-             else
-               fprintf (stdout, "%-16s %3d %-16s %s\n",
-                        np->name, np->lno, np->fdp->taggedfname, np->regex);
-           }
-         else
-           {
-             fprintf (tagf, "%s\t%s\t", np->name, np->fdp->taggedfname);
-
-             if (np->is_func)
-               {               /* function or #define macro with args */
-                 putc (searchar, tagf);
-                 putc ('^', tagf);
-
-                 for (sp = np->regex; *sp; sp++)
-                   {
-                     if (*sp == '\\' || *sp == searchar)
-                       putc ('\\', tagf);
-                     putc (*sp, tagf);
-                   }
-                 putc (searchar, tagf);
-               }
-             else
-               {               /* anything else; text pattern inadequate */
-                 fprintf (tagf, "%d", np->lno);
-               }
-             putc ('\n', tagf);
-           }
-       }
-    } /* if this node contains a valid tag */
-
-  /* Output subentries that follow this one */
-  put_entries (np->right);
-  if (!CTAGS)
-    put_entries (np->left);
-}
-
-\f
-/* C extensions. */
-#define C_EXT  0x00fff         /* C extensions */
-#define C_PLAIN 0x00000                /* C */
-#define C_PLPL 0x00001         /* C++ */
-#define C_STAR 0x00003         /* C* */
-#define C_JAVA 0x00005         /* JAVA */
-#define C_AUTO  0x01000                /* C, but switch to C++ if `class' is met */
-#define YACC   0x10000         /* yacc file */
-
-/*
- * The C symbol tables.
- */
-enum sym_type
-{
-  st_none,
-  st_C_objprot, st_C_objimpl, st_C_objend,
-  st_C_gnumacro,
-  st_C_ignore, st_C_attribute,
-  st_C_javastruct,
-  st_C_operator,
-  st_C_class, st_C_template,
-  st_C_struct, st_C_extern, st_C_enum, st_C_define, st_C_typedef
-};
-
-/* Feed stuff between (but not including) %[ and %] lines to:
-     gperf -m 5
-%[
-%compare-strncmp
-%enum
-%struct-type
-struct C_stab_entry { char *name; int c_ext; enum sym_type type; }
-%%
-if,            0,                      st_C_ignore
-for,           0,                      st_C_ignore
-while,         0,                      st_C_ignore
-switch,                0,                      st_C_ignore
-return,                0,                      st_C_ignore
-__attribute__, 0,                      st_C_attribute
-GTY,            0,                      st_C_attribute
-@interface,    0,                      st_C_objprot
-@protocol,     0,                      st_C_objprot
-@implementation,0,                     st_C_objimpl
-@end,          0,                      st_C_objend
-import,                (C_JAVA & ~C_PLPL),     st_C_ignore
-package,       (C_JAVA & ~C_PLPL),     st_C_ignore
-friend,                C_PLPL,                 st_C_ignore
-extends,       (C_JAVA & ~C_PLPL),     st_C_javastruct
-implements,    (C_JAVA & ~C_PLPL),     st_C_javastruct
-interface,     (C_JAVA & ~C_PLPL),     st_C_struct
-class,         0,                      st_C_class
-namespace,     C_PLPL,                 st_C_struct
-domain,                C_STAR,                 st_C_struct
-union,         0,                      st_C_struct
-struct,                0,                      st_C_struct
-extern,                0,                      st_C_extern
-enum,          0,                      st_C_enum
-typedef,       0,                      st_C_typedef
-define,                0,                      st_C_define
-undef,         0,                      st_C_define
-operator,      C_PLPL,                 st_C_operator
-template,      0,                      st_C_template
-# DEFUN used in emacs, the next three used in glibc (SYSCALL only for mach).
-DEFUN,         0,                      st_C_gnumacro
-SYSCALL,       0,                      st_C_gnumacro
-ENTRY,         0,                      st_C_gnumacro
-PSEUDO,                0,                      st_C_gnumacro
-# These are defined inside C functions, so currently they are not met.
-# EXFUN used in glibc, DEFVAR_* in emacs.
-#EXFUN,                0,                      st_C_gnumacro
-#DEFVAR_,      0,                      st_C_gnumacro
-%]
-and replace lines between %< and %> with its output, then:
- - remove the #if characterset check
- - make in_word_set static and not inline. */
-/*%<*/
-/* C code produced by gperf version 3.0.1 */
-/* Command-line: gperf -m 5  */
-/* Computed positions: -k'2-3' */
-
-struct C_stab_entry { const char *name; int c_ext; enum sym_type type; };
-/* maximum key range = 33, duplicates = 0 */
-
-static int
-hash (const char *str, int len)
-{
-  static char const asso_values[] =
-    {
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35,  3,
-      26, 35, 35, 35, 35, 35, 35, 35, 27, 35,
-      35, 35, 35, 24,  0, 35, 35, 35, 35,  0,
-      35, 35, 35, 35, 35,  1, 35, 16, 35,  6,
-      23,  0,  0, 35, 22,  0, 35, 35,  5,  0,
-       0, 15,  1, 35,  6, 35,  8, 19, 35, 16,
-       4,  5, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-      35, 35, 35, 35, 35, 35
-    };
-  int hval = len;
-
-  switch (hval)
-    {
-      default:
-        hval += asso_values[(unsigned char) str[2]];
-      /*FALLTHROUGH*/
-      case 2:
-        hval += asso_values[(unsigned char) str[1]];
-        break;
-    }
-  return hval;
-}
-
-static struct C_stab_entry *
-in_word_set (register const char *str, register unsigned int len)
-{
-  enum
-    {
-      TOTAL_KEYWORDS = 33,
-      MIN_WORD_LENGTH = 2,
-      MAX_WORD_LENGTH = 15,
-      MIN_HASH_VALUE = 2,
-      MAX_HASH_VALUE = 34
-    };
-
-  static struct C_stab_entry wordlist[] =
-    {
-      {""}, {""},
-      {"if",           0,                      st_C_ignore},
-      {"GTY",           0,                      st_C_attribute},
-      {"@end",         0,                      st_C_objend},
-      {"union",                0,                      st_C_struct},
-      {"define",               0,                      st_C_define},
-      {"import",               (C_JAVA & ~C_PLPL),     st_C_ignore},
-      {"template",     0,                      st_C_template},
-      {"operator",     C_PLPL,                 st_C_operator},
-      {"@interface",   0,                      st_C_objprot},
-      {"implements",   (C_JAVA & ~C_PLPL),     st_C_javastruct},
-      {"friend",               C_PLPL,                 st_C_ignore},
-      {"typedef",      0,                      st_C_typedef},
-      {"return",               0,                      st_C_ignore},
-      {"@implementation",0,                    st_C_objimpl},
-      {"@protocol",    0,                      st_C_objprot},
-      {"interface",    (C_JAVA & ~C_PLPL),     st_C_struct},
-      {"extern",               0,                      st_C_extern},
-      {"extends",      (C_JAVA & ~C_PLPL),     st_C_javastruct},
-      {"struct",               0,                      st_C_struct},
-      {"domain",               C_STAR,                 st_C_struct},
-      {"switch",               0,                      st_C_ignore},
-      {"enum",         0,                      st_C_enum},
-      {"for",          0,                      st_C_ignore},
-      {"namespace",    C_PLPL,                 st_C_struct},
-      {"class",                0,                      st_C_class},
-      {"while",                0,                      st_C_ignore},
-      {"undef",                0,                      st_C_define},
-      {"package",      (C_JAVA & ~C_PLPL),     st_C_ignore},
-      {"__attribute__",        0,                      st_C_attribute},
-      {"SYSCALL",      0,                      st_C_gnumacro},
-      {"ENTRY",                0,                      st_C_gnumacro},
-      {"PSEUDO",               0,                      st_C_gnumacro},
-      {"DEFUN",                0,                      st_C_gnumacro}
-    };
-
-  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
-    {
-      int key = hash (str, len);
-
-      if (key <= MAX_HASH_VALUE && key >= 0)
-        {
-          const char *s = wordlist[key].name;
-
-          if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
-            return &wordlist[key];
-        }
-    }
-  return 0;
-}
-/*%>*/
-
-static enum sym_type
-C_symtype (char *str, int len, int c_ext)
-{
-  register struct C_stab_entry *se = in_word_set (str, len);
-
-  if (se == NULL || (se->c_ext && !(c_ext & se->c_ext)))
-    return st_none;
-  return se->type;
-}
-
-\f
-/*
- * Ignoring __attribute__ ((list))
- */
-static bool inattribute;       /* looking at an __attribute__ construct */
-
-/*
- * C functions and variables are recognized using a simple
- * finite automaton.  fvdef is its state variable.
- */
-static enum
-{
-  fvnone,                      /* nothing seen */
-  fdefunkey,                   /* Emacs DEFUN keyword seen */
-  fdefunname,                  /* Emacs DEFUN name seen */
-  foperator,                   /* func: operator keyword seen (cplpl) */
-  fvnameseen,                  /* function or variable name seen */
-  fstartlist,                  /* func: just after open parenthesis */
-  finlist,                     /* func: in parameter list */
-  flistseen,                   /* func: after parameter list */
-  fignore,                     /* func: before open brace */
-  vignore                      /* var-like: ignore until ';' */
-} fvdef;
-
-static bool fvextern;          /* func or var: extern keyword seen; */
-
-/*
- * typedefs are recognized using a simple finite automaton.
- * typdef is its state variable.
- */
-static enum
-{
-  tnone,                       /* nothing seen */
-  tkeyseen,                    /* typedef keyword seen */
-  ttypeseen,                   /* defined type seen */
-  tinbody,                     /* inside typedef body */
-  tend,                                /* just before typedef tag */
-  tignore                      /* junk after typedef tag */
-} typdef;
-
-/*
- * struct-like structures (enum, struct and union) are recognized
- * using another simple finite automaton.  `structdef' is its state
- * variable.
- */
-static enum
-{
-  snone,                       /* nothing seen yet,
-                                  or in struct body if bracelev > 0 */
-  skeyseen,                    /* struct-like keyword seen */
-  stagseen,                    /* struct-like tag seen */
-  scolonseen                   /* colon seen after struct-like tag */
-} structdef;
-
-/*
- * When objdef is different from onone, objtag is the name of the class.
- */
-static const char *objtag = "<uninited>";
-
-/*
- * Yet another little state machine to deal with preprocessor lines.
- */
-static enum
-{
-  dnone,                       /* nothing seen */
-  dsharpseen,                  /* '#' seen as first char on line */
-  ddefineseen,                 /* '#' and 'define' seen */
-  dignorerest                  /* ignore rest of line */
-} definedef;
-
-/*
- * State machine for Objective C protocols and implementations.
- * Idea by Tom R.Hageman <tom@basil.icce.rug.nl> (1995)
- */
-static enum
-{
-  onone,                       /* nothing seen */
-  oprotocol,                   /* @interface or @protocol seen */
-  oimplementation,             /* @implementations seen */
-  otagseen,                    /* class name seen */
-  oparenseen,                  /* parenthesis before category seen */
-  ocatseen,                    /* category name seen */
-  oinbody,                     /* in @implementation body */
-  omethodsign,                 /* in @implementation body, after +/- */
-  omethodtag,                  /* after method name */
-  omethodcolon,                        /* after method colon */
-  omethodparm,                 /* after method parameter */
-  oignore                      /* wait for @end */
-} objdef;
-
-
-/*
- * Use this structure to keep info about the token read, and how it
- * should be tagged.  Used by the make_C_tag function to build a tag.
- */
-static struct tok
-{
-  char *line;                  /* string containing the token */
-  int offset;                  /* where the token starts in LINE */
-  int length;                  /* token length */
-  /*
-    The previous members can be used to pass strings around for generic
-    purposes.  The following ones specifically refer to creating tags.  In this
-    case the token contained here is the pattern that will be used to create a
-    tag.
-  */
-  bool valid;                  /* do not create a tag; the token should be
-                                  invalidated whenever a state machine is
-                                  reset prematurely */
-  bool named;                  /* create a named tag */
-  int lineno;                  /* source line number of tag */
-  long linepos;                        /* source char number of tag */
-} token;                       /* latest token read */
-
-/*
- * Variables and functions for dealing with nested structures.
- * Idea by Mykola Dzyuba <mdzyuba@yahoo.com> (2001)
- */
-static void pushclass_above (int, char *, int);
-static void popclass_above (int);
-static void write_classname (linebuffer *, const char *qualifier);
-
-static struct {
-  char **cname;                        /* nested class names */
-  int *bracelev;               /* nested class brace level */
-  int nl;                      /* class nesting level (elements used) */
-  int size;                    /* length of the array */
-} cstack;                      /* stack for nested declaration tags */
-/* Current struct nesting depth (namespace, class, struct, union, enum). */
-#define nestlev                (cstack.nl)
-/* After struct keyword or in struct body, not inside a nested function. */
-#define instruct       (structdef == snone && nestlev > 0                      \
-                        && bracelev == cstack.bracelev[nestlev-1] + 1)
-
-static void
-pushclass_above (int bracelev, char *str, int len)
-{
-  int nl;
-
-  popclass_above (bracelev);
-  nl = cstack.nl;
-  if (nl >= cstack.size)
-    {
-      int size = cstack.size *= 2;
-      xrnew (cstack.cname, size, char *);
-      xrnew (cstack.bracelev, size, int);
-    }
-  assert (nl == 0 || cstack.bracelev[nl-1] < bracelev);
-  cstack.cname[nl] = (str == NULL) ? NULL : savenstr (str, len);
-  cstack.bracelev[nl] = bracelev;
-  cstack.nl = nl + 1;
-}
-
-static void
-popclass_above (int bracelev)
-{
-  int nl;
-
-  for (nl = cstack.nl - 1;
-       nl >= 0 && cstack.bracelev[nl] >= bracelev;
-       nl--)
-    {
-      free (cstack.cname[nl]);
-      cstack.nl = nl;
-    }
-}
-
-static void
-write_classname (linebuffer *cn, const char *qualifier)
-{
-  int i, len;
-  int qlen = strlen (qualifier);
-
-  if (cstack.nl == 0 || cstack.cname[0] == NULL)
-    {
-      len = 0;
-      cn->len = 0;
-      cn->buffer[0] = '\0';
-    }
-  else
-    {
-      len = strlen (cstack.cname[0]);
-      linebuffer_setlen (cn, len);
-      strcpy (cn->buffer, cstack.cname[0]);
-    }
-  for (i = 1; i < cstack.nl; i++)
-    {
-      char *s = cstack.cname[i];
-      if (s == NULL)
-       continue;
-      linebuffer_setlen (cn, len + qlen + strlen (s));
-      len += sprintf (cn->buffer + len, "%s%s", qualifier, s);
-    }
-}
-
-\f
-static bool consider_token (char *, int, int, int *, int, int, bool *);
-static void make_C_tag (bool);
-
-/*
- * consider_token ()
- *     checks to see if the current token is at the start of a
- *     function or variable, or corresponds to a typedef, or
- *     is a struct/union/enum tag, or #define, or an enum constant.
- *
- *     *IS_FUNC_OR_VAR gets true if the token is a function or #define macro
- *     with args.  C_EXTP points to which language we are looking at.
- *
- * Globals
- *     fvdef                   IN OUT
- *     structdef               IN OUT
- *     definedef               IN OUT
- *     typdef                  IN OUT
- *     objdef                  IN OUT
- */
-
-static bool
-consider_token (char *str, int len, int c, int *c_extp,
-               int bracelev, int parlev, bool *is_func_or_var)
-                               /* IN: token pointer */
-                               /* IN: token length */
-                               /* IN: first char after the token */
-                               /* IN, OUT: C extensions mask */
-                               /* IN: brace level */
-                               /* IN: parenthesis level */
-                               /* OUT: function or variable found */
-{
-  /* When structdef is stagseen, scolonseen, or snone with bracelev > 0,
-     structtype is the type of the preceding struct-like keyword, and
-     structbracelev is the brace level where it has been seen. */
-  static enum sym_type structtype;
-  static int structbracelev;
-  static enum sym_type toktype;
-
-
-  toktype = C_symtype (str, len, *c_extp);
-
-  /*
-   * Skip __attribute__
-   */
-  if (toktype == st_C_attribute)
-    {
-      inattribute = true;
-      return false;
-     }
-
-   /*
-    * Advance the definedef state machine.
-    */
-   switch (definedef)
-     {
-     case dnone:
-       /* We're not on a preprocessor line. */
-       if (toktype == st_C_gnumacro)
-        {
-          fvdef = fdefunkey;
-          return false;
-        }
-       break;
-     case dsharpseen:
-       if (toktype == st_C_define)
-        {
-          definedef = ddefineseen;
-        }
-       else
-        {
-          definedef = dignorerest;
-        }
-       return false;
-     case ddefineseen:
-       /*
-       * Make a tag for any macro, unless it is a constant
-       * and constantypedefs is false.
-       */
-       definedef = dignorerest;
-       *is_func_or_var = (c == '(');
-       if (!*is_func_or_var && !constantypedefs)
-        return false;
-       else
-        return true;
-     case dignorerest:
-       return false;
-     default:
-       error ("internal error: definedef value.");
-     }
-
-   /*
-    * Now typedefs
-    */
-   switch (typdef)
-     {
-     case tnone:
-       if (toktype == st_C_typedef)
-        {
-          if (typedefs)
-            typdef = tkeyseen;
-          fvextern = false;
-          fvdef = fvnone;
-          return false;
-        }
-       break;
-     case tkeyseen:
-       switch (toktype)
-        {
-        case st_none:
-        case st_C_class:
-        case st_C_struct:
-        case st_C_enum:
-          typdef = ttypeseen;
-        }
-       break;
-     case ttypeseen:
-       if (structdef == snone && fvdef == fvnone)
-        {
-          fvdef = fvnameseen;
-          return true;
-        }
-       break;
-     case tend:
-       switch (toktype)
-        {
-        case st_C_class:
-        case st_C_struct:
-        case st_C_enum:
-          return false;
-        }
-       return true;
-     }
-
-   switch (toktype)
-     {
-     case st_C_javastruct:
-       if (structdef == stagseen)
-        structdef = scolonseen;
-       return false;
-     case st_C_template:
-     case st_C_class:
-       if ((*c_extp & C_AUTO)  /* automatic detection of C++ language */
-          && bracelev == 0
-          && definedef == dnone && structdef == snone
-          && typdef == tnone && fvdef == fvnone)
-        *c_extp = (*c_extp | C_PLPL) & ~C_AUTO;
-       if (toktype == st_C_template)
-        break;
-       /* FALLTHRU */
-     case st_C_struct:
-     case st_C_enum:
-       if (parlev == 0
-          && fvdef != vignore
-          && (typdef == tkeyseen
-              || (typedefs_or_cplusplus && structdef == snone)))
-        {
-          structdef = skeyseen;
-          structtype = toktype;
-          structbracelev = bracelev;
-          if (fvdef == fvnameseen)
-            fvdef = fvnone;
-        }
-       return false;
-     }
-
-   if (structdef == skeyseen)
-     {
-       structdef = stagseen;
-       return true;
-     }
-
-   if (typdef != tnone)
-     definedef = dnone;
-
-   /* Detect Objective C constructs. */
-   switch (objdef)
-     {
-     case onone:
-       switch (toktype)
-        {
-        case st_C_objprot:
-          objdef = oprotocol;
-          return false;
-        case st_C_objimpl:
-          objdef = oimplementation;
-          return false;
-        }
-       break;
-     case oimplementation:
-       /* Save the class tag for functions or variables defined inside. */
-       objtag = savenstr (str, len);
-       objdef = oinbody;
-       return false;
-     case oprotocol:
-       /* Save the class tag for categories. */
-       objtag = savenstr (str, len);
-       objdef = otagseen;
-       *is_func_or_var = true;
-       return true;
-     case oparenseen:
-       objdef = ocatseen;
-       *is_func_or_var = true;
-       return true;
-     case oinbody:
-       break;
-     case omethodsign:
-       if (parlev == 0)
-        {
-          fvdef = fvnone;
-          objdef = omethodtag;
-          linebuffer_setlen (&token_name, len);
-          memcpy (token_name.buffer, str, len);
-          token_name.buffer[len] = '\0';
-          return true;
-        }
-       return false;
-     case omethodcolon:
-       if (parlev == 0)
-        objdef = omethodparm;
-       return false;
-     case omethodparm:
-       if (parlev == 0)
-        {
-          int oldlen = token_name.len;
-          fvdef = fvnone;
-          objdef = omethodtag;
-          linebuffer_setlen (&token_name, oldlen + len);
-          memcpy (token_name.buffer + oldlen, str, len);
-          token_name.buffer[oldlen + len] = '\0';
-          return true;
-        }
-       return false;
-     case oignore:
-       if (toktype == st_C_objend)
-        {
-          /* Memory leakage here: the string pointed by objtag is
-             never released, because many tests would be needed to
-             avoid breaking on incorrect input code.  The amount of
-             memory leaked here is the sum of the lengths of the
-             class tags.
-          free (objtag); */
-          objdef = onone;
-        }
-       return false;
-     }
-
-   /* A function, variable or enum constant? */
-   switch (toktype)
-     {
-     case st_C_extern:
-       fvextern = true;
-       switch  (fvdef)
-        {
-        case finlist:
-        case flistseen:
-        case fignore:
-        case vignore:
-          break;
-        default:
-          fvdef = fvnone;
-        }
-       return false;
-     case st_C_ignore:
-       fvextern = false;
-       fvdef = vignore;
-       return false;
-     case st_C_operator:
-       fvdef = foperator;
-       *is_func_or_var = true;
-       return true;
-     case st_none:
-       if (constantypedefs
-          && structdef == snone
-          && structtype == st_C_enum && bracelev > structbracelev
-          /* Don't tag tokens in expressions that assign values to enum
-             constants.  */
-          && fvdef != vignore)
-        return true;           /* enum constant */
-       switch (fvdef)
-        {
-        case fdefunkey:
-          if (bracelev > 0)
-            break;
-          fvdef = fdefunname;  /* GNU macro */
-          *is_func_or_var = true;
-          return true;
-        case fvnone:
-          switch (typdef)
-            {
-            case ttypeseen:
-              return false;
-            case tnone:
-              if ((strneq (str, "asm", 3) && endtoken (str[3]))
-                  || (strneq (str, "__asm__", 7) && endtoken (str[7])))
-                {
-                  fvdef = vignore;
-                  return false;
-                }
-              break;
-            }
-         /* FALLTHRU */
-         case fvnameseen:
-         if (len >= 10 && strneq (str+len-10, "::operator", 10))
-           {
-             if (*c_extp & C_AUTO) /* automatic detection of C++ */
-               *c_extp = (*c_extp | C_PLPL) & ~C_AUTO;
-             fvdef = foperator;
-             *is_func_or_var = true;
-             return true;
-           }
-         if (bracelev > 0 && !instruct)
-           break;
-         fvdef = fvnameseen;   /* function or variable */
-         *is_func_or_var = true;
-         return true;
-       }
-      break;
-    }
-
-  return false;
-}
-
-\f
-/*
- * C_entries often keeps pointers to tokens or lines which are older than
- * the line currently read.  By keeping two line buffers, and switching
- * them at end of line, it is possible to use those pointers.
- */
-static struct
-{
-  long linepos;
-  linebuffer lb;
-} lbs[2];
-
-#define current_lb_is_new (newndx == curndx)
-#define switch_line_buffers() (curndx = 1 - curndx)
-
-#define curlb (lbs[curndx].lb)
-#define newlb (lbs[newndx].lb)
-#define curlinepos (lbs[curndx].linepos)
-#define newlinepos (lbs[newndx].linepos)
-
-#define plainc ((c_ext & C_EXT) == C_PLAIN)
-#define cplpl (c_ext & C_PLPL)
-#define cjava ((c_ext & C_JAVA) == C_JAVA)
-
-#define CNL_SAVE_DEFINEDEF()                                           \
-do {                                                                   \
-  curlinepos = charno;                                                 \
-  readline (&curlb, inf);                                              \
-  lp = curlb.buffer;                                                   \
-  quotednl = false;                                                    \
-  newndx = curndx;                                                     \
-} while (0)
-
-#define CNL()                                                          \
-do {                                                                   \
-  CNL_SAVE_DEFINEDEF();                                                        \
-  if (savetoken.valid)                                                 \
-    {                                                                  \
-      token = savetoken;                                               \
-      savetoken.valid = false;                                         \
-    }                                                                  \
-  definedef = dnone;                                                   \
-} while (0)
-
-
-static void
-make_C_tag (bool isfun)
-{
-  /* This function is never called when token.valid is false, but
-     we must protect against invalid input or internal errors. */
-  if (token.valid)
-    make_tag (token_name.buffer, token_name.len, isfun, token.line,
-             token.offset+token.length+1, token.lineno, token.linepos);
-  else if (DEBUG)
-    {                            /* this branch is optimized away if !DEBUG */
-      make_tag (concat ("INVALID TOKEN:-->", token_name.buffer, ""),
-               token_name.len + 17, isfun, token.line,
-               token.offset+token.length+1, token.lineno, token.linepos);
-      error ("INVALID TOKEN");
-    }
-
-  token.valid = false;
-}
-
-
-/*
- * C_entries ()
- *     This routine finds functions, variables, typedefs,
- *     #define's, enum constants and struct/union/enum definitions in
- *     C syntax and adds them to the list.
- */
-static void
-C_entries (int c_ext, FILE *inf)
-                                       /* extension of C */
-                                       /* input file */
-{
-  register char c;             /* latest char read; '\0' for end of line */
-  register char *lp;           /* pointer one beyond the character `c' */
-  int curndx, newndx;          /* indices for current and new lb */
-  register int tokoff;         /* offset in line of start of current token */
-  register int toklen;         /* length of current token */
-  const char *qualifier;        /* string used to qualify names */
-  int qlen;                    /* length of qualifier */
-  int bracelev;                        /* current brace level */
-  int bracketlev;              /* current bracket level */
-  int parlev;                  /* current parenthesis level */
-  int attrparlev;              /* __attribute__ parenthesis level */
-  int templatelev;             /* current template level */
-  int typdefbracelev;          /* bracelev where a typedef struct body begun */
-  bool incomm, inquote, inchar, quotednl, midtoken;
-  bool yacc_rules;             /* in the rules part of a yacc file */
-  struct tok savetoken = {0};  /* token saved during preprocessor handling */
-
-
-  linebuffer_init (&lbs[0].lb);
-  linebuffer_init (&lbs[1].lb);
-  if (cstack.size == 0)
-    {
-      cstack.size = (DEBUG) ? 1 : 4;
-      cstack.nl = 0;
-      cstack.cname = xnew (cstack.size, char *);
-      cstack.bracelev = xnew (cstack.size, int);
-    }
-
-  tokoff = toklen = typdefbracelev = 0; /* keep compiler quiet */
-  curndx = newndx = 0;
-  lp = curlb.buffer;
-  *lp = 0;
-
-  fvdef = fvnone; fvextern = false; typdef = tnone;
-  structdef = snone; definedef = dnone; objdef = onone;
-  yacc_rules = false;
-  midtoken = inquote = inchar = incomm = quotednl = false;
-  token.valid = savetoken.valid = false;
-  bracelev = bracketlev = parlev = attrparlev = templatelev = 0;
-  if (cjava)
-    { qualifier = "."; qlen = 1; }
-  else
-    { qualifier = "::"; qlen = 2; }
-
-
-  while (!feof (inf))
-    {
-      c = *lp++;
-      if (c == '\\')
-       {
-         /* If we are at the end of the line, the next character is a
-            '\0'; do not skip it, because it is what tells us
-            to read the next line.  */
-         if (*lp == '\0')
-           {
-             quotednl = true;
-             continue;
-           }
-         lp++;
-         c = ' ';
-       }
-      else if (incomm)
-       {
-         switch (c)
-           {
-           case '*':
-             if (*lp == '/')
-               {
-                 c = *lp++;
-                 incomm = false;
-               }
-             break;
-           case '\0':
-             /* Newlines inside comments do not end macro definitions in
-                traditional cpp. */
-             CNL_SAVE_DEFINEDEF ();
-             break;
-           }
-         continue;
-       }
-      else if (inquote)
-       {
-         switch (c)
-           {
-           case '"':
-             inquote = false;
-             break;
-           case '\0':
-             /* Newlines inside strings do not end macro definitions
-                in traditional cpp, even though compilers don't
-                usually accept them. */
-             CNL_SAVE_DEFINEDEF ();
-             break;
-           }
-         continue;
-       }
-      else if (inchar)
-       {
-         switch (c)
-           {
-           case '\0':
-             /* Hmmm, something went wrong. */
-             CNL ();
-             /* FALLTHRU */
-           case '\'':
-             inchar = false;
-             break;
-           }
-         continue;
-       }
-      else switch (c)
-       {
-       case '"':
-         inquote = true;
-         if (bracketlev > 0)
-           continue;
-         if (inattribute)
-           break;
-         switch (fvdef)
-           {
-           case fdefunkey:
-           case fstartlist:
-           case finlist:
-           case fignore:
-           case vignore:
-             break;
-           default:
-             fvextern = false;
-             fvdef = fvnone;
-           }
-         continue;
-       case '\'':
-         inchar = true;
-         if (bracketlev > 0)
-           continue;
-         if (inattribute)
-           break;
-         if (fvdef != finlist && fvdef != fignore && fvdef != vignore)
-           {
-             fvextern = false;
-             fvdef = fvnone;
-           }
-         continue;
-       case '/':
-         if (*lp == '*')
-           {
-             incomm = true;
-             lp++;
-             c = ' ';
-             if (bracketlev > 0)
-               continue;
-           }
-         else if (/* cplpl && */ *lp == '/')
-           {
-             c = '\0';
-           }
-         break;
-       case '%':
-         if ((c_ext & YACC) && *lp == '%')
-           {
-             /* Entering or exiting rules section in yacc file. */
-             lp++;
-             definedef = dnone; fvdef = fvnone; fvextern = false;
-             typdef = tnone; structdef = snone;
-             midtoken = inquote = inchar = incomm = quotednl = false;
-             bracelev = 0;
-             yacc_rules = !yacc_rules;
-             continue;
-           }
-         else
-           break;
-       case '#':
-         if (definedef == dnone)
-           {
-             char *cp;
-             bool cpptoken = true;
-
-             /* Look back on this line.  If all blanks, or nonblanks
-                followed by an end of comment, this is a preprocessor
-                token. */
-             for (cp = newlb.buffer; cp < lp-1; cp++)
-               if (!iswhite (*cp))
-                 {
-                   if (*cp == '*' && cp[1] == '/')
-                     {
-                       cp++;
-                       cpptoken = true;
-                     }
-                   else
-                     cpptoken = false;
-                 }
-             if (cpptoken)
-               {
-                 definedef = dsharpseen;
-                 /* This is needed for tagging enum values: when there are
-                    preprocessor conditionals inside the enum, we need to
-                    reset the value of fvdef so that the next enum value is
-                    tagged even though the one before it did not end in a
-                    comma.  */
-                 if (fvdef == vignore && instruct && parlev == 0)
-                   {
-                     if (strneq (cp, "#if", 3) || strneq (cp, "#el", 3))
-                       fvdef = fvnone;
-                   }
-               }
-           } /* if (definedef == dnone) */
-         continue;
-       case '[':
-         bracketlev++;
-         continue;
-       default:
-         if (bracketlev > 0)
-           {
-             if (c == ']')
-               --bracketlev;
-             else if (c == '\0')
-               CNL_SAVE_DEFINEDEF ();
-             continue;
-           }
-         break;
-       } /* switch (c) */
-
-
-      /* Consider token only if some involved conditions are satisfied. */
-      if (typdef != tignore
-         && definedef != dignorerest
-         && fvdef != finlist
-         && templatelev == 0
-         && (definedef != dnone
-             || structdef != scolonseen)
-         && !inattribute)
-       {
-         if (midtoken)
-           {
-             if (endtoken (c))
-               {
-                 if (c == ':' && *lp == ':' && begtoken (lp[1]))
-                   /* This handles :: in the middle,
-                      but not at the beginning of an identifier.
-                      Also, space-separated :: is not recognized. */
-                   {
-                     if (c_ext & C_AUTO) /* automatic detection of C++ */
-                       c_ext = (c_ext | C_PLPL) & ~C_AUTO;
-                     lp += 2;
-                     toklen += 2;
-                     c = lp[-1];
-                     goto still_in_token;
-                   }
-                 else
-                   {
-                     bool funorvar = false;
-
-                     if (yacc_rules
-                         || consider_token (newlb.buffer + tokoff, toklen, c,
-                                            &c_ext, bracelev, parlev,
-                                            &funorvar))
-                       {
-                         if (fvdef == foperator)
-                           {
-                             char *oldlp = lp;
-                             lp = skip_spaces (lp-1);
-                             if (*lp != '\0')
-                               lp += 1;
-                             while (*lp != '\0'
-                                    && !iswhite (*lp) && *lp != '(')
-                               lp += 1;
-                             c = *lp++;
-                             toklen += lp - oldlp;
-                           }
-                         token.named = false;
-                         if (!plainc
-                             && nestlev > 0 && definedef == dnone)
-                           /* in struct body */
-                           {
-                             int len;
-                              write_classname (&token_name, qualifier);
-                             len = token_name.len;
-                             linebuffer_setlen (&token_name, len+qlen+toklen);
-                             sprintf (token_name.buffer + len, "%s%.*s",
-                                      qualifier, toklen, newlb.buffer + tokoff);
-                             token.named = true;
-                           }
-                         else if (objdef == ocatseen)
-                           /* Objective C category */
-                           {
-                             int len = strlen (objtag) + 2 + toklen;
-                             linebuffer_setlen (&token_name, len);
-                             sprintf (token_name.buffer, "%s(%.*s)",
-                                      objtag, toklen, newlb.buffer + tokoff);
-                             token.named = true;
-                           }
-                         else if (objdef == omethodtag
-                                  || objdef == omethodparm)
-                           /* Objective C method */
-                           {
-                             token.named = true;
-                           }
-                         else if (fvdef == fdefunname)
-                           /* GNU DEFUN and similar macros */
-                           {
-                             bool defun = (newlb.buffer[tokoff] == 'F');
-                             int off = tokoff;
-                             int len = toklen;
-
-                             /* Rewrite the tag so that emacs lisp DEFUNs
-                                can be found by their elisp name */
-                             if (defun)
-                               {
-                                 off += 1;
-                                 len -= 1;
-                               }
-                             linebuffer_setlen (&token_name, len);
-                             memcpy (token_name.buffer,
-                                     newlb.buffer + off, len);
-                             token_name.buffer[len] = '\0';
-                             if (defun)
-                               while (--len >= 0)
-                                 if (token_name.buffer[len] == '_')
-                                   token_name.buffer[len] = '-';
-                             token.named = defun;
-                           }
-                         else
-                           {
-                             linebuffer_setlen (&token_name, toklen);
-                             memcpy (token_name.buffer,
-                                     newlb.buffer + tokoff, toklen);
-                             token_name.buffer[toklen] = '\0';
-                             /* Name macros and members. */
-                             token.named = (structdef == stagseen
-                                            || typdef == ttypeseen
-                                            || typdef == tend
-                                            || (funorvar
-                                                && definedef == dignorerest)
-                                            || (funorvar
-                                                && definedef == dnone
-                                                && structdef == snone
-                                                && bracelev > 0));
-                           }
-                         token.lineno = lineno;
-                         token.offset = tokoff;
-                         token.length = toklen;
-                         token.line = newlb.buffer;
-                         token.linepos = newlinepos;
-                         token.valid = true;
-
-                         if (definedef == dnone
-                             && (fvdef == fvnameseen
-                                 || fvdef == foperator
-                                 || structdef == stagseen
-                                 || typdef == tend
-                                 || typdef == ttypeseen
-                                 || objdef != onone))
-                           {
-                             if (current_lb_is_new)
-                               switch_line_buffers ();
-                           }
-                         else if (definedef != dnone
-                                  || fvdef == fdefunname
-                                  || instruct)
-                           make_C_tag (funorvar);
-                       }
-                     else /* not yacc and consider_token failed */
-                       {
-                         if (inattribute && fvdef == fignore)
-                           {
-                             /* We have just met __attribute__ after a
-                                function parameter list: do not tag the
-                                function again. */
-                             fvdef = fvnone;
-                           }
-                       }
-                     midtoken = false;
-                   }
-               } /* if (endtoken (c)) */
-             else if (intoken (c))
-               still_in_token:
-               {
-                 toklen++;
-                 continue;
-               }
-           } /* if (midtoken) */
-         else if (begtoken (c))
-           {
-             switch (definedef)
-               {
-               case dnone:
-                 switch (fvdef)
-                   {
-                   case fstartlist:
-                     /* This prevents tagging fb in
-                        void (__attribute__((noreturn)) *fb) (void);
-                        Fixing this is not easy and not very important. */
-                     fvdef = finlist;
-                     continue;
-                   case flistseen:
-                     if (plainc || declarations)
-                       {
-                         make_C_tag (true); /* a function */
-                         fvdef = fignore;
-                       }
-                     break;
-                   }
-                 if (structdef == stagseen && !cjava)
-                   {
-                     popclass_above (bracelev);
-                     structdef = snone;
-                   }
-                 break;
-               case dsharpseen:
-                 savetoken = token;
-                 break;
-               }
-             if (!yacc_rules || lp == newlb.buffer + 1)
-               {
-                 tokoff = lp - 1 - newlb.buffer;
-                 toklen = 1;
-                 midtoken = true;
-               }
-             continue;
-           } /* if (begtoken) */
-       } /* if must look at token */
-
-
-      /* Detect end of line, colon, comma, semicolon and various braces
-        after having handled a token.*/
-      switch (c)
-       {
-       case ':':
-         if (inattribute)
-           break;
-         if (yacc_rules && token.offset == 0 && token.valid)
-           {
-             make_C_tag (false); /* a yacc function */
-             break;
-           }
-         if (definedef != dnone)
-           break;
-         switch (objdef)
-           {
-           case  otagseen:
-             objdef = oignore;
-             make_C_tag (true); /* an Objective C class */
-             break;
-           case omethodtag:
-           case omethodparm:
-             objdef = omethodcolon;
-             int toklen = token_name.len;
-             linebuffer_setlen (&token_name, toklen + 1);
-             strcpy (token_name.buffer + toklen, ":");
-             break;
-           }
-         if (structdef == stagseen)
-           {
-             structdef = scolonseen;
-             break;
-           }
-         /* Should be useless, but may be work as a safety net. */
-         if (cplpl && fvdef == flistseen)
-           {
-             make_C_tag (true); /* a function */
-             fvdef = fignore;
-             break;
-           }
-         break;
-       case ';':
-         if (definedef != dnone || inattribute)
-           break;
-         switch (typdef)
-           {
-           case tend:
-           case ttypeseen:
-             make_C_tag (false); /* a typedef */
-             typdef = tnone;
-             fvdef = fvnone;
-             break;
-           case tnone:
-           case tinbody:
-           case tignore:
-             switch (fvdef)
-               {
-               case fignore:
-                 if (typdef == tignore || cplpl)
-                   fvdef = fvnone;
-                 break;
-               case fvnameseen:
-                 if ((globals && bracelev == 0 && (!fvextern || declarations))
-                     || (members && instruct))
-                   make_C_tag (false); /* a variable */
-                 fvextern = false;
-                 fvdef = fvnone;
-                 token.valid = false;
-                 break;
-               case flistseen:
-                 if ((declarations
-                      && (cplpl || !instruct)
-                      && (typdef == tnone || (typdef != tignore && instruct)))
-                     || (members
-                         && plainc && instruct))
-                   make_C_tag (true);  /* a function */
-                 /* FALLTHRU */
-               default:
-                 fvextern = false;
-                 fvdef = fvnone;
-                 if (declarations
-                      && cplpl && structdef == stagseen)
-                   make_C_tag (false); /* forward declaration */
-                 else
-                   token.valid = false;
-               } /* switch (fvdef) */
-             /* FALLTHRU */
-           default:
-             if (!instruct)
-               typdef = tnone;
-           }
-         if (structdef == stagseen)
-           structdef = snone;
-         break;
-       case ',':
-         if (definedef != dnone || inattribute)
-           break;
-         switch (objdef)
-           {
-           case omethodtag:
-           case omethodparm:
-             make_C_tag (true); /* an Objective C method */
-             objdef = oinbody;
-             break;
-           }
-         switch (fvdef)
-           {
-           case fdefunkey:
-           case foperator:
-           case fstartlist:
-           case finlist:
-           case fignore:
-             break;
-           case vignore:
-             if (instruct && parlev == 0)
-               fvdef = fvnone;
-             break;
-           case fdefunname:
-             fvdef = fignore;
-             break;
-           case fvnameseen:
-             if (parlev == 0
-                 && ((globals
-                      && bracelev == 0
-                      && templatelev == 0
-                      && (!fvextern || declarations))
-                     || (members && instruct)))
-                 make_C_tag (false); /* a variable */
-             break;
-           case flistseen:
-             if ((declarations && typdef == tnone && !instruct)
-                 || (members && typdef != tignore && instruct))
-               {
-                 make_C_tag (true); /* a function */
-                 fvdef = fvnameseen;
-               }
-             else if (!declarations)
-               fvdef = fvnone;
-             token.valid = false;
-             break;
-           default:
-             fvdef = fvnone;
-           }
-         if (structdef == stagseen)
-           structdef = snone;
-         break;
-       case ']':
-         if (definedef != dnone || inattribute)
-           break;
-         if (structdef == stagseen)
-           structdef = snone;
-         switch (typdef)
-           {
-           case ttypeseen:
-           case tend:
-             typdef = tignore;
-             make_C_tag (false);       /* a typedef */
-             break;
-           case tnone:
-           case tinbody:
-             switch (fvdef)
-               {
-               case foperator:
-               case finlist:
-               case fignore:
-               case vignore:
-                 break;
-               case fvnameseen:
-                 if ((members && bracelev == 1)
-                     || (globals && bracelev == 0
-                         && (!fvextern || declarations)))
-                   make_C_tag (false); /* a variable */
-                 /* FALLTHRU */
-               default:
-                 fvdef = fvnone;
-               }
-             break;
-           }
-         break;
-       case '(':
-         if (inattribute)
-           {
-             attrparlev++;
-             break;
-           }
-         if (definedef != dnone)
-           break;
-         if (objdef == otagseen && parlev == 0)
-           objdef = oparenseen;
-         switch (fvdef)
-           {
-           case fvnameseen:
-             if (typdef == ttypeseen
-                 && *lp != '*'
-                 && !instruct)
-               {
-                 /* This handles constructs like:
-                    typedef void OperatorFun (int fun); */
-                 make_C_tag (false);
-                 typdef = tignore;
-                 fvdef = fignore;
-                 break;
-               }
-             /* FALLTHRU */
-           case foperator:
-             fvdef = fstartlist;
-             break;
-           case flistseen:
-             fvdef = finlist;
-             break;
-           }
-         parlev++;
-         break;
-       case ')':
-         if (inattribute)
-           {
-             if (--attrparlev == 0)
-               inattribute = false;
-             break;
-           }
-         if (definedef != dnone)
-           break;
-         if (objdef == ocatseen && parlev == 1)
-           {
-             make_C_tag (true); /* an Objective C category */
-             objdef = oignore;
-           }
-         if (--parlev == 0)
-           {
-             switch (fvdef)
-               {
-               case fstartlist:
-               case finlist:
-                 fvdef = flistseen;
-                 break;
-               }
-             if (!instruct
-                 && (typdef == tend
-                     || typdef == ttypeseen))
-               {
-                 typdef = tignore;
-                 make_C_tag (false); /* a typedef */
-               }
-           }
-         else if (parlev < 0)  /* can happen due to ill-conceived #if's. */
-           parlev = 0;
-         break;
-       case '{':
-         if (definedef != dnone)
-           break;
-         if (typdef == ttypeseen)
-           {
-             /* Whenever typdef is set to tinbody (currently only
-                here), typdefbracelev should be set to bracelev. */
-             typdef = tinbody;
-             typdefbracelev = bracelev;
-           }
-         switch (fvdef)
-           {
-           case flistseen:
-             make_C_tag (true);    /* a function */
-             /* FALLTHRU */
-           case fignore:
-             fvdef = fvnone;
-             break;
-           case fvnone:
-             switch (objdef)
-               {
-               case otagseen:
-                 make_C_tag (true); /* an Objective C class */
-                 objdef = oignore;
-                 break;
-               case omethodtag:
-               case omethodparm:
-                 make_C_tag (true); /* an Objective C method */
-                 objdef = oinbody;
-                 break;
-               default:
-                 /* Neutralize `extern "C" {' grot. */
-                 if (bracelev == 0 && structdef == snone && nestlev == 0
-                     && typdef == tnone)
-                   bracelev = -1;
-               }
-             break;
-           }
-         switch (structdef)
-           {
-           case skeyseen:         /* unnamed struct */
-             pushclass_above (bracelev, NULL, 0);
-             structdef = snone;
-             break;
-           case stagseen:         /* named struct or enum */
-           case scolonseen:       /* a class */
-             pushclass_above (bracelev,token.line+token.offset, token.length);
-             structdef = snone;
-             make_C_tag (false);  /* a struct or enum */
-             break;
-           }
-         bracelev += 1;
-         break;
-       case '*':
-         if (definedef != dnone)
-           break;
-         if (fvdef == fstartlist)
-           {
-             fvdef = fvnone;   /* avoid tagging `foo' in `foo (*bar()) ()' */
-             token.valid = false;
-           }
-         break;
-       case '}':
-         if (definedef != dnone)
-           break;
-         bracelev -= 1;
-         if (!ignoreindent && lp == newlb.buffer + 1)
-           {
-             if (bracelev != 0)
-               token.valid = false; /* unexpected value, token unreliable */
-             bracelev = 0;     /* reset brace level if first column */
-             parlev = 0;       /* also reset paren level, just in case... */
-           }
-         else if (bracelev < 0)
-           {
-             token.valid = false; /* something gone amiss, token unreliable */
-             bracelev = 0;
-           }
-         if (bracelev == 0 && fvdef == vignore)
-           fvdef = fvnone;             /* end of function */
-         popclass_above (bracelev);
-         structdef = snone;
-         /* Only if typdef == tinbody is typdefbracelev significant. */
-         if (typdef == tinbody && bracelev <= typdefbracelev)
-           {
-             assert (bracelev == typdefbracelev);
-             typdef = tend;
-           }
-         break;
-       case '=':
-         if (definedef != dnone)
-           break;
-         switch (fvdef)
-           {
-           case foperator:
-           case finlist:
-           case fignore:
-           case vignore:
-             break;
-           case fvnameseen:
-             if ((members && bracelev == 1)
-                 || (globals && bracelev == 0 && (!fvextern || declarations)))
-               make_C_tag (false); /* a variable */
-             /* FALLTHRU */
-           default:
-             fvdef = vignore;
-           }
-         break;
-       case '<':
-         if (cplpl
-             && (structdef == stagseen || fvdef == fvnameseen))
-           {
-             templatelev++;
-             break;
-           }
-         goto resetfvdef;
-       case '>':
-         if (templatelev > 0)
-           {
-             templatelev--;
-             break;
-           }
-         goto resetfvdef;
-       case '+':
-       case '-':
-         if (objdef == oinbody && bracelev == 0)
-           {
-             objdef = omethodsign;
-             break;
-           }
-         /* FALLTHRU */
-       resetfvdef:
-       case '#': case '~': case '&': case '%': case '/':
-       case '|': case '^': case '!': case '.': case '?':
-         if (definedef != dnone)
-           break;
-         /* These surely cannot follow a function tag in C. */
-         switch (fvdef)
-           {
-           case foperator:
-           case finlist:
-           case fignore:
-           case vignore:
-             break;
-           default:
-             fvdef = fvnone;
-           }
-         break;
-       case '\0':
-         if (objdef == otagseen)
-           {
-             make_C_tag (true); /* an Objective C class */
-             objdef = oignore;
-           }
-         /* If a macro spans multiple lines don't reset its state. */
-         if (quotednl)
-           CNL_SAVE_DEFINEDEF ();
-         else
-           CNL ();
-         break;
-       } /* switch (c) */
-
-    } /* while not eof */
-
-  free (lbs[0].lb.buffer);
-  free (lbs[1].lb.buffer);
-}
-
-/*
- * Process either a C++ file or a C file depending on the setting
- * of a global flag.
- */
-static void
-default_C_entries (FILE *inf)
-{
-  C_entries (cplusplus ? C_PLPL : C_AUTO, inf);
-}
-
-/* Always do plain C. */
-static void
-plain_C_entries (FILE *inf)
-{
-  C_entries (0, inf);
-}
-
-/* Always do C++. */
-static void
-Cplusplus_entries (FILE *inf)
-{
-  C_entries (C_PLPL, inf);
-}
-
-/* Always do Java. */
-static void
-Cjava_entries (FILE *inf)
-{
-  C_entries (C_JAVA, inf);
-}
-
-/* Always do C*. */
-static void
-Cstar_entries (FILE *inf)
-{
-  C_entries (C_STAR, inf);
-}
-
-/* Always do Yacc. */
-static void
-Yacc_entries (FILE *inf)
-{
-  C_entries (YACC, inf);
-}
-
-\f
-/* Useful macros. */
-#define LOOP_ON_INPUT_LINES(file_pointer, line_buffer, char_pointer)   \
-  for (;                       /* loop initialization */               \
-       !feof (file_pointer)    /* loop test */                         \
-       &&                      /* instructions at start of loop */     \
-         (readline (&line_buffer, file_pointer),                       \
-           char_pointer = line_buffer.buffer,                          \
-          true);                                                       \
-      )
-
-#define LOOKING_AT(cp, kw)  /* kw is the keyword, a literal string */  \
-  ((assert ("" kw), true)   /* syntax error if not a literal string */ \
-   && strneq ((cp), kw, sizeof (kw)-1)         /* cp points at kw */   \
-   && notinname ((cp)[sizeof (kw)-1])          /* end of kw */         \
-   && ((cp) = skip_spaces ((cp)+sizeof (kw)-1))) /* skip spaces */
-
-/* Similar to LOOKING_AT but does not use notinname, does not skip */
-#define LOOKING_AT_NOCASE(cp, kw) /* the keyword is a literal string */        \
-  ((assert ("" kw), true) /* syntax error if not a literal string */   \
-   && strncaseeq ((cp), kw, sizeof (kw)-1)     /* cp points at kw */   \
-   && ((cp) += sizeof (kw)-1))                 /* skip spaces */
-
-/*
- * Read a file, but do no processing.  This is used to do regexp
- * matching on files that have no language defined.
- */
-static void
-just_read_file (FILE *inf)
-{
-  while (!feof (inf))
-    readline (&lb, inf);
-}
-
-\f
-/* Fortran parsing */
-
-static void F_takeprec (void);
-static void F_getit (FILE *);
-
-static void
-F_takeprec (void)
-{
-  dbp = skip_spaces (dbp);
-  if (*dbp != '*')
-    return;
-  dbp++;
-  dbp = skip_spaces (dbp);
-  if (strneq (dbp, "(*)", 3))
-    {
-      dbp += 3;
-      return;
-    }
-  if (!ISDIGIT (*dbp))
-    {
-      --dbp;                   /* force failure */
-      return;
-    }
-  do
-    dbp++;
-  while (ISDIGIT (*dbp));
-}
-
-static void
-F_getit (FILE *inf)
-{
-  register char *cp;
-
-  dbp = skip_spaces (dbp);
-  if (*dbp == '\0')
-    {
-      readline (&lb, inf);
-      dbp = lb.buffer;
-      if (dbp[5] != '&')
-       return;
-      dbp += 6;
-      dbp = skip_spaces (dbp);
-    }
-  if (!ISALPHA (*dbp) && *dbp != '_' && *dbp != '$')
-    return;
-  for (cp = dbp + 1; *cp != '\0' && intoken (*cp); cp++)
-    continue;
-  make_tag (dbp, cp-dbp, true,
-           lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
-}
-
-
-static void
-Fortran_functions (FILE *inf)
-{
-  LOOP_ON_INPUT_LINES (inf, lb, dbp)
-    {
-      if (*dbp == '%')
-       dbp++;                  /* Ratfor escape to fortran */
-      dbp = skip_spaces (dbp);
-      if (*dbp == '\0')
-       continue;
-
-      if (LOOKING_AT_NOCASE (dbp, "recursive"))
-       dbp = skip_spaces (dbp);
-
-      if (LOOKING_AT_NOCASE (dbp, "pure"))
-       dbp = skip_spaces (dbp);
-
-      if (LOOKING_AT_NOCASE (dbp, "elemental"))
-       dbp = skip_spaces (dbp);
-
-      switch (lowcase (*dbp))
-       {
-       case 'i':
-         if (nocase_tail ("integer"))
-           F_takeprec ();
-         break;
-       case 'r':
-         if (nocase_tail ("real"))
-           F_takeprec ();
-         break;
-       case 'l':
-         if (nocase_tail ("logical"))
-           F_takeprec ();
-         break;
-       case 'c':
-         if (nocase_tail ("complex") || nocase_tail ("character"))
-           F_takeprec ();
-         break;
-       case 'd':
-         if (nocase_tail ("double"))
-           {
-             dbp = skip_spaces (dbp);
-             if (*dbp == '\0')
-               continue;
-             if (nocase_tail ("precision"))
-               break;
-             continue;
-           }
-         break;
-       }
-      dbp = skip_spaces (dbp);
-      if (*dbp == '\0')
-       continue;
-      switch (lowcase (*dbp))
-       {
-       case 'f':
-         if (nocase_tail ("function"))
-           F_getit (inf);
-         continue;
-       case 's':
-         if (nocase_tail ("subroutine"))
-           F_getit (inf);
-         continue;
-       case 'e':
-         if (nocase_tail ("entry"))
-           F_getit (inf);
-         continue;
-       case 'b':
-         if (nocase_tail ("blockdata") || nocase_tail ("block data"))
-           {
-             dbp = skip_spaces (dbp);
-             if (*dbp == '\0') /* assume un-named */
-               make_tag ("blockdata", 9, true,
-                         lb.buffer, dbp - lb.buffer, lineno, linecharno);
-             else
-               F_getit (inf);  /* look for name */
-           }
-         continue;
-       }
-    }
-}
-
-\f
-/*
- * Ada parsing
- * Original code by
- * Philippe Waroquiers (1998)
- */
-
-/* Once we are positioned after an "interesting" keyword, let's get
-   the real tag value necessary. */
-static void
-Ada_getit (FILE *inf, const char *name_qualifier)
-{
-  register char *cp;
-  char *name;
-  char c;
-
-  while (!feof (inf))
-    {
-      dbp = skip_spaces (dbp);
-      if (*dbp == '\0'
-         || (dbp[0] == '-' && dbp[1] == '-'))
-       {
-         readline (&lb, inf);
-         dbp = lb.buffer;
-       }
-      switch (lowcase (*dbp))
-        {
-        case 'b':
-          if (nocase_tail ("body"))
-            {
-              /* Skipping body of   procedure body   or   package body or ....
-                resetting qualifier to body instead of spec. */
-              name_qualifier = "/b";
-              continue;
-            }
-          break;
-        case 't':
-          /* Skipping type of   task type   or   protected type ... */
-          if (nocase_tail ("type"))
-            continue;
-          break;
-        }
-      if (*dbp == '"')
-       {
-         dbp += 1;
-         for (cp = dbp; *cp != '\0' && *cp != '"'; cp++)
-           continue;
-       }
-      else
-       {
-         dbp = skip_spaces (dbp);
-         for (cp = dbp;
-              (*cp != '\0'
-               && (ISALPHA (*cp) || ISDIGIT (*cp) || *cp == '_' || *cp == '.'));
-              cp++)
-           continue;
-         if (cp == dbp)
-           return;
-       }
-      c = *cp;
-      *cp = '\0';
-      name = concat (dbp, name_qualifier, "");
-      *cp = c;
-      make_tag (name, strlen (name), true,
-               lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
-      free (name);
-      if (c == '"')
-       dbp = cp + 1;
-      return;
-    }
-}
-
-static void
-Ada_funcs (FILE *inf)
-{
-  bool inquote = false;
-  bool skip_till_semicolumn = false;
-
-  LOOP_ON_INPUT_LINES (inf, lb, dbp)
-    {
-      while (*dbp != '\0')
-       {
-         /* Skip a string i.e. "abcd". */
-         if (inquote || (*dbp == '"'))
-           {
-             dbp = strchr (dbp + !inquote, '"');
-             if (dbp != NULL)
-               {
-                 inquote = false;
-                 dbp += 1;
-                 continue;     /* advance char */
-               }
-             else
-               {
-                 inquote = true;
-                 break;        /* advance line */
-               }
-           }
-
-         /* Skip comments. */
-         if (dbp[0] == '-' && dbp[1] == '-')
-           break;              /* advance line */
-
-         /* Skip character enclosed in single quote i.e. 'a'
-            and skip single quote starting an attribute i.e. 'Image. */
-         if (*dbp == '\'')
-           {
-             dbp++ ;
-             if (*dbp != '\0')
-               dbp++;
-             continue;
-           }
-
-         if (skip_till_semicolumn)
-           {
-             if (*dbp == ';')
-               skip_till_semicolumn = false;
-             dbp++;
-             continue;         /* advance char */
-           }
-
-         /* Search for beginning of a token.  */
-         if (!begtoken (*dbp))
-           {
-             dbp++;
-             continue;         /* advance char */
-           }
-
-         /* We are at the beginning of a token. */
-         switch (lowcase (*dbp))
-           {
-           case 'f':
-             if (!packages_only && nocase_tail ("function"))
-               Ada_getit (inf, "/f");
-             else
-               break;          /* from switch */
-             continue;         /* advance char */
-           case 'p':
-             if (!packages_only && nocase_tail ("procedure"))
-               Ada_getit (inf, "/p");
-             else if (nocase_tail ("package"))
-               Ada_getit (inf, "/s");
-             else if (nocase_tail ("protected")) /* protected type */
-               Ada_getit (inf, "/t");
-             else
-               break;          /* from switch */
-             continue;         /* advance char */
-
-           case 'u':
-             if (typedefs && !packages_only && nocase_tail ("use"))
-               {
-                 /* when tagging types, avoid tagging  use type Pack.Typename;
-                    for this, we will skip everything till a ; */
-                 skip_till_semicolumn = true;
-                 continue;     /* advance char */
-               }
-
-           case 't':
-             if (!packages_only && nocase_tail ("task"))
-               Ada_getit (inf, "/k");
-             else if (typedefs && !packages_only && nocase_tail ("type"))
-               {
-                 Ada_getit (inf, "/t");
-                 while (*dbp != '\0')
-                   dbp += 1;
-               }
-             else
-               break;          /* from switch */
-             continue;         /* advance char */
-           }
-
-         /* Look for the end of the token. */
-         while (!endtoken (*dbp))
-           dbp++;
-
-       } /* advance char */
-    } /* advance line */
-}
-
-\f
-/*
- * Unix and microcontroller assembly tag handling
- * Labels:  /^[a-zA-Z_.$][a-zA_Z0-9_.$]*[: ^I^J]/
- * Idea by Bob Weiner, Motorola Inc. (1994)
- */
-static void
-Asm_labels (FILE *inf)
-{
-  register char *cp;
-
-  LOOP_ON_INPUT_LINES (inf, lb, cp)
-    {
-      /* If first char is alphabetic or one of [_.$], test for colon
-        following identifier. */
-      if (ISALPHA (*cp) || *cp == '_' || *cp == '.' || *cp == '$')
-       {
-         /* Read past label. */
-         cp++;
-         while (ISALNUM (*cp) || *cp == '_' || *cp == '.' || *cp == '$')
-           cp++;
-         if (*cp == ':' || iswhite (*cp))
-           /* Found end of label, so copy it and add it to the table. */
-           make_tag (lb.buffer, cp - lb.buffer, true,
-                     lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
-       }
-    }
-}
-
-\f
-/*
- * Perl support
- * Perl sub names: /^sub[ \t\n]+[^ \t\n{]+/
- *                 /^use constant[ \t\n]+[^ \t\n{=,;]+/
- * Perl variable names: /^(my|local).../
- * Original code by Bart Robinson <lomew@cs.utah.edu> (1995)
- * Additions by Michael Ernst <mernst@alum.mit.edu> (1997)
- * Ideas by Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE> (2001)
- */
-static void
-Perl_functions (FILE *inf)
-{
-  char *package = savestr ("main"); /* current package name */
-  register char *cp;
-
-  LOOP_ON_INPUT_LINES (inf, lb, cp)
-    {
-      cp = skip_spaces (cp);
-
-      if (LOOKING_AT (cp, "package"))
-       {
-         free (package);
-         get_tag (cp, &package);
-       }
-      else if (LOOKING_AT (cp, "sub"))
-       {
-         char *pos, *sp;
-
-       subr:
-         sp = cp;
-         while (!notinname (*cp))
-           cp++;
-         if (cp == sp)
-           continue;           /* nothing found */
-         if ((pos = strchr (sp, ':')) != NULL
-             && pos < cp && pos[1] == ':')
-           /* The name is already qualified. */
-           make_tag (sp, cp - sp, true,
-                     lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
-         else
-           /* Qualify it. */
-           {
-             char savechar, *name;
-
-             savechar = *cp;
-             *cp = '\0';
-             name = concat (package, "::", sp);
-             *cp = savechar;
-             make_tag (name, strlen (name), true,
-                       lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
-             free (name);
-           }
-       }
-      else if (LOOKING_AT (cp, "use constant")
-              || LOOKING_AT (cp, "use constant::defer"))
-       {
-         /* For hash style multi-constant like
-               use constant { FOO => 123,
-                              BAR => 456 };
-            only the first FOO is picked up.  Parsing across the value
-            expressions would be difficult in general, due to possible nested
-            hashes, here-documents, etc.  */
-         if (*cp == '{')
-           cp = skip_spaces (cp+1);
-         goto subr;
-       }
-      else if (globals)        /* only if we are tagging global vars */
-       {
-         /* Skip a qualifier, if any. */
-         bool qual = LOOKING_AT (cp, "my") || LOOKING_AT (cp, "local");
-         /* After "my" or "local", but before any following paren or space. */
-         char *varstart = cp;
-
-         if (qual              /* should this be removed?  If yes, how? */
-             && (*cp == '$' || *cp == '@' || *cp == '%'))
-           {
-             varstart += 1;
-             do
-               cp++;
-             while (ISALNUM (*cp) || *cp == '_');
-           }
-         else if (qual)
-           {
-             /* Should be examining a variable list at this point;
-                could insist on seeing an open parenthesis. */
-             while (*cp != '\0' && *cp != ';' && *cp != '=' &&  *cp != ')')
-               cp++;
-           }
-         else
-           continue;
-
-         make_tag (varstart, cp - varstart, false,
-                   lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
-       }
-    }
-  free (package);
-}
-
-
-/*
- * Python support
- * Look for /^[\t]*def[ \t\n]+[^ \t\n(:]+/ or /^class[ \t\n]+[^ \t\n(:]+/
- * Idea by Eric S. Raymond <esr@thyrsus.com> (1997)
- * More ideas by seb bacon <seb@jamkit.com> (2002)
- */
-static void
-Python_functions (FILE *inf)
-{
-  register char *cp;
-
-  LOOP_ON_INPUT_LINES (inf, lb, cp)
-    {
-      cp = skip_spaces (cp);
-      if (LOOKING_AT (cp, "def") || LOOKING_AT (cp, "class"))
-       {
-         char *name = cp;
-         while (!notinname (*cp) && *cp != ':')
-           cp++;
-         make_tag (name, cp - name, true,
-                   lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
-       }
-    }
-}
-
-\f
-/*
- * PHP support
- * Look for:
- *  - /^[ \t]*function[ \t\n]+[^ \t\n(]+/
- *  - /^[ \t]*class[ \t\n]+[^ \t\n]+/
- *  - /^[ \t]*define\(\"[^\"]+/
- * Only with --members:
- *  - /^[ \t]*var[ \t\n]+\$[^ \t\n=;]/
- * Idea by Diez B. Roggisch (2001)
- */
-static void
-PHP_functions (FILE *inf)
-{
-  char *cp, *name;
-  bool search_identifier = false;
-
-  LOOP_ON_INPUT_LINES (inf, lb, cp)
-    {
-      cp = skip_spaces (cp);
-      name = cp;
-      if (search_identifier
-         && *cp != '\0')
-       {
-         while (!notinname (*cp))
-           cp++;
-         make_tag (name, cp - name, true,
-                   lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
-         search_identifier = false;
-       }
-      else if (LOOKING_AT (cp, "function"))
-       {
-         if (*cp == '&')
-           cp = skip_spaces (cp+1);
-         if (*cp != '\0')
-           {
-             name = cp;
-             while (!notinname (*cp))
-               cp++;
-             make_tag (name, cp - name, true,
-                       lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
-           }
-         else
-           search_identifier = true;
-       }
-      else if (LOOKING_AT (cp, "class"))
-       {
-         if (*cp != '\0')
-           {
-             name = cp;
-             while (*cp != '\0' && !iswhite (*cp))
-               cp++;
-             make_tag (name, cp - name, false,
-                       lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
-           }
-         else
-           search_identifier = true;
-       }
-      else if (strneq (cp, "define", 6)
-              && (cp = skip_spaces (cp+6))
-              && *cp++ == '('
-              && (*cp == '"' || *cp == '\''))
-       {
-         char quote = *cp++;
-         name = cp;
-         while (*cp != quote && *cp != '\0')
-           cp++;
-         make_tag (name, cp - name, false,
-                   lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
-       }
-      else if (members
-              && LOOKING_AT (cp, "var")
-              && *cp == '$')
-       {
-         name = cp;
-         while (!notinname (*cp))
-           cp++;
-         make_tag (name, cp - name, false,
-                   lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
-       }
-    }
-}
-
-\f
-/*
- * Cobol tag functions
- * We could look for anything that could be a paragraph name.
- * i.e. anything that starts in column 8 is one word and ends in a full stop.
- * Idea by Corny de Souza (1993)
- */
-static void
-Cobol_paragraphs (FILE *inf)
-{
-  register char *bp, *ep;
-
-  LOOP_ON_INPUT_LINES (inf, lb, bp)
-    {
-      if (lb.len < 9)
-       continue;
-      bp += 8;
-
-      /* If eoln, compiler option or comment ignore whole line. */
-      if (bp[-1] != ' ' || !ISALNUM (bp[0]))
-        continue;
-
-      for (ep = bp; ISALNUM (*ep) || *ep == '-'; ep++)
-       continue;
-      if (*ep++ == '.')
-       make_tag (bp, ep - bp, true,
-                 lb.buffer, ep - lb.buffer + 1, lineno, linecharno);
-    }
-}
-
-\f
-/*
- * Makefile support
- * Ideas by Assar Westerlund <assar@sics.se> (2001)
- */
-static void
-Makefile_targets (FILE *inf)
-{
-  register char *bp;
-
-  LOOP_ON_INPUT_LINES (inf, lb, bp)
-    {
-      if (*bp == '\t' || *bp == '#')
-       continue;
-      while (*bp != '\0' && *bp != '=' && *bp != ':')
-       bp++;
-      if (*bp == ':' || (globals && *bp == '='))
-       {
-         /* We should detect if there is more than one tag, but we do not.
-            We just skip initial and final spaces. */
-         char * namestart = skip_spaces (lb.buffer);
-         while (--bp > namestart)
-           if (!notinname (*bp))
-             break;
-         make_tag (namestart, bp - namestart + 1, true,
-                   lb.buffer, bp - lb.buffer + 2, lineno, linecharno);
-       }
-    }
-}
-
-\f
-/*
- * Pascal parsing
- * Original code by Mosur K. Mohan (1989)
- *
- *  Locates tags for procedures & functions.  Doesn't do any type- or
- *  var-definitions.  It does look for the keyword "extern" or
- *  "forward" immediately following the procedure statement; if found,
- *  the tag is skipped.
- */
-static void
-Pascal_functions (FILE *inf)
-{
-  linebuffer tline;            /* mostly copied from C_entries */
-  long save_lcno;
-  int save_lineno, namelen, taglen;
-  char c, *name;
-
-  bool                         /* each of these flags is true if: */
-    incomment,                 /* point is inside a comment */
-    inquote,                   /* point is inside '..' string */
-    get_tagname,               /* point is after PROCEDURE/FUNCTION
-                                  keyword, so next item = potential tag */
-    found_tag,                 /* point is after a potential tag */
-    inparms,                   /* point is within parameter-list */
-    verify_tag;                        /* point has passed the parm-list, so the
-                                  next token will determine whether this
-                                  is a FORWARD/EXTERN to be ignored, or
-                                  whether it is a real tag */
-
-  save_lcno = save_lineno = namelen = taglen = 0; /* keep compiler quiet */
-  name = NULL;                 /* keep compiler quiet */
-  dbp = lb.buffer;
-  *dbp = '\0';
-  linebuffer_init (&tline);
-
-  incomment = inquote = false;
-  found_tag = false;           /* have a proc name; check if extern */
-  get_tagname = false;         /* found "procedure" keyword         */
-  inparms = false;             /* found '(' after "proc"            */
-  verify_tag = false;          /* check if "extern" is ahead        */
-
-
-  while (!feof (inf))          /* long main loop to get next char */
-    {
-      c = *dbp++;
-      if (c == '\0')           /* if end of line */
-       {
-         readline (&lb, inf);
-         dbp = lb.buffer;
-         if (*dbp == '\0')
-           continue;
-         if (!((found_tag && verify_tag)
-               || get_tagname))
-           c = *dbp++;         /* only if don't need *dbp pointing
-                                  to the beginning of the name of
-                                  the procedure or function */
-       }
-      if (incomment)
-       {
-         if (c == '}')         /* within { } comments */
-           incomment = false;
-         else if (c == '*' && *dbp == ')') /* within (* *) comments */
-           {
-             dbp++;
-             incomment = false;
-           }
-         continue;
-       }
-      else if (inquote)
-       {
-         if (c == '\'')
-           inquote = false;
-         continue;
-       }
-      else
-       switch (c)
-         {
-         case '\'':
-           inquote = true;     /* found first quote */
-           continue;
-         case '{':             /* found open { comment */
-           incomment = true;
-           continue;
-         case '(':
-           if (*dbp == '*')    /* found open (* comment */
-             {
-               incomment = true;
-               dbp++;
-             }
-           else if (found_tag) /* found '(' after tag, i.e., parm-list */
-             inparms = true;
-           continue;
-         case ')':             /* end of parms list */
-           if (inparms)
-             inparms = false;
-           continue;
-         case ';':
-           if (found_tag && !inparms) /* end of proc or fn stmt */
-             {
-               verify_tag = true;
-               break;
-             }
-           continue;
-         }
-      if (found_tag && verify_tag && (*dbp != ' '))
-       {
-         /* Check if this is an "extern" declaration. */
-         if (*dbp == '\0')
-           continue;
-         if (lowcase (*dbp) == 'e')
-           {
-             if (nocase_tail ("extern")) /* superfluous, really! */
-               {
-                 found_tag = false;
-                 verify_tag = false;
-               }
-           }
-         else if (lowcase (*dbp) == 'f')
-           {
-             if (nocase_tail ("forward")) /* check for forward reference */
-               {
-                 found_tag = false;
-                 verify_tag = false;
-               }
-           }
-         if (found_tag && verify_tag) /* not external proc, so make tag */
-           {
-             found_tag = false;
-             verify_tag = false;
-             make_tag (name, namelen, true,
-                       tline.buffer, taglen, save_lineno, save_lcno);
-             continue;
-           }
-       }
-      if (get_tagname)         /* grab name of proc or fn */
-       {
-         char *cp;
-
-         if (*dbp == '\0')
-           continue;
-
-         /* Find block name. */
-         for (cp = dbp + 1; *cp != '\0' && !endtoken (*cp); cp++)
-           continue;
-
-         /* Save all values for later tagging. */
-         linebuffer_setlen (&tline, lb.len);
-         strcpy (tline.buffer, lb.buffer);
-         save_lineno = lineno;
-         save_lcno = linecharno;
-         name = tline.buffer + (dbp - lb.buffer);
-         namelen = cp - dbp;
-         taglen = cp - lb.buffer + 1;
-
-         dbp = cp;             /* set dbp to e-o-token */
-         get_tagname = false;
-         found_tag = true;
-         continue;
-
-         /* And proceed to check for "extern". */
-       }
-      else if (!incomment && !inquote && !found_tag)
-       {
-         /* Check for proc/fn keywords. */
-         switch (lowcase (c))
-           {
-           case 'p':
-             if (nocase_tail ("rocedure")) /* c = 'p', dbp has advanced */
-               get_tagname = true;
-             continue;
-           case 'f':
-             if (nocase_tail ("unction"))
-               get_tagname = true;
-             continue;
-           }
-       }
-    } /* while not eof */
-
-  free (tline.buffer);
-}
-
-\f
-/*
- * Lisp tag functions
- *  look for (def or (DEF, quote or QUOTE
- */
-
-static void L_getit (void);
-
-static void
-L_getit (void)
-{
-  if (*dbp == '\'')            /* Skip prefix quote */
-    dbp++;
-  else if (*dbp == '(')
-  {
-    dbp++;
-    /* Try to skip "(quote " */
-    if (!LOOKING_AT (dbp, "quote") && !LOOKING_AT (dbp, "QUOTE"))
-      /* Ok, then skip "(" before name in (defstruct (foo)) */
-      dbp = skip_spaces (dbp);
-  }
-  get_tag (dbp, NULL);
-}
-
-static void
-Lisp_functions (FILE *inf)
-{
-  LOOP_ON_INPUT_LINES (inf, lb, dbp)
-    {
-      if (dbp[0] != '(')
-       continue;
-
-      /* "(defvar foo)" is a declaration rather than a definition.  */
-      if (! declarations)
-       {
-         char *p = dbp + 1;
-         if (LOOKING_AT (p, "defvar"))
-           {
-             p = skip_name (p); /* past var name */
-             p = skip_spaces (p);
-             if (*p == ')')
-               continue;
-           }
-       }
-
-      if (strneq (dbp + 1, "cl-", 3) || strneq (dbp + 1, "CL-", 3))
-       dbp += 3;
-
-      if (strneq (dbp+1, "def", 3) || strneq (dbp+1, "DEF", 3))
-       {
-         dbp = skip_non_spaces (dbp);
-         dbp = skip_spaces (dbp);
-         L_getit ();
-       }
-      else
-       {
-         /* Check for (foo::defmumble name-defined ... */
-         do
-           dbp++;
-         while (!notinname (*dbp) && *dbp != ':');
-         if (*dbp == ':')
-           {
-             do
-               dbp++;
-             while (*dbp == ':');
-
-             if (strneq (dbp, "def", 3) || strneq (dbp, "DEF", 3))
-               {
-                 dbp = skip_non_spaces (dbp);
-                 dbp = skip_spaces (dbp);
-                 L_getit ();
-               }
-           }
-       }
-    }
-}
-
-\f
-/*
- * Lua script language parsing
- * Original code by David A. Capello <dacap@users.sourceforge.net> (2004)
- *
- *  "function" and "local function" are tags if they start at column 1.
- */
-static void
-Lua_functions (FILE *inf)
-{
-  register char *bp;
-
-  LOOP_ON_INPUT_LINES (inf, lb, bp)
-    {
-      if (bp[0] != 'f' && bp[0] != 'l')
-       continue;
-
-      (void)LOOKING_AT (bp, "local"); /* skip possible "local" */
-
-      if (LOOKING_AT (bp, "function"))
-       get_tag (bp, NULL);
-    }
-}
-
-\f
-/*
- * PostScript tags
- * Just look for lines where the first character is '/'
- * Also look at "defineps" for PSWrap
- * Ideas by:
- *   Richard Mlynarik <mly@adoc.xerox.com> (1997)
- *   Masatake Yamato <masata-y@is.aist-nara.ac.jp> (1999)
- */
-static void
-PS_functions (FILE *inf)
-{
-  register char *bp, *ep;
-
-  LOOP_ON_INPUT_LINES (inf, lb, bp)
-    {
-      if (bp[0] == '/')
-       {
-         for (ep = bp+1;
-              *ep != '\0' && *ep != ' ' && *ep != '{';
-              ep++)
-           continue;
-         make_tag (bp, ep - bp, true,
-                   lb.buffer, ep - lb.buffer + 1, lineno, linecharno);
-       }
-      else if (LOOKING_AT (bp, "defineps"))
-       get_tag (bp, NULL);
-    }
-}
-
-\f
-/*
- * Forth tags
- * Ignore anything after \ followed by space or in ( )
- * Look for words defined by :
- * Look for constant, code, create, defer, value, and variable
- * OBP extensions:  Look for buffer:, field,
- * Ideas by Eduardo Horvath <eeh@netbsd.org> (2004)
- */
-static void
-Forth_words (FILE *inf)
-{
-  register char *bp;
-
-  LOOP_ON_INPUT_LINES (inf, lb, bp)
-    while ((bp = skip_spaces (bp))[0] != '\0')
-      if (bp[0] == '\\' && iswhite (bp[1]))
-       break;                  /* read next line */
-      else if (bp[0] == '(' && iswhite (bp[1]))
-       do                      /* skip to ) or eol */
-         bp++;
-       while (*bp != ')' && *bp != '\0');
-      else if ((bp[0] == ':' && iswhite (bp[1]) && bp++)
-              || LOOKING_AT_NOCASE (bp, "constant")
-              || LOOKING_AT_NOCASE (bp, "code")
-              || LOOKING_AT_NOCASE (bp, "create")
-              || LOOKING_AT_NOCASE (bp, "defer")
-              || LOOKING_AT_NOCASE (bp, "value")
-              || LOOKING_AT_NOCASE (bp, "variable")
-              || LOOKING_AT_NOCASE (bp, "buffer:")
-              || LOOKING_AT_NOCASE (bp, "field"))
-       get_tag (skip_spaces (bp), NULL); /* Yay!  A definition! */
-      else
-       bp = skip_non_spaces (bp);
-}
-
-\f
-/*
- * Scheme tag functions
- * look for (def... xyzzy
- *          (def... (xyzzy
- *          (def ... ((...(xyzzy ....
- *          (set! xyzzy
- * Original code by Ken Haase (1985?)
- */
-static void
-Scheme_functions (FILE *inf)
-{
-  register char *bp;
-
-  LOOP_ON_INPUT_LINES (inf, lb, bp)
-    {
-      if (strneq (bp, "(def", 4) || strneq (bp, "(DEF", 4))
-       {
-         bp = skip_non_spaces (bp+4);
-         /* Skip over open parens and white space.  Don't continue past
-            '\0'. */
-         while (*bp && notinname (*bp))
-           bp++;
-         get_tag (bp, NULL);
-       }
-      if (LOOKING_AT (bp, "(SET!") || LOOKING_AT (bp, "(set!"))
-       get_tag (bp, NULL);
-    }
-}
-
-\f
-/* Find tags in TeX and LaTeX input files.  */
-
-/* TEX_toktab is a table of TeX control sequences that define tags.
- * Each entry records one such control sequence.
- *
- * Original code from who knows whom.
- * Ideas by:
- *   Stefan Monnier (2002)
- */
-
-static linebuffer *TEX_toktab = NULL; /* Table with tag tokens */
-
-/* Default set of control sequences to put into TEX_toktab.
-   The value of environment var TEXTAGS is prepended to this.  */
-static const char *TEX_defenv = "\
-:chapter:section:subsection:subsubsection:eqno:label:ref:cite:bibitem\
-:part:appendix:entry:index:def\
-:newcommand:renewcommand:newenvironment:renewenvironment";
-
-static void TEX_mode (FILE *);
-static void TEX_decode_env (const char *, const char *);
-
-static char TEX_esc = '\\';
-static char TEX_opgrp = '{';
-static char TEX_clgrp = '}';
-
-/*
- * TeX/LaTeX scanning loop.
- */
-static void
-TeX_commands (FILE *inf)
-{
-  char *cp;
-  linebuffer *key;
-
-  /* Select either \ or ! as escape character.  */
-  TEX_mode (inf);
-
-  /* Initialize token table once from environment. */
-  if (TEX_toktab == NULL)
-    TEX_decode_env ("TEXTAGS", TEX_defenv);
-
-  LOOP_ON_INPUT_LINES (inf, lb, cp)
-    {
-      /* Look at each TEX keyword in line. */
-      for (;;)
-       {
-         /* Look for a TEX escape. */
-         while (*cp++ != TEX_esc)
-           if (cp[-1] == '\0' || cp[-1] == '%')
-             goto tex_next_line;
-
-         for (key = TEX_toktab; key->buffer != NULL; key++)
-           if (strneq (cp, key->buffer, key->len))
-             {
-               char *p;
-               int namelen, linelen;
-               bool opgrp = false;
-
-               cp = skip_spaces (cp + key->len);
-               if (*cp == TEX_opgrp)
-                 {
-                   opgrp = true;
-                   cp++;
-                 }
-               for (p = cp;
-                    (!iswhite (*p) && *p != '#' &&
-                     *p != TEX_opgrp && *p != TEX_clgrp);
-                    p++)
-                 continue;
-               namelen = p - cp;
-               linelen = lb.len;
-               if (!opgrp || *p == TEX_clgrp)
-                 {
-                   while (*p != '\0' && *p != TEX_opgrp && *p != TEX_clgrp)
-                     p++;
-                   linelen = p - lb.buffer + 1;
-                 }
-               make_tag (cp, namelen, true,
-                         lb.buffer, linelen, lineno, linecharno);
-               goto tex_next_line; /* We only tag a line once */
-             }
-       }
-    tex_next_line:
-      ;
-    }
-}
-
-#define TEX_LESC '\\'
-#define TEX_SESC '!'
-
-/* Figure out whether TeX's escapechar is '\\' or '!' and set grouping
-   chars accordingly. */
-static void
-TEX_mode (FILE *inf)
-{
-  int c;
-
-  while ((c = getc (inf)) != EOF)
-    {
-      /* Skip to next line if we hit the TeX comment char. */
-      if (c == '%')
-       while (c != '\n' && c != EOF)
-         c = getc (inf);
-      else if (c == TEX_LESC || c == TEX_SESC )
-       break;
-    }
-
-  if (c == TEX_LESC)
-    {
-      TEX_esc = TEX_LESC;
-      TEX_opgrp = '{';
-      TEX_clgrp = '}';
-    }
-  else
-    {
-      TEX_esc = TEX_SESC;
-      TEX_opgrp = '<';
-      TEX_clgrp = '>';
-    }
-  /* If the input file is compressed, inf is a pipe, and rewind may fail.
-     No attempt is made to correct the situation. */
-  rewind (inf);
-}
-
-/* Read environment and prepend it to the default string.
-   Build token table. */
-static void
-TEX_decode_env (const char *evarname, const char *defenv)
-{
-  register const char *env, *p;
-  int i, len;
-
-  /* Append default string to environment. */
-  env = getenv (evarname);
-  if (!env)
-    env = defenv;
-  else
-    env = concat (env, defenv, "");
-
-  /* Allocate a token table */
-  for (len = 1, p = env; p;)
-    if ((p = strchr (p, ':')) && *++p != '\0')
-      len++;
-  TEX_toktab = xnew (len, linebuffer);
-
-  /* Unpack environment string into token table. Be careful about */
-  /* zero-length strings (leading ':', "::" and trailing ':') */
-  for (i = 0; *env != '\0';)
-    {
-      p = strchr (env, ':');
-      if (!p)                  /* End of environment string. */
-       p = env + strlen (env);
-      if (p - env > 0)
-       {                       /* Only non-zero strings. */
-         TEX_toktab[i].buffer = savenstr (env, p - env);
-         TEX_toktab[i].len = p - env;
-         i++;
-       }
-      if (*p)
-       env = p + 1;
-      else
-       {
-         TEX_toktab[i].buffer = NULL; /* Mark end of table. */
-         TEX_toktab[i].len = 0;
-         break;
-       }
-    }
-}
-
-\f
-/* Texinfo support.  Dave Love, Mar. 2000.  */
-static void
-Texinfo_nodes (FILE *inf)
-{
-  char *cp, *start;
-  LOOP_ON_INPUT_LINES (inf, lb, cp)
-    if (LOOKING_AT (cp, "@node"))
-      {
-       start = cp;
-       while (*cp != '\0' && *cp != ',')
-         cp++;
-       make_tag (start, cp - start, true,
-                 lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
-      }
-}
-
-\f
-/*
- * HTML support.
- * Contents of <title>, <h1>, <h2>, <h3> are tags.
- * Contents of <a name=xxx> are tags with name xxx.
- *
- * Francesco Potortì, 2002.
- */
-static void
-HTML_labels (FILE *inf)
-{
-  bool getnext = false;                /* next text outside of HTML tags is a tag */
-  bool skiptag = false;                /* skip to the end of the current HTML tag */
-  bool intag = false;          /* inside an html tag, looking for ID= */
-  bool inanchor = false;       /* when INTAG, is an anchor, look for NAME= */
-  char *end;
-
-
-  linebuffer_setlen (&token_name, 0); /* no name in buffer */
-
-  LOOP_ON_INPUT_LINES (inf, lb, dbp)
-    for (;;)                   /* loop on the same line */
-      {
-       if (skiptag)            /* skip HTML tag */
-         {
-           while (*dbp != '\0' && *dbp != '>')
-             dbp++;
-           if (*dbp == '>')
-             {
-               dbp += 1;
-               skiptag = false;
-               continue;       /* look on the same line */
-             }
-           break;              /* go to next line */
-         }
-
-       else if (intag) /* look for "name=" or "id=" */
-         {
-           while (*dbp != '\0' && *dbp != '>'
-                  && lowcase (*dbp) != 'n' && lowcase (*dbp) != 'i')
-             dbp++;
-           if (*dbp == '\0')
-             break;            /* go to next line */
-           if (*dbp == '>')
-             {
-               dbp += 1;
-               intag = false;
-               continue;       /* look on the same line */
-             }
-           if ((inanchor && LOOKING_AT_NOCASE (dbp, "name="))
-               || LOOKING_AT_NOCASE (dbp, "id="))
-             {
-               bool quoted = (dbp[0] == '"');
-
-               if (quoted)
-                 for (end = ++dbp; *end != '\0' && *end != '"'; end++)
-                   continue;
-               else
-                 for (end = dbp; *end != '\0' && intoken (*end); end++)
-                   continue;
-               linebuffer_setlen (&token_name, end - dbp);
-               memcpy (token_name.buffer, dbp, end - dbp);
-               token_name.buffer[end - dbp] = '\0';
-
-               dbp = end;
-               intag = false;  /* we found what we looked for */
-               skiptag = true; /* skip to the end of the tag */
-               getnext = true; /* then grab the text */
-               continue;       /* look on the same line */
-             }
-           dbp += 1;
-         }
-
-       else if (getnext)       /* grab next tokens and tag them */
-         {
-           dbp = skip_spaces (dbp);
-           if (*dbp == '\0')
-             break;            /* go to next line */
-           if (*dbp == '<')
-             {
-               intag = true;
-               inanchor = (lowcase (dbp[1]) == 'a' && !intoken (dbp[2]));
-               continue;       /* look on the same line */
-             }
-
-           for (end = dbp + 1; *end != '\0' && *end != '<'; end++)
-             continue;
-           make_tag (token_name.buffer, token_name.len, true,
-                     dbp, end - dbp, lineno, linecharno);
-           linebuffer_setlen (&token_name, 0); /* no name in buffer */
-           getnext = false;
-           break;              /* go to next line */
-         }
-
-       else                    /* look for an interesting HTML tag */
-         {
-           while (*dbp != '\0' && *dbp != '<')
-             dbp++;
-           if (*dbp == '\0')
-             break;            /* go to next line */
-           intag = true;
-           if (lowcase (dbp[1]) == 'a' && !intoken (dbp[2]))
-             {
-               inanchor = true;
-               continue;       /* look on the same line */
-             }
-           else if (LOOKING_AT_NOCASE (dbp, "<title>")
-                    || LOOKING_AT_NOCASE (dbp, "<h1>")
-                    || LOOKING_AT_NOCASE (dbp, "<h2>")
-                    || LOOKING_AT_NOCASE (dbp, "<h3>"))
-             {
-               intag = false;
-               getnext = true;
-               continue;       /* look on the same line */
-             }
-           dbp += 1;
-         }
-      }
-}
-
-\f
-/*
- * Prolog support
- *
- * Assumes that the predicate or rule starts at column 0.
- * Only the first clause of a predicate or rule is added.
- * Original code by Sunichirou Sugou (1989)
- * Rewritten by Anders Lindgren (1996)
- */
-static size_t prolog_pr (char *, char *);
-static void prolog_skip_comment (linebuffer *, FILE *);
-static size_t prolog_atom (char *, size_t);
-
-static void
-Prolog_functions (FILE *inf)
-{
-  char *cp, *last;
-  size_t len;
-  size_t allocated;
-
-  allocated = 0;
-  len = 0;
-  last = NULL;
-
-  LOOP_ON_INPUT_LINES (inf, lb, cp)
-    {
-      if (cp[0] == '\0')       /* Empty line */
-       continue;
-      else if (iswhite (cp[0])) /* Not a predicate */
-       continue;
-      else if (cp[0] == '/' && cp[1] == '*')   /* comment. */
-       prolog_skip_comment (&lb, inf);
-      else if ((len = prolog_pr (cp, last)) > 0)
-       {
-         /* Predicate or rule.  Store the function name so that we
-            only generate a tag for the first clause.  */
-         if (last == NULL)
-           last = xnew (len + 1, char);
-         else if (len + 1 > allocated)
-           xrnew (last, len + 1, char);
-         allocated = len + 1;
-         memcpy (last, cp, len);
-         last[len] = '\0';
-       }
-    }
-  free (last);
-}
-
-
-static void
-prolog_skip_comment (linebuffer *plb, FILE *inf)
-{
-  char *cp;
-
-  do
-    {
-      for (cp = plb->buffer; *cp != '\0'; cp++)
-       if (cp[0] == '*' && cp[1] == '/')
-         return;
-      readline (plb, inf);
-    }
-  while (!feof (inf));
-}
-
-/*
- * A predicate or rule definition is added if it matches:
- *     <beginning of line><Prolog Atom><whitespace>(
- * or  <beginning of line><Prolog Atom><whitespace>:-
- *
- * It is added to the tags database if it doesn't match the
- * name of the previous clause header.
- *
- * Return the size of the name of the predicate or rule, or 0 if no
- * header was found.
- */
-static size_t
-prolog_pr (char *s, char *last)
-
-                               /* Name of last clause. */
-{
-  size_t pos;
-  size_t len;
-
-  pos = prolog_atom (s, 0);
-  if (! pos)
-    return 0;
-
-  len = pos;
-  pos = skip_spaces (s + pos) - s;
-
-  if ((s[pos] == '.'
-       || (s[pos] == '(' && (pos += 1))
-       || (s[pos] == ':' && s[pos + 1] == '-' && (pos += 2)))
-      && (last == NULL         /* save only the first clause */
-         || len != strlen (last)
-         || !strneq (s, last, len)))
-       {
-         make_tag (s, len, true, s, pos, lineno, linecharno);
-         return len;
-       }
-  else
-    return 0;
-}
-
-/*
- * Consume a Prolog atom.
- * Return the number of bytes consumed, or 0 if there was an error.
- *
- * A prolog atom, in this context, could be one of:
- * - An alphanumeric sequence, starting with a lower case letter.
- * - A quoted arbitrary string. Single quotes can escape themselves.
- *   Backslash quotes everything.
- */
-static size_t
-prolog_atom (char *s, size_t pos)
-{
-  size_t origpos;
-
-  origpos = pos;
-
-  if (ISLOWER (s[pos]) || (s[pos] == '_'))
-    {
-      /* The atom is unquoted. */
-      pos++;
-      while (ISALNUM (s[pos]) || (s[pos] == '_'))
-       {
-         pos++;
-       }
-      return pos - origpos;
-    }
-  else if (s[pos] == '\'')
-    {
-      pos++;
-
-      for (;;)
-       {
-         if (s[pos] == '\'')
-           {
-             pos++;
-             if (s[pos] != '\'')
-               break;
-             pos++;            /* A double quote */
-           }
-         else if (s[pos] == '\0')
-           /* Multiline quoted atoms are ignored. */
-           return 0;
-         else if (s[pos] == '\\')
-           {
-             if (s[pos+1] == '\0')
-               return 0;
-             pos += 2;
-           }
-         else
-           pos++;
-       }
-      return pos - origpos;
-    }
-  else
-    return 0;
-}
-
-\f
-/*
- * Support for Erlang
- *
- * Generates tags for functions, defines, and records.
- * Assumes that Erlang functions start at column 0.
- * Original code by Anders Lindgren (1996)
- */
-static int erlang_func (char *, char *);
-static void erlang_attribute (char *);
-static int erlang_atom (char *);
-
-static void
-Erlang_functions (FILE *inf)
-{
-  char *cp, *last;
-  int len;
-  int allocated;
-
-  allocated = 0;
-  len = 0;
-  last = NULL;
-
-  LOOP_ON_INPUT_LINES (inf, lb, cp)
-    {
-      if (cp[0] == '\0')       /* Empty line */
-       continue;
-      else if (iswhite (cp[0])) /* Not function nor attribute */
-       continue;
-      else if (cp[0] == '%')   /* comment */
-       continue;
-      else if (cp[0] == '"')   /* Sometimes, strings start in column one */
-       continue;
-      else if (cp[0] == '-')   /* attribute, e.g. "-define" */
-       {
-         erlang_attribute (cp);
-         if (last != NULL)
-           {
-             free (last);
-             last = NULL;
-           }
-       }
-      else if ((len = erlang_func (cp, last)) > 0)
-       {
-         /*
-          * Function.  Store the function name so that we only
-          * generates a tag for the first clause.
-          */
-         if (last == NULL)
-           last = xnew (len + 1, char);
-         else if (len + 1 > allocated)
-           xrnew (last, len + 1, char);
-         allocated = len + 1;
-         memcpy (last, cp, len);
-         last[len] = '\0';
-       }
-    }
-  free (last);
-}
-
-
-/*
- * A function definition is added if it matches:
- *     <beginning of line><Erlang Atom><whitespace>(
- *
- * It is added to the tags database if it doesn't match the
- * name of the previous clause header.
- *
- * Return the size of the name of the function, or 0 if no function
- * was found.
- */
-static int
-erlang_func (char *s, char *last)
-
-                               /* Name of last clause. */
-{
-  int pos;
-  int len;
-
-  pos = erlang_atom (s);
-  if (pos < 1)
-    return 0;
-
-  len = pos;
-  pos = skip_spaces (s + pos) - s;
-
-  /* Save only the first clause. */
-  if (s[pos++] == '('
-      && (last == NULL
-         || len != (int)strlen (last)
-         || !strneq (s, last, len)))
-       {
-         make_tag (s, len, true, s, pos, lineno, linecharno);
-         return len;
-       }
-
-  return 0;
-}
-
-
-/*
- * Handle attributes.  Currently, tags are generated for defines
- * and records.
- *
- * They are on the form:
- * -define(foo, bar).
- * -define(Foo(M, N), M+N).
- * -record(graph, {vtab = notable, cyclic = true}).
- */
-static void
-erlang_attribute (char *s)
-{
-  char *cp = s;
-
-  if ((LOOKING_AT (cp, "-define") || LOOKING_AT (cp, "-record"))
-      && *cp++ == '(')
-    {
-      int len = erlang_atom (skip_spaces (cp));
-      if (len > 0)
-       make_tag (cp, len, true, s, cp + len - s, lineno, linecharno);
-    }
-  return;
-}
-
-
-/*
- * Consume an Erlang atom (or variable).
- * Return the number of bytes consumed, or -1 if there was an error.
- */
-static int
-erlang_atom (char *s)
-{
-  int pos = 0;
-
-  if (ISALPHA (s[pos]) || s[pos] == '_')
-    {
-      /* The atom is unquoted. */
-      do
-       pos++;
-      while (ISALNUM (s[pos]) || s[pos] == '_');
-    }
-  else if (s[pos] == '\'')
-    {
-      for (pos++; s[pos] != '\''; pos++)
-       if (s[pos] == '\0'      /* multiline quoted atoms are ignored */
-           || (s[pos] == '\\' && s[++pos] == '\0'))
-         return 0;
-      pos++;
-    }
-
-  return pos;
-}
-
-\f
-static char *scan_separators (char *);
-static void add_regex (char *, language *);
-static char *substitute (char *, char *, struct re_registers *);
-
-/*
- * Take a string like "/blah/" and turn it into "blah", verifying
- * that the first and last characters are the same, and handling
- * quoted separator characters.  Actually, stops on the occurrence of
- * an unquoted separator.  Also process \t, \n, etc. and turn into
- * appropriate characters. Works in place.  Null terminates name string.
- * Returns pointer to terminating separator, or NULL for
- * unterminated regexps.
- */
-static char *
-scan_separators (char *name)
-{
-  char sep = name[0];
-  char *copyto = name;
-  bool quoted = false;
-
-  for (++name; *name != '\0'; ++name)
-    {
-      if (quoted)
-       {
-         switch (*name)
-           {
-           case 'a': *copyto++ = '\007'; break; /* BEL (bell)           */
-           case 'b': *copyto++ = '\b'; break;   /* BS (back space)      */
-           case 'd': *copyto++ = 0177; break;   /* DEL (delete)         */
-           case 'e': *copyto++ = 033; break;    /* ESC (delete)         */
-           case 'f': *copyto++ = '\f'; break;   /* FF (form feed)       */
-           case 'n': *copyto++ = '\n'; break;   /* NL (new line)        */
-           case 'r': *copyto++ = '\r'; break;   /* CR (carriage return) */
-           case 't': *copyto++ = '\t'; break;   /* TAB (horizontal tab) */
-           case 'v': *copyto++ = '\v'; break;   /* VT (vertical tab)    */
-           default:
-             if (*name == sep)
-               *copyto++ = sep;
-             else
-               {
-                 /* Something else is quoted, so preserve the quote. */
-                 *copyto++ = '\\';
-                 *copyto++ = *name;
-               }
-             break;
-           }
-         quoted = false;
-       }
-      else if (*name == '\\')
-       quoted = true;
-      else if (*name == sep)
-       break;
-      else
-       *copyto++ = *name;
-    }
-  if (*name != sep)
-    name = NULL;               /* signal unterminated regexp */
-
-  /* Terminate copied string. */
-  *copyto = '\0';
-  return name;
-}
-
-/* Look at the argument of --regex or --no-regex and do the right
-   thing.  Same for each line of a regexp file. */
-static void
-analyze_regex (char *regex_arg)
-{
-  if (regex_arg == NULL)
-    {
-      free_regexps ();         /* --no-regex: remove existing regexps */
-      return;
-    }
-
-  /* A real --regexp option or a line in a regexp file. */
-  switch (regex_arg[0])
-    {
-      /* Comments in regexp file or null arg to --regex. */
-    case '\0':
-    case ' ':
-    case '\t':
-      break;
-
-      /* Read a regex file.  This is recursive and may result in a
-        loop, which will stop when the file descriptors are exhausted. */
-    case '@':
-      {
-       FILE *regexfp;
-       linebuffer regexbuf;
-       char *regexfile = regex_arg + 1;
-
-       /* regexfile is a file containing regexps, one per line. */
-       regexfp = fopen (regexfile, "r" FOPEN_BINARY);
-       if (regexfp == NULL)
-         pfatal (regexfile);
-       linebuffer_init (&regexbuf);
-       while (readline_internal (&regexbuf, regexfp) > 0)
-         analyze_regex (regexbuf.buffer);
-       free (regexbuf.buffer);
-       fclose (regexfp);
-      }
-      break;
-
-      /* Regexp to be used for a specific language only. */
-    case '{':
-      {
-       language *lang;
-       char *lang_name = regex_arg + 1;
-       char *cp;
-
-       for (cp = lang_name; *cp != '}'; cp++)
-         if (*cp == '\0')
-           {
-             error ("unterminated language name in regex: %s", regex_arg);
-             return;
-           }
-       *cp++ = '\0';
-       lang = get_language_from_langname (lang_name);
-       if (lang == NULL)
-         return;
-       add_regex (cp, lang);
-      }
-      break;
-
-      /* Regexp to be used for any language. */
-    default:
-      add_regex (regex_arg, NULL);
-      break;
-    }
-}
-
-/* Separate the regexp pattern, compile it,
-   and care for optional name and modifiers. */
-static void
-add_regex (char *regexp_pattern, language *lang)
-{
-  static struct re_pattern_buffer zeropattern;
-  char sep, *pat, *name, *modifiers;
-  char empty = '\0';
-  const char *err;
-  struct re_pattern_buffer *patbuf;
-  regexp *rp;
-  bool
-    force_explicit_name = true, /* do not use implicit tag names */
-    ignore_case = false,       /* case is significant */
-    multi_line = false,                /* matches are done one line at a time */
-    single_line = false;       /* dot does not match newline */
-
-
-  if (strlen (regexp_pattern) < 3)
-    {
-      error ("null regexp");
-      return;
-    }
-  sep = regexp_pattern[0];
-  name = scan_separators (regexp_pattern);
-  if (name == NULL)
-    {
-      error ("%s: unterminated regexp", regexp_pattern);
-      return;
-    }
-  if (name[1] == sep)
-    {
-      error ("null name for regexp \"%s\"", regexp_pattern);
-      return;
-    }
-  modifiers = scan_separators (name);
-  if (modifiers == NULL)       /* no terminating separator --> no name */
-    {
-      modifiers = name;
-      name = &empty;
-    }
-  else
-    modifiers += 1;            /* skip separator */
-
-  /* Parse regex modifiers. */
-  for (; modifiers[0] != '\0'; modifiers++)
-    switch (modifiers[0])
-      {
-      case 'N':
-       if (modifiers == name)
-         error ("forcing explicit tag name but no name, ignoring");
-       force_explicit_name = true;
-       break;
-      case 'i':
-       ignore_case = true;
-       break;
-      case 's':
-       single_line = true;
-       /* FALLTHRU */
-      case 'm':
-       multi_line = true;
-       need_filebuf = true;
-       break;
-      default:
-       error ("invalid regexp modifier `%c', ignoring", modifiers[0]);
-       break;
-      }
-
-  patbuf = xnew (1, struct re_pattern_buffer);
-  *patbuf = zeropattern;
-  if (ignore_case)
-    {
-      static char lc_trans[CHARS];
-      int i;
-      for (i = 0; i < CHARS; i++)
-       lc_trans[i] = lowcase (i);
-      patbuf->translate = lc_trans;    /* translation table to fold case  */
-    }
-
-  if (multi_line)
-    pat = concat ("^", regexp_pattern, ""); /* anchor to beginning of line */
-  else
-    pat = regexp_pattern;
-
-  if (single_line)
-    re_set_syntax (RE_SYNTAX_EMACS | RE_DOT_NEWLINE);
-  else
-    re_set_syntax (RE_SYNTAX_EMACS);
-
-  err = re_compile_pattern (pat, strlen (pat), patbuf);
-  if (multi_line)
-    free (pat);
-  if (err != NULL)
-    {
-      error ("%s while compiling pattern", err);
-      return;
-    }
-
-  rp = p_head;
-  p_head = xnew (1, regexp);
-  p_head->pattern = savestr (regexp_pattern);
-  p_head->p_next = rp;
-  p_head->lang = lang;
-  p_head->pat = patbuf;
-  p_head->name = savestr (name);
-  p_head->error_signaled = false;
-  p_head->force_explicit_name = force_explicit_name;
-  p_head->ignore_case = ignore_case;
-  p_head->multi_line = multi_line;
-}
-
-/*
- * Do the substitutions indicated by the regular expression and
- * arguments.
- */
-static char *
-substitute (char *in, char *out, struct re_registers *regs)
-{
-  char *result, *t;
-  int size, dig, diglen;
-
-  result = NULL;
-  size = strlen (out);
-
-  /* Pass 1: figure out how much to allocate by finding all \N strings. */
-  if (out[size - 1] == '\\')
-    fatal ("pattern error in \"%s\"", out);
-  for (t = strchr (out, '\\');
-       t != NULL;
-       t = strchr (t + 2, '\\'))
-    if (ISDIGIT (t[1]))
-      {
-       dig = t[1] - '0';
-       diglen = regs->end[dig] - regs->start[dig];
-       size += diglen - 2;
-      }
-    else
-      size -= 1;
-
-  /* Allocate space and do the substitutions. */
-  assert (size >= 0);
-  result = xnew (size + 1, char);
-
-  for (t = result; *out != '\0'; out++)
-    if (*out == '\\' && ISDIGIT (*++out))
-      {
-       dig = *out - '0';
-       diglen = regs->end[dig] - regs->start[dig];
-       memcpy (t, in + regs->start[dig], diglen);
-       t += diglen;
-      }
-    else
-      *t++ = *out;
-  *t = '\0';
-
-  assert (t <= result + size);
-  assert (t - result == (int)strlen (result));
-
-  return result;
-}
-
-/* Deallocate all regexps. */
-static void
-free_regexps (void)
-{
-  regexp *rp;
-  while (p_head != NULL)
-    {
-      rp = p_head->p_next;
-      free (p_head->pattern);
-      free (p_head->name);
-      free (p_head);
-      p_head = rp;
-    }
-  return;
-}
-
-/*
- * Reads the whole file as a single string from `filebuf' and looks for
- * multi-line regular expressions, creating tags on matches.
- * readline already dealt with normal regexps.
- *
- * Idea by Ben Wing <ben@666.com> (2002).
- */
-static void
-regex_tag_multiline (void)
-{
-  char *buffer = filebuf.buffer;
-  regexp *rp;
-  char *name;
-
-  for (rp = p_head; rp != NULL; rp = rp->p_next)
-    {
-      int match = 0;
-
-      if (!rp->multi_line)
-       continue;               /* skip normal regexps */
-
-      /* Generic initializations before parsing file from memory. */
-      lineno = 1;              /* reset global line number */
-      charno = 0;              /* reset global char number */
-      linecharno = 0;          /* reset global char number of line start */
-
-      /* Only use generic regexps or those for the current language. */
-      if (rp->lang != NULL && rp->lang != curfdp->lang)
-       continue;
-
-      while (match >= 0 && match < filebuf.len)
-       {
-         match = re_search (rp->pat, buffer, filebuf.len, charno,
-                            filebuf.len - match, &rp->regs);
-         switch (match)
-           {
-           case -2:
-             /* Some error. */
-             if (!rp->error_signaled)
-               {
-                 error ("regexp stack overflow while matching \"%s\"",
-                        rp->pattern);
-                 rp->error_signaled = true;
-               }
-             break;
-           case -1:
-             /* No match. */
-             break;
-           default:
-             if (match == rp->regs.end[0])
-               {
-                 if (!rp->error_signaled)
-                   {
-                     error ("regexp matches the empty string: \"%s\"",
-                            rp->pattern);
-                     rp->error_signaled = true;
-                   }
-                 match = -3;   /* exit from while loop */
-                 break;
-               }
-
-             /* Match occurred.  Construct a tag. */
-             while (charno < rp->regs.end[0])
-               if (buffer[charno++] == '\n')
-                 lineno++, linecharno = charno;
-             name = rp->name;
-             if (name[0] == '\0')
-               name = NULL;
-             else /* make a named tag */
-               name = substitute (buffer, rp->name, &rp->regs);
-             if (rp->force_explicit_name)
-               /* Force explicit tag name, if a name is there. */
-               pfnote (name, true, buffer + linecharno,
-                       charno - linecharno + 1, lineno, linecharno);
-             else
-               make_tag (name, strlen (name), true, buffer + linecharno,
-                         charno - linecharno + 1, lineno, linecharno);
-             break;
-           }
-       }
-    }
-}
-
-\f
-static bool
-nocase_tail (const char *cp)
-{
-  register int len = 0;
-
-  while (*cp != '\0' && lowcase (*cp) == lowcase (dbp[len]))
-    cp++, len++;
-  if (*cp == '\0' && !intoken (dbp[len]))
-    {
-      dbp += len;
-      return true;
-    }
-  return false;
-}
-
-static void
-get_tag (register char *bp, char **namepp)
-{
-  register char *cp = bp;
-
-  if (*bp != '\0')
-    {
-      /* Go till you get to white space or a syntactic break */
-      for (cp = bp + 1; !notinname (*cp); cp++)
-       continue;
-      make_tag (bp, cp - bp, true,
-               lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
-    }
-
-  if (namepp != NULL)
-    *namepp = savenstr (bp, cp - bp);
-}
-
-/*
- * Read a line of text from `stream' into `lbp', excluding the
- * newline or CR-NL, if any.  Return the number of characters read from
- * `stream', which is the length of the line including the newline.
- *
- * On DOS or Windows we do not count the CR character, if any before the
- * NL, in the returned length; this mirrors the behavior of Emacs on those
- * platforms (for text files, it translates CR-NL to NL as it reads in the
- * file).
- *
- * If multi-line regular expressions are requested, each line read is
- * appended to `filebuf'.
- */
-static long
-readline_internal (linebuffer *lbp, register FILE *stream)
-{
-  char *buffer = lbp->buffer;
-  register char *p = lbp->buffer;
-  register char *pend;
-  int chars_deleted;
-
-  pend = p + lbp->size;                /* Separate to avoid 386/IX compiler bug.  */
-
-  for (;;)
-    {
-      register int c = getc (stream);
-      if (p == pend)
-       {
-         /* We're at the end of linebuffer: expand it. */
-         lbp->size *= 2;
-         xrnew (buffer, lbp->size, char);
-         p += buffer - lbp->buffer;
-         pend = buffer + lbp->size;
-         lbp->buffer = buffer;
-       }
-      if (c == EOF)
-       {
-         *p = '\0';
-         chars_deleted = 0;
-         break;
-       }
-      if (c == '\n')
-       {
-         if (p > buffer && p[-1] == '\r')
-           {
-             p -= 1;
-#ifdef DOS_NT
-            /* Assume CRLF->LF translation will be performed by Emacs
-               when loading this file, so CRs won't appear in the buffer.
-               It would be cleaner to compensate within Emacs;
-               however, Emacs does not know how many CRs were deleted
-               before any given point in the file.  */
-             chars_deleted = 1;
-#else
-             chars_deleted = 2;
-#endif
-           }
-         else
-           {
-             chars_deleted = 1;
-           }
-         *p = '\0';
-         break;
-       }
-      *p++ = c;
-    }
-  lbp->len = p - buffer;
-
-  if (need_filebuf             /* we need filebuf for multi-line regexps */
-      && chars_deleted > 0)    /* not at EOF */
-    {
-      while (filebuf.size <= filebuf.len + lbp->len + 1) /* +1 for \n */
-       {
-         /* Expand filebuf. */
-         filebuf.size *= 2;
-         xrnew (filebuf.buffer, filebuf.size, char);
-       }
-      memcpy (filebuf.buffer + filebuf.len, lbp->buffer, lbp->len);
-      filebuf.len += lbp->len;
-      filebuf.buffer[filebuf.len++] = '\n';
-      filebuf.buffer[filebuf.len] = '\0';
-    }
-
-  return lbp->len + chars_deleted;
-}
-
-/*
- * Like readline_internal, above, but in addition try to match the
- * input line against relevant regular expressions and manage #line
- * directives.
- */
-static void
-readline (linebuffer *lbp, FILE *stream)
-{
-  long result;
-
-  linecharno = charno;         /* update global char number of line start */
-  result = readline_internal (lbp, stream); /* read line */
-  lineno += 1;                 /* increment global line number */
-  charno += result;            /* increment global char number */
-
-  /* Honor #line directives. */
-  if (!no_line_directive)
-    {
-      static bool discard_until_line_directive;
-
-      /* Check whether this is a #line directive. */
-      if (result > 12 && strneq (lbp->buffer, "#line ", 6))
-       {
-         unsigned int lno;
-         int start = 0;
-
-         if (sscanf (lbp->buffer, "#line %u \"%n", &lno, &start) >= 1
-             && start > 0)     /* double quote character found */
-           {
-             char *endp = lbp->buffer + start;
-
-             while ((endp = strchr (endp, '"')) != NULL
-                    && endp[-1] == '\\')
-               endp++;
-             if (endp != NULL)
-               /* Ok, this is a real #line directive.  Let's deal with it. */
-               {
-                 char *taggedabsname;  /* absolute name of original file */
-                 char *taggedfname;    /* name of original file as given */
-                 char *name;           /* temp var */
-
-                 discard_until_line_directive = false; /* found it */
-                 name = lbp->buffer + start;
-                 *endp = '\0';
-                 canonicalize_filename (name);
-                 taggedabsname = absolute_filename (name, tagfiledir);
-                 if (filename_is_absolute (name)
-                     || filename_is_absolute (curfdp->infname))
-                   taggedfname = savestr (taggedabsname);
-                 else
-                   taggedfname = relative_filename (taggedabsname,tagfiledir);
-
-                 if (streq (curfdp->taggedfname, taggedfname))
-                   /* The #line directive is only a line number change.  We
-                      deal with this afterwards. */
-                   free (taggedfname);
-                 else
-                   /* The tags following this #line directive should be
-                      attributed to taggedfname.  In order to do this, set
-                      curfdp accordingly. */
-                   {
-                     fdesc *fdp; /* file description pointer */
-
-                     /* Go look for a file description already set up for the
-                        file indicated in the #line directive.  If there is
-                        one, use it from now until the next #line
-                        directive. */
-                     for (fdp = fdhead; fdp != NULL; fdp = fdp->next)
-                       if (streq (fdp->infname, curfdp->infname)
-                           && streq (fdp->taggedfname, taggedfname))
-                         /* If we remove the second test above (after the &&)
-                            then all entries pertaining to the same file are
-                            coalesced in the tags file.  If we use it, then
-                            entries pertaining to the same file but generated
-                            from different files (via #line directives) will
-                            go into separate sections in the tags file.  These
-                            alternatives look equivalent.  The first one
-                            destroys some apparently useless information. */
-                         {
-                           curfdp = fdp;
-                           free (taggedfname);
-                           break;
-                         }
-                     /* Else, if we already tagged the real file, skip all
-                        input lines until the next #line directive. */
-                     if (fdp == NULL) /* not found */
-                       for (fdp = fdhead; fdp != NULL; fdp = fdp->next)
-                         if (streq (fdp->infabsname, taggedabsname))
-                           {
-                             discard_until_line_directive = true;
-                             free (taggedfname);
-                             break;
-                           }
-                     /* Else create a new file description and use that from
-                        now on, until the next #line directive. */
-                     if (fdp == NULL) /* not found */
-                       {
-                         fdp = fdhead;
-                         fdhead = xnew (1, fdesc);
-                         *fdhead = *curfdp; /* copy curr. file description */
-                         fdhead->next = fdp;
-                         fdhead->infname = savestr (curfdp->infname);
-                         fdhead->infabsname = savestr (curfdp->infabsname);
-                         fdhead->infabsdir = savestr (curfdp->infabsdir);
-                         fdhead->taggedfname = taggedfname;
-                         fdhead->usecharno = false;
-                         fdhead->prop = NULL;
-                         fdhead->written = false;
-                         curfdp = fdhead;
-                       }
-                   }
-                 free (taggedabsname);
-                 lineno = lno - 1;
-                 readline (lbp, stream);
-                 return;
-               } /* if a real #line directive */
-           } /* if #line is followed by a number */
-       } /* if line begins with "#line " */
-
-      /* If we are here, no #line directive was found. */
-      if (discard_until_line_directive)
-       {
-         if (result > 0)
-           {
-             /* Do a tail recursion on ourselves, thus discarding the contents
-                of the line buffer. */
-             readline (lbp, stream);
-             return;
-           }
-         /* End of file. */
-         discard_until_line_directive = false;
-         return;
-       }
-    } /* if #line directives should be considered */
-
-  {
-    int match;
-    regexp *rp;
-    char *name;
-
-    /* Match against relevant regexps. */
-    if (lbp->len > 0)
-      for (rp = p_head; rp != NULL; rp = rp->p_next)
-       {
-         /* Only use generic regexps or those for the current language.
-            Also do not use multiline regexps, which is the job of
-            regex_tag_multiline. */
-         if ((rp->lang != NULL && rp->lang != fdhead->lang)
-             || rp->multi_line)
-           continue;
-
-         match = re_match (rp->pat, lbp->buffer, lbp->len, 0, &rp->regs);
-         switch (match)
-           {
-           case -2:
-             /* Some error. */
-             if (!rp->error_signaled)
-               {
-                 error ("regexp stack overflow while matching \"%s\"",
-                        rp->pattern);
-                 rp->error_signaled = true;
-               }
-             break;
-           case -1:
-             /* No match. */
-             break;
-           case 0:
-             /* Empty string matched. */
-             if (!rp->error_signaled)
-               {
-                 error ("regexp matches the empty string: \"%s\"", rp->pattern);
-                 rp->error_signaled = true;
-               }
-             break;
-           default:
-             /* Match occurred.  Construct a tag. */
-             name = rp->name;
-             if (name[0] == '\0')
-               name = NULL;
-             else /* make a named tag */
-               name = substitute (lbp->buffer, rp->name, &rp->regs);
-             if (rp->force_explicit_name)
-               /* Force explicit tag name, if a name is there. */
-               pfnote (name, true, lbp->buffer, match, lineno, linecharno);
-             else
-               make_tag (name, strlen (name), true,
-                         lbp->buffer, match, lineno, linecharno);
-             break;
-           }
-       }
-  }
-}
-
-\f
-/*
- * Return a pointer to a space of size strlen(cp)+1 allocated
- * with xnew where the string CP has been copied.
- */
-static char *
-savestr (const char *cp)
-{
-  return savenstr (cp, strlen (cp));
-}
-
-/*
- * Return a pointer to a space of size LEN+1 allocated with xnew where
- * the string CP has been copied for at most the first LEN characters.
- */
-static char *
-savenstr (const char *cp, int len)
-{
-  char *dp = xnew (len + 1, char);
-  dp[len] = '\0';
-  return memcpy (dp, cp, len);
-}
-
-/* Skip spaces (end of string is not space), return new pointer. */
-static char *
-skip_spaces (char *cp)
-{
-  while (iswhite (*cp))
-    cp++;
-  return cp;
-}
-
-/* Skip non spaces, except end of string, return new pointer. */
-static char *
-skip_non_spaces (char *cp)
-{
-  while (*cp != '\0' && !iswhite (*cp))
-    cp++;
-  return cp;
-}
-
-/* Skip any chars in the "name" class.*/
-static char *
-skip_name (char *cp)
-{
-  /* '\0' is a notinname() so loop stops there too */
-  while (! notinname (*cp))
-    cp++;
-  return cp;
-}
-
-/* Print error message and exit.  */
-void
-fatal (const char *s1, const char *s2)
-{
-  error (s1, s2);
-  exit (EXIT_FAILURE);
-}
-
-static void
-pfatal (const char *s1)
-{
-  perror (s1);
-  exit (EXIT_FAILURE);
-}
-
-static void
-suggest_asking_for_help (void)
-{
-  fprintf (stderr, "\tTry `%s --help' for a complete list of options.\n",
-          progname);
-  exit (EXIT_FAILURE);
-}
-
-/* Output a diagnostic with printf-style FORMAT and args.  */
-static void
-error (const char *format, ...)
-{
-  va_list ap;
-  va_start (ap, format);
-  fprintf (stderr, "%s: ", progname);
-  vfprintf (stderr, format, ap);
-  fprintf (stderr, "\n");
-  va_end (ap);
-}
-
-/* Return a newly-allocated string whose contents
-   concatenate those of s1, s2, s3.  */
-static char *
-concat (const char *s1, const char *s2, const char *s3)
-{
-  int len1 = strlen (s1), len2 = strlen (s2), len3 = strlen (s3);
-  char *result = xnew (len1 + len2 + len3 + 1, char);
-
-  strcpy (result, s1);
-  strcpy (result + len1, s2);
-  strcpy (result + len1 + len2, s3);
-
-  return result;
-}
-
-\f
-/* Does the same work as the system V getcwd, but does not need to
-   guess the buffer size in advance. */
-static char *
-etags_getcwd (void)
-{
-  int bufsize = 200;
-  char *path = xnew (bufsize, char);
-
-  while (getcwd (path, bufsize) == NULL)
-    {
-      if (errno != ERANGE)
-       pfatal ("getcwd");
-      bufsize *= 2;
-      free (path);
-      path = xnew (bufsize, char);
-    }
-
-  canonicalize_filename (path);
-  return path;
-}
-
-/* Return a newly allocated string containing the file name of FILE
-   relative to the absolute directory DIR (which should end with a slash). */
-static char *
-relative_filename (char *file, char *dir)
-{
-  char *fp, *dp, *afn, *res;
-  int i;
-
-  /* Find the common root of file and dir (with a trailing slash). */
-  afn = absolute_filename (file, cwd);
-  fp = afn;
-  dp = dir;
-  while (*fp++ == *dp++)
-    continue;
-  fp--, dp--;                  /* back to the first differing char */
-#ifdef DOS_NT
-  if (fp == afn && afn[0] != '/') /* cannot build a relative name */
-    return afn;
-#endif
-  do                           /* look at the equal chars until '/' */
-    fp--, dp--;
-  while (*fp != '/');
-
-  /* Build a sequence of "../" strings for the resulting relative file name. */
-  i = 0;
-  while ((dp = strchr (dp + 1, '/')) != NULL)
-    i += 1;
-  res = xnew (3*i + strlen (fp + 1) + 1, char);
-  char *z = res;
-  while (i-- > 0)
-    z = stpcpy (z, "../");
-
-  /* Add the file name relative to the common root of file and dir. */
-  strcpy (z, fp + 1);
-  free (afn);
-
-  return res;
-}
-
-/* Return a newly allocated string containing the absolute file name
-   of FILE given DIR (which should end with a slash). */
-static char *
-absolute_filename (char *file, char *dir)
-{
-  char *slashp, *cp, *res;
-
-  if (filename_is_absolute (file))
-    res = savestr (file);
-#ifdef DOS_NT
-  /* We don't support non-absolute file names with a drive
-     letter, like `d:NAME' (it's too much hassle).  */
-  else if (file[1] == ':')
-    fatal ("%s: relative file names with drive letters not supported", file);
-#endif
-  else
-    res = concat (dir, file, "");
-
-  /* Delete the "/dirname/.." and "/." substrings. */
-  slashp = strchr (res, '/');
-  while (slashp != NULL && slashp[0] != '\0')
-    {
-      if (slashp[1] == '.')
-       {
-         if (slashp[2] == '.'
-             && (slashp[3] == '/' || slashp[3] == '\0'))
-           {
-             cp = slashp;
-             do
-               cp--;
-             while (cp >= res && !filename_is_absolute (cp));
-             if (cp < res)
-               cp = slashp;    /* the absolute name begins with "/.." */
-#ifdef DOS_NT
-             /* Under MSDOS and NT we get `d:/NAME' as absolute
-                file name, so the luser could say `d:/../NAME'.
-                We silently treat this as `d:/NAME'.  */
-             else if (cp[0] != '/')
-               cp = slashp;
-#endif
-              memmove (cp, slashp + 3, strlen (slashp + 2));
-             slashp = cp;
-             continue;
-           }
-         else if (slashp[2] == '/' || slashp[2] == '\0')
-           {
-             memmove (slashp, slashp + 2, strlen (slashp + 1));
-             continue;
-           }
-       }
-
-      slashp = strchr (slashp + 1, '/');
-    }
-
-  if (res[0] == '\0')          /* just a safety net: should never happen */
-    {
-      free (res);
-      return savestr ("/");
-    }
-  else
-    return res;
-}
-
-/* Return a newly allocated string containing the absolute
-   file name of dir where FILE resides given DIR (which should
-   end with a slash). */
-static char *
-absolute_dirname (char *file, char *dir)
-{
-  char *slashp, *res;
-  char save;
-
-  slashp = strrchr (file, '/');
-  if (slashp == NULL)
-    return savestr (dir);
-  save = slashp[1];
-  slashp[1] = '\0';
-  res = absolute_filename (file, dir);
-  slashp[1] = save;
-
-  return res;
-}
-
-/* Whether the argument string is an absolute file name.  The argument
-   string must have been canonicalized with canonicalize_filename. */
-static bool
-filename_is_absolute (char *fn)
-{
-  return (fn[0] == '/'
-#ifdef DOS_NT
-         || (ISALPHA (fn[0]) && fn[1] == ':' && fn[2] == '/')
-#endif
-         );
-}
-
-/* Downcase DOS drive letter and collapse separators into single slashes.
-   Works in place. */
-static void
-canonicalize_filename (register char *fn)
-{
-  register char* cp;
-  char sep = '/';
-
-#ifdef DOS_NT
-  /* Canonicalize drive letter case.  */
-# define ISUPPER(c)    isupper (CHAR (c))
-  if (fn[0] != '\0' && fn[1] == ':' && ISUPPER (fn[0]))
-    fn[0] = lowcase (fn[0]);
-
-  sep = '\\';
-#endif
-
-  /* Collapse multiple separators into a single slash. */
-  for (cp = fn; *cp != '\0'; cp++, fn++)
-    if (*cp == sep)
-      {
-       *fn = '/';
-       while (cp[1] == sep)
-         cp++;
-      }
-    else
-      *fn = *cp;
-  *fn = '\0';
-}
-
-\f
-/* Initialize a linebuffer for use. */
-static void
-linebuffer_init (linebuffer *lbp)
-{
-  lbp->size = (DEBUG) ? 3 : 200;
-  lbp->buffer = xnew (lbp->size, char);
-  lbp->buffer[0] = '\0';
-  lbp->len = 0;
-}
-
-/* Set the minimum size of a string contained in a linebuffer. */
-static void
-linebuffer_setlen (linebuffer *lbp, int toksize)
-{
-  while (lbp->size <= toksize)
-    {
-      lbp->size *= 2;
-      xrnew (lbp->buffer, lbp->size, char);
-    }
-  lbp->len = toksize;
-}
-
-/* Like malloc but get fatal error if memory is exhausted. */
-static void *
-xmalloc (size_t size)
-{
-  void *result = malloc (size);
-  if (result == NULL)
-    fatal ("virtual memory exhausted", (char *)NULL);
-  return result;
-}
-
-static void *
-xrealloc (void *ptr, size_t size)
-{
-  void *result = realloc (ptr, size);
-  if (result == NULL)
-    fatal ("virtual memory exhausted", (char *)NULL);
-  return result;
-}
-
-/*
- * Local Variables:
- * indent-tabs-mode: t
- * tab-width: 8
- * fill-column: 79
- * c-font-lock-extra-types: ("FILE" "bool" "language" "linebuffer" "fdesc" "node" "regexp")
- * c-file-style: "gnu"
- * End:
- */
-
-/* etags.c ends here */
diff --git a/test/manual/etags/c-src/exit.c b/test/manual/etags/c-src/exit.c
deleted file mode 100644 (file)
index bd21f5d..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Copyright (C) 1991, 2016-2024 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <ansidecl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include "exit.h"
-
-#ifdef HAVE_GNU_LD
-CONST struct
-  {
-    size_t n;
-    void EXFUN((*fn[1]), (NOARGS));
-  } __libc_atexit;
-#endif
-
-/* Call all functions registered with `atexit' and `on_exit',
-   in the reverse of the order in which they were registered
-   perform stdio cleanup, and terminate program execution with STATUS.  */
-__NORETURN
-void
-DEFUN(exit, (status), int status)
-{
-  register CONST struct exit_function_list *l;
-
-  for (l = __exit_funcs; l != NULL; l = l->next)
-    {
-      register size_t i = l->idx;
-      while (i-- > 0)
-       {
-         CONST struct exit_function *CONST f = &l->fns[i];
-         switch (f->flavor)
-           {
-           case ef_free:
-             break;
-           case ef_on:
-             (*f->func.on.fn)(status, f->func.on.arg);
-             break;
-           case ef_at:
-             (*f->func.at)();
-             break;
-           }
-       }
-    }
-
-#ifdef HAVE_GNU_LD
-  {
-    void EXFUN((*CONST *fn), (NOARGS));
-    for (fn = __libc_atexit.fn; *fn != NULL; ++fn)
-      (**fn) ();
-  }
-#else
-  {
-    extern void EXFUN(_cleanup, (NOARGS));
-    _cleanup();
-  }
-#endif
-
-  _exit(status);
-}
-
diff --git a/test/manual/etags/c-src/exit.strange_suffix b/test/manual/etags/c-src/exit.strange_suffix
deleted file mode 100644 (file)
index bd21f5d..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Copyright (C) 1991, 2016-2024 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <ansidecl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include "exit.h"
-
-#ifdef HAVE_GNU_LD
-CONST struct
-  {
-    size_t n;
-    void EXFUN((*fn[1]), (NOARGS));
-  } __libc_atexit;
-#endif
-
-/* Call all functions registered with `atexit' and `on_exit',
-   in the reverse of the order in which they were registered
-   perform stdio cleanup, and terminate program execution with STATUS.  */
-__NORETURN
-void
-DEFUN(exit, (status), int status)
-{
-  register CONST struct exit_function_list *l;
-
-  for (l = __exit_funcs; l != NULL; l = l->next)
-    {
-      register size_t i = l->idx;
-      while (i-- > 0)
-       {
-         CONST struct exit_function *CONST f = &l->fns[i];
-         switch (f->flavor)
-           {
-           case ef_free:
-             break;
-           case ef_on:
-             (*f->func.on.fn)(status, f->func.on.arg);
-             break;
-           case ef_at:
-             (*f->func.at)();
-             break;
-           }
-       }
-    }
-
-#ifdef HAVE_GNU_LD
-  {
-    void EXFUN((*CONST *fn), (NOARGS));
-    for (fn = __libc_atexit.fn; *fn != NULL; ++fn)
-      (**fn) ();
-  }
-#else
-  {
-    extern void EXFUN(_cleanup, (NOARGS));
-    _cleanup();
-  }
-#endif
-
-  _exit(status);
-}
-
diff --git a/test/manual/etags/c-src/fail.c b/test/manual/etags/c-src/fail.c
deleted file mode 100644 (file)
index 3248278..0000000
+++ /dev/null
@@ -1 +0,0 @@
-void (*prt_call())();
diff --git a/test/manual/etags/c-src/getopt.h b/test/manual/etags/c-src/getopt.h
deleted file mode 100644 (file)
index 069d7b9..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/* Declarations for getopt.
-   Copyright (C) 1989-1992, 2016-2024 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published by the
-   Free Software Foundation; either version 2, or (at your option) any
-   later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
-
-#ifndef _GETOPT_H
-#define _GETOPT_H 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* For communication from `getopt' to the caller.
-   When `getopt' finds an option that takes an argument,
-   the argument value is returned here.
-   Also, when `ordering' is RETURN_IN_ORDER,
-   each non-option ARGV-element is returned here.  */
-
-extern char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
-   This is used for communication to and from the caller
-   and for communication between successive calls to `getopt'.
-
-   On entry to `getopt', zero means this is the first call; initialize.
-
-   When `getopt' returns EOF, this is the index of the first of the
-   non-option elements that the caller should itself scan.
-
-   Otherwise, `optind' communicates from one call to the next
-   how much of ARGV has been scanned so far.  */
-
-extern int optind;
-
-/* Callers store zero here to inhibit the error message `getopt' prints
-   for unrecognized options.  */
-
-extern int opterr;
-
-/* Describe the long-named options requested by the application.
-   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
-   of `struct option' terminated by an element containing a name which is
-   zero.
-
-   The field `has_arg' is:
-   no_argument         (or 0) if the option does not take an argument,
-   required_argument   (or 1) if the option requires an argument,
-   optional_argument   (or 2) if the option takes an optional argument.
-
-   If the field `flag' is not NULL, it points to a variable that is set
-   to the value given in the field `val' when the option is found, but
-   left unchanged if the option is not found.
-
-   To have a long-named option do something other than set an `int' to
-   a compiled-in constant, such as set a value from `optarg', set the
-   option's `flag' field to zero and its `val' field to a nonzero
-   value (the equivalent single-letter option character, if there is
-   one).  For long options that have a zero `flag' field, `getopt'
-   returns the contents of the `val' field.  */
-
-struct option
-{
-#if    __STDC__
-  const char *name;
-#else
-  char *name;
-#endif
-  /* has_arg can't be an enum because some compilers complain about
-     type mismatches in all the code that assumes it is an int.  */
-  int has_arg;
-  int *flag;
-  int val;
-};
-
-/* Names for the values of the `has_arg' field of `struct option'.  */
-
-#define        no_argument             0
-#define required_argument      1
-#define optional_argument      2
-
-#if __STDC__
-#if defined(__GNU_LIBRARY__)
-/* Many other libraries have conflicting prototypes for getopt, with
-   differences in the consts, in stdlib.h.  To avoid compilation
-   errors, only prototype getopt for the GNU C library.  */
-extern int getopt (int argc, char *const *argv, const char *shortopts);
-#else /* not __GNU_LIBRARY__ */
-extern int getopt ();
-#endif /* not __GNU_LIBRARY__ */
-extern int getopt_long (int argc, char *const *argv, const char *shortopts,
-                       const struct option *longopts, int *longind);
-extern int getopt_long_only (int argc, char *const *argv,
-                            const char *shortopts,
-                            const struct option *longopts, int *longind);
-
-/* Internal only.  Users should not call this directly.  */
-extern int _getopt_internal (int argc, char *const *argv,
-                            const char *shortopts,
-                            const struct option *longopts, int *longind,
-                            int long_only);
-#else /* not __STDC__ */
-extern int getopt ();
-extern int getopt_long ();
-extern int getopt_long_only ();
-
-extern int _getopt_internal ();
-#endif /* not __STDC__ */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GETOPT_H */
diff --git a/test/manual/etags/c-src/h.h b/test/manual/etags/c-src/h.h
deleted file mode 100644 (file)
index f86c00d..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-typedef enum
-{
-   ELEM_I/**< Comment Element i
-              Second comment line. */
-} Fails_t;
-typedef void Lang_function ();
-void Asm_labels ();
-typedef struct tpcmd
-{
-#define ggg hhh
-  union
-  {
-  } arg;
-}
-tpcmd;
-typedef struct foobar2_ {
-    fu   int (*funcptr) (void *ptr);
-    long foo;
-    char bar;
-} foobar2;
-typedef enum
-{
-    DEVICE_SWP,
-    DEVICE_LAST
-} bsp_DevId;
-typedef union {
-  struct constant_args {
-    unsigned int burst;
-  } constant;
-} args;
-typedef int *regset;
-typedef int INT;
-typedef union abc
-{
-  int def;
-} ghi1;
-typedef union abc {
-  int def;
-} ghi2;
-typedef struct a {
-} b;
-#define c() d
-typedef struct an_extern_linkage *an_extern_linkage_ptr;
-typedef struct an_extern_linkage {
-  a_name_linkage_kind
-               kind;
-                       /* The kind of external linkage ("C++" or "C"). */
-  a_byte_boolean
-               is_explicit;
-                       /* TRUE if the external linkage requirement is
-                          explicitly specified in the source; FALSE for the
-                          default set for the translation unit as a whole. */
-#ifdef CL_CHANGES
-  a_byte_boolean is_curly_brace_form;
-#endif
-} an_extern_linkage;
-typedef struct pollfd   pfdset[FD_SETSIZE];
-typedef union rtunion_def
-  {
-    int rtint;
-    char *rtstr;
-    struct rtx_def *rtx;
-  } womboid ;
-typedef union rtunion_def
-
-{
-
-  int rtint;
-  char *rtstr;
-  struct rtx_def *rtxp;
-  struct rtx_def rtxnp;
-
-}
-
-womboid
-
-;
-
-
-/* Leave the next two lines in that order.  They exercise an old bug. */
-enum {dog, cat} animals;
-typedef void (_CALLBACK_ *signal_handler)(int);
-typedef void (_CALLBACK_ *signal_handler1)(int);
-/* comment */ #define ANSIC
- #define ANSIC
- #else
-typedef void (proc) ();
-typedef void OperatorFun(int opId);
-typedef int f(int a,
-              int b);
-struct my_struct {
-};
-typedef struct my_struct my_typedef;
-typedef RETSIGTYPE (*signal_handler_t) (int);
-#if 0
-  Date 04 May 87 235311 PDT (Mon)
-  Date: 04 May 87 23:53:11 PDT (Mon)
-#endif
-typedef unsigned char unchar;
-typedef int X, Y, Z;
-typedef mio mao;
-extern void ab();
-typedef struct a { } b;
-typedef struct b
-{
-} c;
-int    (*oldhup)();
-request (*oldhup) ();
-int extvar;
-#define tag1
-#define aaaaaa \
-bbbbbb
-#define bbbbbb\
-cccccc
-#define cccccccccc
-#define enter_critical_section         do { int pri = spl7();
-#define exit_critical_to_previous      splarg (pri); } while (0)
-#define UNDEFINED
-struct re_pattern_buffer { unsigned char *buffer; };
diff --git a/test/manual/etags/c-src/machsyscalls.c b/test/manual/etags/c-src/machsyscalls.c
deleted file mode 100644 (file)
index 44930c3..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Aliases for basic Mach system calls:
-   mach_task_self -> __mach_task_self, etc.  */
-
-#include <gnu-stabs.h>
-
-#define        SYSCALL(name, number, type, args, typed_args) \
-  function_alias (name, __##name, type, args, \
-                 name typed_args)
-
-#include "mach_syscalls.h"
diff --git a/test/manual/etags/c-src/machsyscalls.h b/test/manual/etags/c-src/machsyscalls.h
deleted file mode 100644 (file)
index 8b33dc4..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-SYSCALL (mach_msg_trap, -25,
-        mach_msg_return_t,
-        (msg, option, send_size,
-         rcv_size, rcv_name, timeout, notify),
-        (mach_msg_header_t *msg,
-         mach_msg_option_t option,
-         mach_msg_size_t send_size,
-         mach_msg_size_t rcv_size,
-         mach_port_t rcv_name,
-         mach_msg_timeout_t timeout,
-         mach_port_t notify))
-
-SYSCALL (mach_reply_port, -26,
-        mach_port_t,
-        (),
-        (void))
-
-SYSCALL (mach_thread_self, -27,
-        mach_port_t,
-        (),
-        (void))
-
-SYSCALL (mach_task_self, -28,
-        mach_port_t,
-        (),
-        (void))
-
-SYSCALL (mach_host_self, -29,
-        mach_port_t,
-        (),
-        (void))
diff --git a/test/manual/etags/c-src/sysdep.h b/test/manual/etags/c-src/sysdep.h
deleted file mode 100644 (file)
index d8fc292..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 1992-1993, 2016-2024 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <sysdeps/unix/sysdep.h>
-
-#define        ENTRY(name)                                                           \
-  .globl _##name;                                                            \
-  .align 2;                                                                  \
-  _##name##:
-
-#define        PSEUDO(name, syscall_name, args)                                      \
-  .text;                                                                     \
-  .globl syscall_error;                                                              \
-  ENTRY (name)                                                               \
-    XCHG_##args
-    movl $SYS_##syscall_name, %eax;                                          \
-    int $0x80;                                                               \
-    test %eax, %eax;                                                         \
-    jl syscall_error;                                                        \
-    XCHG_##args
-
-/* Linux takes system call arguments in registers:
-       1: %ebx
-       2: %ecx
-       3: %edx
-       4: %esi
-       5: %edi
-   We put the arguments into registers from the stack,
-   and save the registers, by using the 386 `xchg' instruction
-   to swap the values in both directions.  */
-
-#define        XCHG_0  /* No arguments to frob.  */
-#define        XCHG_1  xchg 8(%esp), %ebx; XCHG_0
-#define        XCHG_2  xchg 12(%esp), %ecx; XCHG_1
-#define        XCHG_3  xchg 16(%esp), %edx; XCHG_2
-#define        XCHG_4  xchg 20(%esp), %esi; XCHG_3
-#define        XCHG_5  xchg 24(%esp), %edi; XCHG_3
-
-#define        r0              %eax    /* Normal return-value register.  */
-#define        r1              %edx    /* Secondary return-value register.  */
-#define scratch        %ecx    /* Call-clobbered register for random use.  */
-#define MOVE(x,y)      movl x, y
diff --git a/test/manual/etags/c-src/tab.c b/test/manual/etags/c-src/tab.c
deleted file mode 100644 (file)
index b25d55c..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
-** tab.c for  in
-**
-** Made by Pierric
-** Login   <pierric@seignobosc.com>
-**
-** Started on  Thu Jan 24 18:36:47 2002 Pierric
-** Last update Mon Sep 23 18:02:02 2002 Pierric
-*/
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include "my_malloc.h"
-
-static int             count_words(char *str, char delim)
-{
-  int                   count;
-
-  count = 0;
-  while (*str)
-    {
-      if (*str != delim)
-       {
-         count++;
-         if (!strchr(str + 1, delim))
-           return (count);
-         str = strchr(str + 1, delim);
-       }
-      else
-       str++;
-    }
-  return (count);
-}
-
-static char            *get_word(char **str, char delim)
-{
-  char                 *tmp;
-  char                 *new;
-
-  while (**str == delim)
-    (*str)++;
-  if (**str == 0)
-    return (NULL);
-  tmp = strchr(*str, delim);
-  if (!tmp)
-    {
-      new = strdup(*str);
-      while (**str)
-       (*str)++;
-      return (new);
-    }
-  my_malloc(new, tmp - *str + 1);
-  new[tmp - *str] = '\0';
-  strncpy(new, *str, tmp - *str);
-  *str = tmp;
-  return (new);
-}
-
-void                   tab_free(char **tab)
-{
-  int                   index;
-
-  if (!tab)
-    return;
-  for (index = 0; tab[index]; index++)
-    free(tab[index]);
-  free(tab);
-}
-
-char                   **tab_fill(char *str, char delim)
-{
-  int                   count;
-  char                  **tab;
-  int                   index;
-
-  if (!str)
-    return (NULL);
-  count = count_words(str, delim);
-  if (!count)
-    return (NULL);
-  my_malloc(tab, (count + 1) * sizeof(char *));
-  for (index = 0; (tab[index] = get_word(&str, delim)); index++)
-    ;
-  return (tab);
-}
-
-/*
-**             Deletes the first element of a wordtab, shifting the other
-**     elements. The size of the malloced area stays the same, though
-*/
-int                    tab_delete_first(char **tab)
-{
-  int                   i;
-
-  if (!tab[0])
-    return (-1);
-  free(tab[0]);
-  for (i = 0; tab[i]; i++)
-    tab[i] = tab[i + 1];
-  return (0);
-}
-
-int                    tab_count_words(char **tab)
-{
-  int                   count;
-
-  if (!tab)
-    return (0);
-  for (count = 0; tab[count]; count++)
-    ;
-  return (count);
-}
diff --git a/test/manual/etags/c-src/torture.c b/test/manual/etags/c-src/torture.c
deleted file mode 100644 (file)
index 77c3763..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Date: Thu, 05 Aug 1993 20:28:03 +0200
-   From: "Tom R.Hageman" <tom@basil.icce.rug.nl>
-   Subject: more etags torture;-) [etags 7.3 patch#3]
-   To: pot@CNUCE.CNR.IT
-
-   Hi,
-
-   This test file illustrates some more problems with etags (7.3):
-
-   1. parentheses are confusing,
-   2. preprocessor directives can disrupt other state machines. */
-
-/* A small torture test for etags. */
-
-/* The classic parenthesis nightmare, based on signal(). */
-void
-(*tag1 (sig, handler)) ()
-  int sig;
-  void (*handler) ();
-{
-  (*handler)(sig);
-  return handler;
-}
-
-#define notag2 void
-/* The classic, with user-defined return type. */
-notag2
-(*tag2 (sig, handler)) ()
-  int sig;
-  void (*handler) ();
-{
-  (*handler)(sig);
-  return handler;
-}
-
-/* The classic, in ANSI C style. */
-void
-(*tag3 (int sig, void (*handler) (int))) (int)
-{
-  (*handler)(sig);
-  return handler;
-}
-
-#define notag4 void
-/* The classic, with user-defined return type, in ANSI C style. */
-notag4
-(*tag4 (int sig, void (*handler) (int))) (int)
-{
-  (*handler)(sig);
-  return handler;
-}
-
-
-/* A less tortuous example. */
-void
-tag5 (handler, arg)
-void (*handler)();
-void *arg;
-{
-  (*handler)(arg);
-}
-
-/* A less tortuous example, in ANSI C style. */
-void
-tag6 (void (*handler) (void *), void *arg)
-{
-  (*handler)(arg);
-}
-
-
-/* Interfering preprocessing torture */
-
-int pp1(
-#if (__STDC__)
-       int
-#endif
-       bar)
-#if (!__STDC__)
-     int bar;
-#endif
-{
-  return bar;
-}
-
-int
-pp2
-#if __STDC__
-  (int bar)
-#else
-  (bar)
-    int bar;
-#endif
-{
-  return bar;
-}
-
-int
-#if __STDC__
-pp3(int bar)
-#else
-pp3(bar)
-  int bar;
-#endif
-{
-  return bar;
-}
diff --git a/test/manual/etags/cp-src/MDiagArray2.h b/test/manual/etags/cp-src/MDiagArray2.h
deleted file mode 100644 (file)
index 78ee5e1..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-// Template array classes with like-type math ops
-/*
-
-Copyright (C) 1996 John W. Eaton
-
-This file is part of Octave.
-
-Octave is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-Octave is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with Octave; see the file COPYING.  If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
-*/
-
-#if defined (__GNUG__)
-#pragma interface
-#endif
-
-#if !defined (octave_MDiagArray2_h)
-#define octave_MDiagArray2_h 1
-
-#include "DiagArray2.h"
-#include "MArray2.h"
-
-#if defined (LTGT)
-#undef LTGT
-#endif
-
-#if !defined (CXX_NEW_FRIEND_TEMPLATE_DECL)
-#define LTGT
-#else
-
-#define LTGT <>
-
-template <class T>
-class MDiagArray2;
-
-template <typename T> MDiagArray2<T>&
-operator += (MDiagArray2<T>& a, const MDiagArray2<T>& b);
-
-template <typename T> MDiagArray2<T>&
-operator -= (MDiagArray2<T>& a, const MDiagArray2<T>& b);
-
-template <typename T> MDiagArray2<T> 
-operator * (const MDiagArray2<T>& a, const T& s);
-
-template <typename T> MDiagArray2<T> 
-operator / (const MDiagArray2<T>& a, const T& s);
-
-template <typename T> MDiagArray2<T> 
-operator * (const T& s, const MDiagArray2<T>& a);
-
-template <typename T> MDiagArray2<T>
-operator + (const MDiagArray2<T>& a, const MDiagArray2<T>& b); 
-
-template <typename T> MDiagArray2<T>
-operator - (const MDiagArray2<T>& a, const MDiagArray2<T>& b);
-
-template <typename T> MDiagArray2<T>
-product (const MDiagArray2<T>& a, const MDiagArray2<T>& b);
-
-template <typename T> MDiagArray2<T> 
-operator - (const MDiagArray2<T>& a);
-#endif
-
-// Two dimensional diagonal array with math ops.
-
-template <class T>
-class MDiagArray2 : public DiagArray2<T>
-{
-protected:
-
-  MDiagArray2 (T *d, int r, int c) : DiagArray2<T> (d, r, c) { }
-
-public:
-  
-  MDiagArray2 (void) : DiagArray2<T> () { }
-  MDiagArray2 (int r, int c) : DiagArray2<T> (r, c) { }
-  MDiagArray2 (int r, int c, const T& val) : DiagArray2<T> (r, c, val) { }
-  MDiagArray2 (const Array<T>& a) : DiagArray2<T> (a) { }
-  MDiagArray2 (const DiagArray2<T>& a) : DiagArray2<T> (a) { }
-  MDiagArray2 (const MDiagArray2<T>& a) : DiagArray2<T> (a) { }
-
-  ~MDiagArray2 (void) { }
-
-  MDiagArray2<T>& operator = (const MDiagArray2<T>& a)
-    {
-      DiagArray2<T>::operator = (a);
-      return *this;
-    }
-
-  operator MArray2<T> () const
-    {
-      MArray2<T> retval (nr, nc,  T (0));
-
-      int len = nr < nc ? nr : nc;
-
-      for (int i = 0; i < len; i++)
-       retval.xelem (i, i) = xelem (i, i);
-
-      return retval;
-    }
-
-  // element by element MDiagArray2 by MDiagArray2 ops
-
-  friend MDiagArray2<T>&
-  operator += LTGT (MDiagArray2<T>& a, const MDiagArray2<T>& b);
-
-  friend MDiagArray2<T>&
-  operator -= LTGT (MDiagArray2<T>& a, const MDiagArray2<T>& b);
-
-  // element by element MDiagArray2 by scalar ops
-
-  friend MDiagArray2<T> operator * LTGT (const MDiagArray2<T>& a, const T& s);
-  friend MDiagArray2<T> operator / LTGT (const MDiagArray2<T>& a, const T& s);
-
-  // element by element scalar by MDiagArray2 ops
-
-  friend MDiagArray2<T> operator * LTGT (const T& s, const MDiagArray2<T>& a);
-
-  // element by element MDiagArray2 by MDiagArray2 ops
-
-  friend MDiagArray2<T>
-  operator + LTGT (const MDiagArray2<T>& a, const MDiagArray2<T>& b); 
-
-  friend MDiagArray2<T>
-  operator - LTGT (const MDiagArray2<T>& a, const MDiagArray2<T>& b);
-
-  friend MDiagArray2<T>
-  product LTGT (const MDiagArray2<T>& a, const MDiagArray2<T>& b);
-
-  friend MDiagArray2<T> operator - LTGT (const MDiagArray2<T>& a);
-};
-
-#undef LTGT
-
-#define INSTANTIATE_MDIAGARRAY_FRIENDS(T) \
-  template MDiagArray2<T>& operator += (MDiagArray2<T>& a, const MDiagArray2<T>& b); \
-  template MDiagArray2<T>& operator -= (MDiagArray2<T>& a, const MDiagArray2<T>& b); \
-  template MDiagArray2<T> operator * (const MDiagArray2<T>& a, const T& s); \
-  template MDiagArray2<T> operator / (const MDiagArray2<T>& a, const T& s); \
-  template MDiagArray2<T> operator * (const T& s, const MDiagArray2<T>& a); \
-  template MDiagArray2<T> operator + (const MDiagArray2<T>& a, const MDiagArray2<T>& b); \
-  template MDiagArray2<T> operator - (const MDiagArray2<T>& a, const MDiagArray2<T>& b); \
-  template MDiagArray2<T> product (const MDiagArray2<T>& a, const MDiagArray2<T>& b); \
-  template MDiagArray2<T> operator - (const MDiagArray2<T>& a);
-
-#endif
-
-/*
-;;; Local Variables: ***
-;;; mode: C++ ***
-;;; End: ***
-*/
diff --git a/test/manual/etags/cp-src/Range.h b/test/manual/etags/cp-src/Range.h
deleted file mode 100644 (file)
index b8cbab4..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
-
-Copyright (C) 1996 John W. Eaton
-
-This file is part of Octave.
-
-Octave is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-Octave is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with Octave; see the file COPYING.  If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
-*/
-
-#if !defined (octave_Range_h)
-#define octave_Range_h 1
-
-#if defined (__GNUG__)
-#pragma interface
-#endif
-
-class istream;
-class ostream;
-class Matrix;
-
-class
-Range
-{
- public:
-
-  Range (void)
-    : rng_base (-1), rng_limit (-1), rng_inc (-1), rng_nelem (-1) { }
-
-  Range (const Range& r)
-    : rng_base (r.rng_base), rng_limit (r.rng_limit), rng_inc (r.rng_inc),
-      rng_nelem (r.rng_nelem) { }
-
-  Range (double b, double l)
-    : rng_base (b), rng_limit (l), rng_inc (1),
-      rng_nelem (nelem_internal ()) { }
-
-  Range (double b, double l, double i)
-    : rng_base (b), rng_limit (l), rng_inc (i),
-      rng_nelem (nelem_internal ()) { }
-
-  double base (void) const { return rng_base;  }
-  double limit (void) const { return rng_limit; }
-  double inc (void) const { return rng_inc;   }
-  int nelem (void) const { return rng_nelem; }
-
-  bool all_elements_are_ints (void) const;
-
-  Matrix matrix_value (void) const;
-
-  double min (void) const;
-  double max (void) const;
-
-  void sort (void);
-
-  void set_base (double b) { rng_base = b;  }
-  void set_limit (double l) { rng_limit = l; }
-  void set_inc (double i) { rng_inc = i;   }
-
-  friend ostream& operator << (ostream& os, const Range& r);
-  friend istream& operator >> (istream& is, Range& r);
-
-  void print_range (void);
-
- private:
-
-  double rng_base;
-  double rng_limit;
-  double rng_inc;
-
-  int rng_nelem;
-
-  int nelem_internal (void) const;
-};
-
-extern Range operator - (const Range& r);
-
-#endif
-
-/*
-;;; Local Variables: ***
-;;; mode: C++ ***
-;;; End: ***
-*/
diff --git a/test/manual/etags/cp-src/burton.cpp b/test/manual/etags/cp-src/burton.cpp
deleted file mode 100644 (file)
index d86ad75..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-::dummy::dummy test::dummy1(void)
-{
-  return ::dummy::dummy;
-}
-
-::dummy::dummy test::dummy2(::CORBA::Long dummy)
-{
-  return ::dummy::dummy;
-}
-
-::dummy::dummy test::dummy3(char* name, ::CORBA::Long dummy)
-{
-  return ::dummy::dummy;
-}
diff --git a/test/manual/etags/cp-src/c.C b/test/manual/etags/cp-src/c.C
deleted file mode 100644 (file)
index 2c5f7e0..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels, typename ipc3dLinkControl, typename ipc3dLinkControlSetup>
-class CMultiChannelCSC19_3D
-{
-private:
-        ipc3dLinkControlSetup setup;
-        ipc3dCSC19<ipc3dIslandHierarchy,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipc3dLinkControl> mcCSC;
-        advTimer cscInitTime;
-        advTimer cscSegmentationTime;
-        advTimer outputTime;
-public:
-        void execute(CPluginCSCState& p, int w, int h, int d, const ipcMultiChannel<ipc3dChannelType,numOfChannels>* orgImage, ipcMultiChannel<ipc3dChannelType,numOfChannels>* regionImage, unsigned int* mapImage, ipc3dBlockCompressedLabelImage* compressedMapImage=NULL)
-        {
-                if (orgImage!=NULL)
-                {
-                                  //do something
-                }
-        }
-
-class foo {
-  int const_func() const;
-  int b;
-  int non_const_func2(void);
-};
-static void my_function1(int var1) const;
-int main (void) { my_function0(0); my_function1(1); return; }
-double base (void) const { return rng_base;  }
-
-template <typename T> MDiagArray2<T>&
-operator += (MDiagArray2<T>& a, const MDiagArray2<T>& b);
-
-class TestRecord;
-typedef struct s1 {
-   int counter;
-} t1;
-struct s2 {
-   int counter;
-};
-typedef struct s2 t2;
-class A {
-  enum { rosso, giallo, verde } colori;
-  const A& operator+(const A&);
-};
-const A& A::operator+(const A&) { }
-void operator+(int, int) {}
-void operator -(int, int) {}
-void operator int(int, int) {}
-
-A<int>* f() {}
-int f(A<int> x) {}
-int A<int>::f(A<int>* x) {}
-A<float,B<int> > A<B<float>,int>::f(A<int>* x) {}
-template <class C, int n> class AT { C t[n]; };
-class AU { T x; };
-class B<int> { void f() {} };\r
-const A::B::T& abt = abc;
-class A { class B { int f(); }; };
-class A {
-  int get_data() const;
-  A operator+(A& a) {};
-};
-is_muldiv_operation(pc)
-{
-}
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-domain foo {
-     void f() {}
-};
-
-void A::A() {}
-struct A { A(); }
-struct B { B(); };
-void B::B() {}
-void BE_Node::BE_Node() {}
-class BE_Node {};
-
-struct foo {
-  int x;
-};
-
-#ifdef __cplusplus
-}
-#endif
-class test {
-  int f(){return 0;};          // first comment
-                               // second comment
-  int ff(){return 1;};
-  int g(){return 2;};
-}
-class  AST_Root : public virtual AST_Module
-{
-};
-
-class  AST_Root;                       // The root of an AST \7f112,3888
-// etags finds
-
-AST_ConcreteType::AST_ConcreteType(AST_Decl::NodeType nt, UTL_ScopedName *n,
-                                    UTL_StrList *p)
-                : AST_Decl(nt, n, p)
-{
-}
-
-// and
-
-AST_Array::AST_Array(UTL_ScopedName *n, unsigned long nd, UTL_ExprList *ds)
-        : pd_n_dims(nd), pd_base_type(NULL),
-          AST_Decl(AST_Decl::NT_array, n, NULL)
-{
-}
-
-// as definitions of AST_Decl.
-class {
-     void f() {}
-};
-struct A {
-    ~A();
-};
-A::~A() {}
-
-struct B {
-    ~B() {};
-};
-
-enum {dog, cat} animals;
-struct {int teats;} cow;
-
-class Boo {
-    enum {dog, cat} animals;
-    struct {int treats;} cow;
-    int i,a,b;
-    foo() {
-        cout << "hi";
-    }
-
-    Boo(int _i, int _a, int _b) : i(_i), a(_a), b(_b) {}
-    Boo(Boo);
-};
-
-Boo::Boo(Boo) :
-    i(i),
-    a(a),
-    b(b)
-{}
-
-/* extern "C" grot: */
-extern "C" {
-typedef int should_see_this_one_enclosed_in_extern_C;
-}
-
-/* Typedefs: */
-typedef int (*should_see_this_function_pointer) (
-       void *but_not_this_argument);
-
-typedef int should_see_this_array_type[but_not_this_subscript];
diff --git a/test/manual/etags/cp-src/clheir.cpp.gz b/test/manual/etags/cp-src/clheir.cpp.gz
deleted file mode 100644 (file)
index 38b08a8..0000000
Binary files a/test/manual/etags/cp-src/clheir.cpp.gz and /dev/null differ
diff --git a/test/manual/etags/cp-src/clheir.hpp b/test/manual/etags/cp-src/clheir.hpp
deleted file mode 100644 (file)
index 831da5c..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/* ======================================================================= */
-/*                                 CLHEIR.H                                */
-/* ======================================================================= */
-
-// CLASS HIERARCHY
-// Locations or Agents are both of type generic_object. Generic_objects may
-// have states, and are responsible for updating their states appropriately
-// when their step() functions are executed.
-
-extern void init_registry(void);
-extern void step_everybody(void);
-
-class generic_object
-    {
-    int where_in_registry;
-public:
-    generic_object();  // enter generic_object into ObjectRegistry
-    // We never copy generic_objects, so we don't need a copy constructor.
-    ~generic_object(void);  // delete from ObjectRegistry
-    // Simulation steps, accommodate different kinds of time
-    virtual void compute_next_state(void) { }
-    virtual void step(void) { }
-    };
-
-// =======================================================================
-
-// Locations can be regular (like a field of squares or hexagons) or
-// irregular. Regular locations have 2-D or 3-D positions represented
-// by integers. Locations are never copied; no need for copy constructors.
-
-const int max_num_directions = 6; // handles both cubes and hexagons
-
-class location: public generic_object
-    {
-    // Any kind of location needs a physical position, but for a regular
-    // location, this may be implicit, and for an irregular location, it
-    // should be custom-defined.
-
-    // Any kind of location needs a private list of neighbors, but for a
-    // regular location, this may be implicit.
-
-public:
-    location() { }
-    ~location();
-    };
-
-class irregular_location: public location
-    {
-    double x, y, z;
-public:
-    irregular_location(double xi, double yi, double zi)
-        { x = xi; y = yi; z = zi; }
-    ~irregular_location();
-    };
-
-class discrete_location: public location
-    {
-    int x, y, z;
-    class location *neighbors[max_num_directions];
-    void clear_neighbors(void);
-public:
-    discrete_location(int xi, int yi, int zi):
-        x(xi), y(yi), z(zi)
-            { clear_neighbors(); }
-    ~discrete_location(void);
-    void assign_neighbor(int direction, location *x)
-        { neighbors[direction] = x; }
-    };
-
-// =======================================================================
-
-// Agents are generic_objects with locations, who can move. Examples in
-// Pacman would be the protagonist, the monsters, and the monsters' ghosts.
-
-class agent: public generic_object
-    {
-    location *where;
-public:
-    agent();
-    ~agent();
-    void move(int);
-    };
diff --git a/test/manual/etags/cp-src/conway.cpp b/test/manual/etags/cp-src/conway.cpp
deleted file mode 100644 (file)
index 1e60014..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/* ======================================================================= */
-/*                                CONWAY.CPP                               */
-/* ======================================================================= */
-
-#include "assert.h"
-#include "iostream.h"
-#include "conio.h"
-#include "clheir.h"
-#include "screen.h"
-#include "conway.h"
-
-#define max(x,y)  ((x > y) ? x : y)
-#define min(x,y)  ((x > y) ? y : x)
-
-const int num_rows = min(50, NUM_ROWS);
-const int num_columns = 40;
-
-class site *field_of_play[num_rows][num_columns];
-
-int site::total_surrounding(void)
-    {
-    int i, j, imin, imax, jmin, jmax, total;
-
-    total = 0;
-    imin = max(0, x - 1);
-    imax = min(num_rows - 1, x + 1);
-    jmin = max(0, y - 1);
-    jmax = min(num_columns - 1, y + 1);
-
-    for (i = imin; i <= imax; i++)
-        for (j = jmin; j <= jmax; j++)
-            if (field_of_play[i][j]->read()) total++;
-    if (alive) total--;
-    return total;
-    }
-
-void display(void)
-    {
-    int i, j;
-
-    for (i = 0; i < num_rows; i++)
-        for (j = 0; j < num_columns; j++)
-            {
-            if (field_of_play[i][j]->read()) write_xyc(2*j, i, 'X');
-            else write_xyc(2*j, i, '.');
-            }
-    hide_cursor();
-    }
-
-void glider(int x, int y)
-    {
-    field_of_play[x - 1][y + 0]->set();
-    field_of_play[x - 1][y + 1]->set();
-    field_of_play[x + 0][y - 1]->set();
-    field_of_play[x + 0][y + 0]->set();
-    field_of_play[x + 1][y + 1]->set();
-    }
-
-void traffic_light(int x, int y)
-    {
-    field_of_play[x - 1][y]->set();
-    field_of_play[x + 0][y]->set();
-    field_of_play[x + 1][y]->set();
-    }
-
-
-void main(void)
-    {
-    int i, j, c;
-
-    init_registry();
-
-    for (i = 0; i < num_rows; i++)
-        for (j = 0; j < num_columns; j++)
-            field_of_play[i][j] = new site(i, j);
-
-start_over:
-    traffic_light(num_rows/2 - 8, num_columns/2 - 8);
-    glider(num_rows/2 + 8, num_columns/2 + 8);
-
-    clear_screen();
-    while (1)
-        {
-        display();
-        if ((c = getch()) == 'q') { clear_screen(); return; }
-        if (c == 'i')
-            {
-            for (i = 0; i < num_rows; i++)
-                for (j = 0; j < num_columns; j++)
-                    field_of_play[i][j]->clear();
-            goto start_over;
-            }
-        step_everybody();
-        }
-    }
diff --git a/test/manual/etags/cp-src/conway.hpp b/test/manual/etags/cp-src/conway.hpp
deleted file mode 100644 (file)
index 9fbb251..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/* ======================================================================= */
-/*                                 CONWAY.H                                */
-/* ======================================================================= */
-
-class site: public location
-    {
-    char x, y, alive, next_alive;
-    int total_surrounding(void);
-public:
-    site(int xi, int yi): x(xi), y(yi), alive(0) { }
-    ~site();
-    char read() { return alive; }
-    void set(void) { alive = 1; }
-    void clear(void) { alive = 0; }
-    void compute_next_state(void)
-        {
-        int n = total_surrounding();
-        next_alive = alive;
-        if (n < 2 || n > 3) next_alive = 0;
-        else if (n > 2) next_alive = 1;
-        }
-    void step(void) { alive = next_alive; }
-    };
diff --git a/test/manual/etags/cp-src/fail.C b/test/manual/etags/cp-src/fail.C
deleted file mode 100644 (file)
index c602ed2..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Examples provided by Sam Kendall <kendall@mv.mv.com>, Jan 1997 */
-
-// check use of references with nested/local classes
-
-// This example causes etags 13 to abort when compiled with -DDEBUG.
-// Etags 13 cannot deal with nested structures after the first level.
-struct A {
-          struct B {
-                  struct C {
-                          int x;
-                          C(int i) {x = i;}
-                          operator int() const {return x;}
-                  };
-                  typedef C T;
-          };
-          typedef B T2;
-};
-
-
-class String;
-
-
-class A {
-       class B {
-               class C {};
-               int f() { return 5; }
-       };
-};
-
-
-int A::B::f() { return 2; }
-
-
-A::B::C abc(-37);
-
-
-main()
-{
-       if (abc != -37 || abt != -37) return 1;
-
-       class D : public A::B::C {
-       public:
-               D() : ::A::T2::T(97), x(1066) {}
-               int x;
-       } &d = D();
-
-       if (d.x != 1066 || d.A::T2::T::x != 97) return 2;
-       return 0;
-}
-
-
-template <class T>
diff --git a/test/manual/etags/cp-src/functions.cpp b/test/manual/etags/cp-src/functions.cpp
deleted file mode 100644 (file)
index ddd78f1..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-#include "main.hpp"
-#pragma ident  "@(#)functions.cpp      1.0     98/11/12 (c) Rupak Rathore"
-
-// Constructor default argument initializes to today's values
-void Date::setDate ( int d , int m , int y ){
-       time_t t;
-       struct tm * ptm;
-       t = time ( NULL ) ;
-       if ( date != NULL )
-               delete date;
-       date = NULL;
-       if ( d == 0 && m == 0 && y == 0 ) //Explicitly called or default constructor hence leave it.
-               return;
-       if ( d < 0 && m < 0 && d < 0 ) //Special instruction to initialize to today's value
-               d=m=y=0;
-       date = new tm;
-       ptm=localtime ( &t ) ;
-       *date=(*ptm);
-       if ( d )
-               date->tm_mday = d;
-       if ( m )
-               date->tm_mon = m - 1; // Months are counted from January
-       if ( y > 1900 ) // Complete year specified so take into account
-               y -= 1900;
-       if ( y )
-               date->tm_year = y;
-       date->tm_sec=date->tm_min=date->tm_hour=0;
-       t = mktime ( date ) ;
-}
-
-// Addition operation ::: Warning ::: A combination of addition and subtraction does not give a proper result
-void Date::plus ( int days , int month , int year ){
-       if ( ! set () )
-               return;
-       date->tm_mday += days ;
-       date->tm_mon += month ;
-       date->tm_year += year ;
-       mktime ( date );
-}
-
-//Subtraction operation ::: Warning ::: A combination of addition and subtraction does not give a proper result
-void Date::minus ( int days , int month , int year ){
-       if ( ! set () )
-               return;
-       date->tm_mday -= days ;
-       date->tm_mon -= month ;
-       date->tm_year -= year ;
-       mktime ( date );
-}
-
-
-void Date::shift ( void ){//Shift this date to previous working days (useful for benchmarks)
-       if ( ! set() )
-               return ;
-       while(isHoliday(*this)||isweekend()){
-               date->tm_mday -= 1 ;
-               mktime ( date );
-       }
-}
-
-// Assignment
-Date & Date::operator = ( Date d ){
-       if ( d.set() )
-               setDate ( d.date->tm_mday, d.date->tm_mon + 1, d.date->tm_year );
-       return(*this);
-}
-
-// Add number of days
-Date & Date::operator += ( int days ){
-       if ( set () ){
-               date->tm_mday += days ;
-               mktime ( date );
-       }
-       return(*this);
-}
-
-// Subtract number of days
-Date & Date::operator -= ( int days ){
-       if ( set () ){
-               date->tm_mday -= days ;
-               mktime ( date );
-       }
-       return(*this);
-}
-
-// Advance one day
-Date & Date::operator ++ ( void ){
-       if ( set () ){
-               date->tm_mday += 1 ;
-               mktime ( date );
-       }
-       return(*this);
-}
-
-// Backwards one day
-Date & Date::operator -- ( void ){
-       if ( set () ){
-               date->tm_mday -= 1 ;
-               mktime ( date );
-       }
-       return(*this);
-}
-
-int Date::operator - ( Date d ){
-       long l;
-       if (( ! set() ) || (! d.set()))
-               return(0);
-       l=(mktime(date)-mktime(d.date))/(3600*24);
-       return((int)l);
-}
-
-int Date::operator < ( Date d ) {
-       return ( unidate() < d.unidate() );
-}
-
-int Date::operator > ( Date d ) {
-       return ( unidate() > d.unidate() );
-}
-
-int Date::operator == ( Date d ) {
-       return ( unidate() == d.unidate() );
-}
-
-ostream& operator <<  ( ostream &c, Date d ) {
-       if ( ! d.set() )
-               c << "Null";
-       else
-               c << d.date->tm_mday << ":" << d.date->tm_mon + 1 << ":" << d.date->tm_year + 1900 ;
-       return ( c );
-}
-
-// Modified to read date in yyyymmdd format.
-istream& operator >> ( istream &i, Date & dd ){
-       int d,m,y,tmp;
-       i >> tmp;
-       d=tmp%100;
-       tmp/=100;
-       m=tmp%100;
-       tmp/=100;
-       y=tmp;
-       dd.setDate(d,m,y);
-       return(i);
-}
-/*
-istream& operator >>  ( istream &i, Date &dd ) {
-       char input[11];
-       int d,m,y;
-       cout << "Enter the date ( dd-mm-yyyy ) : ";
-       i >> input ;
-       d = ( input[0] - '0' ) * 10 + ( input[1] - '0' );
-       m = ( input[3] - '0' ) * 10 + ( input[4] - '0' );
-       y = ( input[6] - '0' ) * 1000 + ( input[7] - '0' ) * 100 + ( input[8] - '0' ) * 10 + ( input[9] - '0' );
-       dd.setDate ( d, m, y );
-       return ( i );
-}
-*/
-
-// Check whether given year is leap or not
-bool isLeap ( int year ){
-       return ( (year%100==0) ? (year%400==0) : (year%4==0) );
-}
-
-bool isHoliday ( Date d ){
-       long int ld;
-       ld = ( d.year()*100 + d.month() )*100 + d.day();
-       for ( int i=0; i<no_of_vacations;i++)
-               if ( ld == vacation[i] )
-                       return(true);
-       return(false);
-}
-
-// Sort the given array in ascending order
-void asort(int *a, int num){
-       int i,k,mini,tmp;
-       for ( k=1; k<num; k++ ){
-               mini=k-1;
-               for ( i=k; i<num; i++ )
-                       if ( a[mini] > a[i] ) {
-                               tmp=a[i];
-                               a[i]=a[mini];
-                               a[mini]=tmp;
-                       }
-       }
-}
-
-void ReadVacation ( char *filename ) {
-       // cerr << filename;
-       ifstream vacfile(filename);
-       if ( ! vacfile.good() )
-               d_error("ReadVacation","Unable to find the vacation and holidays file");
-       // cerr << filename ;
-       d_silent("ReadVacation","vacation file successfully opened.");
-       no_of_vacations = 0;
-       while ( !vacfile.eof() )
-               vacfile >> vacation[no_of_vacations++];
-       --no_of_vacations;
-       d_silent("ReadVacation","Finished Reading file");
-       vacfile.close();
-}
-
-void Debug ( int lineno, int level, char* func , char* mesg ) // error_level, function, message
-{
-       if ( debug_level <= level )
-               cerr << PROGNAME << ": " << func << ": " << lineno << ": " << debug_string[level] << ": " << mesg << endl;
-       if ( level == ERROR ){
-               cerr << PROGNAME << ": Exiting because of fatal error." <<endl ;
-               exit(2);
-       }
-}
-
-int WorkingDays(Date a, Date b){
-       Date tmp;
-       int wdays=0,days=0;
-       if ( (! a.set()) || (! b.set()) )
-               return(0);
-       days=b-a+1; // Inclusive
-       tmp=a;
-       for ( int i=0;i<days;i++){
-               if((!isHoliday(tmp))&&(!tmp.isweekend()))
-                       wdays++;
-               tmp++;
-       }
-       return(wdays);
-}
-
-Date StartDay(Date a,int days){//Function to calculate the appropriate start day to finish in days working days
-       Date tmp;
-       int wdays=0;
-       if ( ! a.set() )
-               return (a);
-       tmp=a;
-       while(wdays<days){
-               if((!isHoliday(tmp))&&(!tmp.isweekend()))
-                       wdays++;
-               tmp--;
-       }
-       tmp++;
-       return(tmp);
-}
diff --git a/test/manual/etags/cp-src/screen.cpp b/test/manual/etags/cp-src/screen.cpp
deleted file mode 100644 (file)
index 1958a19..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* ======================================================================= */
-/*                                SCREEN.CPP                               */
-/* ======================================================================= */
-
-#include "stdio.h"
-#include "stdlib.h"
-#include "dos.h"
-
-#include "screen.h"
-
-/* ----------------------------------------------------------------------- */
-/*              Cursor Position and Screen Buffering Functions             */
-/* ----------------------------------------------------------------------- */
-
-unsigned char cursor_x, cursor_y;
-static union REGS regs;
-
-void goto_xy(unsigned char x, unsigned char y)
-    {
-    regs.h.ah = 2;
-    regs.h.bh = 0;
-    regs.h.dh = y;
-    regs.h.dl = x;
-    int86(0x10, &regs, &regs);
-    }
-
-void hide_cursor(void)
-    {
-    goto_xy(0, NUM_ROWS);
-    }
-
-void cursor_position(void)
-    {
-    regs.h.ah = 3;
-    regs.h.bh = 0;
-    int86(0x10, &regs, &regs);
-    cursor_x = regs.h.dl;
-    cursor_y = regs.h.dh;
-    }
-
-void clear_screen(void)
-    {
-    unsigned int i, j;
-    char far *p;
-
-    p = SCREEN_START;
-    for (i = 0; i < NUM_ROWS; i++)
-        for (j = 0; j < 80; j++)
-            {
-            *p++ = ' ';
-            *p++ = LIGHTGRAY;
-            }
-    }
-
-void write_xyc(int x, int y, char c)
-    {
-    char far *p;
-
-    p = SCREEN_FP(x, y);
-    *p++ = c;
-    *p = LIGHTGRAY;
-    }
diff --git a/test/manual/etags/cp-src/screen.hpp b/test/manual/etags/cp-src/screen.hpp
deleted file mode 100644 (file)
index a7099a3..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/* ======================================================================= */
-/*                                 SCREEN.H                                */
-/* ======================================================================= */
-
-// This stuff is entirely non-portable MSDOS-ish code. Note the hardware
-// address below, for the standard location of the EGA video buffer.
-
-#if !defined(__COLORS)
-#define __COLORS
-
-enum COLORS {
-    BLACK,          /* dark colors */
-    BLUE,
-    GREEN,
-    CYAN,
-    RED,
-    MAGENTA,
-    BROWN,
-    LIGHTGRAY,
-    DARKGRAY,       /* light colors */
-    LIGHTBLUE,
-    LIGHTGREEN,
-    LIGHTCYAN,
-    LIGHTRED,
-    LIGHTMAGENTA,
-    YELLOW,
-    WHITE
-};
-#endif
-
-#define SCREEN_FP(x,y) \
-    ((char far *) (0xB8000000L | ((unsigned) (160 * (y) + 2 * (x)))))
-#define SCREEN_START   SCREEN_FP(0, 0)
-
-void goto_xy(unsigned char x, unsigned char y);
-void hide_cursor(void);
-void cursor_position(void);
-void clear_screen(void);
-void write_xyc(int x, int y, char c);
diff --git a/test/manual/etags/cp-src/x.cc b/test/manual/etags/cp-src/x.cc
deleted file mode 100644 (file)
index a236060..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-class XX
-{
-public:
-     int foo();
-     void bar();
-};
-
-int
-XX::foo()
-{
-     return 1;
-}
-
-void
-XX::bar()
-{
-     foo();
-}
-
-int
-main(int argc, char *argv[])
-{
-     XX xx;
-     xx.bar();
-     return 0;
-}
diff --git a/test/manual/etags/crlf b/test/manual/etags/crlf
deleted file mode 100644 (file)
index d677595..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-test_crlf1     test_crlf.c     /^void test_crlf1()$/
-test_crlf2     tset_crlf.c     /^void test_crlf2()$/
diff --git a/test/manual/etags/el-src/TAGTEST.EL b/test/manual/etags/el-src/TAGTEST.EL
deleted file mode 100644 (file)
index 3e6599a..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-;;;  -*- lexical-binding: t -*-
-
-(foo::defmumble bletch beuarghh)
-(defun foo==bar () (message "hi"))  ; Bug#5624
-;;; Ctags test file for lisp mode.
-
-;; from emacs/lisp/delsel.el:76:
-(defalias 'pending-delete-mode 'delete-selection-mode)
-
-;; compare with:
-(defalias (quote explicitly-quoted-pending-delete-mode) 'delete-selection-mode)
-
-;;
-;; Output from original ctags:
-;;
-;'pending-delete-mode  tagstest.el     /^(defalias 'pending-delete-mode 'delete-selection-m/
-;(quote        tagstest.el     /^(defalias (quote explicitly-quoted-pending-delete-/
-;;
-;; Output from ctags with my patch in L-getit():
-;;
-;pending-delete-mode   tagstest.el     /^(defalias 'pending-delete-mode 'delete-selection-m/
-;explicitly-quoted-pending-delete-mode tagstest.el     /^(defalias (quote explicitly-quoted-pending-delete-/
-;; Output from original etags:
-;;
-;tagstest.el,61
-;(defalias 'pending-delete-mode \7f4,68
-;(defalias (quote \7f7,141
-;;
-;; Output from patched etags:
-;;
-;tagstest.el,99
-;(defalias 'pending-delete-mode \7f4,68
-;(defalias (quote explicitly-quoted-pending-delete-mode)\7f7,141
-;;
diff --git a/test/manual/etags/el-src/emacs/lisp/progmodes/etags.el b/test/manual/etags/el-src/emacs/lisp/progmodes/etags.el
deleted file mode 100644 (file)
index 288bd32..0000000
+++ /dev/null
@@ -1,2153 +0,0 @@
-;;; etags.el --- etags facility for Emacs  -*- lexical-binding: t -*-
-
-;; Copyright (C) 1985-1986, 1988-1989, 1992-1996, 1998, 2000-2024 Free
-;; Software Foundation, Inc.
-
-;; Author: Roland McGrath <roland@gnu.org>
-;; Maintainer: emacs-devel@gnu.org
-;; Keywords: tools
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;;; Code:
-
-(require 'ring)
-(require 'button)
-(require 'xref)
-
-;;;###autoload
-(defvar tags-file-name nil
-  "File name of tags table.
-To switch to a new tags table, setting this variable is sufficient.
-If you set this variable, do not also set `tags-table-list'.
-Use the `etags' program to make a tags table file.")
-;; Make M-x set-variable tags-file-name like M-x visit-tags-table.
-;;;###autoload (put 'tags-file-name 'variable-interactive (purecopy "fVisit tags table: "))
-;;;###autoload (put 'tags-file-name 'safe-local-variable 'stringp)
-
-(defgroup etags nil "Tags tables."
-  :group 'tools)
-
-;;;###autoload
-(defcustom tags-case-fold-search 'default
-  "Whether tags operations should be case-sensitive.
-A value of t means case-insensitive, a value of nil means case-sensitive.
-Any other value means use the setting of `case-fold-search'."
-  :group 'etags
-  :type '(choice (const :tag "Case-sensitive" nil)
-                (const :tag "Case-insensitive" t)
-                (other :tag "Use default" default))
-  :version "21.1")
-
-;;;###autoload
-;; Use `visit-tags-table-buffer' to cycle through tags tables in this list.
-(defcustom tags-table-list nil
-  "List of file names of tags tables to search.
-An element that is a directory means the file \"TAGS\" in that directory.
-To switch to a new list of tags tables, setting this variable is sufficient.
-If you set this variable, do not also set `tags-file-name'.
-Use the `etags' program to make a tags table file."
-  :group 'etags
-  :type '(repeat file))
-
-;;;###autoload
-(defcustom tags-compression-info-list
-  (purecopy '("" ".Z" ".bz2" ".gz" ".xz" ".tgz"))
-  "List of extensions tried by etags when `auto-compression-mode' is on.
-An empty string means search the non-compressed file."
-  :version "24.1"                      ; added xz
-  :type  '(repeat string)
-  :group 'etags)
-
-;; !!! tags-compression-info-list should probably be replaced by access
-;; to directory list and matching jka-compr-compression-info-list. Currently,
-;; this implementation forces each modification of
-;; jka-compr-compression-info-list to be reflected in this var.
-;; An alternative could be to say that introducing a special
-;; element in this list (e.g. t) means : try at this point
-;; using directory listing and regexp matching using
-;; jka-compr-compression-info-list.
-
-
-;;;###autoload
-(defcustom tags-add-tables 'ask-user
-  "Control whether to add a new tags table to the current list.
-t means do; nil means don't (always start a new list).
-Any other value means ask the user whether to add a new tags table
-to the current list (as opposed to starting a new list)."
-  :group 'etags
-  :type '(choice (const :tag "Do" t)
-                (const :tag "Don't" nil)
-                (other :tag "Ask" ask-user)))
-
-(defcustom tags-revert-without-query nil
-  "Non-nil means reread a TAGS table without querying, if it has changed."
-  :group 'etags
-  :type 'boolean)
-
-(defvar tags-table-computed-list nil
-  "List of tags tables to search, computed from `tags-table-list'.
-This includes tables implicitly included by other tables.  The list is not
-always complete: the included tables of a table are not known until that
-table is read into core.  An element that is t is a placeholder
-indicating that the preceding element is a table that has not been read
-into core and might contain included tables to search.
-See `tags-table-check-computed-list'.")
-
-(defvar tags-table-computed-list-for nil
-  "Value of `tags-table-list' that `tags-table-computed-list' corresponds to.
-If `tags-table-list' changes, `tags-table-computed-list' is thrown away and
-recomputed; see `tags-table-check-computed-list'.")
-
-(defvar tags-table-list-pointer nil
-  "Pointer into `tags-table-computed-list' for the current state of searching.
-Use `visit-tags-table-buffer' to cycle through tags tables in this list.")
-
-(defvar tags-table-list-started-at nil
-  "Pointer into `tags-table-computed-list', where the current search started.")
-
-(defvar tags-table-set-list nil
-  "List of sets of tags table which have been used together in the past.
-Each element is a list of strings which are file names.")
-
-;;;###autoload
-(defcustom find-tag-hook nil
-  "Hook to be run by \\[find-tag] after finding a tag.  See `run-hooks'.
-The value in the buffer in which \\[find-tag] is done is used,
-not the value in the buffer \\[find-tag] goes to."
-  :group 'etags
-  :type 'hook)
-
-;;;###autoload
-(defcustom find-tag-default-function nil
-  "A function of no arguments used by \\[find-tag] to pick a default tag.
-If nil, and the symbol that is the value of `major-mode'
-has a `find-tag-default-function' property (see `put'), that is used.
-Otherwise, `find-tag-default' is used."
-  :group 'etags
-  :type '(choice (const nil) function))
-
-(define-obsolete-variable-alias 'find-tag-marker-ring-length
-  'xref-marker-ring-length "25.1")
-
-(defcustom tags-tag-face 'default
-  "Face for tags in the output of `tags-apropos'."
-  :group 'etags
-  :type 'face
-  :version "21.1")
-
-(defcustom tags-apropos-verbose nil
-  "If non-nil, print the name of the tags file in the *Tags List* buffer."
-  :group 'etags
-  :type 'boolean
-  :version "21.1")
-
-(defcustom tags-apropos-additional-actions nil
-  "Specify additional actions for `tags-apropos'.
-
-If non-nil, value should be a list of triples (TITLE FUNCTION
-TO-SEARCH).  For each triple, `tags-apropos' processes TO-SEARCH and
-lists tags from it.  TO-SEARCH should be an alist, obarray, or symbol.
-If it is a symbol, the symbol's value is used.
-TITLE, a string, is a title used to label the additional list of tags.
-FUNCTION is a function to call when a symbol is selected in the
-*Tags List* buffer.  It will be called with one argument SYMBOL which
-is the symbol being selected.
-
-Example value:
-
-  \\='((\"Emacs Lisp\" Info-goto-emacs-command-node obarray)
-    (\"Common Lisp\" common-lisp-hyperspec common-lisp-hyperspec-obarray)
-    (\"SCWM\" scwm-documentation scwm-obarray))"
-  :group 'etags
-  :type '(repeat (list (string :tag "Title")
-                      function
-                      (sexp :tag "Tags to search")))
-  :version "21.1")
-
-(defvaralias 'find-tag-marker-ring 'xref--marker-ring)
-(make-obsolete-variable
- 'find-tag-marker-ring
- "use `xref-push-marker-stack' or `xref-pop-marker-stack' instead."
- "25.1")
-
-(defvar default-tags-table-function nil
-  "If non-nil, a function to choose a default tags file for a buffer.
-This function receives no arguments and should return the default
-tags table file to use for the current buffer.")
-
-(defvar tags-location-ring (make-ring xref-marker-ring-length)
-  "Ring of markers which are locations visited by \\[find-tag].
-Pop back to the last location with \\[negative-argument] \\[find-tag].")
-\f
-;; Tags table state.
-;; These variables are local in tags table buffers.
-
-(defvar tags-table-files nil
-  "List of file names covered by current tags table.
-nil means it has not yet been computed;
-use function `tags-table-files' to do so.")
-
-(defvar tags-completion-table nil
-  "Obarray of tag names defined in current tags table.")
-
-(defvar tags-included-tables nil
-  "List of tags tables included by the current tags table.")
-
-(defvar next-file-list nil
-  "List of files for \\[next-file] to process.")
-\f
-;; Hooks for file formats.
-
-(defvar tags-table-format-functions '(etags-recognize-tags-table
-                                     tags-recognize-empty-tags-table)
-  "Hook to be called in a tags table buffer to identify the type of tags table.
-The functions are called in order, with no arguments,
-until one returns non-nil.  The function should make buffer-local bindings
-of the format-parsing tags function variables if successful.")
-
-(defvar file-of-tag-function nil
-  "Function to do the work of `file-of-tag' (which see).
-One optional argument, a boolean specifying to return complete path (nil) or
-relative path (non-nil).")
-(defvar tags-table-files-function nil
-  "Function to do the work of function `tags-table-files' (which see).")
-(defvar tags-completion-table-function nil
-  "Function to build the `tags-completion-table'.")
-(defvar snarf-tag-function nil
-  "Function to get info about a matched tag for `goto-tag-location-function'.
-One optional argument, specifying to use explicit tag (non-nil) or not (nil).
-The default is nil.")
-(defvar goto-tag-location-function nil
-  "Function of to go to the location in the buffer specified by a tag.
-One argument, the tag info returned by `snarf-tag-function'.")
-(defvar find-tag-regexp-search-function nil
-  "Search function passed to `find-tag-in-order' for finding a regexp tag.")
-(defvar find-tag-regexp-tag-order nil
-  "Tag order passed to `find-tag-in-order' for finding a regexp tag.")
-(defvar find-tag-regexp-next-line-after-failure-p nil
-  "Flag passed to `find-tag-in-order' for finding a regexp tag.")
-(defvar find-tag-search-function nil
-  "Search function passed to `find-tag-in-order' for finding a tag.")
-(defvar find-tag-tag-order nil
-  "Tag order passed to `find-tag-in-order' for finding a tag.")
-(defvar find-tag-next-line-after-failure-p nil
-  "Flag passed to `find-tag-in-order' for finding a tag.")
-(defvar list-tags-function nil
-  "Function to do the work of `list-tags' (which see).")
-(defvar tags-apropos-function nil
-  "Function to do the work of `tags-apropos' (which see).")
-(defvar tags-included-tables-function nil
-  "Function to do the work of function `tags-included-tables' (which see).")
-(defvar verify-tags-table-function nil
-  "Function to return t if current buffer contains valid tags file.")
-\f
-(defun initialize-new-tags-table ()
-  "Initialize the tags table in the current buffer.
-Return non-nil if it is a valid tags table, and
-in that case, also make the tags table state variables
-buffer-local and set them to nil."
-  (set (make-local-variable 'tags-table-files) nil)
-  (set (make-local-variable 'tags-completion-table) nil)
-  (set (make-local-variable 'tags-included-tables) nil)
-  ;; We used to initialize find-tag-marker-ring and tags-location-ring
-  ;; here, to new empty rings.  But that is wrong, because those
-  ;; are global.
-
-  ;; Value is t if we have found a valid tags table buffer.
-  (run-hook-with-args-until-success 'tags-table-format-functions))
-
-;;;###autoload
-(defun tags-table-mode ()
-  "Major mode for tags table file buffers."
-  (interactive)
-  (setq major-mode 'tags-table-mode     ;FIXME: Use define-derived-mode.
-        mode-name "Tags Table"
-        buffer-undo-list t)
-  (initialize-new-tags-table))
-
-;;;###autoload
-(defun visit-tags-table (file &optional local)
-  "Tell tags commands to use tags table file FILE.
-FILE should be the name of a file created with the `etags' program.
-A directory name is ok too; it means file TAGS in that directory.
-
-Normally \\[visit-tags-table] sets the global value of `tags-file-name'.
-With a prefix arg, set the buffer-local value instead.
-When you find a tag with \\[find-tag], the buffer it finds the tag
-in is given a local value of this variable which is the name of the tags
-file the tag was in."
-  (interactive (list (read-file-name "Visit tags table (default TAGS): "
-                                    default-directory
-                                    (expand-file-name "TAGS"
-                                                      default-directory)
-                                    t)
-                    current-prefix-arg))
-  (or (stringp file) (signal 'wrong-type-argument (list 'stringp file)))
-  ;; Bind tags-file-name so we can control below whether the local or
-  ;; global value gets set.
-  ;; Calling visit-tags-table-buffer with tags-file-name set to FILE will
-  ;; initialize a buffer for FILE and set tags-file-name to the
-  ;; fully-expanded name.
-  (let ((tags-file-name file))
-    (save-excursion
-      (or (visit-tags-table-buffer file)
-         (signal 'file-error (list "Visiting tags table"
-                                   "No such file or directory"
-                                   file)))
-      ;; Set FILE to the expanded name.
-      (setq file tags-file-name)))
-  (if local
-      ;; Set the local value of tags-file-name.
-      (set (make-local-variable 'tags-file-name) file)
-    ;; Set the global value of tags-file-name.
-    (setq-default tags-file-name file)))
-
-(defun tags-table-check-computed-list ()
-  "Compute `tags-table-computed-list' from `tags-table-list' if necessary."
-  (let ((expanded-list (mapcar 'tags-expand-table-name tags-table-list)))
-    (or (equal tags-table-computed-list-for expanded-list)
-       ;; The list (or default-directory) has changed since last computed.
-       (let* ((compute-for (mapcar 'copy-sequence expanded-list))
-              (tables (copy-sequence compute-for)) ;Mutated in the loop.
-              (computed nil)
-              table-buffer)
-
-         (while tables
-           (setq computed (cons (car tables) computed)
-                 table-buffer (get-file-buffer (car tables)))
-           (if (and table-buffer
-                    ;; There is a buffer visiting the file.  Now make sure
-                    ;; it is initialized as a tag table buffer.
-                    (save-excursion
-                      (tags-verify-table (buffer-file-name table-buffer))))
-               (with-current-buffer table-buffer
-                  ;; Needed so long as etags-tags-included-tables
-                  ;; does not save-excursion.
-                  (save-excursion
-                    (if (tags-included-tables)
-                        ;; Insert the included tables into the list we
-                        ;; are processing.
-                        (setcdr tables (nconc (mapcar 'tags-expand-table-name
-                                                      (tags-included-tables))
-                                              (cdr tables))))))
-             ;; This table is not in core yet.  Insert a placeholder
-             ;; saying we must read it into core to check for included
-             ;; tables before searching the next table in the list.
-             (setq computed (cons t computed)))
-           (setq tables (cdr tables)))
-
-         ;; Record the tags-table-list value (and the context of the
-         ;; current directory) we computed from.
-         (setq tags-table-computed-list-for compute-for
-               tags-table-computed-list (nreverse computed))))))
-
-(defun tags-table-extend-computed-list ()
-  "Extend `tags-table-computed-list' to remove the first t placeholder.
-
-An element of the list that is t is a placeholder indicating that the
-preceding element is a table that has not been read in and might
-contain included tables to search.  This function reads in the first
-such table and puts its included tables into the list."
-  (let ((list tags-table-computed-list))
-    (while (not (eq (nth 1 list) t))
-      (setq list (cdr list)))
-    (save-excursion
-      (if (tags-verify-table (car list))
-         ;; We are now in the buffer visiting (car LIST).  Extract its
-         ;; list of included tables and insert it into the computed list.
-         (let ((tables (tags-included-tables))
-               (computed nil)
-               table-buffer)
-           (while tables
-             (setq computed (cons (car tables) computed)
-                   table-buffer (get-file-buffer (car tables)))
-             (if table-buffer
-                 (with-current-buffer table-buffer
-                   (if (tags-included-tables)
-                       ;; Insert the included tables into the list we
-                       ;; are processing.
-                       (setcdr tables (append (tags-included-tables)
-                                              tables))))
-               ;; This table is not in core yet.  Insert a placeholder
-               ;; saying we must read it into core to check for included
-               ;; tables before searching the next table in the list.
-               (setq computed (cons t computed)))
-             (setq tables (cdr tables)))
-           (setq computed (nreverse computed))
-           ;; COMPUTED now contains the list of included tables (and
-           ;; tables included by them, etc.).  Now splice this into the
-           ;; current list.
-           (setcdr list (nconc computed (cdr (cdr list)))))
-       ;; It was not a valid table, so just remove the following placeholder.
-       (setcdr list (cdr (cdr list)))))))
-
-(defun tags-expand-table-name (file)
-  "Expand tags table name FILE into a complete file name."
-  (setq file (expand-file-name file))
-  (if (file-directory-p file)
-      (expand-file-name "TAGS" file)
-    file))
-
-;; Like member, but comparison is done after tags-expand-table-name on both
-;; sides and elements of LIST that are t are skipped.
-(defun tags-table-list-member (file list)
-  "Like (member FILE LIST) after applying `tags-expand-table-name'.
-More precisely, apply `tags-expand-table-name' to FILE
-and each element of LIST, returning the link whose car is the first match.
-If an element of LIST is t, ignore it."
-  (setq file (tags-expand-table-name file))
-  (while (and list
-             (or (eq (car list) t)
-                 (not (string= file (tags-expand-table-name (car list))))))
-    (setq list (cdr list)))
-  list)
-
-(defun tags-verify-table (file)
-  "Read FILE into a buffer and verify that it is a valid tags table.
-Sets the current buffer to one visiting FILE (if it exists).
-Returns non-nil if it is a valid table."
-  (if (get-file-buffer file)
-      ;; The file is already in a buffer.  Check for the visited file
-      ;; having changed since we last used it.
-      (progn
-       (set-buffer (get-file-buffer file))
-        (or verify-tags-table-function (tags-table-mode))
-       (if (or (verify-visited-file-modtime (current-buffer))
-               ;; Decide whether to revert the file.
-               ;; revert-without-query can say to revert
-               ;; or the user can say to revert.
-               (not (or (let ((tail revert-without-query)
-                              (found nil))
-                          (while tail
-                            (if (string-match (car tail) buffer-file-name)
-                                (setq found t))
-                            (setq tail (cdr tail)))
-                          found)
-                        tags-revert-without-query
-                        (yes-or-no-p
-                         (format "Tags file %s has changed, read new contents? "
-                                 file)))))
-           (and verify-tags-table-function
-                (funcall verify-tags-table-function))
-         (revert-buffer t t)
-         (tags-table-mode)))
-    (when (file-exists-p file)
-      (let* ((buf (find-file-noselect file))
-             (newfile (buffer-file-name buf)))
-        (unless (string= file newfile)
-          ;; find-file-noselect has changed the file name.
-          ;; Propagate the change to tags-file-name and tags-table-list.
-          (let ((tail (member file tags-table-list)))
-            (if tail (setcar tail newfile)))
-          (if (eq file tags-file-name) (setq tags-file-name newfile)))
-        ;; Only change buffer now that we're done using potentially
-        ;; buffer-local variables.
-        (set-buffer buf)
-        (tags-table-mode)))))
-
-;; Subroutine of visit-tags-table-buffer.  Search the current tags tables
-;; for one that has tags for THIS-FILE (or that includes a table that
-;; does).  Return the name of the first table listing THIS-FILE; if
-;; the table is one included by another table, it is the master table that
-;; we return.  If CORE-ONLY is non-nil, check only tags tables that are
-;; already in buffers--don't visit any new files.
-(defun tags-table-including (this-file core-only)
-  "Search current tags tables for tags for THIS-FILE.
-Subroutine of `visit-tags-table-buffer'.
-Looks for a tags table that has such tags or that includes a table
-that has them.  Returns the name of the first such table.
-Non-nil CORE-ONLY means check only tags tables that are already in
-buffers.  If CORE-ONLY is nil, it is ignored."
-  (let ((tables tags-table-computed-list)
-       (found nil))
-    ;; Loop over the list, looking for a table containing tags for THIS-FILE.
-    (while (and (not found)
-               tables)
-
-      (if core-only
-         ;; Skip tables not in core.
-         (while (eq (nth 1 tables) t)
-           (setq tables (cdr (cdr tables))))
-       (if (eq (nth 1 tables) t)
-           ;; This table has not been read into core yet.  Read it in now.
-           (tags-table-extend-computed-list)))
-
-      (if tables
-         ;; Select the tags table buffer and get the file list up to date.
-         (let ((tags-file-name (car tables)))
-           (visit-tags-table-buffer 'same)
-           (if (member this-file (mapcar 'expand-file-name
-                                         (tags-table-files)))
-               ;; Found it.
-               (setq found tables))))
-      (setq tables (cdr tables)))
-    (if found
-       ;; Now determine if the table we found was one included by another
-       ;; table, not explicitly listed.  We do this by checking each
-       ;; element of the computed list to see if it appears in the user's
-       ;; explicit list; the last element we will check is FOUND itself.
-       ;; Then we return the last one which did in fact appear in
-       ;; tags-table-list.
-       (let ((could-be nil)
-             (elt tags-table-computed-list))
-         (while (not (eq elt (cdr found)))
-           (if (tags-table-list-member (car elt) tags-table-list)
-               ;; This table appears in the user's list, so it could be
-               ;; the one which includes the table we found.
-               (setq could-be (car elt)))
-           (setq elt (cdr elt))
-           (if (eq t (car elt))
-               (setq elt (cdr elt))))
-         ;; The last element we found in the computed list before FOUND
-         ;; that appears in the user's list will be the table that
-         ;; included the one we found.
-         could-be))))
-
-(defun tags-next-table ()
-  "Move `tags-table-list-pointer' along and set `tags-file-name'.
-Subroutine of `visit-tags-table-buffer'.\
-Returns nil when out of tables."
-  ;; If there is a placeholder element next, compute the list to replace it.
-  (while (eq (nth 1 tags-table-list-pointer) t)
-    (tags-table-extend-computed-list))
-
-  ;; Go to the next table in the list.
-  (setq tags-table-list-pointer (cdr tags-table-list-pointer))
-  (or tags-table-list-pointer
-      ;; Wrap around.
-      (setq tags-table-list-pointer tags-table-computed-list))
-
-  (if (eq tags-table-list-pointer tags-table-list-started-at)
-      ;; We have come full circle.  No more tables.
-      (setq tags-table-list-pointer nil)
-    ;; Set tags-file-name to the name from the list.  It is already expanded.
-    (setq tags-file-name (car tags-table-list-pointer))))
-
-;;;###autoload
-(defun visit-tags-table-buffer (&optional cont)
-  "Select the buffer containing the current tags table.
-If optional arg is a string, visit that file as a tags table.
-If optional arg is t, visit the next table in `tags-table-list'.
-If optional arg is the atom `same', don't look for a new table;
- just select the buffer visiting `tags-file-name'.
-If arg is nil or absent, choose a first buffer from information in
- `tags-file-name', `tags-table-list', `tags-table-list-pointer'.
-Returns t if it visits a tags table, or nil if there are no more in the list."
-
-  ;; Set tags-file-name to the tags table file we want to visit.
-  (cond ((eq cont 'same)
-        ;; Use the ambient value of tags-file-name.
-        (or tags-file-name
-            (user-error "%s"
-                         (substitute-command-keys
-                          (concat "No tags table in use; "
-                                  "use \\[visit-tags-table] to select one")))))
-       ((eq t cont)
-        ;; Find the next table.
-        (if (tags-next-table)
-            ;; Skip over nonexistent files.
-            (while (and (not (or (get-file-buffer tags-file-name)
-                                 (file-exists-p tags-file-name)))
-                        (tags-next-table)))))
-       (t
-        ;; Pick a table out of our hat.
-        (tags-table-check-computed-list) ;Get it up to date, we might use it.
-        (setq tags-file-name
-              (or
-               ;; If passed a string, use that.
-               (if (stringp cont)
-                   (prog1 cont
-                     (setq cont nil)))
-               ;; First, try a local variable.
-               (cdr (assq 'tags-file-name (buffer-local-variables)))
-               ;; Second, try a user-specified function to guess.
-               (and default-tags-table-function
-                    (funcall default-tags-table-function))
-               ;; Third, look for a tags table that contains tags for the
-               ;; current buffer's file.  If one is found, the lists will
-               ;; be frobnicated, and CONT will be set non-nil so we don't
-               ;; do it below.
-               (and buffer-file-name
-                    (or
-                     ;; First check only tables already in buffers.
-                     (tags-table-including buffer-file-name t)
-                     ;; Since that didn't find any, now do the
-                     ;; expensive version: reading new files.
-                     (tags-table-including buffer-file-name nil)))
-               ;; Fourth, use the user variable tags-file-name, if it is
-               ;; not already in the current list.
-               (and tags-file-name
-                    (not (tags-table-list-member tags-file-name
-                                                 tags-table-computed-list))
-                    tags-file-name)
-               ;; Fifth, use the user variable giving the table list.
-               ;; Find the first element of the list that actually exists.
-               (let ((list tags-table-list)
-                     file)
-                 (while (and list
-                             (setq file (tags-expand-table-name (car list)))
-                             (not (get-file-buffer file))
-                             (not (file-exists-p file)))
-                   (setq list (cdr list)))
-                 (car list))
-               ;; Finally, prompt the user for a file name.
-               (expand-file-name
-                (read-file-name "Visit tags table (default TAGS): "
-                                default-directory
-                                "TAGS"
-                                t))))))
-
-  ;; Expand the table name into a full file name.
-  (setq tags-file-name (tags-expand-table-name tags-file-name))
-
-  (unless (and (eq cont t) (null tags-table-list-pointer))
-    ;; Verify that tags-file-name names a valid tags table.
-    ;; Bind another variable with the value of tags-file-name
-    ;; before we switch buffers, in case tags-file-name is buffer-local.
-    (let ((curbuf (current-buffer))
-         (local-tags-file-name tags-file-name))
-      (if (tags-verify-table local-tags-file-name)
-
-         ;; We have a valid tags table.
-         (progn
-           ;; Bury the tags table buffer so it
-           ;; doesn't get in the user's way.
-           (bury-buffer (current-buffer))
-
-           ;; If this was a new table selection (CONT is nil), make
-           ;; sure tags-table-list includes the chosen table, and
-           ;; update the list pointer variables.
-           (or cont
-               ;; Look in the list for the table we chose.
-               (let ((found (tags-table-list-member
-                             local-tags-file-name
-                             tags-table-computed-list)))
-                 (if found
-                     ;; There it is.  Just switch to it.
-                     (setq tags-table-list-pointer found
-                           tags-table-list-started-at found)
-
-                   ;; The table is not in the current set.
-                   ;; Try to find it in another previously used set.
-                   (let ((sets tags-table-set-list))
-                     (while (and sets
-                                 (not (tags-table-list-member
-                                       local-tags-file-name
-                                       (car sets))))
-                       (setq sets (cdr sets)))
-                     (if sets
-                         ;; Found in some other set.  Switch to that set.
-                         (progn
-                           (or (memq tags-table-list tags-table-set-list)
-                               ;; Save the current list.
-                               (setq tags-table-set-list
-                                     (cons tags-table-list
-                                           tags-table-set-list)))
-                           (setq tags-table-list (car sets)))
-
-                       ;; Not found in any existing set.
-                       (if (and tags-table-list
-                                (or (eq t tags-add-tables)
-                                    (and tags-add-tables
-                                         (y-or-n-p
-                                          (concat "Keep current list of "
-                                                  "tags tables also? ")))))
-                           ;; Add it to the current list.
-                           (setq tags-table-list (cons local-tags-file-name
-                                                       tags-table-list))
-
-                         ;; Make a fresh list, and store the old one.
-                         (message "Starting a new list of tags tables")
-                         (or (null tags-table-list)
-                             (memq tags-table-list tags-table-set-list)
-                             (setq tags-table-set-list
-                                   (cons tags-table-list
-                                         tags-table-set-list)))
-                         ;; Clear out buffers holding old tables.
-                         (dolist (table tags-table-list)
-                           ;; The list can contain items t.
-                           (if (stringp table)
-                               (let ((buffer (find-buffer-visiting table)))
-                             (if buffer
-                                 (kill-buffer buffer)))))
-                         (setq tags-table-list (list local-tags-file-name))))
-
-                     ;; Recompute tags-table-computed-list.
-                     (tags-table-check-computed-list)
-                     ;; Set the tags table list state variables to start
-                     ;; over from tags-table-computed-list.
-                     (setq tags-table-list-started-at tags-table-computed-list
-                           tags-table-list-pointer
-                           tags-table-computed-list)))))
-
-           ;; Return of t says the tags table is valid.
-           t)
-
-       ;; The buffer was not valid.  Don't use it again.
-       (set-buffer curbuf)
-       (kill-local-variable 'tags-file-name)
-       (if (eq local-tags-file-name tags-file-name)
-           (setq tags-file-name nil))
-       (user-error (if (file-exists-p local-tags-file-name)
-                        "File %s is not a valid tags table"
-                      "File %s does not exist")
-                    local-tags-file-name)))))
-
-(defun tags-reset-tags-tables ()
-  "Reset tags state to cancel effect of any previous \\[visit-tags-table] or \\[find-tag]."
-  (interactive)
-  ;; Clear out the markers we are throwing away.
-  (let ((i 0))
-    (while (< i xref-marker-ring-length)
-      (if (aref (cddr tags-location-ring) i)
-         (set-marker (aref (cddr tags-location-ring) i) nil))
-      (setq i (1+ i))))
-  (xref-clear-marker-stack)
-  (setq tags-file-name nil
-       tags-location-ring (make-ring xref-marker-ring-length)
-       tags-table-list nil
-       tags-table-computed-list nil
-       tags-table-computed-list-for nil
-       tags-table-list-pointer nil
-       tags-table-list-started-at nil
-       tags-table-set-list nil))
-\f
-(defun file-of-tag (&optional relative)
-  "Return the file name of the file whose tags point is within.
-Assumes the tags table is the current buffer.
-If RELATIVE is non-nil, file name returned is relative to tags
-table file's directory.  If RELATIVE is nil, file name returned
-is complete."
-  (funcall file-of-tag-function relative))
-
-;;;###autoload
-(defun tags-table-files ()
-  "Return a list of files in the current tags table.
-Assumes the tags table is the current buffer.  The file names are returned
-as they appeared in the `etags' command that created the table, usually
-without directory names."
-  (or tags-table-files
-      (setq tags-table-files
-           (funcall tags-table-files-function))))
-
-(defun tags-included-tables ()
-  "Return a list of tags tables included by the current table.
-Assumes the tags table is the current buffer."
-  (or tags-included-tables
-      (setq tags-included-tables (funcall tags-included-tables-function))))
-\f
-(defun tags-completion-table ()
-  "Build `tags-completion-table' on demand.
-The tags included in the completion table are those in the current
-tags table and its (recursively) included tags tables."
-  (or tags-completion-table
-      ;; No cached value for this buffer.
-      (condition-case ()
-         (let (current-table combined-table)
-           (message "Making tags completion table for %s..." buffer-file-name)
-           (save-excursion
-             ;; Iterate over the current list of tags tables.
-             (while (visit-tags-table-buffer (and combined-table t))
-               ;; Find possible completions in this table.
-               (setq current-table (funcall tags-completion-table-function))
-               ;; Merge this buffer's completions into the combined table.
-               (if combined-table
-                   (mapatoms
-                    (lambda (sym) (intern (symbol-name sym) combined-table))
-                    current-table)
-                 (setq combined-table current-table))))
-           (message "Making tags completion table for %s...done"
-                    buffer-file-name)
-           ;; Cache the result in a buffer-local variable.
-           (setq tags-completion-table combined-table))
-       (quit (message "Tags completion table construction aborted.")
-             (setq tags-completion-table nil)))))
-
-;;;###autoload
-(defun tags-lazy-completion-table ()
-  (let ((buf (current-buffer)))
-    (lambda (string pred action)
-      (with-current-buffer buf
-        (save-excursion
-          ;; If we need to ask for the tag table, allow that.
-          (let ((enable-recursive-minibuffers t))
-            (visit-tags-table-buffer))
-          (complete-with-action action (tags-completion-table) string pred))))))
-
-;;;###autoload (defun tags-completion-at-point-function ()
-;;;###autoload   (if (or tags-table-list tags-file-name)
-;;;###autoload       (progn
-;;;###autoload         (load "etags")
-;;;###autoload         (tags-completion-at-point-function))))
-
-(defun tags-completion-at-point-function ()
-  "Using tags, return a completion table for the text around point.
-If no tags table is loaded, do nothing and return nil."
-  (when (or tags-table-list tags-file-name)
-    (let ((completion-ignore-case (if (memq tags-case-fold-search '(t nil))
-                                     tags-case-fold-search
-                                   case-fold-search))
-         (pattern (funcall (or find-tag-default-function
-                               (get major-mode 'find-tag-default-function)
-                               'find-tag-default)))
-         beg)
-      (when pattern
-       (save-excursion
-          (forward-char (1- (length pattern)))
-          (search-backward pattern)
-          (setq beg (point))
-          (forward-char (length pattern))
-          (list beg (point) (tags-lazy-completion-table) :exclusive 'no))))))
-\f
-(defun find-tag-tag (string)
-  "Read a tag name, with defaulting and completion."
-  (let* ((completion-ignore-case (if (memq tags-case-fold-search '(t nil))
-                                    tags-case-fold-search
-                                  case-fold-search))
-        (default (funcall (or find-tag-default-function
-                              (get major-mode 'find-tag-default-function)
-                              'find-tag-default)))
-        (spec (completing-read (if default
-                                   (format "%s (default %s): "
-                                           (substring string 0 (string-match "[ :]+\\'" string))
-                                           default)
-                                 string)
-                               (tags-lazy-completion-table)
-                               nil nil nil nil default)))
-    (if (equal spec "")
-       (or default (user-error "There is no default tag"))
-      spec)))
-
-(defvar last-tag nil
-  "Last tag found by \\[find-tag].")
-
-(defun find-tag-interactive (prompt &optional no-default)
-  "Get interactive arguments for tag functions.
-The functions using this are `find-tag-noselect',
-`find-tag-other-window', and `find-tag-regexp'."
-  (if (and current-prefix-arg last-tag)
-      (list nil (if (< (prefix-numeric-value current-prefix-arg) 0)
-                   '-
-                 t))
-    (list (if no-default
-             (read-string prompt)
-           (find-tag-tag prompt)))))
-
-(defvar find-tag-history nil) ; Doc string?
-
-;; Dynamic bondage:
-(defvar etags-case-fold-search)
-(defvar etags-syntax-table)
-(defvar local-find-tag-hook)
-
-;;;###autoload
-(defun find-tag-noselect (tagname &optional next-p regexp-p)
-  "Find tag (in current tags table) whose name contains TAGNAME.
-Returns the buffer containing the tag's definition and moves its point there,
-but does not select the buffer.
-The default for TAGNAME is the expression in the buffer near point.
-
-If second arg NEXT-P is t (interactively, with prefix arg), search for
-another tag that matches the last tagname or regexp used.  When there are
-multiple matches for a tag, more exact matches are found first.  If NEXT-P
-is the atom `-' (interactively, with prefix arg that is a negative number
-or just \\[negative-argument]), pop back to the previous tag gone to.
-
-If third arg REGEXP-P is non-nil, treat TAGNAME as a regexp.
-
-A marker representing the point when this command is invoked is pushed
-onto a ring and may be popped back to with \\[pop-tag-mark].
-Contrast this with the ring of marks gone to by the command.
-
-See documentation of variable `tags-file-name'."
-  (interactive (find-tag-interactive "Find tag: "))
-
-  (setq find-tag-history (cons tagname find-tag-history))
-  ;; Save the current buffer's value of `find-tag-hook' before
-  ;; selecting the tags table buffer.  For the same reason, save value
-  ;; of `tags-file-name' in case it has a buffer-local value.
-  (let ((local-find-tag-hook find-tag-hook))
-    (if (eq '- next-p)
-       ;; Pop back to a previous location.
-       (if (ring-empty-p tags-location-ring)
-           (user-error "No previous tag locations")
-         (let ((marker (ring-remove tags-location-ring 0)))
-           (prog1
-               ;; Move to the saved location.
-               (set-buffer (or (marker-buffer marker)
-                                (error "The marked buffer has been deleted")))
-             (goto-char (marker-position marker))
-             ;; Kill that marker so it doesn't slow down editing.
-             (set-marker marker nil nil)
-             ;; Run the user's hook.  Do we really want to do this for pop?
-             (run-hooks 'local-find-tag-hook))))
-      ;; Record whence we came.
-      (xref-push-marker-stack)
-      (if (and next-p last-tag)
-         ;; Find the same table we last used.
-         (visit-tags-table-buffer 'same)
-       ;; Pick a table to use.
-       (visit-tags-table-buffer)
-       ;; Record TAGNAME for a future call with NEXT-P non-nil.
-       (setq last-tag tagname))
-      ;; Record the location so we can pop back to it later.
-      (let ((marker (make-marker)))
-       (with-current-buffer
-            ;; find-tag-in-order does the real work.
-            (find-tag-in-order
-             (if (and next-p last-tag) last-tag tagname)
-             (if regexp-p
-                 find-tag-regexp-search-function
-               find-tag-search-function)
-             (if regexp-p
-                 find-tag-regexp-tag-order
-               find-tag-tag-order)
-             (if regexp-p
-                 find-tag-regexp-next-line-after-failure-p
-               find-tag-next-line-after-failure-p)
-             (if regexp-p "matching" "containing")
-             (or (not next-p) (not last-tag)))
-         (set-marker marker (point))
-         (run-hooks 'local-find-tag-hook)
-         (ring-insert tags-location-ring marker)
-         (current-buffer))))))
-
-;;;###autoload
-(defun find-tag (tagname &optional next-p regexp-p)
-  "Find tag (in current tags table) whose name contains TAGNAME.
-Select the buffer containing the tag's definition, and move point there.
-The default for TAGNAME is the expression in the buffer around or before point.
-
-If second arg NEXT-P is t (interactively, with prefix arg), search for
-another tag that matches the last tagname or regexp used.  When there are
-multiple matches for a tag, more exact matches are found first.  If NEXT-P
-is the atom `-' (interactively, with prefix arg that is a negative number
-or just \\[negative-argument]), pop back to the previous tag gone to.
-
-If third arg REGEXP-P is non-nil, treat TAGNAME as a regexp.
-
-A marker representing the point when this command is invoked is pushed
-onto a ring and may be popped back to with \\[pop-tag-mark].
-Contrast this with the ring of marks gone to by the command.
-
-See documentation of variable `tags-file-name'."
-  (interactive (find-tag-interactive "Find tag: "))
-  (let* ((buf (find-tag-noselect tagname next-p regexp-p))
-        (pos (with-current-buffer buf (point))))
-    (condition-case nil
-       (switch-to-buffer buf)
-      (error (pop-to-buffer buf)))
-    (goto-char pos)))
-
-;;;###autoload
-(defun find-tag-other-window (tagname &optional next-p regexp-p)
-  "Find tag (in current tags table) whose name contains TAGNAME.
-Select the buffer containing the tag's definition in another window, and
-move point there.  The default for TAGNAME is the expression in the buffer
-around or before point.
-
-If second arg NEXT-P is t (interactively, with prefix arg), search for
-another tag that matches the last tagname or regexp used.  When there are
-multiple matches for a tag, more exact matches are found first.  If NEXT-P
-is negative (interactively, with prefix arg that is a negative number or
-just \\[negative-argument]), pop back to the previous tag gone to.
-
-If third arg REGEXP-P is non-nil, treat TAGNAME as a regexp.
-
-A marker representing the point when this command is invoked is pushed
-onto a ring and may be popped back to with \\[pop-tag-mark].
-Contrast this with the ring of marks gone to by the command.
-
-See documentation of variable `tags-file-name'."
-  (declare (obsolete xref-find-definitions-other-window "25.1"))
-  (interactive (find-tag-interactive "Find tag other window: "))
-
-  ;; This hair is to deal with the case where the tag is found in the
-  ;; selected window's buffer; without the hair, point is moved in both
-  ;; windows.  To prevent this, we save the selected window's point before
-  ;; doing find-tag-noselect, and restore it after.
-  (let* ((window-point (window-point))
-        (tagbuf (find-tag-noselect tagname next-p regexp-p))
-        (tagpoint (progn (set-buffer tagbuf) (point))))
-    (set-window-point (prog1
-                         (selected-window)
-                       (switch-to-buffer-other-window tagbuf)
-                       ;; We have to set this new window's point; it
-                       ;; might already have been displaying a
-                       ;; different portion of tagbuf, in which case
-                       ;; switch-to-buffer-other-window doesn't set
-                       ;; the window's point from the buffer.
-                       (set-window-point (selected-window) tagpoint))
-                     window-point)))
-
-;;;###autoload
-(defun find-tag-other-frame (tagname &optional next-p)
-  "Find tag (in current tags table) whose name contains TAGNAME.
-Select the buffer containing the tag's definition in another frame, and
-move point there.  The default for TAGNAME is the expression in the buffer
-around or before point.
-
-If second arg NEXT-P is t (interactively, with prefix arg), search for
-another tag that matches the last tagname or regexp used.  When there are
-multiple matches for a tag, more exact matches are found first.  If NEXT-P
-is negative (interactively, with prefix arg that is a negative number or
-just \\[negative-argument]), pop back to the previous tag gone to.
-
-If third arg REGEXP-P is non-nil, treat TAGNAME as a regexp.
-
-A marker representing the point when this command is invoked is pushed
-onto a ring and may be popped back to with \\[pop-tag-mark].
-Contrast this with the ring of marks gone to by the command.
-
-See documentation of variable `tags-file-name'."
-  (declare (obsolete xref-find-definitions-other-frame "25.1"))
-  (interactive (find-tag-interactive "Find tag other frame: "))
-  (let ((pop-up-frames t))
-    (find-tag-other-window tagname next-p)))
-
-;;;###autoload
-(defun find-tag-regexp (regexp &optional next-p other-window)
-  "Find tag (in current tags table) whose name matches REGEXP.
-Select the buffer containing the tag's definition and move point there.
-
-If second arg NEXT-P is t (interactively, with prefix arg), search for
-another tag that matches the last tagname or regexp used.  When there are
-multiple matches for a tag, more exact matches are found first.  If NEXT-P
-is negative (interactively, with prefix arg that is a negative number or
-just \\[negative-argument]), pop back to the previous tag gone to.
-
-If third arg OTHER-WINDOW is non-nil, select the buffer in another window.
-
-A marker representing the point when this command is invoked is pushed
-onto a ring and may be popped back to with \\[pop-tag-mark].
-Contrast this with the ring of marks gone to by the command.
-
-See documentation of variable `tags-file-name'."
-  (declare (obsolete xref-find-apropos "25.1"))
-  (interactive (find-tag-interactive "Find tag regexp: " t))
-  ;; We go through find-tag-other-window to do all the display hair there.
-  (funcall (if other-window 'find-tag-other-window 'find-tag)
-          regexp next-p t))
-
-;;;###autoload
-(defalias 'pop-tag-mark 'xref-pop-marker-stack)
-
-\f
-(defvar tag-lines-already-matched nil
-  "Matches remembered between calls.") ; Doc string: calls to what?
-
-(defun find-tag-in-order (pattern
-                         search-forward-func
-                         order
-                         next-line-after-failure-p
-                         matching
-                         first-search)
-  "Internal tag-finding function.
-PATTERN is a string to pass to arg SEARCH-FORWARD-FUNC, and to any
-member of the function list ORDER.  If ORDER is nil, use saved state
-to continue a previous search.
-
-Arg NEXT-LINE-AFTER-FAILURE-P is non-nil if after a failed match,
-point should be moved to the next line.
-
-Arg MATCHING is a string, an English `-ing' word, to be used in an
-error message."
-;; Algorithm is as follows:
-;; For each qualifier-func in ORDER, go to beginning of tags file, and
-;; perform inner loop: for each naive match for PATTERN found using
-;; SEARCH-FORWARD-FUNC, qualify the naive match using qualifier-func.  If
-;; it qualifies, go to the specified line in the specified source file
-;; and return.  Qualified matches are remembered to avoid repetition.
-;; State is saved so that the loop can be continued.
-  (let (file                           ;name of file containing tag
-       tag-info                        ;where to find the tag in FILE
-       (first-table t)
-       (tag-order order)
-       (match-marker (make-marker))
-       goto-func
-       (case-fold-search (if (memq tags-case-fold-search '(nil t))
-                             tags-case-fold-search
-                           case-fold-search))
-       )
-    (save-excursion
-
-      (if first-search
-         ;; This is the start of a search for a fresh tag.
-         ;; Clear the list of tags matched by the previous search.
-         ;; find-tag-noselect has already put us in the first tags table
-         ;; buffer before we got called.
-         (setq tag-lines-already-matched nil)
-       ;; Continuing to search for the tag specified last time.
-       ;; tag-lines-already-matched lists locations matched in previous
-       ;; calls so we don't visit the same tag twice if it matches twice
-       ;; during two passes with different qualification predicates.
-       ;; Switch to the current tags table buffer.
-       (visit-tags-table-buffer 'same))
-
-      ;; Get a qualified match.
-      (catch 'qualified-match-found
-
-       ;; Iterate over the list of tags tables.
-       (while (or first-table
-                  (visit-tags-table-buffer t))
-
-         (and first-search first-table
-              ;; Start at beginning of tags file.
-              (goto-char (point-min)))
-
-         (setq first-table nil)
-
-         ;; Iterate over the list of ordering predicates.
-         (while order
-           (while (funcall search-forward-func pattern nil t)
-             ;; Naive match found.  Qualify the match.
-             (and (funcall (car order) pattern)
-                  ;; Make sure it is not a previous qualified match.
-                  (not (member (set-marker match-marker (point-at-bol))
-                               tag-lines-already-matched))
-                  (throw 'qualified-match-found nil))
-             (if next-line-after-failure-p
-                 (forward-line 1)))
-           ;; Try the next flavor of match.
-           (setq order (cdr order))
-           (goto-char (point-min)))
-         (setq order tag-order))
-       ;; We throw out on match, so only get here if there were no matches.
-       ;; Clear out the markers we use to avoid duplicate matches so they
-       ;; don't slow down editing and are immediately available for GC.
-       (while tag-lines-already-matched
-         (set-marker (car tag-lines-already-matched) nil nil)
-         (setq tag-lines-already-matched (cdr tag-lines-already-matched)))
-       (set-marker match-marker nil nil)
-       (user-error "No %stags %s %s" (if first-search "" "more ")
-                    matching pattern))
-
-      ;; Found a tag; extract location info.
-      (beginning-of-line)
-      (setq tag-lines-already-matched (cons match-marker
-                                           tag-lines-already-matched))
-      ;; Expand the filename, using the tags table buffer's default-directory.
-      ;; We should be able to search for file-name backwards in file-of-tag:
-      ;; the beginning-of-line is ok except when positioned on a "file-name" tag.
-      (setq file (expand-file-name
-                 (if (memq (car order) '(tag-exact-file-name-match-p
-                                         tag-file-name-match-p
-                                         tag-partial-file-name-match-p))
-                      (save-excursion (forward-line 1)
-                                      (file-of-tag))
-                    (file-of-tag)))
-           tag-info (funcall snarf-tag-function))
-
-      ;; Get the local value in the tags table buffer before switching buffers.
-      (setq goto-func goto-tag-location-function)
-      (tag-find-file-of-tag-noselect file)
-      (widen)
-      (push-mark)
-      (funcall goto-func tag-info)
-
-      ;; Return the buffer where the tag was found.
-      (current-buffer))))
-
-(defun tag-find-file-of-tag-noselect (file)
-  "Find the right line in the specified FILE."
-  ;; If interested in compressed-files, search files with extensions.
-  ;; Otherwise, search only the real file.
-  (let* ((buffer-search-extensions (if auto-compression-mode
-                                      tags-compression-info-list
-                                    '("")))
-        the-buffer
-        (file-search-extensions buffer-search-extensions))
-    ;; search a buffer visiting the file with each possible extension
-    ;; Note: there is a small inefficiency in find-buffer-visiting :
-    ;;   truename is computed even if not needed. Not too sure about this
-    ;;   but I suspect truename computation accesses the disk.
-    ;;   It is maybe a good idea to optimize this find-buffer-visiting.
-    ;; An alternative would be to use only get-file-buffer
-    ;; but this looks less "sure" to find the buffer for the file.
-    (while (and (not the-buffer) buffer-search-extensions)
-      (setq the-buffer (find-buffer-visiting (concat file (car buffer-search-extensions))))
-      (setq buffer-search-extensions (cdr buffer-search-extensions)))
-    ;; if found a buffer but file modified, ensure we re-read !
-    (if (and the-buffer (not (verify-visited-file-modtime the-buffer)))
-       (find-file-noselect (buffer-file-name the-buffer)))
-    ;; if no buffer found, search for files with possible extensions on disk
-    (while (and (not the-buffer) file-search-extensions)
-      (if (not (file-exists-p (concat file (car file-search-extensions))))
-         (setq file-search-extensions (cdr file-search-extensions))
-       (setq the-buffer (find-file-noselect (concat file (car file-search-extensions))))))
-    (if (not the-buffer)
-       (if auto-compression-mode
-           (error "File %s (with or without extensions %s) not found" file tags-compression-info-list)
-         (error "File %s not found" file))
-      (set-buffer the-buffer))))
-
-(defun tag-find-file-of-tag (file) ; Doc string?
-  (let ((buf (tag-find-file-of-tag-noselect file)))
-    (condition-case nil
-       (switch-to-buffer buf)
-      (error (pop-to-buffer buf)))))
-\f
-;; `etags' TAGS file format support.
-
-(defun etags-recognize-tags-table ()
-  "If `etags-verify-tags-table', make buffer-local format variables.
-If current buffer is a valid etags TAGS file, then give it
-buffer-local values of tags table format variables."
-  (and (etags-verify-tags-table)
-       ;; It is annoying to flash messages on the screen briefly,
-       ;; and this message is not useful.  -- rms
-       ;; (message "%s is an `etags' TAGS file" buffer-file-name)
-       (mapc (lambda (elt) (set (make-local-variable (car elt)) (cdr elt)))
-            '((file-of-tag-function . etags-file-of-tag)
-              (tags-table-files-function . etags-tags-table-files)
-              (tags-completion-table-function . etags-tags-completion-table)
-              (snarf-tag-function . etags-snarf-tag)
-              (goto-tag-location-function . etags-goto-tag-location)
-              (find-tag-regexp-search-function . re-search-forward)
-              (find-tag-regexp-tag-order . (tag-re-match-p))
-              (find-tag-regexp-next-line-after-failure-p . t)
-              (find-tag-search-function . search-forward)
-              (find-tag-tag-order . (tag-exact-file-name-match-p
-                                      tag-file-name-match-p
-                                     tag-exact-match-p
-                                     tag-implicit-name-match-p
-                                     tag-symbol-match-p
-                                     tag-word-match-p
-                                     tag-partial-file-name-match-p
-                                     tag-any-match-p))
-              (find-tag-next-line-after-failure-p . nil)
-              (list-tags-function . etags-list-tags)
-              (tags-apropos-function . etags-tags-apropos)
-              (tags-included-tables-function . etags-tags-included-tables)
-              (verify-tags-table-function . etags-verify-tags-table)
-              ))))
-
-(defun etags-verify-tags-table ()
-  "Return non-nil if the current buffer is a valid etags TAGS file."
-  ;; Use eq instead of = in case char-after returns nil.
-  (eq (char-after (point-min)) ?\f))
-
-(defun etags-file-of-tag (&optional relative) ; Doc string?
-  (save-excursion
-    (re-search-backward "\f\n\\([^\n]+\\),[0-9]*\n")
-    (let ((str (convert-standard-filename
-                (buffer-substring (match-beginning 1) (match-end 1)))))
-      (if relative
-         str
-       (expand-file-name str (file-truename default-directory))))))
-
-
-(defun etags-tags-completion-table () ; Doc string?
-  (let ((table (make-vector 511 0))
-       (progress-reporter
-        (make-progress-reporter
-         (format "Making tags completion table for %s..." buffer-file-name)
-         (point-min) (point-max))))
-    (save-excursion
-      (goto-char (point-min))
-      ;; This monster regexp matches an etags tag line.
-      ;;   \1 is the string to match;
-      ;;   \2 is not interesting;
-      ;;   \3 is the guessed tag name; XXX guess should be better eg DEFUN
-      ;;   \4 is not interesting;
-      ;;   \5 is the explicitly-specified tag name.
-      ;;   \6 is the line to start searching at;
-      ;;   \7 is the char to start searching at.
-      (while (re-search-forward
-             "^\\(\\([^\177]+[^-a-zA-Z0-9_+*$:\177]+\\)?\
-\\([-a-zA-Z0-9_+*$?:]+\\)[^-a-zA-Z0-9_+*$?:\177]*\\)\177\
-\\(\\([^\n\001]+\\)\001\\)?\\([0-9]+\\)?,\\([0-9]+\\)?\n"
-             nil t)
-       (intern (prog1 (if (match-beginning 5)
-                          ;; There is an explicit tag name.
-                          (buffer-substring (match-beginning 5) (match-end 5))
-                        ;; No explicit tag name.  Best guess.
-                        (buffer-substring (match-beginning 3) (match-end 3)))
-                 (progress-reporter-update progress-reporter (point)))
-               table)))
-    table))
-
-(defun etags-snarf-tag (&optional use-explicit) ; Doc string?
-  (let (tag-text line startpos explicit-start)
-    (if (save-excursion
-         (forward-line -1)
-         (looking-at "\f\n"))
-       ;; The match was for a source file name, not any tag within a file.
-       ;; Give text of t, meaning to go exactly to the location we specify,
-       ;; the beginning of the file.
-       (setq tag-text t
-             line nil
-             startpos (point-min))
-
-      ;; Find the end of the tag and record the whole tag text.
-      (search-forward "\177")
-      (setq tag-text (buffer-substring (1- (point)) (point-at-bol)))
-      ;; If use-explicit is non nil and explicit tag is present, use it as part of
-      ;; return value. Else just skip it.
-      (setq explicit-start (point))
-      (when (and (search-forward "\001" (point-at-bol 2) t)
-                use-explicit)
-       (setq tag-text (buffer-substring explicit-start (1- (point)))))
-
-
-      (if (looking-at "[0-9]")
-         (setq line (string-to-number (buffer-substring
-                                        (point)
-                                        (progn (skip-chars-forward "0-9")
-                                               (point))))))
-      (search-forward ",")
-      (if (looking-at "[0-9]")
-         (setq startpos (string-to-number (buffer-substring
-                                            (point)
-                                            (progn (skip-chars-forward "0-9")
-                                                   (point)))))))
-    ;; Leave point on the next line of the tags file.
-    (forward-line 1)
-    (cons tag-text (cons line startpos))))
-
-(defun etags-goto-tag-location (tag-info)
-  "Go to location of tag specified by TAG-INFO.
-TAG-INFO is a cons (TEXT LINE . POSITION).
-TEXT is the initial part of a line containing the tag.
-LINE is the line number.
-POSITION is the (one-based) char position of TEXT within the file.
-
-If TEXT is t, it means the tag refers to exactly LINE or POSITION,
-whichever is present, LINE having preference, no searching.
-Either LINE or POSITION can be nil.  POSITION is used if present.
-
-If the tag isn't exactly at the given position, then look near that
-position using a search window that expands progressively until it
-hits the start of file."
-  (let ((startpos (cdr (cdr tag-info)))
-       (line (car (cdr tag-info)))
-       offset found pat)
-    (if (eq (car tag-info) t)
-       ;; Direct file tag.
-       (cond (line (progn (goto-char (point-min))
-                          (forward-line (1- line))))
-             (startpos (goto-char startpos))
-             (t (error "etags.el BUG: bogus direct file tag")))
-      ;; This constant is 1/2 the initial search window.
-      ;; There is no sense in making it too small,
-      ;; since just going around the loop once probably
-      ;; costs about as much as searching 2000 chars.
-      (setq offset 1000
-           found nil
-           pat (concat (if (eq selective-display t)
-                           "\\(^\\|\^m\\)" "^")
-                       (regexp-quote (car tag-info))))
-      ;; The character position in the tags table is 0-origin.
-      ;; Convert it to a 1-origin Emacs character position.
-      (if startpos (setq startpos (1+ startpos)))
-      ;; If no char pos was given, try the given line number.
-      (or startpos
-         (if line
-             (setq startpos (progn (goto-char (point-min))
-                                   (forward-line (1- line))
-                                   (point)))))
-      (or startpos
-         (setq startpos (point-min)))
-      ;; First see if the tag is right at the specified location.
-      (goto-char startpos)
-      (setq found (looking-at pat))
-      (while (and (not found)
-                 (progn
-                   (goto-char (- startpos offset))
-                   (not (bobp))))
-       (setq found
-             (re-search-forward pat (+ startpos offset) t)
-             offset (* 3 offset)))     ; expand search window
-      (or found
-         (re-search-forward pat nil t)
-         (user-error "Rerun etags: `%s' not found in %s"
-                      pat buffer-file-name)))
-    ;; Position point at the right place
-    ;; if the search string matched an extra Ctrl-m at the beginning.
-    (and (eq selective-display t)
-        (looking-at "\^m")
-        (forward-char 1))
-    (beginning-of-line)))
-
-(defun etags-list-tags (file) ; Doc string?
-  (goto-char (point-min))
-  (when (re-search-forward (concat "\f\n" "\\(" file "\\)" ",") nil t)
-    (let ((path (save-excursion (forward-line 1) (file-of-tag)))
-         ;; Get the local value in the tags table
-         ;; buffer before switching buffers.
-         (goto-func goto-tag-location-function)
-         tag tag-info pt)
-    (forward-line 1)
-    (while (not (or (eobp) (looking-at "\f")))
-      ;; We used to use explicit tags when available, but the current goto-func
-      ;; can only handle implicit tags.
-      (setq tag-info (save-excursion (funcall snarf-tag-function nil))
-           tag (car tag-info)
-           pt (with-current-buffer standard-output (point)))
-      (princ tag)
-      (when (= (aref tag 0) ?\() (princ " ...)"))
-      (with-current-buffer standard-output
-       (make-text-button pt (point)
-                         'tag-info tag-info
-                         'file-path path
-                         'goto-func goto-func
-                         'action (lambda (button)
-                                   (let ((tag-info (button-get button 'tag-info))
-                                         (goto-func (button-get button 'goto-func)))
-                                     (tag-find-file-of-tag (button-get button 'file-path))
-                                     (widen)
-                                     (funcall goto-func tag-info)))
-                         'follow-link t
-                         'face tags-tag-face
-                         'type 'button))
-      (terpri)
-      (forward-line 1))
-    t)))
-
-(defmacro tags-with-face (face &rest body)
-  "Execute BODY, give output to `standard-output' face FACE."
-  (let ((pp (make-symbol "start")))
-    `(let ((,pp (with-current-buffer standard-output (point))))
-       ,@body
-       (put-text-property ,pp (with-current-buffer standard-output (point))
-                         'face ,face standard-output))))
-
-(defun etags-tags-apropos-additional (regexp)
-  "Display tags matching REGEXP from `tags-apropos-additional-actions'."
-  (with-current-buffer standard-output
-    (dolist (oba tags-apropos-additional-actions)
-      (princ "\n\n")
-      (tags-with-face 'highlight (princ (car oba)))
-      (princ":\n\n")
-      (let* ((beg (point))
-            (symbs (car (cddr oba)))
-             (ins-symb (lambda (sy)
-                         (let ((sn (symbol-name sy)))
-                           (when (string-match regexp sn)
-                             (make-text-button (point)
-                                         (progn (princ sy) (point))
-                                         'action-internal(cadr oba)
-                                         'action (lambda (button) (funcall
-                                                                   (button-get button 'action-internal)
-                                                                   (button-get button 'item)))
-                                         'item sn
-                                         'face tags-tag-face
-                                         'follow-link t
-                                         'type 'button)
-                             (terpri))))))
-        (when (symbolp symbs)
-          (if (boundp symbs)
-             (setq symbs (symbol-value symbs))
-           (insert "symbol `" (symbol-name symbs) "' has no value\n")
-           (setq symbs nil)))
-        (if (vectorp symbs)
-           (mapatoms ins-symb symbs)
-         (dolist (sy symbs)
-           (funcall ins-symb (car sy))))
-        (sort-lines nil beg (point))))))
-
-(defun etags-tags-apropos (string) ; Doc string?
-  (when tags-apropos-verbose
-    (princ "Tags in file `")
-    (tags-with-face 'highlight (princ buffer-file-name))
-    (princ "':\n\n"))
-  (goto-char (point-min))
-  (let ((progress-reporter (make-progress-reporter
-                           (format "Making tags apropos buffer for `%s'..."
-                                   string)
-                           (point-min) (point-max))))
-    (while (re-search-forward string nil t)
-      (progress-reporter-update progress-reporter (point))
-      (beginning-of-line)
-
-      (let* ( ;; Get the local value in the tags table
-            ;; buffer before switching buffers.
-            (goto-func goto-tag-location-function)
-            (tag-info (save-excursion (funcall snarf-tag-function)))
-            (tag (if (eq t (car tag-info)) nil (car tag-info)))
-            (file-path (save-excursion (if tag (file-of-tag)
-                                         (save-excursion (forward-line 1)
-                                                         (file-of-tag)))))
-            (file-label (if tag (file-of-tag t)
-                          (save-excursion (forward-line 1)
-                                          (file-of-tag t))))
-            (pt (with-current-buffer standard-output (point))))
-       (if tag
-           (progn
-             (princ (format "[%s]: " file-label))
-             (princ tag)
-             (when (= (aref tag 0) ?\() (princ " ...)"))
-             (with-current-buffer standard-output
-               (make-text-button pt (point)
-                                 'tag-info tag-info
-                                 'file-path file-path
-                                 'goto-func goto-func
-                                 'action (lambda (button)
-                                           (let ((tag-info (button-get button 'tag-info))
-                                                 (goto-func (button-get button 'goto-func)))
-                                             (tag-find-file-of-tag (button-get button 'file-path))
-                                             (widen)
-                                             (funcall goto-func tag-info)))
-                                 'follow-link t
-                                 'face tags-tag-face
-                                 'type 'button)))
-         (princ (format "- %s" file-label))
-         (with-current-buffer standard-output
-           (make-text-button pt (point)
-                             'file-path file-path
-                             'action (lambda (button)
-                                       (tag-find-file-of-tag (button-get button 'file-path))
-                                       ;; Get the local value in the tags table
-                                       ;; buffer before switching buffers.
-                                       (goto-char (point-min)))
-                             'follow-link t
-                             'face tags-tag-face
-                             'type 'button))))
-      (terpri)
-      (forward-line 1))
-    (message nil))
-  (when tags-apropos-verbose (princ "\n")))
-
-(defun etags-tags-table-files () ; Doc string?
-  (let ((files nil)
-       beg)
-    (goto-char (point-min))
-    (while (search-forward "\f\n" nil t)
-      (setq beg (point))
-      (end-of-line)
-      (skip-chars-backward "^," beg)
-      (or (looking-at "include$")
-         (push (convert-standard-filename
-                 (buffer-substring beg (1- (point))))
-                files)))
-    (nreverse files)))
-
-;; FIXME?  Should this save-excursion?
-(defun etags-tags-included-tables () ; Doc string?
-  (let ((files nil)
-       beg)
-    (goto-char (point-min))
-    (while (search-forward "\f\n" nil t)
-      (setq beg (point))
-      (end-of-line)
-      (skip-chars-backward "^," beg)
-      (when (looking-at "include$")
-        ;; Expand in the default-directory of the tags table buffer.
-        (push (expand-file-name (convert-standard-filename
-                                 (buffer-substring beg (1- (point)))))
-              files)))
-    (nreverse files)))
-\f
-;; Empty tags file support.
-
-(defun tags-recognize-empty-tags-table ()
-  "Return non-nil if current buffer is empty.
-If empty, make buffer-local values of the tags table format variables
-that do nothing."
-  (and (zerop (buffer-size))
-       (mapc (lambda (sym) (set (make-local-variable sym) 'ignore))
-            '(tags-table-files-function
-              tags-completion-table-function
-              find-tag-regexp-search-function
-              find-tag-search-function
-              tags-apropos-function
-              tags-included-tables-function))
-       (set (make-local-variable 'verify-tags-table-function)
-            (lambda () (zerop (buffer-size))))))
-\f
-;; Match qualifier functions for tagnames.
-;; These functions assume the etags file format defined in etc/ETAGS.EBNF.
-
-;; This might be a neat idea, but it's too hairy at the moment.
-;;(defmacro tags-with-syntax (&rest body)
-;;   `(with-syntax-table
-;;        (with-current-buffer (find-file-noselect (file-of-tag))
-;;          (syntax-table))
-;;      ,@body))
-;;(put 'tags-with-syntax 'edebug-form-spec '(&rest form))
-
-;; exact file name match, i.e. searched tag must match complete file
-;; name including directories parts if there are some.
-(defun tag-exact-file-name-match-p (tag)
-  "Return non-nil if TAG matches complete file name.
-Any directory part of the file name is also matched."
-  (and (looking-at ",[0-9\n]")
-       (save-excursion (backward-char (+ 2 (length tag)))
-                      (looking-at "\f\n"))))
-
-;; file name match as above, but searched tag must match the file
-;; name not including the directories if there are some.
-(defun tag-file-name-match-p (tag)
-  "Return non-nil if TAG matches file name, excluding directory part."
-  (and (looking-at ",[0-9\n]")
-       (save-excursion (backward-char (1+ (length tag)))
-                      (looking-at "/"))))
-
-;; this / to detect we are after a directory separator is ok for unix,
-;; is there a variable that contains the regexp for directory separator
-;; on whatever operating system ?
-;; Looks like ms-win will lose here :).
-
-;; t if point is at a tag line that matches TAG exactly.
-;; point should be just after a string that matches TAG.
-(defun tag-exact-match-p (tag)
-  "Return non-nil if current tag line matches TAG exactly.
-Point should be just after a string that matches TAG."
-  ;; The match is really exact if there is an explicit tag name.
-  (or (and (eq (char-after (point)) ?\001)
-          (eq (char-after (- (point) (length tag) 1)) ?\177))
-      ;; We are not on the explicit tag name, but perhaps it follows.
-      (looking-at (concat "[^\177\n]*\177" (regexp-quote tag) "\001"))))
-
-;; t if point is at a tag line that has an implicit name.
-;; point should be just after a string that matches TAG.
-(defun tag-implicit-name-match-p (tag)
-  "Return non-nil if current tag line has an implicit name.
-Point should be just after a string that matches TAG."
-  ;; Look at the comment of the make_tag function in lib-src/etags.c for
-  ;; a textual description of the four rules.
-  (and (string-match "^[^ \t()=,;]+$" tag) ;rule #1
-       (looking-at "[ \t()=,;]?\177")  ;rules #2 and #4
-       (save-excursion
-        (backward-char (1+ (length tag)))
-        (looking-at "[\n \t()=,;]")))) ;rule #3
-
-;; t if point is at a tag line that matches TAG as a symbol.
-;; point should be just after a string that matches TAG.
-(defun tag-symbol-match-p (tag)
-  "Return non-nil if current tag line matches TAG as a symbol.
-Point should be just after a string that matches TAG."
-  (and (looking-at "\\Sw.*\177") (looking-at "\\S_.*\177")
-       (save-excursion
-        (backward-char (1+ (length tag)))
-        (and (looking-at "\\Sw") (looking-at "\\S_")))))
-
-;; t if point is at a tag line that matches TAG as a word.
-;; point should be just after a string that matches TAG.
-(defun tag-word-match-p (tag)
-  "Return non-nil if current tag line matches TAG as a word.
-Point should be just after a string that matches TAG."
-  (and (looking-at "\\b.*\177")
-       (save-excursion (backward-char (length tag))
-                      (looking-at "\\b"))))
-
-;; partial file name match, i.e. searched tag must match a substring
-;; of the file name (potentially including a directory separator).
-(defun tag-partial-file-name-match-p (_tag)
-  "Return non-nil if current tag matches file name.
-This is a substring match, and it can include directory separators.
-Point should be just after a string that matches TAG."
-  (and (looking-at ".*,[0-9\n]")
-       (save-excursion (beginning-of-line)
-                       (backward-char 2)
-                      (looking-at "\f\n"))))
-
-;; t if point is in a tag line with a tag containing TAG as a substring.
-(defun tag-any-match-p (_tag)
-  "Return non-nil if current tag line contains TAG as a substring."
-  (looking-at ".*\177"))
-
-;; t if point is at a tag line that matches RE as a regexp.
-(defun tag-re-match-p (re)
-  "Return non-nil if current tag line matches regexp RE."
-  (save-excursion
-    (beginning-of-line)
-    (let ((bol (point)))
-      (and (search-forward "\177" (line-end-position) t)
-          (re-search-backward re bol t)))))
-\f
-(defcustom tags-loop-revert-buffers nil
-  "Non-nil means tags-scanning loops should offer to reread changed files.
-These loops normally read each file into Emacs, but when a file
-is already visited, they use the existing buffer.
-When this flag is non-nil, they offer to revert the existing buffer
-in the case where the file has changed since you visited it."
-  :type 'boolean
-  :group 'etags)
-
-;;;###autoload
-(defun next-file (&optional initialize novisit)
-  "Select next file among files in current tags table.
-
-A first argument of t (prefix arg, if interactive) initializes to the
-beginning of the list of files in the tags table.  If the argument is
-neither nil nor t, it is evalled to initialize the list of files.
-
-Non-nil second argument NOVISIT means use a temporary buffer
- to save time and avoid uninteresting warnings.
-
-Value is nil if the file was already visited;
-if the file was newly read in, the value is the filename."
-  ;; Make the interactive arg t if there was any prefix arg.
-  (interactive (list (if current-prefix-arg t)))
-  (cond ((not initialize)
-        ;; Not the first run.
-        )
-       ((eq initialize t)
-        ;; Initialize the list from the tags table.
-        (save-excursion
-          ;; Visit the tags table buffer to get its list of files.
-          (visit-tags-table-buffer)
-          ;; Copy the list so we can setcdr below, and expand the file
-          ;; names while we are at it, in this buffer's default directory.
-          (setq next-file-list (mapcar 'expand-file-name (tags-table-files)))
-          ;; Iterate over all the tags table files, collecting
-          ;; a complete list of referenced file names.
-          (while (visit-tags-table-buffer t)
-            ;; Find the tail of the working list and chain on the new
-            ;; sublist for this tags table.
-            (let ((tail next-file-list))
-              (while (cdr tail)
-                (setq tail (cdr tail)))
-              ;; Use a copy so the next loop iteration will not modify the
-              ;; list later returned by (tags-table-files).
-              (if tail
-                  (setcdr tail (mapcar 'expand-file-name (tags-table-files)))
-                (setq next-file-list (mapcar 'expand-file-name
-                                             (tags-table-files))))))))
-       (t
-        ;; Initialize the list by evalling the argument.
-        (setq next-file-list (eval initialize))))
-  (unless next-file-list
-    (and novisit
-        (get-buffer " *next-file*")
-        (kill-buffer " *next-file*"))
-    (user-error "All files processed"))
-  (let* ((next (car next-file-list))
-        (buffer (get-file-buffer next))
-        (new (not buffer)))
-    ;; Advance the list before trying to find the file.
-    ;; If we get an error finding the file, don't get stuck on it.
-    (setq next-file-list (cdr next-file-list))
-    ;; Optionally offer to revert buffers
-    ;; if the files have changed on disk.
-    (and buffer tags-loop-revert-buffers
-        (not (verify-visited-file-modtime buffer))
-        (y-or-n-p
-         (format
-          (if (buffer-modified-p buffer)
-              "File %s changed on disk.  Discard your edits? "
-            "File %s changed on disk.  Reread from disk? ")
-          next))
-        (with-current-buffer buffer
-          (revert-buffer t t)))
-    (if (not (and new novisit))
-       (find-file next novisit)
-      ;; Like find-file, but avoids random warning messages.
-      (switch-to-buffer (get-buffer-create " *next-file*"))
-      (kill-all-local-variables)
-      (erase-buffer)
-      (setq new next)
-      (insert-file-contents new nil))
-    new))
-
-(defvar tags-loop-operate nil
-  "Form for `tags-loop-continue' to eval to change one file.")
-
-(defvar tags-loop-scan
-  '(user-error "%s"
-              (substitute-command-keys
-               "No \\[tags-search] or \\[tags-query-replace] in progress"))
-  "Form for `tags-loop-continue' to eval to scan one file.
-If it returns non-nil, this file needs processing by evalling
-`tags-loop-operate'.  Otherwise, move on to the next file.")
-
-(defun tags-loop-eval (form)
-  "Evaluate FORM and return its result.
-Bind `case-fold-search' during the evaluation, depending on the value of
-`tags-case-fold-search'."
-  (let ((case-fold-search (if (memq tags-case-fold-search '(t nil))
-                             tags-case-fold-search
-                           case-fold-search)))
-    (eval form)))
-
-
-;;;###autoload
-(defun tags-loop-continue (&optional first-time)
-  "Continue last \\[tags-search] or \\[tags-query-replace] command.
-Used noninteractively with non-nil argument to begin such a command (the
-argument is passed to `next-file', which see).
-
-Two variables control the processing we do on each file: the value of
-`tags-loop-scan' is a form to be executed on each file to see if it is
-interesting (it returns non-nil if so) and `tags-loop-operate' is a form to
-evaluate to operate on an interesting file.  If the latter evaluates to
-nil, we exit; otherwise we scan the next file."
-  (declare (obsolete "use `xref-find-definitions' interface instead." "25.1"))
-  (interactive)
-  (let (new
-       ;; Non-nil means we have finished one file
-       ;; and should not scan it again.
-       file-finished
-       original-point
-       (messaged nil))
-    (while
-       (progn
-         ;; Scan files quickly for the first or next interesting one.
-         ;; This starts at point in the current buffer.
-         (while (or first-time file-finished
-                    (save-restriction
-                      (widen)
-                      (not (tags-loop-eval tags-loop-scan))))
-           ;; If nothing was found in the previous file, and
-           ;; that file isn't in a temp buffer, restore point to
-           ;; where it was.
-           (when original-point
-             (goto-char original-point))
-
-           (setq file-finished nil)
-           (setq new (next-file first-time t))
-
-           ;; If NEW is non-nil, we got a temp buffer,
-           ;; and NEW is the file name.
-           (when (or messaged
-                     (and (not first-time)
-                          (> baud-rate search-slow-speed)
-                          (setq messaged t)))
-             (message "Scanning file %s..." (or new buffer-file-name)))
-
-           (setq first-time nil)
-           (setq original-point (if new nil (point)))
-           (goto-char (point-min)))
-
-         ;; If we visited it in a temp buffer, visit it now for real.
-         (if new
-             (let ((pos (point)))
-               (erase-buffer)
-               (set-buffer (find-file-noselect new))
-               (setq new nil)          ;No longer in a temp buffer.
-               (widen)
-               (goto-char pos))
-           (push-mark original-point t))
-
-         (switch-to-buffer (current-buffer))
-
-         ;; Now operate on the file.
-         ;; If value is non-nil, continue to scan the next file.
-         (tags-loop-eval tags-loop-operate))
-      (setq file-finished t))
-    (and messaged
-        (null tags-loop-operate)
-        (message "Scanning file %s...found" buffer-file-name))))
-
-;;;###autoload
-(defun tags-search (regexp &optional file-list-form)
-  "Search through all files listed in tags table for match for REGEXP.
-Stops when a match is found.
-To continue searching for next match, use command \\[tags-loop-continue].
-
-If FILE-LIST-FORM is non-nil, it should be a form that, when
-evaluated, will return a list of file names.  The search will be
-restricted to these files.
-
-Also see the documentation of the `tags-file-name' variable."
-  (interactive "sTags search (regexp): ")
-  (if (and (equal regexp "")
-          (eq (car tags-loop-scan) 're-search-forward)
-          (null tags-loop-operate))
-      ;; Continue last tags-search as if by M-,.
-      (tags-loop-continue nil)
-    (setq tags-loop-scan `(re-search-forward ',regexp nil t)
-         tags-loop-operate nil)
-    (tags-loop-continue (or file-list-form t))))
-
-;;;###autoload
-(defun tags-query-replace (from to &optional delimited file-list-form)
-  "Do `query-replace-regexp' of FROM with TO on all files listed in tags table.
-Third arg DELIMITED (prefix arg) means replace only word-delimited matches.
-If you exit (\\[keyboard-quit], RET or q), you can resume the query replace
-with the command \\[tags-loop-continue].
-Fourth arg FILE-LIST-FORM non-nil means initialize the replacement loop.
-Fifth and sixth arguments START and END are accepted, for compatibility
-with `query-replace-regexp', and ignored.
-
-If FILE-LIST-FORM is non-nil, it is a form to evaluate to
-produce the list of files to search.
-
-See also the documentation of the variable `tags-file-name'."
-  (interactive (query-replace-read-args "Tags query replace (regexp)" t t))
-  (setq tags-loop-scan `(let ,(unless (equal from (downcase from))
-                               '((case-fold-search nil)))
-                         (if (re-search-forward ',from nil t)
-                             ;; When we find a match, move back
-                             ;; to the beginning of it so perform-replace
-                             ;; will see it.
-                             (goto-char (match-beginning 0))))
-       tags-loop-operate `(perform-replace ',from ',to t t ',delimited
-                                           nil multi-query-replace-map))
-  (tags-loop-continue (or file-list-form t)))
-\f
-(defun tags-complete-tags-table-file (string predicate what) ; Doc string?
-  (save-excursion
-    ;; If we need to ask for the tag table, allow that.
-    (let ((enable-recursive-minibuffers t))
-      (visit-tags-table-buffer))
-    (if (eq what t)
-       (all-completions string (tags-table-files) predicate)
-      (try-completion string (tags-table-files) predicate))))
-
-;;;###autoload
-(defun list-tags (file &optional _next-match)
-  "Display list of tags in file FILE.
-This searches only the first table in the list, and no included tables.
-FILE should be as it appeared in the `etags' command, usually without a
-directory specification."
-  (interactive (list (completing-read "List tags in file: "
-                                     'tags-complete-tags-table-file
-                                     nil t nil)))
-  (with-output-to-temp-buffer "*Tags List*"
-    (princ "Tags in file `")
-    (tags-with-face 'highlight (princ file))
-    (princ "':\n\n")
-    (save-excursion
-      (let ((first-time t)
-           (gotany nil))
-       (while (visit-tags-table-buffer (not first-time))
-         (setq first-time nil)
-         (if (funcall list-tags-function file)
-             (setq gotany t)))
-       (or gotany
-           (user-error "File %s not in current tags tables" file)))))
-  (with-current-buffer "*Tags List*"
-    (require 'apropos)
-    (with-no-warnings
-      (apropos-mode))
-    (setq buffer-read-only t)))
-
-;;;###autoload
-(defun tags-apropos (regexp)
-  "Display list of all tags in tags table REGEXP matches."
-  (declare (obsolete xref-find-apropos "25.1"))
-  (interactive "sTags apropos (regexp): ")
-  (with-output-to-temp-buffer "*Tags List*"
-    (princ "Click mouse-2 to follow tags.\n\nTags matching regexp `")
-    (tags-with-face 'highlight (princ regexp))
-    (princ "':\n\n")
-    (save-excursion
-      (let ((first-time t))
-       (while (visit-tags-table-buffer (not first-time))
-         (setq first-time nil)
-         (funcall tags-apropos-function regexp))))
-    (etags-tags-apropos-additional regexp))
-  (with-current-buffer "*Tags List*"
-    (eval-and-compile (require 'apropos))
-    (apropos-mode)
-    ;; apropos-mode is derived from fundamental-mode and it kills
-    ;; all local variables.
-    (setq buffer-read-only t)))
-\f
-;; XXX Kludge interface.
-
-(define-button-type 'tags-select-tags-table
-  'action 'select-tags-table-select
-  'follow-link t
-  'help-echo "RET, t or mouse-2: select tags table")
-
-;; XXX If a file is in multiple tables, selection may get the wrong one.
-;;;###autoload
-(defun select-tags-table ()
-  "Select a tags table file from a menu of those you have already used.
-The list of tags tables to select from is stored in `tags-table-set-list';
-see the doc of that variable if you want to add names to the list."
-  (interactive)
-  (pop-to-buffer "*Tags Table List*")
-  (setq buffer-read-only nil
-       buffer-undo-list t)
-  (erase-buffer)
-  (let ((set-list tags-table-set-list)
-       (desired-point nil)
-       b)
-    (when tags-table-list
-      (setq desired-point (point-marker))
-      (setq b (point))
-      (princ (mapcar 'abbreviate-file-name tags-table-list) (current-buffer))
-      (make-text-button b (point) 'type 'tags-select-tags-table
-                        'etags-table (car tags-table-list))
-      (insert "\n"))
-    (while set-list
-      (unless (eq (car set-list) tags-table-list)
-       (setq b (point))
-       (princ (mapcar 'abbreviate-file-name (car set-list)) (current-buffer))
-       (make-text-button b (point) 'type 'tags-select-tags-table
-                          'etags-table (car (car set-list)))
-       (insert "\n"))
-      (setq set-list (cdr set-list)))
-    (when tags-file-name
-      (or desired-point
-          (setq desired-point (point-marker)))
-      (setq b (point))
-      (insert (abbreviate-file-name tags-file-name))
-      (make-text-button b (point) 'type 'tags-select-tags-table
-                        'etags-table tags-file-name)
-      (insert "\n"))
-    (setq set-list (delete tags-file-name
-                          (apply 'nconc (cons (copy-sequence tags-table-list)
-                                              (mapcar 'copy-sequence
-                                                      tags-table-set-list)))))
-    (while set-list
-      (setq b (point))
-      (insert (abbreviate-file-name (car set-list)))
-      (make-text-button b (point) 'type 'tags-select-tags-table
-                          'etags-table (car set-list))
-      (insert "\n")
-      (setq set-list (delete (car set-list) set-list)))
-    (goto-char (point-min))
-    (insert-before-markers
-     "Type `t' to select a tags table or set of tags tables:\n\n")
-    (if desired-point
-       (goto-char desired-point))
-    (set-window-start (selected-window) 1 t))
-  (set-buffer-modified-p nil)
-  (select-tags-table-mode))
-
-(defvar select-tags-table-mode-map ; Doc string?
-  (let ((map (make-sparse-keymap)))
-    (set-keymap-parent map button-buffer-map)
-    (define-key map "t" 'push-button)
-    (define-key map " " 'next-line)
-    (define-key map "\^?" 'previous-line)
-    (define-key map "n" 'next-line)
-    (define-key map "p" 'previous-line)
-    (define-key map "q" 'select-tags-table-quit)
-    map))
-
-(define-derived-mode select-tags-table-mode special-mode "Select Tags Table"
-  "Major mode for choosing a current tags table among those already loaded."
-  (setq buffer-read-only t))
-
-(defun select-tags-table-select (button)
-  "Select the tags table named on this line."
-  (interactive (list (or (button-at (line-beginning-position))
-                         (error "No tags table on current line"))))
-  (let ((name (button-get button 'etags-table)))
-    (visit-tags-table name)
-    (select-tags-table-quit)
-    (message "Tags table now %s" name)))
-
-(defun select-tags-table-quit ()
-  "Kill the buffer and delete the selected window."
-  (interactive)
-  (quit-window t (selected-window)))
-\f
-;;;###autoload
-(defun complete-tag ()
-  "Perform tags completion on the text around point.
-Completes to the set of names listed in the current tags table.
-The string to complete is chosen in the same way as the default
-for \\[find-tag] (which see)."
-  (interactive)
-  (or tags-table-list
-      tags-file-name
-      (user-error "%s"
-                  (substitute-command-keys
-                   "No tags table loaded; try \\[visit-tags-table]")))
-  (let ((comp-data (tags-completion-at-point-function)))
-    (if (null comp-data)
-       (user-error "Nothing to complete")
-      (completion-in-region (car comp-data) (cadr comp-data)
-                           (nth 2 comp-data)
-                           (plist-get (nthcdr 3 comp-data) :predicate)))))
-
-\f
-;;; Xref backend
-
-;; Stop searching if we find more than xref-limit matches, as the xref
-;; infrastructure is not designed to handle very long lists.
-;; Switching to some kind of lazy list might be better, but hopefully
-;; we hit the limit rarely.
-(defconst etags--xref-limit 1000)
-
-(defvar etags-xref-find-definitions-tag-order '(tag-exact-match-p
-                                                tag-implicit-name-match-p
-                                                tag-symbol-match-p)
-  "Tag order used in `etags-xref-find' to look for definitions.")
-
-;;;###autoload
-(defun etags-xref-find (action id)
-  (pcase action
-    (`definitions (etags--xref-find-definitions id))
-    (`references
-     (let ((dirs (if tags-table-list
-                     (mapcar #'file-name-directory tags-table-list)
-                   ;; If no tags files are loaded, prompt for the dir.
-                   (list (read-directory-name "In directory: " nil nil t)))))
-       (cl-mapcan
-        (lambda (dir)
-          (xref-collect-references id dir))
-        dirs)))
-    (`apropos (etags--xref-find-definitions id t))))
-
-(defun etags--xref-find-definitions (pattern &optional regexp?)
-  ;; This emulates the behavior of `find-tag-in-order' but instead of
-  ;; returning one match at a time all matches are returned as list.
-  ;; NOTE: find-tag-tag-order is typically a buffer-local variable.
-  (let* ((xrefs '())
-         (first-time t)
-         (search-fun (if regexp? #'re-search-forward #'search-forward))
-         (marks (make-hash-table :test 'equal))
-         (case-fold-search (if (memq tags-case-fold-search '(nil t))
-                               tags-case-fold-search
-                             case-fold-search)))
-    (save-excursion
-      (while (visit-tags-table-buffer (not first-time))
-        (setq first-time nil)
-        (dolist (order-fun (cond (regexp? find-tag-regexp-tag-order)
-                                 (t etags-xref-find-definitions-tag-order)))
-          (goto-char (point-min))
-          (while (and (funcall search-fun pattern nil t)
-                      (< (hash-table-count marks) etags--xref-limit))
-            (when (funcall order-fun pattern)
-              (beginning-of-line)
-              (pcase-let* ((tag-info (etags-snarf-tag))
-                           (`(,hint ,line . _) tag-info))
-                (unless (eq hint t) ; hint==t if we are in a filename line
-                  (let* ((file (file-of-tag))
-                         (mark-key (cons file line)))
-                    (unless (gethash mark-key marks)
-                      (let ((loc (xref-make-etags-location
-                                  tag-info (expand-file-name file))))
-                        (push (xref-make hint loc) xrefs)
-                        (puthash mark-key t marks)))))))))))
-    (nreverse xrefs)))
-
-(defclass xref-etags-location (xref-location)
-  ((tag-info :type list   :initarg :tag-info)
-   (file     :type string :initarg :file
-             :reader xref-location-group))
-  :documentation "Location of an etags tag.")
-
-(defun xref-make-etags-location (tag-info file)
-  (make-instance 'xref-etags-location :tag-info tag-info
-                 :file (expand-file-name file)))
-
-(cl-defmethod xref-location-marker ((l xref-etags-location))
-  (with-slots (tag-info file) l
-    (let ((buffer (find-file-noselect file)))
-      (with-current-buffer buffer
-        (etags-goto-tag-location tag-info)
-        (point-marker)))))
-
-(cl-defmethod xref-location-line ((l xref-etags-location))
-  (with-slots (tag-info) l
-    (nth 1 tag-info)))
-
-\f
-(provide 'etags)
-
-;;; etags.el ends here
diff --git a/test/manual/etags/erl-src/gs_dialog.erl b/test/manual/etags/erl-src/gs_dialog.erl
deleted file mode 100644 (file)
index c04ee8b..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
--module(gs_dialog). % behaviour
--define(VERSION, '2001.1101').
--vsn(?VERSION).
--author('cpressey@catseye.mb.ca').
--copyright('Copyright (c)2001 Cat`s Eye Technologies. All rights reserved.').
-
-%%% Redistribution and use in source and binary forms, with or without
-%%% modification, are permitted provided that the following conditions
-%%% are met:
-%%%
-%%%   Redistributions of source code must retain the above copyright
-%%%   notice, this list of conditions and the following disclaimer.
-%%%
-%%%   Redistributions in binary form must reproduce the above copyright
-%%%   notice, this list of conditions and the following disclaimer in
-%%%   the documentation and/or other materials provided with the
-%%%   distribution.
-%%%
-%%%   Neither the name of Cat's Eye Technologies nor the names of its
-%%%   contributors may be used to endorse or promote products derived
-%%%   from this software without specific prior written permission.
-%%%
-%%% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
-%%% CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
-%%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-%%% MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-%%% DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
-%%% LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
-%%% OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-%%% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
-%%% OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-%%% ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-%%% OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-%%% OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-%%% POSSIBILITY OF SUCH DAMAGE. 
-
--export([behaviour_info/1,
-         show/4,
-        test/0]).
-
-%%% BEGIN gs_dialog.erl %%%
-
-%%% This module specifies a common behaviour for "modal" dialog boxes
-%%% using GS.
-
-%%--------------------------------------------------------------------
-%% behaviour_info(callbacks) -> ListOfFunctionArityTuples
-%% Used by R8 to check the implementation modules for consistency
-%% with the behaviour specification, what callbacks this module needs.
-
-behaviour_info(callbacks) ->
-  [
-
-    %%----------------------------------------------------------------
-    %% Module:buttons() -> ListOfAtoms
-    %% Should return the labels used on the main (non-extra) buttons
-    %% of the dialog box.
-    %% e.g. ['OK', 'Cancel'].
-
-    {buttons, 0},
-
-    %%----------------------------------------------------------------
-    %% Module:icon() -> FileNameString | {Text, FgColour, BgColour}
-    %% Should return the the icon displayed in the dialog box.
-    %% This should either be the fully qualified filename of a 32x32 GIF
-    %% file (e.g. in the application's priv dir,) or a 3-tuple
-    %% describing a simple "circle" icon to be rendered by GS itself.
-    %% The latter option was added because some versions of Erlang for
-    %% Windows use a Tk emulation package which is not always on the
-    %% ball when it comes to correct image transparency and colour.
-    %% e.g. filename:join(code:priv_dir(?MODULE), "notify.gif")
-
-    {icon, 0},
-
-    %%----------------------------------------------------------------
-    %% Module:controls(Parent, ArgList) -> {GSControl | nil, NewArgList}
-    %% Used by the implementation to provide extra controls in the dialog
-    %% box, if any.  If not, nil should be returned instead of the control.
-    %% If many controls are added, it is recommended they are placed in a
-    %% frame, with the frame returned as the control.
-    %% The control need not have positioning information, as it will be
-    %% assigned a pack_xy option when it is placed into the Parent frame.
-    %% The list of arguments may be modified by this callback.
-    %% e.g. {nil, Args}
-
-    {controls, 2},
-
-    %%----------------------------------------------------------------
-    %% Module:on_key(ExtraControl, KeyAtom, ArgList) ->
-    %%   {button, ButtonNameAtom} | nil
-    %% Called when a key is pressed in the dialog box.  The return value
-    %% specified whether it is linked to pressing a button, or whether it
-    %% it is ignored and passed on to a further handler (if any.)
-    
-    {on_key, 3},
-
-    %%----------------------------------------------------------------
-    %% Module:on_button(ExtraControl, ButtonNameAtom, ArgList) -> Result
-    %% Called when one of the main (non-extra) buttons are pressed in
-    %% the dialog box.  Since this closes the dialog box, the implementation
-    %% module is expected to provide a final result term with this function.
-
-    {on_button, 3}, 
-
-    %%----------------------------------------------------------------
-    %% Module:on_event(ExtraControl, Event, ArgList) -> Result
-    %% Allows the implementation module to handle other GS events,
-    %% e.g. those generated by the extra controls specified.
-    {on_event, 3}
-  ].
-
-%%% Public Interface
-
-%%--------------------------------------------------------------------
-%% show(ModuleNameAtom, TitleString, MessageString, ArgList) -> Result
-%% Display a generic modal dialog box, customized by the
-%% callback functions in Module.  This should be called by
-%% the 'show' function in the Module in question.
-%% The argument list is passed back to the callback functions in the
-%% module, for retaining information pertinent to the callback module;
-%% the behaviour itself does not inspect or care about this list.
-
-show(Module, Title, Message, Args) ->
-  Screen = gs:start(),
-  Buttons = Module:buttons(),
-  NumButtons = length(Buttons),
-  application:load(?MODULE),
-  {ok, Font} = application:get_env(?MODULE, font),
-  {ok, {ScreenWidth, ScreenHeight}} =
-    application:get_env(?MODULE, screen_size),
-  {ok, {DialogWidth, DialogHeight}} =
-    application:get_env(?MODULE, dialog_size),
-  Window = gs:create(window, Screen,
-    [{width, DialogWidth}, {height, DialogHeight},
-     {x, (ScreenWidth - DialogWidth) div 2},
-     {y, (ScreenHeight - DialogHeight) div 2},
-     {title, Title},
-     {configure, true}, {keypress, true}]),
-  Frame = gs:create(frame, Window,
-    [{bw, 0},
-     {packer_x, lists:duplicate(NumButtons, {stretch, 1})},
-     {packer_y, [{stretch, 1},{stretch, 2},{stretch, 1}]}]),
-  case Module:icon() of
-    nil ->
-      Label = gs:create(label, Frame,
-        [{label, {text, Message}}, {font, Font}, {justify, center},
-         {pack_xy, {{1, NumButtons}, 1}}]);
-    {Text, Fg, Bg} ->
-      InnerFrame = gs:create(frame, Frame,
-        [{pack_xy, {{1, NumButtons}, 1}}, {bw, 0},
-        {packer_x, [{stretch, 1}, {fixed, 32}, {stretch, 8}]},
-        {packer_y, [{stretch, 1}, {fixed, 32}, {stretch, 1}]}]),
-      IconCanvas = gs:create(canvas, InnerFrame,
-        [{pack_xy, {2, 2}}]),
-      IconCircle = gs:create(oval, IconCanvas,
-        [{coords, [{0, 0}, {31, 31}]}, {fg, black}, {fill, Bg}]),
-      IconFont = {screen, bold, 24},
-      {ITW,ITH} = gs:read(IconCanvas, {font_wh, {IconFont, Text}}),
-      ITX = 16 - ITW div 2,
-      ITY = 16 - ITH div 2,
-      IconText = gs:create(text, IconCanvas,
-        [{coords, [{ITX, ITY}]}, {fg, Fg}, {text, Text}, {font, IconFont}]),
-      Label = gs:create(label, InnerFrame,
-        [{label, {text, Message}}, {font, Font}, {justify, center},
-         {pack_xy, {3, {1,3}}}]);
-    FileName when list(FileName) ->
-      InnerFrame = gs:create(frame, Frame,
-        [{pack_xy, {{1, NumButtons}, 1}}, {bw, 0},
-        {packer_x, [{stretch, 1}, {fixed, 32}, {stretch, 8}]},
-        {packer_y, [{stretch, 1}, {fixed, 32}, {stretch, 1}]}]),
-      IconCanvas = gs:create(canvas, InnerFrame,
-        [{pack_xy, {2, 2}}]),
-      Icon = gs:create(image, IconCanvas, [{coords, [{0, 0}]},
-                                           {load_gif, FileName}]),
-      Label = gs:create(label, InnerFrame,
-        [{label, {text, Message}}, {font, Font}, {justify, center},
-         {pack_xy, {3, {1,3}}}])
-  end,
-  {Extra, NewArgs} = Module:controls(Frame, Args),
-  case Extra of
-    nil -> gs:config(Frame, {packer_y, [{stretch, 2},{fixed, 0},{stretch, 1}]});
-    _   -> gs:config(Extra, {pack_xy, {{1, NumButtons}, 2}})
-  end,
-  lists:foldl(fun(X, A) ->
-       I = gs:create(frame, Frame, [{packer_x, [{stretch, 1}, {fixed, 80}, {stretch, 1}]}, 
-                                    {packer_y, [{stretch, 1}, {fixed, 24}, {stretch, 1}]}, 
-                                    {pack_xy, {A, 3}}]),
-       gs:create(button, I, [{label, {text, atom_to_list(X)}}, {font, Font},
-                             {data, {button, X}},
-                             {pack_xy, {2, 2}}]),
-       A + 1
-       end, 1, Buttons),
-  gs:config(Frame, [{width, DialogWidth}, {height, DialogHeight}]),
-  {MessageWidth, MessageHeight} = gs:read(Frame, {font_wh, {Font, Message}}),
-  case MessageWidth of
-    N1 when N1 > trunc(DialogWidth * 0.8) ->
-        NewDialogWidth = trunc(MessageWidth * 1.2),
-        gs:config(Window,
-          [{width, NewDialogWidth},
-          {x, (ScreenWidth - NewDialogWidth) div 2}]);
-    _ -> ok
-  end,
-  case MessageHeight of
-    N2 when N2 > trunc(DialogHeight * 0.666) ->
-        NewDialogHeight = trunc(MessageHeight * 1.666),
-        gs:config(Window,
-          [{height, NewDialogHeight},
-          {y, (ScreenHeight - NewDialogHeight) div 2}]);
-    _ -> ok
-  end,
-  gs:config(Window, {map, true}),
-  dialog_loop(Module, Window, Frame, Extra, NewArgs).
-
-%%--------------------------------------------------------------------
-%% dialog_loop(Module, Window, Frame, Extra, Args) -> Result
-%% Called by show/4, handles generic events in a dialog box.
-
-dialog_loop(Module, Window, Frame, Extra, Args) ->
-  receive
-    {gs, Window, destroy, Data, EventArgs} ->
-       Module:on_button(Extra, 'Cancel', Args);
-    {gs, Window, configure, Data, [W,H | Rest]} ->
-       gs:config(Frame, [{width, W}, {height, H}]),
-       dialog_loop(Module, Window, Frame, Extra, Args);
-    {gs, Window, keypress, Data, [KeyCode | Rest]} ->
-       case Module:on_key(Extra, KeyCode, Args) of
-         {button, ButtonType} ->
-           Return = Module:on_button(Extra, ButtonType, Args),
-           gs:destroy(Window),
-           Return;
-        _ -> dialog_loop(Module, Window, Frame, Extra, Args)
-       end;
-    {gs, Button, click, {button, ButtonType}, EventArgs} ->
-       Return = Module:on_button(Extra, ButtonType, Args),
-       gs:destroy(Window),
-       Return;
-    Other -> % io:fwrite("~w~n", [Other]),
-      case Module:on_event(Extra, Other, Args) of
-         {button, ButtonType} ->
-           Return = Module:on_button(Extra, ButtonType, Args),
-           gs:destroy(Window),
-           Return;
-        _ -> dialog_loop(Module, Window, Frame, Extra, Args)
-      end
-  end.
-
-%%--------------------------------------------------------------------
-%% test() -> ResultTuple.
-%% Tests some of the common dialog boxes implemented with this behaviour.
-
-test() ->
-  A = gs_dialog_notify:show("Notification", "This is a notification dialog."),
-  B = gs_dialog_confirm:show("Confirmation",
-      "Are you sure you want to\ntake some sort of drastic action?"),
-  C = gs_dialog_question:show("Question", "Save your barcodes first?"),
-  D = gs_dialog_entry:show("Text Entry",
-      "Enter the address of this order:", "555 Twenty-third St."),
-  E = gs_dialog_list:show("Select One", "Select a game to play.",
-      ["Chess", "Checkers", "Othello", "Go", "Backgammon", "Kali", "Sink"]),
-  F = gs_dialog_color:show("Choose Colour", "Pick your favourite colour.",
-      {255, 0, 128}),
-  G = gs_dialog_notify:show("Lengthy Notification",
-      "This is an extremely long message with no line breaks.  "
-      "The dialog box should expand to display the entire message."),
-  H = gs_dialog_notify:show("Lengthy Notification",
-      "This is an extremely\nlong message with\nmany lines.\n\n"
-      "The dialog box\nshould\nexpand\nto\ndisplay\nthe\nentire\nmessage."),
-  {A,B,C,D,E,F,G,H}.
-
-%%% END of gs_dialog.erl %%%
diff --git a/test/manual/etags/f-src/entry.for b/test/manual/etags/f-src/entry.for
deleted file mode 100644 (file)
index 52b8a24..0000000
+++ /dev/null
@@ -1,581 +0,0 @@
-C$Procedure      PRTPKG ( Declare Arguments for Error Message Routines )
-      LOGICAL FUNCTION PRTPKG ( SHORT, LONG, EXPL, TRACE, DFAULT, TYPE )
-C$ Abstract
-C
-C      Declare the arguments for the error message selection entry
-C      points.  DO NOT CALL THIS ROUTINE.
-C
-C$ Required_Reading
-C
-C      ERROR
-C
-C$ Keywords
-C
-C      ERROR
-C
-C$ Declarations
-       LOGICAL               SHORT
-       LOGICAL               EXPL
-       LOGICAL               LONG
-       LOGICAL               TRACE
-       LOGICAL               DFAULT
-       CHARACTER*(*)         TYPE
-       INTEGER               FILEN
-       PARAMETER           ( FILEN = 128 )
-C$ Brief_I/O
-C
-C      VARIABLE  I/O  ENTRY
-C      --------  ---  --------------------------------------------------
-C
-C      SHORT      I   SETPRT
-C      EXPL       I   SETPRT
-C      LONG       I   SETPRT
-C      TRACE      I   SETPRT
-C      DFAULT     I   SETPRT
-C      TYPE       I   MSGSEL
-C      FILEN      P   MSGSEL
-C
-C$ Detailed_Input
-C
-C      See the ENTRY points for discussions of their arguments.
-C
-C$ Detailed_Output
-C
-C      See the ENTRY points for discussions of their arguments.
-C
-C$ Parameters
-C
-C      See the ENTRY points for discussions of their parameters.
-C
-C$ Exceptions
-C
-C      This routine signals an error IF IT IS CALLED.
-C
-C$ Files
-C
-C      None.
-C
-C$ Particulars
-C
-C      DO NOT CALL THIS ROUTINE.
-C
-C      The entry points declared in this routine are:
-C
-C      SETPRT
-C      MSGSEL
-C
-C      There is no reason to call this subroutine.
-C      The purpose of this subroutine is to make the
-C      declarations required by the various entry points.
-C      This routine has no run-time function.
-C
-C$ Examples
-C
-C      None.  DO NOT CALL THIS ROUTINE.
-C
-C$ Restrictions
-C
-C      DO NOT CALL THIS ROUTINE.
-C
-C$ Literature_References
-C
-C      None.
-C
-C$ Author_and_Institution
-C
-C
-C$ Version
-C
-C-
-C         Comment section for permuted index source lines was added
-C         following the header.
-C
-C
-C-&
-C$ Index_Entries
-C
-C     None.
-C
-C-&
-C$ Revisions
-C
-C
-C-     Beta Version 1.0.1, 08-FEB-1989
-C
-C         PRTPKG, though it performs no run-time function, must
-C         still return a value, in order to comply with the Fortran
-C         standard.  So, now it does.
-C
-C-     Beta Version 1.0.1, 08-FEB-1989
-C
-C         Warnings added to discourage use of this routine.
-C         Parameter declarations moved to "Declarations" section.
-C         Two local declarations moved to the correct location.
-C-&
-C
-C     SPICELIB functions
-C
-      LOGICAL               SETPRT
-      LOGICAL               MSGSEL
-C
-C     Local variables:
-C
-      CHARACTER*(FILEN)     DEVICE
-      CHARACTER*(10)        LTYPE
-      CHARACTER*(10)        LOCTYP
-C
-C     Saved variables:
-C
-      LOGICAL               SVSHRT
-      LOGICAL               SVEXPL
-      LOGICAL               SVLONG
-      LOGICAL               SVTRAC
-      LOGICAL               SVDFLT
-      SAVE                  SVSHRT
-      SAVE                  SVEXPL
-      SAVE                  SVLONG
-      SAVE                  SVTRAC
-      SAVE                  SVDFLT
-C
-C     Initial values:
-C
-      DATA     SVSHRT   / .TRUE. /
-      DATA     SVEXPL   / .TRUE. /
-      DATA     SVLONG   / .TRUE. /
-      DATA     SVTRAC   / .TRUE. /
-      DATA     SVDFLT   / .TRUE. /
-C
-C     Executable Code:
-C
-      CALL GETDEV ( DEVICE )
-      CALL WRLINE ( DEVICE,
-     .              'PRTPKG:  You have called an entry point which' //
-     .              ' has no run-time function; this may indicate'  //
-     .              ' a program bug.  Please check the PRTPKG'      //
-     .              ' documentation.  ' )
-      CALL WRLINE ( DEVICE, 'SPICE(BOGUSENTRY)' )
-      PRTPKG = .FALSE.
-      RETURN
-C$Procedure      SETPRT ( Store Error Message Types to be Output )
-C      ENTRY  BOGUS (X, Y, Z)
-
-       ENTRY  SETPRT ( SHORT, EXPL, LONG, TRACE, DFAULT )
-C$ Abstract
-C
-C      Store (a representation of) the selection of types of error
-C      messages to be output.  DO NOT CALL THIS ROUTINE.
-C
-C$ Required_Reading
-C
-C      ERROR
-C
-C$ Keywords
-C
-C      ERROR
-C
-C$ Declarations
-C
-C      LOGICAL               SHORT
-C      LOGICAL               EXPL
-C      LOGICAL               LONG
-C      LOGICAL               TRACE
-C      LOGICAL               DFAULT
-C
-C$ Brief_I/O
-C
-C      VARIABLE  I/O  DESCRIPTION
-C      --------  ---  --------------------------------------------------
-C
-C      SHORT      I   Select output of short error message?
-C      EXPL       I   Select output of explanation of short message?
-C      LONG       I   Select output of long error message?
-C      TRACE      I   Select output of traceback?
-C      DFAULT     I   Select output of default message?
-C
-C$ Detailed_Input
-C
-C      SHORT    indicates whether the short error message is selected
-C               as one of the error messages to be output when an error
-C               is detected.  A value of .TRUE. indicates that the
-C               short error message IS selected.
-C
-C      EXPL     indicates whether the explanatory text for the short
-C               error message is selected as one of the error messages
-C               to be output when an error is detected.  A value of
-C               .TRUE. indicates that the explanatory text for the
-C               short error message IS selected.
-C
-C      LONG     indicates whether the long error message is selected
-C               as one of the error messages to be output when an error
-C               is detected.  A value of .TRUE. indicates that the
-C               long error message IS selected.
-C
-C      TRACE    indicates whether the traceback is selected
-C               as one of the error messages to be output when an error
-C               is detected.  A value of .TRUE. indicates that the
-C               traceback IS selected.
-C
-C      DFAULT   indicates whether the default message is selected
-C               as one of the error messages to be output when an error
-C               is detected.  A value of .TRUE. indicates that the
-C               default message IS selected.
-C
-C
-C$ Detailed_Output
-C
-C      None.
-C
-C$ Parameters
-C
-C      None.
-C
-C$ Exceptions
-C
-C      None.
-C
-C$ Files
-C
-C      None.
-C
-C$ Particulars
-C
-C      DO NOT CALL THIS ROUTINE.
-C
-C      The effect of this routine is an ENVIRONMENTAL one.  This
-C      routine performs no output;  it stores the error message
-C      selection provided as input.
-C
-C      Note that the actual output of error messages depends not
-C      only on the selection made using this routine, but also
-C      on the selection of the error output device (see ERRDEV)
-C      and the choice of error response action (see ERRACT). If
-C      the action is not 'IGNORE' (possible choices are
-C      'IGNORE', 'ABORT', 'DEFAULT', 'REPORT', and 'RETURN'),
-C      the selected error messages will be written to the chosen
-C      output device when an error is detected.
-C
-C$ Examples
-C
-C      1.  In this example, the short and long messages are selected.
-C
-C      C
-C      C     Select short and long error messages for output
-C      C     (We don't examine the status returned because no
-C      C     errors are detected by SETPRT):
-C      C
-C
-C            STATUS = SETPRT ( .TRUE., .FALSE., .TRUE., .FALSE.,
-C           .                  .FALSE.                          )
-C
-C
-C
-C$ Restrictions
-C
-C      DO NOT CALL THIS ROUTINE.
-C
-C$ Literature_References
-C
-C      None.
-C
-C$ Author_and_Institution
-C
-C
-C$ Version
-C
-C-
-C
-C-&
-C$ Index_Entries
-C
-C     None.
-C
-C-&
-C$ Revisions
-C
-C-
-C         Warnings added to discourage use of this routine in
-C         non-error-handling code.  Parameters section added.
-C
-C-&
-C
-C     Executable Code:
-C
-      IF   (  SHORT  )    THEN
-         SVSHRT = .TRUE.
-      ELSE
-         SVSHRT = .FALSE.
-      END IF
-      IF   (  EXPL   )    THEN
-         SVEXPL = .TRUE.
-      ELSE
-         SVEXPL = .FALSE.
-      END IF
-      IF   (  LONG   )    THEN
-         SVLONG = .TRUE.
-      ELSE
-         SVLONG = .FALSE.
-      END IF
-      IF   (  TRACE  )    THEN
-         SVTRAC = .TRUE.
-      ELSE
-         SVTRAC = .FALSE.
-      END IF
-      IF   (  DFAULT  )    THEN
-         SVDFLT = .TRUE.
-      ELSE
-         SVDFLT = .FALSE.
-      END IF
-C
-C     We assign a value to SETPRT, but this value is
-C     not meaningful...
-C
-      SETPRT = .TRUE.
-      RETURN
-C$Procedure      MSGSEL  ( Is This Message Type Selected for Output? )
-       ENTRY  MSGSEL ( TYPE )
-C$ Abstract
-C
-C      Indicate whether the specified message type has been selected
-C      for output.
-C
-C$ Required_Reading
-C
-C      ERROR
-C
-C$ Keywords
-C
-C      ERROR
-C
-C$ Declarations
-C
-C      TYPE
-C
-C$ Brief_I/O
-C
-C      VARIABLE  I/O  DESCRIPTION
-C      --------  ---  --------------------------------------------------
-C
-C      TYPE       I   Type of message whose selection status is queried.
-C      FILEN      P   Maximum length of a file name.
-C
-C      The function takes the value .TRUE. if the message type indicated
-C      by TYPE has been selected for output to the error output device.
-C
-C
-C$ Detailed_Input
-C
-C      TYPE   Refers to a type of error message.  Possible values
-C             are 'SHORT', 'EXPLAIN', 'LONG', 'DEFAULT',
-C             and 'TRACEBACK'.
-C
-C$ Detailed_Output
-C
-C      The function takes the value .TRUE. if the message type indicated
-C      by TYPE has been selected for output to the error output device.
-C
-C$ Parameters
-C
-C      FILEN  is the maximum length of a file name.
-C
-C$ Exceptions
-C
-C      Additionally, invalid values of TYPE are detected.
-C
-C      The short error message set in this case is:
-C      'SPICE(INVALIDMSGTYPE)'
-C
-C      The handling of this error is a special case; to avoid recursion
-C      problems, SIGERR is not called when the error is detected.
-C      Instead, the short and long error messages are output directly.
-C
-C
-C$ Files
-C
-C      None.
-C
-C$ Particulars
-C
-C      This routine is part of the SPICELIB error handling mechanism.
-C
-C      Note that even though a given type of message may have been
-C      selected for output, the output device and error response
-C      action must also have been selected appropriately.
-C      Use ERRDEV to choose the output device for error messages.
-C      Use ERRACT to choose the error response action.  Any action
-C      other than 'IGNORE' will result in error messages being
-C      written to the error output device when errors are detected.
-C      See ERRACT for details.
-C
-C$ Examples
-C
-C
-C      1.  We want to know if the short message has been selected
-C          for output:
-C
-C          C
-C          C     Test whether the short message has been selected:
-C          C
-C
-C                SELECT = MSGSEL ( 'SHORT' )
-C
-C
-C$ Restrictions
-C
-C      None.
-C
-C$ Literature_References
-C
-C      None.
-C
-C$ Author_and_Institution
-C
-C
-C$ Version
-C
-C
-C-&
-C$ Index_Entries
-C
-C     None.
-C
-C-&
-C$ Revisions
-C
-C
-C         Parameters section added; parameter declaration added
-C         to brief I/O section as well.
-C
-C-&
-C
-C     Executable Code:
-C
-      CALL LJUST ( TYPE,  LTYPE )
-      CALL UCASE ( LTYPE, LTYPE )
-      IF ( LTYPE  .EQ. 'SHORT' ) THEN
-         MSGSEL = SVSHRT
-      ELSE IF ( LTYPE  .EQ. 'EXPLAIN' ) THEN
-         MSGSEL = SVEXPL
-      ELSE IF ( LTYPE  .EQ. 'LONG' ) THEN
-         MSGSEL = SVLONG
-      ELSE IF ( LTYPE  .EQ. 'TRACEBACK' ) THEN
-         MSGSEL = SVTRAC
-      ELSE IF ( LTYPE  .EQ. 'DEFAULT' ) THEN
-         MSGSEL = SVDFLT
-      ELSE
-C
-C        Bad value of type!  We have a special case here; to
-C        avoid recursion, we output the messages directly,
-C        rather than call SIGERR.
-C
-         CALL GETDEV ( DEVICE )
-         CALL WRLINE ( DEVICE,  'SPICE(INVALIDMSGTYPE)' )
-         CALL WRLINE ( DEVICE, ' ' )
-         LOCTYP = TYPE
-C
-C        Note:  What looks like a typo below isn't; there's
-C        a line break after the substring 'specified' of
-C        the "word" 'specifiedwas'.
-C
-         CALL WRLINE ( DEVICE,
-     .   'MSGSEL:  An invalid error message type was supplied as'     //
-     .   ' input; the type specifiedwas:  ' // LOCTYP
-     .                )
-      END IF
-       subroutine 
-     & intensity1(efv,fv,svin,svquad,sfpv,maxp,value,jndex,k,kj,jmod,isup)
-
-       character*(*) function foo()
-
-      END
diff --git a/test/manual/etags/f-src/entry.strange.gz b/test/manual/etags/f-src/entry.strange.gz
deleted file mode 100644 (file)
index 5f22edc..0000000
Binary files a/test/manual/etags/f-src/entry.strange.gz and /dev/null differ
diff --git a/test/manual/etags/f-src/entry.strange_suffix b/test/manual/etags/f-src/entry.strange_suffix
deleted file mode 100644 (file)
index 52b8a24..0000000
+++ /dev/null
@@ -1,581 +0,0 @@
-C$Procedure      PRTPKG ( Declare Arguments for Error Message Routines )
-      LOGICAL FUNCTION PRTPKG ( SHORT, LONG, EXPL, TRACE, DFAULT, TYPE )
-C$ Abstract
-C
-C      Declare the arguments for the error message selection entry
-C      points.  DO NOT CALL THIS ROUTINE.
-C
-C$ Required_Reading
-C
-C      ERROR
-C
-C$ Keywords
-C
-C      ERROR
-C
-C$ Declarations
-       LOGICAL               SHORT
-       LOGICAL               EXPL
-       LOGICAL               LONG
-       LOGICAL               TRACE
-       LOGICAL               DFAULT
-       CHARACTER*(*)         TYPE
-       INTEGER               FILEN
-       PARAMETER           ( FILEN = 128 )
-C$ Brief_I/O
-C
-C      VARIABLE  I/O  ENTRY
-C      --------  ---  --------------------------------------------------
-C
-C      SHORT      I   SETPRT
-C      EXPL       I   SETPRT
-C      LONG       I   SETPRT
-C      TRACE      I   SETPRT
-C      DFAULT     I   SETPRT
-C      TYPE       I   MSGSEL
-C      FILEN      P   MSGSEL
-C
-C$ Detailed_Input
-C
-C      See the ENTRY points for discussions of their arguments.
-C
-C$ Detailed_Output
-C
-C      See the ENTRY points for discussions of their arguments.
-C
-C$ Parameters
-C
-C      See the ENTRY points for discussions of their parameters.
-C
-C$ Exceptions
-C
-C      This routine signals an error IF IT IS CALLED.
-C
-C$ Files
-C
-C      None.
-C
-C$ Particulars
-C
-C      DO NOT CALL THIS ROUTINE.
-C
-C      The entry points declared in this routine are:
-C
-C      SETPRT
-C      MSGSEL
-C
-C      There is no reason to call this subroutine.
-C      The purpose of this subroutine is to make the
-C      declarations required by the various entry points.
-C      This routine has no run-time function.
-C
-C$ Examples
-C
-C      None.  DO NOT CALL THIS ROUTINE.
-C
-C$ Restrictions
-C
-C      DO NOT CALL THIS ROUTINE.
-C
-C$ Literature_References
-C
-C      None.
-C
-C$ Author_and_Institution
-C
-C
-C$ Version
-C
-C-
-C         Comment section for permuted index source lines was added
-C         following the header.
-C
-C
-C-&
-C$ Index_Entries
-C
-C     None.
-C
-C-&
-C$ Revisions
-C
-C
-C-     Beta Version 1.0.1, 08-FEB-1989
-C
-C         PRTPKG, though it performs no run-time function, must
-C         still return a value, in order to comply with the Fortran
-C         standard.  So, now it does.
-C
-C-     Beta Version 1.0.1, 08-FEB-1989
-C
-C         Warnings added to discourage use of this routine.
-C         Parameter declarations moved to "Declarations" section.
-C         Two local declarations moved to the correct location.
-C-&
-C
-C     SPICELIB functions
-C
-      LOGICAL               SETPRT
-      LOGICAL               MSGSEL
-C
-C     Local variables:
-C
-      CHARACTER*(FILEN)     DEVICE
-      CHARACTER*(10)        LTYPE
-      CHARACTER*(10)        LOCTYP
-C
-C     Saved variables:
-C
-      LOGICAL               SVSHRT
-      LOGICAL               SVEXPL
-      LOGICAL               SVLONG
-      LOGICAL               SVTRAC
-      LOGICAL               SVDFLT
-      SAVE                  SVSHRT
-      SAVE                  SVEXPL
-      SAVE                  SVLONG
-      SAVE                  SVTRAC
-      SAVE                  SVDFLT
-C
-C     Initial values:
-C
-      DATA     SVSHRT   / .TRUE. /
-      DATA     SVEXPL   / .TRUE. /
-      DATA     SVLONG   / .TRUE. /
-      DATA     SVTRAC   / .TRUE. /
-      DATA     SVDFLT   / .TRUE. /
-C
-C     Executable Code:
-C
-      CALL GETDEV ( DEVICE )
-      CALL WRLINE ( DEVICE,
-     .              'PRTPKG:  You have called an entry point which' //
-     .              ' has no run-time function; this may indicate'  //
-     .              ' a program bug.  Please check the PRTPKG'      //
-     .              ' documentation.  ' )
-      CALL WRLINE ( DEVICE, 'SPICE(BOGUSENTRY)' )
-      PRTPKG = .FALSE.
-      RETURN
-C$Procedure      SETPRT ( Store Error Message Types to be Output )
-C      ENTRY  BOGUS (X, Y, Z)
-
-       ENTRY  SETPRT ( SHORT, EXPL, LONG, TRACE, DFAULT )
-C$ Abstract
-C
-C      Store (a representation of) the selection of types of error
-C      messages to be output.  DO NOT CALL THIS ROUTINE.
-C
-C$ Required_Reading
-C
-C      ERROR
-C
-C$ Keywords
-C
-C      ERROR
-C
-C$ Declarations
-C
-C      LOGICAL               SHORT
-C      LOGICAL               EXPL
-C      LOGICAL               LONG
-C      LOGICAL               TRACE
-C      LOGICAL               DFAULT
-C
-C$ Brief_I/O
-C
-C      VARIABLE  I/O  DESCRIPTION
-C      --------  ---  --------------------------------------------------
-C
-C      SHORT      I   Select output of short error message?
-C      EXPL       I   Select output of explanation of short message?
-C      LONG       I   Select output of long error message?
-C      TRACE      I   Select output of traceback?
-C      DFAULT     I   Select output of default message?
-C
-C$ Detailed_Input
-C
-C      SHORT    indicates whether the short error message is selected
-C               as one of the error messages to be output when an error
-C               is detected.  A value of .TRUE. indicates that the
-C               short error message IS selected.
-C
-C      EXPL     indicates whether the explanatory text for the short
-C               error message is selected as one of the error messages
-C               to be output when an error is detected.  A value of
-C               .TRUE. indicates that the explanatory text for the
-C               short error message IS selected.
-C
-C      LONG     indicates whether the long error message is selected
-C               as one of the error messages to be output when an error
-C               is detected.  A value of .TRUE. indicates that the
-C               long error message IS selected.
-C
-C      TRACE    indicates whether the traceback is selected
-C               as one of the error messages to be output when an error
-C               is detected.  A value of .TRUE. indicates that the
-C               traceback IS selected.
-C
-C      DFAULT   indicates whether the default message is selected
-C               as one of the error messages to be output when an error
-C               is detected.  A value of .TRUE. indicates that the
-C               default message IS selected.
-C
-C
-C$ Detailed_Output
-C
-C      None.
-C
-C$ Parameters
-C
-C      None.
-C
-C$ Exceptions
-C
-C      None.
-C
-C$ Files
-C
-C      None.
-C
-C$ Particulars
-C
-C      DO NOT CALL THIS ROUTINE.
-C
-C      The effect of this routine is an ENVIRONMENTAL one.  This
-C      routine performs no output;  it stores the error message
-C      selection provided as input.
-C
-C      Note that the actual output of error messages depends not
-C      only on the selection made using this routine, but also
-C      on the selection of the error output device (see ERRDEV)
-C      and the choice of error response action (see ERRACT). If
-C      the action is not 'IGNORE' (possible choices are
-C      'IGNORE', 'ABORT', 'DEFAULT', 'REPORT', and 'RETURN'),
-C      the selected error messages will be written to the chosen
-C      output device when an error is detected.
-C
-C$ Examples
-C
-C      1.  In this example, the short and long messages are selected.
-C
-C      C
-C      C     Select short and long error messages for output
-C      C     (We don't examine the status returned because no
-C      C     errors are detected by SETPRT):
-C      C
-C
-C            STATUS = SETPRT ( .TRUE., .FALSE., .TRUE., .FALSE.,
-C           .                  .FALSE.                          )
-C
-C
-C
-C$ Restrictions
-C
-C      DO NOT CALL THIS ROUTINE.
-C
-C$ Literature_References
-C
-C      None.
-C
-C$ Author_and_Institution
-C
-C
-C$ Version
-C
-C-
-C
-C-&
-C$ Index_Entries
-C
-C     None.
-C
-C-&
-C$ Revisions
-C
-C-
-C         Warnings added to discourage use of this routine in
-C         non-error-handling code.  Parameters section added.
-C
-C-&
-C
-C     Executable Code:
-C
-      IF   (  SHORT  )    THEN
-         SVSHRT = .TRUE.
-      ELSE
-         SVSHRT = .FALSE.
-      END IF
-      IF   (  EXPL   )    THEN
-         SVEXPL = .TRUE.
-      ELSE
-         SVEXPL = .FALSE.
-      END IF
-      IF   (  LONG   )    THEN
-         SVLONG = .TRUE.
-      ELSE
-         SVLONG = .FALSE.
-      END IF
-      IF   (  TRACE  )    THEN
-         SVTRAC = .TRUE.
-      ELSE
-         SVTRAC = .FALSE.
-      END IF
-      IF   (  DFAULT  )    THEN
-         SVDFLT = .TRUE.
-      ELSE
-         SVDFLT = .FALSE.
-      END IF
-C
-C     We assign a value to SETPRT, but this value is
-C     not meaningful...
-C
-      SETPRT = .TRUE.
-      RETURN
-C$Procedure      MSGSEL  ( Is This Message Type Selected for Output? )
-       ENTRY  MSGSEL ( TYPE )
-C$ Abstract
-C
-C      Indicate whether the specified message type has been selected
-C      for output.
-C
-C$ Required_Reading
-C
-C      ERROR
-C
-C$ Keywords
-C
-C      ERROR
-C
-C$ Declarations
-C
-C      TYPE
-C
-C$ Brief_I/O
-C
-C      VARIABLE  I/O  DESCRIPTION
-C      --------  ---  --------------------------------------------------
-C
-C      TYPE       I   Type of message whose selection status is queried.
-C      FILEN      P   Maximum length of a file name.
-C
-C      The function takes the value .TRUE. if the message type indicated
-C      by TYPE has been selected for output to the error output device.
-C
-C
-C$ Detailed_Input
-C
-C      TYPE   Refers to a type of error message.  Possible values
-C             are 'SHORT', 'EXPLAIN', 'LONG', 'DEFAULT',
-C             and 'TRACEBACK'.
-C
-C$ Detailed_Output
-C
-C      The function takes the value .TRUE. if the message type indicated
-C      by TYPE has been selected for output to the error output device.
-C
-C$ Parameters
-C
-C      FILEN  is the maximum length of a file name.
-C
-C$ Exceptions
-C
-C      Additionally, invalid values of TYPE are detected.
-C
-C      The short error message set in this case is:
-C      'SPICE(INVALIDMSGTYPE)'
-C
-C      The handling of this error is a special case; to avoid recursion
-C      problems, SIGERR is not called when the error is detected.
-C      Instead, the short and long error messages are output directly.
-C
-C
-C$ Files
-C
-C      None.
-C
-C$ Particulars
-C
-C      This routine is part of the SPICELIB error handling mechanism.
-C
-C      Note that even though a given type of message may have been
-C      selected for output, the output device and error response
-C      action must also have been selected appropriately.
-C      Use ERRDEV to choose the output device for error messages.
-C      Use ERRACT to choose the error response action.  Any action
-C      other than 'IGNORE' will result in error messages being
-C      written to the error output device when errors are detected.
-C      See ERRACT for details.
-C
-C$ Examples
-C
-C
-C      1.  We want to know if the short message has been selected
-C          for output:
-C
-C          C
-C          C     Test whether the short message has been selected:
-C          C
-C
-C                SELECT = MSGSEL ( 'SHORT' )
-C
-C
-C$ Restrictions
-C
-C      None.
-C
-C$ Literature_References
-C
-C      None.
-C
-C$ Author_and_Institution
-C
-C
-C$ Version
-C
-C
-C-&
-C$ Index_Entries
-C
-C     None.
-C
-C-&
-C$ Revisions
-C
-C
-C         Parameters section added; parameter declaration added
-C         to brief I/O section as well.
-C
-C-&
-C
-C     Executable Code:
-C
-      CALL LJUST ( TYPE,  LTYPE )
-      CALL UCASE ( LTYPE, LTYPE )
-      IF ( LTYPE  .EQ. 'SHORT' ) THEN
-         MSGSEL = SVSHRT
-      ELSE IF ( LTYPE  .EQ. 'EXPLAIN' ) THEN
-         MSGSEL = SVEXPL
-      ELSE IF ( LTYPE  .EQ. 'LONG' ) THEN
-         MSGSEL = SVLONG
-      ELSE IF ( LTYPE  .EQ. 'TRACEBACK' ) THEN
-         MSGSEL = SVTRAC
-      ELSE IF ( LTYPE  .EQ. 'DEFAULT' ) THEN
-         MSGSEL = SVDFLT
-      ELSE
-C
-C        Bad value of type!  We have a special case here; to
-C        avoid recursion, we output the messages directly,
-C        rather than call SIGERR.
-C
-         CALL GETDEV ( DEVICE )
-         CALL WRLINE ( DEVICE,  'SPICE(INVALIDMSGTYPE)' )
-         CALL WRLINE ( DEVICE, ' ' )
-         LOCTYP = TYPE
-C
-C        Note:  What looks like a typo below isn't; there's
-C        a line break after the substring 'specified' of
-C        the "word" 'specifiedwas'.
-C
-         CALL WRLINE ( DEVICE,
-     .   'MSGSEL:  An invalid error message type was supplied as'     //
-     .   ' input; the type specifiedwas:  ' // LOCTYP
-     .                )
-      END IF
-       subroutine 
-     & intensity1(efv,fv,svin,svquad,sfpv,maxp,value,jndex,k,kj,jmod,isup)
-
-       character*(*) function foo()
-
-      END
diff --git a/test/manual/etags/forth-src/test-forth.fth b/test/manual/etags/forth-src/test-forth.fth
deleted file mode 100644 (file)
index 4521d32..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-\
-\ This is a file that tests Forth tags
-\
-\ You should get:
-\      a-forth-word            (twice)
-\      a-forth-constant!
-\      a-forth-value?
-\      :a-forth-dictionary-entry
-\      #a-defer-word
-\      (another-forth-word)
-\      (a-forth-constant
-\      #some-storage
-\      assemby-code-word
-
-
-\ This is a forth comment
-
-( Another forth comment )
-
-: a-forth-word ( a b c -- a*b+c )  + * ;
-
-99 constant a-forth-constant!
-55 value a-forth-value?
-create :a-forth-dictionary-entry
-0 c, 9 c, 5 c, 7 c, 999999 ,
-
-defer #a-defer-word
-
-: (another-forth-word) ( -- )
-    ." Hello world"
-;
-
-' (another-forth-word) to #a-defer-word
-
-struct
-   9   field   >field1
-   5   field   >field2
-constant (a-forth-constant
-
-
-2000 buffer: #some-storage
-
-code assemby-code-word ( dunno what it does )
-    g1 g2 mov          \ Move from here to there
-    sc2 h# 13 sc2 sllx \ shift stuff 'round
-c;
-
-\ And for the heck of it, redefine a-forth-word.
-
-: a-forth-word ( a b c -- )
-    a-forth-word dup 200 > abort" Eek.  The number is too big"
-    ." Result is " . cr
-;
-
-: (foo) 1 ;
-: foo (foo) ;
-
-: create-bar foo ;
-create-bar  \ Do NOT create a tag here
-
-3 4 2constant 2const
-2const 2value 2val
-2variable 2var
-
-3.1415e fconstant fconst
-fconst fvalue fval
-fvariable fvar
-
-synonym mypi fconst
-
-BEGIN-STRUCTURE point \ create the named structure
-  1 CELLS +FIELD p.x    \ A single cell filed named p.x
-  1 CELLS +FIELD p.y    \ A single cell field named p.y
-END-STRUCTURE
diff --git a/test/manual/etags/go-src/test.go b/test/manual/etags/go-src/test.go
deleted file mode 100644 (file)
index 6aea26e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-package main
-
-import "fmt"
-
-func say(msg string) {
-       fmt.Println(msg)
-}
-
-func main() {
-       say("Hello, Emacs!")
-}
diff --git a/test/manual/etags/go-src/test1.go b/test/manual/etags/go-src/test1.go
deleted file mode 100644 (file)
index 6d1efaa..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-package main
-
-import "fmt"
-
-type plus interface {
-       PrintAdd()
-}
-
-type str struct {
-       a, b string
-}
-
-type intNumber struct {
-       a, b int
-}
-
-func (s str) PrintAdd() {
-       fmt.Println(s.a + s.b)
-}
-
-func (n intNumber) PrintAdd() {
-       fmt.Println(n.a + n.b)
-}
-
-func test(p plus) {
-       p.PrintAdd()
-}
-
-func main() {
-       s := str{a: "Hello,", b: "Emacs!"}
-       number := intNumber{a: 1, b: 2}
-       test(number)
-       test(s)
-}
diff --git a/test/manual/etags/html-src/algrthms.html b/test/manual/etags/html-src/algrthms.html
deleted file mode 100644 (file)
index becd93a..0000000
+++ /dev/null
@@ -1,519 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">\r
-<html>\r
-<head>\r
-   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
-   <meta name="Author" content="Chip Fleming">\r
-   <meta name="GENERATOR" content="Mozilla/4.7 [en] (Win95; U) [Netscape]">\r
-   <title>Tutorial on Convolutional Coding with Viterbi Decoding--Description of the Data Generation, Convolutional Encoding, Channel Mapping and AWGN, and Quantizing Algorithms</title>\r
-</head>\r
-<body>\r
-<a NAME="algorithms"></a><b><font face="Arial"><font size=+1>Description\r
-of the Algorithms&nbsp; (Part 1)</font></font></b>\r
-<p>&nbsp;The steps involved in simulating a communication channel using\r
-convolutional encoding and Viterbi decoding are as follows:\r
-<ul>\r
-<li>\r
-<a href="#genalgorithm">Generate the data</a> to be transmitted through\r
-the channel-result is binary data bits</li>\r
-\r
-<li>\r
-<a href="#conalgorithm">Convolutionally encode</a> the data-result is channel\r
-symbols</li>\r
-\r
-<li>\r
-<a href="#mapping">Map the one/zero channel symbols</a> onto an antipodal\r
-baseband signal, producing transmitted channel symbols</li>\r
-\r
-<li>\r
-<a href="#addnoise">Add noise</a> to the transmitted channel symbols-result\r
-is received channel symbols</li>\r
-\r
-<li>\r
-<a href="#quantizing">Quantize</a> the received channel levels-one bit\r
-quantization is called hard-decision, and two to n bit quantization is\r
-called soft-decision (n is usually three or four)</li>\r
-\r
-<li>\r
-<a href="algrthms2.html">Perform Viterbi decoding</a> on the quantized\r
-received channel symbols-result is again binary data bits</li>\r
-\r
-<li>\r
-Compare the decoded data bits to the transmitted data bits and count the\r
-number of errors.</li>\r
-</ul>\r
-<i>Many of you will notice that I left out the steps of modulating the\r
-channel symbols onto a transmitted carrier, and then demodulating the received\r
-carrier to recover the channel symbols. You're right, but we can accurately\r
-model the effects of AWGN even though we bypass those steps.</i>\r
-<p><a NAME="genalgorithm"></a><b><i><font face="Arial">Generating the Data</font></i></b>\r
-<p>Generating the data to be transmitted through the channel can be accomplished\r
-quite simply by using a random number generator. One that produces a uniform\r
-distribution of numbers on the interval 0 to a maximum value is provided\r
-in C: <tt>rand ()</tt>. Using this function, we can say that any value\r
-less than half of the maximum value is a zero; any value greater than or\r
-equal to half of the maximum value is a one.\r
-<p><a NAME="conalgorithm"></a><b><i><font face="Arial">Convolutionally\r
-Encoding the Data</font></i></b>\r
-<p>Convolutionally encoding the data is accomplished using a shift register\r
-and associated combinatorial logic that performs modulo-two addition. (A\r
-shift register is merely a chain of flip-flops wherein the output of the\r
-nth flip-flop is tied to the input of the (n+1)th flip-flop. Every time\r
-the active edge of the clock occurs, the input to the flip-flop is clocked\r
-through to the output, and thus the data are shifted over one stage.) The\r
-combinatorial logic is often in the form of cascaded exclusive-or gates.\r
-As a reminder, exclusive-or gates are two-input, one-output gates often\r
-represented by the logic symbol shown below,\r
-<center>\r
-<p><img SRC="figs/xor_gate.gif" ALT="exclusive-or gate symbol" height=64 width=93></center>\r
-\r
-<p>that implement the following truth-table:\r
-<br>&nbsp;\r
-<br>&nbsp;\r
-<center><table BORDER CELLPADDING=7 WIDTH="218" >\r
-<tr>\r
-<td VALIGN=TOP WIDTH="28%">\r
-<center><b><tt>Input A</tt></b></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="27%">\r
-<center><b><tt>Input B</tt></b></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="45%">\r
-<center><b><tt>Output</tt></b>\r
-<p><b><tt>(A xor B)</tt></b></center>\r
-</td>\r
-</tr>\r
-\r
-<tr>\r
-<td VALIGN=TOP WIDTH="28%">\r
-<center><tt>0</tt></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="27%">\r
-<center><tt>0</tt></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="45%">\r
-<center><tt>0</tt></center>\r
-</td>\r
-</tr>\r
-\r
-<tr>\r
-<td VALIGN=TOP WIDTH="28%">\r
-<center><tt>0</tt></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="27%">\r
-<center><tt>1</tt></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="45%">\r
-<center><tt>1</tt></center>\r
-</td>\r
-</tr>\r
-\r
-<tr>\r
-<td VALIGN=TOP WIDTH="28%">\r
-<center><tt>1</tt></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="27%">\r
-<center><tt>0</tt></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="45%">\r
-<center><tt>1</tt></center>\r
-</td>\r
-</tr>\r
-\r
-<tr>\r
-<td VALIGN=TOP WIDTH="28%">\r
-<center><tt>1</tt></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="27%">\r
-<center><tt>1</tt></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="45%">\r
-<center><tt>0</tt></center>\r
-</td>\r
-</tr>\r
-</table></center>\r
-\r
-<p>The exclusive-or gate performs modulo-two addition of its inputs. When\r
-you cascade q two-input exclusive-or gates, with the output of the first\r
-one feeding one of the inputs of the second one, the output of the second\r
-one feeding one of the inputs of the third one, etc., the output of the\r
-last one in the chain is the modulo-two sum of the q + 1 inputs.\r
-<p>Another way to illustrate the modulo-two adder, and the way that is\r
-most commonly used in textbooks, is as a circle with a + symbol inside,\r
-thus:\r
-<center>\r
-<p><img SRC="figs/ringsum.gif" ALT="modulo-two adder symbol" height=48 width=48></center>\r
-\r
-<p>Now that we have the two basic components of the convolutional encoder\r
-(flip-flops comprising the shift register and exclusive-or gates comprising\r
-the associated modulo-two adders) defined, let's look at a picture of a\r
-convolutional encoder for a rate 1/2, K = 3, m = 2 code:\r
-<br>&nbsp;\r
-<br>&nbsp;\r
-<br>\r
-<center>\r
-<p><img SRC="figs/ce_7_5_a.gif" ALT="rate 1/2 K = 3 (7, 5) convolutional encoder" height=232 width=600></center>\r
-\r
-<p>In this encoder, data bits are provided at a rate of k bits per second.\r
-Channel symbols are output at a rate of n = 2k symbols per second. The\r
-input bit is stable during the encoder cycle. The encoder cycle starts\r
-when an input clock edge occurs. When the input clock edge occurs, the\r
-output of the left-hand flip-flop is clocked into the right-hand flip-flop,\r
-the previous input bit is clocked into the left-hand flip-flop, and a new\r
-input bit becomes available. Then the outputs of the upper and lower modulo-two\r
-adders become stable. The output selector (SEL A/B block) cycles through\r
-two states-in the first state, it selects and outputs the output of the\r
-upper modulo-two adder; in the second state, it selects and outputs the\r
-output of the lower modulo-two adder.\r
-<p>The encoder shown above encodes the K = 3, (7, 5) convolutional code.\r
-The octal numbers 7 and 5 represent the code generator polynomials, which\r
-when read in binary (111<sub>2</sub> and 101<sub>2</sub>) correspond to\r
-the shift register connections to the upper and lower modulo-two adders,\r
-respectively. This code has been determined to be the "best" code for rate\r
-1/2, K = 3. It is the code I will use for the remaining discussion and\r
-examples, for reasons that will become readily apparent when we get into\r
-the Viterbi decoder algorithm.\r
-<p>Let's look at an example input data stream, and the corresponding output\r
-data stream:\r
-<p>Let the input sequence be 010111001010001<sub>2</sub>.\r
-<p>Assume that the outputs of both of the flip-flops in the shift register\r
-are initially cleared, i.e. their outputs are zeroes. The first clock cycle\r
-makes the first input bit, a zero, available to the encoder. The flip-flop\r
-outputs are both zeroes. The inputs to the modulo-two adders are all zeroes,\r
-so the output of the encoder is 00<sub>2</sub>.\r
-<p>The second clock cycle makes the second input bit available to the encoder.\r
-The left-hand flip-flop clocks in the previous bit, which was a zero, and\r
-the right-hand flip-flop clocks in the zero output by the left-hand flip-flop.\r
-The inputs to the top modulo-two adder are 100<sub>2</sub>, so the output\r
-is a one. The inputs to the bottom modulo-two adder are 10<sub>2</sub>,\r
-so the output is also a one. So the encoder outputs 11<sub>2</sub> for\r
-the channel symbols.\r
-<p>The third clock cycle makes the third input bit, a zero, available to\r
-the encoder. The left-hand flip-flop clocks in the previous bit, which\r
-was a one, and the right-hand flip-flop clocks in the zero from two bit-times\r
-ago. The inputs to the top modulo-two adder are 010<sub>2</sub>, so the\r
-output is a one. The inputs to the bottom modulo-two adder are 00<sub>2</sub>,\r
-so the output is zero. So the encoder outputs 10<sub>2</sub> for the channel\r
-symbols.\r
-<p>And so on. The timing diagram shown below illustrates the process:\r
-<br>&nbsp;\r
-<br>&nbsp;\r
-<br>\r
-<center>\r
-<p><img SRC="figs/ce_td.gif" ALT="timing diagram for rate 1/2 convolutional encoder" height=322 width=600></center>\r
-\r
-<p><br>\r
-<br>\r
-<br>\r
-<p>After all of the inputs have been presented to the encoder, the output\r
-sequence will be:\r
-<p>00 11 10 00 01 10 01 11 11 10 00 10 11 00 11<sub>2</sub>.\r
-<p>Notice that I have paired the encoder outputs-the first bit in each\r
-pair is the output of the upper modulo-two adder; the second bit in each\r
-pair is the output of the lower modulo-two adder.\r
-<p>You can see from the structure of the rate 1/2 K = 3 convolutional encoder\r
-and from the example given above that each input bit has an effect on three\r
-successive pairs of output symbols. That is an extremely important point\r
-and that is what gives the convolutional code its error-correcting power.\r
-The reason why will become evident when we get into the Viterbi decoder\r
-algorithm.\r
-<p>Now if we are only going to send the 15 data bits given above, in order\r
-for the last bit to affect three pairs of output symbols, we need to output\r
-two more pairs of symbols. This is accomplished in our example encoder\r
-by clocking the convolutional encoder flip-flops two ( = m) more times,\r
-while holding the input at zero. This is called "flushing" the encoder,\r
-and results in two more pairs of output symbols. The final binary output\r
-of the encoder is thus 00 11 10 00 01 10 01 11 11 10 00 10 11 00 11 10\r
-11<sub>2</sub>. If we don't perform the flushing operation, the last m\r
-bits of the message have less error-correction capability than the first\r
-through (m - 1)th bits had. This is a pretty important thing to remember\r
-if you're going to use this FEC technique in a burst-mode environment.\r
-So's the step of clearing the shift register at the beginning of each burst.\r
-The encoder must start in a known state and end in a known state for the\r
-decoder to be able to reconstruct the input data sequence properly.\r
-<p>Now, let's look at the encoder from another perspective. You can think\r
-of the encoder as a simple state machine. The example encoder has two bits\r
-of memory, so there are four possible states. Let's give the left-hand\r
-flip-flop a binary weight of 2<sup>1</sup>, and the right-hand flip-flop\r
-a binary weight of 2<sup>0</sup>. Initially, the encoder is in the all-zeroes\r
-state. If the first input bit is a zero, the encoder stays in the all zeroes\r
-state at the next clock edge. But if the input bit is a one, the encoder\r
-transitions to the 10<sub>2</sub> state at the next clock edge. Then, if\r
-the next input bit is zero, the encoder transitions to the 01<sub>2</sub>\r
-state, otherwise, it transitions to the 11<sub>2</sub> state. The following\r
-table gives the next state given the current state and the input, with\r
-the states given in binary:\r
-<br>&nbsp;\r
-<br>&nbsp;\r
-<center><table BORDER CELLSPACING=2 CELLPADDING=7 WIDTH="282" >\r
-<tr>\r
-<td VALIGN=TOP WIDTH="33%"><font face="Arial"><font size=-1>&nbsp;</font></font></td>\r
-\r
-<td VALIGN=TOP COLSPAN="2" WIDTH="67%">\r
-<center><a NAME="statetable"></a><b><font face="Arial"><font size=-1>Next\r
-State, if&nbsp;</font></font></b></center>\r
-</td>\r
-</tr>\r
-\r
-<tr>\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><b><font face="Arial"><font size=-1>Current State</font></font></b></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><b><font face="Arial"><font size=-1>Input = 0:</font></font></b></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><b><font face="Arial"><font size=-1>Input = 1:</font></font></b></center>\r
-</td>\r
-</tr>\r
-\r
-<tr>\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>00</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>00</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>10</font></font></center>\r
-</td>\r
-</tr>\r
-\r
-<tr>\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>01</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>00</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>10</font></font></center>\r
-</td>\r
-</tr>\r
-\r
-<tr>\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>10</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>01</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>11</font></font></center>\r
-</td>\r
-</tr>\r
-\r
-<tr>\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>11</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>01</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>11</font></font></center>\r
-</td>\r
-</tr>\r
-</table></center>\r
-\r
-<br>&nbsp;\r
-<p>The above table is often called a state transition table. We'll refer\r
-to it as the <tt>next state</tt> table.<tt> </tt>Now let us look at a table\r
-that lists the channel output symbols, given the current state and the\r
-input data, which we'll refer to as the <tt>output</tt> table:\r
-<br>&nbsp;\r
-<br>&nbsp;\r
-<center><table BORDER CELLSPACING=2 CELLPADDING=7 WIDTH="282" >\r
-<tr>\r
-<td VALIGN=TOP WIDTH="33%"></td>\r
-\r
-<td VALIGN=TOP COLSPAN="2" WIDTH="67%">\r
-<center><a NAME="outputtable"></a><b><font face="Arial"><font size=-1>Output\r
-Symbols, if</font></font></b></center>\r
-</td>\r
-</tr>\r
-\r
-<tr>\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><b><font face="Arial"><font size=-1>Current State</font></font></b></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><b><font face="Arial"><font size=-1>Input = 0:</font></font></b></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><b><font face="Arial"><font size=-1>Input = 1:</font></font></b></center>\r
-</td>\r
-</tr>\r
-\r
-<tr>\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>00</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>00</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>11</font></font></center>\r
-</td>\r
-</tr>\r
-\r
-<tr>\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>01</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>11</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>00</font></font></center>\r
-</td>\r
-</tr>\r
-\r
-<tr>\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>10</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>10</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>01</font></font></center>\r
-</td>\r
-</tr>\r
-\r
-<tr>\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>11</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>01</font></font></center>\r
-</td>\r
-\r
-<td VALIGN=TOP WIDTH="33%">\r
-<center><font face="Arial"><font size=-1>10</font></font></center>\r
-</td>\r
-</tr>\r
-</table></center>\r
-\r
-<br>&nbsp;\r
-<p>You should now see that with these two tables, you can completely describe\r
-the behavior of the example rate 1/2, K = 3 convolutional encoder. Note\r
-that both of these tables have 2<sup>(K - 1)</sup> rows, and 2<sup>k</sup>\r
-columns, where K is the constraint length and k is the number of bits input\r
-to the encoder for each cycle. These two tables will come in handy when\r
-we start discussing the Viterbi decoder algorithm.\r
-<p><a NAME="mapping"></a><b><i><font face="Arial">Mapping the Channel Symbols\r
-to Signal Levels</font></i></b>\r
-<p>Mapping the one/zero output of the convolutional encoder onto an antipodal\r
-baseband signaling scheme is simply a matter of translating zeroes to +1s\r
-and ones to -1s. This can be accomplished by performing the operation y\r
-= 1 - 2x on each convolutional encoder output symbol.\r
-<p><a NAME="addnoise"></a><b><i><font face="Arial">Adding Noise to the\r
-Transmitted Symbols</font></i></b>\r
-<p>Adding noise to the transmitted channel symbols produced by the convolutional\r
-encoder involves generating Gaussian random numbers, scaling the numbers\r
-according to the desired energy per symbol to noise density ratio, E<sub>s</sub>/N<sub>0</sub>,\r
-and adding the scaled Gaussian random numbers to the channel symbol values.\r
-<p>For the uncoded channel, E<sub>s</sub>/N<sub>0 </sub>= E<sub>b</sub>/N<sub>0</sub>,\r
-since there is one channel symbol per bit.&nbsp; However, for the coded\r
-channel, E<sub>s</sub>/N<sub>0 </sub>= E<sub>b</sub>/N<sub>0</sub> + 10log<sub>10</sub>(k/n).&nbsp;\r
-For example, for rate 1/2 coding, E<sub>s</sub>/N<sub>0 </sub>= E<sub>b</sub>/N<sub>0</sub>\r
-+ 10log<sub>10</sub>(1/2) = E<sub>b</sub>/N<sub>0</sub> - 3.01 dB.&nbsp;\r
-Similarly, for rate 2/3 coding, E<sub>s</sub>/N<sub>0 </sub>= E<sub>b</sub>/N<sub>0</sub>\r
-+ 10log<sub>10</sub>(2/3) = E<sub>b</sub>/N<sub>0</sub> - 1.76 dB.\r
-<p>The Gaussian random number generator is the only interesting part of\r
-this task. C only provides a uniform random number generator, <tt>rand()</tt>.\r
-In order to obtain Gaussian random numbers, we take advantage of relationships\r
-between uniform, Rayleigh, and Gaussian distributions:\r
-<p>Given a uniform random variable U, a Rayleigh random variable R can\r
-be obtained by:\r
-<p><img SRC="figs/eqn01.gif" ALT="equation for Rayleigh random deviate given uniform random deviate" height=30 width=297 align=ABSCENTER>\r
-<p>where&nbsp;<img SRC="figs/eqn02.gif" height=24 width=24 align=ABSCENTER>is\r
-the variance of the Rayleigh random variable, and given R and a second\r
-uniform random variable V, two Gaussian random variables G and H can be\r
-obtained by\r
-<p><i>G</i> = <i>R</i> cos <i>U</i> and <i>H</i> = <i>R</i> sin <i>V</i>.\r
-<p>In the AWGN channel, the signal is corrupted by additive noise, n(t),\r
-which has the power spectrum <i>No</i>/2 watts/Hz. The variance&nbsp;<img SRC="figs/eqn02.gif" ALT="variance" height=24 width=24 align=ABSBOTTOM>of\r
-this noise is equal to&nbsp;<img SRC="figs/eqn03.gif" ALT="noise density div by two" height=22 width=38 align=TEXTTOP>.\r
-If we set the energy per symbol <i>E<sub>s</sub></i> equal to 1, then&nbsp;<img SRC="figs/eqn04.gif" ALT="equation relating variance to SNR" height=28 width=110 align=ABSBOTTOM>.\r
-So&nbsp;<img SRC="figs/eqn05.gif" ALT="equation for AWGN st dev given SNR" height=28 width=139 align=ABSCENTER>.\r
-<p><a NAME="quantizing"></a><b><i><font face="Arial">Quantizing the Received\r
-Channel Symbols</font></i></b>\r
-<p>An ideal Viterbi decoder would work with infinite precision, or at least\r
-with floating-point numbers. In practical systems, we quantize the received\r
-channel symbols with one or a few bits of precision in order to reduce\r
-the complexity of the Viterbi decoder, not to mention the circuits that\r
-precede it. If the received channel symbols are quantized to one-bit precision\r
-(&lt; 0V = 1, <u>></u> 0V = 0), the result is called hard-decision data.\r
-If the received channel symbols are quantized with more than one bit of\r
-precision, the result is called soft-decision data. A Viterbi decoder with\r
-soft decision data inputs quantized to three or four bits of precision\r
-can perform about 2 dB better than one working with hard-decision inputs.\r
-The usual quantization precision is three bits. More bits provide little\r
-additional improvement.\r
-<p>The selection of the quantizing levels is an important design decision\r
-because it can have a significant effect on the performance of the link.\r
-The following is a very brief explanation of one way to set those levels.\r
-Let's assume our received signal levels in the absence of noise are -1V\r
-= 1, +1V = 0. With noise, our received signal has mean +/- 1 and standard\r
-deviation&nbsp;<img SRC="figs/eqn05.gif" ALT="equation for AWGN st dev given SNR" height=28 width=139 align=ABSCENTER>.\r
-Let's use a uniform, three-bit quantizer having the input/output relationship\r
-shown in the figure below, where D is a decision level that we will calculate\r
-shortly:\r
-<center>\r
-<p><img SRC="figs/quantize.gif" ALT="8-level quantizer function plot" height=342 width=384></center>\r
-\r
-<p>The decision level, D, can be calculated according to the formula&nbsp;<img SRC="figs/eqn06.gif" ALT="equation for quantizer decision level" height=28 width=228 align=ABSCENTER>,\r
-where E<sub>s</sub>/N<sub>0</sub> is the energy per symbol to noise density\r
-ratio<i>. (The above figure was redrawn from Figure 2 of Advanced Hardware\r
-Architecture's ANRS07-0795, "Soft Decision Thresholds and Effects on Viterbi\r
-Performance". See the </i><a href="fecbiblio.html">bibliography</a><i>&nbsp;\r
-for a link to their web pages.)</i>\r
-<p>Click <a href="algrthms2.html">here</a> to proceed to the description\r
-of the Viterbi decoding algorithm itself...\r
-<p>Or click on one of the links below to go to the beginning of that section:\r
-<p>&nbsp;<a href="tutorial.html">Introduction</a>\r
-<br>&nbsp;<a href="algrthms2.html">Description of the Algorithms&nbsp;\r
-(Part 2)</a>\r
-<br>&nbsp;<a href="examples.html">Simulation Source Code Examples</a>\r
-<br>&nbsp;<a href="simrslts.html">Example Simulation Results</a>\r
-<br>&nbsp;<a href="fecbiblio.html">Bibliography</a>\r
-<br>&nbsp;<a href="tutorial.html#specapps">About Spectrum Applications...</a>\r
-<br>&nbsp;\r
-<br>&nbsp;\r
-<br>\r
-<br>\r
-<center>\r
-<p><img SRC="figs/stripe.gif" height=6 width=600></center>\r
-\r
-</body>\r
-</html>\r
diff --git a/test/manual/etags/html-src/index.shtml b/test/manual/etags/html-src/index.shtml
deleted file mode 100644 (file)
index 6d8cd85..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-<!--#set var="chiavi" value="
-     prima pagina principale, home page, assoli,
-     free software, open source, italia, italy, italiano" -->
-<!--#include virtual="/inc/h.shtml"-->
-<!--#include virtual="/inc/menu-generico.html"-->
-<!--#include virtual="/inc/content-begin.html"-->
-
-<H3>&nbsp;</H3>        <!-- un po' di spazio in cima -->
-
-<!--
-     La rubrica "in evidenza" va commentata se non c'è niente di serio
-     da mettere in evidenza
- -->
-<H2>
-  In evidenza
-</H2>
-
-<ul>
-
-  <li>Assieme alla <A HREF="http://www.linux.it/">Italian Linux
-  Society</A> sollecitiamo una <A
-  HREF="/misc/raccoltafirme.shtml">raccolta di firme</A> per
-  sostenere il <a href="/altri/cortiana.shtml">disegno di legge</a> sul
-  software libero dal titolo "<i>Norme in materia di pluralismo
-  informatico sulla adozione e la diffusione del software libero e sulla
-  portabilità dei documenti informatici nella Pubblica
-  Amministrazione</i>" (XIV Legislatura Atto Senato n. 1188).<P>
-
-</ul>
-
-<H2>
-  Comunicati e iniziative
-</H2>
-
-<ul>
-
-  <p></p><li>
-    Combattiamo il "bollino SIAE".  Nel <A HREF="/news/">notiziario</A>
-    tutte le nostre iniziative in proposito.  Insieme al <a
-    href="http://www.lugroma.org">LUG Roma</a> abbiamo scritto il <A
-    HREF="/bollino/">Bollino-HOWTO</A>, istruzioni passo passo su come
-    ottenere l'esenzione dal bollilno SIAE per la distribuzione di
-    software libero a titolo oneroso o gratuito.  <A
-    HREF="/altri/semenzato-pieroni.shtml">Qui</A> il disegno di legge
-    Semenzato Pieroni sul diritto d'autore.  E non Ã¨ finita.
-
-  <p></p><li>
-    <a href="/altri/adeos.shtml">Salutiamo</a> l'arrivo di ADEOS, kernel
-    real-time per Linux libero da brevetti
-
-  <p></p><li>
-    <a href="/news/news020315_01.shtml">Comunicato</a> stampa di FSF Europa
-    ed Assoli in appoggio al disegno di legge per l'uso del software libero
-    nella pubblica amministrazione
-
-  <p></p><li>
-    <a href="/docs/pirateria.shtml">Posizione dell'Associazione</a> sulle
-    attuali campagna anti-"pirateria"</a>
-
-</ul>
-
-<H2>
-  Ultime notizie dall'associazione
-</H2>
-<P>
-<!--#include virtual="/news/notizie.shtml"-->
-</P>
-
-<!--#include virtual="inc/content-end.html"-->
-<!--#include virtual="inc/f.shtml"-->
diff --git a/test/manual/etags/html-src/software.html b/test/manual/etags/html-src/software.html
deleted file mode 100644 (file)
index 9c4f0dd..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40">
-<HTML LANG="en">
-<HEAD>
-  <STYLE TYPE="text/css"><!--
-    BODY { font-size: 12pt; }
-    P    { text-indent: 0; text-align: justify }
-    DD   { text-indent: 0; text-align: justify }
-  --></STYLE>
-  <TITLE>Francesco Potortì Software Page</TITLE>
-  <LINK  REV="made" HREF="mailto:F.Potorti@cnuce.cnr.it">
-  <META NAME="description" CONTENT="Home page of Francesco Potortì.">
-  <META NAME="keywords"
-        CONTENT="Potorti Potortì Potorti' Potorti`
-                satellites MTG fracas simulator LEO MEO GEO
-                GNU emacs etags checkiso debian-bug">
-  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-</HEAD><BODY>
-
-<CENTER>
-    [<A HREFLANG="en" HREF="/home.html">home</A>]
-    | [<A HREFLANG="en" HREF="/foda/foda.html">FODA/IBEA</A>]
-    | [<A HREFLANG="en" HREF="/galileo/index.html">GaliLEO</A>]
-    | [<A HREFLANG="en" HREF="#fracas">fracas</A>]
-    | [<A HREFLANG="en" HREF="#leasqr">leasqr</A>]<BR>
-    [<A HREFLANG="en" HREF="#etags">etags</A>]
-    | [<A HREFLANG="en" HREF="#checkiso">checkiso</A>]
-    | [<A HREFLANG="en" HREF="#cgrep">cgrep</A>]
-    | [<A HREFLANG="en" HREF="#debian-bug">debian-bug</A>]
-</CENTER>
-
-<HR> <!---------------------------------------------------------------->
-
-<H4 ID="simulation">
-    <IMG SRC="/pictures/cnr-4.png" ALIGN="right"
-         ALT="CNR logo (png 3k)">
-    Software that I wrote for supporting my research activity
-</H4>
-
-
-<H5 ID="mtg">
-  MTG
-</H5>
-
-<P> The <A
-    HREF="/curriculum/pot-abstracts.html#R05:MTG-RealTimeSystems97"><CITE>M</CITE>ulti-Application
-    <cite>t</CITE>raffic <cite>g</CITE>enerator</A> was written in 1990 to run on
-    a proprietary Motorola Delta SysV Unix running on 68030.  It is a
-    programmable packet traffic generator for Ethernet with a
-    <CITE>curses</CITE>-based frontend and a backend that I wrote.  MTG was
-    used to develop, test and evaluate the <A HREF="/foda/foda.html">FODA/IBEA</A>
-    satellite access protocol.
-
-<P> The backend of MTG
-    was a Unix device driver which took control of the timer and Lance
-    interrupts, after having programmed them at the unmaskable level.  Since I
-    had no access to the kernel sources, after having studied <CITE>Writing a
-    Unix device driver</CITE> by Egan Teixeira I had to get really well
-    acquainted with the Motorola C compiler and then to disassemble a couple of
-    kernel routines.  For anyone interested in historical programming, <A
-    HREF="ftp://fly.cnuce.cnr.it/pub/software/unix/mtg.tgz"
-    TYPE="application/octet-stream">here</A> is the code.
-
-
-<H5 ID="fracas">
-  Fracas
-</H5>
-
-<P> The <A
-    HREF="/curriculum/pot-abstracts.html#R12:Fracas-TelCommSystems99"><CITE>Fra</CITE>med
-    <CITE>C</CITE>hannel <CITE>A</CITE>ccess <CITE>S</CITE>imulator</A> was
-    written around 1995 to study MAC protocols to access a geostationary
-    satellite channel.  It is a little more general than that, though, and can
-    be used to simulate any framed multiple access scheme.  It is a very fast,
-    extensible, non-user friendly C program that has been used for several
-    protocol studies:
-    <UL>
-    <LI> <A HREF="/curriculum/pot-abstracts.html#R03:FODAIBEAvsDistributed-IJSC96">
-         <i>Comparison between distributed and centralized demand
-        assignment TDMA satellite access schemes</i></A>
-
-    <LI><A HREF="/curriculum/pot-abstracts.html#R07:FODAIBEAvsCFRA-IJSC97">
-        <i>Delay analysis for interlan traffic using two suitable TDMA
-       satellite access schemes</i></A>
-
-    <LI><A HREF="/curriculum/pot-abstracts.html#R17:VnL-IJSC00">
-        <i>A multi-level satellite channel allocation algorithm for
-       real-time VBR data</i></A>
-    </UL>
-
-<P> Everyone is welcome to download the <A
-    HREF="ftp://fly.cnuce.cnr.it/pub/software/C/fracas.tgz"
-    TYPE="application/octet-stream">complete sources</A> and a <A
-    HREF="ftp://fly.cnuce.cnr.it/pub/software/C/fracas-man-0.0.pdf"
-    TYPE="application/pdf">draft manual</A>.  There is also a short <A
-    HREF="ftp://fly.cnuce.cnr.it/pub/data/docs/Fracas-slides.pdf">presentation</A>
-    (10 slides, 340KB).  I will be happy to assist those who would like to
-    adapt Fracas to their purposes.
-
-
-<H5 ID="galileo">
-  GaliLEO
-</H5>
-
-<P> A simulator for Low Earth Orbit satellite constellations that I contributed
-    to design and implement in Java. This is work in progress, of which I made
-    a short <A
-    HREF="ftp://fly.cnuce.cnr.it/pub/data/docs/GaliLEO-slides.pdf">presentation</A>
-    (10 slides, 500KB).  GaliLEO has <A HREF="http://galileo.tesa.prd.fr/">its
-    own page</A> and a <A HREF="/galileo/index.html">local mirror</A>.
-
-
-
-<H5 ID="leasqr">
-  Leasqr
-</H5>
-
-<P> This is a package for <A HREF="http://www.octave.org/">Octave</A>, a
-high-level language which uses a language very similar to that of Matlab.
-Leasqr uses the Levenberg-Marquardt algorithm for doing nonlinear regression.
-I found leasqr on the web, but it did not run on Octave (it was made for
-Matlab) and so I adapted it and <A
-HREF="ftp://fly.cnuce.cnr.it/pub/software/octave/leasqr/">published</A> it.
-Since then, the original authors Richard I. Shrager, A.Jutan, Ray Muzic, and
-Sean Brennan agreed to put it under the <A
-HREF="https://www.gnu.org/licenses/gpl.html">GPL</A>.  Matthias Jueschke tested
-the program using a non-linear optimization <A
-HREF="http://www.itl.nist.gov/div898/strd/nls/nls_main.shtml">test suite</A>,
-and was satisfied with the results.
-
-<P>The most current version of the leasqr is part of the optimization package
-at <a href="http://octave.sf.net">octave-forge</a>. You should refer to the
-files leasqr.m, leasqrdemo.m and dfdp.m <a
-href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/octave/octave-forge/main/optim/">therein</a>.
-The names of the individual files may change in the future.  Please let me know
-if that happens so I can update this page.
-
-<HR> <!---------------------------------------------------------------->
-
-<H4 ID="gnu">
-    <IMG SRC="/pictures/gnu-head-3.png" ALIGN="right"
-         ALT="small GNU Head (png 3k)">
-    Free software that I wrote for the GNU project or for my personal or work
-    interest
-</H4>
-
-
-<H5 ID="etags">
-  Etags
-</H5>
-
-<P> On behalf of the <A HREF="https://www.gnu.org/fsf/fsf.html">Free
-    Software Foundation (FSF)</A> I currently volunteer to maintain
-    <CITE>etags</CITE>, a program that can be compiled either as a replacement
-    of the classic <CITE>ctags</CITE> Unix program or as <CITE>etags</CITE>,
-    whose output file format is used by Emacs.  The latest (unofficial) version
-    of etags is available for <A HREF="ftp://fly.cnuce.cnr.it/pub/etags.c.gz"
-    TYPE="application/octet-stream">download</A> (30&nbsp;KB).
-
-
-<H5 ID="checkiso">
-  checkiso
-</H5>
-
-<P> A Unix <A HREF="ftp://fly.cnuce.cnr.it/pub/software/unix/checkiso"
-    TYPE="application/octet-stream">shell script</A> for checking a CD against
-    the iso image from which it has been burned.  The comparison is made using
-    an MD5 signature built from the original image or from a known good CD.
-    Shows the location of the first read error detected.  Can extract a disk Id
-    from the image or the CD itself and build a local database of Ids for
-    future checking of archived CDs.  The Id contains the image length, the MD5
-    signature and the Volume ID of the disk, so it can automatically recognize
-    the CD to check.  Contains a small internal database of <A
-    HREF="http://www.debian.org/">Debian</A> <A
-    HREF="http://cdimage.debian.org/">CD images</A>.
-
-
-<H5 ID="cgrep">
-  cgrep
-</H5>
-
-<P> A Unix <A HREF="ftp://fly.cnuce.cnr.it/pub/software/unix/cgrep"
-    TYPE="application/octet-stream">shell script</A> that wraps around grep to
-    make it understand files compressed with gzip or bzip2.  You just use it
-    like grep.  If you rename it cegrep or cfgrep it will wrap around egrep or
-    fgrep, respectively.  Instead of renaming it, you can use a symbolic or
-    hard link.
-
-
-<H5 ID="debian-bug">
-  debian-bug.el
-</H5>
-
-<P> An Emacs add-on script in emacs lisp which simplifies
-    the task of submitting a bug report to the <A
-    HREF="http://www.debian.org/Bugs/">Debian bug tracking system</A>.  Part of
-    the <A
-    HREF="http://packages.debian.org/testing/utils/debbugs-el.html">debbugs-el</A>
-    Debian package.  I handed the package over to Peter Galbraith, who is
-    maintaining it much more actively than I was.  You can download its <A
-    HREF="http://people.debian.org/~psg/debian-bug.el"
-    TYPE="application/octet-stream">latest version</A>.
-
-
-<H5 ID="tcpdump">
-  tcpdump
-</H5>
-
-<P> A Unix <A HREF="ftp://fly.cnuce.cnr.it/pub/software/unix/pottcpdump-1.3"
-    TYPE="application/octet-stream">shell wrapper</A> around
-    <CITE>tcpdump</CITE> which optionally displays the contents of the packets.
-
-
-<HR> <!---------------------------------------------------------------->
-
-<H4 ID="links">
-    Links to interesting software
-</H4>
-
-
-<DL>
- <DT>The Error Correcting Codes (ECC) Page
-  <DD><A
-  HREF="http://www.csl.sony.co.jp/person/morelos/ecc/codes.html">This</A> is a
-  really good list of free (in various senses) programs for coding and
-  decoding.  I keep a <A HREF="codes.html">mirror</A> of this page.
-
- <DT>Forward error correcting codes by Phil Karn
-  <DD>Phil Karn's optimized really <A HREF="http://www.ka9q.net/code/fec/">free
-  codes</A>.
-
-</DL>
-
-</BODY>
-
-<!--
-Local variables:
-fill-column: 79
-end:
--->
-
-</HTML>
diff --git a/test/manual/etags/html-src/softwarelibero.html b/test/manual/etags/html-src/softwarelibero.html
deleted file mode 100644 (file)
index 6d75a1f..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-<DIV LANG="it" ALIGN="justify">
-
-<H2>
-  Cos'è il software libero?
-</H2>
-
-<P>
-  Il concetto di software libero discende naturalmente da quello di
-  libertà di scambio di idee e di informazioni.  Negli ambienti
-  scientifici, quest'ultimo principio Ã¨ tenuto in alta considerazione
-  per la fecondità che ha dimostrato; ad esso infatti Ã¨ generalmente
-  attribuita molta parte dell'eccezionale ed imprevedibile crescita del
-  sapere negli ultimi tre secoli.
-</P>
-<P>
-  La libertà di scambio di idee non Ã¨ tuttavia una questione puramente
-  pratica: essa Ã¨ anche alla base dei concetti di libertà di pensiero e
-  di espressione.  Analogamente alle idee, il software Ã¨ immateriale, e
-  può essere riprodotto e trasmesso facilmente.  In modo simile a quanto
-  avviene per le idee, parte essenziale del processo che sostiene la
-  crescita e l'evoluzione del software Ã¨ la sua libera diffusione.  Ed
-  ogni giorno di più, come le idee, il software permea il tessuto
-  sociale e lo influenza, produce effetti etici, economici, politici e
-  in un senso più generale culturali.
-</P>
-<P>
-  Fu Richard M. Stallman, nei primi anni Ottanta, a formalizzare per la
-  prima volta il concetto di software libero.  La <A TITLE="definizione
-  di software libero secondo FSF"
-  href="https://www.it.gnu.org/philosophy/free-sw.it.html">definizione</A>
-  di Stallman, che da subito assurse al ruolo di definizione per
-  eccellenza di software libero, assume la forma di quattro principi di
-  libertà:
-</P>
-<P>
-<DL>
-  <DT>Libertà 0, o libertà fondamentale:
-    <DD>La libertà di eseguire il programma per qualunque scopo, senza
-    vincoli sul suo utilizzo.
-
-  <DT>Libertà 1:
-    <DD>La libertà di studiare il funzionamento del programma, e
-    di adattarlo alle proprie esigenze.
-
-  <DT>Libertà 2:
-    <DD>La libertà di redistribuire copie del programma.
-
-  <DT>Libertà 3:
-    <DD>La libertà di migliorare il programma, e di distribuirne
-    i miglioramenti.
-</DL>
-</P>
-<P>
-  Il software distribuito con una licenza che rispetti questi principi Ã¨
-  detto <Q><EM>software libero</EM></Q> (in inglese <Q><EM>free
-  software</EM></Q>).  Nel 1984 Richard M. Stallman <A TITLE="storia
-  del progetto GNU"
-  HREF="https://www.it.gnu.org/gnu/thegnuproject.it.html">diede vita al
-  progetto GNU</A>, con lo scopo di tradurre in pratica il concetto di
-  software libero, e creò la <Q>Free Software Foundation</Q> per
-  dare supporto logistico, legale ed economico al progetto GNU.
-</P>
-
-<H3><A NAME="licenze">
-  Licenze d'uso di un programma
-</A></H3>
-
-<P>
-  La <EM>licenza d'uso</EM> Ã¨ un documento legale generalmente
-  distribuito assieme a ogni programma. Essa, appoggiandosi alle norme
-  sul diritto d'autore, specifica diritti e doveri di chi riceve tale
-  programma.
-</P>
-<P>
-  Gran parte delle licenze comunemente usate sono <EM>proprietarie</EM>,
-  cioè non libere, in quanto non garantiscono le quattro libertà. Quasi
-  sempre tali licenze non consentono infatti la libera copia del
-  programma, né la sua modifica.  Spesso, se il programma Ã¨ installato
-  sul computer di casa, la licenza impedisce persino di installarlo sul
-  proprio portatile (per utilizzare il programma fuori casa); se il
-  programma Ã¨ utilizzato in uno studio professionale, non consente di
-  tenerlo installato su un computer di riserva, nel caso che quello
-  principale si guasti.
-</P>
-<P>
-  La licenza del progetto GNU, la <EM>Licenza Pubblica Generica GNU (<A
-  TITLE="traduzione della licenza GNU GPL"
-  HREF="http://softwarelibero.it/gnudoc/gpl.it.txt">GNU GPL</A>)</EM>,
-  al contrario, concede all'utente del programma tutte e quattro le
-  libertà suddette.  Inoltre si occupa anche di proteggerle: chi
-  modifichi un programma protetto da GPL e lo distribuisca con tali
-  modifiche, deve distribuirlo sotto licenza GPL.  Ãˆ grazie a questo
-  tipo di protezione che la GPL Ã¨ attualmente la licenza più usata per
-  il software libero.
-</P>
-<P>
-  Con un gioco di parole, il nome dato a questo tipo di protezione
-  Ã¨ <EM>permesso d'autore</EM> (in inglese <A TITLE="definizione di
-  copyleft (inglese)" LANG="en"
-  HREF="https://www.it.gnu.org/copyleft/copyleft.html"><EM>copyleft</EM></A>):
-  Ã¨ il criterio che prevede che le modifiche ad un programma possano
-  essere distribuite solo con la stessa licenza del programma originale.
-  Le licenze proprietarie usano le norme sul diritto d'autore (copyright
-  in inglese) per togliere libertà agli utenti di un programma; il
-  permesso d'autore usa le stesse norme per garantire quelle libertà e
-  per proteggerle.
-</P>
-<P>
-  La GNU GPL non Ã¨ unica nel suo genere.  Diverse <A TITLE="lista di
-  licenze libere e non"
-  HREF="https://www.it.gnu.org/licenses/license-list.it.html">altre
-  licenze</A> garantiscono le quattro libertà e si possono pertanto
-  qualificare come licenze per il software libero.  Fra queste, merita
-  una speciale menzione per la sua diffusione la <A TITLE="la licenza
-  BSD (in inglese)" LANG="en"
-  HREF="http://www.freebsd.org/copyright/license.html">licenza BSD</A>,
-  la cui principale differenza dalla GPL Ã¨ che, non essendo basata sul
-  permesso d'autore, non ha fra i propri obiettivi quello di proteggere
-  la libertà del software cui Ã¨ applicata.  Chi infatti modifichi un
-  programma protetto da BSD, può distribuirlo con le modifiche usando
-  qualunque licenza.
-</P>
-<P>
-  Sia BSD che GPL hanno pro e contro.  La licenza GPL riflette l'idea
-  della cooperazione: se io concedo ad altri la libertà di modificare e
-  redistribuire il mio programma, costoro sono tenuti a concedere le
-  stesse libertà sulle loro modifiche.  Il problema Ã¨ che alcuni vedono
-  questo vincolo come un'imposizione ingenerosa, se non addirittura una
-  restrizione insopportabile.  La licenza BSD riflette l'idea del dono
-  liberale: chiunque può fare ciò che meglio crede del mio programma.
-  Il problema Ã¨ che questo significa che chiunque può redistribuire
-  anche in forma chiusa con una licenza proprietaria un programma BSD
-  modificato, impedendo così ai propri acquirenti di modificarlo e
-  redistribuirlo a loro volta.
-</P>
-
-<H3><A NAME="miti">
-  Sfatiamo alcuni miti
-</A></H3>
-
-<P>
-<DL>
-
-  <DT>Il software libero Ã¨ gratuito
-
-    <DD>È falso: la libertà del software non ha nulla a che vedere con
-    il suo prezzo.  Benché gran parte del software libero più diffuso
-    sia distribuito gratuitamente, ci sono programmatori che vivono
-    della vendita e della manutenzione dei programmi liberi da loro
-    creati.
-
-  <DT>Il software gratuito Ã¨ libero
-
-    <DD>È falso.  Molti programmi proprietari vengono distribuiti
-    gratuitamente.
-
-  <DT>Il software libero Ã¨ privo di copyright
-
-    <DD>È falso.  Benché si possa rinunciare al copyright su un proprio
-    programma e renderlo così di pubblico dominio, la gran parte del
-    software libero Ã¨ distribuito con una licenza.  Per esempio, sono
-    licenze di copyright la licenza BSD e la GNU GPL, anche se per
-    qualificare quest'ultima spesso si parla di permesso d'autore
-    (copyleft).
-
-  <DT>L'introduzione del software libero nella scuola e nella pubblica
-  amministrazione, ma anche nei paesi poveri, ridurrebbe i costi
-  relativi al software
-
-    <DD>Potrebbe essere vero, ma una seria valutazione dei costi Ã¨ molto
-    difficile.  Qualunque tipo di software, se usato in ambito non
-    domestico, ha dei costi di manutenzione che sono solitamente
-    maggiori del suo prezzo di acquisto.  I motivi per sostenere l'uso
-    del software libero, specie in ambiti pubblici, riguardano anzitutto
-    la libertà, non il prezzo.
-
-<!-- Discorso inadatto ad un documento introduttivo
-  <DT>Chi scrive un programma libero lo deve pubblicare su Internet
-
-    <DD>È una falsa argomentazione spesso usata per scoraggiare
-    un'azienda dall'uso di una licenza libera per i suoi programmi.
-    Sia gli autori che gli acquirenti di un programma libero hanno il
-    diritto di distribuirlo a titolo oneroso o gratuito, ma non hanno
-    alcun obbligo in tal senso.
--->
-
-</DL>
-</P>
-
-<H3><A NAME="oss">
-  Il movimento open source
-</A></H3>
-
-<P>
-  Nel 1998 Bruce Perens, Eric Raymond e altre personalità nel campo del
-  software libero si convinsero che i principi di libertà associati ad
-  esso fossero malvisti nel mondo degli affari, a causa della loro
-  carica ideologica.  Decisero perciò di evitare accuratamente ogni
-  riferimento a considerazioni politiche o di principio, e di lanciare
-  una campagna di promozione del software libero che ne mettesse in luce
-  i numerosi <A TITLE="un discorso di Robert Chassell di FSF"
-  HREF="http://softwarelibero.it/altri/economia-sl.shtml">vantaggi
-  pratici</A>, come la facilità di adattamento, l'affidabilità, la
-  sicurezza, la conformità agli standard, l'indipendenza dai singoli
-  fornitori.  A tal fine scrissero la <Q><A TITLE="la definizione di
-  Open Source (in inglese)" LANG="en"
-  HREF="http://www.opensource.org/docs/definition.html">Open Source
-  Definition</A></Q>, il documento fondamentale del movimento <A
-  TITLE="il sito di Open Source Initiative (OSI), in inglese" LANG="en"
-  HREF="http://opensource.org/"><EM>open source</EM></A>.
-</P>
-<P>
-  Il movimento open source fu un successo, e contribuì a sdoganare il
-  concetto di software libero in campo aziendale, dove era guardato con
-  sospetto o condiscendenza.  Un esempio di questo successo Ã¨
-  l'atteggiamento dell'IBM, l'azienda che ha fatto di gran lunga i
-  maggiori investimenti nel campo del software libero, la quale parla
-  esclusivamente di open source, mai di software libero.
-</P>
-<P>
-  La voluta neutralità del movimento open source verso gli aspetti
-  etici e politici del software libero Ã¨ la caratteristica sostanziale
-  che lo distingue dalla filosofia del software libero, che al contrario
-  pone l'accento sulle motivazioni ideali.  Parlare di software libero
-  piuttosto che di open source Ã¨ una questione politica piuttosto che
-  pratica; i due movimenti concordano infatti sulle licenze considerate
-  accettabili, ed hanno obiettivi e mezzi comuni.
-</P>
-
-<H3><A NAME="impatto">
-  Impatto pratico del software libero
-</A></H3>
-
-<P>
-  La <A TITLE="usi commerciali del software libero, di Alessandro
-  Rubini"
-  HREF="https://www.it.gnu.org/philosophy/software-libre-commercial-viability.it.html">rilevanza
-  economica</A> del software libero Ã¨ ancora molto ridotta, ma Ã¨ in
-  fortissima crescita ormai da alcuni anni, e tutto consente di supporre
-  che tale crescita <A TITLE="prospettive del software libero, gruppo di
-  studio dell'UE"
-  HREF="http://eu.conecta.it/paper/Economics_open_source.html">continui
-  nel prossimo futuro</A>, anche grazie ai <A TITLE="vantaggi del
-  software libero, gruppo di studio UE"
-  HREF="http://eu.conecta.it/paper/Advantages_open_source_soft.html">vantaggi
-  tecnici ed economici</A> del software libero.
-</P>
-<P>
-  Ad oggi, il software libero Ã¨ ampiamente diffuso in ambito accademico,
-  industriale e fra gli appassionati di calcolatori, soprattutto grazie
-  ai sistemi GNU/Linux.  Questi sistemi liberi sono disponibili a costi
-  molto bassi, ben inferiori a quelli di analoghi sistemi proprietari.
-  Tuttavia, a causa delle loro caratteristiche, il loro uso richiede una
-  buona cultura di base nel campo del software.
-</P>
-<P>
-  In ambito accademico viene molto apprezzata la possibilità di
-  personalizzare ogni parte del sistema, visto che i programmi liberi
-  sono liberamente modificabili (libertà numero uno).  In ambito
-  industriale, si apprezza l'affidabilità dei sistemi liberi, dovuta al
-  fatto che quando un utente corregge un errore in un programma
-  solitamente rende disponibile la correzione agli altri utenti (libertà
-  numero tre).  Gli appassionati di calcolatori apprezzano lo spirito di
-  condivisione esistente fra gli utenti di software libero.
-</P>
-<P>
-  Ma le implicazioni dell'uso del software libero non sono soltanto
-  tecniche ed economiche, perché il software da tempo ormai Ã¨ avviato ad
-  occupare un ruolo di primo piano nella nostra vita quotidiana, ed Ã¨
-  destinato a cambiare in maniera profonda la società.
-</P>
-<P>
-  Ãˆ per queste ragioni che la nostra libertà futura dipenderà anche
-  dalla capacità di ognuno di noi di controllare il software.  Ãˆ per
-  queste ragioni che ai tradizionali principi di libertà sessuale, di
-  culto, di movimento, di espressione deve essere affiancata la libertà
-  del software.  Ãˆ per queste ragioni che la nostra libertà futura
-  dipenderà anche dall'uso di software libero.
-</P>
-
-<P>
-  <EM>scritto da <A TITLE="pot@softwarelibero.it"
-  HREF="mailto:pot@softwarelibero.it">Francesco Potortì</A> per l'<A
-  TITLE="il sito dell'Associazione Software Libero"
-  HREF="http://softwarelibero.it/">Associazione Software
-  Libero</A></EM>
-</P>
-<HR NOSHADE>
-<P>
-  Copyright &copy; 2002 Francesco Potortì
-  <BR>
-  Ultima versione ipertestuale disponibile su <A TITLE="versione
-  stampabile"
-  HREF="http://softwarelibero.it/documentazione/softwarelibero.html">&lt;http://softwarelibero.it/documentazione/softwarelibero.html></A>
-</P>
-<P>
-  La copia letterale e integrale e la distribuzione sono permesse con
-  qualsiasi mezzo, a condizione che questa nota sia riprodotta.
-</P>
-
-<!--
-Local variables:
-fill-column: 72
-time-stamp-active: t
-time-stamp-time-zone: "UTC0"
-time-stamp-format: "%:y-%02m-%02d"
-time-stamp-line-limit: 30
-time-stamp-start: "ultima\\s-+modifica\\s-+è\\s-+del\\s-+"
-time-stamp-end: "\\."
-End:
--->
-
-</DIV>
diff --git a/test/manual/etags/lua-src/allegro.lua b/test/manual/etags/lua-src/allegro.lua
deleted file mode 100644 (file)
index c316b6f..0000000
+++ /dev/null
@@ -1,282 +0,0 @@
--- ase -- allegro-sprite-editor: the ultimate sprites factory
--- Copyright (C) 2001-2004 by David A. Capello
---
--- Read "LEGAL.txt" for more information.
-
--- internal routine
-local function get_layer_by_name (sprite, layer, name)
-  if layer.readable == false then
-    return nil;
-  end
-
-  if layer.name and strcmp (layer.name, name) == 0 then
-    return layer;
-  end
-
-  if layer_is_set (layer) then
-    local it, sub;
-
-    it = layer.layers;
-    while it do
-      sub = get_layer_by_name (sprite, it, name)
-      if sub then
-       return sub;
-      end
-      it = it.next
-    end
-  end
-
-  return nil;
-end
-
--- internal routine
-local function count_layers (layer)
-  local count;
-
-  if layer.parent.type == GFXOBJ_SPRITE then
-    count = 0;
-  else
-    count = 1;
-  end
-
-  if layer_is_set (layer) then
-    local it = layer.layers;
-    while it do
-      count = count + count_layers (it);
-      it = it.next;
-    end
-  end
-
-  return count;
-end
-
--- Layer *GetLayerByName (const char *name);
-function GetLayerByName (name)
-  local sprite = current_sprite;
-
-  if sprite and name then
-    return get_layer_by_name (sprite, sprite.set, name);
-  else
-    return nil;
-  end
-end
-
--- const char *GetUniqueLayerName (void);
-function GetUniqueLayerName ()
-  local sprite = current_sprite;
-
-  if sprite then
-    return _("Layer") .. " " .. count_layers (sprite.set);
-  else
-    return nil;
-  end
-end
-
--- void SelectLayer (Layer *layer);
-function SelectLayer (layer)
-  if current_sprite then
-    sprite_set_layer (current_sprite, layer);
-  end
-end
-
--- Layer *NewLayer (const char *name, int x, int y, int w, int h);
--- creates a new layer with the "name" in the current sprite (in the
--- current frame) with the specified position and size (if w=h=0 the
--- routine will use the sprite dimension)
-function NewLayer (name, x, y, w, h)
-  local sprite = current_sprite;
-  local layer = nil;
-  local image, frame, index;
-
-  if sprite and name then
-    if not w or w == 0 then w = sprite.w; end
-    if not h or h == 0 then h = sprite.h; end
-    -- new image
-    image = image_new (sprite.imgtype, w, h);
-    if not image then
-      return nil;
-    end
-
-    -- new layer
-    layer = layer_image_new (sprite.imgtype, w, h);
-    if not layer then
-      image_free (image);
-      return nil;
-    end
-
-    -- clear with mask color
-    image_clear (image, 0);
-
-    -- configure layer name and blend mode
-    layer_set_name (layer, name);
-    layer_set_blend_mode (layer, BLEND_MODE_NORMAL);
-
-    -- add image in the layer stock
-    index = stock_add_image (layer.stock, image);
-
-    -- create frame (XXX in the current frpos? --dacap)
-    frame = frame_new (sprite.frpos, index, x, y, 255);
-
-    -- add frame
-    layer_add_frame (layer, frame);
-
-    -- undo stuff
-    if undo_is_enabled (sprite.undo) then
-      undo_open (sprite.undo);
-      undo_add_layer (sprite.undo, sprite.set, layer);
-      undo_set_layer (sprite.undo, sprite);
-      undo_close (sprite.undo);
-    end
-
-    -- add the layer in the sprite set
-    layer_add_layer (sprite.set, layer);
-
-    -- select the new layer
-    sprite_set_layer (sprite, layer);
-  end
-
-  return layer;
-end
-
--- Layer *NewLayerSet (const char *name);
--- creates a new layer set with the "name" in the current sprite
-function NewLayerSet (name)
-  local sprite = current_sprite;
-  local layer = nil;
-
-  if sprite and name then
-    -- new layer
-    layer = layer_set_new ();
-    if not layer then
-      return nil;
-    end
-
-    -- configure layer name and blend mode
-    layer_set_name (layer, name);
-
-    -- add the layer in the sprite set
-    layer_add_layer (sprite.set, layer);
-
-    -- select the new layer
-    sprite_set_layer (sprite, layer);
-  end
-
-  return layer;
-end
-
--- void RemoveLayer (void);
--- removes the current selected layer
-function RemoveLayer ()
-  local sprite = current_sprite;
-
-  if sprite and sprite.layer then
-    local layer = sprite.layer;
-    local parent = layer.parent;
-    local layer_select;
-
-    -- select: previous layer, or next layer, or parent (if it is not
-    -- the main layer of sprite set)
-    if layer.prev then
-      layer_select = layer.prev;
-    elseif layer.next then
-      layer_select = layer.next;
-    elseif parent != sprite.set then
-      layer_select = parent;
-    else
-      layer_select = nil;
-    end
-
-    -- undo stuff
-    if undo_is_enabled (sprite.undo) then
-      undo_open (sprite.undo);
-      undo_set_layer (sprite.undo, sprite);
-      undo_remove_layer (sprite.undo, layer);
-      undo_close (sprite.undo);
-    end
-
-    -- select other layer
-    sprite_set_layer (sprite, layer_select);
-
-    -- remove the layer
-    layer_remove_layer (parent, layer);
-
-    -- destroy the layer
-    layer_free (layer);
-  end
-end
-
--- void MoveLayerTop (void);
--- moves the current layer in the top of the main set
-function MoveLayerTop ()
-  if current_sprite and current_sprite.layer then
-    local layer = current_sprite.layer;
-
-    layer_remove_layer (layer.parent, layer);
-
-    layer_add_layer (current_sprite.set, layer);
-  end
-end
-
--- void MoveLayerBottom (void);
--- moves the current layer in the bottom of the main set
-function MoveLayerBottom ()
-  if current_sprite and current_sprite.layer then
-    local layer = current_sprite.layer;
-
-    layer_remove_layer (layer.parent, layer);
-
-    layer_add_layer (current_sprite.set, layer);
-    layer_move_layer (current_sprite.set, layer, nil);
-  end
-end
-
--- void MoveLayerBefore (Layer *this_one);
--- moves the current layer above the layer "this_one"
-function MoveLayerBefore (this_one)
-  if current_sprite and current_sprite.layer then
-    local layer = current_sprite.layer;
-    local layer_dest;
-
-    if not this_one then
-      layer_dest = current_sprite.set;
-    else
-      layer_dest = this_one;
-    end
-
-    if layer_dest then
-      layer_remove_layer (layer.parent, layer);
-      layer_add_layer (layer_dest.parent, layer);
-      layer_move_layer (layer_dest.parent, layer, layer_dest);
-    end
-  end
-end
-
--- void MoveLayerAfter (Layer *this_one);
--- moves the current layer below the layer "this_one" (if that layer
--- is a set, the layer is put in the top of the layer set)
-function MoveLayerAfter (this_one)
-  if current_sprite and current_sprite.layer then
-    local layer = current_sprite.layer;
-    local layer_dest;
-
-    if not this_one then
-      layer_dest = current_sprite.set;
-    else
-      layer_dest = this_one;
-    end
-
-    if layer_dest then
-      layer_remove_layer (layer.parent, layer);
-
-      -- insert in the first position of the set
-      if layer_is_set (layer_dest) then
-       layer_add_layer (layer_dest, layer);
-      -- insert below the layer
-      else
-       layer_add_layer (layer_dest.parent, layer);
-       layer_move_layer (layer_dest.parent, layer, layer_dest.prev);
-      end
-    end
-  end
-end
diff --git a/test/manual/etags/lua-src/test.lua b/test/manual/etags/lua-src/test.lua
deleted file mode 100644 (file)
index 405eb5f..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-Rectangle = {}
-function Rectangle.getPos ()
-end
-
-Circle = {}
-function Circle.getPos ()
-end
-
-Cube = {}
-function Cube.data.getFoo ()
-end
-
-Square = {}
-function Square.something:Bar ()
-end
-
--- Comment line
-  -- Indented comment line
-
-test = {}
-
-   function test.me_22a(one, two)
-       print"me_22a"
-   end
-   local function test.me22b (one)
-       print"me_22b"
-   end
-
-
- test.i_123 = function  (x)
-       print"i_123"
-end
-
-
-test.me_12a(1,2)
-test.i_123(1)
diff --git a/test/manual/etags/make-src/Makefile b/test/manual/etags/make-src/Makefile
deleted file mode 100644 (file)
index 016c633..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-LATEST=17
-RELEASELIST=pot@gnu.org xemacs-review@xemacs.org jcwren@jcwren.com sxemacs-devel@sxemacs.org
-
-ADASRC=etags-test-for.ada 2ataspri.adb 2ataspri.ads waroquiers.ada
-ASRC=empty.zz empty.zz.gz
-CSRC=abbrev.c ../etags/h.h .//c.c torture.c getopt.h etags.c\
- exit.c exit.strange_suffix sysdep.h tab.c\
- emacs/src/gmalloc.c emacs/src/regex.h emacs/src/keyboard.c dostorture.c\
- machsyscalls.c machsyscalls.h fail.c a/b/b.c
-CPSRC=c.C abstract.C abstract.H cfront.H burton.cpp burton.cpp\
- functions.cpp MDiagArray2.h Pctest.h Range.h\
- screen.cpp screen.hpp conway.cpp conway.hpp clheir.cpp.gz clheir.hpp.gz fail.C
-ELSRC=TAGTEST.EL emacs/lisp/progmodes/etags.el
-ERLSRC=gs_dialog.erl lines.erl lists.erl
-FORTHSRC=test-forth.fth
-FSRC=entry.for entry.strange_suffix entry.strange
-HTMLSRC=softwarelibero.html index.shtml algrthms.html software.html
-JAVASRC=AWTEMul.java KeyEve.java SMan.java SysCol.java TG.java
-LUASRC=allegro.lua
-MAKESRC=Makefile
-OBJCSRC=Subprocess.h Subprocess.m PackInsp.h PackInsp.m
-OBJCPPSRC=SimpleCalc.H SimpleCalc.M
-PASSRC=common.pas
-PERLSRC=htlmify-cystic yagrip.pl kai-test.pl mirror.pl
-PHPSRC=lce_functions.php ptest.php sendmail.php
-PSSRC=rfc1245.ps
-PROLSRC=ordsets.prolog natded.prolog
-PYTSRC=server.py
-TEXSRC=testenv.tex gzip.texi texinfo.tex nonewline.tex
-YSRC=parse.y parse.c atest.y cccp.c cccp.y
-SRCS=Makefile ${ADASRC} ${ASRC} ${CSRC} ${CPSRC} ${ELSRC} ${ERLSRC} ${FSRC}\
-     ${FORTHSRC} ${HTMLSRC} ${JAVASRC} ${LUASRC} ${MAKESRC} ${OBJCSRC}\
-     ${OBJCPPSRC} ${PASSRC} ${PHPSRC} ${PERLSRC} ${PSSRC} ${PROLSRC} ${PYTSRC}\
-     ${TEXSRC} ${YSRC}
-NONSRCS=entry.strange lists.erl clheir.hpp.gz
-
-VHDLFLAGS=--language=none --regex='/[ \t]*\(ARCHITECTURE\|CONFIGURATION\) +[^ ]* +OF/' --regex='/[ \t]*\(ATTRIBUTE\|ENTITY\|FUNCTION\|PACKAGE\( BODY\)?\|PROCEDURE\|PROCESS\|TYPE\)[ \t]+\([^ \t(]+\)/\3/'
-COBOLFLAGS=--language=none --regex='/.......[a-zA-Z0-9-]+\./'
-POSTSCRIPTFLAGS=--language=none --regex='#/[^ \t{]+#'
-TCLFLAGS=--lang=none --regex='/proc[ \t]+\([^ \t]+\)/\1/'
-
-GETOPTOBJS= #getopt.o getopt1.o
-RXINCLUDE=-Iemacs/src
-REGEXOBJS=regex.o
-
-CHECKOBJS=chkmalloc.o chkxm.o
-CHECKFLAGS=-DDEBUG -Wno-unused-function
-OBJS=${GETOPTOBJS} ${REGEXOBJS} ${CHECKOBJS}
-CPPFLAGS=${CHECKFLAGS} -DSTDC_HEADERS -DHAVE_GETCWD ${RXINCLUDE} -I.
-LDFLAGS=#-static -lc_p
-WARNINGS=-pedantic -Wall -Wpointer-arith -Winline -Wmissing-prototypes -Wmissing-declarations -Wunused -Wformat -Wno-switch -Wsign-compare -Wpointer-arith -Wshadow -Wstrict-prototypes
-CFLAGS=${WARNINGS} -ansi -g3 # -pg -O
-#CC=gcc-3.0
-#TARGET_ARCH=
-FASTCFLAGS=-O3 -finline-functions -ffast-math -funroll-loops
-FASTCFLAGSWARN=${WARNINGS} -Werror ${FASTCFLAGS}
-
-FILTER=grep -v '\.[Cchefy][lor]*,[1-9][0-9]*' || true
-REGEX=/[ \t]*DEFVAR_[A-Z_ \t\n(]+"\([^"]+\)"/
-xx="this line is here because of a fontlock bug
-
-MAKE:=$(MAKE) --no-print-directory
-RUN=time --quiet --format '%U + %S: %E'
-RUN=
-OPTIONS=--members --declarations --regex=@regexfile
-ARGS=- < srclist
-
-infiles = $(filter-out ${NONSRCS},${SRCS}) srclist regexfile
-
-quiettest:
-       @rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc
-       @-$(MAKE) OPTIONS='--no-members' ${LATEST}ediff
-       @-$(MAKE) OPTIONS='--declarations --no-members' ${LATEST}ediff
-       @-$(MAKE) OPTIONS='--members' ${LATEST}ediff
-       @-$(MAKE) OPTIONS='--regex=@regexfile --no-members' ${LATEST}ediff
-       @-$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ${LATEST}ediff
-       @-$(MAKE) ${LATEST}cdiff
-
-test:
-       @rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc
-       @$(MAKE) OPTIONS='--no-members' ${LATEST}ediff
-       @$(MAKE) OPTIONS='--declarations --no-members' ${LATEST}ediff
-       @$(MAKE) OPTIONS='--members' ${LATEST}ediff
-       @$(MAKE) OPTIONS='--regex=@regexfile --no-members' ${LATEST}ediff
-       @$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ${LATEST}ediff
-       @$(MAKE) ${LATEST}cdiff
-
-${CHECKOBJS}: CFLAGS=-g3 -DNULLFREECHECK=0
-
-checker:
-       @rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc ${REGEXOBJS}
-       @env CHECKEROPTS="--trace --profile --Wfree-null" \
-       $(MAKE) CFLAGS= CHECKOBJS= CHECKFLAGS= CC=checkergcc ${LATEST}ediff
-       rm -f $REGEXOBJS
-
-standalone:
-       rm -f etags ctags
-       @$(MAKE) etags "CPPFLAGS=-UVERSION"
-       @$(MAKE) ctags "CPPFLAGS=-UVERSION"
-
-prof: ETAGS
-       prof -xgs etags
-
-fastetags:
-       rm -f etags ${GETOPTOBJS} ${REGEXOBJS}
-       @$(MAKE) CHECKOBJS= CHECKFLAGS= etags "CFLAGS=-ansi ${FASTCFLAGSWARN}"
-
-fastctags:
-       rm -f ctags ${GETOPTOBJS} ${REGEXOBJS}
-       @$(MAKE) CHECKOBJS= CHECKFLAGS= ctags "CFLAGS=-ansi ${FASTCFLAGSWARN}"
-
-staticetags:
-       rm -f etags ${GETOPTOBJS} ${REGEXOBJS}
-       @$(MAKE) etags CHECKOBJS= CHECKFLAGS= REGEXOBJS= GETOPTOBJS= RXINCLUDE= "CFLAGS=${FASTCFLAGSWARN} -static"
-
-rsynctofly:
-       rsync --exclude "*~" --exclude core --exclude etags -zauRv . fly:gnu/etags/
-
-rsyncfromfly:
-       rsync --exclude "*~" --exclude core --exclude etags -zauRv fly:gnu/etags/ ../..
-
-web ftp publish:
-       @-printf '\ttesting with debugging enabled...\n'; $(MAKE) quiettest
-       @-printf '\ttesting standalone...\n'; $(MAKE) standalone quiettest
-       @-printf '\ttesting fast versions...\n'; $(MAKE) fastetags fastctags quiettest
-       @$(MAKE) /home/www/pub/etags.c.gz
-       @$(MAKE) /home/www/pub/software/unix/etags.tar.gz
-
-release distrib: web
-       cat xemacs-mail | /usr/sbin/sendmail -f pot@gnu.org ${RELEASELIST}
-       mv etags etags${LATEST}
-       mv ctags ctags${LATEST}
-
-tags: TAGS
-
-clean:
-       rm -f ${OBJS} etags ETAGS
-
-srclist: Makefile
-       @for i in $(SRCS); do echo $$i; done > srclist
-       @echo srclist remade
-
-regexfile: Makefile
-       @echo ' -- This is for GNU Emacs source files' > regexfile
-       @echo '${REGEX}' >> regexfile
-       @echo '{c}${REGEX}\\1/m' >> regexfile
-       @echo regexfile remade
-
-/home/www/pub/etags.c.gz: etags.c
-       co -kv etags.c
-       gzip --best -c etags.c > $@
-
-#/home/www/pub/software/unix/etags.tar.gz: Makefile staticetags etags.1.man ETAGS.EBNF ETAGS.README
-#      tar -hzcf $@ COPYING ChangeLog ETAGS.EBNF etags.c etags.1 etags.1.man etags
-
-/home/www/pub/software/unix/etags.tar.gz: Makefile etags.1.man ETAGS.EBNF ETAGS.README maintaining.texi
-       tar -hzcf $@ COPYING ChangeLog ETAGS.EBNF ETAGS.README etags.c etags.1 etags.1.man maintaining.texi
-
-regex.o: emacs/src/regex.c
-       $(CC) ${FASTCFLAGS} -c $?
-
-getopt.o: emacs/lib-src/getopt.c
-       $(CC) ${FASTCFLAGS} -c $?
-
-getopt1.o: emacs/lib-src/getopt1.c
-       $(CC) ${FASTCFLAGS} -c $?
-
-etags: etags.c ${OBJS}
-       $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o etags etags.c ${OBJS}
-
-ctags: etags.c ${OBJS}
-       $(CC) $(CFLAGS) $(CPPFLAGS) -DCTAGS $(LDFLAGS) -o ctags etags.c ${OBJS}
-
-man manpage: etags.1.man
-
-etags.1.man: etags.1
-       nroff -man -Tman etags.1 > $@
-
-maintaining.info: maintaining.texi
-       makeinfo --force --no-split maintaining.texi
-
-TAGS: etags.c
-       etags etags.c
-
-%ediff: ETAGS% ETAGS ${infiles}
-       sdiff --suppress-common-lines --width=103 ETAGS$* ETAGS
-
-oediff: OTAGS ETAGS ${infiles}
-       sdiff --suppress-common-lines --width=103 OTAGS ETAGS
-
-%cdiff: CTAGS% CTAGS ${infiles}
-       sdiff --suppress-common-lines --width=103 CTAGS$* CTAGS
-
-xdiff: ETAGS EXTAGS ${infiles}
-       sdiff --suppress-common-lines --width=103 ETAGS EXTAGS
-
-ETAGS: FRC etags ${infiles}
-       ${RUN} ./etags ${OPTIONS} -o $@ ${ARGS}
-
-ETAGS%: FRC etags% ${infiles}
-       ${RUN} etags$* ${OPTIONS} -o $@ ${ARGS}
-
-ETAGS13 ETAGS14 ETAGS15: etags% ${infiles}
-       TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=@regexfile} -o $@ ${ARGS}
-
-ETAGS12: etags12 ${infiles}
-       ${RUN} etags12 --members -o $@ --regex='${REGEX}' ${ARGS}
-
-OTAGS: oetags ${SRCS} srclist
-       ${RUN} ./oetags -o $@ -t ${ARGS}
-
-CTAGS: ctags ${infiles}
-       ${RUN} ./ctags -o $@ --regex=@regexfile ${ARGS}
-
-CTAGS%: ctags% ${infiles}
-       ${RUN} ctags$* -wtTd --globals --members -o $@ --regex=@regexfile ${ARGS}
-
-CTAGS13 CTAGS14 CTAGS15: ctags% ${infiles}
-       TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex='${REGEX}' ${ARGS}
-
-EXTAGS: extags ${infiles} Makefile
-       ${RUN} ./extags -e --regex-c='${REGEX}' --c++-types=+x --c-types=+x --if0=yes --line-directives=yes -o $@ -L - < srclist
-
-.PRECIOUS: ETAGS CTAGS ETAGS16 CTAGS16 ETAGS17 CTAGS17
-
-FRC:;
diff --git a/test/manual/etags/merc-src/accumulator.m b/test/manual/etags/merc-src/accumulator.m
deleted file mode 100644 (file)
index 0ee4121..0000000
+++ /dev/null
@@ -1,1962 +0,0 @@
-%---------------------------------------------------------------------------%
-% vim: ft=mercury ts=4 sw=4 et
-%---------------------------------------------------------------------------%
-% Copyright (C) 1999-2000,2002-2007, 2009-2012 The University of Melbourne.
-% Copyright (C) 2015 The Mercury team.
-% This file may only be copied under the terms of the GNU General
-% Public License - see the file COPYING in the Mercury distribution.
-%---------------------------------------------------------------------------%
-%
-% Module: accumulator.m.
-% Main authors: petdr.
-%
-% Attempts to transform a single proc to a tail recursive form by
-% introducing accumulators. The algorithm can do this if the code after
-% the recursive call has either the order independent state update or
-% associative property.
-%
-% /* Order independent State update property */
-% :- promise all [A,B,S0,S]
-%   (
-%       (some[SA] (update(A, S0, SA), update(B, SA, S)))
-%   <=>
-%       (some[SB] (update(B, S0, SB), update(A, SB, S)))
-%   ).
-%
-% /* Associativity property */
-% :- promise all [A,B,C,ABC]
-%   (
-%       (some[AB] (assoc(A, B, AB), assoc(AB, C, ABC)))
-%   <=>
-%       (some[BC] (assoc(B, C, BC), assoc(A, BC, ABC)))
-%   ).
-%
-% XXX What about exceptions and non-termination?
-%
-% The promise declarations above only provide promises about the declarative
-% semantics, but in order to apply this optimization, we ought to check that
-% it will preserve the operational semantics (modulo whatever changes are
-% allowed by the language semantics options).
-%
-% Currently we check and respect the --fully-strict option, but not the
-% --no-reorder-conj option. XXX we should check --no-reorder-conj!
-% If --no-reorder-conj was set, it would still be OK to apply this
-% transformation, but ONLY in cases where the goals which get reordered
-% are guaranteed not to throw any exceptions.
-%
-% The algorithm implemented is a combination of the algorithms from
-% "Making Mercury Programs Tail Recursive" and
-% "State Update Transformation", which can be found at
-% <http://www.cs.mu.oz.au/research/mercury/information/papers.html>.
-%
-% Note that currently "State Update Transformation" paper only resides
-% in CVS papers archive in the directory update, but has been submitted
-% to PPDP '00.
-%
-% The transformation recognises predicates in the form
-%
-% p(In, OutUpdate, OutAssoc) :-
-%   minimal(In),
-%   initialize(OutUpdate),
-%   base(OutAssoc).
-% p(In, OutUpdate, OutAssoc) :-
-%   decompose(In, Current, Rest),
-%   p(Rest, OutUpdate0, OutAssoc0),
-%   update(Current, OutUpdate0, OutUpdate),
-%   assoc(Current, OutAssoc0, OutAssoc).
-%
-% which can be transformed by the algorithm in "State Update Transformation" to
-%
-% p(In, OutUpdate, OutAssoc) :-
-%   initialize(AccUpdate),
-%   p_acc(In, OutUpdate, OutAssoc, AccUpdate).
-%
-% p_acc(In, OutUpdate, OutAssoc, AccUpdate) :-
-%   minimal(In),
-%   base(OutAssoc),
-%   OutUpdate = AccUpdate.
-% p_acc(In, OutUpdate, OutAssoc, AccUpdate0) :-
-%   decompose(In, Current, Rest),
-%   update(Current, AccUpdate0, AccUpdate),
-%   p_acc(Rest, OutUpdate, OutAssoc0, AccUpdate),
-%   assoc(Current, OutAssoc0, OutAssoc).
-%
-% we then apply the algorithm from "Making Mercury Programs Tail Recursive"
-% to p_acc to obtain
-%
-% p_acc(In, OutUpdate, OutAssoc, AccUpdate) :-
-%   minimal(In),
-%   base(OutAssoc),
-%   OutUpdate = AccUpdate.
-% p_acc(In, OutUpdate, OutAssoc, AccUpdate0) :-
-%   decompose(In, Current, Rest),
-%   update(Current, AccUpdate0, AccUpdate),
-%   p_acc2(Rest, OutUpdate, OutAssoc, AccUpdate, Current).
-%
-% p_acc2(In, OutUpdate, OutAssoc, AccUpdate0, AccAssoc0) :-
-%   minimal(In),
-%   base(Base),
-%   assoc(AccAssoc0, Base, OutAssoc),
-%   OutUpdate = AccUpdate0.
-% p_acc2(In, OutUpdate, OutAssoc, AccUpdate0, AccAssoc0) :-
-%   decompose(In, Current, Rest),
-%   update(Current, AccUpdate0, AccUpdate),
-%   assoc(AccAssoc0, Current, AccAssoc),
-%   p_acc2(Rest, OutUpdate, OutAssoc, AccUpdate, AccAssoc).
-%
-% p_acc is no longer recursive and is only ever called from p, so we
-% inline p_acc into p to obtain the final schema.
-%
-% p(In, OutUpdate, OutAssoc) :-
-%   minimal(In),
-%   base(OutAssoc),
-%   initialize(AccUpdate),
-%   OutUpdate = AccUpdate.
-% p(In, OutUpdate, OutAssoc) :-
-%   decompose(In, Current, Rest),
-%   initialize(AccUpdate0),
-%   update(Current, AccUpdate0, AccUpdate),
-%   p_acc2(Rest, OutUpdate, OutAssoc, AccUpdate, Current).
-%
-% p_acc2(In, OutUpdate, OutAssoc, AccUpdate0, AccAssoc0) :-
-%   minimal(In),
-%   base(Base),
-%   assoc(AccAssoc0, Base, OutAssoc),
-%   OutUpdate = AccUpdate0.
-% p_acc2(In, OutUpdate, OutAssoc, AccUpdate0, AccAssoc0) :-
-%   decompose(In, Current, Rest),
-%   update(Current, AccUpdate0, AccUpdate),
-%   assoc(AccAssoc0, Current, AccAssoc),
-%   p_acc2(Rest, OutUpdate, OutAssoc, AccUpdate, AccAssoc).
-%
-% The only real difficulty in this new transformation is identifying the
-% initialize/1 and base/1 goals from the original base case.
-%
-% Note that if the recursive clause contains multiple calls to p, the
-% transformation attempts to move each recursive call to the end
-% until one succeeds. This makes the order of independent recursive
-% calls in the body irrelevant.
-%
-% XXX Replace calls to can_reorder_goals with calls to the version that
-% use the intermodule-analysis framework.
-%
-%---------------------------------------------------------------------------%
-
-:- module transform_hlds.accumulator.
-:- interface.
-
-:- import_module hlds.
-:- import_module hlds.hlds_module.
-:- import_module hlds.hlds_pred.
-
-:- import_module univ.
-
-    % Attempt to transform a procedure into accumulator recursive form.
-    % If we succeed, we will add the recursive version of the procedure
-    % to the module_info. However, we may also encounter errors, which
-    % we will add to the list of error_specs in the univ accumulator.
-    %
-:- pred accu_transform_proc(pred_proc_id::in, pred_info::in,
-    proc_info::in, proc_info::out, module_info::in, module_info::out,
-    univ::in, univ::out) is det.
-
-%---------------------------------------------------------------------------%
-%---------------------------------------------------------------------------%
-
-:- implementation.
-
-:- import_module hlds.assertion.
-:- import_module hlds.goal_util.
-:- import_module hlds.hlds_error_util.
-:- import_module hlds.hlds_goal.
-:- import_module hlds.hlds_out.
-:- import_module hlds.hlds_out.hlds_out_util.
-:- import_module hlds.hlds_promise.
-:- import_module hlds.instmap.
-:- import_module hlds.pred_table.
-:- import_module hlds.quantification.
-:- import_module hlds.status.
-:- import_module hlds.vartypes.
-:- import_module libs.
-:- import_module libs.globals.
-:- import_module libs.optimization_options.
-:- import_module libs.options.
-:- import_module mdbcomp.
-:- import_module mdbcomp.sym_name.
-:- import_module parse_tree.
-:- import_module parse_tree.error_util.
-:- import_module parse_tree.prog_data.
-:- import_module parse_tree.prog_mode.
-:- import_module parse_tree.prog_util.
-:- import_module parse_tree.set_of_var.
-:- import_module transform_hlds.goal_store.
-
-:- import_module assoc_list.
-:- import_module bool.
-:- import_module int.
-:- import_module io.
-:- import_module list.
-:- import_module map.
-:- import_module maybe.
-:- import_module pair.
-:- import_module require.
-:- import_module set.
-:- import_module solutions.
-:- import_module string.
-:- import_module term.
-:- import_module varset.
-
-%---------------------------------------------------------------------------%
-
-    % The form of the goal around the base and recursive cases.
-    %
-:- type top_level
-    --->    switch_base_rec
-    ;       switch_rec_base
-    ;       disj_base_rec
-    ;       disj_rec_base
-    ;       ite_base_rec
-    ;       ite_rec_base.
-
-    % An accu_goal_id represents a goal. The first field says which conjunction
-    % the goal came from (the base case or the recursive case), and the second
-    % gives the location of the goal in that conjunction.
-    %
-:- type accu_goal_id
-    --->    accu_goal_id(accu_case, int).
-
-:- type accu_case
-    --->    accu_base
-    ;       accu_rec.
-
-    % The goal_store associates a goal with each goal_id.
-    %
-:- type accu_goal_store == goal_store(accu_goal_id).
-
-    % A substitution from the first variable name to the second.
-    %
-:- type accu_subst == map(prog_var, prog_var).
-
-:- type accu_warning
-    --->    accu_warn(prog_context, pred_id, prog_var, prog_var).
-            % Warn that two prog_vars in a call to pred_id at the given context
-            % were swapped, which may cause an efficiency problem.
-
-%---------------------------------------------------------------------------%
-
-accu_transform_proc(proc(PredId, ProcId), PredInfo, !ProcInfo, !ModuleInfo,
-        !Cookie) :-
-    module_info_get_globals(!.ModuleInfo, Globals),
-    globals.get_opt_tuple(Globals, OptTuple),
-    DoLCMC = OptTuple ^ ot_opt_lcmc_accumulator,
-    globals.lookup_bool_option(Globals, fully_strict, FullyStrict),
-    ( if
-        should_attempt_accu_transform(!ModuleInfo, PredId, ProcId, PredInfo,
-            !ProcInfo, FullyStrict, DoLCMC, Warnings)
-    then
-        globals.lookup_bool_option(Globals, very_verbose, VeryVerbose),
-        (
-            VeryVerbose = yes,
-            trace [io(!IO)] (
-                module_info_get_name(!.ModuleInfo, ModuleName),
-                get_progress_output_stream(Globals, ModuleName,
-                    ProgressStream, !IO),
-                PredStr = pred_id_to_string(!.ModuleInfo, PredId),
-                io.format(ProgressStream,
-                    "%% Accumulators introduced into %s\n", [s(PredStr)], !IO)
-            )
-        ;
-            VeryVerbose = no
-        ),
-
-        (
-            Warnings = []
-        ;
-            Warnings = [_ | _],
-            pred_info_get_context(PredInfo, Context),
-            PredPieces = describe_one_pred_name(!.ModuleInfo,
-                should_module_qualify, PredId),
-            InPieces = [words("In") | PredPieces] ++ [suffix(":"), nl],
-            InMsg = simple_msg(Context,
-                [option_is_set(warn_accumulator_swaps, yes,
-                    [always(InPieces)])]),
-
-            proc_info_get_varset(!.ProcInfo, VarSet),
-            generate_warnings(!.ModuleInfo, VarSet, Warnings, WarnMsgs),
-            (
-                Warnings = [_],
-                EnsurePieces = [words("Please ensure that this"),
-                    words("argument rearrangement does not introduce"),
-                    words("performance problems.")]
-            ;
-                Warnings = [_, _ | _],
-                EnsurePieces = [words("Please ensure that these"),
-                    words("argument rearrangements do not introduce"),
-                    words("performance problems.")]
-            ),
-            SuppressPieces =
-                [words("These warnings can be suppressed by"),
-                quote("--no-warn-accumulator-swaps"), suffix(".")],
-            VerbosePieces = [words("If a predicate has been declared"),
-                words("associative"),
-                words("via a"), quote("promise"), words("declaration,"),
-                words("the compiler will rearrange the order of"),
-                words("the arguments in calls to that predicate,"),
-                words("if by so doing it makes the containing predicate"),
-                words("tail recursive. In such situations, the compiler"),
-                words("will issue this warning. If this reordering"),
-                words("changes the performance characteristics"),
-                words("of the call to the predicate, use"),
-                quote("--no-accumulator-introduction"),
-                words("to turn the optimization off, or "),
-                quote("--no-warn-accumulator-swaps"),
-                words("to turn off the warnings.")],
-            EnsureSuppressMsg = simple_msg(Context,
-                [option_is_set(warn_accumulator_swaps, yes,
-                    [always(EnsurePieces), always(SuppressPieces)]),
-                verbose_only(verbose_once, VerbosePieces)]),
-            Severity = severity_conditional(warn_accumulator_swaps, yes,
-                severity_warning, no),
-            Msgs = [InMsg | WarnMsgs] ++ [EnsureSuppressMsg],
-            Spec = error_spec($pred, Severity, phase_accumulator_intro, Msgs),
-
-            det_univ_to_type(!.Cookie, Specs0),
-            Specs = [Spec | Specs0],
-            type_to_univ(Specs, !:Cookie)
-        )
-    else
-        true
-    ).
-
-%---------------------------------------------------------------------------%
-%---------------------------------------------------------------------------%
-
-:- pred generate_warnings(module_info::in, prog_varset::in,
-    list(accu_warning)::in, list(error_msg)::out) is det.
-
-generate_warnings(_, _, [], []).
-generate_warnings(ModuleInfo, VarSet, [Warning | Warnings], [Msg | Msgs]) :-
-    generate_warning(ModuleInfo, VarSet, Warning, Msg),
-    generate_warnings(ModuleInfo, VarSet, Warnings, Msgs).
-
-:- pred generate_warning(module_info::in, prog_varset::in, accu_warning::in,
-    error_msg::out) is det.
-
-generate_warning(ModuleInfo, VarSet, Warning, Msg) :-
-    Warning = accu_warn(Context, PredId, VarA, VarB),
-    PredPieces = describe_one_pred_name(ModuleInfo, should_module_qualify,
-        PredId),
-
-    varset.lookup_name(VarSet, VarA, VarAName),
-    varset.lookup_name(VarSet, VarB, VarBName),
-
-    Pieces = [words("warning: the call to")] ++ PredPieces ++
-        [words("has had the location of the variables"),
-        quote(VarAName), words("and"), quote(VarBName),
-        words("swapped to allow accumulator introduction."), nl],
-    Msg = simplest_msg(Context, Pieces).
-
-%---------------------------------------------------------------------------%
-%---------------------------------------------------------------------------%
-
-    % should_attempt_accu_transform is only true iff the current proc
-    % has been transformed to call the newly created accumulator proc.
-    %
-:- pred should_attempt_accu_transform(module_info::in, module_info::out,
-    pred_id::in, proc_id::in, pred_info::in, proc_info::in, proc_info::out,
-    bool::in, maybe_opt_lcmc_accumulator::in,
-    list(accu_warning)::out) is semidet.
-
-should_attempt_accu_transform(!ModuleInfo, PredId, ProcId, PredInfo,
-        !ProcInfo, FullyStrict, DoLCMC, Warnings) :-
-    proc_info_get_goal(!.ProcInfo, Goal0),
-    proc_info_get_headvars(!.ProcInfo, HeadVars),
-    proc_info_get_initial_instmap(!.ModuleInfo, !.ProcInfo, InitialInstMap),
-    accu_standardize(Goal0, Goal),
-    identify_goal_type(PredId, ProcId, Goal, InitialInstMap,
-        TopLevel, Base, BaseInstMap, Rec, RecInstMap),
-
-    C = initialize_goal_store(Rec, RecInstMap, Base, BaseInstMap),
-    identify_recursive_calls(PredId, ProcId, C, RecCallIds),
-    list.length(Rec, M),
-
-    should_attempt_accu_transform_2(!ModuleInfo, PredId, PredInfo, !ProcInfo,
-        HeadVars, InitialInstMap, TopLevel, FullyStrict, DoLCMC,
-        RecCallIds, C, M, Rec, Warnings).
-
-    % should_attempt_accu_transform_2 takes a list of locations of the
-    % recursive calls, and attempts to introduce accumulator into each of the
-    % recursive calls, stopping at the first one that succeeds.
-    % This catches the following case, as selecting the first recursive call
-    % allows the second recursive call to be moved before it, and
-    % OutA is in the correct spot in list.append.
-    %
-    %   p(InA, OutA),
-    %   p(InB, OutB),
-    %   list.append(OutB, OutA, Out)
-    %
-:- pred should_attempt_accu_transform_2(module_info::in, module_info::out,
-    pred_id::in, pred_info::in, proc_info::in, proc_info::out,
-    list(prog_var)::in, instmap::in, top_level::in, bool::in,
-    maybe_opt_lcmc_accumulator::in,
-    list(accu_goal_id)::in, accu_goal_store::in, int::in, list(hlds_goal)::in,
-    list(accu_warning)::out) is semidet.
-
-should_attempt_accu_transform_2(!ModuleInfo, PredId, PredInfo, !ProcInfo,
-        HeadVars, InitialInstMap, TopLevel, FullyStrict, DoLCMC,
-        [Id | Ids], C, M, Rec, Warnings) :-
-    proc_info_get_vartypes(!.ProcInfo, VarTypes0),
-    identify_out_and_out_prime(!.ModuleInfo, VarTypes0, InitialInstMap,
-        Id, Rec, HeadVars, Out, OutPrime, HeadToCallSubst, CallToHeadSubst),
-    ( if
-        accu_stage1(!.ModuleInfo, VarTypes0, FullyStrict, DoLCMC, Id, M, C,
-            Sets),
-        accu_stage2(!.ModuleInfo, !.ProcInfo, Id, C, Sets, OutPrime, Out,
-            VarSet, VarTypes, Accs, BaseCase, BasePairs, Substs, CS,
-            WarningsPrime),
-        accu_stage3(Id, Accs, VarSet, VarTypes, C, CS, Substs,
-            HeadToCallSubst, CallToHeadSubst, BaseCase, BasePairs, Sets, Out,
-            TopLevel, PredId, PredInfo, !ProcInfo, !ModuleInfo)
-    then
-        Warnings = WarningsPrime
-    else
-        should_attempt_accu_transform_2(!ModuleInfo, PredId, PredInfo,
-            !ProcInfo, HeadVars, InitialInstMap, TopLevel, FullyStrict, DoLCMC,
-            Ids, C, M, Rec, Warnings)
-    ).
-
-%---------------------------------------------------------------------------%
-%---------------------------------------------------------------------------%
-
-    % Transform the goal into a standard form that is amenable to
-    % introducing accumulators.
-    %
-    % At the moment all this does is remove any extra disj/conj wrappers
-    % around the top level goal.
-    %
-    % Future work is for this code to rearrange code with multiple base
-    % and recursive cases into a single base and recursive case.
-    %
-:- pred accu_standardize(hlds_goal::in, hlds_goal::out) is det.
-
-accu_standardize(Goal0, Goal) :-
-    ( if
-        Goal0 = hlds_goal(GoalExpr0, _),
-        (
-            GoalExpr0 = conj(plain_conj, [Goal1])
-        ;
-            GoalExpr0 = disj([Goal1])
-        )
-    then
-        accu_standardize(Goal1, Goal)
-    else
-        Goal = Goal0
-    ).
-
-%---------------------------------------------------------------------------%
-%---------------------------------------------------------------------------%
-
-    % This predicate takes the original goal and identifies the `shape'
-    % of the goal around the recursive and base cases.
-    %
-    % Note that the base case can contain a recursive call, as the
-    % transformation doesn't depend on what is in the base case.
-    %
-:- pred identify_goal_type(pred_id::in, proc_id::in, hlds_goal::in,
-    instmap::in, top_level::out, list(hlds_goal)::out, instmap::out,
-    list(hlds_goal)::out, instmap::out) is semidet.
-
-identify_goal_type(PredId, ProcId, Goal, InitialInstMap, Type,
-        Base, BaseInstMap, Rec, RecInstMap) :-
-    Goal = hlds_goal(GoalExpr, _GoalInfo),
-    (
-        GoalExpr = switch(_Var, _CanFail, Cases),
-        ( if
-            Cases = [case(_IdA, [], GoalA), case(_IdB, [], GoalB)],
-            goal_to_conj_list(GoalA, GoalAList),
-            goal_to_conj_list(GoalB, GoalBList)
-        then
-            ( if is_recursive_case(GoalAList, proc(PredId, ProcId)) then
-                Type = switch_rec_base,
-                Base = GoalBList,
-                Rec = GoalAList
-            else if is_recursive_case(GoalBList, proc(PredId, ProcId)) then
-                Type = switch_base_rec,
-                Base = GoalAList,
-                Rec = GoalBList
-            else
-                fail
-            ),
-            BaseInstMap = InitialInstMap,
-            RecInstMap = InitialInstMap
-        else
-            fail
-        )
-    ;
-        GoalExpr = disj(Goals),
-        ( if
-            Goals = [GoalA, GoalB],
-            goal_to_conj_list(GoalA, GoalAList),
-            goal_to_conj_list(GoalB, GoalBList)
-        then
-            ( if is_recursive_case(GoalAList, proc(PredId, ProcId)) then
-                Type = disj_rec_base,
-                Base = GoalBList,
-                Rec = GoalAList
-            else if is_recursive_case(GoalBList, proc(PredId, ProcId)) then
-                Type = disj_base_rec,
-                Base = GoalAList,
-                Rec = GoalBList
-            else
-                fail
-            ),
-            BaseInstMap = InitialInstMap,
-            RecInstMap = InitialInstMap
-        else
-            fail
-        )
-    ;
-        GoalExpr = if_then_else(_Vars, Cond, Then, Else),
-        Cond = hlds_goal(_CondGoalExpr, CondGoalInfo),
-        CondInstMapDelta = goal_info_get_instmap_delta(CondGoalInfo),
-
-        goal_to_conj_list(Then, GoalAList),
-        goal_to_conj_list(Else, GoalBList),
-        ( if is_recursive_case(GoalAList, proc(PredId, ProcId)) then
-            Type = ite_rec_base,
-            Base = GoalBList,
-            Rec = GoalAList,
-
-            BaseInstMap = InitialInstMap,
-            apply_instmap_delta(CondInstMapDelta, InitialInstMap, RecInstMap)
-        else if is_recursive_case(GoalBList, proc(PredId, ProcId)) then
-            Type = ite_base_rec,
-            Base = GoalAList,
-            Rec = GoalBList,
-
-            RecInstMap = InitialInstMap,
-            apply_instmap_delta(CondInstMapDelta, InitialInstMap, BaseInstMap)
-        else
-            fail
-        )
-    ).
-
-    % is_recursive_case(Gs, Id) is true iff the list of goals, Gs,
-    % contains a call to the procedure specified by Id, where the call
-    % is located in a position that can be used by the transformation
-    % (i.e. not hidden in a compound goal).
-    %
-:- pred is_recursive_case(list(hlds_goal)::in, pred_proc_id::in) is semidet.
-
-is_recursive_case(Goals, proc(PredId, ProcId)) :-
-    list.append(_Initial, [RecursiveCall | _Final], Goals),
-    RecursiveCall = hlds_goal(plain_call(PredId, ProcId, _, _, _, _), _).
-
-%---------------------------------------------------------------------------%
-%---------------------------------------------------------------------------%
-
-    % The store info is folded over the list of goals which
-    % represent the base and recursive case conjunctions.
-:- type store_info
-    --->    store_info(
-                store_loc       :: int,
-                                % The location of the goal in the conjunction.
-                store_instmap   :: instmap,
-                store_goals     :: accu_goal_store
-            ).
-
-    % Initialise the goal_store, which will hold the C_{a,b} goals.
-    %
-:- func initialize_goal_store(list(hlds_goal), instmap,
-    list(hlds_goal), instmap) = accu_goal_store.
-
-initialize_goal_store(Rec, RecInstMap, Base, BaseInstMap) = C :-
-    goal_store_init(C0),
-    list.foldl3(accu_store(accu_rec), Rec,
-        1, _, RecInstMap, _, C0, C1),
-    list.foldl3(accu_store(accu_base), Base,
-        1, _, BaseInstMap, _, C1, C).
-
-:- pred accu_store(accu_case::in, hlds_goal::in,
-    int::in, int::out, instmap::in, instmap::out,
-    accu_goal_store::in, accu_goal_store::out) is det.
-
-accu_store(Case, Goal, !N, !InstMap, !GoalStore) :-
-    Id = accu_goal_id(Case, !.N),
-    goal_store_det_insert(Id, stored_goal(Goal, !.InstMap), !GoalStore),
-
-    !:N = !.N + 1,
-    Goal = hlds_goal(_, GoalInfo),
-    InstMapDelta = goal_info_get_instmap_delta(GoalInfo),
-    apply_instmap_delta(InstMapDelta, !InstMap).
-
-%---------------------------------------------------------------------------%
-%---------------------------------------------------------------------------%
-
-    % Determine the k's which are recursive calls.
-    % Note that this doesn't find recursive calls which are `hidden'
-    % in compound goals, this is not a problem as currently we can't use
-    % these to do transformation.
-    %
-:- pred identify_recursive_calls(pred_id::in, proc_id::in,
-    accu_goal_store::in, list(accu_goal_id)::out) is det.
-
-identify_recursive_calls(PredId, ProcId, GoalStore, Ids) :-
-    P =
-        ( pred(Key::out) is nondet :-
-            goal_store_member(GoalStore, Key, stored_goal(Goal, _InstMap)),
-            Key = accu_goal_id(accu_rec, _),
-            Goal = hlds_goal(plain_call(PredId, ProcId, _, _, _, _), _)
-        ),
-    solutions.solutions(P, Ids).
-
-%---------------------------------------------------------------------------%
-%---------------------------------------------------------------------------%
-
-    % Determine the variables which are members of the sets Out and Out',
-    % and initialize the substitutions between the two sets.
-    %
-    % This is done by identifying those variables whose instantiatedness change
-    % in the goals after the recursive call and are headvars.
-    %
-    % Note that we are only identifying the output variables which will need
-    % to be accumulated, as there may be other output variables which are
-    % produced prior to the recursive call.
-    %
-:- pred identify_out_and_out_prime(module_info::in, vartypes::in, instmap::in,
-    accu_goal_id::in, list(hlds_goal)::in,
-    list(prog_var)::in, list(prog_var)::out, list(prog_var)::out,
-    accu_subst::out, accu_subst::out) is det.
-
-identify_out_and_out_prime(ModuleInfo, VarTypes, InitialInstMap, GoalId,
-        Rec, HeadVars, Out, OutPrime, HeadToCallSubst, CallToHeadSubst) :-
-    GoalId = accu_goal_id(_Case, K),
-    ( if
-        list.take(K, Rec, InitialGoals),
-        list.drop(K-1, Rec, FinalGoals),
-        FinalGoals = [hlds_goal(plain_call(_, _, Args, _, _, _), _) | Rest]
-    then
-        goal_list_instmap_delta(InitialGoals, InitInstMapDelta),
-        apply_instmap_delta( InitInstMapDelta,
-            InitialInstMap, InstMapBeforeRest),
-
-        goal_list_instmap_delta(Rest, InstMapDelta),
-        apply_instmap_delta(InstMapDelta, InstMapBeforeRest, InstMapAfterRest),
-
-        instmap_changed_vars(ModuleInfo, VarTypes,
-            InstMapBeforeRest, InstMapAfterRest, ChangedVars),
-
-        assoc_list.from_corresponding_lists(HeadVars, Args, HeadArg0),
-
-        Member =
-            ( pred(M::in) is semidet :-
-                M = HeadVar - _,
-                set_of_var.member(ChangedVars, HeadVar)
-            ),
-        list.filter(Member, HeadArg0, HeadArg),
-        list.map(fst, HeadArg, Out),
-        list.map(snd, HeadArg, OutPrime),
-
-        map.from_assoc_list(HeadArg, HeadToCallSubst),
-
-        list.map((pred(X-Y::in, Y-X::out) is det), HeadArg, ArgHead),
-        map.from_assoc_list(ArgHead, CallToHeadSubst)
-    else
-        unexpected($pred, "test failed")
-    ).
-
-%---------------------------------------------------------------------------%
-%---------------------------------------------------------------------------%
-
-    % For each goal after the recursive call, we place that goal
-    % into a set according to what properties that goal has.
-    % For the definition of what goes into each set, inspect the documentation
-    % for the functions named before, assoc, and so on.
-    %
-:- type accu_sets
-    --->    accu_sets(
-                as_before           ::  set(accu_goal_id),
-                as_assoc            ::  set(accu_goal_id),
-                as_construct_assoc  ::  set(accu_goal_id),
-                as_construct        ::  set(accu_goal_id),
-                as_update           ::  set(accu_goal_id),
-                as_reject           ::  set(accu_goal_id)
-            ).
-
-    % Stage 1 is responsible for identifying which goals are associative,
-    % which can be moved before the recursive call and so on.
-    %
-:- pred accu_stage1(module_info::in, vartypes::in, bool::in,
-    maybe_opt_lcmc_accumulator::in, accu_goal_id::in, int::in,
-    accu_goal_store::in, accu_sets::out) is semidet.
-
-accu_stage1(ModuleInfo, VarTypes, FullyStrict, DoLCMC, GoalId, M, GoalStore,
-        Sets) :-
-    GoalId = accu_goal_id(Case, K),
-    NextGoalId = accu_goal_id(Case, K + 1),
-    accu_sets_init(Sets0),
-    accu_stage1_2(ModuleInfo, VarTypes, FullyStrict, NextGoalId, K, M,
-        GoalStore, Sets0, Sets1),
-    Sets1 = accu_sets(Before, Assoc,
-        ConstructAssoc, Construct, Update, Reject),
-    Sets = accu_sets(Before `set.union` set_upto(Case, K - 1), Assoc,
-        ConstructAssoc, Construct, Update, Reject),
-
-    % Continue the transformation only if the set reject is empty and
-    % the set assoc or update contains something that needs to be moved
-    % before the recursive call.
-    set.is_empty(Reject),
-    (
-        not set.is_empty(Assoc)
-    ;
-        not set.is_empty(Update)
-    ),
-    (
-        DoLCMC = do_not_opt_lcmc_accumulator,
-        % If LCMC is not turned on, then there must be no construction
-        % unifications after the recursive call.
-        set.is_empty(Construct),
-        set.is_empty(ConstructAssoc)
-    ;
-        DoLCMC = opt_lcmc_accumulator
-    ).
-
-    % For each goal after the recursive call decide which set
-    % the goal belongs to.
-    %
-:- pred accu_stage1_2(module_info::in, vartypes::in, bool::in,
-    accu_goal_id::in, int::in, int::in, accu_goal_store::in,
-    accu_sets::in, accu_sets::out) is det.
-
-accu_stage1_2(ModuleInfo, VarTypes, FullyStrict, GoalId, K, M, GoalStore,
-        !Sets) :-
-    GoalId = accu_goal_id(Case, I),
-    NextGoalId = accu_goal_id(Case, I + 1),
-    ( if I > M then
-        true
-    else
-        ( if
-            accu_before(ModuleInfo, VarTypes, FullyStrict, GoalId, K,
-                GoalStore, !.Sets)
-        then
-            !Sets ^ as_before := set.insert(!.Sets ^ as_before, GoalId),
-            accu_stage1_2(ModuleInfo, VarTypes, FullyStrict, NextGoalId, K, M,
-                GoalStore, !Sets)
-        else if
-            accu_assoc(ModuleInfo, VarTypes, FullyStrict, GoalId, K,
-                GoalStore, !.Sets)
-        then
-            !Sets ^ as_assoc := set.insert(!.Sets ^ as_assoc, GoalId),
-            accu_stage1_2(ModuleInfo, VarTypes, FullyStrict, NextGoalId, K, M,
-                GoalStore, !Sets)
-        else if
-            accu_construct(ModuleInfo, VarTypes, FullyStrict, GoalId, K,
-                GoalStore, !.Sets)
-        then
-            !Sets ^ as_construct := set.insert(!.Sets ^ as_construct, GoalId),
-            accu_stage1_2(ModuleInfo, VarTypes, FullyStrict, NextGoalId, K, M,
-                GoalStore, !Sets)
-        else if
-            accu_construct_assoc(ModuleInfo, VarTypes, FullyStrict, GoalId, K,
-                GoalStore, !.Sets)
-        then
-            !Sets ^ as_construct_assoc :=
-                set.insert(!.Sets ^ as_construct_assoc, GoalId),
-            accu_stage1_2(ModuleInfo, VarTypes, FullyStrict, NextGoalId, K, M,
-                GoalStore, !Sets)
-        else if
-            accu_update(ModuleInfo, VarTypes, FullyStrict, GoalId, K,
-                GoalStore, !.Sets)
-        then
-            !Sets ^ as_update := set.insert(!.Sets ^ as_update, GoalId),
-            accu_stage1_2(ModuleInfo, VarTypes, FullyStrict, NextGoalId, K, M,
-                GoalStore, !Sets)
-        else
-            !Sets ^ as_reject := set.insert(!.Sets ^ as_reject, GoalId)
-        )
-    ).
-
-%---------------------------------------------------------------------------%
-
-:- pred accu_sets_init(accu_sets::out) is det.
-
-accu_sets_init(Sets) :-
-    set.init(EmptySet),
-    Before = EmptySet,
-    Assoc = EmptySet,
-    ConstructAssoc = EmptySet,
-    Construct = EmptySet,
-    Update = EmptySet,
-    Reject = EmptySet,
-    Sets = accu_sets(Before, Assoc, ConstructAssoc, Construct, Update, Reject).
-
-    % set_upto(Case, K) returns the set
-    % {accu_goal_id(Case, 1) .. accu_goal_id(Case, K)}.
-    %
-:- func set_upto(accu_case, int) = set(accu_goal_id).
-
-set_upto(Case, K) = Set :-
-    ( if K =< 0 then
-        set.init(Set)
-    else
-        Set0 = set_upto(Case, K - 1),
-        set.insert(accu_goal_id(Case, K), Set0, Set)
-    ).
-
-%---------------------------------------------------------------------------%
-
-    % A goal is a member of the before set iff the goal only depends on goals
-    % which are before the recursive call or can be moved before the recursive
-    % call (member of the before set).
-    %
-:- pred accu_before(module_info::in, vartypes::in, bool::in,
-    accu_goal_id::in, int::in, accu_goal_store::in, accu_sets::in) is semidet.
-
-accu_before(ModuleInfo, VarTypes, FullyStrict, GoalId, K, GoalStore, Sets) :-
-    GoalId = accu_goal_id(Case, _I),
-    Before = Sets ^ as_before,
-    goal_store_lookup(GoalStore, GoalId, stored_goal(LaterGoal, LaterInstMap)),
-    (
-        member_lessthan_goalid(GoalStore, GoalId, LessThanGoalId,
-            stored_goal(EarlierGoal, EarlierInstMap)),
-        not can_reorder_goals_old(ModuleInfo, VarTypes, FullyStrict,
-            EarlierInstMap, EarlierGoal, LaterInstMap, LaterGoal)
-    )
-    =>
-    (
-        set.member(LessThanGoalId, set_upto(Case, K - 1) `union` Before)
-    ).
-
-    % A goal is a member of the assoc set iff the goal only depends on goals
-    % upto and including the recursive call and goals which can be moved
-    % before the recursive call (member of the before set) AND the goal
-    % is associative.
-    %
-:- pred accu_assoc(module_info::in, vartypes::in, bool::in,
-    accu_goal_id::in, int::in, accu_goal_store::in, accu_sets::in) is semidet.
-
-accu_assoc(ModuleInfo, VarTypes, FullyStrict, GoalId, K, GoalStore, Sets) :-
-    GoalId = accu_goal_id(Case, _I),
-    Before = Sets ^ as_before,
-    goal_store_lookup(GoalStore, GoalId, stored_goal(LaterGoal, LaterInstMap)),
-    LaterGoal = hlds_goal(plain_call(PredId, _, Args, _, _, _), _),
-    accu_is_associative(ModuleInfo, PredId, Args, _),
-    (
-        % XXX LessThanGoalId was _N - J, not N - J: it ignored the case.
-        % See the diff with the previous version.
-        member_lessthan_goalid(GoalStore, GoalId, LessThanGoalId,
-            stored_goal(EarlierGoal, EarlierInstMap)),
-        not can_reorder_goals_old(ModuleInfo, VarTypes, FullyStrict,
-            EarlierInstMap, EarlierGoal, LaterInstMap, LaterGoal)
-    )
-    =>
-    (
-        set.member(LessThanGoalId, set_upto(Case, K) `union` Before)
-    ).
-
-    % A goal is a member of the construct set iff the goal only depends
-    % on goals upto and including the recursive call and goals which
-    % can be moved before the recursive call (member of the before set)
-    % AND the goal is construction unification.
-    %
-:- pred accu_construct(module_info::in, vartypes::in, bool::in,
-    accu_goal_id::in, int::in, accu_goal_store::in, accu_sets::in) is semidet.
-
-accu_construct(ModuleInfo, VarTypes, FullyStrict, GoalId, K, GoalStore,
-        Sets) :-
-    GoalId = accu_goal_id(Case, _I),
-    Before = Sets ^ as_before,
-    Construct = Sets ^ as_construct,
-    goal_store_lookup(GoalStore, GoalId, stored_goal(LaterGoal, LaterInstMap)),
-    LaterGoal = hlds_goal(unify(_, _, _, Unify, _), _GoalInfo),
-    Unify = construct(_, _, _, _, _, _, _),
-    (
-        % XXX LessThanGoalId was _N - J, not N - J: it ignored the case.
-        % See the diff with the previous version.
-        member_lessthan_goalid(GoalStore, GoalId, LessThanGoalId,
-            stored_goal(EarlierGoal, EarlierInstMap)),
-        not can_reorder_goals_old(ModuleInfo, VarTypes, FullyStrict,
-            EarlierInstMap, EarlierGoal, LaterInstMap, LaterGoal)
-    )
-    =>
-    (
-        set.member(LessThanGoalId,
-            set_upto(Case, K) `union` Before `union` Construct)
-    ).
-
-    % A goal is a member of the construct_assoc set iff the goal depends only
-    % on goals upto and including the recursive call and goals which can be
-    % moved before the recursive call (member of the before set) and goals
-    % which are associative AND the goal is construction unification AND
-    % there is only one member of the assoc set which the construction
-    % unification depends on AND the construction unification can be expressed
-    % as a call to the member of the assoc set which the construction
-    % unification depends on.
-    %
-:- pred accu_construct_assoc(module_info::in, vartypes::in, bool::in,
-    accu_goal_id::in, int::in, accu_goal_store::in, accu_sets::in) is semidet.
-
-accu_construct_assoc(ModuleInfo, VarTypes, FullyStrict,
-        GoalId, K, GoalStore, Sets) :-
-    GoalId = accu_goal_id(Case, _I),
-    Before = Sets ^ as_before,
-    Assoc = Sets ^ as_assoc,
-    ConstructAssoc = Sets ^ as_construct_assoc,
-    goal_store_lookup(GoalStore, GoalId, stored_goal(LaterGoal, LaterInstMap)),
-    LaterGoal = hlds_goal(unify(_, _, _, Unify, _), _GoalInfo),
-    Unify = construct(_, ConsId, _, _, _, _, _),
-
-    goal_store_all_ancestors(GoalStore, GoalId, VarTypes, ModuleInfo,
-        FullyStrict, Ancestors),
-
-    set.is_singleton(Assoc `intersect` Ancestors, AssocId),
-    goal_store_lookup(GoalStore, AssocId,
-        stored_goal(AssocGoal, _AssocInstMap)),
-    AssocGoal = hlds_goal(plain_call(PredId, _, _, _, _, _), _),
-
-    is_associative_construction(ModuleInfo, PredId, ConsId),
-    (
-        % XXX LessThanGoalId was _N - J, not N - J: it ignored the case.
-        % See the diff with the previous version.
-        member_lessthan_goalid(GoalStore, GoalId, LessThanGoalId,
-            stored_goal(EarlierGoal, EarlierInstMap)),
-        not can_reorder_goals_old(ModuleInfo, VarTypes, FullyStrict,
-            EarlierInstMap, EarlierGoal, LaterInstMap, LaterGoal)
-    )
-    =>
-    (
-        set.member(LessThanGoalId,
-            set_upto(Case, K) `union` Before `union` Assoc
-            `union` ConstructAssoc)
-    ).
-
-    % A goal is a member of the update set iff the goal only depends
-    % on goals upto and including the recursive call and goals which
-    % can be moved before the recursive call (member of the before set)
-    % AND the goal updates some state.
-    %
-:- pred accu_update(module_info::in, vartypes::in, bool::in,
-    accu_goal_id::in, int::in, accu_goal_store::in, accu_sets::in) is semidet.
-
-accu_update(ModuleInfo, VarTypes, FullyStrict, GoalId, K, GoalStore, Sets) :-
-    GoalId = accu_goal_id(Case, _I),
-    Before = Sets ^ as_before,
-    goal_store_lookup(GoalStore, GoalId, stored_goal(LaterGoal, LaterInstMap)),
-    LaterGoal = hlds_goal(plain_call(PredId, _, Args, _, _, _), _),
-    accu_is_update(ModuleInfo, PredId, Args, _),
-    (
-        % XXX LessThanGoalId was _N - J, not N - J: it ignored the case.
-        % See the diff with the previous version.
-        member_lessthan_goalid(GoalStore, GoalId, LessThanGoalId,
-            stored_goal(EarlierGoal, EarlierInstMap)),
-        not can_reorder_goals_old(ModuleInfo, VarTypes, FullyStrict,
-            EarlierInstMap, EarlierGoal, LaterInstMap, LaterGoal)
-    )
-    =>
-    (
-        set.member(LessThanGoalId, set_upto(Case, K) `union` Before)
-    ).
-
-    % member_lessthan_goalid(GS, IdA, IdB, GB) is true iff the goal_id, IdB,
-    % and its associated goal, GB, is a member of the goal_store, GS,
-    % and IdB is less than IdA.
-    %
-:- pred member_lessthan_goalid(accu_goal_store::in,
-    accu_goal_id::in, accu_goal_id::out, stored_goal::out) is nondet.
-
-member_lessthan_goalid(GoalStore, GoalId, LessThanGoalId, LessThanGoal) :-
-    goal_store_member(GoalStore, LessThanGoalId, LessThanGoal),
-    GoalId = accu_goal_id(Case, I),
-    LessThanGoalId = accu_goal_id(Case, J),
-    J < I.
-
-%---------------------------------------------------------------------------%
-
-:- type accu_assoc
-    --->    accu_assoc(
-                set_of_progvar,     % the associative input args
-                prog_var,           % the corresponding output arg
-                bool                % is the predicate commutative?
-            ).
-
-    % If accu_is_associative is true, it returns the two arguments which are
-    % associative and the variable which depends on those two arguments,
-    % and an indicator of whether or not the predicate is commutative.
-    %
-:- pred accu_is_associative(module_info::in, pred_id::in, list(prog_var)::in,
-    accu_assoc::out) is semidet.
-
-accu_is_associative(ModuleInfo, PredId, Args, Result) :-
-    module_info_pred_info(ModuleInfo, PredId, PredInfo),
-    pred_info_get_assertions(PredInfo, Assertions),
-    AssertionsList = set.to_sorted_list(Assertions),
-    associativity_assertion(ModuleInfo, AssertionsList, Args,
-        AssociativeVarsOutputVar),
-    ( if
-        commutativity_assertion(ModuleInfo, AssertionsList, Args,
-            _CommutativeVars)
-    then
-        IsCommutative = yes
-    else
-        IsCommutative = no
-    ),
-    AssociativeVarsOutputVar =
-        associative_vars_output_var(AssociativeVars, OutputVar),
-    Result = accu_assoc(AssociativeVars, OutputVar, IsCommutative).
-
-    % Does there exist one (and only one) associativity assertion for the
-    % current predicate?
-    % The 'and only one condition' is required because we currently
-    % do not handle the case of predicates which have individual parts
-    % which are associative, because then we do not know which variable
-    % is descended from which.
-    %
-:- pred associativity_assertion(module_info::in, list(assert_id)::in,
-    list(prog_var)::in, associative_vars_output_var::out) is semidet.
-
-associativity_assertion(ModuleInfo, [AssertId | AssertIds], Args0,
-        AssociativeVarsOutputVar) :-
-    ( if
-        assertion.is_associativity_assertion(ModuleInfo, AssertId,
-            Args0, AssociativeVarsOutputVarPrime)
-    then
-        AssociativeVarsOutputVar = AssociativeVarsOutputVarPrime,
-        not associativity_assertion(ModuleInfo, AssertIds, Args0, _)
-    else
-        associativity_assertion(ModuleInfo, AssertIds, Args0,
-            AssociativeVarsOutputVar)
-    ).
-
-    % Does there exist one (and only one) commutativity assertion for the
-    % current predicate?
-    % The 'and only one condition' is required because we currently
-    % do not handle the case of predicates which have individual
-    % parts which are commutative, because then we do not know which variable
-    % is descended from which.
-    %
-:- pred commutativity_assertion(module_info::in,list(assert_id)::in,
-    list(prog_var)::in, set_of_progvar::out) is semidet.
-
-commutativity_assertion(ModuleInfo, [AssertId | AssertIds], Args0,
-        CommutativeVars) :-
-    ( if
-        assertion.is_commutativity_assertion(ModuleInfo, AssertId,
-            Args0, CommutativeVarsPrime)
-    then
-        CommutativeVars = CommutativeVarsPrime,
-        not commutativity_assertion(ModuleInfo, AssertIds, Args0, _)
-    else
-        commutativity_assertion(ModuleInfo, AssertIds, Args0,
-            CommutativeVars)
-    ).
-
-%---------------------------------------------------------------------------%
-
-    % Does the current predicate update some state?
-    %
-:- pred accu_is_update(module_info::in, pred_id::in, list(prog_var)::in,
-    state_update_vars::out) is semidet.
-
-accu_is_update(ModuleInfo, PredId, Args, ResultStateVars) :-
-    module_info_pred_info(ModuleInfo, PredId, PredInfo),
-    pred_info_get_assertions(PredInfo, Assertions),
-    list.filter_map(
-        ( pred(AssertId::in, StateVars::out) is semidet :-
-            assertion.is_update_assertion(ModuleInfo, AssertId,
-                PredId, Args, StateVars)
-        ),
-        set.to_sorted_list(Assertions), Result),
-    % XXX Maybe we should just match on the first result,
-    % just in case there are duplicate promises.
-    Result = [ResultStateVars].
-
-%---------------------------------------------------------------------------%
-
-    % Can the construction unification be expressed as a call to the
-    % specified predicate.
-    %
-:- pred is_associative_construction(module_info::in, pred_id::in, cons_id::in)
-    is semidet.
-
-is_associative_construction(ModuleInfo, PredId, ConsId) :-
-    module_info_pred_info(ModuleInfo, PredId, PredInfo),
-    pred_info_get_assertions(PredInfo, Assertions),
-    list.filter(
-        ( pred(AssertId::in) is semidet :-
-            assertion.is_construction_equivalence_assertion(ModuleInfo,
-                AssertId, ConsId, PredId)
-        ),
-        set.to_sorted_list(Assertions), Result),
-    Result = [_ | _].
-
-%---------------------------------------------------------------------------%
-%---------------------------------------------------------------------------%
-
-:- type accu_substs
-    --->    accu_substs(
-                acc_var_subst       :: accu_subst,
-                rec_call_subst      :: accu_subst,
-                assoc_call_subst    :: accu_subst,
-                update_subst        :: accu_subst
-            ).
-
-:- type accu_base
-    --->    accu_base(
-                % goals which initialize update
-                init_update         :: set(accu_goal_id),
-
-                % goals which initialize assoc
-                init_assoc          :: set(accu_goal_id),
-
-                % other goals
-                other               :: set(accu_goal_id)
-            ).
-
-    % Stage 2 is responsible for identifying the substitutions which
-    % are needed to mimic the unfold/fold process that was used as
-    % the justification of the algorithm in the paper.
-    % It is also responsible for ensuring that the reordering of arguments
-    % doesn't worsen the big-O complexity of the procedure.
-    % It also divides the base case into goals that initialize the
-    % variables used by the update goals, and those used by the assoc
-    % goals and then all the rest.
-    %
-:- pred accu_stage2(module_info::in, proc_info::in,
-    accu_goal_id::in, accu_goal_store::in, accu_sets::in,
-    list(prog_var)::in, list(prog_var)::in, prog_varset::out, vartypes::out,
-    list(prog_var)::out, accu_base::out, list(pair(prog_var))::out,
-    accu_substs::out, accu_goal_store::out, list(accu_warning)::out)
-    is semidet.
-
-accu_stage2(ModuleInfo, ProcInfo0, GoalId, GoalStore, Sets, OutPrime, Out,
-        !:VarSet, !:VarTypes, Accs, BaseCase, BasePairs, !:Substs,
-        CS, Warnings) :-
-    Sets = accu_sets(Before0, Assoc, ConstructAssoc, Construct, Update, _),
-    GoalId = accu_goal_id(Case, K),
-    Before = Before0 `union` set_upto(Case, K-1),
-
-    % Note Update set is not placed in the after set, as the after set is used
-    % to determine the variables that need to be accumulated for the
-    % associative calls.
-    After = Assoc `union` ConstructAssoc `union` Construct,
-
-    P =
-        ( pred(Id::in, Set0::in, Set::out) is det :-
-            goal_store_lookup(GoalStore, Id, stored_goal(Goal, _InstMap)),
-            Goal = hlds_goal(_GoalExpr, GoalInfo),
-            NonLocals = goal_info_get_nonlocals(GoalInfo),
-            set_of_var.union(NonLocals, Set0, Set)
-        ),
-    list.foldl(P, set.to_sorted_list(Before),
-        set_of_var.init, BeforeNonLocals),
-    list.foldl(P, set.to_sorted_list(After),
-        set_of_var.init, AfterNonLocals),
-    InitAccs = set_of_var.intersect(BeforeNonLocals, AfterNonLocals),
-
-    proc_info_get_varset(ProcInfo0, !:VarSet),
-    proc_info_get_vartypes(ProcInfo0, !:VarTypes),
-
-    accu_substs_init(set_of_var.to_sorted_list(InitAccs), !VarSet, !VarTypes,
-        !:Substs),
-
-    set_of_var.list_to_set(OutPrime, OutPrimeSet),
-    accu_process_assoc_set(ModuleInfo, GoalStore, set.to_sorted_list(Assoc),
-        OutPrimeSet, !Substs, !VarSet, !VarTypes, CS, Warnings),
-
-    accu_process_update_set(ModuleInfo, GoalStore, set.to_sorted_list(Update),
-        OutPrimeSet, !Substs, !VarSet, !VarTypes, UpdateOut, UpdateAccOut,
-        BasePairs),
-
-    Accs = set_of_var.to_sorted_list(InitAccs) ++ UpdateAccOut,
-
-    accu_divide_base_case(ModuleInfo, !.VarTypes, GoalStore, UpdateOut, Out,
-        UpdateBase, AssocBase, OtherBase),
-
-    BaseCase = accu_base(UpdateBase, AssocBase, OtherBase).
-
-%---------------------------------------------------------------------------%
-
-:- pred accu_substs_init(list(prog_var)::in, prog_varset::in, prog_varset::out,
-    vartypes::in, vartypes::out, accu_substs::out) is det.
-
-accu_substs_init(InitAccs, !VarSet, !VarTypes, Substs) :-
-    map.init(Subst),
-    acc_var_subst_init(InitAccs, !VarSet, !VarTypes, AccVarSubst),
-    RecCallSubst = Subst,
-    AssocCallSubst = Subst,
-    UpdateSubst = Subst,
-    Substs = accu_substs(AccVarSubst, RecCallSubst, AssocCallSubst,
-        UpdateSubst).
-
-    % Initialise the acc_var_subst to be from Var to A_Var where Var is a
-    % member of InitAccs and A_Var is a fresh variable of the same type of Var.
-    %
-:- pred acc_var_subst_init(list(prog_var)::in,
-    prog_varset::in, prog_varset::out, vartypes::in, vartypes::out,
-    accu_subst::out) is det.
-
-acc_var_subst_init([], !VarSet, !VarTypes, map.init).
-acc_var_subst_init([Var | Vars], !VarSet, !VarTypes, Subst) :-
-    create_new_var(Var, "A_", AccVar, !VarSet, !VarTypes),
-    acc_var_subst_init(Vars, !VarSet, !VarTypes, Subst0),
-    map.det_insert(Var, AccVar, Subst0, Subst).
-
-    % Create a fresh variable which is the same type as the old variable
-    % and has the same name except that it begins with the prefix.
-    %
-:- pred create_new_var(prog_var::in, string::in, prog_var::out,
-    prog_varset::in, prog_varset::out, vartypes::in, vartypes::out) is det.
-
-create_new_var(OldVar, Prefix, NewVar, !VarSet, !VarTypes) :-
-    varset.lookup_name(!.VarSet, OldVar, OldName),
-    string.append(Prefix, OldName, NewName),
-    varset.new_named_var(NewName, NewVar, !VarSet),
-    lookup_var_type(!.VarTypes, OldVar, Type),
-    add_var_type(NewVar, Type, !VarTypes).
-
-%---------------------------------------------------------------------------%
-
-    % For each member of the assoc set determine the substitutions needed,
-    % and also check the efficiency of the procedure isn't worsened
-    % by reordering the arguments to a call.
-    %
-:- pred accu_process_assoc_set(module_info::in, accu_goal_store::in,
-    list(accu_goal_id)::in, set_of_progvar::in,
-    accu_substs::in, accu_substs::out,
-    prog_varset::in, prog_varset::out, vartypes::in, vartypes::out,
-    accu_goal_store::out, list(accu_warning)::out) is semidet.
-
-accu_process_assoc_set(_ModuleInfo, _GS, [], _OutPrime, !Substs,
-        !VarSet, !VarTypes, CS, []) :-
-    goal_store_init(CS).
-accu_process_assoc_set(ModuleInfo, GS, [Id | Ids], OutPrime, !Substs,
-        !VarSet, !VarTypes, CS, Warnings) :-
-    !.Substs = accu_substs(AccVarSubst, RecCallSubst0, AssocCallSubst0,
-        UpdateSubst),
-
-    lookup_call(GS, Id, stored_goal(Goal, InstMap)),
-
-    Goal = hlds_goal(plain_call(PredId, _, Args, _, _, _), GoalInfo),
-    accu_is_associative(ModuleInfo, PredId, Args, AssocInfo),
-    AssocInfo = accu_assoc(Vars, AssocOutput, IsCommutative),
-    OutPrimeVars = set_of_var.intersect(Vars, OutPrime),
-    set_of_var.is_singleton(OutPrimeVars, DuringAssocVar),
-    set_of_var.is_singleton(set_of_var.difference(Vars, OutPrimeVars),
-        BeforeAssocVar),
-
-    map.lookup(AccVarSubst, BeforeAssocVar, AccVar),
-    create_new_var(BeforeAssocVar, "NewAcc_", NewAcc, !VarSet, !VarTypes),
-
-    map.det_insert(DuringAssocVar, AccVar, AssocCallSubst0, AssocCallSubst1),
-    map.det_insert(AssocOutput, NewAcc, AssocCallSubst1, AssocCallSubst),
-    map.det_insert(DuringAssocVar, AssocOutput, RecCallSubst0, RecCallSubst1),
-    map.det_insert(BeforeAssocVar, NewAcc, RecCallSubst1, RecCallSubst),
-
-    !:Substs = accu_substs(AccVarSubst, RecCallSubst, AssocCallSubst,
-        UpdateSubst),
-
-    % ONLY swap the order of the variables if the goal is
-    % associative and not commutative.
-    (
-        IsCommutative = yes,
-        CSGoal = stored_goal(Goal, InstMap),
-        CurWarnings = []
-    ;
-        IsCommutative = no,
-
-        % Ensure that the reordering doesn't cause a efficiency problem.
-        module_info_pred_info(ModuleInfo, PredId, PredInfo),
-        ModuleName = pred_info_module(PredInfo),
-        PredName = pred_info_name(PredInfo),
-        Arity = pred_info_orig_arity(PredInfo),
-        ( if accu_has_heuristic(ModuleName, PredName, Arity) then
-            % Only do the transformation if the accumulator variable is
-            % *not* in a position where it will control the running time
-            % of the predicate.
-            accu_heuristic(ModuleName, PredName, Arity, Args,
-                PossibleDuringAssocVars),
-            set_of_var.member(PossibleDuringAssocVars, DuringAssocVar),
-            CurWarnings = []
-        else
-            ProgContext = goal_info_get_context(GoalInfo),
-            CurWarnings = [accu_warn(ProgContext, PredId, BeforeAssocVar,
-                DuringAssocVar)]
-        ),
-        % Swap the arguments.
-        [A, B] = set_of_var.to_sorted_list(Vars),
-        map.from_assoc_list([A - B, B - A], Subst),
-        rename_some_vars_in_goal(Subst, Goal, SwappedGoal),
-        CSGoal = stored_goal(SwappedGoal, InstMap)
-    ),
-
-    accu_process_assoc_set(ModuleInfo, GS, Ids, OutPrime, !Substs,
-        !VarSet, !VarTypes, CS0, Warnings0),
-    goal_store_det_insert(Id, CSGoal, CS0, CS),
-    Warnings = Warnings0 ++ CurWarnings.
-
-:- pred accu_has_heuristic(module_name::in, string::in, arity::in) is semidet.
-
-accu_has_heuristic(unqualified("list"), "append", 3).
-
-    % heuristic returns the set of which head variables are important
-    % in the running time of the predicate.
-    %
-:- pred accu_heuristic(module_name::in, string::in, arity::in,
-    list(prog_var)::in, set_of_progvar::out) is semidet.
-
-accu_heuristic(unqualified("list"), "append", 3, [_Typeinfo, A, _B, _C],
-        Set) :-
-    set_of_var.make_singleton(A, Set).
-
-%---------------------------------------------------------------------------%
-
-    % For each member of the update set determine the substitutions needed
-    % (creating the accumulator variables when needed).
-    % Also associate with each Output variable which accumulator variable
-    % to get the result from.
-    %
-:- pred accu_process_update_set(module_info::in, accu_goal_store::in,
-    list(accu_goal_id)::in, set_of_progvar::in,
-    accu_substs::in, accu_substs::out,
-    prog_varset::in, prog_varset::out, vartypes::in, vartypes::out,
-    list(prog_var)::out, list(prog_var)::out, list(pair(prog_var))::out)
-    is semidet.
-
-accu_process_update_set(_ModuleInfo, _GS, [], _OutPrime, !Substs,
-        !VarSet, !VarTypes, [], [], []).
-accu_process_update_set(ModuleInfo, GS, [Id | Ids], OutPrime, !Substs,
-        !VarSet, !VarTypes, StateOutputVars, Accs, BasePairs) :-
-    !.Substs = accu_substs(AccVarSubst0, RecCallSubst0, AssocCallSubst,
-        UpdateSubst0),
-    lookup_call(GS, Id, stored_goal(Goal, _InstMap)),
-
-    Goal = hlds_goal(plain_call(PredId, _, Args, _, _, _), _GoalInfo),
-    accu_is_update(ModuleInfo, PredId, Args, StateVars),
-    StateVars = state_update_vars(StateVarA, StateVarB),
-
-    ( if set_of_var.member(OutPrime, StateVarA) then
-        StateInputVar = StateVarA,
-        StateOutputVar = StateVarB
-    else
-        StateInputVar = StateVarB,
-        StateOutputVar = StateVarA
-    ),
-
-    create_new_var(StateInputVar, "Acc_", Acc0, !VarSet, !VarTypes),
-    create_new_var(StateOutputVar, "Acc_", Acc, !VarSet, !VarTypes),
-
-    map.det_insert(StateInputVar, Acc0, UpdateSubst0, UpdateSubst1),
-    map.det_insert(StateOutputVar, Acc, UpdateSubst1, UpdateSubst),
-    map.det_insert(StateInputVar, StateOutputVar, RecCallSubst0, RecCallSubst),
-    map.det_insert(Acc, Acc0, AccVarSubst0, AccVarSubst),
-    !:Substs = accu_substs(AccVarSubst, RecCallSubst, AssocCallSubst,
-        UpdateSubst),
-
-    accu_process_update_set(ModuleInfo, GS, Ids, OutPrime, !Substs,
-        !VarSet, !VarTypes, StateOutputVars0, Accs0, BasePairs0),
-
-    % Rather then concatenating to start of the list we concatenate to the end
-    % of the list. This allows the accumulator introduction to be applied
-    % as the heuristic will succeed (remember after transforming the two
-    % input variables will have their order swapped, so they must be in the
-    % inefficient order to start with)
-
-    StateOutputVars = StateOutputVars0 ++ [StateOutputVar],
-    Accs = Accs0 ++ [Acc],
-    BasePairs = BasePairs0 ++ [StateOutputVar - Acc0].
-
-%---------------------------------------------------------------------------%
-
-    % divide_base_case(UpdateOut, Out, U, A, O) is true iff given the output
-    % variables which are instantiated by update goals, UpdateOut, and all
-    % the variables that need to be accumulated, Out, divide the base case up
-    % into three sets, those base case goals which initialize the variables
-    % used by update calls, U, those which initialize variables used by
-    % assoc calls, A, and the rest of the goals, O. Note that the sets
-    % are not necessarily disjoint, as the result of a goal may be used
-    % to initialize a variable in both U and A, so both U and A will contain
-    % the same goal_id.
-    %
-:- pred accu_divide_base_case(module_info::in, vartypes::in,
-    accu_goal_store::in, list(prog_var)::in, list(prog_var)::in,
-    set(accu_goal_id)::out, set(accu_goal_id)::out, set(accu_goal_id)::out)
-    is det.
-
-accu_divide_base_case(ModuleInfo, VarTypes, C, UpdateOut, Out,
-        UpdateBase, AssocBase, OtherBase) :-
-    list.delete_elems(Out, UpdateOut, AssocOut),
-
-    list.map(accu_related(ModuleInfo, VarTypes, C), UpdateOut, UpdateBaseList),
-    list.map(accu_related(ModuleInfo, VarTypes, C), AssocOut, AssocBaseList),
-    UpdateBase = set.power_union(set.list_to_set(UpdateBaseList)),
-    AssocBase = set.power_union(set.list_to_set(AssocBaseList)),
-
-    Set = base_case_ids_set(C) `difference` (UpdateBase `union` AssocBase),
-    set.to_sorted_list(Set, List),
-
-    list.map(
-        ( pred(GoalId::in, Ancestors::out) is det :-
-            goal_store_all_ancestors(C, GoalId, VarTypes,
-                ModuleInfo, no, Ancestors)
-        ), List, OtherBaseList),
-
-    OtherBase = set.list_to_set(List) `union`
-        (base_case_ids_set(C) `intersect`
-        set.power_union(set.list_to_set(OtherBaseList))).
-
-    % accu_related(ModuleInfo, VarTypes, GoalStore, Var, Related):
-    %
-    % From GoalStore, return all the goal_ids, Related, which are needed
-    % to initialize Var.
-    %
-:- pred accu_related(module_info::in, vartypes::in, accu_goal_store::in,
-    prog_var::in, set(accu_goal_id)::out) is det.
-
-accu_related(ModuleInfo, VarTypes, GoalStore, Var, Related) :-
-    solutions.solutions(
-        ( pred(Key::out) is nondet :-
-            goal_store_member(GoalStore, Key, stored_goal(Goal, InstMap0)),
-            Key = accu_goal_id(accu_base, _),
-            Goal = hlds_goal(_GoalExpr, GoalInfo),
-            InstMapDelta = goal_info_get_instmap_delta(GoalInfo),
-            apply_instmap_delta(InstMapDelta, InstMap0, InstMap),
-            instmap_changed_vars(ModuleInfo, VarTypes,
-                InstMap0, InstMap, ChangedVars),
-            set_of_var.is_singleton(ChangedVars, Var)
-        ), Ids),
-    (
-        Ids = [],
-        unexpected($pred, "no Id")
-    ;
-        Ids = [Id],
-        goal_store_all_ancestors(GoalStore, Id, VarTypes, ModuleInfo, no,
-            Ancestors),
-        list.filter((pred(accu_goal_id(accu_base, _)::in) is semidet),
-            set.to_sorted_list(set.insert(Ancestors, Id)), RelatedList),
-        Related = set.list_to_set(RelatedList)
-    ;
-        Ids = [_, _ | _],
-        unexpected($pred, "more than one Id")
-    ).
-
-%---------------------------------------------------------------------------%
-
-:- inst stored_goal_plain_call for goal_store.stored_goal/0
-    --->    stored_goal(goal_plain_call, ground).
-
-    % Do a goal_store_lookup where the result is known to be a call.
-    %
-:- pred lookup_call(accu_goal_store::in, accu_goal_id::in,
-    stored_goal::out(stored_goal_plain_call)) is det.
-
-lookup_call(GoalStore, Id, stored_goal(Call, InstMap)) :-
-    goal_store_lookup(GoalStore, Id, stored_goal(Goal, InstMap)),
-    ( if
-        Goal = hlds_goal(GoalExpr, GoalInfo),
-        GoalExpr = plain_call(_, _, _, _, _, _)
-    then
-        Call = hlds_goal(GoalExpr, GoalInfo)
-    else
-        unexpected($pred, "not a call")
-    ).
-
-%---------------------------------------------------------------------------%
-%---------------------------------------------------------------------------%
-
-    % accu_stage3 creates the accumulator version of the predicate using
-    % the substitutions determined in stage2. It also redefines the
-    % original procedure to call the accumulator version of the procedure.
-    %
-:- pred accu_stage3(accu_goal_id::in, list(prog_var)::in, prog_varset::in,
-    vartypes::in, accu_goal_store::in, accu_goal_store::in,
-    accu_substs::in, accu_subst::in, accu_subst::in,
-    accu_base::in, list(pair(prog_var))::in, accu_sets::in,
-    list(prog_var)::in, top_level::in, pred_id::in, pred_info::in,
-    proc_info::in, proc_info::out, module_info::in, module_info::out) is det.
-
-accu_stage3(RecCallId, Accs, VarSet, VarTypes, C, CS, Substs,
-        HeadToCallSubst, CallToHeadSubst, BaseCase, BasePairs, Sets, Out,
-        TopLevel, OrigPredId, OrigPredInfo, !OrigProcInfo, !ModuleInfo) :-
-    acc_proc_info(Accs, VarSet, VarTypes, Substs, !.OrigProcInfo,
-        AccTypes, AccProcInfo),
-    acc_pred_info(AccTypes, Out, AccProcInfo, OrigPredId, OrigPredInfo,
-        AccProcId, AccPredInfo),
-    AccName = unqualified(pred_info_name(AccPredInfo)),
-
-    module_info_get_predicate_table(!.ModuleInfo, PredTable0),
-    predicate_table_insert(AccPredInfo, AccPredId, PredTable0, PredTable),
-    module_info_set_predicate_table(PredTable, !ModuleInfo),
-    accu_create_goal(RecCallId, Accs, AccPredId, AccProcId, AccName, Substs,
-        HeadToCallSubst, CallToHeadSubst, BaseCase, BasePairs, Sets, C, CS,
-        OrigBaseGoal, OrigRecGoal, AccBaseGoal, AccRecGoal),
-
-    proc_info_get_goal(!.OrigProcInfo, OrigGoal0),
-    accu_top_level(TopLevel, OrigGoal0, OrigBaseGoal, OrigRecGoal,
-        AccBaseGoal, AccRecGoal, OrigGoal, AccGoal),
-
-    proc_info_set_goal(OrigGoal, !OrigProcInfo),
-    proc_info_set_varset(VarSet, !OrigProcInfo),
-    proc_info_set_vartypes(VarTypes, !OrigProcInfo),
-
-    requantify_proc_general(ordinary_nonlocals_no_lambda, !OrigProcInfo),
-    update_accumulator_pred(AccPredId, AccProcId, AccGoal, !ModuleInfo).
-
-%---------------------------------------------------------------------------%
-
-    % Construct a proc_info for the introduced predicate.
-    %
-:- pred acc_proc_info(list(prog_var)::in, prog_varset::in, vartypes::in,
-    accu_substs::in, proc_info::in, list(mer_type)::out, proc_info::out)
-    is det.
-
-acc_proc_info(Accs0, VarSet, VarTypes, Substs, OrigProcInfo,
-        AccTypes, AccProcInfo) :-
-    % ProcInfo Stuff that must change.
-    proc_info_get_headvars(OrigProcInfo, HeadVars0),
-    proc_info_get_argmodes(OrigProcInfo, HeadModes0),
-
-    proc_info_get_inst_varset(OrigProcInfo, InstVarSet),
-    proc_info_get_inferred_determinism(OrigProcInfo, Detism),
-    proc_info_get_goal(OrigProcInfo, Goal),
-    proc_info_get_context(OrigProcInfo, Context),
-    proc_info_get_rtti_varmaps(OrigProcInfo, RttiVarMaps),
-    proc_info_get_is_address_taken(OrigProcInfo, IsAddressTaken),
-    proc_info_get_has_parallel_conj(OrigProcInfo, HasParallelConj),
-    proc_info_get_var_name_remap(OrigProcInfo, VarNameRemap),
-
-    Substs = accu_substs(AccVarSubst, _RecCallSubst, _AssocCallSubst,
-        _UpdateSubst),
-    list.map(map.lookup(AccVarSubst), Accs0, Accs),
-
-    % We place the extra accumulator variables at the start, because placing
-    % them at the end breaks the convention that the last variable of a
-    % function is the output variable.
-    HeadVars = Accs ++ HeadVars0,
-
-    % XXX we don't want to use the inst of the var as it can be more specific
-    % than it should be. ie int_const(1) when it should be any integer.
-    % However this will no longer handle partially instantiated data
-    % structures.
-    Inst = ground(shared, none_or_default_func),
-    inst_lists_to_mode_list([Inst], [Inst], Mode),
-    list.duplicate(list.length(Accs), list.det_head(Mode), AccModes),
-    HeadModes = AccModes ++ HeadModes0,
-
-    lookup_var_types(VarTypes, Accs, AccTypes),
-
-    SeqNum = item_no_seq_num,
-    proc_info_create(Context, SeqNum, VarSet, VarTypes, HeadVars,
-        InstVarSet, HeadModes, detism_decl_none, Detism, Goal, RttiVarMaps,
-        IsAddressTaken, HasParallelConj, VarNameRemap, AccProcInfo).
-
-%---------------------------------------------------------------------------%
-
-    % Construct the pred_info for the introduced predicate.
-    %
-:- pred acc_pred_info(list(mer_type)::in, list(prog_var)::in, proc_info::in,
-    pred_id::in, pred_info::in, proc_id::out, pred_info::out) is det.
-
-acc_pred_info(NewTypes, OutVars, NewProcInfo, OrigPredId, OrigPredInfo,
-        NewProcId, NewPredInfo) :-
-    % PredInfo stuff that must change.
-    pred_info_get_arg_types(OrigPredInfo, TypeVarSet, ExistQVars, Types0),
-
-    ModuleName = pred_info_module(OrigPredInfo),
-    Name = pred_info_name(OrigPredInfo),
-    PredOrFunc = pred_info_is_pred_or_func(OrigPredInfo),
-    pred_info_get_context(OrigPredInfo, PredContext),
-    pred_info_get_markers(OrigPredInfo, Markers),
-    pred_info_get_class_context(OrigPredInfo, ClassContext),
-    pred_info_get_origin(OrigPredInfo, OldOrigin),
-    pred_info_get_var_name_remap(OrigPredInfo, VarNameRemap),
-
-    set.init(Assertions),
-
-    proc_info_get_context(NewProcInfo, Context),
-    term.context_line(Context, Line),
-    Counter = 0,
-
-    Types = NewTypes ++ Types0,
-
-    make_pred_name_with_context(ModuleName, "AccFrom", PredOrFunc, Name,
-        Line, Counter, SymName),
-
-    OutVarNums = list.map(term.var_to_int, OutVars),
-    Origin = origin_transformed(transform_accumulator(OutVarNums),
-        OldOrigin, OrigPredId),
-    GoalType = goal_not_for_promise(np_goal_type_none),
-    pred_info_create(ModuleName, SymName, PredOrFunc, PredContext, Origin,
-        pred_status(status_local), Markers, Types, TypeVarSet,
-        ExistQVars, ClassContext, Assertions, VarNameRemap, GoalType,
-        NewProcInfo, NewProcId, NewPredInfo).
-
-%---------------------------------------------------------------------------%
-
-    % create_goal creates the new base and recursive case of the
-    % original procedure (OrigBaseGoal and OrigRecGoal) and the base
-    % and recursive cases of accumulator version (AccBaseGoal and
-    % AccRecGoal).
-    %
-:- pred accu_create_goal(accu_goal_id::in, list(prog_var)::in,
-    pred_id::in, proc_id::in, sym_name::in, accu_substs::in,
-    accu_subst::in, accu_subst::in, accu_base::in,
-    list(pair(prog_var))::in, accu_sets::in,
-    accu_goal_store::in, accu_goal_store::in,
-    hlds_goal::out, hlds_goal::out, hlds_goal::out, hlds_goal::out) is det.
-
-accu_create_goal(RecCallId, Accs, AccPredId, AccProcId, AccName, Substs,
-        HeadToCallSubst, CallToHeadSubst, BaseIds, BasePairs,
-        Sets, C, CS, OrigBaseGoal, OrigRecGoal, AccBaseGoal, AccRecGoal) :-
-    lookup_call(C, RecCallId, stored_goal(OrigCall, _InstMap)),
-    Call = create_acc_call(OrigCall, Accs, AccPredId, AccProcId, AccName),
-    create_orig_goal(Call, Substs, HeadToCallSubst, CallToHeadSubst,
-        BaseIds, Sets, C, OrigBaseGoal, OrigRecGoal),
-    create_acc_goal(Call, Substs, HeadToCallSubst, BaseIds, BasePairs,
-        Sets, C, CS, AccBaseGoal, AccRecGoal).
-
-    % create_acc_call takes the original call and generates a call to the
-    % accumulator version of the call, which can have the substitutions
-    % applied to it easily.
-    %
-:- func create_acc_call(hlds_goal::in(goal_plain_call), list(prog_var)::in,
-    pred_id::in, proc_id::in, sym_name::in) = (hlds_goal::out(goal_plain_call))
-    is det.
-
-create_acc_call(OrigCall, Accs, AccPredId, AccProcId, AccName) = Call :-
-    OrigCall = hlds_goal(OrigCallExpr, GoalInfo),
-    OrigCallExpr = plain_call(_PredId, _ProcId, Args, Builtin, Context, _Name),
-    CallExpr = plain_call(AccPredId, AccProcId, Accs ++ Args, Builtin,
-        Context, AccName),
-    Call = hlds_goal(CallExpr, GoalInfo).
-
-    % Create the goals which are to replace the original predicate.
-    %
-:- pred create_orig_goal(hlds_goal::in, accu_substs::in,
-    accu_subst::in, accu_subst::in, accu_base::in, accu_sets::in,
-    accu_goal_store::in, hlds_goal::out, hlds_goal::out) is det.
-
-create_orig_goal(Call, Substs, HeadToCallSubst, CallToHeadSubst,
-        BaseIds, Sets, C, OrigBaseGoal, OrigRecGoal) :-
-    Substs = accu_substs(_AccVarSubst, _RecCallSubst, _AssocCallSubst,
-        UpdateSubst),
-
-    BaseIds = accu_base(UpdateBase, _AssocBase, _OtherBase),
-    Before = Sets ^ as_before,
-    Update = Sets ^ as_update,
-
-    U = create_new_orig_recursive_goals(UpdateBase, Update,
-        HeadToCallSubst, UpdateSubst, C),
-
-    rename_some_vars_in_goal(CallToHeadSubst, Call, BaseCall),
-    Cbefore = accu_goal_list(set.to_sorted_list(Before), C),
-    Uupdate = accu_goal_list(set.to_sorted_list(UpdateBase) ++
-        set.to_sorted_list(Update), U),
-    Cbase = accu_goal_list(base_case_ids(C), C),
-    calculate_goal_info(conj(plain_conj, Cbefore ++ Uupdate ++ [BaseCall]),
-        OrigRecGoal),
-    calculate_goal_info(conj(plain_conj, Cbase), OrigBaseGoal).
-
-    % Create the goals which are to go in the new accumulator version
-    % of the predicate.
-    %
-:- pred create_acc_goal(hlds_goal::in, accu_substs::in, accu_subst::in,
-    accu_base::in, list(pair(prog_var))::in, accu_sets::in,
-    accu_goal_store::in, accu_goal_store::in,
-    hlds_goal::out, hlds_goal::out) is det.
-
-create_acc_goal(Call, Substs, HeadToCallSubst, BaseIds, BasePairs, Sets,
-        C, CS, AccBaseGoal, AccRecGoal) :-
-    Substs = accu_substs(AccVarSubst, RecCallSubst, AssocCallSubst,
-        UpdateSubst),
-
-    BaseIds = accu_base(_UpdateBase, AssocBase, OtherBase),
-    Sets = accu_sets(Before, Assoc, ConstructAssoc, Construct, Update,
-        _Reject),
-
-    rename_some_vars_in_goal(RecCallSubst, Call, RecCall),
-
-    Cbefore = accu_goal_list(set.to_sorted_list(Before), C),
-
-    % Create the goals which will be used in the new recursive case.
-    R = create_new_recursive_goals(Assoc, Construct `union` ConstructAssoc,
-        Update, AssocCallSubst, AccVarSubst, UpdateSubst, C, CS),
-
-    Rassoc = accu_goal_list(set.to_sorted_list(Assoc), R),
-    Rupdate = accu_goal_list(set.to_sorted_list(Update), R),
-    Rconstruct = accu_goal_list(set.to_sorted_list(Construct `union`
-        ConstructAssoc), R),
-
-    % Create the goals which will be used in the new base case.
-    B = create_new_base_goals(Assoc `union` Construct `union`
-        ConstructAssoc, C, AccVarSubst, HeadToCallSubst),
-    Bafter = set.to_sorted_list(Assoc `union`
-        Construct `union` ConstructAssoc),
-
-    BaseCase = accu_goal_list(set.to_sorted_list(AssocBase `union` OtherBase)
-        ++ Bafter, B),
-
-    list.map(acc_unification, BasePairs, UpdateBase),
-
-    calculate_goal_info(conj(plain_conj, Cbefore ++ Rassoc ++ Rupdate
-        ++ [RecCall] ++ Rconstruct), AccRecGoal),
-    calculate_goal_info(conj(plain_conj, UpdateBase ++ BaseCase), AccBaseGoal).
-
-    % Create the U set of goals (those that will be used in the original
-    % recursive case) by renaming all the goals which are used to initialize
-    % the update state variable using the head_to_call followed by the
-    % update_subst, and rename all the update goals using the update_subst.
-    %
-:- func create_new_orig_recursive_goals(set(accu_goal_id), set(accu_goal_id),
-    accu_subst, accu_subst, accu_goal_store) = accu_goal_store.
-
-create_new_orig_recursive_goals(UpdateBase, Update, HeadToCallSubst,
-        UpdateSubst, C)
-        = accu_rename(set.to_sorted_list(Update), UpdateSubst, C, Ubase) :-
-    Ubase = accu_rename(set.to_sorted_list(UpdateBase),
-        chain_subst(HeadToCallSubst, UpdateSubst), C, goal_store_init).
-
-    % Create the R set of goals (those that will be used in the new
-    % recursive case) by renaming all the members of assoc in CS
-    % using assoc_call_subst and all the members of (construct U
-    % construct_assoc) in C with acc_var_subst.
-    %
-:- func create_new_recursive_goals(set(accu_goal_id), set(accu_goal_id),
-    set(accu_goal_id), accu_subst, accu_subst, accu_subst,
-    accu_goal_store, accu_goal_store) = accu_goal_store.
-
-create_new_recursive_goals(Assoc, Constructs, Update,
-        AssocCallSubst, AccVarSubst, UpdateSubst, C, CS)
-        = accu_rename(set.to_sorted_list(Constructs), AccVarSubst, C, RBase) :-
-    RBase0 = accu_rename(set.to_sorted_list(Assoc), AssocCallSubst, CS,
-        goal_store_init),
-    RBase = accu_rename(set.to_sorted_list(Update), UpdateSubst, C, RBase0).
-
-    % Create the B set of goals (those that will be used in the new base case)
-    % by renaming all the base case goals of C with head_to_call and all the
-    % members of (assoc U construct U construct_assoc) of C with acc_var_subst.
-    %
-:- func create_new_base_goals(set(accu_goal_id), accu_goal_store,
-    accu_subst, accu_subst) = accu_goal_store.
-
-create_new_base_goals(Ids, C, AccVarSubst, HeadToCallSubst)
-        = accu_rename(set.to_sorted_list(Ids), AccVarSubst, C, Bbase) :-
-    Bbase = accu_rename(base_case_ids(C), HeadToCallSubst, C, goal_store_init).
-
-    % acc_unification(O-A, G):
-    %
-    % is true if G represents the assignment unification Out = Acc.
-    %
-:- pred acc_unification(pair(prog_var)::in, hlds_goal::out) is det.
-
-acc_unification(Out - Acc, Goal) :-
-    UnifyMode = unify_modes_li_lf_ri_rf(free, ground_inst,
-        ground_inst, ground_inst),
-    Context = unify_context(umc_explicit, []),
-    Expr = unify(Out, rhs_var(Acc), UnifyMode, assign(Out,Acc), Context),
-    set_of_var.list_to_set([Out, Acc], NonLocalVars),
-    InstMapDelta = instmap_delta_bind_var(Out),
-    goal_info_init(NonLocalVars, InstMapDelta, detism_det, purity_pure, Info),
-    Goal = hlds_goal(Expr, Info).
-
-%---------------------------------------------------------------------------%
-
-    % Given the top level structure of the goal create new version
-    % with new base and recursive cases plugged in.
-    %
-:- pred accu_top_level(top_level::in, hlds_goal::in,
-    hlds_goal::in, hlds_goal::in, hlds_goal::in,
-    hlds_goal::in, hlds_goal::out, hlds_goal::out) is det.
-
-accu_top_level(TopLevel, Goal, OrigBaseGoal, OrigRecGoal,
-        NewBaseGoal, NewRecGoal, OrigGoal, NewGoal) :-
-    (
-        TopLevel = switch_base_rec,
-        ( if
-            Goal = hlds_goal(switch(Var, CanFail, Cases0), GoalInfo),
-            Cases0 = [case(IdA, [], _), case(IdB, [], _)]
-        then
-            OrigCases = [case(IdA, [], OrigBaseGoal),
-                case(IdB, [], OrigRecGoal)],
-            OrigGoal = hlds_goal(switch(Var, CanFail, OrigCases), GoalInfo),
-
-            NewCases = [case(IdA, [], NewBaseGoal), case(IdB, [], NewRecGoal)],
-            NewGoal = hlds_goal(switch(Var, CanFail, NewCases), GoalInfo)
-        else
-            unexpected($pred, "not the correct top level")
-        )
-    ;
-        TopLevel = switch_rec_base,
-        ( if
-            Goal = hlds_goal(switch(Var, CanFail, Cases0), GoalInfo),
-            Cases0 = [case(IdA, [], _), case(IdB, [], _)]
-        then
-            OrigCases = [case(IdA, [], OrigRecGoal),
-                case(IdB, [], OrigBaseGoal)],
-            OrigGoal = hlds_goal(switch(Var, CanFail, OrigCases), GoalInfo),
-
-            NewCases = [case(IdA, [], NewRecGoal), case(IdB, [], NewBaseGoal)],
-            NewGoal = hlds_goal(switch(Var, CanFail, NewCases), GoalInfo)
-        else
-            unexpected($pred, "not the correct top level")
-        )
-    ;
-        TopLevel = disj_base_rec,
-        ( if
-            Goal = hlds_goal(disj(Goals), GoalInfo),
-            Goals = [_, _]
-        then
-            OrigGoals = [OrigBaseGoal, OrigRecGoal],
-            OrigGoal = hlds_goal(disj(OrigGoals), GoalInfo),
-
-            NewGoals = [NewBaseGoal, NewRecGoal],
-            NewGoal = hlds_goal(disj(NewGoals), GoalInfo)
-        else
-            unexpected($pred, "not the correct top level")
-        )
-    ;
-        TopLevel = disj_rec_base,
-        ( if
-            Goal = hlds_goal(disj(Goals), GoalInfo),
-            Goals = [_, _]
-        then
-            OrigGoals = [OrigRecGoal, OrigBaseGoal],
-            OrigGoal = hlds_goal(disj(OrigGoals), GoalInfo),
-
-            NewGoals = [NewRecGoal, NewBaseGoal],
-            NewGoal = hlds_goal(disj(NewGoals), GoalInfo)
-        else
-            unexpected($pred, "not the correct top level")
-        )
-    ;
-        TopLevel = ite_base_rec,
-        ( if Goal = hlds_goal(if_then_else(Vars, Cond, _, _), GoalInfo) then
-            OrigGoal = hlds_goal(if_then_else(Vars, Cond,
-                OrigBaseGoal, OrigRecGoal), GoalInfo),
-            NewGoal = hlds_goal(if_then_else(Vars, Cond,
-                NewBaseGoal, NewRecGoal), GoalInfo)
-        else
-            unexpected($pred, "not the correct top level")
-        )
-    ;
-        TopLevel = ite_rec_base,
-        ( if Goal = hlds_goal(if_then_else(Vars, Cond, _, _), GoalInfo) then
-            OrigGoal = hlds_goal(if_then_else(Vars, Cond,
-                OrigRecGoal, OrigBaseGoal), GoalInfo),
-            NewGoal = hlds_goal(if_then_else(Vars, Cond,
-                NewRecGoal, NewBaseGoal), GoalInfo)
-        else
-            unexpected($pred, "not the correct top level")
-        )
-    ).
-
-%---------------------------------------------------------------------------%
-
-    % Place the accumulator version of the predicate in the HLDS.
-    %
-:- pred update_accumulator_pred(pred_id::in, proc_id::in,
-    hlds_goal::in, module_info::in, module_info::out) is det.
-
-update_accumulator_pred(NewPredId, NewProcId, AccGoal, !ModuleInfo) :-
-    module_info_pred_proc_info(!.ModuleInfo, NewPredId, NewProcId,
-        PredInfo, ProcInfo0),
-    proc_info_set_goal(AccGoal, ProcInfo0, ProcInfo1),
-    requantify_proc_general(ordinary_nonlocals_no_lambda, ProcInfo1, ProcInfo),
-    module_info_set_pred_proc_info(NewPredId, NewProcId,
-        PredInfo, ProcInfo, !ModuleInfo).
-
-%---------------------------------------------------------------------------%
-%---------------------------------------------------------------------------%
-
-    % accu_rename(Ids, Subst, From, Initial):
-    %
-    % Return a goal_store, Final, which is the result of looking up each
-    % member of set of goal_ids, Ids, in the goal_store, From, applying
-    % the substitution and then storing the goal into the goal_store, Initial.
-    %
-:- func accu_rename(list(accu_goal_id), accu_subst,
-    accu_goal_store, accu_goal_store) = accu_goal_store.
-
-accu_rename(Ids, Subst, From, Initial) = Final :-
-    list.foldl(
-        ( pred(Id::in, GS0::in, GS::out) is det :-
-            goal_store_lookup(From, Id, stored_goal(Goal0, InstMap)),
-            rename_some_vars_in_goal(Subst, Goal0, Goal),
-            goal_store_det_insert(Id, stored_goal(Goal, InstMap), GS0, GS)
-        ), Ids, Initial, Final).
-
-    % Return all the goal_ids which belong in the base case.
-    %
-:- func base_case_ids(accu_goal_store) = list(accu_goal_id).
-
-base_case_ids(GS) = Base :-
-    solutions.solutions(
-        ( pred(Key::out) is nondet :-
-            goal_store_member(GS, Key, _Goal),
-            Key = accu_goal_id(accu_base, _)
-        ), Base).
-
-:- func base_case_ids_set(accu_goal_store) = set(accu_goal_id).
-
-base_case_ids_set(GS) = set.list_to_set(base_case_ids(GS)).
-
-    % Given a list of goal_ids, return the list of hlds_goals from
-    % the goal_store.
-    %
-:- func accu_goal_list(list(accu_goal_id), accu_goal_store) = list(hlds_goal).
-
-accu_goal_list(Ids, GS) = Goals :-
-    list.map(
-        ( pred(Key::in, G::out) is det :-
-            goal_store_lookup(GS, Key, stored_goal(G, _))
-        ), Ids, Goals).
-
-%---------------------------------------------------------------------------%
-%---------------------------------------------------------------------------%
-
-:- pred calculate_goal_info(hlds_goal_expr::in, hlds_goal::out) is det.
-
-calculate_goal_info(GoalExpr, hlds_goal(GoalExpr, GoalInfo)) :-
-    ( if GoalExpr = conj(plain_conj, GoalList) then
-        goal_list_nonlocals(GoalList, NonLocals),
-        goal_list_instmap_delta(GoalList, InstMapDelta),
-        goal_list_determinism(GoalList, Detism),
-
-        goal_info_init(NonLocals, InstMapDelta, Detism, purity_pure, GoalInfo)
-    else
-        unexpected($pred, "not a conj")
-    ).
-
-%---------------------------------------------------------------------------%
-%---------------------------------------------------------------------------%
-
-:- func chain_subst(accu_subst, accu_subst) = accu_subst.
-
-chain_subst(AtoB, BtoC) = AtoC :-
-    map.keys(AtoB, Keys),
-    chain_subst_2(Keys, AtoB, BtoC, AtoC).
-
-:- pred chain_subst_2(list(A)::in, map(A, B)::in, map(B, C)::in,
-    map(A, C)::out) is det.
-
-chain_subst_2([], _, _, AtoC) :-
-    map.init(AtoC).
-chain_subst_2([A | As], AtoB, BtoC, AtoC) :-
-    chain_subst_2(As, AtoB, BtoC, AtoC0),
-    map.lookup(AtoB, A, B),
-    ( if map.search(BtoC, B, C) then
-        map.det_insert(A, C, AtoC0, AtoC)
-    else
-        AtoC = AtoC0
-    ).
-
-%---------------------------------------------------------------------------%
-:- end_module transform_hlds.accumulator.
-%---------------------------------------------------------------------------%
-
-:- some [T] pred unravel_univ(univ::in, T::out) is det.
-:- pragma foreign_export("C", unravel_univ(in, out), "ML_unravel_univ").
-:- pragma foreign_export("C#", unravel_univ(in, out), "ML_unravel_univ").
-:- pragma foreign_export("Java", unravel_univ(in, out), "ML_unravel_univ").
-
-unravel_univ(Univ, X) :-
-    univ_value(Univ) = X.
diff --git a/test/manual/etags/objc-src/PackInsp.h b/test/manual/etags/objc-src/PackInsp.h
deleted file mode 100644 (file)
index 0e3643c..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-/*+++*
- *  title:     PackageInspector.h
- *  abstract:  interface definitions for WM PackageInspector 
- *  author:    T.R.Hageman, Groningen, The Netherlands
- *  created:   November 1994
- *  modified:  (see RCS Log at end)
- *  copyleft:
- *
- *             Copyright (C) 1994,1995  Tom R. Hageman.
- *
- *     This is free software; you can redistribute it and/or modify
- *     it under the terms of the GNU General Public License as published by
- *     the Free Software Foundation; either version 2 of the License, or
- *     (at your option) any later version.
- *
- *     This software is distributed in the hope that it will be useful,
- *     but WITHOUT ANY WARRANTY; without even the implied warranty of
- *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *     GNU General Public License for more details.
- *
- *     You should have received a copy of the GNU General Public License
- *     along with this software; if not, write to the Free Software
- *     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- *  description:
- *
- *---*/
-
-#import <appkit/appkit.h>
-#import <apps/Workspace.h>
-
-#include <sys/stat.h>
-
-#import "Subprocess.h"
-
-#define NUMSTATS       4
-#define TYPESTOSTAT    "bom", "info", "sizes", "tiff"
-
-@interface PackageInspector:WMInspector
-{
-       // Outlets
-    id packageArchesField;
-    id packageDescriptionText;
-    id packageIconButton;
-    id packageLocationField;
-    id packageSizesField;
-    id packageStatusField;
-    id packageTitleField;
-    id packageVersionField;
-
-    id  inspectorVersionField;
-    id infoPanel;
-    id infoVersionField;
-
-       // other variables.
-       NXBundle *bundle;               // class bundle.
-       NXBundle *package;              // package bundle.
-       struct stat stats[NUMSTATS];    // for lazy inspection.
-       enum { listContents, listDescription } revertButtonState;
-
-       Subprocess *archProcess;        // To determine architectures.
-}
-
-// Actions.
--showInfo:sender;
-
--open:sender;
-
-// The workhorses
--(BOOL)shouldLoad;
--load;
--toggleDescription;
-
-// Load helper methods
--loadKeyValuesFrom:(const char *)type inTable:(HashTable *)table;
--loadContentsOf:(const char *)type inTable:(HashTable *)table;
--loadImage;
-
-// Support methods
--(const char *)getPath:(char *)path forType:(const char *)type;
--setRevertButtonTitle;
--(const char *)formatSize:(const char *)size inBuf:(char *)buf;
-
-// Determine architectures, in separate subprocess.
--(void)getArchs;
-// Subprocess [TRH-enhanced] delegate methods:
-// Subprocess delegate methods:
--subprocess:(Subprocess *)sender output:(char *)buffer;
--subprocessDone:(Subprocess *)sender;
-
-@end // PackageInspector
-
-/*======================================================================
- * PackageInspector.h,v
- * Revision 1.7  1995/08/17 22:18:24  tom
- * (-open:): new method.
- *
- * Revision 1.6  1995/07/30 16:59:51  tom
- * import Subprocess.h; (archProcess): new ivar;
- * (-getArchs,-subprocess:output:,-subprocessDone:): new methods;
- * added for asynchronous arch-determination.
- *
- * Revision 1.5  1995/07/29 02:59:55  tom
- * (NUMSTATS,TYPESTOSTAT): new defines, (stats[NUMSTATS]): new ivar, replaces
- * bomstat, infostat, t ogeneralize lazy-load code.
- *
- * Revision 1.4  1995/04/02  02:39:05  tom
- * (package): NXBundle instead of (const char *). so that localized info files
- *  are found. (this loses out if *.pkg is a symbolic link, though.)
- *
- * Revision 1.3  1994/12/07  00:00:36  tom
- * add GNU copleft comment.
- *
- * Revision 1.2  1994/11/25  20:18:56  tom
- * (package ivar): use (char*) instead of (NXBundle*) to workaround symlink problems
- *
- * Revision 1.1  1994/11/24  22:39:56  tom
- * Initial revision
- *
- *======================================================================*/
diff --git a/test/manual/etags/objc-src/PackInsp.m b/test/manual/etags/objc-src/PackInsp.m
deleted file mode 100644 (file)
index 41cc876..0000000
+++ /dev/null
@@ -1,505 +0,0 @@
-/*+++*
- *  title:     PackageInspector.m
- *  abstract:  NEXTSTEP Workspace Manager Inspector for Installer ".pkg" files.
- *  author:    T.R.Hageman, Groningen, The Netherlands
- *  created:   November 1994
- *  modified:  (see RCS Log at end)
- *  copyleft:
- *
- *             Copyright (C) 1994,1995  Tom R. Hageman.
- *
- *     This is free software; you can redistribute it and/or modify
- *     it under the terms of the GNU General Public License as published by
- *     the Free Software Foundation; either version 2 of the License, or
- *     (at your option) any later version.
- *
- *     This software is distributed in the hope that it will be useful,
- *     but WITHOUT ANY WARRANTY; without even the implied warranty of
- *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *     GNU General Public License for more details.
- *
- *     You should have received a copy of the GNU General Public License
- *     along with this software; if not, write to the Free Software
- *     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- *  description:
- *
- *---*/
-
-#ifdef RCS_ID
-static const char RCSid[] =
-"PackageInspector.m,v 1.8 1995/09/01 21:46:27";
-#endif
-
-#define VERSION        "0.951"
-
-#ifndef DEBUG
-#   define DEBUG 0
-#endif
-#define LISTCONTENTS   0       // List Contents not yet implemented
-
-#import "PackageInspector.h"
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-// Localized strings
-#define OPENBUTTON             NXLocalizedStringFromTableInBundle(NULL, bundle, "Open", NULL, button label)
-#define LISTCONTENTSBUTTON     NXLocalizedStringFromTableInBundle(NULL, bundle, "List Contents", NULL, button label)
-#define LISTDESCRIPTIONBUTTON  NXLocalizedStringFromTableInBundle(NULL, bundle, "Description", NULL, button label)
-
-// States
-#define STATE_UNINSTALLED      NXLocalizedStringFromTableInBundle(NULL, bundle, "Uninstalled", NULL, original package state)
-#define STATE_INSTALLED                NXLocalizedStringFromTableInBundle(NULL, bundle, "installed", "Installed", package has been uncompressed unto disk)
-#define STATE_COMPRESSD                NXLocalizedStringFromTableInBundle(NULL, bundle, "compressed", "Compressed", installed package has been recompressed)
-
-// so InfoView.strings can be ripped off from Installer.app
-#define SIZEFORMAT             NXLocalizedStringFromTableInBundle("InfoView", bundle, "%s installed, %s compressed", NULL, Short indication to user about the size of a package once installed and the size when compressed)
-#define KBYTES                 NXLocalizedStringFromTableInBundle("InfoView", bundle, "KB", NULL, Kilobytes -- package size)
-#define MBYTES                 NXLocalizedStringFromTableInBundle("InfoView", bundle, "MB", NULL, MegaBytes -- package size)
-
-#define LOCALIZE(s)            NXLoadLocalizedStringFromTableInBundle(NULL, bundle, s, NULL)
-#define LOCALIZE_ARCH(s)       NXLoadLocalizedStringFromTableInBundle("Architectures", bundle, s, NULL)
-
-
-@implementation PackageInspector
-
-+new
-{
-       static PackageInspector *instance;
-       
-       if (instance == nil) {
-               char path[MAXPATHLEN+1];
-               const char *nibname = [self name];
-
-               instance = [super new];
-
-               instance->bundle = [NXBundle bundleForClass:self];
-
-               if ([instance->bundle getPath:path forResource:nibname ofType:"nib"] &&
-                   [NXApp loadNibFile:path owner:instance]) {
-                       [instance->inspectorVersionField setStringValue:VERSION];
-                       [instance->packageDescriptionText setVertResizable:YES]; // ??Necessary??
-               }
-               else {
-                       fprintf(stderr, "Couldn't load %s.nib\n", nibname);
-                       [instance free];
-                       instance = nil;
-               }
-       }
-       return instance;
-}
-
--showInfo:sender
-{
-       if (infoPanel == nil) {
-               char path[MAXPATHLEN+1];
-
-               if ([bundle getPath:path forResource:"Info" ofType:"nib"] &&
-                   [NXApp loadNibFile:path owner:self]) {
-                       [infoVersionField setStringValue:[inspectorVersionField stringValue]];
-               }
-       }
-       [infoPanel makeKeyAndOrderFront:sender];
-       return self;
-}
-
--revert:sender
-{
-       [super revert:sender];
-
-       if ([self selectionCount] != 1) {
-               return nil;
-       }
-       if (sender == [self revertButton]) {
-               [self toggleDescription];
-       }
-       else {
-               char path[MAXPATHLEN+1];
-
-               [package free];
-               [self selectionPathsInto:path separator:'\0'];
-               if (!(package = [[NXBundle allocFromZone:[self zone]] initForDirectory:path])) {
-                       return nil;
-               }
-               if ([self shouldLoad]) {
-                       [self load];
-                       revertButtonState = listContents;
-               }
-       }
-       [[[self okButton] setTitle:OPENBUTTON] setEnabled:YES];
-       [self setRevertButtonTitle];
-
-       return self;
-}
-
--ok:sender
-{
-       [self perform:@selector(open:) with:sender afterDelay:0 cancelPrevious:NO];
-       [super ok:sender];
-       return self;
-}
-
--load
-{
-       char buf[256], size[2][20];
-       HashTable *table = [[HashTable alloc] initKeyDesc:"*" valueDesc:"*"];
-
-       [self getArchs];
-       // Collect information about the package in a hashtable.
-       [self loadKeyValuesFrom:"info" inTable:table];
-       [self loadKeyValuesFrom:"sizes" inTable:table];
-       [self loadContentsOf:"location" inTable:table];
-       [self loadContentsOf:"status" inTable:table];
-
-       // Convenience macro.
-#define LOOKUP(key, notfound)  ([table isKey:key] ? [table valueForKey:key] : \
-                                (notfound))
-#if 0
-       // Set the various controls.
-       sprintf(buf, "<<not yet implemented>>");
-       // Well then, how *DOES* Installer determine this??? 
-       [packageArchesField setStringValue:buf];
-#endif
-       [packageDescriptionText setText:LOOKUP("Description", "")];
-       [packageLocationField setStringValue:
-        LOOKUP("location", LOOKUP("DefaultLocation", "???"))];
-
-       [self formatSize:[table valueForKey:"InstalledSize"] inBuf:size[0]];
-       [self formatSize:[table valueForKey:"CompressedSize"] inBuf:size[1]];
-       sprintf(buf, SIZEFORMAT, size[0], size[1]);
-       [packageSizesField setStringValue:buf];
-
-       [packageStatusField setStringValue:LOCALIZE(LOOKUP("status", "Uninstalled"))];
-       [packageTitleField setStringValue:LOOKUP("Title", "???")];
-       [packageVersionField setStringValue:LOOKUP("Version", "???")];
-#undef LOOKUP
-       // Is this how one frees the contents of a hashtable?
-       [table freeKeys:free values:free];
-       [table free];
-
-       [self loadImage];
-
-       return self;
-}
-
--loadKeyValuesFrom:(const char *)type inTable:(HashTable *)table
-{
-       char path[MAXPATHLEN+1];
-       NXStream *stream;
-
-       if (stream = NXMapFile([self getPath:path forType:type], NX_READONLY)) {
-               int c;
-
-#if DEBUG & 1
-               fprintf(stderr, "loadKeyValuesFrom:%s\n", path);
-#endif
-               while ((c = NXGetc(stream)) >= 0) {
-                       // Buffer sizes should be enough, according to doc.
-                       char key[1024+1], value[1024+1];
-                       char *p;
-
-                       if (NXIsSpace(c)) continue;
-                       if (c == '#') {
-                               while ((c = NXGetc(stream)) >= 0 && c != '\n') ;
-                               continue;
-                       }
-                       // Found key; collect it.
-                       p = key;
-                       do {
-                               if (p < &key[sizeof key-1]) *p++ = c;
-                       } while ((c = NXGetc(stream)) >= 0 && !NXIsSpace(c));
-                       *p = '\0';
-
-                       // Skip over spaces and tabs.
-                       while (c == ' ' || c == '\t') c = NXGetc(stream);
-
-                       // Value is rest of line, up to newline.
-                       p = value;
-                       do {
-                               if (p < &value[sizeof value-1]) *p++ = c;
-                       } while ((c = NXGetc(stream)) >= 0 && c != '\n');
-                       *p = '\0';
-
-                       // Insert key/value pair in hashtable.
-#if DEBUG & 1
-                       fprintf(stderr, "key:%s value:%s\n", key, value);
-#endif
-                       [table insertKey:NXCopyStringBuffer(key)
-                        value:NXCopyStringBuffer(value)];
-               }
-
-               NXCloseMemory(stream, NX_FREEBUFFER);
-       }
-       return self;
-
-}
-
--loadContentsOf:(const char *)type inTable:(HashTable *)table
-{
-       char path[MAXPATHLEN+1];
-       NXStream *stream;
-
-       if (stream = NXMapFile([self getPath:path forType:type], NX_READONLY)) {
-               char line[1024+1];
-               int n = NXRead(stream, line, sizeof line);
-
-               if (n > 0 && line[n-1] == '\n') line[n-1] = '\0';       // remove trailing newline.
-
-               NXCloseMemory(stream, NX_FREEBUFFER);
-
-               [table insertKey:NXCopyStringBuffer(type)
-                value:NXCopyStringBuffer(line)];
-       }
-       return self;
-}
-
--loadImage
-{
-       char path[MAXPATHLEN+1];
-       NXImage *image;
-
-       // Remove old image from the button.
-       if (image = [packageIconButton image]) {
-               [packageIconButton setImage:nil];
-               [image free];
-       }
-       // Get the image (if any) from the package
-       image = [[NXImage allocFromZone:[self zone]] initFromFile:[self getPath:path forType:"tiff"]];
-       [packageIconButton setImage:image];
-
-       return self;
-}
-
-
-#define STAT_EQ(s1, s2)        ((s1)->st_ino == (s2)->st_ino && \
-                        (s1)->st_dev == (s2)->st_dev && \
-                        (s1)->st_mtime == (s2)->st_mtime && \
-                        (s1)->st_size == (s2)->st_size)
-
--(BOOL)shouldLoad
-{
-       char path[MAXPATHLEN+1];
-       struct stat newstats[NUMSTATS];
-       static const char * const typesToStat[NUMSTATS] = { TYPESTOSTAT };
-       BOOL result = NO;
-       int i;
-
-       for (i = 0;  i < NUMSTATS;  i++) {
-               memset(&newstats[i], 0, sizeof(struct stat));
-               if (!(stat([self getPath:path forType:typesToStat[i]], &newstats[i]) == 0 &&
-                     STAT_EQ(&newstats[i], &stats[i]))) {
-                       result = YES;
-                       ///break; // NOT!!! must stat all for accurate cache.
-               }
-               stats[i] = newstats[i];
-       }
-
-       return result;
-}
-
--toggleDescription
-{
-       switch (revertButtonState) {
-       case listContents:
-               // TODO: swap views?
-               revertButtonState = listDescription;
-               break;
-       case listDescription:
-               revertButtonState = listContents;
-               break;
-       }
-       return [self setRevertButtonTitle];
-}
-
-
-// Support methods
--(const char *)getPath:(char *)buf forType:(const char *)type
-{
-       char name[MAXPATHLEN+1];
-
-       // Get package name, sans extension.
-       *strrchr(strcpy(name, strrchr([package directory], '/')+1), '.') = '\0';
-
-       // Now get the full pathname.
-       [package getPath:buf forResource:name ofType:type];
-#if DEBUG & 2
-       fprintf(stderr, "PackageInspector: type=\"%s\" name=\"%s\" path=\"%s\"\n",
-               type, name, buf);
-#endif
-       return buf;
-}
-
--setRevertButtonTitle
-{
-#if LISTCONTENTS
-       [[[self revertButton]
-         setTitle:LOCALIZE(revertButtonState == listContents ?
-                           "List Contents" : "Description")]
-        setEnabled:YES];
-#endif
-       return self;
-}
-
--(const char *)formatSize:(const char *)size inBuf:(char *)buf
-{
-       // [TRH] this is very simplistic (but seems consistent with Installer.app)
-       if (!size) {
-               strcpy(buf, "???");
-       }
-       else {
-               int len = strlen(size);
-               if (len < 4) {
-                       sprintf(buf, "%s%s", size, KBYTES);
-               }
-               else if (len < 6) {
-                       sprintf(buf, "%.*s.%.*s%s",
-                               (len-3), size, 3-(len-3), size+(len-3), MBYTES); 
-               }
-               else {
-                       sprintf(buf, "%.*s%s", (len-3), size, MBYTES);
-               }
-       }
-       return buf;
-}
-
-// Determine architectures, in separate subprocess.
-
-#define WORKING        " ..."  // `I'm still busy' indicator.
-
--(void)getArchs
-{
-       char command[2*MAXPATHLEN+10+1];
-
-       if (archProcess) [archProcess terminate:self];
-
-       [packageArchesField setStringValue:WORKING];
-
-       [bundle getPath:command forResource:"archbom" ofType:NULL];
-       strcat(command, " ");
-       [self getPath:&command[strlen(command)] forType:"bom"];
-       archProcess = [[Subprocess allocFromZone:[self zone]] init:command
-                      withDelegate:self andPtySupport:NO andStdErr:NO];
-}
-
--(void)addArchs:(const char *)string
-{
-       char result[1024];      // Should be big enough...
-       const char *s;
-       char *d;
-
-       strcpy(result, [packageArchesField stringValue]);
-       if ((d = strstr(result, WORKING)) != NULL) {
-               *d = '\0';
-       }
-       else {
-               d = result + strlen(result);
-       }
-       if ((s = string)) {
-               do {
-                       char name[100];
-                       char *t = name;
-
-                       while (*s && !NXIsAlNum(*s)) {
-                               if (*s == '\n') {
-                                       *d++ = ' ', s++;
-                               }
-                               else {
-                                       *d++ = *s++;
-                               }
-                       }
-                       while (NXIsAlNum(*s)) *t++ = *s++;
-                       *t = '\0';
-                       if (t > name) {
-#if DEBUG & 4
-                               fprintf(stderr, "addArchs:\"%s\" localized: \"%s\"\n", name, LOCALIZE_ARCH(name));
-#endif
-                               strcpy(d, LOCALIZE_ARCH(name));
-                               d += strlen(d);
-                       }
-               } while (*s);
-
-               strcpy(d, WORKING);
-       }
-       [packageArchesField setStringValue:result];
-       [window displayIfNeeded]; // necessary??
-}
-
--subprocess:(Subprocess *)sender output:(char *)buffer
-{
-       if (sender == archProcess) {
-               [self addArchs:buffer];
-       }
-       return self;
-}
-
--subprocessDone:(Subprocess *)sender
-{
-       if (sender == archProcess) {
-               archProcess = nil;
-               [self addArchs:NULL];
-       }
-       [sender free];
-       return self;
-}
-
-static void openInWorkspace(const char *filename)
-{
-       // Indirect approach to circumvent Workspace deadlock/timeout.
-       char command[14+3*MAXPATHLEN+1];
-       const char *s;
-       char *d = command;
-
-       for (s = "exec open '"; *s; ) *d++ = *s++;
-       // Escape single quote characters.
-       for (s = filename; *s; ) {
-               if ((*d++ = *s++) == '\'') {
-                       *d++ = '\\', *d++ = '\'', *d++ = '\'';
-               }
-       }
-       for (s = "'&"; *d++ = *s++; ) ;
-       system(command);
-}
-
--open:sender
-{
-       openInWorkspace([package directory]);
-       return self;
-}
-
-@end
-
-/*======================================================================
- * PackageInspector.m,v
- * Revision 1.8  1995/09/01 21:46:27  tom
- * Circumvent open deadlock/timeout (when Installer.app is not yet launched);
- * (openInWorkspace): new private function; (-open:): new method.
- *
- * Revision 1.7  1995/07/30 22:20:26  tom
- * (LOCALIZE_ARCH): new macro; (-addArchs:): new method;
- * (-subprocess:output:,-subprocessDone:) use it.
- *
- * Revision 1.6  1995/07/30 16:59:51  tom
- * import Subprocess.h; (archProcess): new ivar;
- * (-getArchs,-subprocess:output:,-subprocessDone:): new methods;
- * added for asynchronous arch-determination.
- *
- * Revision 1.5  1995/07/29 19:13:35  tom
- * (+new): avoid reassignment of self;
- *  make packageDescriptionText vertically resizable;
- * (-shouldLoad): rewritten to generalized array-driven approach.
- *
- * Revision 1.4  1995/04/02 02:39:01  tom
- * (package): NXBundle instead of (const char *). so that localized info files
- *  are found. (this loses out if *.pkg is a symbolic link, though.)
- *
- * Revision 1.3  1994/12/07 00:00:36  tom
- * (RCSid): add spaces.
- *
- * Revision 1.2  1994/11/25 21:27:18  tom
- * (package ivar): use (char*) instead of (NXBundle*) to workaround symlink problems
- *
- * Revision 1.1  1994/11/25 16:13:12  tom
- * Initial revision
- *
- *======================================================================*/
diff --git a/test/manual/etags/objc-src/Subprocess.h b/test/manual/etags/objc-src/Subprocess.h
deleted file mode 100644 (file)
index 7e586a1..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
-       Subprocess.h    (v10)
-       by Charles L. Oei
-       pty support by Joe Freeman
-       with encouragement from Kristofer Younger
-       Subprocess Example, Release 2.0
-       NeXT Computer, Inc.
-
-       You may freely copy, distribute and reuse the code in this example.
-       NeXT disclaims any warranty of any kind, expressed or implied, as to
-       its fitness for any particular use.
-
-       Hacked up for use in PackageInspector by Tom Hageman.
-*/
-
-#import <objc/Object.h>
-#import <stdio.h>
-
-/*
-    This subprocess object sends/receives data to/from any UNIX
-    subprocess asynchronously (via vfork/pipe).
-    Its delegate, if any, will receive the following messages:
-
-       - subprocessDone;
-           // sent when the subprocess exits
-    
-       - subprocessOutput:(char *)buffer;
-           // sent whenever there is data on the standard output pipe;
-           // buffer is only valid until next call
-       
-       - subprocessError:(const char *)errorString;
-           // sent when an error occurs;
-           // if it ever happens, it's usually only at startup time
-
-       // [TRH] and this is how these should have been done in the first place...
-       - subprocessDone:(SubProcess *)sender;
-       - subprocess:(SubProcess *)sender output:(char *)buffer;        
-*/
-
-// Hack to uniquize classname (to avoid dynload errors.)
-#define Subprocess SubprocessForPackageInspector
-
-#define BUFFERSIZE 2048
-
-@interface Subprocess:Object
-{
-    FILE *fpToChild;
-    int fromChild;
-    int childPid;
-    id delegate;
-    int masterPty;     // file descriptor for master/slave pty
-    int slavePty;
-    int bufferCount;
-    char outputBuffer[BUFFERSIZE];
-}
-
-- init:(const char *)subprocessString;
-    // a cover for the below withDelegate:nil, andPtySupport:NO, andStdErr:YES
-
-- init:(const char *)subprocessString
-    withDelegate:theDelegate
-    andPtySupport:(BOOL)wantsPty
-    andStdErr:(BOOL)wantsStdErr;
-    // optional requests for pseudo terminal support and
-    // redirecting the standard error stream thru standard output
-
-- send:(const char *)string withNewline:(BOOL)wantNewline;
-    // send the string optionally followed by a new line
-- send:(const char *)string;
-    // sends the string followed by a new line
-    // shorthand for above withNewline:YES
-- terminateInput;
-    // sends an end-of-file (EOF) to the subprocess
-    // (and closes input pipe to child)
-- terminate:sender;
-    // forces the subprocess to terminate (w/ SIGTERM)
-
-- setDelegate:anObject;
-- delegate;
-
-@end
diff --git a/test/manual/etags/objc-src/Subprocess.m b/test/manual/etags/objc-src/Subprocess.m
deleted file mode 100644 (file)
index 2d8d586..0000000
+++ /dev/null
@@ -1,343 +0,0 @@
-/*
-       Subprocess.m    (v10)
-       by Charles L. Oei
-       pty support by Joe Freeman
-       Subprocess Example, Release 2.0
-       NeXT Computer, Inc. 
-
-       You may freely copy, distribute and reuse the code in this example.
-       NeXT disclaims any warranty of any kind, expressed or implied, as to
-       its fitness for any particular use.
-*/
-
-#import "Subprocess.h"
-// #import <sgtty.h>   // needed to compile under Release 1.0
-#import <appkit/nextstd.h>
-#import <appkit/Application.h>
-#import <appkit/Panel.h>
-#import <sys/wait.h>
-
-#define        PTY_TEMPLATE "/dev/pty??"
-#define        PTY_LENGTH 11
-
-static void showError();
-
-
-/*==========================================================
- *
- * Private Instance Methods
- *
- *==========================================================*/
-
-@interface Subprocess(Private)
-- childDidExit;
-- fdHandler:(int)theFd;
-@end
-
-@implementation Subprocess(Private)
-
-- childDidExit
-    // cleanup after a child process exits
-{
-    if (childPid)
-    {
-       union wait exitstatus;
-       int waitresult;
-
-       DPSRemoveFD(fromChild);
-       close(fromChild);
-       fclose(fpToChild);
-       // Cleanup zombie processes. (blocking wait is too dangerous here...)
-       waitresult = wait4(childPid, &exitstatus, WNOHANG, NULL);
-       if (waitresult != childPid) {
-               /* XXX should handle this gracefully, e.g, timed entry. */
-       }
-       childPid=0;     // specify that child is dead
-       if (delegate)
-       {    
-           if ([delegate respondsTo:@selector(subprocessDone:)])
-               [delegate perform:@selector(subprocessDone:) with:self];
-           else if ([delegate respondsTo:@selector(subprocessDone)])
-               [delegate perform:@selector(subprocessDone)];
-       }
-    }
-    return self;
-}
-
-- fdHandler:(int)theFd
-    // DPS handler for output from subprocess
-{
-    if ((bufferCount = read(theFd, outputBuffer, BUFFERSIZE-1)) <= 0)
-    {
-       [self childDidExit];
-       return self;
-    }
-    outputBuffer[bufferCount] = '\0';
-    if (delegate)
-    {
-        if ([delegate respondsTo:@selector(subprocess:output:)])
-           [delegate perform:@selector(subprocess:output:)
-                 with:self with:(void *)&outputBuffer];
-        else if ([delegate respondsTo:@selector(subprocessOutput:)])
-           [delegate perform:@selector(subprocessOutput:)
-                 with:(void *)&outputBuffer];
-    }
-    return self;
-}
-
-@end
-
-
-/*==========================================================
- *
- * Private Utility Routines
- *
- *==========================================================*/
-static void
-showError (const char *errorString, id theDelegate)
-    // ensure errors never get dropped on the floor
-{
-    if (theDelegate && [theDelegate respondsTo:@selector(subprocessError:)])
-       [theDelegate
-           perform:@selector(subprocessError:)
-           with:(void *)errorString];
-    else if (NXApp)    // no delegate, but we're running w/in an App
-       NXRunAlertPanel(0, errorString, 0, 0, 0);
-    else
-       perror(errorString);
-}
-
-static void
-fdHandler (int theFd, id self)
-    // DPS handler for output from subprocess
-{
-    [self fdHandler:theFd];
-}
-
-static void
-getptys (int *master, int *slave)
-    // attempt to setup the ptys
-{
-    char device[PTY_LENGTH];
-    char *block, *num;
-    char *blockLoc; // specifies the location of block for the device string
-    char *numLoc; // specifies the pty name with the digit ptyxD
-    char *msLoc; // specifies the master (ptyxx) or slave (ttyxx)
-    
-    struct sgttyb setp =
-       {B9600, B9600, (char)0x7f, (char)0x15, (CRMOD|ANYP)};
-    struct tchars setc =
-       {CINTR, CQUIT, CSTART, CSTOP, CEOF, CBRK};
-    struct ltchars sltc =
-       {CSUSP, CDSUSP, CRPRNT, CFLUSH, CWERASE, CLNEXT};
-    int        lset =
-       (LCRTBS|LCRTERA|LCRTKIL|LCTLECH|LPENDIN|LDECCTQ);
-    int        setd = NTTYDISC;
-    
-    strcpy(device, PTY_TEMPLATE); // string constants are not writable
-    blockLoc = &device[ strlen("/dev/pty") ];
-    numLoc = &device[ strlen("/dev/pty?") ];
-    msLoc = &device[ strlen("/dev/") ];
-    for (block = "pqrs"; *block; block++)
-    {
-       *blockLoc = *block;
-       for (num = "0123456789abcdef"; *num; num++)
-       {
-           *numLoc = *num;
-           *master = open(device, O_RDWR);
-           if (*master >= 0)
-           {
-               *msLoc = 't';
-               *slave = open(device, O_RDWR);
-               if (*slave >= 0)
-               {
-                   (void) ioctl(*slave, TIOCSETP, (char *)&setp);
-                   (void) ioctl(*slave, TIOCSETC, (char *)&setc);
-                   (void) ioctl(*slave, TIOCSETD, (char *)&setd);
-                   (void) ioctl(*slave, TIOCSLTC, (char *)&sltc);
-                   (void) ioctl(*slave, TIOCLSET, (char *)&lset);
-                   return;
-               } else {
-                   // close the master and reset the device
-                   // name so that the master opens it properly
-                   *msLoc = 'p';
-                   close(*master);
-               }
-           }
-       } /* hunting through a bank of ptys */
-    } /* hunting through blocks of ptys in all the right places */
-    *master = -1;
-    *slave = -1;
-}
-
-
-@implementation Subprocess
-
-/*==========================================================
- *
- * Public Instance Methods
- *
- *==========================================================*/
-
-- init:(const char *)subprocessString
-    // a cover for the below withDelegate:nil, andPtySupport:NO, andStdErr:YES
-{
-    return
-       [self
-           init:subprocessString
-           withDelegate:nil
-           andPtySupport:NO
-           andStdErr:YES];
-}
-
-- init:(const char *)subprocessString
-    withDelegate:theDelegate
-    andPtySupport:(BOOL)wantsPty
-    andStdErr:(BOOL)wantsStdErr
-    // initializes an instance of Subprocess and corresponding UNIX process
-{
-    int pipeTo[2];             // for non-Pty support
-    int pipeFrom[2];
-    int        tty, numFds, fd;        // for temporary use
-    int processGroup;
-    int pidChild;              // needed because childPid does not exist
-                               // until Subprocess is instantiated
-
-    if (wantsPty)
-    {
-       tty = open("/dev/tty", O_RDWR);
-       getptys(&masterPty,&slavePty);
-       if (masterPty <= 0 || slavePty <= 0)
-       {
-           showError("Error grabbing ptys for subprocess.", theDelegate);
-           return self;
-       }
-       // remove the controlling tty if launched from a shell,
-       // but not Workspace;
-       // so that we have job control over the parent application in shell
-       // and so that subprocesses can be restarted in Workspace
-       if  ((tty<0) && ((tty = open("/dev/tty", 2))>=0))
-       {
-           ioctl(tty, TIOCNOTTY, 0);
-           close(tty);
-       }
-    }
-    else
-    {
-       if (pipe(pipeTo) < 0 || pipe(pipeFrom) < 0)
-       {
-           showError("Error starting UNIX pipes to subprocess.", theDelegate);
-           return self;
-       }
-    }
-    
-    switch (pidChild = vfork())
-    {
-    case -1:   // error
-       showError("Error starting UNIX vfork of subprocess.", theDelegate);
-       return self;
-
-    case 0:    // child
-       if (wantsPty)
-       {
-           dup2(slavePty, 0);
-           dup2(slavePty, 1);
-           if (wantsStdErr)
-               dup2(slavePty, 2);
-       }
-       else
-       {
-           dup2(pipeTo[0], 0);
-           dup2(pipeFrom[1], 1);
-           if (wantsStdErr)
-               dup2(pipeFrom[1], 2);
-       }
-       
-       numFds = getdtablesize();
-       for (fd=3; fd<numFds; fd++)
-           close(fd);
-
-       processGroup = getpid();
-       ioctl(0, TIOCSPGRP, (char *)&processGroup);
-       setpgrp (0, processGroup);
-       
-       // we exec a /bin/sh so that cmds are easier to specify for the user
-       execl("/bin/sh", "sh", "-c", subprocessString, 0);
-       perror("vfork (child)"); // should never gets here tho
-       exit(1);
-
-    default:   // parent
-       [self setDelegate:theDelegate];
-       childPid = pidChild;
-
-       if (wantsPty)
-       {
-           close(slavePty);
-           
-           fpToChild = fdopen(masterPty, "w");
-           fromChild = masterPty;
-       }
-       else
-       {
-           close(pipeTo[0]);
-           close(pipeFrom[1]);
-    
-           fpToChild = fdopen(pipeTo[1], "w");
-           fromChild = pipeFrom[0];
-       }
-
-       setbuf(fpToChild, NULL);
-       DPSAddFD(
-           fromChild,
-           (DPSFDProc)fdHandler,
-           (id)self,
-           NX_MODALRESPTHRESHOLD+1);
-       return self;
-    }
-}
-
-- send:(const char *)string withNewline:(BOOL)wantNewline
-{
-    fputs(string, fpToChild);
-    if (wantNewline)
-        fputc('\n', fpToChild);
-    return self;
-}
-
-- send:(const char *)string
-{
-    [self send:string withNewline:YES];
-    return self;
-}
-
-- terminateInput
-    // effectively sends an EOF to the child process stdin
-{
-    fclose(fpToChild);
-    return self;
-}
-
-- terminate:sender
-{
-    if (childPid)
-    {
-       //kill(childPid+1, SIGTERM);
-       killpg(childPid, SIGTERM);
-       [self childDidExit];
-    }
-    return self;
-}
-
-- setDelegate:anObject
-{
-    delegate = anObject;
-    return self;
-}
-
-- delegate
-{
-    return delegate;
-}
-
-@end
diff --git a/test/manual/etags/objcpp-src/SimpleCalc.H b/test/manual/etags/objcpp-src/SimpleCalc.H
deleted file mode 100644 (file)
index 121ae6b..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-//     SimpleCalc -- Randy Nelson -- NeXT Developer Training
-//     A general class that serves as a liaison between a calculator interface
-//     and a calculator engine.
-//
-//  You may freely copy, distribute and reuse the code in this example.
-//  NeXT disclaims any warranty of any kind, expressed or implied, as to
-//  its fitness for any particular use.
-//
-//     Created 8-8-90
-//
-#import <objc/Object.h>
-
-@interface SimpleCalc:Object
-{
-    // outlets...the front-end.
-    id                         display;
-    id                 enterKey;
-    id                 minusKey;
-    id                 infoManager;
-    id                 myNXStringTable;
-
-    // C++ object's can be a-part-of Objective-C objects.
-    class CalcEngine   *cplus_object;  
-
-    // record each previous user action
-    SEL                        previousAction;
-}
-
-// actions.
-
-- numberKeys:sender;
-- decimalKey:sender;
-- operationKeys:sender;
-- equalsKey:sender;
-- clearKey:sender;
-- clearAllKey:sender;
-- infoPanel:sender;
-- helpPanel:sender;
-
-// delegate methods.
-
-- windowWillClose:sender;
-- appDidInit:sender;
-
-- registerAction:(SEL)action;
-- appendToDisplay:(const char *)theString;
-
-@end
diff --git a/test/manual/etags/objcpp-src/SimpleCalc.M b/test/manual/etags/objcpp-src/SimpleCalc.M
deleted file mode 100644 (file)
index 34846a7..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-//     SimpleCalc -- Randy Nelson -- NeXT Developer Training
-//     A general class that serves as a liaison between a calculator interface
-//     and a calculator engine.
-//
-//     You may freely copy, distribute and reuse the code in this example.
-//     NeXT disclaims any warranty of any kind, expressed or implied, as to
-//     its fitness for any particular use.
-//
-//     Created 8-22-90
-//
-//     C++ "linkage" directive - tells the C++ compiler that the following 
-//     interface files contain Objective-C code.
-
-extern "Objective-C"           
-{                              
-#import <appkit/Application.h>
-#import <appkit/Panel.h>
-#import <appkit/TextField.h>
-#import <appkit/Button.h>
-}
-
-extern "C"
-{
-#import <appkit/publicWraps.h>
-#import <objc/error.h>
-#import <objc/NXStringTable.h>
-#import <strings.h>
-}
-
-//     The C++ "linkage" directive serves two purposes (when importing
-//     interface files that contain straight ANSI-C/Objective-C code). It:
-//
-//     (a) allows you to link with libraries that have not been compiled with
-//     the C++ compiler. Since libraries on the NeXT computer are compiled 
-//     with the Objective-C compiler (cc, not cc++), you must use the C++ 
-//     linkage directive when importing interface files that represent NeXT 
-//     libraries (or any library that is not compiled with cc++). 
-//
-//     (b) tells the compiler to ignore C++ keywords that will result in
-//     syntax errors when importing ANSI-C/Objective-C interface files. 
-//     The linkage directive essentially tells the C++ compiler to treat 
-//     keywords (such as "new", "delete", etc.) as normal identifiers.
-
-#import "SimpleCalc.h"
-#import "CalcEngine.h"
-#import "InfoManager.h"
-
-@implementation SimpleCalc
-
-// Initialize an instance of the SimpleCalc class.  One instance variable of
-// that class is the C++ calculator engine.
-- init
-{
-    cplus_object = new CalcEngine; // new is a keyword in C++.
-    previousAction = 0; 
-    return self;
-}
-
-// Append a new digit entered by the user to the text field display.
-- appendToDisplay:(const char *)theDigit
-{
-    char *copyOfDisplay = NXCopyStringBuffer([display stringValue]);
-
-    [display setStringValue: strcat(copyOfDisplay, theDigit)];
-
-    return self;
-}
-
-// We need to keep a history of one action to make decisions about the display.
-- registerAction:(SEL)action
-{
-    previousAction = action;
-    return self;
-}
-
-// The user has pushed the decimal key on the calculator.
-- decimalKey:sender
-{
-    if (previousAction == @selector(operationKeys:))
-       [display setStringValue:"."];
-    else {
-       if (strchr([display stringValue], '.'))
-           NXBeep();
-       else 
-           [self appendToDisplay:"."];
-    }
-    return [self registerAction:_cmd];
-}
-
-// One of the number keys was selected by the user.
-- numberKeys:sender
-{      
-    char aDigit[2];
-    int digit = [sender selectedTag];
-
-    sprintf(aDigit, "%d", digit);
-
-    if (previousAction == @selector(operationKeys:) ||
-       previousAction == @selector(equalsKey:))
-    {
-       [display setStringValue:aDigit];
-    } else {
-       if ([display doubleValue] == 0 && !strchr([display stringValue], '.'))
-           [display setStringValue:aDigit];
-       else
-           [self appendToDisplay:aDigit];
-    }
-    return [self registerAction:_cmd];
-}
-
-// The user pressed the equals key on the calculator interface.
-- equalsKey:sender
-{
-    if (previousAction == 0) 
-       NXBeep();
-    else {
-       NX_DURING
-           [display setDoubleValue:
-               cplus_object->equalsKey([display doubleValue])];
-       NX_HANDLER
-           NXRunAlertPanel(
-               [myNXStringTable valueForStringKey:"operationFailed"], 
-               [myNXStringTable valueForStringKey:NXLocalHandler.data1],
-               [myNXStringTable valueForStringKey:"OK"], NULL, NULL);
-       NX_ENDHANDLER
-    }
-    return [self registerAction:_cmd];
-}
-
-// The user pressed one of the operation keys.
-- operationKeys:sender
-{
-    if (previousAction == 0) 
-       NXBeep();
-    else if (previousAction == @selector(operationKeys:)) 
-       cplus_object->setOperation([sender selectedTag]);
-    else {
-       NX_DURING
-           [display setDoubleValue:
-               cplus_object->operationKeys([sender selectedTag],
-                                           [display doubleValue])];
-       NX_HANDLER
-           NXRunAlertPanel(
-               [myNXStringTable valueForStringKey:"operationFailed"], 
-               [myNXStringTable valueForStringKey:NXLocalHandler.data1],
-               [myNXStringTable valueForStringKey:"OK"], NULL, NULL);
-       NX_ENDHANDLER
-    }
-    return [self registerAction:_cmd];
-}
-
-// User pressed the Clear key.
-- clearKey:sender
-{
-    [display setStringValue:"0"];
-    return self;
-}
-
-// User pressed the Clear All key.
-- clearAllKey:sender
-{
-    cplus_object->clear();
-    [self registerAction:0];
-    return [self clearKey:sender];
-}
-
-// Called just after the application initializes and starts up.
-- appDidInit:sender
-{      
-    // Set the Enter key on the keypad to be equivalent to the = key.
-    [[display window] addToEventMask:NX_SYMBOLSET];
-    [enterKey setKeyEquivalent:3];
-    [[display window] makeKeyAndOrderFront:self];
-    return self;
-}
-
-// Called just before the window closes.
-- windowWillClose:sender
-{
-    return [NXApp terminate:self];
-}
-
-// Brings up the Info panel.   Not done on startup because it's in a separate
-// interface file.  Saves startup time for the user if we do this when they ask
-// for it, and not before.
-- infoPanel:sender
-{
-    if(infoManager == nil){
-       infoManager = [[InfoManager alloc] init];
-    }
-    [infoManager orderInfoPanelFront:sender];
-    return self;       
-}
-
-// Brings up the Help panel.   Not done on startup because it's in a separate
-// interface file.  Saves startup time for the user if we do this when they ask
-// for it, and not before.
-- helpPanel:sender
-{
-    if(infoManager == nil){
-       infoManager = [[InfoManager alloc] init];
-    }
-    [infoManager orderHelpPanelFront:sender];
-    return self;       
-}
-
-@end
diff --git a/test/manual/etags/pas-src/common.pas b/test/manual/etags/pas-src/common.pas
deleted file mode 100644 (file)
index ec8e80c..0000000
+++ /dev/null
@@ -1,1545 +0,0 @@
-#include "common.i"
-#include "common.h"
-
-type
-  NSPoolP = ^NSPoolRec;
-  NSPoolRec = record
-    Data: NameStringPointer;
-    Next: NSPoolP;
-  end;
-
-var
-  GlobalNSPool: record
-    Avail, Empty: NSPoolP;
-  end;
-
-var
-  AvailString : TextString;
-  NameList : BinNodePointer;  
-  AvailNameList : BinNodePointer;  
-
-
-
-(*------------------------------------------------------------------*) 
-(*                    InitializeStringPackage                       *) 
-(*------------------------------------------------------------------*) 
-procedure InitializeStringPackage;
-begin (* InitializeStringPackage *) 
-  AvailString := nil;
-end; (* InitializeStringPackage *) 
-
-(*------------------------------------------------------------------*) 
-(*                    newtextstring                                 *) 
-(*------------------------------------------------------------------*) 
-function newtextstring; (*: TextString;*)
-var
-  Temp : TextString;
-begin (* newtextstring *) 
-  if AvailString = nil then
-    new (Temp)
-  else begin
-    Temp := AvailString;
-    AvailString := Temp^.Next;
-  end;
-  Temp^.String.Length := 0;
-  Temp^.Next := nil;
-  newtextstring := Temp;
-end; (* newtextstring *) 
-
-(*------------------------------------------------------------------*) 
-(*                    disposetextstring                             *) 
-(*------------------------------------------------------------------*) 
-procedure disposetextstring;(*(
-  var S : TextString);*)
-var
-  Temp : TextString;
-  Temp2 : TextString;
-begin (* disposetextstring *) 
-  if S <> nil then begin
-    Temp := S;
-(*
-    while Temp^.Next <> nil do
-      Temp := Temp^.Next;
-    Temp^.Next := AvailString;
-    AvailString := S;
-*)
-    S := nil;
-    repeat
-      Temp2 := Temp^.Next;
-      dispose(Temp);
-      Temp := Temp2;
-    until Temp = nil;
-   end;
-end; (* disposetextstring *) 
-
-(*------------------------------------------------------------------*) 
-(*                    ConcatT                                       *) 
-(*------------------------------------------------------------------*) 
-function ConcatT;(*(
-  ToString : TextString;
-  S        : TextString) : TextString;*)
-var
-  Index : integer;
-begin (* ConcatT *) 
-  ConcatT := ToString;
-  if ToString = nil then
-    writeln (output, 'Error in ConcatT, ToString is nil')
-  else
-    if S = nil then
-      writeln (output, 'Error in ConcatT, S is nil')
-    else
-      if S^.Next <> nil then
-        writeln (output,
-          'Error in ConcatT, S contains several linked TextStrings')
-      else begin
-        while ToString^.Next <> nil do
-          ToString := ToString^.Next;
-        if ToString^.String.Length+S^.String.Length > NameStringLength then begin
-          ToString^.Next := newtextstring;
-          ToString := ToString^.Next;
-        end;
-        with ToString^, String do begin
-          for Index := 1 to S^.String.Length do
-            Value[Length+Index] := S^.String.Value[Index];
-          Length := Length+S^.String.Length;
-        end;
-      end;
-end; (* ConcatT *) 
-
-(*------------------------------------------------------------------*) 
-(*                    AppendTextString                              *) 
-(*------------------------------------------------------------------*) 
-function AppendTextString;(*(
-  ToString : TextString;
-  S        : TextString) : TextString;*)
-begin (* AppendTextString *) 
-  AppendTextString := ToString;
-  if ToString = nil then
-    writeln (output, 'Error in AppendTextString, ToString is nil')
-  else
-    if S = nil then
-      writeln (output, 'Error in AppendTextString, S is nil')
-    else begin
-      while ToString^.Next <> nil do
-        ToString := ToString^.Next;
-      ToString^.Next := S;
-    end;
-end; (* AppendTextString *) 
-
-(*------------------------------------------------------------------*) 
-(*                    CopyTextString                                *) 
-(*------------------------------------------------------------------*) 
-function CopyTextString;(*(
-  S : TextString
-  ) : TextString;*)
-var
-  Temp : TextString;
-begin   (* CopyTextString *) 
-  if S <> nil then begin
-    Temp := newtextstring;
-    Temp^.String := S^.String;
-    Temp^.Next := CopyTextString(S^.Next);
-    CopyTextString := Temp;
-  end
-  else
-    CopyTextString := nil;
-end;    (* CopyTextString *) 
-
-(*------------------------------------------------------------------*)
-(*                    CONVERT_CHARSTRING_TO_VALUE                   *)
-(*------------------------------------------------------------------*)
-procedure CONVERT_CHARSTRING_TO_VALUE;(*(
-      S : NameString;
-  var V : NameString);*)
-var
-  Pos : integer;
-  VPos : integer;
-  Ch : char;
-begin (* CONVERT_CHARSTRING_TO_VALUE *)
-  VPos := 0;
-  for Pos := 2 to S.Length - 1 do begin
-    Ch := S.Value[Pos];
-    if not ((Ch = '''') and (Pos > 2) and (S.Value[Pos - 1] = '''')) then
-      VPos := VPos + 1;
-    V.Value[VPos] := Ch;
-  end;
-  V.Length := VPos;
-end; (* CONVERT_CHARSTRING_TO_VALUE *)
-
-(*------------------------------------------------------------------*)
-(*                    append_string                                 *)
-(*------------------------------------------------------------------*)
-procedure append_string;(*(
-  var Txt    : TextString;
-  var String : NameString);*)
-var
-  Temp : TextString;
-begin (* append_string *)
-  Temp := newtextstring;
-  Temp^.String := String;
-  if Txt = nil then
-    Txt := Temp
-  else
-    Txt := AppendTextString(Txt, Temp);
-end; (* append_string *)
-
-function To_Upper;(*(ch:char) : char;*)
-begin
-  if ch in ['a'..'z'] then
-    To_Upper := chr(ord(ch) + ord('A')-ord('a'))
-  else
-    To_Upper := ch;
-end;
-
-function To_Lower;(*(ch:char) : char;*)
-begin
-  if ch in ['A'..'Z'] then
-    To_Lower := chr(ord(ch) - ord('A') + ord('a'))
-  else
-    To_Lower := ch;
-end;
-
-(*----------------------------------------------------------------------*)
-(*              Operations on NameString                                *)
-(*----------------------------------------------------------------------*)
-
-(*------------------------------------------------------------------*)
-(*                    EmptyNmStr                                    *)
-(*------------------------------------------------------------------*)
-function EmptyNmStr(* : NameString*);
-var
-  Nm : NameString;
-begin   (* EmptyNmStr *)
-  Nm.Length := 0;
-  EmptyNmStr := Nm;
-end;    (* EmptyNmStr *)
-
-
-(* returns a namestring containing one character, the inparameter Ch *)
-function chartonmstr; (*(
-  Ch : Char) : NameString; *)
-var
-  String : NameString;
-begin
-  String.Value[1] := Ch;
-  String.Length := 1;
-  chartonmstr := String;
-end;
-
-(* returns a namestring containing the inparameter Str in lowercase letters *)
-function LowerCaseNmStr; (*(
-  Str : NameString) : NameString; *)
-var
-  i : integer;
-begin (* LowerCaseNmStr *)
-  with Str do
-    for i := 1 to Length do
-      Value[i] := To_Lower(Value[i]);
-  LowerCaseNmStr := Str;
-end; (* LowerCaseNmStr *)
-
-(* returns a namestring containing inparameter S1 concatenated with inpar. S2 *)
-function concatenatenamestrings; (*(
-  S1 : NameString;
-  S2 : NameString) : NameString; *)
-var
-  Temp : NameString;
-  Pos : integer;
-begin (* concatenatenamestrings *)
-  Temp := S1;
-  with Temp do begin
-    Pos := 0;
-    while Pos < S2.Length do begin
-      Pos := Pos + 1;
-      if Length < NameStringLength then begin
-        Length := Length + 1;
-        Value[Length] := S2.Value[Pos];
-      end;
-    end; (* while *)
-  end; (* with *)
-  concatenatenamestrings := Temp;
-end; (* concatenatenamestrings *)
-
-procedure writenamestring;(*(
-  var TextFile : text;
-  var Name     : NameString);*)
-var
-  Pos : integer;
-begin
-  with Name do
-    for Pos := 1 to Length do
-      write(TextFile, Value[Pos]);
-end;
-
-(*------------------------------------------------------------------*)
-(*                    IsControlChar                                 *)
-(*------------------------------------------------------------------*)
-function IsControlChar; (*(
-  Ch : char) : boolean; *)
-begin (* IsControlChar *)
-  IsControlChar := ord(Ch) in [0..32, 127];
-end; (* IsControlChar *)
-
-function namestringequal;(*(var Name1,Name2 : NameString) : Boolean;*)
-var i : Integer;
-    equal : Boolean;
-begin
-  if Name1.Length = Name2.Length then begin
-    equal := true;
-    i := 1;
-    while (i <= Name1.Length) and equal do begin
-       equal := To_Upper(Name1.Value[i]) = To_Upper(Name2.Value[i]);
-       i := i + 1;
-    end;
-    namestringequal := equal;
-  end 
-  else
-    namestringequal := false;
-end;
-
-(* Character strings are case sensitive *)
-
-function NameStringLess;(*(var Name1,Name2 : NameString) : Boolean;*)
-var i, minlength : Integer;
-    equal : Boolean;
-    C1, C2 : char;
-    Charstring : boolean;
-begin
-  C1 := ' ';
-  C2 := ' ';
-  if Name1.Length < Name2.Length then
-    minlength := Name1.Length 
-  else
-    minlength := Name2.Length;
-  if MinLength > 0 then
-    Charstring := (Name1.Value[1] = '''') or (Name2.Value[1] = '''')
-  else
-    Charstring := false;
-(*   Charstring := true; force case sensitive *)
-  i := 1;
-  equal := true;
-  if i <= minlength then
-    while (i <= minlength) and equal do begin
-      if Charstring then begin
-        C1 := Name1.Value[i];
-        C2 := Name2.Value[i];
-      end
-      else begin
-        C1 := To_Upper(Name1.Value[i]);
-        C2 := To_Upper(Name2.Value[i]);
-      end;
-      equal := C1 = C2;
-      i := i + 1;
-    end; (* while *)
-  if equal then
-    NameStringLess := Name1.Length < Name2.Length
-  else 
-    NameStringLess := C1 < C2;
-end;
-
-(*------------------------------------------------------------------*)
-(*                    IsControlCharName                             *)
-(*------------------------------------------------------------------*)
-function IsControlCharName(
-  Str : NameString;
-  Pos : integer) : boolean;
-begin (* IsControlCharName *)
-  with Str do begin
-    if Pos <= Length then
-      IsControlCharName := IsControlChar(Value[Pos])
-    else
-      IsControlCharName := false;
-  end;
-end; (* IsControlCharName *)
-
-(*------------------------------------------------------------------*)
-(*                    SubString                                     *)
-(*------------------------------------------------------------------*)
-function SubString; (*(
-  Str : NameString;
-  Start : integer;
-  Len : integer) : NameString; *)
-var
-  i : integer;
-begin (* SubString *)
-  with Str do begin
-    if Len > 0 then
-      for i := Start to Start + Len - 1 do
-        Value[i- Start + 1] := Value[i]
-    else if Len < 0 then
-      Len := 0;
-    Length := Len;
-  end;
-  SubString := Str;
-end; (* SubString *)
-
-(*------------------------------------------------------------------*)
-(*                    SkipChars                                     *)
-(*------------------------------------------------------------------*)
-function SkipChars; (*(
-  Str : NameString;
-  Start : integer;
-  Len : integer) : NameString; *)
-var
-  i : integer;
-begin (* SkipChars *)
-  with Str do begin
-    for i := Start to Length - Len do
-      Value[i] := Value[i + Len];
-    Length := Length - Len;
-  end;
-  SkipChars := Str;
-end; (* SkipChars *)
-
-(*------------------------------------------------------------------*)
-(*                    RemoveUnderlineControl                        *)
-(*------------------------------------------------------------------*)
-function RemoveUnderlineControl; (*(
-      Str : NameString) : NameString; *)
-var
-  Len : integer;
-  i : integer;
-  Start : integer;
-begin (* RemoveUnderlineControl *)
-  with Str do begin
-    i := 1;
-    while i <= Length do begin
-      if Value[i] = '_' then begin
-        Len := 0;
-        Start := i;
-        while IsControlCharName(Str, i + 1 + Len) do
-          Len := Len + 1;
-        if Len > 0 then
-          Str := SkipChars(Str, Start, Len + 1)
-        else
-          i := i + 1;
-      end
-      else
-        i := i + 1;
-    end; (* while *)
-  end; (* with *)
-  RemoveUnderlineControl := Str;
-end; (* RemoveUnderlineControl *)
-
-(*------------------------------------------------------------------*)
-(*                    First100Chars                                 *)
-(*------------------------------------------------------------------*)
-procedure First100Chars; (*(
-      Txt : TextString;
-  var Str : NameString;
-  var Truncated : boolean); *)
-var
-  Len : integer;
-  i : integer;
-begin (* First100Chars *)
-  Str.Length := 0;
-  if Txt <> nil then begin
-    Str := Txt^.String;
-    Txt := Txt^.Next;
-  end;
-  while (Txt <> nil) and (Str.Length < NameStringLength) do
-    with Txt^, String do begin
-      Str.Length := Str.Length + 1;
-      Str.Value[Str.Length] := ' ';
-      if Str.Length + Length <= NameStringLength then
-        Len := Str.Length + Length
-      else
-        Len := NameStringLength;
-      for i := Str.Length + 1 to Len do
-        Str.Value[i] := Value[i - Str.Length];
-      Str.Length := Len;
-      Txt := Txt^.Next;
-    end; (* while with *)
-  Truncated := Txt <> nil;
-end; (* First100Chars *)
-
-
-(*------------------------------------------------------------------*)
-(*                    SkipSpaces                                    *)
-(*------------------------------------------------------------------*)
-(* changes I to contain the first index in Str (starting at I) that *)
-(* is not a space                                                   *)
-procedure SkipSpaces; (* (Str : NameString; var I : Integer);*)
-var Stop : boolean;
-begin   (* SkipSpaces *)
-  Stop := false;
-  while (I < Str.Length) and not Stop do
-    if Str.Value[I] <> ' ' then
-      Stop := true
-    else
-      I := I+1; 
-end;    (* SkipSpaces *)
-
-
-(*------------------------------------------------------------------*)
-(*                    SkipBlanks                                    *)
-(*------------------------------------------------------------------*)
-function SkipBlanks; (*(
-  TextLine: NameString) : NameString; *)
-var
-  i : integer;
-  j : integer;
-  SpaceFound : boolean;
-begin (* SkipBlanks *)
-  with TextLine do begin
-    SpaceFound := true;
-    i := 1;
-    while SpaceFound and (i <= Length) do begin
-      SpaceFound := (Value[i] in [' ', chr(9)]);
-      if SpaceFound then
-        i := i + 1;
-    end; (* while *)
-    i := i - 1;
-    if i > 0 then
-      for j := 1 to Length - i do
-        if j <= Length - i then
-          Value[j] := Value[j + i];
-    Length := Length - i;
-  end; (* with *)
-  SkipBlanks := TextLine;
-end; (* SkipBlanks *)
-
-(*------------------------------------------------------------------*)
-(*                    stripname                                     *)
-(*------------------------------------------------------------------*)
-function stripname; (* (
-  TextLine: NameString) : NameString; *)
-var
-  SpaceFound : boolean;
-begin (* stripname *)
-  TextLine := SkipBlanks(TextLine);
-  with TextLine do begin
-    SpaceFound := true;
-    while SpaceFound and (Length > 0) do begin
-      SpaceFound := (Value[Length ] in [' ', chr(9)]);
-      if SpaceFound then
-        Length := Length - 1;
-    end; (* while *)
-  end; (* with *)
-  stripname := TextLine;
-end; (* stripname *)
-
-function Locate; (*(
- Str : NameString;
- Chars : SetOfChar) : integer; *)
-var
-  Pos : integer;
-  Found : boolean;
-begin (* Locate *)
-  Found := false;
-  Pos := 0;
-  with Str do
-    while not Found and (Pos < Length) do begin
-      Pos := Pos + 1;
-      Found := Value[Pos] in Chars;
-    end;
-  Locate := Pos;
-end; (* Locate *)
-
-
-(*------------------------------------------------------------------*)
-(*                    NameHasChar                                   *)
-(*------------------------------------------------------------------*)
-function NameHasChar; (* (TheName : NameString; TheChar : char) : boolean;*)
-var i : integer;
-    found : boolean;
-    
-begin   (* NameHasChar *)
-  found := false;
-  i := 0;
-  while not found and (i < TheName.Length) do begin
-    i := i+1;
-    found := TheName.Value[i] = TheChar;
-  end;
-  NameHasChar := found;
-end;    (* NameHasChar *)
-
-
-(*------------------------------------------------------------------*)
-(*                    integertonmstr                                *)
-(*------------------------------------------------------------------*)
-function integertonmstr; (* (TheInteger : integer) : NameString; *)
-var Nm : NameString;
-    Index,
-    Size,
-    TempNumber : integer;
-begin   (* integertonmstr *)
-  Size := 1;
-  TempNumber := TheInteger;
-  while TempNumber div 10 > 0 do begin
-    Size := Size + 1;
-    TempNumber := TempNumber div 10;
-  end;
-  Nm.Length := Size;
-  TempNumber := TheInteger;
-  for Index := Size downto 1 do begin
-    Nm.Value[Index] := chr(TempNumber mod 10 + ord('0'));
-    TempNumber := TempNumber div 10;
-  end;
-  integertonmstr := Nm;
-end;    (* integertonmstr *)
-
-(*------------------------------------------------------------------*)
-(*                    NmStrToInteger                                *)
-(*------------------------------------------------------------------*)
-function NmStrToInteger; (* (Str : NameString) : integer; *)
-var
-  Index : integer;
-  Numb : integer;
-  Max : integer;
-begin   (* NmStrToInteger *)
- Max := (maxint div 10) - 10;
- Numb := 0;
-  for Index := 1 to Str.Length do begin
-    if (Numb <= Max) and (Str.Value[Index] in ['0'..'9']) then
-      Numb := 10 * Numb + ord(Str.Value[Index]) - ord('0');
-  end;
-  NmStrToInteger := Numb;
-end;    (* NmStrToInteger *)
-
-function AddNullToNmStr; (*(
-  Nm : NameString) : NameString; *)
-begin (* AddNullToNmStr *)
-  with Nm do
-    if Length < NameStringLength then
-      Value[Length + 1] := chr(0)
-    else
-      Value[Length] := chr(0);
-  AddNullToNmStr := Nm;
-end; (* AddNullToNmStr *)
-
-function ValToNmStr; (*(
-  Nm : NameString) : NameString; *)
-begin (* ValToNmStr *)
-  with Nm do begin
-    length := 0;
-    while value[length + 1] <> chr(0) do
-      length := length + 1;
-  end;
-  ValToNmStr := Nm;
-end; (* ValToNmStr *)
-
-(*------------------------------------------------------------------*)
-(*                    ChangeFileType                                *)
-(*------------------------------------------------------------------*)
-function ChangeFileType; (*(FileName : NameString;
-  NewType : NameString) : NameString;*)
-var
-  Pos : integer;
-  Found : boolean;
-begin (* ChangeFileType *)
-  with Filename do begin
-    Pos := FileName.Length;
-    Found := false;
-    while not Found and (Pos > 0) do begin
-      Found := Value[Pos] = '.';
-      Pos := Pos - 1;
-    end;
-    if Found then
-      Length := Pos;
-  end; (* with *)
-  ChangeFileType := concatenatenamestrings(FileName, NewType);
-end; (* ChangeFileType*)
-
-(*------------------------------------------------------------------*)
-(*                    StripPath                                     *)
-(*------------------------------------------------------------------*)
-function StripPath; (*(
-      Str : NameString) : NameString; *)
-var
-  i : integer;
-  Len : integer;
-  Found : boolean;
-begin (* StripPath *)
-  with Str do begin
-    i := Length;
-    Found := false;
-    while not Found and (i > 0) do begin
-      Found := Value[i] in  ['/', '\'];
-      if not Found  then
-        i := i - 1;
-    end; (* while *)
-    if Found then begin
-      Len := Length - i + 1;
-      if i < Length then begin
-        i := i + 1;
-        Len := Len - 1;
-      end;
-      StripPath := SubString(Str, i, Len);
-    end
-    else
-      StripPath := Str;
-  end; (* with *)
-end; (* StripPath *)
-
-function ReprOfChar; (*( ch : char) : NameString;*)
-var
-  Repr : NameString;
-begin
-  if (ch >= ' ') and (ch <= '~') then
-    Repr := chartonmstr(ch)
-  else
-    Repr := concatenatenamestrings(concatenatenamestrings(chartonmstr('<'),
-              integertonmstr(ord(ch))), chartonmstr('>'));
-  ReprOfChar := Repr;
-end; (* ReprOfChar *)
-
-(*------------------------------------------------------------------*) 
-(*                    ExtractCommentInfo                            *) 
-(*------------------------------------------------------------------*) 
-(* check if Comment contains graphic reference or include directive *)
-(* /*#<graphref>*/ or /*#<include-dir>*/                            *)
-(*    <graphref>    =G pagename xcoord ycoord                       *)
-(*                   T pagename xcoord ycoord                       *)
-(*                   M diagramtype diagramname pagename xcoord ycoord *)
-(*                   D databankname                                 *)
-(*    <include-dir> =INCLUDE 'filename'                             *)
-(* InfoType will contain the type of the comment                    *)
-(* Info will contain <graphref> or the filename in <include-dir> if *)
-(* the Comment isn't an ordinary comment                            *)
-(* /*#E*/ do not count this line                                    *)
-(* /*#S*/ substructure generated from graphic short hand            *)
-procedure ExtractCommentInfo; (*(
-  var Comment, 
-      Info     : NameString; 
-  var InfoType : TypeOfComment); *)
-
-const
-  CommentMarkLength = 2;
-  IncludeMarkLength = 7;  (* = INCLUDE *) 
-  GRRefLen = 6;
-var StartIndex,
-    Index : integer;
-begin   (* ExtractCommentInfo *) 
-  Info.Length := 0;
-  with Comment do begin
-    InfoType := Ordinary;
-    StartIndex := CommentMarkLength + 1;
-    if Length > StartIndex then
-      if Value[StartIndex] = '#' then
-        if Value[StartIndex+1] in ['I','i', 'S'] then begin
-          if (Value[StartIndex+1] = 'S') and (Length = StartIndex+1+2) then
-            InfoType := SubstrShortHand
-          else if (Value[StartIndex+1] = 'S') and
-            (Length > StartIndex + GRRefLen) then begin
-              if Value[StartIndex+2] = 'D' then
-                if Value[StartIndex+3] = 'T' then
-                  if Value[StartIndex+4] = 'R' then
-                    if Value[StartIndex+5] = 'E' then
-                      if Value[StartIndex+6] = 'F' then
-                        InfoType := GRRef;
-            end
-          else begin
-            if Length > StartIndex + IncludeMarkLength then
-              if Value[StartIndex+2] in ['N','n'] then
-                if Value[StartIndex+3] in ['C','c'] then
-                  if Value[StartIndex+4] in ['L','l'] then
-                   if Value[StartIndex+5] in ['U','u'] then
-                     if Value[StartIndex+6] in ['D','d'] then
-                       if Value[StartIndex+7] in ['E','e'] then
-                         InfoType := IncludeClause;
-          end;
-        end;
-
-    if InfoType = IncludeClause then begin
-      InfoType := Ordinary;
-      StartIndex := StartIndex + IncludeMarkLength + 1;
-      if StartIndex+3 <= Length-2 then (* excluding the comment-end '*/' *) begin
-        if Value[StartIndex] = ' ' then begin
-          while (StartIndex <= Length-2) and (Value[StartIndex] = ' ') do 
-            StartIndex := StartIndex + 1;           (* Skip the spaces *)
-          if Value[StartIndex] = '''' then begin
-            Index := StartIndex+1;
-            while (Index <= Length-2) and (Value[Index] <> '''') do begin
-              Info.Value[Index-StartIndex] := Value[Index];
-              Index := Index + 1;
-            end;
-            if Value[Index] = '''' then begin
-              Info.Length := Index - StartIndex - 1;
-              Index := Index + 1;
-              while (Index <= Length-2) and (Value[Index] = ' ') do 
-                Index := Index + 1;           (* Skip the ending spaces *)
-              if Index = Length-1 then
-                InfoType := IncludeClause;  (* => a correct include directive *)
-            end;
-          end;
-        end;
-      end;
-    end
-    else if InfoType = SubstrShortHand then
-      Info := chartonmstr('S')
-    else if InfoType = GRRef then begin
-      if (Value[Length] = '/') and (Value[Length - 1] = '*') then
-        Info := SubString(Comment, StartIndex, Length - StartIndex + 1 - 2)
-      else (* truncated *)
-        Info := SubString(Comment, StartIndex, Length - StartIndex + 1);
-    end;
-  end;
-end;    (* ExtractCommentInfo *) 
-
-(*---------------------------------------------------------------------------*)
-(* inserts a node in a binary tree sorted after value. If node 
-   is in tree Found returns true.  *)
-
-procedure INSERT_TREE_NODE;(*( 
-            New_node: BinNodePointer;  node to insert 
-            var Node: BinNodePointer;  tree to insert in 
-            var FoundNode : BinNodePointer; 
-            var Found : boolean;       return status of operation 
-            var Higher: boolean);   returned true if the subtree height has 
-                                       increased *)
-
-var
-
-  Node_1,                    (* helpvariable to rotate nodes *)
-  Node_2: BinNodePointer; (* helpvariable to rotate nodes *)
-
-begin
-
-  if Node = nil then
-  begin  (* Value is not in tree, insert *)
-    Node:= New_node;
-    FoundNode := Node;
-    Higher:=  true;
-  end
-  else
-
-       (* New_node^.Value < Node^.Value *)
-    if NameStringLess(New_node^.NameP^, Node^.NameP^) then
-    begin  (* New Value is lower than actual Value *)
-      INSERT_TREE_NODE( New_node, Node^.left, FoundNode, Found, Higher);
-
-      if Higher then  (* left bransch has grown higher *)
-      case Node^.bal of
-
-        1: begin
-             Node^.bal:= 0;
-             Higher:= false;
-           end;
-
-        0: begin
-             Node^.bal:= -1;
-           end;
-
-       -1: begin  (* rebalance *)
-             Node_1:= Node^.left;
-
-             if Node_1^.bal = -1 then
-             begin  (* single LL rotation *)
-               Node^.left:= Node_1^.right;
-               Node_1^.right:= Node;
-               Node^.bal:= 0;
-               Node:= Node_1;
-             end
-             else
-
-             begin  (* double LR rotation *)
-               Node_2:= Node_1^.right;
-               Node_1^.right:= Node_2^.left;
-               Node_2^.left:= Node_1;
-               Node^.left:= Node_2^.right;
-               Node_2^.right:= Node;
-
-               if Node_2^.bal = -1 then
-                 Node^.bal:= 1
-               else
-                 Node^.bal:= 0;
-
-               if Node_2^.bal = 1 then
-                 Node_1^.bal:= -1
-               else
-                 Node_1^.bal:= 0;
-               Node:= Node_2;
-             end;
-             Node^.bal:= 0;
-             Higher:= false;
-           end;
-      end; (* end case Node^.bal of *)
-    end
-    else
-
-         (* New_node^.value > Node^.value *)
-      if NameStringLess(Node^.NameP^, New_Node^.NameP^) then
-      begin  (* New value is higher than actual value *)
-        INSERT_TREE_NODE( New_node, Node^.right, FoundNode, Found, Higher);
-
-        if Higher then  (* Right bransch has grown higher *)
-        case Node^.bal of
-
-         -1: begin
-               Node^.bal:= 0;
-               Higher:= false;
-             end;
-
-          0: begin
-               Node^.bal:= 1;
-             end;
-
-          1: begin  (* Rebalance *)
-               Node_1:= Node^.right;
-
-               if Node_1^.bal = 1 then
-               begin  (* single RR rotation *)
-                 Node^.right:= Node_1^.left;
-                 Node_1^.left:= Node;
-                 Node^.bal:= 0;
-                 Node:= Node_1;
-               end
-               else
-               begin  (* double RL rotation *)
-                 Node_2:= Node_1^.left;
-                 Node_1^.left:= Node_2^.right;
-                 Node_2^.right:= Node_1;
-                 Node^.right:= Node_2^.left;
-                 Node_2^.left:= Node;
-
-                 if Node_2^.bal = 1 then
-                   Node^.bal:= -1
-                 else
-                   Node^.bal:= 0;
-
-                 if Node_2^.bal = -1 then
-                   Node_1^.bal:= 1
-                 else
-                   Node_1^.bal:= 0;
-                 Node:= Node_2;
-               end;
-               Node^.bal:= 0;
-               Higher:= false;
-             end;
-        end; (* end case Node^.bal of *)
-      end
-      else
-      begin  (* New value is equal to actual value *)
-        Found := true;
-        FoundNode := Node;
-        Higher:= false;
-      end;
-end;  (* end INSERT_TREE_NODE *)
-
-function GetNameList; (* : BinNodePointer;*)
-begin
-  GetNameList := NameList;
-end;
-
-procedure DisposeANameList( 
-  var NodeP : BinNodePointer);
-begin (* DisposeANameList *)
-  if NodeP <> nil then begin
-    DisposeANameList(NodeP^.Left);
-    DisposeANameList(NodeP^.Right);
-    NodeP^.Left := AvailNameList;
-    NodeP^.Right := nil;
-    AvailNameList := NodeP;
-    NodeP := nil;
-  end;
-end; (* DisposeANameList *)
-
-procedure DisposeNameList;
-begin
-  DisposeANameList(NameList);
-end;
-
-function GetNewNameListNode;(*(
-  var Name  : NameString) : BinNodePointer;*)
-var
-  NodeP : BinNodePointer;
-begin (* GetNewNameListNode *)
-  if AvailNameList = nil then begin
-    new(NodeP);
-    with NodeP^ do begin
-      Left := nil;
-      Right := nil;
-      Bal := 0;
-      new(NameP);
-      Namep^ := Name;
-    end;
-  end
-  else begin
-    NodeP := AvailNameList;
-    AvailNameList := NodeP^.Left;
-    with NodeP^ do begin
-      Left := nil;
-      Bal := 0;
-      Namep^ := Name;
-    end;
-  end;
-  GetNewNameListNode := NodeP;
-end; (* GetNewNameListNode *)
-
-(*---------------------------------------------------------------------------*)
-
-function insertname;(*(
-      Name  : NameString;
-  var Found : boolean) : NameStringPointer;*)
-var
-  Higher : boolean;
-  NodeP  : BinNodePointer;
-  FoundNode : BinNodePointer;
-begin (* insertname *)
-  NodeP := GetNewNameListNode(Name);
-  Found := false;
-  INSERT_TREE_NODE(NodeP, NameList, FoundNode, Found, Higher);
-  insertname := FoundNode^.NameP;
-  if Found then
-    DisposeANameList(NodeP);
-end; (* insertname *)
-
-procedure InitNameList;
-begin
-  NameList := nil;
-  AvailNameList := nil;
-end;
-
-(********************************************************************) 
-(*                      NameString - Dynamic Memory Allocation      *) 
-(********************************************************************) 
-
-procedure InitNameStringPool;
-begin
-  GlobalNSPool.Avail := nil;
-  GlobalNSPool.Empty := nil;
-end;
-
-procedure NewNameString; (* (var NSP: NameStringPointer );*)
-(*var Temp: NSPoolP;*)
-begin
-(*
-  if GlobalNSPool.Avail=nil then
-    new( NSP )
-  else begin
-    Temp := GlobalNSPool.Avail;
-    GlobalNSPool.Avail := Temp^.Next;
-    Temp^.Next := GlobalNSPool.Empty;
-    GlobalNSPool.Empty := Temp;
-    NSP := Temp^.Data;
-  end;
-*)
-  new(NSP);
-  NSP^.Length := 0;
-end;
-
-procedure ReleaseNameString; (* (var NSP: NameStringPointer );*)
-(*var Temp: NSPoolP;*)
-begin
-  if NSP <> nil then begin
-(*
-    if GlobalNSPool.Empty=nil then begin
-      new(Temp);
-      Temp^.Next := GlobalNSPool.Avail;
-      GlobalNSPool.Avail := Temp;
-    end
-    else begin
-      Temp := GlobalNSPool.Empty;
-      GlobalNSPool.Empty := Temp^.Next;
-      Temp^.Next := GlobalNSPool.Avail;
-      GlobalNSPool.Avail := Temp;
-    end;
-    Temp^.Data := NSP;
-*)
-    dispose(NSP);
-    NSP := nil;
-  end;
-end;
-
-procedure SDTrefStringToRec (* (
-  var S : SDTrefString;
-  var R : SDTrefRec;
-  var Error : integer) *) ;
-
-(* Converts SDTrefString S to a record R (SDTrefRec). If an error is
-   detected Error is on exit the position in S where the error where
-   detected. If correct Error is 0. *)
-
-label 99;
-var
-  Len : integer;
-  ErrorFound, EndFound : Boolean;
-
-procedure SDTrefSkipSpaces;
-var Found : Boolean;
-begin
-  Found := false;
-  while not Found and (Len <= S.Length) do
-    if (S.Value[Len] = ' ') or (S.Value[Len] = chr(9)) then
-      Len := Len+1
-    else
-      Found := true;
-end;
-
-function SDTrefIsEnd : Boolean;
-begin
-  SDTrefIsEnd := false;
-  if S.Value[Len] = ')' then
-  begin
-    Len := Len+1;
-    SDTrefSkipSpaces;
-    if Len > S.Length then
-      SDTrefIsEnd := true;
-  end;
-end;
-
-function SDTrefGetInteger : integer;
-var
-  Temp : NameString;
-  Found : Boolean;
-begin
-  Temp.Length := 0;
-  Found := false;
-  while not Found and (Temp.Length <= NameStringLength) and
-                      (Len <= S.Length) do
-    if S.Value[Len] in ['0'..'9'] then
-    begin
-      Temp.Length := Temp.Length+1;
-      Temp.Value[Temp.Length] := S.Value[Len];
-      Len := Len+1;
-    end
-    else
-      Found := true;
-  if Temp.Length > 0 then
-    SDTrefGetInteger := NmStrToInteger(Temp)
-  else
-    SDTrefGetInteger := SDTrefUndefInt;
-end;
-
-begin
-  ErrorFound := true;
-  R.IsSDTGR := true;
-  R.FileName.Length := 0;
-  R.PageName.Length := 0;
-  R.ObjectId := SDTrefUndefInt;
-  R.XCoord := SDTrefUndefInt;
-  R.YCoord := SDTrefUndefInt;
-  R.LineNumber := SDTrefUndefInt;
-  R.Column := SDTrefUndefInt;
-
-  Len := 1;
-  if S.Length = 0 then goto 99;
-  if S.Value[1] <> '#' then goto 99;
-  Len := 2;
-  if S.Value[2] <> 'S' then goto 99;
-  Len := 3;
-  if S.Value[3] <> 'D' then goto 99;
-  Len := 4;
-  if S.Value[4] <> 'T' then goto 99;
-  Len := 5;
-  if S.Value[5] <> 'R' then goto 99;
-  Len := 6;
-  if S.Value[6] <> 'E' then goto 99;
-  Len := 7;
-  if S.Value[7] <> 'F' then goto 99;
-  Len := 8;
-  if S.Value[8] <> '(' then goto 99;
-  Len := 9;
-
-  if S.Value[9] = 'S' then
-  begin
-    Len := 10;
-    if S.Value[10] <> 'D' then goto 99;
-    Len := 11;
-    if S.Value[11] <> 'L' then goto 99;
-    Len := 12; SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-
-    (* First comma *)
-    if S.Value[Len] <> ',' then goto 99;
-    Len := Len+1; SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-
-    (* FileName *)
-    EndFound := false;
-    while not EndFound and (Len <= S.Length) do
-      if S.Value[Len] in [',', ')', '(', ' ', chr(9)] then
-        EndFound := true
-      else
-      begin
-        R.FileName.Length := R.FileName.Length+1;
-        if R.FileName.Length > S.Length then goto 99;
-        R.FileName.Value[R.FileName.Length] := S.Value[Len];
-        Len := Len+1;
-        if Len > S.Length then goto 99;
-      end;
-    SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-
-    (* PageName *)
-    if S.Value[Len] = '(' then
-    begin
-      Len := Len+1; SDTrefSkipSpaces;
-      if Len > S.Length then goto 99;
-      EndFound := false;
-      while not EndFound and (Len <= S.Length) do
-        if S.Value[Len] in [',', ')', '(', ' ', chr(9)] then
-          EndFound := true
-        else
-        begin
-          R.PageName.Length := R.PageName.Length+1;
-          if R.PageName.Length > NameStringLength then goto 99;
-          R.PageName.Value[R.PageName.Length] := S.Value[Len];
-          Len := Len+1;
-          if Len > S.Length then goto 99;
-        end;
-      SDTrefSkipSpaces;
-      if Len > S.Length then goto 99;
-      if S.Value[Len] <> ')' then goto 99;
-      Len := Len+1; SDTrefSkipSpaces;
-      if Len > S.Length then goto 99;
-    end;
-    if SDTrefIsEnd then begin ErrorFound := false; goto 99; end;
-
-    if S.Value[Len] <> ',' then goto 99;
-    Len := Len+1; SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-
-    (* ObjectId *)
-    R.ObjectId := SDTrefGetInteger;
-    SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-
-    (* Object_Coordinates *)
-    if S.Value[Len] = '(' then
-    begin
-      Len := Len+1; SDTrefSkipSpaces;
-      if Len > S.Length then goto 99;
-      R.XCoord := SDTrefGetInteger;
-      SDTrefSkipSpaces;
-      if Len > S.Length then goto 99;
-      if S.Value[Len] <> ',' then goto 99;
-      Len := Len+1; SDTrefSkipSpaces;
-      if Len > S.Length then goto 99;
-      R.YCoord := SDTrefGetInteger;
-      SDTrefSkipSpaces;
-      if Len > S.Length then goto 99;
-      if S.Value[Len] <> ')' then goto 99;
-      Len := Len+1; SDTrefSkipSpaces;
-      if Len > S.Length then goto 99;
-    end;
-    if SDTrefIsEnd then begin ErrorFound := false; goto 99; end;
-
-    if S.Value[Len] <> ',' then goto 99;
-    Len := Len+1; SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-
-    (* LineNumber *)
-    R.LineNumber := SDTrefGetInteger;
-    SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-    if SDTrefIsEnd then begin ErrorFound := false; goto 99; end;
-
-    if S.Value[Len] <> ',' then goto 99;
-    Len := Len+1; SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-
-    (* Column *)
-    R.Column := SDTrefGetInteger;
-    SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-    if SDTrefIsEnd then ErrorFound := false;
-  end
-
-  else if S.Value[9] = 'T' then
-  begin
-    Len := 10;
-    R.IsSDTGR := false;
-    if S.Value[10] <> 'E' then goto 99;
-    Len := 11; 
-    if S.Value[11] <> 'X' then goto 99;
-    Len := 12;
-    if S.Value[12] <> 'T' then goto 99;
-    Len := 13; SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-
-    (* First comma *)
-    if S.Value[Len] <> ',' then goto 99;
-    Len := Len+1; SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-
-    (* FileName *)
-    EndFound := false;
-    while not EndFound and (Len <= S.Length) do
-      if S.Value[Len] in [',', ')', '(', ' ', chr(9)] then
-        EndFound := true
-      else
-      begin
-        R.FileName.Length := R.FileName.Length+1;
-        if R.FileName.Length > S.Length then goto 99;
-        R.FileName.Value[R.FileName.Length] := S.Value[Len];
-        Len := Len+1;
-        if Len > S.Length then goto 99;
-      end;
-    SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-    if SDTrefIsEnd then begin ErrorFound := false; goto 99; end;
-
-    if S.Value[Len] <> ',' then goto 99;
-    Len := Len+1; SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-
-    (* LineNumber *)
-    R.LineNumber := SDTrefGetInteger;
-    SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-    if SDTrefIsEnd then begin ErrorFound := false; goto 99; end;
-
-    if S.Value[Len] <> ',' then goto 99;
-    Len := Len+1; SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-
-    (* Column *)
-    R.Column := SDTrefGetInteger;
-    SDTrefSkipSpaces;
-    if Len > S.Length then goto 99;
-    if SDTrefIsEnd then ErrorFound := false;
-  end;
-
-99:
-  if ErrorFound then
-    Error := Len
-  else
-    Error := 0;
-end;
-
-
-procedure SDTrefRecToString  (* (
-  var R : SDTrefRec;
-  var S : SDTrefString) *) ;
-
-(* Converts SDTrefRec R to a string S (SDTrefString). If an error is
-   detected (string is not long enough) S.Length becomes 0 on exit *)
-
-label 99;
-var
-  Len, I : integer;
-  Temp : NameString;
-begin
-  S.Value[1] := '#';
-  S.Value[2] := 'S';
-  S.Value[3] := 'D';
-  S.Value[4] := 'T';
-  S.Value[5] := 'R';
-  S.Value[6] := 'E';
-  S.Value[7] := 'F';
-  S.Value[8] := '(';
-  S.Length := 8;
-  if R.IsSDTGR then
-  begin
-    Temp.Value[1] := 'S';
-    Temp.Value[2] := 'D';
-    Temp.Value[3] := 'L';
-    Temp.Value[4] := ',';
-    Temp.Length := 4;
-    S := Concatenatenamestrings(S, Temp);
-    Len := S.Length;
-    (* FileName *)
-    for I := 1 to R.FileName.Length do
-    begin
-      Len := Len+1;
-      if Len > SDTrefStringLength then goto 99;
-      S.Value[Len] := R.FileName.Value[I];
-    end;
-
-    (* PageName *)
-    if R.PageName.Length > 0 then
-    begin
-      Len := Len+1;
-      if Len > SDTrefStringLength then goto 99;
-      S.Value[Len] := '(';
-      for I := 1 to R.PageName.Length do
-      begin
-        Len := Len+1;
-        if Len > SDTrefStringLength then goto 99;
-        S.Value[Len] := R.PageName.Value[I];
-      end;
-      Len := Len+1;
-      if Len > SDTrefStringLength then goto 99;
-      S.Value[Len] := ')';
-    end;
-
-    (* ObjectId *)
-    if R.ObjectId <> SDTrefUndefInt then
-    begin
-      Len := Len+1;
-      if Len > SDTrefStringLength then goto 99;
-      S.Value[Len] := ',';
-      Temp := integertonmstr(R.ObjectId);
-      for I := 1 to Temp.Length do
-      begin
-        Len := Len+1;
-        if Len > SDTrefStringLength then goto 99;
-        S.Value[Len] := Temp.Value[I];
-      end;
-    end;
-
-    (* Object_Coordinates *)
-    if R.XCoord <> SDTrefUndefInt then
-    begin
-      Len := Len+1;
-      if Len > SDTrefStringLength then goto 99;
-      S.Value[Len] := '(';
-      Temp := integertonmstr(R.XCoord);
-      for I := 1 to Temp.Length do
-      begin
-        Len := Len+1;
-        if Len > SDTrefStringLength then goto 99;
-        S.Value[Len] := Temp.Value[I];
-      end;
-      Len := Len+1;
-      if Len > SDTrefStringLength then goto 99;
-      S.Value[Len] := ',';
-      Temp := integertonmstr(R.YCoord);
-      for I := 1 to Temp.Length do
-      begin
-        Len := Len+1;
-        if Len > SDTrefStringLength then goto 99;
-        S.Value[Len] := Temp.Value[I];
-      end;
-      Len := Len+1;
-      if Len > SDTrefStringLength then goto 99;
-      S.Value[Len] := ')';
-    end;
-
-    (* LineNumber *)
-    if R.LineNumber <> SDTrefUndefInt then
-    begin
-      Len := Len+1;
-      if Len > SDTrefStringLength then goto 99;
-      S.Value[Len] := ',';
-      Temp := integertonmstr(R.LineNumber);
-      for I := 1 to Temp.Length do
-      begin
-        Len := Len+1;
-        if Len > SDTrefStringLength then goto 99;
-        S.Value[Len] := Temp.Value[I];
-      end;
-    end;
-
-    (* Column *)
-    if R.Column <> SDTrefUndefInt then
-    begin
-      Len := Len+1;
-      if Len > SDTrefStringLength then goto 99;
-      S.Value[Len] := ',';
-      Temp := integertonmstr(R.Column);
-      for I := 1 to Temp.Length do
-      begin
-        Len := Len+1;
-        if Len > SDTrefStringLength then goto 99;
-        S.Value[Len] := Temp.Value[I];
-      end;
-    end;
-
-    Len := Len+1;
-    if Len > SDTrefStringLength then goto 99;
-    S.Value[Len] := ')';
-  end
-
-  else  (* if PR *)
-
-  begin
-    Temp.Value[1] := 'T';
-    Temp.Value[2] := 'E';
-    Temp.Value[3] := 'X';
-    Temp.Value[4] := 'T';
-    Temp.Value[5] := ',';
-    Temp.Length := 5;
-    S := Concatenatenamestrings(S, Temp);
-    Len := S.Length;
-    (* FileName *)
-    for I := 1 to R.FileName.Length do
-    begin
-      Len := Len+1;
-      if Len > SDTrefStringLength then goto 99;
-      S.Value[Len] := R.FileName.Value[I];
-    end;
-
-    (* LineNumber *)
-    if R.LineNumber <> SDTrefUndefInt then
-    begin
-      Len := Len+1;
-      if Len > SDTrefStringLength then goto 99;
-      S.Value[Len] := ',';
-      Temp := integertonmstr(R.LineNumber);
-      for I := 1 to Temp.Length do
-      begin
-        Len := Len+1;
-        if Len > SDTrefStringLength then goto 99;
-        S.Value[Len] := Temp.Value[I];
-      end;
-    end;
-
-    (* Column *)
-    if R.Column <> SDTrefUndefInt then
-    begin
-      Len := Len+1;
-      if Len > SDTrefStringLength then goto 99;
-      S.Value[Len] := ',';
-      Temp := integertonmstr(R.Column);
-      for I := 1 to Temp.Length do
-      begin
-        Len := Len+1;
-        if Len > SDTrefStringLength then goto 99;
-        S.Value[Len] := Temp.Value[I];
-      end;
-    end;
-
-    Len := Len+1;
-    if Len > SDTrefStringLength then goto 99;
-    S.Value[Len] := ')';
-  end;
-
-99:
-  if Len > SDTrefStringLength then
-    S.Length := 0
-  else
-    S.Length := Len;
-end;
-
-function NmStrToErrStr;(*(
-  NmStr : NameString) : ErrorString;*)
-var
-  ErrStr : ErrorString;
-  i : integer;
-begin
-  for i := 1 to NmStr.Length do
-    ErrStr.Value[i] := NmStr.Value[i];
-  ErrStr.Length := NmStr.Length;
-  NmStrToErrStr := ErrStr;
-end;
-
-function ErrStrToNmStr;(*(
-  ErrStr : ErrorString) : NameString;*)
-var
-  NmStr : NameString;
-  i : integer;
-  n : integer;
-begin
-  if ErrStr.Length < NameStringLength then
-    n := ErrStr.Length
-  else
-    n := NameStringLength;
-  for i := 1 to n do
-    NmStr.Value[i] := ErrStr.Value[i];
-  NmStr.Length := n;
-  ErrStrToNmStr := NmStr;
-end;
-
-(*------------------------------------------------------------------*)
-(*                   GetTextRef                                     *)
-(*------------------------------------------------------------------*)
-function GetTextRef;(*(
-  FNm : NameString;
-  Ln : integer;
-  Col : integer) : NameString;*)
-var
-  Ref : SDTrefRec;
-  S : NameString;
-begin(* GetTextRef *)
-  Ref.IsSDTGR := false;
-  Ref.FileName := FNm;
-  Ref.LineNumber := Ln;
-  Ref.Column := Col;
-  SDTrefRecToString(Ref, S);
-  GetTextRef := S;
-end; (* GetTextRef *)
-
- (* module COMMON *)
diff --git a/test/manual/etags/perl-src/htlmify-cystic b/test/manual/etags/perl-src/htlmify-cystic
deleted file mode 100644 (file)
index d241030..0000000
+++ /dev/null
@@ -1,382 +0,0 @@
-#! /un/bin/env perl
-
-# htmlify-cystic-l-faq:  turn text version of cystic-l faq into html
-# run like this:   htmlify-cystic-l-faq < cystic-l-faq-all
-
-# Ron Trueworthy should put the date on the FAQ.
-
-use English;
-use Carp;
-use strict;
-
-my @section_name;
-my @appendix_name;
-
-my @section_toc;
-my @appendix_toc;
-
-my $new_tag = "[NEW]";
-
-if (! -d "faq")
-{ die "Can't find faq directory"; }
-
-# Initially undefined
-my $appendix;
-my $section;
-my $subsection;
-my $subsubsection;
-
-my $this_file_toc = "";
-my %file_tocs;
-
-my @output_files = ();
-my $file_index = 0;
-
-my $output_file;
-
-my $line;
-while (defined($line = <>))
-{
-  ### Message headers
-  if ($line =~ /^From /)
-    { while ($line ne "\n")
-       { $line = <>; } }
-
-  if ($line =~ /^See PART ONE of this FAQ for/)
-    { while (defined($line = <>) && ($line ne "\n"))
-       { }
-      next; }
-
-  if ($line =~ /^\s*[-+]+$/)
-    { next; }
-
-  ### File headers
-  if ($line =~ /^\s*CYSTIC-L Frequently Asked Questions - PART (.*)\n$/)
-    { # print "part $1\n";
-      if ($1 ne "ONE")
-       { next; }
-      if ($output_file)
-       { die "output_file shouldn't have been set yet: $output_file"; }
-      $output_file = "faq/index.html";
-      open(OUTPUT, ">$output_file") || die "Couldn't open $output_file";
-      select OUTPUT;
-      print "<HEAD>
-<TITLE>CYSTIC-L FAQ Table of Contents
-</TITLE>
-</HEAD>
-<BODY>
-<H1>CYSTIC-L Frequently Asked Questions</H1>
-<h2>Knowledge Is Power</h2>
-";
-      next; }
-
-  if ($line =~ /^\s*~ Knowledge Is Power ~$/)
-    { next; }
-
-  ### Table of contents
-  if ($line =~ /^\s*~ FAQ Table of Contents ~$/)
-      { read_toc();
-       print "<hr><a href=\"../\">Info-Zone</a> <a href=\"../../\">CF-WEB</a>\n";
-       close(OUTPUT);
-       next;
-      }
-
-  if ($line =~ /^PART /)
-    { next; }
-
-  if ($line =~ s/^>?APPENDIX ([A-Z])\.\s*//)
-    { if (!defined($appendix))
-       { if ($1 ne "A")
-           { die "First appendix is $1"; } }
-      elsif ($1 ne chr(ord($appendix)+1))
-       { die "Appendix $1 follows Appendix $appendix"; }
-
-      file_end();
-      close(OUTPUT);
-      $appendix = $1;
-      $section = undef;
-      $subsection = undef;
-      $subsubsection = undef;
-      $output_file = section_url_base();
-      open(OUTPUT, "> faq/$output_file") || die "Can't open faq/$output_file";
-      select OUTPUT;
-
-      chomp($line);
-      print "<title>$line</title>\n<h1>$line</h1>\n";
-      if (defined($file_tocs{$output_file}) && $file_tocs{$output_file})
-       { print "Contents: $file_tocs{$output_file}\n"; }
-      next; }
-
-  if (($line =~ /^>?([0-9]+)\.\s+/) && (!defined($section) || ($1 == $section+1)))
-    { $line =~ s/^>?([0-9]+)\.\s+//;
-      if (!defined($appendix))
-       { # should do some more here
-         if (defined($section))
-           { file_end(); }
-         close(OUTPUT); }
-      $section = $1;
-      $subsection = undef;
-      $subsubsection = undef;
-      $output_file = section_url_base();
-      if (!defined($appendix))
-       { open(OUTPUT, "> faq/$output_file") || die "Can't open faq/$output_file";
-         select OUTPUT;
-         chomp($line);
-         print "<title>$line</title>\n<h1>$line</h1>\n";
-         if (defined($file_tocs{$output_file}) && $file_tocs{$output_file})
-           { print "Contents: $file_tocs{$output_file}\n"; }
-         next; }
-    }
-
-  if ($line =~ s/^>?o\s+//)
-    { $line =~ s/^>//;         # sometimes the > follows the itemization
-      if (!defined($subsection))
-       { $subsection = 1; }
-      else
-       { $subsection++; }
-      $subsubsection = undef;
-      print "<h2>", section_name($line), "</h2>\n";
-      next; }
-
-  if ($line =~ s/^>?-\s+//)
-    { $line =~ s/^>//;         # sometimes the > follows the itemization
-      if (!defined($subsubsection))
-       { $subsubsection = 1; }
-      else
-       { $subsubsection++; }
-      print "<h3>", section_name($line), "</h3>\n";
-      next; }
-
-  ### A paragraph of ordinary text
-  if ($line !~ /^\s*$/)
-    { print "<p>$line";
-      while (defined($line = <>) && ($line ne "\n"))
-       { print $line; }
-      print "</p>\n";
-    }
-
-}
-file_end();
-
-my $subsection_marker;
-
-my $new;
-
-sub read_toc ()
-{ # These variables are initially undefined
-  if (defined($appendix)
-      || defined($section)
-      || defined($subsection)
-      || defined($subsubsection))
-    { die "some value should have been undefined when calling read_toc: `$appendix' `$section' `$subsection' `$subsubsection'"; }
-
-  while (defined($line = <>) && $line)
-    { if ($line =~ /^\s*$/)
-       { next; }
-      if ($line =~ /^\s*\((Portions updated since.*)>\)\n/)
-       { print "$1$new_tag<p>\n";
-         next; }
-      if ($line =~ /^PART (.*)$/)
-       #       { if ($MATCH eq "ONE")
-       #           { print ... }
-       { next; }
-      if ($line eq "APPENDICES\n")
-       { next; }
-      if ($line =~ /^\s*INDEX/)
-       { next; }
-
-      if ($line =~ /^\s*[-+]+$/)
-       { finish_appendices();
-         if (defined($appendix)
-             || defined($section)
-             || defined($subsection)
-             || defined($subsubsection))
-           { die "some value should have been undefined when exiting read_toc: `$appendix' `$section' `$subsection' `$subsubsection'"; }
-         return; }
-
-      $new = ($line =~ s/>//);
-
-      # # Not sure if this is the right place to do this.
-      # if (($line !~ /^\s*([-o]|[0-9A-Z]+\.|APPENDIX [A-Z]\.)/)
-      #          && ($line !~ /[ .]*[0-9]+$/))
-      #        { die "What line? $line"; }
-      while (!($line =~ s/[ .]*[0-9]+$//))
-       { $line .= <>; }
-      chomp($line);
-
-      if ($line =~ s/^\s*APPENDIX ([A-Z])\.\s*//)
-       { finish_sections();
-         if (!defined($appendix))
-           { if ($1 ne "A")
-               { die "First appendix is $1"; }
-             print "Appendices\n";
-             print "<ol type=\"A\" start=\"$1\">\n"; }
-         elsif ($1 ne chr(ord($appendix)+1))
-           { die "Appendix $1 follows Appendix $appendix"; }
-         $appendix = $1;
-         $appendix_name[ord($appendix)-ord('A')+1] = $line;
-         my $entry = toc_line($line);
-         print $entry;
-         push(@output_files,section_url_base());
-         next; }
-
-      if ($line =~ s/^\s*([0-9]+)\.\s*//)
-       { finish_subsections();
-         if (!defined($section))
-           { my $entry = "<ol start=$1>\n";
-             print $entry;
-             if (defined($appendix))
-               { $this_file_toc .= $entry; } }
-         elsif ($1 != $section+1)
-           { die "Section $1 follows section $section"; }
-         $section = $1;
-         $section_name[$section] = $line;
-         my $entry = "  " . toc_line($line);
-         print $entry;
-         if (defined($appendix))
-           { $this_file_toc .= $entry; }
-         else
-           { push(@output_files,section_url_base()); }
-         next; }
-
-      if ($line =~ s/^\s*o\s+//)
-       { if (!defined($subsection))
-           { $subsection = 1;
-             my $entry = "  <ul>\n";
-             print $entry;
-             $this_file_toc .= $entry;
-             $subsection_marker = "ul"; }
-         else
-           { finish_subsubsections();
-             $subsection++; }
-         my $entry = "    " . toc_line($line);
-         print $entry;
-         $this_file_toc .= $entry;
-         next; }
-
-      if ($line =~ s/^\s*([A-Z])\.\s+//)
-       { finish_subsubsections();
-         if (!defined($subsection))
-           { my $entry = "  <ol type=\"A\" start=\"$1\">\n";
-             print $entry;
-             $this_file_toc .= $entry;
-             $subsection_marker = "ol"; }
-         else
-           { if ($1 ne chr(ord($subsection)+1))
-               { die "Subsection $1 follows subsection $subsection"; } }
-         $subsection = $1;
-         my $entry = "      " . toc_line($line);
-         print $entry;
-         $this_file_toc .= $entry;
-         next; }
-
-      if ($line =~ s/^\s*-\s+//)
-       { if (!defined($subsubsection))
-           { $subsubsection = 1;
-             my $entry = "    <ul>\n";
-             print $entry;
-             $this_file_toc .= $entry; }
-         else
-           { $subsubsection++; }
-         my $entry = "        " . toc_line($line);
-         print $entry;
-         $this_file_toc .= $entry;
-         next; }
-
-      # Itemized line without leading "o" (grrr).
-       if (!defined($subsection))
-         { my $entry = "  <ul>\n";
-           print $entry;
-           $this_file_toc .= $entry;
-           $subsection = 1;
-           $subsection_marker = "ul"; }
-       else
-         { $subsection++; }
-       $line =~ s/^\s*//;
-      my $entry = "      " . toc_line($line);
-      $this_file_toc .= $entry;
-      print $entry;
-    }
-}
-
-sub finish_subsubsections ()
-{ if (defined($subsubsection))
-    { my $entry = "      </ul>\n";
-      print $entry;
-      $this_file_toc .= $entry;
-      $subsubsection = undef; } }
-
-sub finish_subsections ()
-{ finish_subsubsections();
-  if (defined($subsection))
-    { my $entry = "    </$subsection_marker>\n";
-      print $entry;
-      $this_file_toc .= $entry;
-      $subsection = undef;
-      if (!defined($appendix))
-       { $file_tocs{section_url_base()} = $this_file_toc;
-         $this_file_toc = ""; } } }
-
-sub finish_sections ()
-{ finish_subsections();
-  if (defined($section))
-    { my $entry = "  </ol>\n";
-      print $entry;
-      if (defined($appendix))
-       { $this_file_toc .= $entry;
-         $file_tocs{section_url_base()} = $this_file_toc;
-         $this_file_toc = ""; }
-      $section = undef; } }
-
-sub finish_appendices ()
-{ finish_sections();
-  if (defined($appendix))
-    { print "</ol>\n";
-      $appendix = undef; } }
-
-sub section_url_base ()
-{ if (!defined($appendix) && !defined($section))
-    { die "undefined appendix and section"; }
-  return (defined($appendix) ? "app-$appendix.html" : "sec-$section.html"); }
-
-sub section_url_name ()
-{ my $sans_subsubsection
-    = (defined($appendix)
-       ? (defined($section)
-         ? "sec-$section" . (defined($subsection)
-                               ? "-$subsection" : "")
-         : "")
-       : (defined($subsection) ? "ssec-$subsection" : ""));
-  if (defined($subsubsection))
-    { $sans_subsubsection . "-$subsubsection"; }
-  else
-    { $sans_subsubsection; } }
-
-sub section_url ()
-{ my $base = section_url_base();
-  my $name = section_url_name();
-  if ($name)
-    { return $base . "\#" . $name; }
-  else
-    { return $base; } }
-
-
-sub section_href ($)
-{ my ($text) = @_;
-  return "<a href=\"" . section_url() . "\">$text</a>"; }
-
-sub section_name ($)
-{ my ($text) = @_;
-  return "<a name=\"" . section_url_name() . "\">$text</a>"; }
-
-sub toc_line ($)
-{ return " <LI>" . section_href($line) . ($new ? " $new_tag" : "") . "\n"; }
-
-sub file_end ()
-{ print "\n\n<hr>\n"
-    . (($file_index < $#output_files)
-       ? "<a href=\"$output_files[$file_index+1]\">Next</a> " : "")
-      . (($file_index > 0)
-        ? "<a href=\"$output_files[$file_index-1]\">Previous</a> " : "")
-       . "<a href=\"./\">FAQ</a> <a href=\"../\">Info-Zone</a> <a href=\"../../\">CF-WEB</a>\n";
-  $file_index++; }
diff --git a/test/manual/etags/perl-src/kai-test.pl b/test/manual/etags/perl-src/kai-test.pl
deleted file mode 100644 (file)
index 51b6672..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/perl
-sub f1 {
-        print "f1\n";
-}
-
-sub main::f2 {
-        print "f2\n";
-}
-
-package Foo;
-
-sub f3 {
-        print "f3\n";
-}
-
-sub Bar::f4 {
-        print "f4\n";
-}
-
-package Bar;
-
-sub f5 {
-        print "f5\n";
-}
-
-package Foo::Bar;
-
-sub f6 {
-        print "f6\n";
-}
-
-package main;
-
-sub f7 {
-        print "f7\n";
-}
-
-exit 0;
-# end of Perl code
diff --git a/test/manual/etags/perl-src/yagrip.pl b/test/manual/etags/perl-src/yagrip.pl
deleted file mode 100644 (file)
index be9f09c..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#Yet Another Getopt Routine In Perl
-# jgreely@cis.ohio-state.edu, 89/11/1
-#usage:
-#&getopt("f:bar") ||
-#      die &usage("script","f:bar","oo","[files ...]");
-#
-sub getopt {
-       local($_,$flag,$opt,$f,$r,@temp) = @_;
-       @temp = split(/(.):/);
-       while ($#temp >= $[) {
-               $flag .= shift(@temp);
-               $opt .= shift(@temp);
-       }
-       while ($_ = $ARGV[0], /^-(.)(.*)/ && shift(@ARGV)) {
-               ($f,$r) = ($1,$2);
-               last if $f eq '-';
-               if (index($flag,$f) >= $[) {
-                       eval "\$opt_$f++;";
-                       $r =~ /^(.)(.*)/,redo if $r ne '';
-               }elsif (index($opt,$f) >= $[) {
-                       $r = $r eq '' ? shift(@ARGV) : $r;
-                       eval "\$opt_$f = \$r;";
-               }else{
-                       print STDERR "Unrecognized switch \"-$f\".\n";
-                       return 0;
-               }
-       }
-       return 1;
-}
-
-#usage: usage:
-# &usage(progname,arglist,@names,@last);
-#ex:
-# &usage("script","f:bar","oo","[file ...]");
-#would return
-# "usage: script [-f oo] [-bar] [file ...]"
-#
-sub usage {
-       local($prog,$_,@list) = @_;
-       local($string,$flag,@string,@temp,@last) = ();
-       @temp = split(/(.):/);
-       push(@string,"usage:",$prog);
-       while ($#temp >= $[) {
-               if (($flag = shift(@temp)) ne '') {
-                       push(@string,"[-$flag]");
-               }
-               if (($flag = shift(@temp)) ne '') {
-                       push(@string,sprintf("[-%s %s]",$flag,shift(@list)));
-               }
-       }
-       push(@string,@list) if $#list >= $[;
-       return join(' ',@string) . "\n";
-}
-1;
diff --git a/test/manual/etags/php-src/lce_functions.php b/test/manual/etags/php-src/lce_functions.php
deleted file mode 100644 (file)
index 6573813..0000000
+++ /dev/null
@@ -1,699 +0,0 @@
-<?php
-if(!defined("LCE_FUNCTIONS"))
-{
-  define("LCE_FUNCTIONS", 1);
-  include("base.php");
-  include("lce_config.php");
-
-  // Unknown line class
-  define("LCE_UNKNOWN", 0);
-  // pure whitespace
-  define("LCE_WS", 1);
-  // a unqualified comment
-  define("LCE_COMMENT", 2);
-  // a user/translator comment
-  define("LCE_COMMENT_USER", 3);
-  // a tool-generated comment
-  define("LCE_COMMENT_TOOL", 4);
-  // A line containing a MSGID
-  define("LCE_MSGID", 5);
-  // A line containing a MSGSTR
-  define("LCE_MSGSTR", 6);
-  // A quoted text string
-  define("LCE_TEXT", 7);
-
-  define("STATE_ABORT", 0);
-  define("STATE_OK", 1);
-  define("STATE_LOOP", 2);
-
-  class POEntryAD extends AD
-    {
-      function validate($value)
-     {
-       //        print '"<pre>' . $value . '"<br></pre>';
-       $result =  AD::validate(trim($value));
-       //return $result;
-       if($result[0])
-        {
-          $lines = explode("\n", ereg_replace("\r", "", $result[1]));
-          //$lines = explode("\n", $result[1]);
-          /*         print "<pre>";
-          print_r($lines);
-          print "</pre>";*/
-          $res = array();
-          for($i = 0; $i < count($lines); $i++)
-            {
-              if(trim($lines[$i]) != "")
-                $res[] = $lines[$i];
-            }
-          $result[1] = join("\n", $res);
-          /*         print "<pre>";
-          print_r($result[1]);
-          print "</pre>";*/
-
-          $result[0] = $this->checkQuotation($result[1]);
-        }
-       return $result;
-     }
-
-      function checkQuotation($str)
-     {
-       $rex = "\\\\n|\\\\t|\\\\r|\\\\\"";
-       $str = ereg_replace($rex, "", $str);
-       $str = ereg_replace("\\\\\\\\", "", $str);
-       return !(strstr($str, "\"")
-               || strstr($str, "\\"));
-     }
-    }
-
-
-  class CommentAD extends AD
-    {
-      var $prefix;
-      function CommentAD(
-                     $name,                    // the name of the variable
-                     $not_null = 0,
-                     $type = "",       // as returned by gettype
-                     $prefix = "# ")
-     {
-       $this->prefix = $prefix;
-       AD::AD($name, $not_null, $type);
-     }
-
-      function validate($value)
-     {
-       $res = AD::validate($value);
-       return $res;
-       if($res[0] && $res[1] != "")
-        {
-          $mod_lines = array();
-          $lines = explode("\n", $res[1]);
-
-          for($i = 0; $i < count($lines); $i++)
-            {
-              $line = $lines[$i];
-              if(substr($line, 0, 1) != "#")
-                  $line = $this->prefix . $line;
-              $mod_lines[] = $line;
-            }
-          $res[1] = join("\n", $mod_lines);
-        }
-       return $res;
-     }
-    }
-
-  class POEntry extends HtmlValidator
-    {
-      var $msgid;
-      var $msgstr;
-      var $user_comment;
-      var $sys_comment;
-      var $unk_comment;
-
-      var $msgid_lc = 0;
-      var $msgstr_lc = 0;
-      var $user_comment_lc = 0;
-      var $sys_comment_lc = 0;
-      var $unk_comment_lc = 0;
-
-      function POEntry()
-     {
-       $this->atts = array(
-                          new AD("msgid"),
-                          new POEntryAD("msgstr", REQUIRED_ATTRIBUTE),
-                          new CommentAD("user_comment"),
-                          new POEntryAD("sys_comment"),
-                          new POEntryAD("unk_comment"),
-                          new AD("msgid_lc", NOT_REQUIRED_ATTRIBUTE, 0),
-                          new AD("msgstr_lc", NOT_REQUIRED_ATTRIBUTE, 0),
-                          new AD("user_comment_lc", NOT_REQUIRED_ATTRIBUTE, 0),
-                          new AD("sys_comment_lc", NOT_REQUIRED_ATTRIBUTE, 0),
-                          new AD("unk_comment_lc", NOT_REQUIRED_ATTRIBUTE, 0)
-                          );
-     }
-
-      function lineCount($entry)
-     {
-       $lc = count(explode("\n", $entry));
-       return $lc;
-     }
-
-      function serializeToVars($prefix)
-     {
-       $this->user_comment_lc = $this->lineCount($this->user_comment);
-       $this->unk_comment_lc = $this->lineCount($this->sys_comment);
-       $this->sys_comment_lc = $this->lineCount($this->unk_comment);
-       $this->msgid_lc = $this->lineCount($this->msgid);
-       $this->msgstr_lc = $this->lineCount($this->msgstr);
-       return HtmlValidator::serializeToVars($prefix);
-     }
-
-      function write()
-     {
-       $content = "";
-       $content .= $this->user_comment . "\n";
-       $content .= $this->unk_comment . "\n";
-       $content .= $this->sys_comment . "\n";
-       $content .= "msgid \"" . $this->msgid . "\"\n";
-       $content .= 'msgstr "' . join("\"\n\"", explode("\n", $this->msgstr)) . "\"" . "\n\n";
-       return $content;
-     }
-    }
-
-  class POReader extends HTMLValidator
-    {
-      var $msgid;
-      var $msgstr;
-      var $user_comment;
-      var $sys_comment;
-      var $unk_comment;
-      var $state;
-      var $ignore_ws;
-      var $po_entries;
-      var $poe_num;
-      var $filename;
-      var $domain;
-
-      function gettext($msgid)
-     {
-       if(isset($this->po_entries[$msgid]))
-        {
-          $po = $this->po_entries[$msgid];
-          return StripCSlashes(join("", explode("\n", $po->msgstr)));
-          //return $po->msgstr;
-        }
-       return $msgid;
-     }
-
-
-      function parseFromVars($prefix)
-     {
-       $res = HtmlValidator::parseFromVars($prefix);
-       if($res[0])
-        {
-          $poe_res = true;
-          $this->po_entries = array();
-          for($i = 0; $i < $this->poe_num; $i++)
-            {
-              $poe = new POEntry;
-              $res = $poe->parseFromVars($prefix . "_POE$i");
-              if($res[0])
-                {
-                  $msgid = $prefix . "_POE" . $i . "_MSGID";
-                  $msgid = $$msgid;
-                  $this->po_entries[$prefix . "_POE" . $i . "_MSGID"] = $res[1];
-                }
-              else
-                $poe_res = false;
-            }
-        }
-       if(!$poe_res)
-        $GLOBALS[$prefix . "_ERR"] = 1;
-       return array($poe_res, $this);
-     }
-
-      function serializeToVars($prefix)
-     {
-       HtmlValidator::serializeToVars($prefix);
-       reset($this->po_entries);
-       $i = 0;
-       while($poe = each($this->po_entries))
-        {
-          $poe = $poe[1];
-          $poe->serializeToVars($prefix . "_POE$i");
-          $i++;
-        }
-     }
-
-
-      function POReader($domain, $filename)
-     {
-       $this->domain = $domain;
-       $this->filename = $filename;
-       $this->ignore_ws = true;
-       $this->po_entries = array();
-       $this->atts = array(
-                          new AD("domain", REQUIRED_ATTRIBUTE),
-                          new AD("filename", REQUIRED_ATTRIBUTE),
-                          new AD("poe_num", REQUIRED_ATTRIBUTE, 0)
-                          );
-     }
-
-
-      function read()
-     {
-       if($fh = fopen($this->filename, "r"))
-        {
-          $this->lines = array();
-          while (!feof ($fh))
-            {
-              $line = fgets($fh, 4096);
-              $this->lines[] = $line;
-            }
-          fclose($fh);
-        }
-       $this->createPOEntries();
-       $this->poe_num = count($this->po_entries);
-     }
-
-      function write($save="yes")
-     {
-       reset($this->po_entries);
-       $content = "";
-       while($poe = each($this->po_entries))
-        {
-          $poe = $poe[1];
-          $content .= $poe->write();
-        }
-
-       if(($fh = fopen($this->filename, "w"))
-         && $save == "yes")
-        {
-          fwrite($fh, $content);
-          }
-       return $content;
-     }
-
-      function isComment($class)
-     {
-       if($class == LCE_COMMENT || $class == LCE_COMMENT_USER || $class == LCE_COMMENT_TOOL)
-        return true;
-       return false;
-     }
-
-      function comment($line, $class)
-     {
-       if($this->isComment($class))
-        {
-          if($class == LCE_COMMENT_USER)
-            $this->user_comment .= $line;
-          else if($class == LCE_COMMENT_TOOL)
-            $this->sys_comment .= $line;
-          else
-            $this->unk_comment .= $line;
-          return STATE_OK;
-        }
-       if($class == LCE_MSGID)
-        {
-          $this->state = "msgid";
-          return STATE_LOOP;
-        }
-       return STATE_ABORT;
-     }
-
-      function msgid($line, $class)
-     {
-       if($class == LCE_MSGID || $class == LCE_TEXT)
-        {
-          $line = $this->stripLine($line, LCE_MSGID);
-          $this->msgid .= $line;
-          return STATE_OK;
-        }
-       if($class == LCE_MSGSTR)
-        {
-          $this->state = "msgstr";
-          return STATE_LOOP;
-        }
-       return STATE_ABORT;
-     }
-
-      function msgstr($line, $class)
-     {
-       if($class == LCE_MSGSTR || $class == LCE_TEXT)
-        {
-          $line = $this->stripLine($line, $class);
-          $this->msgstr .= $line;
-          return STATE_OK;
-        }
-       // We have a different state, so we have to create a POEntry
-       $poe = new POEntry;
-       $poe->user_comment = trim($this->user_comment);
-       $poe->sys_comment = trim($this->sys_comment);
-       $poe->unk_comment = trim($this->unk_comment);
-       $poe->msgid = trim($this->msgid);
-       $poe->msgstr = trim($this->msgstr);
-       $this->po_entries[trim($this->msgid)] = $poe;
-       $this->state = "start";
-       return STATE_LOOP;
-     }
-
-      function start($line, $class)
-     {
-       $this->user_comment = "";
-       $this->sys_comment = "";
-       $this->unk_comment = "";
-       $this->msgid = "";
-       $this->msgstr = "";
-       if($this->isComment($class))
-        {
-          $this->state = "comment";
-          return STATE_LOOP;
-        }
-       if($class == LCE_MSGID)
-        {
-          $this->state = "msgid";
-          return STATE_LOOP;
-        }
-       return STATE_OK;
-     }
-
-      function createPOEntries()
-     {
-       $this->msgid = "";
-       $this->msgstr = "";
-       $this->user_comment = "";
-       $this->sys_comment = "";
-       $this->state = "start";
-
-       reset($this->lines);
-       for($i = 0; $i < count($this->lines); $i++)
-        {
-          $line = $this->lines[$i];
-          $class = $this->classifyLine($line);
-          if($class != LCE_WS || !$this->ignore_ws)
-            {
-              $state_ret = STATE_LOOP;
-              while($state_ret == STATE_LOOP)
-                {
-                  $state = $this->state;
-                  //print "$this->state $class:$line <br>";
-                  $state_ret = $this->$state($line, $class);
-                }
-              //print "state_ret = $state_ret <br>";
-            }
-          if($state_ret == STATE_ABORT)
-            break;
-        }
-       // Get the last entry
-       if($state_ret != STATE_ABORT)
-        {
-          $this->msgstr("", LCE_UNKNOWN);
-        }
-     }
-
-      function stripLine($line, $class)
-     {
-       switch($class)
-        {
-        case LCE_TEXT:
-          ereg('^"(.*)"', $line, $regs);
-          $line = $regs[1] . "\n";
-          break;
-        case LCE_MSGID:
-          if(substr($line, strlen("msgid")) == "msgid")
-            {
-              $line = substr($line, strlen("msgid") + 1);
-            }
-          ereg('"(.*)"', $line, $regs);
-          $line = $regs[1];
-          break;
-        case LCE_MSGSTR:
-          // TODO: Check if ^ can be removed
-          $line = substr($line, strlen("msgstr") + 1);
-          ereg('^"(.*)"', $line, $regs);
-          $line = $regs[1] . "\n";
-          break;
-
-        }
-       return $line;
-     }
-
-      function printClassification()
-     {
-       reset($this->lines);
-       for($i = 0; $i < count($this->lines); $i++)
-        {
-          $line = $this->lines[$i];
-          $class = $this->classifyLine($line);
-          print "#$i: $class $line<br>";
-        }
-     }
-
-      function classifyLine($line)
-     {
-       if(ereg("^[ \n\r\t]*$", $line))
-        return LCE_WS;
-       if(ereg("^#.*\$", $line))
-        {
-          if(ereg("^[,:-~].*", substr($line, 1)))
-            {
-              return LCE_COMMENT_TOOL;
-            }
-          if(ereg("^[ \n\r\t].*", substr($line, 1)))
-            {
-              return LCE_COMMENT_USER;
-            }
-          return LCE_COMMENT;
-        }
-       if(ereg("^msgid (.*)\$", $line, $regs))
-        {
-          $line = $regs[1];
-          if($this->classifyLine($line) == LCE_TEXT)
-            return LCE_MSGID;
-        }
-       if(ereg("^msgstr (.*)\$", $line, $regs))
-        {
-          $line = $regs[1];
-          if($this->classifyLine($line) == LCE_TEXT)
-            return LCE_MSGSTR;
-        }
-       if(ereg('^".*"', $line))
-        {
-                            // TODO: Check correct escapes
-          return LCE_TEXT;
-        }
-
-       return LCE_UNKNOWN;
-     }
-    }
-
-
-  function getTextDomains($lines)
-    {
-      $default_domain = "";
-      $domains = array();
-      while($gl = each($GLOBALS))
-     {
-       $gname = $gl[0];
-       global $$gname;
-     }
-      for($i = 0; $i < count($lines); $i++)
-     {
-       if(ereg("bindtextdomain\(([^,]+),([^\)]+)\)", $lines[$i], $regs))
-        {
-                            //print "Line:" .  $lines[$i] . " <br>";
-          $name = $regs[1];
-          $ev = "\$directory = ". $regs[2] . ";";
-          print $ev;
-          eval($ev);
-          $domains[] = array($name, $directory);
-        }
-       if(ereg("textdomain\(([^\)]+)\)", $lines[$i], $regs))
-        $default_domain = $regs[1];
-     }
-      return array($default_domain, $domains);
-    }
-
-
-  class PORManager extends HtmlValidator
-    {
-      var      $por_a;
-
-      function PORManager()
-     {
-       $this->por_a = array();
-     }
-
-      function addPOReader($d_name, &$por)
-     {
-       $this->por_a[$d_name] = &$por;
-     }
-
-      function &getPOReader($domain)
-     {
-       return $this->por_a[$domain];
-     }
-
-      function getDomainNames()
-     {
-       return array_keys($this->por_a);
-     }
-    }
-
-  function &loadPORManager()
-    {
-      global $LCE_PORMAN;
-      if(!isset($LCE_PORMAN))
-     {
-       $LCE_PORMAN = new PORManager();
-     }
-      return $LCE_PORMAN;
-    }
-
-
-  // More or less intelligent filename joining
-  // As available in PYTHONs os.path
-  function fileJoin()
-    {
-      $numargs = func_num_args();
-      $args = func_get_args();
-      for($i = 0; $i < $numargs - 1; $i++)
-     {
-       if(substr($args[$i], -1) != "/")
-        $args[$i] = $args[$i] . "/";
-       if($i > 0)
-        {
-          if(substr($args[$i],0 , 1) == "/")
-            $args[$i] = substr($args[$i], 1);
-        }
-
-     }
-      return join("", $args);
-    }
-
-  if(defined("LCE_TESTSERVER"))
-    {
-
-      function lce_bindtextdomain($d_name, $d_path)
-     {
-       global $LANG, $LC_MESSAGES, $LC_ALL, $LCE_LANG;
-       global $LCE_ERR;
-       global $LCE_PO_SUFFIX;
-       global $LCE_MANAGER;
-
-       $path_orig = $d_path;
-       // This is not complete and reflects
-       // my not very far going understanding of the
-       // different $LC_x thingies.
-       if(isset($LC_MESSAGES))
-        {
-                            //print "LC_MESSAGES<br>";
-          $lang_suffix = $LC_MESSAGES;
-        }
-       else if(isset($LC_ALL))
-        {
-                            //print "LC_ALL<br>";
-          $lang_suffix = $LC_ALL;
-        }
-       else if(isset($LANG))
-        {
-                            //print "LANG<br>";
-          $lang_suffix = $LANG;
-        }
-       else
-        {
-                            //print "LCE_LANG<br>";
-          $lang_suffix = $LCE_LANG;
-        }
-
-       //print "LangSuffix: $lang_suffix \n";
-       //print "D_Path: " . fileJoin($d_path, $lang_suffix, "LC_MESSAGES", $d_name . $LCE_PO_SUFFIX) . "<br>";
-       // First try: the whole lang_suffix
-
-       if(file_exists(fileJoin($d_path, $lang_suffix, "LC_MESSAGES", $d_name . $LCE_PO_SUFFIX)))
-        $d_path = fileJoin($d_path, $lang_suffix, "LC_MESSAGES", $d_name . $LCE_PO_SUFFIX);
-       else
-        {
-          $lang_suffix = substr($lang_suffix, 0, 2);
-          if(file_exists(fileJoin($d_path, $lang_suffix, "LC_MESSAGES", $d_name. $LCE_PO_SUFFIX)))
-            $d_path = fileJoin(fileJoin($d_path, $lang_suffix, "LC_MESSAGES", $d_name . $LCE_PO_SUFFIX));
-          else
-            {
-              $LCE_ERR = "No PO-file found";
-              return false;
-            }
-        }
-       //print "D_Path: $d_path \n";
-       $por = new POReader($d_name, $d_path, $path_orig);
-       $por->read();
-       $porman =& loadPORManager();
-       $porman->addPOReader($d_name, $por);
-       return true;
-     }
-
-      function lce_textdomain($domain)
-     {
-       global $LCE_DOMAIN;
-       $LCE_DOMAIN = $domain;
-     }
-
-      function lce_gettext($msgid)
-     {
-       global $LCE_DOMAIN;
-       return lce_dgettext($LCE_DOMAIN, $msgid);
-     }
-
-      function lce_dgettext($domain, $msgid)
-     {
-       $porman =& loadPORManager();
-       if($por = &$porman->getPOReader($domain))
-        return $por->gettext($msgid);
-       return $msgid;
-     }
-
-      function lce()
-     {
-       global $LCE_LCEDITLOC;
-       $porman =& loadPORManager();
-       $domains = $porman->getDomainNames();
-       for($i = 0; $i < count($domains); $i++)
-        {
-          $por =& $porman->getPOReader($domains[$i]);
-          $domain = "domain=" . urlencode($por->domain);
-          $filename = "filename=" . urlencode($por->filename);
-          $url = $LCE_LCEDITLOC . "?" . $domain . "&" . $filename;
-          print "<a target=\"_blank\" href=\"" . $url . "\">Domain: $por->domain</a><br>";
-        }
-     }
-    }
-  else
-    {
-      function lce_bindtextdomain($domain, $path)
-     {
-       bindtextdomain($domain, $path);
-     }
-
-      function lce_textdomain($domain)
-     {
-       textdomain($domain);
-     }
-
-      function lce_gettext($msgid)
-     {
-       return gettext($msgid);
-     }
-
-      function lce_dgettext($domain, $msgid)
-     {
-       return dgettext($domain, $msgid);
-     }
-      function lce()
-     {
-     }
-    }
-
-
-  function lce_geteditcode($type, $name, $text, $rows=2)
-    {
-      global $LCE_EDIT_LEVEL;
-      $level_map = array("msgid" => 4,
-                     "sys_comment" => 3,
-                     "user_comment" => 2,
-                     "msgstr" => 1
-                     );
-      if($level_map[$type] > $LCE_EDIT_LEVEL)
-     {
-       return "<input type=\"hidden\" name=\"" . $name . "\" value=\"" . $text . "\"><pre>\n" . $text . "\n</pre>";
-     }
-      else
-     {
-       return "<textarea name=\"" . $name . "\" rows=\"" . $rows . "\" cols=\"60\">" . $text . "</textarea>";
-     }
-    }
-}
-/*
-  ;;; Local Variables: ***
-  ;;; mode:C ***
-  ;;; End: ***
-*/
-?>
diff --git a/test/manual/etags/php-src/ptest.php b/test/manual/etags/php-src/ptest.php
deleted file mode 100644 (file)
index 9893839..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-define("TEST", 0);
-
-class
-test 
-extends base
-{
-       // use --member to tag
-       var $member;
-       var $memassign="hallo";
-       var $memassign_space ="hallo";
-       // Syntactical wrong, but tagged
-       var $test
-}
-
-function 
-foo()
-{
-}
diff --git a/test/manual/etags/php-src/sendmail.php b/test/manual/etags/php-src/sendmail.php
deleted file mode 100644 (file)
index 1d15e4a..0000000
+++ /dev/null
@@ -1,527 +0,0 @@
-<?php
-
-/*
-  Classe creata da Santoro Diego.
-  Per aiuti nella programmazione in PHP, PERL, C e ECMAScript contattatemi
-  e-Mail vincenza.tralice@tiscali.it oppure santoro.diego@3000.it
-  La classe ? ancora in fase beta.
-*/
-
-final class sendMail {
-
-  const eMailAddressErrorMessage="L' e-Mail indicata non rispetta un formato valido.";
-  const defaultSubject="this is the subject.";
-  const defaultTextMessage="this is text message.";
-  const defaultHtmlMessage="this is html message.";
-  const defaultHeaderMessage="this is a multi-part message in MIME format.";
-
-  private static $messageProperties=array(
-    "charset" => array(
-        "modifiable" => true,
-        "values" => array(
-            "iso-8859-1",
-            "iso-8859-15",
-            "utf-8",
-            "utf-16"
-        )
-    ),
-    "content-transfer-encoding" => array(
-        "modifiable" => true,
-        "values" => array(
-            "7bit",
-            "8bit",
-            "quoted-printable"
-        )
-    )
-  );
-
-  private $attachmentProperties=array(
-    "content-type" => array(
-        "modifiable" => false,
-         "values" => array(
-            "application/octet-stream"
-        )
-    ),
-    "content-transfer-encoding" => array(
-        "modifiable" => false,
-        "values" => array(
-            "base64"
-        )
-    ),
-    "content-disposition" => array(
-        "modifiable" => true,
-        "values" => array(
-            "attachment",
-            "inline"
-        )
-    )
-  );
-
-  private static $relatedProperties=array(
-    "content-transfer-encoding" => array(
-        "modifiable" => false,
-        "values" => array(
-            "base64"
-        )
-    )
-  );
-
-  private $html;
-  private $text;
-
-  private $related;
-  private $attachments;
-
-  public static function valid_eMailAddress($eMailAddress) {
-   if(ereg("^[^@ ]+@[^@ ]+\.[^@ ]+$", $eMailAddress))
-    return true;
-   else
-    return false;
-  }
-
-  public static function validContentId($contentId) {
-   if(ereg("^[a-zA-Z0-9]+$", $contentId))
-    return true;
-   else
-    return false;
-  }
-
-  public static function validContentKey($contentKey) {
-   if(ereg("^[a-zA-Z0-9]+$", $contentKey))
-    return true;
-   else
-    return false;
-  }
-
-  public static function mime_content_type($filename) {
-   $mime=array(
-    '.3dmf' => 'x-world/x-3dmf',
-    '.a' => 'application/octet-stream',
-    '.aab' => 'application/x-authorware-bin',
-    '.xwd' => 'image/x-xwd',
-    '.xyz' => 'chemical/x-pdb',
-    '.z' => 'application/x-compressed',
-    '.zip' => 'application/x-zip-compressed',
-    '.zoo' => 'application/octet-stream',
-    '.zsh' => 'text/x-script.zsh',
-    '.css' => 'text/css'
-   );
-   return $mime[strrchr($filename, '.')];
-  }
-
-  private $from;
-  private $to;
-  private $subject;
-
-  private $finalized;
-
-  private $headerMessage;
-  private $bodyMessage;
-
-  private $boundaries;
-
-  public function __construct($from, $to, $subject=self::defaultSubject) {
-
-   // set from
-   if(!self::valid_eMailAddress($from))
-    die(self::eMailAddressErrorMessage);
-   else
-    $this->from=$from;
-
-   // set to
-   if(!self::valid_eMailAddress($to))
-    die(self::eMailAddressErrorMessage);
-   else
-    $this->to=$to;
-
-   // set subject
-   $this->subject=$subject;
-
-   // set text
-   $this->text=array(
-    "message" => self::defaultTextMessage,
-    "properties" => array(
-        "charset" => self::$messageProperties["charset"]["values"][0],
-        "content-transfer-encoding" => self::$messageProperties["content-transfer-encoding"]["values"][0]
-    )
-   );
-
-   // set html
-   $this->html=array(
-    "message" => self::defaultHtmlMessage,
-    "properties" => array(
-        "charset" => self::$messageProperties["charset"]["values"][0],
-        "content-transfer-encoding" => self::$messageProperties["content-transfer-encoding"]["values"][1]
-    )
-   );
-
-   // set related and attachments
-   $this->related=array();
-   $this->attachments=array();
-
-   // set finalizater counter
-   $this->finalized=false;
-
-   $this->headerMessage="";
-   $this->bodyMessage="";
-
-   $this->boundaries=array(
-    "multipart/alternative" => md5(uniqid(microtime())),
-    "multipart/related" => md5(uniqid(microtime())),
-    "multipart/mixed" => md5(uniqid(microtime()))
-   );
-
-  }
-
-  public function setTo($to, &$errorString) {
-   if(self::valid_eMailAddress($to)) {
-    $this->to=$to;
-    return true;
-   } else {
-    $errorString=eMailAddressErrorMessage;
-    return false;
-   }
-  }
-
-  public function setFrom($from, &$errorString) {
-   if(self::valid_eMailAddress($from)) {
-    $this->from=$from;
-    return true;
-   } else {
-    $errorString=eMailAddressErrorMessage;
-    return false;
-   }
-  }
-
-  public function setSubject($subject=self::defaultSubject) {
-   $this->subject=$subject;
-  }
-
-  public function setTextMessage($textMessage=self::defaultTextMessage) {
-   $this->text["message"]=$textMessage;
-  }
-
-  public function setTextMessageProperty($key, $value, &$errorString) {
-
-   $key=strtolower($key);
-   $value=strtolower($value);
-
-   if(isset(self::$messageProperties[$key])) {
-    if(in_array($value, self::$messageProperties[$key]["values"])) {
-     if(self::$messageProperties[$key]["modifiable"]) {
-       $this->text["properties"][$key]=$value;
-       return true;
-     } else {
-      $errorString="Il valore della propriet? indicata non ? modificabile.";
-      return false;
-     }
-    } else {
-     $errorString="Il valore indicato per questa propriet? non ? valido.";
-     return false;
-    }
-   } else {
-    $errorString="Non esiste questa propriet? per i messaggi html.";
-    return false;
-   }
-  }
-
-  public function setHtmlMessage($htmlMessage=self::defaultHtmlMessage) {
-   $this->html["message"]=$htmlMessage;
-  }
-
-  public function setHtmlMessageProperty($key, $value, &$errorString) {
-
-   $key=strtolower($key);
-   $value=strtolower($value);
-
-   if(isset(self::$messageProperties[$key])) {
-    if(in_array($value, self::$messageProperties[$key]["values"])) {
-     if(self::$messageProperties[$key]["modifiable"]) {
-      $this->html["properties"][$key]=$value;
-      return true;
-     } else {
-      $errorString="Il valore della propriet? indicata non ? modificabile.";
-      return false;
-     }
-    } else {
-     $errorString="Il valore indicato per questa propriet? non ? valido.";
-     return false;
-    }
-   } else {
-    $errorString="Non esiste questa propriet? per i messaggi html.";
-    return false;
-   }
-  }
-
-  public function addRelated($fileName, $relatedKey, $contentId, &$errorString) {
-   if(is_file($fileName)) {
-    if($fileHandle=fopen($fileName, "r")) {
-     if(self::validContentId($contentId)) {
-      if(!isset($this->related[$relatedKey])) {
-       if(self::validContentKey($relatedKey)) {
-        $this->related[$relatedKey]=array(
-    "fileName" => basename($fileName),
-    "properties" => array(
-        "content-type" => self::mime_content_type($fileName),
-        "content-transfer-encoding" => self::$relatedProperties["content-transfer-encoding"]["values"][0],
-        "content-id" => $contentId
-    ),
-    "source" => base64_encode(
-        fread($fileHandle, filesize($fileName))
-    )
-        );
-        return true;
-       } else {
-        $errorString="L' id specificato non ? valido.";
-        return false;
-       }
-      } else {
-       $errorString="La chiave specificata ? gi? associata ad un altro related.";
-       return false;
-      }
-     } else {
-      $errorString="La chiave specificata per il related non ? valida.";
-      return false;
-     }
-    } else {
-     $errorString="Non ? possibile aprire il file indicato.";
-     return false;
-    }
-   } else {
-    $errorString="Il nome del file indicato non ? valido.";
-    return false;
-   }
-  }
-
-  public function setRelatedProperty($relatedKey, $key, $value, &$errorString) {
-
-   $key=strtolower($key);
-   $value=strtolower($value);
-  
-   if(isset(self::$relatedProperties[$key])) {
-    if(in_array($value, self::$relatedProperties[$key]["values"])) {
-     if(self::$relatedProperties[$key]["modifiable"]) {
-      if(isset($this->related[$relatedKey])) {
-       $this->related[$relatedKey]["properties"][$key]=$value;
-       return true;
-      } else {
-       $errorString="Il related indicato non esiste.";
-       return false;
-      }
-     } else {
-      $errorString="Il valore della propriet? indicata non ? modificabile.";
-      return false;
-     }
-    } else {
-     $errorString="Il valore indicato per questa propriet? non ? valido.";
-     return false;
-    }
-   } else {
-    $errorString="Non esiste questa propriet? per i related.";
-    return false;
-   }
-  }
-
-  public function addAttachment($fileName, $attachmentKey, &$errorString) {
-   if(is_file($fileName)) {
-    if($fileHandle=fopen($fileName, "r")) {
-     if(self::validContentKey($attachmentKey)) {
-      if(!isset($this->attachments[$attachmentKey])) {
-       $this->attachments[$attachmentKey]=array(
-    "fileName" => basename($fileName),
-    "properties" => array(
-        "content-type" => self::$attachmentProperties["content-type"]["values"][0],
-        "content-disposition" => self::$attachmentProperties["content-disposition"]["values"][0],
-        "content-transfer-encoding" => self::$attachmentProperties["content-transfer-encoding"]["values"][0]
-    ),
-    "source" => base64_encode(
-        fread($fileHandle, filesize($fileName))
-    )
-       );
-       return true;
-      } else {
-       $errorString="La chiave specificata ? gi? associata ad un altro allegato.";
-       return false;
-      }
-     } else {
-      $errorString="La chiave specificata per l'allegato non ? valida.";
-      return false;
-     }
-    } else {
-     $errorString="Non ? possibile aprire il file indicato.";
-     return false;
-    }
-   } else {
-    $errorString="Il nome del file indicato non ? valido.";
-    return false;
-   }
-  }
-
-  public function setAttachmentProperty($attachmentKey, $key, $value, &$errorString) {
-
-   $key=strtolower($key);
-   $value=strtolower($value);
-
-   if(isset(self::$attachmentProperties[$key])) {
-    if(in_array($value, self::$attachmentProperties[$key]["values"])) {
-     if(self::$attachmentProperties[$key]["modifiable"]) {
-      if(isset($this->attachments[$attachmentKey])) {
-       $this->attachments[$attachmentKey]["properties"][$key]=$value;
-       return true;
-      } else {
-       $errorString="L'allegato indicato non esiste.";
-       return false;
-      }
-     } else {
-      $errorString="Il valore della propriet? indicata non ? modificabile.";
-      return false;
-     }
-    } else {
-     $errorString="Il valore indicato per questa propriet? non ? valido.";
-     return false;
-    }
-   } else {
-    $errorString="Non esiste questa propriet? per gli allegati.";
-    return false;
-   }
-  }
-
-  public function finalize(&$errorString) {
-   if(!$this->finalized) {
-    $this->headerMessage="from: ".($this->from)."\n";
-    $this->headerMessage.="to: ".($this->to)."\n";
-    $this->headerMessage.="subject: ".($this->subject)."\n";
-    $this->headerMessage.="mime-version: 1.0\n";
-
-    if(($countAttachments=count($this->attachments))>0) {
-     $this->headerMessage.="content-type: multipart/mixed; boundary=\"".($this->boundaries["multipart/mixed"])."\"\n\n";
-     $this->headerMessage.=self::defaultHeaderMessage;
-     $this->headerMessage.="\n\n";
-
-     $this->bodyMessage="--".($this->boundaries["multipart/mixed"])."\n";
-
-     if(($countRelated=count($this->related))>0) {
-      $this->bodyMessage.="content-type: multipart/related; type=\"multipart/alternative\"; boundary=\"".($this->boundaries["multipart/related"])."\"\n\n";
-
-      $this->bodyMessage.="--".($this->boundaries["multipart/related"])."\n";
-
-      $this->bodyMessage.="content-type: multipart/alternative; boundary=\"".($this->boundaries["multipart/alternative"])."\"\n\n";
-      $this->createMultipartAlternativeMessage($this->boundaries["multipart/alternative"]);
-      $this->bodyMessage.="--".($this->boundaries["multipart/alternative"])."--\n\n";
-
-      // aggiungere i related e chiudere
-
-      $relatedCounter=0;
-      while(list($key,)=each($this->related)) {
-       $relatedCounter++;
-      
-       $this->bodyMessage.="--".$this->boundaries["multipart/related"]."\n";
-       $this->createMultipartRelatedMessage($key);
-       if($relatedCounter!=$countRelated) $this->bodyMessage.="--".($this->boundaries["multipart/related"])."\n";
-       else $this->bodyMessage.="--".($this->boundaries["multipart/related"])."--\n\n";
-      }
-     } else {
-      $this->bodyMessage.="content-type: multipart/alternative; boundary=\"".($this->boundaries["multipart/alternative"])."\"\n\n";
-      $this->createMultipartAlternativeMessage();
-      $this->bodyMessage.="--".($this->boundaries["multipart/alternative"])."--\n\n";
-     }
-
-     $attachmentsCounter=0;
-     while(list($key,)=each($this->attachments)) {
-      $attachmentsCounter++;
-      $this->bodyMessage.="--".($this->boundaries["multipart/mixed"])."\n";
-      $this->createMultipartMixedMessage($key);
-      if($attachmentsCounter!=$countAttachments) $this->bodyMessage.="--".($this->boundaries["multipart/mixed"])."\n";
-      else $this->bodyMessage.="--".($this->boundaries["multipart/mixed"])."--\n\n";
-     }
-    } else {
-     if(($countRelated=count($this->related))>0) {
-      $this->headerMessage.="content-type: multipart/related; type=\"multipart/alternative\"; boundary=\"".($this->boundaries["multipart/related"])."\"\n\n";
-      $this->headerMessage.=self::defaultHeaderMessage;
-      $this->headerMessage.="\n\n";
-
-      $this->bodyMessage="--".($this->boundaries["multipart/related"])."\n";
-      $this->bodyMessage.="content-type: multipart/alternative; boundary=\"".($this->boundaries["multipart/alternative"])."\"\n\n";
-      $this->createMultipartAlternativeMessage();
-      $this->bodyMessage.="--".($this->boundaries["multipart/alternative"])."--\n\n";
-
-      $relatedCounter=0;
-      while(list($key,)=each($this->related)) {
-       $relatedCounter++;
-       $this->bodyMessage.="--".$this->boundaries["multipart/related"]."\n";
-       $this->createMultipartRelatedMessage($key);
-       if($relatedCounter!=$countRelated) $this->bodyMessage.="--".($this->boundaries["multipart/related"])."\n";
-       else $this->bodyMessage.="--".($this->boundaries["multipart/related"])."--\n\n";
-      }
-     } else {
-      $this->headerMessage.="content-type: multipart/alternative; boundary=\"".($this->boundaries["multipart/alternative"])."\"\n\n";
-      $this->headerMessage.=self::defaultHeaderMessage;
-      $this->headerMessage.="\n\n";
-
-      $this->createMultipartAlternativeMessage();
-      $this->bodyMessage.="--".($this->boundaries["multipart/alternative"])."--";
-
-     }
-    }
-    $this->finalized=true;
-    return true;
-   } else {
-    $errorString="Al momento non ? possibile finalizzare.";
-    return false;
-   }
-  }
-
-  private function createMultipartAlternativeMessage() {
-   $multipartAlternativeBoundary=$this->boundaries["multipart/alternative"];
-   $this->bodyMessage.="--$multipartAlternativeBoundary\n";
-   $this->bodyMessage.="content-type: text/plain; charset=\"".($this->text["properties"]["charset"])."\"\n";
-   $this->bodyMessage.="content-transfer-encoding: ".($this->text["properties"]["content-transfer-encoding"])."\n\n";
-   $this->bodyMessage.=$this->text["message"];
-   $this->bodyMessage.="\n\n";
-   $this->bodyMessage.="--$multipartAlternativeBoundary\n";
-   $this->bodyMessage.="content-type: text/html; charset=\"".($this->html["properties"]["charset"])."\"\n";
-   $this->bodyMessage.="content-transfer-encoding: ".($this->html["properties"]["content-transfer-encoding"])."\n\n";
-   $this->bodyMessage.=$this->html["message"];
-   $this->bodyMessage.="\n\n";
-  }
-
-  private function createMultipartRelatedMessage($key) {
-   $obj=$this->related[$key];
-   $this->bodyMessage.="content-type: ".($obj["properties"]["content-type"])."; name=\"".($obj["fileName"])."\"\n";
-   $this->bodyMessage.="content-transfer-encoding: ".($obj["properties"]["content-transfer-encoding"])."\n";
-   $this->bodyMessage.="content-id: <".($obj["properties"]["content-id"]).">\n\n";
-   $this->bodyMessage.=$obj["source"];
-   $this->bodyMessage.="\n\n";
-  }
-
-  private function createMultipartMixedMessage($key) {
-   $obj=$this->attachments[$key];
-   $this->bodyMessage.="content-type: ".($obj["properties"]["content-type"])."; name=\"".($obj["fileName"])."\"\n";
-   $this->bodyMessage.="content-transfer-encoding: ".($obj["properties"]["content-transfer-encoding"])."\n";
-   $this->bodyMessage.="content-disposition: ".($obj["properties"]["content-disposition"])."; filename=\"".($obj["fileName"])."\"\n\n";
-   $this->bodyMessage.=$obj["source"];
-   $this->bodyMessage.="\n\n";
-  }
-
-  public function getSource(&$errorString) {
-   if($this->finalized) {
-    return ($this->headerMessage).($this->bodyMessage);
-   } else {
-    $errorString="Ancora non ? avvenuta la finalizzazione.";
-    return false;
-   }
-  }
-
-  public function sendMail(&$errorString) {
-   if($this->finalized) {
-    mail($this->to, $this->subject, $this->bodyMessage, $this->headerMessage);
-    $this->finalized=false;
-    return true;
-   } else {
-    $errorString="Ancora non ? avvenuta la finalizzazione.";
-    return false;
-   }
-  }
-}
-
-?>
diff --git a/test/manual/etags/prol-src/natded.prolog b/test/manual/etags/prol-src/natded.prolog
deleted file mode 100644 (file)
index 08c81d4..0000000
+++ /dev/null
@@ -1,1545 +0,0 @@
-% $Id: natded.pl,v 1.7 2001/04/26 12:22:56 geertk Exp geertk $
-% NATURAL DEDUCTION CG PARSER WITH SEMANTICS
-% ========================================================================= 
-% Bob CARPENTER
-% Computational Linguistics Program, Department of Philosophy
-% Carnegie Mellon University, Pittsburgh, PA  15213
-% Net: carp+@cmu.edu  
-% Voice: (412) 268-8043      Fax: (412) 268-1440
-
-% Copyright 1995, Bob Carpenter
-
-% Written: 12 March 1993
-% Revised: 4 February 1994
-% Further Revised: 2 May 1994
-% Revised for CGI: 16 November 1995
-% Revised for Lambek notation: ? Novemeber 1995
-% Revised again: 30 November 1995
-
-
-% Library Includes
-% ========================================================================= 
-
-:- use_module(library(system)).
-% :- use_module(library(random)).
-
-
-% Data Types
-% ========================================================================= 
-
-% <lambda_term> ::=  <lambda_var>
-%                 |  <lambda_con>
-%                 |  <lambda_term>@<lambda_term>
-%                 |  <lambda_var>^<lambda_term>
-
-% <lambda_var> ::= var(<prolog_var>)
-
-% <lambda_con> ::= con(<prolog_atom>)
-
-% <tree> ::= tree(<rule>,<cat>,<list(<tree>)>)
-%          | ass(<syn>,<var>,<index>)
-%          | leaf(<word>)
-
-% <rule> ::= <prolog_atom>
-
-% <cat> ::= <syn> : <lambda_term>
-
-% <syn> ::= <basic_syn>
-%         | <syn> / <syn>  |  <syn> \ <syn> 
-%         | scop(<syn>,<syn>) 
-%         | <syn> - <syn>
-
-% <basic_syn> ::= bas(<prolog_term>)
-
-% <grammar> ::= <sequence(<lex_entry>)> 
-%               <sequence(<empty_category>)>
-%               <sequence(<grammar_rule>)>
-
-% <lex_entry> ::=  <word> ==> <cat>.
-
-% <empty_category> ::= empty <cat>.
-
-% <grammar_rule> ::= <cat> ===> <list(<cat>)> if <prolog_goal>.
-
-% <index> ::= <integer>
-
-% <word> ::= <prolog_atom>
-
-% <chart_edge> ::= edge(<int>, <int>, <cat>)
-
-% Operator Declarations
-% ========================================================================= 
-
-  :-op(150,yfx,@).      % function application
-% :-op(200,xfy,^).      % lambda abstraction
-% :-op(400,yfx,/).      % forward slash
-  :-op(350,yfx,\).      % backward slash
-  :-op(500,xfx,:).      % category constructor
-  :-op(600,xfx,==>).    % lexical rewriting
-  :-op(600,xfx,===>).   % grammar rule
-  :-op(600,fx,empty).   % empty categories
-  :- op(600,xfx,macro). % lexical macros
-  :- op(600,xfx,means). % meaning postulates
-  :-op(1200,xfx,if).    % conditions on rule schemes
-
-:- dynamic edge/3.
-:- dynamic emptyedge/1.
-:- dynamic active/3.
-
-
-
-
-% Lambda Calculus
-% ========================================================================= 
-
-% expandmng(+M:<term>, -MExp:<term>)
-% ----------------------------------------------------------------------
-% MExp is the result of recursively replacing constants with their
-% definitions in M; disallows non-determinism
-% ----------------------------------------------------------------------
-expandmng(var(V),var(V)).
-expandmng(con(C),MExp):-
-  con(C) means M, !,
-  expandmng(M,MExp).
-expandmng(con(C),con(C)).
-expandmng(V^M,V^MExp):-
-  expandmng(M,MExp).
-expandmng(M@N,MExp@NExp):-
-  expandmng(M,MExp),
-  expandmng(N,NExp).
-
-
-% normalize(+M:<term>, -MNorm:<term>)
-% ----------------------------------------------------------------------
-% MNorm is the normal form of M; all bound variables renamed
-% ----------------------------------------------------------------------
-normalize(M,MNorm):-
-  fresh_vars(M,MFr),
-  normalize_fresh(MFr,MNorm).
-
-% fresh_vars(+M:<term>, -MFr:<term>)
-% ----------------------------------------------------------------------
-% MFr is the result of renaming all bound variables
-% in M to fresh instances, using alpha-reduction
-% ----------------------------------------------------------------------
-fresh_vars(var(V),var(V)).
-fresh_vars(con(C),con(C)).
-fresh_vars(M@N,MFr@NFr):-
-  fresh_vars(M,MFr),
-  fresh_vars(N,NFr).
-fresh_vars(X^M,var(Y)^MFr):-
-  subst(M,X,var(Y),M2),
-  fresh_vars(M2,MFr).
-
-% substitute(+M:<term>, +X:<var>, +N:<term>, -L:<term>)
-% ----------------------------------------------------------------------
-% L = M[X |--> N]
-% ----------------------------------------------------------------------
-subst(var(Y),var(X),M,N):-
-  ( X == Y
-    -> N=M
-  ; N = var(Y)
-  ).
-subst(con(C),_,_,con(C)).
-subst(M@L,X,N,M2@L2):-
-  subst(M,X,N,M2),
-  subst(L,X,N,L2).
-subst(Y^M,X,N,Y^M2):-
-  ( Y == X
-    -> M2 = M
-  ; subst(M,X,N,M2)
-  ).
-
-% normalize_fresh(+M:<term>, -N:<term>)
-% ----------------------------------------------------------------------
-% M is normalized to N 
-% -- all bound variables are made fresh
-% -- cut corresponds to leftmost normalization
-% ----------------------------------------------------------------------
-normalize_fresh(M,N):-
-  reduce_subterm(M,L),
-  !, normalize_fresh(L,N).
-normalize_fresh(M,M).
-
-% reduce_subterm(+M:<term>, -N:<term>)
-% ----------------------------------------------------------------------
-% N is the result of performing one beta- or 
-% eta-reduction on some subterm of M;
-% -- reduces leftmost subterm first, but provides 
-%    all reductions on backtracking
-% ----------------------------------------------------------------------
-reduce_subterm(M,M2):-
-  reduce(M,M2).
-reduce_subterm(M@N,M2@N):-
-  reduce_subterm(M,M2).
-reduce_subterm(M@N,M@N2):-
-  reduce_subterm(N,N2).
-reduce_subterm(X^M,X^N):-
-  reduce_subterm(M,N).
-
-% reduce(+M:<term>, -N:<term>)
-% ----------------------------------------------------------------------
-% reduces M to N using beta- or eta-reduction
-% -- assumes no variable clashes
-% ----------------------------------------------------------------------
-reduce((X^M)@N,L):-     % beta reduction
-  subst(M,X,N,L).
-reduce(X^(M@Y),M):-     % eta reduction
-  X == Y,
-  \+ ( free_var(M,Z),
-       Z == X ).
-
-% free_var(+M:<term>, -X:<var>)
-% ----------------------------------------------------------------------
-% X is free in M
-% ----------------------------------------------------------------------
-free_var(var(V),var(V)).
-free_var(M@N,X):-
-  ( free_var(M,X)
-  ; free_var(N,X)
-  ).
-free_var(X^M,Y):-
-  free_var(M,Y),
-  Y \== X.
-
-% free_for(+N:<term>, +X:<var>, +M:<term>)
-% ----------------------------------------------------------------------
-% M is free for X in N
-% ----------------------------------------------------------------------
-free_for(var(_),_,_).
-free_for(con(_),_,_).
-free_for(L@K,X,M):-
-  free_for(L,X,M),
-  free_for(K,X,M).
-free_for(Y^L,X,M):-
-  free_for(L,X,M),
-  ( \+ free_var(L,X)
-  ; \+ free_var(M,Y)
-  ).
-
-
-% Right-Left, Bottom-Up Dynamic Chart Parser (after ALE)
-% =========================================================================
-
-% Lexical Compiler
-% ----------------------------------------------------------------------
-
-% compile_lex(+File:<file>)
-% ----------------------------------------------------------------------
-% compiles lexical entries into file 
-% ----------------------------------------------------------------------
-compile_lex(File):-
-  tell(File),
-  write('% Lexical Entries'), nl,
-  write('% ---------------'), nl, nl,
-  lex(W,Syn,Sem),
-  numbervars(lexentry(W,Syn,Sem),0,_),
-  write('lexentry(\''), write(W), write('\','),
-  write(Syn),write(','), write(Sem), write(').'), nl,
-  fail.
-compile_lex(File):-
-  told,
-  compile(File).
-
-% consult_lex  
-% ----------------------------------------------------------------------
-% consults lexicon in place
-% ----------------------------------------------------------------------
-consult_lex:-
-  retractall(lexentry(_,_,_)),
-  lex(W,Syn,Sem),
-  assert(lexentry(W,Syn,Sem)),
-  fail.
-consult_lex.
-
-% lex(?W:<word>, ?Syn:<syn>, ?Sem:<lambda_term>)
-% ----------------------------------------------------------------------
-% word W has syntactic category Syn and smenantic term Sem
-% ----------------------------------------------------------------------
-lex(W,SynOut,Sem):-
-  W ==> Syn : Sem,
-  expandsyn(Syn,SynOut).
-
-% expandsyn(+SynIn:<syn>, ?SynOut:<syn>)
-% ----------------------------------------------------------------------
-% the category SynIn is macro expanded recursively to SynOut 
-% ----------------------------------------------------------------------
-expandsyn(Syn,Syn):-
-  var(Syn), !.
-expandsyn(SynIn,SynOut):-
-  macro(SynIn,SynMid),   % cut means unique macro expansion
-  !, expandsyn(SynMid,SynOut).
-expandsyn(Syn1/Syn2,Syn1Out/Syn2Out):-
-  !, expandsyn(Syn1,Syn1Out), 
-  expandsyn(Syn2,Syn2Out).
-expandsyn(Syn1\Syn2,Syn1Out\Syn2Out):-
-  !, expandsyn(Syn1,Syn1Out), 
-  expandsyn(Syn2,Syn2Out).
-expandsyn(Syn1-Syn2,Syn1Out-Syn2Out):-
-  !, expandsyn(Syn1,Syn1Out), 
-  expandsyn(Syn2,Syn2Out).
-expandsyn(q(Syn1,Syn2,Syn3),q(Syn1Out,Syn2Out,Syn3Out)):-
-  !, expandsyn(Syn1,Syn1Out), 
-  expandsyn(Syn2,Syn2Out),
-  expandsyn(Syn3,Syn3Out).
-expandsyn(Syn,Syn):-
-  bas_syn(Syn).
-
-% bas_syn(?Syn:<syn>)
-% ----------------------------------------------------------------------
-% Syn is a basic syntactic category
-% ----------------------------------------------------------------------
-bas_syn(n(_)).
-bas_syn(np(_,_)).
-bas_syn(s(_)).
-bas_syn(coor).
-bas_syn(sc(_)).
-bas_syn(ex(_)).
-
-
-
-
-% Empty Edge Compilation
-% ----------------------------------------------------------------------
-
-% compile_empty
-% ----------------------------------------------------------------------
-% compiles empty categories, asserting all active and inactive edges
-% they can produce by themselves; always succeeds
-% ----------------------------------------------------------------------
-compile_empty:-
-  retractall(emptyedge(_)), retractall(active(_,_,_)),
-  empty SynIn:Sem,
-  expandsyn(SynIn,Syn),
-  complete(cat(Syn,Sem,[],[],empty(Syn,Sem))).
-compile_empty:-
-  bagof(C,emptyedge(C),Cs),
-  length(Cs,N),  
-  nl, write(N), write(' complete empty edges'), nl,
-  bagof(D-Ds,G^active(Ds,D,G),Es),
-  length(Es,M),  
-  write(M), write(' active rules with empty starts'), nl.
-
-% complete_cat(Cat:+<cat>)
-% ----------------------------------------------------------------------
-% Cat is asserted as empty, and all current active edges are tested to
-% see if Cat can extend them; fails for looping
-% ----------------------------------------------------------------------
-complete(Cat):-
-  assert(emptyedge(Cat)),
-  ( (CatM ===> [Cat|Cats] if Goal)
-  ; active(CatM,[Cat|Cats],Goal)
-  ),
-  add_active(Cats,CatM,Goal).
-
-% add_active(Cats:+<list(<cat>)>, +Cat:<cat>, +Goal:<goal>)
-% ----------------------------------------------------------------------
-% the active edge Cat --> . Cats is asserted, and any extensions
-% computed and themselves asserted;  fails for looping
-% ----------------------------------------------------------------------
-add_active([],Cat,Goal):-
-  call(Goal),
-  assert(emptyedge(Cat)),
-  complete(Cat).
-add_active([Cat|Cats],CatM,Goal):-
-  assert(active([Cat|Cats],CatM,Goal)),
-  emptyedge(Cat),
-  add_active(Cats,CatM,Goal).
-
-% parse(Ws:+<list(<word>)>, Cat:?<cat>)
-% ----------------------------------------------------------------------
-% Cat can be derived from Ws
-% ----------------------------------------------------------------------
-parse(Ws,Cat):-
-  derived_analyses(Ws,WsMid),
-  retractall(edge(_,_,_)),
-  reverse(WsMid,[],WsRev),
-  build(WsRev,0,Length),
-  edge(Length,0,Cat).
-
-% derived_analyses(WsIn:+<list(<word>)>, WsOut:-<list(<word>)>)
-% ----------------------------------------------------------------------
-% computes subderivations of WsIn
-% ----------------------------------------------------------------------
-derived_analyses([],[]).
-derived_analyses([der(Ws)|Ws2],[der(Ws,Ass,Syn,Sem)|DerWs2]):-
-  !, parse(Ws,cat(Syn,Sem,Ass,[],_)),
-  \+ member(abs(_,_,_),Ass),
-  derived_analyses(Ws2,DerWs2).
-derived_analyses([W|Ws],[W|DerWs]):-
-  derived_analyses(Ws,DerWs).
-
-% build(Ws:+<list(<word>)>, Right:+<int>, Left:-<int>)
-% ----------------------------------------------------------------------
-% finishes building chart with Ws as remaining word, starting from
-% right position Right and finishing on left position Left
-%      -- counts backwards, so Left > Right
-% ----------------------------------------------------------------------
-build([],Left,Left).
-build([W|Ws],Right,FinalLeft):-
-  RightPlus1 is Right+1,
-  ( buildact(W,Right,RightPlus1)
-  ; build(Ws,RightPlus1,FinalLeft)
-  ).
-
-% build_act(+W:<inputword>, +Left:<int>, +Right:<int>)
-% ----------------------------------------------------------------------
-% take action basedon whether input W is:
-%       [SynCat]     assume hypothetical category with syntax SynCat
-%       der(WsSub,Ass,Syn,Sem)  add derived result
-%       W            treat as input word
-% ----------------------------------------------------------------------
-buildact([SynIn],Right,RightPlus1):-
-  mapsyn(SynIn,Syn),   % add unspecified features
-  !,     add_edge(RightPlus1,Right,cat(Syn,var(X),[abs(Syn,var(X),N)],[],
-                                  ass(Syn,var(X),N))).
-buildact(der(WsSub,Ass,Syn,Sem),Right,RightPlus1):-
-  !,  add_edge(RightPlus1,Right,cat(Syn,Sem,Ass,[],
-                                  tree(der,Syn:Sem,[ders(WsSub)]))).
-buildact(W,Right,RightPlus1):-
-  lexentry(W,Syn,Sem),
-  add_edge(RightPlus1,Right,cat(Syn,Sem,[l],[],tree(lex,Syn:Sem,[leaf(W)]))).
-buildact(W,_,_):-
-    \+ (W ==> _), 
-    nl, write('Input not recognized: '), write(W), write('<br>').
-
-% mapsyn(+SynCat:<syncat>, -SynCatOut:<syncat)
-% ----------------------------------------------------------------------
-% SynCatOut is result of adding default features to subcategories of
-% SynCat if any are missing;  allows [SynCat] to specify cats without 
-% features for input;  ones with features will be passed along
-% ----------------------------------------------------------------------
-mapsyn(A/B,AM/BM):-
-  mapsyn(A,AM), mapsyn(B,BM).
-mapsyn(A\B,AM\BM):-
-  mapsyn(A,AM), mapsyn(B,BM).
-mapsyn(A-B,AM-BM):-
-  mapsyn(A,AM), mapsyn(B,BM).
-mapsyn(scop(A,B),scop(AM,BM)):-
-  mapsyn(A,AM), mapsyn(B,BM).
-mapsyn(q(A,B,C),q(AM,BM,CM)):-
-  mapsyn(A,AM), mapsyn(B,BM), mapsyn(C,CM).
-mapsyn(s,s(_)).
-mapsyn(n,n(ind(sng))).
-mapsyn(np,np(ind(sng),nm(_))).
-mapsyn(np(X,Y),np(X,Y)).
-mapsyn(n(X),n(X)).
-mapsyn(s(X),s(X)).
-
-% add_edge(Left:+<int>, Right:+<int>, Cat:+<cat>)
-% ----------------------------------------------------------------------
-% asserts edge into chart and then tries to extend it in all possible ways
-%     -- always fails to force backgracking
-% ----------------------------------------------------------------------
-add_edge(Left,Right,Cat):-
-  asserta(edge(Left,Right,Cat)),
-  ( (MotherCat ===> [Cat|Cats] if Goal)
-  ; active([Cat|Cats],MotherCat,Goal)
-  ),
-  findcats(Cats,Right,NewRight),
-  call(Goal),
-  add_edge(Left,NewRight,MotherCat).
-
-% findcats(Left:+<int>, Cats:+<cats>, Right:-<int>)
-% ----------------------------------------------------------------------
-% Cats is a list of categories spanning Left to Right
-% ----------------------------------------------------------------------
-findcats([],Left,Left).
-findcats([Cat|Cats],Left,Right):-
-  ( edge(Left,Mid,Cat),
-    findcats(Cats,Mid,Right)
-  ; emptyedge(Cat),
-    findcats(Cats,Left,Right)
-  ).
-
-% edge(Left:?<nat>, Right:?<nat>, Cat:?<cat>)                     (dynamic)
-% ----------------------------------------------------------------------
-% There is an edge with category Cat from Left to Right;
-% ----------------------------------------------------------------------
-
-% normalize_tree(+TreeIn:<tree>, -TreeOut:<tree>)
-% ----------------------------------------------------------------------
-% TreeOut is isomorphic to TreeIn, with normalized semantics at
-% every node
-% ----------------------------------------------------------------------
-normalize_tree(tree(Rule,Syn:Sem,Trees),
-               tree(Rule,Syn:SemNorm,TreesNorm)):-
-  normalize_fresh(Sem,SemNorm),
-  normalize_trees(Trees,TreesNorm).
-normalize_tree(ass(Syn,Var,Index),ass(Syn,Var,Index)).
-normalize_tree(leaf(Word),leaf(Word)).
-normalize_tree(ders(Word),ders(Word)).
-normalize_tree(empty(Syn,Sem),empty(Syn,SemNorm)):-
-  normalize_fresh(Sem,SemNorm).
-
-normalize_trees([],[]).
-normalize_trees([T|Ts],[TNorm|TsNorm]):-
-  normalize_tree(T,TNorm),
-  normalize_trees(Ts,TsNorm).
-
-
-% expandmng_tree(+TreeIn:<tree>, -TreeOut:<tree>)
-% ----------------------------------------------------------------------
-% TreeOut is isomorphic to TreeIn, with expanded semantics
-% every node
-% ----------------------------------------------------------------------
-expandmng_tree(tree(Rule,Syn:Sem,Trees),
-               tree(Rule,Syn:SemNorm,TreesNorm)):-
-  expandmng(Sem,SemNorm),
-  expandmng_trees(Trees,TreesNorm).
-expandmng_tree(ass(Syn,Var,Index),ass(Syn,Var,Index)).
-expandmng_tree(leaf(Word),leaf(Word)).
-expandmng_tree(ders(Word),ders(Word)).
-expandmng_tree(empty(Syn,Sem),empty(Syn,SemNorm)):-
-  expandmng(Sem,SemNorm).
-
-expandmng_trees([],[]).
-expandmng_trees([T|Ts],[TExp|TsExp]):-
-  expandmng_tree(T,TExp),
-  expandmng_trees(Ts,TsExp).
-
-
-% Grammar Rules
-% ========================================================================= 
-
-% C:<-cat> ===> Cs:<+list(<cat>)>
-% ----------------------------------------------------------------------
-% C can be composed of Cs; may be conditions
-
-% / elimination
-% -------------
-cat(A, Alpha@Beta, Ass3, Qs3, tree(fe,A:Alpha@Beta,[T1,T2]))
-===>
-[ cat(A/B, Alpha, Ass1, Qs1, T1),
-  cat(B, Beta, Ass2, Qs2, T2)
-] if
-     append(Ass1,Ass2,Ass3),
-     append(Qs1,Qs2,Qs3).
-
-% \ elimination
-% -------------
-cat(A, Alpha@Beta, Ass3, Qs3, tree(be,A:Alpha@Beta,[T1,T2]))
-===>
-[ cat(B, Beta, Ass1, Qs1, T1),
-  cat(B\A, Alpha, Ass2, Qs2, T2)
-] if
-     append(Ass1,Ass2,Ass3),
-     append(Qs1,Qs2,Qs3).
-
-% \ introduction
-% --------------
-cat(B\A, X^Alpha, Ass, Qs, tree(bi(N),B\A:X^Alpha,[T1]))
-===>
-[  cat(A, Alpha, [abs(B,X,N)|Ass], Qs, T1)
-] if
-    \+ T1 = tree(be,_,[_,ass(_,_,N)]),   % normal
-    at_least_one_member(l,Ass),  % non-empty condition
-     \+ ( subtree(tree(AssumeM,_,Ts),T1),      % properly nested
-          member(TMid,Ts), 
-          subtree(ass(_,_,'$VAR'(J)),TMid), 
-          J == N,
-          hypothetical_mem(AssumeM,Ass,Qs) ).
-
-% / introduction
-% --------------
-cat(A/B, X^Alpha, Ass2, Qs, tree(fi(N),A/B:X^Alpha,[T1]))
-===>
-[ cat(A,Alpha,Ass1,Qs,T1)
-] if
-     \+ T1 = tree(fe,_,[_,ass(_,_,N)]),    % normal
-     at_least_one_member(l,Ass1), % non-empty condition
-     select_last(Ass1,abs(B,X,N),Ass2),
-     \+ ( subtree(tree(AssumeM,_,Ts),T1),   % properly nested
-          member(TMid,Ts), 
-          subtree(ass(_,_,'$VAR'(J)),TMid), 
-          J == N,
-          hypothetical_mem(AssumeM,Ass1,Qs) ).
-
-% - introduction
-% --------------
-cat(A-B, X^Alpha, Ass2, Qs, tree(gi(N),(A-B):X^Alpha,[T1]))
-===>
-[ cat(A, Alpha, Ass1, Qs, T1)
-] if
-     at_least_one_member(l,Ass1),  % non-empty condition
-     select(abs(B,X,N),Ass1,Ass2),
-     \+ ( subtree(tree(AssumeM,_,Ts),T1),  % normalized?
-          member(TMid,Ts), 
-          subtree(ass(_,_,'$VAR'(J)),TMid), 
-          J == N,
-          hypothetical_mem(AssumeM,Ass1,Qs) ).
-
-
-% q quantifier pushing (q-elimination part 1)
-% ----------------------------------------------------------------------
-cat(C, var(X), Ass, [gq(B,A,Q,var(X),N)|Qs],
-          tree(qqpush(N),C:var(X),[T1]))
-===>
-[ cat(q(C,B,A), Q, Ass, Qs, T1)
-] if
-  \+ T1 = tree(qqi,_,_).     % normal
-
-% q quantifier popping (q-elimination part 2)
-% ----------------------------------------------------------------------
-cat(A, Q@(X^Alpha), Ass, Qs2, tree(qqpop(N),A:Q@(X^Alpha),[T1]))
-===>
-[ cat(B,Alpha,Ass,Qs1,T1)
-] if
-     select(gq(B,A,Q,X,N),Qs1,Qs2),
-     \+ ( subtree(tree(AssumeM,_,Ts),T1),
-          member(TMid,Ts), 
-          subtree(tree(qqpush(J),_,_),TMid), 
-          J == N,
-          hypothetical_mem(AssumeM,Ass,Qs1) ).
-
-% q quantifier introduction [restricted to q(np,s,s)]
-% ----------------------------------------------------------------------
-% restricted to A = s(_), B=np case for termination
-cat(q(np(ind(Num),Case),s(VF),s(VF)), var(P)^(var(P)@Alpha), Ass, Qs1,
-    tree(qqi,q(np(ind(Num),Case),s(VF),s(VF)):var(P)^var(P)@Alpha,[T1]))
-===>
-[ cat(np(ind(Num),Case),Alpha,Ass,Qs1,T1) 
-] if 
-  true.
-
-% coordination elimination
-% ----------------------------------------------------------------------
-cat(C, Sem, [], [], tree(coel,C:Sem,[T1,T2,T3]))
-===>
-[ cat(C, Sem1, Ass1, [], T1),
-  cat(coor, Alpha, Ass2, [],T2),
-  cat(C, Sem2, Ass3, [], T3)
-] if
-     \+ member(abs(_,_,_),Ass1),        % coordination condition
-     \+ member(abs(_,_,_),Ass2),
-     \+ member(abs(_,_,_),Ass3),
-     \+ T1 = tree(coel,_,_),
-     \+ T2 = tree(coel,_,_),
-     make_coor(C,Alpha,Sem1,Sem2,Sem).
-
-% non-boolean coordination
-% ----------------------------------------------------------------------
-%cat(np(pl,-), con(union)@Alpha1P@Alpha3P, [], [],
-%    tree(nbc,np(pl,-):con(union)@Alpha1P@Alpha3P,[T1,T2,T3]))
-%===>
-%[ cat(NP1, Alpha1, Ass1, [], T1),
-%  cat(coor, nbc, Ass2, [],T2),
-%  cat(NP3, Alpha3, Ass3, [], T3)
-% ]:-  
-%      \+ member(abs(_,_,_),Ass1),        % coordination condition
-%      \+ member(abs(_,_,_),Ass2),
-%      \+ member(abs(_,_,_),Ass3),
-%      make_nb_coor(NP1,Alpha1,Alpha1P),
-%      make_nb_coor(NP3,Alpha3,Alpha3P).
-% 
-% make_nb_coor(np,Alpha,con(singleton)@Alpha).
-% make_nb_coor(np(pl,+),Alpha,con(singleton)@Alpha).
-% make_nb_coor(np(pl,-),Alpha,Alpha).
-
-
-% subtree(-TSub:<tree>, +T:<tree>)
-% ----------------------------------------------------------------------
-% TSub is a subtree of T
-% ----------------------------------------------------------------------
-subtree(T,T).
-subtree(T,tree(_,_,Ts)):-
-  member(T2,Ts),
-  subtree(T,T2).
-
-% hypothetical_mem(Rule,Assumptions,Qs)
-% ----------------------------------------------------------------------
-% Rule is a member of the assumptions
-% ----------------------------------------------------------------------
-hypothetical_mem(fi(N),Ass,_):-
-  member(abs(_,_,M),Ass), N == M.
-hypothetical_mem(bi(N),Ass,_):-
-  member(abs(_,_,M),Ass), N == M.
-hypothetical_mem(gi(N),Ass,_):-
-  member(abs(_,_,M),Ass), N == M.
-hypothetical_mem(qqpush(N),_,Qs):-
-  member(gq(_,_,_,_,M),Qs), N == M.
-
-% make_coor(Cat,CoorSem,Sem1,Sem2,SemOut)
-% ----------------------------------------------------------------------
-% generalized coordination semantics CoorSem is applied to
-% Sem1 and Sem2 of type Cat, with result SemOut
-% ----------------------------------------------------------------------
-make_coor(s(_),Alpha,Sem1,Sem2,Alpha@Sem1@Sem2).
-make_coor(n(_),Alpha,Sem1,Sem2,var(X)^Alpha@(Sem1@var(X))@(Sem2@var(X))).
-make_coor(A/_,Alpha,Sem1,Sem2,var(X)^Sem):-
-  make_coor(A,Alpha,Sem1@var(X),Sem2@var(X),Sem).
-make_coor(_\A,Alpha,Sem1,Sem2,var(X)^Sem):-
-  make_coor(A,Alpha,Sem1@var(X),Sem2@var(X),Sem).
-make_coor(A-_,Alpha,Sem1,Sem2,var(X)^Sem):-
-  make_coor(A,Alpha,Sem1@var(X),Sem2@var(X),Sem).
-make_coor(q(_,_,A),Alpha,Sem1,Sem2,var(X)^Sem):-
-  make_coor(A,Alpha,Sem1@var(X),Sem2@var(X),Sem).
-
-
-% General CGI Handling
-% ========================================================================= 
-
-% start_up
-% ----------------------------------------------------------------------
-% executed when saved state is restarted;
-% tokenizes, parses and sends off input for handling;
-% halts on termination
-% ----------------------------------------------------------------------
-start_up:-
-%    getenv('QUERY_STRING', Arg),
-    prolog_flag(argv,[Arg]),
-
-                            %           write('<p>'), write(Arg), nl, ttyflush,
-  ( tokenizeatom(Arg,TokenList)
-        %                               ,write('<p>'), write(TokenList), ttyflush
-  ; write('Input '), write(Arg), write(' could not be tokenized'), ttyflush, halt
-  ),
-  ( parse_cgi(TokenList,KeyVals)
-         %                              , write('<p>'), write(KeyVals), ttyflush
-  ; write('Tokens '), write(TokenList), write(' could not be parsed'), halt
-  ),
-  ( action(KeyVals)
-  ; told, write('Action '), write(KeyVals), write(' could not be executed')
-  ),
-  halt.
-
-% tokenizeatom(+Input:<atom>, -Tokens:<list(<token>)>)  
-% ----------------------------------------------------------------------
-% breaks input Input into list of tokens;  
-% ----------------------------------------------------------------------
-tokenizeatom(Atom,Ws):-
-  name(Atom,Cs),
-  tokenize(Cs,Xs-Xs,Ws).
-% tokenize(+Chars:<list(<char>)>, +CharsSoFar:<d_list(<char>)>,
-%          -Tokens:<list(<token>)>)
-% ----------------------------------------------------------------------
-% Tokens is the list of tokens retrieved from Chars; ChrsSoFar 
-% accumulates prefixes of atoms being recognized
-% ----------------------------------------------------------------------
-tokenize([C1,C2,C3|Cs],Xs-Ys,TsResult):-     % special symbol
-  name('%',[C1]),
-  specialsymbol(C2,C3,SpecialSymbol),
-  !, 
-  ( Xs = []
-    -> TsResult = [SpecialSymbol|TsOut]
-  ; Ys = [],
-    name(CsAtom,Xs),
-    TsResult = [CsAtom,SpecialSymbol|TsOut]
-  ), 
-  tokenize(Cs,Zs-Zs,TsOut).
-tokenize([C|Cs],Xs-Ys,TsResult):-           % one-character operator
-  isoperator(C),
-  !, name(OpToken,[C]),
-  ( Xs = []
-    -> TsResult = [OpToken|Ts]
-  ; Ys = [],
-    name(CsAtom,Xs),
-    TsResult = [CsAtom,OpToken|Ts]
-  ),
-  tokenize(Cs,Zs-Zs,Ts).
-tokenize([C|Cs],Xs-[C|Ys],Ts):-             % more of string
-  tokenize(Cs,Xs-Ys,Ts).
-tokenize([],Xs-_,[]):-                      % no more input; nothing accum.
-  Xs = [], !.
-tokenize([],Xs-[],[CsAtom]):-               % no more input; stringg accum.
-  name(CsAtom,Xs).
-
-% isoperator(+Char:<char>)
-% ----------------------------------------------------------------------
-% Char is the name of an operator character
-% ----------------------------------------------------------------------
-isoperator(Char):-
-  name(Op,[Char]),
-  isoptab(Op).
-
-isoptab('%').
-isoptab('+').
-isoptab('&').
-isoptab('=').
-
-% specialsymbol(+C1:<char>, +C2:<char>, -S:<token>)
-% ----------------------------------------------------------------------
-% C1 and C2 are the names of characters completing a % special symbol
-% ----------------------------------------------------------------------
-specialsymbol(C1,C2,S):-
-  name(N1,[C1]), name(N2,[C2]),
-  ( sstab(N1,N2,S), !
-  ; S = spec(N1,N2)
-  ).
-
-sstab(2,'C',',').
-sstab(2,'F','/').
-sstab(2,8,'(').
-sstab(2,9,')').
-sstab(5,'B','[').
-sstab(5,'C','\\').
-sstab(5,'D',']').
-sstab(3,'D','=').
-sstab(3,'E','>').
-
-
-% parse_cgi(+TokenList:<list(<token>)>, -KeyVals:<list(<keyval>)>)
-% ----------------------------------------------------------------------
-% KeyVals is Key/Val list resulting from parsing TokenList using
-% the compiled DCG to perform a top-down parse
-% ----------------------------------------------------------------------
-parse_cgi(TokenList,KeyVals):-
-    keyvalseq(KeyVals,TokenList,[]).
-
-% Grammar for Parser
-% ----------------------------------------------------------------------
-keyvalseq([KeyVal|KeyVals]) --> 
-   keyval(KeyVal), andkeyvalseq(KeyVals). 
-keyvalseq([]) --> [].
-
-andkeyvalseq(KeyVals) --> ['&'], keyvalseq(KeyVals).
-andkeyvalseq([]) --> [].
-
-keyval(key(Key,Val)) --> [Key,'='], valseq(Val).
-
-% valseq(rec(Ws,Cat)) --> valseq(Ws), as(Cat).
-
-% as('$ANY') --> [].
-% as(Cat) --> optplus, ['=','>'], optplus, val(Cat).
-
-% valseq([]) --> [].   % subsumed by plusvalseq([]) --> []
-valseq([Val|Vals]) --> val(Val), plusvalseq(Vals).
-valseq(Vals) --> plusvalseq(Vals).
-
-plusvalseq([]) --> [].
-plusvalseq(Vals) --> ['+'], valseq(Vals).
-
-optplus --> [].
-optplus --> ['+'].
-
-val(X) --> ['['], valseq(X), [']'].
-val(der(X)) --> [der,'('], valseq(X), [')'].
-val(X) --> atomval(X).
-val(X/Y) --> atomval(X), ['/'], atomval(Y).
-val(Y\X) --> atomval(Y), ['\\'], atomval(X).
-val(X-Y) --> atomval(Y), ['-'], atomval(X).
-val(Term) --> atom(Fun), ['('], argvals(Args), [')'],   {Term =.. [Fun|Args]}.
-
-argvals([]) --> [].
-argvals([Arg|Args]) -->
-  val(Arg), commaargvals(Args).
-
-commaargvals(Args) -->
-  [','], argvals(Args).
-commaargvals([]) -->
-  [].
-
-atomval(X) --> atom(X).
-atomval(X) --> ['('], val(X), [')'].
-
-atom(X) --> [X], {atomic(X)}.
-
-
-% Specific CGI Query Handling
-% ========================================================================= 
-
-% action(+KeyVals:<list(<keyval>)>)
-% ----------------------------------------------------------------------
-% take an action based on list of KeyVals
-% ----------------------------------------------------------------------
-action(KeyVals):-
-    retractall(keyvalscgi(_)),
-    assert(keyvalscgi(KeyVals)),
-    member(key(inputfrom,[InputFrom]),KeyVals),
-    ( InputFrom = 'Typing'
-      -> member(key(parsestringone,Ws),KeyVals)
-    ; InputFrom = 'Corpus' 
-      -> member(key(parsestringtwo,Ws),KeyVals)
-    ), 
-%                                 write('<p>'), write(Ws), nl,
-    nl, write('P<font size=-1>ARSE</font> R<font size=-1>ESULTS FOR:</font> <cite>'),
-    writelist(Ws),
-    write('</cite><br><br>'), nl,
-    member(key(outputform,[OutForm]),KeyVals),
-    member(key(outputsyn,OutSynSym),KeyVals),
-    outsyn(OutSynSym,OutSyn),
-    act(OutForm,OutSyn,Ws).
-  
-keyvalcgi(Key,Val):-
-keyvalscgi(KeyVals),
-  member(key(Key,Val),KeyVals).  
-
-outsyn(['Any'],_).
-outsyn(['Finite','S'],s(fin)).
-outsyn(['Noun','Phrase'],np(_,_)).
-
-% act(+Form:<form>, ?Syn:<syn>, +Ws:<list(<word>)>)
-% ----------------------------------------------------------------------
-% the input Ws is parsed and output in form Form;
-% ----------------------------------------------------------------------
-act(OutForm,OutSyn,Ws):-
-    findall(Tree, ( parse(Ws,cat(OutSyn,_,Ass,[],Tree)),
-                   \+ member(abs(_,_,_),Ass) ),     Trees),  % all parses
-    ( Trees = [],
-      !, write('<BR> No Parses Found')                       % none found
-    ; ( keyvalcgi(expandmng,['Yes']),
-        !, expandmng_trees(Trees,Trees2)
-      ; Trees2 = Trees
-      ),
-      ( keyvalcgi(normalize,['Yes']),
-        !, normalize_trees(Trees2,Trees3)
-      ; Trees3 = Trees2
-      ),
-        write('parse('),
-        write_term(Ws,[quoted(true)]),
-        write(',Cat).<br>'), nl,
-      actout(OutForm,Trees3)
-   ).
-
-
-
-% actout(+Form:<form>, +Ts:<list(<tree>)>)
-% ----------------------------------------------------------------------
-% return output for list of trees Ts in form Form
-% ----------------------------------------------------------------------
-actout('Text',Trees):-
-  write('<PRE>'), nl,  
-  texttreelist(Trees),
-  nl, write('</PRE>').
-actout('Prawitz',Ts):-
-  htmltreelist(Ts).  
-actout('Fitch',Ts):-
-  fitchtreelist(Ts).
-
-
-
-texttreelist([]).
-texttreelist([T|Ts]):-
-  pp_tree(T),
-  nl, write('<BR>'), nl,
-  texttreelist(Ts).
-
-htmltreelist([]).
-htmltreelist([T|Ts]):-
-  pp_html_table_tree(T),
-  nl, write('<BR>'), nl,
-  htmltreelist(Ts).  
-
-fitchtreelist([]).
-fitchtreelist([T|Ts]):-
-  pp_html_table_fitch_tree(T),
-  nl, write('<BR>'), nl,
-  fitchtreelist(Ts).
-
-
-% PRETTY PRINTING ROUTINES
-% ======================================================================
-
-% pp_html_table_tree(+Tree:<tree>)
-% ----------------------------------------------------------------------
-% Tree is output as an HTML table;  first numbered
-% ----------------------------------------------------------------------
-pp_html_table_tree(T):-
-  numbervars(T),
-%   nl, 
-%   write_term(T,[quoted(true)]), 
-%   nl, write('<P>'),
-  pp_html_tree(T).
-
-% pp_html_tree(+Tree:<tree>)
-% ----------------------------------------------------------------------
-% Tree is output as an HTML table;  assume numbered
-% ----------------------------------------------------------------------
-pp_html_tree(ass(Syn,V,'$VAR'(N))):-
-  write('['), pp_cat(Syn:V), write(']<sup>'), write(N), write('</sup>').
-pp_html_tree(leaf(Word)):-
-  pp_word(Word).
-pp_html_tree(ders(Words)):-
-  pp_word_list(Words).
-pp_html_tree(empty(Syn,Sem)):-
-  nl, write('<TABLE BORDER=1>'), nl,
-  write('<TR VALIGN=bottom>
-         <TD ALIGN=CENTER>-</TD>
-         <TD ROWSPAN=2 ALIGN=CENTER>Nil</TD>
-         </TR>'), 
-  nl,
-  write('<TR VALIGN=bottom>
-         <TD ALIGN=CENTER>'), 
-  pp_cat(Syn:Sem), 
-  write('</TD></TR>'),
-  nl,
-  write('</TABLE>').
-pp_html_tree(tree(Rule,Root,SubTrees)):-
-  nl, write('<TABLE BORDER=1>'), nl,
-  write('<TR VALIGN=bottom>'), nl,
-  pp_html_trees(SubTrees,0,N),
-  nl, 
-  ( Rule = lex 
-    -> true
-  ; write('<TD ROWSPAN=2 ALIGN=CENTER>'), pp_rule(Rule), write('</TD>')
-  ),
-  write('</TR>'),
-  write('<TR VALIGN=bottom><TD ALIGN=CENTER COLSPAN='), write(N), write('>'), 
-  pp_cat(Root),
-  write('</TD></TR>'),
-  nl, write('</TABLE>').
-
-% pp_html_trees(+Trees: <list(<tree>)>,+N:<int>,-M:<int>)
-% ----------------------------------------------------------------------
-% prints the trees in Trees, where (M-N) is the length of the list (N
-% acts as an accumulator, initialized to 0
-% ----------------------------------------------------------------------
-pp_html_trees([T|Ts],N,M):-
-  write('<TD ALIGN=center>'), pp_html_tree(T),
-  write('</TD>'),
-  K is N+1,
-  pp_html_trees(Ts,K,M).
-pp_html_trees([],N,N).
-
-% pp_html_table_fitch_tree(+T:<tree>)
-% ----------------------------------------------------------------------
-% T is numbered and output as a table Fitch-style
-% ----------------------------------------------------------------------
-pp_html_table_fitch_tree(T):-
-  numbervars(T),
-  nl, write('<TABLE BORDER=1>'), 
-  pp_html_fitch_tree(T,1,_,_,_,[],_),
-  nl, write('</TABLE>').
-
-% pp_html_fitch_tree(+Tree:<tree>, +Start:<int>, -Next:<int>, -Me:<int>,
-%                    +Exp:<exp>, 
-%                    +AssIn:<list(<assgn>)>, -AssOut:<list(<assgn>)>)
-% ----------------------------------------------------------------------
-% the rows of the table for Tree are printed;
-% Start is where the numbering begins; Next is the next available number
-% after last one used; Me is the row representing the output of the 
-% derivation;  Exp is the expression corresponding to Tree;
-% AssIn are existing assignments coming in and AssOut are assignments 
-% going out (an <assgn> is a pair ass(M,X) where M is a row number on the
-% table and X is the abstracted variable)
-% ----------------------------------------------------------------------
-pp_html_fitch_tree(tree(der,Root,[ders(Words)]),M,N,M,Exp,Ass,Ass):-
-  !, nl, write('<TR><TD>'), 
-  write(M), write('</TD><TD>'), 
-  map_word(Words,Exp), pp_exp(Exp), 
-  write('-'), pp_cat(Root), 
-  write('</TD><TD>'), write('Der'), write('</TD></TR>'), nl,
-  N is M+1.
-pp_html_fitch_tree(tree(lex,Root,[leaf(Word)]),M,N,M,Word,Ass,Ass):-
-  !, nl, write('<TR><TD>'), 
-  write(M), write('</TD><TD>'), pp_exp(Word), write('-'), pp_cat(Root), 
-  write('</TD><TD>'), write('Lex'), write('</TD></TR>'), nl,
-  N is M+1.
-pp_html_fitch_tree(tree(fe,Root,[T1,T2]),M,N,L,Exp1+Exp2,AssIn,AssOut):-
-  !, pp_html_fitch_tree(T1,M,K,Source1,Exp1,AssIn,AssMid),
-  pp_html_fitch_tree(T2,K,L,Source2,Exp2,AssMid,AssOut),
-  nl, write('<TR><TD>'), 
-  write(L), write('</TD><TD>'), pp_exp(Exp1+Exp2), write('-'), pp_cat(Root), 
-  write('</TD><TD>'), write('E/ '), write((Source1,Source2)), write('</TD></TR>'), nl, 
-  N is L + 1.
-pp_html_fitch_tree(tree(be,Root,[T1,T2]),M,N,L,Exp1+Exp2,AssIn,AssOut):-
-  !, pp_html_fitch_tree(T1,M,K,Source1,Exp1,AssIn,AssMid),
-  pp_html_fitch_tree(T2,K,L,Source2,Exp2,AssMid,AssOut),
-  nl, write('<TR><TD>'), 
-  write(L), write('</TD><TD>'), pp_exp(Exp1+Exp2), write('-'), pp_cat(Root), 
-  write('</TD><TD>'), write('E\\ '), write((Source1,Source2)), write('</TD></TR>'), nl,
-  N is L + 1.
-pp_html_fitch_tree(tree(qqi,Root,[T]),M,Next,Me,Exp,AssIn,AssOut):-
-  !, pp_html_fitch_tree(T,M,Me,Source,Exp,AssIn,AssOut),
-  nl, write('<TR><TD>'), 
-  write(Me), write('</TD><TD>'), pp_exp(Exp), write('-'), pp_cat(Root), 
-  write('</TD><TD>'), write('q I '), write(Source), write('</TD></TR>'), nl,
-  Next is Me+1.
-pp_html_fitch_tree(tree(coel,Root,[T1,T2,T3]),M,N,L,Exp1+Exp2+Exp3,AssIn,AssOut):-
-  !, pp_html_fitch_tree(T1,M,K,Source1,Exp1,AssIn,AssMid),
-  pp_html_fitch_tree(T2,K,L1,Source2,Exp2,AssMid,AssMid2),
-  pp_html_fitch_tree(T3,L1,L,Source3,Exp3,AssMid2,AssOut),
-  nl, write('<TR><TD>'), 
-  write(L), write('</TD><TD>'), pp_exp(Exp1+Exp2+Exp3), write('-'), pp_cat(Root), 
-  write('</TD><TD>'), write('E co '), write((Source1,Source2,Source3)), write('</TD></TR>'), nl,
-  N is L + 1.
-pp_html_fitch_tree(tree(fi(_),(C1/C2):(var(X)^Sem),[T]),M,Q,N,ExpNew,AssIn,AssOut):-
-    K is M+1,
-    write('<TR><TD COLSPAN=3><TABLE BORDER=1>'),
-    write('<TR><TD>'), write(M), write('</TD><TD>'),
-    X = '$VAR'(Num), 
-  cat_atoms(Num,'</sub>',ExpMid),
-  cat_atoms('e<sub>',ExpMid,ExpNum),
-    pp_exp(ExpNum),  write(' - '),
-    pp_cat(C2:var(X)), write('</TD><TD>'), write('Assume</TD></TR>'),
-    pp_html_fitch_tree(T,K,N,L, Exp, [ass(M,X)|AssIn],AssOut),
-    write('<TR><TD>'), write(N), write('</TD><TD>'),
-    removeexp(ExpNum,Exp,ExpNew),
-    pp_exp(ExpNew), write(' - '), pp_cat(C1/C2:var(X)^Sem), write('</TD><TD>'),
-    write('/I '), write((M,L)), write('</TD></TR>'),
-    write('</TD></TR></TABLE>'),
-    Q is N+1.
-pp_html_fitch_tree(tree(bi(_),(C2\C1):(var(X)^Sem),[T]),M,Q,N,ExpNew,AssIn,AssOut):-
-    K is M+1,
-    write('<TR><TD COLSPAN=3><TABLE BORDER=1>'),
-    write('<TR><TD>'), write(M), write('</TD><TD>'),
-    X = '$VAR'(Num), 
-  cat_atoms(Num,'</sub>',ExpMid),
-  cat_atoms('e<sub>',ExpMid,ExpNum),
-    pp_exp(ExpNum),  write(' - '),
-    pp_cat(C2:var(X)), write('</TD><TD>'), write('Assume</TD></TR>'),
-    pp_html_fitch_tree(T,K,N,L, Exp, [ass(M,X)|AssIn],AssOut),
-    write('<TR><TD>'), write(N), write('</TD><TD>'),
-    removeexp(ExpNum,Exp,ExpNew),
-    pp_exp(ExpNew), write(' - '), pp_cat(C2\C1:var(X)^Sem), write('</TD><TD>'),
-    write('/I '), write((M,L)), write('</TD></TR>'),
-    write('</TD></TR></TABLE>'),
-    Q is N+1.
-pp_html_fitch_tree(tree(gi(_),(C1-C2):var(X)^Sem,[T]),M,Q,N,ExpNew,AssIn,AssOut):-
-  K is M+1,
-    write('<TR><TD COLSPAN=3><TABLE BORDER=1>'),
-    write('<TR><TD>'), write(M), write('</TD><TD>'),
-    X = '$VAR'(Num), 
-  cat_atoms(Num,'</sub>',ExpMid),
-  cat_atoms('e<sub>',ExpMid,ExpNum),
-    pp_exp(ExpNum),  write(' - '),
-    pp_cat(C2:var(X)), write('</TD><TD>'), write('Assume</TD></TR>'),
-    pp_html_fitch_tree(T,K,N,L,Exp, [ass(M,X)|AssIn],AssOut),
-    write('<TR><TD>'), write(N), write('</TD><TD>'),
-    splitexp(ExpNum,Exp,ExpNew),
-    pp_exp(ExpNew), write(' - '),
-    pp_cat((C1-C2):var(X)^Sem), write('</TD><TD>'), 
-    write('I- '), write((M,L)), write('</TD></TR>'),
-    write('</TD></TR></TABLE>'),
-    Q is N+1.
-% pp_html_fitch_tree(tree(qqpop(N),A:(Q@(X^Alpha)),[T1]),M,N,K,Exp,Ass,Ass):-
-%   !, replace_qtree(qqpush(N),T1,T1Mid,T1Extract),
-%   pp_html_fitch_tree(T1Extract,M,L,J,_,_,_),
-%   pp_html_fitch_tree(T1Mid,L,P,I,_,_,_),
-%   write('<TR><TD>'), write(P), write('</TD><TD>'),
-%   pp_exp(Exp), write(' - '), 
-%   pp_cat(A:(Q@(X^Alpha))), write('</TD><TD>'),
-%   write(' '). 
-pp_html_fitch_tree(empty(Syn,Sem),M,N,M,[],Ass,Ass):-
-  !, nl, write('<TR><TD>'), 
-  write(M), write('</TD><TD>'), write('NIL'), write(' '), pp_cat(Syn:Sem), 
-  write('</TD><TD>'), write('Empty'), write('</TD></TR>'), nl,
-  N is M+1.
-pp_html_fitch_tree(ass(_Syn,var(Var),_),N,N,M,Exp,Ass,Ass):-
-  member(ass(M,Var),Ass),
-  Var = '$VAR'(Num),
-  cat_atoms(Num,'</sub>',ExpMid),
-  cat_atoms('e<sub>',ExpMid,Exp).
-
-% removexp(+ExpRem:<exp>,+Exp:<exp>,-ExpOut:<exp>)
-% ----------------------------------------------------------------------
-% he expression ExpRem is removed from Exp with result ExpOut
-% ----------------------------------------------------------------------
-removeexp(E,E,'NIL'):-!.
-removeexp(E,E+E2,E2):-!.
-removeexp(E,E2+E,E2):-!.
-removeexp(E,E2+E3,E2New+E3New):-
-  !, removeexp(E,E2,E2New),
-  removeexp(E,E3,E3New).
-removeexp(_,E2,E2).
-
-% splitexp(+ExpRem:<exp>, +Exp:<exp>, -ExpOut:<exp>)
-% ----------------------------------------------------------------------
-% ExpRem is removed from Exp with ExpOut left over;  the extraction
-% site is represented as a split point
-% ----------------------------------------------------------------------
-splitexp(E,E,('NIL','NIL')):-!.
-splitexp(E,E+E2,('NIL',E2)):-!.
-splitexp(E,E2+E,(E2,'NIL')):-!.
-splitexp(E,E1+E2,(E3,E4+E2)):-
-  splitexp(E,E1,(E3,E4)), !.
-splitexp(E,E1+E2,(E1+E3,E4)):-
-  splitexp(E,E2,(E3,E4)).
-
-% pp_exp(+Exp:<exp>)
-% ----------------------------------------------------------------------
-% the expression Exp is output;  concatenations are represented as
-% spaces and split points by (_,_) and empty by '0'
-% ----------------------------------------------------------------------
-pp_exp('NIL'):-
-  !, write(0).
-pp_exp(A+'NIL'):-
-  !, pp_exp(A).
-pp_exp(B+'NIL'):-
-  !, pp_exp(B).
-pp_exp(A+B):-
-  !, pp_exp(A), write(' '), pp_exp(B).
-pp_exp((A,B)):-
-  !, write('('), pp_exp(A), write(', '), pp_exp(B), write(')').
-pp_exp(A):-
-  pp_word(A).
-
-map_word([[_]|Ws],Exp):-
-  !, map_word(Ws,Exp).
-map_word([W|Ws],Exp):-
-  map_word(Ws,W,Exp).
-map_word([],'NIL').
-
-map_word(Ws,[_],W):-
- !, map_word(Ws,W).
-map_word([],W,W).
-map_word([W|Ws],W1,W1+Exp):-
-  map_word(Ws,W,Exp).
-
-pp_exps([]).
-pp_exps([Exp|Exps]):-
-  pp_exp(Exp), write('+'), pp_exp(Exps).
-
-% pp_tree(+T:<tree>)
-% ----------------------------------------------------------------------
-% tree T is output in indented list notation; first number
-% ----------------------------------------------------------------------
-pp_tree(T):-
-  numbervars(T),
-  pp_tree(T,0).
-
-% pp_tree(+T:<tree>, +Col:<int>)
-% ----------------------------------------------------------------------
-% print tree T beginning at column Col
-% ----------------------------------------------------------------------
-pp_tree(empty(Syn,Sem),Col):-
-  nl, tab(Col), pp_cat(Syn:Sem), write(' via empty').
-pp_tree(ass(Syn,V,'$VAR'(N)),Column):-
-  nl, tab(Column), write('['), pp_cat(Syn:V), write(']'), 
-  write('<SUP>'), write(N), write('</SUP>').
-pp_tree(leaf(Word),Column):-
-  nl, tab(Column), pp_word(Word).
-pp_tree(ders(Words),Column):-
-  nl, tab(Column), pp_word_list(Words).
-pp_tree(tree(Rule,Root,SubTrees),Column):-
-  nl, tab(Column),
-  pp_cat(Root),
-  write(' via '), pp_rule(Rule),
-  NewColumn is Column + 2,
-  pp_trees(SubTrees,NewColumn).
-
-% pp_trees(+Ts:<list(<tree>)>, +Col:<int>)
-% ----------------------------------------------------------------------
-% print tree list Ts beginning at column Col
-% ----------------------------------------------------------------------
-pp_trees([T|Ts],Column):-
-  pp_tree(T,Column),
-  pp_trees(Ts,Column).
-pp_trees([],_).
-
-% pp_word_list(+Ws:<list(<word>)>)
-% ----------------------------------------------------------------------
-% the list of words Ws is output, ignoring non-atoms
-% ----------------------------------------------------------------------
-pp_word_list([]).
-pp_word_list([W|Ws]):-
-  atom(W), !, pp_word(W), pp_word_list_rest(Ws).
-pp_word_list([_|Ws]):-
-  pp_word_list(Ws).
-
-pp_word(W):-
-  write('<I>'), write(W), write('</I>').
-
-% pp_word_list_rest(+Ws:<list(<word>)>)
-% ----------------------------------------------------------------------
-% word list Ws is output with an initial blank if Ws is non-empty
-% ----------------------------------------------------------------------
-pp_word_list_rest([]).
-pp_word_list_rest([W|Ws]):-
-  atom(W), !, write(' '), pp_word(W), pp_word_list_rest(Ws).
-pp_word_list_rest([_|Ws]):-
-  pp_word_list_rest(Ws).
-
-% pp_cat(Cat:<cat>)
-% ----------------------------------------------------------------------
-% pretty print category Cat
-% ----------------------------------------------------------------------
-pp_cat(Syn:Sem):-
-  pp_lam(Sem), write(' : '), pp_syn(Syn).
-
-% pp_syn(SynCat:<syncat>)
-% ----------------------------------------------------------------------
-% pretty print syntactic category
-% ----------------------------------------------------------------------
-pp_syn(A/B):-
-  !, pp_syn(A), write('/'), pp_syn_paren(B).
-pp_syn(A-B):-
-  !, pp_syn(A), write('-'), pp_syn_paren(B).
-pp_syn(B\A):-
-  !, pp_syn_paren(B), write('\\'), pp_syn_back(A).
-pp_syn(q(A,B,B)):-
-  !, pp_syn(scop(A,B)).
-pp_syn(q(A,B,C)):-
-  !, write('q('), pp_syn(A), write(','), pp_syn(B), write(','), 
-  pp_syn(C), write(')'). 
-pp_syn(scop(A,B)):-
-  !, pp_syn(A), write('^^'), pp_syn(B).
-pp_syn(C):-
-  pp_bas_cat(C).
-
-% pp_syn_paren(SynCat:<syncat>)
-% ----------------------------------------------------------------------
-% pretty print syntactic category with enclosing parens if it
-% is functional (used for arguments)
-% ----------------------------------------------------------------------
-pp_syn_paren(A/B):-
-  !, pp_paren(A/B).
-pp_syn_paren(A-B):-
-  !, pp_paren(A-B).
-pp_syn_paren(B\A):-
-  !, pp_paren(B\A).
-pp_syn_paren(q(A,B,B)):-
-  !, pp_paren(q(A,B,B)).
-pp_syn_paren(q(A,B,C)):-
-  !, pp_syn(q(A,B,C)).
-pp_syn_paren(C):-
-  pp_bas_cat(C).
-
-% pp_paren(+C:<cat>)
-% ----------------------------------------------------------------------
-% category Cat is pretty printed with surrounding parens
-% ----------------------------------------------------------------------
-pp_paren(C):-
-  write('('), pp_syn(C), write(')').
-
-% pp_syn_back(+Cat:<cat>)
-% ----------------------------------------------------------------------
-% Cat is pretty printed as the result of a backward functor
-% ----------------------------------------------------------------------
-pp_syn_back(A/B):-
-  !, pp_syn_paren(A/B).
-pp_syn_back(A-B):-
-  !, pp_syn_paren(A-B).
-pp_syn_back(A):-
-  pp_syn(A).
-
-% pp_bas_cat(+BasCat:<bascat>)
-% ----------------------------------------------------------------------
-% the basic category BasCat is pretty printed
-% ----------------------------------------------------------------------
-pp_bas_cat(Cat):-
-  writecat(Cat,Atom,Subs,Sups),
-  write(Atom),
-  writesubs(Subs),
-  writesups(Sups).
-  
-% writecat(+BasCat:<bascat>,-Root:<atom>,-Subs:<list>,-Sups:<list>)
-% ----------------------------------------------------------------------
-% basic category BasCat is printed as Root with superscripts Sups
-% and subscripts Subs
-% ----------------------------------------------------------------------
-writecat(np(ind(sng),nm(_)),np,[],[]):-!.
-writecat(np(ind(sng),pp(C)),np,[C],[]):-!.
-writecat(np(ind(plu),nm(_)),np,[p],[]):-!.
-writecat(np(ind(plu),pp(C)),np,[p,C],[]):-!.
-writecat(np(ind(_),nm(_)),np,[],[]):-!.
-writecat(np(set,nm(_)),np,[p],['*']):-!.
-writecat(np(set,pp(C)),np,[p,C],['*']):-!.
-writecat(np(_,_),np,[],[]):-!.
-writecat(s(fin),s,[],[]):-!.
-writecat(s('$VAR'(_)),s,[],[]):-!.
-writecat(s(V),s,[V],[]):-!.
-writecat(n(ind(plu)),n,[p],[]):-!.
-writecat(n(set),n,[p],['*']):-!.
-writecat(n(ind(sng)),n,[],[]):-!.
-writecat(n(_),n,[],[]):-!.
-writecat(sc(th(fin)),sc,[th,fin],[]):-!.
-writecat(sc(th(bse)),sc,[th,bse],[]):-!.
-writecat(sc(wh),sc,[wh],[]):-!.
-writecat(sc(if),sc,[if],[]):-!.
-writecat(sc(_),sc,[],[]):-!.
-writecat(ex(it),ex,[it],[]):-!.
-writecat(ex(th(_)),ex,[th],[]):-!.
-writecat(ex(_),ex,[],[]):-!.
-writecat(C,C,[],[]).
-
-% writesubs(+List:<list>)
-% ----------------------------------------------------------------------
-% List is output as a subscript
-% ----------------------------------------------------------------------
-writesubs([]).
-writesubs([X|Xs]):-
-  write('<SUB>'),
-  writelistsubs(Xs,X),
-  write('</SUB>').
-
-% writesups(+List:<list>)
-% ----------------------------------------------------------------------
-% List is output as a superscript
-% ----------------------------------------------------------------------
-writesups([]).
-writesups([X|Xs]):-
-  write('<SUP>'),
-  writelistsubs(Xs,X),
-  write('</SUP>').
-
-% writelistsubs(+Xs:<list>, +X:<term>)
-% ----------------------------------------------------------------------
-% Xs is written as a list with commas as separators
-% ----------------------------------------------------------------------
-writelistsubs([],X):-
- write(X).
-writelistsubs([X|Xs],Y):-
-  write(Y), write(' ,'), writelistsubs(Xs,X).
-
-% pp_lam(+Term:<lambdaterm>)
-% ----------------------------------------------------------------------
-% lambda term Term is pretty printed
-% ----------------------------------------------------------------------
-pp_lam(Var^Alpha):-
-  !, pp_lam(Var), write('<B>. </B>'), pp_lam(Alpha). 
-pp_lam(con(and)@Alpha@Beta):-
-  !, pp_lam_paren(Alpha), write(' &amp '), pp_lam_paren(Beta).
-pp_lam(con(or)@Alpha@Beta):-
-  !, pp_lam_paren(Alpha), write(' <b>or</b> '), pp_lam_paren(Beta).
-pp_lam(con(not)@Alpha):-
-  !, write(' &#172 '), write('('), pp_lam_paren(Alpha), write(')').
-pp_lam(Alpha@Beta):-
-  !, pp_lam_bracket(Alpha),
-  write('('),
-  pp_lam(Beta),
-  write(')').
-pp_lam(var('$VAR'(N))):-
-  !, write('<I>'), write(x), write('<SUB>'), write(N), write('</SUB></I>').
-pp_lam(con(Con)):-
-  write('<B>'), write(Con), write('</B>').
-
-pp_lam_bracket(A^B):-
-  !, write('('), pp_lam(A^B), write(')').
-pp_lam_bracket(A):-
-  pp_lam(A).
-
-% pp_lam_paren(+Term:<lambdaterm>)
-% ----------------------------------------------------------------------
-% lambda term Term is pretty printed
-% ----------------------------------------------------------------------
-pp_lam_paren(Var^Alpha):-
-  !, pp_lam(Var), write('<B>. </B>'), pp_lam(Alpha). 
-pp_lam_paren(con(and)@Alpha@Beta):-
-  !, write('('), pp_lam_paren(Alpha), write(' &amp '), pp_lam_paren(Beta), write(')').
-pp_lam_paren(con(or)@Alpha@Beta):-
-  !, write('('), pp_lam_paren(Alpha), write(' <b>or</b> '), pp_lam_paren(Beta), write(')').
-pp_lam_paren(con(not)@Alpha):-
-  !, write(' &#172 '), write('('), pp_lam_paren(Alpha), write(')').
-pp_lam_paren(Alpha@Beta):-
-  !, pp_lam(Alpha),
-  write('('),
-  pp_lam(Beta),
-  write(')').
-pp_lam_paren(var('$VAR'(N))):-
-  !, write('<I>'), write(x), write('<SUB>'), write(N), write('</SUB></I>').
-pp_lam_paren(con(Con)):-
-  write('<B>'), write(Con), write('</B>').
-
-% pp_rule(+Rule:<rulename>)
-% ----------------------------------------------------------------------
-% rule Rule is pretty printed
-% ----------------------------------------------------------------------
-pp_rule(fe):-write('/E').
-pp_rule(be):-write('\\E').
-pp_rule(fi('$VAR'(N))):-write('/I<sup>'), write(N), write('</sup>').
-pp_rule(bi('$VAR'(N))):-write('\\I<sup>'), write(N), write('</sup>').
-pp_rule(gi('$VAR'(N))):-write('-I<sup>'), write(N), write('</sup>').
-pp_rule(qqpush('$VAR'(N))):-write('qE<sup>'), write(N), write('</sup>').
-pp_rule(qqpop('$VAR'(N))):-write(N).
-pp_rule(qqi):-write(qI).
-pp_rule(coel):-write('coE').
-pp_rule(lex):-write('L').
-pp_rule(der):-write('D').
-pp_rule(nbc):-write('NBC').
-pp_rule(qi):-write('qI').
-
-
-% Standard Utilities
-% ======================================================================
-
-member(X,[X|_]).
-member(X,[_|Xs]):-
-  member(X,Xs).
-
-append_list([],[]).
-append_list([Xs|Xss],Ys):-
-  append(Xs,Zs,Ys),
-  append_list(Xss,Zs).
-
-append([],Xs,Xs).
-append([X|Xs],Ys,[X|Zs]):-
-  append(Xs,Ys,Zs).
-
-at_least_one_member(X,[X|_]):-!.
-at_least_one_member(X,[_|Xs]):-
-  at_least_one_member(X,Xs).
-
-numbervars(X):-
-  numbervars(X,0,_).
-
-reverse([],Ws,Ws).
-reverse([W|Ws],WsAcc,WsRev):-
-  reverse(Ws,[W|WsAcc],WsRev).
-
-select(X,[X|Xs],Xs).
-select(X,[Y|Xs],[Y|Zs]):-
-  select(X,Xs,Zs).
-
-select_last([X],X,[]).
-select_last([X|Xs],Y,[X|Zs]):-
-  select_last(Xs,Y,Zs).
-
-cat_atoms(A1,A2,A3):-
-  name(A1,L1),
-  name(A2,L2),
-  append(L1,L2,L3),
-  name(A3,L3).
-
-writelist([der(Ws)|Ws2]):-
-  !, writelist(Ws), write(' '), writelist(Ws2).
-writelist([W|Ws]):-
-  write(W), write(' '),
-  writelist(Ws).
-writelist([]).
-
-write_lex_cat(File):-
-  tell(File),
-  write('<HTML><HEAD><TITLE>Natural Deduction CG Parser</TITLE></HEAD><BODY><b> L<FONT SIZE = -1>EXICON</FONT> </b><br><br><FONT SIZE=-1>'), nl, nl,
-  setof(lexe(W,Syn:Sem),lexentry(W,Syn,Sem),Ws),
-  !,   writebreaklex(Ws),
-  nl, write('</FONT></HEAD></HTML>'), nl,
-  told.
-       
-writebreaklex([]).
-writebreaklex([W|Ws]):-
-  writebreaklex(Ws,W).
-
-writebreaklex([],lexe(W,Cat)):-
-  write(W), write(' ==> '), 
-  pp_cat(Cat), nl.
-writebreaklex([W2|Ws],lexe(W,Cat)):-
-  write(W), write(' ==> '), 
-  pp_cat(Cat), 
-  write(' <BR> '), nl,
-  writebreaklex(Ws,W2).
-
-write_lex(File):-
-  tell(File),
-  write('<HTML><HEAD><TITLE>Natural Deduction CG Parser</TITLE></HEAD><BODY><b> L<FONT SIZE = -1>EXICON</FONT> </b><br><FONT SIZE=-1><BR>'), nl,
-  setof(W,C^(W==>C),Ws),
-  !,   writebreak(Ws),
-  nl, write('</FONT></HEAD></HTML>'), nl,
-  told.
-
-writebreak([]).
-writebreak([W|Ws]):-
-  writebreak(Ws,W).
-
-writebreak([],W):-
-  write(W), nl.
-writebreak([W2|Ws],W):-
-  write(W), write(' <BR> '), nl,
-  writebreak(Ws,W2).
-
-tt:-
-  consult(natded), consult(lexicon), consult_lex, compile_empty.
-
-mt:-
-  consult(natded), consult(lexicon), consult_lex, compile_empty, save(test3), start_up.
-
-cmt:-
-  compile(natded), compile(lexicon), compile_lex('compilelex.pl'), compile_empty, save(test3), start_up.
-
-
-%%% Local Variables:
-%%% mode: prolog
-%%% prolog-indent-width: 2
-%%% tab-width: 2
-%%% End:
diff --git a/test/manual/etags/prol-src/ordsets.prolog b/test/manual/etags/prol-src/ordsets.prolog
deleted file mode 100644 (file)
index 0fa70f9..0000000
+++ /dev/null
@@ -1,337 +0,0 @@
-/* Copyright(C) 1988, Swedish Institute of Computer Science */
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%   File   : ORDSETS.PL                                                              %
-%   Author : Lena Flood                                                              %
-%   Updated: 9 September 1988                                                %
-%   Purpose: Ordered set manipulation utilities                                      %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-:- module(ordsets, [
-       is_ordset/1,
-       list_to_ord_set/2,
-       ord_add_element/3,
-       ord_del_element/3,
-       ord_disjoint/2,
-       ord_intersect/2,
-       ord_intersection/3,
-       ord_intersection/4,
-       ord_intersection/2,
-       ord_member/2,
-       ord_seteq/2,
-       ord_setproduct/3,
-       ord_subset/2,
-       ord_subtract/3,
-       ord_symdiff/3,
-       ord_union/3,
-       ord_union/4,
-       ord_union/2
-                  ]).
-
-%   Adapted from shared code written by Richard A O'Keefe. 
-
-%   In this package, sets are represented by ordered lists with no
-%   duplicates.         Thus {c,r,a,f,t} would be [a,c,f,r,t].  The ordering
-%   is defined by the @< family of term comparison predicates, which
-%   is the ordering used by sort/2 and setof/3.
-
-%   The benefit of the ordered representation is that the elementary
-%   set operations can be done in time proportional to the Sum of the
-%   argument sizes rather than their Product.  
-
-
-
-%   is_ordset(+Set)
-%   is true when Set is an ordered set.
-
-is_ordset(X) :- var(X), !, fail.
-is_ordset([]).
-is_ordset([Head|Tail]) :-
-       is_ordset(Tail, Head).
-
-is_ordset(X, _) :- var(X), !, fail.
-is_ordset([], _).
-is_ordset([Head|Tail], Left) :-
-       Left @< Head,
-       is_ordset(Tail, Head).
-
-
-%   list_to_ord_set(+List, ?Set)
-%   is true when Set is the ordered representation of the set represented
-%   by the unordered representation List.  
-
-list_to_ord_set(List, Set) :-
-       sort(List, Set).
-
-
-%   ord_add_element(+Set1, +Element -Set2)
-%   is true when Set2 is Set1 with Element inserted in it, preserving
-%   the order.
-
-ord_add_element([], Element, [Element]).
-ord_add_element([Head|Tail], Element, Set) :-
-       compare(Order, Head, Element),
-       ord_add_element(Order, Head, Tail, Element, Set).
-
-ord_add_element(<, Head, Tail, Element, [Head|Set]) :-
-       ord_add_element(Tail, Element, Set).
-ord_add_element(=, Head, Tail, _, [Head|Tail]).
-ord_add_element(>, Head, Tail, Element, [Element,Head|Tail]).
-
-
-%   ord_del_element(+Set1, +Element, ?Set2)
-%   is true when Set2 is Set1 but with Element removed.
-
-ord_del_element([], _, []).
-ord_del_element([Head|Tail], Element, Set) :-
-       compare(Order, Head, Element),
-       ord_del_element(Order, Head, Tail, Element, Set).
-
-ord_del_element(<, Head, Tail, Element, [Head|Set]) :-
-       ord_del_element(Tail, Element, Set).
-ord_del_element(=, _, Tail, _, Tail).
-ord_del_element(>, Head, Tail, _, [Head|Tail]).
-
-
-
-%   ord_disjoint(+Set1, +Set2)
-%   is true when the two ordered sets have no element in common.  
-
-ord_disjoint(Set1, Set2) :-
-       \+ ord_intersect(Set1, Set2).
-
-
-
-%   ord_intersect(+Set1, +Set2)
-%   is true when the two ordered sets have at least one element in common.
-
-ord_intersect([Head1|Tail1], [Head2|Tail2]) :-
-       compare(Order, Head1, Head2),
-       ord_intersect(Order, Head1, Tail1, Head2, Tail2).
-
-ord_intersect(<, _, [Head1|Tail1], Head2, Tail2) :-
-       compare(Order, Head1, Head2),
-       ord_intersect(Order, Head1, Tail1, Head2, Tail2).
-ord_intersect(=, _, _, _, _).
-ord_intersect(>, Head1, Tail1, _, [Head2|Tail2]) :-
-       compare(Order, Head1, Head2),
-       ord_intersect(Order, Head1, Tail1, Head2, Tail2).
-
-
-
-%   ord_intersection(+Set1, +Set2, ?Intersection)
-%   is true when Intersection is the intersection of Set1
-%   and Set2, provided that Set1 and Set2 are ordered sets.
-
-ord_intersection([], _, []).
-ord_intersection([Head1|Tail1], Set2, Intersection) :-
-       ord_intersection3(Set2, Head1, Tail1, Intersection).
-
-ord_intersection3(<, _, Set1, Head2, Tail2, Intersection) :-
-       ord_intersection3(Set1, Head2, Tail2, Intersection).
-ord_intersection3(=, Head, Tail1, _, Tail2, [Head|Intersection]) :-
-       ord_intersection(Tail1, Tail2, Intersection).
-ord_intersection3(>, Head1, Tail1, _, Set2, Intersection) :-
-       ord_intersection3(Set2, Head1, Tail1, Intersection).
-
-% could be a disjunction, but is used in three places
-ord_intersection3([], _, _, []).
-ord_intersection3([Head2|Tail2], Head1, Tail1, Intersection) :-
-       compare(Order, Head1, Head2),
-       ord_intersection3(Order, Head1, Tail1, Head2, Tail2, Intersection).
-
-
-
-%   ord_intersection(+Set1, +Set2, ?Intersection, ?Difference)
-%   is true when Intersection is the intersection of Set1 and Set2, 
-%   and Difference is Set2 \ Set1 (like in ord_union/4),
-%    provided that Set1 and Set2 are ordered sets.
-
-ord_intersection([], Set2, [], Set2).
-ord_intersection([Head1|Tail1], Set2, Intersection, Difference) :-
-       ord_intersection4(Set2, Head1, Tail1, Intersection, Difference).
-
-ord_intersection4(<, _, Set1, Head2, Tail2, Intersection, Difference) :-
-       (   Set1 = [], Intersection = [], Difference = [Head2|Tail2]
-       ;   Set1 = [Head1|Tail1],
-           compare(Order, Head1, Head2),
-           ord_intersection4(Order, Head1, Tail1, Head2, Tail2, Intersection, Difference)
-       ).
-ord_intersection4(=, Head, Tail1, _, Tail2, [Head|Intersection], Difference) :-
-       ord_intersection(Tail1, Tail2, Intersection, Difference).
-ord_intersection4(>, Head1, Tail1, Head2, Set2, Intersection, [Head2|Difference]) :-
-       ord_intersection4(Set2, Head1, Tail1, Intersection, Difference).
-
-ord_intersection4([], _, _, [], []).
-ord_intersection4([Head2|Tail2], Head1, Tail1, Intersection, Difference) :-
-       compare(Order, Head1, Head2),
-       ord_intersection4(Order, Head1, Tail1, Head2, Tail2, Intersection, Difference).
-
-
-
-%   ord_intersection(+Sets, ?Intersection)
-%   is true when Intersection is the ordered set representation of the
-%   intersection of all the sets in Sets.
-
-ord_intersection(Sets, Intersection) :- 
-       length(Sets, NumberOfSets),
-       NumberOfSets > 0,
-       ord_intersection2(NumberOfSets, Sets, Intersection, []).
-
-ord_intersection2(1, [Set|Sets], Set0, Sets0) :- !,
-       Set = Set0,
-       Sets = Sets0.
-ord_intersection2(2, [Set,Set2|Sets], Intersection, Sets0) :- !,
-       Sets = Sets0,
-       ord_intersection2(Set, Set2, Intersection).
-ord_intersection2(N, Sets0, Intersection, Sets) :-
-%      N > 2,
-       A is N>>1,
-       Z is N-A,
-       ord_intersection2(A, Sets0, X, Sets1),
-       ord_intersection2(Z, Sets1, Y, Sets),
-       ord_intersection(X, Y, Intersection).
-
-
-
-%   ord_member(+Elt, +Set)
-%   is true when Elt is a member of Set.  Suggested by Mark Johnson.
-
-ord_member(X, [E|Es]) :-
-        compare(C, X, E),
-        ord_member(C, X, Es).
-
-ord_member(=, _X, _Es).
-ord_member(>, X, [E|Es]) :-
-        compare(C, X, E),
-        ord_member(C, X, Es).
-
-
-
-%   ord_seteq(+Set1, +Set2)
-%   is true when the two arguments represent the same set.  Since they
-%   are assumed to be ordered representations, they must be identical.
-
-
-ord_seteq(Set1, Set2) :-
-       Set1 == Set2.
-
-
-%   ord_setproduct(+Set1, +Set2, ?SetProduct)
-%   is true when SetProduct is the cartesian product of Set1 and Set2. The
-%   product is represented as pairs Elem1-Elem2, where Elem1 is an element
-%   from Set1 and Elem2 is an element from Set2.
-
-ord_setproduct([], _, []).
-ord_setproduct([Head|Tail], Set, SetProduct)  :-
-       ord_setproduct(Set, Head, SetProduct, Rest),
-       ord_setproduct(Tail, Set, Rest).
-
-ord_setproduct([], _, Set, Set).
-ord_setproduct([Head|Tail], X, [X-Head|TailX], Tl) :-
-       ord_setproduct(Tail, X, TailX, Tl).
-
-
-
-%   ord_subset(+Set1, +Set2)
-%   is true when every element of the ordered set Set1 appears in the
-%   ordered set Set2.
-
-ord_subset([], _).
-ord_subset([Head1|Tail1], [Head2|Tail2]) :-
-       compare(Order, Head1, Head2),
-       ord_subset(Order, Head1, Tail1, Tail2).
-
-ord_subset(=, _, Tail1, Tail2) :-
-       ord_subset(Tail1, Tail2).
-ord_subset(>, Head1, Tail1, [Head2|Tail2]) :-
-       compare(Order, Head1, Head2),
-       ord_subset(Order, Head1, Tail1, Tail2).
-
-
-
-%   ord_subtract(+Set1, +Set2, ?Difference)
-%   is true when Difference contains all and only the elements of Set1
-%   which are not also in Set2, i.e. Set1 \ Set2.
-
-ord_subtract(Set1, Set2, Union) :-
-       prolog:subtract(Set1, Set2, Union).
-
-
-
-%   ord_symdiff(+Set1, +Set2, ?Difference)
-%   is true when Difference is the symmetric difference of Set1 and Set2.
-
-ord_symdiff([], Set2, Set2).
-ord_symdiff([Head1|Tail1], Set2, Symdiff) :-
-       ord_symdiff(Set2, Head1, Tail1, Symdiff).
-
-ord_symdiff(<, Head1, Set1, Head2, Tail2, [Head1|Symdiff]) :-
-       ord_symdiff(Set1, Head2, Tail2, Symdiff).
-ord_symdiff(=, _, Tail1, _, Tail2, Symdiff) :-
-       ord_symdiff(Tail1, Tail2, Symdiff).
-ord_symdiff(>, Head1, Tail1, Head2, Set2, [Head2|Symdiff]) :-
-       ord_symdiff(Set2, Head1, Tail1, Symdiff).
-
-% could be a disjunction, but is used in three places
-ord_symdiff([], Head1, Tail1, [Head1|Tail1]).
-ord_symdiff([Head2|Tail2], Head1, Tail1, Symdiff) :-
-       compare(Order, Head1, Head2),
-       ord_symdiff(Order, Head1, Tail1, Head2, Tail2, Symdiff).
-
-
-
-%   ord_union(+Set1, +Set2, ?Union)
-%   is true when Union is the union of Set1 and Set2.  Note that when
-%   something occurs in both sets, we want to retain only one copy.
-
-ord_union(Set1, Set2, Union) :-
-       prolog:merge(Set1, Set2, Union).
-
-
-
-%   ord_union(+Set1, +Set2, ?Union, ?New)
-%   is true when Union is the union of Set1 and Set2, and New is
-%   Set2 \ Set1.  This is useful if you
-%   are accumulating members of a set and you want to process new
-%   elements as they are added to the set.
-
-ord_union([], Set2, Set2, Set2).
-ord_union([Head1|Tail1], Set2, Union, Difference) :-
-       ord_union4(Set2, Head1, Tail1, Union, Difference).
-
-ord_union4(<, Head, Set1, Head2, Tail2, [Head|Union], Difference) :-
-       (   Set1 = [], Union = [Head2|Tail2], Difference = [Head2|Tail2]
-       ;   Set1 = [Head1|Tail1],
-           compare(Order, Head1, Head2),
-           ord_union4(Order, Head1, Tail1, Head2, Tail2, Union, Difference)
-       ).
-ord_union4(=, Head, Tail1, _, Tail2, [Head|Union], Difference) :-
-       ord_union(Tail1, Tail2, Union, Difference).
-ord_union4(>, Head1, Tail1, Head2, Set2, [Head2|Union], [Head2|Difference]) :-
-       ord_union4(Set2, Head1, Tail1, Union, Difference).
-
-ord_union4([], Head1, Tail1, [Head1|Tail1], []).
-ord_union4([Head2|Tail2], Head1, Tail1, Union, Difference) :-
-       compare(Order, Head1, Head2),
-       ord_union4(Order, Head1, Tail1, Head2, Tail2, Union, Difference).
-
-
-
-%   ord_union(+Sets, ?Union) 
-%   is true when Union is the union of all the sets in Sets. 
-
-ord_union([], Union) :- !, Union = [].
-ord_union(Sets, Union) :-
-       length(Sets, NumberOfSets),
-       ord_union_all(NumberOfSets, Sets, Union, []).
-
-ord_union_all(1, [Set|Sets], Set, Sets) :- !.
-ord_union_all(2, [Set,Set2|Sets], Union, Sets) :- !,
-       ord_union(Set, Set2, Union).
-ord_union_all(N, Sets0, Union, Sets) :-
-       A is N>>1,
-       Z is N-A,
-       ord_union_all(A, Sets0, X, Sets1),
-       ord_union_all(Z, Sets1, Y, Sets),
-       ord_union(X, Y, Union).
diff --git a/test/manual/etags/ps-src/rfc1245.ps b/test/manual/etags/ps-src/rfc1245.ps
deleted file mode 100644 (file)
index ad2244f..0000000
+++ /dev/null
@@ -1,2085 +0,0 @@
-%!
-%%BoundingBox: (atend)
-%%Pages: (atend)
-%%DocumentFonts: (atend)
-%%EndComments
-%
-% FrameMaker PostScript Prolog 2.0, for use with FrameMaker 2.0
-% Copyright (c) 1986,87,89 by Frame Technology, Inc.  All rights reserved.
-%
-% Known Problems:
-%      Due to bugs in Transcript, the 'PS-Adobe-' is omitted from line 1
-/FMversion (2.0) def 
-% Set up Color vs. Black-and-White
-       /FMPrintInColor systemdict /colorimage known def
-% Uncomment this line to force b&w on color printer
-%   /FMPrintInColor false def
-/FrameDict 190 dict def 
-systemdict /errordict known not {/errordict 10 dict def
-               errordict /rangecheck {stop} put} if
-% The readline in 23.0 doesn't recognize cr's as nl's on AppleTalk
-FrameDict /tmprangecheck errordict /rangecheck get put 
-errordict /rangecheck {FrameDict /bug true put} put 
-FrameDict /bug false put 
-mark 
-% Some PS machines read past the CR, so keep the following 3 lines together!
-currentfile 5 string readline
-00
-0000000000
-cleartomark 
-errordict /rangecheck FrameDict /tmprangecheck get put 
-FrameDict /bug get { 
-       /readline {
-               /gstring exch def
-               /gfile exch def
-               /gindex 0 def
-               {
-                       gfile read pop 
-                       dup 10 eq {exit} if 
-                       dup 13 eq {exit} if 
-                       gstring exch gindex exch put 
-                       /gindex gindex 1 add def 
-               } loop
-               pop 
-               gstring 0 gindex getinterval true 
-               } def
-       } if
-/FMVERSION {
-       FMversion ne {
-               /Times-Roman findfont 18 scalefont setfont
-               100 100 moveto
-               (FrameMaker version does not match postscript_prolog!)
-               dup =
-               show showpage
-               } if
-       } def 
-/FMLOCAL {
-       FrameDict begin
-       0 def 
-       end 
-       } def 
-       /gstring FMLOCAL
-       /gfile FMLOCAL
-       /gindex FMLOCAL
-       /orgxfer FMLOCAL
-       /orgproc FMLOCAL
-       /organgle FMLOCAL
-       /orgfreq FMLOCAL
-       /yscale FMLOCAL
-       /xscale FMLOCAL
-       /manualfeed FMLOCAL
-       /paperheight FMLOCAL
-       /paperwidth FMLOCAL
-/FMDOCUMENT { 
-       array /FMfonts exch def 
-       /#copies exch def
-       FrameDict begin
-       0 ne dup {setmanualfeed} if
-       /manualfeed exch def
-       /paperheight exch def
-       /paperwidth exch def
-       setpapername
-       manualfeed {true} {papersize} ifelse 
-       {manualpapersize} {false} ifelse 
-       {desperatepapersize} if
-       /yscale exch def
-       /xscale exch def
-       currenttransfer cvlit /orgxfer exch def
-       currentscreen cvlit /orgproc exch def
-       /organgle exch def /orgfreq exch def
-       end 
-       } def 
-       /pagesave FMLOCAL
-       /orgmatrix FMLOCAL
-       /landscape FMLOCAL
-/FMBEGINPAGE { 
-       FrameDict begin 
-       /pagesave save def
-       3.86 setmiterlimit
-       /landscape exch 0 ne def
-       landscape { 
-               90 rotate 0 exch neg translate pop 
-               }
-               {pop pop}
-               ifelse
-       xscale yscale scale
-       /orgmatrix matrix def
-       gsave 
-       } def 
-/FMENDPAGE {
-       grestore 
-       pagesave restore
-       end 
-       showpage
-       } def 
-/FMDEFINEFONT { 
-       FrameDict begin
-       findfont 
-       ReEncode 
-       2 index exch 
-       definefont exch 
-       scalefont 
-       FMfonts 3 1 roll 
-       put
-       end 
-       } bind def
-/FMNORMALIZEGRAPHICS { 
-       newpath
-       0.0 0.0 moveto
-       1 setlinewidth
-       0 setlinecap
-       0 0 0 sethsbcolor
-       0 setgray 
-       } bind def
-       /fx FMLOCAL
-       /fy FMLOCAL
-       /fh FMLOCAL
-       /fw FMLOCAL
-       /llx FMLOCAL
-       /lly FMLOCAL
-       /urx FMLOCAL
-       /ury FMLOCAL
-/FMBEGINEPSF { 
-       end 
-       /FMEPSF save def 
-       /showpage {} def 
-       FMNORMALIZEGRAPHICS 
-       [/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall 
-       fx fy translate 
-       rotate
-       fw urx llx sub div fh ury lly sub div scale 
-       llx neg lly neg translate 
-       } bind def
-/FMENDEPSF {
-       FMEPSF restore
-       FrameDict begin 
-       } bind def
-FrameDict begin 
-/setmanualfeed {
-%%BeginFeature *ManualFeed True
-        statusdict /manualfeed true put
-%%EndFeature
-       } def
-/max {2 copy lt {exch} if pop} bind def
-/min {2 copy gt {exch} if pop} bind def
-/inch {72 mul} def
-/pagedimen { 
-       paperheight sub abs 16 lt exch 
-       paperwidth sub abs 16 lt and
-       {/papername exch def} {pop} ifelse
-       } def
-       /papersizedict FMLOCAL
-/setpapername { 
-       /papersizedict 14 dict def 
-       papersizedict begin
-       /papername /unknown def 
-               /Letter 8.5 inch 11.0 inch pagedimen
-               /LetterSmall 7.68 inch 10.16 inch pagedimen
-               /Tabloid 11.0 inch 17.0 inch pagedimen
-               /Ledger 17.0 inch 11.0 inch pagedimen
-               /Legal 8.5 inch 14.0 inch pagedimen
-               /Statement 5.5 inch 8.5 inch pagedimen
-               /Executive 7.5 inch 10.0 inch pagedimen
-               /A3 11.69 inch 16.5 inch pagedimen
-               /A4 8.26 inch 11.69 inch pagedimen
-               /A4Small 7.47 inch 10.85 inch pagedimen
-               /B4 10.125 inch 14.33 inch pagedimen
-               /B5 7.16 inch 10.125 inch pagedimen
-       end
-       } def
-/papersize {
-       papersizedict begin
-               /Letter {lettertray} def
-               /LetterSmall {lettertray lettersmall} def
-               /Tabloid {11x17tray} def
-               /Ledger {ledgertray} def
-               /Legal {legaltray} def
-               /Statement {statementtray} def
-               /Executive {executivetray} def
-               /A3 {a3tray} def
-               /A4 {a4tray} def
-               /A4Small {a4tray a4small} def
-               /B4 {b4tray} def
-               /B5 {b5tray} def
-               /unknown {unknown} def
-       papersizedict dup papername known {papername} {/unknown} ifelse get
-       end
-       /FMdicttop countdictstack 1 add def
-       statusdict begin stopped end 
-       countdictstack -1 FMdicttop {pop end} for
-       } def
-/manualpapersize {
-       papersizedict begin
-               /Letter {letter} def
-               /LetterSmall {lettersmall} def
-               /Tabloid {11x17} def
-               /Ledger {ledger} def
-               /Legal {legal} def
-               /Statement {statement} def
-               /Executive {executive} def
-               /A3 {a3} def
-               /A4 {a4} def
-               /A4Small {a4small} def
-               /B4 {b4} def
-               /B5 {b5} def
-               /unknown {unknown} def
-       papersizedict dup papername known {papername} {/unknown} ifelse get
-       end
-       stopped 
-       } def
-/desperatepapersize {
-       statusdict /setpageparams known
-               {
-               paperwidth paperheight 0 1 
-               statusdict begin
-               {setpageparams} stopped pop 
-               end
-               } if
-       } def
-/savematrix {
-       orgmatrix currentmatrix pop
-       } bind def
-/restorematrix {
-       orgmatrix setmatrix
-       } bind def
-/dmatrix matrix def
-/dpi    72 0 dmatrix defaultmatrix dtransform
-    dup mul exch   dup mul add   sqrt def
-/freq dpi 18.75 div 8 div round dup 0 eq {pop 1} if 8 mul dpi exch div def
-/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
-/DiacriticEncoding [
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
-/numbersign /dollar /percent /ampersand /quotesingle /parenleft
-/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
-/two /three /four /five /six /seven /eight /nine /colon /semicolon
-/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
-/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
-/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
-/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
-/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
-/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
-/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
-/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
-/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
-/udieresis /dagger /.notdef /cent /sterling /section /bullet
-/paragraph /germandbls /registered /copyright /trademark /acute
-/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
-/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
-/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
-/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
-/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
-/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
-/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
-/periodcentered /quotesinglbase /quotedblbase /perthousand
-/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
-/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
-/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
-/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
-] def
-/ReEncode { 
-       dup 
-       length 
-       dict begin 
-       {
-       1 index /FID ne 
-               {def} 
-               {pop pop} ifelse 
-       } forall
-       Encoding StandardEncoding eq 
-       {
-               /Encoding DiacriticEncoding def
-       }if
-       currentdict 
-       end 
-       } bind def
-/graymode true def
-       /bwidth FMLOCAL
-       /bpside FMLOCAL
-       /bstring FMLOCAL
-       /onbits FMLOCAL
-       /offbits FMLOCAL
-       /xindex FMLOCAL
-       /yindex FMLOCAL
-       /x FMLOCAL
-       /y FMLOCAL
-/setpattern {
-        /bwidth  exch def
-        /bpside  exch def
-        /bstring exch def
-        /onbits 0 def  /offbits 0 def
-        freq sangle landscape {90 add} if 
-               {/y exch def
-                /x exch def
-                /xindex x 1 add 2 div bpside mul cvi def
-                /yindex y 1 add 2 div bpside mul cvi def
-                bstring yindex bwidth mul xindex 8 idiv add get
-                1 7 xindex 8 mod sub bitshift and 0 ne
-                {/onbits  onbits  1 add def 1}
-                {/offbits offbits 1 add def 0}
-                ifelse
-               }
-               setscreen
-        {} settransfer
-        offbits offbits onbits add div FMsetgray
-       /graymode false def
-       } bind def
-/grayness {
-       FMsetgray
-       graymode not {
-               /graymode true def
-               orgxfer cvx settransfer
-               orgfreq organgle orgproc cvx setscreen
-               } if
-       } bind def
-       /HUE FMLOCAL
-       /SAT FMLOCAL
-       /BRIGHT FMLOCAL
-       /Colors FMLOCAL
-FMPrintInColor 
-       
-       {
-       /HUE 0 def
-       /SAT 0 def
-       /BRIGHT 0 def
-       % array of arrays Hue and Sat values for the separations [HUE BRIGHT]
-       /Colors   
-       [[0    0  ]    % black
-        [0    0  ]    % white
-        [0.00 1.0]    % red
-        [0.37 1.0]    % green
-        [0.60 1.0]    % blue
-        [0.50 1.0]    % cyan
-        [0.83 1.0]    % magenta
-        [0.16 1.0]    % comment / yellow
-        ] def
-      
-       /BEGINBITMAPCOLOR { 
-               BITMAPCOLOR} def
-       /BEGINBITMAPCOLORc { 
-               BITMAPCOLORc} def
-       /K { 
-               Colors exch get dup
-               0 get /HUE exch store 
-               1 get /BRIGHT exch store
-                 HUE 0 eq BRIGHT 0 eq and
-                       {1.0 SAT sub setgray}
-                       {HUE SAT BRIGHT sethsbcolor} 
-                 ifelse
-               } def
-       /FMsetgray { 
-               /SAT exch 1.0 exch sub store 
-                 HUE 0 eq BRIGHT 0 eq and
-                       {1.0 SAT sub setgray}
-                       {HUE SAT BRIGHT sethsbcolor} 
-                 ifelse
-               } bind def
-       }
-       
-       {
-       /BEGINBITMAPCOLOR { 
-               BITMAPGRAY} def
-       /BEGINBITMAPCOLORc { 
-               BITMAPGRAYc} def
-       /FMsetgray {setgray} bind def
-       /K { 
-               pop
-               } def
-       }
-ifelse
-/normalize {
-       transform round exch round exch itransform
-       } bind def
-/dnormalize {
-       dtransform round exch round exch idtransform
-       } bind def
-/lnormalize { 
-       0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
-       } bind def
-/H { 
-       lnormalize setlinewidth
-       } bind def
-/Z {
-       setlinecap
-       } bind def
-/X { 
-       fillprocs exch get exec
-       } bind def
-/V { 
-       gsave eofill grestore
-       } bind def
-/N { 
-       stroke
-       } bind def
-/M {newpath moveto} bind def
-/E {lineto} bind def
-/D {curveto} bind def
-/O {closepath} bind def
-       /n FMLOCAL
-/L { 
-       /n exch def
-       newpath
-       normalize
-       moveto 
-       2 1 n {pop normalize lineto} for
-       } bind def
-/Y { 
-       L 
-       closepath
-       } bind def
-       /x1 FMLOCAL
-       /x2 FMLOCAL
-       /y1 FMLOCAL
-       /y2 FMLOCAL
-       /rad FMLOCAL
-/R { 
-       /y2 exch def
-       /x2 exch def
-       /y1 exch def
-       /x1 exch def
-       x1 y1
-       x2 y1
-       x2 y2
-       x1 y2
-       4 Y 
-       } bind def
-/RR { 
-       /rad exch def
-       normalize
-       /y2 exch def
-       /x2 exch def
-       normalize
-       /y1 exch def
-       /x1 exch def
-       newpath
-       x1 y1 rad add moveto
-       x1 y2 x2 y2 rad arcto
-       x2 y2 x2 y1 rad arcto
-       x2 y1 x1 y1 rad arcto
-       x1 y1 x1 y2 rad arcto
-       closepath
-       16 {pop} repeat
-       } bind def
-/C { 
-       grestore
-       gsave
-       R 
-       clip
-       } bind def
-/U { 
-       grestore
-       gsave
-       } bind def
-/F { 
-       FMfonts exch get
-       setfont
-       } bind def
-/T { 
-       moveto show
-       } bind def
-/RF { 
-       rotate
-       0 ne {-1 1 scale} if
-       } bind def
-/TF { 
-       gsave
-       moveto 
-       RF
-       show
-       grestore
-       } bind def
-/P { 
-       moveto
-       0 32 3 2 roll widthshow
-       } bind def
-/PF { 
-       gsave
-       moveto 
-       RF
-       0 32 3 2 roll widthshow
-       grestore
-       } bind def
-/S { 
-       moveto
-       0 exch ashow
-       } bind def
-/SF { 
-       gsave
-       moveto
-       RF
-       0 exch ashow
-       grestore
-       } bind def
-/B { 
-       moveto
-       0 32 4 2 roll 0 exch awidthshow
-       } bind def
-/BF { 
-       gsave
-       moveto
-       RF
-       0 32 4 2 roll 0 exch awidthshow
-       grestore
-       } bind def
-       /x FMLOCAL
-       /y FMLOCAL
-       /dx FMLOCAL
-       /dy FMLOCAL
-       /dl FMLOCAL
-       /t FMLOCAL
-       /t2 FMLOCAL
-       /Cos FMLOCAL
-       /Sin FMLOCAL
-       /r FMLOCAL
-/W { 
-       dnormalize
-       /dy exch def
-       /dx exch def
-       normalize
-       /y  exch def
-       /x  exch def
-       /dl dx dx mul dy dy mul add sqrt def
-       dl 0.0 gt {
-               /t currentlinewidth def
-               savematrix
-               /Cos dx dl div def
-               /Sin dy dl div def
-               /r [Cos Sin Sin neg Cos 0.0 0.0] def
-               /t2 t 2.5 mul 3.5 max def
-               newpath
-               x y translate
-               r concat
-               0.0 0.0 moveto
-               dl t 2.7 mul sub 0.0 rlineto
-               stroke
-               restorematrix
-               x dx add y dy add translate
-               r concat
-               t 0.67 mul setlinewidth
-               t 1.61 mul neg  0.0 translate
-               0.0 0.0 moveto
-               t2 1.7 mul neg  t2 2.0 div     moveto
-               0.0 0.0 lineto
-               t2 1.7 mul neg  t2 2.0 div neg lineto
-               stroke
-               t setlinewidth
-               restorematrix
-               } if
-       } bind def
-/G { 
-       gsave
-       newpath
-       normalize translate 0.0 0.0 moveto 
-       dnormalize scale 
-       0.0 0.0 1.0 5 3 roll arc 
-       closepath fill
-       grestore
-       } bind def
-/A { 
-       gsave
-       savematrix
-       newpath
-       2 index 2 div add exch 3 index 2 div sub exch 
-       normalize 2 index 2 div sub exch 3 index 2 div add exch 
-       translate 
-       scale 
-       0.0 0.0 1.0 5 3 roll arc 
-       restorematrix
-       stroke
-       grestore
-       } bind def
-       /x FMLOCAL
-       /y FMLOCAL
-       /w FMLOCAL
-       /h FMLOCAL
-       /xx FMLOCAL
-       /yy FMLOCAL
-       /ww FMLOCAL
-       /hh FMLOCAL
-       /FMsaveobject FMLOCAL
-       /FMoptop FMLOCAL
-       /FMdicttop FMLOCAL
-/BEGINPRINTCODE { 
-       /FMdicttop countdictstack 1 add def 
-       /FMoptop count 4 sub def 
-       /FMsaveobject save def
-       userdict begin 
-       /showpage {} def 
-       FMNORMALIZEGRAPHICS 
-       3 index neg 3 index neg translate
-       } bind def
-/ENDPRINTCODE {
-       count -1 FMoptop {pop pop} for 
-       countdictstack -1 FMdicttop {pop end} for 
-       FMsaveobject restore 
-       } bind def
-/gn { 
-       0 
-       {       46 mul 
-               cf read pop 
-               32 sub 
-               dup 46 lt {exit} if 
-               46 sub add 
-               } loop
-       add 
-       } bind def
-       /str FMLOCAL
-/cfs { 
-       /str sl string def 
-       0 1 sl 1 sub {str exch val put} for 
-       str def 
-       } bind def
-/ic [ 
-       0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
-       0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
-       0
-       {0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
-       {10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
-       {19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
-       {13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
-       {4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
-       {13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
-       {7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
-       {0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
-       {10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
-       ] def
-       /sl FMLOCAL
-       /val FMLOCAL
-       /ws FMLOCAL
-       /im FMLOCAL
-       /bs FMLOCAL
-       /cs FMLOCAL
-       /len FMLOCAL
-       /pos FMLOCAL
-/ms { 
-       /sl exch def 
-       /val 255 def 
-       /ws cfs 
-       /im cfs 
-       /val 0 def 
-       /bs cfs 
-       /cs cfs 
-       } bind def
-400 ms 
-/ip { 
-       is 
-       0 
-       cf cs readline pop 
-       {       ic exch get exec 
-               add 
-               } forall 
-       pop 
-       
-       } bind def
-/wh { 
-       /len exch def 
-       /pos exch def 
-       ws 0 len getinterval im pos len getinterval copy pop
-       pos len 
-       } bind def
-/bl { 
-       /len exch def 
-       /pos exch def 
-       bs 0 len getinterval im pos len getinterval copy pop
-       pos len 
-       } bind def
-/s1 1 string def
-/fl { 
-       /len exch def 
-       /pos exch def 
-       /val cf s1 readhexstring pop 0 get def
-       pos 1 pos len add 1 sub {im exch val put} for
-       pos len 
-       } bind def
-/hx { 
-       3 copy getinterval 
-       cf exch readhexstring pop pop 
-       } bind def
-       /h FMLOCAL
-       /w FMLOCAL
-       /d FMLOCAL
-       /lb FMLOCAL
-       /bitmapsave FMLOCAL
-       /is FMLOCAL
-       /cf FMLOCAL
-/wbytes { 
-       dup 
-       8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse
-       } bind def
-/BEGINBITMAPBWc { 
-       1 {} COMMONBITMAPc
-       } bind def
-/BEGINBITMAPGRAYc { 
-       8 {} COMMONBITMAPc
-       } bind def
-/BEGINBITMAP2BITc { 
-       2 {} COMMONBITMAPc
-       } bind def
-/COMMONBITMAPc { 
-       /r exch def
-       /d exch def
-       gsave
-       translate rotate scale /h exch def /w exch def
-       /lb w d wbytes def 
-       sl lb lt {lb ms} if 
-       /bitmapsave save def 
-       r                    
-       /is im 0 lb getinterval def 
-       ws 0 lb getinterval is copy pop 
-       /cf currentfile def 
-       w h d [w 0 0 h neg 0 h] 
-       {ip} image 
-       bitmapsave restore 
-       grestore
-       } bind def
-/BEGINBITMAPBW { 
-       1 {} COMMONBITMAP
-       } bind def
-/BEGINBITMAPGRAY { 
-       8 {} COMMONBITMAP
-       } bind def
-/BEGINBITMAP2BIT { 
-       2 {} COMMONBITMAP
-       } bind def
-/COMMONBITMAP { 
-       /r exch def
-       /d exch def
-       gsave
-       translate rotate scale /h exch def /w exch def
-       /bitmapsave save def 
-       r                    
-       /is w d wbytes string def
-       /cf currentfile def 
-       w h d [w 0 0 h neg 0 h] 
-       {cf is readhexstring pop} image
-       bitmapsave restore 
-       grestore
-       } bind def
-       /proc1 FMLOCAL
-       /proc2 FMLOCAL
-       /newproc FMLOCAL
-/Fmcc {
-    /proc2 exch cvlit def
-    /proc1 exch cvlit def
-    /newproc proc1 length proc2 length add array def
-    newproc 0 proc1 putinterval
-    newproc proc1 length proc2 putinterval
-    newproc cvx
-} bind def
-/ngrayt 256 array def
-/nredt 256 array def
-/nbluet 256 array def
-/ngreent 256 array def
-       /gryt FMLOCAL
-       /blut FMLOCAL
-       /grnt FMLOCAL
-       /redt FMLOCAL
-       /indx FMLOCAL
-       /cynu FMLOCAL
-       /magu FMLOCAL
-       /yelu FMLOCAL
-       /k FMLOCAL
-       /u FMLOCAL
-/colorsetup {
-       currentcolortransfer
-       /gryt exch def
-       /blut exch def
-       /grnt exch def
-       /redt exch def
-       0 1 255 {
-               /indx exch def
-               /cynu 1 red indx get 255 div sub def
-               /magu 1 green indx get 255 div sub def
-               /yelu 1 blue indx get 255 div sub def
-               /k cynu magu min yelu min def
-               /u k currentundercolorremoval exec def
-               nredt indx 1 0 cynu u sub max sub redt exec put
-               ngreent indx 1 0 magu u sub max sub grnt exec put
-               nbluet indx 1 0 yelu u sub max sub blut exec put
-               ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
-       } for
-       {255 mul cvi nredt exch get}
-       {255 mul cvi ngreent exch get}
-       {255 mul cvi nbluet exch get}
-       {255 mul cvi ngrayt exch get}
-       setcolortransfer
-       {pop 0} setundercolorremoval
-       {} setblackgeneration
-       } bind def
-       /tran FMLOCAL
-/fakecolorsetup {
-       /tran 256 string def
-       0 1 255 {/indx exch def 
-               tran indx
-               red indx get 77 mul
-               green indx get 151 mul
-               blue indx get 28 mul
-               add add 256 idiv put} for
-       currenttransfer
-       {255 mul cvi tran exch get 255.0 div}
-       exch Fmcc settransfer
-} bind def
-/BITMAPCOLOR { 
-       /d 8 def
-       gsave
-       translate rotate scale /h exch def /w exch def
-       /bitmapsave save def 
-       colorsetup
-       /is w d wbytes string def
-       /cf currentfile def 
-       w h d [w 0 0 h neg 0 h] 
-       {cf is readhexstring pop} {is} {is} true 3 colorimage 
-       bitmapsave restore 
-       grestore
-       } bind def
-/BITMAPCOLORc { 
-       /d 8 def
-       gsave
-       translate rotate scale /h exch def /w exch def
-       /lb w d wbytes def 
-       sl lb lt {lb ms} if 
-       /bitmapsave save def 
-       colorsetup
-       /is im 0 lb getinterval def 
-       ws 0 lb getinterval is copy pop 
-       /cf currentfile def 
-       w h d [w 0 0 h neg 0 h] 
-       {ip} {is} {is} true 3 colorimage
-       bitmapsave restore 
-       grestore
-       } bind def
-/BITMAPGRAY { 
-       8 {fakecolorsetup} COMMONBITMAP
-       } bind def
-/BITMAPGRAYc { 
-       8 {fakecolorsetup} COMMONBITMAPc
-       } bind def
-/ENDBITMAP {
-       } bind def
-end 
-%%EndProlog
-%%BeginSetup
-(2.0) FMVERSION
-1 1 612 792 0 1 7 FMDOCUMENT
-/fillprocs 32 array def
-fillprocs 0 { 0.000000 grayness } put
-fillprocs 1 { 0.100000 grayness } put
-fillprocs 2 { 0.300000 grayness } put
-fillprocs 3 { 0.500000 grayness } put
-fillprocs 4 { 0.700000 grayness } put
-fillprocs 5 { 0.900000 grayness } put
-fillprocs 6 { 0.970000 grayness } put
-fillprocs 7 { 1.000000 grayness } put
-fillprocs 8 {<0f87c3e1f0783c1e> 8 1 setpattern } put
-fillprocs 9 {<0f1e3c78f0e1c387> 8 1 setpattern } put
-fillprocs 10 {<cccccccccccccccc> 8 1 setpattern } put
-fillprocs 11 {<ffff0000ffff0000> 8 1 setpattern } put
-fillprocs 12 {<8142241818244281> 8 1 setpattern } put
-fillprocs 13 {<8040201008040201> 8 1 setpattern } put
-fillprocs 14 {<03060c183060c081> 8 1 setpattern } put
-fillprocs 15 {} put
-fillprocs 16 { 1.000000 grayness } put
-fillprocs 17 { 0.900000 grayness } put
-fillprocs 18 { 0.700000 grayness } put
-fillprocs 19 { 0.500000 grayness } put
-fillprocs 20 { 0.300000 grayness } put
-fillprocs 21 { 0.100000 grayness } put
-fillprocs 22 { 0.030000 grayness } put
-fillprocs 23 { 0.000000 grayness } put
-fillprocs 24 {<f0783c1e0f87c3e1> 8 1 setpattern } put
-fillprocs 25 {<f0e1c3870f1e3c78> 8 1 setpattern } put
-fillprocs 26 {<3333333333333333> 8 1 setpattern } put
-fillprocs 27 {<0000ffff0000ffff> 8 1 setpattern } put
-fillprocs 28 {<7ebddbe7e7dbbd7e> 8 1 setpattern } put
-fillprocs 29 {<7fbfdfeff7fbfdfe> 8 1 setpattern } put
-fillprocs 30 {<fcf9f3e7cf9f3f7e> 8 1 setpattern } put
-fillprocs 31 {} put
-%%EndSetup
-0 12 /Times-Roman FMDEFINEFONT
-1 24 /Times-Roman FMDEFINEFONT
-2 16 /Times-Bold FMDEFINEFONT
-%%Page: "1" 1
-%%BeginPaperSize: Letter
-%%EndPaperSize
-612 792 0 FMBEGINPAGE
-72 675 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(Network Working Group) 72 712 T
-(J. Moy, Editor) 470.7 712 T
-(Request for Comments: 1245) 72 698 T
-(Proteon, Inc.) 478.38 698 T
-(July 1991) 493.02 684 T
-72 72 540 83.95 R
-7 X
-V
-0 X
-([Moy]) 72 75.95 T
-([Page 1]) 499.7 75.95 T
-72 117 540 603 R
-7 X
-V
-1 F
-0 X
-(OSPF protocol analysis) 192.72 587 T
-2 F
-(Status of this Memo) 72 514.33 T
-0 F
--0.23 (This memo provides information for the Internet community) 72 487 P
--0.23 (. It does not specify any Internet stan-) 360.42 487 P
-(dard. Distribution of this memo is unlimited.) 72 473 T
-2 F
-(Abstract) 72 447 T
-0 F
--0.11 (This is the \336rst of two reports on the OSPF protocol. These reports are required by the IAB/IESG ) 72 421 P
-(in order for an Internet routing protocol to advance to Draft Standard Status. OSPF is a TCP/IP ) 72 407 T
--0.28 (routing protocol, designed to be used internal to an Autonomous System \050in other words, OSPF is ) 72 393 P
-(an Interior Gateway Protocol\051.) 72 379 T
--0.09 (V) 72 353 P
--0.09 (ersion 1 of the OSPF protocol was published in RFC 1) 79.33 353 P
--0.09 (131. Since then OSPF version 2 has been ) 339.85 353 P
--0.22 (developed. V) 72 339 P
--0.22 (ersion 2 has been documented in RFC 1247. The changes between version 1 and ver-) 134.4 339 P
--0 (sion 2 of the OSPF protocol are explained in Appendix F of RFC 1247. It is OSPF V) 72 325 P
--0 (ersion 2 that ) 477.72 325 P
-(is the subject of this report.) 72 311 T
-(This report attempts to summarize the key features of OSPF V2. It also attempts to analyze how ) 72 285 T
-(the protocol will perform and scale in the Internet.) 72 271 T
-(Please send comments to ospf@trantor) 72 245 T
-(.umd.edu.) 258.27 245 T
-FMENDPAGE
-%%EndPage: "1" 2
-1 10 /Times-Roman FMDEFINEFONT
-%%Page: "2" 2
-612 792 0 FMBEGINPAGE
-72 702 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(RFC 1245) 72 712 T
-(OSPF protocol analysis) 249.36 712 T
-(July 1991) 493.02 712 T
-72 69.05 540 81 R
-7 X
-V
-0 X
-([Moy]) 72 73 T
-([Page 2]) 499.7 73 T
-72 108 540 684 R
-7 X
-V
-2 F
-0 X
-(T) 72 673.33 T
-(able of Contents) 81.19 673.33 T
-0 F
-(1.0) 72 650 T
-(Introduction) 108 650 T
-(..............................................................................................................) 167.91 650 T
-(3) 498 650 T
-1 F
-(1.1) 108 635.33 T
-(Acknowledgments) 144 635.33 T
-(...............................................................................................................) 219.88 635.33 T
-(3) 499 635.33 T
-0 F
-(2.0) 72 616 T
-(Key features of the OSPF protocol) 108 616 T
-(..........................................................................) 275.85 616 T
-(4) 498 616 T
-(3.0) 72 596 T
-(Cost of the protocol) 108 596 T
-(..................................................................................................) 203.89 596 T
-(7) 498 596 T
-1 F
-(3.1) 108 581.33 T
-( Operational data) 144 581.33 T
-(.................................................................................................................) 214.88 581.33 T
-(7) 499 581.33 T
-(3.2) 108 567.33 T
-(Link bandwidth) 144 567.33 T
-(...................................................................................................................) 209.88 567.33 T
-(9) 499 567.33 T
-(3.3) 108 553.33 T
-(Router memory) 144 553.33 T
-(....................................................................................................................) 207.39 553.33 T
-(9) 499 553.33 T
-(3.4) 108 539.33 T
-(Router CPU) 144 539.33 T
-(.......................................................................................................................) 194.89 539.33 T
-(10) 494.01 539.33 T
-(3.5) 108 525.33 T
-(Role of Designated Router) 144 525.33 T
-(................................................................................................) 252.36 525.33 T
-(1) 494.38 525.33 T
-(1) 499 525.33 T
-(3.6) 108 511.33 T
-(Summary) 144 511.33 T
-(...........................................................................................................................) 184.9 511.33 T
-(1) 494.38 511.33 T
-(1) 499 511.33 T
-0 F
-(4.0) 72 492 T
-(Suitable environments) 108 492 T
-(............................................................................................) 215.88 492 T
-(13) 492.01 492 T
-(5.0) 72 472 T
-(Unsuitable environments) 108 472 T
-(.......................................................................................) 230.87 472 T
-(13) 492.01 472 T
-(6.0) 72 452 T
-(Reference Documents) 108 452 T
-(............................................................................................) 215.88 452 T
-(14) 492.01 452 T
-FMENDPAGE
-%%EndPage: "2" 3
-3 14 /Times-Bold FMDEFINEFONT
-%%Page: "3" 3
-612 792 0 FMBEGINPAGE
-72 702 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(RFC 1245) 72 712 T
-(OSPF protocol analysis) 249.36 712 T
-(July 1991) 493.02 712 T
-72 69.05 540 81 R
-7 X
-V
-0 X
-([Moy]) 72 73 T
-([Page 3]) 499.7 73 T
-72 108 540 684 R
-7 X
-V
-2 F
-0 X
-(1.0  Intr) 72 673.33 T
-(oduction) 127.23 673.33 T
-0 F
--0.02 (This document addresses, for OSPF V2, the requirements set forth by the IAB/IESG for an Inter-) 72 646 P
--0.19 (net routing protocol to advance to Draft Standard state. This requirements are brie\337y summarized ) 72 632 P
-(below) 72 618 T
-(. The remaining sections of this report document how OSPF V2 satis\336es these require-) 100.53 618 T
-(ments:) 72 604 T
-(\245) 72 584 T
-(What are the key features and algorithms of the protocol?) 85.54 584 T
-(\245) 72 564 T
-(How much link bandwidth, router memory and router CPU cycles does the protocol consume ) 85.54 564 T
-(under normal conditions?) 85.54 550 T
-(\245) 72 530 T
-(For these metrics, how does the usage scale as the routing environment grows? This should ) 85.54 530 T
-(include topologies at least an order of magnitude lar) 85.54 516 T
-(ger than the current environment.) 335.14 516 T
-(\245) 72 496 T
-(What are the limits of the protocol for these metrics? \050i.e., when will the routing protocol ) 85.54 496 T
-(break?\051 ) 85.54 482 T
-(\245) 72 462 T
-(For what environments is the protocol well suited, and for what is it not suitable? ) 85.54 462 T
-3 F
-(1.1  Acknowledgments) 72 428.67 T
-0 F
--0.03 (The OSPF protocol has been developed by the OSPF W) 72 402 P
--0.03 (orking Group of the Internet Engineering ) 339.64 402 P
-(T) 72 388 T
-(ask Force. ) 78.49 388 T
-FMENDPAGE
-%%EndPage: "3" 4
-4 12 /Times-Bold FMDEFINEFONT
-%%Page: "4" 4
-612 792 0 FMBEGINPAGE
-72 702 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(RFC 1245) 72 712 T
-(OSPF protocol analysis) 249.36 712 T
-(July 1991) 493.02 712 T
-72 69.05 540 81 R
-7 X
-V
-0 X
-([Moy]) 72 73 T
-([Page 4]) 499.7 73 T
-72 108 540 684 R
-7 X
-V
-2 F
-0 X
-(2.0  Key featur) 72 673.33 T
-(es of the OSPF pr) 172.97 673.33 T
-(otocol) 293.49 673.33 T
-0 F
-(This section summarizes the key features of the OSPF protocol. OSPF is an) 72 646 T
-4 F
-( Internal gateway ) 434.78 646 T
--0.2 (pr) 72 632 P
--0.2 (otocol) 83.78 632 P
-0 F
--0.2 (; it is designed to be used internal to a single Autonomous System. OSPF uses) 114.42 632 P
-4 F
--0.2 ( link-state ) 486.43 632 P
--0.36 (or SPF-based) 72 618 P
-0 F
--0.36 ( technology \050as compared to the distance-vector or Bellman-Ford technology found ) 140.6 618 P
--0.48 (in routing protocols such as RIP\051. Individual ) 72 604 P
-4 F
--0.48 (link state advertisements \050LSAs\051) 285.2 604 P
-0 F
--0.48 ( describe pieces of ) 449.99 604 P
--0.13 (the OSPF routing domain \050Autonomous System\051. These LSAs are \337ooded throughout the routing ) 72 590 P
-(domain, forming the ) 72 576 T
-4 F
-(link state database) 173.27 576 T
-0 F
-(. Each router has an identical link state database; syn-) 268.56 576 T
-(chronization of link state databases is maintained via a ) 72 562 T
-4 F
-(r) 336.81 562 T
-(eliable \337ooding algorithm) 341.92 562 T
-0 F
-(. From this ) 473.2 562 T
-(link state database, each router builds a routing table by calculating a shortest-path tree, with the ) 72 548 T
-(root of the tree being the calculating router itself. This calculation is commonly referred to as the ) 72 534 T
-4 F
-(Dijkstra pr) 72 520 T
-(ocedur) 129.41 520 T
-(e) 164.51 520 T
-0 F
-(.) 169.83 520 T
-(Link state advertisements are small. Each advertisement describes a small pieces of the OSPF ) 72 494 T
-(routing domain, namely either: the neighborhood of a single router) 72 480 T
-(, the neighborhood of a single ) 391.97 480 T
-(transit network, a single inter) 72 466 T
-(-area route \050see below\051 or a single external route.) 212 466 T
-(The other key features of the OSPF protocol are:) 72 440 T
-(\245) 72 420 T
-4 F
--0.31 (Adjacency bringup) 85.54 420 P
-0 F
--0.31 (. ) 183.51 420 P
-4 F
--0.31 (Certain pairs of OSPF r) 189.2 420 P
--0.31 (outers become \322adjacent\323) 311.01 420 P
-0 F
--0.31 (. As an adjacency is ) 442.96 420 P
-(formed, the two routers synchronize their link state databases by ) 85.54 406 T
-4 F
-(exchanging database sum-) 397.64 406 T
-(maries) 85.54 392 T
-0 F
-( in the form of OSPF Database Exchange packets. Adjacent routers then maintain syn-) 120.17 392 T
-(chronization of their link state databases through the ) 85.54 378 T
-4 F
-(r) 340.02 378 T
-(eliable \337ooding algorithm) 345.13 378 T
-0 F
-(. Routers ) 476.41 378 T
--0.27 (connected by serial lines always become adjacent. On multi-access networks \050e.g., ethernets or ) 85.54 364 P
-(X.25 PDNs\051, all routers attached to the network become adjacent to both the Designated ) 85.54 350 T
-(Router and the Backup Designated router) 85.54 336 T
-(.) 283.73 336 T
-(\245) 72 316 T
-4 F
--0.02 (Designated r) 85.54 316 P
--0.02 (outer) 150.26 316 P
--0.02 (.) 176.46 316 P
-0 F
--0.02 ( A Designated Router is elected on all multi-access networks \050e.g., ether-) 179.46 316 P
-(nets or X.25 PDNs\051. The network\325) 85.54 302 T
-(s Designated Router ) 250.42 302 T
-4 F
-(originates the network LSA) 350.69 302 T
-0 F
-( describ-) 492.27 302 T
-(ing the network\325) 85.54 288 T
-(s local environment. It also plays a ) 164.15 288 T
-4 F
-(special r) 334.04 288 T
-(ole in the \337ooding algorithm) 376.8 288 T
-0 F
-(, ) 521.4 288 T
-(since all routers on the network are synchronizing their link state databases by sending and ) 85.54 274 T
-(receiving LSAs to/from the Designated Router during the \337ooding process.) 85.54 260 T
-(\245) 72 240 T
-4 F
--0.46 (Backup Designated Router) 85.54 240 P
-0 F
--0.46 (. A Backup Designated Router is elected on multi-access networks ) 221.87 240 P
-(to speed/ease the transition of Designated Routers when the current Designated Router disap-) 85.54 226 T
-(pears. In that event, the Backup DR takes over) 85.54 212 T
-(, and does not need to go through the adjacency ) 308.22 212 T
--0.13 (bringup process on the LAN \050since it already had done this in its Backup capacity\051. Also, even ) 85.54 198 P
-(before the disappearance of the Designated Router is noticed, the Backup DR will enable the ) 85.54 184 T
-(reliable \337ooding algorithm to proceed in the DR\325) 85.54 170 T
-(s absence.) 320.39 170 T
-FMENDPAGE
-%%EndPage: "4" 5
-%%Page: "5" 5
-612 792 0 FMBEGINPAGE
-72 702 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(RFC 1245) 72 712 T
-(OSPF protocol analysis) 249.36 712 T
-(July 1991) 493.02 712 T
-72 69.05 540 81 R
-7 X
-V
-0 X
-([Moy]) 72 73 T
-([Page 5]) 499.7 73 T
-72 108 540 684 R
-7 X
-V
-0 X
-(\245) 72 676 T
-4 F
-(Non-br) 85.54 676 T
-(oadcast multi-access network support.) 122.63 676 T
-0 F
-( OSPF treats these networks \050e.g., X.25 ) 318.51 676 T
--0.01 (PDNs\051 pretty much as if they were LANs \050i.e., a DR is elected, and a network LSA is gener-) 85.54 662 P
--0.29 (ated\051. Additional con\336guration information is needed however for routers attached to these net-) 85.54 648 P
-(work to initially \336nd each other) 85.54 634 T
-(.) 236.45 634 T
-(\245) 72 614 T
-4 F
-(OSPF ar) 85.54 614 T
-(eas) 130.29 614 T
-0 F
-(. OSPF allows the Autonomous Systems to be broken up into regions call areas. ) 146.28 614 T
-(This is useful for several reasons. First, it provides an extra level of ) 85.54 600 T
-4 F
-(r) 411.64 600 T
-(outing pr) 416.75 600 T
-(otection) 464.18 600 T
-0 F
-(: rout-) 504.81 600 T
--0.29 (ing within an area is protected from all information external to the area. Second, by splitting an ) 85.54 586 P
--0.3 (Autonomous System into areas the ) 85.54 572 P
-4 F
--0.3 (cost of the Dijkstra pr) 254.27 572 P
--0.3 (ocedur) 365.44 572 P
--0.3 (e ) 400.53 572 P
-0 F
--0.3 (\050in terms of CPU cycles\051 is ) 408.55 572 P
-(reduced.) 85.54 558 T
-(\245) 72 538 T
-4 F
-(Flexible import of external r) 85.54 538 T
-(outing information.) 230.55 538 T
-0 F
-( In OSPF) 330.5 538 T
-(, ) 374.19 538 T
-4 F
-(each external r) 380.19 538 T
-(oute) 456.58 538 T
-0 F
-( is imported ) 478.56 538 T
-(into the Autonomous System in ) 85.54 524 T
-4 F
-(a separate LSA) 240.47 524 T
-0 F
-(. This reduces the amount of \337ooding traf) 319.08 524 T
-(\336c ) 518.07 524 T
-(\050since external routes change often, and you want to only \337ood the changes\051. It also enables ) 85.54 510 T
-4 F
--0.43 (partial r) 85.54 496 P
--0.43 (outing table updates) 127.86 496 P
-0 F
--0.43 ( when only a single external route changes. OSPF external LSAs ) 230.96 496 P
-(also provide the following features. A ) 85.54 482 T
-4 F
-(forwarding addr) 270.4 482 T
-(ess) 355.81 482 T
-0 F
-( can be included in the external ) 370.46 482 T
-(LSA, eliminating extra-hops at the edge of the Autonomous System. There are two levels of ) 85.54 468 T
-(external metrics that can be speci\336ed, ) 85.54 454 T
-4 F
-(type 1) 269.06 454 T
-0 F
-( and ) 300.04 454 T
-4 F
-(type 2) 323.35 454 T
-0 F
-(. Also, external routes can be tagged ) 354.33 454 T
-(with a 32-bit number \050the ) 85.54 440 T
-4 F
-(external r) 211.12 440 T
-(oute tag) 261.19 440 T
-0 F
-(; commonly used as an AS number of the route\325) 302.16 440 T
-(s ) 531.68 440 T
-(origin\051, simplifying external route management in a transit Autonomous System.) 85.54 426 T
-(\245) 72 406 T
-4 F
-(Four level r) 85.54 406 T
-(outing hierar) 145.27 406 T
-(chy) 212.69 406 T
-0 F
-(. OSPF has a four level routing hierarchy) 229.9 406 T
-(, or trust model: ) 426.32 406 T
-4 F
-(intra-) 505.94 406 T
-(ar) 85.54 392 T
-(ea) 96.64 392 T
-0 F
-(, ) 107.96 392 T
-4 F
-(inter) 113.96 392 T
-(-ar) 138.16 392 T
-(ea) 153.26 392 T
-0 F
-(, ) 164.59 392 T
-4 F
-(external type 1) 170.58 392 T
-0 F
-( and ) 246.52 392 T
-4 F
-(external type 2) 269.84 392 T
-0 F
-( routes. This enables multiple levels of ) 345.78 392 T
-(routing protection, and simpli\336es routing management in an Autonomous System.) 85.54 378 T
-(\245) 72 358 T
-4 F
-(V) 85.54 358 T
-(irtual links) 93.75 358 T
-0 F
-(. By allowing the con\336guration of virtual links, OSPF ) 150.07 358 T
-4 F
-(r) 410.94 358 T
-(emoves topological ) 416.05 358 T
-(r) 85.54 344 T
-(estrictions) 90.64 344 T
-0 F
-( on area layout in an Autonomous System.) 143.27 344 T
-(\245) 72 324 T
-4 F
--0.32 (Authentication of r) 85.54 324 P
--0.32 (outing pr) 182.62 324 P
--0.32 (otocol exchanges) 229.74 324 P
-0 F
--0.32 (. Every time an OSPF router receives a routing ) 315.03 324 P
-(protocol packet, it authenticates the packet before processing it further) 85.54 310 T
-(.) 422.61 310 T
-(\245) 72 290 T
-4 F
--0.03 (Flexible r) 85.54 290 P
--0.03 (outing metric.) 134.26 290 P
-0 F
--0.03 ( In OSPF) 206.18 290 P
--0.03 (, metric are assigned to outbound router interfaces. The cost ) 249.82 290 P
-(of a path is then the sum of the path\325) 85.54 276 T
-(s component interfaces. The routing metric itself can be ) 260.42 276 T
-(assigned by the system administrator to indicate any combination of network characteristics ) 85.54 262 T
-(\050e.g., delay) 85.54 248 T
-(, bandwidth, dollar cost, etc.\051.) 138.04 248 T
-(\245) 72 228 T
-4 F
--0.09 (Equal-cost multipath.) 85.54 228 P
-0 F
--0.09 ( When multiple best cost routes to a destination exist, OSPF \336nds them ) 196.73 228 P
-(and they can be then used to load share traf) 85.54 214 T
-(\336c to the destination.) 292.82 214 T
-(\245) 72 194 T
-4 F
-(T) 85.54 194 T
-(OS-based r) 93.32 194 T
-(outing.) 150.74 194 T
-0 F
-( Separate sets of routes can be calculated for each IP type of service. For ) 186.4 194 T
-(example, low delay traf) 85.54 180 T
-(\336c could be routed on one path, while high bandwidth traf) 198.56 180 T
-(\336c is routed ) 477.16 180 T
--0.39 (on another) 85.54 166 P
--0.39 (. This is done by \050optionally\051 assigning, to each outgoing router interface, one metric ) 135.44 166 P
-(for each IP T) 85.54 152 T
-(OS.) 148.26 152 T
-(\245) 72 132 T
-4 F
-(V) 85.54 132 T
-(ariable-length subnet support.) 93.09 132 T
-0 F
-( OSPF includes support for variable-length subnet masks by ) 248.02 132 T
-(carrying a network mask with each advertised destination.) 85.54 118 T
-FMENDPAGE
-%%EndPage: "5" 6
-%%Page: "6" 6
-612 792 0 FMBEGINPAGE
-72 702 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(RFC 1245) 72 712 T
-(OSPF protocol analysis) 249.36 712 T
-(July 1991) 493.02 712 T
-72 69.05 540 81 R
-7 X
-V
-0 X
-([Moy]) 72 73 T
-([Page 6]) 499.7 73 T
-72 108 540 684 R
-7 X
-V
-0 X
-(\245) 72 676 T
-4 F
--0.08 (Stub ar) 85.54 676 P
--0.08 (ea support. ) 123.56 676 P
-0 F
--0.08 (T) 183.69 676 P
--0.08 (o support routers having insuf) 190.18 676 P
--0.08 (\336cient memory) 333.53 676 P
--0.08 (, areas can be con\336gured as ) 405.63 676 P
-(stubs. External LSAs \050often making up the bulk of the Autonomous System\051 are not \337ooded ) 85.54 662 T
-(into/throughout stub areas. Routing to external destinations in stub areas is based solely on ) 85.54 648 T
-(default.) 85.54 634 T
-FMENDPAGE
-%%EndPage: "6" 7
-%%Page: "7" 7
-612 792 0 FMBEGINPAGE
-72 702 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(RFC 1245) 72 712 T
-(OSPF protocol analysis) 249.36 712 T
-(July 1991) 493.02 712 T
-72 69.05 540 81 R
-7 X
-V
-0 X
-([Moy]) 72 73 T
-([Page 7]) 499.7 73 T
-72 108 540 684 R
-7 X
-V
-2 F
-0 X
-(3.0  Cost of the pr) 72 673.33 T
-(otocol) 193.4 673.33 T
-0 F
--0.1 (This section attempts to analyze how the OSPF protocol will perform and scale in the Internet. In ) 72 646 P
-(this analysis, we will concentrate on the following four areas:) 72 632 T
-(\245) 72 612 T
-4 F
-(Link bandwidth) 85.54 612 T
-0 F
-(. In OSPF) 168.53 612 T
-(, a reliable \337ooding mechanism is used to ensure that router link ) 215.22 612 T
-(state databases are remained synchronized. Individual components of the link state databases ) 85.54 598 T
--0.17 (\050the LSAs\051 are refreshed infrequently \050every 30 minutes\051, at least in the absence of topological ) 85.54 584 P
-(changes. Still, as the size of the database increases, the amount of link bandwidth used by the ) 85.54 570 T
-(\337ooding procedure also increases.) 85.54 556 T
-(\245) 72 536 T
-4 F
--0.03 (Router memory) 85.54 536 P
-0 F
--0.03 (. The size of an OSPF link state database can get quite lar) 166.32 536 P
--0.03 (ge, especially in the ) 441.86 536 P
-(presence of many external LSAs. This imposes requirements on the amount of router memory ) 85.54 522 T
-(available.) 85.54 508 T
-(\245) 72 488 T
-4 F
-(CPU usage) 85.54 488 T
-0 F
-(. In OSPF) 141.83 488 T
-(, this is dominated by the length of time it takes to run the shortest path ) 188.52 488 T
-(calculation \050Dijkstra procedure\051. This is a function of the number of routers in the OSPF sys-) 85.54 474 T
-(tem.) 85.54 460 T
-(\245) 72 440 T
-4 F
-(Role of the Designated Router) 85.54 440 T
-(.) 238.32 440 T
-0 F
-( The Designated router receives and sends more packets on a ) 241.32 440 T
--0.46 (multi-access networks than the other routers connected to the network. Also, there is some time ) 85.54 426 P
-(involved in cutting over to a new Designated Router after the old one fails \050especially when ) 85.54 412 T
-(both the Backup Designated Router and the Designated Router fail at the same time\051. For this ) 85.54 398 T
--0.27 (reason, it is possible that you may want to limit the number of routers connected to a single net-) 85.54 384 P
-(work.) 85.54 370 T
-(The remaining section will analyze these areas, estimating how much resources the OSPF proto-) 72 344 T
--0.05 (col will consume, both now and in the future. T) 72 330 P
--0.05 (o aid in this analysis, the next section will present ) 298.93 330 P
-(some data that have been collected in actual OSPF \336eld deployments.) 72 316 T
-3 F
-(3.1   Operational data) 72 282.67 T
-0 F
--0.44 (The OSPF protocol has been deployed in a number of places in the Internet. For a summary of this ) 72 256 P
-(deployment, see [1]. Some statistics have been gathered from this operational experience, via ) 72 242 T
--0.03 (local network management facilities. Some of these statistics are presented in the following table:) 72 228 P
-FMENDPAGE
-%%EndPage: "7" 8
-5 10 /Times-Bold FMDEFINEFONT
-%%Page: "8" 8
-612 792 0 FMBEGINPAGE
-72 702 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(RFC 1245) 72 712 T
-(OSPF protocol analysis) 249.36 712 T
-(July 1991) 493.02 712 T
-72 69.05 540 81 R
-7 X
-V
-0 X
-([Moy]) 72 73 T
-([Page 8]) 499.7 73 T
-72 108 540 684 R
-7 X
-V
-72 666.01 540 674 C
-72 671.98 540 671.98 2 L
-0.5 H
-0 Z
-0 X
-0 K
-N
-0 0 612 792 C
-5 F
-0 X
-0 K
-(T) 72 677.33 T
-(ABLE 1. Pertinent operational statistics) 77.93 677.33 T
-(Statistic) 72 655.34 T
-(BARRNet) 216 655.34 T
-(NSI) 324 655.34 T
-(OARnet) 432 655.34 T
-1 F
-(Data gathering \050duration\051) 72 638.34 T
-(99 hours) 216 638.34 T
-(277 hours) 324 638.34 T
-(28 hours) 432 638.34 T
-(Dijkstra frequency) 72 622.34 T
-(50 minutes) 216 622.34 T
-(25 minutes) 324 622.34 T
-(13 minutes) 432 622.34 T
-(External incremental frequency) 72 606.34 T
-(1.2 minutes) 216 606.34 T
-(.98 minutes) 324 606.34 T
-(not gathered) 432 606.34 T
-(Database turnover) 72 590.34 T
-(29.7 minutes) 216 590.34 T
-(30.9 minutes) 324 590.34 T
-(28.2 minutes) 432 590.34 T
-(LSAs per packet) 72 574.34 T
-(3.38) 216 574.34 T
-(3.16) 324 574.34 T
-(2.99) 432 574.34 T
-(Flooding retransmits) 72 558.34 T
-(1.3%) 216 558.34 T
-(1.4%) 324 558.34 T
-(.7%) 432 558.34 T
-0 F
-(The \336rst line in the above table show the length of time that statistics were gathered on the three ) 72 533.01 T
-(networks. A brief description of the other statistics follows:) 72 519.01 T
-(\245) 72 499.01 T
-4 F
-(Dijkstra fr) 85.54 499.01 T
-(equency) 140.27 499.01 T
-(. ) 181.59 499.01 T
-0 F
-(In OSPF) 187.59 499.01 T
-(, the Dijkstra calculation involves only those routers and transit ) 228.28 499.01 T
--0.14 (networks belonging to the AS. The Dijkstra is run only when something in the system changes ) 85.54 485.01 P
-(\050like a serial line between two routers goes down\051. Note that in these operational systems, the ) 85.54 471.01 T
-(Dijkstra process runs only infrequently \050the most frequent being every 13 minutes\051.) 85.54 457.01 T
-(\245) 72 437.01 T
-4 F
-(External incr) 85.54 437.01 T
-(emental fr) 153.61 437.01 T
-(equency) 206.35 437.01 T
-0 F
-(. In OSPF) 247.54 437.01 T
-(, when an external route changes only its entry in ) 294.23 437.01 T
--0.13 (the routing table is recalculated. These are called external incremental updates. Note that these ) 85.54 423.01 P
-(happen much more frequently than the Dijkstra procedure. \050in other words, incremental ) 85.54 409.01 T
-(updates are saving quite a bit of processor time\051.) 85.54 395.01 T
-(\245) 72 375.01 T
-4 F
--0.45 (Database turnover) 85.54 375.01 P
--0.45 (.) 179.58 375.01 P
-0 F
--0.45 ( In OSPF) 182.58 375.01 P
--0.45 (, link state advertisements are refreshed at a minimum of every 30 ) 225.36 375.01 P
-(minutes. New advertisement instances are sent out more frequently when some part of the ) 85.54 361.01 T
--0.2 (topology changes. The table shows that, even taking topological changes into account, on aver-) 85.54 347.01 P
-(age an advertisement is updated close to only every 30 minutes. This statistic will be used in ) 85.54 333.01 T
-(the link bandwidth calculations below) 85.54 319.01 T
-(. Note that NSI actually shows advertisements updated ) 267.31 319.01 T
-(every 30.7 \050> 30\051 minutes. This probably means that at one time earlier in the measurement ) 85.54 305.01 T
-(period, NSI had a smaller link state database that it did at the end.) 85.54 291.01 T
-(\245) 72 271.01 T
-4 F
--0.39 (LSAs per packet.) 85.54 271.01 P
-0 F
--0.39 ( In OSPF) 173.04 271.01 P
--0.39 (, multiple LSAs can be included in either Link State Update or Link ) 215.95 271.01 P
--0.35 (State Acknowledgment packets.The table shows that, on average, around 3 LSAs are carried in ) 85.54 257.01 P
-(a single packet. This statistic is used when calculating the header overhead in the link band-) 85.54 243.01 T
-(width calculation below) 85.54 229.01 T
-(. This statistic was derived by diving the number of LSAs \337ooded by ) 200.01 229.01 T
-(the number of \050non-hello\051 multicasts sent.) 85.54 215.01 T
-(\245) 72 195.01 T
-4 F
-(Flooding r) 85.54 195.01 T
-(etransmits.) 138.97 195.01 T
-0 F
-( This counts both retransmission of LS Update packets and Link State ) 195.92 195.01 T
-(Acknowledgment packets, as a percentage of the original multicast \337ooded packets. The table ) 85.54 181.01 T
-(shows that \337ooding is working well, and that retransmits can be ignored in the link bandwidth ) 85.54 167.01 T
-(calculation below) 85.54 153.01 T
-(.) 169.69 153.01 T
-FMENDPAGE
-%%EndPage: "8" 9
-%%Page: "9" 9
-612 792 0 FMBEGINPAGE
-72 702 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(RFC 1245) 72 712 T
-(OSPF protocol analysis) 249.36 712 T
-(July 1991) 493.02 712 T
-72 69.05 540 81 R
-7 X
-V
-0 X
-([Moy]) 72 73 T
-([Page 9]) 499.7 73 T
-72 108 540 684 R
-7 X
-V
-3 F
-0 X
-(3.2  Link bandwidth) 72 674.67 T
-0 F
--0.02 (In this section we attempt to calculate how much link bandwidth is consumed by the OSPF \337ood-) 72 648 P
-(ing process. The amount of link bandwidth consumed increases linearly with the number of ) 72 634 T
-(advertisements present in the OSPF database.W) 72 620 T
-(e assume that the majority of advertisements in ) 300.88 620 T
-(the database will be AS external LSAs \050operationally this is true, see [1]\051.) 72 606 T
-(From the statistics presented in Section 3.1, any particular advertisement is \337ooded \050on average\051 ) 72 580 T
-(every 30 minutes. In addition, three advertisements \336t in a single packet. \050This packet could be ) 72 566 T
-(either a Link State Update packet or a Link State Acknowledgment packet; in this analysis we ) 72 552 T
-(select the Link State Update packet, which is the lar) 72 538 T
-(ger\051. An AS external LSA is 36 bytes long. ) 320.93 538 T
-(Adding one third of a packet header \050IP header plus OSPF Update packet\051 yields 52 bytes. T) 72 524 T
-(rans-) 515.59 524 T
-(mitting this amount of data every 30 minutes gives an average rate of 23/100 bits/second.) 72 510 T
--0.05 (If you want to limit your routing traf) 72 484 P
--0.05 (\336c to 5% of the link\325) 247.03 484 P
--0.05 (s total bandwidth, you get the following ) 345.75 484 P
-(maximums for database size:) 72 470 T
-72 434.01 540 442 C
-72 439.98 540 439.98 2 L
-0.5 H
-0 Z
-0 X
-0 K
-N
-0 0 612 792 C
-5 F
-0 X
-0 K
-(T) 72 445.33 T
-(ABLE 2. Database size as a function of link speed \0505% utilization\051) 77.93 445.33 T
-(Speed) 180 423.34 T
-(# external advertisements) 288 423.34 T
-1 F
-(9.6 Kb) 180 406.34 T
-(2087) 288 406.34 T
-(56 Kb) 180 390.34 T
-(12,174) 288 390.34 T
-0 F
--0.46 (Higher line speeds have not been included, because other factors will then limit database size \050like ) 72 365.01 P
--0.12 (router memory\051 before line speed becomes a factor) 72 351.01 P
--0.12 (. Note that in the above calculation, the size of ) 315.32 351.01 P
--0.06 (the data link header was not taken into account. Also, note that while the OSPF database is likely ) 72 337.01 P
-(to be mostly external LSAs, other LSAs have a size also. As a ballpark estimate, router links and ) 72 323.01 T
--0.01 (network links are generally three times as lar) 72 309.01 P
--0.01 (ge as an AS external link, with summary link adver-) 287.18 309.01 P
-(tisements being the same size as external link LSAs.) 72 295.01 T
-(OSPF consumes considerably less link bandwidth than RIP) 72 269.01 T
-(. This has been shown experimentally ) 355.51 269.01 T
-(in the NSI network. See Jef) 72 255.01 T
-(frey Bur) 203.69 255.01 T
-(gan\325) 243.77 255.01 T
-(s \322NASA Sciences Internet\323 report in [3].) 264.42 255.01 T
-3 F
-(3.3  Router memory) 72 221.67 T
-0 F
--0.1 (Memory requirements in OSPF are dominated by the size of the link state database. As in the pre-) 72 195.01 P
-(vious section, it is probably safe to assume that most of the advertisements in the database are ) 72 181.01 T
-(external LSAs. While an external LSA is 36 bytes long, it is generally stored by an OSPF imple-) 72 167.01 T
--0.34 (mentation together with some support data. So a good estimate of router memory consumed by an ) 72 153.01 P
-(external LSA is probably 64 bytes. So a database having 10,000 external LSAs will consume ) 72 139.01 T
-(640K bytes of router memory) 72 125.01 T
-(. OSPF de\336nitely requires more memory than RIP) 213.79 125.01 T
-(.) 452.98 125.01 T
-FMENDPAGE
-%%EndPage: "9" 10
-%%Page: "10" 10
-612 792 0 FMBEGINPAGE
-72 702 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(RFC 1245) 72 712 T
-(OSPF protocol analysis) 249.36 712 T
-(July 1991) 493.02 712 T
-72 69.05 540 81 R
-7 X
-V
-0 X
-([Moy]) 72 73 T
-([Page 10]) 493.7 73 T
-72 108 540 684 R
-7 X
-V
-0 X
--0.35 (Using the Proteon P4200 implementation as an example, the P4200 has 2Mbytes of memory) 72 676 P
--0.35 (. This ) 510.38 676 P
--0.02 (is shared between instruction, data and packet buf) 72 662 P
--0.02 (fer memory) 310.78 662 P
--0.02 (. The P4200 has enough memory to ) 366.26 662 P
-(store 10, 000 external LSAs, and still have enough packet buf) 72 648 T
-(fer memory available to run a rea-) 367.58 648 T
-(sonable number of interfaces.) 72 634 T
-(Also, note that while the OSPF database is likely to be mostly external LSAs, other LSAs have a ) 72 608 T
--0.06 (size also. As a ballpark estimate, router links and network links consume generally three times as ) 72 594 P
-(much memory as an AS external link, with summary link advertisements being the same size as ) 72 580 T
-(external link LSAs.) 72 566 T
-3 F
-(3.4  Router CPU) 72 532.67 T
-0 F
-(Assume that, as the size of the OSPF routing domain grows, the number of interfaces per router ) 72 506 T
-(stays bounded. Then the Dijkstra calculation is of order \050n * log \050n\051\051, where n is the number of ) 72 492 T
-(routers in the routing domain. \050This is the complexity of the Dijkstra algorithm in a sparse net-) 72 478 T
-(work\051. Of course, it is implementation speci\336c as to how expensive the Dijkstra really is.) 72 464 T
-(W) 72 438 T
-(e have no experimental numbers for the cost of the Dijkstra calculation in a real OSPF imple-) 82.36 438 T
-(mentation. However) 72 424 T
-(, Steve Deering presented results for the Dijkstra calculation in the \322MOSPF ) 169.45 424 T
-(meeting report\323 in [3]. Steve\325) 72 410 T
-(s calculation was done on a DEC 5000 \05010 mips processor\051, using ) 212.9 410 T
-(the Stanford internet as a model. His graphs are based on numbers of networks, not number of ) 72 396 T
-(routers. However) 72 382 T
-(, if we extrapolate that the ratio of routers to networks remains the same, the ) 154.78 382 T
-(time to run Dijkstra for 200 routers in Steve\325) 72 368 T
-(s implementation was around 15 milliseconds.) 285.87 368 T
--0.46 (This seems a reasonable cost, particularly when you notice that the Dijkstra calculation is run very ) 72 342 P
-(infrequently in operational deployments. In the three networks presented in Section 3.1, Dijkstra ) 72 328 T
--0.35 (was run on average only every 13 to 50 minutes. Since the Dijkstra is run so infrequently) 72 314 P
--0.35 (, it seems ) 493.06 314 P
--0.02 (likely that OSPF overall consumes less CPU than RIP \050because of RIP\325) 72 300 P
--0.02 (s frequent updates, requir-) 413.95 300 P
-(ing routing table lookups\051.) 72 286 T
-(As another example, the routing algorithm in MILNET is SPF-based. MILNET\325) 72 260 T
-(s current size is ) 456.42 260 T
--0.02 (230 nodes, and the routing calculation still consumes less than 5% of the MILNET switches\325 pro-) 72 246 P
-(cessor bandwidth [4]. Because the routing algorithm in the MILNET adapts to network load, it ) 72 232 T
-(runs the Dijkstra process quite frequently \050on the order of seconds as compared to OSPF\325) 72 218 T
-(s min-) 499.7 218 T
-(utes\051. However) 72 204 T
-(, it should be noted that the routing algorithm in MILNET incrementally updates ) 144.79 204 T
-(the SPF-tree, while OSPF rebuilds it from scratch at each Dijkstra calculation) 72 190 T
-(OSPF\325) 72 164 T
-(s Area capability provides a way to reduce Dijkstra overhead, if it becomes a burden. The ) 104 164 T
--0 (routing domain can be split into areas. The extent of the Dijkstra calculation \050and its complexity\051 ) 72 150 P
-(is limited to a single area at a time.) 72 136 T
-FMENDPAGE
-%%EndPage: "10" 11
-%%Page: "11" 11
-612 792 0 FMBEGINPAGE
-72 702 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(RFC 1245) 72 712 T
-(OSPF protocol analysis) 249.36 712 T
-(July 1991) 493.02 712 T
-72 69.05 540 81 R
-7 X
-V
-0 X
-([Moy]) 72 73 T
-([Page 11]) 493.7 73 T
-72 108 540 684 R
-7 X
-V
-3 F
-0 X
-(3.5  Role of Designated Router) 72 674.67 T
-0 F
-(This section explores the number of routers that can be attached to a single network. As the num-) 72 648 T
--0.36 (ber of routers attached to a network grows, so does the amount of OSPF routing traf) 72 634 P
--0.36 (\336c seen on the ) 469.48 634 P
-(network. Some of this is Hello traf) 72 620 T
-(\336c, which is generally multicast by each router every 10 sec-) 238.01 620 T
--0.07 (onds. This burden is borne by all routers attached to the network. However) 72 606 P
--0.07 (, because of its special ) 429.77 606 P
--0.08 (role in the \337ooding process, the Designated router ends up sending more Link State Updates than ) 72 592 P
-(the other routers on the network. Also, the Designated Router receives Link State Acknowledg-) 72 578 T
--0.15 (ments from all attached routers, while the other routers just receive them from the DR. \050Although ) 72 564 P
-(it is important to note that the rate of Link State Acknowledgments will generally be limited to ) 72 550 T
-(one per second from each router) 72 536 T
-(, because acknowledgments are generally delayed.\051) 226.38 536 T
--0.22 (So, if the amount of protocol traf) 72 510 P
--0.22 (\336c on the LAN becomes a limiting factor) 228.71 510 P
--0.22 (, the limit is likely to be ) 424.24 510 P
-(detected in the Designated Router \336rst. However) 72 496 T
-(, such a limit is not expected to be reached in ) 305.68 496 T
-(practice. The amount of routing protocol traf) 72 482 T
-(\336c generated by OSPF has been shown to be small ) 286.62 482 T
--0.11 (\050see Section 3.2\051. Also, if need be OSPF\325) 72 468 P
--0.11 (s hello timers can be con\336gured to reduce the amount of ) 268.43 468 P
-(protocol traf) 72 454 T
-(\336c on the network. Note that more than 50 routers have been simulated attached to a ) 131.4 454 T
-(single LAN \050see [1]\051. Also, in interoperability testing 13 routers have been attached to a single ) 72 440 T
-(ethernet with no problems encountered.) 72 426 T
--0.02 (Another factor in the number of routers attached to a single network is the cutover time when the ) 72 400 P
--0.17 (Designated Router fails. OSPF has a Backup Designated Router so that the cutover does not have ) 72 386 P
--0.31 (to wait for the new DR to synchronize \050the adjacency bring-up process mentioned earlier\051 with all ) 72 372 P
--0.43 (the other routers on the LAN; as a Backup DR it had already synchronized. However) 72 358 P
--0.43 (, in those rare ) 473.46 358 P
--0.33 (cases when both DR and Backup DR crash at the same time, the new DR will have to synchronize ) 72 344 P
-(\050via the adjacency bring-up process\051 with all other routers before becoming functional. Field ) 72 330 T
--0.44 (experience show that this synchronization process takes place in a timely fashion \050see the OARnet ) 72 316 P
-(report in [1]\051. However) 72 302 T
-(, this may be an issue in systems that have many routers attached to a sin-) 183.42 302 T
-(gle network.) 72 288 T
--0.15 (In the unlikely event that the number of routers attached to a LAN becomes a problem, either due ) 72 262 P
-(to the amount of routing protocol traf) 72 248 T
-(\336c or the cutover time, the LAN can be split into separate ) 251 248 T
-(pieces \050similar to splitting up the AS into separate areas\051.) 72 234 T
-3 F
-(3.6  Summary) 72 200.67 T
-0 F
-(In summary) 72 174 T
-(, it seems like the most likely limitation to the size of an OSPF system is available ) 128.85 174 T
--0.4 (router memory) 72 160 P
--0.4 (. W) 142.43 160 P
--0.4 (e have given as 10,000 as the number of external LSAs that can be supported by ) 158.39 160 P
-(the memory available in one con\336guration of a particular implementation \050the Proteon P4200\051. ) 72 146 T
--0.09 (Other implementations may vary; nowadays routers are being built with more and more memory) 72 132 P
--0.09 (. ) 534.09 132 P
-FMENDPAGE
-%%EndPage: "11" 12
-%%Page: "12" 12
-612 792 0 FMBEGINPAGE
-72 702 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(RFC 1245) 72 712 T
-(OSPF protocol analysis) 249.36 712 T
-(July 1991) 493.02 712 T
-72 69.05 540 81 R
-7 X
-V
-0 X
-([Moy]) 72 73 T
-([Page 12]) 493.7 73 T
-72 108 540 684 R
-7 X
-V
-0 X
-(Note that 10,000 routes is considerably lar) 72 676 T
-(ger than the lar) 275.31 676 T
-(gest \336eld implementation \050BARRNet; ) 347.37 676 T
-(which at 1816 external LSAs is still very lar) 72 662 T
-(ge\051.) 283.65 662 T
-(Note that there may be ways to reduce database size in a routing domain. First, the domain can ) 72 636 T
--0.19 (make use of default routing, reducing the number of external routes that need to be imported. Sec-) 72 622 P
-(ondly) 72 608 T
-(, an EGP can be used that will transport its own information through the AS instead of rely-) 98.54 608 T
--0.21 (ing on the IGP \050OSPF in this case\051 to do transfer the information for it \050the EGP\051. Thirdly) 72 594 P
--0.21 (, routers ) 498.11 594 P
-(having insuf) 72 580 T
-(\336cient memory may be able to be assigned to stub areas \050whose databases are drasti-) 131.41 580 T
-(cally smaller\051. Lastly) 72 566 T
-(, if the Internet went away from a \337at address space the amount of external ) 172.82 566 T
-(information imported into an OSPF domain could be reduced drastically) 72 552 T
-(.) 418.67 552 T
-(While not as likely) 72 526 T
-(, there could be other issues that would limit the size of an OSPF routing ) 162.17 526 T
-(domain. If there are slow lines \050like 9600 baud\051, the size of the database will be limited \050see Sec-) 72 512 T
-(tion 3.2\051. Dijkstra may get to be expensive when there are hundreds of routers in the OSPF ) 72 498 T
-(domain; although at this point the domain can be split into areas. Finally) 72 484 T
-(, when there are many ) 418.69 484 T
-(routers attached to a single network, there may be undue burden imposed upon the Designated ) 72 470 T
-(Router; although at that point a LAN can be split into separate LANs.) 72 456 T
-FMENDPAGE
-%%EndPage: "12" 13
-%%Page: "13" 13
-612 792 0 FMBEGINPAGE
-72 702 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(RFC 1245) 72 712 T
-(OSPF protocol analysis) 249.36 712 T
-(July 1991) 493.02 712 T
-72 69.05 540 81 R
-7 X
-V
-0 X
-([Moy]) 72 73 T
-([Page 13]) 493.7 73 T
-72 108 540 684 R
-7 X
-V
-2 F
-0 X
-(4.0  Suitable envir) 72 673.33 T
-(onments) 195.21 673.33 T
-0 F
--0.14 (Suitable environments for the OSPF protocol range from lar) 72 646 P
--0.14 (ge to small. OSPF is particular suited ) 359.11 646 P
-(for transit Autonomous Systems for the following reasons. OSPF can accommodate a lar) 72 632 T
-(ge num-) 497.84 632 T
-(ber of external routes. In OSPF the import of external information is very \337exible, having provi-) 72 618 T
--0.39 (sions for a forwarding address, two levels of external metrics, and the ability to tag external routes ) 72 604 P
--0.29 (with their AS number for easy management. Also OSPF\325) 72 590 P
--0.29 (s ability to do partial updates when exter-) 343.17 590 P
-(nal information changes is very useful on these networks.) 72 576 T
-(OSPF is also suited for smaller) 72 550 T
-(, either stand alone or stub Autonomous Systems, because of its ) 220.44 550 T
-(wide array of features: fast conver) 72 536 T
-(gence, equal-cost-multipath, T) 235.96 536 T
-(OS routing, areas, etc.) 382.3 536 T
-2 F
-(5.0  Unsuitable envir) 72 469.33 T
-(onments) 212.98 469.33 T
-0 F
--0.22 (OSPF has a very limited ability to express policy) 72 442 P
--0.22 (. Basically) 304.62 442 P
--0.22 (, its only policy mechanisms are in the ) 354.25 442 P
-(establishment of a four level routing hierarchy: intra-area, inter) 72 428 T
-(-area, type 1 and type 2 external ) 374.52 428 T
-(routes. A system wanting more sophisticated policies would have to be split up into separate ) 72 414 T
-(ASes, running a policy-based EGP between them.) 72 400 T
-FMENDPAGE
-%%EndPage: "13" 14
-%%Page: "14" 14
-612 792 0 FMBEGINPAGE
-72 702 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(RFC 1245) 72 712 T
-(OSPF protocol analysis) 249.36 712 T
-(July 1991) 493.02 712 T
-72 69.05 540 81 R
-7 X
-V
-0 X
-([Moy]) 72 73 T
-([Page 14]) 493.7 73 T
-72 108 540 684 R
-7 X
-V
-2 F
-0 X
-(6.0  Refer) 72 673.33 T
-(ence Documents) 137.87 673.33 T
-0 F
-(The following documents have been referenced by this report:) 72 646 T
-([1]) 72 626 T
-(Moy) 108 626 T
-(, J., \322Experience with the OSPF protocol\323, RFC 1246, July 1991.) 129.88 626 T
-([2]) 72 608 T
-(Moy) 108 608 T
-(, J., \322OSPF V) 129.88 608 T
-(ersion 2\323, RFC 1247, July 1991.) 193.85 608 T
-([3]) 72 590 T
-(Corporation for National Research Initiatives, \322Proceedings of the Eighteenth Internet ) 108 590 T
-(Engineering T) 108 576 T
-(ask Force\323, University of British Columbia, July 30-August 3, 1990.) 176.11 576 T
-FMENDPAGE
-%%EndPage: "14" 15
-%%Page: "15" 15
-612 792 0 FMBEGINPAGE
-72 702 540 720 R
-7 X
-0 K
-V
-0 F
-0 X
-(RFC 1245) 72 712 T
-(OSPF protocol analysis) 249.36 712 T
-(July 1991) 493.02 712 T
-72 69.05 540 81 R
-7 X
-V
-0 X
-([Moy]) 72 73 T
-([Page 15]) 493.7 73 T
-72 108 540 684 R
-7 X
-V
-2 F
-0 X
-(Security Considerations) 72 673.33 T
-0 F
-(Security issues are not discussed in this memo.) 72 646 T
-2 F
-(Author) 72 617.33 T
-(\325) 122.04 617.33 T
-(s Addr) 126.77 617.33 T
-(ess) 173.13 617.33 T
-0 F
-(John Moy) 72 590 T
-(Proteon Inc.) 72 576 T
-(2 T) 72 562 T
-(echnology Drive) 87.48 562 T
-(W) 72 548 T
-(estborough, MA 01581) 82.36 548 T
-(Phone: \050508\051 898-2800) 72 522 T
-(Email: jmoy@proteon.com) 72 508 T
-FMENDPAGE
-%%EndPage: "15" 16
-%%Trailer
-%%BoundingBox: 0 0 612 792
-%%Pages: 15 1
-%%DocumentFonts: Times-Roman
-%%+ Times-Bold
diff --git a/test/manual/etags/pyt-src/server.py b/test/manual/etags/pyt-src/server.py
deleted file mode 100644 (file)
index 68aa29a..0000000
+++ /dev/null
@@ -1,819 +0,0 @@
-#!/usr/bin/python
-#
-# NOTE: THIS PROGRAM DOES NOT WORK!
-# It is intended as a regression test source for the Python support in etags.
-# If you want a working version, you'll find it in the fetchmail distribution.
-#
-
-from Tkinter import *
-from Dialog import *
-import sys
-import time
-import os
-
-#
-# Define the data structures the GUIs will be tossing around
-#
-class Controls:
-    def __init__(self):
-       self.foreground = FALSE;        # Run in background
-       self.daemon = 300               # Default to 5-minute timeout
-       self.syslog = FALSE             # Use syslogd for logging?
-       self.logfile = None             # No logfile, initially
-
-    def __repr__(self):
-       str = "";
-       if self.syslog:
-          str = str + ("set syslog\n")
-       elif self.logfile:
-           str = str + ("set logfile \"%s\"\n" % (self.logfile,));
-       if not self.foreground and self.daemon:
-           str = str + ("set daemon %s\n" % (self.daemon,))
-       return str + "\n"
-
-    def __str__(self):
-       return "[Server: " + repr(self) + "]"
-
-class Server:
-    def __init__(self):
-       self.pollname = None            # Poll label
-       self.via = None                 # True name of host
-       self.active = TRUE              # Poll status
-       self.interval = 0               # Skip interval
-       self.protocol = 'auto'          # Default to auto protocol
-       self.port = 0                   # Port number to use
-       self.uidl = FALSE               # Don't use RFC1725 UIDLs by default
-       self.auth = "password"          # Default to password authentication
-       self.timeout = 300              # 5-minute timeout
-       self.envelope = "Received"      # Envelope-address header
-       self.aka = []                   # List of DNS aka names
-       self.dns = TRUE                 # Enable DNS lookup on multidrop
-       self.localdomains = []          # Domains to be considered local
-       self.interface = None           # IP address and range
-       self.monitor = None             # IP address and range
-       self.userlist = []              # List of user entries for site
-       self.typemap = (
-           ('pollname',  'String'),
-           ('via',       'String'),
-           ('active',    'Boolean'),
-           ('interval',  'Int'),
-           ('protocol',  'String'),
-           ('interval',  'Int'),
-           ('port',      'Int'),
-           ('uidl',      'Boolean'),
-           ('auth',      'String'),
-           ('timeout',   'Int'),
-           ('envelope',  'String'),
-           # leave aka out
-           ('dns',       'Boolean'),
-           # leave localdomains out
-           ('interface', 'String'),
-           ('monitor',   'String'))
-
-    def dump(self, folded):
-       str = ""
-       if self.active:   str = str + "poll"
-       else:             str = str + "skip"
-       str = str + (" " + self.pollname)
-       if self.via != self.pollname:
-           str = str + " via " + self.via
-       if self.protocol != ServerDefaults.protocol:
-           str = str + " with proto " + self.protocol 
-       if self.port != defaultports[self.protocol]:
-           str = str + " port " + `self.port`
-       if self.timeout != ServerDefaults.timeout:
-           str = str + " timeout " + `self.timeout`
-       if self.interval != ServerDefaults.interval: 
-           str = str + " interval " + `self.interval` 
-       if self.envelope != ServerDefaults.envelope:
-           str = str + " envelope " + self.envelope
-       if self.auth != ServerDefaults.auth:
-           str = str + " auth " + self.auth
-       if self.dns != ServerDefaults.dns or self.uidl != ServerDefaults.uidl:
-           str = str + " and options"
-       if self.dns != ServerDefaults.dns:
-           str = str + flag2str(self.dns, 'dns')
-       if self.uidl != ServerDefaults.uidl:
-           str = str + flag2str(self.uidl, 'uidl')
-       if folded:        str = str + "\n\t"
-       else:             str = str + " "
-
-       if self.aka:
-            str = str + "aka"
-            for x in self.aka:
-               str = str + " " + x
-       if self.aka and self.localdomains: str = str + " "
-       if self.localdomains:
-            str = str + ("localdomains")
-            for x in self.localdomains:
-               str = str + " " + x
-        if (self.aka or self.localdomains):
-           if folded:
-               str = str + "\n\t"
-           else:
-               str = str + " "
-
-       if self.interface: str = str + " interface " + self.interface
-       if self.monitor: str = str + " monitor " + self.monitor
-       if (self.interface or self.monitor):
-           if folded:
-               str = str + "\n"
-
-       if str[-1] == "\t": str = str[0:-1]
-       return str;
-
-    def __repr__(self):
-       return self.dump(TRUE)
-
-    def __str__(self):
-       return "[Server: " + self.dump(FALSE) + "]"
-
-class User:
-    def __init__(self):
-       self.username = ""              # Remote username
-       self.localnames = None          # Local names
-       self.password = ""              # Password for mail account access
-       self.smpthost = 'localhost'     # Host to forward to
-       self.mda = ""                   # Mail Delivery Agent
-       self.preconnect = ""            # Connection setup
-       self.postconnect = ""           # Connection wrapup
-       self.keep = FALSE               # Keep messages
-       self.flush = FALSE              # Flush messages
-       self.fetchall = FALSE           # Fetch old messages
-       self.rewrite = TRUE             # Rewrite message headers
-       self.forcecr = FALSE            # Force LF -> CR/LF
-       self.stripcr = FALSE            # Strip CR
-       self.pass8bits = FALSE          # Force BODY=7BIT
-       self.dropstatus = FALSE         # Force BODY=7BIT
-       self.limit = 0                  # Message size limit
-       self.fetchlimit = 0             # Max messages fetched per batch
-       self.batchlimit = 0             # Max message forwarded per batch
-       self.typemap = (
-           ('username',    'String')
-           ('folder',      'String')
-           # leave out localnames
-           ('password',    'String')
-           ('smtphost',    'String')
-           ('preconnect',  'String')
-           ('postconnect', 'String')
-           ('mda',         'String')
-           ('keep',        'Boolean')
-           ('flush',       'Boolean')
-           ('fetchall',    'Boolean')
-           ('rewrite',     'Boolean')
-           ('forcecr',     'Boolean')
-           ('stripcr',     'Boolean')
-           ('pass8bits',   'Boolean')
-           ('dropstatus',  'Boolean')
-           ('limit',       'Int')
-           ('fetchlimit',  'Int')
-           ('batchlimit',  'Int'))
-
-    def __repr__(self):
-       str = ""
-       str = str + "user " + self.user;
-       if self.password: str = str + "with password " + self.password
-       if self.localnames:
-            str = str + "localnames"
-            for x in self.localnames:
-               str = str + " " + x
-       if (self.keep or self.flush or self.fetchall or self.rewrite or
-          self.forcecr or self.stripcr or self.pass8bits or self.dropstatus):
-           str = str + " options"
-       if self.keep != UserDefaults.keep:
-           str = str + flag2str(self.keep, 'keep')
-       if self.flush != UserDefaults.flush:
-           str = str + flag2str(self.flush, 'flush')
-       if self.fetchall != UserDefaults.fetchall:
-           str = str + flag2str(self.fetchall, 'fetchall')
-       if self.rewrite != UserDefaults.rewrite:
-           str = str + flag2str(self.rewrite, 'rewrite')
-       if self.forcecr != UserDefaults.forcecr:
-           str = str + flag2str(self.forcecr, 'forcecr')
-       if self.stripcr != UserDefaults.stripcr:
-           str = str + flag2str(self.stripcr, 'stripcr')
-       if self.pass8bits != UserDefaults.pass8bits:
-           str = str + flag2str(self.pass8bits, 'pass8bits')
-       if self.dropstatus != UserDefaults.dropstatus:
-           str = str + flag2str(self.dropstatus, 'dropstatus')
-       if self.limit != UserDefaults.limit:
-           str = str + " limit " + `self.limit`
-       if self.fetchlimit != UserDefaults.fetchlimit:
-           str = str + " fetchlimit " + `self.fetchlimit`
-       if self.batchlimit != UserDefaults.batchlimit:
-           str = str + " batchlimit " + `self.batchlimit`
-
-    def __str__(self):
-       return "[User: " + repr(self) + "]"
-    
-#
-# Helper code
-#
-
-defaultports = {"auto":0,
-               "POP2":109, 
-               "POP3":110, "APOP":110, "KPOP":1109, "IMAP":143,
-               "IMAP-K4":143,
-               "ETRN":25}
-
-protolist = ("auto", "POP2", "POP3", "APOP", "KPOP", "IMAP", "IMAP-K4", "ETRN")
-
-authlist = ("password", "kerberos")
-
-def flag2str(value, string):
-# make a string representation of a .fetchmailrc flag or negated flag
-    str = ""
-    if value != None:
-       str = str + (" ")
-       if value == FALSE: str = str + ("no ")
-       str = str + string;
-    return str
-
-class LabeledEntry(Frame):
-# widget consisting of entry field with caption to left
-    def bind(self, key, action):
-       self.E.bind(key, action)
-    def focus_set(self):
-       self.E.focus_set()
-    def __init__(self, Master, text, textvar, width):
-       Frame.__init__(self, Master)
-       self.L = Label(self, {'text':text, 'width':width, 'anchor':'w'})
-       self.E = Entry(self, {'textvar':textvar})
-       self.L.pack({'side':'left'})
-       self.E.pack({'side':'left', 'expand':'1', 'fill':'x'})
-
-def ButtonBar(frame, legend, ref, alternatives, command):
-# horizontal bar of radio buttons, caption to left, picking from a string list
-    bar = Frame(frame)
-    Label(bar, text=legend).pack(side=LEFT)
-    for alt in alternatives:
-       Radiobutton(bar,
-               {'text':alt, 'variable':ref, 'value':alt, 'command':command}).pack(side=LEFT)
-    bar.pack(side=TOP);
-    return bar
-
-def helpwin(helpdict):
-# help message window with a self-destruct button
-    helpwin = Toplevel()
-    helpwin.title(helpdict['title']) 
-    helpwin.iconname(helpdict['title'])
-    Label(helpwin, text=helpdict['banner']).pack()
-    textwin = Message(helpwin, text=helpdict['text'], width=600)
-    textwin.pack()
-    Button(helpwin, text='Done', 
-          command=lambda x=helpwin: Widget.destroy(x),
-          relief=SUNKEN, bd=2).pack()
-
-class ListEdit(Frame):
-# edit a list of values (duplicates not allowed) with a supplied editor hook 
-    def __init__(self, newlegend, list, editor, master):
-       self.editor = editor
-       self.list = list
-
-       # Set up a widget to accept new sites
-       self.newval = StringVar(master)
-       newwin = LabeledEntry(master, newlegend, self.newval, '16')
-       newwin.bind('<Double-1>', self.handleNew)
-       newwin.bind('<Return>', self.handleNew)
-       newwin.pack(side=TOP, fill=X, anchor=E)
-
-       # Create the sitelist for site-configuration selection
-       listframe = Frame(master)
-       scroll = Scrollbar(listframe)
-       listwidget = Listbox(listframe, height=0, selectmode='browse')
-       if list:
-           for dnsname in list:
-               listwidget.insert('end', dnsname)
-       listframe.pack(side=TOP, expand=YES, fill=BOTH)
-       listwidget.config(yscrollcommand=scroll.set, relief=SUNKEN)
-       listwidget.pack(side=LEFT, expand=YES, fill=BOTH)
-       scroll.config(command=listwidget.yview, relief=SUNKEN)
-       scroll.pack(side=RIGHT, fill=BOTH)
-       listwidget.config(selectmode=SINGLE, setgrid=TRUE)
-       listwidget.bind('<Double-1>', self.handleList);
-       listwidget.bind('<Return>', self.handleList);
-       self.listwidget = listwidget
-
-       bf = Frame(master);
-       if self.editor:
-           Button(bf, text='Edit',   command=self.editItem).pack(side=LEFT)
-       Button(bf, text='Delete', command=self.deleteItem).pack(side=RIGHT)
-       bf.pack(fill=X)
-
-    def handleList(self, event):
-       self.editItem();
-
-    def handleNew(self, event):
-       item = self.newval.get()
-       entire = self.listwidget.get(0, self.listwidget.index('end'));
-       if item and (not entire) or (not item in self.listwidget.get(0, self.listwidget.index('end'))):
-           self.listwidget.insert('end', item)
-           if self.list != None: self.list.append(item)
-       self.newval.set('')
-
-    def editItem(self):
-       index = self.listwidget.curselection()[0]
-       if index and self.editor:
-           label = self.listwidget.get(index);
-           apply(self.editor, (label,))
-
-    def deleteItem(self):
-       index = self.listwidget.curselection()[0]
-       if index:
-           self.listwidget.delete(index)
-           if self.list != None: del self.list[index]
-
-def ConfirmQuit(frame, context):
-    ans = Dialog(frame, 
-                title = 'Quit?',
-                text = 'Really quit ' + context + ' without saving?',
-                bitmap = 'question',
-                strings = ('Yes', 'No'),
-                default = 1)
-    return ans.num == 0
-#
-# First, code to set the global fetchmail run controls.
-#
-
-confighelp = {
-    'title' : 'Fetchmail configurator help',
-    'banner': 'Configurator help',
-    'text' : """
-In the `Configurator Controls' panel, you can:
-
-Press `Save' to save the new fetchmail configuration you have created.
-Press `Quit' to exit without saving.
-Press `Help' to bring up this help message.
-
-In the `Configurator Controls' panel, you can set the following options that
-control how fetchmail runs:
-
-Poll interval
-        Number of seconds to wait between polls in the background.
-        Ignored if the `Run in Foreground?' option is on.
-
-Logfile
-        If empty, emit progress and error messages to stderr.
-        Otherwise this gives the name of the files to write to.
-        This field is ignored if the "Log to syslog?" option is on.
-
-In the `Remote Mail Configurations' panel, you can:
-
-1. Enter the name of a new remote mail server you want fetchmail to query.
-
-To do this, simply enter a label for the poll configuration in the
-`New Server:' box.  The label should be a DNS name of the server (unless
-you are using ssh or some other tunneling method and will fill in the `via'
-option on the site configuration screen).
-
-2. Change the configuration of an existing site.
-
-To do this, find the site's label in the listbox and double-click it.
-This will take you to a site configuration dialogue.
-"""}
-
-class ControlEdit(Frame):
-    def PostControls(self):
-       self.foreground = BooleanVar(self)
-       self.foreground.set(self.controls.foreground)
-       self.daemon = StringVar(self)
-       self.daemon.set(`self.controls.daemon`)
-       self.syslog = BooleanVar(self)
-       self.syslog.set(self.controls.syslog);
-       self.logfile = StringVar(self)
-       if self.controls.logfile: self.logfile.set(self.controls.logfile);
-
-       gf = Frame(self, relief=RAISED, bd = 5)
-
-       Label(gf,
-               text='Fetchmail Run Controls', 
-               bd=2).pack(side=TOP, pady=10)
-
-       df = Frame(gf, relief=RAISED, bd=2)
-
-       # Run in foreground?
-       Checkbutton(df,
-               {'text':'Run in foreground?',
-               'variable':self.foreground,
-               'relief':GROOVE}).pack(side=LEFT,anchor=W)
-
-       # Set the poll interval
-       de = LabeledEntry(df, '     Poll interval:', self.daemon, '14')
-       de.pack(side=RIGHT, anchor=E)
-
-       df.pack();
-
-       sf = Frame(gf, relief=RAISED, bd=2)
-
-       # Use syslog for logging?
-       Checkbutton(sf,
-               {'text':'Log to syslog?',
-               'variable':self.syslog,
-               'relief':GROOVE}).pack(side=LEFT, anchor=W)
-
-       # Set the logfile
-       log = LabeledEntry(sf, '     Logfile:', self.logfile, '14')
-       log.pack(side=RIGHT, anchor=E)
-
-       sf.pack(fill=X)
-       gf.pack(fill=X)
-
-    def GatherControls(self):
-       self.controls.daemon = self.daemon.get()
-       self.controls.foreground = self.foreground.get()
-       self.controls.logfile = self.logfile.get()
-       self.controls.syslog = self.syslog.get()
-
-#
-# Server editing stuff.
-#
-serverhelp = {
-    'title' : 'Server options help',
-    'banner': 'Server Options',
-    'text' : """
-The server options screen controls fetchmail 
-options that apply to one of your mailservers.
-
-Once you have a mailserver configuration set
-up as you like it, you can select `Save' to
-store it in the server list maintained in
-the main configuration window.
-
-If you wish to discard changes to a server 
-configuration, select `Quit'.
-"""}
-
-controlhelp = {
-    'title' : 'Run Control help',
-    'banner': 'Run Controls',
-    'text' : """
-If the `Poll normally' checkbox is on, the host is polled as part of
-the normal operation of fetchmail when it is run with no arguments.
-If it is off, fetchmail will only query this host when it is given as
-a command-line argument.
-
-The `True name of server' box should specify the actual DNS name
-to query. By default this is the same as the poll name.
-
-Normally each host described in the file is queried once each 
-poll cycle. If `Cycles to skip between polls' is greater than 0,
-that's the number of poll cycles that are skipped between the
-times this post is actually polled.
-
-The `Server timeout' is the number of seconds fetchmail will wait
-for a reply from the mailserver before concluding it is hung and
-giving up.
-"""}
-
-protohelp = {
-    'title' : 'Protocol and Port help',
-    'banner': 'Protocol and Port',
-    'text' : """
-These options control the remote-mail protocol
-and TCP/IP service port used to query this
-server.
-
-The `Protocol' button bar offers you a choice of
-all the different protocols available.  The `auto'
-protocol is a special mode that probes the host
-ports for POP3 and IMAP to see if either is
-available.
-
-Normally the TCP/IP service port to use is 
-dictated by the protocol choice.  The `Port'
-field lets you set a non-standard port.
-"""}
-
-sechelp = {
-    'title' : 'Security option help',
-    'banner': 'Security',
-    'text' : """
-These options control the security procedure used
-to protect mail transfer
-
-Normally the mail fetch is validated using an 
-ordinary password logon.  If your server speaks
-MIT Kerberos IV it is possible to pre-authenticate
-the exxchange with a Kerberos ticket.
-
-The `interface' and `monitor' options are available
-only for Linux systems.  See the fetchmail manual page
-for details on these.
-"""}
-
-multihelp = {
-    'title' : 'Multidrop option help',
-    'banner': 'Multidrop',
-    'text' : """
-These options are only useful with multidrop mode.
-See the manual page for extended discussion.
-"""}
-
-class ServerEdit(Frame):
-    def __init__(self, host, sitelist, master=None):
-       Frame.__init__(self, master)
-       Pack.config(self)
-       self.master.title('Fetchmail host ' + host);
-       self.master.iconname('Fetchmail host ' + host);
-       self.server = Server()
-       self.server.pollname = host
-       self.server.via = host
-       self.sitelist = sitelist
-       self.post()
-       self.createWidgets(host)
-
-    def post(self):
-       # we can't abstract this away, execs would happen in the wrong scope
-       for x in self.server.typemap:
-           target = "self." + x[0]
-           source = "self.server." + x[0]
-           if x[1] == 'Boolean':
-               exec target + " = BooleanVar(self)"
-               if eval(source):
-                   exec target + ".set(" + source + ")"
-           elif x[1] == 'String':
-               exec target + " = StringVar(self)"
-               if eval(source):
-                   exec target + ".set(" + source + ")"
-           elif x[1] == 'Int':
-               exec target + " = IntVar(self)"
-               if eval(source):
-                   exec target + ".set(" + source + ")"
-
-    def gather(self):
-       for x in self.server.typemap:
-           setattr(self.server, x[0], getattr(self, x[0]).get())
-
-    def nosave(self):
-       if ConfirmQuit(self, 'server option editing'):
-           Widget.destroy(self.master)
-
-    def save(self):
-       self.gather()
-       self.sitelist.append(self.server) 
-       Widget.destroy(self.master)
-
-    def refreshPort(self):
-       proto = self.protocol.get()
-       self.port.set(defaultports[proto])
-       if not proto in ("POP3", "APOP", "KPOP"): self.uidl = FALSE
-
-    def createWidgets(self, host):
-       topwin = Frame(self, relief=RAISED, bd=5)
-       Label(topwin, text="Server options for " + host).pack(side=TOP,pady=10)
-       Button(topwin, text='Save', fg='blue',
-               command=self.save).pack(side=LEFT)
-       Button(topwin, text='Quit', fg='blue',
-               command=self.nosave).pack(side=LEFT)
-       Button(topwin, text='Help', fg='blue',
-              command=lambda: helpwin(serverhelp)).pack(side=RIGHT)
-       topwin.pack(fill=X)
-
-       ctlwin = Frame(self, relief=RAISED, bd=5)
-       Label(ctlwin, text="Run Controls").pack(side=TOP)
-       Checkbutton(ctlwin, text='Poll ' + host + ' normally?', variable=self.active).pack(side=TOP)
-       LabeledEntry(ctlwin, 'True name of ' + host + ':',
-                     self.via, '30').pack(side=TOP, fill=X)
-       LabeledEntry(ctlwin, 'Cycles to skip between polls:',
-                     self.interval, '30').pack(side=TOP, fill=X)
-       LabeledEntry(ctlwin, 'Server timeout (seconds):',
-                     self.timeout, '30').pack(side=TOP, fill=X)
-       Button(ctlwin, text='Help', fg='blue',
-              command=lambda: helpwin(controlhelp)).pack(side=RIGHT)
-       ctlwin.pack(fill=X)
-
-       protwin = Frame(self, relief=RAISED, bd=5)
-       Label(protwin, text="Protocol and Port").pack(side=TOP)
-       pb = ButtonBar(protwin, 'Protocol:', self.protocol, protolist, self.refreshPort) 
-       LabeledEntry(protwin, 'TCP/IP service port to query:',
-                     self.port, '30').pack(side=TOP, fill=X)
-       Checkbutton(protwin,
-               text="Track seen POP3 messages with client-side UIDL list?",
-               variable=self.uidl).pack(side=TOP)   
-       Button(protwin, text='Help', fg='blue',
-              command=lambda: helpwin(protohelp)).pack(side=RIGHT)
-       protwin.pack(fill=X)
-
-       secwin = Frame(self, relief=RAISED, bd=5)
-       Label(secwin, text="Security").pack(side=TOP)
-       ButtonBar(secwin, 'Authorization mode:',
-                 self.auth, authlist, None).pack(side=TOP)
-
-       if os.popen("uname").readlines()[0] == 'Linux\n':
-           LabeledEntry(secwin, 'Interface to check before polling:',
-                        self.interface, '30').pack(side=TOP, fill=X)
-           LabeledEntry(secwin, 'IP addresses to watch for activity:',
-                        self.monitor, '30').pack(side=TOP, fill=X)
-
-       Button(secwin, text='Help', fg='blue',
-              command=lambda: helpwin(sechelp)).pack(side=RIGHT)
-       secwin.pack(fill=X)
-
-       mdropwin = Frame(self, relief=RAISED, bd=5)
-       Label(mdropwin, text="Multidrop options").pack(side=TOP)
-       LabeledEntry(mdropwin, 'Envelope address header:',
-                     self.envelope, '30').pack(side=TOP, fill=X)
-       Checkbutton(mdropwin, text="Enable multidrop DNS lookup?",
-                   variable=self.dns).pack(side=TOP)
-       Label(mdropwin, text="DNS aliases").pack(side=TOP)
-       ListEdit("New site alias: ", self.server.aka, None, mdropwin)
-       Label(mdropwin, text="Domains to be considered local").pack(side=TOP)
-       ListEdit("New local domain: ", self.server.localdomains, None,mdropwin)
-       Button(mdropwin, text='Help', fg='blue',
-              command=lambda: helpwin(multihelp)).pack(side=RIGHT)
-       mdropwin.pack(fill=X)
-
-       userwin = Frame(self, relief=RAISED, bd=5)
-       Label(userwin, text="User entries for " + host).pack(side=TOP)
-       ListEdit("New user: ", None, self.edituser, userwin)
-       userwin.pack(fill=X)
-
-    def edituser(self, user):
-       UserEdit(user, self.server.userlist, Toplevel())
-
-#
-# User editing stuff
-#
-
-userhelp = {
-    'title' : 'User option help',
-    'banner': 'User options',
-    'text' : """
-FIXME
-"""}
-
-class UserEdit(Frame):
-    def __init__(self, user, userlist, master=None):
-       Frame.__init__(self, master)
-       Pack.config(self)
-       self.master.title('Fetchmail user ' + user);
-       self.master.iconname('Fetchmail user ' + user);
-       self.user = User()
-       self.user.remote = user
-       self.user.localnames = [user]
-       self.userlist = userlist
-       self.post()
-       self.createWidgets(user)
-
-    def post(self):
-       # we can't abstract this away, execs would happen in the wrong scope
-       for x in self.user.typemap:
-           target = "self." + x[0]
-           source = "self.user." + x[0]
-           if x[1] == 'Boolean':
-               exec target + " = BooleanVar(self)"
-               if eval(source):
-                   exec target + ".set(" + source + ")"
-           elif x[1] == 'String':
-               exec target + " = StringVar(self)"
-               if eval(source):
-                   exec target + ".set(" + source + ")"
-           elif x[1] == 'Int':
-               exec target + " = IntVar(self)"
-               if eval(source):
-                   exec target + ".set(" + source + ")"
-
-    def gather(self):
-       for x in self.user.typemap:
-           setattr(self.user, x[0], getattr(self, x[0]).get())
-
-    def nosave(self):
-       if ConfirmQuit(self, 'user option editing'):
-           Widget.destroy(self.master)
-
-    def save(self):
-       self.gather()
-       self.userlist.append(self.user) 
-       Widget.destroy(self.master)
-
-    def createWidgets(self):
-       topwin = Frame(self, relief=RAISED, bd=5)
-       Label(topwin, 
-             text="User options for " + self.user.remote).pack(side=TOP,pady=10)
-       Button(topwin, text='Save', fg='blue',
-               command=self.save).pack(side=LEFT)
-       Button(topwin, text='Quit', fg='blue',
-               command=self.nosave).pack(side=LEFT)
-       Button(topwin, text='Help', fg='blue',
-              command=lambda: helpwin(userhelp)).pack(side=RIGHT)
-       topwin.pack(fill=X)
-
-       secwin = Frame(self, relief=RAISED, bd=5)
-       Label(secwin, text="Authentication").pack(side=TOP)
-       LabeledEntry(mdropwin, 'Password:',
-                     self.password, '30').pack(side=TOP, fill=X)
-       LabeledEntry(mdropwin, 'Remote folder:',
-                    self.folder, '30').pack(side=TOP, fill=X)
-       secwin.pack(fill=X)
-
-       names = Frame(self, relief=RAISED, bd=5)
-       Label(names, text="Local names").pack(side=TOP)
-       ListEdit("New local name: ", self.localnames, None, names)
-       names.pack(fill=X)
-
-       targwin = Frame(self, relief=RAISED, bd=5)
-       Label(targwin, text="Forwarding Options").pack(side=TOP)
-       LabeledEntry(targwin, 'System to forward to:',
-                    self.smtphost, '30').pack(side=TOP, fill=X)
-       LabeledEntry(targwin, 'Connection setup command:',
-                    self.preconnect, '30').pack(side=TOP, fill=X)
-       LabeledEntry(targwin, 'Connection wrapup command:',
-                    self.postconnect, '30').pack(side=TOP, fill=X)
-       LabeledEntry(targwin, 'Local delivery agent:',
-                    self.mda, '30').pack(side=TOP, fill=X)
-       targwin.pack(fill=X)
-
-       optwin = Frame(self, relief=RAISED, bd=5)
-       Checkbutton(optwin, "Suppress deletion of messages after reading",
-                   self.keep)
-       Checkbutton(optwin, "Flush seen messages before retrieval", 
-                   self.flush)
-       Checkbutton(optwin, "Fetch old messages as well as new",
-                   self.fetchall)
-       Checkbutton(optwin, "Rewrite To/Cc/Bcc messages to enable reply", 
-                   self.rewrite)
-       Checkbutton(optwin, "Force CR/LF at end of each line",
-                   self.forcecr)
-       Checkbutton(optwin, "Strip CR from end of eacgh line",
-                   self.stripcr)
-       Checkbutton(optwin, "Pass 8 bits even theough SMTP says 7BIT",
-                   self.pass8bits)
-       Checkbutton(optwin, "Drop Status lines from forwarded messages", 
-                   self.dropstatus)
-       optwin.pack(fill=X)
-
-       limwin = Frame(self, relief=RAISED, bd=5)
-       Label(limwin, text="Resource Limits").pack(side=TOP)
-       LabeledEntry(limwin, 'Message size limit:',
-                     self.limit, '30').pack(side=TOP, fill=X)
-       LabeledEntry(limwin, 'Maximum messages to fetch each poll:',
-                     self.fetchlimit, '30').pack(side=TOP, fill=X)
-       LabeledEntry(limwin, 'Maximum messages to forward each poll:',
-                     self.batchlimit, '30').pack(side=TOP, fill=X)
-       limwin.pack(fill=X)
-
-#
-# Configure drives the configuration dialogue.  It may call multiple
-# instances of ServerEdit to do its job.
-#
-
-class Configure(Frame, ControlEdit):
-    def __init__(self, master=None):
-       Frame.__init__(self, master)
-       self.master.title('fetchmail configurator');
-       self.master.iconname('fetchmail configurator');
-       Pack.config(self)
-       self.MakeDispose()
-       self.controls = Controls()
-       self.PostControls()
-       self.MakeSitelist(master)
-       self.sites = []
-
-    def MakeDispose(self):
-       # Set the disposal of the given configuration
-       dispose = Frame(self, relief=RAISED, bd=5);
-       Label(dispose,
-               text='Configurator Controls', 
-               bd=2).pack(side=TOP, pady=10)
-       Button(dispose, text='Save', fg='blue',
-               command=self.save).pack(side=LEFT)
-       Button(dispose, text='Quit', fg='blue',
-               command=self.nosave).pack(side=LEFT)
-       Button(dispose, text='Help', fg='blue',
-              command=lambda: helpwin(confighelp)).pack(side=RIGHT)
-       dispose.pack(side=TOP, fill=X);
-
-    def MakeSitelist(self, master):
-       lf = Frame(master, relief=RAISED, bd=5)
-       Label(lf,
-             text='Remote Mail Server Configurations', 
-             bd=2).pack(side=TOP, pady=10)
-       ListEdit('New Server:', None, self.editsite, lf)
-       lf.pack(fill=X)
-
-    def editsite(self, site):
-       ServerEdit(site, self.sites, Toplevel())
-
-    def save(self):
-       self.GatherControls()
-       sys.stdout.write("# Configuration created %s\n" % time.ctime(time.time()))
-       sys.stdout.write(`self.controls`)
-       for site in self.sites:
-           sys.stdout.write(`site`)
-           for user in self.sites.userlist:
-               sys.stdout.write(`user`)
-       self.quit()
-
-    def nosave(self):
-       if ConfirmQuit(self, "configuration editor"):
-           self.quit()
-
-if __name__ == '__main__': 
-    ServerDefaults = Server()
-    UserDefaults = User()
-    Configure().mainloop()
-
-# The following sets edit modes for GNU EMACS
-# Local Variables:
-# mode:python
-# End:
diff --git a/test/manual/etags/rs-src/test.rs b/test/manual/etags/rs-src/test.rs
deleted file mode 100644 (file)
index 081d0d7..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-mod test;
-
-enum IpAddrKind {
-    V4,
-    V6,
-}
-
-fn test1() {
-   println!("Testing");
-}
-
-fn main() {
-   test::test1();
-}
diff --git a/test/manual/etags/ruby-src/test.rb b/test/manual/etags/ruby-src/test.rb
deleted file mode 100644 (file)
index adb2cb1..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-module ModuleExample
-    class ClassExample
-        def instance_method
-            puts "in instane_method"
-        end
-        def ClassExample.class_method
-            puts "in class_method"
-        end
-        def instance_method_exclamation!
-            puts "in instance_method_exclamation!"
-        end
-        def instance_method_question?
-            puts "in instance_method_question?"
-        end
-        def instance_method_equals=
-            puts "in instance_method_equals="
-        end
-        def `(command)
-            return "just testing a backquote override"
-        end
-        def +(y)
-            @x + y
-        end
-        def [](y)
-            @ary[y]
-        end
-        def []=(y, val)
-            @ary[y] = val
-        end
-        def <<(y)
-            @x << y
-        end
-        def ==(y)
-            @ary.length == y.ary.length
-        end
-        def <=(y)
-            '@ary.length < y.ary.length'
-        end
-        def <=>(y)
-            nil
-        end
-        def ===(y)
-            self == y
-        end
-    end
-    def module_instance_method
-        puts "in module_instance_method"
-    end
-    def ModuleExample.module_class_method
-        puts "in module_class_method"
-    end
-end
-
-ModuleExample::ClassExample.class_method
-
-# Local Variables:
-# ruby-indent-level: 4
-# End:
diff --git a/test/manual/etags/ruby-src/test1.ru b/test/manual/etags/ruby-src/test1.ru
deleted file mode 100644 (file)
index eafaec6..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-class A
- def a()
-  super(" do ")
- end
- def b()
- end
-end
-
-module A
-  class B
-    ABC = 4
-    Def_ = 'blah'
-    Xyzzy =10
-
-    def foo!
-    end
-
-    def self._bar?(abc)
-    end
-
-    class << self
-      def qux=(tee)
-      end
-    end
-
-    attr_reader :foo
-    attr_reader :read1 , :read2; attr_writer :write1, :write2
-    attr_writer :bar,
-                :baz,
-                :more
-    attr_accessor :tee
-    alias_method :qux, :tee, attr_accessor(:bogus)
-    alias_method :xyz,
-                 :tee ; attr_reader :subtle
-    attr_reader(:foo1, :bar1, # comment
-                :qux1)
-    alias_method ( :foo2, #cmmt
-                   :bar2)
-  end
-end
-
-A::Constant = 5
-
-# def foo_in_comment
-# end
diff --git a/test/manual/etags/scm-src/test.scm b/test/manual/etags/scm-src/test.scm
deleted file mode 100644 (file)
index e3921e7..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-(define hello "Hello, Emacs!")
-
-(set! hello "Hello, world!")
-
-(define (hello-world)
-  (display hello)
-  (newline))
-
-;; Bug 5624
-(define (there-is-a-=-in-the-middle!) #t)
-
-(define =starts-with-equals! #t)
-
-(define (((((curry-test a) b) c) d) e)
-  (list a b c d e))
-
-(define-syntax test-begin
-  (syntax-rules ()
-    ((test-begin exp ...)
-     ((lambda () exp ...)))))
diff --git a/test/manual/etags/tex-src/gzip.texi b/test/manual/etags/tex-src/gzip.texi
deleted file mode 100644 (file)
index 72c5c7e..0000000
+++ /dev/null
@@ -1,479 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c %**start of header
-@setfilename gzip.info
-@settitle Gzip User's Manual
-@finalout
-@setchapternewpage odd
-@c %**end of header
-
-@ifinfo
-This file documents the the GNU @code{gzip} command for compressing files.
-
-Copyright (C) 1992-1993 Jean-loup Gailly
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
-
-@end ignore
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Foundation.
-@end ifinfo
-
-@titlepage
-@title gzip
-@subtitle The data compression program
-@subtitle Edition 1.2.4, for Gzip Version 1.2.4
-@subtitle July 1993
-@author by Jean-loup Gailly
-
-@page
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1992-1993 Jean-loup Gailly
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Foundation.
-@end titlepage
-
-@node Top, , , (dir)
-
-@ifinfo
-This file documents the @code{gzip} command to compress files.
-@end ifinfo
-
-@menu
-* Copying::            How you can copy and share @code{gzip}.
-* Overview::           Preliminary information.
-* Sample::             Sample output from @code{gzip}.
-* Invoking gzip::      How to run @code{gzip}.
-* Advanced usage::     Concatenated files.
-* Environment::                The @code{GZIP} environment variable
-* Tapes::               Using @code{gzip} on tapes.
-* Problems::           Reporting bugs.
-* Concept Index::      Index of concepts.
-@end menu
-
-@node Copying, Overview, , Top
-@include gpl.texinfo
-
-@node Overview, Sample, Copying, Top
-@chapter Overview
-@cindex overview
-
-@code{gzip} reduces the size of the named files using Lempel-Ziv coding
-(LZ77).  Whenever possible, each file is replaced by one with the
-extension @samp{.gz}, while keeping the same ownership modes, access and
-modification times.  (The default extension is @samp{-gz} for VMS,
-@samp{z} for MSDOS, OS/2 FAT and Atari.)  If no files are specified or
-if a file name is "-", the standard input is compressed to the standard
-output. @code{gzip} will only attempt to compress regular files.  In
-particular, it will ignore symbolic links.
-
-If the new file name is too long for its file system, @code{gzip}
-truncates it.  @code{gzip} attempts to truncate only the parts of the
-file name longer than 3 characters.  (A part is delimited by dots.) If
-the name consists of small parts only, the longest parts are truncated.
-For example, if file names are limited to 14 characters, gzip.msdos.exe
-is compressed to gzi.msd.exe.gz.  Names are not truncated on systems
-which do not have a limit on file name length.
-
-By default, @code{gzip} keeps the original file name and timestamp in
-the compressed file. These are used when decompressing the file with the
-@samp{-N} option. This is useful when the compressed file name was
-truncated or when the time stamp was not preserved after a file
-transfer.
-
-Compressed files can be restored to their original form using @samp{gzip -d}
-or @code{gunzip} or @code{zcat}.  If the original name saved in the
-compressed file is not suitable for its file system, a new name is
-constructed from the original one to make it legal.
-
-@code{gunzip} takes a list of files on its command line and replaces
-each file whose name ends with @samp{.gz}, @samp{.z}, @samp{.Z},
-@samp{-gz}, @samp{-z} or @samp{_z} and which begins with the correct
-magic number with an uncompressed file without the original extension.
-@code{gunzip} also recognizes the special extensions @samp{.tgz} and
-@samp{.taz} as shorthands for @samp{.tar.gz} and @samp{.tar.Z}
-respectively. When compressing, @code{gzip} uses the @samp{.tgz}
-extension if necessary instead of truncating a file with a @samp{.tar}
-extension.
-
-@code{gunzip} can currently decompress files created by @code{gzip},
-@code{zip}, @code{compress} or @code{pack}. The detection of the input
-format is automatic.  When using the first two formats, @code{gunzip}
-checks a 32 bit CRC (cyclic redundancy check). For @code{pack},
-@code{gunzip} checks the uncompressed length. The @code{compress} format
-was not designed to allow consistency checks. However @code{gunzip} is
-sometimes able to detect a bad @samp{.Z} file. If you get an error when
-uncompressing a @samp{.Z} file, do not assume that the @samp{.Z} file is
-correct simply because the standard @code{uncompress} does not complain.
-This generally means that the standard @code{uncompress} does not check
-its input, and happily generates garbage output.  The SCO @samp{compress
--H} format (@code{lzh} compression method) does not include a CRC but
-also allows some consistency checks.
-
-Files created by @code{zip} can be uncompressed by @code{gzip} only if
-they have a single member compressed with the 'deflation' method. This
-feature is only intended to help conversion of @code{tar.zip} files to
-the @code{tar.gz} format. To extract @code{zip} files with several
-members, use @code{unzip} instead of @code{gunzip}.
-
-@code{zcat} is identical to @samp{gunzip -c}.  @code{zcat}
-uncompresses either a list of files on the command line or its standard
-input and writes the uncompressed data on standard output.  @code{zcat}
-will uncompress files that have the correct magic number whether they
-have a @samp{.gz} suffix or not.
-
-@code{gzip} uses the Lempel-Ziv algorithm used in @code{zip} and PKZIP@.
-The amount of compression obtained depends on the size of the input and
-the distribution of common substrings.  Typically, text such as source
-code or English is reduced by 60-70%.  Compression is generally much
-better than that achieved by LZW (as used in @code{compress}), Huffman
-coding (as used in @code{pack}), or adaptive Huffman coding
-(@code{compact}).
-
-Compression is always performed, even if the compressed file is slightly
-larger than the original. The worst case expansion is a few bytes for
-the @code{gzip} file header, plus 5 bytes every 32K block, or an expansion
-ratio of 0.015% for large files. Note that the actual number of used
-disk blocks almost never increases. @code{gzip} preserves the mode,
-ownership and timestamps of files when compressing or decompressing.
-
-@node Sample, Invoking gzip, Overview, Top
-@chapter Sample Output
-@cindex sample
-
-Here are some realistic examples of running @code{gzip}.
-
-This is the output of the command @samp{gzip -h}:
-
-@example
-gzip 1.2.4 (18 Aug 93)
-usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]
- -c --stdout      write on standard output, keep original files unchanged
- -d --decompress  decompress
- -f --force       force overwrite of output file and compress links
- -h --help        give this help
- -l --list        list compressed file contents
- -L --license     display software license
- -n --no-name     do not save or restore the original name and time stamp
- -N --name        save or restore the original name and time stamp
- -q --quiet       suppress all warnings
- -r --recursive   operate recursively on directories
- -S .suf  --suffix .suf     use suffix .suf on compressed files
- -t --test        test compressed file integrity
- -v --verbose     verbose mode
- -V --version     display version number
- -1 --fast        compress faster
- -9 --best        compress better
- file...          files to (de)compress. If none given, use standard input.
-@end example
-
-This is the output of the command @samp{gzip -v texinfo.tex}:
-
-@example
-texinfo.tex:             71.6% -- replaced with texinfo.tex.gz
-@end example
-
-The following command will find all @code{gzip} files in the current
-directory and subdirectories, and extract them in place without
-destroying the original:
-
-@example
-find . -name '*.gz' -print | sed 's/^\(.*\)[.]gz$/gunzip < "&" > "\1"/' | sh
-@end example
-
-@node Invoking gzip, Advanced usage, Sample, Top
-@chapter Invoking @code{gzip}
-@cindex invoking
-@cindex options
-
-The format for running the @code{gzip} program is:
-
-@example
-gzip @var{option} @dots{}
-@end example
-
-@code{gzip} supports the following options:
-
-@table @samp
-@item --stdout
-@itemx --to-stdout
-@itemx -c
-Write output on standard output; keep original files unchanged.
-If there are several input files, the output consists of a sequence of
-independently compressed members. To obtain better compression,
-concatenate all input files before compressing them.
-
-@item --decompress
-@itemx --uncompress
-@itemx -d
-Decompress.
-
-@item --force
-@itemx -f
-Force compression or decompression even if the file has multiple links
-or the corresponding file already exists, or if the compressed data
-is read from or written to a terminal. If the input data is not in
-a format recognized by @code{gzip}, and if the option --stdout is also
-given, copy the input data without change to the standard output: let
-@code{zcat} behave as @code{cat}. If @samp{-f} is not given, and
-when not running in the background, @code{gzip} prompts to verify
-whether an existing file should be overwritten.
-
-@item --help
-@itemx -h
-Print an informative help message describing the options then quit.
-
-@item --list
-@itemx -l
-For each compressed file, list the following fields:
-
-@example
-compressed size: size of the compressed file
-uncompressed size: size of the uncompressed file
-ratio: compression ratio (0.0% if unknown)
-uncompressed_name: name of the uncompressed file
-@end example
-
-The uncompressed size is given as @samp{-1} for files not in @code{gzip}
-format, such as compressed @samp{.Z} files. To get the uncompressed size for
-such a file, you can use:
-
-@example
-zcat file.Z | wc -c
-@end example
-
-In combination with the --verbose option, the following fields are also
-displayed:
-
-@example
-method: compression method (deflate,compress,lzh,pack)
-crc: the 32-bit CRC of the uncompressed data
-date & time: time stamp for the uncompressed file
-@end example
-
-The crc is given as ffffffff for a file not in gzip format.
-
-With --verbose, the size totals and compression ratio for all files
-is also displayed, unless some sizes are unknown. With --quiet,
-the title and totals lines are not displayed.
-
-@item --license
-@itemx -L
-Display the @code{gzip} license then quit.
-
-@item --no-name
-@itemx -n
-When compressing, do not save the original file name and time stamp by
-default. (The original name is always saved if the name had to be
-truncated.) When decompressing, do not restore the original file name
-if present (remove only the @code{gzip}
-suffix from the compressed file name) and do not restore the original
-time stamp if present (copy it from the compressed file). This option
-is the default when decompressing.
-
-@item --name
-@itemx -N
-When compressing, always save the original file name and time stamp; this
-is the default. When decompressing, restore the original file name and
-time stamp if present. This option is useful on systems which have
-a limit on file name length or when the time stamp has been lost after
-a file transfer.
-
-@item --quiet
-@itemx -q
-Suppress all warning messages.
-
-@item --recursive
-@itemx -r
-Travel the directory structure recursively. If any of the file names
-specified on the command line are directories, @code{gzip} will descend
-into the directory and compress all the files it finds there (or
-decompress them in the case of @code{gunzip}).
-
-@item --suffix @var{suf}
-@itemx -S @var{suf}
-Use suffix @samp{@var{suf}} instead of @samp{.gz}. Any suffix can be
-given, but suffixes other than @samp{.z} and @samp{.gz} should be
-avoided to avoid confusion when files are transferred to other systems.
-A null suffix forces gunzip to try decompression on all given files
-regardless of suffix, as in:
-
-@example
-gunzip -S "" *        (*.* for MSDOS)
-@end example
-
-Previous versions of gzip used the @samp{.z} suffix. This was changed to
-avoid a conflict with @code{pack}.
-
-@item --test
-@itemx -t
-Test. Check the compressed file integrity.
-
-@item --verbose
-@itemx -v
-Verbose. Display the name and percentage reduction for each file compressed.
-
-@item --version
-@itemx -V
-Version. Display the version number and compilation options, then quit.
-
-@item --fast
-@itemx --best
-@itemx -@var{n}
-Regulate the speed of compression using the specified digit @var{n},
-where @samp{-1} or @samp{--fast} indicates the fastest compression
-method (less compression) and @samp{--best} or @samp{-9} indicates the
-slowest compression method (optimal compression).  The default
-compression level is @samp{-6} (that is, biased towards high compression at
-expense of speed).
-@end table
-
-@node Advanced usage, Environment, Invoking gzip, Top
-@chapter Advanced usage
-@cindex concatenated files
-
-Multiple compressed files can be concatenated. In this case,
-@code{gunzip} will extract all members at once. If one member is
-damaged, other members might still be recovered after removal of the
-damaged member. Better compression can be usually obtained if all
-members are decompressed and then recompressed in a single step.
-
-This is an example of concatenating @code{gzip} files:
-
-@example
-gzip -c file1  > foo.gz
-gzip -c file2 >> foo.gz
-@end example
-
-Then
-
-@example
-gunzip -c foo
-@end example
-
-is equivalent to
-
-@example
-cat file1 file2
-@end example
-
-In case of damage to one member of a @samp{.gz} file, other members can
-still be recovered (if the damaged member is removed). However,
-you can get better compression by compressing all members at once:
-
-@example
-cat file1 file2 | gzip > foo.gz
-@end example
-
-compresses better than
-
-@example
-gzip -c file1 file2 > foo.gz
-@end example
-
-If you want to recompress concatenated files to get better compression, do:
-
-@example
-zcat old.gz | gzip > new.gz
-@end example
-
-If a compressed file consists of several members, the uncompressed
-size and CRC reported by the @samp{--list} option applies to the last member
-only. If you need the uncompressed size for all members, you can use:
-
-@example
-zcat file.gz | wc -c
-@end example
-
-If you wish to create a single archive file with multiple members so
-that members can later be extracted independently, use an archiver such
-as @code{tar} or @code{zip}. GNU @code{tar} supports the @samp{-z}
-option to invoke @code{gzip} transparently. @code{gzip} is designed as a
-complement to @code{tar}, not as a replacement.
-
-@node Environment, Tapes, Advanced usage, Top
-@chapter Environment
-@cindex Environment
-
-The environment variable @code{GZIP} can hold a set of default options for
-@code{gzip}.  These options are interpreted first and can be overwritten by
-explicit command line parameters.  For example:
-
-@example
-for sh:    GZIP="-8v --name"; export GZIP
-for csh:   setenv GZIP "-8v --name"
-for MSDOS: set GZIP=-8v --name
-@end example
-
-On Vax/VMS, the name of the environment variable is @code{GZIP_OPT}, to
-avoid a conflict with the symbol set for invocation of the program.
-
-@node Tapes, Problems, Environment, Top
-@chapter Using @code{gzip} on tapes
-@cindex tapes
-
-When writing compressed data to a tape, it is generally necessary to pad
-the output with zeroes up to a block boundary. When the data is read and
-the whole block is passed to @code{gunzip} for decompression,
-@code{gunzip} detects that there is extra trailing garbage after the
-compressed data and emits a warning by default. You have to use the
-@samp{--quiet} option to suppress the warning. This option can be set in the
-@code{GZIP} environment variable, as in:
-
-@example
-for sh:    GZIP="-q"  tar -xfz --block-compress /dev/rst0
-for csh:   (setenv GZIP "-q"; tar -xfz --block-compress /dev/rst0)
-@end example
-
-In the above example, @code{gzip} is invoked implicitly by the @samp{-z}
-option of GNU @code{tar}.  Make sure that the same block size (@samp{-b}
-option of @code{tar}) is used for reading and writing compressed data on
-tapes.  (This example assumes you are using the GNU version of
-@code{tar}.)
-
-@node Problems, Concept Index, Tapes, Top
-@chapter Reporting Bugs
-@cindex bugs
-
-If you find a bug in @code{gzip}, please send electronic mail to
-@w{@samp{jloup@@chorus.fr}} or, if this fails, to
-@w{@samp{bug-gnu-utils@@prep.ai.mit.edu}}.  Include the version number,
-which you can find by running @w{@samp{gzip -V}}.  Also include in your
-message the hardware and operating system, the compiler used to compile
-@code{gzip},
-a description of the bug behavior, and the input to @code{gzip} that triggered
-the bug.@refill
-
-@node Concept Index, , Problems, Top
-@unnumbered Concept Index
-
-@printindex cp
-
-@contents
-@bye
diff --git a/test/manual/etags/tex-src/nonewline.tex b/test/manual/etags/tex-src/nonewline.tex
deleted file mode 100644 (file)
index 8cc01ce..0000000
+++ /dev/null
@@ -1 +0,0 @@
-% This comment does not end with newline
\ No newline at end of file
diff --git a/test/manual/etags/tex-src/testenv.tex b/test/manual/etags/tex-src/testenv.tex
deleted file mode 100644 (file)
index efb83cb..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-\documentclass[11pt]{report}
-\usepackage{verbatim,amsmath,amssymb,morehelp}
-
-\newcommand{\nm}[2]{\nomenclature{#1}{#2}}
-
-
-\begin{document}
-\section{blah}
-
-MAKE PICTURE
-
-To develop notation, we examine a few particular cases. 
-
-
-\end{document}
diff --git a/test/manual/etags/tex-src/texinfo.tex b/test/manual/etags/tex-src/texinfo.tex
deleted file mode 100644 (file)
index cc8b80a..0000000
+++ /dev/null
@@ -1,3351 +0,0 @@
-%% TeX macros to handle texinfo files
-
-%   Copyright (C) 1985--1986, 1988, 1990--1991, 2016--2024 Free Software
-%   Foundation, Inc.
-
-%This texinfo.tex file is free software; you can redistribute it and/or
-%modify it under the terms of the GNU General Public License as
-%published by the Free Software Foundation; either version 2, or (at
-%your option) any later version.
-
-%This texinfo.tex file is distributed in the hope that it will be
-%useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-%of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-%General Public License for more details.
-
-%You should have received a copy of the GNU General Public License
-%along with this texinfo.tex file; see the file COPYING.  If not, write
-%to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139,
-%USA.
-
-
-%In other words, you are welcome to use, share and improve this program.
-%You are forbidden to forbid anyone else to use, share and improve
-%what you give them.   Help stamp out software-hoarding!
-
-\def\texinfoversion{2.73}
-\message{Loading texinfo package [Version \texinfoversion]:}
-\message{}
-
-% Print the version number if in a .fmt file.
-\everyjob{\message{[Texinfo version \texinfoversion]}\message{}}
-
-% Save some parts of plain tex whose names we will redefine.
-
-\let\ptexlbrace=\{
-\let\ptexrbrace=\}
-\let\ptexdots=\dots
-\let\ptexdot=\.
-\let\ptexstar=\*
-\let\ptexend=\end
-\let\ptexbullet=\bullet
-\let\ptexb=\b
-\let\ptexc=\c
-\let\ptexi=\i
-\let\ptext=\t
-\let\ptexl=\l
-\let\ptexL=\L
-
-\def\tie{\penalty 10000\ }     % Save plain tex definition of ~.
-
-\message{Basics,}
-\chardef\other=12
-
-% If this character appears in an error message or help string, it
-% starts a new line in the output.
-\newlinechar = `^^J
-
-\hyphenation{ap-pen-dix}
-\hyphenation{mini-buf-fer mini-buf-fers}
-\hyphenation{eshell}
-
-% Margin to add to right of even pages, to left of odd pages.
-\newdimen \bindingoffset  \bindingoffset=0pt
-\newdimen \normaloffset   \normaloffset=\hoffset
-\newdimen\pagewidth \newdimen\pageheight
-\pagewidth=\hsize \pageheight=\vsize
-
-% Sometimes it is convenient to have everything in the transcript file
-% and nothing on the terminal.  We don't just call \tracingall here,
-% since that produces some useless output on the terminal.
-%
-\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
-\def\loggingall{\tracingcommands2 \tracingstats2 
-   \tracingpages1 \tracingoutput1 \tracinglostchars1 
-   \tracingmacros2 \tracingparagraphs1 \tracingrestores1 
-   \showboxbreadth\maxdimen\showboxdepth\maxdimen
-}%
-
-%---------------------Begin change-----------------------
-%
-%%%% For @cropmarks command.
-% Dimensions to add cropmarks at corners Added by P. A. MacKay, 12 Nov. 1986
-%
-\newdimen\cornerlong \newdimen\cornerthick
-\newdimen \topandbottommargin
-\newdimen \outerhsize \newdimen \outervsize
-\cornerlong=1pc\cornerthick=.3pt       % These set size of cropmarks
-\outerhsize=7in
-%\outervsize=9.5in
-% Alternative @smallbook page size is 9.25in
-\outervsize=9.25in
-\topandbottommargin=.75in
-%
-%---------------------End change-----------------------
-
-% \onepageout takes a vbox as an argument.  Note that \pagecontents
-% does insertions itself, but you have to call it yourself.
-\chardef\PAGE=255  \output={\onepageout{\pagecontents\PAGE}}
-\def\onepageout#1{\hoffset=\normaloffset
-\ifodd\pageno  \advance\hoffset by \bindingoffset
-\else \advance\hoffset by -\bindingoffset\fi
-{\escapechar=`\\\relax % makes sure backslash is used in output files.
-\shipout\vbox{{\let\hsize=\pagewidth \makeheadline} \pagebody{#1}%
-{\let\hsize=\pagewidth \makefootline}}}%
-\advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi}
-
-%%%% For @cropmarks command %%%%
-
-% Here is a modification of the main output routine for Near East Publications
-% This provides right-angle cropmarks at all four corners.
-% The contents of the page are centerlined into the cropmarks,
-% and any desired binding offset is added as an \hskip on either
-% site of the centerlined box.  (P. A. MacKay, 12 November, 1986)
-%
-\def\croppageout#1{\hoffset=0pt % make sure this doesn't mess things up
-                \shipout
-                \vbox to \outervsize{\hsize=\outerhsize
-                 \vbox{\line{\ewtop\hfill\ewtop}}
-                 \nointerlineskip
-                 \line{\vbox{\moveleft\cornerthick\nstop}
-                       \hfill
-                       \vbox{\moveright\cornerthick\nstop}}
-                 \vskip \topandbottommargin
-                 \centerline{\ifodd\pageno\hskip\bindingoffset\fi
-                       \vbox{
-                       {\let\hsize=\pagewidth \makeheadline}
-                       \pagebody{#1}
-                       {\let\hsize=\pagewidth \makefootline}}
-                       \ifodd\pageno\else\hskip\bindingoffset\fi}
-                \vskip \topandbottommargin plus1fill minus1fill
-                 \boxmaxdepth\cornerthick
-                 \line{\vbox{\moveleft\cornerthick\nsbot}
-                       \hfill
-                       \vbox{\moveright\cornerthick\nsbot}}
-                 \nointerlineskip
-                 \vbox{\line{\ewbot\hfill\ewbot}}
-       }
-  \advancepageno 
-  \ifnum\outputpenalty>-20000 \else\dosupereject\fi}
-%
-% Do @cropmarks to get crop marks
-\def\cropmarks{\let\onepageout=\croppageout }
-
-\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
-{\catcode`\@ =11
-\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
-\dimen@=\dp#1 \unvbox#1
-\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
-\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
-}
-
-%
-% Here are the rules for the cropmarks.  Note that they are
-% offset so that the space between them is truly \outerhsize or \outervsize
-% (P. A. MacKay, 12 November, 1986)
-%
-\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
-\def\nstop{\vbox
-  {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
-\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
-\def\nsbot{\vbox
-  {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
-
-% Parse an argument, then pass it to #1.
-% The argument can be delimited with [...] or with "..." or braces
-% or it can be a whole line.
-% #1 should be a macro which expects
-% an ordinary undelimited TeX argument.
-
-\def\parsearg #1{\let\next=#1\begingroup\obeylines\futurelet\temp\parseargx}
-
-\def\parseargx{%
-\ifx \obeyedspace\temp \aftergroup\parseargdiscardspace \else%
-\aftergroup \parseargline %
-\fi \endgroup}
-
-{\obeyspaces %
-\gdef\parseargdiscardspace {\begingroup\obeylines\futurelet\temp\parseargx}}
-
-\gdef\obeyedspace{\ }
-
-\def\parseargline{\begingroup \obeylines \parsearglinex}
-{\obeylines %
-\gdef\parsearglinex #1^^M{\endgroup \next {#1}}}
-
-\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
-
-%% These are used to keep @begin/@end levels from running away
-%% Call \inENV within environments (after a \begingroup)
-\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi}
-\def\ENVcheck{%
-\ifENV\errmessage{Still within an environment.  Type Return to continue.}
-\endgroup\fi} % This is not perfect, but it should reduce lossage
-
-% @begin foo  is the same as @foo, for now.
-\newhelp\EMsimple{Type <Return> to continue}
-
-\outer\def\begin{\parsearg\beginxxx}
-
-\def\beginxxx #1{%
-\expandafter\ifx\csname #1\endcsname\relax
-{\errhelp=\EMsimple \errmessage{Undefined command @begin #1}}\else
-\csname #1\endcsname\fi}
-
-%% @end foo executes the definition of \Efoo.
-%% foo can be delimited by doublequotes or brackets.
-
-\def\end{\parsearg\endxxx}
-
-\def\endxxx #1{%
-\expandafter\ifx\csname E#1\endcsname\relax
-\expandafter\ifx\csname #1\endcsname\relax
-\errmessage{Undefined command @end #1}\else
-\errorE{#1}\fi\fi
-\csname E#1\endcsname}
-\def\errorE#1{
-{\errhelp=\EMsimple \errmessage{@end #1 not within #1 environment}}}
-
-% Single-spacing is done by various environments.
-
-\newskip\singlespaceskip \singlespaceskip = \baselineskip
-\def\singlespace{%
-{\advance \baselineskip by -\singlespaceskip
-\kern \baselineskip}%
-\baselineskip=\singlespaceskip
-}
-
-%% Simple single-character @ commands
-
-% @@ prints an @
-% Kludge this until the fonts are right (grr).
-\def\@{{\tt \char '100}}
-
-% Define @` and @' to be the same as ` and '
-% but suppressing ligatures.
-\def\`{{`}}
-\def\'{{'}}
-
-% Used to generate quoted braces.
-
-\def\mylbrace {{\tt \char '173}}
-\def\myrbrace {{\tt \char '175}}
-\let\{=\mylbrace
-\let\}=\myrbrace
-
-% @: forces normal size whitespace following.
-\def\:{\spacefactor=1000 }
-
-% @* forces a line break.
-\def\*{\hfil\break\hbox{}\ignorespaces}
-
-% @. is an end-of-sentence period.
-\def\.{.\spacefactor=3000 }
-
-% @w prevents a word break.  Without the \leavevmode, @w at the
-% beginning of a paragraph, when TeX is still in vertical mode, would
-% produce a whole line of output instead of starting the paragraph.
-\def\w#1{\leavevmode\hbox{#1}}
-
-% @group ... @end group forces ... to be all on one page, by enclosing
-% it in a TeX vbox.  We use \vtop instead of \vbox to construct the box
-% to keep its height that of a normal line.  According to the rules for
-% \topskip (p.114 of the TeXbook), the glue inserted is
-% max (\topskip - \ht (first item), 0).  If that height is large,
-% therefore, no glue is inserted, and the space between the headline and
-% the text is small, which looks bad.
-% 
-\def\group{\begingroup
-  \ifnum\catcode13=\active \else
-    \errhelp = \groupinvalidhelp
-    \errmessage{@group invalid in context where filling is enabled}%
-  \fi
-  \def\Egroup{\egroup\endgroup}%
-  \vtop\bgroup
-}
-%
-% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
-% message, so this ends up printing `@group can only ...'.
-% 
-\newhelp\groupinvalidhelp{%
-group can only be used in environments such as @example,^^J%
-where each line of input produces a line of output.}
-
-% @need space-in-mils
-% forces a page break if there is not space-in-mils remaining.
-
-\newdimen\mil  \mil=0.001in
-
-\def\need{\parsearg\needx}
-
-% Old definition--didn't work.
-%\def\needx #1{\par %
-%% This method tries to make TeX break the page naturally
-%% if the depth of the box does not fit.
-%{\baselineskip=0pt%
-%\vtop to #1\mil{\vfil}\kern -#1\mil\penalty 10000
-%\prevdepth=-1000pt
-%}}
-
-\def\needx#1{%
-  % Go into vertical mode, so we don't make a big box in the middle of a
-  % paragraph.
-  \par
-  %
-  % Don't add any leading before our big empty box, but allow a page
-  % break, since the best break might be right here.
-  \allowbreak
-  \nointerlineskip
-  \vtop to #1\mil{\vfil}%
-  % 
-  % TeX does not even consider page breaks if a penalty added to the
-  % main vertical list is 10000 or more.  But in order to see if the
-  % empty box we just added fits on the page, we must make it consider
-  % page breaks.  On the other hand, we don't want to actually break the
-  % page after the empty box.  So we use a penalty of 9999.
-  % 
-  % There is an extremely small chance that TeX will actually break the
-  % page at this \penalty, if there are no other feasible breakpoints in
-  % sight.  (If the user is using lots of big @group commands, which
-  % almost-but-not-quite fill up a page, TeX will have a hard time doing
-  % good page breaking, for example.)  However, I could not construct an
-  % example where a page broke at this \penalty; if it happens in a real
-  % document, then we can reconsider our strategy.
-  \penalty9999
-  %
-  % Back up by the size of the box, whether we did a page break or not.
-  \kern -#1\mil
-  %
-  % Do not allow a page break right after this kern.
-  \nobreak
-}
-
-% @br   forces paragraph break
-
-\let\br = \par
-
-% @dots{}  output some dots
-
-\def\dots{$\ldots$}
-
-% @page    forces the start of a new page
-
-\def\page{\par\vfill\supereject}
-
-% @exdent text....
-% outputs text on separate line in roman font, starting at standard page margin
-
-% This records the amount of indent in the innermost environment.
-% That's how much \exdent should take out.
-\newskip\exdentamount
-
-% This defn is used inside fill environments such as @defun.
-\def\exdent{\parsearg\exdentyyy}
-\def\exdentyyy #1{{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}}
-
-% This defn is used inside nofill environments such as @example.
-\def\nofillexdent{\parsearg\nofillexdentyyy}
-\def\nofillexdentyyy #1{{\advance \leftskip by -\exdentamount
-\leftline{\hskip\leftskip{\rm#1}}}}
-
-%\hbox{{\rm#1}}\hfil\break}}
-
-% @include file    insert text of that file as input.
-
-\def\include{\parsearg\includezzz}
-\def\includezzz #1{{\def\thisfile{#1}\input #1
-}}
-
-\def\thisfile{}
-
-% @center line   outputs that line, centered
-
-\def\center{\parsearg\centerzzz}
-\def\centerzzz #1{{\advance\hsize by -\leftskip
-\advance\hsize by -\rightskip
-\centerline{#1}}}
-
-% @sp n   outputs n lines of vertical space
-
-\def\sp{\parsearg\spxxx}
-\def\spxxx #1{\par \vskip #1\baselineskip}
-
-% @comment ...line which is ignored...
-% @c is the same as @comment
-% @ignore ... @end ignore  is another way to write a comment
-
-\def\comment{\catcode 64=\other \catcode 123=\other \catcode 125=\other%
-\parsearg \commentxxx}
-
-\def\commentxxx #1{\catcode 64=0 \catcode 123=1 \catcode 125=2 }
-
-\let\c=\comment
-
-% Prevent errors for section commands.
-% Used in @ignore and in failing conditionals.
-\def\ignoresections{%
-\let\chapter=\relax
-\let\unnumbered=\relax
-\let\top=\relax
-\let\unnumberedsec=\relax
-\let\unnumberedsection=\relax
-\let\unnumberedsubsec=\relax
-\let\unnumberedsubsection=\relax
-\let\unnumberedsubsubsec=\relax
-\let\unnumberedsubsubsection=\relax
-\let\section=\relax
-\let\subsec=\relax
-\let\subsubsec=\relax
-\let\subsection=\relax
-\let\subsubsection=\relax
-\let\appendix=\relax
-\let\appendixsec=\relax
-\let\appendixsection=\relax
-\let\appendixsubsec=\relax
-\let\appendixsubsection=\relax
-\let\appendixsubsubsec=\relax
-\let\appendixsubsubsection=\relax
-\let\contents=\relax
-\let\smallbook=\relax
-\let\titlepage=\relax
-}
-
-\def\ignore{\begingroup\ignoresections
-% Make sure that spaces turn into tokens that match what \ignorexxx wants.
-\catcode32=10
-\ignorexxx}
-\long\def\ignorexxx #1\end ignore{\endgroup\ignorespaces}
-
-\def\direntry{\begingroup\direntryxxx}
-\long\def\direntryxxx #1\end direntry{\endgroup\ignorespaces}
-
-% Conditionals to test whether a flag is set.
-
-\def\ifset{\begingroup\ignoresections\parsearg\ifsetxxx}
-
-\def\ifsetxxx #1{\endgroup
-\expandafter\ifx\csname IF#1\endcsname\relax \let\temp=\ifsetfail
-\else \let\temp=\relax \fi
-\temp}
-\def\Eifset{}
-\def\ifsetfail{\begingroup\ignoresections\ifsetfailxxx}
-\long\def\ifsetfailxxx #1\end ifset{\endgroup\ignorespaces}
-
-\def\ifclear{\begingroup\ignoresections\parsearg\ifclearxxx}
-
-\def\ifclearxxx #1{\endgroup
-\expandafter\ifx\csname IF#1\endcsname\relax \let\temp=\relax
-\else \let\temp=\ifclearfail \fi
-\temp}
-\def\Eifclear{}
-\def\ifclearfail{\begingroup\ignoresections\ifclearfailxxx}
-\long\def\ifclearfailxxx #1\end ifclear{\endgroup\ignorespaces}
-
-% @set foo     to set the flag named foo.
-% @clear foo   to clear the flag named foo.
-\def\set{\parsearg\setxxx}
-\def\setxxx #1{
-\expandafter\let\csname IF#1\endcsname=\set}
-
-\def\clear{\parsearg\clearxxx}
-\def\clearxxx #1{
-\expandafter\let\csname IF#1\endcsname=\relax}
-
-% Some texinfo constructs that are trivial in tex
-
-\def\iftex{}
-\def\Eiftex{}
-\def\ifinfo{\begingroup\ignoresections\ifinfoxxx}
-\long\def\ifinfoxxx #1\end ifinfo{\endgroup\ignorespaces}
-
-\long\def\menu #1\end menu{}
-\def\asis#1{#1}
-
-% @math means output in math mode.
-% We don't use $'s directly in the definition of \math because control
-% sequences like \math are expanded when the toc file is written.  Then,
-% we read the toc file back, the $'s will be normal characters (as they
-% should be, according to the definition of Texinfo).  So we must use a
-% control sequence to switch into and out of math mode.
-% 
-% This isn't quite enough for @math to work properly in indices, but it
-% seems unlikely it will ever be needed there.
-% 
-\let\implicitmath = $
-\def\math#1{\implicitmath #1\implicitmath}
-
-\def\node{\ENVcheck\parsearg\nodezzz}
-\def\nodezzz#1{\nodexxx [#1,]}
-\def\nodexxx[#1,#2]{\gdef\lastnode{#1}}
-\let\lastnode=\relax
-
-\def\donoderef{\ifx\lastnode\relax\else
-\expandafter\expandafter\expandafter\setref{\lastnode}\fi
-\let\lastnode=\relax}
-
-\def\unnumbnoderef{\ifx\lastnode\relax\else
-\expandafter\expandafter\expandafter\unnumbsetref{\lastnode}\fi
-\let\lastnode=\relax}
-
-\def\appendixnoderef{\ifx\lastnode\relax\else
-\expandafter\expandafter\expandafter\appendixsetref{\lastnode}\fi
-\let\lastnode=\relax}
-
-\let\refill=\relax
-  
-% @setfilename is done at the beginning of every texinfo file.
-% So open here the files we need to have open while reading the input.
-% This makes it possible to make a .fmt file for texinfo.
-\def\setfilename{%
-   \readauxfile
-   \opencontents
-   \openindices
-   \fixbackslash  % Turn off hack to swallow `\input texinfo'.
-   \global\let\setfilename=\comment % Ignore extra @setfilename cmds.
-   \comment % Ignore the actual filename.
-}
-
-\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
-
-\def\inforef #1{\inforefzzz #1,,,,**}
-\def\inforefzzz #1,#2,#3,#4**{See Info file \file{\losespace#3{}},
-  node \samp{\losespace#1{}}}
-\def\losespace #1{#1}
-
-\message{fonts,}
-
-% Font-change commands.
-
-% Texinfo supports the sans serif font style, which plain TeX does not.
-% So we set up a \sf analogous to plain's \rm, etc.
-\newfam\sffam
-\def\sf{\fam=\sffam \tensf}
-\let\li = \sf % Sometimes we call it \li, not \sf.
-
-%% Try out Computer Modern fonts at \magstephalf
-\let\mainmagstep=\magstephalf
-
-\ifx\bigger\relax
-\let\mainmagstep=\magstep1
-\font\textrm=cmr12
-\font\texttt=cmtt12
-\else
-\font\textrm=cmr10 scaled \mainmagstep
-\font\texttt=cmtt10 scaled \mainmagstep
-\fi
-% Instead of cmb10, you many want to use cmbx10.
-% cmbx10 is a prettier font on its own, but cmb10
-% looks better when embedded in a line with cmr10.
-\font\textbf=cmb10 scaled \mainmagstep 
-\font\textit=cmti10 scaled \mainmagstep
-\font\textsl=cmsl10 scaled \mainmagstep
-\font\textsf=cmss10 scaled \mainmagstep
-\font\textsc=cmcsc10 scaled \mainmagstep
-\font\texti=cmmi10 scaled \mainmagstep
-\font\textsy=cmsy10 scaled \mainmagstep
-
-% A few fonts for @defun, etc.
-\font\defbf=cmbx10 scaled \magstep1 %was 1314
-\font\deftt=cmtt10 scaled \magstep1
-\def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf}
-
-% Fonts for indices and small examples.
-% We actually use the slanted font rather than the italic, 
-% because texinfo normally uses the slanted fonts for that.
-% Do not make many font distinctions in general in the index, since they
-% aren't very useful.
-\font\ninett=cmtt9
-\font\indrm=cmr9
-\font\indit=cmsl9
-\let\indsl=\indit
-\let\indtt=\ninett
-\let\indsf=\indrm
-\let\indbf=\indrm
-\let\indsc=\indrm
-\font\indi=cmmi9
-\font\indsy=cmsy9
-
-% Fonts for headings
-\font\chaprm=cmbx12 scaled \magstep2
-\font\chapit=cmti12 scaled \magstep2
-\font\chapsl=cmsl12 scaled \magstep2
-\font\chaptt=cmtt12 scaled \magstep2
-\font\chapsf=cmss12 scaled \magstep2
-\let\chapbf=\chaprm
-\font\chapsc=cmcsc10 scaled\magstep3
-\font\chapi=cmmi12 scaled \magstep2
-\font\chapsy=cmsy10 scaled \magstep3
-
-\font\secrm=cmbx12 scaled \magstep1
-\font\secit=cmti12 scaled \magstep1
-\font\secsl=cmsl12 scaled \magstep1
-\font\sectt=cmtt12 scaled \magstep1
-\font\secsf=cmss12 scaled \magstep1
-\font\secbf=cmbx12 scaled \magstep1
-\font\secsc=cmcsc10 scaled\magstep2
-\font\seci=cmmi12 scaled \magstep1
-\font\secsy=cmsy10 scaled \magstep2
-
-% \font\ssecrm=cmbx10 scaled \magstep1    % This size an font looked bad.
-% \font\ssecit=cmti10 scaled \magstep1    % The letters were too crowded.
-% \font\ssecsl=cmsl10 scaled \magstep1
-% \font\ssectt=cmtt10 scaled \magstep1
-% \font\ssecsf=cmss10 scaled \magstep1
-
-%\font\ssecrm=cmb10 scaled 1315        % Note the use of cmb rather than cmbx.
-%\font\ssecit=cmti10 scaled 1315       % Also, the size is a little larger than
-%\font\ssecsl=cmsl10 scaled 1315       % being scaled magstep1.
-%\font\ssectt=cmtt10 scaled 1315
-%\font\ssecsf=cmss10 scaled 1315
-
-%\let\ssecbf=\ssecrm
-
-\font\ssecrm=cmbx12 scaled \magstephalf
-\font\ssecit=cmti12 scaled \magstephalf
-\font\ssecsl=cmsl12 scaled \magstephalf
-\font\ssectt=cmtt12 scaled \magstephalf
-\font\ssecsf=cmss12 scaled \magstephalf
-\font\ssecbf=cmbx12 scaled \magstephalf
-\font\ssecsc=cmcsc10 scaled \magstep1 
-\font\sseci=cmmi12 scaled \magstephalf
-\font\ssecsy=cmsy10 scaled \magstep1
-% The smallcaps and symbol fonts should actually be scaled \magstep1.5,
-% but that is not a standard magnification.
-
-% Fonts for title page:
-\font\titlerm = cmbx12 scaled \magstep3
-\let\authorrm = \secrm
-
-% In order for the font changes to affect most math symbols and letters,
-% we have to define the \textfont of the standard families.  Since
-% texinfo doesn't allow for producing subscripts and superscripts, we
-% don't bother to reset \scriptfont and \scriptscriptfont (which would
-% also require loading a lot more fonts).
-% 
-\def\resetmathfonts{%
-  \textfont0 = \tenrm \textfont1 = \teni \textfont2 = \tensy
-  \textfont\itfam = \tenit \textfont\slfam = \tensl \textfont\bffam = \tenbf
-  \textfont\ttfam = \tentt \textfont\sffam = \tensf
-}
-
-
-% The font-changing commands redefine the meanings of \tenSTYLE, instead
-% of just \STYLE.  We do this so that font changes will continue to work
-% in math mode, where it is the current \fam that is relevant in most
-% cases, not the current.  Plain TeX does, for example,
-% \def\bf{\fam=\bffam \tenbf}  By redefining \tenbf, we obviate the need
-% to redefine \bf itself.  
-\def\textfonts{%
-  \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
-  \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
-  \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
-  \resetmathfonts}
-\def\chapfonts{%
-  \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl 
-  \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
-  \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
-  \resetmathfonts}
-\def\secfonts{%
-  \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
-  \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
-  \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
-  \resetmathfonts}
-\def\subsecfonts{%
-  \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
-  \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
-  \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
-  \resetmathfonts}
-\def\indexfonts{%
-  \let\tenrm=\indrm \let\tenit=\indit \let\tensl=\indsl
-  \let\tenbf=\indbf \let\tentt=\indtt \let\smallcaps=\indsc
-  \let\tensf=\indsf \let\teni=\indi \let\tensy=\indsy
-  \resetmathfonts}
-
-% Set up the default fonts, so we can use them for creating boxes.
-% 
-\textfonts
-
-% Count depth in font-changes, for error checks
-\newcount\fontdepth \fontdepth=0
-
-% Fonts for short table of contents.
-\font\shortcontrm=cmr12
-\font\shortcontbf=cmbx12
-\font\shortcontsl=cmsl12
-
-%% Add scribe-like font environments, plus @l for inline lisp (usually sans
-%% serif) and @ii for TeX italic
-
-% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
-% unless the following character is such as not to need one.
-\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi}
-\def\smartitalic#1{{\sl #1}\futurelet\next\smartitalicx}
-
-\let\i=\smartitalic
-\let\var=\smartitalic
-\let\dfn=\smartitalic
-\let\emph=\smartitalic
-\let\cite=\smartitalic
-
-\def\b#1{{\bf #1}}
-\let\strong=\b
-
-\def\t#1{{\tt \exhyphenpenalty=10000\rawbackslash \frenchspacing #1}\null}
-\let\ttfont = \t
-%\def\samp #1{`{\tt \rawbackslash \frenchspacing #1}'\null}
-\def\samp #1{`\tclose{#1}'\null}
-\def\key #1{{\tt \exhyphenpenalty=10000\uppercase{#1}}\null}
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-
-\let\file=\samp
-
-% @code is a modification of @t,
-% which makes spaces the same size as normal in the surrounding text.
-\newdimen\tclosesave
-\newdimen\tcloserm
-\def\tclose#1{{\rm \tcloserm=\fontdimen2\font \tt \tclosesave=\fontdimen2\font
-\fontdimen2\font=\tcloserm
-% prevent breaking lines at hyphens.
-\exhyphenpenalty=10000
-\def\ {{\fontdimen2\font=\tclosesave{} }}%
- \rawbackslash \frenchspacing #1\fontdimen2\font=\tclosesave}\null}
-\let\code=\tclose
-%\let\exp=\tclose  %Was temporary
-
-% @kbd is like @code, except that if the argument is just one @key command, 
-% then @kbd has no effect.
-
-\def\xkey{\key}
-\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else\tclose{\look}\fi
-\else\tclose{\look}\fi}
-
-% Typeset a dimension, e.g., `in' or `pt'.  The only reason for the
-% argument is to make the input look right: @dmn{pt} instead of
-% @dmn{}pt.
-% 
-\def\dmn#1{\thinspace #1}
-
-\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
-
-\def\l#1{{\li #1}\null}                % 
-
-\def\r#1{{\rm #1}}             % roman font
-% Use of \lowercase was suggested.
-\def\sc#1{{\smallcaps#1}}      % smallcaps font
-\def\ii#1{{\it #1}}            % italic font
-
-\message{page headings,}
-
-\newskip\titlepagetopglue \titlepagetopglue = 1.5in
-\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
-
-% First the title page.  Must do @settitle before @titlepage.
-\def\titlefont#1{{\titlerm #1}}
-
-\newtoks\realeverypar
-\newif\ifseenauthor
-\newif\iffinishedtitlepage
-
-\def\titlepage{\begingroup \parindent=0pt \textfonts
-   \let\subtitlerm=\tenrm
-% I deinstalled the following change because \cmr12 is undefined.
-% This change was not in the ChangeLog anyway.  --rms.
-%   \let\subtitlerm=\cmr12
-   \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}%
-   %
-   \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines}%
-   %
-   % Leave some space at the very top of the page.
-   \vglue\titlepagetopglue
-   %
-   % Now you can print the title using @title.
-   \def\title{\parsearg\titlezzz}%
-   \def\titlezzz##1{\leftline{\titlefont{##1}}
-                   % print a rule at the page bottom also.
-                   \finishedtitlepagefalse
-                   \vskip4pt \hrule height 4pt \vskip4pt}%
-   % No rule at page bottom unless we print one at the top with @title.
-   \finishedtitlepagetrue
-   %
-   % Now you can put text using @subtitle.
-   \def\subtitle{\parsearg\subtitlezzz}%
-   \def\subtitlezzz##1{{\subtitlefont \rightline{##1}}}%
-   %
-   % @author should come last, but may come many times.
-   \def\author{\parsearg\authorzzz}%
-   \def\authorzzz##1{\ifseenauthor\else\vskip 0pt plus 1filll\seenauthortrue\fi
-      {\authorfont \leftline{##1}}}%
-   %  
-   % Most title ``pages'' are actually two pages long, with space
-   % at the top of the second.  We don't want the ragged left on the second.
-   \let\oldpage = \page
-   \def\page{%
-      \iffinishedtitlepage\else
-        \finishtitlepage
-      \fi
-      \oldpage
-      \let\page = \oldpage
-      \hbox{}}%
-%   \def\page{\oldpage \hbox{}}
-}
-
-\def\Etitlepage{%
-   \iffinishedtitlepage\else
-      \finishtitlepage
-   \fi
-   % It is important to do the page break before ending the group,
-   % because the headline and footline are only empty inside the group.
-   % If we use the new definition of \page, we always get a blank page
-   % after the title page, which we certainly don't want.
-   \oldpage
-   \endgroup
-   \HEADINGSon
-}
-
-\def\finishtitlepage{%
-   \vskip4pt \hrule height 2pt
-   \vskip\titlepagebottomglue
-   \finishedtitlepagetrue
-}
-
-%%% Set up page headings and footings.
-
-\let\thispage=\folio
-
-\newtoks \evenheadline    % Token sequence for heading line of even pages
-\newtoks \oddheadline     % Token sequence for heading line of odd pages
-\newtoks \evenfootline    % Token sequence for footing line of even pages
-\newtoks \oddfootline     % Token sequence for footing line of odd pages
-
-% Now make Tex use those variables
-\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
-                            \else \the\evenheadline \fi}}
-\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
-                            \else \the\evenfootline \fi}\HEADINGShook}
-\let\HEADINGShook=\relax
-
-% Commands to set those variables.
-% For example, this is what  @headings on  does
-% @evenheading @thistitle|@thispage|@thischapter
-% @oddheading @thischapter|@thispage|@thistitle
-% @evenfooting @thisfile||
-% @oddfooting ||@thisfile
-
-\def\evenheading{\parsearg\evenheadingxxx}
-\def\oddheading{\parsearg\oddheadingxxx}
-\def\everyheading{\parsearg\everyheadingxxx}
-
-\def\evenfooting{\parsearg\evenfootingxxx}
-\def\oddfooting{\parsearg\oddfootingxxx}
-\def\everyfooting{\parsearg\everyfootingxxx}
-
-{\catcode`\@=0 %
-
-\gdef\evenheadingxxx #1{\evenheadingyyy #1@|@|@|@|\finish}
-\gdef\evenheadingyyy #1@|#2@|#3@|#4\finish{%
-\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\oddheadingxxx #1{\oddheadingyyy #1@|@|@|@|\finish}
-\gdef\oddheadingyyy #1@|#2@|#3@|#4\finish{%
-\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\everyheadingxxx #1{\everyheadingyyy #1@|@|@|@|\finish}
-\gdef\everyheadingyyy #1@|#2@|#3@|#4\finish{%
-\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}
-\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\evenfootingxxx #1{\evenfootingyyy #1@|@|@|@|\finish}
-\gdef\evenfootingyyy #1@|#2@|#3@|#4\finish{%
-\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\oddfootingxxx #1{\oddfootingyyy #1@|@|@|@|\finish}
-\gdef\oddfootingyyy #1@|#2@|#3@|#4\finish{%
-\global\oddfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\everyfootingxxx #1{\everyfootingyyy #1@|@|@|@|\finish}
-\gdef\everyfootingyyy #1@|#2@|#3@|#4\finish{%
-\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}
-\global\oddfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-%
-}% unbind the catcode of @.
-
-% @headings double     turns headings on for double-sided printing.
-% @headings single     turns headings on for single-sided printing.
-% @headings off                turns them off.
-% @headings on         same as @headings double, retained for compatibility.
-% @headings after      turns on double-sided headings after this page.
-% @headings doubleafter        turns on double-sided headings after this page.
-% @headings singleafter turns on single-sided headings after this page.
-% By default, they are off.
-
-\def\headings #1 {\csname HEADINGS#1\endcsname}
-
-\def\HEADINGSoff{
-\global\evenheadline={\hfil} \global\evenfootline={\hfil}
-\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
-\HEADINGSoff
-% When we turn headings on, set the page number to 1.
-% For double-sided printing, put current file name in lower left corner,
-% chapter name on inside top of right hand pages, document
-% title on inside top of left hand pages, and page numbers on outside top
-% edge of all pages.
-\def\HEADINGSdouble{
-%\pagealignmacro
-\global\pageno=1
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-}
-% For single-sided printing, chapter title goes across top left of page,
-% page number on top right.
-\def\HEADINGSsingle{
-%\pagealignmacro
-\global\pageno=1
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\thischapter\hfil\folio}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-}
-\def\HEADINGSon{\HEADINGSdouble}
-
-\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
-\let\HEADINGSdoubleafter=\HEADINGSafter
-\def\HEADINGSdoublex{%
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-}
-
-\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
-\def\HEADINGSsinglex{%
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\thischapter\hfil\folio}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-}
-
-% Subroutines used in generating headings
-% Produces Day Month Year style of output.
-\def\today{\number\day\space
-\ifcase\month\or
-January\or February\or March\or April\or May\or June\or
-July\or August\or September\or October\or November\or December\fi
-\space\number\year}
-
-% Use this if you want the Month Day, Year style of output.
-%\def\today{\ifcase\month\or
-%January\or February\or March\or April\or May\or June\or
-%July\or August\or September\or October\or November\or December\fi
-%\space\number\day, \number\year}
-
-% @settitle line...  specifies the title of the document, for headings
-% It generates no output of its own
-
-\def\thistitle{No Title}
-\def\settitle{\parsearg\settitlezzz}
-\def\settitlezzz #1{\gdef\thistitle{#1}}
-
-\message{tables,}
-
-% @tabs -- simple alignment
-
-% These don't work.  For one thing, \+ is defined as outer.
-% So these macros cannot even be defined.
-
-%\def\tabs{\parsearg\tabszzz}
-%\def\tabszzz #1{\settabs\+#1\cr}
-%\def\tabline{\parsearg\tablinezzz}
-%\def\tablinezzz #1{\+#1\cr}
-%\def\&{&}
-
-% Tables -- @table, @ftable, @vtable, @item(x), @kitem(x), @xitem(x).
-
-% default indentation of table text
-\newdimen\tableindent \tableindent=.8in
-% default indentation of @itemize and @enumerate text
-\newdimen\itemindent  \itemindent=.3in
-% margin between end of table item and start of table text.
-\newdimen\itemmargin  \itemmargin=.1in
-
-% used internally for \itemindent minus \itemmargin
-\newdimen\itemmax
-
-% Note @table, @vtable, and @vtable define @item, @itemx, etc., with
-% these defs.
-% They also define \itemindex
-% to index the item name in whatever manner is desired (perhaps none).
-
-\def\internalBitem{\smallbreak \parsearg\itemzzz}
-\def\internalBitemx{\par \parsearg\itemzzz}
-
-\def\internalBxitem "#1"{\def\xitemsubtopix{#1} \smallbreak \parsearg\xitemzzz}
-\def\internalBxitemx "#1"{\def\xitemsubtopix{#1} \par \parsearg\xitemzzz}
-
-\def\internalBkitem{\smallbreak \parsearg\kitemzzz}
-\def\internalBkitemx{\par \parsearg\kitemzzz}
-
-\def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}%
-                 \itemzzz {#1}}
-
-\def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}%
-                 \itemzzz {#1}}
-
-\def\itemzzz #1{\begingroup %
-  \advance\hsize by -\rightskip
-  \advance\hsize by -\tableindent
-  \setbox0=\hbox{\itemfont{#1}}%
-  \itemindex{#1}%
-  \nobreak % This prevents a break before @itemx.
-  %
-  % Be sure we are not still in the middle of a paragraph.
-  \parskip=0in
-  \par
-  %
-  % If the item text does not fit in the space we have, put it on a line
-  % by itself, and do not allow a page break either before or after that
-  % line.  We do not start a paragraph here because then if the next
-  % command is, e.g., @kindex, the whatsit would get put into the
-  % horizontal list on a line by itself, resulting in extra blank space.
-  \ifdim \wd0>\itemmax
-    \setbox0=\hbox{\hskip \leftskip \hskip -\tableindent \unhbox0}\box0
-    \nobreak
-  \else
-    % The item text fits into the space.  Start a paragraph, so that the
-    % following text (if any) will end up on the same line.  Since that
-    % text will be indented by \tableindent, we make the item text be in
-    % a zero-width box.
-    \noindent
-    \rlap{\hskip -\tableindent\box0}%
-  \fi
-  \endgroup
-}
-
-\def\item{\errmessage{@item while not in a table}}
-\def\itemx{\errmessage{@itemx while not in a table}}
-\def\kitem{\errmessage{@kitem while not in a table}}
-\def\kitemx{\errmessage{@kitemx while not in a table}}
-\def\xitem{\errmessage{@xitem while not in a table}}
-\def\xitemx{\errmessage{@xitemx while not in a table}}
-
-%% Contains a kludge to get @end[description] to work
-\def\description{\tablez{\dontindex}{1}{}{}{}{}}
-
-\def\table{\begingroup\inENV\obeylines\obeyspaces\tablex}
-{\obeylines\obeyspaces%
-\gdef\tablex #1^^M{%
-\tabley\dontindex#1        \endtabley}}
-
-\def\ftable{\begingroup\inENV\obeylines\obeyspaces\ftablex}
-{\obeylines\obeyspaces%
-\gdef\ftablex #1^^M{%
-\tabley\fnitemindex#1        \endtabley
-\def\Eftable{\endgraf\endgroup\afterenvbreak}%
-\let\Etable=\relax}}
-
-\def\vtable{\begingroup\inENV\obeylines\obeyspaces\vtablex}
-{\obeylines\obeyspaces%
-\gdef\vtablex #1^^M{%
-\tabley\vritemindex#1        \endtabley
-\def\Evtable{\endgraf\endgroup\afterenvbreak}%
-\let\Etable=\relax}}
-
-\def\dontindex #1{}
-\def\fnitemindex #1{\doind {fn}{\code{#1}}}%
-\def\vritemindex #1{\doind {vr}{\code{#1}}}%
-
-{\obeyspaces %
-\gdef\tabley#1#2 #3 #4 #5 #6 #7\endtabley{\endgroup%
-\tablez{#1}{#2}{#3}{#4}{#5}{#6}}}
-
-\def\tablez #1#2#3#4#5#6{%
-\aboveenvbreak %
-\begingroup %
-\def\Edescription{\Etable}% Necessary kludge.
-\let\itemindex=#1%
-\ifnum 0#3>0 \advance \leftskip by #3\mil \fi %
-\ifnum 0#4>0 \tableindent=#4\mil \fi %
-\ifnum 0#5>0 \advance \rightskip by #5\mil \fi %
-\def\itemfont{#2}%
-\itemmax=\tableindent %
-\advance \itemmax by -\itemmargin %
-\advance \leftskip by \tableindent %
-\exdentamount=\tableindent
-\parindent = 0pt
-\parskip = \smallskipamount
-\ifdim \parskip=0pt \parskip=2pt \fi%
-\def\Etable{\endgraf\endgroup\afterenvbreak}%
-\let\item = \internalBitem %
-\let\itemx = \internalBitemx %
-\let\kitem = \internalBkitem %
-\let\kitemx = \internalBkitemx %
-\let\xitem = \internalBxitem %
-\let\xitemx = \internalBxitemx %
-}
-
-% This is the counter used by @enumerate, which is really @itemize
-
-\newcount \itemno
-
-\def\itemize{\parsearg\itemizezzz}
-
-\def\itemizezzz #1{%
-  \begingroup % ended by the @end itemsize
-  \itemizey {#1}{\Eitemize}
-}
-
-\def\itemizey #1#2{%
-\aboveenvbreak %
-\itemmax=\itemindent %
-\advance \itemmax by -\itemmargin %
-\advance \leftskip by \itemindent %
-\exdentamount=\itemindent
-\parindent = 0pt %
-\parskip = \smallskipamount %
-\ifdim \parskip=0pt \parskip=2pt \fi%
-\def#2{\endgraf\endgroup\afterenvbreak}%
-\def\itemcontents{#1}%
-\let\item=\itemizeitem}
-
-\def\bullet{$\ptexbullet$}
-\def\minus{$-$}
-
-% Set sfcode to normal for the chars that usually have another value.
-% These are `.?!:;,'
-\def\frenchspacing{\sfcode46=1000 \sfcode63=1000 \sfcode33=1000
-  \sfcode58=1000 \sfcode59=1000 \sfcode44=1000 }
-
-% \splitoff TOKENS\endmark defines \first to be the first token in
-% TOKENS, and \rest to be the remainder.
-% 
-\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}%
-
-% Allow an optional argument of an uppercase letter, lowercase letter,
-% or number, to specify the first label in the enumerated list.  No
-% argument is the same as `1'.
-% 
-\def\enumerate{\parsearg\enumeratezzz}
-\def\enumeratezzz #1{\enumeratey #1  \endenumeratey}
-\def\enumeratey #1 #2\endenumeratey{%
-  \begingroup % ended by the @end enumerate
-  %
-  % If we were given no argument, pretend we were given `1'.
-  \def\thearg{#1}%
-  \ifx\thearg\empty \def\thearg{1}\fi
-  %
-  % Detect if the argument is a single token.  If so, it might be a
-  % letter.  Otherwise, the only valid thing it can be is a number.
-  % (We will always have one token, because of the test we just made.
-  % This is a good thing, since \splitoff doesn't work given nothing at
-  % all -- the first parameter is undelimited.)
-  \expandafter\splitoff\thearg\endmark
-  \ifx\rest\empty
-    % Only one token in the argument.  It could still be anything.
-    % A ``lowercase letter'' is one whose \lccode is nonzero.
-    % An ``uppercase letter'' is one whose \lccode is both nonzero, and
-    %   not equal to itself.
-    % Otherwise, we assume it's a number.
-    % 
-    % We need the \relax at the end of the \ifnum lines to stop TeX from
-    % continuing to look for a <number>.
-    % 
-    \ifnum\lccode\expandafter`\thearg=0\relax 
-      \numericenumerate % a number (we hope)
-    \else
-      % It's a letter.
-      \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
-        \lowercaseenumerate % lowercase letter
-      \else
-        \uppercaseenumerate % uppercase letter
-      \fi
-    \fi
-  \else
-    % Multiple tokens in the argument.  We hope it's a number.
-    \numericenumerate
-  \fi
-}
-
-% An @enumerate whose labels are integers.  The starting integer is
-% given in \thearg.
-% 
-\def\numericenumerate{%
-  \itemno = \thearg
-  \startenumeration{\the\itemno}%
-}
-
-% The starting (lowercase) letter is in \thearg.
-\def\lowercaseenumerate{%
-  \itemno = \expandafter`\thearg
-  \startenumeration{%
-    % Be sure we're not beyond the end of the alphabet.
-    \ifnum\itemno=0
-      \errmessage{No more lowercase letters in @enumerate; get a bigger
-                  alphabet}%
-    \fi
-    \char\lccode\itemno
-  }%
-}
-
-% The starting (uppercase) letter is in \thearg.
-\def\uppercaseenumerate{%
-  \itemno = \expandafter`\thearg
-  \startenumeration{%
-    % Be sure we're not beyond the end of the alphabet.
-    \ifnum\itemno=0
-      \errmessage{No more uppercase letters in @enumerate; get a bigger
-                  alphabet}
-    \fi
-    \char\uccode\itemno
-  }%
-}
-
-% Call itemizey, adding a period to the first argument and supplying the
-% common last two arguments.  Also subtract one from the initial value in
-% \itemno, since @item increments \itemno.
-% 
-\def\startenumeration#1{%
-  \advance\itemno by -1
-  \itemizey{#1.}\Eenumerate\flushcr
-}
-
-% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
-% to @enumerate.
-% 
-\def\alphaenumerate{\enumerate{a}}
-\def\capsenumerate{\enumerate{A}}
-\def\Ealphaenumerate{\Eenumerate}
-\def\Ecapsenumerate{\Eenumerate}
-
-% Definition of @item while inside @itemize.
-
-\def\itemizeitem{%
-\advance\itemno by 1
-{\let\par=\endgraf \smallbreak}%
-\ifhmode \errmessage{\in hmode at itemizeitem}\fi
-{\parskip=0in \hskip 0pt
-\hbox to 0pt{\hss \itemcontents\hskip \itemmargin}%
-\vadjust{\penalty 1200}}%
-\flushcr}
-
-\message{indexing,}
-% Index generation facilities
-
-% Define \newwrite to be identical to plain tex's \newwrite
-% except not \outer, so it can be used within \newindex.
-{\catcode`\@=11
-\gdef\newwrite{\alloc@7\write\chardef\sixt@@n}}
-
-% \newindex {foo} defines an index named foo.
-% It automatically defines \fooindex such that
-% \fooindex ...rest of line... puts an entry in the index foo.
-% It also defines \fooindfile to be the number of the output channel for
-% the file that        accumulates this index.  The file's extension is foo.
-% The name of an index should be no more than 2 characters long
-% for the sake of vms.
-
-\def\newindex #1{
-\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
-\openout \csname#1indfile\endcsname \jobname.#1        % Open the file
-\expandafter\xdef\csname#1index\endcsname{%    % Define \xxxindex
-\noexpand\doindex {#1}}
-}
-
-% @defindex foo  ==  \newindex{foo}
-
-\def\defindex{\parsearg\newindex}
-
-% Define @defcodeindex, like @defindex except put all entries in @code.
-
-\def\newcodeindex #1{
-\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
-\openout \csname#1indfile\endcsname \jobname.#1        % Open the file
-\expandafter\xdef\csname#1index\endcsname{%    % Define \xxxindex
-\noexpand\docodeindex {#1}}
-}
-
-\def\defcodeindex{\parsearg\newcodeindex}
-
-% @synindex foo bar    makes index foo feed into index bar.
-% Do this instead of @defindex foo if you don't want it as a separate index.
-\def\synindex #1 #2 {%
-\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
-\expandafter\let\csname#1indfile\endcsname=\synindexfoo
-\expandafter\xdef\csname#1index\endcsname{%    % Define \xxxindex
-\noexpand\doindex {#2}}%
-}
-
-% @syncodeindex foo bar   similar, but put all entries made for index foo
-% inside @code.
-\def\syncodeindex #1 #2 {%
-\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
-\expandafter\let\csname#1indfile\endcsname=\synindexfoo
-\expandafter\xdef\csname#1index\endcsname{%    % Define \xxxindex
-\noexpand\docodeindex {#2}}%
-}
-
-% Define \doindex, the driver for all \fooindex macros.
-% Argument #1 is generated by the calling \fooindex macro,
-%  and it is "foo", the name of the index.
-
-% \doindex just uses \parsearg; it calls \doind for the actual work.
-% This is because \doind is more useful to call from other macros.
-
-% There is also \dosubind {index}{topic}{subtopic}
-% which makes an entry in a two-level index such as the operation index.
-
-\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
-\def\singleindexer #1{\doind{\indexname}{#1}}
-
-% like the previous two, but they put @code around the argument.
-\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
-\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
-
-\def\indexdummies{%
-\def\_{{\realbackslash _}}%
-\def\w{\realbackslash w }%
-\def\bf{\realbackslash bf }%
-\def\rm{\realbackslash rm }%
-\def\sl{\realbackslash sl }%
-\def\sf{\realbackslash sf}%
-\def\tt{\realbackslash tt}%
-\def\gtr{\realbackslash gtr}%
-\def\less{\realbackslash less}%
-\def\hat{\realbackslash hat}%
-\def\char{\realbackslash char}%
-\def\TeX{\realbackslash TeX}%
-\def\dots{\realbackslash dots }%
-\def\copyright{\realbackslash copyright }%
-\def\tclose##1{\realbackslash tclose {##1}}%
-\def\code##1{\realbackslash code {##1}}%
-\def\samp##1{\realbackslash samp {##1}}%
-\def\t##1{\realbackslash r {##1}}%
-\def\r##1{\realbackslash r {##1}}%
-\def\i##1{\realbackslash i {##1}}%
-\def\b##1{\realbackslash b {##1}}%
-\def\cite##1{\realbackslash cite {##1}}%
-\def\key##1{\realbackslash key {##1}}%
-\def\file##1{\realbackslash file {##1}}%
-\def\var##1{\realbackslash var {##1}}%
-\def\kbd##1{\realbackslash kbd {##1}}%
-}
-
-% \indexnofonts no-ops all font-change commands.
-% This is used when outputting the strings to sort the index by.
-\def\indexdummyfont#1{#1}
-\def\indexdummytex{TeX}
-\def\indexdummydots{...}
-
-\def\indexnofonts{%
-\let\w=\indexdummyfont
-\let\t=\indexdummyfont
-\let\r=\indexdummyfont
-\let\i=\indexdummyfont
-\let\b=\indexdummyfont
-\let\emph=\indexdummyfont
-\let\strong=\indexdummyfont
-\let\cite=\indexdummyfont
-\let\sc=\indexdummyfont
-%Don't no-op \tt, since it isn't a user-level command
-% and is used in the definitions of the active chars like <, >, |...
-%\let\tt=\indexdummyfont
-\let\tclose=\indexdummyfont
-\let\code=\indexdummyfont
-\let\file=\indexdummyfont
-\let\samp=\indexdummyfont
-\let\kbd=\indexdummyfont
-\let\key=\indexdummyfont
-\let\var=\indexdummyfont
-\let\TeX=\indexdummytex
-\let\dots=\indexdummydots
-}
-
-% To define \realbackslash, we must make \ not be an escape.
-% We must first make another character (@) an escape
-% so we do not become unable to do a definition.
-
-{\catcode`\@=0 \catcode`\\=\other
-@gdef@realbackslash{\}}
-
-\let\indexbackslash=0  %overridden during \printindex.
-
-\def\doind #1#2{%
-{\count10=\lastpenalty %
-{\indexdummies % Must do this here, since \bf, etc expand at this stage
-\escapechar=`\\%
-{\let\folio=0% Expand all macros now EXCEPT \folio
-\def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now
-% so it will be output as is; and it will print as backslash in the indx.
-%
-% Now process the index-string once, with all font commands turned off,
-% to get the string to sort the index by.
-{\indexnofonts
-\xdef\temp1{#2}%
-}%
-% Now produce the complete index entry.  We process the index-string again,
-% this time with font commands expanded, to get what to print in the index.
-\edef\temp{%
-\write \csname#1indfile\endcsname{%
-\realbackslash entry {\temp1}{\folio}{#2}}}%
-\temp }%
-}\penalty\count10}}
-
-\def\dosubind #1#2#3{%
-{\count10=\lastpenalty %
-{\indexdummies % Must do this here, since \bf, etc expand at this stage
-\escapechar=`\\%
-{\let\folio=0%
-\def\rawbackslashxx{\indexbackslash}%
-%
-% Now process the index-string once, with all font commands turned off,
-% to get the string to sort the index by.
-{\indexnofonts
-\xdef\temp1{#2 #3}%
-}%
-% Now produce the complete index entry.  We process the index-string again,
-% this time with font commands expanded, to get what to print in the index.
-\edef\temp{%
-\write \csname#1indfile\endcsname{%
-\realbackslash entry {\temp1}{\folio}{#2}{#3}}}%
-\temp }%
-}\penalty\count10}}
-
-% The index entry written in the file actually looks like
-%  \entry {sortstring}{page}{topic}
-% or
-%  \entry {sortstring}{page}{topic}{subtopic}
-% The texindex program reads in these files and writes files
-% containing these kinds of lines:
-%  \initial {c}
-%     before the first topic whose initial is c
-%  \entry {topic}{pagelist}
-%     for a topic that is used without subtopics
-%  \primary {topic}
-%     for the beginning of a topic that is used with subtopics
-%  \secondary {subtopic}{pagelist}
-%     for each subtopic.
-
-% Define the user-accessible indexing commands 
-% @findex, @vindex, @kindex, @cindex.
-
-\def\findex {\fnindex}
-\def\kindex {\kyindex}
-\def\cindex {\cpindex}
-\def\vindex {\vrindex}
-\def\tindex {\tpindex}
-\def\pindex {\pgindex}
-
-\def\cindexsub {\begingroup\obeylines\cindexsub}
-{\obeylines %
-\gdef\cindexsub "#1" #2^^M{\endgroup %
-\dosubind{cp}{#2}{#1}}}
-
-% Define the macros used in formatting output of the sorted index material.
-
-% This is what you call to cause a particular index to get printed.
-% Write
-% @unnumbered Function Index
-% @printindex fn
-
-\def\printindex{\parsearg\doprintindex}
-
-\def\doprintindex#1{%
-  \tex
-  \dobreak \chapheadingskip {10000}
-  \catcode`\%=\other\catcode`\&=\other\catcode`\#=\other
-  \catcode`\$=\other\catcode`\_=\other
-  \catcode`\~=\other
-  %
-  % The following don't help, since the chars were translated
-  % when the raw index was written, and their fonts were discarded
-  % due to \indexnofonts.
-  %\catcode`\"=\active
-  %\catcode`\^=\active
-  %\catcode`\_=\active
-  %\catcode`\|=\active
-  %\catcode`\<=\active
-  %\catcode`\>=\active
-  % %
-  \def\indexbackslash{\rawbackslashxx}
-  \indexfonts\rm \tolerance=9500 \advance\baselineskip -1pt
-  \begindoublecolumns
-  %
-  % See if the index file exists and is nonempty.
-  \openin 1 \jobname.#1s
-  \ifeof 1 
-    % \enddoublecolumns gets confused if there is no text in the index,
-    % and it loses the chapter title and the aux file entries for the
-    % index.  The easiest way to prevent this problem is to make sure
-    % there is some text.
-    (Index is nonexistent)
-    \else
-    %
-    % If the index file exists but is empty, then \openin leaves \ifeof
-    % false.  We have to make TeX try to read something from the file, so
-    % it can discover if there is anything in it.
-    \read 1 to \temp
-    \ifeof 1
-      (Index is empty)
-    \else
-      \input \jobname.#1s
-    \fi
-  \fi
-  \closein 1
-  \enddoublecolumns
-  \Etex
-}
-
-% These macros are used by the sorted index file itself.
-% Change them to control the appearance of the index.
-
-% Same as \bigskipamount except no shrink.
-% \balancecolumns gets confused if there is any shrink.
-\newskip\initialskipamount \initialskipamount 12pt plus4pt
-
-\def\initial #1{%
-{\let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
-\ifdim\lastskip<\initialskipamount
-\removelastskip \penalty-200 \vskip \initialskipamount\fi
-\line{\secbf#1\hfill}\kern 2pt\penalty10000}}
-
-\def\entry #1#2{\begingroup
-  \parfillskip=0in \parskip=0in \parindent=0in
-  %
-  % \hangindent is only relevant when the page number and the entry text
-  % don't fit on one line.  In that case, bob suggests starting the dots
-  % pretty far over on the line.
-  % \hangafter is reset to 1 at the start of each paragraph.
-  \hangindent=.75\hsize
-  \noindent
-  %
-  % Don't break the text of the index entry.
-  \hbox{#1}%
-  %
-  % If we must, put the page number on a line of its own, and fill out
-  % this line with blank space.  (The \hfil is overwhelmed with the
-  % fill leaders glue in \indexdotfill if the page number does fit.)
-  \hfil\penalty50
-  \null\nobreak\indexdotfill % Have leaders before the page number.
-  %
-  % The `\ ' here is removed by the implicit \unskip that TeX does as
-  % part of (the primitive) \par.  Without, a spurious underfull \hbox ensues.
-  \ #2% The page number ends the paragraph.
-  \par
-\endgroup}
-
-% Like \dotfill except takes at least 1 em.
-\def\indexdotfill{\cleaders
-  \hbox{$\mathsurround=0pt \mkern1.5mu . \mkern1.5mu$}\hskip 1em plus 1fill}
-
-\def\primary #1{\line{#1\hfil}}
-
-\newskip\secondaryindent \secondaryindent=0.5cm
-
-\def\secondary #1#2{
-{\parfillskip=0in \parskip=0in
-\hangindent =1in \hangafter=1
-\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\par
-}}
-
-%% Define two-column mode, which is used in indexes.
-%% Adapted from the TeXBook, page 416
-\catcode `\@=11
-
-\newbox\partialpage
-
-\newdimen\doublecolumnhsize  \doublecolumnhsize = 3.11in
-\newdimen\doublecolumnvsize  \doublecolumnvsize = 19.1in
-\newdimen\availdimen@
-
-\def\begindoublecolumns{\begingroup
-  \output={\global\setbox\partialpage=
-    \vbox{\unvbox255\kern -\topskip \kern \baselineskip}}\eject
-  \output={\doublecolumnout}%
-  \hsize=\doublecolumnhsize \vsize=\doublecolumnvsize}
-\def\enddoublecolumns{\output={\balancecolumns}\eject
-  \endgroup \pagegoal=\vsize}
-
-\def\doublecolumnout{\splittopskip=\topskip \splitmaxdepth=\maxdepth
-  \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage
-  \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
-  \onepageout\pagesofar \unvbox255 \penalty\outputpenalty}
-\def\pagesofar{\unvbox\partialpage %
-  \hsize=\doublecolumnhsize % have to restore this since output routine
-%            changes it to set cropmarks (P. A. MacKay, 12 Nov. 1986)
-  \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}}
-\def\balancecolumns{%
-% Unset the glue.
-  \setbox255=\vbox{\unvbox255}
-  \dimen@=\ht255
-  \advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip
-  \divide\dimen@ by2
-  \availdimen@=\pageheight \advance\availdimen@ by-\ht\partialpage
-% If the remaining data is too big for one page,
-% output one page normally, then work with what remains.
-  \ifdim \dimen@>\availdimen@
-   {
-     \splittopskip=\topskip \splitmaxdepth=\maxdepth
-     \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage
-     \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
-     \onepageout\pagesofar
-   }
-% Recompute size of what remains, in case we just output some of it.
-  \dimen@=\ht255
-  \advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip
-  \divide\dimen@ by2
-  \fi
-  \setbox0=\vbox{\unvbox255}
-  \splittopskip=\topskip
-  {\vbadness=10000 \loop \global\setbox3=\copy0
-    \global\setbox1=\vsplit3 to\dimen@
-    \ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt \repeat}
-  \setbox0=\vbox to\dimen@{\unvbox1}  \setbox2=\vbox to\dimen@{\unvbox3}
-  \pagesofar}
-
-\catcode `\@=\other
-\message{sectioning,}
-% Define chapters, sections, etc.
-
-\newcount \chapno
-\newcount \secno        \secno=0
-\newcount \subsecno     \subsecno=0
-\newcount \subsubsecno  \subsubsecno=0
-
-% This counter is funny since it counts through charcodes of letters A, B, ...
-\newcount \appendixno  \appendixno = `\@
-\def\appendixletter{\char\the\appendixno}
-
-\newwrite \contentsfile
-% This is called from \setfilename.
-\def\opencontents{\openout \contentsfile = \jobname.toc}
-
-% Each @chapter defines this as the name of the chapter.
-% page headings and footings can use it.  @section does likewise
-
-\def\thischapter{} \def\thissection{}
-\def\seccheck#1{\if \pageno<0 %
-\errmessage{@#1 not allowed after generating table of contents}\fi
-%
-}
-
-\def\chapternofonts{%
-\let\rawbackslash=\relax%
-\let\frenchspacing=\relax%
-\def\result{\realbackslash result}
-\def\equiv{\realbackslash equiv}
-\def\expansion{\realbackslash expansion}
-\def\print{\realbackslash print}
-\def\TeX{\realbackslash TeX}
-\def\dots{\realbackslash dots}
-\def\copyright{\realbackslash copyright}
-\def\tt{\realbackslash tt}
-\def\bf{\realbackslash bf }
-\def\w{\realbackslash w}
-\def\less{\realbackslash less}
-\def\gtr{\realbackslash gtr}
-\def\hat{\realbackslash hat}
-\def\char{\realbackslash char}
-\def\tclose##1{\realbackslash tclose {##1}}
-\def\code##1{\realbackslash code {##1}}
-\def\samp##1{\realbackslash samp {##1}}
-\def\r##1{\realbackslash r {##1}}
-\def\b##1{\realbackslash b {##1}}
-\def\key##1{\realbackslash key {##1}}
-\def\file##1{\realbackslash file {##1}}
-\def\kbd##1{\realbackslash kbd {##1}}
-% These are redefined because @smartitalic wouldn't work inside xdef.
-\def\i##1{\realbackslash i {##1}}
-\def\cite##1{\realbackslash cite {##1}}
-\def\var##1{\realbackslash var {##1}}
-\def\emph##1{\realbackslash emph {##1}}
-\def\dfn##1{\realbackslash dfn {##1}}
-}
-
-\def\thischaptername{No Chapter Title}
-\outer\def\chapter{\parsearg\chapterzzz}
-\def\chapterzzz #1{\seccheck{chapter}%
-\secno=0 \subsecno=0 \subsubsecno=0
-\global\advance \chapno by 1 \message{Chapter \the\chapno}%
-\chapmacro {#1}{\the\chapno}%
-\gdef\thissection{#1}%
-\gdef\thischaptername{#1}%
-% We don't substitute the actual chapter name into \thischapter
-% because we don't want its macros evaluated now.
-\xdef\thischapter{Chapter \the\chapno: \noexpand\thischaptername}%
-{\chapternofonts%
-\edef\temp{{\realbackslash chapentry {#1}{\the\chapno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp  %
-\donoderef %
-\global\let\section = \numberedsec
-\global\let\subsection = \numberedsubsec
-\global\let\subsubsection = \numberedsubsubsec
-}}
-
-\outer\def\appendix{\parsearg\appendixzzz}
-\def\appendixzzz #1{\seccheck{appendix}%
-\secno=0 \subsecno=0 \subsubsecno=0
-\global\advance \appendixno by 1 \message{Appendix \appendixletter}%
-\chapmacro {#1}{Appendix \appendixletter}%
-\gdef\thissection{#1}%
-\gdef\thischaptername{#1}%
-\xdef\thischapter{Appendix \appendixletter: \noexpand\thischaptername}%
-{\chapternofonts%
-\edef\temp{{\realbackslash chapentry 
-  {#1}{Appendix \appendixletter}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp  %
-\appendixnoderef %
-\global\let\section = \appendixsec
-\global\let\subsection = \appendixsubsec
-\global\let\subsubsection = \appendixsubsubsec
-}}
-
-\outer\def\top{\parsearg\unnumberedzzz}
-\outer\def\unnumbered{\parsearg\unnumberedzzz}
-\def\unnumberedzzz #1{\seccheck{unnumbered}%
-\secno=0 \subsecno=0 \subsubsecno=0 \message{(#1)}
-\unnumbchapmacro {#1}%
-\gdef\thischapter{#1}\gdef\thissection{#1}%
-{\chapternofonts%
-\edef\temp{{\realbackslash unnumbchapentry {#1}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp  %
-\unnumbnoderef %
-\global\let\section = \unnumberedsec
-\global\let\subsection = \unnumberedsubsec
-\global\let\subsubsection = \unnumberedsubsubsec
-}}
-
-\outer\def\numberedsec{\parsearg\seczzz}
-\def\seczzz #1{\seccheck{section}%
-\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
-\gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}%
-{\chapternofonts%
-\edef\temp{{\realbackslash secentry %
-{#1}{\the\chapno}{\the\secno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\donoderef %
-\penalty 10000 %
-}}
-
-\outer\def\appendixsection{\parsearg\appendixsectionzzz}
-\outer\def\appendixsec{\parsearg\appendixsectionzzz}
-\def\appendixsectionzzz #1{\seccheck{appendixsection}%
-\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
-\gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}%
-{\chapternofonts%
-\edef\temp{{\realbackslash secentry %
-{#1}{\appendixletter}{\the\secno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\appendixnoderef %
-\penalty 10000 %
-}}
-
-\outer\def\unnumberedsec{\parsearg\unnumberedseczzz}
-\def\unnumberedseczzz #1{\seccheck{unnumberedsec}%
-\plainsecheading {#1}\gdef\thissection{#1}%
-{\chapternofonts%
-\edef\temp{{\realbackslash unnumbsecentry{#1}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-\penalty 10000 %
-}}
-
-\outer\def\numberedsubsec{\parsearg\numberedsubseczzz}
-\def\numberedsubseczzz #1{\seccheck{subsection}%
-\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
-\subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}%
-{\chapternofonts%
-\edef\temp{{\realbackslash subsecentry %
-{#1}{\the\chapno}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\donoderef %
-\penalty 10000 %
-}}
-
-\outer\def\appendixsubsec{\parsearg\appendixsubseczzz}
-\def\appendixsubseczzz #1{\seccheck{appendixsubsec}%
-\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
-\subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}%
-{\chapternofonts%
-\edef\temp{{\realbackslash subsecentry %
-{#1}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\appendixnoderef %
-\penalty 10000 %
-}}
-
-\outer\def\unnumberedsubsec{\parsearg\unnumberedsubseczzz}
-\def\unnumberedsubseczzz #1{\seccheck{unnumberedsubsec}%
-\plainsecheading {#1}\gdef\thissection{#1}%
-{\chapternofonts%
-\edef\temp{{\realbackslash unnumbsubsecentry{#1}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-\penalty 10000 %
-}}
-
-\outer\def\numberedsubsubsec{\parsearg\numberedsubsubseczzz}
-\def\numberedsubsubseczzz #1{\seccheck{subsubsection}%
-\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
-\subsubsecheading {#1}
-  {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
-{\chapternofonts%
-\edef\temp{{\realbackslash subsubsecentry %
-  {#1}
-  {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}
-  {\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\donoderef %
-\penalty 10000 %
-}}
-
-\outer\def\appendixsubsubsec{\parsearg\appendixsubsubseczzz}
-\def\appendixsubsubseczzz #1{\seccheck{appendixsubsubsec}%
-\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
-\subsubsecheading {#1}
-  {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
-{\chapternofonts%
-\edef\temp{{\realbackslash subsubsecentry{#1}%
-  {\appendixletter}
-  {\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\appendixnoderef %
-\penalty 10000 %
-}}
-
-\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz}
-\def\unnumberedsubsubseczzz #1{\seccheck{unnumberedsubsubsec}%
-\plainsecheading {#1}\gdef\thissection{#1}%
-{\chapternofonts%
-\edef\temp{{\realbackslash unnumbsubsubsecentry{#1}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-\penalty 10000 %
-}}
-
-% These are variants which are not "outer", so they can appear in @ifinfo.
-% Actually, they should now be obsolete; ordinary section commands should work.
-\def\infotop{\parsearg\unnumberedzzz}
-\def\infounnumbered{\parsearg\unnumberedzzz}
-\def\infounnumberedsec{\parsearg\unnumberedseczzz}
-\def\infounnumberedsubsec{\parsearg\unnumberedsubseczzz}
-\def\infounnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz}
-
-\def\infoappendix{\parsearg\appendixzzz}
-\def\infoappendixsec{\parsearg\appendixseczzz}
-\def\infoappendixsubsec{\parsearg\appendixsubseczzz}
-\def\infoappendixsubsubsec{\parsearg\appendixsubsubseczzz}
-
-\def\infochapter{\parsearg\chapterzzz}
-\def\infosection{\parsearg\sectionzzz}
-\def\infosubsection{\parsearg\subsectionzzz}
-\def\infosubsubsection{\parsearg\subsubsectionzzz}
-
-% These macros control what the section commands do, according
-% to what kind of chapter we are in (ordinary, appendix, or unnumbered).
-% Define them by default for a numbered chapter.
-\global\let\section = \numberedsec
-\global\let\subsection = \numberedsubsec
-\global\let\subsubsection = \numberedsubsubsec
-
-% Define @majorheading, @heading and @subheading
-
-% NOTE on use of \vbox for chapter headings, section headings, and
-% such:
-%      1) We use \vbox rather than the earlier \line to permit
-%         overlong headings to fold.
-%      2) \hyphenpenalty is set to 10000 because hyphenation in a
-%         heading is obnoxious; this forbids it.
-%       3) Likewise, headings look best if no \parindent is used, and
-%          if justification is not attempted.  Hence \raggedright.
-
-
-\def\majorheading{\parsearg\majorheadingzzz}
-\def\majorheadingzzz #1{%
-{\advance\chapheadingskip by 10pt \chapbreak }%
-{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                  \parindent=0pt\raggedright
-                  \rm #1\hfill}}\bigskip \par\penalty 200}
-
-\def\chapheading{\parsearg\chapheadingzzz}
-\def\chapheadingzzz #1{\chapbreak %
-{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                  \parindent=0pt\raggedright
-                  \rm #1\hfill}}\bigskip \par\penalty 200}
-
-\def\heading{\parsearg\secheadingi}
-
-\def\subheading{\parsearg\subsecheadingi}
-
-\def\subsubheading{\parsearg\subsubsecheadingi}
-
-% These macros generate a chapter, section, etc. heading only
-% (including whitespace, linebreaking, etc. around it),
-% given all the information in convenient, parsed form.
-
-%%% Args are the skip and penalty (usually negative)
-\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
-
-\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
-
-%%% Define plain chapter starts, and page on/off switching for it
-% Parameter controlling skip before chapter headings (if needed)
-
-\newskip \chapheadingskip \chapheadingskip = 30pt plus 8pt minus 4pt
-
-\def\chapbreak{\dobreak \chapheadingskip {-4000}}
-\def\chappager{\par\vfill\supereject}
-\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
-
-\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
-
-\def\CHAPPAGoff{
-\global\let\pchapsepmacro=\chapbreak
-\global\let\pagealignmacro=\chappager}
-
-\def\CHAPPAGon{
-\global\let\pchapsepmacro=\chappager
-\global\let\pagealignmacro=\chappager
-\global\def\HEADINGSon{\HEADINGSsingle}}
-
-\def\CHAPPAGodd{
-\global\let\pchapsepmacro=\chapoddpage
-\global\let\pagealignmacro=\chapoddpage
-\global\def\HEADINGSon{\HEADINGSdouble}}
-
-\CHAPPAGon
-
-\def\CHAPFplain{
-\global\let\chapmacro=\chfplain
-\global\let\unnumbchapmacro=\unnchfplain}
-
-\def\chfplain #1#2{%
-  \pchapsepmacro
-  {%
-    \chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                     \parindent=0pt\raggedright
-                     \rm #2\enspace #1}%
-  }%
-  \bigskip
-  \penalty5000
-}
-
-\def\unnchfplain #1{%
-\pchapsepmacro %
-{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                  \parindent=0pt\raggedright
-                  \rm #1\hfill}}\bigskip \par\penalty 10000 %
-}
-\CHAPFplain % The default
-
-\def\unnchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                       \parindent=0pt\raggedright
-                       \rm #1\hfill}}\bigskip \par\penalty 10000 %
-}
-
-\def\chfopen #1#2{\chapoddpage {\chapfonts
-\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
-\par\penalty 5000 %
-}
-
-\def\CHAPFopen{
-\global\let\chapmacro=\chfopen
-\global\let\unnumbchapmacro=\unnchfopen}
-
-% Parameter controlling skip before section headings.
-
-\newskip \subsecheadingskip  \subsecheadingskip = 17pt plus 8pt minus 4pt
-\def\subsecheadingbreak{\dobreak \subsecheadingskip {-500}}
-
-\newskip \secheadingskip  \secheadingskip = 21pt plus 8pt minus 4pt
-\def\secheadingbreak{\dobreak \secheadingskip {-1000}}
-
-% @paragraphindent  is defined for the Info formatting commands only.
-\let\paragraphindent=\comment
-
-% Section fonts are the base font at magstep2, which produces
-% a size a bit more than 14 points in the default situation.   
-
-\def\secheading #1#2#3{\secheadingi {#2.#3\enspace #1}}
-\def\plainsecheading #1{\secheadingi {#1}}
-\def\secheadingi #1{{\advance \secheadingskip by \parskip %
-\secheadingbreak}%
-{\secfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                 \parindent=0pt\raggedright
-                 \rm #1\hfill}}%
-\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
-
-
-% Subsection fonts are the base font at magstep1, 
-% which produces a size of 12 points.
-
-\def\subsecheading #1#2#3#4{\subsecheadingi {#2.#3.#4\enspace #1}}
-\def\subsecheadingi #1{{\advance \subsecheadingskip by \parskip %
-\subsecheadingbreak}%
-{\subsecfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                     \parindent=0pt\raggedright
-                     \rm #1\hfill}}%
-\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
-
-\def\subsubsecfonts{\subsecfonts} % Maybe this should change:
-                                 % Perhaps make sssec fonts scaled
-                                 % magstep half
-\def\subsubsecheading #1#2#3#4#5{\subsubsecheadingi {#2.#3.#4.#5\enspace #1}}
-\def\subsubsecheadingi #1{{\advance \subsecheadingskip by \parskip %
-\subsecheadingbreak}%
-{\subsubsecfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                       \parindent=0pt\raggedright
-                       \rm #1\hfill}}%
-\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000}
-
-
-\message{toc printing,}
-
-% Finish up the main text and prepare to read what we've written
-% to \contentsfile.
-
-\newskip\contentsrightmargin \contentsrightmargin=1in
-\def\startcontents#1{%
-   \pagealignmacro
-   \immediate\closeout \contentsfile
-   \ifnum \pageno>0
-      \pageno = -1             % Request roman numbered pages.
-   \fi
-   % Don't need to put `Contents' or `Short Contents' in the headline. 
-   % It is abundantly clear what they are.
-   \unnumbchapmacro{#1}\def\thischapter{}%
-   \begingroup                 % Set up to handle contents files properly.
-      \catcode`\\=0  \catcode`\{=1  \catcode`\}=2  \catcode`\@=11
-      \raggedbottom             % Worry more about breakpoints than the bottom.
-      \advance\hsize by -\contentsrightmargin % Don't use the full line length.
-}
-
-  
-% Normal (long) toc.
-\outer\def\contents{%
-   \startcontents{Table of Contents}%
-      \input \jobname.toc
-   \endgroup
-   \vfill \eject
-}
-
-% And just the chapters.
-\outer\def\summarycontents{%
-   \startcontents{Short Contents}%
-      %
-      \let\chapentry = \shortchapentry
-      \let\unnumbchapentry = \shortunnumberedentry
-      % We want a true roman here for the page numbers.
-      \secfonts
-      \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl
-      \rm
-      \advance\baselineskip by 1pt % Open it up a little.
-      \def\secentry ##1##2##3##4{}
-      \def\unnumbsecentry ##1##2{}
-      \def\subsecentry ##1##2##3##4##5{}
-      \def\unnumbsubsecentry ##1##2{}
-      \def\subsubsecentry ##1##2##3##4##5##6{}
-      \def\unnumbsubsubsecentry ##1##2{}
-      \input \jobname.toc
-   \endgroup
-   \vfill \eject
-}
-\let\shortcontents = \summarycontents
-
-% These macros generate individual entries in the table of contents.
-% The first argument is the chapter or section name.
-% The last argument is the page number.
-% The arguments in between are the chapter number, section number, ...
-
-% Chapter-level things, for both the long and short contents.
-\def\chapentry#1#2#3{\dochapentry{#2\labelspace#1}{#3}}
-
-% See comments in \dochapentry re vbox and related settings
-\def\shortchapentry#1#2#3{%
-   \vbox{\hyphenpenalty=10000\tolerance=5000
-    \parindent=0pt\strut\raggedright
-    {#2\labelspace #1}\dotfill\doshortpageno{#3}}%
-}
-
-\def\unnumbchapentry#1#2{\dochapentry{#1}{#2}}
-\def\shortunnumberedentry#1#2{%
-   \vbox{\hyphenpenalty=10000\tolerance=5000
-    \parindent=0pt\strut\raggedright
-    #1\dotfill\doshortpageno{#2}}%
-}
-
-% Sections.
-\def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}}
-\def\unnumbsecentry#1#2{\dosecentry{#1}{#2}}
-
-% Subsections.
-\def\subsecentry#1#2#3#4#5{\dosubsecentry{#2.#3.#4\labelspace#1}{#5}}
-\def\unnumbsubsecentry#1#2{\dosubsecentry{#1}{#2}}
-
-% And subsubsections.
-\def\subsubsecentry#1#2#3#4#5#6{%
-  \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}{#6}}
-\def\unnumbsubsubsecentry#1#2{\dosubsubsecentry{#1}{#2}}
-
-
-% This parameter controls the indentation of the various levels.
-\newdimen\tocindent \tocindent = 3pc
-
-% Now for the actual typesetting. In all these, #1 is the text and #2 is the 
-% page number.
-%
-% If the toc has to be broken over pages, we would want to be at chapters 
-% if at all possible; hence the \penalty.
-\def\dochapentry#1#2{%
-   \penalty-300 \vskip\baselineskip
-   % This \vbox (and similar ones in dosecentry etc.) used to be a
-   % \line; changed to permit linebreaks for long headings.  See
-   % comments above \majorheading.  Here we also use \strut to
-   % keep the top end of the vbox from jamming up against the previous
-   % entry in the table of contents.
-   \vbox{\chapentryfonts
-     \hyphenpenalty=10000\tolerance=5000 % this line and next introduced
-     \parindent=0pt\strut\raggedright    % with \line -> \vbox change
-     #1\dotfill
-     \dopageno{#2}}%
-   \nobreak\vskip .25\baselineskip
-}
-
-\def\dosecentry#1#2{%
-   \vbox{\secentryfonts \leftskip=\tocindent
-    \hyphenpenalty=10000\tolerance=5000
-    \parindent=0pt\strut\raggedright #1\dotfill
-    \dopageno{#2}}%
-}
-
-\def\dosubsecentry#1#2{%
-   \vbox{\subsecentryfonts \leftskip=2\tocindent
-    \hyphenpenalty=10000\tolerance=5000
-    \parindent=0pt\strut\raggedright #1\dotfill
-    \dopageno{#2}}%
-}
-
-\def\dosubsubsecentry#1#2{%
-   \vbox{\subsubsecentryfonts \leftskip=3\tocindent
-    \hyphenpenalty=10000\tolerance=5000
-    \parindent=0pt\strut\raggedright #1\dotfill
-    \dopageno{#2}}%
-}
-
-% Space between chapter (or whatever) number and the title.
-\def\labelspace{\hskip1em \relax}
-
-\def\dopageno#1{{\rm #1}}
-\def\doshortpageno#1{{\rm #1}}
-
-\def\chapentryfonts{\secfonts \rm}
-\def\secentryfonts{\textfonts}
-\let\subsecentryfonts = \textfonts
-\let\subsubsecentryfonts = \textfonts
-
-
-\message{environments,}
-
-% Since these characters are used in examples, it should be an even number of 
-% \tt widths. Each \tt character is 1en, so two makes it 1em.
-% Furthermore, these definitions must come after we define our fonts.
-\newbox\dblarrowbox    \newbox\longdblarrowbox
-\newbox\pushcharbox    \newbox\bullbox
-\newbox\equivbox       \newbox\errorbox
-
-\let\ptexequiv = \equiv
-
-%{\tentt
-%\global\setbox\dblarrowbox = \hbox to 1em{\hfil$\Rightarrow$\hfil}
-%\global\setbox\longdblarrowbox = \hbox to 1em{\hfil$\mapsto$\hfil}
-%\global\setbox\pushcharbox = \hbox to 1em{\hfil$\dashv$\hfil}
-%\global\setbox\equivbox = \hbox to 1em{\hfil$\ptexequiv$\hfil}
-% Adapted from the manmac format (p.420 of TeXbook)
-%\global\setbox\bullbox = \hbox to 1em{\kern.15em\vrule height .75ex width .85ex
-%                                      depth .1ex\hfil}
-%}
-
-\def\point{$\star$}
-
-\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
-\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
-\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
-
-\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
-
-% Adapted from the TeXbook's \boxit.
-{\tentt \global\dimen0 = 3em}% Width of the box.
-\dimen2 = .55pt % Thickness of rules
-% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt}
-
-\global\setbox\errorbox=\hbox to \dimen0{\hfil
-   \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
-   \advance\hsize by -2\dimen2 % Rules.
-   \vbox{
-      \hrule height\dimen2
-      \hbox{\vrule width\dimen2 \kern3pt          % Space to left of text.
-         \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
-         \kern3pt\vrule width\dimen2}% Space to right.
-      \hrule height\dimen2}
-    \hfil}
-
-% The @error{} command.
-\def\error{\leavevmode\lower.7ex\copy\errorbox}
-
-% @tex ... @end tex    escapes into raw Tex temporarily.
-% One exception: @ is still an escape character, so that @end tex works.
-% But \@ or @@ will get a plain tex @ character.
-
-\def\tex{\begingroup
-\catcode `\\=0 \catcode `\{=1 \catcode `\}=2
-\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
-\catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie
-\catcode `\%=14
-\catcode 43=12
-\catcode`\"=12
-\catcode`\==12
-\catcode`\|=12
-\catcode`\<=12
-\catcode`\>=12
-\escapechar=`\\
-%
-\let\{=\ptexlbrace
-\let\}=\ptexrbrace
-\let\.=\ptexdot
-\let\*=\ptexstar
-\let\dots=\ptexdots
-\def\@{@}%
-\let\bullet=\ptexbullet
-\let\b=\ptexb \let\c=\ptexc \let\i=\ptexi \let\t=\ptext \let\l=\ptexl
-\let\L=\ptexL
-%
-\let\Etex=\endgroup}
-
-% Define @lisp ... @endlisp.
-% @lisp does a \begingroup so it can rebind things,
-% including the definition of @endlisp (which normally is erroneous).
-
-% Amount to narrow the margins by for @lisp.
-\newskip\lispnarrowing \lispnarrowing=0.4in
-
-% This is the definition that ^M gets inside @lisp
-% phr: changed space to \null, to avoid overfull hbox problems.
-{\obeyspaces%
-\gdef\lisppar{\null\endgraf}}
-
-% Cause \obeyspaces to make each Space cause a word-separation
-% rather than the default which is that it acts punctuation.
-% This is because space in tt font looks funny.
-{\obeyspaces %
-\gdef\sepspaces{\def {\ }}}
-
-\newskip\aboveenvskipamount \aboveenvskipamount= 0pt
-\def\aboveenvbreak{{\advance\aboveenvskipamount by \parskip
-\endgraf \ifdim\lastskip<\aboveenvskipamount
-\removelastskip \penalty-50 \vskip\aboveenvskipamount \fi}}
-
-\def\afterenvbreak{\endgraf \ifdim\lastskip<\aboveenvskipamount
-\removelastskip \penalty-50 \vskip\aboveenvskipamount \fi}
-
-% \nonarrowing is a flag.  If "set", @lisp etc don't narrow margins.
-\let\nonarrowing=\relax
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \cartouche: draw rectangle w/rounded corners around argument
-\font\circle=lcircle10
-\newdimen\circthick
-\newdimen\cartouter\newdimen\cartinner
-\newskip\normbskip\newskip\normpskip\newskip\normlskip
-\circthick=\fontdimen8\circle
-%
-\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
-\def\ctr{{\hskip 6pt\circle\char'010}}
-\def\cbl{{\circle\char'012\hskip -6pt}}
-\def\cbr{{\hskip 6pt\circle\char'011}}
-\def\carttop{\hbox to \cartouter{\hskip\lskip
-       \ctl\leaders\hrule height\circthick\hfil\ctr
-       \hskip\rskip}}
-\def\cartbot{\hbox to \cartouter{\hskip\lskip
-       \cbl\leaders\hrule height\circthick\hfil\cbr
-       \hskip\rskip}}
-%
-\newskip\lskip\newskip\rskip
-
-\long\def\cartouche{%
-\begingroup
-       \lskip=\leftskip \rskip=\rightskip
-       \leftskip=0pt\rightskip=0pt %we want these *outside*.
-       \cartinner=\hsize \advance\cartinner by-\lskip 
-                         \advance\cartinner by-\rskip
-       \cartouter=\hsize
-       \advance\cartouter by 18pt % allow for 3pt kerns on either
-%                                   side, and for 6pt waste from
-%                                   each corner char
-       \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
-       % Flag to tell @lisp, etc., not to narrow margin.
-       \let\nonarrowing=\comment
-       \vbox\bgroup
-               \baselineskip=0pt\parskip=0pt\lineskip=0pt
-               \carttop
-               \hbox\bgroup
-                       \hskip\lskip
-                       \vrule\kern3pt
-                       \vbox\bgroup
-                               \hsize=\cartinner
-                               \kern3pt
-                               \begingroup
-                                       \baselineskip=\normbskip
-                                       \lineskip=\normlskip
-                                       \parskip=\normpskip
-                                       \vskip -\parskip
-\def\Ecartouche{%
-                               \endgroup
-                               \kern3pt
-                       \egroup
-                       \kern3pt\vrule
-                       \hskip\rskip
-               \egroup
-               \cartbot
-       \egroup
-\endgroup
-}}     
-
-\def\lisp{\aboveenvbreak
-\begingroup\inENV % This group ends at the end of the @lisp body
-\hfuzz=12truept % Don't be fussy
-% Make spaces be word-separators rather than space tokens.
-\sepspaces %
-% Single space lines
-\singlespace %
-% The following causes blank lines not to be ignored
-% by adding a space to the end of each line.
-\let\par=\lisppar
-\def\Elisp{\endgroup\afterenvbreak}%
-\parskip=0pt
-% @cartouche defines \nonarrowing to inhibit narrowing
-% at next level down.
-\ifx\nonarrowing\relax
-\advance \leftskip by \lispnarrowing
-\exdentamount=\lispnarrowing
-\let\exdent=\nofillexdent
-\let\nonarrowing=\relax
-\fi
-\parindent=0pt
-\obeyspaces \obeylines \tt \rawbackslash
-\def\next##1{}\next}
-
-
-\let\example=\lisp
-\def\Eexample{\Elisp}
-
-\let\smallexample=\lisp
-\def\Esmallexample{\Elisp}
-
-% Macro for 9 pt. examples, necessary to print with 5" lines.
-% From Pavel@xerox.  This is not really used unless the
-% @smallbook command is given.
-
-\def\smalllispx{\aboveenvbreak\begingroup\inENV
-%                      This group ends at the end of the @lisp body
-\hfuzz=12truept % Don't be fussy
-% Make spaces be word-separators rather than space tokens.
-\sepspaces %
-% Single space lines
-\singlespace %
-% The following causes blank lines not to be ignored
-% by adding a space to the end of each line.
-\let\par=\lisppar
-\def\Esmalllisp{\endgroup\afterenvbreak}%
-%%%% Smaller baseline skip for small examples.
-\baselineskip 10pt
-\parskip=0pt
-% @cartouche defines \nonarrowing to inhibit narrowing
-% at next level down.
-\ifx\nonarrowing\relax
-\advance \leftskip by \lispnarrowing
-\exdentamount=\lispnarrowing
-\let\exdent=\nofillexdent
-\let\nonarrowing=\relax
-\fi
-\parindent=0pt
-\obeyspaces \obeylines \ninett \indexfonts \rawbackslash
-\def\next##1{}\next}
-
-% This is @display; same as @lisp except use roman font.
-
-\def\display{\begingroup\inENV %This group ends at the end of the @display body
-\aboveenvbreak
-% Make spaces be word-separators rather than space tokens.
-\sepspaces %
-% Single space lines
-\singlespace %
-% The following causes blank lines not to be ignored
-% by adding a space to the end of each line.
-\let\par=\lisppar
-\def\Edisplay{\endgroup\afterenvbreak}%
-\parskip=0pt
-% @cartouche defines \nonarrowing to inhibit narrowing
-% at next level down.
-\ifx\nonarrowing\relax
-\advance \leftskip by \lispnarrowing
-\exdentamount=\lispnarrowing
-\let\exdent=\nofillexdent
-\let\nonarrowing=\relax
-\fi
-\parindent=0pt
-\obeyspaces \obeylines
-\def\next##1{}\next}
-
-% This is @format; same as @lisp except use roman font and don't narrow margins
-
-\def\format{\begingroup\inENV %This group ends at the end of the @format body
-\aboveenvbreak
-% Make spaces be word-separators rather than space tokens.
-\sepspaces %
-\singlespace %
-% The following causes blank lines not to be ignored
-% by adding a space to the end of each line.
-\let\par=\lisppar
-\def\Eformat{\endgroup\afterenvbreak}
-\parskip=0pt \parindent=0pt
-\obeyspaces \obeylines
-\def\next##1{}\next}
-
-% @flushleft and @flushright
-
-\def\flushleft{%
-\begingroup\inENV %This group ends at the end of the @format body
-\aboveenvbreak
-% Make spaces be word-separators rather than space tokens.
-\sepspaces %
-% The following causes blank lines not to be ignored
-% by adding a space to the end of each line.
-% This also causes @ to work when the directive name
-% is terminated by end of line.
-\let\par=\lisppar
-\def\Eflushleft{\endgroup\afterenvbreak}%
-\parskip=0pt \parindent=0pt
-\obeyspaces \obeylines
-\def\next##1{}\next}
-
-\def\flushright{%
-\begingroup\inENV %This group ends at the end of the @format body
-\aboveenvbreak
-% Make spaces be word-separators rather than space tokens.
-\sepspaces %
-% The following causes blank lines not to be ignored
-% by adding a space to the end of each line.
-% This also causes @ to work when the directive name
-% is terminated by end of line.
-\let\par=\lisppar
-\def\Eflushright{\endgroup\afterenvbreak}%
-\parskip=0pt \parindent=0pt
-\advance \leftskip by 0pt plus 1fill
-\obeyspaces \obeylines
-\def\next##1{}\next}
-
-% @quotation - narrow the margins.
-
-\def\quotation{%
-\begingroup\inENV %This group ends at the end of the @quotation body
-{\parskip=0pt  % because we will skip by \parskip too, later
-\aboveenvbreak}%
-\singlespace
-\parindent=0pt
-\def\Equotation{\par\endgroup\afterenvbreak}%
-% @cartouche defines \nonarrowing to inhibit narrowing
-% at next level down.
-\ifx\nonarrowing\relax
-\advance \leftskip by \lispnarrowing
-\advance \rightskip by \lispnarrowing
-\exdentamount=\lispnarrowing
-\let\nonarrowing=\relax
-\fi}
-
-\message{defuns,}
-% Define formatter for defuns
-% First, allow user to change definition object font (\df) internally
-\def\setdeffont #1 {\csname DEF#1\endcsname}
-
-\newskip\defbodyindent \defbodyindent=.4in
-\newskip\defargsindent \defargsindent=50pt
-\newskip\deftypemargin \deftypemargin=12pt
-\newskip\deflastargmargin \deflastargmargin=18pt
-
-\newcount\parencount
-% define \functionparens, which makes ( and ) and & do special things.
-% \functionparens affects the group it is contained in.
-\def\activeparens{%
-\catcode`\(=\active \catcode`\)=\active \catcode`\&=\active
-\catcode`\[=\active \catcode`\]=\active}
-{\activeparens % Now, smart parens don't turn on until &foo (see \amprm)
-\gdef\functionparens{\boldbrax\let&=\amprm\parencount=0 }
-\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
-
-% Definitions of (, ) and & used in args for functions.
-% This is the definition of ( outside of all parentheses.
-\gdef\oprm#1 {{\rm\char`\(}#1 \bf \let(=\opnested %
-\global\advance\parencount by 1 }
-%
-% This is the definition of ( when already inside a level of parens.
-\gdef\opnested{\char`\(\global\advance\parencount by 1 }
-%
-\gdef\clrm{% Print a paren in roman if it is taking us back to depth of 0.
-% also in that case restore the outer-level definition of (.
-\ifnum \parencount=1 {\rm \char `\)}\sl \let(=\oprm \else \char `\) \fi
-\global\advance \parencount by -1 }
-% If we encounter &foo, then turn on ()-hacking afterwards
-\gdef\amprm#1 {{\rm\&#1}\let(=\oprm \let)=\clrm\ }
-%
-\gdef\normalparens{\boldbrax\let&=\ampnr}
-} % End of definition inside \activeparens
-%% These parens (in \boldbrax) actually are a little bolder than the
-%% contained text.  This is especially needed for [ and ]
-\def\opnr{{\sf\char`\(}} \def\clnr{{\sf\char`\)}} \def\ampnr{\&}
-\def\lbrb{{\bf\char`\[}} \def\rbrb{{\bf\char`\]}}
-
-% First, defname, which formats the header line itself.
-% #1 should be the function name.
-% #2 should be the type of definition, such as "Function".
-
-\def\defname #1#2{%
-% Get the values of \leftskip and \rightskip as they were
-% outside the @def...
-\dimen2=\leftskip
-\advance\dimen2 by -\defbodyindent
-\dimen3=\rightskip
-\advance\dimen3 by -\defbodyindent
-\noindent        %
-\setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}%
-\dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line
-\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations
-\parshape 2 0in \dimen0 \defargsindent \dimen1     %
-% Now output arg 2 ("Function" or some such)
-% ending at \deftypemargin from the right margin,
-% but stuck inside a box of width 0 so it does not interfere with linebreaking
-{% Adjust \hsize to exclude the ambient margins,
-% so that \rightline will obey them.
-\advance \hsize by -\dimen2 \advance \hsize by -\dimen3
-\rlap{\rightline{{\rm #2}\hskip \deftypemargin}}}%
-% Make all lines underfull and no complaints:
-\tolerance=10000 \hbadness=10000    
-\advance\leftskip by -\defbodyindent
-\exdentamount=\defbodyindent
-{\df #1}\enskip        % Generate function name
-}
-
-% Actually process the body of a definition
-% #1 should be the terminating control sequence, such as \Edefun.
-% #2 should be the "another name" control sequence, such as \defunx.
-% #3 should be the control sequence that actually processes the header,
-%    such as \defunheader.
-
-\def\defparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2{\begingroup\obeylines\activeparens\spacesplit#3}%
-\parindent=0in
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup %
-\catcode 61=\active %
-\obeylines\activeparens\spacesplit#3}
-
-\def\defmethparsebody #1#2#3#4 {\begingroup\inENV %
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}%
-\parindent=0in
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
-
-\def\defopparsebody #1#2#3#4#5 {\begingroup\inENV %
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2##1 ##2 {\def#4{##1}%
-\begingroup\obeylines\activeparens\spacesplit{#3{##2}}}%
-\parindent=0in
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup\obeylines\activeparens\spacesplit{#3{#5}}}
-
-% These parsing functions are similar to the preceding ones
-% except that they do not make parens into active characters.
-% These are used for "variables" since they have no arguments.
-
-\def\defvarparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2{\begingroup\obeylines\spacesplit#3}%
-\parindent=0in
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup %
-\catcode 61=\active %
-\obeylines\spacesplit#3}
-
-\def\defvrparsebody #1#2#3#4 {\begingroup\inENV %
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
-\parindent=0in
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup\obeylines\spacesplit{#3{#4}}}
-
-\def\defopvarparsebody #1#2#3#4#5 {\begingroup\inENV %
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2##1 ##2 {\def#4{##1}%
-\begingroup\obeylines\spacesplit{#3{##2}}}%
-\parindent=0in
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup\obeylines\spacesplit{#3{#5}}}
-
-% Split up #2 at the first space token.
-% call #1 with two arguments:
-%  the first is all of #2 before the space token,
-%  the second is all of #2 after that space token.
-% If #2 contains no space token, all of it is passed as the first arg
-% and the second is passed as empty.
-
-{\obeylines
-\gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}%
-\long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{%
-\ifx\relax #3%
-#1{#2}{}\else #1{#2}{#3#4}\fi}}
-
-% So much for the things common to all kinds of definitions.
-
-% Define @defun.
-
-% First, define the processing that is wanted for arguments of \defun
-% Use this to expand the args and terminate the paragraph they make up
-
-\def\defunargs #1{\functionparens \sl
-% Expand, preventing hyphenation at `-' chars.
-% Note that groups don't affect changes in \hyphenchar.
-\hyphenchar\tensl=0
-#1%
-\hyphenchar\tensl=45
-\ifnum\parencount=0 \else \errmessage{unbalanced parens in @def arguments}\fi%
-\interlinepenalty=10000
-\advance\rightskip by 0pt plus 1fil
-\endgraf\penalty 10000\vskip -\parskip\penalty 10000%
-}
-
-\def\deftypefunargs #1{%
-% Expand, preventing hyphenation at `-' chars.
-% Note that groups don't affect changes in \hyphenchar.
-\functionparens
-\code{#1}%
-\interlinepenalty=10000
-\advance\rightskip by 0pt plus 1fil
-\endgraf\penalty 10000\vskip -\parskip\penalty 10000%
-}
-
-% Do complete processing of one @defun or @defunx line already parsed.
-
-% @deffn Command forward-char nchars
-
-\def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader}
-
-\def\deffnheader #1#2#3{\doind {fn}{\code{#2}}%
-\begingroup\defname {#2}{#1}\defunargs{#3}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @defun == @deffn Function
-
-\def\defun{\defparsebody\Edefun\defunx\defunheader}
-
-\def\defunheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{Function}%
-\defunargs {#2}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @deftypefun int foobar (int @var{foo}, float @var{bar})
-
-\def\deftypefun{\defparsebody\Edeftypefun\deftypefunx\deftypefunheader}
-
-% #1 is the data type.  #2 is the name and args.
-\def\deftypefunheader #1#2{\deftypefunheaderx{#1}#2 \relax}
-% #1 is the data type, #2 the name, #3 the args.
-\def\deftypefunheaderx #1#2 #3\relax{%
-\doind {fn}{\code{#2}}% Make entry in function index
-\begingroup\defname {\code{#1} #2}{Function}%
-\deftypefunargs {#3}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @deftypefn {Library Function} int foobar (int @var{foo}, float @var{bar})
-
-\def\deftypefn{\defmethparsebody\Edeftypefn\deftypefnx\deftypefnheader}
-
-% #1 is the classification.  #2 is the data type.  #3 is the name and args.
-\def\deftypefnheader #1#2#3{\deftypefnheaderx{#1}{#2}#3 \relax}
-% #1 is the classification, #2 the data type, #3 the name, #4 the args.
-\def\deftypefnheaderx #1#2#3 #4\relax{%
-\doind {fn}{\code{#3}}% Make entry in function index
-\begingroup\defname {\code{#2} #3}{#1}%
-\deftypefunargs {#4}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @defmac == @deffn Macro
-
-\def\defmac{\defparsebody\Edefmac\defmacx\defmacheader}
-
-\def\defmacheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{Macro}%
-\defunargs {#2}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @defspec == @deffn Special Form
-
-\def\defspec{\defparsebody\Edefspec\defspecx\defspecheader}
-
-\def\defspecheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{Special Form}%
-\defunargs {#2}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% This definition is run if you use @defunx
-% anywhere other than immediately after a @defun or @defunx.
-
-\def\deffnx #1 {\errmessage{@deffnx in invalid context}}
-\def\defunx #1 {\errmessage{@defunx in invalid context}}
-\def\defmacx #1 {\errmessage{@defmacx in invalid context}}
-\def\defspecx #1 {\errmessage{@defspecx in invalid context}}
-\def\deftypefnx #1 {\errmessage{@deftypefnx in invalid context}}
-\def\deftypeunx #1 {\errmessage{@deftypeunx in invalid context}}
-
-% @defmethod, and so on
-
-% @defop {Funny Method} foo-class frobnicate argument
-
-\def\defop #1 {\def\defoptype{#1}%
-\defopparsebody\Edefop\defopx\defopheader\defoptype}
-
-\def\defopheader #1#2#3{%
-\dosubind {fn}{\code{#2}}{on #1}% Make entry in function index
-\begingroup\defname {#2}{\defoptype{} on #1}%
-\defunargs {#3}\endgroup %
-}
-
-% @defmethod == @defop Method
-
-\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader}
-
-\def\defmethodheader #1#2#3{%
-\dosubind {fn}{\code{#2}}{on #1}% entry in function index
-\begingroup\defname {#2}{Method on #1}%
-\defunargs {#3}\endgroup %
-}
-
-% @defcv {Class Option} foo-class foo-flag
-
-\def\defcv #1 {\def\defcvtype{#1}%
-\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}
-
-\def\defcvarheader #1#2#3{%
-\dosubind {vr}{\code{#2}}{of #1}% Make entry in var index
-\begingroup\defname {#2}{\defcvtype{} of #1}%
-\defvarargs {#3}\endgroup %
-}
-
-% @defivar == @defcv {Instance Variable}
-
-\def\defivar{\defvrparsebody\Edefivar\defivarx\defivarheader}
-
-\def\defivarheader #1#2#3{%
-\dosubind {vr}{\code{#2}}{of #1}% Make entry in var index
-\begingroup\defname {#2}{Instance Variable of #1}%
-\defvarargs {#3}\endgroup %
-}
-
-% These definitions are run if you use @defmethodx, etc.,
-% anywhere other than immediately after a @defmethod, etc.
-
-\def\defopx #1 {\errmessage{@defopx in invalid context}}
-\def\defmethodx #1 {\errmessage{@defmethodx in invalid context}}
-\def\defcvx #1 {\errmessage{@defcvx in invalid context}}
-\def\defivarx #1 {\errmessage{@defivarx in invalid context}}
-
-% Now @defvar
-
-% First, define the processing that is wanted for arguments of @defvar.
-% This is actually simple: just print them in roman.
-% This must expand the args and terminate the paragraph they make up
-\def\defvarargs #1{\normalparens #1%
-\interlinepenalty=10000
-\endgraf\penalty 10000\vskip -\parskip\penalty 10000}
-
-% @defvr Counter foo-count
-
-\def\defvr{\defvrparsebody\Edefvr\defvrx\defvrheader}
-
-\def\defvrheader #1#2#3{\doind {vr}{\code{#2}}%
-\begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup}
-
-% @defvar == @defvr Variable
-
-\def\defvar{\defvarparsebody\Edefvar\defvarx\defvarheader}
-
-\def\defvarheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
-\begingroup\defname {#1}{Variable}%
-\defvarargs {#2}\endgroup %
-}
-
-% @defopt == @defvr {User Option}
-
-\def\defopt{\defvarparsebody\Edefopt\defoptx\defoptheader}
-
-\def\defoptheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
-\begingroup\defname {#1}{User Option}%
-\defvarargs {#2}\endgroup %
-}
-
-% @deftypevar int foobar
-
-\def\deftypevar{\defvarparsebody\Edeftypevar\deftypevarx\deftypevarheader}
-
-% #1 is the data type.  #2 is the name.
-\def\deftypevarheader #1#2{%
-\doind {vr}{\code{#2}}% Make entry in variables index
-\begingroup\defname {\code{#1} #2}{Variable}%
-\interlinepenalty=10000
-\endgraf\penalty 10000\vskip -\parskip\penalty 10000
-\endgroup}
-
-% @deftypevr {Global Flag} int enable
-
-\def\deftypevr{\defvrparsebody\Edeftypevr\deftypevrx\deftypevrheader}
-
-\def\deftypevrheader #1#2#3{\doind {vr}{\code{#3}}%
-\begingroup\defname {\code{#2} #3}{#1}
-\interlinepenalty=10000
-\endgraf\penalty 10000\vskip -\parskip\penalty 10000
-\endgroup}
-
-% This definition is run if you use @defvarx
-% anywhere other than immediately after a @defvar or @defvarx.
-
-\def\defvrx #1 {\errmessage{@defvrx in invalid context}}
-\def\defvarx #1 {\errmessage{@defvarx in invalid context}}
-\def\defoptx #1 {\errmessage{@defoptx in invalid context}}
-\def\deftypevarx #1 {\errmessage{@deftypevarx in invalid context}}
-\def\deftypevrx #1 {\errmessage{@deftypevrx in invalid context}}
-
-% Now define @deftp
-% Args are printed in bold, a slight difference from @defvar.
-
-\def\deftpargs #1{\bf \defvarargs{#1}}
-
-% @deftp Class window height width ...
-
-\def\deftp{\defvrparsebody\Edeftp\deftpx\deftpheader}
-
-\def\deftpheader #1#2#3{\doind {tp}{\code{#2}}%
-\begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup}
-
-% This definition is run if you use @deftpx, etc
-% anywhere other than immediately after a @deftp, etc.
-
-\def\deftpx #1 {\errmessage{@deftpx in invalid context}}
-
-\message{cross reference,}
-% Define cross-reference macros
-\newwrite \auxfile
-
-\newif\ifhavexrefs  % True if xref values are known.
-\newif\ifwarnedxrefs  % True if we warned once that they aren't known.
-
-% \setref{foo} defines a cross-reference point named foo.
-
-\def\setref#1{%
-%\dosetq{#1-title}{Ytitle}%
-\dosetq{#1-pg}{Ypagenumber}%
-\dosetq{#1-snt}{Ysectionnumberandtype}}
-
-\def\unnumbsetref#1{%
-%\dosetq{#1-title}{Ytitle}%
-\dosetq{#1-pg}{Ypagenumber}%
-\dosetq{#1-snt}{Ynothing}}
-
-\def\appendixsetref#1{%
-%\dosetq{#1-title}{Ytitle}%
-\dosetq{#1-pg}{Ypagenumber}%
-\dosetq{#1-snt}{Yappendixletterandtype}}
-
-% \xref, \pxref, and \ref generate cross-references to specified points.
-% For \xrefX, #1 is the node name, #2 the name of the Info
-% cross-reference, #3 the printed node name, #4 the name of the Info
-% file, #5 the name of the printed manual.  All but the node name can be
-% omitted.
-% 
-\def\pxref#1{see \xrefX[#1,,,,,,,]}
-\def\xref#1{See \xrefX[#1,,,,,,,]}
-\def\ref#1{\xrefX[#1,,,,,,,]}
-\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup%
-\def\printedmanual{\ignorespaces #5}%
-\def\printednodename{\ignorespaces #3}%
-%
-\setbox1=\hbox{\printedmanual}%
-\setbox0=\hbox{\printednodename}%
-\ifdim \wd0=0pt%
-\def\printednodename{\ignorespaces #1}%
-%%% Uncomment the following line to make the actual chapter or section title
-%%% appear inside the square brackets.
-%\def\printednodename{#1-title}%
-\fi%
-%
-%
-% If we use \unhbox0 and \unhbox1 to print the node names, TeX does
-% not insert empty discretionaries after hyphens, which means that it
-% will not find a line break at a hyphen in a node names.  Since some
-% manuals are best written with fairly long node names, containing
-% hyphens, this is a loss.  Therefore, we simply give the text of
-% the node name again, so it is as if TeX is seeing it for the first
-% time.
-\ifdim \wd1>0pt
-section ``\printednodename'' in \cite{\printedmanual}%
-\else%
-\turnoffactive%
-\refx{#1-snt}{} [\printednodename], page\tie\refx{#1-pg}{}%
-\fi
-\endgroup}
-
-% \dosetq is the interface for calls from other macros
-
-% Use \turnoffactive so that punctuation chars such as underscore
-% work in node names.
-\def\dosetq #1#2{{\let\folio=0 \turnoffactive%
-\edef\next{\write\auxfile{\internalsetq {#1}{#2}}}%
-\next}}
-
-% \internalsetq {foo}{page} expands into
-% CHARACTERS 'xrdef {foo}{...expansion of \Ypage...}
-% When the aux file is read, ' is the escape character
-
-\def\internalsetq #1#2{'xrdef {#1}{\csname #2\endcsname}}
-
-% Things to be expanded by \internalsetq
-
-\def\Ypagenumber{\folio}
-
-\def\Ytitle{\thischapter}
-
-\def\Ynothing{}
-
-\def\Ysectionnumberandtype{%
-\ifnum\secno=0 Chapter\xreftie\the\chapno %
-\else \ifnum \subsecno=0 Section\xreftie\the\chapno.\the\secno %
-\else \ifnum \subsubsecno=0 %
-Section\xreftie\the\chapno.\the\secno.\the\subsecno %
-\else %
-Section\xreftie\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno %
-\fi \fi \fi }
-
-\def\Yappendixletterandtype{%
-\ifnum\secno=0 Appendix\xreftie'char\the\appendixno{}%
-\else \ifnum \subsecno=0 Section\xreftie'char\the\appendixno.\the\secno %
-\else \ifnum \subsubsecno=0 %
-Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno %
-\else %
-Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %
-\fi \fi \fi }
-
-\gdef\xreftie{'tie}
-
-% Use TeX 3.0's \inputlineno to get the line number, for better error
-% messages, but if we're using an old version of TeX, don't do anything.
-% 
-\ifx\inputlineno\thisisundefined
-  \let\linenumber = \empty % Non-3.0.
-\else
-  \def\linenumber{\the\inputlineno:\space}
-\fi
-
-% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
-% If its value is nonempty, SUFFIX is output afterward.
-
-\def\refx#1#2{%
-  \expandafter\ifx\csname X#1\endcsname\relax
-    % If not defined, say something at least.
-    $\langle$un\-de\-fined$\rangle$%
-    \ifhavexrefs
-      \message{\linenumber Undefined cross reference `#1'.}%
-    \else
-      \ifwarnedxrefs\else
-        \global\warnedxrefstrue
-        \message{Cross reference values unknown; you must run TeX again.}%
-      \fi
-    \fi
-  \else
-    % It's defined, so just use it.
-    \csname X#1\endcsname
-  \fi
-  #2% Output the suffix in any case.
-}
-
-% Read the last existing aux file, if any.  No error if none exists.
-
-% This is the macro invoked by entries in the aux file.
-\def\xrdef #1#2{
-{\catcode`\'=\other\expandafter \gdef \csname X#1\endcsname {#2}}}
-
-\def\readauxfile{%
-\begingroup
-\catcode `\^^@=\other
-\catcode `\\ 1=\other
-\catcode `\\ 2=\other
-\catcode `\^^C=\other
-\catcode `\^^D=\other
-\catcode `\^^E=\other
-\catcode `\^^F=\other
-\catcode `\^^G=\other
-\catcode `\^^H=\other
-\catcode `\\v=\other
-\catcode `\^^L=\other
-\catcode `\\ e=\other
-\catcode `\\ f=\other
-\catcode `\\10=\other
-\catcode `\\11=\other
-\catcode `\\12=\other
-\catcode `\\13=\other
-\catcode `\\14=\other
-\catcode `\\15=\other
-\catcode `\\16=\other
-\catcode `\\17=\other
-\catcode `\\18=\other
-\catcode `\\19=\other
-\catcode 26=\other
-\catcode `\^^[=\other
-\catcode `\^^\=\other
-\catcode `\^^]=\other
-\catcode `\^^^=\other
-\catcode `\^^_=\other
-\catcode `\@=\other
-\catcode `\^=\other
-\catcode `\~=\other
-\catcode `\[=\other
-\catcode `\]=\other
-\catcode`\"=\other
-\catcode`\_=\other
-\catcode`\|=\other
-\catcode`\<=\other
-\catcode`\>=\other
-\catcode `\$=\other
-\catcode `\#=\other
-\catcode `\&=\other
-% the aux file uses ' as the escape.
-% Turn off \ as an escape so we do not lose on
-% entries which were dumped with control sequences in their names.
-% For example, 'xrdef {$\leq $-fun}{page ...} made by @defun ^^
-% Reference to such entries still does not work the way one would wish,
-% but at least they do not bomb out when the aux file is read in.
-\catcode `\{=1 \catcode `\}=2
-\catcode `\%=\other
-\catcode `\'=0
-\catcode `\\=\other
-\openin 1 \jobname.aux
-\ifeof 1 \else \closein 1 \input \jobname.aux \global\havexrefstrue
-\fi
-% Open the new aux file.  Tex will close it automatically at exit.
-\openout \auxfile=\jobname.aux
-\endgroup}
-
-
-% Footnotes.
-
-\newcount \footnoteno
-
-% The trailing space in the following definition for supereject is
-% vital for proper filling; pages come out unaligned when you do a
-% pagealignmacro call if that space before the closing brace is
-% removed.
-\def\supereject{\par\penalty -20000\footnoteno =0 }
-
-% @footnotestyle is meaningful for info output only..
-\let\footnotestyle=\comment
-
-\let\ptexfootnote=\footnote
-
-{\catcode `\@=11
-\long\gdef\footnote #1{\global\advance \footnoteno by \@ne
-\unskip
-\edef\thisfootno{$^{\the\footnoteno}$}%
-\let\@sf\empty
-\ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
-\thisfootno\@sf \footnotezzz{#1}}
-% \parsearg\footnotezzz}
-
-\long\gdef\footnotezzz #1{\insert\footins{
-\interlinepenalty\interfootnotelinepenalty
-\splittopskip\ht\strutbox % top baseline for broken footnotes
-\splitmaxdepth\dp\strutbox \floatingpenalty\@MM
-\leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip
-\footstrut\parindent=\defaultparindent\hang\textindent{\thisfootno}#1\strut}}
-
-}%end \catcode `\@=11
-
-% End of control word definitions.
-
-\message{and turning on texinfo input format.}
-
-\def\openindices{%
-   \newindex{cp}%
-   \newcodeindex{fn}%
-   \newcodeindex{vr}%
-   \newcodeindex{tp}%
-   \newcodeindex{ky}%
-   \newcodeindex{pg}%
-}
-
-% Set some numeric style parameters, for 8.5 x 11 format.
-
-%\hsize = 6.5in
-\newdimen\defaultparindent \defaultparindent = 15pt
-\parindent = \defaultparindent
-\parskip 18pt plus 1pt
-\baselineskip 15pt
-\advance\topskip by 1.2cm
-
-% Prevent underfull vbox error messages.
-\vbadness=10000
-
-% Following George Bush, just get rid of widows and orphans.
-\widowpenalty=10000
-\clubpenalty=10000
-
-% Use TeX 3.0's \emergencystretch to help line breaking, but if we're
-% using an old version of TeX, don't do anything.  We want the amount of
-% stretch added to depend on the line length, hence the dependence on
-% \hsize.  This makes it come to about 9pt for the 8.5x11 format.
-% 
-\ifx\emergencystretch\thisisundefined \else
-  \emergencystretch = \hsize
-  \divide\emergencystretch by 45
-\fi
-
-% Use @smallbook to reset parameters for 7x9.5 format  (or else 7x9.25)
-\def\smallbook{
-\global\lispnarrowing = 0.3in
-\global\baselineskip 12pt
-\advance\topskip by -1cm
-\global\parskip 3pt plus 1pt
-\global\hsize = 5in
-\global\doublecolumnhsize=2.4in \global\doublecolumnvsize=15.0in
-\global\vsize=7.5in
-\global\tolerance=700
-\global\hfuzz=1pt
-\global\contentsrightmargin=0pt
-
-\global\pagewidth=\hsize
-\global\pageheight=\vsize
-
-\global\let\smalllisp=\smalllispx
-\global\let\smallexample=\smalllispx
-\global\def\Esmallexample{\Esmalllisp}
-}
-
-% Use @afourpaper to print on European A4 paper.
-\def\afourpaper{
-\global\tolerance=700
-\global\hfuzz=1pt
-\global\baselineskip=12pt
-\global\parskip 15pt plus 1pt
-
-\global\vsize= 53\baselineskip
-\advance\vsize by \topskip
-%\global\hsize=   5.85in     % A4 wide 10pt
-\global\hsize=  6.5in
-\global\outerhsize=\hsize
-\global\advance\outerhsize by 0.5in
-\global\outervsize=\vsize
-\global\advance\outervsize by 0.6in
-\global\doublecolumnhsize=\hsize
-\global\divide\doublecolumnhsize by 2
-\global\advance\doublecolumnhsize by -0.1in
-\global\doublecolumnvsize=\vsize
-\global\multiply\doublecolumnvsize by 2
-\global\advance\doublecolumnvsize by 0.1in
-
-\global\pagewidth=\hsize
-\global\pageheight=\vsize
-}
-
-%% For a final copy, take out the rectangles
-%% that mark overfull boxes (in case you have decided
-%% that the text looks ok even though it passes the margin).
-\def\finalout{\overfullrule=0pt}
-
-% Define macros to output various characters with catcode for normal text.
-\catcode`\"=\other
-\catcode`\~=\other
-\catcode`\^=\other
-\catcode`\_=\other
-\catcode`\|=\other
-\catcode`\<=\other
-\catcode`\>=\other
-\catcode`\+=\other
-\def\normaldoublequote{"}
-\def\normaltilde{~}
-\def\normalcaret{^}
-\def\normalunderscore{_}
-\def\normalverticalbar{|}
-\def\normalless{<}
-\def\normalgreater{>}
-\def\normalplus{+}
-
-% This macro is used to make a character print one way in ttfont
-% where it can probably just be output, and another way in other fonts,
-% where something hairier probably needs to be done.
-%
-% #1 is what to print if we are indeed using \tt; #2 is what to print
-% otherwise.  Since all the Computer Modern typewriter fonts have zero
-% interword stretch (and shrink), and it is reasonable to expect all
-% typewriter fonts to have this, we can check that font parameter.
-% 
-\def\ifusingtt#1#2{\ifdim \fontdimen3\the\font=0pt #1\else #2\fi}
-
-% Turn off all special characters except @
-% (and those which the user can use as if they were ordinary).
-% Most of these we simply print from the \tt font, but for some, we can
-% use math or other variants that look better in normal text.
-
-\catcode`\"=\active
-\def\activedoublequote{{\tt \char '042}}
-\let"=\activedoublequote
-\catcode`\~=\active
-\def~{{\tt \char '176}}
-\chardef\hat=`\^
-\catcode`\^=\active
-\def^{{\tt \hat}}
-
-\catcode`\_=\active
-\def_{\ifusingtt\normalunderscore\_}
-% Subroutine for the previous macro.
-\def\_{\lvvmode \kern.06em \vbox{\hrule width.3em height.1ex}}
-
-% \lvvmode is equivalent in function to \leavevmode.
-% Using \leavevmode runs into trouble when written out to
-% an index file due to the expansion of \leavevmode into ``\unhbox
-% \voidb@x'' ---which looks to TeX like ``\unhbox \voidb\x'' due to our
-% magic tricks with @.
-\def\lvvmode{\vbox to 0pt{}}
-
-\catcode`\|=\active
-\def|{{\tt \char '174}}
-\chardef \less=`\<
-\catcode`\<=\active
-\def<{{\tt \less}}
-\chardef \gtr=`\>
-\catcode`\>=\active
-\def>{{\tt \gtr}}
-\catcode`\+=\active
-\def+{{\tt \char 43}}
-%\catcode 27=\active
-%\def^^[{$\diamondsuit$}
-
-% Used sometimes to turn off (effectively) the active characters
-% even after parsing them.
-\def\turnoffactive{\let"=\normaldoublequote
-\let~=\normaltilde
-\let^=\normalcaret
-\let_=\normalunderscore
-\let|=\normalverticalbar
-\let<=\normalless
-\let>=\normalgreater
-\let+=\normalplus}
-
-% Set up an active definition for =, but don't enable it most of the time.
-{\catcode`\==\active
-\global\def={{\tt \char 61}}}
-
-\catcode`\@=0
-
-% \rawbackslashxx output one backslash character in current font
-\global\chardef\rawbackslashxx=`\\
-%{\catcode`\\=\other
-%@gdef@rawbackslashxx{\}}
-
-% \rawbackslash redefines \ as input to do \rawbackslashxx.
-{\catcode`\\=\active
-@gdef@rawbackslash{@let\=@rawbackslashxx }}
-
-% \normalbackslash outputs one backslash in fixed width font.
-\def\normalbackslash{{\tt\rawbackslashxx}}
-
-% Say @foo, not \foo, in error messages.
-\escapechar=`\@
-
-% \catcode 17=0   % Define control-q
-\catcode`\\=\active
-
-% If a .fmt file is being used, we don't want the `\input texinfo' to show up.
-% That is what \eatinput is for; after that, the `\' should revert to printing 
-% a backslash.
-%
-@gdef@eatinput input texinfo{@fixbackslash}
-@global@let\ = @eatinput
-
-% On the other hand, perhaps the file did not have a `\input texinfo'. Then
-% the first `\{ in the file would cause an error. This macro tries to fix 
-% that, assuming it is called before the first `\' could plausibly occur.
-% 
-@gdef@fixbackslash{@ifx\@eatinput @let\ = @normalbackslash @fi}
-
-%% These look ok in all fonts, so just make them not special.  The @rm below
-%% makes sure that the current font starts out as the newly loaded cmr10
-@catcode`@$=@other @catcode`@%=@other @catcode`@&=@other @catcode`@#=@other
-
-@textfonts
-@rm
-
-@c Local variables:
-@c page-delimiter: "^\\\\message"
-@c End:
diff --git a/test/manual/etags/y-src/atest.y b/test/manual/etags/y-src/atest.y
deleted file mode 100644 (file)
index 81087b8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-%%
-exp    :       exp '*' exp
-                       { $$.value = $1.value ? $3.value : $5.value;
-                         $$.unsignedp = $3.unsignedp || $5.unsignedp; }
-       ;
diff --git a/test/manual/etags/y-src/cccp.c b/test/manual/etags/y-src/cccp.c
deleted file mode 100644 (file)
index bc30e23..0000000
+++ /dev/null
@@ -1,2203 +0,0 @@
-/* A Bison parser, made from cccp.y
-   by GNU bison 1.32.  */
-
-#define YYBISON 1  /* Identify Bison output.  */
-
-# define       INT     257
-# define       CHAR    258
-# define       NAME    259
-# define       ERROR   260
-# define       OR      261
-# define       AND     262
-# define       EQUAL   263
-# define       NOTEQUAL        264
-# define       LEQ     265
-# define       GEQ     266
-# define       LSH     267
-# define       RSH     268
-# define       UNARY   269
-
-#line 26 "y-src/cccp.y"
-
-#include "config.h"
-#include <setjmp.h>
-/* #define YYDEBUG 1 */
-
-#ifdef MULTIBYTE_CHARS
-#include <stdlib.h>
-#include <locale.h>
-#endif
-
-#include <stdio.h>
-
-typedef unsigned char U_CHAR;
-
-/* This is used for communicating lists of keywords with cccp.c.  */
-struct arglist {
-  struct arglist *next;
-  U_CHAR *name;
-  int length;
-  int argno;
-};
-
-/* Define a generic NULL if one hasn't already been defined.  */
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-#ifndef GENERIC_PTR
-#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)
-#define GENERIC_PTR void *
-#else
-#define GENERIC_PTR char *
-#endif
-#endif
-
-#ifndef NULL_PTR
-#define NULL_PTR ((GENERIC_PTR)0)
-#endif
-
-int yylex ();
-void yyerror ();
-int expression_value;
-
-static jmp_buf parse_return_error;
-
-/* Nonzero means count most punctuation as part of a name.  */
-static int keyword_parsing = 0;
-
-/* some external tables of character types */
-extern unsigned char is_idstart[], is_idchar[], is_hor_space[];
-
-extern char *xmalloc ();
-
-/* Flag for -pedantic.  */
-extern int pedantic;
-
-/* Flag for -traditional.  */
-extern int traditional;
-
-#ifndef CHAR_TYPE_SIZE
-#define CHAR_TYPE_SIZE BITS_PER_UNIT
-#endif
-
-#ifndef INT_TYPE_SIZE
-#define INT_TYPE_SIZE BITS_PER_WORD
-#endif
-
-#ifndef LONG_TYPE_SIZE
-#define LONG_TYPE_SIZE BITS_PER_WORD
-#endif
-
-#ifndef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE INT_TYPE_SIZE
-#endif
-
-/* Yield nonzero if adding two numbers with A's and B's signs can yield a
-   number with SUM's sign, where A, B, and SUM are all C integers.  */
-#define possible_sum_sign(a, b, sum) ((((a) ^ (b)) | ~ ((a) ^ (sum))) < 0)
-
-static void integer_overflow ();
-static long left_shift ();
-static long right_shift ();
-
-#line 111 "y-src/cccp.y"
-#ifndef YYSTYPE
-typedef union {
-  struct constant {long value; int unsignedp;} integer;
-  struct name {U_CHAR *address; int length;} name;
-  struct arglist *keywords;
-  int voidval;
-  char *sval;
-} yystype;
-# define YYSTYPE yystype
-#endif
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-
-
-#define        YYFINAL         73
-#define        YYFLAG          -32768
-#define        YYNTBASE        34
-
-/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
-#define YYTRANSLATE(x) ((unsigned)(x) <= 269 ? yytranslate[x] : 39)
-
-/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
-static const char yytranslate[] =
-{
-       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    29,     2,    31,     2,    27,    14,     2,
-      32,    33,    25,    23,     9,    24,     2,    26,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     8,     2,
-      17,     2,    18,     7,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,    13,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,    12,     2,    30,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
-       6,    10,    11,    15,    16,    19,    20,    21,    22,    28
-};
-
-#if YYDEBUG
-static const short yyprhs[] =
-{
-       0,     0,     2,     4,     8,    11,    14,    17,    20,    23,
-      24,    31,    35,    39,    43,    47,    51,    55,    59,    63,
-      67,    71,    75,    79,    83,    87,    91,    95,    99,   103,
-     107,   113,   115,   117,   119,   120,   125
-};
-static const short yyrhs[] =
-{
-      35,     0,    36,     0,    35,     9,    36,     0,    24,    36,
-       0,    29,    36,     0,    23,    36,     0,    30,    36,     0,
-      31,     5,     0,     0,    31,     5,    37,    32,    38,    33,
-       0,    32,    35,    33,     0,    36,    25,    36,     0,    36,
-      26,    36,     0,    36,    27,    36,     0,    36,    23,    36,
-       0,    36,    24,    36,     0,    36,    21,    36,     0,    36,
-      22,    36,     0,    36,    15,    36,     0,    36,    16,    36,
-       0,    36,    19,    36,     0,    36,    20,    36,     0,    36,
-      17,    36,     0,    36,    18,    36,     0,    36,    14,    36,
-       0,    36,    13,    36,     0,    36,    12,    36,     0,    36,
-      11,    36,     0,    36,    10,    36,     0,    36,     7,    36,
-       8,    36,     0,     3,     0,     4,     0,     5,     0,     0,
-      32,    38,    33,    38,     0,     5,    38,     0
-};
-
-#endif
-
-#if YYDEBUG
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const short yyrline[] =
-{
-       0,   143,   148,   149,   156,   161,   164,   166,   169,   173,
-     173,   180,   185,   197,   212,   223,   230,   237,   243,   249,
-     252,   255,   261,   267,   273,   279,   282,   285,   288,   291,
-     294,   297,   299,   301,   306,   308,   321
-};
-#endif
-
-
-#if (YYDEBUG) || defined YYERROR_VERBOSE
-
-/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
-static const char *const yytname[] =
-{
-  "$", "error", "$undefined.", "INT", "CHAR", "NAME", "ERROR", "'?'", "':'", 
-  "','", "OR", "AND", "'|'", "'^'", "'&'", "EQUAL", "NOTEQUAL", "'<'", 
-  "'>'", "LEQ", "GEQ", "LSH", "RSH", "'+'", "'-'", "'*'", "'/'", "'%'", 
-  "UNARY", "'!'", "'~'", "'#'", "'('", "')'", "start", "exp1", "exp", 
-  "@1", "keywords", NULL
-};
-#endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const short yyr1[] =
-{
-       0,    34,    35,    35,    36,    36,    36,    36,    36,    37,
-      36,    36,    36,    36,    36,    36,    36,    36,    36,    36,
-      36,    36,    36,    36,    36,    36,    36,    36,    36,    36,
-      36,    36,    36,    36,    38,    38,    38
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const short yyr2[] =
-{
-       0,     1,     1,     3,     2,     2,     2,     2,     2,     0,
-       6,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       5,     1,     1,     1,     0,     4,     2
-};
-
-/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
-   doesn't specify something else to do.  Zero means the default is an
-   error. */
-static const short yydefact[] =
-{
-       0,    31,    32,    33,     0,     0,     0,     0,     0,     0,
-       1,     2,     6,     4,     5,     7,     8,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    11,
-       3,     0,    29,    28,    27,    26,    25,    19,    20,    23,
-      24,    21,    22,    17,    18,    15,    16,    12,    13,    14,
-      34,     0,    34,    34,     0,    30,    36,     0,    10,    34,
-      35,     0,     0,     0
-};
-
-static const short yydefgoto[] =
-{
-      71,    10,    11,    38,    64
-};
-
-static const short yypact[] =
-{
-      31,-32768,-32768,-32768,    31,    31,    31,    31,     4,    31,
-       3,    80,-32768,-32768,-32768,-32768,     6,    32,    31,    31,
-      31,    31,    31,    31,    31,    31,    31,    31,    31,    31,
-      31,    31,    31,    31,    31,    31,    31,    31,     7,-32768,
-      80,    59,    97,   113,   128,   142,   155,    25,    25,   162,
-     162,   162,   162,   167,   167,   -19,   -19,-32768,-32768,-32768,
-       5,    31,     5,     5,   -20,    80,-32768,    20,-32768,     5,
-  -32768,    40,    56,-32768
-};
-
-static const short yypgoto[] =
-{
-  -32768,    49,    -4,-32768,   -58
-};
-
-
-#define        YYLAST          194
-
-
-static const short yytable[] =
-{
-      12,    13,    14,    15,    66,    67,    35,    36,    37,    16,
-      62,    70,    18,    68,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,     1,     2,     3,    63,    -9,    60,
-      72,    18,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    69,     4,     5,    73,    65,    17,     0,
-       6,     7,     8,     9,     0,    39,    19,    61,     0,    20,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    36,    37,    19,     0,     0,
-      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,    35,    36,    37,    21,    22,
-      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      33,    34,    35,    36,    37,    22,    23,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    23,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    24,    25,    26,    27,
-      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    31,    32,    33,    34,    35,    36,    37,
-      33,    34,    35,    36,    37
-};
-
-static const short yycheck[] =
-{
-       4,     5,     6,     7,    62,    63,    25,    26,    27,     5,
-       5,    69,     9,    33,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
-      34,    35,    36,    37,     3,     4,     5,    32,    32,    32,
-       0,     9,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    27,    33,    23,    24,     0,    61,     9,    -1,
-      29,    30,    31,    32,    -1,    33,     7,     8,    -1,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,    25,    26,    27,     7,    -1,    -1,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,    25,    26,    27,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    27,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-      27,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    27,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    27,    21,    22,    23,    24,    25,    26,    27,
-      23,    24,    25,    26,    27
-};
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/bison/bison.simple"
-
-/* Skeleton output parser for bison,
-   Copyright (C) 1984, 1989-1990, 2000-2001, 2016-2024 Free Software
-   Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-/* This is the parser code that is written into each bison parser when
-   the %semantic_parser declaration is not specified in the grammar.
-   It was written by Richard Stallman by simplifying the hairy parser
-   used when %semantic_parser is specified.  */
-
-/* All symbols defined below should begin with yy or YY, to avoid
-   infringing on user name space.  This should be done even for local
-   variables, as they might otherwise be expanded by user macros.
-   There are some unavoidable exceptions within include files to
-   define necessary library symbols; they are noted "INFRINGES ON
-   USER NAME SPACE" below.  */
-
-#ifdef __cplusplus
-# define YYSTD(x) std::x
-#else
-# define YYSTD(x) x
-#endif
-
-#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
-
-/* The parser invokes alloca or malloc; define the necessary symbols.  */
-
-# if YYSTACK_USE_ALLOCA
-#  define YYSTACK_ALLOC alloca
-#  define YYSIZE_T YYSTD (size_t)
-# else
-#  ifndef YYSTACK_USE_ALLOCA
-#   if defined (alloca) || defined (_ALLOCA_H)
-#    define YYSTACK_ALLOC alloca
-#    define YYSIZE_T YYSTD (size_t)
-#   else
-#    ifdef __GNUC__
-#     define YYSTACK_ALLOC __builtin_alloca
-#    endif
-#   endif
-#  endif
-# endif
-
-# ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning. */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# else
-#  ifdef __cplusplus
-#   include <cstdlib> /* INFRINGES ON USER NAME SPACE */
-#   define YYSIZE_T std::size_t
-#  else
-#   ifdef __STDC__
-#    include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#    define YYSIZE_T size_t
-#   endif
-#  endif
-#  define YYSTACK_ALLOC YYSTD (malloc)
-#  define YYSTACK_FREE YYSTD (free)
-# endif
-
-/* A type that is properly aligned for any stack member.  */
-union yyalloc
-{
-  short yyss;
-  YYSTYPE yyvs;
-# if YYLSP_NEEDED
-  YYLTYPE yyls;
-# endif
-};
-
-/* The size of the maximum gap between one aligned stack and the next.  */
-# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
-   N elements.  */
-# if YYLSP_NEEDED
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))     \
-      + 2 * YYSTACK_GAP_MAX)
-# else
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE))                                \
-      + YYSTACK_GAP_MAX)
-# endif
-
-/* Relocate the TYPE STACK from its old location to the new one.  The
-   local variables YYSIZE and YYSTACKSIZE give the old and new number of
-   elements in the stack, and YYPTR gives the new location of the
-   stack.  Advance YYPTR to a properly aligned location for the next
-   stack.  */
-# define YYSTACK_RELOCATE(Type, Stack)                                 \
-    do                                                                 \
-      {                                                                        \
-       YYSIZE_T yynewbytes;                                            \
-       yymemcpy ((char *) yyptr, (char *) (Stack),                     \
-                 yysize * (YYSIZE_T) sizeof (Type));                   \
-       Stack = &yyptr->Stack;                                          \
-       yynewbytes = yystacksize * sizeof (Type) + YYSTACK_GAP_MAX;     \
-       yyptr += yynewbytes / sizeof (*yyptr);                          \
-      }                                                                        \
-    while (0)
-
-#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
-
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# ifdef __cplusplus
-#  include <cstddef> /* INFRINGES ON USER NAME SPACE */
-#  define YYSIZE_T std::size_t
-# else
-#  ifdef __STDC__
-#   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-#   define YYSIZE_T size_t
-#  endif
-# endif
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#define yyerrok                (yyerrstatus = 0)
-#define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                -2
-#define YYEOF          0
-#define YYACCEPT       goto yyacceptlab
-#define YYABORT        goto yyabortlab
-#define YYERROR                goto yyerrlab1
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
-#define YYFAIL         goto yyerrlab
-#define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(Token, Value)                                 \
-do                                                             \
-  if (yychar == YYEMPTY && yylen == 1)                         \
-    {                                                          \
-      yychar = (Token);                                                \
-      yylval = (Value);                                                \
-      yychar1 = YYTRANSLATE (yychar);                          \
-      YYPOPSTACK;                                              \
-      goto yybackup;                                           \
-    }                                                          \
-  else                                                         \
-    {                                                          \
-      yyerror ("syntax error: cannot back up");                        \
-      YYERROR;                                                 \
-    }                                                          \
-while (0)
-
-#define YYTERROR       1
-#define YYERRCODE      256
-
-
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
-   are run).
-
-   When YYLLOC_DEFAULT is run, CURRENT is set the location of the
-   first token.  By default, to implement support for ranges, extend
-   its range to the last symbol.  */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)               \
-   Current.last_line   = Rhs[N].last_line;     \
-   Current.last_column = Rhs[N].last_column;
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments.  */
-
-#if YYPURE
-# if YYLSP_NEEDED
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, &yylloc, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval, &yylloc)
-#  endif
-# else /* !YYLSP_NEEDED */
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval)
-#  endif
-# endif /* !YYLSP_NEEDED */
-#else /* !YYPURE */
-# define YYLEX                 yylex ()
-#endif /* !YYPURE */
-
-
-/* Enable debugging if requested.  */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-#  ifdef __cplusplus
-#   include <cstdio>  /* INFRINGES ON USER NAME SPACE */
-#  else
-#   include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-#  endif
-#  define YYFPRINTF YYSTD (fprintf)
-# endif
-
-# define YYDPRINTF(Args)                       \
-do {                                           \
-  if (yydebug)                                 \
-    YYFPRINTF Args;                            \
-} while (0)
-/* Nonzero means print parse trace. [The following comment makes no
-   sense to me.  Could someone clarify it?  --akim] Since this is
-   uninitialized, it does not stop multiple parsers from coexisting.
-   */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-#endif /* !YYDEBUG */
-
-/* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef        YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
-   if the built-in stack extension method is used).
-
-   Do not make this value too large; the results are undefined if
-   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
-   evaluated with infinite-precision integer arithmetic.  */
-
-#if YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-\f
-#if ! defined (yyoverflow) && ! defined (yymemcpy)
-# if __GNUC__ > 1              /* GNU C and GNU C++ define this.  */
-#  define yymemcpy __builtin_memcpy
-# else                         /* not GNU C or C++ */
-
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
-static void
-#  if defined (__STDC__) || defined (__cplusplus)
-yymemcpy (char *yyto, const char *yyfrom, YYSIZE_T yycount)
-#  else
-yymemcpy (yyto, yyfrom, yycount)
-     char *yyto;
-     const char *yyfrom;
-     YYSIZE_T yycount;
-#  endif
-{
-  register const char *yyf = yyfrom;
-  register char *yyt = yyto;
-  register YYSIZE_T yyi = yycount;
-
-  while (yyi-- != 0)
-    *yyt++ = *yyf++;
-}
-# endif
-#endif
-
-#ifdef YYERROR_VERBOSE
-
-# ifndef yystrlen
-#  if defined (__GLIBC__) && defined (_STRING_H)
-#   define yystrlen strlen
-#  else
-/* Return the length of YYSTR.  */
-static YYSIZE_T
-#   if defined (__STDC__) || defined (__cplusplus)
-yystrlen (const char *yystr)
-#   else
-yystrlen (yystr)
-     const char *yystr;
-#   endif
-{
-  register const char *yys = yystr;
-
-  while (*yys++ != '\0')
-    continue;
-
-  return yys - yystr - 1;
-}
-#  endif
-# endif
-
-# ifndef yystpcpy
-#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
-#   define yystpcpy stpcpy
-#  else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
-   YYDEST.  */
-static char *
-#   if defined (__STDC__) || defined (__cplusplus)
-yystpcpy (char *yydest, const char *yysrc)
-#   else
-yystpcpy (yydest, yysrc)
-     char *yydest;
-     const char *yysrc;
-#   endif
-{
-  register char *yyd = yydest;
-  register const char *yys = yysrc;
-
-  while ((*yyd++ = *yys++) != '\0')
-    continue;
-
-  return yyd - 1;
-}
-#  endif
-# endif
-#endif
-\f
-#line 341 "/usr/share/bison/bison.simple"
-
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
-
-#ifdef YYPARSE_PARAM
-# ifdef __cplusplus
-#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL
-# else /* !__cplusplus */
-#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-# endif /* !__cplusplus */
-#else /* !YYPARSE_PARAM */
-# define YYPARSE_PARAM_ARG
-# define YYPARSE_PARAM_DECL
-#endif /* !YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-# ifdef YYPARSE_PARAM
-int yyparse (void *);
-# else
-int yyparse (void);
-# endif
-#endif
-
-/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
-   variables are global, or local to YYPARSE.  */
-
-#define YY_DECL_NON_LSP_VARIABLES                      \
-/* The lookahead symbol.  */                           \
-int yychar;                                            \
-                                                       \
-/* The semantic value of the lookahead symbol. */      \
-YYSTYPE yylval;                                                \
-                                                       \
-/* Number of parse errors so far.  */                  \
-int yynerrs;
-
-#if YYLSP_NEEDED
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES                      \
-                                               \
-/* Location data for the lookahead symbol.  */ \
-YYLTYPE yylloc;
-#else
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES
-#endif
-
-
-/* If nonreentrant, generate the variables here. */
-
-#if !YYPURE
-YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-int
-yyparse (YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
-{
-  /* If reentrant, generate the variables here. */
-#if YYPURE
-  YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-  register int yystate;
-  register int yyn;
-  int yyresult;
-  /* Number of tokens to shift before error messages enabled.  */
-  int yyerrstatus;
-  /* Lookahead token as an internal (translated) token number.  */
-  int yychar1 = 0;
-
-  /* Three stacks and their tools:
-     `yyss': related to states,
-     `yyvs': related to semantic values,
-     `yyls': related to locations.
-
-     Refer to the stacks thru separate pointers, to allow yyoverflow
-     to reallocate them elsewhere.  */
-
-  /* The state stack. */
-  short        yyssa[YYINITDEPTH];
-  short *yyss = yyssa;
-  register short *yyssp;
-
-  /* The semantic value stack.  */
-  YYSTYPE yyvsa[YYINITDEPTH];
-  YYSTYPE *yyvs = yyvsa;
-  register YYSTYPE *yyvsp;
-
-#if YYLSP_NEEDED
-  /* The location stack.  */
-  YYLTYPE yylsa[YYINITDEPTH];
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-#endif
-
-#if YYLSP_NEEDED
-# define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
-# define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
-
-  YYSIZE_T yystacksize = YYINITDEPTH;
-
-
-  /* The variables used to return semantic value and location from the
-     action routines.  */
-  YYSTYPE yyval;
-#if YYLSP_NEEDED
-  YYLTYPE yyloc;
-#endif
-
-  /* When reducing, the number of symbols on the RHS of the reduced
-     rule. */
-  int yylen;
-
-  YYDPRINTF ((stderr, "Starting parse\n"));
-
-  yystate = 0;
-  yyerrstatus = 0;
-  yynerrs = 0;
-  yychar = YYEMPTY;            /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-
-  yyssp = yyss;
-  yyvsp = yyvs;
-#if YYLSP_NEEDED
-  yylsp = yyls;
-#endif
-  goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
-`------------------------------------------------------------*/
- yynewstate:
-  /* In all cases, when you get here, the value and location stacks
-     have just been pushed. so pushing a state here evens the stacks.
-     */
-  yyssp++;
-
- yysetstate:
-  *yyssp = yystate;
-
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
-      {
-       /* Give user a chance to reallocate the stack. Use copies of
-          these so that the &'s don't force the real ones into
-          memory.  */
-       YYSTYPE *yyvs1 = yyvs;
-       short *yyss1 = yyss;
-
-       /* Each stack pointer address is followed by the size of the
-          data in use in that stack, in bytes.  */
-# if YYLSP_NEEDED
-       YYLTYPE *yyls1 = yyls;
-       /* This used to be a conditional around just the two extra args,
-          but that might be undefined if yyoverflow is a macro.  */
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yyls1, yysize * sizeof (*yylsp),
-                   &yystacksize);
-       yyls = yyls1;
-# else
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yystacksize);
-# endif
-       yyss = yyss1;
-       yyvs = yyvs1;
-      }
-#else /* no yyoverflow */
-      /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-       goto yyoverflowlab;
-      yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
-       yystacksize = YYMAXDEPTH;
-
-      {
-       short *yyss1 = yyss;
-       union yyalloc *yyptr =
-         (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-       if (! yyptr)
-         goto yyoverflowlab;
-       YYSTACK_RELOCATE (short, yyss);
-       YYSTACK_RELOCATE (YYSTYPE, yyvs);
-# if YYLSP_NEEDED
-       YYSTACK_RELOCATE (YYLTYPE, yyls);
-# endif
-# undef YYSTACK_RELOCATE
-       if (yyss1 != yyssa)
-         YYSTACK_FREE (yyss1);
-      }
-#endif /* no yyoverflow */
-
-      yyssp = yyss + yysize - 1;
-      yyvsp = yyvs + yysize - 1;
-#if YYLSP_NEEDED
-      yylsp = yyls + yysize - 1;
-#endif
-
-      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                 (unsigned long int) yystacksize));
-
-      if (yyssp >= yyss + yystacksize - 1)
-       YYABORT;
-    }
-
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
-  goto yybackup;
-
-
-/*-----------.
-| yybackup.  |
-`-----------*/
-yybackup:
-
-/* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
-/* yyresume: */
-
-  /* First try to decide what to do without reference to lookahead token.  */
-
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yydefault;
-
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
-  if (yychar == YYEMPTY)
-    {
-      YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
-    }
-
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)             /* This means end of input. */
-    {
-      yychar1 = 0;
-      yychar = YYEOF;          /* Don't call YYLEX any more */
-
-      YYDPRINTF ((stderr, "Now at end of input.\n"));
-    }
-  else
-    {
-      yychar1 = YYTRANSLATE (yychar);
-
-#if YYDEBUG
-     /* We have to keep this `#if YYDEBUG', since we use variables
-       which are defined only if `YYDEBUG' is set.  */
-      if (yydebug)
-       {
-         YYFPRINTF (stderr, "Next token is %d (%s",
-                    yychar, yytname[yychar1]);
-         /* Give the individual parser a way to print the precise
-            meaning of a token, for further debugging info.  */
-# ifdef YYPRINT
-         YYPRINT (stderr, yychar, yylval);
-# endif
-         YYFPRINTF (stderr, ")\n");
-       }
-#endif
-    }
-
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
-    goto yydefault;
-
-  yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrlab;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrlab;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  /* Shift the lookahead token.  */
-  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
-             yychar, yytname[yychar1]));
-
-  /* Discard the token being shifted unless it is eof.  */
-  if (yychar != YYEOF)
-    yychar = YYEMPTY;
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  /* Count tokens shifted since error; after three, turn off error
-     status.  */
-  if (yyerrstatus)
-    yyerrstatus--;
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state.  |
-`-----------------------------------------------------------*/
-yydefault:
-  yyn = yydefact[yystate];
-  if (yyn == 0)
-    goto yyerrlab;
-  goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction.  |
-`-----------------------------*/
-yyreduce:
-  /* yyn is the number of a rule to reduce with.  */
-  yylen = yyr2[yyn];
-
-  /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
-
-     Otherwise, the following line sets YYVAL to the semantic value of
-     the lookahead token.  This behavior is undocumented and Bison
-     users should not rely upon it.  Assigning to YYVAL
-     unconditionally makes the parser a bit smaller, and it avoids a
-     GCC warning that YYVAL may be used uninitialized.  */
-  yyval = yyvsp[1-yylen];
-
-#if YYLSP_NEEDED
-  /* Similarly for the default location.  Let the user run additional
-     commands if for instance locations are ranges.  */
-  yyloc = yylsp[1-yylen];
-  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
-#endif
-
-#if YYDEBUG
-  /* We have to keep this `#if YYDEBUG', since we use variables which
-     are defined only if `YYDEBUG' is set.  */
-  if (yydebug)
-    {
-      int yyi;
-
-      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
-                yyn, yyrline[yyn]);
-
-      /* Print the symbols being reduced, and their result.  */
-      for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
-       YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
-      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
-
-  switch (yyn) {
-
-case 1:
-#line 144 "y-src/cccp.y"
-{ expression_value = yyvsp[0].integer.value; }
-    break;
-case 3:
-#line 150 "y-src/cccp.y"
-{ if (pedantic)
-                           pedwarn ("comma operator in operand of `#if'");
-                         yyval.integer = yyvsp[0].integer; }
-    break;
-case 4:
-#line 157 "y-src/cccp.y"
-{ yyval.integer.value = - yyvsp[0].integer.value;
-                         if ((yyval.integer.value & yyvsp[0].integer.value) < 0 && ! yyvsp[0].integer.unsignedp)
-                           integer_overflow ();
-                         yyval.integer.unsignedp = yyvsp[0].integer.unsignedp; }
-    break;
-case 5:
-#line 162 "y-src/cccp.y"
-{ yyval.integer.value = ! yyvsp[0].integer.value;
-                         yyval.integer.unsignedp = 0; }
-    break;
-case 6:
-#line 165 "y-src/cccp.y"
-{ yyval.integer = yyvsp[0].integer; }
-    break;
-case 7:
-#line 167 "y-src/cccp.y"
-{ yyval.integer.value = ~ yyvsp[0].integer.value;
-                         yyval.integer.unsignedp = yyvsp[0].integer.unsignedp; }
-    break;
-case 8:
-#line 170 "y-src/cccp.y"
-{ yyval.integer.value = check_assertion (yyvsp[0].name.address, yyvsp[0].name.length,
-                                                     0, NULL_PTR);
-                         yyval.integer.unsignedp = 0; }
-    break;
-case 9:
-#line 174 "y-src/cccp.y"
-{ keyword_parsing = 1; }
-    break;
-case 10:
-#line 176 "y-src/cccp.y"
-{ yyval.integer.value = check_assertion (yyvsp[-4].name.address, yyvsp[-4].name.length,
-                                                     1, yyvsp[-1].keywords);
-                         keyword_parsing = 0;
-                         yyval.integer.unsignedp = 0; }
-    break;
-case 11:
-#line 181 "y-src/cccp.y"
-{ yyval.integer = yyvsp[-1].integer; }
-    break;
-case 12:
-#line 186 "y-src/cccp.y"
-{ yyval.integer.unsignedp = yyvsp[-2].integer.unsignedp || yyvsp[0].integer.unsignedp;
-                         if (yyval.integer.unsignedp)
-                           yyval.integer.value = (unsigned long) yyvsp[-2].integer.value * yyvsp[0].integer.value;
-                         else
-                           {
-                             yyval.integer.value = yyvsp[-2].integer.value * yyvsp[0].integer.value;
-                             if (yyvsp[-2].integer.value
-                                 && (yyval.integer.value / yyvsp[-2].integer.value != yyvsp[0].integer.value
-                                     || (yyval.integer.value & yyvsp[-2].integer.value & yyvsp[0].integer.value) < 0))
-                               integer_overflow ();
-                           } }
-    break;
-case 13:
-#line 198 "y-src/cccp.y"
-{ if (yyvsp[0].integer.value == 0)
-                           {
-                             error ("division by zero in #if");
-                             yyvsp[0].integer.value = 1;
-                           }
-                         yyval.integer.unsignedp = yyvsp[-2].integer.unsignedp || yyvsp[0].integer.unsignedp;
-                         if (yyval.integer.unsignedp)
-                           yyval.integer.value = (unsigned long) yyvsp[-2].integer.value / yyvsp[0].integer.value;
-                         else
-                           {
-                             yyval.integer.value = yyvsp[-2].integer.value / yyvsp[0].integer.value;
-                             if ((yyval.integer.value & yyvsp[-2].integer.value & yyvsp[0].integer.value) < 0)
-                               integer_overflow ();
-                           } }
-    break;
-case 14:
-#line 213 "y-src/cccp.y"
-{ if (yyvsp[0].integer.value == 0)
-                           {
-                             error ("division by zero in #if");
-                             yyvsp[0].integer.value = 1;
-                           }
-                         yyval.integer.unsignedp = yyvsp[-2].integer.unsignedp || yyvsp[0].integer.unsignedp;
-                         if (yyval.integer.unsignedp)
-                           yyval.integer.value = (unsigned long) yyvsp[-2].integer.value % yyvsp[0].integer.value;
-                         else
-                           yyval.integer.value = yyvsp[-2].integer.value % yyvsp[0].integer.value; }
-    break;
-case 15:
-#line 224 "y-src/cccp.y"
-{ yyval.integer.value = yyvsp[-2].integer.value + yyvsp[0].integer.value;
-                         yyval.integer.unsignedp = yyvsp[-2].integer.unsignedp || yyvsp[0].integer.unsignedp;
-                         if (! yyval.integer.unsignedp
-                             && ! possible_sum_sign (yyvsp[-2].integer.value, yyvsp[0].integer.value,
-                                                     yyval.integer.value))
-                           integer_overflow (); }
-    break;
-case 16:
-#line 231 "y-src/cccp.y"
-{ yyval.integer.value = yyvsp[-2].integer.value - yyvsp[0].integer.value;
-                         yyval.integer.unsignedp = yyvsp[-2].integer.unsignedp || yyvsp[0].integer.unsignedp;
-                         if (! yyval.integer.unsignedp
-                             && ! possible_sum_sign (yyval.integer.value, yyvsp[0].integer.value,
-                                                     yyvsp[-2].integer.value))
-                           integer_overflow (); }
-    break;
-case 17:
-#line 238 "y-src/cccp.y"
-{ yyval.integer.unsignedp = yyvsp[-2].integer.unsignedp;
-                         if (yyvsp[0].integer.value < 0 && ! yyvsp[0].integer.unsignedp)
-                           yyval.integer.value = right_shift (&yyvsp[-2].integer, -yyvsp[0].integer.value);
-                         else
-                           yyval.integer.value = left_shift (&yyvsp[-2].integer, yyvsp[0].integer.value); }
-    break;
-case 18:
-#line 244 "y-src/cccp.y"
-{ yyval.integer.unsignedp = yyvsp[-2].integer.unsignedp;
-                         if (yyvsp[0].integer.value < 0 && ! yyvsp[0].integer.unsignedp)
-                           yyval.integer.value = left_shift (&yyvsp[-2].integer, -yyvsp[0].integer.value);
-                         else
-                           yyval.integer.value = right_shift (&yyvsp[-2].integer, yyvsp[0].integer.value); }
-    break;
-case 19:
-#line 250 "y-src/cccp.y"
-{ yyval.integer.value = (yyvsp[-2].integer.value == yyvsp[0].integer.value);
-                         yyval.integer.unsignedp = 0; }
-    break;
-case 20:
-#line 253 "y-src/cccp.y"
-{ yyval.integer.value = (yyvsp[-2].integer.value != yyvsp[0].integer.value);
-                         yyval.integer.unsignedp = 0; }
-    break;
-case 21:
-#line 256 "y-src/cccp.y"
-{ yyval.integer.unsignedp = 0;
-                         if (yyvsp[-2].integer.unsignedp || yyvsp[0].integer.unsignedp)
-                           yyval.integer.value = (unsigned long) yyvsp[-2].integer.value <= yyvsp[0].integer.value;
-                         else
-                           yyval.integer.value = yyvsp[-2].integer.value <= yyvsp[0].integer.value; }
-    break;
-case 22:
-#line 262 "y-src/cccp.y"
-{ yyval.integer.unsignedp = 0;
-                         if (yyvsp[-2].integer.unsignedp || yyvsp[0].integer.unsignedp)
-                           yyval.integer.value = (unsigned long) yyvsp[-2].integer.value >= yyvsp[0].integer.value;
-                         else
-                           yyval.integer.value = yyvsp[-2].integer.value >= yyvsp[0].integer.value; }
-    break;
-case 23:
-#line 268 "y-src/cccp.y"
-{ yyval.integer.unsignedp = 0;
-                         if (yyvsp[-2].integer.unsignedp || yyvsp[0].integer.unsignedp)
-                           yyval.integer.value = (unsigned long) yyvsp[-2].integer.value < yyvsp[0].integer.value;
-                         else
-                           yyval.integer.value = yyvsp[-2].integer.value < yyvsp[0].integer.value; }
-    break;
-case 24:
-#line 274 "y-src/cccp.y"
-{ yyval.integer.unsignedp = 0;
-                         if (yyvsp[-2].integer.unsignedp || yyvsp[0].integer.unsignedp)
-                           yyval.integer.value = (unsigned long) yyvsp[-2].integer.value > yyvsp[0].integer.value;
-                         else
-                           yyval.integer.value = yyvsp[-2].integer.value > yyvsp[0].integer.value; }
-    break;
-case 25:
-#line 280 "y-src/cccp.y"
-{ yyval.integer.value = yyvsp[-2].integer.value & yyvsp[0].integer.value;
-                         yyval.integer.unsignedp = yyvsp[-2].integer.unsignedp || yyvsp[0].integer.unsignedp; }
-    break;
-case 26:
-#line 283 "y-src/cccp.y"
-{ yyval.integer.value = yyvsp[-2].integer.value ^ yyvsp[0].integer.value;
-                         yyval.integer.unsignedp = yyvsp[-2].integer.unsignedp || yyvsp[0].integer.unsignedp; }
-    break;
-case 27:
-#line 286 "y-src/cccp.y"
-{ yyval.integer.value = yyvsp[-2].integer.value | yyvsp[0].integer.value;
-                         yyval.integer.unsignedp = yyvsp[-2].integer.unsignedp || yyvsp[0].integer.unsignedp; }
-    break;
-case 28:
-#line 289 "y-src/cccp.y"
-{ yyval.integer.value = (yyvsp[-2].integer.value && yyvsp[0].integer.value);
-                         yyval.integer.unsignedp = 0; }
-    break;
-case 29:
-#line 292 "y-src/cccp.y"
-{ yyval.integer.value = (yyvsp[-2].integer.value || yyvsp[0].integer.value);
-                         yyval.integer.unsignedp = 0; }
-    break;
-case 30:
-#line 295 "y-src/cccp.y"
-{ yyval.integer.value = yyvsp[-4].integer.value ? yyvsp[-2].integer.value : yyvsp[0].integer.value;
-                         yyval.integer.unsignedp = yyvsp[-2].integer.unsignedp || yyvsp[0].integer.unsignedp; }
-    break;
-case 31:
-#line 298 "y-src/cccp.y"
-{ yyval.integer = yylval.integer; }
-    break;
-case 32:
-#line 300 "y-src/cccp.y"
-{ yyval.integer = yylval.integer; }
-    break;
-case 33:
-#line 302 "y-src/cccp.y"
-{ yyval.integer.value = 0;
-                         yyval.integer.unsignedp = 0; }
-    break;
-case 34:
-#line 307 "y-src/cccp.y"
-{ yyval.keywords = 0; }
-    break;
-case 35:
-#line 309 "y-src/cccp.y"
-{ struct arglist *temp;
-                         yyval.keywords = (struct arglist *) xmalloc (sizeof (struct arglist));
-                         yyval.keywords->next = yyvsp[-2].keywords;
-                         yyval.keywords->name = (U_CHAR *) "(";
-                         yyval.keywords->length = 1;
-                         temp = yyval.keywords;
-                         while (temp != 0 && temp->next != 0)
-                           temp = temp->next;
-                         temp->next = (struct arglist *) xmalloc (sizeof (struct arglist));
-                         temp->next->next = yyvsp[0].keywords;
-                         temp->next->name = (U_CHAR *) ")";
-                         temp->next->length = 1; }
-    break;
-case 36:
-#line 322 "y-src/cccp.y"
-{ yyval.keywords = (struct arglist *) xmalloc (sizeof (struct arglist));
-                         yyval.keywords->name = yyvsp[-1].name.address;
-                         yyval.keywords->length = yyvsp[-1].name.length;
-                         yyval.keywords->next = yyvsp[0].keywords; }
-    break;
-}
-
-#line 727 "/usr/share/bison/bison.simple"
-
-\f
-  yyvsp -= yylen;
-  yyssp -= yylen;
-#if YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-  *++yyvsp = yyval;
-#if YYLSP_NEEDED
-  *++yylsp = yyloc;
-#endif
-
-  /* Now `shift' the result of the reduction.  Determine what state
-     that goes to, based on the state we popped back to and the rule
-     number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTBASE];
-
-  goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
-  /* If not already recovering from an error, report this error.  */
-  if (!yyerrstatus)
-    {
-      ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
-      yyn = yypact[yystate];
-
-      if (yyn > YYFLAG && yyn < YYLAST)
-       {
-         YYSIZE_T yysize = 0;
-         char *yymsg;
-         int yyx, yycount;
-
-         yycount = 0;
-         /* Start YYX at -YYN if negative to avoid negative indexes in
-            YYCHECK.  */
-         for (yyx = yyn < 0 ? -yyn : 0;
-              yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
-           if (yycheck[yyx + yyn] == yyx)
-             yysize += yystrlen (yytname[yyx]) + 15, yycount++;
-         yysize += yystrlen ("parse error, unexpected ") + 1;
-         yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
-         yymsg = (char *) YYSTACK_ALLOC (yysize);
-         if (yymsg != 0)
-           {
-             char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
-             yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
-
-             if (yycount < 5)
-               {
-                 yycount = 0;
-                 for (yyx = yyn < 0 ? -yyn : 0;
-                      yyx < (int) (sizeof (yytname) / sizeof (char *));
-                      yyx++)
-                   if (yycheck[yyx + yyn] == yyx)
-                     {
-                       const char *yyq = ! yycount ? ", expecting " : " or ";
-                       yyp = yystpcpy (yyp, yyq);
-                       yyp = yystpcpy (yyp, yytname[yyx]);
-                       yycount++;
-                     }
-               }
-             yyerror (yymsg);
-             YYSTACK_FREE (yymsg);
-           }
-         else
-           yyerror ("parse error; also virtual memory exhausted");
-       }
-      else
-#endif /* defined (YYERROR_VERBOSE) */
-       yyerror ("parse error");
-    }
-  goto yyerrlab1;
-
-
-/*--------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action |
-`--------------------------------------------------*/
-yyerrlab1:
-  if (yyerrstatus == 3)
-    {
-      /* If just tried and failed to reuse lookahead token after an
-        error, discard it.  */
-
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-       YYABORT;
-      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
-                 yychar, yytname[yychar1]));
-      yychar = YYEMPTY;
-    }
-
-  /* Else will try to reuse lookahead token after shifting the error
-     token.  */
-
-  yyerrstatus = 3;             /* Each real token shifted decrements this */
-
-  goto yyerrhandle;
-
-
-/*-------------------------------------------------------------------.
-| yyerrdefault -- current state does not do anything special for the |
-| error token.                                                       |
-`-------------------------------------------------------------------*/
-yyerrdefault:
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-
-  /* If its default is to accept any token, ok.  Otherwise pop it.  */
-  yyn = yydefact[yystate];
-  if (yyn)
-    goto yydefault;
-#endif
-
-
-/*---------------------------------------------------------------.
-| yyerrpop -- pop the current state because it cannot handle the |
-| error token                                                    |
-`---------------------------------------------------------------*/
-yyerrpop:
-  if (yyssp == yyss)
-    YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#if YYLSP_NEEDED
-  yylsp--;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "Error: state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-/*--------------.
-| yyerrhandle.  |
-`--------------*/
-yyerrhandle:
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
-
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
-
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrpop;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  YYDPRINTF ((stderr, "Shifting error token, "));
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here.  |
-`-------------------------------------*/
-yyacceptlab:
-  yyresult = 0;
-  goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here.  |
-`-----------------------------------*/
-yyabortlab:
-  yyresult = 1;
-  goto yyreturn;
-
-/*---------------------------------------------.
-| yyoverflowab -- parser overflow comes here.  |
-`---------------------------------------------*/
-yyoverflowlab:
-  yyerror ("parser stack overflow");
-  yyresult = 2;
-  /* Fall through.  */
-
-yyreturn:
-#ifndef yyoverflow
-  if (yyss != yyssa)
-    YYSTACK_FREE (yyss);
-#endif
-  return yyresult;
-}
-#line 327 "y-src/cccp.y"
-
-\f
-/* During parsing of a C expression, the pointer to the next character
-   is in this variable.  */
-
-static char *lexptr;
-
-/* Take care of parsing a number (anything that starts with a digit).
-   Set yylval and return the token type; update lexptr.
-   LEN is the number of characters in it.  */
-
-/* maybe needs to actually deal with floating point numbers */
-
-int
-parse_number (olen)
-     int olen;
-{
-  register char *p = lexptr;
-  register int c;
-  register unsigned long n = 0, nd, ULONG_MAX_over_base;
-  register int base = 10;
-  register int len = olen;
-  register int overflow = 0;
-  register int digit, largest_digit = 0;
-  int spec_long = 0;
-
-  for (c = 0; c < len; c++)
-    if (p[c] == '.') {
-      /* It's a float since it contains a point.  */
-      yyerror ("floating point numbers not allowed in #if expressions");
-      return ERROR;
-    }
-
-  yylval.integer.unsignedp = 0;
-
-  if (len >= 3 && (!strncmp (p, "0x", 2) || !strncmp (p, "0X", 2))) {
-    p += 2;
-    base = 16;
-    len -= 2;
-  }
-  else if (*p == '0')
-    base = 8;
-
-  ULONG_MAX_over_base = (unsigned long) -1 / base;
-
-  for (; len > 0; len--) {
-    c = *p++;
-
-    if (c >= '0' && c <= '9')
-      digit = c - '0';
-    else if (base == 16 && c >= 'a' && c <= 'f')
-      digit = c - 'a' + 10;
-    else if (base == 16 && c >= 'A' && c <= 'F')
-      digit = c - 'A' + 10;
-    else {
-      /* `l' means long, and `u' means unsigned.  */
-      while (1) {
-       if (c == 'l' || c == 'L')
-         {
-           if (spec_long)
-             yyerror ("two `l's in integer constant");
-           spec_long = 1;
-         }
-       else if (c == 'u' || c == 'U')
-         {
-           if (yylval.integer.unsignedp)
-             yyerror ("two `u's in integer constant");
-           yylval.integer.unsignedp = 1;
-         }
-       else
-         break;
-
-       if (--len == 0)
-         break;
-       c = *p++;
-      }
-      /* Don't look for any more digits after the suffixes.  */
-      break;
-    }
-    if (largest_digit < digit)
-      largest_digit = digit;
-    nd = n * base + digit;
-    overflow |= ULONG_MAX_over_base < n | nd < n;
-    n = nd;
-  }
-
-  if (len != 0) {
-    yyerror ("Invalid number in #if expression");
-    return ERROR;
-  }
-
-  if (base <= largest_digit)
-    warning ("integer constant contains digits beyond the radix");
-
-  if (overflow)
-    warning ("integer constant out of range");
-
-  /* If too big to be signed, consider it unsigned.  */
-  if ((long) n < 0 && ! yylval.integer.unsignedp)
-    {
-      if (base == 10)
-       warning ("integer constant is so large that it is unsigned");
-      yylval.integer.unsignedp = 1;
-    }
-
-  lexptr = p;
-  yylval.integer.value = n;
-  return INT;
-}
-
-struct token {
-  char *operator;
-  int token;
-};
-
-static struct token tokentab2[] = {
-  {"&&", AND},
-  {"||", OR},
-  {"<<", LSH},
-  {">>", RSH},
-  {"==", EQUAL},
-  {"!=", NOTEQUAL},
-  {"<=", LEQ},
-  {">=", GEQ},
-  {"++", ERROR},
-  {"--", ERROR},
-  {NULL, ERROR}
-};
-
-/* Read one token, getting characters through lexptr.  */
-
-int
-yylex ()
-{
-  register int c;
-  register int namelen;
-  register unsigned char *tokstart;
-  register struct token *toktab;
-  int wide_flag;
-
- retry:
-
-  tokstart = (unsigned char *) lexptr;
-  c = *tokstart;
-  /* See if it is a special token of length 2.  */
-  if (! keyword_parsing)
-    for (toktab = tokentab2; toktab->operator != NULL; toktab++)
-      if (c == *toktab->operator && tokstart[1] == toktab->operator[1]) {
-       lexptr += 2;
-       if (toktab->token == ERROR)
-         {
-           char *buf = (char *) alloca (40);
-           sprintf (buf, "`%s' not allowed in operand of `#if'", toktab->operator);
-           yyerror (buf);
-         }
-       return toktab->token;
-      }
-
-  switch (c) {
-  case 0:
-    return 0;
-    
-  case ' ':
-  case '\t':
-  case '\r':
-  case '\n':
-    lexptr++;
-    goto retry;
-    
-  case 'L':
-    /* Capital L may start a wide-string or wide-character constant.  */
-    if (lexptr[1] == '\'')
-      {
-       lexptr++;
-       wide_flag = 1;
-       goto char_constant;
-      }
-    if (lexptr[1] == '"')
-      {
-       lexptr++;
-       wide_flag = 1;
-       goto string_constant;
-      }
-    break;
-
-  case '\'':
-    wide_flag = 0;
-  char_constant:
-    lexptr++;
-    if (keyword_parsing) {
-      char *start_ptr = lexptr - 1;
-      while (1) {
-       c = *lexptr++;
-       if (c == '\\')
-         c = parse_escape (&lexptr);
-       else if (c == '\'')
-         break;
-      }
-      yylval.name.address = tokstart;
-      yylval.name.length = lexptr - start_ptr;
-      return NAME;
-    }
-
-    /* This code for reading a character constant
-       handles multicharacter constants and wide characters.
-       It is mostly copied from c-lex.c.  */
-    {
-      register int result = 0;
-      register num_chars = 0;
-      unsigned width = CHAR_TYPE_SIZE;
-      int max_chars;
-      char *token_buffer;
-
-      if (wide_flag)
-       {
-         width = WCHAR_TYPE_SIZE;
-#ifdef MULTIBYTE_CHARS
-         max_chars = MB_CUR_MAX;
-#else
-         max_chars = 1;
-#endif
-       }
-      else
-       max_chars = LONG_TYPE_SIZE / width;
-
-      token_buffer = (char *) alloca (max_chars + 1);
-
-      while (1)
-       {
-         c = *lexptr++;
-
-         if (c == '\'' || c == EOF)
-           break;
-
-         if (c == '\\')
-           {
-             c = parse_escape (&lexptr);
-             if (width < HOST_BITS_PER_INT
-                 && (unsigned) c >= (1 << width))
-               pedwarn ("escape sequence out of range for character");
-           }
-
-         num_chars++;
-
-         /* Merge character into result; ignore excess chars.  */
-         if (num_chars < max_chars + 1)
-           {
-             if (width < HOST_BITS_PER_INT)
-               result = (result << width) | (c & ((1 << width) - 1));
-             else
-               result = c;
-             token_buffer[num_chars - 1] = c;
-           }
-       }
-
-      token_buffer[num_chars] = 0;
-
-      if (c != '\'')
-       error ("malformatted character constant");
-      else if (num_chars == 0)
-       error ("empty character constant");
-      else if (num_chars > max_chars)
-       {
-         num_chars = max_chars;
-         error ("character constant too long");
-       }
-      else if (num_chars != 1 && ! traditional)
-       warning ("multi-character character constant");
-
-      /* If char type is signed, sign-extend the constant.  */
-      if (! wide_flag)
-       {
-         int num_bits = num_chars * width;
-
-         if (lookup ("__CHAR_UNSIGNED__", sizeof ("__CHAR_UNSIGNED__")-1, -1)
-             || ((result >> (num_bits - 1)) & 1) == 0)
-           yylval.integer.value
-             = result & ((unsigned long) ~0 >> (HOST_BITS_PER_LONG - num_bits));
-         else
-           yylval.integer.value
-             = result | ~((unsigned long) ~0 >> (HOST_BITS_PER_LONG - num_bits));
-       }
-      else
-       {
-#ifdef MULTIBYTE_CHARS
-         /* Set the initial shift state and convert the next sequence.  */
-         result = 0;
-         /* In all locales L'\0' is zero and mbtowc will return zero,
-            so don't use it.  */
-         if (num_chars > 1
-             || (num_chars == 1 && token_buffer[0] != '\0'))
-           {
-             wchar_t wc;
-             (void) mbtowc (NULL_PTR, NULL_PTR, 0);
-             if (mbtowc (& wc, token_buffer, num_chars) == num_chars)
-               result = wc;
-             else
-               warning ("Ignoring invalid multibyte character");
-           }
-#endif
-         yylval.integer.value = result;
-       }
-    }
-
-    /* This is always a signed type.  */
-    yylval.integer.unsignedp = 0;
-    
-    return CHAR;
-
-    /* some of these chars are invalid in constant expressions;
-       maybe do something about them later */
-  case '/':
-  case '+':
-  case '-':
-  case '*':
-  case '%':
-  case '|':
-  case '&':
-  case '^':
-  case '~':
-  case '!':
-  case '@':
-  case '<':
-  case '>':
-  case '[':
-  case ']':
-  case '.':
-  case '?':
-  case ':':
-  case '=':
-  case '{':
-  case '}':
-  case ',':
-  case '#':
-    if (keyword_parsing)
-      break;
-  case '(':
-  case ')':
-    lexptr++;
-    return c;
-
-  case '"':
-  string_constant:
-    if (keyword_parsing) {
-      char *start_ptr = lexptr;
-      lexptr++;
-      while (1) {
-       c = *lexptr++;
-       if (c == '\\')
-         c = parse_escape (&lexptr);
-       else if (c == '"')
-         break;
-      }
-      yylval.name.address = tokstart;
-      yylval.name.length = lexptr - start_ptr;
-      return NAME;
-    }
-    yyerror ("string constants not allowed in #if expressions");
-    return ERROR;
-  }
-
-  if (c >= '0' && c <= '9' && !keyword_parsing) {
-    /* It's a number */
-    for (namelen = 0;
-        c = tokstart[namelen], is_idchar[c] || c == '.'; 
-        namelen++)
-      ;
-    return parse_number (namelen);
-  }
-
-  /* It is a name.  See how long it is.  */
-
-  if (keyword_parsing) {
-    for (namelen = 0;; namelen++) {
-      if (is_hor_space[tokstart[namelen]])
-       break;
-      if (tokstart[namelen] == '(' || tokstart[namelen] == ')')
-       break;
-      if (tokstart[namelen] == '"' || tokstart[namelen] == '\'')
-       break;
-    }
-  } else {
-    if (!is_idstart[c]) {
-      yyerror ("Invalid token in expression");
-      return ERROR;
-    }
-
-    for (namelen = 0; is_idchar[tokstart[namelen]]; namelen++)
-      ;
-  }
-  
-  lexptr += namelen;
-  yylval.name.address = tokstart;
-  yylval.name.length = namelen;
-  return NAME;
-}
-
-
-/* Parse a C escape sequence.  STRING_PTR points to a variable
-   containing a pointer to the string to parse.  That pointer
-   is updated past the characters we use.  The value of the
-   escape sequence is returned.
-
-   A negative value means the sequence \ newline was seen,
-   which is supposed to be equivalent to nothing at all.
-
-   If \ is followed by a null character, we return a negative
-   value and leave the string pointer pointing at the null character.
-
-   If \ is followed by 000, we return 0 and leave the string pointer
-   after the zeros.  A value of 0 does not mean end of string.  */
-
-int
-parse_escape (string_ptr)
-     char **string_ptr;
-{
-  register int c = *(*string_ptr)++;
-  switch (c)
-    {
-    case 'a':
-      return TARGET_BELL;
-    case 'b':
-      return TARGET_BS;
-    case 'e':
-    case 'E':
-      if (pedantic)
-       pedwarn ("non-ANSI-standard escape sequence, `\\%c'", c);
-      return 033;
-    case 'f':
-      return TARGET_FF;
-    case 'n':
-      return TARGET_NEWLINE;
-    case 'r':
-      return TARGET_CR;
-    case 't':
-      return TARGET_TAB;
-    case 'v':
-      return TARGET_VT;
-    case '\n':
-      return -2;
-    case 0:
-      (*string_ptr)--;
-      return 0;
-      
-    case '0':
-    case '1':
-    case '2':
-    case '3':
-    case '4':
-    case '5':
-    case '6':
-    case '7':
-      {
-       register int i = c - '0';
-       register int count = 0;
-       while (++count < 3)
-         {
-           c = *(*string_ptr)++;
-           if (c >= '0' && c <= '7')
-             i = (i << 3) + c - '0';
-           else
-             {
-               (*string_ptr)--;
-               break;
-             }
-         }
-       if ((i & ~((1 << CHAR_TYPE_SIZE) - 1)) != 0)
-         {
-           i &= (1 << CHAR_TYPE_SIZE) - 1;
-           warning ("octal character constant does not fit in a byte");
-         }
-       return i;
-      }
-    case 'x':
-      {
-       register unsigned i = 0, overflow = 0, digits_found = 0, digit;
-       for (;;)
-         {
-           c = *(*string_ptr)++;
-           if (c >= '0' && c <= '9')
-             digit = c - '0';
-           else if (c >= 'a' && c <= 'f')
-             digit = c - 'a' + 10;
-           else if (c >= 'A' && c <= 'F')
-             digit = c - 'A' + 10;
-           else
-             {
-               (*string_ptr)--;
-               break;
-             }
-           overflow |= i ^ (i << 4 >> 4);
-           i = (i << 4) + digit;
-           digits_found = 1;
-         }
-       if (!digits_found)
-         yyerror ("\\x used with no following hex digits");
-       if (overflow | (i & ~((1 << BITS_PER_UNIT) - 1)))
-         {
-           i &= (1 << BITS_PER_UNIT) - 1;
-           warning ("hex character constant does not fit in a byte");
-         }
-       return i;
-      }
-    default:
-      return c;
-    }
-}
-
-void
-yyerror (s)
-     char *s;
-{
-  error (s);
-  longjmp (parse_return_error, 1);
-}
-
-static void
-integer_overflow ()
-{
-  if (pedantic)
-    pedwarn ("integer overflow in preprocessor expression");
-}
-
-static long
-left_shift (a, b)
-     struct constant *a;
-     unsigned long b;
-{
-  if (b >= HOST_BITS_PER_LONG)
-    {
-      if (! a->unsignedp && a->value != 0)
-       integer_overflow ();
-      return 0;
-    }
-  else if (a->unsignedp)
-    return (unsigned long) a->value << b;
-  else
-    {
-      long l = a->value << b;
-      if (l >> b != a->value)
-       integer_overflow ();
-      return l;
-    }
-}
-
-static long
-right_shift (a, b)
-     struct constant *a;
-     unsigned long b;
-{
-  if (b >= HOST_BITS_PER_LONG)
-    return a->unsignedp ? 0 : a->value >> (HOST_BITS_PER_LONG - 1);
-  else if (a->unsignedp)
-    return (unsigned long) a->value >> b;
-  else
-    return a->value >> b;
-}
-\f
-/* This page contains the entry point to this file.  */
-
-/* Parse STRING as an expression, and complain if this fails
-   to use up all of the contents of STRING.  */
-/* We do not support C comments.  They should be removed before
-   this function is called.  */
-
-int
-parse_c_expression (string)
-     char *string;
-{
-  lexptr = string;
-  
-  if (lexptr == 0 || *lexptr == 0) {
-    error ("empty #if expression");
-    return 0;                  /* don't include the #if group */
-  }
-
-  /* if there is some sort of scanning error, just return 0 and assume
-     the parsing routine has printed an error message somewhere.
-     there is surely a better thing to do than this.     */
-  if (setjmp (parse_return_error))
-    return 0;
-
-  if (yyparse ())
-    return 0;                  /* actually this is never reached
-                                  the way things stand. */
-  if (*lexptr)
-    error ("Junk after end of expression.");
-
-  return expression_value;     /* set by yyparse () */
-}
-\f
-#ifdef TEST_EXP_READER
-extern int yydebug;
-
-/* Main program for testing purposes.  */
-int
-main ()
-{
-  int n, c;
-  char buf[1024];
-
-/*
-  yydebug = 1;
-*/
-  initialize_random_junk ();
-
-  for (;;) {
-    printf ("enter expression: ");
-    n = 0;
-    while ((buf[n] = getchar ()) != '\n' && buf[n] != EOF)
-      n++;
-    if (buf[n] == EOF)
-      break;
-    buf[n] = '\0';
-    printf ("parser returned %d\n", parse_c_expression (buf));
-  }
-
-  return 0;
-}
-
-/* table to tell if char can be part of a C identifier. */
-unsigned char is_idchar[256];
-/* table to tell if char can be first char of a c identifier. */
-unsigned char is_idstart[256];
-/* table to tell if c is horizontal space.  isspace () thinks that
-   newline is space; this is not a good idea for this program. */
-char is_hor_space[256];
-
-/*
- * initialize random junk in the hash table and maybe other places
- */
-initialize_random_junk ()
-{
-  register int i;
-
-  /*
-   * Set up is_idchar and is_idstart tables.  These should be
-   * faster than saying (is_alpha (c) || c == '_'), etc.
-   * Must do set up these things before calling any routines tthat
-   * refer to them.
-   */
-  for (i = 'a'; i <= 'z'; i++) {
-    ++is_idchar[i - 'a' + 'A'];
-    ++is_idchar[i];
-    ++is_idstart[i - 'a' + 'A'];
-    ++is_idstart[i];
-  }
-  for (i = '0'; i <= '9'; i++)
-    ++is_idchar[i];
-  ++is_idchar['_'];
-  ++is_idstart['_'];
-#if DOLLARS_IN_IDENTIFIERS
-  ++is_idchar['$'];
-  ++is_idstart['$'];
-#endif
-
-  /* horizontal space table */
-  ++is_hor_space[' '];
-  ++is_hor_space['\t'];
-}
-
-error (msg)
-{
-  printf ("error: %s\n", msg);
-}
-
-warning (msg)
-{
-  printf ("warning: %s\n", msg);
-}
-
-struct hashnode *
-lookup (name, len, hash)
-     char *name;
-     int len;
-     int hash;
-{
-  return (DEFAULT_SIGNED_CHAR) ? 0 : ((struct hashnode *) -1);
-}
-#endif
diff --git a/test/manual/etags/y-src/cccp.y b/test/manual/etags/y-src/cccp.y
deleted file mode 100644 (file)
index 1cd2111..0000000
+++ /dev/null
@@ -1,1006 +0,0 @@
-/* Parse C expressions for CCCP.
-   Copyright (C) 1987, 1992 Free Software Foundation.
-
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-
- In other words, you are welcome to use, share and improve this program.
- You are forbidden to forbid anyone else to use, share and improve
- what you give them.   Help stamp out software-hoarding!
-
- Adapted from expread.y of GDB by Paul Rubin, July 1986.  */
-
-/* Parse a C expression from text in a string  */
-   
-%{
-#include "config.h"
-#include <setjmp.h>
-/* #define YYDEBUG 1 */
-
-#ifdef MULTIBYTE_CHARS
-#include <stdlib.h>
-#include <locale.h>
-#endif
-
-#include <stdio.h>
-
-typedef unsigned char U_CHAR;
-
-/* This is used for communicating lists of keywords with cccp.c.  */
-struct arglist {
-  struct arglist *next;
-  U_CHAR *name;
-  int length;
-  int argno;
-};
-
-/* Define a generic NULL if one hasn't already been defined.  */
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-#ifndef GENERIC_PTR
-#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)
-#define GENERIC_PTR void *
-#else
-#define GENERIC_PTR char *
-#endif
-#endif
-
-#ifndef NULL_PTR
-#define NULL_PTR ((GENERIC_PTR)0)
-#endif
-
-int yylex ();
-void yyerror ();
-int expression_value;
-
-static jmp_buf parse_return_error;
-
-/* Nonzero means count most punctuation as part of a name.  */
-static int keyword_parsing = 0;
-
-/* some external tables of character types */
-extern unsigned char is_idstart[], is_idchar[], is_hor_space[];
-
-extern char *xmalloc ();
-
-/* Flag for -pedantic.  */
-extern int pedantic;
-
-/* Flag for -traditional.  */
-extern int traditional;
-
-#ifndef CHAR_TYPE_SIZE
-#define CHAR_TYPE_SIZE BITS_PER_UNIT
-#endif
-
-#ifndef INT_TYPE_SIZE
-#define INT_TYPE_SIZE BITS_PER_WORD
-#endif
-
-#ifndef LONG_TYPE_SIZE
-#define LONG_TYPE_SIZE BITS_PER_WORD
-#endif
-
-#ifndef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE INT_TYPE_SIZE
-#endif
-
-/* Yield nonzero if adding two numbers with A's and B's signs can yield a
-   number with SUM's sign, where A, B, and SUM are all C integers.  */
-#define possible_sum_sign(a, b, sum) ((((a) ^ (b)) | ~ ((a) ^ (sum))) < 0)
-
-static void integer_overflow ();
-static long left_shift ();
-static long right_shift ();
-%}
-
-%union {
-  struct constant {long value; int unsignedp;} integer;
-  struct name {U_CHAR *address; int length;} name;
-  struct arglist *keywords;
-  int voidval;
-  char *sval;
-}
-
-%type <integer> exp exp1 start
-%type <keywords> keywords
-%token <integer> INT CHAR
-%token <name> NAME
-%token <integer> ERROR
-
-%right '?' ':'
-%left ','
-%left OR
-%left AND
-%left '|'
-%left '^'
-%left '&'
-%left EQUAL NOTEQUAL
-%left '<' '>' LEQ GEQ
-%left LSH RSH
-%left '+' '-'
-%left '*' '/' '%'
-%right UNARY
-
-/* %expect 40 */
-\f
-%%
-
-start   :      exp1
-               { expression_value = $1.value; }
-       ;
-
-/* Expressions, including the comma operator.  */
-exp1   :       exp
-       |       exp1 ',' exp
-                       { if (pedantic)
-                           pedwarn ("comma operator in operand of `#if'");
-                         $$ = $3; }
-       ;
-
-/* Expressions, not including the comma operator.  */
-exp    :       '-' exp    %prec UNARY
-                       { $$.value = - $2.value;
-                         if (($$.value & $2.value) < 0 && ! $2.unsignedp)
-                           integer_overflow ();
-                         $$.unsignedp = $2.unsignedp; }
-       |       '!' exp    %prec UNARY
-                       { $$.value = ! $2.value;
-                         $$.unsignedp = 0; }
-       |       '+' exp    %prec UNARY
-                       { $$ = $2; }
-       |       '~' exp    %prec UNARY
-                       { $$.value = ~ $2.value;
-                         $$.unsignedp = $2.unsignedp; }
-       |       '#' NAME
-                       { $$.value = check_assertion ($2.address, $2.length,
-                                                     0, NULL_PTR);
-                         $$.unsignedp = 0; }
-       |       '#' NAME
-                       { keyword_parsing = 1; }
-               '(' keywords ')'
-                       { $$.value = check_assertion ($2.address, $2.length,
-                                                     1, $5);
-                         keyword_parsing = 0;
-                         $$.unsignedp = 0; }
-       |       '(' exp1 ')'
-                       { $$ = $2; }
-       ;
-
-/* Binary operators in order of decreasing precedence.  */
-exp    :       exp '*' exp
-                       { $$.unsignedp = $1.unsignedp || $3.unsignedp;
-                         if ($$.unsignedp)
-                           $$.value = (unsigned long) $1.value * $3.value;
-                         else
-                           {
-                             $$.value = $1.value * $3.value;
-                             if ($1.value
-                                 && ($$.value / $1.value != $3.value
-                                     || ($$.value & $1.value & $3.value) < 0))
-                               integer_overflow ();
-                           } }
-       |       exp '/' exp
-                       { if ($3.value == 0)
-                           {
-                             error ("division by zero in #if");
-                             $3.value = 1;
-                           }
-                         $$.unsignedp = $1.unsignedp || $3.unsignedp;
-                         if ($$.unsignedp)
-                           $$.value = (unsigned long) $1.value / $3.value;
-                         else
-                           {
-                             $$.value = $1.value / $3.value;
-                             if (($$.value & $1.value & $3.value) < 0)
-                               integer_overflow ();
-                           } }
-       |       exp '%' exp
-                       { if ($3.value == 0)
-                           {
-                             error ("division by zero in #if");
-                             $3.value = 1;
-                           }
-                         $$.unsignedp = $1.unsignedp || $3.unsignedp;
-                         if ($$.unsignedp)
-                           $$.value = (unsigned long) $1.value % $3.value;
-                         else
-                           $$.value = $1.value % $3.value; }
-       |       exp '+' exp
-                       { $$.value = $1.value + $3.value;
-                         $$.unsignedp = $1.unsignedp || $3.unsignedp;
-                         if (! $$.unsignedp
-                             && ! possible_sum_sign ($1.value, $3.value,
-                                                     $$.value))
-                           integer_overflow (); }
-       |       exp '-' exp
-                       { $$.value = $1.value - $3.value;
-                         $$.unsignedp = $1.unsignedp || $3.unsignedp;
-                         if (! $$.unsignedp
-                             && ! possible_sum_sign ($$.value, $3.value,
-                                                     $1.value))
-                           integer_overflow (); }
-       |       exp LSH exp
-                       { $$.unsignedp = $1.unsignedp;
-                         if ($3.value < 0 && ! $3.unsignedp)
-                           $$.value = right_shift (&$1, -$3.value);
-                         else
-                           $$.value = left_shift (&$1, $3.value); }
-       |       exp RSH exp
-                       { $$.unsignedp = $1.unsignedp;
-                         if ($3.value < 0 && ! $3.unsignedp)
-                           $$.value = left_shift (&$1, -$3.value);
-                         else
-                           $$.value = right_shift (&$1, $3.value); }
-       |       exp EQUAL exp
-                       { $$.value = ($1.value == $3.value);
-                         $$.unsignedp = 0; }
-       |       exp NOTEQUAL exp
-                       { $$.value = ($1.value != $3.value);
-                         $$.unsignedp = 0; }
-       |       exp LEQ exp
-                       { $$.unsignedp = 0;
-                         if ($1.unsignedp || $3.unsignedp)
-                           $$.value = (unsigned long) $1.value <= $3.value;
-                         else
-                           $$.value = $1.value <= $3.value; }
-       |       exp GEQ exp
-                       { $$.unsignedp = 0;
-                         if ($1.unsignedp || $3.unsignedp)
-                           $$.value = (unsigned long) $1.value >= $3.value;
-                         else
-                           $$.value = $1.value >= $3.value; }
-       |       exp '<' exp
-                       { $$.unsignedp = 0;
-                         if ($1.unsignedp || $3.unsignedp)
-                           $$.value = (unsigned long) $1.value < $3.value;
-                         else
-                           $$.value = $1.value < $3.value; }
-       |       exp '>' exp
-                       { $$.unsignedp = 0;
-                         if ($1.unsignedp || $3.unsignedp)
-                           $$.value = (unsigned long) $1.value > $3.value;
-                         else
-                           $$.value = $1.value > $3.value; }
-       |       exp '&' exp
-                       { $$.value = $1.value & $3.value;
-                         $$.unsignedp = $1.unsignedp || $3.unsignedp; }
-       |       exp '^' exp
-                       { $$.value = $1.value ^ $3.value;
-                         $$.unsignedp = $1.unsignedp || $3.unsignedp; }
-       |       exp '|' exp
-                       { $$.value = $1.value | $3.value;
-                         $$.unsignedp = $1.unsignedp || $3.unsignedp; }
-       |       exp AND exp
-                       { $$.value = ($1.value && $3.value);
-                         $$.unsignedp = 0; }
-       |       exp OR exp
-                       { $$.value = ($1.value || $3.value);
-                         $$.unsignedp = 0; }
-       |       exp '?' exp ':' exp
-                       { $$.value = $1.value ? $3.value : $5.value;
-                         $$.unsignedp = $3.unsignedp || $5.unsignedp; }
-       |       INT
-                       { $$ = yylval.integer; }
-       |       CHAR
-                       { $$ = yylval.integer; }
-       |       NAME
-                       { $$.value = 0;
-                         $$.unsignedp = 0; }
-       ;
-
-keywords :
-                       { $$ = 0; } 
-       |       '(' keywords ')' keywords
-                       { struct arglist *temp;
-                         $$ = (struct arglist *) xmalloc (sizeof (struct arglist));
-                         $$->next = $2;
-                         $$->name = (U_CHAR *) "(";
-                         $$->length = 1;
-                         temp = $$;
-                         while (temp != 0 && temp->next != 0)
-                           temp = temp->next;
-                         temp->next = (struct arglist *) xmalloc (sizeof (struct arglist));
-                         temp->next->next = $4;
-                         temp->next->name = (U_CHAR *) ")";
-                         temp->next->length = 1; }
-       |       NAME keywords
-                       { $$ = (struct arglist *) xmalloc (sizeof (struct arglist));
-                         $$->name = $1.address;
-                         $$->length = $1.length;
-                         $$->next = $2; } 
-       ;
-%%
-\f
-/* During parsing of a C expression, the pointer to the next character
-   is in this variable.  */
-
-static char *lexptr;
-
-/* Take care of parsing a number (anything that starts with a digit).
-   Set yylval and return the token type; update lexptr.
-   LEN is the number of characters in it.  */
-
-/* maybe needs to actually deal with floating point numbers */
-
-int
-parse_number (olen)
-     int olen;
-{
-  register char *p = lexptr;
-  register int c;
-  register unsigned long n = 0, nd, ULONG_MAX_over_base;
-  register int base = 10;
-  register int len = olen;
-  register int overflow = 0;
-  register int digit, largest_digit = 0;
-  int spec_long = 0;
-
-  for (c = 0; c < len; c++)
-    if (p[c] == '.') {
-      /* It's a float since it contains a point.  */
-      yyerror ("floating point numbers not allowed in #if expressions");
-      return ERROR;
-    }
-
-  yylval.integer.unsignedp = 0;
-
-  if (len >= 3 && (!strncmp (p, "0x", 2) || !strncmp (p, "0X", 2))) {
-    p += 2;
-    base = 16;
-    len -= 2;
-  }
-  else if (*p == '0')
-    base = 8;
-
-  ULONG_MAX_over_base = (unsigned long) -1 / base;
-
-  for (; len > 0; len--) {
-    c = *p++;
-
-    if (c >= '0' && c <= '9')
-      digit = c - '0';
-    else if (base == 16 && c >= 'a' && c <= 'f')
-      digit = c - 'a' + 10;
-    else if (base == 16 && c >= 'A' && c <= 'F')
-      digit = c - 'A' + 10;
-    else {
-      /* `l' means long, and `u' means unsigned.  */
-      while (1) {
-       if (c == 'l' || c == 'L')
-         {
-           if (spec_long)
-             yyerror ("two `l's in integer constant");
-           spec_long = 1;
-         }
-       else if (c == 'u' || c == 'U')
-         {
-           if (yylval.integer.unsignedp)
-             yyerror ("two `u's in integer constant");
-           yylval.integer.unsignedp = 1;
-         }
-       else
-         break;
-
-       if (--len == 0)
-         break;
-       c = *p++;
-      }
-      /* Don't look for any more digits after the suffixes.  */
-      break;
-    }
-    if (largest_digit < digit)
-      largest_digit = digit;
-    nd = n * base + digit;
-    overflow |= ULONG_MAX_over_base < n | nd < n;
-    n = nd;
-  }
-
-  if (len != 0) {
-    yyerror ("Invalid number in #if expression");
-    return ERROR;
-  }
-
-  if (base <= largest_digit)
-    warning ("integer constant contains digits beyond the radix");
-
-  if (overflow)
-    warning ("integer constant out of range");
-
-  /* If too big to be signed, consider it unsigned.  */
-  if ((long) n < 0 && ! yylval.integer.unsignedp)
-    {
-      if (base == 10)
-       warning ("integer constant is so large that it is unsigned");
-      yylval.integer.unsignedp = 1;
-    }
-
-  lexptr = p;
-  yylval.integer.value = n;
-  return INT;
-}
-
-struct token {
-  char *operator;
-  int token;
-};
-
-static struct token tokentab2[] = {
-  {"&&", AND},
-  {"||", OR},
-  {"<<", LSH},
-  {">>", RSH},
-  {"==", EQUAL},
-  {"!=", NOTEQUAL},
-  {"<=", LEQ},
-  {">=", GEQ},
-  {"++", ERROR},
-  {"--", ERROR},
-  {NULL, ERROR}
-};
-
-/* Read one token, getting characters through lexptr.  */
-
-int
-yylex ()
-{
-  register int c;
-  register int namelen;
-  register unsigned char *tokstart;
-  register struct token *toktab;
-  int wide_flag;
-
- retry:
-
-  tokstart = (unsigned char *) lexptr;
-  c = *tokstart;
-  /* See if it is a special token of length 2.  */
-  if (! keyword_parsing)
-    for (toktab = tokentab2; toktab->operator != NULL; toktab++)
-      if (c == *toktab->operator && tokstart[1] == toktab->operator[1]) {
-       lexptr += 2;
-       if (toktab->token == ERROR)
-         {
-           char *buf = (char *) alloca (40);
-           sprintf (buf, "`%s' not allowed in operand of `#if'", toktab->operator);
-           yyerror (buf);
-         }
-       return toktab->token;
-      }
-
-  switch (c) {
-  case 0:
-    return 0;
-    
-  case ' ':
-  case '\t':
-  case '\r':
-  case '\n':
-    lexptr++;
-    goto retry;
-    
-  case 'L':
-    /* Capital L may start a wide-string or wide-character constant.  */
-    if (lexptr[1] == '\'')
-      {
-       lexptr++;
-       wide_flag = 1;
-       goto char_constant;
-      }
-    if (lexptr[1] == '"')
-      {
-       lexptr++;
-       wide_flag = 1;
-       goto string_constant;
-      }
-    break;
-
-  case '\'':
-    wide_flag = 0;
-  char_constant:
-    lexptr++;
-    if (keyword_parsing) {
-      char *start_ptr = lexptr - 1;
-      while (1) {
-       c = *lexptr++;
-       if (c == '\\')
-         c = parse_escape (&lexptr);
-       else if (c == '\'')
-         break;
-      }
-      yylval.name.address = tokstart;
-      yylval.name.length = lexptr - start_ptr;
-      return NAME;
-    }
-
-    /* This code for reading a character constant
-       handles multicharacter constants and wide characters.
-       It is mostly copied from c-lex.c.  */
-    {
-      register int result = 0;
-      register num_chars = 0;
-      unsigned width = CHAR_TYPE_SIZE;
-      int max_chars;
-      char *token_buffer;
-
-      if (wide_flag)
-       {
-         width = WCHAR_TYPE_SIZE;
-#ifdef MULTIBYTE_CHARS
-         max_chars = MB_CUR_MAX;
-#else
-         max_chars = 1;
-#endif
-       }
-      else
-       max_chars = LONG_TYPE_SIZE / width;
-
-      token_buffer = (char *) alloca (max_chars + 1);
-
-      while (1)
-       {
-         c = *lexptr++;
-
-         if (c == '\'' || c == EOF)
-           break;
-
-         if (c == '\\')
-           {
-             c = parse_escape (&lexptr);
-             if (width < HOST_BITS_PER_INT
-                 && (unsigned) c >= (1 << width))
-               pedwarn ("escape sequence out of range for character");
-           }
-
-         num_chars++;
-
-         /* Merge character into result; ignore excess chars.  */
-         if (num_chars < max_chars + 1)
-           {
-             if (width < HOST_BITS_PER_INT)
-               result = (result << width) | (c & ((1 << width) - 1));
-             else
-               result = c;
-             token_buffer[num_chars - 1] = c;
-           }
-       }
-
-      token_buffer[num_chars] = 0;
-
-      if (c != '\'')
-       error ("malformatted character constant");
-      else if (num_chars == 0)
-       error ("empty character constant");
-      else if (num_chars > max_chars)
-       {
-         num_chars = max_chars;
-         error ("character constant too long");
-       }
-      else if (num_chars != 1 && ! traditional)
-       warning ("multi-character character constant");
-
-      /* If char type is signed, sign-extend the constant.  */
-      if (! wide_flag)
-       {
-         int num_bits = num_chars * width;
-
-         if (lookup ("__CHAR_UNSIGNED__", sizeof ("__CHAR_UNSIGNED__")-1, -1)
-             || ((result >> (num_bits - 1)) & 1) == 0)
-           yylval.integer.value
-             = result & ((unsigned long) ~0 >> (HOST_BITS_PER_LONG - num_bits));
-         else
-           yylval.integer.value
-             = result | ~((unsigned long) ~0 >> (HOST_BITS_PER_LONG - num_bits));
-       }
-      else
-       {
-#ifdef MULTIBYTE_CHARS
-         /* Set the initial shift state and convert the next sequence.  */
-         result = 0;
-         /* In all locales L'\0' is zero and mbtowc will return zero,
-            so don't use it.  */
-         if (num_chars > 1
-             || (num_chars == 1 && token_buffer[0] != '\0'))
-           {
-             wchar_t wc;
-             (void) mbtowc (NULL_PTR, NULL_PTR, 0);
-             if (mbtowc (& wc, token_buffer, num_chars) == num_chars)
-               result = wc;
-             else
-               warning ("Ignoring invalid multibyte character");
-           }
-#endif
-         yylval.integer.value = result;
-       }
-    }
-
-    /* This is always a signed type.  */
-    yylval.integer.unsignedp = 0;
-    
-    return CHAR;
-
-    /* some of these chars are invalid in constant expressions;
-       maybe do something about them later */
-  case '/':
-  case '+':
-  case '-':
-  case '*':
-  case '%':
-  case '|':
-  case '&':
-  case '^':
-  case '~':
-  case '!':
-  case '@':
-  case '<':
-  case '>':
-  case '[':
-  case ']':
-  case '.':
-  case '?':
-  case ':':
-  case '=':
-  case '{':
-  case '}':
-  case ',':
-  case '#':
-    if (keyword_parsing)
-      break;
-  case '(':
-  case ')':
-    lexptr++;
-    return c;
-
-  case '"':
-  string_constant:
-    if (keyword_parsing) {
-      char *start_ptr = lexptr;
-      lexptr++;
-      while (1) {
-       c = *lexptr++;
-       if (c == '\\')
-         c = parse_escape (&lexptr);
-       else if (c == '"')
-         break;
-      }
-      yylval.name.address = tokstart;
-      yylval.name.length = lexptr - start_ptr;
-      return NAME;
-    }
-    yyerror ("string constants not allowed in #if expressions");
-    return ERROR;
-  }
-
-  if (c >= '0' && c <= '9' && !keyword_parsing) {
-    /* It's a number */
-    for (namelen = 0;
-        c = tokstart[namelen], is_idchar[c] || c == '.'; 
-        namelen++)
-      ;
-    return parse_number (namelen);
-  }
-
-  /* It is a name.  See how long it is.  */
-
-  if (keyword_parsing) {
-    for (namelen = 0;; namelen++) {
-      if (is_hor_space[tokstart[namelen]])
-       break;
-      if (tokstart[namelen] == '(' || tokstart[namelen] == ')')
-       break;
-      if (tokstart[namelen] == '"' || tokstart[namelen] == '\'')
-       break;
-    }
-  } else {
-    if (!is_idstart[c]) {
-      yyerror ("Invalid token in expression");
-      return ERROR;
-    }
-
-    for (namelen = 0; is_idchar[tokstart[namelen]]; namelen++)
-      ;
-  }
-  
-  lexptr += namelen;
-  yylval.name.address = tokstart;
-  yylval.name.length = namelen;
-  return NAME;
-}
-
-
-/* Parse a C escape sequence.  STRING_PTR points to a variable
-   containing a pointer to the string to parse.  That pointer
-   is updated past the characters we use.  The value of the
-   escape sequence is returned.
-
-   A negative value means the sequence \ newline was seen,
-   which is supposed to be equivalent to nothing at all.
-
-   If \ is followed by a null character, we return a negative
-   value and leave the string pointer pointing at the null character.
-
-   If \ is followed by 000, we return 0 and leave the string pointer
-   after the zeros.  A value of 0 does not mean end of string.  */
-
-int
-parse_escape (string_ptr)
-     char **string_ptr;
-{
-  register int c = *(*string_ptr)++;
-  switch (c)
-    {
-    case 'a':
-      return TARGET_BELL;
-    case 'b':
-      return TARGET_BS;
-    case 'e':
-    case 'E':
-      if (pedantic)
-       pedwarn ("non-ANSI-standard escape sequence, `\\%c'", c);
-      return 033;
-    case 'f':
-      return TARGET_FF;
-    case 'n':
-      return TARGET_NEWLINE;
-    case 'r':
-      return TARGET_CR;
-    case 't':
-      return TARGET_TAB;
-    case 'v':
-      return TARGET_VT;
-    case '\n':
-      return -2;
-    case 0:
-      (*string_ptr)--;
-      return 0;
-      
-    case '0':
-    case '1':
-    case '2':
-    case '3':
-    case '4':
-    case '5':
-    case '6':
-    case '7':
-      {
-       register int i = c - '0';
-       register int count = 0;
-       while (++count < 3)
-         {
-           c = *(*string_ptr)++;
-           if (c >= '0' && c <= '7')
-             i = (i << 3) + c - '0';
-           else
-             {
-               (*string_ptr)--;
-               break;
-             }
-         }
-       if ((i & ~((1 << CHAR_TYPE_SIZE) - 1)) != 0)
-         {
-           i &= (1 << CHAR_TYPE_SIZE) - 1;
-           warning ("octal character constant does not fit in a byte");
-         }
-       return i;
-      }
-    case 'x':
-      {
-       register unsigned i = 0, overflow = 0, digits_found = 0, digit;
-       for (;;)
-         {
-           c = *(*string_ptr)++;
-           if (c >= '0' && c <= '9')
-             digit = c - '0';
-           else if (c >= 'a' && c <= 'f')
-             digit = c - 'a' + 10;
-           else if (c >= 'A' && c <= 'F')
-             digit = c - 'A' + 10;
-           else
-             {
-               (*string_ptr)--;
-               break;
-             }
-           overflow |= i ^ (i << 4 >> 4);
-           i = (i << 4) + digit;
-           digits_found = 1;
-         }
-       if (!digits_found)
-         yyerror ("\\x used with no following hex digits");
-       if (overflow | (i & ~((1 << BITS_PER_UNIT) - 1)))
-         {
-           i &= (1 << BITS_PER_UNIT) - 1;
-           warning ("hex character constant does not fit in a byte");
-         }
-       return i;
-      }
-    default:
-      return c;
-    }
-}
-
-void
-yyerror (s)
-     char *s;
-{
-  error (s);
-  longjmp (parse_return_error, 1);
-}
-
-static void
-integer_overflow ()
-{
-  if (pedantic)
-    pedwarn ("integer overflow in preprocessor expression");
-}
-
-static long
-left_shift (a, b)
-     struct constant *a;
-     unsigned long b;
-{
-  if (b >= HOST_BITS_PER_LONG)
-    {
-      if (! a->unsignedp && a->value != 0)
-       integer_overflow ();
-      return 0;
-    }
-  else if (a->unsignedp)
-    return (unsigned long) a->value << b;
-  else
-    {
-      long l = a->value << b;
-      if (l >> b != a->value)
-       integer_overflow ();
-      return l;
-    }
-}
-
-static long
-right_shift (a, b)
-     struct constant *a;
-     unsigned long b;
-{
-  if (b >= HOST_BITS_PER_LONG)
-    return a->unsignedp ? 0 : a->value >> (HOST_BITS_PER_LONG - 1);
-  else if (a->unsignedp)
-    return (unsigned long) a->value >> b;
-  else
-    return a->value >> b;
-}
-\f
-/* This page contains the entry point to this file.  */
-
-/* Parse STRING as an expression, and complain if this fails
-   to use up all of the contents of STRING.  */
-/* We do not support C comments.  They should be removed before
-   this function is called.  */
-
-int
-parse_c_expression (string)
-     char *string;
-{
-  lexptr = string;
-  
-  if (lexptr == 0 || *lexptr == 0) {
-    error ("empty #if expression");
-    return 0;                  /* don't include the #if group */
-  }
-
-  /* if there is some sort of scanning error, just return 0 and assume
-     the parsing routine has printed an error message somewhere.
-     there is surely a better thing to do than this.     */
-  if (setjmp (parse_return_error))
-    return 0;
-
-  if (yyparse ())
-    return 0;                  /* actually this is never reached
-                                  the way things stand. */
-  if (*lexptr)
-    error ("Junk after end of expression.");
-
-  return expression_value;     /* set by yyparse () */
-}
-\f
-#ifdef TEST_EXP_READER
-extern int yydebug;
-
-/* Main program for testing purposes.  */
-int
-main ()
-{
-  int n, c;
-  char buf[1024];
-
-/*
-  yydebug = 1;
-*/
-  initialize_random_junk ();
-
-  for (;;) {
-    printf ("enter expression: ");
-    n = 0;
-    while ((buf[n] = getchar ()) != '\n' && buf[n] != EOF)
-      n++;
-    if (buf[n] == EOF)
-      break;
-    buf[n] = '\0';
-    printf ("parser returned %d\n", parse_c_expression (buf));
-  }
-
-  return 0;
-}
-
-/* table to tell if char can be part of a C identifier. */
-unsigned char is_idchar[256];
-/* table to tell if char can be first char of a c identifier. */
-unsigned char is_idstart[256];
-/* table to tell if c is horizontal space.  isspace () thinks that
-   newline is space; this is not a good idea for this program. */
-char is_hor_space[256];
-
-/*
- * initialize random junk in the hash table and maybe other places
- */
-initialize_random_junk ()
-{
-  register int i;
-
-  /*
-   * Set up is_idchar and is_idstart tables.  These should be
-   * faster than saying (is_alpha (c) || c == '_'), etc.
-   * Must do set up these things before calling any routines tthat
-   * refer to them.
-   */
-  for (i = 'a'; i <= 'z'; i++) {
-    ++is_idchar[i - 'a' + 'A'];
-    ++is_idchar[i];
-    ++is_idstart[i - 'a' + 'A'];
-    ++is_idstart[i];
-  }
-  for (i = '0'; i <= '9'; i++)
-    ++is_idchar[i];
-  ++is_idchar['_'];
-  ++is_idstart['_'];
-#if DOLLARS_IN_IDENTIFIERS
-  ++is_idchar['$'];
-  ++is_idstart['$'];
-#endif
-
-  /* horizontal space table */
-  ++is_hor_space[' '];
-  ++is_hor_space['\t'];
-}
-
-error (msg)
-{
-  printf ("error: %s\n", msg);
-}
-
-warning (msg)
-{
-  printf ("warning: %s\n", msg);
-}
-
-struct hashnode *
-lookup (name, len, hash)
-     char *name;
-     int len;
-     int hash;
-{
-  return (DEFAULT_SIGNED_CHAR) ? 0 : ((struct hashnode *) -1);
-}
-#endif
diff --git a/test/manual/etags/y-src/parse.c b/test/manual/etags/y-src/parse.c
deleted file mode 100644 (file)
index c4aac43..0000000
+++ /dev/null
@@ -1,2237 +0,0 @@
-/* A Bison parser, made from parse.y
-   by GNU bison 1.32.  */
-
-#define YYBISON 1  /* Identify Bison output.  */
-
-# define       NE      257
-# define       LE      258
-# define       GE      259
-# define       NEG     260
-# define       L_CELL  261
-# define       L_RANGE 262
-# define       L_VAR   263
-# define       L_CONST 264
-# define       L_FN0   265
-# define       L_FN1   266
-# define       L_FN2   267
-# define       L_FN3   268
-# define       L_FN4   269
-# define       L_FNN   270
-# define       L_FN1R  271
-# define       L_FN2R  272
-# define       L_FN3R  273
-# define       L_FN4R  274
-# define       L_FNNR  275
-# define       L_LE    276
-# define       L_NE    277
-# define       L_GE    278
-
-#line 1 "y-src/parse.y"
-
-/*     Copyright (C) 1990, 1992-1993, 2016-2024 Free Software Foundation,
- *     Inc.
-
-This file is part of Oleo, the GNU Spreadsheet.
-
-Oleo is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-Oleo is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with Oleo; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
-#line 41 "y-src/parse.y"
-
-#include "funcdef.h"
-
-#include <ctype.h>
-
-#define obstack_chunk_alloc ck_malloc
-#define obstack_chunk_free free
-#include "obstack.h"
-#include "sysdef.h"
-
-#include "global.h"
-#include "errors.h"
-#include "node.h"
-#include "eval.h"
-#include "ref.h"
-
-int yylex ();
-#ifdef __STDC__
-void yyerror (char *);
-#else
-void yyerror ();
-#endif
-VOIDSTAR parse_hash;
-extern VOIDSTAR hash_find();
-
-/* This table contains a list of the infix single-char functions */
-unsigned char fnin[] = {
-       SUM, DIFF, DIV, PROD, MOD, /* AND, OR, */ POW, EQUAL, IF, CONCAT, 0
-};
-
-#define YYSTYPE _y_y_s_t_y_p_e
-typedef struct node *YYSTYPE;
-YYSTYPE parse_return;
-#ifdef __STDC__
-YYSTYPE make_list (YYSTYPE, YYSTYPE);
-#else
-YYSTYPE make_list ();
-#endif
-
-char *instr;
-int parse_error = 0;
-extern struct obstack tmp_mem;
-
-#ifndef YYSTYPE
-#define YYSTYPE int
-#endif
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-
-
-#define        YYFINAL         131
-#define        YYFLAG          -32768
-#define        YYNTBASE        41
-
-/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
-#define YYTRANSLATE(x) ((unsigned)(x) <= 278 ? yytranslate[x] : 47)
-
-/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
-static const char yytranslate[] =
-{
-       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    19,     2,     2,     2,    16,     5,     2,
-      38,    39,    14,    12,    40,    13,     2,    15,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     4,     2,
-       8,     6,    10,     3,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,    17,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     1,     7,     9,    11,
-      18,    20,    21,    22,    23,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37
-};
-
-#if YYDEBUG
-static const short yyprhs[] =
-{
-       0,     0,     2,     4,     6,     8,    12,    17,    24,    33,
-      44,    49,    54,    59,    66,    73,    82,    91,   100,   109,
-     114,   120,   124,   128,   132,   136,   140,   144,   148,   152,
-     156,   160,   164,   168,   172,   175,   178,   182,   186,   189,
-     191,   195,   197,   199,   201,   205,   207
-};
-static const short yyrhs[] =
-{
-      42,     0,     1,     0,    23,     0,    46,     0,    24,    38,
-      39,     0,    25,    38,    42,    39,     0,    26,    38,    42,
-      40,    42,    39,     0,    27,    38,    42,    40,    42,    40,
-      42,    39,     0,    28,    38,    42,    40,    42,    40,    42,
-      40,    42,    39,     0,    29,    38,    43,    39,     0,    30,
-      38,    21,    39,     0,    30,    38,    22,    39,     0,    31,
-      38,    21,    40,    42,    39,     0,    31,    38,    22,    40,
-      42,    39,     0,    31,    38,    21,    40,    42,    40,    42,
-      39,     0,    31,    38,    22,    40,    42,    40,    42,    39,
-       0,    32,    38,    21,    40,    42,    40,    42,    39,     0,
-      32,    38,    22,    40,    42,    40,    42,    39,     0,    34,
-      38,    45,    39,     0,    42,     3,    42,     4,    42,     0,
-      42,     5,    42,     0,    42,     8,    42,     0,    42,     9,
-      42,     0,    42,     6,    42,     0,    42,     7,    42,     0,
-      42,    10,    42,     0,    42,    11,    42,     0,    42,    12,
-      42,     0,    42,    13,    42,     0,    42,    14,    42,     0,
-      42,    15,    42,     0,    42,    16,    42,     0,    42,    17,
-      42,     0,    13,    42,     0,    19,    42,     0,    38,    42,
-      39,     0,    38,    42,     1,     0,    38,     1,     0,    42,
-       0,    43,    40,    42,     0,    21,     0,    42,     0,    44,
-       0,    45,    40,    44,     0,    20,     0,    22,     0
-};
-
-#endif
-
-#if YYDEBUG
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const short yyrline[] =
-{
-       0,    86,    88,    94,    95,    96,    98,   102,   106,   110,
-     114,   118,   121,   125,   129,   135,   142,   150,   154,   159,
-     163,   174,   178,   182,   186,   190,   194,   198,   202,   206,
-     210,   214,   218,   222,   226,   241,   245,   247,   255,   262,
-     264,   268,   269,   272,   274,   278,   280
-};
-#endif
-
-
-#if (YYDEBUG) || defined YYERROR_VERBOSE
-
-/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
-static const char *const yytname[] =
-{
-  "$", "error", "$undefined.", "'?'", "':'", "'&'", "'='", "NE", "'<'", 
-  "LE", "'>'", "GE", "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "NEG", 
-  "'!'", "L_CELL", "L_RANGE", "L_VAR", "L_CONST", "L_FN0", "L_FN1", 
-  "L_FN2", "L_FN3", "L_FN4", "L_FNN", "L_FN1R", "L_FN2R", "L_FN3R", 
-  "L_FN4R", "L_FNNR", "L_LE", "L_NE", "L_GE", "'('", "')'", "','", "line", 
-  "exp", "exp_list", "range_exp", "range_exp_list", "cell", NULL
-};
-#endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const short yyr1[] =
-{
-       0,    41,    41,    42,    42,    42,    42,    42,    42,    42,
-      42,    42,    42,    42,    42,    42,    42,    42,    42,    42,
-      42,    42,    42,    42,    42,    42,    42,    42,    42,    42,
-      42,    42,    42,    42,    42,    42,    42,    42,    42,    43,
-      43,    44,    44,    45,    45,    46,    46
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const short yyr2[] =
-{
-       0,     1,     1,     1,     1,     3,     4,     6,     8,    10,
-       4,     4,     4,     6,     6,     8,     8,     8,     8,     4,
-       5,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       3,     3,     3,     3,     2,     2,     3,     3,     2,     1,
-       3,     1,     1,     1,     3,     1,     1
-};
-
-/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
-   doesn't specify something else to do.  Zero means the default is an
-   error. */
-static const short yydefact[] =
-{
-       0,     2,     0,     0,    45,    46,     3,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     1,     4,
-      34,    35,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    38,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     5,     0,
-       0,     0,     0,    39,     0,     0,     0,     0,     0,     0,
-       0,    41,    42,    43,     0,    37,    36,     0,    21,    24,
-      25,    22,    23,    26,    27,    28,    29,    30,    31,    32,
-      33,     6,     0,     0,     0,    10,     0,    11,    12,     0,
-       0,     0,     0,    19,     0,     0,     0,     0,     0,    40,
-       0,     0,     0,     0,    44,    20,     7,     0,     0,    13,
-       0,    14,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     8,     0,    15,    16,    17,    18,     0,     9,     0,
-       0,     0
-};
-
-static const short yydefgoto[] =
-{
-     129,    62,    54,    63,    64,    19
-};
-
-static const short yypact[] =
-{
-     104,-32768,   486,   486,-32768,-32768,-32768,   -37,   -22,   -16,
-      10,    12,    14,    29,    43,    47,    50,   124,   537,-32768,
-  -32768,-32768,    59,   486,   486,   486,   486,   486,     7,     9,
-      11,   464,-32768,    48,   486,   486,   486,   486,   486,   486,
-     486,   486,   486,   486,   486,   486,   486,   486,-32768,   332,
-     173,   209,   224,   537,    54,    60,    61,    64,    66,    69,
-      71,-32768,   537,-32768,    57,-32768,-32768,   522,    -2,   193,
-     193,   547,   547,   547,   547,     4,     4,    84,    84,    84,
-      84,-32768,   486,   486,   486,-32768,   486,-32768,-32768,   486,
-     486,   486,   486,-32768,   464,   486,   353,   245,   260,   537,
-      63,   158,   281,   296,-32768,   537,-32768,   486,   486,-32768,
-     486,-32768,   486,   486,   486,   369,   317,   388,   404,   423,
-     439,-32768,   486,-32768,-32768,-32768,-32768,   458,-32768,   115,
-     116,-32768
-};
-
-static const short yypgoto[] =
-{
-  -32768,     0,-32768,    24,-32768,-32768
-};
-
-
-#define        YYLAST          564
-
-
-static const short yytable[] =
-{
-      18,    22,    20,    21,    36,    37,    38,    39,    40,    41,
-      42,    43,    44,    45,    46,    47,    23,    33,    44,    45,
-      46,    47,    24,    49,    50,    51,    52,    53,    55,    56,
-      57,    58,    59,    60,    67,    68,    69,    70,    71,    72,
-      73,    74,    75,    76,    77,    78,    79,    80,    25,    65,
-      26,    34,    27,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    44,    45,    46,    47,    34,    28,    35,    36,
-      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-      47,    29,    96,    97,    98,    30,    99,    66,    31,   100,
-     101,   102,   103,    85,    86,   105,    93,    94,    48,    87,
-      88,    47,   109,   110,    89,     1,    90,   115,   116,    91,
-     117,    92,   118,   119,   120,   130,   131,     2,   104,     0,
-       0,     0,   127,     3,     4,    32,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,     2,    16,     0,
-       0,     0,    17,     3,     4,     0,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,     0,    16,     0,
-       0,    34,    17,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    44,    45,    46,    47,    34,     0,    35,    36,
-      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-      47,     0,     0,     0,     0,     0,     0,   111,   112,-32768,
-  -32768,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-      47,     0,    34,    82,    35,    36,    37,    38,    39,    40,
-      41,    42,    43,    44,    45,    46,    47,    34,     0,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,     0,     0,     0,     0,     0,     0,    34,    83,
-      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    34,    84,    35,    36,    37,    38,    39,
-      40,    41,    42,    43,    44,    45,    46,    47,     0,     0,
-       0,     0,     0,     0,    34,   107,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    34,
-     108,    35,    36,    37,    38,    39,    40,    41,    42,    43,
-      44,    45,    46,    47,     0,     0,     0,     0,     0,     0,
-      34,   113,    35,    36,    37,    38,    39,    40,    41,    42,
-      43,    44,    45,    46,    47,    34,   114,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
-       0,     0,     0,     0,     0,     0,    34,   122,    35,    36,
-      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-      47,    81,    34,     0,    35,    36,    37,    38,    39,    40,
-      41,    42,    43,    44,    45,    46,    47,     0,     0,     0,
-       0,    34,   106,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    44,    45,    46,    47,     0,    34,   121,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,     0,     0,     0,     0,    34,   123,    35,    36,
-      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-      47,     0,    34,   124,    35,    36,    37,    38,    39,    40,
-      41,    42,    43,    44,    45,    46,    47,     0,     0,     0,
-       0,    34,   125,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    44,    45,    46,    47,     0,     2,   126,     0,
-       0,     0,     0,     3,     4,    61,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,   128,    16,     2,
-       0,     0,    17,     0,     0,     3,     4,     0,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,     0,
-      16,     0,     0,     0,    17,    34,    95,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
-      34,     0,    35,    36,    37,    38,    39,    40,    41,    42,
-      43,    44,    45,    46,    47,-32768,-32768,-32768,-32768,    42,
-      43,    44,    45,    46,    47
-};
-
-static const short yycheck[] =
-{
-       0,    38,     2,     3,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    38,    17,    14,    15,
-      16,    17,    38,    23,    24,    25,    26,    27,    21,    22,
-      21,    22,    21,    22,    34,    35,    36,    37,    38,    39,
-      40,    41,    42,    43,    44,    45,    46,    47,    38,     1,
-      38,     3,    38,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,     3,    38,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    38,    82,    83,    84,    38,    86,    39,    38,    89,
-      90,    91,    92,    39,    40,    95,    39,    40,    39,    39,
-      39,    17,    39,    40,    40,     1,    40,   107,   108,    40,
-     110,    40,   112,   113,   114,     0,     0,    13,    94,    -1,
-      -1,    -1,   122,    19,    20,     1,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    13,    34,    -1,
-      -1,    -1,    38,    19,    20,    -1,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    -1,    34,    -1,
-      -1,     3,    38,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,     3,    -1,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    -1,     3,    40,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,     3,    -1,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    -1,    -1,    -1,    -1,    -1,    -1,     3,    40,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,     3,    40,     5,     6,     7,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    -1,    -1,
-      -1,    -1,    -1,    -1,     3,    40,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,     3,
-      40,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,    -1,
-       3,    40,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,     3,    40,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-      -1,    -1,    -1,    -1,    -1,    -1,     3,    40,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    39,     3,    -1,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    -1,    -1,    -1,
-      -1,     3,    39,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    -1,     3,    39,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    -1,    -1,    -1,    -1,     3,    39,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    -1,     3,    39,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    -1,    -1,    -1,
-      -1,     3,    39,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    -1,    13,    39,    -1,
-      -1,    -1,    -1,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    39,    34,    13,
-      -1,    -1,    38,    -1,    -1,    19,    20,    -1,    22,    23,
-      24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
-      34,    -1,    -1,    -1,    38,     3,     4,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-       3,    -1,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17
-};
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/bison/bison.simple"
-
-/* Skeleton output parser for bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-/* This is the parser code that is written into each bison parser when
-   the %semantic_parser declaration is not specified in the grammar.
-   It was written by Richard Stallman by simplifying the hairy parser
-   used when %semantic_parser is specified.  */
-
-/* All symbols defined below should begin with yy or YY, to avoid
-   infringing on user name space.  This should be done even for local
-   variables, as they might otherwise be expanded by user macros.
-   There are some unavoidable exceptions within include files to
-   define necessary library symbols; they are noted "INFRINGES ON
-   USER NAME SPACE" below.  */
-
-#ifdef __cplusplus
-# define YYSTD(x) std::x
-#else
-# define YYSTD(x) x
-#endif
-
-#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
-
-/* The parser invokes alloca or malloc; define the necessary symbols.  */
-
-# if YYSTACK_USE_ALLOCA
-#  define YYSTACK_ALLOC alloca
-#  define YYSIZE_T YYSTD (size_t)
-# else
-#  ifndef YYSTACK_USE_ALLOCA
-#   if defined (alloca) || defined (_ALLOCA_H)
-#    define YYSTACK_ALLOC alloca
-#    define YYSIZE_T YYSTD (size_t)
-#   else
-#    ifdef __GNUC__
-#     define YYSTACK_ALLOC __builtin_alloca
-#    endif
-#   endif
-#  endif
-# endif
-
-# ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning. */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# else
-#  ifdef __cplusplus
-#   include <cstdlib> /* INFRINGES ON USER NAME SPACE */
-#   define YYSIZE_T std::size_t
-#  else
-#   ifdef __STDC__
-#    include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#    define YYSIZE_T size_t
-#   endif
-#  endif
-#  define YYSTACK_ALLOC YYSTD (malloc)
-#  define YYSTACK_FREE YYSTD (free)
-# endif
-
-/* A type that is properly aligned for any stack member.  */
-union yyalloc
-{
-  short yyss;
-  YYSTYPE yyvs;
-# if YYLSP_NEEDED
-  YYLTYPE yyls;
-# endif
-};
-
-/* The size of the maximum gap between one aligned stack and the next.  */
-# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
-   N elements.  */
-# if YYLSP_NEEDED
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))     \
-      + 2 * YYSTACK_GAP_MAX)
-# else
-#  define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE))                                \
-      + YYSTACK_GAP_MAX)
-# endif
-
-/* Relocate the TYPE STACK from its old location to the new one.  The
-   local variables YYSIZE and YYSTACKSIZE give the old and new number of
-   elements in the stack, and YYPTR gives the new location of the
-   stack.  Advance YYPTR to a properly aligned location for the next
-   stack.  */
-# define YYSTACK_RELOCATE(Type, Stack)                                 \
-    do                                                                 \
-      {                                                                        \
-       YYSIZE_T yynewbytes;                                            \
-       yymemcpy ((char *) yyptr, (char *) (Stack),                     \
-                 yysize * (YYSIZE_T) sizeof (Type));                   \
-       Stack = &yyptr->Stack;                                          \
-       yynewbytes = yystacksize * sizeof (Type) + YYSTACK_GAP_MAX;     \
-       yyptr += yynewbytes / sizeof (*yyptr);                          \
-      }                                                                        \
-    while (0)
-
-#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
-
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# ifdef __cplusplus
-#  include <cstddef> /* INFRINGES ON USER NAME SPACE */
-#  define YYSIZE_T std::size_t
-# else
-#  ifdef __STDC__
-#   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-#   define YYSIZE_T size_t
-#  endif
-# endif
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#define yyerrok                (yyerrstatus = 0)
-#define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                -2
-#define YYEOF          0
-#define YYACCEPT       goto yyacceptlab
-#define YYABORT        goto yyabortlab
-#define YYERROR                goto yyerrlab1
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
-#define YYFAIL         goto yyerrlab
-#define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(Token, Value)                                 \
-do                                                             \
-  if (yychar == YYEMPTY && yylen == 1)                         \
-    {                                                          \
-      yychar = (Token);                                                \
-      yylval = (Value);                                                \
-      yychar1 = YYTRANSLATE (yychar);                          \
-      YYPOPSTACK;                                              \
-      goto yybackup;                                           \
-    }                                                          \
-  else                                                         \
-    {                                                          \
-      yyerror ("syntax error: cannot back up");                        \
-      YYERROR;                                                 \
-    }                                                          \
-while (0)
-
-#define YYTERROR       1
-#define YYERRCODE      256
-
-
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
-   are run).
-
-   When YYLLOC_DEFAULT is run, CURRENT is set the location of the
-   first token.  By default, to implement support for ranges, extend
-   its range to the last symbol.  */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)               \
-   Current.last_line   = Rhs[N].last_line;     \
-   Current.last_column = Rhs[N].last_column;
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments.  */
-
-#if YYPURE
-# if YYLSP_NEEDED
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, &yylloc, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval, &yylloc)
-#  endif
-# else /* !YYLSP_NEEDED */
-#  ifdef YYLEX_PARAM
-#   define YYLEX               yylex (&yylval, YYLEX_PARAM)
-#  else
-#   define YYLEX               yylex (&yylval)
-#  endif
-# endif /* !YYLSP_NEEDED */
-#else /* !YYPURE */
-# define YYLEX                 yylex ()
-#endif /* !YYPURE */
-
-
-/* Enable debugging if requested.  */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-#  ifdef __cplusplus
-#   include <cstdio>  /* INFRINGES ON USER NAME SPACE */
-#  else
-#   include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-#  endif
-#  define YYFPRINTF YYSTD (fprintf)
-# endif
-
-# define YYDPRINTF(Args)                       \
-do {                                           \
-  if (yydebug)                                 \
-    YYFPRINTF Args;                            \
-} while (0)
-/* Nonzero means print parse trace. [The following comment makes no
-   sense to me.  Could someone clarify it?  --akim] Since this is
-   uninitialized, it does not stop multiple parsers from coexisting.
-   */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-#endif /* !YYDEBUG */
-
-/* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef        YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
-   if the built-in stack extension method is used).
-
-   Do not make this value too large; the results are undefined if
-   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
-   evaluated with infinite-precision integer arithmetic.  */
-
-#if YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-\f
-#if ! defined (yyoverflow) && ! defined (yymemcpy)
-# if __GNUC__ > 1              /* GNU C and GNU C++ define this.  */
-#  define yymemcpy __builtin_memcpy
-# else                         /* not GNU C or C++ */
-
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
-static void
-#  if defined (__STDC__) || defined (__cplusplus)
-yymemcpy (char *yyto, const char *yyfrom, YYSIZE_T yycount)
-#  else
-yymemcpy (yyto, yyfrom, yycount)
-     char *yyto;
-     const char *yyfrom;
-     YYSIZE_T yycount;
-#  endif
-{
-  register const char *yyf = yyfrom;
-  register char *yyt = yyto;
-  register YYSIZE_T yyi = yycount;
-
-  while (yyi-- != 0)
-    *yyt++ = *yyf++;
-}
-# endif
-#endif
-
-#ifdef YYERROR_VERBOSE
-
-# ifndef yystrlen
-#  if defined (__GLIBC__) && defined (_STRING_H)
-#   define yystrlen strlen
-#  else
-/* Return the length of YYSTR.  */
-static YYSIZE_T
-#   if defined (__STDC__) || defined (__cplusplus)
-yystrlen (const char *yystr)
-#   else
-yystrlen (yystr)
-     const char *yystr;
-#   endif
-{
-  register const char *yys = yystr;
-
-  while (*yys++ != '\0')
-    continue;
-
-  return yys - yystr - 1;
-}
-#  endif
-# endif
-
-# ifndef yystpcpy
-#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
-#   define yystpcpy stpcpy
-#  else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
-   YYDEST.  */
-static char *
-#   if defined (__STDC__) || defined (__cplusplus)
-yystpcpy (char *yydest, const char *yysrc)
-#   else
-yystpcpy (yydest, yysrc)
-     char *yydest;
-     const char *yysrc;
-#   endif
-{
-  register char *yyd = yydest;
-  register const char *yys = yysrc;
-
-  while ((*yyd++ = *yys++) != '\0')
-    continue;
-
-  return yyd - 1;
-}
-#  endif
-# endif
-#endif
-\f
-#line 341 "/usr/share/bison/bison.simple"
-
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
-
-#ifdef YYPARSE_PARAM
-# ifdef __cplusplus
-#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL
-# else /* !__cplusplus */
-#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-# endif /* !__cplusplus */
-#else /* !YYPARSE_PARAM */
-# define YYPARSE_PARAM_ARG
-# define YYPARSE_PARAM_DECL
-#endif /* !YYPARSE_PARAM */
-
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-# ifdef YYPARSE_PARAM
-int yyparse (void *);
-# else
-int yyparse (void);
-# endif
-#endif
-
-/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
-   variables are global, or local to YYPARSE.  */
-
-#define YY_DECL_NON_LSP_VARIABLES                      \
-/* The lookahead symbol.  */                           \
-int yychar;                                            \
-                                                       \
-/* The semantic value of the lookahead symbol. */      \
-YYSTYPE yylval;                                                \
-                                                       \
-/* Number of parse errors so far.  */                  \
-int yynerrs;
-
-#if YYLSP_NEEDED
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES                      \
-                                               \
-/* Location data for the lookahead symbol.  */ \
-YYLTYPE yylloc;
-#else
-# define YY_DECL_VARIABLES                     \
-YY_DECL_NON_LSP_VARIABLES
-#endif
-
-
-/* If nonreentrant, generate the variables here. */
-
-#if !YYPURE
-YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-int
-yyparse (YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
-{
-  /* If reentrant, generate the variables here. */
-#if YYPURE
-  YY_DECL_VARIABLES
-#endif  /* !YYPURE */
-
-  register int yystate;
-  register int yyn;
-  int yyresult;
-  /* Number of tokens to shift before error messages enabled.  */
-  int yyerrstatus;
-  /* Lookahead token as an internal (translated) token number.  */
-  int yychar1 = 0;
-
-  /* Three stacks and their tools:
-     `yyss': related to states,
-     `yyvs': related to semantic values,
-     `yyls': related to locations.
-
-     Refer to the stacks thru separate pointers, to allow yyoverflow
-     to reallocate them elsewhere.  */
-
-  /* The state stack. */
-  short        yyssa[YYINITDEPTH];
-  short *yyss = yyssa;
-  register short *yyssp;
-
-  /* The semantic value stack.  */
-  YYSTYPE yyvsa[YYINITDEPTH];
-  YYSTYPE *yyvs = yyvsa;
-  register YYSTYPE *yyvsp;
-
-#if YYLSP_NEEDED
-  /* The location stack.  */
-  YYLTYPE yylsa[YYINITDEPTH];
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-#endif
-
-#if YYLSP_NEEDED
-# define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
-# define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
-
-  YYSIZE_T yystacksize = YYINITDEPTH;
-
-
-  /* The variables used to return semantic value and location from the
-     action routines.  */
-  YYSTYPE yyval;
-#if YYLSP_NEEDED
-  YYLTYPE yyloc;
-#endif
-
-  /* When reducing, the number of symbols on the RHS of the reduced
-     rule. */
-  int yylen;
-
-  YYDPRINTF ((stderr, "Starting parse\n"));
-
-  yystate = 0;
-  yyerrstatus = 0;
-  yynerrs = 0;
-  yychar = YYEMPTY;            /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-
-  yyssp = yyss;
-  yyvsp = yyvs;
-#if YYLSP_NEEDED
-  yylsp = yyls;
-#endif
-  goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
-`------------------------------------------------------------*/
- yynewstate:
-  /* In all cases, when you get here, the value and location stacks
-     have just been pushed. so pushing a state here evens the stacks.
-     */
-  yyssp++;
-
- yysetstate:
-  *yyssp = yystate;
-
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
-      {
-       /* Give user a chance to reallocate the stack. Use copies of
-          these so that the &'s don't force the real ones into
-          memory.  */
-       YYSTYPE *yyvs1 = yyvs;
-       short *yyss1 = yyss;
-
-       /* Each stack pointer address is followed by the size of the
-          data in use in that stack, in bytes.  */
-# if YYLSP_NEEDED
-       YYLTYPE *yyls1 = yyls;
-       /* This used to be a conditional around just the two extra args,
-          but that might be undefined if yyoverflow is a macro.  */
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yyls1, yysize * sizeof (*yylsp),
-                   &yystacksize);
-       yyls = yyls1;
-# else
-       yyoverflow ("parser stack overflow",
-                   &yyss1, yysize * sizeof (*yyssp),
-                   &yyvs1, yysize * sizeof (*yyvsp),
-                   &yystacksize);
-# endif
-       yyss = yyss1;
-       yyvs = yyvs1;
-      }
-#else /* no yyoverflow */
-      /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-       goto yyoverflowlab;
-      yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
-       yystacksize = YYMAXDEPTH;
-
-      {
-       short *yyss1 = yyss;
-       union yyalloc *yyptr =
-         (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-       if (! yyptr)
-         goto yyoverflowlab;
-       YYSTACK_RELOCATE (short, yyss);
-       YYSTACK_RELOCATE (YYSTYPE, yyvs);
-# if YYLSP_NEEDED
-       YYSTACK_RELOCATE (YYLTYPE, yyls);
-# endif
-# undef YYSTACK_RELOCATE
-       if (yyss1 != yyssa)
-         YYSTACK_FREE (yyss1);
-      }
-#endif /* no yyoverflow */
-
-      yyssp = yyss + yysize - 1;
-      yyvsp = yyvs + yysize - 1;
-#if YYLSP_NEEDED
-      yylsp = yyls + yysize - 1;
-#endif
-
-      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                 (unsigned long int) yystacksize));
-
-      if (yyssp >= yyss + yystacksize - 1)
-       YYABORT;
-    }
-
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
-  goto yybackup;
-
-
-/*-----------.
-| yybackup.  |
-`-----------*/
-yybackup:
-
-/* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
-/* yyresume: */
-
-  /* First try to decide what to do without reference to lookahead token.  */
-
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yydefault;
-
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
-  if (yychar == YYEMPTY)
-    {
-      YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
-    }
-
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)             /* This means end of input. */
-    {
-      yychar1 = 0;
-      yychar = YYEOF;          /* Don't call YYLEX any more */
-
-      YYDPRINTF ((stderr, "Now at end of input.\n"));
-    }
-  else
-    {
-      yychar1 = YYTRANSLATE (yychar);
-
-#if YYDEBUG
-     /* We have to keep this `#if YYDEBUG', since we use variables
-       which are defined only if `YYDEBUG' is set.  */
-      if (yydebug)
-       {
-         YYFPRINTF (stderr, "Next token is %d (%s",
-                    yychar, yytname[yychar1]);
-         /* Give the individual parser a way to print the precise
-            meaning of a token, for further debugging info.  */
-# ifdef YYPRINT
-         YYPRINT (stderr, yychar, yylval);
-# endif
-         YYFPRINTF (stderr, ")\n");
-       }
-#endif
-    }
-
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
-    goto yydefault;
-
-  yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrlab;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrlab;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  /* Shift the lookahead token.  */
-  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
-             yychar, yytname[yychar1]));
-
-  /* Discard the token being shifted unless it is eof.  */
-  if (yychar != YYEOF)
-    yychar = YYEMPTY;
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  /* Count tokens shifted since error; after three, turn off error
-     status.  */
-  if (yyerrstatus)
-    yyerrstatus--;
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state.  |
-`-----------------------------------------------------------*/
-yydefault:
-  yyn = yydefact[yystate];
-  if (yyn == 0)
-    goto yyerrlab;
-  goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction.  |
-`-----------------------------*/
-yyreduce:
-  /* yyn is the number of a rule to reduce with.  */
-  yylen = yyr2[yyn];
-
-  /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
-
-     Otherwise, the following line sets YYVAL to the semantic value of
-     the lookahead token.  This behavior is undocumented and Bison
-     users should not rely upon it.  Assigning to YYVAL
-     unconditionally makes the parser a bit smaller, and it avoids a
-     GCC warning that YYVAL may be used uninitialized.  */
-  yyval = yyvsp[1-yylen];
-
-#if YYLSP_NEEDED
-  /* Similarly for the default location.  Let the user run additional
-     commands if for instance locations are ranges.  */
-  yyloc = yylsp[1-yylen];
-  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
-#endif
-
-#if YYDEBUG
-  /* We have to keep this `#if YYDEBUG', since we use variables which
-     are defined only if `YYDEBUG' is set.  */
-  if (yydebug)
-    {
-      int yyi;
-
-      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
-                yyn, yyrline[yyn]);
-
-      /* Print the symbols being reduced, and their result.  */
-      for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
-       YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
-      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
-
-  switch (yyn) {
-
-case 1:
-#line 87 "y-src/parse.y"
-{ parse_return=yyvsp[0]; }
-    break;
-case 2:
-#line 88 "y-src/parse.y"
-{
-               if(!parse_error)
-                       parse_error=PARSE_ERR;
-               parse_return=0; }
-    break;
-case 5:
-#line 96 "y-src/parse.y"
-{
-               yyval=yyvsp[-2]; }
-    break;
-case 6:
-#line 98 "y-src/parse.y"
-{
-               (yyvsp[-3])->n_x.v_subs[0]=yyvsp[-1];
-               (yyvsp[-3])->n_x.v_subs[1]=(struct node *)0;
-               yyval=yyvsp[-3]; }
-    break;
-case 7:
-#line 102 "y-src/parse.y"
-{
-               (yyvsp[-5])->n_x.v_subs[0]=yyvsp[-3];
-               (yyvsp[-5])->n_x.v_subs[1]=yyvsp[-1];
-               yyval=yyvsp[-5]; }
-    break;
-case 8:
-#line 106 "y-src/parse.y"
-{
-               (yyvsp[-7])->n_x.v_subs[0]=make_list(yyvsp[-5],yyvsp[-3]);
-               (yyvsp[-7])->n_x.v_subs[1]=yyvsp[-1];
-               yyval=yyvsp[-7];}
-    break;
-case 9:
-#line 110 "y-src/parse.y"
-{
-               (yyvsp[-9])->n_x.v_subs[0]=make_list(yyvsp[-7],yyvsp[-5]);
-               (yyvsp[-9])->n_x.v_subs[1]=make_list(yyvsp[-3],yyvsp[-1]);
-               yyval=yyvsp[-9];}
-    break;
-case 10:
-#line 114 "y-src/parse.y"
-{
-               (yyvsp[-3])->n_x.v_subs[0]=(struct node *)0;
-               (yyvsp[-3])->n_x.v_subs[1]=yyvsp[-1];
-               yyval=yyvsp[-3]; }
-    break;
-case 11:
-#line 118 "y-src/parse.y"
-{
-               yyvsp[-3]->n_x.v_subs[0]=yyvsp[-1];
-               yyval=yyvsp[-3]; }
-    break;
-case 12:
-#line 121 "y-src/parse.y"
-{
-               yyvsp[-3]->n_x.v_subs[0]=yyvsp[-1];
-               yyval=yyvsp[-3]; }
-    break;
-case 13:
-#line 125 "y-src/parse.y"
-{
-               yyvsp[-5]->n_x.v_subs[0]=yyvsp[-3];
-               yyvsp[-5]->n_x.v_subs[1]=yyvsp[-1];
-               yyval=yyvsp[-5]; }
-    break;
-case 14:
-#line 129 "y-src/parse.y"
-{
-               yyvsp[-5]->n_x.v_subs[0]=yyvsp[-3];
-               yyvsp[-5]->n_x.v_subs[1]=yyvsp[-1];
-               yyval=yyvsp[-5]; }
-    break;
-case 15:
-#line 135 "y-src/parse.y"
-{
-               if(yyvsp[-7]->comp_value!=F_INDEX)
-                       parse_error=PARSE_ERR;
-               yyvsp[-7]->comp_value=F_INDEX2;
-               yyvsp[-7]->n_x.v_subs[0]=make_list(yyvsp[-5],yyvsp[-3]);
-               yyvsp[-7]->n_x.v_subs[1]=yyvsp[-1];
-               yyval=yyvsp[-7]; }
-    break;
-case 16:
-#line 142 "y-src/parse.y"
-{
-               if(yyvsp[-7]->comp_value!=F_INDEX)
-                       parse_error=PARSE_ERR;
-               yyvsp[-7]->comp_value=F_INDEX2;
-               yyvsp[-7]->n_x.v_subs[0]=make_list(yyvsp[-5],yyvsp[-3]);
-               yyvsp[-7]->n_x.v_subs[1]=yyvsp[-1];
-               yyval=yyvsp[-7]; }
-    break;
-case 17:
-#line 150 "y-src/parse.y"
-{
-               (yyvsp[-7])->n_x.v_subs[0]=make_list(yyvsp[-5],yyvsp[-3]);
-               (yyvsp[-7])->n_x.v_subs[1]=yyvsp[-1];
-               yyval=yyvsp[-7];}
-    break;
-case 18:
-#line 154 "y-src/parse.y"
-{
-               (yyvsp[-7])->n_x.v_subs[0]=make_list(yyvsp[-5],yyvsp[-3]);
-               (yyvsp[-7])->n_x.v_subs[1]=yyvsp[-1];
-               yyval=yyvsp[-7];}
-    break;
-case 19:
-#line 159 "y-src/parse.y"
-{
-               (yyvsp[-3])->n_x.v_subs[0]=(struct node *)0;
-               (yyvsp[-3])->n_x.v_subs[1]=yyvsp[-1];
-               yyval=yyvsp[-3]; }
-    break;
-case 20:
-#line 163 "y-src/parse.y"
-{
-               yyvsp[-3]->comp_value=IF;
-               yyvsp[-3]->n_x.v_subs[0]=yyvsp[-1];
-               yyvsp[-3]->n_x.v_subs[1]=yyvsp[0];
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[-4];
-               yyvsp[-1]->n_x.v_subs[1]=yyvsp[-2];
-               yyval=yyvsp[-3]; }
-    break;
-case 21:
-#line 174 "y-src/parse.y"
-{
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[-2];
-               yyvsp[-1]->n_x.v_subs[1]=yyvsp[0];
-               yyval = yyvsp[-1]; }
-    break;
-case 22:
-#line 178 "y-src/parse.y"
-{
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[-2];
-               yyvsp[-1]->n_x.v_subs[1]=yyvsp[0];
-               yyval = yyvsp[-1]; }
-    break;
-case 23:
-#line 182 "y-src/parse.y"
-{
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[-2];
-               yyvsp[-1]->n_x.v_subs[1]=yyvsp[0];
-               yyval = yyvsp[-1]; }
-    break;
-case 24:
-#line 186 "y-src/parse.y"
-{
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[-2];
-               yyvsp[-1]->n_x.v_subs[1]=yyvsp[0];
-               yyval = yyvsp[-1]; }
-    break;
-case 25:
-#line 190 "y-src/parse.y"
-{
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[-2];
-               yyvsp[-1]->n_x.v_subs[1]=yyvsp[0];
-               yyval = yyvsp[-1]; }
-    break;
-case 26:
-#line 194 "y-src/parse.y"
-{
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[-2];
-               yyvsp[-1]->n_x.v_subs[1]=yyvsp[0];
-               yyval = yyvsp[-1]; }
-    break;
-case 27:
-#line 198 "y-src/parse.y"
-{
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[-2];
-               yyvsp[-1]->n_x.v_subs[1]=yyvsp[0];
-               yyval = yyvsp[-1]; }
-    break;
-case 28:
-#line 202 "y-src/parse.y"
-{
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[-2];
-               yyvsp[-1]->n_x.v_subs[1]=yyvsp[0];
-               yyval = yyvsp[-1]; }
-    break;
-case 29:
-#line 206 "y-src/parse.y"
-{
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[-2];
-               yyvsp[-1]->n_x.v_subs[1]=yyvsp[0];
-               yyval = yyvsp[-1]; }
-    break;
-case 30:
-#line 210 "y-src/parse.y"
-{
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[-2];
-               yyvsp[-1]->n_x.v_subs[1]=yyvsp[0];
-               yyval = yyvsp[-1]; }
-    break;
-case 31:
-#line 214 "y-src/parse.y"
-{
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[-2];
-               yyvsp[-1]->n_x.v_subs[1]=yyvsp[0];
-               yyval = yyvsp[-1]; }
-    break;
-case 32:
-#line 218 "y-src/parse.y"
-{
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[-2];
-               yyvsp[-1]->n_x.v_subs[1]=yyvsp[0];
-               yyval = yyvsp[-1]; }
-    break;
-case 33:
-#line 222 "y-src/parse.y"
-{
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[-2];
-               yyvsp[-1]->n_x.v_subs[1]=yyvsp[0];
-               yyval = yyvsp[-1]; }
-    break;
-case 34:
-#line 226 "y-src/parse.y"
-{
-               if(yyvsp[0]->comp_value==CONST_FLT) {
-                       yyvsp[0]->n_x.v_float= -(yyvsp[0]->n_x.v_float);
-                       /* free($1); */
-                       yyval=yyvsp[0];
-               } else if(yyvsp[0]->comp_value==CONST_INT) {
-                       yyvsp[0]->n_x.v_int= -(yyvsp[0]->n_x.v_int);
-                       /* free($1); */
-                       yyval=yyvsp[0];
-               } else {
-                       yyvsp[-1]->comp_value = NEGATE;
-                       yyvsp[-1]->n_x.v_subs[0]=yyvsp[0];
-                       yyvsp[-1]->n_x.v_subs[1]=(struct node *)0;
-                       yyval = yyvsp[-1];
-               } }
-    break;
-case 35:
-#line 241 "y-src/parse.y"
-{
-               yyvsp[-1]->n_x.v_subs[0]=yyvsp[0];
-               yyvsp[-1]->n_x.v_subs[1]=(struct node *)0;
-               yyval = yyvsp[-1]; }
-    break;
-case 36:
-#line 246 "y-src/parse.y"
-{ yyval = yyvsp[-1]; }
-    break;
-case 37:
-#line 247 "y-src/parse.y"
-{
-               if(!parse_error)
-                       parse_error=NO_CLOSE;
-               }
-    break;
-case 38:
-#line 255 "y-src/parse.y"
-{
-               if(!parse_error)
-                       parse_error=NO_CLOSE;
-               }
-    break;
-case 39:
-#line 263 "y-src/parse.y"
-{ yyval = make_list(yyvsp[0], 0); }
-    break;
-case 40:
-#line 265 "y-src/parse.y"
-{ yyval = make_list(yyvsp[0], yyvsp[-2]); }
-    break;
-case 43:
-#line 273 "y-src/parse.y"
-{ yyval=make_list(yyvsp[0], 0); }
-    break;
-case 44:
-#line 275 "y-src/parse.y"
-{ yyval=make_list(yyvsp[0],yyvsp[-2]); }
-    break;
-case 45:
-#line 279 "y-src/parse.y"
-{ yyval=yyvsp[0]; }
-    break;
-}
-
-#line 727 "/usr/share/bison/bison.simple"
-
-\f
-  yyvsp -= yylen;
-  yyssp -= yylen;
-#if YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-  *++yyvsp = yyval;
-#if YYLSP_NEEDED
-  *++yylsp = yyloc;
-#endif
-
-  /* Now `shift' the result of the reduction.  Determine what state
-     that goes to, based on the state we popped back to and the rule
-     number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTBASE];
-
-  goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
-  /* If not already recovering from an error, report this error.  */
-  if (!yyerrstatus)
-    {
-      ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
-      yyn = yypact[yystate];
-
-      if (yyn > YYFLAG && yyn < YYLAST)
-       {
-         YYSIZE_T yysize = 0;
-         char *yymsg;
-         int yyx, yycount;
-
-         yycount = 0;
-         /* Start YYX at -YYN if negative to avoid negative indexes in
-            YYCHECK.  */
-         for (yyx = yyn < 0 ? -yyn : 0;
-              yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
-           if (yycheck[yyx + yyn] == yyx)
-             yysize += yystrlen (yytname[yyx]) + 15, yycount++;
-         yysize += yystrlen ("parse error, unexpected ") + 1;
-         yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
-         yymsg = (char *) YYSTACK_ALLOC (yysize);
-         if (yymsg != 0)
-           {
-             char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
-             yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
-
-             if (yycount < 5)
-               {
-                 yycount = 0;
-                 for (yyx = yyn < 0 ? -yyn : 0;
-                      yyx < (int) (sizeof (yytname) / sizeof (char *));
-                      yyx++)
-                   if (yycheck[yyx + yyn] == yyx)
-                     {
-                       const char *yyq = ! yycount ? ", expecting " : " or ";
-                       yyp = yystpcpy (yyp, yyq);
-                       yyp = yystpcpy (yyp, yytname[yyx]);
-                       yycount++;
-                     }
-               }
-             yyerror (yymsg);
-             YYSTACK_FREE (yymsg);
-           }
-         else
-           yyerror ("parse error; also virtual memory exhausted");
-       }
-      else
-#endif /* defined (YYERROR_VERBOSE) */
-       yyerror ("parse error");
-    }
-  goto yyerrlab1;
-
-
-/*--------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action |
-`--------------------------------------------------*/
-yyerrlab1:
-  if (yyerrstatus == 3)
-    {
-      /* If just tried and failed to reuse lookahead token after an
-        error, discard it.  */
-
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-       YYABORT;
-      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
-                 yychar, yytname[yychar1]));
-      yychar = YYEMPTY;
-    }
-
-  /* Else will try to reuse lookahead token after shifting the error
-     token.  */
-
-  yyerrstatus = 3;             /* Each real token shifted decrements this */
-
-  goto yyerrhandle;
-
-
-/*-------------------------------------------------------------------.
-| yyerrdefault -- current state does not do anything special for the |
-| error token.                                                       |
-`-------------------------------------------------------------------*/
-yyerrdefault:
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-
-  /* If its default is to accept any token, ok.  Otherwise pop it.  */
-  yyn = yydefact[yystate];
-  if (yyn)
-    goto yydefault;
-#endif
-
-
-/*---------------------------------------------------------------.
-| yyerrpop -- pop the current state because it cannot handle the |
-| error token                                                    |
-`---------------------------------------------------------------*/
-yyerrpop:
-  if (yyssp == yyss)
-    YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#if YYLSP_NEEDED
-  yylsp--;
-#endif
-
-#if YYDEBUG
-  if (yydebug)
-    {
-      short *yyssp1 = yyss - 1;
-      YYFPRINTF (stderr, "Error: state stack now");
-      while (yyssp1 != yyssp)
-       YYFPRINTF (stderr, " %d", *++yyssp1);
-      YYFPRINTF (stderr, "\n");
-    }
-#endif
-
-/*--------------.
-| yyerrhandle.  |
-`--------------*/
-yyerrhandle:
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
-
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
-
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-       goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrpop;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  YYDPRINTF ((stderr, "Shifting error token, "));
-
-  *++yyvsp = yylval;
-#if YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here.  |
-`-------------------------------------*/
-yyacceptlab:
-  yyresult = 0;
-  goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here.  |
-`-----------------------------------*/
-yyabortlab:
-  yyresult = 1;
-  goto yyreturn;
-
-/*---------------------------------------------.
-| yyoverflowab -- parser overflow comes here.  |
-`---------------------------------------------*/
-yyoverflowlab:
-  yyerror ("parser stack overflow");
-  yyresult = 2;
-  /* Fall through.  */
-
-yyreturn:
-#ifndef yyoverflow
-  if (yyss != yyssa)
-    YYSTACK_FREE (yyss);
-#endif
-  return yyresult;
-}
-#line 282 "y-src/parse.y"
-
-
-void
-yyerror FUN1(char *, s)
-{
-       if(!parse_error)
-               parse_error=PARSE_ERR;
-}
-
-YYSTYPE
-make_list FUN2(YYSTYPE, car, YYSTYPE, cdr)
-{
-       YYSTYPE ret;
-
-       ret=(YYSTYPE)obstack_alloc(&tmp_mem,sizeof(*ret));
-       ret->comp_value = 0;
-       ret->n_x.v_subs[0]=car;
-       ret->n_x.v_subs[1]=cdr;
-       return ret;
-}
-
-#define ERROR -1
-
-extern struct node *yylval;
-
-#ifdef __STDC__
-unsigned char parse_cell_or_range (char **,struct rng *);
-#else
-unsigned char parse_cell_or_range ();
-#endif
-
-int
-yylex FUN0()
-{
-       int ch;
-       struct node *new;
-       int isflt;
-       char *begin;
-       char *tmp_str;
-       unsigned char byte_value;
-       int n;
-
-       /* unsigned char *ptr; */
-       int nn;
-       struct function *fp;
-       int tmp_ch;
-
-#ifdef TEST
-       if(!instr)
-               return ERROR;
-#endif
-       while(isspace(*instr))
-               instr++;
-       ch = *instr++;
-       if(ch=='(' || ch==',' || ch==')')
-               return ch;
-
-       new=(struct node *)obstack_alloc(&tmp_mem,sizeof(struct node));
-       new->add_byte=0;
-       new->sub_value=0;
-       switch(ch) {
-       case 0:
-               return 0;
-
-       case '0': case '1': case '2': case '3': case '4': case '5': case '6':
-       case '7': case '8': case '9': case '.':
-               isflt = (ch=='.');
-
-               begin=instr-1;
-               tmp_str=instr;
-
-               while(isdigit(*tmp_str) || (!isflt && *tmp_str=='.' && ++isflt))
-                       tmp_str++;
-               if(*tmp_str=='e' || *tmp_str=='E') {
-                       isflt=1;
-                       tmp_str++;
-                       if(*tmp_str=='-' || *tmp_str=='+')
-                               tmp_str++;
-                       while(isdigit(*tmp_str))
-                               tmp_str++;
-               }
-               if(isflt) {
-                       new->n_x.v_float=astof((char **)(&begin));
-                       byte_value=CONST_FLT;
-               } else {
-                       new->n_x.v_int=astol((char **)(&begin));
-                       if(begin!=tmp_str) {
-                               begin=instr-1;
-                               new->n_x.v_float=astof((char **)(&begin));
-                               byte_value=CONST_FLT;
-                       } else
-                               byte_value=CONST_INT;
-               }
-               ch=L_CONST;
-               instr=begin;
-               break;
-
-       case '"':
-               begin=instr;
-               while(*instr && *instr!='"') {
-                       if(*instr=='\\' && instr[1])
-                               instr++;
-                       instr++;
-               }
-               if(!*instr) {
-                       parse_error=NO_QUOTE;
-                       return ERROR;
-               }
-               tmp_str=new->n_x.v_string=(char *)ck_malloc(1+instr-begin);
-               while(begin!=instr) {
-                       unsigned char n;
-
-                       if(*begin=='\\') {
-                               begin++;
-                               if(begin[0]>='0' && begin[0]<='7') {
-                                       if(begin[1]>='0' && begin[1]<='7') {
-                                               if(begin[2]>='0' && begin[2]<='7') {
-                                                       n=(begin[2]-'0') + (010 * (begin[1]-'0')) + ( 0100 * (begin[0]-'0'));
-                                                       begin+=3;
-                                               } else {
-                                                       n=(begin[1]-'0') + (010 * (begin[0]-'0'));
-                                                       begin+=2;
-                                               }
-                                       } else {
-                                               n=begin[0]-'0';
-                                               begin++;
-                                       }
-                               } else
-                                       n= *begin++;
-                               *tmp_str++= n;
-                       } else
-                               *tmp_str++= *begin++;
-               }
-               *tmp_str='\0';
-               instr++;
-               byte_value=CONST_STR;
-               ch=L_CONST;
-               break;
-
-       case '+':       case '-':
-
-       case '*':       case '/':       case '%':       case '&':
-       /* case '|': */ case '^':       case '=':
-
-       case '?':
-       {
-               unsigned char *ptr;
-
-               for(ptr= fnin;*ptr;ptr++)
-                       if(the_funs[*ptr].fn_str[0]==ch)
-                               break;
-#ifdef TEST
-               if(!*ptr)
-                       panic("Can't find fnin[] entry for '%c'",ch);
-#endif
-               byte_value= *ptr;
-       }
-               break;
-
-       case ':':
-               byte_value=IF;
-               break;
-
-       case '!':
-       case '<':
-       case '>':
-               if(*instr!='=') {
-                       byte_value = (ch=='<') ? LESS : (ch=='>') ? GREATER : NOT;
-                       break;
-               }
-               instr++;
-               byte_value = (ch=='<') ? LESSEQ : (ch=='>') ? GREATEQ : NOTEQUAL;
-               ch = (ch=='<') ? LE : (ch=='>') ? GE : NE;
-               break;
-
-       case '\'':
-       case ';':
-       case '[':
-       case '\\':
-       case ']':
-       case '`':
-       case '{':
-       case '}':
-       case '~':
-       bad_chr:
-               parse_error=BAD_CHAR;
-               return ERROR;
-
-       case '#':
-               begin=instr-1;
-               while(*instr && (isalnum(*instr) || *instr=='_'))
-                       instr++;
-               ch= *instr;
-               *instr=0;
-               if(!stricmp(begin,tname))
-                       byte_value=F_TRUE;
-               else if(!stricmp(begin,fname))
-                       byte_value=F_FALSE;
-               else if(!stricmp(begin,iname) && (begin[4]==0 || !stricmp(begin+4,"inity")))
-                       byte_value=CONST_INF;
-               else if(!stricmp(begin,mname) ||
-                       !stricmp(begin,"#ninf"))
-                       byte_value=CONST_NINF;
-               else if(!stricmp(begin,nname) ||
-                       !stricmp(begin,"#nan"))
-                       byte_value=CONST_NAN;
-               else {
-                       for(n=1;n<=ERR_MAX;n++)
-                               if(!stricmp(begin,ename[n]))
-                                       break;
-                       if(n>ERR_MAX)
-                               n=BAD_CHAR;
-                       new->n_x.v_int=n;
-                       byte_value=CONST_ERR;
-               }
-               *instr=ch;
-               ch=L_CONST;
-               break;
-
-       default:
-               if(!a0 && (ch=='@' || ch=='$'))
-                  goto bad_chr;
-
-               if(a0 && ch=='@') {
-                       begin=instr;
-                       while(*instr && (isalpha(*instr) || isdigit(*instr) || *instr=='_'))
-                               instr++;
-                       n=instr-begin;
-               } else {
-                       begin=instr-1;
-                       byte_value=parse_cell_or_range(&begin,&(new->n_x.v_rng));
-                       if(byte_value) {
-                               if((byte_value& ~0x3)==R_CELL)
-                                       ch=L_CELL;
-                               else
-                                       ch=L_RANGE;
-                               instr=begin;
-                               break;
-                       }
-
-                       while(*instr && (isalpha(*instr) || isdigit(*instr) || *instr=='_'))
-                               instr++;
-
-                       n=instr-begin;
-                       while(isspace(*instr))
-                               instr++;
-
-                       if(*instr!='(') {
-                               ch=L_VAR;
-                               byte_value=VAR;
-                               new->n_x.v_var=find_or_make_var(begin,n);
-                               break;
-                       }
-               }
-               tmp_ch=begin[n];
-               begin[n]='\0';
-               fp=hash_find(parse_hash,begin);
-               begin[n]=tmp_ch;
-               byte_value= ERROR;
-               if(!fp) {
-                       parse_error=BAD_FUNC;
-                       return ERROR;
-               }
-
-               if(fp>=the_funs && fp<=&the_funs[USR1])
-                       byte_value=fp-the_funs;
-               else {
-                       for(nn=0;nn<n_usr_funs;nn++) {
-                               if(fp>=&usr_funs[nn][0] && fp<=&usr_funs[nn][usr_n_funs[nn]]) {
-                                       byte_value=USR1+nn;
-                                       new->sub_value=fp-&usr_funs[nn][0];
-                                       break;
-                               }
-                       }
-#ifdef TEST
-                       if(nn==n_usr_funs) {
-                               io_error_msg("Couldn't turn fp into a ##");
-                               parse_error=BAD_FUNC;
-                               return ERROR;
-                       }
-#endif
-               }
-
-               if(fp->fn_argn&X_J)
-                       ch= byte_value==F_IF ? L_FN3 : L_FN2;
-               else if(fp->fn_argt[0]=='R' || fp->fn_argt[0]=='E')
-                       ch=L_FN1R-1+fp->fn_argn-X_A0;
-               else
-                       ch=L_FN0 + fp->fn_argn-X_A0;
-
-               break;
-       }
-       /* new->node_type=ch; */
-       new->comp_value=byte_value;
-       yylval=new;
-       return ch;
-}
-
-/* Return value is
-       0 if it doesn't look like a cell or a range,
-       R_CELL if it is a cell (ptr now points past the characters, lr and lc hold the row and col of the cell)
-       RANGE if it is a range (ptr points past the chars)
- */
-unsigned char
-parse_cell_or_range FUN2(char **,ptr, struct rng *,retp)
-{
-       if(a0) {
-               unsigned tmpc,tmpr;
-               char *p;
-               int abz = ROWREL|COLREL;
-
-               p= *ptr;
-               tmpc=0;
-               if(*p=='$') {
-                       abz-=COLREL;
-                       p++;
-               }
-               if(!isalpha(*p))
-                       return 0;
-               tmpc=str_to_col(&p);
-               if(tmpc<MIN_COL || tmpc>MAX_COL)
-                       return 0;
-               if(*p=='$') {
-                       abz-=ROWREL;
-                       p++;
-               }
-               if(!isdigit(*p))
-                       return 0;
-               for(tmpr=0;isdigit(*p);p++)
-                       tmpr=tmpr*10 + *p - '0';
-
-               if(tmpr<MIN_ROW || tmpr>MAX_ROW)
-                       return 0;
-
-               if(*p==':' || *p=='.') {
-                       unsigned tmpc1,tmpr1;
-
-                       abz = ((abz&COLREL) ? LCREL : 0)|((abz&ROWREL) ? LRREL : 0)|HRREL|HCREL;
-                       p++;
-                       if(*p=='$') {
-                               abz-=HCREL;
-                               p++;
-                       }
-                       if(!isalpha(*p))
-                               return 0;
-                       tmpc1=str_to_col(&p);
-                       if(tmpc1<MIN_COL || tmpc1>MAX_COL)
-                               return 0;
-                       if(*p=='$') {
-                               abz-=HRREL;
-                               p++;
-                       }
-                       if(!isdigit(*p))
-                               return 0;
-                       for(tmpr1=0;isdigit(*p);p++)
-                               tmpr1=tmpr1*10 + *p - '0';
-                       if(tmpr1<MIN_ROW || tmpr1>MAX_ROW)
-                               return 0;
-
-                       if(tmpr<tmpr1) {
-                               retp->lr=tmpr;
-                               retp->hr=tmpr1;
-                       } else {
-                               retp->lr=tmpr1;
-                               retp->hr=tmpr;
-                       }
-                       if(tmpc<tmpc1) {
-                               retp->lc=tmpc;
-                               retp->hc=tmpc1;
-                       } else {
-                               retp->lc=tmpc1;
-                               retp->hc=tmpc;
-                       }
-                       *ptr= p;
-                       return RANGE | abz;
-               }
-               retp->lr = retp->hr = tmpr;
-               retp->lc = retp->hc = tmpc;
-               *ptr=p;
-               return R_CELL | abz;
-       } else {
-               char *p;
-               unsigned char retr;
-               unsigned char retc;
-               int ended;
-               long num;
-               CELLREF tmp;
-
-#define CK_ABS_R(x)    if((x)<MIN_ROW || (x)>MAX_ROW)  \
-                               return 0;               \
-                       else
-
-#define CK_REL_R(x)    if(   ((x)>0 && MAX_ROW-(x)<cur_row)    \
-                          || ((x)<0 && MIN_ROW-(x)>cur_row))   \
-                               return 0;                       \
-                       else
-
-#define CK_ABS_C(x)    if((x)<MIN_COL || (x)>MAX_COL)  \
-                               return 0;               \
-                       else
-
-#define CK_REL_C(x)    if(   ((x)>0 && MAX_COL-(x)<cur_col)    \
-                          || ((x)<0 && MIN_COL-(x)>cur_col))   \
-                               return 0;                       \
-                       else
-
-#define MAYBEREL(p) (*(p)=='[' && (isdigit((p)[1]) || (((p)[1]=='+' || (p)[1]=='-') && isdigit((p)[2]))))
-
-               p= *ptr;
-               retr=0;
-               retc=0;
-               ended=0;
-               while(ended==0) {
-                       switch(*p) {
-                       case 'r':
-                       case 'R':
-                               if(retr) {
-                                       ended++;
-                                       break;
-                               }
-                               p++;
-                               retr=R_CELL;
-                               if(isdigit(*p)) {
-                                       num=astol(&p);
-                                       CK_ABS_R(num);
-                                       retp->lr= retp->hr=num;
-                               } else if(MAYBEREL(p)) {
-                                       p++;
-                                       num=astol(&p);
-                                       CK_REL_R(num);
-                                       retp->lr= retp->hr=num+cur_row;
-                                       retr|=ROWREL;
-                                       if(*p==':') {
-                                               retr=RANGE|LRREL|HRREL;
-                                               p++;
-                                               num=astol(&p);
-                                               CK_REL_R(num);
-                                               retp->hr=num+cur_row;
-                                       }
-                                       if(*p++!=']')
-                                               return 0;
-                               } else if(retc || *p=='c' || *p=='C') {
-                                       retr|=ROWREL;
-                                       retp->lr= retp->hr=cur_row;
-                               } else
-                                       return 0;
-                               if(*p==':' && retr!=(RANGE|LRREL|HRREL)) {
-                                       retr= (retr&ROWREL) ? RANGE|LRREL : RANGE;
-                                       p++;
-                                       if(isdigit(*p)) {
-                                               num=astol(&p);
-                                               CK_ABS_R(num);
-                                               retp->hr=num;
-                                       } else if(MAYBEREL(p)) {
-                                               p++;
-                                               num=astol(&p);
-                                               CK_REL_R(num);
-                                               retp->hr=num+cur_row;
-                                               retr|=HRREL;
-                                               if(*p++!=']')
-                                                       return 0;
-                                       } else
-                                               return 0;
-                               }
-
-                               if(retc)
-                                       ended++;
-                               break;
-
-                       case 'c':
-                       case 'C':
-                               if(retc) {
-                                       ended++;
-                                       break;
-                               }
-                               p++;
-                               retc=R_CELL;
-                               if(isdigit(*p)) {
-                                       num=astol(&p);
-                                       CK_ABS_C(num);
-                                       retp->lc= retp->hc=num;
-                               } else if(MAYBEREL(p)) {
-                                       p++;
-                                       num=astol(&p);
-                                       CK_REL_C(num);
-                                       retp->lc= retp->hc=num+cur_col;
-                                       retc|=COLREL;
-                                       if(*p==':') {
-                                               retc=RANGE|LCREL|HCREL;
-                                               p++;
-                                               num=astol(&p);
-                                               CK_REL_C(num);
-                                               retp->hc=num+cur_col;
-                                       }
-                                       if(*p++!=']')
-                                               return 0;
-                               } else if(retr || *p=='r' || *p=='R') {
-                                       retc|=COLREL;
-                                       retp->lc= retp->hc=cur_col;
-                               } else
-                                       return 0;
-                               if(*p==':' && retc!=(RANGE|LCREL|HCREL)) {
-                                       retc= (retc&COLREL) ? RANGE|LCREL : RANGE;
-                                       p++;
-                                       if(isdigit(*p)) {
-                                               num=astol(&p);
-                                               CK_ABS_C(num);
-                                               retp->hc=num;
-                                       } else if(MAYBEREL(p)) {
-                                               p++;
-                                               num=astol(&p);
-                                               CK_REL_C(num);
-                                               retp->hc=num+cur_col;
-                                               retc|=HCREL;
-                                               if(*p++!=']')
-                                                       return 0;
-                                       } else
-                                               return 0;
-                               }
-
-                               if(retr)
-                                       ended++;
-                               break;
-                       default:
-                               if(retr) {
-                                       *ptr=p;
-                                       retp->lc=MIN_COL;
-                                       retp->hc=MAX_COL;
-                                       if((retr|ROWREL)==(R_CELL|ROWREL))
-                                               return (retr&ROWREL) ? (RANGE|LRREL|HRREL) : RANGE;
-                                       else
-                                               return retr;
-                               } else if(retc) {
-                                       *ptr=p;
-                                       retp->lr=MIN_ROW;
-                                       retp->hr=MAX_COL;
-                                       if((retc|COLREL)==(R_CELL|COLREL))
-                                               return (retc&COLREL) ? (RANGE|LCREL|HCREL) : RANGE;
-                                       else
-                                               return retc;
-                               }
-                               return 0;
-                       }
-               }
-               if(!retr || !retc)
-                       return 0;
-               *ptr=p;
-               if(retp->lr>retp->hr)
-                       tmp=retp->lr,retp->lr=retp->hr,retp->hr=tmp;
-               if(retp->lc>retp->hc)
-                       tmp=retp->lc,retp->lc=retp->hc,retp->hc=tmp;
-
-               if((retr|ROWREL)==(R_CELL|ROWREL)) {
-                       if((retc|COLREL)==(R_CELL|COLREL))
-                               return retr|retc;
-                       return (retr&ROWREL) ? (retc|LRREL|HRREL) : retc;
-               }
-               if((retc|COLREL)==(R_CELL|COLREL))
-                       return (retc&COLREL) ? (retr|LCREL|HCREL) : retr;
-               return retr|retc;
-       }
-}
-
-int
-str_to_col FUN1(char **,str)
-{
-       int ret;
-       char c,cc,ccc;
-#if MAX_COL>702
-       char cccc;
-#endif
-
-       ret=0;
-       c=str[0][0];
-       if(!isalpha((cc=str[0][1]))) {
-               (*str)++;
-               return MIN_COL + (isupper(c) ? c-'A' : c-'a');
-       }
-       if(!isalpha((ccc=str[0][2]))) {
-               (*str)+=2;
-               return MIN_COL+26 + (isupper(c) ? c-'A' : c-'a')*26 + (isupper(cc) ? cc-'A' : cc-'a');
-       }
-#if MAX_COL>702
-       if(!isalpha((cccc=str[0][3]))) {
-               (*str)+=3;
-               return MIN_COL+702 + (isupper(c) ? c-'A' : c-'a')*26*26 + (isupper(cc) ? cc-'A' : cc-'a')*26 + (isupper(ccc) ? ccc-'A' : ccc-'a');
-       }
-       if(!isalpha(str[0][4])) {
-               (*str)+=4;
-               return MIN_COL+18278 + (isupper(c) ? c-'A' : c-'a')*26*26*26 + (isupper(cc) ? cc-'A' : cc-'a')*26*26 + (isupper(ccc) ? ccc-'A' : ccc-'a')*26 + (isupper(cccc) ? cccc-'A' : cccc-'a');
-       }
-#endif
-       return 0;
-}
diff --git a/test/manual/etags/y-src/parse.y b/test/manual/etags/y-src/parse.y
deleted file mode 100644 (file)
index 9812787..0000000
+++ /dev/null
@@ -1,876 +0,0 @@
-%{
-/*     Copyright (C) 1990, 1992-1993, 2016-2024 Free Software Foundation,
- *     Inc.
-
-This file is part of Oleo, the GNU Spreadsheet.
-
-Oleo is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-Oleo is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with Oleo; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
-%}
-\f
-
-%right '?' ':'
-/* %left '|' */
-%left '&'
-%nonassoc '=' NE
-%nonassoc '<' LE '>' GE
-%left '+' '-'
-%left '*' '/' '%'
-%right '^'
-%left NEG '!'
-
-%token L_CELL L_RANGE
-%token L_VAR
-
-%token L_CONST
-%token L_FN0   L_FN1   L_FN2   L_FN3   L_FN4   L_FNN
-%token L_FN1R  L_FN2R  L_FN3R  L_FN4R  L_FNNR
-
-%token L_LE    L_NE    L_GE
-
-%{
-#include "funcdef.h"
-
-#include <ctype.h>
-
-#define obstack_chunk_alloc ck_malloc
-#define obstack_chunk_free free
-#include "obstack.h"
-#include "sysdef.h"
-
-#include "global.h"
-#include "errors.h"
-#include "node.h"
-#include "eval.h"
-#include "ref.h"
-
-int yylex ();
-#ifdef __STDC__
-void yyerror (char *);
-#else
-void yyerror ();
-#endif
-VOIDSTAR parse_hash;
-extern VOIDSTAR hash_find();
-
-/* This table contains a list of the infix single-char functions */
-unsigned char fnin[] = {
-       SUM, DIFF, DIV, PROD, MOD, /* AND, OR, */ POW, EQUAL, IF, CONCAT, 0
-};
-
-#define YYSTYPE _y_y_s_t_y_p_e
-typedef struct node *YYSTYPE;
-YYSTYPE parse_return;
-#ifdef __STDC__
-YYSTYPE make_list (YYSTYPE, YYSTYPE);
-#else
-YYSTYPE make_list ();
-#endif
-
-char *instr;
-int parse_error = 0;
-extern struct obstack tmp_mem;
-
-%}
-%%
-line:  exp
-               { parse_return=$1; }
-       | error {
-               if(!parse_error)
-                       parse_error=PARSE_ERR;
-               parse_return=0; }
-       ;
-
-exp:     L_CONST
-       | cell
-       | L_FN0 '(' ')' {
-               $$=$1; }
-       | L_FN1 '(' exp ')' {
-               ($1)->n_x.v_subs[0]=$3;
-               ($1)->n_x.v_subs[1]=(struct node *)0;
-               $$=$1; }
-       | L_FN2 '(' exp ',' exp ')' {
-               ($1)->n_x.v_subs[0]=$3;
-               ($1)->n_x.v_subs[1]=$5;
-               $$=$1; }
-       | L_FN3 '(' exp ',' exp ',' exp ')' {
-               ($1)->n_x.v_subs[0]=make_list($3,$5);
-               ($1)->n_x.v_subs[1]=$7;
-               $$=$1;}
-       | L_FN4 '(' exp ',' exp ',' exp ',' exp ')' {
-               ($1)->n_x.v_subs[0]=make_list($3,$5);
-               ($1)->n_x.v_subs[1]=make_list($7,$9);
-               $$=$1;}
-       | L_FNN '(' exp_list ')' {
-               ($1)->n_x.v_subs[0]=(struct node *)0;
-               ($1)->n_x.v_subs[1]=$3;
-               $$=$1; }
-       | L_FN1R '(' L_RANGE ')' {
-               $1->n_x.v_subs[0]=$3;
-               $$=$1; }
-       | L_FN1R '(' L_VAR ')' {
-               $1->n_x.v_subs[0]=$3;
-               $$=$1; }
-
-       | L_FN2R '(' L_RANGE ',' exp ')' {
-               $1->n_x.v_subs[0]=$3;
-               $1->n_x.v_subs[1]=$5;
-               $$=$1; }
-       | L_FN2R '(' L_VAR ',' exp ')' {
-               $1->n_x.v_subs[0]=$3;
-               $1->n_x.v_subs[1]=$5;
-               $$=$1; }
-
-       /* JF:  These should be FN2R, but I'm hacking this for SYLNK */
-       | L_FN2R '(' L_RANGE ',' exp ',' exp ')' {
-               if($1->comp_value!=F_INDEX)
-                       parse_error=PARSE_ERR;
-               $1->comp_value=F_INDEX2;
-               $1->n_x.v_subs[0]=make_list($3,$5);
-               $1->n_x.v_subs[1]=$7;
-               $$=$1; }
-       | L_FN2R '(' L_VAR ',' exp ',' exp ')' {
-               if($1->comp_value!=F_INDEX)
-                       parse_error=PARSE_ERR;
-               $1->comp_value=F_INDEX2;
-               $1->n_x.v_subs[0]=make_list($3,$5);
-               $1->n_x.v_subs[1]=$7;
-               $$=$1; }
-
-       | L_FN3R '(' L_RANGE ',' exp ',' exp ')' {
-               ($1)->n_x.v_subs[0]=make_list($3,$5);
-               ($1)->n_x.v_subs[1]=$7;
-               $$=$1;}
-       | L_FN3R '(' L_VAR ',' exp ',' exp ')' {
-               ($1)->n_x.v_subs[0]=make_list($3,$5);
-               ($1)->n_x.v_subs[1]=$7;
-               $$=$1;}
-
-       | L_FNNR '(' range_exp_list ')' {
-               ($1)->n_x.v_subs[0]=(struct node *)0;
-               ($1)->n_x.v_subs[1]=$3;
-               $$=$1; }
-       | exp '?' exp ':' exp {
-               $2->comp_value=IF;
-               $2->n_x.v_subs[0]=$4;
-               $2->n_x.v_subs[1]=$5;
-               $4->n_x.v_subs[0]=$1;
-               $4->n_x.v_subs[1]=$3;
-               $$=$2; }
-       /* | exp '|' exp {
-               $2->n_x.v_subs[0]=$1;
-               $2->n_x.v_subs[1]=$3;
-               $$ = $2; } */
-       | exp '&' exp {
-               $2->n_x.v_subs[0]=$1;
-               $2->n_x.v_subs[1]=$3;
-               $$ = $2; }
-       | exp '<' exp {
-               $2->n_x.v_subs[0]=$1;
-               $2->n_x.v_subs[1]=$3;
-               $$ = $2; }
-       | exp LE exp {
-               $2->n_x.v_subs[0]=$1;
-               $2->n_x.v_subs[1]=$3;
-               $$ = $2; }
-       | exp '=' exp {
-               $2->n_x.v_subs[0]=$1;
-               $2->n_x.v_subs[1]=$3;
-               $$ = $2; }
-       | exp NE exp {
-               $2->n_x.v_subs[0]=$1;
-               $2->n_x.v_subs[1]=$3;
-               $$ = $2; }
-       | exp '>' exp {
-               $2->n_x.v_subs[0]=$1;
-               $2->n_x.v_subs[1]=$3;
-               $$ = $2; }
-       | exp GE exp {
-               $2->n_x.v_subs[0]=$1;
-               $2->n_x.v_subs[1]=$3;
-               $$ = $2; }
-       | exp '+' exp {
-               $2->n_x.v_subs[0]=$1;
-               $2->n_x.v_subs[1]=$3;
-               $$ = $2; }
-       | exp '-' exp {
-               $2->n_x.v_subs[0]=$1;
-               $2->n_x.v_subs[1]=$3;
-               $$ = $2; }
-       | exp '*' exp {
-               $2->n_x.v_subs[0]=$1;
-               $2->n_x.v_subs[1]=$3;
-               $$ = $2; }
-       | exp '/' exp {
-               $2->n_x.v_subs[0]=$1;
-               $2->n_x.v_subs[1]=$3;
-               $$ = $2; }
-       | exp '%' exp {
-               $2->n_x.v_subs[0]=$1;
-               $2->n_x.v_subs[1]=$3;
-               $$ = $2; }
-       | exp '^' exp {
-               $2->n_x.v_subs[0]=$1;
-               $2->n_x.v_subs[1]=$3;
-               $$ = $2; }
-       | '-' exp %prec NEG {
-               if($2->comp_value==CONST_FLT) {
-                       $2->n_x.v_float= -($2->n_x.v_float);
-                       /* free($1); */
-                       $$=$2;
-               } else if($2->comp_value==CONST_INT) {
-                       $2->n_x.v_int= -($2->n_x.v_int);
-                       /* free($1); */
-                       $$=$2;
-               } else {
-                       $1->comp_value = NEGATE;
-                       $1->n_x.v_subs[0]=$2;
-                       $1->n_x.v_subs[1]=(struct node *)0;
-                       $$ = $1;
-               } }
-       | '!' exp {
-               $1->n_x.v_subs[0]=$2;
-               $1->n_x.v_subs[1]=(struct node *)0;
-               $$ = $1; }
-       | '(' exp ')'
-               { $$ = $2; }
-       | '(' exp error {
-               if(!parse_error)
-                       parse_error=NO_CLOSE;
-               }
-       /* | exp ')' error {
-               if(!parse_error)
-                       parse_error=NO_OPEN;
-               } */
-       | '(' error {
-               if(!parse_error)
-                       parse_error=NO_CLOSE;
-               }
-       ;
-
-
-exp_list: exp
-               { $$ = make_list($1, 0); }
-       | exp_list ',' exp
-               { $$ = make_list($3, $1); }
-       ;
-
-range_exp: L_RANGE
-       | exp
-       ;
-
-range_exp_list: range_exp
-               { $$=make_list($1, 0); }
-       |   range_exp_list ',' range_exp
-               { $$=make_list($3,$1); }
-       ;
-
-cell:  L_CELL
-               { $$=$1; }
-       | L_VAR
-       ;
-%%
-
-void
-yyerror FUN1(char *, s)
-{
-       if(!parse_error)
-               parse_error=PARSE_ERR;
-}
-
-YYSTYPE
-make_list FUN2(YYSTYPE, car, YYSTYPE, cdr)
-{
-       YYSTYPE ret;
-
-       ret=(YYSTYPE)obstack_alloc(&tmp_mem,sizeof(*ret));
-       ret->comp_value = 0;
-       ret->n_x.v_subs[0]=car;
-       ret->n_x.v_subs[1]=cdr;
-       return ret;
-}
-
-#define ERROR -1
-
-extern struct node *yylval;
-
-#ifdef __STDC__
-unsigned char parse_cell_or_range (char **,struct rng *);
-#else
-unsigned char parse_cell_or_range ();
-#endif
-
-int
-yylex FUN0()
-{
-       int ch;
-       struct node *new;
-       int isflt;
-       char *begin;
-       char *tmp_str;
-       unsigned char byte_value;
-       int n;
-
-       /* unsigned char *ptr; */
-       int nn;
-       struct function *fp;
-       int tmp_ch;
-
-#ifdef TEST
-       if(!instr)
-               return ERROR;
-#endif
-       while(isspace(*instr))
-               instr++;
-       ch = *instr++;
-       if(ch=='(' || ch==',' || ch==')')
-               return ch;
-
-       new=(struct node *)obstack_alloc(&tmp_mem,sizeof(struct node));
-       new->add_byte=0;
-       new->sub_value=0;
-       switch(ch) {
-       case 0:
-               return 0;
-
-       case '0': case '1': case '2': case '3': case '4': case '5': case '6':
-       case '7': case '8': case '9': case '.':
-               isflt = (ch=='.');
-
-               begin=instr-1;
-               tmp_str=instr;
-
-               while(isdigit(*tmp_str) || (!isflt && *tmp_str=='.' && ++isflt))
-                       tmp_str++;
-               if(*tmp_str=='e' || *tmp_str=='E') {
-                       isflt=1;
-                       tmp_str++;
-                       if(*tmp_str=='-' || *tmp_str=='+')
-                               tmp_str++;
-                       while(isdigit(*tmp_str))
-                               tmp_str++;
-               }
-               if(isflt) {
-                       new->n_x.v_float=astof((char **)(&begin));
-                       byte_value=CONST_FLT;
-               } else {
-                       new->n_x.v_int=astol((char **)(&begin));
-                       if(begin!=tmp_str) {
-                               begin=instr-1;
-                               new->n_x.v_float=astof((char **)(&begin));
-                               byte_value=CONST_FLT;
-                       } else
-                               byte_value=CONST_INT;
-               }
-               ch=L_CONST;
-               instr=begin;
-               break;
-
-       case '"':
-               begin=instr;
-               while(*instr && *instr!='"') {
-                       if(*instr=='\\' && instr[1])
-                               instr++;
-                       instr++;
-               }
-               if(!*instr) {
-                       parse_error=NO_QUOTE;
-                       return ERROR;
-               }
-               tmp_str=new->n_x.v_string=(char *)ck_malloc(1+instr-begin);
-               while(begin!=instr) {
-                       unsigned char n;
-
-                       if(*begin=='\\') {
-                               begin++;
-                               if(begin[0]>='0' && begin[0]<='7') {
-                                       if(begin[1]>='0' && begin[1]<='7') {
-                                               if(begin[2]>='0' && begin[2]<='7') {
-                                                       n=(begin[2]-'0') + (010 * (begin[1]-'0')) + ( 0100 * (begin[0]-'0'));
-                                                       begin+=3;
-                                               } else {
-                                                       n=(begin[1]-'0') + (010 * (begin[0]-'0'));
-                                                       begin+=2;
-                                               }
-                                       } else {
-                                               n=begin[0]-'0';
-                                               begin++;
-                                       }
-                               } else
-                                       n= *begin++;
-                               *tmp_str++= n;
-                       } else
-                               *tmp_str++= *begin++;
-               }
-               *tmp_str='\0';
-               instr++;
-               byte_value=CONST_STR;
-               ch=L_CONST;
-               break;
-
-       case '+':       case '-':
-
-       case '*':       case '/':       case '%':       case '&':
-       /* case '|': */ case '^':       case '=':
-
-       case '?':
-       {
-               unsigned char *ptr;
-
-               for(ptr= fnin;*ptr;ptr++)
-                       if(the_funs[*ptr].fn_str[0]==ch)
-                               break;
-#ifdef TEST
-               if(!*ptr)
-                       panic("Can't find fnin[] entry for '%c'",ch);
-#endif
-               byte_value= *ptr;
-       }
-               break;
-
-       case ':':
-               byte_value=IF;
-               break;
-
-       case '!':
-       case '<':
-       case '>':
-               if(*instr!='=') {
-                       byte_value = (ch=='<') ? LESS : (ch=='>') ? GREATER : NOT;
-                       break;
-               }
-               instr++;
-               byte_value = (ch=='<') ? LESSEQ : (ch=='>') ? GREATEQ : NOTEQUAL;
-               ch = (ch=='<') ? LE : (ch=='>') ? GE : NE;
-               break;
-
-       case '\'':
-       case ';':
-       case '[':
-       case '\\':
-       case ']':
-       case '`':
-       case '{':
-       case '}':
-       case '~':
-       bad_chr:
-               parse_error=BAD_CHAR;
-               return ERROR;
-
-       case '#':
-               begin=instr-1;
-               while(*instr && (isalnum(*instr) || *instr=='_'))
-                       instr++;
-               ch= *instr;
-               *instr=0;
-               if(!stricmp(begin,tname))
-                       byte_value=F_TRUE;
-               else if(!stricmp(begin,fname))
-                       byte_value=F_FALSE;
-               else if(!stricmp(begin,iname) && (begin[4]==0 || !stricmp(begin+4,"inity")))
-                       byte_value=CONST_INF;
-               else if(!stricmp(begin,mname) ||
-                       !stricmp(begin,"#ninf"))
-                       byte_value=CONST_NINF;
-               else if(!stricmp(begin,nname) ||
-                       !stricmp(begin,"#nan"))
-                       byte_value=CONST_NAN;
-               else {
-                       for(n=1;n<=ERR_MAX;n++)
-                               if(!stricmp(begin,ename[n]))
-                                       break;
-                       if(n>ERR_MAX)
-                               n=BAD_CHAR;
-                       new->n_x.v_int=n;
-                       byte_value=CONST_ERR;
-               }
-               *instr=ch;
-               ch=L_CONST;
-               break;
-
-       default:
-               if(!a0 && (ch=='@' || ch=='$'))
-                  goto bad_chr;
-
-               if(a0 && ch=='@') {
-                       begin=instr;
-                       while(*instr && (isalpha(*instr) || isdigit(*instr) || *instr=='_'))
-                               instr++;
-                       n=instr-begin;
-               } else {
-                       begin=instr-1;
-                       byte_value=parse_cell_or_range(&begin,&(new->n_x.v_rng));
-                       if(byte_value) {
-                               if((byte_value& ~0x3)==R_CELL)
-                                       ch=L_CELL;
-                               else
-                                       ch=L_RANGE;
-                               instr=begin;
-                               break;
-                       }
-
-                       while(*instr && (isalpha(*instr) || isdigit(*instr) || *instr=='_'))
-                               instr++;
-
-                       n=instr-begin;
-                       while(isspace(*instr))
-                               instr++;
-
-                       if(*instr!='(') {
-                               ch=L_VAR;
-                               byte_value=VAR;
-                               new->n_x.v_var=find_or_make_var(begin,n);
-                               break;
-                       }
-               }
-               tmp_ch=begin[n];
-               begin[n]='\0';
-               fp=hash_find(parse_hash,begin);
-               begin[n]=tmp_ch;
-               byte_value= ERROR;
-               if(!fp) {
-                       parse_error=BAD_FUNC;
-                       return ERROR;
-               }
-
-               if(fp>=the_funs && fp<=&the_funs[USR1])
-                       byte_value=fp-the_funs;
-               else {
-                       for(nn=0;nn<n_usr_funs;nn++) {
-                               if(fp>=&usr_funs[nn][0] && fp<=&usr_funs[nn][usr_n_funs[nn]]) {
-                                       byte_value=USR1+nn;
-                                       new->sub_value=fp-&usr_funs[nn][0];
-                                       break;
-                               }
-                       }
-#ifdef TEST
-                       if(nn==n_usr_funs) {
-                               io_error_msg("Couldn't turn fp into a ##");
-                               parse_error=BAD_FUNC;
-                               return ERROR;
-                       }
-#endif
-               }
-
-               if(fp->fn_argn&X_J)
-                       ch= byte_value==F_IF ? L_FN3 : L_FN2;
-               else if(fp->fn_argt[0]=='R' || fp->fn_argt[0]=='E')
-                       ch=L_FN1R-1+fp->fn_argn-X_A0;
-               else
-                       ch=L_FN0 + fp->fn_argn-X_A0;
-
-               break;
-       }
-       /* new->node_type=ch; */
-       new->comp_value=byte_value;
-       yylval=new;
-       return ch;
-}
-
-/* Return value is
-       0 if it doesn't look like a cell or a range,
-       R_CELL if it is a cell (ptr now points past the characters, lr and lc hold the row and col of the cell)
-       RANGE if it is a range (ptr points past the chars)
- */
-unsigned char
-parse_cell_or_range FUN2(char **,ptr, struct rng *,retp)
-{
-       if(a0) {
-               unsigned tmpc,tmpr;
-               char *p;
-               int abz = ROWREL|COLREL;
-
-               p= *ptr;
-               tmpc=0;
-               if(*p=='$') {
-                       abz-=COLREL;
-                       p++;
-               }
-               if(!isalpha(*p))
-                       return 0;
-               tmpc=str_to_col(&p);
-               if(tmpc<MIN_COL || tmpc>MAX_COL)
-                       return 0;
-               if(*p=='$') {
-                       abz-=ROWREL;
-                       p++;
-               }
-               if(!isdigit(*p))
-                       return 0;
-               for(tmpr=0;isdigit(*p);p++)
-                       tmpr=tmpr*10 + *p - '0';
-
-               if(tmpr<MIN_ROW || tmpr>MAX_ROW)
-                       return 0;
-
-               if(*p==':' || *p=='.') {
-                       unsigned tmpc1,tmpr1;
-
-                       abz = ((abz&COLREL) ? LCREL : 0)|((abz&ROWREL) ? LRREL : 0)|HRREL|HCREL;
-                       p++;
-                       if(*p=='$') {
-                               abz-=HCREL;
-                               p++;
-                       }
-                       if(!isalpha(*p))
-                               return 0;
-                       tmpc1=str_to_col(&p);
-                       if(tmpc1<MIN_COL || tmpc1>MAX_COL)
-                               return 0;
-                       if(*p=='$') {
-                               abz-=HRREL;
-                               p++;
-                       }
-                       if(!isdigit(*p))
-                               return 0;
-                       for(tmpr1=0;isdigit(*p);p++)
-                               tmpr1=tmpr1*10 + *p - '0';
-                       if(tmpr1<MIN_ROW || tmpr1>MAX_ROW)
-                               return 0;
-
-                       if(tmpr<tmpr1) {
-                               retp->lr=tmpr;
-                               retp->hr=tmpr1;
-                       } else {
-                               retp->lr=tmpr1;
-                               retp->hr=tmpr;
-                       }
-                       if(tmpc<tmpc1) {
-                               retp->lc=tmpc;
-                               retp->hc=tmpc1;
-                       } else {
-                               retp->lc=tmpc1;
-                               retp->hc=tmpc;
-                       }
-                       *ptr= p;
-                       return RANGE | abz;
-               }
-               retp->lr = retp->hr = tmpr;
-               retp->lc = retp->hc = tmpc;
-               *ptr=p;
-               return R_CELL | abz;
-       } else {
-               char *p;
-               unsigned char retr;
-               unsigned char retc;
-               int ended;
-               long num;
-               CELLREF tmp;
-
-#define CK_ABS_R(x)    if((x)<MIN_ROW || (x)>MAX_ROW)  \
-                               return 0;               \
-                       else
-
-#define CK_REL_R(x)    if(   ((x)>0 && MAX_ROW-(x)<cur_row)    \
-                          || ((x)<0 && MIN_ROW-(x)>cur_row))   \
-                               return 0;                       \
-                       else
-
-#define CK_ABS_C(x)    if((x)<MIN_COL || (x)>MAX_COL)  \
-                               return 0;               \
-                       else
-
-#define CK_REL_C(x)    if(   ((x)>0 && MAX_COL-(x)<cur_col)    \
-                          || ((x)<0 && MIN_COL-(x)>cur_col))   \
-                               return 0;                       \
-                       else
-
-#define MAYBEREL(p) (*(p)=='[' && (isdigit((p)[1]) || (((p)[1]=='+' || (p)[1]=='-') && isdigit((p)[2]))))
-
-               p= *ptr;
-               retr=0;
-               retc=0;
-               ended=0;
-               while(ended==0) {
-                       switch(*p) {
-                       case 'r':
-                       case 'R':
-                               if(retr) {
-                                       ended++;
-                                       break;
-                               }
-                               p++;
-                               retr=R_CELL;
-                               if(isdigit(*p)) {
-                                       num=astol(&p);
-                                       CK_ABS_R(num);
-                                       retp->lr= retp->hr=num;
-                               } else if(MAYBEREL(p)) {
-                                       p++;
-                                       num=astol(&p);
-                                       CK_REL_R(num);
-                                       retp->lr= retp->hr=num+cur_row;
-                                       retr|=ROWREL;
-                                       if(*p==':') {
-                                               retr=RANGE|LRREL|HRREL;
-                                               p++;
-                                               num=astol(&p);
-                                               CK_REL_R(num);
-                                               retp->hr=num+cur_row;
-                                       }
-                                       if(*p++!=']')
-                                               return 0;
-                               } else if(retc || *p=='c' || *p=='C') {
-                                       retr|=ROWREL;
-                                       retp->lr= retp->hr=cur_row;
-                               } else
-                                       return 0;
-                               if(*p==':' && retr!=(RANGE|LRREL|HRREL)) {
-                                       retr= (retr&ROWREL) ? RANGE|LRREL : RANGE;
-                                       p++;
-                                       if(isdigit(*p)) {
-                                               num=astol(&p);
-                                               CK_ABS_R(num);
-                                               retp->hr=num;
-                                       } else if(MAYBEREL(p)) {
-                                               p++;
-                                               num=astol(&p);
-                                               CK_REL_R(num);
-                                               retp->hr=num+cur_row;
-                                               retr|=HRREL;
-                                               if(*p++!=']')
-                                                       return 0;
-                                       } else
-                                               return 0;
-                               }
-
-                               if(retc)
-                                       ended++;
-                               break;
-
-                       case 'c':
-                       case 'C':
-                               if(retc) {
-                                       ended++;
-                                       break;
-                               }
-                               p++;
-                               retc=R_CELL;
-                               if(isdigit(*p)) {
-                                       num=astol(&p);
-                                       CK_ABS_C(num);
-                                       retp->lc= retp->hc=num;
-                               } else if(MAYBEREL(p)) {
-                                       p++;
-                                       num=astol(&p);
-                                       CK_REL_C(num);
-                                       retp->lc= retp->hc=num+cur_col;
-                                       retc|=COLREL;
-                                       if(*p==':') {
-                                               retc=RANGE|LCREL|HCREL;
-                                               p++;
-                                               num=astol(&p);
-                                               CK_REL_C(num);
-                                               retp->hc=num+cur_col;
-                                       }
-                                       if(*p++!=']')
-                                               return 0;
-                               } else if(retr || *p=='r' || *p=='R') {
-                                       retc|=COLREL;
-                                       retp->lc= retp->hc=cur_col;
-                               } else
-                                       return 0;
-                               if(*p==':' && retc!=(RANGE|LCREL|HCREL)) {
-                                       retc= (retc&COLREL) ? RANGE|LCREL : RANGE;
-                                       p++;
-                                       if(isdigit(*p)) {
-                                               num=astol(&p);
-                                               CK_ABS_C(num);
-                                               retp->hc=num;
-                                       } else if(MAYBEREL(p)) {
-                                               p++;
-                                               num=astol(&p);
-                                               CK_REL_C(num);
-                                               retp->hc=num+cur_col;
-                                               retc|=HCREL;
-                                               if(*p++!=']')
-                                                       return 0;
-                                       } else
-                                               return 0;
-                               }
-
-                               if(retr)
-                                       ended++;
-                               break;
-                       default:
-                               if(retr) {
-                                       *ptr=p;
-                                       retp->lc=MIN_COL;
-                                       retp->hc=MAX_COL;
-                                       if((retr|ROWREL)==(R_CELL|ROWREL))
-                                               return (retr&ROWREL) ? (RANGE|LRREL|HRREL) : RANGE;
-                                       else
-                                               return retr;
-                               } else if(retc) {
-                                       *ptr=p;
-                                       retp->lr=MIN_ROW;
-                                       retp->hr=MAX_COL;
-                                       if((retc|COLREL)==(R_CELL|COLREL))
-                                               return (retc&COLREL) ? (RANGE|LCREL|HCREL) : RANGE;
-                                       else
-                                               return retc;
-                               }
-                               return 0;
-                       }
-               }
-               if(!retr || !retc)
-                       return 0;
-               *ptr=p;
-               if(retp->lr>retp->hr)
-                       tmp=retp->lr,retp->lr=retp->hr,retp->hr=tmp;
-               if(retp->lc>retp->hc)
-                       tmp=retp->lc,retp->lc=retp->hc,retp->hc=tmp;
-
-               if((retr|ROWREL)==(R_CELL|ROWREL)) {
-                       if((retc|COLREL)==(R_CELL|COLREL))
-                               return retr|retc;
-                       return (retr&ROWREL) ? (retc|LRREL|HRREL) : retc;
-               }
-               if((retc|COLREL)==(R_CELL|COLREL))
-                       return (retc&COLREL) ? (retr|LCREL|HCREL) : retr;
-               return retr|retc;
-       }
-}
-
-int
-str_to_col FUN1(char **,str)
-{
-       int ret;
-       char c,cc,ccc;
-#if MAX_COL>702
-       char cccc;
-#endif
-
-       ret=0;
-       c=str[0][0];
-       if(!isalpha((cc=str[0][1]))) {
-               (*str)++;
-               return MIN_COL + (isupper(c) ? c-'A' : c-'a');
-       }
-       if(!isalpha((ccc=str[0][2]))) {
-               (*str)+=2;
-               return MIN_COL+26 + (isupper(c) ? c-'A' : c-'a')*26 + (isupper(cc) ? cc-'A' : cc-'a');
-       }
-#if MAX_COL>702
-       if(!isalpha((cccc=str[0][3]))) {
-               (*str)+=3;
-               return MIN_COL+702 + (isupper(c) ? c-'A' : c-'a')*26*26 + (isupper(cc) ? cc-'A' : cc-'a')*26 + (isupper(ccc) ? ccc-'A' : ccc-'a');
-       }
-       if(!isalpha(str[0][4])) {
-               (*str)+=4;
-               return MIN_COL+18278 + (isupper(c) ? c-'A' : c-'a')*26*26*26 + (isupper(cc) ? cc-'A' : cc-'a')*26*26 + (isupper(ccc) ? ccc-'A' : ccc-'a')*26 + (isupper(cccc) ? cccc-'A' : cccc-'a');
-       }
-#endif
-       return 0;
-}