Merge pull request #175 from timmywil/single_quote

_.escape("'") => ' hex escaped not recognized by some html parsers

Former-commit-id: 0e55d8994a1919f5d5dd5806732cbe4711dae22a
This commit is contained in:
John-David Dalton
2013-02-08 12:46:49 -08:00
8 changed files with 23 additions and 19 deletions

View File

@@ -34,7 +34,7 @@
var oldDash = window._;
/** Used to match HTML entities */
var reEscapedHtml = /&(?:amp|lt|gt|quot|#x27);/g;
var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g;
/** Used to match empty string literals in compiled template source */
var reEmptyStringLeading = /\b__p \+= '';/g,
@@ -1009,7 +1009,7 @@
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&#x27;'
"'": '&#39;'
};
/** Used to convert HTML entities to characters */
@@ -4764,7 +4764,7 @@
/**
* The opposite of `_.escape`, this method converts the HTML entities
* `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#x27;` in `string` to their
* `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to their
* corresponding characters.
*
* @static

View File

@@ -18,10 +18,10 @@ return n}function F(n,t,r){var e=-1,u=n?n.length:0,o=Array(typeof u=="number"?u:
});return r}function T(n,t,r,e){var u=n,o=n?n.length:0,i=3>arguments.length;if(typeof o!="number")var a=pr(n),o=a.length;else Xt&&A(n)&&(u=n.split(""));return t=f(t,e,4),$(n,function(n,e,f){e=a?a[--o]:--o,r=i?(i=W,u[e]):t(r,u[e],e,f)}),r}function B(n,t,r){var e;if(t=f(t,r),lr(n)){r=-1;for(var u=n.length;++r<u&&!(e=t(n[r],r,n)););}else fr(n,function(n,r,u){return!(e=t(n,r,u))});return!!e}function M(n,t,r){if(n){var e=0,u=n.length;if(typeof t=="function"){var o=-1;for(t=f(t,r);++o<u&&t(n[o],o,n);)e++
}else if(e=t,e==Q||r)return n[0];return v(n,0,Ft($t(0,e),u))}}function P(n,t){for(var r=-1,e=n?n.length:0,u=[];++r<e;){var o=n[r];lr(o)?At.apply(u,t?o:P(o)):u.push(o)}return u}function z(n,t,r){var e=-1,u=n?n.length:0;if(typeof r=="number")e=(0>r?$t(0,u+r):r||0)-1;else if(r)return e=K(n,t),n[e]===t?e:-1;for(;++e<u;)if(n[e]===t)return e;return-1}function C(n,t,r){if(typeof t=="function"){var e=0,u=-1,o=n?n.length:0;for(t=f(t,r);++u<o&&t(n[u],u,n);)e++}else e=t==Q||r?1:$t(0,t);return v(n,e)}function K(n,t,r,e){var u=0,o=n?n.length:u;
for(r=r?f(r,e,1):V,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;return u}function L(n,t,r,e){var u=-1,o=n?n.length:0,i=[],a=i;typeof t=="function"&&(e=r,r=t,t=W);var c=!t&&75<=o;if(c)var l={};for(r&&(a=[],r=f(r,e));++u<o;){e=n[u];var p=r?r(e,u,n):e;if(c)var s=p+"",s=Ot.call(l,s)?!(a=l[s]):a=l[s]=[];(t?!u||a[a.length-1]!==p:s||0>z(a,p))&&((r||c)&&a.push(p),i.push(e))}return i}function U(n,t){return Vt||Et&&2<arguments.length?Et.call.apply(Et,arguments):i(n,t,v(arguments,2))}function V(n){return n}function G(n){$(d(n),function(t){var e=r[t]=n[t];
r.prototype[t]=function(){var n=[this.__wrapped__];return At.apply(n,arguments),new r(e.apply(r,n))}})}function H(){return this.__wrapped__}var J=!0,Q=null,W=!1,X=typeof exports=="object"&&exports,Y=typeof global=="object"&&global;Y.global===Y&&(n=Y);var Z,nt,tt,rt=[],et={},ut=0,ot=et,it=30,ft=n._,at=/&(?:amp|lt|gt|quot|#x27);/g,ct=/\b__p\+='';/g,lt=/\b(__p\+=)''\+/g,pt=/(__e\(.*?\)|\b__t\))\+'';/g,st=/\w*$/,vt=RegExp("^"+(et.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),gt=/\$\{((?:(?=\\?)\\?[\s\S])*?)}/g,ht=/<%=([\s\S]+?)%>/g,yt=/($^)/,mt=/[&<>"']/g,_t=/['\n\r\t\u2028\u2029\\]/g,dt="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),bt=Math.ceil,wt=rt.concat,jt=Math.floor,xt=vt.test(xt=Object.getPrototypeOf)&&xt,Ot=et.hasOwnProperty,At=rt.push,St=et.toString,Et=vt.test(Et=v.bind)&&Et,kt=vt.test(kt=Array.isArray)&&kt,qt=n.isFinite,Nt=n.isNaN,Rt=vt.test(Rt=Object.keys)&&Rt,$t=Math.max,Ft=Math.min,Dt=Math.random,It="[object Arguments]",Tt="[object Array]",Bt="[object Boolean]",Mt="[object Date]",Pt="[object Number]",zt="[object Object]",Ct="[object RegExp]",Kt="[object String]",Lt=!!n.attachEvent,Ut=Et&&!/\n|true/.test(Et+Lt),Vt=Et&&!Ut,Gt=Rt&&(Lt||Ut),Ht=(Ht={0:1,length:1},rt.splice.call(Ht,0,1),Ht[0]),Jt=J;
r.prototype[t]=function(){var n=[this.__wrapped__];return At.apply(n,arguments),new r(e.apply(r,n))}})}function H(){return this.__wrapped__}var J=!0,Q=null,W=!1,X=typeof exports=="object"&&exports,Y=typeof global=="object"&&global;Y.global===Y&&(n=Y);var Z,nt,tt,rt=[],et={},ut=0,ot=et,it=30,ft=n._,at=/&(?:amp|lt|gt|quot|#39);/g,ct=/\b__p\+='';/g,lt=/\b(__p\+=)''\+/g,pt=/(__e\(.*?\)|\b__t\))\+'';/g,st=/\w*$/,vt=RegExp("^"+(et.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),gt=/\$\{((?:(?=\\?)\\?[\s\S])*?)}/g,ht=/<%=([\s\S]+?)%>/g,yt=/($^)/,mt=/[&<>"']/g,_t=/['\n\r\t\u2028\u2029\\]/g,dt="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),bt=Math.ceil,wt=rt.concat,jt=Math.floor,xt=vt.test(xt=Object.getPrototypeOf)&&xt,Ot=et.hasOwnProperty,At=rt.push,St=et.toString,Et=vt.test(Et=v.bind)&&Et,kt=vt.test(kt=Array.isArray)&&kt,qt=n.isFinite,Nt=n.isNaN,Rt=vt.test(Rt=Object.keys)&&Rt,$t=Math.max,Ft=Math.min,Dt=Math.random,It="[object Arguments]",Tt="[object Array]",Bt="[object Boolean]",Mt="[object Date]",Pt="[object Number]",zt="[object Object]",Ct="[object RegExp]",Kt="[object String]",Lt=!!n.attachEvent,Ut=Et&&!/\n|true/.test(Et+Lt),Vt=Et&&!Ut,Gt=Rt&&(Lt||Ut),Ht=(Ht={0:1,length:1},rt.splice.call(Ht,0,1),Ht[0]),Jt=J;
(function(){function n(){this.x=1}var t=[];n.prototype={valueOf:1,y:1};for(var r in new n)t.push(r);for(r in arguments)Jt=!r;Z=!/valueOf/.test(t),nt=n.propertyIsEnumerable("prototype"),tt="x"!=t[0]})(1);var Qt=arguments.constructor==Object,Wt=!h(arguments),Xt="xx"!="x"[0]+Object("x")[0];try{var Yt=St.call(document)==zt&&!({toString:0}+"")}catch(Zt){}var nr={"[object Function]":W};nr[It]=nr[Tt]=nr[Bt]=nr[Mt]=nr[Pt]=nr[zt]=nr[Ct]=nr[Kt]=J;var tr={};tr[Tt]=Array,tr[Bt]=Boolean,tr[Mt]=Date,tr[zt]=Object,tr[Pt]=Number,tr[Ct]=RegExp,tr[Kt]=String;
var rr={"boolean":W,"function":J,object:J,number:W,string:W,undefined:W},er={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};r.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:ht,variable:"",imports:{_:r}};var ur={a:"p,v,g",l:"var a=0,b=typeof g=='number'?2:arguments.length;while(++a<b){m=arguments[a];if(m&&q[typeof m]){",h:"t[i]=m[i]",c:"}}"},or={a:"d,c,w",l:"c=c&&typeof w=='undefined'?c:e(c,w)",b:"typeof n=='number'",h:"if(c(m[i],i,d)===false)return t"},ir={l:"if(!q[typeof m])return t;"+or.l,b:W},fr=a(or);
Wt&&(h=function(n){return n?Ot.call(n,"callee"):W});var ar=a(or,ir,{m:W}),cr=a(or,ir),lr=kt||function(n){return Qt&&n instanceof Array||St.call(n)==Tt},pr=Rt?function(n){return x(n)?nt&&typeof n=="function"||Jt&&n.length&&h(n)?m(n):Rt(n):[]}:m,sr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},vr=b(sr),gr=a(ur),hr=a(ur,{h:"if(t[i]==null)"+ur.h});j(/x/)&&(j=function(n){return n instanceof Function||"[object Function]"==St.call(n)});var yr=xt?function(n){if(!n||typeof n!="object")return W;
Wt&&(h=function(n){return n?Ot.call(n,"callee"):W});var ar=a(or,ir,{m:W}),cr=a(or,ir),lr=kt||function(n){return Qt&&n instanceof Array||St.call(n)==Tt},pr=Rt?function(n){return x(n)?nt&&typeof n=="function"||Jt&&n.length&&h(n)?m(n):Rt(n):[]}:m,sr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},vr=b(sr),gr=a(ur),hr=a(ur,{h:"if(t[i]==null)"+ur.h});j(/x/)&&(j=function(n){return n instanceof Function||"[object Function]"==St.call(n)});var yr=xt?function(n){if(!n||typeof n!="object")return W;
var t=n.valueOf,r=typeof t=="function"&&(r=xt(t))&&xt(r);return r?n==r||xt(n)==r&&!h(n):y(n)}:y,mr=F,_r=N;r.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},r.assign=gr,r.at=function(n){var t=-1,r=wt.apply(rt,v(arguments,1)),e=r.length,u=Array(e);for(Xt&&A(n)&&(n=n.split(""));++t<e;)u[t]=n[r[t]];return u},r.bind=U,r.bindAll=function(n){for(var t=wt.apply(rt,arguments),r=1<t.length?0:(t=d(n),-1),e=t.length;++r<e;){var u=t[r];n[u]=U(n[u],n)}return n},r.bindKey=function(n,t){return i(n,t,v(arguments,2))
},r.compact=function(n){for(var t=-1,r=n?n.length:0,e=[];++t<r;){var u=n[t];u&&e.push(u)}return e},r.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},r.countBy=function(n,t,r){var e={};return t=f(t,r),$(n,function(n,r,u){r=t(n,r,u)+"",Ot.call(e,r)?e[r]++:e[r]=1}),e},r.debounce=function(n,t,r){function e(){f=Q,r||(o=n.apply(i,u))}var u,o,i,f;return function(){var a=r&&!f;return u=arguments,i=this,clearTimeout(f),f=setTimeout(e,t),a&&(o=n.apply(i,u)),o
}},r.defaults=hr,r.defer=function(n){var r=v(arguments,1);return setTimeout(function(){n.apply(t,r)},1)},r.delay=function(n,r){var e=v(arguments,2);return setTimeout(function(){n.apply(t,e)},r)},r.difference=function(n){for(var t=-1,r=n?n.length:0,u=wt.apply(rt,arguments),u=e(u,r),o=[];++t<r;){var i=n[t];u(i)||o.push(i)}return o},r.filter=N,r.flatten=P,r.forEach=$,r.forIn=ar,r.forOwn=cr,r.functions=d,r.groupBy=function(n,t,r){var e={};return t=f(t,r),$(n,function(n,r,u){r=t(n,r,u)+"",(Ot.call(e,r)?e[r]:e[r]=[]).push(n)

6
dist/lodash.js vendored
View File

@@ -35,7 +35,7 @@
var oldDash = window._;
/** Used to match HTML entities */
var reEscapedHtml = /&(?:amp|lt|gt|quot|#x27);/g;
var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g;
/** Used to match empty string literals in compiled template source */
var reEmptyStringLeading = /\b__p \+= '';/g,
@@ -867,7 +867,7 @@
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&#x27;'
"'": '&#39;'
};
/** Used to convert HTML entities to characters */
@@ -4615,7 +4615,7 @@
/**
* The opposite of `_.escape`, this method converts the HTML entities
* `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#x27;` in `string` to their
* `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to their
* corresponding characters.
*
* @static

4
dist/lodash.min.js vendored
View File

@@ -18,9 +18,9 @@ return n}function R(n,t,r){var e=-1,u=n?n.length:0,o=Array(typeof u=="number"?u:
});return r}function D(n,t,r,e){var u=n?n.length:0,o=3>arguments.length;if(typeof u!="number")var i=Qt(n),u=i.length;return t=f(t,e,4),N(n,function(e,f,a){f=i?i[--u]:--u,r=o?(o=!1,n[f]):t(r,n[f],f,a)}),r}function T(n,t,r){var e;if(t=f(t,r),Lt(n)){r=-1;for(var u=n.length;++r<u&&!(e=t(n[r],r,n)););}else Gt(n,function(n,r,u){return!(e=t(n,r,u))});return!!e}function B(n,t,r){if(n){var e=0,u=n.length;if(typeof t=="function"){var o=-1;for(t=f(t,r);++o<u&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n[0];
return s(n,0,At(xt(0,e),u))}}function I(n,t){for(var r=-1,e=n?n.length:0,u=[];++r<e;){var o=n[r];Lt(o)?yt.apply(u,t?o:I(o)):u.push(o)}return u}function M(n,t,r){var e=-1,u=n?n.length:0;if(typeof r=="number")e=(0>r?xt(0,u+r):r||0)-1;else if(r)return e=P(n,t),n[e]===t?e:-1;for(;++e<u;)if(n[e]===t)return e;return-1}function z(n,t,r){if(typeof t=="function"){var e=0,u=-1,o=n?n.length:0;for(t=f(t,r);++u<o&&t(n[u],u,n);)e++}else e=null==t||r?1:xt(0,t);return s(n,e)}function P(n,t,r,e){var u=0,o=n?n.length:u;
for(r=r?f(r,e,1):U,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;return u}function C(n,t,r,e){var u=-1,o=n?n.length:0,i=[],a=i;typeof t=="function"&&(e=r,r=t,t=!1);var c=!t&&75<=o;if(c)var l={};for(r&&(a=[],r=f(r,e));++u<o;){e=n[u];var p=r?r(e,u,n):e;if(c)var s=p+"",s=ht.call(l,s)?!(a=l[s]):a=l[s]=[];(t?!u||a[a.length-1]!==p:s||0>M(a,p))&&((r||c)&&a.push(p),i.push(e))}return i}function K(n,t){return Bt||_t&&2<arguments.length?_t.call.apply(_t,arguments):i(n,t,s(arguments,2))}function U(n){return n}function V(n){N(m(n),function(t){var e=r[t]=n[t];
r.prototype[t]=function(){var n=[this.__wrapped__];return yt.apply(n,arguments),new r(e.apply(r,n))}})}function G(){return this.__wrapped__}var H=typeof exports=="object"&&exports,J=typeof global=="object"&&global;J.global===J&&(n=J);var L=[],Q={},W=0,X=Q,Y=30,Z=n._,nt=/&(?:amp|lt|gt|quot|#x27);/g,tt=/\b__p\+='';/g,rt=/\b(__p\+=)''\+/g,et=/(__e\(.*?\)|\b__t\))\+'';/g,ut=/\w*$/,ot=RegExp("^"+(Q.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),it=/\$\{((?:(?=\\?)\\?[\s\S])*?)}/g,ft=/<%=([\s\S]+?)%>/g,at=/($^)/,ct=/[&<>"']/g,lt=/['\n\r\t\u2028\u2029\\]/g,pt=Math.ceil,st=L.concat,vt=Math.floor,gt=ot.test(gt=Object.getPrototypeOf)&&gt,ht=Q.hasOwnProperty,yt=L.push,mt=Q.toString,_t=ot.test(_t=s.bind)&&_t,dt=ot.test(dt=Array.isArray)&&dt,bt=n.isFinite,wt=n.isNaN,jt=ot.test(jt=Object.keys)&&jt,xt=Math.max,At=Math.min,Ot=Math.random,Et="[object Arguments]",St="[object Array]",qt="[object Boolean]",kt="[object Date]",Nt="[object Number]",Rt="[object Object]",$t="[object RegExp]",Ft="[object String]",Dt=!!n.attachEvent,Tt=_t&&!/\n|true/.test(_t+Dt),Bt=_t&&!Tt,It=jt&&(Dt||Tt),Mt={"[object Function]":!1};
r.prototype[t]=function(){var n=[this.__wrapped__];return yt.apply(n,arguments),new r(e.apply(r,n))}})}function G(){return this.__wrapped__}var H=typeof exports=="object"&&exports,J=typeof global=="object"&&global;J.global===J&&(n=J);var L=[],Q={},W=0,X=Q,Y=30,Z=n._,nt=/&(?:amp|lt|gt|quot|#39);/g,tt=/\b__p\+='';/g,rt=/\b(__p\+=)''\+/g,et=/(__e\(.*?\)|\b__t\))\+'';/g,ut=/\w*$/,ot=RegExp("^"+(Q.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),it=/\$\{((?:(?=\\?)\\?[\s\S])*?)}/g,ft=/<%=([\s\S]+?)%>/g,at=/($^)/,ct=/[&<>"']/g,lt=/['\n\r\t\u2028\u2029\\]/g,pt=Math.ceil,st=L.concat,vt=Math.floor,gt=ot.test(gt=Object.getPrototypeOf)&&gt,ht=Q.hasOwnProperty,yt=L.push,mt=Q.toString,_t=ot.test(_t=s.bind)&&_t,dt=ot.test(dt=Array.isArray)&&dt,bt=n.isFinite,wt=n.isNaN,jt=ot.test(jt=Object.keys)&&jt,xt=Math.max,At=Math.min,Ot=Math.random,Et="[object Arguments]",St="[object Array]",qt="[object Boolean]",kt="[object Date]",Nt="[object Number]",Rt="[object Object]",$t="[object RegExp]",Ft="[object String]",Dt=!!n.attachEvent,Tt=_t&&!/\n|true/.test(_t+Dt),Bt=_t&&!Tt,It=jt&&(Dt||Tt),Mt={"[object Function]":!1};
Mt[Et]=Mt[St]=Mt[qt]=Mt[kt]=Mt[Nt]=Mt[Rt]=Mt[$t]=Mt[Ft]=!0;var zt={};zt[St]=Array,zt[qt]=Boolean,zt[kt]=Date,zt[Rt]=Object,zt[Nt]=Number,zt[$t]=RegExp,zt[Ft]=String;var Pt={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Ct={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};r.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:ft,variable:"",imports:{_:r}};var Kt={a:"p,v,g",l:"var a=0,b=typeof g=='number'?2:arguments.length;while(++a<b){m=arguments[a];if(m&&q[typeof m]){",h:"t[i]=m[i]",c:"}}"},Ut={a:"d,c,w",l:"c=c&&typeof w=='undefined'?c:e(c,w)",b:"typeof n=='number'",h:"if(c(m[i],i,d)===false)return t"},Vt={l:"if(!q[typeof m])return t;"+Ut.l,b:!1},Gt=a(Ut),Ht=a(Ut,Vt,{m:!1}),Jt=a(Ut,Vt),Lt=dt||function(n){return n instanceof Array||mt.call(n)==St
},Qt=jt?function(n){return w(n)?jt(n):[]}:h,Wt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},Xt=_(Wt),Yt=a(Kt),Zt=a(Kt,{h:"if(t[i]==null)"+Kt.h});b(/x/)&&(b=function(n){return n instanceof Function||"[object Function]"==mt.call(n)});var nr=function(n){if(!n||typeof n!="object")return!1;var t=n.valueOf,r=typeof t=="function"&&(r=gt(t))&&gt(r);if(r)n=n==r||gt(n)==r&&!g(n);else{var e=!1;!n||typeof n!="object"||g(n)?n=e:(t=n.constructor,!b(t)||t instanceof t?(Ht(n,function(n,t){e=t}),n=!1===e||ht.call(n,e)):n=e)
},Qt=jt?function(n){return w(n)?jt(n):[]}:h,Wt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Xt=_(Wt),Yt=a(Kt),Zt=a(Kt,{h:"if(t[i]==null)"+Kt.h});b(/x/)&&(b=function(n){return n instanceof Function||"[object Function]"==mt.call(n)});var nr=function(n){if(!n||typeof n!="object")return!1;var t=n.valueOf,r=typeof t=="function"&&(r=gt(t))&&gt(r);if(r)n=n==r||gt(n)==r&&!g(n);else{var e=!1;!n||typeof n!="object"||g(n)?n=e:(t=n.constructor,!b(t)||t instanceof t?(Ht(n,function(n,t){e=t}),n=!1===e||ht.call(n,e)):n=e)
}return n};r.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},r.assign=Yt,r.at=function(n){for(var t=-1,r=st.apply(L,s(arguments,1)),e=r.length,u=Array(e);++t<e;)u[t]=n[r[t]];return u},r.bind=K,r.bindAll=function(n){for(var t=st.apply(L,arguments),r=1<t.length?0:(t=m(n),-1),e=t.length;++r<e;){var u=t[r];n[u]=K(n[u],n)}return n},r.bindKey=function(n,t){return i(n,t,s(arguments,2))},r.compact=function(n){for(var t=-1,r=n?n.length:0,e=[];++t<r;){var u=n[t];
u&&e.push(u)}return e},r.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},r.countBy=function(n,t,r){var e={};return t=f(t,r),N(n,function(n,r,u){r=t(n,r,u)+"",ht.call(e,r)?e[r]++:e[r]=1}),e},r.debounce=function(n,t,r){function e(){f=null,r||(o=n.apply(i,u))}var u,o,i,f;return function(){var a=r&&!f;return u=arguments,i=this,clearTimeout(f),f=setTimeout(e,t),a&&(o=n.apply(i,u)),o}},r.defaults=Zt,r.defer=function(n){var r=s(arguments,1);
return setTimeout(function(){n.apply(t,r)},1)},r.delay=function(n,r){var e=s(arguments,2);return setTimeout(function(){n.apply(t,e)},r)},r.difference=function(n){for(var t=-1,r=n?n.length:0,u=st.apply(L,arguments),u=e(u,r),o=[];++t<r;){var i=n[t];u(i)||o.push(i)}return o},r.filter=q,r.flatten=I,r.forEach=N,r.forIn=Ht,r.forOwn=Jt,r.functions=m,r.groupBy=function(n,t,r){var e={};return t=f(t,r),N(n,function(n,r,u){r=t(n,r,u)+"",(ht.call(e,r)?e[r]:e[r]=[]).push(n)}),e},r.initial=function(n,t,r){if(!n)return[];

View File

@@ -32,7 +32,7 @@
var oldDash = window._;
/** Used to match HTML entities */
var reEscapedHtml = /&(?:amp|lt|gt|quot|#x27);/g;
var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g;
/** Used to match empty string literals in compiled template source */
var reEmptyStringLeading = /\b__p \+= '';/g,
@@ -743,7 +743,7 @@
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&#x27;'
"'": '&#39;'
};
/** Used to convert HTML entities to characters */
@@ -3978,7 +3978,7 @@
/**
* The opposite of `_.escape`, this method converts the HTML entities
* `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#x27;` in `string` to their
* `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to their
* corresponding characters.
*
* @static

View File

@@ -16,8 +16,8 @@ for(var i=n.length;++r<i;){var f=n[r];f>o&&(o=f)}}else t=a(t,r),e(n,function(n,r
if(t=a(t,r),qt(n)){r=-1;for(var o=n.length;++r<o&&!(u=t(n[r],r,n)););}else e(n,function(n,r,e){return(u=t(n,r,e))&&Z});return!!u}function M(n,t,r){return r&&d(t)?J:(r?k:N)(n,t)}function $(n,t,r){if(n){var e=0,u=n.length;if(typeof t=="function"){var o=-1;for(t=a(t,r);++o<u&&t(n[o],o,n);)e++}else if(e=t,e==J||r)return n[0];return p(n,0,mt(_t(0,e),u))}}function I(n,t){for(var r=-1,e=n?n.length:0,u=[];++r<e;){var o=n[r];qt(o)?lt.apply(u,t?o:I(o)):u.push(o)}return u}function z(n,t,r){var e=-1,u=n?n.length:0;
if(typeof r=="number")e=(0>r?_t(0,u+r):r||0)-1;else if(r)return e=P(n,t),n[e]===t?e:-1;for(;++e<u;)if(n[e]===t)return e;return-1}function C(n,t,r){if(typeof t=="function"){var e=0,u=-1,o=n?n.length:0;for(t=a(t,r);++u<o&&t(n[u],u,n);)e++}else e=t==J||r?1:_t(0,t);return p(n,e)}function P(n,t,r,e){var u=0,o=n?n.length:u;for(r=r?a(r,e,1):W,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;return u}function U(n,t,r,e){var u=-1,o=n?n.length:0,i=[],f=i;for(typeof t=="function"&&(e=r,r=t,t=K),r&&(f=[],r=a(r,e));++u<o;){e=n[u];
var c=r?r(e,u,n):e;(t?!u||f[f.length-1]!==c:0>z(f,c))&&(r&&f.push(c),i.push(e))}return i}function V(n,t){return Nt||st&&2<arguments.length?st.call.apply(st,arguments):i(n,t,p(arguments,2))}function W(n){return n}function G(n){F(_(n),function(t){var r=u[t]=n[t];u.prototype[t]=function(){var n=[this.__wrapped__];return lt.apply(n,arguments),n=r.apply(u,n),this.__chain__&&(n=new u(n),n.__chain__=H),n}})}var H=!0,J=null,K=!1,L=typeof exports=="object"&&exports,Q=typeof global=="object"&&global;Q.global===Q&&(n=Q);
var X=[],Q={},Y=0,Z=Q,nt=n._,tt=/&(?:amp|lt|gt|quot|#x27);/g,rt=RegExp("^"+(Q.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),et=/($^)/,ut=/[&<>"']/g,ot=/['\n\r\t\u2028\u2029\\]/g,it=Math.ceil,at=X.concat,ft=Math.floor,ct=Q.hasOwnProperty,lt=X.push,pt=Q.toString,st=rt.test(st=p.bind)&&st,vt=rt.test(vt=Array.isArray)&&vt,ht=n.isFinite,gt=n.isNaN,yt=rt.test(yt=Object.keys)&&yt,_t=Math.max,mt=Math.min,dt=Math.random,bt="[object Arguments]",jt="[object Array]",wt="[object Boolean]",At="[object Date]",xt="[object Number]",Et="[object Object]",Ot="[object RegExp]",St="[object String]",Q=!!n.attachEvent,Q=st&&!/\n|true/.test(st+Q),Nt=st&&!Q,kt=(kt={0:1,length:1},X.splice.call(kt,0,1),kt[0]),Ft=arguments.constructor==Object,Rt={"boolean":K,"function":H,object:H,number:K,string:K,undefined:K},Tt={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};
u.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},v(arguments)||(v=function(n){return n?ct.call(n,"callee"):K});var qt=vt||function(n){return Ft&&n instanceof Array||pt.call(n)==jt},Bt=yt?function(n){return w(n)?yt(n):[]}:h,Dt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},Mt=m(Dt);j(/x/)&&(j=function(n){return n instanceof Function||"[object Function]"==pt.call(n)});var $t=R;u.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0
var X=[],Q={},Y=0,Z=Q,nt=n._,tt=/&(?:amp|lt|gt|quot|#39);/g,rt=RegExp("^"+(Q.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),et=/($^)/,ut=/[&<>"']/g,ot=/['\n\r\t\u2028\u2029\\]/g,it=Math.ceil,at=X.concat,ft=Math.floor,ct=Q.hasOwnProperty,lt=X.push,pt=Q.toString,st=rt.test(st=p.bind)&&st,vt=rt.test(vt=Array.isArray)&&vt,ht=n.isFinite,gt=n.isNaN,yt=rt.test(yt=Object.keys)&&yt,_t=Math.max,mt=Math.min,dt=Math.random,bt="[object Arguments]",jt="[object Array]",wt="[object Boolean]",At="[object Date]",xt="[object Number]",Et="[object Object]",Ot="[object RegExp]",St="[object String]",Q=!!n.attachEvent,Q=st&&!/\n|true/.test(st+Q),Nt=st&&!Q,kt=(kt={0:1,length:1},X.splice.call(kt,0,1),kt[0]),Ft=arguments.constructor==Object,Rt={"boolean":K,"function":H,object:H,number:K,string:K,undefined:K},Tt={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};
u.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},v(arguments)||(v=function(n){return n?ct.call(n,"callee"):K});var qt=vt||function(n){return Ft&&n instanceof Array||pt.call(n)==jt},Bt=yt?function(n){return w(n)?yt(n):[]}:h,Dt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Mt=m(Dt);j(/x/)&&(j=function(n){return n instanceof Function||"[object Function]"==pt.call(n)});var $t=R;u.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0
}},u.bind=V,u.bindAll=function(n){for(var t=at.apply(X,arguments),r=1<t.length?0:(t=_(n),-1),e=t.length;++r<e;){var u=t[r];n[u]=V(n[u],n)}return n},u.compact=function(n){for(var t=-1,r=n?n.length:0,e=[];++t<r;){var u=n[t];u&&e.push(u)}return e},u.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},u.countBy=function(n,t,r){var e={};return t=a(t,r),F(n,function(n,r,u){r=t(n,r,u)+"",ct.call(e,r)?e[r]++:e[r]=1}),e},u.debounce=function(n,t,r){function e(){a=J,r||(o=n.apply(i,u))
}var u,o,i,a;return function(){var f=r&&!a;return u=arguments,i=this,clearTimeout(a),a=setTimeout(e,t),f&&(o=n.apply(i,u)),o}},u.defaults=y,u.defer=function(n){var r=p(arguments,1);return setTimeout(function(){n.apply(t,r)},1)},u.delay=function(n,r){var e=p(arguments,2);return setTimeout(function(){n.apply(t,e)},r)},u.difference=function(n){for(var t=-1,r=n.length,e=at.apply(X,arguments),u=[];++t<r;){var o=n[t];0>z(e,o,r)&&u.push(o)}return u},u.filter=N,u.flatten=I,u.forEach=F,u.functions=_,u.groupBy=function(n,t,r){var e={};
return t=a(t,r),F(n,function(n,r,u){r=t(n,r,u)+"",(ct.call(e,r)?e[r]:e[r]=[]).push(n)}),e},u.initial=function(n,t,r){if(!n)return[];var e=0,u=n.length;if(typeof t=="function"){var o=u;for(t=a(t,r);o--&&t(n[o],o,n);)e++}else e=t==J||r?1:t||e;return p(n,0,mt(_t(0,u-e),u))},u.intersection=function(n){var t=arguments,r=t.length,e=-1,u=n?n.length:0,o=[];n:for(;++e<u;){var i=n[e];if(0>z(o,i)){for(var a=r;--a;)if(0>z(t[a],i))continue n;o.push(i)}}return o},u.invert=m,u.invoke=function(n,t){var r=p(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0);

View File

@@ -34,7 +34,7 @@
var oldDash = window._;
/** Used to match HTML entities */
var reEscapedHtml = /&(?:amp|lt|gt|quot|#x27);/g;
var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g;
/** Used to match empty string literals in compiled template source */
var reEmptyStringLeading = /\b__p \+= '';/g,
@@ -1017,7 +1017,7 @@
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&#x27;'
"'": '&#39;'
};
/** Used to convert HTML entities to characters */
@@ -4772,7 +4772,7 @@
/**
* The opposite of `_.escape`, this method converts the HTML entities
* `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#x27;` in `string` to their
* `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to their
* corresponding characters.
*
* @static

View File

@@ -575,6 +575,10 @@
equal(_.escape('/'), '/');
});
test('should escape "\'" to "&#39;"', function() {
equal(_.escape("'"), "&#39;");
});
test('should return an empty string when passed `null` or `undefined`', function() {
equal(_.escape(null), '');
equal(_.escape(undefined), '');
@@ -2382,7 +2386,7 @@
QUnit.module('lodash.unescape');
(function() {
var escaped = '&lt;h1&gt;Moe&#x27;s famous &quot;death by chocolate&quot; brownies &amp; cake&lt;\/h1&gt;',
var escaped = '&lt;h1&gt;Moe&#39;s famous &quot;death by chocolate&quot; brownies &amp; cake&lt;\/h1&gt;',
unescaped = '<h1>Moe\'s famous "death by chocolate" brownies & cake<\/h1>';
test('should unescape entities in the correct order', function() {