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:
@@ -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;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user