Reference: File MListFilt.hst

Purpose:

The sections in file "MListFilt.hst" are used to clear advertising footers inserted in mailing lists messages.

File format:
A section begins with the local group mail address enclosed in square brackets.
Ex: [Hamster-fr-cvs@lists.sourceforge.net]
There are two different entries:

1) start<index>

Index is an integer. 'start' entries must appear in order and without holes.
This is the starting footer string. The line first character is mandatory.
If the string is enclosed in braces it is assumed to be a regular expression.
Ex: start0=------------------------ Yahoo!
Ex: start0={-*\sYahoo!}

2) end<index>

Index is an integer. 'end' entries must appear in order and without holes.
This is the ending footer string. The line last character is mandatory.
If all the text below the start line must be erased you can put '*' (without quotes) here.
If the string is enclosed in braces it is assumed to be a regular expression.
Ex: end0=*
Ex: end0={(coffee)|(caf[e|é])}

Notes:

String match is caseless.
Carefully choose your starting strings as you might delete valuable message text!
For example, below is a sample message body with an advertising footer:

Update of /cvsroot/hamster-fr/hamfr2015src
In directory usw-pr-cvs1:/tmp/cvs-serv7199

Modified Files:
    cClientBase.pas
Log Message:
Var 'x' not used deleted in TClientSocketBase.Connect

Index: cClientBase.pas
===================================================================
RCS file: /cvsroot/hamster-fr/hamfr2015src/cClientBase.pas,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** cClientBase.pas    12 Jun 2002 20:46:19 -0000    1.1.1.1
--- cClientBase.pas    12 Jun 2002 21:01:11 -0000    1.2
***************
*** 430,434 ****
  function  TClientSocketBase.Connect( Const AServer, APort, AIniFile: String;
     Const AUseSSL: Boolean; Const ASSLVerify: Integer; Const ASSLCaFile: String ): Boolean;
! Var s: String; x: Integer;
  begin
     Result  := False;
--- 430,434 ----
  function  TClientSocketBase.Connect( Const AServer, APort, AIniFile: String;
     Const AUseSSL: Boolean; Const ASSLVerify: Integer; Const ASSLCaFile: String ): Boolean;
! Var s: String;
  begin
     Result  := False;


===================================================
Sponsored by:
OurBestSponsor at http://www.BestSponsor.com/
_______________________________________________
Hamster-fr-cvs mailing list
Hamster-fr-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hamster-fr-cvs

We could write a simple rule to delete the entire footer at once, this way:

[Hamster-fr-cvs@lists.sourceforge.net]
start0=
==========================
end0=*

But doing so will delete most of the text as the rule will first match just under the
Index: cClientBase.pas
line!
A better solution is to match the line after and, as this footer sometimes changes, add rules as follow:

[Hamster-fr-cvs@lists.sourceforge.net]
start0=_____________________________
end0=*
start1=Sponsored by:
end1=*
start2=Hamster-fr-cvs mailing list
end2=*

[Hamster Ys Documentation]