From 2f79cb221f8dfeba2f00ea775df11e376eebe96f Mon Sep 17 00:00:00 2001 From: Aurimas Vinckevicius Date: Wed, 10 Dec 2014 15:59:26 -0600 Subject: [PATCH] Fix duplicate matching when ISBN is non-sensical Re https://forums.zotero.org/discussion/43046/items-mistakenly-identified-as-duplicates/ --- chrome/content/zotero/xpcom/duplicates.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/chrome/content/zotero/xpcom/duplicates.js b/chrome/content/zotero/xpcom/duplicates.js index e3350cac50..6a990a63a7 100644 --- a/chrome/content/zotero/xpcom/duplicates.js +++ b/chrome/content/zotero/xpcom/duplicates.js @@ -170,7 +170,9 @@ Zotero.Duplicates.prototype._findDuplicates = function () { } // If no comparison function, check for exact match else { - if (rows[i].value !== rows[j].value) { + if (!rows[i].value || !rows[j].value + || (rows[i].value !== rows[j].value) + ) { break; } } @@ -205,8 +207,8 @@ Zotero.Duplicates.prototype._findDuplicates = function () { var isbnCache = {}; if (rows) { for each(var row in rows) { - row.value = (row.value+'').replace(/[^\dX]+/ig, '').toUpperCase(); //ignore formatting - isbnCache[row.itemID] = row.value; + row.value = Zotero.Utilities.cleanISBN('' + row.value); + if (row.value) isbnCache[row.itemID] = row.value; } rows.sort(sortByValue); processRows();