aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2015-01-02 18:45:03 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2015-01-02 18:45:03 +0000
commit2d2813618c3818d7d41a7ced1fca4a1a01d3591d (patch)
tree0a376369b34e9959bf6c234331c325fc6b9cde60 /gnu
parentde90b09a791bc134afe2fbf8236e4482343122a7 (diff)
downloadsrc-2d2813618c3818d7d41a7ced1fca4a1a01d3591d.tar.gz
src-2d2813618c3818d7d41a7ced1fca4a1a01d3591d.zip
Remove GNU texinfo from base along with all info pages.
To be able to info pages consider installing texinfo from ports print/texinfo or via pkg: pkg install texinfo Differential Revision: https://reviews.freebsd.org/D1409 Reviewed by: emaste, imp (previous version) Relnotes: yes
Notes
Notes: svn path=/head/; revision=276551
Diffstat (limited to 'gnu')
-rw-r--r--gnu/usr.bin/Makefile7
-rw-r--r--gnu/usr.bin/binutils/Makefile5
-rw-r--r--gnu/usr.bin/binutils/doc/Makefile31
-rw-r--r--gnu/usr.bin/binutils/doc/asconfig.texi90
-rw-r--r--gnu/usr.bin/cc/Makefile2
-rw-r--r--gnu/usr.bin/cc/doc/Makefile52
-rw-r--r--gnu/usr.bin/gdb/Makefile2
-rw-r--r--gnu/usr.bin/gdb/doc/Makefile32
-rw-r--r--gnu/usr.bin/gdb/doc/inc-hist.diff31
-rw-r--r--gnu/usr.bin/grep/Makefile2
-rw-r--r--gnu/usr.bin/grep/doc/Makefile6
-rw-r--r--gnu/usr.bin/grep/doc/grep.texi2090
-rw-r--r--gnu/usr.bin/grep/doc/version.texi4
-rw-r--r--gnu/usr.bin/groff/Makefile2
-rw-r--r--gnu/usr.bin/groff/doc/Makefile6
-rw-r--r--gnu/usr.bin/texinfo/Makefile7
-rw-r--r--gnu/usr.bin/texinfo/Makefile.inc9
-rw-r--r--gnu/usr.bin/texinfo/doc/Makefile11
-rw-r--r--gnu/usr.bin/texinfo/info/Makefile18
-rw-r--r--gnu/usr.bin/texinfo/infokey/Makefile11
-rw-r--r--gnu/usr.bin/texinfo/install-info/Makefile10
-rw-r--r--gnu/usr.bin/texinfo/libtxi/Makefile10
-rw-r--r--gnu/usr.bin/texinfo/makeinfo/Makefile13
-rw-r--r--gnu/usr.bin/texinfo/texindex/Makefile10
24 files changed, 6 insertions, 2455 deletions
diff --git a/gnu/usr.bin/Makefile b/gnu/usr.bin/Makefile
index a32019149ae0..470b61220fa9 100644
--- a/gnu/usr.bin/Makefile
+++ b/gnu/usr.bin/Makefile
@@ -14,8 +14,7 @@ SUBDIR= ${_binutils} \
${_groff} \
${_rcs} \
sdiff \
- ${_tests} \
- ${_texinfo}
+ ${_tests}
.if ${MK_CXX} != "no"
.if ${MK_GCC} != "no"
@@ -30,10 +29,6 @@ _groff= groff
_dtc= dtc
.endif
-.if ${MK_INFO} != "no"
-_texinfo= texinfo
-.endif
-
.if ${MK_RCS} != "no"
_rcs= rcs
.endif
diff --git a/gnu/usr.bin/binutils/Makefile b/gnu/usr.bin/binutils/Makefile
index 9dac24403520..3cf4810b01ed 100644
--- a/gnu/usr.bin/binutils/Makefile
+++ b/gnu/usr.bin/binutils/Makefile
@@ -15,9 +15,8 @@ SUBDIR= libiberty \
readelf \
${_size} \
${_strings} \
- ${_strip} \
- doc
-
+ ${_strip}
+
.if ${MK_ELFTOOLCHAIN_TOOLS} == "no"
_addr2line= addr2line
_nm= nm
diff --git a/gnu/usr.bin/binutils/doc/Makefile b/gnu/usr.bin/binutils/doc/Makefile
deleted file mode 100644
index 38c1b8b33ab7..000000000000
--- a/gnu/usr.bin/binutils/doc/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# $FreeBSD$
-
-.include "../Makefile.inc0"
-
-.PATH: ${SRCDIR}/gas/doc ${SRCDIR}/ld ${SRCDIR}/bfd/doc
-
-INFO= as ld binutils
-INFOSECTION= "Programming & development tools."
-INFOENTRY_as= "* As: (as). The GNU assembler."
-INFOENTRY_ld= "* Ld: (ld). The GNU linker."
-INFOENTRY_binutils= "* Binutils: (binutils). The GNU Binary Utilities."
-
-MAKEINFOFLAGS+= --no-validate
-MAKEINFOFLAGS+= -I ${SRCDIR}/libiberty
-MAKEINFOFLAGS+= -I ${SRCDIR}/bfd/doc
-
-CLEANFILES= bfdver.texi configdoc.texi config.texi gasver.texi ldver.texi
-
-as.info: as.texinfo asconfig.texi bfdver.texi c-i386.texi gasver.texi
-ld.info: ld.texinfo bfdsumm.texi ldver.texi configdoc.texi
-
-configdoc.texi: gen-doc.texi
- ln -sf ${.ALLSRC} ${.TARGET}
-
-.PATH: ${SRCDIR}/binutils/doc
-binutils.info: binutils.texi config.texi
-
-bfdver.texi config.texi gasver.texi ldver.texi:
- echo "@set VERSION ${VERSION}" > ${.TARGET}
-
-.include <bsd.info.mk>
diff --git a/gnu/usr.bin/binutils/doc/asconfig.texi b/gnu/usr.bin/binutils/doc/asconfig.texi
deleted file mode 100644
index f3fcf349faf3..000000000000
--- a/gnu/usr.bin/binutils/doc/asconfig.texi
+++ /dev/null
@@ -1,90 +0,0 @@
-@c $FreeBSD$
-@c Copyright 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001, 2002,
-@c 2003, 2005
-@c Free Software Foundation, Inc.
-@c This file is part of the documentation for the GAS manual
-
-@c Configuration settings for all-inclusive version of manual
-
-@c switches:------------------------------------------------------------
-@c Properties of the manual
-@c ========================
-@c Discuss all architectures?
-@clear ALL-ARCH
-@c A generic form of manual (not tailored to specific target)?
-@clear GENERIC
-@c Include text on assembler internals?
-@set INTERNALS
-@c Many object formats supported in this config?
-@clear MULTI-OBJ
-
-@c Object formats of interest
-@c ==========================
-@clear AOUT
-@clear COFF
-@set ELF
-@clear SOM
-
-@c CPUs of interest
-@c ================
-@clear ALPHA
-@clear ARC
-@set ARM
-@clear BFIN
-@clear CRIS
-@clear D10V
-@clear D30V
-@clear H8/300
-@clear HPPA
-@clear I370
-@set I80386
-@clear I860
-@clear I960
-@set IA64
-@clear IP2K
-@clear M32C
-@clear M32R
-@clear xc16x
-@clear M68HC11
-@clear M680X0
-@clear MCORE
-@set MIPS
-@clear MMIX
-@clear MS1
-@clear MSP430
-@clear PDP11
-@clear PJ
-@set PPC
-@clear SH
-@set SPARC
-@clear TIC54X
-@clear V850
-@clear VAX
-@clear XTENSA
-@clear Z80
-@clear Z8000
-
-@c Does this version of the assembler use the difference-table kludge?
-@clear DIFF-TBL-KLUGE
-
-@c Do all machines described use IEEE floating point?
-@clear IEEEFLOAT
-
-@c Is a word 32 bits, or 16?
-@set W32
-@clear W16
-
-@c Do symbols have different characters than usual?
-@clear SPECIAL-SYMS
-
-@c strings:------------------------------------------------------------
-@c Name of the assembler:
-@set AS as
-@c Name of C compiler:
-@set GCC gcc
-@c Name of linker:
-@set LD ld
-@c Text for target machine (best not used in generic case; but just in case...)
-@set TARGET machine specific
-@c Name of object format NOT SET in generic version
-@set OBJ-NAME ELF
diff --git a/gnu/usr.bin/cc/Makefile b/gnu/usr.bin/cc/Makefile
index 8191ea412a4b..abc987674844 100644
--- a/gnu/usr.bin/cc/Makefile
+++ b/gnu/usr.bin/cc/Makefile
@@ -5,7 +5,7 @@
# The order of some of these are rather important. Some depend on previous
# subdirs.
-SUBDIR= cc_tools libiberty libcpp libdecnumber cc_int cc cc1 include doc
+SUBDIR= cc_tools libiberty libcpp libdecnumber cc_int cc cc1 include
.if ${MK_CPP} != "no"
SUBDIR+= cpp
diff --git a/gnu/usr.bin/cc/doc/Makefile b/gnu/usr.bin/cc/doc/Makefile
deleted file mode 100644
index a56231b0fdb7..000000000000
--- a/gnu/usr.bin/cc/doc/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-# $FreeBSD$
-
-.include <bsd.own.mk>
-
-.include "../Makefile.inc"
-.include "../Makefile.ver"
-
-.PATH: ${GCCDIR}/doc ${GCCDIR}/doc/include
-
-INFO= gcc cpp gccint cppinternals
-
-INFOSECTION= "Gcc Documentation"
-INFOENTRY_gcc= "* gcc: (gcc). The GNU C compiler."
-INFOENTRY_cpp= "* cpp: (cpp). The GNU C pre-processor."
-INFOENTRY_gccint= "* gccint: (gccint). The GNU compiler family internal documentation."
-INFOENTRY_cppinternals= "* cppinternals: (cppinternals). The GNU compiler preprocessor internal documentation."
-
-gcc.info: gcc.texi gcc-common.texi gcc-vers.texi frontends.texi \
- standards.texi invoke.texi extend.texi md.texi \
- gcov.texi trouble.texi bugreport.texi service.texi \
- contribute.texi compat.texi funding.texi gnu.texi gpl.texi \
- fdl.texi contrib.texi cppenv.texi cppopts.texi \
- implement-c.texi
-
-gccint.info: gccint.texi gcc-common.texi gcc-vers.texi \
- contribute.texi makefile.texi configterms.texi options.texi \
- portability.texi interface.texi passes.texi c-tree.texi \
- rtl.texi md.texi tm.texi hostconfig.texi fragments.texi \
- configfiles.texi collect2.texi headerdirs.texi funding.texi \
- gnu.texi gpl.texi fdl.texi contrib.texi languages.texi \
- sourcebuild.texi gty.texi libgcc.texi cfg.texi tree-ssa.texi \
- loop.texi
-
-cpp.info: cpp.texi fdl.texi cppenv.texi cppopts.texi gcc-common.texi \
- gcc-vers.texi
-
-cppinternals.info: cppinternals.texi gcc-common.texi gcc-vers.texi
-
-MAKEINFOFLAGS+= -I ${GCCDIR}/doc -I ${GCCDIR}/doc/include
-
-gcc-vers.texi:
- (echo "@set version-GCC $(BASEVER)"; \
- if [ "$(DEVPHASE)" = "experimental" ]; then \
- echo "@set DEVELOPMENT"; \
- else \
- echo "@clear DEVELOPMENT"; \
- fi; \
- echo "@set srcdir $(GCCLIB)/libiberty" ) > ${.TARGET}
-
-CLEANFILES+= gcc-vers.texi
-
-.include <bsd.info.mk>
diff --git a/gnu/usr.bin/gdb/Makefile b/gnu/usr.bin/gdb/Makefile
index 33f81cb187b3..35ee5fb22a8d 100644
--- a/gnu/usr.bin/gdb/Makefile
+++ b/gnu/usr.bin/gdb/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SUBDIR= doc libgdb gdb gdbtui kgdb
+SUBDIR= libgdb gdb gdbtui kgdb
.if exists(${.CURDIR}/gdbserver/reg-${MACHINE_CPUARCH}.c)
SUBDIR+=gdbserver
diff --git a/gnu/usr.bin/gdb/doc/Makefile b/gnu/usr.bin/gdb/doc/Makefile
deleted file mode 100644
index 626f02de334c..000000000000
--- a/gnu/usr.bin/gdb/doc/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# $FreeBSD$
-
-INFO= gdb gdbint stabs
-INFOSECTION= "Software development"
-
-MAKEINFOFLAGS+= --no-validate
-MAKEINFOFLAGS+= -I ${CNTRB_GDB}/gdb/doc
-MAKEINFOFLAGS+= -I ${CNTRB_GDB}/gdb/mi
-MAKEINFOFLAGS+= -I ${CNTRB_RL}/doc
-
-gdb.info: gdb.texinfo gdb-cfg.texi GDBvn.texi annotate.texinfo fdl.texi \
- gpl.texi inc-hist.texinfo rluser.texinfo
-
-gdbint.info: gdbint.texinfo gdb-cfg.texi fdl.texi observer.texi
-
-gdb-cfg.texi: all-cfg.texi
- ln -sf ${.ALLSRC} ${.TARGET}
-
-GDBvn.texi: version.in
- echo "@set GDBVN `sed q ${.ALLSRC}`" > ${.TARGET}
-
-inc-hist.texinfo: hsuser.texi inc-hist.diff
- cp -f ${.ALLSRC:M*.texi} ${.TARGET}
- patch < ${.ALLSRC:M*.diff}
-
-rluser.texinfo: rluser.texi
- cp -f ${.ALLSRC:M*.texi} ${.TARGET}
-
-CLEANFILES= gdb-cfg.texi GDBvn.texi inc-hist.texinfo inc-hist.texinfo.orig \
- rluser.texinfo
-
-.include <bsd.info.mk>
diff --git a/gnu/usr.bin/gdb/doc/inc-hist.diff b/gnu/usr.bin/gdb/doc/inc-hist.diff
deleted file mode 100644
index 923f97322641..000000000000
--- a/gnu/usr.bin/gdb/doc/inc-hist.diff
+++ /dev/null
@@ -1,31 +0,0 @@
-$FreeBSD$
-
---- inc-hist.texinfo.orig Wed Apr 11 08:20:01 2001
-+++ inc-hist.texinfo Wed Apr 11 08:21:57 2001
-@@ -26,9 +26,9 @@
- @node Using History Interactively
- @chapter Using History Interactively
-
--@ifclear BashFeatures
--@defcodeindex bt
--@end ifclear
-+@c @ifclear BashFeatures
-+@c @defcodeindex bt
-+@c @end ifclear
-
- @ifset BashFeatures
- This chapter describes how to use the @sc{gnu} History Library
-@@ -39,9 +39,10 @@
- @end ifset
- @ifclear BashFeatures
- This chapter describes how to use the @sc{gnu} History Library interactively,
--from a user's standpoint. It should be considered a user's guide. For
--information on using the @sc{gnu} History Library in your own programs,
--@pxref{Programming with GNU History}.
-+from a user's standpoint.
-+@c It should be considered a user's guide. For
-+@c information on using the @sc{gnu} History Library in your own programs,
-+@c @pxref{Programming with GNU History}.
- @end ifclear
-
- @ifset BashFeatures
diff --git a/gnu/usr.bin/grep/Makefile b/gnu/usr.bin/grep/Makefile
index 3669d1fc8bfc..ebdb32776fc2 100644
--- a/gnu/usr.bin/grep/Makefile
+++ b/gnu/usr.bin/grep/Makefile
@@ -45,8 +45,6 @@ MLINKS+=grep.1 zgrep.1 grep.1 zegrep.1 grep.1 zfgrep.1
gnugrep.1: grep.1
cp ${.ALLSRC} ${.TARGET}
-SUBDIR+=doc
-
check: all
@failed=0; total=0; \
for tst in ${TESTS}; do \
diff --git a/gnu/usr.bin/grep/doc/Makefile b/gnu/usr.bin/grep/doc/Makefile
deleted file mode 100644
index 82620f984eb7..000000000000
--- a/gnu/usr.bin/grep/doc/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# $FreeBSD$
-
-INFO= grep
-INFOSECTION= "System Utilities"
-
-.include <bsd.info.mk>
diff --git a/gnu/usr.bin/grep/doc/grep.texi b/gnu/usr.bin/grep/doc/grep.texi
deleted file mode 100644
index 32b27c419926..000000000000
--- a/gnu/usr.bin/grep/doc/grep.texi
+++ /dev/null
@@ -1,2090 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c %**start of header
-@setfilename grep.info
-@settitle grep, print lines matching a pattern
-@c %**end of header
-
-@c This file has the new style title page commands.
-@c Run `makeinfo' rather than `texinfo-format-buffer'.
-
-@c smallbook
-
-@c tex
-@c \overfullrule=0pt
-@c end tex
-
-@include version.texi
-
-@c Combine indices.
-@syncodeindex ky cp
-@syncodeindex pg cp
-@syncodeindex tp cp
-
-@defcodeindex op
-@syncodeindex op fn
-@syncodeindex vr fn
-
-@ifinfo
-@direntry
-* grep: (grep). print lines matching a pattern.
-@end direntry
-This file documents @command{grep}, a pattern matching engine.
-
-
-Published by the Free Software Foundation,
-59 Temple Place - Suite 330
-Boston, MA 02111-1307, USA
-
-@c man begin COPYRIGHT
-Copyright @copyright{} 2000, 2001 Free Software Foundation, Inc.
-
-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 a 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, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being ``GNU General Public License'' and ``GNU Free
-Documentation License'', with no Front-Cover Texts, and with no
-Back-Cover Texts. A copy of the license is included in the section
-entitled ``GNU Free Documentation License'' (@pxref{Copying}).
-@c man end
-@end ifinfo
-
-@setchapternewpage off
-
-@titlepage
-@title grep, searching for a pattern
-@subtitle version @value{VERSION}, @value{UPDATED}
-@author Alain Magloire et al.
-
-@page
-@vskip 0pt plus 1filll
-Copyright @copyright{} 2000, 2001 Free Software Foundation, Inc.
-
-@sp 2
-Published by the Free Software Foundation, @*
-59 Temple Place - Suite 330, @*
-Boston, MA 02111-1307, USA
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being ``GNU General Public License'' and ``GNU Free
-Documentation License'', with no Front-Cover Texts, and with no
-Back-Cover Texts. A copy of the license is included in the section
-entitled ``GNU Free Documentation License''.
-@end titlepage
-
-
-@ifnottex
-@node Top
-@top Grep
-
-@command{grep} searches for lines matching a pattern.
-
-This document was produced for version @value{VERSION} of @sc{gnu}
-@command{grep}.
-@end ifnottex
-
-@menu
-* Introduction:: Introduction.
-* Invoking:: Invoking @command{grep}; description of options.
-* Diagnostics:: Exit status returned by @command{grep}.
-* Grep Programs:: @command{grep} programs.
-* Regular Expressions:: Regular Expressions.
-* Usage:: Examples.
-* Reporting Bugs:: Reporting Bugs.
-* Copying:: License terms.
-* Concept Index:: A menu with all the topics in this manual.
-* Index:: A menu with all @command{grep} commands
- and command-line options.
-@end menu
-
-
-@node Introduction, Invoking, Top, Top
-@chapter Introduction
-
-@cindex Searching for a pattern.
-
-@command{grep} searches the input files
-for lines containing a match to a given
-pattern list. When it finds a match in a line, it copies the line to standard
-output (by default), or does whatever other sort of output you have requested
-with options.
-
-Though @command{grep} expects to do the matching on text,
-it has no limits on input line length other than available memory,
-and it can match arbitrary characters within a line.
-If the final byte of an input file is not a newline,
-@command{grep} silently supplies one.
-Since newline is also a separator for the list of patterns, there
-is no way to match newline characters in a text.
-
-@node Invoking
-@chapter Invoking @command{grep}
-
-@command{grep} comes with a rich set of options from @sc{posix.2} and @sc{gnu}
-extensions.
-
-@table @samp
-
-@item -c
-@itemx --count
-@opindex -c
-@opindex --count
-@cindex counting lines
-Suppress normal output; instead print a count of matching
-lines for each input file. With the @samp{-v}, @samp{--invert-match} option,
-count non-matching lines.
-
-@item -e @var{pattern}
-@itemx --regexp=@var{pattern}
-@opindex -e
-@opindex --regexp=@var{pattern}
-@cindex pattern list
-Use @var{pattern} as the pattern; useful to protect patterns
-beginning with a @samp{-}.
-
-@item -f @var{file}
-@itemx --file=@var{file}
-@opindex -f
-@opindex --file
-@cindex pattern from file
-Obtain patterns from @var{file}, one per line. The empty
-file contains zero patterns, and therefore matches nothing.
-
-@item -i
-@itemx --ignore-case
-@opindex -i
-@opindex --ignore-case
-@cindex case insensitive search
-Ignore case distinctions in both the pattern and the input files.
-
-@item -l
-@itemx --files-with-matches
-@opindex -l
-@opindex --files-with-matches
-@cindex names of matching files
-Suppress normal output; instead print the name of each input
-file from which output would normally have been printed.
-The scanning of every file will stop on the first match.
-
-@item -n
-@itemx --line-number
-@opindex -n
-@opindex --line-number
-@cindex line numbering
-Prefix each line of output with the line number within its input file.
-
-@item -o
-@itemx --only-matching
-@opindex -o
-@opindex --only-matching
-@cindex only matching
-Print only the part of matching lines that actually matches @var{pattern}.
-
-@item -q
-@itemx --quiet
-@itemx --silent
-@opindex -q
-@opindex --quiet
-@opindex --silent
-@cindex quiet, silent
-Quiet; do not write anything to standard output. Exit immediately with
-zero status if any match is found, even if an error was detected. Also
-see the @samp{-s} or @samp{--no-messages} option.
-
-@item -s
-@itemx --no-messages
-@opindex -s
-@opindex --no-messages
-@cindex suppress error messages
-Suppress error messages about nonexistent or unreadable files.
-Portability note: unlike @sc{gnu} @command{grep}, traditional
-@command{grep} did not conform to @sc{posix.2}, because traditional
-@command{grep} lacked a @samp{-q} option and its @samp{-s} option behaved
-like @sc{gnu} @command{grep}'s @samp{-q} option. Shell scripts intended
-to be portable to traditional @command{grep} should avoid both
-@samp{-q} and @samp{-s} and should redirect
-output to @file{/dev/null} instead.
-
-@item -v
-@itemx --invert-match
-@opindex -v
-@opindex --invert-match
-@cindex invert matching
-@cindex print non-matching lines
-Invert the sense of matching, to select non-matching lines.
-
-@item -x
-@itemx --line-regexp
-@opindex -x
-@opindex --line-regexp
-@cindex match the whole line
-Select only those matches that exactly match the whole line.
-
-@end table
-
-@section @sc{gnu} Extensions
-
-@table @samp
-
-@item -A @var{num}
-@itemx --after-context=@var{num}
-@opindex -A
-@opindex --after-context
-@cindex after context
-@cindex context lines, after match
-Print @var{num} lines of trailing context after matching lines.
-
-@item -B @var{num}
-@itemx --before-context=@var{num}
-@opindex -B
-@opindex --before-context
-@cindex before context
-@cindex context lines, before match
-Print @var{num} lines of leading context before matching lines.
-
-@item -C @var{num}
-@itemx --context=@var{num}
-@opindex -C
-@opindex --context
-@cindex context
-Print @var{num} lines of output context.
-
-@item --colour[=@var{WHEN}]
-@itemx --color[=@var{WHEN}]
-@opindex --colour
-@cindex highlight, color, colour
-The matching string is surrounded by the marker specify in @var{GREP_COLOR}.
-@var{WHEN} may be `never', `always', or `auto'.
-
-@item -@var{num}
-@opindex -NUM
-Same as @samp{--context=@var{num}} lines of leading and trailing
-context. However, grep will never print any given line more than once.
-
-
-@item -V
-@itemx --version
-@opindex -V
-@opindex --version
-@cindex Version, printing
-Print the version number of @command{grep} to the standard output stream.
-This version number should be included in all bug reports.
-
-@item --help
-@opindex --help
-@cindex Usage summary, printing
-Print a usage message briefly summarizing these command-line options
-and the bug-reporting address, then exit.
-
-@itemx --binary-files=@var{type}
-@opindex --binary-files
-@cindex binary files
-If the first few bytes of a file indicate that the file contains binary
-data, assume that the file is of type @var{type}. By default,
-@var{type} is @samp{binary}, and @command{grep} normally outputs either
-a one-line message saying that a binary file matches, or no message if
-there is no match. If @var{type} is @samp{without-match},
-@command{grep} assumes that a binary file does not match;
-this is equivalent to the @samp{-I} option. If @var{type}
-is @samp{text}, @command{grep} processes a binary file as if it were
-text; this is equivalent to the @samp{-a} option.
-@emph{Warning:} @samp{--binary-files=text} might output binary garbage,
-which can have nasty side effects if the output is a terminal and if the
-terminal driver interprets some of it as commands.
-
-@item -b
-@itemx --byte-offset
-@opindex -b
-@opindex --byte-offset
-@cindex byte offset
-Print the byte offset within the input file before each line of output.
-When @command{grep} runs on @sc{ms-dos} or MS-Windows, the printed
-byte offsets
-depend on whether the @samp{-u} (@samp{--unix-byte-offsets}) option is
-used; see below.
-
-@item -D @var{action}
-@itemx --devices=@var{action}
-@opindex -D
-@opindex --devices
-@cindex device search
-If an input file is a device, FIFO or socket, use @var{action} to process it.
-By default, @var{action} is @samp{read}, which means that devices are
-read just as if they were ordinary files.
-If @var{action} is @samp{skip}, devices, FIFOs and sockets are silently
-skipped.
-
-@item -d @var{action}
-@itemx --directories=@var{action}
-@opindex -d
-@opindex --directories
-@cindex directory search
-If an input file is a directory, use @var{action} to process it.
-By default, @var{action} is @samp{read}, which means that directories are
-read just as if they were ordinary files (some operating systems
-and filesystems disallow this, and will cause @command{grep} to print error
-messages for every directory or silently skip them). If @var{action} is
-@samp{skip}, directories are silently skipped. If @var{action} is
-@samp{recurse}, @command{grep} reads all files under each directory,
-recursively; this is equivalent to the @samp{-r} option.
-
-@item -H
-@itemx --with-filename
-@opindex -H
-@opindex --With-filename
-@cindex with filename prefix
-Print the filename for each match.
-
-@item -h
-@itemx --no-filename
-@opindex -h
-@opindex --no-filename
-@cindex no filename prefix
-Suppress the prefixing of filenames on output when multiple files are searched.
-
-@item --line-buffered
-@opindex --line-buffered
-@cindex line buffering
-Set the line buffering policy, this can be a performance penality.
-
-@item --label=@var{LABEL}
-@opindex --label
-@cindex changing name of standard input
-Displays input actually coming from standard input as input coming from file
-@var{LABEL}. This is especially useful for tools like zgrep, e.g.
-@command{gzip -cd foo.gz |grep --label=foo something}
-
-@item -L
-@itemx --files-without-match
-@opindex -L
-@opindex --files-without-match
-@cindex files which don't match
-Suppress normal output; instead print the name of each input
-file from which no output would normally have been printed.
-The scanning of every file will stop on the first match.
-
-@item -a
-@itemx --text
-@opindex -a
-@opindex --text
-@cindex suppress binary data
-@cindex binary files
-Process a binary file as if it were text; this is equivalent to the
-@samp{--binary-files=text} option.
-
-@item -I
-Process a binary file as if it did not contain matching data; this is
-equivalent to the @samp{--binary-files=without-match} option.
-
-@item -w
-@itemx --word-regexp
-@opindex -w
-@opindex --word-regexp
-@cindex matching whole words
-Select only those lines containing matches that form
-whole words. The test is that the matching substring
-must either be at the beginning of the line, or preceded
-by a non-word constituent character. Similarly,
-it must be either at the end of the line or followed by
-a non-word constituent character. Word-constituent
-characters are letters, digits, and the underscore.
-
-@item -r
-@itemx -R
-@itemx --recursive
-@opindex -r
-@opindex --recursive
-@cindex recursive search
-@cindex searching directory trees
-For each directory mentioned in the command line, read and process all
-files in that directory, recursively. This is the same as the
-@samp{--directories=recurse} option.
-
-@item --include=@var{file_pattern}
-@opindex --include
-@cindex include files
-@cindex searching directory trees
-When processing directories recursively, only files matching @var{file_pattern}
-will be search.
-
-@item --exclude=@var{file_pattern}
-@opindex --exclude
-@cindex exclude files
-@cindex searching directory trees
-When processing directories recursively, skip files matching @var{file_pattern}.
-
-@item -m @var{num}
-@itemx --max-count=@var{num}
-@opindex -m
-@opindex --max-count
-@cindex max-count
-Stop reading a file after @var{num} matching lines. If the input is
-standard input from a regular file, and @var{num} matching lines are
-output, @command{grep} ensures that the standard input is positioned to
-just after the last matching line before exiting, regardless of the
-presence of trailing context lines. This enables a calling process
-to resume a search. For example, the following shell script makes use
-of it:
-
-@example
-while grep -m 1 PATTERN
-do
- echo xxxx
-done < FILE
-@end example
-
-But the following probably will not work because a pipe is not a regular
-file:
-
-@example
-# This probably will not work.
-cat FILE |
-while grep -m 1 PATTERN
-do
- echo xxxx
-done
-@end example
-
-When @command{grep} stops after NUM matching lines, it outputs
-any trailing context lines. Since context does not include matching
-lines, @command{grep} will stop when it encounters another matching line.
-When the @samp{-c} or @samp{--count} option is also used,
-@command{grep} does not output a count greater than @var{num}.
-When the @samp{-v} or @samp{--invert-match} option is
-also used, @command{grep} stops after outputting @var{num}
-non-matching lines.
-
-@item -y
-@opindex -y
-@cindex case insensitive search, obsolete option
-Obsolete synonym for @samp{-i}.
-
-@item -U
-@itemx --binary
-@opindex -U
-@opindex --binary
-@cindex DOS/Windows binary files
-@cindex binary files, DOS/Windows
-Treat the file(s) as binary. By default, under @sc{ms-dos}
-and MS-Windows, @command{grep} guesses the file type by looking
-at the contents of the first 32kB read from the file.
-If @command{grep} decides the file is a text file, it strips the
-@code{CR} characters from the original file contents (to make
-regular expressions with @code{^} and @code{$} work correctly).
-Specifying @samp{-U} overrules this guesswork, causing all
-files to be read and passed to the matching mechanism
-verbatim; if the file is a text file with @code{CR/LF} pairs
-at the end of each line, this will cause some regular
-expressions to fail. This option has no effect on platforms other than
-@sc{ms-dos} and MS-Windows.
-
-@item -u
-@itemx --unix-byte-offsets
-@opindex -u
-@opindex --unix-byte-offsets
-@cindex DOS byte offsets
-@cindex byte offsets, on DOS/Windows
-Report Unix-style byte offsets. This switch causes
-@command{grep} to report byte offsets as if the file were Unix style
-text file, i.e., the byte offsets ignore the @code{CR} characters which were
-stripped. This will produce results identical to running @command{grep} on
-a Unix machine. This option has no effect unless @samp{-b}
-option is also used; it has no effect on platforms other than @sc{ms-dos} and
-MS-Windows.
-
-@item --mmap
-@opindex --mmap
-@cindex memory mapped input
-If possible, use the @code{mmap} system call to read input, instead of
-the default @code{read} system call. In some situations, @samp{--mmap}
-yields better performance. However, @samp{--mmap} can cause undefined
-behavior (including core dumps) if an input file shrinks while
-@command{grep} is operating, or if an I/O error occurs.
-
-@item -Z
-@itemx --null
-@opindex -Z
-@opindex --null
-@cindex zero-terminated file names
-Output a zero byte (the @sc{ascii} @code{NUL} character) instead of the
-character that normally follows a file name. For example, @samp{grep
--lZ} outputs a zero byte after each file name instead of the usual
-newline. This option makes the output unambiguous, even in the presence
-of file names containing unusual characters like newlines. This option
-can be used with commands like @samp{find -print0}, @samp{perl -0},
-@samp{sort -z}, and @samp{xargs -0} to process arbitrary file names,
-even those that contain newline characters.
-
-@item -z
-@itemx --null-data
-@opindex -z
-@opindex --null-data
-@cindex zero-terminated lines
-Treat the input as a set of lines, each terminated by a zero byte (the
-@sc{ascii} @code{NUL} character) instead of a newline. Like the @samp{-Z}
-or @samp{--null} option, this option can be used with commands like
-@samp{sort -z} to process arbitrary file names.
-
-@end table
-
-Several additional options control which variant of the @command{grep}
-matching engine is used. @xref{Grep Programs}.
-
-@section Environment Variables
-
-Grep's behavior is affected by the following environment variables.
-
-A locale @code{LC_@var{foo}} is specified by examining the three
-environment variables @env{LC_ALL}, @env{LC_@var{foo}}, and @env{LANG},
-in that order. The first of these variables that is set specifies the
-locale. For example, if @env{LC_ALL} is not set, but @env{LC_MESSAGES}
-is set to @samp{pt_BR}, then Brazilian Portuguese is used for the
-@code{LC_MESSAGES} locale. The C locale is used if none of these
-environment variables are set, or if the locale catalog is not
-installed, or if @command{grep} was not compiled with national language
-support (@sc{nls}).
-
-@cindex environment variables
-
-@table @env
-
-@item GREP_OPTIONS
-@vindex GREP_OPTIONS
-@cindex default options environment variable
-This variable specifies default options to be placed in front of any
-explicit options. For example, if @code{GREP_OPTIONS} is
-@samp{--binary-files=without-match --directories=skip}, @command{grep}
-behaves as if the two options @samp{--binary-files=without-match} and
-@samp{--directories=skip} had been specified before
-any explicit options. Option specifications are separated by
-whitespace. A backslash escapes the next character, so it can be used to
-specify an option containing whitespace or a backslash.
-
-@item GREP_COLOR
-@vindex GREP_COLOR
-@cindex highlight markers
-This variable specifies the surrounding markers use to highlight the matching
-text. The default is control ascii red.
-
-@item LC_ALL
-@itemx LC_COLLATE
-@itemx LANG
-@vindex LC_ALL
-@vindex LC_COLLATE
-@vindex LANG
-@cindex character type
-@cindex national language support
-@cindex NLS
-These variables specify the @code{LC_COLLATE} locale, which determines
-the collating sequence used to interpret range expressions like
-@samp{[a-z]}.
-
-@item LC_ALL
-@itemx LC_CTYPE
-@itemx LANG
-@vindex LC_ALL
-@vindex LC_CTYPE
-@vindex LANG
-@cindex character type
-@cindex national language support
-@cindex NLS
-These variables specify the @code{LC_CTYPE} locale, which determines the
-type of characters, e.g., which characters are whitespace.
-
-@item LC_ALL
-@itemx LC_MESSAGES
-@itemx LANG
-@vindex LC_ALL
-@vindex LC_MESSAGES
-@vindex LANG
-@cindex language of messages
-@cindex message language
-@cindex national language support
-@cindex NLS
-@cindex translation of message language
-These variables specify the @code{LC_MESSAGES} locale, which determines
-the language that @command{grep} uses for messages. The default C
-locale uses American English messages.
-
-@item POSIXLY_CORRECT
-@vindex POSIXLY_CORRECT
-If set, @command{grep} behaves as @sc{posix.2} requires; otherwise,
-@command{grep} behaves more like other @sc{gnu} programs. @sc{posix.2}
-requires that options that
-follow file names must be treated as file names; by default, such
-options are permuted to the front of the operand list and are treated as
-options. Also, @sc{posix.2} requires that unrecognized options be
-diagnosed as
-``illegal'', but since they are not really against the law the default
-is to diagnose them as ``invalid''. @code{POSIXLY_CORRECT} also
-disables @code{_@var{N}_GNU_nonoption_argv_flags_}, described below.
-
-@item _@var{N}_GNU_nonoption_argv_flags_
-@vindex _@var{N}_GNU_nonoption_argv_flags_
-(Here @code{@var{N}} is @command{grep}'s numeric process ID.) If the
-@var{i}th character of this environment variable's value is @samp{1}, do
-not consider the @var{i}th operand of @command{grep} to be an option, even if
-it appears to be one. A shell can put this variable in the environment
-for each command it runs, specifying which operands are the results of
-file name wildcard expansion and therefore should not be treated as
-options. This behavior is available only with the @sc{gnu} C library, and
-only when @code{POSIXLY_CORRECT} is not set.
-
-@end table
-
-@node Diagnostics
-@chapter Diagnostics
-
-Normally, exit status is 0 if selected lines are found and 1 otherwise.
-But the exit status is 2 if an error occurred, unless the @option{-q} or
-@option{--quiet} or @option{--silent} option is used and a selected line
-is found.
-
-@node Grep Programs
-@chapter @command{grep} programs
-
-@command{grep} searches the named input files (or standard input if no
-files are named, or the file name @file{-} is given) for lines containing
-a match to the given pattern. By default, @command{grep} prints the
-matching lines. There are four major variants of @command{grep},
-controlled by the following options.
-
-@table @samp
-
-@item -G
-@itemx --basic-regexp
-@opindex -G
-@opindex --basic-regexp
-@cindex matching basic regular expressions
-Interpret the pattern as a basic regular expression. This is the default.
-
-@item -E
-@itemx --extended-regexp
-@opindex -E
-@opindex --extended-regexp
-@cindex matching extended regular expressions
-Interpret the pattern as an extended regular expression.
-
-@item -F
-@itemx --fixed-strings
-@opindex -F
-@opindex --fixed-strings
-@cindex matching fixed strings
-Interpret the pattern as a list of fixed strings, separated
-by newlines, any of which is to be matched.
-
-@item -P
-@itemx --perl-regexp
-@opindex -P
-@opindex --perl-regexp
-@cindex matching Perl regular expressions
-Interpret the pattern as a Perl regular expression.
-
-@end table
-
-In addition, two variant programs @sc{egrep} and @sc{fgrep} are available.
-@sc{egrep} is the same as @samp{grep -E}. @sc{fgrep} is the
-same as @samp{grep -F}.
-
-@node Regular Expressions
-@chapter Regular Expressions
-@cindex regular expressions
-
-A @dfn{regular expression} is a pattern that describes a set of strings.
-Regular expressions are constructed analogously to arithmetic expressions,
-by using various operators to combine smaller expressions.
-@command{grep} understands two different versions of regular expression
-syntax: ``basic''(BRE) and ``extended''(ERE). In @sc{gnu} @command{grep},
-there is no difference in available functionality using either syntax.
-In other implementations, basic regular expressions are less powerful.
-The following description applies to extended regular expressions;
-differences for basic regular expressions are summarized afterwards.
-
-The fundamental building blocks are the regular expressions that match
-a single character. Most characters, including all letters and digits,
-are regular expressions that match themselves. Any metacharacter
-with special meaning may be quoted by preceding it with a backslash.
-
-A regular expression may be followed by one of several
-repetition operators:
-
-@table @samp
-
-@item .
-@opindex .
-@cindex dot
-@cindex period
-The period @samp{.} matches any single character.
-
-@item ?
-@opindex ?
-@cindex question mark
-@cindex match sub-expression at most once
-The preceding item is optional and will be matched at most once.
-
-@item *
-@opindex *
-@cindex asterisk
-@cindex match sub-expression zero or more times
-The preceding item will be matched zero or more times.
-
-@item +
-@opindex +
-@cindex plus sign
-The preceding item will be matched one or more times.
-
-@item @{@var{n}@}
-@opindex @{n@}
-@cindex braces, one argument
-@cindex match sub-expression n times
-The preceding item is matched exactly @var{n} times.
-
-@item @{@var{n},@}
-@opindex @{n,@}
-@cindex braces, second argument omitted
-@cindex match sub-expression n or more times
-The preceding item is matched n or more times.
-
-@item @{@var{n},@var{m}@}
-@opindex @{n,m@}
-@cindex braces, two arguments
-The preceding item is matched at least @var{n} times, but not more than
-@var{m} times.
-
-@end table
-
-Two regular expressions may be concatenated; the resulting regular
-expression matches any string formed by concatenating two substrings
-that respectively match the concatenated subexpressions.
-
-Two regular expressions may be joined by the infix operator @samp{|}; the
-resulting regular expression matches any string matching either subexpression.
-
-Repetition takes precedence over concatenation, which in turn
-takes precedence over alternation. A whole subexpression may be
-enclosed in parentheses to override these precedence rules.
-
-@section Character Class
-
-@cindex bracket expression
-@cindex character class
-A @dfn{bracket expression} is a list of characters enclosed by @samp{[} and
-@samp{]}. It matches any single character in that list; if the first
-character of the list is the caret @samp{^}, then it matches any character
-@strong{not} in the list. For example, the regular expression
-@samp{[0123456789]} matches any single digit.
-
-@cindex range expression
-Within a bracket expression, a @dfn{range expression} consists of two
-characters separated by a hyphen. It matches any single character that
-sorts between the two characters, inclusive, using the locale's
-collating sequence and character set. For example, in the default C
-locale, @samp{[a-d]} is equivalent to @samp{[abcd]}. Many locales sort
-characters in dictionary order, and in these locales @samp{[a-d]} is
-typically not equivalent to @samp{[abcd]}; it might be equivalent to
-@samp{[aBbCcDd]}, for example. To obtain the traditional interpretation
-of bracket expressions, you can use the C locale by setting the
-@env{LC_ALL} environment variable to the value @samp{C}.
-
-Finally, certain named classes of characters are predefined within
-bracket expressions, as follows.
-Their interpretation depends on the @code{LC_CTYPE} locale; the
-interpretation below is that of the C locale, which is the default
-if no @code{LC_CTYPE} locale is specified.
-
-@cindex classes of characters
-@cindex character classes
-@table @samp
-
-@item [:alnum:]
-@opindex alnum
-@cindex alphanumeric characters
-Alphanumeric characters:
-@samp{[:alpha:]} and @samp{[:digit:]}.
-
-@item [:alpha:]
-@opindex alpha
-@cindex alphabetic characters
-Alphabetic characters:
-@samp{[:lower:]} and @samp{[:upper:]}.
-
-@item [:blank:]
-@opindex blank
-@cindex blank characters
-Blank characters:
-space and tab.
-
-@item [:cntrl:]
-@opindex cntrl
-@cindex control characters
-Control characters. In @sc{ascii}, these characters have octal codes 000
-through 037, and 177 (@code{DEL}). In other character sets, these are
-the equivalent characters, if any.
-
-@item [:digit:]
-@opindex digit
-@cindex digit characters
-@cindex numeric characters
-Digits: @code{0 1 2 3 4 5 6 7 8 9}.
-
-@item [:graph:]
-@opindex graph
-@cindex graphic characters
-Graphical characters:
-@samp{[:alnum:]} and @samp{[:punct:]}.
-
-@item [:lower:]
-@opindex lower
-@cindex lower-case letters
-Lower-case letters:
-@code{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}.
-
-@item [:print:]
-@opindex print
-@cindex printable characters
-Printable characters:
-@samp{[:alnum:]}, @samp{[:punct:]}, and space.
-
-@item [:punct:]
-@opindex punct
-@cindex punctuation characters
-Punctuation characters:
-@code{!@: " # $ % & ' ( ) * + , - .@: / : ; < = > ?@: @@ [ \ ] ^ _ ` @{ | @} ~}.
-
-@item [:space:]
-@opindex space
-@cindex space characters
-@cindex whitespace characters
-Space characters:
-tab, newline, vertical tab, form feed, carriage return, and space.
-
-@item [:upper:]
-@opindex upper
-@cindex upper-case letters
-Upper-case letters:
-@code{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}.
-
-@item [:xdigit:]
-@opindex xdigit
-@cindex xdigit class
-@cindex hexadecimal digits
-Hexadecimal digits:
-@code{0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f}.
-
-@end table
-For example, @samp{[[:alnum:]]} means @samp{[0-9A-Za-z]}, except the latter
-depends upon the C locale and the @sc{ascii} character
-encoding, whereas the former is independent of locale and character set.
-(Note that the brackets in these class names are
-part of the symbolic names, and must be included in addition to
-the brackets delimiting the bracket list.)
-
-Most metacharacters lose their special meaning inside lists.
-
-@table @samp
-@item ]
-ends the list if it's not the first list item. So, if you want to make
-the @samp{]} character a list item, you must put it first.
-
-@item [.
-represents the open collating symbol.
-
-@item .]
-represents the close collating symbol.
-
-@item [=
-represents the open equivalence class.
-
-@item =]
-represents the close equivalence class.
-
-@item [:
-represents the open character class followed by a valid character class name.
-
-@item :]
-represents the close character class followed by a valid character class name.
-
-@item -
-represents the range if it's not first or last in a list or the ending point
-of a range.
-
-@item ^
-represents the characters not in the list. If you want to make the @samp{^}
-character a list item, place it anywhere but first.
-
-@end table
-
-@section Backslash Character
-@cindex backslash
-
-The @samp{\} when followed by certain ordinary characters take a special
-meaning :
-
-@table @samp
-
-@item @samp{\b}
-Match the empty string at the edge of a word.
-
-@item @samp{\B}
-Match the empty string provided it's not at the edge of a word.
-
-@item @samp{\<}
-Match the empty string at the beginning of word.
-
-@item @samp{\>}
-Match the empty string at the end of word.
-
-@item @samp{\w}
-Match word constituent, it is a synonym for @samp{[[:alnum:]]}.
-
-@item @samp{\W}
-Match non word constituent, it is a synonym for @samp{[^[:alnum:]]}.
-
-@end table
-
-For example , @samp{\brat\b} matches the separate word @samp{rat},
-@samp{c\Brat\Be} matches @samp{crate}, but @samp{dirty \Brat} doesn't
-match @samp{dirty rat}.
-
-@section Anchoring
-@cindex anchoring
-
-The caret @samp{^} and the dollar sign @samp{$} are metacharacters that
-respectively match the empty string at the beginning and end of a line.
-
-@section Back-reference
-@cindex back-reference
-
-The back-reference @samp{\@var{n}}, where @var{n} is a single digit, matches
-the substring previously matched by the @var{n}th parenthesized subexpression
-of the regular expression. For example, @samp{(a)\1} matches @samp{aa}.
-When use with alternation if the group does not participate in the match, then
-the back-reference makes the whole match fail. For example, @samp{a(.)|b\1}
-will not match @samp{ba}. When multiple regular expressions are given with
-@samp{-e} or from a file @samp{-f file}, the back-referecences are local to
-each expression.
-
-@section Basic vs Extended
-@cindex basic regular expressions
-
-In basic regular expressions the metacharacters @samp{?}, @samp{+},
-@samp{@{}, @samp{|}, @samp{(}, and @samp{)} lose their special meaning;
-instead use the backslashed versions @samp{\?}, @samp{\+}, @samp{\@{},
-@samp{\|}, @samp{\(}, and @samp{\)}.
-
-@cindex interval specifications
-Traditional @command{egrep} did not support the @samp{@{} metacharacter,
-and some @command{egrep} implementations support @samp{\@{} instead, so
-portable scripts should avoid @samp{@{} in @samp{egrep} patterns and
-should use @samp{[@{]} to match a literal @samp{@{}.
-
-@sc{gnu} @command{egrep} attempts to support traditional usage by
-assuming that @samp{@{} is not special if it would be the start of an
-invalid interval specification. For example, the shell command
-@samp{egrep '@{1'} searches for the two-character string @samp{@{1}
-instead of reporting a syntax error in the regular expression.
-@sc{posix.2} allows this behavior as an extension, but portable scripts
-should avoid it.
-
-@node Usage
-@chapter Usage
-
-@cindex Usage, examples
-Here is an example shell command that invokes @sc{gnu} @command{grep}:
-
-@example
-grep -i 'hello.*world' menu.h main.c
-@end example
-
-@noindent
-This lists all lines in the files @file{menu.h} and @file{main.c} that
-contain the string @samp{hello} followed by the string @samp{world};
-this is because @samp{.*} matches zero or more characters within a line.
-@xref{Regular Expressions}. The @samp{-i} option causes @command{grep}
-to ignore case, causing it to match the line @samp{Hello, world!}, which
-it would not otherwise match. @xref{Invoking}, for more details about
-how to invoke @command{grep}.
-
-@cindex Using @command{grep}, Q&A
-@cindex FAQ about @command{grep} usage
-Here are some common questions and answers about @command{grep} usage.
-
-@enumerate
-
-@item
-How can I list just the names of matching files?
-
-@example
-grep -l 'main' *.c
-@end example
-
-@noindent
-lists the names of all C files in the current directory whose contents
-mention @samp{main}.
-
-@item
-How do I search directories recursively?
-
-@example
-grep -r 'hello' /home/gigi
-@end example
-
-@noindent
-searches for @samp{hello} in all files under the directory
-@file{/home/gigi}. For more control of which files are searched, use
-@command{find}, @command{grep} and @command{xargs}. For example,
-the following command searches only C files:
-
-@smallexample
-find /home/gigi -name '*.c' -print | xargs grep 'hello' /dev/null
-@end smallexample
-
-This differs from the command:
-
-@example
-grep -r 'hello' *.c
-@end example
-
-which merely looks for @samp{hello} in all files in the current
-directory whose names end in @samp{.c}. Here the @option{-r} is
-probably unnecessary, as recursion occurs only in the unlikely event
-that one of @samp{.c} files is a directory.
-
-@item
-What if a pattern has a leading @samp{-}?
-
-@example
-grep -e '--cut here--' *
-@end example
-
-@noindent
-searches for all lines matching @samp{--cut here--}. Without @samp{-e},
-@command{grep} would attempt to parse @samp{--cut here--} as a list of
-options.
-
-@item
-Suppose I want to search for a whole word, not a part of a word?
-
-@example
-grep -w 'hello' *
-@end example
-
-@noindent
-searches only for instances of @samp{hello} that are entire words; it
-does not match @samp{Othello}. For more control, use @samp{\<} and
-@samp{\>} to match the start and end of words. For example:
-
-@example
-grep 'hello\>' *
-@end example
-
-@noindent
-searches only for words ending in @samp{hello}, so it matches the word
-@samp{Othello}.
-
-@item
-How do I output context around the matching lines?
-
-@example
-grep -C 2 'hello' *
-@end example
-
-@noindent
-prints two lines of context around each matching line.
-
-@item
-How do I force grep to print the name of the file?
-
-Append @file{/dev/null}:
-
-@example
-grep 'eli' /etc/passwd /dev/null
-@end example
-
-gets you:
-
-@smallexample
-/etc/passwd:eli:DNGUTF58.IMe.:98:11:Eli Smith:/home/do/eli:/bin/bash
-@end smallexample
-
-@item
-Why do people use strange regular expressions on @command{ps} output?
-
-@example
-ps -ef | grep '[c]ron'
-@end example
-
-If the pattern had been written without the square brackets, it would
-have matched not only the @command{ps} output line for @command{cron},
-but also the @command{ps} output line for @command{grep}.
-Note that some platforms @command{ps} limit the ouput to the width
-of the screen, grep does not have any limit on the length of a line
-except the available memory.
-
-@item
-Why does @command{grep} report ``Binary file matches''?
-
-If @command{grep} listed all matching ``lines'' from a binary file, it
-would probably generate output that is not useful, and it might even
-muck up your display. So @sc{gnu} @command{grep} suppresses output from
-files that appear to be binary files. To force @sc{gnu} @command{grep}
-to output lines even from files that appear to be binary, use the
-@samp{-a} or @samp{--binary-files=text} option. To eliminate the
-``Binary file matches'' messages, use the @samp{-I} or
-@samp{--binary-files=without-match} option.
-
-@item
-Why doesn't @samp{grep -lv} print nonmatching file names?
-
-@samp{grep -lv} lists the names of all files containing one or more
-lines that do not match. To list the names of all files that contain no
-matching lines, use the @samp{-L} or @samp{--files-without-match}
-option.
-
-@item
-I can do @sc{or} with @samp{|}, but what about @sc{and}?
-
-@example
-grep 'paul' /etc/motd | grep 'franc,ois'
-@end example
-
-@noindent
-finds all lines that contain both @samp{paul} and @samp{franc,ois}.
-
-@item
-How can I search in both standard input and in files?
-
-Use the special file name @samp{-}:
-
-@example
-cat /etc/passwd | grep 'alain' - /etc/motd
-@end example
-
-@item
-@cindex palindromes
-How to express palindromes in a regular expression?
-
-It can be done by using the back referecences, for example a palindrome
-of 4 chararcters can be written in BRE.
-
-@example
-grep -w -e '\(.\)\(.\).\2\1' file
-@end example
-
-It matches the word "radar" or "civic".
-
-Guglielmo Bondioni proposed a single RE that finds all the palindromes up to 19
-characters long.
-
-@example
-egrep -e '^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?).?\9\8\7\6\5\4\3\2\1$' file
-@end example
-
-Note this is done by using GNU ERE extensions, it might not be portable on
-other greps.
-
-@item
-Why are my expressions whith the vertical bar fail?
-
-@example
-/bin/echo "ba" | egrep '(a)\1|(b)\1'
-@end example
-
-The first alternate branch fails then the first group was not in the match
-this will make the second alternate branch fails. For example, "aaba" will
-match, the first group participate in the match and can be reuse in the
-second branch.
-
-@item
-What do @command{grep, fgrep, egrep} stand for ?
-
-grep comes from the way line editing was done on Unix. For example,
-@command{ed} uses this syntax to print a list of matching lines on the screen.
-
-@example
-global/regular expression/print
-g/re/p
-@end example
-
-@command{fgrep} stands for Fixed @command{grep}, @command{egrep} Extended
-@command{grep}.
-
-@end enumerate
-
-@node Reporting Bugs, Copying, Usage, Top
-@chapter Reporting bugs
-
-@cindex Bugs, reporting
-Email bug reports to @email{bug-gnu-utils@@gnu.org}.
-Be sure to include the word ``grep'' somewhere in the ``Subject:'' field.
-
-Large repetition counts in the @samp{@{n,m@}} construct may cause
-@command{grep} to use lots of memory. In addition, certain other
-obscure regular expressions require exponential time and
-space, and may cause grep to run out of memory.
-Back-references are very slow, and may require exponential time.
-
-@node Copying, GNU General Public License, Reporting Bugs, Top
-@chapter Copying
-@cindex Copying
-GNU grep is licensed under the GNU GPL, which makes it @dfn{free
-software}.
-
-Please note that ``free'' in ``free software'' refers to liberty, not
-price. As some GNU project advocates like to point out, think of ``free
-speech'' rather than ``free beer''. The exact and legally binding
-distribution terms are spelled out below; in short, you have the right
-(freedom) to run and change grep and distribute it to other people, and
-even---if you want---charge money for doing either. The important
-restriction is that you have to grant your recipients the same rights
-and impose the same restrictions.
-
-This method of licensing software is also known as @dfn{open source}
-because, among other things, it makes sure that all recipients will
-receive the source code along with the program, and be able to improve
-it. The GNU project prefers the term ``free software'' for reasons
-outlined at
-@url{http://www.gnu.org/philosophy/free-software-for-freedom.html}.
-
-The exact license terms are defined by this paragraph and the GNU
-General Public License it refers to:
-
-@quotation
-GNU grep 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.
-
-GNU grep 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.
-
-A copy of the GNU General Public License is included as part of this
-manual; if you did not receive it, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-@end quotation
-
-In addition to this, this manual is free in the same sense:
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being ``GNU General Public License'' and ``GNU Free
-Documentation License'', with no Front-Cover Texts, and with no
-Back-Cover Texts. A copy of the license is included in the section
-entitled ``GNU Free Documentation License''.
-@end quotation
-
-@c #### Maybe we should wrap these licenses in ifinfo? Stallman says
-@c that the GFDL needs to be present in the manual, and to me it would
-@c suck to include the license for the manual and not the license for
-@c the program.
-
-The full texts of the GNU General Public License and of the GNU Free
-Documentation License are available below.
-
-@menu
-* GNU General Public License:: GNU GPL
-* GNU Free Documentation License:: GNU FDL
-@end menu
-
-@node GNU General Public License, GNU Free Documentation License, Copying, Copying
-@section GNU General Public License
-@center Version 2, June 1991
-@cindex GPL, GNU General Public License
-
-@display
-Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc.
-675 Mass Ave, Cambridge, MA 02139, USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-@end display
-
-@unnumberedsec Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software---to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
-@iftex
-@unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-@end iftex
-@ifinfo
-@center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-@end ifinfo
-
-@enumerate
-@item
-This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The ``Program'', below,
-refers to any such program or work, and a ``work based on the Program''
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term ``modification''.) Each licensee is addressed as ``you''.
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-@item
-You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-@item
-You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-@enumerate a
-@item
-You must cause the modified files to carry prominent notices
-stating that you changed the files and the date of any change.
-
-@item
-You must cause any work that you distribute or publish, that in
-whole or in part contains or is derived from the Program or any
-part thereof, to be licensed as a whole at no charge to all third
-parties under the terms of this License.
-
-@item
-If the modified program normally reads commands interactively
-when run, you must cause it, when started running for such
-interactive use in the most ordinary way, to print or display an
-announcement including an appropriate copyright notice and a
-notice that there is no warranty (or else, saying that you provide
-a warranty) and that users may redistribute the program under
-these conditions, and telling the user how to view a copy of this
-License. (Exception: if the Program itself is interactive but
-does not normally print such an announcement, your work based on
-the Program is not required to print an announcement.)
-@end enumerate
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-@item
-You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-@enumerate a
-@item
-Accompany it with the complete corresponding machine-readable
-source code, which must be distributed under the terms of Sections
-1 and 2 above on a medium customarily used for software interchange; or,
-
-@item
-Accompany it with a written offer, valid for at least three
-years, to give any third party, for a charge no more than your
-cost of physically performing source distribution, a complete
-machine-readable copy of the corresponding source code, to be
-distributed under the terms of Sections 1 and 2 above on a medium
-customarily used for software interchange; or,
-
-@item
-Accompany it with the information you received as to the offer
-to distribute corresponding source code. (This alternative is
-allowed only for noncommercial distribution and only if you
-received the program in object code or executable form with such
-an offer, in accord with Subsection b above.)
-@end enumerate
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-@item
-You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-@item
-You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-@item
-Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-@item
-If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-@item
-If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-@item
-The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and ``any
-later version'', you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-@item
-If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-@iftex
-@heading NO WARRANTY
-@end iftex
-@ifinfo
-@center NO WARRANTY
-@end ifinfo
-@cindex no warranty
-
-@item
-BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-@item
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-@end enumerate
-
-@iftex
-@heading END OF TERMS AND CONDITIONS
-@end iftex
-@ifinfo
-@center END OF TERMS AND CONDITIONS
-@end ifinfo
-
-@page
-@unnumberedsec How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the ``copyright'' line and a pointer to where the full notice is found.
-
-@smallexample
-@var{one line to give the program's name and an idea of what it does.}
-Copyright (C) 19@var{yy} @var{name of author}
-
-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
-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, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-@end smallexample
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-@smallexample
-Gnomovision version 69, Copyright (C) 19@var{yy} @var{name of author}
-Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
-type `show w'. This is free software, and you are welcome
-to redistribute it under certain conditions; type `show c'
-for details.
-@end smallexample
-
-The hypothetical commands @samp{show w} and @samp{show c} should show
-the appropriate parts of the General Public License. Of course, the
-commands you use may be called something other than @samp{show w} and
-@samp{show c}; they could even be mouse-clicks or menu items---whatever
-suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a ``copyright disclaimer'' for the program, if
-necessary. Here is a sample; alter the names:
-
-@smallexample
-@group
-Yoyodyne, Inc., hereby disclaims all copyright
-interest in the program `Gnomovision'
-(which makes passes at compilers) written
-by James Hacker.
-
-@var{signature of Ty Coon}, 1 April 1989
-Ty Coon, President of Vice
-@end group
-@end smallexample
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
-
-@node GNU Free Documentation License, Concept Index, GNU General Public License, Copying
-@section GNU Free Documentation License
-@center Version 1.1, March 2000
-@cindex FDL, GNU Free Documentation License
-
-@display
-Copyright (C) 2000 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-@end display
-@sp 1
-@enumerate 0
-@item
-PREAMBLE
-
-The purpose of this License is to make a manual, textbook, or other
-written document ``free'' in the sense of freedom: to assure everyone
-the effective freedom to copy and redistribute it, with or without
-modifying it, either commercially or noncommercially. Secondarily,
-this License preserves for the author and publisher a way to get
-credit for their work, while not being considered responsible for
-modifications made by others.
-
-This License is a kind of ``copyleft'', which means that derivative
-works of the document must themselves be free in the same sense. It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does. But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book. We recommend this License
-principally for works whose purpose is instruction or reference.
-
-@sp 1
-@item
-APPLICABILITY AND DEFINITIONS
-
-This License applies to any manual or other work that contains a
-notice placed by the copyright holder saying it can be distributed
-under the terms of this License. The ``Document'', below, refers to any
-such manual or work. Any member of the public is a licensee, and is
-addressed as ``you''.
-
-A ``Modified Version'' of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-A ``Secondary Section'' is a named appendix or a front-matter section of
-the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall subject
-(or to related matters) and contains nothing that could fall directly
-within that overall subject. (For example, if the Document is in part a
-textbook of mathematics, a Secondary Section may not explain any
-mathematics.) The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-
-The ``Invariant Sections'' are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License.
-
-The ``Cover Texts'' are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License.
-
-A ``Transparent'' copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, whose contents can be viewed and edited directly and
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters. A copy made in an otherwise Transparent file
-format whose markup has been designed to thwart or discourage
-subsequent modification by readers is not Transparent. A copy that is
-not ``Transparent'' is called ``Opaque''.
-
-Examples of suitable formats for Transparent copies include plain
-ASCII without markup, Texinfo input format, LaTeX input format, SGML
-or XML using a publicly available DTD, and standard-conforming simple
-HTML designed for human modification. Opaque formats include
-PostScript, PDF, proprietary formats that can be read and edited only
-by proprietary word processors, SGML or XML for which the DTD and/or
-processing tools are not generally available, and the
-machine-generated HTML produced by some word processors for output
-purposes only.
-
-The ``Title Page'' means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page. For works in
-formats which do not have any title page as such, ``Title Page'' means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-@sp 1
-@item
-VERBATIM COPYING
-
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no other
-conditions whatsoever to those of this License. You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute. However, you may accept
-compensation in exchange for copies. If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-@sp 1
-@item
-COPYING IN QUANTITY
-
-If you publish printed copies of the Document numbering more than 100,
-and the Document's license notice requires Cover Texts, you must enclose
-the copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover. Both covers must also clearly and legibly identify
-you as the publisher of these copies. The front cover must present
-the full title with all words of the title equally prominent and
-visible. You may add other material on the covers in addition.
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a publicly-accessible computer-network location containing a complete
-Transparent copy of the Document, free of added material, which the
-general network-using public has access to download anonymously at no
-charge using public-standard network protocols. If you use the latter
-option, you must take reasonably prudent steps, when you begin
-distribution of Opaque copies in quantity, to ensure that this
-Transparent copy will remain thus accessible at the stated location
-until at least one year after the last time you distribute an Opaque
-copy (directly or through your agents or retailers) of that edition to
-the public.
-
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to give
-them a chance to provide you with an updated version of the Document.
-@sp 1
-@item
-MODIFICATIONS
-
-You may copy and distribute a Modified Version of the Document under
-the conditions of sections 2 and 3 above, provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it. In addition, you must do these things in the Modified Version:
-
-A. Use in the Title Page (and on the covers, if any) a title distinct
- from that of the Document, and from those of previous versions
- (which should, if there were any, be listed in the History section
- of the Document). You may use the same title as a previous version
- if the original publisher of that version gives permission.@*
-B. List on the Title Page, as authors, one or more persons or entities
- responsible for authorship of the modifications in the Modified
- Version, together with at least five of the principal authors of the
- Document (all of its principal authors, if it has less than five).@*
-C. State on the Title page the name of the publisher of the
- Modified Version, as the publisher.@*
-D. Preserve all the copyright notices of the Document.@*
-E. Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.@*
-F. Include, immediately after the copyright notices, a license notice
- giving the public permission to use the Modified Version under the
- terms of this License, in the form shown in the Addendum below.@*
-G. Preserve in that license notice the full lists of Invariant Sections
- and required Cover Texts given in the Document's license notice.@*
-H. Include an unaltered copy of this License.@*
-I. Preserve the section entitled ``History'', and its title, and add to
- it an item stating at least the title, year, new authors, and
- publisher of the Modified Version as given on the Title Page. If
- there is no section entitled ``History'' in the Document, create one
- stating the title, year, authors, and publisher of the Document as
- given on its Title Page, then add an item describing the Modified
- Version as stated in the previous sentence.@*
-J. Preserve the network location, if any, given in the Document for
- public access to a Transparent copy of the Document, and likewise
- the network locations given in the Document for previous versions
- it was based on. These may be placed in the ``History'' section.
- You may omit a network location for a work that was published at
- least four years before the Document itself, or if the original
- publisher of the version it refers to gives permission.@*
-K. In any section entitled ``Acknowledgements'' or ``Dedications'',
- preserve the section's title, and preserve in the section all the
- substance and tone of each of the contributor acknowledgements
- and/or dedications given therein.@*
-L. Preserve all the Invariant Sections of the Document,
- unaltered in their text and in their titles. Section numbers
- or the equivalent are not considered part of the section titles.@*
-M. Delete any section entitled ``Endorsements''. Such a section
- may not be included in the Modified Version.@*
-N. Do not retitle any existing section as ``Endorsements''
- or to conflict in title with any Invariant Section.@*
-@sp 1
-If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant. To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
-These titles must be distinct from any other section titles.
-
-You may add a section entitled ``Endorsements'', provided it contains
-nothing but endorsements of your Modified Version by various
-parties--for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version. Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity. If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-@sp 1
-@item
-COMBINING DOCUMENTS
-
-You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice.
-
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy. If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-
-In the combination, you must combine any sections entitled ``History''
-in the various original documents, forming one section entitled
-``History''; likewise combine any sections entitled ``Acknowledgements'',
-and any sections entitled ``Dedications''. You must delete all sections
-entitled ``Endorsements.''
-@sp 1
-@item
-COLLECTIONS OF DOCUMENTS
-
-You may make a collection consisting of the Document and other documents
-released under this License, and replace the individual copies of this
-License in the various documents with a single copy that is included in
-the collection, provided that you follow the rules of this License for
-verbatim copying of each of the documents in all other respects.
-
-You may extract a single document from such a collection, and distribute
-it individually under this License, provided you insert a copy of this
-License into the extracted document, and follow this License in all
-other respects regarding verbatim copying of that document.
-@sp 1
-@item
-AGGREGATION WITH INDEPENDENT WORKS
-
-A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, does not as a whole count as a Modified Version
-of the Document, provided no compilation copyright is claimed for the
-compilation. Such a compilation is called an ``aggregate'', and this
-License does not apply to the other self-contained works thus compiled
-with the Document, on account of their being thus compiled, if they
-are not themselves derivative works of the Document.
-
-If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one quarter
-of the entire aggregate, the Document's Cover Texts may be placed on
-covers that surround only the Document within the aggregate.
-Otherwise they must appear on covers around the whole aggregate.
-@sp 1
-@item
-TRANSLATION
-
-Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections. You may include a
-translation of this License provided that you also include the
-original English version of this License. In case of a disagreement
-between the translation and the original English version of this
-License, the original English version will prevail.
-@sp 1
-@item
-TERMINATION
-
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License. Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License. However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
-@sp 1
-@item
-FUTURE REVISIONS OF THIS LICENSE
-
-The Free Software Foundation may publish new, revised versions
-of the GNU Free Documentation License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns. See
-http://www.gnu.org/copyleft/.
-
-Each version of the License is given a distinguishing version number.
-If the Document specifies that a particular numbered version of this
-License ``or any later version'' applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation. If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
-
-@end enumerate
-
-@unnumberedsec ADDENDUM: How to use this License for your documents
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-
-@smallexample
-@group
-
- Copyright (C) @var{year} @var{your name}.
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.1
- or any later version published by the Free Software Foundation;
- with the Invariant Sections being @var{list their titles}, with the
- Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}.
- A copy of the license is included in the section entitled ``GNU
- Free Documentation License''.
-@end group
-@end smallexample
-If you have no Invariant Sections, write ``with no Invariant Sections''
-instead of saying which ones are invariant. If you have no
-Front-Cover Texts, write ``no Front-Cover Texts'' instead of
-``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts.
-
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
-
-@page
-@node Concept Index, Index, GNU Free Documentation License, Top
-@unnumbered Concept Index
-
-This is a general index of all issues discussed in this manual, with the
-exception of the @command{grep} commands and command-line options.
-
-@printindex cp
-
-@page
-@node Index,, Concept Index, Top
-@unnumbered Index
-
-This is an alphabetical list of all @command{grep} commands, command-line
-options, and environment variables.
-
-@printindex fn
-
-@contents
-@bye
diff --git a/gnu/usr.bin/grep/doc/version.texi b/gnu/usr.bin/grep/doc/version.texi
deleted file mode 100644
index 4350a83ba1fc..000000000000
--- a/gnu/usr.bin/grep/doc/version.texi
+++ /dev/null
@@ -1,4 +0,0 @@
-@set UPDATED 23 January 2002
-@set UPDATED-MONTH January 2002
-@set EDITION 2.5.1
-@set VERSION 2.5.1
diff --git a/gnu/usr.bin/groff/Makefile b/gnu/usr.bin/groff/Makefile
index 2db554f6d408..cb83deaf10de 100644
--- a/gnu/usr.bin/groff/Makefile
+++ b/gnu/usr.bin/groff/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-SUBDIR= contrib doc font man src tmac
+SUBDIR= contrib font man src tmac
.for subdir in ${SUBDIR:Nsrc}
SUBDIR_DEPEND_${subdir}= src
diff --git a/gnu/usr.bin/groff/doc/Makefile b/gnu/usr.bin/groff/doc/Makefile
deleted file mode 100644
index 6381812cab45..000000000000
--- a/gnu/usr.bin/groff/doc/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# $FreeBSD$
-
-INFO= groff
-SRCDIR= ${DIST_DIR}
-
-.include <bsd.info.mk>
diff --git a/gnu/usr.bin/texinfo/Makefile b/gnu/usr.bin/texinfo/Makefile
deleted file mode 100644
index dc0d9e420a2c..000000000000
--- a/gnu/usr.bin/texinfo/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-#
-# $FreeBSD$
-#
-
-SUBDIR= libtxi makeinfo info infokey install-info texindex doc
-
-.include <bsd.subdir.mk>
diff --git a/gnu/usr.bin/texinfo/Makefile.inc b/gnu/usr.bin/texinfo/Makefile.inc
deleted file mode 100644
index d5c8e8154e46..000000000000
--- a/gnu/usr.bin/texinfo/Makefile.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-# $FreeBSD$
-
-TXIDIR= ${.CURDIR}/../../../../contrib/texinfo
-LIBTXI= ${.OBJDIR}/../libtxi/libtxi.a
-
-CFLAGS+= -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/share/locale\" \
- -I${TXIDIR} -I${TXIDIR}/lib
-
-.include "../Makefile.inc"
diff --git a/gnu/usr.bin/texinfo/doc/Makefile b/gnu/usr.bin/texinfo/doc/Makefile
deleted file mode 100644
index 2a0b1a3616a7..000000000000
--- a/gnu/usr.bin/texinfo/doc/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-# $FreeBSD$
-
-INFO= info info-stnd texinfo
-SRCDIR= ${TXIDIR}/doc
-
-CLEANFILES= texinfo.texi
-
-texinfo.texi: texinfo.txi
- ln -fs ${.ALLSRC} ${.TARGET}
-
-.include <bsd.info.mk>
diff --git a/gnu/usr.bin/texinfo/info/Makefile b/gnu/usr.bin/texinfo/info/Makefile
deleted file mode 100644
index adf7f9182c72..000000000000
--- a/gnu/usr.bin/texinfo/info/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# $FreeBSD$
-
-PROG= info
-MAN= info.1 info.5 texinfo.5
-
-SRCS= dir.c display.c doc.c dribble.c echo-area.c filesys.c \
- footnotes.c gc.c indices.c info-utils.c info.c infodoc.c \
- infomap.c m-x.c man.c nodemenu.c nodes.c search.c session.c \
- signals.c terminal.c tilde.c variables.c window.c
-
-CFLAGS+= -DINFODIR=\"${INFODIR}:/usr/local/info:.\"
-
-DPADD= ${LIBTERMCAPW} ${LIBTXI}
-LDADD= -ltermcapw ${LIBTXI}
-
-.include <bsd.prog.mk>
-
-.PATH: ${TXIDIR}/info ${TXIDIR}/doc
diff --git a/gnu/usr.bin/texinfo/infokey/Makefile b/gnu/usr.bin/texinfo/infokey/Makefile
deleted file mode 100644
index 50be00d91405..000000000000
--- a/gnu/usr.bin/texinfo/infokey/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-# $FreeBSD$
-
-PROG= infokey
-SRCS= infokey.c key.c
-
-DPADD= ${LIBTXI}
-LDADD= ${LIBTXI}
-
-.include <bsd.prog.mk>
-
-.PATH: ${TXIDIR}/info ${TXIDIR}/doc
diff --git a/gnu/usr.bin/texinfo/install-info/Makefile b/gnu/usr.bin/texinfo/install-info/Makefile
deleted file mode 100644
index 325c9095b35f..000000000000
--- a/gnu/usr.bin/texinfo/install-info/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-# $FreeBSD$
-
-PROG= install-info
-
-DPADD= ${LIBTXI}
-LDADD= ${LIBTXI}
-
-.include <bsd.prog.mk>
-
-.PATH: ${TXIDIR}/util ${TXIDIR}/doc
diff --git a/gnu/usr.bin/texinfo/libtxi/Makefile b/gnu/usr.bin/texinfo/libtxi/Makefile
deleted file mode 100644
index 8decad1daed4..000000000000
--- a/gnu/usr.bin/texinfo/libtxi/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-# $FreeBSD$
-
-LIB= txi
-INTERNALLIB=
-
-SRCS= substring.c xexit.c xmalloc.c xstrdup.c
-
-.include <bsd.lib.mk>
-
-.PATH: ${TXIDIR}/lib
diff --git a/gnu/usr.bin/texinfo/makeinfo/Makefile b/gnu/usr.bin/texinfo/makeinfo/Makefile
deleted file mode 100644
index 373c326467b4..000000000000
--- a/gnu/usr.bin/texinfo/makeinfo/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-# $FreeBSD$
-
-PROG= makeinfo
-SRCS= cmds.c defun.c files.c float.c footnote.c html.c \
- index.c insertion.c lang.c macro.c makeinfo.c multi.c \
- node.c sectioning.c toc.c xml.c xref.c
-
-DPADD= ${LIBTXI}
-LDADD= ${LIBTXI}
-
-.include <bsd.prog.mk>
-
-.PATH: $(TXIDIR)/makeinfo $(TXIDIR)/doc
diff --git a/gnu/usr.bin/texinfo/texindex/Makefile b/gnu/usr.bin/texinfo/texindex/Makefile
deleted file mode 100644
index 91c2dfc14e30..000000000000
--- a/gnu/usr.bin/texinfo/texindex/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-# $FreeBSD$
-
-PROG= texindex
-
-DPADD= ${LIBTXI}
-LDADD= ${LIBTXI}
-
-.include <bsd.prog.mk>
-
-.PATH: ${TXIDIR}/util ${TXIDIR}/doc