diff --git a/chrome/content/zotero/xpcom/citeproc.js b/chrome/content/zotero/xpcom/citeproc.js index 039a7a20a..0e8aa510f 100644 --- a/chrome/content/zotero/xpcom/citeproc.js +++ b/chrome/content/zotero/xpcom/citeproc.js @@ -57,7 +57,7 @@ if (!Array.indexOf) { }; } var CSL = { - PROCESSOR_VERSION: "1.0.443", + PROCESSOR_VERSION: "1.0.446", PLAIN_HYPHEN_REGEX: /(?:[^\\]-|\u2013)/, LOCATOR_LABELS_REGEXP: new RegExp("^((art|ch|Ch|subch|col|fig|l|n|no|op|p|pp|para|subpara|pt|r|sec|subsec|Sec|sv|sch|tit|vrs|vol)\\.)\\s+(.*)"), STATUTE_SUBDIV_GROUPED_REGEX: /((?:^| )(?:art|ch|Ch|subch|p|pp|para|subpara|pt|r|sec|subsec|Sec|sch|tit)\.)/g, @@ -3429,30 +3429,25 @@ CSL.Engine.prototype.rebuildProcessorState = function (citations, mode, uncitedI if (!citations) { citations = []; } - if (!uncitedItemIDs) { - uncitedItemIDs = {}; + if (!mode) { + mode = 'html'; } var itemIDs = []; - var myUncitedItemIDs = []; for (var i=0,ilen=citations.length;i-1; i += -1) { if (myhash[itemIDs[i]]) { @@ -13119,6 +13126,7 @@ CSL.Disambiguation.prototype.run = function(akey) { if (!this.modes.length) { return; } + this.akey = akey; if (this.initVars(akey)) { this.runDisambig(); } @@ -13212,15 +13220,16 @@ CSL.Disambiguation.prototype.disNames = function (ismax) { }; CSL.Disambiguation.prototype.disExtraText = function () { var pos, len, mybase; - if (this.modes.length > 1 && !this.base.disambiguate) { + if (!this.base.disambiguate) { + this.initVars(this.akey) this.modeindex = 0; - this.base = CSL.cloneAmbigConfig(this.betterbase); - } - if (!this.betterbase.disambiguate) { this.base.disambiguate = true; this.betterbase.disambiguate = true; this.initGivens = true; - } else { + for (var i = 0, ilen = this.lists[this.listpos][1].length; i < ilen; i += 1) { + this.state.tmp.taintedItemIDs[this.lists[this.listpos][1][i].id] = true; + } + } else if (this.lists[this.listpos][1].length > 1) { if (this.modeindex === this.modes.length - 1) { var base = this.lists[this.listpos][0]; for (var i = 0, ilen = this.lists[this.listpos][1].length; i < ilen; i += 1) {