temporarily revert to citeproc-js 1.0.124, as citeproc-js 1.0.125 appears to have produced a very mysterious hang that only affects Firefox 3.6 MacWord users...
This commit is contained in:
parent
72a511ba81
commit
28ebbc9ba6
1 changed files with 45 additions and 67 deletions
|
@ -1752,7 +1752,7 @@ CSL.DateParser = function (txt) {
|
|||
};
|
||||
CSL.Engine = function (sys, style, lang, forceLang) {
|
||||
var attrs, langspec, localexml, locale;
|
||||
this.processor_version = "1.0.125";
|
||||
this.processor_version = "1.0.124";
|
||||
this.csl_version = "1.0";
|
||||
this.sys = sys;
|
||||
this.sys.xml = new CSL.System.Xml.Parsing();
|
||||
|
@ -4464,6 +4464,14 @@ CSL.Node.names = {
|
|||
} else {
|
||||
frontnames = [];
|
||||
}
|
||||
if (tnamesets.length > 0 && tnamesets.slice(-1)[0].species === "org") {
|
||||
tnamesets[0].organization_first = true;
|
||||
tnamesets.slice(-1)[0].organization_last = true;
|
||||
if (frontnames.length) {
|
||||
frontnames[0].free_agent_start = true;
|
||||
tnamesets.slice(-1)[0].free_agent_end = true;
|
||||
}
|
||||
}
|
||||
if (frontnames.length === 0) {
|
||||
if (tnamesets.length > 1) {
|
||||
if (tnamesets[0].species === "pers") {
|
||||
|
@ -4511,9 +4519,15 @@ CSL.Node.names = {
|
|||
}
|
||||
}
|
||||
}
|
||||
namesets = namesets.slice(0, 1);
|
||||
if (namesets.length) {
|
||||
if (namesets[0].species === "pers") {
|
||||
namesets[0].organization_first = false;
|
||||
namesets[0].after_people = false;
|
||||
namesets[0].free_agent_start = false;
|
||||
namesets[0].free_agent_end = false;
|
||||
} else {
|
||||
namesets[0].organization_last = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4565,64 +4579,31 @@ CSL.Node.names = {
|
|||
}
|
||||
cutinfo = state.tmp.names_cut;
|
||||
if (namesets[0].species === "pers") {
|
||||
if (state.tmp.cut_var) {
|
||||
namesets[0].names = namesets[0].names.slice(cutinfo.counts[state.tmp.cut_var]);
|
||||
}
|
||||
if (namesets[0].names.length === 0) {
|
||||
namesets = namesets.slice(1);
|
||||
}
|
||||
}
|
||||
if (state.tmp.cut_var && cutinfo.used === state.tmp.cut_var) {
|
||||
llen = cutinfo.variable[state.tmp.cut_var].length - 1;
|
||||
for (ppos = llen; ppos > -1; ppos += -1) {
|
||||
obj = cutinfo.variable[state.tmp.cut_var][ppos];
|
||||
obj[0].blobs = obj[0].blobs.slice(0, obj[1]).concat(obj[0].blobs.slice(obj[1] + 1));
|
||||
}
|
||||
if (state.tmp.cut_var) {
|
||||
namesets[0].names = namesets[0].names.slice(cutinfo.counts[state.tmp.cut_var]);
|
||||
}
|
||||
if (namesets[0].names.length === 0) {
|
||||
if (namesets[0].free_agent_start) {
|
||||
namesets[1].free_agent_start = true;
|
||||
}
|
||||
if (namesets[0].organization_first) {
|
||||
namesets[1].organization_first = true;
|
||||
}
|
||||
namesets = namesets.slice(1);
|
||||
}
|
||||
} else {
|
||||
namesets = namesets.slice(0, 1);
|
||||
if (namesets[0].organization_first) {
|
||||
namesets[0].organization_last = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!state.output.getToken("and-org")) {
|
||||
state.output.addToken("and-org");
|
||||
}
|
||||
var prefix_single_org = " ";
|
||||
var prefix_multiple_org = ", ";
|
||||
var and_org = state.getTerm("and", "long", 0);
|
||||
var offset = 0;
|
||||
if (namesets.length > 1 && namesets[1].after_people) {
|
||||
var offset = 1
|
||||
}
|
||||
var numnamesets = 0;
|
||||
for (i = offset, ilen = namesets.length; i < ilen; i += 1) {
|
||||
if (namesets[i].species === 'org') {
|
||||
if (i > 0 && namesets[i - 1].species === 'pers' && !namesets[i].after_people) {
|
||||
namesets[i - 1].organization_first = true;
|
||||
} else {
|
||||
namesets [i].organization_first = true;
|
||||
}
|
||||
namesets[i].organization_last = true;
|
||||
numnamesets += 1;
|
||||
if (state.tmp.cut_var && cutinfo.used === state.tmp.cut_var) {
|
||||
llen = cutinfo.variable[state.tmp.cut_var].length - 1;
|
||||
for (ppos = llen; ppos > -1; ppos += -1) {
|
||||
obj = cutinfo.variable[state.tmp.cut_var][ppos];
|
||||
obj[0].blobs = obj[0].blobs.slice(0, obj[1]).concat(obj[0].blobs.slice(obj[1] + 1));
|
||||
}
|
||||
}
|
||||
var namesetcount = 0;
|
||||
for (i = offset, ilen = namesets.length; i < ilen; i += 1) {
|
||||
if (namesets[i].species === 'org' && numnamesets > 1) {
|
||||
if ((i - offset) > 0 && numnamesets === (namesetcount + 1)) {
|
||||
if (namesets[i - 1].species === 'pers') {
|
||||
namesets[i - 2].institutions_and_join = true;
|
||||
} else {
|
||||
namesets[i - 1].institutions_and_join = true;
|
||||
}
|
||||
}
|
||||
namesetcount += 1;
|
||||
}
|
||||
}
|
||||
if (numnamesets > 1) {
|
||||
state.output.getToken("and-org").strings.prefix = prefix_single_org;
|
||||
if (numnamesets > 2) {
|
||||
namesets[offset].institutions_penultimate_group_start = true;
|
||||
namesets[namesets.length - 2].institutions_penultimate_group_end = true;
|
||||
state.output.getToken("and-org").strings.prefix = prefix_multiple_org;
|
||||
}
|
||||
state.output.getToken("and-org").strings.suffix = " ";
|
||||
}
|
||||
}
|
||||
if (!state.output.getToken("institution")) {
|
||||
state.output.addToken("institution");
|
||||
|
@ -4673,6 +4654,12 @@ CSL.Node.names = {
|
|||
state.output.getToken("and-pers").strings["prefix-single"] = " ";
|
||||
state.output.getToken("and-pers").strings["prefix-multiple"] = ", ";
|
||||
and_pers = state.getTerm("and", "long", 0);
|
||||
if (!state.output.getToken("and-org")) {
|
||||
state.output.addToken("and-org");
|
||||
}
|
||||
state.output.getToken("and-org").strings["prefix-single"] = " ";
|
||||
state.output.getToken("and-org").strings["prefix-multiple"] = ", ";
|
||||
and_org = state.getTerm("and", "long", 0);
|
||||
state.output.addToken("with");
|
||||
state.output.getToken("with").strings.prefix = ", ";
|
||||
state.output.getToken("with").strings.suffix = " ";
|
||||
|
@ -4875,10 +4862,7 @@ CSL.Node.names = {
|
|||
state.output.openLevel("trailing-names", state.tmp.cut_var);
|
||||
}
|
||||
if (nameset.after_people) {
|
||||
state.output.append(with_term, "with");
|
||||
}
|
||||
if (nameset.institutions_penultimate_group_start) {
|
||||
state.output.openLevel("inner");
|
||||
state.output.append("with", "with");
|
||||
}
|
||||
if (nameset.organization_first) {
|
||||
state.output.openLevel("institution-outer");
|
||||
|
@ -4910,9 +4894,6 @@ CSL.Node.names = {
|
|||
state.output.closeLevel("trailing-names");
|
||||
}
|
||||
state.output.closeLevel("institution-outer");
|
||||
if (nameset.institutions_penultimate_group_end) {
|
||||
state.output.closeLevel("inner");
|
||||
}
|
||||
} else {
|
||||
if (nameset.trailers1b_end) {
|
||||
state.output.closeLevel("trailing-names");
|
||||
|
@ -4920,9 +4901,6 @@ CSL.Node.names = {
|
|||
state.output.closeLevel("inner");
|
||||
state.output.openLevel("inner");
|
||||
}
|
||||
if (nameset.institutions_and_join) {
|
||||
state.output.append(and_org, "and-org");
|
||||
}
|
||||
}
|
||||
if (nameset.trailers3_end) {
|
||||
state.output.closeLevel("trailing-names");
|
||||
|
|
Loading…
Add table
Reference in a new issue