diff --git a/core/modules/filters/search.js b/core/modules/filters/search.js index a94ccf0b4..1e59deb63 100644 --- a/core/modules/filters/search.js +++ b/core/modules/filters/search.js @@ -22,16 +22,18 @@ exports.search = function(source,operator,options) { return (operator.suffixes[1] || []).indexOf(flag) !== -1; }, excludeFields = false, - firstChar = operator.suffixes[0][0].charAt(0), + fieldList = operator.suffixes[0] || [], + firstField = fieldList[0] || "", + firstChar = firstField.charAt(0), fields; - if(operator.suffixes[0][0].charAt(0) === "-") { - fields = [operator.suffixes[0][0].slice(1)].concat(operator.suffixes[0].slice(1)); + if(firstChar === "-") { + fields = [firstField.slice(1)].concat(fieldList.slice(1)); excludeFields = true; - } else if(operator.suffixes[0][0] === "*"){ + } else if(fieldList[0] === "*"){ fields = []; excludeFields = true; } else { - fields = operator.suffixes[0].slice(0); + fields = fieldList.slice(0); } return options.wiki.search(operator.operand,{ source: source, diff --git a/core/modules/wiki.js b/core/modules/wiki.js index 6dda83a97..8c51a709b 100755 --- a/core/modules/wiki.js +++ b/core/modules/wiki.js @@ -1100,7 +1100,9 @@ exports.search = function(text,options) { if(options.field) { if($tw.utils.isArray(options.field)) { $tw.utils.each(options.field,function(fieldName) { - fields.push(fieldName); + if(fieldName) { + fields.push(fieldName); + } }); } else { fields.push(options.field);