1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-22 19:57:58 +01:00

Fix #258: :set urlseparator= results in infinite loop

This commit is contained in:
Kris Maglione
2009-05-01 14:26:14 -04:00
parent 42fba96bdf
commit e5dc623247
2 changed files with 14 additions and 16 deletions

View File

@@ -173,24 +173,18 @@ const util = { //{{{
* @param {string} str * @param {string} str
* @param {RegExp} marker * @param {RegExp} marker
*/ */
/*
* I hate this function. I hate it, I hate it. I really hate it.
* --Kris
*/
splitLiteral: function splitLiteral(str, marker) splitLiteral: function splitLiteral(str, marker)
{ {
let re = RegExp(/((?:[^\\'"]|\\(?:%)|'.*?'|".*?")*?)(%|$)/.source.replace(/%/g, marker.source), "gy");
let results = []; let results = [];
let resep = RegExp(/^(([^\\'"]|\\.|'([^\\']|\\.)*'|"([^\\"]|\\.)*")*?)/.source + marker.source); let match;
let cont = true;
while (cont) while ((match = re.exec(str)) && match[0])
{ results.push(match[1]);
cont = false;
str = str.replace(resep, function (match, before)
{
results.push(before);
cont = true;
return "";
});
}
results.push(str);
return results; return results;
}, },

View File

@@ -461,12 +461,16 @@ const config = { //{{{
"Change the title of the window", "Change the title of the window",
"string", "Vimperator", "string", "Vimperator",
{ {
getter: function() {
return document.getElementById(config.mainWindowID || "main-window")
.getAttribute("titlemodifier");
},
setter: function (value) setter: function (value)
{ {
try try
{ {
let id = config.mainWindowID || "main-window"; document.getElementById(config.mainWindowID || "main-window")
document.getElementById(id).setAttribute("titlemodifier", value); .setAttribute("titlemodifier", value);
if (window.content.document.title.length > 0) if (window.content.document.title.length > 0)
document.title = window.content.document.title + " - " + value; document.title = window.content.document.title + " - " + value;
else else