diff --git a/autoload/zencoding.vim b/autoload/zencoding.vim index 10441b4..b2809a8 100644 --- a/autoload/zencoding.vim +++ b/autoload/zencoding.vim @@ -580,6 +580,11 @@ function! zencoding#ExpandWord(abbr, type, orig) for item in items let expand .= zencoding#toString(item, a:type, 0, filters) endfor + if zencoding#useFilter(filters, 'e') + let expand = substitute(expand, '&', '\&', 'g') + let expand = substitute(expand, '<', '\<', 'g') + let expand = substitute(expand, '>', '\>', 'g') + endif if a:orig == 0 let expand = substitute(expand, '\${lang}', s:zen_settings.lang, 'g') let expand = substitute(expand, '\${charset}', s:zen_settings.charset, 'g') diff --git a/unittest.vim b/unittest.vim index 47ad1a5..1850c24 100644 --- a/unittest.vim +++ b/unittest.vim @@ -368,7 +368,7 @@ finish }, { 'query': "div#box$*3>h3+p.bar*2|e", - 'result': "<div id=\"box1\">\n\t&lt;h3&gt;&lt;/h3&gt;\n\t&lt;p class=\"bar\"&gt;&lt;/p&gt;\n\t&lt;p class=\"bar\"&gt;&lt;/p&gt;\n</div>\n<div id=\"box2\">\n\t&lt;h3&gt;&lt;/h3&gt;\n\t&lt;p class=\"bar\"&gt;&lt;/p&gt;\n\t&lt;p class=\"bar\"&gt;&lt;/p&gt;\n</div>\n<div id=\"box3\">\n\t&lt;h3&gt;&lt;/h3&gt;\n\t&lt;p class=\"bar\"&gt;&lt;/p&gt;\n\t&lt;p class=\"bar\"&gt;&lt;/p&gt;\n</div>\n", + 'result': "<div id=\"box1\">\n\t<h3></h3>\n\t<p class=\"bar\"></p>\n\t<p class=\"bar\"></p>\n</div>\n<div id=\"box2\">\n\t<h3></h3>\n\t<p class=\"bar\"></p>\n\t<p class=\"bar\"></p>\n</div>\n<div id=\"box3\">\n\t<h3></h3>\n\t<p class=\"bar\"></p>\n\t<p class=\"bar\"></p>\n</div>\n", }, { 'query': "div>div#page>p.title+p|c",