OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /v/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   27-Mar-2005 21:12:28
  Branch: HEAD                             Handle: 2005032720122800

  Added files:
    openpkg-src/flexelint   flexelint.lnt flexelint.sh flexelint.spec
                            flexelint.txt

  Log:
    new package: flexelint 8.00p (Flexible C/C++ Lint)

  Summary:
    Revision    Changes     Path
    1.1         +11 -0      openpkg-src/flexelint/flexelint.lnt
    1.1         +31 -0      openpkg-src/flexelint/flexelint.sh
    1.1         +137 -0     openpkg-src/flexelint/flexelint.spec
    1.1         +216 -0     openpkg-src/flexelint/flexelint.txt
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/flexelint/flexelint.lnt
  ============================================================================
  $ cvs diff -u -r0 -r1.1 flexelint.lnt
  --- /dev/null 2005-03-27 21:11:01 +0200
  +++ flexelint.lnt     2005-03-27 21:12:28 +0200
  @@ -0,0 +1,11 @@
  +//
  +//  flexelint.lnt -- FlexeLint global default configuration
  +//
  +//  NOTICE: this file is read in automatically if no ~/.flexelint.lnt
  +//          exist. An existing ~/.flexelint.lnt would have to include
  +//          this file manually.
  +//
  +
  +co-generic.lnt
  +co-unix.lnt
  +
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/flexelint/flexelint.sh
  ============================================================================
  $ cvs diff -u -r0 -r1.1 flexelint.sh
  --- /dev/null 2005-03-27 21:11:01 +0200
  +++ flexelint.sh      2005-03-27 21:12:28 +0200
  @@ -0,0 +1,31 @@
  +#!/bin/sh
  +##
  +##  flexelint.sh -- FlexeLint run-time wrapper
  +##
  +
  +#   paths
  +flexelint_binary="@l_prefix@/libexec/flexelint/flexelint"
  +flexelint_cfgdir="@l_prefix@/etc/flexelint"
  +flexelint_incdir="@l_prefix@/share/flexelint/lnt"
  +
  +#   determine default configuration
  +#   (hint: extension .lnt is specially recognized by FlexeLint)
  +flexelint_config=""
  +if [ ".$1" = ".-C" ]; then
  +    shift
  +elif [ -f ${HOME}/.flexelint.lnt ]; then
  +    flexelint_config="${HOME}/.flexelint.lnt"
  +else
  +    flexelint_config="${flexelint_cfgdir}/flexelint.lnt"
  +fi
  +
  +#   execute program
  +if [ $# -eq 0 ]; then
  +    eval ${flexelint_binary}
  +else
  +    eval ${flexelint_binary}  \
  +        -I${flexelint_incdir} \
  +        ${flexelint_config}   \
  +        ${1+"$@"}
  +fi
  +
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/flexelint/flexelint.spec
  ============================================================================
  $ cvs diff -u -r0 -r1.1 flexelint.spec
  --- /dev/null 2005-03-27 21:11:01 +0200
  +++ flexelint.spec    2005-03-27 21:12:28 +0200
  @@ -0,0 +1,137 @@
  +##
  +##  flexelint.spec -- OpenPKG RPM Package Specification
  +##  Copyright (c) 2000-2005 OpenPKG Foundation e.V. <http://openpkg.net/>
  +##  Copyright (c) 2000-2005 Ralf S. Engelschall <http://engelschall.com/>
  +##
  +##  Permission to use, copy, modify, and distribute this software for
  +##  any purpose with or without fee is hereby granted, provided that
  +##  the above copyright notice and this permission notice appear in all
  +##  copies.
  +##
  +##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  +##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  +##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  +##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  +##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  +##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  +##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  +##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  +##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  +##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  +##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  +##  SUCH DAMAGE.
  +##
  +
  +#   package information
  +Name:         flexelint
  +Summary:      Flexible C/C++ Lint
  +URL:          http://www.gimpel.com/html/flex.htm
  +Vendor:       Gimpel Software
  +Packager:     OpenPKG
  +Distribution: OpenPKG
  +Class:        EVAL
  +Group:        Language
  +License:      Commercial
  +Version:      8.00p
  +Release:      20050327
  +
  +#   list of sources
  +Source0:      http://www.gimpel.com/::/flexelint-%{version}.tar.gz
  +Source1:      http://www.gimpel.com/html/pub80/env-xml.lnt
  +Source2:      http://www.gimpel.com/html/pub80/lib-nstd.lnt
  +Source3:      flexelint.sh
  +Source4:      flexelint.lnt
  +Source5:      flexelint.txt
  +%NoSource     0
  +
  +#   build information
  +Prefix:       %{l_prefix}
  +BuildRoot:    %{l_buildroot}
  +BuildPreReq:  OpenPKG, openpkg >= 20040130
  +PreReq:       OpenPKG, openpkg >= 20040130
  +AutoReq:      no
  +AutoReqProv:  no
  +
  +%description
  +     FlexeLint is a flexible C/C++ source code checker. It thoroughlys
  +     check the C/C++ source code for bugs, glitches, inconsistencies,
  +     non-portable constructs, and much more. FlexeLint is a commercial
  +     software product.
  +
  +%track
  +    prog flexelint = {
  +        version   = %{version}
  +        url       = http://www.gimpel.com/html/ptch80.htm
  +        regex     = to\s+(8.00[a-z])
  +    }
  +
  +%prep
  +    %setup -q -c
  +
  +    #   fixup directory permissions, so RPM can remove the files later on
  +    find . -type d -print | xargs chmod u+w
  +
  +%build
  +    #   build program from obfuscated source code
  +    ( cd flexelint/src
  +      %{l_cc} %{l_cflags -O} -I. -o flexelint *.c
  +    ) || exit $?
  +
  +%install
  +    #   create installation hierarchy
  +    rm -rf $RPM_BUILD_ROOT
  +    %{l_shtool} mkdir -f -p -m 755 \
  +        $RPM_BUILD_ROOT%{l_prefix}/bin \
  +        $RPM_BUILD_ROOT%{l_prefix}/etc/flexelint \
  +        $RPM_BUILD_ROOT%{l_prefix}/libexec/flexelint \
  +        $RPM_BUILD_ROOT%{l_prefix}/include/flexelint \
  +        $RPM_BUILD_ROOT%{l_prefix}/share/flexelint/doc \
  +        $RPM_BUILD_ROOT%{l_prefix}/share/flexelint/lnt \
  +        $RPM_BUILD_ROOT%{l_prefix}/man/cat1
  +
  +    #   install program and run-time wrapper
  +    %{l_shtool} install -c -s -m 755 \
  +        flexelint/src/flexelint $RPM_BUILD_ROOT%{l_prefix}/libexec/flexelint/
  +    %{l_shtool} install -c -m 755 %{l_value -s -a} \
  +        %{SOURCE flexelint.sh} $RPM_BUILD_ROOT%{l_prefix}/bin/flexelint
  +
  +    #   install minimum manual page and reference document
  +    %{l_shtool} install -c -m 644 %{l_value -s -a} \
  +        %{SOURCE flexelint.txt} 
$RPM_BUILD_ROOT%{l_prefix}/man/cat1/flexelint.1
  +    %{l_shtool} install -c -m 644 \
  +        flexelint/flex.pdf 
$RPM_BUILD_ROOT%{l_prefix}/share/flexelint/doc/flexelint.pdf
  +
  +    #   install default configuration
  +    %{l_shtool} install -c -m 644 %{l_value -s -a} \
  +        %{SOURCE flexelint.lnt} $RPM_BUILD_ROOT%{l_prefix}/etc/flexelint/
  +
  +    #   install additional prepared configurations
  +    ( cd flexelint/supp
  +      cp -r ansi posix $RPM_BUILD_ROOT%{l_prefix}/include/flexelint/
  +      %{l_shtool} install -c -m 644 \
  +          generic/co.lnt 
$RPM_BUILD_ROOT%{l_prefix}/share/flexelint/lnt/co-generic.lnt
  +      %{l_shtool} install -c -m 644 \
  +          linux/co-gnu3.lnt 
$RPM_BUILD_ROOT%{l_prefix}/share/flexelint/lnt/co-gcc.lnt
  +      %{l_shtool} install -c -m 644 \
  +          sun/co-sun6.lnt 
$RPM_BUILD_ROOT%{l_prefix}/share/flexelint/lnt/co-sun.lnt
  +      %{l_shtool} install -c -m 644 \
  +          hp/co-hpacc.lnt 
$RPM_BUILD_ROOT%{l_prefix}/share/flexelint/lnt/co-hpacc.lnt
  +      %{l_shtool} install -c -m 644 \
  +          unix/co-unix.lnt unix/lib-curs.lnt stl/lib-stl.lnt \
  +          $RPM_BUILD_ROOT%{l_prefix}/share/flexelint/lnt/
  +      %{l_shtool} install -c -m 644 \
  +          %{SOURCE env-xml.lnt} %{SOURCE lib-nstd.lnt} \
  +          $RPM_BUILD_ROOT%{l_prefix}/share/flexelint/lnt/
  +    ) || exit $?
  +
  +    #   determine installation files
  +    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
  +        %{l_files_std} \
  +        '%config %{l_prefix}/etc/flexelint/flexelint.lnt' \
  +        '%doc %{l_prefix}/share/flexelint/doc/flexelint.pdf'
  +
  +%files -f files
  +
  +%clean
  +    rm -rf $RPM_BUILD_ROOT
  +
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/flexelint/flexelint.txt
  ============================================================================
  $ cvs diff -u -r0 -r1.1 flexelint.txt
  --- /dev/null 2005-03-27 21:11:01 +0200
  +++ flexelint.txt     2005-03-27 21:12:28 +0200
  @@ -0,0 +1,216 @@
  +
  +FlexeLint for C/C++ (U32) Ver. 8.00p, Copyright Gimpel Software 1985-2004
  +
  +     Error Inhibition Options (- inhibits and + enables error messages)
  +            (# may include wild-card characters '?' and '*')
  +
  +-e#   inhibit message number #          !e#   inhibit message # this line
  +-e(#) inhibit for next expression       --e(#) for entire current expression
  +-e{#} inhibit for next {region}         --e{#} for entire current {region}
  +-eai  args differ sub-integer           -ean  args differ nominally
  +-eas  args same size                    -eau  args differ signed-unsigned
  +-efile(#,<File>)  by number, file       -efunc(#,<Func>)  by number, function
  +-elib(#)  within library headers        -elibsym(#) for all library symbols
  +-emacro(#,Symbol) within macro          -emacro((#),Symbol) within expr macro
  +--emacro((#),Symbol) within expr macro  -emacro({#},Symbol) next stmt macro
  +--emacro({#},Symbol) within stmt macro  -epn  pointers to nominal
  +-epnc pointers to nominal chars         -epp  pointers are pointers
  +-eps  pointers to same size             -epu  pointers to signed-unsigned
  +-epuc pointers to sgnd-unsgnd chars     -esym(#,Symbol)  by number, symbol
  +-etd(<TypeDiff>) ignore type diff.      -etemplate(#) within template 
expansion
  +-w<Lev> set warning level (0,1,2,3,4)   -wlib(<Lev>) library warning level
  +
  +               Size and Alignment Options (default value(s))
  +
  +-sb#   bits in a byte (8)               -sbo#  sizeof(bool) (1)
  +-sc#   sizeof(char) (1)                 -slc#  sizeof(long char) (2)
  +-ss#   sizeof(short) (2)                -si#   sizeof(int) (4)
  +-sl#   sizeof(long) (4)                 -sll#  sizeof(long long) (8)
  +-sf#   sizeof(float) (4)                -sd#   sizeof(double) (8)
  +-sld#  sizeof(long double) (16)         -smp#  size of all member ptrs (4)
  +-smpD# size of mem ptr (data) (4)       -smpP# size of mem ptrs (prog) (4)
  +-sp#   sizeof(all pointers) (4)         -spD#  size of both data ptrs (4)
  +-spP#  size of both program ptrs (4)    -sw#   size of wide char (2)
  +
  +-a<code># specifies alignment, <code> any code used for size
  +   # = 1, no alignment; # = 2, 2-byte boundary; etc.  By default, a type's
  +   alignment is the largest power of 2 that divides the size of the type
  +
  +     Verbosity Options (- output to stdout only, + to stderr and stdout)
  +                  Format: {-+}v[cdh-iostw#][mf<int>]
  +
  +Zero or more of:
  +   c: unique Calls  d: module Dialect  h: dump strong type Hierarchy
  +   h-: h in compressed form  i: Indirect files  o: Options
  +   s: Storage consumed  t: Template expansions  w: specific Walks
  +   #: append file ID nos.
  +One of:
  +   m: Module names  f: header Files (implies m)
  +   <int>:  every <int> lines (implies f)
  +Special cases (no suboptions):
  +   -v   Turn off verbosity        +v   direct verbosity to both
  +
  +                           Flag Options
  +          (+ sets,- resets, ++ increments and -- decrements flag)
  +
  [EMAIL PROTECTED]  @ is a modifier (OFF)              fab  ABbreviated 
structures (OFF)
  +fai  pointed-to Arg is Initialized(ON)  fan  ANonymous unions (OFF)
  +fas  Anonymous Structures (OFF)         fba  Bit Addressability (OFF)
  +fbc  Boolean Constants 0b... (OFF)      fbo  Activate bool, true, false (ON)
  +fbu  force Bit fields Unsigned (OFF)    fce  continue-on-error (OFF)
  +fcp  (C++) Force C++ processing (OFF)   fct  Create Tags (OFF)
  +fcu  char-is-unsigned (OFF)             fdc  (C++) Distinguish plain Char 
(ON)
  +fdh  append '.h' to header names (OFF)  fdi  Directory of Including file(ON)
  +fdl  pointer-diff.-is-long (OFF)        fdr  deduce-return-mode (OFF)
  +feb  enum's can be Bitfields (ON)       fem  allow Early Modifiers (OFF)
  +fep  Extended Preprocessor exps. (OFF)  fet  requires Explicit Throws (OFF)
  +ffb  for clause creates Block (ON)      ffc  Function takes Custody (ON)
  +ffd  promote floats to double (OFF)     ffn  full file name (OFF)
  +ffo  flush output each msg (ON)         fhd  hierarchy down warning (ON)
  +fhg  hierarchy uses graph. chars (OFF)  fhs  hierarchy of strong types (ON)
  +fhx  hierarchy of index types (ON)      fie  integer-model-for-enums (OFF)
  +fii  inhibit inference (OFF)            fil  indentation check of labels 
(OFF)
  +fim  -i can have multiple dirs. (ON)    fiq  ignore default qualifier (OFF)
  +fis  integral consts. are signed (OFF)  fkp  K&R preprocessor (OFF)
  +flb  library (OFF)                      flc  allow long char (OFF)
  +flf  (C++) process lib func defs (OFF)  fll  allow long long int (OFF)
  +flm  Lock Message format (OFF)          fln  activate #line (ON)
  +fmc  macro concatenation (OFF)          fmd  multiple definitons (OFF)
  +fna  (C++) allow 'operator new[]' (ON)  fnc  nested comments (OFF)
  +fnn  (C++) new can return NULL (OFF)    fnt  (C++) Nested Tags (ON)
  +fod  Output Declared to object (OFF)    fol  Output Library to object (OFF)
  +fpa  PAuse before exiting (OFF)         fpc  Pointer Casts retain lvalue(OFF)
  +fpm  Precision is Max of args (OFF)     fpn  pointer param may be NULL (OFF)
  +fps  Parameters within Strings (OFF)    frb  Files fopen'ed with "rb" (OFF)
  +frl  Reference Location info (ON)       frn  Treat CR as new-line (OFF)
  +fsa  structure-assignment (ON)          fsc  strings are const char * (OFF)
  +fsp  SPecific function calls (ON)       fss  regard Sub-Struct as base (ON)
  +fsu  string unsigned (OFF)              ftf  raw template functions (OFF)
  +ftg  permit Tri Graphs (ON)             ftr  truncate filenames to 8x3 (OFF)
  +ful  unsigned long (ON)                 fva  variable arguments (OFF)
  +fvo  void data type (ON)                fvr  varying-return-mode (OFF)
  +fwc  use internal wchar_t (OFF)         fwu  wchar_t is unsigned (OFF)
  +fxa  eXact array arg. (OFF)             fxc  eXact char arg. (OFF)
  +fxf  eXact float arg. (OFF)             fxs  eXact short arg. (OFF)
  +fzl  sizeof-is-long (OFF)               fzu  sizeof-is-unsigned (ON)
  +
  +                    Message Presentation Options
  +
  +-append(#,msg)            Appends msg for error #
  +-h[abfFrsm/<M>/]<I>]<ht>  message height (default = -ha_3)
  +  (<ht> is msg ht., position indicator <I> placed a=above or b=below line,
  +   f= more file info, F= always file info, r= repeat line, s= space between
  +   messages, m/<M>/ Macro Indicator is <M>,  mn= no macros )
  +-width(<Width>,<Indent>)  message width (default = -width(79,4))
  +-format=...               specifies message format
  +-format4a=,  -format4b=   specifies format if msg. ht. = 4
  +-format_specific=...      prologue to specific Walk messages
  + format codes: %f filename, %l line no, %(...%) use ... if filename,
  +   %t msg type, %n msg no, %m message, %c col no, %C col no +1, %i function,
  +   \n newline, \t tab, \s space, \a alarm \q quote, \\ backslash
  +
  +                           Other Options
  +
  +-A                     only ANSI keywords
  +-/+b                   No/Redirect Banner line
  +-c<code>               compiler code
  +-/+cpp(extension)      remove/add .ext for C++ files
  +-d<name>[=<value>]     defines symbol
  +-D<nm>[=<val>][;<nm>[=<val>]]... define set of symbols
  ++d... or +D...  same as -d or -D except it locks in definitions
  ++ext(ext[,ext]...)     extensions -- defaults to +ext(lnt,cpp,c)
  +-fallthrough           a case of a switch allowing flow from above
  +-father(Parent,Children) a stricter verson of parent
  +-function(f0,f1[,f2]...)  make function f1 (, f2 ...) like
  +    f0;  f0 is any function bearing a user or built-in semantic
  +-header(file)          auto-includes file in each module
  ++headerwarn(file)      Causes Msg 829 to be issued for a given file
  +-i<directory>          #include directory
  +-ident(<chars>)        add identifier characters
  +-ident1(<char>)        define 1-char identifier
  +-idlen(<n>[,opt])      report identifier clashes in <n> chars
  +                       opt: x=external, p=preprocessor, c=compiler
  +-incvar(name)          change name of INCLUDE environment variable
  +-index(flags,ixtype,type(s)) establish ixtype as index type
  +    flags: c == allow Constants, d == allow Dimensions
  ++libclass([all,angle,ansi,foreign]...) default library headers
  +-/+libdir(directory[,...])  deny or specify library directory
  +-/+libh(header[,...])  deny or specify library header by name
  +-library               sets library flag
  +-limit(<n>)            limits the number of messages
  ++linebuf               doubles size of line buffer
  ++lnt(ext)              file.ext is treated like file.lnt
  +-lobbase(filename)     establish a lob base file
  +-/+macros              halve/double the maximum macro size
  +-maxopen(<n>)          assumed number of openable files
  +-od[options](filename)    Output declarations of defined external
  +    objects and functions including prototypes,
  +    options: f=only functions, i=internal functions, s=structs
  +             <width>=specify break width
  +-oe(filename)          Redirect to standard Error (+oe appends)
  +-ol(filename)          Output library file
  +-oo[(filename)]        Output to lint object file
  +-os(filename)          Redirect to standard out (+os appends)
  +-p[(n)]                just preprocess, n == max output width
  +-passes(k[,Opt1[,Opt2]]) requests k passes
  +-parent(Parent,Children) augment strong type hierarchy
  +-ppw(word[,...])       disables(-) or enables(+) pre-processor ...
  ++ppw(word[,...])       keywords, eg: +ppw(ident) enables #ident
  +--ppw(word[,...])      removes built-in meaning of word
  +-ppw_asgn(w1,w2)       assigns pre-proc meaning of w2 to w1
  ++pragma(name,action)   associates action with name
  +             action is one of: 'on', 'off', 'once', 'message'
  +-pragma(name)          disables pragma
  +-printf(#,id[,...])    id is printf-like, # is arg. no. of format
  +-printf_code(Code[,Type]) allows user-defined printf codes
  +-restore               resets error inhibitions
  +-rw(word[,...])        disables(-) or enables(+) reserved words ...
  ++rw(word[,...])        word = '*ms' implies all MS keywords
  +--rw(word[,...])       removes built-in meaning of word
  +-rw_asgn(w1,w2)        assigns reserved word meaning of w2 to w1
  +-save                  saves error inhibitions
  +-scanf(#,id[,...])     scanf-like, # is arg. no. of format
  +-scanf_code(Code[,Type]) allows user-defined scanf codes
  +-sem(name,sem[,sem]...) associates a set of semantics with a function
  +-size(flags,amount)    report large aggregates; flags: a auto, s static
  +-specific(op1[,op2])   Options op1 before and op2 after every specific walk
  +-specific_climit(n)    Per function Limit on the no. of recorded calls
  +-specific_wlimit(n)    Walk limit on the number of recursively generated 
calls
  +-specific_retry(n)     n == 0 implies inhibiting rewalking with same 
parameters
  +-strong(Flags,Type(s)) check strong types ..., Flags are:
  +    A[irpacz] == on Asgn to (except Init, Ret, Param, Asgn op, Consts, Zero);
  +    J[erocz] == on Joining (except Eqlty, Rel, Other ops, Constants, Zero);
  +    X == on eXtraction;   l == allow library;    B[f] or b[f] == strong and
  +    weak Boolean (f == length-1 bit fields are NOT Boolean)
  +-t#                    set tab size to #
  +-u                     unit checkout
  +--u                    -u and ignore modules at lower .lnt level
  +-unreachable           a point in a program is unreachable
  +-u<name>               undefines <name>
  +--u<name>              ignore past and future defines of <name>
  +-w<level>              set warning level (0,1,2,3,4)
  +-wlib(<level>)         set warning level for msgs. within library
  +-wprintf(#,id[,...])   wide char version of -printf
  +-wscanf(#,id[,...])    wide char version of -scanf
  +-zero[(#)]             sets exit code to 0, unless msg. no. < #
  +-$                     permits $ in identifiers
  +
  +                     Compiler-adaptation Options
  +
  +-a#<predicate>(tokens)  (Unix) Assert the truth of #<predicate> for tokens
  +-d<name>()[=<value>]   define function-like macro
  +-#d<name>[=<value>]    defines symbol (for #include only)
  +-overload(X)           hex constant X sets esoteric overload resolution flags
  +-plus(Char)            identifies Char as an alternate option char equiv to +
  +-template(X)           hex constant X sets esoteric template flags
  +
  +                    Compiler-adaptation Keywords
  +
  +@            ignore expression to the right
  +_bit         1 bit wide type
  +_gobble      ignore next token
  +_ignore_init ignore initializer for data and function body for functions
  +_to_brackets ignore next parenthesized (or bracketed) expression
  +_to_semi     ignore until ;
  +_to_eol      ignore until end-of-line
  +
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [email protected]

Reply via email to