44a572559459e6a2b88776be91859b98565b5a70
galt
  Thu Oct 4 17:40:42 2012 -0700
hopefully this is a bit more efficient
diff --git src/hg/lib/web.c src/hg/lib/web.c
index 75c5ca5..95cb434 100644
--- src/hg/lib/web.c
+++ src/hg/lib/web.c
@@ -1363,44 +1363,50 @@
         dyStringAppend(dy, "?");
     dyStringAppend(dy, uiVars);
     if(match[1].rm_so != match[1].rm_eo)
         dyStringAppend(dy, "&");
     }
 if(offset < len)
     dyStringAppend(dy, menuStr + offset);
 freez(&menuStr);
 menuStr = dyStringCannibalize(&dy);
 if(!loginSystemEnabled())
     stripRegEx(menuStr, "<\\!-- LOGIN_START -->.*<\\!-- LOGIN_END -->", REG_ICASE);
 
 if(scriptName)
     {
     // Provide view menu for some CGIs.
-    struct dyString *viewMenu = dyStringCreate("<li class='menuparent' id='view'><span>View</span>\n<ul style='display: none; visibility: hidden;'>\n");
+    struct dyString *viewItems = dyStringCreate("");
     boolean hasViewMenu = TRUE;
     if (endsWith(scriptName, "hgGenome"))
         {
 	safef(buf, sizeof(buf), "../cgi-bin/hgGenome?%s&hgGenome_doPsOutput=1", uiVars);
-    	dyStringPrintf(viewMenu, "<li><a href='%s' id='%s'>%s</a></li>\n", buf, "pdfLink", "PDF/PS");
+    	dyStringPrintf(viewItems, "<li><a href='%s' id='%s'>%s</a></li>\n", buf, "pdfLink", "PDF/PS");
         }
     else
 	{
 	hasViewMenu = FALSE;
 	}
-    dyStringAppend(viewMenu, "</ul>\n</li>\n");
     if (hasViewMenu)
-    	menuStr = replaceChars(menuStr, "<!-- OPTIONAL_VIEW_MENU -->", dyStringCannibalize(&viewMenu));
+	{
+	struct dyString *viewMenu = dyStringCreate("<li class='menuparent' id='view'><span>View</span>\n<ul style='display: none; visibility: hidden;'>\n");
+	dyStringAppend(viewMenu, viewItems->string);
+	dyStringAppend(viewMenu, "</ul>\n</li>\n");
+    	menuStr = replaceChars(menuStr, "<!-- OPTIONAL_VIEW_MENU -->", viewMenu->string);
+	dyStringFree(&viewMenu);
+	}
+    dyStringFree(&viewItems);
     }
 
 
 if(scriptName)
     {
     // Provide context sensitive help links for some CGIs.
     char *link = NULL;
     char *label = NULL;
     if (endsWith(scriptName, "hgBlat"))
         {
         link = "../goldenPath/help/hgTracksHelp.html#BLATAlign";
         label = "Help on Blat";
         }
     else if (endsWith(scriptName, "hgHubConnect"))
         {