diff --git a/chrome/content/zotero/xpcom/citeproc.js b/chrome/content/zotero/xpcom/citeproc.js
index 92da7b98e..7a70efe01 100644
--- a/chrome/content/zotero/xpcom/citeproc.js
+++ b/chrome/content/zotero/xpcom/citeproc.js
@@ -23,7 +23,7 @@
* respectively.
*/
var CSL = {
- PROCESSOR_VERSION: "1.1.130",
+ PROCESSOR_VERSION: "1.1.133",
CONDITION_LEVEL_TOP: 1,
CONDITION_LEVEL_BOTTOM: 2,
PLAIN_HYPHEN_REGEX: /(?:[^\\]-|\u2013)/,
@@ -238,42 +238,47 @@ var CSL = {
elems.push(m[i]);
}
elems.push(splt[splt.length-1])
- var names = {};
- for (var i=1,ilen=elems.length;i -1) {
- Item[key] = {raw: val};
- elems[i] = "";
- } else {
- Item[key] = val;
- }
- } else if (CSL.NAME_VARIABLES.indexOf(key) > -1) {
- if (!names[key]) {
- names[key] = [];
- }
- var lst = val.split(/\s*\|\|\s*/);
- if (lst.length === 1) {
- names[key].push({literal:lst[0]});
- } else if (lst.length === 2) {
- var name = {family:lst[0],given:lst[1]};
- CSL.parseParticles(name);
- names[key].push(name);
- }
- elems[i] = "";
+ for (var i=1,ilen=elems.length;i -1) {
+ Item[key] = {raw: val};
+ } else if (CSL.NAME_VARIABLES.indexOf(key) > -1) {
+ if (!names[key]) {
+ names[key] = [];
}
+ var lst = val.split(/\s*\|\|\s*/);
+ if (lst.length === 1) {
+ names[key].push({literal:lst[0]});
+ } else if (lst.length === 2) {
+ var name = {family:lst[0],given:lst[1]};
+ CSL.parseParticles(name);
+ names[key].push(name);
+ }
+ } else {
+ Item[key] = val;
}
- if (name === "type") {
- Item.type = val;
- }
- Item.note = elems.join("");
+ elems[i] = "";
}
- for (var key in names) {
- Item[key] = names[key];
+ if (name === "type") {
+ Item.type = val;
}
+ Item.note = elems.join("");
+ }
+ for (var key in names) {
+ Item[key] = names[key];
}
},
GENDERS: ["masculine", "feminine"],
@@ -365,7 +370,7 @@ var CSL = {
VIETNAMESE_SPECIALS: /[\u00c0-\u00c3\u00c8-\u00ca\u00cc\u00cd\u00d2-\u00d5\u00d9\u00da\u00dd\u00e0-\u00e3\u00e8-\u00ea\u00ec\u00ed\u00f2-\u00f5\u00f9\u00fa\u00fd\u0101\u0103\u0110\u0111\u0128\u0129\u0168\u0169\u01a0\u01a1\u01af\u01b0\u1ea0-\u1ef9]/,
VIETNAMESE_NAMES: /^(?:(?:[.AaBbCcDdEeGgHhIiKkLlMmNnOoPpQqRrSsTtUuVvXxYy \u00c0-\u00c3\u00c8-\u00ca\u00cc\u00cd\u00d2-\u00d5\u00d9\u00da\u00dd\u00e0-\u00e3\u00e8-\u00ea\u00ec\u00ed\u00f2-\u00f5\u00f9\u00fa\u00fd\u0101\u0103\u0110\u0111\u0128\u0129\u0168\u0169\u01a0\u01a1\u01af\u01b0\u1ea0-\u1ef9]{2,6})(\s+|$))+$/,
NOTE_FIELDS_REGEXP: /\{:(?:[\-_a-z]+|[A-Z]+):[^\}]+\}/g,
- NOTE_FIELD_REGEXP: /\{:([\-_a-z]+|[A-Z]+):\s*([^\}]+)\}/,
+ NOTE_FIELD_REGEXP: /^([\-_a-z]+|[A-Z]+):\s*([^\}]+)$/,
DISPLAY_CLASSES: ["block", "left-margin", "right-inline", "indent"],
NAME_VARIABLES: [
"author",
@@ -4657,7 +4662,6 @@ CSL.Engine.prototype.processCitationCluster = function (citation, citationsPre,
var c, i, ilen, j, jlen, k, klen, n, nlen, key, Item, item, noteCitations, textCitations, m, citationsInNote;
this.debug = false;
this.tmp.loadedItemIDs = {};
- citation = JSON.parse(JSON.stringify(citation));
this.tmp.citation_errors = [];
var return_data = {"bibchange": false};
this.setCitationId(citation);