Index: /trunk/gsdl/macros/dutch.dm
===================================================================
--- /trunk/gsdl/macros/dutch.dm	(revision 2414)
+++ /trunk/gsdl/macros/dutch.dm	(revision 2415)
@@ -582,5 +582,4 @@
 _textfcoption_ [l=nl] {Plaats navigatie lijst bovenaan de documenten pagina}
 _texthloption_ [l=nl] {Accentueer zoektermen in document tekst}
-_texthistorydisplay_ [l=nl] {Weergave vroegere zoekresultaten}
 
 
Index: /trunk/gsdl/macros/english.dm
===================================================================
--- /trunk/gsdl/macros/english.dm	(revision 2414)
+++ /trunk/gsdl/macros/english.dm	(revision 2415)
@@ -612,4 +612,9 @@
 #------------------------------------------------------------
 
+_textprefschanged_ {
+Preferences have been set as follows. Do not use your browsers' 'back' button - 
+it will unset them!
+}
+_textsetprefs_ {set preferences}
 _textsearchprefs_ {Search preferences}
 _textcollectionprefs_ {Collection preferences}
Index: /trunk/gsdl/macros/french.dm
===================================================================
--- /trunk/gsdl/macros/french.dm	(revision 2414)
+++ /trunk/gsdl/macros/french.dm	(revision 2415)
@@ -460,5 +460,4 @@
 _textfcoption_ [l=fr] {Inclure la barre de naviguation en haut des pages de document}
 _texthloption_ [l=fr] {Mettre en evidence les termes de recherche au sein du document}
-_texthistorydisplay_ [l=fr] {afficher l'historique des recherches}
 
 
Index: /trunk/gsdl/macros/german.dm
===================================================================
--- /trunk/gsdl/macros/german.dm	(revision 2414)
+++ /trunk/gsdl/macros/german.dm	(revision 2415)
@@ -507,5 +507,4 @@
 _textfcoption_ [l=de] {Produziere Navigationsleiste am Kopfende des Dokuments}
 _texthloption_ [l=de] {Hervorhebung von Suchbegriffen im Text des Dokuments}
-_texthistorydisplay_ [l=de] {Anzeige der alten Resultate}
 
 
Index: /trunk/gsdl/macros/port.dm
===================================================================
--- /trunk/gsdl/macros/port.dm	(revision 2414)
+++ /trunk/gsdl/macros/port.dm	(revision 2415)
@@ -488,5 +488,4 @@
 _textfcoption_ [l=pt] {Inclui barra de navega&ccedil;&atilde;o no topo da p&aacute;gina do documento}
 _texthloption_ [l=pt] {Destacar termos buscados com o texto do documento}
-_texthistorydisplay_ [l=pt] {exibir hist&oacute;rico de busca}
 
 
Index: /trunk/gsdl/macros/pref.dm
===================================================================
--- /trunk/gsdl/macros/pref.dm	(revision 2414)
+++ /trunk/gsdl/macros/pref.dm	(revision 2415)
@@ -11,4 +11,7 @@
 _PreferenceDocsFromWeb_ {}
 
+# this macro will be set to _textprefschanged_ when the "set preferences"
+# button has been pressed
+_prefschanged_ {}
 
 #######################################################################
@@ -418,4 +421,5 @@
 _navigationbar_
 </center>
+_If_(_prefschanged_,<p>_prefschanged_<br><center>_iconblankbar_</center>)
 
 <blockquote>
@@ -454,4 +458,5 @@
 <tr><td colspan=2>_textprefop_</td></tr>
 </table>
+<br><input type=submit name="bp" value="_textsetprefs_">
 </blockquote>
 _iconblankbar_
Index: /trunk/gsdl/macros/spanish.dm
===================================================================
--- /trunk/gsdl/macros/spanish.dm	(revision 2414)
+++ /trunk/gsdl/macros/spanish.dm	(revision 2415)
@@ -501,5 +501,4 @@
 _textfcoption_ [l=es] {Incluir la barra de navegaci&oacute;n en la parte superior de las p&aacute;ginas del documento}
 _texthloption_ [l=es] {Resaltar los t&eacute;rminos de la b&uacute;squeda dentro del documento}
-_texthistorydisplay_ [l=es] {mostrar la historia de la b&uacute;squeda}
 
 
Index: /trunk/gsdl/src/recpt/pageaction.cpp
===================================================================
--- /trunk/gsdl/src/recpt/pageaction.cpp	(revision 2414)
+++ /trunk/gsdl/src/recpt/pageaction.cpp	(revision 2415)
@@ -60,4 +60,12 @@
   arg_ainfo.savedarginfo = cgiarginfo::mustnot;
   argsinfo.addarginfo (NULL, arg_ainfo);
+
+  arg_ainfo.shortname = "bp";
+  arg_ainfo.longname = "set preferences button";
+  arg_ainfo.multiplechar = true;
+  arg_ainfo.defaultstatus = cgiarginfo::weak;
+  arg_ainfo.argdefault = "";
+  arg_ainfo.savedarginfo = cgiarginfo::mustnot;
+  argsinfo.addarginfo (NULL, arg_ainfo);
 }
 
@@ -65,7 +73,11 @@
 }
 
-bool pageaction::check_cgiargs (cgiargsinfoclass &/*argsinfo*/, cgiargsclass &/*args*/, 
+bool pageaction::check_cgiargs (cgiargsinfoclass &/*argsinfo*/, cgiargsclass &args, 
 				ostream &/*logout*/) {
-  // don't want to check anything yet.
+
+  if (args["p"] == "preferences" && !args["bp"].empty()) {
+    if (args["hd"] != "0") args["hd"] = args["hdn"];
+  }
+
   return true;
 }
@@ -306,4 +318,7 @@
   // _numbrowseoptions_    the number of browsing options 
 
+  // _prefschanged_        will be set to _textprefschanged_ if the "set preferences" button
+  //                       was pressed
+
 
   // if page is "help"
@@ -472,4 +487,9 @@
       encodingoption += "</select>\n";
       disp.setmacro ("encodingoption", "preferences", encodingoption);
+    }
+
+    // _prefschanged_
+    if (!args["bp"].empty()) {
+      disp.setmacro ("prefschanged", "preferences", "_textprefschanged_");
     }
     
