+sub emph_dup
+{
+ my $s = shift;
+
+ # chop the end off
+ $s =~ s/\^H\d\d?\^?~?@//;
+ return 1 if exists $emph{$s};
+ $emph{$s} = $main::systime;
+ return undef;
+}
+
+sub emph_clean
+{
+ my ($key, $val);
+
+ while (($key, $val) = each %emph) {
+ if ($main::systime - $val > 90) {
+ delete $emph{$key};
+ }
+ }
+}
+