method private exec html_start html_end () =
      let (i1,i2) = wview#buffer#selection_bounds in
      let s = i1#get_text ~stop: i2 in
      match s with
        "" ->
          wview#buffer#insert (html_start^html_end)
      |        _ ->
          ignore (wview#buffer#insert ~iter: i2 html_end);
          ignore (wview#buffer#insert ~iter: i1 html_start);
          wview#buffer#place_cursor ~where: i2