diff --git a/content/path-search.ts b/content/path-search.ts index 498b8b1d4..268d624bb 100644 --- a/content/path-search.ts +++ b/content/path-search.ts @@ -18,16 +18,16 @@ async function* asyncGenerator(array: T[]): AsyncGenerator } const ENV = Components.classes['@mozilla.org/process/environment;1'].getService(Components.interfaces.nsIEnvironment) -const Var = Zotero.isWin ? /%([A-Z][A-Z0-9]*)%/ig : /[$]([A-Z][A-Z0-9]*)/ig +const VarRef = Zotero.isWin ? /%([A-Z][A-Z0-9]*)%/ig : /[$]([A-Z][A-Z0-9]*)/ig function expandVars(name: string, expanded: Record): string { if (typeof expanded[name] !== 'string') { - let more = true expanded[name] = ENV.get(name) || '' + let more = true while (more) { more = false - expanded[name] = expanded[name].replace(Var, (match, inner) => { + expanded[name] = expanded[name].replace(VarRef, (match, varref) => { more = true - return expandVars(inner, expanded) + return expandVars(varref, expanded) }) } }