Gitweb links:

...log 
http://git.netsurf-browser.org/netsurf.git/shortlog/5d6f189d8bb723201d44a0d4f35d93ffb6a00a54
...commit 
http://git.netsurf-browser.org/netsurf.git/commit/5d6f189d8bb723201d44a0d4f35d93ffb6a00a54
...tree 
http://git.netsurf-browser.org/netsurf.git/tree/5d6f189d8bb723201d44a0d4f35d93ffb6a00a54

The branch, vince/nslog has been updated
       via  5d6f189d8bb723201d44a0d4f35d93ffb6a00a54 (commit)
       via  2b0a5ef2e732ed484096b558116d28ac7abbef0a (commit)
       via  3faaf00ca3e3c6b3ae5e7ec61bc623917f4fb9fe (commit)
       via  b9bdc279f228c6e70d05c85361fe7d018beba444 (commit)
      from  b346790cf67d5bda40ed06c035f02d0af414361a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=5d6f189d8bb723201d44a0d4f35d93ffb6a00a54
commit 5d6f189d8bb723201d44a0d4f35d93ffb6a00a54
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>

    Fixup everything the semantic patch missed

diff --git a/content/content.c b/content/content.c
index 8ed5c1b..9a24041 100644
--- a/content/content.c
+++ b/content/content.c
@@ -770,7 +770,7 @@ void content_broadcast(struct content *c, content_msg msg,
        struct content_user *user, *next;
        assert(c);
 
-//     LOG("%p -> msg:%d", c, msg);
+       NSLOG(netsurf, DEEPDEBUG, "%p -> msg:%d", c, msg);
        for (user = c->user_list->next; user != 0; user = next) {
                next = user->next;  /* user may be destroyed during callback */
                if (user->callback != 0)
diff --git a/content/fs_backing_store.c b/content/fs_backing_store.c
index 6485650..1b59ea1 100644
--- a/content/fs_backing_store.c
+++ b/content/fs_backing_store.c
@@ -1153,12 +1153,12 @@ build_entrymap(struct store_state *state)
        state->total_alloc = 0;
 
        for (eloop = 1; eloop < state->last_entry; eloop++) {
-               /*
-               LOG("entry:%d ident:0x%08x used:%d",
-                    eloop,
-                    BS_ADDRESS(state->entries[eloop].ident, state),
-                    state->entries[eloop].use_count);
-               */
+
+               NSLOG(llcache, DEEPDEBUG,
+                     "entry:%d ident:0x%08x used:%d",
+                     eloop,
+                     BS_ADDRESS(state->entries[eloop].ident, state),
+                     state->entries[eloop].use_count);
 
                /* update the address map to point at the entry */
                BS_ENTRY_INDEX(state->entries[eloop].ident, state) = eloop;
diff --git a/frontends/amiga/bitmap.c b/frontends/amiga/bitmap.c
index 757b559..0fde677 100644
--- a/frontends/amiga/bitmap.c
+++ b/frontends/amiga/bitmap.c
@@ -602,8 +602,12 @@ static inline struct BitMap *ami_bitmap_get_generic(struct 
bitmap *bitmap,
                                                TAG_DONE);
 
                        if (err != COMPERR_Success) {
-                               LOG("Composite error %ld - falling back", err);
-                               /* If it failed, do it again the way which 
works in software */
+                               NSLOG(netsurf, INFO,
+                                     "Composite error %ld - falling back",
+                                     err);
+                               /* If it failed, do it again the way
+                                *  which works in software
+                                */
 #else
                        {
 #endif
@@ -617,7 +621,8 @@ static inline struct BitMap *ami_bitmap_get_generic(struct 
bitmap *bitmap,
                                                COMPTAG_FriendBitMap, 
scrn->RastPort.BitMap,
                                                TAG_DONE);
                                /* If it still fails... it's non-fatal */
-                               LOG("Fallback returned error %ld", err);
+                               NSLOG(netsurf, INFO,
+                                     "Fallback returned error %ld", err);
                        }
                } else /* Do it the old-fashioned way.  This is pretty slow, 
even on OS4.1 */
 #endif
diff --git a/frontends/amiga/corewindow.c b/frontends/amiga/corewindow.c
index 243146a..42ee866 100644
--- a/frontends/amiga/corewindow.c
+++ b/frontends/amiga/corewindow.c
@@ -526,7 +526,8 @@ HOOKF(void, ami_cw_idcmp_hook, Object *, object, struct 
IntuiMessage *)
                break;
 
                default:
-                       LOG("IDCMP hook unhandled event: %ld", msg->Class);
+                       NSLOG(netsurf, INFO,
+                             "IDCMP hook unhandled event: %ld", msg->Class);
                break;
        }
 } 
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index 387c215..e4acf70 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -3863,7 +3863,8 @@ HOOKF(void, ami_scroller_hook, Object *, object, struct 
IntuiMessage *)
                break;
 
                default:
-                       LOG("IDCMP hook unhandled event: %ld", msg->Class);
+                       NSLOG(netsurf, INFO,
+                             "IDCMP hook unhandled event: %ld", msg->Class);
                break;
        }
 //     ReplyMsg((struct Message *)msg);
diff --git a/frontends/amiga/libs.c b/frontends/amiga/libs.c
index 3069454..43fe43f 100644
--- a/frontends/amiga/libs.c
+++ b/frontends/amiga/libs.c
@@ -56,11 +56,11 @@
 
 #ifdef __amigaos4__
 #define AMINS_LIB_OPEN(LIB, LIBVER, PREFIX, INTERFACE, INTVER, FAIL)   \
-       LOG("Opening %s v%d", LIB, LIBVER); \
+       NSLOG(netsurf, INFO, "Opening %s v%d", LIB, LIBVER);            \
        if((PREFIX##Base = (struct PREFIX##Base *)OpenLibrary(LIB, LIBVER))) {  
\
                I##PREFIX = (struct PREFIX##IFace *)GetInterface((struct 
Library *)PREFIX##Base, INTERFACE, INTVER, NULL);      \
                if(I##PREFIX == NULL) { \
-                       LOG("Failed to get %s interface v%d of %s", INTERFACE, 
INTVER, LIB);    \
+                       NSLOG(netsurf, INFO, "Failed to get %s interface v%d of 
%s", INTERFACE, INTVER, LIB); \
                        AMINS_LIB_CLOSE(PREFIX) \
                        if(FAIL == true) {      \
                                STRPTR error = ASPrintf("Unable to open 
interface %s v%d\nof %s v%ld (fatal error - not an OS4 lib?)", INTERFACE, 
INTVER, LIB, LIBVER); \
@@ -70,7 +70,7 @@
                        }       \
                }       \
        } else {        \
-               LOG("Failed to open %s v%d", LIB, LIBVER);      \
+               NSLOG(netsurf, INFO, "Failed to open %s v%d", LIB, LIBVER); \
                if(FAIL == true) {      \
                        STRPTR error = ASPrintf("Unable to open %s v%ld (fatal 
error)", LIB, LIBVER);   \
                        ami_misc_fatal_error(error);    \
@@ -90,13 +90,13 @@
        struct PREFIX##IFace *I##PREFIX = NULL;
 
 #define AMINS_CLASS_OPEN(CLASS, CLASSVER, PREFIX, CLASSGET, NEEDINTERFACE)     
\
-       LOG("Opening %s v%d", CLASS, CLASSVER); \
+       NSLOG(netsurf, INFO, "Opening %s v%d", CLASS, CLASSVER);                
\
        if((PREFIX##Base = OpenClass(CLASS, CLASSVER, &PREFIX##Class))) {       
\
                if(NEEDINTERFACE == true) {     \
-                       LOG("        + interface");     \
+                       NSLOG(netsurf, INFO, "        + interface");    \
                        I##PREFIX = (struct PREFIX##IFace 
*)GetInterface((struct Library *)PREFIX##Base, "main", 1, NULL);      \
                        if(I##PREFIX == NULL) { \
-                               LOG("Failed to get main interface v1 of %s", 
CLASS);    \
+                               NSLOG(netsurf, INFO, "Failed to get main 
interface v1 of %s", CLASS); \
                        }       \
                }       \
        }       \
@@ -118,10 +118,10 @@
 
 #else
 #define AMINS_LIB_OPEN(LIB, LIBVER, PREFIX, INTERFACE, INTVER, FAIL)   \
-       LOG("Opening %s v%d", LIB, LIBVER); \
+       NSLOG(netsurf, INFO, "Opening %s v%d", LIB, LIBVER);            \
        if((PREFIX##Base = (struct PREFIX##Base *)OpenLibrary(LIB, LIBVER))) {  
\
        } else {        \
-               LOG("Failed to open %s v%d", LIB, LIBVER);      \
+               NSLOG(netsurf, INFO, "Failed to open %s v%d", LIB, LIBVER); \
                if(FAIL == true) {      \
                        STRPTR error = ASPrintf("Unable to open %s v%d (fatal 
error)", LIB, LIBVER);    \
                        ami_misc_fatal_error(error);    \
@@ -137,7 +137,7 @@
        struct PREFIX##Base *PREFIX##Base = NULL;
 
 #define AMINS_CLASS_OPEN(CLASS, CLASSVER, PREFIX, CLASSGET, NEEDINTERFACE)     
\
-       LOG("Opening %s v%d", CLASS, CLASSVER); \
+       NSLOG(netsurf, INFO, "Opening %s v%d", CLASS, CLASSVER);        \
        if((PREFIX##Base = OpenLibrary(CLASS, CLASSVER))) {     \
                PREFIX##Class = CLASSGET##_GetClass();  \
        }       \
diff --git a/frontends/amiga/menu.c b/frontends/amiga/menu.c
index 65265c3..1f3f981 100644
--- a/frontends/amiga/menu.c
+++ b/frontends/amiga/menu.c
@@ -263,7 +263,9 @@ static int ami_menu_layout_mc_recursive(Object 
*menu_parent, struct ami_menu_dat
                                        TAG_DONE);
                        }
 
-                       //LOG("Adding item %p ID %d (%s) to parent %p", 
menu_item, j, md[j]->menulab, menu_parent);
+                       NSLOG(netsurf, DEEPDEBUG,
+                             "Adding item %p ID %d (%s) to parent %p",
+                             menu_item, j, md[j]->menulab, menu_parent);
                        IDoMethod(menu_parent, OM_ADDMEMBER, menu_item);
                        continue;
                } else if (md[j]->menutype > level) {
diff --git a/frontends/atari/deskmenu.c b/frontends/atari/deskmenu.c
index 32dfd70..ded68ca 100644
--- a/frontends/atari/deskmenu.c
+++ b/frontends/atari/deskmenu.c
@@ -181,7 +181,7 @@ static void __CDECL menu_about(short item, short title, 
void *data)
          nserror error;
          char buf[PATH_MAX];
 
-         LOG("%s", __FUNCTION__);
+         NSLOG(netsurf, INFO, "abort menu");
          strcpy((char*)&buf, "file://");
          strncat((char*)&buf, (char*)"./doc/README.TXT",
          PATH_MAX - (strlen("file://")+1) );
diff --git a/frontends/beos/font.cpp b/frontends/beos/font.cpp
index 407918f..8111303 100644
--- a/frontends/beos/font.cpp
+++ b/frontends/beos/font.cpp
@@ -204,8 +204,8 @@ static nserror beos_font_position(const plot_font_style_t 
*fstyle,
                const char *string, size_t length,
                int x, size_t *char_offset, int *actual_x)
 {
-       //LOG("(, '%s', %d, %d, , )", string, length, x);
-       //fprintf(stderr, "%s(, '%s', %d, %d, , )\n", __FUNCTION__, string, 
length, x);
+       NSLOG(netsurf, DEEPDEBUG, "(, '%s', %d, %d, , )", string, length, x);
+
        int index;
        BFont font;
 
@@ -261,8 +261,7 @@ static nserror beos_font_split(const plot_font_style_t 
*fstyle,
                const char *string, size_t length,
                int x, size_t *char_offset, int *actual_x)
 {
-       //fprintf(stderr, "%s(, '%s', %d, %d, , )\n", __FUNCTION__, string, 
length, x);
-       //LOG("(, '%s', %d, %d, , )", string, length, x);
+       NSLOG(netsurf, DEEPDEBUG, "(, '%s', %d, %d, , )", string, length, x);
        int index = 0;
        BFont font;
 
diff --git a/frontends/beos/gui.cpp b/frontends/beos/gui.cpp
index f2c9917..69a0d6d 100644
--- a/frontends/beos/gui.cpp
+++ b/frontends/beos/gui.cpp
@@ -764,17 +764,21 @@ void nsbeos_gui_poll(void)
        timeout.tv_sec = (long)(next_schedule / 1000000LL);
        timeout.tv_usec = (long)(next_schedule % 1000000LL);
 
-       //LOG("gui_poll: select(%d, ..., %Ldus", max_fd, next_schedule);
+       NSLOG(netsurf, DEEPDEBUG,
+             "gui_poll: select(%d, ..., %Ldus",
+             max_fd, next_schedule);
        fd_count = select(max_fd, &read_fd_set, &write_fd_set, &exc_fd_set, 
                &timeout);
-       //LOG("select: %d\n", fd_count);
+       NSLOG(netsurf, DEEPDEBUG, "select: %d\n", fd_count);
 
        if (fd_count > 0 && FD_ISSET(sEventPipe[0], &read_fd_set)) {
                BMessage *message;
                int len = read(sEventPipe[0], &message, sizeof(void *));
-               //LOG("gui_poll: BMessage ? %d read", len);
+               NSLOG(netsurf, DEEPDEBUG, "gui_poll: BMessage ? %d read", len);
                if (len == sizeof(void *)) {
-                       //LOG("gui_poll: BMessage.what %-4.4s\n", 
&(message->what));
+                       NSLOG(netsurf, DEEPDEBUG,
+                             "gui_poll: BMessage.what %-4.4s\n",
+                             &(message->what));
                        nsbeos_dispatch_event(message);
                }
        }
diff --git a/frontends/beos/window.cpp b/frontends/beos/window.cpp
index c6e2aad..f422920 100644
--- a/frontends/beos/window.cpp
+++ b/frontends/beos/window.cpp
@@ -457,7 +457,7 @@ void nsbeos_dispatch_event(BMessage *message)
                return;
        }
 
-       //LOG("processing message");
+       NSLOG(netsurf, DEEPDEBUG, "processing message");
        switch (message->what) {
                case B_QUIT_REQUESTED:
                        // from the BApplication
diff --git a/frontends/gtk/layout_pango.c b/frontends/gtk/layout_pango.c
index 3002786..9e17c3b 100644
--- a/frontends/gtk/layout_pango.c
+++ b/frontends/gtk/layout_pango.c
@@ -84,9 +84,10 @@ nsfont_width(const plot_font_style_t *fstyle,
 
        pango_layout_get_pixel_size(nsfont_pango_layout, width, 0);
 
-       /* LOG("fstyle: %p string:\"%.*s\", length: %u, width: %dpx",
-                       fstyle, length, string, length, *width);
-        */
+       NSLOG(netsurf, DEEPDEBUG,
+             "fstyle: %p string:\"%.*s\", length: %u, width: %dpx",
+             fstyle, length, string, length, *width);
+        
 
        return NSERROR_OK;
 }
diff --git a/frontends/gtk/resources.c b/frontends/gtk/resources.c
index c07548b..0f0d180 100644
--- a/frontends/gtk/resources.c
+++ b/frontends/gtk/resources.c
@@ -202,7 +202,8 @@ init_resource(char **respath, struct nsgtk_resource_s 
*resource)
                              resource->path);
                        return NSERROR_OK;
                }
-               /*LOG("gresource \"%s\" not found", resname);*/
+               NSLOG(netsurf, DEEPDEBUG,
+                     "gresource \"%s\" not found", resname);
                free(resname);
 
                langc++;
@@ -226,7 +227,7 @@ init_resource(char **respath, struct nsgtk_resource_s 
*resource)
                      resource->path);
                return NSERROR_OK;
        }
-       /*LOG("gresource \"%s\" not found", resname);*/
+       NSLOG(netsurf, DEEPDEBUG, "gresource \"%s\" not found", resname);*/
        free(resname);
 
 #endif
diff --git a/frontends/riscos/configure/con_image.c 
b/frontends/riscos/configure/con_image.c
index 49dd4f7..c7fc7f3 100644
--- a/frontends/riscos/configure/con_image.c
+++ b/frontends/riscos/configure/con_image.c
@@ -150,8 +150,9 @@ void ro_gui_options_image_redraw(wimp_draw *redraw)
        icon_state.i = IMAGE_CURRENT_DISPLAY;
        error = xwimp_get_icon_state(&icon_state);
        if (error) {
-               LOG("xwimp_get_icon_state: 0x%x: %s",
-                               error->errnum, error->errmess);
+               NSLOG(netsurf, INFO,
+                     "xwimp_get_icon_state: 0x%x: %s",
+                     error->errnum, error->errmess);
                ro_warn_user("MenuError", error->errmess);
                return;
        }
diff --git a/frontends/riscos/gui.c b/frontends/riscos/gui.c
index 51ea370..9d651bc 100644
--- a/frontends/riscos/gui.c
+++ b/frontends/riscos/gui.c
@@ -274,8 +274,10 @@ set_colour_from_wimp(struct nsoption_s *opts,
 
        error = xwimp_read_true_palette((os_palette *) &palette);
        if (error != NULL) {
-               LOG("xwimp_read_palette: 0x%x: %s",
-                    error->errnum, error->errmess);
+               NSLOG(netsurf, INFO,
+                     "xwimp_read_palette: 0x%x: %s",
+                     error->errnum,
+                     error->errmess);
        } else {
                /* entries are in B0G0R0LL */
                def_colour = palette.entries[wimp] >> 8;
diff --git a/frontends/riscos/textselection.c b/frontends/riscos/textselection.c
index efec96b..e5be277 100644
--- a/frontends/riscos/textselection.c
+++ b/frontends/riscos/textselection.c
@@ -482,7 +482,7 @@ void 
ro_gui_selection_data_request(wimp_full_message_data_request *req)
 //                     bits ftype = req->file_types[i];
 //                     if (ftype == ~0U) break;        /* list terminator */
 //
-//                     LOG("type %x", ftype);
+//                     NSLOG(netsurf, INFO, "type %x", ftype);
 //                     i++;
 //             }
 
diff --git a/frontends/riscos/theme.c b/frontends/riscos/theme.c
index 661beb7..341b7f7 100644
--- a/frontends/riscos/theme.c
+++ b/frontends/riscos/theme.c
@@ -16,8 +16,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-/** \file
- * Window themes (implementation).
+/**
+ * \file
+ * Window themes implementation.
  */
 
 #include <alloca.h>
@@ -180,8 +181,10 @@ static void ro_gui_theme_get_available_in_dir(const char 
*directory)
                                (osgbpb_info_list *) &info, 1, context,
                                sizeof(info), 0, &read_count, &context);
                if (error) {
-                       LOG("xosgbpb_dir_entries_info: 0x%x: %s",
-                               error->errnum, error->errmess);
+                       NSLOG(netsurf, INFO,
+                             "xosgbpb_dir_entries_info: 0x%x: %s",
+                             error->errnum,
+                             error->errmess);
                        if (error->errnum == 0xd6)      /* no such dir */
                                return;
                        ro_warn_user("MiscError", error->errmess);
diff --git a/frontends/windows/font.c b/frontends/windows/font.c
index 75464f9..37ccf23 100644
--- a/frontends/windows/font.c
+++ b/frontends/windows/font.c
@@ -309,10 +309,11 @@ win32_font_split(const plot_font_style_t *style,
                }
        }
 
-/*
-  LOG("ret %d Split %u chars at %ipx: Split at char %i (%ipx) - %.*s",
-  ret, length, x, *char_offset, *actual_x, *char_offset, string);
-*/
+
+       NSLOG(netsurf, DEEPDEBUG,
+             "ret %d Split %u chars at %ipx: Split at char %i (%ipx) - %.*s",
+             ret, length, x, *char_offset, *actual_x, *char_offset, string);
+
        return ret;
 }
 
diff --git a/frontends/windows/windbg.h b/frontends/windows/windbg.h
index b2d8640..6cd9f97 100644
--- a/frontends/windows/windbg.h
+++ b/frontends/windows/windbg.h
@@ -24,11 +24,13 @@
 const char *msg_num_to_name(int msg);
 void win_perror(const char *lpszFunction);
 
-#define LOG_WIN_MSG(h, m, w, l)                                \
-       if (((m) != WM_SETCURSOR) &&                    \
-           ((m) != WM_MOUSEMOVE) &&                    \
-           ((m) != WM_NCHITTEST) &&                    \
-           ((m) != WM_ENTERIDLE))                      \
-               LOG("%s, hwnd %p, w 0x%x, l 0x%Ix", msg_num_to_name(m), h, w, 
l);
+#define LOG_WIN_MSG(h, m, w, l)                                                
\
+       if (((m) != WM_SETCURSOR) &&                                    \
+           ((m) != WM_MOUSEMOVE) &&                                    \
+           ((m) != WM_NCHITTEST) &&                                    \
+           ((m) != WM_ENTERIDLE))                                      \
+               NSLOG(netsurf, INFO,                                    \
+                     "%s, hwnd %p, w 0x%x, l 0x%Ix",                   \
+                     msg_num_to_name(m), h, w, l)
 
 #endif
diff --git a/frontends/windows/window.c b/frontends/windows/window.c
index 20db25a..5c5dc67 100644
--- a/frontends/windows/window.c
+++ b/frontends/windows/window.c
@@ -163,7 +163,8 @@ static HWND nsws_window_create(HINSTANCE hInstance, struct 
gui_window *gw)
        gw->mainmenu = LoadMenu(hInstance, MAKEINTRESOURCE(IDR_MENU_MAIN));
        gw->rclick = LoadMenu(hInstance, MAKEINTRESOURCE(IDR_MENU_CONTEXT));
 
-       NSLOG(netsurf, INFO, "creating hInstance %p GUI window %p",
+       NSLOG(netsurf, INFO,
+             "creating hInstance %p GUI window %p",
              hInstance, gw);
        hwnd = CreateWindowEx(0,
                              windowclassname_main,
@@ -195,7 +196,8 @@ static HWND nsws_window_create(HINSTANCE hInstance, struct 
gui_window *gw)
            (nsoption_int(window_height) >= 100) &&
            (nsoption_int(window_x) >= 0) &&
            (nsoption_int(window_y) >= 0)) {
-               NSLOG(netsurf, INFO, "Setting Window position %d,%d %d,%d",
+               NSLOG(netsurf, INFO,
+                     "Setting Window position %d,%d %d,%d",
                      nsoption_int(window_x), nsoption_int(window_y),
                      nsoption_int(window_width), nsoption_int(window_height));
                SetWindowPos(hwnd, HWND_TOP,
@@ -1879,7 +1881,9 @@ nserror win32_window_set_scroll(struct gui_window *gw, 
const struct rect *rect)
                gw->requestscrolly = rect->y0 - gw->scrolly;
        }
 
-       /*LOG("requestscroll x,y:%d,%d", w->requestscrollx, 
w->requestscrolly);*/
+       NSLOG(netsurf, DEEPDEBUG,
+             "requestscroll x,y:%d,%d",
+             w->requestscrollx, w->requestscrolly);
 
        /* set the vertical scroll offset */
        si.cbSize = sizeof(si);
@@ -1890,7 +1894,9 @@ nserror win32_window_set_scroll(struct gui_window *gw, 
const struct rect *rect)
        si.nPos = max(gw->scrolly + gw->requestscrolly, 0);
        si.nPos = min(si.nPos, height - gw->height);
        SetScrollInfo(gw->drawingarea, SB_VERT, &si, TRUE);
-       /*LOG("SetScrollInfo VERT min:%d max:%d page:%d pos:%d", si.nMin, 
si.nMax, si.nPage, si.nPos);*/
+       NSLOG(netsurf, DEEPDEBUG,
+             "SetScrollInfo VERT min:%d max:%d page:%d pos:%d",
+             si.nMin, si.nMax, si.nPage, si.nPos);
 
        /* set the horizontal scroll offset */
        si.cbSize = sizeof(si);
@@ -1901,7 +1907,9 @@ nserror win32_window_set_scroll(struct gui_window *gw, 
const struct rect *rect)
        si.nPos = max(gw->scrollx + gw->requestscrollx, 0);
        si.nPos = min(si.nPos, width - gw->width);
        SetScrollInfo(gw->drawingarea, SB_HORZ, &si, TRUE);
-       /*LOG("SetScrollInfo HORZ min:%d max:%d page:%d pos:%d", si.nMin, 
si.nMax, si.nPage, si.nPos);*/
+       NSLOG(netsurf, DEEPDEBUG,
+             "SetScrollInfo HORZ min:%d max:%d page:%d pos:%d",
+             si.nMin, si.nMax, si.nPage, si.nPos);
 
        /* Set caret position */
        GetCaretPos(&p);
@@ -1915,7 +1923,9 @@ nserror win32_window_set_scroll(struct gui_window *gw, 
const struct rect *rect)
        r.left = 0;
        r.right = gw->width + 1;
        ScrollWindowEx(gw->drawingarea, - gw->requestscrollx, - 
gw->requestscrolly, &r, NULL, NULL, &redraw, SW_INVALIDATE);
-       /*LOG("ScrollWindowEx %d, %d", - w->requestscrollx, - 
w->requestscrolly);*/
+       NSLOG(netsurf, DEEPDEBUG,
+             "ScrollWindowEx %d, %d",
+             - w->requestscrollx, - w->requestscrolly);
        gw->scrolly += gw->requestscrolly;
        gw->scrollx += gw->requestscrollx;
        gw->requestscrollx = 0;
diff --git a/render/html.c b/render/html.c
index 482259f..3cfc5e2 100644
--- a/render/html.c
+++ b/render/html.c
@@ -769,7 +769,7 @@ dom_event_fetcher(dom_string *type,
                  dom_default_action_phase phase,
                  void **pw)
 {
-       //LOG("type:%s", dom_string_data(type));
+       NSLOG(netsurf, DEEPDEBUG, "type:%s", dom_string_data(type));
 
        if (phase == DOM_DEFAULT_ACTION_END) {
                if (dom_string_isequal(type, corestring_dom_DOMNodeInserted)) {
diff --git a/utils/nsurl/private.h b/utils/nsurl/private.h
index 89d7ed4..bc6737c 100644
--- a/utils/nsurl/private.h
+++ b/utils/nsurl/private.h
@@ -187,28 +187,44 @@ static inline void nsurl__components_destroy(struct 
nsurl_components *c)
 static inline void nsurl__dump(const nsurl *url)
 {
        if (url->components.scheme)
-               LOG("  Scheme: %s", lwc_string_data(url->components.scheme));
+               NSLOG(netsurf, INFO,netsurf, INFO,
+                       "  Scheme: %s",
+                       lwc_string_data(url->components.scheme));
 
        if (url->components.username)
-               LOG("Username: %s", lwc_string_data(url->components.username));
+               NSLOG(netsurf, INFO,
+                     "Username: %s",
+                     lwc_string_data(url->components.username));
 
        if (url->components.password)
-               LOG("Password: %s", lwc_string_data(url->components.password));
+               NSLOG(netsurf, INFO,
+                     "Password: %s",
+                     lwc_string_data(url->components.password));
 
        if (url->components.host)
-               LOG("    Host: %s", lwc_string_data(url->components.host));
+               NSLOG(netsurf, INFO,
+                     "    Host: %s",
+                     lwc_string_data(url->components.host));
 
        if (url->components.port)
-               LOG("    Port: %s", lwc_string_data(url->components.port));
+               NSLOG(netsurf, INFO,
+                     "    Port: %s",
+                     lwc_string_data(url->components.port));
 
        if (url->components.path)
-               LOG("    Path: %s", lwc_string_data(url->components.path));
+               NSLOG(netsurf, INFO,
+                     "    Path: %s",
+                     lwc_string_data(url->components.path));
 
        if (url->components.query)
-               LOG("   Query: %s", lwc_string_data(url->components.query));
+               NSLOG(netsurf, INFO,
+                     "   Query: %s",
+                     lwc_string_data(url->components.query));
 
        if (url->components.fragment)
-               LOG("Fragment: %s", lwc_string_data(url->components.fragment));
+               NSLOG(netsurf, INFO,
+                     "Fragment: %s",
+                     lwc_string_data(url->components.fragment));
 }
 #endif
 


commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=2b0a5ef2e732ed484096b558116d28ac7abbef0a
commit 2b0a5ef2e732ed484096b558116d28ac7abbef0a
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>

    update framebuffer toolkit logging to use a ctagory

diff --git a/frontends/framebuffer/fbtk.h b/frontends/framebuffer/fbtk.h
index 3cc326c..86bdc86 100644
--- a/frontends/framebuffer/fbtk.h
+++ b/frontends/framebuffer/fbtk.h
@@ -21,12 +21,6 @@
 
 #include "netsurf/types.h"
 
-#ifdef FBTK_LOGGING
-#define FBTK_LOG(x) LOG(x)
-#else
-#define FBTK_LOG(x)
-#endif
-
 #define FB_SCROLL_COLOUR 0xFFAAAAAA
 #define FB_FRAME_COLOUR 0xFFDDDDDD
 #define FB_COLOUR_BLACK 0xFF000000
diff --git a/frontends/framebuffer/fbtk/fbtk.c 
b/frontends/framebuffer/fbtk/fbtk.c
index a0b0f66..91f6e25 100644
--- a/frontends/framebuffer/fbtk/fbtk.c
+++ b/frontends/framebuffer/fbtk/fbtk.c
@@ -53,7 +53,7 @@ dump_tk_tree(fbtk_widget_t *widget)
        int indent = 0;
 
        while (widget != NULL) {
-               NSLOG(netsurf, INFO, "%*s%p", indent, "", widget);
+               NSLOG(fbtk, DEBUG, "%*s%p", indent, "", widget);
                if (widget->first_child != NULL) {
                        widget = widget->first_child;
                        indent += 6;
@@ -100,11 +100,13 @@ fbtk_request_redraw(fbtk_widget_t *widget)
        widget->redraw.width = widget->width;
        widget->redraw.height = widget->height;
 
-#ifdef FBTK_LOGGING
-       NSLOG(netsurf, INFO, "redrawing %p %d,%d %d,%d", widget,
-             widget->redraw.x, widget->redraw.y, widget->redraw.width,
+       NSLOG(fbtk, DEBUG,
+             "redrawing %p %d,%d %d,%d",
+             widget,
+             widget->redraw.x,
+             widget->redraw.y,
+             widget->redraw.width,
              widget->redraw.height);
-#endif
 
        cwidget = widget->last_child;
        while (cwidget != NULL) {
@@ -134,9 +136,11 @@ fbtk_set_mapping(fbtk_widget_t *widget, bool map)
        return 0;
 }
 
-/** swap the widget given with the next sibling.
- *
+
+/**
  * Swap a sibling widget with the next deepest in the hierachy
+ *
+ * \param lw The widget to swap
  */
 static void
 swap_siblings(fbtk_widget_t *lw)
@@ -403,7 +407,6 @@ fbtk_set_ptr(fbtk_widget_t *widget, fbtk_callback_info *cbi)
 }
 
 
-
 /* internally exported function documented in widget.h */
 fbtk_widget_t *
 fbtk_get_root_widget(fbtk_widget_t *widget)
@@ -436,6 +439,7 @@ fbtk_get_absx(fbtk_widget_t *widget)
        return x;
 }
 
+
 /* exported function documented in fbtk.h */
 int
 fbtk_get_absy(fbtk_widget_t *widget)
@@ -450,6 +454,7 @@ fbtk_get_absy(fbtk_widget_t *widget)
        return y;
 }
 
+
 /* exported function documented in fbtk.h */
 int
 fbtk_get_height(fbtk_widget_t *widget)
@@ -554,10 +559,7 @@ fbtk_widget_new(fbtk_widget_t *parent,
        if (neww == NULL)
                return NULL;
 
-#ifdef FBTK_LOGGING
-       NSLOG(netsurf, INFO, "creating %p %d,%d %d,%d", neww, x, y, width,
-             height);
-#endif
+       NSLOG(fbtk, DEBUG, "creating %p %d,%d %d,%d", neww, x, y, width, 
height);
 
        /* make new window fit inside parent */
        if (width == 0) {
@@ -578,10 +580,8 @@ fbtk_widget_new(fbtk_widget_t *parent,
                height = parent->height - y;
        }
 
-#ifdef FBTK_LOGGING
-       NSLOG(netsurf, INFO, "using %p %d,%d %d,%d", neww, x, y, width,
-             height);
-#endif
+       NSLOG(fbtk, DEBUG, "using %p %d,%d %d,%d", neww, x, y, width, height);
+
        /* set values */
        neww->type = type;
        neww->x = x;
@@ -639,10 +639,12 @@ do_redraw(nsfb_t *nsfb, fbtk_widget_t *widget)
                plot_ctx.x1 = plot_ctx.x0 + widget->redraw.width;
                plot_ctx.y1 = plot_ctx.y0 + widget->redraw.height;
 
-#ifdef FBTK_LOGGING
-               NSLOG(netsurf, INFO, "clipping %p %d,%d %d,%d", widget,
-                     plot_ctx.x0, plot_ctx.y0, plot_ctx.x1, plot_ctx.y1);
-#endif
+               NSLOG(fbtk, DEBUG,
+                     "clipping %p %d,%d %d,%d",
+                     widget,
+                     plot_ctx.x0, plot_ctx.y0,
+                     plot_ctx.x1, plot_ctx.y1);
+
                if (nsfb_plot_set_clip(nsfb, &plot_ctx) == true) {
                        fbtk_post_callback(widget, FBTK_CBT_REDRAW);
                }
diff --git a/utils/log.c b/utils/log.c
index f555a86..3beb695 100644
--- a/utils/log.c
+++ b/utils/log.c
@@ -96,6 +96,7 @@ NSLOG_DEFINE_CATEGORY(llcache, "Low level cache");
 NSLOG_DEFINE_CATEGORY(fetch, "objet fetching");
 NSLOG_DEFINE_CATEGORY(plot, "rendering system");
 NSLOG_DEFINE_CATEGORY(schedule, "scheduler");
+NSLOG_DEFINE_CATEGORY(fbtk, "Framebuffer toolkit");
 
 static void
 netsurf_render_log(void *_ctx,
diff --git a/utils/log.h b/utils/log.h
index 3f2f98d..1dbc9e3 100644
--- a/utils/log.h
+++ b/utils/log.h
@@ -61,6 +61,7 @@ NSLOG_DECLARE_CATEGORY(llcache);
 NSLOG_DECLARE_CATEGORY(fetch);
 NSLOG_DECLARE_CATEGORY(plot);
 NSLOG_DECLARE_CATEGORY(schedule);
+NSLOG_DECLARE_CATEGORY(fbtk);
 
 #else /* WITH_NSLOG */
 


commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=3faaf00ca3e3c6b3ae5e7ec61bc623917f4fb9fe
commit 3faaf00ca3e3c6b3ae5e7ec61bc623917f4fb9fe
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>

    revert semantic patch change to framebuffer font tool

diff --git a/frontends/framebuffer/convert_font.c 
b/frontends/framebuffer/convert_font.c
index 6d7c4d4..010af85 100644
--- a/frontends/framebuffer/convert_font.c
+++ b/frontends/framebuffer/convert_font.c
@@ -278,8 +278,7 @@ bool generate_font_header(const char *path, struct 
font_data *data)
 
        fp = fopen(path, "wb");
        if (fp == NULL) {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "Couldn't open header file \"%s\"\n", path);
+               LOG(LOG_ERROR, "Couldn't open header file \"%s\"\n", path);
                return false;
        }
 
@@ -316,8 +315,7 @@ bool generate_font_source(const char *path, struct 
font_data *data)
 
        fp = fopen(path, "wb");
        if (fp == NULL) {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "Couldn't open output file \"%s\"\n", path);
+               LOG(LOG_ERROR, "Couldn't open output file \"%s\"\n", path);
                return false;
        }
 
@@ -415,14 +413,14 @@ static bool add_glyph_to_data(glyph_entry *add, int id, 
int style,
                d->e[d->glyphs++] = e;
                e->index = d->glyphs;
                if (d->glyphs >= 0xfffd) {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Too many glyphs for internal data 
""representation\n");
+                       LOG(LOG_ERROR, "  Too many glyphs for internal data "
+                                       "representation\n");
                        return false;
                }
        } else {
                /* Duplicate glyph */
-               NSLOG(netsurf, INFO, LOG_DEBUG,
-                     "  U+%.4X (%s) is duplicate\n", id, short_labels[style]);
+               LOG(LOG_DEBUG, "  U+%.4X (%s) is duplicate\n",
+                               id, short_labels[style]);
        }
 
        /* Find glyph's section */
@@ -434,8 +432,8 @@ static bool add_glyph_to_data(glyph_entry *add, int id, int 
style,
                size_t size = (d->sec_count[style] + 1) * SECTION_SIZE;
                uint16_t *temp = realloc(d->sections[style], size);
                if (temp == NULL) {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Couldn't increase sections ""allocation\n");
+                       LOG(LOG_ERROR, "  Couldn't increase sections "
+                                       "allocation\n");
                        return false;
                }
                memset(temp + d->sec_count[style] * 256, 0,
@@ -458,50 +456,47 @@ static bool check_glyph_data_valid(int pos, char c)
 
        if (pos == 44) {
                if (c != '\n') {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Invalid glyph data: ""expecting '\\n', got 
'%c' (%i)\n",
-                             c,
-                             c);
+                       LOG(LOG_ERROR, "  Invalid glyph data: "
+                                       "expecting '\\n', got '%c' (%i)\n",
+                                       c, c);
                        return false;
                } else {
                        return true;
                }
        } else if (pos < 3) {
                if (c != ' ') {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Invalid glyph data: ""expecting ' ', got '%c' 
(%i)\n",
-                             c,
-                             c);
+                       LOG(LOG_ERROR, "  Invalid glyph data: "
+                                       "expecting ' ', got '%c' (%i)\n",
+                                       c, c);
                        return false;
                } else {
                        return true;
                }
        } else if (offset == 0) {
                if (c != '\n' && c != ' ') {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Invalid glyph data: ""expecting '\\n' or ' ', 
""got '%c' (%i)\n",
-                             c,
-                             c);
+                       LOG(LOG_ERROR, "  Invalid glyph data: "
+                                       "expecting '\\n' or ' ', "
+                                       "got '%c' (%i)\n",
+                                       c, c);
                        return false;
                } else {
                        return true;
                }
        } else if (offset < 3) {
                if (c != ' ') {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Invalid glyph data: ""expecting ' ', got '%c' 
(%i)\n",
-                             c,
-                             c);
+                       LOG(LOG_ERROR, "  Invalid glyph data: "
+                                       "expecting ' ', got '%c' (%i)\n",
+                                       c, c);
                        return false;
                } else {
                        return true;
                }
        } else if (offset >= 3 && pos < 11) {
                if (c != '.' && c != '#') {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Invalid glyph data: ""expecting '.' or '#', 
""got '%c' (%i)\n",
-                             c,
-                             c);
+                       LOG(LOG_ERROR, "  Invalid glyph data: "
+                                       "expecting '.' or '#', "
+                                       "got '%c' (%i)\n",
+                                       c, c);
                        return false;
                } else {
                        return true;
@@ -510,10 +505,10 @@ static bool check_glyph_data_valid(int pos, char c)
 
        /* offset must be >=3 */
        if (c != '.' && c != '#' && c != ' ') {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "  Invalid glyph data: ""expecting '.', '#', or ' ', 
""got '%c' (%i)\n",
-                     c,
-                     c);
+               LOG(LOG_ERROR, "  Invalid glyph data: "
+                   "expecting '.', '#', or ' ', "
+                   "got '%c' (%i)\n",
+                   c, c);
                return false;
        }
 
@@ -702,11 +697,11 @@ static bool parse_glyph_data(struct parse_context *ctx, 
char c,
 
        /* Check that character is valid */
        if (check_glyph_data_valid(ctx->data.in_gd.pos, c) == false) {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "  Error in U+%.4X data: ""glyph line: %i, pos: %i\n",
-                     ctx->id,
-                     ctx->data.in_gd.line,
-                     ctx->data.in_gd.pos);
+               LOG(LOG_ERROR, "  Error in U+%.4X data: "
+                               "glyph line: %i, pos: %i\n",
+                               ctx->id,
+                               ctx->data.in_gd.line,
+                               ctx->data.in_gd.pos);
                goto error;
        }
 
@@ -717,8 +712,8 @@ static bool parse_glyph_data(struct parse_context *ctx, 
char c,
                        ctx->data.in_gd.e[glyph] =
                                        calloc(sizeof(struct glyph_entry), 1);
                        if (ctx->data.in_gd.e[glyph] == NULL) {
-                               NSLOG(netsurf, INFO, LOG_ERROR,
-                                     "  Couldn't allocate memory for ""glyph 
entry\n");
+                               LOG(LOG_ERROR, "  Couldn't allocate memory for "
+                                               "glyph entry\n");
                                goto error;
                        }
 
@@ -740,17 +735,18 @@ static bool parse_glyph_data(struct parse_context *ctx, 
char c,
        if (c == '\n') {
                if (ctx->data.in_gd.line == 0) {
                        if (ctx->data.in_gd.e[0] == NULL) {
-                               NSLOG(netsurf, INFO, LOG_ERROR,
-                                     "  Error in U+%.4X data: ""\"Regular\" 
glyph style must ""be present\n",
-                                     ctx->id);
+                               LOG(LOG_ERROR, "  Error in U+%.4X data: "
+                                               "\"Regular\" glyph style must "
+                                               "be present\n", ctx->id);
                                goto error;
                        }
                } else if (ctx->data.in_gd.styles !=
                                ctx->data.in_gd.line_styles) {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Error in U+%.4X data: ""glyph line: %i 
""styles don't match first line\n",
-                             ctx->id,
-                             ctx->data.in_gd.line);
+                       LOG(LOG_ERROR, "  Error in U+%.4X data: "
+                                       "glyph line: %i "
+                                       "styles don't match first line\n",
+                                       ctx->id,
+                                       ctx->data.in_gd.line);
                        goto error;
                }
 
@@ -768,10 +764,10 @@ static bool parse_glyph_data(struct parse_context *ctx, 
char c,
                                ctx->count[i] += 1;
                                if (glyph_is_codepoint(ctx->data.in_gd.e[i],
                                                ctx->id, i)) {
-                                       NSLOG(netsurf, INFO, LOG_DEBUG,
-                                             "  U+%.4X (%s) is ""codepoint\n",
-                                             ctx->id,
-                                             short_labels[i]);
+                                       LOG(LOG_DEBUG, "  U+%.4X (%s) is "
+                                                       "codepoint\n",
+                                                       ctx->id,
+                                                       short_labels[i]);
                                        ctx->codepoints += 1;
                                        free(ctx->data.in_gd.e[i]);
                                        ctx->data.in_gd.e[i] = NULL;
@@ -814,8 +810,7 @@ static bool get_hex_digit_value(char c, int *v)
        else if (c >= 'A' && c <= 'F')
                *v = (10 + c - 'A');
        else {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "Invalid hex digit '%c' (%i)\n", c, c);
+               LOG(LOG_ERROR, "Invalid hex digit '%c' (%i)\n", c, c);
                return false;
        }
 
@@ -852,16 +847,14 @@ static bool parse_chunk(struct parse_context *ctx, const 
char *buf, size_t len,
 
        while (pos < end) {
                if (*pos == '\r') {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "Detected \'\\r\': Bad line ending\n");
+                       LOG(LOG_ERROR, "Detected \'\\r\': Bad line ending\n");
                        return false;
                }
 
                switch (ctx->state) {
                case START:
                        if (*pos != '*') {
-                               NSLOG(netsurf, INFO, LOG_ERROR,
-                                     "First character must be '*'\n");
+                               LOG(LOG_ERROR, "First character must be '*'\n");
                                printf("Got: %c (%i)\n", *pos, *pos);
                                return false;
                        }
@@ -873,13 +866,12 @@ static bool parse_chunk(struct parse_context *ctx, const 
char *buf, size_t len,
                case IN_HEADER:
                        if (ctx->data.in_header.new_line == true) {
                                if (*pos != '*') {
-                                       NSLOG(netsurf, INFO, LOG_INFO,
-                                             "  Got header ""(%i bytes)\n",
-                                             d->header_len);
-                                       NSLOG(netsurf, INFO, LOG_DEBUG,
-                                             "  Header:\n\n%.*s\n",
-                                             d->header_len,
-                                             d->header);
+                                       LOG(LOG_INFO, "  Got header "
+                                                       "(%i bytes)\n",
+                                                       d->header_len);
+                                       LOG(LOG_DEBUG, "  Header:\n\n%.*s\n",
+                                                       d->header_len,
+                                                       d->header);
                                        ctx->data.before_id.new_line = false;
                                        ctx->data.before_id.u = false;
                                        ctx->state = BEFORE_ID;
@@ -894,9 +886,9 @@ static bool parse_chunk(struct parse_context *ctx, const 
char *buf, size_t len,
                        }
 
                        if (d->header_len == HEADER_MAX) {
-                               NSLOG(netsurf, INFO, LOG_ERROR,
-                                     "  Header too long ""(>%i bytes)\n",
-                                     d->header_len);
+                               LOG(LOG_ERROR, "  Header too long "
+                                               "(>%i bytes)\n",
+                                               d->header_len);
                                return false;
                        }
 
@@ -930,8 +922,7 @@ static bool parse_chunk(struct parse_context *ctx, const 
char *buf, size_t len,
                        ok = assemble_codepoint(pos, ctx->data.g_id.c++,
                                        &ctx->id);
                        if (!ok) {
-                               NSLOG(netsurf, INFO, LOG_ERROR,
-                                     "  Invalid glyph ID\n");
+                               LOG(LOG_ERROR, "  Invalid glyph ID\n");
                                return false;
                        }
 
@@ -1003,8 +994,8 @@ static bool parse_chunk(struct parse_context *ctx, const 
char *buf, size_t len,
        }
 
        for (i = 0; i < 4; i++) {
-               NSLOG(netsurf, INFO, LOG_DEBUG, "  %s: %i gylphs\n",
-                     labels[i], ctx->count[i] - count[i]);
+               LOG(LOG_DEBUG, "  %s: %i gylphs\n", labels[i],
+                               ctx->count[i] - count[i]);
        }
 
        return true;
@@ -1028,15 +1019,13 @@ bool load_font(const char *path, struct font_data 
**data)
 
        fp = fopen(path, "rb");
        if (fp == NULL) {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "Couldn't open font data file\n");
+               LOG(LOG_ERROR, "Couldn't open font data file\n");
                return false;
        }
 
        d = calloc(sizeof(struct font_data), 1);
        if (d == NULL) {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "Couldn't allocate memory for font data\n");
+               LOG(LOG_ERROR, "Couldn't allocate memory for font data\n");
                fclose(fp);
                return false;
        }
@@ -1045,19 +1034,18 @@ bool load_font(const char *path, struct font_data 
**data)
        fseek(fp, 0L, SEEK_END);
        file_len = ftell(fp);
        if (file_len == -1) {
-               NSLOG(netsurf, INFO, LOG_ERROR, "Could not size input file\n");
+               LOG(LOG_ERROR, "Could not size input file\n");
                free(d);
                fclose(fp);
                return false;
        }
        fseek(fp, 0L, SEEK_SET);
-       NSLOG(netsurf, INFO, LOG_DEBUG, "Input size: %zu bytes\n", file_len);
+       LOG(LOG_DEBUG, "Input size: %zu bytes\n", file_len);
 
        /* Allocate buffer for data chunks */
        buf = malloc(CHUNK_SIZE);
        if (buf == NULL) {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "Couldn't allocate memory for input buffer\n");
+               LOG(LOG_ERROR, "Couldn't allocate memory for input buffer\n");
                free(d);
                fclose(fp);
                return false;
@@ -1066,24 +1054,20 @@ bool load_font(const char *path, struct font_data 
**data)
        /* Initialise parser */
        parse_init(&ctx);
 
-       NSLOG(netsurf, INFO, LOG_DEBUG, "Using chunk size of %i bytes\n",
-             CHUNK_SIZE);
+       LOG(LOG_DEBUG, "Using chunk size of %i bytes\n", CHUNK_SIZE);
 
        /* Parse the input file in chunks */
        for (done = 0; done < file_len; done += CHUNK_SIZE) {
-               NSLOG(netsurf, INFO, LOG_INFO, "Parsing input chunk %zu\n",
-                     done / CHUNK_SIZE);
+               LOG(LOG_INFO, "Parsing input chunk %zu\n", done / CHUNK_SIZE);
 
                /* Read chunk */
                len = fread(buf, 1, CHUNK_SIZE, fp);
                if (file_len - done < CHUNK_SIZE &&
                                len != file_len - done) {
-                       NSLOG(netsurf, INFO, LOG_WARNING,
-                             "Last chunk has suspicious size\n");
+                       LOG(LOG_WARNING, "Last chunk has suspicious size\n");
                } else if (file_len - done >= CHUNK_SIZE &&
                                len != CHUNK_SIZE) {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "Problem reading file\n");
+                       LOG(LOG_ERROR, "Problem reading file\n");
                        free(buf);
                        free(d);
                        fclose(fp);
@@ -1098,33 +1082,29 @@ bool load_font(const char *path, struct font_data 
**data)
                        fclose(fp);
                        return false;
                }
-               NSLOG(netsurf, INFO, LOG_DEBUG, "Parsed %zu bytes\n",
-                     done + len);
+               LOG(LOG_DEBUG, "Parsed %zu bytes\n", done + len);
        }
 
        fclose(fp);
 
        if (ctx.state != BEFORE_ID) {
-               NSLOG(netsurf, INFO, LOG_ERROR, "Unexpected end of file\n");
+               LOG(LOG_ERROR, "Unexpected end of file\n");
                free(buf);
                free(d);
                return false;
        }
 
-       NSLOG(netsurf, INFO, LOG_INFO, "Parsing complete:\n");
+       LOG(LOG_INFO, "Parsing complete:\n");
        count = 0;
        for (i = 0; i < 4; i++) {
-               NSLOG(netsurf, INFO, LOG_INFO, "  %s: %i gylphs\n",
-                     labels[i], ctx.count[i]);
+               LOG(LOG_INFO, "  %s: %i gylphs\n", labels[i], ctx.count[i]);
                count += ctx.count[i];
        }
 
-       NSLOG(netsurf, INFO, LOG_RESULT,
-             "  Total %i gylphs ""(of which %i unique, %i codepoints, %i 
duplicates)\n",
-             count,
-             d->glyphs,
-             ctx.codepoints,
-             count - d->glyphs - ctx.codepoints);
+       LOG(LOG_RESULT, "  Total %i gylphs "
+                       "(of which %i unique, %i codepoints, %i duplicates)\n",
+                       count, d->glyphs, ctx.codepoints,
+                       count - d->glyphs - ctx.codepoints);
 
        free(buf);
 
@@ -1135,9 +1115,16 @@ bool load_font(const char *path, struct font_data **data)
 static void log_usage(const char *argv0)
 {
        level = LOG_INFO;
-       NSLOG(netsurf, INFO, LOG_INFO,
-             "Usage:\n""\t%s [options] <in_file> 
<out_file>\n""\n""Options:\n""\t--help    -h   Display this text\n""\t--quiet   
-q   Don't show warnings\n""\t--verbose -v   Verbose output\n""\t--debug   -d   
Full debug output\n",
-             argv0);
+       LOG(LOG_INFO,
+           "Usage:\n"
+           "\t%s [options] <in_file> <out_file>\n"
+           "\n"
+           "Options:\n"
+           "\t--help    -h   Display this text\n"
+           "\t--quiet   -q   Don't show warnings\n"
+           "\t--verbose -v   Verbose output\n"
+           "\t--debug   -d   Full debug output\n",
+           argv0);
 }
 
 int main(int argc, char** argv)
@@ -1200,9 +1187,8 @@ int main(int argc, char** argv)
        in_path = argv[optind];
        out_path = argv[optind + 1];
 
-       NSLOG(netsurf, INFO, LOG_DEBUG, "Using input path: \"%s\"\n", in_path);
-       NSLOG(netsurf, INFO, LOG_DEBUG, "Using output path: \"%s\"\n",
-             out_path);
+       LOG(LOG_DEBUG, "Using input path: \"%s\"\n", in_path);
+       LOG(LOG_DEBUG, "Using output path: \"%s\"\n", out_path);
 
        ok = load_font(in_path, &data);
        if (!ok) {


commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=b9bdc279f228c6e70d05c85361fe7d018beba444
commit b9bdc279f228c6e70d05c85361fe7d018beba444
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>

    Update scheduler logging to use catagory

diff --git a/frontends/amiga/schedule.c b/frontends/amiga/schedule.c
index 30a3681..043edc7 100644
--- a/frontends/amiga/schedule.c
+++ b/frontends/amiga/schedule.c
@@ -228,9 +228,11 @@ static void ami_schedule_dump(void)
        while ((nscb = pblIteratorNext(iterator)) != -1)
        {
                Amiga2Date(nscb->tv.Seconds, &clockdata);
-               LOG("nscb: %p, at %d-%d-%d %d:%d:%d.%d, callback: %p, %p",
-                       nscb, clockdata.mday, clockdata.month, clockdata.year, 
clockdata.hour, clockdata.min, clockdata.sec, 
-                       nscb->tv.Microseconds, nscb->callback, nscb->p);
+               NSLOG(netsurf, INFO,
+                     "nscb: %p, at %d-%d-%d %d:%d:%d.%d, callback: %p, %p",
+                     nscb, clockdata.mday, clockdata.month, clockdata.year,
+                     clockdata.hour, clockdata.min, clockdata.sec,
+                     nscb->tv.Microseconds, nscb->callback, nscb->p);
                if(CheckIO((struct IORequest *)nscb) == NULL) {
                        NSLOG(netsurf, INFO, "-> ACTIVE");
                } else {
diff --git a/frontends/atari/schedule.c b/frontends/atari/schedule.c
index a8d06e4..9a7836b 100644
--- a/frontends/atari/schedule.c
+++ b/frontends/atari/schedule.c
@@ -23,15 +23,10 @@
 
 #include "utils/sys_time.h"
 #include "utils/errors.h"
+#include "utils/log.h"
 
 #include "atari/schedule.h"
 
-#ifdef DEBUG_SCHEDULER
-#include "utils/log.h"
-#else
-#define LOG(x...)
-#endif
-
 #define MS_NOW() ((clock() * 1000) / CLOCKS_PER_SEC)
 
 /* linked list of scheduled callbacks */
@@ -71,7 +66,7 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                 return NSERROR_OK;
        }
 
-       NSLOG(netsurf, INFO, "removing %p, %p", callback, p);
+       NSLOG(schedule, DEBUG, "removing %p, %p", callback, p);
 
        cur_nscb = schedule_list;
        prev_nscb = NULL;
@@ -80,7 +75,7 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                if ((cur_nscb->callback ==  callback) &&
                     (cur_nscb->p ==  p)) {
                        /* item to remove */
-                       NSLOG(netsurf, INFO,
+                       NSLOG(schedule, DEBUG,
                              "callback entry %p removing  %p(%p)", cur_nscb,
                              cur_nscb->callback, cur_nscb->p);
 
@@ -120,7 +115,7 @@ nserror atari_schedule(int ival, void (*callback)(void *p), 
void *p)
 
        nscb->timeout = MS_NOW() + ival;
 
-       NSLOG(netsurf, INFO, "adding callback %p for  %p(%p) at %d ms", nscb,
+       NSLOG(schedule, DEBUG, "adding callback %p for  %p(%p) at %d ms", nscb,
              callback, p, nscb->timeout);
 
        nscb->callback = callback;
@@ -167,7 +162,7 @@ int schedule_run(void)
                                prev_nscb->next = unlnk_nscb->next;
                        }
 
-                       NSLOG(netsurf, INFO,
+                       NSLOG(schedule, DEBUG,
                              "callback entry %p running %p(%p)", unlnk_nscb,
                              unlnk_nscb->callback, unlnk_nscb->p);
 
@@ -178,7 +173,7 @@ int schedule_run(void)
 
                        /* need to deal with callback modifying the list. */
                        if (schedule_list == NULL)      {
-                               NSLOG(netsurf, INFO, "schedule_list == NULL");
+                               NSLOG(schedule, DEBUG, "schedule_list == NULL");
 
                                return -1; /* no more callbacks scheduled */
                        }
@@ -203,7 +198,7 @@ int schedule_run(void)
        /* make rettime relative to now and convert to ms */
        nexttime = nexttime - now;
 
-       NSLOG(netsurf, INFO, "returning time to next event as %ldms",
+       NSLOG(schedule, DEBUG, "returning time to next event as %ldms",
              nexttime);
 
        /*return next event time in milliseconds (24days max wait) */
@@ -216,15 +211,15 @@ void list_schedule(void)
 {
        struct nscallback *cur_nscb;
 
-       NSLOG(netsurf, INFO, "schedule list at ms clock %ld", MS_NOW());
+       NSLOG(schedule, DEBUG, "schedule list at ms clock %ld", MS_NOW());
 
        cur_nscb = schedule_list;
        while (cur_nscb != NULL) {
-               NSLOG(netsurf, INFO, "Schedule %p at %ld", cur_nscb,
+               NSLOG(schedule, DEBUG, "Schedule %p at %ld", cur_nscb,
                      cur_nscb->timeout);
                cur_nscb = cur_nscb->next;
        }
-       NSLOG(netsurf, INFO, "Maxmium callbacks scheduled: %d", max_scheduled);
+       NSLOG(schedule, DEBUG, "Maxmium callbacks scheduled: %d", 
max_scheduled);
 }
 
 
diff --git a/frontends/beos/schedule.cpp b/frontends/beos/schedule.cpp
index 552a7cd..c2caea9 100644
--- a/frontends/beos/schedule.cpp
+++ b/frontends/beos/schedule.cpp
@@ -28,11 +28,7 @@ extern "C" {
 #include "netsurf/content_type.h"
 #include "netsurf/browser_window.h"
 
-#ifdef DEBUG_BEOS_SCHEDULE
 #include "utils/log.h"
-#else
-#define LOG(x...)
-#endif
 }
 
 /** Killable callback closure embodiment. */
@@ -58,8 +54,10 @@ nsbeos_schedule_kill_callback(void *_target, void *_match)
        _nsbeos_callback_t *match = (_nsbeos_callback_t *)_match;
        if ((target->callback == match->callback) &&
            (target->context == match->context)) {
-               NSLOG(netsurf, INFO, "Found match for %p(%p), killing.",
-                     target->callback, target->context);
+               NSLOG(schedule, DEBUG,
+                     "Found match for %p(%p), killing.",
+                     target->callback,
+                     target->context);
                target->callback = NULL;
                target->context = NULL;
                target->callback_killed = true;
@@ -70,7 +68,9 @@ nsbeos_schedule_kill_callback(void *_target, void *_match)
 static void
 schedule_remove(void (*callback)(void *p), void *p)
 {
-       NSLOG(netsurf, INFO, "schedule_remove() for %p(%p)", cb->callback,
+       NSLOG(schedule, DEBUG,
+             "schedule_remove() for %p(%p)",
+             cb->callback,
              cb->context);
        if (callbacks == NULL)
                return;
@@ -83,7 +83,7 @@ schedule_remove(void (*callback)(void *p), void *p)
 
 nserror beos_schedule(int t, void (*callback)(void *p), void *p)
 {
-       NSLOG(netsurf, INFO, "t:%d cb:%p p:%p", t, cb->callback, cb->context);
+       NSLOG(schedule, DEBUG, "t:%d cb:%p p:%p", t, cb->callback, cb->context);
 
        if (callbacks == NULL) {
                callbacks = new BList;
@@ -113,7 +113,7 @@ nserror beos_schedule(int t, void (*callback)(void *p), 
void *p)
 bool
 schedule_run(void)
 {
-       NSLOG(netsurf, INFO, "schedule_run()");
+       NSLOG(schedule, DEBUG, "schedule_run()");
 
        earliest_callback_timeout = B_INFINITE_TIMEOUT;
        if (callbacks == NULL)
@@ -122,7 +122,8 @@ schedule_run(void)
        bigtime_t now = system_time();
        int32 i;
 
-       NSLOG(netsurf, INFO, "Checking %ld callbacks to for deadline.",
+       NSLOG(schedule, DEBUG,
+             "Checking %ld callbacks to for deadline.",
              this_run->CountItems());
 
        /* Run all the callbacks which made it this far. */
@@ -135,8 +136,11 @@ schedule_run(void)
                        i++;
                        continue;
                }
-               NSLOG(netsurf, INFO, "Running callbacks %p(%p).",
-                     cb->callback, cb->context);
+               NSLOG(schedule, DEBUG,
+                     "Running callbacks %p(%p).",
+                     cb->callback,
+                     cb->context);
+
                if (!cb->callback_killed)
                        cb->callback(cb->context);
                callbacks->RemoveItem(cb);
diff --git a/frontends/framebuffer/schedule.c b/frontends/framebuffer/schedule.c
index c94cead..6d17112 100644
--- a/frontends/framebuffer/schedule.c
+++ b/frontends/framebuffer/schedule.c
@@ -24,12 +24,6 @@
 
 #include "framebuffer/schedule.h"
 
-#ifdef DEBUG_SCHEDULER
-#define SRLOG(x...) LOG(x)
-#else
-#define SRLOG(x...) ((void) 0)
-#endif
-
 /* linked list of scheduled callbacks */
 static struct nscallback *schedule_list = NULL;
 
@@ -63,7 +57,7 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                 return NSERROR_OK;
        }
 
-       SRLOG("removing %p, %p", callback, p);
+       NSLOG(schedule, DEBUG, "removing %p, %p", callback, p);
 
         cur_nscb = schedule_list;
         prev_nscb = NULL;
@@ -73,7 +67,8 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                     (cur_nscb->p ==  p)) {
                         /* item to remove */
 
-                        SRLOG("callback entry %p removing  %p(%p)",
+                        NSLOG(schedule, DEBUG,
+                             "callback entry %p removing  %p(%p)",
                              cur_nscb, cur_nscb->callback, cur_nscb->p);
 
                         /* remove callback */
@@ -109,7 +104,7 @@ nserror framebuffer_schedule(int tival, void 
(*callback)(void *p), void *p)
                return ret;
        }
 
-       SRLOG("Adding %p(%p) in %d", callback, p, tival);
+       NSLOG(schedule, DEBUG, "Adding %p(%p) in %d", callback, p, tival);
 
         tv.tv_sec = tival / 1000; /* miliseconds to seconds */
         tv.tv_usec = (tival % 1000) * 1000; /* remainder to microseconds */
@@ -190,7 +185,9 @@ int schedule_run(void)
        /* make rettime relative to now */
        timersub(&nexttime, &tv, &rettime);
 
-       SRLOG("returning time to next event as %ldms",(rettime.tv_sec * 1000) + 
(rettime.tv_usec / 1000)); 
+       NSLOG(schedule, DEBUG,
+             "returning time to next event as %ldms",
+             (rettime.tv_sec * 1000) + (rettime.tv_usec / 1000)); 
 
        /* return next event time in milliseconds (24days max wait) */
         return (rettime.tv_sec * 1000) + (rettime.tv_usec / 1000);
diff --git a/frontends/gtk/schedule.c b/frontends/gtk/schedule.c
index 2014320..d5b4567 100644
--- a/frontends/gtk/schedule.c
+++ b/frontends/gtk/schedule.c
@@ -46,7 +46,7 @@ nsgtk_schedule_generic_callback(gpointer data)
         _nsgtk_callback_t *cb = (_nsgtk_callback_t *)(data);
         if (cb->callback_killed) {
                 /* This callback instance has been killed. */
-                NSLOG(netsurf, DEBUG, "CB at %p already dead.", cb);
+                NSLOG(schedule, DEBUG, "CB at %p already dead.", cb);
         }
         queued_callbacks = g_list_remove(queued_callbacks, cb);
         pending_callbacks = g_list_append(pending_callbacks, cb);
@@ -60,7 +60,8 @@ nsgtk_schedule_kill_callback(void *_target, void *_match)
         _nsgtk_callback_t *match = (_nsgtk_callback_t *)_match;
         if ((target->callback == match->callback) &&
             (target->context == match->context)) {
-                NSLOG(netsurf, DEBUG, "Found match for %p(%p), killing.",
+                NSLOG(schedule, DEBUG,
+                     "Found match for %p(%p), killing.",
                       target->callback, target->context);
                 target->callback = NULL;
                 target->context = NULL;
@@ -119,7 +120,8 @@ schedule_run(void)
         /* Clear the pending list. */
         pending_callbacks = NULL;
 
-        NSLOG(netsurf, DEBUG, "Captured a run of %d callbacks to fire.",
+        NSLOG(schedule, DEBUG,
+             "Captured a run of %d callbacks to fire.",
               g_list_length(this_run));
 
         /* Run all the callbacks which made it this far. */
diff --git a/frontends/monkey/schedule.c b/frontends/monkey/schedule.c
index b34bd5a..d3e442a 100644
--- a/frontends/monkey/schedule.c
+++ b/frontends/monkey/schedule.c
@@ -24,12 +24,6 @@
 
 #include "monkey/schedule.h"
 
-#ifdef DEBUG_SCHEDULER
-#define SRLOG(x...) LOG(x)
-#else
-#define SRLOG(x...) ((void) 0)
-#endif
-
 /* linked list of scheduled callbacks */
 static struct nscallback *schedule_list = NULL;
 
@@ -63,7 +57,7 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                return NSERROR_OK;
        }
 
-       SRLOG("removing %p, %p", callback, p);
+       NSLOG(schedule, DEBUG, "removing %p, %p", callback, p);
 
        cur_nscb = schedule_list;
        prev_nscb = NULL;
@@ -73,7 +67,7 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                    (cur_nscb->p ==  p)) {
                        /* item to remove */
 
-                       SRLOG("callback entry %p removing  %p(%p)",
+                       NSLOG(schedule, DEBUG, "callback entry %p removing  
%p(%p)",
                              cur_nscb, cur_nscb->callback, cur_nscb->p);
 
                        /* remove callback */
@@ -109,7 +103,7 @@ nserror monkey_schedule(int tival, void (*callback)(void 
*p), void *p)
                return ret;
        }
 
-       SRLOG("Adding %p(%p) in %d", callback, p, tival);
+       NSLOG(schedule, DEBUG, "Adding %p(%p) in %d", callback, p, tival);
 
        tv.tv_sec = tival / 1000; /* miliseconds to seconds */
        tv.tv_usec = (tival % 1000) * 1000; /* remainder to microseconds */
@@ -190,7 +184,7 @@ int monkey_schedule_run(void)
        /* make rettime relative to now */
        timersub(&nexttime, &tv, &rettime);
 
-       SRLOG("returning time to next event as %ldms",
+       NSLOG(schedule, DEBUG, "returning time to next event as %ldms",
              (rettime.tv_sec * 1000) + (rettime.tv_usec / 1000));
 
        /* return next event time in milliseconds (24days max wait) */
diff --git a/frontends/windows/schedule.c b/frontends/windows/schedule.c
index d6a7572..76358ec 100644
--- a/frontends/windows/schedule.c
+++ b/frontends/windows/schedule.c
@@ -25,12 +25,6 @@
 
 #include "windows/schedule.h"
 
-#ifdef DEBUG_SCHEDULER
-#define SRLOG(x...) LOG(x)
-#else
-#define SRLOG(x...) ((void) 0)
-#endif
-
 /* linked list of scheduled callbacks */
 static struct nscallback *schedule_list = NULL;
 
@@ -66,7 +60,7 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                 return NSERROR_OK;
        }
 
-       SRLOG("removing %p, %p", callback, p);
+       NSLOG(schedule, DEBUG, "removing %p, %p", callback, p);
 
         cur_nscb = schedule_list;
         prev_nscb = NULL;
@@ -76,8 +70,11 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                     (cur_nscb->p ==  p)) {
                         /* item to remove */
 
-                        SRLOG("callback entry %p removing  %p(%p)",
-                             cur_nscb, cur_nscb->callback, cur_nscb->p);
+                        NSLOG(schedule, DEBUG,
+                             "callback entry %p removing  %p(%p)",
+                             cur_nscb,
+                             cur_nscb->callback,
+                             cur_nscb->p);
 
                         /* remove callback */
                         unlnk_nscb = cur_nscb;
@@ -118,7 +115,8 @@ nserror win32_schedule(int ival, void (*callback)(void *p), 
void *p)
                return NSERROR_NOMEM;
        }
 
-       SRLOG("adding callback %p for %p(%p) at %d cs",
+       NSLOG(schedule, DEBUG,
+             "adding callback %p for %p(%p) at %d cs",
               nscb, callback, p, ival);
 
        gettimeofday(&nscb->tv, NULL);
@@ -168,8 +166,11 @@ schedule_run(void)
                                 prev_nscb->next = unlnk_nscb->next;
                         }
 
-                        SRLOG("callback entry %p running %p(%p)",
-                             unlnk_nscb, unlnk_nscb->callback, unlnk_nscb->p);
+                        NSLOG(schedule, DEBUG,
+                             "callback entry %p running %p(%p)",
+                             unlnk_nscb,
+                             unlnk_nscb->callback,
+                             unlnk_nscb->p);
                         /* call callback */
                         unlnk_nscb->callback(unlnk_nscb->p);
 
@@ -201,8 +202,9 @@ schedule_run(void)
        /* make returned time relative to now */
        timersub(&nexttime, &tv, &rettime);
 
-       SRLOG("returning time to next event as %ldms",
-            (rettime.tv_sec * 1000) + (rettime.tv_usec / 1000));
+       NSLOG(schedule, DEBUG,
+             "returning time to next event as %ldms",
+             (rettime.tv_sec * 1000) + (rettime.tv_usec / 1000));
 
        /* return next event time in milliseconds (24days max wait) */
         return (rettime.tv_sec * 1000) + (rettime.tv_usec / 1000);
@@ -216,14 +218,16 @@ void list_schedule(void)
 
        gettimeofday(&tv, NULL);
 
-        NSLOG(netsurf, INFO, "schedule list at %ld:%ld", tv.tv_sec,
-              tv.tv_usec);
+        NSLOG(netsurf, INFO, "schedule list at %ld:%ld", tv.tv_sec, 
tv.tv_usec);
 
         cur_nscb = schedule_list;
 
         while (cur_nscb != NULL) {
-                NSLOG(netsurf, INFO, "Schedule %p at %ld:%ld", cur_nscb,
-                      cur_nscb->tv.tv_sec, cur_nscb->tv.tv_usec);
+                NSLOG(netsurf, INFO,
+                     "Schedule %p at %ld:%ld",
+                     cur_nscb,
+                      cur_nscb->tv.tv_sec,
+                     cur_nscb->tv.tv_usec);
                 cur_nscb = cur_nscb->next;
         }
 }
diff --git a/utils/log.c b/utils/log.c
index 8630d87..f555a86 100644
--- a/utils/log.c
+++ b/utils/log.c
@@ -95,6 +95,7 @@ NSLOG_DEFINE_CATEGORY(netsurf, "NetSurf default logging");
 NSLOG_DEFINE_CATEGORY(llcache, "Low level cache");
 NSLOG_DEFINE_CATEGORY(fetch, "objet fetching");
 NSLOG_DEFINE_CATEGORY(plot, "rendering system");
+NSLOG_DEFINE_CATEGORY(schedule, "scheduler");
 
 static void
 netsurf_render_log(void *_ctx,
diff --git a/utils/log.h b/utils/log.h
index 2476247..3f2f98d 100644
--- a/utils/log.h
+++ b/utils/log.h
@@ -60,6 +60,7 @@ NSLOG_DECLARE_CATEGORY(netsurf);
 NSLOG_DECLARE_CATEGORY(llcache);
 NSLOG_DECLARE_CATEGORY(fetch);
 NSLOG_DECLARE_CATEGORY(plot);
+NSLOG_DECLARE_CATEGORY(schedule);
 
 #else /* WITH_NSLOG */
 


-----------------------------------------------------------------------

Summary of changes:
 content/content.c                      |    2 +-
 content/fs_backing_store.c             |   12 +-
 frontends/amiga/bitmap.c               |   11 +-
 frontends/amiga/corewindow.c           |    3 +-
 frontends/amiga/gui.c                  |    3 +-
 frontends/amiga/libs.c                 |   18 +--
 frontends/amiga/menu.c                 |    4 +-
 frontends/amiga/schedule.c             |    8 +-
 frontends/atari/deskmenu.c             |    2 +-
 frontends/atari/schedule.c             |   25 ++--
 frontends/beos/font.cpp                |    7 +-
 frontends/beos/gui.cpp                 |   12 +-
 frontends/beos/schedule.cpp            |   28 +++--
 frontends/beos/window.cpp              |    2 +-
 frontends/framebuffer/convert_font.c   |  198 +++++++++++++++-----------------
 frontends/framebuffer/fbtk.h           |    6 -
 frontends/framebuffer/fbtk/fbtk.c      |   42 +++----
 frontends/framebuffer/schedule.c       |   17 ++-
 frontends/gtk/layout_pango.c           |    7 +-
 frontends/gtk/resources.c              |    5 +-
 frontends/gtk/schedule.c               |    8 +-
 frontends/monkey/schedule.c            |   14 +--
 frontends/riscos/configure/con_image.c |    5 +-
 frontends/riscos/gui.c                 |    6 +-
 frontends/riscos/textselection.c       |    2 +-
 frontends/riscos/theme.c               |   11 +-
 frontends/windows/font.c               |    9 +-
 frontends/windows/schedule.c           |   40 ++++---
 frontends/windows/windbg.h             |   14 ++-
 frontends/windows/window.c             |   22 +++-
 render/html.c                          |    2 +-
 utils/log.c                            |    2 +
 utils/log.h                            |    2 +
 utils/nsurl/private.h                  |   32 ++++--
 34 files changed, 307 insertions(+), 274 deletions(-)

diff --git a/content/content.c b/content/content.c
index 8ed5c1b..9a24041 100644
--- a/content/content.c
+++ b/content/content.c
@@ -770,7 +770,7 @@ void content_broadcast(struct content *c, content_msg msg,
        struct content_user *user, *next;
        assert(c);
 
-//     LOG("%p -> msg:%d", c, msg);
+       NSLOG(netsurf, DEEPDEBUG, "%p -> msg:%d", c, msg);
        for (user = c->user_list->next; user != 0; user = next) {
                next = user->next;  /* user may be destroyed during callback */
                if (user->callback != 0)
diff --git a/content/fs_backing_store.c b/content/fs_backing_store.c
index 6485650..1b59ea1 100644
--- a/content/fs_backing_store.c
+++ b/content/fs_backing_store.c
@@ -1153,12 +1153,12 @@ build_entrymap(struct store_state *state)
        state->total_alloc = 0;
 
        for (eloop = 1; eloop < state->last_entry; eloop++) {
-               /*
-               LOG("entry:%d ident:0x%08x used:%d",
-                    eloop,
-                    BS_ADDRESS(state->entries[eloop].ident, state),
-                    state->entries[eloop].use_count);
-               */
+
+               NSLOG(llcache, DEEPDEBUG,
+                     "entry:%d ident:0x%08x used:%d",
+                     eloop,
+                     BS_ADDRESS(state->entries[eloop].ident, state),
+                     state->entries[eloop].use_count);
 
                /* update the address map to point at the entry */
                BS_ENTRY_INDEX(state->entries[eloop].ident, state) = eloop;
diff --git a/frontends/amiga/bitmap.c b/frontends/amiga/bitmap.c
index 757b559..0fde677 100644
--- a/frontends/amiga/bitmap.c
+++ b/frontends/amiga/bitmap.c
@@ -602,8 +602,12 @@ static inline struct BitMap *ami_bitmap_get_generic(struct 
bitmap *bitmap,
                                                TAG_DONE);
 
                        if (err != COMPERR_Success) {
-                               LOG("Composite error %ld - falling back", err);
-                               /* If it failed, do it again the way which 
works in software */
+                               NSLOG(netsurf, INFO,
+                                     "Composite error %ld - falling back",
+                                     err);
+                               /* If it failed, do it again the way
+                                *  which works in software
+                                */
 #else
                        {
 #endif
@@ -617,7 +621,8 @@ static inline struct BitMap *ami_bitmap_get_generic(struct 
bitmap *bitmap,
                                                COMPTAG_FriendBitMap, 
scrn->RastPort.BitMap,
                                                TAG_DONE);
                                /* If it still fails... it's non-fatal */
-                               LOG("Fallback returned error %ld", err);
+                               NSLOG(netsurf, INFO,
+                                     "Fallback returned error %ld", err);
                        }
                } else /* Do it the old-fashioned way.  This is pretty slow, 
even on OS4.1 */
 #endif
diff --git a/frontends/amiga/corewindow.c b/frontends/amiga/corewindow.c
index 243146a..42ee866 100644
--- a/frontends/amiga/corewindow.c
+++ b/frontends/amiga/corewindow.c
@@ -526,7 +526,8 @@ HOOKF(void, ami_cw_idcmp_hook, Object *, object, struct 
IntuiMessage *)
                break;
 
                default:
-                       LOG("IDCMP hook unhandled event: %ld", msg->Class);
+                       NSLOG(netsurf, INFO,
+                             "IDCMP hook unhandled event: %ld", msg->Class);
                break;
        }
 } 
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index 387c215..e4acf70 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -3863,7 +3863,8 @@ HOOKF(void, ami_scroller_hook, Object *, object, struct 
IntuiMessage *)
                break;
 
                default:
-                       LOG("IDCMP hook unhandled event: %ld", msg->Class);
+                       NSLOG(netsurf, INFO,
+                             "IDCMP hook unhandled event: %ld", msg->Class);
                break;
        }
 //     ReplyMsg((struct Message *)msg);
diff --git a/frontends/amiga/libs.c b/frontends/amiga/libs.c
index 3069454..43fe43f 100644
--- a/frontends/amiga/libs.c
+++ b/frontends/amiga/libs.c
@@ -56,11 +56,11 @@
 
 #ifdef __amigaos4__
 #define AMINS_LIB_OPEN(LIB, LIBVER, PREFIX, INTERFACE, INTVER, FAIL)   \
-       LOG("Opening %s v%d", LIB, LIBVER); \
+       NSLOG(netsurf, INFO, "Opening %s v%d", LIB, LIBVER);            \
        if((PREFIX##Base = (struct PREFIX##Base *)OpenLibrary(LIB, LIBVER))) {  
\
                I##PREFIX = (struct PREFIX##IFace *)GetInterface((struct 
Library *)PREFIX##Base, INTERFACE, INTVER, NULL);      \
                if(I##PREFIX == NULL) { \
-                       LOG("Failed to get %s interface v%d of %s", INTERFACE, 
INTVER, LIB);    \
+                       NSLOG(netsurf, INFO, "Failed to get %s interface v%d of 
%s", INTERFACE, INTVER, LIB); \
                        AMINS_LIB_CLOSE(PREFIX) \
                        if(FAIL == true) {      \
                                STRPTR error = ASPrintf("Unable to open 
interface %s v%d\nof %s v%ld (fatal error - not an OS4 lib?)", INTERFACE, 
INTVER, LIB, LIBVER); \
@@ -70,7 +70,7 @@
                        }       \
                }       \
        } else {        \
-               LOG("Failed to open %s v%d", LIB, LIBVER);      \
+               NSLOG(netsurf, INFO, "Failed to open %s v%d", LIB, LIBVER); \
                if(FAIL == true) {      \
                        STRPTR error = ASPrintf("Unable to open %s v%ld (fatal 
error)", LIB, LIBVER);   \
                        ami_misc_fatal_error(error);    \
@@ -90,13 +90,13 @@
        struct PREFIX##IFace *I##PREFIX = NULL;
 
 #define AMINS_CLASS_OPEN(CLASS, CLASSVER, PREFIX, CLASSGET, NEEDINTERFACE)     
\
-       LOG("Opening %s v%d", CLASS, CLASSVER); \
+       NSLOG(netsurf, INFO, "Opening %s v%d", CLASS, CLASSVER);                
\
        if((PREFIX##Base = OpenClass(CLASS, CLASSVER, &PREFIX##Class))) {       
\
                if(NEEDINTERFACE == true) {     \
-                       LOG("        + interface");     \
+                       NSLOG(netsurf, INFO, "        + interface");    \
                        I##PREFIX = (struct PREFIX##IFace 
*)GetInterface((struct Library *)PREFIX##Base, "main", 1, NULL);      \
                        if(I##PREFIX == NULL) { \
-                               LOG("Failed to get main interface v1 of %s", 
CLASS);    \
+                               NSLOG(netsurf, INFO, "Failed to get main 
interface v1 of %s", CLASS); \
                        }       \
                }       \
        }       \
@@ -118,10 +118,10 @@
 
 #else
 #define AMINS_LIB_OPEN(LIB, LIBVER, PREFIX, INTERFACE, INTVER, FAIL)   \
-       LOG("Opening %s v%d", LIB, LIBVER); \
+       NSLOG(netsurf, INFO, "Opening %s v%d", LIB, LIBVER);            \
        if((PREFIX##Base = (struct PREFIX##Base *)OpenLibrary(LIB, LIBVER))) {  
\
        } else {        \
-               LOG("Failed to open %s v%d", LIB, LIBVER);      \
+               NSLOG(netsurf, INFO, "Failed to open %s v%d", LIB, LIBVER); \
                if(FAIL == true) {      \
                        STRPTR error = ASPrintf("Unable to open %s v%d (fatal 
error)", LIB, LIBVER);    \
                        ami_misc_fatal_error(error);    \
@@ -137,7 +137,7 @@
        struct PREFIX##Base *PREFIX##Base = NULL;
 
 #define AMINS_CLASS_OPEN(CLASS, CLASSVER, PREFIX, CLASSGET, NEEDINTERFACE)     
\
-       LOG("Opening %s v%d", CLASS, CLASSVER); \
+       NSLOG(netsurf, INFO, "Opening %s v%d", CLASS, CLASSVER);        \
        if((PREFIX##Base = OpenLibrary(CLASS, CLASSVER))) {     \
                PREFIX##Class = CLASSGET##_GetClass();  \
        }       \
diff --git a/frontends/amiga/menu.c b/frontends/amiga/menu.c
index 65265c3..1f3f981 100644
--- a/frontends/amiga/menu.c
+++ b/frontends/amiga/menu.c
@@ -263,7 +263,9 @@ static int ami_menu_layout_mc_recursive(Object 
*menu_parent, struct ami_menu_dat
                                        TAG_DONE);
                        }
 
-                       //LOG("Adding item %p ID %d (%s) to parent %p", 
menu_item, j, md[j]->menulab, menu_parent);
+                       NSLOG(netsurf, DEEPDEBUG,
+                             "Adding item %p ID %d (%s) to parent %p",
+                             menu_item, j, md[j]->menulab, menu_parent);
                        IDoMethod(menu_parent, OM_ADDMEMBER, menu_item);
                        continue;
                } else if (md[j]->menutype > level) {
diff --git a/frontends/amiga/schedule.c b/frontends/amiga/schedule.c
index 30a3681..043edc7 100644
--- a/frontends/amiga/schedule.c
+++ b/frontends/amiga/schedule.c
@@ -228,9 +228,11 @@ static void ami_schedule_dump(void)
        while ((nscb = pblIteratorNext(iterator)) != -1)
        {
                Amiga2Date(nscb->tv.Seconds, &clockdata);
-               LOG("nscb: %p, at %d-%d-%d %d:%d:%d.%d, callback: %p, %p",
-                       nscb, clockdata.mday, clockdata.month, clockdata.year, 
clockdata.hour, clockdata.min, clockdata.sec, 
-                       nscb->tv.Microseconds, nscb->callback, nscb->p);
+               NSLOG(netsurf, INFO,
+                     "nscb: %p, at %d-%d-%d %d:%d:%d.%d, callback: %p, %p",
+                     nscb, clockdata.mday, clockdata.month, clockdata.year,
+                     clockdata.hour, clockdata.min, clockdata.sec,
+                     nscb->tv.Microseconds, nscb->callback, nscb->p);
                if(CheckIO((struct IORequest *)nscb) == NULL) {
                        NSLOG(netsurf, INFO, "-> ACTIVE");
                } else {
diff --git a/frontends/atari/deskmenu.c b/frontends/atari/deskmenu.c
index 32dfd70..ded68ca 100644
--- a/frontends/atari/deskmenu.c
+++ b/frontends/atari/deskmenu.c
@@ -181,7 +181,7 @@ static void __CDECL menu_about(short item, short title, 
void *data)
          nserror error;
          char buf[PATH_MAX];
 
-         LOG("%s", __FUNCTION__);
+         NSLOG(netsurf, INFO, "abort menu");
          strcpy((char*)&buf, "file://");
          strncat((char*)&buf, (char*)"./doc/README.TXT",
          PATH_MAX - (strlen("file://")+1) );
diff --git a/frontends/atari/schedule.c b/frontends/atari/schedule.c
index a8d06e4..9a7836b 100644
--- a/frontends/atari/schedule.c
+++ b/frontends/atari/schedule.c
@@ -23,15 +23,10 @@
 
 #include "utils/sys_time.h"
 #include "utils/errors.h"
+#include "utils/log.h"
 
 #include "atari/schedule.h"
 
-#ifdef DEBUG_SCHEDULER
-#include "utils/log.h"
-#else
-#define LOG(x...)
-#endif
-
 #define MS_NOW() ((clock() * 1000) / CLOCKS_PER_SEC)
 
 /* linked list of scheduled callbacks */
@@ -71,7 +66,7 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                 return NSERROR_OK;
        }
 
-       NSLOG(netsurf, INFO, "removing %p, %p", callback, p);
+       NSLOG(schedule, DEBUG, "removing %p, %p", callback, p);
 
        cur_nscb = schedule_list;
        prev_nscb = NULL;
@@ -80,7 +75,7 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                if ((cur_nscb->callback ==  callback) &&
                     (cur_nscb->p ==  p)) {
                        /* item to remove */
-                       NSLOG(netsurf, INFO,
+                       NSLOG(schedule, DEBUG,
                              "callback entry %p removing  %p(%p)", cur_nscb,
                              cur_nscb->callback, cur_nscb->p);
 
@@ -120,7 +115,7 @@ nserror atari_schedule(int ival, void (*callback)(void *p), 
void *p)
 
        nscb->timeout = MS_NOW() + ival;
 
-       NSLOG(netsurf, INFO, "adding callback %p for  %p(%p) at %d ms", nscb,
+       NSLOG(schedule, DEBUG, "adding callback %p for  %p(%p) at %d ms", nscb,
              callback, p, nscb->timeout);
 
        nscb->callback = callback;
@@ -167,7 +162,7 @@ int schedule_run(void)
                                prev_nscb->next = unlnk_nscb->next;
                        }
 
-                       NSLOG(netsurf, INFO,
+                       NSLOG(schedule, DEBUG,
                              "callback entry %p running %p(%p)", unlnk_nscb,
                              unlnk_nscb->callback, unlnk_nscb->p);
 
@@ -178,7 +173,7 @@ int schedule_run(void)
 
                        /* need to deal with callback modifying the list. */
                        if (schedule_list == NULL)      {
-                               NSLOG(netsurf, INFO, "schedule_list == NULL");
+                               NSLOG(schedule, DEBUG, "schedule_list == NULL");
 
                                return -1; /* no more callbacks scheduled */
                        }
@@ -203,7 +198,7 @@ int schedule_run(void)
        /* make rettime relative to now and convert to ms */
        nexttime = nexttime - now;
 
-       NSLOG(netsurf, INFO, "returning time to next event as %ldms",
+       NSLOG(schedule, DEBUG, "returning time to next event as %ldms",
              nexttime);
 
        /*return next event time in milliseconds (24days max wait) */
@@ -216,15 +211,15 @@ void list_schedule(void)
 {
        struct nscallback *cur_nscb;
 
-       NSLOG(netsurf, INFO, "schedule list at ms clock %ld", MS_NOW());
+       NSLOG(schedule, DEBUG, "schedule list at ms clock %ld", MS_NOW());
 
        cur_nscb = schedule_list;
        while (cur_nscb != NULL) {
-               NSLOG(netsurf, INFO, "Schedule %p at %ld", cur_nscb,
+               NSLOG(schedule, DEBUG, "Schedule %p at %ld", cur_nscb,
                      cur_nscb->timeout);
                cur_nscb = cur_nscb->next;
        }
-       NSLOG(netsurf, INFO, "Maxmium callbacks scheduled: %d", max_scheduled);
+       NSLOG(schedule, DEBUG, "Maxmium callbacks scheduled: %d", 
max_scheduled);
 }
 
 
diff --git a/frontends/beos/font.cpp b/frontends/beos/font.cpp
index 407918f..8111303 100644
--- a/frontends/beos/font.cpp
+++ b/frontends/beos/font.cpp
@@ -204,8 +204,8 @@ static nserror beos_font_position(const plot_font_style_t 
*fstyle,
                const char *string, size_t length,
                int x, size_t *char_offset, int *actual_x)
 {
-       //LOG("(, '%s', %d, %d, , )", string, length, x);
-       //fprintf(stderr, "%s(, '%s', %d, %d, , )\n", __FUNCTION__, string, 
length, x);
+       NSLOG(netsurf, DEEPDEBUG, "(, '%s', %d, %d, , )", string, length, x);
+
        int index;
        BFont font;
 
@@ -261,8 +261,7 @@ static nserror beos_font_split(const plot_font_style_t 
*fstyle,
                const char *string, size_t length,
                int x, size_t *char_offset, int *actual_x)
 {
-       //fprintf(stderr, "%s(, '%s', %d, %d, , )\n", __FUNCTION__, string, 
length, x);
-       //LOG("(, '%s', %d, %d, , )", string, length, x);
+       NSLOG(netsurf, DEEPDEBUG, "(, '%s', %d, %d, , )", string, length, x);
        int index = 0;
        BFont font;
 
diff --git a/frontends/beos/gui.cpp b/frontends/beos/gui.cpp
index f2c9917..69a0d6d 100644
--- a/frontends/beos/gui.cpp
+++ b/frontends/beos/gui.cpp
@@ -764,17 +764,21 @@ void nsbeos_gui_poll(void)
        timeout.tv_sec = (long)(next_schedule / 1000000LL);
        timeout.tv_usec = (long)(next_schedule % 1000000LL);
 
-       //LOG("gui_poll: select(%d, ..., %Ldus", max_fd, next_schedule);
+       NSLOG(netsurf, DEEPDEBUG,
+             "gui_poll: select(%d, ..., %Ldus",
+             max_fd, next_schedule);
        fd_count = select(max_fd, &read_fd_set, &write_fd_set, &exc_fd_set, 
                &timeout);
-       //LOG("select: %d\n", fd_count);
+       NSLOG(netsurf, DEEPDEBUG, "select: %d\n", fd_count);
 
        if (fd_count > 0 && FD_ISSET(sEventPipe[0], &read_fd_set)) {
                BMessage *message;
                int len = read(sEventPipe[0], &message, sizeof(void *));
-               //LOG("gui_poll: BMessage ? %d read", len);
+               NSLOG(netsurf, DEEPDEBUG, "gui_poll: BMessage ? %d read", len);
                if (len == sizeof(void *)) {
-                       //LOG("gui_poll: BMessage.what %-4.4s\n", 
&(message->what));
+                       NSLOG(netsurf, DEEPDEBUG,
+                             "gui_poll: BMessage.what %-4.4s\n",
+                             &(message->what));
                        nsbeos_dispatch_event(message);
                }
        }
diff --git a/frontends/beos/schedule.cpp b/frontends/beos/schedule.cpp
index 552a7cd..c2caea9 100644
--- a/frontends/beos/schedule.cpp
+++ b/frontends/beos/schedule.cpp
@@ -28,11 +28,7 @@ extern "C" {
 #include "netsurf/content_type.h"
 #include "netsurf/browser_window.h"
 
-#ifdef DEBUG_BEOS_SCHEDULE
 #include "utils/log.h"
-#else
-#define LOG(x...)
-#endif
 }
 
 /** Killable callback closure embodiment. */
@@ -58,8 +54,10 @@ nsbeos_schedule_kill_callback(void *_target, void *_match)
        _nsbeos_callback_t *match = (_nsbeos_callback_t *)_match;
        if ((target->callback == match->callback) &&
            (target->context == match->context)) {
-               NSLOG(netsurf, INFO, "Found match for %p(%p), killing.",
-                     target->callback, target->context);
+               NSLOG(schedule, DEBUG,
+                     "Found match for %p(%p), killing.",
+                     target->callback,
+                     target->context);
                target->callback = NULL;
                target->context = NULL;
                target->callback_killed = true;
@@ -70,7 +68,9 @@ nsbeos_schedule_kill_callback(void *_target, void *_match)
 static void
 schedule_remove(void (*callback)(void *p), void *p)
 {
-       NSLOG(netsurf, INFO, "schedule_remove() for %p(%p)", cb->callback,
+       NSLOG(schedule, DEBUG,
+             "schedule_remove() for %p(%p)",
+             cb->callback,
              cb->context);
        if (callbacks == NULL)
                return;
@@ -83,7 +83,7 @@ schedule_remove(void (*callback)(void *p), void *p)
 
 nserror beos_schedule(int t, void (*callback)(void *p), void *p)
 {
-       NSLOG(netsurf, INFO, "t:%d cb:%p p:%p", t, cb->callback, cb->context);
+       NSLOG(schedule, DEBUG, "t:%d cb:%p p:%p", t, cb->callback, cb->context);
 
        if (callbacks == NULL) {
                callbacks = new BList;
@@ -113,7 +113,7 @@ nserror beos_schedule(int t, void (*callback)(void *p), 
void *p)
 bool
 schedule_run(void)
 {
-       NSLOG(netsurf, INFO, "schedule_run()");
+       NSLOG(schedule, DEBUG, "schedule_run()");
 
        earliest_callback_timeout = B_INFINITE_TIMEOUT;
        if (callbacks == NULL)
@@ -122,7 +122,8 @@ schedule_run(void)
        bigtime_t now = system_time();
        int32 i;
 
-       NSLOG(netsurf, INFO, "Checking %ld callbacks to for deadline.",
+       NSLOG(schedule, DEBUG,
+             "Checking %ld callbacks to for deadline.",
              this_run->CountItems());
 
        /* Run all the callbacks which made it this far. */
@@ -135,8 +136,11 @@ schedule_run(void)
                        i++;
                        continue;
                }
-               NSLOG(netsurf, INFO, "Running callbacks %p(%p).",
-                     cb->callback, cb->context);
+               NSLOG(schedule, DEBUG,
+                     "Running callbacks %p(%p).",
+                     cb->callback,
+                     cb->context);
+
                if (!cb->callback_killed)
                        cb->callback(cb->context);
                callbacks->RemoveItem(cb);
diff --git a/frontends/beos/window.cpp b/frontends/beos/window.cpp
index c6e2aad..f422920 100644
--- a/frontends/beos/window.cpp
+++ b/frontends/beos/window.cpp
@@ -457,7 +457,7 @@ void nsbeos_dispatch_event(BMessage *message)
                return;
        }
 
-       //LOG("processing message");
+       NSLOG(netsurf, DEEPDEBUG, "processing message");
        switch (message->what) {
                case B_QUIT_REQUESTED:
                        // from the BApplication
diff --git a/frontends/framebuffer/convert_font.c 
b/frontends/framebuffer/convert_font.c
index 6d7c4d4..010af85 100644
--- a/frontends/framebuffer/convert_font.c
+++ b/frontends/framebuffer/convert_font.c
@@ -278,8 +278,7 @@ bool generate_font_header(const char *path, struct 
font_data *data)
 
        fp = fopen(path, "wb");
        if (fp == NULL) {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "Couldn't open header file \"%s\"\n", path);
+               LOG(LOG_ERROR, "Couldn't open header file \"%s\"\n", path);
                return false;
        }
 
@@ -316,8 +315,7 @@ bool generate_font_source(const char *path, struct 
font_data *data)
 
        fp = fopen(path, "wb");
        if (fp == NULL) {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "Couldn't open output file \"%s\"\n", path);
+               LOG(LOG_ERROR, "Couldn't open output file \"%s\"\n", path);
                return false;
        }
 
@@ -415,14 +413,14 @@ static bool add_glyph_to_data(glyph_entry *add, int id, 
int style,
                d->e[d->glyphs++] = e;
                e->index = d->glyphs;
                if (d->glyphs >= 0xfffd) {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Too many glyphs for internal data 
""representation\n");
+                       LOG(LOG_ERROR, "  Too many glyphs for internal data "
+                                       "representation\n");
                        return false;
                }
        } else {
                /* Duplicate glyph */
-               NSLOG(netsurf, INFO, LOG_DEBUG,
-                     "  U+%.4X (%s) is duplicate\n", id, short_labels[style]);
+               LOG(LOG_DEBUG, "  U+%.4X (%s) is duplicate\n",
+                               id, short_labels[style]);
        }
 
        /* Find glyph's section */
@@ -434,8 +432,8 @@ static bool add_glyph_to_data(glyph_entry *add, int id, int 
style,
                size_t size = (d->sec_count[style] + 1) * SECTION_SIZE;
                uint16_t *temp = realloc(d->sections[style], size);
                if (temp == NULL) {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Couldn't increase sections ""allocation\n");
+                       LOG(LOG_ERROR, "  Couldn't increase sections "
+                                       "allocation\n");
                        return false;
                }
                memset(temp + d->sec_count[style] * 256, 0,
@@ -458,50 +456,47 @@ static bool check_glyph_data_valid(int pos, char c)
 
        if (pos == 44) {
                if (c != '\n') {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Invalid glyph data: ""expecting '\\n', got 
'%c' (%i)\n",
-                             c,
-                             c);
+                       LOG(LOG_ERROR, "  Invalid glyph data: "
+                                       "expecting '\\n', got '%c' (%i)\n",
+                                       c, c);
                        return false;
                } else {
                        return true;
                }
        } else if (pos < 3) {
                if (c != ' ') {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Invalid glyph data: ""expecting ' ', got '%c' 
(%i)\n",
-                             c,
-                             c);
+                       LOG(LOG_ERROR, "  Invalid glyph data: "
+                                       "expecting ' ', got '%c' (%i)\n",
+                                       c, c);
                        return false;
                } else {
                        return true;
                }
        } else if (offset == 0) {
                if (c != '\n' && c != ' ') {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Invalid glyph data: ""expecting '\\n' or ' ', 
""got '%c' (%i)\n",
-                             c,
-                             c);
+                       LOG(LOG_ERROR, "  Invalid glyph data: "
+                                       "expecting '\\n' or ' ', "
+                                       "got '%c' (%i)\n",
+                                       c, c);
                        return false;
                } else {
                        return true;
                }
        } else if (offset < 3) {
                if (c != ' ') {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Invalid glyph data: ""expecting ' ', got '%c' 
(%i)\n",
-                             c,
-                             c);
+                       LOG(LOG_ERROR, "  Invalid glyph data: "
+                                       "expecting ' ', got '%c' (%i)\n",
+                                       c, c);
                        return false;
                } else {
                        return true;
                }
        } else if (offset >= 3 && pos < 11) {
                if (c != '.' && c != '#') {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Invalid glyph data: ""expecting '.' or '#', 
""got '%c' (%i)\n",
-                             c,
-                             c);
+                       LOG(LOG_ERROR, "  Invalid glyph data: "
+                                       "expecting '.' or '#', "
+                                       "got '%c' (%i)\n",
+                                       c, c);
                        return false;
                } else {
                        return true;
@@ -510,10 +505,10 @@ static bool check_glyph_data_valid(int pos, char c)
 
        /* offset must be >=3 */
        if (c != '.' && c != '#' && c != ' ') {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "  Invalid glyph data: ""expecting '.', '#', or ' ', 
""got '%c' (%i)\n",
-                     c,
-                     c);
+               LOG(LOG_ERROR, "  Invalid glyph data: "
+                   "expecting '.', '#', or ' ', "
+                   "got '%c' (%i)\n",
+                   c, c);
                return false;
        }
 
@@ -702,11 +697,11 @@ static bool parse_glyph_data(struct parse_context *ctx, 
char c,
 
        /* Check that character is valid */
        if (check_glyph_data_valid(ctx->data.in_gd.pos, c) == false) {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "  Error in U+%.4X data: ""glyph line: %i, pos: %i\n",
-                     ctx->id,
-                     ctx->data.in_gd.line,
-                     ctx->data.in_gd.pos);
+               LOG(LOG_ERROR, "  Error in U+%.4X data: "
+                               "glyph line: %i, pos: %i\n",
+                               ctx->id,
+                               ctx->data.in_gd.line,
+                               ctx->data.in_gd.pos);
                goto error;
        }
 
@@ -717,8 +712,8 @@ static bool parse_glyph_data(struct parse_context *ctx, 
char c,
                        ctx->data.in_gd.e[glyph] =
                                        calloc(sizeof(struct glyph_entry), 1);
                        if (ctx->data.in_gd.e[glyph] == NULL) {
-                               NSLOG(netsurf, INFO, LOG_ERROR,
-                                     "  Couldn't allocate memory for ""glyph 
entry\n");
+                               LOG(LOG_ERROR, "  Couldn't allocate memory for "
+                                               "glyph entry\n");
                                goto error;
                        }
 
@@ -740,17 +735,18 @@ static bool parse_glyph_data(struct parse_context *ctx, 
char c,
        if (c == '\n') {
                if (ctx->data.in_gd.line == 0) {
                        if (ctx->data.in_gd.e[0] == NULL) {
-                               NSLOG(netsurf, INFO, LOG_ERROR,
-                                     "  Error in U+%.4X data: ""\"Regular\" 
glyph style must ""be present\n",
-                                     ctx->id);
+                               LOG(LOG_ERROR, "  Error in U+%.4X data: "
+                                               "\"Regular\" glyph style must "
+                                               "be present\n", ctx->id);
                                goto error;
                        }
                } else if (ctx->data.in_gd.styles !=
                                ctx->data.in_gd.line_styles) {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "  Error in U+%.4X data: ""glyph line: %i 
""styles don't match first line\n",
-                             ctx->id,
-                             ctx->data.in_gd.line);
+                       LOG(LOG_ERROR, "  Error in U+%.4X data: "
+                                       "glyph line: %i "
+                                       "styles don't match first line\n",
+                                       ctx->id,
+                                       ctx->data.in_gd.line);
                        goto error;
                }
 
@@ -768,10 +764,10 @@ static bool parse_glyph_data(struct parse_context *ctx, 
char c,
                                ctx->count[i] += 1;
                                if (glyph_is_codepoint(ctx->data.in_gd.e[i],
                                                ctx->id, i)) {
-                                       NSLOG(netsurf, INFO, LOG_DEBUG,
-                                             "  U+%.4X (%s) is ""codepoint\n",
-                                             ctx->id,
-                                             short_labels[i]);
+                                       LOG(LOG_DEBUG, "  U+%.4X (%s) is "
+                                                       "codepoint\n",
+                                                       ctx->id,
+                                                       short_labels[i]);
                                        ctx->codepoints += 1;
                                        free(ctx->data.in_gd.e[i]);
                                        ctx->data.in_gd.e[i] = NULL;
@@ -814,8 +810,7 @@ static bool get_hex_digit_value(char c, int *v)
        else if (c >= 'A' && c <= 'F')
                *v = (10 + c - 'A');
        else {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "Invalid hex digit '%c' (%i)\n", c, c);
+               LOG(LOG_ERROR, "Invalid hex digit '%c' (%i)\n", c, c);
                return false;
        }
 
@@ -852,16 +847,14 @@ static bool parse_chunk(struct parse_context *ctx, const 
char *buf, size_t len,
 
        while (pos < end) {
                if (*pos == '\r') {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "Detected \'\\r\': Bad line ending\n");
+                       LOG(LOG_ERROR, "Detected \'\\r\': Bad line ending\n");
                        return false;
                }
 
                switch (ctx->state) {
                case START:
                        if (*pos != '*') {
-                               NSLOG(netsurf, INFO, LOG_ERROR,
-                                     "First character must be '*'\n");
+                               LOG(LOG_ERROR, "First character must be '*'\n");
                                printf("Got: %c (%i)\n", *pos, *pos);
                                return false;
                        }
@@ -873,13 +866,12 @@ static bool parse_chunk(struct parse_context *ctx, const 
char *buf, size_t len,
                case IN_HEADER:
                        if (ctx->data.in_header.new_line == true) {
                                if (*pos != '*') {
-                                       NSLOG(netsurf, INFO, LOG_INFO,
-                                             "  Got header ""(%i bytes)\n",
-                                             d->header_len);
-                                       NSLOG(netsurf, INFO, LOG_DEBUG,
-                                             "  Header:\n\n%.*s\n",
-                                             d->header_len,
-                                             d->header);
+                                       LOG(LOG_INFO, "  Got header "
+                                                       "(%i bytes)\n",
+                                                       d->header_len);
+                                       LOG(LOG_DEBUG, "  Header:\n\n%.*s\n",
+                                                       d->header_len,
+                                                       d->header);
                                        ctx->data.before_id.new_line = false;
                                        ctx->data.before_id.u = false;
                                        ctx->state = BEFORE_ID;
@@ -894,9 +886,9 @@ static bool parse_chunk(struct parse_context *ctx, const 
char *buf, size_t len,
                        }
 
                        if (d->header_len == HEADER_MAX) {
-                               NSLOG(netsurf, INFO, LOG_ERROR,
-                                     "  Header too long ""(>%i bytes)\n",
-                                     d->header_len);
+                               LOG(LOG_ERROR, "  Header too long "
+                                               "(>%i bytes)\n",
+                                               d->header_len);
                                return false;
                        }
 
@@ -930,8 +922,7 @@ static bool parse_chunk(struct parse_context *ctx, const 
char *buf, size_t len,
                        ok = assemble_codepoint(pos, ctx->data.g_id.c++,
                                        &ctx->id);
                        if (!ok) {
-                               NSLOG(netsurf, INFO, LOG_ERROR,
-                                     "  Invalid glyph ID\n");
+                               LOG(LOG_ERROR, "  Invalid glyph ID\n");
                                return false;
                        }
 
@@ -1003,8 +994,8 @@ static bool parse_chunk(struct parse_context *ctx, const 
char *buf, size_t len,
        }
 
        for (i = 0; i < 4; i++) {
-               NSLOG(netsurf, INFO, LOG_DEBUG, "  %s: %i gylphs\n",
-                     labels[i], ctx->count[i] - count[i]);
+               LOG(LOG_DEBUG, "  %s: %i gylphs\n", labels[i],
+                               ctx->count[i] - count[i]);
        }
 
        return true;
@@ -1028,15 +1019,13 @@ bool load_font(const char *path, struct font_data 
**data)
 
        fp = fopen(path, "rb");
        if (fp == NULL) {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "Couldn't open font data file\n");
+               LOG(LOG_ERROR, "Couldn't open font data file\n");
                return false;
        }
 
        d = calloc(sizeof(struct font_data), 1);
        if (d == NULL) {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "Couldn't allocate memory for font data\n");
+               LOG(LOG_ERROR, "Couldn't allocate memory for font data\n");
                fclose(fp);
                return false;
        }
@@ -1045,19 +1034,18 @@ bool load_font(const char *path, struct font_data 
**data)
        fseek(fp, 0L, SEEK_END);
        file_len = ftell(fp);
        if (file_len == -1) {
-               NSLOG(netsurf, INFO, LOG_ERROR, "Could not size input file\n");
+               LOG(LOG_ERROR, "Could not size input file\n");
                free(d);
                fclose(fp);
                return false;
        }
        fseek(fp, 0L, SEEK_SET);
-       NSLOG(netsurf, INFO, LOG_DEBUG, "Input size: %zu bytes\n", file_len);
+       LOG(LOG_DEBUG, "Input size: %zu bytes\n", file_len);
 
        /* Allocate buffer for data chunks */
        buf = malloc(CHUNK_SIZE);
        if (buf == NULL) {
-               NSLOG(netsurf, INFO, LOG_ERROR,
-                     "Couldn't allocate memory for input buffer\n");
+               LOG(LOG_ERROR, "Couldn't allocate memory for input buffer\n");
                free(d);
                fclose(fp);
                return false;
@@ -1066,24 +1054,20 @@ bool load_font(const char *path, struct font_data 
**data)
        /* Initialise parser */
        parse_init(&ctx);
 
-       NSLOG(netsurf, INFO, LOG_DEBUG, "Using chunk size of %i bytes\n",
-             CHUNK_SIZE);
+       LOG(LOG_DEBUG, "Using chunk size of %i bytes\n", CHUNK_SIZE);
 
        /* Parse the input file in chunks */
        for (done = 0; done < file_len; done += CHUNK_SIZE) {
-               NSLOG(netsurf, INFO, LOG_INFO, "Parsing input chunk %zu\n",
-                     done / CHUNK_SIZE);
+               LOG(LOG_INFO, "Parsing input chunk %zu\n", done / CHUNK_SIZE);
 
                /* Read chunk */
                len = fread(buf, 1, CHUNK_SIZE, fp);
                if (file_len - done < CHUNK_SIZE &&
                                len != file_len - done) {
-                       NSLOG(netsurf, INFO, LOG_WARNING,
-                             "Last chunk has suspicious size\n");
+                       LOG(LOG_WARNING, "Last chunk has suspicious size\n");
                } else if (file_len - done >= CHUNK_SIZE &&
                                len != CHUNK_SIZE) {
-                       NSLOG(netsurf, INFO, LOG_ERROR,
-                             "Problem reading file\n");
+                       LOG(LOG_ERROR, "Problem reading file\n");
                        free(buf);
                        free(d);
                        fclose(fp);
@@ -1098,33 +1082,29 @@ bool load_font(const char *path, struct font_data 
**data)
                        fclose(fp);
                        return false;
                }
-               NSLOG(netsurf, INFO, LOG_DEBUG, "Parsed %zu bytes\n",
-                     done + len);
+               LOG(LOG_DEBUG, "Parsed %zu bytes\n", done + len);
        }
 
        fclose(fp);
 
        if (ctx.state != BEFORE_ID) {
-               NSLOG(netsurf, INFO, LOG_ERROR, "Unexpected end of file\n");
+               LOG(LOG_ERROR, "Unexpected end of file\n");
                free(buf);
                free(d);
                return false;
        }
 
-       NSLOG(netsurf, INFO, LOG_INFO, "Parsing complete:\n");
+       LOG(LOG_INFO, "Parsing complete:\n");
        count = 0;
        for (i = 0; i < 4; i++) {
-               NSLOG(netsurf, INFO, LOG_INFO, "  %s: %i gylphs\n",
-                     labels[i], ctx.count[i]);
+               LOG(LOG_INFO, "  %s: %i gylphs\n", labels[i], ctx.count[i]);
                count += ctx.count[i];
        }
 
-       NSLOG(netsurf, INFO, LOG_RESULT,
-             "  Total %i gylphs ""(of which %i unique, %i codepoints, %i 
duplicates)\n",
-             count,
-             d->glyphs,
-             ctx.codepoints,
-             count - d->glyphs - ctx.codepoints);
+       LOG(LOG_RESULT, "  Total %i gylphs "
+                       "(of which %i unique, %i codepoints, %i duplicates)\n",
+                       count, d->glyphs, ctx.codepoints,
+                       count - d->glyphs - ctx.codepoints);
 
        free(buf);
 
@@ -1135,9 +1115,16 @@ bool load_font(const char *path, struct font_data **data)
 static void log_usage(const char *argv0)
 {
        level = LOG_INFO;
-       NSLOG(netsurf, INFO, LOG_INFO,
-             "Usage:\n""\t%s [options] <in_file> 
<out_file>\n""\n""Options:\n""\t--help    -h   Display this text\n""\t--quiet   
-q   Don't show warnings\n""\t--verbose -v   Verbose output\n""\t--debug   -d   
Full debug output\n",
-             argv0);
+       LOG(LOG_INFO,
+           "Usage:\n"
+           "\t%s [options] <in_file> <out_file>\n"
+           "\n"
+           "Options:\n"
+           "\t--help    -h   Display this text\n"
+           "\t--quiet   -q   Don't show warnings\n"
+           "\t--verbose -v   Verbose output\n"
+           "\t--debug   -d   Full debug output\n",
+           argv0);
 }
 
 int main(int argc, char** argv)
@@ -1200,9 +1187,8 @@ int main(int argc, char** argv)
        in_path = argv[optind];
        out_path = argv[optind + 1];
 
-       NSLOG(netsurf, INFO, LOG_DEBUG, "Using input path: \"%s\"\n", in_path);
-       NSLOG(netsurf, INFO, LOG_DEBUG, "Using output path: \"%s\"\n",
-             out_path);
+       LOG(LOG_DEBUG, "Using input path: \"%s\"\n", in_path);
+       LOG(LOG_DEBUG, "Using output path: \"%s\"\n", out_path);
 
        ok = load_font(in_path, &data);
        if (!ok) {
diff --git a/frontends/framebuffer/fbtk.h b/frontends/framebuffer/fbtk.h
index 3cc326c..86bdc86 100644
--- a/frontends/framebuffer/fbtk.h
+++ b/frontends/framebuffer/fbtk.h
@@ -21,12 +21,6 @@
 
 #include "netsurf/types.h"
 
-#ifdef FBTK_LOGGING
-#define FBTK_LOG(x) LOG(x)
-#else
-#define FBTK_LOG(x)
-#endif
-
 #define FB_SCROLL_COLOUR 0xFFAAAAAA
 #define FB_FRAME_COLOUR 0xFFDDDDDD
 #define FB_COLOUR_BLACK 0xFF000000
diff --git a/frontends/framebuffer/fbtk/fbtk.c 
b/frontends/framebuffer/fbtk/fbtk.c
index a0b0f66..91f6e25 100644
--- a/frontends/framebuffer/fbtk/fbtk.c
+++ b/frontends/framebuffer/fbtk/fbtk.c
@@ -53,7 +53,7 @@ dump_tk_tree(fbtk_widget_t *widget)
        int indent = 0;
 
        while (widget != NULL) {
-               NSLOG(netsurf, INFO, "%*s%p", indent, "", widget);
+               NSLOG(fbtk, DEBUG, "%*s%p", indent, "", widget);
                if (widget->first_child != NULL) {
                        widget = widget->first_child;
                        indent += 6;
@@ -100,11 +100,13 @@ fbtk_request_redraw(fbtk_widget_t *widget)
        widget->redraw.width = widget->width;
        widget->redraw.height = widget->height;
 
-#ifdef FBTK_LOGGING
-       NSLOG(netsurf, INFO, "redrawing %p %d,%d %d,%d", widget,
-             widget->redraw.x, widget->redraw.y, widget->redraw.width,
+       NSLOG(fbtk, DEBUG,
+             "redrawing %p %d,%d %d,%d",
+             widget,
+             widget->redraw.x,
+             widget->redraw.y,
+             widget->redraw.width,
              widget->redraw.height);
-#endif
 
        cwidget = widget->last_child;
        while (cwidget != NULL) {
@@ -134,9 +136,11 @@ fbtk_set_mapping(fbtk_widget_t *widget, bool map)
        return 0;
 }
 
-/** swap the widget given with the next sibling.
- *
+
+/**
  * Swap a sibling widget with the next deepest in the hierachy
+ *
+ * \param lw The widget to swap
  */
 static void
 swap_siblings(fbtk_widget_t *lw)
@@ -403,7 +407,6 @@ fbtk_set_ptr(fbtk_widget_t *widget, fbtk_callback_info *cbi)
 }
 
 
-
 /* internally exported function documented in widget.h */
 fbtk_widget_t *
 fbtk_get_root_widget(fbtk_widget_t *widget)
@@ -436,6 +439,7 @@ fbtk_get_absx(fbtk_widget_t *widget)
        return x;
 }
 
+
 /* exported function documented in fbtk.h */
 int
 fbtk_get_absy(fbtk_widget_t *widget)
@@ -450,6 +454,7 @@ fbtk_get_absy(fbtk_widget_t *widget)
        return y;
 }
 
+
 /* exported function documented in fbtk.h */
 int
 fbtk_get_height(fbtk_widget_t *widget)
@@ -554,10 +559,7 @@ fbtk_widget_new(fbtk_widget_t *parent,
        if (neww == NULL)
                return NULL;
 
-#ifdef FBTK_LOGGING
-       NSLOG(netsurf, INFO, "creating %p %d,%d %d,%d", neww, x, y, width,
-             height);
-#endif
+       NSLOG(fbtk, DEBUG, "creating %p %d,%d %d,%d", neww, x, y, width, 
height);
 
        /* make new window fit inside parent */
        if (width == 0) {
@@ -578,10 +580,8 @@ fbtk_widget_new(fbtk_widget_t *parent,
                height = parent->height - y;
        }
 
-#ifdef FBTK_LOGGING
-       NSLOG(netsurf, INFO, "using %p %d,%d %d,%d", neww, x, y, width,
-             height);
-#endif
+       NSLOG(fbtk, DEBUG, "using %p %d,%d %d,%d", neww, x, y, width, height);
+
        /* set values */
        neww->type = type;
        neww->x = x;
@@ -639,10 +639,12 @@ do_redraw(nsfb_t *nsfb, fbtk_widget_t *widget)
                plot_ctx.x1 = plot_ctx.x0 + widget->redraw.width;
                plot_ctx.y1 = plot_ctx.y0 + widget->redraw.height;
 
-#ifdef FBTK_LOGGING
-               NSLOG(netsurf, INFO, "clipping %p %d,%d %d,%d", widget,
-                     plot_ctx.x0, plot_ctx.y0, plot_ctx.x1, plot_ctx.y1);
-#endif
+               NSLOG(fbtk, DEBUG,
+                     "clipping %p %d,%d %d,%d",
+                     widget,
+                     plot_ctx.x0, plot_ctx.y0,
+                     plot_ctx.x1, plot_ctx.y1);
+
                if (nsfb_plot_set_clip(nsfb, &plot_ctx) == true) {
                        fbtk_post_callback(widget, FBTK_CBT_REDRAW);
                }
diff --git a/frontends/framebuffer/schedule.c b/frontends/framebuffer/schedule.c
index c94cead..6d17112 100644
--- a/frontends/framebuffer/schedule.c
+++ b/frontends/framebuffer/schedule.c
@@ -24,12 +24,6 @@
 
 #include "framebuffer/schedule.h"
 
-#ifdef DEBUG_SCHEDULER
-#define SRLOG(x...) LOG(x)
-#else
-#define SRLOG(x...) ((void) 0)
-#endif
-
 /* linked list of scheduled callbacks */
 static struct nscallback *schedule_list = NULL;
 
@@ -63,7 +57,7 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                 return NSERROR_OK;
        }
 
-       SRLOG("removing %p, %p", callback, p);
+       NSLOG(schedule, DEBUG, "removing %p, %p", callback, p);
 
         cur_nscb = schedule_list;
         prev_nscb = NULL;
@@ -73,7 +67,8 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                     (cur_nscb->p ==  p)) {
                         /* item to remove */
 
-                        SRLOG("callback entry %p removing  %p(%p)",
+                        NSLOG(schedule, DEBUG,
+                             "callback entry %p removing  %p(%p)",
                              cur_nscb, cur_nscb->callback, cur_nscb->p);
 
                         /* remove callback */
@@ -109,7 +104,7 @@ nserror framebuffer_schedule(int tival, void 
(*callback)(void *p), void *p)
                return ret;
        }
 
-       SRLOG("Adding %p(%p) in %d", callback, p, tival);
+       NSLOG(schedule, DEBUG, "Adding %p(%p) in %d", callback, p, tival);
 
         tv.tv_sec = tival / 1000; /* miliseconds to seconds */
         tv.tv_usec = (tival % 1000) * 1000; /* remainder to microseconds */
@@ -190,7 +185,9 @@ int schedule_run(void)
        /* make rettime relative to now */
        timersub(&nexttime, &tv, &rettime);
 
-       SRLOG("returning time to next event as %ldms",(rettime.tv_sec * 1000) + 
(rettime.tv_usec / 1000)); 
+       NSLOG(schedule, DEBUG,
+             "returning time to next event as %ldms",
+             (rettime.tv_sec * 1000) + (rettime.tv_usec / 1000)); 
 
        /* return next event time in milliseconds (24days max wait) */
         return (rettime.tv_sec * 1000) + (rettime.tv_usec / 1000);
diff --git a/frontends/gtk/layout_pango.c b/frontends/gtk/layout_pango.c
index 3002786..9e17c3b 100644
--- a/frontends/gtk/layout_pango.c
+++ b/frontends/gtk/layout_pango.c
@@ -84,9 +84,10 @@ nsfont_width(const plot_font_style_t *fstyle,
 
        pango_layout_get_pixel_size(nsfont_pango_layout, width, 0);
 
-       /* LOG("fstyle: %p string:\"%.*s\", length: %u, width: %dpx",
-                       fstyle, length, string, length, *width);
-        */
+       NSLOG(netsurf, DEEPDEBUG,
+             "fstyle: %p string:\"%.*s\", length: %u, width: %dpx",
+             fstyle, length, string, length, *width);
+        
 
        return NSERROR_OK;
 }
diff --git a/frontends/gtk/resources.c b/frontends/gtk/resources.c
index c07548b..0f0d180 100644
--- a/frontends/gtk/resources.c
+++ b/frontends/gtk/resources.c
@@ -202,7 +202,8 @@ init_resource(char **respath, struct nsgtk_resource_s 
*resource)
                              resource->path);
                        return NSERROR_OK;
                }
-               /*LOG("gresource \"%s\" not found", resname);*/
+               NSLOG(netsurf, DEEPDEBUG,
+                     "gresource \"%s\" not found", resname);
                free(resname);
 
                langc++;
@@ -226,7 +227,7 @@ init_resource(char **respath, struct nsgtk_resource_s 
*resource)
                      resource->path);
                return NSERROR_OK;
        }
-       /*LOG("gresource \"%s\" not found", resname);*/
+       NSLOG(netsurf, DEEPDEBUG, "gresource \"%s\" not found", resname);*/
        free(resname);
 
 #endif
diff --git a/frontends/gtk/schedule.c b/frontends/gtk/schedule.c
index 2014320..d5b4567 100644
--- a/frontends/gtk/schedule.c
+++ b/frontends/gtk/schedule.c
@@ -46,7 +46,7 @@ nsgtk_schedule_generic_callback(gpointer data)
         _nsgtk_callback_t *cb = (_nsgtk_callback_t *)(data);
         if (cb->callback_killed) {
                 /* This callback instance has been killed. */
-                NSLOG(netsurf, DEBUG, "CB at %p already dead.", cb);
+                NSLOG(schedule, DEBUG, "CB at %p already dead.", cb);
         }
         queued_callbacks = g_list_remove(queued_callbacks, cb);
         pending_callbacks = g_list_append(pending_callbacks, cb);
@@ -60,7 +60,8 @@ nsgtk_schedule_kill_callback(void *_target, void *_match)
         _nsgtk_callback_t *match = (_nsgtk_callback_t *)_match;
         if ((target->callback == match->callback) &&
             (target->context == match->context)) {
-                NSLOG(netsurf, DEBUG, "Found match for %p(%p), killing.",
+                NSLOG(schedule, DEBUG,
+                     "Found match for %p(%p), killing.",
                       target->callback, target->context);
                 target->callback = NULL;
                 target->context = NULL;
@@ -119,7 +120,8 @@ schedule_run(void)
         /* Clear the pending list. */
         pending_callbacks = NULL;
 
-        NSLOG(netsurf, DEBUG, "Captured a run of %d callbacks to fire.",
+        NSLOG(schedule, DEBUG,
+             "Captured a run of %d callbacks to fire.",
               g_list_length(this_run));
 
         /* Run all the callbacks which made it this far. */
diff --git a/frontends/monkey/schedule.c b/frontends/monkey/schedule.c
index b34bd5a..d3e442a 100644
--- a/frontends/monkey/schedule.c
+++ b/frontends/monkey/schedule.c
@@ -24,12 +24,6 @@
 
 #include "monkey/schedule.h"
 
-#ifdef DEBUG_SCHEDULER
-#define SRLOG(x...) LOG(x)
-#else
-#define SRLOG(x...) ((void) 0)
-#endif
-
 /* linked list of scheduled callbacks */
 static struct nscallback *schedule_list = NULL;
 
@@ -63,7 +57,7 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                return NSERROR_OK;
        }
 
-       SRLOG("removing %p, %p", callback, p);
+       NSLOG(schedule, DEBUG, "removing %p, %p", callback, p);
 
        cur_nscb = schedule_list;
        prev_nscb = NULL;
@@ -73,7 +67,7 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                    (cur_nscb->p ==  p)) {
                        /* item to remove */
 
-                       SRLOG("callback entry %p removing  %p(%p)",
+                       NSLOG(schedule, DEBUG, "callback entry %p removing  
%p(%p)",
                              cur_nscb, cur_nscb->callback, cur_nscb->p);
 
                        /* remove callback */
@@ -109,7 +103,7 @@ nserror monkey_schedule(int tival, void (*callback)(void 
*p), void *p)
                return ret;
        }
 
-       SRLOG("Adding %p(%p) in %d", callback, p, tival);
+       NSLOG(schedule, DEBUG, "Adding %p(%p) in %d", callback, p, tival);
 
        tv.tv_sec = tival / 1000; /* miliseconds to seconds */
        tv.tv_usec = (tival % 1000) * 1000; /* remainder to microseconds */
@@ -190,7 +184,7 @@ int monkey_schedule_run(void)
        /* make rettime relative to now */
        timersub(&nexttime, &tv, &rettime);
 
-       SRLOG("returning time to next event as %ldms",
+       NSLOG(schedule, DEBUG, "returning time to next event as %ldms",
              (rettime.tv_sec * 1000) + (rettime.tv_usec / 1000));
 
        /* return next event time in milliseconds (24days max wait) */
diff --git a/frontends/riscos/configure/con_image.c 
b/frontends/riscos/configure/con_image.c
index 49dd4f7..c7fc7f3 100644
--- a/frontends/riscos/configure/con_image.c
+++ b/frontends/riscos/configure/con_image.c
@@ -150,8 +150,9 @@ void ro_gui_options_image_redraw(wimp_draw *redraw)
        icon_state.i = IMAGE_CURRENT_DISPLAY;
        error = xwimp_get_icon_state(&icon_state);
        if (error) {
-               LOG("xwimp_get_icon_state: 0x%x: %s",
-                               error->errnum, error->errmess);
+               NSLOG(netsurf, INFO,
+                     "xwimp_get_icon_state: 0x%x: %s",
+                     error->errnum, error->errmess);
                ro_warn_user("MenuError", error->errmess);
                return;
        }
diff --git a/frontends/riscos/gui.c b/frontends/riscos/gui.c
index 51ea370..9d651bc 100644
--- a/frontends/riscos/gui.c
+++ b/frontends/riscos/gui.c
@@ -274,8 +274,10 @@ set_colour_from_wimp(struct nsoption_s *opts,
 
        error = xwimp_read_true_palette((os_palette *) &palette);
        if (error != NULL) {
-               LOG("xwimp_read_palette: 0x%x: %s",
-                    error->errnum, error->errmess);
+               NSLOG(netsurf, INFO,
+                     "xwimp_read_palette: 0x%x: %s",
+                     error->errnum,
+                     error->errmess);
        } else {
                /* entries are in B0G0R0LL */
                def_colour = palette.entries[wimp] >> 8;
diff --git a/frontends/riscos/textselection.c b/frontends/riscos/textselection.c
index efec96b..e5be277 100644
--- a/frontends/riscos/textselection.c
+++ b/frontends/riscos/textselection.c
@@ -482,7 +482,7 @@ void 
ro_gui_selection_data_request(wimp_full_message_data_request *req)
 //                     bits ftype = req->file_types[i];
 //                     if (ftype == ~0U) break;        /* list terminator */
 //
-//                     LOG("type %x", ftype);
+//                     NSLOG(netsurf, INFO, "type %x", ftype);
 //                     i++;
 //             }
 
diff --git a/frontends/riscos/theme.c b/frontends/riscos/theme.c
index 661beb7..341b7f7 100644
--- a/frontends/riscos/theme.c
+++ b/frontends/riscos/theme.c
@@ -16,8 +16,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-/** \file
- * Window themes (implementation).
+/**
+ * \file
+ * Window themes implementation.
  */
 
 #include <alloca.h>
@@ -180,8 +181,10 @@ static void ro_gui_theme_get_available_in_dir(const char 
*directory)
                                (osgbpb_info_list *) &info, 1, context,
                                sizeof(info), 0, &read_count, &context);
                if (error) {
-                       LOG("xosgbpb_dir_entries_info: 0x%x: %s",
-                               error->errnum, error->errmess);
+                       NSLOG(netsurf, INFO,
+                             "xosgbpb_dir_entries_info: 0x%x: %s",
+                             error->errnum,
+                             error->errmess);
                        if (error->errnum == 0xd6)      /* no such dir */
                                return;
                        ro_warn_user("MiscError", error->errmess);
diff --git a/frontends/windows/font.c b/frontends/windows/font.c
index 75464f9..37ccf23 100644
--- a/frontends/windows/font.c
+++ b/frontends/windows/font.c
@@ -309,10 +309,11 @@ win32_font_split(const plot_font_style_t *style,
                }
        }
 
-/*
-  LOG("ret %d Split %u chars at %ipx: Split at char %i (%ipx) - %.*s",
-  ret, length, x, *char_offset, *actual_x, *char_offset, string);
-*/
+
+       NSLOG(netsurf, DEEPDEBUG,
+             "ret %d Split %u chars at %ipx: Split at char %i (%ipx) - %.*s",
+             ret, length, x, *char_offset, *actual_x, *char_offset, string);
+
        return ret;
 }
 
diff --git a/frontends/windows/schedule.c b/frontends/windows/schedule.c
index d6a7572..76358ec 100644
--- a/frontends/windows/schedule.c
+++ b/frontends/windows/schedule.c
@@ -25,12 +25,6 @@
 
 #include "windows/schedule.h"
 
-#ifdef DEBUG_SCHEDULER
-#define SRLOG(x...) LOG(x)
-#else
-#define SRLOG(x...) ((void) 0)
-#endif
-
 /* linked list of scheduled callbacks */
 static struct nscallback *schedule_list = NULL;
 
@@ -66,7 +60,7 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                 return NSERROR_OK;
        }
 
-       SRLOG("removing %p, %p", callback, p);
+       NSLOG(schedule, DEBUG, "removing %p, %p", callback, p);
 
         cur_nscb = schedule_list;
         prev_nscb = NULL;
@@ -76,8 +70,11 @@ static nserror schedule_remove(void (*callback)(void *p), 
void *p)
                     (cur_nscb->p ==  p)) {
                         /* item to remove */
 
-                        SRLOG("callback entry %p removing  %p(%p)",
-                             cur_nscb, cur_nscb->callback, cur_nscb->p);
+                        NSLOG(schedule, DEBUG,
+                             "callback entry %p removing  %p(%p)",
+                             cur_nscb,
+                             cur_nscb->callback,
+                             cur_nscb->p);
 
                         /* remove callback */
                         unlnk_nscb = cur_nscb;
@@ -118,7 +115,8 @@ nserror win32_schedule(int ival, void (*callback)(void *p), 
void *p)
                return NSERROR_NOMEM;
        }
 
-       SRLOG("adding callback %p for %p(%p) at %d cs",
+       NSLOG(schedule, DEBUG,
+             "adding callback %p for %p(%p) at %d cs",
               nscb, callback, p, ival);
 
        gettimeofday(&nscb->tv, NULL);
@@ -168,8 +166,11 @@ schedule_run(void)
                                 prev_nscb->next = unlnk_nscb->next;
                         }
 
-                        SRLOG("callback entry %p running %p(%p)",
-                             unlnk_nscb, unlnk_nscb->callback, unlnk_nscb->p);
+                        NSLOG(schedule, DEBUG,
+                             "callback entry %p running %p(%p)",
+                             unlnk_nscb,
+                             unlnk_nscb->callback,
+                             unlnk_nscb->p);
                         /* call callback */
                         unlnk_nscb->callback(unlnk_nscb->p);
 
@@ -201,8 +202,9 @@ schedule_run(void)
        /* make returned time relative to now */
        timersub(&nexttime, &tv, &rettime);
 
-       SRLOG("returning time to next event as %ldms",
-            (rettime.tv_sec * 1000) + (rettime.tv_usec / 1000));
+       NSLOG(schedule, DEBUG,
+             "returning time to next event as %ldms",
+             (rettime.tv_sec * 1000) + (rettime.tv_usec / 1000));
 
        /* return next event time in milliseconds (24days max wait) */
         return (rettime.tv_sec * 1000) + (rettime.tv_usec / 1000);
@@ -216,14 +218,16 @@ void list_schedule(void)
 
        gettimeofday(&tv, NULL);
 
-        NSLOG(netsurf, INFO, "schedule list at %ld:%ld", tv.tv_sec,
-              tv.tv_usec);
+        NSLOG(netsurf, INFO, "schedule list at %ld:%ld", tv.tv_sec, 
tv.tv_usec);
 
         cur_nscb = schedule_list;
 
         while (cur_nscb != NULL) {
-                NSLOG(netsurf, INFO, "Schedule %p at %ld:%ld", cur_nscb,
-                      cur_nscb->tv.tv_sec, cur_nscb->tv.tv_usec);
+                NSLOG(netsurf, INFO,
+                     "Schedule %p at %ld:%ld",
+                     cur_nscb,
+                      cur_nscb->tv.tv_sec,
+                     cur_nscb->tv.tv_usec);
                 cur_nscb = cur_nscb->next;
         }
 }
diff --git a/frontends/windows/windbg.h b/frontends/windows/windbg.h
index b2d8640..6cd9f97 100644
--- a/frontends/windows/windbg.h
+++ b/frontends/windows/windbg.h
@@ -24,11 +24,13 @@
 const char *msg_num_to_name(int msg);
 void win_perror(const char *lpszFunction);
 
-#define LOG_WIN_MSG(h, m, w, l)                                \
-       if (((m) != WM_SETCURSOR) &&                    \
-           ((m) != WM_MOUSEMOVE) &&                    \
-           ((m) != WM_NCHITTEST) &&                    \
-           ((m) != WM_ENTERIDLE))                      \
-               LOG("%s, hwnd %p, w 0x%x, l 0x%Ix", msg_num_to_name(m), h, w, 
l);
+#define LOG_WIN_MSG(h, m, w, l)                                                
\
+       if (((m) != WM_SETCURSOR) &&                                    \
+           ((m) != WM_MOUSEMOVE) &&                                    \
+           ((m) != WM_NCHITTEST) &&                                    \
+           ((m) != WM_ENTERIDLE))                                      \
+               NSLOG(netsurf, INFO,                                    \
+                     "%s, hwnd %p, w 0x%x, l 0x%Ix",                   \
+                     msg_num_to_name(m), h, w, l)
 
 #endif
diff --git a/frontends/windows/window.c b/frontends/windows/window.c
index 20db25a..5c5dc67 100644
--- a/frontends/windows/window.c
+++ b/frontends/windows/window.c
@@ -163,7 +163,8 @@ static HWND nsws_window_create(HINSTANCE hInstance, struct 
gui_window *gw)
        gw->mainmenu = LoadMenu(hInstance, MAKEINTRESOURCE(IDR_MENU_MAIN));
        gw->rclick = LoadMenu(hInstance, MAKEINTRESOURCE(IDR_MENU_CONTEXT));
 
-       NSLOG(netsurf, INFO, "creating hInstance %p GUI window %p",
+       NSLOG(netsurf, INFO,
+             "creating hInstance %p GUI window %p",
              hInstance, gw);
        hwnd = CreateWindowEx(0,
                              windowclassname_main,
@@ -195,7 +196,8 @@ static HWND nsws_window_create(HINSTANCE hInstance, struct 
gui_window *gw)
            (nsoption_int(window_height) >= 100) &&
            (nsoption_int(window_x) >= 0) &&
            (nsoption_int(window_y) >= 0)) {
-               NSLOG(netsurf, INFO, "Setting Window position %d,%d %d,%d",
+               NSLOG(netsurf, INFO,
+                     "Setting Window position %d,%d %d,%d",
                      nsoption_int(window_x), nsoption_int(window_y),
                      nsoption_int(window_width), nsoption_int(window_height));
                SetWindowPos(hwnd, HWND_TOP,
@@ -1879,7 +1881,9 @@ nserror win32_window_set_scroll(struct gui_window *gw, 
const struct rect *rect)
                gw->requestscrolly = rect->y0 - gw->scrolly;
        }
 
-       /*LOG("requestscroll x,y:%d,%d", w->requestscrollx, 
w->requestscrolly);*/
+       NSLOG(netsurf, DEEPDEBUG,
+             "requestscroll x,y:%d,%d",
+             w->requestscrollx, w->requestscrolly);
 
        /* set the vertical scroll offset */
        si.cbSize = sizeof(si);
@@ -1890,7 +1894,9 @@ nserror win32_window_set_scroll(struct gui_window *gw, 
const struct rect *rect)
        si.nPos = max(gw->scrolly + gw->requestscrolly, 0);
        si.nPos = min(si.nPos, height - gw->height);
        SetScrollInfo(gw->drawingarea, SB_VERT, &si, TRUE);
-       /*LOG("SetScrollInfo VERT min:%d max:%d page:%d pos:%d", si.nMin, 
si.nMax, si.nPage, si.nPos);*/
+       NSLOG(netsurf, DEEPDEBUG,
+             "SetScrollInfo VERT min:%d max:%d page:%d pos:%d",
+             si.nMin, si.nMax, si.nPage, si.nPos);
 
        /* set the horizontal scroll offset */
        si.cbSize = sizeof(si);
@@ -1901,7 +1907,9 @@ nserror win32_window_set_scroll(struct gui_window *gw, 
const struct rect *rect)
        si.nPos = max(gw->scrollx + gw->requestscrollx, 0);
        si.nPos = min(si.nPos, width - gw->width);
        SetScrollInfo(gw->drawingarea, SB_HORZ, &si, TRUE);
-       /*LOG("SetScrollInfo HORZ min:%d max:%d page:%d pos:%d", si.nMin, 
si.nMax, si.nPage, si.nPos);*/
+       NSLOG(netsurf, DEEPDEBUG,
+             "SetScrollInfo HORZ min:%d max:%d page:%d pos:%d",
+             si.nMin, si.nMax, si.nPage, si.nPos);
 
        /* Set caret position */
        GetCaretPos(&p);
@@ -1915,7 +1923,9 @@ nserror win32_window_set_scroll(struct gui_window *gw, 
const struct rect *rect)
        r.left = 0;
        r.right = gw->width + 1;
        ScrollWindowEx(gw->drawingarea, - gw->requestscrollx, - 
gw->requestscrolly, &r, NULL, NULL, &redraw, SW_INVALIDATE);
-       /*LOG("ScrollWindowEx %d, %d", - w->requestscrollx, - 
w->requestscrolly);*/
+       NSLOG(netsurf, DEEPDEBUG,
+             "ScrollWindowEx %d, %d",
+             - w->requestscrollx, - w->requestscrolly);
        gw->scrolly += gw->requestscrolly;
        gw->scrollx += gw->requestscrollx;
        gw->requestscrollx = 0;
diff --git a/render/html.c b/render/html.c
index 482259f..3cfc5e2 100644
--- a/render/html.c
+++ b/render/html.c
@@ -769,7 +769,7 @@ dom_event_fetcher(dom_string *type,
                  dom_default_action_phase phase,
                  void **pw)
 {
-       //LOG("type:%s", dom_string_data(type));
+       NSLOG(netsurf, DEEPDEBUG, "type:%s", dom_string_data(type));
 
        if (phase == DOM_DEFAULT_ACTION_END) {
                if (dom_string_isequal(type, corestring_dom_DOMNodeInserted)) {
diff --git a/utils/log.c b/utils/log.c
index 8630d87..3beb695 100644
--- a/utils/log.c
+++ b/utils/log.c
@@ -95,6 +95,8 @@ NSLOG_DEFINE_CATEGORY(netsurf, "NetSurf default logging");
 NSLOG_DEFINE_CATEGORY(llcache, "Low level cache");
 NSLOG_DEFINE_CATEGORY(fetch, "objet fetching");
 NSLOG_DEFINE_CATEGORY(plot, "rendering system");
+NSLOG_DEFINE_CATEGORY(schedule, "scheduler");
+NSLOG_DEFINE_CATEGORY(fbtk, "Framebuffer toolkit");
 
 static void
 netsurf_render_log(void *_ctx,
diff --git a/utils/log.h b/utils/log.h
index 2476247..1dbc9e3 100644
--- a/utils/log.h
+++ b/utils/log.h
@@ -60,6 +60,8 @@ NSLOG_DECLARE_CATEGORY(netsurf);
 NSLOG_DECLARE_CATEGORY(llcache);
 NSLOG_DECLARE_CATEGORY(fetch);
 NSLOG_DECLARE_CATEGORY(plot);
+NSLOG_DECLARE_CATEGORY(schedule);
+NSLOG_DECLARE_CATEGORY(fbtk);
 
 #else /* WITH_NSLOG */
 
diff --git a/utils/nsurl/private.h b/utils/nsurl/private.h
index 89d7ed4..bc6737c 100644
--- a/utils/nsurl/private.h
+++ b/utils/nsurl/private.h
@@ -187,28 +187,44 @@ static inline void nsurl__components_destroy(struct 
nsurl_components *c)
 static inline void nsurl__dump(const nsurl *url)
 {
        if (url->components.scheme)
-               LOG("  Scheme: %s", lwc_string_data(url->components.scheme));
+               NSLOG(netsurf, INFO,netsurf, INFO,
+                       "  Scheme: %s",
+                       lwc_string_data(url->components.scheme));
 
        if (url->components.username)
-               LOG("Username: %s", lwc_string_data(url->components.username));
+               NSLOG(netsurf, INFO,
+                     "Username: %s",
+                     lwc_string_data(url->components.username));
 
        if (url->components.password)
-               LOG("Password: %s", lwc_string_data(url->components.password));
+               NSLOG(netsurf, INFO,
+                     "Password: %s",
+                     lwc_string_data(url->components.password));
 
        if (url->components.host)
-               LOG("    Host: %s", lwc_string_data(url->components.host));
+               NSLOG(netsurf, INFO,
+                     "    Host: %s",
+                     lwc_string_data(url->components.host));
 
        if (url->components.port)
-               LOG("    Port: %s", lwc_string_data(url->components.port));
+               NSLOG(netsurf, INFO,
+                     "    Port: %s",
+                     lwc_string_data(url->components.port));
 
        if (url->components.path)
-               LOG("    Path: %s", lwc_string_data(url->components.path));
+               NSLOG(netsurf, INFO,
+                     "    Path: %s",
+                     lwc_string_data(url->components.path));
 
        if (url->components.query)
-               LOG("   Query: %s", lwc_string_data(url->components.query));
+               NSLOG(netsurf, INFO,
+                     "   Query: %s",
+                     lwc_string_data(url->components.query));
 
        if (url->components.fragment)
-               LOG("Fragment: %s", lwc_string_data(url->components.fragment));
+               NSLOG(netsurf, INFO,
+                     "Fragment: %s",
+                     lwc_string_data(url->components.fragment));
 }
 #endif
 


-- 
NetSurf Browser

_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org

Reply via email to