summaryrefslogtreecommitdiff
path: root/mailbox/testsuite/mailbox/mailcap.exp
blob: eaed86782c6b6dcdc648036d6c4a11d2ef3a139d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# -*- tcl -*-
# This file is part of Mailutils testsuite.
# Copyright (C) 2002, 2007, 2010 Free Software Foundation, Inc.
#  
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 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.

mu_prepare_spools

set mailcapfile ${MU_DATA_DIR}/mailcap
set chan [open ${srcdir}/Mailcap r]
set outchan [open "$mailcapfile" w]

set command ""
set state 0
set entry 0
set pattern [list]

for {gets $chan line} {![eof $chan]} {gets $chan line} {
    if {$state == 0} {
	switch -regexp -- "$line" {
	    "^#.*" { }
	    "^entry" {
		set state 1
		incr entry
		lappend pattern "entry\[${entry}\]"
	    }
	    default {
		puts $outchan $line
	    }
	}
    } else {
	switch -regexp -- "$line" {
	    "^#.*" { }
	    "^\$"  {
		lappend pattern ""
		set state 0
	    }
	    default { 
		lappend pattern $line
	    }
	}
    }
}

if {$state == 1} {
    lappend pattern ""
}

close $outchan
close $chan

set MU_TOOL ${top_builddir}/examples/mailcap
set MU_TOOL_FLAGS ""

verbose "INVOKE $pattern"
eval mu_exec -message "mailcap" -arg "$mailcapfile" $pattern

# end of mailcap.exp

Return to:

Send suggestions and report system problems to the System administrator.