Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
=head1 NAME
srcredact - a program for redaction of text files
=head1 SYNOPSIS
srcredact [I] B<-e> I [I]
srcredact [I] B<-u> I I [I]
srcredact B<-l> [I]
srcredact B<-h|-v>
=head1 DESCRIPTION
B is the program to extract ``redacted versions'' of the
master file (option B<-e>) or to incorporate the changes in the
redacted versions into the master file (``unredact'', option B<-u>).
The master file consists of I intended for different
audiences. Each audience has a I, e.g. C,
C, C etc. Chunks are started and stopped by
I. Each guard line has the format (for the default TeX
syntax)
%<*name1|name2|...>
or
%
In the first cases the text following the guard is I for the
audiences C, C, .... In the second case it is
I for these audiences.
THere is a special audience C: a wild card for all audiences.
Thus the idiom
%
%<*classified>
means that the chunk is excluded for all audiences but C
Exactly one of the options B<-e> (extract) or B<-u> (unextract) must be
present. In the extract mode the non-option argument is the name of
the full file. If it is absent, or is C<->, standard input is used.
In the unextract mode the first non-option argument
=head1 OPTIONS
=over 4
=item B<-c> I
Use the given pattern for comment lines to search for guards instead
of the default C pattern. The recognized patterns are:
=over 4
=item B
/**/
=item B
//
=item B
C
=item B
#
=item B
%
=back
The pattern names should be separated by commas, and the list may be
enclosed in quotes to prevent shell expansion, e.g
-c "TeX, c, shell"
=item B<-d>
Debug mode on.
=item B<-e> I
Extract the contents for the current audience into the file I.
The cuurent audience is guessed from the I name, if the latter
has the structure I-I.I,
e.g. C. The key B<-a> overrides this guess
and should be used if the file name does not follow this pattern. The
file name C<-> means the standard output.
=item B<-h>
Print help information and exit.
=item B<-l>
List all audiences set in the file (one per line) and exit.
=item B<-u> I
Take a edited file intended for the I (the second
non-option argument) and incorporate the changes in it into the full
file (the first non-option argument). If the second argument is
missing, standard input is used instead. As usual, C<-> also means
standard input. Note that only one of the two file arguments in this
case can be standard input.
=item B<-v>
Print version information and exit.
=item B<-w> I
If C, C<1> or C (the deafult), implicitly wrap the full
document into the guards
%<*ALL>
...
%
=back
=head1 RETURN VALUE
The program returns 0 if successful, 1 if conflicts were found in the
C mode and 2 in case of problems.
=head1 CONFLICTS IN UNEXTRACT MODE
Like the standard L tool, the program may find conflicts
between the full version and the edited one in the B<-u> mode. Then
the resulting file brackets the conflicts in the usual manner, e.g.
<<<<<<< /tmp/BrjXo0hMOB/full
%
Forty-five tons best old dry government bonds, suitable for furnace, gold
7 per cents., 1864, preferred.
%<*nobonds>
||||||| /tmp/BrjXo0hMOB/extracted
Forty-five tons best old dry government bonds, suitable for furnace, gold
7 per cents., 1864, preferred.
=======
>>>>>>> /tmp/BrjXo0hMOB/new
Here C is the full document, C is the extracted file
for the given audience, C is the edited file.
=head1 AUTHOR
Boris Veytsman, borisv@lk.net
This work was commissioned by Consumer Financial Protection Bureau,
United States Treasury.
=head1 LICENSE AND COPYRIGHT
Copyright (C) 2015 Boris Veytsman. Version 1.0
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., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA