From: Eshel Yaron Date: Mon, 12 Aug 2024 07:04:11 +0000 (+0200) Subject: ; Drop etags tests X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e57676f1b66272c5297d15937f4cae9836772c68;p=emacs.git ; Drop etags tests --- diff --git a/.dir-locals.el b/.dir-locals.el index c74da88a811..a1744267831 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -13,7 +13,6 @@ ((("c" "objc") . ("/[ \t]*DEFVAR_[A-Z_ \t(]+\"\\([^\"]+\\)\"/\\1/" "/[ \t]*DEFVAR_[A-Z_ \t(]+\"[^\"]+\",[ \t]\\([A-Za-z0-9_]+\\)/\\1/")))) - (etags-regen-ignores . ("test/manual/etags/")) (vc-prepare-patches-separately . nil) (vc-default-patch-addressee . "bug-gnu-emacs@gnu.org"))) (c-mode . ((c-file-style . "GNU") diff --git a/test/lisp/progmodes/etags-tests.el b/test/lisp/progmodes/etags-tests.el deleted file mode 100644 index dd2220d3aa2..00000000000 --- a/test/lisp/progmodes/etags-tests.el +++ /dev/null @@ -1,119 +0,0 @@ -;;; etags-tests.el --- Test suite for etags.el. -*- lexical-binding:t -*- - -;; Copyright (C) 2016-2024 Free Software Foundation, Inc. - -;; Author: Eli Zaretskii - -;; 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 . - -;;; Code: - -(require 'ert) -(require 'ert-x) -(require 'etags) -(eval-when-compile (require 'cl-lib)) - -(defvar his-masters-voice t) - -(defconst etags-tests--test-dir - (or (getenv "EMACS_TEST_DIRECTORY") - (expand-file-name "../../.." - (or load-file-name buffer-file-name)))) - -(defun y-or-n-p (_prompt) - "Replacement for `y-or-n-p' that returns what we tell it to." - his-masters-voice) - -(ert-deftest etags-bug-158 () - "Test finding tags with local and global tags tables." - (let ((buf-with-global-tags (get-buffer-create "*buf-global*")) - (buf-with-local-tags (get-buffer-create "*buf-local*")) - (xref-backend-functions '(etags--xref-backend)) - xref-buf) - (set-buffer buf-with-global-tags) - (setq default-directory (expand-file-name ".")) - (visit-tags-table - (expand-file-name "manual/etags/ETAGS.good_1" etags-tests--test-dir)) - ;; Check that tags in ETAGS.good_1 are recognized. - (setq xref-buf (xref-find-definitions "LL_Task_Procedure_Access/t")) - (should (bufferp xref-buf)) - (kill-buffer xref-buf) - (set-buffer buf-with-global-tags) - (setq xref-buf (xref-find-definitions "PrintAdd")) - (should (bufferp xref-buf)) - (kill-buffer xref-buf) - ;; Check that tags not in ETAGS.good_1, but in ETAGS.good_3, are - ;; NOT recognized. - (should-error (xref-find-definitions "intNumber") :type 'user-error) - (kill-buffer xref-buf) - (set-buffer buf-with-local-tags) - (setq default-directory (expand-file-name ".")) - (let (his-masters-voice) - (visit-tags-table - (expand-file-name "manual/etags/ETAGS.good_3" etags-tests--test-dir) - t)) - ;; Check that tags in ETAGS.good_1 are recognized. - (setq xref-buf (xref-find-definitions "LL_Task_Procedure_Access/t")) - (should (bufferp xref-buf)) - (kill-buffer xref-buf) - (set-buffer buf-with-local-tags) - (setq xref-buf (xref-find-definitions "PrintAdd")) - (should (bufferp xref-buf)) - (kill-buffer xref-buf) - ;; Check that tags in ETAGS.good_3 are recognized. This is a test - ;; for bug#158. - (set-buffer buf-with-local-tags) - (setq xref-buf (xref-find-definitions "intNumber")) - (should (or (null xref-buf) - (bufferp xref-buf))) - ;; Bug #17326 - (should (string= (file-name-nondirectory - (buffer-local-value 'tags-file-name buf-with-local-tags)) - "ETAGS.good_3")) - (should (string= (file-name-nondirectory - (default-value 'tags-file-name)) - "ETAGS.good_1")) - (if (bufferp xref-buf) (kill-buffer xref-buf)))) - -(ert-deftest etags-bug-23164 () - "Test that setting a local value of tags table doesn't signal errors." - (set-buffer (get-buffer-create "*foobar*")) - (fundamental-mode) - (setq-local xref-backend-functions '(etags--xref-backend)) - (visit-tags-table - (expand-file-name "manual/etags/ETAGS.good_3" etags-tests--test-dir) - t) - (should (equal (should-error (xref-find-definitions "foobar123")) - '(user-error "No definitions found for: foobar123")))) - -(ert-deftest etags-buffer-local-tags-table-list () - "Test that a buffer-local value of `tags-table-list' is used." - (ert-with-temp-file file - :suffix "etag-test-tmpfile" - (set-buffer (find-file-noselect file)) - (fundamental-mode) - (setq-local tags-table-list - (list (expand-file-name "manual/etags/ETAGS.good_3" - etags-tests--test-dir))) - (cl-letf ((tag-tables tags-table-list) - (tags-file-name nil) - ((symbol-function 'read-file-name) - (lambda (&rest _) - (error "We should not prompt the user")))) - (should (visit-tags-table-buffer)) - (should (equal tags-file-name (car tag-tables)))))) - -;;; etags-tests.el ends here diff --git a/test/manual/etags/CTAGS.good b/test/manual/etags/CTAGS.good deleted file mode 100644 index 84a56b23cfa..00000000000 --- a/test/manual/etags/CTAGS.good +++ /dev/null @@ -1,4692 +0,0 @@ -#a-defer-word forth-src/test-forth.fth /^defer #a-defer-word$/ -#some-storage forth-src/test-forth.fth /^2000 buffer: #some-storage$/ -$0x80 c-src/sysdep.h 32 -$SYS_##syscall_na c-src/sysdep.h 31 -$domain php-src/lce_functions.php 175 -$filename php-src/lce_functions.php 174 -$ignore_ws php-src/lce_functions.php 171 -$memassign php-src/ptest.php 9 -$memassign_space php-src/ptest.php 10 -$member php-src/ptest.php 8 -$msgid php-src/lce_functions.php 107 -$msgid php-src/lce_functions.php 165 -$msgid_lc php-src/lce_functions.php 113 -$msgstr php-src/lce_functions.php 108 -$msgstr php-src/lce_functions.php 166 -$msgstr_lc php-src/lce_functions.php 114 -$po_entries php-src/lce_functions.php 172 -$poe_num php-src/lce_functions.php 173 -$por_a php-src/lce_functions.php 500 -$prefix php-src/lce_functions.php 72 -$state php-src/lce_functions.php 170 -$sys_comment php-src/lce_functions.php 110 -$sys_comment php-src/lce_functions.php 168 -$sys_comment_lc php-src/lce_functions.php 116 -$test php-src/ptest.php 12 -$unk_comment php-src/lce_functions.php 111 -$unk_comment php-src/lce_functions.php 169 -$unk_comment_lc php-src/lce_functions.php 117 -$user_comment php-src/lce_functions.php 109 -$user_comment php-src/lce_functions.php 167 -$user_comment_lc php-src/lce_functions.php 115 -${CHECKOBJS} make-src/Makefile /^${CHECKOBJS}: CFLAGS=-g3 -DNULLFREECHECK=0$/ -%cdiff make-src/Makefile /^%cdiff: CTAGS% CTAGS ${infiles}$/ -%ediff make-src/Makefile /^%ediff: ETAGS% ETAGS ${infiles}$/ -($_,$flag,$opt,$f,$r,@temp perl-src/yagrip.pl 8 -($prog,$_,@list perl-src/yagrip.pl 39 -($string,$flag,@string,@temp,@last perl-src/yagrip.pl 40 -(a-forth-constant forth-src/test-forth.fth /^constant (a-forth-constant$/ -(another-forth-word) forth-src/test-forth.fth /^: (another-forth-word) ( -- )$/ -(foo) forth-src/test-forth.fth /^: (foo) 1 ;$/ -+ ruby-src/test.rb /^ def +(y)$/ -+ tex-src/texinfo.tex /^\\def+{{\\tt \\char 43}}$/ -.PRECIOUS make-src/Makefile /^.PRECIOUS: ETAGS CTAGS ETAGS16 CTAGS16 ETAGS17 CTA/ -/.notdef ps-src/rfc1245.ps /^\/.notdef \/.notdef \/.notdef \/.notdef \/.notdef \/.not/ -/.notdef ps-src/rfc1245.ps /^\/.notdef \/.notdef \/.notdef \/.notdef \/.notdef \/.not/ -/.notdef ps-src/rfc1245.ps /^\/.notdef \/.notdef \/.notdef \/.notdef \/.notdef \/.not/ -/.notdef ps-src/rfc1245.ps /^\/.notdef \/.notdef \/.notdef \/.notdef \/.notdef \/.not/ -/.notdef ps-src/rfc1245.ps /^\/.notdef \/.notdef \/.notdef \/.notdef \/space \/exclam/ -/A ps-src/rfc1245.ps /^\/A { $/ -/Acircumflex ps-src/rfc1245.ps /^\/Acircumflex \/Ecircumflex \/Aacute \/Edieresis \/Egra/ -/B ps-src/rfc1245.ps /^\/B { $/ -/BEGINBITMAP2BIT ps-src/rfc1245.ps /^\/BEGINBITMAP2BIT { $/ -/BEGINBITMAP2BITc ps-src/rfc1245.ps /^\/BEGINBITMAP2BITc { $/ -/BEGINBITMAPBW ps-src/rfc1245.ps /^\/BEGINBITMAPBW { $/ -/BEGINBITMAPBWc ps-src/rfc1245.ps /^\/BEGINBITMAPBWc { $/ -/BEGINBITMAPGRAY ps-src/rfc1245.ps /^\/BEGINBITMAPGRAY { $/ -/BEGINBITMAPGRAYc ps-src/rfc1245.ps /^\/BEGINBITMAPGRAYc { $/ -/BEGINPRINTCODE ps-src/rfc1245.ps /^\/BEGINPRINTCODE { $/ -/BF ps-src/rfc1245.ps /^\/BF { $/ -/BITMAPCOLOR ps-src/rfc1245.ps /^\/BITMAPCOLOR { $/ -/BITMAPCOLORc ps-src/rfc1245.ps /^\/BITMAPCOLORc { $/ -/BITMAPGRAY ps-src/rfc1245.ps /^\/BITMAPGRAY { $/ -/BITMAPGRAYc ps-src/rfc1245.ps /^\/BITMAPGRAYc { $/ -/C ps-src/rfc1245.ps /^\/C { $/ -/COMMONBITMAP ps-src/rfc1245.ps /^\/COMMONBITMAP { $/ -/COMMONBITMAPc ps-src/rfc1245.ps /^\/COMMONBITMAPc { $/ -/D ps-src/rfc1245.ps /^\/D {curveto} bind def$/ -/DiacriticEncoding ps-src/rfc1245.ps /^\/DiacriticEncoding [$/ -/E ps-src/rfc1245.ps /^\/E {lineto} bind def$/ -/ENDBITMAP ps-src/rfc1245.ps /^\/ENDBITMAP {$/ -/ENDPRINTCODE ps-src/rfc1245.ps /^\/ENDPRINTCODE {$/ -/F ps-src/rfc1245.ps /^\/F { $/ -/FMBEGINEPSF ps-src/rfc1245.ps /^\/FMBEGINEPSF { $/ -/FMBEGINPAGE ps-src/rfc1245.ps /^\/FMBEGINPAGE { $/ -/FMDEFINEFONT ps-src/rfc1245.ps /^\/FMDEFINEFONT { $/ -/FMDOCUMENT ps-src/rfc1245.ps /^\/FMDOCUMENT { $/ -/FMENDEPSF ps-src/rfc1245.ps /^\/FMENDEPSF {$/ -/FMENDPAGE ps-src/rfc1245.ps /^\/FMENDPAGE {$/ -/FMLOCAL ps-src/rfc1245.ps /^\/FMLOCAL {$/ -/FMNORMALIZEGRAPHICS ps-src/rfc1245.ps /^\/FMNORMALIZEGRAPHICS { $/ -/FMVERSION ps-src/rfc1245.ps /^\/FMVERSION {$/ -/FMversion ps-src/rfc1245.ps /^\/FMversion (2.0) def $/ -/Fmcc ps-src/rfc1245.ps /^\/Fmcc {$/ -/FrameDict ps-src/rfc1245.ps /^\/FrameDict 190 dict def $/ -/G ps-src/rfc1245.ps /^\/G { $/ -/H ps-src/rfc1245.ps /^\/H { $/ -/Icircumflex ps-src/rfc1245.ps /^\/Icircumflex \/Idieresis \/Igrave \/Oacute \/Ocircumfl/ -/L ps-src/rfc1245.ps /^\/L \/M \/N \/O \/P \/Q \/R \/S \/T \/U \/V \/W \/X \/Y \/Z \/brac/ -/L ps-src/rfc1245.ps /^\/L { $/ -/M ps-src/rfc1245.ps /^\/M {newpath moveto} bind def$/ -/N ps-src/rfc1245.ps /^\/N { $/ -/Ntilde ps-src/rfc1245.ps /^\/Ntilde \/Odieresis \/Udieresis \/aacute \/agrave \/aci/ -/O ps-src/rfc1245.ps /^\/O {closepath} bind def$/ -/Otilde ps-src/rfc1245.ps /^\/Otilde \/OE \/oe \/endash \/emdash \/quotedblleft \/quo/ -/P ps-src/rfc1245.ps /^\/P { $/ -/PF ps-src/rfc1245.ps /^\/PF { $/ -/R ps-src/rfc1245.ps /^\/R { $/ -/RF ps-src/rfc1245.ps /^\/RF { $/ -/RR ps-src/rfc1245.ps /^\/RR { $/ -/ReEncode ps-src/rfc1245.ps /^\/ReEncode { $/ -/S ps-src/rfc1245.ps /^\/S { $/ -/SF ps-src/rfc1245.ps /^\/SF { $/ -/T ps-src/rfc1245.ps /^\/T { $/ -/TF ps-src/rfc1245.ps /^\/TF { $/ -/U ps-src/rfc1245.ps /^\/U { $/ -/Uacute ps-src/rfc1245.ps /^\/Uacute \/Ucircumflex \/Ugrave \/dotlessi \/circumflex/ -/V ps-src/rfc1245.ps /^\/V { $/ -/W ps-src/rfc1245.ps /^\/W { $/ -/X ps-src/rfc1245.ps /^\/X { $/ -/Y ps-src/rfc1245.ps /^\/Y { $/ -/Z ps-src/rfc1245.ps /^\/Z {$/ -/atilde ps-src/rfc1245.ps /^\/atilde \/aring \/ccedilla \/eacute \/egrave \/ecircumf/ -/bl ps-src/rfc1245.ps /^\/bl { $/ -/braceright ps-src/rfc1245.ps /^\/braceright \/asciitilde \/.notdef \/Adieresis \/Aring/ -/bracketright ps-src/rfc1245.ps /^\/bracketright \/asciicircum \/underscore \/grave \/a \// -/breve ps-src/rfc1245.ps /^\/breve \/dotaccent \/ring \/cedilla \/hungarumlaut \/og/ -/cfs ps-src/rfc1245.ps /^\/cfs { $/ -/colorsetup ps-src/rfc1245.ps /^\/colorsetup {$/ -/desperatepapersize ps-src/rfc1245.ps /^\/desperatepapersize {$/ -/dieresis ps-src/rfc1245.ps /^\/dieresis \/.notdef \/AE \/Oslash \/.notdef \/.notdef \// -/dmatrix ps-src/rfc1245.ps /^\/dmatrix matrix def$/ -/dnormalize ps-src/rfc1245.ps /^\/dnormalize {$/ -/dpi ps-src/rfc1245.ps /^\/dpi 72 0 dmatrix defaultmatrix dtransform$/ -/exclamdown ps-src/rfc1245.ps /^\/exclamdown \/logicalnot \/.notdef \/florin \/.notdef / -/fakecolorsetup ps-src/rfc1245.ps /^\/fakecolorsetup {$/ -/fillprocs ps-src/rfc1245.ps /^\/fillprocs 32 array def$/ -/fl ps-src/rfc1245.ps /^\/fl { $/ -/fraction ps-src/rfc1245.ps /^\/fraction \/currency \/guilsinglleft \/guilsinglright/ -/freq ps-src/rfc1245.ps /^\/freq dpi 18.75 div 8 div round dup 0 eq {pop 1} i/ -/gn ps-src/rfc1245.ps /^\/gn { $/ -/graymode ps-src/rfc1245.ps /^\/graymode true def$/ -/grayness ps-src/rfc1245.ps /^\/grayness {$/ -/guillemotleft ps-src/rfc1245.ps /^\/guillemotleft \/guillemotright \/ellipsis \/.notdef / -/home/www/pub/etags.c.gz make-src/Makefile /^\/home\/www\/pub\/etags.c.gz: etags.c$/ -/home/www/pub/software/unix/etags.tar.gz make-src/Makefile /^\/home\/www\/pub\/software\/unix\/etags.tar.gz: Makefile/ -/hx ps-src/rfc1245.ps /^\/hx { $/ -/i ps-src/rfc1245.ps /^\/i \/j \/k \/l \/m \/n \/o \/p \/q \/r \/s \/t \/u \/v \/w \/x \/y/ -/iacute ps-src/rfc1245.ps /^\/iacute \/igrave \/icircumflex \/idieresis \/ntilde \/o/ -/ic ps-src/rfc1245.ps /^\/ic [ $/ -/inch ps-src/rfc1245.ps /^\/inch {72 mul} def$/ -/ip ps-src/rfc1245.ps /^\/ip { $/ -/less ps-src/rfc1245.ps /^\/less \/equal \/greater \/question \/at \/A \/B \/C \/D \/E/ -/lnormalize ps-src/rfc1245.ps /^\/lnormalize { $/ -/manualpapersize ps-src/rfc1245.ps /^\/manualpapersize {$/ -/max ps-src/rfc1245.ps /^\/max {2 copy lt {exch} if pop} bind def$/ -/min ps-src/rfc1245.ps /^\/min {2 copy gt {exch} if pop} bind def$/ -/ms ps-src/rfc1245.ps /^\/ms { $/ -/nbluet ps-src/rfc1245.ps /^\/nbluet 256 array def$/ -/ngrayt ps-src/rfc1245.ps /^\/ngrayt 256 array def$/ -/ngreent ps-src/rfc1245.ps /^\/ngreent 256 array def$/ -/normalize ps-src/rfc1245.ps /^\/normalize {$/ -/nredt ps-src/rfc1245.ps /^\/nredt 256 array def$/ -/numbersign ps-src/rfc1245.ps /^\/numbersign \/dollar \/percent \/ampersand \/quotesing/ -/ocircumflex ps-src/rfc1245.ps /^\/ocircumflex \/odieresis \/otilde \/uacute \/ugrave \/u/ -/ordfeminine ps-src/rfc1245.ps /^\/ordfeminine \/ordmasculine \/.notdef \/ae \/oslash \/q/ -/pagedimen ps-src/rfc1245.ps /^\/pagedimen { $/ -/papersize ps-src/rfc1245.ps /^\/papersize {$/ -/paragraph ps-src/rfc1245.ps /^\/paragraph \/germandbls \/registered \/copyright \/tra/ -/parenright ps-src/rfc1245.ps /^\/parenright \/asterisk \/plus \/comma \/hyphen \/period/ -/periodcentered ps-src/rfc1245.ps /^\/periodcentered \/quotesinglbase \/quotedblbase \/per/ -/quoteleft ps-src/rfc1245.ps /^\/quoteleft \/quoteright \/.notdef \/.notdef \/ydieresi/ -/restorematrix ps-src/rfc1245.ps /^\/restorematrix {$/ -/s1 ps-src/rfc1245.ps /^\/s1 1 string def$/ -/sangle ps-src/rfc1245.ps /^\/sangle 1 0 dmatrix defaultmatrix dtransform exch / -/savematrix ps-src/rfc1245.ps /^\/savematrix {$/ -/setmanualfeed ps-src/rfc1245.ps /^\/setmanualfeed {$/ -/setpapername ps-src/rfc1245.ps /^\/setpapername { $/ -/setpattern ps-src/rfc1245.ps /^\/setpattern {$/ -/two ps-src/rfc1245.ps /^\/two \/three \/four \/five \/six \/seven \/eight \/nine \// -/udieresis ps-src/rfc1245.ps /^\/udieresis \/dagger \/.notdef \/cent \/sterling \/secti/ -/wbytes ps-src/rfc1245.ps /^\/wbytes { $/ -/wh ps-src/rfc1245.ps /^\/wh { $/ -/yen ps-src/rfc1245.ps /^\/yen \/.notdef \/.notdef \/.notdef \/.notdef \/.notdef / -2const forth-src/test-forth.fth /^3 4 2constant 2const$/ -2val forth-src/test-forth.fth /^2const 2value 2val$/ -2var forth-src/test-forth.fth /^2variable 2var$/ -:a-forth-dictionary-entry forth-src/test-forth.fth /^create :a-forth-dictionary-entry$/ -< tex-src/texinfo.tex /^\\def<{{\\tt \\less}}$/ -<< ruby-src/test.rb /^ def <<(y)$/ -<= ruby-src/test.rb /^ def <=(y)$/ -<=> ruby-src/test.rb /^ def <=>(y)$/ -= tex-src/texinfo.tex /^\\global\\let\\section = \\numberedsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsection = \\numberedsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsubsection = \\numberedsubsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\section = \\appendixsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsection = \\appendixsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsubsection = \\appendixsubsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\section = \\unnumberedsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsection = \\unnumberedsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsubsection = \\unnumberedsubsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\section = \\numberedsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsection = \\numberedsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsubsection = \\numberedsubsubsec$/ -= tex-src/texinfo.tex /^\\global\\def={{\\tt \\char 61}}}$/ -=/f ada-src/etags-test-for.ada /^ function "=" (L, R : System.Address) return Boo/ -== ruby-src/test.rb /^ def ==(y)$/ -=== ruby-src/test.rb /^ def ===(y)$/ -=\indexdummyfont tex-src/texinfo.tex /^\\let\\cite=\\indexdummyfont$/ -=\relax tex-src/texinfo.tex /^\\let\\chapter=\\relax$/ -=\relax tex-src/texinfo.tex /^\\let\\section=\\relax$/ -=\relax tex-src/texinfo.tex /^\\let\\subsection=\\relax$/ -=\relax tex-src/texinfo.tex /^\\let\\subsubsection=\\relax$/ -=\relax tex-src/texinfo.tex /^\\let\\appendix=\\relax$/ -=\smartitalic tex-src/texinfo.tex /^\\let\\cite=\\smartitalic$/ -=starts-with-equals! scm-src/test.scm /^(define =starts-with-equals! #t)$/ -> tex-src/texinfo.tex /^\\def>{{\\tt \\gtr}}$/ ->field1 forth-src/test-forth.fth /^ 9 field >field1$/ ->field2 forth-src/test-forth.fth /^ 5 field >field2$/ -A c.c 162 -A cp-src/c.C 39 -A cp-src/c.C 56 -A cp-src/c.C 57 -A cp-src/c.C /^void A::A() {}$/ -A cp-src/c.C 73 -A cp-src/c.C 117 -A cp-src/fail.C 7 -A cp-src/fail.C 23 -A ruby-src/test1.ru /^class A$/ -A ruby-src/test1.ru /^module A$/ -ABC ruby-src/test1.ru 11 -ADASRC make-src/Makefile /^ADASRC=etags-test-for.ada 2ataspri.adb 2ataspri.ad/ -ADDRESS c-src/emacs/src/gmalloc.c /^#define ADDRESS(B) ((void *) (((B) - 1) * BLOCKSIZ/ -ALIGNOF_STRUCT_LISP_VECTOR c-src/emacs/src/lisp.h 1378 -ALLOCATED_BEFORE_DUMPING c-src/emacs/src/gmalloc.c /^#define ALLOCATED_BEFORE_DUMPING(P) \\$/ -ALLOCATE_PSEUDOVECTOR c-src/emacs/src/lisp.h /^#define ALLOCATE_PSEUDOVECTOR(type, field, tag) / -ALLOCATE_ZEROED_PSEUDOVECTOR c-src/emacs/src/lisp.h /^#define ALLOCATE_ZEROED_PSEUDOVECTOR(type, field, / -AND y-src/cccp.c 11 -ANSIC c-src/h.h 84 -ANSIC c-src/h.h 85 -AREF c-src/emacs/src/lisp.h /^AREF (Lisp_Object array, ptrdiff_t idx)$/ -ARGS make-src/Makefile /^ARGS=- < srclist$/ -ARITH_EQUAL c-src/emacs/src/lisp.h 3498 -ARITH_GRTR c-src/emacs/src/lisp.h 3501 -ARITH_GRTR_OR_EQUAL c-src/emacs/src/lisp.h 3503 -ARITH_LESS c-src/emacs/src/lisp.h 3500 -ARITH_LESS_OR_EQUAL c-src/emacs/src/lisp.h 3502 -ARITH_NOTEQUAL c-src/emacs/src/lisp.h 3499 -ARRAYELTS c-src/emacs/src/lisp.h /^#define ARRAYELTS(arr) (sizeof (arr) \/ sizeof (arr/ -ARRAYP c-src/emacs/src/lisp.h /^ARRAYP (Lisp_Object x)$/ -ARRAY_MARK_FLAG c-src/emacs/src/lisp.h 768 -ASCII_CHAR_P c-src/emacs/src/lisp.h /^#define ASCII_CHAR_P(c) UNSIGNED_CMP (c, <, 0x80)$/ -ASET c-src/emacs/src/lisp.h /^ASET (Lisp_Object array, ptrdiff_t idx, Lisp_Objec/ -ASIZE c-src/emacs/src/lisp.h /^ASIZE (Lisp_Object array)$/ -ASRC make-src/Makefile /^ASRC=empty.zz empty.zz.gz$/ -AST_Array::AST_Array cp-src/c.C /^AST_Array::AST_Array(UTL_ScopedName *n, unsigned l/ -AST_ConcreteType::AST_ConcreteType cp-src/c.C /^AST_ConcreteType::AST_ConcreteType(AST_Decl::NodeT/ -AST_Root cp-src/c.C 92 -AT cp-src/c.C 52 -AU cp-src/c.C 53 -AUTOLOADP c-src/emacs/src/lisp.h /^AUTOLOADP (Lisp_Object x)$/ -AUTO_CONS c-src/emacs/src/lisp.h /^#define AUTO_CONS(name, a, b) Lisp_Object name = A/ -AUTO_CONS_EXPR c-src/emacs/src/lisp.h /^#define AUTO_CONS_EXPR(a, b) \\$/ -AUTO_LIST1 c-src/emacs/src/lisp.h /^#define AUTO_LIST1(name, a) \\$/ -AUTO_LIST2 c-src/emacs/src/lisp.h /^#define AUTO_LIST2(name, a, b) \\$/ -AUTO_LIST3 c-src/emacs/src/lisp.h /^#define AUTO_LIST3(name, a, b, c) \\$/ -AUTO_LIST4 c-src/emacs/src/lisp.h /^#define AUTO_LIST4(name, a, b, c, d) \\$/ -AUTO_STRING c-src/emacs/src/lisp.h /^#define AUTO_STRING(name, str) \\$/ -AVAIL_ALLOCA c-src/emacs/src/lisp.h /^#define AVAIL_ALLOCA(size) (sa_avail -= (size), al/ -Abort_Handler_Pointer/t ada-src/2ataspri.ads /^ type Abort_Handler_Pointer is access procedure / -Abort_Task/p ada-src/2ataspri.adb /^ procedure Abort_Task (T : TCB_Ptr) is$/ -Abort_Task/p ada-src/2ataspri.ads /^ procedure Abort_Task (T : TCB_Ptr);$/ -Abort_Wrapper/p ada-src/2ataspri.adb /^ procedure Abort_Wrapper$/ -Abort_Wrapper/p ada-src/2ataspri.adb /^ procedure Abort_Wrapper$/ -Ada_funcs c-src/etags.c /^Ada_funcs (FILE *inf)$/ -Ada_getit c-src/etags.c /^Ada_getit (FILE *inf, const char *name_qualifier)$/ -Ada_help c-src/etags.c 475 -Ada_suffixes c-src/etags.c 473 -AddNullToNmStr pas-src/common.pas /^function AddNullToNmStr; (*($/ -Address_To_Call_State/f ada-src/2ataspri.adb /^ function Address_To_Call_State is new$/ -Address_To_TCB_Ptr/f ada-src/2ataspri.ads /^ function Address_To_TCB_Ptr is new$/ -Advanced usage tex-src/gzip.texi /^@node Advanced usage, Environment, Invoking gzip, / -Aligned_Cons c-src/emacs/src/lisp.h 4670 -Aligned_String c-src/emacs/src/lisp.h 4676 -AppendTextString pas-src/common.pas /^function AppendTextString;(*($/ -Arith_Comparison c-src/emacs/src/lisp.h 3497 -Asm_help c-src/etags.c 504 -Asm_labels c-src/etags.c /^Asm_labels (FILE *inf)$/ -Asm_suffixes c-src/etags.c 493 -B cp-src/c.C 54 -B cp-src/c.C 56 -B cp-src/c.C 74 -B cp-src/c.C /^void B::B() {}$/ -B cp-src/c.C 122 -B cp-src/fail.C 8 -B cp-src/fail.C 24 -B ruby-src/test1.ru /^ class B$/ -BE_Node cp-src/c.C /^void BE_Node::BE_Node() {}$/ -BE_Node cp-src/c.C 77 -BITS_PER_BITS_WORD c-src/emacs/src/lisp.h 125 -BITS_PER_BITS_WORD c-src/emacs/src/lisp.h 129 -BITS_PER_CHAR c-src/emacs/src/lisp.h 136 -BITS_PER_EMACS_INT c-src/emacs/src/lisp.h 139 -BITS_PER_LONG c-src/emacs/src/lisp.h 138 -BITS_PER_SHORT c-src/emacs/src/lisp.h 137 -BITS_WORD_MAX c-src/emacs/src/lisp.h 124 -BITS_WORD_MAX c-src/emacs/src/lisp.h 128 -BLACK cp-src/screen.hpp 12 -BLOCK c-src/emacs/src/gmalloc.c /^#define BLOCK(A) (((char *) (A) - _heapbase) \/ BLO/ -BLOCKIFY c-src/emacs/src/gmalloc.c /^#define BLOCKIFY(SIZE) (((SIZE) + BLOCKSIZE - 1) \// -BLOCKLOG c-src/emacs/src/gmalloc.c 125 -BLOCKSIZE c-src/emacs/src/gmalloc.c 126 -BLUE cp-src/screen.hpp 13 -BOOL_VECTOR_BITS_PER_CHAR c-src/emacs/src/lisp.h 114 -BOOL_VECTOR_BITS_PER_CHAR c-src/emacs/src/lisp.h 115 -BOOL_VECTOR_P c-src/emacs/src/lisp.h /^BOOL_VECTOR_P (Lisp_Object a)$/ -BROWN cp-src/screen.hpp 18 -BUFFERP c-src/emacs/src/lisp.h /^BUFFERP (Lisp_Object a)$/ -BUFFERSIZE objc-src/Subprocess.h 43 -BUFFER_OBJFWDP c-src/emacs/src/lisp.h /^BUFFER_OBJFWDP (union Lisp_Fwd *a)$/ -BYTE_MARK_STACK c-src/emacs/src/lisp.h 3181 -Bar lua-src/test.lua /^function Square.something:Bar ()$/ -Bar perl-src/kai-test.pl /^package Bar;$/ -Barrier_Function_Pointer/t ada-src/etags-test-for.ada /^ type Barrier_Function_Pointer is access$/ -Bidule/b ada-src/etags-test-for.ada /^ protected body Bidule is$/ -Bidule/b ada-src/waroquiers.ada /^ protected body Bidule is$/ -Bidule/t ada-src/etags-test-for.ada /^ protected Bidule is$/ -Bidule/t ada-src/waroquiers.ada /^ protected Bidule is$/ -Body_Required/f ada-src/etags-test-for.ada /^ function Body_Required$/ -Boo cp-src/c.C 129 -Boo cp-src/c.C /^ Boo(int _i, int _a, int _b) : i(_i), a(_a), b(/ -Boo::Boo cp-src/c.C /^Boo::Boo(Boo) :$/ -ButtonBar pyt-src/server.py /^def ButtonBar(frame, legend, ref, alternatives, co/ -C cp-src/fail.C 9 -C cp-src/fail.C /^ C(int i) {x = i;}$/ -C cp-src/fail.C 25 -CALLMANY c-src/emacs/src/lisp.h /^#define CALLMANY(f, array) (f) (ARRAYELTS (array),/ -CALLN c-src/emacs/src/lisp.h /^#define CALLN(f, ...) CALLMANY (f, ((Lisp_Object [/ -CAR c-src/emacs/src/lisp.h /^CAR (Lisp_Object c)$/ -CAR_SAFE c-src/emacs/src/lisp.h /^CAR_SAFE (Lisp_Object c)$/ -CATCHER c-src/emacs/src/lisp.h 3021 -CDR c-src/emacs/src/lisp.h /^CDR (Lisp_Object c)$/ -CDR_SAFE c-src/emacs/src/lisp.h /^CDR_SAFE (Lisp_Object c)$/ -CFLAGS make-src/Makefile /^CFLAGS=${WARNINGS} -ansi -g3 # -pg -O$/ -CHAR c-src/etags.c /^#define CHAR(x) ((unsigned int)(x) & (CHARS - 1))/ -CHAR y-src/cccp.c 7 -CHARACTERBITS c-src/emacs/src/lisp.h 2457 -CHARS c-src/etags.c 157 -CHARTAB_SIZE_BITS c-src/emacs/src/lisp.h 1565 -CHARTAB_SIZE_BITS_0 c-src/emacs/src/lisp.h 1567 -CHARTAB_SIZE_BITS_1 c-src/emacs/src/lisp.h 1568 -CHARTAB_SIZE_BITS_2 c-src/emacs/src/lisp.h 1569 -CHARTAB_SIZE_BITS_3 c-src/emacs/src/lisp.h 1570 -CHAR_ALT c-src/emacs/src/lisp.h 2445 -CHAR_BIT c-src/emacs/src/lisp.h 2957 -CHAR_BIT c-src/emacs/src/lisp.h 2959 -CHAR_BIT c-src/emacs/src/lisp.h 2964 -CHAR_BIT c-src/emacs/src/lisp.h 2969 -CHAR_BIT c-src/emacs/src/lisp.h 2974 -CHAR_BIT c-src/emacs/src/lisp.h 2978 -CHAR_BIT c-src/emacs/src/lisp.h 2983 -CHAR_CLASS_MAX_LENGTH c-src/emacs/src/regex.h 593 -CHAR_CLASS_MAX_LENGTH c-src/emacs/src/regex.h 597 -CHAR_CLASS_MAX_LENGTH c-src/emacs/src/regex.h 605 -CHAR_CTL c-src/emacs/src/lisp.h 2449 -CHAR_HYPER c-src/emacs/src/lisp.h 2447 -CHAR_META c-src/emacs/src/lisp.h 2450 -CHAR_MODIFIER_MASK c-src/emacs/src/lisp.h 2452 -CHAR_SHIFT c-src/emacs/src/lisp.h 2448 -CHAR_SUPER c-src/emacs/src/lisp.h 2446 -CHAR_TABLE_EXTRA_SLOTS c-src/emacs/src/lisp.h /^CHAR_TABLE_EXTRA_SLOTS (struct Lisp_Char_Table *ct/ -CHAR_TABLE_P c-src/emacs/src/lisp.h /^CHAR_TABLE_P (Lisp_Object a)$/ -CHAR_TABLE_REF c-src/emacs/src/lisp.h /^CHAR_TABLE_REF (Lisp_Object ct, int idx)$/ -CHAR_TABLE_REF_ASCII c-src/emacs/src/lisp.h /^CHAR_TABLE_REF_ASCII (Lisp_Object ct, ptrdiff_t id/ -CHAR_TABLE_SET c-src/emacs/src/lisp.h /^CHAR_TABLE_SET (Lisp_Object ct, int idx, Lisp_Obje/ -CHAR_TABLE_STANDARD_SLOTS c-src/emacs/src/lisp.h 1697 -CHAR_TYPE_SIZE y-src/cccp.y 87 -CHECKFLAGS make-src/Makefile /^CHECKFLAGS=-DDEBUG -Wno-unused-function$/ -CHECKOBJS make-src/Makefile /^CHECKOBJS=chkmalloc.o chkxm.o$/ -CHECK_ARRAY c-src/emacs/src/lisp.h /^CHECK_ARRAY (Lisp_Object x, Lisp_Object predicate)/ -CHECK_BOOL_VECTOR c-src/emacs/src/lisp.h /^CHECK_BOOL_VECTOR (Lisp_Object x)$/ -CHECK_BUFFER c-src/emacs/src/lisp.h /^CHECK_BUFFER (Lisp_Object x)$/ -CHECK_CONS c-src/emacs/src/lisp.h /^CHECK_CONS (Lisp_Object x)$/ -CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h 571 -CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h 572 -CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h 572 -CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h 579 -CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h 579 -CHECK_LIST c-src/emacs/src/lisp.h /^CHECK_LIST (Lisp_Object x)$/ -CHECK_LIST_CONS c-src/emacs/src/lisp.h /^# define CHECK_LIST_CONS(x, y) lisp_h_CHECK_LIST_C/ -CHECK_NATNUM c-src/emacs/src/lisp.h /^CHECK_NATNUM (Lisp_Object x)$/ -CHECK_NUMBER c-src/emacs/src/lisp.h /^# define CHECK_NUMBER(x) lisp_h_CHECK_NUMBER (x)$/ -CHECK_NUMBER_CAR c-src/emacs/src/lisp.h /^CHECK_NUMBER_CAR (Lisp_Object x)$/ -CHECK_NUMBER_CDR c-src/emacs/src/lisp.h /^CHECK_NUMBER_CDR (Lisp_Object x)$/ -CHECK_NUMBER_COERCE_MARKER c-src/emacs/src/lisp.h /^#define CHECK_NUMBER_COERCE_MARKER(x) \\$/ -CHECK_NUMBER_OR_FLOAT c-src/emacs/src/lisp.h /^CHECK_NUMBER_OR_FLOAT (Lisp_Object x)$/ -CHECK_NUMBER_OR_FLOAT_COERCE_MARKER c-src/emacs/src/lisp.h /^#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(x) / -CHECK_PROCESS c-src/emacs/src/lisp.h /^CHECK_PROCESS (Lisp_Object x)$/ -CHECK_RANGED_INTEGER c-src/emacs/src/lisp.h /^#define CHECK_RANGED_INTEGER(x, lo, hi) \\$/ -CHECK_STRING_CAR c-src/emacs/src/lisp.h /^CHECK_STRING_CAR (Lisp_Object x)$/ -CHECK_SYMBOL c-src/emacs/src/lisp.h /^# define CHECK_SYMBOL(x) lisp_h_CHECK_SYMBOL (x)$/ -CHECK_TYPE c-src/emacs/src/lisp.h /^# define CHECK_TYPE(ok, predicate, x) lisp_h_CHECK/ -CHECK_TYPE_RANGED_INTEGER c-src/emacs/src/lisp.h /^#define CHECK_TYPE_RANGED_INTEGER(type, x) \\$/ -CHECK_VECTOR c-src/emacs/src/lisp.h /^CHECK_VECTOR (Lisp_Object x)$/ -CHECK_VECTOR_OR_STRING c-src/emacs/src/lisp.h /^CHECK_VECTOR_OR_STRING (Lisp_Object x)$/ -CHECK_WINDOW c-src/emacs/src/lisp.h /^CHECK_WINDOW (Lisp_Object x)$/ -CK_ABS_C y-src/parse.y /^#define CK_ABS_C(x) if((x)MAX_COL)/ -CK_ABS_R y-src/parse.y /^#define CK_ABS_R(x) if((x)MAX_ROW)/ -CK_REL_C y-src/parse.y /^#define CK_REL_C(x) if( ((x)>0 && MAX_COL-(x)0 && MAX_ROW-(x)/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (void) : DiagArray2 () { }$/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (int r, int c) : DiagArray2 (r, c/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (int r, int c, const T& val) : DiagA/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (const Array& a) : DiagArray2 / -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (const DiagArray2& a) : DiagArray/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (const MDiagArray2& 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* f() {}$/ -f cp-src/c.C /^int f(A x) {}$/ -f cp-src/c.C /^int A::f(A* x) {}$/ -f cp-src/c.C /^A > A,int>::f(A* x) {}$/ -f cp-src/c.C /^class B { 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& operator = (const MDiagArray2/ -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 cp-src/MDiagArray2.h /^ operator MArray2 () const$/ -operator int cp-src/c.C /^void operator int(int, int) {}$/ -operator int cp-src/fail.C /^ operator int() const {return x;}$/ -operator+ cp-src/c.C /^const A& A::operator+(const A&) { }$/ -operator+ cp-src/c.C /^void operator+(int, int) {}$/ -operator+ cp-src/c.C /^ A operator+(A& a) {};$/ -opparsebody\Edefop\defopx\defopheader\defoptype tex-src/texinfo.tex /^\\defopparsebody\\Edefop\\defopx\\defopheader\\defoptyp/ -oprotocol c-src/etags.c 2473 -option c-src/getopt.h 73 -optional_argument c-src/getopt.h 91 -opvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype tex-src/texinfo.tex /^\\defopvarparsebody\\Edefcv\\defcvx\\defcvarheader\\def/ -ord_add_element prol-src/ordsets.prolog /^ord_add_element([], Element, [Element]).$/ -ord_del_element prol-src/ordsets.prolog /^ord_del_element([], _, []).$/ -ord_disjoint prol-src/ordsets.prolog /^ord_disjoint(Set1, Set2) :-$/ -ord_intersect prol-src/ordsets.prolog /^ord_intersect([Head1|Tail1], [Head2|Tail2]) :-$/ -ord_intersection prol-src/ordsets.prolog /^ord_intersection([], _, []).$/ -ord_intersection prol-src/ordsets.prolog /^ord_intersection([], Set2, [], Set2).$/ -ord_intersection prol-src/ordsets.prolog /^ord_intersection(Sets, Intersection) :- $/ -ord_intersection2 prol-src/ordsets.prolog /^ord_intersection2(1, [Set|Sets], Set0, Sets0) :- !/ -ord_intersection3 prol-src/ordsets.prolog /^ord_intersection3(<, _, Set1, Head2, Tail2, Inters/ -ord_intersection4 prol-src/ordsets.prolog /^ord_intersection4(<, _, Set1, Head2, Tail2, Inters/ -ord_member prol-src/ordsets.prolog /^ord_member(X, [E|Es]) :-$/ -ord_seteq prol-src/ordsets.prolog /^ord_seteq(Set1, Set2) :-$/ -ord_setproduct prol-src/ordsets.prolog /^ord_setproduct([], _, []).$/ -ord_subset prol-src/ordsets.prolog /^ord_subset([], _).$/ -ord_subtract prol-src/ordsets.prolog /^ord_subtract(Set1, Set2, Union) :-$/ -ord_symdiff prol-src/ordsets.prolog /^ord_symdiff([], Set2, Set2).$/ -ord_union prol-src/ordsets.prolog /^ord_union(Set1, Set2, Union) :-$/ -ord_union prol-src/ordsets.prolog /^ord_union([], Union) :- !, Union = [].$/ -ord_union4 prol-src/ordsets.prolog /^ord_union4(<, Head, Set1, Head2, Tail2, [Head|Unio/ -ord_union_all prol-src/ordsets.prolog /^ord_union_all(1, [Set|Sets], Set, Sets) :- !.$/ -oss html-src/softwarelibero.html /^Il movimento open source$/ -otagseen c-src/etags.c 2475 -outputTime cp-src/c.C 9 -output_file perl-src/htlmify-cystic 35 -output_files perl-src/htlmify-cystic 32 -outputtable html-src/algrthms.html /^Output$/ -outsyn prol-src/natded.prolog /^outsyn(['Any'],_).$/ -p c-src/emacs/src/lisp.h 4673 -p c-src/emacs/src/lisp.h 4679 -p.x forth-src/test-forth.fth /^ 1 CELLS +FIELD p.x \\ A single cell filed name/ -p.y forth-src/test-forth.fth /^ 1 CELLS +FIELD p.y \\ A single cell field name/ -p/f ada-src/etags-test-for.ada /^ function p pragma Import (C,$/ -p/f ada-src/etags-test-for.ada /^function p ("p");$/ -pD c-src/emacs/src/lisp.h 165 -pD c-src/emacs/src/lisp.h 167 -pD c-src/emacs/src/lisp.h 169 -pD c-src/emacs/src/lisp.h 171 -pI c-src/emacs/src/lisp.h 94 -pI c-src/emacs/src/lisp.h 99 -pI c-src/emacs/src/lisp.h 106 -pMd c-src/emacs/src/lisp.h 150 -pMd c-src/emacs/src/lisp.h 155 -pMu c-src/emacs/src/lisp.h 151 -pMu c-src/emacs/src/lisp.h 156 -p_next c-src/etags.c 258 -pagesize c-src/emacs/src/gmalloc.c 1703 -pair merc-src/accumulator.m /^:- import_module pair.$/ -parent c-src/emacs/src/keyboard.c 8745 -parent c-src/emacs/src/lisp.h 1590 -parse prol-src/natded.prolog /^parse(Ws,Cat):-$/ -parseFromVars php-src/lce_functions.php /^ function parseFromVars($prefix)$/ -parse_c_expression y-src/cccp.y /^parse_c_expression (string)$/ -parse_cgi prol-src/natded.prolog /^parse_cgi(TokenList,KeyVals):-$/ -parse_error y-src/parse.y 82 -parse_escape y-src/cccp.y /^parse_escape (string_ptr)$/ -parse_hash y-src/parse.y 64 -parse_menu_item c-src/emacs/src/keyboard.c /^parse_menu_item (Lisp_Object item, int inmenubar)$/ -parse_modifiers c-src/emacs/src/keyboard.c /^parse_modifiers (Lisp_Object symbol)$/ -parse_modifiers_uncached c-src/emacs/src/keyboard.c /^parse_modifiers_uncached (Lisp_Object symbol, ptrd/ -parse_number y-src/cccp.y /^parse_number (olen)$/ -parse_return y-src/parse.y 74 -parse_return_error y-src/cccp.y 70 -parse_solitary_modifier c-src/emacs/src/keyboard.c /^parse_solitary_modifier (Lisp_Object symbol)$/ -parse_tool_bar_item c-src/emacs/src/keyboard.c /^parse_tool_bar_item (Lisp_Object key, Lisp_Object / -parse_tree merc-src/accumulator.m /^:- import_module parse_tree.$/ -pat c-src/etags.c 262 -pattern c-src/etags.c 260 -pdlcount c-src/emacs/src/lisp.h 3046 -pending-delete-mode el-src/TAGTEST.EL /^(defalias 'pending-delete-mode 'delete-selection-m/ -pending_funcalls c-src/emacs/src/keyboard.c 4377 -pending_signals c-src/emacs/src/keyboard.c 80 -pfatal c-src/etags.c /^pfatal (const char *s1)$/ -pfdset c-src/h.h 57 -pfnote c-src/etags.c /^pfnote (char *name, bool is_func, char *linestart,/ -pinned c-src/emacs/src/lisp.h 679 -plain_C_entries c-src/etags.c /^plain_C_entries (FILE *inf)$/ -plain_C_suffixes c-src/etags.c 643 -plainc c-src/etags.c 2934 -plist c-src/emacs/src/lisp.h 697 -plist c-src/emacs/src/lisp.h 2040 -plus cp-src/functions.cpp /^void Date::plus ( int days , int month , int year / -plus go-src/test1.go 5 -plusvalseq prol-src/natded.prolog /^plusvalseq([]) --> [].$/ -point forth-src/test-forth.fth /^BEGIN-STRUCTURE point \\ create the named structure/ -pointer c-src/emacs/src/lisp.h 2125 -poll_for_input c-src/emacs/src/keyboard.c /^poll_for_input (struct atimer *timer)$/ -poll_for_input_1 c-src/emacs/src/keyboard.c /^poll_for_input_1 (void)$/ -poll_suppress_count c-src/emacs/src/keyboard.c 1908 -poll_suppress_count c-src/emacs/src/lisp.h 3047 -poll_timer c-src/emacs/src/keyboard.c 1915 -pop-tag-mark el-src/emacs/lisp/progmodes/etags.el /^(defalias 'pop-tag-mark 'xref-pop-marker-stack)$/ -pop_kboard c-src/emacs/src/keyboard.c /^pop_kboard (void)$/ -popclass_above c-src/etags.c /^popclass_above (int bracelev)$/ -position_to_Time c-src/emacs/src/keyboard.c /^position_to_Time (ptrdiff_t pos)$/ -posix_memalign c-src/emacs/src/gmalloc.c /^posix_memalign (void **memptr, size_t alignment, s/ -posn-at-point c-src/emacs/src/keyboard.c /^DEFUN ("posn-at-point", Fposn_at_point, Sposn_at_p/ -posn-at-x-y c-src/emacs/src/keyboard.c /^DEFUN ("posn-at-x-y", Fposn_at_x_y, Sposn_at_x_y, / -possible_sum_sign y-src/cccp.y /^#define possible_sum_sign(a, b, sum) ((((a) ^ (b))/ -post pyt-src/server.py /^ def post(self):$/ -post pyt-src/server.py /^ def post(self):$/ -pot_etags_version c-src/etags.c 81 -pp1 c-src/torture.c /^int pp1($/ -pp1 c-src/dostorture.c /^int pp1($/ -pp2 c-src/torture.c /^pp2$/ -pp2 c-src/dostorture.c /^pp2$/ -pp3 c-src/torture.c /^pp3(int bar)$/ -pp3 c-src/dostorture.c /^pp3(int bar)$/ -pp_bas_cat prol-src/natded.prolog /^pp_bas_cat(Cat):-$/ -pp_cat prol-src/natded.prolog /^pp_cat(Syn:Sem):-$/ -pp_exp prol-src/natded.prolog /^pp_exp('NIL'):-$/ -pp_exps prol-src/natded.prolog /^pp_exps([]).$/ -pp_html_fitch_tree prol-src/natded.prolog /^pp_html_fitch_tree(tree(der,Root,[ders(Words)]),M,/ -pp_html_table_fitch_tree prol-src/natded.prolog /^pp_html_table_fitch_tree(T):-$/ -pp_html_table_tree prol-src/natded.prolog /^pp_html_table_tree(T):-$/ -pp_html_tree prol-src/natded.prolog /^pp_html_tree(ass(Syn,V,'$VAR'(N))):-$/ -pp_html_trees prol-src/natded.prolog /^pp_html_trees([T|Ts],N,M):-$/ -pp_lam prol-src/natded.prolog /^pp_lam(Var^Alpha):-$/ -pp_lam_bracket prol-src/natded.prolog /^pp_lam_bracket(A^B):-$/ -pp_lam_paren prol-src/natded.prolog /^pp_lam_paren(Var^Alpha):-$/ -pp_paren prol-src/natded.prolog /^pp_paren(C):-$/ -pp_rule prol-src/natded.prolog /^pp_rule(fe):-write('\/E').$/ -pp_syn prol-src/natded.prolog /^pp_syn(A\/B):-$/ -pp_syn_back prol-src/natded.prolog /^pp_syn_back(A\/B):-$/ -pp_syn_paren prol-src/natded.prolog /^pp_syn_paren(A\/B):-$/ -pp_tree prol-src/natded.prolog /^pp_tree(T):-$/ -pp_trees prol-src/natded.prolog /^pp_trees([T|Ts],Column):-$/ -pp_word prol-src/natded.prolog /^pp_word(W):-$/ -pp_word_list prol-src/natded.prolog /^pp_word_list([]).$/ -pp_word_list_rest prol-src/natded.prolog /^pp_word_list_rest([]).$/ -predicate c-src/emacs/src/lisp.h 2307 -prev c.c 175 -prev c-src/emacs/src/gmalloc.c 165 -prev c-src/emacs/src/gmalloc.c 189 -prev c-src/emacs/src/lisp.h 2191 -printClassification php-src/lce_functions.php /^ function printClassification()$/ -print_help c-src/etags.c /^print_help (argument *argbuffer)$/ -print_language_names c-src/etags.c /^print_language_names (void)$/ -print_version c-src/etags.c /^print_version (void)$/ -printmax_t c-src/emacs/src/lisp.h 148 -printmax_t c-src/emacs/src/lisp.h 153 -proc c-src/h.h 87 -process_file c-src/etags.c /^process_file (FILE *fh, char *fn, language *lang)$/ -process_file_name c-src/etags.c /^process_file_name (char *file, language *lang)$/ -process_pending_signals c-src/emacs/src/keyboard.c /^process_pending_signals (void)$/ -process_special_events c-src/emacs/src/keyboard.c /^process_special_events (void)$/ -process_tool_bar_item c-src/emacs/src/keyboard.c /^process_tool_bar_item (Lisp_Object key, Lisp_Objec/ -prof make-src/Makefile /^prof: ETAGS$/ -prolog_atom c-src/etags.c /^prolog_atom (char *s, size_t pos)$/ -prolog_pr c-src/etags.c /^prolog_pr (char *s, char *last)$/ -prolog_skip_comment c-src/etags.c /^prolog_skip_comment (linebuffer *plb, FILE *inf)$/ -prop c-src/etags.c 209 -protect_malloc_state c-src/emacs/src/gmalloc.c /^protect_malloc_state (int protect_p)$/ -pthread_mutexattr_setprio_ceiling/f ada-src/2ataspri.adb /^ function pthread_mutexattr_setprio_ceiling$/ -pthread_mutexattr_setprotocol/f ada-src/2ataspri.adb /^ function pthread_mutexattr_setprotocol$/ -purpose c-src/emacs/src/lisp.h 1594 -push_kboard c-src/emacs/src/keyboard.c /^push_kboard (struct kboard *k)$/ -pushclass_above c-src/etags.c /^pushclass_above (int bracelev, char *str, int len)/ -put_entries c-src/etags.c /^put_entries (register node *np)$/ -pvec_type c-src/emacs/src/lisp.h 780 -quantizing html-src/algrthms.html /^Quantizing the Received$/ -questo ../c/c.web 34 -quiettest make-src/Makefile /^quiettest:$/ -quit_char c-src/emacs/src/keyboard.c 192 -quit_throw_to_read_char c-src/emacs/src/keyboard.c /^quit_throw_to_read_char (bool from_signal)$/ -qux ruby-src/test1.ru /^ alias_method :qux, :tee, attr_accessor(:bogus)/ -qux1 ruby-src/test1.ru /^ :qux1)$/ -qux= ruby-src/test1.ru /^ def qux=(tee)$/ -r0 c-src/sysdep.h 54 -r1 c-src/sysdep.h 55 -r_alloc c-src/emacs/src/lisp.h /^extern void *r_alloc (void **, size_t) ATTRIBUTE_A/ -range_exp y-src/parse.y 269 -range_exp_list y-src/parse.y 273 -raw_keybuf c-src/emacs/src/keyboard.c 116 -raw_keybuf_count c-src/emacs/src/keyboard.c 117 -rbtp c.c 240 -re_iswctype c-src/emacs/src/regex.h 602 -re_nsub c-src/emacs/src/regex.h 364 -re_pattern_buffer c-src/emacs/src/regex.h 335 -re_pattern_buffer c-src/h.h 119 -re_registers c-src/emacs/src/regex.h 428 -re_wchar_t c-src/emacs/src/regex.h 600 -re_wchar_t c-src/emacs/src/regex.h 623 -re_wctype c-src/emacs/src/regex.h 601 -re_wctype_t c-src/emacs/src/regex.h 599 -re_wctype_t c-src/emacs/src/regex.h 618 -re_wctype_to_bit c-src/emacs/src/regex.h /^# define re_wctype_to_bit(cc) 0$/ -read cp-src/conway.hpp /^ char read() { return alive; }$/ -read php-src/lce_functions.php /^ function read()$/ -read-key-sequence c-src/emacs/src/keyboard.c /^DEFUN ("read-key-sequence", Fread_key_sequence, Sr/ -read-key-sequence-vector c-src/emacs/src/keyboard.c /^DEFUN ("read-key-sequence-vector", Fread_key_seque/ -read1 ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :writ/ -read2 ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :writ/ -read_char c-src/emacs/src/keyboard.c /^read_char (int commandflag, Lisp_Object map,$/ -read_char_help_form_unwind c-src/emacs/src/keyboard.c /^read_char_help_form_unwind (void)$/ -read_char_minibuf_menu_prompt c-src/emacs/src/keyboard.c /^read_char_minibuf_menu_prompt (int commandflag,$/ -read_char_x_menu_prompt c-src/emacs/src/keyboard.c /^read_char_x_menu_prompt (Lisp_Object map,$/ -read_decoded_event_from_main_queue c-src/emacs/src/keyboard.c /^read_decoded_event_from_main_queue (struct timespe/ -read_event_from_main_queue c-src/emacs/src/keyboard.c /^read_event_from_main_queue (struct timespec *end_t/ -read_key_sequence c-src/emacs/src/keyboard.c /^read_key_sequence (Lisp_Object *keybuf, int bufsiz/ -read_key_sequence_cmd c-src/emacs/src/keyboard.c 232 -read_key_sequence_remapped c-src/emacs/src/keyboard.c 233 -read_key_sequence_vs c-src/emacs/src/keyboard.c /^read_key_sequence_vs (Lisp_Object prompt, Lisp_Obj/ -read_menu_command c-src/emacs/src/keyboard.c /^read_menu_command (void)$/ -read_toc perl-src/htlmify-cystic /^sub read_toc ()$/ -readable_events c-src/emacs/src/keyboard.c /^readable_events (int flags)$/ -readline c-src/etags.c /^readline (linebuffer *lbp, FILE *stream)$/ -readline_internal c-src/etags.c /^readline_internal (linebuffer *lbp, register FILE / -realloc c-src/emacs/src/gmalloc.c 65 -realloc c-src/emacs/src/gmalloc.c 69 -realloc c-src/emacs/src/gmalloc.c /^realloc (void *ptr, size_t size)$/ -realloc c-src/emacs/src/gmalloc.c 1716 -reallochook c-src/emacs/src/gmalloc.c /^reallochook (void *ptr, size_t size)$/ -recent-keys c-src/emacs/src/keyboard.c /^DEFUN ("recent-keys", Frecent_keys, Srecent_keys, / -recent_keys c-src/emacs/src/keyboard.c 100 -recent_keys_index c-src/emacs/src/keyboard.c 94 -record_asynch_buffer_change c-src/emacs/src/keyboard.c /^record_asynch_buffer_change (void)$/ -record_auto_save c-src/emacs/src/keyboard.c /^record_auto_save (void)$/ -record_char c-src/emacs/src/keyboard.c /^record_char (Lisp_Object c)$/ -record_menu_key c-src/emacs/src/keyboard.c /^record_menu_key (Lisp_Object c)$/ -record_single_kboard_state c-src/emacs/src/keyboard.c /^record_single_kboard_state ()$/ -record_xmalloc c-src/emacs/src/lisp.h /^extern void *record_xmalloc (size_t) ATTRIBUTE_ALL/ -recover_top_level_message c-src/emacs/src/keyboard.c 138 -recursion-depth c-src/emacs/src/keyboard.c /^DEFUN ("recursion-depth", Frecursion_depth, Srecur/ -recursive-edit c-src/emacs/src/keyboard.c /^DEFUN ("recursive-edit", Frecursive_edit, Srecursi/ -recursive_edit_1 c-src/emacs/src/keyboard.c /^recursive_edit_1 (void)$/ -recursive_edit_unwind c-src/emacs/src/keyboard.c /^recursive_edit_unwind (Lisp_Object buffer)$/ -redirect c-src/emacs/src/lisp.h 663 -reduce prol-src/natded.prolog /^reduce((X^M)@N,L):- % beta reduction$/ -reduce_subterm prol-src/natded.prolog /^reduce_subterm(M,M2):-$/ -refreshPort pyt-src/server.py /^ def refreshPort(self):$/ -reg_errcode_t c.c 279 -reg_errcode_t c-src/emacs/src/regex.h 323 -reg_syntax_t c-src/emacs/src/regex.h 43 -regex c-src/etags.c 219 -regex.o make-src/Makefile /^regex.o: emacs\/src\/regex.c$/ -regex_t c-src/emacs/src/regex.h 416 -regex_tag_multiline c-src/etags.c /^regex_tag_multiline (void)$/ -regexfile make-src/Makefile /^regexfile: Makefile$/ -regexp c-src/etags.c 256 -regexp c-src/etags.c 268 -registerAction objcpp-src/SimpleCalc.M /^- registerAction:(SEL)action$/ -register_heapinfo c-src/emacs/src/gmalloc.c /^register_heapinfo (void)$/ -regmatch_t c-src/emacs/src/regex.h 451 -regoff_t c-src/emacs/src/regex.h 423 -regs c-src/etags.c 263 -regs cp-src/screen.cpp 16 -regs_allocated c-src/emacs/src/regex.h 379 -regset c-src/h.h 31 -regular_top_level_message c-src/emacs/src/keyboard.c 143 -rehash_size c-src/emacs/src/lisp.h 1835 -rehash_threshold c-src/emacs/src/lisp.h 1839 -relative_filename c-src/etags.c /^relative_filename (char *file, char *dir)$/ -release distrib make-src/Makefile /^release distrib: web$/ -removeexp prol-src/natded.prolog /^removeexp(E,E,'NIL'):-!.$/ -reorder_modifiers c-src/emacs/src/keyboard.c /^reorder_modifiers (Lisp_Object symbol)$/ -request c.c /^request request (a, b)$/ -requeued_events_pending_p c-src/emacs/src/keyboard.c /^requeued_events_pending_p (void)$/ -require merc-src/accumulator.m /^:- import_module require.$/ -required_argument c-src/getopt.h 90 -reset-this-command-lengths c-src/emacs/src/keyboard.c /^DEFUN ("reset-this-command-lengths", Freset_this_c/ -restore_getcjmp c-src/emacs/src/keyboard.c /^restore_getcjmp (sys_jmp_buf temp)$/ -restore_kboard_configuration c-src/emacs/src/keyboard.c /^restore_kboard_configuration (int was_locked)$/ -return_to_command_loop c-src/emacs/src/keyboard.c 135 -reverse prol-src/natded.prolog /^reverse([],Ws,Ws).$/ -revert objc-src/PackInsp.m /^-revert:sender$/ -right c-src/etags.c 216 -right_shift y-src/cccp.y /^right_shift (a, b)$/ -ring1 c.c 241 -ring2 c.c 242 -rm_eo c-src/emacs/src/regex.h 450 -rm_so c-src/emacs/src/regex.h 449 -rng_base cp-src/Range.h 79 -rng_inc cp-src/Range.h 81 -rng_limit cp-src/Range.h 80 -rng_nelem cp-src/Range.h 83 -rosso cp-src/c.C 40 -rsyncfromfly make-src/Makefile /^rsyncfromfly:$/ -rsynctofly make-src/Makefile /^rsynctofly:$/ -rtint c-src/h.h 60 -rtint c-src/h.h 68 -rtstr c-src/h.h 61 -rtstr c-src/h.h 69 -rtunion_def c-src/h.h 58 -rtunion_def c-src/h.h 64 -rtx c-src/h.h 62 -rtxnp c-src/h.h 71 -rtxp c-src/h.h 70 -s c-src/emacs/src/lisp.h 4672 -s c-src/emacs/src/lisp.h 4678 -s1 cp-src/c.C 32 -s2 cp-src/c.C 35 -safe_run_hook_funcall c-src/emacs/src/keyboard.c /^safe_run_hook_funcall (ptrdiff_t nargs, Lisp_Objec/ -safe_run_hooks c-src/emacs/src/keyboard.c /^safe_run_hooks (Lisp_Object hook)$/ -safe_run_hooks_1 c-src/emacs/src/keyboard.c /^safe_run_hooks_1 (ptrdiff_t nargs, Lisp_Object *ar/ -safe_run_hooks_error c-src/emacs/src/keyboard.c /^safe_run_hooks_error (Lisp_Object error, ptrdiff_t/ -save pyt-src/server.py /^ def save(self):$/ -save pyt-src/server.py /^ def save(self):$/ -save pyt-src/server.py /^ def save(self):$/ -save_getcjmp c-src/emacs/src/keyboard.c /^save_getcjmp (sys_jmp_buf temp)$/ -save_type c-src/emacs/src/lisp.h /^save_type (struct Lisp_Save_Value *v, int n)$/ -savenstr c-src/etags.c /^savenstr (const char *cp, int len)$/ -savestr c-src/etags.c /^savestr (const char *cp)$/ -say go-src/test.go /^func say(msg string) {$/ -scan_separators c-src/etags.c /^scan_separators (char *name)$/ -scolonseen c-src/etags.c 2447 -scratch c-src/sysdep.h 56 -scroll_bar_parts c-src/emacs/src/keyboard.c 5189 -sec=\relax tex-src/texinfo.tex /^\\let\\appendixsec=\\relax$/ -section perl-src/htlmify-cystic 25 -section=\relax tex-src/texinfo.tex /^\\let\\appendixsection=\\relax$/ -section_href perl-src/htlmify-cystic /^sub section_href ($)$/ -section_name perl-src/htlmify-cystic 12 -section_name perl-src/htlmify-cystic /^sub section_name ($)$/ -section_toc perl-src/htlmify-cystic 15 -section_url perl-src/htlmify-cystic /^sub section_url ()$/ -section_url_base perl-src/htlmify-cystic /^sub section_url_base ()$/ -section_url_name perl-src/htlmify-cystic /^sub section_url_name ()$/ -select prol-src/natded.prolog /^select(X,[X|Xs],Xs).$/ -select-tags-table el-src/emacs/lisp/progmodes/etags.el /^(defun select-tags-table ()$/ -select-tags-table-mode el-src/emacs/lisp/progmodes/etags.el /^(define-derived-mode select-tags-table-mode specia/ -select-tags-table-mode-map el-src/emacs/lisp/progmodes/etags.el /^(defvar select-tags-table-mode-map ; Doc string?$/ -select-tags-table-quit el-src/emacs/lisp/progmodes/etags.el /^(defun select-tags-table-quit ()$/ -select-tags-table-select el-src/emacs/lisp/progmodes/etags.el /^(defun select-tags-table-select (button)$/ -select_last prol-src/natded.prolog /^select_last([X],X,[]).$/ -send objc-src/Subprocess.m /^- send:(const char *)string withNewline:(BOOL)want/ -send objc-src/Subprocess.m /^- send:(const char *)string$/ -separator_names c-src/emacs/src/keyboard.c 7372 -serializeToVars php-src/lce_functions.php /^ function serializeToVars($prefix)$/ -serializeToVars php-src/lce_functions.php /^ function serializeToVars($prefix)$/ -set cp-src/conway.hpp /^ void set(void) { alive = 1; }$/ -set merc-src/accumulator.m /^:- import_module set.$/ -set-input-interrupt-mode c-src/emacs/src/keyboard.c /^DEFUN ("set-input-interrupt-mode", Fset_input_inte/ -set-input-meta-mode c-src/emacs/src/keyboard.c /^DEFUN ("set-input-meta-mode", Fset_input_meta_mode/ -set-input-mode c-src/emacs/src/keyboard.c /^DEFUN ("set-input-mode", Fset_input_mode, Sset_inp/ -set-output-flow-control c-src/emacs/src/keyboard.c /^DEFUN ("set-output-flow-control", Fset_output_flow/ -set-quit-char c-src/emacs/src/keyboard.c /^DEFUN ("set-quit-char", Fset_quit_char, Sset_quit_/ -setDate cp-src/functions.cpp /^void Date::setDate ( int d , int m , int y ){$/ -setDelegate objc-src/Subprocess.m /^- setDelegate:anObject$/ -setRevertButtonTitle objc-src/PackInsp.m /^-setRevertButtonTitle$/ -set_base cp-src/Range.h /^ void set_base (double b) { rng_base = b; }$/ -set_char_table_contents c-src/emacs/src/lisp.h /^set_char_table_contents (Lisp_Object table, ptrdif/ -set_char_table_defalt c-src/emacs/src/lisp.h /^set_char_table_defalt (Lisp_Object table, Lisp_Obj/ -set_char_table_extras c-src/emacs/src/lisp.h /^set_char_table_extras (Lisp_Object table, ptrdiff_/ -set_char_table_purpose c-src/emacs/src/lisp.h /^set_char_table_purpose (Lisp_Object table, Lisp_Ob/ -set_hash_key_slot c-src/emacs/src/lisp.h /^set_hash_key_slot (struct Lisp_Hash_Table *h, ptrd/ -set_hash_value_slot c-src/emacs/src/lisp.h /^set_hash_value_slot (struct Lisp_Hash_Table *h, pt/ -set_inc cp-src/Range.h /^ void set_inc (double i) { rng_inc = i; }$/ -set_limit cp-src/Range.h /^ void set_limit (double l) { rng_limit = l; }$/ -set_overlay_plist c-src/emacs/src/lisp.h /^set_overlay_plist (Lisp_Object overlay, Lisp_Objec/ -set_poll_suppress_count c-src/emacs/src/keyboard.c /^set_poll_suppress_count (int count)$/ -set_prop c-src/emacs/src/keyboard.c /^set_prop (ptrdiff_t idx, Lisp_Object val)$/ -set_save_integer c-src/emacs/src/lisp.h /^set_save_integer (Lisp_Object obj, int n, ptrdiff_/ -set_save_pointer c-src/emacs/src/lisp.h /^set_save_pointer (Lisp_Object obj, int n, void *va/ -set_string_intervals c-src/emacs/src/lisp.h /^set_string_intervals (Lisp_Object s, INTERVAL i)$/ -set_sub_char_table_contents c-src/emacs/src/lisp.h /^set_sub_char_table_contents (Lisp_Object table, pt/ -set_symbol_function c-src/emacs/src/lisp.h /^set_symbol_function (Lisp_Object sym, Lisp_Object / -set_symbol_next c-src/emacs/src/lisp.h /^set_symbol_next (Lisp_Object sym, struct Lisp_Symb/ -set_symbol_plist c-src/emacs/src/lisp.h /^set_symbol_plist (Lisp_Object sym, Lisp_Object pli/ -set_upto merc-src/accumulator.m /^:- func set_upto(accu_case, int) = set(accu_goal_i/ -set_waiting_for_input c-src/emacs/src/keyboard.c /^set_waiting_for_input (struct timespec *time_to_cl/ -setref tex-src/texinfo.tex /^\\expandafter\\expandafter\\expandafter\\appendixsetre/ -setup cp-src/c.C 5 -shift cp-src/functions.cpp /^void Date::shift ( void ){\/\/Shift this date to pre/ -shouldLoad objc-src/PackInsp.m /^-(BOOL)shouldLoad$/ -should_attempt_accu_transform merc-src/accumulator.m /^:- pred should_attempt_accu_transform(module_info:/ -should_attempt_accu_transform_2 merc-src/accumulator.m /^:- pred should_attempt_accu_transform_2(module_inf/ -should_see_this_array_type cp-src/c.C 156 -should_see_this_function_pointer cp-src/c.C 153 -should_see_this_one_enclosed_in_extern_C cp-src/c.C 149 -show erl-src/gs_dialog.erl /^show(Module, Title, Message, Args) ->$/ -showError objc-src/Subprocess.m /^showError (const char *errorString, id theDelegate/ -showInfo objc-src/PackInsp.m /^-showInfo:sender$/ -show_help_echo c-src/emacs/src/keyboard.c /^show_help_echo (Lisp_Object help, Lisp_Object wind/ -sig c-src/emacs/src/keyboard.c 7238 -signal_handler c-src/h.h 82 -signal_handler1 c-src/h.h 83 -signal_handler_t c-src/h.h 94 -simulation html-src/software.html /^Software that I wrote for supporting my research a/ -single_kboard c-src/emacs/src/keyboard.c 89 -single_kboard_state c-src/emacs/src/keyboard.c /^single_kboard_state ()$/ -site cp-src/conway.hpp 5 -site cp-src/conway.hpp /^ site(int xi, int yi): x(xi), y(yi), alive(0) {/ -size c-src/etags.c 236 -size c-src/etags.c 2522 -size c-src/emacs/src/gmalloc.c 156 -size c-src/emacs/src/gmalloc.c 163 -size c-src/emacs/src/gmalloc.c 1862 -size c-src/emacs/src/lisp.h 1364 -size c-src/emacs/src/lisp.h 1390 -skeyseen c-src/etags.c 2445 -skip_name c-src/etags.c /^skip_name (char *cp)$/ -skip_non_spaces c-src/etags.c /^skip_non_spaces (char *cp)$/ -skip_spaces c-src/etags.c /^skip_spaces (char *cp)$/ -snarf-tag-function el-src/emacs/lisp/progmodes/etags.el /^(defvar snarf-tag-function nil$/ -snone c-src/etags.c 2443 -solutions merc-src/accumulator.m /^:- import_module solutions.$/ -some_mouse_moved c-src/emacs/src/keyboard.c /^some_mouse_moved (void)$/ -space tex-src/texinfo.tex /^ {#2\\labelspace #1}\\dotfill\\doshortpageno{#3}}%/ -space tex-src/texinfo.tex /^ \\dosubsubsecentry{#2.#3.#4.#5\\labelspace#1}{#6}}/ -spacer c-src/emacs/src/lisp.h 1975 -spacer c-src/emacs/src/lisp.h 1982 -spacer c-src/emacs/src/lisp.h 2036 -spacer c-src/emacs/src/lisp.h 2205 -specbind_tag c-src/emacs/src/lisp.h 2943 -specbinding c-src/emacs/src/lisp.h 2955 -specialsymbol prol-src/natded.prolog /^specialsymbol(C1,C2,S):-$/ -splitexp prol-src/natded.prolog /^splitexp(E,E,('NIL','NIL')):-!.$/ -srclist make-src/Makefile /^srclist: Makefile$/ -ss3 c.c 255 -sss1 c.c 252 -sss2 c.c 253 -sstab prol-src/natded.prolog /^sstab(2,'C',',').$/ -st_C_attribute c-src/etags.c 2209 -st_C_class c-src/etags.c 2212 -st_C_define c-src/etags.c 2213 -st_C_enum c-src/etags.c 2213 -st_C_extern c-src/etags.c 2213 -st_C_gnumacro c-src/etags.c 2208 -st_C_ignore c-src/etags.c 2209 -st_C_javastruct c-src/etags.c 2210 -st_C_objend c-src/etags.c 2207 -st_C_objimpl c-src/etags.c 2207 -st_C_objprot c-src/etags.c 2207 -st_C_operator c-src/etags.c 2211 -st_C_struct c-src/etags.c 2213 -st_C_template c-src/etags.c 2212 -st_C_typedef c-src/etags.c 2213 -st_none c-src/etags.c 2206 -stack c.c 155 -stagseen c-src/etags.c 2446 -standalone make-src/Makefile /^standalone:$/ -start c-src/emacs/src/regex.h 431 -start c-src/emacs/src/keyboard.c 8753 -start c-src/emacs/src/lisp.h 2038 -start php-src/lce_functions.php /^ function start($line, $class)$/ -start y-src/cccp.y 143 -start_polling c-src/emacs/src/keyboard.c /^start_polling (void)$/ -start_up prol-src/natded.prolog /^start_up:-$/ -state_protected_p c-src/emacs/src/gmalloc.c 400 -statetable html-src/algrthms.html /^Next$/ -staticetags make-src/Makefile /^staticetags:$/ -step cp-src/conway.hpp /^ void step(void) { alive = next_alive; }$/ -step cp-src/clheir.hpp /^ virtual void step(void) { }$/ -step_everybody cp-src/clheir.cpp /^void step_everybody(void)$/ -stop_polling c-src/emacs/src/keyboard.c /^stop_polling (void)$/ -store_info merc-src/accumulator.m /^:- type store_info$/ -store_user_signal_events c-src/emacs/src/keyboard.c /^store_user_signal_events (void)$/ -stored_goal_plain_call merc-src/accumulator.m /^:- inst stored_goal_plain_call for goal_store.stor/ -str go-src/test1.go 9 -strcaseeq c-src/etags.c /^#define strcaseeq(s,t) (assert ((s)!=NULL && (t)!=/ -streq c-src/etags.c /^#define streq(s,t) (assert ((s)!=NULL || (t)!=NULL/ -string merc-src/accumulator.m /^:- import_module string.$/ -string_intervals c-src/emacs/src/lisp.h /^string_intervals (Lisp_Object s)$/ -stripLine php-src/lce_functions.php /^ function stripLine($line, $class)$/ -stripname pas-src/common.pas /^function stripname; (* ($/ -strncaseeq c-src/etags.c /^#define strncaseeq(s,t,n) (assert ((s)!=NULL && (t/ -strneq c-src/etags.c /^#define strneq(s,t,n) (assert ((s)!=NULL || (t)!=N/ -structdef c-src/etags.c 2448 -stuff_buffered_input c-src/emacs/src/keyboard.c /^stuff_buffered_input (Lisp_Object stuffstring)$/ -subprocess objc-src/PackInsp.m /^-subprocess:(Subprocess *)sender output:(char *)bu/ -subprocessDone objc-src/PackInsp.m /^-subprocessDone:(Subprocess *)sender$/ -subsec=\relax tex-src/texinfo.tex /^\\let\\appendixsubsec=\\relax$/ -subsection perl-src/htlmify-cystic 26 -subsection=\relax tex-src/texinfo.tex /^\\let\\appendixsubsection=\\relax$/ -subsection_marker perl-src/htlmify-cystic 161 -subst prol-src/natded.prolog /^subst(var(Y),var(X),M,N):-$/ -substitute c-src/etags.c /^substitute (char *in, char *out, struct re_registe/ -subsubsec=\relax tex-src/texinfo.tex /^\\let\\appendixsubsubsec=\\relax$/ -subsubsection perl-src/htlmify-cystic 27 -subsubsection=\relax tex-src/texinfo.tex /^\\let\\appendixsubsubsection=\\relax$/ -subtle ruby-src/test1.ru /^ :tee ; attr_reader :subtle$/ -subtree prol-src/natded.prolog /^subtree(T,T).$/ -suffix c-src/etags.c 186 -suffixes c-src/etags.c 195 -suggest_asking_for_help c-src/etags.c /^suggest_asking_for_help (void)$/ -suspend-emacs c-src/emacs/src/keyboard.c /^DEFUN ("suspend-emacs", Fsuspend_emacs, Ssuspend_e/ -sval y-src/cccp.y 116 -swallow_events c-src/emacs/src/keyboard.c /^swallow_events (bool do_display)$/ -switch_line_buffers c-src/etags.c /^#define switch_line_buffers() (curndx = 1 - curndx/ -sxhash_combine c-src/emacs/src/lisp.h /^sxhash_combine (EMACS_UINT x, EMACS_UINT y)$/ -sym_type c-src/etags.c 2204 -symbol c-src/emacs/src/lisp.h 2980 -symbol_interned c-src/emacs/src/lisp.h 639 -symbol_name c-src/emacs/src/lisp.h 1687 -symbol_redirect c-src/emacs/src/lisp.h 646 -syms_of_abbrev c-src/abbrev.c /^syms_of_abbrev ()$/ -syms_of_keyboard c-src/emacs/src/keyboard.c /^syms_of_keyboard (void)$/ -synchronize_system_messages_locale c-src/emacs/src/lisp.h /^INLINE void synchronize_system_messages_locale (vo/ -synchronize_system_time_locale c-src/emacs/src/lisp.h /^INLINE void synchronize_system_time_locale (void) / -syntax c-src/emacs/src/regex.h 350 -sys_jmp_buf c-src/emacs/src/lisp.h 2906 -sys_jmp_buf c-src/emacs/src/lisp.h 2910 -sys_jmp_buf c-src/emacs/src/lisp.h 2916 -sys_longjmp c-src/emacs/src/lisp.h /^# define sys_longjmp(j, v) _longjmp (j, v)$/ -sys_longjmp c-src/emacs/src/lisp.h /^# define sys_longjmp(j, v) siglongjmp (j, v)$/ -sys_longjmp c-src/emacs/src/lisp.h /^# define sys_longjmp(j, v) longjmp (j, v)$/ -sys_setjmp c-src/emacs/src/lisp.h /^# define sys_setjmp(j) _setjmp (j)$/ -sys_setjmp c-src/emacs/src/lisp.h /^# define sys_setjmp(j) sigsetjmp (j, 0)$/ -sys_setjmp c-src/emacs/src/lisp.h /^# define sys_setjmp(j) setjmp (j)$/ -syscall_error c-src/sysdep.h 34 -t cp-src/c.C 52 -t1 cp-src/c.C 34 -t2 cp-src/c.C 38 -tab_count_words c-src/tab.c /^int tab_count_words(char **tab)$/ -tab_delete_first c-src/tab.c /^int tab_delete_first(char **tab)$/ -tab_fill c-src/tab.c /^char **tab_fill(char *str, char delim)$/ -tab_free c-src/tab.c /^void tab_free(char **tab)$/ -tag-any-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-any-match-p (_tag)$/ -tag-exact-file-name-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-exact-file-name-match-p (tag)$/ -tag-exact-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-exact-match-p (tag)$/ -tag-file-name-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-file-name-match-p (tag)$/ -tag-find-file-of-tag el-src/emacs/lisp/progmodes/etags.el /^(defun tag-find-file-of-tag (file) ; Doc string?$/ -tag-find-file-of-tag-noselect el-src/emacs/lisp/progmodes/etags.el /^(defun tag-find-file-of-tag-noselect (file)$/ -tag-implicit-name-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-implicit-name-match-p (tag)$/ -tag-lines-already-matched el-src/emacs/lisp/progmodes/etags.el /^(defvar tag-lines-already-matched nil$/ -tag-partial-file-name-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-partial-file-name-match-p (_tag)$/ -tag-re-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-re-match-p (re)$/ -tag-symbol-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-symbol-match-p (tag)$/ -tag-word-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-word-match-p (tag)$/ -tag1 c-src/torture.c /^(*tag1 (sig, handler)) ()$/ -tag1 c-src/dostorture.c /^(*tag1 (sig, handler)) ()$/ -tag1 c-src/h.h 110 -tag2 c-src/torture.c /^(*tag2 (sig, handler)) ()$/ -tag2 c-src/dostorture.c /^(*tag2 (sig, handler)) ()$/ -tag3 c-src/torture.c /^(*tag3 (int sig, void (*handler) (int))) (int)$/ -tag3 c-src/dostorture.c /^(*tag3 (int sig, void (*handler) (int))) (int)$/ -tag4 c-src/torture.c /^(*tag4 (int sig, void (*handler) (int))) (int)$/ -tag4 c-src/dostorture.c /^(*tag4 (int sig, void (*handler) (int))) (int)$/ -tag5 c-src/torture.c /^tag5 (handler, arg)$/ -tag5 c-src/dostorture.c /^tag5 (handler, arg)$/ -tag6 c-src/torture.c /^tag6 (void (*handler) (void *), void *arg)$/ -tag6 c-src/dostorture.c /^tag6 (void (*handler) (void *), void *arg)$/ -tag_or_ch c-src/emacs/src/lisp.h 3026 -taggedfname c-src/etags.c 207 -tags make-src/Makefile /^tags: TAGS$/ -tags-add-tables el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-add-tables 'ask-user$/ -tags-apropos el-src/emacs/lisp/progmodes/etags.el /^(defun tags-apropos (regexp)$/ -tags-apropos-additional-actions el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-apropos-additional-actions nil$/ -tags-apropos-function el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-apropos-function nil$/ -tags-apropos-verbose el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-apropos-verbose nil$/ -tags-case-fold-search el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-case-fold-search 'default$/ -tags-complete-tags-table-file el-src/emacs/lisp/progmodes/etags.el /^(defun tags-complete-tags-table-file (string predi/ -tags-completion-at-point-function el-src/emacs/lisp/progmodes/etags.el /^(defun tags-completion-at-point-function ()$/ -tags-completion-table el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-completion-table nil$/ -tags-completion-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-completion-table ()$/ -tags-completion-table-function el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-completion-table-function nil$/ -tags-compression-info-list el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-compression-info-list$/ -tags-expand-table-name el-src/emacs/lisp/progmodes/etags.el /^(defun tags-expand-table-name (file)$/ -tags-file-name el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-file-name nil$/ -tags-included-tables el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-included-tables nil$/ -tags-included-tables el-src/emacs/lisp/progmodes/etags.el /^(defun tags-included-tables ()$/ -tags-included-tables-function el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-included-tables-function nil$/ -tags-lazy-completion-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-lazy-completion-table ()$/ -tags-location-ring el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-location-ring (make-ring xref-marker-/ -tags-loop-continue el-src/emacs/lisp/progmodes/etags.el /^(defun tags-loop-continue (&optional first-time)$/ -tags-loop-eval el-src/emacs/lisp/progmodes/etags.el /^(defun tags-loop-eval (form)$/ -tags-loop-operate el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-loop-operate nil$/ -tags-loop-revert-buffers el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-loop-revert-buffers nil$/ -tags-loop-scan el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-loop-scan$/ -tags-next-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-next-table ()$/ -tags-query-replace el-src/emacs/lisp/progmodes/etags.el /^(defun tags-query-replace (from to &optional delim/ -tags-recognize-empty-tags-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-recognize-empty-tags-table ()$/ -tags-reset-tags-tables el-src/emacs/lisp/progmodes/etags.el /^(defun tags-reset-tags-tables ()$/ -tags-revert-without-query el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-revert-without-query nil$/ -tags-search el-src/emacs/lisp/progmodes/etags.el /^(defun tags-search (regexp &optional file-list-for/ -tags-select-tags-table el-src/emacs/lisp/progmodes/etags.el /^(define-button-type 'tags-select-tags-table$/ -tags-table-check-computed-list el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-check-computed-list ()$/ -tags-table-computed-list el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-computed-list nil$/ -tags-table-computed-list-for el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-computed-list-for nil$/ -tags-table-extend-computed-list el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-extend-computed-list ()$/ -tags-table-files el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-files nil$/ -tags-table-files el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-files ()$/ -tags-table-files-function el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-files-function nil$/ -tags-table-format-functions el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-format-functions '(etags-recogn/ -tags-table-including el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-including (this-file core-only)$/ -tags-table-list el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-table-list nil$/ -tags-table-list-member el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-list-member (file list)$/ -tags-table-list-pointer el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-list-pointer nil$/ -tags-table-list-started-at el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-list-started-at nil$/ -tags-table-mode el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-mode ()$/ -tags-table-set-list el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-set-list nil$/ -tags-tag-face el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-tag-face 'default$/ -tags-verify-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-verify-table (file)$/ -tags-with-face el-src/emacs/lisp/progmodes/etags.el /^(defmacro tags-with-face (face &rest body)$/ -target_multibyte c-src/emacs/src/regex.h 407 -tcpdump html-src/software.html /^tcpdump$/ -teats cp-src/c.C 127 -tee ruby-src/test1.ru /^ attr_accessor :tee$/ -tee= ruby-src/test1.ru /^ attr_accessor :tee$/ -temporarily_switch_to_single_kboard c-src/emacs/src/keyboard.c /^temporarily_switch_to_single_kboard (struct frame / -tend c-src/etags.c 2432 -term merc-src/accumulator.m /^:- import_module term.$/ -terminate objc-src/Subprocess.m /^- terminate:sender$/ -terminateInput objc-src/Subprocess.m /^- terminateInput$/ -test c-src/emacs/src/lisp.h 1871 -test cp-src/c.C 86 -test erl-src/gs_dialog.erl /^test() ->$/ -test go-src/test1.go /^func test(p plus) {$/ -test make-src/Makefile /^test:$/ -test php-src/ptest.php /^test $/ -test-begin scm-src/test.scm /^(define-syntax test-begin$/ -test.me22b lua-src/test.lua /^ local function test.me22b (one)$/ -test.me_22a lua-src/test.lua /^ function test.me_22a(one, two)$/ -test1 rs-src/test.rs /^fn test1() {$/ -test_undefined c-src/emacs/src/keyboard.c /^test_undefined (Lisp_Object binding)$/ -texttreelist prol-src/natded.prolog /^texttreelist([]).$/ -there-is-a-=-in-the-middle! scm-src/test.scm /^(define (there-is-a-=-in-the-middle!) #t)$/ -this c-src/a/b/b.c 1 -this-command-keys c-src/emacs/src/keyboard.c /^DEFUN ("this-command-keys", Fthis_command_keys, St/ -this-command-keys-vector c-src/emacs/src/keyboard.c /^DEFUN ("this-command-keys-vector", Fthis_command_k/ -this-single-command-keys c-src/emacs/src/keyboard.c /^DEFUN ("this-single-command-keys", Fthis_single_co/ -this-single-command-raw-keys c-src/emacs/src/keyboard.c /^DEFUN ("this-single-command-raw-keys", Fthis_singl/ -this_command_key_count c-src/emacs/src/keyboard.c 108 -this_command_key_count_reset c-src/emacs/src/keyboard.c 112 -this_command_keys c-src/emacs/src/keyboard.c 107 -this_file_toc perl-src/htlmify-cystic 29 -this_single_command_key_start c-src/emacs/src/keyboard.c 125 -tignore c-src/etags.c 2433 -timer_check c-src/emacs/src/keyboard.c /^timer_check (void)$/ -timer_check_2 c-src/emacs/src/keyboard.c /^timer_check_2 (Lisp_Object timers, Lisp_Object idl/ -timer_idleness_start_time c-src/emacs/src/keyboard.c 335 -timer_last_idleness_start_time c-src/emacs/src/keyboard.c 340 -timer_resume_idle c-src/emacs/src/keyboard.c /^timer_resume_idle (void)$/ -timer_start_idle c-src/emacs/src/keyboard.c /^timer_start_idle (void)$/ -timer_stop_idle c-src/emacs/src/keyboard.c /^timer_stop_idle (void)$/ -timers_run c-src/emacs/src/keyboard.c 320 -tinbody c-src/etags.c 2431 -tkeyseen c-src/etags.c 2429 -tnone c-src/etags.c 2428 -toc_line perl-src/htlmify-cystic /^sub toc_line ($)$/ -toggleDescription objc-src/PackInsp.m /^-toggleDescription$/ -tok c-src/etags.c 2491 -token c-src/etags.c 2508 -token y-src/cccp.y 437 -token y-src/cccp.y 439 -tokenize prol-src/natded.prolog /^tokenize([C1,C2,C3|Cs],Xs-Ys,TsResult):- % spe/ -tokenizeatom prol-src/natded.prolog /^tokenizeatom(Atom,Ws):-$/ -tokentab2 y-src/cccp.y 442 -tool_bar_item_properties c-src/emacs/src/keyboard.c 7970 -tool_bar_items c-src/emacs/src/keyboard.c /^tool_bar_items (Lisp_Object reuse, int *nitems)$/ -tool_bar_items_vector c-src/emacs/src/keyboard.c 7965 -toolkit_menubar_in_use c-src/emacs/src/keyboard.c /^toolkit_menubar_in_use (struct frame *f)$/ -top-level c-src/emacs/src/keyboard.c /^DEFUN ("top-level", Ftop_level, Stop_level, 0, 0, / -top_level merc-src/accumulator.m /^:- type top_level$/ -top_level_1 c-src/emacs/src/keyboard.c /^top_level_1 (Lisp_Object ignore)$/ -top_level_2 c-src/emacs/src/keyboard.c /^top_level_2 (void)$/ -total_keys c-src/emacs/src/keyboard.c 97 -total_size_of_entries c-src/etags.c /^total_size_of_entries (register node *np)$/ -total_surrounding cp-src/conway.cpp /^int site::total_surrounding(void)$/ -totally_unblock_input c-src/emacs/src/keyboard.c /^totally_unblock_input (void)$/ -tpcmd c-src/h.h 8 -tpcmd c-src/h.h 15 -track-mouse c-src/emacs/src/keyboard.c /^DEFUN ("internal--track-mouse", Ftrack_mouse, Stra/ -tracking_off c-src/emacs/src/keyboard.c /^tracking_off (Lisp_Object old_value)$/ -traffic_light cp-src/conway.cpp /^void traffic_light(int x, int y)$/ -translate c-src/emacs/src/regex.h 361 -treats cp-src/c.C 131 -tt prol-src/natded.prolog /^tt:-$/ -tt=cmtt10 tex-src/texinfo.tex /^\\font\\deftt=cmtt10 scaled \\magstep1$/ -tty_read_avail_input c-src/emacs/src/keyboard.c /^tty_read_avail_input (struct terminal *terminal,$/ -ttypeseen c-src/etags.c 2430 -typdef c-src/etags.c 2434 -type c-src/etags.c 2271 -type c-src/emacs/src/gmalloc.c 145 -type c-src/emacs/src/lisp.h 1973 -type c-src/emacs/src/lisp.h 1980 -type c-src/emacs/src/lisp.h 2034 -type c-src/emacs/src/lisp.h 2112 -type c-src/emacs/src/lisp.h 2203 -type c-src/emacs/src/lisp.h 2276 -type c-src/emacs/src/lisp.h 2286 -type c-src/emacs/src/lisp.h 2296 -type c-src/emacs/src/lisp.h 2304 -type c-src/emacs/src/lisp.h 2364 -type c-src/emacs/src/lisp.h 3025 -typefunargs tex-src/texinfo.tex /^\\deftypefunargs {#3}\\endgroup %$/ -typefunargs tex-src/texinfo.tex /^\\deftypefunargs {#4}\\endgroup %$/ -typemargin tex-src/texinfo.tex /^\\newskip\\deftypemargin \\deftypemargin=12pt$/ -typemargin tex-src/texinfo.tex /^\\rlap{\\rightline{{\\rm #2}\\hskip \\deftypemargin}}}%/ -u c-src/emacs/src/lisp.h 2397 -u_any c-src/emacs/src/lisp.h 2214 -u_boolfwd c-src/emacs/src/lisp.h 2371 -u_buffer_objfwd c-src/emacs/src/lisp.h 2373 -u_finalizer c-src/emacs/src/lisp.h 2219 -u_free c-src/emacs/src/lisp.h 2215 -u_intfwd c-src/emacs/src/lisp.h 2370 -u_kboard_objfwd c-src/emacs/src/lisp.h 2374 -u_marker c-src/emacs/src/lisp.h 2216 -u_objfwd c-src/emacs/src/lisp.h 2372 -u_overlay c-src/emacs/src/lisp.h 2217 -u_save_value c-src/emacs/src/lisp.h 2218 -unargs tex-src/texinfo.tex /^\\defunargs {#2}\\endgroup %$/ -unargs tex-src/texinfo.tex /^\\defunargs {#2}\\endgroup %$/ -unargs tex-src/texinfo.tex /^\\defunargs {#2}\\endgroup %$/ -unargs tex-src/texinfo.tex /^\\defunargs {#3}\\endgroup %$/ -unargs tex-src/texinfo.tex /^\\defunargs {#3}\\endgroup %$/ -unblock_input c-src/emacs/src/keyboard.c /^unblock_input (void)$/ -unblock_input_to c-src/emacs/src/keyboard.c /^unblock_input_to (int level)$/ -unchar c-src/h.h 99 -unexpand-abbrev c-src/abbrev.c /^DEFUN ("unexpand-abbrev", Funexpand_abbrev, Sunexp/ -univ merc-src/accumulator.m /^:- import_module univ.$/ -unravel_univ merc-src/accumulator.m /^:- some [T] pred unravel_univ(univ::in, T::out) is/ -unread_switch_frame c-src/emacs/src/keyboard.c 204 -unsignedp y-src/cccp.y 112 -unwind c-src/emacs/src/lisp.h 2962 -unwind_int c-src/emacs/src/lisp.h 2972 -unwind_ptr c-src/emacs/src/lisp.h 2967 -unwind_void c-src/emacs/src/lisp.h 2976 -update_accumulator_pred merc-src/accumulator.m /^:- pred update_accumulator_pred(pred_id::in, proc_/ -uprintmax_t c-src/emacs/src/lisp.h 149 -uprintmax_t c-src/emacs/src/lisp.h 154 -usage perl-src/yagrip.pl /^sub usage {$/ -usecharno c-src/etags.c 210 -used c-src/emacs/src/regex.h 347 -used_syntax c-src/emacs/src/regex.h 398 -user_cmp_function c-src/emacs/src/lisp.h 1814 -user_error c-src/emacs/src/keyboard.c /^user_error (const char *msg)$/ -user_hash_function c-src/emacs/src/lisp.h 1811 -user_signal_info c-src/emacs/src/keyboard.c 7235 -user_signals c-src/emacs/src/keyboard.c 7250 -usfreelock_ptr/t ada-src/etags-test-for.ada /^ type usfreelock_ptr is access$/ -val c-src/getopt.h 84 -val c-src/emacs/src/lisp.h 691 -val c-src/emacs/src/lisp.h 3027 -val prol-src/natded.prolog /^val(X) --> ['['], valseq(X), [']'].$/ -valcell c-src/emacs/src/lisp.h 2357 -valid c-src/etags.c 220 -valid c-src/etags.c 2502 -validate php-src/lce_functions.php /^ function validate($value)$/ -validate php-src/lce_functions.php /^ function validate($value)$/ -valloc c-src/emacs/src/gmalloc.c /^valloc (size_t size)$/ -valseq prol-src/natded.prolog /^valseq([Val|Vals]) --> val(Val), plusvalseq(Vals)./ -value c-src/emacs/src/lisp.h 687 -value y-src/cccp.y 112 -var c-src/emacs/src/keyboard.c 11023 -var c-src/emacs/src/lisp.h 3137 -varargs tex-src/texinfo.tex /^\\defvarargs {#3}\\endgroup %$/ -varargs tex-src/texinfo.tex /^\\defvarargs {#3}\\endgroup %$/ -varargs tex-src/texinfo.tex /^\\defvarargs {#2}\\endgroup %$/ -varargs tex-src/texinfo.tex /^\\defvarargs {#2}\\endgroup %$/ -varset merc-src/accumulator.m /^:- import_module varset.$/ -vcopy c-src/emacs/src/lisp.h /^vcopy (Lisp_Object v, ptrdiff_t offset, Lisp_Objec/ -vectorlike_header c-src/emacs/src/lisp.h 1343 -verde cp-src/c.C 40 -verify-tags-table-function el-src/emacs/lisp/progmodes/etags.el /^(defvar verify-tags-table-function nil$/ -verify_ascii c-src/emacs/src/lisp.h /^# define verify_ascii(str) (str)$/ -vignore c-src/etags.c 2417 -visit-tags-table el-src/emacs/lisp/progmodes/etags.el /^(defun visit-tags-table (file &optional local)$/ -visit-tags-table-buffer el-src/emacs/lisp/progmodes/etags.el /^(defun visit-tags-table-buffer (&optional cont)$/ -void c-src/emacs/src/lisp.h /^INLINE void (check_cons_list) (void) { lisp_h_chec/ -voidfuncptr c-src/emacs/src/lisp.h 2108 -voidval y-src/cccp.y 115 -wait_status_ptr_t c.c 161 -waiting_for_input c-src/emacs/src/keyboard.c 150 -warning y-src/cccp.y /^warning (msg)$/ -weak c-src/emacs/src/lisp.h 1830 -weak_alias c-src/emacs/src/gmalloc.c /^weak_alias (free, cfree)$/ -web ftp publish make-src/Makefile /^web ftp publish:$/ -what c-src/etags.c 252 -wheel_syms c-src/emacs/src/keyboard.c 4628 -where c-src/emacs/src/lisp.h 2348 -where c-src/emacs/src/lisp.h 2980 -where cp-src/clheir.hpp 77 -where_in_registry cp-src/clheir.hpp 15 -windowWillClose objcpp-src/SimpleCalc.M /^- windowWillClose:sender$/ -wipe_kboard c-src/emacs/src/keyboard.c /^wipe_kboard (KBOARD *kb)$/ -womboid c-src/h.h 63 -womboid c-src/h.h 75 -word_size c-src/emacs/src/lisp.h 1473 -write php-src/lce_functions.php /^ function write()$/ -write php-src/lce_functions.php /^ function write($save="yes")$/ -write1= ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :writ/ -write2= ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :writ/ -write_abbrev c-src/abbrev.c /^write_abbrev (sym, stream)$/ -write_classname c-src/etags.c /^write_classname (linebuffer *cn, const char *quali/ -write_lex prol-src/natded.prolog /^write_lex(File):-$/ -write_lex_cat prol-src/natded.prolog /^write_lex_cat(File):-$/ -write_xyc cp-src/screen.cpp /^void write_xyc(int x, int y, char c)$/ -writebreak prol-src/natded.prolog /^writebreak([]).$/ -writebreaklex prol-src/natded.prolog /^writebreaklex([]).$/ -writecat prol-src/natded.prolog /^writecat(np(ind(sng),nm(_)),np,[],[]):-!.$/ -writelist prol-src/natded.prolog /^writelist([der(Ws)|Ws2]):-$/ -writelistsubs prol-src/natded.prolog /^writelistsubs([],X):-$/ -writenamestring pas-src/common.pas /^procedure writenamestring;(*($/ -writesubs prol-src/natded.prolog /^writesubs([]).$/ -writesups prol-src/natded.prolog /^writesups([]).$/ -written c-src/etags.c 211 -x c.c 153 -x c.c 179 -x c.c 188 -x c.c 189 -x cp-src/c.C 53 -x cp-src/c.C 80 -x cp-src/conway.hpp 7 -x cp-src/clheir.hpp 49 -x cp-src/clheir.hpp 58 -x cp-src/fail.C 10 -x cp-src/fail.C 44 -x tex-src/texinfo.tex /^\\refx{#1-snt}{} [\\printednodename], page\\tie\\refx{/ -x-get-selection-internal c.c /^DEFUN ("x-get-selection-internal", Fx_get_selectio/ -x-get-selection-internal c.c /^ Fx_get_selection_internal, Sx_get_selection/ -xcar_addr c-src/emacs/src/lisp.h /^xcar_addr (Lisp_Object c)$/ -xcdr_addr c-src/emacs/src/lisp.h /^xcdr_addr (Lisp_Object c)$/ -xdiff make-src/Makefile /^xdiff: ETAGS EXTAGS ${infiles}$/ -xmalloc c-src/etags.c /^xmalloc (size_t size)$/ -xnew c-src/etags.c /^#define xnew(n, Type) ((Type *) xmalloc ((n) / -xrealloc c-src/etags.c /^xrealloc (void *ptr, size_t size)$/ -xref-etags-location el-src/emacs/lisp/progmodes/etags.el /^(defclass xref-etags-location (xref-location)$/ -xref-location-line el-src/emacs/lisp/progmodes/etags.el /^(cl-defmethod xref-location-line ((l xref-etags-lo/ -xref-location-marker el-src/emacs/lisp/progmodes/etags.el /^(cl-defmethod xref-location-marker ((l xref-etags-/ -xref-make-etags-location el-src/emacs/lisp/progmodes/etags.el /^(defun xref-make-etags-location (tag-info file)$/ -xrnew c-src/etags.c /^#define xrnew(op, n, Type) ((op) = (Type *) xreall/ -xx make-src/Makefile /^xx="this line is here because of a fontlock bug$/ -xyz ruby-src/test1.ru /^ alias_method :xyz,$/ -y cp-src/conway.hpp 7 -y cp-src/clheir.hpp 49 -y cp-src/clheir.hpp 58 -y-get-selection-internal c.c /^ Fy_get_selection_internal, Sy_get_selection_/ -yyalloc /usr/share/bison/bison.simple 83 -yyalloc /usr/share/bison/bison.simple 84 -yyclearin /usr/share/bison/bison.simple 149 -yyclearin /usr/share/bison/bison.simple 150 -yydebug /usr/share/bison/bison.simple 237 -yydebug /usr/share/bison/bison.simple 238 -yyerrhandle /usr/share/bison/bison.simple 848 -yyerrlab1 /usr/share/bison/bison.simple 823 -yyerrok /usr/share/bison/bison.simple 148 -yyerrok /usr/share/bison/bison.simple 149 -yyerror y-src/cccp.y /^yyerror (s)$/ -yyerrstatus /usr/share/bison/bison.simple 846 -yylex y-src/cccp.y /^yylex ()$/ -yyls /usr/share/bison/bison.simple 88 -yyls /usr/share/bison/bison.simple 89 -yylsp /usr/share/bison/bison.simple 748 -yylsp /usr/share/bison/bison.simple 921 -yymemcpy /usr/share/bison/bison.simple 264 -yymemcpy /usr/share/bison/bison.simple /^yymemcpy (char *yyto, const char *yyfrom, YYSIZE_T/ -yymemcpy /usr/share/bison/bison.simple 265 -yymemcpy /usr/share/bison/bison.simple /^yymemcpy (char *yyto, const char *yyfrom, YYSIZE_T/ -yyn /usr/share/bison/bison.simple 755 -yyn /usr/share/bison/bison.simple 861 -yyn /usr/share/bison/bison.simple 895 -yyn /usr/share/bison/bison.simple 903 -yynewstate /usr/share/bison/bison.simple 763 -yynewstate /usr/share/bison/bison.simple 925 -yyparse /usr/share/bison/bison.simple /^yyparse (YYPARSE_PARAM_ARG)$/ -yyparse /usr/share/bison/bison.simple /^yyparse (YYPARSE_PARAM_ARG)$/ -yyresult /usr/share/bison/bison.simple 932 -yyresult /usr/share/bison/bison.simple 939 -yyresult /usr/share/bison/bison.simple 947 -yyreturn /usr/share/bison/bison.simple 933 -yyreturn /usr/share/bison/bison.simple 940 -yyss /usr/share/bison/bison.simple 85 -yyss /usr/share/bison/bison.simple 86 -yystate /usr/share/bison/bison.simple 757 -yystate /usr/share/bison/bison.simple 761 -yystate /usr/share/bison/bison.simple 875 -yystate /usr/share/bison/bison.simple 924 -yystpcpy /usr/share/bison/bison.simple 316 -yystpcpy /usr/share/bison/bison.simple /^yystpcpy (char *yydest, const char *yysrc)$/ -yystpcpy /usr/share/bison/bison.simple 317 -yystpcpy /usr/share/bison/bison.simple /^yystpcpy (char *yydest, const char *yysrc)$/ -yystrlen /usr/share/bison/bison.simple 293 -yystrlen /usr/share/bison/bison.simple /^yystrlen (const char *yystr)$/ -yystrlen /usr/share/bison/bison.simple 294 -yystrlen /usr/share/bison/bison.simple /^yystrlen (const char *yystr)$/ -yyvs /usr/share/bison/bison.simple 86 -yyvs /usr/share/bison/bison.simple 87 -yyvsp /usr/share/bison/bison.simple 746 -yyvsp /usr/share/bison/bison.simple 919 -z c.c 144 -z c.c 164 -z cp-src/clheir.hpp 49 -z cp-src/clheir.hpp 58 -| tex-src/texinfo.tex /^\\def|{{\\tt \\char '174}}$/ -~ tex-src/texinfo.tex /^\\def~{{\\tt \\char '176}}$/ -~A cp-src/c.C /^A::~A() {}$/ -~B cp-src/c.C /^ ~B() {};$/ -~MDiagArray2 cp-src/MDiagArray2.h /^ ~MDiagArray2 (void) { }$/ -~generic_object cp-src/clheir.cpp /^generic_object::~generic_object(void)$/ diff --git a/test/manual/etags/CTAGS.good_crlf b/test/manual/etags/CTAGS.good_crlf deleted file mode 100644 index 3d64fa63c7a..00000000000 --- a/test/manual/etags/CTAGS.good_crlf +++ /dev/null @@ -1,4484 +0,0 @@ -#a-defer-word forth-src/test-forth.fth /^defer #a-defer-word$/ -#some-storage forth-src/test-forth.fth /^2000 buffer: #some-storage$/ -$0x80 c-src/sysdep.h 32 -$SYS_##syscall_na c-src/sysdep.h 31 -$domain php-src/lce_functions.php 175 -$filename php-src/lce_functions.php 174 -$ignore_ws php-src/lce_functions.php 171 -$memassign php-src/ptest.php 9 -$memassign_space php-src/ptest.php 10 -$member php-src/ptest.php 8 -$msgid php-src/lce_functions.php 107 -$msgid php-src/lce_functions.php 165 -$msgid_lc php-src/lce_functions.php 113 -$msgstr php-src/lce_functions.php 108 -$msgstr php-src/lce_functions.php 166 -$msgstr_lc php-src/lce_functions.php 114 -$po_entries php-src/lce_functions.php 172 -$poe_num php-src/lce_functions.php 173 -$por_a php-src/lce_functions.php 500 -$prefix php-src/lce_functions.php 72 -$state php-src/lce_functions.php 170 -$sys_comment php-src/lce_functions.php 110 -$sys_comment php-src/lce_functions.php 168 -$sys_comment_lc php-src/lce_functions.php 116 -$test php-src/ptest.php 12 -$unk_comment php-src/lce_functions.php 111 -$unk_comment php-src/lce_functions.php 169 -$unk_comment_lc php-src/lce_functions.php 117 -$user_comment php-src/lce_functions.php 109 -$user_comment php-src/lce_functions.php 167 -$user_comment_lc php-src/lce_functions.php 115 -${CHECKOBJS} make-src/Makefile /^${CHECKOBJS}: CFLAGS=-g3 -DNULLFREECHECK=0$/ -%cdiff make-src/Makefile /^%cdiff: CTAGS% CTAGS ${infiles}$/ -%ediff make-src/Makefile /^%ediff: ETAGS% ETAGS ${infiles}$/ -($_,$flag,$opt,$f,$r,@temp perl-src/yagrip.pl 8 -($prog,$_,@list perl-src/yagrip.pl 39 -($string,$flag,@string,@temp,@last perl-src/yagrip.pl 40 -(a-forth-constant forth-src/test-forth.fth /^constant (a-forth-constant$/ -(another-forth-word) forth-src/test-forth.fth /^: (another-forth-word) ( -- )$/ -(foo) forth-src/test-forth.fth /^: (foo) 1 ;$/ -+ ruby-src/test.rb /^ def +(y)$/ -+ tex-src/texinfo.tex /^\\def+{{\\tt \\char 43}}$/ -.PRECIOUS make-src/Makefile /^.PRECIOUS: ETAGS CTAGS ETAGS16 CTAGS16 ETAGS17 CTA/ -/.notdef ps-src/rfc1245.ps /^\/.notdef \/.notdef \/.notdef \/.notdef \/.notdef \/.not/ -/.notdef ps-src/rfc1245.ps /^\/.notdef \/.notdef \/.notdef \/.notdef \/space \/exclam/ -/A ps-src/rfc1245.ps /^\/A { $/ -/Acircumflex ps-src/rfc1245.ps /^\/Acircumflex \/Ecircumflex \/Aacute \/Edieresis \/Egra/ -/B ps-src/rfc1245.ps /^\/B { $/ -/BEGINBITMAP2BIT ps-src/rfc1245.ps /^\/BEGINBITMAP2BIT { $/ -/BEGINBITMAP2BITc ps-src/rfc1245.ps /^\/BEGINBITMAP2BITc { $/ -/BEGINBITMAPBW ps-src/rfc1245.ps /^\/BEGINBITMAPBW { $/ -/BEGINBITMAPBWc ps-src/rfc1245.ps /^\/BEGINBITMAPBWc { $/ -/BEGINBITMAPGRAY ps-src/rfc1245.ps /^\/BEGINBITMAPGRAY { $/ -/BEGINBITMAPGRAYc ps-src/rfc1245.ps /^\/BEGINBITMAPGRAYc { $/ -/BEGINPRINTCODE ps-src/rfc1245.ps /^\/BEGINPRINTCODE { $/ -/BF ps-src/rfc1245.ps /^\/BF { $/ -/BITMAPCOLOR ps-src/rfc1245.ps /^\/BITMAPCOLOR { $/ -/BITMAPCOLORc ps-src/rfc1245.ps /^\/BITMAPCOLORc { $/ -/BITMAPGRAY ps-src/rfc1245.ps /^\/BITMAPGRAY { $/ -/BITMAPGRAYc ps-src/rfc1245.ps /^\/BITMAPGRAYc { $/ -/C ps-src/rfc1245.ps /^\/C { $/ -/COMMONBITMAP ps-src/rfc1245.ps /^\/COMMONBITMAP { $/ -/COMMONBITMAPc ps-src/rfc1245.ps /^\/COMMONBITMAPc { $/ -/D ps-src/rfc1245.ps /^\/D {curveto} bind def$/ -/DiacriticEncoding ps-src/rfc1245.ps /^\/DiacriticEncoding [$/ -/E ps-src/rfc1245.ps /^\/E {lineto} bind def$/ -/ENDBITMAP ps-src/rfc1245.ps /^\/ENDBITMAP {$/ -/ENDPRINTCODE ps-src/rfc1245.ps /^\/ENDPRINTCODE {$/ -/F ps-src/rfc1245.ps /^\/F { $/ -/FMBEGINEPSF ps-src/rfc1245.ps /^\/FMBEGINEPSF { $/ -/FMBEGINPAGE ps-src/rfc1245.ps /^\/FMBEGINPAGE { $/ -/FMDEFINEFONT ps-src/rfc1245.ps /^\/FMDEFINEFONT { $/ -/FMDOCUMENT ps-src/rfc1245.ps /^\/FMDOCUMENT { $/ -/FMENDEPSF ps-src/rfc1245.ps /^\/FMENDEPSF {$/ -/FMENDPAGE ps-src/rfc1245.ps /^\/FMENDPAGE {$/ -/FMLOCAL ps-src/rfc1245.ps /^\/FMLOCAL {$/ -/FMNORMALIZEGRAPHICS ps-src/rfc1245.ps /^\/FMNORMALIZEGRAPHICS { $/ -/FMVERSION ps-src/rfc1245.ps /^\/FMVERSION {$/ -/FMversion ps-src/rfc1245.ps /^\/FMversion (2.0) def $/ -/Fmcc ps-src/rfc1245.ps /^\/Fmcc {$/ -/FrameDict ps-src/rfc1245.ps /^\/FrameDict 190 dict def $/ -/G ps-src/rfc1245.ps /^\/G { $/ -/H ps-src/rfc1245.ps /^\/H { $/ -/Icircumflex ps-src/rfc1245.ps /^\/Icircumflex \/Idieresis \/Igrave \/Oacute \/Ocircumfl/ -/L ps-src/rfc1245.ps /^\/L \/M \/N \/O \/P \/Q \/R \/S \/T \/U \/V \/W \/X \/Y \/Z \/brac/ -/L ps-src/rfc1245.ps /^\/L { $/ -/M ps-src/rfc1245.ps /^\/M {newpath moveto} bind def$/ -/N ps-src/rfc1245.ps /^\/N { $/ -/Ntilde ps-src/rfc1245.ps /^\/Ntilde \/Odieresis \/Udieresis \/aacute \/agrave \/aci/ -/O ps-src/rfc1245.ps /^\/O {closepath} bind def$/ -/Otilde ps-src/rfc1245.ps /^\/Otilde \/OE \/oe \/endash \/emdash \/quotedblleft \/quo/ -/P ps-src/rfc1245.ps /^\/P { $/ -/PF ps-src/rfc1245.ps /^\/PF { $/ -/R ps-src/rfc1245.ps /^\/R { $/ -/RF ps-src/rfc1245.ps /^\/RF { $/ -/RR ps-src/rfc1245.ps /^\/RR { $/ -/ReEncode ps-src/rfc1245.ps /^\/ReEncode { $/ -/S ps-src/rfc1245.ps /^\/S { $/ -/SF ps-src/rfc1245.ps /^\/SF { $/ -/T ps-src/rfc1245.ps /^\/T { $/ -/TF ps-src/rfc1245.ps /^\/TF { $/ -/U ps-src/rfc1245.ps /^\/U { $/ -/Uacute ps-src/rfc1245.ps /^\/Uacute \/Ucircumflex \/Ugrave \/dotlessi \/circumflex/ -/V ps-src/rfc1245.ps /^\/V { $/ -/W ps-src/rfc1245.ps /^\/W { $/ -/X ps-src/rfc1245.ps /^\/X { $/ -/Y ps-src/rfc1245.ps /^\/Y { $/ -/Z ps-src/rfc1245.ps /^\/Z {$/ -/atilde ps-src/rfc1245.ps /^\/atilde \/aring \/ccedilla \/eacute \/egrave \/ecircumf/ -/bl ps-src/rfc1245.ps /^\/bl { $/ -/braceright ps-src/rfc1245.ps /^\/braceright \/asciitilde \/.notdef \/Adieresis \/Aring/ -/bracketright ps-src/rfc1245.ps /^\/bracketright \/asciicircum \/underscore \/grave \/a \// -/breve ps-src/rfc1245.ps /^\/breve \/dotaccent \/ring \/cedilla \/hungarumlaut \/og/ -/cfs ps-src/rfc1245.ps /^\/cfs { $/ -/colorsetup ps-src/rfc1245.ps /^\/colorsetup {$/ -/desperatepapersize ps-src/rfc1245.ps /^\/desperatepapersize {$/ -/dieresis ps-src/rfc1245.ps /^\/dieresis \/.notdef \/AE \/Oslash \/.notdef \/.notdef \// -/dmatrix ps-src/rfc1245.ps /^\/dmatrix matrix def$/ -/dnormalize ps-src/rfc1245.ps /^\/dnormalize {$/ -/dpi ps-src/rfc1245.ps /^\/dpi 72 0 dmatrix defaultmatrix dtransform$/ -/exclamdown ps-src/rfc1245.ps /^\/exclamdown \/logicalnot \/.notdef \/florin \/.notdef / -/fakecolorsetup ps-src/rfc1245.ps /^\/fakecolorsetup {$/ -/fillprocs ps-src/rfc1245.ps /^\/fillprocs 32 array def$/ -/fl ps-src/rfc1245.ps /^\/fl { $/ -/fraction ps-src/rfc1245.ps /^\/fraction \/currency \/guilsinglleft \/guilsinglright/ -/freq ps-src/rfc1245.ps /^\/freq dpi 18.75 div 8 div round dup 0 eq {pop 1} i/ -/gn ps-src/rfc1245.ps /^\/gn { $/ -/graymode ps-src/rfc1245.ps /^\/graymode true def$/ -/grayness ps-src/rfc1245.ps /^\/grayness {$/ -/guillemotleft ps-src/rfc1245.ps /^\/guillemotleft \/guillemotright \/ellipsis \/.notdef / -/home/www/pub/etags.c.gz make-src/Makefile /^\/home\/www\/pub\/etags.c.gz: etags.c$/ -/home/www/pub/software/unix/etags.tar.gz make-src/Makefile /^\/home\/www\/pub\/software\/unix\/etags.tar.gz: Makefile/ -/hx ps-src/rfc1245.ps /^\/hx { $/ -/i ps-src/rfc1245.ps /^\/i \/j \/k \/l \/m \/n \/o \/p \/q \/r \/s \/t \/u \/v \/w \/x \/y/ -/iacute ps-src/rfc1245.ps /^\/iacute \/igrave \/icircumflex \/idieresis \/ntilde \/o/ -/ic ps-src/rfc1245.ps /^\/ic [ $/ -/inch ps-src/rfc1245.ps /^\/inch {72 mul} def$/ -/ip ps-src/rfc1245.ps /^\/ip { $/ -/less ps-src/rfc1245.ps /^\/less \/equal \/greater \/question \/at \/A \/B \/C \/D \/E/ -/lnormalize ps-src/rfc1245.ps /^\/lnormalize { $/ -/manualpapersize ps-src/rfc1245.ps /^\/manualpapersize {$/ -/max ps-src/rfc1245.ps /^\/max {2 copy lt {exch} if pop} bind def$/ -/min ps-src/rfc1245.ps /^\/min {2 copy gt {exch} if pop} bind def$/ -/ms ps-src/rfc1245.ps /^\/ms { $/ -/nbluet ps-src/rfc1245.ps /^\/nbluet 256 array def$/ -/ngrayt ps-src/rfc1245.ps /^\/ngrayt 256 array def$/ -/ngreent ps-src/rfc1245.ps /^\/ngreent 256 array def$/ -/normalize ps-src/rfc1245.ps /^\/normalize {$/ -/nredt ps-src/rfc1245.ps /^\/nredt 256 array def$/ -/numbersign ps-src/rfc1245.ps /^\/numbersign \/dollar \/percent \/ampersand \/quotesing/ -/ocircumflex ps-src/rfc1245.ps /^\/ocircumflex \/odieresis \/otilde \/uacute \/ugrave \/u/ -/ordfeminine ps-src/rfc1245.ps /^\/ordfeminine \/ordmasculine \/.notdef \/ae \/oslash \/q/ -/pagedimen ps-src/rfc1245.ps /^\/pagedimen { $/ -/papersize ps-src/rfc1245.ps /^\/papersize {$/ -/paragraph ps-src/rfc1245.ps /^\/paragraph \/germandbls \/registered \/copyright \/tra/ -/parenright ps-src/rfc1245.ps /^\/parenright \/asterisk \/plus \/comma \/hyphen \/period/ -/periodcentered ps-src/rfc1245.ps /^\/periodcentered \/quotesinglbase \/quotedblbase \/per/ -/quoteleft ps-src/rfc1245.ps /^\/quoteleft \/quoteright \/.notdef \/.notdef \/ydieresi/ -/restorematrix ps-src/rfc1245.ps /^\/restorematrix {$/ -/s1 ps-src/rfc1245.ps /^\/s1 1 string def$/ -/sangle ps-src/rfc1245.ps /^\/sangle 1 0 dmatrix defaultmatrix dtransform exch / -/savematrix ps-src/rfc1245.ps /^\/savematrix {$/ -/setmanualfeed ps-src/rfc1245.ps /^\/setmanualfeed {$/ -/setpapername ps-src/rfc1245.ps /^\/setpapername { $/ -/setpattern ps-src/rfc1245.ps /^\/setpattern {$/ -/two ps-src/rfc1245.ps /^\/two \/three \/four \/five \/six \/seven \/eight \/nine \// -/udieresis ps-src/rfc1245.ps /^\/udieresis \/dagger \/.notdef \/cent \/sterling \/secti/ -/wbytes ps-src/rfc1245.ps /^\/wbytes { $/ -/wh ps-src/rfc1245.ps /^\/wh { $/ -/yen ps-src/rfc1245.ps /^\/yen \/.notdef \/.notdef \/.notdef \/.notdef \/.notdef / -2const forth-src/test-forth.fth /^3 4 2constant 2const$/ -2val forth-src/test-forth.fth /^2const 2value 2val$/ -2var forth-src/test-forth.fth /^2variable 2var$/ -:a-forth-dictionary-entry forth-src/test-forth.fth /^create :a-forth-dictionary-entry$/ -< tex-src/texinfo.tex /^\\def<{{\\tt \\less}}$/ -<< ruby-src/test.rb /^ def <<(y)$/ -<= ruby-src/test.rb /^ def <=(y)$/ -<=> ruby-src/test.rb /^ def <=>(y)$/ -= tex-src/texinfo.tex /^\\global\\def={{\\tt \\char 61}}}$/ -= tex-src/texinfo.tex /^\\global\\let\\section = \\appendixsec$/ -= tex-src/texinfo.tex /^\\global\\let\\section = \\numberedsec$/ -= tex-src/texinfo.tex /^\\global\\let\\section = \\unnumberedsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsection = \\appendixsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsection = \\numberedsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsection = \\unnumberedsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsubsection = \\appendixsubsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsubsection = \\numberedsubsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsubsection = \\unnumberedsubsubsec$/ -=/f ada-src/etags-test-for.ada /^ function "=" (L, R : System.Address) return Boo/ -== ruby-src/test.rb /^ def ==(y)$/ -=== ruby-src/test.rb /^ def ===(y)$/ -=\indexdummyfont tex-src/texinfo.tex /^\\let\\cite=\\indexdummyfont$/ -=\relax tex-src/texinfo.tex /^\\let\\appendix=\\relax$/ -=\relax tex-src/texinfo.tex /^\\let\\chapter=\\relax$/ -=\relax tex-src/texinfo.tex /^\\let\\section=\\relax$/ -=\relax tex-src/texinfo.tex /^\\let\\subsection=\\relax$/ -=\relax tex-src/texinfo.tex /^\\let\\subsubsection=\\relax$/ -=\smartitalic tex-src/texinfo.tex /^\\let\\cite=\\smartitalic$/ -=starts-with-equals! scm-src/test.scm /^(define =starts-with-equals! #t)$/ -> tex-src/texinfo.tex /^\\def>{{\\tt \\gtr}}$/ ->field1 forth-src/test-forth.fth /^ 9 field >field1$/ ->field2 forth-src/test-forth.fth /^ 5 field >field2$/ -A c.c 162 -A cp-src/c.C /^void A::A() {}$/ -A cp-src/c.C 117 -A cp-src/c.C 39 -A cp-src/c.C 56 -A cp-src/c.C 57 -A cp-src/c.C 73 -A cp-src/fail.C 23 -A cp-src/fail.C 7 -A ruby-src/test1.ru /^class A$/ -A ruby-src/test1.ru /^module A$/ -ABC ruby-src/test1.ru 11 -ADASRC make-src/Makefile /^ADASRC=etags-test-for.ada 2ataspri.adb 2ataspri.ad/ -ADDRESS c-src/emacs/src/gmalloc.c /^#define ADDRESS(B) ((void *) (((B) - 1) * BLOCKSIZ/ -ALIGNOF_STRUCT_LISP_VECTOR c-src/emacs/src/lisp.h 1378 -ALLOCATED_BEFORE_DUMPING c-src/emacs/src/gmalloc.c /^#define ALLOCATED_BEFORE_DUMPING(P) \\$/ -ALLOCATE_PSEUDOVECTOR c-src/emacs/src/lisp.h /^#define ALLOCATE_PSEUDOVECTOR(type, field, tag) / -ALLOCATE_ZEROED_PSEUDOVECTOR c-src/emacs/src/lisp.h /^#define ALLOCATE_ZEROED_PSEUDOVECTOR(type, field, / -AND y-src/cccp.c 11 -ANSIC c-src/h.h 84 -ANSIC c-src/h.h 85 -AREF c-src/emacs/src/lisp.h /^AREF (Lisp_Object array, ptrdiff_t idx)$/ -ARGS make-src/Makefile /^ARGS=- < srclist$/ -ARITH_EQUAL c-src/emacs/src/lisp.h 3498 -ARITH_GRTR c-src/emacs/src/lisp.h 3501 -ARITH_GRTR_OR_EQUAL c-src/emacs/src/lisp.h 3503 -ARITH_LESS c-src/emacs/src/lisp.h 3500 -ARITH_LESS_OR_EQUAL c-src/emacs/src/lisp.h 3502 -ARITH_NOTEQUAL c-src/emacs/src/lisp.h 3499 -ARRAYELTS c-src/emacs/src/lisp.h /^#define ARRAYELTS(arr) (sizeof (arr) \/ sizeof (arr/ -ARRAYP c-src/emacs/src/lisp.h /^ARRAYP (Lisp_Object x)$/ -ARRAY_MARK_FLAG c-src/emacs/src/lisp.h 768 -ASCII_CHAR_P c-src/emacs/src/lisp.h /^#define ASCII_CHAR_P(c) UNSIGNED_CMP (c, <, 0x80)$/ -ASET c-src/emacs/src/lisp.h /^ASET (Lisp_Object array, ptrdiff_t idx, Lisp_Objec/ -ASIZE c-src/emacs/src/lisp.h /^ASIZE (Lisp_Object array)$/ -ASRC make-src/Makefile /^ASRC=empty.zz empty.zz.gz$/ -AST_Array::AST_Array cp-src/c.C /^AST_Array::AST_Array(UTL_ScopedName *n, unsigned l/ -AST_ConcreteType::AST_ConcreteType cp-src/c.C /^AST_ConcreteType::AST_ConcreteType(AST_Decl::NodeT/ -AST_Root cp-src/c.C 92 -AT cp-src/c.C 52 -AU cp-src/c.C 53 -AUTOLOADP c-src/emacs/src/lisp.h /^AUTOLOADP (Lisp_Object x)$/ -AUTO_CONS c-src/emacs/src/lisp.h /^#define AUTO_CONS(name, a, b) Lisp_Object name = A/ -AUTO_CONS_EXPR c-src/emacs/src/lisp.h /^#define AUTO_CONS_EXPR(a, b) \\$/ -AUTO_LIST1 c-src/emacs/src/lisp.h /^#define AUTO_LIST1(name, a) \\$/ -AUTO_LIST2 c-src/emacs/src/lisp.h /^#define AUTO_LIST2(name, a, b) \\$/ -AUTO_LIST3 c-src/emacs/src/lisp.h /^#define AUTO_LIST3(name, a, b, c) \\$/ -AUTO_LIST4 c-src/emacs/src/lisp.h /^#define AUTO_LIST4(name, a, b, c, d) \\$/ -AUTO_STRING c-src/emacs/src/lisp.h /^#define AUTO_STRING(name, str) \\$/ -AVAIL_ALLOCA c-src/emacs/src/lisp.h /^#define AVAIL_ALLOCA(size) (sa_avail -= (size), al/ -Abort_Handler_Pointer/t ada-src/2ataspri.ads /^ type Abort_Handler_Pointer is access procedure / -Abort_Task/p ada-src/2ataspri.adb /^ procedure Abort_Task (T : TCB_Ptr) is$/ -Abort_Task/p ada-src/2ataspri.ads /^ procedure Abort_Task (T : TCB_Ptr);$/ -Abort_Wrapper/p ada-src/2ataspri.adb /^ procedure Abort_Wrapper$/ -Ada_funcs c-src/etags.c /^Ada_funcs (FILE *inf)$/ -Ada_getit c-src/etags.c /^Ada_getit (FILE *inf, const char *name_qualifier)$/ -Ada_help c-src/etags.c 475 -Ada_suffixes c-src/etags.c 473 -AddNullToNmStr pas-src/common.pas /^function AddNullToNmStr; (*($/ -Address_To_Call_State/f ada-src/2ataspri.adb /^ function Address_To_Call_State is new$/ -Address_To_TCB_Ptr/f ada-src/2ataspri.ads /^ function Address_To_TCB_Ptr is new$/ -Advanced usage tex-src/gzip.texi /^@node Advanced usage, Environment, Invoking gzip, / -Aligned_Cons c-src/emacs/src/lisp.h 4670 -Aligned_String c-src/emacs/src/lisp.h 4676 -AppendTextString pas-src/common.pas /^function AppendTextString;(*($/ -Arith_Comparison c-src/emacs/src/lisp.h 3497 -Asm_help c-src/etags.c 504 -Asm_labels c-src/etags.c /^Asm_labels (FILE *inf)$/ -Asm_suffixes c-src/etags.c 493 -B cp-src/c.C /^void B::B() {}$/ -B cp-src/c.C 122 -B cp-src/c.C 54 -B cp-src/c.C 56 -B cp-src/c.C 74 -B cp-src/fail.C 24 -B cp-src/fail.C 8 -B ruby-src/test1.ru /^ class B$/ -BE_Node cp-src/c.C /^void BE_Node::BE_Node() {}$/ -BE_Node cp-src/c.C 77 -BITS_PER_BITS_WORD c-src/emacs/src/lisp.h 125 -BITS_PER_BITS_WORD c-src/emacs/src/lisp.h 129 -BITS_PER_CHAR c-src/emacs/src/lisp.h 136 -BITS_PER_EMACS_INT c-src/emacs/src/lisp.h 139 -BITS_PER_LONG c-src/emacs/src/lisp.h 138 -BITS_PER_SHORT c-src/emacs/src/lisp.h 137 -BITS_WORD_MAX c-src/emacs/src/lisp.h 124 -BITS_WORD_MAX c-src/emacs/src/lisp.h 128 -BLACK cp-src/screen.hpp 12 -BLOCK c-src/emacs/src/gmalloc.c /^#define BLOCK(A) (((char *) (A) - _heapbase) \/ BLO/ -BLOCKIFY c-src/emacs/src/gmalloc.c /^#define BLOCKIFY(SIZE) (((SIZE) + BLOCKSIZE - 1) \// -BLOCKLOG c-src/emacs/src/gmalloc.c 125 -BLOCKSIZE c-src/emacs/src/gmalloc.c 126 -BLUE cp-src/screen.hpp 13 -BOOL_VECTOR_BITS_PER_CHAR c-src/emacs/src/lisp.h 114 -BOOL_VECTOR_BITS_PER_CHAR c-src/emacs/src/lisp.h 115 -BOOL_VECTOR_P c-src/emacs/src/lisp.h /^BOOL_VECTOR_P (Lisp_Object a)$/ -BROWN cp-src/screen.hpp 18 -BUFFERP c-src/emacs/src/lisp.h /^BUFFERP (Lisp_Object a)$/ -BUFFERSIZE objc-src/Subprocess.h 43 -BUFFER_OBJFWDP c-src/emacs/src/lisp.h /^BUFFER_OBJFWDP (union Lisp_Fwd *a)$/ -BYTE_MARK_STACK c-src/emacs/src/lisp.h 3181 -Bar lua-src/test.lua /^function Square.something:Bar ()$/ -Bar perl-src/kai-test.pl /^package Bar;$/ -Barrier_Function_Pointer/t ada-src/etags-test-for.ada /^ type Barrier_Function_Pointer is access$/ -Bidule/b ada-src/etags-test-for.ada /^ protected body Bidule is$/ -Bidule/b ada-src/waroquiers.ada /^ protected body Bidule is$/ -Bidule/t ada-src/etags-test-for.ada /^ protected Bidule is$/ -Bidule/t ada-src/waroquiers.ada /^ protected Bidule is$/ -Body_Required/f ada-src/etags-test-for.ada /^ function Body_Required$/ -Boo cp-src/c.C /^ Boo(int _i, int _a, int _b) : i(_i), a(_a), b(/ -Boo cp-src/c.C 129 -Boo::Boo cp-src/c.C /^Boo::Boo(Boo) :$/ -ButtonBar pyt-src/server.py /^def ButtonBar(frame, legend, ref, alternatives, co/ -C cp-src/fail.C /^ C(int i) {x = i;}$/ -C cp-src/fail.C 25 -C cp-src/fail.C 9 -CALLMANY c-src/emacs/src/lisp.h /^#define CALLMANY(f, array) (f) (ARRAYELTS (array),/ -CALLN c-src/emacs/src/lisp.h /^#define CALLN(f, ...) CALLMANY (f, ((Lisp_Object [/ -CAR c-src/emacs/src/lisp.h /^CAR (Lisp_Object c)$/ -CAR_SAFE c-src/emacs/src/lisp.h /^CAR_SAFE (Lisp_Object c)$/ -CATCHER c-src/emacs/src/lisp.h 3021 -CDR c-src/emacs/src/lisp.h /^CDR (Lisp_Object c)$/ -CDR_SAFE c-src/emacs/src/lisp.h /^CDR_SAFE (Lisp_Object c)$/ -CFLAGS make-src/Makefile /^CFLAGS=${WARNINGS} -ansi -g3 # -pg -O$/ -CHAR c-src/etags.c /^#define CHAR(x) ((unsigned int)(x) & (CHARS - 1))/ -CHAR y-src/cccp.c 7 -CHARACTERBITS c-src/emacs/src/lisp.h 2457 -CHARS c-src/etags.c 157 -CHARTAB_SIZE_BITS c-src/emacs/src/lisp.h 1565 -CHARTAB_SIZE_BITS_0 c-src/emacs/src/lisp.h 1567 -CHARTAB_SIZE_BITS_1 c-src/emacs/src/lisp.h 1568 -CHARTAB_SIZE_BITS_2 c-src/emacs/src/lisp.h 1569 -CHARTAB_SIZE_BITS_3 c-src/emacs/src/lisp.h 1570 -CHAR_ALT c-src/emacs/src/lisp.h 2445 -CHAR_BIT c-src/emacs/src/lisp.h 2957 -CHAR_BIT c-src/emacs/src/lisp.h 2959 -CHAR_BIT c-src/emacs/src/lisp.h 2964 -CHAR_BIT c-src/emacs/src/lisp.h 2969 -CHAR_BIT c-src/emacs/src/lisp.h 2974 -CHAR_BIT c-src/emacs/src/lisp.h 2978 -CHAR_BIT c-src/emacs/src/lisp.h 2983 -CHAR_CLASS_MAX_LENGTH c-src/emacs/src/regex.h 593 -CHAR_CLASS_MAX_LENGTH c-src/emacs/src/regex.h 597 -CHAR_CLASS_MAX_LENGTH c-src/emacs/src/regex.h 605 -CHAR_CTL c-src/emacs/src/lisp.h 2449 -CHAR_HYPER c-src/emacs/src/lisp.h 2447 -CHAR_META c-src/emacs/src/lisp.h 2450 -CHAR_MODIFIER_MASK c-src/emacs/src/lisp.h 2452 -CHAR_SHIFT c-src/emacs/src/lisp.h 2448 -CHAR_SUPER c-src/emacs/src/lisp.h 2446 -CHAR_TABLE_EXTRA_SLOTS c-src/emacs/src/lisp.h /^CHAR_TABLE_EXTRA_SLOTS (struct Lisp_Char_Table *ct/ -CHAR_TABLE_P c-src/emacs/src/lisp.h /^CHAR_TABLE_P (Lisp_Object a)$/ -CHAR_TABLE_REF c-src/emacs/src/lisp.h /^CHAR_TABLE_REF (Lisp_Object ct, int idx)$/ -CHAR_TABLE_REF_ASCII c-src/emacs/src/lisp.h /^CHAR_TABLE_REF_ASCII (Lisp_Object ct, ptrdiff_t id/ -CHAR_TABLE_SET c-src/emacs/src/lisp.h /^CHAR_TABLE_SET (Lisp_Object ct, int idx, Lisp_Obje/ -CHAR_TABLE_STANDARD_SLOTS c-src/emacs/src/lisp.h 1697 -CHAR_TYPE_SIZE y-src/cccp.y 87 -CHECKFLAGS make-src/Makefile /^CHECKFLAGS=-DDEBUG -Wno-unused-function$/ -CHECKOBJS make-src/Makefile /^CHECKOBJS=chkmalloc.o chkxm.o$/ -CHECK_ARRAY c-src/emacs/src/lisp.h /^CHECK_ARRAY (Lisp_Object x, Lisp_Object predicate)/ -CHECK_BOOL_VECTOR c-src/emacs/src/lisp.h /^CHECK_BOOL_VECTOR (Lisp_Object x)$/ -CHECK_BUFFER c-src/emacs/src/lisp.h /^CHECK_BUFFER (Lisp_Object x)$/ -CHECK_CONS c-src/emacs/src/lisp.h /^CHECK_CONS (Lisp_Object x)$/ -CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h 571 -CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h 572 -CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h 579 -CHECK_LIST c-src/emacs/src/lisp.h /^CHECK_LIST (Lisp_Object x)$/ -CHECK_LIST_CONS c-src/emacs/src/lisp.h /^# define CHECK_LIST_CONS(x, y) lisp_h_CHECK_LIST_C/ -CHECK_NATNUM c-src/emacs/src/lisp.h /^CHECK_NATNUM (Lisp_Object x)$/ -CHECK_NUMBER c-src/emacs/src/lisp.h /^# define CHECK_NUMBER(x) lisp_h_CHECK_NUMBER (x)$/ -CHECK_NUMBER_CAR c-src/emacs/src/lisp.h /^CHECK_NUMBER_CAR (Lisp_Object x)$/ -CHECK_NUMBER_CDR c-src/emacs/src/lisp.h /^CHECK_NUMBER_CDR (Lisp_Object x)$/ -CHECK_NUMBER_COERCE_MARKER c-src/emacs/src/lisp.h /^#define CHECK_NUMBER_COERCE_MARKER(x) \\$/ -CHECK_NUMBER_OR_FLOAT c-src/emacs/src/lisp.h /^CHECK_NUMBER_OR_FLOAT (Lisp_Object x)$/ -CHECK_NUMBER_OR_FLOAT_COERCE_MARKER c-src/emacs/src/lisp.h /^#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(x) / -CHECK_PROCESS c-src/emacs/src/lisp.h /^CHECK_PROCESS (Lisp_Object x)$/ -CHECK_RANGED_INTEGER c-src/emacs/src/lisp.h /^#define CHECK_RANGED_INTEGER(x, lo, hi) \\$/ -CHECK_STRING_CAR c-src/emacs/src/lisp.h /^CHECK_STRING_CAR (Lisp_Object x)$/ -CHECK_SYMBOL c-src/emacs/src/lisp.h /^# define CHECK_SYMBOL(x) lisp_h_CHECK_SYMBOL (x)$/ -CHECK_TYPE c-src/emacs/src/lisp.h /^# define CHECK_TYPE(ok, predicate, x) lisp_h_CHECK/ -CHECK_TYPE_RANGED_INTEGER c-src/emacs/src/lisp.h /^#define CHECK_TYPE_RANGED_INTEGER(type, x) \\$/ -CHECK_VECTOR c-src/emacs/src/lisp.h /^CHECK_VECTOR (Lisp_Object x)$/ -CHECK_VECTOR_OR_STRING c-src/emacs/src/lisp.h /^CHECK_VECTOR_OR_STRING (Lisp_Object x)$/ -CHECK_WINDOW c-src/emacs/src/lisp.h /^CHECK_WINDOW (Lisp_Object x)$/ -CK_ABS_C y-src/parse.y /^#define CK_ABS_C(x) if((x)MAX_COL)/ -CK_ABS_R y-src/parse.y /^#define CK_ABS_R(x) if((x)MAX_ROW)/ -CK_REL_C y-src/parse.y /^#define CK_REL_C(x) if( ((x)>0 && MAX_COL-(x)0 && MAX_ROW-(x)/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (const Array& a) : DiagArray2 / -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (const DiagArray2& a) : DiagArray/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (const MDiagArray2& a) : DiagArra/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (int r, int c) : DiagArray2 (r, c/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (int r, int c, const T& val) : DiagA/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (void) : DiagArray2 () { }$/ -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 > A,int>::f(A* x) {}$/ -f cp-src/c.C /^A* f() {}$/ -f cp-src/c.C /^class B { void f() {} };$/ -f cp-src/c.C /^int A::f(A* x) {}$/ -f cp-src/c.C /^int f(A 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& operator = (const MDiagArray2/ -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 cp-src/MDiagArray2.h /^ operator MArray2 () const$/ -operator int cp-src/c.C /^void operator int(int, int) {}$/ -operator int cp-src/fail.C /^ operator int() const {return x;}$/ -operator+ cp-src/c.C /^ A operator+(A& a) {};$/ -operator+ cp-src/c.C /^const A& A::operator+(const A&) { }$/ -operator+ cp-src/c.C /^void operator+(int, int) {}$/ -opparsebody\Edefop\defopx\defopheader\defoptype tex-src/texinfo.tex /^\\defopparsebody\\Edefop\\defopx\\defopheader\\defoptyp/ -oprotocol c-src/etags.c 2473 -option c-src/getopt.h 73 -optional_argument c-src/getopt.h 91 -opvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype tex-src/texinfo.tex /^\\defopvarparsebody\\Edefcv\\defcvx\\defcvarheader\\def/ -ord_add_element prol-src/ordsets.prolog /^ord_add_element([], Element, [Element]).$/ -ord_del_element prol-src/ordsets.prolog /^ord_del_element([], _, []).$/ -ord_disjoint prol-src/ordsets.prolog /^ord_disjoint(Set1, Set2) :-$/ -ord_intersect prol-src/ordsets.prolog /^ord_intersect([Head1|Tail1], [Head2|Tail2]) :-$/ -ord_intersection prol-src/ordsets.prolog /^ord_intersection(Sets, Intersection) :- $/ -ord_intersection prol-src/ordsets.prolog /^ord_intersection([], Set2, [], Set2).$/ -ord_intersection prol-src/ordsets.prolog /^ord_intersection([], _, []).$/ -ord_intersection2 prol-src/ordsets.prolog /^ord_intersection2(1, [Set|Sets], Set0, Sets0) :- !/ -ord_intersection3 prol-src/ordsets.prolog /^ord_intersection3(<, _, Set1, Head2, Tail2, Inters/ -ord_intersection4 prol-src/ordsets.prolog /^ord_intersection4(<, _, Set1, Head2, Tail2, Inters/ -ord_member prol-src/ordsets.prolog /^ord_member(X, [E|Es]) :-$/ -ord_seteq prol-src/ordsets.prolog /^ord_seteq(Set1, Set2) :-$/ -ord_setproduct prol-src/ordsets.prolog /^ord_setproduct([], _, []).$/ -ord_subset prol-src/ordsets.prolog /^ord_subset([], _).$/ -ord_subtract prol-src/ordsets.prolog /^ord_subtract(Set1, Set2, Union) :-$/ -ord_symdiff prol-src/ordsets.prolog /^ord_symdiff([], Set2, Set2).$/ -ord_union prol-src/ordsets.prolog /^ord_union(Set1, Set2, Union) :-$/ -ord_union prol-src/ordsets.prolog /^ord_union([], Union) :- !, Union = [].$/ -ord_union4 prol-src/ordsets.prolog /^ord_union4(<, Head, Set1, Head2, Tail2, [Head|Unio/ -ord_union_all prol-src/ordsets.prolog /^ord_union_all(1, [Set|Sets], Set, Sets) :- !.$/ -oss html-src/softwarelibero.html /^Il movimento open source$/ -otagseen c-src/etags.c 2475 -outputTime cp-src/c.C 9 -output_file perl-src/htlmify-cystic 35 -output_files perl-src/htlmify-cystic 32 -outputtable html-src/algrthms.html /^Output$/ -outsyn prol-src/natded.prolog /^outsyn(['Any'],_).$/ -p c-src/emacs/src/lisp.h 4673 -p c-src/emacs/src/lisp.h 4679 -p.x forth-src/test-forth.fth /^ 1 CELLS +FIELD p.x \\ A single cell filed name/ -p.y forth-src/test-forth.fth /^ 1 CELLS +FIELD p.y \\ A single cell field name/ -p/f ada-src/etags-test-for.ada /^ function p pragma Import (C,$/ -p/f ada-src/etags-test-for.ada /^function p ("p");$/ -pD c-src/emacs/src/lisp.h 165 -pD c-src/emacs/src/lisp.h 167 -pD c-src/emacs/src/lisp.h 169 -pD c-src/emacs/src/lisp.h 171 -pI c-src/emacs/src/lisp.h 106 -pI c-src/emacs/src/lisp.h 94 -pI c-src/emacs/src/lisp.h 99 -pMd c-src/emacs/src/lisp.h 150 -pMd c-src/emacs/src/lisp.h 155 -pMu c-src/emacs/src/lisp.h 151 -pMu c-src/emacs/src/lisp.h 156 -p_next c-src/etags.c 258 -pagesize c-src/emacs/src/gmalloc.c 1703 -pair merc-src/accumulator.m /^:- import_module pair.$/ -parent c-src/emacs/src/keyboard.c 8745 -parent c-src/emacs/src/lisp.h 1590 -parse prol-src/natded.prolog /^parse(Ws,Cat):-$/ -parseFromVars php-src/lce_functions.php /^ function parseFromVars($prefix)$/ -parse_c_expression y-src/cccp.y /^parse_c_expression (string)$/ -parse_cgi prol-src/natded.prolog /^parse_cgi(TokenList,KeyVals):-$/ -parse_error y-src/parse.y 82 -parse_escape y-src/cccp.y /^parse_escape (string_ptr)$/ -parse_hash y-src/parse.y 64 -parse_menu_item c-src/emacs/src/keyboard.c /^parse_menu_item (Lisp_Object item, int inmenubar)$/ -parse_modifiers c-src/emacs/src/keyboard.c /^parse_modifiers (Lisp_Object symbol)$/ -parse_modifiers_uncached c-src/emacs/src/keyboard.c /^parse_modifiers_uncached (Lisp_Object symbol, ptrd/ -parse_number y-src/cccp.y /^parse_number (olen)$/ -parse_return y-src/parse.y 74 -parse_return_error y-src/cccp.y 70 -parse_solitary_modifier c-src/emacs/src/keyboard.c /^parse_solitary_modifier (Lisp_Object symbol)$/ -parse_tool_bar_item c-src/emacs/src/keyboard.c /^parse_tool_bar_item (Lisp_Object key, Lisp_Object / -parse_tree merc-src/accumulator.m /^:- import_module parse_tree.$/ -pat c-src/etags.c 262 -pattern c-src/etags.c 260 -pdlcount c-src/emacs/src/lisp.h 3046 -pending-delete-mode el-src/TAGTEST.EL /^(defalias 'pending-delete-mode 'delete-selection-m/ -pending_funcalls c-src/emacs/src/keyboard.c 4377 -pending_signals c-src/emacs/src/keyboard.c 80 -pfatal c-src/etags.c /^pfatal (const char *s1)$/ -pfdset c-src/h.h 57 -pfnote c-src/etags.c /^pfnote (char *name, bool is_func, char *linestart,/ -pinned c-src/emacs/src/lisp.h 679 -plain_C_entries c-src/etags.c /^plain_C_entries (FILE *inf)$/ -plain_C_suffixes c-src/etags.c 643 -plainc c-src/etags.c 2934 -plist c-src/emacs/src/lisp.h 2040 -plist c-src/emacs/src/lisp.h 697 -plus cp-src/functions.cpp /^void Date::plus ( int days , int month , int year / -plus go-src/test1.go 5 -plusvalseq prol-src/natded.prolog /^plusvalseq([]) --> [].$/ -point forth-src/test-forth.fth /^BEGIN-STRUCTURE point \\ create the named structure/ -pointer c-src/emacs/src/lisp.h 2125 -poll_for_input c-src/emacs/src/keyboard.c /^poll_for_input (struct atimer *timer)$/ -poll_for_input_1 c-src/emacs/src/keyboard.c /^poll_for_input_1 (void)$/ -poll_suppress_count c-src/emacs/src/keyboard.c 1908 -poll_suppress_count c-src/emacs/src/lisp.h 3047 -poll_timer c-src/emacs/src/keyboard.c 1915 -pop-tag-mark el-src/emacs/lisp/progmodes/etags.el /^(defalias 'pop-tag-mark 'xref-pop-marker-stack)$/ -pop_kboard c-src/emacs/src/keyboard.c /^pop_kboard (void)$/ -popclass_above c-src/etags.c /^popclass_above (int bracelev)$/ -position_to_Time c-src/emacs/src/keyboard.c /^position_to_Time (ptrdiff_t pos)$/ -posix_memalign c-src/emacs/src/gmalloc.c /^posix_memalign (void **memptr, size_t alignment, s/ -posn-at-point c-src/emacs/src/keyboard.c /^DEFUN ("posn-at-point", Fposn_at_point, Sposn_at_p/ -posn-at-x-y c-src/emacs/src/keyboard.c /^DEFUN ("posn-at-x-y", Fposn_at_x_y, Sposn_at_x_y, / -possible_sum_sign y-src/cccp.y /^#define possible_sum_sign(a, b, sum) ((((a) ^ (b))/ -post pyt-src/server.py /^ def post(self):$/ -pot_etags_version c-src/etags.c 81 -pp1 c-src/dostorture.c /^int pp1($/ -pp1 c-src/torture.c /^int pp1($/ -pp2 c-src/dostorture.c /^pp2$/ -pp2 c-src/torture.c /^pp2$/ -pp3 c-src/dostorture.c /^pp3(int bar)$/ -pp3 c-src/torture.c /^pp3(int bar)$/ -pp_bas_cat prol-src/natded.prolog /^pp_bas_cat(Cat):-$/ -pp_cat prol-src/natded.prolog /^pp_cat(Syn:Sem):-$/ -pp_exp prol-src/natded.prolog /^pp_exp('NIL'):-$/ -pp_exps prol-src/natded.prolog /^pp_exps([]).$/ -pp_html_fitch_tree prol-src/natded.prolog /^pp_html_fitch_tree(tree(der,Root,[ders(Words)]),M,/ -pp_html_table_fitch_tree prol-src/natded.prolog /^pp_html_table_fitch_tree(T):-$/ -pp_html_table_tree prol-src/natded.prolog /^pp_html_table_tree(T):-$/ -pp_html_tree prol-src/natded.prolog /^pp_html_tree(ass(Syn,V,'$VAR'(N))):-$/ -pp_html_trees prol-src/natded.prolog /^pp_html_trees([T|Ts],N,M):-$/ -pp_lam prol-src/natded.prolog /^pp_lam(Var^Alpha):-$/ -pp_lam_bracket prol-src/natded.prolog /^pp_lam_bracket(A^B):-$/ -pp_lam_paren prol-src/natded.prolog /^pp_lam_paren(Var^Alpha):-$/ -pp_paren prol-src/natded.prolog /^pp_paren(C):-$/ -pp_rule prol-src/natded.prolog /^pp_rule(fe):-write('\/E').$/ -pp_syn prol-src/natded.prolog /^pp_syn(A\/B):-$/ -pp_syn_back prol-src/natded.prolog /^pp_syn_back(A\/B):-$/ -pp_syn_paren prol-src/natded.prolog /^pp_syn_paren(A\/B):-$/ -pp_tree prol-src/natded.prolog /^pp_tree(T):-$/ -pp_trees prol-src/natded.prolog /^pp_trees([T|Ts],Column):-$/ -pp_word prol-src/natded.prolog /^pp_word(W):-$/ -pp_word_list prol-src/natded.prolog /^pp_word_list([]).$/ -pp_word_list_rest prol-src/natded.prolog /^pp_word_list_rest([]).$/ -predicate c-src/emacs/src/lisp.h 2307 -prev c-src/emacs/src/gmalloc.c 165 -prev c-src/emacs/src/gmalloc.c 189 -prev c-src/emacs/src/lisp.h 2191 -prev c.c 175 -printClassification php-src/lce_functions.php /^ function printClassification()$/ -print_help c-src/etags.c /^print_help (argument *argbuffer)$/ -print_language_names c-src/etags.c /^print_language_names (void)$/ -print_version c-src/etags.c /^print_version (void)$/ -printmax_t c-src/emacs/src/lisp.h 148 -printmax_t c-src/emacs/src/lisp.h 153 -proc c-src/h.h 87 -process_file c-src/etags.c /^process_file (FILE *fh, char *fn, language *lang)$/ -process_file_name c-src/etags.c /^process_file_name (char *file, language *lang)$/ -process_pending_signals c-src/emacs/src/keyboard.c /^process_pending_signals (void)$/ -process_special_events c-src/emacs/src/keyboard.c /^process_special_events (void)$/ -process_tool_bar_item c-src/emacs/src/keyboard.c /^process_tool_bar_item (Lisp_Object key, Lisp_Objec/ -prof make-src/Makefile /^prof: ETAGS$/ -prolog_atom c-src/etags.c /^prolog_atom (char *s, size_t pos)$/ -prolog_pr c-src/etags.c /^prolog_pr (char *s, char *last)$/ -prolog_skip_comment c-src/etags.c /^prolog_skip_comment (linebuffer *plb, FILE *inf)$/ -prop c-src/etags.c 209 -protect_malloc_state c-src/emacs/src/gmalloc.c /^protect_malloc_state (int protect_p)$/ -pthread_mutexattr_setprio_ceiling/f ada-src/2ataspri.adb /^ function pthread_mutexattr_setprio_ceiling$/ -pthread_mutexattr_setprotocol/f ada-src/2ataspri.adb /^ function pthread_mutexattr_setprotocol$/ -purpose c-src/emacs/src/lisp.h 1594 -push_kboard c-src/emacs/src/keyboard.c /^push_kboard (struct kboard *k)$/ -pushclass_above c-src/etags.c /^pushclass_above (int bracelev, char *str, int len)/ -put_entries c-src/etags.c /^put_entries (register node *np)$/ -pvec_type c-src/emacs/src/lisp.h 780 -quantizing html-src/algrthms.html /^Quantizing the Received$/ -questo ../c/c.web 34 -quiettest make-src/Makefile /^quiettest:$/ -quit_char c-src/emacs/src/keyboard.c 192 -quit_throw_to_read_char c-src/emacs/src/keyboard.c /^quit_throw_to_read_char (bool from_signal)$/ -qux ruby-src/test1.ru /^ alias_method :qux, :tee, attr_accessor(:bogus)/ -qux1 ruby-src/test1.ru /^ :qux1)$/ -qux= ruby-src/test1.ru /^ def qux=(tee)$/ -r0 c-src/sysdep.h 54 -r1 c-src/sysdep.h 55 -r_alloc c-src/emacs/src/lisp.h /^extern void *r_alloc (void **, size_t) ATTRIBUTE_A/ -range_exp y-src/parse.y 269 -range_exp_list y-src/parse.y 273 -raw_keybuf c-src/emacs/src/keyboard.c 116 -raw_keybuf_count c-src/emacs/src/keyboard.c 117 -rbtp c.c 240 -re_iswctype c-src/emacs/src/regex.h 602 -re_nsub c-src/emacs/src/regex.h 364 -re_pattern_buffer c-src/emacs/src/regex.h 335 -re_pattern_buffer c-src/h.h 119 -re_registers c-src/emacs/src/regex.h 428 -re_wchar_t c-src/emacs/src/regex.h 600 -re_wchar_t c-src/emacs/src/regex.h 623 -re_wctype c-src/emacs/src/regex.h 601 -re_wctype_t c-src/emacs/src/regex.h 599 -re_wctype_t c-src/emacs/src/regex.h 618 -re_wctype_to_bit c-src/emacs/src/regex.h /^# define re_wctype_to_bit(cc) 0$/ -read cp-src/conway.hpp /^ char read() { return alive; }$/ -read php-src/lce_functions.php /^ function read()$/ -read-key-sequence c-src/emacs/src/keyboard.c /^DEFUN ("read-key-sequence", Fread_key_sequence, Sr/ -read-key-sequence-vector c-src/emacs/src/keyboard.c /^DEFUN ("read-key-sequence-vector", Fread_key_seque/ -read1 ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :writ/ -read2 ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :writ/ -read_char c-src/emacs/src/keyboard.c /^read_char (int commandflag, Lisp_Object map,$/ -read_char_help_form_unwind c-src/emacs/src/keyboard.c /^read_char_help_form_unwind (void)$/ -read_char_minibuf_menu_prompt c-src/emacs/src/keyboard.c /^read_char_minibuf_menu_prompt (int commandflag,$/ -read_char_x_menu_prompt c-src/emacs/src/keyboard.c /^read_char_x_menu_prompt (Lisp_Object map,$/ -read_decoded_event_from_main_queue c-src/emacs/src/keyboard.c /^read_decoded_event_from_main_queue (struct timespe/ -read_event_from_main_queue c-src/emacs/src/keyboard.c /^read_event_from_main_queue (struct timespec *end_t/ -read_key_sequence c-src/emacs/src/keyboard.c /^read_key_sequence (Lisp_Object *keybuf, int bufsiz/ -read_key_sequence_cmd c-src/emacs/src/keyboard.c 232 -read_key_sequence_remapped c-src/emacs/src/keyboard.c 233 -read_key_sequence_vs c-src/emacs/src/keyboard.c /^read_key_sequence_vs (Lisp_Object prompt, Lisp_Obj/ -read_menu_command c-src/emacs/src/keyboard.c /^read_menu_command (void)$/ -read_toc perl-src/htlmify-cystic /^sub read_toc ()$/ -readable_events c-src/emacs/src/keyboard.c /^readable_events (int flags)$/ -readline c-src/etags.c /^readline (linebuffer *lbp, FILE *stream)$/ -readline_internal c-src/etags.c /^readline_internal (linebuffer *lbp, register FILE / -realloc c-src/emacs/src/gmalloc.c /^realloc (void *ptr, size_t size)$/ -realloc c-src/emacs/src/gmalloc.c 1716 -realloc c-src/emacs/src/gmalloc.c 65 -realloc c-src/emacs/src/gmalloc.c 69 -reallochook c-src/emacs/src/gmalloc.c /^reallochook (void *ptr, size_t size)$/ -recent-keys c-src/emacs/src/keyboard.c /^DEFUN ("recent-keys", Frecent_keys, Srecent_keys, / -recent_keys c-src/emacs/src/keyboard.c 100 -recent_keys_index c-src/emacs/src/keyboard.c 94 -record_asynch_buffer_change c-src/emacs/src/keyboard.c /^record_asynch_buffer_change (void)$/ -record_auto_save c-src/emacs/src/keyboard.c /^record_auto_save (void)$/ -record_char c-src/emacs/src/keyboard.c /^record_char (Lisp_Object c)$/ -record_menu_key c-src/emacs/src/keyboard.c /^record_menu_key (Lisp_Object c)$/ -record_single_kboard_state c-src/emacs/src/keyboard.c /^record_single_kboard_state ()$/ -record_xmalloc c-src/emacs/src/lisp.h /^extern void *record_xmalloc (size_t) ATTRIBUTE_ALL/ -recover_top_level_message c-src/emacs/src/keyboard.c 138 -recursion-depth c-src/emacs/src/keyboard.c /^DEFUN ("recursion-depth", Frecursion_depth, Srecur/ -recursive-edit c-src/emacs/src/keyboard.c /^DEFUN ("recursive-edit", Frecursive_edit, Srecursi/ -recursive_edit_1 c-src/emacs/src/keyboard.c /^recursive_edit_1 (void)$/ -recursive_edit_unwind c-src/emacs/src/keyboard.c /^recursive_edit_unwind (Lisp_Object buffer)$/ -redirect c-src/emacs/src/lisp.h 663 -reduce prol-src/natded.prolog /^reduce((X^M)@N,L):- % beta reduction$/ -reduce_subterm prol-src/natded.prolog /^reduce_subterm(M,M2):-$/ -refreshPort pyt-src/server.py /^ def refreshPort(self):$/ -reg_errcode_t c-src/emacs/src/regex.h 323 -reg_errcode_t c.c 279 -reg_syntax_t c-src/emacs/src/regex.h 43 -regex c-src/etags.c 219 -regex.o make-src/Makefile /^regex.o: emacs\/src\/regex.c$/ -regex_t c-src/emacs/src/regex.h 416 -regex_tag_multiline c-src/etags.c /^regex_tag_multiline (void)$/ -regexfile make-src/Makefile /^regexfile: Makefile$/ -regexp c-src/etags.c 256 -regexp c-src/etags.c 268 -registerAction objcpp-src/SimpleCalc.M /^- registerAction:(SEL)action$/ -register_heapinfo c-src/emacs/src/gmalloc.c /^register_heapinfo (void)$/ -regmatch_t c-src/emacs/src/regex.h 451 -regoff_t c-src/emacs/src/regex.h 423 -regs c-src/etags.c 263 -regs cp-src/screen.cpp 16 -regs_allocated c-src/emacs/src/regex.h 379 -regset c-src/h.h 31 -regular_top_level_message c-src/emacs/src/keyboard.c 143 -rehash_size c-src/emacs/src/lisp.h 1835 -rehash_threshold c-src/emacs/src/lisp.h 1839 -relative_filename c-src/etags.c /^relative_filename (char *file, char *dir)$/ -release distrib make-src/Makefile /^release distrib: web$/ -removeexp prol-src/natded.prolog /^removeexp(E,E,'NIL'):-!.$/ -reorder_modifiers c-src/emacs/src/keyboard.c /^reorder_modifiers (Lisp_Object symbol)$/ -request c.c /^request request (a, b)$/ -requeued_events_pending_p c-src/emacs/src/keyboard.c /^requeued_events_pending_p (void)$/ -require merc-src/accumulator.m /^:- import_module require.$/ -required_argument c-src/getopt.h 90 -reset-this-command-lengths c-src/emacs/src/keyboard.c /^DEFUN ("reset-this-command-lengths", Freset_this_c/ -restore_getcjmp c-src/emacs/src/keyboard.c /^restore_getcjmp (sys_jmp_buf temp)$/ -restore_kboard_configuration c-src/emacs/src/keyboard.c /^restore_kboard_configuration (int was_locked)$/ -return_to_command_loop c-src/emacs/src/keyboard.c 135 -reverse prol-src/natded.prolog /^reverse([],Ws,Ws).$/ -revert objc-src/PackInsp.m /^-revert:sender$/ -right c-src/etags.c 216 -right_shift y-src/cccp.y /^right_shift (a, b)$/ -ring1 c.c 241 -ring2 c.c 242 -rm_eo c-src/emacs/src/regex.h 450 -rm_so c-src/emacs/src/regex.h 449 -rng_base cp-src/Range.h 79 -rng_inc cp-src/Range.h 81 -rng_limit cp-src/Range.h 80 -rng_nelem cp-src/Range.h 83 -rosso cp-src/c.C 40 -rsyncfromfly make-src/Makefile /^rsyncfromfly:$/ -rsynctofly make-src/Makefile /^rsynctofly:$/ -rtint c-src/h.h 60 -rtint c-src/h.h 68 -rtstr c-src/h.h 61 -rtstr c-src/h.h 69 -rtunion_def c-src/h.h 58 -rtunion_def c-src/h.h 64 -rtx c-src/h.h 62 -rtxnp c-src/h.h 71 -rtxp c-src/h.h 70 -s c-src/emacs/src/lisp.h 4672 -s c-src/emacs/src/lisp.h 4678 -s1 cp-src/c.C 32 -s2 cp-src/c.C 35 -safe_run_hook_funcall c-src/emacs/src/keyboard.c /^safe_run_hook_funcall (ptrdiff_t nargs, Lisp_Objec/ -safe_run_hooks c-src/emacs/src/keyboard.c /^safe_run_hooks (Lisp_Object hook)$/ -safe_run_hooks_1 c-src/emacs/src/keyboard.c /^safe_run_hooks_1 (ptrdiff_t nargs, Lisp_Object *ar/ -safe_run_hooks_error c-src/emacs/src/keyboard.c /^safe_run_hooks_error (Lisp_Object error, ptrdiff_t/ -save pyt-src/server.py /^ def save(self):$/ -save_getcjmp c-src/emacs/src/keyboard.c /^save_getcjmp (sys_jmp_buf temp)$/ -save_type c-src/emacs/src/lisp.h /^save_type (struct Lisp_Save_Value *v, int n)$/ -savenstr c-src/etags.c /^savenstr (const char *cp, int len)$/ -savestr c-src/etags.c /^savestr (const char *cp)$/ -say go-src/test.go /^func say(msg string) {$/ -scan_separators c-src/etags.c /^scan_separators (char *name)$/ -scolonseen c-src/etags.c 2447 -scratch c-src/sysdep.h 56 -scroll_bar_parts c-src/emacs/src/keyboard.c 5189 -sec=\relax tex-src/texinfo.tex /^\\let\\appendixsec=\\relax$/ -section perl-src/htlmify-cystic 25 -section=\relax tex-src/texinfo.tex /^\\let\\appendixsection=\\relax$/ -section_href perl-src/htlmify-cystic /^sub section_href ($)$/ -section_name perl-src/htlmify-cystic /^sub section_name ($)$/ -section_name perl-src/htlmify-cystic 12 -section_toc perl-src/htlmify-cystic 15 -section_url perl-src/htlmify-cystic /^sub section_url ()$/ -section_url_base perl-src/htlmify-cystic /^sub section_url_base ()$/ -section_url_name perl-src/htlmify-cystic /^sub section_url_name ()$/ -select prol-src/natded.prolog /^select(X,[X|Xs],Xs).$/ -select-tags-table el-src/emacs/lisp/progmodes/etags.el /^(defun select-tags-table ()$/ -select-tags-table-mode el-src/emacs/lisp/progmodes/etags.el /^(define-derived-mode select-tags-table-mode specia/ -select-tags-table-mode-map el-src/emacs/lisp/progmodes/etags.el /^(defvar select-tags-table-mode-map ; Doc string?$/ -select-tags-table-quit el-src/emacs/lisp/progmodes/etags.el /^(defun select-tags-table-quit ()$/ -select-tags-table-select el-src/emacs/lisp/progmodes/etags.el /^(defun select-tags-table-select (button)$/ -select_last prol-src/natded.prolog /^select_last([X],X,[]).$/ -send objc-src/Subprocess.m /^- send:(const char *)string withNewline:(BOOL)want/ -send objc-src/Subprocess.m /^- send:(const char *)string$/ -separator_names c-src/emacs/src/keyboard.c 7372 -serializeToVars php-src/lce_functions.php /^ function serializeToVars($prefix)$/ -set cp-src/conway.hpp /^ void set(void) { alive = 1; }$/ -set merc-src/accumulator.m /^:- import_module set.$/ -set-input-interrupt-mode c-src/emacs/src/keyboard.c /^DEFUN ("set-input-interrupt-mode", Fset_input_inte/ -set-input-meta-mode c-src/emacs/src/keyboard.c /^DEFUN ("set-input-meta-mode", Fset_input_meta_mode/ -set-input-mode c-src/emacs/src/keyboard.c /^DEFUN ("set-input-mode", Fset_input_mode, Sset_inp/ -set-output-flow-control c-src/emacs/src/keyboard.c /^DEFUN ("set-output-flow-control", Fset_output_flow/ -set-quit-char c-src/emacs/src/keyboard.c /^DEFUN ("set-quit-char", Fset_quit_char, Sset_quit_/ -setDate cp-src/functions.cpp /^void Date::setDate ( int d , int m , int y ){$/ -setDelegate objc-src/Subprocess.m /^- setDelegate:anObject$/ -setRevertButtonTitle objc-src/PackInsp.m /^-setRevertButtonTitle$/ -set_base cp-src/Range.h /^ void set_base (double b) { rng_base = b; }$/ -set_char_table_contents c-src/emacs/src/lisp.h /^set_char_table_contents (Lisp_Object table, ptrdif/ -set_char_table_defalt c-src/emacs/src/lisp.h /^set_char_table_defalt (Lisp_Object table, Lisp_Obj/ -set_char_table_extras c-src/emacs/src/lisp.h /^set_char_table_extras (Lisp_Object table, ptrdiff_/ -set_char_table_purpose c-src/emacs/src/lisp.h /^set_char_table_purpose (Lisp_Object table, Lisp_Ob/ -set_hash_key_slot c-src/emacs/src/lisp.h /^set_hash_key_slot (struct Lisp_Hash_Table *h, ptrd/ -set_hash_value_slot c-src/emacs/src/lisp.h /^set_hash_value_slot (struct Lisp_Hash_Table *h, pt/ -set_inc cp-src/Range.h /^ void set_inc (double i) { rng_inc = i; }$/ -set_limit cp-src/Range.h /^ void set_limit (double l) { rng_limit = l; }$/ -set_overlay_plist c-src/emacs/src/lisp.h /^set_overlay_plist (Lisp_Object overlay, Lisp_Objec/ -set_poll_suppress_count c-src/emacs/src/keyboard.c /^set_poll_suppress_count (int count)$/ -set_prop c-src/emacs/src/keyboard.c /^set_prop (ptrdiff_t idx, Lisp_Object val)$/ -set_save_integer c-src/emacs/src/lisp.h /^set_save_integer (Lisp_Object obj, int n, ptrdiff_/ -set_save_pointer c-src/emacs/src/lisp.h /^set_save_pointer (Lisp_Object obj, int n, void *va/ -set_string_intervals c-src/emacs/src/lisp.h /^set_string_intervals (Lisp_Object s, INTERVAL i)$/ -set_sub_char_table_contents c-src/emacs/src/lisp.h /^set_sub_char_table_contents (Lisp_Object table, pt/ -set_symbol_function c-src/emacs/src/lisp.h /^set_symbol_function (Lisp_Object sym, Lisp_Object / -set_symbol_next c-src/emacs/src/lisp.h /^set_symbol_next (Lisp_Object sym, struct Lisp_Symb/ -set_symbol_plist c-src/emacs/src/lisp.h /^set_symbol_plist (Lisp_Object sym, Lisp_Object pli/ -set_upto merc-src/accumulator.m /^:- func set_upto(accu_case, int) = set(accu_goal_i/ -set_waiting_for_input c-src/emacs/src/keyboard.c /^set_waiting_for_input (struct timespec *time_to_cl/ -setref tex-src/texinfo.tex /^\\expandafter\\expandafter\\expandafter\\appendixsetre/ -setup cp-src/c.C 5 -shift cp-src/functions.cpp /^void Date::shift ( void ){\/\/Shift this date to pre/ -shouldLoad objc-src/PackInsp.m /^-(BOOL)shouldLoad$/ -should_attempt_accu_transform merc-src/accumulator.m /^:- pred should_attempt_accu_transform(module_info:/ -should_attempt_accu_transform_2 merc-src/accumulator.m /^:- pred should_attempt_accu_transform_2(module_inf/ -should_see_this_array_type cp-src/c.C 156 -should_see_this_function_pointer cp-src/c.C 153 -should_see_this_one_enclosed_in_extern_C cp-src/c.C 149 -show erl-src/gs_dialog.erl /^show(Module, Title, Message, Args) ->$/ -showError objc-src/Subprocess.m /^showError (const char *errorString, id theDelegate/ -showInfo objc-src/PackInsp.m /^-showInfo:sender$/ -show_help_echo c-src/emacs/src/keyboard.c /^show_help_echo (Lisp_Object help, Lisp_Object wind/ -sig c-src/emacs/src/keyboard.c 7238 -signal_handler c-src/h.h 82 -signal_handler1 c-src/h.h 83 -signal_handler_t c-src/h.h 94 -simulation html-src/software.html /^Software that I wrote for supporting my research a/ -single_kboard c-src/emacs/src/keyboard.c 89 -single_kboard_state c-src/emacs/src/keyboard.c /^single_kboard_state ()$/ -site cp-src/conway.hpp /^ site(int xi, int yi): x(xi), y(yi), alive(0) {/ -site cp-src/conway.hpp 5 -size c-src/emacs/src/gmalloc.c 156 -size c-src/emacs/src/gmalloc.c 163 -size c-src/emacs/src/gmalloc.c 1862 -size c-src/emacs/src/lisp.h 1364 -size c-src/emacs/src/lisp.h 1390 -size c-src/etags.c 236 -size c-src/etags.c 2522 -skeyseen c-src/etags.c 2445 -skip_name c-src/etags.c /^skip_name (char *cp)$/ -skip_non_spaces c-src/etags.c /^skip_non_spaces (char *cp)$/ -skip_spaces c-src/etags.c /^skip_spaces (char *cp)$/ -snarf-tag-function el-src/emacs/lisp/progmodes/etags.el /^(defvar snarf-tag-function nil$/ -snone c-src/etags.c 2443 -solutions merc-src/accumulator.m /^:- import_module solutions.$/ -some_mouse_moved c-src/emacs/src/keyboard.c /^some_mouse_moved (void)$/ -space tex-src/texinfo.tex /^ {#2\\labelspace #1}\\dotfill\\doshortpageno{#3}}%/ -space tex-src/texinfo.tex /^ \\dosubsubsecentry{#2.#3.#4.#5\\labelspace#1}{#6}}/ -spacer c-src/emacs/src/lisp.h 1975 -spacer c-src/emacs/src/lisp.h 1982 -spacer c-src/emacs/src/lisp.h 2036 -spacer c-src/emacs/src/lisp.h 2205 -specbind_tag c-src/emacs/src/lisp.h 2943 -specbinding c-src/emacs/src/lisp.h 2955 -specialsymbol prol-src/natded.prolog /^specialsymbol(C1,C2,S):-$/ -splitexp prol-src/natded.prolog /^splitexp(E,E,('NIL','NIL')):-!.$/ -srclist make-src/Makefile /^srclist: Makefile$/ -ss3 c.c 255 -sss1 c.c 252 -sss2 c.c 253 -sstab prol-src/natded.prolog /^sstab(2,'C',',').$/ -st_C_attribute c-src/etags.c 2209 -st_C_class c-src/etags.c 2212 -st_C_define c-src/etags.c 2213 -st_C_enum c-src/etags.c 2213 -st_C_extern c-src/etags.c 2213 -st_C_gnumacro c-src/etags.c 2208 -st_C_ignore c-src/etags.c 2209 -st_C_javastruct c-src/etags.c 2210 -st_C_objend c-src/etags.c 2207 -st_C_objimpl c-src/etags.c 2207 -st_C_objprot c-src/etags.c 2207 -st_C_operator c-src/etags.c 2211 -st_C_struct c-src/etags.c 2213 -st_C_template c-src/etags.c 2212 -st_C_typedef c-src/etags.c 2213 -st_none c-src/etags.c 2206 -stack c.c 155 -stagseen c-src/etags.c 2446 -standalone make-src/Makefile /^standalone:$/ -start c-src/emacs/src/keyboard.c 8753 -start c-src/emacs/src/lisp.h 2038 -start c-src/emacs/src/regex.h 431 -start php-src/lce_functions.php /^ function start($line, $class)$/ -start y-src/cccp.y 143 -start_polling c-src/emacs/src/keyboard.c /^start_polling (void)$/ -start_up prol-src/natded.prolog /^start_up:-$/ -state_protected_p c-src/emacs/src/gmalloc.c 400 -statetable html-src/algrthms.html /^Next$/ -staticetags make-src/Makefile /^staticetags:$/ -step cp-src/clheir.hpp /^ virtual void step(void) { }$/ -step cp-src/conway.hpp /^ void step(void) { alive = next_alive; }$/ -step_everybody cp-src/clheir.cpp /^void step_everybody(void)$/ -stop_polling c-src/emacs/src/keyboard.c /^stop_polling (void)$/ -store_info merc-src/accumulator.m /^:- type store_info$/ -store_user_signal_events c-src/emacs/src/keyboard.c /^store_user_signal_events (void)$/ -stored_goal_plain_call merc-src/accumulator.m /^:- inst stored_goal_plain_call for goal_store.stor/ -str go-src/test1.go 9 -strcaseeq c-src/etags.c /^#define strcaseeq(s,t) (assert ((s)!=NULL && (t)!=/ -streq c-src/etags.c /^#define streq(s,t) (assert ((s)!=NULL || (t)!=NULL/ -string merc-src/accumulator.m /^:- import_module string.$/ -string_intervals c-src/emacs/src/lisp.h /^string_intervals (Lisp_Object s)$/ -stripLine php-src/lce_functions.php /^ function stripLine($line, $class)$/ -stripname pas-src/common.pas /^function stripname; (* ($/ -strncaseeq c-src/etags.c /^#define strncaseeq(s,t,n) (assert ((s)!=NULL && (t/ -strneq c-src/etags.c /^#define strneq(s,t,n) (assert ((s)!=NULL || (t)!=N/ -structdef c-src/etags.c 2448 -stuff_buffered_input c-src/emacs/src/keyboard.c /^stuff_buffered_input (Lisp_Object stuffstring)$/ -subprocess objc-src/PackInsp.m /^-subprocess:(Subprocess *)sender output:(char *)bu/ -subprocessDone objc-src/PackInsp.m /^-subprocessDone:(Subprocess *)sender$/ -subsec=\relax tex-src/texinfo.tex /^\\let\\appendixsubsec=\\relax$/ -subsection perl-src/htlmify-cystic 26 -subsection=\relax tex-src/texinfo.tex /^\\let\\appendixsubsection=\\relax$/ -subsection_marker perl-src/htlmify-cystic 161 -subst prol-src/natded.prolog /^subst(var(Y),var(X),M,N):-$/ -substitute c-src/etags.c /^substitute (char *in, char *out, struct re_registe/ -subsubsec=\relax tex-src/texinfo.tex /^\\let\\appendixsubsubsec=\\relax$/ -subsubsection perl-src/htlmify-cystic 27 -subsubsection=\relax tex-src/texinfo.tex /^\\let\\appendixsubsubsection=\\relax$/ -subtle ruby-src/test1.ru /^ :tee ; attr_reader :subtle$/ -subtree prol-src/natded.prolog /^subtree(T,T).$/ -suffix c-src/etags.c 186 -suffixes c-src/etags.c 195 -suggest_asking_for_help c-src/etags.c /^suggest_asking_for_help (void)$/ -suspend-emacs c-src/emacs/src/keyboard.c /^DEFUN ("suspend-emacs", Fsuspend_emacs, Ssuspend_e/ -sval y-src/cccp.y 116 -swallow_events c-src/emacs/src/keyboard.c /^swallow_events (bool do_display)$/ -switch_line_buffers c-src/etags.c /^#define switch_line_buffers() (curndx = 1 - curndx/ -sxhash_combine c-src/emacs/src/lisp.h /^sxhash_combine (EMACS_UINT x, EMACS_UINT y)$/ -sym_type c-src/etags.c 2204 -symbol c-src/emacs/src/lisp.h 2980 -symbol_interned c-src/emacs/src/lisp.h 639 -symbol_name c-src/emacs/src/lisp.h 1687 -symbol_redirect c-src/emacs/src/lisp.h 646 -syms_of_abbrev c-src/abbrev.c /^syms_of_abbrev ()$/ -syms_of_keyboard c-src/emacs/src/keyboard.c /^syms_of_keyboard (void)$/ -synchronize_system_messages_locale c-src/emacs/src/lisp.h /^INLINE void synchronize_system_messages_locale (vo/ -synchronize_system_time_locale c-src/emacs/src/lisp.h /^INLINE void synchronize_system_time_locale (void) / -syntax c-src/emacs/src/regex.h 350 -sys_jmp_buf c-src/emacs/src/lisp.h 2906 -sys_jmp_buf c-src/emacs/src/lisp.h 2910 -sys_jmp_buf c-src/emacs/src/lisp.h 2916 -sys_longjmp c-src/emacs/src/lisp.h /^# define sys_longjmp(j, v) _longjmp (j, v)$/ -sys_longjmp c-src/emacs/src/lisp.h /^# define sys_longjmp(j, v) longjmp (j, v)$/ -sys_longjmp c-src/emacs/src/lisp.h /^# define sys_longjmp(j, v) siglongjmp (j, v)$/ -sys_setjmp c-src/emacs/src/lisp.h /^# define sys_setjmp(j) _setjmp (j)$/ -sys_setjmp c-src/emacs/src/lisp.h /^# define sys_setjmp(j) setjmp (j)$/ -sys_setjmp c-src/emacs/src/lisp.h /^# define sys_setjmp(j) sigsetjmp (j, 0)$/ -syscall_error c-src/sysdep.h 34 -t cp-src/c.C 52 -t1 cp-src/c.C 34 -t2 cp-src/c.C 38 -tab_count_words c-src/tab.c /^int tab_count_words(char **tab)$/ -tab_delete_first c-src/tab.c /^int tab_delete_first(char **tab)$/ -tab_fill c-src/tab.c /^char **tab_fill(char *str, char delim)$/ -tab_free c-src/tab.c /^void tab_free(char **tab)$/ -tag-any-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-any-match-p (_tag)$/ -tag-exact-file-name-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-exact-file-name-match-p (tag)$/ -tag-exact-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-exact-match-p (tag)$/ -tag-file-name-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-file-name-match-p (tag)$/ -tag-find-file-of-tag el-src/emacs/lisp/progmodes/etags.el /^(defun tag-find-file-of-tag (file) ; Doc string?$/ -tag-find-file-of-tag-noselect el-src/emacs/lisp/progmodes/etags.el /^(defun tag-find-file-of-tag-noselect (file)$/ -tag-implicit-name-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-implicit-name-match-p (tag)$/ -tag-lines-already-matched el-src/emacs/lisp/progmodes/etags.el /^(defvar tag-lines-already-matched nil$/ -tag-partial-file-name-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-partial-file-name-match-p (_tag)$/ -tag-re-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-re-match-p (re)$/ -tag-symbol-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-symbol-match-p (tag)$/ -tag-word-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-word-match-p (tag)$/ -tag1 c-src/dostorture.c /^(*tag1 (sig, handler)) ()$/ -tag1 c-src/h.h 110 -tag1 c-src/torture.c /^(*tag1 (sig, handler)) ()$/ -tag2 c-src/dostorture.c /^(*tag2 (sig, handler)) ()$/ -tag2 c-src/torture.c /^(*tag2 (sig, handler)) ()$/ -tag3 c-src/dostorture.c /^(*tag3 (int sig, void (*handler) (int))) (int)$/ -tag3 c-src/torture.c /^(*tag3 (int sig, void (*handler) (int))) (int)$/ -tag4 c-src/dostorture.c /^(*tag4 (int sig, void (*handler) (int))) (int)$/ -tag4 c-src/torture.c /^(*tag4 (int sig, void (*handler) (int))) (int)$/ -tag5 c-src/dostorture.c /^tag5 (handler, arg)$/ -tag5 c-src/torture.c /^tag5 (handler, arg)$/ -tag6 c-src/dostorture.c /^tag6 (void (*handler) (void *), void *arg)$/ -tag6 c-src/torture.c /^tag6 (void (*handler) (void *), void *arg)$/ -tag_or_ch c-src/emacs/src/lisp.h 3026 -taggedfname c-src/etags.c 207 -tags make-src/Makefile /^tags: TAGS$/ -tags-add-tables el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-add-tables 'ask-user$/ -tags-apropos el-src/emacs/lisp/progmodes/etags.el /^(defun tags-apropos (regexp)$/ -tags-apropos-additional-actions el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-apropos-additional-actions nil$/ -tags-apropos-function el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-apropos-function nil$/ -tags-apropos-verbose el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-apropos-verbose nil$/ -tags-case-fold-search el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-case-fold-search 'default$/ -tags-complete-tags-table-file el-src/emacs/lisp/progmodes/etags.el /^(defun tags-complete-tags-table-file (string predi/ -tags-completion-at-point-function el-src/emacs/lisp/progmodes/etags.el /^(defun tags-completion-at-point-function ()$/ -tags-completion-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-completion-table ()$/ -tags-completion-table el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-completion-table nil$/ -tags-completion-table-function el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-completion-table-function nil$/ -tags-compression-info-list el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-compression-info-list$/ -tags-expand-table-name el-src/emacs/lisp/progmodes/etags.el /^(defun tags-expand-table-name (file)$/ -tags-file-name el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-file-name nil$/ -tags-included-tables el-src/emacs/lisp/progmodes/etags.el /^(defun tags-included-tables ()$/ -tags-included-tables el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-included-tables nil$/ -tags-included-tables-function el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-included-tables-function nil$/ -tags-lazy-completion-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-lazy-completion-table ()$/ -tags-location-ring el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-location-ring (make-ring xref-marker-/ -tags-loop-continue el-src/emacs/lisp/progmodes/etags.el /^(defun tags-loop-continue (&optional first-time)$/ -tags-loop-eval el-src/emacs/lisp/progmodes/etags.el /^(defun tags-loop-eval (form)$/ -tags-loop-operate el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-loop-operate nil$/ -tags-loop-revert-buffers el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-loop-revert-buffers nil$/ -tags-loop-scan el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-loop-scan$/ -tags-next-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-next-table ()$/ -tags-query-replace el-src/emacs/lisp/progmodes/etags.el /^(defun tags-query-replace (from to &optional delim/ -tags-recognize-empty-tags-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-recognize-empty-tags-table ()$/ -tags-reset-tags-tables el-src/emacs/lisp/progmodes/etags.el /^(defun tags-reset-tags-tables ()$/ -tags-revert-without-query el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-revert-without-query nil$/ -tags-search el-src/emacs/lisp/progmodes/etags.el /^(defun tags-search (regexp &optional file-list-for/ -tags-select-tags-table el-src/emacs/lisp/progmodes/etags.el /^(define-button-type 'tags-select-tags-table$/ -tags-table-check-computed-list el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-check-computed-list ()$/ -tags-table-computed-list el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-computed-list nil$/ -tags-table-computed-list-for el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-computed-list-for nil$/ -tags-table-extend-computed-list el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-extend-computed-list ()$/ -tags-table-files el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-files ()$/ -tags-table-files el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-files nil$/ -tags-table-files-function el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-files-function nil$/ -tags-table-format-functions el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-format-functions '(etags-recogn/ -tags-table-including el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-including (this-file core-only)$/ -tags-table-list el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-table-list nil$/ -tags-table-list-member el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-list-member (file list)$/ -tags-table-list-pointer el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-list-pointer nil$/ -tags-table-list-started-at el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-list-started-at nil$/ -tags-table-mode el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-mode ()$/ -tags-table-set-list el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-set-list nil$/ -tags-tag-face el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-tag-face 'default$/ -tags-verify-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-verify-table (file)$/ -tags-with-face el-src/emacs/lisp/progmodes/etags.el /^(defmacro tags-with-face (face &rest body)$/ -target_multibyte c-src/emacs/src/regex.h 407 -tcpdump html-src/software.html /^tcpdump$/ -teats cp-src/c.C 127 -tee ruby-src/test1.ru /^ attr_accessor :tee$/ -tee= ruby-src/test1.ru /^ attr_accessor :tee$/ -temporarily_switch_to_single_kboard c-src/emacs/src/keyboard.c /^temporarily_switch_to_single_kboard (struct frame / -tend c-src/etags.c 2432 -term merc-src/accumulator.m /^:- import_module term.$/ -terminate objc-src/Subprocess.m /^- terminate:sender$/ -terminateInput objc-src/Subprocess.m /^- terminateInput$/ -test c-src/emacs/src/lisp.h 1871 -test cp-src/c.C 86 -test erl-src/gs_dialog.erl /^test() ->$/ -test go-src/test1.go /^func test(p plus) {$/ -test make-src/Makefile /^test:$/ -test php-src/ptest.php /^test $/ -test-begin scm-src/test.scm /^(define-syntax test-begin$/ -test.me22b lua-src/test.lua /^ local function test.me22b (one)$/ -test.me_22a lua-src/test.lua /^ function test.me_22a(one, two)$/ -test1 rs-src/test.rs /^fn test1() {$/ -test_crlf1 test_crlf.c /^void test_crlf1()$/ -test_crlf2 tset_crlf.c /^void test_crlf2()$/ -test_undefined c-src/emacs/src/keyboard.c /^test_undefined (Lisp_Object binding)$/ -texttreelist prol-src/natded.prolog /^texttreelist([]).$/ -there-is-a-=-in-the-middle! scm-src/test.scm /^(define (there-is-a-=-in-the-middle!) #t)$/ -this c-src/a/b/b.c 1 -this-command-keys c-src/emacs/src/keyboard.c /^DEFUN ("this-command-keys", Fthis_command_keys, St/ -this-command-keys-vector c-src/emacs/src/keyboard.c /^DEFUN ("this-command-keys-vector", Fthis_command_k/ -this-single-command-keys c-src/emacs/src/keyboard.c /^DEFUN ("this-single-command-keys", Fthis_single_co/ -this-single-command-raw-keys c-src/emacs/src/keyboard.c /^DEFUN ("this-single-command-raw-keys", Fthis_singl/ -this_command_key_count c-src/emacs/src/keyboard.c 108 -this_command_key_count_reset c-src/emacs/src/keyboard.c 112 -this_command_keys c-src/emacs/src/keyboard.c 107 -this_file_toc perl-src/htlmify-cystic 29 -this_single_command_key_start c-src/emacs/src/keyboard.c 125 -tignore c-src/etags.c 2433 -timer_check c-src/emacs/src/keyboard.c /^timer_check (void)$/ -timer_check_2 c-src/emacs/src/keyboard.c /^timer_check_2 (Lisp_Object timers, Lisp_Object idl/ -timer_idleness_start_time c-src/emacs/src/keyboard.c 335 -timer_last_idleness_start_time c-src/emacs/src/keyboard.c 340 -timer_resume_idle c-src/emacs/src/keyboard.c /^timer_resume_idle (void)$/ -timer_start_idle c-src/emacs/src/keyboard.c /^timer_start_idle (void)$/ -timer_stop_idle c-src/emacs/src/keyboard.c /^timer_stop_idle (void)$/ -timers_run c-src/emacs/src/keyboard.c 320 -tinbody c-src/etags.c 2431 -tkeyseen c-src/etags.c 2429 -tnone c-src/etags.c 2428 -toc_line perl-src/htlmify-cystic /^sub toc_line ($)$/ -toggleDescription objc-src/PackInsp.m /^-toggleDescription$/ -tok c-src/etags.c 2491 -token c-src/etags.c 2508 -token y-src/cccp.y 437 -token y-src/cccp.y 439 -tokenize prol-src/natded.prolog /^tokenize([C1,C2,C3|Cs],Xs-Ys,TsResult):- % spe/ -tokenizeatom prol-src/natded.prolog /^tokenizeatom(Atom,Ws):-$/ -tokentab2 y-src/cccp.y 442 -tool_bar_item_properties c-src/emacs/src/keyboard.c 7970 -tool_bar_items c-src/emacs/src/keyboard.c /^tool_bar_items (Lisp_Object reuse, int *nitems)$/ -tool_bar_items_vector c-src/emacs/src/keyboard.c 7965 -toolkit_menubar_in_use c-src/emacs/src/keyboard.c /^toolkit_menubar_in_use (struct frame *f)$/ -top-level c-src/emacs/src/keyboard.c /^DEFUN ("top-level", Ftop_level, Stop_level, 0, 0, / -top_level merc-src/accumulator.m /^:- type top_level$/ -top_level_1 c-src/emacs/src/keyboard.c /^top_level_1 (Lisp_Object ignore)$/ -top_level_2 c-src/emacs/src/keyboard.c /^top_level_2 (void)$/ -total_keys c-src/emacs/src/keyboard.c 97 -total_size_of_entries c-src/etags.c /^total_size_of_entries (register node *np)$/ -total_surrounding cp-src/conway.cpp /^int site::total_surrounding(void)$/ -totally_unblock_input c-src/emacs/src/keyboard.c /^totally_unblock_input (void)$/ -tpcmd c-src/h.h 15 -tpcmd c-src/h.h 8 -track-mouse c-src/emacs/src/keyboard.c /^DEFUN ("internal--track-mouse", Ftrack_mouse, Stra/ -tracking_off c-src/emacs/src/keyboard.c /^tracking_off (Lisp_Object old_value)$/ -traffic_light cp-src/conway.cpp /^void traffic_light(int x, int y)$/ -translate c-src/emacs/src/regex.h 361 -treats cp-src/c.C 131 -tt prol-src/natded.prolog /^tt:-$/ -tt=cmtt10 tex-src/texinfo.tex /^\\font\\deftt=cmtt10 scaled \\magstep1$/ -tty_read_avail_input c-src/emacs/src/keyboard.c /^tty_read_avail_input (struct terminal *terminal,$/ -ttypeseen c-src/etags.c 2430 -typdef c-src/etags.c 2434 -type c-src/emacs/src/gmalloc.c 145 -type c-src/emacs/src/lisp.h 1973 -type c-src/emacs/src/lisp.h 1980 -type c-src/emacs/src/lisp.h 2034 -type c-src/emacs/src/lisp.h 2112 -type c-src/emacs/src/lisp.h 2203 -type c-src/emacs/src/lisp.h 2276 -type c-src/emacs/src/lisp.h 2286 -type c-src/emacs/src/lisp.h 2296 -type c-src/emacs/src/lisp.h 2304 -type c-src/emacs/src/lisp.h 2364 -type c-src/emacs/src/lisp.h 3025 -type c-src/etags.c 2271 -typefunargs tex-src/texinfo.tex /^\\deftypefunargs {#3}\\endgroup %$/ -typefunargs tex-src/texinfo.tex /^\\deftypefunargs {#4}\\endgroup %$/ -typemargin tex-src/texinfo.tex /^\\newskip\\deftypemargin \\deftypemargin=12pt$/ -typemargin tex-src/texinfo.tex /^\\rlap{\\rightline{{\\rm #2}\\hskip \\deftypemargin}}}%/ -u c-src/emacs/src/lisp.h 2397 -u_any c-src/emacs/src/lisp.h 2214 -u_boolfwd c-src/emacs/src/lisp.h 2371 -u_buffer_objfwd c-src/emacs/src/lisp.h 2373 -u_finalizer c-src/emacs/src/lisp.h 2219 -u_free c-src/emacs/src/lisp.h 2215 -u_intfwd c-src/emacs/src/lisp.h 2370 -u_kboard_objfwd c-src/emacs/src/lisp.h 2374 -u_marker c-src/emacs/src/lisp.h 2216 -u_objfwd c-src/emacs/src/lisp.h 2372 -u_overlay c-src/emacs/src/lisp.h 2217 -u_save_value c-src/emacs/src/lisp.h 2218 -unargs tex-src/texinfo.tex /^\\defunargs {#2}\\endgroup %$/ -unargs tex-src/texinfo.tex /^\\defunargs {#3}\\endgroup %$/ -unblock_input c-src/emacs/src/keyboard.c /^unblock_input (void)$/ -unblock_input_to c-src/emacs/src/keyboard.c /^unblock_input_to (int level)$/ -unchar c-src/h.h 99 -unexpand-abbrev c-src/abbrev.c /^DEFUN ("unexpand-abbrev", Funexpand_abbrev, Sunexp/ -univ merc-src/accumulator.m /^:- import_module univ.$/ -unravel_univ merc-src/accumulator.m /^:- some [T] pred unravel_univ(univ::in, T::out) is/ -unread_switch_frame c-src/emacs/src/keyboard.c 204 -unsignedp y-src/cccp.y 112 -unwind c-src/emacs/src/lisp.h 2962 -unwind_int c-src/emacs/src/lisp.h 2972 -unwind_ptr c-src/emacs/src/lisp.h 2967 -unwind_void c-src/emacs/src/lisp.h 2976 -update_accumulator_pred merc-src/accumulator.m /^:- pred update_accumulator_pred(pred_id::in, proc_/ -uprintmax_t c-src/emacs/src/lisp.h 149 -uprintmax_t c-src/emacs/src/lisp.h 154 -usage perl-src/yagrip.pl /^sub usage {$/ -usecharno c-src/etags.c 210 -used c-src/emacs/src/regex.h 347 -used_syntax c-src/emacs/src/regex.h 398 -user_cmp_function c-src/emacs/src/lisp.h 1814 -user_error c-src/emacs/src/keyboard.c /^user_error (const char *msg)$/ -user_hash_function c-src/emacs/src/lisp.h 1811 -user_signal_info c-src/emacs/src/keyboard.c 7235 -user_signals c-src/emacs/src/keyboard.c 7250 -usfreelock_ptr/t ada-src/etags-test-for.ada /^ type usfreelock_ptr is access$/ -val c-src/emacs/src/lisp.h 3027 -val c-src/emacs/src/lisp.h 691 -val c-src/getopt.h 84 -val prol-src/natded.prolog /^val(X) --> ['['], valseq(X), [']'].$/ -valcell c-src/emacs/src/lisp.h 2357 -valid c-src/etags.c 220 -valid c-src/etags.c 2502 -validate php-src/lce_functions.php /^ function validate($value)$/ -valloc c-src/emacs/src/gmalloc.c /^valloc (size_t size)$/ -valseq prol-src/natded.prolog /^valseq([Val|Vals]) --> val(Val), plusvalseq(Vals)./ -value c-src/emacs/src/lisp.h 687 -value y-src/cccp.y 112 -var c-src/emacs/src/keyboard.c 11023 -var c-src/emacs/src/lisp.h 3137 -varargs tex-src/texinfo.tex /^\\defvarargs {#2}\\endgroup %$/ -varargs tex-src/texinfo.tex /^\\defvarargs {#3}\\endgroup %$/ -varset merc-src/accumulator.m /^:- import_module varset.$/ -vcopy c-src/emacs/src/lisp.h /^vcopy (Lisp_Object v, ptrdiff_t offset, Lisp_Objec/ -vectorlike_header c-src/emacs/src/lisp.h 1343 -verde cp-src/c.C 40 -verify-tags-table-function el-src/emacs/lisp/progmodes/etags.el /^(defvar verify-tags-table-function nil$/ -verify_ascii c-src/emacs/src/lisp.h /^# define verify_ascii(str) (str)$/ -vignore c-src/etags.c 2417 -visit-tags-table el-src/emacs/lisp/progmodes/etags.el /^(defun visit-tags-table (file &optional local)$/ -visit-tags-table-buffer el-src/emacs/lisp/progmodes/etags.el /^(defun visit-tags-table-buffer (&optional cont)$/ -void c-src/emacs/src/lisp.h /^INLINE void (check_cons_list) (void) { lisp_h_chec/ -voidfuncptr c-src/emacs/src/lisp.h 2108 -voidval y-src/cccp.y 115 -wait_status_ptr_t c.c 161 -waiting_for_input c-src/emacs/src/keyboard.c 150 -warning y-src/cccp.y /^warning (msg)$/ -weak c-src/emacs/src/lisp.h 1830 -weak_alias c-src/emacs/src/gmalloc.c /^weak_alias (free, cfree)$/ -web ftp publish make-src/Makefile /^web ftp publish:$/ -what c-src/etags.c 252 -wheel_syms c-src/emacs/src/keyboard.c 4628 -where c-src/emacs/src/lisp.h 2348 -where c-src/emacs/src/lisp.h 2980 -where cp-src/clheir.hpp 77 -where_in_registry cp-src/clheir.hpp 15 -windowWillClose objcpp-src/SimpleCalc.M /^- windowWillClose:sender$/ -wipe_kboard c-src/emacs/src/keyboard.c /^wipe_kboard (KBOARD *kb)$/ -womboid c-src/h.h 63 -womboid c-src/h.h 75 -word_size c-src/emacs/src/lisp.h 1473 -write php-src/lce_functions.php /^ function write($save="yes")$/ -write php-src/lce_functions.php /^ function write()$/ -write1= ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :writ/ -write2= ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :writ/ -write_abbrev c-src/abbrev.c /^write_abbrev (sym, stream)$/ -write_classname c-src/etags.c /^write_classname (linebuffer *cn, const char *quali/ -write_lex prol-src/natded.prolog /^write_lex(File):-$/ -write_lex_cat prol-src/natded.prolog /^write_lex_cat(File):-$/ -write_xyc cp-src/screen.cpp /^void write_xyc(int x, int y, char c)$/ -writebreak prol-src/natded.prolog /^writebreak([]).$/ -writebreaklex prol-src/natded.prolog /^writebreaklex([]).$/ -writecat prol-src/natded.prolog /^writecat(np(ind(sng),nm(_)),np,[],[]):-!.$/ -writelist prol-src/natded.prolog /^writelist([der(Ws)|Ws2]):-$/ -writelistsubs prol-src/natded.prolog /^writelistsubs([],X):-$/ -writenamestring pas-src/common.pas /^procedure writenamestring;(*($/ -writesubs prol-src/natded.prolog /^writesubs([]).$/ -writesups prol-src/natded.prolog /^writesups([]).$/ -written c-src/etags.c 211 -x c.c 153 -x c.c 179 -x c.c 188 -x c.c 189 -x cp-src/c.C 53 -x cp-src/c.C 80 -x cp-src/clheir.hpp 49 -x cp-src/clheir.hpp 58 -x cp-src/conway.hpp 7 -x cp-src/fail.C 10 -x cp-src/fail.C 44 -x tex-src/texinfo.tex /^\\refx{#1-snt}{} [\\printednodename], page\\tie\\refx{/ -x-get-selection-internal c.c /^ Fx_get_selection_internal, Sx_get_selection/ -x-get-selection-internal c.c /^DEFUN ("x-get-selection-internal", Fx_get_selectio/ -xcar_addr c-src/emacs/src/lisp.h /^xcar_addr (Lisp_Object c)$/ -xcdr_addr c-src/emacs/src/lisp.h /^xcdr_addr (Lisp_Object c)$/ -xdiff make-src/Makefile /^xdiff: ETAGS EXTAGS ${infiles}$/ -xmalloc c-src/etags.c /^xmalloc (size_t size)$/ -xnew c-src/etags.c /^#define xnew(n, Type) ((Type *) xmalloc ((n) / -xrealloc c-src/etags.c /^xrealloc (void *ptr, size_t size)$/ -xref-etags-location el-src/emacs/lisp/progmodes/etags.el /^(defclass xref-etags-location (xref-location)$/ -xref-location-line el-src/emacs/lisp/progmodes/etags.el /^(cl-defmethod xref-location-line ((l xref-etags-lo/ -xref-location-marker el-src/emacs/lisp/progmodes/etags.el /^(cl-defmethod xref-location-marker ((l xref-etags-/ -xref-make-etags-location el-src/emacs/lisp/progmodes/etags.el /^(defun xref-make-etags-location (tag-info file)$/ -xrnew c-src/etags.c /^#define xrnew(op, n, Type) ((op) = (Type *) xreall/ -xx make-src/Makefile /^xx="this line is here because of a fontlock bug$/ -xyz ruby-src/test1.ru /^ alias_method :xyz,$/ -y cp-src/clheir.hpp 49 -y cp-src/clheir.hpp 58 -y cp-src/conway.hpp 7 -y-get-selection-internal c.c /^ Fy_get_selection_internal, Sy_get_selection_/ -yyalloc /usr/share/bison/bison.simple 83 -yyalloc /usr/share/bison/bison.simple 84 -yyclearin /usr/share/bison/bison.simple 149 -yyclearin /usr/share/bison/bison.simple 150 -yydebug /usr/share/bison/bison.simple 237 -yydebug /usr/share/bison/bison.simple 238 -yyerrhandle /usr/share/bison/bison.simple 848 -yyerrlab1 /usr/share/bison/bison.simple 823 -yyerrok /usr/share/bison/bison.simple 148 -yyerrok /usr/share/bison/bison.simple 149 -yyerror y-src/cccp.y /^yyerror (s)$/ -yyerrstatus /usr/share/bison/bison.simple 846 -yylex y-src/cccp.y /^yylex ()$/ -yyls /usr/share/bison/bison.simple 88 -yyls /usr/share/bison/bison.simple 89 -yylsp /usr/share/bison/bison.simple 748 -yylsp /usr/share/bison/bison.simple 921 -yymemcpy /usr/share/bison/bison.simple /^yymemcpy (char *yyto, const char *yyfrom, YYSIZE_T/ -yymemcpy /usr/share/bison/bison.simple 264 -yymemcpy /usr/share/bison/bison.simple 265 -yyn /usr/share/bison/bison.simple 755 -yyn /usr/share/bison/bison.simple 861 -yyn /usr/share/bison/bison.simple 895 -yyn /usr/share/bison/bison.simple 903 -yynewstate /usr/share/bison/bison.simple 763 -yynewstate /usr/share/bison/bison.simple 925 -yyparse /usr/share/bison/bison.simple /^yyparse (YYPARSE_PARAM_ARG)$/ -yyresult /usr/share/bison/bison.simple 932 -yyresult /usr/share/bison/bison.simple 939 -yyresult /usr/share/bison/bison.simple 947 -yyreturn /usr/share/bison/bison.simple 933 -yyreturn /usr/share/bison/bison.simple 940 -yyss /usr/share/bison/bison.simple 85 -yyss /usr/share/bison/bison.simple 86 -yystate /usr/share/bison/bison.simple 757 -yystate /usr/share/bison/bison.simple 761 -yystate /usr/share/bison/bison.simple 875 -yystate /usr/share/bison/bison.simple 924 -yystpcpy /usr/share/bison/bison.simple /^yystpcpy (char *yydest, const char *yysrc)$/ -yystpcpy /usr/share/bison/bison.simple 316 -yystpcpy /usr/share/bison/bison.simple 317 -yystrlen /usr/share/bison/bison.simple /^yystrlen (const char *yystr)$/ -yystrlen /usr/share/bison/bison.simple 293 -yystrlen /usr/share/bison/bison.simple 294 -yyvs /usr/share/bison/bison.simple 86 -yyvs /usr/share/bison/bison.simple 87 -yyvsp /usr/share/bison/bison.simple 746 -yyvsp /usr/share/bison/bison.simple 919 -z c.c 144 -z c.c 164 -z cp-src/clheir.hpp 49 -z cp-src/clheir.hpp 58 -| tex-src/texinfo.tex /^\\def|{{\\tt \\char '174}}$/ -~ tex-src/texinfo.tex /^\\def~{{\\tt \\char '176}}$/ -~A cp-src/c.C /^A::~A() {}$/ -~B cp-src/c.C /^ ~B() {};$/ -~MDiagArray2 cp-src/MDiagArray2.h /^ ~MDiagArray2 (void) { }$/ -~generic_object cp-src/clheir.cpp /^generic_object::~generic_object(void)$/ diff --git a/test/manual/etags/CTAGS.good_update b/test/manual/etags/CTAGS.good_update deleted file mode 100644 index c618b9582da..00000000000 --- a/test/manual/etags/CTAGS.good_update +++ /dev/null @@ -1,4483 +0,0 @@ - -#a-defer-word forth-src/test-forth.fth /^defer #a-defer-word$/ -#some-storage forth-src/test-forth.fth /^2000 buffer: #some-storage$/ -$0x80 c-src/sysdep.h 32 -$SYS_##syscall_na c-src/sysdep.h 31 -$domain php-src/lce_functions.php 175 -$filename php-src/lce_functions.php 174 -$ignore_ws php-src/lce_functions.php 171 -$memassign php-src/ptest.php 9 -$memassign_space php-src/ptest.php 10 -$member php-src/ptest.php 8 -$msgid php-src/lce_functions.php 107 -$msgid php-src/lce_functions.php 165 -$msgid_lc php-src/lce_functions.php 113 -$msgstr php-src/lce_functions.php 108 -$msgstr php-src/lce_functions.php 166 -$msgstr_lc php-src/lce_functions.php 114 -$po_entries php-src/lce_functions.php 172 -$poe_num php-src/lce_functions.php 173 -$por_a php-src/lce_functions.php 500 -$prefix php-src/lce_functions.php 72 -$state php-src/lce_functions.php 170 -$sys_comment php-src/lce_functions.php 110 -$sys_comment php-src/lce_functions.php 168 -$sys_comment_lc php-src/lce_functions.php 116 -$test php-src/ptest.php 12 -$unk_comment php-src/lce_functions.php 111 -$unk_comment php-src/lce_functions.php 169 -$unk_comment_lc php-src/lce_functions.php 117 -$user_comment php-src/lce_functions.php 109 -$user_comment php-src/lce_functions.php 167 -$user_comment_lc php-src/lce_functions.php 115 -${CHECKOBJS} make-src/Makefile /^${CHECKOBJS}: CFLAGS=-g3 -DNULLFREECHECK=0$/ -%cdiff make-src/Makefile /^%cdiff: CTAGS% CTAGS ${infiles}$/ -%ediff make-src/Makefile /^%ediff: ETAGS% ETAGS ${infiles}$/ -($_,$flag,$opt,$f,$r,@temp perl-src/yagrip.pl 8 -($prog,$_,@list perl-src/yagrip.pl 39 -($string,$flag,@string,@temp,@last perl-src/yagrip.pl 40 -(a-forth-constant forth-src/test-forth.fth /^constant (a-forth-constant$/ -(another-forth-word) forth-src/test-forth.fth /^: (another-forth-word) ( -- )$/ -(foo) forth-src/test-forth.fth /^: (foo) 1 ;$/ -+ ruby-src/test.rb /^ def +(y)$/ -+ tex-src/texinfo.tex /^\\def+{{\\tt \\char 43}}$/ -.PRECIOUS make-src/Makefile /^.PRECIOUS: ETAGS CTAGS ETAGS16 CTAGS16 ETAGS17 CTA/ -/.notdef ps-src/rfc1245.ps /^\/.notdef \/.notdef \/.notdef \/.notdef \/.notdef \/.not/ -/.notdef ps-src/rfc1245.ps /^\/.notdef \/.notdef \/.notdef \/.notdef \/space \/exclam/ -/A ps-src/rfc1245.ps /^\/A { $/ -/Acircumflex ps-src/rfc1245.ps /^\/Acircumflex \/Ecircumflex \/Aacute \/Edieresis \/Egra/ -/B ps-src/rfc1245.ps /^\/B { $/ -/BEGINBITMAP2BIT ps-src/rfc1245.ps /^\/BEGINBITMAP2BIT { $/ -/BEGINBITMAP2BITc ps-src/rfc1245.ps /^\/BEGINBITMAP2BITc { $/ -/BEGINBITMAPBW ps-src/rfc1245.ps /^\/BEGINBITMAPBW { $/ -/BEGINBITMAPBWc ps-src/rfc1245.ps /^\/BEGINBITMAPBWc { $/ -/BEGINBITMAPGRAY ps-src/rfc1245.ps /^\/BEGINBITMAPGRAY { $/ -/BEGINBITMAPGRAYc ps-src/rfc1245.ps /^\/BEGINBITMAPGRAYc { $/ -/BEGINPRINTCODE ps-src/rfc1245.ps /^\/BEGINPRINTCODE { $/ -/BF ps-src/rfc1245.ps /^\/BF { $/ -/BITMAPCOLOR ps-src/rfc1245.ps /^\/BITMAPCOLOR { $/ -/BITMAPCOLORc ps-src/rfc1245.ps /^\/BITMAPCOLORc { $/ -/BITMAPGRAY ps-src/rfc1245.ps /^\/BITMAPGRAY { $/ -/BITMAPGRAYc ps-src/rfc1245.ps /^\/BITMAPGRAYc { $/ -/C ps-src/rfc1245.ps /^\/C { $/ -/COMMONBITMAP ps-src/rfc1245.ps /^\/COMMONBITMAP { $/ -/COMMONBITMAPc ps-src/rfc1245.ps /^\/COMMONBITMAPc { $/ -/D ps-src/rfc1245.ps /^\/D {curveto} bind def$/ -/DiacriticEncoding ps-src/rfc1245.ps /^\/DiacriticEncoding [$/ -/E ps-src/rfc1245.ps /^\/E {lineto} bind def$/ -/ENDBITMAP ps-src/rfc1245.ps /^\/ENDBITMAP {$/ -/ENDPRINTCODE ps-src/rfc1245.ps /^\/ENDPRINTCODE {$/ -/F ps-src/rfc1245.ps /^\/F { $/ -/FMBEGINEPSF ps-src/rfc1245.ps /^\/FMBEGINEPSF { $/ -/FMBEGINPAGE ps-src/rfc1245.ps /^\/FMBEGINPAGE { $/ -/FMDEFINEFONT ps-src/rfc1245.ps /^\/FMDEFINEFONT { $/ -/FMDOCUMENT ps-src/rfc1245.ps /^\/FMDOCUMENT { $/ -/FMENDEPSF ps-src/rfc1245.ps /^\/FMENDEPSF {$/ -/FMENDPAGE ps-src/rfc1245.ps /^\/FMENDPAGE {$/ -/FMLOCAL ps-src/rfc1245.ps /^\/FMLOCAL {$/ -/FMNORMALIZEGRAPHICS ps-src/rfc1245.ps /^\/FMNORMALIZEGRAPHICS { $/ -/FMVERSION ps-src/rfc1245.ps /^\/FMVERSION {$/ -/FMversion ps-src/rfc1245.ps /^\/FMversion (2.0) def $/ -/Fmcc ps-src/rfc1245.ps /^\/Fmcc {$/ -/FrameDict ps-src/rfc1245.ps /^\/FrameDict 190 dict def $/ -/G ps-src/rfc1245.ps /^\/G { $/ -/H ps-src/rfc1245.ps /^\/H { $/ -/Icircumflex ps-src/rfc1245.ps /^\/Icircumflex \/Idieresis \/Igrave \/Oacute \/Ocircumfl/ -/L ps-src/rfc1245.ps /^\/L \/M \/N \/O \/P \/Q \/R \/S \/T \/U \/V \/W \/X \/Y \/Z \/brac/ -/L ps-src/rfc1245.ps /^\/L { $/ -/M ps-src/rfc1245.ps /^\/M {newpath moveto} bind def$/ -/N ps-src/rfc1245.ps /^\/N { $/ -/Ntilde ps-src/rfc1245.ps /^\/Ntilde \/Odieresis \/Udieresis \/aacute \/agrave \/aci/ -/O ps-src/rfc1245.ps /^\/O {closepath} bind def$/ -/Otilde ps-src/rfc1245.ps /^\/Otilde \/OE \/oe \/endash \/emdash \/quotedblleft \/quo/ -/P ps-src/rfc1245.ps /^\/P { $/ -/PF ps-src/rfc1245.ps /^\/PF { $/ -/R ps-src/rfc1245.ps /^\/R { $/ -/RF ps-src/rfc1245.ps /^\/RF { $/ -/RR ps-src/rfc1245.ps /^\/RR { $/ -/ReEncode ps-src/rfc1245.ps /^\/ReEncode { $/ -/S ps-src/rfc1245.ps /^\/S { $/ -/SF ps-src/rfc1245.ps /^\/SF { $/ -/T ps-src/rfc1245.ps /^\/T { $/ -/TF ps-src/rfc1245.ps /^\/TF { $/ -/U ps-src/rfc1245.ps /^\/U { $/ -/Uacute ps-src/rfc1245.ps /^\/Uacute \/Ucircumflex \/Ugrave \/dotlessi \/circumflex/ -/V ps-src/rfc1245.ps /^\/V { $/ -/W ps-src/rfc1245.ps /^\/W { $/ -/X ps-src/rfc1245.ps /^\/X { $/ -/Y ps-src/rfc1245.ps /^\/Y { $/ -/Z ps-src/rfc1245.ps /^\/Z {$/ -/atilde ps-src/rfc1245.ps /^\/atilde \/aring \/ccedilla \/eacute \/egrave \/ecircumf/ -/bl ps-src/rfc1245.ps /^\/bl { $/ -/braceright ps-src/rfc1245.ps /^\/braceright \/asciitilde \/.notdef \/Adieresis \/Aring/ -/bracketright ps-src/rfc1245.ps /^\/bracketright \/asciicircum \/underscore \/grave \/a \// -/breve ps-src/rfc1245.ps /^\/breve \/dotaccent \/ring \/cedilla \/hungarumlaut \/og/ -/cfs ps-src/rfc1245.ps /^\/cfs { $/ -/colorsetup ps-src/rfc1245.ps /^\/colorsetup {$/ -/desperatepapersize ps-src/rfc1245.ps /^\/desperatepapersize {$/ -/dieresis ps-src/rfc1245.ps /^\/dieresis \/.notdef \/AE \/Oslash \/.notdef \/.notdef \// -/dmatrix ps-src/rfc1245.ps /^\/dmatrix matrix def$/ -/dnormalize ps-src/rfc1245.ps /^\/dnormalize {$/ -/dpi ps-src/rfc1245.ps /^\/dpi 72 0 dmatrix defaultmatrix dtransform$/ -/exclamdown ps-src/rfc1245.ps /^\/exclamdown \/logicalnot \/.notdef \/florin \/.notdef / -/fakecolorsetup ps-src/rfc1245.ps /^\/fakecolorsetup {$/ -/fillprocs ps-src/rfc1245.ps /^\/fillprocs 32 array def$/ -/fl ps-src/rfc1245.ps /^\/fl { $/ -/fraction ps-src/rfc1245.ps /^\/fraction \/currency \/guilsinglleft \/guilsinglright/ -/freq ps-src/rfc1245.ps /^\/freq dpi 18.75 div 8 div round dup 0 eq {pop 1} i/ -/gn ps-src/rfc1245.ps /^\/gn { $/ -/graymode ps-src/rfc1245.ps /^\/graymode true def$/ -/grayness ps-src/rfc1245.ps /^\/grayness {$/ -/guillemotleft ps-src/rfc1245.ps /^\/guillemotleft \/guillemotright \/ellipsis \/.notdef / -/home/www/pub/etags.c.gz make-src/Makefile /^\/home\/www\/pub\/etags.c.gz: etags.c$/ -/home/www/pub/software/unix/etags.tar.gz make-src/Makefile /^\/home\/www\/pub\/software\/unix\/etags.tar.gz: Makefile/ -/hx ps-src/rfc1245.ps /^\/hx { $/ -/i ps-src/rfc1245.ps /^\/i \/j \/k \/l \/m \/n \/o \/p \/q \/r \/s \/t \/u \/v \/w \/x \/y/ -/iacute ps-src/rfc1245.ps /^\/iacute \/igrave \/icircumflex \/idieresis \/ntilde \/o/ -/ic ps-src/rfc1245.ps /^\/ic [ $/ -/inch ps-src/rfc1245.ps /^\/inch {72 mul} def$/ -/ip ps-src/rfc1245.ps /^\/ip { $/ -/less ps-src/rfc1245.ps /^\/less \/equal \/greater \/question \/at \/A \/B \/C \/D \/E/ -/lnormalize ps-src/rfc1245.ps /^\/lnormalize { $/ -/manualpapersize ps-src/rfc1245.ps /^\/manualpapersize {$/ -/max ps-src/rfc1245.ps /^\/max {2 copy lt {exch} if pop} bind def$/ -/min ps-src/rfc1245.ps /^\/min {2 copy gt {exch} if pop} bind def$/ -/ms ps-src/rfc1245.ps /^\/ms { $/ -/nbluet ps-src/rfc1245.ps /^\/nbluet 256 array def$/ -/ngrayt ps-src/rfc1245.ps /^\/ngrayt 256 array def$/ -/ngreent ps-src/rfc1245.ps /^\/ngreent 256 array def$/ -/normalize ps-src/rfc1245.ps /^\/normalize {$/ -/nredt ps-src/rfc1245.ps /^\/nredt 256 array def$/ -/numbersign ps-src/rfc1245.ps /^\/numbersign \/dollar \/percent \/ampersand \/quotesing/ -/ocircumflex ps-src/rfc1245.ps /^\/ocircumflex \/odieresis \/otilde \/uacute \/ugrave \/u/ -/ordfeminine ps-src/rfc1245.ps /^\/ordfeminine \/ordmasculine \/.notdef \/ae \/oslash \/q/ -/pagedimen ps-src/rfc1245.ps /^\/pagedimen { $/ -/papersize ps-src/rfc1245.ps /^\/papersize {$/ -/paragraph ps-src/rfc1245.ps /^\/paragraph \/germandbls \/registered \/copyright \/tra/ -/parenright ps-src/rfc1245.ps /^\/parenright \/asterisk \/plus \/comma \/hyphen \/period/ -/periodcentered ps-src/rfc1245.ps /^\/periodcentered \/quotesinglbase \/quotedblbase \/per/ -/quoteleft ps-src/rfc1245.ps /^\/quoteleft \/quoteright \/.notdef \/.notdef \/ydieresi/ -/restorematrix ps-src/rfc1245.ps /^\/restorematrix {$/ -/s1 ps-src/rfc1245.ps /^\/s1 1 string def$/ -/sangle ps-src/rfc1245.ps /^\/sangle 1 0 dmatrix defaultmatrix dtransform exch / -/savematrix ps-src/rfc1245.ps /^\/savematrix {$/ -/setmanualfeed ps-src/rfc1245.ps /^\/setmanualfeed {$/ -/setpapername ps-src/rfc1245.ps /^\/setpapername { $/ -/setpattern ps-src/rfc1245.ps /^\/setpattern {$/ -/two ps-src/rfc1245.ps /^\/two \/three \/four \/five \/six \/seven \/eight \/nine \// -/udieresis ps-src/rfc1245.ps /^\/udieresis \/dagger \/.notdef \/cent \/sterling \/secti/ -/wbytes ps-src/rfc1245.ps /^\/wbytes { $/ -/wh ps-src/rfc1245.ps /^\/wh { $/ -/yen ps-src/rfc1245.ps /^\/yen \/.notdef \/.notdef \/.notdef \/.notdef \/.notdef / -2const forth-src/test-forth.fth /^3 4 2constant 2const$/ -2val forth-src/test-forth.fth /^2const 2value 2val$/ -2var forth-src/test-forth.fth /^2variable 2var$/ -:a-forth-dictionary-entry forth-src/test-forth.fth /^create :a-forth-dictionary-entry$/ -< tex-src/texinfo.tex /^\\def<{{\\tt \\less}}$/ -<< ruby-src/test.rb /^ def <<(y)$/ -<= ruby-src/test.rb /^ def <=(y)$/ -<=> ruby-src/test.rb /^ def <=>(y)$/ -= tex-src/texinfo.tex /^\\global\\def={{\\tt \\char 61}}}$/ -= tex-src/texinfo.tex /^\\global\\let\\section = \\appendixsec$/ -= tex-src/texinfo.tex /^\\global\\let\\section = \\numberedsec$/ -= tex-src/texinfo.tex /^\\global\\let\\section = \\unnumberedsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsection = \\appendixsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsection = \\numberedsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsection = \\unnumberedsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsubsection = \\appendixsubsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsubsection = \\numberedsubsubsec$/ -= tex-src/texinfo.tex /^\\global\\let\\subsubsection = \\unnumberedsubsubsec$/ -=/f ada-src/etags-test-for.ada /^ function "=" (L, R : System.Address) return Boo/ -== ruby-src/test.rb /^ def ==(y)$/ -=== ruby-src/test.rb /^ def ===(y)$/ -=\indexdummyfont tex-src/texinfo.tex /^\\let\\cite=\\indexdummyfont$/ -=\relax tex-src/texinfo.tex /^\\let\\appendix=\\relax$/ -=\relax tex-src/texinfo.tex /^\\let\\chapter=\\relax$/ -=\relax tex-src/texinfo.tex /^\\let\\section=\\relax$/ -=\relax tex-src/texinfo.tex /^\\let\\subsection=\\relax$/ -=\relax tex-src/texinfo.tex /^\\let\\subsubsection=\\relax$/ -=\smartitalic tex-src/texinfo.tex /^\\let\\cite=\\smartitalic$/ -=starts-with-equals! scm-src/test.scm /^(define =starts-with-equals! #t)$/ -> tex-src/texinfo.tex /^\\def>{{\\tt \\gtr}}$/ ->field1 forth-src/test-forth.fth /^ 9 field >field1$/ ->field2 forth-src/test-forth.fth /^ 5 field >field2$/ -A c.c 162 -A cp-src/c.C /^void A::A() {}$/ -A cp-src/c.C 117 -A cp-src/c.C 39 -A cp-src/c.C 56 -A cp-src/c.C 57 -A cp-src/c.C 73 -A cp-src/fail.C 23 -A cp-src/fail.C 7 -A ruby-src/test1.ru /^class A$/ -A ruby-src/test1.ru /^module A$/ -ABC ruby-src/test1.ru 11 -ADASRC make-src/Makefile /^ADASRC=etags-test-for.ada 2ataspri.adb 2ataspri.ad/ -ADDRESS c-src/emacs/src/gmalloc.c /^#define ADDRESS(B) ((void *) (((B) - 1) * BLOCKSIZ/ -ALIGNOF_STRUCT_LISP_VECTOR c-src/emacs/src/lisp.h 1378 -ALLOCATED_BEFORE_DUMPING c-src/emacs/src/gmalloc.c /^#define ALLOCATED_BEFORE_DUMPING(P) \\$/ -ALLOCATE_PSEUDOVECTOR c-src/emacs/src/lisp.h /^#define ALLOCATE_PSEUDOVECTOR(type, field, tag) / -ALLOCATE_ZEROED_PSEUDOVECTOR c-src/emacs/src/lisp.h /^#define ALLOCATE_ZEROED_PSEUDOVECTOR(type, field, / -AND y-src/cccp.c 11 -ANSIC c-src/h.h 84 -ANSIC c-src/h.h 85 -AREF c-src/emacs/src/lisp.h /^AREF (Lisp_Object array, ptrdiff_t idx)$/ -ARGS make-src/Makefile /^ARGS=- < srclist$/ -ARITH_EQUAL c-src/emacs/src/lisp.h 3498 -ARITH_GRTR c-src/emacs/src/lisp.h 3501 -ARITH_GRTR_OR_EQUAL c-src/emacs/src/lisp.h 3503 -ARITH_LESS c-src/emacs/src/lisp.h 3500 -ARITH_LESS_OR_EQUAL c-src/emacs/src/lisp.h 3502 -ARITH_NOTEQUAL c-src/emacs/src/lisp.h 3499 -ARRAYELTS c-src/emacs/src/lisp.h /^#define ARRAYELTS(arr) (sizeof (arr) \/ sizeof (arr/ -ARRAYP c-src/emacs/src/lisp.h /^ARRAYP (Lisp_Object x)$/ -ARRAY_MARK_FLAG c-src/emacs/src/lisp.h 768 -ASCII_CHAR_P c-src/emacs/src/lisp.h /^#define ASCII_CHAR_P(c) UNSIGNED_CMP (c, <, 0x80)$/ -ASET c-src/emacs/src/lisp.h /^ASET (Lisp_Object array, ptrdiff_t idx, Lisp_Objec/ -ASIZE c-src/emacs/src/lisp.h /^ASIZE (Lisp_Object array)$/ -ASRC make-src/Makefile /^ASRC=empty.zz empty.zz.gz$/ -AST_Array::AST_Array cp-src/c.C /^AST_Array::AST_Array(UTL_ScopedName *n, unsigned l/ -AST_ConcreteType::AST_ConcreteType cp-src/c.C /^AST_ConcreteType::AST_ConcreteType(AST_Decl::NodeT/ -AST_Root cp-src/c.C 92 -AT cp-src/c.C 52 -AU cp-src/c.C 53 -AUTOLOADP c-src/emacs/src/lisp.h /^AUTOLOADP (Lisp_Object x)$/ -AUTO_CONS c-src/emacs/src/lisp.h /^#define AUTO_CONS(name, a, b) Lisp_Object name = A/ -AUTO_CONS_EXPR c-src/emacs/src/lisp.h /^#define AUTO_CONS_EXPR(a, b) \\$/ -AUTO_LIST1 c-src/emacs/src/lisp.h /^#define AUTO_LIST1(name, a) \\$/ -AUTO_LIST2 c-src/emacs/src/lisp.h /^#define AUTO_LIST2(name, a, b) \\$/ -AUTO_LIST3 c-src/emacs/src/lisp.h /^#define AUTO_LIST3(name, a, b, c) \\$/ -AUTO_LIST4 c-src/emacs/src/lisp.h /^#define AUTO_LIST4(name, a, b, c, d) \\$/ -AUTO_STRING c-src/emacs/src/lisp.h /^#define AUTO_STRING(name, str) \\$/ -AVAIL_ALLOCA c-src/emacs/src/lisp.h /^#define AVAIL_ALLOCA(size) (sa_avail -= (size), al/ -Abort_Handler_Pointer/t ada-src/2ataspri.ads /^ type Abort_Handler_Pointer is access procedure / -Abort_Task/p ada-src/2ataspri.adb /^ procedure Abort_Task (T : TCB_Ptr) is$/ -Abort_Task/p ada-src/2ataspri.ads /^ procedure Abort_Task (T : TCB_Ptr);$/ -Abort_Wrapper/p ada-src/2ataspri.adb /^ procedure Abort_Wrapper$/ -Ada_funcs c-src/etags.c /^Ada_funcs (FILE *inf)$/ -Ada_getit c-src/etags.c /^Ada_getit (FILE *inf, const char *name_qualifier)$/ -Ada_help c-src/etags.c 475 -Ada_suffixes c-src/etags.c 473 -AddNullToNmStr pas-src/common.pas /^function AddNullToNmStr; (*($/ -Address_To_Call_State/f ada-src/2ataspri.adb /^ function Address_To_Call_State is new$/ -Address_To_TCB_Ptr/f ada-src/2ataspri.ads /^ function Address_To_TCB_Ptr is new$/ -Advanced usage tex-src/gzip.texi /^@node Advanced usage, Environment, Invoking gzip, / -Aligned_Cons c-src/emacs/src/lisp.h 4670 -Aligned_String c-src/emacs/src/lisp.h 4676 -AppendTextString pas-src/common.pas /^function AppendTextString;(*($/ -Arith_Comparison c-src/emacs/src/lisp.h 3497 -Asm_help c-src/etags.c 504 -Asm_labels c-src/etags.c /^Asm_labels (FILE *inf)$/ -Asm_suffixes c-src/etags.c 493 -B cp-src/c.C /^void B::B() {}$/ -B cp-src/c.C 122 -B cp-src/c.C 54 -B cp-src/c.C 56 -B cp-src/c.C 74 -B cp-src/fail.C 24 -B cp-src/fail.C 8 -B ruby-src/test1.ru /^ class B$/ -BE_Node cp-src/c.C /^void BE_Node::BE_Node() {}$/ -BE_Node cp-src/c.C 77 -BITS_PER_BITS_WORD c-src/emacs/src/lisp.h 125 -BITS_PER_BITS_WORD c-src/emacs/src/lisp.h 129 -BITS_PER_CHAR c-src/emacs/src/lisp.h 136 -BITS_PER_EMACS_INT c-src/emacs/src/lisp.h 139 -BITS_PER_LONG c-src/emacs/src/lisp.h 138 -BITS_PER_SHORT c-src/emacs/src/lisp.h 137 -BITS_WORD_MAX c-src/emacs/src/lisp.h 124 -BITS_WORD_MAX c-src/emacs/src/lisp.h 128 -BLACK cp-src/screen.hpp 12 -BLOCK c-src/emacs/src/gmalloc.c /^#define BLOCK(A) (((char *) (A) - _heapbase) \/ BLO/ -BLOCKIFY c-src/emacs/src/gmalloc.c /^#define BLOCKIFY(SIZE) (((SIZE) + BLOCKSIZE - 1) \// -BLOCKLOG c-src/emacs/src/gmalloc.c 125 -BLOCKSIZE c-src/emacs/src/gmalloc.c 126 -BLUE cp-src/screen.hpp 13 -BOOL_VECTOR_BITS_PER_CHAR c-src/emacs/src/lisp.h 114 -BOOL_VECTOR_BITS_PER_CHAR c-src/emacs/src/lisp.h 115 -BOOL_VECTOR_P c-src/emacs/src/lisp.h /^BOOL_VECTOR_P (Lisp_Object a)$/ -BROWN cp-src/screen.hpp 18 -BUFFERP c-src/emacs/src/lisp.h /^BUFFERP (Lisp_Object a)$/ -BUFFERSIZE objc-src/Subprocess.h 43 -BUFFER_OBJFWDP c-src/emacs/src/lisp.h /^BUFFER_OBJFWDP (union Lisp_Fwd *a)$/ -BYTE_MARK_STACK c-src/emacs/src/lisp.h 3181 -Bar lua-src/test.lua /^function Square.something:Bar ()$/ -Bar perl-src/kai-test.pl /^package Bar;$/ -Barrier_Function_Pointer/t ada-src/etags-test-for.ada /^ type Barrier_Function_Pointer is access$/ -Bidule/b ada-src/etags-test-for.ada /^ protected body Bidule is$/ -Bidule/b ada-src/waroquiers.ada /^ protected body Bidule is$/ -Bidule/t ada-src/etags-test-for.ada /^ protected Bidule is$/ -Bidule/t ada-src/waroquiers.ada /^ protected Bidule is$/ -Body_Required/f ada-src/etags-test-for.ada /^ function Body_Required$/ -Boo cp-src/c.C /^ Boo(int _i, int _a, int _b) : i(_i), a(_a), b(/ -Boo cp-src/c.C 129 -Boo::Boo cp-src/c.C /^Boo::Boo(Boo) :$/ -ButtonBar pyt-src/server.py /^def ButtonBar(frame, legend, ref, alternatives, co/ -C cp-src/fail.C /^ C(int i) {x = i;}$/ -C cp-src/fail.C 25 -C cp-src/fail.C 9 -CALLMANY c-src/emacs/src/lisp.h /^#define CALLMANY(f, array) (f) (ARRAYELTS (array),/ -CALLN c-src/emacs/src/lisp.h /^#define CALLN(f, ...) CALLMANY (f, ((Lisp_Object [/ -CAR c-src/emacs/src/lisp.h /^CAR (Lisp_Object c)$/ -CAR_SAFE c-src/emacs/src/lisp.h /^CAR_SAFE (Lisp_Object c)$/ -CATCHER c-src/emacs/src/lisp.h 3021 -CDR c-src/emacs/src/lisp.h /^CDR (Lisp_Object c)$/ -CDR_SAFE c-src/emacs/src/lisp.h /^CDR_SAFE (Lisp_Object c)$/ -CFLAGS make-src/Makefile /^CFLAGS=${WARNINGS} -ansi -g3 # -pg -O$/ -CHAR c-src/etags.c /^#define CHAR(x) ((unsigned int)(x) & (CHARS - 1))/ -CHAR y-src/cccp.c 7 -CHARACTERBITS c-src/emacs/src/lisp.h 2457 -CHARS c-src/etags.c 157 -CHARTAB_SIZE_BITS c-src/emacs/src/lisp.h 1565 -CHARTAB_SIZE_BITS_0 c-src/emacs/src/lisp.h 1567 -CHARTAB_SIZE_BITS_1 c-src/emacs/src/lisp.h 1568 -CHARTAB_SIZE_BITS_2 c-src/emacs/src/lisp.h 1569 -CHARTAB_SIZE_BITS_3 c-src/emacs/src/lisp.h 1570 -CHAR_ALT c-src/emacs/src/lisp.h 2445 -CHAR_BIT c-src/emacs/src/lisp.h 2957 -CHAR_BIT c-src/emacs/src/lisp.h 2959 -CHAR_BIT c-src/emacs/src/lisp.h 2964 -CHAR_BIT c-src/emacs/src/lisp.h 2969 -CHAR_BIT c-src/emacs/src/lisp.h 2974 -CHAR_BIT c-src/emacs/src/lisp.h 2978 -CHAR_BIT c-src/emacs/src/lisp.h 2983 -CHAR_CLASS_MAX_LENGTH c-src/emacs/src/regex.h 593 -CHAR_CLASS_MAX_LENGTH c-src/emacs/src/regex.h 597 -CHAR_CLASS_MAX_LENGTH c-src/emacs/src/regex.h 605 -CHAR_CTL c-src/emacs/src/lisp.h 2449 -CHAR_HYPER c-src/emacs/src/lisp.h 2447 -CHAR_META c-src/emacs/src/lisp.h 2450 -CHAR_MODIFIER_MASK c-src/emacs/src/lisp.h 2452 -CHAR_SHIFT c-src/emacs/src/lisp.h 2448 -CHAR_SUPER c-src/emacs/src/lisp.h 2446 -CHAR_TABLE_EXTRA_SLOTS c-src/emacs/src/lisp.h /^CHAR_TABLE_EXTRA_SLOTS (struct Lisp_Char_Table *ct/ -CHAR_TABLE_P c-src/emacs/src/lisp.h /^CHAR_TABLE_P (Lisp_Object a)$/ -CHAR_TABLE_REF c-src/emacs/src/lisp.h /^CHAR_TABLE_REF (Lisp_Object ct, int idx)$/ -CHAR_TABLE_REF_ASCII c-src/emacs/src/lisp.h /^CHAR_TABLE_REF_ASCII (Lisp_Object ct, ptrdiff_t id/ -CHAR_TABLE_SET c-src/emacs/src/lisp.h /^CHAR_TABLE_SET (Lisp_Object ct, int idx, Lisp_Obje/ -CHAR_TABLE_STANDARD_SLOTS c-src/emacs/src/lisp.h 1697 -CHAR_TYPE_SIZE y-src/cccp.y 87 -CHECKFLAGS make-src/Makefile /^CHECKFLAGS=-DDEBUG -Wno-unused-function$/ -CHECKOBJS make-src/Makefile /^CHECKOBJS=chkmalloc.o chkxm.o$/ -CHECK_ARRAY c-src/emacs/src/lisp.h /^CHECK_ARRAY (Lisp_Object x, Lisp_Object predicate)/ -CHECK_BOOL_VECTOR c-src/emacs/src/lisp.h /^CHECK_BOOL_VECTOR (Lisp_Object x)$/ -CHECK_BUFFER c-src/emacs/src/lisp.h /^CHECK_BUFFER (Lisp_Object x)$/ -CHECK_CONS c-src/emacs/src/lisp.h /^CHECK_CONS (Lisp_Object x)$/ -CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h 571 -CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h 572 -CHECK_LISP_OBJECT_TYPE c-src/emacs/src/lisp.h 579 -CHECK_LIST c-src/emacs/src/lisp.h /^CHECK_LIST (Lisp_Object x)$/ -CHECK_LIST_CONS c-src/emacs/src/lisp.h /^# define CHECK_LIST_CONS(x, y) lisp_h_CHECK_LIST_C/ -CHECK_NATNUM c-src/emacs/src/lisp.h /^CHECK_NATNUM (Lisp_Object x)$/ -CHECK_NUMBER c-src/emacs/src/lisp.h /^# define CHECK_NUMBER(x) lisp_h_CHECK_NUMBER (x)$/ -CHECK_NUMBER_CAR c-src/emacs/src/lisp.h /^CHECK_NUMBER_CAR (Lisp_Object x)$/ -CHECK_NUMBER_CDR c-src/emacs/src/lisp.h /^CHECK_NUMBER_CDR (Lisp_Object x)$/ -CHECK_NUMBER_COERCE_MARKER c-src/emacs/src/lisp.h /^#define CHECK_NUMBER_COERCE_MARKER(x) \\$/ -CHECK_NUMBER_OR_FLOAT c-src/emacs/src/lisp.h /^CHECK_NUMBER_OR_FLOAT (Lisp_Object x)$/ -CHECK_NUMBER_OR_FLOAT_COERCE_MARKER c-src/emacs/src/lisp.h /^#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(x) / -CHECK_PROCESS c-src/emacs/src/lisp.h /^CHECK_PROCESS (Lisp_Object x)$/ -CHECK_RANGED_INTEGER c-src/emacs/src/lisp.h /^#define CHECK_RANGED_INTEGER(x, lo, hi) \\$/ -CHECK_STRING_CAR c-src/emacs/src/lisp.h /^CHECK_STRING_CAR (Lisp_Object x)$/ -CHECK_SYMBOL c-src/emacs/src/lisp.h /^# define CHECK_SYMBOL(x) lisp_h_CHECK_SYMBOL (x)$/ -CHECK_TYPE c-src/emacs/src/lisp.h /^# define CHECK_TYPE(ok, predicate, x) lisp_h_CHECK/ -CHECK_TYPE_RANGED_INTEGER c-src/emacs/src/lisp.h /^#define CHECK_TYPE_RANGED_INTEGER(type, x) \\$/ -CHECK_VECTOR c-src/emacs/src/lisp.h /^CHECK_VECTOR (Lisp_Object x)$/ -CHECK_VECTOR_OR_STRING c-src/emacs/src/lisp.h /^CHECK_VECTOR_OR_STRING (Lisp_Object x)$/ -CHECK_WINDOW c-src/emacs/src/lisp.h /^CHECK_WINDOW (Lisp_Object x)$/ -CK_ABS_C y-src/parse.y /^#define CK_ABS_C(x) if((x)MAX_COL)/ -CK_ABS_R y-src/parse.y /^#define CK_ABS_R(x) if((x)MAX_ROW)/ -CK_REL_C y-src/parse.y /^#define CK_REL_C(x) if( ((x)>0 && MAX_COL-(x)0 && MAX_ROW-(x)/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (const Array& a) : DiagArray2 / -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (const DiagArray2& a) : DiagArray/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (const MDiagArray2& a) : DiagArra/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (int r, int c) : DiagArray2 (r, c/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (int r, int c, const T& val) : DiagA/ -MDiagArray2 cp-src/MDiagArray2.h /^ MDiagArray2 (void) : DiagArray2 () { }$/ -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 > A,int>::f(A* x) {}$/ -f cp-src/c.C /^A* f() {}$/ -f cp-src/c.C /^class B { void f() {} };$/ -f cp-src/c.C /^int A::f(A* x) {}$/ -f cp-src/c.C /^int f(A 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& operator = (const MDiagArray2/ -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 cp-src/MDiagArray2.h /^ operator MArray2 () const$/ -operator int cp-src/c.C /^void operator int(int, int) {}$/ -operator int cp-src/fail.C /^ operator int() const {return x;}$/ -operator+ cp-src/c.C /^ A operator+(A& a) {};$/ -operator+ cp-src/c.C /^const A& A::operator+(const A&) { }$/ -operator+ cp-src/c.C /^void operator+(int, int) {}$/ -opparsebody\Edefop\defopx\defopheader\defoptype tex-src/texinfo.tex /^\\defopparsebody\\Edefop\\defopx\\defopheader\\defoptyp/ -oprotocol c-src/etags.c 2473 -option c-src/getopt.h 73 -optional_argument c-src/getopt.h 91 -opvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype tex-src/texinfo.tex /^\\defopvarparsebody\\Edefcv\\defcvx\\defcvarheader\\def/ -ord_add_element prol-src/ordsets.prolog /^ord_add_element([], Element, [Element]).$/ -ord_del_element prol-src/ordsets.prolog /^ord_del_element([], _, []).$/ -ord_disjoint prol-src/ordsets.prolog /^ord_disjoint(Set1, Set2) :-$/ -ord_intersect prol-src/ordsets.prolog /^ord_intersect([Head1|Tail1], [Head2|Tail2]) :-$/ -ord_intersection prol-src/ordsets.prolog /^ord_intersection(Sets, Intersection) :- $/ -ord_intersection prol-src/ordsets.prolog /^ord_intersection([], Set2, [], Set2).$/ -ord_intersection prol-src/ordsets.prolog /^ord_intersection([], _, []).$/ -ord_intersection2 prol-src/ordsets.prolog /^ord_intersection2(1, [Set|Sets], Set0, Sets0) :- !/ -ord_intersection3 prol-src/ordsets.prolog /^ord_intersection3(<, _, Set1, Head2, Tail2, Inters/ -ord_intersection4 prol-src/ordsets.prolog /^ord_intersection4(<, _, Set1, Head2, Tail2, Inters/ -ord_member prol-src/ordsets.prolog /^ord_member(X, [E|Es]) :-$/ -ord_seteq prol-src/ordsets.prolog /^ord_seteq(Set1, Set2) :-$/ -ord_setproduct prol-src/ordsets.prolog /^ord_setproduct([], _, []).$/ -ord_subset prol-src/ordsets.prolog /^ord_subset([], _).$/ -ord_subtract prol-src/ordsets.prolog /^ord_subtract(Set1, Set2, Union) :-$/ -ord_symdiff prol-src/ordsets.prolog /^ord_symdiff([], Set2, Set2).$/ -ord_union prol-src/ordsets.prolog /^ord_union(Set1, Set2, Union) :-$/ -ord_union prol-src/ordsets.prolog /^ord_union([], Union) :- !, Union = [].$/ -ord_union4 prol-src/ordsets.prolog /^ord_union4(<, Head, Set1, Head2, Tail2, [Head|Unio/ -ord_union_all prol-src/ordsets.prolog /^ord_union_all(1, [Set|Sets], Set, Sets) :- !.$/ -oss html-src/softwarelibero.html /^Il movimento open source$/ -otagseen c-src/etags.c 2475 -outputTime cp-src/c.C 9 -output_file perl-src/htlmify-cystic 35 -output_files perl-src/htlmify-cystic 32 -outputtable html-src/algrthms.html /^Output$/ -outsyn prol-src/natded.prolog /^outsyn(['Any'],_).$/ -p c-src/emacs/src/lisp.h 4673 -p c-src/emacs/src/lisp.h 4679 -p.x forth-src/test-forth.fth /^ 1 CELLS +FIELD p.x \\ A single cell filed name/ -p.y forth-src/test-forth.fth /^ 1 CELLS +FIELD p.y \\ A single cell field name/ -p/f ada-src/etags-test-for.ada /^ function p pragma Import (C,$/ -p/f ada-src/etags-test-for.ada /^function p ("p");$/ -pD c-src/emacs/src/lisp.h 165 -pD c-src/emacs/src/lisp.h 167 -pD c-src/emacs/src/lisp.h 169 -pD c-src/emacs/src/lisp.h 171 -pI c-src/emacs/src/lisp.h 106 -pI c-src/emacs/src/lisp.h 94 -pI c-src/emacs/src/lisp.h 99 -pMd c-src/emacs/src/lisp.h 150 -pMd c-src/emacs/src/lisp.h 155 -pMu c-src/emacs/src/lisp.h 151 -pMu c-src/emacs/src/lisp.h 156 -p_next c-src/etags.c 258 -pagesize c-src/emacs/src/gmalloc.c 1703 -pair merc-src/accumulator.m /^:- import_module pair.$/ -parent c-src/emacs/src/keyboard.c 8745 -parent c-src/emacs/src/lisp.h 1590 -parse prol-src/natded.prolog /^parse(Ws,Cat):-$/ -parseFromVars php-src/lce_functions.php /^ function parseFromVars($prefix)$/ -parse_c_expression y-src/cccp.y /^parse_c_expression (string)$/ -parse_cgi prol-src/natded.prolog /^parse_cgi(TokenList,KeyVals):-$/ -parse_error y-src/parse.y 82 -parse_escape y-src/cccp.y /^parse_escape (string_ptr)$/ -parse_hash y-src/parse.y 64 -parse_menu_item c-src/emacs/src/keyboard.c /^parse_menu_item (Lisp_Object item, int inmenubar)$/ -parse_modifiers c-src/emacs/src/keyboard.c /^parse_modifiers (Lisp_Object symbol)$/ -parse_modifiers_uncached c-src/emacs/src/keyboard.c /^parse_modifiers_uncached (Lisp_Object symbol, ptrd/ -parse_number y-src/cccp.y /^parse_number (olen)$/ -parse_return y-src/parse.y 74 -parse_return_error y-src/cccp.y 70 -parse_solitary_modifier c-src/emacs/src/keyboard.c /^parse_solitary_modifier (Lisp_Object symbol)$/ -parse_tool_bar_item c-src/emacs/src/keyboard.c /^parse_tool_bar_item (Lisp_Object key, Lisp_Object / -parse_tree merc-src/accumulator.m /^:- import_module parse_tree.$/ -pat c-src/etags.c 262 -pattern c-src/etags.c 260 -pdlcount c-src/emacs/src/lisp.h 3046 -pending-delete-mode el-src/TAGTEST.EL /^(defalias 'pending-delete-mode 'delete-selection-m/ -pending_funcalls c-src/emacs/src/keyboard.c 4377 -pending_signals c-src/emacs/src/keyboard.c 80 -pfatal c-src/etags.c /^pfatal (const char *s1)$/ -pfdset c-src/h.h 57 -pfnote c-src/etags.c /^pfnote (char *name, bool is_func, char *linestart,/ -pinned c-src/emacs/src/lisp.h 679 -plain_C_entries c-src/etags.c /^plain_C_entries (FILE *inf)$/ -plain_C_suffixes c-src/etags.c 643 -plainc c-src/etags.c 2934 -plist c-src/emacs/src/lisp.h 2040 -plist c-src/emacs/src/lisp.h 697 -plus cp-src/functions.cpp /^void Date::plus ( int days , int month , int year / -plus go-src/test1.go 5 -plusvalseq prol-src/natded.prolog /^plusvalseq([]) --> [].$/ -point forth-src/test-forth.fth /^BEGIN-STRUCTURE point \\ create the named structure/ -pointer c-src/emacs/src/lisp.h 2125 -poll_for_input c-src/emacs/src/keyboard.c /^poll_for_input (struct atimer *timer)$/ -poll_for_input_1 c-src/emacs/src/keyboard.c /^poll_for_input_1 (void)$/ -poll_suppress_count c-src/emacs/src/keyboard.c 1908 -poll_suppress_count c-src/emacs/src/lisp.h 3047 -poll_timer c-src/emacs/src/keyboard.c 1915 -pop-tag-mark el-src/emacs/lisp/progmodes/etags.el /^(defalias 'pop-tag-mark 'xref-pop-marker-stack)$/ -pop_kboard c-src/emacs/src/keyboard.c /^pop_kboard (void)$/ -popclass_above c-src/etags.c /^popclass_above (int bracelev)$/ -position_to_Time c-src/emacs/src/keyboard.c /^position_to_Time (ptrdiff_t pos)$/ -posix_memalign c-src/emacs/src/gmalloc.c /^posix_memalign (void **memptr, size_t alignment, s/ -posn-at-point c-src/emacs/src/keyboard.c /^DEFUN ("posn-at-point", Fposn_at_point, Sposn_at_p/ -posn-at-x-y c-src/emacs/src/keyboard.c /^DEFUN ("posn-at-x-y", Fposn_at_x_y, Sposn_at_x_y, / -possible_sum_sign y-src/cccp.y /^#define possible_sum_sign(a, b, sum) ((((a) ^ (b))/ -post pyt-src/server.py /^ def post(self):$/ -pot_etags_version c-src/etags.c 81 -pp1 c-src/dostorture.c /^int pp1($/ -pp1 c-src/torture.c /^int pp1($/ -pp2 c-src/dostorture.c /^pp2$/ -pp2 c-src/torture.c /^pp2$/ -pp3 c-src/dostorture.c /^pp3(int bar)$/ -pp3 c-src/torture.c /^pp3(int bar)$/ -pp_bas_cat prol-src/natded.prolog /^pp_bas_cat(Cat):-$/ -pp_cat prol-src/natded.prolog /^pp_cat(Syn:Sem):-$/ -pp_exp prol-src/natded.prolog /^pp_exp('NIL'):-$/ -pp_exps prol-src/natded.prolog /^pp_exps([]).$/ -pp_html_fitch_tree prol-src/natded.prolog /^pp_html_fitch_tree(tree(der,Root,[ders(Words)]),M,/ -pp_html_table_fitch_tree prol-src/natded.prolog /^pp_html_table_fitch_tree(T):-$/ -pp_html_table_tree prol-src/natded.prolog /^pp_html_table_tree(T):-$/ -pp_html_tree prol-src/natded.prolog /^pp_html_tree(ass(Syn,V,'$VAR'(N))):-$/ -pp_html_trees prol-src/natded.prolog /^pp_html_trees([T|Ts],N,M):-$/ -pp_lam prol-src/natded.prolog /^pp_lam(Var^Alpha):-$/ -pp_lam_bracket prol-src/natded.prolog /^pp_lam_bracket(A^B):-$/ -pp_lam_paren prol-src/natded.prolog /^pp_lam_paren(Var^Alpha):-$/ -pp_paren prol-src/natded.prolog /^pp_paren(C):-$/ -pp_rule prol-src/natded.prolog /^pp_rule(fe):-write('\/E').$/ -pp_syn prol-src/natded.prolog /^pp_syn(A\/B):-$/ -pp_syn_back prol-src/natded.prolog /^pp_syn_back(A\/B):-$/ -pp_syn_paren prol-src/natded.prolog /^pp_syn_paren(A\/B):-$/ -pp_tree prol-src/natded.prolog /^pp_tree(T):-$/ -pp_trees prol-src/natded.prolog /^pp_trees([T|Ts],Column):-$/ -pp_word prol-src/natded.prolog /^pp_word(W):-$/ -pp_word_list prol-src/natded.prolog /^pp_word_list([]).$/ -pp_word_list_rest prol-src/natded.prolog /^pp_word_list_rest([]).$/ -predicate c-src/emacs/src/lisp.h 2307 -prev c-src/emacs/src/gmalloc.c 165 -prev c-src/emacs/src/gmalloc.c 189 -prev c-src/emacs/src/lisp.h 2191 -prev c.c 175 -printClassification php-src/lce_functions.php /^ function printClassification()$/ -print_help c-src/etags.c /^print_help (argument *argbuffer)$/ -print_language_names c-src/etags.c /^print_language_names (void)$/ -print_version c-src/etags.c /^print_version (void)$/ -printmax_t c-src/emacs/src/lisp.h 148 -printmax_t c-src/emacs/src/lisp.h 153 -proc c-src/h.h 87 -process_file c-src/etags.c /^process_file (FILE *fh, char *fn, language *lang)$/ -process_file_name c-src/etags.c /^process_file_name (char *file, language *lang)$/ -process_pending_signals c-src/emacs/src/keyboard.c /^process_pending_signals (void)$/ -process_special_events c-src/emacs/src/keyboard.c /^process_special_events (void)$/ -process_tool_bar_item c-src/emacs/src/keyboard.c /^process_tool_bar_item (Lisp_Object key, Lisp_Objec/ -prof make-src/Makefile /^prof: ETAGS$/ -prolog_atom c-src/etags.c /^prolog_atom (char *s, size_t pos)$/ -prolog_pr c-src/etags.c /^prolog_pr (char *s, char *last)$/ -prolog_skip_comment c-src/etags.c /^prolog_skip_comment (linebuffer *plb, FILE *inf)$/ -prop c-src/etags.c 209 -protect_malloc_state c-src/emacs/src/gmalloc.c /^protect_malloc_state (int protect_p)$/ -pthread_mutexattr_setprio_ceiling/f ada-src/2ataspri.adb /^ function pthread_mutexattr_setprio_ceiling$/ -pthread_mutexattr_setprotocol/f ada-src/2ataspri.adb /^ function pthread_mutexattr_setprotocol$/ -purpose c-src/emacs/src/lisp.h 1594 -push_kboard c-src/emacs/src/keyboard.c /^push_kboard (struct kboard *k)$/ -pushclass_above c-src/etags.c /^pushclass_above (int bracelev, char *str, int len)/ -put_entries c-src/etags.c /^put_entries (register node *np)$/ -pvec_type c-src/emacs/src/lisp.h 780 -quantizing html-src/algrthms.html /^Quantizing the Received$/ -questo ../c/c.web 34 -quiettest make-src/Makefile /^quiettest:$/ -quit_char c-src/emacs/src/keyboard.c 192 -quit_throw_to_read_char c-src/emacs/src/keyboard.c /^quit_throw_to_read_char (bool from_signal)$/ -qux ruby-src/test1.ru /^ alias_method :qux, :tee, attr_accessor(:bogus)/ -qux1 ruby-src/test1.ru /^ :qux1)$/ -qux= ruby-src/test1.ru /^ def qux=(tee)$/ -r0 c-src/sysdep.h 54 -r1 c-src/sysdep.h 55 -r_alloc c-src/emacs/src/lisp.h /^extern void *r_alloc (void **, size_t) ATTRIBUTE_A/ -range_exp y-src/parse.y 269 -range_exp_list y-src/parse.y 273 -raw_keybuf c-src/emacs/src/keyboard.c 116 -raw_keybuf_count c-src/emacs/src/keyboard.c 117 -rbtp c.c 240 -re_iswctype c-src/emacs/src/regex.h 602 -re_nsub c-src/emacs/src/regex.h 364 -re_pattern_buffer c-src/emacs/src/regex.h 335 -re_pattern_buffer c-src/h.h 119 -re_registers c-src/emacs/src/regex.h 428 -re_wchar_t c-src/emacs/src/regex.h 600 -re_wchar_t c-src/emacs/src/regex.h 623 -re_wctype c-src/emacs/src/regex.h 601 -re_wctype_t c-src/emacs/src/regex.h 599 -re_wctype_t c-src/emacs/src/regex.h 618 -re_wctype_to_bit c-src/emacs/src/regex.h /^# define re_wctype_to_bit(cc) 0$/ -read cp-src/conway.hpp /^ char read() { return alive; }$/ -read php-src/lce_functions.php /^ function read()$/ -read-key-sequence c-src/emacs/src/keyboard.c /^DEFUN ("read-key-sequence", Fread_key_sequence, Sr/ -read-key-sequence-vector c-src/emacs/src/keyboard.c /^DEFUN ("read-key-sequence-vector", Fread_key_seque/ -read1 ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :writ/ -read2 ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :writ/ -read_char c-src/emacs/src/keyboard.c /^read_char (int commandflag, Lisp_Object map,$/ -read_char_help_form_unwind c-src/emacs/src/keyboard.c /^read_char_help_form_unwind (void)$/ -read_char_minibuf_menu_prompt c-src/emacs/src/keyboard.c /^read_char_minibuf_menu_prompt (int commandflag,$/ -read_char_x_menu_prompt c-src/emacs/src/keyboard.c /^read_char_x_menu_prompt (Lisp_Object map,$/ -read_decoded_event_from_main_queue c-src/emacs/src/keyboard.c /^read_decoded_event_from_main_queue (struct timespe/ -read_event_from_main_queue c-src/emacs/src/keyboard.c /^read_event_from_main_queue (struct timespec *end_t/ -read_key_sequence c-src/emacs/src/keyboard.c /^read_key_sequence (Lisp_Object *keybuf, int bufsiz/ -read_key_sequence_cmd c-src/emacs/src/keyboard.c 232 -read_key_sequence_remapped c-src/emacs/src/keyboard.c 233 -read_key_sequence_vs c-src/emacs/src/keyboard.c /^read_key_sequence_vs (Lisp_Object prompt, Lisp_Obj/ -read_menu_command c-src/emacs/src/keyboard.c /^read_menu_command (void)$/ -read_toc perl-src/htlmify-cystic /^sub read_toc ()$/ -readable_events c-src/emacs/src/keyboard.c /^readable_events (int flags)$/ -readline c-src/etags.c /^readline (linebuffer *lbp, FILE *stream)$/ -readline_internal c-src/etags.c /^readline_internal (linebuffer *lbp, register FILE / -realloc c-src/emacs/src/gmalloc.c /^realloc (void *ptr, size_t size)$/ -realloc c-src/emacs/src/gmalloc.c 1716 -realloc c-src/emacs/src/gmalloc.c 65 -realloc c-src/emacs/src/gmalloc.c 69 -reallochook c-src/emacs/src/gmalloc.c /^reallochook (void *ptr, size_t size)$/ -recent-keys c-src/emacs/src/keyboard.c /^DEFUN ("recent-keys", Frecent_keys, Srecent_keys, / -recent_keys c-src/emacs/src/keyboard.c 100 -recent_keys_index c-src/emacs/src/keyboard.c 94 -record_asynch_buffer_change c-src/emacs/src/keyboard.c /^record_asynch_buffer_change (void)$/ -record_auto_save c-src/emacs/src/keyboard.c /^record_auto_save (void)$/ -record_char c-src/emacs/src/keyboard.c /^record_char (Lisp_Object c)$/ -record_menu_key c-src/emacs/src/keyboard.c /^record_menu_key (Lisp_Object c)$/ -record_single_kboard_state c-src/emacs/src/keyboard.c /^record_single_kboard_state ()$/ -record_xmalloc c-src/emacs/src/lisp.h /^extern void *record_xmalloc (size_t) ATTRIBUTE_ALL/ -recover_top_level_message c-src/emacs/src/keyboard.c 138 -recursion-depth c-src/emacs/src/keyboard.c /^DEFUN ("recursion-depth", Frecursion_depth, Srecur/ -recursive-edit c-src/emacs/src/keyboard.c /^DEFUN ("recursive-edit", Frecursive_edit, Srecursi/ -recursive_edit_1 c-src/emacs/src/keyboard.c /^recursive_edit_1 (void)$/ -recursive_edit_unwind c-src/emacs/src/keyboard.c /^recursive_edit_unwind (Lisp_Object buffer)$/ -redirect c-src/emacs/src/lisp.h 663 -reduce prol-src/natded.prolog /^reduce((X^M)@N,L):- % beta reduction$/ -reduce_subterm prol-src/natded.prolog /^reduce_subterm(M,M2):-$/ -refreshPort pyt-src/server.py /^ def refreshPort(self):$/ -reg_errcode_t c-src/emacs/src/regex.h 323 -reg_errcode_t c.c 279 -reg_syntax_t c-src/emacs/src/regex.h 43 -regex c-src/etags.c 219 -regex.o make-src/Makefile /^regex.o: emacs\/src\/regex.c$/ -regex_t c-src/emacs/src/regex.h 416 -regex_tag_multiline c-src/etags.c /^regex_tag_multiline (void)$/ -regexfile make-src/Makefile /^regexfile: Makefile$/ -regexp c-src/etags.c 256 -regexp c-src/etags.c 268 -registerAction objcpp-src/SimpleCalc.M /^- registerAction:(SEL)action$/ -register_heapinfo c-src/emacs/src/gmalloc.c /^register_heapinfo (void)$/ -regmatch_t c-src/emacs/src/regex.h 451 -regoff_t c-src/emacs/src/regex.h 423 -regs c-src/etags.c 263 -regs cp-src/screen.cpp 16 -regs_allocated c-src/emacs/src/regex.h 379 -regset c-src/h.h 31 -regular_top_level_message c-src/emacs/src/keyboard.c 143 -rehash_size c-src/emacs/src/lisp.h 1835 -rehash_threshold c-src/emacs/src/lisp.h 1839 -relative_filename c-src/etags.c /^relative_filename (char *file, char *dir)$/ -release distrib make-src/Makefile /^release distrib: web$/ -removeexp prol-src/natded.prolog /^removeexp(E,E,'NIL'):-!.$/ -reorder_modifiers c-src/emacs/src/keyboard.c /^reorder_modifiers (Lisp_Object symbol)$/ -request c.c /^request request (a, b)$/ -requeued_events_pending_p c-src/emacs/src/keyboard.c /^requeued_events_pending_p (void)$/ -require merc-src/accumulator.m /^:- import_module require.$/ -required_argument c-src/getopt.h 90 -reset-this-command-lengths c-src/emacs/src/keyboard.c /^DEFUN ("reset-this-command-lengths", Freset_this_c/ -restore_getcjmp c-src/emacs/src/keyboard.c /^restore_getcjmp (sys_jmp_buf temp)$/ -restore_kboard_configuration c-src/emacs/src/keyboard.c /^restore_kboard_configuration (int was_locked)$/ -return_to_command_loop c-src/emacs/src/keyboard.c 135 -reverse prol-src/natded.prolog /^reverse([],Ws,Ws).$/ -revert objc-src/PackInsp.m /^-revert:sender$/ -right c-src/etags.c 216 -right_shift y-src/cccp.y /^right_shift (a, b)$/ -ring1 c.c 241 -ring2 c.c 242 -rm_eo c-src/emacs/src/regex.h 450 -rm_so c-src/emacs/src/regex.h 449 -rng_base cp-src/Range.h 79 -rng_inc cp-src/Range.h 81 -rng_limit cp-src/Range.h 80 -rng_nelem cp-src/Range.h 83 -rosso cp-src/c.C 40 -rsyncfromfly make-src/Makefile /^rsyncfromfly:$/ -rsynctofly make-src/Makefile /^rsynctofly:$/ -rtint c-src/h.h 60 -rtint c-src/h.h 68 -rtstr c-src/h.h 61 -rtstr c-src/h.h 69 -rtunion_def c-src/h.h 58 -rtunion_def c-src/h.h 64 -rtx c-src/h.h 62 -rtxnp c-src/h.h 71 -rtxp c-src/h.h 70 -s c-src/emacs/src/lisp.h 4672 -s c-src/emacs/src/lisp.h 4678 -s1 cp-src/c.C 32 -s2 cp-src/c.C 35 -safe_run_hook_funcall c-src/emacs/src/keyboard.c /^safe_run_hook_funcall (ptrdiff_t nargs, Lisp_Objec/ -safe_run_hooks c-src/emacs/src/keyboard.c /^safe_run_hooks (Lisp_Object hook)$/ -safe_run_hooks_1 c-src/emacs/src/keyboard.c /^safe_run_hooks_1 (ptrdiff_t nargs, Lisp_Object *ar/ -safe_run_hooks_error c-src/emacs/src/keyboard.c /^safe_run_hooks_error (Lisp_Object error, ptrdiff_t/ -save pyt-src/server.py /^ def save(self):$/ -save_getcjmp c-src/emacs/src/keyboard.c /^save_getcjmp (sys_jmp_buf temp)$/ -save_type c-src/emacs/src/lisp.h /^save_type (struct Lisp_Save_Value *v, int n)$/ -savenstr c-src/etags.c /^savenstr (const char *cp, int len)$/ -savestr c-src/etags.c /^savestr (const char *cp)$/ -say go-src/test.go /^func say(msg string) {$/ -scan_separators c-src/etags.c /^scan_separators (char *name)$/ -scolonseen c-src/etags.c 2447 -scratch c-src/sysdep.h 56 -scroll_bar_parts c-src/emacs/src/keyboard.c 5189 -sec=\relax tex-src/texinfo.tex /^\\let\\appendixsec=\\relax$/ -section perl-src/htlmify-cystic 25 -section=\relax tex-src/texinfo.tex /^\\let\\appendixsection=\\relax$/ -section_href perl-src/htlmify-cystic /^sub section_href ($)$/ -section_name perl-src/htlmify-cystic /^sub section_name ($)$/ -section_name perl-src/htlmify-cystic 12 -section_toc perl-src/htlmify-cystic 15 -section_url perl-src/htlmify-cystic /^sub section_url ()$/ -section_url_base perl-src/htlmify-cystic /^sub section_url_base ()$/ -section_url_name perl-src/htlmify-cystic /^sub section_url_name ()$/ -select prol-src/natded.prolog /^select(X,[X|Xs],Xs).$/ -select-tags-table el-src/emacs/lisp/progmodes/etags.el /^(defun select-tags-table ()$/ -select-tags-table-mode el-src/emacs/lisp/progmodes/etags.el /^(define-derived-mode select-tags-table-mode specia/ -select-tags-table-mode-map el-src/emacs/lisp/progmodes/etags.el /^(defvar select-tags-table-mode-map ; Doc string?$/ -select-tags-table-quit el-src/emacs/lisp/progmodes/etags.el /^(defun select-tags-table-quit ()$/ -select-tags-table-select el-src/emacs/lisp/progmodes/etags.el /^(defun select-tags-table-select (button)$/ -select_last prol-src/natded.prolog /^select_last([X],X,[]).$/ -send objc-src/Subprocess.m /^- send:(const char *)string withNewline:(BOOL)want/ -send objc-src/Subprocess.m /^- send:(const char *)string$/ -separator_names c-src/emacs/src/keyboard.c 7372 -serializeToVars php-src/lce_functions.php /^ function serializeToVars($prefix)$/ -set cp-src/conway.hpp /^ void set(void) { alive = 1; }$/ -set merc-src/accumulator.m /^:- import_module set.$/ -set-input-interrupt-mode c-src/emacs/src/keyboard.c /^DEFUN ("set-input-interrupt-mode", Fset_input_inte/ -set-input-meta-mode c-src/emacs/src/keyboard.c /^DEFUN ("set-input-meta-mode", Fset_input_meta_mode/ -set-input-mode c-src/emacs/src/keyboard.c /^DEFUN ("set-input-mode", Fset_input_mode, Sset_inp/ -set-output-flow-control c-src/emacs/src/keyboard.c /^DEFUN ("set-output-flow-control", Fset_output_flow/ -set-quit-char c-src/emacs/src/keyboard.c /^DEFUN ("set-quit-char", Fset_quit_char, Sset_quit_/ -setDate cp-src/functions.cpp /^void Date::setDate ( int d , int m , int y ){$/ -setDelegate objc-src/Subprocess.m /^- setDelegate:anObject$/ -setRevertButtonTitle objc-src/PackInsp.m /^-setRevertButtonTitle$/ -set_base cp-src/Range.h /^ void set_base (double b) { rng_base = b; }$/ -set_char_table_contents c-src/emacs/src/lisp.h /^set_char_table_contents (Lisp_Object table, ptrdif/ -set_char_table_defalt c-src/emacs/src/lisp.h /^set_char_table_defalt (Lisp_Object table, Lisp_Obj/ -set_char_table_extras c-src/emacs/src/lisp.h /^set_char_table_extras (Lisp_Object table, ptrdiff_/ -set_char_table_purpose c-src/emacs/src/lisp.h /^set_char_table_purpose (Lisp_Object table, Lisp_Ob/ -set_hash_key_slot c-src/emacs/src/lisp.h /^set_hash_key_slot (struct Lisp_Hash_Table *h, ptrd/ -set_hash_value_slot c-src/emacs/src/lisp.h /^set_hash_value_slot (struct Lisp_Hash_Table *h, pt/ -set_inc cp-src/Range.h /^ void set_inc (double i) { rng_inc = i; }$/ -set_limit cp-src/Range.h /^ void set_limit (double l) { rng_limit = l; }$/ -set_overlay_plist c-src/emacs/src/lisp.h /^set_overlay_plist (Lisp_Object overlay, Lisp_Objec/ -set_poll_suppress_count c-src/emacs/src/keyboard.c /^set_poll_suppress_count (int count)$/ -set_prop c-src/emacs/src/keyboard.c /^set_prop (ptrdiff_t idx, Lisp_Object val)$/ -set_save_integer c-src/emacs/src/lisp.h /^set_save_integer (Lisp_Object obj, int n, ptrdiff_/ -set_save_pointer c-src/emacs/src/lisp.h /^set_save_pointer (Lisp_Object obj, int n, void *va/ -set_string_intervals c-src/emacs/src/lisp.h /^set_string_intervals (Lisp_Object s, INTERVAL i)$/ -set_sub_char_table_contents c-src/emacs/src/lisp.h /^set_sub_char_table_contents (Lisp_Object table, pt/ -set_symbol_function c-src/emacs/src/lisp.h /^set_symbol_function (Lisp_Object sym, Lisp_Object / -set_symbol_next c-src/emacs/src/lisp.h /^set_symbol_next (Lisp_Object sym, struct Lisp_Symb/ -set_symbol_plist c-src/emacs/src/lisp.h /^set_symbol_plist (Lisp_Object sym, Lisp_Object pli/ -set_upto merc-src/accumulator.m /^:- func set_upto(accu_case, int) = set(accu_goal_i/ -set_waiting_for_input c-src/emacs/src/keyboard.c /^set_waiting_for_input (struct timespec *time_to_cl/ -setref tex-src/texinfo.tex /^\\expandafter\\expandafter\\expandafter\\appendixsetre/ -setup cp-src/c.C 5 -shift cp-src/functions.cpp /^void Date::shift ( void ){\/\/Shift this date to pre/ -shouldLoad objc-src/PackInsp.m /^-(BOOL)shouldLoad$/ -should_attempt_accu_transform merc-src/accumulator.m /^:- pred should_attempt_accu_transform(module_info:/ -should_attempt_accu_transform_2 merc-src/accumulator.m /^:- pred should_attempt_accu_transform_2(module_inf/ -should_see_this_array_type cp-src/c.C 156 -should_see_this_function_pointer cp-src/c.C 153 -should_see_this_one_enclosed_in_extern_C cp-src/c.C 149 -show erl-src/gs_dialog.erl /^show(Module, Title, Message, Args) ->$/ -showError objc-src/Subprocess.m /^showError (const char *errorString, id theDelegate/ -showInfo objc-src/PackInsp.m /^-showInfo:sender$/ -show_help_echo c-src/emacs/src/keyboard.c /^show_help_echo (Lisp_Object help, Lisp_Object wind/ -sig c-src/emacs/src/keyboard.c 7238 -signal_handler c-src/h.h 82 -signal_handler1 c-src/h.h 83 -signal_handler_t c-src/h.h 94 -simulation html-src/software.html /^Software that I wrote for supporting my research a/ -single_kboard c-src/emacs/src/keyboard.c 89 -single_kboard_state c-src/emacs/src/keyboard.c /^single_kboard_state ()$/ -site cp-src/conway.hpp /^ site(int xi, int yi): x(xi), y(yi), alive(0) {/ -site cp-src/conway.hpp 5 -size c-src/emacs/src/gmalloc.c 156 -size c-src/emacs/src/gmalloc.c 163 -size c-src/emacs/src/gmalloc.c 1862 -size c-src/emacs/src/lisp.h 1364 -size c-src/emacs/src/lisp.h 1390 -size c-src/etags.c 236 -size c-src/etags.c 2522 -skeyseen c-src/etags.c 2445 -skip_name c-src/etags.c /^skip_name (char *cp)$/ -skip_non_spaces c-src/etags.c /^skip_non_spaces (char *cp)$/ -skip_spaces c-src/etags.c /^skip_spaces (char *cp)$/ -snarf-tag-function el-src/emacs/lisp/progmodes/etags.el /^(defvar snarf-tag-function nil$/ -snone c-src/etags.c 2443 -solutions merc-src/accumulator.m /^:- import_module solutions.$/ -some_mouse_moved c-src/emacs/src/keyboard.c /^some_mouse_moved (void)$/ -space tex-src/texinfo.tex /^ {#2\\labelspace #1}\\dotfill\\doshortpageno{#3}}%/ -space tex-src/texinfo.tex /^ \\dosubsubsecentry{#2.#3.#4.#5\\labelspace#1}{#6}}/ -spacer c-src/emacs/src/lisp.h 1975 -spacer c-src/emacs/src/lisp.h 1982 -spacer c-src/emacs/src/lisp.h 2036 -spacer c-src/emacs/src/lisp.h 2205 -specbind_tag c-src/emacs/src/lisp.h 2943 -specbinding c-src/emacs/src/lisp.h 2955 -specialsymbol prol-src/natded.prolog /^specialsymbol(C1,C2,S):-$/ -splitexp prol-src/natded.prolog /^splitexp(E,E,('NIL','NIL')):-!.$/ -srclist make-src/Makefile /^srclist: Makefile$/ -ss3 c.c 255 -sss1 c.c 252 -sss2 c.c 253 -sstab prol-src/natded.prolog /^sstab(2,'C',',').$/ -st_C_attribute c-src/etags.c 2209 -st_C_class c-src/etags.c 2212 -st_C_define c-src/etags.c 2213 -st_C_enum c-src/etags.c 2213 -st_C_extern c-src/etags.c 2213 -st_C_gnumacro c-src/etags.c 2208 -st_C_ignore c-src/etags.c 2209 -st_C_javastruct c-src/etags.c 2210 -st_C_objend c-src/etags.c 2207 -st_C_objimpl c-src/etags.c 2207 -st_C_objprot c-src/etags.c 2207 -st_C_operator c-src/etags.c 2211 -st_C_struct c-src/etags.c 2213 -st_C_template c-src/etags.c 2212 -st_C_typedef c-src/etags.c 2213 -st_none c-src/etags.c 2206 -stack c.c 155 -stagseen c-src/etags.c 2446 -standalone make-src/Makefile /^standalone:$/ -start c-src/emacs/src/keyboard.c 8753 -start c-src/emacs/src/lisp.h 2038 -start c-src/emacs/src/regex.h 431 -start php-src/lce_functions.php /^ function start($line, $class)$/ -start y-src/cccp.y 143 -start_polling c-src/emacs/src/keyboard.c /^start_polling (void)$/ -start_up prol-src/natded.prolog /^start_up:-$/ -state_protected_p c-src/emacs/src/gmalloc.c 400 -statetable html-src/algrthms.html /^Next$/ -staticetags make-src/Makefile /^staticetags:$/ -step cp-src/clheir.hpp /^ virtual void step(void) { }$/ -step cp-src/conway.hpp /^ void step(void) { alive = next_alive; }$/ -step_everybody cp-src/clheir.cpp /^void step_everybody(void)$/ -stop_polling c-src/emacs/src/keyboard.c /^stop_polling (void)$/ -store_info merc-src/accumulator.m /^:- type store_info$/ -store_user_signal_events c-src/emacs/src/keyboard.c /^store_user_signal_events (void)$/ -stored_goal_plain_call merc-src/accumulator.m /^:- inst stored_goal_plain_call for goal_store.stor/ -str go-src/test1.go 9 -strcaseeq c-src/etags.c /^#define strcaseeq(s,t) (assert ((s)!=NULL && (t)!=/ -streq c-src/etags.c /^#define streq(s,t) (assert ((s)!=NULL || (t)!=NULL/ -string merc-src/accumulator.m /^:- import_module string.$/ -string_intervals c-src/emacs/src/lisp.h /^string_intervals (Lisp_Object s)$/ -stripLine php-src/lce_functions.php /^ function stripLine($line, $class)$/ -stripname pas-src/common.pas /^function stripname; (* ($/ -strncaseeq c-src/etags.c /^#define strncaseeq(s,t,n) (assert ((s)!=NULL && (t/ -strneq c-src/etags.c /^#define strneq(s,t,n) (assert ((s)!=NULL || (t)!=N/ -structdef c-src/etags.c 2448 -stuff_buffered_input c-src/emacs/src/keyboard.c /^stuff_buffered_input (Lisp_Object stuffstring)$/ -subprocess objc-src/PackInsp.m /^-subprocess:(Subprocess *)sender output:(char *)bu/ -subprocessDone objc-src/PackInsp.m /^-subprocessDone:(Subprocess *)sender$/ -subsec=\relax tex-src/texinfo.tex /^\\let\\appendixsubsec=\\relax$/ -subsection perl-src/htlmify-cystic 26 -subsection=\relax tex-src/texinfo.tex /^\\let\\appendixsubsection=\\relax$/ -subsection_marker perl-src/htlmify-cystic 161 -subst prol-src/natded.prolog /^subst(var(Y),var(X),M,N):-$/ -substitute c-src/etags.c /^substitute (char *in, char *out, struct re_registe/ -subsubsec=\relax tex-src/texinfo.tex /^\\let\\appendixsubsubsec=\\relax$/ -subsubsection perl-src/htlmify-cystic 27 -subsubsection=\relax tex-src/texinfo.tex /^\\let\\appendixsubsubsection=\\relax$/ -subtle ruby-src/test1.ru /^ :tee ; attr_reader :subtle$/ -subtree prol-src/natded.prolog /^subtree(T,T).$/ -suffix c-src/etags.c 186 -suffixes c-src/etags.c 195 -suggest_asking_for_help c-src/etags.c /^suggest_asking_for_help (void)$/ -suspend-emacs c-src/emacs/src/keyboard.c /^DEFUN ("suspend-emacs", Fsuspend_emacs, Ssuspend_e/ -sval y-src/cccp.y 116 -swallow_events c-src/emacs/src/keyboard.c /^swallow_events (bool do_display)$/ -switch_line_buffers c-src/etags.c /^#define switch_line_buffers() (curndx = 1 - curndx/ -sxhash_combine c-src/emacs/src/lisp.h /^sxhash_combine (EMACS_UINT x, EMACS_UINT y)$/ -sym_type c-src/etags.c 2204 -symbol c-src/emacs/src/lisp.h 2980 -symbol_interned c-src/emacs/src/lisp.h 639 -symbol_name c-src/emacs/src/lisp.h 1687 -symbol_redirect c-src/emacs/src/lisp.h 646 -syms_of_abbrev c-src/abbrev.c /^syms_of_abbrev ()$/ -syms_of_keyboard c-src/emacs/src/keyboard.c /^syms_of_keyboard (void)$/ -synchronize_system_messages_locale c-src/emacs/src/lisp.h /^INLINE void synchronize_system_messages_locale (vo/ -synchronize_system_time_locale c-src/emacs/src/lisp.h /^INLINE void synchronize_system_time_locale (void) / -syntax c-src/emacs/src/regex.h 350 -sys_jmp_buf c-src/emacs/src/lisp.h 2906 -sys_jmp_buf c-src/emacs/src/lisp.h 2910 -sys_jmp_buf c-src/emacs/src/lisp.h 2916 -sys_longjmp c-src/emacs/src/lisp.h /^# define sys_longjmp(j, v) _longjmp (j, v)$/ -sys_longjmp c-src/emacs/src/lisp.h /^# define sys_longjmp(j, v) longjmp (j, v)$/ -sys_longjmp c-src/emacs/src/lisp.h /^# define sys_longjmp(j, v) siglongjmp (j, v)$/ -sys_setjmp c-src/emacs/src/lisp.h /^# define sys_setjmp(j) _setjmp (j)$/ -sys_setjmp c-src/emacs/src/lisp.h /^# define sys_setjmp(j) setjmp (j)$/ -sys_setjmp c-src/emacs/src/lisp.h /^# define sys_setjmp(j) sigsetjmp (j, 0)$/ -syscall_error c-src/sysdep.h 34 -t cp-src/c.C 52 -t1 cp-src/c.C 34 -t2 cp-src/c.C 38 -tab_count_words c-src/tab.c /^int tab_count_words(char **tab)$/ -tab_delete_first c-src/tab.c /^int tab_delete_first(char **tab)$/ -tab_fill c-src/tab.c /^char **tab_fill(char *str, char delim)$/ -tab_free c-src/tab.c /^void tab_free(char **tab)$/ -tag-any-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-any-match-p (_tag)$/ -tag-exact-file-name-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-exact-file-name-match-p (tag)$/ -tag-exact-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-exact-match-p (tag)$/ -tag-file-name-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-file-name-match-p (tag)$/ -tag-find-file-of-tag el-src/emacs/lisp/progmodes/etags.el /^(defun tag-find-file-of-tag (file) ; Doc string?$/ -tag-find-file-of-tag-noselect el-src/emacs/lisp/progmodes/etags.el /^(defun tag-find-file-of-tag-noselect (file)$/ -tag-implicit-name-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-implicit-name-match-p (tag)$/ -tag-lines-already-matched el-src/emacs/lisp/progmodes/etags.el /^(defvar tag-lines-already-matched nil$/ -tag-partial-file-name-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-partial-file-name-match-p (_tag)$/ -tag-re-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-re-match-p (re)$/ -tag-symbol-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-symbol-match-p (tag)$/ -tag-word-match-p el-src/emacs/lisp/progmodes/etags.el /^(defun tag-word-match-p (tag)$/ -tag1 c-src/dostorture.c /^(*tag1 (sig, handler)) ()$/ -tag1 c-src/h.h 110 -tag1 c-src/torture.c /^(*tag1 (sig, handler)) ()$/ -tag2 c-src/dostorture.c /^(*tag2 (sig, handler)) ()$/ -tag2 c-src/torture.c /^(*tag2 (sig, handler)) ()$/ -tag3 c-src/dostorture.c /^(*tag3 (int sig, void (*handler) (int))) (int)$/ -tag3 c-src/torture.c /^(*tag3 (int sig, void (*handler) (int))) (int)$/ -tag4 c-src/dostorture.c /^(*tag4 (int sig, void (*handler) (int))) (int)$/ -tag4 c-src/torture.c /^(*tag4 (int sig, void (*handler) (int))) (int)$/ -tag5 c-src/dostorture.c /^tag5 (handler, arg)$/ -tag5 c-src/torture.c /^tag5 (handler, arg)$/ -tag6 c-src/dostorture.c /^tag6 (void (*handler) (void *), void *arg)$/ -tag6 c-src/torture.c /^tag6 (void (*handler) (void *), void *arg)$/ -tag_or_ch c-src/emacs/src/lisp.h 3026 -taggedfname c-src/etags.c 207 -tags make-src/Makefile /^tags: TAGS$/ -tags-add-tables el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-add-tables 'ask-user$/ -tags-apropos el-src/emacs/lisp/progmodes/etags.el /^(defun tags-apropos (regexp)$/ -tags-apropos-additional-actions el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-apropos-additional-actions nil$/ -tags-apropos-function el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-apropos-function nil$/ -tags-apropos-verbose el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-apropos-verbose nil$/ -tags-case-fold-search el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-case-fold-search 'default$/ -tags-complete-tags-table-file el-src/emacs/lisp/progmodes/etags.el /^(defun tags-complete-tags-table-file (string predi/ -tags-completion-at-point-function el-src/emacs/lisp/progmodes/etags.el /^(defun tags-completion-at-point-function ()$/ -tags-completion-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-completion-table ()$/ -tags-completion-table el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-completion-table nil$/ -tags-completion-table-function el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-completion-table-function nil$/ -tags-compression-info-list el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-compression-info-list$/ -tags-expand-table-name el-src/emacs/lisp/progmodes/etags.el /^(defun tags-expand-table-name (file)$/ -tags-file-name el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-file-name nil$/ -tags-included-tables el-src/emacs/lisp/progmodes/etags.el /^(defun tags-included-tables ()$/ -tags-included-tables el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-included-tables nil$/ -tags-included-tables-function el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-included-tables-function nil$/ -tags-lazy-completion-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-lazy-completion-table ()$/ -tags-location-ring el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-location-ring (make-ring xref-marker-/ -tags-loop-continue el-src/emacs/lisp/progmodes/etags.el /^(defun tags-loop-continue (&optional first-time)$/ -tags-loop-eval el-src/emacs/lisp/progmodes/etags.el /^(defun tags-loop-eval (form)$/ -tags-loop-operate el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-loop-operate nil$/ -tags-loop-revert-buffers el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-loop-revert-buffers nil$/ -tags-loop-scan el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-loop-scan$/ -tags-next-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-next-table ()$/ -tags-query-replace el-src/emacs/lisp/progmodes/etags.el /^(defun tags-query-replace (from to &optional delim/ -tags-recognize-empty-tags-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-recognize-empty-tags-table ()$/ -tags-reset-tags-tables el-src/emacs/lisp/progmodes/etags.el /^(defun tags-reset-tags-tables ()$/ -tags-revert-without-query el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-revert-without-query nil$/ -tags-search el-src/emacs/lisp/progmodes/etags.el /^(defun tags-search (regexp &optional file-list-for/ -tags-select-tags-table el-src/emacs/lisp/progmodes/etags.el /^(define-button-type 'tags-select-tags-table$/ -tags-table-check-computed-list el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-check-computed-list ()$/ -tags-table-computed-list el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-computed-list nil$/ -tags-table-computed-list-for el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-computed-list-for nil$/ -tags-table-extend-computed-list el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-extend-computed-list ()$/ -tags-table-files el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-files ()$/ -tags-table-files el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-files nil$/ -tags-table-files-function el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-files-function nil$/ -tags-table-format-functions el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-format-functions '(etags-recogn/ -tags-table-including el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-including (this-file core-only)$/ -tags-table-list el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-table-list nil$/ -tags-table-list-member el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-list-member (file list)$/ -tags-table-list-pointer el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-list-pointer nil$/ -tags-table-list-started-at el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-list-started-at nil$/ -tags-table-mode el-src/emacs/lisp/progmodes/etags.el /^(defun tags-table-mode ()$/ -tags-table-set-list el-src/emacs/lisp/progmodes/etags.el /^(defvar tags-table-set-list nil$/ -tags-tag-face el-src/emacs/lisp/progmodes/etags.el /^(defcustom tags-tag-face 'default$/ -tags-verify-table el-src/emacs/lisp/progmodes/etags.el /^(defun tags-verify-table (file)$/ -tags-with-face el-src/emacs/lisp/progmodes/etags.el /^(defmacro tags-with-face (face &rest body)$/ -target_multibyte c-src/emacs/src/regex.h 407 -tcpdump html-src/software.html /^tcpdump$/ -teats cp-src/c.C 127 -tee ruby-src/test1.ru /^ attr_accessor :tee$/ -tee= ruby-src/test1.ru /^ attr_accessor :tee$/ -temporarily_switch_to_single_kboard c-src/emacs/src/keyboard.c /^temporarily_switch_to_single_kboard (struct frame / -tend c-src/etags.c 2432 -term merc-src/accumulator.m /^:- import_module term.$/ -terminate objc-src/Subprocess.m /^- terminate:sender$/ -terminateInput objc-src/Subprocess.m /^- terminateInput$/ -test c-src/emacs/src/lisp.h 1871 -test cp-src/c.C 86 -test erl-src/gs_dialog.erl /^test() ->$/ -test go-src/test1.go /^func test(p plus) {$/ -test make-src/Makefile /^test:$/ -test php-src/ptest.php /^test $/ -test-begin scm-src/test.scm /^(define-syntax test-begin$/ -test.me22b lua-src/test.lua /^ local function test.me22b (one)$/ -test.me_22a lua-src/test.lua /^ function test.me_22a(one, two)$/ -test1 rs-src/test.rs /^fn test1() {$/ -test_undefined c-src/emacs/src/keyboard.c /^test_undefined (Lisp_Object binding)$/ -texttreelist prol-src/natded.prolog /^texttreelist([]).$/ -there-is-a-=-in-the-middle! scm-src/test.scm /^(define (there-is-a-=-in-the-middle!) #t)$/ -this c-src/a/b/b.c 1 -this-command-keys c-src/emacs/src/keyboard.c /^DEFUN ("this-command-keys", Fthis_command_keys, St/ -this-command-keys-vector c-src/emacs/src/keyboard.c /^DEFUN ("this-command-keys-vector", Fthis_command_k/ -this-single-command-keys c-src/emacs/src/keyboard.c /^DEFUN ("this-single-command-keys", Fthis_single_co/ -this-single-command-raw-keys c-src/emacs/src/keyboard.c /^DEFUN ("this-single-command-raw-keys", Fthis_singl/ -this_command_key_count c-src/emacs/src/keyboard.c 108 -this_command_key_count_reset c-src/emacs/src/keyboard.c 112 -this_command_keys c-src/emacs/src/keyboard.c 107 -this_file_toc perl-src/htlmify-cystic 29 -this_single_command_key_start c-src/emacs/src/keyboard.c 125 -tignore c-src/etags.c 2433 -timer_check c-src/emacs/src/keyboard.c /^timer_check (void)$/ -timer_check_2 c-src/emacs/src/keyboard.c /^timer_check_2 (Lisp_Object timers, Lisp_Object idl/ -timer_idleness_start_time c-src/emacs/src/keyboard.c 335 -timer_last_idleness_start_time c-src/emacs/src/keyboard.c 340 -timer_resume_idle c-src/emacs/src/keyboard.c /^timer_resume_idle (void)$/ -timer_start_idle c-src/emacs/src/keyboard.c /^timer_start_idle (void)$/ -timer_stop_idle c-src/emacs/src/keyboard.c /^timer_stop_idle (void)$/ -timers_run c-src/emacs/src/keyboard.c 320 -tinbody c-src/etags.c 2431 -tkeyseen c-src/etags.c 2429 -tnone c-src/etags.c 2428 -toc_line perl-src/htlmify-cystic /^sub toc_line ($)$/ -toggleDescription objc-src/PackInsp.m /^-toggleDescription$/ -tok c-src/etags.c 2491 -token c-src/etags.c 2508 -token y-src/cccp.y 437 -token y-src/cccp.y 439 -tokenize prol-src/natded.prolog /^tokenize([C1,C2,C3|Cs],Xs-Ys,TsResult):- % spe/ -tokenizeatom prol-src/natded.prolog /^tokenizeatom(Atom,Ws):-$/ -tokentab2 y-src/cccp.y 442 -tool_bar_item_properties c-src/emacs/src/keyboard.c 7970 -tool_bar_items c-src/emacs/src/keyboard.c /^tool_bar_items (Lisp_Object reuse, int *nitems)$/ -tool_bar_items_vector c-src/emacs/src/keyboard.c 7965 -toolkit_menubar_in_use c-src/emacs/src/keyboard.c /^toolkit_menubar_in_use (struct frame *f)$/ -top-level c-src/emacs/src/keyboard.c /^DEFUN ("top-level", Ftop_level, Stop_level, 0, 0, / -top_level merc-src/accumulator.m /^:- type top_level$/ -top_level_1 c-src/emacs/src/keyboard.c /^top_level_1 (Lisp_Object ignore)$/ -top_level_2 c-src/emacs/src/keyboard.c /^top_level_2 (void)$/ -total_keys c-src/emacs/src/keyboard.c 97 -total_size_of_entries c-src/etags.c /^total_size_of_entries (register node *np)$/ -total_surrounding cp-src/conway.cpp /^int site::total_surrounding(void)$/ -totally_unblock_input c-src/emacs/src/keyboard.c /^totally_unblock_input (void)$/ -tpcmd c-src/h.h 15 -tpcmd c-src/h.h 8 -track-mouse c-src/emacs/src/keyboard.c /^DEFUN ("internal--track-mouse", Ftrack_mouse, Stra/ -tracking_off c-src/emacs/src/keyboard.c /^tracking_off (Lisp_Object old_value)$/ -traffic_light cp-src/conway.cpp /^void traffic_light(int x, int y)$/ -translate c-src/emacs/src/regex.h 361 -treats cp-src/c.C 131 -tt prol-src/natded.prolog /^tt:-$/ -tt=cmtt10 tex-src/texinfo.tex /^\\font\\deftt=cmtt10 scaled \\magstep1$/ -tty_read_avail_input c-src/emacs/src/keyboard.c /^tty_read_avail_input (struct terminal *terminal,$/ -ttypeseen c-src/etags.c 2430 -typdef c-src/etags.c 2434 -type c-src/emacs/src/gmalloc.c 145 -type c-src/emacs/src/lisp.h 1973 -type c-src/emacs/src/lisp.h 1980 -type c-src/emacs/src/lisp.h 2034 -type c-src/emacs/src/lisp.h 2112 -type c-src/emacs/src/lisp.h 2203 -type c-src/emacs/src/lisp.h 2276 -type c-src/emacs/src/lisp.h 2286 -type c-src/emacs/src/lisp.h 2296 -type c-src/emacs/src/lisp.h 2304 -type c-src/emacs/src/lisp.h 2364 -type c-src/emacs/src/lisp.h 3025 -type c-src/etags.c 2271 -typefunargs tex-src/texinfo.tex /^\\deftypefunargs {#3}\\endgroup %$/ -typefunargs tex-src/texinfo.tex /^\\deftypefunargs {#4}\\endgroup %$/ -typemargin tex-src/texinfo.tex /^\\newskip\\deftypemargin \\deftypemargin=12pt$/ -typemargin tex-src/texinfo.tex /^\\rlap{\\rightline{{\\rm #2}\\hskip \\deftypemargin}}}%/ -u c-src/emacs/src/lisp.h 2397 -u_any c-src/emacs/src/lisp.h 2214 -u_boolfwd c-src/emacs/src/lisp.h 2371 -u_buffer_objfwd c-src/emacs/src/lisp.h 2373 -u_finalizer c-src/emacs/src/lisp.h 2219 -u_free c-src/emacs/src/lisp.h 2215 -u_intfwd c-src/emacs/src/lisp.h 2370 -u_kboard_objfwd c-src/emacs/src/lisp.h 2374 -u_marker c-src/emacs/src/lisp.h 2216 -u_objfwd c-src/emacs/src/lisp.h 2372 -u_overlay c-src/emacs/src/lisp.h 2217 -u_save_value c-src/emacs/src/lisp.h 2218 -unargs tex-src/texinfo.tex /^\\defunargs {#2}\\endgroup %$/ -unargs tex-src/texinfo.tex /^\\defunargs {#3}\\endgroup %$/ -unblock_input c-src/emacs/src/keyboard.c /^unblock_input (void)$/ -unblock_input_to c-src/emacs/src/keyboard.c /^unblock_input_to (int level)$/ -unchar c-src/h.h 99 -unexpand-abbrev c-src/abbrev.c /^DEFUN ("unexpand-abbrev", Funexpand_abbrev, Sunexp/ -univ merc-src/accumulator.m /^:- import_module univ.$/ -unravel_univ merc-src/accumulator.m /^:- some [T] pred unravel_univ(univ::in, T::out) is/ -unread_switch_frame c-src/emacs/src/keyboard.c 204 -unsignedp y-src/cccp.y 112 -unwind c-src/emacs/src/lisp.h 2962 -unwind_int c-src/emacs/src/lisp.h 2972 -unwind_ptr c-src/emacs/src/lisp.h 2967 -unwind_void c-src/emacs/src/lisp.h 2976 -update_accumulator_pred merc-src/accumulator.m /^:- pred update_accumulator_pred(pred_id::in, proc_/ -uprintmax_t c-src/emacs/src/lisp.h 149 -uprintmax_t c-src/emacs/src/lisp.h 154 -usage perl-src/yagrip.pl /^sub usage {$/ -usecharno c-src/etags.c 210 -used c-src/emacs/src/regex.h 347 -used_syntax c-src/emacs/src/regex.h 398 -user_cmp_function c-src/emacs/src/lisp.h 1814 -user_error c-src/emacs/src/keyboard.c /^user_error (const char *msg)$/ -user_hash_function c-src/emacs/src/lisp.h 1811 -user_signal_info c-src/emacs/src/keyboard.c 7235 -user_signals c-src/emacs/src/keyboard.c 7250 -usfreelock_ptr/t ada-src/etags-test-for.ada /^ type usfreelock_ptr is access$/ -val c-src/emacs/src/lisp.h 3027 -val c-src/emacs/src/lisp.h 691 -val c-src/getopt.h 84 -val prol-src/natded.prolog /^val(X) --> ['['], valseq(X), [']'].$/ -valcell c-src/emacs/src/lisp.h 2357 -valid c-src/etags.c 220 -valid c-src/etags.c 2502 -validate php-src/lce_functions.php /^ function validate($value)$/ -valloc c-src/emacs/src/gmalloc.c /^valloc (size_t size)$/ -valseq prol-src/natded.prolog /^valseq([Val|Vals]) --> val(Val), plusvalseq(Vals)./ -value c-src/emacs/src/lisp.h 687 -value y-src/cccp.y 112 -var c-src/emacs/src/keyboard.c 11023 -var c-src/emacs/src/lisp.h 3137 -varargs tex-src/texinfo.tex /^\\defvarargs {#2}\\endgroup %$/ -varargs tex-src/texinfo.tex /^\\defvarargs {#3}\\endgroup %$/ -varset merc-src/accumulator.m /^:- import_module varset.$/ -vcopy c-src/emacs/src/lisp.h /^vcopy (Lisp_Object v, ptrdiff_t offset, Lisp_Objec/ -vectorlike_header c-src/emacs/src/lisp.h 1343 -verde cp-src/c.C 40 -verify-tags-table-function el-src/emacs/lisp/progmodes/etags.el /^(defvar verify-tags-table-function nil$/ -verify_ascii c-src/emacs/src/lisp.h /^# define verify_ascii(str) (str)$/ -vignore c-src/etags.c 2417 -visit-tags-table el-src/emacs/lisp/progmodes/etags.el /^(defun visit-tags-table (file &optional local)$/ -visit-tags-table-buffer el-src/emacs/lisp/progmodes/etags.el /^(defun visit-tags-table-buffer (&optional cont)$/ -void c-src/emacs/src/lisp.h /^INLINE void (check_cons_list) (void) { lisp_h_chec/ -voidfuncptr c-src/emacs/src/lisp.h 2108 -voidval y-src/cccp.y 115 -wait_status_ptr_t c.c 161 -waiting_for_input c-src/emacs/src/keyboard.c 150 -warning y-src/cccp.y /^warning (msg)$/ -weak c-src/emacs/src/lisp.h 1830 -weak_alias c-src/emacs/src/gmalloc.c /^weak_alias (free, cfree)$/ -web ftp publish make-src/Makefile /^web ftp publish:$/ -what c-src/etags.c 252 -wheel_syms c-src/emacs/src/keyboard.c 4628 -where c-src/emacs/src/lisp.h 2348 -where c-src/emacs/src/lisp.h 2980 -where cp-src/clheir.hpp 77 -where_in_registry cp-src/clheir.hpp 15 -windowWillClose objcpp-src/SimpleCalc.M /^- windowWillClose:sender$/ -wipe_kboard c-src/emacs/src/keyboard.c /^wipe_kboard (KBOARD *kb)$/ -womboid c-src/h.h 63 -womboid c-src/h.h 75 -word_size c-src/emacs/src/lisp.h 1473 -write php-src/lce_functions.php /^ function write($save="yes")$/ -write php-src/lce_functions.php /^ function write()$/ -write1= ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :writ/ -write2= ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :writ/ -write_abbrev c-src/abbrev.c /^write_abbrev (sym, stream)$/ -write_classname c-src/etags.c /^write_classname (linebuffer *cn, const char *quali/ -write_lex prol-src/natded.prolog /^write_lex(File):-$/ -write_lex_cat prol-src/natded.prolog /^write_lex_cat(File):-$/ -write_xyc cp-src/screen.cpp /^void write_xyc(int x, int y, char c)$/ -writebreak prol-src/natded.prolog /^writebreak([]).$/ -writebreaklex prol-src/natded.prolog /^writebreaklex([]).$/ -writecat prol-src/natded.prolog /^writecat(np(ind(sng),nm(_)),np,[],[]):-!.$/ -writelist prol-src/natded.prolog /^writelist([der(Ws)|Ws2]):-$/ -writelistsubs prol-src/natded.prolog /^writelistsubs([],X):-$/ -writenamestring pas-src/common.pas /^procedure writenamestring;(*($/ -writesubs prol-src/natded.prolog /^writesubs([]).$/ -writesups prol-src/natded.prolog /^writesups([]).$/ -written c-src/etags.c 211 -x c.c 153 -x c.c 179 -x c.c 188 -x c.c 189 -x cp-src/c.C 53 -x cp-src/c.C 80 -x cp-src/clheir.hpp 49 -x cp-src/clheir.hpp 58 -x cp-src/conway.hpp 7 -x cp-src/fail.C 10 -x cp-src/fail.C 44 -x tex-src/texinfo.tex /^\\refx{#1-snt}{} [\\printednodename], page\\tie\\refx{/ -x-get-selection-internal c.c /^ Fx_get_selection_internal, Sx_get_selection/ -x-get-selection-internal c.c /^DEFUN ("x-get-selection-internal", Fx_get_selectio/ -xcar_addr c-src/emacs/src/lisp.h /^xcar_addr (Lisp_Object c)$/ -xcdr_addr c-src/emacs/src/lisp.h /^xcdr_addr (Lisp_Object c)$/ -xdiff make-src/Makefile /^xdiff: ETAGS EXTAGS ${infiles}$/ -xmalloc c-src/etags.c /^xmalloc (size_t size)$/ -xnew c-src/etags.c /^#define xnew(n, Type) ((Type *) xmalloc ((n) / -xrealloc c-src/etags.c /^xrealloc (void *ptr, size_t size)$/ -xref-etags-location el-src/emacs/lisp/progmodes/etags.el /^(defclass xref-etags-location (xref-location)$/ -xref-location-line el-src/emacs/lisp/progmodes/etags.el /^(cl-defmethod xref-location-line ((l xref-etags-lo/ -xref-location-marker el-src/emacs/lisp/progmodes/etags.el /^(cl-defmethod xref-location-marker ((l xref-etags-/ -xref-make-etags-location el-src/emacs/lisp/progmodes/etags.el /^(defun xref-make-etags-location (tag-info file)$/ -xrnew c-src/etags.c /^#define xrnew(op, n, Type) ((op) = (Type *) xreall/ -xx make-src/Makefile /^xx="this line is here because of a fontlock bug$/ -xyz ruby-src/test1.ru /^ alias_method :xyz,$/ -y cp-src/clheir.hpp 49 -y cp-src/clheir.hpp 58 -y cp-src/conway.hpp 7 -y-get-selection-internal c.c /^ Fy_get_selection_internal, Sy_get_selection_/ -yyalloc /usr/share/bison/bison.simple 83 -yyalloc /usr/share/bison/bison.simple 84 -yyclearin /usr/share/bison/bison.simple 149 -yyclearin /usr/share/bison/bison.simple 150 -yydebug /usr/share/bison/bison.simple 237 -yydebug /usr/share/bison/bison.simple 238 -yyerrhandle /usr/share/bison/bison.simple 848 -yyerrlab1 /usr/share/bison/bison.simple 823 -yyerrok /usr/share/bison/bison.simple 148 -yyerrok /usr/share/bison/bison.simple 149 -yyerror y-src/cccp.y /^yyerror (s)$/ -yyerrstatus /usr/share/bison/bison.simple 846 -yylex y-src/cccp.y /^yylex ()$/ -yyls /usr/share/bison/bison.simple 88 -yyls /usr/share/bison/bison.simple 89 -yylsp /usr/share/bison/bison.simple 748 -yylsp /usr/share/bison/bison.simple 921 -yymemcpy /usr/share/bison/bison.simple /^yymemcpy (char *yyto, const char *yyfrom, YYSIZE_T/ -yymemcpy /usr/share/bison/bison.simple 264 -yymemcpy /usr/share/bison/bison.simple 265 -yyn /usr/share/bison/bison.simple 755 -yyn /usr/share/bison/bison.simple 861 -yyn /usr/share/bison/bison.simple 895 -yyn /usr/share/bison/bison.simple 903 -yynewstate /usr/share/bison/bison.simple 763 -yynewstate /usr/share/bison/bison.simple 925 -yyparse /usr/share/bison/bison.simple /^yyparse (YYPARSE_PARAM_ARG)$/ -yyresult /usr/share/bison/bison.simple 932 -yyresult /usr/share/bison/bison.simple 939 -yyresult /usr/share/bison/bison.simple 947 -yyreturn /usr/share/bison/bison.simple 933 -yyreturn /usr/share/bison/bison.simple 940 -yyss /usr/share/bison/bison.simple 85 -yyss /usr/share/bison/bison.simple 86 -yystate /usr/share/bison/bison.simple 757 -yystate /usr/share/bison/bison.simple 761 -yystate /usr/share/bison/bison.simple 875 -yystate /usr/share/bison/bison.simple 924 -yystpcpy /usr/share/bison/bison.simple /^yystpcpy (char *yydest, const char *yysrc)$/ -yystpcpy /usr/share/bison/bison.simple 316 -yystpcpy /usr/share/bison/bison.simple 317 -yystrlen /usr/share/bison/bison.simple /^yystrlen (const char *yystr)$/ -yystrlen /usr/share/bison/bison.simple 293 -yystrlen /usr/share/bison/bison.simple 294 -yyvs /usr/share/bison/bison.simple 86 -yyvs /usr/share/bison/bison.simple 87 -yyvsp /usr/share/bison/bison.simple 746 -yyvsp /usr/share/bison/bison.simple 919 -z c.c 144 -z c.c 164 -z cp-src/clheir.hpp 49 -z cp-src/clheir.hpp 58 -| tex-src/texinfo.tex /^\\def|{{\\tt \\char '174}}$/ -~ tex-src/texinfo.tex /^\\def~{{\\tt \\char '176}}$/ -~A cp-src/c.C /^A::~A() {}$/ -~B cp-src/c.C /^ ~B() {};$/ -~MDiagArray2 cp-src/MDiagArray2.h /^ ~MDiagArray2 (void) { }$/ -~generic_object cp-src/clheir.cpp /^generic_object::~generic_object(void)$/ diff --git a/test/manual/etags/ETAGS.good_1 b/test/manual/etags/ETAGS.good_1 deleted file mode 100644 index 4baaff4c425..00000000000 --- a/test/manual/etags/ETAGS.good_1 +++ /dev/null @@ -1,4343 +0,0 @@ - -ada-src/etags-test-for.ada,1969 - type LL_Task_Procedure_Access LL_Task_Procedure_Access/t1,0 - function Body_RequiredBody_Required/f3,78 - type Type_Specific_Data Type_Specific_Data/t11,280 - function "abs"abs/f19,504 - type Barrier_Function_Pointer Barrier_Function_Pointer/t21,577 - function "="=/f27,722 - type usfreelock_ptr usfreelock_ptr/t30,803 - function p p/f33,891 - procedure LL_Wrapper LL_Wrapper/p37,1054 -function p p/f39,1094 -package Pkg1 Pkg1/s44,1203 - type Private_T Private_T/t46,1220 - package Inner1 Inner1/s48,1250 - procedure Private_T;Private_T/p49,1270 - package Inner2 Inner2/s52,1310 - task Private_T;Private_T/k53,1330 - type Public_T Public_T/t56,1365 - procedure Pkg1_Proc1;Pkg1_Proc1/p62,1450 - procedure Pkg1_Proc2 Pkg1_Proc2/p64,1475 - function Pkg1_Func1 Pkg1_Func1/f66,1514 - function Pkg1_Func2 Pkg1_Func2/f68,1553 - package Pkg1_Pkg1 Pkg1_Pkg1/s71,1622 - procedure Pkg1_Pkg1_Proc1;Pkg1_Pkg1_Proc1/p72,1645 - task type Task_Type Task_Type/k75,1694 - type Private_T Private_T/t82,1786 -package body Pkg1 Pkg1/b89,1882 - procedure Pkg1_Proc1 Pkg1_Proc1/p91,1904 - package body Inner1 Inner1/b96,1956 - procedure Private_T Private_T/p97,1981 - package body Inner2 Inner2/b103,2054 - task body Private_T Private_T/b104,2079 - task body Task_Type Task_Type/b112,2181 - procedure Pkg1_Proc2 Pkg1_Proc2/p126,2367 - function Pkg1_Func1 Pkg1_Func1/f132,2445 - function Pkg1_Func2 Pkg1_Func2/f134,2496 - package body Pkg1_Pkg1 Pkg1_Pkg1/b140,2596 -package body Pkg1_Pkg1 Pkg1_Pkg1/b146,2663 - procedure Pkg1_Pkg1_Proc1 Pkg1_Pkg1_Proc1/p147,2689 -function Pkg1_Func1 Pkg1_Func1/f155,2778 -package Truc Truc/s162,2887 -package Truc.Bidule Truc.Bidule/s166,2929 - protected Bidule Bidule/t168,2953 - protected type Machin_T Machin_T/t172,3007 -package body Truc.Bidule Truc.Bidule/b178,3087 - protected body Bidule Bidule/b179,3115 - protected Machin_T Machin_T/t186,3207 - -ada-src/2ataspri.adb,2190 -package body System.Task_Primitives System.Task_Primitives/b64,2603 - package RTE RTE/s69,2712 - package TSL TSL/s70,2759 - function To_void_ptr To_void_ptr/f86,3287 - function To_TCB_Ptr To_TCB_Ptr/f89,3366 - function pthread_mutexattr_setprotocolpthread_mutexattr_setprotocol/f92,3444 - function pthread_mutexattr_setprio_ceilingpthread_mutexattr_setprio_ceiling/f99,3728 - procedure Abort_WrapperAbort_Wrapper/p115,4302 - procedure LL_Wrapper LL_Wrapper/p122,4526 - procedure Initialize_LL_Tasks Initialize_LL_Tasks/p131,4830 - function Self Self/f160,5586 - procedure Initialize_LockInitialize_Lock/p174,5958 - procedure Finalize_Lock Finalize_Lock/p210,6927 - procedure Write_Lock Write_Lock/p226,7338 - procedure Read_Lock Read_Lock/p239,7700 - procedure Unlock Unlock/p246,7850 - procedure Initialize_Cond Initialize_Cond/p258,8160 - procedure Finalize_Cond Finalize_Cond/p286,8979 - procedure Cond_Wait Cond_Wait/p300,9303 - procedure Cond_Timed_WaitCond_Timed_Wait/p312,9661 - procedure Cond_Signal Cond_Signal/p343,10510 - procedure Set_PrioritySet_Priority/p355,10836 - procedure Set_Own_Priority Set_Own_Priority/p372,11243 - function Get_Priority Get_Priority/f385,11598 - function Get_Own_Priority Get_Own_Priority/f398,12023 - procedure Create_LL_TaskCreate_LL_Task/p412,12438 - function To_Start_Addr To_Start_Addr/f426,12873 - procedure Exit_LL_Task Exit_LL_Task/p491,14995 - procedure Abort_Task Abort_Task/p500,15158 - procedure Test_Abort Test_Abort/p518,15716 - procedure Install_Abort_Handler Install_Abort_Handler/p527,15878 - procedure Abort_WrapperAbort_Wrapper/p557,16939 - function Address_To_Call_State Address_To_Call_State/f562,17062 - procedure Install_Error_Handler Install_Error_Handler/p573,17351 - procedure LL_Assert LL_Assert/p599,18146 - procedure LL_Wrapper LL_Wrapper/p608,18299 - procedure Initialize_TAS_Cell Initialize_TAS_Cell/p630,19010 - procedure Finalize_TAS_Cell Finalize_TAS_Cell/p635,19129 - procedure Clear Clear/p640,19236 - procedure Test_And_Set Test_And_Set/p645,19330 - function Is_Set Is_Set/f659,19676 - -ada-src/2ataspri.ads,2313 -package System.Task_Primitives System.Task_Primitives/s58,3169 - type LL_Task_Procedure_Access LL_Task_Procedure_Access/t62,3253 - type Pre_Call_State Pre_Call_State/t64,3331 - type Task_Storage_Size Task_Storage_Size/t66,3378 - type Machine_Exceptions Machine_Exceptions/t68,3433 - type Error_Information Error_Information/t70,3499 - type Lock Lock/t72,3569 - type Condition_Variable Condition_Variable/t73,3594 - type Task_Control_Block Task_Control_Block/t81,3955 - type TCB_Ptr TCB_Ptr/t89,4241 - function Address_To_TCB_Ptr Address_To_TCB_Ptr/f93,4333 - procedure Initialize_LL_Tasks Initialize_LL_Tasks/p96,4425 - function Self Self/f100,4602 - procedure Initialize_Lock Initialize_Lock/p103,4707 - procedure Finalize_Lock Finalize_Lock/p107,4879 - procedure Write_Lock Write_Lock/p111,5034 - procedure Read_Lock Read_Lock/p118,5428 - procedure Unlock Unlock/p128,5995 - procedure Initialize_Cond Initialize_Cond/p135,6300 - procedure Finalize_Cond Finalize_Cond/p138,6413 - procedure Cond_Wait Cond_Wait/p142,6591 - procedure Cond_Timed_WaitCond_Timed_Wait/p155,7396 - procedure Cond_Signal Cond_Signal/p164,7812 - procedure Set_Priority Set_Priority/p169,8040 - procedure Set_Own_Priority Set_Own_Priority/p173,8200 - function Get_Priority Get_Priority/f177,8348 - function Get_Own_Priority Get_Own_Priority/f181,8504 - procedure Create_LL_TaskCreate_LL_Task/p185,8647 - procedure Exit_LL_Task;Exit_LL_Task/p198,9282 - procedure Abort_Task Abort_Task/p203,9516 - procedure Test_Abort;Test_Abort/p210,9878 - type Abort_Handler_Pointer Abort_Handler_Pointer/t217,10233 - procedure Install_Abort_Handler Install_Abort_Handler/p219,10312 - procedure Install_Error_Handler Install_Error_Handler/p226,10741 - procedure LL_Assert LL_Assert/p231,10983 - type Proc Proc/t238,11240 - type TAS_Cell TAS_Cell/t242,11328 - procedure Initialize_TAS_Cell Initialize_TAS_Cell/p249,11670 - procedure Finalize_TAS_Cell Finalize_TAS_Cell/p255,11941 - procedure Clear Clear/p260,12157 - procedure Test_And_Set Test_And_Set/p267,12462 - function Is_Set Is_Set/f275,12877 - type Lock Lock/t283,13155 - type Condition_Variable Condition_Variable/t288,13267 - type TAS_Cell TAS_Cell/t293,13389 - -ada-src/waroquiers.ada,1503 -package Pkg1 Pkg1/s3,89 - type Private_T Private_T/t5,106 - package Inner1 Inner1/s7,136 - procedure Private_T;Private_T/p8,156 - package Inner2 Inner2/s11,196 - task Private_T;Private_T/k12,216 - type Public_T Public_T/t15,251 - procedure Pkg1_Proc1;Pkg1_Proc1/p21,336 - procedure Pkg1_Proc2 Pkg1_Proc2/p23,361 - function Pkg1_Func1 Pkg1_Func1/f25,400 - function Pkg1_Func2 Pkg1_Func2/f27,439 - package Pkg1_Pkg1 Pkg1_Pkg1/s30,508 - procedure Pkg1_Pkg1_Proc1;Pkg1_Pkg1_Proc1/p31,531 - task type Task_Type Task_Type/k34,580 - type Private_T Private_T/t40,671 -package body Pkg1 Pkg1/b46,766 - procedure Pkg1_Proc1 Pkg1_Proc1/p48,788 - package body Inner1 Inner1/b53,840 - procedure Private_T Private_T/p54,865 - package body Inner2 Inner2/b60,938 - task body Private_T Private_T/b61,963 - task body Task_Type Task_Type/b68,1064 - procedure Pkg1_Proc2 Pkg1_Proc2/p82,1250 - function Pkg1_Func1 Pkg1_Func1/f88,1328 - function Pkg1_Func2 Pkg1_Func2/f90,1379 - package body Pkg1_Pkg1 Pkg1_Pkg1/b96,1479 -package body Pkg1_Pkg1 Pkg1_Pkg1/b100,1544 - procedure Pkg1_Pkg1_Proc1 Pkg1_Pkg1_Proc1/p101,1570 -function Pkg1_Func1 Pkg1_Func1/f107,1657 -package Truc Truc/s112,1764 -package Truc.Bidule Truc.Bidule/s116,1816 - protected Bidule Bidule/t125,1964 - protected type Machin_T Machin_T/t131,2046 -package body Truc.Bidule Truc.Bidule/b138,2153 - protected body Bidule Bidule/b139,2181 - protected body Machin_T Machin_T/b146,2281 - -c-src/abbrev.c,1957 -Lisp_Object Vabbrev_table_name_list;43,1429 -Lisp_Object Vglobal_abbrev_table;48,1574 -Lisp_Object Vfundamental_mode_abbrev_table;52,1685 -int abbrevs_changed;56,1786 -int abbrev_all_caps;58,1808 -Lisp_Object Vabbrev_start_location;63,1957 -Lisp_Object Vabbrev_start_location_buffer;66,2046 -Lisp_Object Vlast_abbrev;70,2155 -Lisp_Object Vlast_abbrev_text;75,2324 -int last_abbrev_point;79,2414 -DEFUN ("make-abbrev-table", Fmake_abbrev_table,82,2440 -DEFUN ("make-abbrev-table", Fmake_abbrev_table,make-abbrev-table82,2440 -DEFUN ("clear-abbrev-table", Fclear_abbrev_table,89,2632 -DEFUN ("clear-abbrev-table", Fclear_abbrev_table,clear-abbrev-table89,2632 -DEFUN ("define-abbrev", Fdefine_abbrev,104,3013 -DEFUN ("define-abbrev", Fdefine_abbrev,define-abbrev104,3013 -DEFUN ("define-global-abbrev", Fdefine_global_abbrev,146,4332 -DEFUN ("define-global-abbrev", Fdefine_global_abbrev,define-global-abbrev146,4332 -DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,157,4703 -DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,define-mode-abbrev157,4703 -DEFUN ("abbrev-symbol", Fabbrev_symbol,171,5171 -DEFUN ("abbrev-symbol", Fabbrev_symbol,abbrev-symbol171,5171 -DEFUN ("abbrev-expansion", Fabbrev_expansion,199,6135 -DEFUN ("abbrev-expansion", Fabbrev_expansion,abbrev-expansion199,6135 -DEFUN ("expand-abbrev", Fexpand_abbrev,215,6650 -DEFUN ("expand-abbrev", Fexpand_abbrev,expand-abbrev215,6650 -DEFUN ("unexpand-abbrev", Funexpand_abbrev,383,11495 -DEFUN ("unexpand-abbrev", Funexpand_abbrev,unexpand-abbrev383,11495 -write_abbrev 420,12702 -describe_abbrev 439,13137 -DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,460,13652 -DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,insert-abbrev-table-description460,13652 -DEFUN ("define-abbrev-table", Fdefine_abbrev_table,500,14808 -DEFUN ("define-abbrev-table", Fdefine_abbrev_table,define-abbrev-table500,14808 -syms_of_abbrev 534,15885 - -c-src/torture.c,197 -(*tag1 tag118,452 -#define notag2 26,553 -(*tag2 tag229,630 -(*tag3 tag339,772 -#define notag4 45,861 -(*tag4 tag448,955 -tag5 57,1081 -tag6 66,1208 -int pp1(74,1317 -pp287,1419 -pp3(100,1518 - -c-src/getopt.h,147 -#define _GETOPT_H 19,799 -struct option73,2795 -#define no_argument 89,3122 -#define required_argument 90,3145 -#define optional_argument 91,3173 - -c-src/etags.c,10045 -char pot_etags_version[pot_etags_version81,3471 -# undef DEBUG84,3553 -# define DEBUG 85,3568 -# define DEBUG 87,3595 -# define NDEBUG 88,3618 -# define _GNU_SOURCE 94,3706 -# undef MSDOS100,3877 -# undef WINDOWSNT101,3891 -# define WINDOWSNT102,3910 -# undef MSDOS106,3969 -# define MSDOS 107,3983 -# define MSDOS 110,4033 -# define MAXPATHLEN 115,4112 -# undef HAVE_NTGUI116,4142 -# undef DOS_NT117,4161 -# define DOS_NT118,4177 -# undef assert 135,4483 -# define assert(136,4542 -# undef CTAGS146,4858 -# define CTAGS 147,4873 -# define CTAGS 149,4899 -#define streq(152,4928 -#define strcaseeq(153,4997 -#define strneq(154,5076 -#define strncaseeq(155,5152 -#define CHARS 157,5239 -#define CHAR(158,5279 -#define iswhite(159,5330 -#define notinname(160,5395 -#define begtoken(161,5470 -#define intoken(162,5543 -#define endtoken(163,5615 -#define ISALNUM(165,5685 -#define ISALPHA(166,5723 -#define ISDIGIT(167,5761 -#define ISLOWER(168,5799 -#define lowcase(170,5838 -#define xnew(179,6016 -#define xrnew(180,6084 -typedef void Lang_function 182,6165 -} compressor;188,6366 -} language;199,6836 -typedef struct fdesc201,6849 -} fdesc;212,7367 -typedef struct node_st214,7377 -} node;225,7895 -} linebuffer;239,8249 - at_language,245,8345 - at_regexp,246,8394 - at_filename,247,8438 - at_stdin,248,8474 - at_end 249,8517 -} argument;253,8699 -typedef struct regexp256,8759 -} regexp;268,9326 -static void error 311,10781 -# undef STDIN408,15074 -#define STDIN 411,15096 -static compressor compressors[compressors457,17665 -static const char *Ada_suffixes Ada_suffixes473,17908 -static const char Ada_help 475,17978 -static const char *Asm_suffixes Asm_suffixes493,18581 -static const char Asm_help 504,18977 -static const char *default_C_suffixes default_C_suffixes512,19313 -static const char default_C_help 515,19414 -static const char default_C_help 523,19851 -static const char *Cplusplus_suffixes Cplusplus_suffixes535,20461 -static const char Cplusplus_help 540,20659 -static const char *Cjava_suffixes Cjava_suffixes549,21114 -static char Cjava_help 551,21173 -static const char *Cobol_suffixes Cobol_suffixes556,21338 -static char Cobol_help 558,21403 -static const char *Cstar_suffixes Cstar_suffixes562,21544 -static const char *Erlang_suffixes Erlang_suffixes565,21608 -static const char Erlang_help 567,21674 -const char *Forth_suffixes Forth_suffixes571,21800 -static const char Forth_help 573,21858 -static const char *Fortran_suffixes Fortran_suffixes577,22009 -static const char Fortran_help 579,22086 -static const char *HTML_suffixes HTML_suffixes582,22191 -static const char HTML_help 584,22265 -static const char *Lisp_suffixes Lisp_suffixes589,22453 -static const char Lisp_help 591,22557 -static const char *Lua_suffixes Lua_suffixes598,22872 -static const char Lua_help 600,22935 -static const char *Makefile_filenames Makefile_filenames603,23011 -static const char Makefile_help 605,23134 -static const char *Objc_suffixes Objc_suffixes609,23278 -static const char Objc_help 613,23400 -static const char *Pascal_suffixes Pascal_suffixes619,23715 -static const char Pascal_help 621,23779 -static const char *Perl_suffixes Perl_suffixes626,23967 -static const char *Perl_interpreters Perl_interpreters628,24029 -static const char Perl_help 630,24101 -static const char *PHP_suffixes PHP_suffixes637,24452 -static const char PHP_help 639,24524 -static const char *plain_C_suffixes plain_C_suffixes643,24679 -static const char *PS_suffixes PS_suffixes647,24763 -static const char PS_help 649,24849 -static const char *Prolog_suffixes Prolog_suffixes652,24932 -static const char Prolog_help 654,24994 -static const char *Python_suffixes Python_suffixes658,25108 -static const char Python_help 660,25166 -static const char *Scheme_suffixes Scheme_suffixes665,25348 -static const char Scheme_help 667,25461 -static const char *TeX_suffixes TeX_suffixes672,25684 -static const char TeX_help 674,25782 -static const char *Texinfo_suffixes Texinfo_suffixes686,26317 -static const char Texinfo_help 688,26396 -static const char *Yacc_suffixes Yacc_suffixes691,26493 -static const char Yacc_help 693,26607 -static const char auto_help 699,26857 -static const char none_help 703,27021 -static const char no_lang_help 707,27144 -static language lang_names 718,27356 -print_language_names 753,29533 -# define EMACS_NAME 786,30756 -# define VERSION 789,30812 -print_version 792,30870 -# define PRINT_UNDOCUMENTED_OPTIONS_HELP 804,31174 -print_help 808,31251 -main 981,37439 -get_compressor_from_suffix 1319,46218 -get_language_from_langname 1355,47159 -get_language_from_interpreter 1377,47546 -get_language_from_filename 1399,47977 -process_file_name 1433,48835 -process_file 1555,51666 -init 1632,54151 -find_entries 1656,54902 -make_tag 1814,59708 -pfnote 1856,60943 -free_tree 1917,62745 -free_fdesc 1935,63030 -add_node 1955,63473 -invalidate_nodes 2035,65538 -static int number_len 2068,66194 -total_size_of_entries 2087,66695 -put_entries 2107,67155 -#define C_EXT 2193,68996 -#define C_PLAIN 2194,69038 -#define C_PLPL 2195,69071 -#define C_STAR 2196,69105 -#define C_JAVA 2197,69138 -#define C_AUTO 2198,69173 -#define YACC 2199,69243 -enum sym_type2204,69313 - st_none,2206,69329 - st_C_objprot,2207,69340 - st_C_objprot, st_C_objimpl,2207,69340 - st_C_objprot, st_C_objimpl, st_C_objend,2207,69340 - st_C_gnumacro,2208,69383 - st_C_ignore,2209,69400 - st_C_ignore, st_C_attribute,2209,69400 - st_C_javastruct,2210,69431 - st_C_operator,2211,69450 - st_C_class,2212,69467 - st_C_class, st_C_template,2212,69467 - st_C_struct,2213,69496 - st_C_struct, st_C_extern,2213,69496 - st_C_struct, st_C_extern, st_C_enum,2213,69496 - st_C_struct, st_C_extern, st_C_enum, st_C_define,2213,69496 - st_C_struct, st_C_extern, st_C_enum, st_C_define, st_C_typedef2213,69496 -struct C_stab_entry 2271,71279 -hash 2275,71410 -in_word_set 2321,72938 - TOTAL_KEYWORDS 2325,73019 - MIN_WORD_LENGTH 2326,73046 - MAX_WORD_LENGTH 2327,73073 - MIN_HASH_VALUE 2328,73101 - MAX_HASH_VALUE 2329,73127 -C_symtype 2387,74986 -static bool inattribute;2400,75235 - fvnone,2408,75436 - fdefunkey,2409,75467 - fdefunname,2410,75513 - foperator,2411,75557 - fvnameseen,2412,75614 - fstartlist,2413,75667 - finlist,2414,75723 - flistseen,2415,75766 - fignore,2416,75814 - vignore 2417,75857 -} fvdef;2418,75902 -static bool fvextern;2420,75912 - tnone,2428,76090 - tkeyseen,2429,76120 - ttypeseen,2430,76161 - tinbody,2431,76200 - tend,2432,76239 - tignore 2433,76280 -} typdef;2434,76321 - snone,2443,76500 - skeyseen,2445,76576 - stagseen,2446,76621 - scolonseen 2447,76662 -} structdef;2448,76716 -static const char *objtag objtag2453,76810 - dnone,2460,76943 - dsharpseen,2461,76973 - ddefineseen,2462,77026 - dignorerest 2463,77071 -} definedef;2464,77113 - onone,2472,77268 - oprotocol,2473,77298 - oimplementation,2474,77348 - otagseen,2475,77396 - oparenseen,2476,77432 - ocatseen,2477,77487 - oinbody,2478,77526 - omethodsign,2479,77569 - omethodtag,2480,77627 - omethodcolon,2481,77667 - omethodparm,2482,77710 - oignore 2483,77756 -} objdef;2484,77788 -static struct tok2491,77945 -} token;2508,78627 -} cstack;2523,79137 -#define nestlev 2525,79265 -#define instruct 2527,79370 -pushclass_above 2531,79490 -popclass_above 2550,79949 -write_classname 2564,80163 -consider_token 2613,81342 -} lbs[lbs2924,88533 -#define current_lb_is_new 2926,88544 -#define switch_line_buffers(2927,88589 -#define curlb 2929,88642 -#define newlb 2930,88673 -#define curlinepos 2931,88704 -#define newlinepos 2932,88745 -#define plainc 2934,88787 -#define cplpl 2935,88831 -#define cjava 2936,88862 -#define CNL_SAVE_DEFINEDEF(2938,88906 -#define CNL(2947,89118 -make_C_tag 2960,89376 -C_entries 2986,90195 -default_C_entries 3833,110157 -plain_C_entries 3840,110277 -Cplusplus_entries 3847,110365 -Cjava_entries 3854,110461 -Cstar_entries 3861,110551 -Yacc_entries 3868,110643 -#define LOOP_ON_INPUT_LINES(3875,110721 -#define LOOKING_AT(3884,111057 -#define LOOKING_AT_NOCASE(3891,111462 -just_read_file 3901,111862 -F_takeprec 3914,112040 -F_getit 3937,112367 -Fortran_functions 3961,112841 -Ada_getit 4052,114670 -Ada_funcs 4115,116045 -Asm_labels 4228,118583 -Perl_functions 4261,119550 -Python_functions 4357,122058 -PHP_functions 4387,122685 -Cobol_paragraphs 4466,124472 -Makefile_targets 4494,125030 -Pascal_functions 4529,125951 -L_getit 4709,130319 -Lisp_functions 4725,130665 -Lua_functions 4785,131851 -PS_functions 4811,132386 -Forth_words 4841,133054 -Scheme_functions 4877,134093 -static linebuffer *TEX_toktab TEX_toktab4908,134782 -static const char *TEX_defenv TEX_defenv4912,134975 -static char TEX_esc 4920,135262 -static char TEX_opgrp 4921,135290 -static char TEX_clgrp 4922,135319 -TeX_commands 4928,135396 -#define TEX_LESC 4986,136653 -#define TEX_SESC 4987,136675 -TEX_mode 4992,136805 -TEX_decode_env 5026,137510 -Texinfo_nodes 5071,138555 -HTML_labels 5094,139014 -Prolog_functions 5219,142348 -prolog_skip_comment 5255,143129 -prolog_pr 5281,143737 -prolog_atom 5319,144629 -Erlang_functions 5379,145667 -erlang_func 5438,146966 -erlang_attribute 5476,147643 -erlang_atom 5496,148062 -scan_separators 5534,149081 -analyze_regex 5586,150461 -add_regex 5654,152051 -substitute 5767,154798 -free_regexps 5814,155838 -regex_tag_multiline 5836,156292 -nocase_tail 5913,158264 -get_tag 5928,158520 -readline_internal 5959,159456 -readline 6037,161297 -savestr 6230,167244 -savenstr 6240,167474 -skip_spaces 6249,167680 -skip_non_spaces 6258,167834 -skip_name 6267,167984 -fatal 6277,168157 -pfatal 6284,168254 -suggest_asking_for_help 6291,168333 -error 6300,168555 -concat 6313,168847 -etags_getcwd 6329,169260 -relative_filename 6350,169726 -absolute_filename 6389,170752 -absolute_dirname 6453,172417 -filename_is_absolute 6472,172846 -canonicalize_filename 6484,173097 -# define ISUPPER(6491,173236 -linebuffer_init 6514,173657 -linebuffer_setlen 6524,173888 -xmalloc 6536,174149 -xrealloc 6545,174315 - -c-src/exit.c,47 - } __libc_atexit;30,1022 -DEFUN(exit,38,1263 - -c-src/exit.strange_suffix,47 - } __libc_atexit;30,1022 -DEFUN(exit,38,1263 - -c-src/sysdep.h,491 -#define ENTRY(21,875 -#define PSEUDO(26,982 - movl $SYS_##syscall_nam$SYS_##syscall_na31,1142 - movl $SYS_##syscall_name, %eax;eax31,1142 - int $0x80;32,1190 - test %eax,eax33,1220 - test %eax, %eax;eax33,1220 - jl syscall_error;34,1255 -#define XCHG_0 47,1572 -#define XCHG_1 48,1616 -#define XCHG_2 49,1658 -#define XCHG_3 50,1701 -#define XCHG_4 51,1744 -#define XCHG_5 52,1787 -#define r0 54,1831 -#define r1 55,1885 -#define scratch 56,1942 -#define MOVE(57,2011 - -c-src/tab.c,196 -static int count_words(15,263 -static char *get_word(get_word35,553 -void tab_free(59,966 -char **tab_fill(tab_fill70,1129 -int tab_delete_first(91,1638 -int tab_count_words(103,1820 - -c-src/dostorture.c,198 -(*tag1 tag118,468 -#define notag2 26,577 -(*tag2 tag229,657 -(*tag3 tag339,809 -#define notag4 45,904 -(*tag4 tag448,1001 -tag5 57,1136 -tag6 66,1272 -int pp1(74,1389 -pp287,1504 -pp3(100,1616 - -c-src/emacs/src/gmalloc.c,3539 -#define USE_PTHREAD25,1003 -#undef get_current_dir_name33,1127 -#undef malloc64,2111 -#undef realloc65,2125 -#undef calloc66,2140 -#undef free67,2154 -#define malloc 68,2166 -#define realloc 69,2189 -#define calloc 70,2214 -#define aligned_alloc 71,2237 -#define free 72,2274 -#define DUMPED 80,2473 -#define ALLOCATED_BEFORE_DUMPING(81,2508 -extern void *malloc malloc94,2719 -#define INT_BIT 124,3935 -#define BLOCKLOG 125,3978 -#define BLOCKSIZE 126,4019 -#define BLOCKIFY(127,4053 -#define HEAP 131,4216 -#define FINAL_FREE_BLOCKS 135,4392 - } malloc_info;167,5389 -#define BLOCK(176,5621 -#define ADDRESS(177,5683 -struct list186,5940 -struct alignlist196,6154 -#define LOCK(223,7065 -#define UNLOCK(228,7196 -#define LOCK_ALIGNED_BLOCKS(233,7330 -#define UNLOCK_ALIGNED_BLOCKS(238,7485 -#define LOCK(244,7650 -#define UNLOCK(245,7665 -#define LOCK_ALIGNED_BLOCKS(246,7682 -#define UNLOCK_ALIGNED_BLOCKS(247,7712 -enum mcheck_status283,9093 - MCHECK_DISABLED 285,9116 - MCHECK_OK,286,9188 - MCHECK_FREE,287,9227 - MCHECK_HEAD,288,9271 - MCHECK_TAIL 289,9335 -struct mstats308,10154 -char *_heapbase;_heapbase355,11831 -malloc_info *_heapinfo;_heapinfo358,11929 -static size_t heapsize;361,11985 -size_t _heapindex;364,12049 -size_t _heaplimit;367,12111 -struct list _fraghead[_fraghead370,12173 -size_t _chunks_used;373,12231 -size_t _bytes_used;374,12252 -size_t _chunks_free;375,12272 -size_t _bytes_free;376,12293 -int __malloc_initialized;379,12342 -size_t __malloc_extra_blocks;381,12369 -static int state_protected_p;400,12914 -static size_t last_state_size;401,12944 -static malloc_info *last_heapinfo;last_heapinfo402,12975 -protect_malloc_state 405,13016 -#define PROTECT_MALLOC_STATE(426,13629 -#define PROTECT_MALLOC_STATE(429,13699 -align 435,13796 -get_contiguous_space 466,14618 -register_heapinfo 497,15327 -pthread_mutex_t _malloc_mutex 517,15881 -pthread_mutex_t _aligned_blocks_mutex 518,15940 -int _malloc_thread_enabled_p;519,16007 -malloc_atfork_handler_prepare 522,16050 -malloc_atfork_handler_parent 529,16141 -malloc_atfork_handler_child 536,16235 -malloc_enable_thread 544,16377 -malloc_initialize_1 563,16963 -__malloc_initialize 594,17795 -static int morecore_recursing;604,17928 -morecore_nolock 609,18068 -_malloc_internal_nolock 722,21586 -_malloc_internal 920,28104 -malloc 932,28249 -_malloc 961,29142 -_free 967,29198 -_realloc 973,29242 -struct alignlist *_aligned_blocks _aligned_blocks1004,30348 -_free_internal_nolock 1009,30477 -_free_internal 1255,38479 -free 1265,38606 -weak_alias 1277,38802 -#define min(1306,39817 -_realloc_internal_nolock 1319,40313 -_realloc_internal 1435,43567 -realloc 1447,43730 -calloc 1478,44899 -#define __sbrk 1513,46048 -__default_morecore 1525,46517 -aligned_alloc 1557,47529 -memalign 1647,49711 -posix_memalign 1656,49916 -static size_t pagesize;1703,51325 -valloc 1706,51357 -#undef malloc1715,51498 -#undef realloc1716,51512 -#undef calloc1717,51527 -#undef aligned_alloc1718,51541 -#undef free1719,51562 -hybrid_malloc 1736,52091 -hybrid_calloc 1744,52196 -hybrid_free 1752,52327 -hybrid_aligned_alloc 1765,52634 -hybrid_realloc 1780,52990 -hybrid_get_current_dir_name 1811,53803 -#define MAGICWORD 1854,55213 -#define MAGICFREE 1855,55268 -#define MAGICBYTE 1856,55323 -#define MALLOCFLOOD 1857,55355 -#define FREEFLOOD 1858,55389 -struct hdr1860,55422 -checkhdr 1867,55588 -freehook 1891,56029 -mallochook 1927,56811 -reallochook 1944,57150 -mabort 1978,57908 -static int mcheck_used 2012,58593 -mcheck 2015,58626 -mprobe 2035,59145 - -c-src/emacs/src/regex.h,3761 -#define _REGEX_H 21,837 -typedef unsigned long reg_syntax_t;43,1578 -#define RE_BACKSLASH_ESCAPE_IN_LISTS 47,1750 -#define RE_BK_PLUS_QM 52,1970 -#define RE_CHAR_CLASSES 58,2299 -#define RE_CONTEXT_INDEP_ANCHORS 72,3033 -#define RE_CONTEXT_INDEP_OPS 80,3459 -#define RE_CONTEXT_INVALID_OPS 84,3659 -#define RE_DOT_NEWLINE 88,3802 -#define RE_DOT_NOT_NULL 92,3938 -#define RE_HAT_LISTS_NOT_NEWLINE 96,4083 -#define RE_INTERVALS 101,4293 -#define RE_LIMITED_OPS 105,4442 -#define RE_NEWLINE_ALT 109,4584 -#define RE_NO_BK_BRACES 114,4774 -#define RE_NO_BK_PARENS 118,4965 -#define RE_NO_BK_REFS 122,5121 -#define RE_NO_BK_VBAR 126,5317 -#define RE_NO_EMPTY_RANGES 132,5611 -#define RE_UNMATCHED_RIGHT_PAREN_ORD 136,5767 -#define RE_NO_POSIX_BACKTRACKING 140,5938 -#define RE_NO_GNU_OPS 144,6134 -#define RE_FRUGAL 147,6254 -#define RE_SHY_GROUPS 150,6361 -#define RE_NO_NEWLINE_ANCHOR 153,6469 -#define RE_DEBUG 161,6885 -#define RE_SYNTAX_EMACS 183,7685 -#define RE_SYNTAX_AWK 186,7781 -#define RE_SYNTAX_GNU_AWK 193,8085 -#define RE_SYNTAX_POSIX_AWK 197,8256 -#define RE_SYNTAX_GREP 201,8394 -#define RE_SYNTAX_EGREP 206,8550 -#define RE_SYNTAX_POSIX_EGREP 212,8766 -#define RE_SYNTAX_ED 216,8911 -#define RE_SYNTAX_SED 218,8955 -#define _RE_SYNTAX_POSIX_COMMON 221,9073 -#define RE_SYNTAX_POSIX_BASIC 225,9216 -#define RE_SYNTAX_POSIX_MINIMAL_BASIC 231,9509 -#define RE_SYNTAX_POSIX_EXTENDED 234,9599 -#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED 242,9968 -# undef RE_DUP_MAX253,10455 -#define RE_DUP_MAX 256,10541 -#define REG_EXTENDED 263,10763 -#define REG_ICASE 267,10887 -#define REG_NEWLINE 272,11071 -#define REG_NOSUB 276,11249 -#define REG_NOTBOL 286,11615 -#define REG_NOTEOL 289,11689 - REG_ENOSYS 297,11860 - REG_NOERROR 300,11942 - REG_NOMATCH,301,11977 - REG_BADPAT,305,12124 - REG_ECOLLATE,306,12163 - REG_ECTYPE,307,12204 - REG_EESCAPE,308,12256 - REG_ESUBREG,309,12299 - REG_EBRACK,310,12346 - REG_EPAREN,311,12392 - REG_EBRACE,312,12437 - REG_BADBR,313,12473 - REG_ERANGE,314,12520 - REG_ESPACE,315,12561 - REG_BADRPT,316,12602 - REG_EEND,319,12694 - REG_ESIZE,320,12729 - REG_ERPAREN,321,12791 - REG_ERANGEX 322,12860 -} reg_errcode_t;323,12912 -# define RE_TRANSLATE_TYPE 332,13274 -struct re_pattern_buffer335,13316 -#define REGS_UNALLOCATED 376,14890 -#define REGS_REALLOCATE 377,14917 -#define REGS_FIXED 378,14943 -typedef struct re_pattern_buffer regex_t;416,16099 -typedef ssize_t regoff_t;423,16493 -struct re_registers428,16653 -# define RE_NREGS 440,16943 -} regmatch_t;451,17318 -# define _Restrict_ 540,20887 -# define _Restrict_ 542,20980 -# define _Restrict_544,21019 -# define _Restrict_arr_ 555,21419 -# define _Restrict_arr_557,21462 -# define CHAR_CLASS_MAX_LENGTH 593,22471 -# define CHAR_CLASS_MAX_LENGTH 597,22649 -typedef wctype_t re_wctype_t;599,22693 -typedef wchar_t re_wchar_t;600,22723 -# define re_wctype 601,22751 -# define re_iswctype 602,22777 -# define re_wctype_to_bit(603,22807 -# define CHAR_CLASS_MAX_LENGTH 605,22845 -# define btowc(606,22907 -typedef enum { RECC_ERROR 609,22954 - RECC_ALNUM,610,22985 - RECC_ALNUM, RECC_ALPHA,610,22985 - RECC_ALNUM, RECC_ALPHA, RECC_WORD,610,22985 - RECC_GRAPH,611,23028 - RECC_GRAPH, RECC_PRINT,611,23028 - RECC_LOWER,612,23060 - RECC_LOWER, RECC_UPPER,612,23060 - RECC_PUNCT,613,23092 - RECC_PUNCT, RECC_CNTRL,613,23092 - RECC_DIGIT,614,23124 - RECC_DIGIT, RECC_XDIGIT,614,23124 - RECC_BLANK,615,23157 - RECC_BLANK, RECC_SPACE,615,23157 - RECC_MULTIBYTE,616,23189 - RECC_MULTIBYTE, RECC_NONASCII,616,23189 - RECC_ASCII,617,23228 - RECC_ASCII, RECC_UNIBYTE617,23228 -} re_wctype_t;618,23261 -typedef int re_wchar_t;623,23388 - -c-src/emacs/src/keyboard.c,15539 -volatile int interrupt_input_blocked;76,1809 -volatile bool pending_signals;80,1945 -#define KBD_BUFFER_SIZE 82,1977 -KBOARD *initial_kboard;initial_kboard84,2007 -KBOARD *current_kboard;current_kboard85,2031 -static KBOARD *all_kboards;all_kboards86,2055 -static bool single_kboard;89,2155 -#define NUM_RECENT_KEYS 91,2183 -static int recent_keys_index;94,2270 -static int total_keys;97,2358 -static Lisp_Object recent_keys;100,2444 -Lisp_Object this_command_keys;107,2778 -ptrdiff_t this_command_key_count;108,2809 -static bool this_command_key_count_reset;112,2923 -static Lisp_Object raw_keybuf;116,3075 -static int raw_keybuf_count;117,3106 -#define GROW_RAW_KEYBUF 119,3136 -static ptrdiff_t this_single_command_key_start;125,3351 -static ptrdiff_t before_command_key_count;129,3499 -static ptrdiff_t before_command_echo_length;130,3542 -sigjmp_buf return_to_command_loop;135,3678 -static Lisp_Object recover_top_level_message;138,3792 -static Lisp_Object regular_top_level_message;143,3931 -static sys_jmp_buf getcjmp;147,4032 -bool waiting_for_input;150,4096 -static bool echoing;154,4187 -static struct kboard *ok_to_echo_at_next_pause;ok_to_echo_at_next_pause159,4329 -struct kboard *echo_kboard;echo_kboard166,4633 -Lisp_Object echo_message_buffer;171,4745 -bool immediate_quit;174,4838 -int quit_char;192,5624 -EMACS_INT command_loop_level;195,5681 -Lisp_Object unread_switch_frame;204,6109 -static ptrdiff_t last_non_minibuf_size;207,6217 -uintmax_t num_input_events;210,6335 -static EMACS_INT last_auto_save;214,6429 -static ptrdiff_t last_point_position;217,6524 -Lisp_Object internal_last_event_frame;228,7029 -static Lisp_Object read_key_sequence_cmd;232,7169 -static Lisp_Object read_key_sequence_remapped;233,7211 -static FILE *dribble;dribble236,7311 -bool input_pending;239,7369 -static bool input_was_pending;287,10023 -static struct input_event kbd_buffer[kbd_buffer291,10108 -static struct input_event *kbd_fetch_ptr;kbd_fetch_ptr297,10387 -static struct input_event * volatile kbd_store_ptr;302,10602 -unsigned timers_run;320,11297 -struct timespec *input_available_clear_time;input_available_clear_time324,11409 -bool interrupt_input;328,11574 -bool interrupts_deferred;331,11672 -static struct timespec timer_idleness_start_time;335,11747 -static struct timespec timer_last_idleness_start_time;340,11917 -#define READABLE_EVENTS_DO_TIMERS_NOW 346,12047 -#define READABLE_EVENTS_FILTER_EVENTS 347,12095 -#define READABLE_EVENTS_IGNORE_SQUEEZABLES 348,12143 -kset_echo_string 392,14089 -kset_kbd_queue 397,14185 -kset_keyboard_translate_table 402,14277 -kset_last_prefix_arg 407,14400 -kset_last_repeatable_command 412,14505 -kset_local_function_key_map 417,14626 -kset_overriding_terminal_local_map 422,14745 -kset_real_last_command 427,14878 -kset_system_key_syms 432,14987 -echo_add_key 443,15250 -echo_char 527,17528 -echo_dash 541,17814 -echo_now 586,19141 -cancel_echoing 635,20615 -echo_length 648,20923 -echo_truncate 660,21254 -add_command_key 672,21583 -recursive_edit_1 697,22407 -record_auto_save 742,23849 -force_auto_save_soon 751,24017 -DEFUN ("recursive-edit", Frecursive_edit,759,24138 -DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138 -recursive_edit_unwind 804,25751 -any_kboard_state 817,26017 -single_kboard_state 838,26669 -not_single_kboard_state 848,26807 -struct kboard_stack858,27069 -static struct kboard_stack *kboard_stack;kboard_stack864,27142 -push_kboard 867,27190 -pop_kboard 879,27379 -temporarily_switch_to_single_kboard 914,28267 -record_single_kboard_state 943,29441 -restore_kboard_configuration 952,29625 -cmd_error 970,30081 -cmd_error_internal 1024,31514 -DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32034 -DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32034 -command_loop 1094,33920 -command_loop_2 1134,35139 -top_level_2 1146,35343 -top_level_1 1152,35421 -DEFUN ("top-level", Ftop_level,1164,35791 -DEFUN ("top-level", Ftop_level,top-level1164,35791 -user_error 1183,36292 -DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36433 -DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36433 -DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36823 -DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36823 -tracking_off 1216,37285 -DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37820 -DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37820 -bool ignore_mouse_drag_p;1256,38396 -some_mouse_moved 1259,38445 -Lisp_Object last_undo_boundary;1287,39036 -command_loop_1 1294,39277 -read_menu_command 1649,50893 -adjust_point_for_property 1678,51621 -safe_run_hooks_1 1831,57343 -safe_run_hooks_error 1841,57573 -safe_run_hook_funcall 1878,58580 -safe_run_hooks 1893,59062 -int poll_suppress_count;1908,59401 -static struct atimer *poll_timer;poll_timer1915,59491 -poll_for_input_1 1919,59593 -poll_for_input 1930,59793 -start_polling 1942,60057 -input_polling_used 1979,61095 -stop_polling 1994,61394 -set_poll_suppress_count 2009,61763 -bind_polling_period 2029,62145 -make_ctrl_char 2048,62496 -show_help_echo 2113,64459 -static Lisp_Object help_form_saved_window_configs;2156,65642 -read_char_help_form_unwind 2158,65705 -#define STOP_POLLING 2166,65963 -#define RESUME_POLLING 2170,66088 -read_event_from_main_queue 2175,66233 -read_decoded_event_from_main_queue 2249,68421 -#define MAX_ENCODED_BYTES 2254,68668 -echo_keystrokes_p 2342,71560 -read_char 2376,72852 -record_menu_key 3225,98953 -help_char_p 3258,99678 -record_char 3273,99957 -save_getcjmp 3412,104239 -restore_getcjmp 3418,104330 -readable_events 3430,104701 -int stop_character EXTERNALLY_VISIBLE;3497,106441 -event_to_kboard 3500,106497 -kbd_buffer_nr_stored 3522,107146 -kbd_buffer_store_event 3534,107487 -kbd_buffer_store_event_hold 3550,108029 -kbd_buffer_unget_event 3684,111621 -#define INPUT_EVENT_POS_MAX 3698,112022 -#define INPUT_EVENT_POS_MIN 3701,112151 -position_to_Time 3706,112291 -Time_to_position 3716,112518 -gen_help_event 3738,113175 -kbd_buffer_store_help_event 3756,113615 -discard_mouse_events 3773,113980 -kbd_buffer_events_waiting 3803,114715 -clear_event 3823,115072 -kbd_buffer_get_event 3836,115412 -process_special_events 4258,127885 -swallow_events 4322,129709 -timer_start_idle 4339,130102 -timer_stop_idle 4355,130580 -timer_resume_idle 4363,130724 -struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130916 -Lisp_Object pending_funcalls;4377,131176 -decode_timer 4381,131297 -timer_check_2 4414,132250 -timer_check 4572,136821 -DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137666 -DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137666 -static Lisp_Object accent_key_syms;4625,138243 -static Lisp_Object func_key_syms;4626,138279 -static Lisp_Object mouse_syms;4627,138313 -static Lisp_Object wheel_syms;4628,138344 -static Lisp_Object drag_n_drop_syms;4629,138375 -static const int lispy_accent_codes[lispy_accent_codes4634,138520 -static const char *const lispy_accent_keys[lispy_accent_keys4741,139882 -#define FUNCTION_KEY_OFFSET 4766,140318 -const char *const lispy_function_keys[lispy_function_keys4768,140351 -static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148905 -static const char *const lispy_kana_keys[lispy_kana_keys5026,150139 -#define FUNCTION_KEY_OFFSET 5061,151755 -static const char *const lispy_function_keys[lispy_function_keys5065,151898 -#define ISO_FUNCTION_KEY_OFFSET 5149,154433 -static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154473 -static Lisp_Object Vlispy_mouse_stem;5172,155332 -static const char *const lispy_wheel_names[lispy_wheel_names5174,155371 -static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155623 -static short const scroll_bar_parts[scroll_bar_parts5189,155889 -static Lisp_Object button_down_location;5210,156914 -static int last_mouse_button;5215,157069 -static int last_mouse_x;5216,157099 -static int last_mouse_y;5217,157124 -static Time button_down_time;5218,157149 -static int double_click_count;5222,157233 -make_lispy_position 5228,157394 -toolkit_menubar_in_use 5456,163957 -make_scroll_bar_position 5469,164325 -make_lispy_event 5485,164971 -make_lispy_movement 6104,183534 -make_lispy_switch_frame 6131,184265 -make_lispy_focus_in 6137,184372 -make_lispy_focus_out 6145,184498 -parse_modifiers_uncached 6163,184948 -#define SINGLE_LETTER_MOD(6185,185468 -#undef SINGLE_LETTER_MOD6212,185909 -#define MULTI_LETTER_MOD(6214,185935 -#undef MULTI_LETTER_MOD6231,186403 -apply_modifiers_uncached 6273,187577 -static const char *const modifier_names[modifier_names6319,189196 -#define NUM_MOD_NAMES 6325,189402 -static Lisp_Object modifier_symbols;6327,189452 -lispy_modifier_list 6331,189589 -#define KEY_TO_CHAR(6353,190255 -parse_modifiers 6356,190331 -DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191520 -DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191520 -apply_modifiers 6422,192394 -reorder_modifiers 6491,194723 -modify_event_symbol 6536,196531 -DEFUN ("event-convert-list", Fevent_convert_list,6628,199247 -DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199247 -parse_solitary_modifier 6695,201138 -#define SINGLE_LETTER_MOD(6701,201261 -#define MULTI_LETTER_MOD(6705,201346 -#undef SINGLE_LETTER_MOD6763,202644 -#undef MULTI_LETTER_MOD6764,202669 -lucid_event_type_list_p 6775,202892 -get_input_pending 6814,203963 -record_asynch_buffer_change 6834,204582 -gobble_input 6872,205705 -tty_read_avail_input 6967,208313 -handle_async_input 7149,214042 -process_pending_signals 7165,214362 -unblock_input_to 7177,214648 -unblock_input 7200,215280 -totally_unblock_input 7209,215448 -handle_input_available_signal 7217,215532 -deliver_input_available_signal 7226,215703 -struct user_signal_info7235,215868 -static struct user_signal_info *user_signals user_signals7250,216093 -add_user_signal 7253,216152 -handle_user_signal 7275,216601 -deliver_user_signal 7316,217561 -find_user_signal_name 7322,217662 -store_user_signal_events 7334,217844 -static Lisp_Object menu_bar_one_keymap_changed_items;7363,218419 -static Lisp_Object menu_bar_items_vector;7368,218633 -static int menu_bar_items_index;7369,218675 -static const char *separator_names[separator_names7372,218710 -menu_separator_name_p 7393,219151 -menu_bar_items 7426,219855 -Lisp_Object item_properties;7568,224606 -menu_bar_item 7571,224648 -menu_item_eval_property_1 7647,227178 -eval_dyn 7658,227468 -menu_item_eval_property 7666,227678 -parse_menu_item 7686,228344 -static Lisp_Object tool_bar_items_vector;7965,236339 -static Lisp_Object tool_bar_item_properties;7970,236513 -static int ntool_bar_items;7974,236609 -tool_bar_items 7990,237086 -process_tool_bar_item 8075,239895 -#define PROP(8112,240972 -set_prop 8114,241041 -parse_tool_bar_item 8167,242456 -#undef PROP8379,248847 -init_tool_bar_items 8387,248972 -append_tool_bar_item 8401,249264 -read_char_x_menu_prompt 8443,250774 -read_char_minibuf_menu_prompt 8503,252448 -#define PUSH_C_STR(8527,253017 -follow_key 8726,258556 -active_maps 8733,258698 -typedef struct keyremap8742,259024 -} keyremap;8754,259467 -access_keymap_keyremap 8764,259811 -keyremap_step 8811,261453 -test_undefined 8867,262937 -read_key_sequence 8916,264864 -read_key_sequence_vs 9826,295824 -DEFUN ("read-key-sequence", Fread_key_sequence,9885,297297 -DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297297 -DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299985 -DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299985 -detect_input_pending 9950,300491 -detect_input_pending_ignore_squeezables 9959,300657 -detect_input_pending_run_timers 9967,300873 -clear_input_pending 9985,301365 -requeued_events_pending_p 9997,301735 -DEFUN ("input-pending-p", Finput_pending_p,10002,301816 -DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301816 -DEFUN ("recent-keys", Frecent_keys,10024,302599 -DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302599 -DEFUN ("this-command-keys", Fthis_command_keys,10055,303520 -DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303520 -DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303961 -DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303961 -DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304383 -DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304383 -DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304958 -DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304958 -DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305498 -DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305498 -DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306513 -DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306513 -DEFUN ("recursion-depth", Frecursion_depth,10158,307072 -DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307072 -DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307409 -DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307409 -DEFUN ("discard-input", Fdiscard_input,10203,308450 -DEFUN ("discard-input", Fdiscard_input,discard-input10203,308450 -DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308952 -DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308952 -stuff_buffered_input 10285,311048 -set_waiting_for_input 10323,312019 -clear_waiting_for_input 10337,312393 -handle_interrupt_signal 10351,312757 -deliver_interrupt_signal 10378,313645 -static int volatile force_quit_count;10387,313935 -handle_interrupt 10401,314417 -quit_throw_to_read_char 10541,318714 -DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319291 -DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319291 -DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320519 -DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320519 -DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321435 -DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321435 -DEFUN ("set-quit-char", Fset_quit_char,10694,322709 -DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322709 -DEFUN ("set-input-mode", Fset_input_mode,10729,323573 -DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323573 -DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324462 -DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324462 -DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325840 -DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325840 -DEFUN ("posn-at-point", Fposn_at_point,10824,327063 -DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327063 -init_kboard 10861,328217 -allocate_kboard 10893,329287 -wipe_kboard 10909,329640 -delete_kboard 10917,329754 -init_keyboard 10942,330284 -struct event_head11021,332699 -static const struct event_head head_table[head_table11027,332750 -syms_of_keyboard 11045,333580 -keys_of_keyboard 11841,367118 -mark_kboards 11916,370437 - -c-src/emacs/src/lisp.h,20276 -#define EMACS_LISP_H22,801 -#define DECLARE_GDB_SYM(47,1422 -# define DEFINE_GDB_SYMBOL_BEGIN(49,1509 -# define DEFINE_GDB_SYMBOL_END(50,1579 -# define DEFINE_GDB_SYMBOL_BEGIN(52,1626 -# define DEFINE_GDB_SYMBOL_END(53,1703 -#undef min57,1791 -#undef max58,1802 -#define max(59,1813 -#define min(60,1855 -#define ARRAYELTS(63,1937 -#define GCTYPEBITS 67,2080 -DEFINE_GDB_SYMBOL_BEGIN GCTYPEBITS66,2038 -# define NONPOINTER_BITS 78,2568 -# define NONPOINTER_BITS 80,2601 -typedef int EMACS_INT;91,3024 -typedef unsigned int EMACS_UINT;92,3047 -# define EMACS_INT_MAX 93,3080 -# define pI 94,3112 -typedef long int EMACS_INT;96,3204 -typedef unsigned long EMACS_UINT;97,3232 -# define EMACS_INT_MAX 98,3266 -# define pI 99,3299 -typedef long long int EMACS_INT;103,3478 -typedef unsigned long long int EMACS_UINT;104,3511 -# define EMACS_INT_MAX 105,3554 -# define pI 106,3588 -enum { BOOL_VECTOR_BITS_PER_CHAR 114,3805 -#define BOOL_VECTOR_BITS_PER_CHAR 115,3841 -typedef size_t bits_word;123,4166 -# define BITS_WORD_MAX 124,4192 -enum { BITS_PER_BITS_WORD 125,4224 -typedef unsigned char bits_word;127,4291 -# define BITS_WORD_MAX 128,4324 -enum { BITS_PER_BITS_WORD 129,4387 - BITS_PER_CHAR 136,4571 - BITS_PER_SHORT 137,4606 - BITS_PER_LONG 138,4658 - BITS_PER_EMACS_INT 139,4713 -typedef intmax_t printmax_t;148,5090 -typedef uintmax_t uprintmax_t;149,5119 -# define pMd 150,5150 -# define pMu 151,5171 -typedef EMACS_INT printmax_t;153,5198 -typedef EMACS_UINT uprintmax_t;154,5228 -# define pMd 155,5260 -# define pMu 156,5279 -# define pD 165,5665 -# define pD 167,5710 -# define pD 169,5757 -# define pD 171,5780 -# define eassert(200,7063 -# define eassume(201,7141 -# define eassert(208,7320 -# define eassume(212,7451 -enum Lisp_Bits239,8520 -#define GCALIGNMENT 243,8648 - VALBITS 246,8743 - INTTYPEBITS 249,8839 - FIXNUM_BITS 252,8946 -#define VAL_MAX 263,9328 -#define USE_LSB_TAG 271,9778 -DEFINE_GDB_SYMBOL_BEGIN USE_LSB_TAG270,9734 -# define alignas(281,10078 -# define GCALIGNED 288,10228 -# define GCALIGNED 290,10293 -# define lisp_h_XLI(327,11643 -# define lisp_h_XIL(328,11674 -# define lisp_h_XLI(330,11725 -# define lisp_h_XIL(331,11752 -#define lisp_h_CHECK_LIST_CONS(333,11786 -#define lisp_h_CHECK_NUMBER(334,11857 -#define lisp_h_CHECK_SYMBOL(335,11928 -#define lisp_h_CHECK_TYPE(336,11997 -#define lisp_h_CONSP(338,12108 -#define lisp_h_EQ(339,12157 -#define lisp_h_FLOATP(340,12202 -#define lisp_h_INTEGERP(341,12253 -#define lisp_h_MARKERP(342,12334 -#define lisp_h_MISCP(343,12409 -#define lisp_h_NILP(344,12458 -#define lisp_h_SET_SYMBOL_VAL(345,12494 -#define lisp_h_SYMBOL_CONSTANT_P(347,12608 -#define lisp_h_SYMBOL_VAL(348,12672 -#define lisp_h_SYMBOLP(350,12773 -#define lisp_h_VECTORLIKEP(351,12826 -#define lisp_h_XCAR(352,12887 -#define lisp_h_XCDR(353,12925 -#define lisp_h_XCONS(354,12965 -#define lisp_h_XHASH(356,13060 -#define lisp_h_XPNTR(357,13094 -# define lisp_h_check_cons_list(360,13222 -# define lisp_h_make_number(363,13290 -# define lisp_h_XFASTINT(365,13393 -# define lisp_h_XINT(366,13430 -# define lisp_h_XSYMBOL(367,13479 -# define lisp_h_XTYPE(371,13632 -# define lisp_h_XUNTAG(372,13697 -# define XLI(381,14087 -# define XIL(382,14118 -# define CHECK_LIST_CONS(383,14149 -# define CHECK_NUMBER(384,14210 -# define CHECK_SYMBOL(385,14259 -# define CHECK_TYPE(386,14308 -# define CONSP(387,14383 -# define EQ(388,14418 -# define FLOATP(389,14453 -# define INTEGERP(390,14490 -# define MARKERP(391,14531 -# define MISCP(392,14570 -# define NILP(393,14605 -# define SET_SYMBOL_VAL(394,14638 -# define SYMBOL_CONSTANT_P(395,14701 -# define SYMBOL_VAL(396,14764 -# define SYMBOLP(397,14813 -# define VECTORLIKEP(398,14852 -# define XCAR(399,14899 -# define XCDR(400,14932 -# define XCONS(401,14965 -# define XHASH(402,15000 -# define XPNTR(403,15035 -# define check_cons_list(405,15098 -# define make_number(408,15177 -# define XFASTINT(409,15225 -# define XINT(410,15267 -# define XSYMBOL(411,15301 -# define XTYPE(412,15341 -# define XUNTAG(413,15377 -#define LISP_MACRO_DEFUN(421,15673 -#define LISP_MACRO_DEFUN_VOID(425,15846 -#define INTMASK 437,16290 -#define case_Lisp_Int 438,16343 -#define ENUM_BF(445,16682 -#define ENUM_BF(447,16723 -enum Lisp_Type451,16764 - Lisp_Symbol 454,16852 - Lisp_Misc 458,16994 - Lisp_Int0 461,17068 - Lisp_Int1 462,17087 - Lisp_String 466,17265 - Lisp_Vectorlike 472,17544 - Lisp_Cons 475,17633 - Lisp_Float 477,17671 -enum Lisp_Misc_Type485,18017 - Lisp_Misc_Free 487,18041 - Lisp_Misc_Marker,488,18070 - Lisp_Misc_Overlay,489,18092 - Lisp_Misc_Save_Value,490,18115 - Lisp_Misc_Finalizer,491,18141 - Lisp_Misc_Float,494,18276 - Lisp_Misc_Limit496,18360 -enum Lisp_Fwd_Type502,18544 - Lisp_Fwd_Int,504,18567 - Lisp_Fwd_Bool,505,18620 - Lisp_Fwd_Obj,506,18671 - Lisp_Fwd_Buffer_Obj,507,18730 - Lisp_Fwd_Kboard_Obj 508,18801 -typedef struct { EMACS_INT i; } Lisp_Object;567,21772 -#define LISP_INITIALLY(569,21818 -#undef CHECK_LISP_OBJECT_TYPE571,21849 -enum CHECK_LISP_OBJECT_TYPE 572,21879 -enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE 572,21879 -typedef EMACS_INT Lisp_Object;577,22055 -#define LISP_INITIALLY(578,22086 -enum CHECK_LISP_OBJECT_TYPE 579,22116 -enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE 579,22116 -#define LISP_INITIALLY_ZERO 582,22217 -enum symbol_interned639,24190 - SYMBOL_UNINTERNED 641,24213 - SYMBOL_INTERNED 642,24238 - SYMBOL_INTERNED_IN_INITIAL_OBARRAY 643,24261 -enum symbol_redirect646,24306 - SYMBOL_PLAINVAL 648,24329 - SYMBOL_VARALIAS 649,24353 - SYMBOL_LOCALIZED 650,24377 - SYMBOL_FORWARDED 651,24401 -struct Lisp_Symbol654,24428 -#define EXFUN(707,26243 -#define DEFUN_ARGS_MANY 712,26437 -#define DEFUN_ARGS_UNEVALLED 713,26489 -#define DEFUN_ARGS_0 714,26532 -#define DEFUN_ARGS_1 715,26560 -#define DEFUN_ARGS_2 716,26595 -#define DEFUN_ARGS_3 717,26643 -#define DEFUN_ARGS_4 718,26704 -#define DEFUN_ARGS_5 719,26778 -#define DEFUN_ARGS_6 721,26871 -#define DEFUN_ARGS_7 723,26977 -#define DEFUN_ARGS_8 725,27096 -#define TAG_PTR(729,27287 -#define TAG_SYMOFFSET(734,27534 -#define XLI_BUILTIN_LISPSYM(741,27833 -#define DEFINE_LISP_SYMBOL(746,28092 -# define DEFINE_NON_NIL_Q_SYMBOL_MACROS 755,28563 -LISP_MACRO_DEFUN 762,28768 -# define ARRAY_MARK_FLAG 768,29015 -# define PSEUDOVECTOR_FLAG 774,29258 -enum pvec_type780,29559 - PVEC_NORMAL_VECTOR,782,29576 - PVEC_FREE,783,29598 - PVEC_PROCESS,784,29611 - PVEC_FRAME,785,29627 - PVEC_WINDOW,786,29641 - PVEC_BOOL_VECTOR,787,29656 - PVEC_BUFFER,788,29676 - PVEC_HASH_TABLE,789,29691 - PVEC_TERMINAL,790,29710 - PVEC_WINDOW_CONFIGURATION,791,29727 - PVEC_SUBR,792,29756 - PVEC_OTHER,793,29769 - PVEC_COMPILED,795,29847 - PVEC_CHAR_TABLE,796,29864 - PVEC_SUB_CHAR_TABLE,797,29883 - PVEC_FONT 798,29906 -enum More_Lisp_Bits801,29982 - PSEUDOVECTOR_SIZE_BITS 808,30373 - PSEUDOVECTOR_SIZE_MASK 809,30406 - PSEUDOVECTOR_REST_BITS 813,30616 - PSEUDOVECTOR_REST_MASK 814,30649 - PSEUDOVECTOR_AREA_BITS 818,30814 - PVEC_TYPE_MASK 819,30892 -# define VALMASK 829,31293 -DEFINE_GDB_SYMBOL_BEGIN VALMASK828,31248 -#define MOST_POSITIVE_FIXNUM 834,31523 -#define MOST_NEGATIVE_FIXNUM 835,31583 -XINT 874,32675 -XFASTINT 889,33026 -XSYMBOL 899,33254 -XTYPE 910,33472 -XUNTAG 918,33652 -LISP_MACRO_DEFUN 927,33848 -LISP_MACRO_DEFUN 940,34233 -#define FIXNUM_OVERFLOW_P(958,34846 -LISP_MACRO_DEFUN FIXNUM_OVERFLOW_P952,34623 -LISP_MACRO_DEFUN 970,35162 -XSTRING 980,35382 -#define SYMBOL_INDEX(988,35566 -XFLOAT 991,35627 -XPROCESS 1000,35769 -XWINDOW 1007,35886 -XTERMINAL 1014,36003 -XSUBR 1021,36125 -XBUFFER 1028,36236 -XCHAR_TABLE 1035,36360 -XSUB_CHAR_TABLE 1042,36497 -XBOOL_VECTOR 1049,36639 -make_lisp_ptr 1058,36818 -make_lisp_symbol 1066,37004 -builtin_lisp_symbol 1074,37188 -#define XSETINT(1079,37270 -#define XSETFASTINT(1080,37316 -#define XSETCONS(1081,37366 -#define XSETVECTOR(1082,37426 -#define XSETSTRING(1083,37494 -#define XSETSYMBOL(1084,37558 -#define XSETFLOAT(1085,37612 -#define XSETMISC(1086,37674 -#define XSETPVECTYPE(1090,37763 -#define XSETPVECTYPESIZE(1092,37879 -#define XSETPSEUDOVECTOR(1099,38176 -#define XSETTYPED_PSEUDOVECTOR(1105,38360 -#define XSETWINDOW_CONFIGURATION(1110,38570 -#define XSETPROCESS(1112,38666 -#define XSETWINDOW(1113,38732 -#define XSETTERMINAL(1114,38796 -#define XSETSUBR(1115,38864 -#define XSETCOMPILED(1116,38924 -#define XSETBUFFER(1117,38992 -#define XSETCHAR_TABLE(1118,39056 -#define XSETBOOL_VECTOR(1119,39128 -#define XSETSUB_CHAR_TABLE(1120,39202 -XINTPTR 1128,39572 -make_pointer_integer 1134,39652 -LISP_MACRO_DEFUN_VOID 1143,39817 -typedef struct interval *INTERVAL;INTERVAL1149,39978 -xcar_addr 1174,40751 -xcdr_addr 1179,40828 -LISP_MACRO_DEFUN 1185,40922 -XSETCDR 1198,41298 -CAR 1205,41448 -CDR 1212,41582 -CAR_SAFE 1221,41782 -CDR_SAFE 1226,41868 -STRING_MULTIBYTE 1243,42241 -#define STRING_BYTES_BOUND 1261,43048 -#define STRING_SET_UNIBYTE(1265,43192 -#define STRING_SET_MULTIBYTE(1275,43507 -SDATA 1286,43821 -SSDATA 1291,43899 -SREF 1297,44028 -SSET 1302,44119 -SCHARS 1307,44233 -STRING_BYTES 1316,44406 -SBYTES 1326,44586 -STRING_SET_CHARS 1331,44672 -struct vectorlike_header1343,45223 -struct Lisp_Vector1369,46473 - ALIGNOF_STRUCT_LISP_VECTOR1378,46672 -struct Lisp_Bool_Vector1384,46855 -bool_vector_size 1399,47376 -bool_vector_data 1407,47514 -bool_vector_uchar_data 1413,47608 -bool_vector_words 1421,47794 -bool_vector_bytes 1428,47989 -bool_vector_bitref 1437,48229 -bool_vector_ref 1445,48469 -bool_vector_set 1453,48609 - header_size 1471,49038 - bool_header_size 1472,49097 - word_size 1473,49162 -AREF 1479,49275 -aref_addr 1485,49382 -ASIZE 1491,49492 -ASET 1497,49574 -gc_aset 1504,49733 -enum { NIL_IS_ZERO 1515,50260 -memclear 1520,50455 -#define VECSIZE(1531,50753 -#define PSEUDOVECSIZE(1538,51038 -#define UNSIGNED_CMP(1546,51471 -#define ASCII_CHAR_P(1552,51725 -enum CHARTAB_SIZE_BITS1565,52480 - CHARTAB_SIZE_BITS_0 1567,52507 - CHARTAB_SIZE_BITS_1 1568,52536 - CHARTAB_SIZE_BITS_2 1569,52565 - CHARTAB_SIZE_BITS_3 1570,52594 -struct Lisp_Char_Table1575,52663 -struct Lisp_Sub_Char_Table1606,53743 -CHAR_TABLE_REF_ASCII 1628,54557 -CHAR_TABLE_REF 1648,55104 -CHAR_TABLE_SET 1658,55393 -struct Lisp_Subr1670,55777 -enum char_table_specials1692,56789 - CHAR_TABLE_STANDARD_SLOTS 1697,56984 - SUB_CHAR_TABLE_OFFSET 1701,57205 -CHAR_TABLE_EXTRA_SLOTS 1707,57368 -LISP_MACRO_DEFUN 1723,57912 -SYMBOL_BLV 1732,58172 -SYMBOL_FWD 1738,58307 -LISP_MACRO_DEFUN_VOID 1744,58419 -SET_SYMBOL_BLV 1754,58682 -SET_SYMBOL_FWD 1760,58841 -SYMBOL_NAME 1767,58992 -SYMBOL_INTERNED_P 1775,59121 -SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P 1783,59290 -#define DEFSYM(1796,59800 -LISP_MACRO_DEFUN DEFSYM1792,59621 -struct hash_table_test1805,60053 -struct Lisp_Hash_Table1823,60546 -XHASH_TABLE 1880,62522 -#define XSET_HASH_TABLE(1885,62593 -HASH_TABLE_P 1889,62694 -HASH_KEY 1896,62851 -HASH_VALUE 1903,63031 -HASH_NEXT 1911,63245 -HASH_HASH 1918,63422 -HASH_INDEX 1926,63668 -HASH_TABLE_SIZE 1933,63817 -enum DEFAULT_HASH_SIZE 1940,63947 -enum DEFAULT_HASH_SIZE { DEFAULT_HASH_SIZE 1940,63947 -static double const DEFAULT_REHASH_THRESHOLD 1946,64167 -static double const DEFAULT_REHASH_SIZE 1950,64290 -sxhash_combine 1956,64456 -SXHASH_REDUCE 1964,64639 -struct Lisp_Misc_Any 1971,64797 -struct Lisp_Marker1978,64971 -struct Lisp_Overlay2021,66832 - SAVE_UNUSED,2047,67635 - SAVE_INTEGER,2048,67652 - SAVE_FUNCPOINTER,2049,67670 - SAVE_POINTER,2050,67692 - SAVE_OBJECT2051,67710 -enum { SAVE_SLOT_BITS 2055,67795 -enum { SAVE_VALUE_SLOTS 2058,67892 -enum { SAVE_TYPE_BITS 2062,68000 -enum Lisp_Save_Type2064,68066 - SAVE_TYPE_INT_INT 2066,68090 - SAVE_TYPE_INT_INT_INT2067,68163 - SAVE_TYPE_OBJ_OBJ 2069,68253 - SAVE_TYPE_OBJ_OBJ_OBJ 2070,68324 - SAVE_TYPE_OBJ_OBJ_OBJ_OBJ2071,68405 - SAVE_TYPE_PTR_INT 2073,68500 - SAVE_TYPE_PTR_OBJ 2074,68573 - SAVE_TYPE_PTR_PTR 2075,68645 - SAVE_TYPE_FUNCPTR_PTR_OBJ2076,68718 - SAVE_TYPE_MEMORY 2080,68876 -typedef void (*voidfuncptr)voidfuncptr2108,69830 -struct Lisp_Save_Value2110,69867 -save_type 2134,70746 -XSAVE_POINTER 2143,70976 -set_save_pointer 2149,71138 -XSAVE_FUNCPOINTER 2155,71320 -XSAVE_INTEGER 2164,71540 -set_save_integer 2170,71702 -XSAVE_OBJECT 2179,71923 -struct Lisp_Finalizer2186,72100 -struct Lisp_Free2201,72575 -union Lisp_Misc2212,72876 -XMISC 2223,73175 -XMISCANY 2229,73264 -XMISCTYPE 2236,73373 -XMARKER 2242,73461 -XOVERLAY 2249,73576 -XSAVE_VALUE 2256,73697 -XFINALIZER 2263,73826 -struct Lisp_Intfwd2274,74111 -struct Lisp_Boolfwd2284,74405 -struct Lisp_Objfwd2294,74696 -struct Lisp_Buffer_Objfwd2302,74928 -struct Lisp_Buffer_Local_Value2334,76464 -struct Lisp_Kboard_Objfwd2362,77723 -union Lisp_Fwd2368,77832 -XFWDTYPE 2378,78078 -XBUFFER_OBJFWD 2384,78174 -struct Lisp_Float2391,78310 -XFLOAT_DATA 2401,78428 - IEEE_FLOATING_POINT2415,78937 -#define _UCHAR_T2423,79260 -typedef unsigned char UCHAR;2424,79277 -enum Lisp_Compiled2429,79360 - COMPILED_ARGLIST 2431,79383 - COMPILED_BYTECODE 2432,79409 - COMPILED_CONSTANTS 2433,79436 - COMPILED_STACK_DEPTH 2434,79464 - COMPILED_DOC_STRING 2435,79494 - COMPILED_INTERACTIVE 2436,79523 -enum char_bits2443,79825 - CHAR_ALT 2445,79844 - CHAR_SUPER 2446,79870 - CHAR_HYPER 2447,79898 - CHAR_SHIFT 2448,79926 - CHAR_CTL 2449,79954 - CHAR_META 2450,79980 - CHAR_MODIFIER_MASK 2452,80008 - CHARACTERBITS 2457,80203 -LISP_MACRO_DEFUN 2462,80261 -NATNUMP 2470,80403 -RANGED_INTEGERP 2476,80484 -#define TYPE_RANGED_INTEGERP(2481,80606 -LISP_MACRO_DEFUN 2486,80791 -VECTORP 2500,81264 -OVERLAYP 2505,81367 -SAVE_VALUEP 2510,81466 -FINALIZERP 2516,81572 -AUTOLOADP 2522,81676 -BUFFER_OBJFWDP 2528,81767 -PSEUDOVECTOR_TYPEP 2534,81865 -PSEUDOVECTORP 2542,82118 -WINDOW_CONFIGURATIONP 2558,82470 -PROCESSP 2564,82580 -WINDOWP 2570,82664 -TERMINALP 2576,82746 -SUBRP 2582,82832 -COMPILEDP 2588,82910 -BUFFERP 2594,82996 -CHAR_TABLE_P 2600,83078 -SUB_CHAR_TABLE_P 2606,83169 -BOOL_VECTOR_P 2612,83268 -FRAMEP 2618,83361 -IMAGEP 2625,83478 -ARRAYP 2632,83583 -CHECK_LIST 2638,83702 -LISP_MACRO_DEFUN_VOID 2643,83783 -CHECK_STRING_CAR 2653,84080 -CHECK_CONS 2658,84184 -CHECK_VECTOR 2663,84264 -CHECK_BOOL_VECTOR 2668,84350 -CHECK_VECTOR_OR_STRING 2674,84527 -CHECK_ARRAY 2683,84701 -CHECK_BUFFER 2688,84809 -CHECK_WINDOW 2693,84895 -CHECK_PROCESS 2699,85001 -CHECK_NATNUM 2705,85097 -#define CHECK_RANGED_INTEGER(2710,85174 -#define CHECK_TYPE_RANGED_INTEGER(2721,85557 -#define CHECK_NUMBER_COERCE_MARKER(2729,85827 -XFLOATINT 2738,86080 -CHECK_NUMBER_OR_FLOAT 2744,86151 -#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(2749,86250 -CHECK_NUMBER_CAR 2760,86660 -CHECK_NUMBER_CDR 2768,86782 -#define DEFUN(2803,88377 -#define DEFUN(2812,88845 -FUNCTIONP 2822,89200 -enum maxargs2831,89395 - MANY 2833,89412 - UNEVALLED 2834,89427 -#define CALLMANY(2838,89530 -#define CALLN(2844,89883 -#define DEFVAR_LISP(2869,91088 -#define DEFVAR_LISP_NOPRO(2874,91260 -#define DEFVAR_BOOL(2879,91442 -#define DEFVAR_INT(2884,91615 -#define DEFVAR_BUFFER_DEFAULTS(2890,91786 -#define DEFVAR_KBOARD(2896,91990 -typedef jmp_buf sys_jmp_buf;2906,92314 -# define sys_setjmp(2907,92343 -# define sys_longjmp(2908,92378 -typedef sigjmp_buf sys_jmp_buf;2910,92450 -# define sys_setjmp(2911,92482 -# define sys_longjmp(2912,92522 -typedef jmp_buf sys_jmp_buf;2916,92681 -# define sys_setjmp(2917,92710 -# define sys_longjmp(2918,92744 -enum specbind_tag 2943,93796 - SPECPDL_UNWIND,2944,93816 - SPECPDL_UNWIND_PTR,2945,93885 - SPECPDL_UNWIND_INT,2946,93936 - SPECPDL_UNWIND_VOID,2947,93984 - SPECPDL_BACKTRACE,2948,94038 - SPECPDL_LET,2949,94096 - SPECPDL_LET_LOCAL,2951,94226 - SPECPDL_LET_DEFAULT 2952,94283 -union specbinding2955,94355 -SPECPDL_INDEX 2996,95379 -enum handlertype 3021,96401 -enum handlertype { CATCHER,3021,96401 -enum handlertype { CATCHER, CONDITION_CASE 3021,96401 -struct handler3023,96448 -#define PUSH_HANDLER(3053,97437 -#define QUIT 3101,99214 -#define QUITP 3112,99464 -struct gcpro3132,100307 -#define GC_USE_GCPROS_AS_BEFORE 3171,101288 -#define GC_MAKE_GCPROS_NOOPS 3172,101323 -#define GC_MARK_STACK_CHECK_GCPROS 3173,101355 -#define GC_USE_GCPROS_CHECK_ZOMBIES 3174,101392 -#define GC_MARK_STACK 3177,101453 -#define BYTE_MARK_STACK 3181,101553 -#define GCPRO1(3190,101824 -#define GCPRO2(3191,101864 -#define GCPRO3(3192,101930 -#define GCPRO4(3194,102025 -#define GCPRO5(3196,102145 -#define GCPRO6(3198,102290 -#define GCPRO7(3201,102465 -#define UNGCPRO 3202,102544 -#define GCPRO1(3208,102644 -#define GCPRO2(3212,102766 -#define GCPRO3(3217,102958 -#define GCPRO4(3223,103220 -#define GCPRO5(3230,103551 -#define GCPRO6(3238,103952 -#define GCPRO7(3247,104422 -#define UNGCPRO 3257,104962 -#define GCPRO1(3263,105056 -#define GCPRO2(3269,105290 -#define GCPRO3(3278,105708 -#define GCPRO4(3289,106265 -#define GCPRO5(3302,106963 -#define GCPRO6(3317,107803 -#define GCPRO7(3334,108784 -#define UNGCPRO 3353,109907 -#define RETURN_UNGCPRO(3363,110174 -vcopy 3384,110648 -set_hash_key_slot 3393,110923 -set_hash_value_slot 3399,111062 -set_symbol_function 3408,111297 -set_symbol_plist 3414,111412 -set_symbol_next 3420,111515 -blv_found 3428,111688 -set_overlay_plist 3437,111871 -string_intervals 3445,112022 -set_string_intervals 3453,112144 -set_char_table_defalt 3462,112346 -set_char_table_purpose 3467,112458 -set_char_table_extras 3475,112627 -set_char_table_contents 3482,112836 -set_sub_char_table_contents 3489,113031 -enum Arith_Comparison 3497,113294 - ARITH_EQUAL,3498,113318 - ARITH_NOTEQUAL,3499,113333 - ARITH_LESS,3500,113351 - ARITH_GRTR,3501,113365 - ARITH_LESS_OR_EQUAL,3502,113379 - ARITH_GRTR_OR_EQUAL3503,113402 -#define INTEGER_TO_CONS(3511,113753 -#define CONS_TO_INTEGER(3529,114616 -enum { NEXT_ALMOST_PRIME_LIMIT 3573,116320 -extern EMACS_INT next_almost_prime 3574,116359 -enum constype 3739,123811 -enum constype {CONSTYPE_HEAP,CONSTYPE_HEAP3739,123811 -enum constype {CONSTYPE_HEAP, CONSTYPE_PURE}CONSTYPE_PURE3739,123811 -list2i 3745,124001 -list3i 3751,124110 -list4i 3757,124249 -extern Lisp_Object make_formatted_string 3767,124625 -build_pure_c_string 3792,125653 -build_string 3801,125858 -make_uninit_vector 3820,126429 -make_uninit_sub_char_table 3833,126648 -#define ALLOCATE_PSEUDOVECTOR(3850,127192 -#define ALLOCATE_ZEROED_PSEUDOVECTOR(3858,127528 -INLINE void 3890,128934 -extern void *r_alloc r_alloc3895,129055 -#define FLOAT_TO_STRING_BUFSIZE 3927,130518 -intern 3968,132125 -intern_c_string 3974,132213 -extern _Noreturn void error 4034,135592 -fast_string_match_ignore_case 4136,140080 -INLINE void fixup_locale 4241,143845 -INLINE void synchronize_system_messages_locale 4242,143880 -INLINE void synchronize_system_time_locale 4243,143937 -#define IS_DAEMON 4257,144410 -#define DAEMON_RUNNING 4258,144450 -#define IS_DAEMON 4261,144549 -#define DAEMON_RUNNING 4262,144594 -# define WAIT_READING_MAX 4281,145413 -# define WAIT_READING_MAX 4283,145485 -extern _Noreturn void emacs_abort 4374,148377 -egetenv 4532,152800 -#define eabs(4545,153296 -#define make_fixnum_or_float(4550,153429 -enum MAX_ALLOCA 4556,153680 -enum MAX_ALLOCA { MAX_ALLOCA 4556,153680 -extern void *record_xmalloc record_xmalloc4558,153725 -#define USE_SAFE_ALLOCA 4560,153791 -#define AVAIL_ALLOCA(4564,153924 -#define SAFE_ALLOCA(4568,154035 -#define SAFE_NALLOCA(4576,154376 -#define SAFE_ALLOCA_STRING(4590,154852 -#define SAFE_FREE(4598,155104 -#define SAFE_ALLOCA_LISP(4625,155682 -# define USE_STACK_LISP_OBJECTS 4652,156804 -# undef USE_STACK_LISP_OBJECTS4658,156970 -# define USE_STACK_LISP_OBJECTS 4659,157001 -enum { defined_GC_CHECK_STRING_BYTES 4663,157076 -enum { defined_GC_CHECK_STRING_BYTES 4665,157129 -union Aligned_Cons4670,157263 -union Aligned_String4676,157343 - USE_STACK_CONS 4689,157698 - USE_STACK_STRING 4691,157804 -#define STACK_CONS(4699,158141 -#define AUTO_CONS_EXPR(4701,158238 -#define AUTO_CONS(4709,158601 -#define AUTO_LIST1(4710,158672 -#define AUTO_LIST2(4712,158780 -#define AUTO_LIST3(4716,158935 -#define AUTO_LIST4(4720,159110 -# define verify_ascii(4732,159501 -#define AUTO_STRING(4740,159809 -#define FOR_EACH_TAIL(4752,160273 -#define FOR_EACH_ALIST_VALUE(4766,160764 -maybe_gc 4774,161051 -functionp 4784,161290 - -c-src/machsyscalls.c,23 -#define SYSCALL(6,113 - -c-src/machsyscalls.h,159 -SYSCALL (mach_msg_trap,1,0 -SYSCALL (mach_reply_port,13,314 -SYSCALL (mach_thread_self,18,377 -SYSCALL (mach_task_self,23,441 -SYSCALL (mach_host_self,28,503 - -c-src/h.h,1850 - ELEM_I/ELEM_I3,15 -} Fails_t;5,85 -typedef void Lang_function 6,96 -typedef struct tpcmd8,147 -#define ggg 10,170 -tpcmd;15,209 -typedef struct foobar2_ 16,216 -} foobar2;20,307 - DEVICE_SWP,23,333 - DEVICE_LAST24,349 -} bsp_DevId;25,365 - struct constant_args 27,394 -} args;30,457 -typedef int *regset;regset31,465 -typedef int INT;32,486 -typedef union abc33,503 -} ghi1;36,534 -typedef union abc 37,542 -} ghi2;39,573 -typedef struct a 40,581 -} b;41,600 -#define c(42,605 -typedef struct an_extern_linkage *an_extern_linkage_ptr;an_extern_linkage_ptr43,619 -typedef struct an_extern_linkage 44,676 -} an_extern_linkage;56,1054 -typedef struct pollfd pfdset[pfdset57,1075 -typedef union rtunion_def58,1119 - } womboid 63,1206 -typedef union rtunion_def64,1220 -womboid75,1330 -enum {dog,dog81,1416 -enum {dog, cat}cat81,1416 -enum {dog, cat} animals;81,1416 -typedef void (_CALLBACK_ *signal_handler)signal_handler82,1441 -typedef void (_CALLBACK_ *signal_handler1)signal_handler183,1489 -/* comment */ #define ANSIC84,1538 - #define ANSIC85,1566 -typedef void (proc)87,1588 -typedef void OperatorFun(88,1612 -typedef int f(89,1648 -struct my_struct 91,1691 -typedef struct my_struct my_typedef;93,1713 -typedef RETSIGTYPE (*signal_handler_t)signal_handler_t94,1750 - Date 04 May 87 235311 PDT 96,1802 -typedef unsigned char unchar;99,1880 -typedef int X,100,1910 -typedef int X, Y,100,1910 -typedef int X, Y, Z;100,1910 -typedef mio mao;101,1931 -typedef struct a 103,1966 -typedef struct a { } b;103,1966 -typedef struct b104,1990 -} c;106,2009 -int extvar;109,2053 -#define tag1110,2065 -#define aaaaaa 111,2078 -#define bbbbbb\bbbbbb113,2102 -#define cccccccccc115,2125 -#define enter_critical_section 116,2144 -#define exit_critical_to_previous 117,2199 -#define UNDEFINED118,2259 -struct re_pattern_buffer 119,2277 - -cp-src/c.C,2094 -template * f(48,1556 -int f(49,1571 -int A::f(f50,1590 -A > A,int>::f(f51,1618 -template class AT 52,1668 -class AU 53,1716 -class B<B54,1735 -class B { void f(54,1735 -const A::B::T& abt 55,1766 -class A 56,1792 -class A { class B 56,1792 -class A 57,1827 - A operator+(59,1861 -is_muldiv_operation(61,1888 -domain foo 68,1956 - void f(69,1969 -void A::A(A72,1990 -struct A 73,2005 -struct B 74,2023 -void B::B(B75,2042 -void BE_Node::BE_Node(BE_Node76,2057 -class BE_Node 77,2084 -struct foo 79,2103 -class test 86,2157 - int f(87,2170 - int ff(89,2232 - int g(90,2255 -class AST_Root 92,2279 -AST_ConcreteType::AST_ConcreteType(99,2394 -AST_Array::AST_Array(107,2533 - void f(115,2734 -struct A 117,2754 -A::~A(~A120,2778 -struct B 122,2790 - ~B(123,2801 -enum {dog,dog126,2818 -enum {dog, cat}cat126,2818 -enum {dog, cat} animals;126,2818 -struct {int teats;} cow;127,2843 -class Boo 129,2869 - enum {dog,dog130,2881 - enum {dog, cat}cat130,2881 - foo(133,2955 - Boo(137,2996 -Boo::Boo(141,3071 -typedef int should_see_this_one_enclosed_in_extern_C;149,3156 -typedef int (*should_see_this_function_pointer)should_see_this_function_pointer153,3229 -typedef int should_see_this_array_type[should_see_this_array_type156,3311 - -cp-src/x.cc,63 -class XX1,0 -XX::foo(foo9,60 -XX::bar(bar15,95 -main(21,126 - -cp-src/burton.cpp,124 -::dummy::dummy test::dummy1(dummy11,0 -::dummy::dummy test::dummy2(dummy26,64 -::dummy::dummy test::dummy3(dummy311,143 - -cp-src/functions.cpp,778 -void Date::setDate setDate5,148 -void Date::plus plus32,938 -void Date::minus minus42,1226 -void Date::shift shift52,1404 -Date & Date::operator = operator =62,1625 -Date & Date::operator += operator +=69,1786 -Date & Date::operator -= operator -=78,1935 -Date & Date::operator ++ operator ++87,2076 -Date & Date::operator -- operator --96,2212 -int Date::operator - operator -104,2327 -int Date::operator < operator <112,2479 -int Date::operator > operator >116,2553 -int Date::operator == operator ==120,2627 -ostream& operator << operator <<124,2703 -istream& operator >> operator >>133,2939 -bool isLeap 159,3539 -bool isHoliday 163,3625 -void asort(173,3861 -void ReadVacation 186,4060 -void Debug 201,4519 -int WorkingDays(211,4863 -Date StartDay(226,5125 - -cp-src/MDiagArray2.h,482 -#define octave_MDiagArray2_h 29,870 -#undef LTGT35,967 -#define LTGT39,1031 -#define LTGT 42,1051 -class MDiagArray2 78,2022 - MDiagArray2 82,2077 - MDiagArray2 86,2154 - MDiagArray2 87,2198 - MDiagArray2 88,2254 - MDiagArray2 89,2329 - MDiagArray2 90,2387 - MDiagArray2 91,2450 - ~MDiagArray2 93,2515 - MDiagArray2& operator = operator =95,2542 - operator MArray2 operator MArray2101,2667 -#undef LTGT144,3874 -#define INSTANTIATE_MDIAGARRAY_FRIENDS(146,3887 - -cp-src/Range.h,275 -#define octave_Range_h 24,765 -Range35,891 - Range 39,909 - Range 42,995 - Range 46,1130 - Range 50,1248 - double base 54,1376 - double limit 55,1425 - double inc 56,1475 - int nelem 57,1523 - void set_base 68,1728 - void set_limit 69,1774 - void set_inc 70,1821 - -cp-src/screen.cpp,228 -unsigned char cursor_x,15,548 -unsigned char cursor_x, cursor_y;15,548 -static union REGS regs;16,582 -void goto_xy(18,607 -void hide_cursor(27,774 -void cursor_position(32,836 -void clear_screen(41,997 -void write_xyc(55,1247 - -cp-src/screen.hpp,414 -#define __COLORS9,401 -enum COLORS 11,419 - BLACK,12,433 - BLUE,13,471 - GREEN,14,481 - CYAN,15,492 - RED,16,502 - MAGENTA,17,511 - BROWN,18,524 - LIGHTGRAY,19,535 - DARKGRAY,20,550 - LIGHTBLUE,21,589 - LIGHTGREEN,22,604 - LIGHTCYAN,23,620 - LIGHTRED,24,635 - LIGHTMAGENTA,25,649 - YELLOW,26,667 - WHITE27,679 -#define SCREEN_FP(31,700 -#define SCREEN_START 33,795 - -cp-src/conway.cpp,288 -#define max(12,357 -#define min(13,393 -const int num_rows 15,430 -const int num_columns 16,470 -class site *field_of_play[field_of_play18,499 -int site::total_surrounding(total_surrounding20,550 -void display(37,958 -void glider(50,1239 -void traffic_light(59,1478 -void main(67,1633 - -cp-src/conway.hpp,164 -class site:site5,235 - site(10,344 - char read(12,410 - void set(13,444 - void clear(14,478 - void compute_next_state(15,514 - void step(22,717 - -cp-src/clheir.cpp,359 -const int max_num_generic_objects 9,298 -generic_object * object_registry[object_registry10,340 -void init_registry(12,400 -void step_everybody(19,527 -void discrete_location::clear_neighbors(clear_neighbors31,852 -generic_object::generic_object(generic_object36,981 -generic_object::~generic_object(~generic_object48,1255 -void agent::move(move53,1353 - -cp-src/clheir.hpp,423 -class generic_object13,520 - virtual void compute_next_state(21,843 - virtual void step(22,889 -const int max_num_directions 31,1220 -class location:location33,1290 - location(43,1643 -class irregular_location:irregular_location47,1687 - irregular_location(51,1763 -class discrete_location:discrete_location56,1890 - discrete_location(62,2045 - void assign_neighbor(66,2185 -class agent:agent75,2509 - -cp-src/fail.C,294 -struct A 7,263 - struct B 8,274 - struct C 9,289 - C(11,318 - operator int(operator int12,342 - typedef C T;14,389 - typedef B T2;16,414 -class A 23,453 - class B 24,463 - class C 25,474 - int f(26,488 -int A::B::f(f31,521 -main(37,571 - class D 41,622 - D(43,659 - -el-src/TAGTEST.EL,181 -(foo::defmumble bletch 3,33 -(defun foo==bar foo==bar4,66 -(defalias 'pending-delete-mode pending-delete-mode8,182 -(defalias (quote explicitly-quoted-pending-delete-mode)11,255 - -el-src/emacs/lisp/progmodes/etags.el,5069 -(defvar tags-file-name 34,1035 -(defgroup etags 43,1499 -(defcustom tags-case-fold-search 47,1567 -(defcustom tags-table-list 59,2052 -(defcustom tags-compression-info-list69,2450 -(defcustom tags-add-tables 88,3232 -(defcustom tags-revert-without-query 98,3628 -(defvar tags-table-computed-list 103,3779 -(defvar tags-table-computed-list-for 112,4263 -(defvar tags-table-list-pointer 117,4511 -(defvar tags-table-list-started-at 121,4702 -(defvar tags-table-set-list 124,4822 -(defcustom find-tag-hook 129,5001 -(defcustom find-tag-default-function 137,5264 -(define-obsolete-variable-alias 'find-tag-marker-ring-lengthfind-tag-marker-ring-length145,5603 -(defcustom tags-tag-face 148,5700 -(defcustom tags-apropos-verbose 154,5835 -(defcustom tags-apropos-additional-actions 160,5999 -(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6921 -(defvar default-tags-table-function 189,7101 -(defvar tags-location-ring 194,7327 -(defvar tags-table-files 201,7603 -(defvar tags-completion-table 206,7770 -(defvar tags-included-tables 209,7862 -(defvar next-file-list 212,7957 -(defvar tags-table-format-functions 217,8063 -(defvar file-of-tag-function 224,8444 -(defvar tags-table-files-function 228,8638 -(defvar tags-completion-table-function 230,8749 -(defvar snarf-tag-function 232,8844 -(defvar goto-tag-location-function 236,9053 -(defvar find-tag-regexp-search-function 239,9226 -(defvar find-tag-regexp-tag-order 241,9347 -(defvar find-tag-regexp-next-line-after-failure-p 243,9456 -(defvar find-tag-search-function 245,9576 -(defvar find-tag-tag-order 247,9683 -(defvar find-tag-next-line-after-failure-p 249,9778 -(defvar list-tags-function 251,9884 -(defvar tags-apropos-function 253,9972 -(defvar tags-included-tables-function 255,10066 -(defvar verify-tags-table-function 257,10185 -(defun initialize-new-tags-table 260,10296 -(defun tags-table-mode 276,10984 -(defun visit-tags-table 285,11249 -(defun tags-table-check-computed-list 321,12787 -(defun tags-table-extend-computed-list 360,14658 -(defun tags-expand-table-name 400,16371 -(defun tags-table-list-member 409,16714 -(defun tags-verify-table 421,17186 -(defun tags-table-including 470,19306 -(defun tags-next-table 522,21350 -(defun visit-tags-table-buffer 543,22207 -(defun tags-reset-tags-tables 712,28517 -(defun file-of-tag 731,29174 -(defun tags-table-files 740,29524 -(defun tags-included-tables 749,29874 -(defun tags-completion-table 755,30120 -(defun tags-lazy-completion-table 783,31314 -(defun tags-completion-at-point-function 799,31949 -(defun find-tag-tag 818,32699 -(defvar last-tag 837,33372 -(defun find-tag-interactive 840,33431 -(defvar find-tag-history 852,33846 -(defun find-tag-noselect 860,34016 -(defun find-tag 932,37130 -(defun find-tag-other-window 959,38346 -(defun find-tag-other-frame 1000,40274 -(defun find-tag-regexp 1025,41448 -(defalias 'pop-tag-mark pop-tag-mark1049,42610 -(defvar tag-lines-already-matched 1052,42661 -(defun find-tag-in-order 1055,42768 -(defun tag-find-file-of-tag-noselect 1167,47114 -(defun tag-find-file-of-tag 1200,48960 -(defun etags-recognize-tags-table 1208,49186 -(defun etags-verify-tags-table 1241,50817 -(defun etags-file-of-tag 1246,51015 -(defun etags-tags-completion-table 1256,51350 -(defun etags-snarf-tag 1286,52556 -(defun etags-goto-tag-location 1324,54125 -(defun etags-list-tags 1388,56568 -(defmacro tags-with-face 1423,57843 -(defun etags-tags-apropos-additional 1431,58176 -(defun etags-tags-apropos 1465,59413 -(defun etags-tags-table-files 1527,61622 -(defun etags-tags-included-tables 1542,62058 -(defun tags-recognize-empty-tags-table 1559,62598 -(defun tag-exact-file-name-match-p 1587,63744 -(defun tag-file-name-match-p 1596,64137 -(defun tag-exact-match-p 1609,64693 -(defun tag-implicit-name-match-p 1620,65261 -(defun tag-symbol-match-p 1633,65861 -(defun tag-word-match-p 1643,66297 -(defun tag-partial-file-name-match-p 1652,66695 -(defun tag-any-match-p 1662,67139 -(defun tag-re-match-p 1667,67323 -(defcustom tags-loop-revert-buffers 1675,67572 -(defun next-file 1685,67981 -(defvar tags-loop-operate 1760,70895 -(defvar tags-loop-scan1763,70989 -(defun tags-loop-eval 1771,71318 -(defun tags-loop-continue 1782,71647 -(defun tags-search 1850,73953 -(defun tags-query-replace 1871,74779 -(defun tags-complete-tags-table-file 1896,76003 -(defun list-tags 1906,76382 -(defun tags-apropos 1934,77335 -(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78161 -(defun select-tags-table 1964,78400 -(defvar select-tags-table-mode-map 2019,80527 -(define-derived-mode select-tags-table-mode 2030,80910 -(defun select-tags-table-select 2034,81094 -(defun select-tags-table-quit 2043,81460 -(defun complete-tag 2049,81615 -(defconst etags--xref-limit 2074,82556 -(defvar etags-xref-find-definitions-tag-order 2076,82591 -(defun etags-xref-find 2082,82881 -(defun etags--xref-find-definitions 2096,83410 -(defclass xref-etags-location 2129,85124 -(defun xref-make-etags-location 2135,85347 -(cl-defmethod xref-location-marker 2139,85502 -(cl-defmethod xref-location-line 2146,85746 - -erl-src/gs_dialog.erl,98 --define(VERSION2,32 -behaviour_info(51,2177 -show(124,5458 -dialog_loop(219,9529 -test(252,10806 - -f-src/entry.for,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -f-src/entry.strange_suffix,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -f-src/entry.strange,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -forth-src/test-forth.fth,733 -: a-forth-word20,301 -99 constant a-forth-constant!22,343 -55 value a-forth-value?23,373 -create :a-forth-dictionary-entry24,397 -defer #a-defer-word27,460 -: (another-forth-word)(another-forth-word)29,481 - 9 field >field136,582 - 5 field >field237,605 -constant (a-forth-constant(a-forth-constant38,628 -2000 buffer: #some-storage41,657 -code assemby-code-word43,685 -: a-forth-word50,870 -: (foo)(foo)55,988 -: foo56,1000 -: create-bar58,1015 -3 4 2constant 2const61,1074 -2const 2value 2val62,1095 -2variable 2var63,1114 -3.1415e fconstant fconst65,1130 -fconst fvalue fval66,1155 -fvariable fvar67,1174 -synonym mypi69,1190 -BEGIN-STRUCTURE point71,1211 - 1 CELLS +FIELD p.x72,1262 - 1 CELLS +FIELD p.y73,1318 - -go-src/test.go,48 -package main1,0 -func say(5,28 -func main(9,72 - -go-src/test1.go,119 -package main1,0 -func (s str) PrintAdd(17,136 -func (n intNumber) PrintAdd(21,189 -func test(25,248 -func main(29,285 - -html-src/softwarelibero.html,200 -Cos'è il software libero?4,38 -Licenze d'uso di un programmalicenze65,2502 -Sfatiamo alcuni miti138,6122 -Il movimento open sourceoss191,8041 -Impatto pratico del software liberoimpatto231,10070 - -html-src/index.shtml,104 - 8,281 -In evidenza15,447 -Comunicati e iniziative32,976 -Ultime notizie dall'associazione63,2030 - -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 Algorithms7,277 -Descriptionalgorithms10,481 -Generating the Datagenalgorithm48,1995 -Convolutionallyconalgorithm55,2512 -Nextstatetable262,11587 -Outputoutputtable350,13915 -Mapping the Channel Symbolsmapping433,16213 -Adding Noise to theaddnoise439,16607 -Quantizing the Receivedquantizing469,19100 - -html-src/software.html,439 -Francesco Potortì Software Page9,280 -Software that I wrote for supporting my research activitysimulation36,1398 -MTGmtg41,1482 -Fracasfracas65,2624 -GaliLEOgalileo101,4232 -Leasqrleasqr114,4677 -Free software that I wrote for the GNU project or for my personal or workgnu142,6066 -Etagsetags148,6181 -checkiso161,6731 -cgrep178,7549 -debian-bug.eldebian-bug190,7981 -tcpdump205,8566 -Links to interesting softwarelinks216,8893 - -lua-src/allegro.lua,400 -local function get_layer_by_name 7,175 -local function count_layers 33,621 -function GetLayerByName 54,980 -function GetUniqueLayerName 65,1204 -function SelectLayer 76,1415 -function NewLayer 86,1773 -function NewLayerSet 144,3226 -function RemoveLayer 170,3750 -function MoveLayerTop 211,4767 -function MoveLayerBottom 223,5079 -function MoveLayerBefore 236,5457 -function MoveLayerAfter 258,6090 - -lua-src/test.lua,442 -function Rectangle.getPos 2,15 -function Rectangle.getPos getPos2,15 -function Circle.getPos 6,61 -function Circle.getPos getPos6,61 -function Cube.data.getFoo 10,102 -function Cube.data.getFoo getFoo10,102 -function Square.something:Bar 14,148 -function Square.something:Bar Bar14,148 - function test.me_22a(22,241 - function test.me_22a(me_22a22,241 - local function test.me22b 25,297 - local function test.me22b me22b25,297 - -make-src/Makefile,2175 -LATEST=1,0 -RELEASELIST=2,10 -ADASRC=4,104 -ASRC=5,171 -CSRC=6,197 -CPSRC=10,423 -ELSRC=13,614 -ERLSRC=14,661 -FORTHSRC=15,702 -FSRC=16,726 -HTMLSRC=17,776 -JAVASRC=18,844 -LUASRC=19,907 -MAKESRC=20,926 -OBJCSRC=21,943 -OBJCPPSRC=22,999 -PASSRC=23,1035 -PERLSRC=24,1053 -PHPSRC=25,1108 -PSSRC=26,1156 -PROLSRC=27,1173 -PYTSRC=28,1210 -TEXSRC=29,1227 -YSRC=30,1282 -SRCS=31,1325 -NONSRCS=35,1577 -VHDLFLAGS=37,1624 -COBOLFLAGS=38,1827 -POSTSCRIPTFLAGS=39,1889 -TCLFLAGS=40,1943 -GETOPTOBJS=42,2002 -RXINCLUDE=43,2034 -REGEXOBJS=44,2056 -CHECKOBJS=46,2075 -CHECKFLAGS=47,2105 -OBJS=48,2145 -CPPFLAGS=49,2190 -LDFLAGS=50,2259 -WARNINGS=51,2282 -CFLAGS=52,2466 -FASTCFLAGS=55,2530 -FASTCFLAGSWARN=56,2591 -FILTER=58,2641 -REGEX=59,2695 -xx=60,2741 -MAKE:MAKE62,2790 -RUN=63,2825 -RUN=64,2865 -OPTIONS=65,2870 -ARGS=66,2922 -infiles 68,2940 -quiettest:quiettest70,3002 -test:test79,3409 -${CHECKOBJS}:${CHECKOBJS}88,3805 -checker:checker90,3849 -standalone:standalone96,4062 -prof:prof101,4168 -fastetags:fastetags104,4198 -fastctags:fastctags108,4322 -staticetags:staticetags112,4446 -rsynctofly:rsynctofly116,4608 -rsyncfromfly:rsyncfromfly119,4698 -web ftp publish:web ftp publish122,4794 -release distrib:release distrib129,5115 -tags:tags134,5255 -clean:clean136,5267 -srclist:srclist139,5302 -regexfile:regexfile143,5391 -/home/www/pub/etags.c.gz:/home/www/pub/etags.c.gz149,5566 -/home/www/pub/software/unix/etags.tar.gz:/home/www/pub/software/unix/etags.tar.gz156,5825 -regex.o:regex.o159,6031 -getopt.o:getopt.o162,6086 -getopt1.o:getopt1.o165,6147 -etags:etags168,6210 -ctags:ctags171,6299 -man manpage:man manpage174,6396 -etags.1.man:etags.1.man176,6422 -maintaining.info:maintaining.info179,6475 -TAGS:TAGS182,6557 -%ediff:%ediff185,6587 -oediff:oediff188,6677 -%cdiff:%cdiff191,6764 -xdiff:xdiff194,6854 -ETAGS:ETAGS197,6942 -ETAGS%:ETAGS%200,7012 -ETAGS13 ETAGS14 ETAGS15:ETAGS13 ETAGS14 ETAGS15203,7084 -ETAGS12:ETAGS12206,7216 -OTAGS:OTAGS209,7304 -CTAGS:CTAGS212,7369 -CTAGS%:CTAGS%215,7443 -CTAGS13 CTAGS14 CTAGS15:CTAGS13 CTAGS14 CTAGS15218,7545 -EXTAGS:EXTAGS221,7680 -.PRECIOUS:.PRECIOUS224,7838 -FRC:FRC226,7894 - -objc-src/Subprocess.h,98 -#define Subprocess 41,1217 -#define BUFFERSIZE 43,1267 -@interface Subprocess:Subprocess45,1292 - -objc-src/Subprocess.m,446 -#define PTY_TEMPLATE 20,494 -#define PTY_LENGTH 21,528 -@interface Subprocess(Private)32,737 -- childDidExit39,851 -- fdHandler:fdHandler67,1589 -showError 98,2360 -fdHandler 112,2785 -getptys 119,2907 -- init:init183,4815 - andStdErr:init197,5147 -- send:(const char *)string withNewline:send300,7436 -- send:send308,7599 -- terminateInput314,7689 -- terminate:terminate321,7810 -- setDelegate:setDelegate332,7961 -- delegate338,8031 - -objc-src/PackInsp.h,109 -#define NUMSTATS 36,1101 -#define TYPESTOSTAT 37,1120 -@interface PackageInspector:PackageInspector39,1172 - -objc-src/PackInsp.m,1322 -static const char RCSid[RCSid30,1032 -#define VERSION 34,1116 -# define DEBUG 37,1155 -#define LISTCONTENTS 39,1181 -#define OPENBUTTON 47,1352 -#define LISTCONTENTSBUTTON 48,1449 -#define LISTDESCRIPTIONBUTTON 49,1562 -#define STATE_UNINSTALLED 52,1687 -#define STATE_INSTALLED 53,1807 -#define STATE_COMPRESSD 54,1948 -#define SIZEFORMAT 57,2152 -#define KBYTES 58,2362 -#define MBYTES 59,2473 -#define LOCALIZE(61,2585 -#define LOCALIZE_ARCH(62,2668 -+newnew67,2802 --showInfo:showInfo93,3417 --revert:revert107,3737 --ok:ok136,4297 --loadload143,4424 -#define LOOKUP(156,4826 -#undef LOOKUP176,5694 --loadKeyValuesFrom:(const char *)type inTable:loadKeyValuesFrom186,5852 --loadContentsOf:(const char *)type inTable:loadContentsOf238,7079 --loadImageloadImage257,7552 -#define STAT_EQ(275,7940 --(BOOL)shouldLoad280,8116 --toggleDescriptiontoggleDescription301,8626 --(const char *)getPath:(char *)buf forType:getPath317,8899 --setRevertButtonTitlesetRevertButtonTitle333,9320 --(const char *)formatSize:(const char *)size inBuf:formatSize344,9525 -#define WORKING 368,10045 --(void)getArchs370,10100 --(void)addArchs:addArchs385,10520 --subprocess:(Subprocess *)sender output:subprocess428,11351 --subprocessDone:subprocessDone436,11484 -static void openInWorkspace(446,11634 --open:open464,12063 - -objcpp-src/SimpleCalc.H,41 -@interface SimpleCalc:SimpleCalc14,400 - -objcpp-src/SimpleCalc.M,445 -- init52,1747 -- appendToDisplay:appendToDisplay60,1933 -- registerAction:registerAction70,2210 -- decimalKey:decimalKey77,2348 -- numberKeys:numberKeys91,2661 -- equalsKey:equalsKey112,3192 -- operationKeys:operationKeys131,3680 -- clearKey:clearKey153,4301 -- clearAllKey:clearAllKey160,4410 -- appDidInit:appDidInit168,4591 -- windowWillClose:windowWillClose178,4882 -- infoPanel:infoPanel186,5132 -- helpPanel:helpPanel198,5482 - -pas-src/common.pas,1875 -procedure InitializeStringPackage;26,527 -function newtextstring;34,874 -procedure disposetextstring;52,1404 -function ConcatT;78,2066 -function AppendTextString;112,3238 -function CopyTextString;132,3947 -procedure CONVERT_CHARSTRING_TO_VALUE;151,4505 -procedure append_string;172,5166 -function To_Upper;186,5462 -function To_Lower;194,5617 -function EmptyNmStr(209,6213 -function chartonmstr;219,6436 -function LowerCaseNmStr;230,6682 -function concatenatenamestrings;242,7007 -procedure writenamestring;263,7517 -function IsControlChar;277,7928 -function namestringequal;283,8079 -function NameStringLess;302,8539 -function IsControlCharName(343,9710 -function SubString;358,10208 -function SkipChars;379,10791 -function RemoveUnderlineControl;397,11311 -procedure First100Chars;427,12162 -procedure SkipSpaces;462,13298 -function SkipBlanks;477,13782 -function stripname;505,14595 -function Locate;522,15039 -function NameHasChar;543,15581 -function integertonmstr;561,16134 -function NmStrToInteger;585,16901 -function AddNullToNmStr;600,17317 -function ValToNmStr;611,17585 -function ChangeFileType;625,18037 -function StripPath;647,18734 -function ReprOfChar;675,19343 -procedure ExtractCommentInfo;702,20749 -procedure INSERT_TREE_NODE;784,24053 -function GetNameList;920,27926 -procedure DisposeANameList(925,28010 -procedure DisposeNameList;938,28340 -function GetNewNameListNode;943,28409 -function insertname;972,29051 -procedure InitNameList;988,29471 -procedure InitNameStringPool;998,29767 -procedure NewNameString;1004,29867 -procedure ReleaseNameString;1022,30232 -procedure SDTrefStringToRec 1045,30741 -procedure SDTrefSkipSpaces;1059,31092 -function SDTrefIsEnd 1070,31323 -function SDTrefGetInteger 1082,31529 -procedure SDTrefRecToString 1303,37546 -function NmStrToErrStr;1497,42305 -function ErrStrToNmStr;1509,42557 -function GetTextRef;1529,43112 - -php-src/lce_functions.php,2152 - define("LCE_FUNCTIONS"LCE_FUNCTIONS4,38 - define("LCE_UNKNOWN"LCE_UNKNOWN9,145 - define("LCE_WS"LCE_WS11,194 - define("LCE_COMMENT"LCE_COMMENT13,244 - define("LCE_COMMENT_USER"LCE_COMMENT_USER15,303 - define("LCE_COMMENT_TOOL"LCE_COMMENT_TOOL17,366 - define("LCE_MSGID"LCE_MSGID19,430 - define("LCE_MSGSTR"LCE_MSGSTR21,488 - define("LCE_TEXT"LCE_TEXT23,541 - define("STATE_ABORT"STATE_ABORT25,567 - define("STATE_OK"STATE_OK26,595 - define("STATE_LOOP"STATE_LOOP27,620 - class POEntryAD 29,648 - function validate(31,683 - function checkQuotation(59,1384 - class CommentAD 70,1639 - function CommentAD(73,1693 - function validate(83,1944 - class POEntry 105,2410 - function POEntry(119,2711 - function lineCount(135,3255 - function serializeToVars(141,3365 - function write(151,3800 - class POReader 163,4178 - function gettext(177,4457 - function parseFromVars(189,4705 - function serializeToVars(215,5331 - function POReader(229,5613 - function read(243,5983 - function write(259,6307 - function isComment(277,6645 - function comment(284,6822 - function msgid(304,7247 - function msgstr(320,7574 - function start(340,8232 - function createPOEntries(360,8644 - function stripLine(394,9472 - function printClassification(421,10056 - function classifyLine(432,10301 - function getTextDomains(471,11094 - class PORManager 498,11756 - function PORManager(502,11822 - function addPOReader(507,11896 - function &getPOReader(getPOReader512,11992 - function getDomainNames(517,12081 - function &loadPORManager(loadPORManager523,12174 - function fileJoin(536,12436 - function lce_bindtextdomain(557,12839 - function lce_textdomain(614,14530 - function lce_gettext(620,14641 - function lce_dgettext(626,14767 - function lce(634,14966 - function lce_bindtextdomain(651,15488 - function lce_textdomain(656,15592 - function lce_gettext(661,15674 - function lce_dgettext(666,15755 - function lce(670,15855 - function lce_geteditcode(676,15898 - -php-src/ptest.php,46 -define("TEST"TEST1,0 -test 4,26 -foo(16,200 - -perl-src/htlmify-cystic,1197 -my @section_name;section_name12,236 -my @appendix_name;appendix_name13,254 -my @section_toc;section_toc15,274 -my @appendix_toc;appendix_toc16,291 -my $new_tag new_tag18,310 -my $appendix;appendix24,409 -my $section;section25,423 -my $subsection;subsection26,436 -my $subsubsection;subsubsection27,452 -my $this_file_toc this_file_toc29,472 -my %file_tocs;file_tocs30,496 -my @output_files output_files32,512 -my $file_index file_index33,535 -my $output_file;output_file35,556 -my $line;line37,574 -my $subsection_marker;subsection_marker161,3883 -my $new;new163,3907 -sub read_toc 165,3917 - my $entry entry218,5621 - my $entry entry234,6077 - my $entry entry245,6351 - my $entry entry252,6536 - my $entry entry268,7010 - my $entry entry276,7204 - my $entry entry281,7328 - my $entry entry296,7698 -sub finish_subsubsections 302,7805 -sub finish_subsections 309,7987 -sub finish_sections 320,8310 -sub finish_appendices 331,8599 -sub section_url_base 337,8724 -sub section_url_name 342,8922 -sub section_url 355,9284 - my $name name357,9336 -sub section_href 364,9452 -sub section_name 368,9551 -sub toc_line 372,9655 -sub file_end 375,9750 - -perl-src/yagrip.pl,233 -sub getopt 7,156 - local($_,$flag,$opt,$f,$r,@temp)($_,$flag,$opt,$f,$r,@temp8,169 -sub usage 38,856 - local($prog,$_,@list)($prog,$_,@list39,868 - local($string,$flag,@string,@temp,@last)($string,$flag,@string,@temp,@last40,897 - -perl-src/kai-test.pl,203 -sub f1 2,16 -sub main::f2 f26,50 -package Foo;10,90 -sub f3 12,104 -sub Bar::f4 f416,138 -package Bar;20,177 -sub f5 22,191 -package Foo::Bar;26,225 -sub f6 28,244 -package main;32,278 -sub f7 34,293 - -ps-src/rfc1245.ps,2478 -/FMversion 12,311 -/FrameDict 17,500 -/FMVERSION 47,1307 -/FMLOCAL 56,1494 -/FMDOCUMENT 73,1766 -/FMBEGINPAGE 95,2279 -/FMENDPAGE 109,2516 -/FMDEFINEFONT 115,2582 -/FMNORMALIZEGRAPHICS 126,2725 -/FMBEGINEPSF 142,2955 -/FMENDEPSF 153,3207 -/setmanualfeed 158,3283 -/max 163,3386 -/min 164,3426 -/inch 165,3466 -/pagedimen 166,3485 -/setpapername 172,3629 -/papersize 190,4214 -/manualpapersize 211,4789 -/desperatepapersize 230,5211 -/savematrix 239,5370 -/restorematrix 242,5425 -/dmatrix 245,5475 -/dpi 246,5495 -/freq 248,5583 -/sangle 249,5658 -/DiacriticEncoding 250,5717 -/.notdef 251,5738 -/.notdef 252,5801 -/.notdef 253,5864 -/.notdef 254,5927 -/.notdef 255,5990 -/numbersign 256,6051 -/parenright 257,6115 -/two 258,6184 -/less 259,6251 -/L 260,6320 -/bracketright 261,6389 -/i 262,6459 -/braceright 263,6529 -/Ntilde 264,6598 -/atilde 265,6668 -/iacute 266,6733 -/ocircumflex 267,6797 -/udieresis 268,6858 -/paragraph 269,6919 -/dieresis 270,6983 -/yen 271,7050 -/ordfeminine 272,7109 -/exclamdown 273,7171 -/guillemotleft 274,7230 -/Otilde 275,7296 -/quoteleft 276,7357 -/fraction 277,7420 -/periodcentered 278,7490 -/Acircumflex 279,7549 -/Icircumflex 280,7610 -/Uacute 281,7680 -/breve 282,7746 -/ReEncode 284,7814 -/graymode 300,8020 -/setpattern 310,8184 -/grayness 331,8725 -/normalize 394,9873 -/dnormalize 397,9942 -/lnormalize 400,10014 -/H 403,10104 -/Z 406,10147 -/X 409,10176 -/V 412,10219 -/N 415,10260 -/M 418,10286 -/E 419,10315 -/D 420,10336 -/O 421,10358 -/L 423,10394 -/Y 430,10489 -/R 439,10588 -/RR 450,10696 -/C 467,10959 -/U 473,11004 -/F 477,11039 -/T 481,11084 -/RF 484,11115 -/TF 488,11164 -/P 495,11219 -/PF 499,11270 -/S 506,11344 -/SF 510,11384 -/B 517,11446 -/BF 521,11505 -/W 538,11714 -/G 573,12382 -/A 582,12525 -/BEGINPRINTCODE 606,12918 -/ENDPRINTCODE 615,13131 -/gn 620,13259 -/cfs 631,13384 -/ic 636,13473 -/ms 658,14285 -/ip 668,14395 -/wh 678,14492 -/bl 684,14607 -/s1 690,14722 -/fl 691,14739 -/hx 698,14887 -/wbytes 709,15055 -/BEGINBITMAPBWc 713,15147 -/BEGINBITMAPGRAYc 716,15198 -/BEGINBITMAP2BITc 719,15251 -/COMMONBITMAPc 722,15304 -/BEGINBITMAPBW 739,15660 -/BEGINBITMAPGRAY 742,15709 -/BEGINBITMAP2BIT 745,15760 -/COMMONBITMAP 748,15811 -/Fmcc 765,16156 -/ngrayt 773,16371 -/nredt 774,16393 -/nbluet 775,16414 -/ngreent 776,16436 -/colorsetup 787,16603 -/fakecolorsetup 814,17370 -/BITMAPCOLOR 826,17636 -/BITMAPCOLORc 839,17926 -/BITMAPGRAY 855,18275 -/BITMAPGRAYc 858,18335 -/ENDBITMAP 861,18397 -/fillprocs 868,18497 - -prol-src/ordsets.prolog,525 -is_ordset(47,1310 -list_to_ord_set(63,1688 -ord_add_element(71,1867 -ord_del_element(85,2344 -ord_disjoint(100,2783 -ord_intersect(108,2953 -ord_intersection(126,3553 -ord_intersection3(130,3692 -ord_intersection(150,4533 -ord_intersection4(154,4705 -ord_intersection(176,5666 -ord_intersection2(181,5814 -ord_member(200,6320 -ord_seteq(216,6685 -ord_setproduct(225,6973 -ord_subset(240,7379 -ord_subtract(257,7863 -ord_symdiff(265,8056 -ord_union(288,8889 -ord_union4(303,9354 -ord_union(324,10173 -ord_union_all(329,10315 - -prol-src/natded.prolog,2319 -expandmng(100,2879 -normalize(116,3359 -fresh_vars(125,3716 -subst(138,4134 -normalize_fresh(159,4660 -reduce_subterm(171,5112 -reduce(185,5559 -free_var(196,5903 -free_for(209,6246 -compile_lex(231,6875 -consult_lex:-consult_lex248,7384 -lex(259,7754 -expandsyn(267,8068 -bas_syn(292,8897 -compile_empty:-compile_empty310,9376 -complete(328,10055 -add_active(340,10527 -parse(353,10949 -derived_analyses(364,11341 -build(378,11967 -buildact(392,12523 -mapsyn(412,13544 -add_edge(434,14280 -findcats(447,14760 -normalize_tree(465,15480 -normalize_trees(475,15858 -expandmng_tree(486,16250 -expandmng_trees(496,16616 -cat(511,17015 -subtree(644,21268 -hypothetical_mem(653,21567 -make_coor(667,22132 -start_up:-start_up688,23015 -tokenizeatom(710,23923 -tokenize(720,24350 -isoperator(752,25379 -isoptab(756,25433 -specialsymbol(765,25758 -sstab(771,25863 -parse_cgi(787,26349 -keyvalseq(792,26512 -andkeyvalseq(796,26611 -keyval(799,26690 -valseq(807,26922 -plusvalseq(810,27009 -val(816,27111 -argvals(824,27428 -commaargvals(828,27505 -atomval(833,27580 -atom(836,27642 -action(846,28006 -keyvalcgi(864,28651 -keyvalscgi(865,28672 -outsyn(868,28728 -act(876,29062 -actout(901,29908 -texttreelist(912,30091 -htmltreelist(918,30192 -fitchtreelist(924,30306 -pp_html_table_tree(938,30761 -pp_html_tree(949,31115 -pp_html_trees(988,32383 -pp_html_table_fitch_tree(999,32771 -pp_html_fitch_tree(1017,33674 -removeexp(1129,39004 -splitexp(1142,39492 -pp_exp(1155,39992 -map_word(1168,40251 -pp_exps(1180,40476 -pp_tree(1188,40779 -pp_trees(1216,41809 -pp_word_list(1225,42130 -pp_word(1231,42264 -pp_word_list_rest(1238,42571 -pp_cat(1248,42931 -pp_syn(1255,43198 -pp_syn_paren(1276,43901 -pp_paren(1293,44379 -pp_syn_back(1300,44663 -pp_bas_cat(1311,45003 -writecat(1322,45411 -writesubs(1351,46457 -writesups(1361,46759 -writelistsubs(1371,47092 -pp_lam(1380,47410 -pp_lam_bracket(1398,48024 -pp_lam_paren(1407,48340 -pp_rule(1429,49240 -member(1447,49868 -append_list(1451,49921 -append(1456,50012 -at_least_one_member(1460,50078 -numbervars(1464,50173 -reverse(1467,50211 -select(1471,50292 -select_last(1475,50359 -cat_atoms(1479,50438 -writelist(1485,50526 -write_lex_cat(1492,50678 -writebreaklex(1500,50990 -write_lex(1513,51267 -writebreak(1521,51543 -tt:-tt1531,51715 -mt:-mt1534,51786 -cmt:-cmt1537,51880 - -pyt-src/server.py,1438 -class Controls:Controls17,358 - def __init__(18,374 - def __repr__(24,590 - def __str__(34,871 -class Server:Server37,934 - def __init__(38,948 - def dump(73,2198 - def __repr__(125,3896 - def __str__(128,3945 -class User:User131,4014 - def __init__(132,4026 - def __repr__(172,5445 - def __str__(206,6883 -def flag2str(223,7212 -class LabeledEntry(232,7442 - def bind(234,7525 - def focus_set(236,7584 - def __init__(238,7629 -def ButtonBar(245,7909 -def helpwin(255,8280 -class ListEdit(267,8707 - def __init__(269,8808 - def handleList(303,10042 - def handleNew(306,10094 - def editItem(314,10426 - def deleteItem(320,10596 -def ConfirmQuit(326,10760 -class ControlEdit(375,12377 - def PostControls(376,12403 - def GatherControls(421,13530 -class ServerEdit(512,16264 - def __init__(513,16289 - def post(525,16629 - def gather(543,17191 - def nosave(547,17304 - def save(551,17408 - def refreshPort(556,17509 - def createWidgets(561,17663 - def edituser(631,20708 -class UserEdit(645,20921 - def __init__(646,20944 - def post(658,21283 - def gather(676,21841 - def nosave(680,21950 - def save(684,22052 - def createWidgets(689,22151 -class Configure(760,24879 - def __init__(761,24916 - def MakeDispose(772,25211 - def MakeSitelist(786,25706 - def editsite(794,25949 - def save(797,26022 - def nosave(807,26310 - -ruby-src/test.rb,637 -module ModuleExample1,0 - class ClassExample2,21 - def instance_method3,44 - def ClassExample.class_methodclass_method6,121 - def instance_method_exclamation!9,206 - def instance_method_question?12,310 - def instance_method_equals=instance_method_equals=15,408 - def `(18,502 - def +(21,592 - def [](24,640 - def []=([]=27,690 - def <<(30,752 - def ==(==33,802 - def <=(<=36,872 - def <=>(<=>39,943 - def ===(===42,990 - def module_instance_method46,1051 - def ModuleExample.module_class_methodmodule_class_method49,1131 - -ruby-src/test1.ru,935 -class A1,0 - def a(2,8 - def b(5,38 -module A9,57 - class B10,66 - ABC 11,76 - Def_ 12,88 - Xyzzy 13,106 - def foo!15,121 - def self._bar?(_bar?18,143 - def qux=(qux=22,194 - attr_reader :foofoo26,233 - attr_reader :read1 read127,254 - attr_reader :read1 , :read2;read227,254 - attr_reader :read1 , :read2; attr_writer :write1,write1=27,254 - attr_reader :read1 , :read2; attr_writer :write1, :write2write2=27,254 - attr_writer :bar,bar=28,316 - :baz,baz=29,338 - :moremore=30,360 - attr_accessor :teetee31,382 - attr_accessor :teetee=31,382 - alias_method :qux,qux32,405 - alias_method :xyz,xyz33,456 - :tee ; attr_reader :subtlesubtle34,479 - attr_reader(:foo1,foo135,523 - attr_reader(:foo1, :bar1,bar135,523 - :qux1)qux136,563 - alias_method ( :foo2,foo237,586 -A::Constant Constant42,655 - -rs-src/test.rs,52 -enum IpAddrKind 3,11 -fn test1(8,48 -fn main(12,88 - -scm-src/test.scm,260 -(define hello 1,0 -(set! hello 3,32 -(define (hello-world)5,62 -(define (there-is-a-=-in-the-middle!)there-is-a-=-in-the-middle!10,128 -(define =starts-with-equals! =starts-with-equals!12,171 -(define (((((curry-test 14,205 -(define-syntax test-begin17,265 - -tex-src/testenv.tex,52 -\newcommand{\nm}\nm4,77 -\section{blah}blah8,139 - -tex-src/gzip.texi,303 -@node Top,62,2139 -@node Copying,80,2652 -@node Overview,83,2705 -@node Sample,166,7273 -@node Invoking gzip,Invoking gzip210,8829 -@node Advanced usage,Advanced usage357,13497 -@node Environment,420,15209 -@node Tapes,437,15770 -@node Problems,460,16769 -@node Concept Index,Concept Index473,17289 - -tex-src/texinfo.tex,30627 -\def\texinfoversion{\texinfoversion26,1035 -\def\tie{\tie49,1526 -\def\gloggingall{\gloggingall72,2276 -\def\loggingall{\loggingall73,2345 -\def\onepageout#1{\onepageout99,3282 -\def\croppageout#1{\croppageout115,4032 -\def\cropmarks{\cropmarks142,5092 -\def\pagebody#1{\pagebody144,5139 -\def\ewtop{\ewtop157,5594 -\def\nstop{\nstop158,5658 -\def\ewbot{\ewbot160,5741 -\def\nsbot{\nsbot161,5805 -\def\parsearg #1{\parsearg170,6104 -\def\parseargx{\parseargx172,6182 -\def\parseargline{\parseargline182,6422 -\def\flushcr{\flushcr186,6543 -\newif\ifENV \ENVfalse \def\inENV{\inENV190,6742 -\def\ENVcheck{\ENVcheck191,6806 -\outer\def\begin{\begin198,7053 -\def\beginxxx #1{\beginxxx200,7091 -\def\end{\end208,7346 -\def\endxxx #1{\endxxx210,7374 -\def\errorE#1{\errorE216,7563 -\def\singlespace{\singlespace222,7757 -\def\@{\@232,7980 -\def\`{\`236,8080 -\def\'{\'237,8092 -\def\mylbrace {\mylbrace241,8140 -\def\myrbrace {\myrbrace242,8173 -\def\:{\:247,8287 -\def\*{\*250,8341 -\def\.{\.253,8417 -\def\w#1{\w258,8648 -\def\group{\group268,9131 - \def\Egroup{\Egroup273,9295 -\def\need{\need289,9737 -\def\needx#1{\needx300,10014 -\def\dots{\dots339,11400 -\def\page{\page343,11464 -\def\exdent{\exdent353,11791 -\def\exdentyyy #1{\exdentyyy354,11824 -\def\nofillexdent{\nofillexdent357,11968 -\def\nofillexdentyyy #1{\nofillexdentyyy358,12013 -\def\include{\include365,12197 -\def\includezzz #1{\includezzz366,12232 -\def\thisfile{\thisfile369,12283 -\def\center{\center373,12346 -\def\centerzzz #1{\centerzzz374,12379 -\def\sp{\sp380,12521 -\def\spxxx #1{\spxxx381,12546 -\def\comment{\comment387,12720 -\def\commentxxx #1{\commentxxx390,12817 -\def\ignoresections{\ignoresections396,12986 -\let\chapter=\relax=\relax397,13008 -\let\section=\relax=\relax406,13253 -\let\subsection=\relax=\relax409,13314 -\let\subsubsection=\relax=\relax410,13337 -\let\appendix=\relax=\relax411,13363 -\let\appendixsec=\relaxsec=\relax412,13384 -\let\appendixsection=\relaxsection=\relax413,13408 -\let\appendixsubsec=\relaxsubsec=\relax414,13436 -\let\appendixsubsection=\relaxsubsection=\relax415,13463 -\let\appendixsubsubsec=\relaxsubsubsec=\relax416,13494 -\let\appendixsubsubsection=\relaxsubsubsection=\relax417,13524 -\def\ignore{\ignore423,13626 -\long\def\ignorexxx #1\end ignore{\ignorexxx427,13766 -\def\direntry{\direntry429,13825 -\long\def\direntryxxx #1\end direntry{\direntryxxx430,13864 -\def\ifset{\ifset434,13974 -\def\ifsetxxx #1{\ifsetxxx436,14032 -\def\Eifset{\Eifset440,14159 -\def\ifsetfail{\ifsetfail441,14173 -\long\def\ifsetfailxxx #1\end ifset{\ifsetfailxxx442,14229 -\def\ifclear{\ifclear444,14290 -\def\ifclearxxx #1{\ifclearxxx446,14352 -\def\Eifclear{\Eifclear450,14483 -\def\ifclearfail{\ifclearfail451,14499 -\long\def\ifclearfailxxx #1\end ifclear{\ifclearfailxxx452,14559 -\def\set{\set456,14710 -\def\setxxx #1{\setxxx457,14737 -\def\clear{\clear460,14799 -\def\clearxxx #1{\clearxxx461,14830 -\def\iftex{\iftex466,14947 -\def\Eiftex{\Eiftex467,14960 -\def\ifinfo{\ifinfo468,14974 -\long\def\ifinfoxxx #1\end ifinfo{\ifinfoxxx469,15024 -\long\def\menu #1\end menu{\menu471,15083 -\def\asis#1{\asis472,15112 -\def\math#1{\math485,15655 -\def\node{\node487,15699 -\def\nodezzz#1{\nodezzz488,15737 -\def\nodexxx[#1,#2]{\nodexxx[489,15768 -\def\donoderef{\donoderef492,15830 -\def\unnumbnoderef{\unnumbnoderef496,15951 -\def\appendixnoderef{\appendixnoderef500,16082 -\expandafter\expandafter\expandafter\appendixsetref{setref501,16128 -\let\refill=\relaxill=\relax504,16217 -\def\setfilename{\setfilename509,16431 -\outer\def\bye{\bye518,16677 -\def\inforef #1{\inforef520,16733 -\def\inforefzzz #1,#2,#3,#4**{\inforefzzz521,16771 -\def\losespace #1{\losespace523,16868 -\def\sf{\sf532,17072 -\font\defbf=cmbx10 scaled \magstep1 %was 1314bf=cmbx10558,17867 -\font\deftt=cmtt10 scaled \magstep1tt=cmtt10559,17913 -\def\df{\df560,17949 -\def\resetmathfonts{\resetmathfonts635,20543 -\def\textfonts{\textfonts648,21132 -\def\chapfonts{\chapfonts653,21347 -\def\secfonts{\secfonts658,21563 -\def\subsecfonts{\subsecfonts663,21768 -\def\indexfonts{\indexfonts668,21985 -\def\smartitalicx{\smartitalicx691,22717 -\def\smartitalic#1{\smartitalic692,22793 -\let\cite=\smartitalic=\smartitalic698,22938 -\def\b#1{\b700,22962 -\def\t#1{\t703,22997 -\def\samp #1{\samp706,23149 -\def\key #1{\key707,23182 -\def\ctrl #1{\ctrl708,23243 -\def\tclose#1{\tclose716,23445 -\def\ {\720,23611 -\def\xkey{\xkey728,23880 -\def\kbdfoo#1#2#3\par{\kbdfoo729,23896 -\def\dmn#1{\dmn738,24197 -\def\kbd#1{\kbd740,24224 -\def\l#1{\l742,24281 -\def\r#1{\r744,24310 -\def\sc#1{\sc746,24378 -\def\ii#1{\ii747,24421 -\def\titlefont#1{\titlefont755,24654 -\def\titlepage{\titlepage761,24757 - \def\subtitlefont{\subtitlefont766,24984 - \def\authorfont{\authorfont768,25068 - \def\title{\title774,25278 - \def\titlezzz##1{\titlezzz775,25313 - \def\subtitle{\subtitle783,25628 - \def\subtitlezzz##1{\subtitlezzz784,25669 - \def\author{\author787,25787 - \def\authorzzz##1{\authorzzz788,25824 - \def\page{\page794,26115 -\def\Etitlepage{\Etitlepage804,26284 -\def\finishtitlepage{\finishtitlepage817,26672 -\def\evenheading{\evenheading846,27680 -\def\oddheading{\oddheading847,27723 -\def\everyheading{\everyheading848,27764 -\def\evenfooting{\evenfooting850,27810 -\def\oddfooting{\oddfooting851,27853 -\def\everyfooting{\everyfooting852,27894 -\def\headings #1 {\headings893,29586 -\def\HEADINGSoff{\HEADINGSoff895,29635 -\def\HEADINGSdouble{\HEADINGSdouble904,30062 -\def\HEADINGSsingle{\HEADINGSsingle914,30382 -\def\HEADINGSon{\HEADINGSon922,30603 -\def\HEADINGSafter{\HEADINGSafter924,30637 -\def\HEADINGSdoublex{\HEADINGSdoublex926,30732 -\def\HEADINGSsingleafter{\HEADINGSsingleafter933,30920 -\def\HEADINGSsinglex{\HEADINGSsinglex934,30981 -\def\today{\today943,31256 -\def\thistitle{\thistitle958,31801 -\def\settitle{\settitle959,31826 -\def\settitlezzz #1{\settitlezzz960,31863 -\def\internalBitem{\internalBitem992,32793 -\def\internalBitemx{\internalBitemx993,32843 -\def\internalBxitem "#1"{\internalBxitem995,32888 -\def\internalBxitemx "#1"{\internalBxitemx996,32968 -\def\internalBkitem{\internalBkitem998,33043 -\def\internalBkitemx{\internalBkitemx999,33095 -\def\kitemzzz #1{\kitemzzz1001,33142 -\def\xitemzzz #1{\xitemzzz1004,33244 -\def\itemzzz #1{\itemzzz1007,33347 -\def\item{\item1037,34418 -\def\itemx{\itemx1038,34469 -\def\kitem{\kitem1039,34522 -\def\kitemx{\kitemx1040,34575 -\def\xitem{\xitem1041,34630 -\def\xitemx{\xitemx1042,34683 -\def\description{\description1045,34793 -\def\table{\table1047,34843 -\def\ftable{\ftable1052,34987 -\def\Eftable{\Eftable1056,35133 -\def\vtable{\vtable1059,35202 -\def\Evtable{\Evtable1063,35348 -\def\dontindex #1{\dontindex1066,35417 -\def\fnitemindex #1{\fnitemindex1067,35437 -\def\vritemindex #1{\vritemindex1068,35482 -\def\tablez #1#2#3#4#5#6{\tablez1074,35631 -\def\Edescription{\Edescription1077,35689 -\def\itemfont{\itemfont1082,35890 -\def\Etable{\Etable1090,36116 -\def\itemize{\itemize1103,36440 -\def\itemizezzz #1{\itemizezzz1105,36476 -\def\itemizey #1#2{\itemizey1110,36571 -\def#2{1119,36817 -\def\itemcontents{\itemcontents1120,36858 -\def\bullet{\bullet1123,36906 -\def\minus{\minus1124,36933 -\def\frenchspacing{\frenchspacing1128,37041 -\def\splitoff#1#2\endmark{\splitoff1134,37266 -\def\enumerate{\enumerate1140,37496 -\def\enumeratezzz #1{\enumeratezzz1141,37535 -\def\enumeratey #1 #2\endenumeratey{\enumeratey1142,37588 - \def\thearg{\thearg1146,37735 - \ifx\thearg\empty \def\thearg{\thearg1147,37754 -\def\numericenumerate{\numericenumerate1184,39088 -\def\lowercaseenumerate{\lowercaseenumerate1190,39218 -\def\uppercaseenumerate{\uppercaseenumerate1203,39565 -\def\startenumeration#1{\startenumeration1219,40055 -\def\alphaenumerate{\alphaenumerate1227,40237 -\def\capsenumerate{\capsenumerate1228,40272 -\def\Ealphaenumerate{\Ealphaenumerate1229,40306 -\def\Ecapsenumerate{\Ecapsenumerate1230,40340 -\def\itemizeitem{\itemizeitem1234,40420 -\def\newindex #1{\newindex1259,41277 -\def\defindex{\defindex1268,41566 -\def\newcodeindex #1{\newcodeindex1272,41674 -\def\defcodeindex{\defcodeindex1279,41934 -\def\synindex #1 #2 {\synindex1283,42114 -\def\syncodeindex #1 #2 {\syncodeindex1292,42454 -\def\doindex#1{\doindex1309,43133 -\def\singleindexer #1{\singleindexer1310,43192 -\def\docodeindex#1{\docodeindex1313,43304 -\def\singlecodeindexer #1{\singlecodeindexer1314,43371 -\def\indexdummies{\indexdummies1316,43429 -\def\_{\_1317,43449 -\def\w{\w1318,43477 -\def\bf{\bf1319,43504 -\def\rm{\rm1320,43533 -\def\sl{\sl1321,43562 -\def\sf{\sf1322,43591 -\def\tt{\tt1323,43619 -\def\gtr{\gtr1324,43647 -\def\less{\less1325,43677 -\def\hat{\hat1326,43709 -\def\char{\char1327,43739 -\def\TeX{\TeX1328,43771 -\def\dots{\dots1329,43801 -\def\copyright{\copyright1330,43834 -\def\tclose##1{\tclose1331,43877 -\def\code##1{\code1332,43922 -\def\samp##1{\samp1333,43963 -\def\t##1{\t1334,44004 -\def\r##1{\r1335,44039 -\def\i##1{\i1336,44074 -\def\b##1{\b1337,44109 -\def\cite##1{\cite1338,44144 -\def\key##1{\key1339,44185 -\def\file##1{\file1340,44224 -\def\var##1{\var1341,44265 -\def\kbd##1{\kbd1342,44304 -\def\indexdummyfont#1{\indexdummyfont1347,44460 -\def\indexdummytex{\indexdummytex1348,44486 -\def\indexdummydots{\indexdummydots1349,44510 -\def\indexnofonts{\indexnofonts1351,44536 -\let\w=\indexdummyfontdummyfont1352,44556 -\let\t=\indexdummyfontdummyfont1353,44579 -\let\r=\indexdummyfontdummyfont1354,44602 -\let\i=\indexdummyfontdummyfont1355,44625 -\let\b=\indexdummyfontdummyfont1356,44648 -\let\emph=\indexdummyfontdummyfont1357,44671 -\let\strong=\indexdummyfontdummyfont1358,44697 -\let\cite=\indexdummyfont=\indexdummyfont1359,44725 -\let\sc=\indexdummyfontdummyfont1360,44751 -\let\tclose=\indexdummyfontdummyfont1364,44923 -\let\code=\indexdummyfontdummyfont1365,44951 -\let\file=\indexdummyfontdummyfont1366,44977 -\let\samp=\indexdummyfontdummyfont1367,45003 -\let\kbd=\indexdummyfontdummyfont1368,45029 -\let\key=\indexdummyfontdummyfont1369,45054 -\let\var=\indexdummyfontdummyfont1370,45079 -\let\TeX=\indexdummytexdummytex1371,45104 -\let\dots=\indexdummydotsdummydots1372,45128 -\let\indexbackslash=0 %overridden during \printindex.backslash=01382,45380 -\def\doind #1#2{\doind1384,45436 -{\indexdummies % Must do this here, since \bf, etc expand at this stagedummies1386,45479 -\def\rawbackslashxx{\rawbackslashxx1389,45619 -{\indexnofontsnofonts1394,45881 -\def\dosubind #1#2#3{\dosubind1405,46192 -{\indexdummies % Must do this here, since \bf, etc expand at this stagedummies1407,46240 -\def\rawbackslashxx{\rawbackslashxx1410,46344 -{\indexnofontsnofonts1414,46498 -\def\findex {\findex1443,47429 -\def\kindex {\kindex1444,47452 -\def\cindex {\cindex1445,47475 -\def\vindex {\vindex1446,47498 -\def\tindex {\tindex1447,47521 -\def\pindex {\pindex1448,47544 -\def\cindexsub {\cindexsub1450,47568 -\def\printindex{\printindex1462,47895 -\def\doprintindex#1{\doprintindex1464,47936 - \def\indexbackslash{\indexbackslash1481,48421 - \indexfonts\rm \tolerance=9500 \advance\baselineskip -1ptfonts\rm1482,48460 -\def\initial #1{\initial1517,49532 -\def\entry #1#2{\entry1523,49739 - \null\nobreak\indexdotfill % Have leaders before the page number.dotfill1540,50386 -\def\indexdotfill{\indexdotfill1549,50714 -\def\primary #1{\primary1552,50820 -\def\secondary #1#2{\secondary1556,50902 -\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\pardotfill1559,50984 -\newbox\partialpageialpage1566,51157 -\def\begindoublecolumns{\begindoublecolumns1572,51315 - \output={\global\setbox\partialpage=ialpage=1573,51351 -\def\enddoublecolumns{\enddoublecolumns1577,51539 -\def\doublecolumnout{\doublecolumnout1580,51624 - \dimen@=\pageheight \advance\dimen@ by-\ht\partialpageialpage1581,51693 -\def\pagesofar{\pagesofar1584,51871 -\def\balancecolumns{\balancecolumns1588,52108 - \availdimen@=\pageheight \advance\availdimen@ by-\ht\partialpageialpage1594,52279 - \dimen@=\pageheight \advance\dimen@ by-\ht\partialpageialpage1600,52540 -\newcount \appendixno \appendixno = `\@no1627,53445 -\def\appendixletter{\appendixletter1628,53486 -\def\opencontents{\opencontents1632,53589 -\def\thischapter{\thischapter1637,53770 -\def\seccheck#1{\seccheck1638,53808 -\def\chapternofonts{\chapternofonts1643,53912 -\def\result{\result1646,53987 -\def\equiv{\equiv1647,54022 -\def\expansion{\expansion1648,54055 -\def\print{\print1649,54096 -\def\TeX{\TeX1650,54129 -\def\dots{\dots1651,54158 -\def\copyright{\copyright1652,54189 -\def\tt{\tt1653,54230 -\def\bf{\bf1654,54257 -\def\w{\w1655,54285 -\def\less{\less1656,54310 -\def\gtr{\gtr1657,54341 -\def\hat{\hat1658,54370 -\def\char{\char1659,54399 -\def\tclose##1{\tclose1660,54430 -\def\code##1{\code1661,54474 -\def\samp##1{\samp1662,54514 -\def\r##1{\r1663,54554 -\def\b##1{\b1664,54588 -\def\key##1{\key1665,54622 -\def\file##1{\file1666,54660 -\def\kbd##1{\kbd1667,54700 -\def\i##1{\i1669,54808 -\def\cite##1{\cite1670,54842 -\def\var##1{\var1671,54882 -\def\emph##1{\emph1672,54920 -\def\dfn##1{\dfn1673,54960 -\def\thischaptername{\thischaptername1676,55001 -\outer\def\chapter{\chapter1677,55040 -\def\chapterzzz #1{\chapterzzz1678,55081 -{\chapternofonts%nofonts%1687,55477 -\global\let\section = \numberedsec=1692,55630 -\global\let\subsection = \numberedsubsec=1693,55665 -\global\let\subsubsection = \numberedsubsubsec=1694,55706 -\outer\def\appendix{\appendix1697,55757 -\def\appendixzzz #1{\appendixzzz1698,55800 -\global\advance \appendixno by 1 \message{no1700,55877 -\chapmacro {#1}{Appendix \appendixletter}letter1701,55946 -\xdef\thischapter{Appendix \appendixletter: \noexpand\thischaptername}letter:1704,56039 -{\chapternofonts%nofonts%1705,56111 - {#1}{Appendix \appendixletter}letter1707,56167 -\appendixnoderef %noderef1710,56267 -\global\let\section = \appendixsec=1711,56286 -\global\let\subsection = \appendixsubsec=1712,56321 -\global\let\subsubsection = \appendixsubsubsec=1713,56362 -\outer\def\top{\top1716,56413 -\outer\def\unnumbered{\unnumbered1717,56453 -\def\unnumberedzzz #1{\unnumberedzzz1718,56500 -{\chapternofonts%nofonts%1722,56663 -\global\let\section = \unnumberedsec=1727,56813 -\global\let\subsection = \unnumberedsubsec=1728,56850 -\global\let\subsubsection = \unnumberedsubsubsec=1729,56893 -\outer\def\numberedsec{\numberedsec1732,56946 -\def\seczzz #1{\seczzz1733,56987 -{\chapternofonts%nofonts%1736,57143 -\outer\def\appendixsection{\appendixsection1745,57329 -\outer\def\appendixsec{\appendixsec1746,57386 -\def\appendixsectionzzz #1{\appendixsectionzzz1747,57439 -\gdef\thissection{#1}\secheading {#1}{\appendixletter}letter1749,57551 -{\chapternofonts%nofonts%1750,57619 -{#1}{\appendixletter}letter1752,57675 -\appendixnoderef %noderef1755,57775 -\outer\def\unnumberedsec{\unnumberedsec1759,57815 -\def\unnumberedseczzz #1{\unnumberedseczzz1760,57868 -{\chapternofonts%nofonts%1762,57963 -\outer\def\numberedsubsec{\numberedsubsec1770,58131 -\def\numberedsubseczzz #1{\numberedsubseczzz1771,58186 -{\chapternofonts%nofonts%1774,58365 -\outer\def\appendixsubsec{\appendixsubsec1783,58569 -\def\appendixsubseczzz #1{\appendixsubseczzz1784,58624 -\subsecheading {#1}{\appendixletter}letter1786,58746 -{\chapternofonts%nofonts%1787,58811 -{#1}{\appendixletter}letter1789,58870 -\appendixnoderef %noderef1792,58985 -\outer\def\unnumberedsubsec{\unnumberedsubsec1796,59025 -\def\unnumberedsubseczzz #1{\unnumberedsubseczzz1797,59084 -{\chapternofonts%nofonts%1799,59185 -\outer\def\numberedsubsubsec{\numberedsubsubsec1807,59356 -\def\numberedsubsubseczzz #1{\numberedsubsubseczzz1808,59417 -{\chapternofonts%nofonts%1812,59614 -\outer\def\appendixsubsubsec{\appendixsubsubsec1823,59847 -\def\appendixsubsubseczzz #1{\appendixsubsubseczzz1824,59908 - {\appendixletter}letter1827,60047 -{\chapternofonts%nofonts%1828,60113 - {\appendixletter}letter1830,60178 -\appendixnoderef %noderef1834,60312 -\outer\def\unnumberedsubsubsec{\unnumberedsubsubsec1838,60352 -\def\unnumberedsubsubseczzz #1{\unnumberedsubsubseczzz1839,60417 -{\chapternofonts%nofonts%1841,60524 -\def\infotop{\infotop1851,60853 -\def\infounnumbered{\infounnumbered1852,60891 -\def\infounnumberedsec{\infounnumberedsec1853,60936 -\def\infounnumberedsubsec{\infounnumberedsubsec1854,60987 -\def\infounnumberedsubsubsec{\infounnumberedsubsubsec1855,61044 -\def\infoappendix{\infoappendix1857,61108 -\def\infoappendixsec{\infoappendixsec1858,61149 -\def\infoappendixsubsec{\infoappendixsubsec1859,61196 -\def\infoappendixsubsubsec{\infoappendixsubsubsec1860,61249 -\def\infochapter{\infochapter1862,61309 -\def\infosection{\infosection1863,61348 -\def\infosubsection{\infosubsection1864,61387 -\def\infosubsubsection{\infosubsubsection1865,61432 -\global\let\section = \numberedsec=1870,61669 -\global\let\subsection = \numberedsubsec=1871,61704 -\global\let\subsubsection = \numberedsubsubsec=1872,61745 -\def\majorheading{\majorheading1886,62252 -\def\majorheadingzzz #1{\majorheadingzzz1887,62297 -\def\chapheading{\chapheading1893,62530 -\def\chapheadingzzz #1{\chapheadingzzz1894,62573 -\def\heading{\heading1899,62768 -\def\subheading{\subheading1901,62805 -\def\subsubheading{\subsubheading1903,62848 -\def\dobreak#1#2{\dobreak1910,63125 -\def\setchapterstyle #1 {\setchapterstyle1912,63203 -\def\chapbreak{\chapbreak1919,63458 -\def\chappager{\chappager1920,63508 -\def\chapoddpage{\chapoddpage1921,63546 -\def\setchapternewpage #1 {\setchapternewpage1923,63625 -\def\CHAPPAGoff{\CHAPPAGoff1925,63682 -\def\CHAPPAGon{\CHAPPAGon1929,63776 -\global\def\HEADINGSon{\HEADINGSon1932,63867 -\def\CHAPPAGodd{\CHAPPAGodd1934,63909 -\global\def\HEADINGSon{\HEADINGSon1937,64005 -\def\CHAPFplain{\CHAPFplain1941,64059 -\def\chfplain #1#2{\chfplain1945,64151 -\def\unnchfplain #1{\unnchfplain1956,64374 -\def\unnchfopen #1{\unnchfopen1964,64603 -\def\chfopen #1#2{\chfopen1970,64811 -\def\CHAPFopen{\CHAPFopen1975,64955 -\def\subsecheadingbreak{\subsecheadingbreak1982,65173 -\def\secheadingbreak{\secheadingbreak1985,65302 -\def\secheading #1#2#3{\secheading1993,65584 -\def\plainsecheading #1{\plainsecheading1994,65640 -\def\secheadingi #1{\secheadingi1995,65683 -\def\subsecheading #1#2#3#4{\subsecheading2006,66051 -\def\subsecheadingi #1{\subsecheadingi2007,66118 -\def\subsubsecfonts{\subsubsecfonts2014,66415 -\def\subsubsecheading #1#2#3#4#5{\subsubsecheading2017,66538 -\def\subsubsecheadingi #1{\subsubsecheadingi2018,66616 -\def\startcontents#1{\startcontents2032,67088 - \unnumbchapmacro{#1}\def\thischapter{\thischapter2040,67361 -\outer\def\contents{\contents2049,67720 -\outer\def\summarycontents{\summarycontents2057,67864 - \def\secentry ##1##2##3##4{\secentry2067,68235 - \def\unnumbsecentry ##1##2{\unnumbsecentry2068,68270 - \def\subsecentry ##1##2##3##4##5{\subsecentry2069,68305 - \def\unnumbsubsecentry ##1##2{\unnumbsubsecentry2070,68346 - \def\subsubsecentry ##1##2##3##4##5##6{\subsubsecentry2071,68384 - \def\unnumbsubsubsecentry ##1##2{\unnumbsubsubsecentry2072,68431 -\def\chapentry#1#2#3{\chapentry2085,68865 -\def\shortchapentry#1#2#3{\shortchapentry2088,68982 - {#2\labelspace #1}space2091,69092 -\def\unnumbchapentry#1#2{\unnumbchapentry2094,69146 -\def\shortunnumberedentry#1#2{\shortunnumberedentry2095,69193 -\def\secentry#1#2#3#4{\secentry2102,69357 -\def\unnumbsecentry#1#2{\unnumbsecentry2103,69416 -\def\subsecentry#1#2#3#4#5{\subsecentry2106,69477 -\def\unnumbsubsecentry#1#2{\unnumbsubsecentry2107,69547 -\def\subsubsecentry#1#2#3#4#5#6{\subsubsecentry2110,69621 - \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}space2111,69655 -\def\unnumbsubsubsecentry#1#2{\unnumbsubsubsecentry2112,69706 -\def\dochapentry#1#2{\dochapentry2123,70080 -\def\dosecentry#1#2{\dosecentry2138,70685 -\def\dosubsecentry#1#2{\dosubsecentry2145,70863 -\def\dosubsubsecentry#1#2{\dosubsubsecentry2152,71048 -\def\labelspace{\labelspace2160,71299 -\def\dopageno#1{\dopageno2162,71334 -\def\doshortpageno#1{\doshortpageno2163,71360 -\def\chapentryfonts{\chapentryfonts2165,71392 -\def\secentryfonts{\secentryfonts2166,71427 -\def\point{\point2192,72386 -\def\result{\result2194,72407 -\def\expansion{\expansion2195,72480 -\def\print{\print2196,72551 -\def\equiv{\equiv2198,72618 -\def\error{\error2218,73391 -\def\tex{\tex2224,73620 -\def\@{\@2242,74003 -\gdef\sepspaces{\def {\ }}}\2265,74735 -\def\aboveenvbreak{\aboveenvbreak2268,74817 -\def\afterenvbreak{\afterenvbreak2272,74983 -\def\ctl{\ctl2286,75494 -\def\ctr{\ctr2287,75566 -\def\cbl{\cbl2288,75605 -\def\cbr{\cbr2289,75645 -\def\carttop{\carttop2290,75684 -\def\cartbot{\cartbot2293,75792 -\long\def\cartouche{\cartouche2299,75932 -\def\Ecartouche{\Ecartouche2326,76720 -\def\lisp{\lisp2338,76855 -\def\Elisp{\Elisp2348,77202 -\def\next##1{\next2360,77528 -\def\Eexample{\Eexample2364,77570 -\def\Esmallexample{\Esmallexample2367,77617 -\def\smalllispx{\smalllispx2373,77795 -\def\Esmalllisp{\Esmalllisp2383,78149 -\obeyspaces \obeylines \ninett \indexfonts \rawbackslashfonts2396,78505 -\def\next##1{\next2397,78562 -\def\display{\display2401,78642 -\def\Edisplay{\Edisplay2410,78961 -\def\next##1{\next2422,79272 -\def\format{\format2426,79375 -\def\Eformat{\Eformat2434,79671 -\def\next##1{\next2437,79760 -\def\flushleft{\flushleft2441,79812 -\def\Eflushleft{\Eflushleft2451,80183 -\def\next##1{\next2454,80276 -\def\flushright{\flushright2456,80298 -\def\Eflushright{\Eflushright2466,80670 -\def\next##1{\next2470,80801 -\def\quotation{\quotation2474,80859 -\def\Equotation{\Equotation2480,81051 -\def\setdeffont #1 {\setdeffont2493,81449 -\newskip\defbodyindent \defbodyindent=.4inbodyindent2495,81495 -\newskip\defargsindent \defargsindent=50ptargsindent2496,81538 -\newskip\deftypemargin \deftypemargin=12pttypemargin2497,81581 -\newskip\deflastargmargin \deflastargmargin=18ptlastargmargin2498,81624 -\def\activeparens{\activeparens2503,81822 -\def\opnr{\opnr2529,83034 -\def\lbrb{\lbrb2530,83099 -\def\defname #1#2{\defname2536,83300 -\advance\dimen2 by -\defbodyindentbodyindent2540,83418 -\advance\dimen3 by -\defbodyindentbodyindent2542,83472 -\setbox0=\hbox{\hskip \deflastargmargin{lastargmargin2544,83526 -\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuationsargsindent2546,83668 -\parshape 2 0in \dimen0 \defargsindent \dimen1 %argsindent2547,83743 -\rlap{\rightline{{\rm #2}\hskip \deftypemargin}typemargin2554,84112 -\advance\leftskip by -\defbodyindentbodyindent2557,84246 -\exdentamount=\defbodyindentbodyindent2558,84283 -\def\defparsebody #1#2#3{\defparsebody2568,84642 -\def#1{2572,84826 -\def#2{2573,84862 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2575,84934 -\exdentamount=\defbodyindentbodyindent2576,85008 -\def\defmethparsebody #1#2#3#4 {\defmethparsebody2581,85112 -\def#1{2585,85273 -\def#2##1 {2586,85309 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2588,85392 -\exdentamount=\defbodyindentbodyindent2589,85466 -\def\defopparsebody #1#2#3#4#5 {\defopparsebody2592,85551 -\def#1{2596,85712 -\def#2##1 ##2 {2597,85748 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2600,85848 -\exdentamount=\defbodyindentbodyindent2601,85922 -\def\defvarparsebody #1#2#3{\defvarparsebody2608,86193 -\def#1{2612,86380 -\def#2{2613,86416 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2615,86475 -\exdentamount=\defbodyindentbodyindent2616,86549 -\def\defvrparsebody #1#2#3#4 {\defvrparsebody2621,86640 -\def#1{2625,86799 -\def#2##1 {2626,86835 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2628,86905 -\exdentamount=\defbodyindentbodyindent2629,86979 -\def\defopvarparsebody #1#2#3#4#5 {\defopvarparsebody2632,87051 -\def#1{2636,87215 -\def#2##1 ##2 {2637,87251 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2640,87338 -\exdentamount=\defbodyindentbodyindent2641,87412 -\def\defunargs #1{\defunargs2664,88172 -\def\deftypefunargs #1{\deftypefunargs2676,88554 -\def\deffn{\deffn2690,88936 -\def\deffnheader #1#2#3{\deffnheader2692,88993 -\begingroup\defname {name2693,89041 -\def\defun{\defun2699,89186 -\def\defunheader #1#2{\defunheader2701,89239 -\begingroup\defname {name2702,89314 -\defunargs {unargs2703,89350 -\def\deftypefun{\deftypefun2709,89498 -\def\deftypefunheader #1#2{\deftypefunheader2712,89620 -\def\deftypefunheaderx #1#2 #3\relax{\deftypefunheaderx2714,89729 -\begingroup\defname {name2716,89821 -\deftypefunargs {typefunargs2717,89867 -\def\deftypefn{\deftypefn2723,90038 -\def\deftypefnheader #1#2#3{\deftypefnheader2726,90187 -\def\deftypefnheaderx #1#2#3 #4\relax{\deftypefnheaderx2728,90323 -\begingroup\defname {name2730,90416 -\deftypefunargs {typefunargs2731,90456 -\def\defmac{\defmac2737,90577 -\def\defmacheader #1#2{\defmacheader2739,90634 -\begingroup\defname {name2740,90710 -\defunargs {unargs2741,90743 -\def\defspec{\defspec2747,90867 -\def\defspecheader #1#2{\defspecheader2749,90928 -\begingroup\defname {name2750,91005 -\defunargs {unargs2751,91045 -\def\deffnx #1 {\deffnx2758,91240 -\def\defunx #1 {\defunx2759,91297 -\def\defmacx #1 {\defmacx2760,91354 -\def\defspecx #1 {\defspecx2761,91413 -\def\deftypefnx #1 {\deftypefnx2762,91474 -\def\deftypeunx #1 {\deftypeunx2763,91539 -\def\defop #1 {\defop2769,91685 -\defopparsebody\Edefop\defopx\defopheader\defoptype}opparsebody\Edefop\defopx\defopheader\defoptype2770,91720 -\def\defopheader #1#2#3{\defopheader2772,91774 -\begingroup\defname {name2774,91863 -\defunargs {unargs2775,91909 -\def\defmethod{\defmethod2780,91970 -\def\defmethodheader #1#2#3{\defmethodheader2782,92043 -\begingroup\defname {name2784,92131 -\defunargs {unargs2785,92171 -\def\defcv #1 {\defcv2790,92245 -\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}opvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype2791,92280 -\def\defcvarheader #1#2#3{\defcvarheader2793,92339 -\begingroup\defname {name2795,92425 -\defvarargs {varargs2796,92471 -\def\defivar{\defivar2801,92544 -\def\defivarheader #1#2#3{\defivarheader2803,92607 -\begingroup\defname {name2805,92693 -\defvarargs {varargs2806,92744 -\def\defopx #1 {\defopx2812,92893 -\def\defmethodx #1 {\defmethodx2813,92950 -\def\defcvx #1 {\defcvx2814,93015 -\def\defivarx #1 {\defivarx2815,93072 -\def\defvarargs #1{\defvarargs2822,93343 -\def\defvr{\defvr2828,93487 -\def\defvrheader #1#2#3{\defvrheader2830,93542 -\begingroup\defname {name2831,93590 -\def\defvar{\defvar2835,93675 -\def\defvarheader #1#2{\defvarheader2837,93735 -\begingroup\defname {name2838,93806 -\defvarargs {varargs2839,93842 -\def\defopt{\defopt2844,93908 -\def\defoptheader #1#2{\defoptheader2846,93968 -\begingroup\defname {name2847,94039 -\defvarargs {varargs2848,94078 -\def\deftypevar{\deftypevar2853,94135 -\def\deftypevarheader #1#2{\deftypevarheader2856,94251 -\begingroup\defname {name2858,94334 -\def\deftypevr{\deftypevr2865,94508 -\def\deftypevrheader #1#2#3{\deftypevrheader2867,94579 -\begingroup\defname {name2868,94631 -\def\defvrx #1 {\defvrx2876,94868 -\def\defvarx #1 {\defvarx2877,94925 -\def\defoptx #1 {\defoptx2878,94984 -\def\deftypevarx #1 {\deftypevarx2879,95043 -\def\deftypevrx #1 {\deftypevrx2880,95110 -\def\deftpargs #1{\deftpargs2885,95259 -\def\deftp{\deftp2889,95339 -\def\deftpheader #1#2#3{\deftpheader2891,95394 -\begingroup\defname {name2892,95442 -\def\deftpx #1 {\deftpx2897,95601 -\def\setref#1{\setref2908,95922 -\def\unnumbsetref#1{\unnumbsetref2913,96036 -\def\appendixsetref#1{\appendixsetref2918,96143 -\def\pxref#1{\pxref2929,96554 -\def\xref#1{\xref2930,96590 -\def\ref#1{\ref2931,96625 -\def\xrefX[#1,#2,#3,#4,#5,#6]{\xrefX[2932,96655 -\def\printedmanual{\printedmanual2933,96698 -\def\printednodename{\printednodename2934,96736 -\def\printednodename{\printednodename2939,96861 -section ``\printednodename'' in \cite{\printedmanual}\printedmanual2954,97493 -\refx{x2957,97571 -\def\dosetq #1#2{\dosetq2965,97791 -\def\internalsetq #1#2{\internalsetq2973,98049 -\def\Ypagenumber{\Ypagenumber2977,98150 -\def\Ytitle{\Ytitle2979,98176 -\def\Ynothing{\Ynothing2981,98203 -\def\Ysectionnumberandtype{\Ysectionnumberandtype2983,98220 -\def\Yappendixletterandtype{\Yappendixletterandtype2992,98536 -\ifnum\secno=0 Appendix\xreftie'char\the\appendixno{no2993,98566 -\else \ifnum \subsecno=0 Section\xreftie'char\the\appendixno.\the\secno %no.\the\secno2994,98621 -Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno %no.\the\secno.\the\subsecno2996,98725 -Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %no.\the\secno.\the\subsecno.\the\subsubsecno2998,98796 - \def\linenumber{\linenumber3009,99135 -\def\refx#1#2{\refx3015,99319 -\def\xrdef #1#2{\xrdef3037,99945 -\def\readauxfile{\readauxfile3040,100030 -\def\supereject{\supereject3110,101811 -\footstrut\parindent=\defaultparindent\hang\textindent{aultparindent\hang\textindent3131,102496 -\def\openindices{\openindices3139,102682 -\newdimen\defaultparindent \defaultparindent = 15ptaultparindent3151,102907 -\parindent = \defaultparindentaultparindent3152,102959 -\def\smallbook{\smallbook3175,103683 -\global\def\Esmallexample{\Esmallexample3192,104110 -\def\afourpaper{\afourpaper3196,104201 -\def\finalout{\finalout3224,105009 -\def\normaldoublequote{\normaldoublequote3235,105270 -\def\normaltilde{\normaltilde3236,105296 -\def\normalcaret{\normalcaret3237,105316 -\def\normalunderscore{\normalunderscore3238,105336 -\def\normalverticalbar{\normalverticalbar3239,105361 -\def\normalless{\normalless3240,105387 -\def\normalgreater{\normalgreater3241,105406 -\def\normalplus{\normalplus3242,105428 -\def\ifusingtt#1#2{\ifusingtt3253,105920 -\def\activedoublequote{\activedoublequote3261,106248 -\def~{~3264,106334 -\def^{^3267,106395 -\def_{_3270,106434 -\def\_{\_3272,106508 -\def\lvvmode{\lvvmode3279,106845 -\def|{|3282,106895 -\def<{<3285,106958 -\def>{>3288,107015 -\def+{+3290,107053 -\def\turnoffactive{\turnoffactive3296,107214 -\global\def={=3307,107500 -\def\normalbackslash{\normalbackslash3321,107882 - -merc-src/accumulator.m,3228 -:- interface146,5371 -:- import_module hlds148,5386 -:- import_module univ152,5478 -:- pred accu_transform_proc159,5793 -:- implementation166,6115 -:- import_module libs180,6552 -:- import_module mdbcomp184,6681 -:- import_module parse_tree186,6742 -:- import_module assoc_list194,7013 -:- import_module bool195,7042 -:- import_module int196,7065 -:- import_module io197,7087 -:- import_module list198,7108 -:- import_module map199,7131 -:- import_module maybe200,7153 -:- import_module pair201,7177 -:- import_module require202,7200 -:- import_module set203,7226 -:- import_module solutions204,7248 -:- import_module string205,7276 -:- import_module term206,7301 -:- import_module varset207,7324 -:- type top_level213,7499 -:- type accu_goal_id225,7900 -:- type accu_case228,7964 -:- type accu_goal_store234,8091 -:- type accu_subst238,8216 -:- type accu_warning240,8264 -:- pred generate_warnings334,12550 -:- pred generate_warning342,12895 -:- pred should_attempt_accu_transform365,13886 -:- pred should_attempt_accu_transform_2398,15406 -:- pred accu_standardize440,17390 -:- pred identify_goal_type465,18169 -:- pred is_recursive_case549,21175 -:- type store_info560,21713 -:- func initialize_goal_store570,22060 -:- pred accu_store580,22421 -:- pred identify_recursive_calls601,23288 -:- pred identify_out_and_out_prime626,24397 -:- type accu_sets676,26426 -:- pred accu_stage1689,26978 -:- pred accu_stage1_2727,28348 -:- pred accu_sets_init781,30558 -:- func set_upto796,30985 -:- pred accu_before812,31499 -:- pred accu_assoc835,32478 -:- pred accu_construct862,33713 -:- pred accu_construct_assoc896,35308 -:- pred accu_update938,37070 -:- pred member_lessthan_goalid964,38220 -:- type accu_assoc975,38653 -:- pred accu_is_associative986,39139 -:- pred associativity_assertion1014,40264 -:- pred commutativity_assertion1037,41243 -:- pred accu_is_update1057,41953 -:- pred is_associative_construction1078,42803 -:- type accu_substs1095,43481 -:- type accu_base1103,43745 -:- pred accu_stage21124,44606 -:- pred accu_substs_init1179,46958 -:- pred acc_var_subst_init1194,47574 -:- pred create_new_var1207,48148 -:- pred accu_process_assoc_set1223,48863 -:- pred accu_has_heuristic1297,52082 -:- pred accu_heuristic1304,52337 -:- pred accu_process_update_set1318,52907 -:- pred accu_divide_base_case1380,55845 -:- pred accu_related1412,57147 -:- inst stored_goal_plain_call1444,58416 -:- pred lookup_call1449,58602 -:- pred accu_stage31470,59433 -:- pred acc_proc_info1508,61327 -:- pred acc_pred_info1556,63450 -:- pred accu_create_goal1600,65286 -:- func create_acc_call1621,66401 -:- pred create_orig_goal1634,66988 -:- pred create_acc_goal1662,68158 -:- func create_new_orig_recursive_goals1709,70226 -:- func create_new_recursive_goals1723,70919 -:- func create_new_base_goals1738,71718 -:- pred acc_unification1749,72157 -:- pred accu_top_level1766,72897 -:- pred update_accumulator_pred1856,76291 -:- func accu_rename1876,77254 -:- func base_case_ids1889,77785 -:- func base_case_ids_set1898,78049 -:- func accu_goal_list1905,78270 -:- pred calculate_goal_info1916,78681 -:- func chain_subst1932,79320 -:- pred chain_subst_21938,79483 -:- some [T] pred unravel_univ1956,80061 -:- pragma foreign_export1957,80117 - -c-src/c.c,76 -T f(1,0 -}T i;2,14 -void bar(5,69 -int foobar(6,94 -interface_locate(9,131 - -c.c,1807 -my_printf 135, -void fatala 138, -max 141, -struct bar 143, -__attribute__ ((always_inline)) max 147, -struct foo150, -char stack[stack155, -struct S 156, -} wait_status_ptr_t 161, -Some_Class A 162, -typedef T1 T3 163, -T3 z 164, -typedef int more_aligned_int 165, -struct S __attribute__ ((vector_size (16))) foo;166, -int foo 167, -char *__attribute__((aligned(8))) *f;f168, -int i 169, -extern void foobar 170, -typedef struct cacheLRUEntry_s172, -__attribute__ ((packed)) cacheLRUEntry_t;177, -struct foo 178, - f1 183, -void f2 184, -int x 188, -struct foo 189, -short array[array190, -int f193, -DEAFUN 196, -XDEFUN 203, -DEFUN ("x-get-selection-internal", Fx_get_selection_internal,206, -DEFUN ("x-get-selection-internal", Fx_get_selection_internal,x-get-selection-internal206, - Fx_get_selection_internal,212, - Fx_get_selection_internal,x-get-selection-internal212, - Fy_get_selection_internal,216, - Fy_get_selection_internal,y-get-selection-internal216, -defun_func1(218, -DEFUN_func2(220, -typedef int bool;222, -bool funcboo 223, -struct my_struct 226, -typedef struct my_struct my_typedef;228, -int bla 229, -a(234, -int func1237, -static struct cca_control init_control 239, -static tpcmd rbtp 240, -static byte ring1 241, -static byte ring2 242, -request request 243, -int func2 246, - aaa;249, - bbb;251, -struct sss1 252, -struct sss2253, - struct ss3255, -struct a b;259, -struct aa *b;b260, - **b;b262, -caccacacca 263, -a 267, - typedef struct aa 269, - typedef struct aa {} aaa;269, -static void inita 271, -node *lasta lasta272, -b 273, - typedef int bb;275, -static void initb 277, -node *lastb lastb278, -typedef enum { REG_ENOSYS 279, -typedef enum { REG_ENOSYS = -1, aa 279, -typedef enum { REG_ENOSYS = -1, aa } reg_errcode_t;279, - -c-src/a/b/b.c,18 -#define this 1,0 - -../c/c.web,20 -#define questo 34, - -y-src/parse.y,738 -#define obstack_chunk_alloc 47,1124 -#define obstack_chunk_free 48,1162 -VOIDSTAR parse_hash;64,1413 -unsigned char fnin[fnin68,1532 -#define YYSTYPE 72,1630 -typedef struct node *YYSTYPE;YYSTYPE73,1661 -YYSTYPE parse_return;74,1691 -char *instr;instr81,1803 -int parse_error 82,1816 -line:line87,1875 -exp:exp95,1988 -exp_list:exp_list263,5655 -range_exp:range_exp269,5753 -range_exp_list:range_exp_list273,5783 -cell:cell279,5901 -yyerror FUN1(286,5948 -make_list FUN2(293,6028 -#define ERROR 304,6228 -yylex FUN0(315,6405 -parse_cell_or_range FUN2(587,11772 -#define CK_ABS_R(671,13214 -#define CK_REL_R(675,13293 -#define CK_ABS_C(680,13422 -#define CK_REL_C(684,13501 -#define MAYBEREL(689,13630 -str_to_col FUN1(847,16831 - -y-src/parse.c,520 -#define YYBISON 4,64 -# define NE 6,114 -# define LE 7,130 -# define GE 8,146 -# define NEG 9,162 -# define L_CELL 10,179 -# define L_RANGE 11,199 -# define L_VAR 12,220 -# define L_CONST 13,239 -# define L_FN0 14,260 -# define L_FN1 15,279 -# define L_FN2 16,298 -# define L_FN3 17,317 -# define L_FN4 18,336 -# define L_FNN 19,355 -# define L_FN1R 20,374 -# define L_FN2R 21,394 -# define L_FN3R 22,414 -# define L_FN4R 23,434 -# define L_FNNR 24,454 -# define L_LE 25,474 -# define L_NE 26,492 -# define L_GE 27,510 - -/usr/share/bison/bison.simple,1693 -# define YYSTD(40, -# define YYSTD(42, -# define YYSTACK_ALLOC 50, -# define YYSIZE_T 51, -# define YYSTACK_ALLOC 55, -# define YYSIZE_T 56, -# define YYSTACK_ALLOC 59, -# define YYSTACK_FREE(67, -# define YYSIZE_T 71, -# define YYSIZE_T 75, -# define YYSTACK_ALLOC 78, -# define YYSTACK_FREE 79, -union yyalloc83, -# define YYSTACK_GAP_MAX 93, -# define YYSTACK_BYTES(98, -# define YYSTACK_BYTES(102, -# define YYSTACK_RELOCATE(112, -# define YYSIZE_T 128, -# define YYSIZE_T 131, -# define YYSIZE_T 136, -# define YYSIZE_T 140, -# define YYSIZE_T 145, -#define yyerrok 148, -#define yyclearin 149, -#define YYEMPTY 150, -#define YYEOF 151, -#define YYACCEPT 152, -#define YYABORT 153, -#define YYERROR 154, -#define YYFAIL 158, -#define YYRECOVERING(159, -#define YYBACKUP(160, -#define YYTERROR 177, -#define YYERRCODE 178, -# define YYLLOC_DEFAULT(189, -# define YYLEX 200, -# define YYLEX 202, -# define YYLEX 206, -# define YYLEX 208, -# define YYLEX 212, -# define YYFPRINTF 225, -# define YYDPRINTF(228, -int yydebug;237, -# define YYDPRINTF(239, -# define YYINITDEPTH 244, -# undef YYMAXDEPTH255, -# define YYMAXDEPTH 259, -# define yymemcpy 264, -yymemcpy 271, -# define yystrlen 293, -yystrlen 298, -# define yystpcpy 316, -yystpcpy 322, -# define YYPARSE_PARAM_ARG 351, -# define YYPARSE_PARAM_DECL352, -# define YYPARSE_PARAM_ARG 354, -# define YYPARSE_PARAM_DECL 355, -# define YYPARSE_PARAM_ARG358, -# define YYPARSE_PARAM_DECL359, -#define YY_DECL_NON_LSP_VARIABLES 374, -# define YY_DECL_VARIABLES 385, -# define YY_DECL_VARIABLES 391, -yyparse 403, -# define YYPOPSTACK 445, -# define YYPOPSTACK 447, -# undef YYSTACK_RELOCATE548, - -y-src/atest.y,9 -exp 2,3 - -y-src/cccp.c,303 -#define YYBISON 4,63 -# define INT 6,113 -# define CHAR 7,130 -# define NAME 8,148 -# define ERROR 9,166 -# define OR 10,185 -# define AND 11,201 -# define EQUAL 12,218 -# define NOTEQUAL 13,237 -# define LEQ 14,259 -# define GEQ 15,276 -# define LSH 16,293 -# define RSH 17,310 -# define UNARY 18,327 - -/usr/share/bison/bison.simple,2110 -# define YYSTD(41, -# define YYSTD(43, -# define YYSTACK_ALLOC 51, -# define YYSIZE_T 52, -# define YYSTACK_ALLOC 56, -# define YYSIZE_T 57, -# define YYSTACK_ALLOC 60, -# define YYSTACK_FREE(68, -# define YYSIZE_T 72, -# define YYSIZE_T 76, -# define YYSTACK_ALLOC 79, -# define YYSTACK_FREE 80, -union yyalloc84, -# define YYSTACK_GAP_MAX 94, -# define YYSTACK_BYTES(99, -# define YYSTACK_BYTES(103, -# define YYSTACK_RELOCATE(113, -# define YYSIZE_T 129, -# define YYSIZE_T 132, -# define YYSIZE_T 137, -# define YYSIZE_T 141, -# define YYSIZE_T 146, -#define yyerrok 149, -#define yyclearin 150, -#define YYEMPTY 151, -#define YYEOF 152, -#define YYACCEPT 153, -#define YYABORT 154, -#define YYERROR 155, -#define YYFAIL 159, -#define YYRECOVERING(160, -#define YYBACKUP(161, -#define YYTERROR 178, -#define YYERRCODE 179, -# define YYLLOC_DEFAULT(190, -# define YYLEX 201, -# define YYLEX 203, -# define YYLEX 207, -# define YYLEX 209, -# define YYLEX 213, -# define YYFPRINTF 226, -# define YYDPRINTF(229, -int yydebug;238, -# define YYDPRINTF(240, -# define YYINITDEPTH 245, -# undef YYMAXDEPTH256, -# define YYMAXDEPTH 260, -# define yymemcpy 265, -yymemcpy 272, -# define yystrlen 294, -yystrlen 299, -# define yystpcpy 317, -yystpcpy 323, -# define YYPARSE_PARAM_ARG 351, -# define YYPARSE_PARAM_DECL352, -# define YYPARSE_PARAM_ARG 354, -# define YYPARSE_PARAM_DECL 355, -# define YYPARSE_PARAM_ARG358, -# define YYPARSE_PARAM_DECL359, -#define YY_DECL_NON_LSP_VARIABLES 374, -# define YY_DECL_VARIABLES 385, -# define YY_DECL_VARIABLES 391, -yyparse 403, -# define YYPOPSTACK 445, -# define YYPOPSTACK 447, -# undef YYSTACK_RELOCATE548, - *++yyvsp yyvsp746, - *++yylsp yylsp748, - yyn 755, - yystate 757, - yystate 761, - goto yynewstate;763, - goto yyerrlab1;823, - yyerrstatus 846, - goto yyerrhandle;848, - yyn 861, - yystate 875, - yyn 895, - yyn 903, - *++yyvsp yyvsp919, - *++yylsp yylsp921, - yystate 924, - goto yynewstate;925, - yyresult 932, - goto yyreturn;933, - yyresult 939, - goto yyreturn;940, - yyresult 947, - -y-src/cccp.y,1107 -typedef unsigned char U_CHAR;38,1201 -struct arglist 41,1301 -#define NULL 51,1468 -#define GENERIC_PTR 56,1578 -#define GENERIC_PTR 58,1611 -#define NULL_PTR 63,1670 -int expression_value;68,1743 -static jmp_buf parse_return_error;70,1766 -static int keyword_parsing 73,1865 -#define CHAR_TYPE_SIZE 87,2162 -#define INT_TYPE_SIZE 91,2229 -#define LONG_TYPE_SIZE 95,2296 -#define WCHAR_TYPE_SIZE 99,2365 -#define possible_sum_sign(104,2556 - struct constant 112,2733 - struct name 113,2789 -start 143,3226 -exp1 148,3330 -exp 156,3505 -exp 185,4295 -keywords 306,7835 -static char *lexptr;lexptr332,8579 -parse_number 341,8842 -struct token 437,11038 -static struct token tokentab2[tokentab2442,11088 -yylex 459,11367 -parse_escape 740,17718 -yyerror 836,19599 -integer_overflow 844,19690 -left_shift 851,19804 -right_shift 873,20194 -parse_c_expression 893,20732 -main 923,21483 -unsigned char is_idchar[is_idchar948,21901 -unsigned char is_idstart[is_idstart950,21996 -char is_hor_space[is_hor_space953,22160 -initialize_random_junk 958,22259 -error 988,22915 -warning 993,22963 -lookup 999,23033 - -tex-src/nonewline.tex,0 - -php-src/sendmail.php,0 - -c-src/fail.c,0 - -a-src/empty.zz,0 diff --git a/test/manual/etags/ETAGS.good_2 b/test/manual/etags/ETAGS.good_2 deleted file mode 100644 index 6e90f1e8e05..00000000000 --- a/test/manual/etags/ETAGS.good_2 +++ /dev/null @@ -1,5008 +0,0 @@ - -ada-src/etags-test-for.ada,1969 - type LL_Task_Procedure_Access LL_Task_Procedure_Access/t1,0 - function Body_RequiredBody_Required/f3,78 - type Type_Specific_Data Type_Specific_Data/t11,280 - function "abs"abs/f19,504 - type Barrier_Function_Pointer Barrier_Function_Pointer/t21,577 - function "="=/f27,722 - type usfreelock_ptr usfreelock_ptr/t30,803 - function p p/f33,891 - procedure LL_Wrapper LL_Wrapper/p37,1054 -function p p/f39,1094 -package Pkg1 Pkg1/s44,1203 - type Private_T Private_T/t46,1220 - package Inner1 Inner1/s48,1250 - procedure Private_T;Private_T/p49,1270 - package Inner2 Inner2/s52,1310 - task Private_T;Private_T/k53,1330 - type Public_T Public_T/t56,1365 - procedure Pkg1_Proc1;Pkg1_Proc1/p62,1450 - procedure Pkg1_Proc2 Pkg1_Proc2/p64,1475 - function Pkg1_Func1 Pkg1_Func1/f66,1514 - function Pkg1_Func2 Pkg1_Func2/f68,1553 - package Pkg1_Pkg1 Pkg1_Pkg1/s71,1622 - procedure Pkg1_Pkg1_Proc1;Pkg1_Pkg1_Proc1/p72,1645 - task type Task_Type Task_Type/k75,1694 - type Private_T Private_T/t82,1786 -package body Pkg1 Pkg1/b89,1882 - procedure Pkg1_Proc1 Pkg1_Proc1/p91,1904 - package body Inner1 Inner1/b96,1956 - procedure Private_T Private_T/p97,1981 - package body Inner2 Inner2/b103,2054 - task body Private_T Private_T/b104,2079 - task body Task_Type Task_Type/b112,2181 - procedure Pkg1_Proc2 Pkg1_Proc2/p126,2367 - function Pkg1_Func1 Pkg1_Func1/f132,2445 - function Pkg1_Func2 Pkg1_Func2/f134,2496 - package body Pkg1_Pkg1 Pkg1_Pkg1/b140,2596 -package body Pkg1_Pkg1 Pkg1_Pkg1/b146,2663 - procedure Pkg1_Pkg1_Proc1 Pkg1_Pkg1_Proc1/p147,2689 -function Pkg1_Func1 Pkg1_Func1/f155,2778 -package Truc Truc/s162,2887 -package Truc.Bidule Truc.Bidule/s166,2929 - protected Bidule Bidule/t168,2953 - protected type Machin_T Machin_T/t172,3007 -package body Truc.Bidule Truc.Bidule/b178,3087 - protected body Bidule Bidule/b179,3115 - protected Machin_T Machin_T/t186,3207 - -ada-src/2ataspri.adb,2190 -package body System.Task_Primitives System.Task_Primitives/b64,2603 - package RTE RTE/s69,2712 - package TSL TSL/s70,2759 - function To_void_ptr To_void_ptr/f86,3287 - function To_TCB_Ptr To_TCB_Ptr/f89,3366 - function pthread_mutexattr_setprotocolpthread_mutexattr_setprotocol/f92,3444 - function pthread_mutexattr_setprio_ceilingpthread_mutexattr_setprio_ceiling/f99,3728 - procedure Abort_WrapperAbort_Wrapper/p115,4302 - procedure LL_Wrapper LL_Wrapper/p122,4526 - procedure Initialize_LL_Tasks Initialize_LL_Tasks/p131,4830 - function Self Self/f160,5586 - procedure Initialize_LockInitialize_Lock/p174,5958 - procedure Finalize_Lock Finalize_Lock/p210,6927 - procedure Write_Lock Write_Lock/p226,7338 - procedure Read_Lock Read_Lock/p239,7700 - procedure Unlock Unlock/p246,7850 - procedure Initialize_Cond Initialize_Cond/p258,8160 - procedure Finalize_Cond Finalize_Cond/p286,8979 - procedure Cond_Wait Cond_Wait/p300,9303 - procedure Cond_Timed_WaitCond_Timed_Wait/p312,9661 - procedure Cond_Signal Cond_Signal/p343,10510 - procedure Set_PrioritySet_Priority/p355,10836 - procedure Set_Own_Priority Set_Own_Priority/p372,11243 - function Get_Priority Get_Priority/f385,11598 - function Get_Own_Priority Get_Own_Priority/f398,12023 - procedure Create_LL_TaskCreate_LL_Task/p412,12438 - function To_Start_Addr To_Start_Addr/f426,12873 - procedure Exit_LL_Task Exit_LL_Task/p491,14995 - procedure Abort_Task Abort_Task/p500,15158 - procedure Test_Abort Test_Abort/p518,15716 - procedure Install_Abort_Handler Install_Abort_Handler/p527,15878 - procedure Abort_WrapperAbort_Wrapper/p557,16939 - function Address_To_Call_State Address_To_Call_State/f562,17062 - procedure Install_Error_Handler Install_Error_Handler/p573,17351 - procedure LL_Assert LL_Assert/p599,18146 - procedure LL_Wrapper LL_Wrapper/p608,18299 - procedure Initialize_TAS_Cell Initialize_TAS_Cell/p630,19010 - procedure Finalize_TAS_Cell Finalize_TAS_Cell/p635,19129 - procedure Clear Clear/p640,19236 - procedure Test_And_Set Test_And_Set/p645,19330 - function Is_Set Is_Set/f659,19676 - -ada-src/2ataspri.ads,2313 -package System.Task_Primitives System.Task_Primitives/s58,3169 - type LL_Task_Procedure_Access LL_Task_Procedure_Access/t62,3253 - type Pre_Call_State Pre_Call_State/t64,3331 - type Task_Storage_Size Task_Storage_Size/t66,3378 - type Machine_Exceptions Machine_Exceptions/t68,3433 - type Error_Information Error_Information/t70,3499 - type Lock Lock/t72,3569 - type Condition_Variable Condition_Variable/t73,3594 - type Task_Control_Block Task_Control_Block/t81,3955 - type TCB_Ptr TCB_Ptr/t89,4241 - function Address_To_TCB_Ptr Address_To_TCB_Ptr/f93,4333 - procedure Initialize_LL_Tasks Initialize_LL_Tasks/p96,4425 - function Self Self/f100,4602 - procedure Initialize_Lock Initialize_Lock/p103,4707 - procedure Finalize_Lock Finalize_Lock/p107,4879 - procedure Write_Lock Write_Lock/p111,5034 - procedure Read_Lock Read_Lock/p118,5428 - procedure Unlock Unlock/p128,5995 - procedure Initialize_Cond Initialize_Cond/p135,6300 - procedure Finalize_Cond Finalize_Cond/p138,6413 - procedure Cond_Wait Cond_Wait/p142,6591 - procedure Cond_Timed_WaitCond_Timed_Wait/p155,7396 - procedure Cond_Signal Cond_Signal/p164,7812 - procedure Set_Priority Set_Priority/p169,8040 - procedure Set_Own_Priority Set_Own_Priority/p173,8200 - function Get_Priority Get_Priority/f177,8348 - function Get_Own_Priority Get_Own_Priority/f181,8504 - procedure Create_LL_TaskCreate_LL_Task/p185,8647 - procedure Exit_LL_Task;Exit_LL_Task/p198,9282 - procedure Abort_Task Abort_Task/p203,9516 - procedure Test_Abort;Test_Abort/p210,9878 - type Abort_Handler_Pointer Abort_Handler_Pointer/t217,10233 - procedure Install_Abort_Handler Install_Abort_Handler/p219,10312 - procedure Install_Error_Handler Install_Error_Handler/p226,10741 - procedure LL_Assert LL_Assert/p231,10983 - type Proc Proc/t238,11240 - type TAS_Cell TAS_Cell/t242,11328 - procedure Initialize_TAS_Cell Initialize_TAS_Cell/p249,11670 - procedure Finalize_TAS_Cell Finalize_TAS_Cell/p255,11941 - procedure Clear Clear/p260,12157 - procedure Test_And_Set Test_And_Set/p267,12462 - function Is_Set Is_Set/f275,12877 - type Lock Lock/t283,13155 - type Condition_Variable Condition_Variable/t288,13267 - type TAS_Cell TAS_Cell/t293,13389 - -ada-src/waroquiers.ada,1503 -package Pkg1 Pkg1/s3,89 - type Private_T Private_T/t5,106 - package Inner1 Inner1/s7,136 - procedure Private_T;Private_T/p8,156 - package Inner2 Inner2/s11,196 - task Private_T;Private_T/k12,216 - type Public_T Public_T/t15,251 - procedure Pkg1_Proc1;Pkg1_Proc1/p21,336 - procedure Pkg1_Proc2 Pkg1_Proc2/p23,361 - function Pkg1_Func1 Pkg1_Func1/f25,400 - function Pkg1_Func2 Pkg1_Func2/f27,439 - package Pkg1_Pkg1 Pkg1_Pkg1/s30,508 - procedure Pkg1_Pkg1_Proc1;Pkg1_Pkg1_Proc1/p31,531 - task type Task_Type Task_Type/k34,580 - type Private_T Private_T/t40,671 -package body Pkg1 Pkg1/b46,766 - procedure Pkg1_Proc1 Pkg1_Proc1/p48,788 - package body Inner1 Inner1/b53,840 - procedure Private_T Private_T/p54,865 - package body Inner2 Inner2/b60,938 - task body Private_T Private_T/b61,963 - task body Task_Type Task_Type/b68,1064 - procedure Pkg1_Proc2 Pkg1_Proc2/p82,1250 - function Pkg1_Func1 Pkg1_Func1/f88,1328 - function Pkg1_Func2 Pkg1_Func2/f90,1379 - package body Pkg1_Pkg1 Pkg1_Pkg1/b96,1479 -package body Pkg1_Pkg1 Pkg1_Pkg1/b100,1544 - procedure Pkg1_Pkg1_Proc1 Pkg1_Pkg1_Proc1/p101,1570 -function Pkg1_Func1 Pkg1_Func1/f107,1657 -package Truc Truc/s112,1764 -package Truc.Bidule Truc.Bidule/s116,1816 - protected Bidule Bidule/t125,1964 - protected type Machin_T Machin_T/t131,2046 -package body Truc.Bidule Truc.Bidule/b138,2153 - protected body Bidule Bidule/b139,2181 - protected body Machin_T Machin_T/b146,2281 - -c-src/abbrev.c,1957 -Lisp_Object Vabbrev_table_name_list;43,1429 -Lisp_Object Vglobal_abbrev_table;48,1574 -Lisp_Object Vfundamental_mode_abbrev_table;52,1685 -int abbrevs_changed;56,1786 -int abbrev_all_caps;58,1808 -Lisp_Object Vabbrev_start_location;63,1957 -Lisp_Object Vabbrev_start_location_buffer;66,2046 -Lisp_Object Vlast_abbrev;70,2155 -Lisp_Object Vlast_abbrev_text;75,2324 -int last_abbrev_point;79,2414 -DEFUN ("make-abbrev-table", Fmake_abbrev_table,82,2440 -DEFUN ("make-abbrev-table", Fmake_abbrev_table,make-abbrev-table82,2440 -DEFUN ("clear-abbrev-table", Fclear_abbrev_table,89,2632 -DEFUN ("clear-abbrev-table", Fclear_abbrev_table,clear-abbrev-table89,2632 -DEFUN ("define-abbrev", Fdefine_abbrev,104,3013 -DEFUN ("define-abbrev", Fdefine_abbrev,define-abbrev104,3013 -DEFUN ("define-global-abbrev", Fdefine_global_abbrev,146,4332 -DEFUN ("define-global-abbrev", Fdefine_global_abbrev,define-global-abbrev146,4332 -DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,157,4703 -DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,define-mode-abbrev157,4703 -DEFUN ("abbrev-symbol", Fabbrev_symbol,171,5171 -DEFUN ("abbrev-symbol", Fabbrev_symbol,abbrev-symbol171,5171 -DEFUN ("abbrev-expansion", Fabbrev_expansion,199,6135 -DEFUN ("abbrev-expansion", Fabbrev_expansion,abbrev-expansion199,6135 -DEFUN ("expand-abbrev", Fexpand_abbrev,215,6650 -DEFUN ("expand-abbrev", Fexpand_abbrev,expand-abbrev215,6650 -DEFUN ("unexpand-abbrev", Funexpand_abbrev,383,11495 -DEFUN ("unexpand-abbrev", Funexpand_abbrev,unexpand-abbrev383,11495 -write_abbrev 420,12702 -describe_abbrev 439,13137 -DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,460,13652 -DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,insert-abbrev-table-description460,13652 -DEFUN ("define-abbrev-table", Fdefine_abbrev_table,500,14808 -DEFUN ("define-abbrev-table", Fdefine_abbrev_table,define-abbrev-table500,14808 -syms_of_abbrev 534,15885 - -c-src/torture.c,197 -(*tag1 tag118,452 -#define notag2 26,553 -(*tag2 tag229,630 -(*tag3 tag339,772 -#define notag4 45,861 -(*tag4 tag448,955 -tag5 57,1081 -tag6 66,1208 -int pp1(74,1317 -pp287,1419 -pp3(100,1518 - -c-src/getopt.h,538 -#define _GETOPT_H 19,799 -extern char *optarg;optarg31,1107 -extern int optind;45,1615 -extern int opterr;50,1741 -struct option73,2795 -#define no_argument 89,3122 -#define required_argument 90,3145 -#define optional_argument 91,3173 -extern int getopt 98,3438 -extern int getopt 100,3542 -extern int getopt_long 102,3597 -extern int getopt_long_only 104,3729 -extern int _getopt_internal 109,3940 -extern int getopt 114,4138 -extern int getopt_long 115,4160 -extern int getopt_long_only 116,4187 -extern int _getopt_internal 118,4220 - -c-src/etags.c,12175 -char pot_etags_version[pot_etags_version81,3471 -# undef DEBUG84,3553 -# define DEBUG 85,3568 -# define DEBUG 87,3595 -# define NDEBUG 88,3618 -# define _GNU_SOURCE 94,3706 -# undef MSDOS100,3877 -# undef WINDOWSNT101,3891 -# define WINDOWSNT102,3910 -# undef MSDOS106,3969 -# define MSDOS 107,3983 -# define MSDOS 110,4033 -# define MAXPATHLEN 115,4112 -# undef HAVE_NTGUI116,4142 -# undef DOS_NT117,4161 -# define DOS_NT118,4177 -# undef assert 135,4483 -# define assert(136,4542 -# undef CTAGS146,4858 -# define CTAGS 147,4873 -# define CTAGS 149,4899 -#define streq(152,4928 -#define strcaseeq(153,4997 -#define strneq(154,5076 -#define strncaseeq(155,5152 -#define CHARS 157,5239 -#define CHAR(158,5279 -#define iswhite(159,5330 -#define notinname(160,5395 -#define begtoken(161,5470 -#define intoken(162,5543 -#define endtoken(163,5615 -#define ISALNUM(165,5685 -#define ISALPHA(166,5723 -#define ISDIGIT(167,5761 -#define ISLOWER(168,5799 -#define lowcase(170,5838 -#define xnew(179,6016 -#define xrnew(180,6084 -typedef void Lang_function 182,6165 -} compressor;188,6366 -} language;199,6836 -typedef struct fdesc201,6849 -} fdesc;212,7367 -typedef struct node_st214,7377 -} node;225,7895 -} linebuffer;239,8249 - at_language,245,8345 - at_regexp,246,8394 - at_filename,247,8438 - at_stdin,248,8474 - at_end 249,8517 -} argument;253,8699 -typedef struct regexp256,8759 -} regexp;268,9326 -static void Ada_funcs 274,9429 -static void Asm_labels 275,9461 -static void C_entries 276,9494 -static void default_C_entries 277,9537 -static void plain_C_entries 278,9577 -static void Cjava_entries 279,9615 -static void Cobol_paragraphs 280,9651 -static void Cplusplus_entries 281,9690 -static void Cstar_entries 282,9730 -static void Erlang_functions 283,9766 -static void Forth_words 284,9805 -static void Fortran_functions 285,9839 -static void HTML_labels 286,9879 -static void Lisp_functions 287,9913 -static void Lua_functions 288,9950 -static void Makefile_targets 289,9986 -static void Pascal_functions 290,10025 -static void Perl_functions 291,10064 -static void PHP_functions 292,10101 -static void PS_functions 293,10137 -static void Prolog_functions 294,10172 -static void Python_functions 295,10211 -static void Scheme_functions 296,10250 -static void TeX_commands 297,10289 -static void Texinfo_nodes 298,10324 -static void Yacc_entries 299,10360 -static void just_read_file 300,10395 -static language *get_language_from_langname get_language_from_langname302,10433 -static void readline 303,10493 -static long readline_internal 304,10538 -static bool nocase_tail 305,10592 -static void get_tag 306,10632 -static void analyze_regex 308,10672 -static void free_regexps 309,10708 -static void regex_tag_multiline 310,10741 -static void error 311,10781 -# undef STDIN408,15074 -#define STDIN 411,15096 -static compressor compressors[compressors457,17665 -static const char *Ada_suffixes Ada_suffixes473,17908 -static const char Ada_help 475,17978 -static const char *Asm_suffixes Asm_suffixes493,18581 -static const char Asm_help 504,18977 -static const char *default_C_suffixes default_C_suffixes512,19313 -static const char default_C_help 515,19414 -static const char default_C_help 523,19851 -static const char *Cplusplus_suffixes Cplusplus_suffixes535,20461 -static const char Cplusplus_help 540,20659 -static const char *Cjava_suffixes Cjava_suffixes549,21114 -static char Cjava_help 551,21173 -static const char *Cobol_suffixes Cobol_suffixes556,21338 -static char Cobol_help 558,21403 -static const char *Cstar_suffixes Cstar_suffixes562,21544 -static const char *Erlang_suffixes Erlang_suffixes565,21608 -static const char Erlang_help 567,21674 -const char *Forth_suffixes Forth_suffixes571,21800 -static const char Forth_help 573,21858 -static const char *Fortran_suffixes Fortran_suffixes577,22009 -static const char Fortran_help 579,22086 -static const char *HTML_suffixes HTML_suffixes582,22191 -static const char HTML_help 584,22265 -static const char *Lisp_suffixes Lisp_suffixes589,22453 -static const char Lisp_help 591,22557 -static const char *Lua_suffixes Lua_suffixes598,22872 -static const char Lua_help 600,22935 -static const char *Makefile_filenames Makefile_filenames603,23011 -static const char Makefile_help 605,23134 -static const char *Objc_suffixes Objc_suffixes609,23278 -static const char Objc_help 613,23400 -static const char *Pascal_suffixes Pascal_suffixes619,23715 -static const char Pascal_help 621,23779 -static const char *Perl_suffixes Perl_suffixes626,23967 -static const char *Perl_interpreters Perl_interpreters628,24029 -static const char Perl_help 630,24101 -static const char *PHP_suffixes PHP_suffixes637,24452 -static const char PHP_help 639,24524 -static const char *plain_C_suffixes plain_C_suffixes643,24679 -static const char *PS_suffixes PS_suffixes647,24763 -static const char PS_help 649,24849 -static const char *Prolog_suffixes Prolog_suffixes652,24932 -static const char Prolog_help 654,24994 -static const char *Python_suffixes Python_suffixes658,25108 -static const char Python_help 660,25166 -static const char *Scheme_suffixes Scheme_suffixes665,25348 -static const char Scheme_help 667,25461 -static const char *TeX_suffixes TeX_suffixes672,25684 -static const char TeX_help 674,25782 -static const char *Texinfo_suffixes Texinfo_suffixes686,26317 -static const char Texinfo_help 688,26396 -static const char *Yacc_suffixes Yacc_suffixes691,26493 -static const char Yacc_help 693,26607 -static const char auto_help 699,26857 -static const char none_help 703,27021 -static const char no_lang_help 707,27144 -static language lang_names 718,27356 -print_language_names 753,29533 -# define EMACS_NAME 786,30756 -# define VERSION 789,30812 -print_version 792,30870 -# define PRINT_UNDOCUMENTED_OPTIONS_HELP 804,31174 -print_help 808,31251 -main 981,37439 -get_compressor_from_suffix 1319,46218 -get_language_from_langname 1355,47159 -get_language_from_interpreter 1377,47546 -get_language_from_filename 1399,47977 -process_file_name 1433,48835 -process_file 1555,51666 -init 1632,54151 -find_entries 1656,54902 -make_tag 1814,59708 -pfnote 1856,60943 -free_tree 1917,62745 -free_fdesc 1935,63030 -add_node 1955,63473 -invalidate_nodes 2035,65538 -static int total_size_of_entries 2067,66151 -static int number_len 2068,66194 -total_size_of_entries 2087,66695 -put_entries 2107,67155 -#define C_EXT 2193,68996 -#define C_PLAIN 2194,69038 -#define C_PLPL 2195,69071 -#define C_STAR 2196,69105 -#define C_JAVA 2197,69138 -#define C_AUTO 2198,69173 -#define YACC 2199,69243 -enum sym_type2204,69313 - st_none,2206,69329 - st_C_objprot,2207,69340 - st_C_objprot, st_C_objimpl,2207,69340 - st_C_objprot, st_C_objimpl, st_C_objend,2207,69340 - st_C_gnumacro,2208,69383 - st_C_ignore,2209,69400 - st_C_ignore, st_C_attribute,2209,69400 - st_C_javastruct,2210,69431 - st_C_operator,2211,69450 - st_C_class,2212,69467 - st_C_class, st_C_template,2212,69467 - st_C_struct,2213,69496 - st_C_struct, st_C_extern,2213,69496 - st_C_struct, st_C_extern, st_C_enum,2213,69496 - st_C_struct, st_C_extern, st_C_enum, st_C_define,2213,69496 - st_C_struct, st_C_extern, st_C_enum, st_C_define, st_C_typedef2213,69496 -struct C_stab_entry 2271,71279 -hash 2275,71410 -in_word_set 2321,72938 - TOTAL_KEYWORDS 2325,73019 - MIN_WORD_LENGTH 2326,73046 - MAX_WORD_LENGTH 2327,73073 - MIN_HASH_VALUE 2328,73101 - MAX_HASH_VALUE 2329,73127 -C_symtype 2387,74986 -static bool inattribute;2400,75235 - fvnone,2408,75436 - fdefunkey,2409,75467 - fdefunname,2410,75513 - foperator,2411,75557 - fvnameseen,2412,75614 - fstartlist,2413,75667 - finlist,2414,75723 - flistseen,2415,75766 - fignore,2416,75814 - vignore 2417,75857 -} fvdef;2418,75902 -static bool fvextern;2420,75912 - tnone,2428,76090 - tkeyseen,2429,76120 - ttypeseen,2430,76161 - tinbody,2431,76200 - tend,2432,76239 - tignore 2433,76280 -} typdef;2434,76321 - snone,2443,76500 - skeyseen,2445,76576 - stagseen,2446,76621 - scolonseen 2447,76662 -} structdef;2448,76716 -static const char *objtag objtag2453,76810 - dnone,2460,76943 - dsharpseen,2461,76973 - ddefineseen,2462,77026 - dignorerest 2463,77071 -} definedef;2464,77113 - onone,2472,77268 - oprotocol,2473,77298 - oimplementation,2474,77348 - otagseen,2475,77396 - oparenseen,2476,77432 - ocatseen,2477,77487 - oinbody,2478,77526 - omethodsign,2479,77569 - omethodtag,2480,77627 - omethodcolon,2481,77667 - omethodparm,2482,77710 - oignore 2483,77756 -} objdef;2484,77788 -static struct tok2491,77945 -} token;2508,78627 -static void pushclass_above 2514,78785 -static void popclass_above 2515,78833 -static void write_classname 2516,78867 -} cstack;2523,79137 -#define nestlev 2525,79265 -#define instruct 2527,79370 -pushclass_above 2531,79490 -popclass_above 2550,79949 -write_classname 2564,80163 -static bool consider_token 2592,80762 -static void make_C_tag 2593,80834 -consider_token 2613,81342 -} lbs[lbs2924,88533 -#define current_lb_is_new 2926,88544 -#define switch_line_buffers(2927,88589 -#define curlb 2929,88642 -#define newlb 2930,88673 -#define curlinepos 2931,88704 -#define newlinepos 2932,88745 -#define plainc 2934,88787 -#define cplpl 2935,88831 -#define cjava 2936,88862 -#define CNL_SAVE_DEFINEDEF(2938,88906 -#define CNL(2947,89118 -make_C_tag 2960,89376 -C_entries 2986,90195 -default_C_entries 3833,110157 -plain_C_entries 3840,110277 -Cplusplus_entries 3847,110365 -Cjava_entries 3854,110461 -Cstar_entries 3861,110551 -Yacc_entries 3868,110643 -#define LOOP_ON_INPUT_LINES(3875,110721 -#define LOOKING_AT(3884,111057 -#define LOOKING_AT_NOCASE(3891,111462 -just_read_file 3901,111862 -static void F_takeprec 3910,111966 -static void F_getit 3911,111997 -F_takeprec 3914,112040 -F_getit 3937,112367 -Fortran_functions 3961,112841 -Ada_getit 4052,114670 -Ada_funcs 4115,116045 -Asm_labels 4228,118583 -Perl_functions 4261,119550 -Python_functions 4357,122058 -PHP_functions 4387,122685 -Cobol_paragraphs 4466,124472 -Makefile_targets 4494,125030 -Pascal_functions 4529,125951 -static void L_getit 4706,130278 -L_getit 4709,130319 -Lisp_functions 4725,130665 -Lua_functions 4785,131851 -PS_functions 4811,132386 -Forth_words 4841,133054 -Scheme_functions 4877,134093 -static linebuffer *TEX_toktab TEX_toktab4908,134782 -static const char *TEX_defenv TEX_defenv4912,134975 -static void TEX_mode 4917,135173 -static void TEX_decode_env 4918,135204 -static char TEX_esc 4920,135262 -static char TEX_opgrp 4921,135290 -static char TEX_clgrp 4922,135319 -TeX_commands 4928,135396 -#define TEX_LESC 4986,136653 -#define TEX_SESC 4987,136675 -TEX_mode 4992,136805 -TEX_decode_env 5026,137510 -Texinfo_nodes 5071,138555 -HTML_labels 5094,139014 -static size_t prolog_pr 5214,142193 -static void prolog_skip_comment 5215,142235 -static size_t prolog_atom 5216,142291 -Prolog_functions 5219,142348 -prolog_skip_comment 5255,143129 -prolog_pr 5281,143737 -prolog_atom 5319,144629 -static int erlang_func 5374,145541 -static void erlang_attribute 5375,145582 -static int erlang_atom 5376,145621 -Erlang_functions 5379,145667 -erlang_func 5438,146966 -erlang_attribute 5476,147643 -erlang_atom 5496,148062 -static char *scan_separators scan_separators5520,148488 -static void add_regex 5521,148527 -static char *substitute substitute5522,148571 -scan_separators 5534,149081 -analyze_regex 5586,150461 -add_regex 5654,152051 -substitute 5767,154798 -free_regexps 5814,155838 -regex_tag_multiline 5836,156292 -nocase_tail 5913,158264 -get_tag 5928,158520 -readline_internal 5959,159456 -readline 6037,161297 -savestr 6230,167244 -savenstr 6240,167474 -skip_spaces 6249,167680 -skip_non_spaces 6258,167834 -skip_name 6267,167984 -fatal 6277,168157 -pfatal 6284,168254 -suggest_asking_for_help 6291,168333 -error 6300,168555 -concat 6313,168847 -etags_getcwd 6329,169260 -relative_filename 6350,169726 -absolute_filename 6389,170752 -absolute_dirname 6453,172417 -filename_is_absolute 6472,172846 -canonicalize_filename 6484,173097 -# define ISUPPER(6491,173236 -linebuffer_init 6514,173657 -linebuffer_setlen 6524,173888 -xmalloc 6536,174149 -xrealloc 6545,174315 - -c-src/exit.c,47 - } __libc_atexit;30,1022 -DEFUN(exit,38,1263 - -c-src/exit.strange_suffix,47 - } __libc_atexit;30,1022 -DEFUN(exit,38,1263 - -c-src/sysdep.h,491 -#define ENTRY(21,875 -#define PSEUDO(26,982 - movl $SYS_##syscall_nam$SYS_##syscall_na31,1142 - movl $SYS_##syscall_name, %eax;eax31,1142 - int $0x80;32,1190 - test %eax,eax33,1220 - test %eax, %eax;eax33,1220 - jl syscall_error;34,1255 -#define XCHG_0 47,1572 -#define XCHG_1 48,1616 -#define XCHG_2 49,1658 -#define XCHG_3 50,1701 -#define XCHG_4 51,1744 -#define XCHG_5 52,1787 -#define r0 54,1831 -#define r1 55,1885 -#define scratch 56,1942 -#define MOVE(57,2011 - -c-src/tab.c,196 -static int count_words(15,263 -static char *get_word(get_word35,553 -void tab_free(59,966 -char **tab_fill(tab_fill70,1129 -int tab_delete_first(91,1638 -int tab_count_words(103,1820 - -c-src/dostorture.c,198 -(*tag1 tag118,468 -#define notag2 26,577 -(*tag2 tag229,657 -(*tag3 tag339,809 -#define notag4 45,904 -(*tag4 tag448,1001 -tag5 57,1136 -tag6 66,1272 -int pp1(74,1389 -pp287,1504 -pp3(100,1616 - -c-src/emacs/src/gmalloc.c,6643 -#define USE_PTHREAD25,1003 -#undef get_current_dir_name33,1127 -extern void emacs_abort 47,1306 -#undef malloc64,2111 -#undef realloc65,2125 -#undef calloc66,2140 -#undef free67,2154 -#define malloc 68,2166 -#define realloc 69,2189 -#define calloc 70,2214 -#define aligned_alloc 71,2237 -#define free 72,2274 -extern void *bss_sbrk bss_sbrk76,2336 -extern int bss_sbrk_did_unexec;77,2376 -extern char bss_sbrk_buffer[bss_sbrk_buffer78,2408 -extern void *bss_sbrk_buffer_end;bss_sbrk_buffer_end79,2439 -#define DUMPED 80,2473 -#define ALLOCATED_BEFORE_DUMPING(81,2508 -extern void *malloc malloc94,2719 -#define INT_BIT 124,3935 -#define BLOCKLOG 125,3978 -#define BLOCKSIZE 126,4019 -#define BLOCKIFY(127,4053 -#define HEAP 131,4216 -#define FINAL_FREE_BLOCKS 135,4392 - } malloc_info;167,5389 -extern char *_heapbase;_heapbase170,5450 -extern malloc_info *_heapinfo;_heapinfo173,5542 -#define BLOCK(176,5621 -#define ADDRESS(177,5683 -extern size_t _heapindex;180,5798 -extern size_t _heaplimit;183,5867 -struct list186,5940 -extern struct list _fraghead[_fraghead193,6057 -struct alignlist196,6154 -extern struct alignlist *_aligned_blocks;_aligned_blocks202,6335 -extern size_t _chunks_used;205,6402 -extern size_t _bytes_used;206,6430 -extern size_t _chunks_free;207,6457 -extern size_t _bytes_free;208,6485 -extern void *_malloc_internal _malloc_internal213,6674 -extern void *_realloc_internal _realloc_internal214,6714 -extern void _free_internal 215,6763 -extern void *_malloc_internal_nolock _malloc_internal_nolock216,6800 -extern void *_realloc_internal_nolock _realloc_internal_nolock217,6847 -extern void _free_internal_nolock 218,6903 -extern pthread_mutex_t _malloc_mutex,221,6967 -extern pthread_mutex_t _malloc_mutex, _aligned_blocks_mutex;221,6967 -extern int _malloc_thread_enabled_p;222,7028 -#define LOCK(223,7065 -#define UNLOCK(228,7196 -#define LOCK_ALIGNED_BLOCKS(233,7330 -#define UNLOCK_ALIGNED_BLOCKS(238,7485 -#define LOCK(244,7650 -#define UNLOCK(245,7665 -#define LOCK_ALIGNED_BLOCKS(246,7682 -#define UNLOCK_ALIGNED_BLOCKS(247,7712 -extern void *malloc_find_object_address malloc_find_object_address252,7866 -extern void *(*__morecore)__morecore256,8022 -extern void *__default_morecore __default_morecore259,8106 -extern void (*__after_morecore_hook)__after_morecore_hook263,8270 -extern size_t __malloc_extra_blocks;267,8443 -extern int __malloc_initialized;270,8553 -extern int __malloc_initialize 272,8647 -extern void (*__malloc_initialize_hook)__malloc_initialize_hook275,8724 -extern void (*__free_hook)__free_hook276,8772 -extern void *(*__malloc_hook)__malloc_hook277,8812 -extern void *(*__realloc_hook)__realloc_hook278,8857 -extern void *(*__memalign_hook)__memalign_hook279,8914 -enum mcheck_status283,9093 - MCHECK_DISABLED 285,9116 - MCHECK_OK,286,9188 - MCHECK_FREE,287,9227 - MCHECK_HEAD,288,9271 - MCHECK_TAIL 289,9335 -extern int mcheck 296,9702 -extern enum mcheck_status mprobe 301,9953 -extern void mtrace 304,10056 -extern void muntrace 305,10083 -struct mstats308,10154 -extern struct mstats mstats 318,10519 -extern void memory_warnings 321,10626 -void *(*__malloc_hook)__malloc_hook352,11745 -char *_heapbase;_heapbase355,11831 -malloc_info *_heapinfo;_heapinfo358,11929 -static size_t heapsize;361,11985 -size_t _heapindex;364,12049 -size_t _heaplimit;367,12111 -struct list _fraghead[_fraghead370,12173 -size_t _chunks_used;373,12231 -size_t _bytes_used;374,12252 -size_t _chunks_free;375,12272 -size_t _bytes_free;376,12293 -int __malloc_initialized;379,12342 -size_t __malloc_extra_blocks;381,12369 -void (*__malloc_initialize_hook)__malloc_initialize_hook383,12400 -void (*__after_morecore_hook)__after_morecore_hook384,12441 -static int state_protected_p;400,12914 -static size_t last_state_size;401,12944 -static malloc_info *last_heapinfo;last_heapinfo402,12975 -protect_malloc_state 405,13016 -#define PROTECT_MALLOC_STATE(426,13629 -#define PROTECT_MALLOC_STATE(429,13699 -align 435,13796 -get_contiguous_space 466,14618 -register_heapinfo 497,15327 -pthread_mutex_t _malloc_mutex 517,15881 -pthread_mutex_t _aligned_blocks_mutex 518,15940 -int _malloc_thread_enabled_p;519,16007 -malloc_atfork_handler_prepare 522,16050 -malloc_atfork_handler_parent 529,16141 -malloc_atfork_handler_child 536,16235 -malloc_enable_thread 544,16377 -malloc_initialize_1 563,16963 -__malloc_initialize 594,17795 -static int morecore_recursing;604,17928 -morecore_nolock 609,18068 -_malloc_internal_nolock 722,21586 -_malloc_internal 920,28104 -malloc 932,28249 -extern void *_malloc _malloc956,29035 -extern void _free 957,29066 -extern void *_realloc _realloc958,29094 -_malloc 961,29142 -_free 967,29198 -_realloc 973,29242 -void (*__free_hook)__free_hook1001,30262 -struct alignlist *_aligned_blocks _aligned_blocks1004,30348 -_free_internal_nolock 1009,30477 -_free_internal 1255,38479 -free 1265,38606 -weak_alias 1277,38802 -#define min(1306,39817 -void *(*__realloc_hook)__realloc_hook1310,39902 -_realloc_internal_nolock 1319,40313 -_realloc_internal 1435,43567 -realloc 1447,43730 -calloc 1478,44899 -#define __sbrk 1513,46048 -extern void *__sbrk __sbrk1518,46253 -__default_morecore 1525,46517 -void *(*__memalign_hook)__memalign_hook1554,47463 -aligned_alloc 1557,47529 -memalign 1647,49711 -posix_memalign 1656,49916 -extern void *valloc valloc1695,51148 -extern int getpagesize 1700,51286 -static size_t pagesize;1703,51325 -valloc 1706,51357 -#undef malloc1715,51498 -#undef realloc1716,51512 -#undef calloc1717,51527 -#undef aligned_alloc1718,51541 -#undef free1719,51562 -extern void *malloc malloc1722,51617 -extern void *realloc realloc1723,51652 -extern void *calloc calloc1724,51699 -extern void free 1725,51748 -extern void *aligned_alloc aligned_alloc1727,51804 -extern int posix_memalign 1729,51898 -hybrid_malloc 1736,52091 -hybrid_calloc 1744,52196 -hybrid_free 1752,52327 -hybrid_aligned_alloc 1765,52634 -hybrid_realloc 1780,52990 -char *gget_current_dir_name gget_current_dir_name1808,53759 -hybrid_get_current_dir_name 1811,53803 -static void (*old_free_hook)old_free_hook1846,54928 -static void *(*old_malloc_hook)old_malloc_hook1847,54970 -static void *(*old_realloc_hook)old_realloc_hook1848,55017 -static void (*abortfunc)abortfunc1851,55131 -#define MAGICWORD 1854,55213 -#define MAGICFREE 1855,55268 -#define MAGICBYTE 1856,55323 -#define MALLOCFLOOD 1857,55355 -#define FREEFLOOD 1858,55389 -struct hdr1860,55422 -checkhdr 1867,55588 -freehook 1891,56029 -mallochook 1927,56811 -reallochook 1944,57150 -mabort 1978,57908 -static int mcheck_used 2012,58593 -mcheck 2015,58626 -mprobe 2035,59145 - -c-src/emacs/src/regex.h,4576 -#define _REGEX_H 21,837 -typedef unsigned long reg_syntax_t;43,1578 -#define RE_BACKSLASH_ESCAPE_IN_LISTS 47,1750 -#define RE_BK_PLUS_QM 52,1970 -#define RE_CHAR_CLASSES 58,2299 -#define RE_CONTEXT_INDEP_ANCHORS 72,3033 -#define RE_CONTEXT_INDEP_OPS 80,3459 -#define RE_CONTEXT_INVALID_OPS 84,3659 -#define RE_DOT_NEWLINE 88,3802 -#define RE_DOT_NOT_NULL 92,3938 -#define RE_HAT_LISTS_NOT_NEWLINE 96,4083 -#define RE_INTERVALS 101,4293 -#define RE_LIMITED_OPS 105,4442 -#define RE_NEWLINE_ALT 109,4584 -#define RE_NO_BK_BRACES 114,4774 -#define RE_NO_BK_PARENS 118,4965 -#define RE_NO_BK_REFS 122,5121 -#define RE_NO_BK_VBAR 126,5317 -#define RE_NO_EMPTY_RANGES 132,5611 -#define RE_UNMATCHED_RIGHT_PAREN_ORD 136,5767 -#define RE_NO_POSIX_BACKTRACKING 140,5938 -#define RE_NO_GNU_OPS 144,6134 -#define RE_FRUGAL 147,6254 -#define RE_SHY_GROUPS 150,6361 -#define RE_NO_NEWLINE_ANCHOR 153,6469 -#define RE_DEBUG 161,6885 -extern reg_syntax_t re_syntax_options;167,7171 -extern Lisp_Object re_match_object;172,7345 -extern size_t re_max_failures;176,7455 -#define RE_SYNTAX_EMACS 183,7685 -#define RE_SYNTAX_AWK 186,7781 -#define RE_SYNTAX_GNU_AWK 193,8085 -#define RE_SYNTAX_POSIX_AWK 197,8256 -#define RE_SYNTAX_GREP 201,8394 -#define RE_SYNTAX_EGREP 206,8550 -#define RE_SYNTAX_POSIX_EGREP 212,8766 -#define RE_SYNTAX_ED 216,8911 -#define RE_SYNTAX_SED 218,8955 -#define _RE_SYNTAX_POSIX_COMMON 221,9073 -#define RE_SYNTAX_POSIX_BASIC 225,9216 -#define RE_SYNTAX_POSIX_MINIMAL_BASIC 231,9509 -#define RE_SYNTAX_POSIX_EXTENDED 234,9599 -#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED 242,9968 -# undef RE_DUP_MAX253,10455 -#define RE_DUP_MAX 256,10541 -#define REG_EXTENDED 263,10763 -#define REG_ICASE 267,10887 -#define REG_NEWLINE 272,11071 -#define REG_NOSUB 276,11249 -#define REG_NOTBOL 286,11615 -#define REG_NOTEOL 289,11689 - REG_ENOSYS 297,11860 - REG_NOERROR 300,11942 - REG_NOMATCH,301,11977 - REG_BADPAT,305,12124 - REG_ECOLLATE,306,12163 - REG_ECTYPE,307,12204 - REG_EESCAPE,308,12256 - REG_ESUBREG,309,12299 - REG_EBRACK,310,12346 - REG_EPAREN,311,12392 - REG_EBRACE,312,12437 - REG_BADBR,313,12473 - REG_ERANGE,314,12520 - REG_ESPACE,315,12561 - REG_BADRPT,316,12602 - REG_EEND,319,12694 - REG_ESIZE,320,12729 - REG_ERPAREN,321,12791 - REG_ERANGEX 322,12860 -} reg_errcode_t;323,12912 -# define RE_TRANSLATE_TYPE 332,13274 -struct re_pattern_buffer335,13316 -#define REGS_UNALLOCATED 376,14890 -#define REGS_REALLOCATE 377,14917 -#define REGS_FIXED 378,14943 -typedef struct re_pattern_buffer regex_t;416,16099 -typedef ssize_t regoff_t;423,16493 -struct re_registers428,16653 -# define RE_NREGS 440,16943 -} regmatch_t;451,17318 -extern reg_syntax_t re_set_syntax 457,17513 -extern const char *re_compile_pattern re_compile_pattern462,17777 -extern int re_compile_fastmap 469,18059 -extern regoff_t re_search 477,18467 -extern regoff_t re_search_2 485,18782 -extern regoff_t re_match 495,19178 -extern regoff_t re_match_2 501,19408 -extern void re_set_registers 520,20198 -extern char *re_comp re_comp528,20470 -extern int re_exec 529,20507 -# define _Restrict_ 540,20887 -# define _Restrict_ 542,20980 -# define _Restrict_544,21019 -# define _Restrict_arr_ 555,21419 -# define _Restrict_arr_557,21462 -extern reg_errcode_t regcomp 562,21531 -extern reg_errcode_t regexec 566,21657 -extern size_t regerror 571,21851 -extern void regfree 574,21957 -# define CHAR_CLASS_MAX_LENGTH 593,22471 -# define CHAR_CLASS_MAX_LENGTH 597,22649 -typedef wctype_t re_wctype_t;599,22693 -typedef wchar_t re_wchar_t;600,22723 -# define re_wctype 601,22751 -# define re_iswctype 602,22777 -# define re_wctype_to_bit(603,22807 -# define CHAR_CLASS_MAX_LENGTH 605,22845 -# define btowc(606,22907 -typedef enum { RECC_ERROR 609,22954 - RECC_ALNUM,610,22985 - RECC_ALNUM, RECC_ALPHA,610,22985 - RECC_ALNUM, RECC_ALPHA, RECC_WORD,610,22985 - RECC_GRAPH,611,23028 - RECC_GRAPH, RECC_PRINT,611,23028 - RECC_LOWER,612,23060 - RECC_LOWER, RECC_UPPER,612,23060 - RECC_PUNCT,613,23092 - RECC_PUNCT, RECC_CNTRL,613,23092 - RECC_DIGIT,614,23124 - RECC_DIGIT, RECC_XDIGIT,614,23124 - RECC_BLANK,615,23157 - RECC_BLANK, RECC_SPACE,615,23157 - RECC_MULTIBYTE,616,23189 - RECC_MULTIBYTE, RECC_NONASCII,616,23189 - RECC_ASCII,617,23228 - RECC_ASCII, RECC_UNIBYTE617,23228 -} re_wctype_t;618,23261 -extern char re_iswctype 620,23277 -extern re_wctype_t re_wctype 621,23330 -typedef int re_wchar_t;623,23388 -extern void re_set_whitespace_regexp 625,23413 - -c-src/emacs/src/keyboard.c,17467 -volatile int interrupt_input_blocked;76,1809 -volatile bool pending_signals;80,1945 -#define KBD_BUFFER_SIZE 82,1977 -KBOARD *initial_kboard;initial_kboard84,2007 -KBOARD *current_kboard;current_kboard85,2031 -static KBOARD *all_kboards;all_kboards86,2055 -static bool single_kboard;89,2155 -#define NUM_RECENT_KEYS 91,2183 -static int recent_keys_index;94,2270 -static int total_keys;97,2358 -static Lisp_Object recent_keys;100,2444 -Lisp_Object this_command_keys;107,2778 -ptrdiff_t this_command_key_count;108,2809 -static bool this_command_key_count_reset;112,2923 -static Lisp_Object raw_keybuf;116,3075 -static int raw_keybuf_count;117,3106 -#define GROW_RAW_KEYBUF 119,3136 -static ptrdiff_t this_single_command_key_start;125,3351 -static ptrdiff_t before_command_key_count;129,3499 -static ptrdiff_t before_command_echo_length;130,3542 -sigjmp_buf return_to_command_loop;135,3678 -static Lisp_Object recover_top_level_message;138,3792 -static Lisp_Object regular_top_level_message;143,3931 -static sys_jmp_buf getcjmp;147,4032 -bool waiting_for_input;150,4096 -static bool echoing;154,4187 -static struct kboard *ok_to_echo_at_next_pause;ok_to_echo_at_next_pause159,4329 -struct kboard *echo_kboard;echo_kboard166,4633 -Lisp_Object echo_message_buffer;171,4745 -bool immediate_quit;174,4838 -int quit_char;192,5624 -EMACS_INT command_loop_level;195,5681 -Lisp_Object unread_switch_frame;204,6109 -static ptrdiff_t last_non_minibuf_size;207,6217 -uintmax_t num_input_events;210,6335 -static EMACS_INT last_auto_save;214,6429 -static ptrdiff_t last_point_position;217,6524 -Lisp_Object internal_last_event_frame;228,7029 -static Lisp_Object read_key_sequence_cmd;232,7169 -static Lisp_Object read_key_sequence_remapped;233,7211 -static FILE *dribble;dribble236,7311 -bool input_pending;239,7369 -static bool input_was_pending;287,10023 -static struct input_event kbd_buffer[kbd_buffer291,10108 -static struct input_event *kbd_fetch_ptr;kbd_fetch_ptr297,10387 -static struct input_event * volatile kbd_store_ptr;302,10602 -static void recursive_edit_unwind 313,11089 -static Lisp_Object command_loop 314,11145 -static void echo_now 316,11186 -static ptrdiff_t echo_length 317,11215 -unsigned timers_run;320,11297 -struct timespec *input_available_clear_time;input_available_clear_time324,11409 -bool interrupt_input;328,11574 -bool interrupts_deferred;331,11672 -static struct timespec timer_idleness_start_time;335,11747 -static struct timespec timer_last_idleness_start_time;340,11917 -#define READABLE_EVENTS_DO_TIMERS_NOW 346,12047 -#define READABLE_EVENTS_FILTER_EVENTS 347,12095 -#define READABLE_EVENTS_IGNORE_SQUEEZABLES 348,12143 -static void (*keyboard_init_hook)keyboard_init_hook351,12265 -static bool get_input_pending 353,12308 -static bool readable_events 354,12345 -static Lisp_Object read_char_x_menu_prompt 355,12380 -static Lisp_Object read_char_minibuf_menu_prompt 357,12503 -static Lisp_Object make_lispy_event 358,12572 -static Lisp_Object make_lispy_movement 359,12632 -static Lisp_Object modify_event_symbol 363,12841 -static Lisp_Object make_lispy_switch_frame 366,13051 -static Lisp_Object make_lispy_focus_in 367,13109 -static Lisp_Object make_lispy_focus_out 369,13189 -static bool help_char_p 371,13276 -static void save_getcjmp 372,13315 -static void restore_getcjmp 373,13355 -static Lisp_Object apply_modifiers 374,13398 -static void clear_event 375,13453 -static void restore_kboard_configuration 376,13501 -static void deliver_input_available_signal 378,13569 -static void handle_interrupt 380,13632 -static _Noreturn void quit_throw_to_read_char 381,13669 -static void process_special_events 382,13723 -static void timer_start_idle 383,13766 -static void timer_stop_idle 384,13803 -static void timer_resume_idle 385,13839 -static void deliver_user_signal 386,13877 -static char *find_user_signal_name find_user_signal_name387,13916 -static void store_user_signal_events 388,13958 -kset_echo_string 392,14089 -kset_kbd_queue 397,14185 -kset_keyboard_translate_table 402,14277 -kset_last_prefix_arg 407,14400 -kset_last_repeatable_command 412,14505 -kset_local_function_key_map 417,14626 -kset_overriding_terminal_local_map 422,14745 -kset_real_last_command 427,14878 -kset_system_key_syms 432,14987 -echo_add_key 443,15250 -echo_char 527,17528 -echo_dash 541,17814 -echo_now 586,19141 -cancel_echoing 635,20615 -echo_length 648,20923 -echo_truncate 660,21254 -add_command_key 672,21583 -recursive_edit_1 697,22407 -record_auto_save 742,23849 -force_auto_save_soon 751,24017 -DEFUN ("recursive-edit", Frecursive_edit,759,24138 -DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138 -recursive_edit_unwind 804,25751 -any_kboard_state 817,26017 -single_kboard_state 838,26669 -not_single_kboard_state 848,26807 -struct kboard_stack858,27069 -static struct kboard_stack *kboard_stack;kboard_stack864,27142 -push_kboard 867,27190 -pop_kboard 879,27379 -temporarily_switch_to_single_kboard 914,28267 -record_single_kboard_state 943,29441 -restore_kboard_configuration 952,29625 -cmd_error 970,30081 -cmd_error_internal 1024,31514 -DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32034 -DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32034 -static Lisp_Object command_loop_2 1086,33641 -static Lisp_Object top_level_1 1087,33690 -command_loop 1094,33920 -command_loop_2 1134,35139 -top_level_2 1146,35343 -top_level_1 1152,35421 -DEFUN ("top-level", Ftop_level,1164,35791 -DEFUN ("top-level", Ftop_level,top-level1164,35791 -user_error 1183,36292 -DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36433 -DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36433 -DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36823 -DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36823 -tracking_off 1216,37285 -DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37820 -DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37820 -bool ignore_mouse_drag_p;1256,38396 -some_mouse_moved 1259,38445 -static int read_key_sequence 1282,38803 -static void adjust_point_for_property 1284,38921 -Lisp_Object last_undo_boundary;1287,39036 -command_loop_1 1294,39277 -read_menu_command 1649,50893 -adjust_point_for_property 1678,51621 -safe_run_hooks_1 1831,57343 -safe_run_hooks_error 1841,57573 -safe_run_hook_funcall 1878,58580 -safe_run_hooks 1893,59062 -int poll_suppress_count;1908,59401 -static struct atimer *poll_timer;poll_timer1915,59491 -poll_for_input_1 1919,59593 -poll_for_input 1930,59793 -start_polling 1942,60057 -input_polling_used 1979,61095 -stop_polling 1994,61394 -set_poll_suppress_count 2009,61763 -bind_polling_period 2029,62145 -make_ctrl_char 2048,62496 -show_help_echo 2113,64459 -static Lisp_Object kbd_buffer_get_event 2152,65488 -static void record_char 2154,65600 -static Lisp_Object help_form_saved_window_configs;2156,65642 -read_char_help_form_unwind 2158,65705 -#define STOP_POLLING 2166,65963 -#define RESUME_POLLING 2170,66088 -read_event_from_main_queue 2175,66233 -read_decoded_event_from_main_queue 2249,68421 -#define MAX_ENCODED_BYTES 2254,68668 -echo_keystrokes_p 2342,71560 -read_char 2376,72852 -record_menu_key 3225,98953 -help_char_p 3258,99678 -record_char 3273,99957 -save_getcjmp 3412,104239 -restore_getcjmp 3418,104330 -readable_events 3430,104701 -int stop_character EXTERNALLY_VISIBLE;3497,106441 -event_to_kboard 3500,106497 -kbd_buffer_nr_stored 3522,107146 -kbd_buffer_store_event 3534,107487 -kbd_buffer_store_event_hold 3550,108029 -kbd_buffer_unget_event 3684,111621 -#define INPUT_EVENT_POS_MAX 3698,112022 -#define INPUT_EVENT_POS_MIN 3701,112151 -position_to_Time 3706,112291 -Time_to_position 3716,112518 -gen_help_event 3738,113175 -kbd_buffer_store_help_event 3756,113615 -discard_mouse_events 3773,113980 -kbd_buffer_events_waiting 3803,114715 -clear_event 3823,115072 -kbd_buffer_get_event 3836,115412 -process_special_events 4258,127885 -swallow_events 4322,129709 -timer_start_idle 4339,130102 -timer_stop_idle 4355,130580 -timer_resume_idle 4363,130724 -struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130916 -Lisp_Object pending_funcalls;4377,131176 -decode_timer 4381,131297 -timer_check_2 4414,132250 -timer_check 4572,136821 -DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137666 -DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137666 -static Lisp_Object accent_key_syms;4625,138243 -static Lisp_Object func_key_syms;4626,138279 -static Lisp_Object mouse_syms;4627,138313 -static Lisp_Object wheel_syms;4628,138344 -static Lisp_Object drag_n_drop_syms;4629,138375 -static const int lispy_accent_codes[lispy_accent_codes4634,138520 -static const char *const lispy_accent_keys[lispy_accent_keys4741,139882 -#define FUNCTION_KEY_OFFSET 4766,140318 -const char *const lispy_function_keys[lispy_function_keys4768,140351 -static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148905 -static const char *const lispy_kana_keys[lispy_kana_keys5026,150139 -#define FUNCTION_KEY_OFFSET 5061,151755 -static const char *const lispy_function_keys[lispy_function_keys5065,151898 -#define ISO_FUNCTION_KEY_OFFSET 5149,154433 -static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154473 -static Lisp_Object Vlispy_mouse_stem;5172,155332 -static const char *const lispy_wheel_names[lispy_wheel_names5174,155371 -static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155623 -static short const scroll_bar_parts[scroll_bar_parts5189,155889 -static Lisp_Object button_down_location;5210,156914 -static int last_mouse_button;5215,157069 -static int last_mouse_x;5216,157099 -static int last_mouse_y;5217,157124 -static Time button_down_time;5218,157149 -static int double_click_count;5222,157233 -make_lispy_position 5228,157394 -toolkit_menubar_in_use 5456,163957 -make_scroll_bar_position 5469,164325 -make_lispy_event 5485,164971 -make_lispy_movement 6104,183534 -make_lispy_switch_frame 6131,184265 -make_lispy_focus_in 6137,184372 -make_lispy_focus_out 6145,184498 -parse_modifiers_uncached 6163,184948 -#define SINGLE_LETTER_MOD(6185,185468 -#undef SINGLE_LETTER_MOD6212,185909 -#define MULTI_LETTER_MOD(6214,185935 -#undef MULTI_LETTER_MOD6231,186403 -apply_modifiers_uncached 6273,187577 -static const char *const modifier_names[modifier_names6319,189196 -#define NUM_MOD_NAMES 6325,189402 -static Lisp_Object modifier_symbols;6327,189452 -lispy_modifier_list 6331,189589 -#define KEY_TO_CHAR(6353,190255 -parse_modifiers 6356,190331 -DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191520 -DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191520 -apply_modifiers 6422,192394 -reorder_modifiers 6491,194723 -modify_event_symbol 6536,196531 -DEFUN ("event-convert-list", Fevent_convert_list,6628,199247 -DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199247 -parse_solitary_modifier 6695,201138 -#define SINGLE_LETTER_MOD(6701,201261 -#define MULTI_LETTER_MOD(6705,201346 -#undef SINGLE_LETTER_MOD6763,202644 -#undef MULTI_LETTER_MOD6764,202669 -lucid_event_type_list_p 6775,202892 -get_input_pending 6814,203963 -record_asynch_buffer_change 6834,204582 -gobble_input 6872,205705 -tty_read_avail_input 6967,208313 -handle_async_input 7149,214042 -process_pending_signals 7165,214362 -unblock_input_to 7177,214648 -unblock_input 7200,215280 -totally_unblock_input 7209,215448 -handle_input_available_signal 7217,215532 -deliver_input_available_signal 7226,215703 -struct user_signal_info7235,215868 -static struct user_signal_info *user_signals user_signals7250,216093 -add_user_signal 7253,216152 -handle_user_signal 7275,216601 -deliver_user_signal 7316,217561 -find_user_signal_name 7322,217662 -store_user_signal_events 7334,217844 -static void menu_bar_item 7362,218344 -static Lisp_Object menu_bar_one_keymap_changed_items;7363,218419 -static Lisp_Object menu_bar_items_vector;7368,218633 -static int menu_bar_items_index;7369,218675 -static const char *separator_names[separator_names7372,218710 -menu_separator_name_p 7393,219151 -menu_bar_items 7426,219855 -Lisp_Object item_properties;7568,224606 -menu_bar_item 7571,224648 -menu_item_eval_property_1 7647,227178 -eval_dyn 7658,227468 -menu_item_eval_property 7666,227678 -parse_menu_item 7686,228344 -static Lisp_Object tool_bar_items_vector;7965,236339 -static Lisp_Object tool_bar_item_properties;7970,236513 -static int ntool_bar_items;7974,236609 -static void init_tool_bar_items 7978,236667 -static void process_tool_bar_item 7979,236714 -static bool parse_tool_bar_item 7981,236804 -static void append_tool_bar_item 7982,236864 -tool_bar_items 7990,237086 -process_tool_bar_item 8075,239895 -#define PROP(8112,240972 -set_prop 8114,241041 -parse_tool_bar_item 8167,242456 -#undef PROP8379,248847 -init_tool_bar_items 8387,248972 -append_tool_bar_item 8401,249264 -read_char_x_menu_prompt 8443,250774 -read_char_minibuf_menu_prompt 8503,252448 -#define PUSH_C_STR(8527,253017 -follow_key 8726,258556 -active_maps 8733,258698 -typedef struct keyremap8742,259024 -} keyremap;8754,259467 -access_keymap_keyremap 8764,259811 -keyremap_step 8811,261453 -test_undefined 8867,262937 -read_key_sequence 8916,264864 -read_key_sequence_vs 9826,295824 -DEFUN ("read-key-sequence", Fread_key_sequence,9885,297297 -DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297297 -DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299985 -DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299985 -detect_input_pending 9950,300491 -detect_input_pending_ignore_squeezables 9959,300657 -detect_input_pending_run_timers 9967,300873 -clear_input_pending 9985,301365 -requeued_events_pending_p 9997,301735 -DEFUN ("input-pending-p", Finput_pending_p,10002,301816 -DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301816 -DEFUN ("recent-keys", Frecent_keys,10024,302599 -DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302599 -DEFUN ("this-command-keys", Fthis_command_keys,10055,303520 -DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303520 -DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303961 -DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303961 -DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304383 -DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304383 -DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304958 -DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304958 -DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305498 -DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305498 -DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306513 -DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306513 -DEFUN ("recursion-depth", Frecursion_depth,10158,307072 -DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307072 -DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307409 -DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307409 -DEFUN ("discard-input", Fdiscard_input,10203,308450 -DEFUN ("discard-input", Fdiscard_input,discard-input10203,308450 -DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308952 -DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308952 -stuff_buffered_input 10285,311048 -set_waiting_for_input 10323,312019 -clear_waiting_for_input 10337,312393 -handle_interrupt_signal 10351,312757 -deliver_interrupt_signal 10378,313645 -static int volatile force_quit_count;10387,313935 -handle_interrupt 10401,314417 -quit_throw_to_read_char 10541,318714 -DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319291 -DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319291 -DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320519 -DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320519 -DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321435 -DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321435 -DEFUN ("set-quit-char", Fset_quit_char,10694,322709 -DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322709 -DEFUN ("set-input-mode", Fset_input_mode,10729,323573 -DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323573 -DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324462 -DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324462 -DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325840 -DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325840 -DEFUN ("posn-at-point", Fposn_at_point,10824,327063 -DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327063 -init_kboard 10861,328217 -allocate_kboard 10893,329287 -wipe_kboard 10909,329640 -delete_kboard 10917,329754 -init_keyboard 10942,330284 -struct event_head11021,332699 -static const struct event_head head_table[head_table11027,332750 -syms_of_keyboard 11045,333580 -keys_of_keyboard 11841,367118 -mark_kboards 11916,370437 - -c-src/emacs/src/lisp.h,33840 -#define EMACS_LISP_H22,801 -#define DECLARE_GDB_SYM(47,1422 -# define DEFINE_GDB_SYMBOL_BEGIN(49,1509 -# define DEFINE_GDB_SYMBOL_END(50,1579 -# define DEFINE_GDB_SYMBOL_BEGIN(52,1626 -# define DEFINE_GDB_SYMBOL_END(53,1703 -#undef min57,1791 -#undef max58,1802 -#define max(59,1813 -#define min(60,1855 -#define ARRAYELTS(63,1937 -#define GCTYPEBITS 67,2080 -DEFINE_GDB_SYMBOL_BEGIN GCTYPEBITS66,2038 -# define NONPOINTER_BITS 78,2568 -# define NONPOINTER_BITS 80,2601 -typedef int EMACS_INT;91,3024 -typedef unsigned int EMACS_UINT;92,3047 -# define EMACS_INT_MAX 93,3080 -# define pI 94,3112 -typedef long int EMACS_INT;96,3204 -typedef unsigned long EMACS_UINT;97,3232 -# define EMACS_INT_MAX 98,3266 -# define pI 99,3299 -typedef long long int EMACS_INT;103,3478 -typedef unsigned long long int EMACS_UINT;104,3511 -# define EMACS_INT_MAX 105,3554 -# define pI 106,3588 -enum { BOOL_VECTOR_BITS_PER_CHAR 114,3805 -#define BOOL_VECTOR_BITS_PER_CHAR 115,3841 -typedef size_t bits_word;123,4166 -# define BITS_WORD_MAX 124,4192 -enum { BITS_PER_BITS_WORD 125,4224 -typedef unsigned char bits_word;127,4291 -# define BITS_WORD_MAX 128,4324 -enum { BITS_PER_BITS_WORD 129,4387 -verify 131,4451 - BITS_PER_CHAR 136,4571 - BITS_PER_SHORT 137,4606 - BITS_PER_LONG 138,4658 - BITS_PER_EMACS_INT 139,4713 -typedef intmax_t printmax_t;148,5090 -typedef uintmax_t uprintmax_t;149,5119 -# define pMd 150,5150 -# define pMu 151,5171 -typedef EMACS_INT printmax_t;153,5198 -typedef EMACS_UINT uprintmax_t;154,5228 -# define pMd 155,5260 -# define pMu 156,5279 -# define pD 165,5665 -# define pD 167,5710 -# define pD 169,5757 -# define pD 171,5780 -# define eassert(200,7063 -# define eassume(201,7141 -extern _Noreturn void die 204,7207 -extern bool suppress_checking EXTERNALLY_VISIBLE;206,7269 -# define eassert(208,7320 -# define eassume(212,7451 -enum Lisp_Bits239,8520 -#define GCALIGNMENT 243,8648 - VALBITS 246,8743 - INTTYPEBITS 249,8839 - FIXNUM_BITS 252,8946 -#define VAL_MAX 263,9328 -#define USE_LSB_TAG 271,9778 -DEFINE_GDB_SYMBOL_BEGIN USE_LSB_TAG270,9734 -# define alignas(281,10078 -# define GCALIGNED 288,10228 -# define GCALIGNED 290,10293 -# define lisp_h_XLI(327,11643 -# define lisp_h_XIL(328,11674 -# define lisp_h_XLI(330,11725 -# define lisp_h_XIL(331,11752 -#define lisp_h_CHECK_LIST_CONS(333,11786 -#define lisp_h_CHECK_NUMBER(334,11857 -#define lisp_h_CHECK_SYMBOL(335,11928 -#define lisp_h_CHECK_TYPE(336,11997 -#define lisp_h_CONSP(338,12108 -#define lisp_h_EQ(339,12157 -#define lisp_h_FLOATP(340,12202 -#define lisp_h_INTEGERP(341,12253 -#define lisp_h_MARKERP(342,12334 -#define lisp_h_MISCP(343,12409 -#define lisp_h_NILP(344,12458 -#define lisp_h_SET_SYMBOL_VAL(345,12494 -#define lisp_h_SYMBOL_CONSTANT_P(347,12608 -#define lisp_h_SYMBOL_VAL(348,12672 -#define lisp_h_SYMBOLP(350,12773 -#define lisp_h_VECTORLIKEP(351,12826 -#define lisp_h_XCAR(352,12887 -#define lisp_h_XCDR(353,12925 -#define lisp_h_XCONS(354,12965 -#define lisp_h_XHASH(356,13060 -#define lisp_h_XPNTR(357,13094 -# define lisp_h_check_cons_list(360,13222 -# define lisp_h_make_number(363,13290 -# define lisp_h_XFASTINT(365,13393 -# define lisp_h_XINT(366,13430 -# define lisp_h_XSYMBOL(367,13479 -# define lisp_h_XTYPE(371,13632 -# define lisp_h_XUNTAG(372,13697 -# define XLI(381,14087 -# define XIL(382,14118 -# define CHECK_LIST_CONS(383,14149 -# define CHECK_NUMBER(384,14210 -# define CHECK_SYMBOL(385,14259 -# define CHECK_TYPE(386,14308 -# define CONSP(387,14383 -# define EQ(388,14418 -# define FLOATP(389,14453 -# define INTEGERP(390,14490 -# define MARKERP(391,14531 -# define MISCP(392,14570 -# define NILP(393,14605 -# define SET_SYMBOL_VAL(394,14638 -# define SYMBOL_CONSTANT_P(395,14701 -# define SYMBOL_VAL(396,14764 -# define SYMBOLP(397,14813 -# define VECTORLIKEP(398,14852 -# define XCAR(399,14899 -# define XCDR(400,14932 -# define XCONS(401,14965 -# define XHASH(402,15000 -# define XPNTR(403,15035 -# define check_cons_list(405,15098 -# define make_number(408,15177 -# define XFASTINT(409,15225 -# define XINT(410,15267 -# define XSYMBOL(411,15301 -# define XTYPE(412,15341 -# define XUNTAG(413,15377 -#define LISP_MACRO_DEFUN(421,15673 -#define LISP_MACRO_DEFUN_VOID(425,15846 -#define INTMASK 437,16290 -#define case_Lisp_Int 438,16343 -#define ENUM_BF(445,16682 -#define ENUM_BF(447,16723 -enum Lisp_Type451,16764 - Lisp_Symbol 454,16852 - Lisp_Misc 458,16994 - Lisp_Int0 461,17068 - Lisp_Int1 462,17087 - Lisp_String 466,17265 - Lisp_Vectorlike 472,17544 - Lisp_Cons 475,17633 - Lisp_Float 477,17671 -enum Lisp_Misc_Type485,18017 - Lisp_Misc_Free 487,18041 - Lisp_Misc_Marker,488,18070 - Lisp_Misc_Overlay,489,18092 - Lisp_Misc_Save_Value,490,18115 - Lisp_Misc_Finalizer,491,18141 - Lisp_Misc_Float,494,18276 - Lisp_Misc_Limit496,18360 -enum Lisp_Fwd_Type502,18544 - Lisp_Fwd_Int,504,18567 - Lisp_Fwd_Bool,505,18620 - Lisp_Fwd_Obj,506,18671 - Lisp_Fwd_Buffer_Obj,507,18730 - Lisp_Fwd_Kboard_Obj 508,18801 -typedef struct { EMACS_INT i; } Lisp_Object;567,21772 -#define LISP_INITIALLY(569,21818 -#undef CHECK_LISP_OBJECT_TYPE571,21849 -enum CHECK_LISP_OBJECT_TYPE 572,21879 -enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE 572,21879 -typedef EMACS_INT Lisp_Object;577,22055 -#define LISP_INITIALLY(578,22086 -enum CHECK_LISP_OBJECT_TYPE 579,22116 -enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE 579,22116 -#define LISP_INITIALLY_ZERO 582,22217 -INLINE bool BOOL_VECTOR_P 588,22341 -INLINE bool BUFFER_OBJFWDP 589,22382 -INLINE bool BUFFERP 590,22429 -INLINE bool CHAR_TABLE_P 591,22464 -INLINE Lisp_Object CHAR_TABLE_REF_ASCII 592,22504 -INLINE bool 593,22570 -INLINE bool 594,22605 -INLINE bool functionp 595,22641 -INLINE bool 596,22678 -INLINE bool 597,22716 -INLINE bool 598,22753 -INLINE bool 599,22788 -INLINE bool OVERLAYP 600,22822 -INLINE bool PROCESSP 601,22858 -INLINE bool PSEUDOVECTORP 602,22894 -INLINE bool SAVE_VALUEP 603,22940 -INLINE bool FINALIZERP 604,22979 -INLINE void set_sub_char_table_contents 605,23017 -INLINE bool STRINGP 607,23107 -INLINE bool SUB_CHAR_TABLE_P 608,23142 -INLINE bool SUBRP 609,23186 -INLINE bool 610,23219 -INLINE bool 611,23256 -INLINE bool WINDOWP 612,23297 -INLINE bool TERMINALP 613,23332 -INLINE struct Lisp_Save_Value *XSAVE_VALUE XSAVE_VALUE614,23369 -INLINE struct Lisp_Finalizer *XFINALIZER XFINALIZER615,23427 -INLINE struct Lisp_Symbol *(XSYMBOL)616,23483 -INLINE void 617,23535 -extern Lisp_Object char_table_ref 620,23607 -extern void char_table_set 621,23661 -extern _Noreturn Lisp_Object wrong_type_argument 624,23748 -extern _Noreturn void wrong_choice 625,23825 -extern bool might_dump;628,23916 -extern bool initialized;631,24052 -extern double extract_float 634,24108 -enum symbol_interned639,24190 - SYMBOL_UNINTERNED 641,24213 - SYMBOL_INTERNED 642,24238 - SYMBOL_INTERNED_IN_INITIAL_OBARRAY 643,24261 -enum symbol_redirect646,24306 - SYMBOL_PLAINVAL 648,24329 - SYMBOL_VARALIAS 649,24353 - SYMBOL_LOCALIZED 650,24377 - SYMBOL_FORWARDED 651,24401 -struct Lisp_Symbol654,24428 -#define EXFUN(707,26243 -#define DEFUN_ARGS_MANY 712,26437 -#define DEFUN_ARGS_UNEVALLED 713,26489 -#define DEFUN_ARGS_0 714,26532 -#define DEFUN_ARGS_1 715,26560 -#define DEFUN_ARGS_2 716,26595 -#define DEFUN_ARGS_3 717,26643 -#define DEFUN_ARGS_4 718,26704 -#define DEFUN_ARGS_5 719,26778 -#define DEFUN_ARGS_6 721,26871 -#define DEFUN_ARGS_7 723,26977 -#define DEFUN_ARGS_8 725,27096 -#define TAG_PTR(729,27287 -#define TAG_SYMOFFSET(734,27534 -#define XLI_BUILTIN_LISPSYM(741,27833 -#define DEFINE_LISP_SYMBOL(746,28092 -# define DEFINE_NON_NIL_Q_SYMBOL_MACROS 755,28563 -LISP_MACRO_DEFUN 762,28768 -# define ARRAY_MARK_FLAG 768,29015 -# define PSEUDOVECTOR_FLAG 774,29258 -enum pvec_type780,29559 - PVEC_NORMAL_VECTOR,782,29576 - PVEC_FREE,783,29598 - PVEC_PROCESS,784,29611 - PVEC_FRAME,785,29627 - PVEC_WINDOW,786,29641 - PVEC_BOOL_VECTOR,787,29656 - PVEC_BUFFER,788,29676 - PVEC_HASH_TABLE,789,29691 - PVEC_TERMINAL,790,29710 - PVEC_WINDOW_CONFIGURATION,791,29727 - PVEC_SUBR,792,29756 - PVEC_OTHER,793,29769 - PVEC_COMPILED,795,29847 - PVEC_CHAR_TABLE,796,29864 - PVEC_SUB_CHAR_TABLE,797,29883 - PVEC_FONT 798,29906 -enum More_Lisp_Bits801,29982 - PSEUDOVECTOR_SIZE_BITS 808,30373 - PSEUDOVECTOR_SIZE_MASK 809,30406 - PSEUDOVECTOR_REST_BITS 813,30616 - PSEUDOVECTOR_REST_MASK 814,30649 - PSEUDOVECTOR_AREA_BITS 818,30814 - PVEC_TYPE_MASK 819,30892 -# define VALMASK 829,31293 -DEFINE_GDB_SYMBOL_BEGIN VALMASK828,31248 -#define MOST_POSITIVE_FIXNUM 834,31523 -#define MOST_NEGATIVE_FIXNUM 835,31583 -XINT 874,32675 -XFASTINT 889,33026 -XSYMBOL 899,33254 -XTYPE 910,33472 -XUNTAG 918,33652 -LISP_MACRO_DEFUN 927,33848 -LISP_MACRO_DEFUN 940,34233 -#define FIXNUM_OVERFLOW_P(958,34846 -LISP_MACRO_DEFUN FIXNUM_OVERFLOW_P952,34623 -LISP_MACRO_DEFUN 970,35162 -XSTRING 980,35382 -#define SYMBOL_INDEX(988,35566 -XFLOAT 991,35627 -XPROCESS 1000,35769 -XWINDOW 1007,35886 -XTERMINAL 1014,36003 -XSUBR 1021,36125 -XBUFFER 1028,36236 -XCHAR_TABLE 1035,36360 -XSUB_CHAR_TABLE 1042,36497 -XBOOL_VECTOR 1049,36639 -make_lisp_ptr 1058,36818 -make_lisp_symbol 1066,37004 -builtin_lisp_symbol 1074,37188 -#define XSETINT(1079,37270 -#define XSETFASTINT(1080,37316 -#define XSETCONS(1081,37366 -#define XSETVECTOR(1082,37426 -#define XSETSTRING(1083,37494 -#define XSETSYMBOL(1084,37558 -#define XSETFLOAT(1085,37612 -#define XSETMISC(1086,37674 -#define XSETPVECTYPE(1090,37763 -#define XSETPVECTYPESIZE(1092,37879 -#define XSETPSEUDOVECTOR(1099,38176 -#define XSETTYPED_PSEUDOVECTOR(1105,38360 -#define XSETWINDOW_CONFIGURATION(1110,38570 -#define XSETPROCESS(1112,38666 -#define XSETWINDOW(1113,38732 -#define XSETTERMINAL(1114,38796 -#define XSETSUBR(1115,38864 -#define XSETCOMPILED(1116,38924 -#define XSETBUFFER(1117,38992 -#define XSETCHAR_TABLE(1118,39056 -#define XSETBOOL_VECTOR(1119,39128 -#define XSETSUB_CHAR_TABLE(1120,39202 -XINTPTR 1128,39572 -make_pointer_integer 1134,39652 -LISP_MACRO_DEFUN_VOID 1143,39817 -typedef struct interval *INTERVAL;INTERVAL1149,39978 -xcar_addr 1174,40751 -xcdr_addr 1179,40828 -LISP_MACRO_DEFUN 1185,40922 -XSETCDR 1198,41298 -CAR 1205,41448 -CDR 1212,41582 -CAR_SAFE 1221,41782 -CDR_SAFE 1226,41868 -STRING_MULTIBYTE 1243,42241 -#define STRING_BYTES_BOUND 1261,43048 -#define STRING_SET_UNIBYTE(1265,43192 -#define STRING_SET_MULTIBYTE(1275,43507 -SDATA 1286,43821 -SSDATA 1291,43899 -SREF 1297,44028 -SSET 1302,44119 -SCHARS 1307,44233 -extern ptrdiff_t string_bytes 1313,44328 -STRING_BYTES 1316,44406 -SBYTES 1326,44586 -STRING_SET_CHARS 1331,44672 -struct vectorlike_header1343,45223 -struct Lisp_Vector1369,46473 - ALIGNOF_STRUCT_LISP_VECTOR1378,46672 -struct Lisp_Bool_Vector1384,46855 -bool_vector_size 1399,47376 -bool_vector_data 1407,47514 -bool_vector_uchar_data 1413,47608 -bool_vector_words 1421,47794 -bool_vector_bytes 1428,47989 -bool_vector_bitref 1437,48229 -bool_vector_ref 1445,48469 -bool_vector_set 1453,48609 - header_size 1471,49038 - bool_header_size 1472,49097 - word_size 1473,49162 -AREF 1479,49275 -aref_addr 1485,49382 -ASIZE 1491,49492 -ASET 1497,49574 -gc_aset 1504,49733 -enum { NIL_IS_ZERO 1515,50260 -memclear 1520,50455 -#define VECSIZE(1531,50753 -#define PSEUDOVECSIZE(1538,51038 -#define UNSIGNED_CMP(1546,51471 -#define ASCII_CHAR_P(1552,51725 -enum CHARTAB_SIZE_BITS1565,52480 - CHARTAB_SIZE_BITS_0 1567,52507 - CHARTAB_SIZE_BITS_1 1568,52536 - CHARTAB_SIZE_BITS_2 1569,52565 - CHARTAB_SIZE_BITS_3 1570,52594 -extern const int chartab_size[chartab_size1573,52628 -struct Lisp_Char_Table1575,52663 -struct Lisp_Sub_Char_Table1606,53743 -CHAR_TABLE_REF_ASCII 1628,54557 -CHAR_TABLE_REF 1648,55104 -CHAR_TABLE_SET 1658,55393 -struct Lisp_Subr1670,55777 -enum char_table_specials1692,56789 - CHAR_TABLE_STANDARD_SLOTS 1697,56984 - SUB_CHAR_TABLE_OFFSET 1701,57205 -CHAR_TABLE_EXTRA_SLOTS 1707,57368 -verify 1714,57587 -LISP_MACRO_DEFUN 1723,57912 -SYMBOL_BLV 1732,58172 -SYMBOL_FWD 1738,58307 -LISP_MACRO_DEFUN_VOID 1744,58419 -SET_SYMBOL_BLV 1754,58682 -SET_SYMBOL_FWD 1760,58841 -SYMBOL_NAME 1767,58992 -SYMBOL_INTERNED_P 1775,59121 -SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P 1783,59290 -#define DEFSYM(1796,59800 -LISP_MACRO_DEFUN DEFSYM1792,59621 -struct hash_table_test1805,60053 -struct Lisp_Hash_Table1823,60546 -XHASH_TABLE 1880,62522 -#define XSET_HASH_TABLE(1885,62593 -HASH_TABLE_P 1889,62694 -HASH_KEY 1896,62851 -HASH_VALUE 1903,63031 -HASH_NEXT 1911,63245 -HASH_HASH 1918,63422 -HASH_INDEX 1926,63668 -HASH_TABLE_SIZE 1933,63817 -enum DEFAULT_HASH_SIZE 1940,63947 -enum DEFAULT_HASH_SIZE { DEFAULT_HASH_SIZE 1940,63947 -static double const DEFAULT_REHASH_THRESHOLD 1946,64167 -static double const DEFAULT_REHASH_SIZE 1950,64290 -sxhash_combine 1956,64456 -SXHASH_REDUCE 1964,64639 -struct Lisp_Misc_Any 1971,64797 -struct Lisp_Marker1978,64971 -struct Lisp_Overlay2021,66832 - SAVE_UNUSED,2047,67635 - SAVE_INTEGER,2048,67652 - SAVE_FUNCPOINTER,2049,67670 - SAVE_POINTER,2050,67692 - SAVE_OBJECT2051,67710 -enum { SAVE_SLOT_BITS 2055,67795 -enum { SAVE_VALUE_SLOTS 2058,67892 -enum { SAVE_TYPE_BITS 2062,68000 -enum Lisp_Save_Type2064,68066 - SAVE_TYPE_INT_INT 2066,68090 - SAVE_TYPE_INT_INT_INT2067,68163 - SAVE_TYPE_OBJ_OBJ 2069,68253 - SAVE_TYPE_OBJ_OBJ_OBJ 2070,68324 - SAVE_TYPE_OBJ_OBJ_OBJ_OBJ2071,68405 - SAVE_TYPE_PTR_INT 2073,68500 - SAVE_TYPE_PTR_OBJ 2074,68573 - SAVE_TYPE_PTR_PTR 2075,68645 - SAVE_TYPE_FUNCPTR_PTR_OBJ2076,68718 - SAVE_TYPE_MEMORY 2080,68876 -typedef void (*voidfuncptr)voidfuncptr2108,69830 -struct Lisp_Save_Value2110,69867 -save_type 2134,70746 -XSAVE_POINTER 2143,70976 -set_save_pointer 2149,71138 -XSAVE_FUNCPOINTER 2155,71320 -XSAVE_INTEGER 2164,71540 -set_save_integer 2170,71702 -XSAVE_OBJECT 2179,71923 -struct Lisp_Finalizer2186,72100 -struct Lisp_Free2201,72575 -union Lisp_Misc2212,72876 -XMISC 2223,73175 -XMISCANY 2229,73264 -XMISCTYPE 2236,73373 -XMARKER 2242,73461 -XOVERLAY 2249,73576 -XSAVE_VALUE 2256,73697 -XFINALIZER 2263,73826 -struct Lisp_Intfwd2274,74111 -struct Lisp_Boolfwd2284,74405 -struct Lisp_Objfwd2294,74696 -struct Lisp_Buffer_Objfwd2302,74928 -struct Lisp_Buffer_Local_Value2334,76464 -struct Lisp_Kboard_Objfwd2362,77723 -union Lisp_Fwd2368,77832 -XFWDTYPE 2378,78078 -XBUFFER_OBJFWD 2384,78174 -struct Lisp_Float2391,78310 -XFLOAT_DATA 2401,78428 - IEEE_FLOATING_POINT2415,78937 -#define _UCHAR_T2423,79260 -typedef unsigned char UCHAR;2424,79277 -enum Lisp_Compiled2429,79360 - COMPILED_ARGLIST 2431,79383 - COMPILED_BYTECODE 2432,79409 - COMPILED_CONSTANTS 2433,79436 - COMPILED_STACK_DEPTH 2434,79464 - COMPILED_DOC_STRING 2435,79494 - COMPILED_INTERACTIVE 2436,79523 -enum char_bits2443,79825 - CHAR_ALT 2445,79844 - CHAR_SUPER 2446,79870 - CHAR_HYPER 2447,79898 - CHAR_SHIFT 2448,79926 - CHAR_CTL 2449,79954 - CHAR_META 2450,79980 - CHAR_MODIFIER_MASK 2452,80008 - CHARACTERBITS 2457,80203 -LISP_MACRO_DEFUN 2462,80261 -NATNUMP 2470,80403 -RANGED_INTEGERP 2476,80484 -#define TYPE_RANGED_INTEGERP(2481,80606 -LISP_MACRO_DEFUN 2486,80791 -VECTORP 2500,81264 -OVERLAYP 2505,81367 -SAVE_VALUEP 2510,81466 -FINALIZERP 2516,81572 -AUTOLOADP 2522,81676 -BUFFER_OBJFWDP 2528,81767 -PSEUDOVECTOR_TYPEP 2534,81865 -PSEUDOVECTORP 2542,82118 -WINDOW_CONFIGURATIONP 2558,82470 -PROCESSP 2564,82580 -WINDOWP 2570,82664 -TERMINALP 2576,82746 -SUBRP 2582,82832 -COMPILEDP 2588,82910 -BUFFERP 2594,82996 -CHAR_TABLE_P 2600,83078 -SUB_CHAR_TABLE_P 2606,83169 -BOOL_VECTOR_P 2612,83268 -FRAMEP 2618,83361 -IMAGEP 2625,83478 -ARRAYP 2632,83583 -CHECK_LIST 2638,83702 -LISP_MACRO_DEFUN_VOID 2643,83783 -CHECK_STRING_CAR 2653,84080 -CHECK_CONS 2658,84184 -CHECK_VECTOR 2663,84264 -CHECK_BOOL_VECTOR 2668,84350 -CHECK_VECTOR_OR_STRING 2674,84527 -CHECK_ARRAY 2683,84701 -CHECK_BUFFER 2688,84809 -CHECK_WINDOW 2693,84895 -CHECK_PROCESS 2699,85001 -CHECK_NATNUM 2705,85097 -#define CHECK_RANGED_INTEGER(2710,85174 -#define CHECK_TYPE_RANGED_INTEGER(2721,85557 -#define CHECK_NUMBER_COERCE_MARKER(2729,85827 -XFLOATINT 2738,86080 -CHECK_NUMBER_OR_FLOAT 2744,86151 -#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(2749,86250 -CHECK_NUMBER_CAR 2760,86660 -CHECK_NUMBER_CDR 2768,86782 -#define DEFUN(2803,88377 -#define DEFUN(2812,88845 -FUNCTIONP 2822,89200 -extern void defsubr 2829,89352 -enum maxargs2831,89395 - MANY 2833,89412 - UNEVALLED 2834,89427 -#define CALLMANY(2838,89530 -#define CALLN(2844,89883 -extern void defvar_lisp 2846,89953 -extern void defvar_lisp_nopro 2847,90030 -extern void defvar_bool 2848,90113 -extern void defvar_int 2849,90184 -extern void defvar_kboard 2850,90258 -#define DEFVAR_LISP(2869,91088 -#define DEFVAR_LISP_NOPRO(2874,91260 -#define DEFVAR_BOOL(2879,91442 -#define DEFVAR_INT(2884,91615 -#define DEFVAR_BUFFER_DEFAULTS(2890,91786 -#define DEFVAR_KBOARD(2896,91990 -typedef jmp_buf sys_jmp_buf;2906,92314 -# define sys_setjmp(2907,92343 -# define sys_longjmp(2908,92378 -typedef sigjmp_buf sys_jmp_buf;2910,92450 -# define sys_setjmp(2911,92482 -# define sys_longjmp(2912,92522 -typedef jmp_buf sys_jmp_buf;2916,92681 -# define sys_setjmp(2917,92710 -# define sys_longjmp(2918,92744 -enum specbind_tag 2943,93796 - SPECPDL_UNWIND,2944,93816 - SPECPDL_UNWIND_PTR,2945,93885 - SPECPDL_UNWIND_INT,2946,93936 - SPECPDL_UNWIND_VOID,2947,93984 - SPECPDL_BACKTRACE,2948,94038 - SPECPDL_LET,2949,94096 - SPECPDL_LET_LOCAL,2951,94226 - SPECPDL_LET_DEFAULT 2952,94283 -union specbinding2955,94355 -extern union specbinding *specpdl;specpdl2991,95256 -extern union specbinding *specpdl_ptr;specpdl_ptr2992,95291 -extern ptrdiff_t specpdl_size;2993,95330 -SPECPDL_INDEX 2996,95379 -enum handlertype 3021,96401 -enum handlertype { CATCHER,3021,96401 -enum handlertype { CATCHER, CONDITION_CASE 3021,96401 -struct handler3023,96448 -#define PUSH_HANDLER(3053,97437 -extern Lisp_Object memory_signal_data;3075,98143 -extern char *stack_bottom;stack_bottom3079,98276 -extern void process_pending_signals 3097,99093 -extern bool volatile pending_signals;3098,99137 -extern void process_quit_flag 3100,99176 -#define QUIT 3101,99214 -#define QUITP 3112,99464 -extern Lisp_Object Vascii_downcase_table;3114,99525 -extern Lisp_Object Vascii_canon_table;3115,99567 -extern struct gcpro *gcprolist;gcprolist3130,100274 -struct gcpro3132,100307 -#define GC_USE_GCPROS_AS_BEFORE 3171,101288 -#define GC_MAKE_GCPROS_NOOPS 3172,101323 -#define GC_MARK_STACK_CHECK_GCPROS 3173,101355 -#define GC_USE_GCPROS_CHECK_ZOMBIES 3174,101392 -#define GC_MARK_STACK 3177,101453 -#define BYTE_MARK_STACK 3181,101553 -#define GCPRO1(3190,101824 -#define GCPRO2(3191,101864 -#define GCPRO3(3192,101930 -#define GCPRO4(3194,102025 -#define GCPRO5(3196,102145 -#define GCPRO6(3198,102290 -#define GCPRO7(3201,102465 -#define UNGCPRO 3202,102544 -#define GCPRO1(3208,102644 -#define GCPRO2(3212,102766 -#define GCPRO3(3217,102958 -#define GCPRO4(3223,103220 -#define GCPRO5(3230,103551 -#define GCPRO6(3238,103952 -#define GCPRO7(3247,104422 -#define UNGCPRO 3257,104962 -extern int gcpro_level;3261,105031 -#define GCPRO1(3263,105056 -#define GCPRO2(3269,105290 -#define GCPRO3(3278,105708 -#define GCPRO4(3289,106265 -#define GCPRO5(3302,106963 -#define GCPRO6(3317,107803 -#define GCPRO7(3334,108784 -#define UNGCPRO 3353,109907 -#define RETURN_UNGCPRO(3363,110174 -void staticpro 3375,110447 -vcopy 3384,110648 -set_hash_key_slot 3393,110923 -set_hash_value_slot 3399,111062 -set_symbol_function 3408,111297 -set_symbol_plist 3414,111412 -set_symbol_next 3420,111515 -blv_found 3428,111688 -set_overlay_plist 3437,111871 -string_intervals 3445,112022 -set_string_intervals 3453,112144 -set_char_table_defalt 3462,112346 -set_char_table_purpose 3467,112458 -set_char_table_extras 3475,112627 -set_char_table_contents 3482,112836 -set_sub_char_table_contents 3489,113031 -extern Lisp_Object indirect_function 3495,113190 -extern Lisp_Object find_symbol_value 3496,113242 -enum Arith_Comparison 3497,113294 - ARITH_EQUAL,3498,113318 - ARITH_NOTEQUAL,3499,113333 - ARITH_LESS,3500,113351 - ARITH_GRTR,3501,113365 - ARITH_LESS_OR_EQUAL,3502,113379 - ARITH_GRTR_OR_EQUAL3503,113402 -extern Lisp_Object arithcompare 3505,113427 -#define INTEGER_TO_CONS(3511,113753 -#define CONS_TO_INTEGER(3529,114616 -extern intmax_t cons_to_signed 3533,114831 -extern uintmax_t cons_to_unsigned 3534,114897 -extern struct Lisp_Symbol *indirect_variable indirect_variable3536,114958 -extern _Noreturn void args_out_of_range 3537,115027 -extern _Noreturn void args_out_of_range_3 3538,115095 -extern Lisp_Object do_symval_forwarding 3540,115186 -extern void set_internal 3541,115246 -extern void syms_of_data 3542,115318 -extern void swap_in_global_binding 3543,115351 -extern void syms_of_cmds 3546,115435 -extern void keys_of_cmds 3547,115468 -extern Lisp_Object detect_coding_system 3550,115530 -extern void init_coding 3552,115683 -extern void init_coding_once 3553,115715 -extern void syms_of_coding 3554,115752 -extern ptrdiff_t chars_in_text 3557,115819 -extern ptrdiff_t multibyte_chars_in_text 3558,115886 -extern void syms_of_character 3559,115963 -extern void init_charset 3562,116031 -extern void init_charset_once 3563,116064 -extern void syms_of_charset 3564,116102 -extern void init_syntax_once 3569,116222 -extern void syms_of_syntax 3570,116259 -enum { NEXT_ALMOST_PRIME_LIMIT 3573,116320 -extern EMACS_INT next_almost_prime 3574,116359 -enum constype 3739,123811 -enum constype {CONSTYPE_HEAP,CONSTYPE_HEAP3739,123811 -enum constype {CONSTYPE_HEAP, CONSTYPE_PURE}CONSTYPE_PURE3739,123811 -extern Lisp_Object listn 3740,123857 -list2i 3745,124001 -list3i 3751,124110 -list4i 3757,124249 -extern Lisp_Object make_uninit_bool_vector 3763,124401 -extern Lisp_Object bool_vector_fill 3764,124457 -extern _Noreturn void string_overflow 3765,124521 -extern Lisp_Object make_string 3766,124567 -extern Lisp_Object make_formatted_string 3767,124625 -extern Lisp_Object make_multibyte_string 3779,124979 -extern Lisp_Object make_event_array 3780,125058 -extern Lisp_Object make_uninit_string 3781,125122 -extern Lisp_Object make_uninit_multibyte_string 3782,125173 -extern Lisp_Object make_string_from_bytes 3783,125245 -extern Lisp_Object make_specified_string 3784,125325 -extern Lisp_Object make_pure_string 3786,125417 -extern Lisp_Object make_pure_c_string 3787,125497 -build_pure_c_string 3792,125653 -build_string 3801,125858 -extern Lisp_Object pure_cons 3806,125936 -extern void make_byte_code 3807,125993 -extern struct Lisp_Vector *allocate_vector allocate_vector3808,126044 -make_uninit_vector 3820,126429 -make_uninit_sub_char_table 3833,126648 -extern struct Lisp_Vector *allocate_pseudovector allocate_pseudovector3844,126957 -#define ALLOCATE_PSEUDOVECTOR(3850,127192 -#define ALLOCATE_ZEROED_PSEUDOVECTOR(3858,127528 -extern bool gc_in_progress;3863,127729 -extern bool abort_on_gc;3864,127757 -extern Lisp_Object make_float 3865,127782 -extern void display_malloc_warning 3866,127822 -extern ptrdiff_t inhibit_garbage_collection 3867,127865 -extern Lisp_Object make_save_int_int_int 3868,127917 -extern Lisp_Object make_save_obj_obj_obj_obj 3869,127993 -extern Lisp_Object make_save_ptr 3871,128103 -extern Lisp_Object make_save_ptr_int 3872,128146 -extern Lisp_Object make_save_ptr_ptr 3873,128204 -extern Lisp_Object make_save_funcptr_ptr_obj 3874,128259 -extern Lisp_Object make_save_memory 3876,128355 -extern void free_save_value 3877,128419 -extern Lisp_Object build_overlay 3878,128462 -extern void free_marker 3879,128536 -extern void free_cons 3880,128575 -extern void init_alloc_once 3881,128619 -extern void init_alloc 3882,128655 -extern void syms_of_alloc 3883,128686 -extern struct buffer * allocate_buffer 3884,128720 -extern int valid_lisp_object_p 3885,128767 -extern int relocatable_string_data_p 3886,128813 -extern void check_cons_list 3888,128892 -INLINE void 3890,128934 -extern void *r_alloc r_alloc3895,129055 -#define FLOAT_TO_STRING_BUFSIZE 3927,130518 -extern int openp 3957,131667 -extern Lisp_Object string_to_number 3959,131777 -extern void map_obarray 3960,131840 -extern void dir_warning 3962,131954 -extern void init_obarray 3963,132007 -extern void init_lread 3964,132040 -extern void syms_of_lread 3965,132071 -intern 3968,132125 -intern_c_string 3974,132213 -extern EMACS_INT lisp_eval_depth;3980,132326 -extern Lisp_Object Vautoload_queue;3981,132360 -extern Lisp_Object Vrun_hooks;3982,132396 -extern Lisp_Object Vsignaling_function;3983,132427 -extern Lisp_Object inhibit_lisp_code;3984,132467 -extern struct handler *handlerlist;handlerlist3985,132505 -extern void run_hook 3994,132747 -extern void run_hook_with_args_2 3995,132783 -extern Lisp_Object run_hook_with_args 3996,132857 -extern _Noreturn void xsignal 3999,133016 -extern _Noreturn void xsignal0 4000,133074 -extern _Noreturn void xsignal1 4001,133120 -extern _Noreturn void xsignal2 4002,133179 -extern _Noreturn void xsignal3 4003,133251 -extern _Noreturn void signal_error 4005,133340 -extern Lisp_Object eval_sub 4006,133404 -extern Lisp_Object apply1 4007,133452 -extern Lisp_Object call0 4008,133506 -extern Lisp_Object call1 4009,133546 -extern Lisp_Object call2 4010,133599 -extern Lisp_Object call3 4011,133665 -extern Lisp_Object call4 4012,133744 -extern Lisp_Object call5 4013,133836 -extern Lisp_Object call6 4014,133941 -extern Lisp_Object call7 4015,134059 -extern Lisp_Object internal_catch 4016,134190 -extern Lisp_Object internal_lisp_condition_case 4017,134283 -extern Lisp_Object internal_condition_case 4018,134372 -extern Lisp_Object internal_condition_case_1 4019,134485 -extern Lisp_Object internal_condition_case_2 4020,134620 -extern Lisp_Object internal_condition_case_n4021,134781 -extern void specbind 4024,134977 -extern void record_unwind_protect 4025,135026 -extern void record_unwind_protect_ptr 4026,135099 -extern void record_unwind_protect_int 4027,135166 -extern void record_unwind_protect_void 4028,135227 -extern void record_unwind_protect_nothing 4029,135285 -extern void clear_unwind_protect 4030,135335 -extern void set_unwind_protect 4031,135381 -extern void set_unwind_protect_ptr 4032,135462 -extern Lisp_Object unbind_to 4033,135537 -extern _Noreturn void error 4034,135592 -fast_string_match_ignore_case 4136,140080 -extern ptrdiff_t fast_c_string_match_ignore_case 4141,140230 -extern ptrdiff_t fast_looking_at 4143,140327 -extern ptrdiff_t find_newline 4145,140466 -extern ptrdiff_t scan_newline 4147,140595 -extern ptrdiff_t scan_newline_from_point 4149,140698 -extern ptrdiff_t find_newline_no_quit 4150,140778 -extern ptrdiff_t find_before_next_newline 4152,140875 -extern void syms_of_search 4154,140973 -extern void clear_regexp_cache 4155,141008 -extern Lisp_Object Vminibuffer_list;4159,141078 -extern Lisp_Object last_minibuf_string;4160,141115 -extern Lisp_Object get_minibuffer 4161,141155 -extern void init_minibuf_once 4162,141202 -extern void syms_of_minibuf 4163,141240 -extern void syms_of_callint 4167,141307 -extern void syms_of_casefiddle 4171,141377 -extern void keys_of_casefiddle 4172,141416 -extern void init_casetab_once 4176,141486 -extern void syms_of_casetab 4177,141524 -extern Lisp_Object echo_message_buffer;4181,141592 -extern struct kboard *echo_kboard;echo_kboard4182,141632 -extern void cancel_echoing 4183,141667 -extern Lisp_Object last_undo_boundary;4184,141702 -extern bool input_pending;4185,141741 -extern sigjmp_buf return_to_command_loop;4187,141804 -extern Lisp_Object menu_bar_items 4189,141853 -extern Lisp_Object tool_bar_items 4190,141902 -extern void discard_mouse_events 4191,141958 -void handle_input_available_signal 4193,142019 -extern Lisp_Object pending_funcalls;4195,142068 -extern bool detect_input_pending 4196,142105 -extern bool detect_input_pending_ignore_squeezables 4197,142146 -extern bool detect_input_pending_run_timers 4198,142206 -extern void safe_run_hooks 4199,142258 -extern void cmd_error_internal 4200,142300 -extern Lisp_Object command_loop_1 4201,142360 -extern Lisp_Object read_menu_command 4202,142402 -extern Lisp_Object recursive_edit_1 4203,142447 -extern void record_auto_save 4204,142491 -extern void force_auto_save_soon 4205,142528 -extern void init_keyboard 4206,142569 -extern void syms_of_keyboard 4207,142603 -extern void keys_of_keyboard 4208,142640 -extern ptrdiff_t current_column 4211,142706 -extern void invalidate_current_column 4212,142746 -extern bool indented_beyond_p 4213,142792 -extern void syms_of_indent 4214,142857 -extern void store_frame_param 4217,142920 -extern void store_in_alist 4218,142994 -extern Lisp_Object do_switch_frame 4219,143064 -extern Lisp_Object get_frame_param 4220,143137 -extern void frames_discard_buffer 4221,143203 -extern void syms_of_frame 4222,143252 -extern char **initial_argv;initial_argv4225,143314 -extern int initial_argc;4226,143342 -extern bool display_arg;4228,143417 -extern Lisp_Object decode_env_path 4230,143449 -extern Lisp_Object empty_unibyte_string,4231,143520 -extern Lisp_Object empty_unibyte_string, empty_multibyte_string;4231,143520 -extern _Noreturn void terminate_due_to_signal 4232,143585 -extern Lisp_Object Vlibrary_cache;4234,143660 -void fixup_locale 4237,143721 -void synchronize_system_messages_locale 4238,143747 -void synchronize_system_time_locale 4239,143795 -INLINE void fixup_locale 4241,143845 -INLINE void synchronize_system_messages_locale 4242,143880 -INLINE void synchronize_system_time_locale 4243,143937 -extern void shut_down_emacs 4245,143997 -extern bool noninteractive;4248,144123 -extern bool no_site_lisp;4251,144215 -extern int daemon_pipe[daemon_pipe4256,144383 -#define IS_DAEMON 4257,144410 -#define DAEMON_RUNNING 4258,144450 -extern void *w32_daemon_event;w32_daemon_event4260,144518 -#define IS_DAEMON 4261,144549 -#define DAEMON_RUNNING 4262,144594 -extern bool fatal_error_in_progress;4266,144715 -extern bool inhibit_window_system;4269,144821 -extern bool running_asynch_code;4271,144914 -extern void kill_buffer_processes 4274,144977 -extern int wait_reading_process_output 4275,145026 -# define WAIT_READING_MAX 4281,145413 -# define WAIT_READING_MAX 4283,145485 -extern void add_timer_wait_descriptor 4286,145549 -extern void add_keyboard_wait_descriptor 4288,145601 -extern void delete_keyboard_wait_descriptor 4289,145649 -extern void add_gpm_wait_descriptor 4291,145716 -extern void delete_gpm_wait_descriptor 4292,145759 -extern void init_process_emacs 4294,145812 -extern void syms_of_process 4295,145851 -extern void setup_process_coding_systems 4296,145887 -extern int child_setup 4302,146007 -extern void init_callproc_1 4303,146075 -extern void init_callproc 4304,146111 -extern void set_initial_environment 4305,146145 -extern void syms_of_callproc 4306,146189 -extern Lisp_Object read_doc_string 4309,146252 -extern Lisp_Object get_doc_string 4310,146302 -extern void syms_of_doc 4311,146363 -extern int read_bytecode_char 4312,146395 -extern void syms_of_bytecode 4315,146464 -extern struct byte_stack *byte_stack_list;byte_stack_list4316,146501 -extern void mark_byte_stack 4318,146564 -extern void unmark_byte_stack 4320,146607 -extern Lisp_Object exec_byte_code 4321,146645 -extern void init_macros 4325,146795 -extern void syms_of_macros 4326,146827 -extern void truncate_undo_list 4329,146889 -extern void record_insert 4330,146939 -extern void record_delete 4331,146989 -extern void record_first_change 4332,147047 -extern void record_change 4333,147087 -extern void record_property_change 4334,147137 -extern void syms_of_undo 4337,147279 -extern void report_interval_modification 4340,147343 -extern void syms_of_menu 4343,147439 -extern void syms_of_xmenu 4346,147500 -extern char *get_current_dir_name get_current_dir_name4356,147702 -extern void stuff_char 4358,147751 -extern void init_foreground_group 4359,147784 -extern void sys_subshell 4360,147826 -extern void sys_suspend 4361,147859 -extern void discard_tty_input 4362,147891 -extern void init_sys_modes 4363,147929 -extern void reset_sys_modes 4364,147985 -extern void init_all_sys_modes 4365,148042 -extern void reset_all_sys_modes 4366,148081 -extern void child_setup_tty 4367,148121 -extern void setup_pty 4368,148156 -extern int set_window_size 4369,148185 -extern EMACS_INT get_random 4370,148229 -extern void seed_random 4371,148265 -extern void init_random 4372,148310 -extern void emacs_backtrace 4373,148342 -extern _Noreturn void emacs_abort 4374,148377 -extern void xputenv 4527,152691 -extern char *egetenv_internal egetenv_internal4529,152728 -egetenv 4532,152800 -extern void init_system_name 4539,153003 -#define eabs(4545,153296 -#define make_fixnum_or_float(4550,153429 -enum MAX_ALLOCA 4556,153680 -enum MAX_ALLOCA { MAX_ALLOCA 4556,153680 -extern void *record_xmalloc record_xmalloc4558,153725 -#define USE_SAFE_ALLOCA 4560,153791 -#define AVAIL_ALLOCA(4564,153924 -#define SAFE_ALLOCA(4568,154035 -#define SAFE_NALLOCA(4576,154376 -#define SAFE_ALLOCA_STRING(4590,154852 -#define SAFE_FREE(4598,155104 -#define SAFE_ALLOCA_LISP(4625,155682 -# define USE_STACK_LISP_OBJECTS 4652,156804 -# undef USE_STACK_LISP_OBJECTS4658,156970 -# define USE_STACK_LISP_OBJECTS 4659,157001 -enum { defined_GC_CHECK_STRING_BYTES 4663,157076 -enum { defined_GC_CHECK_STRING_BYTES 4665,157129 -union Aligned_Cons4670,157263 -union Aligned_String4676,157343 - USE_STACK_CONS 4689,157698 - USE_STACK_STRING 4691,157804 -#define STACK_CONS(4699,158141 -#define AUTO_CONS_EXPR(4701,158238 -#define AUTO_CONS(4709,158601 -#define AUTO_LIST1(4710,158672 -#define AUTO_LIST2(4712,158780 -#define AUTO_LIST3(4716,158935 -#define AUTO_LIST4(4720,159110 -extern const char *verify_ascii verify_ascii4730,159447 -# define verify_ascii(4732,159501 -#define AUTO_STRING(4740,159809 -#define FOR_EACH_TAIL(4752,160273 -#define FOR_EACH_ALIST_VALUE(4766,160764 -maybe_gc 4774,161051 -functionp 4784,161290 - -c-src/machsyscalls.c,23 -#define SYSCALL(6,113 - -c-src/machsyscalls.h,159 -SYSCALL (mach_msg_trap,1,0 -SYSCALL (mach_reply_port,13,314 -SYSCALL (mach_thread_self,18,377 -SYSCALL (mach_task_self,23,441 -SYSCALL (mach_host_self,28,503 - -c-src/fail.c,30 -void (*prt_call(prt_call1,0 - -c-src/h.h,1962 - ELEM_I/ELEM_I3,15 -} Fails_t;5,85 -typedef void Lang_function 6,96 -void Asm_labels 7,127 -typedef struct tpcmd8,147 -#define ggg 10,170 -tpcmd;15,209 -typedef struct foobar2_ 16,216 -} foobar2;20,307 - DEVICE_SWP,23,333 - DEVICE_LAST24,349 -} bsp_DevId;25,365 - struct constant_args 27,394 -} args;30,457 -typedef int *regset;regset31,465 -typedef int INT;32,486 -typedef union abc33,503 -} ghi1;36,534 -typedef union abc 37,542 -} ghi2;39,573 -typedef struct a 40,581 -} b;41,600 -#define c(42,605 -typedef struct an_extern_linkage *an_extern_linkage_ptr;an_extern_linkage_ptr43,619 -typedef struct an_extern_linkage 44,676 -} an_extern_linkage;56,1054 -typedef struct pollfd pfdset[pfdset57,1075 -typedef union rtunion_def58,1119 - } womboid 63,1206 -typedef union rtunion_def64,1220 -womboid75,1330 -enum {dog,dog81,1416 -enum {dog, cat}cat81,1416 -enum {dog, cat} animals;81,1416 -typedef void (_CALLBACK_ *signal_handler)signal_handler82,1441 -typedef void (_CALLBACK_ *signal_handler1)signal_handler183,1489 -/* comment */ #define ANSIC84,1538 - #define ANSIC85,1566 -typedef void (proc)87,1588 -typedef void OperatorFun(88,1612 -typedef int f(89,1648 -struct my_struct 91,1691 -typedef struct my_struct my_typedef;93,1713 -typedef RETSIGTYPE (*signal_handler_t)signal_handler_t94,1750 - Date 04 May 87 235311 PDT 96,1802 -typedef unsigned char unchar;99,1880 -typedef int X,100,1910 -typedef int X, Y,100,1910 -typedef int X, Y, Z;100,1910 -typedef mio mao;101,1931 -extern void ab(102,1948 -typedef struct a 103,1966 -typedef struct a { } b;103,1966 -typedef struct b104,1990 -} c;106,2009 -int (*oldhup)oldhup107,2014 -request (*oldhup)oldhup108,2031 -int extvar;109,2053 -#define tag1110,2065 -#define aaaaaa 111,2078 -#define bbbbbb\bbbbbb113,2102 -#define cccccccccc115,2125 -#define enter_critical_section 116,2144 -#define exit_critical_to_previous 117,2199 -#define UNDEFINED118,2259 -struct re_pattern_buffer 119,2277 - -cp-src/c.C,2378 -template * f(48,1556 -int f(49,1571 -int A::f(f50,1590 -A > A,int>::f(f51,1618 -template class AT 52,1668 -class AU 53,1716 -class B<B54,1735 -class B { void f(54,1735 -const A::B::T& abt 55,1766 -class A 56,1792 -class A { class B 56,1792 -class A { class B { int f(56,1792 -class A 57,1827 - int get_data(58,1837 - A operator+(59,1861 -is_muldiv_operation(61,1888 -domain foo 68,1956 - void f(69,1969 -void A::A(A72,1990 -struct A 73,2005 -struct A { A(73,2005 -struct B 74,2023 -struct B { B(74,2023 -void B::B(B75,2042 -void BE_Node::BE_Node(BE_Node76,2057 -class BE_Node 77,2084 -struct foo 79,2103 -class test 86,2157 - int f(87,2170 - int ff(89,2232 - int g(90,2255 -class AST_Root 92,2279 -class AST_Root;96,2328 -AST_ConcreteType::AST_ConcreteType(99,2394 -AST_Array::AST_Array(107,2533 - void f(115,2734 -struct A 117,2754 - ~A(118,2765 -A::~A(~A120,2778 -struct B 122,2790 - ~B(123,2801 -enum {dog,dog126,2818 -enum {dog, cat}cat126,2818 -enum {dog, cat} animals;126,2818 -struct {int teats;} cow;127,2843 -class Boo 129,2869 - enum {dog,dog130,2881 - enum {dog, cat}cat130,2881 - foo(133,2955 - Boo(137,2996 - Boo(138,3053 -Boo::Boo(141,3071 -typedef int should_see_this_one_enclosed_in_extern_C;149,3156 -typedef int (*should_see_this_function_pointer)should_see_this_function_pointer153,3229 -typedef int should_see_this_array_type[should_see_this_array_type156,3311 - -cp-src/x.cc,102 -class XX1,0 - int foo(4,19 - void bar(5,35 -XX::foo(foo9,60 -XX::bar(bar15,95 -main(21,126 - -cp-src/burton.cpp,124 -::dummy::dummy test::dummy1(dummy11,0 -::dummy::dummy test::dummy2(dummy26,64 -::dummy::dummy test::dummy3(dummy311,143 - -cp-src/functions.cpp,778 -void Date::setDate setDate5,148 -void Date::plus plus32,938 -void Date::minus minus42,1226 -void Date::shift shift52,1404 -Date & Date::operator = operator =62,1625 -Date & Date::operator += operator +=69,1786 -Date & Date::operator -= operator -=78,1935 -Date & Date::operator ++ operator ++87,2076 -Date & Date::operator -- operator --96,2212 -int Date::operator - operator -104,2327 -int Date::operator < operator <112,2479 -int Date::operator > operator >116,2553 -int Date::operator == operator ==120,2627 -ostream& operator << operator <<124,2703 -istream& operator >> operator >>133,2939 -bool isLeap 159,3539 -bool isHoliday 163,3625 -void asort(173,3861 -void ReadVacation 186,4060 -void Debug 201,4519 -int WorkingDays(211,4863 -Date StartDay(226,5125 - -cp-src/MDiagArray2.h,1194 -#define octave_MDiagArray2_h 29,870 -#undef LTGT35,967 -#define LTGT39,1031 -#define LTGT 42,1051 -class MDiagArray2;45,1087 -operator += operator +=48,1145 -operator -= operator -=51,1242 -operator * operator *54,1339 -operator / operator /57,1428 -operator * operator *60,1517 -operator + operator +63,1605 -operator - operator -66,1707 -product 69,1808 -operator - operator -72,1907 -class MDiagArray2 78,2022 - MDiagArray2 82,2077 - MDiagArray2 86,2154 - MDiagArray2 87,2198 - MDiagArray2 88,2254 - MDiagArray2 89,2329 - MDiagArray2 90,2387 - MDiagArray2 91,2450 - ~MDiagArray2 93,2515 - MDiagArray2& operator = operator =95,2542 - DiagArray2::operator = operator =97,2603 - operator MArray2 operator MArray2101,2667 - operator += operator +=116,2966 - operator -= operator -=119,3057 - friend MDiagArray2 operator * operator *123,3174 - friend MDiagArray2 operator / operator /124,3253 - friend MDiagArray2 operator * operator *128,3384 - operator + operator +133,3544 - operator - operator -136,3640 - friend MDiagArray2 operator - operator -141,3803 -#undef LTGT144,3874 -#define INSTANTIATE_MDIAGARRAY_FRIENDS(146,3887 - -cp-src/Range.h,678 -#define octave_Range_h 24,765 -class istream;30,840 -class ostream;31,855 -class Matrix;32,870 -Range35,891 - Range 39,909 - Range 42,995 - Range 46,1130 - Range 50,1248 - double base 54,1376 - double limit 55,1425 - double inc 56,1475 - int nelem 57,1523 - bool all_elements_are_ints 59,1571 - Matrix matrix_value 61,1615 - double min 63,1652 - double max 64,1679 - void sort 66,1707 - void set_base 68,1728 - void set_limit 69,1774 - void set_inc 70,1821 - friend ostream& operator << operator <<72,1867 - friend istream& operator >> operator >>73,1928 - void print_range 75,1984 - int nelem_internal 85,2099 -extern Range operator - operator -88,2138 - -cp-src/screen.cpp,228 -unsigned char cursor_x,15,548 -unsigned char cursor_x, cursor_y;15,548 -static union REGS regs;16,582 -void goto_xy(18,607 -void hide_cursor(27,774 -void cursor_position(32,836 -void clear_screen(41,997 -void write_xyc(55,1247 - -cp-src/screen.hpp,538 -#define __COLORS9,401 -enum COLORS 11,419 - BLACK,12,433 - BLUE,13,471 - GREEN,14,481 - CYAN,15,492 - RED,16,502 - MAGENTA,17,511 - BROWN,18,524 - LIGHTGRAY,19,535 - DARKGRAY,20,550 - LIGHTBLUE,21,589 - LIGHTGREEN,22,604 - LIGHTCYAN,23,620 - LIGHTRED,24,635 - LIGHTMAGENTA,25,649 - YELLOW,26,667 - WHITE27,679 -#define SCREEN_FP(31,700 -#define SCREEN_START 33,795 -void goto_xy(35,835 -void hide_cursor(36,883 -void cursor_position(37,907 -void clear_screen(38,935 -void write_xyc(39,960 - -cp-src/conway.cpp,288 -#define max(12,357 -#define min(13,393 -const int num_rows 15,430 -const int num_columns 16,470 -class site *field_of_play[field_of_play18,499 -int site::total_surrounding(total_surrounding20,550 -void display(37,958 -void glider(50,1239 -void traffic_light(59,1478 -void main(67,1633 - -cp-src/conway.hpp,215 -class site:site5,235 - int total_surrounding(8,303 - site(10,344 - ~site(11,397 - char read(12,410 - void set(13,444 - void clear(14,478 - void compute_next_state(15,514 - void step(22,717 - -cp-src/clheir.cpp,359 -const int max_num_generic_objects 9,298 -generic_object * object_registry[object_registry10,340 -void init_registry(12,400 -void step_everybody(19,527 -void discrete_location::clear_neighbors(clear_neighbors31,852 -generic_object::generic_object(generic_object36,981 -generic_object::~generic_object(~generic_object48,1255 -void agent::move(move53,1353 - -cp-src/clheir.hpp,731 -extern void init_registry(10,452 -extern void step_everybody(11,485 -class generic_object13,520 - generic_object(17,582 - ~generic_object(19,724 - virtual void compute_next_state(21,843 - virtual void step(22,889 -const int max_num_directions 31,1220 -class location:location33,1290 - location(43,1643 - ~location(44,1662 -class irregular_location:irregular_location47,1687 - irregular_location(51,1763 - ~irregular_location(53,1855 -class discrete_location:discrete_location56,1890 - void clear_neighbors(60,2005 - discrete_location(62,2045 - ~discrete_location(65,2155 - void assign_neighbor(66,2185 -class agent:agent75,2509 - agent(79,2579 - ~agent(80,2592 - void move(81,2606 - -cp-src/fail.C,315 -struct A 7,263 - struct B 8,274 - struct C 9,289 - C(11,318 - operator int(operator int12,342 - typedef C T;14,389 - typedef B T2;16,414 -class String;20,437 -class A 23,453 - class B 24,463 - class C 25,474 - int f(26,488 -int A::B::f(f31,521 -main(37,571 - class D 41,622 - D(43,659 - -el-src/TAGTEST.EL,181 -(foo::defmumble bletch 3,33 -(defun foo==bar foo==bar4,66 -(defalias 'pending-delete-mode pending-delete-mode8,182 -(defalias (quote explicitly-quoted-pending-delete-mode)11,255 - -el-src/emacs/lisp/progmodes/etags.el,5188 -(defvar tags-file-name 34,1035 -(defgroup etags 43,1499 -(defcustom tags-case-fold-search 47,1567 -(defcustom tags-table-list 59,2052 -(defcustom tags-compression-info-list69,2450 -(defcustom tags-add-tables 88,3232 -(defcustom tags-revert-without-query 98,3628 -(defvar tags-table-computed-list 103,3779 -(defvar tags-table-computed-list-for 112,4263 -(defvar tags-table-list-pointer 117,4511 -(defvar tags-table-list-started-at 121,4702 -(defvar tags-table-set-list 124,4822 -(defcustom find-tag-hook 129,5001 -(defcustom find-tag-default-function 137,5264 -(define-obsolete-variable-alias 'find-tag-marker-ring-lengthfind-tag-marker-ring-length145,5603 -(defcustom tags-tag-face 148,5700 -(defcustom tags-apropos-verbose 154,5835 -(defcustom tags-apropos-additional-actions 160,5999 -(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6921 -(defvar default-tags-table-function 189,7101 -(defvar tags-location-ring 194,7327 -(defvar tags-table-files 201,7603 -(defvar tags-completion-table 206,7770 -(defvar tags-included-tables 209,7862 -(defvar next-file-list 212,7957 -(defvar tags-table-format-functions 217,8063 -(defvar file-of-tag-function 224,8444 -(defvar tags-table-files-function 228,8638 -(defvar tags-completion-table-function 230,8749 -(defvar snarf-tag-function 232,8844 -(defvar goto-tag-location-function 236,9053 -(defvar find-tag-regexp-search-function 239,9226 -(defvar find-tag-regexp-tag-order 241,9347 -(defvar find-tag-regexp-next-line-after-failure-p 243,9456 -(defvar find-tag-search-function 245,9576 -(defvar find-tag-tag-order 247,9683 -(defvar find-tag-next-line-after-failure-p 249,9778 -(defvar list-tags-function 251,9884 -(defvar tags-apropos-function 253,9972 -(defvar tags-included-tables-function 255,10066 -(defvar verify-tags-table-function 257,10185 -(defun initialize-new-tags-table 260,10296 -(defun tags-table-mode 276,10984 -(defun visit-tags-table 285,11249 -(defun tags-table-check-computed-list 321,12787 -(defun tags-table-extend-computed-list 360,14658 -(defun tags-expand-table-name 400,16371 -(defun tags-table-list-member 409,16714 -(defun tags-verify-table 421,17186 -(defun tags-table-including 470,19306 -(defun tags-next-table 522,21350 -(defun visit-tags-table-buffer 543,22207 -(defun tags-reset-tags-tables 712,28517 -(defun file-of-tag 731,29174 -(defun tags-table-files 740,29524 -(defun tags-included-tables 749,29874 -(defun tags-completion-table 755,30120 -(defun tags-lazy-completion-table 783,31314 -(defun tags-completion-at-point-function 799,31949 -(defun find-tag-tag 818,32699 -(defvar last-tag 837,33372 -(defun find-tag-interactive 840,33431 -(defvar find-tag-history 852,33846 -(defvar etags-case-fold-search)855,33911 -(defvar etags-syntax-table)856,33943 -(defvar local-find-tag-hook)857,33971 -(defun find-tag-noselect 860,34016 -(defun find-tag 932,37130 -(defun find-tag-other-window 959,38346 -(defun find-tag-other-frame 1000,40274 -(defun find-tag-regexp 1025,41448 -(defalias 'pop-tag-mark pop-tag-mark1049,42610 -(defvar tag-lines-already-matched 1052,42661 -(defun find-tag-in-order 1055,42768 -(defun tag-find-file-of-tag-noselect 1167,47114 -(defun tag-find-file-of-tag 1200,48960 -(defun etags-recognize-tags-table 1208,49186 -(defun etags-verify-tags-table 1241,50817 -(defun etags-file-of-tag 1246,51015 -(defun etags-tags-completion-table 1256,51350 -(defun etags-snarf-tag 1286,52556 -(defun etags-goto-tag-location 1324,54125 -(defun etags-list-tags 1388,56568 -(defmacro tags-with-face 1423,57843 -(defun etags-tags-apropos-additional 1431,58176 -(defun etags-tags-apropos 1465,59413 -(defun etags-tags-table-files 1527,61622 -(defun etags-tags-included-tables 1542,62058 -(defun tags-recognize-empty-tags-table 1559,62598 -(defun tag-exact-file-name-match-p 1587,63744 -(defun tag-file-name-match-p 1596,64137 -(defun tag-exact-match-p 1609,64693 -(defun tag-implicit-name-match-p 1620,65261 -(defun tag-symbol-match-p 1633,65861 -(defun tag-word-match-p 1643,66297 -(defun tag-partial-file-name-match-p 1652,66695 -(defun tag-any-match-p 1662,67139 -(defun tag-re-match-p 1667,67323 -(defcustom tags-loop-revert-buffers 1675,67572 -(defun next-file 1685,67981 -(defvar tags-loop-operate 1760,70895 -(defvar tags-loop-scan1763,70989 -(defun tags-loop-eval 1771,71318 -(defun tags-loop-continue 1782,71647 -(defun tags-search 1850,73953 -(defun tags-query-replace 1871,74779 -(defun tags-complete-tags-table-file 1896,76003 -(defun list-tags 1906,76382 -(defun tags-apropos 1934,77335 -(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78161 -(defun select-tags-table 1964,78400 -(defvar select-tags-table-mode-map 2019,80527 -(define-derived-mode select-tags-table-mode 2030,80910 -(defun select-tags-table-select 2034,81094 -(defun select-tags-table-quit 2043,81460 -(defun complete-tag 2049,81615 -(defconst etags--xref-limit 2074,82556 -(defvar etags-xref-find-definitions-tag-order 2076,82591 -(defun etags-xref-find 2082,82881 -(defun etags--xref-find-definitions 2096,83410 -(defclass xref-etags-location 2129,85124 -(defun xref-make-etags-location 2135,85347 -(cl-defmethod xref-location-marker 2139,85502 -(cl-defmethod xref-location-line 2146,85746 - -erl-src/gs_dialog.erl,98 --define(VERSION2,32 -behaviour_info(51,2177 -show(124,5458 -dialog_loop(219,9529 -test(252,10806 - -f-src/entry.for,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -f-src/entry.strange_suffix,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -f-src/entry.strange,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -forth-src/test-forth.fth,733 -: a-forth-word20,301 -99 constant a-forth-constant!22,343 -55 value a-forth-value?23,373 -create :a-forth-dictionary-entry24,397 -defer #a-defer-word27,460 -: (another-forth-word)(another-forth-word)29,481 - 9 field >field136,582 - 5 field >field237,605 -constant (a-forth-constant(a-forth-constant38,628 -2000 buffer: #some-storage41,657 -code assemby-code-word43,685 -: a-forth-word50,870 -: (foo)(foo)55,988 -: foo56,1000 -: create-bar58,1015 -3 4 2constant 2const61,1074 -2const 2value 2val62,1095 -2variable 2var63,1114 -3.1415e fconstant fconst65,1130 -fconst fvalue fval66,1155 -fvariable fvar67,1174 -synonym mypi69,1190 -BEGIN-STRUCTURE point71,1211 - 1 CELLS +FIELD p.x72,1262 - 1 CELLS +FIELD p.y73,1318 - -go-src/test.go,48 -package main1,0 -func say(5,28 -func main(9,72 - -go-src/test1.go,119 -package main1,0 -func (s str) PrintAdd(17,136 -func (n intNumber) PrintAdd(21,189 -func test(25,248 -func main(29,285 - -html-src/softwarelibero.html,200 -Cos'è il software libero?4,38 -Licenze d'uso di un programmalicenze65,2502 -Sfatiamo alcuni miti138,6122 -Il movimento open sourceoss191,8041 -Impatto pratico del software liberoimpatto231,10070 - -html-src/index.shtml,104 - 8,281 -In evidenza15,447 -Comunicati e iniziative32,976 -Ultime notizie dall'associazione63,2030 - -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 Algorithms7,277 -Descriptionalgorithms10,481 -Generating the Datagenalgorithm48,1995 -Convolutionallyconalgorithm55,2512 -Nextstatetable262,11587 -Outputoutputtable350,13915 -Mapping the Channel Symbolsmapping433,16213 -Adding Noise to theaddnoise439,16607 -Quantizing the Receivedquantizing469,19100 - -html-src/software.html,439 -Francesco Potortì Software Page9,280 -Software that I wrote for supporting my research activitysimulation36,1398 -MTGmtg41,1482 -Fracasfracas65,2624 -GaliLEOgalileo101,4232 -Leasqrleasqr114,4677 -Free software that I wrote for the GNU project or for my personal or workgnu142,6066 -Etagsetags148,6181 -checkiso161,6731 -cgrep178,7549 -debian-bug.eldebian-bug190,7981 -tcpdump205,8566 -Links to interesting softwarelinks216,8893 - -lua-src/allegro.lua,400 -local function get_layer_by_name 7,175 -local function count_layers 33,621 -function GetLayerByName 54,980 -function GetUniqueLayerName 65,1204 -function SelectLayer 76,1415 -function NewLayer 86,1773 -function NewLayerSet 144,3226 -function RemoveLayer 170,3750 -function MoveLayerTop 211,4767 -function MoveLayerBottom 223,5079 -function MoveLayerBefore 236,5457 -function MoveLayerAfter 258,6090 - -lua-src/test.lua,442 -function Rectangle.getPos 2,15 -function Rectangle.getPos getPos2,15 -function Circle.getPos 6,61 -function Circle.getPos getPos6,61 -function Cube.data.getFoo 10,102 -function Cube.data.getFoo getFoo10,102 -function Square.something:Bar 14,148 -function Square.something:Bar Bar14,148 - function test.me_22a(22,241 - function test.me_22a(me_22a22,241 - local function test.me22b 25,297 - local function test.me22b me22b25,297 - -make-src/Makefile,2175 -LATEST=1,0 -RELEASELIST=2,10 -ADASRC=4,104 -ASRC=5,171 -CSRC=6,197 -CPSRC=10,423 -ELSRC=13,614 -ERLSRC=14,661 -FORTHSRC=15,702 -FSRC=16,726 -HTMLSRC=17,776 -JAVASRC=18,844 -LUASRC=19,907 -MAKESRC=20,926 -OBJCSRC=21,943 -OBJCPPSRC=22,999 -PASSRC=23,1035 -PERLSRC=24,1053 -PHPSRC=25,1108 -PSSRC=26,1156 -PROLSRC=27,1173 -PYTSRC=28,1210 -TEXSRC=29,1227 -YSRC=30,1282 -SRCS=31,1325 -NONSRCS=35,1577 -VHDLFLAGS=37,1624 -COBOLFLAGS=38,1827 -POSTSCRIPTFLAGS=39,1889 -TCLFLAGS=40,1943 -GETOPTOBJS=42,2002 -RXINCLUDE=43,2034 -REGEXOBJS=44,2056 -CHECKOBJS=46,2075 -CHECKFLAGS=47,2105 -OBJS=48,2145 -CPPFLAGS=49,2190 -LDFLAGS=50,2259 -WARNINGS=51,2282 -CFLAGS=52,2466 -FASTCFLAGS=55,2530 -FASTCFLAGSWARN=56,2591 -FILTER=58,2641 -REGEX=59,2695 -xx=60,2741 -MAKE:MAKE62,2790 -RUN=63,2825 -RUN=64,2865 -OPTIONS=65,2870 -ARGS=66,2922 -infiles 68,2940 -quiettest:quiettest70,3002 -test:test79,3409 -${CHECKOBJS}:${CHECKOBJS}88,3805 -checker:checker90,3849 -standalone:standalone96,4062 -prof:prof101,4168 -fastetags:fastetags104,4198 -fastctags:fastctags108,4322 -staticetags:staticetags112,4446 -rsynctofly:rsynctofly116,4608 -rsyncfromfly:rsyncfromfly119,4698 -web ftp publish:web ftp publish122,4794 -release distrib:release distrib129,5115 -tags:tags134,5255 -clean:clean136,5267 -srclist:srclist139,5302 -regexfile:regexfile143,5391 -/home/www/pub/etags.c.gz:/home/www/pub/etags.c.gz149,5566 -/home/www/pub/software/unix/etags.tar.gz:/home/www/pub/software/unix/etags.tar.gz156,5825 -regex.o:regex.o159,6031 -getopt.o:getopt.o162,6086 -getopt1.o:getopt1.o165,6147 -etags:etags168,6210 -ctags:ctags171,6299 -man manpage:man manpage174,6396 -etags.1.man:etags.1.man176,6422 -maintaining.info:maintaining.info179,6475 -TAGS:TAGS182,6557 -%ediff:%ediff185,6587 -oediff:oediff188,6677 -%cdiff:%cdiff191,6764 -xdiff:xdiff194,6854 -ETAGS:ETAGS197,6942 -ETAGS%:ETAGS%200,7012 -ETAGS13 ETAGS14 ETAGS15:ETAGS13 ETAGS14 ETAGS15203,7084 -ETAGS12:ETAGS12206,7216 -OTAGS:OTAGS209,7304 -CTAGS:CTAGS212,7369 -CTAGS%:CTAGS%215,7443 -CTAGS13 CTAGS14 CTAGS15:CTAGS13 CTAGS14 CTAGS15218,7545 -EXTAGS:EXTAGS221,7680 -.PRECIOUS:.PRECIOUS224,7838 -FRC:FRC226,7894 - -objc-src/Subprocess.h,98 -#define Subprocess 41,1217 -#define BUFFERSIZE 43,1267 -@interface Subprocess:Subprocess45,1292 - -objc-src/Subprocess.m,476 -#define PTY_TEMPLATE 20,494 -#define PTY_LENGTH 21,528 -static void showError(23,551 -@interface Subprocess(Private)32,737 -- childDidExit39,851 -- fdHandler:fdHandler67,1589 -showError 98,2360 -fdHandler 112,2785 -getptys 119,2907 -- init:init183,4815 - andStdErr:init197,5147 -- send:(const char *)string withNewline:send300,7436 -- send:send308,7599 -- terminateInput314,7689 -- terminate:terminate321,7810 -- setDelegate:setDelegate332,7961 -- delegate338,8031 - -objc-src/PackInsp.h,109 -#define NUMSTATS 36,1101 -#define TYPESTOSTAT 37,1120 -@interface PackageInspector:PackageInspector39,1172 - -objc-src/PackInsp.m,1322 -static const char RCSid[RCSid30,1032 -#define VERSION 34,1116 -# define DEBUG 37,1155 -#define LISTCONTENTS 39,1181 -#define OPENBUTTON 47,1352 -#define LISTCONTENTSBUTTON 48,1449 -#define LISTDESCRIPTIONBUTTON 49,1562 -#define STATE_UNINSTALLED 52,1687 -#define STATE_INSTALLED 53,1807 -#define STATE_COMPRESSD 54,1948 -#define SIZEFORMAT 57,2152 -#define KBYTES 58,2362 -#define MBYTES 59,2473 -#define LOCALIZE(61,2585 -#define LOCALIZE_ARCH(62,2668 -+newnew67,2802 --showInfo:showInfo93,3417 --revert:revert107,3737 --ok:ok136,4297 --loadload143,4424 -#define LOOKUP(156,4826 -#undef LOOKUP176,5694 --loadKeyValuesFrom:(const char *)type inTable:loadKeyValuesFrom186,5852 --loadContentsOf:(const char *)type inTable:loadContentsOf238,7079 --loadImageloadImage257,7552 -#define STAT_EQ(275,7940 --(BOOL)shouldLoad280,8116 --toggleDescriptiontoggleDescription301,8626 --(const char *)getPath:(char *)buf forType:getPath317,8899 --setRevertButtonTitlesetRevertButtonTitle333,9320 --(const char *)formatSize:(const char *)size inBuf:formatSize344,9525 -#define WORKING 368,10045 --(void)getArchs370,10100 --(void)addArchs:addArchs385,10520 --subprocess:(Subprocess *)sender output:subprocess428,11351 --subprocessDone:subprocessDone436,11484 -static void openInWorkspace(446,11634 --open:open464,12063 - -objcpp-src/SimpleCalc.H,41 -@interface SimpleCalc:SimpleCalc14,400 - -objcpp-src/SimpleCalc.M,445 -- init52,1747 -- appendToDisplay:appendToDisplay60,1933 -- registerAction:registerAction70,2210 -- decimalKey:decimalKey77,2348 -- numberKeys:numberKeys91,2661 -- equalsKey:equalsKey112,3192 -- operationKeys:operationKeys131,3680 -- clearKey:clearKey153,4301 -- clearAllKey:clearAllKey160,4410 -- appDidInit:appDidInit168,4591 -- windowWillClose:windowWillClose178,4882 -- infoPanel:infoPanel186,5132 -- helpPanel:helpPanel198,5482 - -pas-src/common.pas,1875 -procedure InitializeStringPackage;26,527 -function newtextstring;34,874 -procedure disposetextstring;52,1404 -function ConcatT;78,2066 -function AppendTextString;112,3238 -function CopyTextString;132,3947 -procedure CONVERT_CHARSTRING_TO_VALUE;151,4505 -procedure append_string;172,5166 -function To_Upper;186,5462 -function To_Lower;194,5617 -function EmptyNmStr(209,6213 -function chartonmstr;219,6436 -function LowerCaseNmStr;230,6682 -function concatenatenamestrings;242,7007 -procedure writenamestring;263,7517 -function IsControlChar;277,7928 -function namestringequal;283,8079 -function NameStringLess;302,8539 -function IsControlCharName(343,9710 -function SubString;358,10208 -function SkipChars;379,10791 -function RemoveUnderlineControl;397,11311 -procedure First100Chars;427,12162 -procedure SkipSpaces;462,13298 -function SkipBlanks;477,13782 -function stripname;505,14595 -function Locate;522,15039 -function NameHasChar;543,15581 -function integertonmstr;561,16134 -function NmStrToInteger;585,16901 -function AddNullToNmStr;600,17317 -function ValToNmStr;611,17585 -function ChangeFileType;625,18037 -function StripPath;647,18734 -function ReprOfChar;675,19343 -procedure ExtractCommentInfo;702,20749 -procedure INSERT_TREE_NODE;784,24053 -function GetNameList;920,27926 -procedure DisposeANameList(925,28010 -procedure DisposeNameList;938,28340 -function GetNewNameListNode;943,28409 -function insertname;972,29051 -procedure InitNameList;988,29471 -procedure InitNameStringPool;998,29767 -procedure NewNameString;1004,29867 -procedure ReleaseNameString;1022,30232 -procedure SDTrefStringToRec 1045,30741 -procedure SDTrefSkipSpaces;1059,31092 -function SDTrefIsEnd 1070,31323 -function SDTrefGetInteger 1082,31529 -procedure SDTrefRecToString 1303,37546 -function NmStrToErrStr;1497,42305 -function ErrStrToNmStr;1509,42557 -function GetTextRef;1529,43112 - -php-src/lce_functions.php,2152 - define("LCE_FUNCTIONS"LCE_FUNCTIONS4,38 - define("LCE_UNKNOWN"LCE_UNKNOWN9,145 - define("LCE_WS"LCE_WS11,194 - define("LCE_COMMENT"LCE_COMMENT13,244 - define("LCE_COMMENT_USER"LCE_COMMENT_USER15,303 - define("LCE_COMMENT_TOOL"LCE_COMMENT_TOOL17,366 - define("LCE_MSGID"LCE_MSGID19,430 - define("LCE_MSGSTR"LCE_MSGSTR21,488 - define("LCE_TEXT"LCE_TEXT23,541 - define("STATE_ABORT"STATE_ABORT25,567 - define("STATE_OK"STATE_OK26,595 - define("STATE_LOOP"STATE_LOOP27,620 - class POEntryAD 29,648 - function validate(31,683 - function checkQuotation(59,1384 - class CommentAD 70,1639 - function CommentAD(73,1693 - function validate(83,1944 - class POEntry 105,2410 - function POEntry(119,2711 - function lineCount(135,3255 - function serializeToVars(141,3365 - function write(151,3800 - class POReader 163,4178 - function gettext(177,4457 - function parseFromVars(189,4705 - function serializeToVars(215,5331 - function POReader(229,5613 - function read(243,5983 - function write(259,6307 - function isComment(277,6645 - function comment(284,6822 - function msgid(304,7247 - function msgstr(320,7574 - function start(340,8232 - function createPOEntries(360,8644 - function stripLine(394,9472 - function printClassification(421,10056 - function classifyLine(432,10301 - function getTextDomains(471,11094 - class PORManager 498,11756 - function PORManager(502,11822 - function addPOReader(507,11896 - function &getPOReader(getPOReader512,11992 - function getDomainNames(517,12081 - function &loadPORManager(loadPORManager523,12174 - function fileJoin(536,12436 - function lce_bindtextdomain(557,12839 - function lce_textdomain(614,14530 - function lce_gettext(620,14641 - function lce_dgettext(626,14767 - function lce(634,14966 - function lce_bindtextdomain(651,15488 - function lce_textdomain(656,15592 - function lce_gettext(661,15674 - function lce_dgettext(666,15755 - function lce(670,15855 - function lce_geteditcode(676,15898 - -php-src/ptest.php,46 -define("TEST"TEST1,0 -test 4,26 -foo(16,200 - -perl-src/htlmify-cystic,1197 -my @section_name;section_name12,236 -my @appendix_name;appendix_name13,254 -my @section_toc;section_toc15,274 -my @appendix_toc;appendix_toc16,291 -my $new_tag new_tag18,310 -my $appendix;appendix24,409 -my $section;section25,423 -my $subsection;subsection26,436 -my $subsubsection;subsubsection27,452 -my $this_file_toc this_file_toc29,472 -my %file_tocs;file_tocs30,496 -my @output_files output_files32,512 -my $file_index file_index33,535 -my $output_file;output_file35,556 -my $line;line37,574 -my $subsection_marker;subsection_marker161,3883 -my $new;new163,3907 -sub read_toc 165,3917 - my $entry entry218,5621 - my $entry entry234,6077 - my $entry entry245,6351 - my $entry entry252,6536 - my $entry entry268,7010 - my $entry entry276,7204 - my $entry entry281,7328 - my $entry entry296,7698 -sub finish_subsubsections 302,7805 -sub finish_subsections 309,7987 -sub finish_sections 320,8310 -sub finish_appendices 331,8599 -sub section_url_base 337,8724 -sub section_url_name 342,8922 -sub section_url 355,9284 - my $name name357,9336 -sub section_href 364,9452 -sub section_name 368,9551 -sub toc_line 372,9655 -sub file_end 375,9750 - -perl-src/yagrip.pl,233 -sub getopt 7,156 - local($_,$flag,$opt,$f,$r,@temp)($_,$flag,$opt,$f,$r,@temp8,169 -sub usage 38,856 - local($prog,$_,@list)($prog,$_,@list39,868 - local($string,$flag,@string,@temp,@last)($string,$flag,@string,@temp,@last40,897 - -perl-src/kai-test.pl,203 -sub f1 2,16 -sub main::f2 f26,50 -package Foo;10,90 -sub f3 12,104 -sub Bar::f4 f416,138 -package Bar;20,177 -sub f5 22,191 -package Foo::Bar;26,225 -sub f6 28,244 -package main;32,278 -sub f7 34,293 - -ps-src/rfc1245.ps,2478 -/FMversion 12,311 -/FrameDict 17,500 -/FMVERSION 47,1307 -/FMLOCAL 56,1494 -/FMDOCUMENT 73,1766 -/FMBEGINPAGE 95,2279 -/FMENDPAGE 109,2516 -/FMDEFINEFONT 115,2582 -/FMNORMALIZEGRAPHICS 126,2725 -/FMBEGINEPSF 142,2955 -/FMENDEPSF 153,3207 -/setmanualfeed 158,3283 -/max 163,3386 -/min 164,3426 -/inch 165,3466 -/pagedimen 166,3485 -/setpapername 172,3629 -/papersize 190,4214 -/manualpapersize 211,4789 -/desperatepapersize 230,5211 -/savematrix 239,5370 -/restorematrix 242,5425 -/dmatrix 245,5475 -/dpi 246,5495 -/freq 248,5583 -/sangle 249,5658 -/DiacriticEncoding 250,5717 -/.notdef 251,5738 -/.notdef 252,5801 -/.notdef 253,5864 -/.notdef 254,5927 -/.notdef 255,5990 -/numbersign 256,6051 -/parenright 257,6115 -/two 258,6184 -/less 259,6251 -/L 260,6320 -/bracketright 261,6389 -/i 262,6459 -/braceright 263,6529 -/Ntilde 264,6598 -/atilde 265,6668 -/iacute 266,6733 -/ocircumflex 267,6797 -/udieresis 268,6858 -/paragraph 269,6919 -/dieresis 270,6983 -/yen 271,7050 -/ordfeminine 272,7109 -/exclamdown 273,7171 -/guillemotleft 274,7230 -/Otilde 275,7296 -/quoteleft 276,7357 -/fraction 277,7420 -/periodcentered 278,7490 -/Acircumflex 279,7549 -/Icircumflex 280,7610 -/Uacute 281,7680 -/breve 282,7746 -/ReEncode 284,7814 -/graymode 300,8020 -/setpattern 310,8184 -/grayness 331,8725 -/normalize 394,9873 -/dnormalize 397,9942 -/lnormalize 400,10014 -/H 403,10104 -/Z 406,10147 -/X 409,10176 -/V 412,10219 -/N 415,10260 -/M 418,10286 -/E 419,10315 -/D 420,10336 -/O 421,10358 -/L 423,10394 -/Y 430,10489 -/R 439,10588 -/RR 450,10696 -/C 467,10959 -/U 473,11004 -/F 477,11039 -/T 481,11084 -/RF 484,11115 -/TF 488,11164 -/P 495,11219 -/PF 499,11270 -/S 506,11344 -/SF 510,11384 -/B 517,11446 -/BF 521,11505 -/W 538,11714 -/G 573,12382 -/A 582,12525 -/BEGINPRINTCODE 606,12918 -/ENDPRINTCODE 615,13131 -/gn 620,13259 -/cfs 631,13384 -/ic 636,13473 -/ms 658,14285 -/ip 668,14395 -/wh 678,14492 -/bl 684,14607 -/s1 690,14722 -/fl 691,14739 -/hx 698,14887 -/wbytes 709,15055 -/BEGINBITMAPBWc 713,15147 -/BEGINBITMAPGRAYc 716,15198 -/BEGINBITMAP2BITc 719,15251 -/COMMONBITMAPc 722,15304 -/BEGINBITMAPBW 739,15660 -/BEGINBITMAPGRAY 742,15709 -/BEGINBITMAP2BIT 745,15760 -/COMMONBITMAP 748,15811 -/Fmcc 765,16156 -/ngrayt 773,16371 -/nredt 774,16393 -/nbluet 775,16414 -/ngreent 776,16436 -/colorsetup 787,16603 -/fakecolorsetup 814,17370 -/BITMAPCOLOR 826,17636 -/BITMAPCOLORc 839,17926 -/BITMAPGRAY 855,18275 -/BITMAPGRAYc 858,18335 -/ENDBITMAP 861,18397 -/fillprocs 868,18497 - -prol-src/ordsets.prolog,525 -is_ordset(47,1310 -list_to_ord_set(63,1688 -ord_add_element(71,1867 -ord_del_element(85,2344 -ord_disjoint(100,2783 -ord_intersect(108,2953 -ord_intersection(126,3553 -ord_intersection3(130,3692 -ord_intersection(150,4533 -ord_intersection4(154,4705 -ord_intersection(176,5666 -ord_intersection2(181,5814 -ord_member(200,6320 -ord_seteq(216,6685 -ord_setproduct(225,6973 -ord_subset(240,7379 -ord_subtract(257,7863 -ord_symdiff(265,8056 -ord_union(288,8889 -ord_union4(303,9354 -ord_union(324,10173 -ord_union_all(329,10315 - -prol-src/natded.prolog,2319 -expandmng(100,2879 -normalize(116,3359 -fresh_vars(125,3716 -subst(138,4134 -normalize_fresh(159,4660 -reduce_subterm(171,5112 -reduce(185,5559 -free_var(196,5903 -free_for(209,6246 -compile_lex(231,6875 -consult_lex:-consult_lex248,7384 -lex(259,7754 -expandsyn(267,8068 -bas_syn(292,8897 -compile_empty:-compile_empty310,9376 -complete(328,10055 -add_active(340,10527 -parse(353,10949 -derived_analyses(364,11341 -build(378,11967 -buildact(392,12523 -mapsyn(412,13544 -add_edge(434,14280 -findcats(447,14760 -normalize_tree(465,15480 -normalize_trees(475,15858 -expandmng_tree(486,16250 -expandmng_trees(496,16616 -cat(511,17015 -subtree(644,21268 -hypothetical_mem(653,21567 -make_coor(667,22132 -start_up:-start_up688,23015 -tokenizeatom(710,23923 -tokenize(720,24350 -isoperator(752,25379 -isoptab(756,25433 -specialsymbol(765,25758 -sstab(771,25863 -parse_cgi(787,26349 -keyvalseq(792,26512 -andkeyvalseq(796,26611 -keyval(799,26690 -valseq(807,26922 -plusvalseq(810,27009 -val(816,27111 -argvals(824,27428 -commaargvals(828,27505 -atomval(833,27580 -atom(836,27642 -action(846,28006 -keyvalcgi(864,28651 -keyvalscgi(865,28672 -outsyn(868,28728 -act(876,29062 -actout(901,29908 -texttreelist(912,30091 -htmltreelist(918,30192 -fitchtreelist(924,30306 -pp_html_table_tree(938,30761 -pp_html_tree(949,31115 -pp_html_trees(988,32383 -pp_html_table_fitch_tree(999,32771 -pp_html_fitch_tree(1017,33674 -removeexp(1129,39004 -splitexp(1142,39492 -pp_exp(1155,39992 -map_word(1168,40251 -pp_exps(1180,40476 -pp_tree(1188,40779 -pp_trees(1216,41809 -pp_word_list(1225,42130 -pp_word(1231,42264 -pp_word_list_rest(1238,42571 -pp_cat(1248,42931 -pp_syn(1255,43198 -pp_syn_paren(1276,43901 -pp_paren(1293,44379 -pp_syn_back(1300,44663 -pp_bas_cat(1311,45003 -writecat(1322,45411 -writesubs(1351,46457 -writesups(1361,46759 -writelistsubs(1371,47092 -pp_lam(1380,47410 -pp_lam_bracket(1398,48024 -pp_lam_paren(1407,48340 -pp_rule(1429,49240 -member(1447,49868 -append_list(1451,49921 -append(1456,50012 -at_least_one_member(1460,50078 -numbervars(1464,50173 -reverse(1467,50211 -select(1471,50292 -select_last(1475,50359 -cat_atoms(1479,50438 -writelist(1485,50526 -write_lex_cat(1492,50678 -writebreaklex(1500,50990 -write_lex(1513,51267 -writebreak(1521,51543 -tt:-tt1531,51715 -mt:-mt1534,51786 -cmt:-cmt1537,51880 - -pyt-src/server.py,1438 -class Controls:Controls17,358 - def __init__(18,374 - def __repr__(24,590 - def __str__(34,871 -class Server:Server37,934 - def __init__(38,948 - def dump(73,2198 - def __repr__(125,3896 - def __str__(128,3945 -class User:User131,4014 - def __init__(132,4026 - def __repr__(172,5445 - def __str__(206,6883 -def flag2str(223,7212 -class LabeledEntry(232,7442 - def bind(234,7525 - def focus_set(236,7584 - def __init__(238,7629 -def ButtonBar(245,7909 -def helpwin(255,8280 -class ListEdit(267,8707 - def __init__(269,8808 - def handleList(303,10042 - def handleNew(306,10094 - def editItem(314,10426 - def deleteItem(320,10596 -def ConfirmQuit(326,10760 -class ControlEdit(375,12377 - def PostControls(376,12403 - def GatherControls(421,13530 -class ServerEdit(512,16264 - def __init__(513,16289 - def post(525,16629 - def gather(543,17191 - def nosave(547,17304 - def save(551,17408 - def refreshPort(556,17509 - def createWidgets(561,17663 - def edituser(631,20708 -class UserEdit(645,20921 - def __init__(646,20944 - def post(658,21283 - def gather(676,21841 - def nosave(680,21950 - def save(684,22052 - def createWidgets(689,22151 -class Configure(760,24879 - def __init__(761,24916 - def MakeDispose(772,25211 - def MakeSitelist(786,25706 - def editsite(794,25949 - def save(797,26022 - def nosave(807,26310 - -ruby-src/test.rb,637 -module ModuleExample1,0 - class ClassExample2,21 - def instance_method3,44 - def ClassExample.class_methodclass_method6,121 - def instance_method_exclamation!9,206 - def instance_method_question?12,310 - def instance_method_equals=instance_method_equals=15,408 - def `(18,502 - def +(21,592 - def [](24,640 - def []=([]=27,690 - def <<(30,752 - def ==(==33,802 - def <=(<=36,872 - def <=>(<=>39,943 - def ===(===42,990 - def module_instance_method46,1051 - def ModuleExample.module_class_methodmodule_class_method49,1131 - -ruby-src/test1.ru,935 -class A1,0 - def a(2,8 - def b(5,38 -module A9,57 - class B10,66 - ABC 11,76 - Def_ 12,88 - Xyzzy 13,106 - def foo!15,121 - def self._bar?(_bar?18,143 - def qux=(qux=22,194 - attr_reader :foofoo26,233 - attr_reader :read1 read127,254 - attr_reader :read1 , :read2;read227,254 - attr_reader :read1 , :read2; attr_writer :write1,write1=27,254 - attr_reader :read1 , :read2; attr_writer :write1, :write2write2=27,254 - attr_writer :bar,bar=28,316 - :baz,baz=29,338 - :moremore=30,360 - attr_accessor :teetee31,382 - attr_accessor :teetee=31,382 - alias_method :qux,qux32,405 - alias_method :xyz,xyz33,456 - :tee ; attr_reader :subtlesubtle34,479 - attr_reader(:foo1,foo135,523 - attr_reader(:foo1, :bar1,bar135,523 - :qux1)qux136,563 - alias_method ( :foo2,foo237,586 -A::Constant Constant42,655 - -rs-src/test.rs,52 -enum IpAddrKind 3,11 -fn test1(8,48 -fn main(12,88 - -scm-src/test.scm,260 -(define hello 1,0 -(set! hello 3,32 -(define (hello-world)5,62 -(define (there-is-a-=-in-the-middle!)there-is-a-=-in-the-middle!10,128 -(define =starts-with-equals! =starts-with-equals!12,171 -(define (((((curry-test 14,205 -(define-syntax test-begin17,265 - -tex-src/testenv.tex,52 -\newcommand{\nm}\nm4,77 -\section{blah}blah8,139 - -tex-src/gzip.texi,303 -@node Top,62,2139 -@node Copying,80,2652 -@node Overview,83,2705 -@node Sample,166,7273 -@node Invoking gzip,Invoking gzip210,8829 -@node Advanced usage,Advanced usage357,13497 -@node Environment,420,15209 -@node Tapes,437,15770 -@node Problems,460,16769 -@node Concept Index,Concept Index473,17289 - -tex-src/texinfo.tex,30627 -\def\texinfoversion{\texinfoversion26,1035 -\def\tie{\tie49,1526 -\def\gloggingall{\gloggingall72,2276 -\def\loggingall{\loggingall73,2345 -\def\onepageout#1{\onepageout99,3282 -\def\croppageout#1{\croppageout115,4032 -\def\cropmarks{\cropmarks142,5092 -\def\pagebody#1{\pagebody144,5139 -\def\ewtop{\ewtop157,5594 -\def\nstop{\nstop158,5658 -\def\ewbot{\ewbot160,5741 -\def\nsbot{\nsbot161,5805 -\def\parsearg #1{\parsearg170,6104 -\def\parseargx{\parseargx172,6182 -\def\parseargline{\parseargline182,6422 -\def\flushcr{\flushcr186,6543 -\newif\ifENV \ENVfalse \def\inENV{\inENV190,6742 -\def\ENVcheck{\ENVcheck191,6806 -\outer\def\begin{\begin198,7053 -\def\beginxxx #1{\beginxxx200,7091 -\def\end{\end208,7346 -\def\endxxx #1{\endxxx210,7374 -\def\errorE#1{\errorE216,7563 -\def\singlespace{\singlespace222,7757 -\def\@{\@232,7980 -\def\`{\`236,8080 -\def\'{\'237,8092 -\def\mylbrace {\mylbrace241,8140 -\def\myrbrace {\myrbrace242,8173 -\def\:{\:247,8287 -\def\*{\*250,8341 -\def\.{\.253,8417 -\def\w#1{\w258,8648 -\def\group{\group268,9131 - \def\Egroup{\Egroup273,9295 -\def\need{\need289,9737 -\def\needx#1{\needx300,10014 -\def\dots{\dots339,11400 -\def\page{\page343,11464 -\def\exdent{\exdent353,11791 -\def\exdentyyy #1{\exdentyyy354,11824 -\def\nofillexdent{\nofillexdent357,11968 -\def\nofillexdentyyy #1{\nofillexdentyyy358,12013 -\def\include{\include365,12197 -\def\includezzz #1{\includezzz366,12232 -\def\thisfile{\thisfile369,12283 -\def\center{\center373,12346 -\def\centerzzz #1{\centerzzz374,12379 -\def\sp{\sp380,12521 -\def\spxxx #1{\spxxx381,12546 -\def\comment{\comment387,12720 -\def\commentxxx #1{\commentxxx390,12817 -\def\ignoresections{\ignoresections396,12986 -\let\chapter=\relax=\relax397,13008 -\let\section=\relax=\relax406,13253 -\let\subsection=\relax=\relax409,13314 -\let\subsubsection=\relax=\relax410,13337 -\let\appendix=\relax=\relax411,13363 -\let\appendixsec=\relaxsec=\relax412,13384 -\let\appendixsection=\relaxsection=\relax413,13408 -\let\appendixsubsec=\relaxsubsec=\relax414,13436 -\let\appendixsubsection=\relaxsubsection=\relax415,13463 -\let\appendixsubsubsec=\relaxsubsubsec=\relax416,13494 -\let\appendixsubsubsection=\relaxsubsubsection=\relax417,13524 -\def\ignore{\ignore423,13626 -\long\def\ignorexxx #1\end ignore{\ignorexxx427,13766 -\def\direntry{\direntry429,13825 -\long\def\direntryxxx #1\end direntry{\direntryxxx430,13864 -\def\ifset{\ifset434,13974 -\def\ifsetxxx #1{\ifsetxxx436,14032 -\def\Eifset{\Eifset440,14159 -\def\ifsetfail{\ifsetfail441,14173 -\long\def\ifsetfailxxx #1\end ifset{\ifsetfailxxx442,14229 -\def\ifclear{\ifclear444,14290 -\def\ifclearxxx #1{\ifclearxxx446,14352 -\def\Eifclear{\Eifclear450,14483 -\def\ifclearfail{\ifclearfail451,14499 -\long\def\ifclearfailxxx #1\end ifclear{\ifclearfailxxx452,14559 -\def\set{\set456,14710 -\def\setxxx #1{\setxxx457,14737 -\def\clear{\clear460,14799 -\def\clearxxx #1{\clearxxx461,14830 -\def\iftex{\iftex466,14947 -\def\Eiftex{\Eiftex467,14960 -\def\ifinfo{\ifinfo468,14974 -\long\def\ifinfoxxx #1\end ifinfo{\ifinfoxxx469,15024 -\long\def\menu #1\end menu{\menu471,15083 -\def\asis#1{\asis472,15112 -\def\math#1{\math485,15655 -\def\node{\node487,15699 -\def\nodezzz#1{\nodezzz488,15737 -\def\nodexxx[#1,#2]{\nodexxx[489,15768 -\def\donoderef{\donoderef492,15830 -\def\unnumbnoderef{\unnumbnoderef496,15951 -\def\appendixnoderef{\appendixnoderef500,16082 -\expandafter\expandafter\expandafter\appendixsetref{setref501,16128 -\let\refill=\relaxill=\relax504,16217 -\def\setfilename{\setfilename509,16431 -\outer\def\bye{\bye518,16677 -\def\inforef #1{\inforef520,16733 -\def\inforefzzz #1,#2,#3,#4**{\inforefzzz521,16771 -\def\losespace #1{\losespace523,16868 -\def\sf{\sf532,17072 -\font\defbf=cmbx10 scaled \magstep1 %was 1314bf=cmbx10558,17867 -\font\deftt=cmtt10 scaled \magstep1tt=cmtt10559,17913 -\def\df{\df560,17949 -\def\resetmathfonts{\resetmathfonts635,20543 -\def\textfonts{\textfonts648,21132 -\def\chapfonts{\chapfonts653,21347 -\def\secfonts{\secfonts658,21563 -\def\subsecfonts{\subsecfonts663,21768 -\def\indexfonts{\indexfonts668,21985 -\def\smartitalicx{\smartitalicx691,22717 -\def\smartitalic#1{\smartitalic692,22793 -\let\cite=\smartitalic=\smartitalic698,22938 -\def\b#1{\b700,22962 -\def\t#1{\t703,22997 -\def\samp #1{\samp706,23149 -\def\key #1{\key707,23182 -\def\ctrl #1{\ctrl708,23243 -\def\tclose#1{\tclose716,23445 -\def\ {\720,23611 -\def\xkey{\xkey728,23880 -\def\kbdfoo#1#2#3\par{\kbdfoo729,23896 -\def\dmn#1{\dmn738,24197 -\def\kbd#1{\kbd740,24224 -\def\l#1{\l742,24281 -\def\r#1{\r744,24310 -\def\sc#1{\sc746,24378 -\def\ii#1{\ii747,24421 -\def\titlefont#1{\titlefont755,24654 -\def\titlepage{\titlepage761,24757 - \def\subtitlefont{\subtitlefont766,24984 - \def\authorfont{\authorfont768,25068 - \def\title{\title774,25278 - \def\titlezzz##1{\titlezzz775,25313 - \def\subtitle{\subtitle783,25628 - \def\subtitlezzz##1{\subtitlezzz784,25669 - \def\author{\author787,25787 - \def\authorzzz##1{\authorzzz788,25824 - \def\page{\page794,26115 -\def\Etitlepage{\Etitlepage804,26284 -\def\finishtitlepage{\finishtitlepage817,26672 -\def\evenheading{\evenheading846,27680 -\def\oddheading{\oddheading847,27723 -\def\everyheading{\everyheading848,27764 -\def\evenfooting{\evenfooting850,27810 -\def\oddfooting{\oddfooting851,27853 -\def\everyfooting{\everyfooting852,27894 -\def\headings #1 {\headings893,29586 -\def\HEADINGSoff{\HEADINGSoff895,29635 -\def\HEADINGSdouble{\HEADINGSdouble904,30062 -\def\HEADINGSsingle{\HEADINGSsingle914,30382 -\def\HEADINGSon{\HEADINGSon922,30603 -\def\HEADINGSafter{\HEADINGSafter924,30637 -\def\HEADINGSdoublex{\HEADINGSdoublex926,30732 -\def\HEADINGSsingleafter{\HEADINGSsingleafter933,30920 -\def\HEADINGSsinglex{\HEADINGSsinglex934,30981 -\def\today{\today943,31256 -\def\thistitle{\thistitle958,31801 -\def\settitle{\settitle959,31826 -\def\settitlezzz #1{\settitlezzz960,31863 -\def\internalBitem{\internalBitem992,32793 -\def\internalBitemx{\internalBitemx993,32843 -\def\internalBxitem "#1"{\internalBxitem995,32888 -\def\internalBxitemx "#1"{\internalBxitemx996,32968 -\def\internalBkitem{\internalBkitem998,33043 -\def\internalBkitemx{\internalBkitemx999,33095 -\def\kitemzzz #1{\kitemzzz1001,33142 -\def\xitemzzz #1{\xitemzzz1004,33244 -\def\itemzzz #1{\itemzzz1007,33347 -\def\item{\item1037,34418 -\def\itemx{\itemx1038,34469 -\def\kitem{\kitem1039,34522 -\def\kitemx{\kitemx1040,34575 -\def\xitem{\xitem1041,34630 -\def\xitemx{\xitemx1042,34683 -\def\description{\description1045,34793 -\def\table{\table1047,34843 -\def\ftable{\ftable1052,34987 -\def\Eftable{\Eftable1056,35133 -\def\vtable{\vtable1059,35202 -\def\Evtable{\Evtable1063,35348 -\def\dontindex #1{\dontindex1066,35417 -\def\fnitemindex #1{\fnitemindex1067,35437 -\def\vritemindex #1{\vritemindex1068,35482 -\def\tablez #1#2#3#4#5#6{\tablez1074,35631 -\def\Edescription{\Edescription1077,35689 -\def\itemfont{\itemfont1082,35890 -\def\Etable{\Etable1090,36116 -\def\itemize{\itemize1103,36440 -\def\itemizezzz #1{\itemizezzz1105,36476 -\def\itemizey #1#2{\itemizey1110,36571 -\def#2{1119,36817 -\def\itemcontents{\itemcontents1120,36858 -\def\bullet{\bullet1123,36906 -\def\minus{\minus1124,36933 -\def\frenchspacing{\frenchspacing1128,37041 -\def\splitoff#1#2\endmark{\splitoff1134,37266 -\def\enumerate{\enumerate1140,37496 -\def\enumeratezzz #1{\enumeratezzz1141,37535 -\def\enumeratey #1 #2\endenumeratey{\enumeratey1142,37588 - \def\thearg{\thearg1146,37735 - \ifx\thearg\empty \def\thearg{\thearg1147,37754 -\def\numericenumerate{\numericenumerate1184,39088 -\def\lowercaseenumerate{\lowercaseenumerate1190,39218 -\def\uppercaseenumerate{\uppercaseenumerate1203,39565 -\def\startenumeration#1{\startenumeration1219,40055 -\def\alphaenumerate{\alphaenumerate1227,40237 -\def\capsenumerate{\capsenumerate1228,40272 -\def\Ealphaenumerate{\Ealphaenumerate1229,40306 -\def\Ecapsenumerate{\Ecapsenumerate1230,40340 -\def\itemizeitem{\itemizeitem1234,40420 -\def\newindex #1{\newindex1259,41277 -\def\defindex{\defindex1268,41566 -\def\newcodeindex #1{\newcodeindex1272,41674 -\def\defcodeindex{\defcodeindex1279,41934 -\def\synindex #1 #2 {\synindex1283,42114 -\def\syncodeindex #1 #2 {\syncodeindex1292,42454 -\def\doindex#1{\doindex1309,43133 -\def\singleindexer #1{\singleindexer1310,43192 -\def\docodeindex#1{\docodeindex1313,43304 -\def\singlecodeindexer #1{\singlecodeindexer1314,43371 -\def\indexdummies{\indexdummies1316,43429 -\def\_{\_1317,43449 -\def\w{\w1318,43477 -\def\bf{\bf1319,43504 -\def\rm{\rm1320,43533 -\def\sl{\sl1321,43562 -\def\sf{\sf1322,43591 -\def\tt{\tt1323,43619 -\def\gtr{\gtr1324,43647 -\def\less{\less1325,43677 -\def\hat{\hat1326,43709 -\def\char{\char1327,43739 -\def\TeX{\TeX1328,43771 -\def\dots{\dots1329,43801 -\def\copyright{\copyright1330,43834 -\def\tclose##1{\tclose1331,43877 -\def\code##1{\code1332,43922 -\def\samp##1{\samp1333,43963 -\def\t##1{\t1334,44004 -\def\r##1{\r1335,44039 -\def\i##1{\i1336,44074 -\def\b##1{\b1337,44109 -\def\cite##1{\cite1338,44144 -\def\key##1{\key1339,44185 -\def\file##1{\file1340,44224 -\def\var##1{\var1341,44265 -\def\kbd##1{\kbd1342,44304 -\def\indexdummyfont#1{\indexdummyfont1347,44460 -\def\indexdummytex{\indexdummytex1348,44486 -\def\indexdummydots{\indexdummydots1349,44510 -\def\indexnofonts{\indexnofonts1351,44536 -\let\w=\indexdummyfontdummyfont1352,44556 -\let\t=\indexdummyfontdummyfont1353,44579 -\let\r=\indexdummyfontdummyfont1354,44602 -\let\i=\indexdummyfontdummyfont1355,44625 -\let\b=\indexdummyfontdummyfont1356,44648 -\let\emph=\indexdummyfontdummyfont1357,44671 -\let\strong=\indexdummyfontdummyfont1358,44697 -\let\cite=\indexdummyfont=\indexdummyfont1359,44725 -\let\sc=\indexdummyfontdummyfont1360,44751 -\let\tclose=\indexdummyfontdummyfont1364,44923 -\let\code=\indexdummyfontdummyfont1365,44951 -\let\file=\indexdummyfontdummyfont1366,44977 -\let\samp=\indexdummyfontdummyfont1367,45003 -\let\kbd=\indexdummyfontdummyfont1368,45029 -\let\key=\indexdummyfontdummyfont1369,45054 -\let\var=\indexdummyfontdummyfont1370,45079 -\let\TeX=\indexdummytexdummytex1371,45104 -\let\dots=\indexdummydotsdummydots1372,45128 -\let\indexbackslash=0 %overridden during \printindex.backslash=01382,45380 -\def\doind #1#2{\doind1384,45436 -{\indexdummies % Must do this here, since \bf, etc expand at this stagedummies1386,45479 -\def\rawbackslashxx{\rawbackslashxx1389,45619 -{\indexnofontsnofonts1394,45881 -\def\dosubind #1#2#3{\dosubind1405,46192 -{\indexdummies % Must do this here, since \bf, etc expand at this stagedummies1407,46240 -\def\rawbackslashxx{\rawbackslashxx1410,46344 -{\indexnofontsnofonts1414,46498 -\def\findex {\findex1443,47429 -\def\kindex {\kindex1444,47452 -\def\cindex {\cindex1445,47475 -\def\vindex {\vindex1446,47498 -\def\tindex {\tindex1447,47521 -\def\pindex {\pindex1448,47544 -\def\cindexsub {\cindexsub1450,47568 -\def\printindex{\printindex1462,47895 -\def\doprintindex#1{\doprintindex1464,47936 - \def\indexbackslash{\indexbackslash1481,48421 - \indexfonts\rm \tolerance=9500 \advance\baselineskip -1ptfonts\rm1482,48460 -\def\initial #1{\initial1517,49532 -\def\entry #1#2{\entry1523,49739 - \null\nobreak\indexdotfill % Have leaders before the page number.dotfill1540,50386 -\def\indexdotfill{\indexdotfill1549,50714 -\def\primary #1{\primary1552,50820 -\def\secondary #1#2{\secondary1556,50902 -\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\pardotfill1559,50984 -\newbox\partialpageialpage1566,51157 -\def\begindoublecolumns{\begindoublecolumns1572,51315 - \output={\global\setbox\partialpage=ialpage=1573,51351 -\def\enddoublecolumns{\enddoublecolumns1577,51539 -\def\doublecolumnout{\doublecolumnout1580,51624 - \dimen@=\pageheight \advance\dimen@ by-\ht\partialpageialpage1581,51693 -\def\pagesofar{\pagesofar1584,51871 -\def\balancecolumns{\balancecolumns1588,52108 - \availdimen@=\pageheight \advance\availdimen@ by-\ht\partialpageialpage1594,52279 - \dimen@=\pageheight \advance\dimen@ by-\ht\partialpageialpage1600,52540 -\newcount \appendixno \appendixno = `\@no1627,53445 -\def\appendixletter{\appendixletter1628,53486 -\def\opencontents{\opencontents1632,53589 -\def\thischapter{\thischapter1637,53770 -\def\seccheck#1{\seccheck1638,53808 -\def\chapternofonts{\chapternofonts1643,53912 -\def\result{\result1646,53987 -\def\equiv{\equiv1647,54022 -\def\expansion{\expansion1648,54055 -\def\print{\print1649,54096 -\def\TeX{\TeX1650,54129 -\def\dots{\dots1651,54158 -\def\copyright{\copyright1652,54189 -\def\tt{\tt1653,54230 -\def\bf{\bf1654,54257 -\def\w{\w1655,54285 -\def\less{\less1656,54310 -\def\gtr{\gtr1657,54341 -\def\hat{\hat1658,54370 -\def\char{\char1659,54399 -\def\tclose##1{\tclose1660,54430 -\def\code##1{\code1661,54474 -\def\samp##1{\samp1662,54514 -\def\r##1{\r1663,54554 -\def\b##1{\b1664,54588 -\def\key##1{\key1665,54622 -\def\file##1{\file1666,54660 -\def\kbd##1{\kbd1667,54700 -\def\i##1{\i1669,54808 -\def\cite##1{\cite1670,54842 -\def\var##1{\var1671,54882 -\def\emph##1{\emph1672,54920 -\def\dfn##1{\dfn1673,54960 -\def\thischaptername{\thischaptername1676,55001 -\outer\def\chapter{\chapter1677,55040 -\def\chapterzzz #1{\chapterzzz1678,55081 -{\chapternofonts%nofonts%1687,55477 -\global\let\section = \numberedsec=1692,55630 -\global\let\subsection = \numberedsubsec=1693,55665 -\global\let\subsubsection = \numberedsubsubsec=1694,55706 -\outer\def\appendix{\appendix1697,55757 -\def\appendixzzz #1{\appendixzzz1698,55800 -\global\advance \appendixno by 1 \message{no1700,55877 -\chapmacro {#1}{Appendix \appendixletter}letter1701,55946 -\xdef\thischapter{Appendix \appendixletter: \noexpand\thischaptername}letter:1704,56039 -{\chapternofonts%nofonts%1705,56111 - {#1}{Appendix \appendixletter}letter1707,56167 -\appendixnoderef %noderef1710,56267 -\global\let\section = \appendixsec=1711,56286 -\global\let\subsection = \appendixsubsec=1712,56321 -\global\let\subsubsection = \appendixsubsubsec=1713,56362 -\outer\def\top{\top1716,56413 -\outer\def\unnumbered{\unnumbered1717,56453 -\def\unnumberedzzz #1{\unnumberedzzz1718,56500 -{\chapternofonts%nofonts%1722,56663 -\global\let\section = \unnumberedsec=1727,56813 -\global\let\subsection = \unnumberedsubsec=1728,56850 -\global\let\subsubsection = \unnumberedsubsubsec=1729,56893 -\outer\def\numberedsec{\numberedsec1732,56946 -\def\seczzz #1{\seczzz1733,56987 -{\chapternofonts%nofonts%1736,57143 -\outer\def\appendixsection{\appendixsection1745,57329 -\outer\def\appendixsec{\appendixsec1746,57386 -\def\appendixsectionzzz #1{\appendixsectionzzz1747,57439 -\gdef\thissection{#1}\secheading {#1}{\appendixletter}letter1749,57551 -{\chapternofonts%nofonts%1750,57619 -{#1}{\appendixletter}letter1752,57675 -\appendixnoderef %noderef1755,57775 -\outer\def\unnumberedsec{\unnumberedsec1759,57815 -\def\unnumberedseczzz #1{\unnumberedseczzz1760,57868 -{\chapternofonts%nofonts%1762,57963 -\outer\def\numberedsubsec{\numberedsubsec1770,58131 -\def\numberedsubseczzz #1{\numberedsubseczzz1771,58186 -{\chapternofonts%nofonts%1774,58365 -\outer\def\appendixsubsec{\appendixsubsec1783,58569 -\def\appendixsubseczzz #1{\appendixsubseczzz1784,58624 -\subsecheading {#1}{\appendixletter}letter1786,58746 -{\chapternofonts%nofonts%1787,58811 -{#1}{\appendixletter}letter1789,58870 -\appendixnoderef %noderef1792,58985 -\outer\def\unnumberedsubsec{\unnumberedsubsec1796,59025 -\def\unnumberedsubseczzz #1{\unnumberedsubseczzz1797,59084 -{\chapternofonts%nofonts%1799,59185 -\outer\def\numberedsubsubsec{\numberedsubsubsec1807,59356 -\def\numberedsubsubseczzz #1{\numberedsubsubseczzz1808,59417 -{\chapternofonts%nofonts%1812,59614 -\outer\def\appendixsubsubsec{\appendixsubsubsec1823,59847 -\def\appendixsubsubseczzz #1{\appendixsubsubseczzz1824,59908 - {\appendixletter}letter1827,60047 -{\chapternofonts%nofonts%1828,60113 - {\appendixletter}letter1830,60178 -\appendixnoderef %noderef1834,60312 -\outer\def\unnumberedsubsubsec{\unnumberedsubsubsec1838,60352 -\def\unnumberedsubsubseczzz #1{\unnumberedsubsubseczzz1839,60417 -{\chapternofonts%nofonts%1841,60524 -\def\infotop{\infotop1851,60853 -\def\infounnumbered{\infounnumbered1852,60891 -\def\infounnumberedsec{\infounnumberedsec1853,60936 -\def\infounnumberedsubsec{\infounnumberedsubsec1854,60987 -\def\infounnumberedsubsubsec{\infounnumberedsubsubsec1855,61044 -\def\infoappendix{\infoappendix1857,61108 -\def\infoappendixsec{\infoappendixsec1858,61149 -\def\infoappendixsubsec{\infoappendixsubsec1859,61196 -\def\infoappendixsubsubsec{\infoappendixsubsubsec1860,61249 -\def\infochapter{\infochapter1862,61309 -\def\infosection{\infosection1863,61348 -\def\infosubsection{\infosubsection1864,61387 -\def\infosubsubsection{\infosubsubsection1865,61432 -\global\let\section = \numberedsec=1870,61669 -\global\let\subsection = \numberedsubsec=1871,61704 -\global\let\subsubsection = \numberedsubsubsec=1872,61745 -\def\majorheading{\majorheading1886,62252 -\def\majorheadingzzz #1{\majorheadingzzz1887,62297 -\def\chapheading{\chapheading1893,62530 -\def\chapheadingzzz #1{\chapheadingzzz1894,62573 -\def\heading{\heading1899,62768 -\def\subheading{\subheading1901,62805 -\def\subsubheading{\subsubheading1903,62848 -\def\dobreak#1#2{\dobreak1910,63125 -\def\setchapterstyle #1 {\setchapterstyle1912,63203 -\def\chapbreak{\chapbreak1919,63458 -\def\chappager{\chappager1920,63508 -\def\chapoddpage{\chapoddpage1921,63546 -\def\setchapternewpage #1 {\setchapternewpage1923,63625 -\def\CHAPPAGoff{\CHAPPAGoff1925,63682 -\def\CHAPPAGon{\CHAPPAGon1929,63776 -\global\def\HEADINGSon{\HEADINGSon1932,63867 -\def\CHAPPAGodd{\CHAPPAGodd1934,63909 -\global\def\HEADINGSon{\HEADINGSon1937,64005 -\def\CHAPFplain{\CHAPFplain1941,64059 -\def\chfplain #1#2{\chfplain1945,64151 -\def\unnchfplain #1{\unnchfplain1956,64374 -\def\unnchfopen #1{\unnchfopen1964,64603 -\def\chfopen #1#2{\chfopen1970,64811 -\def\CHAPFopen{\CHAPFopen1975,64955 -\def\subsecheadingbreak{\subsecheadingbreak1982,65173 -\def\secheadingbreak{\secheadingbreak1985,65302 -\def\secheading #1#2#3{\secheading1993,65584 -\def\plainsecheading #1{\plainsecheading1994,65640 -\def\secheadingi #1{\secheadingi1995,65683 -\def\subsecheading #1#2#3#4{\subsecheading2006,66051 -\def\subsecheadingi #1{\subsecheadingi2007,66118 -\def\subsubsecfonts{\subsubsecfonts2014,66415 -\def\subsubsecheading #1#2#3#4#5{\subsubsecheading2017,66538 -\def\subsubsecheadingi #1{\subsubsecheadingi2018,66616 -\def\startcontents#1{\startcontents2032,67088 - \unnumbchapmacro{#1}\def\thischapter{\thischapter2040,67361 -\outer\def\contents{\contents2049,67720 -\outer\def\summarycontents{\summarycontents2057,67864 - \def\secentry ##1##2##3##4{\secentry2067,68235 - \def\unnumbsecentry ##1##2{\unnumbsecentry2068,68270 - \def\subsecentry ##1##2##3##4##5{\subsecentry2069,68305 - \def\unnumbsubsecentry ##1##2{\unnumbsubsecentry2070,68346 - \def\subsubsecentry ##1##2##3##4##5##6{\subsubsecentry2071,68384 - \def\unnumbsubsubsecentry ##1##2{\unnumbsubsubsecentry2072,68431 -\def\chapentry#1#2#3{\chapentry2085,68865 -\def\shortchapentry#1#2#3{\shortchapentry2088,68982 - {#2\labelspace #1}space2091,69092 -\def\unnumbchapentry#1#2{\unnumbchapentry2094,69146 -\def\shortunnumberedentry#1#2{\shortunnumberedentry2095,69193 -\def\secentry#1#2#3#4{\secentry2102,69357 -\def\unnumbsecentry#1#2{\unnumbsecentry2103,69416 -\def\subsecentry#1#2#3#4#5{\subsecentry2106,69477 -\def\unnumbsubsecentry#1#2{\unnumbsubsecentry2107,69547 -\def\subsubsecentry#1#2#3#4#5#6{\subsubsecentry2110,69621 - \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}space2111,69655 -\def\unnumbsubsubsecentry#1#2{\unnumbsubsubsecentry2112,69706 -\def\dochapentry#1#2{\dochapentry2123,70080 -\def\dosecentry#1#2{\dosecentry2138,70685 -\def\dosubsecentry#1#2{\dosubsecentry2145,70863 -\def\dosubsubsecentry#1#2{\dosubsubsecentry2152,71048 -\def\labelspace{\labelspace2160,71299 -\def\dopageno#1{\dopageno2162,71334 -\def\doshortpageno#1{\doshortpageno2163,71360 -\def\chapentryfonts{\chapentryfonts2165,71392 -\def\secentryfonts{\secentryfonts2166,71427 -\def\point{\point2192,72386 -\def\result{\result2194,72407 -\def\expansion{\expansion2195,72480 -\def\print{\print2196,72551 -\def\equiv{\equiv2198,72618 -\def\error{\error2218,73391 -\def\tex{\tex2224,73620 -\def\@{\@2242,74003 -\gdef\sepspaces{\def {\ }}}\2265,74735 -\def\aboveenvbreak{\aboveenvbreak2268,74817 -\def\afterenvbreak{\afterenvbreak2272,74983 -\def\ctl{\ctl2286,75494 -\def\ctr{\ctr2287,75566 -\def\cbl{\cbl2288,75605 -\def\cbr{\cbr2289,75645 -\def\carttop{\carttop2290,75684 -\def\cartbot{\cartbot2293,75792 -\long\def\cartouche{\cartouche2299,75932 -\def\Ecartouche{\Ecartouche2326,76720 -\def\lisp{\lisp2338,76855 -\def\Elisp{\Elisp2348,77202 -\def\next##1{\next2360,77528 -\def\Eexample{\Eexample2364,77570 -\def\Esmallexample{\Esmallexample2367,77617 -\def\smalllispx{\smalllispx2373,77795 -\def\Esmalllisp{\Esmalllisp2383,78149 -\obeyspaces \obeylines \ninett \indexfonts \rawbackslashfonts2396,78505 -\def\next##1{\next2397,78562 -\def\display{\display2401,78642 -\def\Edisplay{\Edisplay2410,78961 -\def\next##1{\next2422,79272 -\def\format{\format2426,79375 -\def\Eformat{\Eformat2434,79671 -\def\next##1{\next2437,79760 -\def\flushleft{\flushleft2441,79812 -\def\Eflushleft{\Eflushleft2451,80183 -\def\next##1{\next2454,80276 -\def\flushright{\flushright2456,80298 -\def\Eflushright{\Eflushright2466,80670 -\def\next##1{\next2470,80801 -\def\quotation{\quotation2474,80859 -\def\Equotation{\Equotation2480,81051 -\def\setdeffont #1 {\setdeffont2493,81449 -\newskip\defbodyindent \defbodyindent=.4inbodyindent2495,81495 -\newskip\defargsindent \defargsindent=50ptargsindent2496,81538 -\newskip\deftypemargin \deftypemargin=12pttypemargin2497,81581 -\newskip\deflastargmargin \deflastargmargin=18ptlastargmargin2498,81624 -\def\activeparens{\activeparens2503,81822 -\def\opnr{\opnr2529,83034 -\def\lbrb{\lbrb2530,83099 -\def\defname #1#2{\defname2536,83300 -\advance\dimen2 by -\defbodyindentbodyindent2540,83418 -\advance\dimen3 by -\defbodyindentbodyindent2542,83472 -\setbox0=\hbox{\hskip \deflastargmargin{lastargmargin2544,83526 -\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuationsargsindent2546,83668 -\parshape 2 0in \dimen0 \defargsindent \dimen1 %argsindent2547,83743 -\rlap{\rightline{{\rm #2}\hskip \deftypemargin}typemargin2554,84112 -\advance\leftskip by -\defbodyindentbodyindent2557,84246 -\exdentamount=\defbodyindentbodyindent2558,84283 -\def\defparsebody #1#2#3{\defparsebody2568,84642 -\def#1{2572,84826 -\def#2{2573,84862 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2575,84934 -\exdentamount=\defbodyindentbodyindent2576,85008 -\def\defmethparsebody #1#2#3#4 {\defmethparsebody2581,85112 -\def#1{2585,85273 -\def#2##1 {2586,85309 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2588,85392 -\exdentamount=\defbodyindentbodyindent2589,85466 -\def\defopparsebody #1#2#3#4#5 {\defopparsebody2592,85551 -\def#1{2596,85712 -\def#2##1 ##2 {2597,85748 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2600,85848 -\exdentamount=\defbodyindentbodyindent2601,85922 -\def\defvarparsebody #1#2#3{\defvarparsebody2608,86193 -\def#1{2612,86380 -\def#2{2613,86416 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2615,86475 -\exdentamount=\defbodyindentbodyindent2616,86549 -\def\defvrparsebody #1#2#3#4 {\defvrparsebody2621,86640 -\def#1{2625,86799 -\def#2##1 {2626,86835 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2628,86905 -\exdentamount=\defbodyindentbodyindent2629,86979 -\def\defopvarparsebody #1#2#3#4#5 {\defopvarparsebody2632,87051 -\def#1{2636,87215 -\def#2##1 ##2 {2637,87251 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2640,87338 -\exdentamount=\defbodyindentbodyindent2641,87412 -\def\defunargs #1{\defunargs2664,88172 -\def\deftypefunargs #1{\deftypefunargs2676,88554 -\def\deffn{\deffn2690,88936 -\def\deffnheader #1#2#3{\deffnheader2692,88993 -\begingroup\defname {name2693,89041 -\def\defun{\defun2699,89186 -\def\defunheader #1#2{\defunheader2701,89239 -\begingroup\defname {name2702,89314 -\defunargs {unargs2703,89350 -\def\deftypefun{\deftypefun2709,89498 -\def\deftypefunheader #1#2{\deftypefunheader2712,89620 -\def\deftypefunheaderx #1#2 #3\relax{\deftypefunheaderx2714,89729 -\begingroup\defname {name2716,89821 -\deftypefunargs {typefunargs2717,89867 -\def\deftypefn{\deftypefn2723,90038 -\def\deftypefnheader #1#2#3{\deftypefnheader2726,90187 -\def\deftypefnheaderx #1#2#3 #4\relax{\deftypefnheaderx2728,90323 -\begingroup\defname {name2730,90416 -\deftypefunargs {typefunargs2731,90456 -\def\defmac{\defmac2737,90577 -\def\defmacheader #1#2{\defmacheader2739,90634 -\begingroup\defname {name2740,90710 -\defunargs {unargs2741,90743 -\def\defspec{\defspec2747,90867 -\def\defspecheader #1#2{\defspecheader2749,90928 -\begingroup\defname {name2750,91005 -\defunargs {unargs2751,91045 -\def\deffnx #1 {\deffnx2758,91240 -\def\defunx #1 {\defunx2759,91297 -\def\defmacx #1 {\defmacx2760,91354 -\def\defspecx #1 {\defspecx2761,91413 -\def\deftypefnx #1 {\deftypefnx2762,91474 -\def\deftypeunx #1 {\deftypeunx2763,91539 -\def\defop #1 {\defop2769,91685 -\defopparsebody\Edefop\defopx\defopheader\defoptype}opparsebody\Edefop\defopx\defopheader\defoptype2770,91720 -\def\defopheader #1#2#3{\defopheader2772,91774 -\begingroup\defname {name2774,91863 -\defunargs {unargs2775,91909 -\def\defmethod{\defmethod2780,91970 -\def\defmethodheader #1#2#3{\defmethodheader2782,92043 -\begingroup\defname {name2784,92131 -\defunargs {unargs2785,92171 -\def\defcv #1 {\defcv2790,92245 -\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}opvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype2791,92280 -\def\defcvarheader #1#2#3{\defcvarheader2793,92339 -\begingroup\defname {name2795,92425 -\defvarargs {varargs2796,92471 -\def\defivar{\defivar2801,92544 -\def\defivarheader #1#2#3{\defivarheader2803,92607 -\begingroup\defname {name2805,92693 -\defvarargs {varargs2806,92744 -\def\defopx #1 {\defopx2812,92893 -\def\defmethodx #1 {\defmethodx2813,92950 -\def\defcvx #1 {\defcvx2814,93015 -\def\defivarx #1 {\defivarx2815,93072 -\def\defvarargs #1{\defvarargs2822,93343 -\def\defvr{\defvr2828,93487 -\def\defvrheader #1#2#3{\defvrheader2830,93542 -\begingroup\defname {name2831,93590 -\def\defvar{\defvar2835,93675 -\def\defvarheader #1#2{\defvarheader2837,93735 -\begingroup\defname {name2838,93806 -\defvarargs {varargs2839,93842 -\def\defopt{\defopt2844,93908 -\def\defoptheader #1#2{\defoptheader2846,93968 -\begingroup\defname {name2847,94039 -\defvarargs {varargs2848,94078 -\def\deftypevar{\deftypevar2853,94135 -\def\deftypevarheader #1#2{\deftypevarheader2856,94251 -\begingroup\defname {name2858,94334 -\def\deftypevr{\deftypevr2865,94508 -\def\deftypevrheader #1#2#3{\deftypevrheader2867,94579 -\begingroup\defname {name2868,94631 -\def\defvrx #1 {\defvrx2876,94868 -\def\defvarx #1 {\defvarx2877,94925 -\def\defoptx #1 {\defoptx2878,94984 -\def\deftypevarx #1 {\deftypevarx2879,95043 -\def\deftypevrx #1 {\deftypevrx2880,95110 -\def\deftpargs #1{\deftpargs2885,95259 -\def\deftp{\deftp2889,95339 -\def\deftpheader #1#2#3{\deftpheader2891,95394 -\begingroup\defname {name2892,95442 -\def\deftpx #1 {\deftpx2897,95601 -\def\setref#1{\setref2908,95922 -\def\unnumbsetref#1{\unnumbsetref2913,96036 -\def\appendixsetref#1{\appendixsetref2918,96143 -\def\pxref#1{\pxref2929,96554 -\def\xref#1{\xref2930,96590 -\def\ref#1{\ref2931,96625 -\def\xrefX[#1,#2,#3,#4,#5,#6]{\xrefX[2932,96655 -\def\printedmanual{\printedmanual2933,96698 -\def\printednodename{\printednodename2934,96736 -\def\printednodename{\printednodename2939,96861 -section ``\printednodename'' in \cite{\printedmanual}\printedmanual2954,97493 -\refx{x2957,97571 -\def\dosetq #1#2{\dosetq2965,97791 -\def\internalsetq #1#2{\internalsetq2973,98049 -\def\Ypagenumber{\Ypagenumber2977,98150 -\def\Ytitle{\Ytitle2979,98176 -\def\Ynothing{\Ynothing2981,98203 -\def\Ysectionnumberandtype{\Ysectionnumberandtype2983,98220 -\def\Yappendixletterandtype{\Yappendixletterandtype2992,98536 -\ifnum\secno=0 Appendix\xreftie'char\the\appendixno{no2993,98566 -\else \ifnum \subsecno=0 Section\xreftie'char\the\appendixno.\the\secno %no.\the\secno2994,98621 -Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno %no.\the\secno.\the\subsecno2996,98725 -Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %no.\the\secno.\the\subsecno.\the\subsubsecno2998,98796 - \def\linenumber{\linenumber3009,99135 -\def\refx#1#2{\refx3015,99319 -\def\xrdef #1#2{\xrdef3037,99945 -\def\readauxfile{\readauxfile3040,100030 -\def\supereject{\supereject3110,101811 -\footstrut\parindent=\defaultparindent\hang\textindent{aultparindent\hang\textindent3131,102496 -\def\openindices{\openindices3139,102682 -\newdimen\defaultparindent \defaultparindent = 15ptaultparindent3151,102907 -\parindent = \defaultparindentaultparindent3152,102959 -\def\smallbook{\smallbook3175,103683 -\global\def\Esmallexample{\Esmallexample3192,104110 -\def\afourpaper{\afourpaper3196,104201 -\def\finalout{\finalout3224,105009 -\def\normaldoublequote{\normaldoublequote3235,105270 -\def\normaltilde{\normaltilde3236,105296 -\def\normalcaret{\normalcaret3237,105316 -\def\normalunderscore{\normalunderscore3238,105336 -\def\normalverticalbar{\normalverticalbar3239,105361 -\def\normalless{\normalless3240,105387 -\def\normalgreater{\normalgreater3241,105406 -\def\normalplus{\normalplus3242,105428 -\def\ifusingtt#1#2{\ifusingtt3253,105920 -\def\activedoublequote{\activedoublequote3261,106248 -\def~{~3264,106334 -\def^{^3267,106395 -\def_{_3270,106434 -\def\_{\_3272,106508 -\def\lvvmode{\lvvmode3279,106845 -\def|{|3282,106895 -\def<{<3285,106958 -\def>{>3288,107015 -\def+{+3290,107053 -\def\turnoffactive{\turnoffactive3296,107214 -\global\def={=3307,107500 -\def\normalbackslash{\normalbackslash3321,107882 - -merc-src/accumulator.m,4915 -:- interface146,5371 -:- import_module hlds148,5386 -:- import_module univ152,5478 -:- pred accu_transform_proc159,5793 -:- implementation166,6115 -:- import_module libs180,6552 -:- import_module mdbcomp184,6681 -:- import_module parse_tree186,6742 -:- import_module assoc_list194,7013 -:- import_module bool195,7042 -:- import_module int196,7065 -:- import_module io197,7087 -:- import_module list198,7108 -:- import_module map199,7131 -:- import_module maybe200,7153 -:- import_module pair201,7177 -:- import_module require202,7200 -:- import_module set203,7226 -:- import_module solutions204,7248 -:- import_module string205,7276 -:- import_module term206,7301 -:- import_module varset207,7324 -:- type top_level213,7499 -:- type accu_goal_id225,7900 -:- type accu_case228,7964 -:- type accu_goal_store234,8091 -:- type accu_subst238,8216 -:- type accu_warning240,8264 -accu_transform_proc247,8578 -:- pred generate_warnings334,12550 -generate_warnings337,12669 -:- pred generate_warning342,12895 -generate_warning345,13001 -:- pred should_attempt_accu_transform365,13886 -should_attempt_accu_transform370,14123 -:- pred should_attempt_accu_transform_2398,15406 -should_attempt_accu_transform_2405,15763 -:- pred accu_standardize440,17390 -accu_standardize442,17455 -:- pred identify_goal_type465,18169 -identify_goal_type469,18359 -:- pred is_recursive_case549,21175 -is_recursive_case551,21253 -:- type store_info560,21713 -:- func initialize_goal_store570,22060 -initialize_goal_store573,22166 -:- pred accu_store580,22421 -accu_store584,22576 -:- pred identify_recursive_calls601,23288 -identify_recursive_calls604,23406 -:- pred identify_out_and_out_prime626,24397 -identify_out_and_out_prime631,24632 -:- type accu_sets676,26426 -:- pred accu_stage1689,26978 -accu_stage1693,27156 -:- pred accu_stage1_2727,28348 -accu_stage1_2731,28516 -:- pred accu_sets_init781,30558 -accu_sets_init783,30606 -:- func set_upto796,30985 -set_upto798,31040 -:- pred accu_before812,31499 -accu_before815,31640 -:- pred accu_assoc835,32478 -accu_assoc838,32618 -:- pred accu_construct862,33713 -accu_construct865,33857 -:- pred accu_construct_assoc896,35308 -accu_construct_assoc899,35458 -:- pred accu_update938,37070 -accu_update941,37211 -:- pred member_lessthan_goalid964,38220 -member_lessthan_goalid967,38343 -:- type accu_assoc975,38653 -:- pred accu_is_associative986,39139 -accu_is_associative989,39251 -:- pred associativity_assertion1014,40264 -associativity_assertion1017,40405 -:- pred commutativity_assertion1037,41243 -commutativity_assertion1040,41370 -:- pred accu_is_update1057,41953 -accu_is_update1060,42067 -:- pred is_associative_construction1078,42803 -is_associative_construction1081,42899 -:- type accu_substs1095,43481 -:- type accu_base1103,43745 -:- pred accu_stage21124,44606 -accu_stage21131,44947 -:- pred accu_substs_init1179,46958 -accu_substs_init1182,47098 -:- pred acc_var_subst_init1194,47574 -acc_var_subst_init1198,47719 -:- pred create_new_var1207,48148 -create_new_var1210,48289 -:- pred accu_process_assoc_set1223,48863 -accu_process_assoc_set1229,49151 -:- pred accu_has_heuristic1297,52082 -accu_has_heuristic1299,52162 -:- pred accu_heuristic1304,52337 -accu_heuristic1307,52458 -:- pred accu_process_update_set1318,52907 -accu_process_update_set1325,53222 -:- pred accu_divide_base_case1380,55845 -accu_divide_base_case1385,56060 -:- pred accu_related1412,57147 -accu_related1415,57271 -:- inst stored_goal_plain_call1444,58416 -:- pred lookup_call1449,58602 -lookup_call1452,58716 -:- pred accu_stage31470,59433 -accu_stage31477,59827 -:- pred acc_proc_info1508,61327 -acc_proc_info1512,61486 -:- pred acc_pred_info1556,63450 -acc_pred_info1559,63598 -:- pred accu_create_goal1600,65286 -accu_create_goal1607,65629 -:- func create_acc_call1621,66401 -create_acc_call1625,66570 -:- pred create_orig_goal1634,66988 -create_orig_goal1638,67177 -:- pred create_acc_goal1662,68158 -create_acc_goal1667,68381 -:- func create_new_orig_recursive_goals1709,70226 -create_new_orig_recursive_goals1712,70369 -:- func create_new_recursive_goals1723,70919 -create_new_recursive_goals1727,71109 -:- func create_new_base_goals1738,71718 -create_new_base_goals1741,71832 -:- pred acc_unification1749,72157 -acc_unification1751,72226 -:- pred accu_top_level1766,72897 -accu_top_level1770,73059 -:- pred update_accumulator_pred1856,76291 -update_accumulator_pred1859,76412 -:- func accu_rename1876,77254 -accu_rename1879,77364 -:- func base_case_ids1889,77785 -base_case_ids1891,77847 -:- func base_case_ids_set1898,78049 -base_case_ids_set1900,78114 -:- func accu_goal_list1905,78270 -accu_goal_list1907,78350 -:- pred calculate_goal_info1916,78681 -calculate_goal_info1918,78754 -:- func chain_subst1932,79320 -chain_subst1934,79379 -:- pred chain_subst_21938,79483 -chain_subst_21941,79577 -:- some [T] pred unravel_univ1956,80061 -:- pragma foreign_export1957,80117 -unravel_univ1961,80341 - -c-src/c.c,76 -T f(1,0 -}T i;2,14 -void bar(5,69 -int foobar(6,94 -interface_locate(9,131 - -c.c,1980 -void (*fa)fa131, -void 132, -my_printf 135, -void fatala 138, -void fatalb 139, -max 141, -struct bar 143, -__attribute__ ((always_inline)) max 147, -extern int old_var 149, -struct foo150, -char stack[stack155, -struct S 156, -} wait_status_ptr_t 161, -Some_Class A 162, -typedef T1 T3 163, -T3 z 164, -typedef int more_aligned_int 165, -struct S __attribute__ ((vector_size (16))) foo;166, -int foo 167, -char *__attribute__((aligned(8))) *f;f168, -int i 169, -extern void foobar 170, -typedef struct cacheLRUEntry_s172, -__attribute__ ((packed)) cacheLRUEntry_t;177, -struct foo 178, - f1 183, -void f2 184, -__attribute__((noreturn)) void d0 185, - __attribute__((format(printf, 1, 2))) d1 186, - d2 187, -int x 188, -struct foo 189, -short array[array190, -int f193, -DEAFUN 196, -XDEFUN 203, -DEFUN ("x-get-selection-internal", Fx_get_selection_internal,206, -DEFUN ("x-get-selection-internal", Fx_get_selection_internal,x-get-selection-internal206, - Fx_get_selection_internal,212, - Fx_get_selection_internal,x-get-selection-internal212, - Fy_get_selection_internal,216, - Fy_get_selection_internal,y-get-selection-internal216, -defun_func1(218, -DEFUN_func2(220, -typedef int bool;222, -bool funcboo 223, -struct my_struct 226, -typedef struct my_struct my_typedef;228, -int bla 229, -a(234, -int func1237, -static struct cca_control init_control 239, -static tpcmd rbtp 240, -static byte ring1 241, -static byte ring2 242, -request request 243, -int func2 246, - aaa;249, - bbb;251, -struct sss1 252, -struct sss2253, - struct ss3255, -struct a b;259, -struct aa *b;b260, - **b;b262, -caccacacca 263, -a 267, - typedef struct aa 269, - typedef struct aa {} aaa;269, -static void inita 271, -node *lasta lasta272, -b 273, - typedef int bb;275, -static void initb 277, -node *lastb lastb278, -typedef enum { REG_ENOSYS 279, -typedef enum { REG_ENOSYS = -1, aa 279, -typedef enum { REG_ENOSYS = -1, aa } reg_errcode_t;279, - -c-src/a/b/b.c,18 -#define this 1,0 - -../c/c.web,20 -#define questo 34, - -y-src/parse.y,1061 -#define obstack_chunk_alloc 47,1124 -#define obstack_chunk_free 48,1162 -int yylex 58,1330 -void yyerror 60,1360 -void yyerror 62,1389 -VOIDSTAR parse_hash;64,1413 -extern VOIDSTAR hash_find(65,1434 -unsigned char fnin[fnin68,1532 -#define YYSTYPE 72,1630 -typedef struct node *YYSTYPE;YYSTYPE73,1661 -YYSTYPE parse_return;74,1691 -YYSTYPE make_list 76,1729 -YYSTYPE make_list 78,1773 -char *instr;instr81,1803 -int parse_error 82,1816 -extern struct obstack tmp_mem;83,1837 -line:line87,1875 -exp:exp95,1988 -exp_list:exp_list263,5655 -range_exp:range_exp269,5753 -range_exp_list:range_exp_list273,5783 -cell:cell279,5901 -yyerror FUN1(286,5948 -make_list FUN2(293,6028 -#define ERROR 304,6228 -extern struct node *yylval;yylval306,6246 -unsigned char parse_cell_or_range 309,6291 -unsigned char parse_cell_or_range 311,6355 -yylex FUN0(315,6405 -parse_cell_or_range FUN2(587,11772 -#define CK_ABS_R(671,13214 -#define CK_REL_R(675,13293 -#define CK_ABS_C(680,13422 -#define CK_REL_C(684,13501 -#define MAYBEREL(689,13630 -str_to_col FUN1(847,16831 - -y-src/parse.c,520 -#define YYBISON 4,64 -# define NE 6,114 -# define LE 7,130 -# define GE 8,146 -# define NEG 9,162 -# define L_CELL 10,179 -# define L_RANGE 11,199 -# define L_VAR 12,220 -# define L_CONST 13,239 -# define L_FN0 14,260 -# define L_FN1 15,279 -# define L_FN2 16,298 -# define L_FN3 17,317 -# define L_FN4 18,336 -# define L_FNN 19,355 -# define L_FN1R 20,374 -# define L_FN2R 21,394 -# define L_FN3R 22,414 -# define L_FN4R 23,434 -# define L_FNNR 24,454 -# define L_LE 25,474 -# define L_NE 26,492 -# define L_GE 27,510 - -/usr/share/bison/bison.simple,1729 -# define YYSTD(40, -# define YYSTD(42, -# define YYSTACK_ALLOC 50, -# define YYSIZE_T 51, -# define YYSTACK_ALLOC 55, -# define YYSIZE_T 56, -# define YYSTACK_ALLOC 59, -# define YYSTACK_FREE(67, -# define YYSIZE_T 71, -# define YYSIZE_T 75, -# define YYSTACK_ALLOC 78, -# define YYSTACK_FREE 79, -union yyalloc83, -# define YYSTACK_GAP_MAX 93, -# define YYSTACK_BYTES(98, -# define YYSTACK_BYTES(102, -# define YYSTACK_RELOCATE(112, -# define YYSIZE_T 128, -# define YYSIZE_T 131, -# define YYSIZE_T 136, -# define YYSIZE_T 140, -# define YYSIZE_T 145, -#define yyerrok 148, -#define yyclearin 149, -#define YYEMPTY 150, -#define YYEOF 151, -#define YYACCEPT 152, -#define YYABORT 153, -#define YYERROR 154, -#define YYFAIL 158, -#define YYRECOVERING(159, -#define YYBACKUP(160, -#define YYTERROR 177, -#define YYERRCODE 178, -# define YYLLOC_DEFAULT(189, -# define YYLEX 200, -# define YYLEX 202, -# define YYLEX 206, -# define YYLEX 208, -# define YYLEX 212, -# define YYFPRINTF 225, -# define YYDPRINTF(228, -int yydebug;237, -# define YYDPRINTF(239, -# define YYINITDEPTH 244, -# undef YYMAXDEPTH255, -# define YYMAXDEPTH 259, -# define yymemcpy 264, -yymemcpy 271, -# define yystrlen 293, -yystrlen 298, -# define yystpcpy 316, -yystpcpy 322, -# define YYPARSE_PARAM_ARG 351, -# define YYPARSE_PARAM_DECL352, -# define YYPARSE_PARAM_ARG 354, -# define YYPARSE_PARAM_DECL 355, -# define YYPARSE_PARAM_ARG358, -# define YYPARSE_PARAM_DECL359, -int yyparse 365, -int yyparse 367, -#define YY_DECL_NON_LSP_VARIABLES 374, -# define YY_DECL_VARIABLES 385, -# define YY_DECL_VARIABLES 391, -yyparse 403, -# define YYPOPSTACK 445, -# define YYPOPSTACK 447, -# undef YYSTACK_RELOCATE548, - -y-src/atest.y,9 -exp 2,3 - -y-src/cccp.c,303 -#define YYBISON 4,63 -# define INT 6,113 -# define CHAR 7,130 -# define NAME 8,148 -# define ERROR 9,166 -# define OR 10,185 -# define AND 11,201 -# define EQUAL 12,218 -# define NOTEQUAL 13,237 -# define LEQ 14,259 -# define GEQ 15,276 -# define LSH 16,293 -# define RSH 17,310 -# define UNARY 18,327 - -/usr/share/bison/bison.simple,2180 -# define YYSTD(41, -# define YYSTD(43, -# define YYSTACK_ALLOC 51, -# define YYSIZE_T 52, -# define YYSTACK_ALLOC 56, -# define YYSIZE_T 57, -# define YYSTACK_ALLOC 60, -# define YYSTACK_FREE(68, -# define YYSIZE_T 72, -# define YYSIZE_T 76, -# define YYSTACK_ALLOC 79, -# define YYSTACK_FREE 80, -union yyalloc84, -# define YYSTACK_GAP_MAX 94, -# define YYSTACK_BYTES(99, -# define YYSTACK_BYTES(103, -# define YYSTACK_RELOCATE(113, -# define YYSIZE_T 129, -# define YYSIZE_T 132, -# define YYSIZE_T 137, -# define YYSIZE_T 141, -# define YYSIZE_T 146, -#define yyerrok 149, -#define yyclearin 150, -#define YYEMPTY 151, -#define YYEOF 152, -#define YYACCEPT 153, -#define YYABORT 154, -#define YYERROR 155, -#define YYFAIL 159, -#define YYRECOVERING(160, -#define YYBACKUP(161, -#define YYTERROR 178, -#define YYERRCODE 179, -# define YYLLOC_DEFAULT(190, -# define YYLEX 201, -# define YYLEX 203, -# define YYLEX 207, -# define YYLEX 209, -# define YYLEX 213, -# define YYFPRINTF 226, -# define YYDPRINTF(229, -int yydebug;238, -# define YYDPRINTF(240, -# define YYINITDEPTH 245, -# undef YYMAXDEPTH256, -# define YYMAXDEPTH 260, -# define yymemcpy 265, -yymemcpy 272, -# define yystrlen 294, -yystrlen 299, -# define yystpcpy 317, -yystpcpy 323, -# define YYPARSE_PARAM_ARG 351, -# define YYPARSE_PARAM_DECL352, -# define YYPARSE_PARAM_ARG 354, -# define YYPARSE_PARAM_DECL 355, -# define YYPARSE_PARAM_ARG358, -# define YYPARSE_PARAM_DECL359, -int yyparse 365, -int yyparse 367, -#define YY_DECL_NON_LSP_VARIABLES 374, -# define YY_DECL_VARIABLES 385, -# define YY_DECL_VARIABLES 391, -yyparse 403, -# define YYPOPSTACK 445, -# define YYPOPSTACK 447, -# undef YYSTACK_RELOCATE548, - *++yyvsp yyvsp746, - *++yylsp yylsp748, - yyn 755, - yystate 757, - yystate 761, - goto yynewstate;763, - goto yyerrlab1;823, - yyerrstatus 846, - goto yyerrhandle;848, - yyn 861, - yystate 875, - yyn 895, - yyn 903, - YYDPRINTF 917, - *++yyvsp yyvsp919, - *++yylsp yylsp921, - yystate 924, - goto yynewstate;925, - yyresult 932, - goto yyreturn;933, - yyresult 939, - goto yyreturn;940, - yyerror 946, - yyresult 947, - -y-src/cccp.y,1582 -typedef unsigned char U_CHAR;38,1201 -struct arglist 41,1301 -#define NULL 51,1468 -#define GENERIC_PTR 56,1578 -#define GENERIC_PTR 58,1611 -#define NULL_PTR 63,1670 -int yylex 66,1712 -void yyerror 67,1726 -int expression_value;68,1743 -static jmp_buf parse_return_error;70,1766 -static int keyword_parsing 73,1865 -extern unsigned char is_idstart[is_idstart76,1944 -extern unsigned char is_idstart[], is_idchar[is_idchar76,1944 -extern unsigned char is_idstart[], is_idchar[], is_hor_space[is_hor_space76,1944 -extern char *xmalloc xmalloc78,2009 -extern int pedantic;81,2062 -extern int traditional;84,2114 -#define CHAR_TYPE_SIZE 87,2162 -#define INT_TYPE_SIZE 91,2229 -#define LONG_TYPE_SIZE 95,2296 -#define WCHAR_TYPE_SIZE 99,2365 -#define possible_sum_sign(104,2556 -static void integer_overflow 106,2632 -static long left_shift 107,2665 -static long right_shift 108,2692 - struct constant 112,2733 - struct name 113,2789 -start 143,3226 -exp1 148,3330 -exp 156,3505 -exp 185,4295 -keywords 306,7835 -static char *lexptr;lexptr332,8579 -parse_number 341,8842 -struct token 437,11038 -static struct token tokentab2[tokentab2442,11088 -yylex 459,11367 -parse_escape 740,17718 -yyerror 836,19599 -integer_overflow 844,19690 -left_shift 851,19804 -right_shift 873,20194 -parse_c_expression 893,20732 -extern int yydebug;919,21416 -main 923,21483 -unsigned char is_idchar[is_idchar948,21901 -unsigned char is_idstart[is_idstart950,21996 -char is_hor_space[is_hor_space953,22160 -initialize_random_junk 958,22259 -error 988,22915 -warning 993,22963 -lookup 999,23033 - -tex-src/nonewline.tex,0 - -php-src/sendmail.php,0 - -a-src/empty.zz,0 diff --git a/test/manual/etags/ETAGS.good_3 b/test/manual/etags/ETAGS.good_3 deleted file mode 100644 index 15ed7855b30..00000000000 --- a/test/manual/etags/ETAGS.good_3 +++ /dev/null @@ -1,4786 +0,0 @@ - -ada-src/etags-test-for.ada,1969 - type LL_Task_Procedure_Access LL_Task_Procedure_Access/t1,0 - function Body_RequiredBody_Required/f3,78 - type Type_Specific_Data Type_Specific_Data/t11,280 - function "abs"abs/f19,504 - type Barrier_Function_Pointer Barrier_Function_Pointer/t21,577 - function "="=/f27,722 - type usfreelock_ptr usfreelock_ptr/t30,803 - function p p/f33,891 - procedure LL_Wrapper LL_Wrapper/p37,1054 -function p p/f39,1094 -package Pkg1 Pkg1/s44,1203 - type Private_T Private_T/t46,1220 - package Inner1 Inner1/s48,1250 - procedure Private_T;Private_T/p49,1270 - package Inner2 Inner2/s52,1310 - task Private_T;Private_T/k53,1330 - type Public_T Public_T/t56,1365 - procedure Pkg1_Proc1;Pkg1_Proc1/p62,1450 - procedure Pkg1_Proc2 Pkg1_Proc2/p64,1475 - function Pkg1_Func1 Pkg1_Func1/f66,1514 - function Pkg1_Func2 Pkg1_Func2/f68,1553 - package Pkg1_Pkg1 Pkg1_Pkg1/s71,1622 - procedure Pkg1_Pkg1_Proc1;Pkg1_Pkg1_Proc1/p72,1645 - task type Task_Type Task_Type/k75,1694 - type Private_T Private_T/t82,1786 -package body Pkg1 Pkg1/b89,1882 - procedure Pkg1_Proc1 Pkg1_Proc1/p91,1904 - package body Inner1 Inner1/b96,1956 - procedure Private_T Private_T/p97,1981 - package body Inner2 Inner2/b103,2054 - task body Private_T Private_T/b104,2079 - task body Task_Type Task_Type/b112,2181 - procedure Pkg1_Proc2 Pkg1_Proc2/p126,2367 - function Pkg1_Func1 Pkg1_Func1/f132,2445 - function Pkg1_Func2 Pkg1_Func2/f134,2496 - package body Pkg1_Pkg1 Pkg1_Pkg1/b140,2596 -package body Pkg1_Pkg1 Pkg1_Pkg1/b146,2663 - procedure Pkg1_Pkg1_Proc1 Pkg1_Pkg1_Proc1/p147,2689 -function Pkg1_Func1 Pkg1_Func1/f155,2778 -package Truc Truc/s162,2887 -package Truc.Bidule Truc.Bidule/s166,2929 - protected Bidule Bidule/t168,2953 - protected type Machin_T Machin_T/t172,3007 -package body Truc.Bidule Truc.Bidule/b178,3087 - protected body Bidule Bidule/b179,3115 - protected Machin_T Machin_T/t186,3207 - -ada-src/2ataspri.adb,2190 -package body System.Task_Primitives System.Task_Primitives/b64,2603 - package RTE RTE/s69,2712 - package TSL TSL/s70,2759 - function To_void_ptr To_void_ptr/f86,3287 - function To_TCB_Ptr To_TCB_Ptr/f89,3366 - function pthread_mutexattr_setprotocolpthread_mutexattr_setprotocol/f92,3444 - function pthread_mutexattr_setprio_ceilingpthread_mutexattr_setprio_ceiling/f99,3728 - procedure Abort_WrapperAbort_Wrapper/p115,4302 - procedure LL_Wrapper LL_Wrapper/p122,4526 - procedure Initialize_LL_Tasks Initialize_LL_Tasks/p131,4830 - function Self Self/f160,5586 - procedure Initialize_LockInitialize_Lock/p174,5958 - procedure Finalize_Lock Finalize_Lock/p210,6927 - procedure Write_Lock Write_Lock/p226,7338 - procedure Read_Lock Read_Lock/p239,7700 - procedure Unlock Unlock/p246,7850 - procedure Initialize_Cond Initialize_Cond/p258,8160 - procedure Finalize_Cond Finalize_Cond/p286,8979 - procedure Cond_Wait Cond_Wait/p300,9303 - procedure Cond_Timed_WaitCond_Timed_Wait/p312,9661 - procedure Cond_Signal Cond_Signal/p343,10510 - procedure Set_PrioritySet_Priority/p355,10836 - procedure Set_Own_Priority Set_Own_Priority/p372,11243 - function Get_Priority Get_Priority/f385,11598 - function Get_Own_Priority Get_Own_Priority/f398,12023 - procedure Create_LL_TaskCreate_LL_Task/p412,12438 - function To_Start_Addr To_Start_Addr/f426,12873 - procedure Exit_LL_Task Exit_LL_Task/p491,14995 - procedure Abort_Task Abort_Task/p500,15158 - procedure Test_Abort Test_Abort/p518,15716 - procedure Install_Abort_Handler Install_Abort_Handler/p527,15878 - procedure Abort_WrapperAbort_Wrapper/p557,16939 - function Address_To_Call_State Address_To_Call_State/f562,17062 - procedure Install_Error_Handler Install_Error_Handler/p573,17351 - procedure LL_Assert LL_Assert/p599,18146 - procedure LL_Wrapper LL_Wrapper/p608,18299 - procedure Initialize_TAS_Cell Initialize_TAS_Cell/p630,19010 - procedure Finalize_TAS_Cell Finalize_TAS_Cell/p635,19129 - procedure Clear Clear/p640,19236 - procedure Test_And_Set Test_And_Set/p645,19330 - function Is_Set Is_Set/f659,19676 - -ada-src/2ataspri.ads,2313 -package System.Task_Primitives System.Task_Primitives/s58,3169 - type LL_Task_Procedure_Access LL_Task_Procedure_Access/t62,3253 - type Pre_Call_State Pre_Call_State/t64,3331 - type Task_Storage_Size Task_Storage_Size/t66,3378 - type Machine_Exceptions Machine_Exceptions/t68,3433 - type Error_Information Error_Information/t70,3499 - type Lock Lock/t72,3569 - type Condition_Variable Condition_Variable/t73,3594 - type Task_Control_Block Task_Control_Block/t81,3955 - type TCB_Ptr TCB_Ptr/t89,4241 - function Address_To_TCB_Ptr Address_To_TCB_Ptr/f93,4333 - procedure Initialize_LL_Tasks Initialize_LL_Tasks/p96,4425 - function Self Self/f100,4602 - procedure Initialize_Lock Initialize_Lock/p103,4707 - procedure Finalize_Lock Finalize_Lock/p107,4879 - procedure Write_Lock Write_Lock/p111,5034 - procedure Read_Lock Read_Lock/p118,5428 - procedure Unlock Unlock/p128,5995 - procedure Initialize_Cond Initialize_Cond/p135,6300 - procedure Finalize_Cond Finalize_Cond/p138,6413 - procedure Cond_Wait Cond_Wait/p142,6591 - procedure Cond_Timed_WaitCond_Timed_Wait/p155,7396 - procedure Cond_Signal Cond_Signal/p164,7812 - procedure Set_Priority Set_Priority/p169,8040 - procedure Set_Own_Priority Set_Own_Priority/p173,8200 - function Get_Priority Get_Priority/f177,8348 - function Get_Own_Priority Get_Own_Priority/f181,8504 - procedure Create_LL_TaskCreate_LL_Task/p185,8647 - procedure Exit_LL_Task;Exit_LL_Task/p198,9282 - procedure Abort_Task Abort_Task/p203,9516 - procedure Test_Abort;Test_Abort/p210,9878 - type Abort_Handler_Pointer Abort_Handler_Pointer/t217,10233 - procedure Install_Abort_Handler Install_Abort_Handler/p219,10312 - procedure Install_Error_Handler Install_Error_Handler/p226,10741 - procedure LL_Assert LL_Assert/p231,10983 - type Proc Proc/t238,11240 - type TAS_Cell TAS_Cell/t242,11328 - procedure Initialize_TAS_Cell Initialize_TAS_Cell/p249,11670 - procedure Finalize_TAS_Cell Finalize_TAS_Cell/p255,11941 - procedure Clear Clear/p260,12157 - procedure Test_And_Set Test_And_Set/p267,12462 - function Is_Set Is_Set/f275,12877 - type Lock Lock/t283,13155 - type Condition_Variable Condition_Variable/t288,13267 - type TAS_Cell TAS_Cell/t293,13389 - -ada-src/waroquiers.ada,1503 -package Pkg1 Pkg1/s3,89 - type Private_T Private_T/t5,106 - package Inner1 Inner1/s7,136 - procedure Private_T;Private_T/p8,156 - package Inner2 Inner2/s11,196 - task Private_T;Private_T/k12,216 - type Public_T Public_T/t15,251 - procedure Pkg1_Proc1;Pkg1_Proc1/p21,336 - procedure Pkg1_Proc2 Pkg1_Proc2/p23,361 - function Pkg1_Func1 Pkg1_Func1/f25,400 - function Pkg1_Func2 Pkg1_Func2/f27,439 - package Pkg1_Pkg1 Pkg1_Pkg1/s30,508 - procedure Pkg1_Pkg1_Proc1;Pkg1_Pkg1_Proc1/p31,531 - task type Task_Type Task_Type/k34,580 - type Private_T Private_T/t40,671 -package body Pkg1 Pkg1/b46,766 - procedure Pkg1_Proc1 Pkg1_Proc1/p48,788 - package body Inner1 Inner1/b53,840 - procedure Private_T Private_T/p54,865 - package body Inner2 Inner2/b60,938 - task body Private_T Private_T/b61,963 - task body Task_Type Task_Type/b68,1064 - procedure Pkg1_Proc2 Pkg1_Proc2/p82,1250 - function Pkg1_Func1 Pkg1_Func1/f88,1328 - function Pkg1_Func2 Pkg1_Func2/f90,1379 - package body Pkg1_Pkg1 Pkg1_Pkg1/b96,1479 -package body Pkg1_Pkg1 Pkg1_Pkg1/b100,1544 - procedure Pkg1_Pkg1_Proc1 Pkg1_Pkg1_Proc1/p101,1570 -function Pkg1_Func1 Pkg1_Func1/f107,1657 -package Truc Truc/s112,1764 -package Truc.Bidule Truc.Bidule/s116,1816 - protected Bidule Bidule/t125,1964 - protected type Machin_T Machin_T/t131,2046 -package body Truc.Bidule Truc.Bidule/b138,2153 - protected body Bidule Bidule/b139,2181 - protected body Machin_T Machin_T/b146,2281 - -c-src/abbrev.c,1957 -Lisp_Object Vabbrev_table_name_list;43,1429 -Lisp_Object Vglobal_abbrev_table;48,1574 -Lisp_Object Vfundamental_mode_abbrev_table;52,1685 -int abbrevs_changed;56,1786 -int abbrev_all_caps;58,1808 -Lisp_Object Vabbrev_start_location;63,1957 -Lisp_Object Vabbrev_start_location_buffer;66,2046 -Lisp_Object Vlast_abbrev;70,2155 -Lisp_Object Vlast_abbrev_text;75,2324 -int last_abbrev_point;79,2414 -DEFUN ("make-abbrev-table", Fmake_abbrev_table,82,2440 -DEFUN ("make-abbrev-table", Fmake_abbrev_table,make-abbrev-table82,2440 -DEFUN ("clear-abbrev-table", Fclear_abbrev_table,89,2632 -DEFUN ("clear-abbrev-table", Fclear_abbrev_table,clear-abbrev-table89,2632 -DEFUN ("define-abbrev", Fdefine_abbrev,104,3013 -DEFUN ("define-abbrev", Fdefine_abbrev,define-abbrev104,3013 -DEFUN ("define-global-abbrev", Fdefine_global_abbrev,146,4332 -DEFUN ("define-global-abbrev", Fdefine_global_abbrev,define-global-abbrev146,4332 -DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,157,4703 -DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,define-mode-abbrev157,4703 -DEFUN ("abbrev-symbol", Fabbrev_symbol,171,5171 -DEFUN ("abbrev-symbol", Fabbrev_symbol,abbrev-symbol171,5171 -DEFUN ("abbrev-expansion", Fabbrev_expansion,199,6135 -DEFUN ("abbrev-expansion", Fabbrev_expansion,abbrev-expansion199,6135 -DEFUN ("expand-abbrev", Fexpand_abbrev,215,6650 -DEFUN ("expand-abbrev", Fexpand_abbrev,expand-abbrev215,6650 -DEFUN ("unexpand-abbrev", Funexpand_abbrev,383,11495 -DEFUN ("unexpand-abbrev", Funexpand_abbrev,unexpand-abbrev383,11495 -write_abbrev 420,12702 -describe_abbrev 439,13137 -DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,460,13652 -DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,insert-abbrev-table-description460,13652 -DEFUN ("define-abbrev-table", Fdefine_abbrev_table,500,14808 -DEFUN ("define-abbrev-table", Fdefine_abbrev_table,define-abbrev-table500,14808 -syms_of_abbrev 534,15885 - -c-src/torture.c,197 -(*tag1 tag118,452 -#define notag2 26,553 -(*tag2 tag229,630 -(*tag3 tag339,772 -#define notag4 45,861 -(*tag4 tag448,955 -tag5 57,1081 -tag6 66,1208 -int pp1(74,1317 -pp287,1419 -pp3(100,1518 - -c-src/getopt.h,275 -#define _GETOPT_H 19,799 -struct option73,2795 - const char *name;name76,2824 - char *name;name78,2850 - int has_arg;82,3007 - int *flag;flag83,3022 - int val;84,3035 -#define no_argument 89,3122 -#define required_argument 90,3145 -#define optional_argument 91,3173 - -c-src/etags.c,12045 -char pot_etags_version[pot_etags_version81,3471 -# undef DEBUG84,3553 -# define DEBUG 85,3568 -# define DEBUG 87,3595 -# define NDEBUG 88,3618 -# define _GNU_SOURCE 94,3706 -# undef MSDOS100,3877 -# undef WINDOWSNT101,3891 -# define WINDOWSNT102,3910 -# undef MSDOS106,3969 -# define MSDOS 107,3983 -# define MSDOS 110,4033 -# define MAXPATHLEN 115,4112 -# undef HAVE_NTGUI116,4142 -# undef DOS_NT117,4161 -# define DOS_NT118,4177 -# undef assert 135,4483 -# define assert(136,4542 -# undef CTAGS146,4858 -# define CTAGS 147,4873 -# define CTAGS 149,4899 -#define streq(152,4928 -#define strcaseeq(153,4997 -#define strneq(154,5076 -#define strncaseeq(155,5152 -#define CHARS 157,5239 -#define CHAR(158,5279 -#define iswhite(159,5330 -#define notinname(160,5395 -#define begtoken(161,5470 -#define intoken(162,5543 -#define endtoken(163,5615 -#define ISALNUM(165,5685 -#define ISALPHA(166,5723 -#define ISDIGIT(167,5761 -#define ISLOWER(168,5799 -#define lowcase(170,5838 -#define xnew(179,6016 -#define xrnew(180,6084 -typedef void Lang_function 182,6165 - const char *suffix;suffix186,6220 - const char *command;command187,6295 -} compressor;188,6366 - const char *name;name192,6398 - const char *help;help193,6450 - Lang_function *function;function194,6509 - const char **suffixes;suffixes195,6557 - const char **filenames;filenames196,6634 - const char **interpreters;interpreters197,6703 - bool metasource;198,6772 -} language;199,6836 -typedef struct fdesc201,6849 - struct fdesc *next;next203,6872 - char *infname;infname204,6921 - char *infabsname;infabsname205,6974 - char *infabsdir;infabsdir206,7039 - char *taggedfname;taggedfname207,7092 - language *lang;lang208,7150 - char *prop;prop209,7192 - bool usecharno;210,7250 - bool written;211,7312 -} fdesc;212,7367 -typedef struct node_st214,7377 - struct node_st *left,left216,7429 - struct node_st *left, *right;right216,7429 - fdesc *fdp;fdp217,7487 - char *name;name218,7549 - char *regex;regex219,7581 - bool valid;220,7618 - bool is_func;221,7671 - bool been_warned;222,7734 - int lno;223,7802 - long cno;224,7843 -} node;225,7895 - long size;236,8209 - int len;237,8222 - char *buffer;buffer238,8233 -} linebuffer;239,8249 - at_language,245,8345 - at_regexp,246,8394 - at_filename,247,8438 - at_stdin,248,8474 - at_end 249,8517 - } arg_type;250,8558 - language *lang;lang251,8594 - char *what;what252,8657 -} argument;253,8699 -typedef struct regexp256,8759 - struct regexp *p_next;p_next258,8783 - language *lang;lang259,8838 - char *pattern;pattern260,8898 - char *name;name261,8941 - struct re_pattern_buffer *pat;pat262,8972 - struct re_registers regs;263,9032 - bool error_signaled;264,9079 - bool force_explicit_name;265,9142 - bool ignore_case;266,9207 - bool multi_line;267,9260 -} regexp;268,9326 -static void error 311,10781 -# undef STDIN408,15074 -#define STDIN 411,15096 -static compressor compressors[compressors457,17665 -static const char *Ada_suffixes Ada_suffixes473,17908 -static const char Ada_help 475,17978 -static const char *Asm_suffixes Asm_suffixes493,18581 -static const char Asm_help 504,18977 -static const char *default_C_suffixes default_C_suffixes512,19313 -static const char default_C_help 515,19414 -static const char default_C_help 523,19851 -static const char *Cplusplus_suffixes Cplusplus_suffixes535,20461 -static const char Cplusplus_help 540,20659 -static const char *Cjava_suffixes Cjava_suffixes549,21114 -static char Cjava_help 551,21173 -static const char *Cobol_suffixes Cobol_suffixes556,21338 -static char Cobol_help 558,21403 -static const char *Cstar_suffixes Cstar_suffixes562,21544 -static const char *Erlang_suffixes Erlang_suffixes565,21608 -static const char Erlang_help 567,21674 -const char *Forth_suffixes Forth_suffixes571,21800 -static const char Forth_help 573,21858 -static const char *Fortran_suffixes Fortran_suffixes577,22009 -static const char Fortran_help 579,22086 -static const char *HTML_suffixes HTML_suffixes582,22191 -static const char HTML_help 584,22265 -static const char *Lisp_suffixes Lisp_suffixes589,22453 -static const char Lisp_help 591,22557 -static const char *Lua_suffixes Lua_suffixes598,22872 -static const char Lua_help 600,22935 -static const char *Makefile_filenames Makefile_filenames603,23011 -static const char Makefile_help 605,23134 -static const char *Objc_suffixes Objc_suffixes609,23278 -static const char Objc_help 613,23400 -static const char *Pascal_suffixes Pascal_suffixes619,23715 -static const char Pascal_help 621,23779 -static const char *Perl_suffixes Perl_suffixes626,23967 -static const char *Perl_interpreters Perl_interpreters628,24029 -static const char Perl_help 630,24101 -static const char *PHP_suffixes PHP_suffixes637,24452 -static const char PHP_help 639,24524 -static const char *plain_C_suffixes plain_C_suffixes643,24679 -static const char *PS_suffixes PS_suffixes647,24763 -static const char PS_help 649,24849 -static const char *Prolog_suffixes Prolog_suffixes652,24932 -static const char Prolog_help 654,24994 -static const char *Python_suffixes Python_suffixes658,25108 -static const char Python_help 660,25166 -static const char *Scheme_suffixes Scheme_suffixes665,25348 -static const char Scheme_help 667,25461 -static const char *TeX_suffixes TeX_suffixes672,25684 -static const char TeX_help 674,25782 -static const char *Texinfo_suffixes Texinfo_suffixes686,26317 -static const char Texinfo_help 688,26396 -static const char *Yacc_suffixes Yacc_suffixes691,26493 -static const char Yacc_help 693,26607 -static const char auto_help 699,26857 -static const char none_help 703,27021 -static const char no_lang_help 707,27144 -static language lang_names 718,27356 -print_language_names 753,29533 -# define EMACS_NAME 786,30756 -# define VERSION 789,30812 -print_version 792,30870 -# define PRINT_UNDOCUMENTED_OPTIONS_HELP 804,31174 -print_help 808,31251 -main 981,37439 -get_compressor_from_suffix 1319,46218 -get_language_from_langname 1355,47159 -get_language_from_interpreter 1377,47546 -get_language_from_filename 1399,47977 -process_file_name 1433,48835 -process_file 1555,51666 -init 1632,54151 -find_entries 1656,54902 -make_tag 1814,59708 -pfnote 1856,60943 -free_tree 1917,62745 -free_fdesc 1935,63030 -add_node 1955,63473 -invalidate_nodes 2035,65538 -static int number_len 2068,66194 -total_size_of_entries 2087,66695 -put_entries 2107,67155 -#define C_EXT 2193,68996 -#define C_PLAIN 2194,69038 -#define C_PLPL 2195,69071 -#define C_STAR 2196,69105 -#define C_JAVA 2197,69138 -#define C_AUTO 2198,69173 -#define YACC 2199,69243 -enum sym_type2204,69313 - st_none,2206,69329 - st_C_objprot,2207,69340 - st_C_objprot, st_C_objimpl,2207,69340 - st_C_objprot, st_C_objimpl, st_C_objend,2207,69340 - st_C_gnumacro,2208,69383 - st_C_ignore,2209,69400 - st_C_ignore, st_C_attribute,2209,69400 - st_C_javastruct,2210,69431 - st_C_operator,2211,69450 - st_C_class,2212,69467 - st_C_class, st_C_template,2212,69467 - st_C_struct,2213,69496 - st_C_struct, st_C_extern,2213,69496 - st_C_struct, st_C_extern, st_C_enum,2213,69496 - st_C_struct, st_C_extern, st_C_enum, st_C_define,2213,69496 - st_C_struct, st_C_extern, st_C_enum, st_C_define, st_C_typedef2213,69496 -struct C_stab_entry 2271,71279 -struct C_stab_entry { const char *name;name2271,71279 -struct C_stab_entry { const char *name; int c_ext;2271,71279 -struct C_stab_entry { const char *name; int c_ext; enum sym_type type;2271,71279 -hash 2275,71410 -in_word_set 2321,72938 - TOTAL_KEYWORDS 2325,73019 - MIN_WORD_LENGTH 2326,73046 - MAX_WORD_LENGTH 2327,73073 - MIN_HASH_VALUE 2328,73101 - MAX_HASH_VALUE 2329,73127 -C_symtype 2387,74986 -static bool inattribute;2400,75235 - fvnone,2408,75436 - fdefunkey,2409,75467 - fdefunname,2410,75513 - foperator,2411,75557 - fvnameseen,2412,75614 - fstartlist,2413,75667 - finlist,2414,75723 - flistseen,2415,75766 - fignore,2416,75814 - vignore 2417,75857 -} fvdef;2418,75902 -static bool fvextern;2420,75912 - tnone,2428,76090 - tkeyseen,2429,76120 - ttypeseen,2430,76161 - tinbody,2431,76200 - tend,2432,76239 - tignore 2433,76280 -} typdef;2434,76321 - snone,2443,76500 - skeyseen,2445,76576 - stagseen,2446,76621 - scolonseen 2447,76662 -} structdef;2448,76716 -static const char *objtag objtag2453,76810 - dnone,2460,76943 - dsharpseen,2461,76973 - ddefineseen,2462,77026 - dignorerest 2463,77071 -} definedef;2464,77113 - onone,2472,77268 - oprotocol,2473,77298 - oimplementation,2474,77348 - otagseen,2475,77396 - oparenseen,2476,77432 - ocatseen,2477,77487 - oinbody,2478,77526 - omethodsign,2479,77569 - omethodtag,2480,77627 - omethodcolon,2481,77667 - omethodparm,2482,77710 - oignore 2483,77756 -} objdef;2484,77788 -static struct tok2491,77945 - char *line;line2493,77965 - int offset;2494,78015 - int length;2495,78068 - bool valid;2502,78353 - bool named;2505,78488 - int lineno;2506,78529 - long linepos;2507,78577 -} token;2508,78627 - char **cname;cname2519,78951 - int *bracelev;bracelev2520,78994 - int nl;2521,79043 - int size;2522,79097 -} cstack;2523,79137 -#define nestlev 2525,79265 -#define instruct 2527,79370 -pushclass_above 2531,79490 -popclass_above 2550,79949 -write_classname 2564,80163 -consider_token 2613,81342 - long linepos;2922,88500 - linebuffer lb;2923,88516 -} lbs[lbs2924,88533 -#define current_lb_is_new 2926,88544 -#define switch_line_buffers(2927,88589 -#define curlb 2929,88642 -#define newlb 2930,88673 -#define curlinepos 2931,88704 -#define newlinepos 2932,88745 -#define plainc 2934,88787 -#define cplpl 2935,88831 -#define cjava 2936,88862 -#define CNL_SAVE_DEFINEDEF(2938,88906 -#define CNL(2947,89118 -make_C_tag 2960,89376 -C_entries 2986,90195 -default_C_entries 3833,110157 -plain_C_entries 3840,110277 -Cplusplus_entries 3847,110365 -Cjava_entries 3854,110461 -Cstar_entries 3861,110551 -Yacc_entries 3868,110643 -#define LOOP_ON_INPUT_LINES(3875,110721 -#define LOOKING_AT(3884,111057 -#define LOOKING_AT_NOCASE(3891,111462 -just_read_file 3901,111862 -F_takeprec 3914,112040 -F_getit 3937,112367 -Fortran_functions 3961,112841 -Ada_getit 4052,114670 -Ada_funcs 4115,116045 -Asm_labels 4228,118583 -Perl_functions 4261,119550 -Python_functions 4357,122058 -PHP_functions 4387,122685 -Cobol_paragraphs 4466,124472 -Makefile_targets 4494,125030 -Pascal_functions 4529,125951 -L_getit 4709,130319 -Lisp_functions 4725,130665 -Lua_functions 4785,131851 -PS_functions 4811,132386 -Forth_words 4841,133054 -Scheme_functions 4877,134093 -static linebuffer *TEX_toktab TEX_toktab4908,134782 -static const char *TEX_defenv TEX_defenv4912,134975 -static char TEX_esc 4920,135262 -static char TEX_opgrp 4921,135290 -static char TEX_clgrp 4922,135319 -TeX_commands 4928,135396 -#define TEX_LESC 4986,136653 -#define TEX_SESC 4987,136675 -TEX_mode 4992,136805 -TEX_decode_env 5026,137510 -Texinfo_nodes 5071,138555 -HTML_labels 5094,139014 -Prolog_functions 5219,142348 -prolog_skip_comment 5255,143129 -prolog_pr 5281,143737 -prolog_atom 5319,144629 -Erlang_functions 5379,145667 -erlang_func 5438,146966 -erlang_attribute 5476,147643 -erlang_atom 5496,148062 -scan_separators 5534,149081 -analyze_regex 5586,150461 -add_regex 5654,152051 -substitute 5767,154798 -free_regexps 5814,155838 -regex_tag_multiline 5836,156292 -nocase_tail 5913,158264 -get_tag 5928,158520 -readline_internal 5959,159456 -readline 6037,161297 -savestr 6230,167244 -savenstr 6240,167474 -skip_spaces 6249,167680 -skip_non_spaces 6258,167834 -skip_name 6267,167984 -fatal 6277,168157 -pfatal 6284,168254 -suggest_asking_for_help 6291,168333 -error 6300,168555 -concat 6313,168847 -etags_getcwd 6329,169260 -relative_filename 6350,169726 -absolute_filename 6389,170752 -absolute_dirname 6453,172417 -filename_is_absolute 6472,172846 -canonicalize_filename 6484,173097 -# define ISUPPER(6491,173236 -linebuffer_init 6514,173657 -linebuffer_setlen 6524,173888 -xmalloc 6536,174149 -xrealloc 6545,174315 - -c-src/exit.c,99 - size_t n;28,972 - void EXFUN((*fn[fn29,986 - } __libc_atexit;30,1022 -DEFUN(exit,38,1263 - -c-src/exit.strange_suffix,99 - size_t n;28,972 - void EXFUN((*fn[fn29,986 - } __libc_atexit;30,1022 -DEFUN(exit,38,1263 - -c-src/sysdep.h,491 -#define ENTRY(21,875 -#define PSEUDO(26,982 - movl $SYS_##syscall_nam$SYS_##syscall_na31,1142 - movl $SYS_##syscall_name, %eax;eax31,1142 - int $0x80;32,1190 - test %eax,eax33,1220 - test %eax, %eax;eax33,1220 - jl syscall_error;34,1255 -#define XCHG_0 47,1572 -#define XCHG_1 48,1616 -#define XCHG_2 49,1658 -#define XCHG_3 50,1701 -#define XCHG_4 51,1744 -#define XCHG_5 52,1787 -#define r0 54,1831 -#define r1 55,1885 -#define scratch 56,1942 -#define MOVE(57,2011 - -c-src/tab.c,196 -static int count_words(15,263 -static char *get_word(get_word35,553 -void tab_free(59,966 -char **tab_fill(tab_fill70,1129 -int tab_delete_first(91,1638 -int tab_count_words(103,1820 - -c-src/dostorture.c,198 -(*tag1 tag118,468 -#define notag2 26,577 -(*tag2 tag229,657 -(*tag3 tag339,809 -#define notag4 45,904 -(*tag4 tag448,1001 -tag5 57,1136 -tag6 66,1272 -int pp1(74,1389 -pp287,1504 -pp3(100,1616 - -c-src/emacs/src/gmalloc.c,4207 -#define USE_PTHREAD25,1003 -#undef get_current_dir_name33,1127 -#undef malloc64,2111 -#undef realloc65,2125 -#undef calloc66,2140 -#undef free67,2154 -#define malloc 68,2166 -#define realloc 69,2189 -#define calloc 70,2214 -#define aligned_alloc 71,2237 -#define free 72,2274 -#define DUMPED 80,2473 -#define ALLOCATED_BEFORE_DUMPING(81,2508 -extern void *malloc malloc94,2719 -#define INT_BIT 124,3935 -#define BLOCKLOG 125,3978 -#define BLOCKSIZE 126,4019 -#define BLOCKIFY(127,4053 -#define HEAP 131,4216 -#define FINAL_FREE_BLOCKS 135,4392 - int type;145,4677 - size_t nfree;150,4721 - size_t first;151,4778 - } frag;152,4835 - ptrdiff_t size;156,5056 - } info;157,5077 - } busy;158,5088 - size_t size;163,5216 - size_t next;164,5273 - size_t prev;165,5322 - } free;166,5375 - } malloc_info;167,5389 -#define BLOCK(176,5621 -#define ADDRESS(177,5683 -struct list186,5940 - struct list *next;next188,5956 - struct list *prev;prev189,5979 -struct alignlist196,6154 - struct alignlist *next;next198,6175 - void *aligned;aligned199,6203 - void *exact;exact200,6271 -#define LOCK(223,7065 -#define UNLOCK(228,7196 -#define LOCK_ALIGNED_BLOCKS(233,7330 -#define UNLOCK_ALIGNED_BLOCKS(238,7485 -#define LOCK(244,7650 -#define UNLOCK(245,7665 -#define LOCK_ALIGNED_BLOCKS(246,7682 -#define UNLOCK_ALIGNED_BLOCKS(247,7712 -enum mcheck_status283,9093 - MCHECK_DISABLED 285,9116 - MCHECK_OK,286,9188 - MCHECK_FREE,287,9227 - MCHECK_HEAD,288,9271 - MCHECK_TAIL 289,9335 -struct mstats308,10154 - size_t bytes_total;310,10172 - size_t chunks_used;311,10226 - size_t bytes_used;312,10286 - size_t chunks_free;313,10352 - size_t bytes_free;314,10407 -char *_heapbase;_heapbase355,11831 -malloc_info *_heapinfo;_heapinfo358,11929 -static size_t heapsize;361,11985 -size_t _heapindex;364,12049 -size_t _heaplimit;367,12111 -struct list _fraghead[_fraghead370,12173 -size_t _chunks_used;373,12231 -size_t _bytes_used;374,12252 -size_t _chunks_free;375,12272 -size_t _bytes_free;376,12293 -int __malloc_initialized;379,12342 -size_t __malloc_extra_blocks;381,12369 -static int state_protected_p;400,12914 -static size_t last_state_size;401,12944 -static malloc_info *last_heapinfo;last_heapinfo402,12975 -protect_malloc_state 405,13016 -#define PROTECT_MALLOC_STATE(426,13629 -#define PROTECT_MALLOC_STATE(429,13699 -align 435,13796 -get_contiguous_space 466,14618 -register_heapinfo 497,15327 -pthread_mutex_t _malloc_mutex 517,15881 -pthread_mutex_t _aligned_blocks_mutex 518,15940 -int _malloc_thread_enabled_p;519,16007 -malloc_atfork_handler_prepare 522,16050 -malloc_atfork_handler_parent 529,16141 -malloc_atfork_handler_child 536,16235 -malloc_enable_thread 544,16377 -malloc_initialize_1 563,16963 -__malloc_initialize 594,17795 -static int morecore_recursing;604,17928 -morecore_nolock 609,18068 -_malloc_internal_nolock 722,21586 -_malloc_internal 920,28104 -malloc 932,28249 -_malloc 961,29142 -_free 967,29198 -_realloc 973,29242 -struct alignlist *_aligned_blocks _aligned_blocks1004,30348 -_free_internal_nolock 1009,30477 -_free_internal 1255,38479 -free 1265,38606 -weak_alias 1277,38802 -#define min(1306,39817 -_realloc_internal_nolock 1319,40313 -_realloc_internal 1435,43567 -realloc 1447,43730 -calloc 1478,44899 -#define __sbrk 1513,46048 -__default_morecore 1525,46517 -aligned_alloc 1557,47529 -memalign 1647,49711 -posix_memalign 1656,49916 -static size_t pagesize;1703,51325 -valloc 1706,51357 -#undef malloc1715,51498 -#undef realloc1716,51512 -#undef calloc1717,51527 -#undef aligned_alloc1718,51541 -#undef free1719,51562 -hybrid_malloc 1736,52091 -hybrid_calloc 1744,52196 -hybrid_free 1752,52327 -hybrid_aligned_alloc 1765,52634 -hybrid_realloc 1780,52990 -hybrid_get_current_dir_name 1811,53803 -#define MAGICWORD 1854,55213 -#define MAGICFREE 1855,55268 -#define MAGICBYTE 1856,55323 -#define MALLOCFLOOD 1857,55355 -#define FREEFLOOD 1858,55389 -struct hdr1860,55422 - size_t size;1862,55437 - size_t magic;1863,55491 -checkhdr 1867,55588 -freehook 1891,56029 -mallochook 1927,56811 -reallochook 1944,57150 -mabort 1978,57908 -static int mcheck_used 2012,58593 -mcheck 2015,58626 -mprobe 2035,59145 - -c-src/emacs/src/regex.h,4485 -#define _REGEX_H 21,837 -typedef unsigned long reg_syntax_t;43,1578 -#define RE_BACKSLASH_ESCAPE_IN_LISTS 47,1750 -#define RE_BK_PLUS_QM 52,1970 -#define RE_CHAR_CLASSES 58,2299 -#define RE_CONTEXT_INDEP_ANCHORS 72,3033 -#define RE_CONTEXT_INDEP_OPS 80,3459 -#define RE_CONTEXT_INVALID_OPS 84,3659 -#define RE_DOT_NEWLINE 88,3802 -#define RE_DOT_NOT_NULL 92,3938 -#define RE_HAT_LISTS_NOT_NEWLINE 96,4083 -#define RE_INTERVALS 101,4293 -#define RE_LIMITED_OPS 105,4442 -#define RE_NEWLINE_ALT 109,4584 -#define RE_NO_BK_BRACES 114,4774 -#define RE_NO_BK_PARENS 118,4965 -#define RE_NO_BK_REFS 122,5121 -#define RE_NO_BK_VBAR 126,5317 -#define RE_NO_EMPTY_RANGES 132,5611 -#define RE_UNMATCHED_RIGHT_PAREN_ORD 136,5767 -#define RE_NO_POSIX_BACKTRACKING 140,5938 -#define RE_NO_GNU_OPS 144,6134 -#define RE_FRUGAL 147,6254 -#define RE_SHY_GROUPS 150,6361 -#define RE_NO_NEWLINE_ANCHOR 153,6469 -#define RE_DEBUG 161,6885 -#define RE_SYNTAX_EMACS 183,7685 -#define RE_SYNTAX_AWK 186,7781 -#define RE_SYNTAX_GNU_AWK 193,8085 -#define RE_SYNTAX_POSIX_AWK 197,8256 -#define RE_SYNTAX_GREP 201,8394 -#define RE_SYNTAX_EGREP 206,8550 -#define RE_SYNTAX_POSIX_EGREP 212,8766 -#define RE_SYNTAX_ED 216,8911 -#define RE_SYNTAX_SED 218,8955 -#define _RE_SYNTAX_POSIX_COMMON 221,9073 -#define RE_SYNTAX_POSIX_BASIC 225,9216 -#define RE_SYNTAX_POSIX_MINIMAL_BASIC 231,9509 -#define RE_SYNTAX_POSIX_EXTENDED 234,9599 -#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED 242,9968 -# undef RE_DUP_MAX253,10455 -#define RE_DUP_MAX 256,10541 -#define REG_EXTENDED 263,10763 -#define REG_ICASE 267,10887 -#define REG_NEWLINE 272,11071 -#define REG_NOSUB 276,11249 -#define REG_NOTBOL 286,11615 -#define REG_NOTEOL 289,11689 - REG_ENOSYS 297,11860 - REG_NOERROR 300,11942 - REG_NOMATCH,301,11977 - REG_BADPAT,305,12124 - REG_ECOLLATE,306,12163 - REG_ECTYPE,307,12204 - REG_EESCAPE,308,12256 - REG_ESUBREG,309,12299 - REG_EBRACK,310,12346 - REG_EPAREN,311,12392 - REG_EBRACE,312,12437 - REG_BADBR,313,12473 - REG_ERANGE,314,12520 - REG_ESPACE,315,12561 - REG_BADRPT,316,12602 - REG_EEND,319,12694 - REG_ESIZE,320,12729 - REG_ERPAREN,321,12791 - REG_ERANGEX 322,12860 -} reg_errcode_t;323,12912 -# define RE_TRANSLATE_TYPE 332,13274 -struct re_pattern_buffer335,13316 - unsigned char *buffer;buffer341,13539 - size_t allocated;344,13615 - size_t used;347,13687 - reg_syntax_t syntax;350,13770 - char *fastmap;fastmap355,13976 - RE_TRANSLATE_TYPE translate;361,14242 - size_t re_nsub;364,14330 - unsigned can_be_null 370,14625 -#define REGS_UNALLOCATED 376,14890 -#define REGS_REALLOCATE 377,14917 -#define REGS_FIXED 378,14943 - unsigned regs_allocated 379,14964 - unsigned fastmap_accurate 383,15137 - unsigned no_sub 387,15268 - unsigned not_bol 391,15399 - unsigned not_eol 394,15476 - unsigned used_syntax 398,15656 - unsigned multibyte 403,15806 - unsigned target_multibyte 407,15942 - int charset_unibyte;410,16033 -typedef struct re_pattern_buffer regex_t;416,16099 -typedef ssize_t regoff_t;423,16493 -struct re_registers428,16653 - unsigned num_regs;430,16675 - regoff_t *start;start431,16696 - regoff_t *end;end432,16715 -# define RE_NREGS 440,16943 - regoff_t rm_so;449,17160 - regoff_t rm_eo;450,17240 -} regmatch_t;451,17318 -# define _Restrict_ 540,20887 -# define _Restrict_ 542,20980 -# define _Restrict_544,21019 -# define _Restrict_arr_ 555,21419 -# define _Restrict_arr_557,21462 -# define CHAR_CLASS_MAX_LENGTH 593,22471 -# define CHAR_CLASS_MAX_LENGTH 597,22649 -typedef wctype_t re_wctype_t;599,22693 -typedef wchar_t re_wchar_t;600,22723 -# define re_wctype 601,22751 -# define re_iswctype 602,22777 -# define re_wctype_to_bit(603,22807 -# define CHAR_CLASS_MAX_LENGTH 605,22845 -# define btowc(606,22907 -typedef enum { RECC_ERROR 609,22954 - RECC_ALNUM,610,22985 - RECC_ALNUM, RECC_ALPHA,610,22985 - RECC_ALNUM, RECC_ALPHA, RECC_WORD,610,22985 - RECC_GRAPH,611,23028 - RECC_GRAPH, RECC_PRINT,611,23028 - RECC_LOWER,612,23060 - RECC_LOWER, RECC_UPPER,612,23060 - RECC_PUNCT,613,23092 - RECC_PUNCT, RECC_CNTRL,613,23092 - RECC_DIGIT,614,23124 - RECC_DIGIT, RECC_XDIGIT,614,23124 - RECC_BLANK,615,23157 - RECC_BLANK, RECC_SPACE,615,23157 - RECC_MULTIBYTE,616,23189 - RECC_MULTIBYTE, RECC_NONASCII,616,23189 - RECC_ASCII,617,23228 - RECC_ASCII, RECC_UNIBYTE617,23228 -} re_wctype_t;618,23261 -typedef int re_wchar_t;623,23388 - -c-src/emacs/src/keyboard.c,15923 -volatile int interrupt_input_blocked;76,1809 -volatile bool pending_signals;80,1945 -#define KBD_BUFFER_SIZE 82,1977 -KBOARD *initial_kboard;initial_kboard84,2007 -KBOARD *current_kboard;current_kboard85,2031 -static KBOARD *all_kboards;all_kboards86,2055 -static bool single_kboard;89,2155 -#define NUM_RECENT_KEYS 91,2183 -static int recent_keys_index;94,2270 -static int total_keys;97,2358 -static Lisp_Object recent_keys;100,2444 -Lisp_Object this_command_keys;107,2778 -ptrdiff_t this_command_key_count;108,2809 -static bool this_command_key_count_reset;112,2923 -static Lisp_Object raw_keybuf;116,3075 -static int raw_keybuf_count;117,3106 -#define GROW_RAW_KEYBUF 119,3136 -static ptrdiff_t this_single_command_key_start;125,3351 -static ptrdiff_t before_command_key_count;129,3499 -static ptrdiff_t before_command_echo_length;130,3542 -sigjmp_buf return_to_command_loop;135,3678 -static Lisp_Object recover_top_level_message;138,3792 -static Lisp_Object regular_top_level_message;143,3931 -static sys_jmp_buf getcjmp;147,4032 -bool waiting_for_input;150,4096 -static bool echoing;154,4187 -static struct kboard *ok_to_echo_at_next_pause;ok_to_echo_at_next_pause159,4329 -struct kboard *echo_kboard;echo_kboard166,4633 -Lisp_Object echo_message_buffer;171,4745 -bool immediate_quit;174,4838 -int quit_char;192,5624 -EMACS_INT command_loop_level;195,5681 -Lisp_Object unread_switch_frame;204,6109 -static ptrdiff_t last_non_minibuf_size;207,6217 -uintmax_t num_input_events;210,6335 -static EMACS_INT last_auto_save;214,6429 -static ptrdiff_t last_point_position;217,6524 -Lisp_Object internal_last_event_frame;228,7029 -static Lisp_Object read_key_sequence_cmd;232,7169 -static Lisp_Object read_key_sequence_remapped;233,7211 -static FILE *dribble;dribble236,7311 -bool input_pending;239,7369 -static bool input_was_pending;287,10023 -static struct input_event kbd_buffer[kbd_buffer291,10108 -static struct input_event *kbd_fetch_ptr;kbd_fetch_ptr297,10387 -static struct input_event * volatile kbd_store_ptr;302,10602 -unsigned timers_run;320,11297 -struct timespec *input_available_clear_time;input_available_clear_time324,11409 -bool interrupt_input;328,11574 -bool interrupts_deferred;331,11672 -static struct timespec timer_idleness_start_time;335,11747 -static struct timespec timer_last_idleness_start_time;340,11917 -#define READABLE_EVENTS_DO_TIMERS_NOW 346,12047 -#define READABLE_EVENTS_FILTER_EVENTS 347,12095 -#define READABLE_EVENTS_IGNORE_SQUEEZABLES 348,12143 -kset_echo_string 392,14089 -kset_kbd_queue 397,14185 -kset_keyboard_translate_table 402,14277 -kset_last_prefix_arg 407,14400 -kset_last_repeatable_command 412,14505 -kset_local_function_key_map 417,14626 -kset_overriding_terminal_local_map 422,14745 -kset_real_last_command 427,14878 -kset_system_key_syms 432,14987 -echo_add_key 443,15250 -echo_char 527,17528 -echo_dash 541,17814 -echo_now 586,19141 -cancel_echoing 635,20615 -echo_length 648,20923 -echo_truncate 660,21254 -add_command_key 672,21583 -recursive_edit_1 697,22407 -record_auto_save 742,23849 -force_auto_save_soon 751,24017 -DEFUN ("recursive-edit", Frecursive_edit,759,24138 -DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138 -recursive_edit_unwind 804,25751 -any_kboard_state 817,26017 -single_kboard_state 838,26669 -not_single_kboard_state 848,26807 -struct kboard_stack858,27069 - KBOARD *kboard;kboard860,27091 - struct kboard_stack *next;next861,27109 -static struct kboard_stack *kboard_stack;kboard_stack864,27142 -push_kboard 867,27190 -pop_kboard 879,27379 -temporarily_switch_to_single_kboard 914,28267 -record_single_kboard_state 943,29441 -restore_kboard_configuration 952,29625 -cmd_error 970,30081 -cmd_error_internal 1024,31514 -DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32034 -DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32034 -command_loop 1094,33920 -command_loop_2 1134,35139 -top_level_2 1146,35343 -top_level_1 1152,35421 -DEFUN ("top-level", Ftop_level,1164,35791 -DEFUN ("top-level", Ftop_level,top-level1164,35791 -user_error 1183,36292 -DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36433 -DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36433 -DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36823 -DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36823 -tracking_off 1216,37285 -DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37820 -DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37820 -bool ignore_mouse_drag_p;1256,38396 -some_mouse_moved 1259,38445 -Lisp_Object last_undo_boundary;1287,39036 -command_loop_1 1294,39277 -read_menu_command 1649,50893 -adjust_point_for_property 1678,51621 -safe_run_hooks_1 1831,57343 -safe_run_hooks_error 1841,57573 -safe_run_hook_funcall 1878,58580 -safe_run_hooks 1893,59062 -int poll_suppress_count;1908,59401 -static struct atimer *poll_timer;poll_timer1915,59491 -poll_for_input_1 1919,59593 -poll_for_input 1930,59793 -start_polling 1942,60057 -input_polling_used 1979,61095 -stop_polling 1994,61394 -set_poll_suppress_count 2009,61763 -bind_polling_period 2029,62145 -make_ctrl_char 2048,62496 -show_help_echo 2113,64459 -static Lisp_Object help_form_saved_window_configs;2156,65642 -read_char_help_form_unwind 2158,65705 -#define STOP_POLLING 2166,65963 -#define RESUME_POLLING 2170,66088 -read_event_from_main_queue 2175,66233 -read_decoded_event_from_main_queue 2249,68421 -#define MAX_ENCODED_BYTES 2254,68668 -echo_keystrokes_p 2342,71560 -read_char 2376,72852 -record_menu_key 3225,98953 -help_char_p 3258,99678 -record_char 3273,99957 -save_getcjmp 3412,104239 -restore_getcjmp 3418,104330 -readable_events 3430,104701 -int stop_character EXTERNALLY_VISIBLE;3497,106441 -event_to_kboard 3500,106497 -kbd_buffer_nr_stored 3522,107146 -kbd_buffer_store_event 3534,107487 -kbd_buffer_store_event_hold 3550,108029 -kbd_buffer_unget_event 3684,111621 -#define INPUT_EVENT_POS_MAX 3698,112022 -#define INPUT_EVENT_POS_MIN 3701,112151 -position_to_Time 3706,112291 -Time_to_position 3716,112518 -gen_help_event 3738,113175 -kbd_buffer_store_help_event 3756,113615 -discard_mouse_events 3773,113980 -kbd_buffer_events_waiting 3803,114715 -clear_event 3823,115072 -kbd_buffer_get_event 3836,115412 -process_special_events 4258,127885 -swallow_events 4322,129709 -timer_start_idle 4339,130102 -timer_stop_idle 4355,130580 -timer_resume_idle 4363,130724 -struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130916 -Lisp_Object pending_funcalls;4377,131176 -decode_timer 4381,131297 -timer_check_2 4414,132250 -timer_check 4572,136821 -DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137666 -DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137666 -static Lisp_Object accent_key_syms;4625,138243 -static Lisp_Object func_key_syms;4626,138279 -static Lisp_Object mouse_syms;4627,138313 -static Lisp_Object wheel_syms;4628,138344 -static Lisp_Object drag_n_drop_syms;4629,138375 -static const int lispy_accent_codes[lispy_accent_codes4634,138520 -static const char *const lispy_accent_keys[lispy_accent_keys4741,139882 -#define FUNCTION_KEY_OFFSET 4766,140318 -const char *const lispy_function_keys[lispy_function_keys4768,140351 -static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148905 -static const char *const lispy_kana_keys[lispy_kana_keys5026,150139 -#define FUNCTION_KEY_OFFSET 5061,151755 -static const char *const lispy_function_keys[lispy_function_keys5065,151898 -#define ISO_FUNCTION_KEY_OFFSET 5149,154433 -static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154473 -static Lisp_Object Vlispy_mouse_stem;5172,155332 -static const char *const lispy_wheel_names[lispy_wheel_names5174,155371 -static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155623 -static short const scroll_bar_parts[scroll_bar_parts5189,155889 -static Lisp_Object button_down_location;5210,156914 -static int last_mouse_button;5215,157069 -static int last_mouse_x;5216,157099 -static int last_mouse_y;5217,157124 -static Time button_down_time;5218,157149 -static int double_click_count;5222,157233 -make_lispy_position 5228,157394 -toolkit_menubar_in_use 5456,163957 -make_scroll_bar_position 5469,164325 -make_lispy_event 5485,164971 -make_lispy_movement 6104,183534 -make_lispy_switch_frame 6131,184265 -make_lispy_focus_in 6137,184372 -make_lispy_focus_out 6145,184498 -parse_modifiers_uncached 6163,184948 -#define SINGLE_LETTER_MOD(6185,185468 -#undef SINGLE_LETTER_MOD6212,185909 -#define MULTI_LETTER_MOD(6214,185935 -#undef MULTI_LETTER_MOD6231,186403 -apply_modifiers_uncached 6273,187577 -static const char *const modifier_names[modifier_names6319,189196 -#define NUM_MOD_NAMES 6325,189402 -static Lisp_Object modifier_symbols;6327,189452 -lispy_modifier_list 6331,189589 -#define KEY_TO_CHAR(6353,190255 -parse_modifiers 6356,190331 -DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191520 -DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191520 -apply_modifiers 6422,192394 -reorder_modifiers 6491,194723 -modify_event_symbol 6536,196531 -DEFUN ("event-convert-list", Fevent_convert_list,6628,199247 -DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199247 -parse_solitary_modifier 6695,201138 -#define SINGLE_LETTER_MOD(6701,201261 -#define MULTI_LETTER_MOD(6705,201346 -#undef SINGLE_LETTER_MOD6763,202644 -#undef MULTI_LETTER_MOD6764,202669 -lucid_event_type_list_p 6775,202892 -get_input_pending 6814,203963 -record_asynch_buffer_change 6834,204582 -gobble_input 6872,205705 -tty_read_avail_input 6967,208313 -handle_async_input 7149,214042 -process_pending_signals 7165,214362 -unblock_input_to 7177,214648 -unblock_input 7200,215280 -totally_unblock_input 7209,215448 -handle_input_available_signal 7217,215532 -deliver_input_available_signal 7226,215703 -struct user_signal_info7235,215868 - int sig;7238,215918 - char *name;name7241,215959 - int npending;7244,216010 - struct user_signal_info *next;next7246,216027 -static struct user_signal_info *user_signals user_signals7250,216093 -add_user_signal 7253,216152 -handle_user_signal 7275,216601 -deliver_user_signal 7316,217561 -find_user_signal_name 7322,217662 -store_user_signal_events 7334,217844 -static Lisp_Object menu_bar_one_keymap_changed_items;7363,218419 -static Lisp_Object menu_bar_items_vector;7368,218633 -static int menu_bar_items_index;7369,218675 -static const char *separator_names[separator_names7372,218710 -menu_separator_name_p 7393,219151 -menu_bar_items 7426,219855 -Lisp_Object item_properties;7568,224606 -menu_bar_item 7571,224648 -menu_item_eval_property_1 7647,227178 -eval_dyn 7658,227468 -menu_item_eval_property 7666,227678 -parse_menu_item 7686,228344 -static Lisp_Object tool_bar_items_vector;7965,236339 -static Lisp_Object tool_bar_item_properties;7970,236513 -static int ntool_bar_items;7974,236609 -tool_bar_items 7990,237086 -process_tool_bar_item 8075,239895 -#define PROP(8112,240972 -set_prop 8114,241041 -parse_tool_bar_item 8167,242456 -#undef PROP8379,248847 -init_tool_bar_items 8387,248972 -append_tool_bar_item 8401,249264 -read_char_x_menu_prompt 8443,250774 -read_char_minibuf_menu_prompt 8503,252448 -#define PUSH_C_STR(8527,253017 -follow_key 8726,258556 -active_maps 8733,258698 -typedef struct keyremap8742,259024 - Lisp_Object parent;8745,259110 - Lisp_Object map;8748,259227 - int start,8753,259449 - int start, end;8753,259449 -} keyremap;8754,259467 -access_keymap_keyremap 8764,259811 -keyremap_step 8811,261453 -test_undefined 8867,262937 -read_key_sequence 8916,264864 -read_key_sequence_vs 9826,295824 -DEFUN ("read-key-sequence", Fread_key_sequence,9885,297297 -DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297297 -DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299985 -DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299985 -detect_input_pending 9950,300491 -detect_input_pending_ignore_squeezables 9959,300657 -detect_input_pending_run_timers 9967,300873 -clear_input_pending 9985,301365 -requeued_events_pending_p 9997,301735 -DEFUN ("input-pending-p", Finput_pending_p,10002,301816 -DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301816 -DEFUN ("recent-keys", Frecent_keys,10024,302599 -DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302599 -DEFUN ("this-command-keys", Fthis_command_keys,10055,303520 -DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303520 -DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303961 -DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303961 -DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304383 -DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304383 -DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304958 -DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304958 -DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305498 -DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305498 -DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306513 -DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306513 -DEFUN ("recursion-depth", Frecursion_depth,10158,307072 -DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307072 -DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307409 -DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307409 -DEFUN ("discard-input", Fdiscard_input,10203,308450 -DEFUN ("discard-input", Fdiscard_input,discard-input10203,308450 -DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308952 -DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308952 -stuff_buffered_input 10285,311048 -set_waiting_for_input 10323,312019 -clear_waiting_for_input 10337,312393 -handle_interrupt_signal 10351,312757 -deliver_interrupt_signal 10378,313645 -static int volatile force_quit_count;10387,313935 -handle_interrupt 10401,314417 -quit_throw_to_read_char 10541,318714 -DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319291 -DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319291 -DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320519 -DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320519 -DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321435 -DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321435 -DEFUN ("set-quit-char", Fset_quit_char,10694,322709 -DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322709 -DEFUN ("set-input-mode", Fset_input_mode,10729,323573 -DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323573 -DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324462 -DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324462 -DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325840 -DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325840 -DEFUN ("posn-at-point", Fposn_at_point,10824,327063 -DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327063 -init_kboard 10861,328217 -allocate_kboard 10893,329287 -wipe_kboard 10909,329640 -delete_kboard 10917,329754 -init_keyboard 10942,330284 -struct event_head11021,332699 - short var;11023,332719 - short kind;11024,332732 -static const struct event_head head_table[head_table11027,332750 -syms_of_keyboard 11045,333580 -keys_of_keyboard 11841,367118 -mark_kboards 11916,370437 - -c-src/emacs/src/lisp.h,27827 -#define EMACS_LISP_H22,801 -#define DECLARE_GDB_SYM(47,1422 -# define DEFINE_GDB_SYMBOL_BEGIN(49,1509 -# define DEFINE_GDB_SYMBOL_END(50,1579 -# define DEFINE_GDB_SYMBOL_BEGIN(52,1626 -# define DEFINE_GDB_SYMBOL_END(53,1703 -#undef min57,1791 -#undef max58,1802 -#define max(59,1813 -#define min(60,1855 -#define ARRAYELTS(63,1937 -#define GCTYPEBITS 67,2080 -DEFINE_GDB_SYMBOL_BEGIN GCTYPEBITS66,2038 -# define NONPOINTER_BITS 78,2568 -# define NONPOINTER_BITS 80,2601 -typedef int EMACS_INT;91,3024 -typedef unsigned int EMACS_UINT;92,3047 -# define EMACS_INT_MAX 93,3080 -# define pI 94,3112 -typedef long int EMACS_INT;96,3204 -typedef unsigned long EMACS_UINT;97,3232 -# define EMACS_INT_MAX 98,3266 -# define pI 99,3299 -typedef long long int EMACS_INT;103,3478 -typedef unsigned long long int EMACS_UINT;104,3511 -# define EMACS_INT_MAX 105,3554 -# define pI 106,3588 -enum { BOOL_VECTOR_BITS_PER_CHAR 114,3805 -#define BOOL_VECTOR_BITS_PER_CHAR 115,3841 -typedef size_t bits_word;123,4166 -# define BITS_WORD_MAX 124,4192 -enum { BITS_PER_BITS_WORD 125,4224 -typedef unsigned char bits_word;127,4291 -# define BITS_WORD_MAX 128,4324 -enum { BITS_PER_BITS_WORD 129,4387 - BITS_PER_CHAR 136,4571 - BITS_PER_SHORT 137,4606 - BITS_PER_LONG 138,4658 - BITS_PER_EMACS_INT 139,4713 -typedef intmax_t printmax_t;148,5090 -typedef uintmax_t uprintmax_t;149,5119 -# define pMd 150,5150 -# define pMu 151,5171 -typedef EMACS_INT printmax_t;153,5198 -typedef EMACS_UINT uprintmax_t;154,5228 -# define pMd 155,5260 -# define pMu 156,5279 -# define pD 165,5665 -# define pD 167,5710 -# define pD 169,5757 -# define pD 171,5780 -# define eassert(200,7063 -# define eassume(201,7141 -# define eassert(208,7320 -# define eassume(212,7451 -enum Lisp_Bits239,8520 -#define GCALIGNMENT 243,8648 - VALBITS 246,8743 - INTTYPEBITS 249,8839 - FIXNUM_BITS 252,8946 -#define VAL_MAX 263,9328 -#define USE_LSB_TAG 271,9778 -DEFINE_GDB_SYMBOL_BEGIN USE_LSB_TAG270,9734 -# define alignas(281,10078 -# define GCALIGNED 288,10228 -# define GCALIGNED 290,10293 -# define lisp_h_XLI(327,11643 -# define lisp_h_XIL(328,11674 -# define lisp_h_XLI(330,11725 -# define lisp_h_XIL(331,11752 -#define lisp_h_CHECK_LIST_CONS(333,11786 -#define lisp_h_CHECK_NUMBER(334,11857 -#define lisp_h_CHECK_SYMBOL(335,11928 -#define lisp_h_CHECK_TYPE(336,11997 -#define lisp_h_CONSP(338,12108 -#define lisp_h_EQ(339,12157 -#define lisp_h_FLOATP(340,12202 -#define lisp_h_INTEGERP(341,12253 -#define lisp_h_MARKERP(342,12334 -#define lisp_h_MISCP(343,12409 -#define lisp_h_NILP(344,12458 -#define lisp_h_SET_SYMBOL_VAL(345,12494 -#define lisp_h_SYMBOL_CONSTANT_P(347,12608 -#define lisp_h_SYMBOL_VAL(348,12672 -#define lisp_h_SYMBOLP(350,12773 -#define lisp_h_VECTORLIKEP(351,12826 -#define lisp_h_XCAR(352,12887 -#define lisp_h_XCDR(353,12925 -#define lisp_h_XCONS(354,12965 -#define lisp_h_XHASH(356,13060 -#define lisp_h_XPNTR(357,13094 -# define lisp_h_check_cons_list(360,13222 -# define lisp_h_make_number(363,13290 -# define lisp_h_XFASTINT(365,13393 -# define lisp_h_XINT(366,13430 -# define lisp_h_XSYMBOL(367,13479 -# define lisp_h_XTYPE(371,13632 -# define lisp_h_XUNTAG(372,13697 -# define XLI(381,14087 -# define XIL(382,14118 -# define CHECK_LIST_CONS(383,14149 -# define CHECK_NUMBER(384,14210 -# define CHECK_SYMBOL(385,14259 -# define CHECK_TYPE(386,14308 -# define CONSP(387,14383 -# define EQ(388,14418 -# define FLOATP(389,14453 -# define INTEGERP(390,14490 -# define MARKERP(391,14531 -# define MISCP(392,14570 -# define NILP(393,14605 -# define SET_SYMBOL_VAL(394,14638 -# define SYMBOL_CONSTANT_P(395,14701 -# define SYMBOL_VAL(396,14764 -# define SYMBOLP(397,14813 -# define VECTORLIKEP(398,14852 -# define XCAR(399,14899 -# define XCDR(400,14932 -# define XCONS(401,14965 -# define XHASH(402,15000 -# define XPNTR(403,15035 -# define check_cons_list(405,15098 -# define make_number(408,15177 -# define XFASTINT(409,15225 -# define XINT(410,15267 -# define XSYMBOL(411,15301 -# define XTYPE(412,15341 -# define XUNTAG(413,15377 -#define LISP_MACRO_DEFUN(421,15673 -#define LISP_MACRO_DEFUN_VOID(425,15846 -#define INTMASK 437,16290 -#define case_Lisp_Int 438,16343 -#define ENUM_BF(445,16682 -#define ENUM_BF(447,16723 -enum Lisp_Type451,16764 - Lisp_Symbol 454,16852 - Lisp_Misc 458,16994 - Lisp_Int0 461,17068 - Lisp_Int1 462,17087 - Lisp_String 466,17265 - Lisp_Vectorlike 472,17544 - Lisp_Cons 475,17633 - Lisp_Float 477,17671 -enum Lisp_Misc_Type485,18017 - Lisp_Misc_Free 487,18041 - Lisp_Misc_Marker,488,18070 - Lisp_Misc_Overlay,489,18092 - Lisp_Misc_Save_Value,490,18115 - Lisp_Misc_Finalizer,491,18141 - Lisp_Misc_Float,494,18276 - Lisp_Misc_Limit496,18360 -enum Lisp_Fwd_Type502,18544 - Lisp_Fwd_Int,504,18567 - Lisp_Fwd_Bool,505,18620 - Lisp_Fwd_Obj,506,18671 - Lisp_Fwd_Buffer_Obj,507,18730 - Lisp_Fwd_Kboard_Obj 508,18801 -typedef struct { EMACS_INT i;567,21772 -typedef struct { EMACS_INT i; } Lisp_Object;567,21772 -#define LISP_INITIALLY(569,21818 -#undef CHECK_LISP_OBJECT_TYPE571,21849 -enum CHECK_LISP_OBJECT_TYPE 572,21879 -enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE 572,21879 -typedef EMACS_INT Lisp_Object;577,22055 -#define LISP_INITIALLY(578,22086 -enum CHECK_LISP_OBJECT_TYPE 579,22116 -enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE 579,22116 -#define LISP_INITIALLY_ZERO 582,22217 -enum symbol_interned639,24190 - SYMBOL_UNINTERNED 641,24213 - SYMBOL_INTERNED 642,24238 - SYMBOL_INTERNED_IN_INITIAL_OBARRAY 643,24261 -enum symbol_redirect646,24306 - SYMBOL_PLAINVAL 648,24329 - SYMBOL_VARALIAS 649,24353 - SYMBOL_LOCALIZED 650,24377 - SYMBOL_FORWARDED 651,24401 -struct Lisp_Symbol654,24428 - bool_bf gcmarkbit 656,24449 - ENUM_BF (symbol_redirect) redirect 663,24784 - unsigned constant 668,25002 - unsigned interned 672,25122 - bool_bf declared_special 676,25284 - bool_bf pinned 679,25385 - Lisp_Object name;682,25454 - Lisp_Object value;687,25622 - struct Lisp_Symbol *alias;alias688,25645 - struct Lisp_Buffer_Local_Value *blv;blv689,25676 - union Lisp_Fwd *fwd;fwd690,25717 - } val;691,25742 - Lisp_Object function;694,25814 - Lisp_Object plist;697,25876 - struct Lisp_Symbol *next;next700,25965 -#define EXFUN(707,26243 -#define DEFUN_ARGS_MANY 712,26437 -#define DEFUN_ARGS_UNEVALLED 713,26489 -#define DEFUN_ARGS_0 714,26532 -#define DEFUN_ARGS_1 715,26560 -#define DEFUN_ARGS_2 716,26595 -#define DEFUN_ARGS_3 717,26643 -#define DEFUN_ARGS_4 718,26704 -#define DEFUN_ARGS_5 719,26778 -#define DEFUN_ARGS_6 721,26871 -#define DEFUN_ARGS_7 723,26977 -#define DEFUN_ARGS_8 725,27096 -#define TAG_PTR(729,27287 -#define TAG_SYMOFFSET(734,27534 -#define XLI_BUILTIN_LISPSYM(741,27833 -#define DEFINE_LISP_SYMBOL(746,28092 -# define DEFINE_NON_NIL_Q_SYMBOL_MACROS 755,28563 -LISP_MACRO_DEFUN 762,28768 -# define ARRAY_MARK_FLAG 768,29015 -# define PSEUDOVECTOR_FLAG 774,29258 -enum pvec_type780,29559 - PVEC_NORMAL_VECTOR,782,29576 - PVEC_FREE,783,29598 - PVEC_PROCESS,784,29611 - PVEC_FRAME,785,29627 - PVEC_WINDOW,786,29641 - PVEC_BOOL_VECTOR,787,29656 - PVEC_BUFFER,788,29676 - PVEC_HASH_TABLE,789,29691 - PVEC_TERMINAL,790,29710 - PVEC_WINDOW_CONFIGURATION,791,29727 - PVEC_SUBR,792,29756 - PVEC_OTHER,793,29769 - PVEC_COMPILED,795,29847 - PVEC_CHAR_TABLE,796,29864 - PVEC_SUB_CHAR_TABLE,797,29883 - PVEC_FONT 798,29906 -enum More_Lisp_Bits801,29982 - PSEUDOVECTOR_SIZE_BITS 808,30373 - PSEUDOVECTOR_SIZE_MASK 809,30406 - PSEUDOVECTOR_REST_BITS 813,30616 - PSEUDOVECTOR_REST_MASK 814,30649 - PSEUDOVECTOR_AREA_BITS 818,30814 - PVEC_TYPE_MASK 819,30892 -# define VALMASK 829,31293 -DEFINE_GDB_SYMBOL_BEGIN VALMASK828,31248 -#define MOST_POSITIVE_FIXNUM 834,31523 -#define MOST_NEGATIVE_FIXNUM 835,31583 -XINT 874,32675 -XFASTINT 889,33026 -XSYMBOL 899,33254 -XTYPE 910,33472 -XUNTAG 918,33652 -LISP_MACRO_DEFUN 927,33848 -LISP_MACRO_DEFUN 940,34233 -#define FIXNUM_OVERFLOW_P(958,34846 -LISP_MACRO_DEFUN FIXNUM_OVERFLOW_P952,34623 -LISP_MACRO_DEFUN 970,35162 -XSTRING 980,35382 -#define SYMBOL_INDEX(988,35566 -XFLOAT 991,35627 -XPROCESS 1000,35769 -XWINDOW 1007,35886 -XTERMINAL 1014,36003 -XSUBR 1021,36125 -XBUFFER 1028,36236 -XCHAR_TABLE 1035,36360 -XSUB_CHAR_TABLE 1042,36497 -XBOOL_VECTOR 1049,36639 -make_lisp_ptr 1058,36818 -make_lisp_symbol 1066,37004 -builtin_lisp_symbol 1074,37188 -#define XSETINT(1079,37270 -#define XSETFASTINT(1080,37316 -#define XSETCONS(1081,37366 -#define XSETVECTOR(1082,37426 -#define XSETSTRING(1083,37494 -#define XSETSYMBOL(1084,37558 -#define XSETFLOAT(1085,37612 -#define XSETMISC(1086,37674 -#define XSETPVECTYPE(1090,37763 -#define XSETPVECTYPESIZE(1092,37879 -#define XSETPSEUDOVECTOR(1099,38176 -#define XSETTYPED_PSEUDOVECTOR(1105,38360 -#define XSETWINDOW_CONFIGURATION(1110,38570 -#define XSETPROCESS(1112,38666 -#define XSETWINDOW(1113,38732 -#define XSETTERMINAL(1114,38796 -#define XSETSUBR(1115,38864 -#define XSETCOMPILED(1116,38924 -#define XSETBUFFER(1117,38992 -#define XSETCHAR_TABLE(1118,39056 -#define XSETBOOL_VECTOR(1119,39128 -#define XSETSUB_CHAR_TABLE(1120,39202 -XINTPTR 1128,39572 -make_pointer_integer 1134,39652 -LISP_MACRO_DEFUN_VOID 1143,39817 -typedef struct interval *INTERVAL;INTERVAL1149,39978 - Lisp_Object cdr;1159,40153 - struct Lisp_Cons *chain;chain1162,40227 -xcar_addr 1174,40751 -xcdr_addr 1179,40828 -LISP_MACRO_DEFUN 1185,40922 -XSETCDR 1198,41298 -CAR 1205,41448 -CDR 1212,41582 -CAR_SAFE 1221,41782 -CDR_SAFE 1226,41868 -STRING_MULTIBYTE 1243,42241 -#define STRING_BYTES_BOUND 1261,43048 -#define STRING_SET_UNIBYTE(1265,43192 -#define STRING_SET_MULTIBYTE(1275,43507 -SDATA 1286,43821 -SSDATA 1291,43899 -SREF 1297,44028 -SSET 1302,44119 -SCHARS 1307,44233 -STRING_BYTES 1316,44406 -SBYTES 1326,44586 -STRING_SET_CHARS 1331,44672 -struct vectorlike_header1343,45223 - ptrdiff_t size;1364,46374 -struct Lisp_Vector1369,46473 - struct vectorlike_header header;1371,46496 - Lisp_Object contents[contents1372,46533 - ALIGNOF_STRUCT_LISP_VECTOR1378,46672 -struct Lisp_Bool_Vector1384,46855 - struct vectorlike_header header;1388,47003 - EMACS_INT size;1390,47077 - bits_word data[data1395,47310 -bool_vector_size 1399,47376 -bool_vector_data 1407,47514 -bool_vector_uchar_data 1413,47608 -bool_vector_words 1421,47794 -bool_vector_bytes 1428,47989 -bool_vector_bitref 1437,48229 -bool_vector_ref 1445,48469 -bool_vector_set 1453,48609 - header_size 1471,49038 - bool_header_size 1472,49097 - word_size 1473,49162 -AREF 1479,49275 -aref_addr 1485,49382 -ASIZE 1491,49492 -ASET 1497,49574 -gc_aset 1504,49733 -enum { NIL_IS_ZERO 1515,50260 -memclear 1520,50455 -#define VECSIZE(1531,50753 -#define PSEUDOVECSIZE(1538,51038 -#define UNSIGNED_CMP(1546,51471 -#define ASCII_CHAR_P(1552,51725 -enum CHARTAB_SIZE_BITS1565,52480 - CHARTAB_SIZE_BITS_0 1567,52507 - CHARTAB_SIZE_BITS_1 1568,52536 - CHARTAB_SIZE_BITS_2 1569,52565 - CHARTAB_SIZE_BITS_3 1570,52594 -struct Lisp_Char_Table1575,52663 - struct vectorlike_header header;1581,52919 - Lisp_Object defalt;1585,53069 - Lisp_Object parent;1590,53271 - Lisp_Object purpose;1594,53389 - Lisp_Object ascii;1598,53555 - Lisp_Object contents[contents1600,53579 - Lisp_Object extras[extras1603,53690 -struct Lisp_Sub_Char_Table1606,53743 - struct vectorlike_header header;1610,53909 - int depth;1618,54332 - int min_char;1621,54408 - Lisp_Object contents[contents1624,54483 -CHAR_TABLE_REF_ASCII 1628,54557 -CHAR_TABLE_REF 1648,55104 -CHAR_TABLE_SET 1658,55393 -struct Lisp_Subr1670,55777 - struct vectorlike_header header;1672,55798 - Lisp_Object (*a0)a01674,55847 - Lisp_Object (*a1)a11675,55879 - Lisp_Object (*a2)a21676,55918 - Lisp_Object (*a3)a31677,55970 - Lisp_Object (*a4)a41678,56035 - Lisp_Object (*a5)a51679,56113 - Lisp_Object (*a6)a61680,56204 - Lisp_Object (*a7)a71681,56308 - Lisp_Object (*a8)a81682,56425 - Lisp_Object (*aUNEVALLED)aUNEVALLED1683,56555 - Lisp_Object (*aMANY)aMANY1684,56607 - } function;1685,56662 - short min_args,1686,56678 - short min_args, max_args;1686,56678 - const char *symbol_name;symbol_name1687,56708 - const char *intspec;intspec1688,56737 - const char *doc;doc1689,56762 -enum char_table_specials1692,56789 - CHAR_TABLE_STANDARD_SLOTS 1697,56984 - SUB_CHAR_TABLE_OFFSET 1701,57205 -CHAR_TABLE_EXTRA_SLOTS 1707,57368 -LISP_MACRO_DEFUN 1723,57912 -SYMBOL_BLV 1732,58172 -SYMBOL_FWD 1738,58307 -LISP_MACRO_DEFUN_VOID 1744,58419 -SET_SYMBOL_BLV 1754,58682 -SET_SYMBOL_FWD 1760,58841 -SYMBOL_NAME 1767,58992 -SYMBOL_INTERNED_P 1775,59121 -SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P 1783,59290 -#define DEFSYM(1796,59800 -LISP_MACRO_DEFUN DEFSYM1792,59621 -struct hash_table_test1805,60053 - Lisp_Object name;1808,60130 - Lisp_Object user_hash_function;1811,60197 - Lisp_Object user_cmp_function;1814,60288 - bool (*cmpfn)cmpfn1817,60363 - EMACS_UINT (*hashfn)hashfn1820,60477 -struct Lisp_Hash_Table1823,60546 - struct vectorlike_header header;1826,60640 - Lisp_Object weak;1830,60774 - Lisp_Object rehash_size;1835,60998 - Lisp_Object rehash_threshold;1839,61120 - Lisp_Object hash;1843,61251 - Lisp_Object next;1848,61481 - Lisp_Object next_free;1851,61551 - Lisp_Object index;1856,61762 - ptrdiff_t count;1863,62032 - Lisp_Object key_and_value;1868,62231 - struct hash_table_test test;1871,62305 - struct Lisp_Hash_Table *next_weak;next_weak1875,62448 -XHASH_TABLE 1880,62522 -#define XSET_HASH_TABLE(1885,62593 -HASH_TABLE_P 1889,62694 -HASH_KEY 1896,62851 -HASH_VALUE 1903,63031 -HASH_NEXT 1911,63245 -HASH_HASH 1918,63422 -HASH_INDEX 1926,63668 -HASH_TABLE_SIZE 1933,63817 -enum DEFAULT_HASH_SIZE 1940,63947 -enum DEFAULT_HASH_SIZE { DEFAULT_HASH_SIZE 1940,63947 -static double const DEFAULT_REHASH_THRESHOLD 1946,64167 -static double const DEFAULT_REHASH_SIZE 1950,64290 -sxhash_combine 1956,64456 -SXHASH_REDUCE 1964,64639 -struct Lisp_Misc_Any 1971,64797 - ENUM_BF (Lisp_Misc_Type) type 1973,64857 - bool_bf gcmarkbit 1974,64918 - unsigned spacer 1975,64943 -struct Lisp_Marker1978,64971 - ENUM_BF (Lisp_Misc_Type) type 1980,64992 - bool_bf gcmarkbit 1981,65056 - unsigned spacer 1982,65081 - bool_bf need_adjustment 1986,65273 - bool_bf insertion_type 1989,65414 - struct buffer *buffer;buffer2000,66007 - struct Lisp_Marker *next;next2009,66358 - ptrdiff_t charpos;2011,66446 - ptrdiff_t bytepos;2016,66704 -struct Lisp_Overlay2021,66832 - ENUM_BF (Lisp_Misc_Type) type 2034,67340 - bool_bf gcmarkbit 2035,67406 - unsigned spacer 2036,67433 - struct Lisp_Overlay *next;next2037,67459 - Lisp_Object start;2038,67490 - Lisp_Object end;2039,67513 - Lisp_Object plist;2040,67534 - SAVE_UNUSED,2047,67635 - SAVE_INTEGER,2048,67652 - SAVE_FUNCPOINTER,2049,67670 - SAVE_POINTER,2050,67692 - SAVE_OBJECT2051,67710 -enum { SAVE_SLOT_BITS 2055,67795 -enum { SAVE_VALUE_SLOTS 2058,67892 -enum { SAVE_TYPE_BITS 2062,68000 -enum Lisp_Save_Type2064,68066 - SAVE_TYPE_INT_INT 2066,68090 - SAVE_TYPE_INT_INT_INT2067,68163 - SAVE_TYPE_OBJ_OBJ 2069,68253 - SAVE_TYPE_OBJ_OBJ_OBJ 2070,68324 - SAVE_TYPE_OBJ_OBJ_OBJ_OBJ2071,68405 - SAVE_TYPE_PTR_INT 2073,68500 - SAVE_TYPE_PTR_OBJ 2074,68573 - SAVE_TYPE_PTR_PTR 2075,68645 - SAVE_TYPE_FUNCPTR_PTR_OBJ2076,68718 - SAVE_TYPE_MEMORY 2080,68876 -typedef void (*voidfuncptr)voidfuncptr2108,69830 -struct Lisp_Save_Value2110,69867 - ENUM_BF (Lisp_Misc_Type) type 2112,69894 - bool_bf gcmarkbit 2113,69963 - unsigned spacer : 32 - (16 + 1 + SAVE_TYPE_BITS)2114,69990 - ENUM_BF (Lisp_Save_Type) save_type : SAVE_TYPE_BITS;2123,70480 - void *pointer;pointer2125,70549 - voidfuncptr funcpointer;2126,70570 - ptrdiff_t integer;2127,70601 - Lisp_Object object;2128,70626 - } data[data2129,70652 -save_type 2134,70746 -XSAVE_POINTER 2143,70976 -set_save_pointer 2149,71138 -XSAVE_FUNCPOINTER 2155,71320 -XSAVE_INTEGER 2164,71540 -set_save_integer 2170,71702 -XSAVE_OBJECT 2179,71923 -struct Lisp_Finalizer2186,72100 - struct Lisp_Misc_Any base;2188,72126 - struct Lisp_Finalizer *prev;prev2191,72214 - struct Lisp_Finalizer *next;next2192,72247 - Lisp_Object function;2197,72484 -struct Lisp_Free2201,72575 - ENUM_BF (Lisp_Misc_Type) type 2203,72596 - bool_bf gcmarkbit 2204,72659 - unsigned spacer 2205,72686 - union Lisp_Misc *chain;chain2206,72712 -union Lisp_Misc2212,72876 - struct Lisp_Misc_Any u_any;2214,72896 - struct Lisp_Free u_free;2215,72967 - struct Lisp_Marker u_marker;2216,72996 - struct Lisp_Overlay u_overlay;2217,73029 - struct Lisp_Save_Value u_save_value;2218,73064 - struct Lisp_Finalizer u_finalizer;2219,73105 -XMISC 2223,73175 -XMISCANY 2229,73264 -XMISCTYPE 2236,73373 -XMARKER 2242,73461 -XOVERLAY 2249,73576 -XSAVE_VALUE 2256,73697 -XFINALIZER 2263,73826 -struct Lisp_Intfwd2274,74111 - enum Lisp_Fwd_Type type;2276,74134 - EMACS_INT *intvar;intvar2277,74184 -struct Lisp_Boolfwd2284,74405 - enum Lisp_Fwd_Type type;2286,74429 - bool *boolvar;boolvar2287,74480 -struct Lisp_Objfwd2294,74696 - enum Lisp_Fwd_Type type;2296,74719 - Lisp_Object *objvar;objvar2297,74769 -struct Lisp_Buffer_Objfwd2302,74928 - enum Lisp_Fwd_Type type;2304,74958 - int offset;2305,75015 - Lisp_Object predicate;2307,75107 -struct Lisp_Buffer_Local_Value2334,76464 - bool_bf local_if_set 2338,76609 - bool_bf frame_local 2341,76791 - bool_bf found 2344,76933 - union Lisp_Fwd *fwd;fwd2346,77035 - Lisp_Object where;2348,77178 - Lisp_Object defcell;2351,77304 - Lisp_Object valcell;2357,77608 -struct Lisp_Kboard_Objfwd2362,77723 - enum Lisp_Fwd_Type type;2364,77753 - int offset;2365,77810 -union Lisp_Fwd2368,77832 - struct Lisp_Intfwd u_intfwd;2370,77851 - struct Lisp_Boolfwd u_boolfwd;2371,77884 - struct Lisp_Objfwd u_objfwd;2372,77919 - struct Lisp_Buffer_Objfwd u_buffer_objfwd;2373,77952 - struct Lisp_Kboard_Objfwd u_kboard_objfwd;2374,77999 -XFWDTYPE 2378,78078 -XBUFFER_OBJFWD 2384,78174 -struct Lisp_Float2391,78310 - double data;2395,78348 - struct Lisp_Float *chain;chain2396,78367 - } u;2397,78399 -XFLOAT_DATA 2401,78428 - IEEE_FLOATING_POINT2415,78937 -#define _UCHAR_T2423,79260 -typedef unsigned char UCHAR;2424,79277 -enum Lisp_Compiled2429,79360 - COMPILED_ARGLIST 2431,79383 - COMPILED_BYTECODE 2432,79409 - COMPILED_CONSTANTS 2433,79436 - COMPILED_STACK_DEPTH 2434,79464 - COMPILED_DOC_STRING 2435,79494 - COMPILED_INTERACTIVE 2436,79523 -enum char_bits2443,79825 - CHAR_ALT 2445,79844 - CHAR_SUPER 2446,79870 - CHAR_HYPER 2447,79898 - CHAR_SHIFT 2448,79926 - CHAR_CTL 2449,79954 - CHAR_META 2450,79980 - CHAR_MODIFIER_MASK 2452,80008 - CHARACTERBITS 2457,80203 -LISP_MACRO_DEFUN 2462,80261 -NATNUMP 2470,80403 -RANGED_INTEGERP 2476,80484 -#define TYPE_RANGED_INTEGERP(2481,80606 -LISP_MACRO_DEFUN 2486,80791 -VECTORP 2500,81264 -OVERLAYP 2505,81367 -SAVE_VALUEP 2510,81466 -FINALIZERP 2516,81572 -AUTOLOADP 2522,81676 -BUFFER_OBJFWDP 2528,81767 -PSEUDOVECTOR_TYPEP 2534,81865 -PSEUDOVECTORP 2542,82118 -WINDOW_CONFIGURATIONP 2558,82470 -PROCESSP 2564,82580 -WINDOWP 2570,82664 -TERMINALP 2576,82746 -SUBRP 2582,82832 -COMPILEDP 2588,82910 -BUFFERP 2594,82996 -CHAR_TABLE_P 2600,83078 -SUB_CHAR_TABLE_P 2606,83169 -BOOL_VECTOR_P 2612,83268 -FRAMEP 2618,83361 -IMAGEP 2625,83478 -ARRAYP 2632,83583 -CHECK_LIST 2638,83702 -LISP_MACRO_DEFUN_VOID 2643,83783 -CHECK_STRING_CAR 2653,84080 -CHECK_CONS 2658,84184 -CHECK_VECTOR 2663,84264 -CHECK_BOOL_VECTOR 2668,84350 -CHECK_VECTOR_OR_STRING 2674,84527 -CHECK_ARRAY 2683,84701 -CHECK_BUFFER 2688,84809 -CHECK_WINDOW 2693,84895 -CHECK_PROCESS 2699,85001 -CHECK_NATNUM 2705,85097 -#define CHECK_RANGED_INTEGER(2710,85174 -#define CHECK_TYPE_RANGED_INTEGER(2721,85557 -#define CHECK_NUMBER_COERCE_MARKER(2729,85827 -XFLOATINT 2738,86080 -CHECK_NUMBER_OR_FLOAT 2744,86151 -#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(2749,86250 -CHECK_NUMBER_CAR 2760,86660 -CHECK_NUMBER_CDR 2768,86782 -#define DEFUN(2803,88377 -#define DEFUN(2812,88845 -FUNCTIONP 2822,89200 -enum maxargs2831,89395 - MANY 2833,89412 - UNEVALLED 2834,89427 -#define CALLMANY(2838,89530 -#define CALLN(2844,89883 -#define DEFVAR_LISP(2869,91088 -#define DEFVAR_LISP_NOPRO(2874,91260 -#define DEFVAR_BOOL(2879,91442 -#define DEFVAR_INT(2884,91615 -#define DEFVAR_BUFFER_DEFAULTS(2890,91786 -#define DEFVAR_KBOARD(2896,91990 -typedef jmp_buf sys_jmp_buf;2906,92314 -# define sys_setjmp(2907,92343 -# define sys_longjmp(2908,92378 -typedef sigjmp_buf sys_jmp_buf;2910,92450 -# define sys_setjmp(2911,92482 -# define sys_longjmp(2912,92522 -typedef jmp_buf sys_jmp_buf;2916,92681 -# define sys_setjmp(2917,92710 -# define sys_longjmp(2918,92744 -enum specbind_tag 2943,93796 - SPECPDL_UNWIND,2944,93816 - SPECPDL_UNWIND_PTR,2945,93885 - SPECPDL_UNWIND_INT,2946,93936 - SPECPDL_UNWIND_VOID,2947,93984 - SPECPDL_BACKTRACE,2948,94038 - SPECPDL_LET,2949,94096 - SPECPDL_LET_LOCAL,2951,94226 - SPECPDL_LET_DEFAULT 2952,94283 -union specbinding2955,94355 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2957,94377 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2959,94434 - void (*func)func2960,94480 - Lisp_Object arg;2961,94514 - } unwind;2962,94537 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2964,94564 - void (*func)func2965,94610 - void *arg;arg2966,94639 - } unwind_ptr;2967,94656 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2969,94687 - void (*func)func2970,94733 - int arg;2971,94759 - } unwind_int;2972,94774 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2974,94805 - void (*func)func2975,94851 - } unwind_void;2976,94878 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2978,94910 - Lisp_Object symbol,2980,95017 - Lisp_Object symbol, old_value,2980,95017 - Lisp_Object symbol, old_value, where;2980,95017 - } let;2981,95061 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2983,95085 - bool_bf debug_on_exit 2984,95131 - Lisp_Object function;2985,95164 - Lisp_Object *args;args2986,95192 - ptrdiff_t nargs;2987,95217 - } bt;2988,95240 -SPECPDL_INDEX 2996,95379 -enum handlertype 3021,96401 -enum handlertype { CATCHER,3021,96401 -enum handlertype { CATCHER, CONDITION_CASE 3021,96401 -struct handler3023,96448 - enum handlertype type;3025,96465 - Lisp_Object tag_or_ch;3026,96490 - Lisp_Object val;3027,96515 - struct handler *next;next3028,96534 - struct handler *nextfree;nextfree3029,96558 - Lisp_Object *bytecode_top;bytecode_top3036,96916 - int bytecode_dest;3037,96945 - struct gcpro *gcpro;gcpro3042,97182 - sys_jmp_buf jmp;3044,97212 - EMACS_INT lisp_eval_depth;3045,97231 - ptrdiff_t pdlcount;3046,97260 - int poll_suppress_count;3047,97282 - int interrupt_input_blocked;3048,97309 - struct byte_stack *byte_stack;byte_stack3049,97340 -#define PUSH_HANDLER(3053,97437 -#define QUIT 3101,99214 -#define QUITP 3112,99464 -struct gcpro3132,100307 - struct gcpro *next;next3134,100322 - volatile Lisp_Object *var;var3137,100391 - ptrdiff_t nvars;3140,100473 - const char *name;name3144,100558 - int lineno;3147,100614 - int idx;3150,100675 - int level;3153,100711 -#define GC_USE_GCPROS_AS_BEFORE 3171,101288 -#define GC_MAKE_GCPROS_NOOPS 3172,101323 -#define GC_MARK_STACK_CHECK_GCPROS 3173,101355 -#define GC_USE_GCPROS_CHECK_ZOMBIES 3174,101392 -#define GC_MARK_STACK 3177,101453 -#define BYTE_MARK_STACK 3181,101553 -#define GCPRO1(3190,101824 -#define GCPRO2(3191,101864 -#define GCPRO3(3192,101930 -#define GCPRO4(3194,102025 -#define GCPRO5(3196,102145 -#define GCPRO6(3198,102290 -#define GCPRO7(3201,102465 -#define UNGCPRO 3202,102544 -#define GCPRO1(3208,102644 -#define GCPRO2(3212,102766 -#define GCPRO3(3217,102958 -#define GCPRO4(3223,103220 -#define GCPRO5(3230,103551 -#define GCPRO6(3238,103952 -#define GCPRO7(3247,104422 -#define UNGCPRO 3257,104962 -#define GCPRO1(3263,105056 -#define GCPRO2(3269,105290 -#define GCPRO3(3278,105708 -#define GCPRO4(3289,106265 -#define GCPRO5(3302,106963 -#define GCPRO6(3317,107803 -#define GCPRO7(3334,108784 -#define UNGCPRO 3353,109907 -#define RETURN_UNGCPRO(3363,110174 -vcopy 3384,110648 -set_hash_key_slot 3393,110923 -set_hash_value_slot 3399,111062 -set_symbol_function 3408,111297 -set_symbol_plist 3414,111412 -set_symbol_next 3420,111515 -blv_found 3428,111688 -set_overlay_plist 3437,111871 -string_intervals 3445,112022 -set_string_intervals 3453,112144 -set_char_table_defalt 3462,112346 -set_char_table_purpose 3467,112458 -set_char_table_extras 3475,112627 -set_char_table_contents 3482,112836 -set_sub_char_table_contents 3489,113031 -enum Arith_Comparison 3497,113294 - ARITH_EQUAL,3498,113318 - ARITH_NOTEQUAL,3499,113333 - ARITH_LESS,3500,113351 - ARITH_GRTR,3501,113365 - ARITH_LESS_OR_EQUAL,3502,113379 - ARITH_GRTR_OR_EQUAL3503,113402 -#define INTEGER_TO_CONS(3511,113753 -#define CONS_TO_INTEGER(3529,114616 -enum { NEXT_ALMOST_PRIME_LIMIT 3573,116320 -extern EMACS_INT next_almost_prime 3574,116359 -enum constype 3739,123811 -enum constype {CONSTYPE_HEAP,CONSTYPE_HEAP3739,123811 -enum constype {CONSTYPE_HEAP, CONSTYPE_PURE}CONSTYPE_PURE3739,123811 -list2i 3745,124001 -list3i 3751,124110 -list4i 3757,124249 -extern Lisp_Object make_formatted_string 3767,124625 -build_pure_c_string 3792,125653 -build_string 3801,125858 -make_uninit_vector 3820,126429 -make_uninit_sub_char_table 3833,126648 -#define ALLOCATE_PSEUDOVECTOR(3850,127192 -#define ALLOCATE_ZEROED_PSEUDOVECTOR(3858,127528 -INLINE void 3890,128934 -extern void *r_alloc r_alloc3895,129055 -#define FLOAT_TO_STRING_BUFSIZE 3927,130518 -intern 3968,132125 -intern_c_string 3974,132213 -extern _Noreturn void error 4034,135592 -fast_string_match_ignore_case 4136,140080 -INLINE void fixup_locale 4241,143845 -INLINE void synchronize_system_messages_locale 4242,143880 -INLINE void synchronize_system_time_locale 4243,143937 -#define IS_DAEMON 4257,144410 -#define DAEMON_RUNNING 4258,144450 -#define IS_DAEMON 4261,144549 -#define DAEMON_RUNNING 4262,144594 -# define WAIT_READING_MAX 4281,145413 -# define WAIT_READING_MAX 4283,145485 -extern _Noreturn void emacs_abort 4374,148377 -egetenv 4532,152800 -#define eabs(4545,153296 -#define make_fixnum_or_float(4550,153429 -enum MAX_ALLOCA 4556,153680 -enum MAX_ALLOCA { MAX_ALLOCA 4556,153680 -extern void *record_xmalloc record_xmalloc4558,153725 -#define USE_SAFE_ALLOCA 4560,153791 -#define AVAIL_ALLOCA(4564,153924 -#define SAFE_ALLOCA(4568,154035 -#define SAFE_NALLOCA(4576,154376 -#define SAFE_ALLOCA_STRING(4590,154852 -#define SAFE_FREE(4598,155104 -#define SAFE_ALLOCA_LISP(4625,155682 -# define USE_STACK_LISP_OBJECTS 4652,156804 -# undef USE_STACK_LISP_OBJECTS4658,156970 -# define USE_STACK_LISP_OBJECTS 4659,157001 -enum { defined_GC_CHECK_STRING_BYTES 4663,157076 -enum { defined_GC_CHECK_STRING_BYTES 4665,157129 -union Aligned_Cons4670,157263 - struct Lisp_Cons s;4672,157284 - double d;4673,157306 - double d; intmax_t i;4673,157306 - double d; intmax_t i; void *p;p4673,157306 -union Aligned_String4676,157343 - struct Lisp_String s;4678,157366 - double d;4679,157390 - double d; intmax_t i;4679,157390 - double d; intmax_t i; void *p;p4679,157390 - USE_STACK_CONS 4689,157698 - USE_STACK_STRING 4691,157804 -#define STACK_CONS(4699,158141 -#define AUTO_CONS_EXPR(4701,158238 -#define AUTO_CONS(4709,158601 -#define AUTO_LIST1(4710,158672 -#define AUTO_LIST2(4712,158780 -#define AUTO_LIST3(4716,158935 -#define AUTO_LIST4(4720,159110 -# define verify_ascii(4732,159501 -#define AUTO_STRING(4740,159809 -#define FOR_EACH_TAIL(4752,160273 -#define FOR_EACH_ALIST_VALUE(4766,160764 -maybe_gc 4774,161051 -functionp 4784,161290 - -c-src/machsyscalls.c,23 -#define SYSCALL(6,113 - -c-src/machsyscalls.h,159 -SYSCALL (mach_msg_trap,1,0 -SYSCALL (mach_reply_port,13,314 -SYSCALL (mach_thread_self,18,377 -SYSCALL (mach_task_self,23,441 -SYSCALL (mach_host_self,28,503 - -c-src/h.h,2394 - ELEM_I/ELEM_I3,15 -} Fails_t;5,85 -typedef void Lang_function 6,96 -typedef struct tpcmd8,147 -#define ggg 10,170 - } arg;13,198 -tpcmd;15,209 -typedef struct foobar2_ 16,216 - fu int (*funcptr)funcptr17,242 - long foo;18,279 - char bar;19,293 -} foobar2;20,307 - DEVICE_SWP,23,333 - DEVICE_LAST24,349 -} bsp_DevId;25,365 - struct constant_args 27,394 - unsigned int burst;28,419 - } constant;29,443 -} args;30,457 -typedef int *regset;regset31,465 -typedef int INT;32,486 -typedef union abc33,503 - int def;35,523 -} ghi1;36,534 -typedef union abc 37,542 - int def;38,562 -} ghi2;39,573 -typedef struct a 40,581 -} b;41,600 -#define c(42,605 -typedef struct an_extern_linkage *an_extern_linkage_ptr;an_extern_linkage_ptr43,619 -typedef struct an_extern_linkage 44,676 - kind;46,733 - is_explicit;49,812 - a_byte_boolean is_curly_brace_form;54,1009 -} an_extern_linkage;56,1054 -typedef struct pollfd pfdset[pfdset57,1075 -typedef union rtunion_def58,1119 - int rtint;60,1149 - char *rtstr;rtstr61,1164 - struct rtx_def *rtx;rtx62,1181 - } womboid 63,1206 -typedef union rtunion_def64,1220 - int rtint;68,1250 - char *rtstr;rtstr69,1263 - struct rtx_def *rtxp;rtxp70,1278 - struct rtx_def rtxnp;71,1302 -womboid75,1330 -enum {dog,dog81,1416 -enum {dog, cat}cat81,1416 -enum {dog, cat} animals;81,1416 -typedef void (_CALLBACK_ *signal_handler)signal_handler82,1441 -typedef void (_CALLBACK_ *signal_handler1)signal_handler183,1489 -/* comment */ #define ANSIC84,1538 - #define ANSIC85,1566 -typedef void (proc)87,1588 -typedef void OperatorFun(88,1612 -typedef int f(89,1648 -struct my_struct 91,1691 -typedef struct my_struct my_typedef;93,1713 -typedef RETSIGTYPE (*signal_handler_t)signal_handler_t94,1750 - Date 04 May 87 235311 PDT 96,1802 -typedef unsigned char unchar;99,1880 -typedef int X,100,1910 -typedef int X, Y,100,1910 -typedef int X, Y, Z;100,1910 -typedef mio mao;101,1931 -typedef struct a 103,1966 -typedef struct a { } b;103,1966 -typedef struct b104,1990 -} c;106,2009 -int extvar;109,2053 -#define tag1110,2065 -#define aaaaaa 111,2078 -#define bbbbbb\bbbbbb113,2102 -#define cccccccccc115,2125 -#define enter_critical_section 116,2144 -#define exit_critical_to_previous 117,2199 -#define UNDEFINED118,2259 -struct re_pattern_buffer 119,2277 -struct re_pattern_buffer { unsigned char *buffer;buffer119,2277 - -cp-src/c.C,2849 -template ,ipcMultiChannel,ipc3dLinkControl> mcCSC;6,227 - advTimer cscInitTime;7,388 - advTimer cscSegmentationTime;8,418 - advTimer outputTime;9,456 - void execute(11,493 -int main 25,1026 -double base 26,1088 -typedef struct s1 32,1251 - int counter;33,1271 -} t1;34,1287 -struct s2 35,1293 - int counter;36,1305 -typedef struct s2 t2;38,1324 -class A 39,1346 - enum { rosso,40,1356 - enum { rosso, giallo,40,1356 - enum { rosso, giallo, verde 40,1356 - enum { rosso, giallo, verde } colori;40,1356 -const A& A::operator+(operator+43,1431 -void operator+(44,1467 -void operator -(operator -45,1495 -void operator int(operator int46,1524 -A* f(48,1556 -int f(49,1571 -int A::f(f50,1590 -A > A,int>::f(f51,1618 -template class AT 52,1668 -template class AT { C t[t52,1668 -class AU 53,1716 -class AU { T x;53,1716 -class B<B54,1735 -class B { void f(54,1735 -const A::B::T& abt 55,1766 -class A 56,1792 -class A { class B 56,1792 -class A 57,1827 - A operator+(59,1861 -is_muldiv_operation(61,1888 -domain foo 68,1956 - void f(69,1969 -void A::A(A72,1990 -struct A 73,2005 -struct B 74,2023 -void B::B(B75,2042 -void BE_Node::BE_Node(BE_Node76,2057 -class BE_Node 77,2084 -struct foo 79,2103 - int x;80,2116 -class test 86,2157 - int f(87,2170 - int ff(89,2232 - int g(90,2255 -class AST_Root 92,2279 -AST_ConcreteType::AST_ConcreteType(99,2394 -AST_Array::AST_Array(107,2533 - void f(115,2734 -struct A 117,2754 -A::~A(~A120,2778 -struct B 122,2790 - ~B(123,2801 -enum {dog,dog126,2818 -enum {dog, cat}cat126,2818 -enum {dog, cat} animals;126,2818 -struct {int teats;127,2843 -struct {int teats;} cow;127,2843 -class Boo 129,2869 - enum {dog,dog130,2881 - enum {dog, cat}cat130,2881 - enum {dog, cat} animals;130,2881 - struct {int treats;131,2910 - struct {int treats;} cow;131,2910 - int i,132,2940 - int i,a,132,2940 - int i,a,b;132,2940 - foo(133,2955 - Boo(137,2996 -Boo::Boo(141,3071 -typedef int should_see_this_one_enclosed_in_extern_C;149,3156 -typedef int (*should_see_this_function_pointer)should_see_this_function_pointer153,3229 -typedef int should_see_this_array_type[should_see_this_array_type156,3311 - -cp-src/x.cc,63 -class XX1,0 -XX::foo(foo9,60 -XX::bar(bar15,95 -main(21,126 - -cp-src/burton.cpp,124 -::dummy::dummy test::dummy1(dummy11,0 -::dummy::dummy test::dummy2(dummy26,64 -::dummy::dummy test::dummy3(dummy311,143 - -cp-src/functions.cpp,778 -void Date::setDate setDate5,148 -void Date::plus plus32,938 -void Date::minus minus42,1226 -void Date::shift shift52,1404 -Date & Date::operator = operator =62,1625 -Date & Date::operator += operator +=69,1786 -Date & Date::operator -= operator -=78,1935 -Date & Date::operator ++ operator ++87,2076 -Date & Date::operator -- operator --96,2212 -int Date::operator - operator -104,2327 -int Date::operator < operator <112,2479 -int Date::operator > operator >116,2553 -int Date::operator == operator ==120,2627 -ostream& operator << operator <<124,2703 -istream& operator >> operator >>133,2939 -bool isLeap 159,3539 -bool isHoliday 163,3625 -void asort(173,3861 -void ReadVacation 186,4060 -void Debug 201,4519 -int WorkingDays(211,4863 -Date StartDay(226,5125 - -cp-src/MDiagArray2.h,482 -#define octave_MDiagArray2_h 29,870 -#undef LTGT35,967 -#define LTGT39,1031 -#define LTGT 42,1051 -class MDiagArray2 78,2022 - MDiagArray2 82,2077 - MDiagArray2 86,2154 - MDiagArray2 87,2198 - MDiagArray2 88,2254 - MDiagArray2 89,2329 - MDiagArray2 90,2387 - MDiagArray2 91,2450 - ~MDiagArray2 93,2515 - MDiagArray2& operator = operator =95,2542 - operator MArray2 operator MArray2101,2667 -#undef LTGT144,3874 -#define INSTANTIATE_MDIAGARRAY_FRIENDS(146,3887 - -cp-src/Range.h,381 -#define octave_Range_h 24,765 -Range35,891 - Range 39,909 - Range 42,995 - Range 46,1130 - Range 50,1248 - double base 54,1376 - double limit 55,1425 - double inc 56,1475 - int nelem 57,1523 - void set_base 68,1728 - void set_limit 69,1774 - void set_inc 70,1821 - double rng_base;79,2023 - double rng_limit;80,2042 - double rng_inc;81,2062 - int rng_nelem;83,2081 - -cp-src/screen.cpp,228 -unsigned char cursor_x,15,548 -unsigned char cursor_x, cursor_y;15,548 -static union REGS regs;16,582 -void goto_xy(18,607 -void hide_cursor(27,774 -void cursor_position(32,836 -void clear_screen(41,997 -void write_xyc(55,1247 - -cp-src/screen.hpp,414 -#define __COLORS9,401 -enum COLORS 11,419 - BLACK,12,433 - BLUE,13,471 - GREEN,14,481 - CYAN,15,492 - RED,16,502 - MAGENTA,17,511 - BROWN,18,524 - LIGHTGRAY,19,535 - DARKGRAY,20,550 - LIGHTBLUE,21,589 - LIGHTGREEN,22,604 - LIGHTCYAN,23,620 - LIGHTRED,24,635 - LIGHTMAGENTA,25,649 - YELLOW,26,667 - WHITE27,679 -#define SCREEN_FP(31,700 -#define SCREEN_START 33,795 - -cp-src/conway.cpp,288 -#define max(12,357 -#define min(13,393 -const int num_rows 15,430 -const int num_columns 16,470 -class site *field_of_play[field_of_play18,499 -int site::total_surrounding(total_surrounding20,550 -void display(37,958 -void glider(50,1239 -void traffic_light(59,1478 -void main(67,1633 - -cp-src/conway.hpp,271 -class site:site5,235 - char x,7,269 - char x, y,7,269 - char x, y, alive,7,269 - char x, y, alive, next_alive;7,269 - site(10,344 - char read(12,410 - void set(13,444 - void clear(14,478 - void compute_next_state(15,514 - void step(22,717 - -cp-src/clheir.cpp,359 -const int max_num_generic_objects 9,298 -generic_object * object_registry[object_registry10,340 -void init_registry(12,400 -void step_everybody(19,527 -void discrete_location::clear_neighbors(clear_neighbors31,852 -generic_object::generic_object(generic_object36,981 -generic_object::~generic_object(~generic_object48,1255 -void agent::move(move53,1353 - -cp-src/clheir.hpp,682 -class generic_object13,520 - int where_in_registry;15,547 - virtual void compute_next_state(21,843 - virtual void step(22,889 -const int max_num_directions 31,1220 -class location:location33,1290 - location(43,1643 -class irregular_location:irregular_location47,1687 - double x,49,1735 - double x, y,49,1735 - double x, y, z;49,1735 - irregular_location(51,1763 -class discrete_location:discrete_location56,1890 - int x,58,1937 - int x, y,58,1937 - int x, y, z;58,1937 - class location *neighbors[neighbors59,1954 - discrete_location(62,2045 - void assign_neighbor(66,2185 -class agent:agent75,2509 - location *where;where77,2550 - -cp-src/fail.C,330 -struct A 7,263 - struct B 8,274 - struct C 9,289 - int x;10,305 - C(11,318 - operator int(operator int12,342 - typedef C T;14,389 - typedef B T2;16,414 -class A 23,453 - class B 24,463 - class C 25,474 - int f(26,488 -int A::B::f(f31,521 -main(37,571 - class D 41,622 - D(43,659 - int x;44,694 - -el-src/TAGTEST.EL,181 -(foo::defmumble bletch 3,33 -(defun foo==bar foo==bar4,66 -(defalias 'pending-delete-mode pending-delete-mode8,182 -(defalias (quote explicitly-quoted-pending-delete-mode)11,255 - -el-src/emacs/lisp/progmodes/etags.el,5069 -(defvar tags-file-name 34,1035 -(defgroup etags 43,1499 -(defcustom tags-case-fold-search 47,1567 -(defcustom tags-table-list 59,2052 -(defcustom tags-compression-info-list69,2450 -(defcustom tags-add-tables 88,3232 -(defcustom tags-revert-without-query 98,3628 -(defvar tags-table-computed-list 103,3779 -(defvar tags-table-computed-list-for 112,4263 -(defvar tags-table-list-pointer 117,4511 -(defvar tags-table-list-started-at 121,4702 -(defvar tags-table-set-list 124,4822 -(defcustom find-tag-hook 129,5001 -(defcustom find-tag-default-function 137,5264 -(define-obsolete-variable-alias 'find-tag-marker-ring-lengthfind-tag-marker-ring-length145,5603 -(defcustom tags-tag-face 148,5700 -(defcustom tags-apropos-verbose 154,5835 -(defcustom tags-apropos-additional-actions 160,5999 -(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6921 -(defvar default-tags-table-function 189,7101 -(defvar tags-location-ring 194,7327 -(defvar tags-table-files 201,7603 -(defvar tags-completion-table 206,7770 -(defvar tags-included-tables 209,7862 -(defvar next-file-list 212,7957 -(defvar tags-table-format-functions 217,8063 -(defvar file-of-tag-function 224,8444 -(defvar tags-table-files-function 228,8638 -(defvar tags-completion-table-function 230,8749 -(defvar snarf-tag-function 232,8844 -(defvar goto-tag-location-function 236,9053 -(defvar find-tag-regexp-search-function 239,9226 -(defvar find-tag-regexp-tag-order 241,9347 -(defvar find-tag-regexp-next-line-after-failure-p 243,9456 -(defvar find-tag-search-function 245,9576 -(defvar find-tag-tag-order 247,9683 -(defvar find-tag-next-line-after-failure-p 249,9778 -(defvar list-tags-function 251,9884 -(defvar tags-apropos-function 253,9972 -(defvar tags-included-tables-function 255,10066 -(defvar verify-tags-table-function 257,10185 -(defun initialize-new-tags-table 260,10296 -(defun tags-table-mode 276,10984 -(defun visit-tags-table 285,11249 -(defun tags-table-check-computed-list 321,12787 -(defun tags-table-extend-computed-list 360,14658 -(defun tags-expand-table-name 400,16371 -(defun tags-table-list-member 409,16714 -(defun tags-verify-table 421,17186 -(defun tags-table-including 470,19306 -(defun tags-next-table 522,21350 -(defun visit-tags-table-buffer 543,22207 -(defun tags-reset-tags-tables 712,28517 -(defun file-of-tag 731,29174 -(defun tags-table-files 740,29524 -(defun tags-included-tables 749,29874 -(defun tags-completion-table 755,30120 -(defun tags-lazy-completion-table 783,31314 -(defun tags-completion-at-point-function 799,31949 -(defun find-tag-tag 818,32699 -(defvar last-tag 837,33372 -(defun find-tag-interactive 840,33431 -(defvar find-tag-history 852,33846 -(defun find-tag-noselect 860,34016 -(defun find-tag 932,37130 -(defun find-tag-other-window 959,38346 -(defun find-tag-other-frame 1000,40274 -(defun find-tag-regexp 1025,41448 -(defalias 'pop-tag-mark pop-tag-mark1049,42610 -(defvar tag-lines-already-matched 1052,42661 -(defun find-tag-in-order 1055,42768 -(defun tag-find-file-of-tag-noselect 1167,47114 -(defun tag-find-file-of-tag 1200,48960 -(defun etags-recognize-tags-table 1208,49186 -(defun etags-verify-tags-table 1241,50817 -(defun etags-file-of-tag 1246,51015 -(defun etags-tags-completion-table 1256,51350 -(defun etags-snarf-tag 1286,52556 -(defun etags-goto-tag-location 1324,54125 -(defun etags-list-tags 1388,56568 -(defmacro tags-with-face 1423,57843 -(defun etags-tags-apropos-additional 1431,58176 -(defun etags-tags-apropos 1465,59413 -(defun etags-tags-table-files 1527,61622 -(defun etags-tags-included-tables 1542,62058 -(defun tags-recognize-empty-tags-table 1559,62598 -(defun tag-exact-file-name-match-p 1587,63744 -(defun tag-file-name-match-p 1596,64137 -(defun tag-exact-match-p 1609,64693 -(defun tag-implicit-name-match-p 1620,65261 -(defun tag-symbol-match-p 1633,65861 -(defun tag-word-match-p 1643,66297 -(defun tag-partial-file-name-match-p 1652,66695 -(defun tag-any-match-p 1662,67139 -(defun tag-re-match-p 1667,67323 -(defcustom tags-loop-revert-buffers 1675,67572 -(defun next-file 1685,67981 -(defvar tags-loop-operate 1760,70895 -(defvar tags-loop-scan1763,70989 -(defun tags-loop-eval 1771,71318 -(defun tags-loop-continue 1782,71647 -(defun tags-search 1850,73953 -(defun tags-query-replace 1871,74779 -(defun tags-complete-tags-table-file 1896,76003 -(defun list-tags 1906,76382 -(defun tags-apropos 1934,77335 -(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78161 -(defun select-tags-table 1964,78400 -(defvar select-tags-table-mode-map 2019,80527 -(define-derived-mode select-tags-table-mode 2030,80910 -(defun select-tags-table-select 2034,81094 -(defun select-tags-table-quit 2043,81460 -(defun complete-tag 2049,81615 -(defconst etags--xref-limit 2074,82556 -(defvar etags-xref-find-definitions-tag-order 2076,82591 -(defun etags-xref-find 2082,82881 -(defun etags--xref-find-definitions 2096,83410 -(defclass xref-etags-location 2129,85124 -(defun xref-make-etags-location 2135,85347 -(cl-defmethod xref-location-marker 2139,85502 -(cl-defmethod xref-location-line 2146,85746 - -erl-src/gs_dialog.erl,98 --define(VERSION2,32 -behaviour_info(51,2177 -show(124,5458 -dialog_loop(219,9529 -test(252,10806 - -f-src/entry.for,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -f-src/entry.strange_suffix,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -f-src/entry.strange,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -forth-src/test-forth.fth,733 -: a-forth-word20,301 -99 constant a-forth-constant!22,343 -55 value a-forth-value?23,373 -create :a-forth-dictionary-entry24,397 -defer #a-defer-word27,460 -: (another-forth-word)(another-forth-word)29,481 - 9 field >field136,582 - 5 field >field237,605 -constant (a-forth-constant(a-forth-constant38,628 -2000 buffer: #some-storage41,657 -code assemby-code-word43,685 -: a-forth-word50,870 -: (foo)(foo)55,988 -: foo56,1000 -: create-bar58,1015 -3 4 2constant 2const61,1074 -2const 2value 2val62,1095 -2variable 2var63,1114 -3.1415e fconstant fconst65,1130 -fconst fvalue fval66,1155 -fvariable fvar67,1174 -synonym mypi69,1190 -BEGIN-STRUCTURE point71,1211 - 1 CELLS +FIELD p.x72,1262 - 1 CELLS +FIELD p.y73,1318 - -go-src/test.go,48 -package main1,0 -func say(5,28 -func main(9,72 - -go-src/test1.go,172 -package main1,0 -type plus 5,28 -type str 9,65 -type intNumber 13,99 -func (s str) PrintAdd(17,136 -func (n intNumber) PrintAdd(21,189 -func test(25,248 -func main(29,285 - -html-src/softwarelibero.html,200 -Cos'è il software libero?4,38 -Licenze d'uso di un programmalicenze65,2502 -Sfatiamo alcuni miti138,6122 -Il movimento open sourceoss191,8041 -Impatto pratico del software liberoimpatto231,10070 - -html-src/index.shtml,104 - 8,281 -In evidenza15,447 -Comunicati e iniziative32,976 -Ultime notizie dall'associazione63,2030 - -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 Algorithms7,277 -Descriptionalgorithms10,481 -Generating the Datagenalgorithm48,1995 -Convolutionallyconalgorithm55,2512 -Nextstatetable262,11587 -Outputoutputtable350,13915 -Mapping the Channel Symbolsmapping433,16213 -Adding Noise to theaddnoise439,16607 -Quantizing the Receivedquantizing469,19100 - -html-src/software.html,439 -Francesco Potortì Software Page9,280 -Software that I wrote for supporting my research activitysimulation36,1398 -MTGmtg41,1482 -Fracasfracas65,2624 -GaliLEOgalileo101,4232 -Leasqrleasqr114,4677 -Free software that I wrote for the GNU project or for my personal or workgnu142,6066 -Etagsetags148,6181 -checkiso161,6731 -cgrep178,7549 -debian-bug.eldebian-bug190,7981 -tcpdump205,8566 -Links to interesting softwarelinks216,8893 - -lua-src/allegro.lua,400 -local function get_layer_by_name 7,175 -local function count_layers 33,621 -function GetLayerByName 54,980 -function GetUniqueLayerName 65,1204 -function SelectLayer 76,1415 -function NewLayer 86,1773 -function NewLayerSet 144,3226 -function RemoveLayer 170,3750 -function MoveLayerTop 211,4767 -function MoveLayerBottom 223,5079 -function MoveLayerBefore 236,5457 -function MoveLayerAfter 258,6090 - -lua-src/test.lua,442 -function Rectangle.getPos 2,15 -function Rectangle.getPos getPos2,15 -function Circle.getPos 6,61 -function Circle.getPos getPos6,61 -function Cube.data.getFoo 10,102 -function Cube.data.getFoo getFoo10,102 -function Square.something:Bar 14,148 -function Square.something:Bar Bar14,148 - function test.me_22a(22,241 - function test.me_22a(me_22a22,241 - local function test.me22b 25,297 - local function test.me22b me22b25,297 - -make-src/Makefile,2175 -LATEST=1,0 -RELEASELIST=2,10 -ADASRC=4,104 -ASRC=5,171 -CSRC=6,197 -CPSRC=10,423 -ELSRC=13,614 -ERLSRC=14,661 -FORTHSRC=15,702 -FSRC=16,726 -HTMLSRC=17,776 -JAVASRC=18,844 -LUASRC=19,907 -MAKESRC=20,926 -OBJCSRC=21,943 -OBJCPPSRC=22,999 -PASSRC=23,1035 -PERLSRC=24,1053 -PHPSRC=25,1108 -PSSRC=26,1156 -PROLSRC=27,1173 -PYTSRC=28,1210 -TEXSRC=29,1227 -YSRC=30,1282 -SRCS=31,1325 -NONSRCS=35,1577 -VHDLFLAGS=37,1624 -COBOLFLAGS=38,1827 -POSTSCRIPTFLAGS=39,1889 -TCLFLAGS=40,1943 -GETOPTOBJS=42,2002 -RXINCLUDE=43,2034 -REGEXOBJS=44,2056 -CHECKOBJS=46,2075 -CHECKFLAGS=47,2105 -OBJS=48,2145 -CPPFLAGS=49,2190 -LDFLAGS=50,2259 -WARNINGS=51,2282 -CFLAGS=52,2466 -FASTCFLAGS=55,2530 -FASTCFLAGSWARN=56,2591 -FILTER=58,2641 -REGEX=59,2695 -xx=60,2741 -MAKE:MAKE62,2790 -RUN=63,2825 -RUN=64,2865 -OPTIONS=65,2870 -ARGS=66,2922 -infiles 68,2940 -quiettest:quiettest70,3002 -test:test79,3409 -${CHECKOBJS}:${CHECKOBJS}88,3805 -checker:checker90,3849 -standalone:standalone96,4062 -prof:prof101,4168 -fastetags:fastetags104,4198 -fastctags:fastctags108,4322 -staticetags:staticetags112,4446 -rsynctofly:rsynctofly116,4608 -rsyncfromfly:rsyncfromfly119,4698 -web ftp publish:web ftp publish122,4794 -release distrib:release distrib129,5115 -tags:tags134,5255 -clean:clean136,5267 -srclist:srclist139,5302 -regexfile:regexfile143,5391 -/home/www/pub/etags.c.gz:/home/www/pub/etags.c.gz149,5566 -/home/www/pub/software/unix/etags.tar.gz:/home/www/pub/software/unix/etags.tar.gz156,5825 -regex.o:regex.o159,6031 -getopt.o:getopt.o162,6086 -getopt1.o:getopt1.o165,6147 -etags:etags168,6210 -ctags:ctags171,6299 -man manpage:man manpage174,6396 -etags.1.man:etags.1.man176,6422 -maintaining.info:maintaining.info179,6475 -TAGS:TAGS182,6557 -%ediff:%ediff185,6587 -oediff:oediff188,6677 -%cdiff:%cdiff191,6764 -xdiff:xdiff194,6854 -ETAGS:ETAGS197,6942 -ETAGS%:ETAGS%200,7012 -ETAGS13 ETAGS14 ETAGS15:ETAGS13 ETAGS14 ETAGS15203,7084 -ETAGS12:ETAGS12206,7216 -OTAGS:OTAGS209,7304 -CTAGS:CTAGS212,7369 -CTAGS%:CTAGS%215,7443 -CTAGS13 CTAGS14 CTAGS15:CTAGS13 CTAGS14 CTAGS15218,7545 -EXTAGS:EXTAGS221,7680 -.PRECIOUS:.PRECIOUS224,7838 -FRC:FRC226,7894 - -objc-src/Subprocess.h,98 -#define Subprocess 41,1217 -#define BUFFERSIZE 43,1267 -@interface Subprocess:Subprocess45,1292 - -objc-src/Subprocess.m,446 -#define PTY_TEMPLATE 20,494 -#define PTY_LENGTH 21,528 -@interface Subprocess(Private)32,737 -- childDidExit39,851 -- fdHandler:fdHandler67,1589 -showError 98,2360 -fdHandler 112,2785 -getptys 119,2907 -- init:init183,4815 - andStdErr:init197,5147 -- send:(const char *)string withNewline:send300,7436 -- send:send308,7599 -- terminateInput314,7689 -- terminate:terminate321,7810 -- setDelegate:setDelegate332,7961 -- delegate338,8031 - -objc-src/PackInsp.h,109 -#define NUMSTATS 36,1101 -#define TYPESTOSTAT 37,1120 -@interface PackageInspector:PackageInspector39,1172 - -objc-src/PackInsp.m,1322 -static const char RCSid[RCSid30,1032 -#define VERSION 34,1116 -# define DEBUG 37,1155 -#define LISTCONTENTS 39,1181 -#define OPENBUTTON 47,1352 -#define LISTCONTENTSBUTTON 48,1449 -#define LISTDESCRIPTIONBUTTON 49,1562 -#define STATE_UNINSTALLED 52,1687 -#define STATE_INSTALLED 53,1807 -#define STATE_COMPRESSD 54,1948 -#define SIZEFORMAT 57,2152 -#define KBYTES 58,2362 -#define MBYTES 59,2473 -#define LOCALIZE(61,2585 -#define LOCALIZE_ARCH(62,2668 -+newnew67,2802 --showInfo:showInfo93,3417 --revert:revert107,3737 --ok:ok136,4297 --loadload143,4424 -#define LOOKUP(156,4826 -#undef LOOKUP176,5694 --loadKeyValuesFrom:(const char *)type inTable:loadKeyValuesFrom186,5852 --loadContentsOf:(const char *)type inTable:loadContentsOf238,7079 --loadImageloadImage257,7552 -#define STAT_EQ(275,7940 --(BOOL)shouldLoad280,8116 --toggleDescriptiontoggleDescription301,8626 --(const char *)getPath:(char *)buf forType:getPath317,8899 --setRevertButtonTitlesetRevertButtonTitle333,9320 --(const char *)formatSize:(const char *)size inBuf:formatSize344,9525 -#define WORKING 368,10045 --(void)getArchs370,10100 --(void)addArchs:addArchs385,10520 --subprocess:(Subprocess *)sender output:subprocess428,11351 --subprocessDone:subprocessDone436,11484 -static void openInWorkspace(446,11634 --open:open464,12063 - -objcpp-src/SimpleCalc.H,41 -@interface SimpleCalc:SimpleCalc14,400 - -objcpp-src/SimpleCalc.M,445 -- init52,1747 -- appendToDisplay:appendToDisplay60,1933 -- registerAction:registerAction70,2210 -- decimalKey:decimalKey77,2348 -- numberKeys:numberKeys91,2661 -- equalsKey:equalsKey112,3192 -- operationKeys:operationKeys131,3680 -- clearKey:clearKey153,4301 -- clearAllKey:clearAllKey160,4410 -- appDidInit:appDidInit168,4591 -- windowWillClose:windowWillClose178,4882 -- infoPanel:infoPanel186,5132 -- helpPanel:helpPanel198,5482 - -pas-src/common.pas,1875 -procedure InitializeStringPackage;26,527 -function newtextstring;34,874 -procedure disposetextstring;52,1404 -function ConcatT;78,2066 -function AppendTextString;112,3238 -function CopyTextString;132,3947 -procedure CONVERT_CHARSTRING_TO_VALUE;151,4505 -procedure append_string;172,5166 -function To_Upper;186,5462 -function To_Lower;194,5617 -function EmptyNmStr(209,6213 -function chartonmstr;219,6436 -function LowerCaseNmStr;230,6682 -function concatenatenamestrings;242,7007 -procedure writenamestring;263,7517 -function IsControlChar;277,7928 -function namestringequal;283,8079 -function NameStringLess;302,8539 -function IsControlCharName(343,9710 -function SubString;358,10208 -function SkipChars;379,10791 -function RemoveUnderlineControl;397,11311 -procedure First100Chars;427,12162 -procedure SkipSpaces;462,13298 -function SkipBlanks;477,13782 -function stripname;505,14595 -function Locate;522,15039 -function NameHasChar;543,15581 -function integertonmstr;561,16134 -function NmStrToInteger;585,16901 -function AddNullToNmStr;600,17317 -function ValToNmStr;611,17585 -function ChangeFileType;625,18037 -function StripPath;647,18734 -function ReprOfChar;675,19343 -procedure ExtractCommentInfo;702,20749 -procedure INSERT_TREE_NODE;784,24053 -function GetNameList;920,27926 -procedure DisposeANameList(925,28010 -procedure DisposeNameList;938,28340 -function GetNewNameListNode;943,28409 -function insertname;972,29051 -procedure InitNameList;988,29471 -procedure InitNameStringPool;998,29767 -procedure NewNameString;1004,29867 -procedure ReleaseNameString;1022,30232 -procedure SDTrefStringToRec 1045,30741 -procedure SDTrefSkipSpaces;1059,31092 -function SDTrefIsEnd 1070,31323 -function SDTrefGetInteger 1082,31529 -procedure SDTrefRecToString 1303,37546 -function NmStrToErrStr;1497,42305 -function ErrStrToNmStr;1509,42557 -function GetTextRef;1529,43112 - -php-src/lce_functions.php,2864 - define("LCE_FUNCTIONS"LCE_FUNCTIONS4,38 - define("LCE_UNKNOWN"LCE_UNKNOWN9,145 - define("LCE_WS"LCE_WS11,194 - define("LCE_COMMENT"LCE_COMMENT13,244 - define("LCE_COMMENT_USER"LCE_COMMENT_USER15,303 - define("LCE_COMMENT_TOOL"LCE_COMMENT_TOOL17,366 - define("LCE_MSGID"LCE_MSGID19,430 - define("LCE_MSGSTR"LCE_MSGSTR21,488 - define("LCE_TEXT"LCE_TEXT23,541 - define("STATE_ABORT"STATE_ABORT25,567 - define("STATE_OK"STATE_OK26,595 - define("STATE_LOOP"STATE_LOOP27,620 - class POEntryAD 29,648 - function validate(31,683 - function checkQuotation(59,1384 - class CommentAD 70,1639 - var $prefix;72,1674 - function CommentAD(73,1693 - function validate(83,1944 - class POEntry 105,2410 - var $msgid;107,2454 - var $msgstr;108,2472 - var $user_comment;109,2491 - var $sys_comment;110,2516 - var $unk_comment;111,2540 - var $msgid_lc 113,2565 - var $msgstr_lc 114,2590 - var $user_comment_lc 115,2616 - var $sys_comment_lc 116,2648 - var $unk_comment_lc 117,2679 - function POEntry(119,2711 - function lineCount(135,3255 - function serializeToVars(141,3365 - function write(151,3800 - class POReader 163,4178 - var $msgid;165,4223 - var $msgstr;166,4241 - var $user_comment;167,4260 - var $sys_comment;168,4285 - var $unk_comment;169,4309 - var $state;170,4333 - var $ignore_ws;171,4351 - var $po_entries;172,4373 - var $poe_num;173,4396 - var $filename;174,4416 - var $domain;175,4437 - function gettext(177,4457 - function parseFromVars(189,4705 - function serializeToVars(215,5331 - function POReader(229,5613 - function read(243,5983 - function write(259,6307 - function isComment(277,6645 - function comment(284,6822 - function msgid(304,7247 - function msgstr(320,7574 - function start(340,8232 - function createPOEntries(360,8644 - function stripLine(394,9472 - function printClassification(421,10056 - function classifyLine(432,10301 - function getTextDomains(471,11094 - class PORManager 498,11756 - var $por_a;500,11803 - function PORManager(502,11822 - function addPOReader(507,11896 - function &getPOReader(getPOReader512,11992 - function getDomainNames(517,12081 - function &loadPORManager(loadPORManager523,12174 - function fileJoin(536,12436 - function lce_bindtextdomain(557,12839 - function lce_textdomain(614,14530 - function lce_gettext(620,14641 - function lce_dgettext(626,14767 - function lce(634,14966 - function lce_bindtextdomain(651,15488 - function lce_textdomain(656,15592 - function lce_gettext(661,15674 - function lce_dgettext(666,15755 - function lce(670,15855 - function lce_geteditcode(676,15898 - -php-src/ptest.php,135 -define("TEST"TEST1,0 -test 4,26 - var $member;8,71 - var $memassign=9,85 - var $memassign_space 10,110 - var $test12,176 -foo(16,200 - -perl-src/htlmify-cystic,1197 -my @section_name;section_name12,236 -my @appendix_name;appendix_name13,254 -my @section_toc;section_toc15,274 -my @appendix_toc;appendix_toc16,291 -my $new_tag new_tag18,310 -my $appendix;appendix24,409 -my $section;section25,423 -my $subsection;subsection26,436 -my $subsubsection;subsubsection27,452 -my $this_file_toc this_file_toc29,472 -my %file_tocs;file_tocs30,496 -my @output_files output_files32,512 -my $file_index file_index33,535 -my $output_file;output_file35,556 -my $line;line37,574 -my $subsection_marker;subsection_marker161,3883 -my $new;new163,3907 -sub read_toc 165,3917 - my $entry entry218,5621 - my $entry entry234,6077 - my $entry entry245,6351 - my $entry entry252,6536 - my $entry entry268,7010 - my $entry entry276,7204 - my $entry entry281,7328 - my $entry entry296,7698 -sub finish_subsubsections 302,7805 -sub finish_subsections 309,7987 -sub finish_sections 320,8310 -sub finish_appendices 331,8599 -sub section_url_base 337,8724 -sub section_url_name 342,8922 -sub section_url 355,9284 - my $name name357,9336 -sub section_href 364,9452 -sub section_name 368,9551 -sub toc_line 372,9655 -sub file_end 375,9750 - -perl-src/yagrip.pl,233 -sub getopt 7,156 - local($_,$flag,$opt,$f,$r,@temp)($_,$flag,$opt,$f,$r,@temp8,169 -sub usage 38,856 - local($prog,$_,@list)($prog,$_,@list39,868 - local($string,$flag,@string,@temp,@last)($string,$flag,@string,@temp,@last40,897 - -perl-src/kai-test.pl,203 -sub f1 2,16 -sub main::f2 f26,50 -package Foo;10,90 -sub f3 12,104 -sub Bar::f4 f416,138 -package Bar;20,177 -sub f5 22,191 -package Foo::Bar;26,225 -sub f6 28,244 -package main;32,278 -sub f7 34,293 - -ps-src/rfc1245.ps,2478 -/FMversion 12,311 -/FrameDict 17,500 -/FMVERSION 47,1307 -/FMLOCAL 56,1494 -/FMDOCUMENT 73,1766 -/FMBEGINPAGE 95,2279 -/FMENDPAGE 109,2516 -/FMDEFINEFONT 115,2582 -/FMNORMALIZEGRAPHICS 126,2725 -/FMBEGINEPSF 142,2955 -/FMENDEPSF 153,3207 -/setmanualfeed 158,3283 -/max 163,3386 -/min 164,3426 -/inch 165,3466 -/pagedimen 166,3485 -/setpapername 172,3629 -/papersize 190,4214 -/manualpapersize 211,4789 -/desperatepapersize 230,5211 -/savematrix 239,5370 -/restorematrix 242,5425 -/dmatrix 245,5475 -/dpi 246,5495 -/freq 248,5583 -/sangle 249,5658 -/DiacriticEncoding 250,5717 -/.notdef 251,5738 -/.notdef 252,5801 -/.notdef 253,5864 -/.notdef 254,5927 -/.notdef 255,5990 -/numbersign 256,6051 -/parenright 257,6115 -/two 258,6184 -/less 259,6251 -/L 260,6320 -/bracketright 261,6389 -/i 262,6459 -/braceright 263,6529 -/Ntilde 264,6598 -/atilde 265,6668 -/iacute 266,6733 -/ocircumflex 267,6797 -/udieresis 268,6858 -/paragraph 269,6919 -/dieresis 270,6983 -/yen 271,7050 -/ordfeminine 272,7109 -/exclamdown 273,7171 -/guillemotleft 274,7230 -/Otilde 275,7296 -/quoteleft 276,7357 -/fraction 277,7420 -/periodcentered 278,7490 -/Acircumflex 279,7549 -/Icircumflex 280,7610 -/Uacute 281,7680 -/breve 282,7746 -/ReEncode 284,7814 -/graymode 300,8020 -/setpattern 310,8184 -/grayness 331,8725 -/normalize 394,9873 -/dnormalize 397,9942 -/lnormalize 400,10014 -/H 403,10104 -/Z 406,10147 -/X 409,10176 -/V 412,10219 -/N 415,10260 -/M 418,10286 -/E 419,10315 -/D 420,10336 -/O 421,10358 -/L 423,10394 -/Y 430,10489 -/R 439,10588 -/RR 450,10696 -/C 467,10959 -/U 473,11004 -/F 477,11039 -/T 481,11084 -/RF 484,11115 -/TF 488,11164 -/P 495,11219 -/PF 499,11270 -/S 506,11344 -/SF 510,11384 -/B 517,11446 -/BF 521,11505 -/W 538,11714 -/G 573,12382 -/A 582,12525 -/BEGINPRINTCODE 606,12918 -/ENDPRINTCODE 615,13131 -/gn 620,13259 -/cfs 631,13384 -/ic 636,13473 -/ms 658,14285 -/ip 668,14395 -/wh 678,14492 -/bl 684,14607 -/s1 690,14722 -/fl 691,14739 -/hx 698,14887 -/wbytes 709,15055 -/BEGINBITMAPBWc 713,15147 -/BEGINBITMAPGRAYc 716,15198 -/BEGINBITMAP2BITc 719,15251 -/COMMONBITMAPc 722,15304 -/BEGINBITMAPBW 739,15660 -/BEGINBITMAPGRAY 742,15709 -/BEGINBITMAP2BIT 745,15760 -/COMMONBITMAP 748,15811 -/Fmcc 765,16156 -/ngrayt 773,16371 -/nredt 774,16393 -/nbluet 775,16414 -/ngreent 776,16436 -/colorsetup 787,16603 -/fakecolorsetup 814,17370 -/BITMAPCOLOR 826,17636 -/BITMAPCOLORc 839,17926 -/BITMAPGRAY 855,18275 -/BITMAPGRAYc 858,18335 -/ENDBITMAP 861,18397 -/fillprocs 868,18497 - -prol-src/ordsets.prolog,525 -is_ordset(47,1310 -list_to_ord_set(63,1688 -ord_add_element(71,1867 -ord_del_element(85,2344 -ord_disjoint(100,2783 -ord_intersect(108,2953 -ord_intersection(126,3553 -ord_intersection3(130,3692 -ord_intersection(150,4533 -ord_intersection4(154,4705 -ord_intersection(176,5666 -ord_intersection2(181,5814 -ord_member(200,6320 -ord_seteq(216,6685 -ord_setproduct(225,6973 -ord_subset(240,7379 -ord_subtract(257,7863 -ord_symdiff(265,8056 -ord_union(288,8889 -ord_union4(303,9354 -ord_union(324,10173 -ord_union_all(329,10315 - -prol-src/natded.prolog,2319 -expandmng(100,2879 -normalize(116,3359 -fresh_vars(125,3716 -subst(138,4134 -normalize_fresh(159,4660 -reduce_subterm(171,5112 -reduce(185,5559 -free_var(196,5903 -free_for(209,6246 -compile_lex(231,6875 -consult_lex:-consult_lex248,7384 -lex(259,7754 -expandsyn(267,8068 -bas_syn(292,8897 -compile_empty:-compile_empty310,9376 -complete(328,10055 -add_active(340,10527 -parse(353,10949 -derived_analyses(364,11341 -build(378,11967 -buildact(392,12523 -mapsyn(412,13544 -add_edge(434,14280 -findcats(447,14760 -normalize_tree(465,15480 -normalize_trees(475,15858 -expandmng_tree(486,16250 -expandmng_trees(496,16616 -cat(511,17015 -subtree(644,21268 -hypothetical_mem(653,21567 -make_coor(667,22132 -start_up:-start_up688,23015 -tokenizeatom(710,23923 -tokenize(720,24350 -isoperator(752,25379 -isoptab(756,25433 -specialsymbol(765,25758 -sstab(771,25863 -parse_cgi(787,26349 -keyvalseq(792,26512 -andkeyvalseq(796,26611 -keyval(799,26690 -valseq(807,26922 -plusvalseq(810,27009 -val(816,27111 -argvals(824,27428 -commaargvals(828,27505 -atomval(833,27580 -atom(836,27642 -action(846,28006 -keyvalcgi(864,28651 -keyvalscgi(865,28672 -outsyn(868,28728 -act(876,29062 -actout(901,29908 -texttreelist(912,30091 -htmltreelist(918,30192 -fitchtreelist(924,30306 -pp_html_table_tree(938,30761 -pp_html_tree(949,31115 -pp_html_trees(988,32383 -pp_html_table_fitch_tree(999,32771 -pp_html_fitch_tree(1017,33674 -removeexp(1129,39004 -splitexp(1142,39492 -pp_exp(1155,39992 -map_word(1168,40251 -pp_exps(1180,40476 -pp_tree(1188,40779 -pp_trees(1216,41809 -pp_word_list(1225,42130 -pp_word(1231,42264 -pp_word_list_rest(1238,42571 -pp_cat(1248,42931 -pp_syn(1255,43198 -pp_syn_paren(1276,43901 -pp_paren(1293,44379 -pp_syn_back(1300,44663 -pp_bas_cat(1311,45003 -writecat(1322,45411 -writesubs(1351,46457 -writesups(1361,46759 -writelistsubs(1371,47092 -pp_lam(1380,47410 -pp_lam_bracket(1398,48024 -pp_lam_paren(1407,48340 -pp_rule(1429,49240 -member(1447,49868 -append_list(1451,49921 -append(1456,50012 -at_least_one_member(1460,50078 -numbervars(1464,50173 -reverse(1467,50211 -select(1471,50292 -select_last(1475,50359 -cat_atoms(1479,50438 -writelist(1485,50526 -write_lex_cat(1492,50678 -writebreaklex(1500,50990 -write_lex(1513,51267 -writebreak(1521,51543 -tt:-tt1531,51715 -mt:-mt1534,51786 -cmt:-cmt1537,51880 - -pyt-src/server.py,1438 -class Controls:Controls17,358 - def __init__(18,374 - def __repr__(24,590 - def __str__(34,871 -class Server:Server37,934 - def __init__(38,948 - def dump(73,2198 - def __repr__(125,3896 - def __str__(128,3945 -class User:User131,4014 - def __init__(132,4026 - def __repr__(172,5445 - def __str__(206,6883 -def flag2str(223,7212 -class LabeledEntry(232,7442 - def bind(234,7525 - def focus_set(236,7584 - def __init__(238,7629 -def ButtonBar(245,7909 -def helpwin(255,8280 -class ListEdit(267,8707 - def __init__(269,8808 - def handleList(303,10042 - def handleNew(306,10094 - def editItem(314,10426 - def deleteItem(320,10596 -def ConfirmQuit(326,10760 -class ControlEdit(375,12377 - def PostControls(376,12403 - def GatherControls(421,13530 -class ServerEdit(512,16264 - def __init__(513,16289 - def post(525,16629 - def gather(543,17191 - def nosave(547,17304 - def save(551,17408 - def refreshPort(556,17509 - def createWidgets(561,17663 - def edituser(631,20708 -class UserEdit(645,20921 - def __init__(646,20944 - def post(658,21283 - def gather(676,21841 - def nosave(680,21950 - def save(684,22052 - def createWidgets(689,22151 -class Configure(760,24879 - def __init__(761,24916 - def MakeDispose(772,25211 - def MakeSitelist(786,25706 - def editsite(794,25949 - def save(797,26022 - def nosave(807,26310 - -ruby-src/test.rb,637 -module ModuleExample1,0 - class ClassExample2,21 - def instance_method3,44 - def ClassExample.class_methodclass_method6,121 - def instance_method_exclamation!9,206 - def instance_method_question?12,310 - def instance_method_equals=instance_method_equals=15,408 - def `(18,502 - def +(21,592 - def [](24,640 - def []=([]=27,690 - def <<(30,752 - def ==(==33,802 - def <=(<=36,872 - def <=>(<=>39,943 - def ===(===42,990 - def module_instance_method46,1051 - def ModuleExample.module_class_methodmodule_class_method49,1131 - -ruby-src/test1.ru,935 -class A1,0 - def a(2,8 - def b(5,38 -module A9,57 - class B10,66 - ABC 11,76 - Def_ 12,88 - Xyzzy 13,106 - def foo!15,121 - def self._bar?(_bar?18,143 - def qux=(qux=22,194 - attr_reader :foofoo26,233 - attr_reader :read1 read127,254 - attr_reader :read1 , :read2;read227,254 - attr_reader :read1 , :read2; attr_writer :write1,write1=27,254 - attr_reader :read1 , :read2; attr_writer :write1, :write2write2=27,254 - attr_writer :bar,bar=28,316 - :baz,baz=29,338 - :moremore=30,360 - attr_accessor :teetee31,382 - attr_accessor :teetee=31,382 - alias_method :qux,qux32,405 - alias_method :xyz,xyz33,456 - :tee ; attr_reader :subtlesubtle34,479 - attr_reader(:foo1,foo135,523 - attr_reader(:foo1, :bar1,bar135,523 - :qux1)qux136,563 - alias_method ( :foo2,foo237,586 -A::Constant Constant42,655 - -rs-src/test.rs,52 -enum IpAddrKind 3,11 -fn test1(8,48 -fn main(12,88 - -scm-src/test.scm,260 -(define hello 1,0 -(set! hello 3,32 -(define (hello-world)5,62 -(define (there-is-a-=-in-the-middle!)there-is-a-=-in-the-middle!10,128 -(define =starts-with-equals! =starts-with-equals!12,171 -(define (((((curry-test 14,205 -(define-syntax test-begin17,265 - -tex-src/testenv.tex,52 -\newcommand{\nm}\nm4,77 -\section{blah}blah8,139 - -tex-src/gzip.texi,303 -@node Top,62,2139 -@node Copying,80,2652 -@node Overview,83,2705 -@node Sample,166,7273 -@node Invoking gzip,Invoking gzip210,8829 -@node Advanced usage,Advanced usage357,13497 -@node Environment,420,15209 -@node Tapes,437,15770 -@node Problems,460,16769 -@node Concept Index,Concept Index473,17289 - -tex-src/texinfo.tex,30627 -\def\texinfoversion{\texinfoversion26,1035 -\def\tie{\tie49,1526 -\def\gloggingall{\gloggingall72,2276 -\def\loggingall{\loggingall73,2345 -\def\onepageout#1{\onepageout99,3282 -\def\croppageout#1{\croppageout115,4032 -\def\cropmarks{\cropmarks142,5092 -\def\pagebody#1{\pagebody144,5139 -\def\ewtop{\ewtop157,5594 -\def\nstop{\nstop158,5658 -\def\ewbot{\ewbot160,5741 -\def\nsbot{\nsbot161,5805 -\def\parsearg #1{\parsearg170,6104 -\def\parseargx{\parseargx172,6182 -\def\parseargline{\parseargline182,6422 -\def\flushcr{\flushcr186,6543 -\newif\ifENV \ENVfalse \def\inENV{\inENV190,6742 -\def\ENVcheck{\ENVcheck191,6806 -\outer\def\begin{\begin198,7053 -\def\beginxxx #1{\beginxxx200,7091 -\def\end{\end208,7346 -\def\endxxx #1{\endxxx210,7374 -\def\errorE#1{\errorE216,7563 -\def\singlespace{\singlespace222,7757 -\def\@{\@232,7980 -\def\`{\`236,8080 -\def\'{\'237,8092 -\def\mylbrace {\mylbrace241,8140 -\def\myrbrace {\myrbrace242,8173 -\def\:{\:247,8287 -\def\*{\*250,8341 -\def\.{\.253,8417 -\def\w#1{\w258,8648 -\def\group{\group268,9131 - \def\Egroup{\Egroup273,9295 -\def\need{\need289,9737 -\def\needx#1{\needx300,10014 -\def\dots{\dots339,11400 -\def\page{\page343,11464 -\def\exdent{\exdent353,11791 -\def\exdentyyy #1{\exdentyyy354,11824 -\def\nofillexdent{\nofillexdent357,11968 -\def\nofillexdentyyy #1{\nofillexdentyyy358,12013 -\def\include{\include365,12197 -\def\includezzz #1{\includezzz366,12232 -\def\thisfile{\thisfile369,12283 -\def\center{\center373,12346 -\def\centerzzz #1{\centerzzz374,12379 -\def\sp{\sp380,12521 -\def\spxxx #1{\spxxx381,12546 -\def\comment{\comment387,12720 -\def\commentxxx #1{\commentxxx390,12817 -\def\ignoresections{\ignoresections396,12986 -\let\chapter=\relax=\relax397,13008 -\let\section=\relax=\relax406,13253 -\let\subsection=\relax=\relax409,13314 -\let\subsubsection=\relax=\relax410,13337 -\let\appendix=\relax=\relax411,13363 -\let\appendixsec=\relaxsec=\relax412,13384 -\let\appendixsection=\relaxsection=\relax413,13408 -\let\appendixsubsec=\relaxsubsec=\relax414,13436 -\let\appendixsubsection=\relaxsubsection=\relax415,13463 -\let\appendixsubsubsec=\relaxsubsubsec=\relax416,13494 -\let\appendixsubsubsection=\relaxsubsubsection=\relax417,13524 -\def\ignore{\ignore423,13626 -\long\def\ignorexxx #1\end ignore{\ignorexxx427,13766 -\def\direntry{\direntry429,13825 -\long\def\direntryxxx #1\end direntry{\direntryxxx430,13864 -\def\ifset{\ifset434,13974 -\def\ifsetxxx #1{\ifsetxxx436,14032 -\def\Eifset{\Eifset440,14159 -\def\ifsetfail{\ifsetfail441,14173 -\long\def\ifsetfailxxx #1\end ifset{\ifsetfailxxx442,14229 -\def\ifclear{\ifclear444,14290 -\def\ifclearxxx #1{\ifclearxxx446,14352 -\def\Eifclear{\Eifclear450,14483 -\def\ifclearfail{\ifclearfail451,14499 -\long\def\ifclearfailxxx #1\end ifclear{\ifclearfailxxx452,14559 -\def\set{\set456,14710 -\def\setxxx #1{\setxxx457,14737 -\def\clear{\clear460,14799 -\def\clearxxx #1{\clearxxx461,14830 -\def\iftex{\iftex466,14947 -\def\Eiftex{\Eiftex467,14960 -\def\ifinfo{\ifinfo468,14974 -\long\def\ifinfoxxx #1\end ifinfo{\ifinfoxxx469,15024 -\long\def\menu #1\end menu{\menu471,15083 -\def\asis#1{\asis472,15112 -\def\math#1{\math485,15655 -\def\node{\node487,15699 -\def\nodezzz#1{\nodezzz488,15737 -\def\nodexxx[#1,#2]{\nodexxx[489,15768 -\def\donoderef{\donoderef492,15830 -\def\unnumbnoderef{\unnumbnoderef496,15951 -\def\appendixnoderef{\appendixnoderef500,16082 -\expandafter\expandafter\expandafter\appendixsetref{setref501,16128 -\let\refill=\relaxill=\relax504,16217 -\def\setfilename{\setfilename509,16431 -\outer\def\bye{\bye518,16677 -\def\inforef #1{\inforef520,16733 -\def\inforefzzz #1,#2,#3,#4**{\inforefzzz521,16771 -\def\losespace #1{\losespace523,16868 -\def\sf{\sf532,17072 -\font\defbf=cmbx10 scaled \magstep1 %was 1314bf=cmbx10558,17867 -\font\deftt=cmtt10 scaled \magstep1tt=cmtt10559,17913 -\def\df{\df560,17949 -\def\resetmathfonts{\resetmathfonts635,20543 -\def\textfonts{\textfonts648,21132 -\def\chapfonts{\chapfonts653,21347 -\def\secfonts{\secfonts658,21563 -\def\subsecfonts{\subsecfonts663,21768 -\def\indexfonts{\indexfonts668,21985 -\def\smartitalicx{\smartitalicx691,22717 -\def\smartitalic#1{\smartitalic692,22793 -\let\cite=\smartitalic=\smartitalic698,22938 -\def\b#1{\b700,22962 -\def\t#1{\t703,22997 -\def\samp #1{\samp706,23149 -\def\key #1{\key707,23182 -\def\ctrl #1{\ctrl708,23243 -\def\tclose#1{\tclose716,23445 -\def\ {\720,23611 -\def\xkey{\xkey728,23880 -\def\kbdfoo#1#2#3\par{\kbdfoo729,23896 -\def\dmn#1{\dmn738,24197 -\def\kbd#1{\kbd740,24224 -\def\l#1{\l742,24281 -\def\r#1{\r744,24310 -\def\sc#1{\sc746,24378 -\def\ii#1{\ii747,24421 -\def\titlefont#1{\titlefont755,24654 -\def\titlepage{\titlepage761,24757 - \def\subtitlefont{\subtitlefont766,24984 - \def\authorfont{\authorfont768,25068 - \def\title{\title774,25278 - \def\titlezzz##1{\titlezzz775,25313 - \def\subtitle{\subtitle783,25628 - \def\subtitlezzz##1{\subtitlezzz784,25669 - \def\author{\author787,25787 - \def\authorzzz##1{\authorzzz788,25824 - \def\page{\page794,26115 -\def\Etitlepage{\Etitlepage804,26284 -\def\finishtitlepage{\finishtitlepage817,26672 -\def\evenheading{\evenheading846,27680 -\def\oddheading{\oddheading847,27723 -\def\everyheading{\everyheading848,27764 -\def\evenfooting{\evenfooting850,27810 -\def\oddfooting{\oddfooting851,27853 -\def\everyfooting{\everyfooting852,27894 -\def\headings #1 {\headings893,29586 -\def\HEADINGSoff{\HEADINGSoff895,29635 -\def\HEADINGSdouble{\HEADINGSdouble904,30062 -\def\HEADINGSsingle{\HEADINGSsingle914,30382 -\def\HEADINGSon{\HEADINGSon922,30603 -\def\HEADINGSafter{\HEADINGSafter924,30637 -\def\HEADINGSdoublex{\HEADINGSdoublex926,30732 -\def\HEADINGSsingleafter{\HEADINGSsingleafter933,30920 -\def\HEADINGSsinglex{\HEADINGSsinglex934,30981 -\def\today{\today943,31256 -\def\thistitle{\thistitle958,31801 -\def\settitle{\settitle959,31826 -\def\settitlezzz #1{\settitlezzz960,31863 -\def\internalBitem{\internalBitem992,32793 -\def\internalBitemx{\internalBitemx993,32843 -\def\internalBxitem "#1"{\internalBxitem995,32888 -\def\internalBxitemx "#1"{\internalBxitemx996,32968 -\def\internalBkitem{\internalBkitem998,33043 -\def\internalBkitemx{\internalBkitemx999,33095 -\def\kitemzzz #1{\kitemzzz1001,33142 -\def\xitemzzz #1{\xitemzzz1004,33244 -\def\itemzzz #1{\itemzzz1007,33347 -\def\item{\item1037,34418 -\def\itemx{\itemx1038,34469 -\def\kitem{\kitem1039,34522 -\def\kitemx{\kitemx1040,34575 -\def\xitem{\xitem1041,34630 -\def\xitemx{\xitemx1042,34683 -\def\description{\description1045,34793 -\def\table{\table1047,34843 -\def\ftable{\ftable1052,34987 -\def\Eftable{\Eftable1056,35133 -\def\vtable{\vtable1059,35202 -\def\Evtable{\Evtable1063,35348 -\def\dontindex #1{\dontindex1066,35417 -\def\fnitemindex #1{\fnitemindex1067,35437 -\def\vritemindex #1{\vritemindex1068,35482 -\def\tablez #1#2#3#4#5#6{\tablez1074,35631 -\def\Edescription{\Edescription1077,35689 -\def\itemfont{\itemfont1082,35890 -\def\Etable{\Etable1090,36116 -\def\itemize{\itemize1103,36440 -\def\itemizezzz #1{\itemizezzz1105,36476 -\def\itemizey #1#2{\itemizey1110,36571 -\def#2{1119,36817 -\def\itemcontents{\itemcontents1120,36858 -\def\bullet{\bullet1123,36906 -\def\minus{\minus1124,36933 -\def\frenchspacing{\frenchspacing1128,37041 -\def\splitoff#1#2\endmark{\splitoff1134,37266 -\def\enumerate{\enumerate1140,37496 -\def\enumeratezzz #1{\enumeratezzz1141,37535 -\def\enumeratey #1 #2\endenumeratey{\enumeratey1142,37588 - \def\thearg{\thearg1146,37735 - \ifx\thearg\empty \def\thearg{\thearg1147,37754 -\def\numericenumerate{\numericenumerate1184,39088 -\def\lowercaseenumerate{\lowercaseenumerate1190,39218 -\def\uppercaseenumerate{\uppercaseenumerate1203,39565 -\def\startenumeration#1{\startenumeration1219,40055 -\def\alphaenumerate{\alphaenumerate1227,40237 -\def\capsenumerate{\capsenumerate1228,40272 -\def\Ealphaenumerate{\Ealphaenumerate1229,40306 -\def\Ecapsenumerate{\Ecapsenumerate1230,40340 -\def\itemizeitem{\itemizeitem1234,40420 -\def\newindex #1{\newindex1259,41277 -\def\defindex{\defindex1268,41566 -\def\newcodeindex #1{\newcodeindex1272,41674 -\def\defcodeindex{\defcodeindex1279,41934 -\def\synindex #1 #2 {\synindex1283,42114 -\def\syncodeindex #1 #2 {\syncodeindex1292,42454 -\def\doindex#1{\doindex1309,43133 -\def\singleindexer #1{\singleindexer1310,43192 -\def\docodeindex#1{\docodeindex1313,43304 -\def\singlecodeindexer #1{\singlecodeindexer1314,43371 -\def\indexdummies{\indexdummies1316,43429 -\def\_{\_1317,43449 -\def\w{\w1318,43477 -\def\bf{\bf1319,43504 -\def\rm{\rm1320,43533 -\def\sl{\sl1321,43562 -\def\sf{\sf1322,43591 -\def\tt{\tt1323,43619 -\def\gtr{\gtr1324,43647 -\def\less{\less1325,43677 -\def\hat{\hat1326,43709 -\def\char{\char1327,43739 -\def\TeX{\TeX1328,43771 -\def\dots{\dots1329,43801 -\def\copyright{\copyright1330,43834 -\def\tclose##1{\tclose1331,43877 -\def\code##1{\code1332,43922 -\def\samp##1{\samp1333,43963 -\def\t##1{\t1334,44004 -\def\r##1{\r1335,44039 -\def\i##1{\i1336,44074 -\def\b##1{\b1337,44109 -\def\cite##1{\cite1338,44144 -\def\key##1{\key1339,44185 -\def\file##1{\file1340,44224 -\def\var##1{\var1341,44265 -\def\kbd##1{\kbd1342,44304 -\def\indexdummyfont#1{\indexdummyfont1347,44460 -\def\indexdummytex{\indexdummytex1348,44486 -\def\indexdummydots{\indexdummydots1349,44510 -\def\indexnofonts{\indexnofonts1351,44536 -\let\w=\indexdummyfontdummyfont1352,44556 -\let\t=\indexdummyfontdummyfont1353,44579 -\let\r=\indexdummyfontdummyfont1354,44602 -\let\i=\indexdummyfontdummyfont1355,44625 -\let\b=\indexdummyfontdummyfont1356,44648 -\let\emph=\indexdummyfontdummyfont1357,44671 -\let\strong=\indexdummyfontdummyfont1358,44697 -\let\cite=\indexdummyfont=\indexdummyfont1359,44725 -\let\sc=\indexdummyfontdummyfont1360,44751 -\let\tclose=\indexdummyfontdummyfont1364,44923 -\let\code=\indexdummyfontdummyfont1365,44951 -\let\file=\indexdummyfontdummyfont1366,44977 -\let\samp=\indexdummyfontdummyfont1367,45003 -\let\kbd=\indexdummyfontdummyfont1368,45029 -\let\key=\indexdummyfontdummyfont1369,45054 -\let\var=\indexdummyfontdummyfont1370,45079 -\let\TeX=\indexdummytexdummytex1371,45104 -\let\dots=\indexdummydotsdummydots1372,45128 -\let\indexbackslash=0 %overridden during \printindex.backslash=01382,45380 -\def\doind #1#2{\doind1384,45436 -{\indexdummies % Must do this here, since \bf, etc expand at this stagedummies1386,45479 -\def\rawbackslashxx{\rawbackslashxx1389,45619 -{\indexnofontsnofonts1394,45881 -\def\dosubind #1#2#3{\dosubind1405,46192 -{\indexdummies % Must do this here, since \bf, etc expand at this stagedummies1407,46240 -\def\rawbackslashxx{\rawbackslashxx1410,46344 -{\indexnofontsnofonts1414,46498 -\def\findex {\findex1443,47429 -\def\kindex {\kindex1444,47452 -\def\cindex {\cindex1445,47475 -\def\vindex {\vindex1446,47498 -\def\tindex {\tindex1447,47521 -\def\pindex {\pindex1448,47544 -\def\cindexsub {\cindexsub1450,47568 -\def\printindex{\printindex1462,47895 -\def\doprintindex#1{\doprintindex1464,47936 - \def\indexbackslash{\indexbackslash1481,48421 - \indexfonts\rm \tolerance=9500 \advance\baselineskip -1ptfonts\rm1482,48460 -\def\initial #1{\initial1517,49532 -\def\entry #1#2{\entry1523,49739 - \null\nobreak\indexdotfill % Have leaders before the page number.dotfill1540,50386 -\def\indexdotfill{\indexdotfill1549,50714 -\def\primary #1{\primary1552,50820 -\def\secondary #1#2{\secondary1556,50902 -\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\pardotfill1559,50984 -\newbox\partialpageialpage1566,51157 -\def\begindoublecolumns{\begindoublecolumns1572,51315 - \output={\global\setbox\partialpage=ialpage=1573,51351 -\def\enddoublecolumns{\enddoublecolumns1577,51539 -\def\doublecolumnout{\doublecolumnout1580,51624 - \dimen@=\pageheight \advance\dimen@ by-\ht\partialpageialpage1581,51693 -\def\pagesofar{\pagesofar1584,51871 -\def\balancecolumns{\balancecolumns1588,52108 - \availdimen@=\pageheight \advance\availdimen@ by-\ht\partialpageialpage1594,52279 - \dimen@=\pageheight \advance\dimen@ by-\ht\partialpageialpage1600,52540 -\newcount \appendixno \appendixno = `\@no1627,53445 -\def\appendixletter{\appendixletter1628,53486 -\def\opencontents{\opencontents1632,53589 -\def\thischapter{\thischapter1637,53770 -\def\seccheck#1{\seccheck1638,53808 -\def\chapternofonts{\chapternofonts1643,53912 -\def\result{\result1646,53987 -\def\equiv{\equiv1647,54022 -\def\expansion{\expansion1648,54055 -\def\print{\print1649,54096 -\def\TeX{\TeX1650,54129 -\def\dots{\dots1651,54158 -\def\copyright{\copyright1652,54189 -\def\tt{\tt1653,54230 -\def\bf{\bf1654,54257 -\def\w{\w1655,54285 -\def\less{\less1656,54310 -\def\gtr{\gtr1657,54341 -\def\hat{\hat1658,54370 -\def\char{\char1659,54399 -\def\tclose##1{\tclose1660,54430 -\def\code##1{\code1661,54474 -\def\samp##1{\samp1662,54514 -\def\r##1{\r1663,54554 -\def\b##1{\b1664,54588 -\def\key##1{\key1665,54622 -\def\file##1{\file1666,54660 -\def\kbd##1{\kbd1667,54700 -\def\i##1{\i1669,54808 -\def\cite##1{\cite1670,54842 -\def\var##1{\var1671,54882 -\def\emph##1{\emph1672,54920 -\def\dfn##1{\dfn1673,54960 -\def\thischaptername{\thischaptername1676,55001 -\outer\def\chapter{\chapter1677,55040 -\def\chapterzzz #1{\chapterzzz1678,55081 -{\chapternofonts%nofonts%1687,55477 -\global\let\section = \numberedsec=1692,55630 -\global\let\subsection = \numberedsubsec=1693,55665 -\global\let\subsubsection = \numberedsubsubsec=1694,55706 -\outer\def\appendix{\appendix1697,55757 -\def\appendixzzz #1{\appendixzzz1698,55800 -\global\advance \appendixno by 1 \message{no1700,55877 -\chapmacro {#1}{Appendix \appendixletter}letter1701,55946 -\xdef\thischapter{Appendix \appendixletter: \noexpand\thischaptername}letter:1704,56039 -{\chapternofonts%nofonts%1705,56111 - {#1}{Appendix \appendixletter}letter1707,56167 -\appendixnoderef %noderef1710,56267 -\global\let\section = \appendixsec=1711,56286 -\global\let\subsection = \appendixsubsec=1712,56321 -\global\let\subsubsection = \appendixsubsubsec=1713,56362 -\outer\def\top{\top1716,56413 -\outer\def\unnumbered{\unnumbered1717,56453 -\def\unnumberedzzz #1{\unnumberedzzz1718,56500 -{\chapternofonts%nofonts%1722,56663 -\global\let\section = \unnumberedsec=1727,56813 -\global\let\subsection = \unnumberedsubsec=1728,56850 -\global\let\subsubsection = \unnumberedsubsubsec=1729,56893 -\outer\def\numberedsec{\numberedsec1732,56946 -\def\seczzz #1{\seczzz1733,56987 -{\chapternofonts%nofonts%1736,57143 -\outer\def\appendixsection{\appendixsection1745,57329 -\outer\def\appendixsec{\appendixsec1746,57386 -\def\appendixsectionzzz #1{\appendixsectionzzz1747,57439 -\gdef\thissection{#1}\secheading {#1}{\appendixletter}letter1749,57551 -{\chapternofonts%nofonts%1750,57619 -{#1}{\appendixletter}letter1752,57675 -\appendixnoderef %noderef1755,57775 -\outer\def\unnumberedsec{\unnumberedsec1759,57815 -\def\unnumberedseczzz #1{\unnumberedseczzz1760,57868 -{\chapternofonts%nofonts%1762,57963 -\outer\def\numberedsubsec{\numberedsubsec1770,58131 -\def\numberedsubseczzz #1{\numberedsubseczzz1771,58186 -{\chapternofonts%nofonts%1774,58365 -\outer\def\appendixsubsec{\appendixsubsec1783,58569 -\def\appendixsubseczzz #1{\appendixsubseczzz1784,58624 -\subsecheading {#1}{\appendixletter}letter1786,58746 -{\chapternofonts%nofonts%1787,58811 -{#1}{\appendixletter}letter1789,58870 -\appendixnoderef %noderef1792,58985 -\outer\def\unnumberedsubsec{\unnumberedsubsec1796,59025 -\def\unnumberedsubseczzz #1{\unnumberedsubseczzz1797,59084 -{\chapternofonts%nofonts%1799,59185 -\outer\def\numberedsubsubsec{\numberedsubsubsec1807,59356 -\def\numberedsubsubseczzz #1{\numberedsubsubseczzz1808,59417 -{\chapternofonts%nofonts%1812,59614 -\outer\def\appendixsubsubsec{\appendixsubsubsec1823,59847 -\def\appendixsubsubseczzz #1{\appendixsubsubseczzz1824,59908 - {\appendixletter}letter1827,60047 -{\chapternofonts%nofonts%1828,60113 - {\appendixletter}letter1830,60178 -\appendixnoderef %noderef1834,60312 -\outer\def\unnumberedsubsubsec{\unnumberedsubsubsec1838,60352 -\def\unnumberedsubsubseczzz #1{\unnumberedsubsubseczzz1839,60417 -{\chapternofonts%nofonts%1841,60524 -\def\infotop{\infotop1851,60853 -\def\infounnumbered{\infounnumbered1852,60891 -\def\infounnumberedsec{\infounnumberedsec1853,60936 -\def\infounnumberedsubsec{\infounnumberedsubsec1854,60987 -\def\infounnumberedsubsubsec{\infounnumberedsubsubsec1855,61044 -\def\infoappendix{\infoappendix1857,61108 -\def\infoappendixsec{\infoappendixsec1858,61149 -\def\infoappendixsubsec{\infoappendixsubsec1859,61196 -\def\infoappendixsubsubsec{\infoappendixsubsubsec1860,61249 -\def\infochapter{\infochapter1862,61309 -\def\infosection{\infosection1863,61348 -\def\infosubsection{\infosubsection1864,61387 -\def\infosubsubsection{\infosubsubsection1865,61432 -\global\let\section = \numberedsec=1870,61669 -\global\let\subsection = \numberedsubsec=1871,61704 -\global\let\subsubsection = \numberedsubsubsec=1872,61745 -\def\majorheading{\majorheading1886,62252 -\def\majorheadingzzz #1{\majorheadingzzz1887,62297 -\def\chapheading{\chapheading1893,62530 -\def\chapheadingzzz #1{\chapheadingzzz1894,62573 -\def\heading{\heading1899,62768 -\def\subheading{\subheading1901,62805 -\def\subsubheading{\subsubheading1903,62848 -\def\dobreak#1#2{\dobreak1910,63125 -\def\setchapterstyle #1 {\setchapterstyle1912,63203 -\def\chapbreak{\chapbreak1919,63458 -\def\chappager{\chappager1920,63508 -\def\chapoddpage{\chapoddpage1921,63546 -\def\setchapternewpage #1 {\setchapternewpage1923,63625 -\def\CHAPPAGoff{\CHAPPAGoff1925,63682 -\def\CHAPPAGon{\CHAPPAGon1929,63776 -\global\def\HEADINGSon{\HEADINGSon1932,63867 -\def\CHAPPAGodd{\CHAPPAGodd1934,63909 -\global\def\HEADINGSon{\HEADINGSon1937,64005 -\def\CHAPFplain{\CHAPFplain1941,64059 -\def\chfplain #1#2{\chfplain1945,64151 -\def\unnchfplain #1{\unnchfplain1956,64374 -\def\unnchfopen #1{\unnchfopen1964,64603 -\def\chfopen #1#2{\chfopen1970,64811 -\def\CHAPFopen{\CHAPFopen1975,64955 -\def\subsecheadingbreak{\subsecheadingbreak1982,65173 -\def\secheadingbreak{\secheadingbreak1985,65302 -\def\secheading #1#2#3{\secheading1993,65584 -\def\plainsecheading #1{\plainsecheading1994,65640 -\def\secheadingi #1{\secheadingi1995,65683 -\def\subsecheading #1#2#3#4{\subsecheading2006,66051 -\def\subsecheadingi #1{\subsecheadingi2007,66118 -\def\subsubsecfonts{\subsubsecfonts2014,66415 -\def\subsubsecheading #1#2#3#4#5{\subsubsecheading2017,66538 -\def\subsubsecheadingi #1{\subsubsecheadingi2018,66616 -\def\startcontents#1{\startcontents2032,67088 - \unnumbchapmacro{#1}\def\thischapter{\thischapter2040,67361 -\outer\def\contents{\contents2049,67720 -\outer\def\summarycontents{\summarycontents2057,67864 - \def\secentry ##1##2##3##4{\secentry2067,68235 - \def\unnumbsecentry ##1##2{\unnumbsecentry2068,68270 - \def\subsecentry ##1##2##3##4##5{\subsecentry2069,68305 - \def\unnumbsubsecentry ##1##2{\unnumbsubsecentry2070,68346 - \def\subsubsecentry ##1##2##3##4##5##6{\subsubsecentry2071,68384 - \def\unnumbsubsubsecentry ##1##2{\unnumbsubsubsecentry2072,68431 -\def\chapentry#1#2#3{\chapentry2085,68865 -\def\shortchapentry#1#2#3{\shortchapentry2088,68982 - {#2\labelspace #1}space2091,69092 -\def\unnumbchapentry#1#2{\unnumbchapentry2094,69146 -\def\shortunnumberedentry#1#2{\shortunnumberedentry2095,69193 -\def\secentry#1#2#3#4{\secentry2102,69357 -\def\unnumbsecentry#1#2{\unnumbsecentry2103,69416 -\def\subsecentry#1#2#3#4#5{\subsecentry2106,69477 -\def\unnumbsubsecentry#1#2{\unnumbsubsecentry2107,69547 -\def\subsubsecentry#1#2#3#4#5#6{\subsubsecentry2110,69621 - \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}space2111,69655 -\def\unnumbsubsubsecentry#1#2{\unnumbsubsubsecentry2112,69706 -\def\dochapentry#1#2{\dochapentry2123,70080 -\def\dosecentry#1#2{\dosecentry2138,70685 -\def\dosubsecentry#1#2{\dosubsecentry2145,70863 -\def\dosubsubsecentry#1#2{\dosubsubsecentry2152,71048 -\def\labelspace{\labelspace2160,71299 -\def\dopageno#1{\dopageno2162,71334 -\def\doshortpageno#1{\doshortpageno2163,71360 -\def\chapentryfonts{\chapentryfonts2165,71392 -\def\secentryfonts{\secentryfonts2166,71427 -\def\point{\point2192,72386 -\def\result{\result2194,72407 -\def\expansion{\expansion2195,72480 -\def\print{\print2196,72551 -\def\equiv{\equiv2198,72618 -\def\error{\error2218,73391 -\def\tex{\tex2224,73620 -\def\@{\@2242,74003 -\gdef\sepspaces{\def {\ }}}\2265,74735 -\def\aboveenvbreak{\aboveenvbreak2268,74817 -\def\afterenvbreak{\afterenvbreak2272,74983 -\def\ctl{\ctl2286,75494 -\def\ctr{\ctr2287,75566 -\def\cbl{\cbl2288,75605 -\def\cbr{\cbr2289,75645 -\def\carttop{\carttop2290,75684 -\def\cartbot{\cartbot2293,75792 -\long\def\cartouche{\cartouche2299,75932 -\def\Ecartouche{\Ecartouche2326,76720 -\def\lisp{\lisp2338,76855 -\def\Elisp{\Elisp2348,77202 -\def\next##1{\next2360,77528 -\def\Eexample{\Eexample2364,77570 -\def\Esmallexample{\Esmallexample2367,77617 -\def\smalllispx{\smalllispx2373,77795 -\def\Esmalllisp{\Esmalllisp2383,78149 -\obeyspaces \obeylines \ninett \indexfonts \rawbackslashfonts2396,78505 -\def\next##1{\next2397,78562 -\def\display{\display2401,78642 -\def\Edisplay{\Edisplay2410,78961 -\def\next##1{\next2422,79272 -\def\format{\format2426,79375 -\def\Eformat{\Eformat2434,79671 -\def\next##1{\next2437,79760 -\def\flushleft{\flushleft2441,79812 -\def\Eflushleft{\Eflushleft2451,80183 -\def\next##1{\next2454,80276 -\def\flushright{\flushright2456,80298 -\def\Eflushright{\Eflushright2466,80670 -\def\next##1{\next2470,80801 -\def\quotation{\quotation2474,80859 -\def\Equotation{\Equotation2480,81051 -\def\setdeffont #1 {\setdeffont2493,81449 -\newskip\defbodyindent \defbodyindent=.4inbodyindent2495,81495 -\newskip\defargsindent \defargsindent=50ptargsindent2496,81538 -\newskip\deftypemargin \deftypemargin=12pttypemargin2497,81581 -\newskip\deflastargmargin \deflastargmargin=18ptlastargmargin2498,81624 -\def\activeparens{\activeparens2503,81822 -\def\opnr{\opnr2529,83034 -\def\lbrb{\lbrb2530,83099 -\def\defname #1#2{\defname2536,83300 -\advance\dimen2 by -\defbodyindentbodyindent2540,83418 -\advance\dimen3 by -\defbodyindentbodyindent2542,83472 -\setbox0=\hbox{\hskip \deflastargmargin{lastargmargin2544,83526 -\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuationsargsindent2546,83668 -\parshape 2 0in \dimen0 \defargsindent \dimen1 %argsindent2547,83743 -\rlap{\rightline{{\rm #2}\hskip \deftypemargin}typemargin2554,84112 -\advance\leftskip by -\defbodyindentbodyindent2557,84246 -\exdentamount=\defbodyindentbodyindent2558,84283 -\def\defparsebody #1#2#3{\defparsebody2568,84642 -\def#1{2572,84826 -\def#2{2573,84862 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2575,84934 -\exdentamount=\defbodyindentbodyindent2576,85008 -\def\defmethparsebody #1#2#3#4 {\defmethparsebody2581,85112 -\def#1{2585,85273 -\def#2##1 {2586,85309 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2588,85392 -\exdentamount=\defbodyindentbodyindent2589,85466 -\def\defopparsebody #1#2#3#4#5 {\defopparsebody2592,85551 -\def#1{2596,85712 -\def#2##1 ##2 {2597,85748 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2600,85848 -\exdentamount=\defbodyindentbodyindent2601,85922 -\def\defvarparsebody #1#2#3{\defvarparsebody2608,86193 -\def#1{2612,86380 -\def#2{2613,86416 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2615,86475 -\exdentamount=\defbodyindentbodyindent2616,86549 -\def\defvrparsebody #1#2#3#4 {\defvrparsebody2621,86640 -\def#1{2625,86799 -\def#2##1 {2626,86835 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2628,86905 -\exdentamount=\defbodyindentbodyindent2629,86979 -\def\defopvarparsebody #1#2#3#4#5 {\defopvarparsebody2632,87051 -\def#1{2636,87215 -\def#2##1 ##2 {2637,87251 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2640,87338 -\exdentamount=\defbodyindentbodyindent2641,87412 -\def\defunargs #1{\defunargs2664,88172 -\def\deftypefunargs #1{\deftypefunargs2676,88554 -\def\deffn{\deffn2690,88936 -\def\deffnheader #1#2#3{\deffnheader2692,88993 -\begingroup\defname {name2693,89041 -\def\defun{\defun2699,89186 -\def\defunheader #1#2{\defunheader2701,89239 -\begingroup\defname {name2702,89314 -\defunargs {unargs2703,89350 -\def\deftypefun{\deftypefun2709,89498 -\def\deftypefunheader #1#2{\deftypefunheader2712,89620 -\def\deftypefunheaderx #1#2 #3\relax{\deftypefunheaderx2714,89729 -\begingroup\defname {name2716,89821 -\deftypefunargs {typefunargs2717,89867 -\def\deftypefn{\deftypefn2723,90038 -\def\deftypefnheader #1#2#3{\deftypefnheader2726,90187 -\def\deftypefnheaderx #1#2#3 #4\relax{\deftypefnheaderx2728,90323 -\begingroup\defname {name2730,90416 -\deftypefunargs {typefunargs2731,90456 -\def\defmac{\defmac2737,90577 -\def\defmacheader #1#2{\defmacheader2739,90634 -\begingroup\defname {name2740,90710 -\defunargs {unargs2741,90743 -\def\defspec{\defspec2747,90867 -\def\defspecheader #1#2{\defspecheader2749,90928 -\begingroup\defname {name2750,91005 -\defunargs {unargs2751,91045 -\def\deffnx #1 {\deffnx2758,91240 -\def\defunx #1 {\defunx2759,91297 -\def\defmacx #1 {\defmacx2760,91354 -\def\defspecx #1 {\defspecx2761,91413 -\def\deftypefnx #1 {\deftypefnx2762,91474 -\def\deftypeunx #1 {\deftypeunx2763,91539 -\def\defop #1 {\defop2769,91685 -\defopparsebody\Edefop\defopx\defopheader\defoptype}opparsebody\Edefop\defopx\defopheader\defoptype2770,91720 -\def\defopheader #1#2#3{\defopheader2772,91774 -\begingroup\defname {name2774,91863 -\defunargs {unargs2775,91909 -\def\defmethod{\defmethod2780,91970 -\def\defmethodheader #1#2#3{\defmethodheader2782,92043 -\begingroup\defname {name2784,92131 -\defunargs {unargs2785,92171 -\def\defcv #1 {\defcv2790,92245 -\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}opvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype2791,92280 -\def\defcvarheader #1#2#3{\defcvarheader2793,92339 -\begingroup\defname {name2795,92425 -\defvarargs {varargs2796,92471 -\def\defivar{\defivar2801,92544 -\def\defivarheader #1#2#3{\defivarheader2803,92607 -\begingroup\defname {name2805,92693 -\defvarargs {varargs2806,92744 -\def\defopx #1 {\defopx2812,92893 -\def\defmethodx #1 {\defmethodx2813,92950 -\def\defcvx #1 {\defcvx2814,93015 -\def\defivarx #1 {\defivarx2815,93072 -\def\defvarargs #1{\defvarargs2822,93343 -\def\defvr{\defvr2828,93487 -\def\defvrheader #1#2#3{\defvrheader2830,93542 -\begingroup\defname {name2831,93590 -\def\defvar{\defvar2835,93675 -\def\defvarheader #1#2{\defvarheader2837,93735 -\begingroup\defname {name2838,93806 -\defvarargs {varargs2839,93842 -\def\defopt{\defopt2844,93908 -\def\defoptheader #1#2{\defoptheader2846,93968 -\begingroup\defname {name2847,94039 -\defvarargs {varargs2848,94078 -\def\deftypevar{\deftypevar2853,94135 -\def\deftypevarheader #1#2{\deftypevarheader2856,94251 -\begingroup\defname {name2858,94334 -\def\deftypevr{\deftypevr2865,94508 -\def\deftypevrheader #1#2#3{\deftypevrheader2867,94579 -\begingroup\defname {name2868,94631 -\def\defvrx #1 {\defvrx2876,94868 -\def\defvarx #1 {\defvarx2877,94925 -\def\defoptx #1 {\defoptx2878,94984 -\def\deftypevarx #1 {\deftypevarx2879,95043 -\def\deftypevrx #1 {\deftypevrx2880,95110 -\def\deftpargs #1{\deftpargs2885,95259 -\def\deftp{\deftp2889,95339 -\def\deftpheader #1#2#3{\deftpheader2891,95394 -\begingroup\defname {name2892,95442 -\def\deftpx #1 {\deftpx2897,95601 -\def\setref#1{\setref2908,95922 -\def\unnumbsetref#1{\unnumbsetref2913,96036 -\def\appendixsetref#1{\appendixsetref2918,96143 -\def\pxref#1{\pxref2929,96554 -\def\xref#1{\xref2930,96590 -\def\ref#1{\ref2931,96625 -\def\xrefX[#1,#2,#3,#4,#5,#6]{\xrefX[2932,96655 -\def\printedmanual{\printedmanual2933,96698 -\def\printednodename{\printednodename2934,96736 -\def\printednodename{\printednodename2939,96861 -section ``\printednodename'' in \cite{\printedmanual}\printedmanual2954,97493 -\refx{x2957,97571 -\def\dosetq #1#2{\dosetq2965,97791 -\def\internalsetq #1#2{\internalsetq2973,98049 -\def\Ypagenumber{\Ypagenumber2977,98150 -\def\Ytitle{\Ytitle2979,98176 -\def\Ynothing{\Ynothing2981,98203 -\def\Ysectionnumberandtype{\Ysectionnumberandtype2983,98220 -\def\Yappendixletterandtype{\Yappendixletterandtype2992,98536 -\ifnum\secno=0 Appendix\xreftie'char\the\appendixno{no2993,98566 -\else \ifnum \subsecno=0 Section\xreftie'char\the\appendixno.\the\secno %no.\the\secno2994,98621 -Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno %no.\the\secno.\the\subsecno2996,98725 -Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %no.\the\secno.\the\subsecno.\the\subsubsecno2998,98796 - \def\linenumber{\linenumber3009,99135 -\def\refx#1#2{\refx3015,99319 -\def\xrdef #1#2{\xrdef3037,99945 -\def\readauxfile{\readauxfile3040,100030 -\def\supereject{\supereject3110,101811 -\footstrut\parindent=\defaultparindent\hang\textindent{aultparindent\hang\textindent3131,102496 -\def\openindices{\openindices3139,102682 -\newdimen\defaultparindent \defaultparindent = 15ptaultparindent3151,102907 -\parindent = \defaultparindentaultparindent3152,102959 -\def\smallbook{\smallbook3175,103683 -\global\def\Esmallexample{\Esmallexample3192,104110 -\def\afourpaper{\afourpaper3196,104201 -\def\finalout{\finalout3224,105009 -\def\normaldoublequote{\normaldoublequote3235,105270 -\def\normaltilde{\normaltilde3236,105296 -\def\normalcaret{\normalcaret3237,105316 -\def\normalunderscore{\normalunderscore3238,105336 -\def\normalverticalbar{\normalverticalbar3239,105361 -\def\normalless{\normalless3240,105387 -\def\normalgreater{\normalgreater3241,105406 -\def\normalplus{\normalplus3242,105428 -\def\ifusingtt#1#2{\ifusingtt3253,105920 -\def\activedoublequote{\activedoublequote3261,106248 -\def~{~3264,106334 -\def^{^3267,106395 -\def_{_3270,106434 -\def\_{\_3272,106508 -\def\lvvmode{\lvvmode3279,106845 -\def|{|3282,106895 -\def<{<3285,106958 -\def>{>3288,107015 -\def+{+3290,107053 -\def\turnoffactive{\turnoffactive3296,107214 -\global\def={=3307,107500 -\def\normalbackslash{\normalbackslash3321,107882 - -merc-src/accumulator.m,3228 -:- interface146,5371 -:- import_module hlds148,5386 -:- import_module univ152,5478 -:- pred accu_transform_proc159,5793 -:- implementation166,6115 -:- import_module libs180,6552 -:- import_module mdbcomp184,6681 -:- import_module parse_tree186,6742 -:- import_module assoc_list194,7013 -:- import_module bool195,7042 -:- import_module int196,7065 -:- import_module io197,7087 -:- import_module list198,7108 -:- import_module map199,7131 -:- import_module maybe200,7153 -:- import_module pair201,7177 -:- import_module require202,7200 -:- import_module set203,7226 -:- import_module solutions204,7248 -:- import_module string205,7276 -:- import_module term206,7301 -:- import_module varset207,7324 -:- type top_level213,7499 -:- type accu_goal_id225,7900 -:- type accu_case228,7964 -:- type accu_goal_store234,8091 -:- type accu_subst238,8216 -:- type accu_warning240,8264 -:- pred generate_warnings334,12550 -:- pred generate_warning342,12895 -:- pred should_attempt_accu_transform365,13886 -:- pred should_attempt_accu_transform_2398,15406 -:- pred accu_standardize440,17390 -:- pred identify_goal_type465,18169 -:- pred is_recursive_case549,21175 -:- type store_info560,21713 -:- func initialize_goal_store570,22060 -:- pred accu_store580,22421 -:- pred identify_recursive_calls601,23288 -:- pred identify_out_and_out_prime626,24397 -:- type accu_sets676,26426 -:- pred accu_stage1689,26978 -:- pred accu_stage1_2727,28348 -:- pred accu_sets_init781,30558 -:- func set_upto796,30985 -:- pred accu_before812,31499 -:- pred accu_assoc835,32478 -:- pred accu_construct862,33713 -:- pred accu_construct_assoc896,35308 -:- pred accu_update938,37070 -:- pred member_lessthan_goalid964,38220 -:- type accu_assoc975,38653 -:- pred accu_is_associative986,39139 -:- pred associativity_assertion1014,40264 -:- pred commutativity_assertion1037,41243 -:- pred accu_is_update1057,41953 -:- pred is_associative_construction1078,42803 -:- type accu_substs1095,43481 -:- type accu_base1103,43745 -:- pred accu_stage21124,44606 -:- pred accu_substs_init1179,46958 -:- pred acc_var_subst_init1194,47574 -:- pred create_new_var1207,48148 -:- pred accu_process_assoc_set1223,48863 -:- pred accu_has_heuristic1297,52082 -:- pred accu_heuristic1304,52337 -:- pred accu_process_update_set1318,52907 -:- pred accu_divide_base_case1380,55845 -:- pred accu_related1412,57147 -:- inst stored_goal_plain_call1444,58416 -:- pred lookup_call1449,58602 -:- pred accu_stage31470,59433 -:- pred acc_proc_info1508,61327 -:- pred acc_pred_info1556,63450 -:- pred accu_create_goal1600,65286 -:- func create_acc_call1621,66401 -:- pred create_orig_goal1634,66988 -:- pred create_acc_goal1662,68158 -:- func create_new_orig_recursive_goals1709,70226 -:- func create_new_recursive_goals1723,70919 -:- func create_new_base_goals1738,71718 -:- pred acc_unification1749,72157 -:- pred accu_top_level1766,72897 -:- pred update_accumulator_pred1856,76291 -:- func accu_rename1876,77254 -:- func base_case_ids1889,77785 -:- func base_case_ids_set1898,78049 -:- func accu_goal_list1905,78270 -:- pred calculate_goal_info1916,78681 -:- func chain_subst1932,79320 -:- pred chain_subst_21938,79483 -:- some [T] pred unravel_univ1956,80061 -:- pragma foreign_export1957,80117 - -c-src/c.c,76 -T f(1,0 -}T i;2,14 -void bar(5,69 -int foobar(6,94 -interface_locate(9,131 - -c.c,2107 -my_printf 135, -void fatala 138, -max 141, -struct bar 143, - char z;144, - struct foo f;145, -__attribute__ ((always_inline)) max 147, -struct foo150, - char a;152, - int x[x153, -char stack[stack155, -struct S 156, -struct S { short f[f156, - int *__ip;__ip159, - union wait *__up;__up160, -} wait_status_ptr_t 161, -Some_Class A 162, -typedef T1 T3 163, -T3 z 164, -typedef int more_aligned_int 165, -struct S __attribute__ ((vector_size (16))) foo;166, -int foo 167, -char *__attribute__((aligned(8))) *f;f168, -int i 169, -extern void foobar 170, -typedef struct cacheLRUEntry_s172, - U16 next;174, - U16 prev;175, -__attribute__ ((packed)) cacheLRUEntry_t;177, -struct foo 178, - int x;179, - char a,180, - char a, b,180, - char a, b, c,180, - char a, b, c, d;180, - f1 183, -void f2 184, -int x 188, -struct foo 189, -struct foo { int x[x189, -short array[array190, -int f193, -DEAFUN 196, -XDEFUN 203, -DEFUN ("x-get-selection-internal", Fx_get_selection_internal,206, -DEFUN ("x-get-selection-internal", Fx_get_selection_internal,x-get-selection-internal206, - Fx_get_selection_internal,212, - Fx_get_selection_internal,x-get-selection-internal212, - Fy_get_selection_internal,216, - Fy_get_selection_internal,y-get-selection-internal216, -defun_func1(218, -DEFUN_func2(220, -typedef int bool;222, -bool funcboo 223, -struct my_struct 226, -typedef struct my_struct my_typedef;228, -int bla 229, -a(234, -int func1237, -static struct cca_control init_control 239, -static tpcmd rbtp 240, -static byte ring1 241, -static byte ring2 242, -request request 243, -int func2 246, - aaa;249, - bbb;251, -struct sss1 252, -struct sss2253, - struct ss3255, -struct a b;259, -struct aa *b;b260, - **b;b262, -caccacacca 263, -a 267, - typedef struct aa 269, - typedef struct aa {} aaa;269, -static void inita 271, -node *lasta lasta272, -b 273, - typedef int bb;275, -static void initb 277, -node *lastb lastb278, -typedef enum { REG_ENOSYS 279, -typedef enum { REG_ENOSYS = -1, aa 279, -typedef enum { REG_ENOSYS = -1, aa } reg_errcode_t;279, - -c-src/a/b/b.c,18 -#define this 1,0 - -../c/c.web,20 -#define questo 34, - -y-src/parse.y,738 -#define obstack_chunk_alloc 47,1124 -#define obstack_chunk_free 48,1162 -VOIDSTAR parse_hash;64,1413 -unsigned char fnin[fnin68,1532 -#define YYSTYPE 72,1630 -typedef struct node *YYSTYPE;YYSTYPE73,1661 -YYSTYPE parse_return;74,1691 -char *instr;instr81,1803 -int parse_error 82,1816 -line:line87,1875 -exp:exp95,1988 -exp_list:exp_list263,5655 -range_exp:range_exp269,5753 -range_exp_list:range_exp_list273,5783 -cell:cell279,5901 -yyerror FUN1(286,5948 -make_list FUN2(293,6028 -#define ERROR 304,6228 -yylex FUN0(315,6405 -parse_cell_or_range FUN2(587,11772 -#define CK_ABS_R(671,13214 -#define CK_REL_R(675,13293 -#define CK_ABS_C(680,13422 -#define CK_REL_C(684,13501 -#define MAYBEREL(689,13630 -str_to_col FUN1(847,16831 - -y-src/parse.c,520 -#define YYBISON 4,64 -# define NE 6,114 -# define LE 7,130 -# define GE 8,146 -# define NEG 9,162 -# define L_CELL 10,179 -# define L_RANGE 11,199 -# define L_VAR 12,220 -# define L_CONST 13,239 -# define L_FN0 14,260 -# define L_FN1 15,279 -# define L_FN2 16,298 -# define L_FN3 17,317 -# define L_FN4 18,336 -# define L_FNN 19,355 -# define L_FN1R 20,374 -# define L_FN2R 21,394 -# define L_FN3R 22,414 -# define L_FN4R 23,434 -# define L_FNNR 24,454 -# define L_LE 25,474 -# define L_NE 26,492 -# define L_GE 27,510 - -/usr/share/bison/bison.simple,1751 -# define YYSTD(40, -# define YYSTD(42, -# define YYSTACK_ALLOC 50, -# define YYSIZE_T 51, -# define YYSTACK_ALLOC 55, -# define YYSIZE_T 56, -# define YYSTACK_ALLOC 59, -# define YYSTACK_FREE(67, -# define YYSIZE_T 71, -# define YYSIZE_T 75, -# define YYSTACK_ALLOC 78, -# define YYSTACK_FREE 79, -union yyalloc83, - short yyss;85, - YYSTYPE yyvs;86, - YYLTYPE yyls;88, -# define YYSTACK_GAP_MAX 93, -# define YYSTACK_BYTES(98, -# define YYSTACK_BYTES(102, -# define YYSTACK_RELOCATE(112, -# define YYSIZE_T 128, -# define YYSIZE_T 131, -# define YYSIZE_T 136, -# define YYSIZE_T 140, -# define YYSIZE_T 145, -#define yyerrok 148, -#define yyclearin 149, -#define YYEMPTY 150, -#define YYEOF 151, -#define YYACCEPT 152, -#define YYABORT 153, -#define YYERROR 154, -#define YYFAIL 158, -#define YYRECOVERING(159, -#define YYBACKUP(160, -#define YYTERROR 177, -#define YYERRCODE 178, -# define YYLLOC_DEFAULT(189, -# define YYLEX 200, -# define YYLEX 202, -# define YYLEX 206, -# define YYLEX 208, -# define YYLEX 212, -# define YYFPRINTF 225, -# define YYDPRINTF(228, -int yydebug;237, -# define YYDPRINTF(239, -# define YYINITDEPTH 244, -# undef YYMAXDEPTH255, -# define YYMAXDEPTH 259, -# define yymemcpy 264, -yymemcpy 271, -# define yystrlen 293, -yystrlen 298, -# define yystpcpy 316, -yystpcpy 322, -# define YYPARSE_PARAM_ARG 351, -# define YYPARSE_PARAM_DECL352, -# define YYPARSE_PARAM_ARG 354, -# define YYPARSE_PARAM_DECL 355, -# define YYPARSE_PARAM_ARG358, -# define YYPARSE_PARAM_DECL359, -#define YY_DECL_NON_LSP_VARIABLES 374, -# define YY_DECL_VARIABLES 385, -# define YY_DECL_VARIABLES 391, -yyparse 403, -# define YYPOPSTACK 445, -# define YYPOPSTACK 447, -# undef YYSTACK_RELOCATE548, - -y-src/atest.y,9 -exp 2,3 - -y-src/cccp.c,303 -#define YYBISON 4,63 -# define INT 6,113 -# define CHAR 7,130 -# define NAME 8,148 -# define ERROR 9,166 -# define OR 10,185 -# define AND 11,201 -# define EQUAL 12,218 -# define NOTEQUAL 13,237 -# define LEQ 14,259 -# define GEQ 15,276 -# define LSH 16,293 -# define RSH 17,310 -# define UNARY 18,327 - -/usr/share/bison/bison.simple,2168 -# define YYSTD(41, -# define YYSTD(43, -# define YYSTACK_ALLOC 51, -# define YYSIZE_T 52, -# define YYSTACK_ALLOC 56, -# define YYSIZE_T 57, -# define YYSTACK_ALLOC 60, -# define YYSTACK_FREE(68, -# define YYSIZE_T 72, -# define YYSIZE_T 76, -# define YYSTACK_ALLOC 79, -# define YYSTACK_FREE 80, -union yyalloc84, - short yyss;86, - YYSTYPE yyvs;87, - YYLTYPE yyls;89, -# define YYSTACK_GAP_MAX 94, -# define YYSTACK_BYTES(99, -# define YYSTACK_BYTES(103, -# define YYSTACK_RELOCATE(113, -# define YYSIZE_T 129, -# define YYSIZE_T 132, -# define YYSIZE_T 137, -# define YYSIZE_T 141, -# define YYSIZE_T 146, -#define yyerrok 149, -#define yyclearin 150, -#define YYEMPTY 151, -#define YYEOF 152, -#define YYACCEPT 153, -#define YYABORT 154, -#define YYERROR 155, -#define YYFAIL 159, -#define YYRECOVERING(160, -#define YYBACKUP(161, -#define YYTERROR 178, -#define YYERRCODE 179, -# define YYLLOC_DEFAULT(190, -# define YYLEX 201, -# define YYLEX 203, -# define YYLEX 207, -# define YYLEX 209, -# define YYLEX 213, -# define YYFPRINTF 226, -# define YYDPRINTF(229, -int yydebug;238, -# define YYDPRINTF(240, -# define YYINITDEPTH 245, -# undef YYMAXDEPTH256, -# define YYMAXDEPTH 260, -# define yymemcpy 265, -yymemcpy 272, -# define yystrlen 294, -yystrlen 299, -# define yystpcpy 317, -yystpcpy 323, -# define YYPARSE_PARAM_ARG 351, -# define YYPARSE_PARAM_DECL352, -# define YYPARSE_PARAM_ARG 354, -# define YYPARSE_PARAM_DECL 355, -# define YYPARSE_PARAM_ARG358, -# define YYPARSE_PARAM_DECL359, -#define YY_DECL_NON_LSP_VARIABLES 374, -# define YY_DECL_VARIABLES 385, -# define YY_DECL_VARIABLES 391, -yyparse 403, -# define YYPOPSTACK 445, -# define YYPOPSTACK 447, -# undef YYSTACK_RELOCATE548, - *++yyvsp yyvsp746, - *++yylsp yylsp748, - yyn 755, - yystate 757, - yystate 761, - goto yynewstate;763, - goto yyerrlab1;823, - yyerrstatus 846, - goto yyerrhandle;848, - yyn 861, - yystate 875, - yyn 895, - yyn 903, - *++yyvsp yyvsp919, - *++yylsp yylsp921, - yystate 924, - goto yynewstate;925, - yyresult 932, - goto yyreturn;933, - yyresult 939, - goto yyreturn;940, - yyresult 947, - -y-src/cccp.y,1696 -typedef unsigned char U_CHAR;38,1201 -struct arglist 41,1301 - struct arglist *next;next42,1318 - U_CHAR *name;name43,1342 - int length;44,1358 - int argno;45,1372 -#define NULL 51,1468 -#define GENERIC_PTR 56,1578 -#define GENERIC_PTR 58,1611 -#define NULL_PTR 63,1670 -int expression_value;68,1743 -static jmp_buf parse_return_error;70,1766 -static int keyword_parsing 73,1865 -#define CHAR_TYPE_SIZE 87,2162 -#define INT_TYPE_SIZE 91,2229 -#define LONG_TYPE_SIZE 95,2296 -#define WCHAR_TYPE_SIZE 99,2365 -#define possible_sum_sign(104,2556 - struct constant 112,2733 - struct constant {long value;112,2733 - struct constant {long value; int unsignedp;112,2733 - struct constant {long value; int unsignedp;} integer;112,2733 - struct name 113,2789 - struct name {U_CHAR *address;address113,2789 - struct name {U_CHAR *address; int length;113,2789 - struct name {U_CHAR *address; int length;} name;113,2789 - struct arglist *keywords;keywords114,2840 - int voidval;115,2868 - char *sval;sval116,2883 -start 143,3226 -exp1 148,3330 -exp 156,3505 -exp 185,4295 -keywords 306,7835 -static char *lexptr;lexptr332,8579 -parse_number 341,8842 -struct token 437,11038 - char *operator;operator438,11053 - int token;439,11071 -static struct token tokentab2[tokentab2442,11088 -yylex 459,11367 -parse_escape 740,17718 -yyerror 836,19599 -integer_overflow 844,19690 -left_shift 851,19804 -right_shift 873,20194 -parse_c_expression 893,20732 -main 923,21483 -unsigned char is_idchar[is_idchar948,21901 -unsigned char is_idstart[is_idstart950,21996 -char is_hor_space[is_hor_space953,22160 -initialize_random_junk 958,22259 -error 988,22915 -warning 993,22963 -lookup 999,23033 - -tex-src/nonewline.tex,0 - -php-src/sendmail.php,0 - -c-src/fail.c,0 - -a-src/empty.zz,0 diff --git a/test/manual/etags/ETAGS.good_4 b/test/manual/etags/ETAGS.good_4 deleted file mode 100644 index dc65a09fdc2..00000000000 --- a/test/manual/etags/ETAGS.good_4 +++ /dev/null @@ -1,4505 +0,0 @@ - -ada-src/etags-test-for.ada,1969 - type LL_Task_Procedure_Access LL_Task_Procedure_Access/t1,0 - function Body_RequiredBody_Required/f3,78 - type Type_Specific_Data Type_Specific_Data/t11,280 - function "abs"abs/f19,504 - type Barrier_Function_Pointer Barrier_Function_Pointer/t21,577 - function "="=/f27,722 - type usfreelock_ptr usfreelock_ptr/t30,803 - function p p/f33,891 - procedure LL_Wrapper LL_Wrapper/p37,1054 -function p p/f39,1094 -package Pkg1 Pkg1/s44,1203 - type Private_T Private_T/t46,1220 - package Inner1 Inner1/s48,1250 - procedure Private_T;Private_T/p49,1270 - package Inner2 Inner2/s52,1310 - task Private_T;Private_T/k53,1330 - type Public_T Public_T/t56,1365 - procedure Pkg1_Proc1;Pkg1_Proc1/p62,1450 - procedure Pkg1_Proc2 Pkg1_Proc2/p64,1475 - function Pkg1_Func1 Pkg1_Func1/f66,1514 - function Pkg1_Func2 Pkg1_Func2/f68,1553 - package Pkg1_Pkg1 Pkg1_Pkg1/s71,1622 - procedure Pkg1_Pkg1_Proc1;Pkg1_Pkg1_Proc1/p72,1645 - task type Task_Type Task_Type/k75,1694 - type Private_T Private_T/t82,1786 -package body Pkg1 Pkg1/b89,1882 - procedure Pkg1_Proc1 Pkg1_Proc1/p91,1904 - package body Inner1 Inner1/b96,1956 - procedure Private_T Private_T/p97,1981 - package body Inner2 Inner2/b103,2054 - task body Private_T Private_T/b104,2079 - task body Task_Type Task_Type/b112,2181 - procedure Pkg1_Proc2 Pkg1_Proc2/p126,2367 - function Pkg1_Func1 Pkg1_Func1/f132,2445 - function Pkg1_Func2 Pkg1_Func2/f134,2496 - package body Pkg1_Pkg1 Pkg1_Pkg1/b140,2596 -package body Pkg1_Pkg1 Pkg1_Pkg1/b146,2663 - procedure Pkg1_Pkg1_Proc1 Pkg1_Pkg1_Proc1/p147,2689 -function Pkg1_Func1 Pkg1_Func1/f155,2778 -package Truc Truc/s162,2887 -package Truc.Bidule Truc.Bidule/s166,2929 - protected Bidule Bidule/t168,2953 - protected type Machin_T Machin_T/t172,3007 -package body Truc.Bidule Truc.Bidule/b178,3087 - protected body Bidule Bidule/b179,3115 - protected Machin_T Machin_T/t186,3207 - -ada-src/2ataspri.adb,2190 -package body System.Task_Primitives System.Task_Primitives/b64,2603 - package RTE RTE/s69,2712 - package TSL TSL/s70,2759 - function To_void_ptr To_void_ptr/f86,3287 - function To_TCB_Ptr To_TCB_Ptr/f89,3366 - function pthread_mutexattr_setprotocolpthread_mutexattr_setprotocol/f92,3444 - function pthread_mutexattr_setprio_ceilingpthread_mutexattr_setprio_ceiling/f99,3728 - procedure Abort_WrapperAbort_Wrapper/p115,4302 - procedure LL_Wrapper LL_Wrapper/p122,4526 - procedure Initialize_LL_Tasks Initialize_LL_Tasks/p131,4830 - function Self Self/f160,5586 - procedure Initialize_LockInitialize_Lock/p174,5958 - procedure Finalize_Lock Finalize_Lock/p210,6927 - procedure Write_Lock Write_Lock/p226,7338 - procedure Read_Lock Read_Lock/p239,7700 - procedure Unlock Unlock/p246,7850 - procedure Initialize_Cond Initialize_Cond/p258,8160 - procedure Finalize_Cond Finalize_Cond/p286,8979 - procedure Cond_Wait Cond_Wait/p300,9303 - procedure Cond_Timed_WaitCond_Timed_Wait/p312,9661 - procedure Cond_Signal Cond_Signal/p343,10510 - procedure Set_PrioritySet_Priority/p355,10836 - procedure Set_Own_Priority Set_Own_Priority/p372,11243 - function Get_Priority Get_Priority/f385,11598 - function Get_Own_Priority Get_Own_Priority/f398,12023 - procedure Create_LL_TaskCreate_LL_Task/p412,12438 - function To_Start_Addr To_Start_Addr/f426,12873 - procedure Exit_LL_Task Exit_LL_Task/p491,14995 - procedure Abort_Task Abort_Task/p500,15158 - procedure Test_Abort Test_Abort/p518,15716 - procedure Install_Abort_Handler Install_Abort_Handler/p527,15878 - procedure Abort_WrapperAbort_Wrapper/p557,16939 - function Address_To_Call_State Address_To_Call_State/f562,17062 - procedure Install_Error_Handler Install_Error_Handler/p573,17351 - procedure LL_Assert LL_Assert/p599,18146 - procedure LL_Wrapper LL_Wrapper/p608,18299 - procedure Initialize_TAS_Cell Initialize_TAS_Cell/p630,19010 - procedure Finalize_TAS_Cell Finalize_TAS_Cell/p635,19129 - procedure Clear Clear/p640,19236 - procedure Test_And_Set Test_And_Set/p645,19330 - function Is_Set Is_Set/f659,19676 - -ada-src/2ataspri.ads,2313 -package System.Task_Primitives System.Task_Primitives/s58,3169 - type LL_Task_Procedure_Access LL_Task_Procedure_Access/t62,3253 - type Pre_Call_State Pre_Call_State/t64,3331 - type Task_Storage_Size Task_Storage_Size/t66,3378 - type Machine_Exceptions Machine_Exceptions/t68,3433 - type Error_Information Error_Information/t70,3499 - type Lock Lock/t72,3569 - type Condition_Variable Condition_Variable/t73,3594 - type Task_Control_Block Task_Control_Block/t81,3955 - type TCB_Ptr TCB_Ptr/t89,4241 - function Address_To_TCB_Ptr Address_To_TCB_Ptr/f93,4333 - procedure Initialize_LL_Tasks Initialize_LL_Tasks/p96,4425 - function Self Self/f100,4602 - procedure Initialize_Lock Initialize_Lock/p103,4707 - procedure Finalize_Lock Finalize_Lock/p107,4879 - procedure Write_Lock Write_Lock/p111,5034 - procedure Read_Lock Read_Lock/p118,5428 - procedure Unlock Unlock/p128,5995 - procedure Initialize_Cond Initialize_Cond/p135,6300 - procedure Finalize_Cond Finalize_Cond/p138,6413 - procedure Cond_Wait Cond_Wait/p142,6591 - procedure Cond_Timed_WaitCond_Timed_Wait/p155,7396 - procedure Cond_Signal Cond_Signal/p164,7812 - procedure Set_Priority Set_Priority/p169,8040 - procedure Set_Own_Priority Set_Own_Priority/p173,8200 - function Get_Priority Get_Priority/f177,8348 - function Get_Own_Priority Get_Own_Priority/f181,8504 - procedure Create_LL_TaskCreate_LL_Task/p185,8647 - procedure Exit_LL_Task;Exit_LL_Task/p198,9282 - procedure Abort_Task Abort_Task/p203,9516 - procedure Test_Abort;Test_Abort/p210,9878 - type Abort_Handler_Pointer Abort_Handler_Pointer/t217,10233 - procedure Install_Abort_Handler Install_Abort_Handler/p219,10312 - procedure Install_Error_Handler Install_Error_Handler/p226,10741 - procedure LL_Assert LL_Assert/p231,10983 - type Proc Proc/t238,11240 - type TAS_Cell TAS_Cell/t242,11328 - procedure Initialize_TAS_Cell Initialize_TAS_Cell/p249,11670 - procedure Finalize_TAS_Cell Finalize_TAS_Cell/p255,11941 - procedure Clear Clear/p260,12157 - procedure Test_And_Set Test_And_Set/p267,12462 - function Is_Set Is_Set/f275,12877 - type Lock Lock/t283,13155 - type Condition_Variable Condition_Variable/t288,13267 - type TAS_Cell TAS_Cell/t293,13389 - -ada-src/waroquiers.ada,1503 -package Pkg1 Pkg1/s3,89 - type Private_T Private_T/t5,106 - package Inner1 Inner1/s7,136 - procedure Private_T;Private_T/p8,156 - package Inner2 Inner2/s11,196 - task Private_T;Private_T/k12,216 - type Public_T Public_T/t15,251 - procedure Pkg1_Proc1;Pkg1_Proc1/p21,336 - procedure Pkg1_Proc2 Pkg1_Proc2/p23,361 - function Pkg1_Func1 Pkg1_Func1/f25,400 - function Pkg1_Func2 Pkg1_Func2/f27,439 - package Pkg1_Pkg1 Pkg1_Pkg1/s30,508 - procedure Pkg1_Pkg1_Proc1;Pkg1_Pkg1_Proc1/p31,531 - task type Task_Type Task_Type/k34,580 - type Private_T Private_T/t40,671 -package body Pkg1 Pkg1/b46,766 - procedure Pkg1_Proc1 Pkg1_Proc1/p48,788 - package body Inner1 Inner1/b53,840 - procedure Private_T Private_T/p54,865 - package body Inner2 Inner2/b60,938 - task body Private_T Private_T/b61,963 - task body Task_Type Task_Type/b68,1064 - procedure Pkg1_Proc2 Pkg1_Proc2/p82,1250 - function Pkg1_Func1 Pkg1_Func1/f88,1328 - function Pkg1_Func2 Pkg1_Func2/f90,1379 - package body Pkg1_Pkg1 Pkg1_Pkg1/b96,1479 -package body Pkg1_Pkg1 Pkg1_Pkg1/b100,1544 - procedure Pkg1_Pkg1_Proc1 Pkg1_Pkg1_Proc1/p101,1570 -function Pkg1_Func1 Pkg1_Func1/f107,1657 -package Truc Truc/s112,1764 -package Truc.Bidule Truc.Bidule/s116,1816 - protected Bidule Bidule/t125,1964 - protected type Machin_T Machin_T/t131,2046 -package body Truc.Bidule Truc.Bidule/b138,2153 - protected body Bidule Bidule/b139,2181 - protected body Machin_T Machin_T/b146,2281 - -c-src/abbrev.c,3055 -Lisp_Object Vabbrev_table_name_list;43,1429 -Lisp_Object Vglobal_abbrev_table;48,1574 -Lisp_Object Vfundamental_mode_abbrev_table;52,1685 -int abbrevs_changed;56,1786 -int abbrev_all_caps;58,1808 -Lisp_Object Vabbrev_start_location;63,1957 -Lisp_Object Vabbrev_start_location_buffer;66,2046 -Lisp_Object Vlast_abbrev;70,2155 -Lisp_Object Vlast_abbrev_text;75,2324 -int last_abbrev_point;79,2414 -DEFUN ("make-abbrev-table", Fmake_abbrev_table,82,2440 -DEFUN ("make-abbrev-table", Fmake_abbrev_table,make-abbrev-table82,2440 -DEFUN ("clear-abbrev-table", Fclear_abbrev_table,89,2632 -DEFUN ("clear-abbrev-table", Fclear_abbrev_table,clear-abbrev-table89,2632 -DEFUN ("define-abbrev", Fdefine_abbrev,104,3013 -DEFUN ("define-abbrev", Fdefine_abbrev,define-abbrev104,3013 -DEFUN ("define-global-abbrev", Fdefine_global_abbrev,146,4332 -DEFUN ("define-global-abbrev", Fdefine_global_abbrev,define-global-abbrev146,4332 -DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,157,4703 -DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,define-mode-abbrev157,4703 -DEFUN ("abbrev-symbol", Fabbrev_symbol,171,5171 -DEFUN ("abbrev-symbol", Fabbrev_symbol,abbrev-symbol171,5171 -DEFUN ("abbrev-expansion", Fabbrev_expansion,199,6135 -DEFUN ("abbrev-expansion", Fabbrev_expansion,abbrev-expansion199,6135 -DEFUN ("expand-abbrev", Fexpand_abbrev,215,6650 -DEFUN ("expand-abbrev", Fexpand_abbrev,expand-abbrev215,6650 -DEFUN ("unexpand-abbrev", Funexpand_abbrev,383,11495 -DEFUN ("unexpand-abbrev", Funexpand_abbrev,unexpand-abbrev383,11495 -write_abbrev 420,12702 -describe_abbrev 439,13137 -DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,460,13652 -DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,insert-abbrev-table-description460,13652 -DEFUN ("define-abbrev-table", Fdefine_abbrev_table,500,14808 -DEFUN ("define-abbrev-table", Fdefine_abbrev_table,define-abbrev-table500,14808 -syms_of_abbrev 534,15885 - DEFVAR_LISP ("abbrev-table-name-list"536,15905 - DEFVAR_LISP ("global-abbrev-table"542,16167 - DEFVAR_LISP ("fundamental-mode-abbrev-table"549,16489 - DEFVAR_LISP ("last-abbrev"555,16831 - DEFVAR_LISP ("last-abbrev-text"558,16954 - DEFVAR_INT ("last-abbrev-location"562,17112 - DEFVAR_LISP ("abbrev-start-location"569,17311 - DEFVAR_LISP ("abbrev-start-location-buffer"575,17588 - DEFVAR_PER_BUFFER ("local-abbrev-table"580,17852 - DEFVAR_BOOL ("abbrevs-changed"583,17995 - DEFVAR_BOOL ("abbrev-all-caps"588,18198 - DEFVAR_LISP ("abbrev-table-name-list",\1536,15905 - DEFVAR_LISP ("global-abbrev-table",\1542,16167 - DEFVAR_LISP ("fundamental-mode-abbrev-table",\1549,16489 - DEFVAR_LISP ("last-abbrev",\1555,16831 - DEFVAR_LISP ("last-abbrev-text",\1558,16954 - DEFVAR_INT ("last-abbrev-location",\1562,17112 - DEFVAR_LISP ("abbrev-start-location",\1569,17311 - DEFVAR_LISP ("abbrev-start-location-buffer",\1575,17588 - DEFVAR_PER_BUFFER ("local-abbrev-table",\1580,17852 - DEFVAR_BOOL ("abbrevs-changed",\1583,17995 - DEFVAR_BOOL ("abbrev-all-caps",\1588,18198 - -c-src/torture.c,197 -(*tag1 tag118,452 -#define notag2 26,553 -(*tag2 tag229,630 -(*tag3 tag339,772 -#define notag4 45,861 -(*tag4 tag448,955 -tag5 57,1081 -tag6 66,1208 -int pp1(74,1317 -pp287,1419 -pp3(100,1518 - -c-src/getopt.h,147 -#define _GETOPT_H 19,799 -struct option73,2795 -#define no_argument 89,3122 -#define required_argument 90,3145 -#define optional_argument 91,3173 - -c-src/etags.c,10045 -char pot_etags_version[pot_etags_version81,3471 -# undef DEBUG84,3553 -# define DEBUG 85,3568 -# define DEBUG 87,3595 -# define NDEBUG 88,3618 -# define _GNU_SOURCE 94,3706 -# undef MSDOS100,3877 -# undef WINDOWSNT101,3891 -# define WINDOWSNT102,3910 -# undef MSDOS106,3969 -# define MSDOS 107,3983 -# define MSDOS 110,4033 -# define MAXPATHLEN 115,4112 -# undef HAVE_NTGUI116,4142 -# undef DOS_NT117,4161 -# define DOS_NT118,4177 -# undef assert 135,4483 -# define assert(136,4542 -# undef CTAGS146,4858 -# define CTAGS 147,4873 -# define CTAGS 149,4899 -#define streq(152,4928 -#define strcaseeq(153,4997 -#define strneq(154,5076 -#define strncaseeq(155,5152 -#define CHARS 157,5239 -#define CHAR(158,5279 -#define iswhite(159,5330 -#define notinname(160,5395 -#define begtoken(161,5470 -#define intoken(162,5543 -#define endtoken(163,5615 -#define ISALNUM(165,5685 -#define ISALPHA(166,5723 -#define ISDIGIT(167,5761 -#define ISLOWER(168,5799 -#define lowcase(170,5838 -#define xnew(179,6016 -#define xrnew(180,6084 -typedef void Lang_function 182,6165 -} compressor;188,6366 -} language;199,6836 -typedef struct fdesc201,6849 -} fdesc;212,7367 -typedef struct node_st214,7377 -} node;225,7895 -} linebuffer;239,8249 - at_language,245,8345 - at_regexp,246,8394 - at_filename,247,8438 - at_stdin,248,8474 - at_end 249,8517 -} argument;253,8699 -typedef struct regexp256,8759 -} regexp;268,9326 -static void error 311,10781 -# undef STDIN408,15074 -#define STDIN 411,15096 -static compressor compressors[compressors457,17665 -static const char *Ada_suffixes Ada_suffixes473,17908 -static const char Ada_help 475,17978 -static const char *Asm_suffixes Asm_suffixes493,18581 -static const char Asm_help 504,18977 -static const char *default_C_suffixes default_C_suffixes512,19313 -static const char default_C_help 515,19414 -static const char default_C_help 523,19851 -static const char *Cplusplus_suffixes Cplusplus_suffixes535,20461 -static const char Cplusplus_help 540,20659 -static const char *Cjava_suffixes Cjava_suffixes549,21114 -static char Cjava_help 551,21173 -static const char *Cobol_suffixes Cobol_suffixes556,21338 -static char Cobol_help 558,21403 -static const char *Cstar_suffixes Cstar_suffixes562,21544 -static const char *Erlang_suffixes Erlang_suffixes565,21608 -static const char Erlang_help 567,21674 -const char *Forth_suffixes Forth_suffixes571,21800 -static const char Forth_help 573,21858 -static const char *Fortran_suffixes Fortran_suffixes577,22009 -static const char Fortran_help 579,22086 -static const char *HTML_suffixes HTML_suffixes582,22191 -static const char HTML_help 584,22265 -static const char *Lisp_suffixes Lisp_suffixes589,22453 -static const char Lisp_help 591,22557 -static const char *Lua_suffixes Lua_suffixes598,22872 -static const char Lua_help 600,22935 -static const char *Makefile_filenames Makefile_filenames603,23011 -static const char Makefile_help 605,23134 -static const char *Objc_suffixes Objc_suffixes609,23278 -static const char Objc_help 613,23400 -static const char *Pascal_suffixes Pascal_suffixes619,23715 -static const char Pascal_help 621,23779 -static const char *Perl_suffixes Perl_suffixes626,23967 -static const char *Perl_interpreters Perl_interpreters628,24029 -static const char Perl_help 630,24101 -static const char *PHP_suffixes PHP_suffixes637,24452 -static const char PHP_help 639,24524 -static const char *plain_C_suffixes plain_C_suffixes643,24679 -static const char *PS_suffixes PS_suffixes647,24763 -static const char PS_help 649,24849 -static const char *Prolog_suffixes Prolog_suffixes652,24932 -static const char Prolog_help 654,24994 -static const char *Python_suffixes Python_suffixes658,25108 -static const char Python_help 660,25166 -static const char *Scheme_suffixes Scheme_suffixes665,25348 -static const char Scheme_help 667,25461 -static const char *TeX_suffixes TeX_suffixes672,25684 -static const char TeX_help 674,25782 -static const char *Texinfo_suffixes Texinfo_suffixes686,26317 -static const char Texinfo_help 688,26396 -static const char *Yacc_suffixes Yacc_suffixes691,26493 -static const char Yacc_help 693,26607 -static const char auto_help 699,26857 -static const char none_help 703,27021 -static const char no_lang_help 707,27144 -static language lang_names 718,27356 -print_language_names 753,29533 -# define EMACS_NAME 786,30756 -# define VERSION 789,30812 -print_version 792,30870 -# define PRINT_UNDOCUMENTED_OPTIONS_HELP 804,31174 -print_help 808,31251 -main 981,37439 -get_compressor_from_suffix 1319,46218 -get_language_from_langname 1355,47159 -get_language_from_interpreter 1377,47546 -get_language_from_filename 1399,47977 -process_file_name 1433,48835 -process_file 1555,51666 -init 1632,54151 -find_entries 1656,54902 -make_tag 1814,59708 -pfnote 1856,60943 -free_tree 1917,62745 -free_fdesc 1935,63030 -add_node 1955,63473 -invalidate_nodes 2035,65538 -static int number_len 2068,66194 -total_size_of_entries 2087,66695 -put_entries 2107,67155 -#define C_EXT 2193,68996 -#define C_PLAIN 2194,69038 -#define C_PLPL 2195,69071 -#define C_STAR 2196,69105 -#define C_JAVA 2197,69138 -#define C_AUTO 2198,69173 -#define YACC 2199,69243 -enum sym_type2204,69313 - st_none,2206,69329 - st_C_objprot,2207,69340 - st_C_objprot, st_C_objimpl,2207,69340 - st_C_objprot, st_C_objimpl, st_C_objend,2207,69340 - st_C_gnumacro,2208,69383 - st_C_ignore,2209,69400 - st_C_ignore, st_C_attribute,2209,69400 - st_C_javastruct,2210,69431 - st_C_operator,2211,69450 - st_C_class,2212,69467 - st_C_class, st_C_template,2212,69467 - st_C_struct,2213,69496 - st_C_struct, st_C_extern,2213,69496 - st_C_struct, st_C_extern, st_C_enum,2213,69496 - st_C_struct, st_C_extern, st_C_enum, st_C_define,2213,69496 - st_C_struct, st_C_extern, st_C_enum, st_C_define, st_C_typedef2213,69496 -struct C_stab_entry 2271,71279 -hash 2275,71410 -in_word_set 2321,72938 - TOTAL_KEYWORDS 2325,73019 - MIN_WORD_LENGTH 2326,73046 - MAX_WORD_LENGTH 2327,73073 - MIN_HASH_VALUE 2328,73101 - MAX_HASH_VALUE 2329,73127 -C_symtype 2387,74986 -static bool inattribute;2400,75235 - fvnone,2408,75436 - fdefunkey,2409,75467 - fdefunname,2410,75513 - foperator,2411,75557 - fvnameseen,2412,75614 - fstartlist,2413,75667 - finlist,2414,75723 - flistseen,2415,75766 - fignore,2416,75814 - vignore 2417,75857 -} fvdef;2418,75902 -static bool fvextern;2420,75912 - tnone,2428,76090 - tkeyseen,2429,76120 - ttypeseen,2430,76161 - tinbody,2431,76200 - tend,2432,76239 - tignore 2433,76280 -} typdef;2434,76321 - snone,2443,76500 - skeyseen,2445,76576 - stagseen,2446,76621 - scolonseen 2447,76662 -} structdef;2448,76716 -static const char *objtag objtag2453,76810 - dnone,2460,76943 - dsharpseen,2461,76973 - ddefineseen,2462,77026 - dignorerest 2463,77071 -} definedef;2464,77113 - onone,2472,77268 - oprotocol,2473,77298 - oimplementation,2474,77348 - otagseen,2475,77396 - oparenseen,2476,77432 - ocatseen,2477,77487 - oinbody,2478,77526 - omethodsign,2479,77569 - omethodtag,2480,77627 - omethodcolon,2481,77667 - omethodparm,2482,77710 - oignore 2483,77756 -} objdef;2484,77788 -static struct tok2491,77945 -} token;2508,78627 -} cstack;2523,79137 -#define nestlev 2525,79265 -#define instruct 2527,79370 -pushclass_above 2531,79490 -popclass_above 2550,79949 -write_classname 2564,80163 -consider_token 2613,81342 -} lbs[lbs2924,88533 -#define current_lb_is_new 2926,88544 -#define switch_line_buffers(2927,88589 -#define curlb 2929,88642 -#define newlb 2930,88673 -#define curlinepos 2931,88704 -#define newlinepos 2932,88745 -#define plainc 2934,88787 -#define cplpl 2935,88831 -#define cjava 2936,88862 -#define CNL_SAVE_DEFINEDEF(2938,88906 -#define CNL(2947,89118 -make_C_tag 2960,89376 -C_entries 2986,90195 -default_C_entries 3833,110157 -plain_C_entries 3840,110277 -Cplusplus_entries 3847,110365 -Cjava_entries 3854,110461 -Cstar_entries 3861,110551 -Yacc_entries 3868,110643 -#define LOOP_ON_INPUT_LINES(3875,110721 -#define LOOKING_AT(3884,111057 -#define LOOKING_AT_NOCASE(3891,111462 -just_read_file 3901,111862 -F_takeprec 3914,112040 -F_getit 3937,112367 -Fortran_functions 3961,112841 -Ada_getit 4052,114670 -Ada_funcs 4115,116045 -Asm_labels 4228,118583 -Perl_functions 4261,119550 -Python_functions 4357,122058 -PHP_functions 4387,122685 -Cobol_paragraphs 4466,124472 -Makefile_targets 4494,125030 -Pascal_functions 4529,125951 -L_getit 4709,130319 -Lisp_functions 4725,130665 -Lua_functions 4785,131851 -PS_functions 4811,132386 -Forth_words 4841,133054 -Scheme_functions 4877,134093 -static linebuffer *TEX_toktab TEX_toktab4908,134782 -static const char *TEX_defenv TEX_defenv4912,134975 -static char TEX_esc 4920,135262 -static char TEX_opgrp 4921,135290 -static char TEX_clgrp 4922,135319 -TeX_commands 4928,135396 -#define TEX_LESC 4986,136653 -#define TEX_SESC 4987,136675 -TEX_mode 4992,136805 -TEX_decode_env 5026,137510 -Texinfo_nodes 5071,138555 -HTML_labels 5094,139014 -Prolog_functions 5219,142348 -prolog_skip_comment 5255,143129 -prolog_pr 5281,143737 -prolog_atom 5319,144629 -Erlang_functions 5379,145667 -erlang_func 5438,146966 -erlang_attribute 5476,147643 -erlang_atom 5496,148062 -scan_separators 5534,149081 -analyze_regex 5586,150461 -add_regex 5654,152051 -substitute 5767,154798 -free_regexps 5814,155838 -regex_tag_multiline 5836,156292 -nocase_tail 5913,158264 -get_tag 5928,158520 -readline_internal 5959,159456 -readline 6037,161297 -savestr 6230,167244 -savenstr 6240,167474 -skip_spaces 6249,167680 -skip_non_spaces 6258,167834 -skip_name 6267,167984 -fatal 6277,168157 -pfatal 6284,168254 -suggest_asking_for_help 6291,168333 -error 6300,168555 -concat 6313,168847 -etags_getcwd 6329,169260 -relative_filename 6350,169726 -absolute_filename 6389,170752 -absolute_dirname 6453,172417 -filename_is_absolute 6472,172846 -canonicalize_filename 6484,173097 -# define ISUPPER(6491,173236 -linebuffer_init 6514,173657 -linebuffer_setlen 6524,173888 -xmalloc 6536,174149 -xrealloc 6545,174315 - -c-src/exit.c,47 - } __libc_atexit;30,1022 -DEFUN(exit,38,1263 - -c-src/exit.strange_suffix,47 - } __libc_atexit;30,1022 -DEFUN(exit,38,1263 - -c-src/sysdep.h,491 -#define ENTRY(21,875 -#define PSEUDO(26,982 - movl $SYS_##syscall_nam$SYS_##syscall_na31,1142 - movl $SYS_##syscall_name, %eax;eax31,1142 - int $0x80;32,1190 - test %eax,eax33,1220 - test %eax, %eax;eax33,1220 - jl syscall_error;34,1255 -#define XCHG_0 47,1572 -#define XCHG_1 48,1616 -#define XCHG_2 49,1658 -#define XCHG_3 50,1701 -#define XCHG_4 51,1744 -#define XCHG_5 52,1787 -#define r0 54,1831 -#define r1 55,1885 -#define scratch 56,1942 -#define MOVE(57,2011 - -c-src/tab.c,196 -static int count_words(15,263 -static char *get_word(get_word35,553 -void tab_free(59,966 -char **tab_fill(tab_fill70,1129 -int tab_delete_first(91,1638 -int tab_count_words(103,1820 - -c-src/dostorture.c,198 -(*tag1 tag118,468 -#define notag2 26,577 -(*tag2 tag229,657 -(*tag3 tag339,809 -#define notag4 45,904 -(*tag4 tag448,1001 -tag5 57,1136 -tag6 66,1272 -int pp1(74,1389 -pp287,1504 -pp3(100,1616 - -c-src/emacs/src/gmalloc.c,3539 -#define USE_PTHREAD25,1003 -#undef get_current_dir_name33,1127 -#undef malloc64,2111 -#undef realloc65,2125 -#undef calloc66,2140 -#undef free67,2154 -#define malloc 68,2166 -#define realloc 69,2189 -#define calloc 70,2214 -#define aligned_alloc 71,2237 -#define free 72,2274 -#define DUMPED 80,2473 -#define ALLOCATED_BEFORE_DUMPING(81,2508 -extern void *malloc malloc94,2719 -#define INT_BIT 124,3935 -#define BLOCKLOG 125,3978 -#define BLOCKSIZE 126,4019 -#define BLOCKIFY(127,4053 -#define HEAP 131,4216 -#define FINAL_FREE_BLOCKS 135,4392 - } malloc_info;167,5389 -#define BLOCK(176,5621 -#define ADDRESS(177,5683 -struct list186,5940 -struct alignlist196,6154 -#define LOCK(223,7065 -#define UNLOCK(228,7196 -#define LOCK_ALIGNED_BLOCKS(233,7330 -#define UNLOCK_ALIGNED_BLOCKS(238,7485 -#define LOCK(244,7650 -#define UNLOCK(245,7665 -#define LOCK_ALIGNED_BLOCKS(246,7682 -#define UNLOCK_ALIGNED_BLOCKS(247,7712 -enum mcheck_status283,9093 - MCHECK_DISABLED 285,9116 - MCHECK_OK,286,9188 - MCHECK_FREE,287,9227 - MCHECK_HEAD,288,9271 - MCHECK_TAIL 289,9335 -struct mstats308,10154 -char *_heapbase;_heapbase355,11831 -malloc_info *_heapinfo;_heapinfo358,11929 -static size_t heapsize;361,11985 -size_t _heapindex;364,12049 -size_t _heaplimit;367,12111 -struct list _fraghead[_fraghead370,12173 -size_t _chunks_used;373,12231 -size_t _bytes_used;374,12252 -size_t _chunks_free;375,12272 -size_t _bytes_free;376,12293 -int __malloc_initialized;379,12342 -size_t __malloc_extra_blocks;381,12369 -static int state_protected_p;400,12914 -static size_t last_state_size;401,12944 -static malloc_info *last_heapinfo;last_heapinfo402,12975 -protect_malloc_state 405,13016 -#define PROTECT_MALLOC_STATE(426,13629 -#define PROTECT_MALLOC_STATE(429,13699 -align 435,13796 -get_contiguous_space 466,14618 -register_heapinfo 497,15327 -pthread_mutex_t _malloc_mutex 517,15881 -pthread_mutex_t _aligned_blocks_mutex 518,15940 -int _malloc_thread_enabled_p;519,16007 -malloc_atfork_handler_prepare 522,16050 -malloc_atfork_handler_parent 529,16141 -malloc_atfork_handler_child 536,16235 -malloc_enable_thread 544,16377 -malloc_initialize_1 563,16963 -__malloc_initialize 594,17795 -static int morecore_recursing;604,17928 -morecore_nolock 609,18068 -_malloc_internal_nolock 722,21586 -_malloc_internal 920,28104 -malloc 932,28249 -_malloc 961,29142 -_free 967,29198 -_realloc 973,29242 -struct alignlist *_aligned_blocks _aligned_blocks1004,30348 -_free_internal_nolock 1009,30477 -_free_internal 1255,38479 -free 1265,38606 -weak_alias 1277,38802 -#define min(1306,39817 -_realloc_internal_nolock 1319,40313 -_realloc_internal 1435,43567 -realloc 1447,43730 -calloc 1478,44899 -#define __sbrk 1513,46048 -__default_morecore 1525,46517 -aligned_alloc 1557,47529 -memalign 1647,49711 -posix_memalign 1656,49916 -static size_t pagesize;1703,51325 -valloc 1706,51357 -#undef malloc1715,51498 -#undef realloc1716,51512 -#undef calloc1717,51527 -#undef aligned_alloc1718,51541 -#undef free1719,51562 -hybrid_malloc 1736,52091 -hybrid_calloc 1744,52196 -hybrid_free 1752,52327 -hybrid_aligned_alloc 1765,52634 -hybrid_realloc 1780,52990 -hybrid_get_current_dir_name 1811,53803 -#define MAGICWORD 1854,55213 -#define MAGICFREE 1855,55268 -#define MAGICBYTE 1856,55323 -#define MALLOCFLOOD 1857,55355 -#define FREEFLOOD 1858,55389 -struct hdr1860,55422 -checkhdr 1867,55588 -freehook 1891,56029 -mallochook 1927,56811 -reallochook 1944,57150 -mabort 1978,57908 -static int mcheck_used 2012,58593 -mcheck 2015,58626 -mprobe 2035,59145 - -c-src/emacs/src/regex.h,3761 -#define _REGEX_H 21,837 -typedef unsigned long reg_syntax_t;43,1578 -#define RE_BACKSLASH_ESCAPE_IN_LISTS 47,1750 -#define RE_BK_PLUS_QM 52,1970 -#define RE_CHAR_CLASSES 58,2299 -#define RE_CONTEXT_INDEP_ANCHORS 72,3033 -#define RE_CONTEXT_INDEP_OPS 80,3459 -#define RE_CONTEXT_INVALID_OPS 84,3659 -#define RE_DOT_NEWLINE 88,3802 -#define RE_DOT_NOT_NULL 92,3938 -#define RE_HAT_LISTS_NOT_NEWLINE 96,4083 -#define RE_INTERVALS 101,4293 -#define RE_LIMITED_OPS 105,4442 -#define RE_NEWLINE_ALT 109,4584 -#define RE_NO_BK_BRACES 114,4774 -#define RE_NO_BK_PARENS 118,4965 -#define RE_NO_BK_REFS 122,5121 -#define RE_NO_BK_VBAR 126,5317 -#define RE_NO_EMPTY_RANGES 132,5611 -#define RE_UNMATCHED_RIGHT_PAREN_ORD 136,5767 -#define RE_NO_POSIX_BACKTRACKING 140,5938 -#define RE_NO_GNU_OPS 144,6134 -#define RE_FRUGAL 147,6254 -#define RE_SHY_GROUPS 150,6361 -#define RE_NO_NEWLINE_ANCHOR 153,6469 -#define RE_DEBUG 161,6885 -#define RE_SYNTAX_EMACS 183,7685 -#define RE_SYNTAX_AWK 186,7781 -#define RE_SYNTAX_GNU_AWK 193,8085 -#define RE_SYNTAX_POSIX_AWK 197,8256 -#define RE_SYNTAX_GREP 201,8394 -#define RE_SYNTAX_EGREP 206,8550 -#define RE_SYNTAX_POSIX_EGREP 212,8766 -#define RE_SYNTAX_ED 216,8911 -#define RE_SYNTAX_SED 218,8955 -#define _RE_SYNTAX_POSIX_COMMON 221,9073 -#define RE_SYNTAX_POSIX_BASIC 225,9216 -#define RE_SYNTAX_POSIX_MINIMAL_BASIC 231,9509 -#define RE_SYNTAX_POSIX_EXTENDED 234,9599 -#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED 242,9968 -# undef RE_DUP_MAX253,10455 -#define RE_DUP_MAX 256,10541 -#define REG_EXTENDED 263,10763 -#define REG_ICASE 267,10887 -#define REG_NEWLINE 272,11071 -#define REG_NOSUB 276,11249 -#define REG_NOTBOL 286,11615 -#define REG_NOTEOL 289,11689 - REG_ENOSYS 297,11860 - REG_NOERROR 300,11942 - REG_NOMATCH,301,11977 - REG_BADPAT,305,12124 - REG_ECOLLATE,306,12163 - REG_ECTYPE,307,12204 - REG_EESCAPE,308,12256 - REG_ESUBREG,309,12299 - REG_EBRACK,310,12346 - REG_EPAREN,311,12392 - REG_EBRACE,312,12437 - REG_BADBR,313,12473 - REG_ERANGE,314,12520 - REG_ESPACE,315,12561 - REG_BADRPT,316,12602 - REG_EEND,319,12694 - REG_ESIZE,320,12729 - REG_ERPAREN,321,12791 - REG_ERANGEX 322,12860 -} reg_errcode_t;323,12912 -# define RE_TRANSLATE_TYPE 332,13274 -struct re_pattern_buffer335,13316 -#define REGS_UNALLOCATED 376,14890 -#define REGS_REALLOCATE 377,14917 -#define REGS_FIXED 378,14943 -typedef struct re_pattern_buffer regex_t;416,16099 -typedef ssize_t regoff_t;423,16493 -struct re_registers428,16653 -# define RE_NREGS 440,16943 -} regmatch_t;451,17318 -# define _Restrict_ 540,20887 -# define _Restrict_ 542,20980 -# define _Restrict_544,21019 -# define _Restrict_arr_ 555,21419 -# define _Restrict_arr_557,21462 -# define CHAR_CLASS_MAX_LENGTH 593,22471 -# define CHAR_CLASS_MAX_LENGTH 597,22649 -typedef wctype_t re_wctype_t;599,22693 -typedef wchar_t re_wchar_t;600,22723 -# define re_wctype 601,22751 -# define re_iswctype 602,22777 -# define re_wctype_to_bit(603,22807 -# define CHAR_CLASS_MAX_LENGTH 605,22845 -# define btowc(606,22907 -typedef enum { RECC_ERROR 609,22954 - RECC_ALNUM,610,22985 - RECC_ALNUM, RECC_ALPHA,610,22985 - RECC_ALNUM, RECC_ALPHA, RECC_WORD,610,22985 - RECC_GRAPH,611,23028 - RECC_GRAPH, RECC_PRINT,611,23028 - RECC_LOWER,612,23060 - RECC_LOWER, RECC_UPPER,612,23060 - RECC_PUNCT,613,23092 - RECC_PUNCT, RECC_CNTRL,613,23092 - RECC_DIGIT,614,23124 - RECC_DIGIT, RECC_XDIGIT,614,23124 - RECC_BLANK,615,23157 - RECC_BLANK, RECC_SPACE,615,23157 - RECC_MULTIBYTE,616,23189 - RECC_MULTIBYTE, RECC_NONASCII,616,23189 - RECC_ASCII,617,23228 - RECC_ASCII, RECC_UNIBYTE617,23228 -} re_wctype_t;618,23261 -typedef int re_wchar_t;623,23388 - -c-src/emacs/src/keyboard.c,22931 -volatile int interrupt_input_blocked;76,1809 -volatile bool pending_signals;80,1945 -#define KBD_BUFFER_SIZE 82,1977 -KBOARD *initial_kboard;initial_kboard84,2007 -KBOARD *current_kboard;current_kboard85,2031 -static KBOARD *all_kboards;all_kboards86,2055 -static bool single_kboard;89,2155 -#define NUM_RECENT_KEYS 91,2183 -static int recent_keys_index;94,2270 -static int total_keys;97,2358 -static Lisp_Object recent_keys;100,2444 -Lisp_Object this_command_keys;107,2778 -ptrdiff_t this_command_key_count;108,2809 -static bool this_command_key_count_reset;112,2923 -static Lisp_Object raw_keybuf;116,3075 -static int raw_keybuf_count;117,3106 -#define GROW_RAW_KEYBUF 119,3136 -static ptrdiff_t this_single_command_key_start;125,3351 -static ptrdiff_t before_command_key_count;129,3499 -static ptrdiff_t before_command_echo_length;130,3542 -sigjmp_buf return_to_command_loop;135,3678 -static Lisp_Object recover_top_level_message;138,3792 -static Lisp_Object regular_top_level_message;143,3931 -static sys_jmp_buf getcjmp;147,4032 -bool waiting_for_input;150,4096 -static bool echoing;154,4187 -static struct kboard *ok_to_echo_at_next_pause;ok_to_echo_at_next_pause159,4329 -struct kboard *echo_kboard;echo_kboard166,4633 -Lisp_Object echo_message_buffer;171,4745 -bool immediate_quit;174,4838 -int quit_char;192,5624 -EMACS_INT command_loop_level;195,5681 -Lisp_Object unread_switch_frame;204,6109 -static ptrdiff_t last_non_minibuf_size;207,6217 -uintmax_t num_input_events;210,6335 -static EMACS_INT last_auto_save;214,6429 -static ptrdiff_t last_point_position;217,6524 -Lisp_Object internal_last_event_frame;228,7029 -static Lisp_Object read_key_sequence_cmd;232,7169 -static Lisp_Object read_key_sequence_remapped;233,7211 -static FILE *dribble;dribble236,7311 -bool input_pending;239,7369 -static bool input_was_pending;287,10023 -static struct input_event kbd_buffer[kbd_buffer291,10108 -static struct input_event *kbd_fetch_ptr;kbd_fetch_ptr297,10387 -static struct input_event * volatile kbd_store_ptr;302,10602 -unsigned timers_run;320,11297 -struct timespec *input_available_clear_time;input_available_clear_time324,11409 -bool interrupt_input;328,11574 -bool interrupts_deferred;331,11672 -static struct timespec timer_idleness_start_time;335,11747 -static struct timespec timer_last_idleness_start_time;340,11917 -#define READABLE_EVENTS_DO_TIMERS_NOW 346,12047 -#define READABLE_EVENTS_FILTER_EVENTS 347,12095 -#define READABLE_EVENTS_IGNORE_SQUEEZABLES 348,12143 -kset_echo_string 392,14089 -kset_kbd_queue 397,14185 -kset_keyboard_translate_table 402,14277 -kset_last_prefix_arg 407,14400 -kset_last_repeatable_command 412,14505 -kset_local_function_key_map 417,14626 -kset_overriding_terminal_local_map 422,14745 -kset_real_last_command 427,14878 -kset_system_key_syms 432,14987 -echo_add_key 443,15250 -echo_char 527,17528 -echo_dash 541,17814 -echo_now 586,19141 -cancel_echoing 635,20615 -echo_length 648,20923 -echo_truncate 660,21254 -add_command_key 672,21583 -recursive_edit_1 697,22407 -record_auto_save 742,23849 -force_auto_save_soon 751,24017 -DEFUN ("recursive-edit", Frecursive_edit,759,24138 -DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138 -recursive_edit_unwind 804,25751 -any_kboard_state 817,26017 -single_kboard_state 838,26669 -not_single_kboard_state 848,26807 -struct kboard_stack858,27069 -static struct kboard_stack *kboard_stack;kboard_stack864,27142 -push_kboard 867,27190 -pop_kboard 879,27379 -temporarily_switch_to_single_kboard 914,28267 -record_single_kboard_state 943,29441 -restore_kboard_configuration 952,29625 -cmd_error 970,30081 -cmd_error_internal 1024,31514 -DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32034 -DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32034 -command_loop 1094,33920 -command_loop_2 1134,35139 -top_level_2 1146,35343 -top_level_1 1152,35421 -DEFUN ("top-level", Ftop_level,1164,35791 -DEFUN ("top-level", Ftop_level,top-level1164,35791 -user_error 1183,36292 -DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36433 -DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36433 -DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36823 -DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36823 -tracking_off 1216,37285 -DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37820 -DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37820 -bool ignore_mouse_drag_p;1256,38396 -some_mouse_moved 1259,38445 -Lisp_Object last_undo_boundary;1287,39036 -command_loop_1 1294,39277 -read_menu_command 1649,50893 -adjust_point_for_property 1678,51621 -safe_run_hooks_1 1831,57343 -safe_run_hooks_error 1841,57573 -safe_run_hook_funcall 1878,58580 -safe_run_hooks 1893,59062 -int poll_suppress_count;1908,59401 -static struct atimer *poll_timer;poll_timer1915,59491 -poll_for_input_1 1919,59593 -poll_for_input 1930,59793 -start_polling 1942,60057 -input_polling_used 1979,61095 -stop_polling 1994,61394 -set_poll_suppress_count 2009,61763 -bind_polling_period 2029,62145 -make_ctrl_char 2048,62496 -show_help_echo 2113,64459 -static Lisp_Object help_form_saved_window_configs;2156,65642 -read_char_help_form_unwind 2158,65705 -#define STOP_POLLING 2166,65963 -#define RESUME_POLLING 2170,66088 -read_event_from_main_queue 2175,66233 -read_decoded_event_from_main_queue 2249,68421 -#define MAX_ENCODED_BYTES 2254,68668 -echo_keystrokes_p 2342,71560 -read_char 2376,72852 -record_menu_key 3225,98953 -help_char_p 3258,99678 -record_char 3273,99957 -save_getcjmp 3412,104239 -restore_getcjmp 3418,104330 -readable_events 3430,104701 -int stop_character EXTERNALLY_VISIBLE;3497,106441 -event_to_kboard 3500,106497 -kbd_buffer_nr_stored 3522,107146 -kbd_buffer_store_event 3534,107487 -kbd_buffer_store_event_hold 3550,108029 -kbd_buffer_unget_event 3684,111621 -#define INPUT_EVENT_POS_MAX 3698,112022 -#define INPUT_EVENT_POS_MIN 3701,112151 -position_to_Time 3706,112291 -Time_to_position 3716,112518 -gen_help_event 3738,113175 -kbd_buffer_store_help_event 3756,113615 -discard_mouse_events 3773,113980 -kbd_buffer_events_waiting 3803,114715 -clear_event 3823,115072 -kbd_buffer_get_event 3836,115412 -process_special_events 4258,127885 -swallow_events 4322,129709 -timer_start_idle 4339,130102 -timer_stop_idle 4355,130580 -timer_resume_idle 4363,130724 -struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130916 -Lisp_Object pending_funcalls;4377,131176 -decode_timer 4381,131297 -timer_check_2 4414,132250 -timer_check 4572,136821 -DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137666 -DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137666 -static Lisp_Object accent_key_syms;4625,138243 -static Lisp_Object func_key_syms;4626,138279 -static Lisp_Object mouse_syms;4627,138313 -static Lisp_Object wheel_syms;4628,138344 -static Lisp_Object drag_n_drop_syms;4629,138375 -static const int lispy_accent_codes[lispy_accent_codes4634,138520 -static const char *const lispy_accent_keys[lispy_accent_keys4741,139882 -#define FUNCTION_KEY_OFFSET 4766,140318 -const char *const lispy_function_keys[lispy_function_keys4768,140351 -static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148905 -static const char *const lispy_kana_keys[lispy_kana_keys5026,150139 -#define FUNCTION_KEY_OFFSET 5061,151755 -static const char *const lispy_function_keys[lispy_function_keys5065,151898 -#define ISO_FUNCTION_KEY_OFFSET 5149,154433 -static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154473 -static Lisp_Object Vlispy_mouse_stem;5172,155332 -static const char *const lispy_wheel_names[lispy_wheel_names5174,155371 -static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155623 -static short const scroll_bar_parts[scroll_bar_parts5189,155889 -static Lisp_Object button_down_location;5210,156914 -static int last_mouse_button;5215,157069 -static int last_mouse_x;5216,157099 -static int last_mouse_y;5217,157124 -static Time button_down_time;5218,157149 -static int double_click_count;5222,157233 -make_lispy_position 5228,157394 -toolkit_menubar_in_use 5456,163957 -make_scroll_bar_position 5469,164325 -make_lispy_event 5485,164971 -make_lispy_movement 6104,183534 -make_lispy_switch_frame 6131,184265 -make_lispy_focus_in 6137,184372 -make_lispy_focus_out 6145,184498 -parse_modifiers_uncached 6163,184948 -#define SINGLE_LETTER_MOD(6185,185468 -#undef SINGLE_LETTER_MOD6212,185909 -#define MULTI_LETTER_MOD(6214,185935 -#undef MULTI_LETTER_MOD6231,186403 -apply_modifiers_uncached 6273,187577 -static const char *const modifier_names[modifier_names6319,189196 -#define NUM_MOD_NAMES 6325,189402 -static Lisp_Object modifier_symbols;6327,189452 -lispy_modifier_list 6331,189589 -#define KEY_TO_CHAR(6353,190255 -parse_modifiers 6356,190331 -DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191520 -DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191520 -apply_modifiers 6422,192394 -reorder_modifiers 6491,194723 -modify_event_symbol 6536,196531 -DEFUN ("event-convert-list", Fevent_convert_list,6628,199247 -DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199247 -parse_solitary_modifier 6695,201138 -#define SINGLE_LETTER_MOD(6701,201261 -#define MULTI_LETTER_MOD(6705,201346 -#undef SINGLE_LETTER_MOD6763,202644 -#undef MULTI_LETTER_MOD6764,202669 -lucid_event_type_list_p 6775,202892 -get_input_pending 6814,203963 -record_asynch_buffer_change 6834,204582 -gobble_input 6872,205705 -tty_read_avail_input 6967,208313 -handle_async_input 7149,214042 -process_pending_signals 7165,214362 -unblock_input_to 7177,214648 -unblock_input 7200,215280 -totally_unblock_input 7209,215448 -handle_input_available_signal 7217,215532 -deliver_input_available_signal 7226,215703 -struct user_signal_info7235,215868 -static struct user_signal_info *user_signals user_signals7250,216093 -add_user_signal 7253,216152 -handle_user_signal 7275,216601 -deliver_user_signal 7316,217561 -find_user_signal_name 7322,217662 -store_user_signal_events 7334,217844 -static Lisp_Object menu_bar_one_keymap_changed_items;7363,218419 -static Lisp_Object menu_bar_items_vector;7368,218633 -static int menu_bar_items_index;7369,218675 -static const char *separator_names[separator_names7372,218710 -menu_separator_name_p 7393,219151 -menu_bar_items 7426,219855 -Lisp_Object item_properties;7568,224606 -menu_bar_item 7571,224648 -menu_item_eval_property_1 7647,227178 -eval_dyn 7658,227468 -menu_item_eval_property 7666,227678 -parse_menu_item 7686,228344 -static Lisp_Object tool_bar_items_vector;7965,236339 -static Lisp_Object tool_bar_item_properties;7970,236513 -static int ntool_bar_items;7974,236609 -tool_bar_items 7990,237086 -process_tool_bar_item 8075,239895 -#define PROP(8112,240972 -set_prop 8114,241041 -parse_tool_bar_item 8167,242456 -#undef PROP8379,248847 -init_tool_bar_items 8387,248972 -append_tool_bar_item 8401,249264 -read_char_x_menu_prompt 8443,250774 -read_char_minibuf_menu_prompt 8503,252448 -#define PUSH_C_STR(8527,253017 -follow_key 8726,258556 -active_maps 8733,258698 -typedef struct keyremap8742,259024 -} keyremap;8754,259467 -access_keymap_keyremap 8764,259811 -keyremap_step 8811,261453 -test_undefined 8867,262937 -read_key_sequence 8916,264864 -read_key_sequence_vs 9826,295824 -DEFUN ("read-key-sequence", Fread_key_sequence,9885,297297 -DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297297 -DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299985 -DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299985 -detect_input_pending 9950,300491 -detect_input_pending_ignore_squeezables 9959,300657 -detect_input_pending_run_timers 9967,300873 -clear_input_pending 9985,301365 -requeued_events_pending_p 9997,301735 -DEFUN ("input-pending-p", Finput_pending_p,10002,301816 -DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301816 -DEFUN ("recent-keys", Frecent_keys,10024,302599 -DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302599 -DEFUN ("this-command-keys", Fthis_command_keys,10055,303520 -DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303520 -DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303961 -DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303961 -DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304383 -DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304383 -DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304958 -DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304958 -DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305498 -DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305498 -DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306513 -DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306513 -DEFUN ("recursion-depth", Frecursion_depth,10158,307072 -DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307072 -DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307409 -DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307409 -DEFUN ("discard-input", Fdiscard_input,10203,308450 -DEFUN ("discard-input", Fdiscard_input,discard-input10203,308450 -DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308952 -DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308952 -stuff_buffered_input 10285,311048 -set_waiting_for_input 10323,312019 -clear_waiting_for_input 10337,312393 -handle_interrupt_signal 10351,312757 -deliver_interrupt_signal 10378,313645 -static int volatile force_quit_count;10387,313935 -handle_interrupt 10401,314417 -quit_throw_to_read_char 10541,318714 -DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319291 -DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319291 -DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320519 -DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320519 -DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321435 -DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321435 -DEFUN ("set-quit-char", Fset_quit_char,10694,322709 -DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322709 -DEFUN ("set-input-mode", Fset_input_mode,10729,323573 -DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323573 -DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324462 -DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324462 -DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325840 -DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325840 -DEFUN ("posn-at-point", Fposn_at_point,10824,327063 -DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327063 -init_kboard 10861,328217 -allocate_kboard 10893,329287 -wipe_kboard 10909,329640 -delete_kboard 10917,329754 -init_keyboard 10942,330284 -struct event_head11021,332699 -static const struct event_head head_table[head_table11027,332750 -syms_of_keyboard 11045,333580 - DEFVAR_LISP ("internal--top-level-message"11058,333975 - DEFVAR_LISP ("last-command-event"11312,342176 - DEFVAR_LISP ("last-nonmenu-event"11315,342300 - DEFVAR_LISP ("last-input-event"11321,342639 - DEFVAR_LISP ("unread-command-events"11324,342733 - DEFVAR_LISP ("unread-post-input-method-events"11332,343193 - DEFVAR_LISP ("unread-input-method-events"11338,343532 - DEFVAR_LISP ("meta-prefix-char"11346,343901 - DEFVAR_KBOARD ("last-command"11351,344109 - DEFVAR_KBOARD ("real-last-command"11368,344790 - DEFVAR_KBOARD ("last-repeatable-command"11372,344976 - DEFVAR_LISP ("this-command"11378,345264 - DEFVAR_LISP ("real-this-command"11384,345501 - DEFVAR_LISP ("this-command-keys-shift-translated"11388,345683 - DEFVAR_LISP ("this-original-command"11396,346126 - DEFVAR_INT ("auto-save-interval"11403,346523 - DEFVAR_LISP ("auto-save-timeout"11408,346737 - DEFVAR_LISP ("echo-keystrokes"11415,347082 - DEFVAR_INT ("polling-period"11421,347353 - DEFVAR_LISP ("double-click-time"11428,347696 - DEFVAR_INT ("double-click-fuzz"11435,348032 - DEFVAR_INT ("num-input-keys"11446,348522 - DEFVAR_INT ("num-nonmacro-input-events"11452,348797 - DEFVAR_LISP ("last-event-frame"11457,349035 - DEFVAR_LISP ("tty-erase-char"11463,349314 - DEFVAR_LISP ("help-char"11466,349437 - DEFVAR_LISP ("help-event-list"11472,349720 - DEFVAR_LISP ("help-form"11477,349931 - DEFVAR_LISP ("prefix-help-command"11483,350179 - DEFVAR_LISP ("top-level"11489,350457 - DEFVAR_KBOARD ("keyboard-translate-table"11495,350678 - DEFVAR_BOOL ("cannot-suspend"11511,351491 - DEFVAR_BOOL ("menu-prompting"11516,351718 - DEFVAR_LISP ("menu-prompt-more-char"11526,352148 - DEFVAR_INT ("extra-keyboard-modifiers"11531,352394 - DEFVAR_LISP ("deactivate-mark"11545,353120 - DEFVAR_LISP ("pre-command-hook"11553,353489 - DEFVAR_LISP ("post-command-hook"11560,353844 - DEFVAR_LISP ("echo-area-clear-hook"11568,354207 - DEFVAR_LISP ("lucid-menu-bar-dirty-flag"11574,354422 - DEFVAR_LISP ("menu-bar-final-items"11578,354625 - DEFVAR_LISP ("tool-bar-separator-image-expression"11583,354875 - DEFVAR_KBOARD ("overriding-terminal-local-map"11589,355233 - DEFVAR_LISP ("overriding-local-map"11598,355655 - DEFVAR_LISP ("overriding-local-map-menu-flag"11607,356106 - DEFVAR_LISP ("special-event-map"11613,356445 - DEFVAR_LISP ("track-mouse"11617,356633 - DEFVAR_KBOARD ("system-key-alist"11620,356760 - DEFVAR_KBOARD ("local-function-key-map"11629,357141 - DEFVAR_KBOARD ("input-decode-map"11658,358600 - DEFVAR_LISP ("function-key-map"11675,359388 - DEFVAR_LISP ("key-translation-map"11683,359804 - DEFVAR_LISP ("deferred-action-list"11689,360148 - DEFVAR_LISP ("deferred-action-function"11694,360396 - DEFVAR_LISP ("delayed-warnings-list"11700,360695 - DEFVAR_LISP ("timer-list"11708,361103 - DEFVAR_LISP ("timer-idle-list"11712,361255 - DEFVAR_LISP ("input-method-function"11716,361418 - DEFVAR_LISP ("input-method-previous-message"11737,362387 - DEFVAR_LISP ("show-help-function"11744,362748 - DEFVAR_LISP ("disable-point-adjustment"11749,362980 - DEFVAR_LISP ("global-disable-point-adjustment"11761,363530 - DEFVAR_LISP ("minibuffer-message-timeout"11770,363896 - DEFVAR_LISP ("throw-on-input"11775,364174 - DEFVAR_LISP ("command-error-function"11781,364425 - DEFVAR_LISP ("enable-disabled-menus-and-buttons"11790,364912 - DEFVAR_LISP ("select-active-regions"11798,365239 - DEFVAR_LISP ("saved-region-selection"11807,365631 - DEFVAR_LISP ("selection-inhibit-update-commands"11815,366016 - DEFVAR_LISP ("debug-on-event"11825,366557 -keys_of_keyboard 11841,367118 -mark_kboards 11916,370437 - DEFVAR_LISP ("internal--top-level-message",\111058,333975 - DEFVAR_LISP ("last-command-event",\111312,342176 - DEFVAR_LISP ("last-nonmenu-event",\111315,342300 - DEFVAR_LISP ("last-input-event",\111321,342639 - DEFVAR_LISP ("unread-command-events",\111324,342733 - DEFVAR_LISP ("unread-post-input-method-events",\111332,343193 - DEFVAR_LISP ("unread-input-method-events",\111338,343532 - DEFVAR_LISP ("meta-prefix-char",\111346,343901 - DEFVAR_KBOARD ("last-command",\111351,344109 - DEFVAR_KBOARD ("real-last-command",\111368,344790 - DEFVAR_KBOARD ("last-repeatable-command",\111372,344976 - DEFVAR_LISP ("this-command",\111378,345264 - DEFVAR_LISP ("real-this-command",\111384,345501 - DEFVAR_LISP ("this-command-keys-shift-translated",\111388,345683 - DEFVAR_LISP ("this-original-command",\111396,346126 - DEFVAR_INT ("auto-save-interval",\111403,346523 - DEFVAR_LISP ("auto-save-timeout",\111408,346737 - DEFVAR_LISP ("echo-keystrokes",\111415,347082 - DEFVAR_INT ("polling-period",\111421,347353 - DEFVAR_LISP ("double-click-time",\111428,347696 - DEFVAR_INT ("double-click-fuzz",\111435,348032 - DEFVAR_INT ("num-input-keys",\111446,348522 - DEFVAR_INT ("num-nonmacro-input-events",\111452,348797 - DEFVAR_LISP ("last-event-frame",\111457,349035 - DEFVAR_LISP ("tty-erase-char",\111463,349314 - DEFVAR_LISP ("help-char",\111466,349437 - DEFVAR_LISP ("help-event-list",\111472,349720 - DEFVAR_LISP ("help-form",\111477,349931 - DEFVAR_LISP ("prefix-help-command",\111483,350179 - DEFVAR_LISP ("top-level",\111489,350457 - DEFVAR_KBOARD ("keyboard-translate-table",\111495,350678 - DEFVAR_BOOL ("cannot-suspend",\111511,351491 - DEFVAR_BOOL ("menu-prompting",\111516,351718 - DEFVAR_LISP ("menu-prompt-more-char",\111526,352148 - DEFVAR_INT ("extra-keyboard-modifiers",\111531,352394 - DEFVAR_LISP ("deactivate-mark",\111545,353120 - DEFVAR_LISP ("pre-command-hook",\111553,353489 - DEFVAR_LISP ("post-command-hook",\111560,353844 - DEFVAR_LISP ("echo-area-clear-hook",\111568,354207 - DEFVAR_LISP ("lucid-menu-bar-dirty-flag",\111574,354422 - DEFVAR_LISP ("menu-bar-final-items",\111578,354625 - DEFVAR_LISP ("tool-bar-separator-image-expression",\111583,354875 - DEFVAR_KBOARD ("overriding-terminal-local-map",\111589,355233 - DEFVAR_LISP ("overriding-local-map",\111598,355655 - DEFVAR_LISP ("overriding-local-map-menu-flag",\111607,356106 - DEFVAR_LISP ("special-event-map",\111613,356445 - DEFVAR_LISP ("track-mouse",\111617,356633 - DEFVAR_KBOARD ("system-key-alist",\111620,356760 - DEFVAR_KBOARD ("local-function-key-map",\111629,357141 - DEFVAR_KBOARD ("input-decode-map",\111658,358600 - DEFVAR_LISP ("function-key-map",\111675,359388 - DEFVAR_LISP ("key-translation-map",\111683,359804 - DEFVAR_LISP ("deferred-action-list",\111689,360148 - DEFVAR_LISP ("deferred-action-function",\111694,360396 - DEFVAR_LISP ("delayed-warnings-list",\111700,360695 - DEFVAR_LISP ("timer-list",\111708,361103 - DEFVAR_LISP ("timer-idle-list",\111712,361255 - DEFVAR_LISP ("input-method-function",\111716,361418 - DEFVAR_LISP ("input-method-previous-message",\111737,362387 - DEFVAR_LISP ("show-help-function",\111744,362748 - DEFVAR_LISP ("disable-point-adjustment",\111749,362980 - DEFVAR_LISP ("global-disable-point-adjustment",\111761,363530 - DEFVAR_LISP ("minibuffer-message-timeout",\111770,363896 - DEFVAR_LISP ("throw-on-input",\111775,364174 - DEFVAR_LISP ("command-error-function",\111781,364425 - DEFVAR_LISP ("enable-disabled-menus-and-buttons",\111790,364912 - DEFVAR_LISP ("select-active-regions",\111798,365239 - DEFVAR_LISP ("saved-region-selection",\111807,365631 - DEFVAR_LISP ("selection-inhibit-update-commands",\111815,366016 - DEFVAR_LISP ("debug-on-event",\111825,366557 - -c-src/emacs/src/lisp.h,20276 -#define EMACS_LISP_H22,801 -#define DECLARE_GDB_SYM(47,1422 -# define DEFINE_GDB_SYMBOL_BEGIN(49,1509 -# define DEFINE_GDB_SYMBOL_END(50,1579 -# define DEFINE_GDB_SYMBOL_BEGIN(52,1626 -# define DEFINE_GDB_SYMBOL_END(53,1703 -#undef min57,1791 -#undef max58,1802 -#define max(59,1813 -#define min(60,1855 -#define ARRAYELTS(63,1937 -#define GCTYPEBITS 67,2080 -DEFINE_GDB_SYMBOL_BEGIN GCTYPEBITS66,2038 -# define NONPOINTER_BITS 78,2568 -# define NONPOINTER_BITS 80,2601 -typedef int EMACS_INT;91,3024 -typedef unsigned int EMACS_UINT;92,3047 -# define EMACS_INT_MAX 93,3080 -# define pI 94,3112 -typedef long int EMACS_INT;96,3204 -typedef unsigned long EMACS_UINT;97,3232 -# define EMACS_INT_MAX 98,3266 -# define pI 99,3299 -typedef long long int EMACS_INT;103,3478 -typedef unsigned long long int EMACS_UINT;104,3511 -# define EMACS_INT_MAX 105,3554 -# define pI 106,3588 -enum { BOOL_VECTOR_BITS_PER_CHAR 114,3805 -#define BOOL_VECTOR_BITS_PER_CHAR 115,3841 -typedef size_t bits_word;123,4166 -# define BITS_WORD_MAX 124,4192 -enum { BITS_PER_BITS_WORD 125,4224 -typedef unsigned char bits_word;127,4291 -# define BITS_WORD_MAX 128,4324 -enum { BITS_PER_BITS_WORD 129,4387 - BITS_PER_CHAR 136,4571 - BITS_PER_SHORT 137,4606 - BITS_PER_LONG 138,4658 - BITS_PER_EMACS_INT 139,4713 -typedef intmax_t printmax_t;148,5090 -typedef uintmax_t uprintmax_t;149,5119 -# define pMd 150,5150 -# define pMu 151,5171 -typedef EMACS_INT printmax_t;153,5198 -typedef EMACS_UINT uprintmax_t;154,5228 -# define pMd 155,5260 -# define pMu 156,5279 -# define pD 165,5665 -# define pD 167,5710 -# define pD 169,5757 -# define pD 171,5780 -# define eassert(200,7063 -# define eassume(201,7141 -# define eassert(208,7320 -# define eassume(212,7451 -enum Lisp_Bits239,8520 -#define GCALIGNMENT 243,8648 - VALBITS 246,8743 - INTTYPEBITS 249,8839 - FIXNUM_BITS 252,8946 -#define VAL_MAX 263,9328 -#define USE_LSB_TAG 271,9778 -DEFINE_GDB_SYMBOL_BEGIN USE_LSB_TAG270,9734 -# define alignas(281,10078 -# define GCALIGNED 288,10228 -# define GCALIGNED 290,10293 -# define lisp_h_XLI(327,11643 -# define lisp_h_XIL(328,11674 -# define lisp_h_XLI(330,11725 -# define lisp_h_XIL(331,11752 -#define lisp_h_CHECK_LIST_CONS(333,11786 -#define lisp_h_CHECK_NUMBER(334,11857 -#define lisp_h_CHECK_SYMBOL(335,11928 -#define lisp_h_CHECK_TYPE(336,11997 -#define lisp_h_CONSP(338,12108 -#define lisp_h_EQ(339,12157 -#define lisp_h_FLOATP(340,12202 -#define lisp_h_INTEGERP(341,12253 -#define lisp_h_MARKERP(342,12334 -#define lisp_h_MISCP(343,12409 -#define lisp_h_NILP(344,12458 -#define lisp_h_SET_SYMBOL_VAL(345,12494 -#define lisp_h_SYMBOL_CONSTANT_P(347,12608 -#define lisp_h_SYMBOL_VAL(348,12672 -#define lisp_h_SYMBOLP(350,12773 -#define lisp_h_VECTORLIKEP(351,12826 -#define lisp_h_XCAR(352,12887 -#define lisp_h_XCDR(353,12925 -#define lisp_h_XCONS(354,12965 -#define lisp_h_XHASH(356,13060 -#define lisp_h_XPNTR(357,13094 -# define lisp_h_check_cons_list(360,13222 -# define lisp_h_make_number(363,13290 -# define lisp_h_XFASTINT(365,13393 -# define lisp_h_XINT(366,13430 -# define lisp_h_XSYMBOL(367,13479 -# define lisp_h_XTYPE(371,13632 -# define lisp_h_XUNTAG(372,13697 -# define XLI(381,14087 -# define XIL(382,14118 -# define CHECK_LIST_CONS(383,14149 -# define CHECK_NUMBER(384,14210 -# define CHECK_SYMBOL(385,14259 -# define CHECK_TYPE(386,14308 -# define CONSP(387,14383 -# define EQ(388,14418 -# define FLOATP(389,14453 -# define INTEGERP(390,14490 -# define MARKERP(391,14531 -# define MISCP(392,14570 -# define NILP(393,14605 -# define SET_SYMBOL_VAL(394,14638 -# define SYMBOL_CONSTANT_P(395,14701 -# define SYMBOL_VAL(396,14764 -# define SYMBOLP(397,14813 -# define VECTORLIKEP(398,14852 -# define XCAR(399,14899 -# define XCDR(400,14932 -# define XCONS(401,14965 -# define XHASH(402,15000 -# define XPNTR(403,15035 -# define check_cons_list(405,15098 -# define make_number(408,15177 -# define XFASTINT(409,15225 -# define XINT(410,15267 -# define XSYMBOL(411,15301 -# define XTYPE(412,15341 -# define XUNTAG(413,15377 -#define LISP_MACRO_DEFUN(421,15673 -#define LISP_MACRO_DEFUN_VOID(425,15846 -#define INTMASK 437,16290 -#define case_Lisp_Int 438,16343 -#define ENUM_BF(445,16682 -#define ENUM_BF(447,16723 -enum Lisp_Type451,16764 - Lisp_Symbol 454,16852 - Lisp_Misc 458,16994 - Lisp_Int0 461,17068 - Lisp_Int1 462,17087 - Lisp_String 466,17265 - Lisp_Vectorlike 472,17544 - Lisp_Cons 475,17633 - Lisp_Float 477,17671 -enum Lisp_Misc_Type485,18017 - Lisp_Misc_Free 487,18041 - Lisp_Misc_Marker,488,18070 - Lisp_Misc_Overlay,489,18092 - Lisp_Misc_Save_Value,490,18115 - Lisp_Misc_Finalizer,491,18141 - Lisp_Misc_Float,494,18276 - Lisp_Misc_Limit496,18360 -enum Lisp_Fwd_Type502,18544 - Lisp_Fwd_Int,504,18567 - Lisp_Fwd_Bool,505,18620 - Lisp_Fwd_Obj,506,18671 - Lisp_Fwd_Buffer_Obj,507,18730 - Lisp_Fwd_Kboard_Obj 508,18801 -typedef struct { EMACS_INT i; } Lisp_Object;567,21772 -#define LISP_INITIALLY(569,21818 -#undef CHECK_LISP_OBJECT_TYPE571,21849 -enum CHECK_LISP_OBJECT_TYPE 572,21879 -enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE 572,21879 -typedef EMACS_INT Lisp_Object;577,22055 -#define LISP_INITIALLY(578,22086 -enum CHECK_LISP_OBJECT_TYPE 579,22116 -enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE 579,22116 -#define LISP_INITIALLY_ZERO 582,22217 -enum symbol_interned639,24190 - SYMBOL_UNINTERNED 641,24213 - SYMBOL_INTERNED 642,24238 - SYMBOL_INTERNED_IN_INITIAL_OBARRAY 643,24261 -enum symbol_redirect646,24306 - SYMBOL_PLAINVAL 648,24329 - SYMBOL_VARALIAS 649,24353 - SYMBOL_LOCALIZED 650,24377 - SYMBOL_FORWARDED 651,24401 -struct Lisp_Symbol654,24428 -#define EXFUN(707,26243 -#define DEFUN_ARGS_MANY 712,26437 -#define DEFUN_ARGS_UNEVALLED 713,26489 -#define DEFUN_ARGS_0 714,26532 -#define DEFUN_ARGS_1 715,26560 -#define DEFUN_ARGS_2 716,26595 -#define DEFUN_ARGS_3 717,26643 -#define DEFUN_ARGS_4 718,26704 -#define DEFUN_ARGS_5 719,26778 -#define DEFUN_ARGS_6 721,26871 -#define DEFUN_ARGS_7 723,26977 -#define DEFUN_ARGS_8 725,27096 -#define TAG_PTR(729,27287 -#define TAG_SYMOFFSET(734,27534 -#define XLI_BUILTIN_LISPSYM(741,27833 -#define DEFINE_LISP_SYMBOL(746,28092 -# define DEFINE_NON_NIL_Q_SYMBOL_MACROS 755,28563 -LISP_MACRO_DEFUN 762,28768 -# define ARRAY_MARK_FLAG 768,29015 -# define PSEUDOVECTOR_FLAG 774,29258 -enum pvec_type780,29559 - PVEC_NORMAL_VECTOR,782,29576 - PVEC_FREE,783,29598 - PVEC_PROCESS,784,29611 - PVEC_FRAME,785,29627 - PVEC_WINDOW,786,29641 - PVEC_BOOL_VECTOR,787,29656 - PVEC_BUFFER,788,29676 - PVEC_HASH_TABLE,789,29691 - PVEC_TERMINAL,790,29710 - PVEC_WINDOW_CONFIGURATION,791,29727 - PVEC_SUBR,792,29756 - PVEC_OTHER,793,29769 - PVEC_COMPILED,795,29847 - PVEC_CHAR_TABLE,796,29864 - PVEC_SUB_CHAR_TABLE,797,29883 - PVEC_FONT 798,29906 -enum More_Lisp_Bits801,29982 - PSEUDOVECTOR_SIZE_BITS 808,30373 - PSEUDOVECTOR_SIZE_MASK 809,30406 - PSEUDOVECTOR_REST_BITS 813,30616 - PSEUDOVECTOR_REST_MASK 814,30649 - PSEUDOVECTOR_AREA_BITS 818,30814 - PVEC_TYPE_MASK 819,30892 -# define VALMASK 829,31293 -DEFINE_GDB_SYMBOL_BEGIN VALMASK828,31248 -#define MOST_POSITIVE_FIXNUM 834,31523 -#define MOST_NEGATIVE_FIXNUM 835,31583 -XINT 874,32675 -XFASTINT 889,33026 -XSYMBOL 899,33254 -XTYPE 910,33472 -XUNTAG 918,33652 -LISP_MACRO_DEFUN 927,33848 -LISP_MACRO_DEFUN 940,34233 -#define FIXNUM_OVERFLOW_P(958,34846 -LISP_MACRO_DEFUN FIXNUM_OVERFLOW_P952,34623 -LISP_MACRO_DEFUN 970,35162 -XSTRING 980,35382 -#define SYMBOL_INDEX(988,35566 -XFLOAT 991,35627 -XPROCESS 1000,35769 -XWINDOW 1007,35886 -XTERMINAL 1014,36003 -XSUBR 1021,36125 -XBUFFER 1028,36236 -XCHAR_TABLE 1035,36360 -XSUB_CHAR_TABLE 1042,36497 -XBOOL_VECTOR 1049,36639 -make_lisp_ptr 1058,36818 -make_lisp_symbol 1066,37004 -builtin_lisp_symbol 1074,37188 -#define XSETINT(1079,37270 -#define XSETFASTINT(1080,37316 -#define XSETCONS(1081,37366 -#define XSETVECTOR(1082,37426 -#define XSETSTRING(1083,37494 -#define XSETSYMBOL(1084,37558 -#define XSETFLOAT(1085,37612 -#define XSETMISC(1086,37674 -#define XSETPVECTYPE(1090,37763 -#define XSETPVECTYPESIZE(1092,37879 -#define XSETPSEUDOVECTOR(1099,38176 -#define XSETTYPED_PSEUDOVECTOR(1105,38360 -#define XSETWINDOW_CONFIGURATION(1110,38570 -#define XSETPROCESS(1112,38666 -#define XSETWINDOW(1113,38732 -#define XSETTERMINAL(1114,38796 -#define XSETSUBR(1115,38864 -#define XSETCOMPILED(1116,38924 -#define XSETBUFFER(1117,38992 -#define XSETCHAR_TABLE(1118,39056 -#define XSETBOOL_VECTOR(1119,39128 -#define XSETSUB_CHAR_TABLE(1120,39202 -XINTPTR 1128,39572 -make_pointer_integer 1134,39652 -LISP_MACRO_DEFUN_VOID 1143,39817 -typedef struct interval *INTERVAL;INTERVAL1149,39978 -xcar_addr 1174,40751 -xcdr_addr 1179,40828 -LISP_MACRO_DEFUN 1185,40922 -XSETCDR 1198,41298 -CAR 1205,41448 -CDR 1212,41582 -CAR_SAFE 1221,41782 -CDR_SAFE 1226,41868 -STRING_MULTIBYTE 1243,42241 -#define STRING_BYTES_BOUND 1261,43048 -#define STRING_SET_UNIBYTE(1265,43192 -#define STRING_SET_MULTIBYTE(1275,43507 -SDATA 1286,43821 -SSDATA 1291,43899 -SREF 1297,44028 -SSET 1302,44119 -SCHARS 1307,44233 -STRING_BYTES 1316,44406 -SBYTES 1326,44586 -STRING_SET_CHARS 1331,44672 -struct vectorlike_header1343,45223 -struct Lisp_Vector1369,46473 - ALIGNOF_STRUCT_LISP_VECTOR1378,46672 -struct Lisp_Bool_Vector1384,46855 -bool_vector_size 1399,47376 -bool_vector_data 1407,47514 -bool_vector_uchar_data 1413,47608 -bool_vector_words 1421,47794 -bool_vector_bytes 1428,47989 -bool_vector_bitref 1437,48229 -bool_vector_ref 1445,48469 -bool_vector_set 1453,48609 - header_size 1471,49038 - bool_header_size 1472,49097 - word_size 1473,49162 -AREF 1479,49275 -aref_addr 1485,49382 -ASIZE 1491,49492 -ASET 1497,49574 -gc_aset 1504,49733 -enum { NIL_IS_ZERO 1515,50260 -memclear 1520,50455 -#define VECSIZE(1531,50753 -#define PSEUDOVECSIZE(1538,51038 -#define UNSIGNED_CMP(1546,51471 -#define ASCII_CHAR_P(1552,51725 -enum CHARTAB_SIZE_BITS1565,52480 - CHARTAB_SIZE_BITS_0 1567,52507 - CHARTAB_SIZE_BITS_1 1568,52536 - CHARTAB_SIZE_BITS_2 1569,52565 - CHARTAB_SIZE_BITS_3 1570,52594 -struct Lisp_Char_Table1575,52663 -struct Lisp_Sub_Char_Table1606,53743 -CHAR_TABLE_REF_ASCII 1628,54557 -CHAR_TABLE_REF 1648,55104 -CHAR_TABLE_SET 1658,55393 -struct Lisp_Subr1670,55777 -enum char_table_specials1692,56789 - CHAR_TABLE_STANDARD_SLOTS 1697,56984 - SUB_CHAR_TABLE_OFFSET 1701,57205 -CHAR_TABLE_EXTRA_SLOTS 1707,57368 -LISP_MACRO_DEFUN 1723,57912 -SYMBOL_BLV 1732,58172 -SYMBOL_FWD 1738,58307 -LISP_MACRO_DEFUN_VOID 1744,58419 -SET_SYMBOL_BLV 1754,58682 -SET_SYMBOL_FWD 1760,58841 -SYMBOL_NAME 1767,58992 -SYMBOL_INTERNED_P 1775,59121 -SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P 1783,59290 -#define DEFSYM(1796,59800 -LISP_MACRO_DEFUN DEFSYM1792,59621 -struct hash_table_test1805,60053 -struct Lisp_Hash_Table1823,60546 -XHASH_TABLE 1880,62522 -#define XSET_HASH_TABLE(1885,62593 -HASH_TABLE_P 1889,62694 -HASH_KEY 1896,62851 -HASH_VALUE 1903,63031 -HASH_NEXT 1911,63245 -HASH_HASH 1918,63422 -HASH_INDEX 1926,63668 -HASH_TABLE_SIZE 1933,63817 -enum DEFAULT_HASH_SIZE 1940,63947 -enum DEFAULT_HASH_SIZE { DEFAULT_HASH_SIZE 1940,63947 -static double const DEFAULT_REHASH_THRESHOLD 1946,64167 -static double const DEFAULT_REHASH_SIZE 1950,64290 -sxhash_combine 1956,64456 -SXHASH_REDUCE 1964,64639 -struct Lisp_Misc_Any 1971,64797 -struct Lisp_Marker1978,64971 -struct Lisp_Overlay2021,66832 - SAVE_UNUSED,2047,67635 - SAVE_INTEGER,2048,67652 - SAVE_FUNCPOINTER,2049,67670 - SAVE_POINTER,2050,67692 - SAVE_OBJECT2051,67710 -enum { SAVE_SLOT_BITS 2055,67795 -enum { SAVE_VALUE_SLOTS 2058,67892 -enum { SAVE_TYPE_BITS 2062,68000 -enum Lisp_Save_Type2064,68066 - SAVE_TYPE_INT_INT 2066,68090 - SAVE_TYPE_INT_INT_INT2067,68163 - SAVE_TYPE_OBJ_OBJ 2069,68253 - SAVE_TYPE_OBJ_OBJ_OBJ 2070,68324 - SAVE_TYPE_OBJ_OBJ_OBJ_OBJ2071,68405 - SAVE_TYPE_PTR_INT 2073,68500 - SAVE_TYPE_PTR_OBJ 2074,68573 - SAVE_TYPE_PTR_PTR 2075,68645 - SAVE_TYPE_FUNCPTR_PTR_OBJ2076,68718 - SAVE_TYPE_MEMORY 2080,68876 -typedef void (*voidfuncptr)voidfuncptr2108,69830 -struct Lisp_Save_Value2110,69867 -save_type 2134,70746 -XSAVE_POINTER 2143,70976 -set_save_pointer 2149,71138 -XSAVE_FUNCPOINTER 2155,71320 -XSAVE_INTEGER 2164,71540 -set_save_integer 2170,71702 -XSAVE_OBJECT 2179,71923 -struct Lisp_Finalizer2186,72100 -struct Lisp_Free2201,72575 -union Lisp_Misc2212,72876 -XMISC 2223,73175 -XMISCANY 2229,73264 -XMISCTYPE 2236,73373 -XMARKER 2242,73461 -XOVERLAY 2249,73576 -XSAVE_VALUE 2256,73697 -XFINALIZER 2263,73826 -struct Lisp_Intfwd2274,74111 -struct Lisp_Boolfwd2284,74405 -struct Lisp_Objfwd2294,74696 -struct Lisp_Buffer_Objfwd2302,74928 -struct Lisp_Buffer_Local_Value2334,76464 -struct Lisp_Kboard_Objfwd2362,77723 -union Lisp_Fwd2368,77832 -XFWDTYPE 2378,78078 -XBUFFER_OBJFWD 2384,78174 -struct Lisp_Float2391,78310 -XFLOAT_DATA 2401,78428 - IEEE_FLOATING_POINT2415,78937 -#define _UCHAR_T2423,79260 -typedef unsigned char UCHAR;2424,79277 -enum Lisp_Compiled2429,79360 - COMPILED_ARGLIST 2431,79383 - COMPILED_BYTECODE 2432,79409 - COMPILED_CONSTANTS 2433,79436 - COMPILED_STACK_DEPTH 2434,79464 - COMPILED_DOC_STRING 2435,79494 - COMPILED_INTERACTIVE 2436,79523 -enum char_bits2443,79825 - CHAR_ALT 2445,79844 - CHAR_SUPER 2446,79870 - CHAR_HYPER 2447,79898 - CHAR_SHIFT 2448,79926 - CHAR_CTL 2449,79954 - CHAR_META 2450,79980 - CHAR_MODIFIER_MASK 2452,80008 - CHARACTERBITS 2457,80203 -LISP_MACRO_DEFUN 2462,80261 -NATNUMP 2470,80403 -RANGED_INTEGERP 2476,80484 -#define TYPE_RANGED_INTEGERP(2481,80606 -LISP_MACRO_DEFUN 2486,80791 -VECTORP 2500,81264 -OVERLAYP 2505,81367 -SAVE_VALUEP 2510,81466 -FINALIZERP 2516,81572 -AUTOLOADP 2522,81676 -BUFFER_OBJFWDP 2528,81767 -PSEUDOVECTOR_TYPEP 2534,81865 -PSEUDOVECTORP 2542,82118 -WINDOW_CONFIGURATIONP 2558,82470 -PROCESSP 2564,82580 -WINDOWP 2570,82664 -TERMINALP 2576,82746 -SUBRP 2582,82832 -COMPILEDP 2588,82910 -BUFFERP 2594,82996 -CHAR_TABLE_P 2600,83078 -SUB_CHAR_TABLE_P 2606,83169 -BOOL_VECTOR_P 2612,83268 -FRAMEP 2618,83361 -IMAGEP 2625,83478 -ARRAYP 2632,83583 -CHECK_LIST 2638,83702 -LISP_MACRO_DEFUN_VOID 2643,83783 -CHECK_STRING_CAR 2653,84080 -CHECK_CONS 2658,84184 -CHECK_VECTOR 2663,84264 -CHECK_BOOL_VECTOR 2668,84350 -CHECK_VECTOR_OR_STRING 2674,84527 -CHECK_ARRAY 2683,84701 -CHECK_BUFFER 2688,84809 -CHECK_WINDOW 2693,84895 -CHECK_PROCESS 2699,85001 -CHECK_NATNUM 2705,85097 -#define CHECK_RANGED_INTEGER(2710,85174 -#define CHECK_TYPE_RANGED_INTEGER(2721,85557 -#define CHECK_NUMBER_COERCE_MARKER(2729,85827 -XFLOATINT 2738,86080 -CHECK_NUMBER_OR_FLOAT 2744,86151 -#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(2749,86250 -CHECK_NUMBER_CAR 2760,86660 -CHECK_NUMBER_CDR 2768,86782 -#define DEFUN(2803,88377 -#define DEFUN(2812,88845 -FUNCTIONP 2822,89200 -enum maxargs2831,89395 - MANY 2833,89412 - UNEVALLED 2834,89427 -#define CALLMANY(2838,89530 -#define CALLN(2844,89883 -#define DEFVAR_LISP(2869,91088 -#define DEFVAR_LISP_NOPRO(2874,91260 -#define DEFVAR_BOOL(2879,91442 -#define DEFVAR_INT(2884,91615 -#define DEFVAR_BUFFER_DEFAULTS(2890,91786 -#define DEFVAR_KBOARD(2896,91990 -typedef jmp_buf sys_jmp_buf;2906,92314 -# define sys_setjmp(2907,92343 -# define sys_longjmp(2908,92378 -typedef sigjmp_buf sys_jmp_buf;2910,92450 -# define sys_setjmp(2911,92482 -# define sys_longjmp(2912,92522 -typedef jmp_buf sys_jmp_buf;2916,92681 -# define sys_setjmp(2917,92710 -# define sys_longjmp(2918,92744 -enum specbind_tag 2943,93796 - SPECPDL_UNWIND,2944,93816 - SPECPDL_UNWIND_PTR,2945,93885 - SPECPDL_UNWIND_INT,2946,93936 - SPECPDL_UNWIND_VOID,2947,93984 - SPECPDL_BACKTRACE,2948,94038 - SPECPDL_LET,2949,94096 - SPECPDL_LET_LOCAL,2951,94226 - SPECPDL_LET_DEFAULT 2952,94283 -union specbinding2955,94355 -SPECPDL_INDEX 2996,95379 -enum handlertype 3021,96401 -enum handlertype { CATCHER,3021,96401 -enum handlertype { CATCHER, CONDITION_CASE 3021,96401 -struct handler3023,96448 -#define PUSH_HANDLER(3053,97437 -#define QUIT 3101,99214 -#define QUITP 3112,99464 -struct gcpro3132,100307 -#define GC_USE_GCPROS_AS_BEFORE 3171,101288 -#define GC_MAKE_GCPROS_NOOPS 3172,101323 -#define GC_MARK_STACK_CHECK_GCPROS 3173,101355 -#define GC_USE_GCPROS_CHECK_ZOMBIES 3174,101392 -#define GC_MARK_STACK 3177,101453 -#define BYTE_MARK_STACK 3181,101553 -#define GCPRO1(3190,101824 -#define GCPRO2(3191,101864 -#define GCPRO3(3192,101930 -#define GCPRO4(3194,102025 -#define GCPRO5(3196,102145 -#define GCPRO6(3198,102290 -#define GCPRO7(3201,102465 -#define UNGCPRO 3202,102544 -#define GCPRO1(3208,102644 -#define GCPRO2(3212,102766 -#define GCPRO3(3217,102958 -#define GCPRO4(3223,103220 -#define GCPRO5(3230,103551 -#define GCPRO6(3238,103952 -#define GCPRO7(3247,104422 -#define UNGCPRO 3257,104962 -#define GCPRO1(3263,105056 -#define GCPRO2(3269,105290 -#define GCPRO3(3278,105708 -#define GCPRO4(3289,106265 -#define GCPRO5(3302,106963 -#define GCPRO6(3317,107803 -#define GCPRO7(3334,108784 -#define UNGCPRO 3353,109907 -#define RETURN_UNGCPRO(3363,110174 -vcopy 3384,110648 -set_hash_key_slot 3393,110923 -set_hash_value_slot 3399,111062 -set_symbol_function 3408,111297 -set_symbol_plist 3414,111412 -set_symbol_next 3420,111515 -blv_found 3428,111688 -set_overlay_plist 3437,111871 -string_intervals 3445,112022 -set_string_intervals 3453,112144 -set_char_table_defalt 3462,112346 -set_char_table_purpose 3467,112458 -set_char_table_extras 3475,112627 -set_char_table_contents 3482,112836 -set_sub_char_table_contents 3489,113031 -enum Arith_Comparison 3497,113294 - ARITH_EQUAL,3498,113318 - ARITH_NOTEQUAL,3499,113333 - ARITH_LESS,3500,113351 - ARITH_GRTR,3501,113365 - ARITH_LESS_OR_EQUAL,3502,113379 - ARITH_GRTR_OR_EQUAL3503,113402 -#define INTEGER_TO_CONS(3511,113753 -#define CONS_TO_INTEGER(3529,114616 -enum { NEXT_ALMOST_PRIME_LIMIT 3573,116320 -extern EMACS_INT next_almost_prime 3574,116359 -enum constype 3739,123811 -enum constype {CONSTYPE_HEAP,CONSTYPE_HEAP3739,123811 -enum constype {CONSTYPE_HEAP, CONSTYPE_PURE}CONSTYPE_PURE3739,123811 -list2i 3745,124001 -list3i 3751,124110 -list4i 3757,124249 -extern Lisp_Object make_formatted_string 3767,124625 -build_pure_c_string 3792,125653 -build_string 3801,125858 -make_uninit_vector 3820,126429 -make_uninit_sub_char_table 3833,126648 -#define ALLOCATE_PSEUDOVECTOR(3850,127192 -#define ALLOCATE_ZEROED_PSEUDOVECTOR(3858,127528 -INLINE void 3890,128934 -extern void *r_alloc r_alloc3895,129055 -#define FLOAT_TO_STRING_BUFSIZE 3927,130518 -intern 3968,132125 -intern_c_string 3974,132213 -extern _Noreturn void error 4034,135592 -fast_string_match_ignore_case 4136,140080 -INLINE void fixup_locale 4241,143845 -INLINE void synchronize_system_messages_locale 4242,143880 -INLINE void synchronize_system_time_locale 4243,143937 -#define IS_DAEMON 4257,144410 -#define DAEMON_RUNNING 4258,144450 -#define IS_DAEMON 4261,144549 -#define DAEMON_RUNNING 4262,144594 -# define WAIT_READING_MAX 4281,145413 -# define WAIT_READING_MAX 4283,145485 -extern _Noreturn void emacs_abort 4374,148377 -egetenv 4532,152800 -#define eabs(4545,153296 -#define make_fixnum_or_float(4550,153429 -enum MAX_ALLOCA 4556,153680 -enum MAX_ALLOCA { MAX_ALLOCA 4556,153680 -extern void *record_xmalloc record_xmalloc4558,153725 -#define USE_SAFE_ALLOCA 4560,153791 -#define AVAIL_ALLOCA(4564,153924 -#define SAFE_ALLOCA(4568,154035 -#define SAFE_NALLOCA(4576,154376 -#define SAFE_ALLOCA_STRING(4590,154852 -#define SAFE_FREE(4598,155104 -#define SAFE_ALLOCA_LISP(4625,155682 -# define USE_STACK_LISP_OBJECTS 4652,156804 -# undef USE_STACK_LISP_OBJECTS4658,156970 -# define USE_STACK_LISP_OBJECTS 4659,157001 -enum { defined_GC_CHECK_STRING_BYTES 4663,157076 -enum { defined_GC_CHECK_STRING_BYTES 4665,157129 -union Aligned_Cons4670,157263 -union Aligned_String4676,157343 - USE_STACK_CONS 4689,157698 - USE_STACK_STRING 4691,157804 -#define STACK_CONS(4699,158141 -#define AUTO_CONS_EXPR(4701,158238 -#define AUTO_CONS(4709,158601 -#define AUTO_LIST1(4710,158672 -#define AUTO_LIST2(4712,158780 -#define AUTO_LIST3(4716,158935 -#define AUTO_LIST4(4720,159110 -# define verify_ascii(4732,159501 -#define AUTO_STRING(4740,159809 -#define FOR_EACH_TAIL(4752,160273 -#define FOR_EACH_ALIST_VALUE(4766,160764 -maybe_gc 4774,161051 -functionp 4784,161290 - -c-src/machsyscalls.c,23 -#define SYSCALL(6,113 - -c-src/machsyscalls.h,159 -SYSCALL (mach_msg_trap,1,0 -SYSCALL (mach_reply_port,13,314 -SYSCALL (mach_thread_self,18,377 -SYSCALL (mach_task_self,23,441 -SYSCALL (mach_host_self,28,503 - -c-src/h.h,1850 - ELEM_I/ELEM_I3,15 -} Fails_t;5,85 -typedef void Lang_function 6,96 -typedef struct tpcmd8,147 -#define ggg 10,170 -tpcmd;15,209 -typedef struct foobar2_ 16,216 -} foobar2;20,307 - DEVICE_SWP,23,333 - DEVICE_LAST24,349 -} bsp_DevId;25,365 - struct constant_args 27,394 -} args;30,457 -typedef int *regset;regset31,465 -typedef int INT;32,486 -typedef union abc33,503 -} ghi1;36,534 -typedef union abc 37,542 -} ghi2;39,573 -typedef struct a 40,581 -} b;41,600 -#define c(42,605 -typedef struct an_extern_linkage *an_extern_linkage_ptr;an_extern_linkage_ptr43,619 -typedef struct an_extern_linkage 44,676 -} an_extern_linkage;56,1054 -typedef struct pollfd pfdset[pfdset57,1075 -typedef union rtunion_def58,1119 - } womboid 63,1206 -typedef union rtunion_def64,1220 -womboid75,1330 -enum {dog,dog81,1416 -enum {dog, cat}cat81,1416 -enum {dog, cat} animals;81,1416 -typedef void (_CALLBACK_ *signal_handler)signal_handler82,1441 -typedef void (_CALLBACK_ *signal_handler1)signal_handler183,1489 -/* comment */ #define ANSIC84,1538 - #define ANSIC85,1566 -typedef void (proc)87,1588 -typedef void OperatorFun(88,1612 -typedef int f(89,1648 -struct my_struct 91,1691 -typedef struct my_struct my_typedef;93,1713 -typedef RETSIGTYPE (*signal_handler_t)signal_handler_t94,1750 - Date 04 May 87 235311 PDT 96,1802 -typedef unsigned char unchar;99,1880 -typedef int X,100,1910 -typedef int X, Y,100,1910 -typedef int X, Y, Z;100,1910 -typedef mio mao;101,1931 -typedef struct a 103,1966 -typedef struct a { } b;103,1966 -typedef struct b104,1990 -} c;106,2009 -int extvar;109,2053 -#define tag1110,2065 -#define aaaaaa 111,2078 -#define bbbbbb\bbbbbb113,2102 -#define cccccccccc115,2125 -#define enter_critical_section 116,2144 -#define exit_critical_to_previous 117,2199 -#define UNDEFINED118,2259 -struct re_pattern_buffer 119,2277 - -cp-src/c.C,2094 -template * f(48,1556 -int f(49,1571 -int A::f(f50,1590 -A > A,int>::f(f51,1618 -template class AT 52,1668 -class AU 53,1716 -class B<B54,1735 -class B { void f(54,1735 -const A::B::T& abt 55,1766 -class A 56,1792 -class A { class B 56,1792 -class A 57,1827 - A operator+(59,1861 -is_muldiv_operation(61,1888 -domain foo 68,1956 - void f(69,1969 -void A::A(A72,1990 -struct A 73,2005 -struct B 74,2023 -void B::B(B75,2042 -void BE_Node::BE_Node(BE_Node76,2057 -class BE_Node 77,2084 -struct foo 79,2103 -class test 86,2157 - int f(87,2170 - int ff(89,2232 - int g(90,2255 -class AST_Root 92,2279 -AST_ConcreteType::AST_ConcreteType(99,2394 -AST_Array::AST_Array(107,2533 - void f(115,2734 -struct A 117,2754 -A::~A(~A120,2778 -struct B 122,2790 - ~B(123,2801 -enum {dog,dog126,2818 -enum {dog, cat}cat126,2818 -enum {dog, cat} animals;126,2818 -struct {int teats;} cow;127,2843 -class Boo 129,2869 - enum {dog,dog130,2881 - enum {dog, cat}cat130,2881 - foo(133,2955 - Boo(137,2996 -Boo::Boo(141,3071 -typedef int should_see_this_one_enclosed_in_extern_C;149,3156 -typedef int (*should_see_this_function_pointer)should_see_this_function_pointer153,3229 -typedef int should_see_this_array_type[should_see_this_array_type156,3311 - -cp-src/x.cc,63 -class XX1,0 -XX::foo(foo9,60 -XX::bar(bar15,95 -main(21,126 - -cp-src/burton.cpp,124 -::dummy::dummy test::dummy1(dummy11,0 -::dummy::dummy test::dummy2(dummy26,64 -::dummy::dummy test::dummy3(dummy311,143 - -cp-src/functions.cpp,778 -void Date::setDate setDate5,148 -void Date::plus plus32,938 -void Date::minus minus42,1226 -void Date::shift shift52,1404 -Date & Date::operator = operator =62,1625 -Date & Date::operator += operator +=69,1786 -Date & Date::operator -= operator -=78,1935 -Date & Date::operator ++ operator ++87,2076 -Date & Date::operator -- operator --96,2212 -int Date::operator - operator -104,2327 -int Date::operator < operator <112,2479 -int Date::operator > operator >116,2553 -int Date::operator == operator ==120,2627 -ostream& operator << operator <<124,2703 -istream& operator >> operator >>133,2939 -bool isLeap 159,3539 -bool isHoliday 163,3625 -void asort(173,3861 -void ReadVacation 186,4060 -void Debug 201,4519 -int WorkingDays(211,4863 -Date StartDay(226,5125 - -cp-src/MDiagArray2.h,482 -#define octave_MDiagArray2_h 29,870 -#undef LTGT35,967 -#define LTGT39,1031 -#define LTGT 42,1051 -class MDiagArray2 78,2022 - MDiagArray2 82,2077 - MDiagArray2 86,2154 - MDiagArray2 87,2198 - MDiagArray2 88,2254 - MDiagArray2 89,2329 - MDiagArray2 90,2387 - MDiagArray2 91,2450 - ~MDiagArray2 93,2515 - MDiagArray2& operator = operator =95,2542 - operator MArray2 operator MArray2101,2667 -#undef LTGT144,3874 -#define INSTANTIATE_MDIAGARRAY_FRIENDS(146,3887 - -cp-src/Range.h,275 -#define octave_Range_h 24,765 -Range35,891 - Range 39,909 - Range 42,995 - Range 46,1130 - Range 50,1248 - double base 54,1376 - double limit 55,1425 - double inc 56,1475 - int nelem 57,1523 - void set_base 68,1728 - void set_limit 69,1774 - void set_inc 70,1821 - -cp-src/screen.cpp,228 -unsigned char cursor_x,15,548 -unsigned char cursor_x, cursor_y;15,548 -static union REGS regs;16,582 -void goto_xy(18,607 -void hide_cursor(27,774 -void cursor_position(32,836 -void clear_screen(41,997 -void write_xyc(55,1247 - -cp-src/screen.hpp,414 -#define __COLORS9,401 -enum COLORS 11,419 - BLACK,12,433 - BLUE,13,471 - GREEN,14,481 - CYAN,15,492 - RED,16,502 - MAGENTA,17,511 - BROWN,18,524 - LIGHTGRAY,19,535 - DARKGRAY,20,550 - LIGHTBLUE,21,589 - LIGHTGREEN,22,604 - LIGHTCYAN,23,620 - LIGHTRED,24,635 - LIGHTMAGENTA,25,649 - YELLOW,26,667 - WHITE27,679 -#define SCREEN_FP(31,700 -#define SCREEN_START 33,795 - -cp-src/conway.cpp,288 -#define max(12,357 -#define min(13,393 -const int num_rows 15,430 -const int num_columns 16,470 -class site *field_of_play[field_of_play18,499 -int site::total_surrounding(total_surrounding20,550 -void display(37,958 -void glider(50,1239 -void traffic_light(59,1478 -void main(67,1633 - -cp-src/conway.hpp,164 -class site:site5,235 - site(10,344 - char read(12,410 - void set(13,444 - void clear(14,478 - void compute_next_state(15,514 - void step(22,717 - -cp-src/clheir.cpp,359 -const int max_num_generic_objects 9,298 -generic_object * object_registry[object_registry10,340 -void init_registry(12,400 -void step_everybody(19,527 -void discrete_location::clear_neighbors(clear_neighbors31,852 -generic_object::generic_object(generic_object36,981 -generic_object::~generic_object(~generic_object48,1255 -void agent::move(move53,1353 - -cp-src/clheir.hpp,423 -class generic_object13,520 - virtual void compute_next_state(21,843 - virtual void step(22,889 -const int max_num_directions 31,1220 -class location:location33,1290 - location(43,1643 -class irregular_location:irregular_location47,1687 - irregular_location(51,1763 -class discrete_location:discrete_location56,1890 - discrete_location(62,2045 - void assign_neighbor(66,2185 -class agent:agent75,2509 - -cp-src/fail.C,294 -struct A 7,263 - struct B 8,274 - struct C 9,289 - C(11,318 - operator int(operator int12,342 - typedef C T;14,389 - typedef B T2;16,414 -class A 23,453 - class B 24,463 - class C 25,474 - int f(26,488 -int A::B::f(f31,521 -main(37,571 - class D 41,622 - D(43,659 - -el-src/TAGTEST.EL,181 -(foo::defmumble bletch 3,33 -(defun foo==bar foo==bar4,66 -(defalias 'pending-delete-mode pending-delete-mode8,182 -(defalias (quote explicitly-quoted-pending-delete-mode)11,255 - -el-src/emacs/lisp/progmodes/etags.el,5069 -(defvar tags-file-name 34,1035 -(defgroup etags 43,1499 -(defcustom tags-case-fold-search 47,1567 -(defcustom tags-table-list 59,2052 -(defcustom tags-compression-info-list69,2450 -(defcustom tags-add-tables 88,3232 -(defcustom tags-revert-without-query 98,3628 -(defvar tags-table-computed-list 103,3779 -(defvar tags-table-computed-list-for 112,4263 -(defvar tags-table-list-pointer 117,4511 -(defvar tags-table-list-started-at 121,4702 -(defvar tags-table-set-list 124,4822 -(defcustom find-tag-hook 129,5001 -(defcustom find-tag-default-function 137,5264 -(define-obsolete-variable-alias 'find-tag-marker-ring-lengthfind-tag-marker-ring-length145,5603 -(defcustom tags-tag-face 148,5700 -(defcustom tags-apropos-verbose 154,5835 -(defcustom tags-apropos-additional-actions 160,5999 -(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6921 -(defvar default-tags-table-function 189,7101 -(defvar tags-location-ring 194,7327 -(defvar tags-table-files 201,7603 -(defvar tags-completion-table 206,7770 -(defvar tags-included-tables 209,7862 -(defvar next-file-list 212,7957 -(defvar tags-table-format-functions 217,8063 -(defvar file-of-tag-function 224,8444 -(defvar tags-table-files-function 228,8638 -(defvar tags-completion-table-function 230,8749 -(defvar snarf-tag-function 232,8844 -(defvar goto-tag-location-function 236,9053 -(defvar find-tag-regexp-search-function 239,9226 -(defvar find-tag-regexp-tag-order 241,9347 -(defvar find-tag-regexp-next-line-after-failure-p 243,9456 -(defvar find-tag-search-function 245,9576 -(defvar find-tag-tag-order 247,9683 -(defvar find-tag-next-line-after-failure-p 249,9778 -(defvar list-tags-function 251,9884 -(defvar tags-apropos-function 253,9972 -(defvar tags-included-tables-function 255,10066 -(defvar verify-tags-table-function 257,10185 -(defun initialize-new-tags-table 260,10296 -(defun tags-table-mode 276,10984 -(defun visit-tags-table 285,11249 -(defun tags-table-check-computed-list 321,12787 -(defun tags-table-extend-computed-list 360,14658 -(defun tags-expand-table-name 400,16371 -(defun tags-table-list-member 409,16714 -(defun tags-verify-table 421,17186 -(defun tags-table-including 470,19306 -(defun tags-next-table 522,21350 -(defun visit-tags-table-buffer 543,22207 -(defun tags-reset-tags-tables 712,28517 -(defun file-of-tag 731,29174 -(defun tags-table-files 740,29524 -(defun tags-included-tables 749,29874 -(defun tags-completion-table 755,30120 -(defun tags-lazy-completion-table 783,31314 -(defun tags-completion-at-point-function 799,31949 -(defun find-tag-tag 818,32699 -(defvar last-tag 837,33372 -(defun find-tag-interactive 840,33431 -(defvar find-tag-history 852,33846 -(defun find-tag-noselect 860,34016 -(defun find-tag 932,37130 -(defun find-tag-other-window 959,38346 -(defun find-tag-other-frame 1000,40274 -(defun find-tag-regexp 1025,41448 -(defalias 'pop-tag-mark pop-tag-mark1049,42610 -(defvar tag-lines-already-matched 1052,42661 -(defun find-tag-in-order 1055,42768 -(defun tag-find-file-of-tag-noselect 1167,47114 -(defun tag-find-file-of-tag 1200,48960 -(defun etags-recognize-tags-table 1208,49186 -(defun etags-verify-tags-table 1241,50817 -(defun etags-file-of-tag 1246,51015 -(defun etags-tags-completion-table 1256,51350 -(defun etags-snarf-tag 1286,52556 -(defun etags-goto-tag-location 1324,54125 -(defun etags-list-tags 1388,56568 -(defmacro tags-with-face 1423,57843 -(defun etags-tags-apropos-additional 1431,58176 -(defun etags-tags-apropos 1465,59413 -(defun etags-tags-table-files 1527,61622 -(defun etags-tags-included-tables 1542,62058 -(defun tags-recognize-empty-tags-table 1559,62598 -(defun tag-exact-file-name-match-p 1587,63744 -(defun tag-file-name-match-p 1596,64137 -(defun tag-exact-match-p 1609,64693 -(defun tag-implicit-name-match-p 1620,65261 -(defun tag-symbol-match-p 1633,65861 -(defun tag-word-match-p 1643,66297 -(defun tag-partial-file-name-match-p 1652,66695 -(defun tag-any-match-p 1662,67139 -(defun tag-re-match-p 1667,67323 -(defcustom tags-loop-revert-buffers 1675,67572 -(defun next-file 1685,67981 -(defvar tags-loop-operate 1760,70895 -(defvar tags-loop-scan1763,70989 -(defun tags-loop-eval 1771,71318 -(defun tags-loop-continue 1782,71647 -(defun tags-search 1850,73953 -(defun tags-query-replace 1871,74779 -(defun tags-complete-tags-table-file 1896,76003 -(defun list-tags 1906,76382 -(defun tags-apropos 1934,77335 -(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78161 -(defun select-tags-table 1964,78400 -(defvar select-tags-table-mode-map 2019,80527 -(define-derived-mode select-tags-table-mode 2030,80910 -(defun select-tags-table-select 2034,81094 -(defun select-tags-table-quit 2043,81460 -(defun complete-tag 2049,81615 -(defconst etags--xref-limit 2074,82556 -(defvar etags-xref-find-definitions-tag-order 2076,82591 -(defun etags-xref-find 2082,82881 -(defun etags--xref-find-definitions 2096,83410 -(defclass xref-etags-location 2129,85124 -(defun xref-make-etags-location 2135,85347 -(cl-defmethod xref-location-marker 2139,85502 -(cl-defmethod xref-location-line 2146,85746 - -erl-src/gs_dialog.erl,98 --define(VERSION2,32 -behaviour_info(51,2177 -show(124,5458 -dialog_loop(219,9529 -test(252,10806 - -f-src/entry.for,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -f-src/entry.strange_suffix,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -f-src/entry.strange,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -forth-src/test-forth.fth,733 -: a-forth-word20,301 -99 constant a-forth-constant!22,343 -55 value a-forth-value?23,373 -create :a-forth-dictionary-entry24,397 -defer #a-defer-word27,460 -: (another-forth-word)(another-forth-word)29,481 - 9 field >field136,582 - 5 field >field237,605 -constant (a-forth-constant(a-forth-constant38,628 -2000 buffer: #some-storage41,657 -code assemby-code-word43,685 -: a-forth-word50,870 -: (foo)(foo)55,988 -: foo56,1000 -: create-bar58,1015 -3 4 2constant 2const61,1074 -2const 2value 2val62,1095 -2variable 2var63,1114 -3.1415e fconstant fconst65,1130 -fconst fvalue fval66,1155 -fvariable fvar67,1174 -synonym mypi69,1190 -BEGIN-STRUCTURE point71,1211 - 1 CELLS +FIELD p.x72,1262 - 1 CELLS +FIELD p.y73,1318 - -go-src/test.go,48 -package main1,0 -func say(5,28 -func main(9,72 - -go-src/test1.go,119 -package main1,0 -func (s str) PrintAdd(17,136 -func (n intNumber) PrintAdd(21,189 -func test(25,248 -func main(29,285 - -html-src/softwarelibero.html,200 -Cos'è il software libero?4,38 -Licenze d'uso di un programmalicenze65,2502 -Sfatiamo alcuni miti138,6122 -Il movimento open sourceoss191,8041 -Impatto pratico del software liberoimpatto231,10070 - -html-src/index.shtml,104 - 8,281 -In evidenza15,447 -Comunicati e iniziative32,976 -Ultime notizie dall'associazione63,2030 - -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 Algorithms7,277 -Descriptionalgorithms10,481 -Generating the Datagenalgorithm48,1995 -Convolutionallyconalgorithm55,2512 -Nextstatetable262,11587 -Outputoutputtable350,13915 -Mapping the Channel Symbolsmapping433,16213 -Adding Noise to theaddnoise439,16607 -Quantizing the Receivedquantizing469,19100 - -html-src/software.html,439 -Francesco Potortì Software Page9,280 -Software that I wrote for supporting my research activitysimulation36,1398 -MTGmtg41,1482 -Fracasfracas65,2624 -GaliLEOgalileo101,4232 -Leasqrleasqr114,4677 -Free software that I wrote for the GNU project or for my personal or workgnu142,6066 -Etagsetags148,6181 -checkiso161,6731 -cgrep178,7549 -debian-bug.eldebian-bug190,7981 -tcpdump205,8566 -Links to interesting softwarelinks216,8893 - -lua-src/allegro.lua,400 -local function get_layer_by_name 7,175 -local function count_layers 33,621 -function GetLayerByName 54,980 -function GetUniqueLayerName 65,1204 -function SelectLayer 76,1415 -function NewLayer 86,1773 -function NewLayerSet 144,3226 -function RemoveLayer 170,3750 -function MoveLayerTop 211,4767 -function MoveLayerBottom 223,5079 -function MoveLayerBefore 236,5457 -function MoveLayerAfter 258,6090 - -lua-src/test.lua,442 -function Rectangle.getPos 2,15 -function Rectangle.getPos getPos2,15 -function Circle.getPos 6,61 -function Circle.getPos getPos6,61 -function Cube.data.getFoo 10,102 -function Cube.data.getFoo getFoo10,102 -function Square.something:Bar 14,148 -function Square.something:Bar Bar14,148 - function test.me_22a(22,241 - function test.me_22a(me_22a22,241 - local function test.me22b 25,297 - local function test.me22b me22b25,297 - -make-src/Makefile,2175 -LATEST=1,0 -RELEASELIST=2,10 -ADASRC=4,104 -ASRC=5,171 -CSRC=6,197 -CPSRC=10,423 -ELSRC=13,614 -ERLSRC=14,661 -FORTHSRC=15,702 -FSRC=16,726 -HTMLSRC=17,776 -JAVASRC=18,844 -LUASRC=19,907 -MAKESRC=20,926 -OBJCSRC=21,943 -OBJCPPSRC=22,999 -PASSRC=23,1035 -PERLSRC=24,1053 -PHPSRC=25,1108 -PSSRC=26,1156 -PROLSRC=27,1173 -PYTSRC=28,1210 -TEXSRC=29,1227 -YSRC=30,1282 -SRCS=31,1325 -NONSRCS=35,1577 -VHDLFLAGS=37,1624 -COBOLFLAGS=38,1827 -POSTSCRIPTFLAGS=39,1889 -TCLFLAGS=40,1943 -GETOPTOBJS=42,2002 -RXINCLUDE=43,2034 -REGEXOBJS=44,2056 -CHECKOBJS=46,2075 -CHECKFLAGS=47,2105 -OBJS=48,2145 -CPPFLAGS=49,2190 -LDFLAGS=50,2259 -WARNINGS=51,2282 -CFLAGS=52,2466 -FASTCFLAGS=55,2530 -FASTCFLAGSWARN=56,2591 -FILTER=58,2641 -REGEX=59,2695 -xx=60,2741 -MAKE:MAKE62,2790 -RUN=63,2825 -RUN=64,2865 -OPTIONS=65,2870 -ARGS=66,2922 -infiles 68,2940 -quiettest:quiettest70,3002 -test:test79,3409 -${CHECKOBJS}:${CHECKOBJS}88,3805 -checker:checker90,3849 -standalone:standalone96,4062 -prof:prof101,4168 -fastetags:fastetags104,4198 -fastctags:fastctags108,4322 -staticetags:staticetags112,4446 -rsynctofly:rsynctofly116,4608 -rsyncfromfly:rsyncfromfly119,4698 -web ftp publish:web ftp publish122,4794 -release distrib:release distrib129,5115 -tags:tags134,5255 -clean:clean136,5267 -srclist:srclist139,5302 -regexfile:regexfile143,5391 -/home/www/pub/etags.c.gz:/home/www/pub/etags.c.gz149,5566 -/home/www/pub/software/unix/etags.tar.gz:/home/www/pub/software/unix/etags.tar.gz156,5825 -regex.o:regex.o159,6031 -getopt.o:getopt.o162,6086 -getopt1.o:getopt1.o165,6147 -etags:etags168,6210 -ctags:ctags171,6299 -man manpage:man manpage174,6396 -etags.1.man:etags.1.man176,6422 -maintaining.info:maintaining.info179,6475 -TAGS:TAGS182,6557 -%ediff:%ediff185,6587 -oediff:oediff188,6677 -%cdiff:%cdiff191,6764 -xdiff:xdiff194,6854 -ETAGS:ETAGS197,6942 -ETAGS%:ETAGS%200,7012 -ETAGS13 ETAGS14 ETAGS15:ETAGS13 ETAGS14 ETAGS15203,7084 -ETAGS12:ETAGS12206,7216 -OTAGS:OTAGS209,7304 -CTAGS:CTAGS212,7369 -CTAGS%:CTAGS%215,7443 -CTAGS13 CTAGS14 CTAGS15:CTAGS13 CTAGS14 CTAGS15218,7545 -EXTAGS:EXTAGS221,7680 -.PRECIOUS:.PRECIOUS224,7838 -FRC:FRC226,7894 - -objc-src/Subprocess.h,98 -#define Subprocess 41,1217 -#define BUFFERSIZE 43,1267 -@interface Subprocess:Subprocess45,1292 - -objc-src/Subprocess.m,446 -#define PTY_TEMPLATE 20,494 -#define PTY_LENGTH 21,528 -@interface Subprocess(Private)32,737 -- childDidExit39,851 -- fdHandler:fdHandler67,1589 -showError 98,2360 -fdHandler 112,2785 -getptys 119,2907 -- init:init183,4815 - andStdErr:init197,5147 -- send:(const char *)string withNewline:send300,7436 -- send:send308,7599 -- terminateInput314,7689 -- terminate:terminate321,7810 -- setDelegate:setDelegate332,7961 -- delegate338,8031 - -objc-src/PackInsp.h,109 -#define NUMSTATS 36,1101 -#define TYPESTOSTAT 37,1120 -@interface PackageInspector:PackageInspector39,1172 - -objc-src/PackInsp.m,1322 -static const char RCSid[RCSid30,1032 -#define VERSION 34,1116 -# define DEBUG 37,1155 -#define LISTCONTENTS 39,1181 -#define OPENBUTTON 47,1352 -#define LISTCONTENTSBUTTON 48,1449 -#define LISTDESCRIPTIONBUTTON 49,1562 -#define STATE_UNINSTALLED 52,1687 -#define STATE_INSTALLED 53,1807 -#define STATE_COMPRESSD 54,1948 -#define SIZEFORMAT 57,2152 -#define KBYTES 58,2362 -#define MBYTES 59,2473 -#define LOCALIZE(61,2585 -#define LOCALIZE_ARCH(62,2668 -+newnew67,2802 --showInfo:showInfo93,3417 --revert:revert107,3737 --ok:ok136,4297 --loadload143,4424 -#define LOOKUP(156,4826 -#undef LOOKUP176,5694 --loadKeyValuesFrom:(const char *)type inTable:loadKeyValuesFrom186,5852 --loadContentsOf:(const char *)type inTable:loadContentsOf238,7079 --loadImageloadImage257,7552 -#define STAT_EQ(275,7940 --(BOOL)shouldLoad280,8116 --toggleDescriptiontoggleDescription301,8626 --(const char *)getPath:(char *)buf forType:getPath317,8899 --setRevertButtonTitlesetRevertButtonTitle333,9320 --(const char *)formatSize:(const char *)size inBuf:formatSize344,9525 -#define WORKING 368,10045 --(void)getArchs370,10100 --(void)addArchs:addArchs385,10520 --subprocess:(Subprocess *)sender output:subprocess428,11351 --subprocessDone:subprocessDone436,11484 -static void openInWorkspace(446,11634 --open:open464,12063 - -objcpp-src/SimpleCalc.H,41 -@interface SimpleCalc:SimpleCalc14,400 - -objcpp-src/SimpleCalc.M,445 -- init52,1747 -- appendToDisplay:appendToDisplay60,1933 -- registerAction:registerAction70,2210 -- decimalKey:decimalKey77,2348 -- numberKeys:numberKeys91,2661 -- equalsKey:equalsKey112,3192 -- operationKeys:operationKeys131,3680 -- clearKey:clearKey153,4301 -- clearAllKey:clearAllKey160,4410 -- appDidInit:appDidInit168,4591 -- windowWillClose:windowWillClose178,4882 -- infoPanel:infoPanel186,5132 -- helpPanel:helpPanel198,5482 - -pas-src/common.pas,1875 -procedure InitializeStringPackage;26,527 -function newtextstring;34,874 -procedure disposetextstring;52,1404 -function ConcatT;78,2066 -function AppendTextString;112,3238 -function CopyTextString;132,3947 -procedure CONVERT_CHARSTRING_TO_VALUE;151,4505 -procedure append_string;172,5166 -function To_Upper;186,5462 -function To_Lower;194,5617 -function EmptyNmStr(209,6213 -function chartonmstr;219,6436 -function LowerCaseNmStr;230,6682 -function concatenatenamestrings;242,7007 -procedure writenamestring;263,7517 -function IsControlChar;277,7928 -function namestringequal;283,8079 -function NameStringLess;302,8539 -function IsControlCharName(343,9710 -function SubString;358,10208 -function SkipChars;379,10791 -function RemoveUnderlineControl;397,11311 -procedure First100Chars;427,12162 -procedure SkipSpaces;462,13298 -function SkipBlanks;477,13782 -function stripname;505,14595 -function Locate;522,15039 -function NameHasChar;543,15581 -function integertonmstr;561,16134 -function NmStrToInteger;585,16901 -function AddNullToNmStr;600,17317 -function ValToNmStr;611,17585 -function ChangeFileType;625,18037 -function StripPath;647,18734 -function ReprOfChar;675,19343 -procedure ExtractCommentInfo;702,20749 -procedure INSERT_TREE_NODE;784,24053 -function GetNameList;920,27926 -procedure DisposeANameList(925,28010 -procedure DisposeNameList;938,28340 -function GetNewNameListNode;943,28409 -function insertname;972,29051 -procedure InitNameList;988,29471 -procedure InitNameStringPool;998,29767 -procedure NewNameString;1004,29867 -procedure ReleaseNameString;1022,30232 -procedure SDTrefStringToRec 1045,30741 -procedure SDTrefSkipSpaces;1059,31092 -function SDTrefIsEnd 1070,31323 -function SDTrefGetInteger 1082,31529 -procedure SDTrefRecToString 1303,37546 -function NmStrToErrStr;1497,42305 -function ErrStrToNmStr;1509,42557 -function GetTextRef;1529,43112 - -php-src/lce_functions.php,2152 - define("LCE_FUNCTIONS"LCE_FUNCTIONS4,38 - define("LCE_UNKNOWN"LCE_UNKNOWN9,145 - define("LCE_WS"LCE_WS11,194 - define("LCE_COMMENT"LCE_COMMENT13,244 - define("LCE_COMMENT_USER"LCE_COMMENT_USER15,303 - define("LCE_COMMENT_TOOL"LCE_COMMENT_TOOL17,366 - define("LCE_MSGID"LCE_MSGID19,430 - define("LCE_MSGSTR"LCE_MSGSTR21,488 - define("LCE_TEXT"LCE_TEXT23,541 - define("STATE_ABORT"STATE_ABORT25,567 - define("STATE_OK"STATE_OK26,595 - define("STATE_LOOP"STATE_LOOP27,620 - class POEntryAD 29,648 - function validate(31,683 - function checkQuotation(59,1384 - class CommentAD 70,1639 - function CommentAD(73,1693 - function validate(83,1944 - class POEntry 105,2410 - function POEntry(119,2711 - function lineCount(135,3255 - function serializeToVars(141,3365 - function write(151,3800 - class POReader 163,4178 - function gettext(177,4457 - function parseFromVars(189,4705 - function serializeToVars(215,5331 - function POReader(229,5613 - function read(243,5983 - function write(259,6307 - function isComment(277,6645 - function comment(284,6822 - function msgid(304,7247 - function msgstr(320,7574 - function start(340,8232 - function createPOEntries(360,8644 - function stripLine(394,9472 - function printClassification(421,10056 - function classifyLine(432,10301 - function getTextDomains(471,11094 - class PORManager 498,11756 - function PORManager(502,11822 - function addPOReader(507,11896 - function &getPOReader(getPOReader512,11992 - function getDomainNames(517,12081 - function &loadPORManager(loadPORManager523,12174 - function fileJoin(536,12436 - function lce_bindtextdomain(557,12839 - function lce_textdomain(614,14530 - function lce_gettext(620,14641 - function lce_dgettext(626,14767 - function lce(634,14966 - function lce_bindtextdomain(651,15488 - function lce_textdomain(656,15592 - function lce_gettext(661,15674 - function lce_dgettext(666,15755 - function lce(670,15855 - function lce_geteditcode(676,15898 - -php-src/ptest.php,46 -define("TEST"TEST1,0 -test 4,26 -foo(16,200 - -perl-src/htlmify-cystic,1197 -my @section_name;section_name12,236 -my @appendix_name;appendix_name13,254 -my @section_toc;section_toc15,274 -my @appendix_toc;appendix_toc16,291 -my $new_tag new_tag18,310 -my $appendix;appendix24,409 -my $section;section25,423 -my $subsection;subsection26,436 -my $subsubsection;subsubsection27,452 -my $this_file_toc this_file_toc29,472 -my %file_tocs;file_tocs30,496 -my @output_files output_files32,512 -my $file_index file_index33,535 -my $output_file;output_file35,556 -my $line;line37,574 -my $subsection_marker;subsection_marker161,3883 -my $new;new163,3907 -sub read_toc 165,3917 - my $entry entry218,5621 - my $entry entry234,6077 - my $entry entry245,6351 - my $entry entry252,6536 - my $entry entry268,7010 - my $entry entry276,7204 - my $entry entry281,7328 - my $entry entry296,7698 -sub finish_subsubsections 302,7805 -sub finish_subsections 309,7987 -sub finish_sections 320,8310 -sub finish_appendices 331,8599 -sub section_url_base 337,8724 -sub section_url_name 342,8922 -sub section_url 355,9284 - my $name name357,9336 -sub section_href 364,9452 -sub section_name 368,9551 -sub toc_line 372,9655 -sub file_end 375,9750 - -perl-src/yagrip.pl,233 -sub getopt 7,156 - local($_,$flag,$opt,$f,$r,@temp)($_,$flag,$opt,$f,$r,@temp8,169 -sub usage 38,856 - local($prog,$_,@list)($prog,$_,@list39,868 - local($string,$flag,@string,@temp,@last)($string,$flag,@string,@temp,@last40,897 - -perl-src/kai-test.pl,203 -sub f1 2,16 -sub main::f2 f26,50 -package Foo;10,90 -sub f3 12,104 -sub Bar::f4 f416,138 -package Bar;20,177 -sub f5 22,191 -package Foo::Bar;26,225 -sub f6 28,244 -package main;32,278 -sub f7 34,293 - -ps-src/rfc1245.ps,2478 -/FMversion 12,311 -/FrameDict 17,500 -/FMVERSION 47,1307 -/FMLOCAL 56,1494 -/FMDOCUMENT 73,1766 -/FMBEGINPAGE 95,2279 -/FMENDPAGE 109,2516 -/FMDEFINEFONT 115,2582 -/FMNORMALIZEGRAPHICS 126,2725 -/FMBEGINEPSF 142,2955 -/FMENDEPSF 153,3207 -/setmanualfeed 158,3283 -/max 163,3386 -/min 164,3426 -/inch 165,3466 -/pagedimen 166,3485 -/setpapername 172,3629 -/papersize 190,4214 -/manualpapersize 211,4789 -/desperatepapersize 230,5211 -/savematrix 239,5370 -/restorematrix 242,5425 -/dmatrix 245,5475 -/dpi 246,5495 -/freq 248,5583 -/sangle 249,5658 -/DiacriticEncoding 250,5717 -/.notdef 251,5738 -/.notdef 252,5801 -/.notdef 253,5864 -/.notdef 254,5927 -/.notdef 255,5990 -/numbersign 256,6051 -/parenright 257,6115 -/two 258,6184 -/less 259,6251 -/L 260,6320 -/bracketright 261,6389 -/i 262,6459 -/braceright 263,6529 -/Ntilde 264,6598 -/atilde 265,6668 -/iacute 266,6733 -/ocircumflex 267,6797 -/udieresis 268,6858 -/paragraph 269,6919 -/dieresis 270,6983 -/yen 271,7050 -/ordfeminine 272,7109 -/exclamdown 273,7171 -/guillemotleft 274,7230 -/Otilde 275,7296 -/quoteleft 276,7357 -/fraction 277,7420 -/periodcentered 278,7490 -/Acircumflex 279,7549 -/Icircumflex 280,7610 -/Uacute 281,7680 -/breve 282,7746 -/ReEncode 284,7814 -/graymode 300,8020 -/setpattern 310,8184 -/grayness 331,8725 -/normalize 394,9873 -/dnormalize 397,9942 -/lnormalize 400,10014 -/H 403,10104 -/Z 406,10147 -/X 409,10176 -/V 412,10219 -/N 415,10260 -/M 418,10286 -/E 419,10315 -/D 420,10336 -/O 421,10358 -/L 423,10394 -/Y 430,10489 -/R 439,10588 -/RR 450,10696 -/C 467,10959 -/U 473,11004 -/F 477,11039 -/T 481,11084 -/RF 484,11115 -/TF 488,11164 -/P 495,11219 -/PF 499,11270 -/S 506,11344 -/SF 510,11384 -/B 517,11446 -/BF 521,11505 -/W 538,11714 -/G 573,12382 -/A 582,12525 -/BEGINPRINTCODE 606,12918 -/ENDPRINTCODE 615,13131 -/gn 620,13259 -/cfs 631,13384 -/ic 636,13473 -/ms 658,14285 -/ip 668,14395 -/wh 678,14492 -/bl 684,14607 -/s1 690,14722 -/fl 691,14739 -/hx 698,14887 -/wbytes 709,15055 -/BEGINBITMAPBWc 713,15147 -/BEGINBITMAPGRAYc 716,15198 -/BEGINBITMAP2BITc 719,15251 -/COMMONBITMAPc 722,15304 -/BEGINBITMAPBW 739,15660 -/BEGINBITMAPGRAY 742,15709 -/BEGINBITMAP2BIT 745,15760 -/COMMONBITMAP 748,15811 -/Fmcc 765,16156 -/ngrayt 773,16371 -/nredt 774,16393 -/nbluet 775,16414 -/ngreent 776,16436 -/colorsetup 787,16603 -/fakecolorsetup 814,17370 -/BITMAPCOLOR 826,17636 -/BITMAPCOLORc 839,17926 -/BITMAPGRAY 855,18275 -/BITMAPGRAYc 858,18335 -/ENDBITMAP 861,18397 -/fillprocs 868,18497 - -prol-src/ordsets.prolog,525 -is_ordset(47,1310 -list_to_ord_set(63,1688 -ord_add_element(71,1867 -ord_del_element(85,2344 -ord_disjoint(100,2783 -ord_intersect(108,2953 -ord_intersection(126,3553 -ord_intersection3(130,3692 -ord_intersection(150,4533 -ord_intersection4(154,4705 -ord_intersection(176,5666 -ord_intersection2(181,5814 -ord_member(200,6320 -ord_seteq(216,6685 -ord_setproduct(225,6973 -ord_subset(240,7379 -ord_subtract(257,7863 -ord_symdiff(265,8056 -ord_union(288,8889 -ord_union4(303,9354 -ord_union(324,10173 -ord_union_all(329,10315 - -prol-src/natded.prolog,2319 -expandmng(100,2879 -normalize(116,3359 -fresh_vars(125,3716 -subst(138,4134 -normalize_fresh(159,4660 -reduce_subterm(171,5112 -reduce(185,5559 -free_var(196,5903 -free_for(209,6246 -compile_lex(231,6875 -consult_lex:-consult_lex248,7384 -lex(259,7754 -expandsyn(267,8068 -bas_syn(292,8897 -compile_empty:-compile_empty310,9376 -complete(328,10055 -add_active(340,10527 -parse(353,10949 -derived_analyses(364,11341 -build(378,11967 -buildact(392,12523 -mapsyn(412,13544 -add_edge(434,14280 -findcats(447,14760 -normalize_tree(465,15480 -normalize_trees(475,15858 -expandmng_tree(486,16250 -expandmng_trees(496,16616 -cat(511,17015 -subtree(644,21268 -hypothetical_mem(653,21567 -make_coor(667,22132 -start_up:-start_up688,23015 -tokenizeatom(710,23923 -tokenize(720,24350 -isoperator(752,25379 -isoptab(756,25433 -specialsymbol(765,25758 -sstab(771,25863 -parse_cgi(787,26349 -keyvalseq(792,26512 -andkeyvalseq(796,26611 -keyval(799,26690 -valseq(807,26922 -plusvalseq(810,27009 -val(816,27111 -argvals(824,27428 -commaargvals(828,27505 -atomval(833,27580 -atom(836,27642 -action(846,28006 -keyvalcgi(864,28651 -keyvalscgi(865,28672 -outsyn(868,28728 -act(876,29062 -actout(901,29908 -texttreelist(912,30091 -htmltreelist(918,30192 -fitchtreelist(924,30306 -pp_html_table_tree(938,30761 -pp_html_tree(949,31115 -pp_html_trees(988,32383 -pp_html_table_fitch_tree(999,32771 -pp_html_fitch_tree(1017,33674 -removeexp(1129,39004 -splitexp(1142,39492 -pp_exp(1155,39992 -map_word(1168,40251 -pp_exps(1180,40476 -pp_tree(1188,40779 -pp_trees(1216,41809 -pp_word_list(1225,42130 -pp_word(1231,42264 -pp_word_list_rest(1238,42571 -pp_cat(1248,42931 -pp_syn(1255,43198 -pp_syn_paren(1276,43901 -pp_paren(1293,44379 -pp_syn_back(1300,44663 -pp_bas_cat(1311,45003 -writecat(1322,45411 -writesubs(1351,46457 -writesups(1361,46759 -writelistsubs(1371,47092 -pp_lam(1380,47410 -pp_lam_bracket(1398,48024 -pp_lam_paren(1407,48340 -pp_rule(1429,49240 -member(1447,49868 -append_list(1451,49921 -append(1456,50012 -at_least_one_member(1460,50078 -numbervars(1464,50173 -reverse(1467,50211 -select(1471,50292 -select_last(1475,50359 -cat_atoms(1479,50438 -writelist(1485,50526 -write_lex_cat(1492,50678 -writebreaklex(1500,50990 -write_lex(1513,51267 -writebreak(1521,51543 -tt:-tt1531,51715 -mt:-mt1534,51786 -cmt:-cmt1537,51880 - -pyt-src/server.py,1438 -class Controls:Controls17,358 - def __init__(18,374 - def __repr__(24,590 - def __str__(34,871 -class Server:Server37,934 - def __init__(38,948 - def dump(73,2198 - def __repr__(125,3896 - def __str__(128,3945 -class User:User131,4014 - def __init__(132,4026 - def __repr__(172,5445 - def __str__(206,6883 -def flag2str(223,7212 -class LabeledEntry(232,7442 - def bind(234,7525 - def focus_set(236,7584 - def __init__(238,7629 -def ButtonBar(245,7909 -def helpwin(255,8280 -class ListEdit(267,8707 - def __init__(269,8808 - def handleList(303,10042 - def handleNew(306,10094 - def editItem(314,10426 - def deleteItem(320,10596 -def ConfirmQuit(326,10760 -class ControlEdit(375,12377 - def PostControls(376,12403 - def GatherControls(421,13530 -class ServerEdit(512,16264 - def __init__(513,16289 - def post(525,16629 - def gather(543,17191 - def nosave(547,17304 - def save(551,17408 - def refreshPort(556,17509 - def createWidgets(561,17663 - def edituser(631,20708 -class UserEdit(645,20921 - def __init__(646,20944 - def post(658,21283 - def gather(676,21841 - def nosave(680,21950 - def save(684,22052 - def createWidgets(689,22151 -class Configure(760,24879 - def __init__(761,24916 - def MakeDispose(772,25211 - def MakeSitelist(786,25706 - def editsite(794,25949 - def save(797,26022 - def nosave(807,26310 - -ruby-src/test.rb,637 -module ModuleExample1,0 - class ClassExample2,21 - def instance_method3,44 - def ClassExample.class_methodclass_method6,121 - def instance_method_exclamation!9,206 - def instance_method_question?12,310 - def instance_method_equals=instance_method_equals=15,408 - def `(18,502 - def +(21,592 - def [](24,640 - def []=([]=27,690 - def <<(30,752 - def ==(==33,802 - def <=(<=36,872 - def <=>(<=>39,943 - def ===(===42,990 - def module_instance_method46,1051 - def ModuleExample.module_class_methodmodule_class_method49,1131 - -ruby-src/test1.ru,935 -class A1,0 - def a(2,8 - def b(5,38 -module A9,57 - class B10,66 - ABC 11,76 - Def_ 12,88 - Xyzzy 13,106 - def foo!15,121 - def self._bar?(_bar?18,143 - def qux=(qux=22,194 - attr_reader :foofoo26,233 - attr_reader :read1 read127,254 - attr_reader :read1 , :read2;read227,254 - attr_reader :read1 , :read2; attr_writer :write1,write1=27,254 - attr_reader :read1 , :read2; attr_writer :write1, :write2write2=27,254 - attr_writer :bar,bar=28,316 - :baz,baz=29,338 - :moremore=30,360 - attr_accessor :teetee31,382 - attr_accessor :teetee=31,382 - alias_method :qux,qux32,405 - alias_method :xyz,xyz33,456 - :tee ; attr_reader :subtlesubtle34,479 - attr_reader(:foo1,foo135,523 - attr_reader(:foo1, :bar1,bar135,523 - :qux1)qux136,563 - alias_method ( :foo2,foo237,586 -A::Constant Constant42,655 - -rs-src/test.rs,52 -enum IpAddrKind 3,11 -fn test1(8,48 -fn main(12,88 - -scm-src/test.scm,260 -(define hello 1,0 -(set! hello 3,32 -(define (hello-world)5,62 -(define (there-is-a-=-in-the-middle!)there-is-a-=-in-the-middle!10,128 -(define =starts-with-equals! =starts-with-equals!12,171 -(define (((((curry-test 14,205 -(define-syntax test-begin17,265 - -tex-src/testenv.tex,52 -\newcommand{\nm}\nm4,77 -\section{blah}blah8,139 - -tex-src/gzip.texi,303 -@node Top,62,2139 -@node Copying,80,2652 -@node Overview,83,2705 -@node Sample,166,7273 -@node Invoking gzip,Invoking gzip210,8829 -@node Advanced usage,Advanced usage357,13497 -@node Environment,420,15209 -@node Tapes,437,15770 -@node Problems,460,16769 -@node Concept Index,Concept Index473,17289 - -tex-src/texinfo.tex,30627 -\def\texinfoversion{\texinfoversion26,1035 -\def\tie{\tie49,1526 -\def\gloggingall{\gloggingall72,2276 -\def\loggingall{\loggingall73,2345 -\def\onepageout#1{\onepageout99,3282 -\def\croppageout#1{\croppageout115,4032 -\def\cropmarks{\cropmarks142,5092 -\def\pagebody#1{\pagebody144,5139 -\def\ewtop{\ewtop157,5594 -\def\nstop{\nstop158,5658 -\def\ewbot{\ewbot160,5741 -\def\nsbot{\nsbot161,5805 -\def\parsearg #1{\parsearg170,6104 -\def\parseargx{\parseargx172,6182 -\def\parseargline{\parseargline182,6422 -\def\flushcr{\flushcr186,6543 -\newif\ifENV \ENVfalse \def\inENV{\inENV190,6742 -\def\ENVcheck{\ENVcheck191,6806 -\outer\def\begin{\begin198,7053 -\def\beginxxx #1{\beginxxx200,7091 -\def\end{\end208,7346 -\def\endxxx #1{\endxxx210,7374 -\def\errorE#1{\errorE216,7563 -\def\singlespace{\singlespace222,7757 -\def\@{\@232,7980 -\def\`{\`236,8080 -\def\'{\'237,8092 -\def\mylbrace {\mylbrace241,8140 -\def\myrbrace {\myrbrace242,8173 -\def\:{\:247,8287 -\def\*{\*250,8341 -\def\.{\.253,8417 -\def\w#1{\w258,8648 -\def\group{\group268,9131 - \def\Egroup{\Egroup273,9295 -\def\need{\need289,9737 -\def\needx#1{\needx300,10014 -\def\dots{\dots339,11400 -\def\page{\page343,11464 -\def\exdent{\exdent353,11791 -\def\exdentyyy #1{\exdentyyy354,11824 -\def\nofillexdent{\nofillexdent357,11968 -\def\nofillexdentyyy #1{\nofillexdentyyy358,12013 -\def\include{\include365,12197 -\def\includezzz #1{\includezzz366,12232 -\def\thisfile{\thisfile369,12283 -\def\center{\center373,12346 -\def\centerzzz #1{\centerzzz374,12379 -\def\sp{\sp380,12521 -\def\spxxx #1{\spxxx381,12546 -\def\comment{\comment387,12720 -\def\commentxxx #1{\commentxxx390,12817 -\def\ignoresections{\ignoresections396,12986 -\let\chapter=\relax=\relax397,13008 -\let\section=\relax=\relax406,13253 -\let\subsection=\relax=\relax409,13314 -\let\subsubsection=\relax=\relax410,13337 -\let\appendix=\relax=\relax411,13363 -\let\appendixsec=\relaxsec=\relax412,13384 -\let\appendixsection=\relaxsection=\relax413,13408 -\let\appendixsubsec=\relaxsubsec=\relax414,13436 -\let\appendixsubsection=\relaxsubsection=\relax415,13463 -\let\appendixsubsubsec=\relaxsubsubsec=\relax416,13494 -\let\appendixsubsubsection=\relaxsubsubsection=\relax417,13524 -\def\ignore{\ignore423,13626 -\long\def\ignorexxx #1\end ignore{\ignorexxx427,13766 -\def\direntry{\direntry429,13825 -\long\def\direntryxxx #1\end direntry{\direntryxxx430,13864 -\def\ifset{\ifset434,13974 -\def\ifsetxxx #1{\ifsetxxx436,14032 -\def\Eifset{\Eifset440,14159 -\def\ifsetfail{\ifsetfail441,14173 -\long\def\ifsetfailxxx #1\end ifset{\ifsetfailxxx442,14229 -\def\ifclear{\ifclear444,14290 -\def\ifclearxxx #1{\ifclearxxx446,14352 -\def\Eifclear{\Eifclear450,14483 -\def\ifclearfail{\ifclearfail451,14499 -\long\def\ifclearfailxxx #1\end ifclear{\ifclearfailxxx452,14559 -\def\set{\set456,14710 -\def\setxxx #1{\setxxx457,14737 -\def\clear{\clear460,14799 -\def\clearxxx #1{\clearxxx461,14830 -\def\iftex{\iftex466,14947 -\def\Eiftex{\Eiftex467,14960 -\def\ifinfo{\ifinfo468,14974 -\long\def\ifinfoxxx #1\end ifinfo{\ifinfoxxx469,15024 -\long\def\menu #1\end menu{\menu471,15083 -\def\asis#1{\asis472,15112 -\def\math#1{\math485,15655 -\def\node{\node487,15699 -\def\nodezzz#1{\nodezzz488,15737 -\def\nodexxx[#1,#2]{\nodexxx[489,15768 -\def\donoderef{\donoderef492,15830 -\def\unnumbnoderef{\unnumbnoderef496,15951 -\def\appendixnoderef{\appendixnoderef500,16082 -\expandafter\expandafter\expandafter\appendixsetref{setref501,16128 -\let\refill=\relaxill=\relax504,16217 -\def\setfilename{\setfilename509,16431 -\outer\def\bye{\bye518,16677 -\def\inforef #1{\inforef520,16733 -\def\inforefzzz #1,#2,#3,#4**{\inforefzzz521,16771 -\def\losespace #1{\losespace523,16868 -\def\sf{\sf532,17072 -\font\defbf=cmbx10 scaled \magstep1 %was 1314bf=cmbx10558,17867 -\font\deftt=cmtt10 scaled \magstep1tt=cmtt10559,17913 -\def\df{\df560,17949 -\def\resetmathfonts{\resetmathfonts635,20543 -\def\textfonts{\textfonts648,21132 -\def\chapfonts{\chapfonts653,21347 -\def\secfonts{\secfonts658,21563 -\def\subsecfonts{\subsecfonts663,21768 -\def\indexfonts{\indexfonts668,21985 -\def\smartitalicx{\smartitalicx691,22717 -\def\smartitalic#1{\smartitalic692,22793 -\let\cite=\smartitalic=\smartitalic698,22938 -\def\b#1{\b700,22962 -\def\t#1{\t703,22997 -\def\samp #1{\samp706,23149 -\def\key #1{\key707,23182 -\def\ctrl #1{\ctrl708,23243 -\def\tclose#1{\tclose716,23445 -\def\ {\720,23611 -\def\xkey{\xkey728,23880 -\def\kbdfoo#1#2#3\par{\kbdfoo729,23896 -\def\dmn#1{\dmn738,24197 -\def\kbd#1{\kbd740,24224 -\def\l#1{\l742,24281 -\def\r#1{\r744,24310 -\def\sc#1{\sc746,24378 -\def\ii#1{\ii747,24421 -\def\titlefont#1{\titlefont755,24654 -\def\titlepage{\titlepage761,24757 - \def\subtitlefont{\subtitlefont766,24984 - \def\authorfont{\authorfont768,25068 - \def\title{\title774,25278 - \def\titlezzz##1{\titlezzz775,25313 - \def\subtitle{\subtitle783,25628 - \def\subtitlezzz##1{\subtitlezzz784,25669 - \def\author{\author787,25787 - \def\authorzzz##1{\authorzzz788,25824 - \def\page{\page794,26115 -\def\Etitlepage{\Etitlepage804,26284 -\def\finishtitlepage{\finishtitlepage817,26672 -\def\evenheading{\evenheading846,27680 -\def\oddheading{\oddheading847,27723 -\def\everyheading{\everyheading848,27764 -\def\evenfooting{\evenfooting850,27810 -\def\oddfooting{\oddfooting851,27853 -\def\everyfooting{\everyfooting852,27894 -\def\headings #1 {\headings893,29586 -\def\HEADINGSoff{\HEADINGSoff895,29635 -\def\HEADINGSdouble{\HEADINGSdouble904,30062 -\def\HEADINGSsingle{\HEADINGSsingle914,30382 -\def\HEADINGSon{\HEADINGSon922,30603 -\def\HEADINGSafter{\HEADINGSafter924,30637 -\def\HEADINGSdoublex{\HEADINGSdoublex926,30732 -\def\HEADINGSsingleafter{\HEADINGSsingleafter933,30920 -\def\HEADINGSsinglex{\HEADINGSsinglex934,30981 -\def\today{\today943,31256 -\def\thistitle{\thistitle958,31801 -\def\settitle{\settitle959,31826 -\def\settitlezzz #1{\settitlezzz960,31863 -\def\internalBitem{\internalBitem992,32793 -\def\internalBitemx{\internalBitemx993,32843 -\def\internalBxitem "#1"{\internalBxitem995,32888 -\def\internalBxitemx "#1"{\internalBxitemx996,32968 -\def\internalBkitem{\internalBkitem998,33043 -\def\internalBkitemx{\internalBkitemx999,33095 -\def\kitemzzz #1{\kitemzzz1001,33142 -\def\xitemzzz #1{\xitemzzz1004,33244 -\def\itemzzz #1{\itemzzz1007,33347 -\def\item{\item1037,34418 -\def\itemx{\itemx1038,34469 -\def\kitem{\kitem1039,34522 -\def\kitemx{\kitemx1040,34575 -\def\xitem{\xitem1041,34630 -\def\xitemx{\xitemx1042,34683 -\def\description{\description1045,34793 -\def\table{\table1047,34843 -\def\ftable{\ftable1052,34987 -\def\Eftable{\Eftable1056,35133 -\def\vtable{\vtable1059,35202 -\def\Evtable{\Evtable1063,35348 -\def\dontindex #1{\dontindex1066,35417 -\def\fnitemindex #1{\fnitemindex1067,35437 -\def\vritemindex #1{\vritemindex1068,35482 -\def\tablez #1#2#3#4#5#6{\tablez1074,35631 -\def\Edescription{\Edescription1077,35689 -\def\itemfont{\itemfont1082,35890 -\def\Etable{\Etable1090,36116 -\def\itemize{\itemize1103,36440 -\def\itemizezzz #1{\itemizezzz1105,36476 -\def\itemizey #1#2{\itemizey1110,36571 -\def#2{1119,36817 -\def\itemcontents{\itemcontents1120,36858 -\def\bullet{\bullet1123,36906 -\def\minus{\minus1124,36933 -\def\frenchspacing{\frenchspacing1128,37041 -\def\splitoff#1#2\endmark{\splitoff1134,37266 -\def\enumerate{\enumerate1140,37496 -\def\enumeratezzz #1{\enumeratezzz1141,37535 -\def\enumeratey #1 #2\endenumeratey{\enumeratey1142,37588 - \def\thearg{\thearg1146,37735 - \ifx\thearg\empty \def\thearg{\thearg1147,37754 -\def\numericenumerate{\numericenumerate1184,39088 -\def\lowercaseenumerate{\lowercaseenumerate1190,39218 -\def\uppercaseenumerate{\uppercaseenumerate1203,39565 -\def\startenumeration#1{\startenumeration1219,40055 -\def\alphaenumerate{\alphaenumerate1227,40237 -\def\capsenumerate{\capsenumerate1228,40272 -\def\Ealphaenumerate{\Ealphaenumerate1229,40306 -\def\Ecapsenumerate{\Ecapsenumerate1230,40340 -\def\itemizeitem{\itemizeitem1234,40420 -\def\newindex #1{\newindex1259,41277 -\def\defindex{\defindex1268,41566 -\def\newcodeindex #1{\newcodeindex1272,41674 -\def\defcodeindex{\defcodeindex1279,41934 -\def\synindex #1 #2 {\synindex1283,42114 -\def\syncodeindex #1 #2 {\syncodeindex1292,42454 -\def\doindex#1{\doindex1309,43133 -\def\singleindexer #1{\singleindexer1310,43192 -\def\docodeindex#1{\docodeindex1313,43304 -\def\singlecodeindexer #1{\singlecodeindexer1314,43371 -\def\indexdummies{\indexdummies1316,43429 -\def\_{\_1317,43449 -\def\w{\w1318,43477 -\def\bf{\bf1319,43504 -\def\rm{\rm1320,43533 -\def\sl{\sl1321,43562 -\def\sf{\sf1322,43591 -\def\tt{\tt1323,43619 -\def\gtr{\gtr1324,43647 -\def\less{\less1325,43677 -\def\hat{\hat1326,43709 -\def\char{\char1327,43739 -\def\TeX{\TeX1328,43771 -\def\dots{\dots1329,43801 -\def\copyright{\copyright1330,43834 -\def\tclose##1{\tclose1331,43877 -\def\code##1{\code1332,43922 -\def\samp##1{\samp1333,43963 -\def\t##1{\t1334,44004 -\def\r##1{\r1335,44039 -\def\i##1{\i1336,44074 -\def\b##1{\b1337,44109 -\def\cite##1{\cite1338,44144 -\def\key##1{\key1339,44185 -\def\file##1{\file1340,44224 -\def\var##1{\var1341,44265 -\def\kbd##1{\kbd1342,44304 -\def\indexdummyfont#1{\indexdummyfont1347,44460 -\def\indexdummytex{\indexdummytex1348,44486 -\def\indexdummydots{\indexdummydots1349,44510 -\def\indexnofonts{\indexnofonts1351,44536 -\let\w=\indexdummyfontdummyfont1352,44556 -\let\t=\indexdummyfontdummyfont1353,44579 -\let\r=\indexdummyfontdummyfont1354,44602 -\let\i=\indexdummyfontdummyfont1355,44625 -\let\b=\indexdummyfontdummyfont1356,44648 -\let\emph=\indexdummyfontdummyfont1357,44671 -\let\strong=\indexdummyfontdummyfont1358,44697 -\let\cite=\indexdummyfont=\indexdummyfont1359,44725 -\let\sc=\indexdummyfontdummyfont1360,44751 -\let\tclose=\indexdummyfontdummyfont1364,44923 -\let\code=\indexdummyfontdummyfont1365,44951 -\let\file=\indexdummyfontdummyfont1366,44977 -\let\samp=\indexdummyfontdummyfont1367,45003 -\let\kbd=\indexdummyfontdummyfont1368,45029 -\let\key=\indexdummyfontdummyfont1369,45054 -\let\var=\indexdummyfontdummyfont1370,45079 -\let\TeX=\indexdummytexdummytex1371,45104 -\let\dots=\indexdummydotsdummydots1372,45128 -\let\indexbackslash=0 %overridden during \printindex.backslash=01382,45380 -\def\doind #1#2{\doind1384,45436 -{\indexdummies % Must do this here, since \bf, etc expand at this stagedummies1386,45479 -\def\rawbackslashxx{\rawbackslashxx1389,45619 -{\indexnofontsnofonts1394,45881 -\def\dosubind #1#2#3{\dosubind1405,46192 -{\indexdummies % Must do this here, since \bf, etc expand at this stagedummies1407,46240 -\def\rawbackslashxx{\rawbackslashxx1410,46344 -{\indexnofontsnofonts1414,46498 -\def\findex {\findex1443,47429 -\def\kindex {\kindex1444,47452 -\def\cindex {\cindex1445,47475 -\def\vindex {\vindex1446,47498 -\def\tindex {\tindex1447,47521 -\def\pindex {\pindex1448,47544 -\def\cindexsub {\cindexsub1450,47568 -\def\printindex{\printindex1462,47895 -\def\doprintindex#1{\doprintindex1464,47936 - \def\indexbackslash{\indexbackslash1481,48421 - \indexfonts\rm \tolerance=9500 \advance\baselineskip -1ptfonts\rm1482,48460 -\def\initial #1{\initial1517,49532 -\def\entry #1#2{\entry1523,49739 - \null\nobreak\indexdotfill % Have leaders before the page number.dotfill1540,50386 -\def\indexdotfill{\indexdotfill1549,50714 -\def\primary #1{\primary1552,50820 -\def\secondary #1#2{\secondary1556,50902 -\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\pardotfill1559,50984 -\newbox\partialpageialpage1566,51157 -\def\begindoublecolumns{\begindoublecolumns1572,51315 - \output={\global\setbox\partialpage=ialpage=1573,51351 -\def\enddoublecolumns{\enddoublecolumns1577,51539 -\def\doublecolumnout{\doublecolumnout1580,51624 - \dimen@=\pageheight \advance\dimen@ by-\ht\partialpageialpage1581,51693 -\def\pagesofar{\pagesofar1584,51871 -\def\balancecolumns{\balancecolumns1588,52108 - \availdimen@=\pageheight \advance\availdimen@ by-\ht\partialpageialpage1594,52279 - \dimen@=\pageheight \advance\dimen@ by-\ht\partialpageialpage1600,52540 -\newcount \appendixno \appendixno = `\@no1627,53445 -\def\appendixletter{\appendixletter1628,53486 -\def\opencontents{\opencontents1632,53589 -\def\thischapter{\thischapter1637,53770 -\def\seccheck#1{\seccheck1638,53808 -\def\chapternofonts{\chapternofonts1643,53912 -\def\result{\result1646,53987 -\def\equiv{\equiv1647,54022 -\def\expansion{\expansion1648,54055 -\def\print{\print1649,54096 -\def\TeX{\TeX1650,54129 -\def\dots{\dots1651,54158 -\def\copyright{\copyright1652,54189 -\def\tt{\tt1653,54230 -\def\bf{\bf1654,54257 -\def\w{\w1655,54285 -\def\less{\less1656,54310 -\def\gtr{\gtr1657,54341 -\def\hat{\hat1658,54370 -\def\char{\char1659,54399 -\def\tclose##1{\tclose1660,54430 -\def\code##1{\code1661,54474 -\def\samp##1{\samp1662,54514 -\def\r##1{\r1663,54554 -\def\b##1{\b1664,54588 -\def\key##1{\key1665,54622 -\def\file##1{\file1666,54660 -\def\kbd##1{\kbd1667,54700 -\def\i##1{\i1669,54808 -\def\cite##1{\cite1670,54842 -\def\var##1{\var1671,54882 -\def\emph##1{\emph1672,54920 -\def\dfn##1{\dfn1673,54960 -\def\thischaptername{\thischaptername1676,55001 -\outer\def\chapter{\chapter1677,55040 -\def\chapterzzz #1{\chapterzzz1678,55081 -{\chapternofonts%nofonts%1687,55477 -\global\let\section = \numberedsec=1692,55630 -\global\let\subsection = \numberedsubsec=1693,55665 -\global\let\subsubsection = \numberedsubsubsec=1694,55706 -\outer\def\appendix{\appendix1697,55757 -\def\appendixzzz #1{\appendixzzz1698,55800 -\global\advance \appendixno by 1 \message{no1700,55877 -\chapmacro {#1}{Appendix \appendixletter}letter1701,55946 -\xdef\thischapter{Appendix \appendixletter: \noexpand\thischaptername}letter:1704,56039 -{\chapternofonts%nofonts%1705,56111 - {#1}{Appendix \appendixletter}letter1707,56167 -\appendixnoderef %noderef1710,56267 -\global\let\section = \appendixsec=1711,56286 -\global\let\subsection = \appendixsubsec=1712,56321 -\global\let\subsubsection = \appendixsubsubsec=1713,56362 -\outer\def\top{\top1716,56413 -\outer\def\unnumbered{\unnumbered1717,56453 -\def\unnumberedzzz #1{\unnumberedzzz1718,56500 -{\chapternofonts%nofonts%1722,56663 -\global\let\section = \unnumberedsec=1727,56813 -\global\let\subsection = \unnumberedsubsec=1728,56850 -\global\let\subsubsection = \unnumberedsubsubsec=1729,56893 -\outer\def\numberedsec{\numberedsec1732,56946 -\def\seczzz #1{\seczzz1733,56987 -{\chapternofonts%nofonts%1736,57143 -\outer\def\appendixsection{\appendixsection1745,57329 -\outer\def\appendixsec{\appendixsec1746,57386 -\def\appendixsectionzzz #1{\appendixsectionzzz1747,57439 -\gdef\thissection{#1}\secheading {#1}{\appendixletter}letter1749,57551 -{\chapternofonts%nofonts%1750,57619 -{#1}{\appendixletter}letter1752,57675 -\appendixnoderef %noderef1755,57775 -\outer\def\unnumberedsec{\unnumberedsec1759,57815 -\def\unnumberedseczzz #1{\unnumberedseczzz1760,57868 -{\chapternofonts%nofonts%1762,57963 -\outer\def\numberedsubsec{\numberedsubsec1770,58131 -\def\numberedsubseczzz #1{\numberedsubseczzz1771,58186 -{\chapternofonts%nofonts%1774,58365 -\outer\def\appendixsubsec{\appendixsubsec1783,58569 -\def\appendixsubseczzz #1{\appendixsubseczzz1784,58624 -\subsecheading {#1}{\appendixletter}letter1786,58746 -{\chapternofonts%nofonts%1787,58811 -{#1}{\appendixletter}letter1789,58870 -\appendixnoderef %noderef1792,58985 -\outer\def\unnumberedsubsec{\unnumberedsubsec1796,59025 -\def\unnumberedsubseczzz #1{\unnumberedsubseczzz1797,59084 -{\chapternofonts%nofonts%1799,59185 -\outer\def\numberedsubsubsec{\numberedsubsubsec1807,59356 -\def\numberedsubsubseczzz #1{\numberedsubsubseczzz1808,59417 -{\chapternofonts%nofonts%1812,59614 -\outer\def\appendixsubsubsec{\appendixsubsubsec1823,59847 -\def\appendixsubsubseczzz #1{\appendixsubsubseczzz1824,59908 - {\appendixletter}letter1827,60047 -{\chapternofonts%nofonts%1828,60113 - {\appendixletter}letter1830,60178 -\appendixnoderef %noderef1834,60312 -\outer\def\unnumberedsubsubsec{\unnumberedsubsubsec1838,60352 -\def\unnumberedsubsubseczzz #1{\unnumberedsubsubseczzz1839,60417 -{\chapternofonts%nofonts%1841,60524 -\def\infotop{\infotop1851,60853 -\def\infounnumbered{\infounnumbered1852,60891 -\def\infounnumberedsec{\infounnumberedsec1853,60936 -\def\infounnumberedsubsec{\infounnumberedsubsec1854,60987 -\def\infounnumberedsubsubsec{\infounnumberedsubsubsec1855,61044 -\def\infoappendix{\infoappendix1857,61108 -\def\infoappendixsec{\infoappendixsec1858,61149 -\def\infoappendixsubsec{\infoappendixsubsec1859,61196 -\def\infoappendixsubsubsec{\infoappendixsubsubsec1860,61249 -\def\infochapter{\infochapter1862,61309 -\def\infosection{\infosection1863,61348 -\def\infosubsection{\infosubsection1864,61387 -\def\infosubsubsection{\infosubsubsection1865,61432 -\global\let\section = \numberedsec=1870,61669 -\global\let\subsection = \numberedsubsec=1871,61704 -\global\let\subsubsection = \numberedsubsubsec=1872,61745 -\def\majorheading{\majorheading1886,62252 -\def\majorheadingzzz #1{\majorheadingzzz1887,62297 -\def\chapheading{\chapheading1893,62530 -\def\chapheadingzzz #1{\chapheadingzzz1894,62573 -\def\heading{\heading1899,62768 -\def\subheading{\subheading1901,62805 -\def\subsubheading{\subsubheading1903,62848 -\def\dobreak#1#2{\dobreak1910,63125 -\def\setchapterstyle #1 {\setchapterstyle1912,63203 -\def\chapbreak{\chapbreak1919,63458 -\def\chappager{\chappager1920,63508 -\def\chapoddpage{\chapoddpage1921,63546 -\def\setchapternewpage #1 {\setchapternewpage1923,63625 -\def\CHAPPAGoff{\CHAPPAGoff1925,63682 -\def\CHAPPAGon{\CHAPPAGon1929,63776 -\global\def\HEADINGSon{\HEADINGSon1932,63867 -\def\CHAPPAGodd{\CHAPPAGodd1934,63909 -\global\def\HEADINGSon{\HEADINGSon1937,64005 -\def\CHAPFplain{\CHAPFplain1941,64059 -\def\chfplain #1#2{\chfplain1945,64151 -\def\unnchfplain #1{\unnchfplain1956,64374 -\def\unnchfopen #1{\unnchfopen1964,64603 -\def\chfopen #1#2{\chfopen1970,64811 -\def\CHAPFopen{\CHAPFopen1975,64955 -\def\subsecheadingbreak{\subsecheadingbreak1982,65173 -\def\secheadingbreak{\secheadingbreak1985,65302 -\def\secheading #1#2#3{\secheading1993,65584 -\def\plainsecheading #1{\plainsecheading1994,65640 -\def\secheadingi #1{\secheadingi1995,65683 -\def\subsecheading #1#2#3#4{\subsecheading2006,66051 -\def\subsecheadingi #1{\subsecheadingi2007,66118 -\def\subsubsecfonts{\subsubsecfonts2014,66415 -\def\subsubsecheading #1#2#3#4#5{\subsubsecheading2017,66538 -\def\subsubsecheadingi #1{\subsubsecheadingi2018,66616 -\def\startcontents#1{\startcontents2032,67088 - \unnumbchapmacro{#1}\def\thischapter{\thischapter2040,67361 -\outer\def\contents{\contents2049,67720 -\outer\def\summarycontents{\summarycontents2057,67864 - \def\secentry ##1##2##3##4{\secentry2067,68235 - \def\unnumbsecentry ##1##2{\unnumbsecentry2068,68270 - \def\subsecentry ##1##2##3##4##5{\subsecentry2069,68305 - \def\unnumbsubsecentry ##1##2{\unnumbsubsecentry2070,68346 - \def\subsubsecentry ##1##2##3##4##5##6{\subsubsecentry2071,68384 - \def\unnumbsubsubsecentry ##1##2{\unnumbsubsubsecentry2072,68431 -\def\chapentry#1#2#3{\chapentry2085,68865 -\def\shortchapentry#1#2#3{\shortchapentry2088,68982 - {#2\labelspace #1}space2091,69092 -\def\unnumbchapentry#1#2{\unnumbchapentry2094,69146 -\def\shortunnumberedentry#1#2{\shortunnumberedentry2095,69193 -\def\secentry#1#2#3#4{\secentry2102,69357 -\def\unnumbsecentry#1#2{\unnumbsecentry2103,69416 -\def\subsecentry#1#2#3#4#5{\subsecentry2106,69477 -\def\unnumbsubsecentry#1#2{\unnumbsubsecentry2107,69547 -\def\subsubsecentry#1#2#3#4#5#6{\subsubsecentry2110,69621 - \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}space2111,69655 -\def\unnumbsubsubsecentry#1#2{\unnumbsubsubsecentry2112,69706 -\def\dochapentry#1#2{\dochapentry2123,70080 -\def\dosecentry#1#2{\dosecentry2138,70685 -\def\dosubsecentry#1#2{\dosubsecentry2145,70863 -\def\dosubsubsecentry#1#2{\dosubsubsecentry2152,71048 -\def\labelspace{\labelspace2160,71299 -\def\dopageno#1{\dopageno2162,71334 -\def\doshortpageno#1{\doshortpageno2163,71360 -\def\chapentryfonts{\chapentryfonts2165,71392 -\def\secentryfonts{\secentryfonts2166,71427 -\def\point{\point2192,72386 -\def\result{\result2194,72407 -\def\expansion{\expansion2195,72480 -\def\print{\print2196,72551 -\def\equiv{\equiv2198,72618 -\def\error{\error2218,73391 -\def\tex{\tex2224,73620 -\def\@{\@2242,74003 -\gdef\sepspaces{\def {\ }}}\2265,74735 -\def\aboveenvbreak{\aboveenvbreak2268,74817 -\def\afterenvbreak{\afterenvbreak2272,74983 -\def\ctl{\ctl2286,75494 -\def\ctr{\ctr2287,75566 -\def\cbl{\cbl2288,75605 -\def\cbr{\cbr2289,75645 -\def\carttop{\carttop2290,75684 -\def\cartbot{\cartbot2293,75792 -\long\def\cartouche{\cartouche2299,75932 -\def\Ecartouche{\Ecartouche2326,76720 -\def\lisp{\lisp2338,76855 -\def\Elisp{\Elisp2348,77202 -\def\next##1{\next2360,77528 -\def\Eexample{\Eexample2364,77570 -\def\Esmallexample{\Esmallexample2367,77617 -\def\smalllispx{\smalllispx2373,77795 -\def\Esmalllisp{\Esmalllisp2383,78149 -\obeyspaces \obeylines \ninett \indexfonts \rawbackslashfonts2396,78505 -\def\next##1{\next2397,78562 -\def\display{\display2401,78642 -\def\Edisplay{\Edisplay2410,78961 -\def\next##1{\next2422,79272 -\def\format{\format2426,79375 -\def\Eformat{\Eformat2434,79671 -\def\next##1{\next2437,79760 -\def\flushleft{\flushleft2441,79812 -\def\Eflushleft{\Eflushleft2451,80183 -\def\next##1{\next2454,80276 -\def\flushright{\flushright2456,80298 -\def\Eflushright{\Eflushright2466,80670 -\def\next##1{\next2470,80801 -\def\quotation{\quotation2474,80859 -\def\Equotation{\Equotation2480,81051 -\def\setdeffont #1 {\setdeffont2493,81449 -\newskip\defbodyindent \defbodyindent=.4inbodyindent2495,81495 -\newskip\defargsindent \defargsindent=50ptargsindent2496,81538 -\newskip\deftypemargin \deftypemargin=12pttypemargin2497,81581 -\newskip\deflastargmargin \deflastargmargin=18ptlastargmargin2498,81624 -\def\activeparens{\activeparens2503,81822 -\def\opnr{\opnr2529,83034 -\def\lbrb{\lbrb2530,83099 -\def\defname #1#2{\defname2536,83300 -\advance\dimen2 by -\defbodyindentbodyindent2540,83418 -\advance\dimen3 by -\defbodyindentbodyindent2542,83472 -\setbox0=\hbox{\hskip \deflastargmargin{lastargmargin2544,83526 -\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuationsargsindent2546,83668 -\parshape 2 0in \dimen0 \defargsindent \dimen1 %argsindent2547,83743 -\rlap{\rightline{{\rm #2}\hskip \deftypemargin}typemargin2554,84112 -\advance\leftskip by -\defbodyindentbodyindent2557,84246 -\exdentamount=\defbodyindentbodyindent2558,84283 -\def\defparsebody #1#2#3{\defparsebody2568,84642 -\def#1{2572,84826 -\def#2{2573,84862 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2575,84934 -\exdentamount=\defbodyindentbodyindent2576,85008 -\def\defmethparsebody #1#2#3#4 {\defmethparsebody2581,85112 -\def#1{2585,85273 -\def#2##1 {2586,85309 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2588,85392 -\exdentamount=\defbodyindentbodyindent2589,85466 -\def\defopparsebody #1#2#3#4#5 {\defopparsebody2592,85551 -\def#1{2596,85712 -\def#2##1 ##2 {2597,85748 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2600,85848 -\exdentamount=\defbodyindentbodyindent2601,85922 -\def\defvarparsebody #1#2#3{\defvarparsebody2608,86193 -\def#1{2612,86380 -\def#2{2613,86416 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2615,86475 -\exdentamount=\defbodyindentbodyindent2616,86549 -\def\defvrparsebody #1#2#3#4 {\defvrparsebody2621,86640 -\def#1{2625,86799 -\def#2##1 {2626,86835 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2628,86905 -\exdentamount=\defbodyindentbodyindent2629,86979 -\def\defopvarparsebody #1#2#3#4#5 {\defopvarparsebody2632,87051 -\def#1{2636,87215 -\def#2##1 ##2 {2637,87251 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2640,87338 -\exdentamount=\defbodyindentbodyindent2641,87412 -\def\defunargs #1{\defunargs2664,88172 -\def\deftypefunargs #1{\deftypefunargs2676,88554 -\def\deffn{\deffn2690,88936 -\def\deffnheader #1#2#3{\deffnheader2692,88993 -\begingroup\defname {name2693,89041 -\def\defun{\defun2699,89186 -\def\defunheader #1#2{\defunheader2701,89239 -\begingroup\defname {name2702,89314 -\defunargs {unargs2703,89350 -\def\deftypefun{\deftypefun2709,89498 -\def\deftypefunheader #1#2{\deftypefunheader2712,89620 -\def\deftypefunheaderx #1#2 #3\relax{\deftypefunheaderx2714,89729 -\begingroup\defname {name2716,89821 -\deftypefunargs {typefunargs2717,89867 -\def\deftypefn{\deftypefn2723,90038 -\def\deftypefnheader #1#2#3{\deftypefnheader2726,90187 -\def\deftypefnheaderx #1#2#3 #4\relax{\deftypefnheaderx2728,90323 -\begingroup\defname {name2730,90416 -\deftypefunargs {typefunargs2731,90456 -\def\defmac{\defmac2737,90577 -\def\defmacheader #1#2{\defmacheader2739,90634 -\begingroup\defname {name2740,90710 -\defunargs {unargs2741,90743 -\def\defspec{\defspec2747,90867 -\def\defspecheader #1#2{\defspecheader2749,90928 -\begingroup\defname {name2750,91005 -\defunargs {unargs2751,91045 -\def\deffnx #1 {\deffnx2758,91240 -\def\defunx #1 {\defunx2759,91297 -\def\defmacx #1 {\defmacx2760,91354 -\def\defspecx #1 {\defspecx2761,91413 -\def\deftypefnx #1 {\deftypefnx2762,91474 -\def\deftypeunx #1 {\deftypeunx2763,91539 -\def\defop #1 {\defop2769,91685 -\defopparsebody\Edefop\defopx\defopheader\defoptype}opparsebody\Edefop\defopx\defopheader\defoptype2770,91720 -\def\defopheader #1#2#3{\defopheader2772,91774 -\begingroup\defname {name2774,91863 -\defunargs {unargs2775,91909 -\def\defmethod{\defmethod2780,91970 -\def\defmethodheader #1#2#3{\defmethodheader2782,92043 -\begingroup\defname {name2784,92131 -\defunargs {unargs2785,92171 -\def\defcv #1 {\defcv2790,92245 -\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}opvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype2791,92280 -\def\defcvarheader #1#2#3{\defcvarheader2793,92339 -\begingroup\defname {name2795,92425 -\defvarargs {varargs2796,92471 -\def\defivar{\defivar2801,92544 -\def\defivarheader #1#2#3{\defivarheader2803,92607 -\begingroup\defname {name2805,92693 -\defvarargs {varargs2806,92744 -\def\defopx #1 {\defopx2812,92893 -\def\defmethodx #1 {\defmethodx2813,92950 -\def\defcvx #1 {\defcvx2814,93015 -\def\defivarx #1 {\defivarx2815,93072 -\def\defvarargs #1{\defvarargs2822,93343 -\def\defvr{\defvr2828,93487 -\def\defvrheader #1#2#3{\defvrheader2830,93542 -\begingroup\defname {name2831,93590 -\def\defvar{\defvar2835,93675 -\def\defvarheader #1#2{\defvarheader2837,93735 -\begingroup\defname {name2838,93806 -\defvarargs {varargs2839,93842 -\def\defopt{\defopt2844,93908 -\def\defoptheader #1#2{\defoptheader2846,93968 -\begingroup\defname {name2847,94039 -\defvarargs {varargs2848,94078 -\def\deftypevar{\deftypevar2853,94135 -\def\deftypevarheader #1#2{\deftypevarheader2856,94251 -\begingroup\defname {name2858,94334 -\def\deftypevr{\deftypevr2865,94508 -\def\deftypevrheader #1#2#3{\deftypevrheader2867,94579 -\begingroup\defname {name2868,94631 -\def\defvrx #1 {\defvrx2876,94868 -\def\defvarx #1 {\defvarx2877,94925 -\def\defoptx #1 {\defoptx2878,94984 -\def\deftypevarx #1 {\deftypevarx2879,95043 -\def\deftypevrx #1 {\deftypevrx2880,95110 -\def\deftpargs #1{\deftpargs2885,95259 -\def\deftp{\deftp2889,95339 -\def\deftpheader #1#2#3{\deftpheader2891,95394 -\begingroup\defname {name2892,95442 -\def\deftpx #1 {\deftpx2897,95601 -\def\setref#1{\setref2908,95922 -\def\unnumbsetref#1{\unnumbsetref2913,96036 -\def\appendixsetref#1{\appendixsetref2918,96143 -\def\pxref#1{\pxref2929,96554 -\def\xref#1{\xref2930,96590 -\def\ref#1{\ref2931,96625 -\def\xrefX[#1,#2,#3,#4,#5,#6]{\xrefX[2932,96655 -\def\printedmanual{\printedmanual2933,96698 -\def\printednodename{\printednodename2934,96736 -\def\printednodename{\printednodename2939,96861 -section ``\printednodename'' in \cite{\printedmanual}\printedmanual2954,97493 -\refx{x2957,97571 -\def\dosetq #1#2{\dosetq2965,97791 -\def\internalsetq #1#2{\internalsetq2973,98049 -\def\Ypagenumber{\Ypagenumber2977,98150 -\def\Ytitle{\Ytitle2979,98176 -\def\Ynothing{\Ynothing2981,98203 -\def\Ysectionnumberandtype{\Ysectionnumberandtype2983,98220 -\def\Yappendixletterandtype{\Yappendixletterandtype2992,98536 -\ifnum\secno=0 Appendix\xreftie'char\the\appendixno{no2993,98566 -\else \ifnum \subsecno=0 Section\xreftie'char\the\appendixno.\the\secno %no.\the\secno2994,98621 -Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno %no.\the\secno.\the\subsecno2996,98725 -Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %no.\the\secno.\the\subsecno.\the\subsubsecno2998,98796 - \def\linenumber{\linenumber3009,99135 -\def\refx#1#2{\refx3015,99319 -\def\xrdef #1#2{\xrdef3037,99945 -\def\readauxfile{\readauxfile3040,100030 -\def\supereject{\supereject3110,101811 -\footstrut\parindent=\defaultparindent\hang\textindent{aultparindent\hang\textindent3131,102496 -\def\openindices{\openindices3139,102682 -\newdimen\defaultparindent \defaultparindent = 15ptaultparindent3151,102907 -\parindent = \defaultparindentaultparindent3152,102959 -\def\smallbook{\smallbook3175,103683 -\global\def\Esmallexample{\Esmallexample3192,104110 -\def\afourpaper{\afourpaper3196,104201 -\def\finalout{\finalout3224,105009 -\def\normaldoublequote{\normaldoublequote3235,105270 -\def\normaltilde{\normaltilde3236,105296 -\def\normalcaret{\normalcaret3237,105316 -\def\normalunderscore{\normalunderscore3238,105336 -\def\normalverticalbar{\normalverticalbar3239,105361 -\def\normalless{\normalless3240,105387 -\def\normalgreater{\normalgreater3241,105406 -\def\normalplus{\normalplus3242,105428 -\def\ifusingtt#1#2{\ifusingtt3253,105920 -\def\activedoublequote{\activedoublequote3261,106248 -\def~{~3264,106334 -\def^{^3267,106395 -\def_{_3270,106434 -\def\_{\_3272,106508 -\def\lvvmode{\lvvmode3279,106845 -\def|{|3282,106895 -\def<{<3285,106958 -\def>{>3288,107015 -\def+{+3290,107053 -\def\turnoffactive{\turnoffactive3296,107214 -\global\def={=3307,107500 -\def\normalbackslash{\normalbackslash3321,107882 - -merc-src/accumulator.m,3228 -:- interface146,5371 -:- import_module hlds148,5386 -:- import_module univ152,5478 -:- pred accu_transform_proc159,5793 -:- implementation166,6115 -:- import_module libs180,6552 -:- import_module mdbcomp184,6681 -:- import_module parse_tree186,6742 -:- import_module assoc_list194,7013 -:- import_module bool195,7042 -:- import_module int196,7065 -:- import_module io197,7087 -:- import_module list198,7108 -:- import_module map199,7131 -:- import_module maybe200,7153 -:- import_module pair201,7177 -:- import_module require202,7200 -:- import_module set203,7226 -:- import_module solutions204,7248 -:- import_module string205,7276 -:- import_module term206,7301 -:- import_module varset207,7324 -:- type top_level213,7499 -:- type accu_goal_id225,7900 -:- type accu_case228,7964 -:- type accu_goal_store234,8091 -:- type accu_subst238,8216 -:- type accu_warning240,8264 -:- pred generate_warnings334,12550 -:- pred generate_warning342,12895 -:- pred should_attempt_accu_transform365,13886 -:- pred should_attempt_accu_transform_2398,15406 -:- pred accu_standardize440,17390 -:- pred identify_goal_type465,18169 -:- pred is_recursive_case549,21175 -:- type store_info560,21713 -:- func initialize_goal_store570,22060 -:- pred accu_store580,22421 -:- pred identify_recursive_calls601,23288 -:- pred identify_out_and_out_prime626,24397 -:- type accu_sets676,26426 -:- pred accu_stage1689,26978 -:- pred accu_stage1_2727,28348 -:- pred accu_sets_init781,30558 -:- func set_upto796,30985 -:- pred accu_before812,31499 -:- pred accu_assoc835,32478 -:- pred accu_construct862,33713 -:- pred accu_construct_assoc896,35308 -:- pred accu_update938,37070 -:- pred member_lessthan_goalid964,38220 -:- type accu_assoc975,38653 -:- pred accu_is_associative986,39139 -:- pred associativity_assertion1014,40264 -:- pred commutativity_assertion1037,41243 -:- pred accu_is_update1057,41953 -:- pred is_associative_construction1078,42803 -:- type accu_substs1095,43481 -:- type accu_base1103,43745 -:- pred accu_stage21124,44606 -:- pred accu_substs_init1179,46958 -:- pred acc_var_subst_init1194,47574 -:- pred create_new_var1207,48148 -:- pred accu_process_assoc_set1223,48863 -:- pred accu_has_heuristic1297,52082 -:- pred accu_heuristic1304,52337 -:- pred accu_process_update_set1318,52907 -:- pred accu_divide_base_case1380,55845 -:- pred accu_related1412,57147 -:- inst stored_goal_plain_call1444,58416 -:- pred lookup_call1449,58602 -:- pred accu_stage31470,59433 -:- pred acc_proc_info1508,61327 -:- pred acc_pred_info1556,63450 -:- pred accu_create_goal1600,65286 -:- func create_acc_call1621,66401 -:- pred create_orig_goal1634,66988 -:- pred create_acc_goal1662,68158 -:- func create_new_orig_recursive_goals1709,70226 -:- func create_new_recursive_goals1723,70919 -:- func create_new_base_goals1738,71718 -:- pred acc_unification1749,72157 -:- pred accu_top_level1766,72897 -:- pred update_accumulator_pred1856,76291 -:- func accu_rename1876,77254 -:- func base_case_ids1889,77785 -:- func base_case_ids_set1898,78049 -:- func accu_goal_list1905,78270 -:- pred calculate_goal_info1916,78681 -:- func chain_subst1932,79320 -:- pred chain_subst_21938,79483 -:- some [T] pred unravel_univ1956,80061 -:- pragma foreign_export1957,80117 - -c-src/c.c,76 -T f(1,0 -}T i;2,14 -void bar(5,69 -int foobar(6,94 -interface_locate(9,131 - -c.c,1807 -my_printf 135, -void fatala 138, -max 141, -struct bar 143, -__attribute__ ((always_inline)) max 147, -struct foo150, -char stack[stack155, -struct S 156, -} wait_status_ptr_t 161, -Some_Class A 162, -typedef T1 T3 163, -T3 z 164, -typedef int more_aligned_int 165, -struct S __attribute__ ((vector_size (16))) foo;166, -int foo 167, -char *__attribute__((aligned(8))) *f;f168, -int i 169, -extern void foobar 170, -typedef struct cacheLRUEntry_s172, -__attribute__ ((packed)) cacheLRUEntry_t;177, -struct foo 178, - f1 183, -void f2 184, -int x 188, -struct foo 189, -short array[array190, -int f193, -DEAFUN 196, -XDEFUN 203, -DEFUN ("x-get-selection-internal", Fx_get_selection_internal,206, -DEFUN ("x-get-selection-internal", Fx_get_selection_internal,x-get-selection-internal206, - Fx_get_selection_internal,212, - Fx_get_selection_internal,x-get-selection-internal212, - Fy_get_selection_internal,216, - Fy_get_selection_internal,y-get-selection-internal216, -defun_func1(218, -DEFUN_func2(220, -typedef int bool;222, -bool funcboo 223, -struct my_struct 226, -typedef struct my_struct my_typedef;228, -int bla 229, -a(234, -int func1237, -static struct cca_control init_control 239, -static tpcmd rbtp 240, -static byte ring1 241, -static byte ring2 242, -request request 243, -int func2 246, - aaa;249, - bbb;251, -struct sss1 252, -struct sss2253, - struct ss3255, -struct a b;259, -struct aa *b;b260, - **b;b262, -caccacacca 263, -a 267, - typedef struct aa 269, - typedef struct aa {} aaa;269, -static void inita 271, -node *lasta lasta272, -b 273, - typedef int bb;275, -static void initb 277, -node *lastb lastb278, -typedef enum { REG_ENOSYS 279, -typedef enum { REG_ENOSYS = -1, aa 279, -typedef enum { REG_ENOSYS = -1, aa } reg_errcode_t;279, - -c-src/a/b/b.c,18 -#define this 1,0 - -../c/c.web,20 -#define questo 34, - -y-src/parse.y,738 -#define obstack_chunk_alloc 47,1124 -#define obstack_chunk_free 48,1162 -VOIDSTAR parse_hash;64,1413 -unsigned char fnin[fnin68,1532 -#define YYSTYPE 72,1630 -typedef struct node *YYSTYPE;YYSTYPE73,1661 -YYSTYPE parse_return;74,1691 -char *instr;instr81,1803 -int parse_error 82,1816 -line:line87,1875 -exp:exp95,1988 -exp_list:exp_list263,5655 -range_exp:range_exp269,5753 -range_exp_list:range_exp_list273,5783 -cell:cell279,5901 -yyerror FUN1(286,5948 -make_list FUN2(293,6028 -#define ERROR 304,6228 -yylex FUN0(315,6405 -parse_cell_or_range FUN2(587,11772 -#define CK_ABS_R(671,13214 -#define CK_REL_R(675,13293 -#define CK_ABS_C(680,13422 -#define CK_REL_C(684,13501 -#define MAYBEREL(689,13630 -str_to_col FUN1(847,16831 - -y-src/parse.c,520 -#define YYBISON 4,64 -# define NE 6,114 -# define LE 7,130 -# define GE 8,146 -# define NEG 9,162 -# define L_CELL 10,179 -# define L_RANGE 11,199 -# define L_VAR 12,220 -# define L_CONST 13,239 -# define L_FN0 14,260 -# define L_FN1 15,279 -# define L_FN2 16,298 -# define L_FN3 17,317 -# define L_FN4 18,336 -# define L_FNN 19,355 -# define L_FN1R 20,374 -# define L_FN2R 21,394 -# define L_FN3R 22,414 -# define L_FN4R 23,434 -# define L_FNNR 24,454 -# define L_LE 25,474 -# define L_NE 26,492 -# define L_GE 27,510 - -/usr/share/bison/bison.simple,1693 -# define YYSTD(40, -# define YYSTD(42, -# define YYSTACK_ALLOC 50, -# define YYSIZE_T 51, -# define YYSTACK_ALLOC 55, -# define YYSIZE_T 56, -# define YYSTACK_ALLOC 59, -# define YYSTACK_FREE(67, -# define YYSIZE_T 71, -# define YYSIZE_T 75, -# define YYSTACK_ALLOC 78, -# define YYSTACK_FREE 79, -union yyalloc83, -# define YYSTACK_GAP_MAX 93, -# define YYSTACK_BYTES(98, -# define YYSTACK_BYTES(102, -# define YYSTACK_RELOCATE(112, -# define YYSIZE_T 128, -# define YYSIZE_T 131, -# define YYSIZE_T 136, -# define YYSIZE_T 140, -# define YYSIZE_T 145, -#define yyerrok 148, -#define yyclearin 149, -#define YYEMPTY 150, -#define YYEOF 151, -#define YYACCEPT 152, -#define YYABORT 153, -#define YYERROR 154, -#define YYFAIL 158, -#define YYRECOVERING(159, -#define YYBACKUP(160, -#define YYTERROR 177, -#define YYERRCODE 178, -# define YYLLOC_DEFAULT(189, -# define YYLEX 200, -# define YYLEX 202, -# define YYLEX 206, -# define YYLEX 208, -# define YYLEX 212, -# define YYFPRINTF 225, -# define YYDPRINTF(228, -int yydebug;237, -# define YYDPRINTF(239, -# define YYINITDEPTH 244, -# undef YYMAXDEPTH255, -# define YYMAXDEPTH 259, -# define yymemcpy 264, -yymemcpy 271, -# define yystrlen 293, -yystrlen 298, -# define yystpcpy 316, -yystpcpy 322, -# define YYPARSE_PARAM_ARG 351, -# define YYPARSE_PARAM_DECL352, -# define YYPARSE_PARAM_ARG 354, -# define YYPARSE_PARAM_DECL 355, -# define YYPARSE_PARAM_ARG358, -# define YYPARSE_PARAM_DECL359, -#define YY_DECL_NON_LSP_VARIABLES 374, -# define YY_DECL_VARIABLES 385, -# define YY_DECL_VARIABLES 391, -yyparse 403, -# define YYPOPSTACK 445, -# define YYPOPSTACK 447, -# undef YYSTACK_RELOCATE548, - -y-src/atest.y,9 -exp 2,3 - -y-src/cccp.c,303 -#define YYBISON 4,63 -# define INT 6,113 -# define CHAR 7,130 -# define NAME 8,148 -# define ERROR 9,166 -# define OR 10,185 -# define AND 11,201 -# define EQUAL 12,218 -# define NOTEQUAL 13,237 -# define LEQ 14,259 -# define GEQ 15,276 -# define LSH 16,293 -# define RSH 17,310 -# define UNARY 18,327 - -/usr/share/bison/bison.simple,2110 -# define YYSTD(41, -# define YYSTD(43, -# define YYSTACK_ALLOC 51, -# define YYSIZE_T 52, -# define YYSTACK_ALLOC 56, -# define YYSIZE_T 57, -# define YYSTACK_ALLOC 60, -# define YYSTACK_FREE(68, -# define YYSIZE_T 72, -# define YYSIZE_T 76, -# define YYSTACK_ALLOC 79, -# define YYSTACK_FREE 80, -union yyalloc84, -# define YYSTACK_GAP_MAX 94, -# define YYSTACK_BYTES(99, -# define YYSTACK_BYTES(103, -# define YYSTACK_RELOCATE(113, -# define YYSIZE_T 129, -# define YYSIZE_T 132, -# define YYSIZE_T 137, -# define YYSIZE_T 141, -# define YYSIZE_T 146, -#define yyerrok 149, -#define yyclearin 150, -#define YYEMPTY 151, -#define YYEOF 152, -#define YYACCEPT 153, -#define YYABORT 154, -#define YYERROR 155, -#define YYFAIL 159, -#define YYRECOVERING(160, -#define YYBACKUP(161, -#define YYTERROR 178, -#define YYERRCODE 179, -# define YYLLOC_DEFAULT(190, -# define YYLEX 201, -# define YYLEX 203, -# define YYLEX 207, -# define YYLEX 209, -# define YYLEX 213, -# define YYFPRINTF 226, -# define YYDPRINTF(229, -int yydebug;238, -# define YYDPRINTF(240, -# define YYINITDEPTH 245, -# undef YYMAXDEPTH256, -# define YYMAXDEPTH 260, -# define yymemcpy 265, -yymemcpy 272, -# define yystrlen 294, -yystrlen 299, -# define yystpcpy 317, -yystpcpy 323, -# define YYPARSE_PARAM_ARG 351, -# define YYPARSE_PARAM_DECL352, -# define YYPARSE_PARAM_ARG 354, -# define YYPARSE_PARAM_DECL 355, -# define YYPARSE_PARAM_ARG358, -# define YYPARSE_PARAM_DECL359, -#define YY_DECL_NON_LSP_VARIABLES 374, -# define YY_DECL_VARIABLES 385, -# define YY_DECL_VARIABLES 391, -yyparse 403, -# define YYPOPSTACK 445, -# define YYPOPSTACK 447, -# undef YYSTACK_RELOCATE548, - *++yyvsp yyvsp746, - *++yylsp yylsp748, - yyn 755, - yystate 757, - yystate 761, - goto yynewstate;763, - goto yyerrlab1;823, - yyerrstatus 846, - goto yyerrhandle;848, - yyn 861, - yystate 875, - yyn 895, - yyn 903, - *++yyvsp yyvsp919, - *++yylsp yylsp921, - yystate 924, - goto yynewstate;925, - yyresult 932, - goto yyreturn;933, - yyresult 939, - goto yyreturn;940, - yyresult 947, - -y-src/cccp.y,1107 -typedef unsigned char U_CHAR;38,1201 -struct arglist 41,1301 -#define NULL 51,1468 -#define GENERIC_PTR 56,1578 -#define GENERIC_PTR 58,1611 -#define NULL_PTR 63,1670 -int expression_value;68,1743 -static jmp_buf parse_return_error;70,1766 -static int keyword_parsing 73,1865 -#define CHAR_TYPE_SIZE 87,2162 -#define INT_TYPE_SIZE 91,2229 -#define LONG_TYPE_SIZE 95,2296 -#define WCHAR_TYPE_SIZE 99,2365 -#define possible_sum_sign(104,2556 - struct constant 112,2733 - struct name 113,2789 -start 143,3226 -exp1 148,3330 -exp 156,3505 -exp 185,4295 -keywords 306,7835 -static char *lexptr;lexptr332,8579 -parse_number 341,8842 -struct token 437,11038 -static struct token tokentab2[tokentab2442,11088 -yylex 459,11367 -parse_escape 740,17718 -yyerror 836,19599 -integer_overflow 844,19690 -left_shift 851,19804 -right_shift 873,20194 -parse_c_expression 893,20732 -main 923,21483 -unsigned char is_idchar[is_idchar948,21901 -unsigned char is_idstart[is_idstart950,21996 -char is_hor_space[is_hor_space953,22160 -initialize_random_junk 958,22259 -error 988,22915 -warning 993,22963 -lookup 999,23033 - -tex-src/nonewline.tex,0 - -php-src/sendmail.php,0 - -c-src/fail.c,0 - -a-src/empty.zz,0 diff --git a/test/manual/etags/ETAGS.good_5 b/test/manual/etags/ETAGS.good_5 deleted file mode 100644 index 3e238a50f38..00000000000 --- a/test/manual/etags/ETAGS.good_5 +++ /dev/null @@ -1,5613 +0,0 @@ - -ada-src/etags-test-for.ada,1969 - type LL_Task_Procedure_Access LL_Task_Procedure_Access/t1,0 - function Body_RequiredBody_Required/f3,78 - type Type_Specific_Data Type_Specific_Data/t11,280 - function "abs"abs/f19,504 - type Barrier_Function_Pointer Barrier_Function_Pointer/t21,577 - function "="=/f27,722 - type usfreelock_ptr usfreelock_ptr/t30,803 - function p p/f33,891 - procedure LL_Wrapper LL_Wrapper/p37,1054 -function p p/f39,1094 -package Pkg1 Pkg1/s44,1203 - type Private_T Private_T/t46,1220 - package Inner1 Inner1/s48,1250 - procedure Private_T;Private_T/p49,1270 - package Inner2 Inner2/s52,1310 - task Private_T;Private_T/k53,1330 - type Public_T Public_T/t56,1365 - procedure Pkg1_Proc1;Pkg1_Proc1/p62,1450 - procedure Pkg1_Proc2 Pkg1_Proc2/p64,1475 - function Pkg1_Func1 Pkg1_Func1/f66,1514 - function Pkg1_Func2 Pkg1_Func2/f68,1553 - package Pkg1_Pkg1 Pkg1_Pkg1/s71,1622 - procedure Pkg1_Pkg1_Proc1;Pkg1_Pkg1_Proc1/p72,1645 - task type Task_Type Task_Type/k75,1694 - type Private_T Private_T/t82,1786 -package body Pkg1 Pkg1/b89,1882 - procedure Pkg1_Proc1 Pkg1_Proc1/p91,1904 - package body Inner1 Inner1/b96,1956 - procedure Private_T Private_T/p97,1981 - package body Inner2 Inner2/b103,2054 - task body Private_T Private_T/b104,2079 - task body Task_Type Task_Type/b112,2181 - procedure Pkg1_Proc2 Pkg1_Proc2/p126,2367 - function Pkg1_Func1 Pkg1_Func1/f132,2445 - function Pkg1_Func2 Pkg1_Func2/f134,2496 - package body Pkg1_Pkg1 Pkg1_Pkg1/b140,2596 -package body Pkg1_Pkg1 Pkg1_Pkg1/b146,2663 - procedure Pkg1_Pkg1_Proc1 Pkg1_Pkg1_Proc1/p147,2689 -function Pkg1_Func1 Pkg1_Func1/f155,2778 -package Truc Truc/s162,2887 -package Truc.Bidule Truc.Bidule/s166,2929 - protected Bidule Bidule/t168,2953 - protected type Machin_T Machin_T/t172,3007 -package body Truc.Bidule Truc.Bidule/b178,3087 - protected body Bidule Bidule/b179,3115 - protected Machin_T Machin_T/t186,3207 - -ada-src/2ataspri.adb,2190 -package body System.Task_Primitives System.Task_Primitives/b64,2603 - package RTE RTE/s69,2712 - package TSL TSL/s70,2759 - function To_void_ptr To_void_ptr/f86,3287 - function To_TCB_Ptr To_TCB_Ptr/f89,3366 - function pthread_mutexattr_setprotocolpthread_mutexattr_setprotocol/f92,3444 - function pthread_mutexattr_setprio_ceilingpthread_mutexattr_setprio_ceiling/f99,3728 - procedure Abort_WrapperAbort_Wrapper/p115,4302 - procedure LL_Wrapper LL_Wrapper/p122,4526 - procedure Initialize_LL_Tasks Initialize_LL_Tasks/p131,4830 - function Self Self/f160,5586 - procedure Initialize_LockInitialize_Lock/p174,5958 - procedure Finalize_Lock Finalize_Lock/p210,6927 - procedure Write_Lock Write_Lock/p226,7338 - procedure Read_Lock Read_Lock/p239,7700 - procedure Unlock Unlock/p246,7850 - procedure Initialize_Cond Initialize_Cond/p258,8160 - procedure Finalize_Cond Finalize_Cond/p286,8979 - procedure Cond_Wait Cond_Wait/p300,9303 - procedure Cond_Timed_WaitCond_Timed_Wait/p312,9661 - procedure Cond_Signal Cond_Signal/p343,10510 - procedure Set_PrioritySet_Priority/p355,10836 - procedure Set_Own_Priority Set_Own_Priority/p372,11243 - function Get_Priority Get_Priority/f385,11598 - function Get_Own_Priority Get_Own_Priority/f398,12023 - procedure Create_LL_TaskCreate_LL_Task/p412,12438 - function To_Start_Addr To_Start_Addr/f426,12873 - procedure Exit_LL_Task Exit_LL_Task/p491,14995 - procedure Abort_Task Abort_Task/p500,15158 - procedure Test_Abort Test_Abort/p518,15716 - procedure Install_Abort_Handler Install_Abort_Handler/p527,15878 - procedure Abort_WrapperAbort_Wrapper/p557,16939 - function Address_To_Call_State Address_To_Call_State/f562,17062 - procedure Install_Error_Handler Install_Error_Handler/p573,17351 - procedure LL_Assert LL_Assert/p599,18146 - procedure LL_Wrapper LL_Wrapper/p608,18299 - procedure Initialize_TAS_Cell Initialize_TAS_Cell/p630,19010 - procedure Finalize_TAS_Cell Finalize_TAS_Cell/p635,19129 - procedure Clear Clear/p640,19236 - procedure Test_And_Set Test_And_Set/p645,19330 - function Is_Set Is_Set/f659,19676 - -ada-src/2ataspri.ads,2313 -package System.Task_Primitives System.Task_Primitives/s58,3169 - type LL_Task_Procedure_Access LL_Task_Procedure_Access/t62,3253 - type Pre_Call_State Pre_Call_State/t64,3331 - type Task_Storage_Size Task_Storage_Size/t66,3378 - type Machine_Exceptions Machine_Exceptions/t68,3433 - type Error_Information Error_Information/t70,3499 - type Lock Lock/t72,3569 - type Condition_Variable Condition_Variable/t73,3594 - type Task_Control_Block Task_Control_Block/t81,3955 - type TCB_Ptr TCB_Ptr/t89,4241 - function Address_To_TCB_Ptr Address_To_TCB_Ptr/f93,4333 - procedure Initialize_LL_Tasks Initialize_LL_Tasks/p96,4425 - function Self Self/f100,4602 - procedure Initialize_Lock Initialize_Lock/p103,4707 - procedure Finalize_Lock Finalize_Lock/p107,4879 - procedure Write_Lock Write_Lock/p111,5034 - procedure Read_Lock Read_Lock/p118,5428 - procedure Unlock Unlock/p128,5995 - procedure Initialize_Cond Initialize_Cond/p135,6300 - procedure Finalize_Cond Finalize_Cond/p138,6413 - procedure Cond_Wait Cond_Wait/p142,6591 - procedure Cond_Timed_WaitCond_Timed_Wait/p155,7396 - procedure Cond_Signal Cond_Signal/p164,7812 - procedure Set_Priority Set_Priority/p169,8040 - procedure Set_Own_Priority Set_Own_Priority/p173,8200 - function Get_Priority Get_Priority/f177,8348 - function Get_Own_Priority Get_Own_Priority/f181,8504 - procedure Create_LL_TaskCreate_LL_Task/p185,8647 - procedure Exit_LL_Task;Exit_LL_Task/p198,9282 - procedure Abort_Task Abort_Task/p203,9516 - procedure Test_Abort;Test_Abort/p210,9878 - type Abort_Handler_Pointer Abort_Handler_Pointer/t217,10233 - procedure Install_Abort_Handler Install_Abort_Handler/p219,10312 - procedure Install_Error_Handler Install_Error_Handler/p226,10741 - procedure LL_Assert LL_Assert/p231,10983 - type Proc Proc/t238,11240 - type TAS_Cell TAS_Cell/t242,11328 - procedure Initialize_TAS_Cell Initialize_TAS_Cell/p249,11670 - procedure Finalize_TAS_Cell Finalize_TAS_Cell/p255,11941 - procedure Clear Clear/p260,12157 - procedure Test_And_Set Test_And_Set/p267,12462 - function Is_Set Is_Set/f275,12877 - type Lock Lock/t283,13155 - type Condition_Variable Condition_Variable/t288,13267 - type TAS_Cell TAS_Cell/t293,13389 - -ada-src/waroquiers.ada,1503 -package Pkg1 Pkg1/s3,89 - type Private_T Private_T/t5,106 - package Inner1 Inner1/s7,136 - procedure Private_T;Private_T/p8,156 - package Inner2 Inner2/s11,196 - task Private_T;Private_T/k12,216 - type Public_T Public_T/t15,251 - procedure Pkg1_Proc1;Pkg1_Proc1/p21,336 - procedure Pkg1_Proc2 Pkg1_Proc2/p23,361 - function Pkg1_Func1 Pkg1_Func1/f25,400 - function Pkg1_Func2 Pkg1_Func2/f27,439 - package Pkg1_Pkg1 Pkg1_Pkg1/s30,508 - procedure Pkg1_Pkg1_Proc1;Pkg1_Pkg1_Proc1/p31,531 - task type Task_Type Task_Type/k34,580 - type Private_T Private_T/t40,671 -package body Pkg1 Pkg1/b46,766 - procedure Pkg1_Proc1 Pkg1_Proc1/p48,788 - package body Inner1 Inner1/b53,840 - procedure Private_T Private_T/p54,865 - package body Inner2 Inner2/b60,938 - task body Private_T Private_T/b61,963 - task body Task_Type Task_Type/b68,1064 - procedure Pkg1_Proc2 Pkg1_Proc2/p82,1250 - function Pkg1_Func1 Pkg1_Func1/f88,1328 - function Pkg1_Func2 Pkg1_Func2/f90,1379 - package body Pkg1_Pkg1 Pkg1_Pkg1/b96,1479 -package body Pkg1_Pkg1 Pkg1_Pkg1/b100,1544 - procedure Pkg1_Pkg1_Proc1 Pkg1_Pkg1_Proc1/p101,1570 -function Pkg1_Func1 Pkg1_Func1/f107,1657 -package Truc Truc/s112,1764 -package Truc.Bidule Truc.Bidule/s116,1816 - protected Bidule Bidule/t125,1964 - protected type Machin_T Machin_T/t131,2046 -package body Truc.Bidule Truc.Bidule/b138,2153 - protected body Bidule Bidule/b139,2181 - protected body Machin_T Machin_T/b146,2281 - -c-src/abbrev.c,3055 -Lisp_Object Vabbrev_table_name_list;43,1429 -Lisp_Object Vglobal_abbrev_table;48,1574 -Lisp_Object Vfundamental_mode_abbrev_table;52,1685 -int abbrevs_changed;56,1786 -int abbrev_all_caps;58,1808 -Lisp_Object Vabbrev_start_location;63,1957 -Lisp_Object Vabbrev_start_location_buffer;66,2046 -Lisp_Object Vlast_abbrev;70,2155 -Lisp_Object Vlast_abbrev_text;75,2324 -int last_abbrev_point;79,2414 -DEFUN ("make-abbrev-table", Fmake_abbrev_table,82,2440 -DEFUN ("make-abbrev-table", Fmake_abbrev_table,make-abbrev-table82,2440 -DEFUN ("clear-abbrev-table", Fclear_abbrev_table,89,2632 -DEFUN ("clear-abbrev-table", Fclear_abbrev_table,clear-abbrev-table89,2632 -DEFUN ("define-abbrev", Fdefine_abbrev,104,3013 -DEFUN ("define-abbrev", Fdefine_abbrev,define-abbrev104,3013 -DEFUN ("define-global-abbrev", Fdefine_global_abbrev,146,4332 -DEFUN ("define-global-abbrev", Fdefine_global_abbrev,define-global-abbrev146,4332 -DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,157,4703 -DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,define-mode-abbrev157,4703 -DEFUN ("abbrev-symbol", Fabbrev_symbol,171,5171 -DEFUN ("abbrev-symbol", Fabbrev_symbol,abbrev-symbol171,5171 -DEFUN ("abbrev-expansion", Fabbrev_expansion,199,6135 -DEFUN ("abbrev-expansion", Fabbrev_expansion,abbrev-expansion199,6135 -DEFUN ("expand-abbrev", Fexpand_abbrev,215,6650 -DEFUN ("expand-abbrev", Fexpand_abbrev,expand-abbrev215,6650 -DEFUN ("unexpand-abbrev", Funexpand_abbrev,383,11495 -DEFUN ("unexpand-abbrev", Funexpand_abbrev,unexpand-abbrev383,11495 -write_abbrev 420,12702 -describe_abbrev 439,13137 -DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,460,13652 -DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,insert-abbrev-table-description460,13652 -DEFUN ("define-abbrev-table", Fdefine_abbrev_table,500,14808 -DEFUN ("define-abbrev-table", Fdefine_abbrev_table,define-abbrev-table500,14808 -syms_of_abbrev 534,15885 - DEFVAR_LISP ("abbrev-table-name-list"536,15905 - DEFVAR_LISP ("global-abbrev-table"542,16167 - DEFVAR_LISP ("fundamental-mode-abbrev-table"549,16489 - DEFVAR_LISP ("last-abbrev"555,16831 - DEFVAR_LISP ("last-abbrev-text"558,16954 - DEFVAR_INT ("last-abbrev-location"562,17112 - DEFVAR_LISP ("abbrev-start-location"569,17311 - DEFVAR_LISP ("abbrev-start-location-buffer"575,17588 - DEFVAR_PER_BUFFER ("local-abbrev-table"580,17852 - DEFVAR_BOOL ("abbrevs-changed"583,17995 - DEFVAR_BOOL ("abbrev-all-caps"588,18198 - DEFVAR_LISP ("abbrev-table-name-list",\1536,15905 - DEFVAR_LISP ("global-abbrev-table",\1542,16167 - DEFVAR_LISP ("fundamental-mode-abbrev-table",\1549,16489 - DEFVAR_LISP ("last-abbrev",\1555,16831 - DEFVAR_LISP ("last-abbrev-text",\1558,16954 - DEFVAR_INT ("last-abbrev-location",\1562,17112 - DEFVAR_LISP ("abbrev-start-location",\1569,17311 - DEFVAR_LISP ("abbrev-start-location-buffer",\1575,17588 - DEFVAR_PER_BUFFER ("local-abbrev-table",\1580,17852 - DEFVAR_BOOL ("abbrevs-changed",\1583,17995 - DEFVAR_BOOL ("abbrev-all-caps",\1588,18198 - -c-src/torture.c,197 -(*tag1 tag118,452 -#define notag2 26,553 -(*tag2 tag229,630 -(*tag3 tag339,772 -#define notag4 45,861 -(*tag4 tag448,955 -tag5 57,1081 -tag6 66,1208 -int pp1(74,1317 -pp287,1419 -pp3(100,1518 - -c-src/getopt.h,666 -#define _GETOPT_H 19,799 -extern char *optarg;optarg31,1107 -extern int optind;45,1615 -extern int opterr;50,1741 -struct option73,2795 - const char *name;name76,2824 - char *name;name78,2850 - int has_arg;82,3007 - int *flag;flag83,3022 - int val;84,3035 -#define no_argument 89,3122 -#define required_argument 90,3145 -#define optional_argument 91,3173 -extern int getopt 98,3438 -extern int getopt 100,3542 -extern int getopt_long 102,3597 -extern int getopt_long_only 104,3729 -extern int _getopt_internal 109,3940 -extern int getopt 114,4138 -extern int getopt_long 115,4160 -extern int getopt_long_only 116,4187 -extern int _getopt_internal 118,4220 - -c-src/etags.c,14175 -char pot_etags_version[pot_etags_version81,3471 -# undef DEBUG84,3553 -# define DEBUG 85,3568 -# define DEBUG 87,3595 -# define NDEBUG 88,3618 -# define _GNU_SOURCE 94,3706 -# undef MSDOS100,3877 -# undef WINDOWSNT101,3891 -# define WINDOWSNT102,3910 -# undef MSDOS106,3969 -# define MSDOS 107,3983 -# define MSDOS 110,4033 -# define MAXPATHLEN 115,4112 -# undef HAVE_NTGUI116,4142 -# undef DOS_NT117,4161 -# define DOS_NT118,4177 -# undef assert 135,4483 -# define assert(136,4542 -# undef CTAGS146,4858 -# define CTAGS 147,4873 -# define CTAGS 149,4899 -#define streq(152,4928 -#define strcaseeq(153,4997 -#define strneq(154,5076 -#define strncaseeq(155,5152 -#define CHARS 157,5239 -#define CHAR(158,5279 -#define iswhite(159,5330 -#define notinname(160,5395 -#define begtoken(161,5470 -#define intoken(162,5543 -#define endtoken(163,5615 -#define ISALNUM(165,5685 -#define ISALPHA(166,5723 -#define ISDIGIT(167,5761 -#define ISLOWER(168,5799 -#define lowcase(170,5838 -#define xnew(179,6016 -#define xrnew(180,6084 -typedef void Lang_function 182,6165 - const char *suffix;suffix186,6220 - const char *command;command187,6295 -} compressor;188,6366 - const char *name;name192,6398 - const char *help;help193,6450 - Lang_function *function;function194,6509 - const char **suffixes;suffixes195,6557 - const char **filenames;filenames196,6634 - const char **interpreters;interpreters197,6703 - bool metasource;198,6772 -} language;199,6836 -typedef struct fdesc201,6849 - struct fdesc *next;next203,6872 - char *infname;infname204,6921 - char *infabsname;infabsname205,6974 - char *infabsdir;infabsdir206,7039 - char *taggedfname;taggedfname207,7092 - language *lang;lang208,7150 - char *prop;prop209,7192 - bool usecharno;210,7250 - bool written;211,7312 -} fdesc;212,7367 -typedef struct node_st214,7377 - struct node_st *left,left216,7429 - struct node_st *left, *right;right216,7429 - fdesc *fdp;fdp217,7487 - char *name;name218,7549 - char *regex;regex219,7581 - bool valid;220,7618 - bool is_func;221,7671 - bool been_warned;222,7734 - int lno;223,7802 - long cno;224,7843 -} node;225,7895 - long size;236,8209 - int len;237,8222 - char *buffer;buffer238,8233 -} linebuffer;239,8249 - at_language,245,8345 - at_regexp,246,8394 - at_filename,247,8438 - at_stdin,248,8474 - at_end 249,8517 - } arg_type;250,8558 - language *lang;lang251,8594 - char *what;what252,8657 -} argument;253,8699 -typedef struct regexp256,8759 - struct regexp *p_next;p_next258,8783 - language *lang;lang259,8838 - char *pattern;pattern260,8898 - char *name;name261,8941 - struct re_pattern_buffer *pat;pat262,8972 - struct re_registers regs;263,9032 - bool error_signaled;264,9079 - bool force_explicit_name;265,9142 - bool ignore_case;266,9207 - bool multi_line;267,9260 -} regexp;268,9326 -static void Ada_funcs 274,9429 -static void Asm_labels 275,9461 -static void C_entries 276,9494 -static void default_C_entries 277,9537 -static void plain_C_entries 278,9577 -static void Cjava_entries 279,9615 -static void Cobol_paragraphs 280,9651 -static void Cplusplus_entries 281,9690 -static void Cstar_entries 282,9730 -static void Erlang_functions 283,9766 -static void Forth_words 284,9805 -static void Fortran_functions 285,9839 -static void HTML_labels 286,9879 -static void Lisp_functions 287,9913 -static void Lua_functions 288,9950 -static void Makefile_targets 289,9986 -static void Pascal_functions 290,10025 -static void Perl_functions 291,10064 -static void PHP_functions 292,10101 -static void PS_functions 293,10137 -static void Prolog_functions 294,10172 -static void Python_functions 295,10211 -static void Scheme_functions 296,10250 -static void TeX_commands 297,10289 -static void Texinfo_nodes 298,10324 -static void Yacc_entries 299,10360 -static void just_read_file 300,10395 -static language *get_language_from_langname get_language_from_langname302,10433 -static void readline 303,10493 -static long readline_internal 304,10538 -static bool nocase_tail 305,10592 -static void get_tag 306,10632 -static void analyze_regex 308,10672 -static void free_regexps 309,10708 -static void regex_tag_multiline 310,10741 -static void error 311,10781 -# undef STDIN408,15074 -#define STDIN 411,15096 -static compressor compressors[compressors457,17665 -static const char *Ada_suffixes Ada_suffixes473,17908 -static const char Ada_help 475,17978 -static const char *Asm_suffixes Asm_suffixes493,18581 -static const char Asm_help 504,18977 -static const char *default_C_suffixes default_C_suffixes512,19313 -static const char default_C_help 515,19414 -static const char default_C_help 523,19851 -static const char *Cplusplus_suffixes Cplusplus_suffixes535,20461 -static const char Cplusplus_help 540,20659 -static const char *Cjava_suffixes Cjava_suffixes549,21114 -static char Cjava_help 551,21173 -static const char *Cobol_suffixes Cobol_suffixes556,21338 -static char Cobol_help 558,21403 -static const char *Cstar_suffixes Cstar_suffixes562,21544 -static const char *Erlang_suffixes Erlang_suffixes565,21608 -static const char Erlang_help 567,21674 -const char *Forth_suffixes Forth_suffixes571,21800 -static const char Forth_help 573,21858 -static const char *Fortran_suffixes Fortran_suffixes577,22009 -static const char Fortran_help 579,22086 -static const char *HTML_suffixes HTML_suffixes582,22191 -static const char HTML_help 584,22265 -static const char *Lisp_suffixes Lisp_suffixes589,22453 -static const char Lisp_help 591,22557 -static const char *Lua_suffixes Lua_suffixes598,22872 -static const char Lua_help 600,22935 -static const char *Makefile_filenames Makefile_filenames603,23011 -static const char Makefile_help 605,23134 -static const char *Objc_suffixes Objc_suffixes609,23278 -static const char Objc_help 613,23400 -static const char *Pascal_suffixes Pascal_suffixes619,23715 -static const char Pascal_help 621,23779 -static const char *Perl_suffixes Perl_suffixes626,23967 -static const char *Perl_interpreters Perl_interpreters628,24029 -static const char Perl_help 630,24101 -static const char *PHP_suffixes PHP_suffixes637,24452 -static const char PHP_help 639,24524 -static const char *plain_C_suffixes plain_C_suffixes643,24679 -static const char *PS_suffixes PS_suffixes647,24763 -static const char PS_help 649,24849 -static const char *Prolog_suffixes Prolog_suffixes652,24932 -static const char Prolog_help 654,24994 -static const char *Python_suffixes Python_suffixes658,25108 -static const char Python_help 660,25166 -static const char *Scheme_suffixes Scheme_suffixes665,25348 -static const char Scheme_help 667,25461 -static const char *TeX_suffixes TeX_suffixes672,25684 -static const char TeX_help 674,25782 -static const char *Texinfo_suffixes Texinfo_suffixes686,26317 -static const char Texinfo_help 688,26396 -static const char *Yacc_suffixes Yacc_suffixes691,26493 -static const char Yacc_help 693,26607 -static const char auto_help 699,26857 -static const char none_help 703,27021 -static const char no_lang_help 707,27144 -static language lang_names 718,27356 -print_language_names 753,29533 -# define EMACS_NAME 786,30756 -# define VERSION 789,30812 -print_version 792,30870 -# define PRINT_UNDOCUMENTED_OPTIONS_HELP 804,31174 -print_help 808,31251 -main 981,37439 -get_compressor_from_suffix 1319,46218 -get_language_from_langname 1355,47159 -get_language_from_interpreter 1377,47546 -get_language_from_filename 1399,47977 -process_file_name 1433,48835 -process_file 1555,51666 -init 1632,54151 -find_entries 1656,54902 -make_tag 1814,59708 -pfnote 1856,60943 -free_tree 1917,62745 -free_fdesc 1935,63030 -add_node 1955,63473 -invalidate_nodes 2035,65538 -static int total_size_of_entries 2067,66151 -static int number_len 2068,66194 -total_size_of_entries 2087,66695 -put_entries 2107,67155 -#define C_EXT 2193,68996 -#define C_PLAIN 2194,69038 -#define C_PLPL 2195,69071 -#define C_STAR 2196,69105 -#define C_JAVA 2197,69138 -#define C_AUTO 2198,69173 -#define YACC 2199,69243 -enum sym_type2204,69313 - st_none,2206,69329 - st_C_objprot,2207,69340 - st_C_objprot, st_C_objimpl,2207,69340 - st_C_objprot, st_C_objimpl, st_C_objend,2207,69340 - st_C_gnumacro,2208,69383 - st_C_ignore,2209,69400 - st_C_ignore, st_C_attribute,2209,69400 - st_C_javastruct,2210,69431 - st_C_operator,2211,69450 - st_C_class,2212,69467 - st_C_class, st_C_template,2212,69467 - st_C_struct,2213,69496 - st_C_struct, st_C_extern,2213,69496 - st_C_struct, st_C_extern, st_C_enum,2213,69496 - st_C_struct, st_C_extern, st_C_enum, st_C_define,2213,69496 - st_C_struct, st_C_extern, st_C_enum, st_C_define, st_C_typedef2213,69496 -struct C_stab_entry 2271,71279 -struct C_stab_entry { const char *name;name2271,71279 -struct C_stab_entry { const char *name; int c_ext;2271,71279 -struct C_stab_entry { const char *name; int c_ext; enum sym_type type;2271,71279 -hash 2275,71410 -in_word_set 2321,72938 - TOTAL_KEYWORDS 2325,73019 - MIN_WORD_LENGTH 2326,73046 - MAX_WORD_LENGTH 2327,73073 - MIN_HASH_VALUE 2328,73101 - MAX_HASH_VALUE 2329,73127 -C_symtype 2387,74986 -static bool inattribute;2400,75235 - fvnone,2408,75436 - fdefunkey,2409,75467 - fdefunname,2410,75513 - foperator,2411,75557 - fvnameseen,2412,75614 - fstartlist,2413,75667 - finlist,2414,75723 - flistseen,2415,75766 - fignore,2416,75814 - vignore 2417,75857 -} fvdef;2418,75902 -static bool fvextern;2420,75912 - tnone,2428,76090 - tkeyseen,2429,76120 - ttypeseen,2430,76161 - tinbody,2431,76200 - tend,2432,76239 - tignore 2433,76280 -} typdef;2434,76321 - snone,2443,76500 - skeyseen,2445,76576 - stagseen,2446,76621 - scolonseen 2447,76662 -} structdef;2448,76716 -static const char *objtag objtag2453,76810 - dnone,2460,76943 - dsharpseen,2461,76973 - ddefineseen,2462,77026 - dignorerest 2463,77071 -} definedef;2464,77113 - onone,2472,77268 - oprotocol,2473,77298 - oimplementation,2474,77348 - otagseen,2475,77396 - oparenseen,2476,77432 - ocatseen,2477,77487 - oinbody,2478,77526 - omethodsign,2479,77569 - omethodtag,2480,77627 - omethodcolon,2481,77667 - omethodparm,2482,77710 - oignore 2483,77756 -} objdef;2484,77788 -static struct tok2491,77945 - char *line;line2493,77965 - int offset;2494,78015 - int length;2495,78068 - bool valid;2502,78353 - bool named;2505,78488 - int lineno;2506,78529 - long linepos;2507,78577 -} token;2508,78627 -static void pushclass_above 2514,78785 -static void popclass_above 2515,78833 -static void write_classname 2516,78867 - char **cname;cname2519,78951 - int *bracelev;bracelev2520,78994 - int nl;2521,79043 - int size;2522,79097 -} cstack;2523,79137 -#define nestlev 2525,79265 -#define instruct 2527,79370 -pushclass_above 2531,79490 -popclass_above 2550,79949 -write_classname 2564,80163 -static bool consider_token 2592,80762 -static void make_C_tag 2593,80834 -consider_token 2613,81342 - long linepos;2922,88500 - linebuffer lb;2923,88516 -} lbs[lbs2924,88533 -#define current_lb_is_new 2926,88544 -#define switch_line_buffers(2927,88589 -#define curlb 2929,88642 -#define newlb 2930,88673 -#define curlinepos 2931,88704 -#define newlinepos 2932,88745 -#define plainc 2934,88787 -#define cplpl 2935,88831 -#define cjava 2936,88862 -#define CNL_SAVE_DEFINEDEF(2938,88906 -#define CNL(2947,89118 -make_C_tag 2960,89376 -C_entries 2986,90195 -default_C_entries 3833,110157 -plain_C_entries 3840,110277 -Cplusplus_entries 3847,110365 -Cjava_entries 3854,110461 -Cstar_entries 3861,110551 -Yacc_entries 3868,110643 -#define LOOP_ON_INPUT_LINES(3875,110721 -#define LOOKING_AT(3884,111057 -#define LOOKING_AT_NOCASE(3891,111462 -just_read_file 3901,111862 -static void F_takeprec 3910,111966 -static void F_getit 3911,111997 -F_takeprec 3914,112040 -F_getit 3937,112367 -Fortran_functions 3961,112841 -Ada_getit 4052,114670 -Ada_funcs 4115,116045 -Asm_labels 4228,118583 -Perl_functions 4261,119550 -Python_functions 4357,122058 -PHP_functions 4387,122685 -Cobol_paragraphs 4466,124472 -Makefile_targets 4494,125030 -Pascal_functions 4529,125951 -static void L_getit 4706,130278 -L_getit 4709,130319 -Lisp_functions 4725,130665 -Lua_functions 4785,131851 -PS_functions 4811,132386 -Forth_words 4841,133054 -Scheme_functions 4877,134093 -static linebuffer *TEX_toktab TEX_toktab4908,134782 -static const char *TEX_defenv TEX_defenv4912,134975 -static void TEX_mode 4917,135173 -static void TEX_decode_env 4918,135204 -static char TEX_esc 4920,135262 -static char TEX_opgrp 4921,135290 -static char TEX_clgrp 4922,135319 -TeX_commands 4928,135396 -#define TEX_LESC 4986,136653 -#define TEX_SESC 4987,136675 -TEX_mode 4992,136805 -TEX_decode_env 5026,137510 -Texinfo_nodes 5071,138555 -HTML_labels 5094,139014 -static size_t prolog_pr 5214,142193 -static void prolog_skip_comment 5215,142235 -static size_t prolog_atom 5216,142291 -Prolog_functions 5219,142348 -prolog_skip_comment 5255,143129 -prolog_pr 5281,143737 -prolog_atom 5319,144629 -static int erlang_func 5374,145541 -static void erlang_attribute 5375,145582 -static int erlang_atom 5376,145621 -Erlang_functions 5379,145667 -erlang_func 5438,146966 -erlang_attribute 5476,147643 -erlang_atom 5496,148062 -static char *scan_separators scan_separators5520,148488 -static void add_regex 5521,148527 -static char *substitute substitute5522,148571 -scan_separators 5534,149081 -analyze_regex 5586,150461 -add_regex 5654,152051 -substitute 5767,154798 -free_regexps 5814,155838 -regex_tag_multiline 5836,156292 -nocase_tail 5913,158264 -get_tag 5928,158520 -readline_internal 5959,159456 -readline 6037,161297 -savestr 6230,167244 -savenstr 6240,167474 -skip_spaces 6249,167680 -skip_non_spaces 6258,167834 -skip_name 6267,167984 -fatal 6277,168157 -pfatal 6284,168254 -suggest_asking_for_help 6291,168333 -error 6300,168555 -concat 6313,168847 -etags_getcwd 6329,169260 -relative_filename 6350,169726 -absolute_filename 6389,170752 -absolute_dirname 6453,172417 -filename_is_absolute 6472,172846 -canonicalize_filename 6484,173097 -# define ISUPPER(6491,173236 -linebuffer_init 6514,173657 -linebuffer_setlen 6524,173888 -xmalloc 6536,174149 -xrealloc 6545,174315 - -c-src/exit.c,99 - size_t n;28,972 - void EXFUN((*fn[fn29,986 - } __libc_atexit;30,1022 -DEFUN(exit,38,1263 - -c-src/exit.strange_suffix,99 - size_t n;28,972 - void EXFUN((*fn[fn29,986 - } __libc_atexit;30,1022 -DEFUN(exit,38,1263 - -c-src/sysdep.h,491 -#define ENTRY(21,875 -#define PSEUDO(26,982 - movl $SYS_##syscall_nam$SYS_##syscall_na31,1142 - movl $SYS_##syscall_name, %eax;eax31,1142 - int $0x80;32,1190 - test %eax,eax33,1220 - test %eax, %eax;eax33,1220 - jl syscall_error;34,1255 -#define XCHG_0 47,1572 -#define XCHG_1 48,1616 -#define XCHG_2 49,1658 -#define XCHG_3 50,1701 -#define XCHG_4 51,1744 -#define XCHG_5 52,1787 -#define r0 54,1831 -#define r1 55,1885 -#define scratch 56,1942 -#define MOVE(57,2011 - -c-src/tab.c,196 -static int count_words(15,263 -static char *get_word(get_word35,553 -void tab_free(59,966 -char **tab_fill(tab_fill70,1129 -int tab_delete_first(91,1638 -int tab_count_words(103,1820 - -c-src/dostorture.c,198 -(*tag1 tag118,468 -#define notag2 26,577 -(*tag2 tag229,657 -(*tag3 tag339,809 -#define notag4 45,904 -(*tag4 tag448,1001 -tag5 57,1136 -tag6 66,1272 -int pp1(74,1389 -pp287,1504 -pp3(100,1616 - -c-src/emacs/src/gmalloc.c,7311 -#define USE_PTHREAD25,1003 -#undef get_current_dir_name33,1127 -extern void emacs_abort 47,1306 -#undef malloc64,2111 -#undef realloc65,2125 -#undef calloc66,2140 -#undef free67,2154 -#define malloc 68,2166 -#define realloc 69,2189 -#define calloc 70,2214 -#define aligned_alloc 71,2237 -#define free 72,2274 -extern void *bss_sbrk bss_sbrk76,2336 -extern int bss_sbrk_did_unexec;77,2376 -extern char bss_sbrk_buffer[bss_sbrk_buffer78,2408 -extern void *bss_sbrk_buffer_end;bss_sbrk_buffer_end79,2439 -#define DUMPED 80,2473 -#define ALLOCATED_BEFORE_DUMPING(81,2508 -extern void *malloc malloc94,2719 -#define INT_BIT 124,3935 -#define BLOCKLOG 125,3978 -#define BLOCKSIZE 126,4019 -#define BLOCKIFY(127,4053 -#define HEAP 131,4216 -#define FINAL_FREE_BLOCKS 135,4392 - int type;145,4677 - size_t nfree;150,4721 - size_t first;151,4778 - } frag;152,4835 - ptrdiff_t size;156,5056 - } info;157,5077 - } busy;158,5088 - size_t size;163,5216 - size_t next;164,5273 - size_t prev;165,5322 - } free;166,5375 - } malloc_info;167,5389 -extern char *_heapbase;_heapbase170,5450 -extern malloc_info *_heapinfo;_heapinfo173,5542 -#define BLOCK(176,5621 -#define ADDRESS(177,5683 -extern size_t _heapindex;180,5798 -extern size_t _heaplimit;183,5867 -struct list186,5940 - struct list *next;next188,5956 - struct list *prev;prev189,5979 -extern struct list _fraghead[_fraghead193,6057 -struct alignlist196,6154 - struct alignlist *next;next198,6175 - void *aligned;aligned199,6203 - void *exact;exact200,6271 -extern struct alignlist *_aligned_blocks;_aligned_blocks202,6335 -extern size_t _chunks_used;205,6402 -extern size_t _bytes_used;206,6430 -extern size_t _chunks_free;207,6457 -extern size_t _bytes_free;208,6485 -extern void *_malloc_internal _malloc_internal213,6674 -extern void *_realloc_internal _realloc_internal214,6714 -extern void _free_internal 215,6763 -extern void *_malloc_internal_nolock _malloc_internal_nolock216,6800 -extern void *_realloc_internal_nolock _realloc_internal_nolock217,6847 -extern void _free_internal_nolock 218,6903 -extern pthread_mutex_t _malloc_mutex,221,6967 -extern pthread_mutex_t _malloc_mutex, _aligned_blocks_mutex;221,6967 -extern int _malloc_thread_enabled_p;222,7028 -#define LOCK(223,7065 -#define UNLOCK(228,7196 -#define LOCK_ALIGNED_BLOCKS(233,7330 -#define UNLOCK_ALIGNED_BLOCKS(238,7485 -#define LOCK(244,7650 -#define UNLOCK(245,7665 -#define LOCK_ALIGNED_BLOCKS(246,7682 -#define UNLOCK_ALIGNED_BLOCKS(247,7712 -extern void *malloc_find_object_address malloc_find_object_address252,7866 -extern void *(*__morecore)__morecore256,8022 -extern void *__default_morecore __default_morecore259,8106 -extern void (*__after_morecore_hook)__after_morecore_hook263,8270 -extern size_t __malloc_extra_blocks;267,8443 -extern int __malloc_initialized;270,8553 -extern int __malloc_initialize 272,8647 -extern void (*__malloc_initialize_hook)__malloc_initialize_hook275,8724 -extern void (*__free_hook)__free_hook276,8772 -extern void *(*__malloc_hook)__malloc_hook277,8812 -extern void *(*__realloc_hook)__realloc_hook278,8857 -extern void *(*__memalign_hook)__memalign_hook279,8914 -enum mcheck_status283,9093 - MCHECK_DISABLED 285,9116 - MCHECK_OK,286,9188 - MCHECK_FREE,287,9227 - MCHECK_HEAD,288,9271 - MCHECK_TAIL 289,9335 -extern int mcheck 296,9702 -extern enum mcheck_status mprobe 301,9953 -extern void mtrace 304,10056 -extern void muntrace 305,10083 -struct mstats308,10154 - size_t bytes_total;310,10172 - size_t chunks_used;311,10226 - size_t bytes_used;312,10286 - size_t chunks_free;313,10352 - size_t bytes_free;314,10407 -extern struct mstats mstats 318,10519 -extern void memory_warnings 321,10626 -void *(*__malloc_hook)__malloc_hook352,11745 -char *_heapbase;_heapbase355,11831 -malloc_info *_heapinfo;_heapinfo358,11929 -static size_t heapsize;361,11985 -size_t _heapindex;364,12049 -size_t _heaplimit;367,12111 -struct list _fraghead[_fraghead370,12173 -size_t _chunks_used;373,12231 -size_t _bytes_used;374,12252 -size_t _chunks_free;375,12272 -size_t _bytes_free;376,12293 -int __malloc_initialized;379,12342 -size_t __malloc_extra_blocks;381,12369 -void (*__malloc_initialize_hook)__malloc_initialize_hook383,12400 -void (*__after_morecore_hook)__after_morecore_hook384,12441 -static int state_protected_p;400,12914 -static size_t last_state_size;401,12944 -static malloc_info *last_heapinfo;last_heapinfo402,12975 -protect_malloc_state 405,13016 -#define PROTECT_MALLOC_STATE(426,13629 -#define PROTECT_MALLOC_STATE(429,13699 -align 435,13796 -get_contiguous_space 466,14618 -register_heapinfo 497,15327 -pthread_mutex_t _malloc_mutex 517,15881 -pthread_mutex_t _aligned_blocks_mutex 518,15940 -int _malloc_thread_enabled_p;519,16007 -malloc_atfork_handler_prepare 522,16050 -malloc_atfork_handler_parent 529,16141 -malloc_atfork_handler_child 536,16235 -malloc_enable_thread 544,16377 -malloc_initialize_1 563,16963 -__malloc_initialize 594,17795 -static int morecore_recursing;604,17928 -morecore_nolock 609,18068 -_malloc_internal_nolock 722,21586 -_malloc_internal 920,28104 -malloc 932,28249 -extern void *_malloc _malloc956,29035 -extern void _free 957,29066 -extern void *_realloc _realloc958,29094 -_malloc 961,29142 -_free 967,29198 -_realloc 973,29242 -void (*__free_hook)__free_hook1001,30262 -struct alignlist *_aligned_blocks _aligned_blocks1004,30348 -_free_internal_nolock 1009,30477 -_free_internal 1255,38479 -free 1265,38606 -weak_alias 1277,38802 -#define min(1306,39817 -void *(*__realloc_hook)__realloc_hook1310,39902 -_realloc_internal_nolock 1319,40313 -_realloc_internal 1435,43567 -realloc 1447,43730 -calloc 1478,44899 -#define __sbrk 1513,46048 -extern void *__sbrk __sbrk1518,46253 -__default_morecore 1525,46517 -void *(*__memalign_hook)__memalign_hook1554,47463 -aligned_alloc 1557,47529 -memalign 1647,49711 -posix_memalign 1656,49916 -extern void *valloc valloc1695,51148 -extern int getpagesize 1700,51286 -static size_t pagesize;1703,51325 -valloc 1706,51357 -#undef malloc1715,51498 -#undef realloc1716,51512 -#undef calloc1717,51527 -#undef aligned_alloc1718,51541 -#undef free1719,51562 -extern void *malloc malloc1722,51617 -extern void *realloc realloc1723,51652 -extern void *calloc calloc1724,51699 -extern void free 1725,51748 -extern void *aligned_alloc aligned_alloc1727,51804 -extern int posix_memalign 1729,51898 -hybrid_malloc 1736,52091 -hybrid_calloc 1744,52196 -hybrid_free 1752,52327 -hybrid_aligned_alloc 1765,52634 -hybrid_realloc 1780,52990 -char *gget_current_dir_name gget_current_dir_name1808,53759 -hybrid_get_current_dir_name 1811,53803 -static void (*old_free_hook)old_free_hook1846,54928 -static void *(*old_malloc_hook)old_malloc_hook1847,54970 -static void *(*old_realloc_hook)old_realloc_hook1848,55017 -static void (*abortfunc)abortfunc1851,55131 -#define MAGICWORD 1854,55213 -#define MAGICFREE 1855,55268 -#define MAGICBYTE 1856,55323 -#define MALLOCFLOOD 1857,55355 -#define FREEFLOOD 1858,55389 -struct hdr1860,55422 - size_t size;1862,55437 - size_t magic;1863,55491 -checkhdr 1867,55588 -freehook 1891,56029 -mallochook 1927,56811 -reallochook 1944,57150 -mabort 1978,57908 -static int mcheck_used 2012,58593 -mcheck 2015,58626 -mprobe 2035,59145 - -c-src/emacs/src/regex.h,5300 -#define _REGEX_H 21,837 -typedef unsigned long reg_syntax_t;43,1578 -#define RE_BACKSLASH_ESCAPE_IN_LISTS 47,1750 -#define RE_BK_PLUS_QM 52,1970 -#define RE_CHAR_CLASSES 58,2299 -#define RE_CONTEXT_INDEP_ANCHORS 72,3033 -#define RE_CONTEXT_INDEP_OPS 80,3459 -#define RE_CONTEXT_INVALID_OPS 84,3659 -#define RE_DOT_NEWLINE 88,3802 -#define RE_DOT_NOT_NULL 92,3938 -#define RE_HAT_LISTS_NOT_NEWLINE 96,4083 -#define RE_INTERVALS 101,4293 -#define RE_LIMITED_OPS 105,4442 -#define RE_NEWLINE_ALT 109,4584 -#define RE_NO_BK_BRACES 114,4774 -#define RE_NO_BK_PARENS 118,4965 -#define RE_NO_BK_REFS 122,5121 -#define RE_NO_BK_VBAR 126,5317 -#define RE_NO_EMPTY_RANGES 132,5611 -#define RE_UNMATCHED_RIGHT_PAREN_ORD 136,5767 -#define RE_NO_POSIX_BACKTRACKING 140,5938 -#define RE_NO_GNU_OPS 144,6134 -#define RE_FRUGAL 147,6254 -#define RE_SHY_GROUPS 150,6361 -#define RE_NO_NEWLINE_ANCHOR 153,6469 -#define RE_DEBUG 161,6885 -extern reg_syntax_t re_syntax_options;167,7171 -extern Lisp_Object re_match_object;172,7345 -extern size_t re_max_failures;176,7455 -#define RE_SYNTAX_EMACS 183,7685 -#define RE_SYNTAX_AWK 186,7781 -#define RE_SYNTAX_GNU_AWK 193,8085 -#define RE_SYNTAX_POSIX_AWK 197,8256 -#define RE_SYNTAX_GREP 201,8394 -#define RE_SYNTAX_EGREP 206,8550 -#define RE_SYNTAX_POSIX_EGREP 212,8766 -#define RE_SYNTAX_ED 216,8911 -#define RE_SYNTAX_SED 218,8955 -#define _RE_SYNTAX_POSIX_COMMON 221,9073 -#define RE_SYNTAX_POSIX_BASIC 225,9216 -#define RE_SYNTAX_POSIX_MINIMAL_BASIC 231,9509 -#define RE_SYNTAX_POSIX_EXTENDED 234,9599 -#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED 242,9968 -# undef RE_DUP_MAX253,10455 -#define RE_DUP_MAX 256,10541 -#define REG_EXTENDED 263,10763 -#define REG_ICASE 267,10887 -#define REG_NEWLINE 272,11071 -#define REG_NOSUB 276,11249 -#define REG_NOTBOL 286,11615 -#define REG_NOTEOL 289,11689 - REG_ENOSYS 297,11860 - REG_NOERROR 300,11942 - REG_NOMATCH,301,11977 - REG_BADPAT,305,12124 - REG_ECOLLATE,306,12163 - REG_ECTYPE,307,12204 - REG_EESCAPE,308,12256 - REG_ESUBREG,309,12299 - REG_EBRACK,310,12346 - REG_EPAREN,311,12392 - REG_EBRACE,312,12437 - REG_BADBR,313,12473 - REG_ERANGE,314,12520 - REG_ESPACE,315,12561 - REG_BADRPT,316,12602 - REG_EEND,319,12694 - REG_ESIZE,320,12729 - REG_ERPAREN,321,12791 - REG_ERANGEX 322,12860 -} reg_errcode_t;323,12912 -# define RE_TRANSLATE_TYPE 332,13274 -struct re_pattern_buffer335,13316 - unsigned char *buffer;buffer341,13539 - size_t allocated;344,13615 - size_t used;347,13687 - reg_syntax_t syntax;350,13770 - char *fastmap;fastmap355,13976 - RE_TRANSLATE_TYPE translate;361,14242 - size_t re_nsub;364,14330 - unsigned can_be_null 370,14625 -#define REGS_UNALLOCATED 376,14890 -#define REGS_REALLOCATE 377,14917 -#define REGS_FIXED 378,14943 - unsigned regs_allocated 379,14964 - unsigned fastmap_accurate 383,15137 - unsigned no_sub 387,15268 - unsigned not_bol 391,15399 - unsigned not_eol 394,15476 - unsigned used_syntax 398,15656 - unsigned multibyte 403,15806 - unsigned target_multibyte 407,15942 - int charset_unibyte;410,16033 -typedef struct re_pattern_buffer regex_t;416,16099 -typedef ssize_t regoff_t;423,16493 -struct re_registers428,16653 - unsigned num_regs;430,16675 - regoff_t *start;start431,16696 - regoff_t *end;end432,16715 -# define RE_NREGS 440,16943 - regoff_t rm_so;449,17160 - regoff_t rm_eo;450,17240 -} regmatch_t;451,17318 -extern reg_syntax_t re_set_syntax 457,17513 -extern const char *re_compile_pattern re_compile_pattern462,17777 -extern int re_compile_fastmap 469,18059 -extern regoff_t re_search 477,18467 -extern regoff_t re_search_2 485,18782 -extern regoff_t re_match 495,19178 -extern regoff_t re_match_2 501,19408 -extern void re_set_registers 520,20198 -extern char *re_comp re_comp528,20470 -extern int re_exec 529,20507 -# define _Restrict_ 540,20887 -# define _Restrict_ 542,20980 -# define _Restrict_544,21019 -# define _Restrict_arr_ 555,21419 -# define _Restrict_arr_557,21462 -extern reg_errcode_t regcomp 562,21531 -extern reg_errcode_t regexec 566,21657 -extern size_t regerror 571,21851 -extern void regfree 574,21957 -# define CHAR_CLASS_MAX_LENGTH 593,22471 -# define CHAR_CLASS_MAX_LENGTH 597,22649 -typedef wctype_t re_wctype_t;599,22693 -typedef wchar_t re_wchar_t;600,22723 -# define re_wctype 601,22751 -# define re_iswctype 602,22777 -# define re_wctype_to_bit(603,22807 -# define CHAR_CLASS_MAX_LENGTH 605,22845 -# define btowc(606,22907 -typedef enum { RECC_ERROR 609,22954 - RECC_ALNUM,610,22985 - RECC_ALNUM, RECC_ALPHA,610,22985 - RECC_ALNUM, RECC_ALPHA, RECC_WORD,610,22985 - RECC_GRAPH,611,23028 - RECC_GRAPH, RECC_PRINT,611,23028 - RECC_LOWER,612,23060 - RECC_LOWER, RECC_UPPER,612,23060 - RECC_PUNCT,613,23092 - RECC_PUNCT, RECC_CNTRL,613,23092 - RECC_DIGIT,614,23124 - RECC_DIGIT, RECC_XDIGIT,614,23124 - RECC_BLANK,615,23157 - RECC_BLANK, RECC_SPACE,615,23157 - RECC_MULTIBYTE,616,23189 - RECC_MULTIBYTE, RECC_NONASCII,616,23189 - RECC_ASCII,617,23228 - RECC_ASCII, RECC_UNIBYTE617,23228 -} re_wctype_t;618,23261 -extern char re_iswctype 620,23277 -extern re_wctype_t re_wctype 621,23330 -typedef int re_wchar_t;623,23388 -extern void re_set_whitespace_regexp 625,23413 - -c-src/emacs/src/keyboard.c,25243 -volatile int interrupt_input_blocked;76,1809 -volatile bool pending_signals;80,1945 -#define KBD_BUFFER_SIZE 82,1977 -KBOARD *initial_kboard;initial_kboard84,2007 -KBOARD *current_kboard;current_kboard85,2031 -static KBOARD *all_kboards;all_kboards86,2055 -static bool single_kboard;89,2155 -#define NUM_RECENT_KEYS 91,2183 -static int recent_keys_index;94,2270 -static int total_keys;97,2358 -static Lisp_Object recent_keys;100,2444 -Lisp_Object this_command_keys;107,2778 -ptrdiff_t this_command_key_count;108,2809 -static bool this_command_key_count_reset;112,2923 -static Lisp_Object raw_keybuf;116,3075 -static int raw_keybuf_count;117,3106 -#define GROW_RAW_KEYBUF 119,3136 -static ptrdiff_t this_single_command_key_start;125,3351 -static ptrdiff_t before_command_key_count;129,3499 -static ptrdiff_t before_command_echo_length;130,3542 -sigjmp_buf return_to_command_loop;135,3678 -static Lisp_Object recover_top_level_message;138,3792 -static Lisp_Object regular_top_level_message;143,3931 -static sys_jmp_buf getcjmp;147,4032 -bool waiting_for_input;150,4096 -static bool echoing;154,4187 -static struct kboard *ok_to_echo_at_next_pause;ok_to_echo_at_next_pause159,4329 -struct kboard *echo_kboard;echo_kboard166,4633 -Lisp_Object echo_message_buffer;171,4745 -bool immediate_quit;174,4838 -int quit_char;192,5624 -EMACS_INT command_loop_level;195,5681 -Lisp_Object unread_switch_frame;204,6109 -static ptrdiff_t last_non_minibuf_size;207,6217 -uintmax_t num_input_events;210,6335 -static EMACS_INT last_auto_save;214,6429 -static ptrdiff_t last_point_position;217,6524 -Lisp_Object internal_last_event_frame;228,7029 -static Lisp_Object read_key_sequence_cmd;232,7169 -static Lisp_Object read_key_sequence_remapped;233,7211 -static FILE *dribble;dribble236,7311 -bool input_pending;239,7369 -static bool input_was_pending;287,10023 -static struct input_event kbd_buffer[kbd_buffer291,10108 -static struct input_event *kbd_fetch_ptr;kbd_fetch_ptr297,10387 -static struct input_event * volatile kbd_store_ptr;302,10602 -static void recursive_edit_unwind 313,11089 -static Lisp_Object command_loop 314,11145 -static void echo_now 316,11186 -static ptrdiff_t echo_length 317,11215 -unsigned timers_run;320,11297 -struct timespec *input_available_clear_time;input_available_clear_time324,11409 -bool interrupt_input;328,11574 -bool interrupts_deferred;331,11672 -static struct timespec timer_idleness_start_time;335,11747 -static struct timespec timer_last_idleness_start_time;340,11917 -#define READABLE_EVENTS_DO_TIMERS_NOW 346,12047 -#define READABLE_EVENTS_FILTER_EVENTS 347,12095 -#define READABLE_EVENTS_IGNORE_SQUEEZABLES 348,12143 -static void (*keyboard_init_hook)keyboard_init_hook351,12265 -static bool get_input_pending 353,12308 -static bool readable_events 354,12345 -static Lisp_Object read_char_x_menu_prompt 355,12380 -static Lisp_Object read_char_minibuf_menu_prompt 357,12503 -static Lisp_Object make_lispy_event 358,12572 -static Lisp_Object make_lispy_movement 359,12632 -static Lisp_Object modify_event_symbol 363,12841 -static Lisp_Object make_lispy_switch_frame 366,13051 -static Lisp_Object make_lispy_focus_in 367,13109 -static Lisp_Object make_lispy_focus_out 369,13189 -static bool help_char_p 371,13276 -static void save_getcjmp 372,13315 -static void restore_getcjmp 373,13355 -static Lisp_Object apply_modifiers 374,13398 -static void clear_event 375,13453 -static void restore_kboard_configuration 376,13501 -static void deliver_input_available_signal 378,13569 -static void handle_interrupt 380,13632 -static _Noreturn void quit_throw_to_read_char 381,13669 -static void process_special_events 382,13723 -static void timer_start_idle 383,13766 -static void timer_stop_idle 384,13803 -static void timer_resume_idle 385,13839 -static void deliver_user_signal 386,13877 -static char *find_user_signal_name find_user_signal_name387,13916 -static void store_user_signal_events 388,13958 -kset_echo_string 392,14089 -kset_kbd_queue 397,14185 -kset_keyboard_translate_table 402,14277 -kset_last_prefix_arg 407,14400 -kset_last_repeatable_command 412,14505 -kset_local_function_key_map 417,14626 -kset_overriding_terminal_local_map 422,14745 -kset_real_last_command 427,14878 -kset_system_key_syms 432,14987 -echo_add_key 443,15250 -echo_char 527,17528 -echo_dash 541,17814 -echo_now 586,19141 -cancel_echoing 635,20615 -echo_length 648,20923 -echo_truncate 660,21254 -add_command_key 672,21583 -recursive_edit_1 697,22407 -record_auto_save 742,23849 -force_auto_save_soon 751,24017 -DEFUN ("recursive-edit", Frecursive_edit,759,24138 -DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138 -recursive_edit_unwind 804,25751 -any_kboard_state 817,26017 -single_kboard_state 838,26669 -not_single_kboard_state 848,26807 -struct kboard_stack858,27069 - KBOARD *kboard;kboard860,27091 - struct kboard_stack *next;next861,27109 -static struct kboard_stack *kboard_stack;kboard_stack864,27142 -push_kboard 867,27190 -pop_kboard 879,27379 -temporarily_switch_to_single_kboard 914,28267 -record_single_kboard_state 943,29441 -restore_kboard_configuration 952,29625 -cmd_error 970,30081 -cmd_error_internal 1024,31514 -DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32034 -DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32034 -static Lisp_Object command_loop_2 1086,33641 -static Lisp_Object top_level_1 1087,33690 -command_loop 1094,33920 -command_loop_2 1134,35139 -top_level_2 1146,35343 -top_level_1 1152,35421 -DEFUN ("top-level", Ftop_level,1164,35791 -DEFUN ("top-level", Ftop_level,top-level1164,35791 -user_error 1183,36292 -DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36433 -DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36433 -DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36823 -DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36823 -tracking_off 1216,37285 -DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37820 -DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37820 -bool ignore_mouse_drag_p;1256,38396 -some_mouse_moved 1259,38445 -static int read_key_sequence 1282,38803 -static void adjust_point_for_property 1284,38921 -Lisp_Object last_undo_boundary;1287,39036 -command_loop_1 1294,39277 -read_menu_command 1649,50893 -adjust_point_for_property 1678,51621 -safe_run_hooks_1 1831,57343 -safe_run_hooks_error 1841,57573 -safe_run_hook_funcall 1878,58580 -safe_run_hooks 1893,59062 -int poll_suppress_count;1908,59401 -static struct atimer *poll_timer;poll_timer1915,59491 -poll_for_input_1 1919,59593 -poll_for_input 1930,59793 -start_polling 1942,60057 -input_polling_used 1979,61095 -stop_polling 1994,61394 -set_poll_suppress_count 2009,61763 -bind_polling_period 2029,62145 -make_ctrl_char 2048,62496 -show_help_echo 2113,64459 -static Lisp_Object kbd_buffer_get_event 2152,65488 -static void record_char 2154,65600 -static Lisp_Object help_form_saved_window_configs;2156,65642 -read_char_help_form_unwind 2158,65705 -#define STOP_POLLING 2166,65963 -#define RESUME_POLLING 2170,66088 -read_event_from_main_queue 2175,66233 -read_decoded_event_from_main_queue 2249,68421 -#define MAX_ENCODED_BYTES 2254,68668 -echo_keystrokes_p 2342,71560 -read_char 2376,72852 -record_menu_key 3225,98953 -help_char_p 3258,99678 -record_char 3273,99957 -save_getcjmp 3412,104239 -restore_getcjmp 3418,104330 -readable_events 3430,104701 -int stop_character EXTERNALLY_VISIBLE;3497,106441 -event_to_kboard 3500,106497 -kbd_buffer_nr_stored 3522,107146 -kbd_buffer_store_event 3534,107487 -kbd_buffer_store_event_hold 3550,108029 -kbd_buffer_unget_event 3684,111621 -#define INPUT_EVENT_POS_MAX 3698,112022 -#define INPUT_EVENT_POS_MIN 3701,112151 -position_to_Time 3706,112291 -Time_to_position 3716,112518 -gen_help_event 3738,113175 -kbd_buffer_store_help_event 3756,113615 -discard_mouse_events 3773,113980 -kbd_buffer_events_waiting 3803,114715 -clear_event 3823,115072 -kbd_buffer_get_event 3836,115412 -process_special_events 4258,127885 -swallow_events 4322,129709 -timer_start_idle 4339,130102 -timer_stop_idle 4355,130580 -timer_resume_idle 4363,130724 -struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130916 -Lisp_Object pending_funcalls;4377,131176 -decode_timer 4381,131297 -timer_check_2 4414,132250 -timer_check 4572,136821 -DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137666 -DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137666 -static Lisp_Object accent_key_syms;4625,138243 -static Lisp_Object func_key_syms;4626,138279 -static Lisp_Object mouse_syms;4627,138313 -static Lisp_Object wheel_syms;4628,138344 -static Lisp_Object drag_n_drop_syms;4629,138375 -static const int lispy_accent_codes[lispy_accent_codes4634,138520 -static const char *const lispy_accent_keys[lispy_accent_keys4741,139882 -#define FUNCTION_KEY_OFFSET 4766,140318 -const char *const lispy_function_keys[lispy_function_keys4768,140351 -static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148905 -static const char *const lispy_kana_keys[lispy_kana_keys5026,150139 -#define FUNCTION_KEY_OFFSET 5061,151755 -static const char *const lispy_function_keys[lispy_function_keys5065,151898 -#define ISO_FUNCTION_KEY_OFFSET 5149,154433 -static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154473 -static Lisp_Object Vlispy_mouse_stem;5172,155332 -static const char *const lispy_wheel_names[lispy_wheel_names5174,155371 -static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155623 -static short const scroll_bar_parts[scroll_bar_parts5189,155889 -static Lisp_Object button_down_location;5210,156914 -static int last_mouse_button;5215,157069 -static int last_mouse_x;5216,157099 -static int last_mouse_y;5217,157124 -static Time button_down_time;5218,157149 -static int double_click_count;5222,157233 -make_lispy_position 5228,157394 -toolkit_menubar_in_use 5456,163957 -make_scroll_bar_position 5469,164325 -make_lispy_event 5485,164971 -make_lispy_movement 6104,183534 -make_lispy_switch_frame 6131,184265 -make_lispy_focus_in 6137,184372 -make_lispy_focus_out 6145,184498 -parse_modifiers_uncached 6163,184948 -#define SINGLE_LETTER_MOD(6185,185468 -#undef SINGLE_LETTER_MOD6212,185909 -#define MULTI_LETTER_MOD(6214,185935 -#undef MULTI_LETTER_MOD6231,186403 -apply_modifiers_uncached 6273,187577 -static const char *const modifier_names[modifier_names6319,189196 -#define NUM_MOD_NAMES 6325,189402 -static Lisp_Object modifier_symbols;6327,189452 -lispy_modifier_list 6331,189589 -#define KEY_TO_CHAR(6353,190255 -parse_modifiers 6356,190331 -DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191520 -DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191520 -apply_modifiers 6422,192394 -reorder_modifiers 6491,194723 -modify_event_symbol 6536,196531 -DEFUN ("event-convert-list", Fevent_convert_list,6628,199247 -DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199247 -parse_solitary_modifier 6695,201138 -#define SINGLE_LETTER_MOD(6701,201261 -#define MULTI_LETTER_MOD(6705,201346 -#undef SINGLE_LETTER_MOD6763,202644 -#undef MULTI_LETTER_MOD6764,202669 -lucid_event_type_list_p 6775,202892 -get_input_pending 6814,203963 -record_asynch_buffer_change 6834,204582 -gobble_input 6872,205705 -tty_read_avail_input 6967,208313 -handle_async_input 7149,214042 -process_pending_signals 7165,214362 -unblock_input_to 7177,214648 -unblock_input 7200,215280 -totally_unblock_input 7209,215448 -handle_input_available_signal 7217,215532 -deliver_input_available_signal 7226,215703 -struct user_signal_info7235,215868 - int sig;7238,215918 - char *name;name7241,215959 - int npending;7244,216010 - struct user_signal_info *next;next7246,216027 -static struct user_signal_info *user_signals user_signals7250,216093 -add_user_signal 7253,216152 -handle_user_signal 7275,216601 -deliver_user_signal 7316,217561 -find_user_signal_name 7322,217662 -store_user_signal_events 7334,217844 -static void menu_bar_item 7362,218344 -static Lisp_Object menu_bar_one_keymap_changed_items;7363,218419 -static Lisp_Object menu_bar_items_vector;7368,218633 -static int menu_bar_items_index;7369,218675 -static const char *separator_names[separator_names7372,218710 -menu_separator_name_p 7393,219151 -menu_bar_items 7426,219855 -Lisp_Object item_properties;7568,224606 -menu_bar_item 7571,224648 -menu_item_eval_property_1 7647,227178 -eval_dyn 7658,227468 -menu_item_eval_property 7666,227678 -parse_menu_item 7686,228344 -static Lisp_Object tool_bar_items_vector;7965,236339 -static Lisp_Object tool_bar_item_properties;7970,236513 -static int ntool_bar_items;7974,236609 -static void init_tool_bar_items 7978,236667 -static void process_tool_bar_item 7979,236714 -static bool parse_tool_bar_item 7981,236804 -static void append_tool_bar_item 7982,236864 -tool_bar_items 7990,237086 -process_tool_bar_item 8075,239895 -#define PROP(8112,240972 -set_prop 8114,241041 -parse_tool_bar_item 8167,242456 -#undef PROP8379,248847 -init_tool_bar_items 8387,248972 -append_tool_bar_item 8401,249264 -read_char_x_menu_prompt 8443,250774 -read_char_minibuf_menu_prompt 8503,252448 -#define PUSH_C_STR(8527,253017 -follow_key 8726,258556 -active_maps 8733,258698 -typedef struct keyremap8742,259024 - Lisp_Object parent;8745,259110 - Lisp_Object map;8748,259227 - int start,8753,259449 - int start, end;8753,259449 -} keyremap;8754,259467 -access_keymap_keyremap 8764,259811 -keyremap_step 8811,261453 -test_undefined 8867,262937 -read_key_sequence 8916,264864 -read_key_sequence_vs 9826,295824 -DEFUN ("read-key-sequence", Fread_key_sequence,9885,297297 -DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297297 -DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299985 -DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299985 -detect_input_pending 9950,300491 -detect_input_pending_ignore_squeezables 9959,300657 -detect_input_pending_run_timers 9967,300873 -clear_input_pending 9985,301365 -requeued_events_pending_p 9997,301735 -DEFUN ("input-pending-p", Finput_pending_p,10002,301816 -DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301816 -DEFUN ("recent-keys", Frecent_keys,10024,302599 -DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302599 -DEFUN ("this-command-keys", Fthis_command_keys,10055,303520 -DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303520 -DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303961 -DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303961 -DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304383 -DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304383 -DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304958 -DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304958 -DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305498 -DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305498 -DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306513 -DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306513 -DEFUN ("recursion-depth", Frecursion_depth,10158,307072 -DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307072 -DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307409 -DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307409 -DEFUN ("discard-input", Fdiscard_input,10203,308450 -DEFUN ("discard-input", Fdiscard_input,discard-input10203,308450 -DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308952 -DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308952 -stuff_buffered_input 10285,311048 -set_waiting_for_input 10323,312019 -clear_waiting_for_input 10337,312393 -handle_interrupt_signal 10351,312757 -deliver_interrupt_signal 10378,313645 -static int volatile force_quit_count;10387,313935 -handle_interrupt 10401,314417 -quit_throw_to_read_char 10541,318714 -DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319291 -DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319291 -DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320519 -DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320519 -DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321435 -DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321435 -DEFUN ("set-quit-char", Fset_quit_char,10694,322709 -DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322709 -DEFUN ("set-input-mode", Fset_input_mode,10729,323573 -DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323573 -DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324462 -DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324462 -DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325840 -DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325840 -DEFUN ("posn-at-point", Fposn_at_point,10824,327063 -DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327063 -init_kboard 10861,328217 -allocate_kboard 10893,329287 -wipe_kboard 10909,329640 -delete_kboard 10917,329754 -init_keyboard 10942,330284 -struct event_head11021,332699 - short var;11023,332719 - short kind;11024,332732 -static const struct event_head head_table[head_table11027,332750 -syms_of_keyboard 11045,333580 - DEFVAR_LISP ("internal--top-level-message"11058,333975 - DEFVAR_LISP ("last-command-event"11312,342176 - DEFVAR_LISP ("last-nonmenu-event"11315,342300 - DEFVAR_LISP ("last-input-event"11321,342639 - DEFVAR_LISP ("unread-command-events"11324,342733 - DEFVAR_LISP ("unread-post-input-method-events"11332,343193 - DEFVAR_LISP ("unread-input-method-events"11338,343532 - DEFVAR_LISP ("meta-prefix-char"11346,343901 - DEFVAR_KBOARD ("last-command"11351,344109 - DEFVAR_KBOARD ("real-last-command"11368,344790 - DEFVAR_KBOARD ("last-repeatable-command"11372,344976 - DEFVAR_LISP ("this-command"11378,345264 - DEFVAR_LISP ("real-this-command"11384,345501 - DEFVAR_LISP ("this-command-keys-shift-translated"11388,345683 - DEFVAR_LISP ("this-original-command"11396,346126 - DEFVAR_INT ("auto-save-interval"11403,346523 - DEFVAR_LISP ("auto-save-timeout"11408,346737 - DEFVAR_LISP ("echo-keystrokes"11415,347082 - DEFVAR_INT ("polling-period"11421,347353 - DEFVAR_LISP ("double-click-time"11428,347696 - DEFVAR_INT ("double-click-fuzz"11435,348032 - DEFVAR_INT ("num-input-keys"11446,348522 - DEFVAR_INT ("num-nonmacro-input-events"11452,348797 - DEFVAR_LISP ("last-event-frame"11457,349035 - DEFVAR_LISP ("tty-erase-char"11463,349314 - DEFVAR_LISP ("help-char"11466,349437 - DEFVAR_LISP ("help-event-list"11472,349720 - DEFVAR_LISP ("help-form"11477,349931 - DEFVAR_LISP ("prefix-help-command"11483,350179 - DEFVAR_LISP ("top-level"11489,350457 - DEFVAR_KBOARD ("keyboard-translate-table"11495,350678 - DEFVAR_BOOL ("cannot-suspend"11511,351491 - DEFVAR_BOOL ("menu-prompting"11516,351718 - DEFVAR_LISP ("menu-prompt-more-char"11526,352148 - DEFVAR_INT ("extra-keyboard-modifiers"11531,352394 - DEFVAR_LISP ("deactivate-mark"11545,353120 - DEFVAR_LISP ("pre-command-hook"11553,353489 - DEFVAR_LISP ("post-command-hook"11560,353844 - DEFVAR_LISP ("echo-area-clear-hook"11568,354207 - DEFVAR_LISP ("lucid-menu-bar-dirty-flag"11574,354422 - DEFVAR_LISP ("menu-bar-final-items"11578,354625 - DEFVAR_LISP ("tool-bar-separator-image-expression"11583,354875 - DEFVAR_KBOARD ("overriding-terminal-local-map"11589,355233 - DEFVAR_LISP ("overriding-local-map"11598,355655 - DEFVAR_LISP ("overriding-local-map-menu-flag"11607,356106 - DEFVAR_LISP ("special-event-map"11613,356445 - DEFVAR_LISP ("track-mouse"11617,356633 - DEFVAR_KBOARD ("system-key-alist"11620,356760 - DEFVAR_KBOARD ("local-function-key-map"11629,357141 - DEFVAR_KBOARD ("input-decode-map"11658,358600 - DEFVAR_LISP ("function-key-map"11675,359388 - DEFVAR_LISP ("key-translation-map"11683,359804 - DEFVAR_LISP ("deferred-action-list"11689,360148 - DEFVAR_LISP ("deferred-action-function"11694,360396 - DEFVAR_LISP ("delayed-warnings-list"11700,360695 - DEFVAR_LISP ("timer-list"11708,361103 - DEFVAR_LISP ("timer-idle-list"11712,361255 - DEFVAR_LISP ("input-method-function"11716,361418 - DEFVAR_LISP ("input-method-previous-message"11737,362387 - DEFVAR_LISP ("show-help-function"11744,362748 - DEFVAR_LISP ("disable-point-adjustment"11749,362980 - DEFVAR_LISP ("global-disable-point-adjustment"11761,363530 - DEFVAR_LISP ("minibuffer-message-timeout"11770,363896 - DEFVAR_LISP ("throw-on-input"11775,364174 - DEFVAR_LISP ("command-error-function"11781,364425 - DEFVAR_LISP ("enable-disabled-menus-and-buttons"11790,364912 - DEFVAR_LISP ("select-active-regions"11798,365239 - DEFVAR_LISP ("saved-region-selection"11807,365631 - DEFVAR_LISP ("selection-inhibit-update-commands"11815,366016 - DEFVAR_LISP ("debug-on-event"11825,366557 -keys_of_keyboard 11841,367118 -mark_kboards 11916,370437 - DEFVAR_LISP ("internal--top-level-message",\111058,333975 - DEFVAR_LISP ("last-command-event",\111312,342176 - DEFVAR_LISP ("last-nonmenu-event",\111315,342300 - DEFVAR_LISP ("last-input-event",\111321,342639 - DEFVAR_LISP ("unread-command-events",\111324,342733 - DEFVAR_LISP ("unread-post-input-method-events",\111332,343193 - DEFVAR_LISP ("unread-input-method-events",\111338,343532 - DEFVAR_LISP ("meta-prefix-char",\111346,343901 - DEFVAR_KBOARD ("last-command",\111351,344109 - DEFVAR_KBOARD ("real-last-command",\111368,344790 - DEFVAR_KBOARD ("last-repeatable-command",\111372,344976 - DEFVAR_LISP ("this-command",\111378,345264 - DEFVAR_LISP ("real-this-command",\111384,345501 - DEFVAR_LISP ("this-command-keys-shift-translated",\111388,345683 - DEFVAR_LISP ("this-original-command",\111396,346126 - DEFVAR_INT ("auto-save-interval",\111403,346523 - DEFVAR_LISP ("auto-save-timeout",\111408,346737 - DEFVAR_LISP ("echo-keystrokes",\111415,347082 - DEFVAR_INT ("polling-period",\111421,347353 - DEFVAR_LISP ("double-click-time",\111428,347696 - DEFVAR_INT ("double-click-fuzz",\111435,348032 - DEFVAR_INT ("num-input-keys",\111446,348522 - DEFVAR_INT ("num-nonmacro-input-events",\111452,348797 - DEFVAR_LISP ("last-event-frame",\111457,349035 - DEFVAR_LISP ("tty-erase-char",\111463,349314 - DEFVAR_LISP ("help-char",\111466,349437 - DEFVAR_LISP ("help-event-list",\111472,349720 - DEFVAR_LISP ("help-form",\111477,349931 - DEFVAR_LISP ("prefix-help-command",\111483,350179 - DEFVAR_LISP ("top-level",\111489,350457 - DEFVAR_KBOARD ("keyboard-translate-table",\111495,350678 - DEFVAR_BOOL ("cannot-suspend",\111511,351491 - DEFVAR_BOOL ("menu-prompting",\111516,351718 - DEFVAR_LISP ("menu-prompt-more-char",\111526,352148 - DEFVAR_INT ("extra-keyboard-modifiers",\111531,352394 - DEFVAR_LISP ("deactivate-mark",\111545,353120 - DEFVAR_LISP ("pre-command-hook",\111553,353489 - DEFVAR_LISP ("post-command-hook",\111560,353844 - DEFVAR_LISP ("echo-area-clear-hook",\111568,354207 - DEFVAR_LISP ("lucid-menu-bar-dirty-flag",\111574,354422 - DEFVAR_LISP ("menu-bar-final-items",\111578,354625 - DEFVAR_LISP ("tool-bar-separator-image-expression",\111583,354875 - DEFVAR_KBOARD ("overriding-terminal-local-map",\111589,355233 - DEFVAR_LISP ("overriding-local-map",\111598,355655 - DEFVAR_LISP ("overriding-local-map-menu-flag",\111607,356106 - DEFVAR_LISP ("special-event-map",\111613,356445 - DEFVAR_LISP ("track-mouse",\111617,356633 - DEFVAR_KBOARD ("system-key-alist",\111620,356760 - DEFVAR_KBOARD ("local-function-key-map",\111629,357141 - DEFVAR_KBOARD ("input-decode-map",\111658,358600 - DEFVAR_LISP ("function-key-map",\111675,359388 - DEFVAR_LISP ("key-translation-map",\111683,359804 - DEFVAR_LISP ("deferred-action-list",\111689,360148 - DEFVAR_LISP ("deferred-action-function",\111694,360396 - DEFVAR_LISP ("delayed-warnings-list",\111700,360695 - DEFVAR_LISP ("timer-list",\111708,361103 - DEFVAR_LISP ("timer-idle-list",\111712,361255 - DEFVAR_LISP ("input-method-function",\111716,361418 - DEFVAR_LISP ("input-method-previous-message",\111737,362387 - DEFVAR_LISP ("show-help-function",\111744,362748 - DEFVAR_LISP ("disable-point-adjustment",\111749,362980 - DEFVAR_LISP ("global-disable-point-adjustment",\111761,363530 - DEFVAR_LISP ("minibuffer-message-timeout",\111770,363896 - DEFVAR_LISP ("throw-on-input",\111775,364174 - DEFVAR_LISP ("command-error-function",\111781,364425 - DEFVAR_LISP ("enable-disabled-menus-and-buttons",\111790,364912 - DEFVAR_LISP ("select-active-regions",\111798,365239 - DEFVAR_LISP ("saved-region-selection",\111807,365631 - DEFVAR_LISP ("selection-inhibit-update-commands",\111815,366016 - DEFVAR_LISP ("debug-on-event",\111825,366557 - -c-src/emacs/src/lisp.h,41391 -#define EMACS_LISP_H22,801 -#define DECLARE_GDB_SYM(47,1422 -# define DEFINE_GDB_SYMBOL_BEGIN(49,1509 -# define DEFINE_GDB_SYMBOL_END(50,1579 -# define DEFINE_GDB_SYMBOL_BEGIN(52,1626 -# define DEFINE_GDB_SYMBOL_END(53,1703 -#undef min57,1791 -#undef max58,1802 -#define max(59,1813 -#define min(60,1855 -#define ARRAYELTS(63,1937 -#define GCTYPEBITS 67,2080 -DEFINE_GDB_SYMBOL_BEGIN GCTYPEBITS66,2038 -# define NONPOINTER_BITS 78,2568 -# define NONPOINTER_BITS 80,2601 -typedef int EMACS_INT;91,3024 -typedef unsigned int EMACS_UINT;92,3047 -# define EMACS_INT_MAX 93,3080 -# define pI 94,3112 -typedef long int EMACS_INT;96,3204 -typedef unsigned long EMACS_UINT;97,3232 -# define EMACS_INT_MAX 98,3266 -# define pI 99,3299 -typedef long long int EMACS_INT;103,3478 -typedef unsigned long long int EMACS_UINT;104,3511 -# define EMACS_INT_MAX 105,3554 -# define pI 106,3588 -enum { BOOL_VECTOR_BITS_PER_CHAR 114,3805 -#define BOOL_VECTOR_BITS_PER_CHAR 115,3841 -typedef size_t bits_word;123,4166 -# define BITS_WORD_MAX 124,4192 -enum { BITS_PER_BITS_WORD 125,4224 -typedef unsigned char bits_word;127,4291 -# define BITS_WORD_MAX 128,4324 -enum { BITS_PER_BITS_WORD 129,4387 -verify 131,4451 - BITS_PER_CHAR 136,4571 - BITS_PER_SHORT 137,4606 - BITS_PER_LONG 138,4658 - BITS_PER_EMACS_INT 139,4713 -typedef intmax_t printmax_t;148,5090 -typedef uintmax_t uprintmax_t;149,5119 -# define pMd 150,5150 -# define pMu 151,5171 -typedef EMACS_INT printmax_t;153,5198 -typedef EMACS_UINT uprintmax_t;154,5228 -# define pMd 155,5260 -# define pMu 156,5279 -# define pD 165,5665 -# define pD 167,5710 -# define pD 169,5757 -# define pD 171,5780 -# define eassert(200,7063 -# define eassume(201,7141 -extern _Noreturn void die 204,7207 -extern bool suppress_checking EXTERNALLY_VISIBLE;206,7269 -# define eassert(208,7320 -# define eassume(212,7451 -enum Lisp_Bits239,8520 -#define GCALIGNMENT 243,8648 - VALBITS 246,8743 - INTTYPEBITS 249,8839 - FIXNUM_BITS 252,8946 -#define VAL_MAX 263,9328 -#define USE_LSB_TAG 271,9778 -DEFINE_GDB_SYMBOL_BEGIN USE_LSB_TAG270,9734 -# define alignas(281,10078 -# define GCALIGNED 288,10228 -# define GCALIGNED 290,10293 -# define lisp_h_XLI(327,11643 -# define lisp_h_XIL(328,11674 -# define lisp_h_XLI(330,11725 -# define lisp_h_XIL(331,11752 -#define lisp_h_CHECK_LIST_CONS(333,11786 -#define lisp_h_CHECK_NUMBER(334,11857 -#define lisp_h_CHECK_SYMBOL(335,11928 -#define lisp_h_CHECK_TYPE(336,11997 -#define lisp_h_CONSP(338,12108 -#define lisp_h_EQ(339,12157 -#define lisp_h_FLOATP(340,12202 -#define lisp_h_INTEGERP(341,12253 -#define lisp_h_MARKERP(342,12334 -#define lisp_h_MISCP(343,12409 -#define lisp_h_NILP(344,12458 -#define lisp_h_SET_SYMBOL_VAL(345,12494 -#define lisp_h_SYMBOL_CONSTANT_P(347,12608 -#define lisp_h_SYMBOL_VAL(348,12672 -#define lisp_h_SYMBOLP(350,12773 -#define lisp_h_VECTORLIKEP(351,12826 -#define lisp_h_XCAR(352,12887 -#define lisp_h_XCDR(353,12925 -#define lisp_h_XCONS(354,12965 -#define lisp_h_XHASH(356,13060 -#define lisp_h_XPNTR(357,13094 -# define lisp_h_check_cons_list(360,13222 -# define lisp_h_make_number(363,13290 -# define lisp_h_XFASTINT(365,13393 -# define lisp_h_XINT(366,13430 -# define lisp_h_XSYMBOL(367,13479 -# define lisp_h_XTYPE(371,13632 -# define lisp_h_XUNTAG(372,13697 -# define XLI(381,14087 -# define XIL(382,14118 -# define CHECK_LIST_CONS(383,14149 -# define CHECK_NUMBER(384,14210 -# define CHECK_SYMBOL(385,14259 -# define CHECK_TYPE(386,14308 -# define CONSP(387,14383 -# define EQ(388,14418 -# define FLOATP(389,14453 -# define INTEGERP(390,14490 -# define MARKERP(391,14531 -# define MISCP(392,14570 -# define NILP(393,14605 -# define SET_SYMBOL_VAL(394,14638 -# define SYMBOL_CONSTANT_P(395,14701 -# define SYMBOL_VAL(396,14764 -# define SYMBOLP(397,14813 -# define VECTORLIKEP(398,14852 -# define XCAR(399,14899 -# define XCDR(400,14932 -# define XCONS(401,14965 -# define XHASH(402,15000 -# define XPNTR(403,15035 -# define check_cons_list(405,15098 -# define make_number(408,15177 -# define XFASTINT(409,15225 -# define XINT(410,15267 -# define XSYMBOL(411,15301 -# define XTYPE(412,15341 -# define XUNTAG(413,15377 -#define LISP_MACRO_DEFUN(421,15673 -#define LISP_MACRO_DEFUN_VOID(425,15846 -#define INTMASK 437,16290 -#define case_Lisp_Int 438,16343 -#define ENUM_BF(445,16682 -#define ENUM_BF(447,16723 -enum Lisp_Type451,16764 - Lisp_Symbol 454,16852 - Lisp_Misc 458,16994 - Lisp_Int0 461,17068 - Lisp_Int1 462,17087 - Lisp_String 466,17265 - Lisp_Vectorlike 472,17544 - Lisp_Cons 475,17633 - Lisp_Float 477,17671 -enum Lisp_Misc_Type485,18017 - Lisp_Misc_Free 487,18041 - Lisp_Misc_Marker,488,18070 - Lisp_Misc_Overlay,489,18092 - Lisp_Misc_Save_Value,490,18115 - Lisp_Misc_Finalizer,491,18141 - Lisp_Misc_Float,494,18276 - Lisp_Misc_Limit496,18360 -enum Lisp_Fwd_Type502,18544 - Lisp_Fwd_Int,504,18567 - Lisp_Fwd_Bool,505,18620 - Lisp_Fwd_Obj,506,18671 - Lisp_Fwd_Buffer_Obj,507,18730 - Lisp_Fwd_Kboard_Obj 508,18801 -typedef struct { EMACS_INT i;567,21772 -typedef struct { EMACS_INT i; } Lisp_Object;567,21772 -#define LISP_INITIALLY(569,21818 -#undef CHECK_LISP_OBJECT_TYPE571,21849 -enum CHECK_LISP_OBJECT_TYPE 572,21879 -enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE 572,21879 -typedef EMACS_INT Lisp_Object;577,22055 -#define LISP_INITIALLY(578,22086 -enum CHECK_LISP_OBJECT_TYPE 579,22116 -enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE 579,22116 -#define LISP_INITIALLY_ZERO 582,22217 -INLINE bool BOOL_VECTOR_P 588,22341 -INLINE bool BUFFER_OBJFWDP 589,22382 -INLINE bool BUFFERP 590,22429 -INLINE bool CHAR_TABLE_P 591,22464 -INLINE Lisp_Object CHAR_TABLE_REF_ASCII 592,22504 -INLINE bool 593,22570 -INLINE bool 594,22605 -INLINE bool functionp 595,22641 -INLINE bool 596,22678 -INLINE bool 597,22716 -INLINE bool 598,22753 -INLINE bool 599,22788 -INLINE bool OVERLAYP 600,22822 -INLINE bool PROCESSP 601,22858 -INLINE bool PSEUDOVECTORP 602,22894 -INLINE bool SAVE_VALUEP 603,22940 -INLINE bool FINALIZERP 604,22979 -INLINE void set_sub_char_table_contents 605,23017 -INLINE bool STRINGP 607,23107 -INLINE bool SUB_CHAR_TABLE_P 608,23142 -INLINE bool SUBRP 609,23186 -INLINE bool 610,23219 -INLINE bool 611,23256 -INLINE bool WINDOWP 612,23297 -INLINE bool TERMINALP 613,23332 -INLINE struct Lisp_Save_Value *XSAVE_VALUE XSAVE_VALUE614,23369 -INLINE struct Lisp_Finalizer *XFINALIZER XFINALIZER615,23427 -INLINE struct Lisp_Symbol *(XSYMBOL)616,23483 -INLINE void 617,23535 -extern Lisp_Object char_table_ref 620,23607 -extern void char_table_set 621,23661 -extern _Noreturn Lisp_Object wrong_type_argument 624,23748 -extern _Noreturn void wrong_choice 625,23825 -extern bool might_dump;628,23916 -extern bool initialized;631,24052 -extern double extract_float 634,24108 -enum symbol_interned639,24190 - SYMBOL_UNINTERNED 641,24213 - SYMBOL_INTERNED 642,24238 - SYMBOL_INTERNED_IN_INITIAL_OBARRAY 643,24261 -enum symbol_redirect646,24306 - SYMBOL_PLAINVAL 648,24329 - SYMBOL_VARALIAS 649,24353 - SYMBOL_LOCALIZED 650,24377 - SYMBOL_FORWARDED 651,24401 -struct Lisp_Symbol654,24428 - bool_bf gcmarkbit 656,24449 - ENUM_BF (symbol_redirect) redirect 663,24784 - unsigned constant 668,25002 - unsigned interned 672,25122 - bool_bf declared_special 676,25284 - bool_bf pinned 679,25385 - Lisp_Object name;682,25454 - Lisp_Object value;687,25622 - struct Lisp_Symbol *alias;alias688,25645 - struct Lisp_Buffer_Local_Value *blv;blv689,25676 - union Lisp_Fwd *fwd;fwd690,25717 - } val;691,25742 - Lisp_Object function;694,25814 - Lisp_Object plist;697,25876 - struct Lisp_Symbol *next;next700,25965 -#define EXFUN(707,26243 -#define DEFUN_ARGS_MANY 712,26437 -#define DEFUN_ARGS_UNEVALLED 713,26489 -#define DEFUN_ARGS_0 714,26532 -#define DEFUN_ARGS_1 715,26560 -#define DEFUN_ARGS_2 716,26595 -#define DEFUN_ARGS_3 717,26643 -#define DEFUN_ARGS_4 718,26704 -#define DEFUN_ARGS_5 719,26778 -#define DEFUN_ARGS_6 721,26871 -#define DEFUN_ARGS_7 723,26977 -#define DEFUN_ARGS_8 725,27096 -#define TAG_PTR(729,27287 -#define TAG_SYMOFFSET(734,27534 -#define XLI_BUILTIN_LISPSYM(741,27833 -#define DEFINE_LISP_SYMBOL(746,28092 -# define DEFINE_NON_NIL_Q_SYMBOL_MACROS 755,28563 -LISP_MACRO_DEFUN 762,28768 -# define ARRAY_MARK_FLAG 768,29015 -# define PSEUDOVECTOR_FLAG 774,29258 -enum pvec_type780,29559 - PVEC_NORMAL_VECTOR,782,29576 - PVEC_FREE,783,29598 - PVEC_PROCESS,784,29611 - PVEC_FRAME,785,29627 - PVEC_WINDOW,786,29641 - PVEC_BOOL_VECTOR,787,29656 - PVEC_BUFFER,788,29676 - PVEC_HASH_TABLE,789,29691 - PVEC_TERMINAL,790,29710 - PVEC_WINDOW_CONFIGURATION,791,29727 - PVEC_SUBR,792,29756 - PVEC_OTHER,793,29769 - PVEC_COMPILED,795,29847 - PVEC_CHAR_TABLE,796,29864 - PVEC_SUB_CHAR_TABLE,797,29883 - PVEC_FONT 798,29906 -enum More_Lisp_Bits801,29982 - PSEUDOVECTOR_SIZE_BITS 808,30373 - PSEUDOVECTOR_SIZE_MASK 809,30406 - PSEUDOVECTOR_REST_BITS 813,30616 - PSEUDOVECTOR_REST_MASK 814,30649 - PSEUDOVECTOR_AREA_BITS 818,30814 - PVEC_TYPE_MASK 819,30892 -# define VALMASK 829,31293 -DEFINE_GDB_SYMBOL_BEGIN VALMASK828,31248 -#define MOST_POSITIVE_FIXNUM 834,31523 -#define MOST_NEGATIVE_FIXNUM 835,31583 -XINT 874,32675 -XFASTINT 889,33026 -XSYMBOL 899,33254 -XTYPE 910,33472 -XUNTAG 918,33652 -LISP_MACRO_DEFUN 927,33848 -LISP_MACRO_DEFUN 940,34233 -#define FIXNUM_OVERFLOW_P(958,34846 -LISP_MACRO_DEFUN FIXNUM_OVERFLOW_P952,34623 -LISP_MACRO_DEFUN 970,35162 -XSTRING 980,35382 -#define SYMBOL_INDEX(988,35566 -XFLOAT 991,35627 -XPROCESS 1000,35769 -XWINDOW 1007,35886 -XTERMINAL 1014,36003 -XSUBR 1021,36125 -XBUFFER 1028,36236 -XCHAR_TABLE 1035,36360 -XSUB_CHAR_TABLE 1042,36497 -XBOOL_VECTOR 1049,36639 -make_lisp_ptr 1058,36818 -make_lisp_symbol 1066,37004 -builtin_lisp_symbol 1074,37188 -#define XSETINT(1079,37270 -#define XSETFASTINT(1080,37316 -#define XSETCONS(1081,37366 -#define XSETVECTOR(1082,37426 -#define XSETSTRING(1083,37494 -#define XSETSYMBOL(1084,37558 -#define XSETFLOAT(1085,37612 -#define XSETMISC(1086,37674 -#define XSETPVECTYPE(1090,37763 -#define XSETPVECTYPESIZE(1092,37879 -#define XSETPSEUDOVECTOR(1099,38176 -#define XSETTYPED_PSEUDOVECTOR(1105,38360 -#define XSETWINDOW_CONFIGURATION(1110,38570 -#define XSETPROCESS(1112,38666 -#define XSETWINDOW(1113,38732 -#define XSETTERMINAL(1114,38796 -#define XSETSUBR(1115,38864 -#define XSETCOMPILED(1116,38924 -#define XSETBUFFER(1117,38992 -#define XSETCHAR_TABLE(1118,39056 -#define XSETBOOL_VECTOR(1119,39128 -#define XSETSUB_CHAR_TABLE(1120,39202 -XINTPTR 1128,39572 -make_pointer_integer 1134,39652 -LISP_MACRO_DEFUN_VOID 1143,39817 -typedef struct interval *INTERVAL;INTERVAL1149,39978 - Lisp_Object cdr;1159,40153 - struct Lisp_Cons *chain;chain1162,40227 -xcar_addr 1174,40751 -xcdr_addr 1179,40828 -LISP_MACRO_DEFUN 1185,40922 -XSETCDR 1198,41298 -CAR 1205,41448 -CDR 1212,41582 -CAR_SAFE 1221,41782 -CDR_SAFE 1226,41868 -STRING_MULTIBYTE 1243,42241 -#define STRING_BYTES_BOUND 1261,43048 -#define STRING_SET_UNIBYTE(1265,43192 -#define STRING_SET_MULTIBYTE(1275,43507 -SDATA 1286,43821 -SSDATA 1291,43899 -SREF 1297,44028 -SSET 1302,44119 -SCHARS 1307,44233 -extern ptrdiff_t string_bytes 1313,44328 -STRING_BYTES 1316,44406 -SBYTES 1326,44586 -STRING_SET_CHARS 1331,44672 -struct vectorlike_header1343,45223 - ptrdiff_t size;1364,46374 -struct Lisp_Vector1369,46473 - struct vectorlike_header header;1371,46496 - Lisp_Object contents[contents1372,46533 - ALIGNOF_STRUCT_LISP_VECTOR1378,46672 -struct Lisp_Bool_Vector1384,46855 - struct vectorlike_header header;1388,47003 - EMACS_INT size;1390,47077 - bits_word data[data1395,47310 -bool_vector_size 1399,47376 -bool_vector_data 1407,47514 -bool_vector_uchar_data 1413,47608 -bool_vector_words 1421,47794 -bool_vector_bytes 1428,47989 -bool_vector_bitref 1437,48229 -bool_vector_ref 1445,48469 -bool_vector_set 1453,48609 - header_size 1471,49038 - bool_header_size 1472,49097 - word_size 1473,49162 -AREF 1479,49275 -aref_addr 1485,49382 -ASIZE 1491,49492 -ASET 1497,49574 -gc_aset 1504,49733 -enum { NIL_IS_ZERO 1515,50260 -memclear 1520,50455 -#define VECSIZE(1531,50753 -#define PSEUDOVECSIZE(1538,51038 -#define UNSIGNED_CMP(1546,51471 -#define ASCII_CHAR_P(1552,51725 -enum CHARTAB_SIZE_BITS1565,52480 - CHARTAB_SIZE_BITS_0 1567,52507 - CHARTAB_SIZE_BITS_1 1568,52536 - CHARTAB_SIZE_BITS_2 1569,52565 - CHARTAB_SIZE_BITS_3 1570,52594 -extern const int chartab_size[chartab_size1573,52628 -struct Lisp_Char_Table1575,52663 - struct vectorlike_header header;1581,52919 - Lisp_Object defalt;1585,53069 - Lisp_Object parent;1590,53271 - Lisp_Object purpose;1594,53389 - Lisp_Object ascii;1598,53555 - Lisp_Object contents[contents1600,53579 - Lisp_Object extras[extras1603,53690 -struct Lisp_Sub_Char_Table1606,53743 - struct vectorlike_header header;1610,53909 - int depth;1618,54332 - int min_char;1621,54408 - Lisp_Object contents[contents1624,54483 -CHAR_TABLE_REF_ASCII 1628,54557 -CHAR_TABLE_REF 1648,55104 -CHAR_TABLE_SET 1658,55393 -struct Lisp_Subr1670,55777 - struct vectorlike_header header;1672,55798 - Lisp_Object (*a0)a01674,55847 - Lisp_Object (*a1)a11675,55879 - Lisp_Object (*a2)a21676,55918 - Lisp_Object (*a3)a31677,55970 - Lisp_Object (*a4)a41678,56035 - Lisp_Object (*a5)a51679,56113 - Lisp_Object (*a6)a61680,56204 - Lisp_Object (*a7)a71681,56308 - Lisp_Object (*a8)a81682,56425 - Lisp_Object (*aUNEVALLED)aUNEVALLED1683,56555 - Lisp_Object (*aMANY)aMANY1684,56607 - } function;1685,56662 - short min_args,1686,56678 - short min_args, max_args;1686,56678 - const char *symbol_name;symbol_name1687,56708 - const char *intspec;intspec1688,56737 - const char *doc;doc1689,56762 -enum char_table_specials1692,56789 - CHAR_TABLE_STANDARD_SLOTS 1697,56984 - SUB_CHAR_TABLE_OFFSET 1701,57205 -CHAR_TABLE_EXTRA_SLOTS 1707,57368 -verify 1714,57587 -LISP_MACRO_DEFUN 1723,57912 -SYMBOL_BLV 1732,58172 -SYMBOL_FWD 1738,58307 -LISP_MACRO_DEFUN_VOID 1744,58419 -SET_SYMBOL_BLV 1754,58682 -SET_SYMBOL_FWD 1760,58841 -SYMBOL_NAME 1767,58992 -SYMBOL_INTERNED_P 1775,59121 -SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P 1783,59290 -#define DEFSYM(1796,59800 -LISP_MACRO_DEFUN DEFSYM1792,59621 -struct hash_table_test1805,60053 - Lisp_Object name;1808,60130 - Lisp_Object user_hash_function;1811,60197 - Lisp_Object user_cmp_function;1814,60288 - bool (*cmpfn)cmpfn1817,60363 - EMACS_UINT (*hashfn)hashfn1820,60477 -struct Lisp_Hash_Table1823,60546 - struct vectorlike_header header;1826,60640 - Lisp_Object weak;1830,60774 - Lisp_Object rehash_size;1835,60998 - Lisp_Object rehash_threshold;1839,61120 - Lisp_Object hash;1843,61251 - Lisp_Object next;1848,61481 - Lisp_Object next_free;1851,61551 - Lisp_Object index;1856,61762 - ptrdiff_t count;1863,62032 - Lisp_Object key_and_value;1868,62231 - struct hash_table_test test;1871,62305 - struct Lisp_Hash_Table *next_weak;next_weak1875,62448 -XHASH_TABLE 1880,62522 -#define XSET_HASH_TABLE(1885,62593 -HASH_TABLE_P 1889,62694 -HASH_KEY 1896,62851 -HASH_VALUE 1903,63031 -HASH_NEXT 1911,63245 -HASH_HASH 1918,63422 -HASH_INDEX 1926,63668 -HASH_TABLE_SIZE 1933,63817 -enum DEFAULT_HASH_SIZE 1940,63947 -enum DEFAULT_HASH_SIZE { DEFAULT_HASH_SIZE 1940,63947 -static double const DEFAULT_REHASH_THRESHOLD 1946,64167 -static double const DEFAULT_REHASH_SIZE 1950,64290 -sxhash_combine 1956,64456 -SXHASH_REDUCE 1964,64639 -struct Lisp_Misc_Any 1971,64797 - ENUM_BF (Lisp_Misc_Type) type 1973,64857 - bool_bf gcmarkbit 1974,64918 - unsigned spacer 1975,64943 -struct Lisp_Marker1978,64971 - ENUM_BF (Lisp_Misc_Type) type 1980,64992 - bool_bf gcmarkbit 1981,65056 - unsigned spacer 1982,65081 - bool_bf need_adjustment 1986,65273 - bool_bf insertion_type 1989,65414 - struct buffer *buffer;buffer2000,66007 - struct Lisp_Marker *next;next2009,66358 - ptrdiff_t charpos;2011,66446 - ptrdiff_t bytepos;2016,66704 -struct Lisp_Overlay2021,66832 - ENUM_BF (Lisp_Misc_Type) type 2034,67340 - bool_bf gcmarkbit 2035,67406 - unsigned spacer 2036,67433 - struct Lisp_Overlay *next;next2037,67459 - Lisp_Object start;2038,67490 - Lisp_Object end;2039,67513 - Lisp_Object plist;2040,67534 - SAVE_UNUSED,2047,67635 - SAVE_INTEGER,2048,67652 - SAVE_FUNCPOINTER,2049,67670 - SAVE_POINTER,2050,67692 - SAVE_OBJECT2051,67710 -enum { SAVE_SLOT_BITS 2055,67795 -enum { SAVE_VALUE_SLOTS 2058,67892 -enum { SAVE_TYPE_BITS 2062,68000 -enum Lisp_Save_Type2064,68066 - SAVE_TYPE_INT_INT 2066,68090 - SAVE_TYPE_INT_INT_INT2067,68163 - SAVE_TYPE_OBJ_OBJ 2069,68253 - SAVE_TYPE_OBJ_OBJ_OBJ 2070,68324 - SAVE_TYPE_OBJ_OBJ_OBJ_OBJ2071,68405 - SAVE_TYPE_PTR_INT 2073,68500 - SAVE_TYPE_PTR_OBJ 2074,68573 - SAVE_TYPE_PTR_PTR 2075,68645 - SAVE_TYPE_FUNCPTR_PTR_OBJ2076,68718 - SAVE_TYPE_MEMORY 2080,68876 -typedef void (*voidfuncptr)voidfuncptr2108,69830 -struct Lisp_Save_Value2110,69867 - ENUM_BF (Lisp_Misc_Type) type 2112,69894 - bool_bf gcmarkbit 2113,69963 - unsigned spacer : 32 - (16 + 1 + SAVE_TYPE_BITS)2114,69990 - ENUM_BF (Lisp_Save_Type) save_type : SAVE_TYPE_BITS;2123,70480 - void *pointer;pointer2125,70549 - voidfuncptr funcpointer;2126,70570 - ptrdiff_t integer;2127,70601 - Lisp_Object object;2128,70626 - } data[data2129,70652 -save_type 2134,70746 -XSAVE_POINTER 2143,70976 -set_save_pointer 2149,71138 -XSAVE_FUNCPOINTER 2155,71320 -XSAVE_INTEGER 2164,71540 -set_save_integer 2170,71702 -XSAVE_OBJECT 2179,71923 -struct Lisp_Finalizer2186,72100 - struct Lisp_Misc_Any base;2188,72126 - struct Lisp_Finalizer *prev;prev2191,72214 - struct Lisp_Finalizer *next;next2192,72247 - Lisp_Object function;2197,72484 -struct Lisp_Free2201,72575 - ENUM_BF (Lisp_Misc_Type) type 2203,72596 - bool_bf gcmarkbit 2204,72659 - unsigned spacer 2205,72686 - union Lisp_Misc *chain;chain2206,72712 -union Lisp_Misc2212,72876 - struct Lisp_Misc_Any u_any;2214,72896 - struct Lisp_Free u_free;2215,72967 - struct Lisp_Marker u_marker;2216,72996 - struct Lisp_Overlay u_overlay;2217,73029 - struct Lisp_Save_Value u_save_value;2218,73064 - struct Lisp_Finalizer u_finalizer;2219,73105 -XMISC 2223,73175 -XMISCANY 2229,73264 -XMISCTYPE 2236,73373 -XMARKER 2242,73461 -XOVERLAY 2249,73576 -XSAVE_VALUE 2256,73697 -XFINALIZER 2263,73826 -struct Lisp_Intfwd2274,74111 - enum Lisp_Fwd_Type type;2276,74134 - EMACS_INT *intvar;intvar2277,74184 -struct Lisp_Boolfwd2284,74405 - enum Lisp_Fwd_Type type;2286,74429 - bool *boolvar;boolvar2287,74480 -struct Lisp_Objfwd2294,74696 - enum Lisp_Fwd_Type type;2296,74719 - Lisp_Object *objvar;objvar2297,74769 -struct Lisp_Buffer_Objfwd2302,74928 - enum Lisp_Fwd_Type type;2304,74958 - int offset;2305,75015 - Lisp_Object predicate;2307,75107 -struct Lisp_Buffer_Local_Value2334,76464 - bool_bf local_if_set 2338,76609 - bool_bf frame_local 2341,76791 - bool_bf found 2344,76933 - union Lisp_Fwd *fwd;fwd2346,77035 - Lisp_Object where;2348,77178 - Lisp_Object defcell;2351,77304 - Lisp_Object valcell;2357,77608 -struct Lisp_Kboard_Objfwd2362,77723 - enum Lisp_Fwd_Type type;2364,77753 - int offset;2365,77810 -union Lisp_Fwd2368,77832 - struct Lisp_Intfwd u_intfwd;2370,77851 - struct Lisp_Boolfwd u_boolfwd;2371,77884 - struct Lisp_Objfwd u_objfwd;2372,77919 - struct Lisp_Buffer_Objfwd u_buffer_objfwd;2373,77952 - struct Lisp_Kboard_Objfwd u_kboard_objfwd;2374,77999 -XFWDTYPE 2378,78078 -XBUFFER_OBJFWD 2384,78174 -struct Lisp_Float2391,78310 - double data;2395,78348 - struct Lisp_Float *chain;chain2396,78367 - } u;2397,78399 -XFLOAT_DATA 2401,78428 - IEEE_FLOATING_POINT2415,78937 -#define _UCHAR_T2423,79260 -typedef unsigned char UCHAR;2424,79277 -enum Lisp_Compiled2429,79360 - COMPILED_ARGLIST 2431,79383 - COMPILED_BYTECODE 2432,79409 - COMPILED_CONSTANTS 2433,79436 - COMPILED_STACK_DEPTH 2434,79464 - COMPILED_DOC_STRING 2435,79494 - COMPILED_INTERACTIVE 2436,79523 -enum char_bits2443,79825 - CHAR_ALT 2445,79844 - CHAR_SUPER 2446,79870 - CHAR_HYPER 2447,79898 - CHAR_SHIFT 2448,79926 - CHAR_CTL 2449,79954 - CHAR_META 2450,79980 - CHAR_MODIFIER_MASK 2452,80008 - CHARACTERBITS 2457,80203 -LISP_MACRO_DEFUN 2462,80261 -NATNUMP 2470,80403 -RANGED_INTEGERP 2476,80484 -#define TYPE_RANGED_INTEGERP(2481,80606 -LISP_MACRO_DEFUN 2486,80791 -VECTORP 2500,81264 -OVERLAYP 2505,81367 -SAVE_VALUEP 2510,81466 -FINALIZERP 2516,81572 -AUTOLOADP 2522,81676 -BUFFER_OBJFWDP 2528,81767 -PSEUDOVECTOR_TYPEP 2534,81865 -PSEUDOVECTORP 2542,82118 -WINDOW_CONFIGURATIONP 2558,82470 -PROCESSP 2564,82580 -WINDOWP 2570,82664 -TERMINALP 2576,82746 -SUBRP 2582,82832 -COMPILEDP 2588,82910 -BUFFERP 2594,82996 -CHAR_TABLE_P 2600,83078 -SUB_CHAR_TABLE_P 2606,83169 -BOOL_VECTOR_P 2612,83268 -FRAMEP 2618,83361 -IMAGEP 2625,83478 -ARRAYP 2632,83583 -CHECK_LIST 2638,83702 -LISP_MACRO_DEFUN_VOID 2643,83783 -CHECK_STRING_CAR 2653,84080 -CHECK_CONS 2658,84184 -CHECK_VECTOR 2663,84264 -CHECK_BOOL_VECTOR 2668,84350 -CHECK_VECTOR_OR_STRING 2674,84527 -CHECK_ARRAY 2683,84701 -CHECK_BUFFER 2688,84809 -CHECK_WINDOW 2693,84895 -CHECK_PROCESS 2699,85001 -CHECK_NATNUM 2705,85097 -#define CHECK_RANGED_INTEGER(2710,85174 -#define CHECK_TYPE_RANGED_INTEGER(2721,85557 -#define CHECK_NUMBER_COERCE_MARKER(2729,85827 -XFLOATINT 2738,86080 -CHECK_NUMBER_OR_FLOAT 2744,86151 -#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(2749,86250 -CHECK_NUMBER_CAR 2760,86660 -CHECK_NUMBER_CDR 2768,86782 -#define DEFUN(2803,88377 -#define DEFUN(2812,88845 -FUNCTIONP 2822,89200 -extern void defsubr 2829,89352 -enum maxargs2831,89395 - MANY 2833,89412 - UNEVALLED 2834,89427 -#define CALLMANY(2838,89530 -#define CALLN(2844,89883 -extern void defvar_lisp 2846,89953 -extern void defvar_lisp_nopro 2847,90030 -extern void defvar_bool 2848,90113 -extern void defvar_int 2849,90184 -extern void defvar_kboard 2850,90258 -#define DEFVAR_LISP(2869,91088 -#define DEFVAR_LISP_NOPRO(2874,91260 -#define DEFVAR_BOOL(2879,91442 -#define DEFVAR_INT(2884,91615 -#define DEFVAR_BUFFER_DEFAULTS(2890,91786 -#define DEFVAR_KBOARD(2896,91990 -typedef jmp_buf sys_jmp_buf;2906,92314 -# define sys_setjmp(2907,92343 -# define sys_longjmp(2908,92378 -typedef sigjmp_buf sys_jmp_buf;2910,92450 -# define sys_setjmp(2911,92482 -# define sys_longjmp(2912,92522 -typedef jmp_buf sys_jmp_buf;2916,92681 -# define sys_setjmp(2917,92710 -# define sys_longjmp(2918,92744 -enum specbind_tag 2943,93796 - SPECPDL_UNWIND,2944,93816 - SPECPDL_UNWIND_PTR,2945,93885 - SPECPDL_UNWIND_INT,2946,93936 - SPECPDL_UNWIND_VOID,2947,93984 - SPECPDL_BACKTRACE,2948,94038 - SPECPDL_LET,2949,94096 - SPECPDL_LET_LOCAL,2951,94226 - SPECPDL_LET_DEFAULT 2952,94283 -union specbinding2955,94355 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2957,94377 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2959,94434 - void (*func)func2960,94480 - Lisp_Object arg;2961,94514 - } unwind;2962,94537 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2964,94564 - void (*func)func2965,94610 - void *arg;arg2966,94639 - } unwind_ptr;2967,94656 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2969,94687 - void (*func)func2970,94733 - int arg;2971,94759 - } unwind_int;2972,94774 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2974,94805 - void (*func)func2975,94851 - } unwind_void;2976,94878 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2978,94910 - Lisp_Object symbol,2980,95017 - Lisp_Object symbol, old_value,2980,95017 - Lisp_Object symbol, old_value, where;2980,95017 - } let;2981,95061 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2983,95085 - bool_bf debug_on_exit 2984,95131 - Lisp_Object function;2985,95164 - Lisp_Object *args;args2986,95192 - ptrdiff_t nargs;2987,95217 - } bt;2988,95240 -extern union specbinding *specpdl;specpdl2991,95256 -extern union specbinding *specpdl_ptr;specpdl_ptr2992,95291 -extern ptrdiff_t specpdl_size;2993,95330 -SPECPDL_INDEX 2996,95379 -enum handlertype 3021,96401 -enum handlertype { CATCHER,3021,96401 -enum handlertype { CATCHER, CONDITION_CASE 3021,96401 -struct handler3023,96448 - enum handlertype type;3025,96465 - Lisp_Object tag_or_ch;3026,96490 - Lisp_Object val;3027,96515 - struct handler *next;next3028,96534 - struct handler *nextfree;nextfree3029,96558 - Lisp_Object *bytecode_top;bytecode_top3036,96916 - int bytecode_dest;3037,96945 - struct gcpro *gcpro;gcpro3042,97182 - sys_jmp_buf jmp;3044,97212 - EMACS_INT lisp_eval_depth;3045,97231 - ptrdiff_t pdlcount;3046,97260 - int poll_suppress_count;3047,97282 - int interrupt_input_blocked;3048,97309 - struct byte_stack *byte_stack;byte_stack3049,97340 -#define PUSH_HANDLER(3053,97437 -extern Lisp_Object memory_signal_data;3075,98143 -extern char *stack_bottom;stack_bottom3079,98276 -extern void process_pending_signals 3097,99093 -extern bool volatile pending_signals;3098,99137 -extern void process_quit_flag 3100,99176 -#define QUIT 3101,99214 -#define QUITP 3112,99464 -extern Lisp_Object Vascii_downcase_table;3114,99525 -extern Lisp_Object Vascii_canon_table;3115,99567 -extern struct gcpro *gcprolist;gcprolist3130,100274 -struct gcpro3132,100307 - struct gcpro *next;next3134,100322 - volatile Lisp_Object *var;var3137,100391 - ptrdiff_t nvars;3140,100473 - const char *name;name3144,100558 - int lineno;3147,100614 - int idx;3150,100675 - int level;3153,100711 -#define GC_USE_GCPROS_AS_BEFORE 3171,101288 -#define GC_MAKE_GCPROS_NOOPS 3172,101323 -#define GC_MARK_STACK_CHECK_GCPROS 3173,101355 -#define GC_USE_GCPROS_CHECK_ZOMBIES 3174,101392 -#define GC_MARK_STACK 3177,101453 -#define BYTE_MARK_STACK 3181,101553 -#define GCPRO1(3190,101824 -#define GCPRO2(3191,101864 -#define GCPRO3(3192,101930 -#define GCPRO4(3194,102025 -#define GCPRO5(3196,102145 -#define GCPRO6(3198,102290 -#define GCPRO7(3201,102465 -#define UNGCPRO 3202,102544 -#define GCPRO1(3208,102644 -#define GCPRO2(3212,102766 -#define GCPRO3(3217,102958 -#define GCPRO4(3223,103220 -#define GCPRO5(3230,103551 -#define GCPRO6(3238,103952 -#define GCPRO7(3247,104422 -#define UNGCPRO 3257,104962 -extern int gcpro_level;3261,105031 -#define GCPRO1(3263,105056 -#define GCPRO2(3269,105290 -#define GCPRO3(3278,105708 -#define GCPRO4(3289,106265 -#define GCPRO5(3302,106963 -#define GCPRO6(3317,107803 -#define GCPRO7(3334,108784 -#define UNGCPRO 3353,109907 -#define RETURN_UNGCPRO(3363,110174 -void staticpro 3375,110447 -vcopy 3384,110648 -set_hash_key_slot 3393,110923 -set_hash_value_slot 3399,111062 -set_symbol_function 3408,111297 -set_symbol_plist 3414,111412 -set_symbol_next 3420,111515 -blv_found 3428,111688 -set_overlay_plist 3437,111871 -string_intervals 3445,112022 -set_string_intervals 3453,112144 -set_char_table_defalt 3462,112346 -set_char_table_purpose 3467,112458 -set_char_table_extras 3475,112627 -set_char_table_contents 3482,112836 -set_sub_char_table_contents 3489,113031 -extern Lisp_Object indirect_function 3495,113190 -extern Lisp_Object find_symbol_value 3496,113242 -enum Arith_Comparison 3497,113294 - ARITH_EQUAL,3498,113318 - ARITH_NOTEQUAL,3499,113333 - ARITH_LESS,3500,113351 - ARITH_GRTR,3501,113365 - ARITH_LESS_OR_EQUAL,3502,113379 - ARITH_GRTR_OR_EQUAL3503,113402 -extern Lisp_Object arithcompare 3505,113427 -#define INTEGER_TO_CONS(3511,113753 -#define CONS_TO_INTEGER(3529,114616 -extern intmax_t cons_to_signed 3533,114831 -extern uintmax_t cons_to_unsigned 3534,114897 -extern struct Lisp_Symbol *indirect_variable indirect_variable3536,114958 -extern _Noreturn void args_out_of_range 3537,115027 -extern _Noreturn void args_out_of_range_3 3538,115095 -extern Lisp_Object do_symval_forwarding 3540,115186 -extern void set_internal 3541,115246 -extern void syms_of_data 3542,115318 -extern void swap_in_global_binding 3543,115351 -extern void syms_of_cmds 3546,115435 -extern void keys_of_cmds 3547,115468 -extern Lisp_Object detect_coding_system 3550,115530 -extern void init_coding 3552,115683 -extern void init_coding_once 3553,115715 -extern void syms_of_coding 3554,115752 -extern ptrdiff_t chars_in_text 3557,115819 -extern ptrdiff_t multibyte_chars_in_text 3558,115886 -extern void syms_of_character 3559,115963 -extern void init_charset 3562,116031 -extern void init_charset_once 3563,116064 -extern void syms_of_charset 3564,116102 -extern void init_syntax_once 3569,116222 -extern void syms_of_syntax 3570,116259 -enum { NEXT_ALMOST_PRIME_LIMIT 3573,116320 -extern EMACS_INT next_almost_prime 3574,116359 -enum constype 3739,123811 -enum constype {CONSTYPE_HEAP,CONSTYPE_HEAP3739,123811 -enum constype {CONSTYPE_HEAP, CONSTYPE_PURE}CONSTYPE_PURE3739,123811 -extern Lisp_Object listn 3740,123857 -list2i 3745,124001 -list3i 3751,124110 -list4i 3757,124249 -extern Lisp_Object make_uninit_bool_vector 3763,124401 -extern Lisp_Object bool_vector_fill 3764,124457 -extern _Noreturn void string_overflow 3765,124521 -extern Lisp_Object make_string 3766,124567 -extern Lisp_Object make_formatted_string 3767,124625 -extern Lisp_Object make_multibyte_string 3779,124979 -extern Lisp_Object make_event_array 3780,125058 -extern Lisp_Object make_uninit_string 3781,125122 -extern Lisp_Object make_uninit_multibyte_string 3782,125173 -extern Lisp_Object make_string_from_bytes 3783,125245 -extern Lisp_Object make_specified_string 3784,125325 -extern Lisp_Object make_pure_string 3786,125417 -extern Lisp_Object make_pure_c_string 3787,125497 -build_pure_c_string 3792,125653 -build_string 3801,125858 -extern Lisp_Object pure_cons 3806,125936 -extern void make_byte_code 3807,125993 -extern struct Lisp_Vector *allocate_vector allocate_vector3808,126044 -make_uninit_vector 3820,126429 -make_uninit_sub_char_table 3833,126648 -extern struct Lisp_Vector *allocate_pseudovector allocate_pseudovector3844,126957 -#define ALLOCATE_PSEUDOVECTOR(3850,127192 -#define ALLOCATE_ZEROED_PSEUDOVECTOR(3858,127528 -extern bool gc_in_progress;3863,127729 -extern bool abort_on_gc;3864,127757 -extern Lisp_Object make_float 3865,127782 -extern void display_malloc_warning 3866,127822 -extern ptrdiff_t inhibit_garbage_collection 3867,127865 -extern Lisp_Object make_save_int_int_int 3868,127917 -extern Lisp_Object make_save_obj_obj_obj_obj 3869,127993 -extern Lisp_Object make_save_ptr 3871,128103 -extern Lisp_Object make_save_ptr_int 3872,128146 -extern Lisp_Object make_save_ptr_ptr 3873,128204 -extern Lisp_Object make_save_funcptr_ptr_obj 3874,128259 -extern Lisp_Object make_save_memory 3876,128355 -extern void free_save_value 3877,128419 -extern Lisp_Object build_overlay 3878,128462 -extern void free_marker 3879,128536 -extern void free_cons 3880,128575 -extern void init_alloc_once 3881,128619 -extern void init_alloc 3882,128655 -extern void syms_of_alloc 3883,128686 -extern struct buffer * allocate_buffer 3884,128720 -extern int valid_lisp_object_p 3885,128767 -extern int relocatable_string_data_p 3886,128813 -extern void check_cons_list 3888,128892 -INLINE void 3890,128934 -extern void *r_alloc r_alloc3895,129055 -#define FLOAT_TO_STRING_BUFSIZE 3927,130518 -extern int openp 3957,131667 -extern Lisp_Object string_to_number 3959,131777 -extern void map_obarray 3960,131840 -extern void dir_warning 3962,131954 -extern void init_obarray 3963,132007 -extern void init_lread 3964,132040 -extern void syms_of_lread 3965,132071 -intern 3968,132125 -intern_c_string 3974,132213 -extern EMACS_INT lisp_eval_depth;3980,132326 -extern Lisp_Object Vautoload_queue;3981,132360 -extern Lisp_Object Vrun_hooks;3982,132396 -extern Lisp_Object Vsignaling_function;3983,132427 -extern Lisp_Object inhibit_lisp_code;3984,132467 -extern struct handler *handlerlist;handlerlist3985,132505 -extern void run_hook 3994,132747 -extern void run_hook_with_args_2 3995,132783 -extern Lisp_Object run_hook_with_args 3996,132857 -extern _Noreturn void xsignal 3999,133016 -extern _Noreturn void xsignal0 4000,133074 -extern _Noreturn void xsignal1 4001,133120 -extern _Noreturn void xsignal2 4002,133179 -extern _Noreturn void xsignal3 4003,133251 -extern _Noreturn void signal_error 4005,133340 -extern Lisp_Object eval_sub 4006,133404 -extern Lisp_Object apply1 4007,133452 -extern Lisp_Object call0 4008,133506 -extern Lisp_Object call1 4009,133546 -extern Lisp_Object call2 4010,133599 -extern Lisp_Object call3 4011,133665 -extern Lisp_Object call4 4012,133744 -extern Lisp_Object call5 4013,133836 -extern Lisp_Object call6 4014,133941 -extern Lisp_Object call7 4015,134059 -extern Lisp_Object internal_catch 4016,134190 -extern Lisp_Object internal_lisp_condition_case 4017,134283 -extern Lisp_Object internal_condition_case 4018,134372 -extern Lisp_Object internal_condition_case_1 4019,134485 -extern Lisp_Object internal_condition_case_2 4020,134620 -extern Lisp_Object internal_condition_case_n4021,134781 -extern void specbind 4024,134977 -extern void record_unwind_protect 4025,135026 -extern void record_unwind_protect_ptr 4026,135099 -extern void record_unwind_protect_int 4027,135166 -extern void record_unwind_protect_void 4028,135227 -extern void record_unwind_protect_nothing 4029,135285 -extern void clear_unwind_protect 4030,135335 -extern void set_unwind_protect 4031,135381 -extern void set_unwind_protect_ptr 4032,135462 -extern Lisp_Object unbind_to 4033,135537 -extern _Noreturn void error 4034,135592 -fast_string_match_ignore_case 4136,140080 -extern ptrdiff_t fast_c_string_match_ignore_case 4141,140230 -extern ptrdiff_t fast_looking_at 4143,140327 -extern ptrdiff_t find_newline 4145,140466 -extern ptrdiff_t scan_newline 4147,140595 -extern ptrdiff_t scan_newline_from_point 4149,140698 -extern ptrdiff_t find_newline_no_quit 4150,140778 -extern ptrdiff_t find_before_next_newline 4152,140875 -extern void syms_of_search 4154,140973 -extern void clear_regexp_cache 4155,141008 -extern Lisp_Object Vminibuffer_list;4159,141078 -extern Lisp_Object last_minibuf_string;4160,141115 -extern Lisp_Object get_minibuffer 4161,141155 -extern void init_minibuf_once 4162,141202 -extern void syms_of_minibuf 4163,141240 -extern void syms_of_callint 4167,141307 -extern void syms_of_casefiddle 4171,141377 -extern void keys_of_casefiddle 4172,141416 -extern void init_casetab_once 4176,141486 -extern void syms_of_casetab 4177,141524 -extern Lisp_Object echo_message_buffer;4181,141592 -extern struct kboard *echo_kboard;echo_kboard4182,141632 -extern void cancel_echoing 4183,141667 -extern Lisp_Object last_undo_boundary;4184,141702 -extern bool input_pending;4185,141741 -extern sigjmp_buf return_to_command_loop;4187,141804 -extern Lisp_Object menu_bar_items 4189,141853 -extern Lisp_Object tool_bar_items 4190,141902 -extern void discard_mouse_events 4191,141958 -void handle_input_available_signal 4193,142019 -extern Lisp_Object pending_funcalls;4195,142068 -extern bool detect_input_pending 4196,142105 -extern bool detect_input_pending_ignore_squeezables 4197,142146 -extern bool detect_input_pending_run_timers 4198,142206 -extern void safe_run_hooks 4199,142258 -extern void cmd_error_internal 4200,142300 -extern Lisp_Object command_loop_1 4201,142360 -extern Lisp_Object read_menu_command 4202,142402 -extern Lisp_Object recursive_edit_1 4203,142447 -extern void record_auto_save 4204,142491 -extern void force_auto_save_soon 4205,142528 -extern void init_keyboard 4206,142569 -extern void syms_of_keyboard 4207,142603 -extern void keys_of_keyboard 4208,142640 -extern ptrdiff_t current_column 4211,142706 -extern void invalidate_current_column 4212,142746 -extern bool indented_beyond_p 4213,142792 -extern void syms_of_indent 4214,142857 -extern void store_frame_param 4217,142920 -extern void store_in_alist 4218,142994 -extern Lisp_Object do_switch_frame 4219,143064 -extern Lisp_Object get_frame_param 4220,143137 -extern void frames_discard_buffer 4221,143203 -extern void syms_of_frame 4222,143252 -extern char **initial_argv;initial_argv4225,143314 -extern int initial_argc;4226,143342 -extern bool display_arg;4228,143417 -extern Lisp_Object decode_env_path 4230,143449 -extern Lisp_Object empty_unibyte_string,4231,143520 -extern Lisp_Object empty_unibyte_string, empty_multibyte_string;4231,143520 -extern _Noreturn void terminate_due_to_signal 4232,143585 -extern Lisp_Object Vlibrary_cache;4234,143660 -void fixup_locale 4237,143721 -void synchronize_system_messages_locale 4238,143747 -void synchronize_system_time_locale 4239,143795 -INLINE void fixup_locale 4241,143845 -INLINE void synchronize_system_messages_locale 4242,143880 -INLINE void synchronize_system_time_locale 4243,143937 -extern void shut_down_emacs 4245,143997 -extern bool noninteractive;4248,144123 -extern bool no_site_lisp;4251,144215 -extern int daemon_pipe[daemon_pipe4256,144383 -#define IS_DAEMON 4257,144410 -#define DAEMON_RUNNING 4258,144450 -extern void *w32_daemon_event;w32_daemon_event4260,144518 -#define IS_DAEMON 4261,144549 -#define DAEMON_RUNNING 4262,144594 -extern bool fatal_error_in_progress;4266,144715 -extern bool inhibit_window_system;4269,144821 -extern bool running_asynch_code;4271,144914 -extern void kill_buffer_processes 4274,144977 -extern int wait_reading_process_output 4275,145026 -# define WAIT_READING_MAX 4281,145413 -# define WAIT_READING_MAX 4283,145485 -extern void add_timer_wait_descriptor 4286,145549 -extern void add_keyboard_wait_descriptor 4288,145601 -extern void delete_keyboard_wait_descriptor 4289,145649 -extern void add_gpm_wait_descriptor 4291,145716 -extern void delete_gpm_wait_descriptor 4292,145759 -extern void init_process_emacs 4294,145812 -extern void syms_of_process 4295,145851 -extern void setup_process_coding_systems 4296,145887 -extern int child_setup 4302,146007 -extern void init_callproc_1 4303,146075 -extern void init_callproc 4304,146111 -extern void set_initial_environment 4305,146145 -extern void syms_of_callproc 4306,146189 -extern Lisp_Object read_doc_string 4309,146252 -extern Lisp_Object get_doc_string 4310,146302 -extern void syms_of_doc 4311,146363 -extern int read_bytecode_char 4312,146395 -extern void syms_of_bytecode 4315,146464 -extern struct byte_stack *byte_stack_list;byte_stack_list4316,146501 -extern void mark_byte_stack 4318,146564 -extern void unmark_byte_stack 4320,146607 -extern Lisp_Object exec_byte_code 4321,146645 -extern void init_macros 4325,146795 -extern void syms_of_macros 4326,146827 -extern void truncate_undo_list 4329,146889 -extern void record_insert 4330,146939 -extern void record_delete 4331,146989 -extern void record_first_change 4332,147047 -extern void record_change 4333,147087 -extern void record_property_change 4334,147137 -extern void syms_of_undo 4337,147279 -extern void report_interval_modification 4340,147343 -extern void syms_of_menu 4343,147439 -extern void syms_of_xmenu 4346,147500 -extern char *get_current_dir_name get_current_dir_name4356,147702 -extern void stuff_char 4358,147751 -extern void init_foreground_group 4359,147784 -extern void sys_subshell 4360,147826 -extern void sys_suspend 4361,147859 -extern void discard_tty_input 4362,147891 -extern void init_sys_modes 4363,147929 -extern void reset_sys_modes 4364,147985 -extern void init_all_sys_modes 4365,148042 -extern void reset_all_sys_modes 4366,148081 -extern void child_setup_tty 4367,148121 -extern void setup_pty 4368,148156 -extern int set_window_size 4369,148185 -extern EMACS_INT get_random 4370,148229 -extern void seed_random 4371,148265 -extern void init_random 4372,148310 -extern void emacs_backtrace 4373,148342 -extern _Noreturn void emacs_abort 4374,148377 -extern void xputenv 4527,152691 -extern char *egetenv_internal egetenv_internal4529,152728 -egetenv 4532,152800 -extern void init_system_name 4539,153003 -#define eabs(4545,153296 -#define make_fixnum_or_float(4550,153429 -enum MAX_ALLOCA 4556,153680 -enum MAX_ALLOCA { MAX_ALLOCA 4556,153680 -extern void *record_xmalloc record_xmalloc4558,153725 -#define USE_SAFE_ALLOCA 4560,153791 -#define AVAIL_ALLOCA(4564,153924 -#define SAFE_ALLOCA(4568,154035 -#define SAFE_NALLOCA(4576,154376 -#define SAFE_ALLOCA_STRING(4590,154852 -#define SAFE_FREE(4598,155104 -#define SAFE_ALLOCA_LISP(4625,155682 -# define USE_STACK_LISP_OBJECTS 4652,156804 -# undef USE_STACK_LISP_OBJECTS4658,156970 -# define USE_STACK_LISP_OBJECTS 4659,157001 -enum { defined_GC_CHECK_STRING_BYTES 4663,157076 -enum { defined_GC_CHECK_STRING_BYTES 4665,157129 -union Aligned_Cons4670,157263 - struct Lisp_Cons s;4672,157284 - double d;4673,157306 - double d; intmax_t i;4673,157306 - double d; intmax_t i; void *p;p4673,157306 -union Aligned_String4676,157343 - struct Lisp_String s;4678,157366 - double d;4679,157390 - double d; intmax_t i;4679,157390 - double d; intmax_t i; void *p;p4679,157390 - USE_STACK_CONS 4689,157698 - USE_STACK_STRING 4691,157804 -#define STACK_CONS(4699,158141 -#define AUTO_CONS_EXPR(4701,158238 -#define AUTO_CONS(4709,158601 -#define AUTO_LIST1(4710,158672 -#define AUTO_LIST2(4712,158780 -#define AUTO_LIST3(4716,158935 -#define AUTO_LIST4(4720,159110 -extern const char *verify_ascii verify_ascii4730,159447 -# define verify_ascii(4732,159501 -#define AUTO_STRING(4740,159809 -#define FOR_EACH_TAIL(4752,160273 -#define FOR_EACH_ALIST_VALUE(4766,160764 -maybe_gc 4774,161051 -functionp 4784,161290 - -c-src/machsyscalls.c,23 -#define SYSCALL(6,113 - -c-src/machsyscalls.h,159 -SYSCALL (mach_msg_trap,1,0 -SYSCALL (mach_reply_port,13,314 -SYSCALL (mach_thread_self,18,377 -SYSCALL (mach_task_self,23,441 -SYSCALL (mach_host_self,28,503 - -c-src/fail.c,30 -void (*prt_call(prt_call1,0 - -c-src/h.h,2506 - ELEM_I/ELEM_I3,15 -} Fails_t;5,85 -typedef void Lang_function 6,96 -void Asm_labels 7,127 -typedef struct tpcmd8,147 -#define ggg 10,170 - } arg;13,198 -tpcmd;15,209 -typedef struct foobar2_ 16,216 - fu int (*funcptr)funcptr17,242 - long foo;18,279 - char bar;19,293 -} foobar2;20,307 - DEVICE_SWP,23,333 - DEVICE_LAST24,349 -} bsp_DevId;25,365 - struct constant_args 27,394 - unsigned int burst;28,419 - } constant;29,443 -} args;30,457 -typedef int *regset;regset31,465 -typedef int INT;32,486 -typedef union abc33,503 - int def;35,523 -} ghi1;36,534 -typedef union abc 37,542 - int def;38,562 -} ghi2;39,573 -typedef struct a 40,581 -} b;41,600 -#define c(42,605 -typedef struct an_extern_linkage *an_extern_linkage_ptr;an_extern_linkage_ptr43,619 -typedef struct an_extern_linkage 44,676 - kind;46,733 - is_explicit;49,812 - a_byte_boolean is_curly_brace_form;54,1009 -} an_extern_linkage;56,1054 -typedef struct pollfd pfdset[pfdset57,1075 -typedef union rtunion_def58,1119 - int rtint;60,1149 - char *rtstr;rtstr61,1164 - struct rtx_def *rtx;rtx62,1181 - } womboid 63,1206 -typedef union rtunion_def64,1220 - int rtint;68,1250 - char *rtstr;rtstr69,1263 - struct rtx_def *rtxp;rtxp70,1278 - struct rtx_def rtxnp;71,1302 -womboid75,1330 -enum {dog,dog81,1416 -enum {dog, cat}cat81,1416 -enum {dog, cat} animals;81,1416 -typedef void (_CALLBACK_ *signal_handler)signal_handler82,1441 -typedef void (_CALLBACK_ *signal_handler1)signal_handler183,1489 -/* comment */ #define ANSIC84,1538 - #define ANSIC85,1566 -typedef void (proc)87,1588 -typedef void OperatorFun(88,1612 -typedef int f(89,1648 -struct my_struct 91,1691 -typedef struct my_struct my_typedef;93,1713 -typedef RETSIGTYPE (*signal_handler_t)signal_handler_t94,1750 - Date 04 May 87 235311 PDT 96,1802 -typedef unsigned char unchar;99,1880 -typedef int X,100,1910 -typedef int X, Y,100,1910 -typedef int X, Y, Z;100,1910 -typedef mio mao;101,1931 -extern void ab(102,1948 -typedef struct a 103,1966 -typedef struct a { } b;103,1966 -typedef struct b104,1990 -} c;106,2009 -int (*oldhup)oldhup107,2014 -request (*oldhup)oldhup108,2031 -int extvar;109,2053 -#define tag1110,2065 -#define aaaaaa 111,2078 -#define bbbbbb\bbbbbb113,2102 -#define cccccccccc115,2125 -#define enter_critical_section 116,2144 -#define exit_critical_to_previous 117,2199 -#define UNDEFINED118,2259 -struct re_pattern_buffer 119,2277 -struct re_pattern_buffer { unsigned char *buffer;buffer119,2277 - -cp-src/c.C,3133 -template ,ipcMultiChannel,ipc3dLinkControl> mcCSC;6,227 - advTimer cscInitTime;7,388 - advTimer cscSegmentationTime;8,418 - advTimer outputTime;9,456 - void execute(11,493 -static void my_function1(24,984 -int main 25,1026 -double base 26,1088 -operator += operator +=29,1174 -class TestRecord;31,1233 -typedef struct s1 32,1251 - int counter;33,1271 -} t1;34,1287 -struct s2 35,1293 - int counter;36,1305 -typedef struct s2 t2;38,1324 -class A 39,1346 - enum { rosso,40,1356 - enum { rosso, giallo,40,1356 - enum { rosso, giallo, verde 40,1356 - enum { rosso, giallo, verde } colori;40,1356 - const A& operator+(41,1396 -const A& A::operator+(operator+43,1431 -void operator+(44,1467 -void operator -(operator -45,1495 -void operator int(operator int46,1524 -A* f(48,1556 -int f(49,1571 -int A::f(f50,1590 -A > A,int>::f(f51,1618 -template class AT 52,1668 -template class AT { C t[t52,1668 -class AU 53,1716 -class AU { T x;53,1716 -class B<B54,1735 -class B { void f(54,1735 -const A::B::T& abt 55,1766 -class A 56,1792 -class A { class B 56,1792 -class A { class B { int f(56,1792 -class A 57,1827 - int get_data(58,1837 - A operator+(59,1861 -is_muldiv_operation(61,1888 -domain foo 68,1956 - void f(69,1969 -void A::A(A72,1990 -struct A 73,2005 -struct A { A(73,2005 -struct B 74,2023 -struct B { B(74,2023 -void B::B(B75,2042 -void BE_Node::BE_Node(BE_Node76,2057 -class BE_Node 77,2084 -struct foo 79,2103 - int x;80,2116 -class test 86,2157 - int f(87,2170 - int ff(89,2232 - int g(90,2255 -class AST_Root 92,2279 -class AST_Root;96,2328 -AST_ConcreteType::AST_ConcreteType(99,2394 -AST_Array::AST_Array(107,2533 - void f(115,2734 -struct A 117,2754 - ~A(118,2765 -A::~A(~A120,2778 -struct B 122,2790 - ~B(123,2801 -enum {dog,dog126,2818 -enum {dog, cat}cat126,2818 -enum {dog, cat} animals;126,2818 -struct {int teats;127,2843 -struct {int teats;} cow;127,2843 -class Boo 129,2869 - enum {dog,dog130,2881 - enum {dog, cat}cat130,2881 - enum {dog, cat} animals;130,2881 - struct {int treats;131,2910 - struct {int treats;} cow;131,2910 - int i,132,2940 - int i,a,132,2940 - int i,a,b;132,2940 - foo(133,2955 - Boo(137,2996 - Boo(138,3053 -Boo::Boo(141,3071 -typedef int should_see_this_one_enclosed_in_extern_C;149,3156 -typedef int (*should_see_this_function_pointer)should_see_this_function_pointer153,3229 -typedef int should_see_this_array_type[should_see_this_array_type156,3311 - -cp-src/x.cc,102 -class XX1,0 - int foo(4,19 - void bar(5,35 -XX::foo(foo9,60 -XX::bar(bar15,95 -main(21,126 - -cp-src/burton.cpp,124 -::dummy::dummy test::dummy1(dummy11,0 -::dummy::dummy test::dummy2(dummy26,64 -::dummy::dummy test::dummy3(dummy311,143 - -cp-src/functions.cpp,778 -void Date::setDate setDate5,148 -void Date::plus plus32,938 -void Date::minus minus42,1226 -void Date::shift shift52,1404 -Date & Date::operator = operator =62,1625 -Date & Date::operator += operator +=69,1786 -Date & Date::operator -= operator -=78,1935 -Date & Date::operator ++ operator ++87,2076 -Date & Date::operator -- operator --96,2212 -int Date::operator - operator -104,2327 -int Date::operator < operator <112,2479 -int Date::operator > operator >116,2553 -int Date::operator == operator ==120,2627 -ostream& operator << operator <<124,2703 -istream& operator >> operator >>133,2939 -bool isLeap 159,3539 -bool isHoliday 163,3625 -void asort(173,3861 -void ReadVacation 186,4060 -void Debug 201,4519 -int WorkingDays(211,4863 -Date StartDay(226,5125 - -cp-src/MDiagArray2.h,1194 -#define octave_MDiagArray2_h 29,870 -#undef LTGT35,967 -#define LTGT39,1031 -#define LTGT 42,1051 -class MDiagArray2;45,1087 -operator += operator +=48,1145 -operator -= operator -=51,1242 -operator * operator *54,1339 -operator / operator /57,1428 -operator * operator *60,1517 -operator + operator +63,1605 -operator - operator -66,1707 -product 69,1808 -operator - operator -72,1907 -class MDiagArray2 78,2022 - MDiagArray2 82,2077 - MDiagArray2 86,2154 - MDiagArray2 87,2198 - MDiagArray2 88,2254 - MDiagArray2 89,2329 - MDiagArray2 90,2387 - MDiagArray2 91,2450 - ~MDiagArray2 93,2515 - MDiagArray2& operator = operator =95,2542 - DiagArray2::operator = operator =97,2603 - operator MArray2 operator MArray2101,2667 - operator += operator +=116,2966 - operator -= operator -=119,3057 - friend MDiagArray2 operator * operator *123,3174 - friend MDiagArray2 operator / operator /124,3253 - friend MDiagArray2 operator * operator *128,3384 - operator + operator +133,3544 - operator - operator -136,3640 - friend MDiagArray2 operator - operator -141,3803 -#undef LTGT144,3874 -#define INSTANTIATE_MDIAGARRAY_FRIENDS(146,3887 - -cp-src/Range.h,784 -#define octave_Range_h 24,765 -class istream;30,840 -class ostream;31,855 -class Matrix;32,870 -Range35,891 - Range 39,909 - Range 42,995 - Range 46,1130 - Range 50,1248 - double base 54,1376 - double limit 55,1425 - double inc 56,1475 - int nelem 57,1523 - bool all_elements_are_ints 59,1571 - Matrix matrix_value 61,1615 - double min 63,1652 - double max 64,1679 - void sort 66,1707 - void set_base 68,1728 - void set_limit 69,1774 - void set_inc 70,1821 - friend ostream& operator << operator <<72,1867 - friend istream& operator >> operator >>73,1928 - void print_range 75,1984 - double rng_base;79,2023 - double rng_limit;80,2042 - double rng_inc;81,2062 - int rng_nelem;83,2081 - int nelem_internal 85,2099 -extern Range operator - operator -88,2138 - -cp-src/screen.cpp,228 -unsigned char cursor_x,15,548 -unsigned char cursor_x, cursor_y;15,548 -static union REGS regs;16,582 -void goto_xy(18,607 -void hide_cursor(27,774 -void cursor_position(32,836 -void clear_screen(41,997 -void write_xyc(55,1247 - -cp-src/screen.hpp,538 -#define __COLORS9,401 -enum COLORS 11,419 - BLACK,12,433 - BLUE,13,471 - GREEN,14,481 - CYAN,15,492 - RED,16,502 - MAGENTA,17,511 - BROWN,18,524 - LIGHTGRAY,19,535 - DARKGRAY,20,550 - LIGHTBLUE,21,589 - LIGHTGREEN,22,604 - LIGHTCYAN,23,620 - LIGHTRED,24,635 - LIGHTMAGENTA,25,649 - YELLOW,26,667 - WHITE27,679 -#define SCREEN_FP(31,700 -#define SCREEN_START 33,795 -void goto_xy(35,835 -void hide_cursor(36,883 -void cursor_position(37,907 -void clear_screen(38,935 -void write_xyc(39,960 - -cp-src/conway.cpp,288 -#define max(12,357 -#define min(13,393 -const int num_rows 15,430 -const int num_columns 16,470 -class site *field_of_play[field_of_play18,499 -int site::total_surrounding(total_surrounding20,550 -void display(37,958 -void glider(50,1239 -void traffic_light(59,1478 -void main(67,1633 - -cp-src/conway.hpp,322 -class site:site5,235 - char x,7,269 - char x, y,7,269 - char x, y, alive,7,269 - char x, y, alive, next_alive;7,269 - int total_surrounding(8,303 - site(10,344 - ~site(11,397 - char read(12,410 - void set(13,444 - void clear(14,478 - void compute_next_state(15,514 - void step(22,717 - -cp-src/clheir.cpp,359 -const int max_num_generic_objects 9,298 -generic_object * object_registry[object_registry10,340 -void init_registry(12,400 -void step_everybody(19,527 -void discrete_location::clear_neighbors(clear_neighbors31,852 -generic_object::generic_object(generic_object36,981 -generic_object::~generic_object(~generic_object48,1255 -void agent::move(move53,1353 - -cp-src/clheir.hpp,990 -extern void init_registry(10,452 -extern void step_everybody(11,485 -class generic_object13,520 - int where_in_registry;15,547 - generic_object(17,582 - ~generic_object(19,724 - virtual void compute_next_state(21,843 - virtual void step(22,889 -const int max_num_directions 31,1220 -class location:location33,1290 - location(43,1643 - ~location(44,1662 -class irregular_location:irregular_location47,1687 - double x,49,1735 - double x, y,49,1735 - double x, y, z;49,1735 - irregular_location(51,1763 - ~irregular_location(53,1855 -class discrete_location:discrete_location56,1890 - int x,58,1937 - int x, y,58,1937 - int x, y, z;58,1937 - class location *neighbors[neighbors59,1954 - void clear_neighbors(60,2005 - discrete_location(62,2045 - ~discrete_location(65,2155 - void assign_neighbor(66,2185 -class agent:agent75,2509 - location *where;where77,2550 - agent(79,2579 - ~agent(80,2592 - void move(81,2606 - -cp-src/fail.C,351 -struct A 7,263 - struct B 8,274 - struct C 9,289 - int x;10,305 - C(11,318 - operator int(operator int12,342 - typedef C T;14,389 - typedef B T2;16,414 -class String;20,437 -class A 23,453 - class B 24,463 - class C 25,474 - int f(26,488 -int A::B::f(f31,521 -main(37,571 - class D 41,622 - D(43,659 - int x;44,694 - -el-src/TAGTEST.EL,181 -(foo::defmumble bletch 3,33 -(defun foo==bar foo==bar4,66 -(defalias 'pending-delete-mode pending-delete-mode8,182 -(defalias (quote explicitly-quoted-pending-delete-mode)11,255 - -el-src/emacs/lisp/progmodes/etags.el,5188 -(defvar tags-file-name 34,1035 -(defgroup etags 43,1499 -(defcustom tags-case-fold-search 47,1567 -(defcustom tags-table-list 59,2052 -(defcustom tags-compression-info-list69,2450 -(defcustom tags-add-tables 88,3232 -(defcustom tags-revert-without-query 98,3628 -(defvar tags-table-computed-list 103,3779 -(defvar tags-table-computed-list-for 112,4263 -(defvar tags-table-list-pointer 117,4511 -(defvar tags-table-list-started-at 121,4702 -(defvar tags-table-set-list 124,4822 -(defcustom find-tag-hook 129,5001 -(defcustom find-tag-default-function 137,5264 -(define-obsolete-variable-alias 'find-tag-marker-ring-lengthfind-tag-marker-ring-length145,5603 -(defcustom tags-tag-face 148,5700 -(defcustom tags-apropos-verbose 154,5835 -(defcustom tags-apropos-additional-actions 160,5999 -(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6921 -(defvar default-tags-table-function 189,7101 -(defvar tags-location-ring 194,7327 -(defvar tags-table-files 201,7603 -(defvar tags-completion-table 206,7770 -(defvar tags-included-tables 209,7862 -(defvar next-file-list 212,7957 -(defvar tags-table-format-functions 217,8063 -(defvar file-of-tag-function 224,8444 -(defvar tags-table-files-function 228,8638 -(defvar tags-completion-table-function 230,8749 -(defvar snarf-tag-function 232,8844 -(defvar goto-tag-location-function 236,9053 -(defvar find-tag-regexp-search-function 239,9226 -(defvar find-tag-regexp-tag-order 241,9347 -(defvar find-tag-regexp-next-line-after-failure-p 243,9456 -(defvar find-tag-search-function 245,9576 -(defvar find-tag-tag-order 247,9683 -(defvar find-tag-next-line-after-failure-p 249,9778 -(defvar list-tags-function 251,9884 -(defvar tags-apropos-function 253,9972 -(defvar tags-included-tables-function 255,10066 -(defvar verify-tags-table-function 257,10185 -(defun initialize-new-tags-table 260,10296 -(defun tags-table-mode 276,10984 -(defun visit-tags-table 285,11249 -(defun tags-table-check-computed-list 321,12787 -(defun tags-table-extend-computed-list 360,14658 -(defun tags-expand-table-name 400,16371 -(defun tags-table-list-member 409,16714 -(defun tags-verify-table 421,17186 -(defun tags-table-including 470,19306 -(defun tags-next-table 522,21350 -(defun visit-tags-table-buffer 543,22207 -(defun tags-reset-tags-tables 712,28517 -(defun file-of-tag 731,29174 -(defun tags-table-files 740,29524 -(defun tags-included-tables 749,29874 -(defun tags-completion-table 755,30120 -(defun tags-lazy-completion-table 783,31314 -(defun tags-completion-at-point-function 799,31949 -(defun find-tag-tag 818,32699 -(defvar last-tag 837,33372 -(defun find-tag-interactive 840,33431 -(defvar find-tag-history 852,33846 -(defvar etags-case-fold-search)855,33911 -(defvar etags-syntax-table)856,33943 -(defvar local-find-tag-hook)857,33971 -(defun find-tag-noselect 860,34016 -(defun find-tag 932,37130 -(defun find-tag-other-window 959,38346 -(defun find-tag-other-frame 1000,40274 -(defun find-tag-regexp 1025,41448 -(defalias 'pop-tag-mark pop-tag-mark1049,42610 -(defvar tag-lines-already-matched 1052,42661 -(defun find-tag-in-order 1055,42768 -(defun tag-find-file-of-tag-noselect 1167,47114 -(defun tag-find-file-of-tag 1200,48960 -(defun etags-recognize-tags-table 1208,49186 -(defun etags-verify-tags-table 1241,50817 -(defun etags-file-of-tag 1246,51015 -(defun etags-tags-completion-table 1256,51350 -(defun etags-snarf-tag 1286,52556 -(defun etags-goto-tag-location 1324,54125 -(defun etags-list-tags 1388,56568 -(defmacro tags-with-face 1423,57843 -(defun etags-tags-apropos-additional 1431,58176 -(defun etags-tags-apropos 1465,59413 -(defun etags-tags-table-files 1527,61622 -(defun etags-tags-included-tables 1542,62058 -(defun tags-recognize-empty-tags-table 1559,62598 -(defun tag-exact-file-name-match-p 1587,63744 -(defun tag-file-name-match-p 1596,64137 -(defun tag-exact-match-p 1609,64693 -(defun tag-implicit-name-match-p 1620,65261 -(defun tag-symbol-match-p 1633,65861 -(defun tag-word-match-p 1643,66297 -(defun tag-partial-file-name-match-p 1652,66695 -(defun tag-any-match-p 1662,67139 -(defun tag-re-match-p 1667,67323 -(defcustom tags-loop-revert-buffers 1675,67572 -(defun next-file 1685,67981 -(defvar tags-loop-operate 1760,70895 -(defvar tags-loop-scan1763,70989 -(defun tags-loop-eval 1771,71318 -(defun tags-loop-continue 1782,71647 -(defun tags-search 1850,73953 -(defun tags-query-replace 1871,74779 -(defun tags-complete-tags-table-file 1896,76003 -(defun list-tags 1906,76382 -(defun tags-apropos 1934,77335 -(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78161 -(defun select-tags-table 1964,78400 -(defvar select-tags-table-mode-map 2019,80527 -(define-derived-mode select-tags-table-mode 2030,80910 -(defun select-tags-table-select 2034,81094 -(defun select-tags-table-quit 2043,81460 -(defun complete-tag 2049,81615 -(defconst etags--xref-limit 2074,82556 -(defvar etags-xref-find-definitions-tag-order 2076,82591 -(defun etags-xref-find 2082,82881 -(defun etags--xref-find-definitions 2096,83410 -(defclass xref-etags-location 2129,85124 -(defun xref-make-etags-location 2135,85347 -(cl-defmethod xref-location-marker 2139,85502 -(cl-defmethod xref-location-line 2146,85746 - -erl-src/gs_dialog.erl,98 --define(VERSION2,32 -behaviour_info(51,2177 -show(124,5458 -dialog_loop(219,9529 -test(252,10806 - -f-src/entry.for,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -f-src/entry.strange_suffix,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -f-src/entry.strange,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -forth-src/test-forth.fth,733 -: a-forth-word20,301 -99 constant a-forth-constant!22,343 -55 value a-forth-value?23,373 -create :a-forth-dictionary-entry24,397 -defer #a-defer-word27,460 -: (another-forth-word)(another-forth-word)29,481 - 9 field >field136,582 - 5 field >field237,605 -constant (a-forth-constant(a-forth-constant38,628 -2000 buffer: #some-storage41,657 -code assemby-code-word43,685 -: a-forth-word50,870 -: (foo)(foo)55,988 -: foo56,1000 -: create-bar58,1015 -3 4 2constant 2const61,1074 -2const 2value 2val62,1095 -2variable 2var63,1114 -3.1415e fconstant fconst65,1130 -fconst fvalue fval66,1155 -fvariable fvar67,1174 -synonym mypi69,1190 -BEGIN-STRUCTURE point71,1211 - 1 CELLS +FIELD p.x72,1262 - 1 CELLS +FIELD p.y73,1318 - -go-src/test.go,48 -package main1,0 -func say(5,28 -func main(9,72 - -go-src/test1.go,172 -package main1,0 -type plus 5,28 -type str 9,65 -type intNumber 13,99 -func (s str) PrintAdd(17,136 -func (n intNumber) PrintAdd(21,189 -func test(25,248 -func main(29,285 - -html-src/softwarelibero.html,200 -Cos'è il software libero?4,38 -Licenze d'uso di un programmalicenze65,2502 -Sfatiamo alcuni miti138,6122 -Il movimento open sourceoss191,8041 -Impatto pratico del software liberoimpatto231,10070 - -html-src/index.shtml,104 - 8,281 -In evidenza15,447 -Comunicati e iniziative32,976 -Ultime notizie dall'associazione63,2030 - -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 Algorithms7,277 -Descriptionalgorithms10,481 -Generating the Datagenalgorithm48,1995 -Convolutionallyconalgorithm55,2512 -Nextstatetable262,11587 -Outputoutputtable350,13915 -Mapping the Channel Symbolsmapping433,16213 -Adding Noise to theaddnoise439,16607 -Quantizing the Receivedquantizing469,19100 - -html-src/software.html,439 -Francesco Potortì Software Page9,280 -Software that I wrote for supporting my research activitysimulation36,1398 -MTGmtg41,1482 -Fracasfracas65,2624 -GaliLEOgalileo101,4232 -Leasqrleasqr114,4677 -Free software that I wrote for the GNU project or for my personal or workgnu142,6066 -Etagsetags148,6181 -checkiso161,6731 -cgrep178,7549 -debian-bug.eldebian-bug190,7981 -tcpdump205,8566 -Links to interesting softwarelinks216,8893 - -lua-src/allegro.lua,400 -local function get_layer_by_name 7,175 -local function count_layers 33,621 -function GetLayerByName 54,980 -function GetUniqueLayerName 65,1204 -function SelectLayer 76,1415 -function NewLayer 86,1773 -function NewLayerSet 144,3226 -function RemoveLayer 170,3750 -function MoveLayerTop 211,4767 -function MoveLayerBottom 223,5079 -function MoveLayerBefore 236,5457 -function MoveLayerAfter 258,6090 - -lua-src/test.lua,442 -function Rectangle.getPos 2,15 -function Rectangle.getPos getPos2,15 -function Circle.getPos 6,61 -function Circle.getPos getPos6,61 -function Cube.data.getFoo 10,102 -function Cube.data.getFoo getFoo10,102 -function Square.something:Bar 14,148 -function Square.something:Bar Bar14,148 - function test.me_22a(22,241 - function test.me_22a(me_22a22,241 - local function test.me22b 25,297 - local function test.me22b me22b25,297 - -make-src/Makefile,2175 -LATEST=1,0 -RELEASELIST=2,10 -ADASRC=4,104 -ASRC=5,171 -CSRC=6,197 -CPSRC=10,423 -ELSRC=13,614 -ERLSRC=14,661 -FORTHSRC=15,702 -FSRC=16,726 -HTMLSRC=17,776 -JAVASRC=18,844 -LUASRC=19,907 -MAKESRC=20,926 -OBJCSRC=21,943 -OBJCPPSRC=22,999 -PASSRC=23,1035 -PERLSRC=24,1053 -PHPSRC=25,1108 -PSSRC=26,1156 -PROLSRC=27,1173 -PYTSRC=28,1210 -TEXSRC=29,1227 -YSRC=30,1282 -SRCS=31,1325 -NONSRCS=35,1577 -VHDLFLAGS=37,1624 -COBOLFLAGS=38,1827 -POSTSCRIPTFLAGS=39,1889 -TCLFLAGS=40,1943 -GETOPTOBJS=42,2002 -RXINCLUDE=43,2034 -REGEXOBJS=44,2056 -CHECKOBJS=46,2075 -CHECKFLAGS=47,2105 -OBJS=48,2145 -CPPFLAGS=49,2190 -LDFLAGS=50,2259 -WARNINGS=51,2282 -CFLAGS=52,2466 -FASTCFLAGS=55,2530 -FASTCFLAGSWARN=56,2591 -FILTER=58,2641 -REGEX=59,2695 -xx=60,2741 -MAKE:MAKE62,2790 -RUN=63,2825 -RUN=64,2865 -OPTIONS=65,2870 -ARGS=66,2922 -infiles 68,2940 -quiettest:quiettest70,3002 -test:test79,3409 -${CHECKOBJS}:${CHECKOBJS}88,3805 -checker:checker90,3849 -standalone:standalone96,4062 -prof:prof101,4168 -fastetags:fastetags104,4198 -fastctags:fastctags108,4322 -staticetags:staticetags112,4446 -rsynctofly:rsynctofly116,4608 -rsyncfromfly:rsyncfromfly119,4698 -web ftp publish:web ftp publish122,4794 -release distrib:release distrib129,5115 -tags:tags134,5255 -clean:clean136,5267 -srclist:srclist139,5302 -regexfile:regexfile143,5391 -/home/www/pub/etags.c.gz:/home/www/pub/etags.c.gz149,5566 -/home/www/pub/software/unix/etags.tar.gz:/home/www/pub/software/unix/etags.tar.gz156,5825 -regex.o:regex.o159,6031 -getopt.o:getopt.o162,6086 -getopt1.o:getopt1.o165,6147 -etags:etags168,6210 -ctags:ctags171,6299 -man manpage:man manpage174,6396 -etags.1.man:etags.1.man176,6422 -maintaining.info:maintaining.info179,6475 -TAGS:TAGS182,6557 -%ediff:%ediff185,6587 -oediff:oediff188,6677 -%cdiff:%cdiff191,6764 -xdiff:xdiff194,6854 -ETAGS:ETAGS197,6942 -ETAGS%:ETAGS%200,7012 -ETAGS13 ETAGS14 ETAGS15:ETAGS13 ETAGS14 ETAGS15203,7084 -ETAGS12:ETAGS12206,7216 -OTAGS:OTAGS209,7304 -CTAGS:CTAGS212,7369 -CTAGS%:CTAGS%215,7443 -CTAGS13 CTAGS14 CTAGS15:CTAGS13 CTAGS14 CTAGS15218,7545 -EXTAGS:EXTAGS221,7680 -.PRECIOUS:.PRECIOUS224,7838 -FRC:FRC226,7894 - -objc-src/Subprocess.h,98 -#define Subprocess 41,1217 -#define BUFFERSIZE 43,1267 -@interface Subprocess:Subprocess45,1292 - -objc-src/Subprocess.m,476 -#define PTY_TEMPLATE 20,494 -#define PTY_LENGTH 21,528 -static void showError(23,551 -@interface Subprocess(Private)32,737 -- childDidExit39,851 -- fdHandler:fdHandler67,1589 -showError 98,2360 -fdHandler 112,2785 -getptys 119,2907 -- init:init183,4815 - andStdErr:init197,5147 -- send:(const char *)string withNewline:send300,7436 -- send:send308,7599 -- terminateInput314,7689 -- terminate:terminate321,7810 -- setDelegate:setDelegate332,7961 -- delegate338,8031 - -objc-src/PackInsp.h,109 -#define NUMSTATS 36,1101 -#define TYPESTOSTAT 37,1120 -@interface PackageInspector:PackageInspector39,1172 - -objc-src/PackInsp.m,1322 -static const char RCSid[RCSid30,1032 -#define VERSION 34,1116 -# define DEBUG 37,1155 -#define LISTCONTENTS 39,1181 -#define OPENBUTTON 47,1352 -#define LISTCONTENTSBUTTON 48,1449 -#define LISTDESCRIPTIONBUTTON 49,1562 -#define STATE_UNINSTALLED 52,1687 -#define STATE_INSTALLED 53,1807 -#define STATE_COMPRESSD 54,1948 -#define SIZEFORMAT 57,2152 -#define KBYTES 58,2362 -#define MBYTES 59,2473 -#define LOCALIZE(61,2585 -#define LOCALIZE_ARCH(62,2668 -+newnew67,2802 --showInfo:showInfo93,3417 --revert:revert107,3737 --ok:ok136,4297 --loadload143,4424 -#define LOOKUP(156,4826 -#undef LOOKUP176,5694 --loadKeyValuesFrom:(const char *)type inTable:loadKeyValuesFrom186,5852 --loadContentsOf:(const char *)type inTable:loadContentsOf238,7079 --loadImageloadImage257,7552 -#define STAT_EQ(275,7940 --(BOOL)shouldLoad280,8116 --toggleDescriptiontoggleDescription301,8626 --(const char *)getPath:(char *)buf forType:getPath317,8899 --setRevertButtonTitlesetRevertButtonTitle333,9320 --(const char *)formatSize:(const char *)size inBuf:formatSize344,9525 -#define WORKING 368,10045 --(void)getArchs370,10100 --(void)addArchs:addArchs385,10520 --subprocess:(Subprocess *)sender output:subprocess428,11351 --subprocessDone:subprocessDone436,11484 -static void openInWorkspace(446,11634 --open:open464,12063 - -objcpp-src/SimpleCalc.H,41 -@interface SimpleCalc:SimpleCalc14,400 - -objcpp-src/SimpleCalc.M,445 -- init52,1747 -- appendToDisplay:appendToDisplay60,1933 -- registerAction:registerAction70,2210 -- decimalKey:decimalKey77,2348 -- numberKeys:numberKeys91,2661 -- equalsKey:equalsKey112,3192 -- operationKeys:operationKeys131,3680 -- clearKey:clearKey153,4301 -- clearAllKey:clearAllKey160,4410 -- appDidInit:appDidInit168,4591 -- windowWillClose:windowWillClose178,4882 -- infoPanel:infoPanel186,5132 -- helpPanel:helpPanel198,5482 - -pas-src/common.pas,1875 -procedure InitializeStringPackage;26,527 -function newtextstring;34,874 -procedure disposetextstring;52,1404 -function ConcatT;78,2066 -function AppendTextString;112,3238 -function CopyTextString;132,3947 -procedure CONVERT_CHARSTRING_TO_VALUE;151,4505 -procedure append_string;172,5166 -function To_Upper;186,5462 -function To_Lower;194,5617 -function EmptyNmStr(209,6213 -function chartonmstr;219,6436 -function LowerCaseNmStr;230,6682 -function concatenatenamestrings;242,7007 -procedure writenamestring;263,7517 -function IsControlChar;277,7928 -function namestringequal;283,8079 -function NameStringLess;302,8539 -function IsControlCharName(343,9710 -function SubString;358,10208 -function SkipChars;379,10791 -function RemoveUnderlineControl;397,11311 -procedure First100Chars;427,12162 -procedure SkipSpaces;462,13298 -function SkipBlanks;477,13782 -function stripname;505,14595 -function Locate;522,15039 -function NameHasChar;543,15581 -function integertonmstr;561,16134 -function NmStrToInteger;585,16901 -function AddNullToNmStr;600,17317 -function ValToNmStr;611,17585 -function ChangeFileType;625,18037 -function StripPath;647,18734 -function ReprOfChar;675,19343 -procedure ExtractCommentInfo;702,20749 -procedure INSERT_TREE_NODE;784,24053 -function GetNameList;920,27926 -procedure DisposeANameList(925,28010 -procedure DisposeNameList;938,28340 -function GetNewNameListNode;943,28409 -function insertname;972,29051 -procedure InitNameList;988,29471 -procedure InitNameStringPool;998,29767 -procedure NewNameString;1004,29867 -procedure ReleaseNameString;1022,30232 -procedure SDTrefStringToRec 1045,30741 -procedure SDTrefSkipSpaces;1059,31092 -function SDTrefIsEnd 1070,31323 -function SDTrefGetInteger 1082,31529 -procedure SDTrefRecToString 1303,37546 -function NmStrToErrStr;1497,42305 -function ErrStrToNmStr;1509,42557 -function GetTextRef;1529,43112 - -php-src/lce_functions.php,2864 - define("LCE_FUNCTIONS"LCE_FUNCTIONS4,38 - define("LCE_UNKNOWN"LCE_UNKNOWN9,145 - define("LCE_WS"LCE_WS11,194 - define("LCE_COMMENT"LCE_COMMENT13,244 - define("LCE_COMMENT_USER"LCE_COMMENT_USER15,303 - define("LCE_COMMENT_TOOL"LCE_COMMENT_TOOL17,366 - define("LCE_MSGID"LCE_MSGID19,430 - define("LCE_MSGSTR"LCE_MSGSTR21,488 - define("LCE_TEXT"LCE_TEXT23,541 - define("STATE_ABORT"STATE_ABORT25,567 - define("STATE_OK"STATE_OK26,595 - define("STATE_LOOP"STATE_LOOP27,620 - class POEntryAD 29,648 - function validate(31,683 - function checkQuotation(59,1384 - class CommentAD 70,1639 - var $prefix;72,1674 - function CommentAD(73,1693 - function validate(83,1944 - class POEntry 105,2410 - var $msgid;107,2454 - var $msgstr;108,2472 - var $user_comment;109,2491 - var $sys_comment;110,2516 - var $unk_comment;111,2540 - var $msgid_lc 113,2565 - var $msgstr_lc 114,2590 - var $user_comment_lc 115,2616 - var $sys_comment_lc 116,2648 - var $unk_comment_lc 117,2679 - function POEntry(119,2711 - function lineCount(135,3255 - function serializeToVars(141,3365 - function write(151,3800 - class POReader 163,4178 - var $msgid;165,4223 - var $msgstr;166,4241 - var $user_comment;167,4260 - var $sys_comment;168,4285 - var $unk_comment;169,4309 - var $state;170,4333 - var $ignore_ws;171,4351 - var $po_entries;172,4373 - var $poe_num;173,4396 - var $filename;174,4416 - var $domain;175,4437 - function gettext(177,4457 - function parseFromVars(189,4705 - function serializeToVars(215,5331 - function POReader(229,5613 - function read(243,5983 - function write(259,6307 - function isComment(277,6645 - function comment(284,6822 - function msgid(304,7247 - function msgstr(320,7574 - function start(340,8232 - function createPOEntries(360,8644 - function stripLine(394,9472 - function printClassification(421,10056 - function classifyLine(432,10301 - function getTextDomains(471,11094 - class PORManager 498,11756 - var $por_a;500,11803 - function PORManager(502,11822 - function addPOReader(507,11896 - function &getPOReader(getPOReader512,11992 - function getDomainNames(517,12081 - function &loadPORManager(loadPORManager523,12174 - function fileJoin(536,12436 - function lce_bindtextdomain(557,12839 - function lce_textdomain(614,14530 - function lce_gettext(620,14641 - function lce_dgettext(626,14767 - function lce(634,14966 - function lce_bindtextdomain(651,15488 - function lce_textdomain(656,15592 - function lce_gettext(661,15674 - function lce_dgettext(666,15755 - function lce(670,15855 - function lce_geteditcode(676,15898 - -php-src/ptest.php,135 -define("TEST"TEST1,0 -test 4,26 - var $member;8,71 - var $memassign=9,85 - var $memassign_space 10,110 - var $test12,176 -foo(16,200 - -perl-src/htlmify-cystic,1197 -my @section_name;section_name12,236 -my @appendix_name;appendix_name13,254 -my @section_toc;section_toc15,274 -my @appendix_toc;appendix_toc16,291 -my $new_tag new_tag18,310 -my $appendix;appendix24,409 -my $section;section25,423 -my $subsection;subsection26,436 -my $subsubsection;subsubsection27,452 -my $this_file_toc this_file_toc29,472 -my %file_tocs;file_tocs30,496 -my @output_files output_files32,512 -my $file_index file_index33,535 -my $output_file;output_file35,556 -my $line;line37,574 -my $subsection_marker;subsection_marker161,3883 -my $new;new163,3907 -sub read_toc 165,3917 - my $entry entry218,5621 - my $entry entry234,6077 - my $entry entry245,6351 - my $entry entry252,6536 - my $entry entry268,7010 - my $entry entry276,7204 - my $entry entry281,7328 - my $entry entry296,7698 -sub finish_subsubsections 302,7805 -sub finish_subsections 309,7987 -sub finish_sections 320,8310 -sub finish_appendices 331,8599 -sub section_url_base 337,8724 -sub section_url_name 342,8922 -sub section_url 355,9284 - my $name name357,9336 -sub section_href 364,9452 -sub section_name 368,9551 -sub toc_line 372,9655 -sub file_end 375,9750 - -perl-src/yagrip.pl,233 -sub getopt 7,156 - local($_,$flag,$opt,$f,$r,@temp)($_,$flag,$opt,$f,$r,@temp8,169 -sub usage 38,856 - local($prog,$_,@list)($prog,$_,@list39,868 - local($string,$flag,@string,@temp,@last)($string,$flag,@string,@temp,@last40,897 - -perl-src/kai-test.pl,203 -sub f1 2,16 -sub main::f2 f26,50 -package Foo;10,90 -sub f3 12,104 -sub Bar::f4 f416,138 -package Bar;20,177 -sub f5 22,191 -package Foo::Bar;26,225 -sub f6 28,244 -package main;32,278 -sub f7 34,293 - -ps-src/rfc1245.ps,2478 -/FMversion 12,311 -/FrameDict 17,500 -/FMVERSION 47,1307 -/FMLOCAL 56,1494 -/FMDOCUMENT 73,1766 -/FMBEGINPAGE 95,2279 -/FMENDPAGE 109,2516 -/FMDEFINEFONT 115,2582 -/FMNORMALIZEGRAPHICS 126,2725 -/FMBEGINEPSF 142,2955 -/FMENDEPSF 153,3207 -/setmanualfeed 158,3283 -/max 163,3386 -/min 164,3426 -/inch 165,3466 -/pagedimen 166,3485 -/setpapername 172,3629 -/papersize 190,4214 -/manualpapersize 211,4789 -/desperatepapersize 230,5211 -/savematrix 239,5370 -/restorematrix 242,5425 -/dmatrix 245,5475 -/dpi 246,5495 -/freq 248,5583 -/sangle 249,5658 -/DiacriticEncoding 250,5717 -/.notdef 251,5738 -/.notdef 252,5801 -/.notdef 253,5864 -/.notdef 254,5927 -/.notdef 255,5990 -/numbersign 256,6051 -/parenright 257,6115 -/two 258,6184 -/less 259,6251 -/L 260,6320 -/bracketright 261,6389 -/i 262,6459 -/braceright 263,6529 -/Ntilde 264,6598 -/atilde 265,6668 -/iacute 266,6733 -/ocircumflex 267,6797 -/udieresis 268,6858 -/paragraph 269,6919 -/dieresis 270,6983 -/yen 271,7050 -/ordfeminine 272,7109 -/exclamdown 273,7171 -/guillemotleft 274,7230 -/Otilde 275,7296 -/quoteleft 276,7357 -/fraction 277,7420 -/periodcentered 278,7490 -/Acircumflex 279,7549 -/Icircumflex 280,7610 -/Uacute 281,7680 -/breve 282,7746 -/ReEncode 284,7814 -/graymode 300,8020 -/setpattern 310,8184 -/grayness 331,8725 -/normalize 394,9873 -/dnormalize 397,9942 -/lnormalize 400,10014 -/H 403,10104 -/Z 406,10147 -/X 409,10176 -/V 412,10219 -/N 415,10260 -/M 418,10286 -/E 419,10315 -/D 420,10336 -/O 421,10358 -/L 423,10394 -/Y 430,10489 -/R 439,10588 -/RR 450,10696 -/C 467,10959 -/U 473,11004 -/F 477,11039 -/T 481,11084 -/RF 484,11115 -/TF 488,11164 -/P 495,11219 -/PF 499,11270 -/S 506,11344 -/SF 510,11384 -/B 517,11446 -/BF 521,11505 -/W 538,11714 -/G 573,12382 -/A 582,12525 -/BEGINPRINTCODE 606,12918 -/ENDPRINTCODE 615,13131 -/gn 620,13259 -/cfs 631,13384 -/ic 636,13473 -/ms 658,14285 -/ip 668,14395 -/wh 678,14492 -/bl 684,14607 -/s1 690,14722 -/fl 691,14739 -/hx 698,14887 -/wbytes 709,15055 -/BEGINBITMAPBWc 713,15147 -/BEGINBITMAPGRAYc 716,15198 -/BEGINBITMAP2BITc 719,15251 -/COMMONBITMAPc 722,15304 -/BEGINBITMAPBW 739,15660 -/BEGINBITMAPGRAY 742,15709 -/BEGINBITMAP2BIT 745,15760 -/COMMONBITMAP 748,15811 -/Fmcc 765,16156 -/ngrayt 773,16371 -/nredt 774,16393 -/nbluet 775,16414 -/ngreent 776,16436 -/colorsetup 787,16603 -/fakecolorsetup 814,17370 -/BITMAPCOLOR 826,17636 -/BITMAPCOLORc 839,17926 -/BITMAPGRAY 855,18275 -/BITMAPGRAYc 858,18335 -/ENDBITMAP 861,18397 -/fillprocs 868,18497 - -prol-src/ordsets.prolog,525 -is_ordset(47,1310 -list_to_ord_set(63,1688 -ord_add_element(71,1867 -ord_del_element(85,2344 -ord_disjoint(100,2783 -ord_intersect(108,2953 -ord_intersection(126,3553 -ord_intersection3(130,3692 -ord_intersection(150,4533 -ord_intersection4(154,4705 -ord_intersection(176,5666 -ord_intersection2(181,5814 -ord_member(200,6320 -ord_seteq(216,6685 -ord_setproduct(225,6973 -ord_subset(240,7379 -ord_subtract(257,7863 -ord_symdiff(265,8056 -ord_union(288,8889 -ord_union4(303,9354 -ord_union(324,10173 -ord_union_all(329,10315 - -prol-src/natded.prolog,2319 -expandmng(100,2879 -normalize(116,3359 -fresh_vars(125,3716 -subst(138,4134 -normalize_fresh(159,4660 -reduce_subterm(171,5112 -reduce(185,5559 -free_var(196,5903 -free_for(209,6246 -compile_lex(231,6875 -consult_lex:-consult_lex248,7384 -lex(259,7754 -expandsyn(267,8068 -bas_syn(292,8897 -compile_empty:-compile_empty310,9376 -complete(328,10055 -add_active(340,10527 -parse(353,10949 -derived_analyses(364,11341 -build(378,11967 -buildact(392,12523 -mapsyn(412,13544 -add_edge(434,14280 -findcats(447,14760 -normalize_tree(465,15480 -normalize_trees(475,15858 -expandmng_tree(486,16250 -expandmng_trees(496,16616 -cat(511,17015 -subtree(644,21268 -hypothetical_mem(653,21567 -make_coor(667,22132 -start_up:-start_up688,23015 -tokenizeatom(710,23923 -tokenize(720,24350 -isoperator(752,25379 -isoptab(756,25433 -specialsymbol(765,25758 -sstab(771,25863 -parse_cgi(787,26349 -keyvalseq(792,26512 -andkeyvalseq(796,26611 -keyval(799,26690 -valseq(807,26922 -plusvalseq(810,27009 -val(816,27111 -argvals(824,27428 -commaargvals(828,27505 -atomval(833,27580 -atom(836,27642 -action(846,28006 -keyvalcgi(864,28651 -keyvalscgi(865,28672 -outsyn(868,28728 -act(876,29062 -actout(901,29908 -texttreelist(912,30091 -htmltreelist(918,30192 -fitchtreelist(924,30306 -pp_html_table_tree(938,30761 -pp_html_tree(949,31115 -pp_html_trees(988,32383 -pp_html_table_fitch_tree(999,32771 -pp_html_fitch_tree(1017,33674 -removeexp(1129,39004 -splitexp(1142,39492 -pp_exp(1155,39992 -map_word(1168,40251 -pp_exps(1180,40476 -pp_tree(1188,40779 -pp_trees(1216,41809 -pp_word_list(1225,42130 -pp_word(1231,42264 -pp_word_list_rest(1238,42571 -pp_cat(1248,42931 -pp_syn(1255,43198 -pp_syn_paren(1276,43901 -pp_paren(1293,44379 -pp_syn_back(1300,44663 -pp_bas_cat(1311,45003 -writecat(1322,45411 -writesubs(1351,46457 -writesups(1361,46759 -writelistsubs(1371,47092 -pp_lam(1380,47410 -pp_lam_bracket(1398,48024 -pp_lam_paren(1407,48340 -pp_rule(1429,49240 -member(1447,49868 -append_list(1451,49921 -append(1456,50012 -at_least_one_member(1460,50078 -numbervars(1464,50173 -reverse(1467,50211 -select(1471,50292 -select_last(1475,50359 -cat_atoms(1479,50438 -writelist(1485,50526 -write_lex_cat(1492,50678 -writebreaklex(1500,50990 -write_lex(1513,51267 -writebreak(1521,51543 -tt:-tt1531,51715 -mt:-mt1534,51786 -cmt:-cmt1537,51880 - -pyt-src/server.py,1438 -class Controls:Controls17,358 - def __init__(18,374 - def __repr__(24,590 - def __str__(34,871 -class Server:Server37,934 - def __init__(38,948 - def dump(73,2198 - def __repr__(125,3896 - def __str__(128,3945 -class User:User131,4014 - def __init__(132,4026 - def __repr__(172,5445 - def __str__(206,6883 -def flag2str(223,7212 -class LabeledEntry(232,7442 - def bind(234,7525 - def focus_set(236,7584 - def __init__(238,7629 -def ButtonBar(245,7909 -def helpwin(255,8280 -class ListEdit(267,8707 - def __init__(269,8808 - def handleList(303,10042 - def handleNew(306,10094 - def editItem(314,10426 - def deleteItem(320,10596 -def ConfirmQuit(326,10760 -class ControlEdit(375,12377 - def PostControls(376,12403 - def GatherControls(421,13530 -class ServerEdit(512,16264 - def __init__(513,16289 - def post(525,16629 - def gather(543,17191 - def nosave(547,17304 - def save(551,17408 - def refreshPort(556,17509 - def createWidgets(561,17663 - def edituser(631,20708 -class UserEdit(645,20921 - def __init__(646,20944 - def post(658,21283 - def gather(676,21841 - def nosave(680,21950 - def save(684,22052 - def createWidgets(689,22151 -class Configure(760,24879 - def __init__(761,24916 - def MakeDispose(772,25211 - def MakeSitelist(786,25706 - def editsite(794,25949 - def save(797,26022 - def nosave(807,26310 - -ruby-src/test.rb,637 -module ModuleExample1,0 - class ClassExample2,21 - def instance_method3,44 - def ClassExample.class_methodclass_method6,121 - def instance_method_exclamation!9,206 - def instance_method_question?12,310 - def instance_method_equals=instance_method_equals=15,408 - def `(18,502 - def +(21,592 - def [](24,640 - def []=([]=27,690 - def <<(30,752 - def ==(==33,802 - def <=(<=36,872 - def <=>(<=>39,943 - def ===(===42,990 - def module_instance_method46,1051 - def ModuleExample.module_class_methodmodule_class_method49,1131 - -ruby-src/test1.ru,935 -class A1,0 - def a(2,8 - def b(5,38 -module A9,57 - class B10,66 - ABC 11,76 - Def_ 12,88 - Xyzzy 13,106 - def foo!15,121 - def self._bar?(_bar?18,143 - def qux=(qux=22,194 - attr_reader :foofoo26,233 - attr_reader :read1 read127,254 - attr_reader :read1 , :read2;read227,254 - attr_reader :read1 , :read2; attr_writer :write1,write1=27,254 - attr_reader :read1 , :read2; attr_writer :write1, :write2write2=27,254 - attr_writer :bar,bar=28,316 - :baz,baz=29,338 - :moremore=30,360 - attr_accessor :teetee31,382 - attr_accessor :teetee=31,382 - alias_method :qux,qux32,405 - alias_method :xyz,xyz33,456 - :tee ; attr_reader :subtlesubtle34,479 - attr_reader(:foo1,foo135,523 - attr_reader(:foo1, :bar1,bar135,523 - :qux1)qux136,563 - alias_method ( :foo2,foo237,586 -A::Constant Constant42,655 - -rs-src/test.rs,52 -enum IpAddrKind 3,11 -fn test1(8,48 -fn main(12,88 - -scm-src/test.scm,260 -(define hello 1,0 -(set! hello 3,32 -(define (hello-world)5,62 -(define (there-is-a-=-in-the-middle!)there-is-a-=-in-the-middle!10,128 -(define =starts-with-equals! =starts-with-equals!12,171 -(define (((((curry-test 14,205 -(define-syntax test-begin17,265 - -tex-src/testenv.tex,52 -\newcommand{\nm}\nm4,77 -\section{blah}blah8,139 - -tex-src/gzip.texi,303 -@node Top,62,2139 -@node Copying,80,2652 -@node Overview,83,2705 -@node Sample,166,7273 -@node Invoking gzip,Invoking gzip210,8829 -@node Advanced usage,Advanced usage357,13497 -@node Environment,420,15209 -@node Tapes,437,15770 -@node Problems,460,16769 -@node Concept Index,Concept Index473,17289 - -tex-src/texinfo.tex,30627 -\def\texinfoversion{\texinfoversion26,1035 -\def\tie{\tie49,1526 -\def\gloggingall{\gloggingall72,2276 -\def\loggingall{\loggingall73,2345 -\def\onepageout#1{\onepageout99,3282 -\def\croppageout#1{\croppageout115,4032 -\def\cropmarks{\cropmarks142,5092 -\def\pagebody#1{\pagebody144,5139 -\def\ewtop{\ewtop157,5594 -\def\nstop{\nstop158,5658 -\def\ewbot{\ewbot160,5741 -\def\nsbot{\nsbot161,5805 -\def\parsearg #1{\parsearg170,6104 -\def\parseargx{\parseargx172,6182 -\def\parseargline{\parseargline182,6422 -\def\flushcr{\flushcr186,6543 -\newif\ifENV \ENVfalse \def\inENV{\inENV190,6742 -\def\ENVcheck{\ENVcheck191,6806 -\outer\def\begin{\begin198,7053 -\def\beginxxx #1{\beginxxx200,7091 -\def\end{\end208,7346 -\def\endxxx #1{\endxxx210,7374 -\def\errorE#1{\errorE216,7563 -\def\singlespace{\singlespace222,7757 -\def\@{\@232,7980 -\def\`{\`236,8080 -\def\'{\'237,8092 -\def\mylbrace {\mylbrace241,8140 -\def\myrbrace {\myrbrace242,8173 -\def\:{\:247,8287 -\def\*{\*250,8341 -\def\.{\.253,8417 -\def\w#1{\w258,8648 -\def\group{\group268,9131 - \def\Egroup{\Egroup273,9295 -\def\need{\need289,9737 -\def\needx#1{\needx300,10014 -\def\dots{\dots339,11400 -\def\page{\page343,11464 -\def\exdent{\exdent353,11791 -\def\exdentyyy #1{\exdentyyy354,11824 -\def\nofillexdent{\nofillexdent357,11968 -\def\nofillexdentyyy #1{\nofillexdentyyy358,12013 -\def\include{\include365,12197 -\def\includezzz #1{\includezzz366,12232 -\def\thisfile{\thisfile369,12283 -\def\center{\center373,12346 -\def\centerzzz #1{\centerzzz374,12379 -\def\sp{\sp380,12521 -\def\spxxx #1{\spxxx381,12546 -\def\comment{\comment387,12720 -\def\commentxxx #1{\commentxxx390,12817 -\def\ignoresections{\ignoresections396,12986 -\let\chapter=\relax=\relax397,13008 -\let\section=\relax=\relax406,13253 -\let\subsection=\relax=\relax409,13314 -\let\subsubsection=\relax=\relax410,13337 -\let\appendix=\relax=\relax411,13363 -\let\appendixsec=\relaxsec=\relax412,13384 -\let\appendixsection=\relaxsection=\relax413,13408 -\let\appendixsubsec=\relaxsubsec=\relax414,13436 -\let\appendixsubsection=\relaxsubsection=\relax415,13463 -\let\appendixsubsubsec=\relaxsubsubsec=\relax416,13494 -\let\appendixsubsubsection=\relaxsubsubsection=\relax417,13524 -\def\ignore{\ignore423,13626 -\long\def\ignorexxx #1\end ignore{\ignorexxx427,13766 -\def\direntry{\direntry429,13825 -\long\def\direntryxxx #1\end direntry{\direntryxxx430,13864 -\def\ifset{\ifset434,13974 -\def\ifsetxxx #1{\ifsetxxx436,14032 -\def\Eifset{\Eifset440,14159 -\def\ifsetfail{\ifsetfail441,14173 -\long\def\ifsetfailxxx #1\end ifset{\ifsetfailxxx442,14229 -\def\ifclear{\ifclear444,14290 -\def\ifclearxxx #1{\ifclearxxx446,14352 -\def\Eifclear{\Eifclear450,14483 -\def\ifclearfail{\ifclearfail451,14499 -\long\def\ifclearfailxxx #1\end ifclear{\ifclearfailxxx452,14559 -\def\set{\set456,14710 -\def\setxxx #1{\setxxx457,14737 -\def\clear{\clear460,14799 -\def\clearxxx #1{\clearxxx461,14830 -\def\iftex{\iftex466,14947 -\def\Eiftex{\Eiftex467,14960 -\def\ifinfo{\ifinfo468,14974 -\long\def\ifinfoxxx #1\end ifinfo{\ifinfoxxx469,15024 -\long\def\menu #1\end menu{\menu471,15083 -\def\asis#1{\asis472,15112 -\def\math#1{\math485,15655 -\def\node{\node487,15699 -\def\nodezzz#1{\nodezzz488,15737 -\def\nodexxx[#1,#2]{\nodexxx[489,15768 -\def\donoderef{\donoderef492,15830 -\def\unnumbnoderef{\unnumbnoderef496,15951 -\def\appendixnoderef{\appendixnoderef500,16082 -\expandafter\expandafter\expandafter\appendixsetref{setref501,16128 -\let\refill=\relaxill=\relax504,16217 -\def\setfilename{\setfilename509,16431 -\outer\def\bye{\bye518,16677 -\def\inforef #1{\inforef520,16733 -\def\inforefzzz #1,#2,#3,#4**{\inforefzzz521,16771 -\def\losespace #1{\losespace523,16868 -\def\sf{\sf532,17072 -\font\defbf=cmbx10 scaled \magstep1 %was 1314bf=cmbx10558,17867 -\font\deftt=cmtt10 scaled \magstep1tt=cmtt10559,17913 -\def\df{\df560,17949 -\def\resetmathfonts{\resetmathfonts635,20543 -\def\textfonts{\textfonts648,21132 -\def\chapfonts{\chapfonts653,21347 -\def\secfonts{\secfonts658,21563 -\def\subsecfonts{\subsecfonts663,21768 -\def\indexfonts{\indexfonts668,21985 -\def\smartitalicx{\smartitalicx691,22717 -\def\smartitalic#1{\smartitalic692,22793 -\let\cite=\smartitalic=\smartitalic698,22938 -\def\b#1{\b700,22962 -\def\t#1{\t703,22997 -\def\samp #1{\samp706,23149 -\def\key #1{\key707,23182 -\def\ctrl #1{\ctrl708,23243 -\def\tclose#1{\tclose716,23445 -\def\ {\720,23611 -\def\xkey{\xkey728,23880 -\def\kbdfoo#1#2#3\par{\kbdfoo729,23896 -\def\dmn#1{\dmn738,24197 -\def\kbd#1{\kbd740,24224 -\def\l#1{\l742,24281 -\def\r#1{\r744,24310 -\def\sc#1{\sc746,24378 -\def\ii#1{\ii747,24421 -\def\titlefont#1{\titlefont755,24654 -\def\titlepage{\titlepage761,24757 - \def\subtitlefont{\subtitlefont766,24984 - \def\authorfont{\authorfont768,25068 - \def\title{\title774,25278 - \def\titlezzz##1{\titlezzz775,25313 - \def\subtitle{\subtitle783,25628 - \def\subtitlezzz##1{\subtitlezzz784,25669 - \def\author{\author787,25787 - \def\authorzzz##1{\authorzzz788,25824 - \def\page{\page794,26115 -\def\Etitlepage{\Etitlepage804,26284 -\def\finishtitlepage{\finishtitlepage817,26672 -\def\evenheading{\evenheading846,27680 -\def\oddheading{\oddheading847,27723 -\def\everyheading{\everyheading848,27764 -\def\evenfooting{\evenfooting850,27810 -\def\oddfooting{\oddfooting851,27853 -\def\everyfooting{\everyfooting852,27894 -\def\headings #1 {\headings893,29586 -\def\HEADINGSoff{\HEADINGSoff895,29635 -\def\HEADINGSdouble{\HEADINGSdouble904,30062 -\def\HEADINGSsingle{\HEADINGSsingle914,30382 -\def\HEADINGSon{\HEADINGSon922,30603 -\def\HEADINGSafter{\HEADINGSafter924,30637 -\def\HEADINGSdoublex{\HEADINGSdoublex926,30732 -\def\HEADINGSsingleafter{\HEADINGSsingleafter933,30920 -\def\HEADINGSsinglex{\HEADINGSsinglex934,30981 -\def\today{\today943,31256 -\def\thistitle{\thistitle958,31801 -\def\settitle{\settitle959,31826 -\def\settitlezzz #1{\settitlezzz960,31863 -\def\internalBitem{\internalBitem992,32793 -\def\internalBitemx{\internalBitemx993,32843 -\def\internalBxitem "#1"{\internalBxitem995,32888 -\def\internalBxitemx "#1"{\internalBxitemx996,32968 -\def\internalBkitem{\internalBkitem998,33043 -\def\internalBkitemx{\internalBkitemx999,33095 -\def\kitemzzz #1{\kitemzzz1001,33142 -\def\xitemzzz #1{\xitemzzz1004,33244 -\def\itemzzz #1{\itemzzz1007,33347 -\def\item{\item1037,34418 -\def\itemx{\itemx1038,34469 -\def\kitem{\kitem1039,34522 -\def\kitemx{\kitemx1040,34575 -\def\xitem{\xitem1041,34630 -\def\xitemx{\xitemx1042,34683 -\def\description{\description1045,34793 -\def\table{\table1047,34843 -\def\ftable{\ftable1052,34987 -\def\Eftable{\Eftable1056,35133 -\def\vtable{\vtable1059,35202 -\def\Evtable{\Evtable1063,35348 -\def\dontindex #1{\dontindex1066,35417 -\def\fnitemindex #1{\fnitemindex1067,35437 -\def\vritemindex #1{\vritemindex1068,35482 -\def\tablez #1#2#3#4#5#6{\tablez1074,35631 -\def\Edescription{\Edescription1077,35689 -\def\itemfont{\itemfont1082,35890 -\def\Etable{\Etable1090,36116 -\def\itemize{\itemize1103,36440 -\def\itemizezzz #1{\itemizezzz1105,36476 -\def\itemizey #1#2{\itemizey1110,36571 -\def#2{1119,36817 -\def\itemcontents{\itemcontents1120,36858 -\def\bullet{\bullet1123,36906 -\def\minus{\minus1124,36933 -\def\frenchspacing{\frenchspacing1128,37041 -\def\splitoff#1#2\endmark{\splitoff1134,37266 -\def\enumerate{\enumerate1140,37496 -\def\enumeratezzz #1{\enumeratezzz1141,37535 -\def\enumeratey #1 #2\endenumeratey{\enumeratey1142,37588 - \def\thearg{\thearg1146,37735 - \ifx\thearg\empty \def\thearg{\thearg1147,37754 -\def\numericenumerate{\numericenumerate1184,39088 -\def\lowercaseenumerate{\lowercaseenumerate1190,39218 -\def\uppercaseenumerate{\uppercaseenumerate1203,39565 -\def\startenumeration#1{\startenumeration1219,40055 -\def\alphaenumerate{\alphaenumerate1227,40237 -\def\capsenumerate{\capsenumerate1228,40272 -\def\Ealphaenumerate{\Ealphaenumerate1229,40306 -\def\Ecapsenumerate{\Ecapsenumerate1230,40340 -\def\itemizeitem{\itemizeitem1234,40420 -\def\newindex #1{\newindex1259,41277 -\def\defindex{\defindex1268,41566 -\def\newcodeindex #1{\newcodeindex1272,41674 -\def\defcodeindex{\defcodeindex1279,41934 -\def\synindex #1 #2 {\synindex1283,42114 -\def\syncodeindex #1 #2 {\syncodeindex1292,42454 -\def\doindex#1{\doindex1309,43133 -\def\singleindexer #1{\singleindexer1310,43192 -\def\docodeindex#1{\docodeindex1313,43304 -\def\singlecodeindexer #1{\singlecodeindexer1314,43371 -\def\indexdummies{\indexdummies1316,43429 -\def\_{\_1317,43449 -\def\w{\w1318,43477 -\def\bf{\bf1319,43504 -\def\rm{\rm1320,43533 -\def\sl{\sl1321,43562 -\def\sf{\sf1322,43591 -\def\tt{\tt1323,43619 -\def\gtr{\gtr1324,43647 -\def\less{\less1325,43677 -\def\hat{\hat1326,43709 -\def\char{\char1327,43739 -\def\TeX{\TeX1328,43771 -\def\dots{\dots1329,43801 -\def\copyright{\copyright1330,43834 -\def\tclose##1{\tclose1331,43877 -\def\code##1{\code1332,43922 -\def\samp##1{\samp1333,43963 -\def\t##1{\t1334,44004 -\def\r##1{\r1335,44039 -\def\i##1{\i1336,44074 -\def\b##1{\b1337,44109 -\def\cite##1{\cite1338,44144 -\def\key##1{\key1339,44185 -\def\file##1{\file1340,44224 -\def\var##1{\var1341,44265 -\def\kbd##1{\kbd1342,44304 -\def\indexdummyfont#1{\indexdummyfont1347,44460 -\def\indexdummytex{\indexdummytex1348,44486 -\def\indexdummydots{\indexdummydots1349,44510 -\def\indexnofonts{\indexnofonts1351,44536 -\let\w=\indexdummyfontdummyfont1352,44556 -\let\t=\indexdummyfontdummyfont1353,44579 -\let\r=\indexdummyfontdummyfont1354,44602 -\let\i=\indexdummyfontdummyfont1355,44625 -\let\b=\indexdummyfontdummyfont1356,44648 -\let\emph=\indexdummyfontdummyfont1357,44671 -\let\strong=\indexdummyfontdummyfont1358,44697 -\let\cite=\indexdummyfont=\indexdummyfont1359,44725 -\let\sc=\indexdummyfontdummyfont1360,44751 -\let\tclose=\indexdummyfontdummyfont1364,44923 -\let\code=\indexdummyfontdummyfont1365,44951 -\let\file=\indexdummyfontdummyfont1366,44977 -\let\samp=\indexdummyfontdummyfont1367,45003 -\let\kbd=\indexdummyfontdummyfont1368,45029 -\let\key=\indexdummyfontdummyfont1369,45054 -\let\var=\indexdummyfontdummyfont1370,45079 -\let\TeX=\indexdummytexdummytex1371,45104 -\let\dots=\indexdummydotsdummydots1372,45128 -\let\indexbackslash=0 %overridden during \printindex.backslash=01382,45380 -\def\doind #1#2{\doind1384,45436 -{\indexdummies % Must do this here, since \bf, etc expand at this stagedummies1386,45479 -\def\rawbackslashxx{\rawbackslashxx1389,45619 -{\indexnofontsnofonts1394,45881 -\def\dosubind #1#2#3{\dosubind1405,46192 -{\indexdummies % Must do this here, since \bf, etc expand at this stagedummies1407,46240 -\def\rawbackslashxx{\rawbackslashxx1410,46344 -{\indexnofontsnofonts1414,46498 -\def\findex {\findex1443,47429 -\def\kindex {\kindex1444,47452 -\def\cindex {\cindex1445,47475 -\def\vindex {\vindex1446,47498 -\def\tindex {\tindex1447,47521 -\def\pindex {\pindex1448,47544 -\def\cindexsub {\cindexsub1450,47568 -\def\printindex{\printindex1462,47895 -\def\doprintindex#1{\doprintindex1464,47936 - \def\indexbackslash{\indexbackslash1481,48421 - \indexfonts\rm \tolerance=9500 \advance\baselineskip -1ptfonts\rm1482,48460 -\def\initial #1{\initial1517,49532 -\def\entry #1#2{\entry1523,49739 - \null\nobreak\indexdotfill % Have leaders before the page number.dotfill1540,50386 -\def\indexdotfill{\indexdotfill1549,50714 -\def\primary #1{\primary1552,50820 -\def\secondary #1#2{\secondary1556,50902 -\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\pardotfill1559,50984 -\newbox\partialpageialpage1566,51157 -\def\begindoublecolumns{\begindoublecolumns1572,51315 - \output={\global\setbox\partialpage=ialpage=1573,51351 -\def\enddoublecolumns{\enddoublecolumns1577,51539 -\def\doublecolumnout{\doublecolumnout1580,51624 - \dimen@=\pageheight \advance\dimen@ by-\ht\partialpageialpage1581,51693 -\def\pagesofar{\pagesofar1584,51871 -\def\balancecolumns{\balancecolumns1588,52108 - \availdimen@=\pageheight \advance\availdimen@ by-\ht\partialpageialpage1594,52279 - \dimen@=\pageheight \advance\dimen@ by-\ht\partialpageialpage1600,52540 -\newcount \appendixno \appendixno = `\@no1627,53445 -\def\appendixletter{\appendixletter1628,53486 -\def\opencontents{\opencontents1632,53589 -\def\thischapter{\thischapter1637,53770 -\def\seccheck#1{\seccheck1638,53808 -\def\chapternofonts{\chapternofonts1643,53912 -\def\result{\result1646,53987 -\def\equiv{\equiv1647,54022 -\def\expansion{\expansion1648,54055 -\def\print{\print1649,54096 -\def\TeX{\TeX1650,54129 -\def\dots{\dots1651,54158 -\def\copyright{\copyright1652,54189 -\def\tt{\tt1653,54230 -\def\bf{\bf1654,54257 -\def\w{\w1655,54285 -\def\less{\less1656,54310 -\def\gtr{\gtr1657,54341 -\def\hat{\hat1658,54370 -\def\char{\char1659,54399 -\def\tclose##1{\tclose1660,54430 -\def\code##1{\code1661,54474 -\def\samp##1{\samp1662,54514 -\def\r##1{\r1663,54554 -\def\b##1{\b1664,54588 -\def\key##1{\key1665,54622 -\def\file##1{\file1666,54660 -\def\kbd##1{\kbd1667,54700 -\def\i##1{\i1669,54808 -\def\cite##1{\cite1670,54842 -\def\var##1{\var1671,54882 -\def\emph##1{\emph1672,54920 -\def\dfn##1{\dfn1673,54960 -\def\thischaptername{\thischaptername1676,55001 -\outer\def\chapter{\chapter1677,55040 -\def\chapterzzz #1{\chapterzzz1678,55081 -{\chapternofonts%nofonts%1687,55477 -\global\let\section = \numberedsec=1692,55630 -\global\let\subsection = \numberedsubsec=1693,55665 -\global\let\subsubsection = \numberedsubsubsec=1694,55706 -\outer\def\appendix{\appendix1697,55757 -\def\appendixzzz #1{\appendixzzz1698,55800 -\global\advance \appendixno by 1 \message{no1700,55877 -\chapmacro {#1}{Appendix \appendixletter}letter1701,55946 -\xdef\thischapter{Appendix \appendixletter: \noexpand\thischaptername}letter:1704,56039 -{\chapternofonts%nofonts%1705,56111 - {#1}{Appendix \appendixletter}letter1707,56167 -\appendixnoderef %noderef1710,56267 -\global\let\section = \appendixsec=1711,56286 -\global\let\subsection = \appendixsubsec=1712,56321 -\global\let\subsubsection = \appendixsubsubsec=1713,56362 -\outer\def\top{\top1716,56413 -\outer\def\unnumbered{\unnumbered1717,56453 -\def\unnumberedzzz #1{\unnumberedzzz1718,56500 -{\chapternofonts%nofonts%1722,56663 -\global\let\section = \unnumberedsec=1727,56813 -\global\let\subsection = \unnumberedsubsec=1728,56850 -\global\let\subsubsection = \unnumberedsubsubsec=1729,56893 -\outer\def\numberedsec{\numberedsec1732,56946 -\def\seczzz #1{\seczzz1733,56987 -{\chapternofonts%nofonts%1736,57143 -\outer\def\appendixsection{\appendixsection1745,57329 -\outer\def\appendixsec{\appendixsec1746,57386 -\def\appendixsectionzzz #1{\appendixsectionzzz1747,57439 -\gdef\thissection{#1}\secheading {#1}{\appendixletter}letter1749,57551 -{\chapternofonts%nofonts%1750,57619 -{#1}{\appendixletter}letter1752,57675 -\appendixnoderef %noderef1755,57775 -\outer\def\unnumberedsec{\unnumberedsec1759,57815 -\def\unnumberedseczzz #1{\unnumberedseczzz1760,57868 -{\chapternofonts%nofonts%1762,57963 -\outer\def\numberedsubsec{\numberedsubsec1770,58131 -\def\numberedsubseczzz #1{\numberedsubseczzz1771,58186 -{\chapternofonts%nofonts%1774,58365 -\outer\def\appendixsubsec{\appendixsubsec1783,58569 -\def\appendixsubseczzz #1{\appendixsubseczzz1784,58624 -\subsecheading {#1}{\appendixletter}letter1786,58746 -{\chapternofonts%nofonts%1787,58811 -{#1}{\appendixletter}letter1789,58870 -\appendixnoderef %noderef1792,58985 -\outer\def\unnumberedsubsec{\unnumberedsubsec1796,59025 -\def\unnumberedsubseczzz #1{\unnumberedsubseczzz1797,59084 -{\chapternofonts%nofonts%1799,59185 -\outer\def\numberedsubsubsec{\numberedsubsubsec1807,59356 -\def\numberedsubsubseczzz #1{\numberedsubsubseczzz1808,59417 -{\chapternofonts%nofonts%1812,59614 -\outer\def\appendixsubsubsec{\appendixsubsubsec1823,59847 -\def\appendixsubsubseczzz #1{\appendixsubsubseczzz1824,59908 - {\appendixletter}letter1827,60047 -{\chapternofonts%nofonts%1828,60113 - {\appendixletter}letter1830,60178 -\appendixnoderef %noderef1834,60312 -\outer\def\unnumberedsubsubsec{\unnumberedsubsubsec1838,60352 -\def\unnumberedsubsubseczzz #1{\unnumberedsubsubseczzz1839,60417 -{\chapternofonts%nofonts%1841,60524 -\def\infotop{\infotop1851,60853 -\def\infounnumbered{\infounnumbered1852,60891 -\def\infounnumberedsec{\infounnumberedsec1853,60936 -\def\infounnumberedsubsec{\infounnumberedsubsec1854,60987 -\def\infounnumberedsubsubsec{\infounnumberedsubsubsec1855,61044 -\def\infoappendix{\infoappendix1857,61108 -\def\infoappendixsec{\infoappendixsec1858,61149 -\def\infoappendixsubsec{\infoappendixsubsec1859,61196 -\def\infoappendixsubsubsec{\infoappendixsubsubsec1860,61249 -\def\infochapter{\infochapter1862,61309 -\def\infosection{\infosection1863,61348 -\def\infosubsection{\infosubsection1864,61387 -\def\infosubsubsection{\infosubsubsection1865,61432 -\global\let\section = \numberedsec=1870,61669 -\global\let\subsection = \numberedsubsec=1871,61704 -\global\let\subsubsection = \numberedsubsubsec=1872,61745 -\def\majorheading{\majorheading1886,62252 -\def\majorheadingzzz #1{\majorheadingzzz1887,62297 -\def\chapheading{\chapheading1893,62530 -\def\chapheadingzzz #1{\chapheadingzzz1894,62573 -\def\heading{\heading1899,62768 -\def\subheading{\subheading1901,62805 -\def\subsubheading{\subsubheading1903,62848 -\def\dobreak#1#2{\dobreak1910,63125 -\def\setchapterstyle #1 {\setchapterstyle1912,63203 -\def\chapbreak{\chapbreak1919,63458 -\def\chappager{\chappager1920,63508 -\def\chapoddpage{\chapoddpage1921,63546 -\def\setchapternewpage #1 {\setchapternewpage1923,63625 -\def\CHAPPAGoff{\CHAPPAGoff1925,63682 -\def\CHAPPAGon{\CHAPPAGon1929,63776 -\global\def\HEADINGSon{\HEADINGSon1932,63867 -\def\CHAPPAGodd{\CHAPPAGodd1934,63909 -\global\def\HEADINGSon{\HEADINGSon1937,64005 -\def\CHAPFplain{\CHAPFplain1941,64059 -\def\chfplain #1#2{\chfplain1945,64151 -\def\unnchfplain #1{\unnchfplain1956,64374 -\def\unnchfopen #1{\unnchfopen1964,64603 -\def\chfopen #1#2{\chfopen1970,64811 -\def\CHAPFopen{\CHAPFopen1975,64955 -\def\subsecheadingbreak{\subsecheadingbreak1982,65173 -\def\secheadingbreak{\secheadingbreak1985,65302 -\def\secheading #1#2#3{\secheading1993,65584 -\def\plainsecheading #1{\plainsecheading1994,65640 -\def\secheadingi #1{\secheadingi1995,65683 -\def\subsecheading #1#2#3#4{\subsecheading2006,66051 -\def\subsecheadingi #1{\subsecheadingi2007,66118 -\def\subsubsecfonts{\subsubsecfonts2014,66415 -\def\subsubsecheading #1#2#3#4#5{\subsubsecheading2017,66538 -\def\subsubsecheadingi #1{\subsubsecheadingi2018,66616 -\def\startcontents#1{\startcontents2032,67088 - \unnumbchapmacro{#1}\def\thischapter{\thischapter2040,67361 -\outer\def\contents{\contents2049,67720 -\outer\def\summarycontents{\summarycontents2057,67864 - \def\secentry ##1##2##3##4{\secentry2067,68235 - \def\unnumbsecentry ##1##2{\unnumbsecentry2068,68270 - \def\subsecentry ##1##2##3##4##5{\subsecentry2069,68305 - \def\unnumbsubsecentry ##1##2{\unnumbsubsecentry2070,68346 - \def\subsubsecentry ##1##2##3##4##5##6{\subsubsecentry2071,68384 - \def\unnumbsubsubsecentry ##1##2{\unnumbsubsubsecentry2072,68431 -\def\chapentry#1#2#3{\chapentry2085,68865 -\def\shortchapentry#1#2#3{\shortchapentry2088,68982 - {#2\labelspace #1}space2091,69092 -\def\unnumbchapentry#1#2{\unnumbchapentry2094,69146 -\def\shortunnumberedentry#1#2{\shortunnumberedentry2095,69193 -\def\secentry#1#2#3#4{\secentry2102,69357 -\def\unnumbsecentry#1#2{\unnumbsecentry2103,69416 -\def\subsecentry#1#2#3#4#5{\subsecentry2106,69477 -\def\unnumbsubsecentry#1#2{\unnumbsubsecentry2107,69547 -\def\subsubsecentry#1#2#3#4#5#6{\subsubsecentry2110,69621 - \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}space2111,69655 -\def\unnumbsubsubsecentry#1#2{\unnumbsubsubsecentry2112,69706 -\def\dochapentry#1#2{\dochapentry2123,70080 -\def\dosecentry#1#2{\dosecentry2138,70685 -\def\dosubsecentry#1#2{\dosubsecentry2145,70863 -\def\dosubsubsecentry#1#2{\dosubsubsecentry2152,71048 -\def\labelspace{\labelspace2160,71299 -\def\dopageno#1{\dopageno2162,71334 -\def\doshortpageno#1{\doshortpageno2163,71360 -\def\chapentryfonts{\chapentryfonts2165,71392 -\def\secentryfonts{\secentryfonts2166,71427 -\def\point{\point2192,72386 -\def\result{\result2194,72407 -\def\expansion{\expansion2195,72480 -\def\print{\print2196,72551 -\def\equiv{\equiv2198,72618 -\def\error{\error2218,73391 -\def\tex{\tex2224,73620 -\def\@{\@2242,74003 -\gdef\sepspaces{\def {\ }}}\2265,74735 -\def\aboveenvbreak{\aboveenvbreak2268,74817 -\def\afterenvbreak{\afterenvbreak2272,74983 -\def\ctl{\ctl2286,75494 -\def\ctr{\ctr2287,75566 -\def\cbl{\cbl2288,75605 -\def\cbr{\cbr2289,75645 -\def\carttop{\carttop2290,75684 -\def\cartbot{\cartbot2293,75792 -\long\def\cartouche{\cartouche2299,75932 -\def\Ecartouche{\Ecartouche2326,76720 -\def\lisp{\lisp2338,76855 -\def\Elisp{\Elisp2348,77202 -\def\next##1{\next2360,77528 -\def\Eexample{\Eexample2364,77570 -\def\Esmallexample{\Esmallexample2367,77617 -\def\smalllispx{\smalllispx2373,77795 -\def\Esmalllisp{\Esmalllisp2383,78149 -\obeyspaces \obeylines \ninett \indexfonts \rawbackslashfonts2396,78505 -\def\next##1{\next2397,78562 -\def\display{\display2401,78642 -\def\Edisplay{\Edisplay2410,78961 -\def\next##1{\next2422,79272 -\def\format{\format2426,79375 -\def\Eformat{\Eformat2434,79671 -\def\next##1{\next2437,79760 -\def\flushleft{\flushleft2441,79812 -\def\Eflushleft{\Eflushleft2451,80183 -\def\next##1{\next2454,80276 -\def\flushright{\flushright2456,80298 -\def\Eflushright{\Eflushright2466,80670 -\def\next##1{\next2470,80801 -\def\quotation{\quotation2474,80859 -\def\Equotation{\Equotation2480,81051 -\def\setdeffont #1 {\setdeffont2493,81449 -\newskip\defbodyindent \defbodyindent=.4inbodyindent2495,81495 -\newskip\defargsindent \defargsindent=50ptargsindent2496,81538 -\newskip\deftypemargin \deftypemargin=12pttypemargin2497,81581 -\newskip\deflastargmargin \deflastargmargin=18ptlastargmargin2498,81624 -\def\activeparens{\activeparens2503,81822 -\def\opnr{\opnr2529,83034 -\def\lbrb{\lbrb2530,83099 -\def\defname #1#2{\defname2536,83300 -\advance\dimen2 by -\defbodyindentbodyindent2540,83418 -\advance\dimen3 by -\defbodyindentbodyindent2542,83472 -\setbox0=\hbox{\hskip \deflastargmargin{lastargmargin2544,83526 -\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuationsargsindent2546,83668 -\parshape 2 0in \dimen0 \defargsindent \dimen1 %argsindent2547,83743 -\rlap{\rightline{{\rm #2}\hskip \deftypemargin}typemargin2554,84112 -\advance\leftskip by -\defbodyindentbodyindent2557,84246 -\exdentamount=\defbodyindentbodyindent2558,84283 -\def\defparsebody #1#2#3{\defparsebody2568,84642 -\def#1{2572,84826 -\def#2{2573,84862 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2575,84934 -\exdentamount=\defbodyindentbodyindent2576,85008 -\def\defmethparsebody #1#2#3#4 {\defmethparsebody2581,85112 -\def#1{2585,85273 -\def#2##1 {2586,85309 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2588,85392 -\exdentamount=\defbodyindentbodyindent2589,85466 -\def\defopparsebody #1#2#3#4#5 {\defopparsebody2592,85551 -\def#1{2596,85712 -\def#2##1 ##2 {2597,85748 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2600,85848 -\exdentamount=\defbodyindentbodyindent2601,85922 -\def\defvarparsebody #1#2#3{\defvarparsebody2608,86193 -\def#1{2612,86380 -\def#2{2613,86416 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2615,86475 -\exdentamount=\defbodyindentbodyindent2616,86549 -\def\defvrparsebody #1#2#3#4 {\defvrparsebody2621,86640 -\def#1{2625,86799 -\def#2##1 {2626,86835 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2628,86905 -\exdentamount=\defbodyindentbodyindent2629,86979 -\def\defopvarparsebody #1#2#3#4#5 {\defopvarparsebody2632,87051 -\def#1{2636,87215 -\def#2##1 ##2 {2637,87251 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2640,87338 -\exdentamount=\defbodyindentbodyindent2641,87412 -\def\defunargs #1{\defunargs2664,88172 -\def\deftypefunargs #1{\deftypefunargs2676,88554 -\def\deffn{\deffn2690,88936 -\def\deffnheader #1#2#3{\deffnheader2692,88993 -\begingroup\defname {name2693,89041 -\def\defun{\defun2699,89186 -\def\defunheader #1#2{\defunheader2701,89239 -\begingroup\defname {name2702,89314 -\defunargs {unargs2703,89350 -\def\deftypefun{\deftypefun2709,89498 -\def\deftypefunheader #1#2{\deftypefunheader2712,89620 -\def\deftypefunheaderx #1#2 #3\relax{\deftypefunheaderx2714,89729 -\begingroup\defname {name2716,89821 -\deftypefunargs {typefunargs2717,89867 -\def\deftypefn{\deftypefn2723,90038 -\def\deftypefnheader #1#2#3{\deftypefnheader2726,90187 -\def\deftypefnheaderx #1#2#3 #4\relax{\deftypefnheaderx2728,90323 -\begingroup\defname {name2730,90416 -\deftypefunargs {typefunargs2731,90456 -\def\defmac{\defmac2737,90577 -\def\defmacheader #1#2{\defmacheader2739,90634 -\begingroup\defname {name2740,90710 -\defunargs {unargs2741,90743 -\def\defspec{\defspec2747,90867 -\def\defspecheader #1#2{\defspecheader2749,90928 -\begingroup\defname {name2750,91005 -\defunargs {unargs2751,91045 -\def\deffnx #1 {\deffnx2758,91240 -\def\defunx #1 {\defunx2759,91297 -\def\defmacx #1 {\defmacx2760,91354 -\def\defspecx #1 {\defspecx2761,91413 -\def\deftypefnx #1 {\deftypefnx2762,91474 -\def\deftypeunx #1 {\deftypeunx2763,91539 -\def\defop #1 {\defop2769,91685 -\defopparsebody\Edefop\defopx\defopheader\defoptype}opparsebody\Edefop\defopx\defopheader\defoptype2770,91720 -\def\defopheader #1#2#3{\defopheader2772,91774 -\begingroup\defname {name2774,91863 -\defunargs {unargs2775,91909 -\def\defmethod{\defmethod2780,91970 -\def\defmethodheader #1#2#3{\defmethodheader2782,92043 -\begingroup\defname {name2784,92131 -\defunargs {unargs2785,92171 -\def\defcv #1 {\defcv2790,92245 -\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}opvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype2791,92280 -\def\defcvarheader #1#2#3{\defcvarheader2793,92339 -\begingroup\defname {name2795,92425 -\defvarargs {varargs2796,92471 -\def\defivar{\defivar2801,92544 -\def\defivarheader #1#2#3{\defivarheader2803,92607 -\begingroup\defname {name2805,92693 -\defvarargs {varargs2806,92744 -\def\defopx #1 {\defopx2812,92893 -\def\defmethodx #1 {\defmethodx2813,92950 -\def\defcvx #1 {\defcvx2814,93015 -\def\defivarx #1 {\defivarx2815,93072 -\def\defvarargs #1{\defvarargs2822,93343 -\def\defvr{\defvr2828,93487 -\def\defvrheader #1#2#3{\defvrheader2830,93542 -\begingroup\defname {name2831,93590 -\def\defvar{\defvar2835,93675 -\def\defvarheader #1#2{\defvarheader2837,93735 -\begingroup\defname {name2838,93806 -\defvarargs {varargs2839,93842 -\def\defopt{\defopt2844,93908 -\def\defoptheader #1#2{\defoptheader2846,93968 -\begingroup\defname {name2847,94039 -\defvarargs {varargs2848,94078 -\def\deftypevar{\deftypevar2853,94135 -\def\deftypevarheader #1#2{\deftypevarheader2856,94251 -\begingroup\defname {name2858,94334 -\def\deftypevr{\deftypevr2865,94508 -\def\deftypevrheader #1#2#3{\deftypevrheader2867,94579 -\begingroup\defname {name2868,94631 -\def\defvrx #1 {\defvrx2876,94868 -\def\defvarx #1 {\defvarx2877,94925 -\def\defoptx #1 {\defoptx2878,94984 -\def\deftypevarx #1 {\deftypevarx2879,95043 -\def\deftypevrx #1 {\deftypevrx2880,95110 -\def\deftpargs #1{\deftpargs2885,95259 -\def\deftp{\deftp2889,95339 -\def\deftpheader #1#2#3{\deftpheader2891,95394 -\begingroup\defname {name2892,95442 -\def\deftpx #1 {\deftpx2897,95601 -\def\setref#1{\setref2908,95922 -\def\unnumbsetref#1{\unnumbsetref2913,96036 -\def\appendixsetref#1{\appendixsetref2918,96143 -\def\pxref#1{\pxref2929,96554 -\def\xref#1{\xref2930,96590 -\def\ref#1{\ref2931,96625 -\def\xrefX[#1,#2,#3,#4,#5,#6]{\xrefX[2932,96655 -\def\printedmanual{\printedmanual2933,96698 -\def\printednodename{\printednodename2934,96736 -\def\printednodename{\printednodename2939,96861 -section ``\printednodename'' in \cite{\printedmanual}\printedmanual2954,97493 -\refx{x2957,97571 -\def\dosetq #1#2{\dosetq2965,97791 -\def\internalsetq #1#2{\internalsetq2973,98049 -\def\Ypagenumber{\Ypagenumber2977,98150 -\def\Ytitle{\Ytitle2979,98176 -\def\Ynothing{\Ynothing2981,98203 -\def\Ysectionnumberandtype{\Ysectionnumberandtype2983,98220 -\def\Yappendixletterandtype{\Yappendixletterandtype2992,98536 -\ifnum\secno=0 Appendix\xreftie'char\the\appendixno{no2993,98566 -\else \ifnum \subsecno=0 Section\xreftie'char\the\appendixno.\the\secno %no.\the\secno2994,98621 -Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno %no.\the\secno.\the\subsecno2996,98725 -Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %no.\the\secno.\the\subsecno.\the\subsubsecno2998,98796 - \def\linenumber{\linenumber3009,99135 -\def\refx#1#2{\refx3015,99319 -\def\xrdef #1#2{\xrdef3037,99945 -\def\readauxfile{\readauxfile3040,100030 -\def\supereject{\supereject3110,101811 -\footstrut\parindent=\defaultparindent\hang\textindent{aultparindent\hang\textindent3131,102496 -\def\openindices{\openindices3139,102682 -\newdimen\defaultparindent \defaultparindent = 15ptaultparindent3151,102907 -\parindent = \defaultparindentaultparindent3152,102959 -\def\smallbook{\smallbook3175,103683 -\global\def\Esmallexample{\Esmallexample3192,104110 -\def\afourpaper{\afourpaper3196,104201 -\def\finalout{\finalout3224,105009 -\def\normaldoublequote{\normaldoublequote3235,105270 -\def\normaltilde{\normaltilde3236,105296 -\def\normalcaret{\normalcaret3237,105316 -\def\normalunderscore{\normalunderscore3238,105336 -\def\normalverticalbar{\normalverticalbar3239,105361 -\def\normalless{\normalless3240,105387 -\def\normalgreater{\normalgreater3241,105406 -\def\normalplus{\normalplus3242,105428 -\def\ifusingtt#1#2{\ifusingtt3253,105920 -\def\activedoublequote{\activedoublequote3261,106248 -\def~{~3264,106334 -\def^{^3267,106395 -\def_{_3270,106434 -\def\_{\_3272,106508 -\def\lvvmode{\lvvmode3279,106845 -\def|{|3282,106895 -\def<{<3285,106958 -\def>{>3288,107015 -\def+{+3290,107053 -\def\turnoffactive{\turnoffactive3296,107214 -\global\def={=3307,107500 -\def\normalbackslash{\normalbackslash3321,107882 - -merc-src/accumulator.m,4915 -:- interface146,5371 -:- import_module hlds148,5386 -:- import_module univ152,5478 -:- pred accu_transform_proc159,5793 -:- implementation166,6115 -:- import_module libs180,6552 -:- import_module mdbcomp184,6681 -:- import_module parse_tree186,6742 -:- import_module assoc_list194,7013 -:- import_module bool195,7042 -:- import_module int196,7065 -:- import_module io197,7087 -:- import_module list198,7108 -:- import_module map199,7131 -:- import_module maybe200,7153 -:- import_module pair201,7177 -:- import_module require202,7200 -:- import_module set203,7226 -:- import_module solutions204,7248 -:- import_module string205,7276 -:- import_module term206,7301 -:- import_module varset207,7324 -:- type top_level213,7499 -:- type accu_goal_id225,7900 -:- type accu_case228,7964 -:- type accu_goal_store234,8091 -:- type accu_subst238,8216 -:- type accu_warning240,8264 -accu_transform_proc247,8578 -:- pred generate_warnings334,12550 -generate_warnings337,12669 -:- pred generate_warning342,12895 -generate_warning345,13001 -:- pred should_attempt_accu_transform365,13886 -should_attempt_accu_transform370,14123 -:- pred should_attempt_accu_transform_2398,15406 -should_attempt_accu_transform_2405,15763 -:- pred accu_standardize440,17390 -accu_standardize442,17455 -:- pred identify_goal_type465,18169 -identify_goal_type469,18359 -:- pred is_recursive_case549,21175 -is_recursive_case551,21253 -:- type store_info560,21713 -:- func initialize_goal_store570,22060 -initialize_goal_store573,22166 -:- pred accu_store580,22421 -accu_store584,22576 -:- pred identify_recursive_calls601,23288 -identify_recursive_calls604,23406 -:- pred identify_out_and_out_prime626,24397 -identify_out_and_out_prime631,24632 -:- type accu_sets676,26426 -:- pred accu_stage1689,26978 -accu_stage1693,27156 -:- pred accu_stage1_2727,28348 -accu_stage1_2731,28516 -:- pred accu_sets_init781,30558 -accu_sets_init783,30606 -:- func set_upto796,30985 -set_upto798,31040 -:- pred accu_before812,31499 -accu_before815,31640 -:- pred accu_assoc835,32478 -accu_assoc838,32618 -:- pred accu_construct862,33713 -accu_construct865,33857 -:- pred accu_construct_assoc896,35308 -accu_construct_assoc899,35458 -:- pred accu_update938,37070 -accu_update941,37211 -:- pred member_lessthan_goalid964,38220 -member_lessthan_goalid967,38343 -:- type accu_assoc975,38653 -:- pred accu_is_associative986,39139 -accu_is_associative989,39251 -:- pred associativity_assertion1014,40264 -associativity_assertion1017,40405 -:- pred commutativity_assertion1037,41243 -commutativity_assertion1040,41370 -:- pred accu_is_update1057,41953 -accu_is_update1060,42067 -:- pred is_associative_construction1078,42803 -is_associative_construction1081,42899 -:- type accu_substs1095,43481 -:- type accu_base1103,43745 -:- pred accu_stage21124,44606 -accu_stage21131,44947 -:- pred accu_substs_init1179,46958 -accu_substs_init1182,47098 -:- pred acc_var_subst_init1194,47574 -acc_var_subst_init1198,47719 -:- pred create_new_var1207,48148 -create_new_var1210,48289 -:- pred accu_process_assoc_set1223,48863 -accu_process_assoc_set1229,49151 -:- pred accu_has_heuristic1297,52082 -accu_has_heuristic1299,52162 -:- pred accu_heuristic1304,52337 -accu_heuristic1307,52458 -:- pred accu_process_update_set1318,52907 -accu_process_update_set1325,53222 -:- pred accu_divide_base_case1380,55845 -accu_divide_base_case1385,56060 -:- pred accu_related1412,57147 -accu_related1415,57271 -:- inst stored_goal_plain_call1444,58416 -:- pred lookup_call1449,58602 -lookup_call1452,58716 -:- pred accu_stage31470,59433 -accu_stage31477,59827 -:- pred acc_proc_info1508,61327 -acc_proc_info1512,61486 -:- pred acc_pred_info1556,63450 -acc_pred_info1559,63598 -:- pred accu_create_goal1600,65286 -accu_create_goal1607,65629 -:- func create_acc_call1621,66401 -create_acc_call1625,66570 -:- pred create_orig_goal1634,66988 -create_orig_goal1638,67177 -:- pred create_acc_goal1662,68158 -create_acc_goal1667,68381 -:- func create_new_orig_recursive_goals1709,70226 -create_new_orig_recursive_goals1712,70369 -:- func create_new_recursive_goals1723,70919 -create_new_recursive_goals1727,71109 -:- func create_new_base_goals1738,71718 -create_new_base_goals1741,71832 -:- pred acc_unification1749,72157 -acc_unification1751,72226 -:- pred accu_top_level1766,72897 -accu_top_level1770,73059 -:- pred update_accumulator_pred1856,76291 -update_accumulator_pred1859,76412 -:- func accu_rename1876,77254 -accu_rename1879,77364 -:- func base_case_ids1889,77785 -base_case_ids1891,77847 -:- func base_case_ids_set1898,78049 -base_case_ids_set1900,78114 -:- func accu_goal_list1905,78270 -accu_goal_list1907,78350 -:- pred calculate_goal_info1916,78681 -calculate_goal_info1918,78754 -:- func chain_subst1932,79320 -chain_subst1934,79379 -:- pred chain_subst_21938,79483 -chain_subst_21941,79577 -:- some [T] pred unravel_univ1956,80061 -:- pragma foreign_export1957,80117 -unravel_univ1961,80341 - -c-src/c.c,76 -T f(1,0 -}T i;2,14 -void bar(5,69 -int foobar(6,94 -interface_locate(9,131 - -c.c,2280 -void (*fa)fa131, -void 132, -my_printf 135, -void fatala 138, -void fatalb 139, -max 141, -struct bar 143, - char z;144, - struct foo f;145, -__attribute__ ((always_inline)) max 147, -extern int old_var 149, -struct foo150, - char a;152, - int x[x153, -char stack[stack155, -struct S 156, -struct S { short f[f156, - int *__ip;__ip159, - union wait *__up;__up160, -} wait_status_ptr_t 161, -Some_Class A 162, -typedef T1 T3 163, -T3 z 164, -typedef int more_aligned_int 165, -struct S __attribute__ ((vector_size (16))) foo;166, -int foo 167, -char *__attribute__((aligned(8))) *f;f168, -int i 169, -extern void foobar 170, -typedef struct cacheLRUEntry_s172, - U16 next;174, - U16 prev;175, -__attribute__ ((packed)) cacheLRUEntry_t;177, -struct foo 178, - int x;179, - char a,180, - char a, b,180, - char a, b, c,180, - char a, b, c, d;180, - f1 183, -void f2 184, -__attribute__((noreturn)) void d0 185, - __attribute__((format(printf, 1, 2))) d1 186, - d2 187, -int x 188, -struct foo 189, -struct foo { int x[x189, -short array[array190, -int f193, -DEAFUN 196, -XDEFUN 203, -DEFUN ("x-get-selection-internal", Fx_get_selection_internal,206, -DEFUN ("x-get-selection-internal", Fx_get_selection_internal,x-get-selection-internal206, - Fx_get_selection_internal,212, - Fx_get_selection_internal,x-get-selection-internal212, - Fy_get_selection_internal,216, - Fy_get_selection_internal,y-get-selection-internal216, -defun_func1(218, -DEFUN_func2(220, -typedef int bool;222, -bool funcboo 223, -struct my_struct 226, -typedef struct my_struct my_typedef;228, -int bla 229, -a(234, -int func1237, -static struct cca_control init_control 239, -static tpcmd rbtp 240, -static byte ring1 241, -static byte ring2 242, -request request 243, -int func2 246, - aaa;249, - bbb;251, -struct sss1 252, -struct sss2253, - struct ss3255, -struct a b;259, -struct aa *b;b260, - **b;b262, -caccacacca 263, -a 267, - typedef struct aa 269, - typedef struct aa {} aaa;269, -static void inita 271, -node *lasta lasta272, -b 273, - typedef int bb;275, -static void initb 277, -node *lastb lastb278, -typedef enum { REG_ENOSYS 279, -typedef enum { REG_ENOSYS = -1, aa 279, -typedef enum { REG_ENOSYS = -1, aa } reg_errcode_t;279, - -c-src/a/b/b.c,18 -#define this 1,0 - -../c/c.web,20 -#define questo 34, - -y-src/parse.y,1061 -#define obstack_chunk_alloc 47,1124 -#define obstack_chunk_free 48,1162 -int yylex 58,1330 -void yyerror 60,1360 -void yyerror 62,1389 -VOIDSTAR parse_hash;64,1413 -extern VOIDSTAR hash_find(65,1434 -unsigned char fnin[fnin68,1532 -#define YYSTYPE 72,1630 -typedef struct node *YYSTYPE;YYSTYPE73,1661 -YYSTYPE parse_return;74,1691 -YYSTYPE make_list 76,1729 -YYSTYPE make_list 78,1773 -char *instr;instr81,1803 -int parse_error 82,1816 -extern struct obstack tmp_mem;83,1837 -line:line87,1875 -exp:exp95,1988 -exp_list:exp_list263,5655 -range_exp:range_exp269,5753 -range_exp_list:range_exp_list273,5783 -cell:cell279,5901 -yyerror FUN1(286,5948 -make_list FUN2(293,6028 -#define ERROR 304,6228 -extern struct node *yylval;yylval306,6246 -unsigned char parse_cell_or_range 309,6291 -unsigned char parse_cell_or_range 311,6355 -yylex FUN0(315,6405 -parse_cell_or_range FUN2(587,11772 -#define CK_ABS_R(671,13214 -#define CK_REL_R(675,13293 -#define CK_ABS_C(680,13422 -#define CK_REL_C(684,13501 -#define MAYBEREL(689,13630 -str_to_col FUN1(847,16831 - -y-src/parse.c,520 -#define YYBISON 4,64 -# define NE 6,114 -# define LE 7,130 -# define GE 8,146 -# define NEG 9,162 -# define L_CELL 10,179 -# define L_RANGE 11,199 -# define L_VAR 12,220 -# define L_CONST 13,239 -# define L_FN0 14,260 -# define L_FN1 15,279 -# define L_FN2 16,298 -# define L_FN3 17,317 -# define L_FN4 18,336 -# define L_FNN 19,355 -# define L_FN1R 20,374 -# define L_FN2R 21,394 -# define L_FN3R 22,414 -# define L_FN4R 23,434 -# define L_FNNR 24,454 -# define L_LE 25,474 -# define L_NE 26,492 -# define L_GE 27,510 - -/usr/share/bison/bison.simple,1787 -# define YYSTD(40, -# define YYSTD(42, -# define YYSTACK_ALLOC 50, -# define YYSIZE_T 51, -# define YYSTACK_ALLOC 55, -# define YYSIZE_T 56, -# define YYSTACK_ALLOC 59, -# define YYSTACK_FREE(67, -# define YYSIZE_T 71, -# define YYSIZE_T 75, -# define YYSTACK_ALLOC 78, -# define YYSTACK_FREE 79, -union yyalloc83, - short yyss;85, - YYSTYPE yyvs;86, - YYLTYPE yyls;88, -# define YYSTACK_GAP_MAX 93, -# define YYSTACK_BYTES(98, -# define YYSTACK_BYTES(102, -# define YYSTACK_RELOCATE(112, -# define YYSIZE_T 128, -# define YYSIZE_T 131, -# define YYSIZE_T 136, -# define YYSIZE_T 140, -# define YYSIZE_T 145, -#define yyerrok 148, -#define yyclearin 149, -#define YYEMPTY 150, -#define YYEOF 151, -#define YYACCEPT 152, -#define YYABORT 153, -#define YYERROR 154, -#define YYFAIL 158, -#define YYRECOVERING(159, -#define YYBACKUP(160, -#define YYTERROR 177, -#define YYERRCODE 178, -# define YYLLOC_DEFAULT(189, -# define YYLEX 200, -# define YYLEX 202, -# define YYLEX 206, -# define YYLEX 208, -# define YYLEX 212, -# define YYFPRINTF 225, -# define YYDPRINTF(228, -int yydebug;237, -# define YYDPRINTF(239, -# define YYINITDEPTH 244, -# undef YYMAXDEPTH255, -# define YYMAXDEPTH 259, -# define yymemcpy 264, -yymemcpy 271, -# define yystrlen 293, -yystrlen 298, -# define yystpcpy 316, -yystpcpy 322, -# define YYPARSE_PARAM_ARG 351, -# define YYPARSE_PARAM_DECL352, -# define YYPARSE_PARAM_ARG 354, -# define YYPARSE_PARAM_DECL 355, -# define YYPARSE_PARAM_ARG358, -# define YYPARSE_PARAM_DECL359, -int yyparse 365, -int yyparse 367, -#define YY_DECL_NON_LSP_VARIABLES 374, -# define YY_DECL_VARIABLES 385, -# define YY_DECL_VARIABLES 391, -yyparse 403, -# define YYPOPSTACK 445, -# define YYPOPSTACK 447, -# undef YYSTACK_RELOCATE548, - -y-src/atest.y,9 -exp 2,3 - -y-src/cccp.c,303 -#define YYBISON 4,63 -# define INT 6,113 -# define CHAR 7,130 -# define NAME 8,148 -# define ERROR 9,166 -# define OR 10,185 -# define AND 11,201 -# define EQUAL 12,218 -# define NOTEQUAL 13,237 -# define LEQ 14,259 -# define GEQ 15,276 -# define LSH 16,293 -# define RSH 17,310 -# define UNARY 18,327 - -/usr/share/bison/bison.simple,2238 -# define YYSTD(41, -# define YYSTD(43, -# define YYSTACK_ALLOC 51, -# define YYSIZE_T 52, -# define YYSTACK_ALLOC 56, -# define YYSIZE_T 57, -# define YYSTACK_ALLOC 60, -# define YYSTACK_FREE(68, -# define YYSIZE_T 72, -# define YYSIZE_T 76, -# define YYSTACK_ALLOC 79, -# define YYSTACK_FREE 80, -union yyalloc84, - short yyss;86, - YYSTYPE yyvs;87, - YYLTYPE yyls;89, -# define YYSTACK_GAP_MAX 94, -# define YYSTACK_BYTES(99, -# define YYSTACK_BYTES(103, -# define YYSTACK_RELOCATE(113, -# define YYSIZE_T 129, -# define YYSIZE_T 132, -# define YYSIZE_T 137, -# define YYSIZE_T 141, -# define YYSIZE_T 146, -#define yyerrok 149, -#define yyclearin 150, -#define YYEMPTY 151, -#define YYEOF 152, -#define YYACCEPT 153, -#define YYABORT 154, -#define YYERROR 155, -#define YYFAIL 159, -#define YYRECOVERING(160, -#define YYBACKUP(161, -#define YYTERROR 178, -#define YYERRCODE 179, -# define YYLLOC_DEFAULT(190, -# define YYLEX 201, -# define YYLEX 203, -# define YYLEX 207, -# define YYLEX 209, -# define YYLEX 213, -# define YYFPRINTF 226, -# define YYDPRINTF(229, -int yydebug;238, -# define YYDPRINTF(240, -# define YYINITDEPTH 245, -# undef YYMAXDEPTH256, -# define YYMAXDEPTH 260, -# define yymemcpy 265, -yymemcpy 272, -# define yystrlen 294, -yystrlen 299, -# define yystpcpy 317, -yystpcpy 323, -# define YYPARSE_PARAM_ARG 351, -# define YYPARSE_PARAM_DECL352, -# define YYPARSE_PARAM_ARG 354, -# define YYPARSE_PARAM_DECL 355, -# define YYPARSE_PARAM_ARG358, -# define YYPARSE_PARAM_DECL359, -int yyparse 365, -int yyparse 367, -#define YY_DECL_NON_LSP_VARIABLES 374, -# define YY_DECL_VARIABLES 385, -# define YY_DECL_VARIABLES 391, -yyparse 403, -# define YYPOPSTACK 445, -# define YYPOPSTACK 447, -# undef YYSTACK_RELOCATE548, - *++yyvsp yyvsp746, - *++yylsp yylsp748, - yyn 755, - yystate 757, - yystate 761, - goto yynewstate;763, - goto yyerrlab1;823, - yyerrstatus 846, - goto yyerrhandle;848, - yyn 861, - yystate 875, - yyn 895, - yyn 903, - YYDPRINTF 917, - *++yyvsp yyvsp919, - *++yylsp yylsp921, - yystate 924, - goto yynewstate;925, - yyresult 932, - goto yyreturn;933, - yyresult 939, - goto yyreturn;940, - yyerror 946, - yyresult 947, - -y-src/cccp.y,2171 -typedef unsigned char U_CHAR;38,1201 -struct arglist 41,1301 - struct arglist *next;next42,1318 - U_CHAR *name;name43,1342 - int length;44,1358 - int argno;45,1372 -#define NULL 51,1468 -#define GENERIC_PTR 56,1578 -#define GENERIC_PTR 58,1611 -#define NULL_PTR 63,1670 -int yylex 66,1712 -void yyerror 67,1726 -int expression_value;68,1743 -static jmp_buf parse_return_error;70,1766 -static int keyword_parsing 73,1865 -extern unsigned char is_idstart[is_idstart76,1944 -extern unsigned char is_idstart[], is_idchar[is_idchar76,1944 -extern unsigned char is_idstart[], is_idchar[], is_hor_space[is_hor_space76,1944 -extern char *xmalloc xmalloc78,2009 -extern int pedantic;81,2062 -extern int traditional;84,2114 -#define CHAR_TYPE_SIZE 87,2162 -#define INT_TYPE_SIZE 91,2229 -#define LONG_TYPE_SIZE 95,2296 -#define WCHAR_TYPE_SIZE 99,2365 -#define possible_sum_sign(104,2556 -static void integer_overflow 106,2632 -static long left_shift 107,2665 -static long right_shift 108,2692 - struct constant 112,2733 - struct constant {long value;112,2733 - struct constant {long value; int unsignedp;112,2733 - struct constant {long value; int unsignedp;} integer;112,2733 - struct name 113,2789 - struct name {U_CHAR *address;address113,2789 - struct name {U_CHAR *address; int length;113,2789 - struct name {U_CHAR *address; int length;} name;113,2789 - struct arglist *keywords;keywords114,2840 - int voidval;115,2868 - char *sval;sval116,2883 -start 143,3226 -exp1 148,3330 -exp 156,3505 -exp 185,4295 -keywords 306,7835 -static char *lexptr;lexptr332,8579 -parse_number 341,8842 -struct token 437,11038 - char *operator;operator438,11053 - int token;439,11071 -static struct token tokentab2[tokentab2442,11088 -yylex 459,11367 -parse_escape 740,17718 -yyerror 836,19599 -integer_overflow 844,19690 -left_shift 851,19804 -right_shift 873,20194 -parse_c_expression 893,20732 -extern int yydebug;919,21416 -main 923,21483 -unsigned char is_idchar[is_idchar948,21901 -unsigned char is_idstart[is_idstart950,21996 -char is_hor_space[is_hor_space953,22160 -initialize_random_junk 958,22259 -error 988,22915 -warning 993,22963 -lookup 999,23033 - -tex-src/nonewline.tex,0 - -php-src/sendmail.php,0 - -a-src/empty.zz,0 diff --git a/test/manual/etags/ETAGS.good_6 b/test/manual/etags/ETAGS.good_6 deleted file mode 100644 index 09abde35c51..00000000000 --- a/test/manual/etags/ETAGS.good_6 +++ /dev/null @@ -1,5613 +0,0 @@ - -ada-src/etags-test-for.ada,1969 - type LL_Task_Procedure_Access LL_Task_Procedure_Access/t1,0 - function Body_RequiredBody_Required/f3,78 - type Type_Specific_Data Type_Specific_Data/t11,280 - function "abs"abs/f19,504 - type Barrier_Function_Pointer Barrier_Function_Pointer/t21,577 - function "="=/f27,722 - type usfreelock_ptr usfreelock_ptr/t30,803 - function p p/f33,891 - procedure LL_Wrapper LL_Wrapper/p37,1054 -function p p/f39,1094 -package Pkg1 Pkg1/s44,1203 - type Private_T Private_T/t46,1220 - package Inner1 Inner1/s48,1250 - procedure Private_T;Private_T/p49,1270 - package Inner2 Inner2/s52,1310 - task Private_T;Private_T/k53,1330 - type Public_T Public_T/t56,1365 - procedure Pkg1_Proc1;Pkg1_Proc1/p62,1450 - procedure Pkg1_Proc2 Pkg1_Proc2/p64,1475 - function Pkg1_Func1 Pkg1_Func1/f66,1514 - function Pkg1_Func2 Pkg1_Func2/f68,1553 - package Pkg1_Pkg1 Pkg1_Pkg1/s71,1622 - procedure Pkg1_Pkg1_Proc1;Pkg1_Pkg1_Proc1/p72,1645 - task type Task_Type Task_Type/k75,1694 - type Private_T Private_T/t82,1786 -package body Pkg1 Pkg1/b89,1882 - procedure Pkg1_Proc1 Pkg1_Proc1/p91,1904 - package body Inner1 Inner1/b96,1956 - procedure Private_T Private_T/p97,1981 - package body Inner2 Inner2/b103,2054 - task body Private_T Private_T/b104,2079 - task body Task_Type Task_Type/b112,2181 - procedure Pkg1_Proc2 Pkg1_Proc2/p126,2367 - function Pkg1_Func1 Pkg1_Func1/f132,2445 - function Pkg1_Func2 Pkg1_Func2/f134,2496 - package body Pkg1_Pkg1 Pkg1_Pkg1/b140,2596 -package body Pkg1_Pkg1 Pkg1_Pkg1/b146,2663 - procedure Pkg1_Pkg1_Proc1 Pkg1_Pkg1_Proc1/p147,2689 -function Pkg1_Func1 Pkg1_Func1/f155,2778 -package Truc Truc/s162,2887 -package Truc.Bidule Truc.Bidule/s166,2929 - protected Bidule Bidule/t168,2953 - protected type Machin_T Machin_T/t172,3007 -package body Truc.Bidule Truc.Bidule/b178,3087 - protected body Bidule Bidule/b179,3115 - protected Machin_T Machin_T/t186,3207 - -ada-src/2ataspri.adb,2190 -package body System.Task_Primitives System.Task_Primitives/b64,2603 - package RTE RTE/s69,2712 - package TSL TSL/s70,2759 - function To_void_ptr To_void_ptr/f86,3287 - function To_TCB_Ptr To_TCB_Ptr/f89,3366 - function pthread_mutexattr_setprotocolpthread_mutexattr_setprotocol/f92,3444 - function pthread_mutexattr_setprio_ceilingpthread_mutexattr_setprio_ceiling/f99,3728 - procedure Abort_WrapperAbort_Wrapper/p115,4302 - procedure LL_Wrapper LL_Wrapper/p122,4526 - procedure Initialize_LL_Tasks Initialize_LL_Tasks/p131,4830 - function Self Self/f160,5586 - procedure Initialize_LockInitialize_Lock/p174,5958 - procedure Finalize_Lock Finalize_Lock/p210,6927 - procedure Write_Lock Write_Lock/p226,7338 - procedure Read_Lock Read_Lock/p239,7700 - procedure Unlock Unlock/p246,7850 - procedure Initialize_Cond Initialize_Cond/p258,8160 - procedure Finalize_Cond Finalize_Cond/p286,8979 - procedure Cond_Wait Cond_Wait/p300,9303 - procedure Cond_Timed_WaitCond_Timed_Wait/p312,9661 - procedure Cond_Signal Cond_Signal/p343,10510 - procedure Set_PrioritySet_Priority/p355,10836 - procedure Set_Own_Priority Set_Own_Priority/p372,11243 - function Get_Priority Get_Priority/f385,11598 - function Get_Own_Priority Get_Own_Priority/f398,12023 - procedure Create_LL_TaskCreate_LL_Task/p412,12438 - function To_Start_Addr To_Start_Addr/f426,12873 - procedure Exit_LL_Task Exit_LL_Task/p491,14995 - procedure Abort_Task Abort_Task/p500,15158 - procedure Test_Abort Test_Abort/p518,15716 - procedure Install_Abort_Handler Install_Abort_Handler/p527,15878 - procedure Abort_WrapperAbort_Wrapper/p557,16939 - function Address_To_Call_State Address_To_Call_State/f562,17062 - procedure Install_Error_Handler Install_Error_Handler/p573,17351 - procedure LL_Assert LL_Assert/p599,18146 - procedure LL_Wrapper LL_Wrapper/p608,18299 - procedure Initialize_TAS_Cell Initialize_TAS_Cell/p630,19010 - procedure Finalize_TAS_Cell Finalize_TAS_Cell/p635,19129 - procedure Clear Clear/p640,19236 - procedure Test_And_Set Test_And_Set/p645,19330 - function Is_Set Is_Set/f659,19676 - -ada-src/2ataspri.ads,2313 -package System.Task_Primitives System.Task_Primitives/s58,3169 - type LL_Task_Procedure_Access LL_Task_Procedure_Access/t62,3253 - type Pre_Call_State Pre_Call_State/t64,3331 - type Task_Storage_Size Task_Storage_Size/t66,3378 - type Machine_Exceptions Machine_Exceptions/t68,3433 - type Error_Information Error_Information/t70,3499 - type Lock Lock/t72,3569 - type Condition_Variable Condition_Variable/t73,3594 - type Task_Control_Block Task_Control_Block/t81,3955 - type TCB_Ptr TCB_Ptr/t89,4241 - function Address_To_TCB_Ptr Address_To_TCB_Ptr/f93,4333 - procedure Initialize_LL_Tasks Initialize_LL_Tasks/p96,4425 - function Self Self/f100,4602 - procedure Initialize_Lock Initialize_Lock/p103,4707 - procedure Finalize_Lock Finalize_Lock/p107,4879 - procedure Write_Lock Write_Lock/p111,5034 - procedure Read_Lock Read_Lock/p118,5428 - procedure Unlock Unlock/p128,5995 - procedure Initialize_Cond Initialize_Cond/p135,6300 - procedure Finalize_Cond Finalize_Cond/p138,6413 - procedure Cond_Wait Cond_Wait/p142,6591 - procedure Cond_Timed_WaitCond_Timed_Wait/p155,7396 - procedure Cond_Signal Cond_Signal/p164,7812 - procedure Set_Priority Set_Priority/p169,8040 - procedure Set_Own_Priority Set_Own_Priority/p173,8200 - function Get_Priority Get_Priority/f177,8348 - function Get_Own_Priority Get_Own_Priority/f181,8504 - procedure Create_LL_TaskCreate_LL_Task/p185,8647 - procedure Exit_LL_Task;Exit_LL_Task/p198,9282 - procedure Abort_Task Abort_Task/p203,9516 - procedure Test_Abort;Test_Abort/p210,9878 - type Abort_Handler_Pointer Abort_Handler_Pointer/t217,10233 - procedure Install_Abort_Handler Install_Abort_Handler/p219,10312 - procedure Install_Error_Handler Install_Error_Handler/p226,10741 - procedure LL_Assert LL_Assert/p231,10983 - type Proc Proc/t238,11240 - type TAS_Cell TAS_Cell/t242,11328 - procedure Initialize_TAS_Cell Initialize_TAS_Cell/p249,11670 - procedure Finalize_TAS_Cell Finalize_TAS_Cell/p255,11941 - procedure Clear Clear/p260,12157 - procedure Test_And_Set Test_And_Set/p267,12462 - function Is_Set Is_Set/f275,12877 - type Lock Lock/t283,13155 - type Condition_Variable Condition_Variable/t288,13267 - type TAS_Cell TAS_Cell/t293,13389 - -ada-src/waroquiers.ada,1503 -package Pkg1 Pkg1/s3,89 - type Private_T Private_T/t5,106 - package Inner1 Inner1/s7,136 - procedure Private_T;Private_T/p8,156 - package Inner2 Inner2/s11,196 - task Private_T;Private_T/k12,216 - type Public_T Public_T/t15,251 - procedure Pkg1_Proc1;Pkg1_Proc1/p21,336 - procedure Pkg1_Proc2 Pkg1_Proc2/p23,361 - function Pkg1_Func1 Pkg1_Func1/f25,400 - function Pkg1_Func2 Pkg1_Func2/f27,439 - package Pkg1_Pkg1 Pkg1_Pkg1/s30,508 - procedure Pkg1_Pkg1_Proc1;Pkg1_Pkg1_Proc1/p31,531 - task type Task_Type Task_Type/k34,580 - type Private_T Private_T/t40,671 -package body Pkg1 Pkg1/b46,766 - procedure Pkg1_Proc1 Pkg1_Proc1/p48,788 - package body Inner1 Inner1/b53,840 - procedure Private_T Private_T/p54,865 - package body Inner2 Inner2/b60,938 - task body Private_T Private_T/b61,963 - task body Task_Type Task_Type/b68,1064 - procedure Pkg1_Proc2 Pkg1_Proc2/p82,1250 - function Pkg1_Func1 Pkg1_Func1/f88,1328 - function Pkg1_Func2 Pkg1_Func2/f90,1379 - package body Pkg1_Pkg1 Pkg1_Pkg1/b96,1479 -package body Pkg1_Pkg1 Pkg1_Pkg1/b100,1544 - procedure Pkg1_Pkg1_Proc1 Pkg1_Pkg1_Proc1/p101,1570 -function Pkg1_Func1 Pkg1_Func1/f107,1657 -package Truc Truc/s112,1764 -package Truc.Bidule Truc.Bidule/s116,1816 - protected Bidule Bidule/t125,1964 - protected type Machin_T Machin_T/t131,2046 -package body Truc.Bidule Truc.Bidule/b138,2153 - protected body Bidule Bidule/b139,2181 - protected body Machin_T Machin_T/b146,2281 - -c-src/abbrev.c,3055 -Lisp_Object Vabbrev_table_name_list;43,1429 -Lisp_Object Vglobal_abbrev_table;48,1574 -Lisp_Object Vfundamental_mode_abbrev_table;52,1685 -int abbrevs_changed;56,1786 -int abbrev_all_caps;58,1808 -Lisp_Object Vabbrev_start_location;63,1957 -Lisp_Object Vabbrev_start_location_buffer;66,2046 -Lisp_Object Vlast_abbrev;70,2155 -Lisp_Object Vlast_abbrev_text;75,2324 -int last_abbrev_point;79,2414 -DEFUN ("make-abbrev-table", Fmake_abbrev_table,82,2440 -DEFUN ("make-abbrev-table", Fmake_abbrev_table,make-abbrev-table82,2440 -DEFUN ("clear-abbrev-table", Fclear_abbrev_table,89,2632 -DEFUN ("clear-abbrev-table", Fclear_abbrev_table,clear-abbrev-table89,2632 -DEFUN ("define-abbrev", Fdefine_abbrev,104,3013 -DEFUN ("define-abbrev", Fdefine_abbrev,define-abbrev104,3013 -DEFUN ("define-global-abbrev", Fdefine_global_abbrev,146,4332 -DEFUN ("define-global-abbrev", Fdefine_global_abbrev,define-global-abbrev146,4332 -DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,157,4703 -DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev,define-mode-abbrev157,4703 -DEFUN ("abbrev-symbol", Fabbrev_symbol,171,5171 -DEFUN ("abbrev-symbol", Fabbrev_symbol,abbrev-symbol171,5171 -DEFUN ("abbrev-expansion", Fabbrev_expansion,199,6135 -DEFUN ("abbrev-expansion", Fabbrev_expansion,abbrev-expansion199,6135 -DEFUN ("expand-abbrev", Fexpand_abbrev,215,6650 -DEFUN ("expand-abbrev", Fexpand_abbrev,expand-abbrev215,6650 -DEFUN ("unexpand-abbrev", Funexpand_abbrev,383,11495 -DEFUN ("unexpand-abbrev", Funexpand_abbrev,unexpand-abbrev383,11495 -write_abbrev 420,12702 -describe_abbrev 439,13137 -DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,460,13652 -DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description,insert-abbrev-table-description460,13652 -DEFUN ("define-abbrev-table", Fdefine_abbrev_table,500,14808 -DEFUN ("define-abbrev-table", Fdefine_abbrev_table,define-abbrev-table500,14808 -syms_of_abbrev 534,15885 - DEFVAR_LISP ("abbrev-table-name-list"536,15905 - DEFVAR_LISP ("global-abbrev-table"542,16167 - DEFVAR_LISP ("fundamental-mode-abbrev-table"549,16489 - DEFVAR_LISP ("last-abbrev"555,16831 - DEFVAR_LISP ("last-abbrev-text"558,16954 - DEFVAR_INT ("last-abbrev-location"562,17112 - DEFVAR_LISP ("abbrev-start-location"569,17311 - DEFVAR_LISP ("abbrev-start-location-buffer"575,17588 - DEFVAR_PER_BUFFER ("local-abbrev-table"580,17852 - DEFVAR_BOOL ("abbrevs-changed"583,17995 - DEFVAR_BOOL ("abbrev-all-caps"588,18198 - DEFVAR_LISP ("abbrev-table-name-list",\1536,15905 - DEFVAR_LISP ("global-abbrev-table",\1542,16167 - DEFVAR_LISP ("fundamental-mode-abbrev-table",\1549,16489 - DEFVAR_LISP ("last-abbrev",\1555,16831 - DEFVAR_LISP ("last-abbrev-text",\1558,16954 - DEFVAR_INT ("last-abbrev-location",\1562,17112 - DEFVAR_LISP ("abbrev-start-location",\1569,17311 - DEFVAR_LISP ("abbrev-start-location-buffer",\1575,17588 - DEFVAR_PER_BUFFER ("local-abbrev-table",\1580,17852 - DEFVAR_BOOL ("abbrevs-changed",\1583,17995 - DEFVAR_BOOL ("abbrev-all-caps",\1588,18198 - -c-src/torture.c,197 -(*tag1 tag118,452 -#define notag2 26,553 -(*tag2 tag229,630 -(*tag3 tag339,772 -#define notag4 45,861 -(*tag4 tag448,955 -tag5 57,1081 -tag6 66,1208 -int pp1(74,1317 -pp287,1419 -pp3(100,1518 - -c-src/getopt.h,666 -#define _GETOPT_H 19,799 -extern char *optarg;optarg31,1107 -extern int optind;45,1615 -extern int opterr;50,1741 -struct option73,2795 - const char *name;name76,2824 - char *name;name78,2850 - int has_arg;82,3007 - int *flag;flag83,3022 - int val;84,3035 -#define no_argument 89,3122 -#define required_argument 90,3145 -#define optional_argument 91,3173 -extern int getopt 98,3438 -extern int getopt 100,3542 -extern int getopt_long 102,3597 -extern int getopt_long_only 104,3729 -extern int _getopt_internal 109,3940 -extern int getopt 114,4138 -extern int getopt_long 115,4160 -extern int getopt_long_only 116,4187 -extern int _getopt_internal 118,4220 - -c-src/etags.c,14175 -char pot_etags_version[pot_etags_version81,3471 -# undef DEBUG84,3553 -# define DEBUG 85,3568 -# define DEBUG 87,3595 -# define NDEBUG 88,3618 -# define _GNU_SOURCE 94,3706 -# undef MSDOS100,3877 -# undef WINDOWSNT101,3891 -# define WINDOWSNT102,3910 -# undef MSDOS106,3969 -# define MSDOS 107,3983 -# define MSDOS 110,4033 -# define MAXPATHLEN 115,4112 -# undef HAVE_NTGUI116,4142 -# undef DOS_NT117,4161 -# define DOS_NT118,4177 -# undef assert 135,4483 -# define assert(136,4542 -# undef CTAGS146,4858 -# define CTAGS 147,4873 -# define CTAGS 149,4899 -#define streq(152,4928 -#define strcaseeq(153,4997 -#define strneq(154,5076 -#define strncaseeq(155,5152 -#define CHARS 157,5239 -#define CHAR(158,5279 -#define iswhite(159,5330 -#define notinname(160,5395 -#define begtoken(161,5470 -#define intoken(162,5543 -#define endtoken(163,5615 -#define ISALNUM(165,5685 -#define ISALPHA(166,5723 -#define ISDIGIT(167,5761 -#define ISLOWER(168,5799 -#define lowcase(170,5838 -#define xnew(179,6016 -#define xrnew(180,6084 -typedef void Lang_function 182,6165 - const char *suffix;suffix186,6220 - const char *command;command187,6295 -} compressor;188,6366 - const char *name;name192,6398 - const char *help;help193,6450 - Lang_function *function;function194,6509 - const char **suffixes;suffixes195,6557 - const char **filenames;filenames196,6634 - const char **interpreters;interpreters197,6703 - bool metasource;198,6772 -} language;199,6836 -typedef struct fdesc201,6849 - struct fdesc *next;next203,6872 - char *infname;infname204,6921 - char *infabsname;infabsname205,6974 - char *infabsdir;infabsdir206,7039 - char *taggedfname;taggedfname207,7092 - language *lang;lang208,7150 - char *prop;prop209,7192 - bool usecharno;210,7250 - bool written;211,7312 -} fdesc;212,7367 -typedef struct node_st214,7377 - struct node_st *left,left216,7429 - struct node_st *left, *right;right216,7429 - fdesc *fdp;fdp217,7487 - char *name;name218,7549 - char *regex;regex219,7581 - bool valid;220,7618 - bool is_func;221,7671 - bool been_warned;222,7734 - int lno;223,7802 - long cno;224,7843 -} node;225,7895 - long size;236,8209 - int len;237,8222 - char *buffer;buffer238,8233 -} linebuffer;239,8249 - at_language,245,8345 - at_regexp,246,8394 - at_filename,247,8438 - at_stdin,248,8474 - at_end 249,8517 - } arg_type;250,8558 - language *lang;lang251,8594 - char *what;what252,8657 -} argument;253,8699 -typedef struct regexp256,8759 - struct regexp *p_next;p_next258,8783 - language *lang;lang259,8838 - char *pattern;pattern260,8898 - char *name;name261,8941 - struct re_pattern_buffer *pat;pat262,8972 - struct re_registers regs;263,9032 - bool error_signaled;264,9079 - bool force_explicit_name;265,9142 - bool ignore_case;266,9207 - bool multi_line;267,9260 -} regexp;268,9326 -static void Ada_funcs 274,9429 -static void Asm_labels 275,9461 -static void C_entries 276,9494 -static void default_C_entries 277,9537 -static void plain_C_entries 278,9577 -static void Cjava_entries 279,9615 -static void Cobol_paragraphs 280,9651 -static void Cplusplus_entries 281,9690 -static void Cstar_entries 282,9730 -static void Erlang_functions 283,9766 -static void Forth_words 284,9805 -static void Fortran_functions 285,9839 -static void HTML_labels 286,9879 -static void Lisp_functions 287,9913 -static void Lua_functions 288,9950 -static void Makefile_targets 289,9986 -static void Pascal_functions 290,10025 -static void Perl_functions 291,10064 -static void PHP_functions 292,10101 -static void PS_functions 293,10137 -static void Prolog_functions 294,10172 -static void Python_functions 295,10211 -static void Scheme_functions 296,10250 -static void TeX_commands 297,10289 -static void Texinfo_nodes 298,10324 -static void Yacc_entries 299,10360 -static void just_read_file 300,10395 -static language *get_language_from_langname get_language_from_langname302,10433 -static void readline 303,10493 -static long readline_internal 304,10538 -static bool nocase_tail 305,10592 -static void get_tag 306,10632 -static void analyze_regex 308,10672 -static void free_regexps 309,10708 -static void regex_tag_multiline 310,10741 -static void error 311,10781 -# undef STDIN408,15074 -#define STDIN 411,15096 -static compressor compressors[compressors457,17665 -static const char *Ada_suffixes Ada_suffixes473,17908 -static const char Ada_help 475,17978 -static const char *Asm_suffixes Asm_suffixes493,18581 -static const char Asm_help 504,18977 -static const char *default_C_suffixes default_C_suffixes512,19313 -static const char default_C_help 515,19414 -static const char default_C_help 523,19851 -static const char *Cplusplus_suffixes Cplusplus_suffixes535,20461 -static const char Cplusplus_help 540,20659 -static const char *Cjava_suffixes Cjava_suffixes549,21114 -static char Cjava_help 551,21173 -static const char *Cobol_suffixes Cobol_suffixes556,21338 -static char Cobol_help 558,21403 -static const char *Cstar_suffixes Cstar_suffixes562,21544 -static const char *Erlang_suffixes Erlang_suffixes565,21608 -static const char Erlang_help 567,21674 -const char *Forth_suffixes Forth_suffixes571,21800 -static const char Forth_help 573,21858 -static const char *Fortran_suffixes Fortran_suffixes577,22009 -static const char Fortran_help 579,22086 -static const char *HTML_suffixes HTML_suffixes582,22191 -static const char HTML_help 584,22265 -static const char *Lisp_suffixes Lisp_suffixes589,22453 -static const char Lisp_help 591,22557 -static const char *Lua_suffixes Lua_suffixes598,22872 -static const char Lua_help 600,22935 -static const char *Makefile_filenames Makefile_filenames603,23011 -static const char Makefile_help 605,23134 -static const char *Objc_suffixes Objc_suffixes609,23278 -static const char Objc_help 613,23400 -static const char *Pascal_suffixes Pascal_suffixes619,23715 -static const char Pascal_help 621,23779 -static const char *Perl_suffixes Perl_suffixes626,23967 -static const char *Perl_interpreters Perl_interpreters628,24029 -static const char Perl_help 630,24101 -static const char *PHP_suffixes PHP_suffixes637,24452 -static const char PHP_help 639,24524 -static const char *plain_C_suffixes plain_C_suffixes643,24679 -static const char *PS_suffixes PS_suffixes647,24763 -static const char PS_help 649,24849 -static const char *Prolog_suffixes Prolog_suffixes652,24932 -static const char Prolog_help 654,24994 -static const char *Python_suffixes Python_suffixes658,25108 -static const char Python_help 660,25166 -static const char *Scheme_suffixes Scheme_suffixes665,25348 -static const char Scheme_help 667,25461 -static const char *TeX_suffixes TeX_suffixes672,25684 -static const char TeX_help 674,25782 -static const char *Texinfo_suffixes Texinfo_suffixes686,26317 -static const char Texinfo_help 688,26396 -static const char *Yacc_suffixes Yacc_suffixes691,26493 -static const char Yacc_help 693,26607 -static const char auto_help 699,26857 -static const char none_help 703,27021 -static const char no_lang_help 707,27144 -static language lang_names 718,27356 -print_language_names 753,29533 -# define EMACS_NAME 786,30756 -# define VERSION 789,30812 -print_version 792,30870 -# define PRINT_UNDOCUMENTED_OPTIONS_HELP 804,31174 -print_help 808,31251 -main 981,37439 -get_compressor_from_suffix 1319,46218 -get_language_from_langname 1355,47159 -get_language_from_interpreter 1377,47546 -get_language_from_filename 1399,47977 -process_file_name 1433,48835 -process_file 1555,51666 -init 1632,54151 -find_entries 1656,54902 -make_tag 1814,59708 -pfnote 1856,60943 -free_tree 1917,62745 -free_fdesc 1935,63030 -add_node 1955,63473 -invalidate_nodes 2035,65538 -static int total_size_of_entries 2067,66151 -static int number_len 2068,66194 -total_size_of_entries 2087,66695 -put_entries 2107,67155 -#define C_EXT 2193,68996 -#define C_PLAIN 2194,69038 -#define C_PLPL 2195,69071 -#define C_STAR 2196,69105 -#define C_JAVA 2197,69138 -#define C_AUTO 2198,69173 -#define YACC 2199,69243 -enum sym_type2204,69313 - st_none,2206,69329 - st_C_objprot,2207,69340 - st_C_objprot, st_C_objimpl,2207,69340 - st_C_objprot, st_C_objimpl, st_C_objend,2207,69340 - st_C_gnumacro,2208,69383 - st_C_ignore,2209,69400 - st_C_ignore, st_C_attribute,2209,69400 - st_C_javastruct,2210,69431 - st_C_operator,2211,69450 - st_C_class,2212,69467 - st_C_class, st_C_template,2212,69467 - st_C_struct,2213,69496 - st_C_struct, st_C_extern,2213,69496 - st_C_struct, st_C_extern, st_C_enum,2213,69496 - st_C_struct, st_C_extern, st_C_enum, st_C_define,2213,69496 - st_C_struct, st_C_extern, st_C_enum, st_C_define, st_C_typedef2213,69496 -struct C_stab_entry 2271,71279 -struct C_stab_entry { const char *name;name2271,71279 -struct C_stab_entry { const char *name; int c_ext;2271,71279 -struct C_stab_entry { const char *name; int c_ext; enum sym_type type;2271,71279 -hash 2275,71410 -in_word_set 2321,72938 - TOTAL_KEYWORDS 2325,73019 - MIN_WORD_LENGTH 2326,73046 - MAX_WORD_LENGTH 2327,73073 - MIN_HASH_VALUE 2328,73101 - MAX_HASH_VALUE 2329,73127 -C_symtype 2387,74986 -static bool inattribute;2400,75235 - fvnone,2408,75436 - fdefunkey,2409,75467 - fdefunname,2410,75513 - foperator,2411,75557 - fvnameseen,2412,75614 - fstartlist,2413,75667 - finlist,2414,75723 - flistseen,2415,75766 - fignore,2416,75814 - vignore 2417,75857 -} fvdef;2418,75902 -static bool fvextern;2420,75912 - tnone,2428,76090 - tkeyseen,2429,76120 - ttypeseen,2430,76161 - tinbody,2431,76200 - tend,2432,76239 - tignore 2433,76280 -} typdef;2434,76321 - snone,2443,76500 - skeyseen,2445,76576 - stagseen,2446,76621 - scolonseen 2447,76662 -} structdef;2448,76716 -static const char *objtag objtag2453,76810 - dnone,2460,76943 - dsharpseen,2461,76973 - ddefineseen,2462,77026 - dignorerest 2463,77071 -} definedef;2464,77113 - onone,2472,77268 - oprotocol,2473,77298 - oimplementation,2474,77348 - otagseen,2475,77396 - oparenseen,2476,77432 - ocatseen,2477,77487 - oinbody,2478,77526 - omethodsign,2479,77569 - omethodtag,2480,77627 - omethodcolon,2481,77667 - omethodparm,2482,77710 - oignore 2483,77756 -} objdef;2484,77788 -static struct tok2491,77945 - char *line;line2493,77965 - int offset;2494,78015 - int length;2495,78068 - bool valid;2502,78353 - bool named;2505,78488 - int lineno;2506,78529 - long linepos;2507,78577 -} token;2508,78627 -static void pushclass_above 2514,78785 -static void popclass_above 2515,78833 -static void write_classname 2516,78867 - char **cname;cname2519,78951 - int *bracelev;bracelev2520,78994 - int nl;2521,79043 - int size;2522,79097 -} cstack;2523,79137 -#define nestlev 2525,79265 -#define instruct 2527,79370 -pushclass_above 2531,79490 -popclass_above 2550,79949 -write_classname 2564,80163 -static bool consider_token 2592,80762 -static void make_C_tag 2593,80834 -consider_token 2613,81342 - long linepos;2922,88500 - linebuffer lb;2923,88516 -} lbs[lbs2924,88533 -#define current_lb_is_new 2926,88544 -#define switch_line_buffers(2927,88589 -#define curlb 2929,88642 -#define newlb 2930,88673 -#define curlinepos 2931,88704 -#define newlinepos 2932,88745 -#define plainc 2934,88787 -#define cplpl 2935,88831 -#define cjava 2936,88862 -#define CNL_SAVE_DEFINEDEF(2938,88906 -#define CNL(2947,89118 -make_C_tag 2960,89376 -C_entries 2986,90195 -default_C_entries 3833,110157 -plain_C_entries 3840,110277 -Cplusplus_entries 3847,110365 -Cjava_entries 3854,110461 -Cstar_entries 3861,110551 -Yacc_entries 3868,110643 -#define LOOP_ON_INPUT_LINES(3875,110721 -#define LOOKING_AT(3884,111057 -#define LOOKING_AT_NOCASE(3891,111462 -just_read_file 3901,111862 -static void F_takeprec 3910,111966 -static void F_getit 3911,111997 -F_takeprec 3914,112040 -F_getit 3937,112367 -Fortran_functions 3961,112841 -Ada_getit 4052,114670 -Ada_funcs 4115,116045 -Asm_labels 4228,118583 -Perl_functions 4261,119550 -Python_functions 4357,122058 -PHP_functions 4387,122685 -Cobol_paragraphs 4466,124472 -Makefile_targets 4494,125030 -Pascal_functions 4529,125951 -static void L_getit 4706,130278 -L_getit 4709,130319 -Lisp_functions 4725,130665 -Lua_functions 4785,131851 -PS_functions 4811,132386 -Forth_words 4841,133054 -Scheme_functions 4877,134093 -static linebuffer *TEX_toktab TEX_toktab4908,134782 -static const char *TEX_defenv TEX_defenv4912,134975 -static void TEX_mode 4917,135173 -static void TEX_decode_env 4918,135204 -static char TEX_esc 4920,135262 -static char TEX_opgrp 4921,135290 -static char TEX_clgrp 4922,135319 -TeX_commands 4928,135396 -#define TEX_LESC 4986,136653 -#define TEX_SESC 4987,136675 -TEX_mode 4992,136805 -TEX_decode_env 5026,137510 -Texinfo_nodes 5071,138555 -HTML_labels 5094,139014 -static size_t prolog_pr 5214,142193 -static void prolog_skip_comment 5215,142235 -static size_t prolog_atom 5216,142291 -Prolog_functions 5219,142348 -prolog_skip_comment 5255,143129 -prolog_pr 5281,143737 -prolog_atom 5319,144629 -static int erlang_func 5374,145541 -static void erlang_attribute 5375,145582 -static int erlang_atom 5376,145621 -Erlang_functions 5379,145667 -erlang_func 5438,146966 -erlang_attribute 5476,147643 -erlang_atom 5496,148062 -static char *scan_separators scan_separators5520,148488 -static void add_regex 5521,148527 -static char *substitute substitute5522,148571 -scan_separators 5534,149081 -analyze_regex 5586,150461 -add_regex 5654,152051 -substitute 5767,154798 -free_regexps 5814,155838 -regex_tag_multiline 5836,156292 -nocase_tail 5913,158264 -get_tag 5928,158520 -readline_internal 5959,159456 -readline 6037,161297 -savestr 6230,167244 -savenstr 6240,167474 -skip_spaces 6249,167680 -skip_non_spaces 6258,167834 -skip_name 6267,167984 -fatal 6277,168157 -pfatal 6284,168254 -suggest_asking_for_help 6291,168333 -error 6300,168555 -concat 6313,168847 -etags_getcwd 6329,169260 -relative_filename 6350,169726 -absolute_filename 6389,170752 -absolute_dirname 6453,172417 -filename_is_absolute 6472,172846 -canonicalize_filename 6484,173097 -# define ISUPPER(6491,173236 -linebuffer_init 6514,173657 -linebuffer_setlen 6524,173888 -xmalloc 6536,174149 -xrealloc 6545,174315 - -c-src/exit.c,99 - size_t n;28,972 - void EXFUN((*fn[fn29,986 - } __libc_atexit;30,1022 -DEFUN(exit,38,1263 - -c-src/exit.strange_suffix,99 - size_t n;28,972 - void EXFUN((*fn[fn29,986 - } __libc_atexit;30,1022 -DEFUN(exit,38,1263 - -c-src/sysdep.h,491 -#define ENTRY(21,875 -#define PSEUDO(26,982 - movl $SYS_##syscall_nam$SYS_##syscall_na31,1142 - movl $SYS_##syscall_name, %eax;eax31,1142 - int $0x80;32,1190 - test %eax,eax33,1220 - test %eax, %eax;eax33,1220 - jl syscall_error;34,1255 -#define XCHG_0 47,1572 -#define XCHG_1 48,1616 -#define XCHG_2 49,1658 -#define XCHG_3 50,1701 -#define XCHG_4 51,1744 -#define XCHG_5 52,1787 -#define r0 54,1831 -#define r1 55,1885 -#define scratch 56,1942 -#define MOVE(57,2011 - -c-src/tab.c,196 -static int count_words(15,263 -static char *get_word(get_word35,553 -void tab_free(59,966 -char **tab_fill(tab_fill70,1129 -int tab_delete_first(91,1638 -int tab_count_words(103,1820 - -c-src/dostorture.c,198 -(*tag1 tag118,468 -#define notag2 26,577 -(*tag2 tag229,657 -(*tag3 tag339,809 -#define notag4 45,904 -(*tag4 tag448,1001 -tag5 57,1136 -tag6 66,1272 -int pp1(74,1389 -pp287,1504 -pp3(100,1616 - -c-src/emacs/src/gmalloc.c,7311 -#define USE_PTHREAD25,1003 -#undef get_current_dir_name33,1127 -extern void emacs_abort 47,1306 -#undef malloc64,2111 -#undef realloc65,2125 -#undef calloc66,2140 -#undef free67,2154 -#define malloc 68,2166 -#define realloc 69,2189 -#define calloc 70,2214 -#define aligned_alloc 71,2237 -#define free 72,2274 -extern void *bss_sbrk bss_sbrk76,2336 -extern int bss_sbrk_did_unexec;77,2376 -extern char bss_sbrk_buffer[bss_sbrk_buffer78,2408 -extern void *bss_sbrk_buffer_end;bss_sbrk_buffer_end79,2439 -#define DUMPED 80,2473 -#define ALLOCATED_BEFORE_DUMPING(81,2508 -extern void *malloc malloc94,2719 -#define INT_BIT 124,3935 -#define BLOCKLOG 125,3978 -#define BLOCKSIZE 126,4019 -#define BLOCKIFY(127,4053 -#define HEAP 131,4216 -#define FINAL_FREE_BLOCKS 135,4392 - int type;145,4677 - size_t nfree;150,4721 - size_t first;151,4778 - } frag;152,4835 - ptrdiff_t size;156,5056 - } info;157,5077 - } busy;158,5088 - size_t size;163,5216 - size_t next;164,5273 - size_t prev;165,5322 - } free;166,5375 - } malloc_info;167,5389 -extern char *_heapbase;_heapbase170,5450 -extern malloc_info *_heapinfo;_heapinfo173,5542 -#define BLOCK(176,5621 -#define ADDRESS(177,5683 -extern size_t _heapindex;180,5798 -extern size_t _heaplimit;183,5867 -struct list186,5940 - struct list *next;next188,5956 - struct list *prev;prev189,5979 -extern struct list _fraghead[_fraghead193,6057 -struct alignlist196,6154 - struct alignlist *next;next198,6175 - void *aligned;aligned199,6203 - void *exact;exact200,6271 -extern struct alignlist *_aligned_blocks;_aligned_blocks202,6335 -extern size_t _chunks_used;205,6402 -extern size_t _bytes_used;206,6430 -extern size_t _chunks_free;207,6457 -extern size_t _bytes_free;208,6485 -extern void *_malloc_internal _malloc_internal213,6674 -extern void *_realloc_internal _realloc_internal214,6714 -extern void _free_internal 215,6763 -extern void *_malloc_internal_nolock _malloc_internal_nolock216,6800 -extern void *_realloc_internal_nolock _realloc_internal_nolock217,6847 -extern void _free_internal_nolock 218,6903 -extern pthread_mutex_t _malloc_mutex,221,6967 -extern pthread_mutex_t _malloc_mutex, _aligned_blocks_mutex;221,6967 -extern int _malloc_thread_enabled_p;222,7028 -#define LOCK(223,7065 -#define UNLOCK(228,7196 -#define LOCK_ALIGNED_BLOCKS(233,7330 -#define UNLOCK_ALIGNED_BLOCKS(238,7485 -#define LOCK(244,7650 -#define UNLOCK(245,7665 -#define LOCK_ALIGNED_BLOCKS(246,7682 -#define UNLOCK_ALIGNED_BLOCKS(247,7712 -extern void *malloc_find_object_address malloc_find_object_address252,7866 -extern void *(*__morecore)__morecore256,8022 -extern void *__default_morecore __default_morecore259,8106 -extern void (*__after_morecore_hook)__after_morecore_hook263,8270 -extern size_t __malloc_extra_blocks;267,8443 -extern int __malloc_initialized;270,8553 -extern int __malloc_initialize 272,8647 -extern void (*__malloc_initialize_hook)__malloc_initialize_hook275,8724 -extern void (*__free_hook)__free_hook276,8772 -extern void *(*__malloc_hook)__malloc_hook277,8812 -extern void *(*__realloc_hook)__realloc_hook278,8857 -extern void *(*__memalign_hook)__memalign_hook279,8914 -enum mcheck_status283,9093 - MCHECK_DISABLED 285,9116 - MCHECK_OK,286,9188 - MCHECK_FREE,287,9227 - MCHECK_HEAD,288,9271 - MCHECK_TAIL 289,9335 -extern int mcheck 296,9702 -extern enum mcheck_status mprobe 301,9953 -extern void mtrace 304,10056 -extern void muntrace 305,10083 -struct mstats308,10154 - size_t bytes_total;310,10172 - size_t chunks_used;311,10226 - size_t bytes_used;312,10286 - size_t chunks_free;313,10352 - size_t bytes_free;314,10407 -extern struct mstats mstats 318,10519 -extern void memory_warnings 321,10626 -void *(*__malloc_hook)__malloc_hook352,11745 -char *_heapbase;_heapbase355,11831 -malloc_info *_heapinfo;_heapinfo358,11929 -static size_t heapsize;361,11985 -size_t _heapindex;364,12049 -size_t _heaplimit;367,12111 -struct list _fraghead[_fraghead370,12173 -size_t _chunks_used;373,12231 -size_t _bytes_used;374,12252 -size_t _chunks_free;375,12272 -size_t _bytes_free;376,12293 -int __malloc_initialized;379,12342 -size_t __malloc_extra_blocks;381,12369 -void (*__malloc_initialize_hook)__malloc_initialize_hook383,12400 -void (*__after_morecore_hook)__after_morecore_hook384,12441 -static int state_protected_p;400,12914 -static size_t last_state_size;401,12944 -static malloc_info *last_heapinfo;last_heapinfo402,12975 -protect_malloc_state 405,13016 -#define PROTECT_MALLOC_STATE(426,13629 -#define PROTECT_MALLOC_STATE(429,13699 -align 435,13796 -get_contiguous_space 466,14618 -register_heapinfo 497,15327 -pthread_mutex_t _malloc_mutex 517,15881 -pthread_mutex_t _aligned_blocks_mutex 518,15940 -int _malloc_thread_enabled_p;519,16007 -malloc_atfork_handler_prepare 522,16050 -malloc_atfork_handler_parent 529,16141 -malloc_atfork_handler_child 536,16235 -malloc_enable_thread 544,16377 -malloc_initialize_1 563,16963 -__malloc_initialize 594,17795 -static int morecore_recursing;604,17928 -morecore_nolock 609,18068 -_malloc_internal_nolock 722,21586 -_malloc_internal 920,28104 -malloc 932,28249 -extern void *_malloc _malloc956,29035 -extern void _free 957,29066 -extern void *_realloc _realloc958,29094 -_malloc 961,29142 -_free 967,29198 -_realloc 973,29242 -void (*__free_hook)__free_hook1001,30262 -struct alignlist *_aligned_blocks _aligned_blocks1004,30348 -_free_internal_nolock 1009,30477 -_free_internal 1255,38479 -free 1265,38606 -weak_alias 1277,38802 -#define min(1306,39817 -void *(*__realloc_hook)__realloc_hook1310,39902 -_realloc_internal_nolock 1319,40313 -_realloc_internal 1435,43567 -realloc 1447,43730 -calloc 1478,44899 -#define __sbrk 1513,46048 -extern void *__sbrk __sbrk1518,46253 -__default_morecore 1525,46517 -void *(*__memalign_hook)__memalign_hook1554,47463 -aligned_alloc 1557,47529 -memalign 1647,49711 -posix_memalign 1656,49916 -extern void *valloc valloc1695,51148 -extern int getpagesize 1700,51286 -static size_t pagesize;1703,51325 -valloc 1706,51357 -#undef malloc1715,51498 -#undef realloc1716,51512 -#undef calloc1717,51527 -#undef aligned_alloc1718,51541 -#undef free1719,51562 -extern void *malloc malloc1722,51617 -extern void *realloc realloc1723,51652 -extern void *calloc calloc1724,51699 -extern void free 1725,51748 -extern void *aligned_alloc aligned_alloc1727,51804 -extern int posix_memalign 1729,51898 -hybrid_malloc 1736,52091 -hybrid_calloc 1744,52196 -hybrid_free 1752,52327 -hybrid_aligned_alloc 1765,52634 -hybrid_realloc 1780,52990 -char *gget_current_dir_name gget_current_dir_name1808,53759 -hybrid_get_current_dir_name 1811,53803 -static void (*old_free_hook)old_free_hook1846,54928 -static void *(*old_malloc_hook)old_malloc_hook1847,54970 -static void *(*old_realloc_hook)old_realloc_hook1848,55017 -static void (*abortfunc)abortfunc1851,55131 -#define MAGICWORD 1854,55213 -#define MAGICFREE 1855,55268 -#define MAGICBYTE 1856,55323 -#define MALLOCFLOOD 1857,55355 -#define FREEFLOOD 1858,55389 -struct hdr1860,55422 - size_t size;1862,55437 - size_t magic;1863,55491 -checkhdr 1867,55588 -freehook 1891,56029 -mallochook 1927,56811 -reallochook 1944,57150 -mabort 1978,57908 -static int mcheck_used 2012,58593 -mcheck 2015,58626 -mprobe 2035,59145 - -c-src/emacs/src/regex.h,5300 -#define _REGEX_H 21,837 -typedef unsigned long reg_syntax_t;43,1578 -#define RE_BACKSLASH_ESCAPE_IN_LISTS 47,1750 -#define RE_BK_PLUS_QM 52,1970 -#define RE_CHAR_CLASSES 58,2299 -#define RE_CONTEXT_INDEP_ANCHORS 72,3033 -#define RE_CONTEXT_INDEP_OPS 80,3459 -#define RE_CONTEXT_INVALID_OPS 84,3659 -#define RE_DOT_NEWLINE 88,3802 -#define RE_DOT_NOT_NULL 92,3938 -#define RE_HAT_LISTS_NOT_NEWLINE 96,4083 -#define RE_INTERVALS 101,4293 -#define RE_LIMITED_OPS 105,4442 -#define RE_NEWLINE_ALT 109,4584 -#define RE_NO_BK_BRACES 114,4774 -#define RE_NO_BK_PARENS 118,4965 -#define RE_NO_BK_REFS 122,5121 -#define RE_NO_BK_VBAR 126,5317 -#define RE_NO_EMPTY_RANGES 132,5611 -#define RE_UNMATCHED_RIGHT_PAREN_ORD 136,5767 -#define RE_NO_POSIX_BACKTRACKING 140,5938 -#define RE_NO_GNU_OPS 144,6134 -#define RE_FRUGAL 147,6254 -#define RE_SHY_GROUPS 150,6361 -#define RE_NO_NEWLINE_ANCHOR 153,6469 -#define RE_DEBUG 161,6885 -extern reg_syntax_t re_syntax_options;167,7171 -extern Lisp_Object re_match_object;172,7345 -extern size_t re_max_failures;176,7455 -#define RE_SYNTAX_EMACS 183,7685 -#define RE_SYNTAX_AWK 186,7781 -#define RE_SYNTAX_GNU_AWK 193,8085 -#define RE_SYNTAX_POSIX_AWK 197,8256 -#define RE_SYNTAX_GREP 201,8394 -#define RE_SYNTAX_EGREP 206,8550 -#define RE_SYNTAX_POSIX_EGREP 212,8766 -#define RE_SYNTAX_ED 216,8911 -#define RE_SYNTAX_SED 218,8955 -#define _RE_SYNTAX_POSIX_COMMON 221,9073 -#define RE_SYNTAX_POSIX_BASIC 225,9216 -#define RE_SYNTAX_POSIX_MINIMAL_BASIC 231,9509 -#define RE_SYNTAX_POSIX_EXTENDED 234,9599 -#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED 242,9968 -# undef RE_DUP_MAX253,10455 -#define RE_DUP_MAX 256,10541 -#define REG_EXTENDED 263,10763 -#define REG_ICASE 267,10887 -#define REG_NEWLINE 272,11071 -#define REG_NOSUB 276,11249 -#define REG_NOTBOL 286,11615 -#define REG_NOTEOL 289,11689 - REG_ENOSYS 297,11860 - REG_NOERROR 300,11942 - REG_NOMATCH,301,11977 - REG_BADPAT,305,12124 - REG_ECOLLATE,306,12163 - REG_ECTYPE,307,12204 - REG_EESCAPE,308,12256 - REG_ESUBREG,309,12299 - REG_EBRACK,310,12346 - REG_EPAREN,311,12392 - REG_EBRACE,312,12437 - REG_BADBR,313,12473 - REG_ERANGE,314,12520 - REG_ESPACE,315,12561 - REG_BADRPT,316,12602 - REG_EEND,319,12694 - REG_ESIZE,320,12729 - REG_ERPAREN,321,12791 - REG_ERANGEX 322,12860 -} reg_errcode_t;323,12912 -# define RE_TRANSLATE_TYPE 332,13274 -struct re_pattern_buffer335,13316 - unsigned char *buffer;buffer341,13539 - size_t allocated;344,13615 - size_t used;347,13687 - reg_syntax_t syntax;350,13770 - char *fastmap;fastmap355,13976 - RE_TRANSLATE_TYPE translate;361,14242 - size_t re_nsub;364,14330 - unsigned can_be_null 370,14625 -#define REGS_UNALLOCATED 376,14890 -#define REGS_REALLOCATE 377,14917 -#define REGS_FIXED 378,14943 - unsigned regs_allocated 379,14964 - unsigned fastmap_accurate 383,15137 - unsigned no_sub 387,15268 - unsigned not_bol 391,15399 - unsigned not_eol 394,15476 - unsigned used_syntax 398,15656 - unsigned multibyte 403,15806 - unsigned target_multibyte 407,15942 - int charset_unibyte;410,16033 -typedef struct re_pattern_buffer regex_t;416,16099 -typedef ssize_t regoff_t;423,16493 -struct re_registers428,16653 - unsigned num_regs;430,16675 - regoff_t *start;start431,16696 - regoff_t *end;end432,16715 -# define RE_NREGS 440,16943 - regoff_t rm_so;449,17160 - regoff_t rm_eo;450,17240 -} regmatch_t;451,17318 -extern reg_syntax_t re_set_syntax 457,17513 -extern const char *re_compile_pattern re_compile_pattern462,17777 -extern int re_compile_fastmap 469,18059 -extern regoff_t re_search 477,18467 -extern regoff_t re_search_2 485,18782 -extern regoff_t re_match 495,19178 -extern regoff_t re_match_2 501,19408 -extern void re_set_registers 520,20198 -extern char *re_comp re_comp528,20470 -extern int re_exec 529,20507 -# define _Restrict_ 540,20887 -# define _Restrict_ 542,20980 -# define _Restrict_544,21019 -# define _Restrict_arr_ 555,21419 -# define _Restrict_arr_557,21462 -extern reg_errcode_t regcomp 562,21531 -extern reg_errcode_t regexec 566,21657 -extern size_t regerror 571,21851 -extern void regfree 574,21957 -# define CHAR_CLASS_MAX_LENGTH 593,22471 -# define CHAR_CLASS_MAX_LENGTH 597,22649 -typedef wctype_t re_wctype_t;599,22693 -typedef wchar_t re_wchar_t;600,22723 -# define re_wctype 601,22751 -# define re_iswctype 602,22777 -# define re_wctype_to_bit(603,22807 -# define CHAR_CLASS_MAX_LENGTH 605,22845 -# define btowc(606,22907 -typedef enum { RECC_ERROR 609,22954 - RECC_ALNUM,610,22985 - RECC_ALNUM, RECC_ALPHA,610,22985 - RECC_ALNUM, RECC_ALPHA, RECC_WORD,610,22985 - RECC_GRAPH,611,23028 - RECC_GRAPH, RECC_PRINT,611,23028 - RECC_LOWER,612,23060 - RECC_LOWER, RECC_UPPER,612,23060 - RECC_PUNCT,613,23092 - RECC_PUNCT, RECC_CNTRL,613,23092 - RECC_DIGIT,614,23124 - RECC_DIGIT, RECC_XDIGIT,614,23124 - RECC_BLANK,615,23157 - RECC_BLANK, RECC_SPACE,615,23157 - RECC_MULTIBYTE,616,23189 - RECC_MULTIBYTE, RECC_NONASCII,616,23189 - RECC_ASCII,617,23228 - RECC_ASCII, RECC_UNIBYTE617,23228 -} re_wctype_t;618,23261 -extern char re_iswctype 620,23277 -extern re_wctype_t re_wctype 621,23330 -typedef int re_wchar_t;623,23388 -extern void re_set_whitespace_regexp 625,23413 - -c-src/emacs/src/keyboard.c,25243 -volatile int interrupt_input_blocked;76,1809 -volatile bool pending_signals;80,1945 -#define KBD_BUFFER_SIZE 82,1977 -KBOARD *initial_kboard;initial_kboard84,2007 -KBOARD *current_kboard;current_kboard85,2031 -static KBOARD *all_kboards;all_kboards86,2055 -static bool single_kboard;89,2155 -#define NUM_RECENT_KEYS 91,2183 -static int recent_keys_index;94,2270 -static int total_keys;97,2358 -static Lisp_Object recent_keys;100,2444 -Lisp_Object this_command_keys;107,2778 -ptrdiff_t this_command_key_count;108,2809 -static bool this_command_key_count_reset;112,2923 -static Lisp_Object raw_keybuf;116,3075 -static int raw_keybuf_count;117,3106 -#define GROW_RAW_KEYBUF 119,3136 -static ptrdiff_t this_single_command_key_start;125,3351 -static ptrdiff_t before_command_key_count;129,3499 -static ptrdiff_t before_command_echo_length;130,3542 -sigjmp_buf return_to_command_loop;135,3678 -static Lisp_Object recover_top_level_message;138,3792 -static Lisp_Object regular_top_level_message;143,3931 -static sys_jmp_buf getcjmp;147,4032 -bool waiting_for_input;150,4096 -static bool echoing;154,4187 -static struct kboard *ok_to_echo_at_next_pause;ok_to_echo_at_next_pause159,4329 -struct kboard *echo_kboard;echo_kboard166,4633 -Lisp_Object echo_message_buffer;171,4745 -bool immediate_quit;174,4838 -int quit_char;192,5624 -EMACS_INT command_loop_level;195,5681 -Lisp_Object unread_switch_frame;204,6109 -static ptrdiff_t last_non_minibuf_size;207,6217 -uintmax_t num_input_events;210,6335 -static EMACS_INT last_auto_save;214,6429 -static ptrdiff_t last_point_position;217,6524 -Lisp_Object internal_last_event_frame;228,7029 -static Lisp_Object read_key_sequence_cmd;232,7169 -static Lisp_Object read_key_sequence_remapped;233,7211 -static FILE *dribble;dribble236,7311 -bool input_pending;239,7369 -static bool input_was_pending;287,10023 -static struct input_event kbd_buffer[kbd_buffer291,10108 -static struct input_event *kbd_fetch_ptr;kbd_fetch_ptr297,10387 -static struct input_event * volatile kbd_store_ptr;302,10602 -static void recursive_edit_unwind 313,11089 -static Lisp_Object command_loop 314,11145 -static void echo_now 316,11186 -static ptrdiff_t echo_length 317,11215 -unsigned timers_run;320,11297 -struct timespec *input_available_clear_time;input_available_clear_time324,11409 -bool interrupt_input;328,11574 -bool interrupts_deferred;331,11672 -static struct timespec timer_idleness_start_time;335,11747 -static struct timespec timer_last_idleness_start_time;340,11917 -#define READABLE_EVENTS_DO_TIMERS_NOW 346,12047 -#define READABLE_EVENTS_FILTER_EVENTS 347,12095 -#define READABLE_EVENTS_IGNORE_SQUEEZABLES 348,12143 -static void (*keyboard_init_hook)keyboard_init_hook351,12265 -static bool get_input_pending 353,12308 -static bool readable_events 354,12345 -static Lisp_Object read_char_x_menu_prompt 355,12380 -static Lisp_Object read_char_minibuf_menu_prompt 357,12503 -static Lisp_Object make_lispy_event 358,12572 -static Lisp_Object make_lispy_movement 359,12632 -static Lisp_Object modify_event_symbol 363,12841 -static Lisp_Object make_lispy_switch_frame 366,13051 -static Lisp_Object make_lispy_focus_in 367,13109 -static Lisp_Object make_lispy_focus_out 369,13189 -static bool help_char_p 371,13276 -static void save_getcjmp 372,13315 -static void restore_getcjmp 373,13355 -static Lisp_Object apply_modifiers 374,13398 -static void clear_event 375,13453 -static void restore_kboard_configuration 376,13501 -static void deliver_input_available_signal 378,13569 -static void handle_interrupt 380,13632 -static _Noreturn void quit_throw_to_read_char 381,13669 -static void process_special_events 382,13723 -static void timer_start_idle 383,13766 -static void timer_stop_idle 384,13803 -static void timer_resume_idle 385,13839 -static void deliver_user_signal 386,13877 -static char *find_user_signal_name find_user_signal_name387,13916 -static void store_user_signal_events 388,13958 -kset_echo_string 392,14089 -kset_kbd_queue 397,14185 -kset_keyboard_translate_table 402,14277 -kset_last_prefix_arg 407,14400 -kset_last_repeatable_command 412,14505 -kset_local_function_key_map 417,14626 -kset_overriding_terminal_local_map 422,14745 -kset_real_last_command 427,14878 -kset_system_key_syms 432,14987 -echo_add_key 443,15250 -echo_char 527,17528 -echo_dash 541,17814 -echo_now 586,19141 -cancel_echoing 635,20615 -echo_length 648,20923 -echo_truncate 660,21254 -add_command_key 672,21583 -recursive_edit_1 697,22407 -record_auto_save 742,23849 -force_auto_save_soon 751,24017 -DEFUN ("recursive-edit", Frecursive_edit,759,24138 -DEFUN ("recursive-edit", Frecursive_edit,recursive-edit759,24138 -recursive_edit_unwind 804,25751 -any_kboard_state 817,26017 -single_kboard_state 838,26669 -not_single_kboard_state 848,26807 -struct kboard_stack858,27069 - KBOARD *kboard;kboard860,27091 - struct kboard_stack *next;next861,27109 -static struct kboard_stack *kboard_stack;kboard_stack864,27142 -push_kboard 867,27190 -pop_kboard 879,27379 -temporarily_switch_to_single_kboard 914,28267 -record_single_kboard_state 943,29441 -restore_kboard_configuration 952,29625 -cmd_error 970,30081 -cmd_error_internal 1024,31514 -DEFUN ("command-error-default-function", Fcommand_error_default_function,1043,32034 -DEFUN ("command-error-default-function", Fcommand_error_default_function,command-error-default-function1043,32034 -static Lisp_Object command_loop_2 1086,33641 -static Lisp_Object top_level_1 1087,33690 -command_loop 1094,33920 -command_loop_2 1134,35139 -top_level_2 1146,35343 -top_level_1 1152,35421 -DEFUN ("top-level", Ftop_level,1164,35791 -DEFUN ("top-level", Ftop_level,top-level1164,35791 -user_error 1183,36292 -DEFUN ("exit-recursive-edit", Fexit_recursive_edit,1189,36433 -DEFUN ("exit-recursive-edit", Fexit_recursive_edit,exit-recursive-edit1189,36433 -DEFUN ("abort-recursive-edit", Fabort_recursive_edit,1201,36823 -DEFUN ("abort-recursive-edit", Fabort_recursive_edit,abort-recursive-edit1201,36823 -tracking_off 1216,37285 -DEFUN ("internal--track-mouse", Ftrack_mouse,1234,37820 -DEFUN ("internal--track-mouse", Ftrack_mouse,track-mouse1234,37820 -bool ignore_mouse_drag_p;1256,38396 -some_mouse_moved 1259,38445 -static int read_key_sequence 1282,38803 -static void adjust_point_for_property 1284,38921 -Lisp_Object last_undo_boundary;1287,39036 -command_loop_1 1294,39277 -read_menu_command 1649,50893 -adjust_point_for_property 1678,51621 -safe_run_hooks_1 1831,57343 -safe_run_hooks_error 1841,57573 -safe_run_hook_funcall 1878,58580 -safe_run_hooks 1893,59062 -int poll_suppress_count;1908,59401 -static struct atimer *poll_timer;poll_timer1915,59491 -poll_for_input_1 1919,59593 -poll_for_input 1930,59793 -start_polling 1942,60057 -input_polling_used 1979,61095 -stop_polling 1994,61394 -set_poll_suppress_count 2009,61763 -bind_polling_period 2029,62145 -make_ctrl_char 2048,62496 -show_help_echo 2113,64459 -static Lisp_Object kbd_buffer_get_event 2152,65488 -static void record_char 2154,65600 -static Lisp_Object help_form_saved_window_configs;2156,65642 -read_char_help_form_unwind 2158,65705 -#define STOP_POLLING 2166,65963 -#define RESUME_POLLING 2170,66088 -read_event_from_main_queue 2175,66233 -read_decoded_event_from_main_queue 2249,68421 -#define MAX_ENCODED_BYTES 2254,68668 -echo_keystrokes_p 2342,71560 -read_char 2376,72852 -record_menu_key 3225,98953 -help_char_p 3258,99678 -record_char 3273,99957 -save_getcjmp 3412,104239 -restore_getcjmp 3418,104330 -readable_events 3430,104701 -int stop_character EXTERNALLY_VISIBLE;3497,106441 -event_to_kboard 3500,106497 -kbd_buffer_nr_stored 3522,107146 -kbd_buffer_store_event 3534,107487 -kbd_buffer_store_event_hold 3550,108029 -kbd_buffer_unget_event 3684,111621 -#define INPUT_EVENT_POS_MAX 3698,112022 -#define INPUT_EVENT_POS_MIN 3701,112151 -position_to_Time 3706,112291 -Time_to_position 3716,112518 -gen_help_event 3738,113175 -kbd_buffer_store_help_event 3756,113615 -discard_mouse_events 3773,113980 -kbd_buffer_events_waiting 3803,114715 -clear_event 3823,115072 -kbd_buffer_get_event 3836,115412 -process_special_events 4258,127885 -swallow_events 4322,129709 -timer_start_idle 4339,130102 -timer_stop_idle 4355,130580 -timer_resume_idle 4363,130724 -struct input_event last_timer_event EXTERNALLY_VISIBLE;4372,130916 -Lisp_Object pending_funcalls;4377,131176 -decode_timer 4381,131297 -timer_check_2 4414,132250 -timer_check 4572,136821 -DEFUN ("current-idle-time", Fcurrent_idle_time,4607,137666 -DEFUN ("current-idle-time", Fcurrent_idle_time,current-idle-time4607,137666 -static Lisp_Object accent_key_syms;4625,138243 -static Lisp_Object func_key_syms;4626,138279 -static Lisp_Object mouse_syms;4627,138313 -static Lisp_Object wheel_syms;4628,138344 -static Lisp_Object drag_n_drop_syms;4629,138375 -static const int lispy_accent_codes[lispy_accent_codes4634,138520 -static const char *const lispy_accent_keys[lispy_accent_keys4741,139882 -#define FUNCTION_KEY_OFFSET 4766,140318 -const char *const lispy_function_keys[lispy_function_keys4768,140351 -static const char *const lispy_multimedia_keys[lispy_multimedia_keys4962,148905 -static const char *const lispy_kana_keys[lispy_kana_keys5026,150139 -#define FUNCTION_KEY_OFFSET 5061,151755 -static const char *const lispy_function_keys[lispy_function_keys5065,151898 -#define ISO_FUNCTION_KEY_OFFSET 5149,154433 -static const char *const iso_lispy_function_keys[iso_lispy_function_keys5151,154473 -static Lisp_Object Vlispy_mouse_stem;5172,155332 -static const char *const lispy_wheel_names[lispy_wheel_names5174,155371 -static const char *const lispy_drag_n_drop_names[lispy_drag_n_drop_names5181,155623 -static short const scroll_bar_parts[scroll_bar_parts5189,155889 -static Lisp_Object button_down_location;5210,156914 -static int last_mouse_button;5215,157069 -static int last_mouse_x;5216,157099 -static int last_mouse_y;5217,157124 -static Time button_down_time;5218,157149 -static int double_click_count;5222,157233 -make_lispy_position 5228,157394 -toolkit_menubar_in_use 5456,163957 -make_scroll_bar_position 5469,164325 -make_lispy_event 5485,164971 -make_lispy_movement 6104,183534 -make_lispy_switch_frame 6131,184265 -make_lispy_focus_in 6137,184372 -make_lispy_focus_out 6145,184498 -parse_modifiers_uncached 6163,184948 -#define SINGLE_LETTER_MOD(6185,185468 -#undef SINGLE_LETTER_MOD6212,185909 -#define MULTI_LETTER_MOD(6214,185935 -#undef MULTI_LETTER_MOD6231,186403 -apply_modifiers_uncached 6273,187577 -static const char *const modifier_names[modifier_names6319,189196 -#define NUM_MOD_NAMES 6325,189402 -static Lisp_Object modifier_symbols;6327,189452 -lispy_modifier_list 6331,189589 -#define KEY_TO_CHAR(6353,190255 -parse_modifiers 6356,190331 -DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,6399,191520 -DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,event-symbol-parse-modifiers6399,191520 -apply_modifiers 6422,192394 -reorder_modifiers 6491,194723 -modify_event_symbol 6536,196531 -DEFUN ("event-convert-list", Fevent_convert_list,6628,199247 -DEFUN ("event-convert-list", Fevent_convert_list,event-convert-list6628,199247 -parse_solitary_modifier 6695,201138 -#define SINGLE_LETTER_MOD(6701,201261 -#define MULTI_LETTER_MOD(6705,201346 -#undef SINGLE_LETTER_MOD6763,202644 -#undef MULTI_LETTER_MOD6764,202669 -lucid_event_type_list_p 6775,202892 -get_input_pending 6814,203963 -record_asynch_buffer_change 6834,204582 -gobble_input 6872,205705 -tty_read_avail_input 6967,208313 -handle_async_input 7149,214042 -process_pending_signals 7165,214362 -unblock_input_to 7177,214648 -unblock_input 7200,215280 -totally_unblock_input 7209,215448 -handle_input_available_signal 7217,215532 -deliver_input_available_signal 7226,215703 -struct user_signal_info7235,215868 - int sig;7238,215918 - char *name;name7241,215959 - int npending;7244,216010 - struct user_signal_info *next;next7246,216027 -static struct user_signal_info *user_signals user_signals7250,216093 -add_user_signal 7253,216152 -handle_user_signal 7275,216601 -deliver_user_signal 7316,217561 -find_user_signal_name 7322,217662 -store_user_signal_events 7334,217844 -static void menu_bar_item 7362,218344 -static Lisp_Object menu_bar_one_keymap_changed_items;7363,218419 -static Lisp_Object menu_bar_items_vector;7368,218633 -static int menu_bar_items_index;7369,218675 -static const char *separator_names[separator_names7372,218710 -menu_separator_name_p 7393,219151 -menu_bar_items 7426,219855 -Lisp_Object item_properties;7568,224606 -menu_bar_item 7571,224648 -menu_item_eval_property_1 7647,227178 -eval_dyn 7658,227468 -menu_item_eval_property 7666,227678 -parse_menu_item 7686,228344 -static Lisp_Object tool_bar_items_vector;7965,236339 -static Lisp_Object tool_bar_item_properties;7970,236513 -static int ntool_bar_items;7974,236609 -static void init_tool_bar_items 7978,236667 -static void process_tool_bar_item 7979,236714 -static bool parse_tool_bar_item 7981,236804 -static void append_tool_bar_item 7982,236864 -tool_bar_items 7990,237086 -process_tool_bar_item 8075,239895 -#define PROP(8112,240972 -set_prop 8114,241041 -parse_tool_bar_item 8167,242456 -#undef PROP8379,248847 -init_tool_bar_items 8387,248972 -append_tool_bar_item 8401,249264 -read_char_x_menu_prompt 8443,250774 -read_char_minibuf_menu_prompt 8503,252448 -#define PUSH_C_STR(8527,253017 -follow_key 8726,258556 -active_maps 8733,258698 -typedef struct keyremap8742,259024 - Lisp_Object parent;8745,259110 - Lisp_Object map;8748,259227 - int start,8753,259449 - int start, end;8753,259449 -} keyremap;8754,259467 -access_keymap_keyremap 8764,259811 -keyremap_step 8811,261453 -test_undefined 8867,262937 -read_key_sequence 8916,264864 -read_key_sequence_vs 9826,295824 -DEFUN ("read-key-sequence", Fread_key_sequence,9885,297297 -DEFUN ("read-key-sequence", Fread_key_sequence,read-key-sequence9885,297297 -DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,9938,299985 -DEFUN ("read-key-sequence-vector", Fread_key_sequence_vector,read-key-sequence-vector9938,299985 -detect_input_pending 9950,300491 -detect_input_pending_ignore_squeezables 9959,300657 -detect_input_pending_run_timers 9967,300873 -clear_input_pending 9985,301365 -requeued_events_pending_p 9997,301735 -DEFUN ("input-pending-p", Finput_pending_p,10002,301816 -DEFUN ("input-pending-p", Finput_pending_p,input-pending-p10002,301816 -DEFUN ("recent-keys", Frecent_keys,10024,302599 -DEFUN ("recent-keys", Frecent_keys,recent-keys10024,302599 -DEFUN ("this-command-keys", Fthis_command_keys,10055,303520 -DEFUN ("this-command-keys", Fthis_command_keys,this-command-keys10055,303520 -DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,10068,303961 -DEFUN ("this-command-keys-vector", Fthis_command_keys_vector,this-command-keys-vector10068,303961 -DEFUN ("this-single-command-keys", Fthis_single_command_keys,10080,304383 -DEFUN ("this-single-command-keys", Fthis_single_command_keys,this-single-command-keys10080,304383 -DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,10096,304958 -DEFUN ("this-single-command-raw-keys", Fthis_single_command_raw_keys,this-single-command-raw-keys10096,304958 -DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,10109,305498 -DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,reset-this-command-lengths10109,305498 -DEFUN ("clear-this-command-keys", Fclear_this_command_keys,10136,306513 -DEFUN ("clear-this-command-keys", Fclear_this_command_keys,clear-this-command-keys10136,306513 -DEFUN ("recursion-depth", Frecursion_depth,10158,307072 -DEFUN ("recursion-depth", Frecursion_depth,recursion-depth10158,307072 -DEFUN ("open-dribble-file", Fopen_dribble_file,10169,307409 -DEFUN ("open-dribble-file", Fopen_dribble_file,open-dribble-file10169,307409 -DEFUN ("discard-input", Fdiscard_input,10203,308450 -DEFUN ("discard-input", Fdiscard_input,discard-input10203,308450 -DEFUN ("suspend-emacs", Fsuspend_emacs,10225,308952 -DEFUN ("suspend-emacs", Fsuspend_emacs,suspend-emacs10225,308952 -stuff_buffered_input 10285,311048 -set_waiting_for_input 10323,312019 -clear_waiting_for_input 10337,312393 -handle_interrupt_signal 10351,312757 -deliver_interrupt_signal 10378,313645 -static int volatile force_quit_count;10387,313935 -handle_interrupt 10401,314417 -quit_throw_to_read_char 10541,318714 -DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,10562,319291 -DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,set-input-interrupt-mode10562,319291 -DEFUN ("set-output-flow-control", Fset_output_flow_control,10609,320519 -DEFUN ("set-output-flow-control", Fset_output_flow_control,set-output-flow-control10609,320519 -DEFUN ("set-input-meta-mode", Fset_input_meta_mode,10643,321435 -DEFUN ("set-input-meta-mode", Fset_input_meta_mode,set-input-meta-mode10643,321435 -DEFUN ("set-quit-char", Fset_quit_char,10694,322709 -DEFUN ("set-quit-char", Fset_quit_char,set-quit-char10694,322709 -DEFUN ("set-input-mode", Fset_input_mode,10729,323573 -DEFUN ("set-input-mode", Fset_input_mode,set-input-mode10729,323573 -DEFUN ("current-input-mode", Fcurrent_input_mode,10750,324462 -DEFUN ("current-input-mode", Fcurrent_input_mode,current-input-mode10750,324462 -DEFUN ("posn-at-x-y", Fposn_at_x_y,10787,325840 -DEFUN ("posn-at-x-y", Fposn_at_x_y,posn-at-x-y10787,325840 -DEFUN ("posn-at-point", Fposn_at_point,10824,327063 -DEFUN ("posn-at-point", Fposn_at_point,posn-at-point10824,327063 -init_kboard 10861,328217 -allocate_kboard 10893,329287 -wipe_kboard 10909,329640 -delete_kboard 10917,329754 -init_keyboard 10942,330284 -struct event_head11021,332699 - short var;11023,332719 - short kind;11024,332732 -static const struct event_head head_table[head_table11027,332750 -syms_of_keyboard 11045,333580 - DEFVAR_LISP ("internal--top-level-message"11058,333975 - DEFVAR_LISP ("last-command-event"11312,342176 - DEFVAR_LISP ("last-nonmenu-event"11315,342300 - DEFVAR_LISP ("last-input-event"11321,342639 - DEFVAR_LISP ("unread-command-events"11324,342733 - DEFVAR_LISP ("unread-post-input-method-events"11332,343193 - DEFVAR_LISP ("unread-input-method-events"11338,343532 - DEFVAR_LISP ("meta-prefix-char"11346,343901 - DEFVAR_KBOARD ("last-command"11351,344109 - DEFVAR_KBOARD ("real-last-command"11368,344790 - DEFVAR_KBOARD ("last-repeatable-command"11372,344976 - DEFVAR_LISP ("this-command"11378,345264 - DEFVAR_LISP ("real-this-command"11384,345501 - DEFVAR_LISP ("this-command-keys-shift-translated"11388,345683 - DEFVAR_LISP ("this-original-command"11396,346126 - DEFVAR_INT ("auto-save-interval"11403,346523 - DEFVAR_LISP ("auto-save-timeout"11408,346737 - DEFVAR_LISP ("echo-keystrokes"11415,347082 - DEFVAR_INT ("polling-period"11421,347353 - DEFVAR_LISP ("double-click-time"11428,347696 - DEFVAR_INT ("double-click-fuzz"11435,348032 - DEFVAR_INT ("num-input-keys"11446,348522 - DEFVAR_INT ("num-nonmacro-input-events"11452,348797 - DEFVAR_LISP ("last-event-frame"11457,349035 - DEFVAR_LISP ("tty-erase-char"11463,349314 - DEFVAR_LISP ("help-char"11466,349437 - DEFVAR_LISP ("help-event-list"11472,349720 - DEFVAR_LISP ("help-form"11477,349931 - DEFVAR_LISP ("prefix-help-command"11483,350179 - DEFVAR_LISP ("top-level"11489,350457 - DEFVAR_KBOARD ("keyboard-translate-table"11495,350678 - DEFVAR_BOOL ("cannot-suspend"11511,351491 - DEFVAR_BOOL ("menu-prompting"11516,351718 - DEFVAR_LISP ("menu-prompt-more-char"11526,352148 - DEFVAR_INT ("extra-keyboard-modifiers"11531,352394 - DEFVAR_LISP ("deactivate-mark"11545,353120 - DEFVAR_LISP ("pre-command-hook"11553,353489 - DEFVAR_LISP ("post-command-hook"11560,353844 - DEFVAR_LISP ("echo-area-clear-hook"11568,354207 - DEFVAR_LISP ("lucid-menu-bar-dirty-flag"11574,354422 - DEFVAR_LISP ("menu-bar-final-items"11578,354625 - DEFVAR_LISP ("tool-bar-separator-image-expression"11583,354875 - DEFVAR_KBOARD ("overriding-terminal-local-map"11589,355233 - DEFVAR_LISP ("overriding-local-map"11598,355655 - DEFVAR_LISP ("overriding-local-map-menu-flag"11607,356106 - DEFVAR_LISP ("special-event-map"11613,356445 - DEFVAR_LISP ("track-mouse"11617,356633 - DEFVAR_KBOARD ("system-key-alist"11620,356760 - DEFVAR_KBOARD ("local-function-key-map"11629,357141 - DEFVAR_KBOARD ("input-decode-map"11658,358600 - DEFVAR_LISP ("function-key-map"11675,359388 - DEFVAR_LISP ("key-translation-map"11683,359804 - DEFVAR_LISP ("deferred-action-list"11689,360148 - DEFVAR_LISP ("deferred-action-function"11694,360396 - DEFVAR_LISP ("delayed-warnings-list"11700,360695 - DEFVAR_LISP ("timer-list"11708,361103 - DEFVAR_LISP ("timer-idle-list"11712,361255 - DEFVAR_LISP ("input-method-function"11716,361418 - DEFVAR_LISP ("input-method-previous-message"11737,362387 - DEFVAR_LISP ("show-help-function"11744,362748 - DEFVAR_LISP ("disable-point-adjustment"11749,362980 - DEFVAR_LISP ("global-disable-point-adjustment"11761,363530 - DEFVAR_LISP ("minibuffer-message-timeout"11770,363896 - DEFVAR_LISP ("throw-on-input"11775,364174 - DEFVAR_LISP ("command-error-function"11781,364425 - DEFVAR_LISP ("enable-disabled-menus-and-buttons"11790,364912 - DEFVAR_LISP ("select-active-regions"11798,365239 - DEFVAR_LISP ("saved-region-selection"11807,365631 - DEFVAR_LISP ("selection-inhibit-update-commands"11815,366016 - DEFVAR_LISP ("debug-on-event"11825,366557 -keys_of_keyboard 11841,367118 -mark_kboards 11916,370437 - DEFVAR_LISP ("internal--top-level-message",\111058,333975 - DEFVAR_LISP ("last-command-event",\111312,342176 - DEFVAR_LISP ("last-nonmenu-event",\111315,342300 - DEFVAR_LISP ("last-input-event",\111321,342639 - DEFVAR_LISP ("unread-command-events",\111324,342733 - DEFVAR_LISP ("unread-post-input-method-events",\111332,343193 - DEFVAR_LISP ("unread-input-method-events",\111338,343532 - DEFVAR_LISP ("meta-prefix-char",\111346,343901 - DEFVAR_KBOARD ("last-command",\111351,344109 - DEFVAR_KBOARD ("real-last-command",\111368,344790 - DEFVAR_KBOARD ("last-repeatable-command",\111372,344976 - DEFVAR_LISP ("this-command",\111378,345264 - DEFVAR_LISP ("real-this-command",\111384,345501 - DEFVAR_LISP ("this-command-keys-shift-translated",\111388,345683 - DEFVAR_LISP ("this-original-command",\111396,346126 - DEFVAR_INT ("auto-save-interval",\111403,346523 - DEFVAR_LISP ("auto-save-timeout",\111408,346737 - DEFVAR_LISP ("echo-keystrokes",\111415,347082 - DEFVAR_INT ("polling-period",\111421,347353 - DEFVAR_LISP ("double-click-time",\111428,347696 - DEFVAR_INT ("double-click-fuzz",\111435,348032 - DEFVAR_INT ("num-input-keys",\111446,348522 - DEFVAR_INT ("num-nonmacro-input-events",\111452,348797 - DEFVAR_LISP ("last-event-frame",\111457,349035 - DEFVAR_LISP ("tty-erase-char",\111463,349314 - DEFVAR_LISP ("help-char",\111466,349437 - DEFVAR_LISP ("help-event-list",\111472,349720 - DEFVAR_LISP ("help-form",\111477,349931 - DEFVAR_LISP ("prefix-help-command",\111483,350179 - DEFVAR_LISP ("top-level",\111489,350457 - DEFVAR_KBOARD ("keyboard-translate-table",\111495,350678 - DEFVAR_BOOL ("cannot-suspend",\111511,351491 - DEFVAR_BOOL ("menu-prompting",\111516,351718 - DEFVAR_LISP ("menu-prompt-more-char",\111526,352148 - DEFVAR_INT ("extra-keyboard-modifiers",\111531,352394 - DEFVAR_LISP ("deactivate-mark",\111545,353120 - DEFVAR_LISP ("pre-command-hook",\111553,353489 - DEFVAR_LISP ("post-command-hook",\111560,353844 - DEFVAR_LISP ("echo-area-clear-hook",\111568,354207 - DEFVAR_LISP ("lucid-menu-bar-dirty-flag",\111574,354422 - DEFVAR_LISP ("menu-bar-final-items",\111578,354625 - DEFVAR_LISP ("tool-bar-separator-image-expression",\111583,354875 - DEFVAR_KBOARD ("overriding-terminal-local-map",\111589,355233 - DEFVAR_LISP ("overriding-local-map",\111598,355655 - DEFVAR_LISP ("overriding-local-map-menu-flag",\111607,356106 - DEFVAR_LISP ("special-event-map",\111613,356445 - DEFVAR_LISP ("track-mouse",\111617,356633 - DEFVAR_KBOARD ("system-key-alist",\111620,356760 - DEFVAR_KBOARD ("local-function-key-map",\111629,357141 - DEFVAR_KBOARD ("input-decode-map",\111658,358600 - DEFVAR_LISP ("function-key-map",\111675,359388 - DEFVAR_LISP ("key-translation-map",\111683,359804 - DEFVAR_LISP ("deferred-action-list",\111689,360148 - DEFVAR_LISP ("deferred-action-function",\111694,360396 - DEFVAR_LISP ("delayed-warnings-list",\111700,360695 - DEFVAR_LISP ("timer-list",\111708,361103 - DEFVAR_LISP ("timer-idle-list",\111712,361255 - DEFVAR_LISP ("input-method-function",\111716,361418 - DEFVAR_LISP ("input-method-previous-message",\111737,362387 - DEFVAR_LISP ("show-help-function",\111744,362748 - DEFVAR_LISP ("disable-point-adjustment",\111749,362980 - DEFVAR_LISP ("global-disable-point-adjustment",\111761,363530 - DEFVAR_LISP ("minibuffer-message-timeout",\111770,363896 - DEFVAR_LISP ("throw-on-input",\111775,364174 - DEFVAR_LISP ("command-error-function",\111781,364425 - DEFVAR_LISP ("enable-disabled-menus-and-buttons",\111790,364912 - DEFVAR_LISP ("select-active-regions",\111798,365239 - DEFVAR_LISP ("saved-region-selection",\111807,365631 - DEFVAR_LISP ("selection-inhibit-update-commands",\111815,366016 - DEFVAR_LISP ("debug-on-event",\111825,366557 - -c-src/emacs/src/lisp.h,41391 -#define EMACS_LISP_H22,801 -#define DECLARE_GDB_SYM(47,1422 -# define DEFINE_GDB_SYMBOL_BEGIN(49,1509 -# define DEFINE_GDB_SYMBOL_END(50,1579 -# define DEFINE_GDB_SYMBOL_BEGIN(52,1626 -# define DEFINE_GDB_SYMBOL_END(53,1703 -#undef min57,1791 -#undef max58,1802 -#define max(59,1813 -#define min(60,1855 -#define ARRAYELTS(63,1937 -#define GCTYPEBITS 67,2080 -DEFINE_GDB_SYMBOL_BEGIN GCTYPEBITS66,2038 -# define NONPOINTER_BITS 78,2568 -# define NONPOINTER_BITS 80,2601 -typedef int EMACS_INT;91,3024 -typedef unsigned int EMACS_UINT;92,3047 -# define EMACS_INT_MAX 93,3080 -# define pI 94,3112 -typedef long int EMACS_INT;96,3204 -typedef unsigned long EMACS_UINT;97,3232 -# define EMACS_INT_MAX 98,3266 -# define pI 99,3299 -typedef long long int EMACS_INT;103,3478 -typedef unsigned long long int EMACS_UINT;104,3511 -# define EMACS_INT_MAX 105,3554 -# define pI 106,3588 -enum { BOOL_VECTOR_BITS_PER_CHAR 114,3805 -#define BOOL_VECTOR_BITS_PER_CHAR 115,3841 -typedef size_t bits_word;123,4166 -# define BITS_WORD_MAX 124,4192 -enum { BITS_PER_BITS_WORD 125,4224 -typedef unsigned char bits_word;127,4291 -# define BITS_WORD_MAX 128,4324 -enum { BITS_PER_BITS_WORD 129,4387 -verify 131,4451 - BITS_PER_CHAR 136,4571 - BITS_PER_SHORT 137,4606 - BITS_PER_LONG 138,4658 - BITS_PER_EMACS_INT 139,4713 -typedef intmax_t printmax_t;148,5090 -typedef uintmax_t uprintmax_t;149,5119 -# define pMd 150,5150 -# define pMu 151,5171 -typedef EMACS_INT printmax_t;153,5198 -typedef EMACS_UINT uprintmax_t;154,5228 -# define pMd 155,5260 -# define pMu 156,5279 -# define pD 165,5665 -# define pD 167,5710 -# define pD 169,5757 -# define pD 171,5780 -# define eassert(200,7063 -# define eassume(201,7141 -extern _Noreturn void die 204,7207 -extern bool suppress_checking EXTERNALLY_VISIBLE;206,7269 -# define eassert(208,7320 -# define eassume(212,7451 -enum Lisp_Bits239,8520 -#define GCALIGNMENT 243,8648 - VALBITS 246,8743 - INTTYPEBITS 249,8839 - FIXNUM_BITS 252,8946 -#define VAL_MAX 263,9328 -#define USE_LSB_TAG 271,9778 -DEFINE_GDB_SYMBOL_BEGIN USE_LSB_TAG270,9734 -# define alignas(281,10078 -# define GCALIGNED 288,10228 -# define GCALIGNED 290,10293 -# define lisp_h_XLI(327,11643 -# define lisp_h_XIL(328,11674 -# define lisp_h_XLI(330,11725 -# define lisp_h_XIL(331,11752 -#define lisp_h_CHECK_LIST_CONS(333,11786 -#define lisp_h_CHECK_NUMBER(334,11857 -#define lisp_h_CHECK_SYMBOL(335,11928 -#define lisp_h_CHECK_TYPE(336,11997 -#define lisp_h_CONSP(338,12108 -#define lisp_h_EQ(339,12157 -#define lisp_h_FLOATP(340,12202 -#define lisp_h_INTEGERP(341,12253 -#define lisp_h_MARKERP(342,12334 -#define lisp_h_MISCP(343,12409 -#define lisp_h_NILP(344,12458 -#define lisp_h_SET_SYMBOL_VAL(345,12494 -#define lisp_h_SYMBOL_CONSTANT_P(347,12608 -#define lisp_h_SYMBOL_VAL(348,12672 -#define lisp_h_SYMBOLP(350,12773 -#define lisp_h_VECTORLIKEP(351,12826 -#define lisp_h_XCAR(352,12887 -#define lisp_h_XCDR(353,12925 -#define lisp_h_XCONS(354,12965 -#define lisp_h_XHASH(356,13060 -#define lisp_h_XPNTR(357,13094 -# define lisp_h_check_cons_list(360,13222 -# define lisp_h_make_number(363,13290 -# define lisp_h_XFASTINT(365,13393 -# define lisp_h_XINT(366,13430 -# define lisp_h_XSYMBOL(367,13479 -# define lisp_h_XTYPE(371,13632 -# define lisp_h_XUNTAG(372,13697 -# define XLI(381,14087 -# define XIL(382,14118 -# define CHECK_LIST_CONS(383,14149 -# define CHECK_NUMBER(384,14210 -# define CHECK_SYMBOL(385,14259 -# define CHECK_TYPE(386,14308 -# define CONSP(387,14383 -# define EQ(388,14418 -# define FLOATP(389,14453 -# define INTEGERP(390,14490 -# define MARKERP(391,14531 -# define MISCP(392,14570 -# define NILP(393,14605 -# define SET_SYMBOL_VAL(394,14638 -# define SYMBOL_CONSTANT_P(395,14701 -# define SYMBOL_VAL(396,14764 -# define SYMBOLP(397,14813 -# define VECTORLIKEP(398,14852 -# define XCAR(399,14899 -# define XCDR(400,14932 -# define XCONS(401,14965 -# define XHASH(402,15000 -# define XPNTR(403,15035 -# define check_cons_list(405,15098 -# define make_number(408,15177 -# define XFASTINT(409,15225 -# define XINT(410,15267 -# define XSYMBOL(411,15301 -# define XTYPE(412,15341 -# define XUNTAG(413,15377 -#define LISP_MACRO_DEFUN(421,15673 -#define LISP_MACRO_DEFUN_VOID(425,15846 -#define INTMASK 437,16290 -#define case_Lisp_Int 438,16343 -#define ENUM_BF(445,16682 -#define ENUM_BF(447,16723 -enum Lisp_Type451,16764 - Lisp_Symbol 454,16852 - Lisp_Misc 458,16994 - Lisp_Int0 461,17068 - Lisp_Int1 462,17087 - Lisp_String 466,17265 - Lisp_Vectorlike 472,17544 - Lisp_Cons 475,17633 - Lisp_Float 477,17671 -enum Lisp_Misc_Type485,18017 - Lisp_Misc_Free 487,18041 - Lisp_Misc_Marker,488,18070 - Lisp_Misc_Overlay,489,18092 - Lisp_Misc_Save_Value,490,18115 - Lisp_Misc_Finalizer,491,18141 - Lisp_Misc_Float,494,18276 - Lisp_Misc_Limit496,18360 -enum Lisp_Fwd_Type502,18544 - Lisp_Fwd_Int,504,18567 - Lisp_Fwd_Bool,505,18620 - Lisp_Fwd_Obj,506,18671 - Lisp_Fwd_Buffer_Obj,507,18730 - Lisp_Fwd_Kboard_Obj 508,18801 -typedef struct { EMACS_INT i;567,21772 -typedef struct { EMACS_INT i; } Lisp_Object;567,21772 -#define LISP_INITIALLY(569,21818 -#undef CHECK_LISP_OBJECT_TYPE571,21849 -enum CHECK_LISP_OBJECT_TYPE 572,21879 -enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE 572,21879 -typedef EMACS_INT Lisp_Object;577,22055 -#define LISP_INITIALLY(578,22086 -enum CHECK_LISP_OBJECT_TYPE 579,22116 -enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE 579,22116 -#define LISP_INITIALLY_ZERO 582,22217 -INLINE bool BOOL_VECTOR_P 588,22341 -INLINE bool BUFFER_OBJFWDP 589,22382 -INLINE bool BUFFERP 590,22429 -INLINE bool CHAR_TABLE_P 591,22464 -INLINE Lisp_Object CHAR_TABLE_REF_ASCII 592,22504 -INLINE bool 593,22570 -INLINE bool 594,22605 -INLINE bool functionp 595,22641 -INLINE bool 596,22678 -INLINE bool 597,22716 -INLINE bool 598,22753 -INLINE bool 599,22788 -INLINE bool OVERLAYP 600,22822 -INLINE bool PROCESSP 601,22858 -INLINE bool PSEUDOVECTORP 602,22894 -INLINE bool SAVE_VALUEP 603,22940 -INLINE bool FINALIZERP 604,22979 -INLINE void set_sub_char_table_contents 605,23017 -INLINE bool STRINGP 607,23107 -INLINE bool SUB_CHAR_TABLE_P 608,23142 -INLINE bool SUBRP 609,23186 -INLINE bool 610,23219 -INLINE bool 611,23256 -INLINE bool WINDOWP 612,23297 -INLINE bool TERMINALP 613,23332 -INLINE struct Lisp_Save_Value *XSAVE_VALUE XSAVE_VALUE614,23369 -INLINE struct Lisp_Finalizer *XFINALIZER XFINALIZER615,23427 -INLINE struct Lisp_Symbol *(XSYMBOL)616,23483 -INLINE void 617,23535 -extern Lisp_Object char_table_ref 620,23607 -extern void char_table_set 621,23661 -extern _Noreturn Lisp_Object wrong_type_argument 624,23748 -extern _Noreturn void wrong_choice 625,23825 -extern bool might_dump;628,23916 -extern bool initialized;631,24052 -extern double extract_float 634,24108 -enum symbol_interned639,24190 - SYMBOL_UNINTERNED 641,24213 - SYMBOL_INTERNED 642,24238 - SYMBOL_INTERNED_IN_INITIAL_OBARRAY 643,24261 -enum symbol_redirect646,24306 - SYMBOL_PLAINVAL 648,24329 - SYMBOL_VARALIAS 649,24353 - SYMBOL_LOCALIZED 650,24377 - SYMBOL_FORWARDED 651,24401 -struct Lisp_Symbol654,24428 - bool_bf gcmarkbit 656,24449 - ENUM_BF (symbol_redirect) redirect 663,24784 - unsigned constant 668,25002 - unsigned interned 672,25122 - bool_bf declared_special 676,25284 - bool_bf pinned 679,25385 - Lisp_Object name;682,25454 - Lisp_Object value;687,25622 - struct Lisp_Symbol *alias;alias688,25645 - struct Lisp_Buffer_Local_Value *blv;blv689,25676 - union Lisp_Fwd *fwd;fwd690,25717 - } val;691,25742 - Lisp_Object function;694,25814 - Lisp_Object plist;697,25876 - struct Lisp_Symbol *next;next700,25965 -#define EXFUN(707,26243 -#define DEFUN_ARGS_MANY 712,26437 -#define DEFUN_ARGS_UNEVALLED 713,26489 -#define DEFUN_ARGS_0 714,26532 -#define DEFUN_ARGS_1 715,26560 -#define DEFUN_ARGS_2 716,26595 -#define DEFUN_ARGS_3 717,26643 -#define DEFUN_ARGS_4 718,26704 -#define DEFUN_ARGS_5 719,26778 -#define DEFUN_ARGS_6 721,26871 -#define DEFUN_ARGS_7 723,26977 -#define DEFUN_ARGS_8 725,27096 -#define TAG_PTR(729,27287 -#define TAG_SYMOFFSET(734,27534 -#define XLI_BUILTIN_LISPSYM(741,27833 -#define DEFINE_LISP_SYMBOL(746,28092 -# define DEFINE_NON_NIL_Q_SYMBOL_MACROS 755,28563 -LISP_MACRO_DEFUN 762,28768 -# define ARRAY_MARK_FLAG 768,29015 -# define PSEUDOVECTOR_FLAG 774,29258 -enum pvec_type780,29559 - PVEC_NORMAL_VECTOR,782,29576 - PVEC_FREE,783,29598 - PVEC_PROCESS,784,29611 - PVEC_FRAME,785,29627 - PVEC_WINDOW,786,29641 - PVEC_BOOL_VECTOR,787,29656 - PVEC_BUFFER,788,29676 - PVEC_HASH_TABLE,789,29691 - PVEC_TERMINAL,790,29710 - PVEC_WINDOW_CONFIGURATION,791,29727 - PVEC_SUBR,792,29756 - PVEC_OTHER,793,29769 - PVEC_COMPILED,795,29847 - PVEC_CHAR_TABLE,796,29864 - PVEC_SUB_CHAR_TABLE,797,29883 - PVEC_FONT 798,29906 -enum More_Lisp_Bits801,29982 - PSEUDOVECTOR_SIZE_BITS 808,30373 - PSEUDOVECTOR_SIZE_MASK 809,30406 - PSEUDOVECTOR_REST_BITS 813,30616 - PSEUDOVECTOR_REST_MASK 814,30649 - PSEUDOVECTOR_AREA_BITS 818,30814 - PVEC_TYPE_MASK 819,30892 -# define VALMASK 829,31293 -DEFINE_GDB_SYMBOL_BEGIN VALMASK828,31248 -#define MOST_POSITIVE_FIXNUM 834,31523 -#define MOST_NEGATIVE_FIXNUM 835,31583 -XINT 874,32675 -XFASTINT 889,33026 -XSYMBOL 899,33254 -XTYPE 910,33472 -XUNTAG 918,33652 -LISP_MACRO_DEFUN 927,33848 -LISP_MACRO_DEFUN 940,34233 -#define FIXNUM_OVERFLOW_P(958,34846 -LISP_MACRO_DEFUN FIXNUM_OVERFLOW_P952,34623 -LISP_MACRO_DEFUN 970,35162 -XSTRING 980,35382 -#define SYMBOL_INDEX(988,35566 -XFLOAT 991,35627 -XPROCESS 1000,35769 -XWINDOW 1007,35886 -XTERMINAL 1014,36003 -XSUBR 1021,36125 -XBUFFER 1028,36236 -XCHAR_TABLE 1035,36360 -XSUB_CHAR_TABLE 1042,36497 -XBOOL_VECTOR 1049,36639 -make_lisp_ptr 1058,36818 -make_lisp_symbol 1066,37004 -builtin_lisp_symbol 1074,37188 -#define XSETINT(1079,37270 -#define XSETFASTINT(1080,37316 -#define XSETCONS(1081,37366 -#define XSETVECTOR(1082,37426 -#define XSETSTRING(1083,37494 -#define XSETSYMBOL(1084,37558 -#define XSETFLOAT(1085,37612 -#define XSETMISC(1086,37674 -#define XSETPVECTYPE(1090,37763 -#define XSETPVECTYPESIZE(1092,37879 -#define XSETPSEUDOVECTOR(1099,38176 -#define XSETTYPED_PSEUDOVECTOR(1105,38360 -#define XSETWINDOW_CONFIGURATION(1110,38570 -#define XSETPROCESS(1112,38666 -#define XSETWINDOW(1113,38732 -#define XSETTERMINAL(1114,38796 -#define XSETSUBR(1115,38864 -#define XSETCOMPILED(1116,38924 -#define XSETBUFFER(1117,38992 -#define XSETCHAR_TABLE(1118,39056 -#define XSETBOOL_VECTOR(1119,39128 -#define XSETSUB_CHAR_TABLE(1120,39202 -XINTPTR 1128,39572 -make_pointer_integer 1134,39652 -LISP_MACRO_DEFUN_VOID 1143,39817 -typedef struct interval *INTERVAL;INTERVAL1149,39978 - Lisp_Object cdr;1159,40153 - struct Lisp_Cons *chain;chain1162,40227 -xcar_addr 1174,40751 -xcdr_addr 1179,40828 -LISP_MACRO_DEFUN 1185,40922 -XSETCDR 1198,41298 -CAR 1205,41448 -CDR 1212,41582 -CAR_SAFE 1221,41782 -CDR_SAFE 1226,41868 -STRING_MULTIBYTE 1243,42241 -#define STRING_BYTES_BOUND 1261,43048 -#define STRING_SET_UNIBYTE(1265,43192 -#define STRING_SET_MULTIBYTE(1275,43507 -SDATA 1286,43821 -SSDATA 1291,43899 -SREF 1297,44028 -SSET 1302,44119 -SCHARS 1307,44233 -extern ptrdiff_t string_bytes 1313,44328 -STRING_BYTES 1316,44406 -SBYTES 1326,44586 -STRING_SET_CHARS 1331,44672 -struct vectorlike_header1343,45223 - ptrdiff_t size;1364,46374 -struct Lisp_Vector1369,46473 - struct vectorlike_header header;1371,46496 - Lisp_Object contents[contents1372,46533 - ALIGNOF_STRUCT_LISP_VECTOR1378,46672 -struct Lisp_Bool_Vector1384,46855 - struct vectorlike_header header;1388,47003 - EMACS_INT size;1390,47077 - bits_word data[data1395,47310 -bool_vector_size 1399,47376 -bool_vector_data 1407,47514 -bool_vector_uchar_data 1413,47608 -bool_vector_words 1421,47794 -bool_vector_bytes 1428,47989 -bool_vector_bitref 1437,48229 -bool_vector_ref 1445,48469 -bool_vector_set 1453,48609 - header_size 1471,49038 - bool_header_size 1472,49097 - word_size 1473,49162 -AREF 1479,49275 -aref_addr 1485,49382 -ASIZE 1491,49492 -ASET 1497,49574 -gc_aset 1504,49733 -enum { NIL_IS_ZERO 1515,50260 -memclear 1520,50455 -#define VECSIZE(1531,50753 -#define PSEUDOVECSIZE(1538,51038 -#define UNSIGNED_CMP(1546,51471 -#define ASCII_CHAR_P(1552,51725 -enum CHARTAB_SIZE_BITS1565,52480 - CHARTAB_SIZE_BITS_0 1567,52507 - CHARTAB_SIZE_BITS_1 1568,52536 - CHARTAB_SIZE_BITS_2 1569,52565 - CHARTAB_SIZE_BITS_3 1570,52594 -extern const int chartab_size[chartab_size1573,52628 -struct Lisp_Char_Table1575,52663 - struct vectorlike_header header;1581,52919 - Lisp_Object defalt;1585,53069 - Lisp_Object parent;1590,53271 - Lisp_Object purpose;1594,53389 - Lisp_Object ascii;1598,53555 - Lisp_Object contents[contents1600,53579 - Lisp_Object extras[extras1603,53690 -struct Lisp_Sub_Char_Table1606,53743 - struct vectorlike_header header;1610,53909 - int depth;1618,54332 - int min_char;1621,54408 - Lisp_Object contents[contents1624,54483 -CHAR_TABLE_REF_ASCII 1628,54557 -CHAR_TABLE_REF 1648,55104 -CHAR_TABLE_SET 1658,55393 -struct Lisp_Subr1670,55777 - struct vectorlike_header header;1672,55798 - Lisp_Object (*a0)a01674,55847 - Lisp_Object (*a1)a11675,55879 - Lisp_Object (*a2)a21676,55918 - Lisp_Object (*a3)a31677,55970 - Lisp_Object (*a4)a41678,56035 - Lisp_Object (*a5)a51679,56113 - Lisp_Object (*a6)a61680,56204 - Lisp_Object (*a7)a71681,56308 - Lisp_Object (*a8)a81682,56425 - Lisp_Object (*aUNEVALLED)aUNEVALLED1683,56555 - Lisp_Object (*aMANY)aMANY1684,56607 - } function;1685,56662 - short min_args,1686,56678 - short min_args, max_args;1686,56678 - const char *symbol_name;symbol_name1687,56708 - const char *intspec;intspec1688,56737 - const char *doc;doc1689,56762 -enum char_table_specials1692,56789 - CHAR_TABLE_STANDARD_SLOTS 1697,56984 - SUB_CHAR_TABLE_OFFSET 1701,57205 -CHAR_TABLE_EXTRA_SLOTS 1707,57368 -verify 1714,57587 -LISP_MACRO_DEFUN 1723,57912 -SYMBOL_BLV 1732,58172 -SYMBOL_FWD 1738,58307 -LISP_MACRO_DEFUN_VOID 1744,58419 -SET_SYMBOL_BLV 1754,58682 -SET_SYMBOL_FWD 1760,58841 -SYMBOL_NAME 1767,58992 -SYMBOL_INTERNED_P 1775,59121 -SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P 1783,59290 -#define DEFSYM(1796,59800 -LISP_MACRO_DEFUN DEFSYM1792,59621 -struct hash_table_test1805,60053 - Lisp_Object name;1808,60130 - Lisp_Object user_hash_function;1811,60197 - Lisp_Object user_cmp_function;1814,60288 - bool (*cmpfn)cmpfn1817,60363 - EMACS_UINT (*hashfn)hashfn1820,60477 -struct Lisp_Hash_Table1823,60546 - struct vectorlike_header header;1826,60640 - Lisp_Object weak;1830,60774 - Lisp_Object rehash_size;1835,60998 - Lisp_Object rehash_threshold;1839,61120 - Lisp_Object hash;1843,61251 - Lisp_Object next;1848,61481 - Lisp_Object next_free;1851,61551 - Lisp_Object index;1856,61762 - ptrdiff_t count;1863,62032 - Lisp_Object key_and_value;1868,62231 - struct hash_table_test test;1871,62305 - struct Lisp_Hash_Table *next_weak;next_weak1875,62448 -XHASH_TABLE 1880,62522 -#define XSET_HASH_TABLE(1885,62593 -HASH_TABLE_P 1889,62694 -HASH_KEY 1896,62851 -HASH_VALUE 1903,63031 -HASH_NEXT 1911,63245 -HASH_HASH 1918,63422 -HASH_INDEX 1926,63668 -HASH_TABLE_SIZE 1933,63817 -enum DEFAULT_HASH_SIZE 1940,63947 -enum DEFAULT_HASH_SIZE { DEFAULT_HASH_SIZE 1940,63947 -static double const DEFAULT_REHASH_THRESHOLD 1946,64167 -static double const DEFAULT_REHASH_SIZE 1950,64290 -sxhash_combine 1956,64456 -SXHASH_REDUCE 1964,64639 -struct Lisp_Misc_Any 1971,64797 - ENUM_BF (Lisp_Misc_Type) type 1973,64857 - bool_bf gcmarkbit 1974,64918 - unsigned spacer 1975,64943 -struct Lisp_Marker1978,64971 - ENUM_BF (Lisp_Misc_Type) type 1980,64992 - bool_bf gcmarkbit 1981,65056 - unsigned spacer 1982,65081 - bool_bf need_adjustment 1986,65273 - bool_bf insertion_type 1989,65414 - struct buffer *buffer;buffer2000,66007 - struct Lisp_Marker *next;next2009,66358 - ptrdiff_t charpos;2011,66446 - ptrdiff_t bytepos;2016,66704 -struct Lisp_Overlay2021,66832 - ENUM_BF (Lisp_Misc_Type) type 2034,67340 - bool_bf gcmarkbit 2035,67406 - unsigned spacer 2036,67433 - struct Lisp_Overlay *next;next2037,67459 - Lisp_Object start;2038,67490 - Lisp_Object end;2039,67513 - Lisp_Object plist;2040,67534 - SAVE_UNUSED,2047,67635 - SAVE_INTEGER,2048,67652 - SAVE_FUNCPOINTER,2049,67670 - SAVE_POINTER,2050,67692 - SAVE_OBJECT2051,67710 -enum { SAVE_SLOT_BITS 2055,67795 -enum { SAVE_VALUE_SLOTS 2058,67892 -enum { SAVE_TYPE_BITS 2062,68000 -enum Lisp_Save_Type2064,68066 - SAVE_TYPE_INT_INT 2066,68090 - SAVE_TYPE_INT_INT_INT2067,68163 - SAVE_TYPE_OBJ_OBJ 2069,68253 - SAVE_TYPE_OBJ_OBJ_OBJ 2070,68324 - SAVE_TYPE_OBJ_OBJ_OBJ_OBJ2071,68405 - SAVE_TYPE_PTR_INT 2073,68500 - SAVE_TYPE_PTR_OBJ 2074,68573 - SAVE_TYPE_PTR_PTR 2075,68645 - SAVE_TYPE_FUNCPTR_PTR_OBJ2076,68718 - SAVE_TYPE_MEMORY 2080,68876 -typedef void (*voidfuncptr)voidfuncptr2108,69830 -struct Lisp_Save_Value2110,69867 - ENUM_BF (Lisp_Misc_Type) type 2112,69894 - bool_bf gcmarkbit 2113,69963 - unsigned spacer : 32 - (16 + 1 + SAVE_TYPE_BITS)2114,69990 - ENUM_BF (Lisp_Save_Type) save_type : SAVE_TYPE_BITS;2123,70480 - void *pointer;pointer2125,70549 - voidfuncptr funcpointer;2126,70570 - ptrdiff_t integer;2127,70601 - Lisp_Object object;2128,70626 - } data[data2129,70652 -save_type 2134,70746 -XSAVE_POINTER 2143,70976 -set_save_pointer 2149,71138 -XSAVE_FUNCPOINTER 2155,71320 -XSAVE_INTEGER 2164,71540 -set_save_integer 2170,71702 -XSAVE_OBJECT 2179,71923 -struct Lisp_Finalizer2186,72100 - struct Lisp_Misc_Any base;2188,72126 - struct Lisp_Finalizer *prev;prev2191,72214 - struct Lisp_Finalizer *next;next2192,72247 - Lisp_Object function;2197,72484 -struct Lisp_Free2201,72575 - ENUM_BF (Lisp_Misc_Type) type 2203,72596 - bool_bf gcmarkbit 2204,72659 - unsigned spacer 2205,72686 - union Lisp_Misc *chain;chain2206,72712 -union Lisp_Misc2212,72876 - struct Lisp_Misc_Any u_any;2214,72896 - struct Lisp_Free u_free;2215,72967 - struct Lisp_Marker u_marker;2216,72996 - struct Lisp_Overlay u_overlay;2217,73029 - struct Lisp_Save_Value u_save_value;2218,73064 - struct Lisp_Finalizer u_finalizer;2219,73105 -XMISC 2223,73175 -XMISCANY 2229,73264 -XMISCTYPE 2236,73373 -XMARKER 2242,73461 -XOVERLAY 2249,73576 -XSAVE_VALUE 2256,73697 -XFINALIZER 2263,73826 -struct Lisp_Intfwd2274,74111 - enum Lisp_Fwd_Type type;2276,74134 - EMACS_INT *intvar;intvar2277,74184 -struct Lisp_Boolfwd2284,74405 - enum Lisp_Fwd_Type type;2286,74429 - bool *boolvar;boolvar2287,74480 -struct Lisp_Objfwd2294,74696 - enum Lisp_Fwd_Type type;2296,74719 - Lisp_Object *objvar;objvar2297,74769 -struct Lisp_Buffer_Objfwd2302,74928 - enum Lisp_Fwd_Type type;2304,74958 - int offset;2305,75015 - Lisp_Object predicate;2307,75107 -struct Lisp_Buffer_Local_Value2334,76464 - bool_bf local_if_set 2338,76609 - bool_bf frame_local 2341,76791 - bool_bf found 2344,76933 - union Lisp_Fwd *fwd;fwd2346,77035 - Lisp_Object where;2348,77178 - Lisp_Object defcell;2351,77304 - Lisp_Object valcell;2357,77608 -struct Lisp_Kboard_Objfwd2362,77723 - enum Lisp_Fwd_Type type;2364,77753 - int offset;2365,77810 -union Lisp_Fwd2368,77832 - struct Lisp_Intfwd u_intfwd;2370,77851 - struct Lisp_Boolfwd u_boolfwd;2371,77884 - struct Lisp_Objfwd u_objfwd;2372,77919 - struct Lisp_Buffer_Objfwd u_buffer_objfwd;2373,77952 - struct Lisp_Kboard_Objfwd u_kboard_objfwd;2374,77999 -XFWDTYPE 2378,78078 -XBUFFER_OBJFWD 2384,78174 -struct Lisp_Float2391,78310 - double data;2395,78348 - struct Lisp_Float *chain;chain2396,78367 - } u;2397,78399 -XFLOAT_DATA 2401,78428 - IEEE_FLOATING_POINT2415,78937 -#define _UCHAR_T2423,79260 -typedef unsigned char UCHAR;2424,79277 -enum Lisp_Compiled2429,79360 - COMPILED_ARGLIST 2431,79383 - COMPILED_BYTECODE 2432,79409 - COMPILED_CONSTANTS 2433,79436 - COMPILED_STACK_DEPTH 2434,79464 - COMPILED_DOC_STRING 2435,79494 - COMPILED_INTERACTIVE 2436,79523 -enum char_bits2443,79825 - CHAR_ALT 2445,79844 - CHAR_SUPER 2446,79870 - CHAR_HYPER 2447,79898 - CHAR_SHIFT 2448,79926 - CHAR_CTL 2449,79954 - CHAR_META 2450,79980 - CHAR_MODIFIER_MASK 2452,80008 - CHARACTERBITS 2457,80203 -LISP_MACRO_DEFUN 2462,80261 -NATNUMP 2470,80403 -RANGED_INTEGERP 2476,80484 -#define TYPE_RANGED_INTEGERP(2481,80606 -LISP_MACRO_DEFUN 2486,80791 -VECTORP 2500,81264 -OVERLAYP 2505,81367 -SAVE_VALUEP 2510,81466 -FINALIZERP 2516,81572 -AUTOLOADP 2522,81676 -BUFFER_OBJFWDP 2528,81767 -PSEUDOVECTOR_TYPEP 2534,81865 -PSEUDOVECTORP 2542,82118 -WINDOW_CONFIGURATIONP 2558,82470 -PROCESSP 2564,82580 -WINDOWP 2570,82664 -TERMINALP 2576,82746 -SUBRP 2582,82832 -COMPILEDP 2588,82910 -BUFFERP 2594,82996 -CHAR_TABLE_P 2600,83078 -SUB_CHAR_TABLE_P 2606,83169 -BOOL_VECTOR_P 2612,83268 -FRAMEP 2618,83361 -IMAGEP 2625,83478 -ARRAYP 2632,83583 -CHECK_LIST 2638,83702 -LISP_MACRO_DEFUN_VOID 2643,83783 -CHECK_STRING_CAR 2653,84080 -CHECK_CONS 2658,84184 -CHECK_VECTOR 2663,84264 -CHECK_BOOL_VECTOR 2668,84350 -CHECK_VECTOR_OR_STRING 2674,84527 -CHECK_ARRAY 2683,84701 -CHECK_BUFFER 2688,84809 -CHECK_WINDOW 2693,84895 -CHECK_PROCESS 2699,85001 -CHECK_NATNUM 2705,85097 -#define CHECK_RANGED_INTEGER(2710,85174 -#define CHECK_TYPE_RANGED_INTEGER(2721,85557 -#define CHECK_NUMBER_COERCE_MARKER(2729,85827 -XFLOATINT 2738,86080 -CHECK_NUMBER_OR_FLOAT 2744,86151 -#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(2749,86250 -CHECK_NUMBER_CAR 2760,86660 -CHECK_NUMBER_CDR 2768,86782 -#define DEFUN(2803,88377 -#define DEFUN(2812,88845 -FUNCTIONP 2822,89200 -extern void defsubr 2829,89352 -enum maxargs2831,89395 - MANY 2833,89412 - UNEVALLED 2834,89427 -#define CALLMANY(2838,89530 -#define CALLN(2844,89883 -extern void defvar_lisp 2846,89953 -extern void defvar_lisp_nopro 2847,90030 -extern void defvar_bool 2848,90113 -extern void defvar_int 2849,90184 -extern void defvar_kboard 2850,90258 -#define DEFVAR_LISP(2869,91088 -#define DEFVAR_LISP_NOPRO(2874,91260 -#define DEFVAR_BOOL(2879,91442 -#define DEFVAR_INT(2884,91615 -#define DEFVAR_BUFFER_DEFAULTS(2890,91786 -#define DEFVAR_KBOARD(2896,91990 -typedef jmp_buf sys_jmp_buf;2906,92314 -# define sys_setjmp(2907,92343 -# define sys_longjmp(2908,92378 -typedef sigjmp_buf sys_jmp_buf;2910,92450 -# define sys_setjmp(2911,92482 -# define sys_longjmp(2912,92522 -typedef jmp_buf sys_jmp_buf;2916,92681 -# define sys_setjmp(2917,92710 -# define sys_longjmp(2918,92744 -enum specbind_tag 2943,93796 - SPECPDL_UNWIND,2944,93816 - SPECPDL_UNWIND_PTR,2945,93885 - SPECPDL_UNWIND_INT,2946,93936 - SPECPDL_UNWIND_VOID,2947,93984 - SPECPDL_BACKTRACE,2948,94038 - SPECPDL_LET,2949,94096 - SPECPDL_LET_LOCAL,2951,94226 - SPECPDL_LET_DEFAULT 2952,94283 -union specbinding2955,94355 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2957,94377 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2959,94434 - void (*func)func2960,94480 - Lisp_Object arg;2961,94514 - } unwind;2962,94537 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2964,94564 - void (*func)func2965,94610 - void *arg;arg2966,94639 - } unwind_ptr;2967,94656 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2969,94687 - void (*func)func2970,94733 - int arg;2971,94759 - } unwind_int;2972,94774 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2974,94805 - void (*func)func2975,94851 - } unwind_void;2976,94878 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2978,94910 - Lisp_Object symbol,2980,95017 - Lisp_Object symbol, old_value,2980,95017 - Lisp_Object symbol, old_value, where;2980,95017 - } let;2981,95061 - ENUM_BF (specbind_tag) kind : CHAR_BIT;2983,95085 - bool_bf debug_on_exit 2984,95131 - Lisp_Object function;2985,95164 - Lisp_Object *args;args2986,95192 - ptrdiff_t nargs;2987,95217 - } bt;2988,95240 -extern union specbinding *specpdl;specpdl2991,95256 -extern union specbinding *specpdl_ptr;specpdl_ptr2992,95291 -extern ptrdiff_t specpdl_size;2993,95330 -SPECPDL_INDEX 2996,95379 -enum handlertype 3021,96401 -enum handlertype { CATCHER,3021,96401 -enum handlertype { CATCHER, CONDITION_CASE 3021,96401 -struct handler3023,96448 - enum handlertype type;3025,96465 - Lisp_Object tag_or_ch;3026,96490 - Lisp_Object val;3027,96515 - struct handler *next;next3028,96534 - struct handler *nextfree;nextfree3029,96558 - Lisp_Object *bytecode_top;bytecode_top3036,96916 - int bytecode_dest;3037,96945 - struct gcpro *gcpro;gcpro3042,97182 - sys_jmp_buf jmp;3044,97212 - EMACS_INT lisp_eval_depth;3045,97231 - ptrdiff_t pdlcount;3046,97260 - int poll_suppress_count;3047,97282 - int interrupt_input_blocked;3048,97309 - struct byte_stack *byte_stack;byte_stack3049,97340 -#define PUSH_HANDLER(3053,97437 -extern Lisp_Object memory_signal_data;3075,98143 -extern char *stack_bottom;stack_bottom3079,98276 -extern void process_pending_signals 3097,99093 -extern bool volatile pending_signals;3098,99137 -extern void process_quit_flag 3100,99176 -#define QUIT 3101,99214 -#define QUITP 3112,99464 -extern Lisp_Object Vascii_downcase_table;3114,99525 -extern Lisp_Object Vascii_canon_table;3115,99567 -extern struct gcpro *gcprolist;gcprolist3130,100274 -struct gcpro3132,100307 - struct gcpro *next;next3134,100322 - volatile Lisp_Object *var;var3137,100391 - ptrdiff_t nvars;3140,100473 - const char *name;name3144,100558 - int lineno;3147,100614 - int idx;3150,100675 - int level;3153,100711 -#define GC_USE_GCPROS_AS_BEFORE 3171,101288 -#define GC_MAKE_GCPROS_NOOPS 3172,101323 -#define GC_MARK_STACK_CHECK_GCPROS 3173,101355 -#define GC_USE_GCPROS_CHECK_ZOMBIES 3174,101392 -#define GC_MARK_STACK 3177,101453 -#define BYTE_MARK_STACK 3181,101553 -#define GCPRO1(3190,101824 -#define GCPRO2(3191,101864 -#define GCPRO3(3192,101930 -#define GCPRO4(3194,102025 -#define GCPRO5(3196,102145 -#define GCPRO6(3198,102290 -#define GCPRO7(3201,102465 -#define UNGCPRO 3202,102544 -#define GCPRO1(3208,102644 -#define GCPRO2(3212,102766 -#define GCPRO3(3217,102958 -#define GCPRO4(3223,103220 -#define GCPRO5(3230,103551 -#define GCPRO6(3238,103952 -#define GCPRO7(3247,104422 -#define UNGCPRO 3257,104962 -extern int gcpro_level;3261,105031 -#define GCPRO1(3263,105056 -#define GCPRO2(3269,105290 -#define GCPRO3(3278,105708 -#define GCPRO4(3289,106265 -#define GCPRO5(3302,106963 -#define GCPRO6(3317,107803 -#define GCPRO7(3334,108784 -#define UNGCPRO 3353,109907 -#define RETURN_UNGCPRO(3363,110174 -void staticpro 3375,110447 -vcopy 3384,110648 -set_hash_key_slot 3393,110923 -set_hash_value_slot 3399,111062 -set_symbol_function 3408,111297 -set_symbol_plist 3414,111412 -set_symbol_next 3420,111515 -blv_found 3428,111688 -set_overlay_plist 3437,111871 -string_intervals 3445,112022 -set_string_intervals 3453,112144 -set_char_table_defalt 3462,112346 -set_char_table_purpose 3467,112458 -set_char_table_extras 3475,112627 -set_char_table_contents 3482,112836 -set_sub_char_table_contents 3489,113031 -extern Lisp_Object indirect_function 3495,113190 -extern Lisp_Object find_symbol_value 3496,113242 -enum Arith_Comparison 3497,113294 - ARITH_EQUAL,3498,113318 - ARITH_NOTEQUAL,3499,113333 - ARITH_LESS,3500,113351 - ARITH_GRTR,3501,113365 - ARITH_LESS_OR_EQUAL,3502,113379 - ARITH_GRTR_OR_EQUAL3503,113402 -extern Lisp_Object arithcompare 3505,113427 -#define INTEGER_TO_CONS(3511,113753 -#define CONS_TO_INTEGER(3529,114616 -extern intmax_t cons_to_signed 3533,114831 -extern uintmax_t cons_to_unsigned 3534,114897 -extern struct Lisp_Symbol *indirect_variable indirect_variable3536,114958 -extern _Noreturn void args_out_of_range 3537,115027 -extern _Noreturn void args_out_of_range_3 3538,115095 -extern Lisp_Object do_symval_forwarding 3540,115186 -extern void set_internal 3541,115246 -extern void syms_of_data 3542,115318 -extern void swap_in_global_binding 3543,115351 -extern void syms_of_cmds 3546,115435 -extern void keys_of_cmds 3547,115468 -extern Lisp_Object detect_coding_system 3550,115530 -extern void init_coding 3552,115683 -extern void init_coding_once 3553,115715 -extern void syms_of_coding 3554,115752 -extern ptrdiff_t chars_in_text 3557,115819 -extern ptrdiff_t multibyte_chars_in_text 3558,115886 -extern void syms_of_character 3559,115963 -extern void init_charset 3562,116031 -extern void init_charset_once 3563,116064 -extern void syms_of_charset 3564,116102 -extern void init_syntax_once 3569,116222 -extern void syms_of_syntax 3570,116259 -enum { NEXT_ALMOST_PRIME_LIMIT 3573,116320 -extern EMACS_INT next_almost_prime 3574,116359 -enum constype 3739,123811 -enum constype {CONSTYPE_HEAP,CONSTYPE_HEAP3739,123811 -enum constype {CONSTYPE_HEAP, CONSTYPE_PURE}CONSTYPE_PURE3739,123811 -extern Lisp_Object listn 3740,123857 -list2i 3745,124001 -list3i 3751,124110 -list4i 3757,124249 -extern Lisp_Object make_uninit_bool_vector 3763,124401 -extern Lisp_Object bool_vector_fill 3764,124457 -extern _Noreturn void string_overflow 3765,124521 -extern Lisp_Object make_string 3766,124567 -extern Lisp_Object make_formatted_string 3767,124625 -extern Lisp_Object make_multibyte_string 3779,124979 -extern Lisp_Object make_event_array 3780,125058 -extern Lisp_Object make_uninit_string 3781,125122 -extern Lisp_Object make_uninit_multibyte_string 3782,125173 -extern Lisp_Object make_string_from_bytes 3783,125245 -extern Lisp_Object make_specified_string 3784,125325 -extern Lisp_Object make_pure_string 3786,125417 -extern Lisp_Object make_pure_c_string 3787,125497 -build_pure_c_string 3792,125653 -build_string 3801,125858 -extern Lisp_Object pure_cons 3806,125936 -extern void make_byte_code 3807,125993 -extern struct Lisp_Vector *allocate_vector allocate_vector3808,126044 -make_uninit_vector 3820,126429 -make_uninit_sub_char_table 3833,126648 -extern struct Lisp_Vector *allocate_pseudovector allocate_pseudovector3844,126957 -#define ALLOCATE_PSEUDOVECTOR(3850,127192 -#define ALLOCATE_ZEROED_PSEUDOVECTOR(3858,127528 -extern bool gc_in_progress;3863,127729 -extern bool abort_on_gc;3864,127757 -extern Lisp_Object make_float 3865,127782 -extern void display_malloc_warning 3866,127822 -extern ptrdiff_t inhibit_garbage_collection 3867,127865 -extern Lisp_Object make_save_int_int_int 3868,127917 -extern Lisp_Object make_save_obj_obj_obj_obj 3869,127993 -extern Lisp_Object make_save_ptr 3871,128103 -extern Lisp_Object make_save_ptr_int 3872,128146 -extern Lisp_Object make_save_ptr_ptr 3873,128204 -extern Lisp_Object make_save_funcptr_ptr_obj 3874,128259 -extern Lisp_Object make_save_memory 3876,128355 -extern void free_save_value 3877,128419 -extern Lisp_Object build_overlay 3878,128462 -extern void free_marker 3879,128536 -extern void free_cons 3880,128575 -extern void init_alloc_once 3881,128619 -extern void init_alloc 3882,128655 -extern void syms_of_alloc 3883,128686 -extern struct buffer * allocate_buffer 3884,128720 -extern int valid_lisp_object_p 3885,128767 -extern int relocatable_string_data_p 3886,128813 -extern void check_cons_list 3888,128892 -INLINE void 3890,128934 -extern void *r_alloc r_alloc3895,129055 -#define FLOAT_TO_STRING_BUFSIZE 3927,130518 -extern int openp 3957,131667 -extern Lisp_Object string_to_number 3959,131777 -extern void map_obarray 3960,131840 -extern void dir_warning 3962,131954 -extern void init_obarray 3963,132007 -extern void init_lread 3964,132040 -extern void syms_of_lread 3965,132071 -intern 3968,132125 -intern_c_string 3974,132213 -extern EMACS_INT lisp_eval_depth;3980,132326 -extern Lisp_Object Vautoload_queue;3981,132360 -extern Lisp_Object Vrun_hooks;3982,132396 -extern Lisp_Object Vsignaling_function;3983,132427 -extern Lisp_Object inhibit_lisp_code;3984,132467 -extern struct handler *handlerlist;handlerlist3985,132505 -extern void run_hook 3994,132747 -extern void run_hook_with_args_2 3995,132783 -extern Lisp_Object run_hook_with_args 3996,132857 -extern _Noreturn void xsignal 3999,133016 -extern _Noreturn void xsignal0 4000,133074 -extern _Noreturn void xsignal1 4001,133120 -extern _Noreturn void xsignal2 4002,133179 -extern _Noreturn void xsignal3 4003,133251 -extern _Noreturn void signal_error 4005,133340 -extern Lisp_Object eval_sub 4006,133404 -extern Lisp_Object apply1 4007,133452 -extern Lisp_Object call0 4008,133506 -extern Lisp_Object call1 4009,133546 -extern Lisp_Object call2 4010,133599 -extern Lisp_Object call3 4011,133665 -extern Lisp_Object call4 4012,133744 -extern Lisp_Object call5 4013,133836 -extern Lisp_Object call6 4014,133941 -extern Lisp_Object call7 4015,134059 -extern Lisp_Object internal_catch 4016,134190 -extern Lisp_Object internal_lisp_condition_case 4017,134283 -extern Lisp_Object internal_condition_case 4018,134372 -extern Lisp_Object internal_condition_case_1 4019,134485 -extern Lisp_Object internal_condition_case_2 4020,134620 -extern Lisp_Object internal_condition_case_n4021,134781 -extern void specbind 4024,134977 -extern void record_unwind_protect 4025,135026 -extern void record_unwind_protect_ptr 4026,135099 -extern void record_unwind_protect_int 4027,135166 -extern void record_unwind_protect_void 4028,135227 -extern void record_unwind_protect_nothing 4029,135285 -extern void clear_unwind_protect 4030,135335 -extern void set_unwind_protect 4031,135381 -extern void set_unwind_protect_ptr 4032,135462 -extern Lisp_Object unbind_to 4033,135537 -extern _Noreturn void error 4034,135592 -fast_string_match_ignore_case 4136,140080 -extern ptrdiff_t fast_c_string_match_ignore_case 4141,140230 -extern ptrdiff_t fast_looking_at 4143,140327 -extern ptrdiff_t find_newline 4145,140466 -extern ptrdiff_t scan_newline 4147,140595 -extern ptrdiff_t scan_newline_from_point 4149,140698 -extern ptrdiff_t find_newline_no_quit 4150,140778 -extern ptrdiff_t find_before_next_newline 4152,140875 -extern void syms_of_search 4154,140973 -extern void clear_regexp_cache 4155,141008 -extern Lisp_Object Vminibuffer_list;4159,141078 -extern Lisp_Object last_minibuf_string;4160,141115 -extern Lisp_Object get_minibuffer 4161,141155 -extern void init_minibuf_once 4162,141202 -extern void syms_of_minibuf 4163,141240 -extern void syms_of_callint 4167,141307 -extern void syms_of_casefiddle 4171,141377 -extern void keys_of_casefiddle 4172,141416 -extern void init_casetab_once 4176,141486 -extern void syms_of_casetab 4177,141524 -extern Lisp_Object echo_message_buffer;4181,141592 -extern struct kboard *echo_kboard;echo_kboard4182,141632 -extern void cancel_echoing 4183,141667 -extern Lisp_Object last_undo_boundary;4184,141702 -extern bool input_pending;4185,141741 -extern sigjmp_buf return_to_command_loop;4187,141804 -extern Lisp_Object menu_bar_items 4189,141853 -extern Lisp_Object tool_bar_items 4190,141902 -extern void discard_mouse_events 4191,141958 -void handle_input_available_signal 4193,142019 -extern Lisp_Object pending_funcalls;4195,142068 -extern bool detect_input_pending 4196,142105 -extern bool detect_input_pending_ignore_squeezables 4197,142146 -extern bool detect_input_pending_run_timers 4198,142206 -extern void safe_run_hooks 4199,142258 -extern void cmd_error_internal 4200,142300 -extern Lisp_Object command_loop_1 4201,142360 -extern Lisp_Object read_menu_command 4202,142402 -extern Lisp_Object recursive_edit_1 4203,142447 -extern void record_auto_save 4204,142491 -extern void force_auto_save_soon 4205,142528 -extern void init_keyboard 4206,142569 -extern void syms_of_keyboard 4207,142603 -extern void keys_of_keyboard 4208,142640 -extern ptrdiff_t current_column 4211,142706 -extern void invalidate_current_column 4212,142746 -extern bool indented_beyond_p 4213,142792 -extern void syms_of_indent 4214,142857 -extern void store_frame_param 4217,142920 -extern void store_in_alist 4218,142994 -extern Lisp_Object do_switch_frame 4219,143064 -extern Lisp_Object get_frame_param 4220,143137 -extern void frames_discard_buffer 4221,143203 -extern void syms_of_frame 4222,143252 -extern char **initial_argv;initial_argv4225,143314 -extern int initial_argc;4226,143342 -extern bool display_arg;4228,143417 -extern Lisp_Object decode_env_path 4230,143449 -extern Lisp_Object empty_unibyte_string,4231,143520 -extern Lisp_Object empty_unibyte_string, empty_multibyte_string;4231,143520 -extern _Noreturn void terminate_due_to_signal 4232,143585 -extern Lisp_Object Vlibrary_cache;4234,143660 -void fixup_locale 4237,143721 -void synchronize_system_messages_locale 4238,143747 -void synchronize_system_time_locale 4239,143795 -INLINE void fixup_locale 4241,143845 -INLINE void synchronize_system_messages_locale 4242,143880 -INLINE void synchronize_system_time_locale 4243,143937 -extern void shut_down_emacs 4245,143997 -extern bool noninteractive;4248,144123 -extern bool no_site_lisp;4251,144215 -extern int daemon_pipe[daemon_pipe4256,144383 -#define IS_DAEMON 4257,144410 -#define DAEMON_RUNNING 4258,144450 -extern void *w32_daemon_event;w32_daemon_event4260,144518 -#define IS_DAEMON 4261,144549 -#define DAEMON_RUNNING 4262,144594 -extern bool fatal_error_in_progress;4266,144715 -extern bool inhibit_window_system;4269,144821 -extern bool running_asynch_code;4271,144914 -extern void kill_buffer_processes 4274,144977 -extern int wait_reading_process_output 4275,145026 -# define WAIT_READING_MAX 4281,145413 -# define WAIT_READING_MAX 4283,145485 -extern void add_timer_wait_descriptor 4286,145549 -extern void add_keyboard_wait_descriptor 4288,145601 -extern void delete_keyboard_wait_descriptor 4289,145649 -extern void add_gpm_wait_descriptor 4291,145716 -extern void delete_gpm_wait_descriptor 4292,145759 -extern void init_process_emacs 4294,145812 -extern void syms_of_process 4295,145851 -extern void setup_process_coding_systems 4296,145887 -extern int child_setup 4302,146007 -extern void init_callproc_1 4303,146075 -extern void init_callproc 4304,146111 -extern void set_initial_environment 4305,146145 -extern void syms_of_callproc 4306,146189 -extern Lisp_Object read_doc_string 4309,146252 -extern Lisp_Object get_doc_string 4310,146302 -extern void syms_of_doc 4311,146363 -extern int read_bytecode_char 4312,146395 -extern void syms_of_bytecode 4315,146464 -extern struct byte_stack *byte_stack_list;byte_stack_list4316,146501 -extern void mark_byte_stack 4318,146564 -extern void unmark_byte_stack 4320,146607 -extern Lisp_Object exec_byte_code 4321,146645 -extern void init_macros 4325,146795 -extern void syms_of_macros 4326,146827 -extern void truncate_undo_list 4329,146889 -extern void record_insert 4330,146939 -extern void record_delete 4331,146989 -extern void record_first_change 4332,147047 -extern void record_change 4333,147087 -extern void record_property_change 4334,147137 -extern void syms_of_undo 4337,147279 -extern void report_interval_modification 4340,147343 -extern void syms_of_menu 4343,147439 -extern void syms_of_xmenu 4346,147500 -extern char *get_current_dir_name get_current_dir_name4356,147702 -extern void stuff_char 4358,147751 -extern void init_foreground_group 4359,147784 -extern void sys_subshell 4360,147826 -extern void sys_suspend 4361,147859 -extern void discard_tty_input 4362,147891 -extern void init_sys_modes 4363,147929 -extern void reset_sys_modes 4364,147985 -extern void init_all_sys_modes 4365,148042 -extern void reset_all_sys_modes 4366,148081 -extern void child_setup_tty 4367,148121 -extern void setup_pty 4368,148156 -extern int set_window_size 4369,148185 -extern EMACS_INT get_random 4370,148229 -extern void seed_random 4371,148265 -extern void init_random 4372,148310 -extern void emacs_backtrace 4373,148342 -extern _Noreturn void emacs_abort 4374,148377 -extern void xputenv 4527,152691 -extern char *egetenv_internal egetenv_internal4529,152728 -egetenv 4532,152800 -extern void init_system_name 4539,153003 -#define eabs(4545,153296 -#define make_fixnum_or_float(4550,153429 -enum MAX_ALLOCA 4556,153680 -enum MAX_ALLOCA { MAX_ALLOCA 4556,153680 -extern void *record_xmalloc record_xmalloc4558,153725 -#define USE_SAFE_ALLOCA 4560,153791 -#define AVAIL_ALLOCA(4564,153924 -#define SAFE_ALLOCA(4568,154035 -#define SAFE_NALLOCA(4576,154376 -#define SAFE_ALLOCA_STRING(4590,154852 -#define SAFE_FREE(4598,155104 -#define SAFE_ALLOCA_LISP(4625,155682 -# define USE_STACK_LISP_OBJECTS 4652,156804 -# undef USE_STACK_LISP_OBJECTS4658,156970 -# define USE_STACK_LISP_OBJECTS 4659,157001 -enum { defined_GC_CHECK_STRING_BYTES 4663,157076 -enum { defined_GC_CHECK_STRING_BYTES 4665,157129 -union Aligned_Cons4670,157263 - struct Lisp_Cons s;4672,157284 - double d;4673,157306 - double d; intmax_t i;4673,157306 - double d; intmax_t i; void *p;p4673,157306 -union Aligned_String4676,157343 - struct Lisp_String s;4678,157366 - double d;4679,157390 - double d; intmax_t i;4679,157390 - double d; intmax_t i; void *p;p4679,157390 - USE_STACK_CONS 4689,157698 - USE_STACK_STRING 4691,157804 -#define STACK_CONS(4699,158141 -#define AUTO_CONS_EXPR(4701,158238 -#define AUTO_CONS(4709,158601 -#define AUTO_LIST1(4710,158672 -#define AUTO_LIST2(4712,158780 -#define AUTO_LIST3(4716,158935 -#define AUTO_LIST4(4720,159110 -extern const char *verify_ascii verify_ascii4730,159447 -# define verify_ascii(4732,159501 -#define AUTO_STRING(4740,159809 -#define FOR_EACH_TAIL(4752,160273 -#define FOR_EACH_ALIST_VALUE(4766,160764 -maybe_gc 4774,161051 -functionp 4784,161290 - -c-src/machsyscalls.c,23 -#define SYSCALL(6,113 - -c-src/machsyscalls.h,159 -SYSCALL (mach_msg_trap,1,0 -SYSCALL (mach_reply_port,13,314 -SYSCALL (mach_thread_self,18,377 -SYSCALL (mach_task_self,23,441 -SYSCALL (mach_host_self,28,503 - -c-src/fail.c,30 -void (*prt_call(prt_call1,0 - -c-src/h.h,2506 - ELEM_I/ELEM_I3,15 -} Fails_t;5,85 -typedef void Lang_function 6,96 -void Asm_labels 7,127 -typedef struct tpcmd8,147 -#define ggg 10,170 - } arg;13,198 -tpcmd;15,209 -typedef struct foobar2_ 16,216 - fu int (*funcptr)funcptr17,242 - long foo;18,279 - char bar;19,293 -} foobar2;20,307 - DEVICE_SWP,23,333 - DEVICE_LAST24,349 -} bsp_DevId;25,365 - struct constant_args 27,394 - unsigned int burst;28,419 - } constant;29,443 -} args;30,457 -typedef int *regset;regset31,465 -typedef int INT;32,486 -typedef union abc33,503 - int def;35,523 -} ghi1;36,534 -typedef union abc 37,542 - int def;38,562 -} ghi2;39,573 -typedef struct a 40,581 -} b;41,600 -#define c(42,605 -typedef struct an_extern_linkage *an_extern_linkage_ptr;an_extern_linkage_ptr43,619 -typedef struct an_extern_linkage 44,676 - kind;46,733 - is_explicit;49,812 - a_byte_boolean is_curly_brace_form;54,1009 -} an_extern_linkage;56,1054 -typedef struct pollfd pfdset[pfdset57,1075 -typedef union rtunion_def58,1119 - int rtint;60,1149 - char *rtstr;rtstr61,1164 - struct rtx_def *rtx;rtx62,1181 - } womboid 63,1206 -typedef union rtunion_def64,1220 - int rtint;68,1250 - char *rtstr;rtstr69,1263 - struct rtx_def *rtxp;rtxp70,1278 - struct rtx_def rtxnp;71,1302 -womboid75,1330 -enum {dog,dog81,1416 -enum {dog, cat}cat81,1416 -enum {dog, cat} animals;81,1416 -typedef void (_CALLBACK_ *signal_handler)signal_handler82,1441 -typedef void (_CALLBACK_ *signal_handler1)signal_handler183,1489 -/* comment */ #define ANSIC84,1538 - #define ANSIC85,1566 -typedef void (proc)87,1588 -typedef void OperatorFun(88,1612 -typedef int f(89,1648 -struct my_struct 91,1691 -typedef struct my_struct my_typedef;93,1713 -typedef RETSIGTYPE (*signal_handler_t)signal_handler_t94,1750 - Date 04 May 87 235311 PDT 96,1802 -typedef unsigned char unchar;99,1880 -typedef int X,100,1910 -typedef int X, Y,100,1910 -typedef int X, Y, Z;100,1910 -typedef mio mao;101,1931 -extern void ab(102,1948 -typedef struct a 103,1966 -typedef struct a { } b;103,1966 -typedef struct b104,1990 -} c;106,2009 -int (*oldhup)oldhup107,2014 -request (*oldhup)oldhup108,2031 -int extvar;109,2053 -#define tag1110,2065 -#define aaaaaa 111,2078 -#define bbbbbb\bbbbbb113,2102 -#define cccccccccc115,2125 -#define enter_critical_section 116,2144 -#define exit_critical_to_previous 117,2199 -#define UNDEFINED118,2259 -struct re_pattern_buffer 119,2277 -struct re_pattern_buffer { unsigned char *buffer;buffer119,2277 - -cp-src/c.C,3629 -template ,ipcMultiChannel,ipc3dLinkControl> mcCSC;CMultiChannelCSC19_3D::mcCSC6,227 - advTimer cscInitTime;CMultiChannelCSC19_3D::cscInitTime7,388 - advTimer cscSegmentationTime;CMultiChannelCSC19_3D::cscSegmentationTime8,418 - advTimer outputTime;CMultiChannelCSC19_3D::outputTime9,456 - void execute(CMultiChannelCSC19_3D::execute11,493 -static void my_function1(24,984 -int main 25,1026 -double base 26,1088 -operator += operator +=29,1174 -class TestRecord;31,1233 -typedef struct s1 32,1251 - int counter;s1::counter33,1271 -} t1;34,1287 -struct s2 35,1293 - int counter;s2::counter36,1305 -typedef struct s2 t2;38,1324 -class A 39,1346 - enum { rosso,A::rosso40,1356 - enum { rosso, giallo,A::giallo40,1356 - enum { rosso, giallo, verde A::verde40,1356 - enum { rosso, giallo, verde } colori;A::colori40,1356 - const A& operator+(A::operator+41,1396 -const A& A::operator+(43,1431 -void operator+(44,1467 -void operator -(operator -45,1495 -void operator int(operator int46,1524 -A* f(48,1556 -int f(49,1571 -int A::f(f50,1590 -A > A,int>::f(f51,1618 -template class AT 52,1668 -template class AT { C t[AT::t52,1668 -class AU 53,1716 -class AU { T x;AU::x53,1716 -class B<B54,1735 -class B { void f(B::f54,1735 -const A::B::T& abt 55,1766 -class A 56,1792 -class A { class B A::B56,1792 -class A { class B { int f(A::B::f56,1792 -class A 57,1827 - int get_data(A::get_data58,1837 - A operator+(A::operator+59,1861 -is_muldiv_operation(61,1888 -domain foo 68,1956 - void f(foo::f69,1969 -void A::A(72,1990 -struct A 73,2005 -struct A { A(A::A73,2005 -struct B 74,2023 -struct B { B(B::B74,2023 -void B::B(75,2042 -void BE_Node::BE_Node(76,2057 -class BE_Node 77,2084 -struct foo 79,2103 - int x;foo::x80,2116 -class test 86,2157 - int f(test::f87,2170 - int ff(test::ff89,2232 - int g(test::g90,2255 -class AST_Root 92,2279 -class AST_Root;96,2328 -AST_ConcreteType::AST_ConcreteType(99,2394 -AST_Array::AST_Array(107,2533 - void f(::f115,2734 -struct A 117,2754 - ~A(A::~A118,2765 -A::~A(120,2778 -struct B 122,2790 - ~B(B::~B123,2801 -enum {dog,::dog126,2818 -enum {dog, cat}::cat126,2818 -enum {dog, cat} animals;126,2818 -struct {int teats;::teats127,2843 -struct {int teats;} cow;127,2843 -class Boo 129,2869 - enum {dog,Boo::dog130,2881 - enum {dog, cat}Boo::cat130,2881 - enum {dog, cat} animals;Boo::animals130,2881 - struct {int treats;Boo::treats131,2910 - struct {int treats;} cow;Boo::cow131,2910 - int i,Boo::i132,2940 - int i,a,Boo::a132,2940 - int i,a,b;Boo::b132,2940 - foo(Boo::foo133,2955 - Boo(Boo::Boo137,2996 - Boo(Boo::Boo138,3053 -Boo::Boo(141,3071 -typedef int should_see_this_one_enclosed_in_extern_C;149,3156 -typedef int (*should_see_this_function_pointer)should_see_this_function_pointer153,3229 -typedef int should_see_this_array_type[should_see_this_array_type156,3311 - -cp-src/x.cc,110 -class XX1,0 - int foo(XX::foo4,19 - void bar(XX::bar5,35 -XX::foo(9,60 -XX::bar(15,95 -main(21,126 - -cp-src/burton.cpp,103 -::dummy::dummy test::dummy1(1,0 -::dummy::dummy test::dummy2(6,64 -::dummy::dummy test::dummy3(11,143 - -cp-src/functions.cpp,807 -void Date::setDate 5,148 -void Date::plus 32,938 -void Date::minus 42,1226 -void Date::shift 52,1404 -Date & Date::operator = Date::operator =62,1625 -Date & Date::operator += Date::operator +=69,1786 -Date & Date::operator -= Date::operator -=78,1935 -Date & Date::operator ++ Date::operator ++87,2076 -Date & Date::operator -- Date::operator --96,2212 -int Date::operator - Date::operator -104,2327 -int Date::operator < Date::operator <112,2479 -int Date::operator > Date::operator >116,2553 -int Date::operator == Date::operator ==120,2627 -ostream& operator << operator <<124,2703 -istream& operator >> operator >>133,2939 -bool isLeap 159,3539 -bool isHoliday 163,3625 -void asort(173,3861 -void ReadVacation 186,4060 -void Debug 201,4519 -int WorkingDays(211,4863 -Date StartDay(226,5125 - -cp-src/MDiagArray2.h,1538 -#define octave_MDiagArray2_h 29,870 -#undef LTGT35,967 -#define LTGT39,1031 -#define LTGT 42,1051 -class MDiagArray2;45,1087 -operator += operator +=48,1145 -operator -= operator -=51,1242 -operator * operator *54,1339 -operator / operator /57,1428 -operator * operator *60,1517 -operator + operator +63,1605 -operator - operator -66,1707 -product 69,1808 -operator - operator -72,1907 -class MDiagArray2 78,2022 - MDiagArray2 MDiagArray2::MDiagArray282,2077 - MDiagArray2 MDiagArray2::MDiagArray286,2154 - MDiagArray2 MDiagArray2::MDiagArray287,2198 - MDiagArray2 MDiagArray2::MDiagArray288,2254 - MDiagArray2 MDiagArray2::MDiagArray289,2329 - MDiagArray2 MDiagArray2::MDiagArray290,2387 - MDiagArray2 MDiagArray2::MDiagArray291,2450 - ~MDiagArray2 MDiagArray2::~MDiagArray293,2515 - MDiagArray2& operator = MDiagArray2::operator =95,2542 - DiagArray2::operator = MDiagArray2::operator =97,2603 - operator MArray2 MDiagArray2::operator MArray2101,2667 - operator += MDiagArray2::operator +=116,2966 - operator -= MDiagArray2::operator -=119,3057 - friend MDiagArray2 operator * MDiagArray2::operator *123,3174 - friend MDiagArray2 operator / MDiagArray2::operator /124,3253 - friend MDiagArray2 operator * MDiagArray2::operator *128,3384 - operator + MDiagArray2::operator +133,3544 - operator - MDiagArray2::operator -136,3640 - friend MDiagArray2 operator - MDiagArray2::operator -141,3803 -#undef LTGT144,3874 -#define INSTANTIATE_MDIAGARRAY_FRIENDS(146,3887 - -cp-src/Range.h,1136 -#define octave_Range_h 24,765 -class istream;30,840 -class ostream;31,855 -class Matrix;32,870 -Range35,891 - Range Range::Range39,909 - Range Range::Range42,995 - Range Range::Range46,1130 - Range Range::Range50,1248 - double base Range::base54,1376 - double limit Range::limit55,1425 - double inc Range::inc56,1475 - int nelem Range::nelem57,1523 - bool all_elements_are_ints Range::all_elements_are_ints59,1571 - Matrix matrix_value Range::matrix_value61,1615 - double min Range::min63,1652 - double max Range::max64,1679 - void sort Range::sort66,1707 - void set_base Range::set_base68,1728 - void set_limit Range::set_limit69,1774 - void set_inc Range::set_inc70,1821 - friend ostream& operator << Range::operator <<72,1867 - friend istream& operator >> Range::operator >>73,1928 - void print_range Range::print_range75,1984 - double rng_base;Range::rng_base79,2023 - double rng_limit;Range::rng_limit80,2042 - double rng_inc;Range::rng_inc81,2062 - int rng_nelem;Range::rng_nelem83,2081 - int nelem_internal Range::nelem_internal85,2099 -extern Range operator - operator -88,2138 - -cp-src/screen.cpp,228 -unsigned char cursor_x,15,548 -unsigned char cursor_x, cursor_y;15,548 -static union REGS regs;16,582 -void goto_xy(18,607 -void hide_cursor(27,774 -void cursor_position(32,836 -void clear_screen(41,997 -void write_xyc(55,1247 - -cp-src/screen.hpp,791 -#define __COLORS9,401 -enum COLORS 11,419 - BLACK,COLORS::BLACK12,433 - BLUE,COLORS::BLUE13,471 - GREEN,COLORS::GREEN14,481 - CYAN,COLORS::CYAN15,492 - RED,COLORS::RED16,502 - MAGENTA,COLORS::MAGENTA17,511 - BROWN,COLORS::BROWN18,524 - LIGHTGRAY,COLORS::LIGHTGRAY19,535 - DARKGRAY,COLORS::DARKGRAY20,550 - LIGHTBLUE,COLORS::LIGHTBLUE21,589 - LIGHTGREEN,COLORS::LIGHTGREEN22,604 - LIGHTCYAN,COLORS::LIGHTCYAN23,620 - LIGHTRED,COLORS::LIGHTRED24,635 - LIGHTMAGENTA,COLORS::LIGHTMAGENTA25,649 - YELLOW,COLORS::YELLOW26,667 - WHITECOLORS::WHITE27,679 -#define SCREEN_FP(31,700 -#define SCREEN_START 33,795 -void goto_xy(35,835 -void hide_cursor(36,883 -void cursor_position(37,907 -void clear_screen(38,935 -void write_xyc(39,960 - -cp-src/conway.cpp,270 -#define max(12,357 -#define min(13,393 -const int num_rows 15,430 -const int num_columns 16,470 -class site *field_of_play[field_of_play18,499 -int site::total_surrounding(20,550 -void display(37,958 -void glider(50,1239 -void traffic_light(59,1478 -void main(67,1633 - -cp-src/conway.hpp,483 -class site:site5,235 - char x,site::x7,269 - char x, y,site::y7,269 - char x, y, alive,site::alive7,269 - char x, y, alive, next_alive;site::next_alive7,269 - int total_surrounding(site::total_surrounding8,303 - site(site::site10,344 - ~site(site::~site11,397 - char read(site::read12,410 - void set(site::set13,444 - void clear(site::clear14,478 - void compute_next_state(site::compute_next_state15,514 - void step(site::step22,717 - -cp-src/clheir.cpp,307 -const int max_num_generic_objects 9,298 -generic_object * object_registry[object_registry10,340 -void init_registry(12,400 -void step_everybody(19,527 -void discrete_location::clear_neighbors(31,852 -generic_object::generic_object(36,981 -generic_object::~generic_object(48,1255 -void agent::move(53,1353 - -cp-src/clheir.hpp,1600 -extern void init_registry(10,452 -extern void step_everybody(11,485 -class generic_object13,520 - int where_in_registry;generic_object::where_in_registry15,547 - generic_object(generic_object::generic_object17,582 - ~generic_object(generic_object::~generic_object19,724 - virtual void compute_next_state(generic_object::compute_next_state21,843 - virtual void step(generic_object::step22,889 -const int max_num_directions 31,1220 -class location:location33,1290 - location(location::location43,1643 - ~location(location::~location44,1662 -class irregular_location:irregular_location47,1687 - double x,irregular_location::x49,1735 - double x, y,irregular_location::y49,1735 - double x, y, z;irregular_location::z49,1735 - irregular_location(irregular_location::irregular_location51,1763 - ~irregular_location(irregular_location::~irregular_location53,1855 -class discrete_location:discrete_location56,1890 - int x,discrete_location::x58,1937 - int x, y,discrete_location::y58,1937 - int x, y, z;discrete_location::z58,1937 - class location *neighbors[discrete_location::neighbors59,1954 - void clear_neighbors(discrete_location::clear_neighbors60,2005 - discrete_location(discrete_location::discrete_location62,2045 - ~discrete_location(discrete_location::~discrete_location65,2155 - void assign_neighbor(discrete_location::assign_neighbor66,2185 -class agent:agent75,2509 - location *where;agent::where77,2550 - agent(agent::agent79,2579 - ~agent(agent::~agent80,2592 - void move(agent::move81,2606 - -cp-src/fail.C,438 -struct A 7,263 - struct B A::B8,274 - struct C A::B::C9,289 - int x;A::B::C::x10,305 - C(A::B::C::C11,318 - operator int(A::B::C::operator int12,342 - typedef C T;A::B::T14,389 - typedef B T2;A::T216,414 -class String;20,437 -class A 23,453 - class B A::B24,463 - class C A::B::C25,474 - int f(A::B::f26,488 -int A::B::f(31,521 -main(37,571 - class D 41,622 - D(D::D43,659 - int x;D::x44,694 - -el-src/TAGTEST.EL,181 -(foo::defmumble bletch 3,33 -(defun foo==bar foo==bar4,66 -(defalias 'pending-delete-mode pending-delete-mode8,182 -(defalias (quote explicitly-quoted-pending-delete-mode)11,255 - -el-src/emacs/lisp/progmodes/etags.el,5188 -(defvar tags-file-name 34,1035 -(defgroup etags 43,1499 -(defcustom tags-case-fold-search 47,1567 -(defcustom tags-table-list 59,2052 -(defcustom tags-compression-info-list69,2450 -(defcustom tags-add-tables 88,3232 -(defcustom tags-revert-without-query 98,3628 -(defvar tags-table-computed-list 103,3779 -(defvar tags-table-computed-list-for 112,4263 -(defvar tags-table-list-pointer 117,4511 -(defvar tags-table-list-started-at 121,4702 -(defvar tags-table-set-list 124,4822 -(defcustom find-tag-hook 129,5001 -(defcustom find-tag-default-function 137,5264 -(define-obsolete-variable-alias 'find-tag-marker-ring-lengthfind-tag-marker-ring-length145,5603 -(defcustom tags-tag-face 148,5700 -(defcustom tags-apropos-verbose 154,5835 -(defcustom tags-apropos-additional-actions 160,5999 -(defvaralias 'find-tag-marker-ring find-tag-marker-ring183,6921 -(defvar default-tags-table-function 189,7101 -(defvar tags-location-ring 194,7327 -(defvar tags-table-files 201,7603 -(defvar tags-completion-table 206,7770 -(defvar tags-included-tables 209,7862 -(defvar next-file-list 212,7957 -(defvar tags-table-format-functions 217,8063 -(defvar file-of-tag-function 224,8444 -(defvar tags-table-files-function 228,8638 -(defvar tags-completion-table-function 230,8749 -(defvar snarf-tag-function 232,8844 -(defvar goto-tag-location-function 236,9053 -(defvar find-tag-regexp-search-function 239,9226 -(defvar find-tag-regexp-tag-order 241,9347 -(defvar find-tag-regexp-next-line-after-failure-p 243,9456 -(defvar find-tag-search-function 245,9576 -(defvar find-tag-tag-order 247,9683 -(defvar find-tag-next-line-after-failure-p 249,9778 -(defvar list-tags-function 251,9884 -(defvar tags-apropos-function 253,9972 -(defvar tags-included-tables-function 255,10066 -(defvar verify-tags-table-function 257,10185 -(defun initialize-new-tags-table 260,10296 -(defun tags-table-mode 276,10984 -(defun visit-tags-table 285,11249 -(defun tags-table-check-computed-list 321,12787 -(defun tags-table-extend-computed-list 360,14658 -(defun tags-expand-table-name 400,16371 -(defun tags-table-list-member 409,16714 -(defun tags-verify-table 421,17186 -(defun tags-table-including 470,19306 -(defun tags-next-table 522,21350 -(defun visit-tags-table-buffer 543,22207 -(defun tags-reset-tags-tables 712,28517 -(defun file-of-tag 731,29174 -(defun tags-table-files 740,29524 -(defun tags-included-tables 749,29874 -(defun tags-completion-table 755,30120 -(defun tags-lazy-completion-table 783,31314 -(defun tags-completion-at-point-function 799,31949 -(defun find-tag-tag 818,32699 -(defvar last-tag 837,33372 -(defun find-tag-interactive 840,33431 -(defvar find-tag-history 852,33846 -(defvar etags-case-fold-search)855,33911 -(defvar etags-syntax-table)856,33943 -(defvar local-find-tag-hook)857,33971 -(defun find-tag-noselect 860,34016 -(defun find-tag 932,37130 -(defun find-tag-other-window 959,38346 -(defun find-tag-other-frame 1000,40274 -(defun find-tag-regexp 1025,41448 -(defalias 'pop-tag-mark pop-tag-mark1049,42610 -(defvar tag-lines-already-matched 1052,42661 -(defun find-tag-in-order 1055,42768 -(defun tag-find-file-of-tag-noselect 1167,47114 -(defun tag-find-file-of-tag 1200,48960 -(defun etags-recognize-tags-table 1208,49186 -(defun etags-verify-tags-table 1241,50817 -(defun etags-file-of-tag 1246,51015 -(defun etags-tags-completion-table 1256,51350 -(defun etags-snarf-tag 1286,52556 -(defun etags-goto-tag-location 1324,54125 -(defun etags-list-tags 1388,56568 -(defmacro tags-with-face 1423,57843 -(defun etags-tags-apropos-additional 1431,58176 -(defun etags-tags-apropos 1465,59413 -(defun etags-tags-table-files 1527,61622 -(defun etags-tags-included-tables 1542,62058 -(defun tags-recognize-empty-tags-table 1559,62598 -(defun tag-exact-file-name-match-p 1587,63744 -(defun tag-file-name-match-p 1596,64137 -(defun tag-exact-match-p 1609,64693 -(defun tag-implicit-name-match-p 1620,65261 -(defun tag-symbol-match-p 1633,65861 -(defun tag-word-match-p 1643,66297 -(defun tag-partial-file-name-match-p 1652,66695 -(defun tag-any-match-p 1662,67139 -(defun tag-re-match-p 1667,67323 -(defcustom tags-loop-revert-buffers 1675,67572 -(defun next-file 1685,67981 -(defvar tags-loop-operate 1760,70895 -(defvar tags-loop-scan1763,70989 -(defun tags-loop-eval 1771,71318 -(defun tags-loop-continue 1782,71647 -(defun tags-search 1850,73953 -(defun tags-query-replace 1871,74779 -(defun tags-complete-tags-table-file 1896,76003 -(defun list-tags 1906,76382 -(defun tags-apropos 1934,77335 -(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78161 -(defun select-tags-table 1964,78400 -(defvar select-tags-table-mode-map 2019,80527 -(define-derived-mode select-tags-table-mode 2030,80910 -(defun select-tags-table-select 2034,81094 -(defun select-tags-table-quit 2043,81460 -(defun complete-tag 2049,81615 -(defconst etags--xref-limit 2074,82556 -(defvar etags-xref-find-definitions-tag-order 2076,82591 -(defun etags-xref-find 2082,82881 -(defun etags--xref-find-definitions 2096,83410 -(defclass xref-etags-location 2129,85124 -(defun xref-make-etags-location 2135,85347 -(cl-defmethod xref-location-marker 2139,85502 -(cl-defmethod xref-location-line 2146,85746 - -erl-src/gs_dialog.erl,98 --define(VERSION2,32 -behaviour_info(51,2177 -show(124,5458 -dialog_loop(219,9529 -test(252,10806 - -f-src/entry.for,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -f-src/entry.strange_suffix,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -f-src/entry.strange,172 - LOGICAL FUNCTION PRTPKG 3,75 - ENTRY SETPRT 194,3866 - ENTRY MSGSEL 395,8478 - & intensity1(577,12231 - character*(*) function foo(579,12307 - -forth-src/test-forth.fth,733 -: a-forth-word20,301 -99 constant a-forth-constant!22,343 -55 value a-forth-value?23,373 -create :a-forth-dictionary-entry24,397 -defer #a-defer-word27,460 -: (another-forth-word)(another-forth-word)29,481 - 9 field >field136,582 - 5 field >field237,605 -constant (a-forth-constant(a-forth-constant38,628 -2000 buffer: #some-storage41,657 -code assemby-code-word43,685 -: a-forth-word50,870 -: (foo)(foo)55,988 -: foo56,1000 -: create-bar58,1015 -3 4 2constant 2const61,1074 -2const 2value 2val62,1095 -2variable 2var63,1114 -3.1415e fconstant fconst65,1130 -fconst fvalue fval66,1155 -fvariable fvar67,1174 -synonym mypi69,1190 -BEGIN-STRUCTURE point71,1211 - 1 CELLS +FIELD p.x72,1262 - 1 CELLS +FIELD p.y73,1318 - -go-src/test.go,48 -package main1,0 -func say(5,28 -func main(9,72 - -go-src/test1.go,172 -package main1,0 -type plus 5,28 -type str 9,65 -type intNumber 13,99 -func (s str) PrintAdd(17,136 -func (n intNumber) PrintAdd(21,189 -func test(25,248 -func main(29,285 - -html-src/softwarelibero.html,200 -Cos'è il software libero?4,38 -Licenze d'uso di un programmalicenze65,2502 -Sfatiamo alcuni miti138,6122 -Il movimento open sourceoss191,8041 -Impatto pratico del software liberoimpatto231,10070 - -html-src/index.shtml,104 - 8,281 -In evidenza15,447 -Comunicati e iniziative32,976 -Ultime notizie dall'associazione63,2030 - -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 Algorithms7,277 -Descriptionalgorithms10,481 -Generating the Datagenalgorithm48,1995 -Convolutionallyconalgorithm55,2512 -Nextstatetable262,11587 -Outputoutputtable350,13915 -Mapping the Channel Symbolsmapping433,16213 -Adding Noise to theaddnoise439,16607 -Quantizing the Receivedquantizing469,19100 - -html-src/software.html,439 -Francesco Potortì Software Page9,280 -Software that I wrote for supporting my research activitysimulation36,1398 -MTGmtg41,1482 -Fracasfracas65,2624 -GaliLEOgalileo101,4232 -Leasqrleasqr114,4677 -Free software that I wrote for the GNU project or for my personal or workgnu142,6066 -Etagsetags148,6181 -checkiso161,6731 -cgrep178,7549 -debian-bug.eldebian-bug190,7981 -tcpdump205,8566 -Links to interesting softwarelinks216,8893 - -lua-src/allegro.lua,400 -local function get_layer_by_name 7,175 -local function count_layers 33,621 -function GetLayerByName 54,980 -function GetUniqueLayerName 65,1204 -function SelectLayer 76,1415 -function NewLayer 86,1773 -function NewLayerSet 144,3226 -function RemoveLayer 170,3750 -function MoveLayerTop 211,4767 -function MoveLayerBottom 223,5079 -function MoveLayerBefore 236,5457 -function MoveLayerAfter 258,6090 - -lua-src/test.lua,442 -function Rectangle.getPos 2,15 -function Rectangle.getPos getPos2,15 -function Circle.getPos 6,61 -function Circle.getPos getPos6,61 -function Cube.data.getFoo 10,102 -function Cube.data.getFoo getFoo10,102 -function Square.something:Bar 14,148 -function Square.something:Bar Bar14,148 - function test.me_22a(22,241 - function test.me_22a(me_22a22,241 - local function test.me22b 25,297 - local function test.me22b me22b25,297 - -make-src/Makefile,2175 -LATEST=1,0 -RELEASELIST=2,10 -ADASRC=4,104 -ASRC=5,171 -CSRC=6,197 -CPSRC=10,423 -ELSRC=13,614 -ERLSRC=14,661 -FORTHSRC=15,702 -FSRC=16,726 -HTMLSRC=17,776 -JAVASRC=18,844 -LUASRC=19,907 -MAKESRC=20,926 -OBJCSRC=21,943 -OBJCPPSRC=22,999 -PASSRC=23,1035 -PERLSRC=24,1053 -PHPSRC=25,1108 -PSSRC=26,1156 -PROLSRC=27,1173 -PYTSRC=28,1210 -TEXSRC=29,1227 -YSRC=30,1282 -SRCS=31,1325 -NONSRCS=35,1577 -VHDLFLAGS=37,1624 -COBOLFLAGS=38,1827 -POSTSCRIPTFLAGS=39,1889 -TCLFLAGS=40,1943 -GETOPTOBJS=42,2002 -RXINCLUDE=43,2034 -REGEXOBJS=44,2056 -CHECKOBJS=46,2075 -CHECKFLAGS=47,2105 -OBJS=48,2145 -CPPFLAGS=49,2190 -LDFLAGS=50,2259 -WARNINGS=51,2282 -CFLAGS=52,2466 -FASTCFLAGS=55,2530 -FASTCFLAGSWARN=56,2591 -FILTER=58,2641 -REGEX=59,2695 -xx=60,2741 -MAKE:MAKE62,2790 -RUN=63,2825 -RUN=64,2865 -OPTIONS=65,2870 -ARGS=66,2922 -infiles 68,2940 -quiettest:quiettest70,3002 -test:test79,3409 -${CHECKOBJS}:${CHECKOBJS}88,3805 -checker:checker90,3849 -standalone:standalone96,4062 -prof:prof101,4168 -fastetags:fastetags104,4198 -fastctags:fastctags108,4322 -staticetags:staticetags112,4446 -rsynctofly:rsynctofly116,4608 -rsyncfromfly:rsyncfromfly119,4698 -web ftp publish:web ftp publish122,4794 -release distrib:release distrib129,5115 -tags:tags134,5255 -clean:clean136,5267 -srclist:srclist139,5302 -regexfile:regexfile143,5391 -/home/www/pub/etags.c.gz:/home/www/pub/etags.c.gz149,5566 -/home/www/pub/software/unix/etags.tar.gz:/home/www/pub/software/unix/etags.tar.gz156,5825 -regex.o:regex.o159,6031 -getopt.o:getopt.o162,6086 -getopt1.o:getopt1.o165,6147 -etags:etags168,6210 -ctags:ctags171,6299 -man manpage:man manpage174,6396 -etags.1.man:etags.1.man176,6422 -maintaining.info:maintaining.info179,6475 -TAGS:TAGS182,6557 -%ediff:%ediff185,6587 -oediff:oediff188,6677 -%cdiff:%cdiff191,6764 -xdiff:xdiff194,6854 -ETAGS:ETAGS197,6942 -ETAGS%:ETAGS%200,7012 -ETAGS13 ETAGS14 ETAGS15:ETAGS13 ETAGS14 ETAGS15203,7084 -ETAGS12:ETAGS12206,7216 -OTAGS:OTAGS209,7304 -CTAGS:CTAGS212,7369 -CTAGS%:CTAGS%215,7443 -CTAGS13 CTAGS14 CTAGS15:CTAGS13 CTAGS14 CTAGS15218,7545 -EXTAGS:EXTAGS221,7680 -.PRECIOUS:.PRECIOUS224,7838 -FRC:FRC226,7894 - -objc-src/Subprocess.h,98 -#define Subprocess 41,1217 -#define BUFFERSIZE 43,1267 -@interface Subprocess:Subprocess45,1292 - -objc-src/Subprocess.m,505 -#define PTY_TEMPLATE 20,494 -#define PTY_LENGTH 21,528 -static void showError(23,551 -@interface Subprocess(Private)Subprocess(Private)32,737 -- childDidExit39,851 -- fdHandler:67,1589 -showError 98,2360 -fdHandler 112,2785 -getptys 119,2907 -- init:183,4815 - andStdErr:init:withDelegate:andPtySupport:andStdErr:197,5147 -- send:(const char *)string withNewline:send:withNewline:300,7436 -- send:308,7599 -- terminateInput314,7689 -- terminate:321,7810 -- setDelegate:332,7961 -- delegate338,8031 - -objc-src/PackInsp.h,109 -#define NUMSTATS 36,1101 -#define TYPESTOSTAT 37,1120 -@interface PackageInspector:PackageInspector39,1172 - -objc-src/PackInsp.m,1360 -static const char RCSid[RCSid30,1032 -#define VERSION 34,1116 -# define DEBUG 37,1155 -#define LISTCONTENTS 39,1181 -#define OPENBUTTON 47,1352 -#define LISTCONTENTSBUTTON 48,1449 -#define LISTDESCRIPTIONBUTTON 49,1562 -#define STATE_UNINSTALLED 52,1687 -#define STATE_INSTALLED 53,1807 -#define STATE_COMPRESSD 54,1948 -#define SIZEFORMAT 57,2152 -#define KBYTES 58,2362 -#define MBYTES 59,2473 -#define LOCALIZE(61,2585 -#define LOCALIZE_ARCH(62,2668 -+newnew67,2802 --showInfo:showInfo:93,3417 --revert:revert:107,3737 --ok:ok:136,4297 --loadload143,4424 -#define LOOKUP(156,4826 -#undef LOOKUP176,5694 --loadKeyValuesFrom:(const char *)type inTable:loadKeyValuesFrom:inTable:186,5852 --loadContentsOf:(const char *)type inTable:loadContentsOf:inTable:238,7079 --loadImageloadImage257,7552 -#define STAT_EQ(275,7940 --(BOOL)shouldLoad280,8116 --toggleDescriptiontoggleDescription301,8626 --(const char *)getPath:(char *)buf forType:getPath:forType:317,8899 --setRevertButtonTitlesetRevertButtonTitle333,9320 --(const char *)formatSize:(const char *)size inBuf:formatSize:inBuf:344,9525 -#define WORKING 368,10045 --(void)getArchs370,10100 --(void)addArchs:385,10520 --subprocess:(Subprocess *)sender output:subprocess:output:428,11351 --subprocessDone:subprocessDone:436,11484 -static void openInWorkspace(446,11634 --open:open:464,12063 - -objcpp-src/SimpleCalc.H,41 -@interface SimpleCalc:SimpleCalc14,400 - -objcpp-src/SimpleCalc.M,300 -- init52,1747 -- appendToDisplay:60,1933 -- registerAction:70,2210 -- decimalKey:77,2348 -- numberKeys:91,2661 -- equalsKey:112,3192 -- operationKeys:131,3680 -- clearKey:153,4301 -- clearAllKey:160,4410 -- appDidInit:168,4591 -- windowWillClose:178,4882 -- infoPanel:186,5132 -- helpPanel:198,5482 - -pas-src/common.pas,1875 -procedure InitializeStringPackage;26,527 -function newtextstring;34,874 -procedure disposetextstring;52,1404 -function ConcatT;78,2066 -function AppendTextString;112,3238 -function CopyTextString;132,3947 -procedure CONVERT_CHARSTRING_TO_VALUE;151,4505 -procedure append_string;172,5166 -function To_Upper;186,5462 -function To_Lower;194,5617 -function EmptyNmStr(209,6213 -function chartonmstr;219,6436 -function LowerCaseNmStr;230,6682 -function concatenatenamestrings;242,7007 -procedure writenamestring;263,7517 -function IsControlChar;277,7928 -function namestringequal;283,8079 -function NameStringLess;302,8539 -function IsControlCharName(343,9710 -function SubString;358,10208 -function SkipChars;379,10791 -function RemoveUnderlineControl;397,11311 -procedure First100Chars;427,12162 -procedure SkipSpaces;462,13298 -function SkipBlanks;477,13782 -function stripname;505,14595 -function Locate;522,15039 -function NameHasChar;543,15581 -function integertonmstr;561,16134 -function NmStrToInteger;585,16901 -function AddNullToNmStr;600,17317 -function ValToNmStr;611,17585 -function ChangeFileType;625,18037 -function StripPath;647,18734 -function ReprOfChar;675,19343 -procedure ExtractCommentInfo;702,20749 -procedure INSERT_TREE_NODE;784,24053 -function GetNameList;920,27926 -procedure DisposeANameList(925,28010 -procedure DisposeNameList;938,28340 -function GetNewNameListNode;943,28409 -function insertname;972,29051 -procedure InitNameList;988,29471 -procedure InitNameStringPool;998,29767 -procedure NewNameString;1004,29867 -procedure ReleaseNameString;1022,30232 -procedure SDTrefStringToRec 1045,30741 -procedure SDTrefSkipSpaces;1059,31092 -function SDTrefIsEnd 1070,31323 -function SDTrefGetInteger 1082,31529 -procedure SDTrefRecToString 1303,37546 -function NmStrToErrStr;1497,42305 -function ErrStrToNmStr;1509,42557 -function GetTextRef;1529,43112 - -php-src/lce_functions.php,2864 - define("LCE_FUNCTIONS"LCE_FUNCTIONS4,38 - define("LCE_UNKNOWN"LCE_UNKNOWN9,145 - define("LCE_WS"LCE_WS11,194 - define("LCE_COMMENT"LCE_COMMENT13,244 - define("LCE_COMMENT_USER"LCE_COMMENT_USER15,303 - define("LCE_COMMENT_TOOL"LCE_COMMENT_TOOL17,366 - define("LCE_MSGID"LCE_MSGID19,430 - define("LCE_MSGSTR"LCE_MSGSTR21,488 - define("LCE_TEXT"LCE_TEXT23,541 - define("STATE_ABORT"STATE_ABORT25,567 - define("STATE_OK"STATE_OK26,595 - define("STATE_LOOP"STATE_LOOP27,620 - class POEntryAD 29,648 - function validate(31,683 - function checkQuotation(59,1384 - class CommentAD 70,1639 - var $prefix;72,1674 - function CommentAD(73,1693 - function validate(83,1944 - class POEntry 105,2410 - var $msgid;107,2454 - var $msgstr;108,2472 - var $user_comment;109,2491 - var $sys_comment;110,2516 - var $unk_comment;111,2540 - var $msgid_lc 113,2565 - var $msgstr_lc 114,2590 - var $user_comment_lc 115,2616 - var $sys_comment_lc 116,2648 - var $unk_comment_lc 117,2679 - function POEntry(119,2711 - function lineCount(135,3255 - function serializeToVars(141,3365 - function write(151,3800 - class POReader 163,4178 - var $msgid;165,4223 - var $msgstr;166,4241 - var $user_comment;167,4260 - var $sys_comment;168,4285 - var $unk_comment;169,4309 - var $state;170,4333 - var $ignore_ws;171,4351 - var $po_entries;172,4373 - var $poe_num;173,4396 - var $filename;174,4416 - var $domain;175,4437 - function gettext(177,4457 - function parseFromVars(189,4705 - function serializeToVars(215,5331 - function POReader(229,5613 - function read(243,5983 - function write(259,6307 - function isComment(277,6645 - function comment(284,6822 - function msgid(304,7247 - function msgstr(320,7574 - function start(340,8232 - function createPOEntries(360,8644 - function stripLine(394,9472 - function printClassification(421,10056 - function classifyLine(432,10301 - function getTextDomains(471,11094 - class PORManager 498,11756 - var $por_a;500,11803 - function PORManager(502,11822 - function addPOReader(507,11896 - function &getPOReader(getPOReader512,11992 - function getDomainNames(517,12081 - function &loadPORManager(loadPORManager523,12174 - function fileJoin(536,12436 - function lce_bindtextdomain(557,12839 - function lce_textdomain(614,14530 - function lce_gettext(620,14641 - function lce_dgettext(626,14767 - function lce(634,14966 - function lce_bindtextdomain(651,15488 - function lce_textdomain(656,15592 - function lce_gettext(661,15674 - function lce_dgettext(666,15755 - function lce(670,15855 - function lce_geteditcode(676,15898 - -php-src/ptest.php,135 -define("TEST"TEST1,0 -test 4,26 - var $member;8,71 - var $memassign=9,85 - var $memassign_space 10,110 - var $test12,176 -foo(16,200 - -perl-src/htlmify-cystic,1443 -my @section_name;section_name12,236 -my @appendix_name;appendix_name13,254 -my @section_toc;section_toc15,274 -my @appendix_toc;appendix_toc16,291 -my $new_tag new_tag18,310 -my $appendix;appendix24,409 -my $section;section25,423 -my $subsection;subsection26,436 -my $subsubsection;subsubsection27,452 -my $this_file_toc this_file_toc29,472 -my %file_tocs;file_tocs30,496 -my @output_files output_files32,512 -my $file_index file_index33,535 -my $output_file;output_file35,556 -my $line;line37,574 -my $subsection_marker;subsection_marker161,3883 -my $new;new163,3907 -sub read_toc main::read_toc165,3917 - my $entry entry218,5621 - my $entry entry234,6077 - my $entry entry245,6351 - my $entry entry252,6536 - my $entry entry268,7010 - my $entry entry276,7204 - my $entry entry281,7328 - my $entry entry296,7698 -sub finish_subsubsections main::finish_subsubsections302,7805 -sub finish_subsections main::finish_subsections309,7987 -sub finish_sections main::finish_sections320,8310 -sub finish_appendices main::finish_appendices331,8599 -sub section_url_base main::section_url_base337,8724 -sub section_url_name main::section_url_name342,8922 -sub section_url main::section_url355,9284 - my $name name357,9336 -sub section_href main::section_href364,9452 -sub section_name main::section_name368,9551 -sub toc_line main::toc_line372,9655 -sub file_end main::file_end375,9750 - -perl-src/yagrip.pl,258 -sub getopt main::getopt7,156 - local($_,$flag,$opt,$f,$r,@temp)($_,$flag,$opt,$f,$r,@temp8,169 -sub usage main::usage38,856 - local($prog,$_,@list)($prog,$_,@list39,868 - local($string,$flag,@string,@temp,@last)($string,$flag,@string,@temp,@last40,897 - -perl-src/kai-test.pl,244 -sub f1 main::f12,16 -sub main::f2 6,50 -package Foo;10,90 -sub f3 Foo::f312,104 -sub Bar::f4 16,138 -package Bar;20,177 -sub f5 Bar::f522,191 -package Foo::Bar;26,225 -sub f6 Foo::Bar::f628,244 -package main;32,278 -sub f7 main::f734,293 - -ps-src/rfc1245.ps,2478 -/FMversion 12,311 -/FrameDict 17,500 -/FMVERSION 47,1307 -/FMLOCAL 56,1494 -/FMDOCUMENT 73,1766 -/FMBEGINPAGE 95,2279 -/FMENDPAGE 109,2516 -/FMDEFINEFONT 115,2582 -/FMNORMALIZEGRAPHICS 126,2725 -/FMBEGINEPSF 142,2955 -/FMENDEPSF 153,3207 -/setmanualfeed 158,3283 -/max 163,3386 -/min 164,3426 -/inch 165,3466 -/pagedimen 166,3485 -/setpapername 172,3629 -/papersize 190,4214 -/manualpapersize 211,4789 -/desperatepapersize 230,5211 -/savematrix 239,5370 -/restorematrix 242,5425 -/dmatrix 245,5475 -/dpi 246,5495 -/freq 248,5583 -/sangle 249,5658 -/DiacriticEncoding 250,5717 -/.notdef 251,5738 -/.notdef 252,5801 -/.notdef 253,5864 -/.notdef 254,5927 -/.notdef 255,5990 -/numbersign 256,6051 -/parenright 257,6115 -/two 258,6184 -/less 259,6251 -/L 260,6320 -/bracketright 261,6389 -/i 262,6459 -/braceright 263,6529 -/Ntilde 264,6598 -/atilde 265,6668 -/iacute 266,6733 -/ocircumflex 267,6797 -/udieresis 268,6858 -/paragraph 269,6919 -/dieresis 270,6983 -/yen 271,7050 -/ordfeminine 272,7109 -/exclamdown 273,7171 -/guillemotleft 274,7230 -/Otilde 275,7296 -/quoteleft 276,7357 -/fraction 277,7420 -/periodcentered 278,7490 -/Acircumflex 279,7549 -/Icircumflex 280,7610 -/Uacute 281,7680 -/breve 282,7746 -/ReEncode 284,7814 -/graymode 300,8020 -/setpattern 310,8184 -/grayness 331,8725 -/normalize 394,9873 -/dnormalize 397,9942 -/lnormalize 400,10014 -/H 403,10104 -/Z 406,10147 -/X 409,10176 -/V 412,10219 -/N 415,10260 -/M 418,10286 -/E 419,10315 -/D 420,10336 -/O 421,10358 -/L 423,10394 -/Y 430,10489 -/R 439,10588 -/RR 450,10696 -/C 467,10959 -/U 473,11004 -/F 477,11039 -/T 481,11084 -/RF 484,11115 -/TF 488,11164 -/P 495,11219 -/PF 499,11270 -/S 506,11344 -/SF 510,11384 -/B 517,11446 -/BF 521,11505 -/W 538,11714 -/G 573,12382 -/A 582,12525 -/BEGINPRINTCODE 606,12918 -/ENDPRINTCODE 615,13131 -/gn 620,13259 -/cfs 631,13384 -/ic 636,13473 -/ms 658,14285 -/ip 668,14395 -/wh 678,14492 -/bl 684,14607 -/s1 690,14722 -/fl 691,14739 -/hx 698,14887 -/wbytes 709,15055 -/BEGINBITMAPBWc 713,15147 -/BEGINBITMAPGRAYc 716,15198 -/BEGINBITMAP2BITc 719,15251 -/COMMONBITMAPc 722,15304 -/BEGINBITMAPBW 739,15660 -/BEGINBITMAPGRAY 742,15709 -/BEGINBITMAP2BIT 745,15760 -/COMMONBITMAP 748,15811 -/Fmcc 765,16156 -/ngrayt 773,16371 -/nredt 774,16393 -/nbluet 775,16414 -/ngreent 776,16436 -/colorsetup 787,16603 -/fakecolorsetup 814,17370 -/BITMAPCOLOR 826,17636 -/BITMAPCOLORc 839,17926 -/BITMAPGRAY 855,18275 -/BITMAPGRAYc 858,18335 -/ENDBITMAP 861,18397 -/fillprocs 868,18497 - -prol-src/ordsets.prolog,525 -is_ordset(47,1310 -list_to_ord_set(63,1688 -ord_add_element(71,1867 -ord_del_element(85,2344 -ord_disjoint(100,2783 -ord_intersect(108,2953 -ord_intersection(126,3553 -ord_intersection3(130,3692 -ord_intersection(150,4533 -ord_intersection4(154,4705 -ord_intersection(176,5666 -ord_intersection2(181,5814 -ord_member(200,6320 -ord_seteq(216,6685 -ord_setproduct(225,6973 -ord_subset(240,7379 -ord_subtract(257,7863 -ord_symdiff(265,8056 -ord_union(288,8889 -ord_union4(303,9354 -ord_union(324,10173 -ord_union_all(329,10315 - -prol-src/natded.prolog,2319 -expandmng(100,2879 -normalize(116,3359 -fresh_vars(125,3716 -subst(138,4134 -normalize_fresh(159,4660 -reduce_subterm(171,5112 -reduce(185,5559 -free_var(196,5903 -free_for(209,6246 -compile_lex(231,6875 -consult_lex:-consult_lex248,7384 -lex(259,7754 -expandsyn(267,8068 -bas_syn(292,8897 -compile_empty:-compile_empty310,9376 -complete(328,10055 -add_active(340,10527 -parse(353,10949 -derived_analyses(364,11341 -build(378,11967 -buildact(392,12523 -mapsyn(412,13544 -add_edge(434,14280 -findcats(447,14760 -normalize_tree(465,15480 -normalize_trees(475,15858 -expandmng_tree(486,16250 -expandmng_trees(496,16616 -cat(511,17015 -subtree(644,21268 -hypothetical_mem(653,21567 -make_coor(667,22132 -start_up:-start_up688,23015 -tokenizeatom(710,23923 -tokenize(720,24350 -isoperator(752,25379 -isoptab(756,25433 -specialsymbol(765,25758 -sstab(771,25863 -parse_cgi(787,26349 -keyvalseq(792,26512 -andkeyvalseq(796,26611 -keyval(799,26690 -valseq(807,26922 -plusvalseq(810,27009 -val(816,27111 -argvals(824,27428 -commaargvals(828,27505 -atomval(833,27580 -atom(836,27642 -action(846,28006 -keyvalcgi(864,28651 -keyvalscgi(865,28672 -outsyn(868,28728 -act(876,29062 -actout(901,29908 -texttreelist(912,30091 -htmltreelist(918,30192 -fitchtreelist(924,30306 -pp_html_table_tree(938,30761 -pp_html_tree(949,31115 -pp_html_trees(988,32383 -pp_html_table_fitch_tree(999,32771 -pp_html_fitch_tree(1017,33674 -removeexp(1129,39004 -splitexp(1142,39492 -pp_exp(1155,39992 -map_word(1168,40251 -pp_exps(1180,40476 -pp_tree(1188,40779 -pp_trees(1216,41809 -pp_word_list(1225,42130 -pp_word(1231,42264 -pp_word_list_rest(1238,42571 -pp_cat(1248,42931 -pp_syn(1255,43198 -pp_syn_paren(1276,43901 -pp_paren(1293,44379 -pp_syn_back(1300,44663 -pp_bas_cat(1311,45003 -writecat(1322,45411 -writesubs(1351,46457 -writesups(1361,46759 -writelistsubs(1371,47092 -pp_lam(1380,47410 -pp_lam_bracket(1398,48024 -pp_lam_paren(1407,48340 -pp_rule(1429,49240 -member(1447,49868 -append_list(1451,49921 -append(1456,50012 -at_least_one_member(1460,50078 -numbervars(1464,50173 -reverse(1467,50211 -select(1471,50292 -select_last(1475,50359 -cat_atoms(1479,50438 -writelist(1485,50526 -write_lex_cat(1492,50678 -writebreaklex(1500,50990 -write_lex(1513,51267 -writebreak(1521,51543 -tt:-tt1531,51715 -mt:-mt1534,51786 -cmt:-cmt1537,51880 - -pyt-src/server.py,1438 -class Controls:Controls17,358 - def __init__(18,374 - def __repr__(24,590 - def __str__(34,871 -class Server:Server37,934 - def __init__(38,948 - def dump(73,2198 - def __repr__(125,3896 - def __str__(128,3945 -class User:User131,4014 - def __init__(132,4026 - def __repr__(172,5445 - def __str__(206,6883 -def flag2str(223,7212 -class LabeledEntry(232,7442 - def bind(234,7525 - def focus_set(236,7584 - def __init__(238,7629 -def ButtonBar(245,7909 -def helpwin(255,8280 -class ListEdit(267,8707 - def __init__(269,8808 - def handleList(303,10042 - def handleNew(306,10094 - def editItem(314,10426 - def deleteItem(320,10596 -def ConfirmQuit(326,10760 -class ControlEdit(375,12377 - def PostControls(376,12403 - def GatherControls(421,13530 -class ServerEdit(512,16264 - def __init__(513,16289 - def post(525,16629 - def gather(543,17191 - def nosave(547,17304 - def save(551,17408 - def refreshPort(556,17509 - def createWidgets(561,17663 - def edituser(631,20708 -class UserEdit(645,20921 - def __init__(646,20944 - def post(658,21283 - def gather(676,21841 - def nosave(680,21950 - def save(684,22052 - def createWidgets(689,22151 -class Configure(760,24879 - def __init__(761,24916 - def MakeDispose(772,25211 - def MakeSitelist(786,25706 - def editsite(794,25949 - def save(797,26022 - def nosave(807,26310 - -ruby-src/test.rb,637 -module ModuleExample1,0 - class ClassExample2,21 - def instance_method3,44 - def ClassExample.class_methodclass_method6,121 - def instance_method_exclamation!9,206 - def instance_method_question?12,310 - def instance_method_equals=instance_method_equals=15,408 - def `(18,502 - def +(21,592 - def [](24,640 - def []=([]=27,690 - def <<(30,752 - def ==(==33,802 - def <=(<=36,872 - def <=>(<=>39,943 - def ===(===42,990 - def module_instance_method46,1051 - def ModuleExample.module_class_methodmodule_class_method49,1131 - -ruby-src/test1.ru,935 -class A1,0 - def a(2,8 - def b(5,38 -module A9,57 - class B10,66 - ABC 11,76 - Def_ 12,88 - Xyzzy 13,106 - def foo!15,121 - def self._bar?(_bar?18,143 - def qux=(qux=22,194 - attr_reader :foofoo26,233 - attr_reader :read1 read127,254 - attr_reader :read1 , :read2;read227,254 - attr_reader :read1 , :read2; attr_writer :write1,write1=27,254 - attr_reader :read1 , :read2; attr_writer :write1, :write2write2=27,254 - attr_writer :bar,bar=28,316 - :baz,baz=29,338 - :moremore=30,360 - attr_accessor :teetee31,382 - attr_accessor :teetee=31,382 - alias_method :qux,qux32,405 - alias_method :xyz,xyz33,456 - :tee ; attr_reader :subtlesubtle34,479 - attr_reader(:foo1,foo135,523 - attr_reader(:foo1, :bar1,bar135,523 - :qux1)qux136,563 - alias_method ( :foo2,foo237,586 -A::Constant Constant42,655 - -rs-src/test.rs,52 -enum IpAddrKind 3,11 -fn test1(8,48 -fn main(12,88 - -scm-src/test.scm,260 -(define hello 1,0 -(set! hello 3,32 -(define (hello-world)5,62 -(define (there-is-a-=-in-the-middle!)there-is-a-=-in-the-middle!10,128 -(define =starts-with-equals! =starts-with-equals!12,171 -(define (((((curry-test 14,205 -(define-syntax test-begin17,265 - -tex-src/testenv.tex,52 -\newcommand{\nm}\nm4,77 -\section{blah}blah8,139 - -tex-src/gzip.texi,303 -@node Top,62,2139 -@node Copying,80,2652 -@node Overview,83,2705 -@node Sample,166,7273 -@node Invoking gzip,Invoking gzip210,8829 -@node Advanced usage,Advanced usage357,13497 -@node Environment,420,15209 -@node Tapes,437,15770 -@node Problems,460,16769 -@node Concept Index,Concept Index473,17289 - -tex-src/texinfo.tex,30627 -\def\texinfoversion{\texinfoversion26,1035 -\def\tie{\tie49,1526 -\def\gloggingall{\gloggingall72,2276 -\def\loggingall{\loggingall73,2345 -\def\onepageout#1{\onepageout99,3282 -\def\croppageout#1{\croppageout115,4032 -\def\cropmarks{\cropmarks142,5092 -\def\pagebody#1{\pagebody144,5139 -\def\ewtop{\ewtop157,5594 -\def\nstop{\nstop158,5658 -\def\ewbot{\ewbot160,5741 -\def\nsbot{\nsbot161,5805 -\def\parsearg #1{\parsearg170,6104 -\def\parseargx{\parseargx172,6182 -\def\parseargline{\parseargline182,6422 -\def\flushcr{\flushcr186,6543 -\newif\ifENV \ENVfalse \def\inENV{\inENV190,6742 -\def\ENVcheck{\ENVcheck191,6806 -\outer\def\begin{\begin198,7053 -\def\beginxxx #1{\beginxxx200,7091 -\def\end{\end208,7346 -\def\endxxx #1{\endxxx210,7374 -\def\errorE#1{\errorE216,7563 -\def\singlespace{\singlespace222,7757 -\def\@{\@232,7980 -\def\`{\`236,8080 -\def\'{\'237,8092 -\def\mylbrace {\mylbrace241,8140 -\def\myrbrace {\myrbrace242,8173 -\def\:{\:247,8287 -\def\*{\*250,8341 -\def\.{\.253,8417 -\def\w#1{\w258,8648 -\def\group{\group268,9131 - \def\Egroup{\Egroup273,9295 -\def\need{\need289,9737 -\def\needx#1{\needx300,10014 -\def\dots{\dots339,11400 -\def\page{\page343,11464 -\def\exdent{\exdent353,11791 -\def\exdentyyy #1{\exdentyyy354,11824 -\def\nofillexdent{\nofillexdent357,11968 -\def\nofillexdentyyy #1{\nofillexdentyyy358,12013 -\def\include{\include365,12197 -\def\includezzz #1{\includezzz366,12232 -\def\thisfile{\thisfile369,12283 -\def\center{\center373,12346 -\def\centerzzz #1{\centerzzz374,12379 -\def\sp{\sp380,12521 -\def\spxxx #1{\spxxx381,12546 -\def\comment{\comment387,12720 -\def\commentxxx #1{\commentxxx390,12817 -\def\ignoresections{\ignoresections396,12986 -\let\chapter=\relax=\relax397,13008 -\let\section=\relax=\relax406,13253 -\let\subsection=\relax=\relax409,13314 -\let\subsubsection=\relax=\relax410,13337 -\let\appendix=\relax=\relax411,13363 -\let\appendixsec=\relaxsec=\relax412,13384 -\let\appendixsection=\relaxsection=\relax413,13408 -\let\appendixsubsec=\relaxsubsec=\relax414,13436 -\let\appendixsubsection=\relaxsubsection=\relax415,13463 -\let\appendixsubsubsec=\relaxsubsubsec=\relax416,13494 -\let\appendixsubsubsection=\relaxsubsubsection=\relax417,13524 -\def\ignore{\ignore423,13626 -\long\def\ignorexxx #1\end ignore{\ignorexxx427,13766 -\def\direntry{\direntry429,13825 -\long\def\direntryxxx #1\end direntry{\direntryxxx430,13864 -\def\ifset{\ifset434,13974 -\def\ifsetxxx #1{\ifsetxxx436,14032 -\def\Eifset{\Eifset440,14159 -\def\ifsetfail{\ifsetfail441,14173 -\long\def\ifsetfailxxx #1\end ifset{\ifsetfailxxx442,14229 -\def\ifclear{\ifclear444,14290 -\def\ifclearxxx #1{\ifclearxxx446,14352 -\def\Eifclear{\Eifclear450,14483 -\def\ifclearfail{\ifclearfail451,14499 -\long\def\ifclearfailxxx #1\end ifclear{\ifclearfailxxx452,14559 -\def\set{\set456,14710 -\def\setxxx #1{\setxxx457,14737 -\def\clear{\clear460,14799 -\def\clearxxx #1{\clearxxx461,14830 -\def\iftex{\iftex466,14947 -\def\Eiftex{\Eiftex467,14960 -\def\ifinfo{\ifinfo468,14974 -\long\def\ifinfoxxx #1\end ifinfo{\ifinfoxxx469,15024 -\long\def\menu #1\end menu{\menu471,15083 -\def\asis#1{\asis472,15112 -\def\math#1{\math485,15655 -\def\node{\node487,15699 -\def\nodezzz#1{\nodezzz488,15737 -\def\nodexxx[#1,#2]{\nodexxx[489,15768 -\def\donoderef{\donoderef492,15830 -\def\unnumbnoderef{\unnumbnoderef496,15951 -\def\appendixnoderef{\appendixnoderef500,16082 -\expandafter\expandafter\expandafter\appendixsetref{setref501,16128 -\let\refill=\relaxill=\relax504,16217 -\def\setfilename{\setfilename509,16431 -\outer\def\bye{\bye518,16677 -\def\inforef #1{\inforef520,16733 -\def\inforefzzz #1,#2,#3,#4**{\inforefzzz521,16771 -\def\losespace #1{\losespace523,16868 -\def\sf{\sf532,17072 -\font\defbf=cmbx10 scaled \magstep1 %was 1314bf=cmbx10558,17867 -\font\deftt=cmtt10 scaled \magstep1tt=cmtt10559,17913 -\def\df{\df560,17949 -\def\resetmathfonts{\resetmathfonts635,20543 -\def\textfonts{\textfonts648,21132 -\def\chapfonts{\chapfonts653,21347 -\def\secfonts{\secfonts658,21563 -\def\subsecfonts{\subsecfonts663,21768 -\def\indexfonts{\indexfonts668,21985 -\def\smartitalicx{\smartitalicx691,22717 -\def\smartitalic#1{\smartitalic692,22793 -\let\cite=\smartitalic=\smartitalic698,22938 -\def\b#1{\b700,22962 -\def\t#1{\t703,22997 -\def\samp #1{\samp706,23149 -\def\key #1{\key707,23182 -\def\ctrl #1{\ctrl708,23243 -\def\tclose#1{\tclose716,23445 -\def\ {\720,23611 -\def\xkey{\xkey728,23880 -\def\kbdfoo#1#2#3\par{\kbdfoo729,23896 -\def\dmn#1{\dmn738,24197 -\def\kbd#1{\kbd740,24224 -\def\l#1{\l742,24281 -\def\r#1{\r744,24310 -\def\sc#1{\sc746,24378 -\def\ii#1{\ii747,24421 -\def\titlefont#1{\titlefont755,24654 -\def\titlepage{\titlepage761,24757 - \def\subtitlefont{\subtitlefont766,24984 - \def\authorfont{\authorfont768,25068 - \def\title{\title774,25278 - \def\titlezzz##1{\titlezzz775,25313 - \def\subtitle{\subtitle783,25628 - \def\subtitlezzz##1{\subtitlezzz784,25669 - \def\author{\author787,25787 - \def\authorzzz##1{\authorzzz788,25824 - \def\page{\page794,26115 -\def\Etitlepage{\Etitlepage804,26284 -\def\finishtitlepage{\finishtitlepage817,26672 -\def\evenheading{\evenheading846,27680 -\def\oddheading{\oddheading847,27723 -\def\everyheading{\everyheading848,27764 -\def\evenfooting{\evenfooting850,27810 -\def\oddfooting{\oddfooting851,27853 -\def\everyfooting{\everyfooting852,27894 -\def\headings #1 {\headings893,29586 -\def\HEADINGSoff{\HEADINGSoff895,29635 -\def\HEADINGSdouble{\HEADINGSdouble904,30062 -\def\HEADINGSsingle{\HEADINGSsingle914,30382 -\def\HEADINGSon{\HEADINGSon922,30603 -\def\HEADINGSafter{\HEADINGSafter924,30637 -\def\HEADINGSdoublex{\HEADINGSdoublex926,30732 -\def\HEADINGSsingleafter{\HEADINGSsingleafter933,30920 -\def\HEADINGSsinglex{\HEADINGSsinglex934,30981 -\def\today{\today943,31256 -\def\thistitle{\thistitle958,31801 -\def\settitle{\settitle959,31826 -\def\settitlezzz #1{\settitlezzz960,31863 -\def\internalBitem{\internalBitem992,32793 -\def\internalBitemx{\internalBitemx993,32843 -\def\internalBxitem "#1"{\internalBxitem995,32888 -\def\internalBxitemx "#1"{\internalBxitemx996,32968 -\def\internalBkitem{\internalBkitem998,33043 -\def\internalBkitemx{\internalBkitemx999,33095 -\def\kitemzzz #1{\kitemzzz1001,33142 -\def\xitemzzz #1{\xitemzzz1004,33244 -\def\itemzzz #1{\itemzzz1007,33347 -\def\item{\item1037,34418 -\def\itemx{\itemx1038,34469 -\def\kitem{\kitem1039,34522 -\def\kitemx{\kitemx1040,34575 -\def\xitem{\xitem1041,34630 -\def\xitemx{\xitemx1042,34683 -\def\description{\description1045,34793 -\def\table{\table1047,34843 -\def\ftable{\ftable1052,34987 -\def\Eftable{\Eftable1056,35133 -\def\vtable{\vtable1059,35202 -\def\Evtable{\Evtable1063,35348 -\def\dontindex #1{\dontindex1066,35417 -\def\fnitemindex #1{\fnitemindex1067,35437 -\def\vritemindex #1{\vritemindex1068,35482 -\def\tablez #1#2#3#4#5#6{\tablez1074,35631 -\def\Edescription{\Edescription1077,35689 -\def\itemfont{\itemfont1082,35890 -\def\Etable{\Etable1090,36116 -\def\itemize{\itemize1103,36440 -\def\itemizezzz #1{\itemizezzz1105,36476 -\def\itemizey #1#2{\itemizey1110,36571 -\def#2{1119,36817 -\def\itemcontents{\itemcontents1120,36858 -\def\bullet{\bullet1123,36906 -\def\minus{\minus1124,36933 -\def\frenchspacing{\frenchspacing1128,37041 -\def\splitoff#1#2\endmark{\splitoff1134,37266 -\def\enumerate{\enumerate1140,37496 -\def\enumeratezzz #1{\enumeratezzz1141,37535 -\def\enumeratey #1 #2\endenumeratey{\enumeratey1142,37588 - \def\thearg{\thearg1146,37735 - \ifx\thearg\empty \def\thearg{\thearg1147,37754 -\def\numericenumerate{\numericenumerate1184,39088 -\def\lowercaseenumerate{\lowercaseenumerate1190,39218 -\def\uppercaseenumerate{\uppercaseenumerate1203,39565 -\def\startenumeration#1{\startenumeration1219,40055 -\def\alphaenumerate{\alphaenumerate1227,40237 -\def\capsenumerate{\capsenumerate1228,40272 -\def\Ealphaenumerate{\Ealphaenumerate1229,40306 -\def\Ecapsenumerate{\Ecapsenumerate1230,40340 -\def\itemizeitem{\itemizeitem1234,40420 -\def\newindex #1{\newindex1259,41277 -\def\defindex{\defindex1268,41566 -\def\newcodeindex #1{\newcodeindex1272,41674 -\def\defcodeindex{\defcodeindex1279,41934 -\def\synindex #1 #2 {\synindex1283,42114 -\def\syncodeindex #1 #2 {\syncodeindex1292,42454 -\def\doindex#1{\doindex1309,43133 -\def\singleindexer #1{\singleindexer1310,43192 -\def\docodeindex#1{\docodeindex1313,43304 -\def\singlecodeindexer #1{\singlecodeindexer1314,43371 -\def\indexdummies{\indexdummies1316,43429 -\def\_{\_1317,43449 -\def\w{\w1318,43477 -\def\bf{\bf1319,43504 -\def\rm{\rm1320,43533 -\def\sl{\sl1321,43562 -\def\sf{\sf1322,43591 -\def\tt{\tt1323,43619 -\def\gtr{\gtr1324,43647 -\def\less{\less1325,43677 -\def\hat{\hat1326,43709 -\def\char{\char1327,43739 -\def\TeX{\TeX1328,43771 -\def\dots{\dots1329,43801 -\def\copyright{\copyright1330,43834 -\def\tclose##1{\tclose1331,43877 -\def\code##1{\code1332,43922 -\def\samp##1{\samp1333,43963 -\def\t##1{\t1334,44004 -\def\r##1{\r1335,44039 -\def\i##1{\i1336,44074 -\def\b##1{\b1337,44109 -\def\cite##1{\cite1338,44144 -\def\key##1{\key1339,44185 -\def\file##1{\file1340,44224 -\def\var##1{\var1341,44265 -\def\kbd##1{\kbd1342,44304 -\def\indexdummyfont#1{\indexdummyfont1347,44460 -\def\indexdummytex{\indexdummytex1348,44486 -\def\indexdummydots{\indexdummydots1349,44510 -\def\indexnofonts{\indexnofonts1351,44536 -\let\w=\indexdummyfontdummyfont1352,44556 -\let\t=\indexdummyfontdummyfont1353,44579 -\let\r=\indexdummyfontdummyfont1354,44602 -\let\i=\indexdummyfontdummyfont1355,44625 -\let\b=\indexdummyfontdummyfont1356,44648 -\let\emph=\indexdummyfontdummyfont1357,44671 -\let\strong=\indexdummyfontdummyfont1358,44697 -\let\cite=\indexdummyfont=\indexdummyfont1359,44725 -\let\sc=\indexdummyfontdummyfont1360,44751 -\let\tclose=\indexdummyfontdummyfont1364,44923 -\let\code=\indexdummyfontdummyfont1365,44951 -\let\file=\indexdummyfontdummyfont1366,44977 -\let\samp=\indexdummyfontdummyfont1367,45003 -\let\kbd=\indexdummyfontdummyfont1368,45029 -\let\key=\indexdummyfontdummyfont1369,45054 -\let\var=\indexdummyfontdummyfont1370,45079 -\let\TeX=\indexdummytexdummytex1371,45104 -\let\dots=\indexdummydotsdummydots1372,45128 -\let\indexbackslash=0 %overridden during \printindex.backslash=01382,45380 -\def\doind #1#2{\doind1384,45436 -{\indexdummies % Must do this here, since \bf, etc expand at this stagedummies1386,45479 -\def\rawbackslashxx{\rawbackslashxx1389,45619 -{\indexnofontsnofonts1394,45881 -\def\dosubind #1#2#3{\dosubind1405,46192 -{\indexdummies % Must do this here, since \bf, etc expand at this stagedummies1407,46240 -\def\rawbackslashxx{\rawbackslashxx1410,46344 -{\indexnofontsnofonts1414,46498 -\def\findex {\findex1443,47429 -\def\kindex {\kindex1444,47452 -\def\cindex {\cindex1445,47475 -\def\vindex {\vindex1446,47498 -\def\tindex {\tindex1447,47521 -\def\pindex {\pindex1448,47544 -\def\cindexsub {\cindexsub1450,47568 -\def\printindex{\printindex1462,47895 -\def\doprintindex#1{\doprintindex1464,47936 - \def\indexbackslash{\indexbackslash1481,48421 - \indexfonts\rm \tolerance=9500 \advance\baselineskip -1ptfonts\rm1482,48460 -\def\initial #1{\initial1517,49532 -\def\entry #1#2{\entry1523,49739 - \null\nobreak\indexdotfill % Have leaders before the page number.dotfill1540,50386 -\def\indexdotfill{\indexdotfill1549,50714 -\def\primary #1{\primary1552,50820 -\def\secondary #1#2{\secondary1556,50902 -\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\pardotfill1559,50984 -\newbox\partialpageialpage1566,51157 -\def\begindoublecolumns{\begindoublecolumns1572,51315 - \output={\global\setbox\partialpage=ialpage=1573,51351 -\def\enddoublecolumns{\enddoublecolumns1577,51539 -\def\doublecolumnout{\doublecolumnout1580,51624 - \dimen@=\pageheight \advance\dimen@ by-\ht\partialpageialpage1581,51693 -\def\pagesofar{\pagesofar1584,51871 -\def\balancecolumns{\balancecolumns1588,52108 - \availdimen@=\pageheight \advance\availdimen@ by-\ht\partialpageialpage1594,52279 - \dimen@=\pageheight \advance\dimen@ by-\ht\partialpageialpage1600,52540 -\newcount \appendixno \appendixno = `\@no1627,53445 -\def\appendixletter{\appendixletter1628,53486 -\def\opencontents{\opencontents1632,53589 -\def\thischapter{\thischapter1637,53770 -\def\seccheck#1{\seccheck1638,53808 -\def\chapternofonts{\chapternofonts1643,53912 -\def\result{\result1646,53987 -\def\equiv{\equiv1647,54022 -\def\expansion{\expansion1648,54055 -\def\print{\print1649,54096 -\def\TeX{\TeX1650,54129 -\def\dots{\dots1651,54158 -\def\copyright{\copyright1652,54189 -\def\tt{\tt1653,54230 -\def\bf{\bf1654,54257 -\def\w{\w1655,54285 -\def\less{\less1656,54310 -\def\gtr{\gtr1657,54341 -\def\hat{\hat1658,54370 -\def\char{\char1659,54399 -\def\tclose##1{\tclose1660,54430 -\def\code##1{\code1661,54474 -\def\samp##1{\samp1662,54514 -\def\r##1{\r1663,54554 -\def\b##1{\b1664,54588 -\def\key##1{\key1665,54622 -\def\file##1{\file1666,54660 -\def\kbd##1{\kbd1667,54700 -\def\i##1{\i1669,54808 -\def\cite##1{\cite1670,54842 -\def\var##1{\var1671,54882 -\def\emph##1{\emph1672,54920 -\def\dfn##1{\dfn1673,54960 -\def\thischaptername{\thischaptername1676,55001 -\outer\def\chapter{\chapter1677,55040 -\def\chapterzzz #1{\chapterzzz1678,55081 -{\chapternofonts%nofonts%1687,55477 -\global\let\section = \numberedsec=1692,55630 -\global\let\subsection = \numberedsubsec=1693,55665 -\global\let\subsubsection = \numberedsubsubsec=1694,55706 -\outer\def\appendix{\appendix1697,55757 -\def\appendixzzz #1{\appendixzzz1698,55800 -\global\advance \appendixno by 1 \message{no1700,55877 -\chapmacro {#1}{Appendix \appendixletter}letter1701,55946 -\xdef\thischapter{Appendix \appendixletter: \noexpand\thischaptername}letter:1704,56039 -{\chapternofonts%nofonts%1705,56111 - {#1}{Appendix \appendixletter}letter1707,56167 -\appendixnoderef %noderef1710,56267 -\global\let\section = \appendixsec=1711,56286 -\global\let\subsection = \appendixsubsec=1712,56321 -\global\let\subsubsection = \appendixsubsubsec=1713,56362 -\outer\def\top{\top1716,56413 -\outer\def\unnumbered{\unnumbered1717,56453 -\def\unnumberedzzz #1{\unnumberedzzz1718,56500 -{\chapternofonts%nofonts%1722,56663 -\global\let\section = \unnumberedsec=1727,56813 -\global\let\subsection = \unnumberedsubsec=1728,56850 -\global\let\subsubsection = \unnumberedsubsubsec=1729,56893 -\outer\def\numberedsec{\numberedsec1732,56946 -\def\seczzz #1{\seczzz1733,56987 -{\chapternofonts%nofonts%1736,57143 -\outer\def\appendixsection{\appendixsection1745,57329 -\outer\def\appendixsec{\appendixsec1746,57386 -\def\appendixsectionzzz #1{\appendixsectionzzz1747,57439 -\gdef\thissection{#1}\secheading {#1}{\appendixletter}letter1749,57551 -{\chapternofonts%nofonts%1750,57619 -{#1}{\appendixletter}letter1752,57675 -\appendixnoderef %noderef1755,57775 -\outer\def\unnumberedsec{\unnumberedsec1759,57815 -\def\unnumberedseczzz #1{\unnumberedseczzz1760,57868 -{\chapternofonts%nofonts%1762,57963 -\outer\def\numberedsubsec{\numberedsubsec1770,58131 -\def\numberedsubseczzz #1{\numberedsubseczzz1771,58186 -{\chapternofonts%nofonts%1774,58365 -\outer\def\appendixsubsec{\appendixsubsec1783,58569 -\def\appendixsubseczzz #1{\appendixsubseczzz1784,58624 -\subsecheading {#1}{\appendixletter}letter1786,58746 -{\chapternofonts%nofonts%1787,58811 -{#1}{\appendixletter}letter1789,58870 -\appendixnoderef %noderef1792,58985 -\outer\def\unnumberedsubsec{\unnumberedsubsec1796,59025 -\def\unnumberedsubseczzz #1{\unnumberedsubseczzz1797,59084 -{\chapternofonts%nofonts%1799,59185 -\outer\def\numberedsubsubsec{\numberedsubsubsec1807,59356 -\def\numberedsubsubseczzz #1{\numberedsubsubseczzz1808,59417 -{\chapternofonts%nofonts%1812,59614 -\outer\def\appendixsubsubsec{\appendixsubsubsec1823,59847 -\def\appendixsubsubseczzz #1{\appendixsubsubseczzz1824,59908 - {\appendixletter}letter1827,60047 -{\chapternofonts%nofonts%1828,60113 - {\appendixletter}letter1830,60178 -\appendixnoderef %noderef1834,60312 -\outer\def\unnumberedsubsubsec{\unnumberedsubsubsec1838,60352 -\def\unnumberedsubsubseczzz #1{\unnumberedsubsubseczzz1839,60417 -{\chapternofonts%nofonts%1841,60524 -\def\infotop{\infotop1851,60853 -\def\infounnumbered{\infounnumbered1852,60891 -\def\infounnumberedsec{\infounnumberedsec1853,60936 -\def\infounnumberedsubsec{\infounnumberedsubsec1854,60987 -\def\infounnumberedsubsubsec{\infounnumberedsubsubsec1855,61044 -\def\infoappendix{\infoappendix1857,61108 -\def\infoappendixsec{\infoappendixsec1858,61149 -\def\infoappendixsubsec{\infoappendixsubsec1859,61196 -\def\infoappendixsubsubsec{\infoappendixsubsubsec1860,61249 -\def\infochapter{\infochapter1862,61309 -\def\infosection{\infosection1863,61348 -\def\infosubsection{\infosubsection1864,61387 -\def\infosubsubsection{\infosubsubsection1865,61432 -\global\let\section = \numberedsec=1870,61669 -\global\let\subsection = \numberedsubsec=1871,61704 -\global\let\subsubsection = \numberedsubsubsec=1872,61745 -\def\majorheading{\majorheading1886,62252 -\def\majorheadingzzz #1{\majorheadingzzz1887,62297 -\def\chapheading{\chapheading1893,62530 -\def\chapheadingzzz #1{\chapheadingzzz1894,62573 -\def\heading{\heading1899,62768 -\def\subheading{\subheading1901,62805 -\def\subsubheading{\subsubheading1903,62848 -\def\dobreak#1#2{\dobreak1910,63125 -\def\setchapterstyle #1 {\setchapterstyle1912,63203 -\def\chapbreak{\chapbreak1919,63458 -\def\chappager{\chappager1920,63508 -\def\chapoddpage{\chapoddpage1921,63546 -\def\setchapternewpage #1 {\setchapternewpage1923,63625 -\def\CHAPPAGoff{\CHAPPAGoff1925,63682 -\def\CHAPPAGon{\CHAPPAGon1929,63776 -\global\def\HEADINGSon{\HEADINGSon1932,63867 -\def\CHAPPAGodd{\CHAPPAGodd1934,63909 -\global\def\HEADINGSon{\HEADINGSon1937,64005 -\def\CHAPFplain{\CHAPFplain1941,64059 -\def\chfplain #1#2{\chfplain1945,64151 -\def\unnchfplain #1{\unnchfplain1956,64374 -\def\unnchfopen #1{\unnchfopen1964,64603 -\def\chfopen #1#2{\chfopen1970,64811 -\def\CHAPFopen{\CHAPFopen1975,64955 -\def\subsecheadingbreak{\subsecheadingbreak1982,65173 -\def\secheadingbreak{\secheadingbreak1985,65302 -\def\secheading #1#2#3{\secheading1993,65584 -\def\plainsecheading #1{\plainsecheading1994,65640 -\def\secheadingi #1{\secheadingi1995,65683 -\def\subsecheading #1#2#3#4{\subsecheading2006,66051 -\def\subsecheadingi #1{\subsecheadingi2007,66118 -\def\subsubsecfonts{\subsubsecfonts2014,66415 -\def\subsubsecheading #1#2#3#4#5{\subsubsecheading2017,66538 -\def\subsubsecheadingi #1{\subsubsecheadingi2018,66616 -\def\startcontents#1{\startcontents2032,67088 - \unnumbchapmacro{#1}\def\thischapter{\thischapter2040,67361 -\outer\def\contents{\contents2049,67720 -\outer\def\summarycontents{\summarycontents2057,67864 - \def\secentry ##1##2##3##4{\secentry2067,68235 - \def\unnumbsecentry ##1##2{\unnumbsecentry2068,68270 - \def\subsecentry ##1##2##3##4##5{\subsecentry2069,68305 - \def\unnumbsubsecentry ##1##2{\unnumbsubsecentry2070,68346 - \def\subsubsecentry ##1##2##3##4##5##6{\subsubsecentry2071,68384 - \def\unnumbsubsubsecentry ##1##2{\unnumbsubsubsecentry2072,68431 -\def\chapentry#1#2#3{\chapentry2085,68865 -\def\shortchapentry#1#2#3{\shortchapentry2088,68982 - {#2\labelspace #1}space2091,69092 -\def\unnumbchapentry#1#2{\unnumbchapentry2094,69146 -\def\shortunnumberedentry#1#2{\shortunnumberedentry2095,69193 -\def\secentry#1#2#3#4{\secentry2102,69357 -\def\unnumbsecentry#1#2{\unnumbsecentry2103,69416 -\def\subsecentry#1#2#3#4#5{\subsecentry2106,69477 -\def\unnumbsubsecentry#1#2{\unnumbsubsecentry2107,69547 -\def\subsubsecentry#1#2#3#4#5#6{\subsubsecentry2110,69621 - \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}space2111,69655 -\def\unnumbsubsubsecentry#1#2{\unnumbsubsubsecentry2112,69706 -\def\dochapentry#1#2{\dochapentry2123,70080 -\def\dosecentry#1#2{\dosecentry2138,70685 -\def\dosubsecentry#1#2{\dosubsecentry2145,70863 -\def\dosubsubsecentry#1#2{\dosubsubsecentry2152,71048 -\def\labelspace{\labelspace2160,71299 -\def\dopageno#1{\dopageno2162,71334 -\def\doshortpageno#1{\doshortpageno2163,71360 -\def\chapentryfonts{\chapentryfonts2165,71392 -\def\secentryfonts{\secentryfonts2166,71427 -\def\point{\point2192,72386 -\def\result{\result2194,72407 -\def\expansion{\expansion2195,72480 -\def\print{\print2196,72551 -\def\equiv{\equiv2198,72618 -\def\error{\error2218,73391 -\def\tex{\tex2224,73620 -\def\@{\@2242,74003 -\gdef\sepspaces{\def {\ }}}\2265,74735 -\def\aboveenvbreak{\aboveenvbreak2268,74817 -\def\afterenvbreak{\afterenvbreak2272,74983 -\def\ctl{\ctl2286,75494 -\def\ctr{\ctr2287,75566 -\def\cbl{\cbl2288,75605 -\def\cbr{\cbr2289,75645 -\def\carttop{\carttop2290,75684 -\def\cartbot{\cartbot2293,75792 -\long\def\cartouche{\cartouche2299,75932 -\def\Ecartouche{\Ecartouche2326,76720 -\def\lisp{\lisp2338,76855 -\def\Elisp{\Elisp2348,77202 -\def\next##1{\next2360,77528 -\def\Eexample{\Eexample2364,77570 -\def\Esmallexample{\Esmallexample2367,77617 -\def\smalllispx{\smalllispx2373,77795 -\def\Esmalllisp{\Esmalllisp2383,78149 -\obeyspaces \obeylines \ninett \indexfonts \rawbackslashfonts2396,78505 -\def\next##1{\next2397,78562 -\def\display{\display2401,78642 -\def\Edisplay{\Edisplay2410,78961 -\def\next##1{\next2422,79272 -\def\format{\format2426,79375 -\def\Eformat{\Eformat2434,79671 -\def\next##1{\next2437,79760 -\def\flushleft{\flushleft2441,79812 -\def\Eflushleft{\Eflushleft2451,80183 -\def\next##1{\next2454,80276 -\def\flushright{\flushright2456,80298 -\def\Eflushright{\Eflushright2466,80670 -\def\next##1{\next2470,80801 -\def\quotation{\quotation2474,80859 -\def\Equotation{\Equotation2480,81051 -\def\setdeffont #1 {\setdeffont2493,81449 -\newskip\defbodyindent \defbodyindent=.4inbodyindent2495,81495 -\newskip\defargsindent \defargsindent=50ptargsindent2496,81538 -\newskip\deftypemargin \deftypemargin=12pttypemargin2497,81581 -\newskip\deflastargmargin \deflastargmargin=18ptlastargmargin2498,81624 -\def\activeparens{\activeparens2503,81822 -\def\opnr{\opnr2529,83034 -\def\lbrb{\lbrb2530,83099 -\def\defname #1#2{\defname2536,83300 -\advance\dimen2 by -\defbodyindentbodyindent2540,83418 -\advance\dimen3 by -\defbodyindentbodyindent2542,83472 -\setbox0=\hbox{\hskip \deflastargmargin{lastargmargin2544,83526 -\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuationsargsindent2546,83668 -\parshape 2 0in \dimen0 \defargsindent \dimen1 %argsindent2547,83743 -\rlap{\rightline{{\rm #2}\hskip \deftypemargin}typemargin2554,84112 -\advance\leftskip by -\defbodyindentbodyindent2557,84246 -\exdentamount=\defbodyindentbodyindent2558,84283 -\def\defparsebody #1#2#3{\defparsebody2568,84642 -\def#1{2572,84826 -\def#2{2573,84862 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2575,84934 -\exdentamount=\defbodyindentbodyindent2576,85008 -\def\defmethparsebody #1#2#3#4 {\defmethparsebody2581,85112 -\def#1{2585,85273 -\def#2##1 {2586,85309 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2588,85392 -\exdentamount=\defbodyindentbodyindent2589,85466 -\def\defopparsebody #1#2#3#4#5 {\defopparsebody2592,85551 -\def#1{2596,85712 -\def#2##1 ##2 {2597,85748 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2600,85848 -\exdentamount=\defbodyindentbodyindent2601,85922 -\def\defvarparsebody #1#2#3{\defvarparsebody2608,86193 -\def#1{2612,86380 -\def#2{2613,86416 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2615,86475 -\exdentamount=\defbodyindentbodyindent2616,86549 -\def\defvrparsebody #1#2#3#4 {\defvrparsebody2621,86640 -\def#1{2625,86799 -\def#2##1 {2626,86835 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2628,86905 -\exdentamount=\defbodyindentbodyindent2629,86979 -\def\defopvarparsebody #1#2#3#4#5 {\defopvarparsebody2632,87051 -\def#1{2636,87215 -\def#2##1 ##2 {2637,87251 -\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindentbodyindent2640,87338 -\exdentamount=\defbodyindentbodyindent2641,87412 -\def\defunargs #1{\defunargs2664,88172 -\def\deftypefunargs #1{\deftypefunargs2676,88554 -\def\deffn{\deffn2690,88936 -\def\deffnheader #1#2#3{\deffnheader2692,88993 -\begingroup\defname {name2693,89041 -\def\defun{\defun2699,89186 -\def\defunheader #1#2{\defunheader2701,89239 -\begingroup\defname {name2702,89314 -\defunargs {unargs2703,89350 -\def\deftypefun{\deftypefun2709,89498 -\def\deftypefunheader #1#2{\deftypefunheader2712,89620 -\def\deftypefunheaderx #1#2 #3\relax{\deftypefunheaderx2714,89729 -\begingroup\defname {name2716,89821 -\deftypefunargs {typefunargs2717,89867 -\def\deftypefn{\deftypefn2723,90038 -\def\deftypefnheader #1#2#3{\deftypefnheader2726,90187 -\def\deftypefnheaderx #1#2#3 #4\relax{\deftypefnheaderx2728,90323 -\begingroup\defname {name2730,90416 -\deftypefunargs {typefunargs2731,90456 -\def\defmac{\defmac2737,90577 -\def\defmacheader #1#2{\defmacheader2739,90634 -\begingroup\defname {name2740,90710 -\defunargs {unargs2741,90743 -\def\defspec{\defspec2747,90867 -\def\defspecheader #1#2{\defspecheader2749,90928 -\begingroup\defname {name2750,91005 -\defunargs {unargs2751,91045 -\def\deffnx #1 {\deffnx2758,91240 -\def\defunx #1 {\defunx2759,91297 -\def\defmacx #1 {\defmacx2760,91354 -\def\defspecx #1 {\defspecx2761,91413 -\def\deftypefnx #1 {\deftypefnx2762,91474 -\def\deftypeunx #1 {\deftypeunx2763,91539 -\def\defop #1 {\defop2769,91685 -\defopparsebody\Edefop\defopx\defopheader\defoptype}opparsebody\Edefop\defopx\defopheader\defoptype2770,91720 -\def\defopheader #1#2#3{\defopheader2772,91774 -\begingroup\defname {name2774,91863 -\defunargs {unargs2775,91909 -\def\defmethod{\defmethod2780,91970 -\def\defmethodheader #1#2#3{\defmethodheader2782,92043 -\begingroup\defname {name2784,92131 -\defunargs {unargs2785,92171 -\def\defcv #1 {\defcv2790,92245 -\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}opvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype2791,92280 -\def\defcvarheader #1#2#3{\defcvarheader2793,92339 -\begingroup\defname {name2795,92425 -\defvarargs {varargs2796,92471 -\def\defivar{\defivar2801,92544 -\def\defivarheader #1#2#3{\defivarheader2803,92607 -\begingroup\defname {name2805,92693 -\defvarargs {varargs2806,92744 -\def\defopx #1 {\defopx2812,92893 -\def\defmethodx #1 {\defmethodx2813,92950 -\def\defcvx #1 {\defcvx2814,93015 -\def\defivarx #1 {\defivarx2815,93072 -\def\defvarargs #1{\defvarargs2822,93343 -\def\defvr{\defvr2828,93487 -\def\defvrheader #1#2#3{\defvrheader2830,93542 -\begingroup\defname {name2831,93590 -\def\defvar{\defvar2835,93675 -\def\defvarheader #1#2{\defvarheader2837,93735 -\begingroup\defname {name2838,93806 -\defvarargs {varargs2839,93842 -\def\defopt{\defopt2844,93908 -\def\defoptheader #1#2{\defoptheader2846,93968 -\begingroup\defname {name2847,94039 -\defvarargs {varargs2848,94078 -\def\deftypevar{\deftypevar2853,94135 -\def\deftypevarheader #1#2{\deftypevarheader2856,94251 -\begingroup\defname {name2858,94334 -\def\deftypevr{\deftypevr2865,94508 -\def\deftypevrheader #1#2#3{\deftypevrheader2867,94579 -\begingroup\defname {name2868,94631 -\def\defvrx #1 {\defvrx2876,94868 -\def\defvarx #1 {\defvarx2877,94925 -\def\defoptx #1 {\defoptx2878,94984 -\def\deftypevarx #1 {\deftypevarx2879,95043 -\def\deftypevrx #1 {\deftypevrx2880,95110 -\def\deftpargs #1{\deftpargs2885,95259 -\def\deftp{\deftp2889,95339 -\def\deftpheader #1#2#3{\deftpheader2891,95394 -\begingroup\defname {name2892,95442 -\def\deftpx #1 {\deftpx2897,95601 -\def\setref#1{\setref2908,95922 -\def\unnumbsetref#1{\unnumbsetref2913,96036 -\def\appendixsetref#1{\appendixsetref2918,96143 -\def\pxref#1{\pxref2929,96554 -\def\xref#1{\xref2930,96590 -\def\ref#1{\ref2931,96625 -\def\xrefX[#1,#2,#3,#4,#5,#6]{\xrefX[2932,96655 -\def\printedmanual{\printedmanual2933,96698 -\def\printednodename{\printednodename2934,96736 -\def\printednodename{\printednodename2939,96861 -section ``\printednodename'' in \cite{\printedmanual}\printedmanual2954,97493 -\refx{x2957,97571 -\def\dosetq #1#2{\dosetq2965,97791 -\def\internalsetq #1#2{\internalsetq2973,98049 -\def\Ypagenumber{\Ypagenumber2977,98150 -\def\Ytitle{\Ytitle2979,98176 -\def\Ynothing{\Ynothing2981,98203 -\def\Ysectionnumberandtype{\Ysectionnumberandtype2983,98220 -\def\Yappendixletterandtype{\Yappendixletterandtype2992,98536 -\ifnum\secno=0 Appendix\xreftie'char\the\appendixno{no2993,98566 -\else \ifnum \subsecno=0 Section\xreftie'char\the\appendixno.\the\secno %no.\the\secno2994,98621 -Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno %no.\the\secno.\the\subsecno2996,98725 -Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %no.\the\secno.\the\subsecno.\the\subsubsecno2998,98796 - \def\linenumber{\linenumber3009,99135 -\def\refx#1#2{\refx3015,99319 -\def\xrdef #1#2{\xrdef3037,99945 -\def\readauxfile{\readauxfile3040,100030 -\def\supereject{\supereject3110,101811 -\footstrut\parindent=\defaultparindent\hang\textindent{aultparindent\hang\textindent3131,102496 -\def\openindices{\openindices3139,102682 -\newdimen\defaultparindent \defaultparindent = 15ptaultparindent3151,102907 -\parindent = \defaultparindentaultparindent3152,102959 -\def\smallbook{\smallbook3175,103683 -\global\def\Esmallexample{\Esmallexample3192,104110 -\def\afourpaper{\afourpaper3196,104201 -\def\finalout{\finalout3224,105009 -\def\normaldoublequote{\normaldoublequote3235,105270 -\def\normaltilde{\normaltilde3236,105296 -\def\normalcaret{\normalcaret3237,105316 -\def\normalunderscore{\normalunderscore3238,105336 -\def\normalverticalbar{\normalverticalbar3239,105361 -\def\normalless{\normalless3240,105387 -\def\normalgreater{\normalgreater3241,105406 -\def\normalplus{\normalplus3242,105428 -\def\ifusingtt#1#2{\ifusingtt3253,105920 -\def\activedoublequote{\activedoublequote3261,106248 -\def~{~3264,106334 -\def^{^3267,106395 -\def_{_3270,106434 -\def\_{\_3272,106508 -\def\lvvmode{\lvvmode3279,106845 -\def|{|3282,106895 -\def<{<3285,106958 -\def>{>3288,107015 -\def+{+3290,107053 -\def\turnoffactive{\turnoffactive3296,107214 -\global\def={=3307,107500 -\def\normalbackslash{\normalbackslash3321,107882 - -merc-src/accumulator.m,4915 -:- interface146,5371 -:- import_module hlds148,5386 -:- import_module univ152,5478 -:- pred accu_transform_proc159,5793 -:- implementation166,6115 -:- import_module libs180,6552 -:- import_module mdbcomp184,6681 -:- import_module parse_tree186,6742 -:- import_module assoc_list194,7013 -:- import_module bool195,7042 -:- import_module int196,7065 -:- import_module io197,7087 -:- import_module list198,7108 -:- import_module map199,7131 -:- import_module maybe200,7153 -:- import_module pair201,7177 -:- import_module require202,7200 -:- import_module set203,7226 -:- import_module solutions204,7248 -:- import_module string205,7276 -:- import_module term206,7301 -:- import_module varset207,7324 -:- type top_level213,7499 -:- type accu_goal_id225,7900 -:- type accu_case228,7964 -:- type accu_goal_store234,8091 -:- type accu_subst238,8216 -:- type accu_warning240,8264 -accu_transform_proc247,8578 -:- pred generate_warnings334,12550 -generate_warnings337,12669 -:- pred generate_warning342,12895 -generate_warning345,13001 -:- pred should_attempt_accu_transform365,13886 -should_attempt_accu_transform370,14123 -:- pred should_attempt_accu_transform_2398,15406 -should_attempt_accu_transform_2405,15763 -:- pred accu_standardize440,17390 -accu_standardize442,17455 -:- pred identify_goal_type465,18169 -identify_goal_type469,18359 -:- pred is_recursive_case549,21175 -is_recursive_case551,21253 -:- type store_info560,21713 -:- func initialize_goal_store570,22060 -initialize_goal_store573,22166 -:- pred accu_store580,22421 -accu_store584,22576 -:- pred identify_recursive_calls601,23288 -identify_recursive_calls604,23406 -:- pred identify_out_and_out_prime626,24397 -identify_out_and_out_prime631,24632 -:- type accu_sets676,26426 -:- pred accu_stage1689,26978 -accu_stage1693,27156 -:- pred accu_stage1_2727,28348 -accu_stage1_2731,28516 -:- pred accu_sets_init781,30558 -accu_sets_init783,30606 -:- func set_upto796,30985 -set_upto798,31040 -:- pred accu_before812,31499 -accu_before815,31640 -:- pred accu_assoc835,32478 -accu_assoc838,32618 -:- pred accu_construct862,33713 -accu_construct865,33857 -:- pred accu_construct_assoc896,35308 -accu_construct_assoc899,35458 -:- pred accu_update938,37070 -accu_update941,37211 -:- pred member_lessthan_goalid964,38220 -member_lessthan_goalid967,38343 -:- type accu_assoc975,38653 -:- pred accu_is_associative986,39139 -accu_is_associative989,39251 -:- pred associativity_assertion1014,40264 -associativity_assertion1017,40405 -:- pred commutativity_assertion1037,41243 -commutativity_assertion1040,41370 -:- pred accu_is_update1057,41953 -accu_is_update1060,42067 -:- pred is_associative_construction1078,42803 -is_associative_construction1081,42899 -:- type accu_substs1095,43481 -:- type accu_base1103,43745 -:- pred accu_stage21124,44606 -accu_stage21131,44947 -:- pred accu_substs_init1179,46958 -accu_substs_init1182,47098 -:- pred acc_var_subst_init1194,47574 -acc_var_subst_init1198,47719 -:- pred create_new_var1207,48148 -create_new_var1210,48289 -:- pred accu_process_assoc_set1223,48863 -accu_process_assoc_set1229,49151 -:- pred accu_has_heuristic1297,52082 -accu_has_heuristic1299,52162 -:- pred accu_heuristic1304,52337 -accu_heuristic1307,52458 -:- pred accu_process_update_set1318,52907 -accu_process_update_set1325,53222 -:- pred accu_divide_base_case1380,55845 -accu_divide_base_case1385,56060 -:- pred accu_related1412,57147 -accu_related1415,57271 -:- inst stored_goal_plain_call1444,58416 -:- pred lookup_call1449,58602 -lookup_call1452,58716 -:- pred accu_stage31470,59433 -accu_stage31477,59827 -:- pred acc_proc_info1508,61327 -acc_proc_info1512,61486 -:- pred acc_pred_info1556,63450 -acc_pred_info1559,63598 -:- pred accu_create_goal1600,65286 -accu_create_goal1607,65629 -:- func create_acc_call1621,66401 -create_acc_call1625,66570 -:- pred create_orig_goal1634,66988 -create_orig_goal1638,67177 -:- pred create_acc_goal1662,68158 -create_acc_goal1667,68381 -:- func create_new_orig_recursive_goals1709,70226 -create_new_orig_recursive_goals1712,70369 -:- func create_new_recursive_goals1723,70919 -create_new_recursive_goals1727,71109 -:- func create_new_base_goals1738,71718 -create_new_base_goals1741,71832 -:- pred acc_unification1749,72157 -acc_unification1751,72226 -:- pred accu_top_level1766,72897 -accu_top_level1770,73059 -:- pred update_accumulator_pred1856,76291 -update_accumulator_pred1859,76412 -:- func accu_rename1876,77254 -accu_rename1879,77364 -:- func base_case_ids1889,77785 -base_case_ids1891,77847 -:- func base_case_ids_set1898,78049 -base_case_ids_set1900,78114 -:- func accu_goal_list1905,78270 -accu_goal_list1907,78350 -:- pred calculate_goal_info1916,78681 -calculate_goal_info1918,78754 -:- func chain_subst1932,79320 -chain_subst1934,79379 -:- pred chain_subst_21938,79483 -chain_subst_21941,79577 -:- some [T] pred unravel_univ1956,80061 -:- pragma foreign_export1957,80117 -unravel_univ1961,80341 - -c-src/c.c,76 -T f(1,0 -}T i;2,14 -void bar(5,69 -int foobar(6,94 -interface_locate(9,131 - -c.c,2280 -void (*fa)fa131, -void 132, -my_printf 135, -void fatala 138, -void fatalb 139, -max 141, -struct bar 143, - char z;144, - struct foo f;145, -__attribute__ ((always_inline)) max 147, -extern int old_var 149, -struct foo150, - char a;152, - int x[x153, -char stack[stack155, -struct S 156, -struct S { short f[f156, - int *__ip;__ip159, - union wait *__up;__up160, -} wait_status_ptr_t 161, -Some_Class A 162, -typedef T1 T3 163, -T3 z 164, -typedef int more_aligned_int 165, -struct S __attribute__ ((vector_size (16))) foo;166, -int foo 167, -char *__attribute__((aligned(8))) *f;f168, -int i 169, -extern void foobar 170, -typedef struct cacheLRUEntry_s172, - U16 next;174, - U16 prev;175, -__attribute__ ((packed)) cacheLRUEntry_t;177, -struct foo 178, - int x;179, - char a,180, - char a, b,180, - char a, b, c,180, - char a, b, c, d;180, - f1 183, -void f2 184, -__attribute__((noreturn)) void d0 185, - __attribute__((format(printf, 1, 2))) d1 186, - d2 187, -int x 188, -struct foo 189, -struct foo { int x[x189, -short array[array190, -int f193, -DEAFUN 196, -XDEFUN 203, -DEFUN ("x-get-selection-internal", Fx_get_selection_internal,206, -DEFUN ("x-get-selection-internal", Fx_get_selection_internal,x-get-selection-internal206, - Fx_get_selection_internal,212, - Fx_get_selection_internal,x-get-selection-internal212, - Fy_get_selection_internal,216, - Fy_get_selection_internal,y-get-selection-internal216, -defun_func1(218, -DEFUN_func2(220, -typedef int bool;222, -bool funcboo 223, -struct my_struct 226, -typedef struct my_struct my_typedef;228, -int bla 229, -a(234, -int func1237, -static struct cca_control init_control 239, -static tpcmd rbtp 240, -static byte ring1 241, -static byte ring2 242, -request request 243, -int func2 246, - aaa;249, - bbb;251, -struct sss1 252, -struct sss2253, - struct ss3255, -struct a b;259, -struct aa *b;b260, - **b;b262, -caccacacca 263, -a 267, - typedef struct aa 269, - typedef struct aa {} aaa;269, -static void inita 271, -node *lasta lasta272, -b 273, - typedef int bb;275, -static void initb 277, -node *lastb lastb278, -typedef enum { REG_ENOSYS 279, -typedef enum { REG_ENOSYS = -1, aa 279, -typedef enum { REG_ENOSYS = -1, aa } reg_errcode_t;279, - -c-src/a/b/b.c,18 -#define this 1,0 - -../c/c.web,20 -#define questo 34, - -y-src/parse.y,1061 -#define obstack_chunk_alloc 47,1124 -#define obstack_chunk_free 48,1162 -int yylex 58,1330 -void yyerror 60,1360 -void yyerror 62,1389 -VOIDSTAR parse_hash;64,1413 -extern VOIDSTAR hash_find(65,1434 -unsigned char fnin[fnin68,1532 -#define YYSTYPE 72,1630 -typedef struct node *YYSTYPE;YYSTYPE73,1661 -YYSTYPE parse_return;74,1691 -YYSTYPE make_list 76,1729 -YYSTYPE make_list 78,1773 -char *instr;instr81,1803 -int parse_error 82,1816 -extern struct obstack tmp_mem;83,1837 -line:line87,1875 -exp:exp95,1988 -exp_list:exp_list263,5655 -range_exp:range_exp269,5753 -range_exp_list:range_exp_list273,5783 -cell:cell279,5901 -yyerror FUN1(286,5948 -make_list FUN2(293,6028 -#define ERROR 304,6228 -extern struct node *yylval;yylval306,6246 -unsigned char parse_cell_or_range 309,6291 -unsigned char parse_cell_or_range 311,6355 -yylex FUN0(315,6405 -parse_cell_or_range FUN2(587,11772 -#define CK_ABS_R(671,13214 -#define CK_REL_R(675,13293 -#define CK_ABS_C(680,13422 -#define CK_REL_C(684,13501 -#define MAYBEREL(689,13630 -str_to_col FUN1(847,16831 - -y-src/parse.c,520 -#define YYBISON 4,64 -# define NE 6,114 -# define LE 7,130 -# define GE 8,146 -# define NEG 9,162 -# define L_CELL 10,179 -# define L_RANGE 11,199 -# define L_VAR 12,220 -# define L_CONST 13,239 -# define L_FN0 14,260 -# define L_FN1 15,279 -# define L_FN2 16,298 -# define L_FN3 17,317 -# define L_FN4 18,336 -# define L_FNN 19,355 -# define L_FN1R 20,374 -# define L_FN2R 21,394 -# define L_FN3R 22,414 -# define L_FN4R 23,434 -# define L_FNNR 24,454 -# define L_LE 25,474 -# define L_NE 26,492 -# define L_GE 27,510 - -/usr/share/bison/bison.simple,1787 -# define YYSTD(40, -# define YYSTD(42, -# define YYSTACK_ALLOC 50, -# define YYSIZE_T 51, -# define YYSTACK_ALLOC 55, -# define YYSIZE_T 56, -# define YYSTACK_ALLOC 59, -# define YYSTACK_FREE(67, -# define YYSIZE_T 71, -# define YYSIZE_T 75, -# define YYSTACK_ALLOC 78, -# define YYSTACK_FREE 79, -union yyalloc83, - short yyss;85, - YYSTYPE yyvs;86, - YYLTYPE yyls;88, -# define YYSTACK_GAP_MAX 93, -# define YYSTACK_BYTES(98, -# define YYSTACK_BYTES(102, -# define YYSTACK_RELOCATE(112, -# define YYSIZE_T 128, -# define YYSIZE_T 131, -# define YYSIZE_T 136, -# define YYSIZE_T 140, -# define YYSIZE_T 145, -#define yyerrok 148, -#define yyclearin 149, -#define YYEMPTY 150, -#define YYEOF 151, -#define YYACCEPT 152, -#define YYABORT 153, -#define YYERROR 154, -#define YYFAIL 158, -#define YYRECOVERING(159, -#define YYBACKUP(160, -#define YYTERROR 177, -#define YYERRCODE 178, -# define YYLLOC_DEFAULT(189, -# define YYLEX 200, -# define YYLEX 202, -# define YYLEX 206, -# define YYLEX 208, -# define YYLEX 212, -# define YYFPRINTF 225, -# define YYDPRINTF(228, -int yydebug;237, -# define YYDPRINTF(239, -# define YYINITDEPTH 244, -# undef YYMAXDEPTH255, -# define YYMAXDEPTH 259, -# define yymemcpy 264, -yymemcpy 271, -# define yystrlen 293, -yystrlen 298, -# define yystpcpy 316, -yystpcpy 322, -# define YYPARSE_PARAM_ARG 351, -# define YYPARSE_PARAM_DECL352, -# define YYPARSE_PARAM_ARG 354, -# define YYPARSE_PARAM_DECL 355, -# define YYPARSE_PARAM_ARG358, -# define YYPARSE_PARAM_DECL359, -int yyparse 365, -int yyparse 367, -#define YY_DECL_NON_LSP_VARIABLES 374, -# define YY_DECL_VARIABLES 385, -# define YY_DECL_VARIABLES 391, -yyparse 403, -# define YYPOPSTACK 445, -# define YYPOPSTACK 447, -# undef YYSTACK_RELOCATE548, - -y-src/atest.y,9 -exp 2,3 - -y-src/cccp.c,303 -#define YYBISON 4,63 -# define INT 6,113 -# define CHAR 7,130 -# define NAME 8,148 -# define ERROR 9,166 -# define OR 10,185 -# define AND 11,201 -# define EQUAL 12,218 -# define NOTEQUAL 13,237 -# define LEQ 14,259 -# define GEQ 15,276 -# define LSH 16,293 -# define RSH 17,310 -# define UNARY 18,327 - -/usr/share/bison/bison.simple,2238 -# define YYSTD(41, -# define YYSTD(43, -# define YYSTACK_ALLOC 51, -# define YYSIZE_T 52, -# define YYSTACK_ALLOC 56, -# define YYSIZE_T 57, -# define YYSTACK_ALLOC 60, -# define YYSTACK_FREE(68, -# define YYSIZE_T 72, -# define YYSIZE_T 76, -# define YYSTACK_ALLOC 79, -# define YYSTACK_FREE 80, -union yyalloc84, - short yyss;86, - YYSTYPE yyvs;87, - YYLTYPE yyls;89, -# define YYSTACK_GAP_MAX 94, -# define YYSTACK_BYTES(99, -# define YYSTACK_BYTES(103, -# define YYSTACK_RELOCATE(113, -# define YYSIZE_T 129, -# define YYSIZE_T 132, -# define YYSIZE_T 137, -# define YYSIZE_T 141, -# define YYSIZE_T 146, -#define yyerrok 149, -#define yyclearin 150, -#define YYEMPTY 151, -#define YYEOF 152, -#define YYACCEPT 153, -#define YYABORT 154, -#define YYERROR 155, -#define YYFAIL 159, -#define YYRECOVERING(160, -#define YYBACKUP(161, -#define YYTERROR 178, -#define YYERRCODE 179, -# define YYLLOC_DEFAULT(190, -# define YYLEX 201, -# define YYLEX 203, -# define YYLEX 207, -# define YYLEX 209, -# define YYLEX 213, -# define YYFPRINTF 226, -# define YYDPRINTF(229, -int yydebug;238, -# define YYDPRINTF(240, -# define YYINITDEPTH 245, -# undef YYMAXDEPTH256, -# define YYMAXDEPTH 260, -# define yymemcpy 265, -yymemcpy 272, -# define yystrlen 294, -yystrlen 299, -# define yystpcpy 317, -yystpcpy 323, -# define YYPARSE_PARAM_ARG 351, -# define YYPARSE_PARAM_DECL352, -# define YYPARSE_PARAM_ARG 354, -# define YYPARSE_PARAM_DECL 355, -# define YYPARSE_PARAM_ARG358, -# define YYPARSE_PARAM_DECL359, -int yyparse 365, -int yyparse 367, -#define YY_DECL_NON_LSP_VARIABLES 374, -# define YY_DECL_VARIABLES 385, -# define YY_DECL_VARIABLES 391, -yyparse 403, -# define YYPOPSTACK 445, -# define YYPOPSTACK 447, -# undef YYSTACK_RELOCATE548, - *++yyvsp yyvsp746, - *++yylsp yylsp748, - yyn 755, - yystate 757, - yystate 761, - goto yynewstate;763, - goto yyerrlab1;823, - yyerrstatus 846, - goto yyerrhandle;848, - yyn 861, - yystate 875, - yyn 895, - yyn 903, - YYDPRINTF 917, - *++yyvsp yyvsp919, - *++yylsp yylsp921, - yystate 924, - goto yynewstate;925, - yyresult 932, - goto yyreturn;933, - yyresult 939, - goto yyreturn;940, - yyerror 946, - yyresult 947, - -y-src/cccp.y,2171 -typedef unsigned char U_CHAR;38,1201 -struct arglist 41,1301 - struct arglist *next;next42,1318 - U_CHAR *name;name43,1342 - int length;44,1358 - int argno;45,1372 -#define NULL 51,1468 -#define GENERIC_PTR 56,1578 -#define GENERIC_PTR 58,1611 -#define NULL_PTR 63,1670 -int yylex 66,1712 -void yyerror 67,1726 -int expression_value;68,1743 -static jmp_buf parse_return_error;70,1766 -static int keyword_parsing 73,1865 -extern unsigned char is_idstart[is_idstart76,1944 -extern unsigned char is_idstart[], is_idchar[is_idchar76,1944 -extern unsigned char is_idstart[], is_idchar[], is_hor_space[is_hor_space76,1944 -extern char *xmalloc xmalloc78,2009 -extern int pedantic;81,2062 -extern int traditional;84,2114 -#define CHAR_TYPE_SIZE 87,2162 -#define INT_TYPE_SIZE 91,2229 -#define LONG_TYPE_SIZE 95,2296 -#define WCHAR_TYPE_SIZE 99,2365 -#define possible_sum_sign(104,2556 -static void integer_overflow 106,2632 -static long left_shift 107,2665 -static long right_shift 108,2692 - struct constant 112,2733 - struct constant {long value;112,2733 - struct constant {long value; int unsignedp;112,2733 - struct constant {long value; int unsignedp;} integer;112,2733 - struct name 113,2789 - struct name {U_CHAR *address;address113,2789 - struct name {U_CHAR *address; int length;113,2789 - struct name {U_CHAR *address; int length;} name;113,2789 - struct arglist *keywords;keywords114,2840 - int voidval;115,2868 - char *sval;sval116,2883 -start 143,3226 -exp1 148,3330 -exp 156,3505 -exp 185,4295 -keywords 306,7835 -static char *lexptr;lexptr332,8579 -parse_number 341,8842 -struct token 437,11038 - char *operator;operator438,11053 - int token;439,11071 -static struct token tokentab2[tokentab2442,11088 -yylex 459,11367 -parse_escape 740,17718 -yyerror 836,19599 -integer_overflow 844,19690 -left_shift 851,19804 -right_shift 873,20194 -parse_c_expression 893,20732 -extern int yydebug;919,21416 -main 923,21483 -unsigned char is_idchar[is_idchar948,21901 -unsigned char is_idstart[is_idstart950,21996 -char is_hor_space[is_hor_space953,22160 -initialize_random_junk 958,22259 -error 988,22915 -warning 993,22963 -lookup 999,23033 - -tex-src/nonewline.tex,0 - -php-src/sendmail.php,0 - -a-src/empty.zz,0 diff --git a/test/manual/etags/Makefile b/test/manual/etags/Makefile deleted file mode 100644 index 81b5c3ca721..00000000000 --- a/test/manual/etags/Makefile +++ /dev/null @@ -1,99 +0,0 @@ -ADASRC=$(addprefix ./ada-src/,etags-test-for.ada 2ataspri.adb 2ataspri.ads waroquiers.ada) -ASRC=$(addprefix ./a-src/,empty.zz empty.zz.gz) -CSRC=$(addprefix ./c-src/,abbrev.c .//c.c torture.c getopt.h etags.c\ - exit.c exit.strange_suffix sysdep.h tab.c dostorture.c\ - emacs/src/gmalloc.c emacs/src/regex.h emacs/src/keyboard.c emacs/src/lisp.h\ - machsyscalls.c machsyscalls.h fail.c a/b/b.c) ../etags/c-src/h.h -CPSRC=$(addprefix ./cp-src/,c.C x.cc burton.cpp burton.cpp\ - functions.cpp MDiagArray2.h Range.h\ - screen.cpp screen.hpp conway.cpp conway.hpp clheir.cpp.gz clheir.hpp.gz fail.C) -ELSRC=$(addprefix ./el-src/,TAGTEST.EL emacs/lisp/progmodes/etags.el) -ERLSRC=$(addprefix ./erl-src/,gs_dialog.erl) -FORTHSRC=$(addprefix ./forth-src/,test-forth.fth) -FSRC=$(addprefix ./f-src/,entry.for entry.strange_suffix entry.strange) -GOSRC=$(addprefix ./go-src/,test.go test1.go) -HTMLSRC=$(addprefix ./html-src/,softwarelibero.html index.shtml algrthms.html software.html) -#JAVASRC=$(addprefix ./java-src/, ) -LUASRC=$(addprefix ./lua-src/,allegro.lua test.lua) -MAKESRC=$(addprefix ./make-src/,Makefile) -MERCSRC=$(addprefix ./merc-src/,accumulator.m) -OBJCSRC=$(addprefix ./objc-src/,Subprocess.h Subprocess.m PackInsp.h PackInsp.m) -OBJCPPSRC=$(addprefix ./objcpp-src/,SimpleCalc.H SimpleCalc.M) -PASSRC=$(addprefix ./pas-src/,common.pas) -PERLSRC=$(addprefix ./perl-src/,htlmify-cystic yagrip.pl kai-test.pl) -PHPSRC=$(addprefix ./php-src/,lce_functions.php ptest.php sendmail.php) -PSSRC=$(addprefix ./ps-src/,rfc1245.ps) -PROLSRC=$(addprefix ./prol-src/,ordsets.prolog natded.prolog) -PYTSRC=$(addprefix ./pyt-src/,server.py) -RBSRC=$(addprefix ./ruby-src/,test.rb test1.ru) -RSSRC=$(addprefix ./rs-src/,test.rs) -SCMSRC=$(addprefix ./scm-src/,test.scm) -TEXSRC=$(addprefix ./tex-src/,testenv.tex gzip.texi texinfo.tex nonewline.tex) -YSRC=$(addprefix ./y-src/,parse.y parse.c atest.y cccp.c cccp.y) -SRCS=${ADASRC} ${ASRC} ${CSRC} ${CPSRC} ${ELSRC} ${ERLSRC} ${FSRC}\ - ${FORTHSRC} ${GOSRC} ${HTMLSRC} ${JAVASRC} ${LUASRC} ${MAKESRC}\ - ${OBJCSRC} ${OBJCPPSRC} ${PASSRC} ${PHPSRC} ${PERLSRC} ${PSSRC}\ - ${PROLSRC} ${PYTSRC} ${RBSRC} ${RSSRC} ${SCMSRC} ${TEXSRC} ${YSRC} ${MERCSRC} -NONSRCS=./f-src/entry.strange ./erl-src/lists.erl ./cp-src/clheir.hpp.gz - -ETAGS_PROG=../../../lib-src/etags -CTAGS_PROG=../../../lib-src/ctags - -REGEX=/[ \t]*DEFVAR_[A-Z_ \t\n(]+"\([^"]+\)"/ -xx="this line is here because of a fontlock bug - -RUN= - -OPTIONS=--members --declarations --regex=@regexfile -ARGS=- < srclist - -infiles = $(filter-out ${NONSRCS},${SRCS}) srclist regexfile - -.PHONY: check cdiff ETAGS CTAGS -# Can't make ediff_1 through ediff_5 .PHONY, as they're implicit. - -check: - @$(MAKE) OPTIONS='--no-members' ediff_1 - @$(MAKE) OPTIONS='--declarations --no-members' ediff_2 - @$(MAKE) OPTIONS='--members' ediff_3 - @$(MAKE) OPTIONS='--regex=@regexfile --no-members' ediff_4 - @$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ediff_5 - @$(MAKE) OPTIONS='--class-qualify --members --declarations --regex=@regexfile' ediff_6 - @$(MAKE) cdiff - @$(MAKE) ctags_update - -ediff%: ETAGS.good% ETAGS ${infiles} - diff -u --suppress-common-lines --width=80 ETAGS.good$* ETAGS - -cdiff: CTAGS.good CTAGS ${infiles} - diff -u --suppress-common-lines --width=80 CTAGS.good CTAGS - -ctags_update: CTAGS.good_update ${infiles} - head -n 100 CTAGS.good_update > CTAGS - tail -n 100 CTAGS.good_update >> CTAGS - ${RUN} ${CTAGS_PROG} -o CTAGS -u ${ARGS} - sort CTAGS > CTAGS.sorted - sort CTAGS.good_update > CTAGS.good_update.sorted - diff -u --suppress-common-lines --width=80 CTAGS.good_update.sorted CTAGS.sorted - - cp crlf CTAGS - ${RUN} ${CTAGS_PROG} -o CTAGS -u ${ARGS} - sort CTAGS > CTAGS.sorted - sort CTAGS.good_crlf > CTAGS.good_crlf.sorted - diff -u --suppress-common-lines --width=80 CTAGS.good_crlf.sorted CTAGS.sorted - -ETAGS: ${infiles} - ${RUN} ${ETAGS_PROG} ${OPTIONS} -o $@ ${ARGS} - -CTAGS: ${infiles} - ${RUN} ${CTAGS_PROG} -o $@ --regex=@regexfile ${ARGS} - -srclist: Makefile - @for i in $(SRCS); do echo $$i; done > srclist - @echo "srclist remade" - -regexfile: Makefile - @echo ' -- This is for GNU Emacs source files' > regexfile - @printf '%s\n' '${REGEX}' >> regexfile - @printf '%s\n' '{c}${REGEX}\\1/m' >> regexfile - @echo "regexfile remade" diff --git a/test/manual/etags/README b/test/manual/etags/README deleted file mode 100644 index 7bce861030b..00000000000 --- a/test/manual/etags/README +++ /dev/null @@ -1,60 +0,0 @@ -This directory contains the test suite for the 'etags' and 'ctags' -programs. - -The input files, which include source files in various languages -supported by the programs, are in the *-src/ directories (e.g., c-src -for C sources, ada-src for Ada, tex-src for TeX, etc.). - -The expected results are slightly different for each of the 7 commands -(see below) run by the test suite, and are on files ETAGS.good_N -(where N is between 1 and 6) and CTAGS.good. - -To run the tests, say - - make check - -in this directory. This should run the programs 7 times with various -command line switches, and should not show any differences between the -produced file ETAGS/CTAGS and the corresponding expected results. Any -diffs shown by the 'diff' utility should be examined for potential -regressions in 'etags' or 'ctags'. - -In some cases, diffs should be expected. These include: - - . adding new input files in the *-src/ directories - . routine changes in the existing input files, such as the yearly - update of copyright years, spelling changes, etc. - . adding new features to etags.c - -When the diffs are expected, they should be examined to make sure -there are no regressions. To do so, compare the line numbers and byte -offsets shown in the new ETAGS/CTAGS files against the up-to-date -input files, and make sure the new values match, whereas the old one -don't. Also make sure there no new or missing entries in the -ETAGS/CTAGS files as compared with the expected results. (When new -input files are added, there obviously will be new entries -- these -should be compared to the input files to verify correctness.) - -Once the differences are deemed to be justified, i.e. you decide that -the new ETAGS/CTAGS file should become the new expected result, you -should copy the ETAGS/CTAGS files produced by the test run to the -corresponding "good" files, one by one. Like this: - - $ make check - $ cp ETAGS ETAGS.good_1 - $ make check - $ cp ETAGS ETAGS.good_2 - $ make check - $ cp ETAGS ETAGS.good_3 - ... - $ make check - $ cp ETAGS ETAGS.good_6 - $ make check - $ cp CTAGS CTAGS.good - -This uses the fact that "make check" will stop after the first -failure, i.e. after the first time 'diff' reports any diffs, and then -the ETAGS/CTAGS file from the last invocation is available for -becoming the new expected-result file. Alternatively, you can see the -name of the expected-result file which needs to be updated in the -output of the 'diff' utility. diff --git a/test/manual/etags/a-src/empty.zz b/test/manual/etags/a-src/empty.zz deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/test/manual/etags/a-src/empty.zz.gz b/test/manual/etags/a-src/empty.zz.gz deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/test/manual/etags/ada-src/2ataspri.adb b/test/manual/etags/ada-src/2ataspri.adb deleted file mode 100644 index 43ca983824c..00000000000 --- a/test/manual/etags/ada-src/2ataspri.adb +++ /dev/null @@ -1,665 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNU ADA RUNTIME LIBRARY (GNARL) COMPONENTS -- --- -- --- S Y S T E M . T A S K _ P R I M I T I V E S -- --- -- --- B o d y -- --- -- --- $Revision: 1.1 $ -- --- -- --- Copyright (C) 1991,1992,1993,1994,1996 Florida State University -- --- -- --- GNARL is free software; you can redistribute it and/or modify it under -- --- terms of the GNU Library General Public License as published by the -- --- Free Software Foundation; either version 2, or (at your option) any -- --- later version. GNARL is distributed in the hope that it will be use- -- --- ful, but but WITHOUT ANY WARRANTY; without even the implied warranty of -- --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Gen- -- --- eral Library Public License for more details. You should have received -- --- a copy of the GNU Library General Public License along with GNARL; see -- --- file COPYING.LIB. If not, write to the Free Software Foundation, 675 -- --- Mass Ave, Cambridge, MA 02139, USA. -- --- -- ------------------------------------------------------------------------------- - -with GNAT.IO; -with Interfaces.C.POSIX_timers; - -with Interfaces.C.POSIX_Error; -use Interfaces.C.POSIX_Error; - -with Interfaces.C.POSIX_RTE; -use Interfaces.C.POSIX_RTE; - -with Interfaces.C.Pthreads; -use Interfaces.C.Pthreads; - -with Interfaces.C; -use Interfaces.C; - -with System.Tasking; -use System.Tasking; - -with System.Storage_Elements; -use System.Storage_Elements; - -with System.Compiler_Exceptions; -use System.Compiler_Exceptions; - -with System.Task_Specific_Data; -use System.Task_Specific_Data; - -with System.Secondary_Stack; -use System.Secondary_Stack; - -with System.Tasking_Soft_Links; - -with System.Task_Clock; -use System.Task_Clock; - -with Unchecked_Conversion; -with Interfaces.C.System_Constants; - -package body System.Task_Primitives is - - use Interfaces.C.Pthreads; - use Interfaces.C.System_Constants; - - package RTE renames Interfaces.C.POSIX_RTE; - package TSL renames System.Tasking_Soft_Links; - - Test_And_Set_Mutex : Lock; - - Abort_Signal : constant := 6; - - Abort_Handler : Abort_Handler_Pointer; - - ATCB_Key : aliased pthread_key_t; - - Unblocked_Signal_Mask : aliased RTE.Signal_Set; - -- The set of signals that should be unblocked in a task. - -- This is in general the signals that can be generated synchronously, - -- and which should therefore be converted into Ada exceptions. - -- It also includes the Abort_Signal, to allow asynchronous abortion. - - function To_void_ptr is new - Unchecked_Conversion (TCB_Ptr, void_ptr); - - function To_TCB_Ptr is new - Unchecked_Conversion (void_ptr, TCB_Ptr); - - function pthread_mutexattr_setprotocol - (attr : access pthread_attr_t; priority : integer) return int; - pragma Import (C, - pthread_mutexattr_setprotocol, - "pthread_mutexattr_setprotocol", - "pthread_mutexattr_setprotocol"); - - function pthread_mutexattr_setprio_ceiling - (attr : access pthread_attr_t; priority : int) return int; - pragma Import (C, - pthread_mutexattr_setprio_ceiling, - "pthread_mutexattr_setprio_ceiling", - "pthread_mutexattr_setprio_ceiling"); - - pthread_mutexattr_default : pthread_mutexattr_t; - pragma Import (C, pthread_mutexattr_default, - "pthread_mutexattr_default", - "pthread_mutexattr_default"); - - ----------------------- - -- Local Subprograms -- - ----------------------- - - procedure Abort_Wrapper - (signo : Integer; - info : RTE.siginfo_ptr; - context : System.Address); - -- This is a signal handler procedure which calls the user-specified - -- abort handler procedure. - - procedure LL_Wrapper (T : TCB_Ptr); - -- A wrapper procedure that is called from a new low-level task. - -- It performs initializations for the new task and calls the - -- user-specified startup procedure. - - ------------------------- - -- Initialize_LL_Tasks -- - ------------------------- - - procedure Initialize_LL_Tasks (T : TCB_Ptr) is - Result : int; - begin - T.LL_Entry_Point := null; - T.Thread := pthread_self; - - Result := pthread_key_create (ATCB_Key'Access, null); - - if Result = FUNC_ERR then - raise Storage_Error; -- Insufficient resources. - end if; - - T.Thread := pthread_self; - - Result := pthread_setspecific (ATCB_Key, To_void_ptr (T)); - - if Result = FUNC_ERR then - GNAT.IO.Put_Line ("Get specific failed"); - raise Storage_Error; -- Insufficient resources. - end if; - pragma Assert (Result /= FUNC_ERR, - "GNULLI failure---pthread_setspecific"); - - end Initialize_LL_Tasks; - - ---------- - -- Self -- - ---------- - - function Self return TCB_Ptr is - Temp : aliased void_ptr; - Result : int; - begin - Result := pthread_getspecific (ATCB_Key, Temp'Access); - pragma Assert (Result /= FUNC_ERR, - "GNULLI failure---pthread_getspecific"); - return To_TCB_Ptr (Temp); - end Self; - - --------------------- - -- Initialize_Lock -- - --------------------- - - procedure Initialize_Lock - (Prio : System.Any_Priority; - L : in out Lock) - is - - Attributes : aliased pthread_mutexattr_t; - Result : int; - MUTEX_NONRECURSIVE_NP : constant := 2; - - begin - Result := pthread_mutexattr_init (Attributes'Access); - if Result = FUNC_ERR then - raise STORAGE_ERROR; -- should be ENOMEM - end if; - - Result := pthread_mutexattr_setkind - (Attributes'Access, MUTEX_NONRECURSIVE_NP); - if Result = FUNC_ERR then - raise STORAGE_ERROR; -- should be ENOMEM - end if; - - Result := pthread_mutex_init (L.mutex'Access, Attributes); - - if Result = FUNC_ERR then - Result := pthread_mutexattr_destroy (Attributes'Access); - raise STORAGE_ERROR; -- should be ENOMEM ??? - end if; - - Result := pthread_mutexattr_destroy (Attributes'Access); - - end Initialize_Lock; - - ------------------- - -- Finalize_Lock -- - ------------------- - - procedure Finalize_Lock (L : in out Lock) is - Result : int; - begin - Result := pthread_mutex_destroy (L.mutex'Access); - pragma Assert - (Result /= FUNC_ERR, "GNULLI failure---pthread_mutex_destroy"); - end Finalize_Lock; - - ---------------- - -- Write_Lock -- - ---------------- - - -- - -- The current pthreads implementation does not check for Ceiling - -- violations. - -- - procedure Write_Lock (L : in out Lock; Ceiling_Violation : out Boolean) is - Result : int; - begin - Ceiling_Violation := False; - Result := pthread_mutex_lock (L.mutex'Access); - pragma Assert - (Result /= FUNC_ERR, "GNULLI FUNC_ERR---pthread_mutex_lock"); - end Write_Lock; - - --------------- - -- Read_Lock -- - --------------- - - procedure Read_Lock (L : in out Lock; Ceiling_Violation : out Boolean) - renames Write_Lock; - - ------------ - -- Unlock -- - ------------ - - procedure Unlock (L : in out Lock) is - Result : int; - begin - Result := pthread_mutex_unlock (L.mutex'Access); - pragma Assert - (Result /= FUNC_ERR, "GNULLI FUNC_ERR---pthread_mutex_unlock"); - end Unlock; - - --------------------- - -- Initialize_Cond -- - --------------------- - - procedure Initialize_Cond (Cond : in out Condition_Variable) is - Attributes : aliased Pthreads.pthread_condattr_t; - Result : int; - begin - Result := pthread_condattr_init (Attributes'Access); - - if Result = FUNC_ERR then - raise STORAGE_ERROR; -- should be ENOMEM ??? - end if; - - -- Result := pthread_cond_init (Cond.CV'Access, Attributes'Access); - Result := pthread_cond_init (Cond.CV'Access, Attributes); - - - if Result = FUNC_ERR then - raise STORAGE_ERROR; -- should be ENOMEM ??? - end if; - - Result := pthread_condattr_destroy (Attributes'Access); - pragma Assert - (Result /= FUNC_ERR, "GNULLI FUNC_ERR---pthread_condattr_destroy"); - - end Initialize_Cond; - - ------------------- - -- Finalize_Cond -- - ------------------- - - procedure Finalize_Cond (Cond : in out Condition_Variable) is - Result : int; - - begin - Result := pthread_cond_destroy (Cond.CV'Access); - pragma Assert - (Result /= FUNC_ERR, "GNULLI failure---pthread_cond_destroy"); - end Finalize_Cond; - - - --------------- - -- Cond_Wait -- - --------------- - - procedure Cond_Wait (Cond : in out Condition_Variable; L : in out Lock) is - Result : int; - begin - Result := pthread_cond_wait (Cond.CV'Access, L.mutex'Access); - pragma Assert - (Result /= FUNC_ERR, "GNULLI failure---pthread_cond_wait"); - end Cond_Wait; - - --------------------- - -- Cond_Timed_Wait -- - --------------------- - - procedure Cond_Timed_Wait - (Cond : in out Condition_Variable; - L : in out Lock; - Abs_Time : System.Task_Clock.Stimespec; - Timed_Out : out Boolean) is - - Result : int; - TV : aliased timespec; - - use POSIX_Error; - - begin - Timed_Out := False; -- Assume success until we know otherwise - - TV.tv_sec := int (Interfaces.C.POSIX_timers.time_t - (Task_Clock.Stimespec_Seconds (Abs_Time))); - - TV.tv_nsec := long (Interfaces.C.POSIX_timers.Nanoseconds - (Task_Clock.Stimespec_NSeconds (Abs_Time))); - - Result := pthread_cond_timedwait - (Cond.CV'Access, L.mutex'Access, TV'Access); - pragma Assert - (Result /= FUNC_ERR, "GNULLI failure---pthread_cond_timedwait"); - - end Cond_Timed_Wait; - - ----------------- - -- Cond_Signal -- - ----------------- - - procedure Cond_Signal (Cond : in out Condition_Variable) is - Result : int; - begin - Result := pthread_cond_signal (Cond.CV'Access); - pragma Assert - (Result /= FUNC_ERR, "GNULLI failure---pthread_cond_signal"); - end Cond_Signal; - - ------------------ - -- Set_Priority -- - ------------------ - - procedure Set_Priority - (T : TCB_Ptr; - Prio : System.Any_Priority) is - - Result : int; - Thread : Pthreads.pthread_t renames T.Thread; - - begin - Result := pthread_setprio (Thread, int (Prio)); - pragma Assert - (Result /= FUNC_ERR, "GNULLI failure---pthread_setprio"); - end Set_Priority; - - ---------------------- - -- Set_Own_Priority -- - ---------------------- - - procedure Set_Own_Priority (Prio : System.Any_Priority) is - begin - null; - -- ENOSYS Result := - -- pthread_setprio (pthread_self, int (Prio)); - -- pragma Assert - -- (Result /= FUNC_ERR, "GNULLI failure---pthread_setprio"); - end Set_Own_Priority; - - ------------------ - -- Get_Priority -- - ------------------ - - function Get_Priority (T : TCB_Ptr) return System.Any_Priority is - Priority : aliased int := 0; - begin - -- ENOSYS Result := pthread_getprio (T.Thread, Priority'Access); - -- pragma Assert - -- (Result /= FUNC_ERR, "GNULLI failure---pthread_getprio"); - return System.Priority (Priority); - end Get_Priority; - - ----------------------- - -- Get_Own_Priority -- - ----------------------- - - function Get_Own_Priority return System.Any_Priority is - Result : int; - Priority : aliased int := 0; - begin - Result := pthread_getprio (pthread_self, Priority'Access); - pragma Assert - (Result /= FUNC_ERR, "GNULLI failure---pthread_getprio"); - return System.Priority (Priority); - end Get_Own_Priority; - - -------------------- - -- Create_LL_Task -- - -------------------- - - procedure Create_LL_Task - (Priority : System.Any_Priority; - Stack_Size : Task_Storage_Size; - Task_Info : System.Task_Info.Task_Info_Type; - LL_Entry_Point : LL_Task_Procedure_Access; - Arg : System.Address; - T : TCB_Ptr) is - - use Pthreads; - - Attributes : aliased pthread_attr_t; - Result : int; - L_Priority : System.Any_Priority := Priority; - - function To_Start_Addr is new - Unchecked_Conversion (System.Address, start_addr); - - begin - T.LL_Entry_Point := LL_Entry_Point; - T.LL_Arg := Arg; - T.Stack_Size := Stack_Size; - - Result := pthread_attr_init (Attributes'Access); - pragma Assert (Result /= FUNC_ERR, "GNULLI failure---pthread_attr_init"); - --- Result := pthread_attr_setdetachstate (Attributes'Access, 1); --- pragma Assert --- (Result /= FUNC_ERR, "GNULLI failure---pthread_setdetachstate"); - - Result := pthread_attr_setstacksize - (Attributes'Access, size_t (Stack_Size)); - pragma Assert - (Result /= FUNC_ERR, "GNULLI failure---pthread_setstacksize"); - - Result := pthread_attr_setinheritsched - (Attributes'Access, PTHREAD_DEFAULT_SCHED); - pragma Assert - (Result /= FUNC_ERR, "GNULLI failure---pthread_setinheritsched"); - - Result := pthread_attr_setsched - (Attributes'Access, SCHED_FIFO); - pragma Assert - (Result /= FUNC_ERR, "GNULLI failure---pthread_setinheritsched"); - - -- The following priority adjustment is a kludge to get around needing - -- root privileges to run at higher than 18 for FIFO or 19 for OTHER. - - if (L_Priority > 18) then - L_Priority := 18; - elsif (L_Priority < 14) then - L_Priority := 14; - end if; - - Result := pthread_attr_setprio - (Attributes'Access, int (L_Priority)); - pragma Assert - (Result /= FUNC_ERR, "GNULLI failure---pthread_attr_setprio"); - - Result := pthread_create - (T.Thread'Access, - Attributes, - To_Start_Addr (LL_Wrapper'Address), - T.all'Address); - if Result = FUNC_ERR then - GNAT.IO.Put_Line ("pthread create failed"); - raise Storage_Error; - end if; - pragma Assert (Result /= FUNC_ERR, "GNULLI failure---pthread_create"); - - Result := pthread_attr_destroy (Attributes'Access); - pragma Assert - (Result /= FUNC_ERR, "GNULLI failure---pthread_attr_destroy"); - - end Create_LL_Task; - - ----------------- - -- Exit_LL_Task -- - ------------------ - - procedure Exit_LL_Task is - begin - pthread_exit (System.Null_Address); - end Exit_LL_Task; - - ---------------- - -- Abort_Task -- - ---------------- - - procedure Abort_Task (T : TCB_Ptr) is - Result : int; - begin --- Result := pthread_kill (T.Thread); --- pragma Assert --- (Result /= FUNC_ERR, "GNULLI failure---pthread_kill"); - null; - end Abort_Task; - - ---------------- - -- Test_Abort -- - ---------------- - - -- This procedure does nothing. It is intended for systems without - -- asynchronous abortion, where the runtime system would have to - -- synchronously poll for pending abortions. This should be done - -- at least at every synchronization point. - - procedure Test_Abort is - begin - null; - end Test_Abort; - - --------------------------- - -- Install_Abort_Handler -- - --------------------------- - - procedure Install_Abort_Handler (Handler : Abort_Handler_Pointer) is - act : aliased RTE.struct_sigaction; - old_act : aliased RTE.struct_sigaction; - Result : POSIX_Error.Return_Code; - SA_SIGINFO : constant := 64; - - use type POSIX_Error.Return_Code; - - begin - Abort_Handler := Handler; - - act.sa_flags := SA_SIGINFO; - act.sa_handler := Abort_Wrapper'Address; - RTE.sigemptyset (act.sa_mask'Access, Result); - pragma Assert (Result /= FUNC_ERR, "GNULLI failure---sigemptyset"); - - RTE.sigaction (Abort_Signal, act'Access, old_act'Access, Result); - pragma Assert (Result /= FUNC_ERR, "GNULLI failure---sigaction"); - end Install_Abort_Handler; - - ------------------- - -- Abort_Wrapper -- - ------------------- - - -- This is the handler called by the OS when an abort signal is - -- received; it in turn calls the handler installed by the client. - -- This procedure serves to isolate the client from the - -- implementation-specific calling conventions of asynchronous - -- handlers. - - procedure Abort_Wrapper - (signo : Integer; - info : RTE.siginfo_ptr; - context : System.Address) - is - function Address_To_Call_State is new - Unchecked_Conversion (System.Address, Pre_Call_State); - - begin - Abort_Handler (Address_To_Call_State (context)); - end Abort_Wrapper; - - --------------------------- - -- Install_Error_Handler -- - --------------------------- - - procedure Install_Error_Handler (Handler : System.Address) is - - Temp : Address; - - use Pthreads; - - begin - -- Set up the soft links to tasking services used in the absence of - -- tasking. These replace tasking-free defaults. - - Temp := TSL.Get_Jmpbuf_Address.all; - -- pthread_set_jumpbuf_address (Temp); - - Temp := TSL.Get_Sec_Stack_Addr.all; - -- pthread_set_sec_stack_addr (Temp); - - -- TSL.Get_Jmpbuf_Address := pthread_get_jumpbuf_address'Access; - -- TSL.Set_Jmpbuf_Address := pthread_set_jumpbuf_address'Access; - -- TSL.Get_Gnat_Exception := pthread_get_exception'Access; - -- TSL.Set_Gnat_Exception := pthread_set_exception'Access; - end Install_Error_Handler; - - --------------- - -- LL_Assert -- - --------------- - - procedure LL_Assert (B : Boolean; M : String) is - begin - null; - end LL_Assert; - - ---------------- - -- LL_Wrapper -- - ---------------- - - procedure LL_Wrapper (T : TCB_Ptr) is - Result : POSIX_Error.Return_Code; - Result1 : int; - Exc_Stack : String (1 .. 256); - Exc_Base : Address := Exc_Stack (Exc_Stack'Last)'Address + 1; - Old_Set : aliased RTE.Signal_Set; - begin - Result1 := pthread_setspecific (ATCB_Key, T.all'Address); - - RTE.sigprocmask ( - RTE.SIG_UNBLOCK, Unblocked_Signal_Mask'Access, Old_Set'Access, Result); - pragma Assert ( - Result /= Failure, "GNULLI failure---sigprocmask"); - - -- Note that the following call may not return! - T.LL_Entry_Point (T.LL_Arg); - end LL_Wrapper; - - -------------------------- - -- Test and Set support -- - -------------------------- - - procedure Initialize_TAS_Cell (Cell : out TAS_Cell) is - begin - Cell.Value := 0; - end Initialize_TAS_Cell; - - procedure Finalize_TAS_Cell (Cell : in out TAS_Cell) is - begin - null; - end Finalize_TAS_Cell; - - procedure Clear (Cell : in out TAS_Cell) is - begin - Cell.Value := 1; - end Clear; - - procedure Test_And_Set (Cell : in out TAS_Cell; Result : out Boolean) is - Error : Boolean; - begin - Write_Lock (Test_And_Set_Mutex, Error); - - if Cell.Value = 1 then - Result := False; - else - Result := True; - Cell.Value := 1; - end if; - Unlock (Test_And_Set_Mutex); - end Test_And_Set; - - function Is_Set (Cell : in TAS_Cell) return Boolean is - begin - return Cell.Value = 1; - end Is_Set; -begin - Initialize_Lock (System.Any_Priority'Last, Test_And_Set_Mutex); -end System.Task_Primitives; diff --git a/test/manual/etags/ada-src/2ataspri.ads b/test/manual/etags/ada-src/2ataspri.ads deleted file mode 100644 index 01c786028ab..00000000000 --- a/test/manual/etags/ada-src/2ataspri.ads +++ /dev/null @@ -1,298 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNU ADA RUNTIME LIBRARY (GNARL) COMPONENTS -- --- -- --- S Y S T E M . T A S K _ P R I M I T I V E S -- --- -- --- S p e c -- --- -- --- $Revision: 1.1 $ -- --- -- --- Copyright (C) 1991,1992,1993,1994,1995,1996 Florida State University -- --- -- --- GNARL is free software; you can redistribute it and/or modify it under -- --- terms of the GNU General Public License as published by the Free Soft- -- --- ware Foundation; either version 2, or (at your option) any later ver- -- --- sion. GNARL is distributed in the hope that it will be useful, but WITH- -- --- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- --- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- --- for more details. You should have received a copy of the GNU General -- --- Public License distributed with GNARL; see file COPYING. If not, write -- --- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, -- --- MA 02111-1307, USA. -- --- -- --- As a special exception, if other files instantiate generics from this -- --- unit, or you link this unit with other files to produce an executable, -- --- this unit does not by itself cause the resulting executable to be -- --- covered by the GNU General Public License. This exception does not -- --- however invalidate any other reasons why the executable file might be -- --- covered by the GNU Public License. -- --- -- --- GNARL was developed by the GNARL team at Florida State University. It is -- --- now maintained by Ada Core Technologies Inc. in cooperation with Florida -- --- State University (http://www.gnat.com). -- --- -- ------------------------------------------------------------------------------- - -with Interfaces.C; --- Used for Size_t; - -with Interfaces.C.Pthreads; --- Used for, size_t, --- pthread_mutex_t, --- pthread_cond_t, --- pthread_t - -with Interfaces.C.POSIX_RTE; --- Used for, Signal, --- siginfo_ptr, - -with System.Task_Clock; --- Used for, Stimespec - -with Unchecked_Conversion; - -pragma Elaborate_All (Interfaces.C.Pthreads); - -with System.Task_Info; -package System.Task_Primitives is - - -- Low level Task size and state definition - - type LL_Task_Procedure_Access is access procedure (Arg : System.Address); - - type Pre_Call_State is new System.Address; - - type Task_Storage_Size is new Interfaces.C.size_t; - - type Machine_Exceptions is new Interfaces.C.POSIX_RTE.Signal; - - type Error_Information is new Interfaces.C.POSIX_RTE.siginfo_ptr; - - type Lock is private; - type Condition_Variable is private; - - -- The above types should both be limited. They are not due to a hack in - -- ATCB allocation which allocates a block of the correct size and then - -- assigns an initialized ATCB to it. This won't work with limited types. - -- When allocation is done with new, these can become limited once again. - -- ??? - - type Task_Control_Block is record - LL_Entry_Point : LL_Task_Procedure_Access; - LL_Arg : System.Address; - Thread : aliased Interfaces.C.Pthreads.pthread_t; - Stack_Size : Task_Storage_Size; - Stack_Limit : System.Address; - end record; - - type TCB_Ptr is access all Task_Control_Block; - - -- Task ATCB related and variables. - - function Address_To_TCB_Ptr is new - Unchecked_Conversion (System.Address, TCB_Ptr); - - procedure Initialize_LL_Tasks (T : TCB_Ptr); - -- Initialize GNULLI. T points to the Task Control Block that should - -- be initialized for use by the environment task. - - function Self return TCB_Ptr; - -- Return a pointer to the Task Control Block of the calling task. - - procedure Initialize_Lock (Prio : System.Any_Priority; L : in out Lock); - -- Initialize a lock object. Prio is the ceiling priority associated - -- with the lock. - - procedure Finalize_Lock (L : in out Lock); - -- Finalize a lock object, freeing any resources allocated by the - -- corresponding Initialize_Lock. - - procedure Write_Lock (L : in out Lock; Ceiling_Violation : out Boolean); - pragma Inline (Write_Lock); - -- Lock a lock object for write access to a critical section. After - -- this operation returns, the calling task owns the lock, and - -- no other Write_Lock or Read_Lock operation on the same object will - -- return the owner executes an Unlock operation on the same object. - - procedure Read_Lock (L : in out Lock; Ceiling_Violation : out Boolean); - pragma Inline (Read_Lock); - -- Lock a lock object for read access to a critical section. After - -- this operation returns, the calling task owns the lock, and - -- no other Write_Lock operation on the same object will return until - -- the owner(s) execute Unlock operation(s) on the same object. - -- A Read_Lock to an owned lock object may return while the lock is - -- still owned, though an implementation may also implement - -- Read_Lock to have the same semantics. - - procedure Unlock (L : in out Lock); - pragma Inline (Unlock); - -- Unlock a locked lock object. The results are undefined if the - -- calling task does not own the lock. Lock/Unlock operations must - -- be nested, that is, the argument to Unlock must be the object - -- most recently locked. - - procedure Initialize_Cond (Cond : in out Condition_Variable); - -- Initialize a condition variable object. - - procedure Finalize_Cond (Cond : in out Condition_Variable); - -- Finalize a condition variable object, recovering any resources - -- allocated for it by Initialize_Cond. - - procedure Cond_Wait (Cond : in out Condition_Variable; L : in out Lock); - pragma Inline (Cond_Wait); - -- Wait on a condition variable. The mutex object L is unlocked - -- atomically, such that another task that is able to lock the mutex - -- can be assured that the wait has actually commenced, and that - -- a Cond_Signal operation will cause the waiting task to become - -- eligible for execution once again. Before Cond_Wait returns, - -- the waiting task will again lock the mutex. The waiting task may become - -- eligible for execution at any time, but will become eligible for - -- execution when a Cond_Signal operation is performed on the - -- same condition variable object. The effect of more than one - -- task waiting on the same condition variable is unspecified. - - procedure Cond_Timed_Wait - (Cond : in out Condition_Variable; - L : in out Lock; Abs_Time : System.Task_Clock.Stimespec; - Timed_Out : out Boolean); - pragma Inline (Cond_Timed_Wait); - -- Wait on a condition variable, as for Cond_Wait, above. In addition, - -- the waiting task will become eligible for execution again - -- when the absolute time specified by Timed_Out arrives. - - procedure Cond_Signal (Cond : in out Condition_Variable); - pragma Inline (Cond_Signal); - -- Wake up a task waiting on the condition variable object specified - -- by Cond, making it eligible for execution once again. - - procedure Set_Priority (T : TCB_Ptr; Prio : System.Any_Priority); - pragma Inline (Set_Priority); - -- Set the priority of the task specified by T to P. - - procedure Set_Own_Priority (Prio : System.Any_Priority); - pragma Inline (Set_Own_Priority); - -- Set the priority of the calling task to P. - - function Get_Priority (T : TCB_Ptr) return System.Any_Priority; - pragma Inline (Get_Priority); - -- Return the priority of the task specified by T. - - function Get_Own_Priority return System.Any_Priority; - pragma Inline (Get_Own_Priority); - -- Return the priority of the calling task. - - procedure Create_LL_Task - (Priority : System.Any_Priority; - Stack_Size : Task_Storage_Size; - Task_Info : System.Task_Info.Task_Info_Type; - LL_Entry_Point : LL_Task_Procedure_Access; - Arg : System.Address; - T : TCB_Ptr); - -- Create a new low-level task with priority Priority. A new thread - -- of control is created with a stack size of at least Stack_Size, - -- and the procedure LL_Entry_Point is called with the argument Arg - -- from this new thread of control. The Task Control Block pointed - -- to by T is initialized to refer to this new task. - - procedure Exit_LL_Task; - -- Exit a low-level task. The resources allocated for the task - -- by Create_LL_Task are recovered. The task no longer executes, and - -- the effects of further operations on task are unspecified. - - procedure Abort_Task (T : TCB_Ptr); - -- Abort the task specified by T (the target task). This causes - -- the target task to asynchronously execute the handler procedure - -- installed by the target task using Install_Abort_Handler. The - -- effect of this operation is unspecified if there is no abort - -- handler procedure for the target task. - - procedure Test_Abort; - -- ??? Obsolete? This is intended to allow implementation of - -- abortion and ATC in the absence of an asynchronous Abort_Task, - -- but I think that we decided that GNARL can handle this on - -- its own by making sure that there is an Undefer_Abortion at - -- every abortion synchronization point. - - type Abort_Handler_Pointer is access procedure (Context : Pre_Call_State); - - procedure Install_Abort_Handler (Handler : Abort_Handler_Pointer); - -- Install an abort handler procedure. This procedure is called - -- asynchronously by the calling task whenever a call to Abort_Task - -- specifies the calling task as the target. If the abort handler - -- procedure is asynchronously executed during a GNULLI operation - -- and then calls some other GNULLI operation, the effect is unspecified. - - procedure Install_Error_Handler (Handler : System.Address); - -- Install an error handler for the calling task. The handler will - -- be called synchronously if an error is encountered during the - -- execution of the calling task. - - procedure LL_Assert (B : Boolean; M : String); - -- If B is False, print the string M to the console and halt the - -- program. - - Task_Wrapper_Frame : constant Integer := 72; - -- This is the size of the frame for the Pthread_Wrapper procedure. - - type Proc is access procedure (Addr : System.Address); - - - -- Test and Set support - type TAS_Cell is private; - -- On some systems we can not assume that an arbitrary memory location - -- can be used in an atomic test and set instruction (e.g. on some - -- multiprocessor machines, only memory regions are cache interlocked). - -- TAS_Cell is private to facilitate adaption to a variety of - -- implementations. - - procedure Initialize_TAS_Cell (Cell : out TAS_Cell); - pragma Inline (Initialize_TAS_Cell); - -- Initialize a Test And Set Cell. On some targets this will allocate - -- a system-level lock object from a special pool. For most systems, - -- this is a nop. - - procedure Finalize_TAS_Cell (Cell : in out TAS_Cell); - pragma Inline (Finalize_TAS_Cell); - -- Finalize a Test and Set cell, freeing any resources allocated by the - -- corresponding Initialize_TAS_Cell. - - procedure Clear (Cell : in out TAS_Cell); - pragma Inline (Clear); - -- Set the state of the named TAS_Cell such that a subsequent call to - -- Is_Set will return False. This operation must be atomic with - -- respect to the Is_Set and Test_And_Set operations for the same - -- cell. - - procedure Test_And_Set (Cell : in out TAS_Cell; Result : out Boolean); - pragma Inline (Test_And_Set); - -- Modify the state of the named TAS_Cell such that a subsequent call - -- to Is_Set will return True. Result is set to True if Is_Set - -- was False prior to the call, False otherwise. This operation must - -- be atomic with respect to the Clear and Is_Set operations for the - -- same cell. - - function Is_Set (Cell : in TAS_Cell) return Boolean; - pragma Inline (Is_Set); - -- Returns the current value of the named TAS_Cell. This operation - -- must be atomic with respect to the Clear and Test_And_Set operations - -- for the same cell. - -private - - type Lock is - record - mutex : aliased Interfaces.C.Pthreads.pthread_mutex_t; - end record; - - type Condition_Variable is - record - CV : aliased Interfaces.C.Pthreads.pthread_cond_t; - end record; - - type TAS_Cell is - record - Value : aliased Interfaces.C.unsigned := 0; - end record; - -end System.Task_Primitives; diff --git a/test/manual/etags/ada-src/etags-test-for.ada b/test/manual/etags/ada-src/etags-test-for.ada deleted file mode 100644 index 09e5a1ec9bf..00000000000 --- a/test/manual/etags/ada-src/etags-test-for.ada +++ /dev/null @@ -1,193 +0,0 @@ - type LL_Task_Procedure_Access is access procedure (Arg : System.Address); - - function Body_Required - (N : Node_Id) return Boolean is - begin - pragma Assert (False - or else NT (N).Nkind = N_Compilation_Unit); - return Flag13 (N); - end Body_Required; - - type Type_Specific_Data is record - Idepth : Natural; - Expanded_Name : Cstring_Ptr; - External_Tag : Cstring_Ptr; - HT_Link : Tag; - Ancestor_Tags : Tag_Table (Natural); - end record; - - function "abs" (Right : Complex) return Real'Base renames Modulus; - - type Barrier_Function_Pointer is access - function - (O : System.Address; - E : Protected_Entry_Index) - return Boolean; - - function "=" (L, R : System.Address) return Boolean - renames System."="; - - type usfreelock_ptr is access - procedure (lock : ulock_t; arena : usptr_t_ptr); - - function p pragma Import (C, - "pthread_mutexattr_setprio_ceiling", - "pthread_mutexattr_setprio_ceiling"); - pragma Import () - procedure LL_Wrapper (T : TCB_Ptr); - -function p ("p"); - --- This file is an Ada file containing test data --- for etags (Ada83 and Ada95 support). - -package Pkg1 is - - type Private_T is private; - - package Inner1 is - procedure Private_T; - end Inner1; - - package Inner2 is - task Private_T; - end Inner2; - - type Public_T is - record - A : Integer; - B : Integer; - end record; - - procedure Pkg1_Proc1; - - procedure Pkg1_Proc2 (I : Integer); - - function Pkg1_Func1 return Boolean; - - function Pkg1_Func2 (Ijk : Integer; Z : Integer) return Natural; - - - package Pkg1_Pkg1 is - procedure Pkg1_Pkg1_Proc1; - end Pkg1_Pkg1; - - task type Task_Type is - entry Entry1; - entry Entry2 (I : Integer); - end; - -private - - type Private_T is - record - Z : Integer; - W : Boolean; - end record; -end Pkg1; - -package body Pkg1 is - - procedure Pkg1_Proc1 is - begin - null; - end; - - package body Inner1 is - procedure Private_T is - begin - null; - end; - end Inner1; - - package body Inner2 is - task body Private_T is - begin - loop - null; - end loop; - end; - end Inner2; - - task body Task_Type is - begin - select - accept Entry1 do - null; - end; - or - accept Entry2 (I : Integer) do - null; - end; - end select; - end; - - - procedure Pkg1_Proc2 (I : Integer) is - begin - null; - end Pkg1_Proc2; - - - function Pkg1_Func1 return Boolean is separate; - - function Pkg1_Func2 (Ijk : Integer; Z : Integer) return Natural is - begin - return 1; - end; - - - package body Pkg1_Pkg1 is separate; - - -end Pkg1; - -separate (Pkg1) -package body Pkg1_Pkg1 is - procedure Pkg1_Pkg1_Proc1 is - begin - null; - end; -end Pkg1_Pkg1; - - -separate (Pkg1) -function Pkg1_Func1 return Boolean is -begin - return False; -end; - - --- from now on, this is Ada 95 specific. -package Truc is - I : Integer; -end Truc; - -package Truc.Bidule is - - protected Bidule is - entry Basar; - end Bidule; - - protected type Machin_T is - entry Truc; - end Machin_T; - -end Truc.Bidule; - -package body Truc.Bidule is - protected body Bidule is - entry Basar is - begin - null; - end; - end Bidule; - - protected Machin_T is - entry Truc is - begin - null; - end; - end Machin_T; - -end Truc.Bidule; diff --git a/test/manual/etags/ada-src/waroquiers.ada b/test/manual/etags/ada-src/waroquiers.ada deleted file mode 100644 index 316120998f8..00000000000 --- a/test/manual/etags/ada-src/waroquiers.ada +++ /dev/null @@ -1,153 +0,0 @@ --- This file is an Ada file containing test data --- for etags (Ada83 and Ada95 support). -package Pkg1 is - - type Private_T is private; - - package Inner1 is - procedure Private_T; - end Inner1; - - package Inner2 is - task Private_T; - end Inner2; - - type Public_T is - record - A : Integer; - B : Integer; - end record; - - procedure Pkg1_Proc1; - - procedure Pkg1_Proc2 (I : Integer); - - function Pkg1_Func1 return Boolean; - - function Pkg1_Func2 (Ijk : Integer; Z : Integer) return Natural; - - - package Pkg1_Pkg1 is - procedure Pkg1_Pkg1_Proc1; - end Pkg1_Pkg1; - - task type Task_Type is - entry Entry1; - entry Entry2 (I : Integer); - end; -private - - type Private_T is - record - Z : Integer; - W : Boolean; - end record; -end Pkg1; -package body Pkg1 is - - procedure Pkg1_Proc1 is - begin - null; - end; - - package body Inner1 is - procedure Private_T is - begin - null; - end; - end Inner1; - - package body Inner2 is - task body Private_T is - begin - loop - null; - end loop; - end; - end Inner2; - task body Task_Type is - begin - select - accept Entry1 do - null; - end; - or - accept Entry2 (I : Integer) do - null; - end; - end select; - end; - - - procedure Pkg1_Proc2 (I : Integer) is - begin - null; - end Pkg1_Proc2; - - - function Pkg1_Func1 return Boolean is separate; - - function Pkg1_Func2 (Ijk : Integer; Z : Integer) return Natural is - begin - return 1; - end; - - - package body Pkg1_Pkg1 is separate; - -end Pkg1; -separate (Pkg1) -package body Pkg1_Pkg1 is - procedure Pkg1_Pkg1_Proc1 is - begin - null; - end; -end Pkg1_Pkg1; -separate (Pkg1) -function Pkg1_Func1 return Boolean is -begin - return False; -end; --- from now on, this is Ada 95 specific. -package Truc is - I : Integer; -end Truc; -with Pkg1; -package Truc.Bidule is - use type Pkg1.Public_T; - use Pkg1; - use - type Pkg1.Public_T; - use -- comment - type -- comment - Pkg1.Public_T; - - protected Bidule is - entry Basar; - private - Ok : Boolean; - end Bidule; - - protected type Machin_T is - entry Truc; - private - Ok : Boolean; - end Machin_T; - -end Truc.Bidule; -package body Truc.Bidule is - protected body Bidule is - entry Basar when Ok is - begin - null; - end; - end Bidule; - - protected body Machin_T is - entry Truc when Ok is - begin - null; - end; - end Machin_T; - -end Truc.Bidule; diff --git a/test/manual/etags/c-src/a/b/b.c b/test/manual/etags/c-src/a/b/b.c deleted file mode 100644 index ee3c97c2456..00000000000 --- a/test/manual/etags/c-src/a/b/b.c +++ /dev/null @@ -1,5 +0,0 @@ -#define this that - -#line 33 "../c/c.web" - -#define questo quello diff --git a/test/manual/etags/c-src/abbrev.c b/test/manual/etags/c-src/abbrev.c deleted file mode 100644 index 70f4987eccc..00000000000 --- a/test/manual/etags/c-src/abbrev.c +++ /dev/null @@ -1,603 +0,0 @@ -/* Primitives for word-abbrev mode. - Copyright (C) 1985-1986, 1993, 1996, 1998, 2016-2024 Free Software - Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - - -#include -#include -#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; - - -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; -} - -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); -} - -/* 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; -} - -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; -} - -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; -} - -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); -} diff --git a/test/manual/etags/c-src/c.c b/test/manual/etags/c-src/c.c deleted file mode 100644 index 77c8929afb2..00000000000 --- a/test/manual/etags/c-src/c.c +++ /dev/null @@ -1,169 +0,0 @@ -T f(){if(x){} -}T i; - -// The next two functions must be kept together -void bar() {while(0) {}} -int foobar() {;} - -struct interface * -interface_locate(void) -{ return 0; } - -#line 123 "c.c" -// 7.4: string literal in #line directive shall be a character string -// literal. -//E t_6_062.cpp(21): warning: ill formed #line directive: 123 L"wide" -#line 123 L"wide.c" -#line 123 L"wide.c" -#line 123L"wide.c" - - -void (*fa) (void); -void (__attribute__((noreturn)) *fb) (void); - -extern int -my_printf (void *my_object, const char *my_format, ...) - __attribute__ ((format (printf, 2, 3))); - -void fatala () __attribute__ ((noreturn)); -void fatalb (); - -max (int a, int b) -{ if (a > b) return a; else return b; } -struct bar { - char z; - struct foo f; -}; -__attribute__ ((always_inline)) max (int a, int b) -{ if (a > b) return a; else return b } -extern int old_var __attribute__ ((deprecated)); -struct foo -{ - char a; - int x[2] __attribute__ ((packed)); -}; -char stack[10000] __attribute__ ((section ("STACK"))) = { 0 }; -struct S { short f[3]; } __attribute__ ((aligned (8))); -typedef union -{ - int *__ip; - union wait *__up; -} wait_status_ptr_t __attribute__ ((__transparent_union__)); -Some_Class A __attribute__ ((init_priority (2000))); -typedef T1 T3 __attribute__ ((deprecated)); -T3 z __attribute__ ((deprecated)); -typedef int more_aligned_int __attribute__ ((aligned (8))); -struct S __attribute__ ((vector_size (16))) foo; -int foo __attribute__ ((vector_size (16))); -char *__attribute__((aligned(8))) *f; -int i __attribute__ ((visibility ("hidden"))); -extern void foobar (void) __attribute__ ((section ("bar"))); - -typedef struct cacheLRUEntry_s -{ - U16 next; - U16 prev; -} -__attribute__ ((packed)) cacheLRUEntry_t; -struct foo { - int x; - char a, b, c, d; -} __attribute__((packed)); -void __attribute__ ((visibility ("protected"))) - f1 () { /* Do something. */; } -void f2 () { /* Do something. */; } -__attribute__((noreturn)) void d0 (void), - __attribute__((format(printf, 1, 2))) d1 (const char *, ...), - d2 (void); -int x __attribute__ ((aligned (16))) = 0; -struct foo { int x[2] __attribute__ ((aligned (8))); }; -short array[3] __attribute__ ((aligned)); - -asm(" section 10"); -int f - () {} - -DEAFUN ("expand-file-name", Fexpand_file_name, Sexpand_file_name, 1, 2, 0, - "name.") - (name, defalt) - Lisp_Object name, defalt; -{ - unsigned char *nm; -} -XDEFUN ("x-get-selection-internal", Fx_get_selection_internal, - Sx_get_selection_internal, 2, 2, 0, "") -{} -DEFUN ("x-get-selection-internal", Fx_get_selection_internal, - Sx_get_selection_internal, 2, 2, 0, "") -{} -/* The next two are not tagged correctly. To prevent this, the code in - Emacs should contain the two first args of DEFUN on the same line. */ -DEFUN ("x-get-selection-internal", - Fx_get_selection_internal, Sx_get_selection_internal, 2, 2, 0, "") -{} -DEFUN - ("y-get-selection-internal", - Fy_get_selection_internal, Sy_get_selection_internal, 2, 2, 0, "") -{} -defun_func1() -{} -DEFUN_func2() -{} -typedef int bool; -bool funcboo () -{} -static void (*lang_func) () = NULL; -struct my_struct { -}; -typedef struct my_struct my_typedef; -int bla () -{ - PrkList ExistingOperations = - ProcedureOperationSelections(PrkNull, CalledFromDomain); -} -a() - b c; -{} -int func1 - (a,b,c,d) {}; -static struct cca_control init_control = { 0 }; -static tpcmd rbtp [RB_TPSZ]; -static byte ring1 [(RBUFNO + 1) + 8]; -static byte ring2 [(RBUFNO + 1) * sizeof (struct le_md) + 8]; -request request (a, b) -{ -} -int func2 (a,b - c,d) {}; -int wrongfunc - aaa; -struct wrongstruct - bbb; -struct sss1 {}; -struct sss2 -{ - struct ss3 - { - }; -}; -struct a b; -struct aa *b; -struct aaa - **b; -caccacacca (a,b,c,d,e,f,g) - struct aa *b; -{ -} -a () -{ - typedef struct aa {} aaa; -} -static void inita () {} -node *lasta = NULL; -b () -{ - typedef int bb; -} -static void initb () {} -node *lastb = NULL; -typedef enum { REG_ENOSYS = -1, aa } reg_errcode_t; diff --git a/test/manual/etags/c-src/dostorture.c b/test/manual/etags/c-src/dostorture.c deleted file mode 100644 index 5190734e0fe..00000000000 --- a/test/manual/etags/c-src/dostorture.c +++ /dev/null @@ -1,107 +0,0 @@ -/* Date: Thu, 05 Aug 1993 20:28:03 +0200 - From: "Tom R.Hageman" - Subject: more etags torture;-) [etags 7.3 patch#3] - To: pot@CNUCE.CNR.IT - - Hi, - - This test file illustrates some more problems with etags (7.3): - - - 1. parentheses are confusing, - 2. preprocessor directives can disrupt other state machines. */ - -/* A small torture test for etags. */ - -/* The classic parenthesis nightmare, based on signal(). */ -void -(*tag1 (sig, handler)) () - int sig; - void (*handler) (); -{ - (*handler)(sig); - return handler; -} - -#define notag2 void -/* The classic, with user-defined return type. */ -notag2 -(*tag2 (sig, handler)) () - int sig; - void (*handler) (); -{ - (*handler)(sig); - return handler; -} - -/* The classic, in ANSI C style. */ -void -(*tag3 (int sig, void (*handler) (int))) (int) -{ - (*handler)(sig); - return handler; -} - -#define notag4 void -/* The classic, with user-defined return type, in ANSI C style. */ -notag4 -(*tag4 (int sig, void (*handler) (int))) (int) -{ - (*handler)(sig); - return handler; -} - - -/* A less tortuous example. */ -void -tag5 (handler, arg) -void (*handler)(); -void *arg; -{ - (*handler)(arg); -} - -/* A less tortuous example, in ANSI C style. */ -void -tag6 (void (*handler) (void *), void *arg) -{ - (*handler)(arg); -} - - -/* Interfering preprocessing torture */ - -int pp1( -#if (__STDC__) - int -#endif - bar) -#if (!__STDC__) - int bar; -#endif -{ - return bar; -} - -int -pp2 -#if __STDC__ - (int bar) -#else - (bar) - int bar; -#endif -{ - return bar; -} - -int -#if __STDC__ -pp3(int bar) -#else -pp3(bar) - int bar; -#endif -{ - return bar; -} diff --git a/test/manual/etags/c-src/emacs/src/gmalloc.c b/test/manual/etags/c-src/emacs/src/gmalloc.c deleted file mode 100644 index afa36994b59..00000000000 --- a/test/manual/etags/c-src/emacs/src/gmalloc.c +++ /dev/null @@ -1,2040 +0,0 @@ -/* Declarations for `malloc' and friends. - Copyright (C) 1990-1993, 1995-1996, 1999, 2002-2007, 2013-2024 Free - Software Foundation, Inc. - Written May 1989 by Mike Haertel. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public -License along with this library. If not, see . - - 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 - -#if defined HAVE_PTHREAD && !defined HYBRID_MALLOC -#define USE_PTHREAD -#endif - -#include -#include -#include - -#ifdef HYBRID_GET_CURRENT_DIR_NAME -#undef get_current_dir_name -#endif - -#include - -#ifdef USE_PTHREAD -#include -#endif - -#ifdef WINDOWSNT -#include /* 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 - - -/* 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 . - - 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 - -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 -#include - -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); -} - -#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 . - - 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 . - - 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 . - - 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 . */ - -/* 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 . */ - -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 . - - 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 . - - 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 - -/* Old hook values. */ -static void (*old_free_hook) (void *ptr); -static void *(*old_malloc_hook) (size_t size); -static void *(*old_realloc_hook) (void *ptr, size_t size); - -/* Function to call when something awful happens. */ -static void (*abortfunc) (enum mcheck_status); - -/* Arbitrary magical numbers. */ -#define MAGICWORD (SIZE_MAX / 11 ^ SIZE_MAX / 13 << 3) -#define MAGICFREE (SIZE_MAX / 17 ^ SIZE_MAX / 19 << 4) -#define MAGICBYTE ((char) 0xd7) -#define MALLOCFLOOD ((char) 0x93) -#define FREEFLOOD ((char) 0x95) - -struct hdr - { - size_t size; /* Exact size requested by user. */ - size_t magic; /* Magic number to check header integrity. */ - }; - -static enum mcheck_status -checkhdr (const struct hdr *hdr) -{ - enum mcheck_status status; - switch (hdr->magic) - { - default: - status = MCHECK_HEAD; - break; - case MAGICFREE: - status = MCHECK_FREE; - break; - case MAGICWORD: - if (((char *) &hdr[1])[hdr->size] != MAGICBYTE) - status = MCHECK_TAIL; - else - status = MCHECK_OK; - break; - } - if (status != MCHECK_OK) - (*abortfunc) (status); - return status; -} - -static void -freehook (void *ptr) -{ - struct hdr *hdr; - - if (ptr) - { - struct alignlist *l; - - /* If the block was allocated by aligned_alloc, its real pointer - to free is recorded in _aligned_blocks; find that. */ - PROTECT_MALLOC_STATE (0); - LOCK_ALIGNED_BLOCKS (); - for (l = _aligned_blocks; l != NULL; l = l->next) - if (l->aligned == ptr) - { - l->aligned = NULL; /* Mark the slot in the list as free. */ - ptr = l->exact; - break; - } - UNLOCK_ALIGNED_BLOCKS (); - PROTECT_MALLOC_STATE (1); - - hdr = ((struct hdr *) ptr) - 1; - checkhdr (hdr); - hdr->magic = MAGICFREE; - memset (ptr, FREEFLOOD, hdr->size); - } - else - hdr = NULL; - - __free_hook = old_free_hook; - free (hdr); - __free_hook = freehook; -} - -static void * -mallochook (size_t size) -{ - struct hdr *hdr; - - __malloc_hook = old_malloc_hook; - hdr = malloc (sizeof *hdr + size + 1); - __malloc_hook = mallochook; - if (hdr == NULL) - return NULL; - - hdr->size = size; - hdr->magic = MAGICWORD; - ((char *) &hdr[1])[size] = MAGICBYTE; - return memset (hdr + 1, MALLOCFLOOD, size); -} - -static void * -reallochook (void *ptr, size_t size) -{ - struct hdr *hdr = NULL; - size_t osize = 0; - - if (ptr) - { - hdr = ((struct hdr *) ptr) - 1; - osize = hdr->size; - - checkhdr (hdr); - if (size < osize) - memset ((char *) ptr + size, FREEFLOOD, osize - size); - } - - __free_hook = old_free_hook; - __malloc_hook = old_malloc_hook; - __realloc_hook = old_realloc_hook; - hdr = realloc (hdr, sizeof *hdr + size + 1); - __free_hook = freehook; - __malloc_hook = mallochook; - __realloc_hook = reallochook; - if (hdr == NULL) - return NULL; - - hdr->size = size; - hdr->magic = MAGICWORD; - ((char *) &hdr[1])[size] = MAGICBYTE; - if (size > osize) - memset ((char *) (hdr + 1) + osize, MALLOCFLOOD, size - osize); - return hdr + 1; -} - -static void -mabort (enum mcheck_status status) -{ - const char *msg; - switch (status) - { - case MCHECK_OK: - msg = "memory is consistent, library is buggy"; - break; - case MCHECK_HEAD: - msg = "memory clobbered before allocated block"; - break; - case MCHECK_TAIL: - msg = "memory clobbered past end of allocated block"; - break; - case MCHECK_FREE: - msg = "block freed twice"; - break; - default: - msg = "bogus mcheck_status, library is buggy"; - break; - } -#ifdef __GNU_LIBRARY__ - __libc_fatal (msg); -#else - fprintf (stderr, "mcheck: %s\n", msg); - fflush (stderr); -# ifdef emacs - emacs_abort (); -# else - abort (); -# endif -#endif -} - -static int mcheck_used = 0; - -int -mcheck (void (*func) (enum mcheck_status)) -{ - abortfunc = (func != NULL) ? func : &mabort; - - /* These hooks may not be safely inserted if malloc is already in use. */ - if (!__malloc_initialized && !mcheck_used) - { - old_free_hook = __free_hook; - __free_hook = freehook; - old_malloc_hook = __malloc_hook; - __malloc_hook = mallochook; - old_realloc_hook = __realloc_hook; - __realloc_hook = reallochook; - mcheck_used = 1; - } - - return mcheck_used ? 0 : -1; -} - -enum mcheck_status -mprobe (void *ptr) -{ - return mcheck_used ? checkhdr (ptr) : MCHECK_DISABLED; -} - -#endif /* GC_MCHECK */ diff --git a/test/manual/etags/c-src/emacs/src/keyboard.c b/test/manual/etags/c-src/emacs/src/keyboard.c deleted file mode 100644 index b27f98903ce..00000000000 --- a/test/manual/etags/c-src/emacs/src/keyboard.c +++ /dev/null @@ -1,11960 +0,0 @@ -/* Keyboard and mouse input; editor command loop. - -Copyright (C) 1985-1989, 1993-1997, 1999-2024 Free Software Foundation, -Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or (at -your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - -#include - -#include "sysstdio.h" -#include - -#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 - -#ifdef HAVE_PTHREAD -#include -#endif -#ifdef MSDOS -#include "msdos.h" -#include -#else /* not MSDOS */ -#include -#endif /* not MSDOS */ - -#if defined USABLE_FIONREAD && defined USG5_4 -# include -#endif - -#include "syssignal.h" - -#include -#include -#include - -#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; - - -/* 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; -} - - -/* 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); -} - - -/* 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; -} - - -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 - -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; -} - - -#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 (); - } -} - - -/* 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"); -} - -/* 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; -} - - -/* 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; -} - - -/* 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 -} - -/* 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); - } -} - - - -/* 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 . 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); -} - -/* 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); -} - - -/* 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; -} - - -/* 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); -} - -/* 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); -} - -/* 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; -} - -/* 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<= 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); -} - -/* 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); -} - -/* 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 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; -} - -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 */ - - -/* 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); - } -} - - -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; -} - -/* 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); - } -} - - /* 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; -} - - - -/*********************************************************************** - 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; -} - - - - - -/* 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. */ - } -} - -/* 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); -} - -/* 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; -} - -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 */ -} - -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); -} - -DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode, - Sset_input_interrupt_mode, 1, 1, 0, - doc: /* Set interrupt mode of reading keyboard input. -If INTERRUPT is non-nil, Emacs will use input interrupts; -otherwise Emacs uses CBREAK mode. - -See also `current-input-mode'. */) - (Lisp_Object interrupt) -{ - bool new_interrupt_input; -#ifdef USABLE_SIGIO -#ifdef HAVE_X_WINDOWS - if (x_display_list != NULL) - { - /* When using X, don't give the user a real choice, - because we haven't implemented the mechanisms to support it. */ - new_interrupt_input = 1; - } - else -#endif /* HAVE_X_WINDOWS */ - new_interrupt_input = !NILP (interrupt); -#else /* not USABLE_SIGIO */ - new_interrupt_input = 0; -#endif /* not USABLE_SIGIO */ - - if (new_interrupt_input != interrupt_input) - { -#ifdef POLL_FOR_INPUT - stop_polling (); -#endif -#ifndef DOS_NT - /* this causes startup screen to be restored and messes with the mouse */ - reset_all_sys_modes (); - interrupt_input = new_interrupt_input; - init_all_sys_modes (); -#else - interrupt_input = new_interrupt_input; -#endif - -#ifdef POLL_FOR_INPUT - poll_suppress_count = 1; - start_polling (); -#endif - } - return Qnil; -} - -DEFUN ("set-output-flow-control", Fset_output_flow_control, Sset_output_flow_control, 1, 2, 0, - doc: /* Enable or disable ^S/^Q flow control for output to TERMINAL. -If FLOW is non-nil, flow control is enabled and you cannot use C-s or -C-q in key sequences. - -This setting only has an effect on tty terminals and only when -Emacs reads input in CBREAK mode; see `set-input-interrupt-mode'. - -See also `current-input-mode'. */) - (Lisp_Object flow, Lisp_Object terminal) -{ - struct terminal *t = decode_tty_terminal (terminal); - struct tty_display_info *tty; - - if (!t) - return Qnil; - tty = t->display_info.tty; - - if (tty->flow_control != !NILP (flow)) - { -#ifndef DOS_NT - /* This causes startup screen to be restored and messes with the mouse. */ - reset_sys_modes (tty); -#endif - - tty->flow_control = !NILP (flow); - -#ifndef DOS_NT - init_sys_modes (tty); -#endif - } - return Qnil; -} - -DEFUN ("set-input-meta-mode", Fset_input_meta_mode, Sset_input_meta_mode, 1, 2, 0, - doc: /* Enable or disable 8-bit input on TERMINAL. -If META is t, Emacs will accept 8-bit input, and interpret the 8th -bit as the Meta modifier. - -If META is nil, Emacs will ignore the top bit, on the assumption it is -parity. - -Otherwise, Emacs will accept and pass through 8-bit input without -specially interpreting the top bit. - -This setting only has an effect on tty terminal devices. - -Optional parameter TERMINAL specifies the tty terminal device to use. -It may be a terminal object, a frame, or nil for the terminal used by -the currently selected frame. - -See also `current-input-mode'. */) - (Lisp_Object meta, Lisp_Object terminal) -{ - struct terminal *t = decode_tty_terminal (terminal); - struct tty_display_info *tty; - int new_meta; - - if (!t) - return Qnil; - tty = t->display_info.tty; - - if (NILP (meta)) - new_meta = 0; - else if (EQ (meta, Qt)) - new_meta = 1; - else - new_meta = 2; - - if (tty->meta_key != new_meta) - { -#ifndef DOS_NT - /* this causes startup screen to be restored and messes with the mouse */ - reset_sys_modes (tty); -#endif - - tty->meta_key = new_meta; - -#ifndef DOS_NT - init_sys_modes (tty); -#endif - } - return Qnil; -} - -DEFUN ("set-quit-char", Fset_quit_char, Sset_quit_char, 1, 1, 0, - doc: /* Specify character used for quitting. -QUIT must be an ASCII character. - -This function only has an effect on the controlling tty of the Emacs -process. - -See also `current-input-mode'. */) - (Lisp_Object quit) -{ - struct terminal *t = get_named_terminal ("/dev/tty"); - struct tty_display_info *tty; - - if (!t) - return Qnil; - tty = t->display_info.tty; - - if (NILP (quit) || !INTEGERP (quit) || XINT (quit) < 0 || XINT (quit) > 0400) - error ("QUIT must be an ASCII character"); - -#ifndef DOS_NT - /* this causes startup screen to be restored and messes with the mouse */ - reset_sys_modes (tty); -#endif - - /* Don't let this value be out of range. */ - quit_char = XINT (quit) & (tty->meta_key == 0 ? 0177 : 0377); - -#ifndef DOS_NT - init_sys_modes (tty); -#endif - - return Qnil; -} - -DEFUN ("set-input-mode", Fset_input_mode, Sset_input_mode, 3, 4, 0, - doc: /* Set mode of reading keyboard input. -First arg INTERRUPT non-nil means use input interrupts; - nil means use CBREAK mode. -Second arg FLOW non-nil means use ^S/^Q flow control for output to terminal - (no effect except in CBREAK mode). -Third arg META t means accept 8-bit input (for a Meta key). - META nil means ignore the top bit, on the assumption it is parity. - Otherwise, accept 8-bit input and don't use the top bit for Meta. -Optional fourth arg QUIT if non-nil specifies character to use for quitting. -See also `current-input-mode'. */) - (Lisp_Object interrupt, Lisp_Object flow, Lisp_Object meta, Lisp_Object quit) -{ - Fset_input_interrupt_mode (interrupt); - Fset_output_flow_control (flow, Qnil); - Fset_input_meta_mode (meta, Qnil); - if (!NILP (quit)) - Fset_quit_char (quit); - return Qnil; -} - -DEFUN ("current-input-mode", Fcurrent_input_mode, Scurrent_input_mode, 0, 0, 0, - doc: /* Return information about the way Emacs currently reads keyboard input. -The value is a list of the form (INTERRUPT FLOW META QUIT), where - INTERRUPT is non-nil if Emacs is using interrupt-driven input; if - nil, Emacs is using CBREAK mode. - FLOW is non-nil if Emacs uses ^S/^Q flow control for output to the - terminal; this does not apply if Emacs uses interrupt-driven input. - META is t if accepting 8-bit input with 8th bit as Meta flag. - META nil means ignoring the top bit, on the assumption it is parity. - META is neither t nor nil if accepting 8-bit input and using - all 8 bits as the character code. - QUIT is the character Emacs currently uses to quit. -The elements of this list correspond to the arguments of -`set-input-mode'. */) - (void) -{ - struct frame *sf = XFRAME (selected_frame); - - Lisp_Object interrupt = interrupt_input ? Qt : Qnil; - Lisp_Object flow, meta; - if (FRAME_TERMCAP_P (sf) || FRAME_MSDOS_P (sf)) - { - flow = FRAME_TTY (sf)->flow_control ? Qt : Qnil; - meta = (FRAME_TTY (sf)->meta_key == 2 - ? make_number (0) - : (CURTTY ()->meta_key == 1 ? Qt : Qnil)); - } - else - { - flow = Qnil; - meta = Qt; - } - Lisp_Object quit = make_number (quit_char); - - return list4 (interrupt, flow, meta, quit); -} - -DEFUN ("posn-at-x-y", Fposn_at_x_y, Sposn_at_x_y, 2, 4, 0, - doc: /* Return position information for pixel coordinates X and Y. -By default, X and Y are relative to text area of the selected window. -Optional third arg FRAME-OR-WINDOW non-nil specifies frame or window. -If optional fourth arg WHOLE is non-nil, X is relative to the left -edge of the window. - -The return value is similar to a mouse click position: - (WINDOW AREA-OR-POS (X . Y) TIMESTAMP OBJECT POS (COL . ROW) - IMAGE (DX . DY) (WIDTH . HEIGHT)) -The `posn-' functions access elements of such lists. */) - (Lisp_Object x, Lisp_Object y, Lisp_Object frame_or_window, Lisp_Object whole) -{ - CHECK_NATNUM (x); - CHECK_NATNUM (y); - - if (NILP (frame_or_window)) - frame_or_window = selected_window; - - if (WINDOWP (frame_or_window)) - { - struct window *w = decode_live_window (frame_or_window); - - XSETINT (x, (XINT (x) - + WINDOW_LEFT_EDGE_X (w) - + (NILP (whole) - ? window_box_left_offset (w, TEXT_AREA) - : 0))); - XSETINT (y, WINDOW_TO_FRAME_PIXEL_Y (w, XINT (y))); - frame_or_window = w->frame; - } - - CHECK_LIVE_FRAME (frame_or_window); - - return make_lispy_position (XFRAME (frame_or_window), x, y, 0); -} - -DEFUN ("posn-at-point", Fposn_at_point, Sposn_at_point, 0, 2, 0, - doc: /* Return position information for buffer POS in WINDOW. -POS defaults to point in WINDOW; WINDOW defaults to the selected window. - -Return nil if position is not visible in window. Otherwise, -the return value is similar to that returned by `event-start' for -a mouse click at the upper left corner of the glyph corresponding -to the given buffer position: - (WINDOW AREA-OR-POS (X . Y) TIMESTAMP OBJECT POS (COL . ROW) - IMAGE (DX . DY) (WIDTH . HEIGHT)) -The `posn-' functions access elements of such lists. */) - (Lisp_Object pos, Lisp_Object window) -{ - Lisp_Object tem; - - if (NILP (window)) - window = selected_window; - - tem = Fpos_visible_in_window_p (pos, window, Qt); - if (!NILP (tem)) - { - Lisp_Object x = XCAR (tem); - Lisp_Object y = XCAR (XCDR (tem)); - - /* Point invisible due to hscrolling? */ - if (XINT (x) < 0) - return Qnil; - tem = Fposn_at_x_y (x, y, window, Qnil); - } - - return tem; -} - -/* Set up a new kboard object with reasonable initial values. - TYPE is a window system for which this keyboard is used. */ - -static void -init_kboard (KBOARD *kb, Lisp_Object type) -{ - kset_overriding_terminal_local_map (kb, Qnil); - kset_last_command (kb, Qnil); - kset_real_last_command (kb, Qnil); - kset_keyboard_translate_table (kb, Qnil); - kset_last_repeatable_command (kb, Qnil); - kset_prefix_arg (kb, Qnil); - kset_last_prefix_arg (kb, Qnil); - kset_kbd_queue (kb, Qnil); - kb->kbd_queue_has_data = 0; - kb->immediate_echo = 0; - kset_echo_string (kb, Qnil); - kb->echo_after_prompt = -1; - kb->kbd_macro_buffer = 0; - kb->kbd_macro_bufsize = 0; - kset_defining_kbd_macro (kb, Qnil); - kset_last_kbd_macro (kb, Qnil); - kb->reference_count = 0; - kset_system_key_alist (kb, Qnil); - kset_system_key_syms (kb, Qnil); - kset_window_system (kb, type); - kset_input_decode_map (kb, Fmake_sparse_keymap (Qnil)); - kset_local_function_key_map (kb, Fmake_sparse_keymap (Qnil)); - Fset_keymap_parent (KVAR (kb, Vlocal_function_key_map), Vfunction_key_map); - kset_default_minibuffer_frame (kb, Qnil); -} - -/* Allocate and basically initialize keyboard - object to use with window system TYPE. */ - -KBOARD * -allocate_kboard (Lisp_Object type) -{ - KBOARD *kb = xmalloc (sizeof *kb); - - init_kboard (kb, type); - kb->next_kboard = all_kboards; - all_kboards = kb; - return kb; -} - -/* - * Destroy the contents of a kboard object, but not the object itself. - * We use this just before deleting it, or if we're going to initialize - * it a second time. - */ -static void -wipe_kboard (KBOARD *kb) -{ - xfree (kb->kbd_macro_buffer); -} - -/* Free KB and memory referenced from it. */ - -void -delete_kboard (KBOARD *kb) -{ - KBOARD **kbp; - - for (kbp = &all_kboards; *kbp != kb; kbp = &(*kbp)->next_kboard) - if (*kbp == NULL) - emacs_abort (); - *kbp = kb->next_kboard; - - /* Prevent a dangling reference to KB. */ - if (kb == current_kboard - && FRAMEP (selected_frame) - && FRAME_LIVE_P (XFRAME (selected_frame))) - { - current_kboard = FRAME_KBOARD (XFRAME (selected_frame)); - single_kboard = 0; - if (current_kboard == kb) - emacs_abort (); - } - - wipe_kboard (kb); - xfree (kb); -} - -void -init_keyboard (void) -{ - /* This is correct before outermost invocation of the editor loop. */ - command_loop_level = -1; - immediate_quit = 0; - quit_char = Ctl ('g'); - Vunread_command_events = Qnil; - timer_idleness_start_time = invalid_timespec (); - total_keys = 0; - recent_keys_index = 0; - kbd_fetch_ptr = kbd_buffer; - kbd_store_ptr = kbd_buffer; - do_mouse_tracking = Qnil; - input_pending = 0; - interrupt_input_blocked = 0; - pending_signals = 0; - - /* This means that command_loop_1 won't try to select anything the first - time through. */ - internal_last_event_frame = Qnil; - Vlast_event_frame = internal_last_event_frame; - - current_kboard = initial_kboard; - /* Re-initialize the keyboard again. */ - wipe_kboard (current_kboard); - /* A value of nil for Vwindow_system normally means a tty, but we also use - it for the initial terminal since there is no window system there. */ - init_kboard (current_kboard, Qnil); - - if (!noninteractive) - { - /* Before multi-tty support, these handlers used to be installed - only if the current session was a tty session. Now an Emacs - session may have multiple display types, so we always handle - SIGINT. There is special code in handle_interrupt_signal to exit - Emacs on SIGINT when there are no termcap frames on the - controlling terminal. */ - struct sigaction action; - emacs_sigaction_init (&action, deliver_interrupt_signal); - sigaction (SIGINT, &action, 0); -#ifndef DOS_NT - /* For systems with SysV TERMIO, C-g is set up for both SIGINT and - SIGQUIT and we can't tell which one it will give us. */ - sigaction (SIGQUIT, &action, 0); -#endif /* not DOS_NT */ - } -#ifdef USABLE_SIGIO - if (!noninteractive) - { - struct sigaction action; - emacs_sigaction_init (&action, deliver_input_available_signal); - sigaction (SIGIO, &action, 0); - } -#endif - -/* Use interrupt input by default, if it works and noninterrupt input - has deficiencies. */ - -#ifdef INTERRUPT_INPUT - interrupt_input = 1; -#else - interrupt_input = 0; -#endif - - pthread_sigmask (SIG_SETMASK, &empty_mask, 0); - dribble = 0; - - if (keyboard_init_hook) - (*keyboard_init_hook) (); - -#ifdef POLL_FOR_INPUT - poll_timer = NULL; - poll_suppress_count = 1; - start_polling (); -#endif -} - -/* This type's only use is in syms_of_keyboard, to put properties on the - event header symbols. */ -struct event_head -{ - short var; - short kind; -}; - -static const struct event_head head_table[] = { - {SYMBOL_INDEX (Qmouse_movement), SYMBOL_INDEX (Qmouse_movement)}, - {SYMBOL_INDEX (Qscroll_bar_movement), SYMBOL_INDEX (Qmouse_movement)}, - - /* Some of the event heads. */ - {SYMBOL_INDEX (Qswitch_frame), SYMBOL_INDEX (Qswitch_frame)}, - - {SYMBOL_INDEX (Qfocus_in), SYMBOL_INDEX (Qfocus_in)}, - {SYMBOL_INDEX (Qfocus_out), SYMBOL_INDEX (Qfocus_out)}, - {SYMBOL_INDEX (Qdelete_frame), SYMBOL_INDEX (Qdelete_frame)}, - {SYMBOL_INDEX (Qiconify_frame), SYMBOL_INDEX (Qiconify_frame)}, - {SYMBOL_INDEX (Qmake_frame_visible), SYMBOL_INDEX (Qmake_frame_visible)}, - /* `select-window' should be handled just like `switch-frame' - in read_key_sequence. */ - {SYMBOL_INDEX (Qselect_window), SYMBOL_INDEX (Qswitch_frame)} -}; - -void -syms_of_keyboard (void) -{ - pending_funcalls = Qnil; - staticpro (&pending_funcalls); - - Vlispy_mouse_stem = build_pure_c_string ("mouse"); - staticpro (&Vlispy_mouse_stem); - - regular_top_level_message = build_pure_c_string ("Back to top level"); -#ifdef HAVE_STACK_OVERFLOW_HANDLING - recover_top_level_message - = build_pure_c_string ("Re-entering top level after C stack overflow"); -#endif - DEFVAR_LISP ("internal--top-level-message", Vinternal__top_level_message, - doc: /* Message displayed by `normal-top-level'. */); - Vinternal__top_level_message = regular_top_level_message; - - /* Tool-bars. */ - DEFSYM (QCimage, ":image"); - DEFSYM (Qhelp_echo, "help-echo"); - DEFSYM (QCrtl, ":rtl"); - - staticpro (&item_properties); - item_properties = Qnil; - - staticpro (&tool_bar_item_properties); - tool_bar_item_properties = Qnil; - staticpro (&tool_bar_items_vector); - tool_bar_items_vector = Qnil; - - DEFSYM (Qtimer_event_handler, "timer-event-handler"); - DEFSYM (Qdisabled_command_function, "disabled-command-function"); - DEFSYM (Qself_insert_command, "self-insert-command"); - DEFSYM (Qforward_char, "forward-char"); - DEFSYM (Qbackward_char, "backward-char"); - - /* Non-nil disable property on a command means do not execute it; - call disabled-command-function's value instead. */ - DEFSYM (Qdisabled, "disabled"); - - DEFSYM (Qundefined, "undefined"); - - /* Hooks to run before and after each command. */ - DEFSYM (Qpre_command_hook, "pre-command-hook"); - DEFSYM (Qpost_command_hook, "post-command-hook"); - - DEFSYM (Qdeferred_action_function, "deferred-action-function"); - DEFSYM (Qdelayed_warnings_hook, "delayed-warnings-hook"); - DEFSYM (Qfunction_key, "function-key"); - - /* The values of Qevent_kind properties. */ - DEFSYM (Qmouse_click, "mouse-click"); - - DEFSYM (Qdrag_n_drop, "drag-n-drop"); - DEFSYM (Qsave_session, "save-session"); - DEFSYM (Qconfig_changed_event, "config-changed-event"); - - /* Menu and tool bar item parts. */ - DEFSYM (Qmenu_enable, "menu-enable"); - -#ifdef HAVE_NTGUI - DEFSYM (Qlanguage_change, "language-change"); -#endif - -#ifdef HAVE_DBUS - DEFSYM (Qdbus_event, "dbus-event"); -#endif - -#ifdef USE_FILE_NOTIFY - DEFSYM (Qfile_notify, "file-notify"); -#endif /* USE_FILE_NOTIFY */ - - /* Menu and tool bar item parts. */ - DEFSYM (QCenable, ":enable"); - DEFSYM (QCvisible, ":visible"); - DEFSYM (QChelp, ":help"); - DEFSYM (QCfilter, ":filter"); - DEFSYM (QCbutton, ":button"); - DEFSYM (QCkeys, ":keys"); - DEFSYM (QCkey_sequence, ":key-sequence"); - - /* Non-nil disable property on a command means - do not execute it; call disabled-command-function's value instead. */ - DEFSYM (QCtoggle, ":toggle"); - DEFSYM (QCradio, ":radio"); - DEFSYM (QClabel, ":label"); - DEFSYM (QCvert_only, ":vert-only"); - - /* Symbols to use for parts of windows. */ - DEFSYM (Qvertical_line, "vertical-line"); - DEFSYM (Qright_divider, "right-divider"); - DEFSYM (Qbottom_divider, "bottom-divider"); - - DEFSYM (Qmouse_fixup_help_message, "mouse-fixup-help-message"); - - DEFSYM (Qabove_handle, "above-handle"); - DEFSYM (Qhandle, "handle"); - DEFSYM (Qbelow_handle, "below-handle"); - DEFSYM (Qup, "up"); - DEFSYM (Qdown, "down"); - DEFSYM (Qtop, "top"); - DEFSYM (Qbottom, "bottom"); - DEFSYM (Qend_scroll, "end-scroll"); - DEFSYM (Qratio, "ratio"); - DEFSYM (Qbefore_handle, "before-handle"); - DEFSYM (Qhorizontal_handle, "horizontal-handle"); - DEFSYM (Qafter_handle, "after-handle"); - DEFSYM (Qleft, "left"); - DEFSYM (Qright, "right"); - DEFSYM (Qleftmost, "leftmost"); - DEFSYM (Qrightmost, "rightmost"); - - /* Properties of event headers. */ - DEFSYM (Qevent_kind, "event-kind"); - DEFSYM (Qevent_symbol_elements, "event-symbol-elements"); - - /* An event header symbol HEAD may have a property named - Qevent_symbol_element_mask, which is of the form (BASE MODIFIERS); - BASE is the base, unmodified version of HEAD, and MODIFIERS is the - mask of modifiers applied to it. If present, this is used to help - speed up parse_modifiers. */ - DEFSYM (Qevent_symbol_element_mask, "event-symbol-element-mask"); - - /* An unmodified event header BASE may have a property named - Qmodifier_cache, which is an alist mapping modifier masks onto - modified versions of BASE. If present, this helps speed up - apply_modifiers. */ - DEFSYM (Qmodifier_cache, "modifier-cache"); - - DEFSYM (Qrecompute_lucid_menubar, "recompute-lucid-menubar"); - DEFSYM (Qactivate_menubar_hook, "activate-menubar-hook"); - - DEFSYM (Qpolling_period, "polling-period"); - - DEFSYM (Qgui_set_selection, "gui-set-selection"); - - /* The primary selection. */ - DEFSYM (QPRIMARY, "PRIMARY"); - - DEFSYM (Qhandle_switch_frame, "handle-switch-frame"); - DEFSYM (Qhandle_select_window, "handle-select-window"); - - DEFSYM (Qinput_method_function, "input-method-function"); - DEFSYM (Qinput_method_exit_on_first_char, "input-method-exit-on-first-char"); - DEFSYM (Qinput_method_use_echo_area, "input-method-use-echo-area"); - - DEFSYM (Qhelp_form_show, "help-form-show"); - - DEFSYM (Qecho_keystrokes, "echo-keystrokes"); - - Fset (Qinput_method_exit_on_first_char, Qnil); - Fset (Qinput_method_use_echo_area, Qnil); - - /* Symbols to head events. */ - DEFSYM (Qmouse_movement, "mouse-movement"); - DEFSYM (Qscroll_bar_movement, "scroll-bar-movement"); - DEFSYM (Qswitch_frame, "switch-frame"); - DEFSYM (Qfocus_in, "focus-in"); - DEFSYM (Qfocus_out, "focus-out"); - DEFSYM (Qdelete_frame, "delete-frame"); - DEFSYM (Qiconify_frame, "iconify-frame"); - DEFSYM (Qmake_frame_visible, "make-frame-visible"); - DEFSYM (Qselect_window, "select-window"); - { - int i; - - for (i = 0; i < ARRAYELTS (head_table); i++) - { - const struct event_head *p = &head_table[i]; - Lisp_Object var = builtin_lisp_symbol (p->var); - Lisp_Object kind = builtin_lisp_symbol (p->kind); - Fput (var, Qevent_kind, kind); - Fput (var, Qevent_symbol_elements, list1 (var)); - } - } - - button_down_location = Fmake_vector (make_number (5), Qnil); - staticpro (&button_down_location); - mouse_syms = Fmake_vector (make_number (5), Qnil); - staticpro (&mouse_syms); - wheel_syms = Fmake_vector (make_number (ARRAYELTS (lispy_wheel_names)), - Qnil); - staticpro (&wheel_syms); - - { - int i; - int len = ARRAYELTS (modifier_names); - - modifier_symbols = Fmake_vector (make_number (len), Qnil); - for (i = 0; i < len; i++) - if (modifier_names[i]) - ASET (modifier_symbols, i, intern_c_string (modifier_names[i])); - staticpro (&modifier_symbols); - } - - recent_keys = Fmake_vector (make_number (NUM_RECENT_KEYS), Qnil); - staticpro (&recent_keys); - - this_command_keys = Fmake_vector (make_number (40), Qnil); - staticpro (&this_command_keys); - - raw_keybuf = Fmake_vector (make_number (30), Qnil); - staticpro (&raw_keybuf); - - DEFSYM (Qcommand_execute, "command-execute"); - - accent_key_syms = Qnil; - staticpro (&accent_key_syms); - - func_key_syms = Qnil; - staticpro (&func_key_syms); - - drag_n_drop_syms = Qnil; - staticpro (&drag_n_drop_syms); - - unread_switch_frame = Qnil; - staticpro (&unread_switch_frame); - - internal_last_event_frame = Qnil; - staticpro (&internal_last_event_frame); - - read_key_sequence_cmd = Qnil; - staticpro (&read_key_sequence_cmd); - read_key_sequence_remapped = Qnil; - staticpro (&read_key_sequence_remapped); - - menu_bar_one_keymap_changed_items = Qnil; - staticpro (&menu_bar_one_keymap_changed_items); - - menu_bar_items_vector = Qnil; - staticpro (&menu_bar_items_vector); - - help_form_saved_window_configs = Qnil; - staticpro (&help_form_saved_window_configs); - - defsubr (&Scurrent_idle_time); - defsubr (&Sevent_symbol_parse_modifiers); - defsubr (&Sevent_convert_list); - defsubr (&Sread_key_sequence); - defsubr (&Sread_key_sequence_vector); - defsubr (&Srecursive_edit); - defsubr (&Strack_mouse); - defsubr (&Sinput_pending_p); - defsubr (&Srecent_keys); - defsubr (&Sthis_command_keys); - defsubr (&Sthis_command_keys_vector); - defsubr (&Sthis_single_command_keys); - defsubr (&Sthis_single_command_raw_keys); - defsubr (&Sreset_this_command_lengths); - defsubr (&Sclear_this_command_keys); - defsubr (&Ssuspend_emacs); - defsubr (&Sabort_recursive_edit); - defsubr (&Sexit_recursive_edit); - defsubr (&Srecursion_depth); - defsubr (&Scommand_error_default_function); - defsubr (&Stop_level); - defsubr (&Sdiscard_input); - defsubr (&Sopen_dribble_file); - defsubr (&Sset_input_interrupt_mode); - defsubr (&Sset_output_flow_control); - defsubr (&Sset_input_meta_mode); - defsubr (&Sset_quit_char); - defsubr (&Sset_input_mode); - defsubr (&Scurrent_input_mode); - defsubr (&Sposn_at_point); - defsubr (&Sposn_at_x_y); - - DEFVAR_LISP ("last-command-event", last_command_event, - doc: /* Last input event that was part of a command. */); - - DEFVAR_LISP ("last-nonmenu-event", last_nonmenu_event, - doc: /* Last input event in a command, except for mouse menu events. -Mouse menus give back keys that don't look like mouse events; -this variable holds the actual mouse event that led to the menu, -so that you can determine whether the command was run by mouse or not. */); - - DEFVAR_LISP ("last-input-event", last_input_event, - doc: /* Last input event. */); - - DEFVAR_LISP ("unread-command-events", Vunread_command_events, - doc: /* List of events to be read as the command input. -These events are processed first, before actual keyboard input. -Events read from this list are not normally added to `this-command-keys', -as they will already have been added once as they were read for the first time. -An element of the form (t . EVENT) forces EVENT to be added to that list. */); - Vunread_command_events = Qnil; - - DEFVAR_LISP ("unread-post-input-method-events", Vunread_post_input_method_events, - doc: /* List of events to be processed as input by input methods. -These events are processed before `unread-command-events' -and actual keyboard input, but are not given to `input-method-function'. */); - Vunread_post_input_method_events = Qnil; - - DEFVAR_LISP ("unread-input-method-events", Vunread_input_method_events, - doc: /* List of events to be processed as input by input methods. -These events are processed after `unread-command-events', but -before actual keyboard input. -If there's an active input method, the events are given to -`input-method-function'. */); - Vunread_input_method_events = Qnil; - - DEFVAR_LISP ("meta-prefix-char", meta_prefix_char, - doc: /* Meta-prefix character code. -Meta-foo as command input turns into this character followed by foo. */); - XSETINT (meta_prefix_char, 033); - - DEFVAR_KBOARD ("last-command", Vlast_command, - doc: /* The last command executed. -Normally a symbol with a function definition, but can be whatever was found -in the keymap, or whatever the variable `this-command' was set to by that -command. - -The value `mode-exit' is special; it means that the previous command -read an event that told it to exit, and it did so and unread that event. -In other words, the present command is the event that made the previous -command exit. - -The value `kill-region' is special; it means that the previous command -was a kill command. - -`last-command' has a separate binding for each terminal device. -See Info node `(elisp)Multiple Terminals'. */); - - DEFVAR_KBOARD ("real-last-command", Vreal_last_command, - doc: /* Same as `last-command', but never altered by Lisp code. -Taken from the previous value of `real-this-command'. */); - - DEFVAR_KBOARD ("last-repeatable-command", Vlast_repeatable_command, - doc: /* Last command that may be repeated. -The last command executed that was not bound to an input event. -This is the command `repeat' will try to repeat. -Taken from a previous value of `real-this-command'. */); - - DEFVAR_LISP ("this-command", Vthis_command, - doc: /* The command now being executed. -The command can set this variable; whatever is put here -will be in `last-command' during the following command. */); - Vthis_command = Qnil; - - DEFVAR_LISP ("real-this-command", Vreal_this_command, - doc: /* This is like `this-command', except that commands should never modify it. */); - Vreal_this_command = Qnil; - - DEFVAR_LISP ("this-command-keys-shift-translated", - Vthis_command_keys_shift_translated, - doc: /* Non-nil if the key sequence activating this command was shift-translated. -Shift-translation occurs when there is no binding for the key sequence -as entered, but a binding was found by changing an upper-case letter -to lower-case, or a shifted function key to an unshifted one. */); - Vthis_command_keys_shift_translated = Qnil; - - DEFVAR_LISP ("this-original-command", Vthis_original_command, - doc: /* The command bound to the current key sequence before remapping. -It equals `this-command' if the original command was not remapped through -any of the active keymaps. Otherwise, the value of `this-command' is the -result of looking up the original command in the active keymaps. */); - Vthis_original_command = Qnil; - - DEFVAR_INT ("auto-save-interval", auto_save_interval, - doc: /* Number of input events between auto-saves. -Zero means disable autosaving due to number of characters typed. */); - auto_save_interval = 300; - - DEFVAR_LISP ("auto-save-timeout", Vauto_save_timeout, - doc: /* Number of seconds idle time before auto-save. -Zero or nil means disable auto-saving due to idleness. -After auto-saving due to this many seconds of idle time, -Emacs also does a garbage collection if that seems to be warranted. */); - XSETFASTINT (Vauto_save_timeout, 30); - - DEFVAR_LISP ("echo-keystrokes", Vecho_keystrokes, - doc: /* Nonzero means echo unfinished commands after this many seconds of pause. -The value may be integer or floating point. -If the value is zero, don't echo at all. */); - Vecho_keystrokes = make_number (1); - - DEFVAR_INT ("polling-period", polling_period, - doc: /* Interval between polling for input during Lisp execution. -The reason for polling is to make C-g work to stop a running program. -Polling is needed only when using X windows and SIGIO does not work. -Polling is automatically disabled in all other cases. */); - polling_period = 2; - - DEFVAR_LISP ("double-click-time", Vdouble_click_time, - doc: /* Maximum time between mouse clicks to make a double-click. -Measured in milliseconds. The value nil means disable double-click -recognition; t means double-clicks have no time limit and are detected -by position only. */); - Vdouble_click_time = make_number (500); - - DEFVAR_INT ("double-click-fuzz", double_click_fuzz, - doc: /* Maximum mouse movement between clicks to make a double-click. -On window-system frames, value is the number of pixels the mouse may have -moved horizontally or vertically between two clicks to make a double-click. -On non window-system frames, value is interpreted in units of 1/8 characters -instead of pixels. - -This variable is also the threshold for motion of the mouse -to count as a drag. */); - double_click_fuzz = 3; - - DEFVAR_INT ("num-input-keys", num_input_keys, - doc: /* Number of complete key sequences read as input so far. -This includes key sequences read from keyboard macros. -The number is effectively the number of interactive command invocations. */); - num_input_keys = 0; - - DEFVAR_INT ("num-nonmacro-input-events", num_nonmacro_input_events, - doc: /* Number of input events read from the keyboard so far. -This does not include events generated by keyboard macros. */); - num_nonmacro_input_events = 0; - - DEFVAR_LISP ("last-event-frame", Vlast_event_frame, - doc: /* The frame in which the most recently read event occurred. -If the last event came from a keyboard macro, this is set to `macro'. */); - Vlast_event_frame = Qnil; - - /* This variable is set up in sysdep.c. */ - DEFVAR_LISP ("tty-erase-char", Vtty_erase_char, - doc: /* The ERASE character as set by the user with stty. */); - - DEFVAR_LISP ("help-char", Vhelp_char, - doc: /* Character to recognize as meaning Help. -When it is read, do `(eval help-form)', and display result if it's a string. -If the value of `help-form' is nil, this char can be read normally. */); - XSETINT (Vhelp_char, Ctl ('H')); - - DEFVAR_LISP ("help-event-list", Vhelp_event_list, - doc: /* List of input events to recognize as meaning Help. -These work just like the value of `help-char' (see that). */); - Vhelp_event_list = Qnil; - - DEFVAR_LISP ("help-form", Vhelp_form, - doc: /* Form to execute when character `help-char' is read. -If the form returns a string, that string is displayed. -If `help-form' is nil, the help char is not recognized. */); - Vhelp_form = Qnil; - - DEFVAR_LISP ("prefix-help-command", Vprefix_help_command, - doc: /* Command to run when `help-char' character follows a prefix key. -This command is used only when there is no actual binding -for that character after that prefix key. */); - Vprefix_help_command = Qnil; - - DEFVAR_LISP ("top-level", Vtop_level, - doc: /* Form to evaluate when Emacs starts up. -Useful to set before you dump a modified Emacs. */); - Vtop_level = Qnil; - XSYMBOL (Qtop_level)->declared_special = false; - - DEFVAR_KBOARD ("keyboard-translate-table", Vkeyboard_translate_table, - doc: /* Translate table for local keyboard input, or nil. -If non-nil, the value should be a char-table. Each character read -from the keyboard is looked up in this char-table. If the value found -there is non-nil, then it is used instead of the actual input character. - -The value can also be a string or vector, but this is considered obsolete. -If it is a string or vector of length N, character codes N and up are left -untranslated. In a vector, an element which is nil means "no translation". - -This is applied to the characters supplied to input methods, not their -output. See also `translation-table-for-input'. - -This variable has a separate binding for each terminal. -See Info node `(elisp)Multiple Terminals'. */); - - DEFVAR_BOOL ("cannot-suspend", cannot_suspend, - doc: /* Non-nil means to always spawn a subshell instead of suspending. -\(Even if the operating system has support for stopping a process.\) */); - cannot_suspend = 0; - - DEFVAR_BOOL ("menu-prompting", menu_prompting, - doc: /* Non-nil means prompt with menus when appropriate. -This is done when reading from a keymap that has a prompt string, -for elements that have prompt strings. -The menu is displayed on the screen -if X menus were enabled at configuration -time and the previous event was a mouse click prefix key. -Otherwise, menu prompting uses the echo area. */); - menu_prompting = 1; - - DEFVAR_LISP ("menu-prompt-more-char", menu_prompt_more_char, - doc: /* Character to see next line of menu prompt. -Type this character while in a menu prompt to rotate around the lines of it. */); - XSETINT (menu_prompt_more_char, ' '); - - DEFVAR_INT ("extra-keyboard-modifiers", extra_keyboard_modifiers, - doc: /* A mask of additional modifier keys to use with every keyboard character. -Emacs applies the modifiers of the character stored here to each keyboard -character it reads. For example, after evaluating the expression - (setq extra-keyboard-modifiers ?\\C-x) -all input characters will have the control modifier applied to them. - -Note that the character ?\\C-@, equivalent to the integer zero, does -not count as a control character; rather, it counts as a character -with no modifiers; thus, setting `extra-keyboard-modifiers' to zero -cancels any modification. */); - extra_keyboard_modifiers = 0; - - DEFSYM (Qdeactivate_mark, "deactivate-mark"); - DEFVAR_LISP ("deactivate-mark", Vdeactivate_mark, - doc: /* If an editing command sets this to t, deactivate the mark afterward. -The command loop sets this to nil before each command, -and tests the value when the command returns. -Buffer modification stores t in this variable. */); - Vdeactivate_mark = Qnil; - Fmake_variable_buffer_local (Qdeactivate_mark); - - DEFVAR_LISP ("pre-command-hook", Vpre_command_hook, - doc: /* Normal hook run before each command is executed. -If an unhandled error happens in running this hook, -the function in which the error occurred is unconditionally removed, since -otherwise the error might happen repeatedly and make Emacs nonfunctional. */); - Vpre_command_hook = Qnil; - - DEFVAR_LISP ("post-command-hook", Vpost_command_hook, - doc: /* Normal hook run after each command is executed. -If an unhandled error happens in running this hook, -the function in which the error occurred is unconditionally removed, since -otherwise the error might happen repeatedly and make Emacs nonfunctional. */); - Vpost_command_hook = Qnil; - -#if 0 - DEFVAR_LISP ("echo-area-clear-hook", ..., - doc: /* Normal hook run when clearing the echo area. */); -#endif - DEFSYM (Qecho_area_clear_hook, "echo-area-clear-hook"); - Fset (Qecho_area_clear_hook, Qnil); - - DEFVAR_LISP ("lucid-menu-bar-dirty-flag", Vlucid_menu_bar_dirty_flag, - doc: /* Non-nil means menu bar, specified Lucid style, needs to be recomputed. */); - Vlucid_menu_bar_dirty_flag = Qnil; - - DEFVAR_LISP ("menu-bar-final-items", Vmenu_bar_final_items, - doc: /* List of menu bar items to move to the end of the menu bar. -The elements of the list are event types that may have menu bar bindings. */); - Vmenu_bar_final_items = Qnil; - - DEFVAR_LISP ("tool-bar-separator-image-expression", Vtool_bar_separator_image_expression, - doc: /* Expression evaluating to the image spec for a tool-bar separator. -This is used internally by graphical displays that do not render -tool-bar separators natively. Otherwise it is unused (e.g. on GTK). */); - Vtool_bar_separator_image_expression = Qnil; - - DEFVAR_KBOARD ("overriding-terminal-local-map", - Voverriding_terminal_local_map, - doc: /* Per-terminal keymap that takes precedence over all other keymaps. -This variable is intended to let commands such as `universal-argument' -set up a different keymap for reading the next command. - -`overriding-terminal-local-map' has a separate binding for each -terminal device. See Info node `(elisp)Multiple Terminals'. */); - - DEFVAR_LISP ("overriding-local-map", Voverriding_local_map, - doc: /* Keymap that replaces (overrides) local keymaps. -If this variable is non-nil, Emacs looks up key bindings in this -keymap INSTEAD OF the keymap char property, minor mode maps, and the -buffer's local map. Hence, the only active keymaps would be -`overriding-terminal-local-map', this keymap, and `global-keymap', in -order of precedence. */); - Voverriding_local_map = Qnil; - - DEFVAR_LISP ("overriding-local-map-menu-flag", Voverriding_local_map_menu_flag, - doc: /* Non-nil means `overriding-local-map' applies to the menu bar. -Otherwise, the menu bar continues to reflect the buffer's local map -and the minor mode maps regardless of `overriding-local-map'. */); - Voverriding_local_map_menu_flag = Qnil; - - DEFVAR_LISP ("special-event-map", Vspecial_event_map, - doc: /* Keymap defining bindings for special events to execute at low level. */); - Vspecial_event_map = list1 (Qkeymap); - - DEFVAR_LISP ("track-mouse", do_mouse_tracking, - doc: /* Non-nil means generate motion events for mouse motion. */); - - DEFVAR_KBOARD ("system-key-alist", Vsystem_key_alist, - doc: /* Alist of system-specific X windows key symbols. -Each element should have the form (N . SYMBOL) where N is the -numeric keysym code (sans the \"system-specific\" bit 1<<28) -and SYMBOL is its name. - -`system-key-alist' has a separate binding for each terminal device. -See Info node `(elisp)Multiple Terminals'. */); - - DEFVAR_KBOARD ("local-function-key-map", Vlocal_function_key_map, - doc: /* Keymap that translates key sequences to key sequences during input. -This is used mainly for mapping key sequences into some preferred -key events (symbols). - -The `read-key-sequence' function replaces any subsequence bound by -`local-function-key-map' with its binding. More precisely, when the -active keymaps have no binding for the current key sequence but -`local-function-key-map' binds a suffix of the sequence to a vector or -string, `read-key-sequence' replaces the matching suffix with its -binding, and continues with the new sequence. - -If the binding is a function, it is called with one argument (the prompt) -and its return value (a key sequence) is used. - -The events that come from bindings in `local-function-key-map' are not -themselves looked up in `local-function-key-map'. - -For example, suppose `local-function-key-map' binds `ESC O P' to [f1]. -Typing `ESC O P' to `read-key-sequence' would return [f1]. Typing -`C-x ESC O P' would return [?\\C-x f1]. If [f1] were a prefix key, -typing `ESC O P x' would return [f1 x]. - -`local-function-key-map' has a separate binding for each terminal -device. See Info node `(elisp)Multiple Terminals'. If you need to -define a binding on all terminals, change `function-key-map' -instead. Initially, `local-function-key-map' is an empty keymap that -has `function-key-map' as its parent on all terminal devices. */); - - DEFVAR_KBOARD ("input-decode-map", Vinput_decode_map, - doc: /* Keymap that decodes input escape sequences. -This is used mainly for mapping ASCII function key sequences into -real Emacs function key events (symbols). - -The `read-key-sequence' function replaces any subsequence bound by -`input-decode-map' with its binding. Contrary to `function-key-map', -this map applies its rebinding regardless of the presence of an ordinary -binding. So it is more like `key-translation-map' except that it applies -before `function-key-map' rather than after. - -If the binding is a function, it is called with one argument (the prompt) -and its return value (a key sequence) is used. - -The events that come from bindings in `input-decode-map' are not -themselves looked up in `input-decode-map'. */); - - DEFVAR_LISP ("function-key-map", Vfunction_key_map, - doc: /* The parent keymap of all `local-function-key-map' instances. -Function key definitions that apply to all terminal devices should go -here. If a mapping is defined in both the current -`local-function-key-map' binding and this variable, then the local -definition will take precedence. */); - Vfunction_key_map = Fmake_sparse_keymap (Qnil); - - DEFVAR_LISP ("key-translation-map", Vkey_translation_map, - doc: /* Keymap of key translations that can override keymaps. -This keymap works like `input-decode-map', but comes after `function-key-map'. -Another difference is that it is global rather than terminal-local. */); - Vkey_translation_map = Fmake_sparse_keymap (Qnil); - - DEFVAR_LISP ("deferred-action-list", Vdeferred_action_list, - doc: /* List of deferred actions to be performed at a later time. -The precise format isn't relevant here; we just check whether it is nil. */); - Vdeferred_action_list = Qnil; - - DEFVAR_LISP ("deferred-action-function", Vdeferred_action_function, - doc: /* Function to call to handle deferred actions, after each command. -This function is called with no arguments after each command -whenever `deferred-action-list' is non-nil. */); - Vdeferred_action_function = Qnil; - - DEFVAR_LISP ("delayed-warnings-list", Vdelayed_warnings_list, - doc: /* List of warnings to be displayed after this command. -Each element must be a list (TYPE MESSAGE [LEVEL [BUFFER-NAME]]), -as per the args of `display-warning' (which see). -If this variable is non-nil, `delayed-warnings-hook' will be run -immediately after running `post-command-hook'. */); - Vdelayed_warnings_list = Qnil; - - DEFVAR_LISP ("timer-list", Vtimer_list, - doc: /* List of active absolute time timers in order of increasing time. */); - Vtimer_list = Qnil; - - DEFVAR_LISP ("timer-idle-list", Vtimer_idle_list, - doc: /* List of active idle-time timers in order of increasing time. */); - Vtimer_idle_list = Qnil; - - DEFVAR_LISP ("input-method-function", Vinput_method_function, - doc: /* If non-nil, the function that implements the current input method. -It's called with one argument, a printing character that was just read. -\(That means a character with code 040...0176.) -Typically this function uses `read-event' to read additional events. -When it does so, it should first bind `input-method-function' to nil -so it will not be called recursively. - -The function should return a list of zero or more events -to be used as input. If it wants to put back some events -to be reconsidered, separately, by the input method, -it can add them to the beginning of `unread-command-events'. - -The input method function can find in `input-method-previous-message' -the previous echo area message. - -The input method function should refer to the variables -`input-method-use-echo-area' and `input-method-exit-on-first-char' -for guidance on what to do. */); - Vinput_method_function = Qlist; - - DEFVAR_LISP ("input-method-previous-message", - Vinput_method_previous_message, - doc: /* When `input-method-function' is called, hold the previous echo area message. -This variable exists because `read-event' clears the echo area -before running the input method. It is nil if there was no message. */); - Vinput_method_previous_message = Qnil; - - DEFVAR_LISP ("show-help-function", Vshow_help_function, - doc: /* If non-nil, the function that implements the display of help. -It's called with one argument, the help string to display. */); - Vshow_help_function = Qnil; - - DEFVAR_LISP ("disable-point-adjustment", Vdisable_point_adjustment, - doc: /* If non-nil, suppress point adjustment after executing a command. - -After a command is executed, if point is moved into a region that has -special properties (e.g. composition, display), we adjust point to -the boundary of the region. But, when a command sets this variable to -non-nil, we suppress the point adjustment. - -This variable is set to nil before reading a command, and is checked -just after executing the command. */); - Vdisable_point_adjustment = Qnil; - - DEFVAR_LISP ("global-disable-point-adjustment", - Vglobal_disable_point_adjustment, - doc: /* If non-nil, always suppress point adjustment. - -The default value is nil, in which case, point adjustment are -suppressed only after special commands that set -`disable-point-adjustment' (which see) to non-nil. */); - Vglobal_disable_point_adjustment = Qnil; - - DEFVAR_LISP ("minibuffer-message-timeout", Vminibuffer_message_timeout, - doc: /* How long to display an echo-area message when the minibuffer is active. -If the value is not a number, such messages don't time out. */); - Vminibuffer_message_timeout = make_number (2); - - DEFVAR_LISP ("throw-on-input", Vthrow_on_input, - doc: /* If non-nil, any keyboard input throws to this symbol. -The value of that variable is passed to `quit-flag' and later causes a -peculiar kind of quitting. */); - Vthrow_on_input = Qnil; - - DEFVAR_LISP ("command-error-function", Vcommand_error_function, - doc: /* Function to output error messages. -Called with three arguments: -- the error data, a list of the form (SIGNALED-CONDITION . SIGNAL-DATA) - such as what `condition-case' would bind its variable to, -- the context (a string which normally goes at the start of the message), -- the Lisp function within which the error was signaled. */); - Vcommand_error_function = intern ("command-error-default-function"); - - DEFVAR_LISP ("enable-disabled-menus-and-buttons", - Venable_disabled_menus_and_buttons, - doc: /* If non-nil, don't ignore events produced by disabled menu items and tool-bar. - -Help functions bind this to allow help on disabled menu items -and tool-bar buttons. */); - Venable_disabled_menus_and_buttons = Qnil; - - DEFVAR_LISP ("select-active-regions", - Vselect_active_regions, - doc: /* If non-nil, an active region automatically sets the primary selection. -If the value is `only', only temporarily active regions (usually made -by mouse-dragging or shift-selection) set the window selection. - -This takes effect only when Transient Mark mode is enabled. */); - Vselect_active_regions = Qt; - - DEFVAR_LISP ("saved-region-selection", - Vsaved_region_selection, - doc: /* Contents of active region prior to buffer modification. -If `select-active-regions' is non-nil, Emacs sets this to the -text in the region before modifying the buffer. The next call to -the function `deactivate-mark' uses this to set the window selection. */); - Vsaved_region_selection = Qnil; - - DEFVAR_LISP ("selection-inhibit-update-commands", - Vselection_inhibit_update_commands, - doc: /* List of commands which should not update the selection. -Normally, if `select-active-regions' is non-nil and the mark remains -active after a command (i.e. the mark was not deactivated), the Emacs -command loop sets the selection to the text in the region. However, -if the command is in this list, the selection is not updated. */); - Vselection_inhibit_update_commands - = list2 (Qhandle_switch_frame, Qhandle_select_window); - - DEFVAR_LISP ("debug-on-event", - Vdebug_on_event, - doc: /* Enter debugger on this event. When Emacs -receives the special event specified by this variable, it will try to -break into the debugger as soon as possible instead of processing the -event normally through `special-event-map'. - -Currently, the only supported values for this -variable are `sigusr1' and `sigusr2'. */); - Vdebug_on_event = intern_c_string ("sigusr2"); - - /* Create the initial keyboard. Qt means 'unset'. */ - initial_kboard = allocate_kboard (Qt); -} - -void -keys_of_keyboard (void) -{ - initial_define_key (global_map, Ctl ('Z'), "suspend-emacs"); - initial_define_key (control_x_map, Ctl ('Z'), "suspend-emacs"); - initial_define_key (meta_map, Ctl ('C'), "exit-recursive-edit"); - initial_define_key (global_map, Ctl (']'), "abort-recursive-edit"); - initial_define_key (meta_map, 'x', "execute-extended-command"); - - initial_define_lispy_key (Vspecial_event_map, "delete-frame", - "handle-delete-frame"); - initial_define_lispy_key (Vspecial_event_map, "ns-put-working-text", - "ns-put-working-text"); - initial_define_lispy_key (Vspecial_event_map, "ns-unput-working-text", - "ns-unput-working-text"); - /* Here we used to use `ignore-event' which would simple set prefix-arg to - current-prefix-arg, as is done in `handle-switch-frame'. - But `handle-switch-frame is not run from the special-map. - Commands from that map are run in a special way that automatically - preserves the prefix-arg. Restoring the prefix arg here is not just - redundant but harmful: - - C-u C-x v = - - current-prefix-arg is set to non-nil, prefix-arg is set to nil. - - after the first prompt, the exit-minibuffer-hook is run which may - iconify a frame and thus push a `iconify-frame' event. - - after running exit-minibuffer-hook, current-prefix-arg is - restored to the non-nil value it had before the prompt. - - we enter the second prompt. - current-prefix-arg is non-nil, prefix-arg is nil. - - before running the first real event, we run the special iconify-frame - event, but we pass the `special' arg to command-execute so - current-prefix-arg and prefix-arg are left untouched. - - here we foolishly copy the non-nil current-prefix-arg to prefix-arg. - - the next key event will have a spuriously non-nil current-prefix-arg. */ - initial_define_lispy_key (Vspecial_event_map, "iconify-frame", - "ignore"); - initial_define_lispy_key (Vspecial_event_map, "make-frame-visible", - "ignore"); - /* Handling it at such a low-level causes read_key_sequence to get - * confused because it doesn't realize that the current_buffer was - * changed by read_char. - * - * initial_define_lispy_key (Vspecial_event_map, "select-window", - * "handle-select-window"); */ - initial_define_lispy_key (Vspecial_event_map, "save-session", - "handle-save-session"); - -#ifdef HAVE_DBUS - /* Define a special event which is raised for dbus callback - functions. */ - initial_define_lispy_key (Vspecial_event_map, "dbus-event", - "dbus-handle-event"); -#endif - -#ifdef USE_FILE_NOTIFY - /* Define a special event which is raised for notification callback - functions. */ - initial_define_lispy_key (Vspecial_event_map, "file-notify", - "file-notify-handle-event"); -#endif /* USE_FILE_NOTIFY */ - - initial_define_lispy_key (Vspecial_event_map, "config-changed-event", - "ignore"); -#if defined (WINDOWSNT) - initial_define_lispy_key (Vspecial_event_map, "language-change", - "ignore"); -#endif - initial_define_lispy_key (Vspecial_event_map, "focus-in", - "handle-focus-in"); - initial_define_lispy_key (Vspecial_event_map, "focus-out", - "handle-focus-out"); -} - -/* Mark the pointers in the kboard objects. - Called by Fgarbage_collect. */ -void -mark_kboards (void) -{ - KBOARD *kb; - Lisp_Object *p; - for (kb = all_kboards; kb; kb = kb->next_kboard) - { - if (kb->kbd_macro_buffer) - for (p = kb->kbd_macro_buffer; p < kb->kbd_macro_ptr; p++) - mark_object (*p); - mark_object (KVAR (kb, Voverriding_terminal_local_map)); - mark_object (KVAR (kb, Vlast_command)); - mark_object (KVAR (kb, Vreal_last_command)); - mark_object (KVAR (kb, Vkeyboard_translate_table)); - mark_object (KVAR (kb, Vlast_repeatable_command)); - mark_object (KVAR (kb, Vprefix_arg)); - mark_object (KVAR (kb, Vlast_prefix_arg)); - mark_object (KVAR (kb, kbd_queue)); - mark_object (KVAR (kb, defining_kbd_macro)); - mark_object (KVAR (kb, Vlast_kbd_macro)); - mark_object (KVAR (kb, Vsystem_key_alist)); - mark_object (KVAR (kb, system_key_syms)); - mark_object (KVAR (kb, Vwindow_system)); - mark_object (KVAR (kb, Vinput_decode_map)); - mark_object (KVAR (kb, Vlocal_function_key_map)); - mark_object (KVAR (kb, Vdefault_minibuffer_frame)); - mark_object (KVAR (kb, echo_string)); - } - { - struct input_event *event; - for (event = kbd_fetch_ptr; event != kbd_store_ptr; event++) - { - if (event == kbd_buffer + KBD_BUFFER_SIZE) - event = kbd_buffer; - /* These two special event types has no Lisp_Objects to mark. */ - if (event->kind != SELECTION_REQUEST_EVENT - && event->kind != SELECTION_CLEAR_EVENT) - { - mark_object (event->x); - mark_object (event->y); - mark_object (event->frame_or_window); - mark_object (event->arg); - } - } - } -} diff --git a/test/manual/etags/c-src/emacs/src/lisp.h b/test/manual/etags/c-src/emacs/src/lisp.h deleted file mode 100644 index 0382acf06ed..00000000000 --- a/test/manual/etags/c-src/emacs/src/lisp.h +++ /dev/null @@ -1,4817 +0,0 @@ -/* Fundamental definitions for GNU Emacs Lisp interpreter. - -Copyright (C) 1985-1987, 1993-1995, 1997-2024 Free Software Foundation, -Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or (at -your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - -#ifndef EMACS_LISP_H -#define EMACS_LISP_H - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -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 's 'assert (COND)' and '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 */ - - -/* 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) - -/* 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); - - -/* 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 - }; - -/* 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; -} - - -/* 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 */ - - -/*********************************************************************** - 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; -} - - -/* 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; -} - -/* 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 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 - }; - -/* 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); -} - -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); -} - -/* 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) - -/* 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 - - -/* 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)) - -extern Lisp_Object Vascii_downcase_table; -extern Lisp_Object Vascii_canon_table; - -/* 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 *); - -/* Forward declarations for prototypes. */ -struct window; -struct frame; - -/* Copy COUNT Lisp_Objects from ARGS to contents of V starting from OFFSET. */ - -INLINE void -vcopy (Lisp_Object v, ptrdiff_t offset, Lisp_Object *args, ptrdiff_t count) -{ - eassert (0 <= offset && 0 <= count && offset + count <= ASIZE (v)); - memcpy (XVECTOR (v)->contents + offset, args, count * sizeof *args); -} - -/* Functions to modify hash tables. */ - -INLINE void -set_hash_key_slot (struct Lisp_Hash_Table *h, ptrdiff_t idx, Lisp_Object val) -{ - gc_aset (h->key_and_value, 2 * idx, val); -} - -INLINE void -set_hash_value_slot (struct Lisp_Hash_Table *h, ptrdiff_t idx, Lisp_Object val) -{ - gc_aset (h->key_and_value, 2 * idx + 1, val); -} - -/* Use these functions to set Lisp_Object - or pointer slots of struct Lisp_Symbol. */ - -INLINE void -set_symbol_function (Lisp_Object sym, Lisp_Object function) -{ - XSYMBOL (sym)->function = function; -} - -INLINE void -set_symbol_plist (Lisp_Object sym, Lisp_Object plist) -{ - XSYMBOL (sym)->plist = plist; -} - -INLINE void -set_symbol_next (Lisp_Object sym, struct Lisp_Symbol *next) -{ - XSYMBOL (sym)->next = next; -} - -/* Buffer-local (also frame-local) variable access functions. */ - -INLINE int -blv_found (struct Lisp_Buffer_Local_Value *blv) -{ - eassert (blv->found == !EQ (blv->defcell, blv->valcell)); - return blv->found; -} - -/* Set overlay's property list. */ - -INLINE void -set_overlay_plist (Lisp_Object overlay, Lisp_Object plist) -{ - XOVERLAY (overlay)->plist = plist; -} - -/* Get text properties of S. */ - -INLINE INTERVAL -string_intervals (Lisp_Object s) -{ - return XSTRING (s)->intervals; -} - -/* Set text properties of S to I. */ - -INLINE void -set_string_intervals (Lisp_Object s, INTERVAL i) -{ - XSTRING (s)->intervals = i; -} - -/* Set a Lisp slot in TABLE to VAL. Most code should use this instead - of setting slots directly. */ - -INLINE void -set_char_table_defalt (Lisp_Object table, Lisp_Object val) -{ - XCHAR_TABLE (table)->defalt = val; -} -INLINE void -set_char_table_purpose (Lisp_Object table, Lisp_Object val) -{ - XCHAR_TABLE (table)->purpose = val; -} - -/* Set different slots in (sub)character tables. */ - -INLINE void -set_char_table_extras (Lisp_Object table, ptrdiff_t idx, Lisp_Object val) -{ - eassert (0 <= idx && idx < CHAR_TABLE_EXTRA_SLOTS (XCHAR_TABLE (table))); - XCHAR_TABLE (table)->extras[idx] = val; -} - -INLINE void -set_char_table_contents (Lisp_Object table, ptrdiff_t idx, Lisp_Object val) -{ - eassert (0 <= idx && idx < (1 << CHARTAB_SIZE_BITS_0)); - XCHAR_TABLE (table)->contents[idx] = val; -} - -INLINE void -set_sub_char_table_contents (Lisp_Object table, ptrdiff_t idx, Lisp_Object val) -{ - XSUB_CHAR_TABLE (table)->contents[idx] = val; -} - -/* Defined in data.c. */ -extern Lisp_Object indirect_function (Lisp_Object); -extern Lisp_Object find_symbol_value (Lisp_Object); -enum Arith_Comparison { - ARITH_EQUAL, - ARITH_NOTEQUAL, - ARITH_LESS, - ARITH_GRTR, - ARITH_LESS_OR_EQUAL, - ARITH_GRTR_OR_EQUAL -}; -extern Lisp_Object arithcompare (Lisp_Object num1, Lisp_Object num2, - enum Arith_Comparison comparison); - -/* Convert the integer I to an Emacs representation, either the integer - itself, or a cons of two or three integers, or if all else fails a float. - I should not have side effects. */ -#define INTEGER_TO_CONS(i) \ - (! FIXNUM_OVERFLOW_P (i) \ - ? make_number (i) \ - : ! ((FIXNUM_OVERFLOW_P (INTMAX_MIN >> 16) \ - || FIXNUM_OVERFLOW_P (UINTMAX_MAX >> 16)) \ - && FIXNUM_OVERFLOW_P ((i) >> 16)) \ - ? Fcons (make_number ((i) >> 16), make_number ((i) & 0xffff)) \ - : ! ((FIXNUM_OVERFLOW_P (INTMAX_MIN >> 16 >> 24) \ - || FIXNUM_OVERFLOW_P (UINTMAX_MAX >> 16 >> 24)) \ - && FIXNUM_OVERFLOW_P ((i) >> 16 >> 24)) \ - ? Fcons (make_number ((i) >> 16 >> 24), \ - Fcons (make_number ((i) >> 16 & 0xffffff), \ - make_number ((i) & 0xffff))) \ - : make_float (i)) - -/* Convert the Emacs representation CONS back to an integer of type - TYPE, storing the result the variable VAR. Signal an error if CONS - is not a valid representation or is out of range for TYPE. */ -#define CONS_TO_INTEGER(cons, type, var) \ - (TYPE_SIGNED (type) \ - ? ((var) = cons_to_signed (cons, TYPE_MINIMUM (type), TYPE_MAXIMUM (type))) \ - : ((var) = cons_to_unsigned (cons, TYPE_MAXIMUM (type)))) -extern intmax_t cons_to_signed (Lisp_Object, intmax_t, intmax_t); -extern uintmax_t cons_to_unsigned (Lisp_Object, uintmax_t); - -extern struct Lisp_Symbol *indirect_variable (struct Lisp_Symbol *); -extern _Noreturn void args_out_of_range (Lisp_Object, Lisp_Object); -extern _Noreturn void args_out_of_range_3 (Lisp_Object, Lisp_Object, - Lisp_Object); -extern Lisp_Object do_symval_forwarding (union Lisp_Fwd *); -extern void set_internal (Lisp_Object, Lisp_Object, Lisp_Object, bool); -extern void syms_of_data (void); -extern void swap_in_global_binding (struct Lisp_Symbol *); - -/* Defined in cmds.c */ -extern void syms_of_cmds (void); -extern void keys_of_cmds (void); - -/* Defined in coding.c. */ -extern Lisp_Object detect_coding_system (const unsigned char *, ptrdiff_t, - ptrdiff_t, bool, bool, Lisp_Object); -extern void init_coding (void); -extern void init_coding_once (void); -extern void syms_of_coding (void); - -/* Defined in character.c. */ -extern ptrdiff_t chars_in_text (const unsigned char *, ptrdiff_t); -extern ptrdiff_t multibyte_chars_in_text (const unsigned char *, ptrdiff_t); -extern void syms_of_character (void); - -/* Defined in charset.c. */ -extern void init_charset (void); -extern void init_charset_once (void); -extern void syms_of_charset (void); -/* Structure forward declarations. */ -struct charset; - -/* Defined in syntax.c. */ -extern void init_syntax_once (void); -extern void syms_of_syntax (void); - -/* Defined in fns.c. */ -enum { NEXT_ALMOST_PRIME_LIMIT = 11 }; -extern EMACS_INT next_almost_prime (EMACS_INT) ATTRIBUTE_CONST; -extern Lisp_Object larger_vector (Lisp_Object, ptrdiff_t, ptrdiff_t); -extern void sweep_weak_hash_tables (void); -EMACS_UINT hash_string (char const *, ptrdiff_t); -EMACS_UINT sxhash (Lisp_Object, int); -Lisp_Object make_hash_table (struct hash_table_test, Lisp_Object, Lisp_Object, - Lisp_Object, Lisp_Object); -ptrdiff_t hash_lookup (struct Lisp_Hash_Table *, Lisp_Object, EMACS_UINT *); -ptrdiff_t hash_put (struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object, - EMACS_UINT); -extern struct hash_table_test hashtest_eql, hashtest_equal; -extern void validate_subarray (Lisp_Object, Lisp_Object, Lisp_Object, - ptrdiff_t, ptrdiff_t *, ptrdiff_t *); -extern Lisp_Object substring_both (Lisp_Object, ptrdiff_t, ptrdiff_t, - ptrdiff_t, ptrdiff_t); -extern Lisp_Object merge (Lisp_Object, Lisp_Object, Lisp_Object); -extern Lisp_Object do_yes_or_no_p (Lisp_Object); -extern Lisp_Object concat2 (Lisp_Object, Lisp_Object); -extern Lisp_Object concat3 (Lisp_Object, Lisp_Object, Lisp_Object); -extern Lisp_Object nconc2 (Lisp_Object, Lisp_Object); -extern Lisp_Object assq_no_quit (Lisp_Object, Lisp_Object); -extern Lisp_Object assoc_no_quit (Lisp_Object, Lisp_Object); -extern void clear_string_char_byte_cache (void); -extern ptrdiff_t string_char_to_byte (Lisp_Object, ptrdiff_t); -extern ptrdiff_t string_byte_to_char (Lisp_Object, ptrdiff_t); -extern Lisp_Object string_to_multibyte (Lisp_Object); -extern Lisp_Object string_make_unibyte (Lisp_Object); -extern void syms_of_fns (void); - -/* Defined in floatfns.c. */ -extern void syms_of_floatfns (void); -extern Lisp_Object fmod_float (Lisp_Object x, Lisp_Object y); - -/* Defined in fringe.c. */ -extern void syms_of_fringe (void); -extern void init_fringe (void); -#ifdef HAVE_WINDOW_SYSTEM -extern void mark_fringe_data (void); -extern void init_fringe_once (void); -#endif /* HAVE_WINDOW_SYSTEM */ - -/* Defined in image.c. */ -extern int x_bitmap_mask (struct frame *, ptrdiff_t); -extern void reset_image_types (void); -extern void syms_of_image (void); - -/* Defined in insdel.c. */ -extern void move_gap_both (ptrdiff_t, ptrdiff_t); -extern _Noreturn void buffer_overflow (void); -extern void make_gap (ptrdiff_t); -extern void make_gap_1 (struct buffer *, ptrdiff_t); -extern ptrdiff_t copy_text (const unsigned char *, unsigned char *, - ptrdiff_t, bool, bool); -extern int count_combining_before (const unsigned char *, - ptrdiff_t, ptrdiff_t, ptrdiff_t); -extern int count_combining_after (const unsigned char *, - ptrdiff_t, ptrdiff_t, ptrdiff_t); -extern void insert (const char *, ptrdiff_t); -extern void insert_and_inherit (const char *, ptrdiff_t); -extern void insert_1_both (const char *, ptrdiff_t, ptrdiff_t, - bool, bool, bool); -extern void insert_from_gap (ptrdiff_t, ptrdiff_t, bool text_at_gap_tail); -extern void insert_from_string (Lisp_Object, ptrdiff_t, ptrdiff_t, - ptrdiff_t, ptrdiff_t, bool); -extern void insert_from_buffer (struct buffer *, ptrdiff_t, ptrdiff_t, bool); -extern void insert_char (int); -extern void insert_string (const char *); -extern void insert_before_markers (const char *, ptrdiff_t); -extern void insert_before_markers_and_inherit (const char *, ptrdiff_t); -extern void insert_from_string_before_markers (Lisp_Object, ptrdiff_t, - ptrdiff_t, ptrdiff_t, - ptrdiff_t, bool); -extern void del_range (ptrdiff_t, ptrdiff_t); -extern Lisp_Object del_range_1 (ptrdiff_t, ptrdiff_t, bool, bool); -extern void del_range_byte (ptrdiff_t, ptrdiff_t, bool); -extern void del_range_both (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, bool); -extern Lisp_Object del_range_2 (ptrdiff_t, ptrdiff_t, - ptrdiff_t, ptrdiff_t, bool); -extern void modify_text (ptrdiff_t, ptrdiff_t); -extern void prepare_to_modify_buffer (ptrdiff_t, ptrdiff_t, ptrdiff_t *); -extern void prepare_to_modify_buffer_1 (ptrdiff_t, ptrdiff_t, ptrdiff_t *); -extern void invalidate_buffer_caches (struct buffer *, ptrdiff_t, ptrdiff_t); -extern void signal_after_change (ptrdiff_t, ptrdiff_t, ptrdiff_t); -extern void adjust_after_insert (ptrdiff_t, ptrdiff_t, ptrdiff_t, - ptrdiff_t, ptrdiff_t); -extern void adjust_markers_for_delete (ptrdiff_t, ptrdiff_t, - ptrdiff_t, ptrdiff_t); -extern void replace_range (ptrdiff_t, ptrdiff_t, Lisp_Object, bool, bool, bool); -extern void replace_range_2 (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, - const char *, ptrdiff_t, ptrdiff_t, bool); -extern void syms_of_insdel (void); - -/* Defined in dispnew.c. */ -#if (defined PROFILING \ - && (defined __FreeBSD__ || defined GNU_LINUX || defined __MINGW32__)) -_Noreturn void __executable_start (void); -#endif -extern Lisp_Object Vwindow_system; -extern Lisp_Object sit_for (Lisp_Object, bool, int); - -/* Defined in xdisp.c. */ -extern bool noninteractive_need_newline; -extern Lisp_Object echo_area_buffer[2]; -extern void add_to_log (const char *, Lisp_Object, Lisp_Object); -extern void check_message_stack (void); -extern void setup_echo_area_for_printing (bool); -extern bool push_message (void); -extern void pop_message_unwind (void); -extern Lisp_Object restore_message_unwind (Lisp_Object); -extern void restore_message (void); -extern Lisp_Object current_message (void); -extern void clear_message (bool, bool); -extern void message (const char *, ...) ATTRIBUTE_FORMAT_PRINTF (1, 2); -extern void message1 (const char *); -extern void message1_nolog (const char *); -extern void message3 (Lisp_Object); -extern void message3_nolog (Lisp_Object); -extern void message_dolog (const char *, ptrdiff_t, bool, bool); -extern void message_with_string (const char *, Lisp_Object, bool); -extern void message_log_maybe_newline (void); -extern void update_echo_area (void); -extern void truncate_echo_area (ptrdiff_t); -extern void redisplay (void); - -void set_frame_cursor_types (struct frame *, Lisp_Object); -extern void syms_of_xdisp (void); -extern void init_xdisp (void); -extern Lisp_Object safe_eval (Lisp_Object); -extern bool pos_visible_p (struct window *, ptrdiff_t, int *, - int *, int *, int *, int *, int *); - -/* Defined in xsettings.c. */ -extern void syms_of_xsettings (void); - -/* Defined in vm-limit.c. */ -extern void memory_warnings (void *, void (*warnfun) (const char *)); - -/* Defined in character.c. */ -extern void parse_str_as_multibyte (const unsigned char *, ptrdiff_t, - ptrdiff_t *, ptrdiff_t *); - -/* Defined in alloc.c. */ -extern void check_pure_size (void); -extern void free_misc (Lisp_Object); -extern void allocate_string_data (struct Lisp_String *, EMACS_INT, EMACS_INT); -extern void malloc_warning (const char *); -extern _Noreturn void memory_full (size_t); -extern _Noreturn void buffer_memory_full (ptrdiff_t); -extern bool survives_gc_p (Lisp_Object); -extern void mark_object (Lisp_Object); -#if defined REL_ALLOC && !defined SYSTEM_MALLOC && !defined HYBRID_MALLOC -extern void refill_memory_reserve (void); -#endif -extern const char *pending_malloc_warning; -extern Lisp_Object zero_vector; -extern Lisp_Object *stack_base; -extern EMACS_INT consing_since_gc; -extern EMACS_INT gc_relative_threshold; -extern EMACS_INT memory_full_cons_threshold; -extern Lisp_Object list1 (Lisp_Object); -extern Lisp_Object list2 (Lisp_Object, Lisp_Object); -extern Lisp_Object list3 (Lisp_Object, Lisp_Object, Lisp_Object); -extern Lisp_Object list4 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); -extern Lisp_Object list5 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, - Lisp_Object); -enum constype {CONSTYPE_HEAP, CONSTYPE_PURE}; -extern Lisp_Object listn (enum constype, ptrdiff_t, Lisp_Object, ...); - -/* Build a frequently used 2/3/4-integer lists. */ - -INLINE Lisp_Object -list2i (EMACS_INT x, EMACS_INT y) -{ - return list2 (make_number (x), make_number (y)); -} - -INLINE Lisp_Object -list3i (EMACS_INT x, EMACS_INT y, EMACS_INT w) -{ - return list3 (make_number (x), make_number (y), make_number (w)); -} - -INLINE Lisp_Object -list4i (EMACS_INT x, EMACS_INT y, EMACS_INT w, EMACS_INT h) -{ - return list4 (make_number (x), make_number (y), - make_number (w), make_number (h)); -} - -extern Lisp_Object make_uninit_bool_vector (EMACS_INT); -extern Lisp_Object bool_vector_fill (Lisp_Object, Lisp_Object); -extern _Noreturn void string_overflow (void); -extern Lisp_Object make_string (const char *, ptrdiff_t); -extern Lisp_Object make_formatted_string (char *, const char *, ...) - ATTRIBUTE_FORMAT_PRINTF (2, 3); -extern Lisp_Object make_unibyte_string (const char *, ptrdiff_t); - -/* Make unibyte string from C string when the length isn't known. */ - -INLINE Lisp_Object -build_unibyte_string (const char *str) -{ - return make_unibyte_string (str, strlen (str)); -} - -extern Lisp_Object make_multibyte_string (const char *, ptrdiff_t, ptrdiff_t); -extern Lisp_Object make_event_array (ptrdiff_t, Lisp_Object *); -extern Lisp_Object make_uninit_string (EMACS_INT); -extern Lisp_Object make_uninit_multibyte_string (EMACS_INT, EMACS_INT); -extern Lisp_Object make_string_from_bytes (const char *, ptrdiff_t, ptrdiff_t); -extern Lisp_Object make_specified_string (const char *, - ptrdiff_t, ptrdiff_t, bool); -extern Lisp_Object make_pure_string (const char *, ptrdiff_t, ptrdiff_t, bool); -extern Lisp_Object make_pure_c_string (const char *, ptrdiff_t); - -/* Make a string allocated in pure space, use STR as string data. */ - -INLINE Lisp_Object -build_pure_c_string (const char *str) -{ - return make_pure_c_string (str, strlen (str)); -} - -/* Make a string from the data at STR, treating it as multibyte if the - data warrants. */ - -INLINE Lisp_Object -build_string (const char *str) -{ - return make_string (str, strlen (str)); -} - -extern Lisp_Object pure_cons (Lisp_Object, Lisp_Object); -extern void make_byte_code (struct Lisp_Vector *); -extern struct Lisp_Vector *allocate_vector (EMACS_INT); - -/* Make an uninitialized vector for SIZE objects. NOTE: you must - be sure that GC cannot happen until the vector is completely - initialized. E.g. the following code is likely to crash: - - v = make_uninit_vector (3); - ASET (v, 0, obj0); - ASET (v, 1, Ffunction_can_gc ()); - ASET (v, 2, obj1); */ - -INLINE Lisp_Object -make_uninit_vector (ptrdiff_t size) -{ - Lisp_Object v; - struct Lisp_Vector *p; - - p = allocate_vector (size); - XSETVECTOR (v, p); - return v; -} - -/* Like above, but special for sub char-tables. */ - -INLINE Lisp_Object -make_uninit_sub_char_table (int depth, int min_char) -{ - int slots = SUB_CHAR_TABLE_OFFSET + chartab_size[depth]; - Lisp_Object v = make_uninit_vector (slots); - - XSETPVECTYPE (XVECTOR (v), PVEC_SUB_CHAR_TABLE); - XSUB_CHAR_TABLE (v)->depth = depth; - XSUB_CHAR_TABLE (v)->min_char = min_char; - return v; -} - -extern struct Lisp_Vector *allocate_pseudovector (int, int, int, - enum pvec_type); - -/* Allocate partially initialized pseudovector where all Lisp_Object - slots are set to Qnil but the rest (if any) is left uninitialized. */ - -#define ALLOCATE_PSEUDOVECTOR(type, field, tag) \ - ((type *) allocate_pseudovector (VECSIZE (type), \ - PSEUDOVECSIZE (type, field), \ - PSEUDOVECSIZE (type, field), tag)) - -/* Allocate fully initialized pseudovector where all Lisp_Object - slots are set to Qnil and the rest (if any) is zeroed. */ - -#define ALLOCATE_ZEROED_PSEUDOVECTOR(type, field, tag) \ - ((type *) allocate_pseudovector (VECSIZE (type), \ - PSEUDOVECSIZE (type, field), \ - VECSIZE (type), tag)) - -extern bool gc_in_progress; -extern bool abort_on_gc; -extern Lisp_Object make_float (double); -extern void display_malloc_warning (void); -extern ptrdiff_t inhibit_garbage_collection (void); -extern Lisp_Object make_save_int_int_int (ptrdiff_t, ptrdiff_t, ptrdiff_t); -extern Lisp_Object make_save_obj_obj_obj_obj (Lisp_Object, Lisp_Object, - Lisp_Object, Lisp_Object); -extern Lisp_Object make_save_ptr (void *); -extern Lisp_Object make_save_ptr_int (void *, ptrdiff_t); -extern Lisp_Object make_save_ptr_ptr (void *, void *); -extern Lisp_Object make_save_funcptr_ptr_obj (void (*) (void), void *, - Lisp_Object); -extern Lisp_Object make_save_memory (Lisp_Object *, ptrdiff_t); -extern void free_save_value (Lisp_Object); -extern Lisp_Object build_overlay (Lisp_Object, Lisp_Object, Lisp_Object); -extern void free_marker (Lisp_Object); -extern void free_cons (struct Lisp_Cons *); -extern void init_alloc_once (void); -extern void init_alloc (void); -extern void syms_of_alloc (void); -extern struct buffer * allocate_buffer (void); -extern int valid_lisp_object_p (Lisp_Object); -extern int relocatable_string_data_p (const char *); -#ifdef GC_CHECK_CONS_LIST -extern void check_cons_list (void); -#else -INLINE void (check_cons_list) (void) { lisp_h_check_cons_list (); } -#endif - -#ifdef REL_ALLOC -/* Defined in ralloc.c. */ -extern void *r_alloc (void **, size_t) ATTRIBUTE_ALLOC_SIZE ((2)); -extern void r_alloc_free (void **); -extern void *r_re_alloc (void **, size_t) ATTRIBUTE_ALLOC_SIZE ((2)); -extern void r_alloc_reset_variable (void **, void **); -extern void r_alloc_inhibit_buffer_relocation (int); -#endif - -/* Defined in chartab.c. */ -extern Lisp_Object copy_char_table (Lisp_Object); -extern Lisp_Object char_table_ref_and_range (Lisp_Object, int, - int *, int *); -extern void char_table_set_range (Lisp_Object, int, int, Lisp_Object); -extern void map_char_table (void (*) (Lisp_Object, Lisp_Object, - Lisp_Object), - Lisp_Object, Lisp_Object, Lisp_Object); -extern void map_char_table_for_charset (void (*c_function) (Lisp_Object, Lisp_Object), - Lisp_Object, Lisp_Object, - Lisp_Object, struct charset *, - unsigned, unsigned); -extern Lisp_Object uniprop_table (Lisp_Object); -extern void syms_of_chartab (void); - -/* Defined in print.c. */ -extern Lisp_Object Vprin1_to_string_buffer; -extern void debug_print (Lisp_Object) EXTERNALLY_VISIBLE; -extern void temp_output_buffer_setup (const char *); -extern int print_level; -extern void write_string (const char *); -extern void print_error_message (Lisp_Object, Lisp_Object, const char *, - Lisp_Object); -extern Lisp_Object internal_with_output_to_temp_buffer - (const char *, Lisp_Object (*) (Lisp_Object), Lisp_Object); -#define FLOAT_TO_STRING_BUFSIZE 350 -extern int float_to_string (char *, double); -extern void init_print_once (void); -extern void syms_of_print (void); - -/* Defined in doprnt.c. */ -extern ptrdiff_t doprnt (char *, ptrdiff_t, const char *, const char *, - va_list); -extern ptrdiff_t esprintf (char *, char const *, ...) - ATTRIBUTE_FORMAT_PRINTF (2, 3); -extern ptrdiff_t exprintf (char **, ptrdiff_t *, char const *, ptrdiff_t, - char const *, ...) - ATTRIBUTE_FORMAT_PRINTF (5, 6); -extern ptrdiff_t evxprintf (char **, ptrdiff_t *, char const *, ptrdiff_t, - char const *, va_list) - ATTRIBUTE_FORMAT_PRINTF (5, 0); - -/* Defined in lread.c. */ -extern Lisp_Object check_obarray (Lisp_Object); -extern Lisp_Object intern_1 (const char *, ptrdiff_t); -extern Lisp_Object intern_c_string_1 (const char *, ptrdiff_t); -extern Lisp_Object intern_driver (Lisp_Object, Lisp_Object, Lisp_Object); -extern void init_symbol (Lisp_Object, Lisp_Object); -extern Lisp_Object oblookup (Lisp_Object, const char *, ptrdiff_t, ptrdiff_t); -INLINE void -LOADHIST_ATTACH (Lisp_Object x) -{ - if (initialized) - Vcurrent_load_list = Fcons (x, Vcurrent_load_list); -} -extern int openp (Lisp_Object, Lisp_Object, Lisp_Object, - Lisp_Object *, Lisp_Object, bool); -extern Lisp_Object string_to_number (char const *, int, bool); -extern void map_obarray (Lisp_Object, void (*) (Lisp_Object, Lisp_Object), - Lisp_Object); -extern void dir_warning (const char *, Lisp_Object); -extern void init_obarray (void); -extern void init_lread (void); -extern void syms_of_lread (void); - -INLINE Lisp_Object -intern (const char *str) -{ - return intern_1 (str, strlen (str)); -} - -INLINE Lisp_Object -intern_c_string (const char *str) -{ - return intern_c_string_1 (str, strlen (str)); -} - -/* Defined in eval.c. */ -extern EMACS_INT lisp_eval_depth; -extern Lisp_Object Vautoload_queue; -extern Lisp_Object Vrun_hooks; -extern Lisp_Object Vsignaling_function; -extern Lisp_Object inhibit_lisp_code; -extern struct handler *handlerlist; - -/* To run a normal hook, use the appropriate function from the list below. - The calling convention: - - if (!NILP (Vrun_hooks)) - call1 (Vrun_hooks, Qmy_funny_hook); - - should no longer be used. */ -extern void run_hook (Lisp_Object); -extern void run_hook_with_args_2 (Lisp_Object, Lisp_Object, Lisp_Object); -extern Lisp_Object run_hook_with_args (ptrdiff_t nargs, Lisp_Object *args, - Lisp_Object (*funcall) - (ptrdiff_t nargs, Lisp_Object *args)); -extern _Noreturn void xsignal (Lisp_Object, Lisp_Object); -extern _Noreturn void xsignal0 (Lisp_Object); -extern _Noreturn void xsignal1 (Lisp_Object, Lisp_Object); -extern _Noreturn void xsignal2 (Lisp_Object, Lisp_Object, Lisp_Object); -extern _Noreturn void xsignal3 (Lisp_Object, Lisp_Object, Lisp_Object, - Lisp_Object); -extern _Noreturn void signal_error (const char *, Lisp_Object); -extern Lisp_Object eval_sub (Lisp_Object form); -extern Lisp_Object apply1 (Lisp_Object, Lisp_Object); -extern Lisp_Object call0 (Lisp_Object); -extern Lisp_Object call1 (Lisp_Object, Lisp_Object); -extern Lisp_Object call2 (Lisp_Object, Lisp_Object, Lisp_Object); -extern Lisp_Object call3 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); -extern Lisp_Object call4 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); -extern Lisp_Object call5 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); -extern Lisp_Object call6 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); -extern Lisp_Object call7 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); -extern Lisp_Object internal_catch (Lisp_Object, Lisp_Object (*) (Lisp_Object), Lisp_Object); -extern Lisp_Object internal_lisp_condition_case (Lisp_Object, Lisp_Object, Lisp_Object); -extern Lisp_Object internal_condition_case (Lisp_Object (*) (void), Lisp_Object, Lisp_Object (*) (Lisp_Object)); -extern Lisp_Object internal_condition_case_1 (Lisp_Object (*) (Lisp_Object), Lisp_Object, Lisp_Object, Lisp_Object (*) (Lisp_Object)); -extern Lisp_Object internal_condition_case_2 (Lisp_Object (*) (Lisp_Object, Lisp_Object), Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object (*) (Lisp_Object)); -extern Lisp_Object internal_condition_case_n - (Lisp_Object (*) (ptrdiff_t, Lisp_Object *), ptrdiff_t, Lisp_Object *, - Lisp_Object, Lisp_Object (*) (Lisp_Object, ptrdiff_t, Lisp_Object *)); -extern void specbind (Lisp_Object, Lisp_Object); -extern void record_unwind_protect (void (*) (Lisp_Object), Lisp_Object); -extern void record_unwind_protect_ptr (void (*) (void *), void *); -extern void record_unwind_protect_int (void (*) (int), int); -extern void record_unwind_protect_void (void (*) (void)); -extern void record_unwind_protect_nothing (void); -extern void clear_unwind_protect (ptrdiff_t); -extern void set_unwind_protect (ptrdiff_t, void (*) (Lisp_Object), Lisp_Object); -extern void set_unwind_protect_ptr (ptrdiff_t, void (*) (void *), void *); -extern Lisp_Object unbind_to (ptrdiff_t, Lisp_Object); -extern _Noreturn void error (const char *, ...) ATTRIBUTE_FORMAT_PRINTF (1, 2); -extern _Noreturn void verror (const char *, va_list) - ATTRIBUTE_FORMAT_PRINTF (1, 0); -extern void un_autoload (Lisp_Object); -extern Lisp_Object call_debugger (Lisp_Object arg); -extern void init_eval_once (void); -extern Lisp_Object safe_call (ptrdiff_t, Lisp_Object, ...); -extern Lisp_Object safe_call1 (Lisp_Object, Lisp_Object); -extern Lisp_Object safe_call2 (Lisp_Object, Lisp_Object, Lisp_Object); -extern void init_eval (void); -extern void syms_of_eval (void); -extern void unwind_body (Lisp_Object); -extern ptrdiff_t record_in_backtrace (Lisp_Object, Lisp_Object *, ptrdiff_t); -extern void mark_specpdl (void); -extern void get_backtrace (Lisp_Object array); -Lisp_Object backtrace_top_function (void); -extern bool let_shadows_buffer_binding_p (struct Lisp_Symbol *symbol); -extern bool let_shadows_global_binding_p (Lisp_Object symbol); - - -/* Defined in editfns.c. */ -extern void insert1 (Lisp_Object); -extern Lisp_Object format2 (const char *, Lisp_Object, Lisp_Object); -extern Lisp_Object save_excursion_save (void); -extern Lisp_Object save_restriction_save (void); -extern void save_excursion_restore (Lisp_Object); -extern void save_restriction_restore (Lisp_Object); -extern _Noreturn void time_overflow (void); -extern Lisp_Object make_buffer_string (ptrdiff_t, ptrdiff_t, bool); -extern Lisp_Object make_buffer_string_both (ptrdiff_t, ptrdiff_t, ptrdiff_t, - ptrdiff_t, bool); -extern void init_editfns (void); -extern void syms_of_editfns (void); - -/* Defined in buffer.c. */ -extern bool mouse_face_overlay_overlaps (Lisp_Object); -extern _Noreturn void nsberror (Lisp_Object); -extern void adjust_overlays_for_insert (ptrdiff_t, ptrdiff_t); -extern void adjust_overlays_for_delete (ptrdiff_t, ptrdiff_t); -extern void fix_start_end_in_overlays (ptrdiff_t, ptrdiff_t); -extern void report_overlay_modification (Lisp_Object, Lisp_Object, bool, - Lisp_Object, Lisp_Object, Lisp_Object); -extern bool overlay_touches_p (ptrdiff_t); -extern Lisp_Object other_buffer_safely (Lisp_Object); -extern Lisp_Object get_truename_buffer (Lisp_Object); -extern void init_buffer_once (void); -extern void init_buffer (int); -extern void syms_of_buffer (void); -extern void keys_of_buffer (void); - -/* Defined in marker.c. */ - -extern ptrdiff_t marker_position (Lisp_Object); -extern ptrdiff_t marker_byte_position (Lisp_Object); -extern void clear_charpos_cache (struct buffer *); -extern ptrdiff_t buf_charpos_to_bytepos (struct buffer *, ptrdiff_t); -extern ptrdiff_t buf_bytepos_to_charpos (struct buffer *, ptrdiff_t); -extern void unchain_marker (struct Lisp_Marker *marker); -extern Lisp_Object set_marker_restricted (Lisp_Object, Lisp_Object, Lisp_Object); -extern Lisp_Object set_marker_both (Lisp_Object, Lisp_Object, ptrdiff_t, ptrdiff_t); -extern Lisp_Object set_marker_restricted_both (Lisp_Object, Lisp_Object, - ptrdiff_t, ptrdiff_t); -extern Lisp_Object build_marker (struct buffer *, ptrdiff_t, ptrdiff_t); -extern void syms_of_marker (void); - -/* Defined in fileio.c. */ - -extern Lisp_Object expand_and_dir_to_file (Lisp_Object, Lisp_Object); -extern Lisp_Object write_region (Lisp_Object, Lisp_Object, Lisp_Object, - Lisp_Object, Lisp_Object, Lisp_Object, - Lisp_Object, int); -extern void close_file_unwind (int); -extern void fclose_unwind (void *); -extern void restore_point_unwind (Lisp_Object); -extern _Noreturn void report_file_errno (const char *, Lisp_Object, int); -extern _Noreturn void report_file_error (const char *, Lisp_Object); -extern bool internal_delete_file (Lisp_Object); -extern Lisp_Object emacs_readlinkat (int, const char *); -extern bool file_directory_p (const char *); -extern bool file_accessible_directory_p (Lisp_Object); -extern void init_fileio (void); -extern void syms_of_fileio (void); -extern Lisp_Object make_temp_name (Lisp_Object, bool); - -/* Defined in search.c. */ -extern void shrink_regexp_cache (void); -extern void restore_search_regs (void); -extern void record_unwind_save_match_data (void); -struct re_registers; -extern struct re_pattern_buffer *compile_pattern (Lisp_Object, - struct re_registers *, - Lisp_Object, bool, bool); -extern ptrdiff_t fast_string_match_internal (Lisp_Object, Lisp_Object, - Lisp_Object); - -INLINE ptrdiff_t -fast_string_match (Lisp_Object regexp, Lisp_Object string) -{ - return fast_string_match_internal (regexp, string, Qnil); -} - -INLINE ptrdiff_t -fast_string_match_ignore_case (Lisp_Object regexp, Lisp_Object string) -{ - return fast_string_match_internal (regexp, string, Vascii_canon_table); -} - -extern ptrdiff_t fast_c_string_match_ignore_case (Lisp_Object, const char *, - ptrdiff_t); -extern ptrdiff_t fast_looking_at (Lisp_Object, ptrdiff_t, ptrdiff_t, - ptrdiff_t, ptrdiff_t, Lisp_Object); -extern ptrdiff_t find_newline (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, - ptrdiff_t, ptrdiff_t *, ptrdiff_t *, bool); -extern ptrdiff_t scan_newline (ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, - ptrdiff_t, bool); -extern ptrdiff_t scan_newline_from_point (ptrdiff_t, ptrdiff_t *, ptrdiff_t *); -extern ptrdiff_t find_newline_no_quit (ptrdiff_t, ptrdiff_t, - ptrdiff_t, ptrdiff_t *); -extern ptrdiff_t find_before_next_newline (ptrdiff_t, ptrdiff_t, - ptrdiff_t, ptrdiff_t *); -extern void syms_of_search (void); -extern void clear_regexp_cache (void); - -/* Defined in minibuf.c. */ - -extern Lisp_Object Vminibuffer_list; -extern Lisp_Object last_minibuf_string; -extern Lisp_Object get_minibuffer (EMACS_INT); -extern void init_minibuf_once (void); -extern void syms_of_minibuf (void); - -/* Defined in callint.c. */ - -extern void syms_of_callint (void); - -/* Defined in casefiddle.c. */ - -extern void syms_of_casefiddle (void); -extern void keys_of_casefiddle (void); - -/* Defined in casetab.c. */ - -extern void init_casetab_once (void); -extern void syms_of_casetab (void); - -/* Defined in keyboard.c. */ - -extern Lisp_Object echo_message_buffer; -extern struct kboard *echo_kboard; -extern void cancel_echoing (void); -extern Lisp_Object last_undo_boundary; -extern bool input_pending; -#ifdef HAVE_STACK_OVERFLOW_HANDLING -extern sigjmp_buf return_to_command_loop; -#endif -extern Lisp_Object menu_bar_items (Lisp_Object); -extern Lisp_Object tool_bar_items (Lisp_Object, int *); -extern void discard_mouse_events (void); -#ifdef USABLE_SIGIO -void handle_input_available_signal (int); -#endif -extern Lisp_Object pending_funcalls; -extern bool detect_input_pending (void); -extern bool detect_input_pending_ignore_squeezables (void); -extern bool detect_input_pending_run_timers (bool); -extern void safe_run_hooks (Lisp_Object); -extern void cmd_error_internal (Lisp_Object, const char *); -extern Lisp_Object command_loop_1 (void); -extern Lisp_Object read_menu_command (void); -extern Lisp_Object recursive_edit_1 (void); -extern void record_auto_save (void); -extern void force_auto_save_soon (void); -extern void init_keyboard (void); -extern void syms_of_keyboard (void); -extern void keys_of_keyboard (void); - -/* Defined in indent.c. */ -extern ptrdiff_t current_column (void); -extern void invalidate_current_column (void); -extern bool indented_beyond_p (ptrdiff_t, ptrdiff_t, EMACS_INT); -extern void syms_of_indent (void); - -/* Defined in frame.c. */ -extern void store_frame_param (struct frame *, Lisp_Object, Lisp_Object); -extern void store_in_alist (Lisp_Object *, Lisp_Object, Lisp_Object); -extern Lisp_Object do_switch_frame (Lisp_Object, int, int, Lisp_Object); -extern Lisp_Object get_frame_param (struct frame *, Lisp_Object); -extern void frames_discard_buffer (Lisp_Object); -extern void syms_of_frame (void); - -/* Defined in emacs.c. */ -extern char **initial_argv; -extern int initial_argc; -#if defined (HAVE_X_WINDOWS) || defined (HAVE_NS) -extern bool display_arg; -#endif -extern Lisp_Object decode_env_path (const char *, const char *, bool); -extern Lisp_Object empty_unibyte_string, empty_multibyte_string; -extern _Noreturn void terminate_due_to_signal (int, int); -#ifdef WINDOWSNT -extern Lisp_Object Vlibrary_cache; -#endif -#if HAVE_SETLOCALE -void fixup_locale (void); -void synchronize_system_messages_locale (void); -void synchronize_system_time_locale (void); -#else -INLINE void fixup_locale (void) {} -INLINE void synchronize_system_messages_locale (void) {} -INLINE void synchronize_system_time_locale (void) {} -#endif -extern void shut_down_emacs (int, Lisp_Object); - -/* True means don't do interactive redisplay and don't change tty modes. */ -extern bool noninteractive; - -/* True means remove site-lisp directories from load-path. */ -extern bool no_site_lisp; - -/* Pipe used to send exit notification to the daemon parent at - startup. On Windows, we use a kernel event instead. */ -#ifndef WINDOWSNT -extern int daemon_pipe[2]; -#define IS_DAEMON (daemon_pipe[1] != 0) -#define DAEMON_RUNNING (daemon_pipe[1] >= 0) -#else /* WINDOWSNT */ -extern void *w32_daemon_event; -#define IS_DAEMON (w32_daemon_event != NULL) -#define DAEMON_RUNNING (w32_daemon_event != INVALID_HANDLE_VALUE) -#endif - -/* True if handling a fatal error already. */ -extern bool fatal_error_in_progress; - -/* True means don't do use window-system-specific display code. */ -extern bool inhibit_window_system; -/* True means that a filter or a sentinel is running. */ -extern bool running_asynch_code; - -/* Defined in process.c. */ -extern void kill_buffer_processes (Lisp_Object); -extern int wait_reading_process_output (intmax_t, int, int, bool, Lisp_Object, - struct Lisp_Process *, int); -/* Max value for the first argument of wait_reading_process_output. */ -#if __GNUC__ == 3 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 5) -/* Work around a bug in GCC 3.4.2, known to be fixed in GCC 4.6.3. - The bug merely causes a bogus warning, but the warning is annoying. */ -# define WAIT_READING_MAX min (TYPE_MAXIMUM (time_t), INTMAX_MAX) -#else -# define WAIT_READING_MAX INTMAX_MAX -#endif -#ifdef HAVE_TIMERFD -extern void add_timer_wait_descriptor (int); -#endif -extern void add_keyboard_wait_descriptor (int); -extern void delete_keyboard_wait_descriptor (int); -#ifdef HAVE_GPM -extern void add_gpm_wait_descriptor (int); -extern void delete_gpm_wait_descriptor (int); -#endif -extern void init_process_emacs (void); -extern void syms_of_process (void); -extern void setup_process_coding_systems (Lisp_Object); - -/* Defined in callproc.c. */ -#ifndef DOS_NT - _Noreturn -#endif -extern int child_setup (int, int, int, char **, bool, Lisp_Object); -extern void init_callproc_1 (void); -extern void init_callproc (void); -extern void set_initial_environment (void); -extern void syms_of_callproc (void); - -/* Defined in doc.c. */ -extern Lisp_Object read_doc_string (Lisp_Object); -extern Lisp_Object get_doc_string (Lisp_Object, bool, bool); -extern void syms_of_doc (void); -extern int read_bytecode_char (bool); - -/* Defined in bytecode.c. */ -extern void syms_of_bytecode (void); -extern struct byte_stack *byte_stack_list; -#if BYTE_MARK_STACK -extern void mark_byte_stack (void); -#endif -extern void unmark_byte_stack (void); -extern Lisp_Object exec_byte_code (Lisp_Object, Lisp_Object, Lisp_Object, - Lisp_Object, ptrdiff_t, Lisp_Object *); - -/* Defined in macros.c. */ -extern void init_macros (void); -extern void syms_of_macros (void); - -/* Defined in undo.c. */ -extern void truncate_undo_list (struct buffer *); -extern void record_insert (ptrdiff_t, ptrdiff_t); -extern void record_delete (ptrdiff_t, Lisp_Object, bool); -extern void record_first_change (void); -extern void record_change (ptrdiff_t, ptrdiff_t); -extern void record_property_change (ptrdiff_t, ptrdiff_t, - Lisp_Object, Lisp_Object, - Lisp_Object); -extern void syms_of_undo (void); - -/* Defined in textprop.c. */ -extern void report_interval_modification (Lisp_Object, Lisp_Object); - -/* Defined in menu.c. */ -extern void syms_of_menu (void); - -/* Defined in xmenu.c. */ -extern void syms_of_xmenu (void); - -/* Defined in termchar.h. */ -struct tty_display_info; - -/* Defined in termhooks.h. */ -struct terminal; - -/* Defined in sysdep.c. */ -#ifndef HAVE_GET_CURRENT_DIR_NAME -extern char *get_current_dir_name (void); -#endif -extern void stuff_char (char c); -extern void init_foreground_group (void); -extern void sys_subshell (void); -extern void sys_suspend (void); -extern void discard_tty_input (void); -extern void init_sys_modes (struct tty_display_info *); -extern void reset_sys_modes (struct tty_display_info *); -extern void init_all_sys_modes (void); -extern void reset_all_sys_modes (void); -extern void child_setup_tty (int); -extern void setup_pty (int); -extern int set_window_size (int, int, int); -extern EMACS_INT get_random (void); -extern void seed_random (void *, ptrdiff_t); -extern void init_random (void); -extern void emacs_backtrace (int); -extern _Noreturn void emacs_abort (void) NO_INLINE; -extern int emacs_open (const char *, int, int); -extern int emacs_pipe (int[2]); -extern int emacs_close (int); -extern ptrdiff_t emacs_read (int, void *, ptrdiff_t); -extern ptrdiff_t emacs_write (int, void const *, ptrdiff_t); -extern ptrdiff_t emacs_write_sig (int, void const *, ptrdiff_t); -extern void emacs_perror (char const *); - -extern void unlock_all_files (void); -extern void lock_file (Lisp_Object); -extern void unlock_file (Lisp_Object); -extern void unlock_buffer (struct buffer *); -extern void syms_of_filelock (void); -extern int str_collate (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); - -/* Defined in sound.c. */ -extern void syms_of_sound (void); - -/* Defined in category.c. */ -extern void init_category_once (void); -extern Lisp_Object char_category_set (int); -extern void syms_of_category (void); - -/* Defined in ccl.c. */ -extern void syms_of_ccl (void); - -/* Defined in dired.c. */ -extern void syms_of_dired (void); -extern Lisp_Object directory_files_internal (Lisp_Object, Lisp_Object, - Lisp_Object, Lisp_Object, - bool, Lisp_Object); - -/* Defined in term.c. */ -extern int *char_ins_del_vector; -extern void syms_of_term (void); -extern _Noreturn void fatal (const char *msgid, ...) - ATTRIBUTE_FORMAT_PRINTF (1, 2); - -/* Defined in terminal.c. */ -extern void syms_of_terminal (void); - -/* Defined in font.c. */ -extern void syms_of_font (void); -extern void init_font (void); - -#ifdef HAVE_WINDOW_SYSTEM -/* Defined in fontset.c. */ -extern void syms_of_fontset (void); -#endif - -/* Defined in gfilenotify.c */ -#ifdef HAVE_GFILENOTIFY -extern void globals_of_gfilenotify (void); -extern void syms_of_gfilenotify (void); -#endif - -/* Defined in inotify.c */ -#ifdef HAVE_INOTIFY -extern void syms_of_inotify (void); -#endif - -#ifdef HAVE_W32NOTIFY -/* Defined on w32notify.c. */ -extern void syms_of_w32notify (void); -#endif - -/* Defined in xfaces.c. */ -extern Lisp_Object Vface_alternative_font_family_alist; -extern Lisp_Object Vface_alternative_font_registry_alist; -extern void syms_of_xfaces (void); - -#ifdef HAVE_X_WINDOWS -/* Defined in xfns.c. */ -extern void syms_of_xfns (void); - -/* Defined in xsmfns.c. */ -extern void syms_of_xsmfns (void); - -/* Defined in xselect.c. */ -extern void syms_of_xselect (void); - -/* Defined in xterm.c. */ -extern void init_xterm (void); -extern void syms_of_xterm (void); -#endif /* HAVE_X_WINDOWS */ - -#ifdef HAVE_WINDOW_SYSTEM -/* Defined in xterm.c, nsterm.m, w32term.c. */ -extern char *x_get_keysym_name (int); -#endif /* HAVE_WINDOW_SYSTEM */ - -#ifdef HAVE_LIBXML2 -/* Defined in xml.c. */ -extern void syms_of_xml (void); -extern void xml_cleanup_parser (void); -#endif - -#ifdef HAVE_ZLIB -/* Defined in decompress.c. */ -extern void syms_of_decompress (void); -#endif - -#ifdef HAVE_DBUS -/* Defined in dbusbind.c. */ -void init_dbusbind (void); -void syms_of_dbusbind (void); -#endif - - -/* Defined in profiler.c. */ -extern bool profiler_memory_running; -extern void malloc_probe (size_t); -extern void syms_of_profiler (void); - - -#ifdef DOS_NT -/* Defined in msdos.c, w32.c. */ -extern char *emacs_root_dir (void); -#endif /* DOS_NT */ - -/* Defined in lastfile.c. */ -extern char my_edata[]; -extern char my_endbss[]; -extern char *my_endbss_static; - -/* True means ^G can quit instantly. */ -extern bool immediate_quit; - -extern void *xmalloc (size_t) ATTRIBUTE_MALLOC_SIZE ((1)); -extern void *xzalloc (size_t) ATTRIBUTE_MALLOC_SIZE ((1)); -extern void *xrealloc (void *, size_t) ATTRIBUTE_ALLOC_SIZE ((2)); -extern void xfree (void *); -extern void *xnmalloc (ptrdiff_t, ptrdiff_t) ATTRIBUTE_MALLOC_SIZE ((1,2)); -extern void *xnrealloc (void *, ptrdiff_t, ptrdiff_t) - ATTRIBUTE_ALLOC_SIZE ((2,3)); -extern void *xpalloc (void *, ptrdiff_t *, ptrdiff_t, ptrdiff_t, ptrdiff_t); - -extern char *xstrdup (const char *) ATTRIBUTE_MALLOC; -extern char *xlispstrdup (Lisp_Object) ATTRIBUTE_MALLOC; -extern void dupstring (char **, char const *); - -/* Make DEST a copy of STRING's data. Return a pointer to DEST's terminating - null byte. This is like stpcpy, except the source is a Lisp string. */ - -INLINE char * -lispstpcpy (char *dest, Lisp_Object string) -{ - ptrdiff_t len = SBYTES (string); - memcpy (dest, SDATA (string), len + 1); - return dest + len; -} - -extern void xputenv (const char *); - -extern char *egetenv_internal (const char *, ptrdiff_t); - -INLINE char * -egetenv (const char *var) -{ - /* When VAR is a string literal, strlen can be optimized away. */ - return egetenv_internal (var, strlen (var)); -} - -/* Set up the name of the machine we're running on. */ -extern void init_system_name (void); - -/* Return the absolute value of X. X should be a signed integer - expression without side effects, and X's absolute value should not - exceed the maximum for its promoted type. This is called 'eabs' - because 'abs' is reserved by the C standard. */ -#define eabs(x) ((x) < 0 ? -(x) : (x)) - -/* Return a fixnum or float, depending on whether VAL fits in a Lisp - fixnum. */ - -#define make_fixnum_or_float(val) \ - (FIXNUM_OVERFLOW_P (val) ? make_float (val) : make_number (val)) - -/* SAFE_ALLOCA normally allocates memory on the stack, but if size is - larger than MAX_ALLOCA, use xmalloc to avoid overflowing the stack. */ - -enum MAX_ALLOCA { MAX_ALLOCA = 16 * 1024 }; - -extern void *record_xmalloc (size_t) ATTRIBUTE_ALLOC_SIZE ((1)); - -#define USE_SAFE_ALLOCA \ - ptrdiff_t sa_avail = MAX_ALLOCA; \ - ptrdiff_t sa_count = SPECPDL_INDEX (); bool sa_must_free = false - -#define AVAIL_ALLOCA(size) (sa_avail -= (size), alloca (size)) - -/* SAFE_ALLOCA allocates a simple buffer. */ - -#define SAFE_ALLOCA(size) ((size) <= sa_avail \ - ? AVAIL_ALLOCA (size) \ - : (sa_must_free = true, record_xmalloc (size))) - -/* SAFE_NALLOCA sets BUF to a newly allocated array of MULTIPLIER * - NITEMS items, each of the same type as *BUF. MULTIPLIER must - positive. The code is tuned for MULTIPLIER being a constant. */ - -#define SAFE_NALLOCA(buf, multiplier, nitems) \ - do { \ - if ((nitems) <= sa_avail / sizeof *(buf) / (multiplier)) \ - (buf) = AVAIL_ALLOCA (sizeof *(buf) * (multiplier) * (nitems)); \ - else \ - { \ - (buf) = xnmalloc (nitems, sizeof *(buf) * (multiplier)); \ - sa_must_free = true; \ - record_unwind_protect_ptr (xfree, buf); \ - } \ - } while (false) - -/* SAFE_ALLOCA_STRING allocates a C copy of a Lisp string. */ - -#define SAFE_ALLOCA_STRING(ptr, string) \ - do { \ - (ptr) = SAFE_ALLOCA (SBYTES (string) + 1); \ - memcpy (ptr, SDATA (string), SBYTES (string) + 1); \ - } while (false) - -/* SAFE_FREE frees xmalloced memory and enables GC as needed. */ - -#define SAFE_FREE() \ - do { \ - if (sa_must_free) { \ - sa_must_free = false; \ - unbind_to (sa_count, Qnil); \ - } \ - } while (false) - - -/* Return floor (NBYTES / WORD_SIZE). */ - -INLINE ptrdiff_t -lisp_word_count (ptrdiff_t nbytes) -{ - if (-1 >> 1 == -1) - switch (word_size) - { - case 2: return nbytes >> 1; - case 4: return nbytes >> 2; - case 8: return nbytes >> 3; - case 16: return nbytes >> 4; - } - return nbytes / word_size - (nbytes % word_size < 0); -} - -/* SAFE_ALLOCA_LISP allocates an array of Lisp_Objects. */ - -#define SAFE_ALLOCA_LISP(buf, nelt) \ - do { \ - if ((nelt) <= lisp_word_count (sa_avail)) \ - (buf) = AVAIL_ALLOCA ((nelt) * word_size); \ - else if ((nelt) <= min (PTRDIFF_MAX, SIZE_MAX) / word_size) \ - { \ - Lisp_Object arg_; \ - (buf) = xmalloc ((nelt) * word_size); \ - arg_ = make_save_memory (buf, nelt); \ - sa_must_free = true; \ - record_unwind_protect (free_save_value, arg_); \ - } \ - else \ - memory_full (SIZE_MAX); \ - } while (false) - - -/* If USE_STACK_LISP_OBJECTS, define macros that and functions that allocate - block-scoped conses and strings. These objects are not - managed by the garbage collector, so they are dangerous: passing them - out of their scope (e.g., to user code) results in undefined behavior. - Conversely, they have better performance because GC is not involved. - - This feature is experimental and requires careful debugging. - Build with CPPFLAGS='-DUSE_STACK_LISP_OBJECTS=0' to disable it. */ - -#ifndef USE_STACK_LISP_OBJECTS -# define USE_STACK_LISP_OBJECTS true -#endif - -/* USE_STACK_LISP_OBJECTS requires GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS. */ - -#if GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS -# undef USE_STACK_LISP_OBJECTS -# define USE_STACK_LISP_OBJECTS false -#endif - -#ifdef GC_CHECK_STRING_BYTES -enum { defined_GC_CHECK_STRING_BYTES = true }; -#else -enum { defined_GC_CHECK_STRING_BYTES = false }; -#endif - -/* Struct inside unions that are typically no larger and aligned enough. */ - -union Aligned_Cons -{ - struct Lisp_Cons s; - double d; intmax_t i; void *p; -}; - -union Aligned_String -{ - struct Lisp_String s; - double d; intmax_t i; void *p; -}; - -/* True for stack-based cons and string implementations, respectively. - Use stack-based strings only if stack-based cons also works. - Otherwise, STACK_CONS would create heap-based cons cells that - could point to stack-based strings, which is a no-no. */ - -enum - { - USE_STACK_CONS = (USE_STACK_LISP_OBJECTS - && alignof (union Aligned_Cons) % GCALIGNMENT == 0), - USE_STACK_STRING = (USE_STACK_CONS - && !defined_GC_CHECK_STRING_BYTES - && alignof (union Aligned_String) % GCALIGNMENT == 0) - }; - -/* Auxiliary macros used for auto allocation of Lisp objects. Please - use these only in macros like AUTO_CONS that declare a local - variable whose lifetime will be clear to the programmer. */ -#define STACK_CONS(a, b) \ - make_lisp_ptr (&(union Aligned_Cons) { { a, { b } } }.s, Lisp_Cons) -#define AUTO_CONS_EXPR(a, b) \ - (USE_STACK_CONS ? STACK_CONS (a, b) : Fcons (a, b)) - -/* Declare NAME as an auto Lisp cons or short list if possible, a - GC-based one otherwise. This is in the sense of the C keyword - 'auto'; i.e., the object has the lifetime of the containing block. - The resulting object should not be made visible to user Lisp code. */ - -#define AUTO_CONS(name, a, b) Lisp_Object name = AUTO_CONS_EXPR (a, b) -#define AUTO_LIST1(name, a) \ - Lisp_Object name = (USE_STACK_CONS ? STACK_CONS (a, Qnil) : list1 (a)) -#define AUTO_LIST2(name, a, b) \ - Lisp_Object name = (USE_STACK_CONS \ - ? STACK_CONS (a, STACK_CONS (b, Qnil)) \ - : list2 (a, b)) -#define AUTO_LIST3(name, a, b, c) \ - Lisp_Object name = (USE_STACK_CONS \ - ? STACK_CONS (a, STACK_CONS (b, STACK_CONS (c, Qnil))) \ - : list3 (a, b, c)) -#define AUTO_LIST4(name, a, b, c, d) \ - Lisp_Object name \ - = (USE_STACK_CONS \ - ? STACK_CONS (a, STACK_CONS (b, STACK_CONS (c, \ - STACK_CONS (d, Qnil)))) \ - : list4 (a, b, c, d)) - -/* Check whether stack-allocated strings are ASCII-only. */ - -#if defined (ENABLE_CHECKING) && USE_STACK_LISP_OBJECTS -extern const char *verify_ascii (const char *); -#else -# define verify_ascii(str) (str) -#endif - -/* Declare NAME as an auto Lisp string if possible, a GC-based one if not. - Take its value from STR. STR is not necessarily copied and should - contain only ASCII characters. The resulting Lisp string should - not be modified or made visible to user code. */ - -#define AUTO_STRING(name, str) \ - Lisp_Object name = \ - (USE_STACK_STRING \ - ? (make_lisp_ptr \ - ((&(union Aligned_String) \ - {{strlen (str), -1, 0, (unsigned char *) verify_ascii (str)}}.s), \ - Lisp_String)) \ - : build_string (verify_ascii (str))) - -/* Loop over all tails of a list, checking for cycles. - FIXME: Make tortoise and n internal declarations. - FIXME: Unroll the loop body so we don't need `n'. */ -#define FOR_EACH_TAIL(hare, list, tortoise, n) \ - for ((tortoise) = (hare) = (list), (n) = true; \ - CONSP (hare); \ - (hare = XCDR (hare), (n) = !(n), \ - ((n) \ - ? (EQ (hare, tortoise) \ - ? xsignal1 (Qcircular_list, list) \ - : (void) 0) \ - /* Move tortoise before the next iteration, in case */ \ - /* the next iteration does an Fsetcdr. */ \ - : (void) ((tortoise) = XCDR (tortoise))))) - -/* Do a `for' loop over alist values. */ - -#define FOR_EACH_ALIST_VALUE(head_var, list_var, value_var) \ - for ((list_var) = (head_var); \ - (CONSP (list_var) && ((value_var) = XCDR (XCAR (list_var)), true)); \ - (list_var) = XCDR (list_var)) - -/* Check whether it's time for GC, and run it if so. */ - -INLINE void -maybe_gc (void) -{ - if ((consing_since_gc > gc_cons_threshold - && consing_since_gc > gc_relative_threshold) - || (!NILP (Vmemory_full) - && consing_since_gc > memory_full_cons_threshold)) - Fgarbage_collect (); -} - -INLINE bool -functionp (Lisp_Object object) -{ - if (SYMBOLP (object) && !NILP (Ffboundp (object))) - { - object = Findirect_function (object, Qt); - - if (CONSP (object) && EQ (XCAR (object), Qautoload)) - { - /* Autoloaded symbols are functions, except if they load - macros or keymaps. */ - int i; - for (i = 0; i < 4 && CONSP (object); i++) - object = XCDR (object); - - return ! (CONSP (object) && !NILP (XCAR (object))); - } - } - - if (SUBRP (object)) - return XSUBR (object)->max_args != UNEVALLED; - else if (COMPILEDP (object)) - return true; - else if (CONSP (object)) - { - Lisp_Object car = XCAR (object); - return EQ (car, Qlambda) || EQ (car, Qclosure); - } - else - return false; -} - -INLINE_HEADER_END - -#endif /* EMACS_LISP_H */ diff --git a/test/manual/etags/c-src/emacs/src/regex.h b/test/manual/etags/c-src/emacs/src/regex.h deleted file mode 100644 index 75a9b5893be..00000000000 --- a/test/manual/etags/c-src/emacs/src/regex.h +++ /dev/null @@ -1,630 +0,0 @@ -/* Definitions for data structures and routines for the regular - expression library, version 0.12. - - Copyright (C) 1985, 1989-1993, 1995, 2000-2024 Free Software - Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -#ifndef _REGEX_H -#define _REGEX_H 1 - -/* Allow the use in C++ code. */ -#ifdef __cplusplus -extern "C" { -#endif - -/* POSIX says that must be included (by the caller) before - . */ - -#if !defined _POSIX_C_SOURCE && !defined _POSIX_SOURCE && defined VMS -/* VMS doesn't have `size_t' in , even though POSIX says it - should be there. */ -# include -#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 \ matches . - If not set, then \ 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; - - -/* 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]]] */ - -/* 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; - -/* 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; - -/* 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; - -/* 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: must be included before . */ -# include -# include -#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 */ - diff --git a/test/manual/etags/c-src/etags.c b/test/manual/etags/c-src/etags.c deleted file mode 100644 index a5b464ae520..00000000000 --- a/test/manual/etags/c-src/etags.c +++ /dev/null @@ -1,6563 +0,0 @@ -/* Tags file maker to go with GNU Emacs -*- coding: utf-8 -*- - -Copyright (C) 1984 The Regents of the University of California - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the - distribution. -3. Neither the name of the University nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -Copyright (C) 1984, 1987-1989, 1993-1995, 1998-2024 Free Software -Foundation, Inc. - -This file is not considered part of GNU Emacs. - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or (at -your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . */ - - -/* 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ì 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 - -#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 -#else -# define MSDOS false -#endif /* MSDOS */ - -#ifdef WINDOWSNT -# include -# define MAXPATHLEN _MAX_PATH -# undef HAVE_NTGUI -# undef DOS_NT -# define DOS_NT -#endif /* WINDOWSNT */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#ifdef NDEBUG -# undef assert /* some systems have a buggy assert.h */ -# define assert(x) ((void) 0) -#endif - -#include -#include - -/* 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); - - -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 bidule/b ' will go directly to the\n\ -body of the package `bidule', while `M-x find-tag bidule '\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 */ -}; - - -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); -} - - -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 . */ - 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 (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; -} - - -/* - * 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 (); -} - - -/* - * 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 (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. */ - 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); - } -} - - -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); -} - - -/* 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; -} - - -/* - * 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 = ""; - -/* - * 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 (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 (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); - } -} - - -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; -} - - -/* - * 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); -} - - -/* 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); -} - - -/* 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; - } - } -} - - -/* - * 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 */ -} - - -/* - * 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); - } - } -} - - -/* - * 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 (1995) - * Additions by Michael Ernst (1997) - * Ideas by Kai Großjohann (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 (1997) - * More ideas by seb bacon (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); - } - } -} - - -/* - * 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); - } - } -} - - -/* - * 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); - } -} - - -/* - * Makefile support - * Ideas by Assar Westerlund (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); - } - } -} - - -/* - * 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); -} - - -/* - * 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 (); - } - } - } - } -} - - -/* - * Lua script language parsing - * Original code by David A. Capello (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); - } -} - - -/* - * PostScript tags - * Just look for lines where the first character is '/' - * Also look at "defineps" for PSWrap - * Ideas by: - * Richard Mlynarik (1997) - * Masatake Yamato (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); - } -} - - -/* - * 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 (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); -} - - -/* - * 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); - } -} - - -/* 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; - } - } -} - - -/* 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); - } -} - - -/* - * HTML support. - * Contents of , <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; - } - } -} - - -/* - * 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; -} - - -/* - * 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; -} - - -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; - } - } - } -} - - -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; - } - } - } -} - - -/* - * 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; -} - - -/* 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'; -} - - -/* Initialize a linebuffer for use. */ -static void -linebuffer_init (linebuffer *lbp) -{ - lbp->size = (DEBUG) ? 3 : 200; - lbp->buffer = xnew (lbp->size, char); - lbp->buffer[0] = '\0'; - lbp->len = 0; -} - -/* Set the minimum size of a string contained in a linebuffer. */ -static void -linebuffer_setlen (linebuffer *lbp, int toksize) -{ - while (lbp->size <= toksize) - { - lbp->size *= 2; - xrnew (lbp->buffer, lbp->size, char); - } - lbp->len = toksize; -} - -/* Like malloc but get fatal error if memory is exhausted. */ -static void * -xmalloc (size_t size) -{ - void *result = malloc (size); - if (result == NULL) - fatal ("virtual memory exhausted", (char *)NULL); - return result; -} - -static void * -xrealloc (void *ptr, size_t size) -{ - void *result = realloc (ptr, size); - if (result == NULL) - fatal ("virtual memory exhausted", (char *)NULL); - return result; -} - -/* - * Local Variables: - * indent-tabs-mode: t - * tab-width: 8 - * fill-column: 79 - * c-font-lock-extra-types: ("FILE" "bool" "language" "linebuffer" "fdesc" "node" "regexp") - * c-file-style: "gnu" - * End: - */ - -/* etags.c ends here */ diff --git a/test/manual/etags/c-src/exit.c b/test/manual/etags/c-src/exit.c deleted file mode 100644 index bd21f5dcd9b..00000000000 --- a/test/manual/etags/c-src/exit.c +++ /dev/null @@ -1,77 +0,0 @@ -/* Copyright (C) 1991, 2016-2024 Free Software Foundation, Inc. -This file is part of the GNU C Library. - -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - -#include <ansidecl.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include "exit.h" - -#ifdef HAVE_GNU_LD -CONST struct - { - size_t n; - void EXFUN((*fn[1]), (NOARGS)); - } __libc_atexit; -#endif - -/* Call all functions registered with `atexit' and `on_exit', - in the reverse of the order in which they were registered - perform stdio cleanup, and terminate program execution with STATUS. */ -__NORETURN -void -DEFUN(exit, (status), int status) -{ - register CONST struct exit_function_list *l; - - for (l = __exit_funcs; l != NULL; l = l->next) - { - register size_t i = l->idx; - while (i-- > 0) - { - CONST struct exit_function *CONST f = &l->fns[i]; - switch (f->flavor) - { - case ef_free: - break; - case ef_on: - (*f->func.on.fn)(status, f->func.on.arg); - break; - case ef_at: - (*f->func.at)(); - break; - } - } - } - -#ifdef HAVE_GNU_LD - { - void EXFUN((*CONST *fn), (NOARGS)); - for (fn = __libc_atexit.fn; *fn != NULL; ++fn) - (**fn) (); - } -#else - { - extern void EXFUN(_cleanup, (NOARGS)); - _cleanup(); - } -#endif - - _exit(status); -} - diff --git a/test/manual/etags/c-src/exit.strange_suffix b/test/manual/etags/c-src/exit.strange_suffix deleted file mode 100644 index bd21f5dcd9b..00000000000 --- a/test/manual/etags/c-src/exit.strange_suffix +++ /dev/null @@ -1,77 +0,0 @@ -/* Copyright (C) 1991, 2016-2024 Free Software Foundation, Inc. -This file is part of the GNU C Library. - -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - -#include <ansidecl.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include "exit.h" - -#ifdef HAVE_GNU_LD -CONST struct - { - size_t n; - void EXFUN((*fn[1]), (NOARGS)); - } __libc_atexit; -#endif - -/* Call all functions registered with `atexit' and `on_exit', - in the reverse of the order in which they were registered - perform stdio cleanup, and terminate program execution with STATUS. */ -__NORETURN -void -DEFUN(exit, (status), int status) -{ - register CONST struct exit_function_list *l; - - for (l = __exit_funcs; l != NULL; l = l->next) - { - register size_t i = l->idx; - while (i-- > 0) - { - CONST struct exit_function *CONST f = &l->fns[i]; - switch (f->flavor) - { - case ef_free: - break; - case ef_on: - (*f->func.on.fn)(status, f->func.on.arg); - break; - case ef_at: - (*f->func.at)(); - break; - } - } - } - -#ifdef HAVE_GNU_LD - { - void EXFUN((*CONST *fn), (NOARGS)); - for (fn = __libc_atexit.fn; *fn != NULL; ++fn) - (**fn) (); - } -#else - { - extern void EXFUN(_cleanup, (NOARGS)); - _cleanup(); - } -#endif - - _exit(status); -} - diff --git a/test/manual/etags/c-src/fail.c b/test/manual/etags/c-src/fail.c deleted file mode 100644 index 32482781b11..00000000000 --- a/test/manual/etags/c-src/fail.c +++ /dev/null @@ -1 +0,0 @@ -void (*prt_call())(); diff --git a/test/manual/etags/c-src/getopt.h b/test/manual/etags/c-src/getopt.h deleted file mode 100644 index 069d7b9bc3b..00000000000 --- a/test/manual/etags/c-src/getopt.h +++ /dev/null @@ -1,125 +0,0 @@ -/* Declarations for getopt. - Copyright (C) 1989-1992, 2016-2024 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2, or (at your option) any - later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#ifndef _GETOPT_H -#define _GETOPT_H 1 - -#ifdef __cplusplus -extern "C" { -#endif - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -extern char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns EOF, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -extern int optind; - -/* Callers store zero here to inhibit the error message `getopt' prints - for unrecognized options. */ - -extern int opterr; - -/* Describe the long-named options requested by the application. - The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector - of `struct option' terminated by an element containing a name which is - zero. - - The field `has_arg' is: - no_argument (or 0) if the option does not take an argument, - required_argument (or 1) if the option requires an argument, - optional_argument (or 2) if the option takes an optional argument. - - If the field `flag' is not NULL, it points to a variable that is set - to the value given in the field `val' when the option is found, but - left unchanged if the option is not found. - - To have a long-named option do something other than set an `int' to - a compiled-in constant, such as set a value from `optarg', set the - option's `flag' field to zero and its `val' field to a nonzero - value (the equivalent single-letter option character, if there is - one). For long options that have a zero `flag' field, `getopt' - returns the contents of the `val' field. */ - -struct option -{ -#if __STDC__ - const char *name; -#else - char *name; -#endif - /* has_arg can't be an enum because some compilers complain about - type mismatches in all the code that assumes it is an int. */ - int has_arg; - int *flag; - int val; -}; - -/* Names for the values of the `has_arg' field of `struct option'. */ - -#define no_argument 0 -#define required_argument 1 -#define optional_argument 2 - -#if __STDC__ -#if defined(__GNU_LIBRARY__) -/* Many other libraries have conflicting prototypes for getopt, with - differences in the consts, in stdlib.h. To avoid compilation - errors, only prototype getopt for the GNU C library. */ -extern int getopt (int argc, char *const *argv, const char *shortopts); -#else /* not __GNU_LIBRARY__ */ -extern int getopt (); -#endif /* not __GNU_LIBRARY__ */ -extern int getopt_long (int argc, char *const *argv, const char *shortopts, - const struct option *longopts, int *longind); -extern int getopt_long_only (int argc, char *const *argv, - const char *shortopts, - const struct option *longopts, int *longind); - -/* Internal only. Users should not call this directly. */ -extern int _getopt_internal (int argc, char *const *argv, - const char *shortopts, - const struct option *longopts, int *longind, - int long_only); -#else /* not __STDC__ */ -extern int getopt (); -extern int getopt_long (); -extern int getopt_long_only (); - -extern int _getopt_internal (); -#endif /* not __STDC__ */ - -#ifdef __cplusplus -} -#endif - -#endif /* _GETOPT_H */ diff --git a/test/manual/etags/c-src/h.h b/test/manual/etags/c-src/h.h deleted file mode 100644 index f86c00d64ad..00000000000 --- a/test/manual/etags/c-src/h.h +++ /dev/null @@ -1,119 +0,0 @@ -typedef enum -{ - ELEM_I/**< Comment Element i - Second comment line. */ -} Fails_t; -typedef void Lang_function (); -void Asm_labels (); -typedef struct tpcmd -{ -#define ggg hhh - union - { - } arg; -} -tpcmd; -typedef struct foobar2_ { - fu int (*funcptr) (void *ptr); - long foo; - char bar; -} foobar2; -typedef enum -{ - DEVICE_SWP, - DEVICE_LAST -} bsp_DevId; -typedef union { - struct constant_args { - unsigned int burst; - } constant; -} args; -typedef int *regset; -typedef int INT; -typedef union abc -{ - int def; -} ghi1; -typedef union abc { - int def; -} ghi2; -typedef struct a { -} b; -#define c() d -typedef struct an_extern_linkage *an_extern_linkage_ptr; -typedef struct an_extern_linkage { - a_name_linkage_kind - kind; - /* The kind of external linkage ("C++" or "C"). */ - a_byte_boolean - is_explicit; - /* TRUE if the external linkage requirement is - explicitly specified in the source; FALSE for the - default set for the translation unit as a whole. */ -#ifdef CL_CHANGES - a_byte_boolean is_curly_brace_form; -#endif -} an_extern_linkage; -typedef struct pollfd pfdset[FD_SETSIZE]; -typedef union rtunion_def - { - int rtint; - char *rtstr; - struct rtx_def *rtx; - } womboid ; -typedef union rtunion_def - -{ - - int rtint; - char *rtstr; - struct rtx_def *rtxp; - struct rtx_def rtxnp; - -} - -womboid - -; - - -/* Leave the next two lines in that order. They exercise an old bug. */ -enum {dog, cat} animals; -typedef void (_CALLBACK_ *signal_handler)(int); -typedef void (_CALLBACK_ *signal_handler1)(int); -/* comment */ #define ANSIC - #define ANSIC - #else -typedef void (proc) (); -typedef void OperatorFun(int opId); -typedef int f(int a, - int b); -struct my_struct { -}; -typedef struct my_struct my_typedef; -typedef RETSIGTYPE (*signal_handler_t) (int); -#if 0 - Date 04 May 87 235311 PDT (Mon) - Date: 04 May 87 23:53:11 PDT (Mon) -#endif -typedef unsigned char unchar; -typedef int X, Y, Z; -typedef mio mao; -extern void ab(); -typedef struct a { } b; -typedef struct b -{ -} c; -int (*oldhup)(); -request (*oldhup) (); -int extvar; -#define tag1 -#define aaaaaa \ -bbbbbb -#define bbbbbb\ -cccccc -#define cccccccccc -#define enter_critical_section do { int pri = spl7(); -#define exit_critical_to_previous splarg (pri); } while (0) -#define UNDEFINED -struct re_pattern_buffer { unsigned char *buffer; }; diff --git a/test/manual/etags/c-src/machsyscalls.c b/test/manual/etags/c-src/machsyscalls.c deleted file mode 100644 index 44930c33cf3..00000000000 --- a/test/manual/etags/c-src/machsyscalls.c +++ /dev/null @@ -1,10 +0,0 @@ -/* Aliases for basic Mach system calls: - mach_task_self -> __mach_task_self, etc. */ - -#include <gnu-stabs.h> - -#define SYSCALL(name, number, type, args, typed_args) \ - function_alias (name, __##name, type, args, \ - name typed_args) - -#include "mach_syscalls.h" diff --git a/test/manual/etags/c-src/machsyscalls.h b/test/manual/etags/c-src/machsyscalls.h deleted file mode 100644 index 8b33dc4e7e5..00000000000 --- a/test/manual/etags/c-src/machsyscalls.h +++ /dev/null @@ -1,31 +0,0 @@ -SYSCALL (mach_msg_trap, -25, - mach_msg_return_t, - (msg, option, send_size, - rcv_size, rcv_name, timeout, notify), - (mach_msg_header_t *msg, - mach_msg_option_t option, - mach_msg_size_t send_size, - mach_msg_size_t rcv_size, - mach_port_t rcv_name, - mach_msg_timeout_t timeout, - mach_port_t notify)) - -SYSCALL (mach_reply_port, -26, - mach_port_t, - (), - (void)) - -SYSCALL (mach_thread_self, -27, - mach_port_t, - (), - (void)) - -SYSCALL (mach_task_self, -28, - mach_port_t, - (), - (void)) - -SYSCALL (mach_host_self, -29, - mach_port_t, - (), - (void)) diff --git a/test/manual/etags/c-src/sysdep.h b/test/manual/etags/c-src/sysdep.h deleted file mode 100644 index d8fc292e185..00000000000 --- a/test/manual/etags/c-src/sysdep.h +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (C) 1992-1993, 2016-2024 Free Software Foundation, Inc. -This file is part of the GNU C Library. - -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - -#include <sysdeps/unix/sysdep.h> - -#define ENTRY(name) \ - .globl _##name; \ - .align 2; \ - _##name##: - -#define PSEUDO(name, syscall_name, args) \ - .text; \ - .globl syscall_error; \ - ENTRY (name) \ - XCHG_##args - movl $SYS_##syscall_name, %eax; \ - int $0x80; \ - test %eax, %eax; \ - jl syscall_error; \ - XCHG_##args - -/* Linux takes system call arguments in registers: - 1: %ebx - 2: %ecx - 3: %edx - 4: %esi - 5: %edi - We put the arguments into registers from the stack, - and save the registers, by using the 386 `xchg' instruction - to swap the values in both directions. */ - -#define XCHG_0 /* No arguments to frob. */ -#define XCHG_1 xchg 8(%esp), %ebx; XCHG_0 -#define XCHG_2 xchg 12(%esp), %ecx; XCHG_1 -#define XCHG_3 xchg 16(%esp), %edx; XCHG_2 -#define XCHG_4 xchg 20(%esp), %esi; XCHG_3 -#define XCHG_5 xchg 24(%esp), %edi; XCHG_3 - -#define r0 %eax /* Normal return-value register. */ -#define r1 %edx /* Secondary return-value register. */ -#define scratch %ecx /* Call-clobbered register for random use. */ -#define MOVE(x,y) movl x, y diff --git a/test/manual/etags/c-src/tab.c b/test/manual/etags/c-src/tab.c deleted file mode 100644 index b25d55cb2e8..00000000000 --- a/test/manual/etags/c-src/tab.c +++ /dev/null @@ -1,112 +0,0 @@ -/* -** tab.c for in -** -** Made by Pierric -** Login <pierric@seignobosc.com> -** -** Started on Thu Jan 24 18:36:47 2002 Pierric -** Last update Mon Sep 23 18:02:02 2002 Pierric -*/ -#include <stdlib.h> -#include <string.h> -#include <stdio.h> -#include "my_malloc.h" - -static int count_words(char *str, char delim) -{ - int count; - - count = 0; - while (*str) - { - if (*str != delim) - { - count++; - if (!strchr(str + 1, delim)) - return (count); - str = strchr(str + 1, delim); - } - else - str++; - } - return (count); -} - -static char *get_word(char **str, char delim) -{ - char *tmp; - char *new; - - while (**str == delim) - (*str)++; - if (**str == 0) - return (NULL); - tmp = strchr(*str, delim); - if (!tmp) - { - new = strdup(*str); - while (**str) - (*str)++; - return (new); - } - my_malloc(new, tmp - *str + 1); - new[tmp - *str] = '\0'; - strncpy(new, *str, tmp - *str); - *str = tmp; - return (new); -} - -void tab_free(char **tab) -{ - int index; - - if (!tab) - return; - for (index = 0; tab[index]; index++) - free(tab[index]); - free(tab); -} - -char **tab_fill(char *str, char delim) -{ - int count; - char **tab; - int index; - - if (!str) - return (NULL); - count = count_words(str, delim); - if (!count) - return (NULL); - my_malloc(tab, (count + 1) * sizeof(char *)); - for (index = 0; (tab[index] = get_word(&str, delim)); index++) - ; - return (tab); -} - -/* -** Deletes the first element of a wordtab, shifting the other -** elements. The size of the malloced area stays the same, though -*/ -int tab_delete_first(char **tab) -{ - int i; - - if (!tab[0]) - return (-1); - free(tab[0]); - for (i = 0; tab[i]; i++) - tab[i] = tab[i + 1]; - return (0); -} - -int tab_count_words(char **tab) -{ - int count; - - if (!tab) - return (0); - for (count = 0; tab[count]; count++) - ; - return (count); -} diff --git a/test/manual/etags/c-src/torture.c b/test/manual/etags/c-src/torture.c deleted file mode 100644 index 77c3763564a..00000000000 --- a/test/manual/etags/c-src/torture.c +++ /dev/null @@ -1,107 +0,0 @@ -/* Date: Thu, 05 Aug 1993 20:28:03 +0200 - From: "Tom R.Hageman" <tom@basil.icce.rug.nl> - Subject: more etags torture;-) [etags 7.3 patch#3] - To: pot@CNUCE.CNR.IT - - Hi, - - This test file illustrates some more problems with etags (7.3): - - - 1. parentheses are confusing, - 2. preprocessor directives can disrupt other state machines. */ - -/* A small torture test for etags. */ - -/* The classic parenthesis nightmare, based on signal(). */ -void -(*tag1 (sig, handler)) () - int sig; - void (*handler) (); -{ - (*handler)(sig); - return handler; -} - -#define notag2 void -/* The classic, with user-defined return type. */ -notag2 -(*tag2 (sig, handler)) () - int sig; - void (*handler) (); -{ - (*handler)(sig); - return handler; -} - -/* The classic, in ANSI C style. */ -void -(*tag3 (int sig, void (*handler) (int))) (int) -{ - (*handler)(sig); - return handler; -} - -#define notag4 void -/* The classic, with user-defined return type, in ANSI C style. */ -notag4 -(*tag4 (int sig, void (*handler) (int))) (int) -{ - (*handler)(sig); - return handler; -} - - -/* A less tortuous example. */ -void -tag5 (handler, arg) -void (*handler)(); -void *arg; -{ - (*handler)(arg); -} - -/* A less tortuous example, in ANSI C style. */ -void -tag6 (void (*handler) (void *), void *arg) -{ - (*handler)(arg); -} - - -/* Interfering preprocessing torture */ - -int pp1( -#if (__STDC__) - int -#endif - bar) -#if (!__STDC__) - int bar; -#endif -{ - return bar; -} - -int -pp2 -#if __STDC__ - (int bar) -#else - (bar) - int bar; -#endif -{ - return bar; -} - -int -#if __STDC__ -pp3(int bar) -#else -pp3(bar) - int bar; -#endif -{ - return bar; -} diff --git a/test/manual/etags/cp-src/MDiagArray2.h b/test/manual/etags/cp-src/MDiagArray2.h deleted file mode 100644 index 78ee5e1523c..00000000000 --- a/test/manual/etags/cp-src/MDiagArray2.h +++ /dev/null @@ -1,163 +0,0 @@ -// Template array classes with like-type math ops -/* - -Copyright (C) 1996 John W. Eaton - -This file is part of Octave. - -Octave is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2, or (at your option) any -later version. - -Octave is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with Octave; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -*/ - -#if defined (__GNUG__) -#pragma interface -#endif - -#if !defined (octave_MDiagArray2_h) -#define octave_MDiagArray2_h 1 - -#include "DiagArray2.h" -#include "MArray2.h" - -#if defined (LTGT) -#undef LTGT -#endif - -#if !defined (CXX_NEW_FRIEND_TEMPLATE_DECL) -#define LTGT -#else - -#define LTGT <> - -template <class T> -class MDiagArray2; - -template <typename T> MDiagArray2<T>& -operator += (MDiagArray2<T>& a, const MDiagArray2<T>& b); - -template <typename T> MDiagArray2<T>& -operator -= (MDiagArray2<T>& a, const MDiagArray2<T>& b); - -template <typename T> MDiagArray2<T> -operator * (const MDiagArray2<T>& a, const T& s); - -template <typename T> MDiagArray2<T> -operator / (const MDiagArray2<T>& a, const T& s); - -template <typename T> MDiagArray2<T> -operator * (const T& s, const MDiagArray2<T>& a); - -template <typename T> MDiagArray2<T> -operator + (const MDiagArray2<T>& a, const MDiagArray2<T>& b); - -template <typename T> MDiagArray2<T> -operator - (const MDiagArray2<T>& a, const MDiagArray2<T>& b); - -template <typename T> MDiagArray2<T> -product (const MDiagArray2<T>& a, const MDiagArray2<T>& b); - -template <typename T> MDiagArray2<T> -operator - (const MDiagArray2<T>& a); -#endif - -// Two dimensional diagonal array with math ops. - -template <class T> -class MDiagArray2 : public DiagArray2<T> -{ -protected: - - MDiagArray2 (T *d, int r, int c) : DiagArray2<T> (d, r, c) { } - -public: - - MDiagArray2 (void) : DiagArray2<T> () { } - MDiagArray2 (int r, int c) : DiagArray2<T> (r, c) { } - MDiagArray2 (int r, int c, const T& val) : DiagArray2<T> (r, c, val) { } - MDiagArray2 (const Array<T>& a) : DiagArray2<T> (a) { } - MDiagArray2 (const DiagArray2<T>& a) : DiagArray2<T> (a) { } - MDiagArray2 (const MDiagArray2<T>& a) : DiagArray2<T> (a) { } - - ~MDiagArray2 (void) { } - - MDiagArray2<T>& operator = (const MDiagArray2<T>& a) - { - DiagArray2<T>::operator = (a); - return *this; - } - - operator MArray2<T> () const - { - MArray2<T> retval (nr, nc, T (0)); - - int len = nr < nc ? nr : nc; - - for (int i = 0; i < len; i++) - retval.xelem (i, i) = xelem (i, i); - - return retval; - } - - // element by element MDiagArray2 by MDiagArray2 ops - - friend MDiagArray2<T>& - operator += LTGT (MDiagArray2<T>& a, const MDiagArray2<T>& b); - - friend MDiagArray2<T>& - operator -= LTGT (MDiagArray2<T>& a, const MDiagArray2<T>& b); - - // element by element MDiagArray2 by scalar ops - - friend MDiagArray2<T> operator * LTGT (const MDiagArray2<T>& a, const T& s); - friend MDiagArray2<T> operator / LTGT (const MDiagArray2<T>& a, const T& s); - - // element by element scalar by MDiagArray2 ops - - friend MDiagArray2<T> operator * LTGT (const T& s, const MDiagArray2<T>& a); - - // element by element MDiagArray2 by MDiagArray2 ops - - friend MDiagArray2<T> - operator + LTGT (const MDiagArray2<T>& a, const MDiagArray2<T>& b); - - friend MDiagArray2<T> - operator - LTGT (const MDiagArray2<T>& a, const MDiagArray2<T>& b); - - friend MDiagArray2<T> - product LTGT (const MDiagArray2<T>& a, const MDiagArray2<T>& b); - - friend MDiagArray2<T> operator - LTGT (const MDiagArray2<T>& a); -}; - -#undef LTGT - -#define INSTANTIATE_MDIAGARRAY_FRIENDS(T) \ - template MDiagArray2<T>& operator += (MDiagArray2<T>& a, const MDiagArray2<T>& b); \ - template MDiagArray2<T>& operator -= (MDiagArray2<T>& a, const MDiagArray2<T>& b); \ - template MDiagArray2<T> operator * (const MDiagArray2<T>& a, const T& s); \ - template MDiagArray2<T> operator / (const MDiagArray2<T>& a, const T& s); \ - template MDiagArray2<T> operator * (const T& s, const MDiagArray2<T>& a); \ - template MDiagArray2<T> operator + (const MDiagArray2<T>& a, const MDiagArray2<T>& b); \ - template MDiagArray2<T> operator - (const MDiagArray2<T>& a, const MDiagArray2<T>& b); \ - template MDiagArray2<T> product (const MDiagArray2<T>& a, const MDiagArray2<T>& b); \ - template MDiagArray2<T> operator - (const MDiagArray2<T>& a); - -#endif - -/* -;;; Local Variables: *** -;;; mode: C++ *** -;;; End: *** -*/ diff --git a/test/manual/etags/cp-src/Range.h b/test/manual/etags/cp-src/Range.h deleted file mode 100644 index b8cbab47ebf..00000000000 --- a/test/manual/etags/cp-src/Range.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - -Copyright (C) 1996 John W. Eaton - -This file is part of Octave. - -Octave is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2, or (at your option) any -later version. - -Octave is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with Octave; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -*/ - -#if !defined (octave_Range_h) -#define octave_Range_h 1 - -#if defined (__GNUG__) -#pragma interface -#endif - -class istream; -class ostream; -class Matrix; - -class -Range -{ - public: - - Range (void) - : rng_base (-1), rng_limit (-1), rng_inc (-1), rng_nelem (-1) { } - - Range (const Range& r) - : rng_base (r.rng_base), rng_limit (r.rng_limit), rng_inc (r.rng_inc), - rng_nelem (r.rng_nelem) { } - - Range (double b, double l) - : rng_base (b), rng_limit (l), rng_inc (1), - rng_nelem (nelem_internal ()) { } - - Range (double b, double l, double i) - : rng_base (b), rng_limit (l), rng_inc (i), - rng_nelem (nelem_internal ()) { } - - double base (void) const { return rng_base; } - double limit (void) const { return rng_limit; } - double inc (void) const { return rng_inc; } - int nelem (void) const { return rng_nelem; } - - bool all_elements_are_ints (void) const; - - Matrix matrix_value (void) const; - - double min (void) const; - double max (void) const; - - void sort (void); - - void set_base (double b) { rng_base = b; } - void set_limit (double l) { rng_limit = l; } - void set_inc (double i) { rng_inc = i; } - - friend ostream& operator << (ostream& os, const Range& r); - friend istream& operator >> (istream& is, Range& r); - - void print_range (void); - - private: - - double rng_base; - double rng_limit; - double rng_inc; - - int rng_nelem; - - int nelem_internal (void) const; -}; - -extern Range operator - (const Range& r); - -#endif - -/* -;;; Local Variables: *** -;;; mode: C++ *** -;;; End: *** -*/ diff --git a/test/manual/etags/cp-src/burton.cpp b/test/manual/etags/cp-src/burton.cpp deleted file mode 100644 index d86ad758d81..00000000000 --- a/test/manual/etags/cp-src/burton.cpp +++ /dev/null @@ -1,14 +0,0 @@ -::dummy::dummy test::dummy1(void) -{ - return ::dummy::dummy; -} - -::dummy::dummy test::dummy2(::CORBA::Long dummy) -{ - return ::dummy::dummy; -} - -::dummy::dummy test::dummy3(char* name, ::CORBA::Long dummy) -{ - return ::dummy::dummy; -} diff --git a/test/manual/etags/cp-src/c.C b/test/manual/etags/cp-src/c.C deleted file mode 100644 index 2c5f7e01fac..00000000000 --- a/test/manual/etags/cp-src/c.C +++ /dev/null @@ -1,156 +0,0 @@ -template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels, typename ipc3dLinkControl, typename ipc3dLinkControlSetup> -class CMultiChannelCSC19_3D -{ -private: - ipc3dLinkControlSetup setup; - ipc3dCSC19<ipc3dIslandHierarchy,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipc3dLinkControl> mcCSC; - advTimer cscInitTime; - advTimer cscSegmentationTime; - advTimer outputTime; -public: - void execute(CPluginCSCState& p, int w, int h, int d, const ipcMultiChannel<ipc3dChannelType,numOfChannels>* orgImage, ipcMultiChannel<ipc3dChannelType,numOfChannels>* regionImage, unsigned int* mapImage, ipc3dBlockCompressedLabelImage* compressedMapImage=NULL) - { - if (orgImage!=NULL) - { - //do something - } - } - -class foo { - int const_func() const; - int b; - int non_const_func2(void); -}; -static void my_function1(int var1) const; -int main (void) { my_function0(0); my_function1(1); return; } -double base (void) const { return rng_base; } - -template <typename T> MDiagArray2<T>& -operator += (MDiagArray2<T>& a, const MDiagArray2<T>& b); - -class TestRecord; -typedef struct s1 { - int counter; -} t1; -struct s2 { - int counter; -}; -typedef struct s2 t2; -class A { - enum { rosso, giallo, verde } colori; - const A& operator+(const A&); -}; -const A& A::operator+(const A&) { } -void operator+(int, int) {} -void operator -(int, int) {} -void operator int(int, int) {} - -A<int>* f() {} -int f(A<int> x) {} -int A<int>::f(A<int>* x) {} -A<float,B<int> > A<B<float>,int>::f(A<int>* x) {} -template <class C, int n> class AT { C t[n]; }; -class AU { T x; }; -class B<int> { void f() {} }; -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 112,3888 -// etags finds - -AST_ConcreteType::AST_ConcreteType(AST_Decl::NodeType nt, UTL_ScopedName *n, - UTL_StrList *p) - : AST_Decl(nt, n, p) -{ -} - -// and - -AST_Array::AST_Array(UTL_ScopedName *n, unsigned long nd, UTL_ExprList *ds) - : pd_n_dims(nd), pd_base_type(NULL), - AST_Decl(AST_Decl::NT_array, n, NULL) -{ -} - -// as definitions of AST_Decl. -class { - void f() {} -}; -struct A { - ~A(); -}; -A::~A() {} - -struct B { - ~B() {}; -}; - -enum {dog, cat} animals; -struct {int teats;} cow; - -class Boo { - enum {dog, cat} animals; - struct {int treats;} cow; - int i,a,b; - foo() { - cout << "hi"; - } - - Boo(int _i, int _a, int _b) : i(_i), a(_a), b(_b) {} - Boo(Boo); -}; - -Boo::Boo(Boo) : - i(i), - a(a), - b(b) -{} - -/* extern "C" grot: */ -extern "C" { -typedef int should_see_this_one_enclosed_in_extern_C; -} - -/* Typedefs: */ -typedef int (*should_see_this_function_pointer) ( - void *but_not_this_argument); - -typedef int should_see_this_array_type[but_not_this_subscript]; diff --git a/test/manual/etags/cp-src/clheir.cpp.gz b/test/manual/etags/cp-src/clheir.cpp.gz deleted file mode 100644 index 38b08a8e7f8..00000000000 Binary files a/test/manual/etags/cp-src/clheir.cpp.gz and /dev/null differ diff --git a/test/manual/etags/cp-src/clheir.hpp b/test/manual/etags/cp-src/clheir.hpp deleted file mode 100644 index 831da5ca095..00000000000 --- a/test/manual/etags/cp-src/clheir.hpp +++ /dev/null @@ -1,82 +0,0 @@ -/* ======================================================================= */ -/* CLHEIR.H */ -/* ======================================================================= */ - -// CLASS HIERARCHY -// Locations or Agents are both of type generic_object. Generic_objects may -// have states, and are responsible for updating their states appropriately -// when their step() functions are executed. - -extern void init_registry(void); -extern void step_everybody(void); - -class generic_object - { - int where_in_registry; -public: - generic_object(); // enter generic_object into ObjectRegistry - // We never copy generic_objects, so we don't need a copy constructor. - ~generic_object(void); // delete from ObjectRegistry - // Simulation steps, accommodate different kinds of time - virtual void compute_next_state(void) { } - virtual void step(void) { } - }; - -// ======================================================================= - -// Locations can be regular (like a field of squares or hexagons) or -// irregular. Regular locations have 2-D or 3-D positions represented -// by integers. Locations are never copied; no need for copy constructors. - -const int max_num_directions = 6; // handles both cubes and hexagons - -class location: public generic_object - { - // Any kind of location needs a physical position, but for a regular - // location, this may be implicit, and for an irregular location, it - // should be custom-defined. - - // Any kind of location needs a private list of neighbors, but for a - // regular location, this may be implicit. - -public: - location() { } - ~location(); - }; - -class irregular_location: public location - { - double x, y, z; -public: - irregular_location(double xi, double yi, double zi) - { x = xi; y = yi; z = zi; } - ~irregular_location(); - }; - -class discrete_location: public location - { - int x, y, z; - class location *neighbors[max_num_directions]; - void clear_neighbors(void); -public: - discrete_location(int xi, int yi, int zi): - x(xi), y(yi), z(zi) - { clear_neighbors(); } - ~discrete_location(void); - void assign_neighbor(int direction, location *x) - { neighbors[direction] = x; } - }; - -// ======================================================================= - -// Agents are generic_objects with locations, who can move. Examples in -// Pacman would be the protagonist, the monsters, and the monsters' ghosts. - -class agent: public generic_object - { - location *where; -public: - agent(); - ~agent(); - void move(int); - }; diff --git a/test/manual/etags/cp-src/conway.cpp b/test/manual/etags/cp-src/conway.cpp deleted file mode 100644 index 1e600147ed9..00000000000 --- a/test/manual/etags/cp-src/conway.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/* ======================================================================= */ -/* CONWAY.CPP */ -/* ======================================================================= */ - -#include "assert.h" -#include "iostream.h" -#include "conio.h" -#include "clheir.h" -#include "screen.h" -#include "conway.h" - -#define max(x,y) ((x > y) ? x : y) -#define min(x,y) ((x > y) ? y : x) - -const int num_rows = min(50, NUM_ROWS); -const int num_columns = 40; - -class site *field_of_play[num_rows][num_columns]; - -int site::total_surrounding(void) - { - int i, j, imin, imax, jmin, jmax, total; - - total = 0; - imin = max(0, x - 1); - imax = min(num_rows - 1, x + 1); - jmin = max(0, y - 1); - jmax = min(num_columns - 1, y + 1); - - for (i = imin; i <= imax; i++) - for (j = jmin; j <= jmax; j++) - if (field_of_play[i][j]->read()) total++; - if (alive) total--; - return total; - } - -void display(void) - { - int i, j; - - for (i = 0; i < num_rows; i++) - for (j = 0; j < num_columns; j++) - { - if (field_of_play[i][j]->read()) write_xyc(2*j, i, 'X'); - else write_xyc(2*j, i, '.'); - } - hide_cursor(); - } - -void glider(int x, int y) - { - field_of_play[x - 1][y + 0]->set(); - field_of_play[x - 1][y + 1]->set(); - field_of_play[x + 0][y - 1]->set(); - field_of_play[x + 0][y + 0]->set(); - field_of_play[x + 1][y + 1]->set(); - } - -void traffic_light(int x, int y) - { - field_of_play[x - 1][y]->set(); - field_of_play[x + 0][y]->set(); - field_of_play[x + 1][y]->set(); - } - - -void main(void) - { - int i, j, c; - - init_registry(); - - for (i = 0; i < num_rows; i++) - for (j = 0; j < num_columns; j++) - field_of_play[i][j] = new site(i, j); - -start_over: - traffic_light(num_rows/2 - 8, num_columns/2 - 8); - glider(num_rows/2 + 8, num_columns/2 + 8); - - clear_screen(); - while (1) - { - display(); - if ((c = getch()) == 'q') { clear_screen(); return; } - if (c == 'i') - { - for (i = 0; i < num_rows; i++) - for (j = 0; j < num_columns; j++) - field_of_play[i][j]->clear(); - goto start_over; - } - step_everybody(); - } - } diff --git a/test/manual/etags/cp-src/conway.hpp b/test/manual/etags/cp-src/conway.hpp deleted file mode 100644 index 9fbb2517526..00000000000 --- a/test/manual/etags/cp-src/conway.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/* ======================================================================= */ -/* CONWAY.H */ -/* ======================================================================= */ - -class site: public location - { - char x, y, alive, next_alive; - int total_surrounding(void); -public: - site(int xi, int yi): x(xi), y(yi), alive(0) { } - ~site(); - char read() { return alive; } - void set(void) { alive = 1; } - void clear(void) { alive = 0; } - void compute_next_state(void) - { - int n = total_surrounding(); - next_alive = alive; - if (n < 2 || n > 3) next_alive = 0; - else if (n > 2) next_alive = 1; - } - void step(void) { alive = next_alive; } - }; diff --git a/test/manual/etags/cp-src/fail.C b/test/manual/etags/cp-src/fail.C deleted file mode 100644 index c602ed26396..00000000000 --- a/test/manual/etags/cp-src/fail.C +++ /dev/null @@ -1,52 +0,0 @@ -/* Examples provided by Sam Kendall <kendall@mv.mv.com>, Jan 1997 */ - -// check use of references with nested/local classes - -// This example causes etags 13 to abort when compiled with -DDEBUG. -// Etags 13 cannot deal with nested structures after the first level. -struct A { - struct B { - struct C { - int x; - C(int i) {x = i;} - operator int() const {return x;} - }; - typedef C T; - }; - typedef B T2; -}; - - -class String; - - -class A { - class B { - class C {}; - int f() { return 5; } - }; -}; - - -int A::B::f() { return 2; } - - -A::B::C abc(-37); - - -main() -{ - if (abc != -37 || abt != -37) return 1; - - class D : public A::B::C { - public: - D() : ::A::T2::T(97), x(1066) {} - int x; - } &d = D(); - - if (d.x != 1066 || d.A::T2::T::x != 97) return 2; - return 0; -} - - -template <class T> diff --git a/test/manual/etags/cp-src/functions.cpp b/test/manual/etags/cp-src/functions.cpp deleted file mode 100644 index ddd78f14d9b..00000000000 --- a/test/manual/etags/cp-src/functions.cpp +++ /dev/null @@ -1,239 +0,0 @@ -#include "main.hpp" -#pragma ident "@(#)functions.cpp 1.0 98/11/12 (c) Rupak Rathore" - -// Constructor default argument initializes to today's values -void Date::setDate ( int d , int m , int y ){ - time_t t; - struct tm * ptm; - t = time ( NULL ) ; - if ( date != NULL ) - delete date; - date = NULL; - if ( d == 0 && m == 0 && y == 0 ) //Explicitly called or default constructor hence leave it. - return; - if ( d < 0 && m < 0 && d < 0 ) //Special instruction to initialize to today's value - d=m=y=0; - date = new tm; - ptm=localtime ( &t ) ; - *date=(*ptm); - if ( d ) - date->tm_mday = d; - if ( m ) - date->tm_mon = m - 1; // Months are counted from January - if ( y > 1900 ) // Complete year specified so take into account - y -= 1900; - if ( y ) - date->tm_year = y; - date->tm_sec=date->tm_min=date->tm_hour=0; - t = mktime ( date ) ; -} - -// Addition operation ::: Warning ::: A combination of addition and subtraction does not give a proper result -void Date::plus ( int days , int month , int year ){ - if ( ! set () ) - return; - date->tm_mday += days ; - date->tm_mon += month ; - date->tm_year += year ; - mktime ( date ); -} - -//Subtraction operation ::: Warning ::: A combination of addition and subtraction does not give a proper result -void Date::minus ( int days , int month , int year ){ - if ( ! set () ) - return; - date->tm_mday -= days ; - date->tm_mon -= month ; - date->tm_year -= year ; - mktime ( date ); -} - - -void Date::shift ( void ){//Shift this date to previous working days (useful for benchmarks) - if ( ! set() ) - return ; - while(isHoliday(*this)||isweekend()){ - date->tm_mday -= 1 ; - mktime ( date ); - } -} - -// Assignment -Date & Date::operator = ( Date d ){ - if ( d.set() ) - setDate ( d.date->tm_mday, d.date->tm_mon + 1, d.date->tm_year ); - return(*this); -} - -// Add number of days -Date & Date::operator += ( int days ){ - if ( set () ){ - date->tm_mday += days ; - mktime ( date ); - } - return(*this); -} - -// Subtract number of days -Date & Date::operator -= ( int days ){ - if ( set () ){ - date->tm_mday -= days ; - mktime ( date ); - } - return(*this); -} - -// Advance one day -Date & Date::operator ++ ( void ){ - if ( set () ){ - date->tm_mday += 1 ; - mktime ( date ); - } - return(*this); -} - -// Backwards one day -Date & Date::operator -- ( void ){ - if ( set () ){ - date->tm_mday -= 1 ; - mktime ( date ); - } - return(*this); -} - -int Date::operator - ( Date d ){ - long l; - if (( ! set() ) || (! d.set())) - return(0); - l=(mktime(date)-mktime(d.date))/(3600*24); - return((int)l); -} - -int Date::operator < ( Date d ) { - return ( unidate() < d.unidate() ); -} - -int Date::operator > ( Date d ) { - return ( unidate() > d.unidate() ); -} - -int Date::operator == ( Date d ) { - return ( unidate() == d.unidate() ); -} - -ostream& operator << ( ostream &c, Date d ) { - if ( ! d.set() ) - c << "Null"; - else - c << d.date->tm_mday << ":" << d.date->tm_mon + 1 << ":" << d.date->tm_year + 1900 ; - return ( c ); -} - -// Modified to read date in yyyymmdd format. -istream& operator >> ( istream &i, Date & dd ){ - int d,m,y,tmp; - i >> tmp; - d=tmp%100; - tmp/=100; - m=tmp%100; - tmp/=100; - y=tmp; - dd.setDate(d,m,y); - return(i); -} -/* -istream& operator >> ( istream &i, Date &dd ) { - char input[11]; - int d,m,y; - cout << "Enter the date ( dd-mm-yyyy ) : "; - i >> input ; - d = ( input[0] - '0' ) * 10 + ( input[1] - '0' ); - m = ( input[3] - '0' ) * 10 + ( input[4] - '0' ); - y = ( input[6] - '0' ) * 1000 + ( input[7] - '0' ) * 100 + ( input[8] - '0' ) * 10 + ( input[9] - '0' ); - dd.setDate ( d, m, y ); - return ( i ); -} -*/ - -// Check whether given year is leap or not -bool isLeap ( int year ){ - return ( (year%100==0) ? (year%400==0) : (year%4==0) ); -} - -bool isHoliday ( Date d ){ - long int ld; - ld = ( d.year()*100 + d.month() )*100 + d.day(); - for ( int i=0; i<no_of_vacations;i++) - if ( ld == vacation[i] ) - return(true); - return(false); -} - -// Sort the given array in ascending order -void asort(int *a, int num){ - int i,k,mini,tmp; - for ( k=1; k<num; k++ ){ - mini=k-1; - for ( i=k; i<num; i++ ) - if ( a[mini] > a[i] ) { - tmp=a[i]; - a[i]=a[mini]; - a[mini]=tmp; - } - } -} - -void ReadVacation ( char *filename ) { - // cerr << filename; - ifstream vacfile(filename); - if ( ! vacfile.good() ) - d_error("ReadVacation","Unable to find the vacation and holidays file"); - // cerr << filename ; - d_silent("ReadVacation","vacation file successfully opened."); - no_of_vacations = 0; - while ( !vacfile.eof() ) - vacfile >> vacation[no_of_vacations++]; - --no_of_vacations; - d_silent("ReadVacation","Finished Reading file"); - vacfile.close(); -} - -void Debug ( int lineno, int level, char* func , char* mesg ) // error_level, function, message -{ - if ( debug_level <= level ) - cerr << PROGNAME << ": " << func << ": " << lineno << ": " << debug_string[level] << ": " << mesg << endl; - if ( level == ERROR ){ - cerr << PROGNAME << ": Exiting because of fatal error." <<endl ; - exit(2); - } -} - -int WorkingDays(Date a, Date b){ - Date tmp; - int wdays=0,days=0; - if ( (! a.set()) || (! b.set()) ) - return(0); - days=b-a+1; // Inclusive - tmp=a; - for ( int i=0;i<days;i++){ - if((!isHoliday(tmp))&&(!tmp.isweekend())) - wdays++; - tmp++; - } - return(wdays); -} - -Date StartDay(Date a,int days){//Function to calculate the appropriate start day to finish in days working days - Date tmp; - int wdays=0; - if ( ! a.set() ) - return (a); - tmp=a; - while(wdays<days){ - if((!isHoliday(tmp))&&(!tmp.isweekend())) - wdays++; - tmp--; - } - tmp++; - return(tmp); -} diff --git a/test/manual/etags/cp-src/screen.cpp b/test/manual/etags/cp-src/screen.cpp deleted file mode 100644 index 1958a19d628..00000000000 --- a/test/manual/etags/cp-src/screen.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/* ======================================================================= */ -/* SCREEN.CPP */ -/* ======================================================================= */ - -#include "stdio.h" -#include "stdlib.h" -#include "dos.h" - -#include "screen.h" - -/* ----------------------------------------------------------------------- */ -/* Cursor Position and Screen Buffering Functions */ -/* ----------------------------------------------------------------------- */ - -unsigned char cursor_x, cursor_y; -static union REGS regs; - -void goto_xy(unsigned char x, unsigned char y) - { - regs.h.ah = 2; - regs.h.bh = 0; - regs.h.dh = y; - regs.h.dl = x; - int86(0x10, ®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; - } diff --git a/test/manual/etags/cp-src/screen.hpp b/test/manual/etags/cp-src/screen.hpp deleted file mode 100644 index a7099a3379d..00000000000 --- a/test/manual/etags/cp-src/screen.hpp +++ /dev/null @@ -1,39 +0,0 @@ -/* ======================================================================= */ -/* SCREEN.H */ -/* ======================================================================= */ - -// This stuff is entirely non-portable MSDOS-ish code. Note the hardware -// address below, for the standard location of the EGA video buffer. - -#if !defined(__COLORS) -#define __COLORS - -enum COLORS { - BLACK, /* dark colors */ - BLUE, - GREEN, - CYAN, - RED, - MAGENTA, - BROWN, - LIGHTGRAY, - DARKGRAY, /* light colors */ - LIGHTBLUE, - LIGHTGREEN, - LIGHTCYAN, - LIGHTRED, - LIGHTMAGENTA, - YELLOW, - WHITE -}; -#endif - -#define SCREEN_FP(x,y) \ - ((char far *) (0xB8000000L | ((unsigned) (160 * (y) + 2 * (x))))) -#define SCREEN_START SCREEN_FP(0, 0) - -void goto_xy(unsigned char x, unsigned char y); -void hide_cursor(void); -void cursor_position(void); -void clear_screen(void); -void write_xyc(int x, int y, char c); diff --git a/test/manual/etags/cp-src/x.cc b/test/manual/etags/cp-src/x.cc deleted file mode 100644 index a236060281a..00000000000 --- a/test/manual/etags/cp-src/x.cc +++ /dev/null @@ -1,26 +0,0 @@ -class XX -{ -public: - int foo(); - void bar(); -}; - -int -XX::foo() -{ - return 1; -} - -void -XX::bar() -{ - foo(); -} - -int -main(int argc, char *argv[]) -{ - XX xx; - xx.bar(); - return 0; -} diff --git a/test/manual/etags/crlf b/test/manual/etags/crlf deleted file mode 100644 index d677595f010..00000000000 --- a/test/manual/etags/crlf +++ /dev/null @@ -1,2 +0,0 @@ -test_crlf1 test_crlf.c /^void test_crlf1()$/ -test_crlf2 tset_crlf.c /^void test_crlf2()$/ diff --git a/test/manual/etags/el-src/TAGTEST.EL b/test/manual/etags/el-src/TAGTEST.EL deleted file mode 100644 index 3e6599a4a45..00000000000 --- a/test/manual/etags/el-src/TAGTEST.EL +++ /dev/null @@ -1,34 +0,0 @@ -;;; -*- lexical-binding: t -*- - -(foo::defmumble bletch beuarghh) -(defun foo==bar () (message "hi")) ; Bug#5624 -;;; Ctags test file for lisp mode. - -;; from emacs/lisp/delsel.el:76: -(defalias 'pending-delete-mode 'delete-selection-mode) - -;; compare with: -(defalias (quote explicitly-quoted-pending-delete-mode) 'delete-selection-mode) - -;; -;; Output from original ctags: -;; -;'pending-delete-mode tagstest.el /^(defalias 'pending-delete-mode 'delete-selection-m/ -;(quote tagstest.el /^(defalias (quote explicitly-quoted-pending-delete-/ -;; -;; Output from ctags with my patch in L-getit(): -;; -;pending-delete-mode tagstest.el /^(defalias 'pending-delete-mode 'delete-selection-m/ -;explicitly-quoted-pending-delete-mode tagstest.el /^(defalias (quote explicitly-quoted-pending-delete-/ -;; Output from original etags: -;; -;tagstest.el,61 -;(defalias 'pending-delete-mode 4,68 -;(defalias (quote 7,141 -;; -;; Output from patched etags: -;; -;tagstest.el,99 -;(defalias 'pending-delete-mode 4,68 -;(defalias (quote explicitly-quoted-pending-delete-mode)7,141 -;; diff --git a/test/manual/etags/el-src/emacs/lisp/progmodes/etags.el b/test/manual/etags/el-src/emacs/lisp/progmodes/etags.el deleted file mode 100644 index 288bd325c04..00000000000 --- a/test/manual/etags/el-src/emacs/lisp/progmodes/etags.el +++ /dev/null @@ -1,2153 +0,0 @@ -;;; etags.el --- etags facility for Emacs -*- lexical-binding: t -*- - -;; Copyright (C) 1985-1986, 1988-1989, 1992-1996, 1998, 2000-2024 Free -;; Software Foundation, Inc. - -;; Author: Roland McGrath <roland@gnu.org> -;; Maintainer: emacs-devel@gnu.org -;; Keywords: tools - -;; This file is part of GNU Emacs. - -;; GNU Emacs is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. - -;;; Commentary: - -;;; Code: - -(require 'ring) -(require 'button) -(require 'xref) - -;;;###autoload -(defvar tags-file-name nil - "File name of tags table. -To switch to a new tags table, setting this variable is sufficient. -If you set this variable, do not also set `tags-table-list'. -Use the `etags' program to make a tags table file.") -;; Make M-x set-variable tags-file-name like M-x visit-tags-table. -;;;###autoload (put 'tags-file-name 'variable-interactive (purecopy "fVisit tags table: ")) -;;;###autoload (put 'tags-file-name 'safe-local-variable 'stringp) - -(defgroup etags nil "Tags tables." - :group 'tools) - -;;;###autoload -(defcustom tags-case-fold-search 'default - "Whether tags operations should be case-sensitive. -A value of t means case-insensitive, a value of nil means case-sensitive. -Any other value means use the setting of `case-fold-search'." - :group 'etags - :type '(choice (const :tag "Case-sensitive" nil) - (const :tag "Case-insensitive" t) - (other :tag "Use default" default)) - :version "21.1") - -;;;###autoload -;; Use `visit-tags-table-buffer' to cycle through tags tables in this list. -(defcustom tags-table-list nil - "List of file names of tags tables to search. -An element that is a directory means the file \"TAGS\" in that directory. -To switch to a new list of tags tables, setting this variable is sufficient. -If you set this variable, do not also set `tags-file-name'. -Use the `etags' program to make a tags table file." - :group 'etags - :type '(repeat file)) - -;;;###autoload -(defcustom tags-compression-info-list - (purecopy '("" ".Z" ".bz2" ".gz" ".xz" ".tgz")) - "List of extensions tried by etags when `auto-compression-mode' is on. -An empty string means search the non-compressed file." - :version "24.1" ; added xz - :type '(repeat string) - :group 'etags) - -;; !!! tags-compression-info-list should probably be replaced by access -;; to directory list and matching jka-compr-compression-info-list. Currently, -;; this implementation forces each modification of -;; jka-compr-compression-info-list to be reflected in this var. -;; An alternative could be to say that introducing a special -;; element in this list (e.g. t) means : try at this point -;; using directory listing and regexp matching using -;; jka-compr-compression-info-list. - - -;;;###autoload -(defcustom tags-add-tables 'ask-user - "Control whether to add a new tags table to the current list. -t means do; nil means don't (always start a new list). -Any other value means ask the user whether to add a new tags table -to the current list (as opposed to starting a new list)." - :group 'etags - :type '(choice (const :tag "Do" t) - (const :tag "Don't" nil) - (other :tag "Ask" ask-user))) - -(defcustom tags-revert-without-query nil - "Non-nil means reread a TAGS table without querying, if it has changed." - :group 'etags - :type 'boolean) - -(defvar tags-table-computed-list nil - "List of tags tables to search, computed from `tags-table-list'. -This includes tables implicitly included by other tables. The list is not -always complete: the included tables of a table are not known until that -table is read into core. An element that is t is a placeholder -indicating that the preceding element is a table that has not been read -into core and might contain included tables to search. -See `tags-table-check-computed-list'.") - -(defvar tags-table-computed-list-for nil - "Value of `tags-table-list' that `tags-table-computed-list' corresponds to. -If `tags-table-list' changes, `tags-table-computed-list' is thrown away and -recomputed; see `tags-table-check-computed-list'.") - -(defvar tags-table-list-pointer nil - "Pointer into `tags-table-computed-list' for the current state of searching. -Use `visit-tags-table-buffer' to cycle through tags tables in this list.") - -(defvar tags-table-list-started-at nil - "Pointer into `tags-table-computed-list', where the current search started.") - -(defvar tags-table-set-list nil - "List of sets of tags table which have been used together in the past. -Each element is a list of strings which are file names.") - -;;;###autoload -(defcustom find-tag-hook nil - "Hook to be run by \\[find-tag] after finding a tag. See `run-hooks'. -The value in the buffer in which \\[find-tag] is done is used, -not the value in the buffer \\[find-tag] goes to." - :group 'etags - :type 'hook) - -;;;###autoload -(defcustom find-tag-default-function nil - "A function of no arguments used by \\[find-tag] to pick a default tag. -If nil, and the symbol that is the value of `major-mode' -has a `find-tag-default-function' property (see `put'), that is used. -Otherwise, `find-tag-default' is used." - :group 'etags - :type '(choice (const nil) function)) - -(define-obsolete-variable-alias 'find-tag-marker-ring-length - 'xref-marker-ring-length "25.1") - -(defcustom tags-tag-face 'default - "Face for tags in the output of `tags-apropos'." - :group 'etags - :type 'face - :version "21.1") - -(defcustom tags-apropos-verbose nil - "If non-nil, print the name of the tags file in the *Tags List* buffer." - :group 'etags - :type 'boolean - :version "21.1") - -(defcustom tags-apropos-additional-actions nil - "Specify additional actions for `tags-apropos'. - -If non-nil, value should be a list of triples (TITLE FUNCTION -TO-SEARCH). For each triple, `tags-apropos' processes TO-SEARCH and -lists tags from it. TO-SEARCH should be an alist, obarray, or symbol. -If it is a symbol, the symbol's value is used. -TITLE, a string, is a title used to label the additional list of tags. -FUNCTION is a function to call when a symbol is selected in the -*Tags List* buffer. It will be called with one argument SYMBOL which -is the symbol being selected. - -Example value: - - \\='((\"Emacs Lisp\" Info-goto-emacs-command-node obarray) - (\"Common Lisp\" common-lisp-hyperspec common-lisp-hyperspec-obarray) - (\"SCWM\" scwm-documentation scwm-obarray))" - :group 'etags - :type '(repeat (list (string :tag "Title") - function - (sexp :tag "Tags to search"))) - :version "21.1") - -(defvaralias 'find-tag-marker-ring 'xref--marker-ring) -(make-obsolete-variable - 'find-tag-marker-ring - "use `xref-push-marker-stack' or `xref-pop-marker-stack' instead." - "25.1") - -(defvar default-tags-table-function nil - "If non-nil, a function to choose a default tags file for a buffer. -This function receives no arguments and should return the default -tags table file to use for the current buffer.") - -(defvar tags-location-ring (make-ring xref-marker-ring-length) - "Ring of markers which are locations visited by \\[find-tag]. -Pop back to the last location with \\[negative-argument] \\[find-tag].") - -;; 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.") - -;; 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.") - -(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)) - -(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)))) - -(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)))))) - -(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) - - -(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))))) - -;; `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))) - -;; 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)))))) - -;; 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))))) - -(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))) - -(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))) - -;; 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))) - -;;;###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))))) - - -;;; 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))) - - -(provide 'etags) - -;;; etags.el ends here diff --git a/test/manual/etags/erl-src/gs_dialog.erl b/test/manual/etags/erl-src/gs_dialog.erl deleted file mode 100644 index c04ee8be0cd..00000000000 --- a/test/manual/etags/erl-src/gs_dialog.erl +++ /dev/null @@ -1,271 +0,0 @@ --module(gs_dialog). % behaviour --define(VERSION, '2001.1101'). --vsn(?VERSION). --author('cpressey@catseye.mb.ca'). --copyright('Copyright (c)2001 Cat`s Eye Technologies. All rights reserved.'). - -%%% Redistribution and use in source and binary forms, with or without -%%% modification, are permitted provided that the following conditions -%%% are met: -%%% -%%% Redistributions of source code must retain the above copyright -%%% notice, this list of conditions and the following disclaimer. -%%% -%%% Redistributions in binary form must reproduce the above copyright -%%% notice, this list of conditions and the following disclaimer in -%%% the documentation and/or other materials provided with the -%%% distribution. -%%% -%%% Neither the name of Cat's Eye Technologies nor the names of its -%%% contributors may be used to endorse or promote products derived -%%% from this software without specific prior written permission. -%%% -%%% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -%%% CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, -%%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -%%% MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -%%% DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE -%%% LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -%%% OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -%%% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -%%% OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -%%% ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -%%% OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -%%% OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -%%% POSSIBILITY OF SUCH DAMAGE. - --export([behaviour_info/1, - show/4, - test/0]). - -%%% BEGIN gs_dialog.erl %%% - -%%% This module specifies a common behaviour for "modal" dialog boxes -%%% using GS. - -%%-------------------------------------------------------------------- -%% behaviour_info(callbacks) -> ListOfFunctionArityTuples -%% Used by R8 to check the implementation modules for consistency -%% with the behaviour specification, what callbacks this module needs. - -behaviour_info(callbacks) -> - [ - - %%---------------------------------------------------------------- - %% Module:buttons() -> ListOfAtoms - %% Should return the labels used on the main (non-extra) buttons - %% of the dialog box. - %% e.g. ['OK', 'Cancel']. - - {buttons, 0}, - - %%---------------------------------------------------------------- - %% Module:icon() -> FileNameString | {Text, FgColour, BgColour} - %% Should return the the icon displayed in the dialog box. - %% This should either be the fully qualified filename of a 32x32 GIF - %% file (e.g. in the application's priv dir,) or a 3-tuple - %% describing a simple "circle" icon to be rendered by GS itself. - %% The latter option was added because some versions of Erlang for - %% Windows use a Tk emulation package which is not always on the - %% ball when it comes to correct image transparency and colour. - %% e.g. filename:join(code:priv_dir(?MODULE), "notify.gif") - - {icon, 0}, - - %%---------------------------------------------------------------- - %% Module:controls(Parent, ArgList) -> {GSControl | nil, NewArgList} - %% Used by the implementation to provide extra controls in the dialog - %% box, if any. If not, nil should be returned instead of the control. - %% If many controls are added, it is recommended they are placed in a - %% frame, with the frame returned as the control. - %% The control need not have positioning information, as it will be - %% assigned a pack_xy option when it is placed into the Parent frame. - %% The list of arguments may be modified by this callback. - %% e.g. {nil, Args} - - {controls, 2}, - - %%---------------------------------------------------------------- - %% Module:on_key(ExtraControl, KeyAtom, ArgList) -> - %% {button, ButtonNameAtom} | nil - %% Called when a key is pressed in the dialog box. The return value - %% specified whether it is linked to pressing a button, or whether it - %% it is ignored and passed on to a further handler (if any.) - - {on_key, 3}, - - %%---------------------------------------------------------------- - %% Module:on_button(ExtraControl, ButtonNameAtom, ArgList) -> Result - %% Called when one of the main (non-extra) buttons are pressed in - %% the dialog box. Since this closes the dialog box, the implementation - %% module is expected to provide a final result term with this function. - - {on_button, 3}, - - %%---------------------------------------------------------------- - %% Module:on_event(ExtraControl, Event, ArgList) -> Result - %% Allows the implementation module to handle other GS events, - %% e.g. those generated by the extra controls specified. - - {on_event, 3} - ]. - -%%% Public Interface - -%%-------------------------------------------------------------------- -%% show(ModuleNameAtom, TitleString, MessageString, ArgList) -> Result -%% Display a generic modal dialog box, customized by the -%% callback functions in Module. This should be called by -%% the 'show' function in the Module in question. -%% The argument list is passed back to the callback functions in the -%% module, for retaining information pertinent to the callback module; -%% the behaviour itself does not inspect or care about this list. - -show(Module, Title, Message, Args) -> - Screen = gs:start(), - Buttons = Module:buttons(), - NumButtons = length(Buttons), - application:load(?MODULE), - {ok, Font} = application:get_env(?MODULE, font), - {ok, {ScreenWidth, ScreenHeight}} = - application:get_env(?MODULE, screen_size), - {ok, {DialogWidth, DialogHeight}} = - application:get_env(?MODULE, dialog_size), - Window = gs:create(window, Screen, - [{width, DialogWidth}, {height, DialogHeight}, - {x, (ScreenWidth - DialogWidth) div 2}, - {y, (ScreenHeight - DialogHeight) div 2}, - {title, Title}, - {configure, true}, {keypress, true}]), - Frame = gs:create(frame, Window, - [{bw, 0}, - {packer_x, lists:duplicate(NumButtons, {stretch, 1})}, - {packer_y, [{stretch, 1},{stretch, 2},{stretch, 1}]}]), - case Module:icon() of - nil -> - Label = gs:create(label, Frame, - [{label, {text, Message}}, {font, Font}, {justify, center}, - {pack_xy, {{1, NumButtons}, 1}}]); - {Text, Fg, Bg} -> - InnerFrame = gs:create(frame, Frame, - [{pack_xy, {{1, NumButtons}, 1}}, {bw, 0}, - {packer_x, [{stretch, 1}, {fixed, 32}, {stretch, 8}]}, - {packer_y, [{stretch, 1}, {fixed, 32}, {stretch, 1}]}]), - IconCanvas = gs:create(canvas, InnerFrame, - [{pack_xy, {2, 2}}]), - IconCircle = gs:create(oval, IconCanvas, - [{coords, [{0, 0}, {31, 31}]}, {fg, black}, {fill, Bg}]), - IconFont = {screen, bold, 24}, - {ITW,ITH} = gs:read(IconCanvas, {font_wh, {IconFont, Text}}), - ITX = 16 - ITW div 2, - ITY = 16 - ITH div 2, - IconText = gs:create(text, IconCanvas, - [{coords, [{ITX, ITY}]}, {fg, Fg}, {text, Text}, {font, IconFont}]), - Label = gs:create(label, InnerFrame, - [{label, {text, Message}}, {font, Font}, {justify, center}, - {pack_xy, {3, {1,3}}}]); - FileName when list(FileName) -> - InnerFrame = gs:create(frame, Frame, - [{pack_xy, {{1, NumButtons}, 1}}, {bw, 0}, - {packer_x, [{stretch, 1}, {fixed, 32}, {stretch, 8}]}, - {packer_y, [{stretch, 1}, {fixed, 32}, {stretch, 1}]}]), - IconCanvas = gs:create(canvas, InnerFrame, - [{pack_xy, {2, 2}}]), - Icon = gs:create(image, IconCanvas, [{coords, [{0, 0}]}, - {load_gif, FileName}]), - Label = gs:create(label, InnerFrame, - [{label, {text, Message}}, {font, Font}, {justify, center}, - {pack_xy, {3, {1,3}}}]) - end, - {Extra, NewArgs} = Module:controls(Frame, Args), - case Extra of - nil -> gs:config(Frame, {packer_y, [{stretch, 2},{fixed, 0},{stretch, 1}]}); - _ -> gs:config(Extra, {pack_xy, {{1, NumButtons}, 2}}) - end, - lists:foldl(fun(X, A) -> - I = gs:create(frame, Frame, [{packer_x, [{stretch, 1}, {fixed, 80}, {stretch, 1}]}, - {packer_y, [{stretch, 1}, {fixed, 24}, {stretch, 1}]}, - {pack_xy, {A, 3}}]), - gs:create(button, I, [{label, {text, atom_to_list(X)}}, {font, Font}, - {data, {button, X}}, - {pack_xy, {2, 2}}]), - A + 1 - end, 1, Buttons), - gs:config(Frame, [{width, DialogWidth}, {height, DialogHeight}]), - {MessageWidth, MessageHeight} = gs:read(Frame, {font_wh, {Font, Message}}), - case MessageWidth of - N1 when N1 > trunc(DialogWidth * 0.8) -> - NewDialogWidth = trunc(MessageWidth * 1.2), - gs:config(Window, - [{width, NewDialogWidth}, - {x, (ScreenWidth - NewDialogWidth) div 2}]); - _ -> ok - end, - case MessageHeight of - N2 when N2 > trunc(DialogHeight * 0.666) -> - NewDialogHeight = trunc(MessageHeight * 1.666), - gs:config(Window, - [{height, NewDialogHeight}, - {y, (ScreenHeight - NewDialogHeight) div 2}]); - _ -> ok - end, - gs:config(Window, {map, true}), - dialog_loop(Module, Window, Frame, Extra, NewArgs). - -%%-------------------------------------------------------------------- -%% dialog_loop(Module, Window, Frame, Extra, Args) -> Result -%% Called by show/4, handles generic events in a dialog box. - -dialog_loop(Module, Window, Frame, Extra, Args) -> - receive - {gs, Window, destroy, Data, EventArgs} -> - Module:on_button(Extra, 'Cancel', Args); - {gs, Window, configure, Data, [W,H | Rest]} -> - gs:config(Frame, [{width, W}, {height, H}]), - dialog_loop(Module, Window, Frame, Extra, Args); - {gs, Window, keypress, Data, [KeyCode | Rest]} -> - case Module:on_key(Extra, KeyCode, Args) of - {button, ButtonType} -> - Return = Module:on_button(Extra, ButtonType, Args), - gs:destroy(Window), - Return; - _ -> dialog_loop(Module, Window, Frame, Extra, Args) - end; - {gs, Button, click, {button, ButtonType}, EventArgs} -> - Return = Module:on_button(Extra, ButtonType, Args), - gs:destroy(Window), - Return; - Other -> % io:fwrite("~w~n", [Other]), - case Module:on_event(Extra, Other, Args) of - {button, ButtonType} -> - Return = Module:on_button(Extra, ButtonType, Args), - gs:destroy(Window), - Return; - _ -> dialog_loop(Module, Window, Frame, Extra, Args) - end - end. - -%%-------------------------------------------------------------------- -%% test() -> ResultTuple. -%% Tests some of the common dialog boxes implemented with this behaviour. - -test() -> - A = gs_dialog_notify:show("Notification", "This is a notification dialog."), - B = gs_dialog_confirm:show("Confirmation", - "Are you sure you want to\ntake some sort of drastic action?"), - C = gs_dialog_question:show("Question", "Save your barcodes first?"), - D = gs_dialog_entry:show("Text Entry", - "Enter the address of this order:", "555 Twenty-third St."), - E = gs_dialog_list:show("Select One", "Select a game to play.", - ["Chess", "Checkers", "Othello", "Go", "Backgammon", "Kali", "Sink"]), - F = gs_dialog_color:show("Choose Colour", "Pick your favourite colour.", - {255, 0, 128}), - G = gs_dialog_notify:show("Lengthy Notification", - "This is an extremely long message with no line breaks. " - "The dialog box should expand to display the entire message."), - H = gs_dialog_notify:show("Lengthy Notification", - "This is an extremely\nlong message with\nmany lines.\n\n" - "The dialog box\nshould\nexpand\nto\ndisplay\nthe\nentire\nmessage."), - {A,B,C,D,E,F,G,H}. - -%%% END of gs_dialog.erl %%% diff --git a/test/manual/etags/f-src/entry.for b/test/manual/etags/f-src/entry.for deleted file mode 100644 index 52b8a2487c6..00000000000 --- a/test/manual/etags/f-src/entry.for +++ /dev/null @@ -1,581 +0,0 @@ -C$Procedure PRTPKG ( Declare Arguments for Error Message Routines ) - - LOGICAL FUNCTION PRTPKG ( SHORT, LONG, EXPL, TRACE, DFAULT, TYPE ) - -C$ Abstract -C -C Declare the arguments for the error message selection entry -C points. DO NOT CALL THIS ROUTINE. -C -C$ Required_Reading -C -C ERROR -C -C$ Keywords -C -C ERROR -C -C$ Declarations - - LOGICAL SHORT - LOGICAL EXPL - LOGICAL LONG - LOGICAL TRACE - LOGICAL DFAULT - CHARACTER*(*) TYPE - - INTEGER FILEN - PARAMETER ( FILEN = 128 ) - - -C$ Brief_I/O -C -C VARIABLE I/O ENTRY -C -------- --- -------------------------------------------------- -C -C SHORT I SETPRT -C EXPL I SETPRT -C LONG I SETPRT -C TRACE I SETPRT -C DFAULT I SETPRT -C TYPE I MSGSEL -C FILEN P MSGSEL -C -C$ Detailed_Input -C -C See the ENTRY points for discussions of their arguments. -C -C$ Detailed_Output -C -C See the ENTRY points for discussions of their arguments. -C -C$ Parameters -C -C See the ENTRY points for discussions of their parameters. -C -C$ Exceptions -C -C This routine signals an error IF IT IS CALLED. -C -C$ Files -C -C None. -C -C$ Particulars -C -C DO NOT CALL THIS ROUTINE. -C -C The entry points declared in this routine are: -C -C SETPRT -C MSGSEL -C -C There is no reason to call this subroutine. -C The purpose of this subroutine is to make the -C declarations required by the various entry points. -C This routine has no run-time function. -C -C$ Examples -C -C None. DO NOT CALL THIS ROUTINE. -C -C$ Restrictions -C -C DO NOT CALL THIS ROUTINE. -C -C$ Literature_References -C -C None. -C -C$ Author_and_Institution -C -C -C$ Version -C -C- -C Comment section for permuted index source lines was added -C following the header. -C -C -C-& - -C$ Index_Entries -C -C None. -C -C-& - - - -C$ Revisions -C -C -C- Beta Version 1.0.1, 08-FEB-1989 -C -C PRTPKG, though it performs no run-time function, must -C still return a value, in order to comply with the Fortran -C standard. So, now it does. -C -C- Beta Version 1.0.1, 08-FEB-1989 -C -C Warnings added to discourage use of this routine. -C Parameter declarations moved to "Declarations" section. -C Two local declarations moved to the correct location. -C-& - - - -C -C SPICELIB functions -C - - LOGICAL SETPRT - LOGICAL MSGSEL - -C -C Local variables: -C - CHARACTER*(FILEN) DEVICE - - CHARACTER*(10) LTYPE - CHARACTER*(10) LOCTYP - -C -C Saved variables: -C - LOGICAL SVSHRT - LOGICAL SVEXPL - LOGICAL SVLONG - LOGICAL SVTRAC - LOGICAL SVDFLT - - SAVE SVSHRT - SAVE SVEXPL - SAVE SVLONG - SAVE SVTRAC - SAVE SVDFLT - -C -C Initial values: -C - DATA SVSHRT / .TRUE. / - DATA SVEXPL / .TRUE. / - DATA SVLONG / .TRUE. / - DATA SVTRAC / .TRUE. / - DATA SVDFLT / .TRUE. / - -C -C Executable Code: -C - - CALL GETDEV ( DEVICE ) - - CALL WRLINE ( DEVICE, - . 'PRTPKG: You have called an entry point which' // - . ' has no run-time function; this may indicate' // - . ' a program bug. Please check the PRTPKG' // - . ' documentation. ' ) - - CALL WRLINE ( DEVICE, 'SPICE(BOGUSENTRY)' ) - - PRTPKG = .FALSE. - - RETURN - - - - - - -C$Procedure SETPRT ( Store Error Message Types to be Output ) - -C ENTRY BOGUS (X, Y, Z) - - ENTRY SETPRT ( SHORT, EXPL, LONG, TRACE, DFAULT ) - -C$ Abstract -C -C Store (a representation of) the selection of types of error -C messages to be output. DO NOT CALL THIS ROUTINE. -C -C$ Required_Reading -C -C ERROR -C -C$ Keywords -C -C ERROR -C -C$ Declarations -C -C LOGICAL SHORT -C LOGICAL EXPL -C LOGICAL LONG -C LOGICAL TRACE -C LOGICAL DFAULT -C -C$ Brief_I/O -C -C VARIABLE I/O DESCRIPTION -C -------- --- -------------------------------------------------- -C -C SHORT I Select output of short error message? -C EXPL I Select output of explanation of short message? -C LONG I Select output of long error message? -C TRACE I Select output of traceback? -C DFAULT I Select output of default message? -C -C$ Detailed_Input -C -C SHORT indicates whether the short error message is selected -C as one of the error messages to be output when an error -C is detected. A value of .TRUE. indicates that the -C short error message IS selected. -C -C EXPL indicates whether the explanatory text for the short -C error message is selected as one of the error messages -C to be output when an error is detected. A value of -C .TRUE. indicates that the explanatory text for the -C short error message IS selected. -C -C LONG indicates whether the long error message is selected -C as one of the error messages to be output when an error -C is detected. A value of .TRUE. indicates that the -C long error message IS selected. -C -C TRACE indicates whether the traceback is selected -C as one of the error messages to be output when an error -C is detected. A value of .TRUE. indicates that the -C traceback IS selected. -C -C DFAULT indicates whether the default message is selected -C as one of the error messages to be output when an error -C is detected. A value of .TRUE. indicates that the -C default message IS selected. -C -C -C$ Detailed_Output -C -C None. -C -C$ Parameters -C -C None. -C -C$ Exceptions -C -C None. -C -C$ Files -C -C None. -C -C$ Particulars -C -C DO NOT CALL THIS ROUTINE. -C -C The effect of this routine is an ENVIRONMENTAL one. This -C routine performs no output; it stores the error message -C selection provided as input. -C -C Note that the actual output of error messages depends not -C only on the selection made using this routine, but also -C on the selection of the error output device (see ERRDEV) -C and the choice of error response action (see ERRACT). If -C the action is not 'IGNORE' (possible choices are -C 'IGNORE', 'ABORT', 'DEFAULT', 'REPORT', and 'RETURN'), -C the selected error messages will be written to the chosen -C output device when an error is detected. -C -C$ Examples -C -C 1. In this example, the short and long messages are selected. -C -C C -C C Select short and long error messages for output -C C (We don't examine the status returned because no -C C errors are detected by SETPRT): -C C -C -C STATUS = SETPRT ( .TRUE., .FALSE., .TRUE., .FALSE., -C . .FALSE. ) -C -C -C -C$ Restrictions -C -C DO NOT CALL THIS ROUTINE. -C -C$ Literature_References -C -C None. -C -C$ Author_and_Institution -C -C -C$ Version -C -C- -C -C-& - -C$ Index_Entries -C -C None. -C -C-& - - -C$ Revisions -C -C- -C Warnings added to discourage use of this routine in -C non-error-handling code. Parameters section added. -C -C-& - - - -C -C Executable Code: -C - - - IF ( SHORT ) THEN - SVSHRT = .TRUE. - ELSE - SVSHRT = .FALSE. - END IF - - - - IF ( EXPL ) THEN - SVEXPL = .TRUE. - ELSE - SVEXPL = .FALSE. - END IF - - - - IF ( LONG ) THEN - SVLONG = .TRUE. - ELSE - SVLONG = .FALSE. - END IF - - - - IF ( TRACE ) THEN - SVTRAC = .TRUE. - ELSE - SVTRAC = .FALSE. - END IF - - IF ( DFAULT ) THEN - SVDFLT = .TRUE. - ELSE - SVDFLT = .FALSE. - END IF - - -C -C We assign a value to SETPRT, but this value is -C not meaningful... -C - SETPRT = .TRUE. - - - RETURN - - - - -C$Procedure MSGSEL ( Is This Message Type Selected for Output? ) - - ENTRY MSGSEL ( TYPE ) - -C$ Abstract -C -C Indicate whether the specified message type has been selected -C for output. -C -C$ Required_Reading -C -C ERROR -C -C$ Keywords -C -C ERROR -C -C$ Declarations -C -C TYPE -C -C$ Brief_I/O -C -C VARIABLE I/O DESCRIPTION -C -------- --- -------------------------------------------------- -C -C TYPE I Type of message whose selection status is queried. -C FILEN P Maximum length of a file name. -C -C The function takes the value .TRUE. if the message type indicated -C by TYPE has been selected for output to the error output device. -C -C -C$ Detailed_Input -C -C TYPE Refers to a type of error message. Possible values -C are 'SHORT', 'EXPLAIN', 'LONG', 'DEFAULT', -C and 'TRACEBACK'. -C -C$ Detailed_Output -C -C The function takes the value .TRUE. if the message type indicated -C by TYPE has been selected for output to the error output device. -C -C$ Parameters -C -C FILEN is the maximum length of a file name. -C -C$ Exceptions -C -C Additionally, invalid values of TYPE are detected. -C -C The short error message set in this case is: -C 'SPICE(INVALIDMSGTYPE)' -C -C The handling of this error is a special case; to avoid recursion -C problems, SIGERR is not called when the error is detected. -C Instead, the short and long error messages are output directly. -C -C -C$ Files -C -C None. -C -C$ Particulars -C -C This routine is part of the SPICELIB error handling mechanism. -C -C Note that even though a given type of message may have been -C selected for output, the output device and error response -C action must also have been selected appropriately. -C Use ERRDEV to choose the output device for error messages. -C Use ERRACT to choose the error response action. Any action -C other than 'IGNORE' will result in error messages being -C written to the error output device when errors are detected. -C See ERRACT for details. -C -C$ Examples -C -C -C 1. We want to know if the short message has been selected -C for output: -C -C C -C C Test whether the short message has been selected: -C C -C -C SELECT = MSGSEL ( 'SHORT' ) -C -C -C$ Restrictions -C -C None. -C -C$ Literature_References -C -C None. -C -C$ Author_and_Institution -C -C -C$ Version -C -C -C-& - -C$ Index_Entries -C -C None. -C -C-& - - -C$ Revisions -C -C -C Parameters section added; parameter declaration added -C to brief I/O section as well. -C -C-& - - - -C -C Executable Code: -C - - CALL LJUST ( TYPE, LTYPE ) - CALL UCASE ( LTYPE, LTYPE ) - - - IF ( LTYPE .EQ. 'SHORT' ) THEN - - MSGSEL = SVSHRT - - ELSE IF ( LTYPE .EQ. 'EXPLAIN' ) THEN - - MSGSEL = SVEXPL - - ELSE IF ( LTYPE .EQ. 'LONG' ) THEN - - MSGSEL = SVLONG - - ELSE IF ( LTYPE .EQ. 'TRACEBACK' ) THEN - - MSGSEL = SVTRAC - - ELSE IF ( LTYPE .EQ. 'DEFAULT' ) THEN - - MSGSEL = SVDFLT - - ELSE - -C -C Bad value of type! We have a special case here; to -C avoid recursion, we output the messages directly, -C rather than call SIGERR. -C - - CALL GETDEV ( DEVICE ) - - CALL WRLINE ( DEVICE, 'SPICE(INVALIDMSGTYPE)' ) - - CALL WRLINE ( DEVICE, ' ' ) - - LOCTYP = TYPE - -C -C Note: What looks like a typo below isn't; there's -C a line break after the substring 'specified' of -C the "word" 'specifiedwas'. -C - - CALL WRLINE ( DEVICE, - - . 'MSGSEL: An invalid error message type was supplied as' // - . ' input; the type specifiedwas: ' // LOCTYP - - . ) - - - END IF - - subroutine - & intensity1(efv,fv,svin,svquad,sfpv,maxp,value,jndex,k,kj,jmod,isup) - - character*(*) function foo() - - END diff --git a/test/manual/etags/f-src/entry.strange.gz b/test/manual/etags/f-src/entry.strange.gz deleted file mode 100644 index 5f22edc86bb..00000000000 Binary files a/test/manual/etags/f-src/entry.strange.gz and /dev/null differ diff --git a/test/manual/etags/f-src/entry.strange_suffix b/test/manual/etags/f-src/entry.strange_suffix deleted file mode 100644 index 52b8a2487c6..00000000000 --- a/test/manual/etags/f-src/entry.strange_suffix +++ /dev/null @@ -1,581 +0,0 @@ -C$Procedure PRTPKG ( Declare Arguments for Error Message Routines ) - - LOGICAL FUNCTION PRTPKG ( SHORT, LONG, EXPL, TRACE, DFAULT, TYPE ) - -C$ Abstract -C -C Declare the arguments for the error message selection entry -C points. DO NOT CALL THIS ROUTINE. -C -C$ Required_Reading -C -C ERROR -C -C$ Keywords -C -C ERROR -C -C$ Declarations - - LOGICAL SHORT - LOGICAL EXPL - LOGICAL LONG - LOGICAL TRACE - LOGICAL DFAULT - CHARACTER*(*) TYPE - - INTEGER FILEN - PARAMETER ( FILEN = 128 ) - - -C$ Brief_I/O -C -C VARIABLE I/O ENTRY -C -------- --- -------------------------------------------------- -C -C SHORT I SETPRT -C EXPL I SETPRT -C LONG I SETPRT -C TRACE I SETPRT -C DFAULT I SETPRT -C TYPE I MSGSEL -C FILEN P MSGSEL -C -C$ Detailed_Input -C -C See the ENTRY points for discussions of their arguments. -C -C$ Detailed_Output -C -C See the ENTRY points for discussions of their arguments. -C -C$ Parameters -C -C See the ENTRY points for discussions of their parameters. -C -C$ Exceptions -C -C This routine signals an error IF IT IS CALLED. -C -C$ Files -C -C None. -C -C$ Particulars -C -C DO NOT CALL THIS ROUTINE. -C -C The entry points declared in this routine are: -C -C SETPRT -C MSGSEL -C -C There is no reason to call this subroutine. -C The purpose of this subroutine is to make the -C declarations required by the various entry points. -C This routine has no run-time function. -C -C$ Examples -C -C None. DO NOT CALL THIS ROUTINE. -C -C$ Restrictions -C -C DO NOT CALL THIS ROUTINE. -C -C$ Literature_References -C -C None. -C -C$ Author_and_Institution -C -C -C$ Version -C -C- -C Comment section for permuted index source lines was added -C following the header. -C -C -C-& - -C$ Index_Entries -C -C None. -C -C-& - - - -C$ Revisions -C -C -C- Beta Version 1.0.1, 08-FEB-1989 -C -C PRTPKG, though it performs no run-time function, must -C still return a value, in order to comply with the Fortran -C standard. So, now it does. -C -C- Beta Version 1.0.1, 08-FEB-1989 -C -C Warnings added to discourage use of this routine. -C Parameter declarations moved to "Declarations" section. -C Two local declarations moved to the correct location. -C-& - - - -C -C SPICELIB functions -C - - LOGICAL SETPRT - LOGICAL MSGSEL - -C -C Local variables: -C - CHARACTER*(FILEN) DEVICE - - CHARACTER*(10) LTYPE - CHARACTER*(10) LOCTYP - -C -C Saved variables: -C - LOGICAL SVSHRT - LOGICAL SVEXPL - LOGICAL SVLONG - LOGICAL SVTRAC - LOGICAL SVDFLT - - SAVE SVSHRT - SAVE SVEXPL - SAVE SVLONG - SAVE SVTRAC - SAVE SVDFLT - -C -C Initial values: -C - DATA SVSHRT / .TRUE. / - DATA SVEXPL / .TRUE. / - DATA SVLONG / .TRUE. / - DATA SVTRAC / .TRUE. / - DATA SVDFLT / .TRUE. / - -C -C Executable Code: -C - - CALL GETDEV ( DEVICE ) - - CALL WRLINE ( DEVICE, - . 'PRTPKG: You have called an entry point which' // - . ' has no run-time function; this may indicate' // - . ' a program bug. Please check the PRTPKG' // - . ' documentation. ' ) - - CALL WRLINE ( DEVICE, 'SPICE(BOGUSENTRY)' ) - - PRTPKG = .FALSE. - - RETURN - - - - - - -C$Procedure SETPRT ( Store Error Message Types to be Output ) - -C ENTRY BOGUS (X, Y, Z) - - ENTRY SETPRT ( SHORT, EXPL, LONG, TRACE, DFAULT ) - -C$ Abstract -C -C Store (a representation of) the selection of types of error -C messages to be output. DO NOT CALL THIS ROUTINE. -C -C$ Required_Reading -C -C ERROR -C -C$ Keywords -C -C ERROR -C -C$ Declarations -C -C LOGICAL SHORT -C LOGICAL EXPL -C LOGICAL LONG -C LOGICAL TRACE -C LOGICAL DFAULT -C -C$ Brief_I/O -C -C VARIABLE I/O DESCRIPTION -C -------- --- -------------------------------------------------- -C -C SHORT I Select output of short error message? -C EXPL I Select output of explanation of short message? -C LONG I Select output of long error message? -C TRACE I Select output of traceback? -C DFAULT I Select output of default message? -C -C$ Detailed_Input -C -C SHORT indicates whether the short error message is selected -C as one of the error messages to be output when an error -C is detected. A value of .TRUE. indicates that the -C short error message IS selected. -C -C EXPL indicates whether the explanatory text for the short -C error message is selected as one of the error messages -C to be output when an error is detected. A value of -C .TRUE. indicates that the explanatory text for the -C short error message IS selected. -C -C LONG indicates whether the long error message is selected -C as one of the error messages to be output when an error -C is detected. A value of .TRUE. indicates that the -C long error message IS selected. -C -C TRACE indicates whether the traceback is selected -C as one of the error messages to be output when an error -C is detected. A value of .TRUE. indicates that the -C traceback IS selected. -C -C DFAULT indicates whether the default message is selected -C as one of the error messages to be output when an error -C is detected. A value of .TRUE. indicates that the -C default message IS selected. -C -C -C$ Detailed_Output -C -C None. -C -C$ Parameters -C -C None. -C -C$ Exceptions -C -C None. -C -C$ Files -C -C None. -C -C$ Particulars -C -C DO NOT CALL THIS ROUTINE. -C -C The effect of this routine is an ENVIRONMENTAL one. This -C routine performs no output; it stores the error message -C selection provided as input. -C -C Note that the actual output of error messages depends not -C only on the selection made using this routine, but also -C on the selection of the error output device (see ERRDEV) -C and the choice of error response action (see ERRACT). If -C the action is not 'IGNORE' (possible choices are -C 'IGNORE', 'ABORT', 'DEFAULT', 'REPORT', and 'RETURN'), -C the selected error messages will be written to the chosen -C output device when an error is detected. -C -C$ Examples -C -C 1. In this example, the short and long messages are selected. -C -C C -C C Select short and long error messages for output -C C (We don't examine the status returned because no -C C errors are detected by SETPRT): -C C -C -C STATUS = SETPRT ( .TRUE., .FALSE., .TRUE., .FALSE., -C . .FALSE. ) -C -C -C -C$ Restrictions -C -C DO NOT CALL THIS ROUTINE. -C -C$ Literature_References -C -C None. -C -C$ Author_and_Institution -C -C -C$ Version -C -C- -C -C-& - -C$ Index_Entries -C -C None. -C -C-& - - -C$ Revisions -C -C- -C Warnings added to discourage use of this routine in -C non-error-handling code. Parameters section added. -C -C-& - - - -C -C Executable Code: -C - - - IF ( SHORT ) THEN - SVSHRT = .TRUE. - ELSE - SVSHRT = .FALSE. - END IF - - - - IF ( EXPL ) THEN - SVEXPL = .TRUE. - ELSE - SVEXPL = .FALSE. - END IF - - - - IF ( LONG ) THEN - SVLONG = .TRUE. - ELSE - SVLONG = .FALSE. - END IF - - - - IF ( TRACE ) THEN - SVTRAC = .TRUE. - ELSE - SVTRAC = .FALSE. - END IF - - IF ( DFAULT ) THEN - SVDFLT = .TRUE. - ELSE - SVDFLT = .FALSE. - END IF - - -C -C We assign a value to SETPRT, but this value is -C not meaningful... -C - SETPRT = .TRUE. - - - RETURN - - - - -C$Procedure MSGSEL ( Is This Message Type Selected for Output? ) - - ENTRY MSGSEL ( TYPE ) - -C$ Abstract -C -C Indicate whether the specified message type has been selected -C for output. -C -C$ Required_Reading -C -C ERROR -C -C$ Keywords -C -C ERROR -C -C$ Declarations -C -C TYPE -C -C$ Brief_I/O -C -C VARIABLE I/O DESCRIPTION -C -------- --- -------------------------------------------------- -C -C TYPE I Type of message whose selection status is queried. -C FILEN P Maximum length of a file name. -C -C The function takes the value .TRUE. if the message type indicated -C by TYPE has been selected for output to the error output device. -C -C -C$ Detailed_Input -C -C TYPE Refers to a type of error message. Possible values -C are 'SHORT', 'EXPLAIN', 'LONG', 'DEFAULT', -C and 'TRACEBACK'. -C -C$ Detailed_Output -C -C The function takes the value .TRUE. if the message type indicated -C by TYPE has been selected for output to the error output device. -C -C$ Parameters -C -C FILEN is the maximum length of a file name. -C -C$ Exceptions -C -C Additionally, invalid values of TYPE are detected. -C -C The short error message set in this case is: -C 'SPICE(INVALIDMSGTYPE)' -C -C The handling of this error is a special case; to avoid recursion -C problems, SIGERR is not called when the error is detected. -C Instead, the short and long error messages are output directly. -C -C -C$ Files -C -C None. -C -C$ Particulars -C -C This routine is part of the SPICELIB error handling mechanism. -C -C Note that even though a given type of message may have been -C selected for output, the output device and error response -C action must also have been selected appropriately. -C Use ERRDEV to choose the output device for error messages. -C Use ERRACT to choose the error response action. Any action -C other than 'IGNORE' will result in error messages being -C written to the error output device when errors are detected. -C See ERRACT for details. -C -C$ Examples -C -C -C 1. We want to know if the short message has been selected -C for output: -C -C C -C C Test whether the short message has been selected: -C C -C -C SELECT = MSGSEL ( 'SHORT' ) -C -C -C$ Restrictions -C -C None. -C -C$ Literature_References -C -C None. -C -C$ Author_and_Institution -C -C -C$ Version -C -C -C-& - -C$ Index_Entries -C -C None. -C -C-& - - -C$ Revisions -C -C -C Parameters section added; parameter declaration added -C to brief I/O section as well. -C -C-& - - - -C -C Executable Code: -C - - CALL LJUST ( TYPE, LTYPE ) - CALL UCASE ( LTYPE, LTYPE ) - - - IF ( LTYPE .EQ. 'SHORT' ) THEN - - MSGSEL = SVSHRT - - ELSE IF ( LTYPE .EQ. 'EXPLAIN' ) THEN - - MSGSEL = SVEXPL - - ELSE IF ( LTYPE .EQ. 'LONG' ) THEN - - MSGSEL = SVLONG - - ELSE IF ( LTYPE .EQ. 'TRACEBACK' ) THEN - - MSGSEL = SVTRAC - - ELSE IF ( LTYPE .EQ. 'DEFAULT' ) THEN - - MSGSEL = SVDFLT - - ELSE - -C -C Bad value of type! We have a special case here; to -C avoid recursion, we output the messages directly, -C rather than call SIGERR. -C - - CALL GETDEV ( DEVICE ) - - CALL WRLINE ( DEVICE, 'SPICE(INVALIDMSGTYPE)' ) - - CALL WRLINE ( DEVICE, ' ' ) - - LOCTYP = TYPE - -C -C Note: What looks like a typo below isn't; there's -C a line break after the substring 'specified' of -C the "word" 'specifiedwas'. -C - - CALL WRLINE ( DEVICE, - - . 'MSGSEL: An invalid error message type was supplied as' // - . ' input; the type specifiedwas: ' // LOCTYP - - . ) - - - END IF - - subroutine - & intensity1(efv,fv,svin,svquad,sfpv,maxp,value,jndex,k,kj,jmod,isup) - - character*(*) function foo() - - END diff --git a/test/manual/etags/forth-src/test-forth.fth b/test/manual/etags/forth-src/test-forth.fth deleted file mode 100644 index 4521d32fae4..00000000000 --- a/test/manual/etags/forth-src/test-forth.fth +++ /dev/null @@ -1,74 +0,0 @@ -\ -\ This is a file that tests Forth tags -\ -\ You should get: -\ a-forth-word (twice) -\ a-forth-constant! -\ a-forth-value? -\ :a-forth-dictionary-entry -\ #a-defer-word -\ (another-forth-word) -\ (a-forth-constant -\ #some-storage -\ assemby-code-word - - -\ This is a forth comment - -( Another forth comment ) - -: a-forth-word ( a b c -- a*b+c ) + * ; - -99 constant a-forth-constant! -55 value a-forth-value? -create :a-forth-dictionary-entry -0 c, 9 c, 5 c, 7 c, 999999 , - -defer #a-defer-word - -: (another-forth-word) ( -- ) - ." Hello world" -; - -' (another-forth-word) to #a-defer-word - -struct - 9 field >field1 - 5 field >field2 -constant (a-forth-constant - - -2000 buffer: #some-storage - -code assemby-code-word ( dunno what it does ) - g1 g2 mov \ Move from here to there - sc2 h# 13 sc2 sllx \ shift stuff 'round -c; - -\ And for the heck of it, redefine a-forth-word. - -: a-forth-word ( a b c -- ) - a-forth-word dup 200 > abort" Eek. The number is too big" - ." Result is " . cr -; - -: (foo) 1 ; -: foo (foo) ; - -: create-bar foo ; -create-bar \ Do NOT create a tag here - -3 4 2constant 2const -2const 2value 2val -2variable 2var - -3.1415e fconstant fconst -fconst fvalue fval -fvariable fvar - -synonym mypi fconst - -BEGIN-STRUCTURE point \ create the named structure - 1 CELLS +FIELD p.x \ A single cell filed named p.x - 1 CELLS +FIELD p.y \ A single cell field named p.y -END-STRUCTURE diff --git a/test/manual/etags/go-src/test.go b/test/manual/etags/go-src/test.go deleted file mode 100644 index 6aea26ef210..00000000000 --- a/test/manual/etags/go-src/test.go +++ /dev/null @@ -1,11 +0,0 @@ -package main - -import "fmt" - -func say(msg string) { - fmt.Println(msg) -} - -func main() { - say("Hello, Emacs!") -} diff --git a/test/manual/etags/go-src/test1.go b/test/manual/etags/go-src/test1.go deleted file mode 100644 index 6d1efaaa8a9..00000000000 --- a/test/manual/etags/go-src/test1.go +++ /dev/null @@ -1,34 +0,0 @@ -package main - -import "fmt" - -type plus interface { - PrintAdd() -} - -type str struct { - a, b string -} - -type intNumber struct { - a, b int -} - -func (s str) PrintAdd() { - fmt.Println(s.a + s.b) -} - -func (n intNumber) PrintAdd() { - fmt.Println(n.a + n.b) -} - -func test(p plus) { - p.PrintAdd() -} - -func main() { - s := str{a: "Hello,", b: "Emacs!"} - number := intNumber{a: 1, b: 2} - test(number) - test(s) -} diff --git a/test/manual/etags/html-src/algrthms.html b/test/manual/etags/html-src/algrthms.html deleted file mode 100644 index becd93a62d0..00000000000 --- a/test/manual/etags/html-src/algrthms.html +++ /dev/null @@ -1,519 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <meta name="Author" content="Chip Fleming"> - <meta name="GENERATOR" content="Mozilla/4.7 [en] (Win95; U) [Netscape]"> - <title>Tutorial on Convolutional Coding with Viterbi Decoding--Description of the Data Generation, Convolutional Encoding, Channel Mapping and AWGN, and Quantizing Algorithms - - -Description -of the Algorithms  (Part 1) -

 The steps involved in simulating a communication channel using -convolutional encoding and Viterbi decoding are as follows: -

    -
  • -Generate the data to be transmitted through -the channel-result is binary data bits
  • - -
  • -Convolutionally encode the data-result is channel -symbols
  • - -
  • -Map the one/zero channel symbols onto an antipodal -baseband signal, producing transmitted channel symbols
  • - -
  • -Add noise to the transmitted channel symbols-result -is received channel symbols
  • - -
  • -Quantize the received channel levels-one bit -quantization is called hard-decision, and two to n bit quantization is -called soft-decision (n is usually three or four)
  • - -
  • -Perform Viterbi decoding on the quantized -received channel symbols-result is again binary data bits
  • - -
  • -Compare the decoded data bits to the transmitted data bits and count the -number of errors.
  • -
-Many of you will notice that I left out the steps of modulating the -channel symbols onto a transmitted carrier, and then demodulating the received -carrier to recover the channel symbols. You're right, but we can accurately -model the effects of AWGN even though we bypass those steps. -

Generating the Data -

Generating the data to be transmitted through the channel can be accomplished -quite simply by using a random number generator. One that produces a uniform -distribution of numbers on the interval 0 to a maximum value is provided -in C: rand (). Using this function, we can say that any value -less than half of the maximum value is a zero; any value greater than or -equal to half of the maximum value is a one. -

Convolutionally -Encoding the Data -

Convolutionally encoding the data is accomplished using a shift register -and associated combinatorial logic that performs modulo-two addition. (A -shift register is merely a chain of flip-flops wherein the output of the -nth flip-flop is tied to the input of the (n+1)th flip-flop. Every time -the active edge of the clock occurs, the input to the flip-flop is clocked -through to the output, and thus the data are shifted over one stage.) The -combinatorial logic is often in the form of cascaded exclusive-or gates. -As a reminder, exclusive-or gates are two-input, one-output gates often -represented by the logic symbol shown below, -

-

exclusive-or gate symbol

- -

that implement the following truth-table: -
  -
  -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
Input A
-
-
Input B
-
-
Output -

(A xor B)

-
-
0
-
-
0
-
-
0
-
-
0
-
-
1
-
-
1
-
-
1
-
-
0
-
-
1
-
-
1
-
-
1
-
-
0
-
- -

The exclusive-or gate performs modulo-two addition of its inputs. When -you cascade q two-input exclusive-or gates, with the output of the first -one feeding one of the inputs of the second one, the output of the second -one feeding one of the inputs of the third one, etc., the output of the -last one in the chain is the modulo-two sum of the q + 1 inputs. -

Another way to illustrate the modulo-two adder, and the way that is -most commonly used in textbooks, is as a circle with a + symbol inside, -thus: -

-

modulo-two adder symbol

- -

Now that we have the two basic components of the convolutional encoder -(flip-flops comprising the shift register and exclusive-or gates comprising -the associated modulo-two adders) defined, let's look at a picture of a -convolutional encoder for a rate 1/2, K = 3, m = 2 code: -
  -
  -
-

-

rate 1/2 K = 3 (7, 5) convolutional encoder

- -

In this encoder, data bits are provided at a rate of k bits per second. -Channel symbols are output at a rate of n = 2k symbols per second. The -input bit is stable during the encoder cycle. The encoder cycle starts -when an input clock edge occurs. When the input clock edge occurs, the -output of the left-hand flip-flop is clocked into the right-hand flip-flop, -the previous input bit is clocked into the left-hand flip-flop, and a new -input bit becomes available. Then the outputs of the upper and lower modulo-two -adders become stable. The output selector (SEL A/B block) cycles through -two states-in the first state, it selects and outputs the output of the -upper modulo-two adder; in the second state, it selects and outputs the -output of the lower modulo-two adder. -

The encoder shown above encodes the K = 3, (7, 5) convolutional code. -The octal numbers 7 and 5 represent the code generator polynomials, which -when read in binary (1112 and 1012) correspond to -the shift register connections to the upper and lower modulo-two adders, -respectively. This code has been determined to be the "best" code for rate -1/2, K = 3. It is the code I will use for the remaining discussion and -examples, for reasons that will become readily apparent when we get into -the Viterbi decoder algorithm. -

Let's look at an example input data stream, and the corresponding output -data stream: -

Let the input sequence be 0101110010100012. -

Assume that the outputs of both of the flip-flops in the shift register -are initially cleared, i.e. their outputs are zeroes. The first clock cycle -makes the first input bit, a zero, available to the encoder. The flip-flop -outputs are both zeroes. The inputs to the modulo-two adders are all zeroes, -so the output of the encoder is 002. -

The second clock cycle makes the second input bit available to the encoder. -The left-hand flip-flop clocks in the previous bit, which was a zero, and -the right-hand flip-flop clocks in the zero output by the left-hand flip-flop. -The inputs to the top modulo-two adder are 1002, so the output -is a one. The inputs to the bottom modulo-two adder are 102, -so the output is also a one. So the encoder outputs 112 for -the channel symbols. -

The third clock cycle makes the third input bit, a zero, available to -the encoder. The left-hand flip-flop clocks in the previous bit, which -was a one, and the right-hand flip-flop clocks in the zero from two bit-times -ago. The inputs to the top modulo-two adder are 0102, so the -output is a one. The inputs to the bottom modulo-two adder are 002, -so the output is zero. So the encoder outputs 102 for the channel -symbols. -

And so on. The timing diagram shown below illustrates the process: -
  -
  -
-

-

timing diagram for rate 1/2 convolutional encoder

- -


-
-
-

After all of the inputs have been presented to the encoder, the output -sequence will be: -

00 11 10 00 01 10 01 11 11 10 00 10 11 00 112. -

Notice that I have paired the encoder outputs-the first bit in each -pair is the output of the upper modulo-two adder; the second bit in each -pair is the output of the lower modulo-two adder. -

You can see from the structure of the rate 1/2 K = 3 convolutional encoder -and from the example given above that each input bit has an effect on three -successive pairs of output symbols. That is an extremely important point -and that is what gives the convolutional code its error-correcting power. -The reason why will become evident when we get into the Viterbi decoder -algorithm. -

Now if we are only going to send the 15 data bits given above, in order -for the last bit to affect three pairs of output symbols, we need to output -two more pairs of symbols. This is accomplished in our example encoder -by clocking the convolutional encoder flip-flops two ( = m) more times, -while holding the input at zero. This is called "flushing" the encoder, -and results in two more pairs of output symbols. The final binary output -of the encoder is thus 00 11 10 00 01 10 01 11 11 10 00 10 11 00 11 10 -112. If we don't perform the flushing operation, the last m -bits of the message have less error-correction capability than the first -through (m - 1)th bits had. This is a pretty important thing to remember -if you're going to use this FEC technique in a burst-mode environment. -So's the step of clearing the shift register at the beginning of each burst. -The encoder must start in a known state and end in a known state for the -decoder to be able to reconstruct the input data sequence properly. -

Now, let's look at the encoder from another perspective. You can think -of the encoder as a simple state machine. The example encoder has two bits -of memory, so there are four possible states. Let's give the left-hand -flip-flop a binary weight of 21, and the right-hand flip-flop -a binary weight of 20. Initially, the encoder is in the all-zeroes -state. If the first input bit is a zero, the encoder stays in the all zeroes -state at the next clock edge. But if the input bit is a one, the encoder -transitions to the 102 state at the next clock edge. Then, if -the next input bit is zero, the encoder transitions to the 012 -state, otherwise, it transitions to the 112 state. The following -table gives the next state given the current state and the input, with -the states given in binary: -
  -
  -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  -
Next -State, if 
-
-
Current State
-
-
Input = 0:
-
-
Input = 1:
-
-
00
-
-
00
-
-
10
-
-
01
-
-
00
-
-
10
-
-
10
-
-
01
-
-
11
-
-
11
-
-
01
-
-
11
-
- -
  -

The above table is often called a state transition table. We'll refer -to it as the next state table. Now let us look at a table -that lists the channel output symbols, given the current state and the -input data, which we'll refer to as the output table: -
  -
  -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
Output -Symbols, if
-
-
Current State
-
-
Input = 0:
-
-
Input = 1:
-
-
00
-
-
00
-
-
11
-
-
01
-
-
11
-
-
00
-
-
10
-
-
10
-
-
01
-
-
11
-
-
01
-
-
10
-
- -
  -

You should now see that with these two tables, you can completely describe -the behavior of the example rate 1/2, K = 3 convolutional encoder. Note -that both of these tables have 2(K - 1) rows, and 2k -columns, where K is the constraint length and k is the number of bits input -to the encoder for each cycle. These two tables will come in handy when -we start discussing the Viterbi decoder algorithm. -

Mapping the Channel Symbols -to Signal Levels -

Mapping the one/zero output of the convolutional encoder onto an antipodal -baseband signaling scheme is simply a matter of translating zeroes to +1s -and ones to -1s. This can be accomplished by performing the operation y -= 1 - 2x on each convolutional encoder output symbol. -

Adding Noise to the -Transmitted Symbols -

Adding noise to the transmitted channel symbols produced by the convolutional -encoder involves generating Gaussian random numbers, scaling the numbers -according to the desired energy per symbol to noise density ratio, Es/N0, -and adding the scaled Gaussian random numbers to the channel symbol values. -

For the uncoded channel, Es/N0 = Eb/N0, -since there is one channel symbol per bit.  However, for the coded -channel, Es/N0 = Eb/N0 + 10log10(k/n).  -For example, for rate 1/2 coding, Es/N0 = Eb/N0 -+ 10log10(1/2) = Eb/N0 - 3.01 dB.  -Similarly, for rate 2/3 coding, Es/N0 = Eb/N0 -+ 10log10(2/3) = Eb/N0 - 1.76 dB. -

The Gaussian random number generator is the only interesting part of -this task. C only provides a uniform random number generator, rand(). -In order to obtain Gaussian random numbers, we take advantage of relationships -between uniform, Rayleigh, and Gaussian distributions: -

Given a uniform random variable U, a Rayleigh random variable R can -be obtained by: -

equation for Rayleigh random deviate given uniform random deviate -

where is -the variance of the Rayleigh random variable, and given R and a second -uniform random variable V, two Gaussian random variables G and H can be -obtained by -

G = R cos U and H = R sin V. -

In the AWGN channel, the signal is corrupted by additive noise, n(t), -which has the power spectrum No/2 watts/Hz. The variance varianceof -this noise is equal to noise density div by two. -If we set the energy per symbol Es equal to 1, then equation relating variance to SNR. -So equation for AWGN st dev given SNR. -

Quantizing the Received -Channel Symbols -

An ideal Viterbi decoder would work with infinite precision, or at least -with floating-point numbers. In practical systems, we quantize the received -channel symbols with one or a few bits of precision in order to reduce -the complexity of the Viterbi decoder, not to mention the circuits that -precede it. If the received channel symbols are quantized to one-bit precision -(< 0V = 1, > 0V = 0), the result is called hard-decision data. -If the received channel symbols are quantized with more than one bit of -precision, the result is called soft-decision data. A Viterbi decoder with -soft decision data inputs quantized to three or four bits of precision -can perform about 2 dB better than one working with hard-decision inputs. -The usual quantization precision is three bits. More bits provide little -additional improvement. -

The selection of the quantizing levels is an important design decision -because it can have a significant effect on the performance of the link. -The following is a very brief explanation of one way to set those levels. -Let's assume our received signal levels in the absence of noise are -1V -= 1, +1V = 0. With noise, our received signal has mean +/- 1 and standard -deviation equation for AWGN st dev given SNR. -Let's use a uniform, three-bit quantizer having the input/output relationship -shown in the figure below, where D is a decision level that we will calculate -shortly: -

-

8-level quantizer function plot

- -

The decision level, D, can be calculated according to the formula equation for quantizer decision level, -where Es/N0 is the energy per symbol to noise density -ratio. (The above figure was redrawn from Figure 2 of Advanced Hardware -Architecture's ANRS07-0795, "Soft Decision Thresholds and Effects on Viterbi -Performance". See the bibliography  -for a link to their web pages.) -

Click here to proceed to the description -of the Viterbi decoding algorithm itself... -

Or click on one of the links below to go to the beginning of that section: -

 Introduction -
 Description of the Algorithms  -(Part 2) -
 Simulation Source Code Examples -
 Example Simulation Results -
 Bibliography -
 About Spectrum Applications... -
  -
  -
-
-

-

- - - diff --git a/test/manual/etags/html-src/index.shtml b/test/manual/etags/html-src/index.shtml deleted file mode 100644 index 6d8cd858855..00000000000 --- a/test/manual/etags/html-src/index.shtml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - -

 

- - -

- In evidenza -

- -
    - -
  • Assieme alla Italian Linux - Society sollecitiamo una raccolta di firme per - sostenere il disegno di legge sul - software libero dal titolo "Norme in materia di pluralismo - informatico sulla adozione e la diffusione del software libero e sulla - portabilità dei documenti informatici nella Pubblica - Amministrazione" (XIV Legislatura Atto Senato n. 1188).

    - -

- -

- Comunicati e iniziative -

- -
    - -

  • - Combattiamo il "bollino SIAE". Nel notiziario - tutte le nostre iniziative in proposito. Insieme al LUG Roma abbiamo scritto il Bollino-HOWTO, istruzioni passo passo su come - ottenere l'esenzione dal bollilno SIAE per la distribuzione di - software libero a titolo oneroso o gratuito. Qui il disegno di legge - Semenzato Pieroni sul diritto d'autore. E non è finita. - -

  • - Salutiamo l'arrivo di ADEOS, kernel - real-time per Linux libero da brevetti - -

  • - Comunicato stampa di FSF Europa - ed Assoli in appoggio al disegno di legge per l'uso del software libero - nella pubblica amministrazione - -

  • - Posizione dell'Associazione sulle - attuali campagna anti-"pirateria" - -
- -

- Ultime notizie dall'associazione -

-

- -

- - - diff --git a/test/manual/etags/html-src/software.html b/test/manual/etags/html-src/software.html deleted file mode 100644 index 9c4f0dde8ea..00000000000 --- a/test/manual/etags/html-src/software.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - Francesco Potortì Software Page - - - - - - -
- [home] - | [FODA/IBEA] - | [GaliLEO] - | [fracas] - | [leasqr]
- [etags] - | [checkiso] - | [cgrep] - | [debian-bug] -
- -
- -

- CNR logo (png 3k) - Software that I wrote for supporting my research activity -

- - -
- MTG -
- -

The Multi-Application - traffic generator 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 - curses-based frontend and a backend that I wrote. MTG was - used to develop, test and evaluate the FODA/IBEA - satellite access protocol. - -

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 Writing a - Unix device driver 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, here is the code. - - -

- Fracas -
- -

The Framed - Channel Access Simulator 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: -

- -

Everyone is welcome to download the complete sources and a draft manual. There is also a short presentation - (10 slides, 340KB). I will be happy to assist those who would like to - adapt Fracas to their purposes. - - -

- GaliLEO -
- -

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 presentation - (10 slides, 500KB). GaliLEO has its - own page and a local mirror. - - - -

- Leasqr -
- -

This is a package for Octave, 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 published it. -Since then, the original authors Richard I. Shrager, A.Jutan, Ray Muzic, and -Sean Brennan agreed to put it under the GPL. Matthias Jueschke tested -the program using a non-linear optimization test suite, -and was satisfied with the results. - -

The most current version of the leasqr is part of the optimization package -at octave-forge. You should refer to the -files leasqr.m, leasqrdemo.m and dfdp.m therein. -The names of the individual files may change in the future. Please let me know -if that happens so I can update this page. - -


- -

- small GNU Head (png 3k) - Free software that I wrote for the GNU project or for my personal or work - interest -

- - -
- Etags -
- -

On behalf of the Free - Software Foundation (FSF) I currently volunteer to maintain - etags, a program that can be compiled either as a replacement - of the classic ctags Unix program or as etags, - whose output file format is used by Emacs. The latest (unofficial) version - of etags is available for download (30 KB). - - -

- checkiso -
- -

A Unix shell script 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 Debian CD images. - - -

- cgrep -
- -

A Unix shell script 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. - - -

- debian-bug.el -
- -

An Emacs add-on script in emacs lisp which simplifies - the task of submitting a bug report to the Debian bug tracking system. Part of - the debbugs-el - Debian package. I handed the package over to Peter Galbraith, who is - maintaining it much more actively than I was. You can download its latest version. - - -

- tcpdump -
- -

A Unix shell wrapper around - tcpdump which optionally displays the contents of the packets. - - -


- - - - -
-
The Error Correcting Codes (ECC) Page -
This is a - really good list of free (in various senses) programs for coding and - decoding. I keep a mirror of this page. - -
Forward error correcting codes by Phil Karn -
Phil Karn's optimized really free - codes. - -
- - - - - - diff --git a/test/manual/etags/html-src/softwarelibero.html b/test/manual/etags/html-src/softwarelibero.html deleted file mode 100644 index 6d75a1f0924..00000000000 --- a/test/manual/etags/html-src/softwarelibero.html +++ /dev/null @@ -1,313 +0,0 @@ -
- -

- Cos'è il software libero? -

- -

- 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. -

-

- 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. -

-

- Fu Richard M. Stallman, nei primi anni Ottanta, a formalizzare per la - prima volta il concetto di software libero. La definizione - di Stallman, che da subito assurse al ruolo di definizione per - eccellenza di software libero, assume la forma di quattro principi di - libertà: -

-

-

-
Libertà 0, o libertà fondamentale: -
La libertà di eseguire il programma per qualunque scopo, senza - vincoli sul suo utilizzo. - -
Libertà 1: -
La libertà di studiare il funzionamento del programma, e - di adattarlo alle proprie esigenze. - -
Libertà 2: -
La libertà di redistribuire copie del programma. - -
Libertà 3: -
La libertà di migliorare il programma, e di distribuirne - i miglioramenti. -
-

-

- Il software distribuito con una licenza che rispetti questi principi è - detto software libero (in inglese free - software). Nel 1984 Richard M. Stallman diede vita al - progetto GNU, con lo scopo di tradurre in pratica il concetto di - software libero, e creò la Free Software Foundation per - dare supporto logistico, legale ed economico al progetto GNU. -

- -

- Licenze d'uso di un programma -

- -

- La licenza d'uso è 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. -

-

- Gran parte delle licenze comunemente usate sono proprietarie, - 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. -

-

- La licenza del progetto GNU, la Licenza Pubblica Generica GNU (GNU GPL), - 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. -

-

- Con un gioco di parole, il nome dato a questo tipo di protezione - è permesso d'autore (in inglese copyleft): - è 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. -

-

- La GNU GPL non è unica nel suo genere. Diverse altre - licenze 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 licenza BSD, - 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. -

-

- 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. -

- -

- Sfatiamo alcuni miti -

- -

-

- -
Il software libero è gratuito - -
È 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. - -
Il software gratuito è libero - -
È falso. Molti programmi proprietari vengono distribuiti - gratuitamente. - -
Il software libero è privo di copyright - -
È 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). - -
L'introduzione del software libero nella scuola e nella pubblica - amministrazione, ma anche nei paesi poveri, ridurrebbe i costi - relativi al software - -
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. - - - -
-

- -

- Il movimento open source -

- -

- 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 vantaggi - pratici, come la facilità di adattamento, l'affidabilità, la - sicurezza, la conformità agli standard, l'indipendenza dai singoli - fornitori. A tal fine scrissero la Open Source - Definition, il documento fondamentale del movimento open source. -

-

- 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. -

-

- 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. -

- -

- Impatto pratico del software libero -

- -

- La rilevanza - economica del software libero è ancora molto ridotta, ma è in - fortissima crescita ormai da alcuni anni, e tutto consente di supporre - che tale crescita continui - nel prossimo futuro, anche grazie ai vantaggi - tecnici ed economici del software libero. -

-

- 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. -

-

- 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. -

-

- 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à. -

-

- È 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. -

- -

- scritto da Francesco Potortì per l'Associazione Software - Libero -

-
-

- Copyright © 2002 Francesco Potortì -
- Ultima versione ipertestuale disponibile su <http://softwarelibero.it/documentazione/softwarelibero.html> -

-

- La copia letterale e integrale e la distribuzione sono permesse con - qualsiasi mezzo, a condizione che questa nota sia riprodotta. -

- - - -
diff --git a/test/manual/etags/lua-src/allegro.lua b/test/manual/etags/lua-src/allegro.lua deleted file mode 100644 index c316b6f26a0..00000000000 --- a/test/manual/etags/lua-src/allegro.lua +++ /dev/null @@ -1,282 +0,0 @@ --- ase -- allegro-sprite-editor: the ultimate sprites factory --- Copyright (C) 2001-2004 by David A. Capello --- --- Read "LEGAL.txt" for more information. - --- internal routine -local function get_layer_by_name (sprite, layer, name) - if layer.readable == false then - return nil; - end - - if layer.name and strcmp (layer.name, name) == 0 then - return layer; - end - - if layer_is_set (layer) then - local it, sub; - - it = layer.layers; - while it do - sub = get_layer_by_name (sprite, it, name) - if sub then - return sub; - end - it = it.next - end - end - - return nil; -end - --- internal routine -local function count_layers (layer) - local count; - - if layer.parent.type == GFXOBJ_SPRITE then - count = 0; - else - count = 1; - end - - if layer_is_set (layer) then - local it = layer.layers; - while it do - count = count + count_layers (it); - it = it.next; - end - end - - return count; -end - --- Layer *GetLayerByName (const char *name); -function GetLayerByName (name) - local sprite = current_sprite; - - if sprite and name then - return get_layer_by_name (sprite, sprite.set, name); - else - return nil; - end -end - --- const char *GetUniqueLayerName (void); -function GetUniqueLayerName () - local sprite = current_sprite; - - if sprite then - return _("Layer") .. " " .. count_layers (sprite.set); - else - return nil; - end -end - --- void SelectLayer (Layer *layer); -function SelectLayer (layer) - if current_sprite then - sprite_set_layer (current_sprite, layer); - end -end - --- Layer *NewLayer (const char *name, int x, int y, int w, int h); --- creates a new layer with the "name" in the current sprite (in the --- current frame) with the specified position and size (if w=h=0 the --- routine will use the sprite dimension) -function NewLayer (name, x, y, w, h) - local sprite = current_sprite; - local layer = nil; - local image, frame, index; - - if sprite and name then - if not w or w == 0 then w = sprite.w; end - if not h or h == 0 then h = sprite.h; end - - -- new image - image = image_new (sprite.imgtype, w, h); - if not image then - return nil; - end - - -- new layer - layer = layer_image_new (sprite.imgtype, w, h); - if not layer then - image_free (image); - return nil; - end - - -- clear with mask color - image_clear (image, 0); - - -- configure layer name and blend mode - layer_set_name (layer, name); - layer_set_blend_mode (layer, BLEND_MODE_NORMAL); - - -- add image in the layer stock - index = stock_add_image (layer.stock, image); - - -- create frame (XXX in the current frpos? --dacap) - frame = frame_new (sprite.frpos, index, x, y, 255); - - -- add frame - layer_add_frame (layer, frame); - - -- undo stuff - if undo_is_enabled (sprite.undo) then - undo_open (sprite.undo); - undo_add_layer (sprite.undo, sprite.set, layer); - undo_set_layer (sprite.undo, sprite); - undo_close (sprite.undo); - end - - -- add the layer in the sprite set - layer_add_layer (sprite.set, layer); - - -- select the new layer - sprite_set_layer (sprite, layer); - end - - return layer; -end - --- Layer *NewLayerSet (const char *name); --- creates a new layer set with the "name" in the current sprite -function NewLayerSet (name) - local sprite = current_sprite; - local layer = nil; - - if sprite and name then - -- new layer - layer = layer_set_new (); - if not layer then - return nil; - end - - -- configure layer name and blend mode - layer_set_name (layer, name); - - -- add the layer in the sprite set - layer_add_layer (sprite.set, layer); - - -- select the new layer - sprite_set_layer (sprite, layer); - end - - return layer; -end - --- void RemoveLayer (void); --- removes the current selected layer -function RemoveLayer () - local sprite = current_sprite; - - if sprite and sprite.layer then - local layer = sprite.layer; - local parent = layer.parent; - local layer_select; - - -- select: previous layer, or next layer, or parent (if it is not - -- the main layer of sprite set) - if layer.prev then - layer_select = layer.prev; - elseif layer.next then - layer_select = layer.next; - elseif parent != sprite.set then - layer_select = parent; - else - layer_select = nil; - end - - -- undo stuff - if undo_is_enabled (sprite.undo) then - undo_open (sprite.undo); - undo_set_layer (sprite.undo, sprite); - undo_remove_layer (sprite.undo, layer); - undo_close (sprite.undo); - end - - -- select other layer - sprite_set_layer (sprite, layer_select); - - -- remove the layer - layer_remove_layer (parent, layer); - - -- destroy the layer - layer_free (layer); - end -end - --- void MoveLayerTop (void); --- moves the current layer in the top of the main set -function MoveLayerTop () - if current_sprite and current_sprite.layer then - local layer = current_sprite.layer; - - layer_remove_layer (layer.parent, layer); - - layer_add_layer (current_sprite.set, layer); - end -end - --- void MoveLayerBottom (void); --- moves the current layer in the bottom of the main set -function MoveLayerBottom () - if current_sprite and current_sprite.layer then - local layer = current_sprite.layer; - - layer_remove_layer (layer.parent, layer); - - layer_add_layer (current_sprite.set, layer); - layer_move_layer (current_sprite.set, layer, nil); - end -end - --- void MoveLayerBefore (Layer *this_one); --- moves the current layer above the layer "this_one" -function MoveLayerBefore (this_one) - if current_sprite and current_sprite.layer then - local layer = current_sprite.layer; - local layer_dest; - - if not this_one then - layer_dest = current_sprite.set; - else - layer_dest = this_one; - end - - if layer_dest then - layer_remove_layer (layer.parent, layer); - layer_add_layer (layer_dest.parent, layer); - layer_move_layer (layer_dest.parent, layer, layer_dest); - end - end -end - --- void MoveLayerAfter (Layer *this_one); --- moves the current layer below the layer "this_one" (if that layer --- is a set, the layer is put in the top of the layer set) -function MoveLayerAfter (this_one) - if current_sprite and current_sprite.layer then - local layer = current_sprite.layer; - local layer_dest; - - if not this_one then - layer_dest = current_sprite.set; - else - layer_dest = this_one; - end - - if layer_dest then - layer_remove_layer (layer.parent, layer); - - -- insert in the first position of the set - if layer_is_set (layer_dest) then - layer_add_layer (layer_dest, layer); - -- insert below the layer - else - layer_add_layer (layer_dest.parent, layer); - layer_move_layer (layer_dest.parent, layer, layer_dest.prev); - end - end - end -end diff --git a/test/manual/etags/lua-src/test.lua b/test/manual/etags/lua-src/test.lua deleted file mode 100644 index 405eb5f1de0..00000000000 --- a/test/manual/etags/lua-src/test.lua +++ /dev/null @@ -1,36 +0,0 @@ -Rectangle = {} -function Rectangle.getPos () -end - -Circle = {} -function Circle.getPos () -end - -Cube = {} -function Cube.data.getFoo () -end - -Square = {} -function Square.something:Bar () -end - --- Comment line - -- Indented comment line - -test = {} - - function test.me_22a(one, two) - print"me_22a" - end - local function test.me22b (one) - print"me_22b" - end - - - test.i_123 = function (x) - print"i_123" -end - - -test.me_12a(1,2) -test.i_123(1) diff --git a/test/manual/etags/make-src/Makefile b/test/manual/etags/make-src/Makefile deleted file mode 100644 index 016c633d791..00000000000 --- a/test/manual/etags/make-src/Makefile +++ /dev/null @@ -1,226 +0,0 @@ -LATEST=17 -RELEASELIST=pot@gnu.org xemacs-review@xemacs.org jcwren@jcwren.com sxemacs-devel@sxemacs.org - -ADASRC=etags-test-for.ada 2ataspri.adb 2ataspri.ads waroquiers.ada -ASRC=empty.zz empty.zz.gz -CSRC=abbrev.c ../etags/h.h .//c.c torture.c getopt.h etags.c\ - exit.c exit.strange_suffix sysdep.h tab.c\ - emacs/src/gmalloc.c emacs/src/regex.h emacs/src/keyboard.c dostorture.c\ - machsyscalls.c machsyscalls.h fail.c a/b/b.c -CPSRC=c.C abstract.C abstract.H cfront.H burton.cpp burton.cpp\ - functions.cpp MDiagArray2.h Pctest.h Range.h\ - screen.cpp screen.hpp conway.cpp conway.hpp clheir.cpp.gz clheir.hpp.gz fail.C -ELSRC=TAGTEST.EL emacs/lisp/progmodes/etags.el -ERLSRC=gs_dialog.erl lines.erl lists.erl -FORTHSRC=test-forth.fth -FSRC=entry.for entry.strange_suffix entry.strange -HTMLSRC=softwarelibero.html index.shtml algrthms.html software.html -JAVASRC=AWTEMul.java KeyEve.java SMan.java SysCol.java TG.java -LUASRC=allegro.lua -MAKESRC=Makefile -OBJCSRC=Subprocess.h Subprocess.m PackInsp.h PackInsp.m -OBJCPPSRC=SimpleCalc.H SimpleCalc.M -PASSRC=common.pas -PERLSRC=htlmify-cystic yagrip.pl kai-test.pl mirror.pl -PHPSRC=lce_functions.php ptest.php sendmail.php -PSSRC=rfc1245.ps -PROLSRC=ordsets.prolog natded.prolog -PYTSRC=server.py -TEXSRC=testenv.tex gzip.texi texinfo.tex nonewline.tex -YSRC=parse.y parse.c atest.y cccp.c cccp.y -SRCS=Makefile ${ADASRC} ${ASRC} ${CSRC} ${CPSRC} ${ELSRC} ${ERLSRC} ${FSRC}\ - ${FORTHSRC} ${HTMLSRC} ${JAVASRC} ${LUASRC} ${MAKESRC} ${OBJCSRC}\ - ${OBJCPPSRC} ${PASSRC} ${PHPSRC} ${PERLSRC} ${PSSRC} ${PROLSRC} ${PYTSRC}\ - ${TEXSRC} ${YSRC} -NONSRCS=entry.strange lists.erl clheir.hpp.gz - -VHDLFLAGS=--language=none --regex='/[ \t]*\(ARCHITECTURE\|CONFIGURATION\) +[^ ]* +OF/' --regex='/[ \t]*\(ATTRIBUTE\|ENTITY\|FUNCTION\|PACKAGE\( BODY\)?\|PROCEDURE\|PROCESS\|TYPE\)[ \t]+\([^ \t(]+\)/\3/' -COBOLFLAGS=--language=none --regex='/.......[a-zA-Z0-9-]+\./' -POSTSCRIPTFLAGS=--language=none --regex='#/[^ \t{]+#' -TCLFLAGS=--lang=none --regex='/proc[ \t]+\([^ \t]+\)/\1/' - -GETOPTOBJS= #getopt.o getopt1.o -RXINCLUDE=-Iemacs/src -REGEXOBJS=regex.o - -CHECKOBJS=chkmalloc.o chkxm.o -CHECKFLAGS=-DDEBUG -Wno-unused-function -OBJS=${GETOPTOBJS} ${REGEXOBJS} ${CHECKOBJS} -CPPFLAGS=${CHECKFLAGS} -DSTDC_HEADERS -DHAVE_GETCWD ${RXINCLUDE} -I. -LDFLAGS=#-static -lc_p -WARNINGS=-pedantic -Wall -Wpointer-arith -Winline -Wmissing-prototypes -Wmissing-declarations -Wunused -Wformat -Wno-switch -Wsign-compare -Wpointer-arith -Wshadow -Wstrict-prototypes -CFLAGS=${WARNINGS} -ansi -g3 # -pg -O -#CC=gcc-3.0 -#TARGET_ARCH= -FASTCFLAGS=-O3 -finline-functions -ffast-math -funroll-loops -FASTCFLAGSWARN=${WARNINGS} -Werror ${FASTCFLAGS} - -FILTER=grep -v '\.[Cchefy][lor]*,[1-9][0-9]*' || true -REGEX=/[ \t]*DEFVAR_[A-Z_ \t\n(]+"\([^"]+\)"/ -xx="this line is here because of a fontlock bug - -MAKE:=$(MAKE) --no-print-directory -RUN=time --quiet --format '%U + %S: %E' -RUN= -OPTIONS=--members --declarations --regex=@regexfile -ARGS=- < srclist - -infiles = $(filter-out ${NONSRCS},${SRCS}) srclist regexfile - -quiettest: - @rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc - @-$(MAKE) OPTIONS='--no-members' ${LATEST}ediff - @-$(MAKE) OPTIONS='--declarations --no-members' ${LATEST}ediff - @-$(MAKE) OPTIONS='--members' ${LATEST}ediff - @-$(MAKE) OPTIONS='--regex=@regexfile --no-members' ${LATEST}ediff - @-$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ${LATEST}ediff - @-$(MAKE) ${LATEST}cdiff - -test: - @rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc - @$(MAKE) OPTIONS='--no-members' ${LATEST}ediff - @$(MAKE) OPTIONS='--declarations --no-members' ${LATEST}ediff - @$(MAKE) OPTIONS='--members' ${LATEST}ediff - @$(MAKE) OPTIONS='--regex=@regexfile --no-members' ${LATEST}ediff - @$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ${LATEST}ediff - @$(MAKE) ${LATEST}cdiff - -${CHECKOBJS}: CFLAGS=-g3 -DNULLFREECHECK=0 - -checker: - @rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc ${REGEXOBJS} - @env CHECKEROPTS="--trace --profile --Wfree-null" \ - $(MAKE) CFLAGS= CHECKOBJS= CHECKFLAGS= CC=checkergcc ${LATEST}ediff - rm -f $REGEXOBJS - -standalone: - rm -f etags ctags - @$(MAKE) etags "CPPFLAGS=-UVERSION" - @$(MAKE) ctags "CPPFLAGS=-UVERSION" - -prof: ETAGS - prof -xgs etags - -fastetags: - rm -f etags ${GETOPTOBJS} ${REGEXOBJS} - @$(MAKE) CHECKOBJS= CHECKFLAGS= etags "CFLAGS=-ansi ${FASTCFLAGSWARN}" - -fastctags: - rm -f ctags ${GETOPTOBJS} ${REGEXOBJS} - @$(MAKE) CHECKOBJS= CHECKFLAGS= ctags "CFLAGS=-ansi ${FASTCFLAGSWARN}" - -staticetags: - rm -f etags ${GETOPTOBJS} ${REGEXOBJS} - @$(MAKE) etags CHECKOBJS= CHECKFLAGS= REGEXOBJS= GETOPTOBJS= RXINCLUDE= "CFLAGS=${FASTCFLAGSWARN} -static" - -rsynctofly: - rsync --exclude "*~" --exclude core --exclude etags -zauRv . fly:gnu/etags/ - -rsyncfromfly: - rsync --exclude "*~" --exclude core --exclude etags -zauRv fly:gnu/etags/ ../.. - -web ftp publish: - @-printf '\ttesting with debugging enabled...\n'; $(MAKE) quiettest - @-printf '\ttesting standalone...\n'; $(MAKE) standalone quiettest - @-printf '\ttesting fast versions...\n'; $(MAKE) fastetags fastctags quiettest - @$(MAKE) /home/www/pub/etags.c.gz - @$(MAKE) /home/www/pub/software/unix/etags.tar.gz - -release distrib: web - cat xemacs-mail | /usr/sbin/sendmail -f pot@gnu.org ${RELEASELIST} - mv etags etags${LATEST} - mv ctags ctags${LATEST} - -tags: TAGS - -clean: - rm -f ${OBJS} etags ETAGS - -srclist: Makefile - @for i in $(SRCS); do echo $$i; done > srclist - @echo srclist remade - -regexfile: Makefile - @echo ' -- This is for GNU Emacs source files' > regexfile - @echo '${REGEX}' >> regexfile - @echo '{c}${REGEX}\\1/m' >> regexfile - @echo regexfile remade - -/home/www/pub/etags.c.gz: etags.c - co -kv etags.c - gzip --best -c etags.c > $@ - -#/home/www/pub/software/unix/etags.tar.gz: Makefile staticetags etags.1.man ETAGS.EBNF ETAGS.README -# tar -hzcf $@ COPYING ChangeLog ETAGS.EBNF etags.c etags.1 etags.1.man etags - -/home/www/pub/software/unix/etags.tar.gz: Makefile etags.1.man ETAGS.EBNF ETAGS.README maintaining.texi - tar -hzcf $@ COPYING ChangeLog ETAGS.EBNF ETAGS.README etags.c etags.1 etags.1.man maintaining.texi - -regex.o: emacs/src/regex.c - $(CC) ${FASTCFLAGS} -c $? - -getopt.o: emacs/lib-src/getopt.c - $(CC) ${FASTCFLAGS} -c $? - -getopt1.o: emacs/lib-src/getopt1.c - $(CC) ${FASTCFLAGS} -c $? - -etags: etags.c ${OBJS} - $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o etags etags.c ${OBJS} - -ctags: etags.c ${OBJS} - $(CC) $(CFLAGS) $(CPPFLAGS) -DCTAGS $(LDFLAGS) -o ctags etags.c ${OBJS} - -man manpage: etags.1.man - -etags.1.man: etags.1 - nroff -man -Tman etags.1 > $@ - -maintaining.info: maintaining.texi - makeinfo --force --no-split maintaining.texi - -TAGS: etags.c - etags etags.c - -%ediff: ETAGS% ETAGS ${infiles} - sdiff --suppress-common-lines --width=103 ETAGS$* ETAGS - -oediff: OTAGS ETAGS ${infiles} - sdiff --suppress-common-lines --width=103 OTAGS ETAGS - -%cdiff: CTAGS% CTAGS ${infiles} - sdiff --suppress-common-lines --width=103 CTAGS$* CTAGS - -xdiff: ETAGS EXTAGS ${infiles} - sdiff --suppress-common-lines --width=103 ETAGS EXTAGS - -ETAGS: FRC etags ${infiles} - ${RUN} ./etags ${OPTIONS} -o $@ ${ARGS} - -ETAGS%: FRC etags% ${infiles} - ${RUN} etags$* ${OPTIONS} -o $@ ${ARGS} - -ETAGS13 ETAGS14 ETAGS15: etags% ${infiles} - TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=@regexfile} -o $@ ${ARGS} - -ETAGS12: etags12 ${infiles} - ${RUN} etags12 --members -o $@ --regex='${REGEX}' ${ARGS} - -OTAGS: oetags ${SRCS} srclist - ${RUN} ./oetags -o $@ -t ${ARGS} - -CTAGS: ctags ${infiles} - ${RUN} ./ctags -o $@ --regex=@regexfile ${ARGS} - -CTAGS%: ctags% ${infiles} - ${RUN} ctags$* -wtTd --globals --members -o $@ --regex=@regexfile ${ARGS} - -CTAGS13 CTAGS14 CTAGS15: ctags% ${infiles} - TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex='${REGEX}' ${ARGS} - -EXTAGS: extags ${infiles} Makefile - ${RUN} ./extags -e --regex-c='${REGEX}' --c++-types=+x --c-types=+x --if0=yes --line-directives=yes -o $@ -L - < srclist - -.PRECIOUS: ETAGS CTAGS ETAGS16 CTAGS16 ETAGS17 CTAGS17 - -FRC:; diff --git a/test/manual/etags/merc-src/accumulator.m b/test/manual/etags/merc-src/accumulator.m deleted file mode 100644 index 0ee41216c11..00000000000 --- a/test/manual/etags/merc-src/accumulator.m +++ /dev/null @@ -1,1962 +0,0 @@ -%---------------------------------------------------------------------------% -% vim: ft=mercury ts=4 sw=4 et -%---------------------------------------------------------------------------% -% Copyright (C) 1999-2000,2002-2007, 2009-2012 The University of Melbourne. -% Copyright (C) 2015 The Mercury team. -% This file may only be copied under the terms of the GNU General -% Public License - see the file COPYING in the Mercury distribution. -%---------------------------------------------------------------------------% -% -% Module: accumulator.m. -% Main authors: petdr. -% -% Attempts to transform a single proc to a tail recursive form by -% introducing accumulators. The algorithm can do this if the code after -% the recursive call has either the order independent state update or -% associative property. -% -% /* Order independent State update property */ -% :- promise all [A,B,S0,S] -% ( -% (some[SA] (update(A, S0, SA), update(B, SA, S))) -% <=> -% (some[SB] (update(B, S0, SB), update(A, SB, S))) -% ). -% -% /* Associativity property */ -% :- promise all [A,B,C,ABC] -% ( -% (some[AB] (assoc(A, B, AB), assoc(AB, C, ABC))) -% <=> -% (some[BC] (assoc(B, C, BC), assoc(A, BC, ABC))) -% ). -% -% XXX What about exceptions and non-termination? -% -% The promise declarations above only provide promises about the declarative -% semantics, but in order to apply this optimization, we ought to check that -% it will preserve the operational semantics (modulo whatever changes are -% allowed by the language semantics options). -% -% Currently we check and respect the --fully-strict option, but not the -% --no-reorder-conj option. XXX we should check --no-reorder-conj! -% If --no-reorder-conj was set, it would still be OK to apply this -% transformation, but ONLY in cases where the goals which get reordered -% are guaranteed not to throw any exceptions. -% -% The algorithm implemented is a combination of the algorithms from -% "Making Mercury Programs Tail Recursive" and -% "State Update Transformation", which can be found at -% . -% -% Note that currently "State Update Transformation" paper only resides -% in CVS papers archive in the directory update, but has been submitted -% to PPDP '00. -% -% The transformation recognises predicates in the form -% -% p(In, OutUpdate, OutAssoc) :- -% minimal(In), -% initialize(OutUpdate), -% base(OutAssoc). -% p(In, OutUpdate, OutAssoc) :- -% decompose(In, Current, Rest), -% p(Rest, OutUpdate0, OutAssoc0), -% update(Current, OutUpdate0, OutUpdate), -% assoc(Current, OutAssoc0, OutAssoc). -% -% which can be transformed by the algorithm in "State Update Transformation" to -% -% p(In, OutUpdate, OutAssoc) :- -% initialize(AccUpdate), -% p_acc(In, OutUpdate, OutAssoc, AccUpdate). -% -% p_acc(In, OutUpdate, OutAssoc, AccUpdate) :- -% minimal(In), -% base(OutAssoc), -% OutUpdate = AccUpdate. -% p_acc(In, OutUpdate, OutAssoc, AccUpdate0) :- -% decompose(In, Current, Rest), -% update(Current, AccUpdate0, AccUpdate), -% p_acc(Rest, OutUpdate, OutAssoc0, AccUpdate), -% assoc(Current, OutAssoc0, OutAssoc). -% -% we then apply the algorithm from "Making Mercury Programs Tail Recursive" -% to p_acc to obtain -% -% p_acc(In, OutUpdate, OutAssoc, AccUpdate) :- -% minimal(In), -% base(OutAssoc), -% OutUpdate = AccUpdate. -% p_acc(In, OutUpdate, OutAssoc, AccUpdate0) :- -% decompose(In, Current, Rest), -% update(Current, AccUpdate0, AccUpdate), -% p_acc2(Rest, OutUpdate, OutAssoc, AccUpdate, Current). -% -% p_acc2(In, OutUpdate, OutAssoc, AccUpdate0, AccAssoc0) :- -% minimal(In), -% base(Base), -% assoc(AccAssoc0, Base, OutAssoc), -% OutUpdate = AccUpdate0. -% p_acc2(In, OutUpdate, OutAssoc, AccUpdate0, AccAssoc0) :- -% decompose(In, Current, Rest), -% update(Current, AccUpdate0, AccUpdate), -% assoc(AccAssoc0, Current, AccAssoc), -% p_acc2(Rest, OutUpdate, OutAssoc, AccUpdate, AccAssoc). -% -% p_acc is no longer recursive and is only ever called from p, so we -% inline p_acc into p to obtain the final schema. -% -% p(In, OutUpdate, OutAssoc) :- -% minimal(In), -% base(OutAssoc), -% initialize(AccUpdate), -% OutUpdate = AccUpdate. -% p(In, OutUpdate, OutAssoc) :- -% decompose(In, Current, Rest), -% initialize(AccUpdate0), -% update(Current, AccUpdate0, AccUpdate), -% p_acc2(Rest, OutUpdate, OutAssoc, AccUpdate, Current). -% -% p_acc2(In, OutUpdate, OutAssoc, AccUpdate0, AccAssoc0) :- -% minimal(In), -% base(Base), -% assoc(AccAssoc0, Base, OutAssoc), -% OutUpdate = AccUpdate0. -% p_acc2(In, OutUpdate, OutAssoc, AccUpdate0, AccAssoc0) :- -% decompose(In, Current, Rest), -% update(Current, AccUpdate0, AccUpdate), -% assoc(AccAssoc0, Current, AccAssoc), -% p_acc2(Rest, OutUpdate, OutAssoc, AccUpdate, AccAssoc). -% -% The only real difficulty in this new transformation is identifying the -% initialize/1 and base/1 goals from the original base case. -% -% Note that if the recursive clause contains multiple calls to p, the -% transformation attempts to move each recursive call to the end -% until one succeeds. This makes the order of independent recursive -% calls in the body irrelevant. -% -% XXX Replace calls to can_reorder_goals with calls to the version that -% use the intermodule-analysis framework. -% -%---------------------------------------------------------------------------% - -:- module transform_hlds.accumulator. -:- interface. - -:- import_module hlds. -:- import_module hlds.hlds_module. -:- import_module hlds.hlds_pred. - -:- import_module univ. - - % Attempt to transform a procedure into accumulator recursive form. - % If we succeed, we will add the recursive version of the procedure - % to the module_info. However, we may also encounter errors, which - % we will add to the list of error_specs in the univ accumulator. - % -:- pred accu_transform_proc(pred_proc_id::in, pred_info::in, - proc_info::in, proc_info::out, module_info::in, module_info::out, - univ::in, univ::out) is det. - -%---------------------------------------------------------------------------% -%---------------------------------------------------------------------------% - -:- implementation. - -:- import_module hlds.assertion. -:- import_module hlds.goal_util. -:- import_module hlds.hlds_error_util. -:- import_module hlds.hlds_goal. -:- import_module hlds.hlds_out. -:- import_module hlds.hlds_out.hlds_out_util. -:- import_module hlds.hlds_promise. -:- import_module hlds.instmap. -:- import_module hlds.pred_table. -:- import_module hlds.quantification. -:- import_module hlds.status. -:- import_module hlds.vartypes. -:- import_module libs. -:- import_module libs.globals. -:- import_module libs.optimization_options. -:- import_module libs.options. -:- import_module mdbcomp. -:- import_module mdbcomp.sym_name. -:- import_module parse_tree. -:- import_module parse_tree.error_util. -:- import_module parse_tree.prog_data. -:- import_module parse_tree.prog_mode. -:- import_module parse_tree.prog_util. -:- import_module parse_tree.set_of_var. -:- import_module transform_hlds.goal_store. - -:- import_module assoc_list. -:- import_module bool. -:- import_module int. -:- import_module io. -:- import_module list. -:- import_module map. -:- import_module maybe. -:- import_module pair. -:- import_module require. -:- import_module set. -:- import_module solutions. -:- import_module string. -:- import_module term. -:- import_module varset. - -%---------------------------------------------------------------------------% - - % The form of the goal around the base and recursive cases. - % -:- type top_level - ---> switch_base_rec - ; switch_rec_base - ; disj_base_rec - ; disj_rec_base - ; ite_base_rec - ; ite_rec_base. - - % An accu_goal_id represents a goal. The first field says which conjunction - % the goal came from (the base case or the recursive case), and the second - % gives the location of the goal in that conjunction. - % -:- type accu_goal_id - ---> accu_goal_id(accu_case, int). - -:- type accu_case - ---> accu_base - ; accu_rec. - - % The goal_store associates a goal with each goal_id. - % -:- type accu_goal_store == goal_store(accu_goal_id). - - % A substitution from the first variable name to the second. - % -:- type accu_subst == map(prog_var, prog_var). - -:- type accu_warning - ---> accu_warn(prog_context, pred_id, prog_var, prog_var). - % Warn that two prog_vars in a call to pred_id at the given context - % were swapped, which may cause an efficiency problem. - -%---------------------------------------------------------------------------% - -accu_transform_proc(proc(PredId, ProcId), PredInfo, !ProcInfo, !ModuleInfo, - !Cookie) :- - module_info_get_globals(!.ModuleInfo, Globals), - globals.get_opt_tuple(Globals, OptTuple), - DoLCMC = OptTuple ^ ot_opt_lcmc_accumulator, - globals.lookup_bool_option(Globals, fully_strict, FullyStrict), - ( if - should_attempt_accu_transform(!ModuleInfo, PredId, ProcId, PredInfo, - !ProcInfo, FullyStrict, DoLCMC, Warnings) - then - globals.lookup_bool_option(Globals, very_verbose, VeryVerbose), - ( - VeryVerbose = yes, - trace [io(!IO)] ( - module_info_get_name(!.ModuleInfo, ModuleName), - get_progress_output_stream(Globals, ModuleName, - ProgressStream, !IO), - PredStr = pred_id_to_string(!.ModuleInfo, PredId), - io.format(ProgressStream, - "%% Accumulators introduced into %s\n", [s(PredStr)], !IO) - ) - ; - VeryVerbose = no - ), - - ( - Warnings = [] - ; - Warnings = [_ | _], - pred_info_get_context(PredInfo, Context), - PredPieces = describe_one_pred_name(!.ModuleInfo, - should_module_qualify, PredId), - InPieces = [words("In") | PredPieces] ++ [suffix(":"), nl], - InMsg = simple_msg(Context, - [option_is_set(warn_accumulator_swaps, yes, - [always(InPieces)])]), - - proc_info_get_varset(!.ProcInfo, VarSet), - generate_warnings(!.ModuleInfo, VarSet, Warnings, WarnMsgs), - ( - Warnings = [_], - EnsurePieces = [words("Please ensure that this"), - words("argument rearrangement does not introduce"), - words("performance problems.")] - ; - Warnings = [_, _ | _], - EnsurePieces = [words("Please ensure that these"), - words("argument rearrangements do not introduce"), - words("performance problems.")] - ), - SuppressPieces = - [words("These warnings can be suppressed by"), - quote("--no-warn-accumulator-swaps"), suffix(".")], - VerbosePieces = [words("If a predicate has been declared"), - words("associative"), - words("via a"), quote("promise"), words("declaration,"), - words("the compiler will rearrange the order of"), - words("the arguments in calls to that predicate,"), - words("if by so doing it makes the containing predicate"), - words("tail recursive. In such situations, the compiler"), - words("will issue this warning. If this reordering"), - words("changes the performance characteristics"), - words("of the call to the predicate, use"), - quote("--no-accumulator-introduction"), - words("to turn the optimization off, or "), - quote("--no-warn-accumulator-swaps"), - words("to turn off the warnings.")], - EnsureSuppressMsg = simple_msg(Context, - [option_is_set(warn_accumulator_swaps, yes, - [always(EnsurePieces), always(SuppressPieces)]), - verbose_only(verbose_once, VerbosePieces)]), - Severity = severity_conditional(warn_accumulator_swaps, yes, - severity_warning, no), - Msgs = [InMsg | WarnMsgs] ++ [EnsureSuppressMsg], - Spec = error_spec($pred, Severity, phase_accumulator_intro, Msgs), - - det_univ_to_type(!.Cookie, Specs0), - Specs = [Spec | Specs0], - type_to_univ(Specs, !:Cookie) - ) - else - true - ). - -%---------------------------------------------------------------------------% -%---------------------------------------------------------------------------% - -:- pred generate_warnings(module_info::in, prog_varset::in, - list(accu_warning)::in, list(error_msg)::out) is det. - -generate_warnings(_, _, [], []). -generate_warnings(ModuleInfo, VarSet, [Warning | Warnings], [Msg | Msgs]) :- - generate_warning(ModuleInfo, VarSet, Warning, Msg), - generate_warnings(ModuleInfo, VarSet, Warnings, Msgs). - -:- pred generate_warning(module_info::in, prog_varset::in, accu_warning::in, - error_msg::out) is det. - -generate_warning(ModuleInfo, VarSet, Warning, Msg) :- - Warning = accu_warn(Context, PredId, VarA, VarB), - PredPieces = describe_one_pred_name(ModuleInfo, should_module_qualify, - PredId), - - varset.lookup_name(VarSet, VarA, VarAName), - varset.lookup_name(VarSet, VarB, VarBName), - - Pieces = [words("warning: the call to")] ++ PredPieces ++ - [words("has had the location of the variables"), - quote(VarAName), words("and"), quote(VarBName), - words("swapped to allow accumulator introduction."), nl], - Msg = simplest_msg(Context, Pieces). - -%---------------------------------------------------------------------------% -%---------------------------------------------------------------------------% - - % should_attempt_accu_transform is only true iff the current proc - % has been transformed to call the newly created accumulator proc. - % -:- pred should_attempt_accu_transform(module_info::in, module_info::out, - pred_id::in, proc_id::in, pred_info::in, proc_info::in, proc_info::out, - bool::in, maybe_opt_lcmc_accumulator::in, - list(accu_warning)::out) is semidet. - -should_attempt_accu_transform(!ModuleInfo, PredId, ProcId, PredInfo, - !ProcInfo, FullyStrict, DoLCMC, Warnings) :- - proc_info_get_goal(!.ProcInfo, Goal0), - proc_info_get_headvars(!.ProcInfo, HeadVars), - proc_info_get_initial_instmap(!.ModuleInfo, !.ProcInfo, InitialInstMap), - accu_standardize(Goal0, Goal), - identify_goal_type(PredId, ProcId, Goal, InitialInstMap, - TopLevel, Base, BaseInstMap, Rec, RecInstMap), - - C = initialize_goal_store(Rec, RecInstMap, Base, BaseInstMap), - identify_recursive_calls(PredId, ProcId, C, RecCallIds), - list.length(Rec, M), - - should_attempt_accu_transform_2(!ModuleInfo, PredId, PredInfo, !ProcInfo, - HeadVars, InitialInstMap, TopLevel, FullyStrict, DoLCMC, - RecCallIds, C, M, Rec, Warnings). - - % should_attempt_accu_transform_2 takes a list of locations of the - % recursive calls, and attempts to introduce accumulator into each of the - % recursive calls, stopping at the first one that succeeds. - % This catches the following case, as selecting the first recursive call - % allows the second recursive call to be moved before it, and - % OutA is in the correct spot in list.append. - % - % p(InA, OutA), - % p(InB, OutB), - % list.append(OutB, OutA, Out) - % -:- pred should_attempt_accu_transform_2(module_info::in, module_info::out, - pred_id::in, pred_info::in, proc_info::in, proc_info::out, - list(prog_var)::in, instmap::in, top_level::in, bool::in, - maybe_opt_lcmc_accumulator::in, - list(accu_goal_id)::in, accu_goal_store::in, int::in, list(hlds_goal)::in, - list(accu_warning)::out) is semidet. - -should_attempt_accu_transform_2(!ModuleInfo, PredId, PredInfo, !ProcInfo, - HeadVars, InitialInstMap, TopLevel, FullyStrict, DoLCMC, - [Id | Ids], C, M, Rec, Warnings) :- - proc_info_get_vartypes(!.ProcInfo, VarTypes0), - identify_out_and_out_prime(!.ModuleInfo, VarTypes0, InitialInstMap, - Id, Rec, HeadVars, Out, OutPrime, HeadToCallSubst, CallToHeadSubst), - ( if - accu_stage1(!.ModuleInfo, VarTypes0, FullyStrict, DoLCMC, Id, M, C, - Sets), - accu_stage2(!.ModuleInfo, !.ProcInfo, Id, C, Sets, OutPrime, Out, - VarSet, VarTypes, Accs, BaseCase, BasePairs, Substs, CS, - WarningsPrime), - accu_stage3(Id, Accs, VarSet, VarTypes, C, CS, Substs, - HeadToCallSubst, CallToHeadSubst, BaseCase, BasePairs, Sets, Out, - TopLevel, PredId, PredInfo, !ProcInfo, !ModuleInfo) - then - Warnings = WarningsPrime - else - should_attempt_accu_transform_2(!ModuleInfo, PredId, PredInfo, - !ProcInfo, HeadVars, InitialInstMap, TopLevel, FullyStrict, DoLCMC, - Ids, C, M, Rec, Warnings) - ). - -%---------------------------------------------------------------------------% -%---------------------------------------------------------------------------% - - % Transform the goal into a standard form that is amenable to - % introducing accumulators. - % - % At the moment all this does is remove any extra disj/conj wrappers - % around the top level goal. - % - % Future work is for this code to rearrange code with multiple base - % and recursive cases into a single base and recursive case. - % -:- pred accu_standardize(hlds_goal::in, hlds_goal::out) is det. - -accu_standardize(Goal0, Goal) :- - ( if - Goal0 = hlds_goal(GoalExpr0, _), - ( - GoalExpr0 = conj(plain_conj, [Goal1]) - ; - GoalExpr0 = disj([Goal1]) - ) - then - accu_standardize(Goal1, Goal) - else - Goal = Goal0 - ). - -%---------------------------------------------------------------------------% -%---------------------------------------------------------------------------% - - % This predicate takes the original goal and identifies the `shape' - % of the goal around the recursive and base cases. - % - % Note that the base case can contain a recursive call, as the - % transformation doesn't depend on what is in the base case. - % -:- pred identify_goal_type(pred_id::in, proc_id::in, hlds_goal::in, - instmap::in, top_level::out, list(hlds_goal)::out, instmap::out, - list(hlds_goal)::out, instmap::out) is semidet. - -identify_goal_type(PredId, ProcId, Goal, InitialInstMap, Type, - Base, BaseInstMap, Rec, RecInstMap) :- - Goal = hlds_goal(GoalExpr, _GoalInfo), - ( - GoalExpr = switch(_Var, _CanFail, Cases), - ( if - Cases = [case(_IdA, [], GoalA), case(_IdB, [], GoalB)], - goal_to_conj_list(GoalA, GoalAList), - goal_to_conj_list(GoalB, GoalBList) - then - ( if is_recursive_case(GoalAList, proc(PredId, ProcId)) then - Type = switch_rec_base, - Base = GoalBList, - Rec = GoalAList - else if is_recursive_case(GoalBList, proc(PredId, ProcId)) then - Type = switch_base_rec, - Base = GoalAList, - Rec = GoalBList - else - fail - ), - BaseInstMap = InitialInstMap, - RecInstMap = InitialInstMap - else - fail - ) - ; - GoalExpr = disj(Goals), - ( if - Goals = [GoalA, GoalB], - goal_to_conj_list(GoalA, GoalAList), - goal_to_conj_list(GoalB, GoalBList) - then - ( if is_recursive_case(GoalAList, proc(PredId, ProcId)) then - Type = disj_rec_base, - Base = GoalBList, - Rec = GoalAList - else if is_recursive_case(GoalBList, proc(PredId, ProcId)) then - Type = disj_base_rec, - Base = GoalAList, - Rec = GoalBList - else - fail - ), - BaseInstMap = InitialInstMap, - RecInstMap = InitialInstMap - else - fail - ) - ; - GoalExpr = if_then_else(_Vars, Cond, Then, Else), - Cond = hlds_goal(_CondGoalExpr, CondGoalInfo), - CondInstMapDelta = goal_info_get_instmap_delta(CondGoalInfo), - - goal_to_conj_list(Then, GoalAList), - goal_to_conj_list(Else, GoalBList), - ( if is_recursive_case(GoalAList, proc(PredId, ProcId)) then - Type = ite_rec_base, - Base = GoalBList, - Rec = GoalAList, - - BaseInstMap = InitialInstMap, - apply_instmap_delta(CondInstMapDelta, InitialInstMap, RecInstMap) - else if is_recursive_case(GoalBList, proc(PredId, ProcId)) then - Type = ite_base_rec, - Base = GoalAList, - Rec = GoalBList, - - RecInstMap = InitialInstMap, - apply_instmap_delta(CondInstMapDelta, InitialInstMap, BaseInstMap) - else - fail - ) - ). - - % is_recursive_case(Gs, Id) is true iff the list of goals, Gs, - % contains a call to the procedure specified by Id, where the call - % is located in a position that can be used by the transformation - % (i.e. not hidden in a compound goal). - % -:- pred is_recursive_case(list(hlds_goal)::in, pred_proc_id::in) is semidet. - -is_recursive_case(Goals, proc(PredId, ProcId)) :- - list.append(_Initial, [RecursiveCall | _Final], Goals), - RecursiveCall = hlds_goal(plain_call(PredId, ProcId, _, _, _, _), _). - -%---------------------------------------------------------------------------% -%---------------------------------------------------------------------------% - - % The store info is folded over the list of goals which - % represent the base and recursive case conjunctions. -:- type store_info - ---> store_info( - store_loc :: int, - % The location of the goal in the conjunction. - store_instmap :: instmap, - store_goals :: accu_goal_store - ). - - % Initialise the goal_store, which will hold the C_{a,b} goals. - % -:- func initialize_goal_store(list(hlds_goal), instmap, - list(hlds_goal), instmap) = accu_goal_store. - -initialize_goal_store(Rec, RecInstMap, Base, BaseInstMap) = C :- - goal_store_init(C0), - list.foldl3(accu_store(accu_rec), Rec, - 1, _, RecInstMap, _, C0, C1), - list.foldl3(accu_store(accu_base), Base, - 1, _, BaseInstMap, _, C1, C). - -:- pred accu_store(accu_case::in, hlds_goal::in, - int::in, int::out, instmap::in, instmap::out, - accu_goal_store::in, accu_goal_store::out) is det. - -accu_store(Case, Goal, !N, !InstMap, !GoalStore) :- - Id = accu_goal_id(Case, !.N), - goal_store_det_insert(Id, stored_goal(Goal, !.InstMap), !GoalStore), - - !:N = !.N + 1, - Goal = hlds_goal(_, GoalInfo), - InstMapDelta = goal_info_get_instmap_delta(GoalInfo), - apply_instmap_delta(InstMapDelta, !InstMap). - -%---------------------------------------------------------------------------% -%---------------------------------------------------------------------------% - - % Determine the k's which are recursive calls. - % Note that this doesn't find recursive calls which are `hidden' - % in compound goals, this is not a problem as currently we can't use - % these to do transformation. - % -:- pred identify_recursive_calls(pred_id::in, proc_id::in, - accu_goal_store::in, list(accu_goal_id)::out) is det. - -identify_recursive_calls(PredId, ProcId, GoalStore, Ids) :- - P = - ( pred(Key::out) is nondet :- - goal_store_member(GoalStore, Key, stored_goal(Goal, _InstMap)), - Key = accu_goal_id(accu_rec, _), - Goal = hlds_goal(plain_call(PredId, ProcId, _, _, _, _), _) - ), - solutions.solutions(P, Ids). - -%---------------------------------------------------------------------------% -%---------------------------------------------------------------------------% - - % Determine the variables which are members of the sets Out and Out', - % and initialize the substitutions between the two sets. - % - % This is done by identifying those variables whose instantiatedness change - % in the goals after the recursive call and are headvars. - % - % Note that we are only identifying the output variables which will need - % to be accumulated, as there may be other output variables which are - % produced prior to the recursive call. - % -:- pred identify_out_and_out_prime(module_info::in, vartypes::in, instmap::in, - accu_goal_id::in, list(hlds_goal)::in, - list(prog_var)::in, list(prog_var)::out, list(prog_var)::out, - accu_subst::out, accu_subst::out) is det. - -identify_out_and_out_prime(ModuleInfo, VarTypes, InitialInstMap, GoalId, - Rec, HeadVars, Out, OutPrime, HeadToCallSubst, CallToHeadSubst) :- - GoalId = accu_goal_id(_Case, K), - ( if - list.take(K, Rec, InitialGoals), - list.drop(K-1, Rec, FinalGoals), - FinalGoals = [hlds_goal(plain_call(_, _, Args, _, _, _), _) | Rest] - then - goal_list_instmap_delta(InitialGoals, InitInstMapDelta), - apply_instmap_delta( InitInstMapDelta, - InitialInstMap, InstMapBeforeRest), - - goal_list_instmap_delta(Rest, InstMapDelta), - apply_instmap_delta(InstMapDelta, InstMapBeforeRest, InstMapAfterRest), - - instmap_changed_vars(ModuleInfo, VarTypes, - InstMapBeforeRest, InstMapAfterRest, ChangedVars), - - assoc_list.from_corresponding_lists(HeadVars, Args, HeadArg0), - - Member = - ( pred(M::in) is semidet :- - M = HeadVar - _, - set_of_var.member(ChangedVars, HeadVar) - ), - list.filter(Member, HeadArg0, HeadArg), - list.map(fst, HeadArg, Out), - list.map(snd, HeadArg, OutPrime), - - map.from_assoc_list(HeadArg, HeadToCallSubst), - - list.map((pred(X-Y::in, Y-X::out) is det), HeadArg, ArgHead), - map.from_assoc_list(ArgHead, CallToHeadSubst) - else - unexpected($pred, "test failed") - ). - -%---------------------------------------------------------------------------% -%---------------------------------------------------------------------------% - - % For each goal after the recursive call, we place that goal - % into a set according to what properties that goal has. - % For the definition of what goes into each set, inspect the documentation - % for the functions named before, assoc, and so on. - % -:- type accu_sets - ---> accu_sets( - as_before :: set(accu_goal_id), - as_assoc :: set(accu_goal_id), - as_construct_assoc :: set(accu_goal_id), - as_construct :: set(accu_goal_id), - as_update :: set(accu_goal_id), - as_reject :: set(accu_goal_id) - ). - - % Stage 1 is responsible for identifying which goals are associative, - % which can be moved before the recursive call and so on. - % -:- pred accu_stage1(module_info::in, vartypes::in, bool::in, - maybe_opt_lcmc_accumulator::in, accu_goal_id::in, int::in, - accu_goal_store::in, accu_sets::out) is semidet. - -accu_stage1(ModuleInfo, VarTypes, FullyStrict, DoLCMC, GoalId, M, GoalStore, - Sets) :- - GoalId = accu_goal_id(Case, K), - NextGoalId = accu_goal_id(Case, K + 1), - accu_sets_init(Sets0), - accu_stage1_2(ModuleInfo, VarTypes, FullyStrict, NextGoalId, K, M, - GoalStore, Sets0, Sets1), - Sets1 = accu_sets(Before, Assoc, - ConstructAssoc, Construct, Update, Reject), - Sets = accu_sets(Before `set.union` set_upto(Case, K - 1), Assoc, - ConstructAssoc, Construct, Update, Reject), - - % Continue the transformation only if the set reject is empty and - % the set assoc or update contains something that needs to be moved - % before the recursive call. - set.is_empty(Reject), - ( - not set.is_empty(Assoc) - ; - not set.is_empty(Update) - ), - ( - DoLCMC = do_not_opt_lcmc_accumulator, - % If LCMC is not turned on, then there must be no construction - % unifications after the recursive call. - set.is_empty(Construct), - set.is_empty(ConstructAssoc) - ; - DoLCMC = opt_lcmc_accumulator - ). - - % For each goal after the recursive call decide which set - % the goal belongs to. - % -:- pred accu_stage1_2(module_info::in, vartypes::in, bool::in, - accu_goal_id::in, int::in, int::in, accu_goal_store::in, - accu_sets::in, accu_sets::out) is det. - -accu_stage1_2(ModuleInfo, VarTypes, FullyStrict, GoalId, K, M, GoalStore, - !Sets) :- - GoalId = accu_goal_id(Case, I), - NextGoalId = accu_goal_id(Case, I + 1), - ( if I > M then - true - else - ( if - accu_before(ModuleInfo, VarTypes, FullyStrict, GoalId, K, - GoalStore, !.Sets) - then - !Sets ^ as_before := set.insert(!.Sets ^ as_before, GoalId), - accu_stage1_2(ModuleInfo, VarTypes, FullyStrict, NextGoalId, K, M, - GoalStore, !Sets) - else if - accu_assoc(ModuleInfo, VarTypes, FullyStrict, GoalId, K, - GoalStore, !.Sets) - then - !Sets ^ as_assoc := set.insert(!.Sets ^ as_assoc, GoalId), - accu_stage1_2(ModuleInfo, VarTypes, FullyStrict, NextGoalId, K, M, - GoalStore, !Sets) - else if - accu_construct(ModuleInfo, VarTypes, FullyStrict, GoalId, K, - GoalStore, !.Sets) - then - !Sets ^ as_construct := set.insert(!.Sets ^ as_construct, GoalId), - accu_stage1_2(ModuleInfo, VarTypes, FullyStrict, NextGoalId, K, M, - GoalStore, !Sets) - else if - accu_construct_assoc(ModuleInfo, VarTypes, FullyStrict, GoalId, K, - GoalStore, !.Sets) - then - !Sets ^ as_construct_assoc := - set.insert(!.Sets ^ as_construct_assoc, GoalId), - accu_stage1_2(ModuleInfo, VarTypes, FullyStrict, NextGoalId, K, M, - GoalStore, !Sets) - else if - accu_update(ModuleInfo, VarTypes, FullyStrict, GoalId, K, - GoalStore, !.Sets) - then - !Sets ^ as_update := set.insert(!.Sets ^ as_update, GoalId), - accu_stage1_2(ModuleInfo, VarTypes, FullyStrict, NextGoalId, K, M, - GoalStore, !Sets) - else - !Sets ^ as_reject := set.insert(!.Sets ^ as_reject, GoalId) - ) - ). - -%---------------------------------------------------------------------------% - -:- pred accu_sets_init(accu_sets::out) is det. - -accu_sets_init(Sets) :- - set.init(EmptySet), - Before = EmptySet, - Assoc = EmptySet, - ConstructAssoc = EmptySet, - Construct = EmptySet, - Update = EmptySet, - Reject = EmptySet, - Sets = accu_sets(Before, Assoc, ConstructAssoc, Construct, Update, Reject). - - % set_upto(Case, K) returns the set - % {accu_goal_id(Case, 1) .. accu_goal_id(Case, K)}. - % -:- func set_upto(accu_case, int) = set(accu_goal_id). - -set_upto(Case, K) = Set :- - ( if K =< 0 then - set.init(Set) - else - Set0 = set_upto(Case, K - 1), - set.insert(accu_goal_id(Case, K), Set0, Set) - ). - -%---------------------------------------------------------------------------% - - % A goal is a member of the before set iff the goal only depends on goals - % which are before the recursive call or can be moved before the recursive - % call (member of the before set). - % -:- pred accu_before(module_info::in, vartypes::in, bool::in, - accu_goal_id::in, int::in, accu_goal_store::in, accu_sets::in) is semidet. - -accu_before(ModuleInfo, VarTypes, FullyStrict, GoalId, K, GoalStore, Sets) :- - GoalId = accu_goal_id(Case, _I), - Before = Sets ^ as_before, - goal_store_lookup(GoalStore, GoalId, stored_goal(LaterGoal, LaterInstMap)), - ( - member_lessthan_goalid(GoalStore, GoalId, LessThanGoalId, - stored_goal(EarlierGoal, EarlierInstMap)), - not can_reorder_goals_old(ModuleInfo, VarTypes, FullyStrict, - EarlierInstMap, EarlierGoal, LaterInstMap, LaterGoal) - ) - => - ( - set.member(LessThanGoalId, set_upto(Case, K - 1) `union` Before) - ). - - % A goal is a member of the assoc set iff the goal only depends on goals - % upto and including the recursive call and goals which can be moved - % before the recursive call (member of the before set) AND the goal - % is associative. - % -:- pred accu_assoc(module_info::in, vartypes::in, bool::in, - accu_goal_id::in, int::in, accu_goal_store::in, accu_sets::in) is semidet. - -accu_assoc(ModuleInfo, VarTypes, FullyStrict, GoalId, K, GoalStore, Sets) :- - GoalId = accu_goal_id(Case, _I), - Before = Sets ^ as_before, - goal_store_lookup(GoalStore, GoalId, stored_goal(LaterGoal, LaterInstMap)), - LaterGoal = hlds_goal(plain_call(PredId, _, Args, _, _, _), _), - accu_is_associative(ModuleInfo, PredId, Args, _), - ( - % XXX LessThanGoalId was _N - J, not N - J: it ignored the case. - % See the diff with the previous version. - member_lessthan_goalid(GoalStore, GoalId, LessThanGoalId, - stored_goal(EarlierGoal, EarlierInstMap)), - not can_reorder_goals_old(ModuleInfo, VarTypes, FullyStrict, - EarlierInstMap, EarlierGoal, LaterInstMap, LaterGoal) - ) - => - ( - set.member(LessThanGoalId, set_upto(Case, K) `union` Before) - ). - - % A goal is a member of the construct set iff the goal only depends - % on goals upto and including the recursive call and goals which - % can be moved before the recursive call (member of the before set) - % AND the goal is construction unification. - % -:- pred accu_construct(module_info::in, vartypes::in, bool::in, - accu_goal_id::in, int::in, accu_goal_store::in, accu_sets::in) is semidet. - -accu_construct(ModuleInfo, VarTypes, FullyStrict, GoalId, K, GoalStore, - Sets) :- - GoalId = accu_goal_id(Case, _I), - Before = Sets ^ as_before, - Construct = Sets ^ as_construct, - goal_store_lookup(GoalStore, GoalId, stored_goal(LaterGoal, LaterInstMap)), - LaterGoal = hlds_goal(unify(_, _, _, Unify, _), _GoalInfo), - Unify = construct(_, _, _, _, _, _, _), - ( - % XXX LessThanGoalId was _N - J, not N - J: it ignored the case. - % See the diff with the previous version. - member_lessthan_goalid(GoalStore, GoalId, LessThanGoalId, - stored_goal(EarlierGoal, EarlierInstMap)), - not can_reorder_goals_old(ModuleInfo, VarTypes, FullyStrict, - EarlierInstMap, EarlierGoal, LaterInstMap, LaterGoal) - ) - => - ( - set.member(LessThanGoalId, - set_upto(Case, K) `union` Before `union` Construct) - ). - - % A goal is a member of the construct_assoc set iff the goal depends only - % on goals upto and including the recursive call and goals which can be - % moved before the recursive call (member of the before set) and goals - % which are associative AND the goal is construction unification AND - % there is only one member of the assoc set which the construction - % unification depends on AND the construction unification can be expressed - % as a call to the member of the assoc set which the construction - % unification depends on. - % -:- pred accu_construct_assoc(module_info::in, vartypes::in, bool::in, - accu_goal_id::in, int::in, accu_goal_store::in, accu_sets::in) is semidet. - -accu_construct_assoc(ModuleInfo, VarTypes, FullyStrict, - GoalId, K, GoalStore, Sets) :- - GoalId = accu_goal_id(Case, _I), - Before = Sets ^ as_before, - Assoc = Sets ^ as_assoc, - ConstructAssoc = Sets ^ as_construct_assoc, - goal_store_lookup(GoalStore, GoalId, stored_goal(LaterGoal, LaterInstMap)), - LaterGoal = hlds_goal(unify(_, _, _, Unify, _), _GoalInfo), - Unify = construct(_, ConsId, _, _, _, _, _), - - goal_store_all_ancestors(GoalStore, GoalId, VarTypes, ModuleInfo, - FullyStrict, Ancestors), - - set.is_singleton(Assoc `intersect` Ancestors, AssocId), - goal_store_lookup(GoalStore, AssocId, - stored_goal(AssocGoal, _AssocInstMap)), - AssocGoal = hlds_goal(plain_call(PredId, _, _, _, _, _), _), - - is_associative_construction(ModuleInfo, PredId, ConsId), - ( - % XXX LessThanGoalId was _N - J, not N - J: it ignored the case. - % See the diff with the previous version. - member_lessthan_goalid(GoalStore, GoalId, LessThanGoalId, - stored_goal(EarlierGoal, EarlierInstMap)), - not can_reorder_goals_old(ModuleInfo, VarTypes, FullyStrict, - EarlierInstMap, EarlierGoal, LaterInstMap, LaterGoal) - ) - => - ( - set.member(LessThanGoalId, - set_upto(Case, K) `union` Before `union` Assoc - `union` ConstructAssoc) - ). - - % A goal is a member of the update set iff the goal only depends - % on goals upto and including the recursive call and goals which - % can be moved before the recursive call (member of the before set) - % AND the goal updates some state. - % -:- pred accu_update(module_info::in, vartypes::in, bool::in, - accu_goal_id::in, int::in, accu_goal_store::in, accu_sets::in) is semidet. - -accu_update(ModuleInfo, VarTypes, FullyStrict, GoalId, K, GoalStore, Sets) :- - GoalId = accu_goal_id(Case, _I), - Before = Sets ^ as_before, - goal_store_lookup(GoalStore, GoalId, stored_goal(LaterGoal, LaterInstMap)), - LaterGoal = hlds_goal(plain_call(PredId, _, Args, _, _, _), _), - accu_is_update(ModuleInfo, PredId, Args, _), - ( - % XXX LessThanGoalId was _N - J, not N - J: it ignored the case. - % See the diff with the previous version. - member_lessthan_goalid(GoalStore, GoalId, LessThanGoalId, - stored_goal(EarlierGoal, EarlierInstMap)), - not can_reorder_goals_old(ModuleInfo, VarTypes, FullyStrict, - EarlierInstMap, EarlierGoal, LaterInstMap, LaterGoal) - ) - => - ( - set.member(LessThanGoalId, set_upto(Case, K) `union` Before) - ). - - % member_lessthan_goalid(GS, IdA, IdB, GB) is true iff the goal_id, IdB, - % and its associated goal, GB, is a member of the goal_store, GS, - % and IdB is less than IdA. - % -:- pred member_lessthan_goalid(accu_goal_store::in, - accu_goal_id::in, accu_goal_id::out, stored_goal::out) is nondet. - -member_lessthan_goalid(GoalStore, GoalId, LessThanGoalId, LessThanGoal) :- - goal_store_member(GoalStore, LessThanGoalId, LessThanGoal), - GoalId = accu_goal_id(Case, I), - LessThanGoalId = accu_goal_id(Case, J), - J < I. - -%---------------------------------------------------------------------------% - -:- type accu_assoc - ---> accu_assoc( - set_of_progvar, % the associative input args - prog_var, % the corresponding output arg - bool % is the predicate commutative? - ). - - % If accu_is_associative is true, it returns the two arguments which are - % associative and the variable which depends on those two arguments, - % and an indicator of whether or not the predicate is commutative. - % -:- pred accu_is_associative(module_info::in, pred_id::in, list(prog_var)::in, - accu_assoc::out) is semidet. - -accu_is_associative(ModuleInfo, PredId, Args, Result) :- - module_info_pred_info(ModuleInfo, PredId, PredInfo), - pred_info_get_assertions(PredInfo, Assertions), - AssertionsList = set.to_sorted_list(Assertions), - associativity_assertion(ModuleInfo, AssertionsList, Args, - AssociativeVarsOutputVar), - ( if - commutativity_assertion(ModuleInfo, AssertionsList, Args, - _CommutativeVars) - then - IsCommutative = yes - else - IsCommutative = no - ), - AssociativeVarsOutputVar = - associative_vars_output_var(AssociativeVars, OutputVar), - Result = accu_assoc(AssociativeVars, OutputVar, IsCommutative). - - % Does there exist one (and only one) associativity assertion for the - % current predicate? - % The 'and only one condition' is required because we currently - % do not handle the case of predicates which have individual parts - % which are associative, because then we do not know which variable - % is descended from which. - % -:- pred associativity_assertion(module_info::in, list(assert_id)::in, - list(prog_var)::in, associative_vars_output_var::out) is semidet. - -associativity_assertion(ModuleInfo, [AssertId | AssertIds], Args0, - AssociativeVarsOutputVar) :- - ( if - assertion.is_associativity_assertion(ModuleInfo, AssertId, - Args0, AssociativeVarsOutputVarPrime) - then - AssociativeVarsOutputVar = AssociativeVarsOutputVarPrime, - not associativity_assertion(ModuleInfo, AssertIds, Args0, _) - else - associativity_assertion(ModuleInfo, AssertIds, Args0, - AssociativeVarsOutputVar) - ). - - % Does there exist one (and only one) commutativity assertion for the - % current predicate? - % The 'and only one condition' is required because we currently - % do not handle the case of predicates which have individual - % parts which are commutative, because then we do not know which variable - % is descended from which. - % -:- pred commutativity_assertion(module_info::in,list(assert_id)::in, - list(prog_var)::in, set_of_progvar::out) is semidet. - -commutativity_assertion(ModuleInfo, [AssertId | AssertIds], Args0, - CommutativeVars) :- - ( if - assertion.is_commutativity_assertion(ModuleInfo, AssertId, - Args0, CommutativeVarsPrime) - then - CommutativeVars = CommutativeVarsPrime, - not commutativity_assertion(ModuleInfo, AssertIds, Args0, _) - else - commutativity_assertion(ModuleInfo, AssertIds, Args0, - CommutativeVars) - ). - -%---------------------------------------------------------------------------% - - % Does the current predicate update some state? - % -:- pred accu_is_update(module_info::in, pred_id::in, list(prog_var)::in, - state_update_vars::out) is semidet. - -accu_is_update(ModuleInfo, PredId, Args, ResultStateVars) :- - module_info_pred_info(ModuleInfo, PredId, PredInfo), - pred_info_get_assertions(PredInfo, Assertions), - list.filter_map( - ( pred(AssertId::in, StateVars::out) is semidet :- - assertion.is_update_assertion(ModuleInfo, AssertId, - PredId, Args, StateVars) - ), - set.to_sorted_list(Assertions), Result), - % XXX Maybe we should just match on the first result, - % just in case there are duplicate promises. - Result = [ResultStateVars]. - -%---------------------------------------------------------------------------% - - % Can the construction unification be expressed as a call to the - % specified predicate. - % -:- pred is_associative_construction(module_info::in, pred_id::in, cons_id::in) - is semidet. - -is_associative_construction(ModuleInfo, PredId, ConsId) :- - module_info_pred_info(ModuleInfo, PredId, PredInfo), - pred_info_get_assertions(PredInfo, Assertions), - list.filter( - ( pred(AssertId::in) is semidet :- - assertion.is_construction_equivalence_assertion(ModuleInfo, - AssertId, ConsId, PredId) - ), - set.to_sorted_list(Assertions), Result), - Result = [_ | _]. - -%---------------------------------------------------------------------------% -%---------------------------------------------------------------------------% - -:- type accu_substs - ---> accu_substs( - acc_var_subst :: accu_subst, - rec_call_subst :: accu_subst, - assoc_call_subst :: accu_subst, - update_subst :: accu_subst - ). - -:- type accu_base - ---> accu_base( - % goals which initialize update - init_update :: set(accu_goal_id), - - % goals which initialize assoc - init_assoc :: set(accu_goal_id), - - % other goals - other :: set(accu_goal_id) - ). - - % Stage 2 is responsible for identifying the substitutions which - % are needed to mimic the unfold/fold process that was used as - % the justification of the algorithm in the paper. - % It is also responsible for ensuring that the reordering of arguments - % doesn't worsen the big-O complexity of the procedure. - % It also divides the base case into goals that initialize the - % variables used by the update goals, and those used by the assoc - % goals and then all the rest. - % -:- pred accu_stage2(module_info::in, proc_info::in, - accu_goal_id::in, accu_goal_store::in, accu_sets::in, - list(prog_var)::in, list(prog_var)::in, prog_varset::out, vartypes::out, - list(prog_var)::out, accu_base::out, list(pair(prog_var))::out, - accu_substs::out, accu_goal_store::out, list(accu_warning)::out) - is semidet. - -accu_stage2(ModuleInfo, ProcInfo0, GoalId, GoalStore, Sets, OutPrime, Out, - !:VarSet, !:VarTypes, Accs, BaseCase, BasePairs, !:Substs, - CS, Warnings) :- - Sets = accu_sets(Before0, Assoc, ConstructAssoc, Construct, Update, _), - GoalId = accu_goal_id(Case, K), - Before = Before0 `union` set_upto(Case, K-1), - - % Note Update set is not placed in the after set, as the after set is used - % to determine the variables that need to be accumulated for the - % associative calls. - After = Assoc `union` ConstructAssoc `union` Construct, - - P = - ( pred(Id::in, Set0::in, Set::out) is det :- - goal_store_lookup(GoalStore, Id, stored_goal(Goal, _InstMap)), - Goal = hlds_goal(_GoalExpr, GoalInfo), - NonLocals = goal_info_get_nonlocals(GoalInfo), - set_of_var.union(NonLocals, Set0, Set) - ), - list.foldl(P, set.to_sorted_list(Before), - set_of_var.init, BeforeNonLocals), - list.foldl(P, set.to_sorted_list(After), - set_of_var.init, AfterNonLocals), - InitAccs = set_of_var.intersect(BeforeNonLocals, AfterNonLocals), - - proc_info_get_varset(ProcInfo0, !:VarSet), - proc_info_get_vartypes(ProcInfo0, !:VarTypes), - - accu_substs_init(set_of_var.to_sorted_list(InitAccs), !VarSet, !VarTypes, - !:Substs), - - set_of_var.list_to_set(OutPrime, OutPrimeSet), - accu_process_assoc_set(ModuleInfo, GoalStore, set.to_sorted_list(Assoc), - OutPrimeSet, !Substs, !VarSet, !VarTypes, CS, Warnings), - - accu_process_update_set(ModuleInfo, GoalStore, set.to_sorted_list(Update), - OutPrimeSet, !Substs, !VarSet, !VarTypes, UpdateOut, UpdateAccOut, - BasePairs), - - Accs = set_of_var.to_sorted_list(InitAccs) ++ UpdateAccOut, - - accu_divide_base_case(ModuleInfo, !.VarTypes, GoalStore, UpdateOut, Out, - UpdateBase, AssocBase, OtherBase), - - BaseCase = accu_base(UpdateBase, AssocBase, OtherBase). - -%---------------------------------------------------------------------------% - -:- pred accu_substs_init(list(prog_var)::in, prog_varset::in, prog_varset::out, - vartypes::in, vartypes::out, accu_substs::out) is det. - -accu_substs_init(InitAccs, !VarSet, !VarTypes, Substs) :- - map.init(Subst), - acc_var_subst_init(InitAccs, !VarSet, !VarTypes, AccVarSubst), - RecCallSubst = Subst, - AssocCallSubst = Subst, - UpdateSubst = Subst, - Substs = accu_substs(AccVarSubst, RecCallSubst, AssocCallSubst, - UpdateSubst). - - % Initialise the acc_var_subst to be from Var to A_Var where Var is a - % member of InitAccs and A_Var is a fresh variable of the same type of Var. - % -:- pred acc_var_subst_init(list(prog_var)::in, - prog_varset::in, prog_varset::out, vartypes::in, vartypes::out, - accu_subst::out) is det. - -acc_var_subst_init([], !VarSet, !VarTypes, map.init). -acc_var_subst_init([Var | Vars], !VarSet, !VarTypes, Subst) :- - create_new_var(Var, "A_", AccVar, !VarSet, !VarTypes), - acc_var_subst_init(Vars, !VarSet, !VarTypes, Subst0), - map.det_insert(Var, AccVar, Subst0, Subst). - - % Create a fresh variable which is the same type as the old variable - % and has the same name except that it begins with the prefix. - % -:- pred create_new_var(prog_var::in, string::in, prog_var::out, - prog_varset::in, prog_varset::out, vartypes::in, vartypes::out) is det. - -create_new_var(OldVar, Prefix, NewVar, !VarSet, !VarTypes) :- - varset.lookup_name(!.VarSet, OldVar, OldName), - string.append(Prefix, OldName, NewName), - varset.new_named_var(NewName, NewVar, !VarSet), - lookup_var_type(!.VarTypes, OldVar, Type), - add_var_type(NewVar, Type, !VarTypes). - -%---------------------------------------------------------------------------% - - % For each member of the assoc set determine the substitutions needed, - % and also check the efficiency of the procedure isn't worsened - % by reordering the arguments to a call. - % -:- pred accu_process_assoc_set(module_info::in, accu_goal_store::in, - list(accu_goal_id)::in, set_of_progvar::in, - accu_substs::in, accu_substs::out, - prog_varset::in, prog_varset::out, vartypes::in, vartypes::out, - accu_goal_store::out, list(accu_warning)::out) is semidet. - -accu_process_assoc_set(_ModuleInfo, _GS, [], _OutPrime, !Substs, - !VarSet, !VarTypes, CS, []) :- - goal_store_init(CS). -accu_process_assoc_set(ModuleInfo, GS, [Id | Ids], OutPrime, !Substs, - !VarSet, !VarTypes, CS, Warnings) :- - !.Substs = accu_substs(AccVarSubst, RecCallSubst0, AssocCallSubst0, - UpdateSubst), - - lookup_call(GS, Id, stored_goal(Goal, InstMap)), - - Goal = hlds_goal(plain_call(PredId, _, Args, _, _, _), GoalInfo), - accu_is_associative(ModuleInfo, PredId, Args, AssocInfo), - AssocInfo = accu_assoc(Vars, AssocOutput, IsCommutative), - OutPrimeVars = set_of_var.intersect(Vars, OutPrime), - set_of_var.is_singleton(OutPrimeVars, DuringAssocVar), - set_of_var.is_singleton(set_of_var.difference(Vars, OutPrimeVars), - BeforeAssocVar), - - map.lookup(AccVarSubst, BeforeAssocVar, AccVar), - create_new_var(BeforeAssocVar, "NewAcc_", NewAcc, !VarSet, !VarTypes), - - map.det_insert(DuringAssocVar, AccVar, AssocCallSubst0, AssocCallSubst1), - map.det_insert(AssocOutput, NewAcc, AssocCallSubst1, AssocCallSubst), - map.det_insert(DuringAssocVar, AssocOutput, RecCallSubst0, RecCallSubst1), - map.det_insert(BeforeAssocVar, NewAcc, RecCallSubst1, RecCallSubst), - - !:Substs = accu_substs(AccVarSubst, RecCallSubst, AssocCallSubst, - UpdateSubst), - - % ONLY swap the order of the variables if the goal is - % associative and not commutative. - ( - IsCommutative = yes, - CSGoal = stored_goal(Goal, InstMap), - CurWarnings = [] - ; - IsCommutative = no, - - % Ensure that the reordering doesn't cause a efficiency problem. - module_info_pred_info(ModuleInfo, PredId, PredInfo), - ModuleName = pred_info_module(PredInfo), - PredName = pred_info_name(PredInfo), - Arity = pred_info_orig_arity(PredInfo), - ( if accu_has_heuristic(ModuleName, PredName, Arity) then - % Only do the transformation if the accumulator variable is - % *not* in a position where it will control the running time - % of the predicate. - accu_heuristic(ModuleName, PredName, Arity, Args, - PossibleDuringAssocVars), - set_of_var.member(PossibleDuringAssocVars, DuringAssocVar), - CurWarnings = [] - else - ProgContext = goal_info_get_context(GoalInfo), - CurWarnings = [accu_warn(ProgContext, PredId, BeforeAssocVar, - DuringAssocVar)] - ), - % Swap the arguments. - [A, B] = set_of_var.to_sorted_list(Vars), - map.from_assoc_list([A - B, B - A], Subst), - rename_some_vars_in_goal(Subst, Goal, SwappedGoal), - CSGoal = stored_goal(SwappedGoal, InstMap) - ), - - accu_process_assoc_set(ModuleInfo, GS, Ids, OutPrime, !Substs, - !VarSet, !VarTypes, CS0, Warnings0), - goal_store_det_insert(Id, CSGoal, CS0, CS), - Warnings = Warnings0 ++ CurWarnings. - -:- pred accu_has_heuristic(module_name::in, string::in, arity::in) is semidet. - -accu_has_heuristic(unqualified("list"), "append", 3). - - % heuristic returns the set of which head variables are important - % in the running time of the predicate. - % -:- pred accu_heuristic(module_name::in, string::in, arity::in, - list(prog_var)::in, set_of_progvar::out) is semidet. - -accu_heuristic(unqualified("list"), "append", 3, [_Typeinfo, A, _B, _C], - Set) :- - set_of_var.make_singleton(A, Set). - -%---------------------------------------------------------------------------% - - % For each member of the update set determine the substitutions needed - % (creating the accumulator variables when needed). - % Also associate with each Output variable which accumulator variable - % to get the result from. - % -:- pred accu_process_update_set(module_info::in, accu_goal_store::in, - list(accu_goal_id)::in, set_of_progvar::in, - accu_substs::in, accu_substs::out, - prog_varset::in, prog_varset::out, vartypes::in, vartypes::out, - list(prog_var)::out, list(prog_var)::out, list(pair(prog_var))::out) - is semidet. - -accu_process_update_set(_ModuleInfo, _GS, [], _OutPrime, !Substs, - !VarSet, !VarTypes, [], [], []). -accu_process_update_set(ModuleInfo, GS, [Id | Ids], OutPrime, !Substs, - !VarSet, !VarTypes, StateOutputVars, Accs, BasePairs) :- - !.Substs = accu_substs(AccVarSubst0, RecCallSubst0, AssocCallSubst, - UpdateSubst0), - lookup_call(GS, Id, stored_goal(Goal, _InstMap)), - - Goal = hlds_goal(plain_call(PredId, _, Args, _, _, _), _GoalInfo), - accu_is_update(ModuleInfo, PredId, Args, StateVars), - StateVars = state_update_vars(StateVarA, StateVarB), - - ( if set_of_var.member(OutPrime, StateVarA) then - StateInputVar = StateVarA, - StateOutputVar = StateVarB - else - StateInputVar = StateVarB, - StateOutputVar = StateVarA - ), - - create_new_var(StateInputVar, "Acc_", Acc0, !VarSet, !VarTypes), - create_new_var(StateOutputVar, "Acc_", Acc, !VarSet, !VarTypes), - - map.det_insert(StateInputVar, Acc0, UpdateSubst0, UpdateSubst1), - map.det_insert(StateOutputVar, Acc, UpdateSubst1, UpdateSubst), - map.det_insert(StateInputVar, StateOutputVar, RecCallSubst0, RecCallSubst), - map.det_insert(Acc, Acc0, AccVarSubst0, AccVarSubst), - !:Substs = accu_substs(AccVarSubst, RecCallSubst, AssocCallSubst, - UpdateSubst), - - accu_process_update_set(ModuleInfo, GS, Ids, OutPrime, !Substs, - !VarSet, !VarTypes, StateOutputVars0, Accs0, BasePairs0), - - % Rather then concatenating to start of the list we concatenate to the end - % of the list. This allows the accumulator introduction to be applied - % as the heuristic will succeed (remember after transforming the two - % input variables will have their order swapped, so they must be in the - % inefficient order to start with) - - StateOutputVars = StateOutputVars0 ++ [StateOutputVar], - Accs = Accs0 ++ [Acc], - BasePairs = BasePairs0 ++ [StateOutputVar - Acc0]. - -%---------------------------------------------------------------------------% - - % divide_base_case(UpdateOut, Out, U, A, O) is true iff given the output - % variables which are instantiated by update goals, UpdateOut, and all - % the variables that need to be accumulated, Out, divide the base case up - % into three sets, those base case goals which initialize the variables - % used by update calls, U, those which initialize variables used by - % assoc calls, A, and the rest of the goals, O. Note that the sets - % are not necessarily disjoint, as the result of a goal may be used - % to initialize a variable in both U and A, so both U and A will contain - % the same goal_id. - % -:- pred accu_divide_base_case(module_info::in, vartypes::in, - accu_goal_store::in, list(prog_var)::in, list(prog_var)::in, - set(accu_goal_id)::out, set(accu_goal_id)::out, set(accu_goal_id)::out) - is det. - -accu_divide_base_case(ModuleInfo, VarTypes, C, UpdateOut, Out, - UpdateBase, AssocBase, OtherBase) :- - list.delete_elems(Out, UpdateOut, AssocOut), - - list.map(accu_related(ModuleInfo, VarTypes, C), UpdateOut, UpdateBaseList), - list.map(accu_related(ModuleInfo, VarTypes, C), AssocOut, AssocBaseList), - UpdateBase = set.power_union(set.list_to_set(UpdateBaseList)), - AssocBase = set.power_union(set.list_to_set(AssocBaseList)), - - Set = base_case_ids_set(C) `difference` (UpdateBase `union` AssocBase), - set.to_sorted_list(Set, List), - - list.map( - ( pred(GoalId::in, Ancestors::out) is det :- - goal_store_all_ancestors(C, GoalId, VarTypes, - ModuleInfo, no, Ancestors) - ), List, OtherBaseList), - - OtherBase = set.list_to_set(List) `union` - (base_case_ids_set(C) `intersect` - set.power_union(set.list_to_set(OtherBaseList))). - - % accu_related(ModuleInfo, VarTypes, GoalStore, Var, Related): - % - % From GoalStore, return all the goal_ids, Related, which are needed - % to initialize Var. - % -:- pred accu_related(module_info::in, vartypes::in, accu_goal_store::in, - prog_var::in, set(accu_goal_id)::out) is det. - -accu_related(ModuleInfo, VarTypes, GoalStore, Var, Related) :- - solutions.solutions( - ( pred(Key::out) is nondet :- - goal_store_member(GoalStore, Key, stored_goal(Goal, InstMap0)), - Key = accu_goal_id(accu_base, _), - Goal = hlds_goal(_GoalExpr, GoalInfo), - InstMapDelta = goal_info_get_instmap_delta(GoalInfo), - apply_instmap_delta(InstMapDelta, InstMap0, InstMap), - instmap_changed_vars(ModuleInfo, VarTypes, - InstMap0, InstMap, ChangedVars), - set_of_var.is_singleton(ChangedVars, Var) - ), Ids), - ( - Ids = [], - unexpected($pred, "no Id") - ; - Ids = [Id], - goal_store_all_ancestors(GoalStore, Id, VarTypes, ModuleInfo, no, - Ancestors), - list.filter((pred(accu_goal_id(accu_base, _)::in) is semidet), - set.to_sorted_list(set.insert(Ancestors, Id)), RelatedList), - Related = set.list_to_set(RelatedList) - ; - Ids = [_, _ | _], - unexpected($pred, "more than one Id") - ). - -%---------------------------------------------------------------------------% - -:- inst stored_goal_plain_call for goal_store.stored_goal/0 - ---> stored_goal(goal_plain_call, ground). - - % Do a goal_store_lookup where the result is known to be a call. - % -:- pred lookup_call(accu_goal_store::in, accu_goal_id::in, - stored_goal::out(stored_goal_plain_call)) is det. - -lookup_call(GoalStore, Id, stored_goal(Call, InstMap)) :- - goal_store_lookup(GoalStore, Id, stored_goal(Goal, InstMap)), - ( if - Goal = hlds_goal(GoalExpr, GoalInfo), - GoalExpr = plain_call(_, _, _, _, _, _) - then - Call = hlds_goal(GoalExpr, GoalInfo) - else - unexpected($pred, "not a call") - ). - -%---------------------------------------------------------------------------% -%---------------------------------------------------------------------------% - - % accu_stage3 creates the accumulator version of the predicate using - % the substitutions determined in stage2. It also redefines the - % original procedure to call the accumulator version of the procedure. - % -:- pred accu_stage3(accu_goal_id::in, list(prog_var)::in, prog_varset::in, - vartypes::in, accu_goal_store::in, accu_goal_store::in, - accu_substs::in, accu_subst::in, accu_subst::in, - accu_base::in, list(pair(prog_var))::in, accu_sets::in, - list(prog_var)::in, top_level::in, pred_id::in, pred_info::in, - proc_info::in, proc_info::out, module_info::in, module_info::out) is det. - -accu_stage3(RecCallId, Accs, VarSet, VarTypes, C, CS, Substs, - HeadToCallSubst, CallToHeadSubst, BaseCase, BasePairs, Sets, Out, - TopLevel, OrigPredId, OrigPredInfo, !OrigProcInfo, !ModuleInfo) :- - acc_proc_info(Accs, VarSet, VarTypes, Substs, !.OrigProcInfo, - AccTypes, AccProcInfo), - acc_pred_info(AccTypes, Out, AccProcInfo, OrigPredId, OrigPredInfo, - AccProcId, AccPredInfo), - AccName = unqualified(pred_info_name(AccPredInfo)), - - module_info_get_predicate_table(!.ModuleInfo, PredTable0), - predicate_table_insert(AccPredInfo, AccPredId, PredTable0, PredTable), - module_info_set_predicate_table(PredTable, !ModuleInfo), - accu_create_goal(RecCallId, Accs, AccPredId, AccProcId, AccName, Substs, - HeadToCallSubst, CallToHeadSubst, BaseCase, BasePairs, Sets, C, CS, - OrigBaseGoal, OrigRecGoal, AccBaseGoal, AccRecGoal), - - proc_info_get_goal(!.OrigProcInfo, OrigGoal0), - accu_top_level(TopLevel, OrigGoal0, OrigBaseGoal, OrigRecGoal, - AccBaseGoal, AccRecGoal, OrigGoal, AccGoal), - - proc_info_set_goal(OrigGoal, !OrigProcInfo), - proc_info_set_varset(VarSet, !OrigProcInfo), - proc_info_set_vartypes(VarTypes, !OrigProcInfo), - - requantify_proc_general(ordinary_nonlocals_no_lambda, !OrigProcInfo), - update_accumulator_pred(AccPredId, AccProcId, AccGoal, !ModuleInfo). - -%---------------------------------------------------------------------------% - - % Construct a proc_info for the introduced predicate. - % -:- pred acc_proc_info(list(prog_var)::in, prog_varset::in, vartypes::in, - accu_substs::in, proc_info::in, list(mer_type)::out, proc_info::out) - is det. - -acc_proc_info(Accs0, VarSet, VarTypes, Substs, OrigProcInfo, - AccTypes, AccProcInfo) :- - % ProcInfo Stuff that must change. - proc_info_get_headvars(OrigProcInfo, HeadVars0), - proc_info_get_argmodes(OrigProcInfo, HeadModes0), - - proc_info_get_inst_varset(OrigProcInfo, InstVarSet), - proc_info_get_inferred_determinism(OrigProcInfo, Detism), - proc_info_get_goal(OrigProcInfo, Goal), - proc_info_get_context(OrigProcInfo, Context), - proc_info_get_rtti_varmaps(OrigProcInfo, RttiVarMaps), - proc_info_get_is_address_taken(OrigProcInfo, IsAddressTaken), - proc_info_get_has_parallel_conj(OrigProcInfo, HasParallelConj), - proc_info_get_var_name_remap(OrigProcInfo, VarNameRemap), - - Substs = accu_substs(AccVarSubst, _RecCallSubst, _AssocCallSubst, - _UpdateSubst), - list.map(map.lookup(AccVarSubst), Accs0, Accs), - - % We place the extra accumulator variables at the start, because placing - % them at the end breaks the convention that the last variable of a - % function is the output variable. - HeadVars = Accs ++ HeadVars0, - - % XXX we don't want to use the inst of the var as it can be more specific - % than it should be. ie int_const(1) when it should be any integer. - % However this will no longer handle partially instantiated data - % structures. - Inst = ground(shared, none_or_default_func), - inst_lists_to_mode_list([Inst], [Inst], Mode), - list.duplicate(list.length(Accs), list.det_head(Mode), AccModes), - HeadModes = AccModes ++ HeadModes0, - - lookup_var_types(VarTypes, Accs, AccTypes), - - SeqNum = item_no_seq_num, - proc_info_create(Context, SeqNum, VarSet, VarTypes, HeadVars, - InstVarSet, HeadModes, detism_decl_none, Detism, Goal, RttiVarMaps, - IsAddressTaken, HasParallelConj, VarNameRemap, AccProcInfo). - -%---------------------------------------------------------------------------% - - % Construct the pred_info for the introduced predicate. - % -:- pred acc_pred_info(list(mer_type)::in, list(prog_var)::in, proc_info::in, - pred_id::in, pred_info::in, proc_id::out, pred_info::out) is det. - -acc_pred_info(NewTypes, OutVars, NewProcInfo, OrigPredId, OrigPredInfo, - NewProcId, NewPredInfo) :- - % PredInfo stuff that must change. - pred_info_get_arg_types(OrigPredInfo, TypeVarSet, ExistQVars, Types0), - - ModuleName = pred_info_module(OrigPredInfo), - Name = pred_info_name(OrigPredInfo), - PredOrFunc = pred_info_is_pred_or_func(OrigPredInfo), - pred_info_get_context(OrigPredInfo, PredContext), - pred_info_get_markers(OrigPredInfo, Markers), - pred_info_get_class_context(OrigPredInfo, ClassContext), - pred_info_get_origin(OrigPredInfo, OldOrigin), - pred_info_get_var_name_remap(OrigPredInfo, VarNameRemap), - - set.init(Assertions), - - proc_info_get_context(NewProcInfo, Context), - term.context_line(Context, Line), - Counter = 0, - - Types = NewTypes ++ Types0, - - make_pred_name_with_context(ModuleName, "AccFrom", PredOrFunc, Name, - Line, Counter, SymName), - - OutVarNums = list.map(term.var_to_int, OutVars), - Origin = origin_transformed(transform_accumulator(OutVarNums), - OldOrigin, OrigPredId), - GoalType = goal_not_for_promise(np_goal_type_none), - pred_info_create(ModuleName, SymName, PredOrFunc, PredContext, Origin, - pred_status(status_local), Markers, Types, TypeVarSet, - ExistQVars, ClassContext, Assertions, VarNameRemap, GoalType, - NewProcInfo, NewProcId, NewPredInfo). - -%---------------------------------------------------------------------------% - - % create_goal creates the new base and recursive case of the - % original procedure (OrigBaseGoal and OrigRecGoal) and the base - % and recursive cases of accumulator version (AccBaseGoal and - % AccRecGoal). - % -:- pred accu_create_goal(accu_goal_id::in, list(prog_var)::in, - pred_id::in, proc_id::in, sym_name::in, accu_substs::in, - accu_subst::in, accu_subst::in, accu_base::in, - list(pair(prog_var))::in, accu_sets::in, - accu_goal_store::in, accu_goal_store::in, - hlds_goal::out, hlds_goal::out, hlds_goal::out, hlds_goal::out) is det. - -accu_create_goal(RecCallId, Accs, AccPredId, AccProcId, AccName, Substs, - HeadToCallSubst, CallToHeadSubst, BaseIds, BasePairs, - Sets, C, CS, OrigBaseGoal, OrigRecGoal, AccBaseGoal, AccRecGoal) :- - lookup_call(C, RecCallId, stored_goal(OrigCall, _InstMap)), - Call = create_acc_call(OrigCall, Accs, AccPredId, AccProcId, AccName), - create_orig_goal(Call, Substs, HeadToCallSubst, CallToHeadSubst, - BaseIds, Sets, C, OrigBaseGoal, OrigRecGoal), - create_acc_goal(Call, Substs, HeadToCallSubst, BaseIds, BasePairs, - Sets, C, CS, AccBaseGoal, AccRecGoal). - - % create_acc_call takes the original call and generates a call to the - % accumulator version of the call, which can have the substitutions - % applied to it easily. - % -:- func create_acc_call(hlds_goal::in(goal_plain_call), list(prog_var)::in, - pred_id::in, proc_id::in, sym_name::in) = (hlds_goal::out(goal_plain_call)) - is det. - -create_acc_call(OrigCall, Accs, AccPredId, AccProcId, AccName) = Call :- - OrigCall = hlds_goal(OrigCallExpr, GoalInfo), - OrigCallExpr = plain_call(_PredId, _ProcId, Args, Builtin, Context, _Name), - CallExpr = plain_call(AccPredId, AccProcId, Accs ++ Args, Builtin, - Context, AccName), - Call = hlds_goal(CallExpr, GoalInfo). - - % Create the goals which are to replace the original predicate. - % -:- pred create_orig_goal(hlds_goal::in, accu_substs::in, - accu_subst::in, accu_subst::in, accu_base::in, accu_sets::in, - accu_goal_store::in, hlds_goal::out, hlds_goal::out) is det. - -create_orig_goal(Call, Substs, HeadToCallSubst, CallToHeadSubst, - BaseIds, Sets, C, OrigBaseGoal, OrigRecGoal) :- - Substs = accu_substs(_AccVarSubst, _RecCallSubst, _AssocCallSubst, - UpdateSubst), - - BaseIds = accu_base(UpdateBase, _AssocBase, _OtherBase), - Before = Sets ^ as_before, - Update = Sets ^ as_update, - - U = create_new_orig_recursive_goals(UpdateBase, Update, - HeadToCallSubst, UpdateSubst, C), - - rename_some_vars_in_goal(CallToHeadSubst, Call, BaseCall), - Cbefore = accu_goal_list(set.to_sorted_list(Before), C), - Uupdate = accu_goal_list(set.to_sorted_list(UpdateBase) ++ - set.to_sorted_list(Update), U), - Cbase = accu_goal_list(base_case_ids(C), C), - calculate_goal_info(conj(plain_conj, Cbefore ++ Uupdate ++ [BaseCall]), - OrigRecGoal), - calculate_goal_info(conj(plain_conj, Cbase), OrigBaseGoal). - - % Create the goals which are to go in the new accumulator version - % of the predicate. - % -:- pred create_acc_goal(hlds_goal::in, accu_substs::in, accu_subst::in, - accu_base::in, list(pair(prog_var))::in, accu_sets::in, - accu_goal_store::in, accu_goal_store::in, - hlds_goal::out, hlds_goal::out) is det. - -create_acc_goal(Call, Substs, HeadToCallSubst, BaseIds, BasePairs, Sets, - C, CS, AccBaseGoal, AccRecGoal) :- - Substs = accu_substs(AccVarSubst, RecCallSubst, AssocCallSubst, - UpdateSubst), - - BaseIds = accu_base(_UpdateBase, AssocBase, OtherBase), - Sets = accu_sets(Before, Assoc, ConstructAssoc, Construct, Update, - _Reject), - - rename_some_vars_in_goal(RecCallSubst, Call, RecCall), - - Cbefore = accu_goal_list(set.to_sorted_list(Before), C), - - % Create the goals which will be used in the new recursive case. - R = create_new_recursive_goals(Assoc, Construct `union` ConstructAssoc, - Update, AssocCallSubst, AccVarSubst, UpdateSubst, C, CS), - - Rassoc = accu_goal_list(set.to_sorted_list(Assoc), R), - Rupdate = accu_goal_list(set.to_sorted_list(Update), R), - Rconstruct = accu_goal_list(set.to_sorted_list(Construct `union` - ConstructAssoc), R), - - % Create the goals which will be used in the new base case. - B = create_new_base_goals(Assoc `union` Construct `union` - ConstructAssoc, C, AccVarSubst, HeadToCallSubst), - Bafter = set.to_sorted_list(Assoc `union` - Construct `union` ConstructAssoc), - - BaseCase = accu_goal_list(set.to_sorted_list(AssocBase `union` OtherBase) - ++ Bafter, B), - - list.map(acc_unification, BasePairs, UpdateBase), - - calculate_goal_info(conj(plain_conj, Cbefore ++ Rassoc ++ Rupdate - ++ [RecCall] ++ Rconstruct), AccRecGoal), - calculate_goal_info(conj(plain_conj, UpdateBase ++ BaseCase), AccBaseGoal). - - % Create the U set of goals (those that will be used in the original - % recursive case) by renaming all the goals which are used to initialize - % the update state variable using the head_to_call followed by the - % update_subst, and rename all the update goals using the update_subst. - % -:- func create_new_orig_recursive_goals(set(accu_goal_id), set(accu_goal_id), - accu_subst, accu_subst, accu_goal_store) = accu_goal_store. - -create_new_orig_recursive_goals(UpdateBase, Update, HeadToCallSubst, - UpdateSubst, C) - = accu_rename(set.to_sorted_list(Update), UpdateSubst, C, Ubase) :- - Ubase = accu_rename(set.to_sorted_list(UpdateBase), - chain_subst(HeadToCallSubst, UpdateSubst), C, goal_store_init). - - % Create the R set of goals (those that will be used in the new - % recursive case) by renaming all the members of assoc in CS - % using assoc_call_subst and all the members of (construct U - % construct_assoc) in C with acc_var_subst. - % -:- func create_new_recursive_goals(set(accu_goal_id), set(accu_goal_id), - set(accu_goal_id), accu_subst, accu_subst, accu_subst, - accu_goal_store, accu_goal_store) = accu_goal_store. - -create_new_recursive_goals(Assoc, Constructs, Update, - AssocCallSubst, AccVarSubst, UpdateSubst, C, CS) - = accu_rename(set.to_sorted_list(Constructs), AccVarSubst, C, RBase) :- - RBase0 = accu_rename(set.to_sorted_list(Assoc), AssocCallSubst, CS, - goal_store_init), - RBase = accu_rename(set.to_sorted_list(Update), UpdateSubst, C, RBase0). - - % Create the B set of goals (those that will be used in the new base case) - % by renaming all the base case goals of C with head_to_call and all the - % members of (assoc U construct U construct_assoc) of C with acc_var_subst. - % -:- func create_new_base_goals(set(accu_goal_id), accu_goal_store, - accu_subst, accu_subst) = accu_goal_store. - -create_new_base_goals(Ids, C, AccVarSubst, HeadToCallSubst) - = accu_rename(set.to_sorted_list(Ids), AccVarSubst, C, Bbase) :- - Bbase = accu_rename(base_case_ids(C), HeadToCallSubst, C, goal_store_init). - - % acc_unification(O-A, G): - % - % is true if G represents the assignment unification Out = Acc. - % -:- pred acc_unification(pair(prog_var)::in, hlds_goal::out) is det. - -acc_unification(Out - Acc, Goal) :- - UnifyMode = unify_modes_li_lf_ri_rf(free, ground_inst, - ground_inst, ground_inst), - Context = unify_context(umc_explicit, []), - Expr = unify(Out, rhs_var(Acc), UnifyMode, assign(Out,Acc), Context), - set_of_var.list_to_set([Out, Acc], NonLocalVars), - InstMapDelta = instmap_delta_bind_var(Out), - goal_info_init(NonLocalVars, InstMapDelta, detism_det, purity_pure, Info), - Goal = hlds_goal(Expr, Info). - -%---------------------------------------------------------------------------% - - % Given the top level structure of the goal create new version - % with new base and recursive cases plugged in. - % -:- pred accu_top_level(top_level::in, hlds_goal::in, - hlds_goal::in, hlds_goal::in, hlds_goal::in, - hlds_goal::in, hlds_goal::out, hlds_goal::out) is det. - -accu_top_level(TopLevel, Goal, OrigBaseGoal, OrigRecGoal, - NewBaseGoal, NewRecGoal, OrigGoal, NewGoal) :- - ( - TopLevel = switch_base_rec, - ( if - Goal = hlds_goal(switch(Var, CanFail, Cases0), GoalInfo), - Cases0 = [case(IdA, [], _), case(IdB, [], _)] - then - OrigCases = [case(IdA, [], OrigBaseGoal), - case(IdB, [], OrigRecGoal)], - OrigGoal = hlds_goal(switch(Var, CanFail, OrigCases), GoalInfo), - - NewCases = [case(IdA, [], NewBaseGoal), case(IdB, [], NewRecGoal)], - NewGoal = hlds_goal(switch(Var, CanFail, NewCases), GoalInfo) - else - unexpected($pred, "not the correct top level") - ) - ; - TopLevel = switch_rec_base, - ( if - Goal = hlds_goal(switch(Var, CanFail, Cases0), GoalInfo), - Cases0 = [case(IdA, [], _), case(IdB, [], _)] - then - OrigCases = [case(IdA, [], OrigRecGoal), - case(IdB, [], OrigBaseGoal)], - OrigGoal = hlds_goal(switch(Var, CanFail, OrigCases), GoalInfo), - - NewCases = [case(IdA, [], NewRecGoal), case(IdB, [], NewBaseGoal)], - NewGoal = hlds_goal(switch(Var, CanFail, NewCases), GoalInfo) - else - unexpected($pred, "not the correct top level") - ) - ; - TopLevel = disj_base_rec, - ( if - Goal = hlds_goal(disj(Goals), GoalInfo), - Goals = [_, _] - then - OrigGoals = [OrigBaseGoal, OrigRecGoal], - OrigGoal = hlds_goal(disj(OrigGoals), GoalInfo), - - NewGoals = [NewBaseGoal, NewRecGoal], - NewGoal = hlds_goal(disj(NewGoals), GoalInfo) - else - unexpected($pred, "not the correct top level") - ) - ; - TopLevel = disj_rec_base, - ( if - Goal = hlds_goal(disj(Goals), GoalInfo), - Goals = [_, _] - then - OrigGoals = [OrigRecGoal, OrigBaseGoal], - OrigGoal = hlds_goal(disj(OrigGoals), GoalInfo), - - NewGoals = [NewRecGoal, NewBaseGoal], - NewGoal = hlds_goal(disj(NewGoals), GoalInfo) - else - unexpected($pred, "not the correct top level") - ) - ; - TopLevel = ite_base_rec, - ( if Goal = hlds_goal(if_then_else(Vars, Cond, _, _), GoalInfo) then - OrigGoal = hlds_goal(if_then_else(Vars, Cond, - OrigBaseGoal, OrigRecGoal), GoalInfo), - NewGoal = hlds_goal(if_then_else(Vars, Cond, - NewBaseGoal, NewRecGoal), GoalInfo) - else - unexpected($pred, "not the correct top level") - ) - ; - TopLevel = ite_rec_base, - ( if Goal = hlds_goal(if_then_else(Vars, Cond, _, _), GoalInfo) then - OrigGoal = hlds_goal(if_then_else(Vars, Cond, - OrigRecGoal, OrigBaseGoal), GoalInfo), - NewGoal = hlds_goal(if_then_else(Vars, Cond, - NewRecGoal, NewBaseGoal), GoalInfo) - else - unexpected($pred, "not the correct top level") - ) - ). - -%---------------------------------------------------------------------------% - - % Place the accumulator version of the predicate in the HLDS. - % -:- pred update_accumulator_pred(pred_id::in, proc_id::in, - hlds_goal::in, module_info::in, module_info::out) is det. - -update_accumulator_pred(NewPredId, NewProcId, AccGoal, !ModuleInfo) :- - module_info_pred_proc_info(!.ModuleInfo, NewPredId, NewProcId, - PredInfo, ProcInfo0), - proc_info_set_goal(AccGoal, ProcInfo0, ProcInfo1), - requantify_proc_general(ordinary_nonlocals_no_lambda, ProcInfo1, ProcInfo), - module_info_set_pred_proc_info(NewPredId, NewProcId, - PredInfo, ProcInfo, !ModuleInfo). - -%---------------------------------------------------------------------------% -%---------------------------------------------------------------------------% - - % accu_rename(Ids, Subst, From, Initial): - % - % Return a goal_store, Final, which is the result of looking up each - % member of set of goal_ids, Ids, in the goal_store, From, applying - % the substitution and then storing the goal into the goal_store, Initial. - % -:- func accu_rename(list(accu_goal_id), accu_subst, - accu_goal_store, accu_goal_store) = accu_goal_store. - -accu_rename(Ids, Subst, From, Initial) = Final :- - list.foldl( - ( pred(Id::in, GS0::in, GS::out) is det :- - goal_store_lookup(From, Id, stored_goal(Goal0, InstMap)), - rename_some_vars_in_goal(Subst, Goal0, Goal), - goal_store_det_insert(Id, stored_goal(Goal, InstMap), GS0, GS) - ), Ids, Initial, Final). - - % Return all the goal_ids which belong in the base case. - % -:- func base_case_ids(accu_goal_store) = list(accu_goal_id). - -base_case_ids(GS) = Base :- - solutions.solutions( - ( pred(Key::out) is nondet :- - goal_store_member(GS, Key, _Goal), - Key = accu_goal_id(accu_base, _) - ), Base). - -:- func base_case_ids_set(accu_goal_store) = set(accu_goal_id). - -base_case_ids_set(GS) = set.list_to_set(base_case_ids(GS)). - - % Given a list of goal_ids, return the list of hlds_goals from - % the goal_store. - % -:- func accu_goal_list(list(accu_goal_id), accu_goal_store) = list(hlds_goal). - -accu_goal_list(Ids, GS) = Goals :- - list.map( - ( pred(Key::in, G::out) is det :- - goal_store_lookup(GS, Key, stored_goal(G, _)) - ), Ids, Goals). - -%---------------------------------------------------------------------------% -%---------------------------------------------------------------------------% - -:- pred calculate_goal_info(hlds_goal_expr::in, hlds_goal::out) is det. - -calculate_goal_info(GoalExpr, hlds_goal(GoalExpr, GoalInfo)) :- - ( if GoalExpr = conj(plain_conj, GoalList) then - goal_list_nonlocals(GoalList, NonLocals), - goal_list_instmap_delta(GoalList, InstMapDelta), - goal_list_determinism(GoalList, Detism), - - goal_info_init(NonLocals, InstMapDelta, Detism, purity_pure, GoalInfo) - else - unexpected($pred, "not a conj") - ). - -%---------------------------------------------------------------------------% -%---------------------------------------------------------------------------% - -:- func chain_subst(accu_subst, accu_subst) = accu_subst. - -chain_subst(AtoB, BtoC) = AtoC :- - map.keys(AtoB, Keys), - chain_subst_2(Keys, AtoB, BtoC, AtoC). - -:- pred chain_subst_2(list(A)::in, map(A, B)::in, map(B, C)::in, - map(A, C)::out) is det. - -chain_subst_2([], _, _, AtoC) :- - map.init(AtoC). -chain_subst_2([A | As], AtoB, BtoC, AtoC) :- - chain_subst_2(As, AtoB, BtoC, AtoC0), - map.lookup(AtoB, A, B), - ( if map.search(BtoC, B, C) then - map.det_insert(A, C, AtoC0, AtoC) - else - AtoC = AtoC0 - ). - -%---------------------------------------------------------------------------% -:- end_module transform_hlds.accumulator. -%---------------------------------------------------------------------------% - -:- some [T] pred unravel_univ(univ::in, T::out) is det. -:- pragma foreign_export("C", unravel_univ(in, out), "ML_unravel_univ"). -:- pragma foreign_export("C#", unravel_univ(in, out), "ML_unravel_univ"). -:- pragma foreign_export("Java", unravel_univ(in, out), "ML_unravel_univ"). - -unravel_univ(Univ, X) :- - univ_value(Univ) = X. diff --git a/test/manual/etags/objc-src/PackInsp.h b/test/manual/etags/objc-src/PackInsp.h deleted file mode 100644 index 0e3643c8281..00000000000 --- a/test/manual/etags/objc-src/PackInsp.h +++ /dev/null @@ -1,120 +0,0 @@ -/*+++* - * title: PackageInspector.h - * abstract: interface definitions for WM PackageInspector - * author: T.R.Hageman, Groningen, The Netherlands - * created: November 1994 - * modified: (see RCS Log at end) - * copyleft: - * - * Copyright (C) 1994,1995 Tom R. Hageman. - * - * This is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this software; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * description: - * - *---*/ - -#import -#import - -#include - -#import "Subprocess.h" - -#define NUMSTATS 4 -#define TYPESTOSTAT "bom", "info", "sizes", "tiff" - -@interface PackageInspector:WMInspector -{ - // Outlets - id packageArchesField; - id packageDescriptionText; - id packageIconButton; - id packageLocationField; - id packageSizesField; - id packageStatusField; - id packageTitleField; - id packageVersionField; - - id inspectorVersionField; - id infoPanel; - id infoVersionField; - - // other variables. - NXBundle *bundle; // class bundle. - NXBundle *package; // package bundle. - struct stat stats[NUMSTATS]; // for lazy inspection. - enum { listContents, listDescription } revertButtonState; - - Subprocess *archProcess; // To determine architectures. -} - -// Actions. --showInfo:sender; - --open:sender; - -// The workhorses --(BOOL)shouldLoad; --load; --toggleDescription; - -// Load helper methods --loadKeyValuesFrom:(const char *)type inTable:(HashTable *)table; --loadContentsOf:(const char *)type inTable:(HashTable *)table; --loadImage; - -// Support methods --(const char *)getPath:(char *)path forType:(const char *)type; --setRevertButtonTitle; --(const char *)formatSize:(const char *)size inBuf:(char *)buf; - -// Determine architectures, in separate subprocess. --(void)getArchs; -// Subprocess [TRH-enhanced] delegate methods: -// Subprocess delegate methods: --subprocess:(Subprocess *)sender output:(char *)buffer; --subprocessDone:(Subprocess *)sender; - -@end // PackageInspector - -/*====================================================================== - * PackageInspector.h,v - * Revision 1.7 1995/08/17 22:18:24 tom - * (-open:): new method. - * - * Revision 1.6 1995/07/30 16:59:51 tom - * import Subprocess.h; (archProcess): new ivar; - * (-getArchs,-subprocess:output:,-subprocessDone:): new methods; - * added for asynchronous arch-determination. - * - * Revision 1.5 1995/07/29 02:59:55 tom - * (NUMSTATS,TYPESTOSTAT): new defines, (stats[NUMSTATS]): new ivar, replaces - * bomstat, infostat, t ogeneralize lazy-load code. - * - * Revision 1.4 1995/04/02 02:39:05 tom - * (package): NXBundle instead of (const char *). so that localized info files - * are found. (this loses out if *.pkg is a symbolic link, though.) - * - * Revision 1.3 1994/12/07 00:00:36 tom - * add GNU copleft comment. - * - * Revision 1.2 1994/11/25 20:18:56 tom - * (package ivar): use (char*) instead of (NXBundle*) to workaround symlink problems - * - * Revision 1.1 1994/11/24 22:39:56 tom - * Initial revision - * - *======================================================================*/ diff --git a/test/manual/etags/objc-src/PackInsp.m b/test/manual/etags/objc-src/PackInsp.m deleted file mode 100644 index 41cc876850f..00000000000 --- a/test/manual/etags/objc-src/PackInsp.m +++ /dev/null @@ -1,505 +0,0 @@ -/*+++* - * title: PackageInspector.m - * abstract: NEXTSTEP Workspace Manager Inspector for Installer ".pkg" files. - * author: T.R.Hageman, Groningen, The Netherlands - * created: November 1994 - * modified: (see RCS Log at end) - * copyleft: - * - * Copyright (C) 1994,1995 Tom R. Hageman. - * - * This is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this software; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * description: - * - *---*/ - -#ifdef RCS_ID -static const char RCSid[] = -"PackageInspector.m,v 1.8 1995/09/01 21:46:27"; -#endif - -#define VERSION "0.951" - -#ifndef DEBUG -# define DEBUG 0 -#endif -#define LISTCONTENTS 0 // List Contents not yet implemented - -#import "PackageInspector.h" -#include -#include -#include - -// 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, "<>"); - // Well then, how *DOES* Installer determine this??? - [packageArchesField setStringValue:buf]; -#endif - [packageDescriptionText setText:LOOKUP("Description", "")]; - [packageLocationField setStringValue: - LOOKUP("location", LOOKUP("DefaultLocation", "???"))]; - - [self formatSize:[table valueForKey:"InstalledSize"] inBuf:size[0]]; - [self formatSize:[table valueForKey:"CompressedSize"] inBuf:size[1]]; - sprintf(buf, SIZEFORMAT, size[0], size[1]); - [packageSizesField setStringValue:buf]; - - [packageStatusField setStringValue:LOCALIZE(LOOKUP("status", "Uninstalled"))]; - [packageTitleField setStringValue:LOOKUP("Title", "???")]; - [packageVersionField setStringValue:LOOKUP("Version", "???")]; -#undef LOOKUP - // Is this how one frees the contents of a hashtable? - [table freeKeys:free values:free]; - [table free]; - - [self loadImage]; - - return self; -} - --loadKeyValuesFrom:(const char *)type inTable:(HashTable *)table -{ - char path[MAXPATHLEN+1]; - NXStream *stream; - - if (stream = NXMapFile([self getPath:path forType:type], NX_READONLY)) { - int c; - -#if DEBUG & 1 - fprintf(stderr, "loadKeyValuesFrom:%s\n", path); -#endif - while ((c = NXGetc(stream)) >= 0) { - // Buffer sizes should be enough, according to doc. - char key[1024+1], value[1024+1]; - char *p; - - if (NXIsSpace(c)) continue; - if (c == '#') { - while ((c = NXGetc(stream)) >= 0 && c != '\n') ; - continue; - } - // Found key; collect it. - p = key; - do { - if (p < &key[sizeof key-1]) *p++ = c; - } while ((c = NXGetc(stream)) >= 0 && !NXIsSpace(c)); - *p = '\0'; - - // Skip over spaces and tabs. - while (c == ' ' || c == '\t') c = NXGetc(stream); - - // Value is rest of line, up to newline. - p = value; - do { - if (p < &value[sizeof value-1]) *p++ = c; - } while ((c = NXGetc(stream)) >= 0 && c != '\n'); - *p = '\0'; - - // Insert key/value pair in hashtable. -#if DEBUG & 1 - fprintf(stderr, "key:%s value:%s\n", key, value); -#endif - [table insertKey:NXCopyStringBuffer(key) - value:NXCopyStringBuffer(value)]; - } - - NXCloseMemory(stream, NX_FREEBUFFER); - } - return self; - -} - --loadContentsOf:(const char *)type inTable:(HashTable *)table -{ - char path[MAXPATHLEN+1]; - NXStream *stream; - - if (stream = NXMapFile([self getPath:path forType:type], NX_READONLY)) { - char line[1024+1]; - int n = NXRead(stream, line, sizeof line); - - if (n > 0 && line[n-1] == '\n') line[n-1] = '\0'; // remove trailing newline. - - NXCloseMemory(stream, NX_FREEBUFFER); - - [table insertKey:NXCopyStringBuffer(type) - value:NXCopyStringBuffer(line)]; - } - return self; -} - --loadImage -{ - char path[MAXPATHLEN+1]; - NXImage *image; - - // Remove old image from the button. - if (image = [packageIconButton image]) { - [packageIconButton setImage:nil]; - [image free]; - } - // Get the image (if any) from the package - image = [[NXImage allocFromZone:[self zone]] initFromFile:[self getPath:path forType:"tiff"]]; - [packageIconButton setImage:image]; - - return self; -} - - -#define STAT_EQ(s1, s2) ((s1)->st_ino == (s2)->st_ino && \ - (s1)->st_dev == (s2)->st_dev && \ - (s1)->st_mtime == (s2)->st_mtime && \ - (s1)->st_size == (s2)->st_size) - --(BOOL)shouldLoad -{ - char path[MAXPATHLEN+1]; - struct stat newstats[NUMSTATS]; - static const char * const typesToStat[NUMSTATS] = { TYPESTOSTAT }; - BOOL result = NO; - int i; - - for (i = 0; i < NUMSTATS; i++) { - memset(&newstats[i], 0, sizeof(struct stat)); - if (!(stat([self getPath:path forType:typesToStat[i]], &newstats[i]) == 0 && - STAT_EQ(&newstats[i], &stats[i]))) { - result = YES; - ///break; // NOT!!! must stat all for accurate cache. - } - stats[i] = newstats[i]; - } - - return result; -} - --toggleDescription -{ - switch (revertButtonState) { - case listContents: - // TODO: swap views? - revertButtonState = listDescription; - break; - case listDescription: - revertButtonState = listContents; - break; - } - return [self setRevertButtonTitle]; -} - - -// Support methods --(const char *)getPath:(char *)buf forType:(const char *)type -{ - char name[MAXPATHLEN+1]; - - // Get package name, sans extension. - *strrchr(strcpy(name, strrchr([package directory], '/')+1), '.') = '\0'; - - // Now get the full pathname. - [package getPath:buf forResource:name ofType:type]; -#if DEBUG & 2 - fprintf(stderr, "PackageInspector: type=\"%s\" name=\"%s\" path=\"%s\"\n", - type, name, buf); -#endif - return buf; -} - --setRevertButtonTitle -{ -#if LISTCONTENTS - [[[self revertButton] - setTitle:LOCALIZE(revertButtonState == listContents ? - "List Contents" : "Description")] - setEnabled:YES]; -#endif - return self; -} - --(const char *)formatSize:(const char *)size inBuf:(char *)buf -{ - // [TRH] this is very simplistic (but seems consistent with Installer.app) - if (!size) { - strcpy(buf, "???"); - } - else { - int len = strlen(size); - if (len < 4) { - sprintf(buf, "%s%s", size, KBYTES); - } - else if (len < 6) { - sprintf(buf, "%.*s.%.*s%s", - (len-3), size, 3-(len-3), size+(len-3), MBYTES); - } - else { - sprintf(buf, "%.*s%s", (len-3), size, MBYTES); - } - } - return buf; -} - -// Determine architectures, in separate subprocess. - -#define WORKING " ..." // `I'm still busy' indicator. - --(void)getArchs -{ - char command[2*MAXPATHLEN+10+1]; - - if (archProcess) [archProcess terminate:self]; - - [packageArchesField setStringValue:WORKING]; - - [bundle getPath:command forResource:"archbom" ofType:NULL]; - strcat(command, " "); - [self getPath:&command[strlen(command)] forType:"bom"]; - archProcess = [[Subprocess allocFromZone:[self zone]] init:command - withDelegate:self andPtySupport:NO andStdErr:NO]; -} - --(void)addArchs:(const char *)string -{ - char result[1024]; // Should be big enough... - const char *s; - char *d; - - strcpy(result, [packageArchesField stringValue]); - if ((d = strstr(result, WORKING)) != NULL) { - *d = '\0'; - } - else { - d = result + strlen(result); - } - if ((s = string)) { - do { - char name[100]; - char *t = name; - - while (*s && !NXIsAlNum(*s)) { - if (*s == '\n') { - *d++ = ' ', s++; - } - else { - *d++ = *s++; - } - } - while (NXIsAlNum(*s)) *t++ = *s++; - *t = '\0'; - if (t > name) { -#if DEBUG & 4 - fprintf(stderr, "addArchs:\"%s\" localized: \"%s\"\n", name, LOCALIZE_ARCH(name)); -#endif - strcpy(d, LOCALIZE_ARCH(name)); - d += strlen(d); - } - } while (*s); - - strcpy(d, WORKING); - } - [packageArchesField setStringValue:result]; - [window displayIfNeeded]; // necessary?? -} - --subprocess:(Subprocess *)sender output:(char *)buffer -{ - if (sender == archProcess) { - [self addArchs:buffer]; - } - return self; -} - --subprocessDone:(Subprocess *)sender -{ - if (sender == archProcess) { - archProcess = nil; - [self addArchs:NULL]; - } - [sender free]; - return self; -} - -static void openInWorkspace(const char *filename) -{ - // Indirect approach to circumvent Workspace deadlock/timeout. - char command[14+3*MAXPATHLEN+1]; - const char *s; - char *d = command; - - for (s = "exec open '"; *s; ) *d++ = *s++; - // Escape single quote characters. - for (s = filename; *s; ) { - if ((*d++ = *s++) == '\'') { - *d++ = '\\', *d++ = '\'', *d++ = '\''; - } - } - for (s = "'&"; *d++ = *s++; ) ; - system(command); -} - --open:sender -{ - openInWorkspace([package directory]); - return self; -} - -@end - -/*====================================================================== - * PackageInspector.m,v - * Revision 1.8 1995/09/01 21:46:27 tom - * Circumvent open deadlock/timeout (when Installer.app is not yet launched); - * (openInWorkspace): new private function; (-open:): new method. - * - * Revision 1.7 1995/07/30 22:20:26 tom - * (LOCALIZE_ARCH): new macro; (-addArchs:): new method; - * (-subprocess:output:,-subprocessDone:) use it. - * - * Revision 1.6 1995/07/30 16:59:51 tom - * import Subprocess.h; (archProcess): new ivar; - * (-getArchs,-subprocess:output:,-subprocessDone:): new methods; - * added for asynchronous arch-determination. - * - * Revision 1.5 1995/07/29 19:13:35 tom - * (+new): avoid reassignment of self; - * make packageDescriptionText vertically resizable; - * (-shouldLoad): rewritten to generalized array-driven approach. - * - * Revision 1.4 1995/04/02 02:39:01 tom - * (package): NXBundle instead of (const char *). so that localized info files - * are found. (this loses out if *.pkg is a symbolic link, though.) - * - * Revision 1.3 1994/12/07 00:00:36 tom - * (RCSid): add spaces. - * - * Revision 1.2 1994/11/25 21:27:18 tom - * (package ivar): use (char*) instead of (NXBundle*) to workaround symlink problems - * - * Revision 1.1 1994/11/25 16:13:12 tom - * Initial revision - * - *======================================================================*/ diff --git a/test/manual/etags/objc-src/Subprocess.h b/test/manual/etags/objc-src/Subprocess.h deleted file mode 100644 index 7e586a16a12..00000000000 --- a/test/manual/etags/objc-src/Subprocess.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - Subprocess.h (v10) - by Charles L. Oei - pty support by Joe Freeman - with encouragement from Kristofer Younger - Subprocess Example, Release 2.0 - NeXT Computer, Inc. - - You may freely copy, distribute and reuse the code in this example. - NeXT disclaims any warranty of any kind, expressed or implied, as to - its fitness for any particular use. - - Hacked up for use in PackageInspector by Tom Hageman. -*/ - -#import -#import - -/* - This subprocess object sends/receives data to/from any UNIX - subprocess asynchronously (via vfork/pipe). - Its delegate, if any, will receive the following messages: - - - subprocessDone; - // sent when the subprocess exits - - - subprocessOutput:(char *)buffer; - // sent whenever there is data on the standard output pipe; - // buffer is only valid until next call - - - subprocessError:(const char *)errorString; - // sent when an error occurs; - // if it ever happens, it's usually only at startup time - - // [TRH] and this is how these should have been done in the first place... - - subprocessDone:(SubProcess *)sender; - - subprocess:(SubProcess *)sender output:(char *)buffer; -*/ - -// Hack to uniquize classname (to avoid dynload errors.) -#define Subprocess SubprocessForPackageInspector - -#define BUFFERSIZE 2048 - -@interface Subprocess:Object -{ - FILE *fpToChild; - int fromChild; - int childPid; - id delegate; - int masterPty; // file descriptor for master/slave pty - int slavePty; - int bufferCount; - char outputBuffer[BUFFERSIZE]; -} - -- init:(const char *)subprocessString; - // a cover for the below withDelegate:nil, andPtySupport:NO, andStdErr:YES - -- init:(const char *)subprocessString - withDelegate:theDelegate - andPtySupport:(BOOL)wantsPty - andStdErr:(BOOL)wantsStdErr; - // optional requests for pseudo terminal support and - // redirecting the standard error stream thru standard output - -- send:(const char *)string withNewline:(BOOL)wantNewline; - // send the string optionally followed by a new line -- send:(const char *)string; - // sends the string followed by a new line - // shorthand for above withNewline:YES -- terminateInput; - // sends an end-of-file (EOF) to the subprocess - // (and closes input pipe to child) -- terminate:sender; - // forces the subprocess to terminate (w/ SIGTERM) - -- setDelegate:anObject; -- delegate; - -@end diff --git a/test/manual/etags/objc-src/Subprocess.m b/test/manual/etags/objc-src/Subprocess.m deleted file mode 100644 index 2d8d586507e..00000000000 --- a/test/manual/etags/objc-src/Subprocess.m +++ /dev/null @@ -1,343 +0,0 @@ -/* - Subprocess.m (v10) - by Charles L. Oei - pty support by Joe Freeman - Subprocess Example, Release 2.0 - NeXT Computer, Inc. - - You may freely copy, distribute and reuse the code in this example. - NeXT disclaims any warranty of any kind, expressed or implied, as to - its fitness for any particular use. -*/ - -#import "Subprocess.h" -// #import // needed to compile under Release 1.0 -#import -#import -#import -#import - -#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 - -@interface SimpleCalc:Object -{ - // outlets...the front-end. - id display; - id enterKey; - id minusKey; - id infoManager; - id myNXStringTable; - - // C++ object's can be a-part-of Objective-C objects. - class CalcEngine *cplus_object; - - // record each previous user action - SEL previousAction; -} - -// actions. - -- numberKeys:sender; -- decimalKey:sender; -- operationKeys:sender; -- equalsKey:sender; -- clearKey:sender; -- clearAllKey:sender; -- infoPanel:sender; -- helpPanel:sender; - -// delegate methods. - -- windowWillClose:sender; -- appDidInit:sender; - -- registerAction:(SEL)action; -- appendToDisplay:(const char *)theString; - -@end diff --git a/test/manual/etags/objcpp-src/SimpleCalc.M b/test/manual/etags/objcpp-src/SimpleCalc.M deleted file mode 100644 index 34846a7aceb..00000000000 --- a/test/manual/etags/objcpp-src/SimpleCalc.M +++ /dev/null @@ -1,207 +0,0 @@ -// SimpleCalc -- Randy Nelson -- NeXT Developer Training -// A general class that serves as a liaison between a calculator interface -// and a calculator engine. -// -// You may freely copy, distribute and reuse the code in this example. -// NeXT disclaims any warranty of any kind, expressed or implied, as to -// its fitness for any particular use. -// -// Created 8-22-90 -// -// C++ "linkage" directive - tells the C++ compiler that the following -// interface files contain Objective-C code. - -extern "Objective-C" -{ -#import -#import -#import -#import -} - -extern "C" -{ -#import -#import -#import -#import -} - -// The C++ "linkage" directive serves two purposes (when importing -// interface files that contain straight ANSI-C/Objective-C code). It: -// -// (a) allows you to link with libraries that have not been compiled with -// the C++ compiler. Since libraries on the NeXT computer are compiled -// with the Objective-C compiler (cc, not cc++), you must use the C++ -// linkage directive when importing interface files that represent NeXT -// libraries (or any library that is not compiled with cc++). -// -// (b) tells the compiler to ignore C++ keywords that will result in -// syntax errors when importing ANSI-C/Objective-C interface files. -// The linkage directive essentially tells the C++ compiler to treat -// keywords (such as "new", "delete", etc.) as normal identifiers. - -#import "SimpleCalc.h" -#import "CalcEngine.h" -#import "InfoManager.h" - -@implementation SimpleCalc - -// Initialize an instance of the SimpleCalc class. One instance variable of -// that class is the C++ calculator engine. -- init -{ - cplus_object = new CalcEngine; // new is a keyword in C++. - previousAction = 0; - return self; -} - -// Append a new digit entered by the user to the text field display. -- appendToDisplay:(const char *)theDigit -{ - char *copyOfDisplay = NXCopyStringBuffer([display stringValue]); - - [display setStringValue: strcat(copyOfDisplay, theDigit)]; - - return self; -} - -// We need to keep a history of one action to make decisions about the display. -- registerAction:(SEL)action -{ - previousAction = action; - return self; -} - -// The user has pushed the decimal key on the calculator. -- decimalKey:sender -{ - if (previousAction == @selector(operationKeys:)) - [display setStringValue:"."]; - else { - if (strchr([display stringValue], '.')) - NXBeep(); - else - [self appendToDisplay:"."]; - } - return [self registerAction:_cmd]; -} - -// One of the number keys was selected by the user. -- numberKeys:sender -{ - char aDigit[2]; - int digit = [sender selectedTag]; - - sprintf(aDigit, "%d", digit); - - if (previousAction == @selector(operationKeys:) || - previousAction == @selector(equalsKey:)) - { - [display setStringValue:aDigit]; - } else { - if ([display doubleValue] == 0 && !strchr([display stringValue], '.')) - [display setStringValue:aDigit]; - else - [self appendToDisplay:aDigit]; - } - return [self registerAction:_cmd]; -} - -// The user pressed the equals key on the calculator interface. -- equalsKey:sender -{ - if (previousAction == 0) - NXBeep(); - else { - NX_DURING - [display setDoubleValue: - cplus_object->equalsKey([display doubleValue])]; - NX_HANDLER - NXRunAlertPanel( - [myNXStringTable valueForStringKey:"operationFailed"], - [myNXStringTable valueForStringKey:NXLocalHandler.data1], - [myNXStringTable valueForStringKey:"OK"], NULL, NULL); - NX_ENDHANDLER - } - return [self registerAction:_cmd]; -} - -// The user pressed one of the operation keys. -- operationKeys:sender -{ - if (previousAction == 0) - NXBeep(); - else if (previousAction == @selector(operationKeys:)) - cplus_object->setOperation([sender selectedTag]); - else { - NX_DURING - [display setDoubleValue: - cplus_object->operationKeys([sender selectedTag], - [display doubleValue])]; - NX_HANDLER - NXRunAlertPanel( - [myNXStringTable valueForStringKey:"operationFailed"], - [myNXStringTable valueForStringKey:NXLocalHandler.data1], - [myNXStringTable valueForStringKey:"OK"], NULL, NULL); - NX_ENDHANDLER - } - return [self registerAction:_cmd]; -} - -// User pressed the Clear key. -- clearKey:sender -{ - [display setStringValue:"0"]; - return self; -} - -// User pressed the Clear All key. -- clearAllKey:sender -{ - cplus_object->clear(); - [self registerAction:0]; - return [self clearKey:sender]; -} - -// Called just after the application initializes and starts up. -- appDidInit:sender -{ - // Set the Enter key on the keypad to be equivalent to the = key. - [[display window] addToEventMask:NX_SYMBOLSET]; - [enterKey setKeyEquivalent:3]; - [[display window] makeKeyAndOrderFront:self]; - return self; -} - -// Called just before the window closes. -- windowWillClose:sender -{ - return [NXApp terminate:self]; -} - -// Brings up the Info panel. Not done on startup because it's in a separate -// interface file. Saves startup time for the user if we do this when they ask -// for it, and not before. -- infoPanel:sender -{ - if(infoManager == nil){ - infoManager = [[InfoManager alloc] init]; - } - [infoManager orderInfoPanelFront:sender]; - return self; -} - -// Brings up the Help panel. Not done on startup because it's in a separate -// interface file. Saves startup time for the user if we do this when they ask -// for it, and not before. -- helpPanel:sender -{ - if(infoManager == nil){ - infoManager = [[InfoManager alloc] init]; - } - [infoManager orderHelpPanelFront:sender]; - return self; -} - -@end diff --git a/test/manual/etags/pas-src/common.pas b/test/manual/etags/pas-src/common.pas deleted file mode 100644 index ec8e80c4a7a..00000000000 --- a/test/manual/etags/pas-src/common.pas +++ /dev/null @@ -1,1545 +0,0 @@ -#include "common.i" -#include "common.h" - -type - NSPoolP = ^NSPoolRec; - NSPoolRec = record - Data: NameStringPointer; - Next: NSPoolP; - end; - -var - GlobalNSPool: record - Avail, Empty: NSPoolP; - end; - -var - AvailString : TextString; - NameList : BinNodePointer; - AvailNameList : BinNodePointer; - - - -(*------------------------------------------------------------------*) -(* InitializeStringPackage *) -(*------------------------------------------------------------------*) -procedure InitializeStringPackage; -begin (* InitializeStringPackage *) - AvailString := nil; -end; (* InitializeStringPackage *) - -(*------------------------------------------------------------------*) -(* newtextstring *) -(*------------------------------------------------------------------*) -function newtextstring; (*: TextString;*) -var - Temp : TextString; -begin (* newtextstring *) - if AvailString = nil then - new (Temp) - else begin - Temp := AvailString; - AvailString := Temp^.Next; - end; - Temp^.String.Length := 0; - Temp^.Next := nil; - newtextstring := Temp; -end; (* newtextstring *) - -(*------------------------------------------------------------------*) -(* disposetextstring *) -(*------------------------------------------------------------------*) -procedure disposetextstring;(*( - var S : TextString);*) -var - Temp : TextString; - Temp2 : TextString; -begin (* disposetextstring *) - if S <> nil then begin - Temp := S; -(* - while Temp^.Next <> nil do - Temp := Temp^.Next; - Temp^.Next := AvailString; - AvailString := S; -*) - S := nil; - repeat - Temp2 := Temp^.Next; - dispose(Temp); - Temp := Temp2; - until Temp = nil; - end; -end; (* disposetextstring *) - -(*------------------------------------------------------------------*) -(* ConcatT *) -(*------------------------------------------------------------------*) -function ConcatT;(*( - ToString : TextString; - S : TextString) : TextString;*) -var - Index : integer; -begin (* ConcatT *) - ConcatT := ToString; - if ToString = nil then - writeln (output, 'Error in ConcatT, ToString is nil') - else - if S = nil then - writeln (output, 'Error in ConcatT, S is nil') - else - if S^.Next <> nil then - writeln (output, - 'Error in ConcatT, S contains several linked TextStrings') - else begin - while ToString^.Next <> nil do - ToString := ToString^.Next; - if ToString^.String.Length+S^.String.Length > NameStringLength then begin - ToString^.Next := newtextstring; - ToString := ToString^.Next; - end; - with ToString^, String do begin - for Index := 1 to S^.String.Length do - Value[Length+Index] := S^.String.Value[Index]; - Length := Length+S^.String.Length; - end; - end; -end; (* ConcatT *) - -(*------------------------------------------------------------------*) -(* AppendTextString *) -(*------------------------------------------------------------------*) -function AppendTextString;(*( - ToString : TextString; - S : TextString) : TextString;*) -begin (* AppendTextString *) - AppendTextString := ToString; - if ToString = nil then - writeln (output, 'Error in AppendTextString, ToString is nil') - else - if S = nil then - writeln (output, 'Error in AppendTextString, S is nil') - else begin - while ToString^.Next <> nil do - ToString := ToString^.Next; - ToString^.Next := S; - end; -end; (* AppendTextString *) - -(*------------------------------------------------------------------*) -(* CopyTextString *) -(*------------------------------------------------------------------*) -function CopyTextString;(*( - S : TextString - ) : TextString;*) -var - Temp : TextString; -begin (* CopyTextString *) - if S <> nil then begin - Temp := newtextstring; - Temp^.String := S^.String; - Temp^.Next := CopyTextString(S^.Next); - CopyTextString := Temp; - end - else - CopyTextString := nil; -end; (* CopyTextString *) - -(*------------------------------------------------------------------*) -(* CONVERT_CHARSTRING_TO_VALUE *) -(*------------------------------------------------------------------*) -procedure CONVERT_CHARSTRING_TO_VALUE;(*( - S : NameString; - var V : NameString);*) -var - Pos : integer; - VPos : integer; - Ch : char; -begin (* CONVERT_CHARSTRING_TO_VALUE *) - VPos := 0; - for Pos := 2 to S.Length - 1 do begin - Ch := S.Value[Pos]; - if not ((Ch = '''') and (Pos > 2) and (S.Value[Pos - 1] = '''')) then - VPos := VPos + 1; - V.Value[VPos] := Ch; - end; - V.Length := VPos; -end; (* CONVERT_CHARSTRING_TO_VALUE *) - -(*------------------------------------------------------------------*) -(* append_string *) -(*------------------------------------------------------------------*) -procedure append_string;(*( - var Txt : TextString; - var String : NameString);*) -var - Temp : TextString; -begin (* append_string *) - Temp := newtextstring; - Temp^.String := String; - if Txt = nil then - Txt := Temp - else - Txt := AppendTextString(Txt, Temp); -end; (* append_string *) - -function To_Upper;(*(ch:char) : char;*) -begin - if ch in ['a'..'z'] then - To_Upper := chr(ord(ch) + ord('A')-ord('a')) - else - To_Upper := ch; -end; - -function To_Lower;(*(ch:char) : char;*) -begin - if ch in ['A'..'Z'] then - To_Lower := chr(ord(ch) - ord('A') + ord('a')) - else - To_Lower := ch; -end; - -(*----------------------------------------------------------------------*) -(* Operations on NameString *) -(*----------------------------------------------------------------------*) - -(*------------------------------------------------------------------*) -(* EmptyNmStr *) -(*------------------------------------------------------------------*) -function EmptyNmStr(* : NameString*); -var - Nm : NameString; -begin (* EmptyNmStr *) - Nm.Length := 0; - EmptyNmStr := Nm; -end; (* EmptyNmStr *) - - -(* returns a namestring containing one character, the inparameter Ch *) -function chartonmstr; (*( - Ch : Char) : NameString; *) -var - String : NameString; -begin - String.Value[1] := Ch; - String.Length := 1; - chartonmstr := String; -end; - -(* returns a namestring containing the inparameter Str in lowercase letters *) -function LowerCaseNmStr; (*( - Str : NameString) : NameString; *) -var - i : integer; -begin (* LowerCaseNmStr *) - with Str do - for i := 1 to Length do - Value[i] := To_Lower(Value[i]); - LowerCaseNmStr := Str; -end; (* LowerCaseNmStr *) - -(* returns a namestring containing inparameter S1 concatenated with inpar. S2 *) -function concatenatenamestrings; (*( - S1 : NameString; - S2 : NameString) : NameString; *) -var - Temp : NameString; - Pos : integer; -begin (* concatenatenamestrings *) - Temp := S1; - with Temp do begin - Pos := 0; - while Pos < S2.Length do begin - Pos := Pos + 1; - if Length < NameStringLength then begin - Length := Length + 1; - Value[Length] := S2.Value[Pos]; - end; - end; (* while *) - end; (* with *) - concatenatenamestrings := Temp; -end; (* concatenatenamestrings *) - -procedure writenamestring;(*( - var TextFile : text; - var Name : NameString);*) -var - Pos : integer; -begin - with Name do - for Pos := 1 to Length do - write(TextFile, Value[Pos]); -end; - -(*------------------------------------------------------------------*) -(* IsControlChar *) -(*------------------------------------------------------------------*) -function IsControlChar; (*( - Ch : char) : boolean; *) -begin (* IsControlChar *) - IsControlChar := ord(Ch) in [0..32, 127]; -end; (* IsControlChar *) - -function namestringequal;(*(var Name1,Name2 : NameString) : Boolean;*) -var i : Integer; - equal : Boolean; -begin - if Name1.Length = Name2.Length then begin - equal := true; - i := 1; - while (i <= Name1.Length) and equal do begin - equal := To_Upper(Name1.Value[i]) = To_Upper(Name2.Value[i]); - i := i + 1; - end; - namestringequal := equal; - end - else - namestringequal := false; -end; - -(* Character strings are case sensitive *) - -function NameStringLess;(*(var Name1,Name2 : NameString) : Boolean;*) -var i, minlength : Integer; - equal : Boolean; - C1, C2 : char; - Charstring : boolean; -begin - C1 := ' '; - C2 := ' '; - if Name1.Length < Name2.Length then - minlength := Name1.Length - else - minlength := Name2.Length; - if MinLength > 0 then - Charstring := (Name1.Value[1] = '''') or (Name2.Value[1] = '''') - else - Charstring := false; -(* Charstring := true; force case sensitive *) - i := 1; - equal := true; - if i <= minlength then - while (i <= minlength) and equal do begin - if Charstring then begin - C1 := Name1.Value[i]; - C2 := Name2.Value[i]; - end - else begin - C1 := To_Upper(Name1.Value[i]); - C2 := To_Upper(Name2.Value[i]); - end; - equal := C1 = C2; - i := i + 1; - end; (* while *) - if equal then - NameStringLess := Name1.Length < Name2.Length - else - NameStringLess := C1 < C2; -end; - -(*------------------------------------------------------------------*) -(* IsControlCharName *) -(*------------------------------------------------------------------*) -function IsControlCharName( - Str : NameString; - Pos : integer) : boolean; -begin (* IsControlCharName *) - with Str do begin - if Pos <= Length then - IsControlCharName := IsControlChar(Value[Pos]) - else - IsControlCharName := false; - end; -end; (* IsControlCharName *) - -(*------------------------------------------------------------------*) -(* SubString *) -(*------------------------------------------------------------------*) -function SubString; (*( - Str : NameString; - Start : integer; - Len : integer) : NameString; *) -var - i : integer; -begin (* SubString *) - with Str do begin - if Len > 0 then - for i := Start to Start + Len - 1 do - Value[i- Start + 1] := Value[i] - else if Len < 0 then - Len := 0; - Length := Len; - end; - SubString := Str; -end; (* SubString *) - -(*------------------------------------------------------------------*) -(* SkipChars *) -(*------------------------------------------------------------------*) -function SkipChars; (*( - Str : NameString; - Start : integer; - Len : integer) : NameString; *) -var - i : integer; -begin (* SkipChars *) - with Str do begin - for i := Start to Length - Len do - Value[i] := Value[i + Len]; - Length := Length - Len; - end; - SkipChars := Str; -end; (* SkipChars *) - -(*------------------------------------------------------------------*) -(* RemoveUnderlineControl *) -(*------------------------------------------------------------------*) -function RemoveUnderlineControl; (*( - Str : NameString) : NameString; *) -var - Len : integer; - i : integer; - Start : integer; -begin (* RemoveUnderlineControl *) - with Str do begin - i := 1; - while i <= Length do begin - if Value[i] = '_' then begin - Len := 0; - Start := i; - while IsControlCharName(Str, i + 1 + Len) do - Len := Len + 1; - if Len > 0 then - Str := SkipChars(Str, Start, Len + 1) - else - i := i + 1; - end - else - i := i + 1; - end; (* while *) - end; (* with *) - RemoveUnderlineControl := Str; -end; (* RemoveUnderlineControl *) - -(*------------------------------------------------------------------*) -(* First100Chars *) -(*------------------------------------------------------------------*) -procedure First100Chars; (*( - Txt : TextString; - var Str : NameString; - var Truncated : boolean); *) -var - Len : integer; - i : integer; -begin (* First100Chars *) - Str.Length := 0; - if Txt <> nil then begin - Str := Txt^.String; - Txt := Txt^.Next; - end; - while (Txt <> nil) and (Str.Length < NameStringLength) do - with Txt^, String do begin - Str.Length := Str.Length + 1; - Str.Value[Str.Length] := ' '; - if Str.Length + Length <= NameStringLength then - Len := Str.Length + Length - else - Len := NameStringLength; - for i := Str.Length + 1 to Len do - Str.Value[i] := Value[i - Str.Length]; - Str.Length := Len; - Txt := Txt^.Next; - end; (* while with *) - Truncated := Txt <> nil; -end; (* First100Chars *) - - -(*------------------------------------------------------------------*) -(* SkipSpaces *) -(*------------------------------------------------------------------*) -(* changes I to contain the first index in Str (starting at I) that *) -(* is not a space *) -procedure SkipSpaces; (* (Str : NameString; var I : Integer);*) -var Stop : boolean; -begin (* SkipSpaces *) - Stop := false; - while (I < Str.Length) and not Stop do - if Str.Value[I] <> ' ' then - Stop := true - else - I := I+1; -end; (* SkipSpaces *) - - -(*------------------------------------------------------------------*) -(* SkipBlanks *) -(*------------------------------------------------------------------*) -function SkipBlanks; (*( - TextLine: NameString) : NameString; *) -var - i : integer; - j : integer; - SpaceFound : boolean; -begin (* SkipBlanks *) - with TextLine do begin - SpaceFound := true; - i := 1; - while SpaceFound and (i <= Length) do begin - SpaceFound := (Value[i] in [' ', chr(9)]); - if SpaceFound then - i := i + 1; - end; (* while *) - i := i - 1; - if i > 0 then - for j := 1 to Length - i do - if j <= Length - i then - Value[j] := Value[j + i]; - Length := Length - i; - end; (* with *) - SkipBlanks := TextLine; -end; (* SkipBlanks *) - -(*------------------------------------------------------------------*) -(* stripname *) -(*------------------------------------------------------------------*) -function stripname; (* ( - TextLine: NameString) : NameString; *) -var - SpaceFound : boolean; -begin (* stripname *) - TextLine := SkipBlanks(TextLine); - with TextLine do begin - SpaceFound := true; - while SpaceFound and (Length > 0) do begin - SpaceFound := (Value[Length ] in [' ', chr(9)]); - if SpaceFound then - Length := Length - 1; - end; (* while *) - end; (* with *) - stripname := TextLine; -end; (* stripname *) - -function Locate; (*( - Str : NameString; - Chars : SetOfChar) : integer; *) -var - Pos : integer; - Found : boolean; -begin (* Locate *) - Found := false; - Pos := 0; - with Str do - while not Found and (Pos < Length) do begin - Pos := Pos + 1; - Found := Value[Pos] in Chars; - end; - Locate := Pos; -end; (* Locate *) - - -(*------------------------------------------------------------------*) -(* NameHasChar *) -(*------------------------------------------------------------------*) -function NameHasChar; (* (TheName : NameString; TheChar : char) : boolean;*) -var i : integer; - found : boolean; - -begin (* NameHasChar *) - found := false; - i := 0; - while not found and (i < TheName.Length) do begin - i := i+1; - found := TheName.Value[i] = TheChar; - end; - NameHasChar := found; -end; (* NameHasChar *) - - -(*------------------------------------------------------------------*) -(* integertonmstr *) -(*------------------------------------------------------------------*) -function integertonmstr; (* (TheInteger : integer) : NameString; *) -var Nm : NameString; - Index, - Size, - TempNumber : integer; -begin (* integertonmstr *) - Size := 1; - TempNumber := TheInteger; - while TempNumber div 10 > 0 do begin - Size := Size + 1; - TempNumber := TempNumber div 10; - end; - Nm.Length := Size; - TempNumber := TheInteger; - for Index := Size downto 1 do begin - Nm.Value[Index] := chr(TempNumber mod 10 + ord('0')); - TempNumber := TempNumber div 10; - end; - integertonmstr := Nm; -end; (* integertonmstr *) - -(*------------------------------------------------------------------*) -(* NmStrToInteger *) -(*------------------------------------------------------------------*) -function NmStrToInteger; (* (Str : NameString) : integer; *) -var - Index : integer; - Numb : integer; - Max : integer; -begin (* NmStrToInteger *) - Max := (maxint div 10) - 10; - Numb := 0; - for Index := 1 to Str.Length do begin - if (Numb <= Max) and (Str.Value[Index] in ['0'..'9']) then - Numb := 10 * Numb + ord(Str.Value[Index]) - ord('0'); - end; - NmStrToInteger := Numb; -end; (* NmStrToInteger *) - -function AddNullToNmStr; (*( - Nm : NameString) : NameString; *) -begin (* AddNullToNmStr *) - with Nm do - if Length < NameStringLength then - Value[Length + 1] := chr(0) - else - Value[Length] := chr(0); - AddNullToNmStr := Nm; -end; (* AddNullToNmStr *) - -function ValToNmStr; (*( - Nm : NameString) : NameString; *) -begin (* ValToNmStr *) - with Nm do begin - length := 0; - while value[length + 1] <> chr(0) do - length := length + 1; - end; - ValToNmStr := Nm; -end; (* ValToNmStr *) - -(*------------------------------------------------------------------*) -(* ChangeFileType *) -(*------------------------------------------------------------------*) -function ChangeFileType; (*(FileName : NameString; - NewType : NameString) : NameString;*) -var - Pos : integer; - Found : boolean; -begin (* ChangeFileType *) - with Filename do begin - Pos := FileName.Length; - Found := false; - while not Found and (Pos > 0) do begin - Found := Value[Pos] = '.'; - Pos := Pos - 1; - end; - if Found then - Length := Pos; - end; (* with *) - ChangeFileType := concatenatenamestrings(FileName, NewType); -end; (* ChangeFileType*) - -(*------------------------------------------------------------------*) -(* StripPath *) -(*------------------------------------------------------------------*) -function StripPath; (*( - Str : NameString) : NameString; *) -var - i : integer; - Len : integer; - Found : boolean; -begin (* StripPath *) - with Str do begin - i := Length; - Found := false; - while not Found and (i > 0) do begin - Found := Value[i] in ['/', '\']; - if not Found then - i := i - 1; - end; (* while *) - if Found then begin - Len := Length - i + 1; - if i < Length then begin - i := i + 1; - Len := Len - 1; - end; - StripPath := SubString(Str, i, Len); - end - else - StripPath := Str; - end; (* with *) -end; (* StripPath *) - -function ReprOfChar; (*( ch : char) : NameString;*) -var - Repr : NameString; -begin - if (ch >= ' ') and (ch <= '~') then - Repr := chartonmstr(ch) - else - Repr := concatenatenamestrings(concatenatenamestrings(chartonmstr('<'), - integertonmstr(ord(ch))), chartonmstr('>')); - ReprOfChar := Repr; -end; (* ReprOfChar *) - -(*------------------------------------------------------------------*) -(* ExtractCommentInfo *) -(*------------------------------------------------------------------*) -(* check if Comment contains graphic reference or include directive *) -(* /*#*/ or /*#*/ *) -(* =G pagename xcoord ycoord *) -(* T pagename xcoord ycoord *) -(* M diagramtype diagramname pagename xcoord ycoord *) -(* D databankname *) -(* =INCLUDE 'filename' *) -(* InfoType will contain the type of the comment *) -(* Info will contain or the filename in if *) -(* the Comment isn't an ordinary comment *) -(* /*#E*/ do not count this line *) -(* /*#S*/ substructure generated from graphic short hand *) -procedure ExtractCommentInfo; (*( - var Comment, - Info : NameString; - var InfoType : TypeOfComment); *) - -const - CommentMarkLength = 2; - IncludeMarkLength = 7; (* = INCLUDE *) - GRRefLen = 6; -var StartIndex, - Index : integer; -begin (* ExtractCommentInfo *) - Info.Length := 0; - with Comment do begin - InfoType := Ordinary; - StartIndex := CommentMarkLength + 1; - if Length > StartIndex then - if Value[StartIndex] = '#' then - if Value[StartIndex+1] in ['I','i', 'S'] then begin - if (Value[StartIndex+1] = 'S') and (Length = StartIndex+1+2) then - InfoType := SubstrShortHand - else if (Value[StartIndex+1] = 'S') and - (Length > StartIndex + GRRefLen) then begin - if Value[StartIndex+2] = 'D' then - if Value[StartIndex+3] = 'T' then - if Value[StartIndex+4] = 'R' then - if Value[StartIndex+5] = 'E' then - if Value[StartIndex+6] = 'F' then - InfoType := GRRef; - end - else begin - if Length > StartIndex + IncludeMarkLength then - if Value[StartIndex+2] in ['N','n'] then - if Value[StartIndex+3] in ['C','c'] then - if Value[StartIndex+4] in ['L','l'] then - if Value[StartIndex+5] in ['U','u'] then - if Value[StartIndex+6] in ['D','d'] then - if Value[StartIndex+7] in ['E','e'] then - InfoType := IncludeClause; - end; - end; - - if InfoType = IncludeClause then begin - InfoType := Ordinary; - StartIndex := StartIndex + IncludeMarkLength + 1; - if StartIndex+3 <= Length-2 then (* excluding the comment-end '*/' *) begin - if Value[StartIndex] = ' ' then begin - while (StartIndex <= Length-2) and (Value[StartIndex] = ' ') do - StartIndex := StartIndex + 1; (* Skip the spaces *) - if Value[StartIndex] = '''' then begin - Index := StartIndex+1; - while (Index <= Length-2) and (Value[Index] <> '''') do begin - Info.Value[Index-StartIndex] := Value[Index]; - Index := Index + 1; - end; - if Value[Index] = '''' then begin - Info.Length := Index - StartIndex - 1; - Index := Index + 1; - while (Index <= Length-2) and (Value[Index] = ' ') do - Index := Index + 1; (* Skip the ending spaces *) - if Index = Length-1 then - InfoType := IncludeClause; (* => a correct include directive *) - end; - end; - end; - end; - end - else if InfoType = SubstrShortHand then - Info := chartonmstr('S') - else if InfoType = GRRef then begin - if (Value[Length] = '/') and (Value[Length - 1] = '*') then - Info := SubString(Comment, StartIndex, Length - StartIndex + 1 - 2) - else (* truncated *) - Info := SubString(Comment, StartIndex, Length - StartIndex + 1); - end; - end; -end; (* ExtractCommentInfo *) - -(*---------------------------------------------------------------------------*) -(* inserts a node in a binary tree sorted after value. If node - is in tree Found returns true. *) - -procedure INSERT_TREE_NODE;(*( - New_node: BinNodePointer; node to insert - var Node: BinNodePointer; tree to insert in - var FoundNode : BinNodePointer; - var Found : boolean; return status of operation - var Higher: boolean); returned true if the subtree height has - increased *) - -var - - Node_1, (* helpvariable to rotate nodes *) - Node_2: BinNodePointer; (* helpvariable to rotate nodes *) - -begin - - if Node = nil then - begin (* Value is not in tree, insert *) - Node:= New_node; - FoundNode := Node; - Higher:= true; - end - else - - (* New_node^.Value < Node^.Value *) - if NameStringLess(New_node^.NameP^, Node^.NameP^) then - begin (* New Value is lower than actual Value *) - INSERT_TREE_NODE( New_node, Node^.left, FoundNode, Found, Higher); - - if Higher then (* left bransch has grown higher *) - case Node^.bal of - - 1: begin - Node^.bal:= 0; - Higher:= false; - end; - - 0: begin - Node^.bal:= -1; - end; - - -1: begin (* rebalance *) - Node_1:= Node^.left; - - if Node_1^.bal = -1 then - begin (* single LL rotation *) - Node^.left:= Node_1^.right; - Node_1^.right:= Node; - Node^.bal:= 0; - Node:= Node_1; - end - else - - begin (* double LR rotation *) - Node_2:= Node_1^.right; - Node_1^.right:= Node_2^.left; - Node_2^.left:= Node_1; - Node^.left:= Node_2^.right; - Node_2^.right:= Node; - - if Node_2^.bal = -1 then - Node^.bal:= 1 - else - Node^.bal:= 0; - - if Node_2^.bal = 1 then - Node_1^.bal:= -1 - else - Node_1^.bal:= 0; - Node:= Node_2; - end; - Node^.bal:= 0; - Higher:= false; - end; - end; (* end case Node^.bal of *) - end - else - - (* New_node^.value > Node^.value *) - if NameStringLess(Node^.NameP^, New_Node^.NameP^) then - begin (* New value is higher than actual value *) - INSERT_TREE_NODE( New_node, Node^.right, FoundNode, Found, Higher); - - if Higher then (* Right bransch has grown higher *) - case Node^.bal of - - -1: begin - Node^.bal:= 0; - Higher:= false; - end; - - 0: begin - Node^.bal:= 1; - end; - - 1: begin (* Rebalance *) - Node_1:= Node^.right; - - if Node_1^.bal = 1 then - begin (* single RR rotation *) - Node^.right:= Node_1^.left; - Node_1^.left:= Node; - Node^.bal:= 0; - Node:= Node_1; - end - else - begin (* double RL rotation *) - Node_2:= Node_1^.left; - Node_1^.left:= Node_2^.right; - Node_2^.right:= Node_1; - Node^.right:= Node_2^.left; - Node_2^.left:= Node; - - if Node_2^.bal = 1 then - Node^.bal:= -1 - else - Node^.bal:= 0; - - if Node_2^.bal = -1 then - Node_1^.bal:= 1 - else - Node_1^.bal:= 0; - Node:= Node_2; - end; - Node^.bal:= 0; - Higher:= false; - end; - end; (* end case Node^.bal of *) - end - else - begin (* New value is equal to actual value *) - Found := true; - FoundNode := Node; - Higher:= false; - end; -end; (* end INSERT_TREE_NODE *) - -function GetNameList; (* : BinNodePointer;*) -begin - GetNameList := NameList; -end; - -procedure DisposeANameList( - var NodeP : BinNodePointer); -begin (* DisposeANameList *) - if NodeP <> nil then begin - DisposeANameList(NodeP^.Left); - DisposeANameList(NodeP^.Right); - NodeP^.Left := AvailNameList; - NodeP^.Right := nil; - AvailNameList := NodeP; - NodeP := nil; - end; -end; (* DisposeANameList *) - -procedure DisposeNameList; -begin - DisposeANameList(NameList); -end; - -function GetNewNameListNode;(*( - var Name : NameString) : BinNodePointer;*) -var - NodeP : BinNodePointer; -begin (* GetNewNameListNode *) - if AvailNameList = nil then begin - new(NodeP); - with NodeP^ do begin - Left := nil; - Right := nil; - Bal := 0; - new(NameP); - Namep^ := Name; - end; - end - else begin - NodeP := AvailNameList; - AvailNameList := NodeP^.Left; - with NodeP^ do begin - Left := nil; - Bal := 0; - Namep^ := Name; - end; - end; - GetNewNameListNode := NodeP; -end; (* GetNewNameListNode *) - -(*---------------------------------------------------------------------------*) - -function insertname;(*( - Name : NameString; - var Found : boolean) : NameStringPointer;*) -var - Higher : boolean; - NodeP : BinNodePointer; - FoundNode : BinNodePointer; -begin (* insertname *) - NodeP := GetNewNameListNode(Name); - Found := false; - INSERT_TREE_NODE(NodeP, NameList, FoundNode, Found, Higher); - insertname := FoundNode^.NameP; - if Found then - DisposeANameList(NodeP); -end; (* insertname *) - -procedure InitNameList; -begin - NameList := nil; - AvailNameList := nil; -end; - -(********************************************************************) -(* NameString - Dynamic Memory Allocation *) -(********************************************************************) - -procedure InitNameStringPool; -begin - GlobalNSPool.Avail := nil; - GlobalNSPool.Empty := nil; -end; - -procedure NewNameString; (* (var NSP: NameStringPointer );*) -(*var Temp: NSPoolP;*) -begin -(* - if GlobalNSPool.Avail=nil then - new( NSP ) - else begin - Temp := GlobalNSPool.Avail; - GlobalNSPool.Avail := Temp^.Next; - Temp^.Next := GlobalNSPool.Empty; - GlobalNSPool.Empty := Temp; - NSP := Temp^.Data; - end; -*) - new(NSP); - NSP^.Length := 0; -end; - -procedure ReleaseNameString; (* (var NSP: NameStringPointer );*) -(*var Temp: NSPoolP;*) -begin - if NSP <> nil then begin -(* - if GlobalNSPool.Empty=nil then begin - new(Temp); - Temp^.Next := GlobalNSPool.Avail; - GlobalNSPool.Avail := Temp; - end - else begin - Temp := GlobalNSPool.Empty; - GlobalNSPool.Empty := Temp^.Next; - Temp^.Next := GlobalNSPool.Avail; - GlobalNSPool.Avail := Temp; - end; - Temp^.Data := NSP; -*) - dispose(NSP); - NSP := nil; - end; -end; - -procedure SDTrefStringToRec (* ( - var S : SDTrefString; - var R : SDTrefRec; - var Error : integer) *) ; - -(* Converts SDTrefString S to a record R (SDTrefRec). If an error is - detected Error is on exit the position in S where the error where - detected. If correct Error is 0. *) - -label 99; -var - Len : integer; - ErrorFound, EndFound : Boolean; - -procedure SDTrefSkipSpaces; -var Found : Boolean; -begin - Found := false; - while not Found and (Len <= S.Length) do - if (S.Value[Len] = ' ') or (S.Value[Len] = chr(9)) then - Len := Len+1 - else - Found := true; -end; - -function SDTrefIsEnd : Boolean; -begin - SDTrefIsEnd := false; - if S.Value[Len] = ')' then - begin - Len := Len+1; - SDTrefSkipSpaces; - if Len > S.Length then - SDTrefIsEnd := true; - end; -end; - -function SDTrefGetInteger : integer; -var - Temp : NameString; - Found : Boolean; -begin - Temp.Length := 0; - Found := false; - while not Found and (Temp.Length <= NameStringLength) and - (Len <= S.Length) do - if S.Value[Len] in ['0'..'9'] then - begin - Temp.Length := Temp.Length+1; - Temp.Value[Temp.Length] := S.Value[Len]; - Len := Len+1; - end - else - Found := true; - if Temp.Length > 0 then - SDTrefGetInteger := NmStrToInteger(Temp) - else - SDTrefGetInteger := SDTrefUndefInt; -end; - -begin - ErrorFound := true; - R.IsSDTGR := true; - R.FileName.Length := 0; - R.PageName.Length := 0; - R.ObjectId := SDTrefUndefInt; - R.XCoord := SDTrefUndefInt; - R.YCoord := SDTrefUndefInt; - R.LineNumber := SDTrefUndefInt; - R.Column := SDTrefUndefInt; - - Len := 1; - if S.Length = 0 then goto 99; - if S.Value[1] <> '#' then goto 99; - Len := 2; - if S.Value[2] <> 'S' then goto 99; - Len := 3; - if S.Value[3] <> 'D' then goto 99; - Len := 4; - if S.Value[4] <> 'T' then goto 99; - Len := 5; - if S.Value[5] <> 'R' then goto 99; - Len := 6; - if S.Value[6] <> 'E' then goto 99; - Len := 7; - if S.Value[7] <> 'F' then goto 99; - Len := 8; - if S.Value[8] <> '(' then goto 99; - Len := 9; - - if S.Value[9] = 'S' then - begin - Len := 10; - if S.Value[10] <> 'D' then goto 99; - Len := 11; - if S.Value[11] <> 'L' then goto 99; - Len := 12; SDTrefSkipSpaces; - if Len > S.Length then goto 99; - - (* First comma *) - if S.Value[Len] <> ',' then goto 99; - Len := Len+1; SDTrefSkipSpaces; - if Len > S.Length then goto 99; - - (* FileName *) - EndFound := false; - while not EndFound and (Len <= S.Length) do - if S.Value[Len] in [',', ')', '(', ' ', chr(9)] then - EndFound := true - else - begin - R.FileName.Length := R.FileName.Length+1; - if R.FileName.Length > S.Length then goto 99; - R.FileName.Value[R.FileName.Length] := S.Value[Len]; - Len := Len+1; - if Len > S.Length then goto 99; - end; - SDTrefSkipSpaces; - if Len > S.Length then goto 99; - - (* PageName *) - if S.Value[Len] = '(' then - begin - Len := Len+1; SDTrefSkipSpaces; - if Len > S.Length then goto 99; - EndFound := false; - while not EndFound and (Len <= S.Length) do - if S.Value[Len] in [',', ')', '(', ' ', chr(9)] then - EndFound := true - else - begin - R.PageName.Length := R.PageName.Length+1; - if R.PageName.Length > NameStringLength then goto 99; - R.PageName.Value[R.PageName.Length] := S.Value[Len]; - Len := Len+1; - if Len > S.Length then goto 99; - end; - SDTrefSkipSpaces; - if Len > S.Length then goto 99; - if S.Value[Len] <> ')' then goto 99; - Len := Len+1; SDTrefSkipSpaces; - if Len > S.Length then goto 99; - end; - if SDTrefIsEnd then begin ErrorFound := false; goto 99; end; - - if S.Value[Len] <> ',' then goto 99; - Len := Len+1; SDTrefSkipSpaces; - if Len > S.Length then goto 99; - - (* ObjectId *) - R.ObjectId := SDTrefGetInteger; - SDTrefSkipSpaces; - if Len > S.Length then goto 99; - - (* Object_Coordinates *) - if S.Value[Len] = '(' then - begin - Len := Len+1; SDTrefSkipSpaces; - if Len > S.Length then goto 99; - R.XCoord := SDTrefGetInteger; - SDTrefSkipSpaces; - if Len > S.Length then goto 99; - if S.Value[Len] <> ',' then goto 99; - Len := Len+1; SDTrefSkipSpaces; - if Len > S.Length then goto 99; - R.YCoord := SDTrefGetInteger; - SDTrefSkipSpaces; - if Len > S.Length then goto 99; - if S.Value[Len] <> ')' then goto 99; - Len := Len+1; SDTrefSkipSpaces; - if Len > S.Length then goto 99; - end; - if SDTrefIsEnd then begin ErrorFound := false; goto 99; end; - - if S.Value[Len] <> ',' then goto 99; - Len := Len+1; SDTrefSkipSpaces; - if Len > S.Length then goto 99; - - (* LineNumber *) - R.LineNumber := SDTrefGetInteger; - SDTrefSkipSpaces; - if Len > S.Length then goto 99; - if SDTrefIsEnd then begin ErrorFound := false; goto 99; end; - - if S.Value[Len] <> ',' then goto 99; - Len := Len+1; SDTrefSkipSpaces; - if Len > S.Length then goto 99; - - (* Column *) - R.Column := SDTrefGetInteger; - SDTrefSkipSpaces; - if Len > S.Length then goto 99; - if SDTrefIsEnd then ErrorFound := false; - end - - else if S.Value[9] = 'T' then - begin - Len := 10; - R.IsSDTGR := false; - if S.Value[10] <> 'E' then goto 99; - Len := 11; - if S.Value[11] <> 'X' then goto 99; - Len := 12; - if S.Value[12] <> 'T' then goto 99; - Len := 13; SDTrefSkipSpaces; - if Len > S.Length then goto 99; - - (* First comma *) - if S.Value[Len] <> ',' then goto 99; - Len := Len+1; SDTrefSkipSpaces; - if Len > S.Length then goto 99; - - (* FileName *) - EndFound := false; - while not EndFound and (Len <= S.Length) do - if S.Value[Len] in [',', ')', '(', ' ', chr(9)] then - EndFound := true - else - begin - R.FileName.Length := R.FileName.Length+1; - if R.FileName.Length > S.Length then goto 99; - R.FileName.Value[R.FileName.Length] := S.Value[Len]; - Len := Len+1; - if Len > S.Length then goto 99; - end; - SDTrefSkipSpaces; - if Len > S.Length then goto 99; - if SDTrefIsEnd then begin ErrorFound := false; goto 99; end; - - if S.Value[Len] <> ',' then goto 99; - Len := Len+1; SDTrefSkipSpaces; - if Len > S.Length then goto 99; - - (* LineNumber *) - R.LineNumber := SDTrefGetInteger; - SDTrefSkipSpaces; - if Len > S.Length then goto 99; - if SDTrefIsEnd then begin ErrorFound := false; goto 99; end; - - if S.Value[Len] <> ',' then goto 99; - Len := Len+1; SDTrefSkipSpaces; - if Len > S.Length then goto 99; - - (* Column *) - R.Column := SDTrefGetInteger; - SDTrefSkipSpaces; - if Len > S.Length then goto 99; - if SDTrefIsEnd then ErrorFound := false; - end; - -99: - if ErrorFound then - Error := Len - else - Error := 0; -end; - - -procedure SDTrefRecToString (* ( - var R : SDTrefRec; - var S : SDTrefString) *) ; - -(* Converts SDTrefRec R to a string S (SDTrefString). If an error is - detected (string is not long enough) S.Length becomes 0 on exit *) - -label 99; -var - Len, I : integer; - Temp : NameString; -begin - S.Value[1] := '#'; - S.Value[2] := 'S'; - S.Value[3] := 'D'; - S.Value[4] := 'T'; - S.Value[5] := 'R'; - S.Value[6] := 'E'; - S.Value[7] := 'F'; - S.Value[8] := '('; - S.Length := 8; - if R.IsSDTGR then - begin - Temp.Value[1] := 'S'; - Temp.Value[2] := 'D'; - Temp.Value[3] := 'L'; - Temp.Value[4] := ','; - Temp.Length := 4; - S := Concatenatenamestrings(S, Temp); - Len := S.Length; - (* FileName *) - for I := 1 to R.FileName.Length do - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := R.FileName.Value[I]; - end; - - (* PageName *) - if R.PageName.Length > 0 then - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := '('; - for I := 1 to R.PageName.Length do - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := R.PageName.Value[I]; - end; - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := ')'; - end; - - (* ObjectId *) - if R.ObjectId <> SDTrefUndefInt then - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := ','; - Temp := integertonmstr(R.ObjectId); - for I := 1 to Temp.Length do - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := Temp.Value[I]; - end; - end; - - (* Object_Coordinates *) - if R.XCoord <> SDTrefUndefInt then - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := '('; - Temp := integertonmstr(R.XCoord); - for I := 1 to Temp.Length do - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := Temp.Value[I]; - end; - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := ','; - Temp := integertonmstr(R.YCoord); - for I := 1 to Temp.Length do - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := Temp.Value[I]; - end; - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := ')'; - end; - - (* LineNumber *) - if R.LineNumber <> SDTrefUndefInt then - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := ','; - Temp := integertonmstr(R.LineNumber); - for I := 1 to Temp.Length do - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := Temp.Value[I]; - end; - end; - - (* Column *) - if R.Column <> SDTrefUndefInt then - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := ','; - Temp := integertonmstr(R.Column); - for I := 1 to Temp.Length do - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := Temp.Value[I]; - end; - end; - - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := ')'; - end - - else (* if PR *) - - begin - Temp.Value[1] := 'T'; - Temp.Value[2] := 'E'; - Temp.Value[3] := 'X'; - Temp.Value[4] := 'T'; - Temp.Value[5] := ','; - Temp.Length := 5; - S := Concatenatenamestrings(S, Temp); - Len := S.Length; - (* FileName *) - for I := 1 to R.FileName.Length do - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := R.FileName.Value[I]; - end; - - (* LineNumber *) - if R.LineNumber <> SDTrefUndefInt then - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := ','; - Temp := integertonmstr(R.LineNumber); - for I := 1 to Temp.Length do - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := Temp.Value[I]; - end; - end; - - (* Column *) - if R.Column <> SDTrefUndefInt then - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := ','; - Temp := integertonmstr(R.Column); - for I := 1 to Temp.Length do - begin - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := Temp.Value[I]; - end; - end; - - Len := Len+1; - if Len > SDTrefStringLength then goto 99; - S.Value[Len] := ')'; - end; - -99: - if Len > SDTrefStringLength then - S.Length := 0 - else - S.Length := Len; -end; - -function NmStrToErrStr;(*( - NmStr : NameString) : ErrorString;*) -var - ErrStr : ErrorString; - i : integer; -begin - for i := 1 to NmStr.Length do - ErrStr.Value[i] := NmStr.Value[i]; - ErrStr.Length := NmStr.Length; - NmStrToErrStr := ErrStr; -end; - -function ErrStrToNmStr;(*( - ErrStr : ErrorString) : NameString;*) -var - NmStr : NameString; - i : integer; - n : integer; -begin - if ErrStr.Length < NameStringLength then - n := ErrStr.Length - else - n := NameStringLength; - for i := 1 to n do - NmStr.Value[i] := ErrStr.Value[i]; - NmStr.Length := n; - ErrStrToNmStr := NmStr; -end; - -(*------------------------------------------------------------------*) -(* GetTextRef *) -(*------------------------------------------------------------------*) -function GetTextRef;(*( - FNm : NameString; - Ln : integer; - Col : integer) : NameString;*) -var - Ref : SDTrefRec; - S : NameString; -begin(* GetTextRef *) - Ref.IsSDTGR := false; - Ref.FileName := FNm; - Ref.LineNumber := Ln; - Ref.Column := Col; - SDTrefRecToString(Ref, S); - GetTextRef := S; -end; (* GetTextRef *) - - (* module COMMON *) diff --git a/test/manual/etags/perl-src/htlmify-cystic b/test/manual/etags/perl-src/htlmify-cystic deleted file mode 100644 index d24103015aa..00000000000 --- a/test/manual/etags/perl-src/htlmify-cystic +++ /dev/null @@ -1,382 +0,0 @@ -#! /un/bin/env perl - -# htmlify-cystic-l-faq: turn text version of cystic-l faq into html -# run like this: htmlify-cystic-l-faq < cystic-l-faq-all - -# Ron Trueworthy should put the date on the FAQ. - -use English; -use Carp; -use strict; - -my @section_name; -my @appendix_name; - -my @section_toc; -my @appendix_toc; - -my $new_tag = "[NEW]"; - -if (! -d "faq") -{ die "Can't find faq directory"; } - -# Initially undefined -my $appendix; -my $section; -my $subsection; -my $subsubsection; - -my $this_file_toc = ""; -my %file_tocs; - -my @output_files = (); -my $file_index = 0; - -my $output_file; - -my $line; -while (defined($line = <>)) -{ - ### Message headers - if ($line =~ /^From /) - { while ($line ne "\n") - { $line = <>; } } - - if ($line =~ /^See PART ONE of this FAQ for/) - { while (defined($line = <>) && ($line ne "\n")) - { } - next; } - - if ($line =~ /^\s*[-+]+$/) - { next; } - - ### File headers - if ($line =~ /^\s*CYSTIC-L Frequently Asked Questions - PART (.*)\n$/) - { # print "part $1\n"; - if ($1 ne "ONE") - { next; } - if ($output_file) - { die "output_file shouldn't have been set yet: $output_file"; } - $output_file = "faq/index.html"; - open(OUTPUT, ">$output_file") || die "Couldn't open $output_file"; - select OUTPUT; - print " -CYSTIC-L FAQ Table of Contents - - - -

CYSTIC-L Frequently Asked Questions

-

Knowledge Is Power

-"; - next; } - - if ($line =~ /^\s*~ Knowledge Is Power ~$/) - { next; } - - ### Table of contents - if ($line =~ /^\s*~ FAQ Table of Contents ~$/) - { read_toc(); - print "
Info-Zone CF-WEB\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 "$line\n

$line

\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 "$line\n

$line

\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 "

", section_name($line), "

\n"; - next; } - - if ($line =~ s/^>?-\s+//) - { $line =~ s/^>//; # sometimes the > follows the itemization - if (!defined($subsubsection)) - { $subsubsection = 1; } - else - { $subsubsection++; } - print "

", section_name($line), "

\n"; - next; } - - ### A paragraph of ordinary text - if ($line !~ /^\s*$/) - { print "

$line"; - while (defined($line = <>) && ($line ne "\n")) - { print $line; } - print "

\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

\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 "

    \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 = "
      \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 = "
        \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 = "
          \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 = "
            \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 = "
              \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 = "
            \n"; - print $entry; - $this_file_toc .= $entry; - $subsubsection = undef; } } - -sub finish_subsections () -{ finish_subsubsections(); - if (defined($subsection)) - { my $entry = " \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 = "
        \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 "
    \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 "$text"; } - -sub section_name ($) -{ my ($text) = @_; - return "$text"; } - -sub toc_line ($) -{ return "
  1. " . section_href($line) . ($new ? " $new_tag" : "") . "\n"; } - -sub file_end () -{ print "\n\n
    \n" - . (($file_index < $#output_files) - ? "Next " : "") - . (($file_index > 0) - ? "Previous " : "") - . "FAQ Info-Zone CF-WEB\n"; - $file_index++; } diff --git a/test/manual/etags/perl-src/kai-test.pl b/test/manual/etags/perl-src/kai-test.pl deleted file mode 100644 index 51b66728f1e..00000000000 --- a/test/manual/etags/perl-src/kai-test.pl +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/perl -sub f1 { - print "f1\n"; -} - -sub main::f2 { - print "f2\n"; -} - -package Foo; - -sub f3 { - print "f3\n"; -} - -sub Bar::f4 { - print "f4\n"; -} - -package Bar; - -sub f5 { - print "f5\n"; -} - -package Foo::Bar; - -sub f6 { - print "f6\n"; -} - -package main; - -sub f7 { - print "f7\n"; -} - -exit 0; -# end of Perl code diff --git a/test/manual/etags/perl-src/yagrip.pl b/test/manual/etags/perl-src/yagrip.pl deleted file mode 100644 index be9f09c02d4..00000000000 --- a/test/manual/etags/perl-src/yagrip.pl +++ /dev/null @@ -1,54 +0,0 @@ -#Yet Another Getopt Routine In Perl -# jgreely@cis.ohio-state.edu, 89/11/1 -#usage: -#&getopt("f:bar") || -# die &usage("script","f:bar","oo","[files ...]"); -# -sub getopt { - local($_,$flag,$opt,$f,$r,@temp) = @_; - @temp = split(/(.):/); - while ($#temp >= $[) { - $flag .= shift(@temp); - $opt .= shift(@temp); - } - while ($_ = $ARGV[0], /^-(.)(.*)/ && shift(@ARGV)) { - ($f,$r) = ($1,$2); - last if $f eq '-'; - if (index($flag,$f) >= $[) { - eval "\$opt_$f++;"; - $r =~ /^(.)(.*)/,redo if $r ne ''; - }elsif (index($opt,$f) >= $[) { - $r = $r eq '' ? shift(@ARGV) : $r; - eval "\$opt_$f = \$r;"; - }else{ - print STDERR "Unrecognized switch \"-$f\".\n"; - return 0; - } - } - return 1; -} - -#usage: usage: -# &usage(progname,arglist,@names,@last); -#ex: -# &usage("script","f:bar","oo","[file ...]"); -#would return -# "usage: script [-f oo] [-bar] [file ...]" -# -sub usage { - local($prog,$_,@list) = @_; - local($string,$flag,@string,@temp,@last) = (); - @temp = split(/(.):/); - push(@string,"usage:",$prog); - while ($#temp >= $[) { - if (($flag = shift(@temp)) ne '') { - push(@string,"[-$flag]"); - } - if (($flag = shift(@temp)) ne '') { - push(@string,sprintf("[-%s %s]",$flag,shift(@list))); - } - } - push(@string,@list) if $#list >= $[; - return join(' ',@string) . "\n"; -} -1; diff --git a/test/manual/etags/php-src/lce_functions.php b/test/manual/etags/php-src/lce_functions.php deleted file mode 100644 index 65738134593..00000000000 --- a/test/manual/etags/php-src/lce_functions.php +++ /dev/null @@ -1,699 +0,0 @@ -' . $value . '"
    '; - $result = AD::validate(trim($value)); - //return $result; - if($result[0]) - { - $lines = explode("\n", ereg_replace("\r", "", $result[1])); - //$lines = explode("\n", $result[1]); - /* print "
    ";
    -	   print_r($lines);
    -	   print "
    ";*/ - $res = array(); - for($i = 0; $i < count($lines); $i++) - { - if(trim($lines[$i]) != "") - $res[] = $lines[$i]; - } - $result[1] = join("\n", $res); - /* print "
    ";
    -	   print_r($result[1]);
    -	   print "
    ";*/ - - $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
    "; - $state_ret = $this->$state($line, $class); - } - //print "state_ret = $state_ret
    "; - } - 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
    "; - } - } - - 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] . "
    "; - $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
    "; - $lang_suffix = $LC_MESSAGES; - } - else if(isset($LC_ALL)) - { - //print "LC_ALL
    "; - $lang_suffix = $LC_ALL; - } - else if(isset($LANG)) - { - //print "LANG
    "; - $lang_suffix = $LANG; - } - else - { - //print "LCE_LANG
    "; - $lang_suffix = $LCE_LANG; - } - - //print "LangSuffix: $lang_suffix \n"; - //print "D_Path: " . fileJoin($d_path, $lang_suffix, "LC_MESSAGES", $d_name . $LCE_PO_SUFFIX) . "
    "; - // 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 "Domain: $por->domain
    "; - } - } - } - 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 "
    \n" . $text . "\n
    "; - } - else - { - return ""; - } - } -} -/* - ;;; Local Variables: *** - ;;; mode:C *** - ;;; End: *** -*/ -?> diff --git a/test/manual/etags/php-src/ptest.php b/test/manual/etags/php-src/ptest.php deleted file mode 100644 index 9893839b493..00000000000 --- a/test/manual/etags/php-src/ptest.php +++ /dev/null @@ -1,18 +0,0 @@ -define("TEST", 0); - -class -test -extends base -{ - // use --member to tag - var $member; - var $memassign="hallo"; - var $memassign_space ="hallo"; - // Syntactical wrong, but tagged - var $test -} - -function -foo() -{ -} diff --git a/test/manual/etags/php-src/sendmail.php b/test/manual/etags/php-src/sendmail.php deleted file mode 100644 index 1d15e4ad9f6..00000000000 --- a/test/manual/etags/php-src/sendmail.php +++ /dev/null @@ -1,527 +0,0 @@ - array( - "modifiable" => true, - "values" => array( - "iso-8859-1", - "iso-8859-15", - "utf-8", - "utf-16" - ) - ), - "content-transfer-encoding" => array( - "modifiable" => true, - "values" => array( - "7bit", - "8bit", - "quoted-printable" - ) - ) - ); - - private $attachmentProperties=array( - "content-type" => array( - "modifiable" => false, - "values" => array( - "application/octet-stream" - ) - ), - "content-transfer-encoding" => array( - "modifiable" => false, - "values" => array( - "base64" - ) - ), - "content-disposition" => array( - "modifiable" => true, - "values" => array( - "attachment", - "inline" - ) - ) - ); - - private static $relatedProperties=array( - "content-transfer-encoding" => array( - "modifiable" => false, - "values" => array( - "base64" - ) - ) - ); - - private $html; - private $text; - - private $related; - private $attachments; - - public static function valid_eMailAddress($eMailAddress) { - if(ereg("^[^@ ]+@[^@ ]+\.[^@ ]+$", $eMailAddress)) - return true; - else - return false; - } - - public static function validContentId($contentId) { - if(ereg("^[a-zA-Z0-9]+$", $contentId)) - return true; - else - return false; - } - - public static function validContentKey($contentKey) { - if(ereg("^[a-zA-Z0-9]+$", $contentKey)) - return true; - else - return false; - } - - public static function mime_content_type($filename) { - $mime=array( - '.3dmf' => 'x-world/x-3dmf', - '.a' => 'application/octet-stream', - '.aab' => 'application/x-authorware-bin', - '.xwd' => 'image/x-xwd', - '.xyz' => 'chemical/x-pdb', - '.z' => 'application/x-compressed', - '.zip' => 'application/x-zip-compressed', - '.zoo' => 'application/octet-stream', - '.zsh' => 'text/x-script.zsh', - '.css' => 'text/css' - ); - return $mime[strrchr($filename, '.')]; - } - - private $from; - private $to; - private $subject; - - private $finalized; - - private $headerMessage; - private $bodyMessage; - - private $boundaries; - - public function __construct($from, $to, $subject=self::defaultSubject) { - - // set from - if(!self::valid_eMailAddress($from)) - die(self::eMailAddressErrorMessage); - else - $this->from=$from; - - // set to - if(!self::valid_eMailAddress($to)) - die(self::eMailAddressErrorMessage); - else - $this->to=$to; - - // set subject - $this->subject=$subject; - - // set text - $this->text=array( - "message" => self::defaultTextMessage, - "properties" => array( - "charset" => self::$messageProperties["charset"]["values"][0], - "content-transfer-encoding" => self::$messageProperties["content-transfer-encoding"]["values"][0] - ) - ); - - // set html - $this->html=array( - "message" => self::defaultHtmlMessage, - "properties" => array( - "charset" => self::$messageProperties["charset"]["values"][0], - "content-transfer-encoding" => self::$messageProperties["content-transfer-encoding"]["values"][1] - ) - ); - - // set related and attachments - $this->related=array(); - $this->attachments=array(); - - // set finalizater counter - $this->finalized=false; - - $this->headerMessage=""; - $this->bodyMessage=""; - - $this->boundaries=array( - "multipart/alternative" => md5(uniqid(microtime())), - "multipart/related" => md5(uniqid(microtime())), - "multipart/mixed" => md5(uniqid(microtime())) - ); - - } - - public function setTo($to, &$errorString) { - if(self::valid_eMailAddress($to)) { - $this->to=$to; - return true; - } else { - $errorString=eMailAddressErrorMessage; - return false; - } - } - - public function setFrom($from, &$errorString) { - if(self::valid_eMailAddress($from)) { - $this->from=$from; - return true; - } else { - $errorString=eMailAddressErrorMessage; - return false; - } - } - - public function setSubject($subject=self::defaultSubject) { - $this->subject=$subject; - } - - public function setTextMessage($textMessage=self::defaultTextMessage) { - $this->text["message"]=$textMessage; - } - - public function setTextMessageProperty($key, $value, &$errorString) { - - $key=strtolower($key); - $value=strtolower($value); - - if(isset(self::$messageProperties[$key])) { - if(in_array($value, self::$messageProperties[$key]["values"])) { - if(self::$messageProperties[$key]["modifiable"]) { - $this->text["properties"][$key]=$value; - return true; - } else { - $errorString="Il valore della propriet? indicata non ? modificabile."; - return false; - } - } else { - $errorString="Il valore indicato per questa propriet? non ? valido."; - return false; - } - } else { - $errorString="Non esiste questa propriet? per i messaggi html."; - return false; - } - } - - public function setHtmlMessage($htmlMessage=self::defaultHtmlMessage) { - $this->html["message"]=$htmlMessage; - } - - public function setHtmlMessageProperty($key, $value, &$errorString) { - - $key=strtolower($key); - $value=strtolower($value); - - if(isset(self::$messageProperties[$key])) { - if(in_array($value, self::$messageProperties[$key]["values"])) { - if(self::$messageProperties[$key]["modifiable"]) { - $this->html["properties"][$key]=$value; - return true; - } else { - $errorString="Il valore della propriet? indicata non ? modificabile."; - return false; - } - } else { - $errorString="Il valore indicato per questa propriet? non ? valido."; - return false; - } - } else { - $errorString="Non esiste questa propriet? per i messaggi html."; - return false; - } - } - - public function addRelated($fileName, $relatedKey, $contentId, &$errorString) { - if(is_file($fileName)) { - if($fileHandle=fopen($fileName, "r")) { - if(self::validContentId($contentId)) { - if(!isset($this->related[$relatedKey])) { - if(self::validContentKey($relatedKey)) { - $this->related[$relatedKey]=array( - "fileName" => basename($fileName), - "properties" => array( - "content-type" => self::mime_content_type($fileName), - "content-transfer-encoding" => self::$relatedProperties["content-transfer-encoding"]["values"][0], - "content-id" => $contentId - ), - "source" => base64_encode( - fread($fileHandle, filesize($fileName)) - ) - ); - return true; - } else { - $errorString="L' id specificato non ? valido."; - return false; - } - } else { - $errorString="La chiave specificata ? gi? associata ad un altro related."; - return false; - } - } else { - $errorString="La chiave specificata per il related non ? valida."; - return false; - } - } else { - $errorString="Non ? possibile aprire il file indicato."; - return false; - } - } else { - $errorString="Il nome del file indicato non ? valido."; - return false; - } - } - - public function setRelatedProperty($relatedKey, $key, $value, &$errorString) { - - $key=strtolower($key); - $value=strtolower($value); - - if(isset(self::$relatedProperties[$key])) { - if(in_array($value, self::$relatedProperties[$key]["values"])) { - if(self::$relatedProperties[$key]["modifiable"]) { - if(isset($this->related[$relatedKey])) { - $this->related[$relatedKey]["properties"][$key]=$value; - return true; - } else { - $errorString="Il related indicato non esiste."; - return false; - } - } else { - $errorString="Il valore della propriet? indicata non ? modificabile."; - return false; - } - } else { - $errorString="Il valore indicato per questa propriet? non ? valido."; - return false; - } - } else { - $errorString="Non esiste questa propriet? per i related."; - return false; - } - } - - public function addAttachment($fileName, $attachmentKey, &$errorString) { - if(is_file($fileName)) { - if($fileHandle=fopen($fileName, "r")) { - if(self::validContentKey($attachmentKey)) { - if(!isset($this->attachments[$attachmentKey])) { - $this->attachments[$attachmentKey]=array( - "fileName" => basename($fileName), - "properties" => array( - "content-type" => self::$attachmentProperties["content-type"]["values"][0], - "content-disposition" => self::$attachmentProperties["content-disposition"]["values"][0], - "content-transfer-encoding" => self::$attachmentProperties["content-transfer-encoding"]["values"][0] - ), - "source" => base64_encode( - fread($fileHandle, filesize($fileName)) - ) - ); - return true; - } else { - $errorString="La chiave specificata ? gi? associata ad un altro allegato."; - return false; - } - } else { - $errorString="La chiave specificata per l'allegato non ? valida."; - return false; - } - } else { - $errorString="Non ? possibile aprire il file indicato."; - return false; - } - } else { - $errorString="Il nome del file indicato non ? valido."; - return false; - } - } - - public function setAttachmentProperty($attachmentKey, $key, $value, &$errorString) { - - $key=strtolower($key); - $value=strtolower($value); - - if(isset(self::$attachmentProperties[$key])) { - if(in_array($value, self::$attachmentProperties[$key]["values"])) { - if(self::$attachmentProperties[$key]["modifiable"]) { - if(isset($this->attachments[$attachmentKey])) { - $this->attachments[$attachmentKey]["properties"][$key]=$value; - return true; - } else { - $errorString="L'allegato indicato non esiste."; - return false; - } - } else { - $errorString="Il valore della propriet? indicata non ? modificabile."; - return false; - } - } else { - $errorString="Il valore indicato per questa propriet? non ? valido."; - return false; - } - } else { - $errorString="Non esiste questa propriet? per gli allegati."; - return false; - } - } - - public function finalize(&$errorString) { - if(!$this->finalized) { - $this->headerMessage="from: ".($this->from)."\n"; - $this->headerMessage.="to: ".($this->to)."\n"; - $this->headerMessage.="subject: ".($this->subject)."\n"; - $this->headerMessage.="mime-version: 1.0\n"; - - if(($countAttachments=count($this->attachments))>0) { - $this->headerMessage.="content-type: multipart/mixed; boundary=\"".($this->boundaries["multipart/mixed"])."\"\n\n"; - $this->headerMessage.=self::defaultHeaderMessage; - $this->headerMessage.="\n\n"; - - $this->bodyMessage="--".($this->boundaries["multipart/mixed"])."\n"; - - if(($countRelated=count($this->related))>0) { - $this->bodyMessage.="content-type: multipart/related; type=\"multipart/alternative\"; boundary=\"".($this->boundaries["multipart/related"])."\"\n\n"; - - $this->bodyMessage.="--".($this->boundaries["multipart/related"])."\n"; - - $this->bodyMessage.="content-type: multipart/alternative; boundary=\"".($this->boundaries["multipart/alternative"])."\"\n\n"; - $this->createMultipartAlternativeMessage($this->boundaries["multipart/alternative"]); - $this->bodyMessage.="--".($this->boundaries["multipart/alternative"])."--\n\n"; - - // aggiungere i related e chiudere - - $relatedCounter=0; - while(list($key,)=each($this->related)) { - $relatedCounter++; - - $this->bodyMessage.="--".$this->boundaries["multipart/related"]."\n"; - $this->createMultipartRelatedMessage($key); - if($relatedCounter!=$countRelated) $this->bodyMessage.="--".($this->boundaries["multipart/related"])."\n"; - else $this->bodyMessage.="--".($this->boundaries["multipart/related"])."--\n\n"; - } - } else { - $this->bodyMessage.="content-type: multipart/alternative; boundary=\"".($this->boundaries["multipart/alternative"])."\"\n\n"; - $this->createMultipartAlternativeMessage(); - $this->bodyMessage.="--".($this->boundaries["multipart/alternative"])."--\n\n"; - } - - $attachmentsCounter=0; - while(list($key,)=each($this->attachments)) { - $attachmentsCounter++; - $this->bodyMessage.="--".($this->boundaries["multipart/mixed"])."\n"; - $this->createMultipartMixedMessage($key); - if($attachmentsCounter!=$countAttachments) $this->bodyMessage.="--".($this->boundaries["multipart/mixed"])."\n"; - else $this->bodyMessage.="--".($this->boundaries["multipart/mixed"])."--\n\n"; - } - } else { - if(($countRelated=count($this->related))>0) { - $this->headerMessage.="content-type: multipart/related; type=\"multipart/alternative\"; boundary=\"".($this->boundaries["multipart/related"])."\"\n\n"; - $this->headerMessage.=self::defaultHeaderMessage; - $this->headerMessage.="\n\n"; - - $this->bodyMessage="--".($this->boundaries["multipart/related"])."\n"; - $this->bodyMessage.="content-type: multipart/alternative; boundary=\"".($this->boundaries["multipart/alternative"])."\"\n\n"; - $this->createMultipartAlternativeMessage(); - $this->bodyMessage.="--".($this->boundaries["multipart/alternative"])."--\n\n"; - - $relatedCounter=0; - while(list($key,)=each($this->related)) { - $relatedCounter++; - $this->bodyMessage.="--".$this->boundaries["multipart/related"]."\n"; - $this->createMultipartRelatedMessage($key); - if($relatedCounter!=$countRelated) $this->bodyMessage.="--".($this->boundaries["multipart/related"])."\n"; - else $this->bodyMessage.="--".($this->boundaries["multipart/related"])."--\n\n"; - } - } else { - $this->headerMessage.="content-type: multipart/alternative; boundary=\"".($this->boundaries["multipart/alternative"])."\"\n\n"; - $this->headerMessage.=self::defaultHeaderMessage; - $this->headerMessage.="\n\n"; - - $this->createMultipartAlternativeMessage(); - $this->bodyMessage.="--".($this->boundaries["multipart/alternative"])."--"; - - } - } - $this->finalized=true; - return true; - } else { - $errorString="Al momento non ? possibile finalizzare."; - return false; - } - } - - private function createMultipartAlternativeMessage() { - $multipartAlternativeBoundary=$this->boundaries["multipart/alternative"]; - $this->bodyMessage.="--$multipartAlternativeBoundary\n"; - $this->bodyMessage.="content-type: text/plain; charset=\"".($this->text["properties"]["charset"])."\"\n"; - $this->bodyMessage.="content-transfer-encoding: ".($this->text["properties"]["content-transfer-encoding"])."\n\n"; - $this->bodyMessage.=$this->text["message"]; - $this->bodyMessage.="\n\n"; - $this->bodyMessage.="--$multipartAlternativeBoundary\n"; - $this->bodyMessage.="content-type: text/html; charset=\"".($this->html["properties"]["charset"])."\"\n"; - $this->bodyMessage.="content-transfer-encoding: ".($this->html["properties"]["content-transfer-encoding"])."\n\n"; - $this->bodyMessage.=$this->html["message"]; - $this->bodyMessage.="\n\n"; - } - - private function createMultipartRelatedMessage($key) { - $obj=$this->related[$key]; - $this->bodyMessage.="content-type: ".($obj["properties"]["content-type"])."; name=\"".($obj["fileName"])."\"\n"; - $this->bodyMessage.="content-transfer-encoding: ".($obj["properties"]["content-transfer-encoding"])."\n"; - $this->bodyMessage.="content-id: <".($obj["properties"]["content-id"]).">\n\n"; - $this->bodyMessage.=$obj["source"]; - $this->bodyMessage.="\n\n"; - } - - private function createMultipartMixedMessage($key) { - $obj=$this->attachments[$key]; - $this->bodyMessage.="content-type: ".($obj["properties"]["content-type"])."; name=\"".($obj["fileName"])."\"\n"; - $this->bodyMessage.="content-transfer-encoding: ".($obj["properties"]["content-transfer-encoding"])."\n"; - $this->bodyMessage.="content-disposition: ".($obj["properties"]["content-disposition"])."; filename=\"".($obj["fileName"])."\"\n\n"; - $this->bodyMessage.=$obj["source"]; - $this->bodyMessage.="\n\n"; - } - - public function getSource(&$errorString) { - if($this->finalized) { - return ($this->headerMessage).($this->bodyMessage); - } else { - $errorString="Ancora non ? avvenuta la finalizzazione."; - return false; - } - } - - public function sendMail(&$errorString) { - if($this->finalized) { - mail($this->to, $this->subject, $this->bodyMessage, $this->headerMessage); - $this->finalized=false; - return true; - } else { - $errorString="Ancora non ? avvenuta la finalizzazione."; - return false; - } - } -} - -?> diff --git a/test/manual/etags/prol-src/natded.prolog b/test/manual/etags/prol-src/natded.prolog deleted file mode 100644 index 08c81d48f61..00000000000 --- a/test/manual/etags/prol-src/natded.prolog +++ /dev/null @@ -1,1545 +0,0 @@ -% $Id: natded.pl,v 1.7 2001/04/26 12:22:56 geertk Exp geertk $ -% NATURAL DEDUCTION CG PARSER WITH SEMANTICS -% ========================================================================= -% Bob CARPENTER -% Computational Linguistics Program, Department of Philosophy -% Carnegie Mellon University, Pittsburgh, PA 15213 -% Net: carp+@cmu.edu -% Voice: (412) 268-8043 Fax: (412) 268-1440 - -% Copyright 1995, Bob Carpenter - -% Written: 12 March 1993 -% Revised: 4 February 1994 -% Further Revised: 2 May 1994 -% Revised for CGI: 16 November 1995 -% Revised for Lambek notation: ? Novemeber 1995 -% Revised again: 30 November 1995 - - -% Library Includes -% ========================================================================= - -:- use_module(library(system)). -% :- use_module(library(random)). - - -% Data Types -% ========================================================================= - -% ::= -% | -% | @ -% | ^ - -% ::= var() - -% ::= con() - -% ::= tree(,,)>) -% | ass(,,) -% | leaf() - -% ::= - -% ::= : - -% ::= -% | / | \ -% | scop(,) -% | - - -% ::= bas() - -% ::= )> -% )> -% )> - -% ::= ==> . - -% ::= empty . - -% ::= ===> )> if . - -% ::= - -% ::= - -% ::= edge(, , ) - -% 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:, -MExp:) -% ---------------------------------------------------------------------- -% 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:, -MNorm:) -% ---------------------------------------------------------------------- -% 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:, -MFr:) -% ---------------------------------------------------------------------- -% 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:, +X:, +N:, -L:) -% ---------------------------------------------------------------------- -% 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:, -N:) -% ---------------------------------------------------------------------- -% 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:, -N:) -% ---------------------------------------------------------------------- -% 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:, -N:) -% ---------------------------------------------------------------------- -% 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:, -X:) -% ---------------------------------------------------------------------- -% 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:, +X:, +M:) -% ---------------------------------------------------------------------- -% 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:) -% ---------------------------------------------------------------------- -% 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:, ?Syn:, ?Sem:) -% ---------------------------------------------------------------------- -% word W has syntactic category Syn and smenantic term Sem -% ---------------------------------------------------------------------- -lex(W,SynOut,Sem):- - W ==> Syn : Sem, - expandsyn(Syn,SynOut). - -% expandsyn(+SynIn:, ?SynOut:) -% ---------------------------------------------------------------------- -% 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 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 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:+)>, +Cat:, +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:+)>, 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:+)>, WsOut:-)>) -% ---------------------------------------------------------------------- -% 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:+)>, Right:+, Left:-) -% ---------------------------------------------------------------------- -% 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:, +Left:, +Right:) -% ---------------------------------------------------------------------- -% 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('
    '). - -% mapsyn(+SynCat:, -SynCatOut:, Right:+, 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:+, Cats:+, Right:-) -% ---------------------------------------------------------------------- -% 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:?, Right:?, Cat:?) (dynamic) -% ---------------------------------------------------------------------- -% There is an edge with category Cat from Left to Right; -% ---------------------------------------------------------------------- - -% normalize_tree(+TreeIn:, -TreeOut:) -% ---------------------------------------------------------------------- -% 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:, -TreeOut:) -% ---------------------------------------------------------------------- -% 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()> -% ---------------------------------------------------------------------- -% 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:, +T:) -% ---------------------------------------------------------------------- -% 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('

    '), write(Arg), nl, ttyflush, - ( tokenizeatom(Arg,TokenList) - % ,write('

    '), write(TokenList), ttyflush - ; write('Input '), write(Arg), write(' could not be tokenized'), ttyflush, halt - ), - ( parse_cgi(TokenList,KeyVals) - % , write('

    '), 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:, -Tokens:)>) -% ---------------------------------------------------------------------- -% breaks input Input into list of tokens; -% ---------------------------------------------------------------------- -tokenizeatom(Atom,Ws):- - name(Atom,Cs), - tokenize(Cs,Xs-Xs,Ws). - -% tokenize(+Chars:)>, +CharsSoFar:)>, -% -Tokens:)>) -% ---------------------------------------------------------------------- -% 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 is the name of an operator character -% ---------------------------------------------------------------------- -isoperator(Char):- - name(Op,[Char]), - isoptab(Op). - -isoptab('%'). -isoptab('+'). -isoptab('&'). -isoptab('='). - -% specialsymbol(+C1:, +C2:, -S:) -% ---------------------------------------------------------------------- -% 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:)>, -KeyVals:)>) -% ---------------------------------------------------------------------- -% 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:)>) -% ---------------------------------------------------------------------- -% 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('

    '), write(Ws), nl, - nl, write('PARSE RESULTS FOR: '), - writelist(Ws), - write('

    '), 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:

    , ?Syn:, +Ws:)>) -% ---------------------------------------------------------------------- -% 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('
    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).
    '), nl, - actout(OutForm,Trees3) - ). - - - -% actout(+Form:, +Ts:)>) -% ---------------------------------------------------------------------- -% return output for list of trees Ts in form Form -% ---------------------------------------------------------------------- -actout('Text',Trees):- - write('
    '), nl,  
    -  texttreelist(Trees),
    -  nl, write('
    '). -actout('Prawitz',Ts):- - htmltreelist(Ts). -actout('Fitch',Ts):- - fitchtreelist(Ts). - - - -texttreelist([]). -texttreelist([T|Ts]):- - pp_tree(T), - nl, write('
    '), nl, - texttreelist(Ts). - -htmltreelist([]). -htmltreelist([T|Ts]):- - pp_html_table_tree(T), - nl, write('
    '), nl, - htmltreelist(Ts). - -fitchtreelist([]). -fitchtreelist([T|Ts]):- - pp_html_table_fitch_tree(T), - nl, write('
    '), nl, - fitchtreelist(Ts). - - -% PRETTY PRINTING ROUTINES -% ====================================================================== - -% pp_html_table_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('

    '), - pp_html_tree(T). - -% pp_html_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(']'), write(N), write(''). -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(''), nl, - write(' - - - '), - nl, - write(' - '), - nl, - write('
    -Nil
    '), - pp_cat(Syn:Sem), - write('
    '). -pp_html_tree(tree(Rule,Root,SubTrees)):- - nl, write(''), nl, - write(''), nl, - pp_html_trees(SubTrees,0,N), - nl, - ( Rule = lex - -> true - ; write('') - ), - write(''), - write(''), - nl, write('
    '), pp_rule(Rule), write('
    '), - pp_cat(Root), - write('
    '). - -% pp_html_trees(+Trees: )>,+N:,-M:) -% ---------------------------------------------------------------------- -% 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(''), pp_html_tree(T), - write(''), - K is N+1, - pp_html_trees(Ts,K,M). -pp_html_trees([],N,N). - -% pp_html_table_fitch_tree(+T:) -% ---------------------------------------------------------------------- -% T is numbered and output as a table Fitch-style -% ---------------------------------------------------------------------- -pp_html_table_fitch_tree(T):- - numbervars(T), - nl, write(''), - pp_html_fitch_tree(T,1,_,_,_,[],_), - nl, write('
    '). - -% pp_html_fitch_tree(+Tree:, +Start:, -Next:, -Me:, -% +Exp:, -% +AssIn:)>, -AssOut:)>) -% ---------------------------------------------------------------------- -% 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 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(''), - write(M), write(''), - map_word(Words,Exp), pp_exp(Exp), - write('-'), pp_cat(Root), - write(''), write('Der'), write(''), nl, - N is M+1. -pp_html_fitch_tree(tree(lex,Root,[leaf(Word)]),M,N,M,Word,Ass,Ass):- - !, nl, write(''), - write(M), write(''), pp_exp(Word), write('-'), pp_cat(Root), - write(''), write('Lex'), write(''), 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(''), - write(L), write(''), pp_exp(Exp1+Exp2), write('-'), pp_cat(Root), - write(''), write('E/ '), write((Source1,Source2)), write(''), 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(''), - write(L), write(''), pp_exp(Exp1+Exp2), write('-'), pp_cat(Root), - write(''), write('E\\ '), write((Source1,Source2)), write(''), 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(''), - write(Me), write(''), pp_exp(Exp), write('-'), pp_cat(Root), - write(''), write('q I '), write(Source), write(''), 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(''), - write(L), write(''), pp_exp(Exp1+Exp2+Exp3), write('-'), pp_cat(Root), - write(''), write('E co '), write((Source1,Source2,Source3)), write(''), 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(''), - write(''), - pp_html_fitch_tree(T,K,N,L, Exp, [ass(M,X)|AssIn],AssOut), - write(''), - write('
    '), write(M), write(''), - X = '$VAR'(Num), - cat_atoms(Num,'',ExpMid), - cat_atoms('e',ExpMid,ExpNum), - pp_exp(ExpNum), write(' - '), - pp_cat(C2:var(X)), write(''), write('Assume
    '), write(N), write(''), - removeexp(ExpNum,Exp,ExpNew), - pp_exp(ExpNew), write(' - '), pp_cat(C1/C2:var(X)^Sem), write(''), - write('/I '), write((M,L)), write('
    '), - 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(''), - write(''), - pp_html_fitch_tree(T,K,N,L, Exp, [ass(M,X)|AssIn],AssOut), - write(''), - write('
    '), write(M), write(''), - X = '$VAR'(Num), - cat_atoms(Num,'',ExpMid), - cat_atoms('e',ExpMid,ExpNum), - pp_exp(ExpNum), write(' - '), - pp_cat(C2:var(X)), write(''), write('Assume
    '), write(N), write(''), - removeexp(ExpNum,Exp,ExpNew), - pp_exp(ExpNew), write(' - '), pp_cat(C2\C1:var(X)^Sem), write(''), - write('/I '), write((M,L)), write('
    '), - 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(''), - write(''), - pp_html_fitch_tree(T,K,N,L,Exp, [ass(M,X)|AssIn],AssOut), - write(''), - write('
    '), write(M), write(''), - X = '$VAR'(Num), - cat_atoms(Num,'',ExpMid), - cat_atoms('e',ExpMid,ExpNum), - pp_exp(ExpNum), write(' - '), - pp_cat(C2:var(X)), write(''), write('Assume
    '), write(N), write(''), - splitexp(ExpNum,Exp,ExpNew), - pp_exp(ExpNew), write(' - '), - pp_cat((C1-C2):var(X)^Sem), write(''), - write('I- '), write((M,L)), write('
    '), - 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(''), write(P), write(''), -% pp_exp(Exp), write(' - '), -% pp_cat(A:(Q@(X^Alpha))), write(''), -% write(' '). -pp_html_fitch_tree(empty(Syn,Sem),M,N,M,[],Ass,Ass):- - !, nl, write(''), - write(M), write(''), write('NIL'), write(' '), pp_cat(Syn:Sem), - write(''), write('Empty'), write(''), 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,'',ExpMid), - cat_atoms('e',ExpMid,Exp). - -% removexp(+ExpRem:,+Exp:,-ExpOut:) -% ---------------------------------------------------------------------- -% 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:, -ExpOut:) -% ---------------------------------------------------------------------- -% 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:) -% ---------------------------------------------------------------------- -% 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 T is output in indented list notation; first number -% ---------------------------------------------------------------------- -pp_tree(T):- - numbervars(T), - pp_tree(T,0). - -% pp_tree(+T:, +Col:) -% ---------------------------------------------------------------------- -% 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(''), write(N), write(''). -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:)>, +Col:) -% ---------------------------------------------------------------------- -% 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:)>) -% ---------------------------------------------------------------------- -% 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(''), write(W), write(''). - -% pp_word_list_rest(+Ws:)>) -% ---------------------------------------------------------------------- -% 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:) -% ---------------------------------------------------------------------- -% pretty print category Cat -% ---------------------------------------------------------------------- -pp_cat(Syn:Sem):- - pp_lam(Sem), write(' : '), pp_syn(Syn). - -% pp_syn(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:) -% ---------------------------------------------------------------------- -% 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:) -% ---------------------------------------------------------------------- -% category Cat is pretty printed with surrounding parens -% ---------------------------------------------------------------------- -pp_paren(C):- - write('('), pp_syn(C), write(')'). - -% pp_syn_back(+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:) -% ---------------------------------------------------------------------- -% the basic category BasCat is pretty printed -% ---------------------------------------------------------------------- -pp_bas_cat(Cat):- - writecat(Cat,Atom,Subs,Sups), - write(Atom), - writesubs(Subs), - writesups(Sups). - -% writecat(+BasCat:,-Root:,-Subs:,-Sups:) -% ---------------------------------------------------------------------- -% 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 is output as a subscript -% ---------------------------------------------------------------------- -writesubs([]). -writesubs([X|Xs]):- - write(''), - writelistsubs(Xs,X), - write(''). - -% writesups(+List:) -% ---------------------------------------------------------------------- -% List is output as a superscript -% ---------------------------------------------------------------------- -writesups([]). -writesups([X|Xs]):- - write(''), - writelistsubs(Xs,X), - write(''). - -% writelistsubs(+Xs:, +X:) -% ---------------------------------------------------------------------- -% 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:) -% ---------------------------------------------------------------------- -% lambda term Term is pretty printed -% ---------------------------------------------------------------------- -pp_lam(Var^Alpha):- - !, pp_lam(Var), write('. '), 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(' or '), 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(''), write(x), write(''), write(N), write(''). -pp_lam(con(Con)):- - write(''), write(Con), write(''). - -pp_lam_bracket(A^B):- - !, write('('), pp_lam(A^B), write(')'). -pp_lam_bracket(A):- - pp_lam(A). - -% pp_lam_paren(+Term:) -% ---------------------------------------------------------------------- -% lambda term Term is pretty printed -% ---------------------------------------------------------------------- -pp_lam_paren(Var^Alpha):- - !, pp_lam(Var), write('. '), 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(' or '), 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(''), write(x), write(''), write(N), write(''). -pp_lam_paren(con(Con)):- - write(''), write(Con), write(''). - -% pp_rule(+Rule:) -% ---------------------------------------------------------------------- -% rule Rule is pretty printed -% ---------------------------------------------------------------------- -pp_rule(fe):-write('/E'). -pp_rule(be):-write('\\E'). -pp_rule(fi('$VAR'(N))):-write('/I'), write(N), write(''). -pp_rule(bi('$VAR'(N))):-write('\\I'), write(N), write(''). -pp_rule(gi('$VAR'(N))):-write('-I'), write(N), write(''). -pp_rule(qqpush('$VAR'(N))):-write('qE'), write(N), write(''). -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('Natural Deduction CG Parser LEXICON

    '), nl, nl, - setof(lexe(W,Syn:Sem),lexentry(W,Syn,Sem),Ws), - !, writebreaklex(Ws), - nl, write(''), 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('
    '), nl, - writebreaklex(Ws,W2). - -write_lex(File):- - tell(File), - write('Natural Deduction CG Parser LEXICON

    '), nl, - setof(W,C^(W==>C),Ws), - !, writebreak(Ws), - nl, write('
    '), nl, - told. - -writebreak([]). -writebreak([W|Ws]):- - writebreak(Ws,W). - -writebreak([],W):- - write(W), nl. -writebreak([W2|Ws],W):- - write(W), write('
    '), nl, - writebreak(Ws,W2). - -tt:- - consult(natded), consult(lexicon), consult_lex, compile_empty. - -mt:- - consult(natded), consult(lexicon), consult_lex, compile_empty, save(test3), start_up. - -cmt:- - compile(natded), compile(lexicon), compile_lex('compilelex.pl'), compile_empty, save(test3), start_up. - - -%%% Local Variables: -%%% mode: prolog -%%% prolog-indent-width: 2 -%%% tab-width: 2 -%%% End: diff --git a/test/manual/etags/prol-src/ordsets.prolog b/test/manual/etags/prol-src/ordsets.prolog deleted file mode 100644 index 0fa70f903f0..00000000000 --- a/test/manual/etags/prol-src/ordsets.prolog +++ /dev/null @@ -1,337 +0,0 @@ -/* Copyright(C) 1988, Swedish Institute of Computer Science */ - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% File : ORDSETS.PL % -% Author : Lena Flood % -% Updated: 9 September 1988 % -% Purpose: Ordered set manipulation utilities % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -:- module(ordsets, [ - is_ordset/1, - list_to_ord_set/2, - ord_add_element/3, - ord_del_element/3, - ord_disjoint/2, - ord_intersect/2, - ord_intersection/3, - ord_intersection/4, - ord_intersection/2, - ord_member/2, - ord_seteq/2, - ord_setproduct/3, - ord_subset/2, - ord_subtract/3, - ord_symdiff/3, - ord_union/3, - ord_union/4, - ord_union/2 - ]). - -% Adapted from shared code written by Richard A O'Keefe. - -% In this package, sets are represented by ordered lists with no -% duplicates. Thus {c,r,a,f,t} would be [a,c,f,r,t]. The ordering -% is defined by the @< family of term comparison predicates, which -% is the ordering used by sort/2 and setof/3. - -% The benefit of the ordered representation is that the elementary -% set operations can be done in time proportional to the Sum of the -% argument sizes rather than their Product. - - - -% is_ordset(+Set) -% is true when Set is an ordered set. - -is_ordset(X) :- var(X), !, fail. -is_ordset([]). -is_ordset([Head|Tail]) :- - is_ordset(Tail, Head). - -is_ordset(X, _) :- var(X), !, fail. -is_ordset([], _). -is_ordset([Head|Tail], Left) :- - Left @< Head, - is_ordset(Tail, Head). - - -% list_to_ord_set(+List, ?Set) -% is true when Set is the ordered representation of the set represented -% by the unordered representation List. - -list_to_ord_set(List, Set) :- - sort(List, Set). - - -% ord_add_element(+Set1, +Element -Set2) -% is true when Set2 is Set1 with Element inserted in it, preserving -% the order. - -ord_add_element([], Element, [Element]). -ord_add_element([Head|Tail], Element, Set) :- - compare(Order, Head, Element), - ord_add_element(Order, Head, Tail, Element, Set). - -ord_add_element(<, Head, Tail, Element, [Head|Set]) :- - ord_add_element(Tail, Element, Set). -ord_add_element(=, Head, Tail, _, [Head|Tail]). -ord_add_element(>, Head, Tail, Element, [Element,Head|Tail]). - - -% ord_del_element(+Set1, +Element, ?Set2) -% is true when Set2 is Set1 but with Element removed. - -ord_del_element([], _, []). -ord_del_element([Head|Tail], Element, Set) :- - compare(Order, Head, Element), - ord_del_element(Order, Head, Tail, Element, Set). - -ord_del_element(<, Head, Tail, Element, [Head|Set]) :- - ord_del_element(Tail, Element, Set). -ord_del_element(=, _, Tail, _, Tail). -ord_del_element(>, Head, Tail, _, [Head|Tail]). - - - -% ord_disjoint(+Set1, +Set2) -% is true when the two ordered sets have no element in common. - -ord_disjoint(Set1, Set2) :- - \+ ord_intersect(Set1, Set2). - - - -% ord_intersect(+Set1, +Set2) -% is true when the two ordered sets have at least one element in common. - -ord_intersect([Head1|Tail1], [Head2|Tail2]) :- - compare(Order, Head1, Head2), - ord_intersect(Order, Head1, Tail1, Head2, Tail2). - -ord_intersect(<, _, [Head1|Tail1], Head2, Tail2) :- - compare(Order, Head1, Head2), - ord_intersect(Order, Head1, Tail1, Head2, Tail2). -ord_intersect(=, _, _, _, _). -ord_intersect(>, Head1, Tail1, _, [Head2|Tail2]) :- - compare(Order, Head1, Head2), - ord_intersect(Order, Head1, Tail1, Head2, Tail2). - - - -% ord_intersection(+Set1, +Set2, ?Intersection) -% is true when Intersection is the intersection of Set1 -% and Set2, provided that Set1 and Set2 are ordered sets. - -ord_intersection([], _, []). -ord_intersection([Head1|Tail1], Set2, Intersection) :- - ord_intersection3(Set2, Head1, Tail1, Intersection). - -ord_intersection3(<, _, Set1, Head2, Tail2, Intersection) :- - ord_intersection3(Set1, Head2, Tail2, Intersection). -ord_intersection3(=, Head, Tail1, _, Tail2, [Head|Intersection]) :- - ord_intersection(Tail1, Tail2, Intersection). -ord_intersection3(>, Head1, Tail1, _, Set2, Intersection) :- - ord_intersection3(Set2, Head1, Tail1, Intersection). - -% could be a disjunction, but is used in three places -ord_intersection3([], _, _, []). -ord_intersection3([Head2|Tail2], Head1, Tail1, Intersection) :- - compare(Order, Head1, Head2), - ord_intersection3(Order, Head1, Tail1, Head2, Tail2, Intersection). - - - -% ord_intersection(+Set1, +Set2, ?Intersection, ?Difference) -% is true when Intersection is the intersection of Set1 and Set2, -% and Difference is Set2 \ Set1 (like in ord_union/4), -% provided that Set1 and Set2 are ordered sets. - -ord_intersection([], Set2, [], Set2). -ord_intersection([Head1|Tail1], Set2, Intersection, Difference) :- - ord_intersection4(Set2, Head1, Tail1, Intersection, Difference). - -ord_intersection4(<, _, Set1, Head2, Tail2, Intersection, Difference) :- - ( Set1 = [], Intersection = [], Difference = [Head2|Tail2] - ; Set1 = [Head1|Tail1], - compare(Order, Head1, Head2), - ord_intersection4(Order, Head1, Tail1, Head2, Tail2, Intersection, Difference) - ). -ord_intersection4(=, Head, Tail1, _, Tail2, [Head|Intersection], Difference) :- - ord_intersection(Tail1, Tail2, Intersection, Difference). -ord_intersection4(>, Head1, Tail1, Head2, Set2, Intersection, [Head2|Difference]) :- - ord_intersection4(Set2, Head1, Tail1, Intersection, Difference). - -ord_intersection4([], _, _, [], []). -ord_intersection4([Head2|Tail2], Head1, Tail1, Intersection, Difference) :- - compare(Order, Head1, Head2), - ord_intersection4(Order, Head1, Tail1, Head2, Tail2, Intersection, Difference). - - - -% ord_intersection(+Sets, ?Intersection) -% is true when Intersection is the ordered set representation of the -% intersection of all the sets in Sets. - -ord_intersection(Sets, Intersection) :- - length(Sets, NumberOfSets), - NumberOfSets > 0, - ord_intersection2(NumberOfSets, Sets, Intersection, []). - -ord_intersection2(1, [Set|Sets], Set0, Sets0) :- !, - Set = Set0, - Sets = Sets0. -ord_intersection2(2, [Set,Set2|Sets], Intersection, Sets0) :- !, - Sets = Sets0, - ord_intersection2(Set, Set2, Intersection). -ord_intersection2(N, Sets0, Intersection, Sets) :- -% N > 2, - A is N>>1, - Z is N-A, - ord_intersection2(A, Sets0, X, Sets1), - ord_intersection2(Z, Sets1, Y, Sets), - ord_intersection(X, Y, Intersection). - - - -% ord_member(+Elt, +Set) -% is true when Elt is a member of Set. Suggested by Mark Johnson. - -ord_member(X, [E|Es]) :- - compare(C, X, E), - ord_member(C, X, Es). - -ord_member(=, _X, _Es). -ord_member(>, X, [E|Es]) :- - compare(C, X, E), - ord_member(C, X, Es). - - - -% ord_seteq(+Set1, +Set2) -% is true when the two arguments represent the same set. Since they -% are assumed to be ordered representations, they must be identical. - - -ord_seteq(Set1, Set2) :- - Set1 == Set2. - - -% ord_setproduct(+Set1, +Set2, ?SetProduct) -% is true when SetProduct is the cartesian product of Set1 and Set2. The -% product is represented as pairs Elem1-Elem2, where Elem1 is an element -% from Set1 and Elem2 is an element from Set2. - -ord_setproduct([], _, []). -ord_setproduct([Head|Tail], Set, SetProduct) :- - ord_setproduct(Set, Head, SetProduct, Rest), - ord_setproduct(Tail, Set, Rest). - -ord_setproduct([], _, Set, Set). -ord_setproduct([Head|Tail], X, [X-Head|TailX], Tl) :- - ord_setproduct(Tail, X, TailX, Tl). - - - -% ord_subset(+Set1, +Set2) -% is true when every element of the ordered set Set1 appears in the -% ordered set Set2. - -ord_subset([], _). -ord_subset([Head1|Tail1], [Head2|Tail2]) :- - compare(Order, Head1, Head2), - ord_subset(Order, Head1, Tail1, Tail2). - -ord_subset(=, _, Tail1, Tail2) :- - ord_subset(Tail1, Tail2). -ord_subset(>, Head1, Tail1, [Head2|Tail2]) :- - compare(Order, Head1, Head2), - ord_subset(Order, Head1, Tail1, Tail2). - - - -% ord_subtract(+Set1, +Set2, ?Difference) -% is true when Difference contains all and only the elements of Set1 -% which are not also in Set2, i.e. Set1 \ Set2. - -ord_subtract(Set1, Set2, Union) :- - prolog:subtract(Set1, Set2, Union). - - - -% ord_symdiff(+Set1, +Set2, ?Difference) -% is true when Difference is the symmetric difference of Set1 and Set2. - -ord_symdiff([], Set2, Set2). -ord_symdiff([Head1|Tail1], Set2, Symdiff) :- - ord_symdiff(Set2, Head1, Tail1, Symdiff). - -ord_symdiff(<, Head1, Set1, Head2, Tail2, [Head1|Symdiff]) :- - ord_symdiff(Set1, Head2, Tail2, Symdiff). -ord_symdiff(=, _, Tail1, _, Tail2, Symdiff) :- - ord_symdiff(Tail1, Tail2, Symdiff). -ord_symdiff(>, Head1, Tail1, Head2, Set2, [Head2|Symdiff]) :- - ord_symdiff(Set2, Head1, Tail1, Symdiff). - -% could be a disjunction, but is used in three places -ord_symdiff([], Head1, Tail1, [Head1|Tail1]). -ord_symdiff([Head2|Tail2], Head1, Tail1, Symdiff) :- - compare(Order, Head1, Head2), - ord_symdiff(Order, Head1, Tail1, Head2, Tail2, Symdiff). - - - -% ord_union(+Set1, +Set2, ?Union) -% is true when Union is the union of Set1 and Set2. Note that when -% something occurs in both sets, we want to retain only one copy. - -ord_union(Set1, Set2, Union) :- - prolog:merge(Set1, Set2, Union). - - - -% ord_union(+Set1, +Set2, ?Union, ?New) -% is true when Union is the union of Set1 and Set2, and New is -% Set2 \ Set1. This is useful if you -% are accumulating members of a set and you want to process new -% elements as they are added to the set. - -ord_union([], Set2, Set2, Set2). -ord_union([Head1|Tail1], Set2, Union, Difference) :- - ord_union4(Set2, Head1, Tail1, Union, Difference). - -ord_union4(<, Head, Set1, Head2, Tail2, [Head|Union], Difference) :- - ( Set1 = [], Union = [Head2|Tail2], Difference = [Head2|Tail2] - ; Set1 = [Head1|Tail1], - compare(Order, Head1, Head2), - ord_union4(Order, Head1, Tail1, Head2, Tail2, Union, Difference) - ). -ord_union4(=, Head, Tail1, _, Tail2, [Head|Union], Difference) :- - ord_union(Tail1, Tail2, Union, Difference). -ord_union4(>, Head1, Tail1, Head2, Set2, [Head2|Union], [Head2|Difference]) :- - ord_union4(Set2, Head1, Tail1, Union, Difference). - -ord_union4([], Head1, Tail1, [Head1|Tail1], []). -ord_union4([Head2|Tail2], Head1, Tail1, Union, Difference) :- - compare(Order, Head1, Head2), - ord_union4(Order, Head1, Tail1, Head2, Tail2, Union, Difference). - - - -% ord_union(+Sets, ?Union) -% is true when Union is the union of all the sets in Sets. - -ord_union([], Union) :- !, Union = []. -ord_union(Sets, Union) :- - length(Sets, NumberOfSets), - ord_union_all(NumberOfSets, Sets, Union, []). - -ord_union_all(1, [Set|Sets], Set, Sets) :- !. -ord_union_all(2, [Set,Set2|Sets], Union, Sets) :- !, - ord_union(Set, Set2, Union). -ord_union_all(N, Sets0, Union, Sets) :- - A is N>>1, - Z is N-A, - ord_union_all(A, Sets0, X, Sets1), - ord_union_all(Z, Sets1, Y, Sets), - ord_union(X, Y, Union). diff --git a/test/manual/etags/ps-src/rfc1245.ps b/test/manual/etags/ps-src/rfc1245.ps deleted file mode 100644 index ad2244f1dc0..00000000000 --- a/test/manual/etags/ps-src/rfc1245.ps +++ /dev/null @@ -1,2085 +0,0 @@ -%! -%%BoundingBox: (atend) -%%Pages: (atend) -%%DocumentFonts: (atend) -%%EndComments -% -% FrameMaker PostScript Prolog 2.0, for use with FrameMaker 2.0 -% Copyright (c) 1986,87,89 by Frame Technology, Inc. All rights reserved. -% -% Known Problems: -% Due to bugs in Transcript, the 'PS-Adobe-' is omitted from line 1 -/FMversion (2.0) def -% Set up Color vs. Black-and-White - /FMPrintInColor systemdict /colorimage known def -% Uncomment this line to force b&w on color printer -% /FMPrintInColor false def -/FrameDict 190 dict def -systemdict /errordict known not {/errordict 10 dict def - errordict /rangecheck {stop} put} if -% The readline in 23.0 doesn't recognize cr's as nl's on AppleTalk -FrameDict /tmprangecheck errordict /rangecheck get put -errordict /rangecheck {FrameDict /bug true put} put -FrameDict /bug false put -mark -% Some PS machines read past the CR, so keep the following 3 lines together! -currentfile 5 string readline -00 -0000000000 -cleartomark -errordict /rangecheck FrameDict /tmprangecheck get put -FrameDict /bug get { - /readline { - /gstring exch def - /gfile exch def - /gindex 0 def - { - gfile read pop - dup 10 eq {exit} if - dup 13 eq {exit} if - gstring exch gindex exch put - /gindex gindex 1 add def - } loop - pop - gstring 0 gindex getinterval true - } def - } if -/FMVERSION { - FMversion ne { - /Times-Roman findfont 18 scalefont setfont - 100 100 moveto - (FrameMaker version does not match postscript_prolog!) - dup = - show showpage - } if - } def -/FMLOCAL { - FrameDict begin - 0 def - end - } def - /gstring FMLOCAL - /gfile FMLOCAL - /gindex FMLOCAL - /orgxfer FMLOCAL - /orgproc FMLOCAL - /organgle FMLOCAL - /orgfreq FMLOCAL - /yscale FMLOCAL - /xscale FMLOCAL - /manualfeed FMLOCAL - /paperheight FMLOCAL - /paperwidth FMLOCAL -/FMDOCUMENT { - array /FMfonts exch def - /#copies exch def - FrameDict begin - 0 ne dup {setmanualfeed} if - /manualfeed exch def - /paperheight exch def - /paperwidth exch def - setpapername - manualfeed {true} {papersize} ifelse - {manualpapersize} {false} ifelse - {desperatepapersize} if - /yscale exch def - /xscale exch def - currenttransfer cvlit /orgxfer exch def - currentscreen cvlit /orgproc exch def - /organgle exch def /orgfreq exch def - end - } def - /pagesave FMLOCAL - /orgmatrix FMLOCAL - /landscape FMLOCAL -/FMBEGINPAGE { - FrameDict begin - /pagesave save def - 3.86 setmiterlimit - /landscape exch 0 ne def - landscape { - 90 rotate 0 exch neg translate pop - } - {pop pop} - ifelse - xscale yscale scale - /orgmatrix matrix def - gsave - } def -/FMENDPAGE { - grestore - pagesave restore - end - showpage - } def -/FMDEFINEFONT { - FrameDict begin - findfont - ReEncode - 2 index exch - definefont exch - scalefont - FMfonts 3 1 roll - put - end - } bind def -/FMNORMALIZEGRAPHICS { - newpath - 0.0 0.0 moveto - 1 setlinewidth - 0 setlinecap - 0 0 0 sethsbcolor - 0 setgray - } bind def - /fx FMLOCAL - /fy FMLOCAL - /fh FMLOCAL - /fw FMLOCAL - /llx FMLOCAL - /lly FMLOCAL - /urx FMLOCAL - /ury FMLOCAL -/FMBEGINEPSF { - end - /FMEPSF save def - /showpage {} def - FMNORMALIZEGRAPHICS - [/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall - fx fy translate - rotate - fw urx llx sub div fh ury lly sub div scale - llx neg lly neg translate - } bind def -/FMENDEPSF { - FMEPSF restore - FrameDict begin - } bind def -FrameDict begin -/setmanualfeed { -%%BeginFeature *ManualFeed True - statusdict /manualfeed true put -%%EndFeature - } def -/max {2 copy lt {exch} if pop} bind def -/min {2 copy gt {exch} if pop} bind def -/inch {72 mul} def -/pagedimen { - paperheight sub abs 16 lt exch - paperwidth sub abs 16 lt and - {/papername exch def} {pop} ifelse - } def - /papersizedict FMLOCAL -/setpapername { - /papersizedict 14 dict def - papersizedict begin - /papername /unknown def - /Letter 8.5 inch 11.0 inch pagedimen - /LetterSmall 7.68 inch 10.16 inch pagedimen - /Tabloid 11.0 inch 17.0 inch pagedimen - /Ledger 17.0 inch 11.0 inch pagedimen - /Legal 8.5 inch 14.0 inch pagedimen - /Statement 5.5 inch 8.5 inch pagedimen - /Executive 7.5 inch 10.0 inch pagedimen - /A3 11.69 inch 16.5 inch pagedimen - /A4 8.26 inch 11.69 inch pagedimen - /A4Small 7.47 inch 10.85 inch pagedimen - /B4 10.125 inch 14.33 inch pagedimen - /B5 7.16 inch 10.125 inch pagedimen - end - } def -/papersize { - papersizedict begin - /Letter {lettertray} def - /LetterSmall {lettertray lettersmall} def - /Tabloid {11x17tray} def - /Ledger {ledgertray} def - /Legal {legaltray} def - /Statement {statementtray} def - /Executive {executivetray} def - /A3 {a3tray} def - /A4 {a4tray} def - /A4Small {a4tray a4small} def - /B4 {b4tray} def - /B5 {b5tray} def - /unknown {unknown} def - papersizedict dup papername known {papername} {/unknown} ifelse get - end - /FMdicttop countdictstack 1 add def - statusdict begin stopped end - countdictstack -1 FMdicttop {pop end} for - } def -/manualpapersize { - papersizedict begin - /Letter {letter} def - /LetterSmall {lettersmall} def - /Tabloid {11x17} def - /Ledger {ledger} def - /Legal {legal} def - /Statement {statement} def - /Executive {executive} def - /A3 {a3} def - /A4 {a4} def - /A4Small {a4small} def - /B4 {b4} def - /B5 {b5} def - /unknown {unknown} def - papersizedict dup papername known {papername} {/unknown} ifelse get - end - stopped - } def -/desperatepapersize { - statusdict /setpageparams known - { - paperwidth paperheight 0 1 - statusdict begin - {setpageparams} stopped pop - end - } if - } def -/savematrix { - orgmatrix currentmatrix pop - } bind def -/restorematrix { - orgmatrix setmatrix - } bind def -/dmatrix matrix def -/dpi 72 0 dmatrix defaultmatrix dtransform - dup mul exch dup mul add sqrt def -/freq dpi 18.75 div 8 div round dup 0 eq {pop 1} if 8 mul dpi exch div def -/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def -/DiacriticEncoding [ -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl -/numbersign /dollar /percent /ampersand /quotesingle /parenleft -/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K -/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash -/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h -/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar -/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute -/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis -/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis -/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve -/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex -/udieresis /dagger /.notdef /cent /sterling /section /bullet -/paragraph /germandbls /registered /copyright /trademark /acute -/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef -/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown -/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef -/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde -/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright -/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis -/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl -/periodcentered /quotesinglbase /quotedblbase /perthousand -/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute -/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve -/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron -/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron -] def -/ReEncode { - dup - length - dict begin - { - 1 index /FID ne - {def} - {pop pop} ifelse - } forall - Encoding StandardEncoding eq - { - /Encoding DiacriticEncoding def - }if - currentdict - end - } bind def -/graymode true def - /bwidth FMLOCAL - /bpside FMLOCAL - /bstring FMLOCAL - /onbits FMLOCAL - /offbits FMLOCAL - /xindex FMLOCAL - /yindex FMLOCAL - /x FMLOCAL - /y FMLOCAL -/setpattern { - /bwidth exch def - /bpside exch def - /bstring exch def - /onbits 0 def /offbits 0 def - freq sangle landscape {90 add} if - {/y exch def - /x exch def - /xindex x 1 add 2 div bpside mul cvi def - /yindex y 1 add 2 div bpside mul cvi def - bstring yindex bwidth mul xindex 8 idiv add get - 1 7 xindex 8 mod sub bitshift and 0 ne - {/onbits onbits 1 add def 1} - {/offbits offbits 1 add def 0} - ifelse - } - setscreen - {} settransfer - offbits offbits onbits add div FMsetgray - /graymode false def - } bind def -/grayness { - FMsetgray - graymode not { - /graymode true def - orgxfer cvx settransfer - orgfreq organgle orgproc cvx setscreen - } if - } bind def - /HUE FMLOCAL - /SAT FMLOCAL - /BRIGHT FMLOCAL - /Colors FMLOCAL -FMPrintInColor - - { - /HUE 0 def - /SAT 0 def - /BRIGHT 0 def - % array of arrays Hue and Sat values for the separations [HUE BRIGHT] - /Colors - [[0 0 ] % black - [0 0 ] % white - [0.00 1.0] % red - [0.37 1.0] % green - [0.60 1.0] % blue - [0.50 1.0] % cyan - [0.83 1.0] % magenta - [0.16 1.0] % comment / yellow - ] def - - /BEGINBITMAPCOLOR { - BITMAPCOLOR} def - /BEGINBITMAPCOLORc { - BITMAPCOLORc} def - /K { - Colors exch get dup - 0 get /HUE exch store - 1 get /BRIGHT exch store - HUE 0 eq BRIGHT 0 eq and - {1.0 SAT sub setgray} - {HUE SAT BRIGHT sethsbcolor} - ifelse - } def - /FMsetgray { - /SAT exch 1.0 exch sub store - HUE 0 eq BRIGHT 0 eq and - {1.0 SAT sub setgray} - {HUE SAT BRIGHT sethsbcolor} - ifelse - } bind def - } - - { - /BEGINBITMAPCOLOR { - BITMAPGRAY} def - /BEGINBITMAPCOLORc { - BITMAPGRAYc} def - /FMsetgray {setgray} bind def - /K { - pop - } def - } -ifelse -/normalize { - transform round exch round exch itransform - } bind def -/dnormalize { - dtransform round exch round exch idtransform - } bind def -/lnormalize { - 0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop - } bind def -/H { - lnormalize setlinewidth - } bind def -/Z { - setlinecap - } bind def -/X { - fillprocs exch get exec - } bind def -/V { - gsave eofill grestore - } bind def -/N { - stroke - } bind def -/M {newpath moveto} bind def -/E {lineto} bind def -/D {curveto} bind def -/O {closepath} bind def - /n FMLOCAL -/L { - /n exch def - newpath - normalize - moveto - 2 1 n {pop normalize lineto} for - } bind def -/Y { - L - closepath - } bind def - /x1 FMLOCAL - /x2 FMLOCAL - /y1 FMLOCAL - /y2 FMLOCAL - /rad FMLOCAL -/R { - /y2 exch def - /x2 exch def - /y1 exch def - /x1 exch def - x1 y1 - x2 y1 - x2 y2 - x1 y2 - 4 Y - } bind def -/RR { - /rad exch def - normalize - /y2 exch def - /x2 exch def - normalize - /y1 exch def - /x1 exch def - newpath - x1 y1 rad add moveto - x1 y2 x2 y2 rad arcto - x2 y2 x2 y1 rad arcto - x2 y1 x1 y1 rad arcto - x1 y1 x1 y2 rad arcto - closepath - 16 {pop} repeat - } bind def -/C { - grestore - gsave - R - clip - } bind def -/U { - grestore - gsave - } bind def -/F { - FMfonts exch get - setfont - } bind def -/T { - moveto show - } bind def -/RF { - rotate - 0 ne {-1 1 scale} if - } bind def -/TF { - gsave - moveto - RF - show - grestore - } bind def -/P { - moveto - 0 32 3 2 roll widthshow - } bind def -/PF { - gsave - moveto - RF - 0 32 3 2 roll widthshow - grestore - } bind def -/S { - moveto - 0 exch ashow - } bind def -/SF { - gsave - moveto - RF - 0 exch ashow - grestore - } bind def -/B { - moveto - 0 32 4 2 roll 0 exch awidthshow - } bind def -/BF { - gsave - moveto - RF - 0 32 4 2 roll 0 exch awidthshow - grestore - } bind def - /x FMLOCAL - /y FMLOCAL - /dx FMLOCAL - /dy FMLOCAL - /dl FMLOCAL - /t FMLOCAL - /t2 FMLOCAL - /Cos FMLOCAL - /Sin FMLOCAL - /r FMLOCAL -/W { - dnormalize - /dy exch def - /dx exch def - normalize - /y exch def - /x exch def - /dl dx dx mul dy dy mul add sqrt def - dl 0.0 gt { - /t currentlinewidth def - savematrix - /Cos dx dl div def - /Sin dy dl div def - /r [Cos Sin Sin neg Cos 0.0 0.0] def - /t2 t 2.5 mul 3.5 max def - newpath - x y translate - r concat - 0.0 0.0 moveto - dl t 2.7 mul sub 0.0 rlineto - stroke - restorematrix - x dx add y dy add translate - r concat - t 0.67 mul setlinewidth - t 1.61 mul neg 0.0 translate - 0.0 0.0 moveto - t2 1.7 mul neg t2 2.0 div moveto - 0.0 0.0 lineto - t2 1.7 mul neg t2 2.0 div neg lineto - stroke - t setlinewidth - restorematrix - } if - } bind def -/G { - gsave - newpath - normalize translate 0.0 0.0 moveto - dnormalize scale - 0.0 0.0 1.0 5 3 roll arc - closepath fill - grestore - } bind def -/A { - gsave - savematrix - newpath - 2 index 2 div add exch 3 index 2 div sub exch - normalize 2 index 2 div sub exch 3 index 2 div add exch - translate - scale - 0.0 0.0 1.0 5 3 roll arc - restorematrix - stroke - grestore - } bind def - /x FMLOCAL - /y FMLOCAL - /w FMLOCAL - /h FMLOCAL - /xx FMLOCAL - /yy FMLOCAL - /ww FMLOCAL - /hh FMLOCAL - /FMsaveobject FMLOCAL - /FMoptop FMLOCAL - /FMdicttop FMLOCAL -/BEGINPRINTCODE { - /FMdicttop countdictstack 1 add def - /FMoptop count 4 sub def - /FMsaveobject save def - userdict begin - /showpage {} def - FMNORMALIZEGRAPHICS - 3 index neg 3 index neg translate - } bind def -/ENDPRINTCODE { - count -1 FMoptop {pop pop} for - countdictstack -1 FMdicttop {pop end} for - FMsaveobject restore - } bind def -/gn { - 0 - { 46 mul - cf read pop - 32 sub - dup 46 lt {exit} if - 46 sub add - } loop - add - } bind def - /str FMLOCAL -/cfs { - /str sl string def - 0 1 sl 1 sub {str exch val put} for - str def - } bind def -/ic [ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 - 0 - {0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx} - {10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx} - {19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} - {13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh} - {4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh} - {13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl} - {7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl} - {0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl} - {10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl} - ] def - /sl FMLOCAL - /val FMLOCAL - /ws FMLOCAL - /im FMLOCAL - /bs FMLOCAL - /cs FMLOCAL - /len FMLOCAL - /pos FMLOCAL -/ms { - /sl exch def - /val 255 def - /ws cfs - /im cfs - /val 0 def - /bs cfs - /cs cfs - } bind def -400 ms -/ip { - is - 0 - cf cs readline pop - { ic exch get exec - add - } forall - pop - - } bind def -/wh { - /len exch def - /pos exch def - ws 0 len getinterval im pos len getinterval copy pop - pos len - } bind def -/bl { - /len exch def - /pos exch def - bs 0 len getinterval im pos len getinterval copy pop - pos len - } bind def -/s1 1 string def -/fl { - /len exch def - /pos exch def - /val cf s1 readhexstring pop 0 get def - pos 1 pos len add 1 sub {im exch val put} for - pos len - } bind def -/hx { - 3 copy getinterval - cf exch readhexstring pop pop - } bind def - /h FMLOCAL - /w FMLOCAL - /d FMLOCAL - /lb FMLOCAL - /bitmapsave FMLOCAL - /is FMLOCAL - /cf FMLOCAL -/wbytes { - dup - 8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse - } bind def -/BEGINBITMAPBWc { - 1 {} COMMONBITMAPc - } bind def -/BEGINBITMAPGRAYc { - 8 {} COMMONBITMAPc - } bind def -/BEGINBITMAP2BITc { - 2 {} COMMONBITMAPc - } bind def -/COMMONBITMAPc { - /r exch def - /d exch def - gsave - translate rotate scale /h exch def /w exch def - /lb w d wbytes def - sl lb lt {lb ms} if - /bitmapsave save def - r - /is im 0 lb getinterval def - ws 0 lb getinterval is copy pop - /cf currentfile def - w h d [w 0 0 h neg 0 h] - {ip} image - bitmapsave restore - grestore - } bind def -/BEGINBITMAPBW { - 1 {} COMMONBITMAP - } bind def -/BEGINBITMAPGRAY { - 8 {} COMMONBITMAP - } bind def -/BEGINBITMAP2BIT { - 2 {} COMMONBITMAP - } bind def -/COMMONBITMAP { - /r exch def - /d exch def - gsave - translate rotate scale /h exch def /w exch def - /bitmapsave save def - r - /is w d wbytes string def - /cf currentfile def - w h d [w 0 0 h neg 0 h] - {cf is readhexstring pop} image - bitmapsave restore - grestore - } bind def - /proc1 FMLOCAL - /proc2 FMLOCAL - /newproc FMLOCAL -/Fmcc { - /proc2 exch cvlit def - /proc1 exch cvlit def - /newproc proc1 length proc2 length add array def - newproc 0 proc1 putinterval - newproc proc1 length proc2 putinterval - newproc cvx -} bind def -/ngrayt 256 array def -/nredt 256 array def -/nbluet 256 array def -/ngreent 256 array def - /gryt FMLOCAL - /blut FMLOCAL - /grnt FMLOCAL - /redt FMLOCAL - /indx FMLOCAL - /cynu FMLOCAL - /magu FMLOCAL - /yelu FMLOCAL - /k FMLOCAL - /u FMLOCAL -/colorsetup { - currentcolortransfer - /gryt exch def - /blut exch def - /grnt exch def - /redt exch def - 0 1 255 { - /indx exch def - /cynu 1 red indx get 255 div sub def - /magu 1 green indx get 255 div sub def - /yelu 1 blue indx get 255 div sub def - /k cynu magu min yelu min def - /u k currentundercolorremoval exec def - nredt indx 1 0 cynu u sub max sub redt exec put - ngreent indx 1 0 magu u sub max sub grnt exec put - nbluet indx 1 0 yelu u sub max sub blut exec put - ngrayt indx 1 k currentblackgeneration exec sub gryt exec put - } for - {255 mul cvi nredt exch get} - {255 mul cvi ngreent exch get} - {255 mul cvi nbluet exch get} - {255 mul cvi ngrayt exch get} - setcolortransfer - {pop 0} setundercolorremoval - {} setblackgeneration - } bind def - /tran FMLOCAL -/fakecolorsetup { - /tran 256 string def - 0 1 255 {/indx exch def - tran indx - red indx get 77 mul - green indx get 151 mul - blue indx get 28 mul - add add 256 idiv put} for - currenttransfer - {255 mul cvi tran exch get 255.0 div} - exch Fmcc settransfer -} bind def -/BITMAPCOLOR { - /d 8 def - gsave - translate rotate scale /h exch def /w exch def - /bitmapsave save def - colorsetup - /is w d wbytes string def - /cf currentfile def - w h d [w 0 0 h neg 0 h] - {cf is readhexstring pop} {is} {is} true 3 colorimage - bitmapsave restore - grestore - } bind def -/BITMAPCOLORc { - /d 8 def - gsave - translate rotate scale /h exch def /w exch def - /lb w d wbytes def - sl lb lt {lb ms} if - /bitmapsave save def - colorsetup - /is im 0 lb getinterval def - ws 0 lb getinterval is copy pop - /cf currentfile def - w h d [w 0 0 h neg 0 h] - {ip} {is} {is} true 3 colorimage - bitmapsave restore - grestore - } bind def -/BITMAPGRAY { - 8 {fakecolorsetup} COMMONBITMAP - } bind def -/BITMAPGRAYc { - 8 {fakecolorsetup} COMMONBITMAPc - } bind def -/ENDBITMAP { - } bind def -end -%%EndProlog -%%BeginSetup -(2.0) FMVERSION -1 1 612 792 0 1 7 FMDOCUMENT -/fillprocs 32 array def -fillprocs 0 { 0.000000 grayness } put -fillprocs 1 { 0.100000 grayness } put -fillprocs 2 { 0.300000 grayness } put -fillprocs 3 { 0.500000 grayness } put -fillprocs 4 { 0.700000 grayness } put -fillprocs 5 { 0.900000 grayness } put -fillprocs 6 { 0.970000 grayness } put -fillprocs 7 { 1.000000 grayness } put -fillprocs 8 {<0f87c3e1f0783c1e> 8 1 setpattern } put -fillprocs 9 {<0f1e3c78f0e1c387> 8 1 setpattern } put -fillprocs 10 { 8 1 setpattern } put -fillprocs 11 { 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 { 8 1 setpattern } put -fillprocs 25 { 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 { 8 1 setpattern } put -fillprocs 31 {} put -%%EndSetup -0 12 /Times-Roman FMDEFINEFONT -1 24 /Times-Roman FMDEFINEFONT -2 16 /Times-Bold FMDEFINEFONT -%%Page: "1" 1 -%%BeginPaperSize: Letter -%%EndPaperSize -612 792 0 FMBEGINPAGE -72 675 540 720 R -7 X -0 K -V -0 F -0 X -(Network Working Group) 72 712 T -(J. Moy, Editor) 470.7 712 T -(Request for Comments: 1245) 72 698 T -(Proteon, Inc.) 478.38 698 T -(July 1991) 493.02 684 T -72 72 540 83.95 R -7 X -V -0 X -([Moy]) 72 75.95 T -([Page 1]) 499.7 75.95 T -72 117 540 603 R -7 X -V -1 F -0 X -(OSPF protocol analysis) 192.72 587 T -2 F -(Status of this Memo) 72 514.33 T -0 F --0.23 (This memo provides information for the Internet community) 72 487 P --0.23 (. It does not specify any Internet stan-) 360.42 487 P -(dard. Distribution of this memo is unlimited.) 72 473 T -2 F -(Abstract) 72 447 T -0 F --0.11 (This is the \336rst of two reports on the OSPF protocol. These reports are required by the IAB/IESG ) 72 421 P -(in order for an Internet routing protocol to advance to Draft Standard Status. OSPF is a TCP/IP ) 72 407 T --0.28 (routing protocol, designed to be used internal to an Autonomous System \050in other words, OSPF is ) 72 393 P -(an Interior Gateway Protocol\051.) 72 379 T --0.09 (V) 72 353 P --0.09 (ersion 1 of the OSPF protocol was published in RFC 1) 79.33 353 P --0.09 (131. Since then OSPF version 2 has been ) 339.85 353 P --0.22 (developed. V) 72 339 P --0.22 (ersion 2 has been documented in RFC 1247. The changes between version 1 and ver-) 134.4 339 P --0 (sion 2 of the OSPF protocol are explained in Appendix F of RFC 1247. It is OSPF V) 72 325 P --0 (ersion 2 that ) 477.72 325 P -(is the subject of this report.) 72 311 T -(This report attempts to summarize the key features of OSPF V2. It also attempts to analyze how ) 72 285 T -(the protocol will perform and scale in the Internet.) 72 271 T -(Please send comments to ospf@trantor) 72 245 T -(.umd.edu.) 258.27 245 T -FMENDPAGE -%%EndPage: "1" 2 -1 10 /Times-Roman FMDEFINEFONT -%%Page: "2" 2 -612 792 0 FMBEGINPAGE -72 702 540 720 R -7 X -0 K -V -0 F -0 X -(RFC 1245) 72 712 T -(OSPF protocol analysis) 249.36 712 T -(July 1991) 493.02 712 T -72 69.05 540 81 R -7 X -V -0 X -([Moy]) 72 73 T -([Page 2]) 499.7 73 T -72 108 540 684 R -7 X -V -2 F -0 X -(T) 72 673.33 T -(able of Contents) 81.19 673.33 T -0 F -(1.0) 72 650 T -(Introduction) 108 650 T -(..............................................................................................................) 167.91 650 T -(3) 498 650 T -1 F -(1.1) 108 635.33 T -(Acknowledgments) 144 635.33 T -(...............................................................................................................) 219.88 635.33 T -(3) 499 635.33 T -0 F -(2.0) 72 616 T -(Key features of the OSPF protocol) 108 616 T -(..........................................................................) 275.85 616 T -(4) 498 616 T -(3.0) 72 596 T -(Cost of the protocol) 108 596 T -(..................................................................................................) 203.89 596 T -(7) 498 596 T -1 F -(3.1) 108 581.33 T -( Operational data) 144 581.33 T -(.................................................................................................................) 214.88 581.33 T -(7) 499 581.33 T -(3.2) 108 567.33 T -(Link bandwidth) 144 567.33 T -(...................................................................................................................) 209.88 567.33 T -(9) 499 567.33 T -(3.3) 108 553.33 T -(Router memory) 144 553.33 T -(....................................................................................................................) 207.39 553.33 T -(9) 499 553.33 T -(3.4) 108 539.33 T -(Router CPU) 144 539.33 T -(.......................................................................................................................) 194.89 539.33 T -(10) 494.01 539.33 T -(3.5) 108 525.33 T -(Role of Designated Router) 144 525.33 T -(................................................................................................) 252.36 525.33 T -(1) 494.38 525.33 T -(1) 499 525.33 T -(3.6) 108 511.33 T -(Summary) 144 511.33 T -(...........................................................................................................................) 184.9 511.33 T -(1) 494.38 511.33 T -(1) 499 511.33 T -0 F -(4.0) 72 492 T -(Suitable environments) 108 492 T -(............................................................................................) 215.88 492 T -(13) 492.01 492 T -(5.0) 72 472 T -(Unsuitable environments) 108 472 T -(.......................................................................................) 230.87 472 T -(13) 492.01 472 T -(6.0) 72 452 T -(Reference Documents) 108 452 T -(............................................................................................) 215.88 452 T -(14) 492.01 452 T -FMENDPAGE -%%EndPage: "2" 3 -3 14 /Times-Bold FMDEFINEFONT -%%Page: "3" 3 -612 792 0 FMBEGINPAGE -72 702 540 720 R -7 X -0 K -V -0 F -0 X -(RFC 1245) 72 712 T -(OSPF protocol analysis) 249.36 712 T -(July 1991) 493.02 712 T -72 69.05 540 81 R -7 X -V -0 X -([Moy]) 72 73 T -([Page 3]) 499.7 73 T -72 108 540 684 R -7 X -V -2 F -0 X -(1.0 Intr) 72 673.33 T -(oduction) 127.23 673.33 T -0 F --0.02 (This document addresses, for OSPF V2, the requirements set forth by the IAB/IESG for an Inter-) 72 646 P --0.19 (net routing protocol to advance to Draft Standard state. This requirements are brie\337y summarized ) 72 632 P -(below) 72 618 T -(. The remaining sections of this report document how OSPF V2 satis\336es these require-) 100.53 618 T -(ments:) 72 604 T -(\245) 72 584 T -(What are the key features and algorithms of the protocol?) 85.54 584 T -(\245) 72 564 T -(How much link bandwidth, router memory and router CPU cycles does the protocol consume ) 85.54 564 T -(under normal conditions?) 85.54 550 T -(\245) 72 530 T -(For these metrics, how does the usage scale as the routing environment grows? This should ) 85.54 530 T -(include topologies at least an order of magnitude lar) 85.54 516 T -(ger than the current environment.) 335.14 516 T -(\245) 72 496 T -(What are the limits of the protocol for these metrics? \050i.e., when will the routing protocol ) 85.54 496 T -(break?\051 ) 85.54 482 T -(\245) 72 462 T -(For what environments is the protocol well suited, and for what is it not suitable? ) 85.54 462 T -3 F -(1.1 Acknowledgments) 72 428.67 T -0 F --0.03 (The OSPF protocol has been developed by the OSPF W) 72 402 P --0.03 (orking Group of the Internet Engineering ) 339.64 402 P -(T) 72 388 T -(ask Force. ) 78.49 388 T -FMENDPAGE -%%EndPage: "3" 4 -4 12 /Times-Bold FMDEFINEFONT -%%Page: "4" 4 -612 792 0 FMBEGINPAGE -72 702 540 720 R -7 X -0 K -V -0 F -0 X -(RFC 1245) 72 712 T -(OSPF protocol analysis) 249.36 712 T -(July 1991) 493.02 712 T -72 69.05 540 81 R -7 X -V -0 X -([Moy]) 72 73 T -([Page 4]) 499.7 73 T -72 108 540 684 R -7 X -V -2 F -0 X -(2.0 Key featur) 72 673.33 T -(es of the OSPF pr) 172.97 673.33 T -(otocol) 293.49 673.33 T -0 F -(This section summarizes the key features of the OSPF protocol. OSPF is an) 72 646 T -4 F -( Internal gateway ) 434.78 646 T --0.2 (pr) 72 632 P --0.2 (otocol) 83.78 632 P -0 F --0.2 (; it is designed to be used internal to a single Autonomous System. OSPF uses) 114.42 632 P -4 F --0.2 ( link-state ) 486.43 632 P --0.36 (or SPF-based) 72 618 P -0 F --0.36 ( technology \050as compared to the distance-vector or Bellman-Ford technology found ) 140.6 618 P --0.48 (in routing protocols such as RIP\051. Individual ) 72 604 P -4 F --0.48 (link state advertisements \050LSAs\051) 285.2 604 P -0 F --0.48 ( describe pieces of ) 449.99 604 P --0.13 (the OSPF routing domain \050Autonomous System\051. These LSAs are \337ooded throughout the routing ) 72 590 P -(domain, forming the ) 72 576 T -4 F -(link state database) 173.27 576 T -0 F -(. Each router has an identical link state database; syn-) 268.56 576 T -(chronization of link state databases is maintained via a ) 72 562 T -4 F -(r) 336.81 562 T -(eliable \337ooding algorithm) 341.92 562 T -0 F -(. From this ) 473.2 562 T -(link state database, each router builds a routing table by calculating a shortest-path tree, with the ) 72 548 T -(root of the tree being the calculating router itself. This calculation is commonly referred to as the ) 72 534 T -4 F -(Dijkstra pr) 72 520 T -(ocedur) 129.41 520 T -(e) 164.51 520 T -0 F -(.) 169.83 520 T -(Link state advertisements are small. Each advertisement describes a small pieces of the OSPF ) 72 494 T -(routing domain, namely either: the neighborhood of a single router) 72 480 T -(, the neighborhood of a single ) 391.97 480 T -(transit network, a single inter) 72 466 T -(-area route \050see below\051 or a single external route.) 212 466 T -(The other key features of the OSPF protocol are:) 72 440 T -(\245) 72 420 T -4 F --0.31 (Adjacency bringup) 85.54 420 P -0 F --0.31 (. ) 183.51 420 P -4 F --0.31 (Certain pairs of OSPF r) 189.2 420 P --0.31 (outers become \322adjacent\323) 311.01 420 P -0 F --0.31 (. As an adjacency is ) 442.96 420 P -(formed, the two routers synchronize their link state databases by ) 85.54 406 T -4 F -(exchanging database sum-) 397.64 406 T -(maries) 85.54 392 T -0 F -( in the form of OSPF Database Exchange packets. Adjacent routers then maintain syn-) 120.17 392 T -(chronization of their link state databases through the ) 85.54 378 T -4 F -(r) 340.02 378 T -(eliable \337ooding algorithm) 345.13 378 T -0 F -(. Routers ) 476.41 378 T --0.27 (connected by serial lines always become adjacent. On multi-access networks \050e.g., ethernets or ) 85.54 364 P -(X.25 PDNs\051, all routers attached to the network become adjacent to both the Designated ) 85.54 350 T -(Router and the Backup Designated router) 85.54 336 T -(.) 283.73 336 T -(\245) 72 316 T -4 F --0.02 (Designated r) 85.54 316 P --0.02 (outer) 150.26 316 P --0.02 (.) 176.46 316 P -0 F --0.02 ( A Designated Router is elected on all multi-access networks \050e.g., ether-) 179.46 316 P -(nets or X.25 PDNs\051. The network\325) 85.54 302 T -(s Designated Router ) 250.42 302 T -4 F -(originates the network LSA) 350.69 302 T -0 F -( describ-) 492.27 302 T -(ing the network\325) 85.54 288 T -(s local environment. It also plays a ) 164.15 288 T -4 F -(special r) 334.04 288 T -(ole in the \337ooding algorithm) 376.8 288 T -0 F -(, ) 521.4 288 T -(since all routers on the network are synchronizing their link state databases by sending and ) 85.54 274 T -(receiving LSAs to/from the Designated Router during the \337ooding process.) 85.54 260 T -(\245) 72 240 T -4 F --0.46 (Backup Designated Router) 85.54 240 P -0 F --0.46 (. A Backup Designated Router is elected on multi-access networks ) 221.87 240 P -(to speed/ease the transition of Designated Routers when the current Designated Router disap-) 85.54 226 T -(pears. In that event, the Backup DR takes over) 85.54 212 T -(, and does not need to go through the adjacency ) 308.22 212 T --0.13 (bringup process on the LAN \050since it already had done this in its Backup capacity\051. Also, even ) 85.54 198 P -(before the disappearance of the Designated Router is noticed, the Backup DR will enable the ) 85.54 184 T -(reliable \337ooding algorithm to proceed in the DR\325) 85.54 170 T -(s absence.) 320.39 170 T -FMENDPAGE -%%EndPage: "4" 5 -%%Page: "5" 5 -612 792 0 FMBEGINPAGE -72 702 540 720 R -7 X -0 K -V -0 F -0 X -(RFC 1245) 72 712 T -(OSPF protocol analysis) 249.36 712 T -(July 1991) 493.02 712 T -72 69.05 540 81 R -7 X -V -0 X -([Moy]) 72 73 T -([Page 5]) 499.7 73 T -72 108 540 684 R -7 X -V -0 X -(\245) 72 676 T -4 F -(Non-br) 85.54 676 T -(oadcast multi-access network support.) 122.63 676 T -0 F -( OSPF treats these networks \050e.g., X.25 ) 318.51 676 T --0.01 (PDNs\051 pretty much as if they were LANs \050i.e., a DR is elected, and a network LSA is gener-) 85.54 662 P --0.29 (ated\051. Additional con\336guration information is needed however for routers attached to these net-) 85.54 648 P -(work to initially \336nd each other) 85.54 634 T -(.) 236.45 634 T -(\245) 72 614 T -4 F -(OSPF ar) 85.54 614 T -(eas) 130.29 614 T -0 F -(. OSPF allows the Autonomous Systems to be broken up into regions call areas. ) 146.28 614 T -(This is useful for several reasons. First, it provides an extra level of ) 85.54 600 T -4 F -(r) 411.64 600 T -(outing pr) 416.75 600 T -(otection) 464.18 600 T -0 F -(: rout-) 504.81 600 T --0.29 (ing within an area is protected from all information external to the area. Second, by splitting an ) 85.54 586 P --0.3 (Autonomous System into areas the ) 85.54 572 P -4 F --0.3 (cost of the Dijkstra pr) 254.27 572 P --0.3 (ocedur) 365.44 572 P --0.3 (e ) 400.53 572 P -0 F --0.3 (\050in terms of CPU cycles\051 is ) 408.55 572 P -(reduced.) 85.54 558 T -(\245) 72 538 T -4 F -(Flexible import of external r) 85.54 538 T -(outing information.) 230.55 538 T -0 F -( In OSPF) 330.5 538 T -(, ) 374.19 538 T -4 F -(each external r) 380.19 538 T -(oute) 456.58 538 T -0 F -( is imported ) 478.56 538 T -(into the Autonomous System in ) 85.54 524 T -4 F -(a separate LSA) 240.47 524 T -0 F -(. This reduces the amount of \337ooding traf) 319.08 524 T -(\336c ) 518.07 524 T -(\050since external routes change often, and you want to only \337ood the changes\051. It also enables ) 85.54 510 T -4 F --0.43 (partial r) 85.54 496 P --0.43 (outing table updates) 127.86 496 P -0 F --0.43 ( when only a single external route changes. OSPF external LSAs ) 230.96 496 P -(also provide the following features. A ) 85.54 482 T -4 F -(forwarding addr) 270.4 482 T -(ess) 355.81 482 T -0 F -( can be included in the external ) 370.46 482 T -(LSA, eliminating extra-hops at the edge of the Autonomous System. There are two levels of ) 85.54 468 T -(external metrics that can be speci\336ed, ) 85.54 454 T -4 F -(type 1) 269.06 454 T -0 F -( and ) 300.04 454 T -4 F -(type 2) 323.35 454 T -0 F -(. Also, external routes can be tagged ) 354.33 454 T -(with a 32-bit number \050the ) 85.54 440 T -4 F -(external r) 211.12 440 T -(oute tag) 261.19 440 T -0 F -(; commonly used as an AS number of the route\325) 302.16 440 T -(s ) 531.68 440 T -(origin\051, simplifying external route management in a transit Autonomous System.) 85.54 426 T -(\245) 72 406 T -4 F -(Four level r) 85.54 406 T -(outing hierar) 145.27 406 T -(chy) 212.69 406 T -0 F -(. OSPF has a four level routing hierarchy) 229.9 406 T -(, or trust model: ) 426.32 406 T -4 F -(intra-) 505.94 406 T -(ar) 85.54 392 T -(ea) 96.64 392 T -0 F -(, ) 107.96 392 T -4 F -(inter) 113.96 392 T -(-ar) 138.16 392 T -(ea) 153.26 392 T -0 F -(, ) 164.59 392 T -4 F -(external type 1) 170.58 392 T -0 F -( and ) 246.52 392 T -4 F -(external type 2) 269.84 392 T -0 F -( routes. This enables multiple levels of ) 345.78 392 T -(routing protection, and simpli\336es routing management in an Autonomous System.) 85.54 378 T -(\245) 72 358 T -4 F -(V) 85.54 358 T -(irtual links) 93.75 358 T -0 F -(. By allowing the con\336guration of virtual links, OSPF ) 150.07 358 T -4 F -(r) 410.94 358 T -(emoves topological ) 416.05 358 T -(r) 85.54 344 T -(estrictions) 90.64 344 T -0 F -( on area layout in an Autonomous System.) 143.27 344 T -(\245) 72 324 T -4 F --0.32 (Authentication of r) 85.54 324 P --0.32 (outing pr) 182.62 324 P --0.32 (otocol exchanges) 229.74 324 P -0 F --0.32 (. Every time an OSPF router receives a routing ) 315.03 324 P -(protocol packet, it authenticates the packet before processing it further) 85.54 310 T -(.) 422.61 310 T -(\245) 72 290 T -4 F --0.03 (Flexible r) 85.54 290 P --0.03 (outing metric.) 134.26 290 P -0 F --0.03 ( In OSPF) 206.18 290 P --0.03 (, metric are assigned to outbound router interfaces. The cost ) 249.82 290 P -(of a path is then the sum of the path\325) 85.54 276 T -(s component interfaces. The routing metric itself can be ) 260.42 276 T -(assigned by the system administrator to indicate any combination of network characteristics ) 85.54 262 T -(\050e.g., delay) 85.54 248 T -(, bandwidth, dollar cost, etc.\051.) 138.04 248 T -(\245) 72 228 T -4 F --0.09 (Equal-cost multipath.) 85.54 228 P -0 F --0.09 ( When multiple best cost routes to a destination exist, OSPF \336nds them ) 196.73 228 P -(and they can be then used to load share traf) 85.54 214 T -(\336c to the destination.) 292.82 214 T -(\245) 72 194 T -4 F -(T) 85.54 194 T -(OS-based r) 93.32 194 T -(outing.) 150.74 194 T -0 F -( Separate sets of routes can be calculated for each IP type of service. For ) 186.4 194 T -(example, low delay traf) 85.54 180 T -(\336c could be routed on one path, while high bandwidth traf) 198.56 180 T -(\336c is routed ) 477.16 180 T --0.39 (on another) 85.54 166 P --0.39 (. This is done by \050optionally\051 assigning, to each outgoing router interface, one metric ) 135.44 166 P -(for each IP T) 85.54 152 T -(OS.) 148.26 152 T -(\245) 72 132 T -4 F -(V) 85.54 132 T -(ariable-length subnet support.) 93.09 132 T -0 F -( OSPF includes support for variable-length subnet masks by ) 248.02 132 T -(carrying a network mask with each advertised destination.) 85.54 118 T -FMENDPAGE -%%EndPage: "5" 6 -%%Page: "6" 6 -612 792 0 FMBEGINPAGE -72 702 540 720 R -7 X -0 K -V -0 F -0 X -(RFC 1245) 72 712 T -(OSPF protocol analysis) 249.36 712 T -(July 1991) 493.02 712 T -72 69.05 540 81 R -7 X -V -0 X -([Moy]) 72 73 T -([Page 6]) 499.7 73 T -72 108 540 684 R -7 X -V -0 X -(\245) 72 676 T -4 F --0.08 (Stub ar) 85.54 676 P --0.08 (ea support. ) 123.56 676 P -0 F --0.08 (T) 183.69 676 P --0.08 (o support routers having insuf) 190.18 676 P --0.08 (\336cient memory) 333.53 676 P --0.08 (, areas can be con\336gured as ) 405.63 676 P -(stubs. External LSAs \050often making up the bulk of the Autonomous System\051 are not \337ooded ) 85.54 662 T -(into/throughout stub areas. Routing to external destinations in stub areas is based solely on ) 85.54 648 T -(default.) 85.54 634 T -FMENDPAGE -%%EndPage: "6" 7 -%%Page: "7" 7 -612 792 0 FMBEGINPAGE -72 702 540 720 R -7 X -0 K -V -0 F -0 X -(RFC 1245) 72 712 T -(OSPF protocol analysis) 249.36 712 T -(July 1991) 493.02 712 T -72 69.05 540 81 R -7 X -V -0 X -([Moy]) 72 73 T -([Page 7]) 499.7 73 T -72 108 540 684 R -7 X -V -2 F -0 X -(3.0 Cost of the pr) 72 673.33 T -(otocol) 193.4 673.33 T -0 F --0.1 (This section attempts to analyze how the OSPF protocol will perform and scale in the Internet. In ) 72 646 P -(this analysis, we will concentrate on the following four areas:) 72 632 T -(\245) 72 612 T -4 F -(Link bandwidth) 85.54 612 T -0 F -(. In OSPF) 168.53 612 T -(, a reliable \337ooding mechanism is used to ensure that router link ) 215.22 612 T -(state databases are remained synchronized. Individual components of the link state databases ) 85.54 598 T --0.17 (\050the LSAs\051 are refreshed infrequently \050every 30 minutes\051, at least in the absence of topological ) 85.54 584 P -(changes. Still, as the size of the database increases, the amount of link bandwidth used by the ) 85.54 570 T -(\337ooding procedure also increases.) 85.54 556 T -(\245) 72 536 T -4 F --0.03 (Router memory) 85.54 536 P -0 F --0.03 (. The size of an OSPF link state database can get quite lar) 166.32 536 P --0.03 (ge, especially in the ) 441.86 536 P -(presence of many external LSAs. This imposes requirements on the amount of router memory ) 85.54 522 T -(available.) 85.54 508 T -(\245) 72 488 T -4 F -(CPU usage) 85.54 488 T -0 F -(. In OSPF) 141.83 488 T -(, this is dominated by the length of time it takes to run the shortest path ) 188.52 488 T -(calculation \050Dijkstra procedure\051. This is a function of the number of routers in the OSPF sys-) 85.54 474 T -(tem.) 85.54 460 T -(\245) 72 440 T -4 F -(Role of the Designated Router) 85.54 440 T -(.) 238.32 440 T -0 F -( The Designated router receives and sends more packets on a ) 241.32 440 T --0.46 (multi-access networks than the other routers connected to the network. Also, there is some time ) 85.54 426 P -(involved in cutting over to a new Designated Router after the old one fails \050especially when ) 85.54 412 T -(both the Backup Designated Router and the Designated Router fail at the same time\051. For this ) 85.54 398 T --0.27 (reason, it is possible that you may want to limit the number of routers connected to a single net-) 85.54 384 P -(work.) 85.54 370 T -(The remaining section will analyze these areas, estimating how much resources the OSPF proto-) 72 344 T --0.05 (col will consume, both now and in the future. T) 72 330 P --0.05 (o aid in this analysis, the next section will present ) 298.93 330 P -(some data that have been collected in actual OSPF \336eld deployments.) 72 316 T -3 F -(3.1 Operational data) 72 282.67 T -0 F --0.44 (The OSPF protocol has been deployed in a number of places in the Internet. For a summary of this ) 72 256 P -(deployment, see [1]. Some statistics have been gathered from this operational experience, via ) 72 242 T --0.03 (local network management facilities. Some of these statistics are presented in the following table:) 72 228 P -FMENDPAGE -%%EndPage: "7" 8 -5 10 /Times-Bold FMDEFINEFONT -%%Page: "8" 8 -612 792 0 FMBEGINPAGE -72 702 540 720 R -7 X -0 K -V -0 F -0 X -(RFC 1245) 72 712 T -(OSPF protocol analysis) 249.36 712 T -(July 1991) 493.02 712 T -72 69.05 540 81 R -7 X -V -0 X -([Moy]) 72 73 T -([Page 8]) 499.7 73 T -72 108 540 684 R -7 X -V -72 666.01 540 674 C -72 671.98 540 671.98 2 L -0.5 H -0 Z -0 X -0 K -N -0 0 612 792 C -5 F -0 X -0 K -(T) 72 677.33 T -(ABLE 1. Pertinent operational statistics) 77.93 677.33 T -(Statistic) 72 655.34 T -(BARRNet) 216 655.34 T -(NSI) 324 655.34 T -(OARnet) 432 655.34 T -1 F -(Data gathering \050duration\051) 72 638.34 T -(99 hours) 216 638.34 T -(277 hours) 324 638.34 T -(28 hours) 432 638.34 T -(Dijkstra frequency) 72 622.34 T -(50 minutes) 216 622.34 T -(25 minutes) 324 622.34 T -(13 minutes) 432 622.34 T -(External incremental frequency) 72 606.34 T -(1.2 minutes) 216 606.34 T -(.98 minutes) 324 606.34 T -(not gathered) 432 606.34 T -(Database turnover) 72 590.34 T -(29.7 minutes) 216 590.34 T -(30.9 minutes) 324 590.34 T -(28.2 minutes) 432 590.34 T -(LSAs per packet) 72 574.34 T -(3.38) 216 574.34 T -(3.16) 324 574.34 T -(2.99) 432 574.34 T -(Flooding retransmits) 72 558.34 T -(1.3%) 216 558.34 T -(1.4%) 324 558.34 T -(.7%) 432 558.34 T -0 F -(The \336rst line in the above table show the length of time that statistics were gathered on the three ) 72 533.01 T -(networks. A brief description of the other statistics follows:) 72 519.01 T -(\245) 72 499.01 T -4 F -(Dijkstra fr) 85.54 499.01 T -(equency) 140.27 499.01 T -(. ) 181.59 499.01 T -0 F -(In OSPF) 187.59 499.01 T -(, the Dijkstra calculation involves only those routers and transit ) 228.28 499.01 T --0.14 (networks belonging to the AS. The Dijkstra is run only when something in the system changes ) 85.54 485.01 P -(\050like a serial line between two routers goes down\051. Note that in these operational systems, the ) 85.54 471.01 T -(Dijkstra process runs only infrequently \050the most frequent being every 13 minutes\051.) 85.54 457.01 T -(\245) 72 437.01 T -4 F -(External incr) 85.54 437.01 T -(emental fr) 153.61 437.01 T -(equency) 206.35 437.01 T -0 F -(. In OSPF) 247.54 437.01 T -(, when an external route changes only its entry in ) 294.23 437.01 T --0.13 (the routing table is recalculated. These are called external incremental updates. Note that these ) 85.54 423.01 P -(happen much more frequently than the Dijkstra procedure. \050in other words, incremental ) 85.54 409.01 T -(updates are saving quite a bit of processor time\051.) 85.54 395.01 T -(\245) 72 375.01 T -4 F --0.45 (Database turnover) 85.54 375.01 P --0.45 (.) 179.58 375.01 P -0 F --0.45 ( In OSPF) 182.58 375.01 P --0.45 (, link state advertisements are refreshed at a minimum of every 30 ) 225.36 375.01 P -(minutes. New advertisement instances are sent out more frequently when some part of the ) 85.54 361.01 T --0.2 (topology changes. The table shows that, even taking topological changes into account, on aver-) 85.54 347.01 P -(age an advertisement is updated close to only every 30 minutes. This statistic will be used in ) 85.54 333.01 T -(the link bandwidth calculations below) 85.54 319.01 T -(. Note that NSI actually shows advertisements updated ) 267.31 319.01 T -(every 30.7 \050> 30\051 minutes. This probably means that at one time earlier in the measurement ) 85.54 305.01 T -(period, NSI had a smaller link state database that it did at the end.) 85.54 291.01 T -(\245) 72 271.01 T -4 F --0.39 (LSAs per packet.) 85.54 271.01 P -0 F --0.39 ( In OSPF) 173.04 271.01 P --0.39 (, multiple LSAs can be included in either Link State Update or Link ) 215.95 271.01 P --0.35 (State Acknowledgment packets.The table shows that, on average, around 3 LSAs are carried in ) 85.54 257.01 P -(a single packet. This statistic is used when calculating the header overhead in the link band-) 85.54 243.01 T -(width calculation below) 85.54 229.01 T -(. This statistic was derived by diving the number of LSAs \337ooded by ) 200.01 229.01 T -(the number of \050non-hello\051 multicasts sent.) 85.54 215.01 T -(\245) 72 195.01 T -4 F -(Flooding r) 85.54 195.01 T -(etransmits.) 138.97 195.01 T -0 F -( This counts both retransmission of LS Update packets and Link State ) 195.92 195.01 T -(Acknowledgment packets, as a percentage of the original multicast \337ooded packets. The table ) 85.54 181.01 T -(shows that \337ooding is working well, and that retransmits can be ignored in the link bandwidth ) 85.54 167.01 T -(calculation below) 85.54 153.01 T -(.) 169.69 153.01 T -FMENDPAGE -%%EndPage: "8" 9 -%%Page: "9" 9 -612 792 0 FMBEGINPAGE -72 702 540 720 R -7 X -0 K -V -0 F -0 X -(RFC 1245) 72 712 T -(OSPF protocol analysis) 249.36 712 T -(July 1991) 493.02 712 T -72 69.05 540 81 R -7 X -V -0 X -([Moy]) 72 73 T -([Page 9]) 499.7 73 T -72 108 540 684 R -7 X -V -3 F -0 X -(3.2 Link bandwidth) 72 674.67 T -0 F --0.02 (In this section we attempt to calculate how much link bandwidth is consumed by the OSPF \337ood-) 72 648 P -(ing process. The amount of link bandwidth consumed increases linearly with the number of ) 72 634 T -(advertisements present in the OSPF database.W) 72 620 T -(e assume that the majority of advertisements in ) 300.88 620 T -(the database will be AS external LSAs \050operationally this is true, see [1]\051.) 72 606 T -(From the statistics presented in Section 3.1, any particular advertisement is \337ooded \050on average\051 ) 72 580 T -(every 30 minutes. In addition, three advertisements \336t in a single packet. \050This packet could be ) 72 566 T -(either a Link State Update packet or a Link State Acknowledgment packet; in this analysis we ) 72 552 T -(select the Link State Update packet, which is the lar) 72 538 T -(ger\051. An AS external LSA is 36 bytes long. ) 320.93 538 T -(Adding one third of a packet header \050IP header plus OSPF Update packet\051 yields 52 bytes. T) 72 524 T -(rans-) 515.59 524 T -(mitting this amount of data every 30 minutes gives an average rate of 23/100 bits/second.) 72 510 T --0.05 (If you want to limit your routing traf) 72 484 P --0.05 (\336c to 5% of the link\325) 247.03 484 P --0.05 (s total bandwidth, you get the following ) 345.75 484 P -(maximums for database size:) 72 470 T -72 434.01 540 442 C -72 439.98 540 439.98 2 L -0.5 H -0 Z -0 X -0 K -N -0 0 612 792 C -5 F -0 X -0 K -(T) 72 445.33 T -(ABLE 2. Database size as a function of link speed \0505% utilization\051) 77.93 445.33 T -(Speed) 180 423.34 T -(# external advertisements) 288 423.34 T -1 F -(9.6 Kb) 180 406.34 T -(2087) 288 406.34 T -(56 Kb) 180 390.34 T -(12,174) 288 390.34 T -0 F --0.46 (Higher line speeds have not been included, because other factors will then limit database size \050like ) 72 365.01 P --0.12 (router memory\051 before line speed becomes a factor) 72 351.01 P --0.12 (. Note that in the above calculation, the size of ) 315.32 351.01 P --0.06 (the data link header was not taken into account. Also, note that while the OSPF database is likely ) 72 337.01 P -(to be mostly external LSAs, other LSAs have a size also. As a ballpark estimate, router links and ) 72 323.01 T --0.01 (network links are generally three times as lar) 72 309.01 P --0.01 (ge as an AS external link, with summary link adver-) 287.18 309.01 P -(tisements being the same size as external link LSAs.) 72 295.01 T -(OSPF consumes considerably less link bandwidth than RIP) 72 269.01 T -(. This has been shown experimentally ) 355.51 269.01 T -(in the NSI network. See Jef) 72 255.01 T -(frey Bur) 203.69 255.01 T -(gan\325) 243.77 255.01 T -(s \322NASA Sciences Internet\323 report in [3].) 264.42 255.01 T -3 F -(3.3 Router memory) 72 221.67 T -0 F --0.1 (Memory requirements in OSPF are dominated by the size of the link state database. As in the pre-) 72 195.01 P -(vious section, it is probably safe to assume that most of the advertisements in the database are ) 72 181.01 T -(external LSAs. While an external LSA is 36 bytes long, it is generally stored by an OSPF imple-) 72 167.01 T --0.34 (mentation together with some support data. So a good estimate of router memory consumed by an ) 72 153.01 P -(external LSA is probably 64 bytes. So a database having 10,000 external LSAs will consume ) 72 139.01 T -(640K bytes of router memory) 72 125.01 T -(. OSPF de\336nitely requires more memory than RIP) 213.79 125.01 T -(.) 452.98 125.01 T -FMENDPAGE -%%EndPage: "9" 10 -%%Page: "10" 10 -612 792 0 FMBEGINPAGE -72 702 540 720 R -7 X -0 K -V -0 F -0 X -(RFC 1245) 72 712 T -(OSPF protocol analysis) 249.36 712 T -(July 1991) 493.02 712 T -72 69.05 540 81 R -7 X -V -0 X -([Moy]) 72 73 T -([Page 10]) 493.7 73 T -72 108 540 684 R -7 X -V -0 X --0.35 (Using the Proteon P4200 implementation as an example, the P4200 has 2Mbytes of memory) 72 676 P --0.35 (. This ) 510.38 676 P --0.02 (is shared between instruction, data and packet buf) 72 662 P --0.02 (fer memory) 310.78 662 P --0.02 (. The P4200 has enough memory to ) 366.26 662 P -(store 10, 000 external LSAs, and still have enough packet buf) 72 648 T -(fer memory available to run a rea-) 367.58 648 T -(sonable number of interfaces.) 72 634 T -(Also, note that while the OSPF database is likely to be mostly external LSAs, other LSAs have a ) 72 608 T --0.06 (size also. As a ballpark estimate, router links and network links consume generally three times as ) 72 594 P -(much memory as an AS external link, with summary link advertisements being the same size as ) 72 580 T -(external link LSAs.) 72 566 T -3 F -(3.4 Router CPU) 72 532.67 T -0 F -(Assume that, as the size of the OSPF routing domain grows, the number of interfaces per router ) 72 506 T -(stays bounded. Then the Dijkstra calculation is of order \050n * log \050n\051\051, where n is the number of ) 72 492 T -(routers in the routing domain. \050This is the complexity of the Dijkstra algorithm in a sparse net-) 72 478 T -(work\051. Of course, it is implementation speci\336c as to how expensive the Dijkstra really is.) 72 464 T -(W) 72 438 T -(e have no experimental numbers for the cost of the Dijkstra calculation in a real OSPF imple-) 82.36 438 T -(mentation. However) 72 424 T -(, Steve Deering presented results for the Dijkstra calculation in the \322MOSPF ) 169.45 424 T -(meeting report\323 in [3]. Steve\325) 72 410 T -(s calculation was done on a DEC 5000 \05010 mips processor\051, using ) 212.9 410 T -(the Stanford internet as a model. His graphs are based on numbers of networks, not number of ) 72 396 T -(routers. However) 72 382 T -(, if we extrapolate that the ratio of routers to networks remains the same, the ) 154.78 382 T -(time to run Dijkstra for 200 routers in Steve\325) 72 368 T -(s implementation was around 15 milliseconds.) 285.87 368 T --0.46 (This seems a reasonable cost, particularly when you notice that the Dijkstra calculation is run very ) 72 342 P -(infrequently in operational deployments. In the three networks presented in Section 3.1, Dijkstra ) 72 328 T --0.35 (was run on average only every 13 to 50 minutes. Since the Dijkstra is run so infrequently) 72 314 P --0.35 (, it seems ) 493.06 314 P --0.02 (likely that OSPF overall consumes less CPU than RIP \050because of RIP\325) 72 300 P --0.02 (s frequent updates, requir-) 413.95 300 P -(ing routing table lookups\051.) 72 286 T -(As another example, the routing algorithm in MILNET is SPF-based. MILNET\325) 72 260 T -(s current size is ) 456.42 260 T --0.02 (230 nodes, and the routing calculation still consumes less than 5% of the MILNET switches\325 pro-) 72 246 P -(cessor bandwidth [4]. Because the routing algorithm in the MILNET adapts to network load, it ) 72 232 T -(runs the Dijkstra process quite frequently \050on the order of seconds as compared to OSPF\325) 72 218 T -(s min-) 499.7 218 T -(utes\051. However) 72 204 T -(, it should be noted that the routing algorithm in MILNET incrementally updates ) 144.79 204 T -(the SPF-tree, while OSPF rebuilds it from scratch at each Dijkstra calculation) 72 190 T -(OSPF\325) 72 164 T -(s Area capability provides a way to reduce Dijkstra overhead, if it becomes a burden. The ) 104 164 T --0 (routing domain can be split into areas. The extent of the Dijkstra calculation \050and its complexity\051 ) 72 150 P -(is limited to a single area at a time.) 72 136 T -FMENDPAGE -%%EndPage: "10" 11 -%%Page: "11" 11 -612 792 0 FMBEGINPAGE -72 702 540 720 R -7 X -0 K -V -0 F -0 X -(RFC 1245) 72 712 T -(OSPF protocol analysis) 249.36 712 T -(July 1991) 493.02 712 T -72 69.05 540 81 R -7 X -V -0 X -([Moy]) 72 73 T -([Page 11]) 493.7 73 T -72 108 540 684 R -7 X -V -3 F -0 X -(3.5 Role of Designated Router) 72 674.67 T -0 F -(This section explores the number of routers that can be attached to a single network. As the num-) 72 648 T --0.36 (ber of routers attached to a network grows, so does the amount of OSPF routing traf) 72 634 P --0.36 (\336c seen on the ) 469.48 634 P -(network. Some of this is Hello traf) 72 620 T -(\336c, which is generally multicast by each router every 10 sec-) 238.01 620 T --0.07 (onds. This burden is borne by all routers attached to the network. However) 72 606 P --0.07 (, because of its special ) 429.77 606 P --0.08 (role in the \337ooding process, the Designated router ends up sending more Link State Updates than ) 72 592 P -(the other routers on the network. Also, the Designated Router receives Link State Acknowledg-) 72 578 T --0.15 (ments from all attached routers, while the other routers just receive them from the DR. \050Although ) 72 564 P -(it is important to note that the rate of Link State Acknowledgments will generally be limited to ) 72 550 T -(one per second from each router) 72 536 T -(, because acknowledgments are generally delayed.\051) 226.38 536 T --0.22 (So, if the amount of protocol traf) 72 510 P --0.22 (\336c on the LAN becomes a limiting factor) 228.71 510 P --0.22 (, the limit is likely to be ) 424.24 510 P -(detected in the Designated Router \336rst. However) 72 496 T -(, such a limit is not expected to be reached in ) 305.68 496 T -(practice. The amount of routing protocol traf) 72 482 T -(\336c generated by OSPF has been shown to be small ) 286.62 482 T --0.11 (\050see Section 3.2\051. Also, if need be OSPF\325) 72 468 P --0.11 (s hello timers can be con\336gured to reduce the amount of ) 268.43 468 P -(protocol traf) 72 454 T -(\336c on the network. Note that more than 50 routers have been simulated attached to a ) 131.4 454 T -(single LAN \050see [1]\051. Also, in interoperability testing 13 routers have been attached to a single ) 72 440 T -(ethernet with no problems encountered.) 72 426 T --0.02 (Another factor in the number of routers attached to a single network is the cutover time when the ) 72 400 P --0.17 (Designated Router fails. OSPF has a Backup Designated Router so that the cutover does not have ) 72 386 P --0.31 (to wait for the new DR to synchronize \050the adjacency bring-up process mentioned earlier\051 with all ) 72 372 P --0.43 (the other routers on the LAN; as a Backup DR it had already synchronized. However) 72 358 P --0.43 (, in those rare ) 473.46 358 P --0.33 (cases when both DR and Backup DR crash at the same time, the new DR will have to synchronize ) 72 344 P -(\050via the adjacency bring-up process\051 with all other routers before becoming functional. Field ) 72 330 T --0.44 (experience show that this synchronization process takes place in a timely fashion \050see the OARnet ) 72 316 P -(report in [1]\051. However) 72 302 T -(, this may be an issue in systems that have many routers attached to a sin-) 183.42 302 T -(gle network.) 72 288 T --0.15 (In the unlikely event that the number of routers attached to a LAN becomes a problem, either due ) 72 262 P -(to the amount of routing protocol traf) 72 248 T -(\336c or the cutover time, the LAN can be split into separate ) 251 248 T -(pieces \050similar to splitting up the AS into separate areas\051.) 72 234 T -3 F -(3.6 Summary) 72 200.67 T -0 F -(In summary) 72 174 T -(, it seems like the most likely limitation to the size of an OSPF system is available ) 128.85 174 T --0.4 (router memory) 72 160 P --0.4 (. W) 142.43 160 P --0.4 (e have given as 10,000 as the number of external LSAs that can be supported by ) 158.39 160 P -(the memory available in one con\336guration of a particular implementation \050the Proteon P4200\051. ) 72 146 T --0.09 (Other implementations may vary; nowadays routers are being built with more and more memory) 72 132 P --0.09 (. ) 534.09 132 P -FMENDPAGE -%%EndPage: "11" 12 -%%Page: "12" 12 -612 792 0 FMBEGINPAGE -72 702 540 720 R -7 X -0 K -V -0 F -0 X -(RFC 1245) 72 712 T -(OSPF protocol analysis) 249.36 712 T -(July 1991) 493.02 712 T -72 69.05 540 81 R -7 X -V -0 X -([Moy]) 72 73 T -([Page 12]) 493.7 73 T -72 108 540 684 R -7 X -V -0 X -(Note that 10,000 routes is considerably lar) 72 676 T -(ger than the lar) 275.31 676 T -(gest \336eld implementation \050BARRNet; ) 347.37 676 T -(which at 1816 external LSAs is still very lar) 72 662 T -(ge\051.) 283.65 662 T -(Note that there may be ways to reduce database size in a routing domain. First, the domain can ) 72 636 T --0.19 (make use of default routing, reducing the number of external routes that need to be imported. Sec-) 72 622 P -(ondly) 72 608 T -(, an EGP can be used that will transport its own information through the AS instead of rely-) 98.54 608 T --0.21 (ing on the IGP \050OSPF in this case\051 to do transfer the information for it \050the EGP\051. Thirdly) 72 594 P --0.21 (, routers ) 498.11 594 P -(having insuf) 72 580 T -(\336cient memory may be able to be assigned to stub areas \050whose databases are drasti-) 131.41 580 T -(cally smaller\051. Lastly) 72 566 T -(, if the Internet went away from a \337at address space the amount of external ) 172.82 566 T -(information imported into an OSPF domain could be reduced drastically) 72 552 T -(.) 418.67 552 T -(While not as likely) 72 526 T -(, there could be other issues that would limit the size of an OSPF routing ) 162.17 526 T -(domain. If there are slow lines \050like 9600 baud\051, the size of the database will be limited \050see Sec-) 72 512 T -(tion 3.2\051. Dijkstra may get to be expensive when there are hundreds of routers in the OSPF ) 72 498 T -(domain; although at this point the domain can be split into areas. Finally) 72 484 T -(, when there are many ) 418.69 484 T -(routers attached to a single network, there may be undue burden imposed upon the Designated ) 72 470 T -(Router; although at that point a LAN can be split into separate LANs.) 72 456 T -FMENDPAGE -%%EndPage: "12" 13 -%%Page: "13" 13 -612 792 0 FMBEGINPAGE -72 702 540 720 R -7 X -0 K -V -0 F -0 X -(RFC 1245) 72 712 T -(OSPF protocol analysis) 249.36 712 T -(July 1991) 493.02 712 T -72 69.05 540 81 R -7 X -V -0 X -([Moy]) 72 73 T -([Page 13]) 493.7 73 T -72 108 540 684 R -7 X -V -2 F -0 X -(4.0 Suitable envir) 72 673.33 T -(onments) 195.21 673.33 T -0 F --0.14 (Suitable environments for the OSPF protocol range from lar) 72 646 P --0.14 (ge to small. OSPF is particular suited ) 359.11 646 P -(for transit Autonomous Systems for the following reasons. OSPF can accommodate a lar) 72 632 T -(ge num-) 497.84 632 T -(ber of external routes. In OSPF the import of external information is very \337exible, having provi-) 72 618 T --0.39 (sions for a forwarding address, two levels of external metrics, and the ability to tag external routes ) 72 604 P --0.29 (with their AS number for easy management. Also OSPF\325) 72 590 P --0.29 (s ability to do partial updates when exter-) 343.17 590 P -(nal information changes is very useful on these networks.) 72 576 T -(OSPF is also suited for smaller) 72 550 T -(, either stand alone or stub Autonomous Systems, because of its ) 220.44 550 T -(wide array of features: fast conver) 72 536 T -(gence, equal-cost-multipath, T) 235.96 536 T -(OS routing, areas, etc.) 382.3 536 T -2 F -(5.0 Unsuitable envir) 72 469.33 T -(onments) 212.98 469.33 T -0 F --0.22 (OSPF has a very limited ability to express policy) 72 442 P --0.22 (. Basically) 304.62 442 P --0.22 (, its only policy mechanisms are in the ) 354.25 442 P -(establishment of a four level routing hierarchy: intra-area, inter) 72 428 T -(-area, type 1 and type 2 external ) 374.52 428 T -(routes. A system wanting more sophisticated policies would have to be split up into separate ) 72 414 T -(ASes, running a policy-based EGP between them.) 72 400 T -FMENDPAGE -%%EndPage: "13" 14 -%%Page: "14" 14 -612 792 0 FMBEGINPAGE -72 702 540 720 R -7 X -0 K -V -0 F -0 X -(RFC 1245) 72 712 T -(OSPF protocol analysis) 249.36 712 T -(July 1991) 493.02 712 T -72 69.05 540 81 R -7 X -V -0 X -([Moy]) 72 73 T -([Page 14]) 493.7 73 T -72 108 540 684 R -7 X -V -2 F -0 X -(6.0 Refer) 72 673.33 T -(ence Documents) 137.87 673.33 T -0 F -(The following documents have been referenced by this report:) 72 646 T -([1]) 72 626 T -(Moy) 108 626 T -(, J., \322Experience with the OSPF protocol\323, RFC 1246, July 1991.) 129.88 626 T -([2]) 72 608 T -(Moy) 108 608 T -(, J., \322OSPF V) 129.88 608 T -(ersion 2\323, RFC 1247, July 1991.) 193.85 608 T -([3]) 72 590 T -(Corporation for National Research Initiatives, \322Proceedings of the Eighteenth Internet ) 108 590 T -(Engineering T) 108 576 T -(ask Force\323, University of British Columbia, July 30-August 3, 1990.) 176.11 576 T -FMENDPAGE -%%EndPage: "14" 15 -%%Page: "15" 15 -612 792 0 FMBEGINPAGE -72 702 540 720 R -7 X -0 K -V -0 F -0 X -(RFC 1245) 72 712 T -(OSPF protocol analysis) 249.36 712 T -(July 1991) 493.02 712 T -72 69.05 540 81 R -7 X -V -0 X -([Moy]) 72 73 T -([Page 15]) 493.7 73 T -72 108 540 684 R -7 X -V -2 F -0 X -(Security Considerations) 72 673.33 T -0 F -(Security issues are not discussed in this memo.) 72 646 T -2 F -(Author) 72 617.33 T -(\325) 122.04 617.33 T -(s Addr) 126.77 617.33 T -(ess) 173.13 617.33 T -0 F -(John Moy) 72 590 T -(Proteon Inc.) 72 576 T -(2 T) 72 562 T -(echnology Drive) 87.48 562 T -(W) 72 548 T -(estborough, MA 01581) 82.36 548 T -(Phone: \050508\051 898-2800) 72 522 T -(Email: jmoy@proteon.com) 72 508 T -FMENDPAGE -%%EndPage: "15" 16 -%%Trailer -%%BoundingBox: 0 0 612 792 -%%Pages: 15 1 -%%DocumentFonts: Times-Roman -%%+ Times-Bold diff --git a/test/manual/etags/pyt-src/server.py b/test/manual/etags/pyt-src/server.py deleted file mode 100644 index 68aa29abcfd..00000000000 --- a/test/manual/etags/pyt-src/server.py +++ /dev/null @@ -1,819 +0,0 @@ -#!/usr/bin/python -# -# NOTE: THIS PROGRAM DOES NOT WORK! -# It is intended as a regression test source for the Python support in etags. -# If you want a working version, you'll find it in the fetchmail distribution. -# - -from Tkinter import * -from Dialog import * -import sys -import time -import os - -# -# Define the data structures the GUIs will be tossing around -# -class Controls: - def __init__(self): - self.foreground = FALSE; # Run in background - self.daemon = 300 # Default to 5-minute timeout - self.syslog = FALSE # Use syslogd for logging? - self.logfile = None # No logfile, initially - - def __repr__(self): - str = ""; - if self.syslog: - str = str + ("set syslog\n") - elif self.logfile: - str = str + ("set logfile \"%s\"\n" % (self.logfile,)); - if not self.foreground and self.daemon: - str = str + ("set daemon %s\n" % (self.daemon,)) - return str + "\n" - - def __str__(self): - return "[Server: " + repr(self) + "]" - -class Server: - def __init__(self): - self.pollname = None # Poll label - self.via = None # True name of host - self.active = TRUE # Poll status - self.interval = 0 # Skip interval - self.protocol = 'auto' # Default to auto protocol - self.port = 0 # Port number to use - self.uidl = FALSE # Don't use RFC1725 UIDLs by default - self.auth = "password" # Default to password authentication - self.timeout = 300 # 5-minute timeout - self.envelope = "Received" # Envelope-address header - self.aka = [] # List of DNS aka names - self.dns = TRUE # Enable DNS lookup on multidrop - self.localdomains = [] # Domains to be considered local - self.interface = None # IP address and range - self.monitor = None # IP address and range - self.userlist = [] # List of user entries for site - self.typemap = ( - ('pollname', 'String'), - ('via', 'String'), - ('active', 'Boolean'), - ('interval', 'Int'), - ('protocol', 'String'), - ('interval', 'Int'), - ('port', 'Int'), - ('uidl', 'Boolean'), - ('auth', 'String'), - ('timeout', 'Int'), - ('envelope', 'String'), - # leave aka out - ('dns', 'Boolean'), - # leave localdomains out - ('interface', 'String'), - ('monitor', 'String')) - - def dump(self, folded): - str = "" - if self.active: str = str + "poll" - else: str = str + "skip" - str = str + (" " + self.pollname) - if self.via != self.pollname: - str = str + " via " + self.via - if self.protocol != ServerDefaults.protocol: - str = str + " with proto " + self.protocol - if self.port != defaultports[self.protocol]: - str = str + " port " + `self.port` - if self.timeout != ServerDefaults.timeout: - str = str + " timeout " + `self.timeout` - if self.interval != ServerDefaults.interval: - str = str + " interval " + `self.interval` - if self.envelope != ServerDefaults.envelope: - str = str + " envelope " + self.envelope - if self.auth != ServerDefaults.auth: - str = str + " auth " + self.auth - if self.dns != ServerDefaults.dns or self.uidl != ServerDefaults.uidl: - str = str + " and options" - if self.dns != ServerDefaults.dns: - str = str + flag2str(self.dns, 'dns') - if self.uidl != ServerDefaults.uidl: - str = str + flag2str(self.uidl, 'uidl') - if folded: str = str + "\n\t" - else: str = str + " " - - if self.aka: - str = str + "aka" - for x in self.aka: - str = str + " " + x - if self.aka and self.localdomains: str = str + " " - if self.localdomains: - str = str + ("localdomains") - for x in self.localdomains: - str = str + " " + x - if (self.aka or self.localdomains): - if folded: - str = str + "\n\t" - else: - str = str + " " - - if self.interface: str = str + " interface " + self.interface - if self.monitor: str = str + " monitor " + self.monitor - if (self.interface or self.monitor): - if folded: - str = str + "\n" - - if str[-1] == "\t": str = str[0:-1] - return str; - - def __repr__(self): - return self.dump(TRUE) - - def __str__(self): - return "[Server: " + self.dump(FALSE) + "]" - -class User: - def __init__(self): - self.username = "" # Remote username - self.localnames = None # Local names - self.password = "" # Password for mail account access - self.smpthost = 'localhost' # Host to forward to - self.mda = "" # Mail Delivery Agent - self.preconnect = "" # Connection setup - self.postconnect = "" # Connection wrapup - self.keep = FALSE # Keep messages - self.flush = FALSE # Flush messages - self.fetchall = FALSE # Fetch old messages - self.rewrite = TRUE # Rewrite message headers - self.forcecr = FALSE # Force LF -> CR/LF - self.stripcr = FALSE # Strip CR - self.pass8bits = FALSE # Force BODY=7BIT - self.dropstatus = FALSE # Force BODY=7BIT - self.limit = 0 # Message size limit - self.fetchlimit = 0 # Max messages fetched per batch - self.batchlimit = 0 # Max message forwarded per batch - self.typemap = ( - ('username', 'String') - ('folder', 'String') - # leave out localnames - ('password', 'String') - ('smtphost', 'String') - ('preconnect', 'String') - ('postconnect', 'String') - ('mda', 'String') - ('keep', 'Boolean') - ('flush', 'Boolean') - ('fetchall', 'Boolean') - ('rewrite', 'Boolean') - ('forcecr', 'Boolean') - ('stripcr', 'Boolean') - ('pass8bits', 'Boolean') - ('dropstatus', 'Boolean') - ('limit', 'Int') - ('fetchlimit', 'Int') - ('batchlimit', 'Int')) - - def __repr__(self): - str = "" - str = str + "user " + self.user; - if self.password: str = str + "with password " + self.password - if self.localnames: - str = str + "localnames" - for x in self.localnames: - str = str + " " + x - if (self.keep or self.flush or self.fetchall or self.rewrite or - self.forcecr or self.stripcr or self.pass8bits or self.dropstatus): - str = str + " options" - if self.keep != UserDefaults.keep: - str = str + flag2str(self.keep, 'keep') - if self.flush != UserDefaults.flush: - str = str + flag2str(self.flush, 'flush') - if self.fetchall != UserDefaults.fetchall: - str = str + flag2str(self.fetchall, 'fetchall') - if self.rewrite != UserDefaults.rewrite: - str = str + flag2str(self.rewrite, 'rewrite') - if self.forcecr != UserDefaults.forcecr: - str = str + flag2str(self.forcecr, 'forcecr') - if self.stripcr != UserDefaults.stripcr: - str = str + flag2str(self.stripcr, 'stripcr') - if self.pass8bits != UserDefaults.pass8bits: - str = str + flag2str(self.pass8bits, 'pass8bits') - if self.dropstatus != UserDefaults.dropstatus: - str = str + flag2str(self.dropstatus, 'dropstatus') - if self.limit != UserDefaults.limit: - str = str + " limit " + `self.limit` - if self.fetchlimit != UserDefaults.fetchlimit: - str = str + " fetchlimit " + `self.fetchlimit` - if self.batchlimit != UserDefaults.batchlimit: - str = str + " batchlimit " + `self.batchlimit` - - def __str__(self): - return "[User: " + repr(self) + "]" - -# -# Helper code -# - -defaultports = {"auto":0, - "POP2":109, - "POP3":110, "APOP":110, "KPOP":1109, "IMAP":143, - "IMAP-K4":143, - "ETRN":25} - -protolist = ("auto", "POP2", "POP3", "APOP", "KPOP", "IMAP", "IMAP-K4", "ETRN") - -authlist = ("password", "kerberos") - -def flag2str(value, string): -# make a string representation of a .fetchmailrc flag or negated flag - str = "" - if value != None: - str = str + (" ") - if value == FALSE: str = str + ("no ") - str = str + string; - return str - -class LabeledEntry(Frame): -# widget consisting of entry field with caption to left - def bind(self, key, action): - self.E.bind(key, action) - def focus_set(self): - self.E.focus_set() - def __init__(self, Master, text, textvar, width): - Frame.__init__(self, Master) - self.L = Label(self, {'text':text, 'width':width, 'anchor':'w'}) - self.E = Entry(self, {'textvar':textvar}) - self.L.pack({'side':'left'}) - self.E.pack({'side':'left', 'expand':'1', 'fill':'x'}) - -def ButtonBar(frame, legend, ref, alternatives, command): -# horizontal bar of radio buttons, caption to left, picking from a string list - bar = Frame(frame) - Label(bar, text=legend).pack(side=LEFT) - for alt in alternatives: - Radiobutton(bar, - {'text':alt, 'variable':ref, 'value':alt, 'command':command}).pack(side=LEFT) - bar.pack(side=TOP); - return bar - -def helpwin(helpdict): -# help message window with a self-destruct button - helpwin = Toplevel() - helpwin.title(helpdict['title']) - helpwin.iconname(helpdict['title']) - Label(helpwin, text=helpdict['banner']).pack() - textwin = Message(helpwin, text=helpdict['text'], width=600) - textwin.pack() - Button(helpwin, text='Done', - command=lambda x=helpwin: Widget.destroy(x), - relief=SUNKEN, bd=2).pack() - -class ListEdit(Frame): -# edit a list of values (duplicates not allowed) with a supplied editor hook - def __init__(self, newlegend, list, editor, master): - self.editor = editor - self.list = list - - # Set up a widget to accept new sites - self.newval = StringVar(master) - newwin = LabeledEntry(master, newlegend, self.newval, '16') - newwin.bind('', self.handleNew) - newwin.bind('', 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('', self.handleList); - listwidget.bind('', self.handleList); - self.listwidget = listwidget - - bf = Frame(master); - if self.editor: - Button(bf, text='Edit', command=self.editItem).pack(side=LEFT) - Button(bf, text='Delete', command=self.deleteItem).pack(side=RIGHT) - bf.pack(fill=X) - - def handleList(self, event): - self.editItem(); - - def handleNew(self, event): - item = self.newval.get() - entire = self.listwidget.get(0, self.listwidget.index('end')); - if item and (not entire) or (not item in self.listwidget.get(0, self.listwidget.index('end'))): - self.listwidget.insert('end', item) - if self.list != None: self.list.append(item) - self.newval.set('') - - def editItem(self): - index = self.listwidget.curselection()[0] - if index and self.editor: - label = self.listwidget.get(index); - apply(self.editor, (label,)) - - def deleteItem(self): - index = self.listwidget.curselection()[0] - if index: - self.listwidget.delete(index) - if self.list != None: del self.list[index] - -def ConfirmQuit(frame, context): - ans = Dialog(frame, - title = 'Quit?', - text = 'Really quit ' + context + ' without saving?', - bitmap = 'question', - strings = ('Yes', 'No'), - default = 1) - return ans.num == 0 -# -# First, code to set the global fetchmail run controls. -# - -confighelp = { - 'title' : 'Fetchmail configurator help', - 'banner': 'Configurator help', - 'text' : """ -In the `Configurator Controls' panel, you can: - -Press `Save' to save the new fetchmail configuration you have created. -Press `Quit' to exit without saving. -Press `Help' to bring up this help message. - -In the `Configurator Controls' panel, you can set the following options that -control how fetchmail runs: - -Poll interval - Number of seconds to wait between polls in the background. - Ignored if the `Run in Foreground?' option is on. - -Logfile - If empty, emit progress and error messages to stderr. - Otherwise this gives the name of the files to write to. - This field is ignored if the "Log to syslog?" option is on. - -In the `Remote Mail Configurations' panel, you can: - -1. Enter the name of a new remote mail server you want fetchmail to query. - -To do this, simply enter a label for the poll configuration in the -`New Server:' box. The label should be a DNS name of the server (unless -you are using ssh or some other tunneling method and will fill in the `via' -option on the site configuration screen). - -2. Change the configuration of an existing site. - -To do this, find the site's label in the listbox and double-click it. -This will take you to a site configuration dialogue. -"""} - -class ControlEdit(Frame): - def PostControls(self): - self.foreground = BooleanVar(self) - self.foreground.set(self.controls.foreground) - self.daemon = StringVar(self) - self.daemon.set(`self.controls.daemon`) - self.syslog = BooleanVar(self) - self.syslog.set(self.controls.syslog); - self.logfile = StringVar(self) - if self.controls.logfile: self.logfile.set(self.controls.logfile); - - gf = Frame(self, relief=RAISED, bd = 5) - - Label(gf, - text='Fetchmail Run Controls', - bd=2).pack(side=TOP, pady=10) - - df = Frame(gf, relief=RAISED, bd=2) - - # Run in foreground? - Checkbutton(df, - {'text':'Run in foreground?', - 'variable':self.foreground, - 'relief':GROOVE}).pack(side=LEFT,anchor=W) - - # Set the poll interval - de = LabeledEntry(df, ' Poll interval:', self.daemon, '14') - de.pack(side=RIGHT, anchor=E) - - df.pack(); - - sf = Frame(gf, relief=RAISED, bd=2) - - # Use syslog for logging? - Checkbutton(sf, - {'text':'Log to syslog?', - 'variable':self.syslog, - 'relief':GROOVE}).pack(side=LEFT, anchor=W) - - # Set the logfile - log = LabeledEntry(sf, ' Logfile:', self.logfile, '14') - log.pack(side=RIGHT, anchor=E) - - sf.pack(fill=X) - gf.pack(fill=X) - - def GatherControls(self): - self.controls.daemon = self.daemon.get() - self.controls.foreground = self.foreground.get() - self.controls.logfile = self.logfile.get() - self.controls.syslog = self.syslog.get() - -# -# Server editing stuff. -# -serverhelp = { - 'title' : 'Server options help', - 'banner': 'Server Options', - 'text' : """ -The server options screen controls fetchmail -options that apply to one of your mailservers. - -Once you have a mailserver configuration set -up as you like it, you can select `Save' to -store it in the server list maintained in -the main configuration window. - -If you wish to discard changes to a server -configuration, select `Quit'. -"""} - -controlhelp = { - 'title' : 'Run Control help', - 'banner': 'Run Controls', - 'text' : """ -If the `Poll normally' checkbox is on, the host is polled as part of -the normal operation of fetchmail when it is run with no arguments. -If it is off, fetchmail will only query this host when it is given as -a command-line argument. - -The `True name of server' box should specify the actual DNS name -to query. By default this is the same as the poll name. - -Normally each host described in the file is queried once each -poll cycle. If `Cycles to skip between polls' is greater than 0, -that's the number of poll cycles that are skipped between the -times this post is actually polled. - -The `Server timeout' is the number of seconds fetchmail will wait -for a reply from the mailserver before concluding it is hung and -giving up. -"""} - -protohelp = { - 'title' : 'Protocol and Port help', - 'banner': 'Protocol and Port', - 'text' : """ -These options control the remote-mail protocol -and TCP/IP service port used to query this -server. - -The `Protocol' button bar offers you a choice of -all the different protocols available. The `auto' -protocol is a special mode that probes the host -ports for POP3 and IMAP to see if either is -available. - -Normally the TCP/IP service port to use is -dictated by the protocol choice. The `Port' -field lets you set a non-standard port. -"""} - -sechelp = { - 'title' : 'Security option help', - 'banner': 'Security', - 'text' : """ -These options control the security procedure used -to protect mail transfer - -Normally the mail fetch is validated using an -ordinary password logon. If your server speaks -MIT Kerberos IV it is possible to pre-authenticate -the exxchange with a Kerberos ticket. - -The `interface' and `monitor' options are available -only for Linux systems. See the fetchmail manual page -for details on these. -"""} - -multihelp = { - 'title' : 'Multidrop option help', - 'banner': 'Multidrop', - 'text' : """ -These options are only useful with multidrop mode. -See the manual page for extended discussion. -"""} - -class ServerEdit(Frame): - def __init__(self, host, sitelist, master=None): - Frame.__init__(self, master) - Pack.config(self) - self.master.title('Fetchmail host ' + host); - self.master.iconname('Fetchmail host ' + host); - self.server = Server() - self.server.pollname = host - self.server.via = host - self.sitelist = sitelist - self.post() - self.createWidgets(host) - - def post(self): - # we can't abstract this away, execs would happen in the wrong scope - for x in self.server.typemap: - target = "self." + x[0] - source = "self.server." + x[0] - if x[1] == 'Boolean': - exec target + " = BooleanVar(self)" - if eval(source): - exec target + ".set(" + source + ")" - elif x[1] == 'String': - exec target + " = StringVar(self)" - if eval(source): - exec target + ".set(" + source + ")" - elif x[1] == 'Int': - exec target + " = IntVar(self)" - if eval(source): - exec target + ".set(" + source + ")" - - def gather(self): - for x in self.server.typemap: - setattr(self.server, x[0], getattr(self, x[0]).get()) - - def nosave(self): - if ConfirmQuit(self, 'server option editing'): - Widget.destroy(self.master) - - def save(self): - self.gather() - self.sitelist.append(self.server) - Widget.destroy(self.master) - - def refreshPort(self): - proto = self.protocol.get() - self.port.set(defaultports[proto]) - if not proto in ("POP3", "APOP", "KPOP"): self.uidl = FALSE - - def createWidgets(self, host): - topwin = Frame(self, relief=RAISED, bd=5) - Label(topwin, text="Server options for " + host).pack(side=TOP,pady=10) - Button(topwin, text='Save', fg='blue', - command=self.save).pack(side=LEFT) - Button(topwin, text='Quit', fg='blue', - command=self.nosave).pack(side=LEFT) - Button(topwin, text='Help', fg='blue', - command=lambda: helpwin(serverhelp)).pack(side=RIGHT) - topwin.pack(fill=X) - - ctlwin = Frame(self, relief=RAISED, bd=5) - Label(ctlwin, text="Run Controls").pack(side=TOP) - Checkbutton(ctlwin, text='Poll ' + host + ' normally?', variable=self.active).pack(side=TOP) - LabeledEntry(ctlwin, 'True name of ' + host + ':', - self.via, '30').pack(side=TOP, fill=X) - LabeledEntry(ctlwin, 'Cycles to skip between polls:', - self.interval, '30').pack(side=TOP, fill=X) - LabeledEntry(ctlwin, 'Server timeout (seconds):', - self.timeout, '30').pack(side=TOP, fill=X) - Button(ctlwin, text='Help', fg='blue', - command=lambda: helpwin(controlhelp)).pack(side=RIGHT) - ctlwin.pack(fill=X) - - protwin = Frame(self, relief=RAISED, bd=5) - Label(protwin, text="Protocol and Port").pack(side=TOP) - pb = ButtonBar(protwin, 'Protocol:', self.protocol, protolist, self.refreshPort) - LabeledEntry(protwin, 'TCP/IP service port to query:', - self.port, '30').pack(side=TOP, fill=X) - Checkbutton(protwin, - text="Track seen POP3 messages with client-side UIDL list?", - variable=self.uidl).pack(side=TOP) - Button(protwin, text='Help', fg='blue', - command=lambda: helpwin(protohelp)).pack(side=RIGHT) - protwin.pack(fill=X) - - secwin = Frame(self, relief=RAISED, bd=5) - Label(secwin, text="Security").pack(side=TOP) - ButtonBar(secwin, 'Authorization mode:', - self.auth, authlist, None).pack(side=TOP) - - if os.popen("uname").readlines()[0] == 'Linux\n': - LabeledEntry(secwin, 'Interface to check before polling:', - self.interface, '30').pack(side=TOP, fill=X) - LabeledEntry(secwin, 'IP addresses to watch for activity:', - self.monitor, '30').pack(side=TOP, fill=X) - - Button(secwin, text='Help', fg='blue', - command=lambda: helpwin(sechelp)).pack(side=RIGHT) - secwin.pack(fill=X) - - mdropwin = Frame(self, relief=RAISED, bd=5) - Label(mdropwin, text="Multidrop options").pack(side=TOP) - LabeledEntry(mdropwin, 'Envelope address header:', - self.envelope, '30').pack(side=TOP, fill=X) - Checkbutton(mdropwin, text="Enable multidrop DNS lookup?", - variable=self.dns).pack(side=TOP) - Label(mdropwin, text="DNS aliases").pack(side=TOP) - ListEdit("New site alias: ", self.server.aka, None, mdropwin) - Label(mdropwin, text="Domains to be considered local").pack(side=TOP) - ListEdit("New local domain: ", self.server.localdomains, None,mdropwin) - Button(mdropwin, text='Help', fg='blue', - command=lambda: helpwin(multihelp)).pack(side=RIGHT) - mdropwin.pack(fill=X) - - userwin = Frame(self, relief=RAISED, bd=5) - Label(userwin, text="User entries for " + host).pack(side=TOP) - ListEdit("New user: ", None, self.edituser, userwin) - userwin.pack(fill=X) - - def edituser(self, user): - UserEdit(user, self.server.userlist, Toplevel()) - -# -# User editing stuff -# - -userhelp = { - 'title' : 'User option help', - 'banner': 'User options', - 'text' : """ -FIXME -"""} - -class UserEdit(Frame): - def __init__(self, user, userlist, master=None): - Frame.__init__(self, master) - Pack.config(self) - self.master.title('Fetchmail user ' + user); - self.master.iconname('Fetchmail user ' + user); - self.user = User() - self.user.remote = user - self.user.localnames = [user] - self.userlist = userlist - self.post() - self.createWidgets(user) - - def post(self): - # we can't abstract this away, execs would happen in the wrong scope - for x in self.user.typemap: - target = "self." + x[0] - source = "self.user." + x[0] - if x[1] == 'Boolean': - exec target + " = BooleanVar(self)" - if eval(source): - exec target + ".set(" + source + ")" - elif x[1] == 'String': - exec target + " = StringVar(self)" - if eval(source): - exec target + ".set(" + source + ")" - elif x[1] == 'Int': - exec target + " = IntVar(self)" - if eval(source): - exec target + ".set(" + source + ")" - - def gather(self): - for x in self.user.typemap: - setattr(self.user, x[0], getattr(self, x[0]).get()) - - def nosave(self): - if ConfirmQuit(self, 'user option editing'): - Widget.destroy(self.master) - - def save(self): - self.gather() - self.userlist.append(self.user) - Widget.destroy(self.master) - - def createWidgets(self): - topwin = Frame(self, relief=RAISED, bd=5) - Label(topwin, - text="User options for " + self.user.remote).pack(side=TOP,pady=10) - Button(topwin, text='Save', fg='blue', - command=self.save).pack(side=LEFT) - Button(topwin, text='Quit', fg='blue', - command=self.nosave).pack(side=LEFT) - Button(topwin, text='Help', fg='blue', - command=lambda: helpwin(userhelp)).pack(side=RIGHT) - topwin.pack(fill=X) - - secwin = Frame(self, relief=RAISED, bd=5) - Label(secwin, text="Authentication").pack(side=TOP) - LabeledEntry(mdropwin, 'Password:', - self.password, '30').pack(side=TOP, fill=X) - LabeledEntry(mdropwin, 'Remote folder:', - self.folder, '30').pack(side=TOP, fill=X) - secwin.pack(fill=X) - - names = Frame(self, relief=RAISED, bd=5) - Label(names, text="Local names").pack(side=TOP) - ListEdit("New local name: ", self.localnames, None, names) - names.pack(fill=X) - - targwin = Frame(self, relief=RAISED, bd=5) - Label(targwin, text="Forwarding Options").pack(side=TOP) - LabeledEntry(targwin, 'System to forward to:', - self.smtphost, '30').pack(side=TOP, fill=X) - LabeledEntry(targwin, 'Connection setup command:', - self.preconnect, '30').pack(side=TOP, fill=X) - LabeledEntry(targwin, 'Connection wrapup command:', - self.postconnect, '30').pack(side=TOP, fill=X) - LabeledEntry(targwin, 'Local delivery agent:', - self.mda, '30').pack(side=TOP, fill=X) - targwin.pack(fill=X) - - optwin = Frame(self, relief=RAISED, bd=5) - Checkbutton(optwin, "Suppress deletion of messages after reading", - self.keep) - Checkbutton(optwin, "Flush seen messages before retrieval", - self.flush) - Checkbutton(optwin, "Fetch old messages as well as new", - self.fetchall) - Checkbutton(optwin, "Rewrite To/Cc/Bcc messages to enable reply", - self.rewrite) - Checkbutton(optwin, "Force CR/LF at end of each line", - self.forcecr) - Checkbutton(optwin, "Strip CR from end of eacgh line", - self.stripcr) - Checkbutton(optwin, "Pass 8 bits even theough SMTP says 7BIT", - self.pass8bits) - Checkbutton(optwin, "Drop Status lines from forwarded messages", - self.dropstatus) - optwin.pack(fill=X) - - limwin = Frame(self, relief=RAISED, bd=5) - Label(limwin, text="Resource Limits").pack(side=TOP) - LabeledEntry(limwin, 'Message size limit:', - self.limit, '30').pack(side=TOP, fill=X) - LabeledEntry(limwin, 'Maximum messages to fetch each poll:', - self.fetchlimit, '30').pack(side=TOP, fill=X) - LabeledEntry(limwin, 'Maximum messages to forward each poll:', - self.batchlimit, '30').pack(side=TOP, fill=X) - limwin.pack(fill=X) - -# -# Configure drives the configuration dialogue. It may call multiple -# instances of ServerEdit to do its job. -# - -class Configure(Frame, ControlEdit): - def __init__(self, master=None): - Frame.__init__(self, master) - self.master.title('fetchmail configurator'); - self.master.iconname('fetchmail configurator'); - Pack.config(self) - self.MakeDispose() - self.controls = Controls() - self.PostControls() - self.MakeSitelist(master) - self.sites = [] - - def MakeDispose(self): - # Set the disposal of the given configuration - dispose = Frame(self, relief=RAISED, bd=5); - Label(dispose, - text='Configurator Controls', - bd=2).pack(side=TOP, pady=10) - Button(dispose, text='Save', fg='blue', - command=self.save).pack(side=LEFT) - Button(dispose, text='Quit', fg='blue', - command=self.nosave).pack(side=LEFT) - Button(dispose, text='Help', fg='blue', - command=lambda: helpwin(confighelp)).pack(side=RIGHT) - dispose.pack(side=TOP, fill=X); - - def MakeSitelist(self, master): - lf = Frame(master, relief=RAISED, bd=5) - Label(lf, - text='Remote Mail Server Configurations', - bd=2).pack(side=TOP, pady=10) - ListEdit('New Server:', None, self.editsite, lf) - lf.pack(fill=X) - - def editsite(self, site): - ServerEdit(site, self.sites, Toplevel()) - - def save(self): - self.GatherControls() - sys.stdout.write("# Configuration created %s\n" % time.ctime(time.time())) - sys.stdout.write(`self.controls`) - for site in self.sites: - sys.stdout.write(`site`) - for user in self.sites.userlist: - sys.stdout.write(`user`) - self.quit() - - def nosave(self): - if ConfirmQuit(self, "configuration editor"): - self.quit() - -if __name__ == '__main__': - ServerDefaults = Server() - UserDefaults = User() - Configure().mainloop() - -# The following sets edit modes for GNU EMACS -# Local Variables: -# mode:python -# End: diff --git a/test/manual/etags/rs-src/test.rs b/test/manual/etags/rs-src/test.rs deleted file mode 100644 index 081d0d7d4df..00000000000 --- a/test/manual/etags/rs-src/test.rs +++ /dev/null @@ -1,14 +0,0 @@ -mod test; - -enum IpAddrKind { - V4, - V6, -} - -fn test1() { - println!("Testing"); -} - -fn main() { - test::test1(); -} diff --git a/test/manual/etags/ruby-src/test.rb b/test/manual/etags/ruby-src/test.rb deleted file mode 100644 index adb2cb1d0bc..00000000000 --- a/test/manual/etags/ruby-src/test.rb +++ /dev/null @@ -1,58 +0,0 @@ -module ModuleExample - class ClassExample - def instance_method - puts "in instane_method" - end - def ClassExample.class_method - puts "in class_method" - end - def instance_method_exclamation! - puts "in instance_method_exclamation!" - end - def instance_method_question? - puts "in instance_method_question?" - end - def instance_method_equals= - puts "in instance_method_equals=" - end - def `(command) - return "just testing a backquote override" - end - def +(y) - @x + y - end - def [](y) - @ary[y] - end - def []=(y, val) - @ary[y] = val - end - def <<(y) - @x << y - end - def ==(y) - @ary.length == y.ary.length - end - def <=(y) - '@ary.length < y.ary.length' - end - def <=>(y) - nil - end - def ===(y) - self == y - end - end - def module_instance_method - puts "in module_instance_method" - end - def ModuleExample.module_class_method - puts "in module_class_method" - end -end - -ModuleExample::ClassExample.class_method - -# Local Variables: -# ruby-indent-level: 4 -# End: diff --git a/test/manual/etags/ruby-src/test1.ru b/test/manual/etags/ruby-src/test1.ru deleted file mode 100644 index eafaec6248b..00000000000 --- a/test/manual/etags/ruby-src/test1.ru +++ /dev/null @@ -1,45 +0,0 @@ -class A - def a() - super(" do ") - end - def b() - end -end - -module A - class B - ABC = 4 - Def_ = 'blah' - Xyzzy =10 - - def foo! - end - - def self._bar?(abc) - end - - class << self - def qux=(tee) - end - end - - attr_reader :foo - attr_reader :read1 , :read2; attr_writer :write1, :write2 - attr_writer :bar, - :baz, - :more - attr_accessor :tee - alias_method :qux, :tee, attr_accessor(:bogus) - alias_method :xyz, - :tee ; attr_reader :subtle - attr_reader(:foo1, :bar1, # comment - :qux1) - alias_method ( :foo2, #cmmt - :bar2) - end -end - -A::Constant = 5 - -# def foo_in_comment -# end diff --git a/test/manual/etags/scm-src/test.scm b/test/manual/etags/scm-src/test.scm deleted file mode 100644 index e3921e718fc..00000000000 --- a/test/manual/etags/scm-src/test.scm +++ /dev/null @@ -1,20 +0,0 @@ -(define hello "Hello, Emacs!") - -(set! hello "Hello, world!") - -(define (hello-world) - (display hello) - (newline)) - -;; Bug 5624 -(define (there-is-a-=-in-the-middle!) #t) - -(define =starts-with-equals! #t) - -(define (((((curry-test a) b) c) d) e) - (list a b c d e)) - -(define-syntax test-begin - (syntax-rules () - ((test-begin exp ...) - ((lambda () exp ...))))) diff --git a/test/manual/etags/tex-src/gzip.texi b/test/manual/etags/tex-src/gzip.texi deleted file mode 100644 index 72c5c7e93b6..00000000000 --- a/test/manual/etags/tex-src/gzip.texi +++ /dev/null @@ -1,479 +0,0 @@ -\input texinfo @c -*-texinfo-*- -@c %**start of header -@setfilename gzip.info -@settitle Gzip User's Manual -@finalout -@setchapternewpage odd -@c %**end of header - -@ifinfo -This file documents the the GNU @code{gzip} command for compressing files. - -Copyright (C) 1992-1993 Jean-loup Gailly - -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. - -@ignore -Permission is granted to process this file through TeX and print the -results, provided the printed document carries copying permission -notice identical to this one except for the removal of this paragraph -(this paragraph not being relevant to the printed manual). - -@end ignore -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the entire -resulting derived work is distributed under the terms of a permission -notice identical to this one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions, -except that this permission notice may be stated in a translation approved -by the Foundation. -@end ifinfo - -@titlepage -@title gzip -@subtitle The data compression program -@subtitle Edition 1.2.4, for Gzip Version 1.2.4 -@subtitle July 1993 -@author by Jean-loup Gailly - -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 1992-1993 Jean-loup Gailly - -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the entire -resulting derived work is distributed under the terms of a permission -notice identical to this one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions, -except that this permission notice may be stated in a translation approved -by the Foundation. -@end titlepage - -@node Top, , , (dir) - -@ifinfo -This file documents the @code{gzip} command to compress files. -@end ifinfo - -@menu -* Copying:: How you can copy and share @code{gzip}. -* Overview:: Preliminary information. -* Sample:: Sample output from @code{gzip}. -* Invoking gzip:: How to run @code{gzip}. -* Advanced usage:: Concatenated files. -* Environment:: The @code{GZIP} environment variable -* Tapes:: Using @code{gzip} on tapes. -* Problems:: Reporting bugs. -* Concept Index:: Index of concepts. -@end menu - -@node Copying, Overview, , Top -@include gpl.texinfo - -@node Overview, Sample, Copying, Top -@chapter Overview -@cindex overview - -@code{gzip} reduces the size of the named files using Lempel-Ziv coding -(LZ77). Whenever possible, each file is replaced by one with the -extension @samp{.gz}, while keeping the same ownership modes, access and -modification times. (The default extension is @samp{-gz} for VMS, -@samp{z} for MSDOS, OS/2 FAT and Atari.) If no files are specified or -if a file name is "-", the standard input is compressed to the standard -output. @code{gzip} will only attempt to compress regular files. In -particular, it will ignore symbolic links. - -If the new file name is too long for its file system, @code{gzip} -truncates it. @code{gzip} attempts to truncate only the parts of the -file name longer than 3 characters. (A part is delimited by dots.) If -the name consists of small parts only, the longest parts are truncated. -For example, if file names are limited to 14 characters, gzip.msdos.exe -is compressed to gzi.msd.exe.gz. Names are not truncated on systems -which do not have a limit on file name length. - -By default, @code{gzip} keeps the original file name and timestamp in -the compressed file. These are used when decompressing the file with the -@samp{-N} option. This is useful when the compressed file name was -truncated or when the time stamp was not preserved after a file -transfer. - -Compressed files can be restored to their original form using @samp{gzip -d} -or @code{gunzip} or @code{zcat}. If the original name saved in the -compressed file is not suitable for its file system, a new name is -constructed from the original one to make it legal. - -@code{gunzip} takes a list of files on its command line and replaces -each file whose name ends with @samp{.gz}, @samp{.z}, @samp{.Z}, -@samp{-gz}, @samp{-z} or @samp{_z} and which begins with the correct -magic number with an uncompressed file without the original extension. -@code{gunzip} also recognizes the special extensions @samp{.tgz} and -@samp{.taz} as shorthands for @samp{.tar.gz} and @samp{.tar.Z} -respectively. When compressing, @code{gzip} uses the @samp{.tgz} -extension if necessary instead of truncating a file with a @samp{.tar} -extension. - -@code{gunzip} can currently decompress files created by @code{gzip}, -@code{zip}, @code{compress} or @code{pack}. The detection of the input -format is automatic. When using the first two formats, @code{gunzip} -checks a 32 bit CRC (cyclic redundancy check). For @code{pack}, -@code{gunzip} checks the uncompressed length. The @code{compress} format -was not designed to allow consistency checks. However @code{gunzip} is -sometimes able to detect a bad @samp{.Z} file. If you get an error when -uncompressing a @samp{.Z} file, do not assume that the @samp{.Z} file is -correct simply because the standard @code{uncompress} does not complain. -This generally means that the standard @code{uncompress} does not check -its input, and happily generates garbage output. The SCO @samp{compress --H} format (@code{lzh} compression method) does not include a CRC but -also allows some consistency checks. - -Files created by @code{zip} can be uncompressed by @code{gzip} only if -they have a single member compressed with the 'deflation' method. This -feature is only intended to help conversion of @code{tar.zip} files to -the @code{tar.gz} format. To extract @code{zip} files with several -members, use @code{unzip} instead of @code{gunzip}. - -@code{zcat} is identical to @samp{gunzip -c}. @code{zcat} -uncompresses either a list of files on the command line or its standard -input and writes the uncompressed data on standard output. @code{zcat} -will uncompress files that have the correct magic number whether they -have a @samp{.gz} suffix or not. - -@code{gzip} uses the Lempel-Ziv algorithm used in @code{zip} and PKZIP@. -The amount of compression obtained depends on the size of the input and -the distribution of common substrings. Typically, text such as source -code or English is reduced by 60-70%. Compression is generally much -better than that achieved by LZW (as used in @code{compress}), Huffman -coding (as used in @code{pack}), or adaptive Huffman coding -(@code{compact}). - -Compression is always performed, even if the compressed file is slightly -larger than the original. The worst case expansion is a few bytes for -the @code{gzip} file header, plus 5 bytes every 32K block, or an expansion -ratio of 0.015% for large files. Note that the actual number of used -disk blocks almost never increases. @code{gzip} preserves the mode, -ownership and timestamps of files when compressing or decompressing. - -@node Sample, Invoking gzip, Overview, Top -@chapter Sample Output -@cindex sample - -Here are some realistic examples of running @code{gzip}. - -This is the output of the command @samp{gzip -h}: - -@example -gzip 1.2.4 (18 Aug 93) -usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...] - -c --stdout write on standard output, keep original files unchanged - -d --decompress decompress - -f --force force overwrite of output file and compress links - -h --help give this help - -l --list list compressed file contents - -L --license display software license - -n --no-name do not save or restore the original name and time stamp - -N --name save or restore the original name and time stamp - -q --quiet suppress all warnings - -r --recursive operate recursively on directories - -S .suf --suffix .suf use suffix .suf on compressed files - -t --test test compressed file integrity - -v --verbose verbose mode - -V --version display version number - -1 --fast compress faster - -9 --best compress better - file... files to (de)compress. If none given, use standard input. -@end example - -This is the output of the command @samp{gzip -v texinfo.tex}: - -@example -texinfo.tex: 71.6% -- replaced with texinfo.tex.gz -@end example - -The following command will find all @code{gzip} files in the current -directory and subdirectories, and extract them in place without -destroying the original: - -@example -find . -name '*.gz' -print | sed 's/^\(.*\)[.]gz$/gunzip < "&" > "\1"/' | sh -@end example - -@node Invoking gzip, Advanced usage, Sample, Top -@chapter Invoking @code{gzip} -@cindex invoking -@cindex options - -The format for running the @code{gzip} program is: - -@example -gzip @var{option} @dots{} -@end example - -@code{gzip} supports the following options: - -@table @samp -@item --stdout -@itemx --to-stdout -@itemx -c -Write output on standard output; keep original files unchanged. -If there are several input files, the output consists of a sequence of -independently compressed members. To obtain better compression, -concatenate all input files before compressing them. - -@item --decompress -@itemx --uncompress -@itemx -d -Decompress. - -@item --force -@itemx -f -Force compression or decompression even if the file has multiple links -or the corresponding file already exists, or if the compressed data -is read from or written to a terminal. If the input data is not in -a format recognized by @code{gzip}, and if the option --stdout is also -given, copy the input data without change to the standard output: let -@code{zcat} behave as @code{cat}. If @samp{-f} is not given, and -when not running in the background, @code{gzip} prompts to verify -whether an existing file should be overwritten. - -@item --help -@itemx -h -Print an informative help message describing the options then quit. - -@item --list -@itemx -l -For each compressed file, list the following fields: - -@example -compressed size: size of the compressed file -uncompressed size: size of the uncompressed file -ratio: compression ratio (0.0% if unknown) -uncompressed_name: name of the uncompressed file -@end example - -The uncompressed size is given as @samp{-1} for files not in @code{gzip} -format, such as compressed @samp{.Z} files. To get the uncompressed size for -such a file, you can use: - -@example -zcat file.Z | wc -c -@end example - -In combination with the --verbose option, the following fields are also -displayed: - -@example -method: compression method (deflate,compress,lzh,pack) -crc: the 32-bit CRC of the uncompressed data -date & time: time stamp for the uncompressed file -@end example - -The crc is given as ffffffff for a file not in gzip format. - -With --verbose, the size totals and compression ratio for all files -is also displayed, unless some sizes are unknown. With --quiet, -the title and totals lines are not displayed. - -@item --license -@itemx -L -Display the @code{gzip} license then quit. - -@item --no-name -@itemx -n -When compressing, do not save the original file name and time stamp by -default. (The original name is always saved if the name had to be -truncated.) When decompressing, do not restore the original file name -if present (remove only the @code{gzip} -suffix from the compressed file name) and do not restore the original -time stamp if present (copy it from the compressed file). This option -is the default when decompressing. - -@item --name -@itemx -N -When compressing, always save the original file name and time stamp; this -is the default. When decompressing, restore the original file name and -time stamp if present. This option is useful on systems which have -a limit on file name length or when the time stamp has been lost after -a file transfer. - -@item --quiet -@itemx -q -Suppress all warning messages. - -@item --recursive -@itemx -r -Travel the directory structure recursively. If any of the file names -specified on the command line are directories, @code{gzip} will descend -into the directory and compress all the files it finds there (or -decompress them in the case of @code{gunzip}). - -@item --suffix @var{suf} -@itemx -S @var{suf} -Use suffix @samp{@var{suf}} instead of @samp{.gz}. Any suffix can be -given, but suffixes other than @samp{.z} and @samp{.gz} should be -avoided to avoid confusion when files are transferred to other systems. -A null suffix forces gunzip to try decompression on all given files -regardless of suffix, as in: - -@example -gunzip -S "" * (*.* for MSDOS) -@end example - -Previous versions of gzip used the @samp{.z} suffix. This was changed to -avoid a conflict with @code{pack}. - -@item --test -@itemx -t -Test. Check the compressed file integrity. - -@item --verbose -@itemx -v -Verbose. Display the name and percentage reduction for each file compressed. - -@item --version -@itemx -V -Version. Display the version number and compilation options, then quit. - -@item --fast -@itemx --best -@itemx -@var{n} -Regulate the speed of compression using the specified digit @var{n}, -where @samp{-1} or @samp{--fast} indicates the fastest compression -method (less compression) and @samp{--best} or @samp{-9} indicates the -slowest compression method (optimal compression). The default -compression level is @samp{-6} (that is, biased towards high compression at -expense of speed). -@end table - -@node Advanced usage, Environment, Invoking gzip, Top -@chapter Advanced usage -@cindex concatenated files - -Multiple compressed files can be concatenated. In this case, -@code{gunzip} will extract all members at once. If one member is -damaged, other members might still be recovered after removal of the -damaged member. Better compression can be usually obtained if all -members are decompressed and then recompressed in a single step. - -This is an example of concatenating @code{gzip} files: - -@example -gzip -c file1 > foo.gz -gzip -c file2 >> foo.gz -@end example - -Then - -@example -gunzip -c foo -@end example - -is equivalent to - -@example -cat file1 file2 -@end example - -In case of damage to one member of a @samp{.gz} file, other members can -still be recovered (if the damaged member is removed). However, -you can get better compression by compressing all members at once: - -@example -cat file1 file2 | gzip > foo.gz -@end example - -compresses better than - -@example -gzip -c file1 file2 > foo.gz -@end example - -If you want to recompress concatenated files to get better compression, do: - -@example -zcat old.gz | gzip > new.gz -@end example - -If a compressed file consists of several members, the uncompressed -size and CRC reported by the @samp{--list} option applies to the last member -only. If you need the uncompressed size for all members, you can use: - -@example -zcat file.gz | wc -c -@end example - -If you wish to create a single archive file with multiple members so -that members can later be extracted independently, use an archiver such -as @code{tar} or @code{zip}. GNU @code{tar} supports the @samp{-z} -option to invoke @code{gzip} transparently. @code{gzip} is designed as a -complement to @code{tar}, not as a replacement. - -@node Environment, Tapes, Advanced usage, Top -@chapter Environment -@cindex Environment - -The environment variable @code{GZIP} can hold a set of default options for -@code{gzip}. These options are interpreted first and can be overwritten by -explicit command line parameters. For example: - -@example -for sh: GZIP="-8v --name"; export GZIP -for csh: setenv GZIP "-8v --name" -for MSDOS: set GZIP=-8v --name -@end example - -On Vax/VMS, the name of the environment variable is @code{GZIP_OPT}, to -avoid a conflict with the symbol set for invocation of the program. - -@node Tapes, Problems, Environment, Top -@chapter Using @code{gzip} on tapes -@cindex tapes - -When writing compressed data to a tape, it is generally necessary to pad -the output with zeroes up to a block boundary. When the data is read and -the whole block is passed to @code{gunzip} for decompression, -@code{gunzip} detects that there is extra trailing garbage after the -compressed data and emits a warning by default. You have to use the -@samp{--quiet} option to suppress the warning. This option can be set in the -@code{GZIP} environment variable, as in: - -@example -for sh: GZIP="-q" tar -xfz --block-compress /dev/rst0 -for csh: (setenv GZIP "-q"; tar -xfz --block-compress /dev/rst0) -@end example - -In the above example, @code{gzip} is invoked implicitly by the @samp{-z} -option of GNU @code{tar}. Make sure that the same block size (@samp{-b} -option of @code{tar}) is used for reading and writing compressed data on -tapes. (This example assumes you are using the GNU version of -@code{tar}.) - -@node Problems, Concept Index, Tapes, Top -@chapter Reporting Bugs -@cindex bugs - -If you find a bug in @code{gzip}, please send electronic mail to -@w{@samp{jloup@@chorus.fr}} or, if this fails, to -@w{@samp{bug-gnu-utils@@prep.ai.mit.edu}}. Include the version number, -which you can find by running @w{@samp{gzip -V}}. Also include in your -message the hardware and operating system, the compiler used to compile -@code{gzip}, -a description of the bug behavior, and the input to @code{gzip} that triggered -the bug.@refill - -@node Concept Index, , Problems, Top -@unnumbered Concept Index - -@printindex cp - -@contents -@bye diff --git a/test/manual/etags/tex-src/nonewline.tex b/test/manual/etags/tex-src/nonewline.tex deleted file mode 100644 index 8cc01ce9151..00000000000 --- a/test/manual/etags/tex-src/nonewline.tex +++ /dev/null @@ -1 +0,0 @@ -% This comment does not end with newline \ No newline at end of file diff --git a/test/manual/etags/tex-src/testenv.tex b/test/manual/etags/tex-src/testenv.tex deleted file mode 100644 index efb83cb834f..00000000000 --- a/test/manual/etags/tex-src/testenv.tex +++ /dev/null @@ -1,15 +0,0 @@ -\documentclass[11pt]{report} -\usepackage{verbatim,amsmath,amssymb,morehelp} - -\newcommand{\nm}[2]{\nomenclature{#1}{#2}} - - -\begin{document} -\section{blah} - -MAKE PICTURE - -To develop notation, we examine a few particular cases. - - -\end{document} diff --git a/test/manual/etags/tex-src/texinfo.tex b/test/manual/etags/tex-src/texinfo.tex deleted file mode 100644 index cc8b80aa3c3..00000000000 --- a/test/manual/etags/tex-src/texinfo.tex +++ /dev/null @@ -1,3351 +0,0 @@ -%% TeX macros to handle texinfo files - -% Copyright (C) 1985--1986, 1988, 1990--1991, 2016--2024 Free Software -% Foundation, Inc. - -%This texinfo.tex file is free software; you can redistribute it and/or -%modify it under the terms of the GNU General Public License as -%published by the Free Software Foundation; either version 2, or (at -%your option) any later version. - -%This texinfo.tex file is distributed in the hope that it will be -%useful, but WITHOUT ANY WARRANTY; without even the implied warranty -%of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%General Public License for more details. - -%You should have received a copy of the GNU General Public License -%along with this texinfo.tex file; see the file COPYING. If not, write -%to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, -%USA. - - -%In other words, you are welcome to use, share and improve this program. -%You are forbidden to forbid anyone else to use, share and improve -%what you give them. Help stamp out software-hoarding! - -\def\texinfoversion{2.73} -\message{Loading texinfo package [Version \texinfoversion]:} -\message{} - -% Print the version number if in a .fmt file. -\everyjob{\message{[Texinfo version \texinfoversion]}\message{}} - -% Save some parts of plain tex whose names we will redefine. - -\let\ptexlbrace=\{ -\let\ptexrbrace=\} -\let\ptexdots=\dots -\let\ptexdot=\. -\let\ptexstar=\* -\let\ptexend=\end -\let\ptexbullet=\bullet -\let\ptexb=\b -\let\ptexc=\c -\let\ptexi=\i -\let\ptext=\t -\let\ptexl=\l -\let\ptexL=\L - -\def\tie{\penalty 10000\ } % Save plain tex definition of ~. - -\message{Basics,} -\chardef\other=12 - -% If this character appears in an error message or help string, it -% starts a new line in the output. -\newlinechar = `^^J - -\hyphenation{ap-pen-dix} -\hyphenation{mini-buf-fer mini-buf-fers} -\hyphenation{eshell} - -% Margin to add to right of even pages, to left of odd pages. -\newdimen \bindingoffset \bindingoffset=0pt -\newdimen \normaloffset \normaloffset=\hoffset -\newdimen\pagewidth \newdimen\pageheight -\pagewidth=\hsize \pageheight=\vsize - -% Sometimes it is convenient to have everything in the transcript file -% and nothing on the terminal. We don't just call \tracingall here, -% since that produces some useless output on the terminal. -% -\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% -\def\loggingall{\tracingcommands2 \tracingstats2 - \tracingpages1 \tracingoutput1 \tracinglostchars1 - \tracingmacros2 \tracingparagraphs1 \tracingrestores1 - \showboxbreadth\maxdimen\showboxdepth\maxdimen -}% - -%---------------------Begin change----------------------- -% -%%%% For @cropmarks command. -% Dimensions to add cropmarks at corners Added by P. A. MacKay, 12 Nov. 1986 -% -\newdimen\cornerlong \newdimen\cornerthick -\newdimen \topandbottommargin -\newdimen \outerhsize \newdimen \outervsize -\cornerlong=1pc\cornerthick=.3pt % These set size of cropmarks -\outerhsize=7in -%\outervsize=9.5in -% Alternative @smallbook page size is 9.25in -\outervsize=9.25in -\topandbottommargin=.75in -% -%---------------------End change----------------------- - -% \onepageout takes a vbox as an argument. Note that \pagecontents -% does insertions itself, but you have to call it yourself. -\chardef\PAGE=255 \output={\onepageout{\pagecontents\PAGE}} -\def\onepageout#1{\hoffset=\normaloffset -\ifodd\pageno \advance\hoffset by \bindingoffset -\else \advance\hoffset by -\bindingoffset\fi -{\escapechar=`\\\relax % makes sure backslash is used in output files. -\shipout\vbox{{\let\hsize=\pagewidth \makeheadline} \pagebody{#1}% -{\let\hsize=\pagewidth \makefootline}}}% -\advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi} - -%%%% For @cropmarks command %%%% - -% Here is a modification of the main output routine for Near East Publications -% This provides right-angle cropmarks at all four corners. -% The contents of the page are centerlined into the cropmarks, -% and any desired binding offset is added as an \hskip on either -% site of the centerlined box. (P. A. MacKay, 12 November, 1986) -% -\def\croppageout#1{\hoffset=0pt % make sure this doesn't mess things up - \shipout - \vbox to \outervsize{\hsize=\outerhsize - \vbox{\line{\ewtop\hfill\ewtop}} - \nointerlineskip - \line{\vbox{\moveleft\cornerthick\nstop} - \hfill - \vbox{\moveright\cornerthick\nstop}} - \vskip \topandbottommargin - \centerline{\ifodd\pageno\hskip\bindingoffset\fi - \vbox{ - {\let\hsize=\pagewidth \makeheadline} - \pagebody{#1} - {\let\hsize=\pagewidth \makefootline}} - \ifodd\pageno\else\hskip\bindingoffset\fi} - \vskip \topandbottommargin plus1fill minus1fill - \boxmaxdepth\cornerthick - \line{\vbox{\moveleft\cornerthick\nsbot} - \hfill - \vbox{\moveright\cornerthick\nsbot}} - \nointerlineskip - \vbox{\line{\ewbot\hfill\ewbot}} - } - \advancepageno - \ifnum\outputpenalty>-20000 \else\dosupereject\fi} -% -% Do @cropmarks to get crop marks -\def\cropmarks{\let\onepageout=\croppageout } - -\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} -{\catcode`\@ =11 -\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi -\dimen@=\dp#1 \unvbox#1 -\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi -\ifr@ggedbottom \kern-\dimen@ \vfil \fi} -} - -% -% Here are the rules for the cropmarks. Note that they are -% offset so that the space between them is truly \outerhsize or \outervsize -% (P. A. MacKay, 12 November, 1986) -% -\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong} -\def\nstop{\vbox - {\hrule height\cornerthick depth\cornerlong width\cornerthick}} -\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong} -\def\nsbot{\vbox - {\hrule height\cornerlong depth\cornerthick width\cornerthick}} - -% Parse an argument, then pass it to #1. -% The argument can be delimited with [...] or with "..." or braces -% or it can be a whole line. -% #1 should be a macro which expects -% an ordinary undelimited TeX argument. - -\def\parsearg #1{\let\next=#1\begingroup\obeylines\futurelet\temp\parseargx} - -\def\parseargx{% -\ifx \obeyedspace\temp \aftergroup\parseargdiscardspace \else% -\aftergroup \parseargline % -\fi \endgroup} - -{\obeyspaces % -\gdef\parseargdiscardspace {\begingroup\obeylines\futurelet\temp\parseargx}} - -\gdef\obeyedspace{\ } - -\def\parseargline{\begingroup \obeylines \parsearglinex} -{\obeylines % -\gdef\parsearglinex #1^^M{\endgroup \next {#1}}} - -\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} - -%% These are used to keep @begin/@end levels from running away -%% Call \inENV within environments (after a \begingroup) -\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi} -\def\ENVcheck{% -\ifENV\errmessage{Still within an environment. Type Return to continue.} -\endgroup\fi} % This is not perfect, but it should reduce lossage - -% @begin foo is the same as @foo, for now. -\newhelp\EMsimple{Type 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 . - % - \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 `\=\other -\catcode `\=\other -\catcode `\^^C=\other -\catcode `\^^D=\other -\catcode `\^^E=\other -\catcode `\^^F=\other -\catcode `\^^G=\other -\catcode `\^^H=\other -\catcode `\ =\other -\catcode `\^^L=\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 26=\other -\catcode `\^^[=\other -\catcode `\^^\=\other -\catcode `\^^]=\other -\catcode `\^^^=\other -\catcode `\^^_=\other -\catcode `\@=\other -\catcode `\^=\other -\catcode `\~=\other -\catcode `\[=\other -\catcode `\]=\other -\catcode`\"=\other -\catcode`\_=\other -\catcode`\|=\other -\catcode`\<=\other -\catcode`\>=\other -\catcode `\$=\other -\catcode `\#=\other -\catcode `\&=\other -% the aux file uses ' as the escape. -% Turn off \ as an escape so we do not lose on -% entries which were dumped with control sequences in their names. -% For example, 'xrdef {$\leq $-fun}{page ...} made by @defun ^^ -% Reference to such entries still does not work the way one would wish, -% but at least they do not bomb out when the aux file is read in. -\catcode `\{=1 \catcode `\}=2 -\catcode `\%=\other -\catcode `\'=0 -\catcode `\\=\other -\openin 1 \jobname.aux -\ifeof 1 \else \closein 1 \input \jobname.aux \global\havexrefstrue -\fi -% Open the new aux file. Tex will close it automatically at exit. -\openout \auxfile=\jobname.aux -\endgroup} - - -% Footnotes. - -\newcount \footnoteno - -% The trailing space in the following definition for supereject is -% vital for proper filling; pages come out unaligned when you do a -% pagealignmacro call if that space before the closing brace is -% removed. -\def\supereject{\par\penalty -20000\footnoteno =0 } - -% @footnotestyle is meaningful for info output only.. -\let\footnotestyle=\comment - -\let\ptexfootnote=\footnote - -{\catcode `\@=11 -\long\gdef\footnote #1{\global\advance \footnoteno by \@ne -\unskip -\edef\thisfootno{$^{\the\footnoteno}$}% -\let\@sf\empty -\ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi -\thisfootno\@sf \footnotezzz{#1}} -% \parsearg\footnotezzz} - -\long\gdef\footnotezzz #1{\insert\footins{ -\interlinepenalty\interfootnotelinepenalty -\splittopskip\ht\strutbox % top baseline for broken footnotes -\splitmaxdepth\dp\strutbox \floatingpenalty\@MM -\leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip -\footstrut\parindent=\defaultparindent\hang\textindent{\thisfootno}#1\strut}} - -}%end \catcode `\@=11 - -% End of control word definitions. - -\message{and turning on texinfo input format.} - -\def\openindices{% - \newindex{cp}% - \newcodeindex{fn}% - \newcodeindex{vr}% - \newcodeindex{tp}% - \newcodeindex{ky}% - \newcodeindex{pg}% -} - -% Set some numeric style parameters, for 8.5 x 11 format. - -%\hsize = 6.5in -\newdimen\defaultparindent \defaultparindent = 15pt -\parindent = \defaultparindent -\parskip 18pt plus 1pt -\baselineskip 15pt -\advance\topskip by 1.2cm - -% Prevent underfull vbox error messages. -\vbadness=10000 - -% Following George Bush, just get rid of widows and orphans. -\widowpenalty=10000 -\clubpenalty=10000 - -% Use TeX 3.0's \emergencystretch to help line breaking, but if we're -% using an old version of TeX, don't do anything. We want the amount of -% stretch added to depend on the line length, hence the dependence on -% \hsize. This makes it come to about 9pt for the 8.5x11 format. -% -\ifx\emergencystretch\thisisundefined \else - \emergencystretch = \hsize - \divide\emergencystretch by 45 -\fi - -% Use @smallbook to reset parameters for 7x9.5 format (or else 7x9.25) -\def\smallbook{ -\global\lispnarrowing = 0.3in -\global\baselineskip 12pt -\advance\topskip by -1cm -\global\parskip 3pt plus 1pt -\global\hsize = 5in -\global\doublecolumnhsize=2.4in \global\doublecolumnvsize=15.0in -\global\vsize=7.5in -\global\tolerance=700 -\global\hfuzz=1pt -\global\contentsrightmargin=0pt - -\global\pagewidth=\hsize -\global\pageheight=\vsize - -\global\let\smalllisp=\smalllispx -\global\let\smallexample=\smalllispx -\global\def\Esmallexample{\Esmalllisp} -} - -% Use @afourpaper to print on European A4 paper. -\def\afourpaper{ -\global\tolerance=700 -\global\hfuzz=1pt -\global\baselineskip=12pt -\global\parskip 15pt plus 1pt - -\global\vsize= 53\baselineskip -\advance\vsize by \topskip -%\global\hsize= 5.85in % A4 wide 10pt -\global\hsize= 6.5in -\global\outerhsize=\hsize -\global\advance\outerhsize by 0.5in -\global\outervsize=\vsize -\global\advance\outervsize by 0.6in -\global\doublecolumnhsize=\hsize -\global\divide\doublecolumnhsize by 2 -\global\advance\doublecolumnhsize by -0.1in -\global\doublecolumnvsize=\vsize -\global\multiply\doublecolumnvsize by 2 -\global\advance\doublecolumnvsize by 0.1in - -\global\pagewidth=\hsize -\global\pageheight=\vsize -} - -%% For a final copy, take out the rectangles -%% that mark overfull boxes (in case you have decided -%% that the text looks ok even though it passes the margin). -\def\finalout{\overfullrule=0pt} - -% Define macros to output various characters with catcode for normal text. -\catcode`\"=\other -\catcode`\~=\other -\catcode`\^=\other -\catcode`\_=\other -\catcode`\|=\other -\catcode`\<=\other -\catcode`\>=\other -\catcode`\+=\other -\def\normaldoublequote{"} -\def\normaltilde{~} -\def\normalcaret{^} -\def\normalunderscore{_} -\def\normalverticalbar{|} -\def\normalless{<} -\def\normalgreater{>} -\def\normalplus{+} - -% This macro is used to make a character print one way in ttfont -% where it can probably just be output, and another way in other fonts, -% where something hairier probably needs to be done. -% -% #1 is what to print if we are indeed using \tt; #2 is what to print -% otherwise. Since all the Computer Modern typewriter fonts have zero -% interword stretch (and shrink), and it is reasonable to expect all -% typewriter fonts to have this, we can check that font parameter. -% -\def\ifusingtt#1#2{\ifdim \fontdimen3\the\font=0pt #1\else #2\fi} - -% Turn off all special characters except @ -% (and those which the user can use as if they were ordinary). -% Most of these we simply print from the \tt font, but for some, we can -% use math or other variants that look better in normal text. - -\catcode`\"=\active -\def\activedoublequote{{\tt \char '042}} -\let"=\activedoublequote -\catcode`\~=\active -\def~{{\tt \char '176}} -\chardef\hat=`\^ -\catcode`\^=\active -\def^{{\tt \hat}} - -\catcode`\_=\active -\def_{\ifusingtt\normalunderscore\_} -% Subroutine for the previous macro. -\def\_{\lvvmode \kern.06em \vbox{\hrule width.3em height.1ex}} - -% \lvvmode is equivalent in function to \leavevmode. -% Using \leavevmode runs into trouble when written out to -% an index file due to the expansion of \leavevmode into ``\unhbox -% \voidb@x'' ---which looks to TeX like ``\unhbox \voidb\x'' due to our -% magic tricks with @. -\def\lvvmode{\vbox to 0pt{}} - -\catcode`\|=\active -\def|{{\tt \char '174}} -\chardef \less=`\< -\catcode`\<=\active -\def<{{\tt \less}} -\chardef \gtr=`\> -\catcode`\>=\active -\def>{{\tt \gtr}} -\catcode`\+=\active -\def+{{\tt \char 43}} -%\catcode 27=\active -%\def^^[{$\diamondsuit$} - -% Used sometimes to turn off (effectively) the active characters -% even after parsing them. -\def\turnoffactive{\let"=\normaldoublequote -\let~=\normaltilde -\let^=\normalcaret -\let_=\normalunderscore -\let|=\normalverticalbar -\let<=\normalless -\let>=\normalgreater -\let+=\normalplus} - -% Set up an active definition for =, but don't enable it most of the time. -{\catcode`\==\active -\global\def={{\tt \char 61}}} - -\catcode`\@=0 - -% \rawbackslashxx output one backslash character in current font -\global\chardef\rawbackslashxx=`\\ -%{\catcode`\\=\other -%@gdef@rawbackslashxx{\}} - -% \rawbackslash redefines \ as input to do \rawbackslashxx. -{\catcode`\\=\active -@gdef@rawbackslash{@let\=@rawbackslashxx }} - -% \normalbackslash outputs one backslash in fixed width font. -\def\normalbackslash{{\tt\rawbackslashxx}} - -% Say @foo, not \foo, in error messages. -\escapechar=`\@ - -% \catcode 17=0 % Define control-q -\catcode`\\=\active - -% If a .fmt file is being used, we don't want the `\input texinfo' to show up. -% That is what \eatinput is for; after that, the `\' should revert to printing -% a backslash. -% -@gdef@eatinput input texinfo{@fixbackslash} -@global@let\ = @eatinput - -% On the other hand, perhaps the file did not have a `\input texinfo'. Then -% the first `\{ in the file would cause an error. This macro tries to fix -% that, assuming it is called before the first `\' could plausibly occur. -% -@gdef@fixbackslash{@ifx\@eatinput @let\ = @normalbackslash @fi} - -%% These look ok in all fonts, so just make them not special. The @rm below -%% makes sure that the current font starts out as the newly loaded cmr10 -@catcode`@$=@other @catcode`@%=@other @catcode`@&=@other @catcode`@#=@other - -@textfonts -@rm - -@c Local variables: -@c page-delimiter: "^\\\\message" -@c End: diff --git a/test/manual/etags/y-src/atest.y b/test/manual/etags/y-src/atest.y deleted file mode 100644 index 81087b8d86e..00000000000 --- a/test/manual/etags/y-src/atest.y +++ /dev/null @@ -1,5 +0,0 @@ -%% -exp : exp '*' exp - { $$.value = $1.value ? $3.value : $5.value; - $$.unsignedp = $3.unsignedp || $5.unsignedp; } - ; diff --git a/test/manual/etags/y-src/cccp.c b/test/manual/etags/y-src/cccp.c deleted file mode 100644 index bc30e23772c..00000000000 --- a/test/manual/etags/y-src/cccp.c +++ /dev/null @@ -1,2203 +0,0 @@ -/* A Bison parser, made from cccp.y - by GNU bison 1.32. */ - -#define YYBISON 1 /* Identify Bison output. */ - -# define INT 257 -# define CHAR 258 -# define NAME 259 -# define ERROR 260 -# define OR 261 -# define AND 262 -# define EQUAL 263 -# define NOTEQUAL 264 -# define LEQ 265 -# define GEQ 266 -# define LSH 267 -# define RSH 268 -# define UNARY 269 - -#line 26 "y-src/cccp.y" - -#include "config.h" -#include -/* #define YYDEBUG 1 */ - -#ifdef MULTIBYTE_CHARS -#include -#include -#endif - -#include - -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 /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T std::size_t -# else -# ifdef __STDC__ -# include /* 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 /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T std::size_t -# else -# ifdef __STDC__ -# include /* 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 /* INFRINGES ON USER NAME SPACE */ -# else -# include /* 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 - -#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 - -#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" - - - 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" - - -/* 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; -} - -/* 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 () */ -} - -#ifdef TEST_EXP_READER -extern int yydebug; - -/* Main program for testing purposes. */ -int -main () -{ - int n, c; - char buf[1024]; - -/* - yydebug = 1; -*/ - initialize_random_junk (); - - for (;;) { - printf ("enter expression: "); - n = 0; - while ((buf[n] = getchar ()) != '\n' && buf[n] != EOF) - n++; - if (buf[n] == EOF) - break; - buf[n] = '\0'; - printf ("parser returned %d\n", parse_c_expression (buf)); - } - - return 0; -} - -/* table to tell if char can be part of a C identifier. */ -unsigned char is_idchar[256]; -/* table to tell if char can be first char of a c identifier. */ -unsigned char is_idstart[256]; -/* table to tell if c is horizontal space. isspace () thinks that - newline is space; this is not a good idea for this program. */ -char is_hor_space[256]; - -/* - * initialize random junk in the hash table and maybe other places - */ -initialize_random_junk () -{ - register int i; - - /* - * Set up is_idchar and is_idstart tables. These should be - * faster than saying (is_alpha (c) || c == '_'), etc. - * Must do set up these things before calling any routines tthat - * refer to them. - */ - for (i = 'a'; i <= 'z'; i++) { - ++is_idchar[i - 'a' + 'A']; - ++is_idchar[i]; - ++is_idstart[i - 'a' + 'A']; - ++is_idstart[i]; - } - for (i = '0'; i <= '9'; i++) - ++is_idchar[i]; - ++is_idchar['_']; - ++is_idstart['_']; -#if DOLLARS_IN_IDENTIFIERS - ++is_idchar['$']; - ++is_idstart['$']; -#endif - - /* horizontal space table */ - ++is_hor_space[' ']; - ++is_hor_space['\t']; -} - -error (msg) -{ - printf ("error: %s\n", msg); -} - -warning (msg) -{ - printf ("warning: %s\n", msg); -} - -struct hashnode * -lookup (name, len, hash) - char *name; - int len; - int hash; -{ - return (DEFAULT_SIGNED_CHAR) ? 0 : ((struct hashnode *) -1); -} -#endif diff --git a/test/manual/etags/y-src/cccp.y b/test/manual/etags/y-src/cccp.y deleted file mode 100644 index 1cd2111464c..00000000000 --- a/test/manual/etags/y-src/cccp.y +++ /dev/null @@ -1,1006 +0,0 @@ -/* Parse C expressions for CCCP. - Copyright (C) 1987, 1992 Free Software Foundation. - -This program is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2, or (at your option) any -later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - - In other words, you are welcome to use, share and improve this program. - You are forbidden to forbid anyone else to use, share and improve - what you give them. Help stamp out software-hoarding! - - Adapted from expread.y of GDB by Paul Rubin, July 1986. */ - -/* Parse a C expression from text in a string */ - -%{ -#include "config.h" -#include -/* #define YYDEBUG 1 */ - -#ifdef MULTIBYTE_CHARS -#include -#include -#endif - -#include - -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 exp exp1 start -%type keywords -%token INT CHAR -%token NAME -%token 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 */ - -%% - -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; } - ; -%% - -/* 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; -} - -/* 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 () */ -} - -#ifdef TEST_EXP_READER -extern int yydebug; - -/* Main program for testing purposes. */ -int -main () -{ - int n, c; - char buf[1024]; - -/* - yydebug = 1; -*/ - initialize_random_junk (); - - for (;;) { - printf ("enter expression: "); - n = 0; - while ((buf[n] = getchar ()) != '\n' && buf[n] != EOF) - n++; - if (buf[n] == EOF) - break; - buf[n] = '\0'; - printf ("parser returned %d\n", parse_c_expression (buf)); - } - - return 0; -} - -/* table to tell if char can be part of a C identifier. */ -unsigned char is_idchar[256]; -/* table to tell if char can be first char of a c identifier. */ -unsigned char is_idstart[256]; -/* table to tell if c is horizontal space. isspace () thinks that - newline is space; this is not a good idea for this program. */ -char is_hor_space[256]; - -/* - * initialize random junk in the hash table and maybe other places - */ -initialize_random_junk () -{ - register int i; - - /* - * Set up is_idchar and is_idstart tables. These should be - * faster than saying (is_alpha (c) || c == '_'), etc. - * Must do set up these things before calling any routines tthat - * refer to them. - */ - for (i = 'a'; i <= 'z'; i++) { - ++is_idchar[i - 'a' + 'A']; - ++is_idchar[i]; - ++is_idstart[i - 'a' + 'A']; - ++is_idstart[i]; - } - for (i = '0'; i <= '9'; i++) - ++is_idchar[i]; - ++is_idchar['_']; - ++is_idstart['_']; -#if DOLLARS_IN_IDENTIFIERS - ++is_idchar['$']; - ++is_idstart['$']; -#endif - - /* horizontal space table */ - ++is_hor_space[' ']; - ++is_hor_space['\t']; -} - -error (msg) -{ - printf ("error: %s\n", msg); -} - -warning (msg) -{ - printf ("warning: %s\n", msg); -} - -struct hashnode * -lookup (name, len, hash) - char *name; - int len; - int hash; -{ - return (DEFAULT_SIGNED_CHAR) ? 0 : ((struct hashnode *) -1); -} -#endif diff --git a/test/manual/etags/y-src/parse.c b/test/manual/etags/y-src/parse.c deleted file mode 100644 index c4aac438fc5..00000000000 --- a/test/manual/etags/y-src/parse.c +++ /dev/null @@ -1,2237 +0,0 @@ -/* A Bison parser, made from parse.y - by GNU bison 1.32. */ - -#define YYBISON 1 /* Identify Bison output. */ - -# define NE 257 -# define LE 258 -# define GE 259 -# define NEG 260 -# define L_CELL 261 -# define L_RANGE 262 -# define L_VAR 263 -# define L_CONST 264 -# define L_FN0 265 -# define L_FN1 266 -# define L_FN2 267 -# define L_FN3 268 -# define L_FN4 269 -# define L_FNN 270 -# define L_FN1R 271 -# define L_FN2R 272 -# define L_FN3R 273 -# define L_FN4R 274 -# define L_FNNR 275 -# define L_LE 276 -# define L_NE 277 -# define L_GE 278 - -#line 1 "y-src/parse.y" - -/* Copyright (C) 1990, 1992-1993, 2016-2024 Free Software Foundation, - * Inc. - -This file is part of Oleo, the GNU Spreadsheet. - -Oleo is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -Oleo is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Oleo; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ -#line 41 "y-src/parse.y" - -#include "funcdef.h" - -#include - -#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 /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T std::size_t -# else -# ifdef __STDC__ -# include /* 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 /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T std::size_t -# else -# ifdef __STDC__ -# include /* 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 /* INFRINGES ON USER NAME SPACE */ -# else -# include /* 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 - -#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 - -#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" - - - 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=&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(tmpcMAX_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(tmprMAX_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(tmpc1MAX_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(tmpr1MAX_ROW) - return 0; - - if(tmprlr=tmpr; - retp->hr=tmpr1; - } else { - retp->lr=tmpr1; - retp->hr=tmpr; - } - if(tmpclc=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)MAX_ROW) \ - return 0; \ - else - -#define CK_REL_R(x) if( ((x)>0 && MAX_ROW-(x)cur_row)) \ - return 0; \ - else - -#define CK_ABS_C(x) if((x)MAX_COL) \ - return 0; \ - else - -#define CK_REL_C(x) if( ((x)>0 && MAX_COL-(x)cur_col)) \ - return 0; \ - else - -#define MAYBEREL(p) (*(p)=='[' && (isdigit((p)[1]) || (((p)[1]=='+' || (p)[1]=='-') && isdigit((p)[2])))) - - p= *ptr; - retr=0; - retc=0; - ended=0; - while(ended==0) { - switch(*p) { - case 'r': - case 'R': - if(retr) { - ended++; - break; - } - p++; - retr=R_CELL; - if(isdigit(*p)) { - num=astol(&p); - CK_ABS_R(num); - retp->lr= retp->hr=num; - } else if(MAYBEREL(p)) { - p++; - num=astol(&p); - CK_REL_R(num); - retp->lr= retp->hr=num+cur_row; - retr|=ROWREL; - if(*p==':') { - retr=RANGE|LRREL|HRREL; - p++; - num=astol(&p); - CK_REL_R(num); - retp->hr=num+cur_row; - } - if(*p++!=']') - return 0; - } else if(retc || *p=='c' || *p=='C') { - retr|=ROWREL; - retp->lr= retp->hr=cur_row; - } else - return 0; - if(*p==':' && retr!=(RANGE|LRREL|HRREL)) { - retr= (retr&ROWREL) ? RANGE|LRREL : RANGE; - p++; - if(isdigit(*p)) { - num=astol(&p); - CK_ABS_R(num); - retp->hr=num; - } else if(MAYBEREL(p)) { - p++; - num=astol(&p); - CK_REL_R(num); - retp->hr=num+cur_row; - retr|=HRREL; - if(*p++!=']') - return 0; - } else - return 0; - } - - if(retc) - ended++; - break; - - case 'c': - case 'C': - if(retc) { - ended++; - break; - } - p++; - retc=R_CELL; - if(isdigit(*p)) { - num=astol(&p); - CK_ABS_C(num); - retp->lc= retp->hc=num; - } else if(MAYBEREL(p)) { - p++; - num=astol(&p); - CK_REL_C(num); - retp->lc= retp->hc=num+cur_col; - retc|=COLREL; - if(*p==':') { - retc=RANGE|LCREL|HCREL; - p++; - num=astol(&p); - CK_REL_C(num); - retp->hc=num+cur_col; - } - if(*p++!=']') - return 0; - } else if(retr || *p=='r' || *p=='R') { - retc|=COLREL; - retp->lc= retp->hc=cur_col; - } else - return 0; - if(*p==':' && retc!=(RANGE|LCREL|HCREL)) { - retc= (retc&COLREL) ? RANGE|LCREL : RANGE; - p++; - if(isdigit(*p)) { - num=astol(&p); - CK_ABS_C(num); - retp->hc=num; - } else if(MAYBEREL(p)) { - p++; - num=astol(&p); - CK_REL_C(num); - retp->hc=num+cur_col; - retc|=HCREL; - if(*p++!=']') - return 0; - } else - return 0; - } - - if(retr) - ended++; - break; - default: - if(retr) { - *ptr=p; - retp->lc=MIN_COL; - retp->hc=MAX_COL; - if((retr|ROWREL)==(R_CELL|ROWREL)) - return (retr&ROWREL) ? (RANGE|LRREL|HRREL) : RANGE; - else - return retr; - } else if(retc) { - *ptr=p; - retp->lr=MIN_ROW; - retp->hr=MAX_COL; - if((retc|COLREL)==(R_CELL|COLREL)) - return (retc&COLREL) ? (RANGE|LCREL|HCREL) : RANGE; - else - return retc; - } - return 0; - } - } - if(!retr || !retc) - return 0; - *ptr=p; - if(retp->lr>retp->hr) - tmp=retp->lr,retp->lr=retp->hr,retp->hr=tmp; - if(retp->lc>retp->hc) - tmp=retp->lc,retp->lc=retp->hc,retp->hc=tmp; - - if((retr|ROWREL)==(R_CELL|ROWREL)) { - if((retc|COLREL)==(R_CELL|COLREL)) - return retr|retc; - return (retr&ROWREL) ? (retc|LRREL|HRREL) : retc; - } - if((retc|COLREL)==(R_CELL|COLREL)) - return (retc&COLREL) ? (retr|LCREL|HCREL) : retr; - return retr|retc; - } -} - -int -str_to_col FUN1(char **,str) -{ - int ret; - char c,cc,ccc; -#if MAX_COL>702 - char cccc; -#endif - - ret=0; - c=str[0][0]; - if(!isalpha((cc=str[0][1]))) { - (*str)++; - return MIN_COL + (isupper(c) ? c-'A' : c-'a'); - } - if(!isalpha((ccc=str[0][2]))) { - (*str)+=2; - return MIN_COL+26 + (isupper(c) ? c-'A' : c-'a')*26 + (isupper(cc) ? cc-'A' : cc-'a'); - } -#if MAX_COL>702 - if(!isalpha((cccc=str[0][3]))) { - (*str)+=3; - return MIN_COL+702 + (isupper(c) ? c-'A' : c-'a')*26*26 + (isupper(cc) ? cc-'A' : cc-'a')*26 + (isupper(ccc) ? ccc-'A' : ccc-'a'); - } - if(!isalpha(str[0][4])) { - (*str)+=4; - return MIN_COL+18278 + (isupper(c) ? c-'A' : c-'a')*26*26*26 + (isupper(cc) ? cc-'A' : cc-'a')*26*26 + (isupper(ccc) ? ccc-'A' : ccc-'a')*26 + (isupper(cccc) ? cccc-'A' : cccc-'a'); - } -#endif - return 0; -} diff --git a/test/manual/etags/y-src/parse.y b/test/manual/etags/y-src/parse.y deleted file mode 100644 index 9812787f914..00000000000 --- a/test/manual/etags/y-src/parse.y +++ /dev/null @@ -1,876 +0,0 @@ -%{ -/* Copyright (C) 1990, 1992-1993, 2016-2024 Free Software Foundation, - * Inc. - -This file is part of Oleo, the GNU Spreadsheet. - -Oleo is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -Oleo is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Oleo; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ -%} - - -%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 - -#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=&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(tmpcMAX_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(tmprMAX_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(tmpc1MAX_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(tmpr1MAX_ROW) - return 0; - - if(tmprlr=tmpr; - retp->hr=tmpr1; - } else { - retp->lr=tmpr1; - retp->hr=tmpr; - } - if(tmpclc=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)MAX_ROW) \ - return 0; \ - else - -#define CK_REL_R(x) if( ((x)>0 && MAX_ROW-(x)cur_row)) \ - return 0; \ - else - -#define CK_ABS_C(x) if((x)MAX_COL) \ - return 0; \ - else - -#define CK_REL_C(x) if( ((x)>0 && MAX_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; -}