((("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")
+++ /dev/null
-;;; 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
+++ /dev/null
-#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", ¤/
-\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)$/
+++ /dev/null
-#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)$/
+++ /dev/null
-
-#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)$/
+++ /dev/null
-\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
- \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
+++ /dev/null
-\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
- \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
+++ /dev/null
-\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
- \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
+++ /dev/null
-\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
- \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
+++ /dev/null
-\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
- \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
+++ /dev/null
-\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
- \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
+++ /dev/null
-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"
+++ /dev/null
-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.
+++ /dev/null
-------------------------------------------------------------------------------
--- --
--- 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;
+++ /dev/null
-------------------------------------------------------------------------------
--- --
--- 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;
+++ /dev/null
- 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;
+++ /dev/null
--- 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;
+++ /dev/null
-#define this that
-
-#line 33 "../c/c.web"
-
-#define questo quello
+++ /dev/null
-/* 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", ¤t_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);
-}
+++ /dev/null
-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;
+++ /dev/null
-/* 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
+++ /dev/null
-/* 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 */
+++ /dev/null
-/* 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 (©);
-#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 (©);
-#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);
- }
- }
- }
-}
+++ /dev/null
-/* 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 */
+++ /dev/null
-/* 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
+++ /dev/null
-/* 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 (®exbuf);
- while (readline_internal (®exbuf, 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 = ∅
- }
- 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 */
+++ /dev/null
-/* 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);
-}
-
+++ /dev/null
-/* 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);
-}
-
+++ /dev/null
-void (*prt_call())();
+++ /dev/null
-/* 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 */
+++ /dev/null
-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; };
+++ /dev/null
-/* 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"
+++ /dev/null
-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))
+++ /dev/null
-/* 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
+++ /dev/null
-/*
-** 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);
-}
+++ /dev/null
-/* 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;
-}
+++ /dev/null
-// 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: ***
-*/
+++ /dev/null
-/*
-
-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: ***
-*/
+++ /dev/null
-::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;
-}
+++ /dev/null
-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];
+++ /dev/null
-/* ======================================================================= */
-/* 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);
- };
+++ /dev/null
-/* ======================================================================= */
-/* 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();
- }
- }
+++ /dev/null
-/* ======================================================================= */
-/* 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; }
- };
+++ /dev/null
-/* 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>
+++ /dev/null
-#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);
-}
+++ /dev/null
-/* ======================================================================= */
-/* 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, ®s, ®s);
- }
-
-void hide_cursor(void)
- {
- goto_xy(0, NUM_ROWS);
- }
-
-void cursor_position(void)
- {
- regs.h.ah = 3;
- regs.h.bh = 0;
- int86(0x10, ®s, ®s);
- 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;
- }
+++ /dev/null
-/* ======================================================================= */
-/* 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);
+++ /dev/null
-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;
-}
+++ /dev/null
-test_crlf1 test_crlf.c /^void test_crlf1()$/
-test_crlf2 tset_crlf.c /^void test_crlf2()$/
+++ /dev/null
-;;; -*- 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
-;;
+++ /dev/null
-;;; 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
+++ /dev/null
--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 %%%
+++ /dev/null
-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
+++ /dev/null
-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
+++ /dev/null
-\
-\ 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
+++ /dev/null
-package main
-
-import "fmt"
-
-func say(msg string) {
- fmt.Println(msg)
-}
-
-func main() {
- say("Hello, Emacs!")
-}
+++ /dev/null
-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)
-}
+++ /dev/null
-<!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 (Part 1)</font></font></b>\r
-<p> 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> \r
-<br> \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> \r
-<br> \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> \r
-<br> \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> \r
-<br> \r
-<center><table BORDER CELLSPACING=2 CELLPADDING=7 WIDTH="282" >\r
-<tr>\r
-<td VALIGN=TOP WIDTH="33%"><font face="Arial"><font size=-1> </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 </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> \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> \r
-<br> \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> \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. 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). \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. \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 <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 <img SRC="figs/eqn02.gif" ALT="variance" height=24 width=24 align=ABSBOTTOM>of\r
-this noise is equal to <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 <img SRC="figs/eqn04.gif" ALT="equation relating variance to SNR" height=28 width=110 align=ABSBOTTOM>.\r
-So <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
-(< 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 <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 <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> \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> <a href="tutorial.html">Introduction</a>\r
-<br> <a href="algrthms2.html">Description of the Algorithms \r
-(Part 2)</a>\r
-<br> <a href="examples.html">Simulation Source Code Examples</a>\r
-<br> <a href="simrslts.html">Example Simulation Results</a>\r
-<br> <a href="fecbiblio.html">Bibliography</a>\r
-<br> <a href="tutorial.html#specapps">About Spectrum Applications...</a>\r
-<br> \r
-<br> \r
-<br>\r
-<br>\r
-<center>\r
-<p><img SRC="figs/stripe.gif" height=6 width=600></center>\r
-\r
-</body>\r
-</html>\r
+++ /dev/null
-<!--#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> </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"-->
+++ /dev/null
-<!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 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>
+++ /dev/null
-<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 © 2002 Francesco Potortì
- <BR>
- Ultima versione ipertestuale disponibile su <A TITLE="versione
- stampabile"
- HREF="http://softwarelibero.it/documentazione/softwarelibero.html"><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>
+++ /dev/null
--- 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
+++ /dev/null
-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)
+++ /dev/null
-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:;
+++ /dev/null
-%---------------------------------------------------------------------------%
-% 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.
+++ /dev/null
-/*+++*
- * 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
- *
- *======================================================================*/
+++ /dev/null
-/*+++*
- * 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
- *
- *======================================================================*/
+++ /dev/null
-/*
- 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
+++ /dev/null
-/*
- 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
+++ /dev/null
-//
-// 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
+++ /dev/null
-// 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
+++ /dev/null
-#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 *)
+++ /dev/null
-#! /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++; }
+++ /dev/null
-#!/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
+++ /dev/null
-#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;
+++ /dev/null
-<?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: ***
-*/
-?>
+++ /dev/null
-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()
-{
-}
+++ /dev/null
-<?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;
- }
- }
-}
-
-?>
+++ /dev/null
-% $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(' & '), 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(' ¬ '), 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(' & '), 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(' ¬ '), 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:
+++ /dev/null
-/* 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).
+++ /dev/null
-%!
-%%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
+++ /dev/null
-#!/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:
+++ /dev/null
-mod test;
-
-enum IpAddrKind {
- V4,
- V6,
-}
-
-fn test1() {
- println!("Testing");
-}
-
-fn main() {
- test::test1();
-}
+++ /dev/null
-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:
+++ /dev/null
-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
+++ /dev/null
-(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 ...)))))
+++ /dev/null
-\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
+++ /dev/null
-% This comment does not end with newline
\ No newline at end of file
+++ /dev/null
-\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}
+++ /dev/null
-%% 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\}\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:
+++ /dev/null
-%%
-exp : exp '*' exp
- { $$.value = $1.value ? $3.value : $5.value;
- $$.unsignedp = $3.unsignedp || $5.unsignedp; }
- ;
+++ /dev/null
-/* 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
+++ /dev/null
-/* 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
+++ /dev/null
-/* 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;
-}
+++ /dev/null
-%{
-/* 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;
-}