diff -pru dillo.orig/src/html.c dillo.frames/src/html.c
--- dillo.orig/src/html.c	Sat Sep  1 23:41:08 2001
+++ dillo.frames/src/html.c	Sat Sep  8 18:23:39 2001
@@ -1325,6 +1325,81 @@ static void Html_tag_open_tr(DilloHtml *
 }
 
 /*
+ * <FRAME> - This is just a temporary fix while real frame support
+ *           isn't finished. Imitates lynx/w3m's frames.
+ */
+static void Html_tag_open_frame (DilloHtml *html, gchar *tag, gint tagsize)
+{
+   gchar *src, *name;
+   DilloUrl *url;
+   DwPage *page;
+   DwStyle style_attrs, *link_style;
+   gint dummy;
+  
+   page = DW_PAGE(html->dw);
+
+   if ( (src = Html_get_attr_p(tag, tagsize, "src", 3)) ) {
+      
+      url = a_Url_new(src, URL_STR(html->linkblock->base_url), 0, 0);
+      if (!url) {
+	 g_free(src);
+	 return;
+      }
+  
+      style_attrs = *(html->stack[html->stack_top].style);
+      style_attrs.link = Html_new_link(html, url);
+
+      if (a_Cache_url_read(url, &dummy))
+         style_attrs.color = a_Dw_style_color_new
+            (html->linkblock->visited_color, html->bw->main_window->window);
+      else
+         style_attrs.color = a_Dw_style_color_new
+            (html->linkblock->link_color,  html->bw->main_window->window);
+      style_attrs.uline = TRUE;
+
+      link_style = a_Dw_style_new (&style_attrs, 
+				   html->bw->main_window->window);
+      
+      a_Dw_page_parbreak(page, 5);
+      if ( !(name = Html_get_attr_p(tag, tagsize, "name", 3)) )
+	 a_Dw_page_add_text(page, g_strdup(src), link_style);
+      else {
+	 a_Dw_page_add_text(page, g_strdup(name), link_style);
+	 g_free(name);
+      }
+      a_Dw_page_parbreak(page, 5);
+      
+      a_Url_free(url);
+      a_Dw_style_unref(link_style);
+      g_free(src);
+   }
+}
+
+/*
+ * <FRAMESET> - This is just a temporary fix while real frame support
+ *              isn't finished. Imitates lynx/w3m's frames.
+ *              Changed the style indentation to make it list-like (w3m)
+ */
+static void Html_tag_open_frameset (DilloHtml *html, gchar *tag, gint tagsize)
+{
+   DwStyle style_attrs, *old_style;
+
+   Html_push_tag(html, tag, tagsize);
+
+   a_Dw_page_add_text(DW_PAGE(html->dw), g_strdup("--FRAME--"), 
+		      html->stack[html->stack_top].style);
+   a_Dw_page_parbreak(DW_PAGE(html->dw), 5);
+
+   old_style = html->stack[html->stack_top].style;
+   style_attrs = *old_style;
+   style_attrs.left_indent_rest += 40;
+   style_attrs.left_indent_first = style_attrs.left_indent_rest;
+   html->stack[html->stack_top].style =
+      a_Dw_style_new (&style_attrs, html->bw->main_window->window);
+   a_Dw_style_unref (old_style);
+}
+
+/*
  * <H1> | <H2> | <H3> | <H4> | <H5> | <H6>
  */
 static void Html_tag_open_h(DilloHtml *html, char *tag, gint tagsize)
@@ -3155,8 +3230,8 @@ static const TagInfo Tags[] = {
   /* fieldset */
   {"font", Html_tag_open_font, Html_tag_close_default},
   {"form", Html_tag_open_form, Html_tag_close_form},
-  /* frame */
-  /* frameset */
+  {"frame", Html_tag_open_frame, Html_tag_close_nop},
+  {"frameset", Html_tag_open_frameset, Html_tag_close_default},
   {"h1", Html_tag_open_h, Html_tag_close_h},
   {"h2", Html_tag_open_h, Html_tag_close_h},
   {"h3", Html_tag_open_h, Html_tag_close_h},

