+ $field_name = x($field_name);
+ if (! $last_field_name) {
+ $last_field_name = $field_name;
+ return $last_field_name;
+ } elsif ($field_name ne $last_field_name) {
+ $last_field_name = $field_name;
+ return $last_field_name;
+ }
+ }
+ }
+
+
+ # init variables for different types
+ sub init_visible_type($) {
+ my $type = shift;
+
+ # swish, swish_exact, display, index, index_lookup
+ # swish and display defaults
+ my ($s,$se,$d,$i,$il) = (1,0,1,0,0);
+ if (lc($type) eq "display") {
+ $s = 0;
+ } elsif (lc($type) eq "swish") {
+ $d = 0;
+ } elsif (lc($type) eq "index") {
+ ($s,$se,$d,$i) = (0,1,0,1);
+ } elsif (lc($type) eq "swish_exact") {
+ ($s,$se,$d,$i) = (0,1,0,0);
+ } elsif (lc($type) =~ /^lookup/) {
+ ($s,$se,$d,$i,$il) = (0,1,0,0,1);
+ } elsif ($type) {
+ print STDERR "WARNING: unknown type: $type\n";