www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit a47174748ec5bfb64747bd2274d59ad2b90506ad
parent 2296d1f6aca1e18c97de5b0dee3dddd160aaa409
Author: Simon Kornblith <simon@simonster.com>
Date:   Thu, 16 Feb 2012 07:56:40 -0500

Update to citeproc-js 1.0.285

Diffstat:
Mchrome/content/zotero/xpcom/citeproc.js | 43++++++++++++++++++++++++++++++-------------
1 file changed, 30 insertions(+), 13 deletions(-)

diff --git a/chrome/content/zotero/xpcom/citeproc.js b/chrome/content/zotero/xpcom/citeproc.js @@ -2148,7 +2148,7 @@ CSL.DateParser = function () { }; CSL.Engine = function (sys, style, lang, forceLang) { var attrs, langspec, localexml, locale; - this.processor_version = "1.0.283"; + this.processor_version = "1.0.285"; this.csl_version = "1.0"; this.sys = sys; this.sys.xml = new CSL.System.Xml.Parsing(); @@ -7500,6 +7500,9 @@ CSL.Node.text = { } else { state.transform.setTransformFallback(true); state.transform.setAbbreviationFallback(true); + if (this.variables_real[0] === "subjurisdiction") { + state.transform.setSuppressMonitor("container-title"); + } func = state.transform.getOutputFunction(this.variables); } if (this.variables_real[0] === "container-title") { @@ -7554,14 +7557,16 @@ CSL.Node.text = { } }; } else if (this.variables_real[0] === "hereinafter") { - func = function (state, Item) { - var hereinafter_info = state.transform.getHereinafter(Item); - var value = state.transform.abbrevs[hereinafter_info[0]].hereinafter[hereinafter_info[1]]; - if (value) { - state.tmp.group_context.value()[2] = true; - state.output.append(value, this); - } - }; + if (state.sys.getAbbreviation) { + func = function (state, Item) { + var hereinafter_info = state.transform.getHereinafter(Item); + var value = state.transform.abbrevs[hereinafter_info[0]].hereinafter[hereinafter_info[1]]; + if (value) { + state.tmp.group_context.value()[2] = true; + state.output.append(value, this); + } + }; + } } else if (this.variables_real[0] === "URL") { func = function (state, Item) { var value; @@ -8585,7 +8590,8 @@ CSL.Transform = function (state) { opt = { abbreviation_fallback: false, alternative_varname: false, - transform_fallback: false + transform_fallback: false, + suppress_monitor: false }; } this.init = init; @@ -8661,6 +8667,10 @@ CSL.Transform = function (state) { opt.abbreviation_fallback = b; } this.setAbbreviationFallback = setAbbreviationFallback; + function setSuppressMonitor(b) { + opt.suppress_monitor = b; + } + this.setSuppressMonitor = setSuppressMonitor; function setAlternativeVariableName(s) { opt.alternative_varname = s; } @@ -8731,9 +8741,10 @@ CSL.Transform = function (state) { var myabbrev_family, myfieldname, abbreviation_fallback, alternative_varname, transform_locale, transform_fallback, getTextSubfield; myabbrev_family = abbrev_family; myfieldname = fieldname; - abbreviation_fallback = opt.abbreviation_fallback; - alternative_varname = opt.alternative_varname; - transform_fallback = opt.transform_fallback; + var abbreviation_fallback = opt.abbreviation_fallback; + var alternative_varname = opt.alternative_varname; + var transform_fallback = opt.transform_fallback; + var suppress_monitor = opt.suppress_monitor; var localesets; var langPrefs = CSL.LangPrefsMap[myfieldname]; if (!langPrefs) { @@ -8797,6 +8808,12 @@ CSL.Transform = function (state) { } if (myabbrev_family) { primary = abbreviate(state, Item, alternative_varname, primary, myabbrev_family, true); + if (suppress_monitor && primary) { + suppressing_partner = abbreviate(state, Item, false, Item["container-title"], "container-title", true); + if (suppressing_partner && suppressing_partner.slice(0, primary.length) === primary) { + return null; + } + } secondary = abbreviate(state, Item, false, secondary, myabbrev_family, true); tertiary = abbreviate(state, Item, false, tertiary, myabbrev_family, true); }